({size:{type:Number,default:160},value:{type:String,required:!0},type:X(`canvas`),color:String,bgColor:String,includeMargin:Boolean,imageSettings:q()}),joe=()=>g(g({},p5()),{errorLevel:X(`M`),icon:String,iconSize:{type:Number,default:40},status:X(`active`),bordered:{type:Boolean,default:!0}}),m5;(function(e){class t{static encodeText(n,r){let i=e.QrSegment.makeSegments(n);return t.encodeSegments(i,r)}static encodeBinary(n,r){let i=e.QrSegment.makeBytes(n);return t.encodeSegments([i],r)}static encodeSegments(e,r){let o=arguments.length>2&&arguments[2]!==void 0?arguments[2]:1,s=arguments.length>3&&arguments[3]!==void 0?arguments[3]:40,c=arguments.length>4&&arguments[4]!==void 0?arguments[4]:-1,l=arguments.length>5&&arguments[5]!==void 0?arguments[5]:!0;if(!(t.MIN_VERSION<=o&&o<=s&&s<=t.MAX_VERSION)||c<-1||c>7)throw RangeError(`Invalid value`);let u,d;for(u=o;;u++){let n=t.getNumDataCodewords(u,r)*8,i=a.getTotalBits(e,u);if(i<=n){d=i;break}if(u>=s)throw RangeError(`Data too long`)}for(let e of[t.Ecc.MEDIUM,t.Ecc.QUARTILE,t.Ecc.HIGH])l&&d<=t.getNumDataCodewords(u,e)*8&&(r=e);let f=[];for(let t of e){n(t.mode.modeBits,4,f),n(t.numChars,t.mode.numCharCountBits(u),f);for(let e of t.getData())f.push(e)}i(f.length==d);let p=t.getNumDataCodewords(u,r)*8;i(f.length<=p),n(0,Math.min(4,p-f.length),f),n(0,(8-f.length%8)%8,f),i(f.length%8==0);for(let e=236;f.lengthm[t>>>3]|=e<<7-(t&7)),new t(u,r,m,c)}constructor(e,n,r,a){if(this.version=e,this.errorCorrectionLevel=n,this.modules=[],this.isFunction=[],et.MAX_VERSION)throw RangeError(`Version value out of range`);if(a<-1||a>7)throw RangeError(`Mask value out of range`);this.size=e*4+17;let o=[];for(let e=0;e>>9)*1335;let a=(t<<10|n)^21522;i(!(a>>>15));for(let e=0;e<=5;e++)this.setFunctionModule(8,e,r(a,e));this.setFunctionModule(8,7,r(a,6)),this.setFunctionModule(8,8,r(a,7)),this.setFunctionModule(7,8,r(a,8));for(let e=9;e<15;e++)this.setFunctionModule(14-e,8,r(a,e));for(let e=0;e<8;e++)this.setFunctionModule(this.size-1-e,8,r(a,e));for(let e=8;e<15;e++)this.setFunctionModule(8,this.size-15+e,r(a,e));this.setFunctionModule(8,this.size-8,!0)}drawVersion(){if(this.version<7)return;let e=this.version;for(let t=0;t<12;t++)e=e<<1^(e>>>11)*7973;let t=this.version<<12|e;i(!(t>>>18));for(let e=0;e<18;e++){let n=r(t,e),i=this.size-11+e%3,a=Math.floor(e/3);this.setFunctionModule(i,a,n),this.setFunctionModule(a,i,n)}}drawFinderPattern(e,t){for(let n=-4;n<=4;n++)for(let r=-4;r<=4;r++){let i=Math.max(Math.abs(r),Math.abs(n)),a=e+r,o=t+n;0<=a&&a{(e!=l-o||n>=c)&&f.push(t[e])});return i(f.length==s),f}drawCodewords(e){if(e.length!=Math.floor(t.getNumRawDataModules(this.version)/8))throw RangeError(`Invalid argument`);let n=0;for(let t=this.size-1;t>=1;t-=2){t==6&&(t=5);for(let i=0;i>>3],7-(n&7)),n++)}}i(n==e.length*8)}applyMask(e){if(e<0||e>7)throw RangeError(`Mask value out of range`);for(let t=0;t5&&e++):(this.finderPenaltyAddHistory(i,a),r||(e+=this.finderPenaltyCountPatterns(a)*t.PENALTY_N3),r=this.modules[n][o],i=1);e+=this.finderPenaltyTerminateAndCount(r,i,a)*t.PENALTY_N3}for(let n=0;n5&&e++):(this.finderPenaltyAddHistory(i,a),r||(e+=this.finderPenaltyCountPatterns(a)*t.PENALTY_N3),r=this.modules[o][n],i=1);e+=this.finderPenaltyTerminateAndCount(r,i,a)*t.PENALTY_N3}for(let n=0;ne+ +!!t,n);let r=this.size*this.size,a=Math.ceil(Math.abs(n*20-r*10)/r)-1;return i(0<=a&&a<=9),e+=a*t.PENALTY_N4,i(0<=e&&e<=2568888),e}getAlignmentPatternPositions(){if(this.version==1)return[];{let e=Math.floor(this.version/7)+2,t=this.version==32?26:Math.ceil((this.version*4+4)/(e*2-2))*2,n=[6];for(let r=this.size-7;n.lengtht.MAX_VERSION)throw RangeError(`Version number out of range`);let n=(16*e+128)*e+64;if(e>=2){let t=Math.floor(e/7)+2;n-=(25*t-10)*t-55,e>=7&&(n-=36)}return i(208<=n&&n<=29648),n}static getNumDataCodewords(e,n){return Math.floor(t.getNumRawDataModules(e)/8)-t.ECC_CODEWORDS_PER_BLOCK[n.ordinal][e]*t.NUM_ERROR_CORRECTION_BLOCKS[n.ordinal][e]}static reedSolomonComputeDivisor(e){if(e<1||e>255)throw RangeError(`Degree out of range`);let n=[];for(let t=0;t0);for(let i of e){let e=i^r.shift();r.push(0),n.forEach((n,i)=>r[i]^=t.reedSolomonMultiply(n,e))}return r}static reedSolomonMultiply(e,t){if(e>>>8||t>>>8)throw RangeError(`Byte out of range`);let n=0;for(let r=7;r>=0;r--)n=n<<1^(n>>>7)*285,n^=(t>>>r&1)*e;return i(!(n>>>8)),n}finderPenaltyCountPatterns(e){let t=e[1];i(t<=this.size*3);let n=t>0&&e[2]==t&&e[3]==t*3&&e[4]==t&&e[5]==t;return(n&&e[0]>=t*4&&e[6]>=t?1:0)+(n&&e[6]>=t*4&&e[0]>=t?1:0)}finderPenaltyTerminateAndCount(e,t,n){return e&&(this.finderPenaltyAddHistory(t,n),t=0),t+=this.size,this.finderPenaltyAddHistory(t,n),this.finderPenaltyCountPatterns(n)}finderPenaltyAddHistory(e,t){t[0]==0&&(e+=this.size),t.pop(),t.unshift(e)}}t.MIN_VERSION=1,t.MAX_VERSION=40,t.PENALTY_N1=3,t.PENALTY_N2=3,t.PENALTY_N3=40,t.PENALTY_N4=10,t.ECC_CODEWORDS_PER_BLOCK=[[-1,7,10,15,20,26,18,20,24,30,18,20,24,26,30,22,24,28,30,28,28,28,28,30,30,26,28,30,30,30,30,30,30,30,30,30,30,30,30,30,30],[-1,10,16,26,18,24,16,18,22,22,26,30,22,22,24,24,28,28,26,26,26,26,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28],[-1,13,22,18,26,18,24,18,22,20,24,28,26,24,20,30,24,28,28,26,30,28,30,30,30,30,28,30,30,30,30,30,30,30,30,30,30,30,30,30,30],[-1,17,28,22,16,22,28,26,26,24,28,24,28,22,24,24,30,28,28,26,28,30,24,30,30,30,30,30,30,30,30,30,30,30,30,30,30,30,30,30,30]],t.NUM_ERROR_CORRECTION_BLOCKS=[[-1,1,1,1,1,1,2,2,2,2,4,4,4,4,4,6,6,6,6,7,8,8,9,9,10,12,12,12,13,14,15,16,17,18,19,19,20,21,22,24,25],[-1,1,1,1,2,2,4,4,4,5,5,5,8,9,9,10,10,11,13,14,16,17,17,18,20,21,23,25,26,28,29,31,33,35,37,38,40,43,45,47,49],[-1,1,1,2,2,4,4,6,6,8,8,8,10,12,16,12,17,16,18,21,20,23,23,25,27,29,34,34,35,38,40,43,45,48,51,53,56,59,62,65,68],[-1,1,1,2,4,4,4,5,6,8,8,11,11,16,16,18,16,19,21,25,25,25,34,30,32,35,37,40,42,45,48,51,54,57,60,63,66,70,74,77,81]],e.QrCode=t;function n(e,t,n){if(t<0||t>31||e>>>t)throw RangeError(`Value out of range`);for(let r=t-1;r>=0;r--)n.push(e>>>r&1)}function r(e,t){return!!(e>>>t&1)}function i(e){if(!e)throw Error(`Assertion error`)}class a{static makeBytes(e){let t=[];for(let r of e)n(r,8,t);return new a(a.Mode.BYTE,e.length,t)}static makeNumeric(e){if(!a.isNumeric(e))throw RangeError(`String contains non-numeric characters`);let t=[];for(let r=0;r=1<1&&arguments[1]!==void 0?arguments[1]:0,n=[];return e.forEach(function(e,r){let i=null;e.forEach(function(a,o){if(!a&&i!==null)n.push(`M${i+t} ${r+t}h${o-i}v1H${i+t}z`),i=null;else if(o===e.length-1){if(!a)return;i===null?n.push(`M${o+t},${r+t} h1v1H${o+t}z`):n.push(`M${i+t},${r+t} h${o+1-i}v1H${i+t}z`)}else a&&i===null&&(i=o)})}),n.join(``)}function C5(e,t){return e.slice().map((e,n)=>n=t.y+t.h?e:e.map((e,n)=>n=t.x+t.w?e:!1))}function w5(e,t,n,r){if(r==null)return null;let i=e.length+n*2,a=Math.floor(t*Poe),o=i/t,s=(r.width||a)*o,c=(r.height||a)*o,l=r.x==null?e.length/2-s/2:r.x*o,u=r.y==null?e.length/2-c/2:r.y*o,d=null;if(r.excavate){let e=Math.floor(l),t=Math.floor(u);d={x:e,y:t,w:Math.ceil(s+l-e),h:Math.ceil(c+u-t)}}return{x:l,y:u,h:c,w:s,excavation:d}}function T5(e,t){return t==null?e?Moe:Noe:Math.floor(t)}var Foe=function(){try{new Path2D().addPath(new Path2D)}catch{return!1}return!0}(),Ioe=U({name:`QRCodeCanvas`,inheritAttrs:!1,props:g(g({},p5()),{level:String,bgColor:String,fgColor:String,marginSize:Number}),setup(e,t){let{attrs:n,expose:r}=t,i=G(()=>e.imageSettings?.src),a=V(null),o=V(null),s=V(!1);return r({toDataURL:(e,t)=>a.value?.toDataURL(e,t)}),ar(()=>{let{value:t,size:n=_5,level:r=v5,bgColor:i=y5,fgColor:c=b5,includeMargin:l=x5,marginSize:u,imageSettings:d}=e;if(a.value!=null){let e=a.value,f=e.getContext(`2d`);if(!f)return;let p=h5.QrCode.encodeText(t,g5[r]).getModules(),m=T5(l,u),h=p.length+m*2,g=w5(p,n,m,d),_=o.value,v=s.value&&g!=null&&_!==null&&_.complete&&_.naturalHeight!==0&&_.naturalWidth!==0;v&&g.excavation!=null&&(p=C5(p,g.excavation));let y=window.devicePixelRatio||1;e.height=e.width=n*y;let b=n/h*y;f.scale(b,b),f.fillStyle=i,f.fillRect(0,0,h,h),f.fillStyle=c,Foe?f.fill(new Path2D(S5(p,m))):p.forEach(function(e,t){e.forEach(function(e,n){e&&f.fillRect(n+m,t+m,1,1)})}),v&&f.drawImage(_,g.x+m,g.y+m,g.w,g.h)}},{flush:`post`}),H(i,()=>{s.value=!1}),()=>{let t=e.size??_5,r={height:`${t}px`,width:`${t}px`},c=null;return i.value!=null&&(c=W(`img`,{src:i.value,key:i.value,style:{display:`none`},onLoad:()=>{s.value=!0},ref:o},null)),W(Ma,null,[W(`canvas`,h(h({},n),{},{style:[r,n.style],ref:a}),null),c])}}}),Loe=U({name:`QRCodeSVG`,inheritAttrs:!1,props:g(g({},p5()),{color:String,level:String,bgColor:String,fgColor:String,marginSize:Number,title:String}),setup(e){let t=null,n=null,r=null,i=null,a=null,o=null;return ar(()=>{let{value:s,size:c=_5,level:l=v5,includeMargin:u=x5,marginSize:d,imageSettings:f}=e;t=h5.QrCode.encodeText(s,g5[l]).getModules(),n=T5(u,d),r=t.length+n*2,i=w5(t,c,n,f),f!=null&&i!=null&&(i.excavation!=null&&(t=C5(t,i.excavation)),o=W(`image`,{"xlink:href":f.src,height:i.h,width:i.w,x:i.x+n,y:i.y+n,preserveAspectRatio:`none`},null)),a=S5(t,n)}),()=>{let t=e.bgColor&&y5,n=e.fgColor&&b5;return W(`svg`,{height:e.size,width:e.size,viewBox:`0 0 ${r} ${r}`},[!!e.title&&W(`title`,null,[e.title]),W(`path`,{fill:t,d:`M0,0 h${r}v${r}H0z`,"shape-rendering":`crispEdges`},null),W(`path`,{fill:n,d:a,"shape-rendering":`crispEdges`},null),o])}}}),Roe=_l(U({name:`AQrcode`,inheritAttrs:!1,props:joe(),emits:[`refresh`],setup(e,t){let{emit:n,attrs:r,expose:i}=t,[a]=$l(`QRCode`),{prefixCls:o}=Z(`qrcode`,e),[s,c]=Ooe(o),[,l]=Jp(),u=B();i({toDataURL:(e,t)=>u.value?.toDataURL(e,t)});let d=G(()=>{let{value:t,icon:n=``,size:r=160,iconSize:i=40,color:a=l.value.colorText,bgColor:o=`transparent`,errorLevel:s=`M`}=e,c={src:n,x:void 0,y:void 0,height:i,width:i,excavate:!0};return{value:t,size:r-(l.value.paddingSM+l.value.lineWidth)*2,level:s,bgColor:o,fgColor:a,imageSettings:n?c:void 0}});return()=>{let t=o.value;return s(W(`div`,h(h({},r),{},{style:[r.style,{width:`${e.size}px`,height:`${e.size}px`,backgroundColor:d.value.bgColor}],class:[c.value,t,{[`${t}-borderless`]:!e.bordered}]}),[e.status!==`active`&&W(`div`,{class:`${t}-mask`},[e.status===`loading`&&W(EX,null,null),e.status===`expired`&&W(Ma,null,[W(`p`,{class:`${t}-expired`},[a.value.expired]),W(Oj,{type:`link`,onClick:e=>n(`refresh`,e)},{default:()=>[a.value.refresh],icon:()=>W(f5,null,null)})]),e.status===`scanned`&&W(`p`,{class:`${t}-scanned`},[a.value.scanned])]),e.type===`canvas`?W(Ioe,h({ref:u},d.value),null):W(Loe,d.value,null)]))}}}));function zoe(e){let t=window.innerWidth||document.documentElement.clientWidth,n=window.innerHeight||document.documentElement.clientHeight,{top:r,right:i,bottom:a,left:o}=e.getBoundingClientRect();return r>=0&&o>=0&&i<=t&&a<=n}function Boe(e,t,n,r){let[i,a]=_S(void 0);ar(()=>{let t=typeof e.value==`function`?e.value():e.value;a(t||null)},{flush:`post`});let[o,s]=_S(null),c=()=>{if(!t.value)s(null);else if(i.value){!zoe(i.value)&&t.value&&i.value.scrollIntoView(r.value);let{left:e,top:n,width:a,height:c}=i.value.getBoundingClientRect(),l={left:e,top:n,width:a,height:c,radius:0};JSON.stringify(o.value)!==JSON.stringify(l)&&s(l)}else s(null)};return $r(()=>{H([t,i],()=>{c()},{flush:`post`,immediate:!0}),window.addEventListener(`resize`,c)}),ni(()=>{window.removeEventListener(`resize`,c)}),[G(()=>{if(!o.value)return o.value;let e=n.value?.offset||6,t=n.value?.radius||2;return{left:o.value.left-e,top:o.value.top-e,width:o.value.width+e*2,height:o.value.height+e*2,radius:t}}),i]}var Voe=()=>({arrow:Sl([Boolean,Object]),target:Sl([String,Function,Object]),title:Sl([String,Object]),description:Sl([String,Object]),placement:X(),mask:Sl([Object,Boolean],!0),className:{type:String},style:q(),scrollIntoViewOptions:Sl([Boolean,Object])}),E5=()=>g(g({},Voe()),{prefixCls:{type:String},total:{type:Number},current:{type:Number},onClose:Y(),onFinish:Y(),renderPanel:Y(),onPrev:Y(),onNext:Y()}),Hoe=U({name:`DefaultPanel`,inheritAttrs:!1,props:E5(),setup(e,t){let{attrs:n}=t;return()=>{let{prefixCls:t,current:r,total:i,title:a,description:o,onClose:s,onPrev:c,onNext:l,onFinish:u}=e;return W(`div`,h(h({},n),{},{class:K(`${t}-content`,n.class)}),[W(`div`,{class:`${t}-inner`},[W(`button`,{type:`button`,onClick:s,"aria-label":`Close`,class:`${t}-close`},[W(`span`,{class:`${t}-close-x`},[Qa(`×`)])]),W(`div`,{class:`${t}-header`},[W(`div`,{class:`${t}-title`},[a])]),W(`div`,{class:`${t}-description`},[o]),W(`div`,{class:`${t}-footer`},[W(`div`,{class:`${t}-sliders`},[i>1?[...Array.from({length:i}).keys()].map((e,t)=>W(`span`,{key:e,class:t===r?`active`:``},null)):null]),W(`div`,{class:`${t}-buttons`},[r===0?null:W(`button`,{class:`${t}-prev-btn`,onClick:c},[Qa(`Prev`)]),r===i-1?W(`button`,{class:`${t}-finish-btn`,onClick:u},[Qa(`Finish`)]):W(`button`,{class:`${t}-next-btn`,onClick:l},[Qa(`Next`)])])])])])}}}),Uoe=U({name:`TourStep`,inheritAttrs:!1,props:E5(),setup(e,t){let{attrs:n}=t;return()=>{let{current:t,renderPanel:r}=e;return W(Ma,null,[typeof r==`function`?r(g(g({},n),e),t):W(Hoe,h(h({},n),e),null)])}}}),D5=0,Woe=hu();function Goe(){let e;return Woe?(e=D5,D5+=1):e=`TEST_OR_SSR`,e}function Koe(){let e=arguments.length>0&&arguments[0]!==void 0?arguments[0]:B(``),t=`vc_unique_${Goe()}`;return e.value||t}var O5={fill:`transparent`,"pointer-events":`auto`},qoe=U({name:`TourMask`,props:{prefixCls:{type:String},pos:q(),rootClassName:{type:String},showMask:J(),fill:{type:String,default:`rgba(0,0,0,0.5)`},open:J(),animated:Sl([Boolean,Object]),zIndex:{type:Number}},setup(e,t){let{attrs:n}=t,r=Koe();return()=>{let{prefixCls:t,open:i,rootClassName:a,pos:o,showMask:s,fill:c,animated:l,zIndex:u}=e,d=`${t}-mask-${r}`,f=typeof l==`object`?l?.placeholder:l;return W(Eb,{visible:i,autoLock:!0},{default:()=>i&&W(`div`,h(h({},n),{},{class:K(`${t}-mask`,a,n.class),style:[{position:`fixed`,left:0,right:0,top:0,bottom:0,zIndex:u,pointerEvents:`none`},n.style]}),[s?W(`svg`,{style:{width:`100%`,height:`100%`}},[W(`defs`,null,[W(`mask`,{id:d},[W(`rect`,{x:`0`,y:`0`,width:`100vw`,height:`100vh`,fill:`white`},null),o&&W(`rect`,{x:o.left,y:o.top,rx:o.radius,width:o.width,height:o.height,fill:`black`,class:f?`${t}-placeholder-animated`:``},null)])]),W(`rect`,{x:`0`,y:`0`,width:`100%`,height:`100%`,fill:c,mask:`url(#${d})`},null),o&&W(Ma,null,[W(`rect`,h(h({},O5),{},{x:`0`,y:`0`,width:`100%`,height:o.top}),null),W(`rect`,h(h({},O5),{},{x:`0`,y:`0`,width:o.left,height:`100%`}),null),W(`rect`,h(h({},O5),{},{x:`0`,y:o.top+o.height,width:`100%`,height:`calc(100vh - ${o.top+o.height}px)`}),null),W(`rect`,h(h({},O5),{},{x:o.left+o.width,y:`0`,width:`calc(100vw - ${o.left+o.width}px)`,height:`100%`}),null)])]):null])})}}}),Joe=[0,0],k5={left:{points:[`cr`,`cl`],offset:[-8,0]},right:{points:[`cl`,`cr`],offset:[8,0]},top:{points:[`bc`,`tc`],offset:[0,-8]},bottom:{points:[`tc`,`bc`],offset:[0,8]},topLeft:{points:[`bl`,`tl`],offset:[0,-8]},leftTop:{points:[`tr`,`tl`],offset:[-8,0]},topRight:{points:[`br`,`tr`],offset:[0,-8]},rightTop:{points:[`tl`,`tr`],offset:[8,0]},bottomRight:{points:[`tr`,`br`],offset:[0,8]},rightBottom:{points:[`bl`,`br`],offset:[8,0]},bottomLeft:{points:[`tl`,`bl`],offset:[0,8]},leftBottom:{points:[`br`,`bl`],offset:[-8,0]}};function A5(){let e=arguments.length>0&&arguments[0]!==void 0&&arguments[0],t={};return Object.keys(k5).forEach(n=>{t[n]=g(g({},k5[n]),{autoArrow:e,targetOffset:Joe})}),t}A5();var Yoe=function(e,t){var n={};for(var r in e)Object.prototype.hasOwnProperty.call(e,r)&&t.indexOf(r)<0&&(n[r]=e[r]);if(e!=null&&typeof Object.getOwnPropertySymbols==`function`)for(var i=0,r=Object.getOwnPropertySymbols(e);i{let{builtinPlacements:e,popupAlign:t}=Rh();return{builtinPlacements:e,popupAlign:t,steps:xl(),open:J(),defaultCurrent:{type:Number},current:{type:Number},onChange:Y(),onClose:Y(),onFinish:Y(),mask:Sl([Boolean,Object],!0),arrow:Sl([Boolean,Object],!0),rootClassName:{type:String},placement:X(`bottom`),prefixCls:{type:String,default:`rc-tour`},renderPanel:Y(),gap:q(),animated:Sl([Boolean,Object]),scrollIntoViewOptions:Sl([Boolean,Object],!0),zIndex:{type:Number,default:1001}}},Xoe=U({name:`Tour`,inheritAttrs:!1,props:Bc(M5(),{}),setup(e){let{defaultCurrent:t,placement:n,mask:r,scrollIntoViewOptions:i,open:a,gap:o,arrow:s}=hn(e),c=B(),[l,u]=gS(0,{value:G(()=>e.current),defaultValue:t.value}),[d,f]=gS(void 0,{value:G(()=>e.open),postState:t=>l.value<0||l.value>=e.steps.length?!1:t??!0}),p=V(d.value);ar(()=>{d.value&&!p.value&&u(0),p.value=d.value});let m=G(()=>e.steps[l.value]||{}),_=G(()=>m.value.placement??n.value),v=G(()=>d.value&&(m.value.mask??r.value)),y=G(()=>m.value.scrollIntoViewOptions??i.value),[b,x]=Boe(G(()=>m.value.target),a,o,y),S=G(()=>x.value?m.value.arrow===void 0?s.value:m.value.arrow:!1),C=G(()=>typeof S.value==`object`&&S.value.pointAtCenter);H(C,()=>{var e;(e=c.value)==null||e.forcePopupAlign()}),H(l,()=>{var e;(e=c.value)==null||e.forcePopupAlign()});let w=t=>{var n;u(t),(n=e.onChange)==null||n.call(e,t)};return()=>{let{prefixCls:t,steps:n,onClose:r,onFinish:i,rootClassName:a,renderPanel:o,animated:s,zIndex:u}=e,p=Yoe(e,[`prefixCls`,`steps`,`onClose`,`onFinish`,`rootClassName`,`renderPanel`,`animated`,`zIndex`]);if(x.value===void 0)return null;let y=()=>{f(!1),r?.(l.value)},T=typeof v.value==`boolean`?v.value:!!v.value,E=typeof v.value==`boolean`?void 0:v.value,D=()=>x.value||document.body,O=()=>W(Uoe,h({arrow:S.value,key:`content`,prefixCls:t,total:n.length,renderPanel:o,onPrev:()=>{w(l.value-1)},onNext:()=>{w(l.value+1)},onClose:y,current:l.value,onFinish:()=>{y(),i?.()}},m.value),null),k=G(()=>{let e=b.value||j5,t={};return Object.keys(e).forEach(n=>{typeof e[n]==`number`?t[n]=`${e[n]}px`:t[n]=e[n]}),t});return d.value?W(Ma,null,[W(qoe,{zIndex:u,prefixCls:t,pos:b.value,showMask:T,style:E?.style,fill:E?.color,open:d.value,animated:s,rootClassName:a},null),W(Ob,h(h({},p),{},{arrow:!!p.arrow,builtinPlacements:m.value.target?p.builtinPlacements??A5(C.value):void 0,ref:c,popupStyle:m.value.target?m.value.style:g(g({},m.value.style),{position:`fixed`,left:j5.left,top:j5.top,transform:`translate(-50%, -50%)`}),popupPlacement:_.value,popupVisible:d.value,popupClassName:K(a,m.value.className),prefixCls:t,popup:O,forceRender:!1,destroyPopupOnHide:!0,zIndex:u,mask:!1,getTriggerDOMNode:D}),{default:()=>[W(Eb,{visible:d.value,autoLock:!0},{default:()=>[W(`div`,{class:K(a,`${t}-target-placeholder`),style:g(g({},k.value),{position:`fixed`,pointerEvents:`none`})},null)]})]})]):null}}}),Zoe=()=>g(g({},M5()),{steps:{type:Array},prefixCls:{type:String},current:{type:Number},type:{type:String},"onUpdate:current":Function}),Qoe=U({name:`ATourPanel`,inheritAttrs:!1,props:g(g({},E5()),{cover:{type:Object},nextButtonProps:{type:Object},prevButtonProps:{type:Object},current:{type:Number},type:{type:String}}),setup(e,t){let{attrs:n,slots:r}=t,{current:i,total:a}=hn(e),o=G(()=>i.value===a.value-1),s=t=>{var n;let r=e.prevButtonProps;(n=e.onPrev)==null||n.call(e,t),typeof r?.onClick==`function`&&r?.onClick()},c=t=>{var n,r;let i=e.nextButtonProps;o.value?(n=e.onFinish)==null||n.call(e,t):(r=e.onNext)==null||r.call(e,t),typeof i?.onClick==`function`&&i?.onClick()};return()=>{let{prefixCls:t,title:l,onClose:u,cover:d,description:f,type:p,arrow:m}=e,g=e.prevButtonProps,_=e.nextButtonProps,v;l&&(v=W(`div`,{class:`${t}-header`},[W(`div`,{class:`${t}-title`},[l])]));let y;f&&(y=W(`div`,{class:`${t}-description`},[f]));let b;d&&(b=W(`div`,{class:`${t}-cover`},[d]));let x;x=r.indicatorsRender?r.indicatorsRender({current:i.value,total:a}):[...Array.from({length:a.value}).keys()].map((e,n)=>W(`span`,{key:e,class:K(n===i.value&&`${t}-indicator-active`,`${t}-indicator`)},null));let S=p===`primary`?`default`:`primary`,C={type:`default`,ghost:p===`primary`};return W(Ql,{componentName:`Tour`,defaultLocale:Zl.Tour},{default:e=>W(`div`,h(h({},n),{},{class:K(p===`primary`?`${t}-primary`:``,n.class,`${t}-content`)}),[m&&W(`div`,{class:`${t}-arrow`,key:`arrow`},null),W(`div`,{class:`${t}-inner`},[W(UC,{class:`${t}-close`,onClick:u},null),b,v,y,W(`div`,{class:`${t}-footer`},[a.value>1&&W(`div`,{class:`${t}-indicators`},[x]),W(`div`,{class:`${t}-buttons`},[i.value===0?null:W(Oj,h(h(h({},C),g),{},{onClick:s,size:`small`,class:K(`${t}-prev-btn`,g?.className)}),{default:()=>[ic(g?.children)?g.children():g?.children??e.Previous]}),W(Oj,h(h({type:S},_),{},{onClick:c,size:`small`,class:K(`${t}-next-btn`,_?.className)}),{default:()=>[ic(_?.children)?_?.children():o.value?e.Finish:e.Next]})])])])])})}}}),$oe=e=>{let{defaultType:t,steps:n,current:r,defaultCurrent:i}=e,a=B(i?.value);H(G(()=>r?.value),e=>{a.value=e??i?.value},{immediate:!0});let o=e=>{a.value=e},s=G(()=>typeof a.value==`number`?n&&n.value?.[a.value]?.type:t?.value);return{currentMergedType:G(()=>s.value??t?.value),updateInnerCurrent:o}},ese=e=>{let{componentCls:t,lineHeight:n,padding:r,paddingXS:i,borderRadius:a,borderRadiusXS:o,colorPrimary:s,colorText:c,colorFill:l,indicatorHeight:u,indicatorWidth:d,boxShadowTertiary:f,tourZIndexPopup:p,fontSize:m,colorBgContainer:h,fontWeightStrong:_,marginXS:v,colorTextLightSolid:y,tourBorderRadius:b,colorWhite:x,colorBgTextHover:S,tourCloseSize:C,motionDurationSlow:w,antCls:T}=e;return[{[t]:g(g({},Op(e)),{color:c,position:`absolute`,zIndex:p,display:`block`,visibility:`visible`,fontSize:m,lineHeight:n,width:520,"--antd-arrow-background-color":h,"&-pure":{maxWidth:`100%`,position:`relative`},[`&${t}-hidden`]:{display:`none`},[`${t}-content`]:{position:`relative`},[`${t}-inner`]:{textAlign:`start`,textDecoration:`none`,borderRadius:b,boxShadow:f,position:`relative`,backgroundColor:h,border:`none`,backgroundClip:`padding-box`,[`${t}-close`]:{position:`absolute`,top:r,insetInlineEnd:r,color:e.colorIcon,outline:`none`,width:C,height:C,borderRadius:e.borderRadiusSM,transition:`background-color ${e.motionDurationMid}, color ${e.motionDurationMid}`,display:`flex`,alignItems:`center`,justifyContent:`center`,"&:hover":{color:e.colorIconHover,backgroundColor:e.wireframe?`transparent`:e.colorFillContent}},[`${t}-cover`]:{textAlign:`center`,padding:`${r+C+i}px ${r}px 0`,img:{width:`100%`}},[`${t}-header`]:{padding:`${r}px ${r}px ${i}px`,[`${t}-title`]:{lineHeight:n,fontSize:m,fontWeight:_}},[`${t}-description`]:{padding:`0 ${r}px`,lineHeight:n,wordWrap:`break-word`},[`${t}-footer`]:{padding:`${i}px ${r}px ${r}px`,textAlign:`end`,borderRadius:`0 0 ${o}px ${o}px`,display:`flex`,[`${t}-indicators`]:{display:`inline-block`,[`${t}-indicator`]:{width:d,height:u,display:`inline-block`,borderRadius:`50%`,background:l,"&:not(:last-child)":{marginInlineEnd:u},"&-active":{background:s}}},[`${t}-buttons`]:{marginInlineStart:`auto`,[`${T}-btn`]:{marginInlineStart:v}}}},[`${t}-primary, &${t}-primary`]:{"--antd-arrow-background-color":s,[`${t}-inner`]:{color:y,textAlign:`start`,textDecoration:`none`,backgroundColor:s,borderRadius:a,boxShadow:f,[`${t}-close`]:{color:y},[`${t}-indicators`]:{[`${t}-indicator`]:{background:new zf(y).setAlpha(.15).toRgbString(),"&-active":{background:y}}},[`${t}-prev-btn`]:{color:y,borderColor:new zf(y).setAlpha(.15).toRgbString(),backgroundColor:s,"&:hover":{backgroundColor:new zf(y).setAlpha(.15).toRgbString(),borderColor:`transparent`}},[`${t}-next-btn`]:{color:s,borderColor:`transparent`,background:x,"&:hover":{background:new zf(S).onBackground(x).toRgbString()}}}}}),[`${t}-mask`]:{[`${t}-placeholder-animated`]:{transition:`all ${w}`}},[[`&-placement-left`,`&-placement-leftTop`,`&-placement-leftBottom`,`&-placement-right`,`&-placement-rightTop`,`&-placement-rightBottom`].join(`,`)]:{[`${t}-inner`]:{borderRadius:Math.min(b,8)}}},UA(e,{colorBg:`var(--antd-arrow-background-color)`,contentRadius:b,limitVerticalRadius:!0})]},tse=Fp(`Tour`,e=>{let{borderRadiusLG:t,fontSize:n,lineHeight:r}=e;return[ese(Rp(e,{tourZIndexPopup:e.zIndexPopupBase+70,indicatorWidth:6,indicatorHeight:6,tourBorderRadius:t,tourCloseSize:n*r}))]}),nse=function(e,t){var n={};for(var r in e)Object.prototype.hasOwnProperty.call(e,r)&&t.indexOf(r)<0&&(n[r]=e[r]);if(e!=null&&typeof Object.getOwnPropertySymbols==`function`)for(var i=0,r=Object.getOwnPropertySymbols(e);i{let{steps:t,current:a,type:o,rootClassName:s}=e,c=nse(e,[`steps`,`current`,`type`,`rootClassName`]),g=K({[`${l.value}-primary`]:p.value===`primary`,[`${l.value}-rtl`]:u.value===`rtl`},f.value,s),_=(e,t)=>W(Qoe,h(h({},e),{},{type:o,current:t}),{indicatorsRender:i.indicatorsRender}),v=e=>{m(e),r(`update:current`,e),r(`change`,e)},y=G(()=>RA({arrowPointAtCenter:!0,autoAdjustOverflow:!0}));return d(W(Xoe,h(h(h({},n),c),{},{rootClassName:g,prefixCls:l.value,current:a,defaultCurrent:e.defaultCurrent,animated:!0,renderPanel:_,onChange:v,steps:t,builtinPlacements:y.value}),null))}}})),N5=Symbol(`appConfigContext`),ise=e=>er(N5,e),ase=()=>tr(N5,{}),P5=Symbol(`appContext`),ose=e=>er(P5,e),sse=Yt({message:{},notification:{},modal:{}}),cse=()=>tr(P5,sse),lse=e=>{let{componentCls:t,colorText:n,fontSize:r,lineHeight:i,fontFamily:a}=e;return{[t]:{color:n,fontSize:r,lineHeight:i,fontFamily:a}}},use=Fp(`App`,e=>[lse(e)]),dse=()=>({rootClassName:String,message:q(),notification:q()}),fse=()=>cse(),F5=U({name:`AApp`,props:Bc(dse(),{}),setup(e,t){let{slots:n}=t,{prefixCls:r}=Z(`app`,e),[i,a]=use(r),o=G(()=>K(a.value,r.value,e.rootClassName)),s=ase(),c=G(()=>({message:g(g({},s.message),e.message),notification:g(g({},s.notification),e.notification)}));ise(c.value);let[l,u]=$U(c.value.message),[d,f]=MW(c.value.notification),[p,m]=cQ();return ose(G(()=>({message:l,notification:d,modal:p})).value),()=>i(W(`div`,{class:o.value},[m(),u(),f(),n.default?.call(n)]))}});F5.useApp=fse,F5.install=function(e){e.component(F5.name,F5)};var I5=[`wrap`,`nowrap`,`wrap-reverse`],L5=[`flex-start`,`flex-end`,`start`,`end`,`center`,`space-between`,`space-around`,`space-evenly`,`stretch`,`normal`,`left`,`right`],R5=[`center`,`start`,`end`,`flex-start`,`flex-end`,`self-start`,`self-end`,`baseline`,`normal`,`stretch`],pse=(e,t)=>{let n={};return I5.forEach(r=>{n[`${e}-wrap-${r}`]=t.wrap===r}),n},mse=(e,t)=>{let n={};return R5.forEach(r=>{n[`${e}-align-${r}`]=t.align===r}),n[`${e}-align-stretch`]=!t.align&&!!t.vertical,n},hse=(e,t)=>{let n={};return L5.forEach(r=>{n[`${e}-justify-${r}`]=t.justify===r}),n};function gse(e,t){return K(g(g(g({},pse(e,t)),mse(e,t)),hse(e,t)))}var _se=e=>{let{componentCls:t}=e;return{[t]:{display:`flex`,"&-vertical":{flexDirection:`column`},"&-rtl":{direction:`rtl`},"&:empty":{display:`none`}}}},vse=e=>{let{componentCls:t}=e;return{[t]:{"&-gap-small":{gap:e.flexGapSM},"&-gap-middle":{gap:e.flexGap},"&-gap-large":{gap:e.flexGapLG}}}},yse=e=>{let{componentCls:t}=e,n={};return I5.forEach(e=>{n[`${t}-wrap-${e}`]={flexWrap:e}}),n},bse=e=>{let{componentCls:t}=e,n={};return R5.forEach(e=>{n[`${t}-align-${e}`]={alignItems:e}}),n},xse=e=>{let{componentCls:t}=e,n={};return L5.forEach(e=>{n[`${t}-justify-${e}`]={justifyContent:e}}),n},Sse=Fp(`Flex`,e=>{let t=Rp(e,{flexGapSM:e.paddingXS,flexGap:e.padding,flexGapLG:e.paddingLG});return[_se(t),vse(t),yse(t),bse(t),xse(t)]});function z5(e){return[`small`,`middle`,`large`].includes(e)}var Cse=()=>({prefixCls:X(),vertical:J(),wrap:X(),justify:X(),align:X(),flex:Sl([Number,String]),gap:Sl([Number,String]),component:yl()}),wse=function(e,t){var n={};for(var r in e)Object.prototype.hasOwnProperty.call(e,r)&&t.indexOf(r)<0&&(n[r]=e[r]);if(e!=null&&typeof Object.getOwnPropertySymbols==`function`)for(var i=0,r=Object.getOwnPropertySymbols(e);i[o.value,c.value,gse(o.value,e),{[`${o.value}-rtl`]:a.value===`rtl`,[`${o.value}-gap-${e.gap}`]:z5(e.gap),[`${o.value}-vertical`]:e.vertical??i?.value.vertical}]);return()=>{let{flex:t,gap:i,component:a=`div`}=e,o=wse(e,[`flex`,`gap`,`component`]),c={};return t&&(c.flex=t),i&&!z5(i)&&(c.gap=`${i}px`),s(W(a,h({class:[r.class,l.value],style:[r.style,c]},sm(o,[`justify`,`wrap`,`align`,`vertical`])),{default:()=>[n.default?.call(n)]}))}}})),B5=s({Affix:()=>fm,Alert:()=>vne,Anchor:()=>kh,AnchorLink:()=>Nm,App:()=>F5,AutoComplete:()=>Jk,AutoCompleteOptGroup:()=>Kk,AutoCompleteOption:()=>Gk,Avatar:()=>YA,AvatarGroup:()=>JA,BackTop:()=>rq,Badge:()=>tj,BadgeRibbon:()=>QA,Breadcrumb:()=>AM,BreadcrumbItem:()=>Vj,BreadcrumbSeparator:()=>kM,Button:()=>Oj,ButtonGroup:()=>Cj,Calendar:()=>QF,Card:()=>jL,CardGrid:()=>AL,CardMeta:()=>kL,Carousel:()=>YR,Cascader:()=>oU,CheckableTag:()=>pG,Checkbox:()=>hU,CheckboxGroup:()=>mU,Col:()=>_U,Collapse:()=>UL,CollapsePanel:()=>HL,Comment:()=>bU,Compact:()=>NO,ConfigProvider:()=>sG,DatePicker:()=>YG,Descriptions:()=>lK,DescriptionsItem:()=>nK,DirectoryTree:()=>L3,Divider:()=>fK,Drawer:()=>jK,Dropdown:()=>pK,DropdownButton:()=>Pj,Empty:()=>tm,Flex:()=>Tse,FloatButton:()=>iq,FloatButtonGroup:()=>QK,Form:()=>JH,FormItem:()=>zH,FormItemRest:()=>ow,Grid:()=>gU,Image:()=>uY,ImagePreviewGroup:()=>lY,Input:()=>$q,InputGroup:()=>xq,InputNumber:()=>UY,InputPassword:()=>Qq,InputSearch:()=>Cq,Layout:()=>pX,LayoutContent:()=>fX,LayoutFooter:()=>uX,LayoutHeader:()=>lX,LayoutSider:()=>dX,List:()=>uZ,ListItem:()=>aZ,ListItemMeta:()=>nZ,LocaleProvider:()=>EU,Mentions:()=>HZ,MentionsOption:()=>VZ,Menu:()=>EM,MenuDivider:()=>_M,MenuItem:()=>oM,MenuItemGroup:()=>gM,Modal:()=>uQ,MonthPicker:()=>WG,PageHeader:()=>BQ,Pagination:()=>tZ,Popconfirm:()=>WQ,Popover:()=>qA,Progress:()=>w$,QRCode:()=>Roe,QuarterPicker:()=>qG,Radio:()=>vF,RadioButton:()=>_F,RadioGroup:()=>gF,RangePicker:()=>JG,Rate:()=>L$,Result:()=>n1,Row:()=>r1,Segmented:()=>Eoe,Select:()=>Rk,SelectOptGroup:()=>Bk,SelectOption:()=>zk,Skeleton:()=>EL,SkeletonAvatar:()=>TL,SkeletonButton:()=>xL,SkeletonImage:()=>wL,SkeletonInput:()=>SL,SkeletonTitle:()=>ZI,Slider:()=>L1,Space:()=>LQ,Spin:()=>EX,Statistic:()=>SQ,StatisticCountdown:()=>xQ,Step:()=>o0,Steps:()=>s0,SubMenu:()=>dM,Switch:()=>h0,TabPane:()=>zI,Table:()=>j6,TableColumn:()=>E6,TableColumnGroup:()=>D6,TableSummary:()=>A6,TableSummaryCell:()=>k6,TableSummaryRow:()=>O6,Tabs:()=>VI,Tag:()=>mG,Textarea:()=>Bq,TimePicker:()=>Kie,TimeRangePicker:()=>c8,Timeline:()=>Yie,TimelineItem:()=>l8,Tooltip:()=>KA,Tour:()=>rse,Transfer:()=>yie,Tree:()=>z3,TreeNode:()=>R3,TreeSelect:()=>Wie,TreeSelectNode:()=>a8,Typography:()=>Aae,TypographyLink:()=>E8,TypographyParagraph:()=>D8,TypographyText:()=>O8,TypographyTitle:()=>k8,Upload:()=>poe,UploadDragger:()=>foe,Watermark:()=>yoe,WeekPicker:()=>UG,message:()=>_W,notification:()=>qW}),V5=(e,t)=>new zf(e).setAlpha(t).toRgbString(),H5=(e,t)=>new zf(e).lighten(t).toHexString(),Ese=e=>{let t=ep(e,{theme:`dark`});return{1:t[0],2:t[1],3:t[2],4:t[3],5:t[6],6:t[5],7:t[4],8:t[6],9:t[5],10:t[4]}},Dse=(e,t)=>{let n=e||`#000`,r=t||`#fff`;return{colorBgBase:n,colorTextBase:r,colorText:V5(r,.85),colorTextSecondary:V5(r,.65),colorTextTertiary:V5(r,.45),colorTextQuaternary:V5(r,.25),colorFill:V5(r,.18),colorFillSecondary:V5(r,.12),colorFillTertiary:V5(r,.08),colorFillQuaternary:V5(r,.04),colorBgElevated:H5(n,12),colorBgContainer:H5(n,8),colorBgLayout:H5(n,0),colorBgSpotlight:H5(n,26),colorBorder:H5(n,26),colorBorderSecondary:H5(n,19)}},Ose=(e,t)=>{let n=Object.keys(cp).map(t=>{let n=ep(e[t],{theme:`dark`});return Array(10).fill(1).reduce((e,r,i)=>(e[`${t}-${i+1}`]=n[i],e),{})}).reduce((e,t)=>(e=g(g({},e),t),e),{}),r=t??yp(e);return g(g(g({},r),n),up(e,{generateColorPalettes:Ese,generateNeutralColorPalettes:Dse}))};function kse(e){let{sizeUnit:t,sizeStep:n}=e,r=n-2;return{sizeXXL:t*(r+10),sizeXL:t*(r+6),sizeLG:t*(r+2),sizeMD:t*(r+2),sizeMS:t*(r+1),size:t*r,sizeSM:t*r,sizeXS:t*(r-1),sizeXXS:t*(r-1)}}var Ase=(e,t)=>{let n=t??yp(e),r=n.fontSizeSM,i=n.controlHeight-4;return g(g(g(g(g({},n),kse(t??e)),vp(r)),{controlHeight:i}),op(g(g({},n),{controlHeight:i})))};function jse(){let[e,t,n]=Jp();return{theme:e,token:t,hashId:n}}var Mse={defaultConfig:Up,defaultSeed:Up.token,useToken:jse,defaultAlgorithm:yp,darkAlgorithm:Ose,compactAlgorithm:Ase},Nse={version:uf,install:function(e){return Object.keys(B5).forEach(t=>{let n=B5[t];n.install&&e.use(n)}),e.use(lf.StyleProvider),e.config.globalProperties.$message=_W,e.config.globalProperties.$notification=qW,e.config.globalProperties.$info=uQ.info,e.config.globalProperties.$success=uQ.success,e.config.globalProperties.$error=uQ.error,e.config.globalProperties.$warning=uQ.warning,e.config.globalProperties.$confirm=uQ.confirm,e.config.globalProperties.$destroyAll=uQ.destroyAll,e}},Pse=typeof window<`u`,U5,W5=e=>U5=e,G5=Symbol();function K5(e){return e&&typeof e==`object`&&Object.prototype.toString.call(e)===`[object Object]`&&typeof e.toJSON!=`function`}var q5=typeof window==`object`&&window.window===window?window:typeof self==`object`&&self.self===self?self:typeof global==`object`&&global.global===global?global:typeof globalThis==`object`?globalThis:{HTMLElement:null};function Fse(e,{autoBom:t=!1}={}){return t&&/^\s*(?:text\/\S*|application\/xml|\S*\/\S*\+xml)\s*;.*charset\s*=\s*utf-8/i.test(e.type)?new Blob([``,e],{type:e.type}):e}function J5(e,t,n){let r=new XMLHttpRequest;r.open(`GET`,e),r.responseType=`blob`,r.onload=function(){Ise(r.response,t,n)},r.onerror=function(){console.error(`could not download file`)},r.send()}function Y5(e){let t=new XMLHttpRequest;t.open(`HEAD`,e,!1);try{t.send()}catch{}return t.status>=200&&t.status<=299}function X5(e){try{e.dispatchEvent(new MouseEvent(`click`))}catch{let t=new MouseEvent(`click`,{bubbles:!0,cancelable:!0,view:window,detail:0,screenX:80,screenY:20,clientX:80,clientY:20,ctrlKey:!1,altKey:!1,shiftKey:!1,metaKey:!1,button:0,relatedTarget:null});e.dispatchEvent(t)}}var Z5=typeof navigator==`object`?navigator:{userAgent:``},Q5=/Macintosh/.test(Z5.userAgent)&&/AppleWebKit/.test(Z5.userAgent)&&!/Safari/.test(Z5.userAgent),Ise=Pse?typeof HTMLAnchorElement<`u`&&`download`in HTMLAnchorElement.prototype&&!Q5?Lse:`msSaveOrOpenBlob`in Z5?Rse:zse:()=>{};function Lse(e,t=`download`,n){let r=document.createElement(`a`);r.download=t,r.rel=`noopener`,typeof e==`string`?(r.href=e,r.origin===location.origin?X5(r):Y5(r.href)?J5(e,t,n):(r.target=`_blank`,X5(r))):(r.href=URL.createObjectURL(e),setTimeout(function(){URL.revokeObjectURL(r.href)},4e4),setTimeout(function(){X5(r)},0))}function Rse(e,t=`download`,n){if(typeof e==`string`){if(Y5(e))J5(e,t,n);else{let t=document.createElement(`a`);t.href=e,t.target=`_blank`,setTimeout(function(){X5(t)})}}else navigator.msSaveOrOpenBlob(Fse(e,n),t)}function zse(e,t,n,r){if(r||=open(``,`_blank`),r&&(r.document.title=r.document.body.innerText=`downloading...`),typeof e==`string`)return J5(e,t,n);let i=e.type===`application/octet-stream`,a=/constructor/i.test(String(q5.HTMLElement))||`safari`in q5,o=/CriOS\/[\d]+/.test(navigator.userAgent);if((o||i&&a||Q5)&&typeof FileReader<`u`){let t=new FileReader;t.onloadend=function(){let e=t.result;if(typeof e!=`string`)throw r=null,Error(`Wrong reader.result type`);e=o?e:e.replace(/^data:[^;]*;/,`data:attachment/file;`),r?r.location.href=e:location.assign(e),r=null},t.readAsDataURL(e)}else{let t=URL.createObjectURL(e);r?r.location.assign(t):location.href=t,r=null,setTimeout(function(){URL.revokeObjectURL(t)},4e4)}}var{assign:Bse}=Object;function Vse(){let e=Ie(!0),t=e.run(()=>B({})),n=[],r=[],i=an({install(e){W5(i),i._a=e,e.provide(G5,i),e.config.globalProperties.$pinia=i,r.forEach(e=>n.push(e)),r=[]},use(e){return this._a?n.push(e):r.push(e),this},_p:n,_a:null,_e:e,_s:new Map,state:t});return i}var $5=()=>{};function e7(e,t,n,r=$5){e.add(t);let i=()=>{e.delete(t)&&r()};return!n&&Le()&&Re(i),i}function t7(e,...t){e.forEach(e=>{e(...t)})}var Hse=e=>e(),n7=Symbol(),r7=Symbol();function i7(e,t){e instanceof Map&&t instanceof Map?t.forEach((t,n)=>e.set(n,t)):e instanceof Set&&t instanceof Set&&t.forEach(e.add,e);for(let n in t){if(!Object.hasOwn(t,n))continue;let r=t[n],i=e[n];if(K5(i)&&K5(r)&&Object.hasOwn(e,n)&&!cn(r)&&!$t(r)){e[n]=i7(i,r);let t=rn(e)[n];cn(t)&&tn(t)&&dn(t)}else e[n]=r}return e}var Use=Symbol();function Wse(e){return!e||typeof e!=`object`||!Object.hasOwn(e,Use)}var{assign:a7}=Object;function Gse(e){return!!(cn(e)&&e.effect)}function Kse(e,t,n,r){let{state:i,actions:a,getters:o}=t,s=n.state.value[e],c;function l(){return s||(n.state.value[e]=i?i():{}),a7(hn(n.state.value[e]),a,Object.keys(o||{}).reduce((t,r)=>(t[r]=an(G(()=>{W5(n);let t=n._s.get(e);return o[r].call(t,t)})),t),{}))}return c=o7(e,l,t,n,r,!0),c}function o7(e,t,n={},r,i,a){let o,s=a7({actions:{}},n),c={deep:!0},l,u,d=new Set,f=new Set,p,m=r.state.value[e];!a&&!m&&(r.state.value[e]={});let h;function g(t){let n;l=u=!1,typeof t==`function`?(t(r.state.value[e]),n={type:`patch function`,storeId:e,events:p}):(i7(r.state.value[e],t),n={type:`patch object`,payload:t,storeId:e,events:p});let i=h=Symbol();zn().then(()=>{h===i&&(l=!0)}),u=!0,t7(d,n,r.state.value[e])}let _=a?function(){let{state:e}=n,t=e?e():{};this.$patch(e=>{a7(e,t)})}:$5;function v(){o.stop(),d.clear(),f.clear(),r._s.delete(e)}let y=(t,n=``)=>{if(n7 in t)return t[r7]=n,t;let i=function(){W5(r);let n=Array.from(arguments),a=new Set,o=new Set;function s(e){a.add(e)}function c(e){o.add(e)}t7(f,{args:n,name:i[r7],store:b,after:s,onError:c});let l;try{l=t.apply(this&&this.$id===e?this:b,n)}catch(e){throw t7(o,e),e}return l instanceof Promise?l.then(e=>(t7(a,e),e)).catch(e=>(t7(o,e),Promise.reject(e))):(t7(a,l),l)};return i[n7]=!0,i[r7]=n,i},b=Yt({_p:r,$id:e,$onAction:e7.bind(null,f),$patch:g,$reset:_,$subscribe(t,n={}){if(d.has(t))return $5;let i=e7(d,t,n.detached,()=>a()),a=o.run(()=>H(()=>r.state.value[e],r=>{(n.flush===`sync`?u:l)&&t({storeId:e,type:`direct`,events:p},r)},a7({},c,n)));return i},$dispose:v});r._s.set(e,b);let x=(r._a&&r._a.runWithContext||Hse)(()=>r._e.run(()=>(o=Ie()).run(()=>t({action:y}))));for(let t in x){let n=x[t];cn(n)&&!Gse(n)||$t(n)?a||(m&&Wse(n)&&(cn(n)?n.value=m[t]:((n instanceof Set||n instanceof Map)&&n.clear(),i7(n,m[t]))),r.state.value[e][t]=n):typeof n==`function`&&(x[t]=y(n,t),s.actions[t]=n)}return a7(b,x),a7(rn(b),x),Object.defineProperty(b,"$state",{get:()=>r.state.value[e],set:e=>{g(t=>{a7(t,e)})}}),r._p.forEach(e=>{let t=o.run(()=>e({store:b,app:r._a,pinia:r,options:s}));a7(b,t)}),m&&a&&n.hydrate&&n.hydrate(b.$state,m),l=!0,u=!0,b}function qse(e,t,n){let r,i=typeof t==`function`;r=i?n:t;function a(n,a){let o=nr();return n||=o?tr(G5,null):null,n&&W5(n),n=U5,n._s.has(e)||(i?o7(e,t,r,n):Kse(e,r,n)),n._s.get(e)}return a.$id=e,a}function Jse(e){let t=Object.values(e).filter(e=>typeof e==`number`);return Object.entries(e).filter(([e,n])=>t.indexOf(+e)===-1).map(([e,t])=>t)}function s7(e,t=`|`){return e.map(e=>y7(e)).join(t)}function Yse(e,t){return typeof t==`bigint`?t.toString():t}var Xse=class{constructor(e){this._getter=e,this._value=void 0}get value(){let e=this._getter;return e!==void 0&&(this._value=e(),this._getter=void 0),this._value}};function c7(e){return new Xse(e)}function Zse(e){return e==null}function Qse(e){let t=+!!e.startsWith(`^`),n=e.endsWith(`$`)?e.length-1:e.length;return e.slice(t,n)}function $se(e,t){let n=e/t,r=Math.round(n),i=4*2**-52*Math.max(Math.abs(n),1);return Math.abs(n-r){let e=t._zod.def.shape[a];return r?r(e,a):e}):p7(e,a,r?r(n.value,a):n.value))}}function ece(e,t){for(let n of Reflect.ownKeys(t)){let r=Object.getOwnPropertyDescriptor(t,n);r.enumerable&&(r.get?f7(e,n,()=>t[n]):p7(e,n,r.value))}}function h7(...e){let t={};for(let n of e){let e=Object.getOwnPropertyDescriptors(n);Object.assign(t,e)}return Object.defineProperties({},t)}function tce(e){return JSON.stringify(e)}function nce(e){return e.toLowerCase().trim().replace(/[^\w\s-]/g,``).replace(/[\s_-]+/g,`-`).replace(/^-+|-+$/g,``)}var rce=`captureStackTrace`in Error?Error.captureStackTrace:(...e)=>{};function g7(e){return typeof e==`object`&&!!e&&!Array.isArray(e)}var ice=c7(()=>{if(A7.jitless||typeof navigator<`u`&&navigator?.userAgent?.includes(`Cloudflare`))return!1;try{return Function(``),!0}catch{return!1}});function _7(e){if(g7(e)===!1)return!1;let t=e.constructor;if(t===void 0||typeof t!=`function`)return!0;let n=t.prototype;return g7(n)!==!1&&Object.prototype.hasOwnProperty.call(n,`isPrototypeOf`)!==!1}function ace(e){return _7(e)?{...e}:Array.isArray(e)?[...e]:e instanceof Map?new Map(e):e instanceof Set?new Set(e):e}var oce=new Set([`string`,`number`,`symbol`]);function sce(e){return e.replace(/[.*+?^${}()|[\]\\]/g,`\\$&`)}function v7(e,t,n){let r=new e._zod.constr(t??e._zod.def);return(!t||n?.parent)&&(r._zod.parent=e),r}function cce(e){let t=e;if(!t)return{};if(typeof t==`string`)return{error:()=>t};if(t?.message!==void 0){if(t?.error!==void 0)throw Error("Cannot specify both `message` and `error` params");t.error=t.message}return delete t.message,typeof t.error==`string`?{...t,error:()=>t.error}:t}function y7(e){return typeof e==`bigint`?e.toString()+`n`:typeof e==`string`?`"${e}"`:`${e}`}function lce(e){return Object.keys(e).filter(t=>e[t]._zod.optin!==void 0&&e[t]._zod.optout===`optional`)}var uce={safeint:[-(2**53-1),2**53-1],int32:[-2147483648,2147483647],uint32:[0,4294967295],float32:[-34028234663852886e22,34028234663852886e22],float64:[-Number.MAX_VALUE,Number.MAX_VALUE]},dce={int64:[BigInt(`-9223372036854775808`),BigInt(`9223372036854775807`)],uint64:[BigInt(0),BigInt(`18446744073709551615`)]};function fce(e,t){let n=e._zod.def,r=n.checks;if(r&&r.length>0)throw Error(`.pick() cannot be used on object schemas containing refinements`);let i={};return m7(i,e,b7(e,t)),v7(e,h7(n,{shape:i,checks:[]}))}function b7(e,t){let n=d7(e),r=[];for(let e of Reflect.ownKeys(t)){if(!Object.getOwnPropertyDescriptor(n,e)?.enumerable)throw Error(`Unrecognized key: "${String(e)}"`);t[e]&&r.push(e)}return r}function pce(e,t){let n=e._zod.def,r=n.checks;if(r&&r.length>0)throw Error(`.omit() cannot be used on object schemas containing refinements`);let i=new Set(b7(e,t)),a={};return m7(a,e,Reflect.ownKeys(d7(e)).filter(e=>!i.has(e))),v7(e,h7(n,{shape:a,checks:[]}))}function mce(e,t){if(!_7(t))throw Error(`Invalid input to extend: expected a plain object`);let n=e._zod.def.checks;if(n&&n.length>0){let n=d7(e);for(let e of Reflect.ownKeys(t))if(Object.getOwnPropertyDescriptor(n,e)!==void 0)throw Error("Cannot overwrite keys on object schemas containing refinements. Use `.safeExtend()` instead.")}return v7(e,h7(e._zod.def,{shape:x7(e,t)}))}function x7(e,t){let n={};return m7(n,e,Reflect.ownKeys(d7(e))),ece(n,t),n}function hce(e,t){if(!_7(t))throw Error(`Invalid input to safeExtend: expected a plain object`);return v7(e,h7(e._zod.def,{shape:x7(e,t)}))}function gce(e,t){if(!t?._zod?.def)throw Error("Invalid input to merge: expected an object schema. To merge a plain shape, use `.extend()`.");if(e._zod.def.checks?.length)throw Error(`.merge() cannot be used on object schemas containing refinements. Use .safeExtend() instead.`);let n={};return m7(n,e,Reflect.ownKeys(d7(e))),m7(n,t,Reflect.ownKeys(d7(t))),v7(e,h7(e._zod.def,{shape:n,get catchall(){return t._zod.def.catchall},checks:t._zod.def.checks??[]}))}function _ce(e,t,n,r=`partial`){let i=t._zod.def.checks;if(i&&i.length>0)throw Error(`.${r}() cannot be used on object schemas containing refinements`);let a=n?new Set(b7(t,n)):void 0,o={};return m7(o,t,Reflect.ownKeys(d7(t)),e&&((t,n)=>a&&!a.has(n)?t:new e({type:`optional`,innerType:t}))),v7(t,h7(t._zod.def,{shape:o,checks:[]}))}function vce(e,t,n){let r=n?new Set(b7(t,n)):void 0,i={};return m7(i,t,Reflect.ownKeys(d7(t)),(t,n)=>r&&!r.has(n)?t:new e({type:`nonoptional`,innerType:t})),v7(t,h7(t._zod.def,{shape:i}))}function yce(e,t=0){if(e.aborted===!0)return!0;for(let n=t;n{var n;return(n=t).path??(n.path=[]),t.path.unshift(e),t})}function S7(e){return typeof e==`string`?e:e?.message}function Sce(e){let t=[];for(let n of e??[]){let e=n._zod.def;if(!/_(length|size)$|_equals$/.test(e.check))break;let r=e.maximum??e.length??e.size;r>=0&&t.push([r,n])}return t}function Cce(e,t,n){var r;for(let i=t;ie;return t[Lce]=!0,t}var D7,O7={value:void 0,enumerable:!1},k7=`captureStackTrace`in Error?Error:null;function zce(e){let t=k7;if(t){let n=t.stackTraceLimit;if(typeof n==`number`){try{t.stackTraceLimit=0}catch{return k7=null,new e}try{return new e}finally{t.stackTraceLimit=n}}}return new e}function Bce(e,t,n,r){let i={};function a(e){this.def=e,this.constr=d,this.traits=new Set}a.prototype=i;let o=n,s=o&&new WeakSet;function c(n,r){if(!n._zod){O7.value=new a(r);try{Object.defineProperty(n,"_zod",O7)}finally{O7.value=void 0}}else if(n._zod.traits.has(e))return;if(n._zod.traits.add(e),t(n,r),s){let e=Object.getPrototypeOf(n),t=n._zod.constr.prototype,r=e;for(;r&&r!==t;)r=Object.getPrototypeOf(r);let i=r??e;s.has(i)||(s.add(i),kce(i,o))}let i=d.prototype;for(let e in i)Object.prototype.hasOwnProperty.call(i,e)&&(e in n||(n[e]=i[e].bind(n)))}let l=r?.Parent??Object;class u extends l{}Object.defineProperty(u,"name",{value:e});function d(e){let t=r?.Parent?zce(u):this;c(t,e);let n=t._zod.deferred;if(n){for(let e of n)e();t._zod.deferred=void 0}let i=globalThis.__zod_globalConfig?.postProcessor;return i&&i(t),t}return Object.defineProperty(d,"init",{value:c}),Object.defineProperty(d,Symbol.hasInstance,{value:t=>r?.Parent&&t instanceof r.Parent?!0:t?._zod?.traits?.has(e)}),Object.defineProperty(d,"name",{value:e}),d}var Vce=class extends Error{constructor(){super(`Encountered Promise during synchronous parse. Use .parseAsync() instead.`)}},Hce=class extends Error{constructor(e){super(`Encountered unidirectional transform during encode: ${e}`),this.name=`ZodEncodeError`}};(D7=globalThis).__zod_globalConfig??(D7.__zod_globalConfig={});var A7=globalThis.__zod_globalConfig;function j7(e){return e&&Object.assign(A7,e),A7}var Uce=()=>{let e={string:{unit:`کاراکتر`,verb:`داشته باشد`},file:{unit:`بایت`,verb:`داشته باشد`},array:{unit:`آیتم`,verb:`داشته باشد`},set:{unit:`آیتم`,verb:`داشته باشد`},map:{unit:`آیتم`,verb:`داشته باشد`}};function t(t){return e[t]??null}let n={regex:`ورودی`,email:`آدرس ایمیل`,url:`URL`,emoji:`ایموجی`,uuid:`UUID`,uuidv4:`UUIDv4`,uuidv6:`UUIDv6`,nanoid:`nanoid`,guid:`GUID`,cuid:`cuid`,cuid2:`cuid2`,ulid:`ULID`,xid:`XID`,ksuid:`KSUID`,datetime:`تاریخ و زمان ایزو`,date:`تاریخ ایزو`,time:`زمان ایزو`,duration:`مدت زمان ایزو`,ipv4:`IPv4 آدرس`,ipv6:`IPv6 آدرس`,mac:`MAC آدرس`,cidrv4:`IPv4 دامنه`,cidrv6:`IPv6 دامنه`,base64:`base64-encoded رشته`,base64url:`base64url-encoded رشته`,json_string:`JSON رشته`,e164:`E.164 عدد`,credit_card:`شماره کارت اعتباری`,currency_code:`کد ارز`,iban:`IBAN`,jwt:`JWT`,template_literal:`ورودی`},r={nan:`NaN`,number:`عدد`,array:`آرایه`};return e=>{switch(e.code){case`invalid_type`:{let t=r[e.expected]??e.expected,n=C7(e.input),i=r[n]??n;return/^[A-Z]/.test(e.expected)?`ورودی نامعتبر: میبایست instanceof ${e.expected} میبود، ${i} دریافت شد`:`ورودی نامعتبر: میبایست ${t} میبود، ${i} دریافت شد`}case`invalid_value`:return e.values.length===1?`ورودی نامعتبر: میبایست ${y7(e.values[0])} میبود`:`گزینه نامعتبر: میبایست یکی از ${s7(e.values,`|`)} میبود`;case`too_big`:{let n=e.inclusive?`<=`:`<`,r=t(e.origin);return r?`خیلی بزرگ: ${e.origin??`مقدار`} باید ${n}${e.maximum.toString()} ${r.unit??`عنصر`} باشد`:`خیلی بزرگ: ${e.origin??`مقدار`} باید ${n}${e.maximum.toString()} باشد`}case`too_small`:{let n=e.inclusive?`>=`:`>`,r=t(e.origin);return r?`خیلی کوچک: ${e.origin} باید ${n}${e.minimum.toString()} ${r.unit} باشد`:`خیلی کوچک: ${e.origin} باید ${n}${e.minimum.toString()} باشد`}case`invalid_format`:{let t=e;return t.format===`starts_with`?`رشته نامعتبر: باید با "${t.prefix}" شروع شود`:t.format===`ends_with`?`رشته نامعتبر: باید با "${t.suffix}" تمام شود`:t.format===`includes`?`رشته نامعتبر: باید شامل "${t.includes}" باشد`:t.format===`regex`?`رشته نامعتبر: باید با الگوی ${t.pattern} مطابقت داشته باشد`:`${n[t.format]??e.format} نامعتبر`}case`not_multiple_of`:return`عدد نامعتبر: باید مضرب ${e.divisor} باشد`;case`unrecognized_keys`:return`کلید${e.keys.length>1?`های`:``} ناشناس: ${s7(e.keys,`, `)}`;case`invalid_key`:return`کلید ناشناس در ${e.origin}`;case`invalid_union`:return`ورودی نامعتبر`;case`invalid_element`:return`مقدار نامعتبر در ${e.origin}`;default:return`ورودی نامعتبر`}}};function Wce(){return{localeError:Uce()}}var Gce={items_per_page:`/ صفحه`,jump_to:`برو به`,jump_to_confirm:`تایید`,page:``,prev_page:`صفحه قبلی`,next_page:`صفحه بعدی`,prev_5:`۵ صفحه قبلی`,next_5:`۵ صفحه بعدی`,prev_3:`۳ صفحه قبلی`,next_3:`۳ صفحه بعدی`},Kce={locale:`fa_IR`,today:`امروز`,now:`اکنون`,backToToday:`بازگشت به روز`,ok:`باشه`,clear:`پاک کردن`,month:`ماه`,year:`سال`,timeSelect:`انتخاب زمان`,dateSelect:`انتخاب تاریخ`,monthSelect:`یک ماه را انتخاب کنید`,yearSelect:`یک سال را انتخاب کنید`,decadeSelect:`یک دهه را انتخاب کنید`,yearFormat:`YYYY`,dateFormat:`M/D/YYYY`,dayFormat:`D`,dateTimeFormat:`M/D/YYYY HH:mm:ss`,monthBeforeYear:!0,previousMonth:`ماه قبل (PageUp)`,nextMonth:`ماه بعد (PageDown)`,previousYear:`سال قبل (Control + left)`,nextYear:`سال بعد (Control + right)`,previousDecade:`دهه قبل`,nextDecade:`دهه بعد`,previousCentury:`قرن قبل`,nextCentury:`قرن بعد`},M7={placeholder:`انتخاب زمان`,rangePlaceholder:[`زمان شروع`,`زمان پایان`]},N7={lang:g({placeholder:`انتخاب تاریخ`,yearPlaceholder:`انتخاب سال`,quarterPlaceholder:`انتخاب فصل`,monthPlaceholder:`انتخاب ماه`,weekPlaceholder:`انتخاب هفته`,rangePlaceholder:[`تاریخ شروع`,`تاریخ پایان`],rangeYearPlaceholder:[`سال شروع`,`سال پایان`],rangeMonthPlaceholder:[`ماه شروع`,`ماه پایان`],rangeWeekPlaceholder:[`هفته شروع`,`هفته پایان`]},Kce),timePickerLocale:g({},M7)},qce=N7,P7="${label} از نوع ${type} معتبر نیست",Jce={locale:`fa`,Pagination:Gce,DatePicker:N7,TimePicker:M7,Calendar:qce,global:{placeholder:`لطفاً انتخاب کنید`},Table:{filterTitle:`منوی فیلتر`,filterConfirm:`تایید`,filterReset:`پاک کردن`,filterEmptyText:`بدون فیلتر`,emptyText:`بدون داده`,selectAll:`انتخاب صفحهی کنونی`,selectInvert:`معکوس کردن انتخابها در صفحه ی کنونی`,selectNone:`انتخاب هیچکدام`,selectionAll:`انتخاب همه دادهها`,sortTitle:`مرتب سازی`,expand:`باز شدن ردیف`,collapse:`بستن ردیف`,triggerDesc:`ترتیب نزولی`,triggerAsc:`ترتیب صعودی`,cancelSort:`لغوِ ترتیبِ داده شده`},Modal:{okText:`تایید`,cancelText:`لغو`,justOkText:`تایید`},Popconfirm:{okText:`تایید`,cancelText:`لغو`},Transfer:{titles:[``,``],searchPlaceholder:`جستجو`,itemUnit:`عدد`,itemsUnit:`عدد`,remove:`حذف`,selectCurrent:`انتخاب صفحه فعلی`,removeCurrent:`پاک کردن انتخابهای صفحه فعلی`,selectAll:`انتخاب همه`,removeAll:`پاک کردن همه انتخابها`,selectInvert:`معکوس کردن انتخابها در صفحه ی کنونی`},Upload:{uploading:`در حال آپلود...`,removeFile:`حذف فایل`,uploadError:`خطا در آپلود`,previewFile:`مشاهدهی فایل`,downloadFile:`دریافت فایل`},Empty:{description:`دادهای موجود نیست`},Icon:{icon:`آیکن`},Text:{edit:`ویرایش`,copy:`کپی`,copied:`کپی شد`,expand:`توسعه`},PageHeader:{back:`برگشت`},Form:{optional:`(اختیاری)`,defaultValidateMessages:{default:"خطا در ${label}",required:"فیلد ${label} اجباریست",enum:"${label} باید یکی از [${enum}] باشد",whitespace:"${label} نمیتواند خالی باشد",date:{format:"ساختار تاریخ در ${label} نامعتبر است",parse:"${label} قابل تبدیل به تاریخ نیست",invalid:"${label} تاریخی نا معتبر است"},types:{string:P7,method:P7,array:P7,object:P7,number:P7,date:P7,boolean:P7,integer:P7,float:P7,regexp:P7,email:P7,url:P7,hex:P7},string:{len:"${label} باید ${len} کاراکتر باشد",min:"${label} باید حداقل ${min} کاراکتر باشد",max:"${label} باید حداکثر ${max} کاراکتر باشد",range:"${label} باید بین ${min}-${max} کاراکتر باشد"},number:{len:"${label} باید برابر ${len}",min:"${label} حداقل میتواند ${min} باشد",max:"${label} حداکثر میتواند ${max} باشد",range:"${label} باید بین ${min}-${max} باشد"},array:{len:"تعداد ${label} باید ${len} باشد.",min:"تعداد ${label} حداقل باید ${min} باشد",max:"تعداد ${label} حداکثر باید ${max} باشد",range:"مقدار ${label} باید بین ${min}-${max} باشد"},pattern:{mismatch:"الگوی ${label} با ${pattern} برابری نمیکند"}}},Image:{preview:`نمایش`}},Yce=U({__name:`App`,setup(e){let t={algorithm:Mse.defaultAlgorithm,token:{colorPrimary:`#ff5a00`,colorInfo:`#ff5a00`,colorLink:`#e04f00`,fontFamily:`"IRANSans", Tahoma, sans-serif`,borderRadius:8}};return(e,n)=>{let r=ui(`RouterView`),i=ui(`a-config-provider`);return Ra(),Ua(i,{theme:t,direction:`rtl`,locale:fn(Jce)},{default:Zn(()=>[W(r)]),_:1},8,[`locale`])}}}),F7=e=>e.startsWith(`/`);function I7(e){return typeof e==`object`||`displayName`in e||`props`in e||`__vccOpts`in e}function Xce(e){return e.__esModule||e[Symbol.toStringTag]===`Module`||e.default&&I7(e.default)}var L7=Object.assign;function R7(e,t){let n={};for(let r in t){let i=t[r];n[r]=B7(i)?i.map(e):e(i)}return n}var z7=()=>{},B7=Array.isArray;function V7(e,t){let n={};for(let r in e)n[r]=r in t?t[r]:e[r];return n}var H7=Symbol(``);function U7(e,t){return L7(Error(),{type:e,[H7]:!0},t)}function W7(e,t){return e instanceof Error&&H7 in e&&(t==null||!!(e.type&t))}var Zce=Symbol(``),G7=Symbol(``),K7=Symbol(``),q7=Symbol(``),J7=Symbol(``),Qce=Symbol(``);function $ce(){return tr(K7)}function ele(e){return tr(q7)}var Y7=typeof document<`u`,X7=/#/g,tle=/&/g,nle=/\//g,rle=/=/g,ile=/\?/g,Z7=/\+/g,ale=/%5B/g,ole=/%5D/g,Q7=/%5E/g,sle=/%60/g,$7=/%7B/g,cle=/%7C/g,e9=/%7D/g,lle=/%20/g;function t9(e){return e==null?``:encodeURI(``+e).replace(cle,`|`).replace(ale,`[`).replace(ole,`]`)}function ule(e){return t9(e).replace($7,`{`).replace(e9,`}`).replace(Q7,`^`)}function n9(e){return t9(e).replace(Z7,`%2B`).replace(lle,`+`).replace(X7,`%23`).replace(tle,`%26`).replace(sle,"`").replace($7,`{`).replace(e9,`}`).replace(Q7,`^`)}function dle(e){return n9(e).replace(rle,`%3D`)}function fle(e){return t9(e).replace(X7,`%23`).replace(ile,`%3F`)}function ple(e){return fle(e).replace(nle,`%2F`)}function r9(e){if(e==null)return null;try{return decodeURIComponent(``+e)}catch{}return``+e}var mle=/\/$/,hle=e=>e.replace(mle,``);function i9(e,t,n=`/`){let r,i={},a=``,o=``,s=t.indexOf(`#`),c=t.indexOf(`?`);return c=s>=0&&c>s?-1:c,c>=0&&(r=t.slice(0,c),a=t.slice(c,s>0?s:t.length),i=e(a.slice(1))),s>=0&&(r||=t.slice(0,s),o=t.slice(s,t.length)),r=yle(r??t,n),{fullPath:r+a+o,path:r,query:i,hash:r9(o)}}function gle(e,t){let n=t.query?e(t.query):``;return t.path+(n&&`?`)+n+(t.hash||``)}function a9(e,t){return!t||!e.toLowerCase().startsWith(t.toLowerCase())?e:e.slice(t.length)||`/`}function _le(e,t,n){let r=t.matched.length-1,i=n.matched.length-1;return r>-1&&r===i&&o9(t.matched[r],n.matched[i])&&s9(t.params,n.params)&&e(t.query)===e(n.query)&&t.hash===n.hash}function o9(e,t){return(e.aliasOf||e)===(t.aliasOf||t)}function s9(e,t){if(Object.keys(e).length!==Object.keys(t).length)return!1;for(var n in e)if(!vle(e[n],t[n]))return!1;return!0}function vle(e,t){return B7(e)?c9(e,t):B7(t)?c9(t,e):(e&&e.valueOf())===(t&&t.valueOf())}function c9(e,t){return B7(t)?e.length===t.length&&e.every((e,n)=>e===t[n]):e.length===1&&e[0]===t}function yle(e,t){if(F7(e))return e;if(!e)return t;let n=t.split(`/`),r=e.split(`/`),i=r[r.length-1];(i===`..`||i===`.`)&&r.push(``);let a=n.length-1,o,s;for(o=0;o1&&a--;else break}return n.slice(0,a).join(`/`)+`/`+r.slice(o).join(`/`)}var l9={path:`/`,name:void 0,params:{},query:{},hash:``,fullPath:`/`,matched:[],meta:{},redirectedFrom:void 0};function ble(e){if(!e){if(Y7){let t=document.querySelector(`base`);e=t&&t.getAttribute(`href`)||`/`,e=e.replace(/^\w+:\/\/[^/]+/,``)}else e=`/`}return e[0]!==`/`&&e[0]!==`#`&&(e=`/`+e),hle(e)}var xle=/^[^#]+#/;function Sle(e,t){return e.replace(xle,`#`)+t}function Cle(e,t){let n=document.documentElement.getBoundingClientRect(),r=e.getBoundingClientRect();return{behavior:t.behavior,left:r.left-n.left-(t.left||0),top:r.top-n.top-(t.top||0)}}var u9=()=>history.scrollRestoration===`manual`?{left:window.scrollX,top:window.scrollY}:null;function wle(e){let t;if(`el`in e){let n=e.el,r=typeof n==`string`&&n.startsWith(`#`),i=typeof n==`string`?r?document.getElementById(n.slice(1)):document.querySelector(n):n;if(!i)return;t=Cle(i,e)}else t=e;`scrollBehavior`in document.documentElement.style?window.scrollTo(t):window.scrollTo(t.left==null?window.scrollX:t.left,t.top==null?window.scrollY:t.top)}function d9(e,t){return(history.state?history.state.position-t:-1)+e}var f9=new Map;function Tle(e){f9.set(e,u9())}function Ele(e){let t=f9.get(e);return f9.delete(e),t}function p9(e,t=!1){for(let n of f9.keys()){let r=parseInt(n,10);(r===e||!t&&r>e)&&f9.delete(n)}}function Dle(e){return typeof e==`string`||e&&typeof e==`object`}function m9(e){return typeof e==`string`||typeof e==`symbol`}function Ole(e){let t={};if(e===``||e===`?`)return t;let n=(e[0]===`?`?e.slice(1):e).split(`&`);for(let e=0;ee&&n9(e)):[r&&n9(r)]).forEach(e=>{e!==void 0&&(t+=(t.length?`&`:``)+n,e!=null&&(t+=`=`+e))})}return t}function kle(e){let t={};for(let n in e){let r=e[n];r!==void 0&&(t[n]=B7(r)?r.map(e=>e==null?null:``+e):r==null?r:``+r)}return t}function g9(){let e=[];function t(t){return e.push(t),()=>{let n=e.indexOf(t);n>-1&&e.splice(n,1)}}function n(){e=[]}return{add:t,list:()=>e.slice(),reset:n}}function _9(e,t,n,r,i,a=e=>e()){let o=r&&(r.enterCallbacks[i]=r.enterCallbacks[i]||[]);return()=>new Promise((s,c)=>{let l=e=>{e===!1?c(U7(4,{from:n,to:t})):e instanceof Error?c(e):Dle(e)?c(U7(2,{from:t,to:e})):(o&&r.enterCallbacks[i]===o&&typeof e==`function`&&o.push(e),s())},u=a(()=>e.call(r&&r.instances[i],t,n,l)),d=Promise.resolve(u);e.length<3&&(d=d.then(l)),d.catch(e=>c(e))})}function v9(e,t,n,r,i=e=>e()){let a=[];for(let o of e)for(let e in o.components){let s=o.components[e];if(t===`beforeRouteEnter`||o.instances[e]){if(I7(s)){let c=(s.__vccOpts||s)[t];c&&a.push(_9(c,n,r,o,e,i))}else{let c=s();a.push(()=>c.then(a=>{if(!a)throw Error(`Couldn't resolve component "${e}" at "${o.path}"`);let s=Xce(a)?a.default:a;o.mods[e]=a,o.components[e]=s;let c=(s.__vccOpts||s)[t];return c&&_9(c,n,r,o,e,i)()}))}}}return a}function Ale(e,t){let n=[],r=[],i=[],a=Math.max(t.matched.length,e.matched.length);for(let o=0;oo9(e,a))?r.push(a):n.push(a));let s=e.matched[o];s&&(t.matched.find(e=>o9(e,s))||i.push(s))}return[n,r,i]}var jle=()=>location.protocol+`//`+location.host;function y9(e,t){let{pathname:n,search:r,hash:i}=t,a=e.indexOf(`#`);if(a>-1){let t=i.includes(e.slice(a))?e.slice(a).length:1,n=i.slice(t);return n[0]!==`/`&&(n=`/`+n),a9(n,``)}return a9(n,e)+r+i}function Mle(e,t,n,r){let i=[],a=[],o=null,s=({state:a})=>{let s=y9(e,location),c=n.value,l=t.value,u=0;if(a){if(n.value=s,t.value=a,o&&o===c){o=null;return}u=l?a.position-l.position:0}else r(s);i.forEach(e=>{e(n.value,c,{delta:u,type:`pop`,direction:u?u>0?`forward`:`back`:``})})};function c(){o=n.value}function l(e){i.push(e);let t=()=>{let t=i.indexOf(e);t>-1&&i.splice(t,1)};return a.push(t),t}function u(){let{history:e}=window;e.state&&e.replaceState(L7({},e.state,{scroll:u9()}),``)}function d(){for(let e of a)e();a=[],window.removeEventListener(`popstate`,s),window.removeEventListener(`pagehide`,u)}return window.addEventListener(`popstate`,s),window.addEventListener(`pagehide`,u),{pauseListeners:c,listen:l,destroy:d}}function b9(e,t,n,r=!1){return{back:e,current:t,forward:n,replaced:r,position:window.history.length,scroll:null}}function Nle(e){let{history:t,location:n}=window,r={value:y9(e,n)},i={value:t.state};i.value||a(r.value,{back:null,current:r.value,forward:null,position:t.length-1,replaced:!0,scroll:null},!0);function a(r,a,o){let s=e.indexOf(`#`),c=s>-1?(n.host&&document.querySelector(`base`)?e:e.slice(s))+r:jle()+e+r;try{t[o?`replaceState`:`pushState`](a,``,c),i.value=a}catch(e){console.error(e),n[o?`replace`:`assign`](c)}}function o(e,n){let o=L7({},t.state,b9(i.value.back,e,i.value.forward,!0),n,{position:i.value.position});a(e,o,!0),p9(o.position,!0),r.value=e}function s(e,n){let o=L7({},i.value,t.state,{forward:e,scroll:u9()});a(o.current,o,!0),a(e,L7({},b9(r.value,e,null),{position:o.position+1},n),!1),p9(o.position),r.value=e}return{location:r,state:i,push:s,replace:o}}function Ple(e){e=ble(e);let t=Nle(e),n=Mle(e,t.state,t.location,t.replace);function r(e,t=!0){t||n.pauseListeners(),history.go(e)}let i=L7({location:``,base:e,go:r,createHref:Sle.bind(null,e)},t,n);return Object.defineProperty(i,"location",{enumerable:!0,get:()=>t.location.value}),Object.defineProperty(i,"state",{enumerable:!0,get:()=>t.state.value}),i}var Fle={type:0,value:``},Ile=/[a-zA-Z0-9_]/;function Lle(e){if(!e)return[[]];if(e===`/`)return[[Fle]];if(!F7(e))throw Error(`Invalid path "${e}"`);function t(e){throw Error(`ERR (${n})/"${l}": ${e}`)}let n=0,r=n,i=[],a;function o(){a&&i.push(a),a=[]}let s=0,c,l=``,u=``;function d(){l&&=(n===0?a.push({type:0,value:l}):n===1||n===2||n===3?(a.length>1&&(c===`*`||c===`+`)&&t(`A repeatable param (${l}) must be alone in its segment. eg: '/:ids+.`),a.push({type:1,value:l,regexp:u,repeatable:c===`*`||c===`+`,optional:c===`*`||c===`?`})):t(`Invalid state to consume buffer`),``)}function f(){l+=c}for(;st.length?t.length===1&&t[0]===80?1:-1:0}function S9(e,t){let n=0,r=e.score,i=t.score;for(;n0&&t[t.length-1]<0}var Hle={strict:!1,end:!0,sensitive:!1};function Ule(e,t,n){let r=L7(Ble(Lle(e.path),n),{record:e,parent:t,children:[],alias:[]});return t&&!r.record.aliasOf==!t.record.aliasOf&&t.children.push(r),r}function Wle(e,t){let n=[],r=new Map;t=V7(Hle,t);function i(e){return r.get(e)}function a(e,n,r){let i=!r,s=T9(e);s.aliasOf=r&&r.record;let l=V7(t,e),u=[s];if(`alias`in e){let t=typeof e.alias==`string`?[e.alias]:e.alias;for(let e of t)u.push(T9(L7({},s,{components:r?r.record.components:s.components,path:e,aliasOf:r?r.record:s})))}let d,f;for(let t of u){let{path:u}=t;if(n&&!F7(u)){let e=n.record.path,r=e[e.length-1]===`/`?``:`/`;t.path=n.record.path+(u&&r+u)}if(d=Ule(t,n,l),r?r.alias.push(d):(f||=d,f!==d&&f.alias.push(d),i&&e.name&&!E9(d)&&o(e.name)),D9(d)&&c(d),s.children){let e=s.children;for(let t=0;t{o(f)}:z7}function o(e){if(m9(e)){let t=r.get(e);t&&(r.delete(e),n.splice(n.indexOf(t),1),t.children.forEach(o),t.alias.forEach(o))}else{let t=n.indexOf(e);t>-1&&(n.splice(t,1),e.record.name&&r.delete(e.record.name),e.children.forEach(o),e.alias.forEach(o))}}function s(){return n}function c(e){let t=qle(e,n);n.splice(t,0,e),e.record.name&&!E9(e)&&r.set(e.record.name,e)}function l(e,t){let i,a={},o,s;if(`name`in e&&e.name){if(i=r.get(e.name),!i)throw U7(1,{location:e});s=i.record.name,a=L7(w9(t.params,i.keys.filter(e=>!e.optional).concat(i.parent?i.parent.keys.filter(e=>e.optional):[]).map(e=>e.name)),e.params&&w9(e.params,i.keys.map(e=>e.name))),o=i.stringify(a)}else if(e.path!=null)o=e.path,i=n.find(e=>e.re.test(o)),i&&(a=i.parse(o),s=i.record.name,i.keys.forEach(e=>{e.optional&&!a[e.name]&&delete a[e.name]}));else{if(i=t.name?r.get(t.name):n.find(e=>e.re.test(t.path)),!i)throw U7(1,{location:e,currentLocation:t});s=i.record.name,a=L7({},t.params,e.params),o=i.stringify(a)}let c=[],l=i;for(;l;)c.unshift(l.record),l=l.parent;return{name:s,path:o,params:a,matched:c,meta:Kle(c)}}e.forEach(e=>a(e));function u(){n.length=0,r.clear()}return{addRoute:a,resolve:l,removeRoute:o,clearRoutes:u,getRoutes:s,getRecordMatcher:i}}function w9(e,t){let n={};for(let r of t)r in e&&(n[r]=e[r]);return n}function T9(e){let t={path:e.path,redirect:e.redirect,name:e.name,meta:e.meta||{},aliasOf:e.aliasOf,beforeEnter:e.beforeEnter,props:Gle(e),children:e.children||[],instances:{},leaveGuards:new Set,updateGuards:new Set,enterCallbacks:{},components:`components`in e?e.components||null:e.component&&{default:e.component}};return Object.defineProperty(t,"mods",{value:{}}),t}function Gle(e){let t={},n=e.props||!1;if(`component`in e)t.default=n;else for(let r in e.components)t[r]=typeof n==`object`?n[r]:n;return t}function E9(e){for(;e;){if(e.record.aliasOf)return!0;e=e.parent}return!1}function Kle(e){return e.reduce((e,t)=>L7(e,t.meta),{})}function qle(e,t){let n=0,r=t.length;for(;n!==r;){let i=n+r>>1;S9(e,t[i])<0?r=i:n=i+1}let i=Jle(e);return i&&(r=t.lastIndexOf(i,r-1)),r}function Jle(e){let t=e;for(;t=t.parent;)if(D9(t)&&S9(e,t)===0)return t}function D9({record:e}){return!!(e.name||e.components&&Object.keys(e.components).length||e.redirect)}function O9(e){let t=tr(K7),n=tr(q7),r=G(()=>{let n=fn(e.to);return t.resolve(n)}),i=G(()=>{let{matched:e}=r.value,{length:t}=e,i=e[t-1],a=n.matched;if(!i||!a.length)return-1;let o=a.findIndex(o9.bind(null,i));if(o>-1)return o;let s=k9(e[t-2]);return t>1&&k9(i)===s&&a[a.length-1].path!==s?a.findIndex(o9.bind(null,e[t-2])):o}),a=G(()=>i.value>-1&&Qle(n.params,r.value.params)),o=G(()=>i.value>-1&&i.value===n.matched.length-1&&s9(n.params,r.value.params));function s(n={}){if(Zle(n)){let n=t[fn(e.replace)?`replace`:`push`](fn(e.to)).catch(z7);return e.viewTransition&&typeof document<`u`&&`startViewTransition`in document&&document.startViewTransition(()=>n),n}return Promise.resolve()}return{route:r,href:G(()=>r.value.href),isActive:a,isExactActive:o,navigate:s}}function Yle(e){return e.length===1?e[0]:e}var Xle=U({name:`RouterLink`,compatConfig:{MODE:3},props:{to:{type:[String,Object],required:!0},replace:Boolean,activeClass:String,exactActiveClass:String,custom:Boolean,ariaCurrentValue:{type:String,default:`page`},viewTransition:Boolean},useLink:O9,setup(e,{slots:t}){let n=Yt(O9(e)),{options:r}=tr(K7),i=G(()=>({[A9(e.activeClass,r.linkActiveClass,`router-link-active`)]:n.isActive,[A9(e.exactActiveClass,r.linkExactActiveClass,`router-link-exact-active`)]:n.isExactActive}));return()=>{let r=t.default&&Yle(t.default(n));return e.custom?r:Oo(`a`,{"aria-current":n.isExactActive?e.ariaCurrentValue:null,href:n.href,onClick:n.navigate,class:i.value},r)}}});function Zle(e){if(!(e.metaKey||e.altKey||e.ctrlKey||e.shiftKey)&&!e.defaultPrevented&&(e.button===void 0||e.button===0)){if(e.currentTarget&&e.currentTarget.getAttribute){let t=e.currentTarget.getAttribute(`target`);if(/\b_blank\b/i.test(t))return}return e.preventDefault&&e.preventDefault(),!0}}function Qle(e,t){for(let n in t){let r=t[n],i=e[n];if(B7(r)){if(!B7(i)||i.length!==r.length||r.some((e,t)=>e.valueOf()!==i[t].valueOf()))return!1}else if(r!==i)return!1}return!0}function k9(e){return e?e.aliasOf?e.aliasOf.path:e.path:``}var A9=(e,t,n)=>e??t??n,$le=U({name:`RouterView`,inheritAttrs:!1,props:{name:{type:String,default:`default`},route:Object},compatConfig:{MODE:3},setup(e,{attrs:t,slots:n}){let r=tr(J7),i=G(()=>e.route||r.value),a=tr(G7,0),o=G(()=>{let e=fn(a),{matched:t}=i.value,n;for(;(n=t[e])&&!n.components;)e++;return e}),s=G(()=>i.value.matched[o.value]);er(G7,G(()=>o.value+1)),er(Zce,s),er(J7,i);let c=new Set;er(Qce,c);let l=B(),u=l9,{app:d}=fo().appContext;return H(()=>[l.value,s.value,e.name],([e,t,n],[r,i,a])=>{t&&(t.instances[n]=e,i&&i!==t&&e&&e===r&&(t.leaveGuards.size||(t.leaveGuards=i.leaveGuards),t.updateGuards.size||(t.updateGuards=i.updateGuards))),e&&t&&(!i||!o9(t,i)||!r)&&(t.enterCallbacks[n]||[]).forEach(t=>t(e))},{flush:`post`}),()=>{let r=i.value,a=e.name,o=s.value,f=o&&o.components[a];if(!f)return j9(n.default,{Component:f,route:r});let p=o.props[a],m=p?p===!0?r.params:typeof p==`function`?p(r):p:null,h=e=>{e.component.isUnmounted&&(o.instances[a]=null)},g=e=>zn(()=>{if(u===r||i.value!==r||e.el.getRootNode()!==d._container.getRootNode())return;let t=u;u=r;for(let e of c)e(r,t)}),_=Oo(f,L7({},m,t,{onVnodeUnmounted:h,onVnodeMounted:g,onVnodeUpdated:g,ref:l}));return j9(n.default,{Component:_,route:r})||_}}});function j9(e,t){if(!e)return null;let n=e(t);return n.length===1?n[0]:n}var eue=$le;function tue(e){let t=e.matcher||Wle(e.routes,e),n=e.parseQuery||Ole,r=e.stringifyQuery||h9,i=e.history,a=g9(),o=g9(),s=g9(),c=V(l9),l=V(0),u=l9;Y7&&e.scrollBehavior&&`scrollRestoration`in history&&(history.scrollRestoration=`manual`);let d=R7.bind(null,e=>``+e),f=R7.bind(null,ple),p=R7.bind(null,r9);function m(e,n){let r,i;m9(e)?(r=t.getRecordMatcher(e),i=n):i=e;let a=t.addRoute(i,r);return l.value++,()=>{a(),l.value++}}function h(e){let n=t.getRecordMatcher(e);n&&(t.removeRoute(n),l.value++)}function g(){t.clearRoutes(),l.value++}function _(){return t.getRoutes().map(e=>e.record)}function v(e){return!!t.getRecordMatcher(e)}function y(e,a){if(l.value,typeof e==`string`){a||=e.startsWith(`/`)?l9:c.value;let r=i9(n,e,a.path),o=t.resolve({path:r.path},a),s=i.createHref(r.fullPath);return L7(r,o,{params:p(o.params),redirectedFrom:void 0,href:s})}a=L7({},a||(e.path!=null&&e.path.startsWith(`/`)&&!(`name`in e&&e.name)?l9:c.value));let o;if(e.path!=null)o=L7({},e,{path:i9(n,e.path,a.path).path});else{let t=L7({},e.params);for(let e in t)t[e]??delete t[e];o=L7({},e,{params:f(t)}),a.params=f(a.params)}let s=t.resolve(o,a),u=e.hash||``;s.params=d(p(s.params));let m=gle(r,L7({},e,{hash:ule(u),path:s.path})),h=i.createHref(m);return L7({fullPath:m,hash:u,query:r===h9?kle(e.query):e.query||{}},s,{redirectedFrom:void 0,href:h})}function b(e){return typeof e==`string`?i9(n,e,c.value.path):L7({},e)}function x(e,t){if(u!==e)return U7(8,{from:t,to:e})}function S(e){return T(e)}function C(e){return S(L7(b(e),{replace:!0}))}function w(e,t){let n=e.matched[e.matched.length-1];if(n&&n.redirect){let{redirect:r}=n,i=typeof r==`function`?r(e,t):r;return typeof i==`string`&&(i=i.includes(`?`)||i.includes(`#`)?i=b(i):{path:i},i.params={}),L7({query:e.query,hash:e.hash,params:i.path==null?e.params:{}},i)}}function T(e,t){let n=u=y(e),i=c.value,a=e.state,o=e.force,s=e.replace===!0,l=w(n,i);if(l)return T(L7(b(l),{state:typeof l==`object`?L7({},a,l.state):a,force:o,replace:s}),t||n);let d=n;d.redirectedFrom=t;let f;return!o&&_le(r,i,n)&&(f=U7(16,{to:d,from:i}),ee(i,i,!0,!1)),(f?Promise.resolve(f):O(d,i)).catch(e=>W7(e)?W7(e,2)?e:R(e):I(e,d,i)).then(e=>{if(e){if(W7(e,2))return T(L7({replace:s},b(e.to),{state:typeof e.to==`object`?L7({},a,e.to.state):a,force:o}),t||d)}else e=A(d,i,!0,s,a);return k(d,i,e),e})}function E(e,t){let n=x(e,t);return n?Promise.reject(n):Promise.resolve()}function D(e){let t=z.values().next().value;return t&&typeof t.runWithContext==`function`?t.runWithContext(e):e()}function O(e,t){let n,[r,i,s]=Ale(e,t);n=v9(r.reverse(),`beforeRouteLeave`,e,t);for(let i of r)i.leaveGuards.forEach(r=>{n.push(_9(r,e,t))});let c=E.bind(null,e,t);return n.push(c),ie(n).then(()=>{n=[];for(let r of a.list())n.push(_9(r,e,t));return n.push(c),ie(n)}).then(()=>{n=v9(i,`beforeRouteUpdate`,e,t);for(let r of i)r.updateGuards.forEach(r=>{n.push(_9(r,e,t))});return n.push(c),ie(n)}).then(()=>{n=[];for(let r of s)if(r.beforeEnter){if(B7(r.beforeEnter))for(let i of r.beforeEnter)n.push(_9(i,e,t));else n.push(_9(r.beforeEnter,e,t))}return n.push(c),ie(n)}).then(()=>(e.matched.forEach(e=>e.enterCallbacks={}),n=v9(s,`beforeRouteEnter`,e,t,D),n.push(c),ie(n))).then(()=>{n=[];for(let r of o.list())n.push(_9(r,e,t));return n.push(c),ie(n)}).catch(e=>W7(e,8)?e:Promise.reject(e))}function k(e,t,n){s.list().forEach(r=>D(()=>r(e,t,n)))}function A(e,t,n,r,a){let o=x(e,t);if(o)return o;let s=t===l9,l=Y7?history.state:{};n&&(r||s?i.replace(e.fullPath,L7({scroll:s&&l&&l.scroll},a)):i.push(e.fullPath,a)),c.value=e,ee(e,t,n,s),R()}let j;function M(){j||=i.listen((e,t,n)=>{if(!re.listening)return;let r=y(e),a=w(r,re.currentRoute.value);if(a){T(L7(a,{replace:!0,force:!0}),r).catch(z7);return}u=r;let o=c.value;Y7&&n.delta&&Tle(d9(o.fullPath,n.delta)),O(r,o).catch(e=>W7(e,12)?e:W7(e,2)?(T(L7(b(e.to),{force:!0}),r).then(e=>{W7(e,20)&&!n.delta&&n.type===`pop`&&i.go(-1,!1)}).catch(z7),Promise.reject()):(n.delta&&i.go(-n.delta,!1),I(e,r,o))).then(e=>{e||=A(r,o,!1),e&&(n.delta&&!W7(e,8)?i.go(-n.delta,!1):n.type===`pop`&&W7(e,20)&&i.go(-1,!1)),k(r,o,e)}).catch(z7)})}let N=g9(),P=g9(),F;function I(e,t,n){R(e);let r=P.list();return r.length?r.forEach(r=>r(e,t,n)):console.error(e),Promise.reject(e)}function L(){return F&&c.value!==l9?Promise.resolve():new Promise((e,t)=>{N.add([e,t])})}function R(e){return F||(F=!e,M(),N.list().forEach(([t,n])=>e?n(e):t()),N.reset()),e}function ee(t,n,r,i){let{scrollBehavior:a}=e;if(!Y7||!a)return Promise.resolve();let o=!r&&Ele(d9(t.fullPath,0))||(i||!r)&&history.state&&history.state.scroll||null;return zn().then(()=>a(t,n,o)).then(e=>t===c.value&&e&&wle(e)).catch(e=>t===c.value&&I(e,t,n))}let te=e=>i.go(e),ne,z=new Set,re={currentRoute:c,listening:!0,addRoute:m,removeRoute:h,clearRoutes:g,hasRoute:v,getRoutes:_,resolve:y,options:e,push:S,replace:C,go:te,back:()=>te(-1),forward:()=>te(1),beforeEach:a.add,beforeResolve:o.add,afterEach:s.add,onError:P.add,isReady:L,install(e){e.component(`RouterLink`,Xle),e.component(`RouterView`,eue),e.config.globalProperties.$router=re,Object.defineProperty(e.config.globalProperties,"$route",{enumerable:!0,get:()=>fn(c)}),Y7&&!ne&&c.value===l9&&(ne=!0,S(i.location).catch(e=>{}));let t={};for(let e in l9)Object.defineProperty(t,e,{get:()=>c.value[e],enumerable:!0});e.provide(K7,re),e.provide(q7,Xt(t)),e.provide(J7,c);let n=e.unmount;z.add(e),e.unmount=function(){z.delete(e),z.size<1&&(u=l9,j&&j(),j=null,c.value=l9,ne=!1,F=!1),n()}}};function ie(e){return e.reduce((e,t)=>e.then(()=>D(t)),Promise.resolve())}return re}var nue=/"(?:_|\\u0{2}5[Ff]){2}(?:p|\\u0{2}70)(?:r|\\u0{2}72)(?:o|\\u0{2}6[Ff])(?:t|\\u0{2}74)(?:o|\\u0{2}6[Ff])(?:_|\\u0{2}5[Ff]){2}"\s*:/,rue=/"(?:c|\\u0063)(?:o|\\u006[Ff])(?:n|\\u006[Ee])(?:s|\\u0073)(?:t|\\u0074)(?:r|\\u0072)(?:u|\\u0075)(?:c|\\u0063)(?:t|\\u0074)(?:o|\\u006[Ff])(?:r|\\u0072)"\s*:/,iue=/^\s*["[{]|^\s*-?\d{1,16}(\.\d{1,17})?([Ee][+-]?\d+)?\s*$/;function aue(e,t){if(e===`__proto__`||e===`constructor`&&t&&typeof t==`object`&&`prototype`in t)oue(e);else return t}function oue(e){console.warn(`[destr] Dropping "${e}" key to prevent prototype pollution.`)}function sue(e,t={}){if(typeof e!=`string`)return e;if(e[0]===`"`&&e[e.length-1]===`"`&&e.indexOf(`\\`)===-1)return e.slice(1,-1);let n=e.trim();if(n.length<=9)switch(n.toLowerCase()){case`true`:return!0;case`false`:return!1;case`undefined`:return;case`null`:return null;case`nan`:return NaN;case`infinity`:return 1/0;case`-infinity`:return-1/0}if(!iue.test(e)){if(t.strict)throw SyntaxError(`[destr] Invalid JSON`);return e}try{if(nue.test(e)||rue.test(e)){if(t.strict)throw Error(`[destr] Possible prototype pollution`);return JSON.parse(e,aue)}return JSON.parse(e)}catch(n){if(t.strict)throw n;return e}}String.fromCharCode;var cue=/#/g,lue=/&/g,uue=/\//g,due=/=/g,M9=/\+/g,fue=/%5e/gi,pue=/%60/gi,mue=/%7c/gi,hue=/%20/gi;function gue(e){return encodeURI(``+e).replace(mue,`|`)}function N9(e){return gue(typeof e==`string`?e:JSON.stringify(e)).replace(M9,`%2B`).replace(hue,`+`).replace(cue,`%23`).replace(lue,`%26`).replace(pue,"`").replace(fue,`^`).replace(uue,`%2F`)}function P9(e){return N9(e).replace(due,`%3D`)}function F9(e=``){try{return decodeURIComponent(``+e)}catch{return``+e}}function _ue(e){return F9(e.replace(M9,` `))}function vue(e){return F9(e.replace(M9,` `))}function yue(e=``){let t=Object.create(null);e[0]===`?`&&(e=e.slice(1));for(let n of e.split(`&`)){let e=n.match(/([^=]+)=?(.*)/)||[];if(e.length<2)continue;let r=_ue(e[1]);if(r===`__proto__`||r===`constructor`)continue;let i=vue(e[2]||``);t[r]===void 0?t[r]=i:Array.isArray(t[r])?t[r].push(i):t[r]=[t[r],i]}return t}function bue(e,t){return(typeof t==`number`||typeof t==`boolean`)&&(t=String(t)),t?Array.isArray(t)?t.map(t=>`${P9(e)}=${N9(t)}`).join(`&`):`${P9(e)}=${N9(t)}`:P9(e)}function xue(e){return Object.keys(e).filter(t=>e[t]!==void 0).map(t=>bue(t,e[t])).filter(Boolean).join(`&`)}var Sue=/^[\s\w\0+.-]{2,}:([/\\]{1,2})/,Cue=/^[\s\w\0+.-]{2,}:([/\\]{2})?/,wue=/^([/\\]\s*){2,}[^/\\]/,Tue=/\/$|\/\?|\/#/,Eue=/^\.?\//;function I9(e,t={}){return typeof t==`boolean`&&(t={acceptRelative:t}),t.strict?Sue.test(e):Cue.test(e)||(t.acceptRelative?wue.test(e):!1)}function L9(e=``,t){return t?Tue.test(e):e.endsWith(`/`)}function Due(e=``,t){if(!t)return(L9(e)?e.slice(0,-1):e)||`/`;if(!L9(e,!0))return e||`/`;let n=e,r=``,i=e.indexOf(`#`);i!==-1&&(n=e.slice(0,i),r=e.slice(i));let[a,...o]=n.split(`?`);return((a.endsWith(`/`)?a.slice(0,-1):a)||`/`)+(o.length>0?`?${o.join(`?`)}`:``)+r}function Oue(e=``,t){if(!t)return e.endsWith(`/`)?e:e+`/`;if(L9(e,!0))return e||`/`;let n=e,r=``,i=e.indexOf(`#`);if(i!==-1&&(n=e.slice(0,i),r=e.slice(i),!n))return r;let[a,...o]=n.split(`?`);return a+`/`+(o.length>0?`?${o.join(`?`)}`:``)+r}function kue(e,t){if(jue(t)||I9(e))return e;let n=Due(t);if(e.startsWith(n)){let t=e[n.length];if(!t||t===`/`||t===`?`)return e}return Nue(n,e)}function Aue(e,t){let n=z9(e);return n.search=xue({...yue(n.search),...t}),Pue(n)}function jue(e){return!e||e===`/`}function Mue(e){return e&&e!==`/`}function Nue(e,...t){let n=e||``;for(let e of t.filter(e=>Mue(e)))if(n){let t=e.replace(Eue,``);n=Oue(n)+t}else n=e;return n}var R9=Symbol.for(`ufo:protocolRelative`);function z9(e=``,t){let n=e.match(/^[\s\0]*(blob:|data:|javascript:|vbscript:)(.*)/i);if(n){let[,e,t=``]=n;return{protocol:e.toLowerCase(),pathname:t,href:e+t,auth:``,host:``,search:``,hash:``}}if(!I9(e,{acceptRelative:!0}))return t?z9(t+e):B9(e);let[,r=``,i,a=``]=e.replace(/\\/g,`/`).match(/^[\s\0]*([\w+.-]{2,}:)?\/\/([^/@]+@)?(.*)/)||[],[,o=``,s=``]=a.match(/([^#/?]*)(.*)?/)||[];r===`file:`&&(s=s.replace(/\/(?=[A-Za-z]:)/,``));let{pathname:c,search:l,hash:u}=B9(s);return{protocol:r.toLowerCase(),auth:i?i.slice(0,Math.max(0,i.length-1)):``,host:o,pathname:c,search:l,hash:u,[R9]:!r}}function B9(e=``){let[t=``,n=``,r=``]=(e.match(/([^#?]*)(\?[^#]*)?(#.*)?/)||[]).splice(1);return{pathname:t,search:n,hash:r}}function Pue(e){let t=e.pathname||``,n=e.search?(e.search.startsWith(`?`)?``:`?`)+e.search:``,r=e.hash||``,i=e.auth?e.auth+`@`:``,a=e.host||``;return(e.protocol||e[R9]?(e.protocol||``)+`//`:``)+i+a+t+n+r}var V9=class extends Error{constructor(e,t){super(e,t),this.name=`FetchError`,t?.cause&&!this.cause&&(this.cause=t.cause)}};function Fue(e){let t=e.error?.message||e.error?.toString()||``,n=e.request?.method||e.options?.method||`GET`,r=e.request?.url||String(e.request)||`/`,i=new V9(`${`[${n}] ${JSON.stringify(r)}`}: ${e.response?`${e.response.status} ${e.response.statusText}`:``}${t?` ${t}`:``}`,e.error?{cause:e.error}:void 0);for(let t of[`request`,`options`,`response`])Object.defineProperty(i,t,{get(){return e[t]}});for(let[t,n]of[[`data`,`_data`],[`status`,`status`],[`statusCode`,`status`],[`statusText`,`statusText`],[`statusMessage`,`statusText`]])Object.defineProperty(i,t,{get(){return e.response&&e.response[n]}});return i}var Iue=new Set(Object.freeze([`PATCH`,`POST`,`PUT`,`DELETE`]));function H9(e=`GET`){return Iue.has(e.toUpperCase())}function Lue(e){if(e===void 0)return!1;let t=typeof e;return t===`string`||t===`number`||t===`boolean`||t===null?!0:t===`object`?Array.isArray(e)?!0:e.buffer||e instanceof FormData||e instanceof URLSearchParams?!1:e.constructor&&e.constructor.name===`Object`||typeof e.toJSON==`function`:!1}var Rue=new Set([`image/svg`,`application/xml`,`application/xhtml`,`application/html`]),zue=/^application\/(?:[\w!#$%&*.^`~-]*\+)?json(;.+)?$/i;function Bue(e=``){if(!e)return`json`;let t=e.split(`;`).shift()||``;return zue.test(t)?`json`:t===`text/event-stream`?`stream`:Rue.has(t)||t.startsWith(`text/`)?`text`:`blob`}function Vue(e,t,n,r){let i=Hue(t?.headers??e?.headers,n?.headers,r),a;return(n?.query||n?.params||t?.params||t?.query)&&(a={...n?.params,...n?.query,...t?.params,...t?.query}),{...n,...t,query:a,params:a,headers:i}}function Hue(e,t,n){if(!t)return new n(e);let r=new n(t);if(e)for(let[t,i]of Symbol.iterator in e||Array.isArray(e)?e:new n(e))r.set(t,i);return r}async function U9(e,t){if(t){if(Array.isArray(t))for(let n of t)await n(e);else await t(e)}}var Uue=new Set([408,409,425,429,500,502,503,504]),Wue=new Set([101,204,205,304]);function W9(e={}){let{fetch:t=globalThis.fetch,Headers:n=globalThis.Headers,AbortController:r=globalThis.AbortController}=e;async function i(e){let t=e.error&&e.error.name===`AbortError`&&!e.options.timeout||!1;if(e.options.retry!==!1&&!t){let t;t=typeof e.options.retry==`number`?e.options.retry:+!H9(e.options.method);let n=e.response&&e.response.status||500;if(t>0&&(Array.isArray(e.options.retryStatusCodes)?e.options.retryStatusCodes.includes(n):Uue.has(n))){let n=typeof e.options.retryDelay==`function`?e.options.retryDelay(e):e.options.retryDelay||0;return n>0&&await new Promise(e=>setTimeout(e,n)),a(e.request,{...e.options,retry:t-1})}}let n=Fue(e);throw Error.captureStackTrace&&Error.captureStackTrace(n,a),n}let a=async function(a,o={}){let s={request:a,options:Vue(a,o,e.defaults,n),response:void 0,error:void 0};if(s.options.method&&(s.options.method=s.options.method.toUpperCase()),s.options.onRequest&&(await U9(s,s.options.onRequest),s.options.headers instanceof n||(s.options.headers=new n(s.options.headers||{}))),typeof s.request==`string`&&(s.options.baseURL&&(s.request=kue(s.request,s.options.baseURL)),s.options.query&&(s.request=Aue(s.request,s.options.query),delete s.options.query),`query`in s.options&&delete s.options.query,`params`in s.options&&delete s.options.params),s.options.body&&H9(s.options.method)){if(Lue(s.options.body)){let e=s.options.headers.get(`content-type`);typeof s.options.body!=`string`&&(s.options.body=e===`application/x-www-form-urlencoded`?new URLSearchParams(s.options.body).toString():JSON.stringify(s.options.body)),e||s.options.headers.set(`content-type`,`application/json`),s.options.headers.has(`accept`)||s.options.headers.set(`accept`,`application/json`)}else(`pipeTo`in s.options.body&&typeof s.options.body.pipeTo==`function`||typeof s.options.body.pipe==`function`)&&(`duplex`in s.options||(s.options.duplex=`half`))}let c;if(!s.options.signal&&s.options.timeout){let e=new r;c=setTimeout(()=>{let t=Error(`[TimeoutError]: The operation was aborted due to timeout`);t.name=`TimeoutError`,t.code=23,e.abort(t)},s.options.timeout),s.options.signal=e.signal}try{s.response=await t(s.request,s.options)}catch(e){return s.error=e,s.options.onRequestError&&await U9(s,s.options.onRequestError),await i(s)}finally{c&&clearTimeout(c)}if((s.response.body||s.response._bodyInit)&&!Wue.has(s.response.status)&&s.options.method!==`HEAD`){let e=(s.options.parseResponse?`json`:s.options.responseType)||Bue(s.response.headers.get(`content-type`)||``);switch(e){case`json`:{let e=await s.response.text(),t=s.options.parseResponse||sue;s.response._data=t(e);break}case`stream`:s.response._data=s.response.body||s.response._bodyInit;break;default:s.response._data=await s.response[e]()}}return s.options.onResponse&&await U9(s,s.options.onResponse),!s.options.ignoreResponseError&&s.response.status>=400&&s.response.status<600?(s.options.onResponseError&&await U9(s,s.options.onResponseError),await i(s)):s.response},o=async function(e,t){return(await a(e,t))._data};return o.raw=a,o.native=(...e)=>t(...e),o.create=(t={},n={})=>W9({...e,...n,defaults:{...e.defaults,...n.defaults,...t}}),o}var G9=(function(){if(typeof globalThis<`u`)return globalThis;if(typeof self<`u`)return self;if(typeof window<`u`)return window;if(typeof global<`u`)return global;throw Error(`unable to locate global object`)})(),Gue=G9.fetch?(...e)=>G9.fetch(...e):()=>Promise.reject(Error(`[ofetch] global.fetch is not supported!`)),Kue=G9.Headers,que=G9.AbortController,K9=W9({fetch:Gue,Headers:Kue,AbortController:que}).create({baseURL:`/api`,credentials:`include`}),q9=null,Jue=e=>{q9=e};async function J9(e,t={},n=!1){let r=q9?.token();try{return await K9(e,{...t,headers:{...t.headers,...r&&{Authorization:`Bearer ${r}`}}})}catch(r){if(r instanceof V9&&r.status===401&&!n&&q9){if(await q9.refresh())return J9(e,t,!0);q9.onExpired()}throw r}}var Y9=e=>e instanceof V9?e.data??{}:{};function Yue(e){if(e instanceof V9){if(!e.status)return`ارتباط با سرور برقرار نشد`;let t=Y9(e).message;return Array.isArray(t)?t.join(`، `):t||(e.status===413?`حجم فایل بیش از حد مجاز است`:e.status===429?`تعداد درخواستها زیاد است؛ کمی بعد تلاش کنید`:`خطای سرور (${e.status})`)}return`خطای ناشناخته`}var X9=null,Z9=qse(`auth`,{state:()=>({token:``,user:null,ready:!1}),getters:{isAdmin:e=>e.user?.role===`ADMIN`},actions:{setSession(e){this.token=e.accessToken,this.user=e.user},clear(){this.token=``,this.user=null},async login(e){this.setSession(await K9(`/admin/auth/login`,{method:`POST`,body:e}))},refresh(){return X9??=K9(`/admin/auth/refresh`,{method:`POST`}).then(e=>(this.setSession(e),!0)).catch(()=>(this.clear(),!1)).finally(()=>{X9=null}),X9},async init(){this.ready||=(Jue({token:()=>this.token,refresh:()=>this.refresh(),onExpired:()=>{this.clear(),$9.push({name:`login`,query:{redirect:$9.currentRoute.value.fullPath}})}}),await this.refresh(),!0)},async logout(){await K9(`/admin/auth/logout`,{method:`POST`}).catch(()=>void 0),this.clear(),await $9.push({name:`login`})}}}),Xue=`modulepreload`,Zue=function(e){return`/`+e},Que={},$ue=function(e){return e.pathname.endsWith(`.css`)},ede=function(e,t,n){if(t in e)return e[t];let r=n();if(!r){e[t]=void 0;return}let i=r.then(()=>{e[t]=void 0},n=>{throw e[t]=void 0,n});return e[t]=i,i},Q9=function(e,t,n){let r=Promise.resolve();if(t&&t.length>0){let e,i=document.querySelector(`meta[property=csp-nonce]`),a=i?.nonce||i?.getAttribute(`nonce`);function o(e){return Promise.all(e.map(e=>Promise.resolve(e).then(e=>({status:`fulfilled`,value:e}),e=>({status:`rejected`,reason:e}))))}function s(e){return import.meta.resolve?new URL(import.meta.resolve(e)):new URL(e,import.meta.url)}r=o(t.map(t=>{t=Zue(t,n);let r=s(t),i=$ue(r);return ede(Que,r.href,()=>{if(e===void 0){e={all:new Set,styles:new Set};let t=document.getElementsByTagName(`link`);for(let n=t.length-1;n>=0;n--){let r=t[n];e.all.add(r.href),r.rel===`stylesheet`&&e.styles.add(r.href)}}if((i?e.styles:e.all).has(r.href))return;let t=document.createElement(`link`);if(t.rel=i?`stylesheet`:Xue,i||(t.as=`script`),t.crossOrigin=``,t.href=r.href,a&&t.setAttribute(`nonce`,a),document.head.appendChild(t),i)return new Promise((e,n)=>{t.addEventListener(`load`,e),t.addEventListener(`error`,()=>n(Error(`Unable to preload CSS for ${r}`)))})})}).filter(e=>e!==void 0))}function i(e){let t=new Event(`vite:preloadError`,{cancelable:!0});if(t.payload=e,window.dispatchEvent(t),!t.defaultPrevented)throw e}return r.then(t=>{for(let e of t||[])e.status===`rejected`&&i(e.reason);return e().catch(i)})},$9=tue({history:Ple(),routes:[{path:`/login`,name:`login`,component:()=>Q9(()=>import(`./LoginPage-D6HPXv4g.js`),__vite__mapDeps([0,1,2,3,4,5])),meta:{public:!0,title:`ورود`}},{path:`/`,component:()=>Q9(()=>import(`./AdminLayout-j5VE2EZ9.js`),__vite__mapDeps([6,1,2,3,7,8])),children:[{path:``,name:`dashboard`,component:()=>Q9(()=>import(`./DashboardPage-Do-v_tLH.js`),__vite__mapDeps([9,1,2,7,10,11])),meta:{title:`داشبورد`}},{path:`products`,name:`products`,component:()=>Q9(()=>import(`./ProductsPage-CVHBMUNz.js`),__vite__mapDeps([12,1,2,13])),meta:{title:`محصولات`}},{path:`products/new`,name:`product-new`,component:()=>Q9(()=>import(`./ProductEditPage-DTSEsrWG.js`),__vite__mapDeps([14,1,2,7,10,11,4,15,16])),meta:{title:`محصول جدید`}},{path:`products/:id`,name:`product-edit`,component:()=>Q9(()=>import(`./ProductEditPage-DTSEsrWG.js`),__vite__mapDeps([14,1,2,7,10,11,4,15,16])),meta:{title:`ویرایش محصول`}},{path:`categories`,name:`categories`,component:()=>Q9(()=>import(`./CategoriesPage-DSZGpYF5.js`),__vite__mapDeps([17,1,2,7,10,11])),meta:{title:`دستهبندیها`}},{path:`categories/new`,name:`category-new`,component:()=>Q9(()=>import(`./CategoryEditPage-B4VYwreC.js`),__vite__mapDeps([18,1,2,10,11,4,19,15,16])),meta:{title:`دسته جدید`}},{path:`categories/:id`,name:`category-edit`,component:()=>Q9(()=>import(`./CategoryEditPage-B4VYwreC.js`),__vite__mapDeps([18,1,2,10,11,4,19,15,16])),meta:{title:`ویرایش دسته`}},{path:`sections`,name:`sections`,component:()=>Q9(()=>import(`./SectionsPage-Da2RoCd0.js`),__vite__mapDeps([20,1,2,7,10,11])),meta:{title:`بخشهای سایت`}},{path:`sections/:key`,name:`section-edit`,component:()=>Q9(()=>import(`./SectionEditPage-BfSd3Uov.js`),__vite__mapDeps([21,1,2,7,10,11,4,19,15])),meta:{title:`ویرایش بخش`}},{path:`messages`,name:`messages`,component:()=>Q9(()=>import(`./MessagesPage-Bb_X9ABq.js`),__vite__mapDeps([22,1,2,7,10,11])),meta:{title:`پیامهای تماس`}},{path:`media`,name:`media`,component:()=>Q9(()=>import(`./MediaPage-DnfskIVE.js`),__vite__mapDeps([23,1,2,7,10,11])),meta:{title:`کتابخانه رسانه`}},{path:`users`,name:`users`,component:()=>Q9(()=>import(`./UsersPage-C15bNN1T.js`),__vite__mapDeps([24,1,2,7,10,11,4])),meta:{title:`کاربران`,roles:[`ADMIN`]}},{path:`profile`,name:`profile`,component:()=>Q9(()=>import(`./ProfilePage-DxhVPJ4c.js`),__vite__mapDeps([25,1,2,10,11,4])),meta:{title:`حساب کاربری`}}]},{path:`/:pathMatch(.*)*`,redirect:`/`}]});$9.beforeEach(async e=>{let t=Z9();return await t.init(),e.meta.public?t.user&&e.name===`login`?{name:`dashboard`}:!0:t.user?e.meta.roles&&!e.meta.roles.includes(t.user.role)?{name:`dashboard`}:!0:{name:`login`,query:{redirect:e.fullPath}}}),$9.afterEach(e=>{document.title=e.meta.title?`${e.meta.title} | پنل ایمن پیشگامان`:`پنل ایمن پیشگامان`}),j7(Wce()),rc(Yce).use(Vse()).use($9).use(Nse).mount(`#app`);export{u7 as $,wce as A,fi as At,Yse as B,je as Bt,Rce as C,$r as Ct,sce as D,gi as Dt,tce as E,er as Et,Ice as F,Yt as Ft,pce as G,h7 as H,g7 as I,B as It,C7 as J,lce as K,_7 as L,fn as Lt,Jse as M,H as Mt,Dce as N,Zn as Nt,bce as O,aee as Ot,Ace as P,cn as Pt,oce as Q,Oce as R,Se as Rt,Ece as S,ni as St,jce as T,Ra as Tt,cce as U,gce as V,Zse as W,fce as X,_ce as Y,xce as Z,Cce as _,U as _t,ele as a,y7 as at,Qse as b,lee as bt,Hce as c,Ma as ct,A7 as d,Ua as dt,vce as et,dce as f,eo as ft,l7 as g,W as gt,ice as h,Qa as ht,Yue as i,nce as it,$se as j,Vi as jt,mce as k,ui as kt,Bce as l,G as lt,yce as m,$a as mt,J9 as n,ace as nt,$ce as o,_W as ot,uce as p,uee as pt,w7 as q,Y9 as r,Sce as rt,Vce as s,$s as st,Z9 as t,hce as tt,j7 as u,Ja as ut,c7 as v,Oo as vt,Fce as w,ri as wt,v7 as x,zn as xt,rce as y,tr as yt,s7 as z,_e as zt};
\ No newline at end of file
diff --git a/apps/admin/dist/index.html b/apps/admin/dist/index.html
index 903a7a0..ca24b91 100644
--- a/apps/admin/dist/index.html
+++ b/apps/admin/dist/index.html
@@ -6,7 +6,7 @@
پنل مدیریت ایمن پیشگامان
-
+
diff --git a/apps/api/.output/dist/chunks/chunk-6UPY3HEI.js b/apps/api/.output/dist/chunks/chunk-6UPY3HEI.js
new file mode 100644
index 0000000..b95cda9
--- /dev/null
+++ b/apps/api/.output/dist/chunks/chunk-6UPY3HEI.js
@@ -0,0 +1,9040 @@
+import { createRequire as __bundleCreateRequire } from "node:module"; const require = __bundleCreateRequire(import.meta.url);
+import {
+ __commonJS,
+ __esm,
+ __export,
+ __name,
+ __toESM
+} from "./chunk-T6GW54FI.js";
+
+// ../../node_modules/.pnpm/@smithy+core@3.36.1/node_modules/@smithy/core/dist-es/submodules/checksum/chunked-blob-reader/chunked-blob-reader.js
+async function blobReader(blob, onChunk, chunkSize = 1024 * 1024) {
+ const size = blob.size;
+ let totalBytesRead = 0;
+ while (totalBytesRead < size) {
+ const slice = blob.slice(totalBytesRead, Math.min(size, totalBytesRead + chunkSize));
+ onChunk(new Uint8Array(await slice.arrayBuffer()));
+ totalBytesRead += slice.size;
+ }
+}
+var init_chunked_blob_reader = __esm({
+ "../../node_modules/.pnpm/@smithy+core@3.36.1/node_modules/@smithy/core/dist-es/submodules/checksum/chunked-blob-reader/chunked-blob-reader.js"() {
+ __name(blobReader, "blobReader");
+ }
+});
+
+// ../../node_modules/.pnpm/@smithy+core@3.36.1/node_modules/@smithy/core/dist-es/submodules/checksum/hash-blob-browser/blobHasher.js
+var blobHasher;
+var init_blobHasher = __esm({
+ "../../node_modules/.pnpm/@smithy+core@3.36.1/node_modules/@smithy/core/dist-es/submodules/checksum/hash-blob-browser/blobHasher.js"() {
+ init_chunked_blob_reader();
+ blobHasher = /* @__PURE__ */ __name(async function blobHasher2(hashCtor, blob) {
+ const hash = new hashCtor();
+ await blobReader(blob, (chunk) => {
+ hash.update(chunk);
+ });
+ return hash.digest();
+ }, "blobHasher");
+ }
+});
+
+// ../../node_modules/.pnpm/@smithy+core@3.36.1/node_modules/@smithy/core/dist-es/submodules/serde/is-array-buffer/is-array-buffer.js
+var isArrayBuffer;
+var init_is_array_buffer = __esm({
+ "../../node_modules/.pnpm/@smithy+core@3.36.1/node_modules/@smithy/core/dist-es/submodules/serde/is-array-buffer/is-array-buffer.js"() {
+ isArrayBuffer = /* @__PURE__ */ __name((arg) => typeof ArrayBuffer === "function" && arg instanceof ArrayBuffer || Object.prototype.toString.call(arg) === "[object ArrayBuffer]", "isArrayBuffer");
+ }
+});
+
+// ../../node_modules/.pnpm/@smithy+core@3.36.1/node_modules/@smithy/core/dist-es/submodules/serde/util-buffer-from/buffer-from.js
+var fromArrayBuffer, fromString;
+var init_buffer_from = __esm({
+ "../../node_modules/.pnpm/@smithy+core@3.36.1/node_modules/@smithy/core/dist-es/submodules/serde/util-buffer-from/buffer-from.js"() {
+ init_is_array_buffer();
+ fromArrayBuffer = /* @__PURE__ */ __name((input, offset = 0, length = input.byteLength - offset) => {
+ if (!isArrayBuffer(input)) {
+ throw new TypeError(`The "input" argument must be ArrayBuffer. Received type ${typeof input} (${input})`);
+ }
+ return Buffer.from(input, offset, length);
+ }, "fromArrayBuffer");
+ fromString = /* @__PURE__ */ __name((input, encoding) => {
+ if (typeof input !== "string") {
+ throw new TypeError(`The "input" argument must be of type string. Received type ${typeof input} (${input})`);
+ }
+ return encoding ? Buffer.from(input, encoding) : Buffer.from(input);
+ }, "fromString");
+ }
+});
+
+// ../../node_modules/.pnpm/@smithy+core@3.36.1/node_modules/@smithy/core/dist-es/submodules/serde/util-base64/fromBase64.js
+var BASE64_REGEX, fromBase64;
+var init_fromBase64 = __esm({
+ "../../node_modules/.pnpm/@smithy+core@3.36.1/node_modules/@smithy/core/dist-es/submodules/serde/util-base64/fromBase64.js"() {
+ init_buffer_from();
+ BASE64_REGEX = /^[A-Za-z0-9+/]*={0,2}$/;
+ fromBase64 = /* @__PURE__ */ __name((input) => {
+ if (input.length * 3 % 4 !== 0) {
+ throw new TypeError(`Incorrect padding on base64 string.`);
+ }
+ if (!BASE64_REGEX.exec(input)) {
+ throw new TypeError(`Invalid base64 string.`);
+ }
+ const buffer = fromString(input, "base64");
+ return new Uint8Array(buffer.buffer, buffer.byteOffset, buffer.byteLength);
+ }, "fromBase64");
+ }
+});
+
+// ../../node_modules/.pnpm/@smithy+core@3.36.1/node_modules/@smithy/core/dist-es/submodules/serde/util-utf8/fromUtf8.js
+var fromUtf8;
+var init_fromUtf8 = __esm({
+ "../../node_modules/.pnpm/@smithy+core@3.36.1/node_modules/@smithy/core/dist-es/submodules/serde/util-utf8/fromUtf8.js"() {
+ init_buffer_from();
+ fromUtf8 = /* @__PURE__ */ __name((input) => {
+ const buf = fromString(input, "utf8");
+ return new Uint8Array(buf.buffer, buf.byteOffset, buf.byteLength / Uint8Array.BYTES_PER_ELEMENT);
+ }, "fromUtf8");
+ }
+});
+
+// ../../node_modules/.pnpm/@smithy+core@3.36.1/node_modules/@smithy/core/dist-es/submodules/serde/util-base64/toBase64.js
+var toBase64;
+var init_toBase64 = __esm({
+ "../../node_modules/.pnpm/@smithy+core@3.36.1/node_modules/@smithy/core/dist-es/submodules/serde/util-base64/toBase64.js"() {
+ init_buffer_from();
+ init_fromUtf8();
+ toBase64 = /* @__PURE__ */ __name((_input) => {
+ let input;
+ if (typeof _input === "string") {
+ input = fromUtf8(_input);
+ } else {
+ input = _input;
+ }
+ if (typeof input !== "object" || typeof input.byteOffset !== "number" || typeof input.byteLength !== "number") {
+ throw new Error("@smithy/util-base64: toBase64 encoder function only accepts string | Uint8Array.");
+ }
+ return fromArrayBuffer(input.buffer, input.byteOffset, input.byteLength).toString("base64");
+ }, "toBase64");
+ }
+});
+
+// ../../node_modules/.pnpm/@smithy+core@3.36.1/node_modules/@smithy/core/dist-es/submodules/serde/util-stream/blob/Uint8ArrayBlobAdapter.js
+function bindUint8ArrayBlobAdapter(toUtf83, fromUtf83, toBase643, fromBase642) {
+ return class Uint8ArrayBlobAdapter2 extends Uint8Array {
+ static {
+ __name(this, "Uint8ArrayBlobAdapter");
+ }
+ static fromString(source, encoding = "utf-8") {
+ if (typeof source === "string") {
+ if (encoding === "base64") {
+ return Uint8ArrayBlobAdapter2.mutate(fromBase642(source));
+ }
+ return Uint8ArrayBlobAdapter2.mutate(fromUtf83(source));
+ }
+ throw new Error(`Unsupported conversion from ${typeof source} to Uint8ArrayBlobAdapter.`);
+ }
+ static mutate(source) {
+ Object.setPrototypeOf(source, Uint8ArrayBlobAdapter2.prototype);
+ return source;
+ }
+ transformToString(encoding = "utf-8") {
+ if (encoding === "base64") {
+ return toBase643(this);
+ }
+ return toUtf83(this);
+ }
+ };
+}
+var init_Uint8ArrayBlobAdapter = __esm({
+ "../../node_modules/.pnpm/@smithy+core@3.36.1/node_modules/@smithy/core/dist-es/submodules/serde/util-stream/blob/Uint8ArrayBlobAdapter.js"() {
+ __name(bindUint8ArrayBlobAdapter, "bindUint8ArrayBlobAdapter");
+ }
+});
+
+// ../../node_modules/.pnpm/@smithy+core@3.36.1/node_modules/@smithy/core/dist-es/submodules/serde/util-utf8/toUtf8.js
+var toUtf8;
+var init_toUtf8 = __esm({
+ "../../node_modules/.pnpm/@smithy+core@3.36.1/node_modules/@smithy/core/dist-es/submodules/serde/util-utf8/toUtf8.js"() {
+ init_buffer_from();
+ toUtf8 = /* @__PURE__ */ __name((input) => {
+ if (typeof input === "string") {
+ return input;
+ }
+ if (typeof input !== "object" || typeof input.byteOffset !== "number" || typeof input.byteLength !== "number") {
+ throw new Error("@smithy/util-utf8: toUtf8 encoder function only accepts string | Uint8Array.");
+ }
+ return fromArrayBuffer(input.buffer, input.byteOffset, input.byteLength).toString("utf8");
+ }, "toUtf8");
+ }
+});
+
+// ../../node_modules/.pnpm/@smithy+core@3.36.1/node_modules/@smithy/core/dist-es/submodules/serde/uuid/v4.js
+function bindV4(getRandomValues2) {
+ if (typeof crypto !== "undefined" && typeof crypto.randomUUID === "function") {
+ return () => crypto.randomUUID();
+ }
+ return () => {
+ const rnds = new Uint8Array(16);
+ getRandomValues2(rnds);
+ rnds[6] = rnds[6] & 15 | 64;
+ rnds[8] = rnds[8] & 63 | 128;
+ return decimalToHex[rnds[0]] + decimalToHex[rnds[1]] + decimalToHex[rnds[2]] + decimalToHex[rnds[3]] + "-" + decimalToHex[rnds[4]] + decimalToHex[rnds[5]] + "-" + decimalToHex[rnds[6]] + decimalToHex[rnds[7]] + "-" + decimalToHex[rnds[8]] + decimalToHex[rnds[9]] + "-" + decimalToHex[rnds[10]] + decimalToHex[rnds[11]] + decimalToHex[rnds[12]] + decimalToHex[rnds[13]] + decimalToHex[rnds[14]] + decimalToHex[rnds[15]];
+ };
+}
+var decimalToHex;
+var init_v4 = __esm({
+ "../../node_modules/.pnpm/@smithy+core@3.36.1/node_modules/@smithy/core/dist-es/submodules/serde/uuid/v4.js"() {
+ decimalToHex = Array.from({ length: 256 }, (_, i) => i.toString(16).padStart(2, "0"));
+ __name(bindV4, "bindV4");
+ }
+});
+
+// ../../node_modules/.pnpm/@smithy+core@3.36.1/node_modules/@smithy/core/dist-es/submodules/serde/copyDocumentWithTransform.js
+var copyDocumentWithTransform;
+var init_copyDocumentWithTransform = __esm({
+ "../../node_modules/.pnpm/@smithy+core@3.36.1/node_modules/@smithy/core/dist-es/submodules/serde/copyDocumentWithTransform.js"() {
+ copyDocumentWithTransform = /* @__PURE__ */ __name((source, _schemaRef, _transform = (_) => _) => source, "copyDocumentWithTransform");
+ }
+});
+
+// ../../node_modules/.pnpm/@smithy+types@4.19.0/node_modules/@smithy/types/dist-cjs/index.js
+var require_dist_cjs = __commonJS({
+ "../../node_modules/.pnpm/@smithy+types@4.19.0/node_modules/@smithy/types/dist-cjs/index.js"(exports) {
+ var HttpAuthLocation;
+ (function(HttpAuthLocation2) {
+ HttpAuthLocation2["HEADER"] = "header";
+ HttpAuthLocation2["QUERY"] = "query";
+ })(HttpAuthLocation || (HttpAuthLocation = {}));
+ var HttpApiKeyAuthLocation;
+ (function(HttpApiKeyAuthLocation2) {
+ HttpApiKeyAuthLocation2["HEADER"] = "header";
+ HttpApiKeyAuthLocation2["QUERY"] = "query";
+ })(HttpApiKeyAuthLocation || (HttpApiKeyAuthLocation = {}));
+ var EndpointURLScheme2;
+ (function(EndpointURLScheme3) {
+ EndpointURLScheme3["HTTP"] = "http";
+ EndpointURLScheme3["HTTPS"] = "https";
+ })(EndpointURLScheme2 || (EndpointURLScheme2 = {}));
+ var AlgorithmId2;
+ (function(AlgorithmId3) {
+ AlgorithmId3["MD5"] = "md5";
+ AlgorithmId3["CRC32"] = "crc32";
+ AlgorithmId3["CRC32C"] = "crc32c";
+ AlgorithmId3["SHA1"] = "sha1";
+ AlgorithmId3["SHA256"] = "sha256";
+ })(AlgorithmId2 || (AlgorithmId2 = {}));
+ var getChecksumConfiguration2 = /* @__PURE__ */ __name((runtimeConfig) => {
+ const checksumAlgorithms = [];
+ if (runtimeConfig.sha256 !== void 0) {
+ checksumAlgorithms.push({
+ algorithmId: /* @__PURE__ */ __name(() => AlgorithmId2.SHA256, "algorithmId"),
+ checksumConstructor: /* @__PURE__ */ __name(() => runtimeConfig.sha256, "checksumConstructor")
+ });
+ }
+ if (runtimeConfig.md5 != void 0) {
+ checksumAlgorithms.push({
+ algorithmId: /* @__PURE__ */ __name(() => AlgorithmId2.MD5, "algorithmId"),
+ checksumConstructor: /* @__PURE__ */ __name(() => runtimeConfig.md5, "checksumConstructor")
+ });
+ }
+ return {
+ addChecksumAlgorithm(algo) {
+ checksumAlgorithms.push(algo);
+ },
+ checksumAlgorithms() {
+ return checksumAlgorithms;
+ }
+ };
+ }, "getChecksumConfiguration");
+ var resolveChecksumRuntimeConfig2 = /* @__PURE__ */ __name((clientConfig) => {
+ const runtimeConfig = {};
+ clientConfig.checksumAlgorithms().forEach((checksumAlgorithm) => {
+ runtimeConfig[checksumAlgorithm.algorithmId()] = checksumAlgorithm.checksumConstructor();
+ });
+ return runtimeConfig;
+ }, "resolveChecksumRuntimeConfig");
+ var getDefaultClientConfiguration2 = /* @__PURE__ */ __name((runtimeConfig) => {
+ return getChecksumConfiguration2(runtimeConfig);
+ }, "getDefaultClientConfiguration");
+ var resolveDefaultRuntimeConfig2 = /* @__PURE__ */ __name((config) => {
+ return resolveChecksumRuntimeConfig2(config);
+ }, "resolveDefaultRuntimeConfig");
+ var FieldPosition;
+ (function(FieldPosition2) {
+ FieldPosition2[FieldPosition2["HEADER"] = 0] = "HEADER";
+ FieldPosition2[FieldPosition2["TRAILER"] = 1] = "TRAILER";
+ })(FieldPosition || (FieldPosition = {}));
+ var SMITHY_CONTEXT_KEY3 = "__smithy_context";
+ var IniSectionType4;
+ (function(IniSectionType5) {
+ IniSectionType5["PROFILE"] = "profile";
+ IniSectionType5["SSO_SESSION"] = "sso-session";
+ IniSectionType5["SERVICES"] = "services";
+ })(IniSectionType4 || (IniSectionType4 = {}));
+ var RequestHandlerProtocol;
+ (function(RequestHandlerProtocol2) {
+ RequestHandlerProtocol2["HTTP_0_9"] = "http/0.9";
+ RequestHandlerProtocol2["HTTP_1_0"] = "http/1.0";
+ RequestHandlerProtocol2["TDS_8_0"] = "tds/8.0";
+ })(RequestHandlerProtocol || (RequestHandlerProtocol = {}));
+ exports.AlgorithmId = AlgorithmId2;
+ exports.EndpointURLScheme = EndpointURLScheme2;
+ exports.FieldPosition = FieldPosition;
+ exports.HttpApiKeyAuthLocation = HttpApiKeyAuthLocation;
+ exports.HttpAuthLocation = HttpAuthLocation;
+ exports.IniSectionType = IniSectionType4;
+ exports.RequestHandlerProtocol = RequestHandlerProtocol;
+ exports.SMITHY_CONTEXT_KEY = SMITHY_CONTEXT_KEY3;
+ exports.getDefaultClientConfiguration = getDefaultClientConfiguration2;
+ exports.resolveDefaultRuntimeConfig = resolveDefaultRuntimeConfig2;
+ }
+});
+
+// ../../node_modules/.pnpm/@smithy+core@3.36.1/node_modules/@smithy/core/dist-es/submodules/transport/getSmithyContext.js
+var import_types, getSmithyContext;
+var init_getSmithyContext = __esm({
+ "../../node_modules/.pnpm/@smithy+core@3.36.1/node_modules/@smithy/core/dist-es/submodules/transport/getSmithyContext.js"() {
+ import_types = __toESM(require_dist_cjs());
+ getSmithyContext = /* @__PURE__ */ __name((context) => context[import_types.SMITHY_CONTEXT_KEY] || (context[import_types.SMITHY_CONTEXT_KEY] = {}), "getSmithyContext");
+ }
+});
+
+// ../../node_modules/.pnpm/@smithy+core@3.36.1/node_modules/@smithy/core/dist-es/submodules/transport/hasOwn.js
+function hasOwn(o, k) {
+ return Object.prototype.hasOwnProperty.call(o, k);
+}
+var init_hasOwn = __esm({
+ "../../node_modules/.pnpm/@smithy+core@3.36.1/node_modules/@smithy/core/dist-es/submodules/transport/hasOwn.js"() {
+ __name(hasOwn, "hasOwn");
+ }
+});
+
+// ../../node_modules/.pnpm/@smithy+core@3.36.1/node_modules/@smithy/core/dist-es/submodules/transport/httpRequest.js
+function cloneQuery(query) {
+ return Object.keys(query).reduce((carry, paramName) => {
+ const param = query[paramName];
+ return {
+ ...carry,
+ [paramName]: Array.isArray(param) ? [...param] : param
+ };
+ }, {});
+}
+var HttpRequest;
+var init_httpRequest = __esm({
+ "../../node_modules/.pnpm/@smithy+core@3.36.1/node_modules/@smithy/core/dist-es/submodules/transport/httpRequest.js"() {
+ HttpRequest = class _HttpRequest {
+ static {
+ __name(this, "HttpRequest");
+ }
+ method;
+ protocol;
+ hostname;
+ port;
+ path;
+ query;
+ headers;
+ username;
+ password;
+ fragment;
+ body;
+ constructor(options) {
+ this.method = options.method || "GET";
+ this.hostname = options.hostname || "localhost";
+ this.port = options.port;
+ this.query = options.query || {};
+ this.headers = options.headers || {};
+ this.body = options.body;
+ this.protocol = options.protocol ? options.protocol.slice(-1) !== ":" ? `${options.protocol}:` : options.protocol : "https:";
+ this.path = options.path ? options.path.charAt(0) !== "/" ? `/${options.path}` : options.path : "/";
+ this.username = options.username;
+ this.password = options.password;
+ this.fragment = options.fragment;
+ }
+ static clone(request) {
+ const cloned = new _HttpRequest({
+ ...request,
+ headers: { ...request.headers }
+ });
+ if (cloned.query) {
+ cloned.query = cloneQuery(cloned.query);
+ }
+ return cloned;
+ }
+ static isInstance(request) {
+ if (!request) {
+ return false;
+ }
+ const req = request;
+ return "method" in req && "protocol" in req && "hostname" in req && "path" in req && typeof req["query"] === "object" && typeof req["headers"] === "object";
+ }
+ clone() {
+ return _HttpRequest.clone(this);
+ }
+ };
+ __name(cloneQuery, "cloneQuery");
+ }
+});
+
+// ../../node_modules/.pnpm/@smithy+core@3.36.1/node_modules/@smithy/core/dist-es/submodules/transport/httpResponse.js
+var HttpResponse;
+var init_httpResponse = __esm({
+ "../../node_modules/.pnpm/@smithy+core@3.36.1/node_modules/@smithy/core/dist-es/submodules/transport/httpResponse.js"() {
+ HttpResponse = class {
+ static {
+ __name(this, "HttpResponse");
+ }
+ statusCode;
+ reason;
+ headers;
+ body;
+ constructor(options) {
+ this.statusCode = options.statusCode;
+ this.reason = options.reason;
+ this.headers = options.headers || {};
+ this.body = options.body;
+ }
+ static isInstance(response) {
+ if (!response)
+ return false;
+ const resp = response;
+ return typeof resp.statusCode === "number" && typeof resp.headers === "object";
+ }
+ };
+ }
+});
+
+// ../../node_modules/.pnpm/@smithy+core@3.36.1/node_modules/@smithy/core/dist-es/submodules/transport/isValidHostLabel.js
+var VALID_HOST_LABEL_REGEX, isValidHostLabel;
+var init_isValidHostLabel = __esm({
+ "../../node_modules/.pnpm/@smithy+core@3.36.1/node_modules/@smithy/core/dist-es/submodules/transport/isValidHostLabel.js"() {
+ VALID_HOST_LABEL_REGEX = new RegExp(`^(?!.*-$)(?!-)[a-zA-Z0-9-]{1,63}$`);
+ isValidHostLabel = /* @__PURE__ */ __name((value, allowSubDomains = false) => {
+ if (!allowSubDomains) {
+ return VALID_HOST_LABEL_REGEX.test(value);
+ }
+ const labels = value.split(".");
+ for (const label of labels) {
+ if (!isValidHostLabel(label)) {
+ return false;
+ }
+ }
+ return true;
+ }, "isValidHostLabel");
+ }
+});
+
+// ../../node_modules/.pnpm/@smithy+core@3.36.1/node_modules/@smithy/core/dist-es/submodules/transport/isValidHostname.js
+function isValidHostname(hostname) {
+ const hostPattern = /^[a-z0-9][a-z0-9.-]*[a-z0-9]$/;
+ return hostPattern.test(hostname);
+}
+var init_isValidHostname = __esm({
+ "../../node_modules/.pnpm/@smithy+core@3.36.1/node_modules/@smithy/core/dist-es/submodules/transport/isValidHostname.js"() {
+ __name(isValidHostname, "isValidHostname");
+ }
+});
+
+// ../../node_modules/.pnpm/@smithy+core@3.36.1/node_modules/@smithy/core/dist-es/submodules/transport/normalizeProvider.js
+var normalizeProvider;
+var init_normalizeProvider = __esm({
+ "../../node_modules/.pnpm/@smithy+core@3.36.1/node_modules/@smithy/core/dist-es/submodules/transport/normalizeProvider.js"() {
+ normalizeProvider = /* @__PURE__ */ __name((input) => {
+ if (typeof input === "function")
+ return input;
+ const promisified = Promise.resolve(input);
+ return () => promisified;
+ }, "normalizeProvider");
+ }
+});
+
+// ../../node_modules/.pnpm/@smithy+core@3.36.1/node_modules/@smithy/core/dist-es/submodules/transport/parseQueryString.js
+function parseQueryString(querystring) {
+ const query = {};
+ querystring = querystring.replace(/^\?/, "");
+ if (querystring) {
+ for (const pair of querystring.split("&")) {
+ let [key, value = null] = pair.split("=");
+ key = decodeURIComponent(key);
+ if (value) {
+ value = decodeURIComponent(value);
+ }
+ if (!(key in query)) {
+ query[key] = value;
+ } else if (Array.isArray(query[key])) {
+ query[key].push(value);
+ } else {
+ query[key] = [query[key], value];
+ }
+ }
+ }
+ return query;
+}
+var init_parseQueryString = __esm({
+ "../../node_modules/.pnpm/@smithy+core@3.36.1/node_modules/@smithy/core/dist-es/submodules/transport/parseQueryString.js"() {
+ __name(parseQueryString, "parseQueryString");
+ }
+});
+
+// ../../node_modules/.pnpm/@smithy+core@3.36.1/node_modules/@smithy/core/dist-es/submodules/transport/parseUrl.js
+var parseUrl;
+var init_parseUrl = __esm({
+ "../../node_modules/.pnpm/@smithy+core@3.36.1/node_modules/@smithy/core/dist-es/submodules/transport/parseUrl.js"() {
+ init_parseQueryString();
+ parseUrl = /* @__PURE__ */ __name((url) => {
+ if (typeof url === "string") {
+ return parseUrl(new URL(url));
+ }
+ const { hostname, pathname, port, protocol, search } = url;
+ let query;
+ if (search) {
+ query = parseQueryString(search);
+ }
+ return {
+ hostname,
+ port: port ? parseInt(port) : void 0,
+ protocol,
+ path: pathname,
+ query
+ };
+ }, "parseUrl");
+ }
+});
+
+// ../../node_modules/.pnpm/@smithy+core@3.36.1/node_modules/@smithy/core/dist-es/submodules/transport/toEndpointV1.js
+var toEndpointV1;
+var init_toEndpointV1 = __esm({
+ "../../node_modules/.pnpm/@smithy+core@3.36.1/node_modules/@smithy/core/dist-es/submodules/transport/toEndpointV1.js"() {
+ init_hasOwn();
+ init_parseUrl();
+ toEndpointV1 = /* @__PURE__ */ __name((endpoint) => {
+ if (typeof endpoint === "object") {
+ if ("url" in endpoint) {
+ const v1Endpoint = parseUrl(endpoint.url);
+ if (endpoint.headers) {
+ v1Endpoint.headers = {};
+ for (const name in endpoint.headers) {
+ if (!hasOwn(endpoint.headers, name))
+ continue;
+ v1Endpoint.headers[name.toLowerCase()] = endpoint.headers[name].join(", ");
+ }
+ }
+ return v1Endpoint;
+ }
+ return endpoint;
+ }
+ return parseUrl(endpoint);
+ }, "toEndpointV1");
+ }
+});
+
+// ../../node_modules/.pnpm/@smithy+core@3.36.1/node_modules/@smithy/core/dist-es/submodules/transport/index.js
+var init_transport = __esm({
+ "../../node_modules/.pnpm/@smithy+core@3.36.1/node_modules/@smithy/core/dist-es/submodules/transport/index.js"() {
+ init_getSmithyContext();
+ init_hasOwn();
+ init_httpRequest();
+ init_httpResponse();
+ init_isValidHostLabel();
+ init_isValidHostname();
+ init_normalizeProvider();
+ init_parseQueryString();
+ init_parseUrl();
+ init_toEndpointV1();
+ }
+});
+
+// ../../node_modules/.pnpm/@smithy+core@3.36.1/node_modules/@smithy/core/dist-es/submodules/serde/parse-utils.js
+var parseBoolean, expectBoolean, expectNumber, MAX_FLOAT, expectFloat32, expectLong, expectInt, expectInt32, expectShort, expectByte, expectSizedInt, castInt, expectNonNull, expectObject, expectString, expectUnion, strictParseDouble, strictParseFloat, strictParseFloat32, NUMBER_REGEX, parseNumber, limitedParseDouble, handleFloat, limitedParseFloat, limitedParseFloat32, parseFloatString, strictParseLong, strictParseInt, strictParseInt32, strictParseShort, strictParseByte, stackTraceWarning, logger;
+var init_parse_utils = __esm({
+ "../../node_modules/.pnpm/@smithy+core@3.36.1/node_modules/@smithy/core/dist-es/submodules/serde/parse-utils.js"() {
+ init_transport();
+ parseBoolean = /* @__PURE__ */ __name((value) => {
+ switch (value) {
+ case "true":
+ return true;
+ case "false":
+ return false;
+ default:
+ throw new Error(`Unable to parse boolean value "${value}"`);
+ }
+ }, "parseBoolean");
+ expectBoolean = /* @__PURE__ */ __name((value) => {
+ if (value === null || value === void 0) {
+ return void 0;
+ }
+ if (typeof value === "number") {
+ if (value === 0 || value === 1) {
+ logger.warn(stackTraceWarning(`Expected boolean, got ${typeof value}: ${value}`));
+ }
+ if (value === 0) {
+ return false;
+ }
+ if (value === 1) {
+ return true;
+ }
+ }
+ if (typeof value === "string") {
+ const lower = value.toLowerCase();
+ if (lower === "false" || lower === "true") {
+ logger.warn(stackTraceWarning(`Expected boolean, got ${typeof value}: ${value}`));
+ }
+ if (lower === "false") {
+ return false;
+ }
+ if (lower === "true") {
+ return true;
+ }
+ }
+ if (typeof value === "boolean") {
+ return value;
+ }
+ throw new TypeError(`Expected boolean, got ${typeof value}: ${value}`);
+ }, "expectBoolean");
+ expectNumber = /* @__PURE__ */ __name((value) => {
+ if (value === null || value === void 0) {
+ return void 0;
+ }
+ if (typeof value === "string") {
+ const parsed = parseFloat(value);
+ if (!Number.isNaN(parsed)) {
+ if (String(parsed) !== String(value)) {
+ logger.warn(stackTraceWarning(`Expected number but observed string: ${value}`));
+ }
+ return parsed;
+ }
+ }
+ if (typeof value === "number") {
+ return value;
+ }
+ throw new TypeError(`Expected number, got ${typeof value}: ${value}`);
+ }, "expectNumber");
+ MAX_FLOAT = Math.ceil(2 ** 127 * (2 - 2 ** -23));
+ expectFloat32 = /* @__PURE__ */ __name((value) => {
+ const expected = expectNumber(value);
+ if (expected !== void 0 && !Number.isNaN(expected) && expected !== Infinity && expected !== -Infinity) {
+ if (Math.abs(expected) > MAX_FLOAT) {
+ throw new TypeError(`Expected 32-bit float, got ${value}`);
+ }
+ }
+ return expected;
+ }, "expectFloat32");
+ expectLong = /* @__PURE__ */ __name((value) => {
+ if (value === null || value === void 0) {
+ return void 0;
+ }
+ if (Number.isInteger(value) && !Number.isNaN(value)) {
+ return value;
+ }
+ throw new TypeError(`Expected integer, got ${typeof value}: ${value}`);
+ }, "expectLong");
+ expectInt = expectLong;
+ expectInt32 = /* @__PURE__ */ __name((value) => expectSizedInt(value, 32), "expectInt32");
+ expectShort = /* @__PURE__ */ __name((value) => expectSizedInt(value, 16), "expectShort");
+ expectByte = /* @__PURE__ */ __name((value) => expectSizedInt(value, 8), "expectByte");
+ expectSizedInt = /* @__PURE__ */ __name((value, size) => {
+ const expected = expectLong(value);
+ if (expected !== void 0 && castInt(expected, size) !== expected) {
+ throw new TypeError(`Expected ${size}-bit integer, got ${value}`);
+ }
+ return expected;
+ }, "expectSizedInt");
+ castInt = /* @__PURE__ */ __name((value, size) => {
+ switch (size) {
+ case 32:
+ return Int32Array.of(value)[0];
+ case 16:
+ return Int16Array.of(value)[0];
+ case 8:
+ return Int8Array.of(value)[0];
+ }
+ }, "castInt");
+ expectNonNull = /* @__PURE__ */ __name((value, location) => {
+ if (value === null || value === void 0) {
+ if (location) {
+ throw new TypeError(`Expected a non-null value for ${location}`);
+ }
+ throw new TypeError("Expected a non-null value");
+ }
+ return value;
+ }, "expectNonNull");
+ expectObject = /* @__PURE__ */ __name((value) => {
+ if (value === null || value === void 0) {
+ return void 0;
+ }
+ if (typeof value === "object" && !Array.isArray(value)) {
+ return value;
+ }
+ const receivedType = Array.isArray(value) ? "array" : typeof value;
+ throw new TypeError(`Expected object, got ${receivedType}: ${value}`);
+ }, "expectObject");
+ expectString = /* @__PURE__ */ __name((value) => {
+ if (value === null || value === void 0) {
+ return void 0;
+ }
+ if (typeof value === "string") {
+ return value;
+ }
+ if (["boolean", "number", "bigint"].includes(typeof value)) {
+ logger.warn(stackTraceWarning(`Expected string, got ${typeof value}: ${value}`));
+ return String(value);
+ }
+ throw new TypeError(`Expected string, got ${typeof value}: ${value}`);
+ }, "expectString");
+ expectUnion = /* @__PURE__ */ __name((value) => {
+ if (value === null || value === void 0) {
+ return void 0;
+ }
+ const asObject = expectObject(value);
+ const setKeys = [];
+ for (const k in asObject) {
+ if (!hasOwn(asObject, k))
+ continue;
+ if (asObject[k] != null) {
+ setKeys.push(k);
+ }
+ }
+ if (setKeys.length === 0) {
+ throw new TypeError(`Unions must have exactly one non-null member. None were found.`);
+ }
+ if (setKeys.length > 1) {
+ throw new TypeError(`Unions must have exactly one non-null member. Keys ${setKeys} were not null.`);
+ }
+ return asObject;
+ }, "expectUnion");
+ strictParseDouble = /* @__PURE__ */ __name((value) => {
+ if (typeof value == "string") {
+ return expectNumber(parseNumber(value));
+ }
+ return expectNumber(value);
+ }, "strictParseDouble");
+ strictParseFloat = strictParseDouble;
+ strictParseFloat32 = /* @__PURE__ */ __name((value) => {
+ if (typeof value == "string") {
+ return expectFloat32(parseNumber(value));
+ }
+ return expectFloat32(value);
+ }, "strictParseFloat32");
+ NUMBER_REGEX = /(-?(?:0|[1-9]\d*)(?:\.\d+)?(?:[eE][+-]?\d+)?)|(-?Infinity)|(NaN)/g;
+ parseNumber = /* @__PURE__ */ __name((value) => {
+ const matches = value.match(NUMBER_REGEX);
+ if (matches === null || matches[0].length !== value.length) {
+ throw new TypeError(`Expected real number, got implicit NaN`);
+ }
+ return parseFloat(value);
+ }, "parseNumber");
+ limitedParseDouble = /* @__PURE__ */ __name((value) => {
+ if (typeof value == "string") {
+ return parseFloatString(value);
+ }
+ return expectNumber(value);
+ }, "limitedParseDouble");
+ handleFloat = limitedParseDouble;
+ limitedParseFloat = limitedParseDouble;
+ limitedParseFloat32 = /* @__PURE__ */ __name((value) => {
+ if (typeof value == "string") {
+ return parseFloatString(value);
+ }
+ return expectFloat32(value);
+ }, "limitedParseFloat32");
+ parseFloatString = /* @__PURE__ */ __name((value) => {
+ switch (value) {
+ case "NaN":
+ return NaN;
+ case "Infinity":
+ return Infinity;
+ case "-Infinity":
+ return -Infinity;
+ default:
+ throw new Error(`Unable to parse float value: ${value}`);
+ }
+ }, "parseFloatString");
+ strictParseLong = /* @__PURE__ */ __name((value) => {
+ if (typeof value === "string") {
+ return expectLong(parseNumber(value));
+ }
+ return expectLong(value);
+ }, "strictParseLong");
+ strictParseInt = strictParseLong;
+ strictParseInt32 = /* @__PURE__ */ __name((value) => {
+ if (typeof value === "string") {
+ return expectInt32(parseNumber(value));
+ }
+ return expectInt32(value);
+ }, "strictParseInt32");
+ strictParseShort = /* @__PURE__ */ __name((value) => {
+ if (typeof value === "string") {
+ return expectShort(parseNumber(value));
+ }
+ return expectShort(value);
+ }, "strictParseShort");
+ strictParseByte = /* @__PURE__ */ __name((value) => {
+ if (typeof value === "string") {
+ return expectByte(parseNumber(value));
+ }
+ return expectByte(value);
+ }, "strictParseByte");
+ stackTraceWarning = /* @__PURE__ */ __name((message) => {
+ return String(new TypeError(message).stack || message).split("\n").slice(0, 5).filter((s) => !s.includes("stackTraceWarning")).join("\n");
+ }, "stackTraceWarning");
+ logger = {
+ warn: console.warn
+ };
+ }
+});
+
+// ../../node_modules/.pnpm/@smithy+core@3.36.1/node_modules/@smithy/core/dist-es/submodules/serde/date-utils.js
+function dateToUtcString(date2) {
+ const year2 = date2.getUTCFullYear();
+ const month = date2.getUTCMonth();
+ const dayOfWeek = date2.getUTCDay();
+ const dayOfMonthInt = date2.getUTCDate();
+ const hoursInt = date2.getUTCHours();
+ const minutesInt = date2.getUTCMinutes();
+ const secondsInt = date2.getUTCSeconds();
+ const dayOfMonthString = dayOfMonthInt < 10 ? `0${dayOfMonthInt}` : `${dayOfMonthInt}`;
+ const hoursString = hoursInt < 10 ? `0${hoursInt}` : `${hoursInt}`;
+ const minutesString = minutesInt < 10 ? `0${minutesInt}` : `${minutesInt}`;
+ const secondsString = secondsInt < 10 ? `0${secondsInt}` : `${secondsInt}`;
+ return `${DAYS[dayOfWeek]}, ${dayOfMonthString} ${MONTHS[month]} ${year2} ${hoursString}:${minutesString}:${secondsString} GMT`;
+}
+var DAYS, MONTHS, RFC3339, parseRfc3339DateTime, RFC3339_WITH_OFFSET, parseRfc3339DateTimeWithOffset, IMF_FIXDATE, RFC_850_DATE, ASC_TIME, parseRfc7231DateTime, parseEpochTimestamp, buildDate, parseTwoDigitYear, FIFTY_YEARS_IN_MILLIS, adjustRfc850Year, parseMonthByShortName, DAYS_IN_MONTH, validateDayOfMonth, isLeapYear, parseDateValue, parseMilliseconds, parseOffsetToMilliseconds, stripLeadingZeroes;
+var init_date_utils = __esm({
+ "../../node_modules/.pnpm/@smithy+core@3.36.1/node_modules/@smithy/core/dist-es/submodules/serde/date-utils.js"() {
+ init_parse_utils();
+ DAYS = ["Sun", "Mon", "Tue", "Wed", "Thu", "Fri", "Sat"];
+ MONTHS = ["Jan", "Feb", "Mar", "Apr", "May", "Jun", "Jul", "Aug", "Sep", "Oct", "Nov", "Dec"];
+ __name(dateToUtcString, "dateToUtcString");
+ RFC3339 = new RegExp(/^(\d{4})-(\d{2})-(\d{2})[tT](\d{2}):(\d{2}):(\d{2})(?:\.(\d+))?[zZ]$/);
+ parseRfc3339DateTime = /* @__PURE__ */ __name((value) => {
+ if (value === null || value === void 0) {
+ return void 0;
+ }
+ if (typeof value !== "string") {
+ throw new TypeError("RFC-3339 date-times must be expressed as strings");
+ }
+ const match = RFC3339.exec(value);
+ if (!match) {
+ throw new TypeError("Invalid RFC-3339 date-time value");
+ }
+ const [_, yearStr, monthStr, dayStr, hours, minutes, seconds, fractionalMilliseconds] = match;
+ const year2 = strictParseShort(stripLeadingZeroes(yearStr));
+ const month = parseDateValue(monthStr, "month", 1, 12);
+ const day = parseDateValue(dayStr, "day", 1, 31);
+ return buildDate(year2, month, day, { hours, minutes, seconds, fractionalMilliseconds });
+ }, "parseRfc3339DateTime");
+ RFC3339_WITH_OFFSET = new RegExp(/^(\d{4})-(\d{2})-(\d{2})[tT](\d{2}):(\d{2}):(\d{2})(?:\.(\d+))?(([-+]\d{2}:\d{2})|[zZ])$/);
+ parseRfc3339DateTimeWithOffset = /* @__PURE__ */ __name((value) => {
+ if (value === null || value === void 0) {
+ return void 0;
+ }
+ if (typeof value !== "string") {
+ throw new TypeError("RFC-3339 date-times must be expressed as strings");
+ }
+ const match = RFC3339_WITH_OFFSET.exec(value);
+ if (!match) {
+ throw new TypeError("Invalid RFC-3339 date-time value");
+ }
+ const [_, yearStr, monthStr, dayStr, hours, minutes, seconds, fractionalMilliseconds, offsetStr] = match;
+ const year2 = strictParseShort(stripLeadingZeroes(yearStr));
+ const month = parseDateValue(monthStr, "month", 1, 12);
+ const day = parseDateValue(dayStr, "day", 1, 31);
+ const date2 = buildDate(year2, month, day, { hours, minutes, seconds, fractionalMilliseconds });
+ if (offsetStr.toUpperCase() != "Z") {
+ date2.setTime(date2.getTime() - parseOffsetToMilliseconds(offsetStr));
+ }
+ return date2;
+ }, "parseRfc3339DateTimeWithOffset");
+ IMF_FIXDATE = new RegExp(/^(?:Mon|Tue|Wed|Thu|Fri|Sat|Sun), (\d{2}) (Jan|Feb|Mar|Apr|May|Jun|Jul|Aug|Sep|Oct|Nov|Dec) (\d{4}) (\d{1,2}):(\d{2}):(\d{2})(?:\.(\d+))? GMT$/);
+ RFC_850_DATE = new RegExp(/^(?:Monday|Tuesday|Wednesday|Thursday|Friday|Saturday|Sunday), (\d{2})-(Jan|Feb|Mar|Apr|May|Jun|Jul|Aug|Sep|Oct|Nov|Dec)-(\d{2}) (\d{1,2}):(\d{2}):(\d{2})(?:\.(\d+))? GMT$/);
+ ASC_TIME = new RegExp(/^(?:Mon|Tue|Wed|Thu|Fri|Sat|Sun) (Jan|Feb|Mar|Apr|May|Jun|Jul|Aug|Sep|Oct|Nov|Dec) ( [1-9]|\d{2}) (\d{1,2}):(\d{2}):(\d{2})(?:\.(\d+))? (\d{4})$/);
+ parseRfc7231DateTime = /* @__PURE__ */ __name((value) => {
+ if (value === null || value === void 0) {
+ return void 0;
+ }
+ if (typeof value !== "string") {
+ throw new TypeError("RFC-7231 date-times must be expressed as strings");
+ }
+ let match = IMF_FIXDATE.exec(value);
+ if (match) {
+ const [_, dayStr, monthStr, yearStr, hours, minutes, seconds, fractionalMilliseconds] = match;
+ return buildDate(strictParseShort(stripLeadingZeroes(yearStr)), parseMonthByShortName(monthStr), parseDateValue(dayStr, "day", 1, 31), { hours, minutes, seconds, fractionalMilliseconds });
+ }
+ match = RFC_850_DATE.exec(value);
+ if (match) {
+ const [_, dayStr, monthStr, yearStr, hours, minutes, seconds, fractionalMilliseconds] = match;
+ return adjustRfc850Year(buildDate(parseTwoDigitYear(yearStr), parseMonthByShortName(monthStr), parseDateValue(dayStr, "day", 1, 31), {
+ hours,
+ minutes,
+ seconds,
+ fractionalMilliseconds
+ }));
+ }
+ match = ASC_TIME.exec(value);
+ if (match) {
+ const [_, monthStr, dayStr, hours, minutes, seconds, fractionalMilliseconds, yearStr] = match;
+ return buildDate(strictParseShort(stripLeadingZeroes(yearStr)), parseMonthByShortName(monthStr), parseDateValue(dayStr.trimLeft(), "day", 1, 31), { hours, minutes, seconds, fractionalMilliseconds });
+ }
+ throw new TypeError("Invalid RFC-7231 date-time value");
+ }, "parseRfc7231DateTime");
+ parseEpochTimestamp = /* @__PURE__ */ __name((value) => {
+ if (value === null || value === void 0) {
+ return void 0;
+ }
+ let valueAsDouble;
+ if (typeof value === "number") {
+ valueAsDouble = value;
+ } else if (typeof value === "string") {
+ valueAsDouble = strictParseDouble(value);
+ } else if (typeof value === "object" && value.tag === 1) {
+ valueAsDouble = value.value;
+ } else {
+ throw new TypeError("Epoch timestamps must be expressed as floating point numbers or their string representation");
+ }
+ if (Number.isNaN(valueAsDouble) || valueAsDouble === Infinity || valueAsDouble === -Infinity) {
+ throw new TypeError("Epoch timestamps must be valid, non-Infinite, non-NaN numerics");
+ }
+ return new Date(Math.round(valueAsDouble * 1e3));
+ }, "parseEpochTimestamp");
+ buildDate = /* @__PURE__ */ __name((year2, month, day, time2) => {
+ const adjustedMonth = month - 1;
+ validateDayOfMonth(year2, adjustedMonth, day);
+ return new Date(Date.UTC(year2, adjustedMonth, day, parseDateValue(time2.hours, "hour", 0, 23), parseDateValue(time2.minutes, "minute", 0, 59), parseDateValue(time2.seconds, "seconds", 0, 60), parseMilliseconds(time2.fractionalMilliseconds)));
+ }, "buildDate");
+ parseTwoDigitYear = /* @__PURE__ */ __name((value) => {
+ const thisYear = (/* @__PURE__ */ new Date()).getUTCFullYear();
+ const valueInThisCentury = Math.floor(thisYear / 100) * 100 + strictParseShort(stripLeadingZeroes(value));
+ if (valueInThisCentury < thisYear) {
+ return valueInThisCentury + 100;
+ }
+ return valueInThisCentury;
+ }, "parseTwoDigitYear");
+ FIFTY_YEARS_IN_MILLIS = 50 * 365 * 24 * 60 * 60 * 1e3;
+ adjustRfc850Year = /* @__PURE__ */ __name((input) => {
+ if (input.getTime() - (/* @__PURE__ */ new Date()).getTime() > FIFTY_YEARS_IN_MILLIS) {
+ return new Date(Date.UTC(input.getUTCFullYear() - 100, input.getUTCMonth(), input.getUTCDate(), input.getUTCHours(), input.getUTCMinutes(), input.getUTCSeconds(), input.getUTCMilliseconds()));
+ }
+ return input;
+ }, "adjustRfc850Year");
+ parseMonthByShortName = /* @__PURE__ */ __name((value) => {
+ const monthIdx = MONTHS.indexOf(value);
+ if (monthIdx < 0) {
+ throw new TypeError(`Invalid month: ${value}`);
+ }
+ return monthIdx + 1;
+ }, "parseMonthByShortName");
+ DAYS_IN_MONTH = [31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31];
+ validateDayOfMonth = /* @__PURE__ */ __name((year2, month, day) => {
+ let maxDays = DAYS_IN_MONTH[month];
+ if (month === 1 && isLeapYear(year2)) {
+ maxDays = 29;
+ }
+ if (day > maxDays) {
+ throw new TypeError(`Invalid day for ${MONTHS[month]} in ${year2}: ${day}`);
+ }
+ }, "validateDayOfMonth");
+ isLeapYear = /* @__PURE__ */ __name((year2) => {
+ return year2 % 4 === 0 && (year2 % 100 !== 0 || year2 % 400 === 0);
+ }, "isLeapYear");
+ parseDateValue = /* @__PURE__ */ __name((value, type, lower, upper) => {
+ const dateVal = strictParseByte(stripLeadingZeroes(value));
+ if (dateVal < lower || dateVal > upper) {
+ throw new TypeError(`${type} must be between ${lower} and ${upper}, inclusive`);
+ }
+ return dateVal;
+ }, "parseDateValue");
+ parseMilliseconds = /* @__PURE__ */ __name((value) => {
+ if (value === null || value === void 0) {
+ return 0;
+ }
+ return strictParseFloat32("0." + value) * 1e3;
+ }, "parseMilliseconds");
+ parseOffsetToMilliseconds = /* @__PURE__ */ __name((value) => {
+ const directionStr = value[0];
+ let direction = 1;
+ if (directionStr == "+") {
+ direction = 1;
+ } else if (directionStr == "-") {
+ direction = -1;
+ } else {
+ throw new TypeError(`Offset direction, ${directionStr}, must be "+" or "-"`);
+ }
+ const hour = Number(value.substring(1, 3));
+ const minute = Number(value.substring(4, 6));
+ return direction * (hour * 60 + minute) * 60 * 1e3;
+ }, "parseOffsetToMilliseconds");
+ stripLeadingZeroes = /* @__PURE__ */ __name((value) => {
+ let idx = 0;
+ while (idx < value.length - 1 && value.charAt(idx) === "0") {
+ idx++;
+ }
+ if (idx === 0) {
+ return value;
+ }
+ return value.slice(idx);
+ }, "stripLeadingZeroes");
+ }
+});
+
+// ../../node_modules/.pnpm/@smithy+core@3.36.1/node_modules/@smithy/core/dist-es/submodules/serde/lazy-json.js
+var LazyJsonString;
+var init_lazy_json = __esm({
+ "../../node_modules/.pnpm/@smithy+core@3.36.1/node_modules/@smithy/core/dist-es/submodules/serde/lazy-json.js"() {
+ LazyJsonString = /* @__PURE__ */ __name(function LazyJsonString2(val) {
+ const str = Object.assign(new String(val), {
+ deserializeJSON() {
+ return JSON.parse(String(val));
+ },
+ toString() {
+ return String(val);
+ },
+ toJSON() {
+ return String(val);
+ }
+ });
+ return str;
+ }, "LazyJsonString");
+ LazyJsonString.from = (object) => {
+ if (object && typeof object === "object" && (object instanceof LazyJsonString || "deserializeJSON" in object)) {
+ return object;
+ } else if (typeof object === "string" || Object.getPrototypeOf(object) === String.prototype) {
+ return LazyJsonString(String(object));
+ }
+ return LazyJsonString(JSON.stringify(object));
+ };
+ LazyJsonString.fromObject = LazyJsonString.from;
+ }
+});
+
+// ../../node_modules/.pnpm/@smithy+core@3.36.1/node_modules/@smithy/core/dist-es/submodules/serde/quote-header.js
+function quoteHeader(part) {
+ if (part.includes(",") || part.includes('"')) {
+ part = `"${part.replace(/"/g, '\\"')}"`;
+ }
+ return part;
+}
+var init_quote_header = __esm({
+ "../../node_modules/.pnpm/@smithy+core@3.36.1/node_modules/@smithy/core/dist-es/submodules/serde/quote-header.js"() {
+ __name(quoteHeader, "quoteHeader");
+ }
+});
+
+// ../../node_modules/.pnpm/@smithy+core@3.36.1/node_modules/@smithy/core/dist-es/submodules/serde/schema-serde-lib/schema-date-utils.js
+function range(v, min, max) {
+ const _v = Number(v);
+ if (_v < min || _v > max) {
+ throw new Error(`Value ${_v} out of range [${min}, ${max}]`);
+ }
+}
+var ddd, mmm, time, date, year, RFC3339_WITH_OFFSET2, IMF_FIXDATE2, RFC_850_DATE2, ASC_TIME2, months, _parseEpochTimestamp, _parseRfc3339DateTimeWithOffset, _parseRfc7231DateTime;
+var init_schema_date_utils = __esm({
+ "../../node_modules/.pnpm/@smithy+core@3.36.1/node_modules/@smithy/core/dist-es/submodules/serde/schema-serde-lib/schema-date-utils.js"() {
+ ddd = `(?:Mon|Tue|Wed|Thu|Fri|Sat|Sun)(?:[ne|u?r]?s?day)?`;
+ mmm = `(Jan|Feb|Mar|Apr|May|Jun|Jul|Aug|Sep|Oct|Nov|Dec)`;
+ time = `(\\d?\\d):(\\d{2}):(\\d{2})(?:\\.(\\d+))?`;
+ date = `(\\d?\\d)`;
+ year = `(\\d{4})`;
+ RFC3339_WITH_OFFSET2 = new RegExp(/^(\d{4})-(\d\d)-(\d\d)[tT](\d\d):(\d\d):(\d\d)(\.(\d+))?(([-+]\d\d:\d\d)|[zZ])$/);
+ IMF_FIXDATE2 = new RegExp(`^${ddd}, ${date} ${mmm} ${year} ${time} GMT$`);
+ RFC_850_DATE2 = new RegExp(`^${ddd}, ${date}-${mmm}-(\\d\\d) ${time} GMT$`);
+ ASC_TIME2 = new RegExp(`^${ddd} ${mmm} ( [1-9]|\\d\\d) ${time} ${year}$`);
+ months = ["Jan", "Feb", "Mar", "Apr", "May", "Jun", "Jul", "Aug", "Sep", "Oct", "Nov", "Dec"];
+ _parseEpochTimestamp = /* @__PURE__ */ __name((value) => {
+ if (value == null) {
+ return void 0;
+ }
+ let num = NaN;
+ if (typeof value === "number") {
+ num = value;
+ } else if (typeof value === "string") {
+ if (!/^-?\d*\.?\d+$/.test(value)) {
+ throw new TypeError(`parseEpochTimestamp - numeric string invalid.`);
+ }
+ num = Number.parseFloat(value);
+ } else if (typeof value === "object" && value.tag === 1) {
+ num = value.value;
+ }
+ if (isNaN(num) || Math.abs(num) === Infinity) {
+ throw new TypeError("Epoch timestamps must be valid finite numbers.");
+ }
+ return new Date(Math.round(num * 1e3));
+ }, "_parseEpochTimestamp");
+ _parseRfc3339DateTimeWithOffset = /* @__PURE__ */ __name((value) => {
+ if (value == null) {
+ return void 0;
+ }
+ if (typeof value !== "string") {
+ throw new TypeError("RFC3339 timestamps must be strings");
+ }
+ const matches = RFC3339_WITH_OFFSET2.exec(value);
+ if (!matches) {
+ throw new TypeError(`Invalid RFC3339 timestamp format ${value}`);
+ }
+ const [, yearStr, monthStr, dayStr, hours, minutes, seconds, , ms, offsetStr] = matches;
+ range(monthStr, 1, 12);
+ range(dayStr, 1, 31);
+ range(hours, 0, 23);
+ range(minutes, 0, 59);
+ range(seconds, 0, 60);
+ const date2 = new Date(Date.UTC(Number(yearStr), Number(monthStr) - 1, Number(dayStr), Number(hours), Number(minutes), Number(seconds), Number(ms) ? Math.round(parseFloat(`0.${ms}`) * 1e3) : 0));
+ date2.setUTCFullYear(Number(yearStr));
+ if (offsetStr.toUpperCase() != "Z") {
+ const [, sign2, offsetH, offsetM] = /([+-])(\d\d):(\d\d)/.exec(offsetStr) || [void 0, "+", 0, 0];
+ const scalar = sign2 === "-" ? 1 : -1;
+ date2.setTime(date2.getTime() + scalar * (Number(offsetH) * 60 * 60 * 1e3 + Number(offsetM) * 60 * 1e3));
+ }
+ return date2;
+ }, "_parseRfc3339DateTimeWithOffset");
+ _parseRfc7231DateTime = /* @__PURE__ */ __name((value) => {
+ if (value == null) {
+ return void 0;
+ }
+ if (typeof value !== "string") {
+ throw new TypeError("RFC7231 timestamps must be strings.");
+ }
+ let day;
+ let month;
+ let year2;
+ let hour;
+ let minute;
+ let second;
+ let fraction;
+ let matches;
+ if (matches = IMF_FIXDATE2.exec(value)) {
+ [, day, month, year2, hour, minute, second, fraction] = matches;
+ } else if (matches = RFC_850_DATE2.exec(value)) {
+ [, day, month, year2, hour, minute, second, fraction] = matches;
+ year2 = (Number(year2) + 1900).toString();
+ } else if (matches = ASC_TIME2.exec(value)) {
+ [, month, day, hour, minute, second, fraction, year2] = matches;
+ }
+ if (year2 && second) {
+ const timestamp = Date.UTC(Number(year2), months.indexOf(month), Number(day), Number(hour), Number(minute), Number(second), fraction ? Math.round(parseFloat(`0.${fraction}`) * 1e3) : 0);
+ range(day, 1, 31);
+ range(hour, 0, 23);
+ range(minute, 0, 59);
+ range(second, 0, 60);
+ const date2 = new Date(timestamp);
+ date2.setUTCFullYear(Number(year2));
+ return date2;
+ }
+ throw new TypeError(`Invalid RFC7231 date-time value ${value}.`);
+ }, "_parseRfc7231DateTime");
+ __name(range, "range");
+ }
+});
+
+// ../../node_modules/.pnpm/@smithy+core@3.36.1/node_modules/@smithy/core/dist-es/submodules/serde/split-every.js
+function splitEvery(value, delimiter, numDelimiters) {
+ if (numDelimiters <= 0 || !Number.isInteger(numDelimiters)) {
+ throw new Error("Invalid number of delimiters (" + numDelimiters + ") for splitEvery.");
+ }
+ const segments = value.split(delimiter);
+ if (numDelimiters === 1) {
+ return segments;
+ }
+ const compoundSegments = [];
+ let currentSegment = "";
+ for (let i = 0; i < segments.length; i++) {
+ if (currentSegment === "") {
+ currentSegment = segments[i];
+ } else {
+ currentSegment += delimiter + segments[i];
+ }
+ if ((i + 1) % numDelimiters === 0) {
+ compoundSegments.push(currentSegment);
+ currentSegment = "";
+ }
+ }
+ if (currentSegment !== "") {
+ compoundSegments.push(currentSegment);
+ }
+ return compoundSegments;
+}
+var init_split_every = __esm({
+ "../../node_modules/.pnpm/@smithy+core@3.36.1/node_modules/@smithy/core/dist-es/submodules/serde/split-every.js"() {
+ __name(splitEvery, "splitEvery");
+ }
+});
+
+// ../../node_modules/.pnpm/@smithy+core@3.36.1/node_modules/@smithy/core/dist-es/submodules/serde/split-header.js
+var splitHeader;
+var init_split_header = __esm({
+ "../../node_modules/.pnpm/@smithy+core@3.36.1/node_modules/@smithy/core/dist-es/submodules/serde/split-header.js"() {
+ splitHeader = /* @__PURE__ */ __name((value) => {
+ const z = value.length;
+ const values = [];
+ let withinQuotes = false;
+ let prevChar = void 0;
+ let anchor = 0;
+ for (let i = 0; i < z; ++i) {
+ const char = value[i];
+ switch (char) {
+ case `"`:
+ if (prevChar !== "\\") {
+ withinQuotes = !withinQuotes;
+ }
+ break;
+ case ",":
+ if (!withinQuotes) {
+ values.push(value.slice(anchor, i));
+ anchor = i + 1;
+ }
+ break;
+ default:
+ }
+ prevChar = char;
+ }
+ values.push(value.slice(anchor));
+ return values.map((v) => {
+ v = v.trim();
+ const z2 = v.length;
+ if (z2 < 2) {
+ return v;
+ }
+ if (v[0] === `"` && v[z2 - 1] === `"`) {
+ v = v.slice(1, z2 - 1);
+ }
+ return v.replace(/\\"/g, '"');
+ });
+ }, "splitHeader");
+ }
+});
+
+// ../../node_modules/.pnpm/@smithy+core@3.36.1/node_modules/@smithy/core/dist-es/submodules/serde/value/NumericValue.js
+function nv(input) {
+ return new NumericValue(String(input), "bigDecimal");
+}
+var format, NumericValue;
+var init_NumericValue = __esm({
+ "../../node_modules/.pnpm/@smithy+core@3.36.1/node_modules/@smithy/core/dist-es/submodules/serde/value/NumericValue.js"() {
+ format = /^-?((0|[1-9]\d*)(\.\d+)?|\.\d+)([eE][+-]?\d+)?$/;
+ NumericValue = class _NumericValue {
+ static {
+ __name(this, "NumericValue");
+ }
+ string;
+ type;
+ constructor(string, type) {
+ this.string = string;
+ this.type = type;
+ if (!format.test(string)) {
+ throw new Error(`@smithy/core/serde - NumericValue string must conform to the Smithy bigDecimal format. Received: "${string}"`);
+ }
+ }
+ toString() {
+ return this.string;
+ }
+ static [Symbol.hasInstance](object) {
+ if (!object || typeof object !== "object") {
+ return false;
+ }
+ const _nv = object;
+ return _NumericValue.prototype.isPrototypeOf(object) || _nv.type === "bigDecimal" && format.test(_nv.string);
+ }
+ };
+ __name(nv, "nv");
+ }
+});
+
+// ../../node_modules/.pnpm/@smithy+core@3.36.1/node_modules/@smithy/core/dist-es/submodules/serde/util-hex-encoding/hex-encoding.js
+function fromHex(encoded) {
+ if (encoded.length % 2 !== 0) {
+ throw new Error("Hex encoded strings must have an even number length");
+ }
+ const out = new Uint8Array(encoded.length / 2);
+ for (let i = 0; i < encoded.length; i += 2) {
+ const encodedByte = encoded.slice(i, i + 2).toLowerCase();
+ if (encodedByte in HEX_TO_SHORT) {
+ out[i / 2] = HEX_TO_SHORT[encodedByte];
+ } else {
+ throw new Error(`Cannot decode unrecognized sequence ${encodedByte} as hexadecimal`);
+ }
+ }
+ return out;
+}
+function toHex(bytes) {
+ let out = "";
+ for (let i = 0; i < bytes.byteLength; i++) {
+ out += SHORT_TO_HEX[bytes[i]];
+ }
+ return out;
+}
+var SHORT_TO_HEX, HEX_TO_SHORT;
+var init_hex_encoding = __esm({
+ "../../node_modules/.pnpm/@smithy+core@3.36.1/node_modules/@smithy/core/dist-es/submodules/serde/util-hex-encoding/hex-encoding.js"() {
+ SHORT_TO_HEX = {};
+ HEX_TO_SHORT = {};
+ for (let i = 0; i < 256; i++) {
+ let encodedByte = i.toString(16).toLowerCase();
+ if (encodedByte.length === 1) {
+ encodedByte = `0${encodedByte}`;
+ }
+ SHORT_TO_HEX[i] = encodedByte;
+ HEX_TO_SHORT[encodedByte] = i;
+ }
+ __name(fromHex, "fromHex");
+ __name(toHex, "toHex");
+ }
+});
+
+// ../../node_modules/.pnpm/@smithy+core@3.36.1/node_modules/@smithy/core/dist-es/submodules/serde/util-body-length/calculateBodyLength.js
+import { ReadStream, fstatSync, lstatSync } from "node:fs";
+var calculateBodyLength;
+var init_calculateBodyLength = __esm({
+ "../../node_modules/.pnpm/@smithy+core@3.36.1/node_modules/@smithy/core/dist-es/submodules/serde/util-body-length/calculateBodyLength.js"() {
+ calculateBodyLength = /* @__PURE__ */ __name((body) => {
+ if (!body) {
+ return 0;
+ }
+ if (typeof body === "string") {
+ return Buffer.byteLength(body);
+ } else if (typeof body.byteLength === "number") {
+ return body.byteLength;
+ } else if (typeof body.size === "number") {
+ return body.size;
+ } else if (typeof body.start === "number" && typeof body.end === "number") {
+ return body.end + 1 - body.start;
+ } else if (body instanceof ReadStream) {
+ if (body.path != null) {
+ return lstatSync(body.path).size;
+ } else if (typeof body.fd === "number") {
+ return fstatSync(body.fd).size;
+ }
+ }
+ throw new Error(`Body Length computation failed for ${body}`);
+ }, "calculateBodyLength");
+ }
+});
+
+// ../../node_modules/.pnpm/@smithy+core@3.36.1/node_modules/@smithy/core/dist-es/submodules/serde/util-utf8/toUint8Array.js
+var toUint8Array;
+var init_toUint8Array = __esm({
+ "../../node_modules/.pnpm/@smithy+core@3.36.1/node_modules/@smithy/core/dist-es/submodules/serde/util-utf8/toUint8Array.js"() {
+ init_fromUtf8();
+ toUint8Array = /* @__PURE__ */ __name((data) => {
+ if (data instanceof Uint8Array) {
+ return data;
+ }
+ if (typeof data === "string") {
+ return fromUtf8(data);
+ }
+ if (ArrayBuffer.isView(data)) {
+ return new Uint8Array(data.buffer, data.byteOffset, data.byteLength / Uint8Array.BYTES_PER_ELEMENT);
+ }
+ return new Uint8Array(data);
+ }, "toUint8Array");
+ }
+});
+
+// ../../node_modules/.pnpm/@smithy+core@3.36.1/node_modules/@smithy/core/dist-es/submodules/serde/concatBytes.js
+function concatBytes(arrays, length) {
+ if (length === void 0) {
+ length = 0;
+ for (const bytes of arrays) {
+ length += bytes.byteLength;
+ }
+ }
+ const result = new Uint8Array(length);
+ let offset = 0;
+ for (const buf of arrays) {
+ result.set(buf, offset);
+ offset += buf.byteLength;
+ }
+ return result;
+}
+var init_concatBytes = __esm({
+ "../../node_modules/.pnpm/@smithy+core@3.36.1/node_modules/@smithy/core/dist-es/submodules/serde/concatBytes.js"() {
+ __name(concatBytes, "concatBytes");
+ }
+});
+
+// ../../node_modules/.pnpm/@smithy+core@3.36.1/node_modules/@smithy/core/dist-es/submodules/serde/middleware-serde/deserializerMiddleware.js
+var deserializerMiddleware, findHeader;
+var init_deserializerMiddleware = __esm({
+ "../../node_modules/.pnpm/@smithy+core@3.36.1/node_modules/@smithy/core/dist-es/submodules/serde/middleware-serde/deserializerMiddleware.js"() {
+ init_transport();
+ deserializerMiddleware = /* @__PURE__ */ __name((options, deserializer) => (next, context) => async (args) => {
+ const { response } = await next(args);
+ try {
+ const parsed = await deserializer(response, options);
+ return {
+ response,
+ output: parsed
+ };
+ } catch (error2) {
+ Object.defineProperty(error2, "$response", {
+ value: response,
+ enumerable: false,
+ writable: false,
+ configurable: false
+ });
+ if (!("$metadata" in error2)) {
+ const hint = `Deserialization error: to see the raw response, inspect the hidden field {error}.$response on this object.`;
+ try {
+ error2.message += "\n " + hint;
+ } catch (ignored) {
+ if (!context.logger || context.logger?.constructor?.name === "NoOpLogger") {
+ console.warn(hint);
+ } else {
+ context.logger?.warn?.(hint);
+ }
+ }
+ if (typeof error2.$responseBodyText !== "undefined") {
+ if (error2.$response) {
+ error2.$response.body = error2.$responseBodyText;
+ }
+ }
+ try {
+ if (HttpResponse.isInstance(response)) {
+ const { headers = {} } = response;
+ const headerEntries = Object.entries(headers);
+ error2.$metadata = {
+ httpStatusCode: response.statusCode,
+ requestId: findHeader(/^x-[\w-]+-request-?id$/, headerEntries),
+ extendedRequestId: findHeader(/^x-[\w-]+-id-2$/, headerEntries),
+ cfId: findHeader(/^x-[\w-]+-cf-id$/, headerEntries)
+ };
+ }
+ } catch (ignored) {
+ }
+ }
+ throw error2;
+ }
+ }, "deserializerMiddleware");
+ findHeader = /* @__PURE__ */ __name((pattern, headers) => {
+ return (headers.find(([k]) => {
+ return k.match(pattern);
+ }) || [void 0, void 0])[1];
+ }, "findHeader");
+ }
+});
+
+// ../../node_modules/.pnpm/@smithy+core@3.36.1/node_modules/@smithy/core/dist-es/submodules/config/property-provider/ProviderError.js
+var ProviderError;
+var init_ProviderError = __esm({
+ "../../node_modules/.pnpm/@smithy+core@3.36.1/node_modules/@smithy/core/dist-es/submodules/config/property-provider/ProviderError.js"() {
+ ProviderError = class _ProviderError extends Error {
+ static {
+ __name(this, "ProviderError");
+ }
+ name = "ProviderError";
+ tryNextLink;
+ constructor(message, options = true) {
+ let logger2;
+ let tryNextLink = true;
+ if (typeof options === "boolean") {
+ logger2 = void 0;
+ tryNextLink = options;
+ } else if (options != null && typeof options === "object") {
+ logger2 = options.logger;
+ tryNextLink = options.tryNextLink ?? true;
+ }
+ super(message);
+ this.tryNextLink = tryNextLink;
+ Object.setPrototypeOf(this, _ProviderError.prototype);
+ logger2?.debug?.(`@smithy/property-provider ${tryNextLink ? "->" : "(!)"} ${message}`);
+ }
+ static from(error2, options = true) {
+ return Object.assign(new this(error2.message, options), error2);
+ }
+ };
+ }
+});
+
+// ../../node_modules/.pnpm/@smithy+core@3.36.1/node_modules/@smithy/core/dist-es/submodules/config/property-provider/CredentialsProviderError.js
+var CredentialsProviderError;
+var init_CredentialsProviderError = __esm({
+ "../../node_modules/.pnpm/@smithy+core@3.36.1/node_modules/@smithy/core/dist-es/submodules/config/property-provider/CredentialsProviderError.js"() {
+ init_ProviderError();
+ CredentialsProviderError = class _CredentialsProviderError extends ProviderError {
+ static {
+ __name(this, "CredentialsProviderError");
+ }
+ name = "CredentialsProviderError";
+ constructor(message, options = true) {
+ super(message, options);
+ Object.setPrototypeOf(this, _CredentialsProviderError.prototype);
+ }
+ };
+ }
+});
+
+// ../../node_modules/.pnpm/@smithy+core@3.36.1/node_modules/@smithy/core/dist-es/submodules/config/property-provider/TokenProviderError.js
+var TokenProviderError;
+var init_TokenProviderError = __esm({
+ "../../node_modules/.pnpm/@smithy+core@3.36.1/node_modules/@smithy/core/dist-es/submodules/config/property-provider/TokenProviderError.js"() {
+ init_ProviderError();
+ TokenProviderError = class _TokenProviderError extends ProviderError {
+ static {
+ __name(this, "TokenProviderError");
+ }
+ name = "TokenProviderError";
+ constructor(message, options = true) {
+ super(message, options);
+ Object.setPrototypeOf(this, _TokenProviderError.prototype);
+ }
+ };
+ }
+});
+
+// ../../node_modules/.pnpm/@smithy+core@3.36.1/node_modules/@smithy/core/dist-es/submodules/config/property-provider/chain.js
+var chain;
+var init_chain = __esm({
+ "../../node_modules/.pnpm/@smithy+core@3.36.1/node_modules/@smithy/core/dist-es/submodules/config/property-provider/chain.js"() {
+ init_ProviderError();
+ chain = /* @__PURE__ */ __name((...providers) => async () => {
+ if (providers.length === 0) {
+ throw new ProviderError("No providers in chain");
+ }
+ let lastProviderError;
+ for (const provider of providers) {
+ try {
+ const credentials = await provider();
+ return credentials;
+ } catch (err) {
+ lastProviderError = err;
+ if (err?.tryNextLink) {
+ continue;
+ }
+ throw err;
+ }
+ }
+ throw lastProviderError;
+ }, "chain");
+ }
+});
+
+// ../../node_modules/.pnpm/@smithy+core@3.36.1/node_modules/@smithy/core/dist-es/submodules/config/property-provider/fromValue.js
+var fromValue;
+var init_fromValue = __esm({
+ "../../node_modules/.pnpm/@smithy+core@3.36.1/node_modules/@smithy/core/dist-es/submodules/config/property-provider/fromValue.js"() {
+ fromValue = /* @__PURE__ */ __name((staticValue) => () => Promise.resolve(staticValue), "fromValue");
+ }
+});
+
+// ../../node_modules/.pnpm/@smithy+core@3.36.1/node_modules/@smithy/core/dist-es/submodules/config/property-provider/memoize.js
+var memoize;
+var init_memoize = __esm({
+ "../../node_modules/.pnpm/@smithy+core@3.36.1/node_modules/@smithy/core/dist-es/submodules/config/property-provider/memoize.js"() {
+ memoize = /* @__PURE__ */ __name((provider, isExpired, requiresRefresh) => {
+ let resolved;
+ let pending;
+ let hasResult;
+ let isConstant = false;
+ const coalesceProvider = /* @__PURE__ */ __name(async () => {
+ if (!pending) {
+ pending = provider();
+ }
+ try {
+ resolved = await pending;
+ hasResult = true;
+ isConstant = false;
+ } finally {
+ pending = void 0;
+ }
+ return resolved;
+ }, "coalesceProvider");
+ if (isExpired === void 0) {
+ return async (options) => {
+ if (!hasResult || options?.forceRefresh) {
+ resolved = await coalesceProvider();
+ }
+ return resolved;
+ };
+ }
+ return async (options) => {
+ if (!hasResult || options?.forceRefresh) {
+ resolved = await coalesceProvider();
+ }
+ if (isConstant) {
+ return resolved;
+ }
+ if (requiresRefresh && !requiresRefresh(resolved)) {
+ isConstant = true;
+ return resolved;
+ }
+ if (isExpired(resolved)) {
+ await coalesceProvider();
+ return resolved;
+ }
+ return resolved;
+ };
+ }, "memoize");
+ }
+});
+
+// ../../node_modules/.pnpm/@smithy+core@3.36.1/node_modules/@smithy/core/dist-es/submodules/config/util-config-provider/booleanSelector.js
+var booleanSelector;
+var init_booleanSelector = __esm({
+ "../../node_modules/.pnpm/@smithy+core@3.36.1/node_modules/@smithy/core/dist-es/submodules/config/util-config-provider/booleanSelector.js"() {
+ booleanSelector = /* @__PURE__ */ __name((obj, key, type) => {
+ if (!(key in obj))
+ return void 0;
+ if (obj[key] === "true")
+ return true;
+ if (obj[key] === "false")
+ return false;
+ throw new Error(`Cannot load ${type} "${key}". Expected "true" or "false", got ${obj[key]}.`);
+ }, "booleanSelector");
+ }
+});
+
+// ../../node_modules/.pnpm/@smithy+core@3.36.1/node_modules/@smithy/core/dist-es/submodules/config/util-config-provider/numberSelector.js
+var numberSelector;
+var init_numberSelector = __esm({
+ "../../node_modules/.pnpm/@smithy+core@3.36.1/node_modules/@smithy/core/dist-es/submodules/config/util-config-provider/numberSelector.js"() {
+ numberSelector = /* @__PURE__ */ __name((obj, key, type) => {
+ if (!(key in obj))
+ return void 0;
+ const numberValue = parseInt(obj[key], 10);
+ if (Number.isNaN(numberValue)) {
+ throw new TypeError(`Cannot load ${type} '${key}'. Expected number, got '${obj[key]}'.`);
+ }
+ return numberValue;
+ }, "numberSelector");
+ }
+});
+
+// ../../node_modules/.pnpm/@smithy+core@3.36.1/node_modules/@smithy/core/dist-es/submodules/config/util-config-provider/types.js
+var SelectorType;
+var init_types = __esm({
+ "../../node_modules/.pnpm/@smithy+core@3.36.1/node_modules/@smithy/core/dist-es/submodules/config/util-config-provider/types.js"() {
+ (function(SelectorType2) {
+ SelectorType2["ENV"] = "env";
+ SelectorType2["CONFIG"] = "shared config entry";
+ })(SelectorType || (SelectorType = {}));
+ }
+});
+
+// ../../node_modules/.pnpm/@smithy+core@3.36.1/node_modules/@smithy/core/dist-es/submodules/config/shared-ini-file-loader/getHomeDir.js
+import { homedir } from "node:os";
+import { sep } from "node:path";
+var homeDirCache, getHomeDirCacheKey, getHomeDir;
+var init_getHomeDir = __esm({
+ "../../node_modules/.pnpm/@smithy+core@3.36.1/node_modules/@smithy/core/dist-es/submodules/config/shared-ini-file-loader/getHomeDir.js"() {
+ homeDirCache = {};
+ getHomeDirCacheKey = /* @__PURE__ */ __name(() => {
+ if (process && process.geteuid) {
+ return `${process.geteuid()}`;
+ }
+ return "DEFAULT";
+ }, "getHomeDirCacheKey");
+ getHomeDir = /* @__PURE__ */ __name(() => {
+ const { HOME, USERPROFILE, HOMEPATH, HOMEDRIVE = `C:${sep}` } = process.env;
+ if (HOME)
+ return HOME;
+ if (USERPROFILE)
+ return USERPROFILE;
+ if (HOMEPATH)
+ return `${HOMEDRIVE}${HOMEPATH}`;
+ const homeDirCacheKey = getHomeDirCacheKey();
+ if (!homeDirCache[homeDirCacheKey])
+ homeDirCache[homeDirCacheKey] = homedir();
+ return homeDirCache[homeDirCacheKey];
+ }, "getHomeDir");
+ }
+});
+
+// ../../node_modules/.pnpm/@smithy+core@3.36.1/node_modules/@smithy/core/dist-es/submodules/config/shared-ini-file-loader/getProfileName.js
+var ENV_PROFILE, DEFAULT_PROFILE, getProfileName;
+var init_getProfileName = __esm({
+ "../../node_modules/.pnpm/@smithy+core@3.36.1/node_modules/@smithy/core/dist-es/submodules/config/shared-ini-file-loader/getProfileName.js"() {
+ ENV_PROFILE = "AWS_PROFILE";
+ DEFAULT_PROFILE = "default";
+ getProfileName = /* @__PURE__ */ __name((init) => init.profile || process.env[ENV_PROFILE] || DEFAULT_PROFILE, "getProfileName");
+ }
+});
+
+// ../../node_modules/.pnpm/@smithy+core@3.36.1/node_modules/@smithy/core/dist-es/submodules/config/shared-ini-file-loader/getSSOTokenFilepath.js
+import { createHash } from "node:crypto";
+import { join } from "node:path";
+var getSSOTokenFilepath;
+var init_getSSOTokenFilepath = __esm({
+ "../../node_modules/.pnpm/@smithy+core@3.36.1/node_modules/@smithy/core/dist-es/submodules/config/shared-ini-file-loader/getSSOTokenFilepath.js"() {
+ init_getHomeDir();
+ getSSOTokenFilepath = /* @__PURE__ */ __name((id) => {
+ const hasher = createHash("sha1");
+ const cacheName = hasher.update(id).digest("hex");
+ return join(getHomeDir(), ".aws", "sso", "cache", `${cacheName}.json`);
+ }, "getSSOTokenFilepath");
+ }
+});
+
+// ../../node_modules/.pnpm/@smithy+core@3.36.1/node_modules/@smithy/core/dist-es/submodules/config/shared-ini-file-loader/getSSOTokenFromFile.js
+import { readFile } from "node:fs/promises";
+var tokenIntercept, getSSOTokenFromFile;
+var init_getSSOTokenFromFile = __esm({
+ "../../node_modules/.pnpm/@smithy+core@3.36.1/node_modules/@smithy/core/dist-es/submodules/config/shared-ini-file-loader/getSSOTokenFromFile.js"() {
+ init_getSSOTokenFilepath();
+ tokenIntercept = {};
+ getSSOTokenFromFile = /* @__PURE__ */ __name(async (id) => {
+ if (tokenIntercept[id]) {
+ return tokenIntercept[id];
+ }
+ const ssoTokenFilepath = getSSOTokenFilepath(id);
+ const ssoTokenText = await readFile(ssoTokenFilepath, "utf8");
+ return JSON.parse(ssoTokenText);
+ }, "getSSOTokenFromFile");
+ }
+});
+
+// ../../node_modules/.pnpm/@smithy+core@3.36.1/node_modules/@smithy/core/dist-es/submodules/config/shared-ini-file-loader/constants.js
+var CONFIG_PREFIX_SEPARATOR;
+var init_constants = __esm({
+ "../../node_modules/.pnpm/@smithy+core@3.36.1/node_modules/@smithy/core/dist-es/submodules/config/shared-ini-file-loader/constants.js"() {
+ CONFIG_PREFIX_SEPARATOR = ".";
+ }
+});
+
+// ../../node_modules/.pnpm/@smithy+core@3.36.1/node_modules/@smithy/core/dist-es/submodules/config/shared-ini-file-loader/getConfigData.js
+var import_types2, getConfigData;
+var init_getConfigData = __esm({
+ "../../node_modules/.pnpm/@smithy+core@3.36.1/node_modules/@smithy/core/dist-es/submodules/config/shared-ini-file-loader/getConfigData.js"() {
+ import_types2 = __toESM(require_dist_cjs());
+ init_constants();
+ getConfigData = /* @__PURE__ */ __name((data) => Object.entries(data).filter(([key]) => {
+ const indexOfSeparator = key.indexOf(CONFIG_PREFIX_SEPARATOR);
+ if (indexOfSeparator === -1) {
+ return false;
+ }
+ return Object.values(import_types2.IniSectionType).includes(key.substring(0, indexOfSeparator));
+ }).reduce((acc, [key, value]) => {
+ const indexOfSeparator = key.indexOf(CONFIG_PREFIX_SEPARATOR);
+ const updatedKey = key.substring(0, indexOfSeparator) === import_types2.IniSectionType.PROFILE ? key.substring(indexOfSeparator + 1) : key;
+ acc[updatedKey] = value;
+ return acc;
+ }, {
+ ...data.default && { default: data.default }
+ }), "getConfigData");
+ }
+});
+
+// ../../node_modules/.pnpm/@smithy+core@3.36.1/node_modules/@smithy/core/dist-es/submodules/config/shared-ini-file-loader/getConfigFilepath.js
+import { join as join2 } from "node:path";
+var ENV_CONFIG_PATH, getConfigFilepath;
+var init_getConfigFilepath = __esm({
+ "../../node_modules/.pnpm/@smithy+core@3.36.1/node_modules/@smithy/core/dist-es/submodules/config/shared-ini-file-loader/getConfigFilepath.js"() {
+ init_getHomeDir();
+ ENV_CONFIG_PATH = "AWS_CONFIG_FILE";
+ getConfigFilepath = /* @__PURE__ */ __name(() => process.env[ENV_CONFIG_PATH] || join2(getHomeDir(), ".aws", "config"), "getConfigFilepath");
+ }
+});
+
+// ../../node_modules/.pnpm/@smithy+core@3.36.1/node_modules/@smithy/core/dist-es/submodules/config/shared-ini-file-loader/getCredentialsFilepath.js
+import { join as join3 } from "node:path";
+var ENV_CREDENTIALS_PATH, getCredentialsFilepath;
+var init_getCredentialsFilepath = __esm({
+ "../../node_modules/.pnpm/@smithy+core@3.36.1/node_modules/@smithy/core/dist-es/submodules/config/shared-ini-file-loader/getCredentialsFilepath.js"() {
+ init_getHomeDir();
+ ENV_CREDENTIALS_PATH = "AWS_SHARED_CREDENTIALS_FILE";
+ getCredentialsFilepath = /* @__PURE__ */ __name(() => process.env[ENV_CREDENTIALS_PATH] || join3(getHomeDir(), ".aws", "credentials"), "getCredentialsFilepath");
+ }
+});
+
+// ../../node_modules/.pnpm/@smithy+core@3.36.1/node_modules/@smithy/core/dist-es/submodules/config/shared-ini-file-loader/parseIni.js
+var import_types3, prefixKeyRegex, profileNameBlockList, parseIni;
+var init_parseIni = __esm({
+ "../../node_modules/.pnpm/@smithy+core@3.36.1/node_modules/@smithy/core/dist-es/submodules/config/shared-ini-file-loader/parseIni.js"() {
+ import_types3 = __toESM(require_dist_cjs());
+ init_constants();
+ prefixKeyRegex = /^([\w-]+)\s(["'])?([\w-@+.%:/]+)\2$/;
+ profileNameBlockList = ["__proto__", "profile __proto__"];
+ parseIni = /* @__PURE__ */ __name((iniData) => {
+ const map3 = {};
+ let currentSection;
+ let currentSubSection;
+ for (const iniLine of iniData.split(/\r?\n/)) {
+ const trimmedLine = iniLine.split(/(^|\s)[;#]/)[0].trim();
+ const isSection = trimmedLine[0] === "[" && trimmedLine[trimmedLine.length - 1] === "]";
+ if (isSection) {
+ currentSection = void 0;
+ currentSubSection = void 0;
+ const sectionName = trimmedLine.substring(1, trimmedLine.length - 1);
+ const matches = prefixKeyRegex.exec(sectionName);
+ if (matches) {
+ const [, prefix, , name] = matches;
+ if (Object.values(import_types3.IniSectionType).includes(prefix)) {
+ currentSection = [prefix, name].join(CONFIG_PREFIX_SEPARATOR);
+ }
+ } else {
+ currentSection = sectionName;
+ }
+ if (profileNameBlockList.includes(sectionName)) {
+ throw new Error(`Found invalid profile name "${sectionName}"`);
+ }
+ } else if (currentSection) {
+ const indexOfEqualsSign = trimmedLine.indexOf("=");
+ if (![0, -1].includes(indexOfEqualsSign)) {
+ const [name, value] = [
+ trimmedLine.substring(0, indexOfEqualsSign).trim(),
+ trimmedLine.substring(indexOfEqualsSign + 1).trim()
+ ];
+ if (value === "") {
+ currentSubSection = name;
+ } else {
+ if (currentSubSection && iniLine.trimStart() === iniLine) {
+ currentSubSection = void 0;
+ }
+ map3[currentSection] = map3[currentSection] || {};
+ const key = currentSubSection ? [currentSubSection, name].join(CONFIG_PREFIX_SEPARATOR) : name;
+ map3[currentSection][key] = value;
+ }
+ }
+ }
+ }
+ return map3;
+ }, "parseIni");
+ }
+});
+
+// ../../node_modules/.pnpm/@smithy+core@3.36.1/node_modules/@smithy/core/dist-es/submodules/config/shared-ini-file-loader/readFile.js
+import { readFile as fsReadFile } from "node:fs/promises";
+var filePromises, fileIntercept, readFile2;
+var init_readFile = __esm({
+ "../../node_modules/.pnpm/@smithy+core@3.36.1/node_modules/@smithy/core/dist-es/submodules/config/shared-ini-file-loader/readFile.js"() {
+ filePromises = {};
+ fileIntercept = {};
+ readFile2 = /* @__PURE__ */ __name((path, options) => {
+ if (fileIntercept[path] !== void 0) {
+ return fileIntercept[path];
+ }
+ if (!filePromises[path] || options?.ignoreCache) {
+ filePromises[path] = fsReadFile(path, "utf8");
+ }
+ return filePromises[path];
+ }, "readFile");
+ }
+});
+
+// ../../node_modules/.pnpm/@smithy+core@3.36.1/node_modules/@smithy/core/dist-es/submodules/config/shared-ini-file-loader/loadSharedConfigFiles.js
+import { join as join4 } from "node:path";
+var swallowError, loadSharedConfigFiles;
+var init_loadSharedConfigFiles = __esm({
+ "../../node_modules/.pnpm/@smithy+core@3.36.1/node_modules/@smithy/core/dist-es/submodules/config/shared-ini-file-loader/loadSharedConfigFiles.js"() {
+ init_getConfigData();
+ init_getConfigFilepath();
+ init_getCredentialsFilepath();
+ init_getHomeDir();
+ init_parseIni();
+ init_readFile();
+ init_constants();
+ swallowError = /* @__PURE__ */ __name(() => ({}), "swallowError");
+ loadSharedConfigFiles = /* @__PURE__ */ __name(async (init = {}) => {
+ const { filepath = getCredentialsFilepath(), configFilepath = getConfigFilepath() } = init;
+ const homeDir = getHomeDir();
+ const relativeHomeDirPrefix = "~/";
+ let resolvedFilepath = filepath;
+ if (filepath.startsWith(relativeHomeDirPrefix)) {
+ resolvedFilepath = join4(homeDir, filepath.slice(2));
+ }
+ let resolvedConfigFilepath = configFilepath;
+ if (configFilepath.startsWith(relativeHomeDirPrefix)) {
+ resolvedConfigFilepath = join4(homeDir, configFilepath.slice(2));
+ }
+ const parsedFiles = await Promise.all([
+ readFile2(resolvedConfigFilepath, {
+ ignoreCache: init.ignoreCache
+ }).then(parseIni).then(getConfigData).catch(swallowError),
+ readFile2(resolvedFilepath, {
+ ignoreCache: init.ignoreCache
+ }).then(parseIni).catch(swallowError)
+ ]);
+ return {
+ configFile: parsedFiles[0],
+ credentialsFile: parsedFiles[1]
+ };
+ }, "loadSharedConfigFiles");
+ }
+});
+
+// ../../node_modules/.pnpm/@smithy+core@3.36.1/node_modules/@smithy/core/dist-es/submodules/config/shared-ini-file-loader/getSsoSessionData.js
+var import_types4, getSsoSessionData;
+var init_getSsoSessionData = __esm({
+ "../../node_modules/.pnpm/@smithy+core@3.36.1/node_modules/@smithy/core/dist-es/submodules/config/shared-ini-file-loader/getSsoSessionData.js"() {
+ import_types4 = __toESM(require_dist_cjs());
+ init_loadSharedConfigFiles();
+ getSsoSessionData = /* @__PURE__ */ __name((data) => Object.entries(data).filter(([key]) => key.startsWith(import_types4.IniSectionType.SSO_SESSION + CONFIG_PREFIX_SEPARATOR)).reduce((acc, [key, value]) => ({ ...acc, [key.substring(key.indexOf(CONFIG_PREFIX_SEPARATOR) + 1)]: value }), {}), "getSsoSessionData");
+ }
+});
+
+// ../../node_modules/.pnpm/@smithy+core@3.36.1/node_modules/@smithy/core/dist-es/submodules/config/shared-ini-file-loader/loadSsoSessionData.js
+var swallowError2, loadSsoSessionData;
+var init_loadSsoSessionData = __esm({
+ "../../node_modules/.pnpm/@smithy+core@3.36.1/node_modules/@smithy/core/dist-es/submodules/config/shared-ini-file-loader/loadSsoSessionData.js"() {
+ init_getConfigFilepath();
+ init_getSsoSessionData();
+ init_parseIni();
+ init_readFile();
+ swallowError2 = /* @__PURE__ */ __name(() => ({}), "swallowError");
+ loadSsoSessionData = /* @__PURE__ */ __name(async (init = {}) => readFile2(init.configFilepath ?? getConfigFilepath()).then(parseIni).then(getSsoSessionData).catch(swallowError2), "loadSsoSessionData");
+ }
+});
+
+// ../../node_modules/.pnpm/@smithy+core@3.36.1/node_modules/@smithy/core/dist-es/submodules/config/shared-ini-file-loader/mergeConfigFiles.js
+var mergeConfigFiles;
+var init_mergeConfigFiles = __esm({
+ "../../node_modules/.pnpm/@smithy+core@3.36.1/node_modules/@smithy/core/dist-es/submodules/config/shared-ini-file-loader/mergeConfigFiles.js"() {
+ mergeConfigFiles = /* @__PURE__ */ __name((...files) => {
+ const merged = {};
+ for (const file of files) {
+ for (const [key, values] of Object.entries(file)) {
+ if (merged[key] !== void 0) {
+ Object.assign(merged[key], values);
+ } else {
+ merged[key] = values;
+ }
+ }
+ }
+ return merged;
+ }, "mergeConfigFiles");
+ }
+});
+
+// ../../node_modules/.pnpm/@smithy+core@3.36.1/node_modules/@smithy/core/dist-es/submodules/config/shared-ini-file-loader/parseKnownFiles.js
+var parseKnownFiles;
+var init_parseKnownFiles = __esm({
+ "../../node_modules/.pnpm/@smithy+core@3.36.1/node_modules/@smithy/core/dist-es/submodules/config/shared-ini-file-loader/parseKnownFiles.js"() {
+ init_loadSharedConfigFiles();
+ init_mergeConfigFiles();
+ parseKnownFiles = /* @__PURE__ */ __name(async (init) => {
+ const parsedFiles = await loadSharedConfigFiles(init);
+ return mergeConfigFiles(parsedFiles.configFile, parsedFiles.credentialsFile);
+ }, "parseKnownFiles");
+ }
+});
+
+// ../../node_modules/.pnpm/@smithy+core@3.36.1/node_modules/@smithy/core/dist-es/submodules/config/shared-ini-file-loader/externalDataInterceptor.js
+var externalDataInterceptor;
+var init_externalDataInterceptor = __esm({
+ "../../node_modules/.pnpm/@smithy+core@3.36.1/node_modules/@smithy/core/dist-es/submodules/config/shared-ini-file-loader/externalDataInterceptor.js"() {
+ init_getSSOTokenFromFile();
+ init_readFile();
+ externalDataInterceptor = {
+ getFileRecord() {
+ return fileIntercept;
+ },
+ interceptFile(path, contents) {
+ fileIntercept[path] = Promise.resolve(contents);
+ },
+ getTokenRecord() {
+ return tokenIntercept;
+ },
+ interceptToken(id, contents) {
+ tokenIntercept[id] = contents;
+ }
+ };
+ }
+});
+
+// ../../node_modules/.pnpm/@smithy+core@3.36.1/node_modules/@smithy/core/dist-es/submodules/config/node-config-provider/getSelectorName.js
+function getSelectorName(functionString) {
+ try {
+ const constants = new Set(Array.from(functionString.match(/([A-Z_]){3,}/g) ?? []));
+ constants.delete("CONFIG");
+ constants.delete("CONFIG_PREFIX_SEPARATOR");
+ constants.delete("ENV");
+ return [...constants].join(", ");
+ } catch (ignored) {
+ return functionString;
+ }
+}
+var init_getSelectorName = __esm({
+ "../../node_modules/.pnpm/@smithy+core@3.36.1/node_modules/@smithy/core/dist-es/submodules/config/node-config-provider/getSelectorName.js"() {
+ __name(getSelectorName, "getSelectorName");
+ }
+});
+
+// ../../node_modules/.pnpm/@smithy+core@3.36.1/node_modules/@smithy/core/dist-es/submodules/config/node-config-provider/fromEnv.js
+var fromEnv;
+var init_fromEnv = __esm({
+ "../../node_modules/.pnpm/@smithy+core@3.36.1/node_modules/@smithy/core/dist-es/submodules/config/node-config-provider/fromEnv.js"() {
+ init_CredentialsProviderError();
+ init_getSelectorName();
+ fromEnv = /* @__PURE__ */ __name((envVarSelector, options) => async () => {
+ try {
+ const config = envVarSelector(process.env, options);
+ if (config === void 0) {
+ throw new Error();
+ }
+ return config;
+ } catch (e) {
+ throw new CredentialsProviderError(e.message || `Not found in ENV: ${getSelectorName(envVarSelector.toString())}`, { logger: options?.logger });
+ }
+ }, "fromEnv");
+ }
+});
+
+// ../../node_modules/.pnpm/@smithy+core@3.36.1/node_modules/@smithy/core/dist-es/submodules/config/node-config-provider/fromSharedConfigFiles.js
+var fromSharedConfigFiles;
+var init_fromSharedConfigFiles = __esm({
+ "../../node_modules/.pnpm/@smithy+core@3.36.1/node_modules/@smithy/core/dist-es/submodules/config/node-config-provider/fromSharedConfigFiles.js"() {
+ init_CredentialsProviderError();
+ init_getProfileName();
+ init_loadSharedConfigFiles();
+ init_getSelectorName();
+ fromSharedConfigFiles = /* @__PURE__ */ __name((configSelector, { preferredFile = "config", ...init } = {}) => async () => {
+ const profile = getProfileName(init);
+ const { configFile, credentialsFile } = await loadSharedConfigFiles(init);
+ const profileFromCredentials = credentialsFile[profile] || {};
+ const profileFromConfig = configFile[profile] || {};
+ const mergedProfile = preferredFile === "config" ? { ...profileFromCredentials, ...profileFromConfig } : { ...profileFromConfig, ...profileFromCredentials };
+ try {
+ const cfgFile = preferredFile === "config" ? configFile : credentialsFile;
+ const configValue = configSelector(mergedProfile, cfgFile);
+ if (configValue === void 0) {
+ throw new Error();
+ }
+ return configValue;
+ } catch (e) {
+ throw new CredentialsProviderError(e.message || `Not found in config files w/ profile [${profile}]: ${getSelectorName(configSelector.toString())}`, { logger: init.logger });
+ }
+ }, "fromSharedConfigFiles");
+ }
+});
+
+// ../../node_modules/.pnpm/@smithy+core@3.36.1/node_modules/@smithy/core/dist-es/submodules/config/node-config-provider/fromStatic.js
+var isFunction, fromStatic;
+var init_fromStatic = __esm({
+ "../../node_modules/.pnpm/@smithy+core@3.36.1/node_modules/@smithy/core/dist-es/submodules/config/node-config-provider/fromStatic.js"() {
+ init_fromValue();
+ isFunction = /* @__PURE__ */ __name((func) => typeof func === "function", "isFunction");
+ fromStatic = /* @__PURE__ */ __name((defaultValue) => isFunction(defaultValue) ? async () => await defaultValue() : fromValue(defaultValue), "fromStatic");
+ }
+});
+
+// ../../node_modules/.pnpm/@smithy+core@3.36.1/node_modules/@smithy/core/dist-es/submodules/config/node-config-provider/configLoader.js
+var loadConfig;
+var init_configLoader = __esm({
+ "../../node_modules/.pnpm/@smithy+core@3.36.1/node_modules/@smithy/core/dist-es/submodules/config/node-config-provider/configLoader.js"() {
+ init_chain();
+ init_memoize();
+ init_fromEnv();
+ init_fromSharedConfigFiles();
+ init_fromStatic();
+ loadConfig = /* @__PURE__ */ __name(({ environmentVariableSelector, configFileSelector, default: defaultValue }, configuration = {}) => {
+ const { signingName, logger: logger2 } = configuration;
+ const envOptions = { signingName, logger: logger2 };
+ return memoize(chain(fromEnv(environmentVariableSelector, envOptions), fromSharedConfigFiles(configFileSelector, configuration), fromStatic(defaultValue)));
+ }, "loadConfig");
+ }
+});
+
+// ../../node_modules/.pnpm/@smithy+core@3.36.1/node_modules/@smithy/core/dist-es/submodules/config/config-resolver/endpointsConfig/NodeUseDualstackEndpointConfigOptions.js
+var ENV_USE_DUALSTACK_ENDPOINT, CONFIG_USE_DUALSTACK_ENDPOINT, DEFAULT_USE_DUALSTACK_ENDPOINT, NODE_USE_DUALSTACK_ENDPOINT_CONFIG_OPTIONS, nodeDualstackConfigSelectors;
+var init_NodeUseDualstackEndpointConfigOptions = __esm({
+ "../../node_modules/.pnpm/@smithy+core@3.36.1/node_modules/@smithy/core/dist-es/submodules/config/config-resolver/endpointsConfig/NodeUseDualstackEndpointConfigOptions.js"() {
+ init_booleanSelector();
+ init_types();
+ ENV_USE_DUALSTACK_ENDPOINT = "AWS_USE_DUALSTACK_ENDPOINT";
+ CONFIG_USE_DUALSTACK_ENDPOINT = "use_dualstack_endpoint";
+ DEFAULT_USE_DUALSTACK_ENDPOINT = false;
+ NODE_USE_DUALSTACK_ENDPOINT_CONFIG_OPTIONS = {
+ environmentVariableSelector: /* @__PURE__ */ __name((env) => booleanSelector(env, ENV_USE_DUALSTACK_ENDPOINT, SelectorType.ENV), "environmentVariableSelector"),
+ configFileSelector: /* @__PURE__ */ __name((profile) => booleanSelector(profile, CONFIG_USE_DUALSTACK_ENDPOINT, SelectorType.CONFIG), "configFileSelector"),
+ default: false
+ };
+ nodeDualstackConfigSelectors = {
+ environmentVariableSelector: /* @__PURE__ */ __name((env) => booleanSelector(env, ENV_USE_DUALSTACK_ENDPOINT, SelectorType.ENV), "environmentVariableSelector"),
+ configFileSelector: /* @__PURE__ */ __name((profile) => booleanSelector(profile, CONFIG_USE_DUALSTACK_ENDPOINT, SelectorType.CONFIG), "configFileSelector"),
+ default: void 0
+ };
+ }
+});
+
+// ../../node_modules/.pnpm/@smithy+core@3.36.1/node_modules/@smithy/core/dist-es/submodules/config/config-resolver/endpointsConfig/NodeUseFipsEndpointConfigOptions.js
+var ENV_USE_FIPS_ENDPOINT, CONFIG_USE_FIPS_ENDPOINT, DEFAULT_USE_FIPS_ENDPOINT, NODE_USE_FIPS_ENDPOINT_CONFIG_OPTIONS, nodeFipsConfigSelectors;
+var init_NodeUseFipsEndpointConfigOptions = __esm({
+ "../../node_modules/.pnpm/@smithy+core@3.36.1/node_modules/@smithy/core/dist-es/submodules/config/config-resolver/endpointsConfig/NodeUseFipsEndpointConfigOptions.js"() {
+ init_booleanSelector();
+ init_types();
+ ENV_USE_FIPS_ENDPOINT = "AWS_USE_FIPS_ENDPOINT";
+ CONFIG_USE_FIPS_ENDPOINT = "use_fips_endpoint";
+ DEFAULT_USE_FIPS_ENDPOINT = false;
+ NODE_USE_FIPS_ENDPOINT_CONFIG_OPTIONS = {
+ environmentVariableSelector: /* @__PURE__ */ __name((env) => booleanSelector(env, ENV_USE_FIPS_ENDPOINT, SelectorType.ENV), "environmentVariableSelector"),
+ configFileSelector: /* @__PURE__ */ __name((profile) => booleanSelector(profile, CONFIG_USE_FIPS_ENDPOINT, SelectorType.CONFIG), "configFileSelector"),
+ default: false
+ };
+ nodeFipsConfigSelectors = {
+ environmentVariableSelector: /* @__PURE__ */ __name((env) => booleanSelector(env, ENV_USE_FIPS_ENDPOINT, SelectorType.ENV), "environmentVariableSelector"),
+ configFileSelector: /* @__PURE__ */ __name((profile) => booleanSelector(profile, CONFIG_USE_FIPS_ENDPOINT, SelectorType.CONFIG), "configFileSelector"),
+ default: void 0
+ };
+ }
+});
+
+// ../../node_modules/.pnpm/@smithy+core@3.36.1/node_modules/@smithy/core/dist-es/submodules/client/middleware-stack/MiddlewareStack.js
+var getAllAliases, getMiddlewareNameWithAliases, constructStack, stepWeights, priorityWeights;
+var init_MiddlewareStack = __esm({
+ "../../node_modules/.pnpm/@smithy+core@3.36.1/node_modules/@smithy/core/dist-es/submodules/client/middleware-stack/MiddlewareStack.js"() {
+ getAllAliases = /* @__PURE__ */ __name((name, aliases) => {
+ const _aliases = [];
+ if (name) {
+ _aliases.push(name);
+ }
+ if (aliases) {
+ for (const alias of aliases) {
+ _aliases.push(alias);
+ }
+ }
+ return _aliases;
+ }, "getAllAliases");
+ getMiddlewareNameWithAliases = /* @__PURE__ */ __name((name, aliases) => {
+ return `${name || "anonymous"}${aliases && aliases.length > 0 ? ` (a.k.a. ${aliases.join(",")})` : ""}`;
+ }, "getMiddlewareNameWithAliases");
+ constructStack = /* @__PURE__ */ __name(() => {
+ let absoluteEntries = [];
+ let relativeEntries = [];
+ let identifyOnResolve = false;
+ const entriesNameSet = /* @__PURE__ */ new Set();
+ const sort = /* @__PURE__ */ __name((entries) => entries.sort((a, b) => stepWeights[b.step] - stepWeights[a.step] || priorityWeights[b.priority || "normal"] - priorityWeights[a.priority || "normal"]), "sort");
+ const removeByName = /* @__PURE__ */ __name((toRemove) => {
+ let isRemoved = false;
+ const filterCb = /* @__PURE__ */ __name((entry) => {
+ const aliases = getAllAliases(entry.name, entry.aliases);
+ if (aliases.includes(toRemove)) {
+ isRemoved = true;
+ for (const alias of aliases) {
+ entriesNameSet.delete(alias);
+ }
+ return false;
+ }
+ return true;
+ }, "filterCb");
+ absoluteEntries = absoluteEntries.filter(filterCb);
+ relativeEntries = relativeEntries.filter(filterCb);
+ return isRemoved;
+ }, "removeByName");
+ const removeByReference = /* @__PURE__ */ __name((toRemove) => {
+ let isRemoved = false;
+ const filterCb = /* @__PURE__ */ __name((entry) => {
+ if (entry.middleware === toRemove) {
+ isRemoved = true;
+ for (const alias of getAllAliases(entry.name, entry.aliases)) {
+ entriesNameSet.delete(alias);
+ }
+ return false;
+ }
+ return true;
+ }, "filterCb");
+ absoluteEntries = absoluteEntries.filter(filterCb);
+ relativeEntries = relativeEntries.filter(filterCb);
+ return isRemoved;
+ }, "removeByReference");
+ const cloneTo = /* @__PURE__ */ __name((toStack) => {
+ absoluteEntries.forEach((entry) => {
+ toStack.add(entry.middleware, { ...entry });
+ });
+ relativeEntries.forEach((entry) => {
+ toStack.addRelativeTo(entry.middleware, { ...entry });
+ });
+ toStack.identifyOnResolve?.(stack.identifyOnResolve());
+ return toStack;
+ }, "cloneTo");
+ const expandRelativeMiddlewareList = /* @__PURE__ */ __name((from) => {
+ const expandedMiddlewareList = [];
+ from.before.forEach((entry) => {
+ if (entry.before.length === 0 && entry.after.length === 0) {
+ expandedMiddlewareList.push(entry);
+ } else {
+ expandedMiddlewareList.push(...expandRelativeMiddlewareList(entry));
+ }
+ });
+ expandedMiddlewareList.push(from);
+ from.after.reverse().forEach((entry) => {
+ if (entry.before.length === 0 && entry.after.length === 0) {
+ expandedMiddlewareList.push(entry);
+ } else {
+ expandedMiddlewareList.push(...expandRelativeMiddlewareList(entry));
+ }
+ });
+ return expandedMiddlewareList;
+ }, "expandRelativeMiddlewareList");
+ const getMiddlewareList = /* @__PURE__ */ __name((debug = false) => {
+ const normalizedAbsoluteEntries = [];
+ const normalizedRelativeEntries = [];
+ const normalizedEntriesNameMap = {};
+ absoluteEntries.forEach((entry) => {
+ const normalizedEntry = {
+ ...entry,
+ before: [],
+ after: []
+ };
+ for (const alias of getAllAliases(normalizedEntry.name, normalizedEntry.aliases)) {
+ normalizedEntriesNameMap[alias] = normalizedEntry;
+ }
+ normalizedAbsoluteEntries.push(normalizedEntry);
+ });
+ relativeEntries.forEach((entry) => {
+ const normalizedEntry = {
+ ...entry,
+ before: [],
+ after: []
+ };
+ for (const alias of getAllAliases(normalizedEntry.name, normalizedEntry.aliases)) {
+ normalizedEntriesNameMap[alias] = normalizedEntry;
+ }
+ normalizedRelativeEntries.push(normalizedEntry);
+ });
+ normalizedRelativeEntries.forEach((entry) => {
+ if (entry.toMiddleware) {
+ const toMiddleware = normalizedEntriesNameMap[entry.toMiddleware];
+ if (toMiddleware === void 0) {
+ if (debug) {
+ return;
+ }
+ throw new Error(`${entry.toMiddleware} is not found when adding ${getMiddlewareNameWithAliases(entry.name, entry.aliases)} middleware ${entry.relation} ${entry.toMiddleware}`);
+ }
+ if (entry.relation === "after") {
+ toMiddleware.after.push(entry);
+ }
+ if (entry.relation === "before") {
+ toMiddleware.before.push(entry);
+ }
+ }
+ });
+ const mainChain = sort(normalizedAbsoluteEntries).map(expandRelativeMiddlewareList).reduce((wholeList, expandedMiddlewareList) => {
+ wholeList.push(...expandedMiddlewareList);
+ return wholeList;
+ }, []);
+ return mainChain;
+ }, "getMiddlewareList");
+ const stack = {
+ add: /* @__PURE__ */ __name((middleware, options = {}) => {
+ const { name, override, aliases: _aliases } = options;
+ const entry = {
+ step: "initialize",
+ priority: "normal",
+ middleware,
+ ...options
+ };
+ const aliases = getAllAliases(name, _aliases);
+ if (aliases.length > 0) {
+ if (aliases.some((alias) => entriesNameSet.has(alias))) {
+ if (!override)
+ throw new Error(`Duplicate middleware name '${getMiddlewareNameWithAliases(name, _aliases)}'`);
+ for (const alias of aliases) {
+ const toOverrideIndex = absoluteEntries.findIndex((entry2) => entry2.name === alias || entry2.aliases?.some((a) => a === alias));
+ if (toOverrideIndex === -1) {
+ continue;
+ }
+ const toOverride = absoluteEntries[toOverrideIndex];
+ if (toOverride.step !== entry.step || entry.priority !== toOverride.priority) {
+ throw new Error(`"${getMiddlewareNameWithAliases(toOverride.name, toOverride.aliases)}" middleware with ${toOverride.priority} priority in ${toOverride.step} step cannot be overridden by "${getMiddlewareNameWithAliases(name, _aliases)}" middleware with ${entry.priority} priority in ${entry.step} step.`);
+ }
+ absoluteEntries.splice(toOverrideIndex, 1);
+ }
+ }
+ for (const alias of aliases) {
+ entriesNameSet.add(alias);
+ }
+ }
+ absoluteEntries.push(entry);
+ }, "add"),
+ addRelativeTo: /* @__PURE__ */ __name((middleware, options) => {
+ const { name, override, aliases: _aliases } = options;
+ const entry = {
+ middleware,
+ ...options
+ };
+ const aliases = getAllAliases(name, _aliases);
+ if (aliases.length > 0) {
+ if (aliases.some((alias) => entriesNameSet.has(alias))) {
+ if (!override)
+ throw new Error(`Duplicate middleware name '${getMiddlewareNameWithAliases(name, _aliases)}'`);
+ for (const alias of aliases) {
+ const toOverrideIndex = relativeEntries.findIndex((entry2) => entry2.name === alias || entry2.aliases?.some((a) => a === alias));
+ if (toOverrideIndex === -1) {
+ continue;
+ }
+ const toOverride = relativeEntries[toOverrideIndex];
+ if (toOverride.toMiddleware !== entry.toMiddleware || toOverride.relation !== entry.relation) {
+ throw new Error(`"${getMiddlewareNameWithAliases(toOverride.name, toOverride.aliases)}" middleware ${toOverride.relation} "${toOverride.toMiddleware}" middleware cannot be overridden by "${getMiddlewareNameWithAliases(name, _aliases)}" middleware ${entry.relation} "${entry.toMiddleware}" middleware.`);
+ }
+ relativeEntries.splice(toOverrideIndex, 1);
+ }
+ }
+ for (const alias of aliases) {
+ entriesNameSet.add(alias);
+ }
+ }
+ relativeEntries.push(entry);
+ }, "addRelativeTo"),
+ clone: /* @__PURE__ */ __name(() => cloneTo(constructStack()), "clone"),
+ use: /* @__PURE__ */ __name((plugin) => {
+ plugin.applyToStack(stack);
+ }, "use"),
+ remove: /* @__PURE__ */ __name((toRemove) => {
+ if (typeof toRemove === "string")
+ return removeByName(toRemove);
+ else
+ return removeByReference(toRemove);
+ }, "remove"),
+ removeByTag: /* @__PURE__ */ __name((toRemove) => {
+ let isRemoved = false;
+ const filterCb = /* @__PURE__ */ __name((entry) => {
+ const { tags, name, aliases: _aliases } = entry;
+ if (tags && tags.includes(toRemove)) {
+ const aliases = getAllAliases(name, _aliases);
+ for (const alias of aliases) {
+ entriesNameSet.delete(alias);
+ }
+ isRemoved = true;
+ return false;
+ }
+ return true;
+ }, "filterCb");
+ absoluteEntries = absoluteEntries.filter(filterCb);
+ relativeEntries = relativeEntries.filter(filterCb);
+ return isRemoved;
+ }, "removeByTag"),
+ concat: /* @__PURE__ */ __name((from) => {
+ const cloned = cloneTo(constructStack());
+ cloned.use(from);
+ cloned.identifyOnResolve(identifyOnResolve || cloned.identifyOnResolve() || (from.identifyOnResolve?.() ?? false));
+ return cloned;
+ }, "concat"),
+ applyToStack: cloneTo,
+ identify: /* @__PURE__ */ __name(() => {
+ return getMiddlewareList(true).map((mw) => {
+ const step = mw.step ?? mw.relation + " " + mw.toMiddleware;
+ return getMiddlewareNameWithAliases(mw.name, mw.aliases) + " - " + step;
+ });
+ }, "identify"),
+ identifyOnResolve(toggle) {
+ if (typeof toggle === "boolean")
+ identifyOnResolve = toggle;
+ return identifyOnResolve;
+ },
+ resolve: /* @__PURE__ */ __name((handler, context) => {
+ for (const middleware of getMiddlewareList().map((entry) => entry.middleware).reverse()) {
+ handler = middleware(handler, context);
+ }
+ if (identifyOnResolve) {
+ console.log(stack.identify());
+ }
+ return handler;
+ }, "resolve")
+ };
+ return stack;
+ }, "constructStack");
+ stepWeights = {
+ initialize: 5,
+ serialize: 4,
+ build: 3,
+ finalizeRequest: 2,
+ deserialize: 1
+ };
+ priorityWeights = {
+ high: 3,
+ normal: 2,
+ low: 1
+ };
+ }
+});
+
+// ../../node_modules/.pnpm/@smithy+core@3.36.1/node_modules/@smithy/core/dist-es/submodules/client/invalid-dependency/invalidFunction.js
+var invalidFunction;
+var init_invalidFunction = __esm({
+ "../../node_modules/.pnpm/@smithy+core@3.36.1/node_modules/@smithy/core/dist-es/submodules/client/invalid-dependency/invalidFunction.js"() {
+ invalidFunction = /* @__PURE__ */ __name((message) => () => {
+ throw new Error(message);
+ }, "invalidFunction");
+ }
+});
+
+// ../../node_modules/.pnpm/@smithy+core@3.36.1/node_modules/@smithy/core/dist-es/submodules/client/invalid-dependency/invalidProvider.js
+var invalidProvider;
+var init_invalidProvider = __esm({
+ "../../node_modules/.pnpm/@smithy+core@3.36.1/node_modules/@smithy/core/dist-es/submodules/client/invalid-dependency/invalidProvider.js"() {
+ invalidProvider = /* @__PURE__ */ __name((message) => () => Promise.reject(message), "invalidProvider");
+ }
+});
+
+// ../../node_modules/.pnpm/@smithy+core@3.36.1/node_modules/@smithy/core/dist-es/submodules/client/util-waiter/circularReplacer.js
+var getCircularReplacer;
+var init_circularReplacer = __esm({
+ "../../node_modules/.pnpm/@smithy+core@3.36.1/node_modules/@smithy/core/dist-es/submodules/client/util-waiter/circularReplacer.js"() {
+ getCircularReplacer = /* @__PURE__ */ __name(() => {
+ const seen = /* @__PURE__ */ new WeakSet();
+ return (key, value) => {
+ if (typeof value === "object" && value !== null) {
+ if (seen.has(value)) {
+ return "[Circular]";
+ }
+ seen.add(value);
+ }
+ return value;
+ };
+ }, "getCircularReplacer");
+ }
+});
+
+// ../../node_modules/.pnpm/@smithy+core@3.36.1/node_modules/@smithy/core/dist-es/submodules/client/util-waiter/utils/sleep.js
+var sleep;
+var init_sleep = __esm({
+ "../../node_modules/.pnpm/@smithy+core@3.36.1/node_modules/@smithy/core/dist-es/submodules/client/util-waiter/utils/sleep.js"() {
+ sleep = /* @__PURE__ */ __name((seconds) => {
+ return new Promise((resolve) => setTimeout(resolve, seconds * 1e3));
+ }, "sleep");
+ }
+});
+
+// ../../node_modules/.pnpm/@smithy+core@3.36.1/node_modules/@smithy/core/dist-es/submodules/client/util-waiter/waiter.js
+var waiterServiceDefaults, WaiterState, checkExceptions;
+var init_waiter = __esm({
+ "../../node_modules/.pnpm/@smithy+core@3.36.1/node_modules/@smithy/core/dist-es/submodules/client/util-waiter/waiter.js"() {
+ init_circularReplacer();
+ waiterServiceDefaults = {
+ minDelay: 2,
+ maxDelay: 120
+ };
+ (function(WaiterState2) {
+ WaiterState2["ABORTED"] = "ABORTED";
+ WaiterState2["FAILURE"] = "FAILURE";
+ WaiterState2["SUCCESS"] = "SUCCESS";
+ WaiterState2["RETRY"] = "RETRY";
+ WaiterState2["TIMEOUT"] = "TIMEOUT";
+ })(WaiterState || (WaiterState = {}));
+ checkExceptions = /* @__PURE__ */ __name((result) => {
+ if (result.state === WaiterState.ABORTED) {
+ const abortError = new Error(`${JSON.stringify({
+ ...result,
+ reason: "Request was aborted"
+ }, getCircularReplacer())}`);
+ abortError.name = "AbortError";
+ throw abortError;
+ } else if (result.state === WaiterState.TIMEOUT) {
+ const timeoutError = new Error(`${JSON.stringify({
+ ...result,
+ reason: "Waiter has timed out"
+ }, getCircularReplacer())}`);
+ timeoutError.name = "TimeoutError";
+ throw timeoutError;
+ } else if (result.state !== WaiterState.SUCCESS) {
+ throw new Error(`${JSON.stringify(result, getCircularReplacer())}`);
+ }
+ return result;
+ }, "checkExceptions");
+ }
+});
+
+// ../../node_modules/.pnpm/@smithy+core@3.36.1/node_modules/@smithy/core/dist-es/submodules/client/util-waiter/poller.js
+var runPolling, checkWarn403, createMessageFromResponse, exponentialBackoffWithJitter, randomInRange;
+var init_poller = __esm({
+ "../../node_modules/.pnpm/@smithy+core@3.36.1/node_modules/@smithy/core/dist-es/submodules/client/util-waiter/poller.js"() {
+ init_circularReplacer();
+ init_sleep();
+ init_waiter();
+ runPolling = /* @__PURE__ */ __name(async ({ minDelay, maxDelay, maxWaitTime, abortController, client, abortSignal }, input, acceptorChecks) => {
+ const observedResponses = {};
+ const [minDelayMs, maxDelayMs] = [minDelay * 1e3, maxDelay * 1e3];
+ let currentAttempt = 0;
+ const waitUntil = Date.now() + maxWaitTime * 1e3;
+ const warn403Time = Date.now() + 6e4;
+ let didWarn403 = false;
+ while (true) {
+ if (currentAttempt > 0) {
+ const delayMs = exponentialBackoffWithJitter(minDelayMs, maxDelayMs, currentAttempt, waitUntil);
+ if (abortController?.signal?.aborted || abortSignal?.aborted) {
+ const message = "AbortController signal aborted.";
+ observedResponses[message] |= 0;
+ observedResponses[message] += 1;
+ return { state: WaiterState.ABORTED, observedResponses };
+ }
+ if (Date.now() + delayMs > waitUntil) {
+ return { state: WaiterState.TIMEOUT, observedResponses };
+ }
+ await sleep(delayMs / 1e3);
+ }
+ const { state, reason } = await acceptorChecks(client, input);
+ if (reason) {
+ const message = createMessageFromResponse(reason);
+ observedResponses[message] |= 0;
+ observedResponses[message] += 1;
+ }
+ if (state !== WaiterState.RETRY) {
+ return { state, reason, final: reason, observedResponses };
+ }
+ currentAttempt += 1;
+ if (!didWarn403 && Date.now() >= warn403Time) {
+ checkWarn403(observedResponses, client);
+ didWarn403 = true;
+ }
+ }
+ }, "runPolling");
+ checkWarn403 = /* @__PURE__ */ __name((observedResponses = {}, client) => {
+ const orderedErrors = Object.keys(observedResponses);
+ let maxCount = 0;
+ let count403 = 0;
+ for (const response of orderedErrors) {
+ const n = observedResponses[response] | 0;
+ maxCount = Math.max(n, maxCount);
+ if (response.startsWith("403:")) {
+ count403 += n;
+ }
+ }
+ const clientLogger = client?.config?.logger;
+ const warningLogger = typeof clientLogger?.warn === "function" && !clientLogger.constructor?.name?.includes?.("NoOpLogger") ? clientLogger : console;
+ if (count403 >= 3 || orderedErrors[orderedErrors.length - 1]?.startsWith("403:")) {
+ warningLogger.warn(`@smithy/util-waiter WARN - 403 status code encountered during waiter polling.`);
+ }
+ }, "checkWarn403");
+ createMessageFromResponse = /* @__PURE__ */ __name((reason) => {
+ const status = reason?.$response?.statusCode ?? reason?.$metadata?.httpStatusCode;
+ if (reason?.$responseBodyText) {
+ return `${status ? status + ": " : ""}Deserialization error for body: ${reason.$responseBodyText}`;
+ }
+ if (status) {
+ if (reason?.$response || reason?.message) {
+ return `${status ?? "Unknown"}: ${reason?.message}`;
+ }
+ return `${status}: OK`;
+ }
+ return String(reason?.message ?? JSON.stringify(reason, getCircularReplacer()) ?? "Unknown");
+ }, "createMessageFromResponse");
+ exponentialBackoffWithJitter = /* @__PURE__ */ __name((minDelayMs, maxDelayMs, attempt, waitUntil) => {
+ const attemptCountCeiling = Math.log(maxDelayMs / minDelayMs) / Math.log(2) + 1;
+ if (attempt > attemptCountCeiling) {
+ return maxDelayMs;
+ }
+ const delay = minDelayMs * 2 ** (attempt - 1);
+ const capped = Math.min(delay, maxDelayMs);
+ const waitFor = randomInRange(minDelayMs, capped);
+ if (Date.now() + waitFor > waitUntil) {
+ const timeRemaining = waitUntil - Date.now();
+ return Math.max(0, timeRemaining - 500);
+ }
+ return waitFor;
+ }, "exponentialBackoffWithJitter");
+ randomInRange = /* @__PURE__ */ __name((min, max) => min + Math.random() * (max - min), "randomInRange");
+ }
+});
+
+// ../../node_modules/.pnpm/@smithy+core@3.36.1/node_modules/@smithy/core/dist-es/submodules/client/util-waiter/utils/validate.js
+var validateWaiterOptions;
+var init_validate = __esm({
+ "../../node_modules/.pnpm/@smithy+core@3.36.1/node_modules/@smithy/core/dist-es/submodules/client/util-waiter/utils/validate.js"() {
+ validateWaiterOptions = /* @__PURE__ */ __name((options) => {
+ if (options.maxWaitTime <= 0) {
+ throw new Error(`WaiterConfiguration.maxWaitTime must be greater than 0`);
+ } else if (options.minDelay <= 0) {
+ throw new Error(`WaiterConfiguration.minDelay must be greater than 0`);
+ } else if (options.maxDelay <= 0) {
+ throw new Error(`WaiterConfiguration.maxDelay must be greater than 0`);
+ } else if (options.maxWaitTime <= options.minDelay) {
+ throw new Error(`WaiterConfiguration.maxWaitTime [${options.maxWaitTime}] must be greater than WaiterConfiguration.minDelay [${options.minDelay}] for this waiter`);
+ } else if (options.maxDelay < options.minDelay) {
+ throw new Error(`WaiterConfiguration.maxDelay [${options.maxDelay}] must be greater than WaiterConfiguration.minDelay [${options.minDelay}] for this waiter`);
+ }
+ }, "validateWaiterOptions");
+ }
+});
+
+// ../../node_modules/.pnpm/@smithy+core@3.36.1/node_modules/@smithy/core/dist-es/submodules/client/util-waiter/createWaiter.js
+var abortTimeout, createWaiter;
+var init_createWaiter = __esm({
+ "../../node_modules/.pnpm/@smithy+core@3.36.1/node_modules/@smithy/core/dist-es/submodules/client/util-waiter/createWaiter.js"() {
+ init_poller();
+ init_validate();
+ init_waiter();
+ abortTimeout = /* @__PURE__ */ __name((abortSignal) => {
+ let onAbort;
+ const promise = new Promise((resolve) => {
+ onAbort = /* @__PURE__ */ __name(() => resolve({ state: WaiterState.ABORTED }), "onAbort");
+ if (typeof abortSignal.addEventListener === "function") {
+ abortSignal.addEventListener("abort", onAbort);
+ } else {
+ abortSignal.onabort = onAbort;
+ }
+ });
+ return {
+ clearListener() {
+ if (typeof abortSignal.removeEventListener === "function") {
+ abortSignal.removeEventListener("abort", onAbort);
+ }
+ },
+ aborted: promise
+ };
+ }, "abortTimeout");
+ createWaiter = /* @__PURE__ */ __name(async (options, input, acceptorChecks) => {
+ const params = {
+ ...waiterServiceDefaults,
+ ...options
+ };
+ validateWaiterOptions(params);
+ const exitConditions = [runPolling(params, input, acceptorChecks)];
+ const finalize = [];
+ if (options.abortSignal) {
+ const { aborted, clearListener } = abortTimeout(options.abortSignal);
+ finalize.push(clearListener);
+ exitConditions.push(aborted);
+ }
+ if (options.abortController?.signal) {
+ const { aborted, clearListener } = abortTimeout(options.abortController.signal);
+ finalize.push(clearListener);
+ exitConditions.push(aborted);
+ }
+ return Promise.race(exitConditions).then((result) => {
+ for (const fn of finalize) {
+ fn();
+ }
+ return result;
+ });
+ }, "createWaiter");
+ }
+});
+
+// ../../node_modules/.pnpm/@smithy+core@3.36.1/node_modules/@smithy/core/dist-es/submodules/client/smithy-client/client.js
+var Client;
+var init_client = __esm({
+ "../../node_modules/.pnpm/@smithy+core@3.36.1/node_modules/@smithy/core/dist-es/submodules/client/smithy-client/client.js"() {
+ init_MiddlewareStack();
+ Client = class {
+ static {
+ __name(this, "Client");
+ }
+ config;
+ middlewareStack = constructStack();
+ initConfig;
+ handlers;
+ constructor(config) {
+ this.config = config;
+ const { protocol, protocolSettings } = config;
+ if (protocolSettings) {
+ if (typeof protocol === "function") {
+ config.protocol = new protocol(protocolSettings);
+ }
+ }
+ }
+ send(command, optionsOrCb, cb) {
+ const options = typeof optionsOrCb !== "function" ? optionsOrCb : void 0;
+ const callback = typeof optionsOrCb === "function" ? optionsOrCb : cb;
+ const useHandlerCache = options === void 0 && this.config.cacheMiddleware === true;
+ let handler;
+ if (useHandlerCache) {
+ if (!this.handlers) {
+ this.handlers = /* @__PURE__ */ new WeakMap();
+ }
+ const handlers = this.handlers;
+ if (handlers.has(command.constructor)) {
+ handler = handlers.get(command.constructor);
+ } else {
+ handler = command.resolveMiddleware(this.middlewareStack, this.config, options);
+ handlers.set(command.constructor, handler);
+ }
+ } else {
+ delete this.handlers;
+ handler = command.resolveMiddleware(this.middlewareStack, this.config, options);
+ }
+ if (callback) {
+ handler(command).then((result) => callback(null, result.output), (err) => callback(err)).catch(() => {
+ });
+ } else {
+ return handler(command).then((result) => result.output);
+ }
+ }
+ destroy() {
+ this.config?.requestHandler?.destroy?.();
+ delete this.handlers;
+ }
+ };
+ }
+});
+
+// ../../node_modules/.pnpm/@smithy+core@3.36.1/node_modules/@smithy/core/dist-es/submodules/schema/deref.js
+var deref;
+var init_deref = __esm({
+ "../../node_modules/.pnpm/@smithy+core@3.36.1/node_modules/@smithy/core/dist-es/submodules/schema/deref.js"() {
+ deref = /* @__PURE__ */ __name((schemaRef) => {
+ if (typeof schemaRef === "function") {
+ return schemaRef();
+ }
+ return schemaRef;
+ }, "deref");
+ }
+});
+
+// ../../node_modules/.pnpm/@smithy+core@3.36.1/node_modules/@smithy/core/dist-es/submodules/schema/schemas/operation.js
+var operation;
+var init_operation = __esm({
+ "../../node_modules/.pnpm/@smithy+core@3.36.1/node_modules/@smithy/core/dist-es/submodules/schema/schemas/operation.js"() {
+ operation = /* @__PURE__ */ __name((namespace, name, traits, input, output) => ({
+ name,
+ namespace,
+ traits,
+ input,
+ output
+ }), "operation");
+ }
+});
+
+// ../../node_modules/.pnpm/@smithy+core@3.36.1/node_modules/@smithy/core/dist-es/submodules/schema/middleware/schemaDeserializationMiddleware.js
+var schemaDeserializationMiddleware, findHeader2;
+var init_schemaDeserializationMiddleware = __esm({
+ "../../node_modules/.pnpm/@smithy+core@3.36.1/node_modules/@smithy/core/dist-es/submodules/schema/middleware/schemaDeserializationMiddleware.js"() {
+ init_transport();
+ init_operation();
+ schemaDeserializationMiddleware = /* @__PURE__ */ __name((config) => (next, context) => async (args) => {
+ const { response } = await next(args);
+ const { operationSchema } = getSmithyContext(context);
+ const [, ns, n, t, i, o] = operationSchema ?? [];
+ try {
+ const parsed = await config.protocol.deserializeResponse(operation(ns, n, t, i, o), {
+ ...config,
+ ...context
+ }, response);
+ return {
+ response,
+ output: parsed
+ };
+ } catch (error2) {
+ Object.defineProperty(error2, "$response", {
+ value: response,
+ enumerable: false,
+ writable: false,
+ configurable: false
+ });
+ if (!("$metadata" in error2)) {
+ const hint = `Deserialization error: to see the raw response, inspect the hidden field {error}.$response on this object.`;
+ try {
+ error2.message += "\n " + hint;
+ } catch (ignored) {
+ if (!context.logger || context.logger?.constructor?.name === "NoOpLogger") {
+ console.warn(hint);
+ } else {
+ context.logger?.warn?.(hint);
+ }
+ }
+ if (typeof error2.$responseBodyText !== "undefined") {
+ if (error2.$response) {
+ error2.$response.body = error2.$responseBodyText;
+ }
+ }
+ try {
+ if (HttpResponse.isInstance(response)) {
+ const { headers = {}, statusCode } = response;
+ const headerEntries = Object.entries(headers);
+ error2.$metadata = {
+ httpStatusCode: statusCode,
+ requestId: findHeader2(/^x-[\w-]+-request-?id$/, headerEntries),
+ extendedRequestId: findHeader2(/^x-[\w-]+-id-2$/, headerEntries),
+ cfId: findHeader2(/^x-[\w-]+-cf-id$/, headerEntries)
+ };
+ }
+ } catch (ignored) {
+ }
+ }
+ throw error2;
+ }
+ }, "schemaDeserializationMiddleware");
+ findHeader2 = /* @__PURE__ */ __name((pattern, headers) => {
+ return (headers.find(([k]) => {
+ return k.match(pattern);
+ }) || [void 0, void 0])[1];
+ }, "findHeader");
+ }
+});
+
+// ../../node_modules/.pnpm/@smithy+core@3.36.1/node_modules/@smithy/core/dist-es/submodules/schema/middleware/schemaSerializationMiddleware.js
+var schemaSerializationMiddleware;
+var init_schemaSerializationMiddleware = __esm({
+ "../../node_modules/.pnpm/@smithy+core@3.36.1/node_modules/@smithy/core/dist-es/submodules/schema/middleware/schemaSerializationMiddleware.js"() {
+ init_transport();
+ init_operation();
+ schemaSerializationMiddleware = /* @__PURE__ */ __name((config) => (next, context) => async (args) => {
+ const { operationSchema } = getSmithyContext(context);
+ const [, ns, n, t, i, o] = operationSchema ?? [];
+ const endpoint = context.endpointV2 ? async () => toEndpointV1(context.endpointV2) : config.endpoint;
+ const request = await config.protocol.serializeRequest(operation(ns, n, t, i, o), args.input, {
+ ...config,
+ ...context,
+ endpoint
+ });
+ return next({
+ ...args,
+ request
+ });
+ }, "schemaSerializationMiddleware");
+ }
+});
+
+// ../../node_modules/.pnpm/@smithy+core@3.36.1/node_modules/@smithy/core/dist-es/submodules/schema/middleware/getSchemaSerdePlugin.js
+function getSchemaSerdePlugin(config) {
+ return {
+ applyToStack: /* @__PURE__ */ __name((commandStack) => {
+ commandStack.add(schemaSerializationMiddleware(config), serializerMiddlewareOption);
+ commandStack.add(schemaDeserializationMiddleware(config), deserializerMiddlewareOption);
+ config.protocol.setSerdeContext(config);
+ }, "applyToStack")
+ };
+}
+var deserializerMiddlewareOption, serializerMiddlewareOption;
+var init_getSchemaSerdePlugin = __esm({
+ "../../node_modules/.pnpm/@smithy+core@3.36.1/node_modules/@smithy/core/dist-es/submodules/schema/middleware/getSchemaSerdePlugin.js"() {
+ init_schemaDeserializationMiddleware();
+ init_schemaSerializationMiddleware();
+ deserializerMiddlewareOption = {
+ name: "deserializerMiddleware",
+ step: "deserialize",
+ tags: ["DESERIALIZER"],
+ override: true
+ };
+ serializerMiddlewareOption = {
+ name: "serializerMiddleware",
+ step: "serialize",
+ tags: ["SERIALIZER"],
+ override: true
+ };
+ __name(getSchemaSerdePlugin, "getSchemaSerdePlugin");
+ }
+});
+
+// ../../node_modules/.pnpm/@smithy+core@3.36.1/node_modules/@smithy/core/dist-es/submodules/schema/schemas/Schema.js
+var Schema;
+var init_Schema = __esm({
+ "../../node_modules/.pnpm/@smithy+core@3.36.1/node_modules/@smithy/core/dist-es/submodules/schema/schemas/Schema.js"() {
+ Schema = class {
+ static {
+ __name(this, "Schema");
+ }
+ name;
+ namespace;
+ traits;
+ static assign(instance, values) {
+ const schema = Object.assign(instance, values);
+ return schema;
+ }
+ static [Symbol.hasInstance](lhs) {
+ const isPrototype = this.prototype.isPrototypeOf(lhs);
+ if (!isPrototype && typeof lhs === "object" && lhs !== null) {
+ const list2 = lhs;
+ return list2.symbol === this.symbol;
+ }
+ return isPrototype;
+ }
+ getName() {
+ return this.namespace + "#" + this.name;
+ }
+ };
+ }
+});
+
+// ../../node_modules/.pnpm/@smithy+core@3.36.1/node_modules/@smithy/core/dist-es/submodules/schema/schemas/ListSchema.js
+var ListSchema, list;
+var init_ListSchema = __esm({
+ "../../node_modules/.pnpm/@smithy+core@3.36.1/node_modules/@smithy/core/dist-es/submodules/schema/schemas/ListSchema.js"() {
+ init_Schema();
+ ListSchema = class _ListSchema extends Schema {
+ static {
+ __name(this, "ListSchema");
+ }
+ static symbol = /* @__PURE__ */ Symbol.for("@smithy/lis");
+ valueSchema;
+ symbol = _ListSchema.symbol;
+ };
+ list = /* @__PURE__ */ __name((namespace, name, traits, valueSchema) => Schema.assign(new ListSchema(), {
+ name,
+ namespace,
+ traits,
+ valueSchema
+ }), "list");
+ }
+});
+
+// ../../node_modules/.pnpm/@smithy+core@3.36.1/node_modules/@smithy/core/dist-es/submodules/schema/schemas/MapSchema.js
+var MapSchema, map;
+var init_MapSchema = __esm({
+ "../../node_modules/.pnpm/@smithy+core@3.36.1/node_modules/@smithy/core/dist-es/submodules/schema/schemas/MapSchema.js"() {
+ init_Schema();
+ MapSchema = class _MapSchema extends Schema {
+ static {
+ __name(this, "MapSchema");
+ }
+ static symbol = /* @__PURE__ */ Symbol.for("@smithy/map");
+ keySchema;
+ valueSchema;
+ symbol = _MapSchema.symbol;
+ };
+ map = /* @__PURE__ */ __name((namespace, name, traits, keySchema, valueSchema) => Schema.assign(new MapSchema(), {
+ name,
+ namespace,
+ traits,
+ keySchema,
+ valueSchema
+ }), "map");
+ }
+});
+
+// ../../node_modules/.pnpm/@smithy+core@3.36.1/node_modules/@smithy/core/dist-es/submodules/schema/schemas/OperationSchema.js
+var OperationSchema, op;
+var init_OperationSchema = __esm({
+ "../../node_modules/.pnpm/@smithy+core@3.36.1/node_modules/@smithy/core/dist-es/submodules/schema/schemas/OperationSchema.js"() {
+ init_Schema();
+ OperationSchema = class _OperationSchema extends Schema {
+ static {
+ __name(this, "OperationSchema");
+ }
+ static symbol = /* @__PURE__ */ Symbol.for("@smithy/ope");
+ input;
+ output;
+ symbol = _OperationSchema.symbol;
+ };
+ op = /* @__PURE__ */ __name((namespace, name, traits, input, output) => Schema.assign(new OperationSchema(), {
+ name,
+ namespace,
+ traits,
+ input,
+ output
+ }), "op");
+ }
+});
+
+// ../../node_modules/.pnpm/@smithy+core@3.36.1/node_modules/@smithy/core/dist-es/submodules/schema/schemas/StructureSchema.js
+var StructureSchema, struct;
+var init_StructureSchema = __esm({
+ "../../node_modules/.pnpm/@smithy+core@3.36.1/node_modules/@smithy/core/dist-es/submodules/schema/schemas/StructureSchema.js"() {
+ init_Schema();
+ StructureSchema = class _StructureSchema extends Schema {
+ static {
+ __name(this, "StructureSchema");
+ }
+ static symbol = /* @__PURE__ */ Symbol.for("@smithy/str");
+ memberNames;
+ memberList;
+ symbol = _StructureSchema.symbol;
+ };
+ struct = /* @__PURE__ */ __name((namespace, name, traits, memberNames, memberList) => Schema.assign(new StructureSchema(), {
+ name,
+ namespace,
+ traits,
+ memberNames,
+ memberList
+ }), "struct");
+ }
+});
+
+// ../../node_modules/.pnpm/@smithy+core@3.36.1/node_modules/@smithy/core/dist-es/submodules/schema/schemas/ErrorSchema.js
+var ErrorSchema, error;
+var init_ErrorSchema = __esm({
+ "../../node_modules/.pnpm/@smithy+core@3.36.1/node_modules/@smithy/core/dist-es/submodules/schema/schemas/ErrorSchema.js"() {
+ init_Schema();
+ init_StructureSchema();
+ ErrorSchema = class _ErrorSchema extends StructureSchema {
+ static {
+ __name(this, "ErrorSchema");
+ }
+ static symbol = /* @__PURE__ */ Symbol.for("@smithy/err");
+ ctor;
+ symbol = _ErrorSchema.symbol;
+ };
+ error = /* @__PURE__ */ __name((namespace, name, traits, memberNames, memberList, _ctor) => Schema.assign(new ErrorSchema(), {
+ name,
+ namespace,
+ traits,
+ memberNames,
+ memberList,
+ ctor: null
+ }), "error");
+ }
+});
+
+// ../../node_modules/.pnpm/@smithy+core@3.36.1/node_modules/@smithy/core/dist-es/submodules/schema/schemas/translateTraits.js
+function translateTraits(indicator) {
+ if (typeof indicator === "object") {
+ return indicator;
+ }
+ indicator = indicator | 0;
+ if (traitsCache[indicator]) {
+ return traitsCache[indicator];
+ }
+ const traits = {};
+ let i = 0;
+ for (const trait of [
+ "httpLabel",
+ "idempotent",
+ "idempotencyToken",
+ "sensitive",
+ "httpPayload",
+ "httpResponseCode",
+ "httpQueryParams"
+ ]) {
+ if ((indicator >> i++ & 1) === 1) {
+ traits[trait] = 1;
+ }
+ }
+ return traitsCache[indicator] = traits;
+}
+var traitsCache;
+var init_translateTraits = __esm({
+ "../../node_modules/.pnpm/@smithy+core@3.36.1/node_modules/@smithy/core/dist-es/submodules/schema/schemas/translateTraits.js"() {
+ traitsCache = [];
+ __name(translateTraits, "translateTraits");
+ }
+});
+
+// ../../node_modules/.pnpm/@smithy+core@3.36.1/node_modules/@smithy/core/dist-es/submodules/schema/schemas/NormalizedSchema.js
+function member(memberSchema, memberName) {
+ if (memberSchema instanceof NormalizedSchema) {
+ return Object.assign(memberSchema, {
+ memberName,
+ _isMemberSchema: true
+ });
+ }
+ const internalCtorAccess = NormalizedSchema;
+ return new internalCtorAccess(memberSchema, memberName);
+}
+var anno, simpleSchemaCacheN, simpleSchemaCacheS, NormalizedSchema, isMemberSchema, isStaticSchema;
+var init_NormalizedSchema = __esm({
+ "../../node_modules/.pnpm/@smithy+core@3.36.1/node_modules/@smithy/core/dist-es/submodules/schema/schemas/NormalizedSchema.js"() {
+ init_deref();
+ init_translateTraits();
+ anno = {
+ it: /* @__PURE__ */ Symbol.for("@smithy/nor-struct-it"),
+ ns: /* @__PURE__ */ Symbol.for("@smithy/ns")
+ };
+ simpleSchemaCacheN = [];
+ simpleSchemaCacheS = {};
+ NormalizedSchema = class _NormalizedSchema {
+ static {
+ __name(this, "NormalizedSchema");
+ }
+ ref;
+ memberName;
+ static symbol = /* @__PURE__ */ Symbol.for("@smithy/nor");
+ symbol = _NormalizedSchema.symbol;
+ name;
+ schema;
+ _isMemberSchema;
+ traits;
+ memberTraits;
+ normalizedTraits;
+ constructor(ref, memberName) {
+ this.ref = ref;
+ this.memberName = memberName;
+ const traitStack = [];
+ let _ref = ref;
+ let schema = ref;
+ this._isMemberSchema = false;
+ while (isMemberSchema(_ref)) {
+ traitStack.push(_ref[1]);
+ _ref = _ref[0];
+ schema = deref(_ref);
+ this._isMemberSchema = true;
+ }
+ if (traitStack.length > 0) {
+ this.memberTraits = {};
+ for (let i = traitStack.length - 1; i >= 0; --i) {
+ const traitSet = traitStack[i];
+ Object.assign(this.memberTraits, translateTraits(traitSet));
+ }
+ } else {
+ this.memberTraits = 0;
+ }
+ if (schema instanceof _NormalizedSchema) {
+ const computedMemberTraits = this.memberTraits;
+ Object.assign(this, schema);
+ this.memberTraits = Object.assign({}, computedMemberTraits, schema.getMemberTraits(), this.getMemberTraits());
+ this.normalizedTraits = void 0;
+ this.memberName = memberName ?? schema.memberName;
+ return;
+ }
+ this.schema = deref(schema);
+ if (isStaticSchema(this.schema)) {
+ this.name = `${this.schema[1]}#${this.schema[2]}`;
+ this.traits = this.schema[3];
+ } else {
+ this.name = this.memberName ?? String(schema);
+ this.traits = 0;
+ }
+ if (this._isMemberSchema && !memberName) {
+ throw new Error(`@smithy/core/schema - NormalizedSchema member init ${this.getName(true)} missing member name.`);
+ }
+ }
+ static [Symbol.hasInstance](lhs) {
+ const isPrototype = this.prototype.isPrototypeOf(lhs);
+ if (!isPrototype && typeof lhs === "object" && lhs !== null) {
+ const ns = lhs;
+ return ns.symbol === this.symbol;
+ }
+ return isPrototype;
+ }
+ static of(ref) {
+ const keyAble = typeof ref === "function" || typeof ref === "object" && ref !== null;
+ if (typeof ref === "number") {
+ if (simpleSchemaCacheN[ref]) {
+ return simpleSchemaCacheN[ref];
+ }
+ } else if (typeof ref === "string") {
+ if (simpleSchemaCacheS[ref]) {
+ return simpleSchemaCacheS[ref];
+ }
+ } else if (keyAble) {
+ if (ref[anno.ns]) {
+ return ref[anno.ns];
+ }
+ }
+ const sc = deref(ref);
+ if (sc instanceof _NormalizedSchema) {
+ return sc;
+ }
+ if (isMemberSchema(sc)) {
+ const [ns2, traits] = sc;
+ if (ns2 instanceof _NormalizedSchema) {
+ Object.assign(ns2.getMergedTraits(), translateTraits(traits));
+ return ns2;
+ }
+ throw new Error(`@smithy/core/schema - may not init unwrapped member schema=${JSON.stringify(ref, null, 2)}.`);
+ }
+ const ns = new _NormalizedSchema(sc);
+ if (keyAble) {
+ return ref[anno.ns] = ns;
+ }
+ if (typeof sc === "string") {
+ return simpleSchemaCacheS[sc] = ns;
+ }
+ if (typeof sc === "number") {
+ return simpleSchemaCacheN[sc] = ns;
+ }
+ return ns;
+ }
+ getSchema() {
+ const sc = this.schema;
+ if (Array.isArray(sc) && sc[0] === 0) {
+ return sc[4];
+ }
+ return sc;
+ }
+ getName(withNamespace = false) {
+ const { name } = this;
+ const short = !withNamespace && name && name.includes("#");
+ return short ? name.split("#")[1] : name || void 0;
+ }
+ getMemberName() {
+ return this.memberName;
+ }
+ isMemberSchema() {
+ return this._isMemberSchema;
+ }
+ isListSchema() {
+ const sc = this.getSchema();
+ return typeof sc === "number" ? sc >= 64 && sc < 128 : sc[0] === 1;
+ }
+ isMapSchema() {
+ const sc = this.getSchema();
+ return typeof sc === "number" ? sc >= 128 && sc <= 255 : sc[0] === 2;
+ }
+ isStructSchema() {
+ const sc = this.getSchema();
+ if (typeof sc !== "object") {
+ return false;
+ }
+ const id = sc[0];
+ return id === 3 || id === -3 || id === 4;
+ }
+ isUnionSchema() {
+ const sc = this.getSchema();
+ if (typeof sc !== "object") {
+ return false;
+ }
+ return sc[0] === 4;
+ }
+ isBlobSchema() {
+ const sc = this.getSchema();
+ return sc === 21 || sc === 42;
+ }
+ isTimestampSchema() {
+ const sc = this.getSchema();
+ return typeof sc === "number" && sc >= 4 && sc <= 7;
+ }
+ isUnitSchema() {
+ return this.getSchema() === "unit";
+ }
+ isDocumentSchema() {
+ return this.getSchema() === 15;
+ }
+ isStringSchema() {
+ return this.getSchema() === 0;
+ }
+ isBooleanSchema() {
+ return this.getSchema() === 2;
+ }
+ isNumericSchema() {
+ return this.getSchema() === 1;
+ }
+ isBigIntegerSchema() {
+ return this.getSchema() === 17;
+ }
+ isBigDecimalSchema() {
+ return this.getSchema() === 19;
+ }
+ isStreaming() {
+ const { streaming } = this.getMergedTraits();
+ return !!streaming || this.getSchema() === 42;
+ }
+ isIdempotencyToken() {
+ return !!this.getMergedTraits().idempotencyToken;
+ }
+ getMergedTraits() {
+ return this.normalizedTraits ?? (this.normalizedTraits = {
+ ...this.getOwnTraits(),
+ ...this.getMemberTraits()
+ });
+ }
+ getMemberTraits() {
+ return translateTraits(this.memberTraits);
+ }
+ getOwnTraits() {
+ return translateTraits(this.traits);
+ }
+ getKeySchema() {
+ const [isDoc, isMap] = [this.isDocumentSchema(), this.isMapSchema()];
+ if (!isDoc && !isMap) {
+ throw new Error(`@smithy/core/schema - cannot get key for non-map: ${this.getName(true)}`);
+ }
+ const schema = this.getSchema();
+ const memberSchema = isDoc ? 15 : schema[4] ?? 0;
+ return member([memberSchema, 0], "key");
+ }
+ getValueSchema() {
+ const sc = this.getSchema();
+ const [isDoc, isMap, isList] = [this.isDocumentSchema(), this.isMapSchema(), this.isListSchema()];
+ const memberSchema = typeof sc === "number" ? 63 & sc : sc && typeof sc === "object" && (isMap || isList) ? sc[3 + sc[0]] : isDoc ? 15 : void 0;
+ if (memberSchema != null) {
+ return member([memberSchema, 0], isMap ? "value" : "member");
+ }
+ throw new Error(`@smithy/core/schema - ${this.getName(true)} has no value member.`);
+ }
+ getMemberSchema(memberName) {
+ const struct2 = this.getSchema();
+ if (this.isStructSchema() && struct2[4].includes(memberName)) {
+ const i = struct2[4].indexOf(memberName);
+ const memberSchema = struct2[5][i];
+ return member(isMemberSchema(memberSchema) ? memberSchema : [memberSchema, 0], memberName);
+ }
+ if (this.isDocumentSchema()) {
+ return member([15, 0], memberName);
+ }
+ throw new Error(`@smithy/core/schema - ${this.getName(true)} has no member=${memberName}.`);
+ }
+ getMemberSchemas() {
+ const buffer = {};
+ try {
+ for (const [k, v] of this.structIterator()) {
+ buffer[k] = v;
+ }
+ } catch (ignored) {
+ }
+ return buffer;
+ }
+ getEventStreamMember() {
+ if (this.isStructSchema()) {
+ for (const [memberName, memberSchema] of this.structIterator()) {
+ if (memberSchema.isStreaming() && memberSchema.isStructSchema()) {
+ return memberName;
+ }
+ }
+ }
+ return "";
+ }
+ *structIterator() {
+ if (this.isUnitSchema()) {
+ return;
+ }
+ if (!this.isStructSchema()) {
+ throw new Error("@smithy/core/schema - cannot iterate non-struct schema.");
+ }
+ const struct2 = this.getSchema();
+ const z = struct2[4].length;
+ let it = struct2[anno.it];
+ if (it && z === it.length) {
+ yield* it;
+ return;
+ }
+ it = Array(z);
+ for (let i = 0; i < z; ++i) {
+ const k = struct2[4][i];
+ const v = member([struct2[5][i], 0], k);
+ yield it[i] = [k, v];
+ }
+ struct2[anno.it] = it;
+ }
+ };
+ __name(member, "member");
+ isMemberSchema = /* @__PURE__ */ __name((sc) => Array.isArray(sc) && sc.length === 2, "isMemberSchema");
+ isStaticSchema = /* @__PURE__ */ __name((sc) => Array.isArray(sc) && sc.length >= 5, "isStaticSchema");
+ }
+});
+
+// ../../node_modules/.pnpm/@smithy+core@3.36.1/node_modules/@smithy/core/dist-es/submodules/schema/schemas/SimpleSchema.js
+var SimpleSchema, sim, simAdapter;
+var init_SimpleSchema = __esm({
+ "../../node_modules/.pnpm/@smithy+core@3.36.1/node_modules/@smithy/core/dist-es/submodules/schema/schemas/SimpleSchema.js"() {
+ init_Schema();
+ SimpleSchema = class _SimpleSchema extends Schema {
+ static {
+ __name(this, "SimpleSchema");
+ }
+ static symbol = /* @__PURE__ */ Symbol.for("@smithy/sim");
+ schemaRef;
+ symbol = _SimpleSchema.symbol;
+ };
+ sim = /* @__PURE__ */ __name((namespace, name, schemaRef, traits) => Schema.assign(new SimpleSchema(), {
+ name,
+ namespace,
+ traits,
+ schemaRef
+ }), "sim");
+ simAdapter = /* @__PURE__ */ __name((namespace, name, traits, schemaRef) => Schema.assign(new SimpleSchema(), {
+ name,
+ namespace,
+ traits,
+ schemaRef
+ }), "simAdapter");
+ }
+});
+
+// ../../node_modules/.pnpm/@smithy+core@3.36.1/node_modules/@smithy/core/dist-es/submodules/schema/schemas/sentinels.js
+var SCHEMA;
+var init_sentinels = __esm({
+ "../../node_modules/.pnpm/@smithy+core@3.36.1/node_modules/@smithy/core/dist-es/submodules/schema/schemas/sentinels.js"() {
+ SCHEMA = {
+ BLOB: 21,
+ STREAMING_BLOB: 42,
+ BOOLEAN: 2,
+ STRING: 0,
+ NUMERIC: 1,
+ BIG_INTEGER: 17,
+ BIG_DECIMAL: 19,
+ DOCUMENT: 15,
+ TIMESTAMP_DEFAULT: 4,
+ TIMESTAMP_DATE_TIME: 5,
+ TIMESTAMP_HTTP_DATE: 6,
+ TIMESTAMP_EPOCH_SECONDS: 7,
+ LIST_MODIFIER: 64,
+ MAP_MODIFIER: 128
+ };
+ }
+});
+
+// ../../node_modules/.pnpm/@smithy+core@3.36.1/node_modules/@smithy/core/dist-es/submodules/schema/TypeRegistry.js
+var TypeRegistry;
+var init_TypeRegistry = __esm({
+ "../../node_modules/.pnpm/@smithy+core@3.36.1/node_modules/@smithy/core/dist-es/submodules/schema/TypeRegistry.js"() {
+ TypeRegistry = class _TypeRegistry {
+ static {
+ __name(this, "TypeRegistry");
+ }
+ namespace;
+ schemas;
+ exceptions;
+ static registries = /* @__PURE__ */ new Map();
+ constructor(namespace, schemas = /* @__PURE__ */ new Map(), exceptions = /* @__PURE__ */ new Map()) {
+ this.namespace = namespace;
+ this.schemas = schemas;
+ this.exceptions = exceptions;
+ if (!_TypeRegistry.registries.has(namespace)) {
+ _TypeRegistry.registries.set(namespace, this);
+ }
+ }
+ static for(namespace) {
+ return _TypeRegistry.registries.get(namespace) ?? new _TypeRegistry(namespace);
+ }
+ copyFrom(other) {
+ const { schemas, exceptions } = this;
+ for (const [k, v] of other.schemas) {
+ if (!schemas.has(k)) {
+ schemas.set(k, v);
+ }
+ }
+ for (const [k, v] of other.exceptions) {
+ if (!exceptions.has(k)) {
+ exceptions.set(k, v);
+ }
+ }
+ }
+ register(shapeId, schema) {
+ const qualifiedName = this.normalizeShapeId(shapeId);
+ for (const r of [this, _TypeRegistry.for(qualifiedName.split("#")[0])]) {
+ if (!r.schemas.has(qualifiedName)) {
+ r.schemas.set(qualifiedName, schema);
+ }
+ }
+ }
+ getSchema(shapeId) {
+ const id = this.normalizeShapeId(shapeId);
+ if (!this.schemas.has(id)) {
+ if (!shapeId.includes("#")) {
+ const suffix = "#" + shapeId;
+ const candidates = [];
+ for (const [shapeId2, schema] of this.schemas.entries()) {
+ if (shapeId2.endsWith(suffix)) {
+ candidates.push(schema);
+ }
+ }
+ if (candidates.length === 1) {
+ return candidates[0];
+ }
+ }
+ throw new Error(`@smithy/core/schema - schema not found for ${id}`);
+ }
+ return this.schemas.get(id);
+ }
+ registerError(es, ctor) {
+ const $error = es;
+ const ns = $error[1];
+ const qualifiedName = ns + "#" + $error[2];
+ if (!ctor.hasOwnProperty?.("shapeId")) {
+ ctor.shapeId = qualifiedName;
+ }
+ for (const r of [this, _TypeRegistry.for(ns)]) {
+ if (!r.schemas.has(qualifiedName) && !r.exceptions.has($error)) {
+ r.schemas.set(qualifiedName, $error);
+ r.exceptions.set($error, ctor);
+ }
+ }
+ }
+ getErrorCtor(es) {
+ const $error = es;
+ if (this.exceptions.has($error)) {
+ return this.exceptions.get($error);
+ }
+ const registry = _TypeRegistry.for($error[1]);
+ return registry.exceptions.get($error);
+ }
+ getBaseException() {
+ for (const exceptionKey of this.exceptions.keys()) {
+ if (Array.isArray(exceptionKey)) {
+ const [, ns, name] = exceptionKey;
+ const id = ns + "#" + name;
+ if (id.startsWith("smithy.ts.sdk.synthetic.") && id.endsWith("ServiceException")) {
+ return exceptionKey;
+ }
+ }
+ }
+ return void 0;
+ }
+ find(predicate) {
+ for (const schema of this.schemas.values()) {
+ if (predicate(schema)) {
+ return schema;
+ }
+ }
+ return void 0;
+ }
+ clear() {
+ this.schemas.clear();
+ this.exceptions.clear();
+ }
+ normalizeShapeId(shapeId) {
+ if (shapeId.includes("#")) {
+ return shapeId;
+ }
+ return this.namespace + "#" + shapeId;
+ }
+ };
+ }
+});
+
+// ../../node_modules/.pnpm/@smithy+core@3.36.1/node_modules/@smithy/core/dist-es/submodules/schema/index.js
+var schema_exports = {};
+__export(schema_exports, {
+ ErrorSchema: () => ErrorSchema,
+ ListSchema: () => ListSchema,
+ MapSchema: () => MapSchema,
+ NormalizedSchema: () => NormalizedSchema,
+ OperationSchema: () => OperationSchema,
+ SCHEMA: () => SCHEMA,
+ Schema: () => Schema,
+ SimpleSchema: () => SimpleSchema,
+ StructureSchema: () => StructureSchema,
+ TypeRegistry: () => TypeRegistry,
+ deref: () => deref,
+ deserializerMiddlewareOption: () => deserializerMiddlewareOption,
+ error: () => error,
+ getSchemaSerdePlugin: () => getSchemaSerdePlugin,
+ isStaticSchema: () => isStaticSchema,
+ list: () => list,
+ map: () => map,
+ op: () => op,
+ operation: () => operation,
+ serializerMiddlewareOption: () => serializerMiddlewareOption,
+ sim: () => sim,
+ simAdapter: () => simAdapter,
+ simpleSchemaCacheN: () => simpleSchemaCacheN,
+ simpleSchemaCacheS: () => simpleSchemaCacheS,
+ struct: () => struct,
+ traitsCache: () => traitsCache,
+ translateTraits: () => translateTraits
+});
+var init_schema = __esm({
+ "../../node_modules/.pnpm/@smithy+core@3.36.1/node_modules/@smithy/core/dist-es/submodules/schema/index.js"() {
+ init_deref();
+ init_getSchemaSerdePlugin();
+ init_ListSchema();
+ init_MapSchema();
+ init_OperationSchema();
+ init_operation();
+ init_ErrorSchema();
+ init_NormalizedSchema();
+ init_Schema();
+ init_SimpleSchema();
+ init_StructureSchema();
+ init_sentinels();
+ init_translateTraits();
+ init_TypeRegistry();
+ }
+});
+
+// ../../node_modules/.pnpm/@smithy+core@3.36.1/node_modules/@smithy/core/dist-es/submodules/client/smithy-client/schemaLogFilter.js
+function schemaLogFilter(schema, data) {
+ if (data == null) {
+ return data;
+ }
+ const ns = NormalizedSchema.of(schema);
+ if (ns.getMergedTraits().sensitive) {
+ return SENSITIVE_STRING;
+ }
+ if (ns.isListSchema()) {
+ const isSensitive = !!ns.getValueSchema().getMergedTraits().sensitive;
+ if (isSensitive) {
+ return SENSITIVE_STRING;
+ }
+ } else if (ns.isMapSchema()) {
+ const isSensitive = !!ns.getKeySchema().getMergedTraits().sensitive || !!ns.getValueSchema().getMergedTraits().sensitive;
+ if (isSensitive) {
+ return SENSITIVE_STRING;
+ }
+ } else if (ns.isStructSchema() && typeof data === "object") {
+ const object = data;
+ const newObject = {};
+ for (const [member2, memberNs] of ns.structIterator()) {
+ if (object[member2] != null) {
+ newObject[member2] = schemaLogFilter(memberNs, object[member2]);
+ }
+ }
+ return newObject;
+ }
+ return data;
+}
+var SENSITIVE_STRING;
+var init_schemaLogFilter = __esm({
+ "../../node_modules/.pnpm/@smithy+core@3.36.1/node_modules/@smithy/core/dist-es/submodules/client/smithy-client/schemaLogFilter.js"() {
+ init_schema();
+ SENSITIVE_STRING = "***SensitiveInformation***";
+ __name(schemaLogFilter, "schemaLogFilter");
+ }
+});
+
+// ../../node_modules/.pnpm/@smithy+core@3.36.1/node_modules/@smithy/core/dist-es/submodules/client/smithy-client/command.js
+var import_types7, Command, ClassBuilder;
+var init_command = __esm({
+ "../../node_modules/.pnpm/@smithy+core@3.36.1/node_modules/@smithy/core/dist-es/submodules/client/smithy-client/command.js"() {
+ import_types7 = __toESM(require_dist_cjs());
+ init_MiddlewareStack();
+ init_schemaLogFilter();
+ Command = class {
+ static {
+ __name(this, "Command");
+ }
+ middlewareStack = constructStack();
+ schema;
+ static classBuilder() {
+ return new ClassBuilder();
+ }
+ resolveMiddlewareWithContext(clientStack, configuration, options, { middlewareFn, clientName, commandName, inputFilterSensitiveLog, outputFilterSensitiveLog, smithyContext, additionalContext, CommandCtor }) {
+ for (const mw of middlewareFn.bind(this)(CommandCtor, clientStack, configuration, options)) {
+ this.middlewareStack.use(mw);
+ }
+ const stack = clientStack.concat(this.middlewareStack);
+ const { logger: logger2 } = configuration;
+ const additionalSmithyContext = additionalContext[import_types7.SMITHY_CONTEXT_KEY];
+ const handlerExecutionContext = {
+ logger: logger2,
+ clientName,
+ commandName,
+ inputFilterSensitiveLog,
+ outputFilterSensitiveLog,
+ ...additionalContext,
+ [import_types7.SMITHY_CONTEXT_KEY]: {
+ ...additionalSmithyContext,
+ commandInstance: this,
+ ...smithyContext,
+ ...options?.metricsRecorder === void 0 ? {} : { metricsRecorder: options.metricsRecorder }
+ }
+ };
+ const { requestHandler } = configuration;
+ let requestOptions = options ?? {};
+ if (requestOptions.metricsRecorder) {
+ requestOptions = { ...requestOptions };
+ delete requestOptions.metricsRecorder;
+ }
+ if (smithyContext.eventStream) {
+ requestOptions = {
+ isEventStream: true,
+ ...requestOptions
+ };
+ }
+ return stack.resolve((request) => requestHandler.handle(request.request, requestOptions), handlerExecutionContext);
+ }
+ };
+ ClassBuilder = class {
+ static {
+ __name(this, "ClassBuilder");
+ }
+ _init = /* @__PURE__ */ __name(() => {
+ }, "_init");
+ _ep = {};
+ _middlewareFn = /* @__PURE__ */ __name(() => [], "_middlewareFn");
+ _commandName = "";
+ _clientName = "";
+ _additionalContext = {};
+ _smithyContext = {};
+ _inputFilterSensitiveLog = void 0;
+ _outputFilterSensitiveLog = void 0;
+ _serializer = null;
+ _deserializer = null;
+ _operationSchema;
+ init(cb) {
+ this._init = cb;
+ }
+ ep(endpointParameterInstructions) {
+ this._ep = endpointParameterInstructions;
+ return this;
+ }
+ m(middlewareSupplier) {
+ this._middlewareFn = middlewareSupplier;
+ return this;
+ }
+ s(service, operation2, smithyContext = {}) {
+ this._smithyContext = {
+ service,
+ operation: operation2,
+ ...smithyContext
+ };
+ return this;
+ }
+ c(additionalContext = {}) {
+ this._additionalContext = additionalContext;
+ return this;
+ }
+ n(clientName, commandName) {
+ this._clientName = clientName;
+ this._commandName = commandName;
+ return this;
+ }
+ f(inputFilter = (_) => _, outputFilter = (_) => _) {
+ this._inputFilterSensitiveLog = inputFilter;
+ this._outputFilterSensitiveLog = outputFilter;
+ return this;
+ }
+ ser(serializer) {
+ this._serializer = serializer;
+ return this;
+ }
+ de(deserializer) {
+ this._deserializer = deserializer;
+ return this;
+ }
+ sc(operation2) {
+ this._operationSchema = operation2;
+ this._smithyContext.operationSchema = operation2;
+ return this;
+ }
+ build() {
+ const closure = this;
+ let CommandRef;
+ return CommandRef = class extends Command {
+ static {
+ __name(this, "CommandRef");
+ }
+ input;
+ static getEndpointParameterInstructions() {
+ return closure._ep;
+ }
+ constructor(...[input]) {
+ super();
+ this.input = input ?? {};
+ closure._init(this);
+ this.schema = closure._operationSchema;
+ }
+ resolveMiddleware(stack, configuration, options) {
+ const op2 = closure._operationSchema;
+ const input = op2?.[4] ?? op2?.input;
+ const output = op2?.[5] ?? op2?.output;
+ return this.resolveMiddlewareWithContext(stack, configuration, options, {
+ CommandCtor: CommandRef,
+ middlewareFn: closure._middlewareFn,
+ clientName: closure._clientName,
+ commandName: closure._commandName,
+ inputFilterSensitiveLog: closure._inputFilterSensitiveLog ?? (op2 ? schemaLogFilter.bind(null, input) : (_) => _),
+ outputFilterSensitiveLog: closure._outputFilterSensitiveLog ?? (op2 ? schemaLogFilter.bind(null, output) : (_) => _),
+ smithyContext: closure._smithyContext,
+ additionalContext: closure._additionalContext
+ });
+ }
+ serialize = closure._serializer;
+ deserialize = closure._deserializer;
+ };
+ }
+ };
+ }
+});
+
+// ../../node_modules/.pnpm/@smithy+core@3.36.1/node_modules/@smithy/core/dist-es/submodules/client/smithy-client/constants.js
+var SENSITIVE_STRING2;
+var init_constants2 = __esm({
+ "../../node_modules/.pnpm/@smithy+core@3.36.1/node_modules/@smithy/core/dist-es/submodules/client/smithy-client/constants.js"() {
+ SENSITIVE_STRING2 = "***SensitiveInformation***";
+ }
+});
+
+// ../../node_modules/.pnpm/@smithy+core@3.36.1/node_modules/@smithy/core/dist-es/submodules/client/smithy-client/create-aggregated-client.js
+var createAggregatedClient;
+var init_create_aggregated_client = __esm({
+ "../../node_modules/.pnpm/@smithy+core@3.36.1/node_modules/@smithy/core/dist-es/submodules/client/smithy-client/create-aggregated-client.js"() {
+ createAggregatedClient = /* @__PURE__ */ __name((commands, Client2, options) => {
+ for (const [command, CommandCtor] of Object.entries(commands)) {
+ const methodImpl = /* @__PURE__ */ __name(async function(args, optionsOrCb, cb) {
+ const command2 = new CommandCtor(args);
+ if (typeof optionsOrCb === "function") {
+ this.send(command2, optionsOrCb);
+ } else if (typeof cb === "function") {
+ if (typeof optionsOrCb !== "object")
+ throw new Error(`Expected http options but got ${typeof optionsOrCb}`);
+ this.send(command2, optionsOrCb || {}, cb);
+ } else {
+ return this.send(command2, optionsOrCb);
+ }
+ }, "methodImpl");
+ const methodName = (command[0].toLowerCase() + command.slice(1)).replace(/Command$/, "");
+ Client2.prototype[methodName] = methodImpl;
+ }
+ const { paginators = {}, waiters = {} } = options ?? {};
+ for (const [paginatorName, paginatorFn] of Object.entries(paginators)) {
+ if (Client2.prototype[paginatorName] === void 0) {
+ Client2.prototype[paginatorName] = function(commandInput = {}, paginationConfiguration, ...rest) {
+ return paginatorFn({
+ ...paginationConfiguration,
+ client: this
+ }, commandInput, ...rest);
+ };
+ }
+ }
+ for (const [waiterName, waiterFn] of Object.entries(waiters)) {
+ if (Client2.prototype[waiterName] === void 0) {
+ Client2.prototype[waiterName] = async function(commandInput = {}, waiterConfiguration, ...rest) {
+ let config = waiterConfiguration;
+ if (typeof waiterConfiguration === "number") {
+ config = {
+ maxWaitTime: waiterConfiguration
+ };
+ }
+ return waiterFn({
+ ...config,
+ client: this
+ }, commandInput, ...rest);
+ };
+ }
+ }
+ }, "createAggregatedClient");
+ }
+});
+
+// ../../node_modules/.pnpm/@smithy+core@3.36.1/node_modules/@smithy/core/dist-es/submodules/client/smithy-client/exceptions.js
+var ServiceException, decorateServiceException;
+var init_exceptions = __esm({
+ "../../node_modules/.pnpm/@smithy+core@3.36.1/node_modules/@smithy/core/dist-es/submodules/client/smithy-client/exceptions.js"() {
+ ServiceException = class _ServiceException extends Error {
+ static {
+ __name(this, "ServiceException");
+ }
+ static shapeId = "smithy.ts.sdk.synthetic.nonamespace.client#ServiceException";
+ $fault;
+ $response;
+ $retryable;
+ $metadata;
+ constructor(options) {
+ super(options.message);
+ Object.setPrototypeOf(this, Object.getPrototypeOf(this).constructor.prototype);
+ this.name = options.name;
+ this.$fault = options.$fault;
+ this.$metadata = options.$metadata;
+ }
+ static isInstance(value) {
+ if (!value)
+ return false;
+ const candidate = value;
+ return _ServiceException.prototype.isPrototypeOf(candidate) || Boolean(candidate.$fault) && Boolean(candidate.$metadata) && (candidate.$fault === "client" || candidate.$fault === "server");
+ }
+ static [Symbol.hasInstance](instance) {
+ if (!instance)
+ return false;
+ const candidate = instance;
+ if (this === _ServiceException) {
+ return _ServiceException.isInstance(instance);
+ }
+ if (_ServiceException.isInstance(instance)) {
+ if (this.prototype.isPrototypeOf(instance)) {
+ return true;
+ }
+ const targetId = Object.prototype.hasOwnProperty.call(this, "shapeId") ? this.shapeId : void 0;
+ let candidateHasShapeId = false;
+ if (targetId) {
+ let proto = Object.getPrototypeOf(candidate);
+ while (proto && proto !== Object.prototype) {
+ const ctor = proto.constructor;
+ const candidateId = ctor !== _ServiceException && Object.prototype.hasOwnProperty.call(ctor, "shapeId") ? ctor?.shapeId : void 0;
+ if (candidateId) {
+ candidateHasShapeId = true;
+ if (candidateId === targetId) {
+ return true;
+ }
+ }
+ proto = Object.getPrototypeOf(proto);
+ }
+ }
+ if (targetId && candidateHasShapeId) {
+ return false;
+ }
+ const targetName = this.name;
+ if (targetName && targetName.length >= 6) {
+ if (candidate.name === targetName) {
+ return true;
+ }
+ let proto = Object.getPrototypeOf(candidate);
+ while (proto && proto !== Object.prototype) {
+ const ctorName = proto.constructor?.name;
+ if (ctorName && ctorName !== "Error" && ctorName === targetName) {
+ return true;
+ }
+ proto = Object.getPrototypeOf(proto);
+ }
+ }
+ }
+ return false;
+ }
+ };
+ decorateServiceException = /* @__PURE__ */ __name((exception, additions = {}) => {
+ Object.entries(additions).filter(([, v]) => v !== void 0).forEach(([k, v]) => {
+ if (exception[k] == void 0 || exception[k] === "") {
+ exception[k] = v;
+ }
+ });
+ const message = exception.message || exception.Message || "UnknownError";
+ exception.message = message;
+ delete exception.Message;
+ return exception;
+ }, "decorateServiceException");
+ }
+});
+
+// ../../node_modules/.pnpm/@smithy+core@3.36.1/node_modules/@smithy/core/dist-es/submodules/client/smithy-client/default-error-handler.js
+var throwDefaultError, withBaseException, deserializeMetadata;
+var init_default_error_handler = __esm({
+ "../../node_modules/.pnpm/@smithy+core@3.36.1/node_modules/@smithy/core/dist-es/submodules/client/smithy-client/default-error-handler.js"() {
+ init_exceptions();
+ throwDefaultError = /* @__PURE__ */ __name(({ output, parsedBody, exceptionCtor, errorCode }) => {
+ const $metadata = deserializeMetadata(output);
+ const statusCode = $metadata.httpStatusCode ? $metadata.httpStatusCode + "" : void 0;
+ const response = new exceptionCtor({
+ name: parsedBody?.code || parsedBody?.Code || errorCode || statusCode || "UnknownError",
+ $fault: "client",
+ $metadata
+ });
+ throw decorateServiceException(response, parsedBody);
+ }, "throwDefaultError");
+ withBaseException = /* @__PURE__ */ __name((ExceptionCtor) => {
+ return ({ output, parsedBody, errorCode }) => {
+ throwDefaultError({ output, parsedBody, exceptionCtor: ExceptionCtor, errorCode });
+ };
+ }, "withBaseException");
+ deserializeMetadata = /* @__PURE__ */ __name((output) => ({
+ httpStatusCode: output.statusCode,
+ requestId: output.headers["x-amzn-requestid"] ?? output.headers["x-amzn-request-id"] ?? output.headers["x-amz-request-id"],
+ extendedRequestId: output.headers["x-amz-id-2"],
+ cfId: output.headers["x-amz-cf-id"]
+ }), "deserializeMetadata");
+ }
+});
+
+// ../../node_modules/.pnpm/@smithy+core@3.36.1/node_modules/@smithy/core/dist-es/submodules/client/smithy-client/defaults-mode.js
+var loadConfigsForDefaultMode;
+var init_defaults_mode = __esm({
+ "../../node_modules/.pnpm/@smithy+core@3.36.1/node_modules/@smithy/core/dist-es/submodules/client/smithy-client/defaults-mode.js"() {
+ loadConfigsForDefaultMode = /* @__PURE__ */ __name((mode) => {
+ switch (mode) {
+ case "standard":
+ return {
+ retryMode: "standard",
+ connectionTimeout: 3100
+ };
+ case "in-region":
+ return {
+ retryMode: "standard",
+ connectionTimeout: 1100
+ };
+ case "cross-region":
+ return {
+ retryMode: "standard",
+ connectionTimeout: 3100
+ };
+ case "mobile":
+ return {
+ retryMode: "standard",
+ connectionTimeout: 3e4
+ };
+ default:
+ return {};
+ }
+ }, "loadConfigsForDefaultMode");
+ }
+});
+
+// ../../node_modules/.pnpm/@smithy+core@3.36.1/node_modules/@smithy/core/dist-es/submodules/client/smithy-client/emitWarningIfUnsupportedVersion.js
+var warningEmitted, emitWarningIfUnsupportedVersion;
+var init_emitWarningIfUnsupportedVersion = __esm({
+ "../../node_modules/.pnpm/@smithy+core@3.36.1/node_modules/@smithy/core/dist-es/submodules/client/smithy-client/emitWarningIfUnsupportedVersion.js"() {
+ warningEmitted = false;
+ emitWarningIfUnsupportedVersion = /* @__PURE__ */ __name((version) => {
+ if (version && !warningEmitted && parseInt(version.substring(1, version.indexOf("."))) < 16) {
+ warningEmitted = true;
+ }
+ }, "emitWarningIfUnsupportedVersion");
+ }
+});
+
+// ../../node_modules/.pnpm/@smithy+core@3.36.1/node_modules/@smithy/core/dist-es/submodules/client/smithy-client/extensions/checksum.js
+var import_types8, knownAlgorithms, getChecksumConfiguration, resolveChecksumRuntimeConfig;
+var init_checksum = __esm({
+ "../../node_modules/.pnpm/@smithy+core@3.36.1/node_modules/@smithy/core/dist-es/submodules/client/smithy-client/extensions/checksum.js"() {
+ init_transport();
+ import_types8 = __toESM(require_dist_cjs());
+ knownAlgorithms = Object.values(import_types8.AlgorithmId);
+ getChecksumConfiguration = /* @__PURE__ */ __name((runtimeConfig) => {
+ const checksumAlgorithms = [];
+ for (const id in import_types8.AlgorithmId) {
+ if (!hasOwn(import_types8.AlgorithmId, id))
+ continue;
+ const algorithmId = import_types8.AlgorithmId[id];
+ if (runtimeConfig[algorithmId] === void 0) {
+ continue;
+ }
+ checksumAlgorithms.push({
+ algorithmId: /* @__PURE__ */ __name(() => algorithmId, "algorithmId"),
+ checksumConstructor: /* @__PURE__ */ __name(() => runtimeConfig[algorithmId], "checksumConstructor")
+ });
+ }
+ for (const [id, ChecksumCtor] of Object.entries(runtimeConfig.checksumAlgorithms ?? {})) {
+ checksumAlgorithms.push({
+ algorithmId: /* @__PURE__ */ __name(() => id, "algorithmId"),
+ checksumConstructor: /* @__PURE__ */ __name(() => ChecksumCtor, "checksumConstructor")
+ });
+ }
+ return {
+ addChecksumAlgorithm(algo) {
+ runtimeConfig.checksumAlgorithms = runtimeConfig.checksumAlgorithms ?? {};
+ const id = algo.algorithmId();
+ const ctor = algo.checksumConstructor();
+ if (knownAlgorithms.includes(id)) {
+ runtimeConfig.checksumAlgorithms[id.toUpperCase()] = ctor;
+ } else {
+ runtimeConfig.checksumAlgorithms[id] = ctor;
+ }
+ checksumAlgorithms.push(algo);
+ },
+ checksumAlgorithms() {
+ return checksumAlgorithms;
+ }
+ };
+ }, "getChecksumConfiguration");
+ resolveChecksumRuntimeConfig = /* @__PURE__ */ __name((clientConfig) => {
+ const runtimeConfig = {};
+ clientConfig.checksumAlgorithms().forEach((checksumAlgorithm) => {
+ const id = checksumAlgorithm.algorithmId();
+ if (knownAlgorithms.includes(id)) {
+ runtimeConfig[id] = checksumAlgorithm.checksumConstructor();
+ }
+ });
+ return runtimeConfig;
+ }, "resolveChecksumRuntimeConfig");
+ }
+});
+
+// ../../node_modules/.pnpm/@smithy+core@3.36.1/node_modules/@smithy/core/dist-es/submodules/client/smithy-client/extensions/retry.js
+var getRetryConfiguration, resolveRetryRuntimeConfig;
+var init_retry = __esm({
+ "../../node_modules/.pnpm/@smithy+core@3.36.1/node_modules/@smithy/core/dist-es/submodules/client/smithy-client/extensions/retry.js"() {
+ getRetryConfiguration = /* @__PURE__ */ __name((runtimeConfig) => {
+ return {
+ setRetryStrategy(retryStrategy) {
+ runtimeConfig.retryStrategy = retryStrategy;
+ },
+ retryStrategy() {
+ return runtimeConfig.retryStrategy;
+ }
+ };
+ }, "getRetryConfiguration");
+ resolveRetryRuntimeConfig = /* @__PURE__ */ __name((retryStrategyConfiguration) => {
+ const runtimeConfig = {};
+ runtimeConfig.retryStrategy = retryStrategyConfiguration.retryStrategy();
+ return runtimeConfig;
+ }, "resolveRetryRuntimeConfig");
+ }
+});
+
+// ../../node_modules/.pnpm/@smithy+core@3.36.1/node_modules/@smithy/core/dist-es/submodules/client/smithy-client/extensions/defaultExtensionConfiguration.js
+var getDefaultExtensionConfiguration, getDefaultClientConfiguration, resolveDefaultRuntimeConfig;
+var init_defaultExtensionConfiguration = __esm({
+ "../../node_modules/.pnpm/@smithy+core@3.36.1/node_modules/@smithy/core/dist-es/submodules/client/smithy-client/extensions/defaultExtensionConfiguration.js"() {
+ init_checksum();
+ init_retry();
+ getDefaultExtensionConfiguration = /* @__PURE__ */ __name((runtimeConfig) => {
+ return Object.assign(getChecksumConfiguration(runtimeConfig), getRetryConfiguration(runtimeConfig));
+ }, "getDefaultExtensionConfiguration");
+ getDefaultClientConfiguration = getDefaultExtensionConfiguration;
+ resolveDefaultRuntimeConfig = /* @__PURE__ */ __name((config) => {
+ return Object.assign(resolveChecksumRuntimeConfig(config), resolveRetryRuntimeConfig(config));
+ }, "resolveDefaultRuntimeConfig");
+ }
+});
+
+// ../../node_modules/.pnpm/@smithy+core@3.36.1/node_modules/@smithy/core/dist-es/submodules/client/smithy-client/get-array-if-single-item.js
+var getArrayIfSingleItem;
+var init_get_array_if_single_item = __esm({
+ "../../node_modules/.pnpm/@smithy+core@3.36.1/node_modules/@smithy/core/dist-es/submodules/client/smithy-client/get-array-if-single-item.js"() {
+ getArrayIfSingleItem = /* @__PURE__ */ __name((mayBeArray) => Array.isArray(mayBeArray) ? mayBeArray : [mayBeArray], "getArrayIfSingleItem");
+ }
+});
+
+// ../../node_modules/.pnpm/@smithy+core@3.36.1/node_modules/@smithy/core/dist-es/submodules/client/smithy-client/get-value-from-text-node.js
+var getValueFromTextNode;
+var init_get_value_from_text_node = __esm({
+ "../../node_modules/.pnpm/@smithy+core@3.36.1/node_modules/@smithy/core/dist-es/submodules/client/smithy-client/get-value-from-text-node.js"() {
+ init_transport();
+ getValueFromTextNode = /* @__PURE__ */ __name((obj) => {
+ const textNodeName = "#text";
+ for (const key in obj) {
+ if (!hasOwn(obj, key))
+ continue;
+ if (obj[key][textNodeName] !== void 0) {
+ obj[key] = obj[key][textNodeName];
+ } else if (typeof obj[key] === "object" && obj[key] !== null) {
+ obj[key] = getValueFromTextNode(obj[key]);
+ }
+ }
+ return obj;
+ }, "getValueFromTextNode");
+ }
+});
+
+// ../../node_modules/.pnpm/@smithy+core@3.36.1/node_modules/@smithy/core/dist-es/submodules/client/smithy-client/is-serializable-header-value.js
+var isSerializableHeaderValue;
+var init_is_serializable_header_value = __esm({
+ "../../node_modules/.pnpm/@smithy+core@3.36.1/node_modules/@smithy/core/dist-es/submodules/client/smithy-client/is-serializable-header-value.js"() {
+ isSerializableHeaderValue = /* @__PURE__ */ __name((value) => {
+ return value != null;
+ }, "isSerializableHeaderValue");
+ }
+});
+
+// ../../node_modules/.pnpm/@smithy+core@3.36.1/node_modules/@smithy/core/dist-es/submodules/client/smithy-client/NoOpLogger.js
+var NoOpLogger;
+var init_NoOpLogger = __esm({
+ "../../node_modules/.pnpm/@smithy+core@3.36.1/node_modules/@smithy/core/dist-es/submodules/client/smithy-client/NoOpLogger.js"() {
+ NoOpLogger = class {
+ static {
+ __name(this, "NoOpLogger");
+ }
+ trace() {
+ }
+ debug() {
+ }
+ info() {
+ }
+ warn() {
+ }
+ error() {
+ }
+ };
+ }
+});
+
+// ../../node_modules/.pnpm/@smithy+core@3.36.1/node_modules/@smithy/core/dist-es/submodules/client/smithy-client/object-mapping.js
+function map2(arg0, arg1, arg2) {
+ let target;
+ let filter;
+ let instructions;
+ if (typeof arg1 === "undefined" && typeof arg2 === "undefined") {
+ target = {};
+ instructions = arg0;
+ } else {
+ target = arg0;
+ if (typeof arg1 === "function") {
+ filter = arg1;
+ instructions = arg2;
+ return mapWithFilter(target, filter, instructions);
+ } else {
+ instructions = arg1;
+ }
+ }
+ for (const key in instructions) {
+ if (!hasOwn(instructions, key))
+ continue;
+ if (!Array.isArray(instructions[key])) {
+ target[key] = instructions[key];
+ continue;
+ }
+ applyInstruction(target, null, instructions, key);
+ }
+ return target;
+}
+var convertMap, take, mapWithFilter, applyInstruction, nonNullish, pass;
+var init_object_mapping = __esm({
+ "../../node_modules/.pnpm/@smithy+core@3.36.1/node_modules/@smithy/core/dist-es/submodules/client/smithy-client/object-mapping.js"() {
+ init_transport();
+ __name(map2, "map");
+ convertMap = /* @__PURE__ */ __name((target) => {
+ const output = {};
+ for (const [k, v] of Object.entries(target || {})) {
+ output[k] = [, v];
+ }
+ return output;
+ }, "convertMap");
+ take = /* @__PURE__ */ __name((source, instructions) => {
+ const out = {};
+ for (const key in instructions) {
+ if (!hasOwn(instructions, key))
+ continue;
+ applyInstruction(out, source, instructions, key);
+ }
+ return out;
+ }, "take");
+ mapWithFilter = /* @__PURE__ */ __name((target, filter, instructions) => {
+ return map2(target, Object.entries(instructions).reduce((_instructions, [key, value]) => {
+ if (Array.isArray(value)) {
+ _instructions[key] = value;
+ } else {
+ if (typeof value === "function") {
+ _instructions[key] = [filter, value()];
+ } else {
+ _instructions[key] = [filter, value];
+ }
+ }
+ return _instructions;
+ }, {}));
+ }, "mapWithFilter");
+ applyInstruction = /* @__PURE__ */ __name((target, source, instructions, targetKey) => {
+ if (source !== null) {
+ let instruction = instructions[targetKey];
+ if (typeof instruction === "function") {
+ instruction = [, instruction];
+ }
+ const [filter2 = nonNullish, valueFn = pass, sourceKey = targetKey] = instruction;
+ if (typeof filter2 === "function" && filter2(source[sourceKey]) || typeof filter2 !== "function" && !!filter2) {
+ target[targetKey] = valueFn(source[sourceKey]);
+ }
+ return;
+ }
+ let [filter, value] = instructions[targetKey];
+ if (typeof value === "function") {
+ let _value;
+ const defaultFilterPassed = filter === void 0 && (_value = value()) != null;
+ const customFilterPassed = typeof filter === "function" && !!filter(void 0) || typeof filter !== "function" && !!filter;
+ if (defaultFilterPassed) {
+ target[targetKey] = _value;
+ } else if (customFilterPassed) {
+ target[targetKey] = value();
+ }
+ } else {
+ const defaultFilterPassed = filter === void 0 && value != null;
+ const customFilterPassed = typeof filter === "function" && !!filter(value) || typeof filter !== "function" && !!filter;
+ if (defaultFilterPassed || customFilterPassed) {
+ target[targetKey] = value;
+ }
+ }
+ }, "applyInstruction");
+ nonNullish = /* @__PURE__ */ __name((_) => _ != null, "nonNullish");
+ pass = /* @__PURE__ */ __name((_) => _, "pass");
+ }
+});
+
+// ../../node_modules/.pnpm/@smithy+core@3.36.1/node_modules/@smithy/core/dist-es/submodules/client/smithy-client/ser-utils.js
+var serializeFloat, serializeDateTime;
+var init_ser_utils = __esm({
+ "../../node_modules/.pnpm/@smithy+core@3.36.1/node_modules/@smithy/core/dist-es/submodules/client/smithy-client/ser-utils.js"() {
+ serializeFloat = /* @__PURE__ */ __name((value) => {
+ if (value !== value) {
+ return "NaN";
+ }
+ switch (value) {
+ case Infinity:
+ return "Infinity";
+ case -Infinity:
+ return "-Infinity";
+ default:
+ return value;
+ }
+ }, "serializeFloat");
+ serializeDateTime = /* @__PURE__ */ __name((date2) => date2.toISOString().replace(".000Z", "Z"), "serializeDateTime");
+ }
+});
+
+// ../../node_modules/.pnpm/@smithy+core@3.36.1/node_modules/@smithy/core/dist-es/submodules/client/smithy-client/serde-json.js
+var _json;
+var init_serde_json = __esm({
+ "../../node_modules/.pnpm/@smithy+core@3.36.1/node_modules/@smithy/core/dist-es/submodules/client/smithy-client/serde-json.js"() {
+ init_transport();
+ _json = /* @__PURE__ */ __name((obj) => {
+ if (obj == null) {
+ return {};
+ }
+ if (Array.isArray(obj)) {
+ return obj.filter((_) => _ != null).map(_json);
+ }
+ if (typeof obj === "object") {
+ const target = {};
+ for (const key in obj) {
+ if (!hasOwn(obj, key))
+ continue;
+ if (obj[key] == null) {
+ continue;
+ }
+ target[key] = _json(obj[key]);
+ }
+ return target;
+ }
+ return obj;
+ }, "_json");
+ }
+});
+
+// ../../node_modules/.pnpm/@smithy+core@3.36.1/node_modules/@smithy/core/dist-es/submodules/client/smithy-client/client-command-builder.js
+function makeBuilder(common, service, name, ep) {
+ return /* @__PURE__ */ __name(function makeCommand(added, plugins, op2, $, smithyContext = {}) {
+ const epMerged = Object.assign({}, common, added);
+ return Command.classBuilder().ep(epMerged).m(function(CommandCtor, clientStack, config, options) {
+ const list2 = plugins.call(this, CommandCtor, clientStack, config, options);
+ list2.unshift(ep(config, CommandCtor.getEndpointParameterInstructions()));
+ return list2;
+ }).s(service, op2, smithyContext).n(name, op2.charAt(0).toUpperCase() + op2.slice(1) + "Command").sc($).build();
+ }, "makeCommand");
+}
+var init_client_command_builder = __esm({
+ "../../node_modules/.pnpm/@smithy+core@3.36.1/node_modules/@smithy/core/dist-es/submodules/client/smithy-client/client-command-builder.js"() {
+ init_command();
+ __name(makeBuilder, "makeBuilder");
+ }
+});
+
+// ../../node_modules/.pnpm/@smithy+core@3.36.1/node_modules/@smithy/core/dist-es/submodules/client/index.js
+var client_exports = {};
+__export(client_exports, {
+ AlgorithmId: () => import_types8.AlgorithmId,
+ Client: () => Client,
+ Command: () => Command,
+ NoOpLogger: () => NoOpLogger,
+ SENSITIVE_STRING: () => SENSITIVE_STRING2,
+ ServiceException: () => ServiceException,
+ WaiterState: () => WaiterState,
+ _json: () => _json,
+ checkExceptions: () => checkExceptions,
+ constructStack: () => constructStack,
+ convertMap: () => convertMap,
+ createAggregatedClient: () => createAggregatedClient,
+ createWaiter: () => createWaiter,
+ decorateServiceException: () => decorateServiceException,
+ emitWarningIfUnsupportedVersion: () => emitWarningIfUnsupportedVersion,
+ getArrayIfSingleItem: () => getArrayIfSingleItem,
+ getChecksumConfiguration: () => getChecksumConfiguration,
+ getDefaultClientConfiguration: () => getDefaultClientConfiguration,
+ getDefaultExtensionConfiguration: () => getDefaultExtensionConfiguration,
+ getRetryConfiguration: () => getRetryConfiguration,
+ getSmithyContext: () => getSmithyContext,
+ getValueFromTextNode: () => getValueFromTextNode,
+ invalidFunction: () => invalidFunction,
+ invalidProvider: () => invalidProvider,
+ isSerializableHeaderValue: () => isSerializableHeaderValue,
+ loadConfigsForDefaultMode: () => loadConfigsForDefaultMode,
+ makeBuilder: () => makeBuilder,
+ map: () => map2,
+ normalizeProvider: () => normalizeProvider,
+ resolveChecksumRuntimeConfig: () => resolveChecksumRuntimeConfig,
+ resolveDefaultRuntimeConfig: () => resolveDefaultRuntimeConfig,
+ resolveRetryRuntimeConfig: () => resolveRetryRuntimeConfig,
+ schemaLogFilter: () => schemaLogFilter,
+ serializeDateTime: () => serializeDateTime,
+ serializeFloat: () => serializeFloat,
+ take: () => take,
+ throwDefaultError: () => throwDefaultError,
+ waiterServiceDefaults: () => waiterServiceDefaults,
+ withBaseException: () => withBaseException
+});
+var init_client2 = __esm({
+ "../../node_modules/.pnpm/@smithy+core@3.36.1/node_modules/@smithy/core/dist-es/submodules/client/index.js"() {
+ init_MiddlewareStack();
+ init_transport();
+ init_transport();
+ init_invalidFunction();
+ init_invalidProvider();
+ init_createWaiter();
+ init_waiter();
+ init_client();
+ init_command();
+ init_constants2();
+ init_create_aggregated_client();
+ init_default_error_handler();
+ init_defaults_mode();
+ init_emitWarningIfUnsupportedVersion();
+ init_exceptions();
+ init_defaultExtensionConfiguration();
+ init_checksum();
+ init_retry();
+ init_get_array_if_single_item();
+ init_get_value_from_text_node();
+ init_is_serializable_header_value();
+ init_NoOpLogger();
+ init_object_mapping();
+ init_schemaLogFilter();
+ init_ser_utils();
+ init_serde_json();
+ init_client_command_builder();
+ }
+});
+
+// ../../node_modules/.pnpm/@smithy+core@3.36.1/node_modules/@smithy/core/dist-es/submodules/config/config-resolver/endpointsConfig/resolveCustomEndpointsConfig.js
+var resolveCustomEndpointsConfig;
+var init_resolveCustomEndpointsConfig = __esm({
+ "../../node_modules/.pnpm/@smithy+core@3.36.1/node_modules/@smithy/core/dist-es/submodules/config/config-resolver/endpointsConfig/resolveCustomEndpointsConfig.js"() {
+ init_client2();
+ resolveCustomEndpointsConfig = /* @__PURE__ */ __name((input) => {
+ const { tls, endpoint, urlParser, useDualstackEndpoint } = input;
+ return Object.assign(input, {
+ tls: tls ?? true,
+ endpoint: normalizeProvider(typeof endpoint === "string" ? urlParser(endpoint) : endpoint),
+ isCustomEndpoint: true,
+ useDualstackEndpoint: normalizeProvider(useDualstackEndpoint ?? false)
+ });
+ }, "resolveCustomEndpointsConfig");
+ }
+});
+
+// ../../node_modules/.pnpm/@smithy+core@3.36.1/node_modules/@smithy/core/dist-es/submodules/config/config-resolver/endpointsConfig/utils/getEndpointFromRegion.js
+var getEndpointFromRegion;
+var init_getEndpointFromRegion = __esm({
+ "../../node_modules/.pnpm/@smithy+core@3.36.1/node_modules/@smithy/core/dist-es/submodules/config/config-resolver/endpointsConfig/utils/getEndpointFromRegion.js"() {
+ getEndpointFromRegion = /* @__PURE__ */ __name(async (input) => {
+ const { tls = true } = input;
+ const region = await input.region();
+ const dnsHostRegex = new RegExp(/^([a-zA-Z0-9]|[a-zA-Z0-9][a-zA-Z0-9-]{0,61}[a-zA-Z0-9])$/);
+ if (!dnsHostRegex.test(region)) {
+ throw new Error("Invalid region in client config");
+ }
+ const useDualstackEndpoint = await input.useDualstackEndpoint();
+ const useFipsEndpoint = await input.useFipsEndpoint();
+ const { hostname } = await input.regionInfoProvider(region, { useDualstackEndpoint, useFipsEndpoint }) ?? {};
+ if (!hostname) {
+ throw new Error("Cannot resolve hostname from client config");
+ }
+ return input.urlParser(`${tls ? "https:" : "http:"}//${hostname}`);
+ }, "getEndpointFromRegion");
+ }
+});
+
+// ../../node_modules/.pnpm/@smithy+core@3.36.1/node_modules/@smithy/core/dist-es/submodules/config/config-resolver/endpointsConfig/resolveEndpointsConfig.js
+var resolveEndpointsConfig;
+var init_resolveEndpointsConfig = __esm({
+ "../../node_modules/.pnpm/@smithy+core@3.36.1/node_modules/@smithy/core/dist-es/submodules/config/config-resolver/endpointsConfig/resolveEndpointsConfig.js"() {
+ init_client2();
+ init_getEndpointFromRegion();
+ resolveEndpointsConfig = /* @__PURE__ */ __name((input) => {
+ const useDualstackEndpoint = normalizeProvider(input.useDualstackEndpoint ?? false);
+ const { endpoint, useFipsEndpoint, urlParser, tls } = input;
+ return Object.assign(input, {
+ tls: tls ?? true,
+ endpoint: endpoint ? normalizeProvider(typeof endpoint === "string" ? urlParser(endpoint) : endpoint) : () => getEndpointFromRegion({ ...input, useDualstackEndpoint, useFipsEndpoint }),
+ isCustomEndpoint: !!endpoint,
+ useDualstackEndpoint
+ });
+ }, "resolveEndpointsConfig");
+ }
+});
+
+// ../../node_modules/.pnpm/@smithy+core@3.36.1/node_modules/@smithy/core/dist-es/submodules/config/defaults-mode/constants.js
+var AWS_EXECUTION_ENV, AWS_REGION_ENV, AWS_DEFAULT_REGION_ENV, ENV_IMDS_DISABLED, DEFAULTS_MODE_OPTIONS, IMDS_REGION_PATH, IMDS_TOKEN_PATH, X_AWS_EC2_METADATA_TOKEN, X_AWS_EC2_METADATA_TOKEN_TTL;
+var init_constants3 = __esm({
+ "../../node_modules/.pnpm/@smithy+core@3.36.1/node_modules/@smithy/core/dist-es/submodules/config/defaults-mode/constants.js"() {
+ AWS_EXECUTION_ENV = "AWS_EXECUTION_ENV";
+ AWS_REGION_ENV = "AWS_REGION";
+ AWS_DEFAULT_REGION_ENV = "AWS_DEFAULT_REGION";
+ ENV_IMDS_DISABLED = "AWS_EC2_METADATA_DISABLED";
+ DEFAULTS_MODE_OPTIONS = ["in-region", "cross-region", "mobile", "standard", "legacy"];
+ IMDS_REGION_PATH = "/latest/meta-data/placement/region";
+ IMDS_TOKEN_PATH = "/latest/api/token";
+ X_AWS_EC2_METADATA_TOKEN = "x-aws-ec2-metadata-token";
+ X_AWS_EC2_METADATA_TOKEN_TTL = "x-aws-ec2-metadata-token-ttl-seconds";
+ }
+});
+
+// ../../node_modules/.pnpm/@smithy+core@3.36.1/node_modules/@smithy/core/dist-es/submodules/config/config-resolver/regionConfig/getInstanceMetadataRegion.js
+var TIMEOUT_MS, NEG_CACHE_TTL_MS, negativeCacheUntil, getInstanceMetadataRegion, cacheNegativeAndReturnUndefined, resolveImdsEndpoint, imdsRequest;
+var init_getInstanceMetadataRegion = __esm({
+ "../../node_modules/.pnpm/@smithy+core@3.36.1/node_modules/@smithy/core/dist-es/submodules/config/config-resolver/regionConfig/getInstanceMetadataRegion.js"() {
+ init_constants3();
+ TIMEOUT_MS = 1e3;
+ NEG_CACHE_TTL_MS = 6e4;
+ negativeCacheUntil = 0;
+ getInstanceMetadataRegion = /* @__PURE__ */ __name(async () => {
+ if (process.env[ENV_IMDS_DISABLED]) {
+ return void 0;
+ }
+ if (Date.now() < negativeCacheUntil) {
+ return void 0;
+ }
+ try {
+ const endpoint = resolveImdsEndpoint();
+ const token = (await imdsRequest({
+ ...endpoint,
+ path: IMDS_TOKEN_PATH,
+ method: "PUT",
+ headers: {
+ [X_AWS_EC2_METADATA_TOKEN_TTL]: "21600"
+ }
+ })).toString();
+ const region = (await imdsRequest({
+ ...endpoint,
+ path: IMDS_REGION_PATH,
+ method: "GET",
+ headers: {
+ [X_AWS_EC2_METADATA_TOKEN]: token
+ }
+ })).toString().trim();
+ return region || cacheNegativeAndReturnUndefined();
+ } catch {
+ return cacheNegativeAndReturnUndefined();
+ }
+ }, "getInstanceMetadataRegion");
+ cacheNegativeAndReturnUndefined = /* @__PURE__ */ __name(() => {
+ negativeCacheUntil = Date.now() + NEG_CACHE_TTL_MS;
+ return void 0;
+ }, "cacheNegativeAndReturnUndefined");
+ resolveImdsEndpoint = /* @__PURE__ */ __name(() => {
+ const envEndpoint = process.env.AWS_EC2_METADATA_SERVICE_ENDPOINT;
+ if (envEndpoint) {
+ const url = new URL(envEndpoint);
+ return {
+ hostname: url.hostname.replace(/^\[(.+)]$/, "$1"),
+ port: url.port ? Number(url.port) : void 0
+ };
+ }
+ if (process.env.AWS_EC2_METADATA_SERVICE_ENDPOINT_MODE === "IPv6") {
+ return { hostname: "fd00:ec2::254" };
+ }
+ return { hostname: "169.254.169.254" };
+ }, "resolveImdsEndpoint");
+ imdsRequest = /* @__PURE__ */ __name(async (options) => {
+ const { request } = await import("node:http");
+ return new Promise((resolve, reject) => {
+ const req = request({
+ hostname: options.hostname,
+ port: options.port,
+ path: options.path,
+ method: options.method,
+ headers: options.headers,
+ timeout: TIMEOUT_MS,
+ signal: AbortSignal.timeout(TIMEOUT_MS)
+ });
+ req.on("error", (err) => {
+ reject(err);
+ req.destroy();
+ });
+ req.on("timeout", () => {
+ reject(new Error("TimeoutError from instance metadata service"));
+ req.destroy();
+ });
+ req.on("response", (res) => {
+ const { statusCode = 400 } = res;
+ if (statusCode < 200 || statusCode >= 300) {
+ reject(Object.assign(new Error("Error response received from instance metadata service"), { statusCode }));
+ req.destroy();
+ return;
+ }
+ const chunks = [];
+ res.on("data", (chunk) => chunks.push(chunk));
+ res.on("end", () => {
+ resolve(Buffer.concat(chunks));
+ req.destroy();
+ });
+ });
+ req.end();
+ });
+ }, "imdsRequest");
+ }
+});
+
+// ../../node_modules/.pnpm/@smithy+core@3.36.1/node_modules/@smithy/core/dist-es/submodules/config/config-resolver/regionConfig/config.js
+var REGION_ENV_NAME, REGION_INI_NAME, NODE_REGION_CONFIG_OPTIONS, NODE_REGION_CONFIG_FILE_OPTIONS;
+var init_config = __esm({
+ "../../node_modules/.pnpm/@smithy+core@3.36.1/node_modules/@smithy/core/dist-es/submodules/config/config-resolver/regionConfig/config.js"() {
+ init_getInstanceMetadataRegion();
+ REGION_ENV_NAME = "AWS_REGION";
+ REGION_INI_NAME = "region";
+ NODE_REGION_CONFIG_OPTIONS = {
+ environmentVariableSelector: /* @__PURE__ */ __name((env) => env[REGION_ENV_NAME], "environmentVariableSelector"),
+ configFileSelector: /* @__PURE__ */ __name((profile) => profile[REGION_INI_NAME], "configFileSelector"),
+ default: /* @__PURE__ */ __name(async () => {
+ const region = await getInstanceMetadataRegion();
+ if (region) {
+ return region;
+ }
+ throw new Error("Region is missing");
+ }, "default")
+ };
+ NODE_REGION_CONFIG_FILE_OPTIONS = {
+ preferredFile: "credentials"
+ };
+ }
+});
+
+// ../../node_modules/.pnpm/@smithy+core@3.36.1/node_modules/@smithy/core/dist-es/submodules/config/config-resolver/regionConfig/checkRegion.js
+var validRegions, checkRegion;
+var init_checkRegion = __esm({
+ "../../node_modules/.pnpm/@smithy+core@3.36.1/node_modules/@smithy/core/dist-es/submodules/config/config-resolver/regionConfig/checkRegion.js"() {
+ init_transport();
+ validRegions = /* @__PURE__ */ new Set();
+ checkRegion = /* @__PURE__ */ __name((region, check = isValidHostLabel) => {
+ if (!validRegions.has(region) && !check(region)) {
+ if (region === "*") {
+ console.warn(`@smithy/config-resolver WARN - Please use the caller region instead of "*". See "sigv4a" in https://github.com/aws/aws-sdk-js-v3/blob/main/supplemental-docs/CLIENTS.md.`);
+ } else {
+ throw new Error(`Region not accepted: region="${region}" is not a valid hostname component.`);
+ }
+ } else {
+ validRegions.add(region);
+ }
+ }, "checkRegion");
+ }
+});
+
+// ../../node_modules/.pnpm/@smithy+core@3.36.1/node_modules/@smithy/core/dist-es/submodules/config/config-resolver/regionConfig/isFipsRegion.js
+var isFipsRegion;
+var init_isFipsRegion = __esm({
+ "../../node_modules/.pnpm/@smithy+core@3.36.1/node_modules/@smithy/core/dist-es/submodules/config/config-resolver/regionConfig/isFipsRegion.js"() {
+ isFipsRegion = /* @__PURE__ */ __name((region) => typeof region === "string" && (region.startsWith("fips-") || region.endsWith("-fips")), "isFipsRegion");
+ }
+});
+
+// ../../node_modules/.pnpm/@smithy+core@3.36.1/node_modules/@smithy/core/dist-es/submodules/config/config-resolver/regionConfig/getRealRegion.js
+var getRealRegion;
+var init_getRealRegion = __esm({
+ "../../node_modules/.pnpm/@smithy+core@3.36.1/node_modules/@smithy/core/dist-es/submodules/config/config-resolver/regionConfig/getRealRegion.js"() {
+ init_isFipsRegion();
+ getRealRegion = /* @__PURE__ */ __name((region) => isFipsRegion(region) ? ["fips-aws-global", "aws-fips"].includes(region) ? "us-east-1" : region.replace(/fips-(dkr-|prod-)?|-fips/, "") : region, "getRealRegion");
+ }
+});
+
+// ../../node_modules/.pnpm/@smithy+core@3.36.1/node_modules/@smithy/core/dist-es/submodules/config/config-resolver/regionConfig/resolveRegionConfig.js
+var resolveRegionConfig;
+var init_resolveRegionConfig = __esm({
+ "../../node_modules/.pnpm/@smithy+core@3.36.1/node_modules/@smithy/core/dist-es/submodules/config/config-resolver/regionConfig/resolveRegionConfig.js"() {
+ init_checkRegion();
+ init_getRealRegion();
+ init_isFipsRegion();
+ resolveRegionConfig = /* @__PURE__ */ __name((input) => {
+ const { region, useFipsEndpoint } = input;
+ if (!region) {
+ throw new Error("Region is missing");
+ }
+ return Object.assign(input, {
+ region: /* @__PURE__ */ __name(async () => {
+ const providedRegion = typeof region === "function" ? await region() : region;
+ const realRegion = getRealRegion(providedRegion);
+ checkRegion(realRegion);
+ return realRegion;
+ }, "region"),
+ useFipsEndpoint: /* @__PURE__ */ __name(async () => {
+ const providedRegion = typeof region === "string" ? region : await region();
+ if (isFipsRegion(providedRegion)) {
+ return true;
+ }
+ return typeof useFipsEndpoint !== "function" ? Promise.resolve(!!useFipsEndpoint) : useFipsEndpoint();
+ }, "useFipsEndpoint")
+ });
+ }, "resolveRegionConfig");
+ }
+});
+
+// ../../node_modules/.pnpm/@smithy+core@3.36.1/node_modules/@smithy/core/dist-es/submodules/config/config-resolver/regionInfo/getHostnameFromVariants.js
+var getHostnameFromVariants;
+var init_getHostnameFromVariants = __esm({
+ "../../node_modules/.pnpm/@smithy+core@3.36.1/node_modules/@smithy/core/dist-es/submodules/config/config-resolver/regionInfo/getHostnameFromVariants.js"() {
+ getHostnameFromVariants = /* @__PURE__ */ __name((variants = [], { useFipsEndpoint, useDualstackEndpoint }) => variants.find(({ tags }) => useFipsEndpoint === tags.includes("fips") && useDualstackEndpoint === tags.includes("dualstack"))?.hostname, "getHostnameFromVariants");
+ }
+});
+
+// ../../node_modules/.pnpm/@smithy+core@3.36.1/node_modules/@smithy/core/dist-es/submodules/config/config-resolver/regionInfo/getResolvedHostname.js
+var getResolvedHostname;
+var init_getResolvedHostname = __esm({
+ "../../node_modules/.pnpm/@smithy+core@3.36.1/node_modules/@smithy/core/dist-es/submodules/config/config-resolver/regionInfo/getResolvedHostname.js"() {
+ getResolvedHostname = /* @__PURE__ */ __name((resolvedRegion, { regionHostname, partitionHostname }) => regionHostname ? regionHostname : partitionHostname ? partitionHostname.replace("{region}", resolvedRegion) : void 0, "getResolvedHostname");
+ }
+});
+
+// ../../node_modules/.pnpm/@smithy+core@3.36.1/node_modules/@smithy/core/dist-es/submodules/config/config-resolver/regionInfo/getResolvedPartition.js
+var getResolvedPartition;
+var init_getResolvedPartition = __esm({
+ "../../node_modules/.pnpm/@smithy+core@3.36.1/node_modules/@smithy/core/dist-es/submodules/config/config-resolver/regionInfo/getResolvedPartition.js"() {
+ getResolvedPartition = /* @__PURE__ */ __name((region, { partitionHash }) => Object.keys(partitionHash || {}).find((key) => partitionHash[key].regions.includes(region)) ?? "aws", "getResolvedPartition");
+ }
+});
+
+// ../../node_modules/.pnpm/@smithy+core@3.36.1/node_modules/@smithy/core/dist-es/submodules/config/config-resolver/regionInfo/getResolvedSigningRegion.js
+var getResolvedSigningRegion;
+var init_getResolvedSigningRegion = __esm({
+ "../../node_modules/.pnpm/@smithy+core@3.36.1/node_modules/@smithy/core/dist-es/submodules/config/config-resolver/regionInfo/getResolvedSigningRegion.js"() {
+ getResolvedSigningRegion = /* @__PURE__ */ __name((hostname, { signingRegion, regionRegex, useFipsEndpoint }) => {
+ if (signingRegion) {
+ return signingRegion;
+ } else if (useFipsEndpoint) {
+ const regionRegexJs = regionRegex.replace("\\\\", "\\").replace(/^\^/g, "\\.").replace(/\$$/g, "\\.");
+ const regionRegexmatchArray = hostname.match(regionRegexJs);
+ if (regionRegexmatchArray) {
+ return regionRegexmatchArray[0].slice(1, -1);
+ }
+ }
+ }, "getResolvedSigningRegion");
+ }
+});
+
+// ../../node_modules/.pnpm/@smithy+core@3.36.1/node_modules/@smithy/core/dist-es/submodules/config/config-resolver/regionInfo/getRegionInfo.js
+var getRegionInfo;
+var init_getRegionInfo = __esm({
+ "../../node_modules/.pnpm/@smithy+core@3.36.1/node_modules/@smithy/core/dist-es/submodules/config/config-resolver/regionInfo/getRegionInfo.js"() {
+ init_getHostnameFromVariants();
+ init_getResolvedHostname();
+ init_getResolvedPartition();
+ init_getResolvedSigningRegion();
+ getRegionInfo = /* @__PURE__ */ __name((region, { useFipsEndpoint = false, useDualstackEndpoint = false, signingService, regionHash, partitionHash }) => {
+ const partition = getResolvedPartition(region, { partitionHash });
+ const resolvedRegion = region in regionHash ? region : partitionHash[partition]?.endpoint ?? region;
+ const hostnameOptions = { useFipsEndpoint, useDualstackEndpoint };
+ const regionHostname = getHostnameFromVariants(regionHash[resolvedRegion]?.variants, hostnameOptions);
+ const partitionHostname = getHostnameFromVariants(partitionHash[partition]?.variants, hostnameOptions);
+ const hostname = getResolvedHostname(resolvedRegion, { regionHostname, partitionHostname });
+ if (hostname === void 0) {
+ throw new Error(`Endpoint resolution failed for: ${{ resolvedRegion, useFipsEndpoint, useDualstackEndpoint }}`);
+ }
+ const signingRegion = getResolvedSigningRegion(hostname, {
+ signingRegion: regionHash[resolvedRegion]?.signingRegion,
+ regionRegex: partitionHash[partition].regionRegex,
+ useFipsEndpoint
+ });
+ return {
+ partition,
+ signingService,
+ hostname,
+ ...signingRegion && { signingRegion },
+ ...regionHash[resolvedRegion]?.signingService && {
+ signingService: regionHash[resolvedRegion].signingService
+ }
+ };
+ }, "getRegionInfo");
+ }
+});
+
+// ../../node_modules/.pnpm/@smithy+core@3.36.1/node_modules/@smithy/core/dist-es/submodules/config/defaults-mode/defaultsModeConfig.js
+var AWS_DEFAULTS_MODE_ENV, AWS_DEFAULTS_MODE_CONFIG, NODE_DEFAULTS_MODE_CONFIG_OPTIONS;
+var init_defaultsModeConfig = __esm({
+ "../../node_modules/.pnpm/@smithy+core@3.36.1/node_modules/@smithy/core/dist-es/submodules/config/defaults-mode/defaultsModeConfig.js"() {
+ AWS_DEFAULTS_MODE_ENV = "AWS_DEFAULTS_MODE";
+ AWS_DEFAULTS_MODE_CONFIG = "defaults_mode";
+ NODE_DEFAULTS_MODE_CONFIG_OPTIONS = {
+ environmentVariableSelector: /* @__PURE__ */ __name((env) => {
+ return env[AWS_DEFAULTS_MODE_ENV];
+ }, "environmentVariableSelector"),
+ configFileSelector: /* @__PURE__ */ __name((profile) => {
+ return profile[AWS_DEFAULTS_MODE_CONFIG];
+ }, "configFileSelector"),
+ default: "legacy"
+ };
+ }
+});
+
+// ../../node_modules/.pnpm/@smithy+core@3.36.1/node_modules/@smithy/core/dist-es/submodules/config/defaults-mode/resolveDefaultsModeConfig.js
+var resolveDefaultsModeConfig, resolveNodeDefaultsModeAuto, inferPhysicalRegion;
+var init_resolveDefaultsModeConfig = __esm({
+ "../../node_modules/.pnpm/@smithy+core@3.36.1/node_modules/@smithy/core/dist-es/submodules/config/defaults-mode/resolveDefaultsModeConfig.js"() {
+ init_config();
+ init_getInstanceMetadataRegion();
+ init_configLoader();
+ init_memoize();
+ init_constants3();
+ init_defaultsModeConfig();
+ resolveDefaultsModeConfig = /* @__PURE__ */ __name(({ region = loadConfig(NODE_REGION_CONFIG_OPTIONS), defaultsMode = loadConfig(NODE_DEFAULTS_MODE_CONFIG_OPTIONS) } = {}) => memoize(async () => {
+ const mode = typeof defaultsMode === "function" ? await defaultsMode() : defaultsMode;
+ switch (mode?.toLowerCase()) {
+ case "auto":
+ return resolveNodeDefaultsModeAuto(region);
+ case "in-region":
+ case "cross-region":
+ case "mobile":
+ case "standard":
+ case "legacy":
+ return Promise.resolve(mode?.toLocaleLowerCase());
+ case void 0:
+ return Promise.resolve("legacy");
+ default:
+ throw new Error(`Invalid parameter for "defaultsMode", expect ${DEFAULTS_MODE_OPTIONS.join(", ")}, got ${mode}`);
+ }
+ }), "resolveDefaultsModeConfig");
+ resolveNodeDefaultsModeAuto = /* @__PURE__ */ __name(async (clientRegion) => {
+ if (clientRegion) {
+ const resolvedRegion = typeof clientRegion === "function" ? await clientRegion() : clientRegion;
+ const inferredRegion = await inferPhysicalRegion();
+ if (!inferredRegion) {
+ return "standard";
+ }
+ if (resolvedRegion === inferredRegion) {
+ return "in-region";
+ } else {
+ return "cross-region";
+ }
+ }
+ return "standard";
+ }, "resolveNodeDefaultsModeAuto");
+ inferPhysicalRegion = /* @__PURE__ */ __name(async () => {
+ if (process.env[AWS_EXECUTION_ENV] && (process.env[AWS_REGION_ENV] || process.env[AWS_DEFAULT_REGION_ENV])) {
+ return process.env[AWS_REGION_ENV] ?? process.env[AWS_DEFAULT_REGION_ENV];
+ }
+ return getInstanceMetadataRegion();
+ }, "inferPhysicalRegion");
+ }
+});
+
+// ../../node_modules/.pnpm/@smithy+core@3.36.1/node_modules/@smithy/core/dist-es/submodules/config/index.js
+var config_exports = {};
+__export(config_exports, {
+ CONFIG_PREFIX_SEPARATOR: () => CONFIG_PREFIX_SEPARATOR,
+ CONFIG_USE_DUALSTACK_ENDPOINT: () => CONFIG_USE_DUALSTACK_ENDPOINT,
+ CONFIG_USE_FIPS_ENDPOINT: () => CONFIG_USE_FIPS_ENDPOINT,
+ CredentialsProviderError: () => CredentialsProviderError,
+ DEFAULT_PROFILE: () => DEFAULT_PROFILE,
+ DEFAULT_USE_DUALSTACK_ENDPOINT: () => DEFAULT_USE_DUALSTACK_ENDPOINT,
+ DEFAULT_USE_FIPS_ENDPOINT: () => DEFAULT_USE_FIPS_ENDPOINT,
+ ENV_PROFILE: () => ENV_PROFILE,
+ ENV_USE_DUALSTACK_ENDPOINT: () => ENV_USE_DUALSTACK_ENDPOINT,
+ ENV_USE_FIPS_ENDPOINT: () => ENV_USE_FIPS_ENDPOINT,
+ NODE_REGION_CONFIG_FILE_OPTIONS: () => NODE_REGION_CONFIG_FILE_OPTIONS,
+ NODE_REGION_CONFIG_OPTIONS: () => NODE_REGION_CONFIG_OPTIONS,
+ NODE_USE_DUALSTACK_ENDPOINT_CONFIG_OPTIONS: () => NODE_USE_DUALSTACK_ENDPOINT_CONFIG_OPTIONS,
+ NODE_USE_FIPS_ENDPOINT_CONFIG_OPTIONS: () => NODE_USE_FIPS_ENDPOINT_CONFIG_OPTIONS,
+ ProviderError: () => ProviderError,
+ REGION_ENV_NAME: () => REGION_ENV_NAME,
+ REGION_INI_NAME: () => REGION_INI_NAME,
+ SelectorType: () => SelectorType,
+ TokenProviderError: () => TokenProviderError,
+ booleanSelector: () => booleanSelector,
+ chain: () => chain,
+ externalDataInterceptor: () => externalDataInterceptor,
+ fromStatic: () => fromStatic,
+ fromValue: () => fromValue,
+ getHomeDir: () => getHomeDir,
+ getProfileName: () => getProfileName,
+ getRegionInfo: () => getRegionInfo,
+ getSSOTokenFilepath: () => getSSOTokenFilepath,
+ getSSOTokenFromFile: () => getSSOTokenFromFile,
+ loadConfig: () => loadConfig,
+ loadSharedConfigFiles: () => loadSharedConfigFiles,
+ loadSsoSessionData: () => loadSsoSessionData,
+ memoize: () => memoize,
+ nodeDualstackConfigSelectors: () => nodeDualstackConfigSelectors,
+ nodeFipsConfigSelectors: () => nodeFipsConfigSelectors,
+ numberSelector: () => numberSelector,
+ parseKnownFiles: () => parseKnownFiles,
+ readFile: () => readFile2,
+ resolveCustomEndpointsConfig: () => resolveCustomEndpointsConfig,
+ resolveDefaultsModeConfig: () => resolveDefaultsModeConfig,
+ resolveEndpointsConfig: () => resolveEndpointsConfig,
+ resolveRegionConfig: () => resolveRegionConfig
+});
+var init_config2 = __esm({
+ "../../node_modules/.pnpm/@smithy+core@3.36.1/node_modules/@smithy/core/dist-es/submodules/config/index.js"() {
+ init_ProviderError();
+ init_CredentialsProviderError();
+ init_TokenProviderError();
+ init_chain();
+ init_fromValue();
+ init_memoize();
+ init_booleanSelector();
+ init_numberSelector();
+ init_types();
+ init_getHomeDir();
+ init_getProfileName();
+ init_getSSOTokenFilepath();
+ init_getSSOTokenFromFile();
+ init_constants();
+ init_loadSharedConfigFiles();
+ init_loadSsoSessionData();
+ init_parseKnownFiles();
+ init_externalDataInterceptor();
+ init_readFile();
+ init_configLoader();
+ init_fromStatic();
+ init_NodeUseDualstackEndpointConfigOptions();
+ init_NodeUseFipsEndpointConfigOptions();
+ init_resolveCustomEndpointsConfig();
+ init_resolveEndpointsConfig();
+ init_config();
+ init_resolveRegionConfig();
+ init_getRegionInfo();
+ init_resolveDefaultsModeConfig();
+ }
+});
+
+// ../../node_modules/.pnpm/@smithy+core@3.36.1/node_modules/@smithy/core/dist-es/submodules/endpoints/middleware-endpoint/adaptors/getEndpointUrlConfig.js
+var ENV_ENDPOINT_URL, CONFIG_ENDPOINT_URL, getEndpointUrlConfig;
+var init_getEndpointUrlConfig = __esm({
+ "../../node_modules/.pnpm/@smithy+core@3.36.1/node_modules/@smithy/core/dist-es/submodules/endpoints/middleware-endpoint/adaptors/getEndpointUrlConfig.js"() {
+ init_config2();
+ ENV_ENDPOINT_URL = "AWS_ENDPOINT_URL";
+ CONFIG_ENDPOINT_URL = "endpoint_url";
+ getEndpointUrlConfig = /* @__PURE__ */ __name((serviceId) => ({
+ environmentVariableSelector: /* @__PURE__ */ __name((env) => {
+ const serviceSuffixParts = serviceId.split(" ").map((w) => w.toUpperCase());
+ const serviceEndpointUrl = env[[ENV_ENDPOINT_URL, ...serviceSuffixParts].join("_")];
+ if (serviceEndpointUrl)
+ return serviceEndpointUrl;
+ const endpointUrl = env[ENV_ENDPOINT_URL];
+ if (endpointUrl)
+ return endpointUrl;
+ return void 0;
+ }, "environmentVariableSelector"),
+ configFileSelector: /* @__PURE__ */ __name((profile, config) => {
+ if (profile.services) {
+ const servicesSectionKey = ["services", profile.services].join(CONFIG_PREFIX_SEPARATOR);
+ if (!config || !config[servicesSectionKey]) {
+ throw new Error(`The services section "${profile.services}" specified in the profile is not present in the shared configuration file.`);
+ }
+ const servicesSection = config[servicesSectionKey];
+ const servicePrefixParts = serviceId.split(" ").map((w) => w.toLowerCase());
+ const endpointUrl2 = servicesSection[[servicePrefixParts.join("_"), CONFIG_ENDPOINT_URL].join(CONFIG_PREFIX_SEPARATOR)];
+ if (endpointUrl2)
+ return endpointUrl2;
+ }
+ const endpointUrl = profile[CONFIG_ENDPOINT_URL];
+ if (endpointUrl)
+ return endpointUrl;
+ return void 0;
+ }, "configFileSelector"),
+ default: void 0
+ }), "getEndpointUrlConfig");
+ }
+});
+
+// ../../node_modules/.pnpm/@smithy+core@3.36.1/node_modules/@smithy/core/dist-es/submodules/endpoints/middleware-endpoint/adaptors/getIgnoreConfiguredEndpointUrls.js
+var ENV_IGNORE_CONFIGURED_ENDPOINT_URLS, CONFIG_IGNORE_CONFIGURED_ENDPOINT_URLS, ignoreConfiguredEndpointUrlsConfigSelectors;
+var init_getIgnoreConfiguredEndpointUrls = __esm({
+ "../../node_modules/.pnpm/@smithy+core@3.36.1/node_modules/@smithy/core/dist-es/submodules/endpoints/middleware-endpoint/adaptors/getIgnoreConfiguredEndpointUrls.js"() {
+ init_config2();
+ ENV_IGNORE_CONFIGURED_ENDPOINT_URLS = "AWS_IGNORE_CONFIGURED_ENDPOINT_URLS";
+ CONFIG_IGNORE_CONFIGURED_ENDPOINT_URLS = "ignore_configured_endpoint_urls";
+ ignoreConfiguredEndpointUrlsConfigSelectors = {
+ environmentVariableSelector: /* @__PURE__ */ __name((env) => booleanSelector(env, ENV_IGNORE_CONFIGURED_ENDPOINT_URLS, SelectorType.ENV), "environmentVariableSelector"),
+ configFileSelector: /* @__PURE__ */ __name((profile) => booleanSelector(profile, CONFIG_IGNORE_CONFIGURED_ENDPOINT_URLS, SelectorType.CONFIG), "configFileSelector"),
+ default: false
+ };
+ }
+});
+
+// ../../node_modules/.pnpm/@smithy+core@3.36.1/node_modules/@smithy/core/dist-es/submodules/endpoints/middleware-endpoint/adaptors/getEndpointFromConfig.js
+var getEndpointFromConfig;
+var init_getEndpointFromConfig = __esm({
+ "../../node_modules/.pnpm/@smithy+core@3.36.1/node_modules/@smithy/core/dist-es/submodules/endpoints/middleware-endpoint/adaptors/getEndpointFromConfig.js"() {
+ init_config2();
+ init_getEndpointUrlConfig();
+ init_getIgnoreConfiguredEndpointUrls();
+ getEndpointFromConfig = /* @__PURE__ */ __name(async (serviceId) => {
+ const ignore = await loadConfig(ignoreConfiguredEndpointUrlsConfigSelectors)();
+ if (ignore) {
+ return void 0;
+ }
+ return loadConfig(getEndpointUrlConfig(serviceId ?? ""))();
+ }, "getEndpointFromConfig");
+ }
+});
+
+// ../../node_modules/.pnpm/@smithy+core@3.36.1/node_modules/@smithy/core/dist-es/submodules/endpoints/middleware-endpoint/service-customizations/s3.js
+var resolveParamsForS3, DOMAIN_PATTERN, IP_ADDRESS_PATTERN, DOTS_PATTERN, isDnsCompatibleBucketName, isArnBucketName;
+var init_s3 = __esm({
+ "../../node_modules/.pnpm/@smithy+core@3.36.1/node_modules/@smithy/core/dist-es/submodules/endpoints/middleware-endpoint/service-customizations/s3.js"() {
+ resolveParamsForS3 = /* @__PURE__ */ __name(async (endpointParams) => {
+ const bucket = endpointParams?.Bucket || "";
+ if (typeof endpointParams.Bucket === "string") {
+ endpointParams.Bucket = bucket.replace(/#/g, encodeURIComponent("#")).replace(/\?/g, encodeURIComponent("?"));
+ }
+ if (isArnBucketName(bucket)) {
+ if (endpointParams.ForcePathStyle === true) {
+ throw new Error("Path-style addressing cannot be used with ARN buckets");
+ }
+ } else if (!isDnsCompatibleBucketName(bucket) || bucket.indexOf(".") !== -1 && !String(endpointParams.Endpoint).startsWith("http:") || bucket.toLowerCase() !== bucket || bucket.length < 3) {
+ endpointParams.ForcePathStyle = true;
+ }
+ if (endpointParams.DisableMultiRegionAccessPoints) {
+ endpointParams.disableMultiRegionAccessPoints = true;
+ endpointParams.DisableMRAP = true;
+ }
+ return endpointParams;
+ }, "resolveParamsForS3");
+ DOMAIN_PATTERN = /^[a-z0-9][a-z0-9.-]{1,61}[a-z0-9]$/;
+ IP_ADDRESS_PATTERN = /(\d+\.){3}\d+/;
+ DOTS_PATTERN = /\.\./;
+ isDnsCompatibleBucketName = /* @__PURE__ */ __name((bucketName) => DOMAIN_PATTERN.test(bucketName) && !IP_ADDRESS_PATTERN.test(bucketName) && !DOTS_PATTERN.test(bucketName), "isDnsCompatibleBucketName");
+ isArnBucketName = /* @__PURE__ */ __name((bucketName) => {
+ const [arn, partition, service, , , bucket] = bucketName.split(":");
+ const isArn = arn === "arn" && bucketName.split(":").length >= 6;
+ const isValidArn = Boolean(isArn && partition && service && bucket);
+ if (isArn && !isValidArn) {
+ throw new Error(`Invalid ARN: ${bucketName} was an invalid ARN.`);
+ }
+ return isValidArn;
+ }, "isArnBucketName");
+ }
+});
+
+// ../../node_modules/.pnpm/@smithy+core@3.36.1/node_modules/@smithy/core/dist-es/submodules/endpoints/middleware-endpoint/service-customizations/index.js
+var init_service_customizations = __esm({
+ "../../node_modules/.pnpm/@smithy+core@3.36.1/node_modules/@smithy/core/dist-es/submodules/endpoints/middleware-endpoint/service-customizations/index.js"() {
+ init_s3();
+ }
+});
+
+// ../../node_modules/.pnpm/@smithy+core@3.36.1/node_modules/@smithy/core/dist-es/submodules/endpoints/middleware-endpoint/adaptors/createConfigValueProvider.js
+var createConfigValueProvider;
+var init_createConfigValueProvider = __esm({
+ "../../node_modules/.pnpm/@smithy+core@3.36.1/node_modules/@smithy/core/dist-es/submodules/endpoints/middleware-endpoint/adaptors/createConfigValueProvider.js"() {
+ createConfigValueProvider = /* @__PURE__ */ __name((configKey, canonicalEndpointParamKey, config, isClientContextParam = false) => {
+ const configProvider = /* @__PURE__ */ __name(async () => {
+ let configValue;
+ if (isClientContextParam) {
+ const clientContextParams = config.clientContextParams;
+ const nestedValue = clientContextParams?.[configKey];
+ configValue = nestedValue ?? config[configKey] ?? config[canonicalEndpointParamKey];
+ } else {
+ configValue = config[configKey] ?? config[canonicalEndpointParamKey];
+ }
+ if (typeof configValue === "function") {
+ return configValue();
+ }
+ return configValue;
+ }, "configProvider");
+ if (configKey === "credentialScope" || canonicalEndpointParamKey === "CredentialScope") {
+ return async () => {
+ const credentials = typeof config.credentials === "function" ? await config.credentials() : config.credentials;
+ const configValue = credentials?.credentialScope ?? credentials?.CredentialScope;
+ return configValue;
+ };
+ }
+ if (configKey === "accountId" || canonicalEndpointParamKey === "AccountId") {
+ return async () => {
+ const credentials = typeof config.credentials === "function" ? await config.credentials() : config.credentials;
+ const configValue = credentials?.accountId ?? credentials?.AccountId;
+ return configValue;
+ };
+ }
+ if (configKey === "endpoint" || canonicalEndpointParamKey === "endpoint") {
+ return async () => {
+ if (config.isCustomEndpoint === false) {
+ return void 0;
+ }
+ const endpoint = await configProvider();
+ if (endpoint && typeof endpoint === "object") {
+ if ("url" in endpoint) {
+ return endpoint.url.href;
+ }
+ if ("hostname" in endpoint) {
+ const { protocol, hostname, port, path } = endpoint;
+ return `${protocol}//${hostname}${port ? ":" + port : ""}${path}`;
+ }
+ }
+ return endpoint;
+ };
+ }
+ return configProvider;
+ }, "createConfigValueProvider");
+ }
+});
+
+// ../../node_modules/.pnpm/@smithy+core@3.36.1/node_modules/@smithy/core/dist-es/submodules/endpoints/middleware-endpoint/adaptors/toEndpointV1.js
+var init_toEndpointV12 = __esm({
+ "../../node_modules/.pnpm/@smithy+core@3.36.1/node_modules/@smithy/core/dist-es/submodules/endpoints/middleware-endpoint/adaptors/toEndpointV1.js"() {
+ init_transport();
+ }
+});
+
+// ../../node_modules/.pnpm/@smithy+core@3.36.1/node_modules/@smithy/core/dist-es/submodules/endpoints/middleware-endpoint/adaptors/getEndpointFromInstructions.js
+function bindGetEndpointFromInstructions(getEndpointFromConfig2) {
+ return async (commandInput, instructionsSupplier, clientConfig, context) => {
+ if (!clientConfig.isCustomEndpoint && !clientConfig.ignoreConfiguredEndpointUrls) {
+ let endpointFromConfig;
+ if (clientConfig.serviceConfiguredEndpoint) {
+ endpointFromConfig = await clientConfig.serviceConfiguredEndpoint();
+ } else {
+ endpointFromConfig = await getEndpointFromConfig2(clientConfig.serviceId);
+ }
+ if (endpointFromConfig) {
+ clientConfig.endpoint = () => Promise.resolve(toEndpointV1(endpointFromConfig));
+ clientConfig.isCustomEndpoint = true;
+ context?.logger?.debug?.(`@smithy/core/endpoints - resolved endpoint from config: ${endpointFromConfig}`);
+ }
+ }
+ const endpointParams = await resolveParams(commandInput, instructionsSupplier, clientConfig);
+ if (typeof clientConfig.endpointProvider !== "function") {
+ throw new Error("config.endpointProvider is not set.");
+ }
+ const endpoint = clientConfig.endpointProvider(endpointParams, context);
+ if (clientConfig.isCustomEndpoint && clientConfig.endpoint) {
+ const customEndpoint = await clientConfig.endpoint();
+ if (customEndpoint?.headers) {
+ endpoint.headers ??= {};
+ for (const [name, value] of Object.entries(customEndpoint.headers)) {
+ endpoint.headers[name] = Array.isArray(value) ? value : [value];
+ }
+ }
+ }
+ return endpoint;
+ };
+}
+var resolveParams;
+var init_getEndpointFromInstructions = __esm({
+ "../../node_modules/.pnpm/@smithy+core@3.36.1/node_modules/@smithy/core/dist-es/submodules/endpoints/middleware-endpoint/adaptors/getEndpointFromInstructions.js"() {
+ init_service_customizations();
+ init_createConfigValueProvider();
+ init_toEndpointV12();
+ __name(bindGetEndpointFromInstructions, "bindGetEndpointFromInstructions");
+ resolveParams = /* @__PURE__ */ __name(async (commandInput, instructionsSupplier, clientConfig) => {
+ const endpointParams = {};
+ const instructions = instructionsSupplier?.getEndpointParameterInstructions?.() || {};
+ for (const [name, instruction] of Object.entries(instructions)) {
+ switch (instruction.type) {
+ case "staticContextParams":
+ endpointParams[name] = instruction.value;
+ break;
+ case "contextParams":
+ endpointParams[name] = commandInput[instruction.name];
+ break;
+ case "clientContextParams":
+ case "builtInParams":
+ endpointParams[name] = await createConfigValueProvider(instruction.name, name, clientConfig, instruction.type !== "builtInParams")();
+ break;
+ case "operationContextParams":
+ endpointParams[name] = instruction.get(commandInput);
+ break;
+ default:
+ throw new Error("Unrecognized endpoint parameter instruction: " + JSON.stringify(instruction));
+ }
+ }
+ if (Object.keys(instructions).length === 0) {
+ Object.assign(endpointParams, clientConfig);
+ }
+ if (String(clientConfig.serviceId).toLowerCase() === "s3") {
+ await resolveParamsForS3(endpointParams);
+ }
+ return endpointParams;
+ }, "resolveParams");
+ }
+});
+
+// ../../node_modules/.pnpm/@smithy+core@3.36.1/node_modules/@smithy/core/dist-es/submodules/endpoints/middleware-endpoint/endpointMiddleware.js
+function setFeature(context, feature, value) {
+ if (!context.__smithy_context) {
+ context.__smithy_context = { features: {} };
+ } else if (!context.__smithy_context.features) {
+ context.__smithy_context.features = {};
+ }
+ context.__smithy_context.features[feature] = value;
+}
+function bindEndpointMiddleware(getEndpointFromConfig2) {
+ const getEndpointFromInstructions2 = bindGetEndpointFromInstructions(getEndpointFromConfig2);
+ return ({ config, instructions }) => {
+ return (next, context) => async (args) => {
+ if (config.isCustomEndpoint) {
+ setFeature(context, "ENDPOINT_OVERRIDE", "N");
+ }
+ const endpoint = await getEndpointFromInstructions2(args.input, {
+ getEndpointParameterInstructions() {
+ return instructions;
+ }
+ }, { ...config }, context);
+ context.endpointV2 = endpoint;
+ context.authSchemes = endpoint.properties?.authSchemes;
+ const authScheme = context.authSchemes?.[0];
+ if (authScheme) {
+ context["signing_region"] = authScheme.signingRegion;
+ context["signing_service"] = authScheme.signingName;
+ const smithyContext = getSmithyContext(context);
+ const httpAuthOption = smithyContext?.selectedHttpAuthScheme?.httpAuthOption;
+ if (httpAuthOption) {
+ httpAuthOption.signingProperties = Object.assign(httpAuthOption.signingProperties || {}, {
+ signing_region: authScheme.signingRegion,
+ signingRegion: authScheme.signingRegion,
+ signing_service: authScheme.signingName,
+ signingName: authScheme.signingName,
+ signingRegionSet: authScheme.signingRegionSet
+ }, authScheme.properties);
+ }
+ }
+ return next({
+ ...args
+ });
+ };
+ };
+}
+var init_endpointMiddleware = __esm({
+ "../../node_modules/.pnpm/@smithy+core@3.36.1/node_modules/@smithy/core/dist-es/submodules/endpoints/middleware-endpoint/endpointMiddleware.js"() {
+ init_transport();
+ init_getEndpointFromInstructions();
+ __name(setFeature, "setFeature");
+ __name(bindEndpointMiddleware, "bindEndpointMiddleware");
+ }
+});
+
+// ../../node_modules/.pnpm/@smithy+core@3.36.1/node_modules/@smithy/core/dist-es/submodules/endpoints/middleware-endpoint/getEndpointPlugin.js
+function bindGetEndpointPlugin(getEndpointFromConfig2) {
+ const endpointMiddleware2 = bindEndpointMiddleware(getEndpointFromConfig2);
+ return (config, instructions) => ({
+ applyToStack: /* @__PURE__ */ __name((clientStack) => {
+ clientStack.addRelativeTo(endpointMiddleware2({
+ config,
+ instructions
+ }), endpointMiddlewareOptions);
+ }, "applyToStack")
+ });
+}
+var serializerMiddlewareOption2, endpointMiddlewareOptions;
+var init_getEndpointPlugin = __esm({
+ "../../node_modules/.pnpm/@smithy+core@3.36.1/node_modules/@smithy/core/dist-es/submodules/endpoints/middleware-endpoint/getEndpointPlugin.js"() {
+ init_endpointMiddleware();
+ serializerMiddlewareOption2 = {
+ name: "serializerMiddleware",
+ step: "serialize",
+ tags: ["SERIALIZER"],
+ override: true
+ };
+ endpointMiddlewareOptions = {
+ step: "serialize",
+ tags: ["ENDPOINT_PARAMETERS", "ENDPOINT_V2", "ENDPOINT"],
+ name: "endpointV2Middleware",
+ override: true,
+ relation: "before",
+ toMiddleware: serializerMiddlewareOption2.name
+ };
+ __name(bindGetEndpointPlugin, "bindGetEndpointPlugin");
+ }
+});
+
+// ../../node_modules/.pnpm/@smithy+core@3.36.1/node_modules/@smithy/core/dist-es/submodules/endpoints/middleware-endpoint/resolveEndpointConfig.js
+function bindResolveEndpointConfig(getEndpointFromConfig2) {
+ return (input) => {
+ const tls = input.tls ?? true;
+ const { endpoint, useDualstackEndpoint, useFipsEndpoint } = input;
+ const customEndpointProvider = endpoint != null ? async () => toEndpointV1(await normalizeProvider(endpoint)()) : void 0;
+ const isCustomEndpoint = !!endpoint;
+ const resolvedConfig = Object.assign(input, {
+ endpoint: customEndpointProvider,
+ tls,
+ isCustomEndpoint,
+ useDualstackEndpoint: normalizeProvider(useDualstackEndpoint ?? false),
+ useFipsEndpoint: normalizeProvider(useFipsEndpoint ?? false),
+ ignoreConfiguredEndpointUrls: !!input.ignoreConfiguredEndpointUrls
+ });
+ let configuredEndpointPromise = void 0;
+ resolvedConfig.serviceConfiguredEndpoint = async () => {
+ if (input.serviceId && !configuredEndpointPromise) {
+ configuredEndpointPromise = getEndpointFromConfig2(input.serviceId);
+ }
+ return configuredEndpointPromise;
+ };
+ return resolvedConfig;
+ };
+}
+var init_resolveEndpointConfig = __esm({
+ "../../node_modules/.pnpm/@smithy+core@3.36.1/node_modules/@smithy/core/dist-es/submodules/endpoints/middleware-endpoint/resolveEndpointConfig.js"() {
+ init_transport();
+ init_toEndpointV12();
+ __name(bindResolveEndpointConfig, "bindResolveEndpointConfig");
+ }
+});
+
+// ../../node_modules/.pnpm/@smithy+core@3.36.1/node_modules/@smithy/core/dist-es/submodules/endpoints/util-endpoints/bdd/BinaryDecisionDiagram.js
+var BinaryDecisionDiagram;
+var init_BinaryDecisionDiagram = __esm({
+ "../../node_modules/.pnpm/@smithy+core@3.36.1/node_modules/@smithy/core/dist-es/submodules/endpoints/util-endpoints/bdd/BinaryDecisionDiagram.js"() {
+ BinaryDecisionDiagram = class _BinaryDecisionDiagram {
+ static {
+ __name(this, "BinaryDecisionDiagram");
+ }
+ nodes;
+ root;
+ conditions;
+ results;
+ constructor(bdd, root, conditions, results) {
+ this.nodes = bdd;
+ this.root = root;
+ this.conditions = conditions;
+ this.results = results;
+ }
+ static from(bdd, root, conditions, results) {
+ return new _BinaryDecisionDiagram(bdd, root, conditions, results);
+ }
+ };
+ }
+});
+
+// ../../node_modules/.pnpm/@smithy+core@3.36.1/node_modules/@smithy/core/dist-es/submodules/endpoints/util-endpoints/cache/EndpointCache.js
+var EndpointCache;
+var init_EndpointCache = __esm({
+ "../../node_modules/.pnpm/@smithy+core@3.36.1/node_modules/@smithy/core/dist-es/submodules/endpoints/util-endpoints/cache/EndpointCache.js"() {
+ EndpointCache = class {
+ static {
+ __name(this, "EndpointCache");
+ }
+ capacity;
+ data = /* @__PURE__ */ new Map();
+ parameters = [];
+ constructor({ size, params }) {
+ this.capacity = size ?? 50;
+ if (params) {
+ this.parameters = params;
+ }
+ }
+ get(endpointParams, resolver) {
+ const key = this.hash(endpointParams);
+ if (key === false) {
+ return resolver();
+ }
+ if (!this.data.has(key)) {
+ if (this.data.size > this.capacity + 10) {
+ const keys = this.data.keys();
+ let i = 0;
+ while (true) {
+ const { value, done } = keys.next();
+ this.data.delete(value);
+ if (done || ++i > 10) {
+ break;
+ }
+ }
+ }
+ this.data.set(key, resolver());
+ }
+ return this.data.get(key);
+ }
+ size() {
+ return this.data.size;
+ }
+ hash(endpointParams) {
+ let buffer = "";
+ const { parameters } = this;
+ if (parameters.length === 0) {
+ return false;
+ }
+ for (const param of parameters) {
+ const raw = endpointParams[param];
+ const val = raw == null ? "\0" : String(raw);
+ if (val.includes("|;")) {
+ return false;
+ }
+ buffer += val + "|;";
+ }
+ return buffer;
+ }
+ };
+ }
+});
+
+// ../../node_modules/.pnpm/@smithy+core@3.36.1/node_modules/@smithy/core/dist-es/submodules/endpoints/util-endpoints/types/EndpointError.js
+var EndpointError;
+var init_EndpointError = __esm({
+ "../../node_modules/.pnpm/@smithy+core@3.36.1/node_modules/@smithy/core/dist-es/submodules/endpoints/util-endpoints/types/EndpointError.js"() {
+ EndpointError = class extends Error {
+ static {
+ __name(this, "EndpointError");
+ }
+ constructor(message) {
+ super(message);
+ this.name = "EndpointError";
+ }
+ };
+ }
+});
+
+// ../../node_modules/.pnpm/@smithy+core@3.36.1/node_modules/@smithy/core/dist-es/submodules/endpoints/util-endpoints/types/index.js
+var init_types2 = __esm({
+ "../../node_modules/.pnpm/@smithy+core@3.36.1/node_modules/@smithy/core/dist-es/submodules/endpoints/util-endpoints/types/index.js"() {
+ init_EndpointError();
+ }
+});
+
+// ../../node_modules/.pnpm/@smithy+core@3.36.1/node_modules/@smithy/core/dist-es/submodules/endpoints/util-endpoints/debug/debugId.js
+var debugId;
+var init_debugId = __esm({
+ "../../node_modules/.pnpm/@smithy+core@3.36.1/node_modules/@smithy/core/dist-es/submodules/endpoints/util-endpoints/debug/debugId.js"() {
+ debugId = "endpoints";
+ }
+});
+
+// ../../node_modules/.pnpm/@smithy+core@3.36.1/node_modules/@smithy/core/dist-es/submodules/endpoints/util-endpoints/debug/toDebugString.js
+function toDebugString(input) {
+ if (typeof input !== "object" || input == null) {
+ return input;
+ }
+ if ("ref" in input) {
+ return `$${toDebugString(input.ref)}`;
+ }
+ if ("fn" in input) {
+ return `${input.fn}(${(input.argv || []).map(toDebugString).join(", ")})`;
+ }
+ return JSON.stringify(input, null, 2);
+}
+var init_toDebugString = __esm({
+ "../../node_modules/.pnpm/@smithy+core@3.36.1/node_modules/@smithy/core/dist-es/submodules/endpoints/util-endpoints/debug/toDebugString.js"() {
+ __name(toDebugString, "toDebugString");
+ }
+});
+
+// ../../node_modules/.pnpm/@smithy+core@3.36.1/node_modules/@smithy/core/dist-es/submodules/endpoints/util-endpoints/debug/index.js
+var init_debug = __esm({
+ "../../node_modules/.pnpm/@smithy+core@3.36.1/node_modules/@smithy/core/dist-es/submodules/endpoints/util-endpoints/debug/index.js"() {
+ init_debugId();
+ init_toDebugString();
+ }
+});
+
+// ../../node_modules/.pnpm/@smithy+core@3.36.1/node_modules/@smithy/core/dist-es/submodules/endpoints/util-endpoints/utils/customEndpointFunctions.js
+var customEndpointFunctions;
+var init_customEndpointFunctions = __esm({
+ "../../node_modules/.pnpm/@smithy+core@3.36.1/node_modules/@smithy/core/dist-es/submodules/endpoints/util-endpoints/utils/customEndpointFunctions.js"() {
+ customEndpointFunctions = {};
+ }
+});
+
+// ../../node_modules/.pnpm/@smithy+core@3.36.1/node_modules/@smithy/core/dist-es/submodules/endpoints/util-endpoints/lib/booleanEquals.js
+var booleanEquals;
+var init_booleanEquals = __esm({
+ "../../node_modules/.pnpm/@smithy+core@3.36.1/node_modules/@smithy/core/dist-es/submodules/endpoints/util-endpoints/lib/booleanEquals.js"() {
+ booleanEquals = /* @__PURE__ */ __name((value1, value2) => value1 === value2, "booleanEquals");
+ }
+});
+
+// ../../node_modules/.pnpm/@smithy+core@3.36.1/node_modules/@smithy/core/dist-es/submodules/endpoints/util-endpoints/lib/coalesce.js
+function coalesce(...args) {
+ for (const arg of args) {
+ if (arg != null) {
+ return arg;
+ }
+ }
+ return void 0;
+}
+var init_coalesce = __esm({
+ "../../node_modules/.pnpm/@smithy+core@3.36.1/node_modules/@smithy/core/dist-es/submodules/endpoints/util-endpoints/lib/coalesce.js"() {
+ __name(coalesce, "coalesce");
+ }
+});
+
+// ../../node_modules/.pnpm/@smithy+core@3.36.1/node_modules/@smithy/core/dist-es/submodules/endpoints/util-endpoints/lib/getAttrPathList.js
+var getAttrPathList;
+var init_getAttrPathList = __esm({
+ "../../node_modules/.pnpm/@smithy+core@3.36.1/node_modules/@smithy/core/dist-es/submodules/endpoints/util-endpoints/lib/getAttrPathList.js"() {
+ init_types2();
+ getAttrPathList = /* @__PURE__ */ __name((path) => {
+ const parts = path.split(".");
+ const pathList = [];
+ for (const part of parts) {
+ const squareBracketIndex = part.indexOf("[");
+ if (squareBracketIndex !== -1) {
+ if (part.indexOf("]") !== part.length - 1) {
+ throw new EndpointError(`Path: '${path}' does not end with ']'`);
+ }
+ const arrayIndex = part.slice(squareBracketIndex + 1, -1);
+ if (Number.isNaN(parseInt(arrayIndex))) {
+ throw new EndpointError(`Invalid array index: '${arrayIndex}' in path: '${path}'`);
+ }
+ if (squareBracketIndex !== 0) {
+ pathList.push(part.slice(0, squareBracketIndex));
+ }
+ pathList.push(arrayIndex);
+ } else {
+ pathList.push(part);
+ }
+ }
+ return pathList;
+ }, "getAttrPathList");
+ }
+});
+
+// ../../node_modules/.pnpm/@smithy+core@3.36.1/node_modules/@smithy/core/dist-es/submodules/endpoints/util-endpoints/lib/getAttr.js
+var getAttr;
+var init_getAttr = __esm({
+ "../../node_modules/.pnpm/@smithy+core@3.36.1/node_modules/@smithy/core/dist-es/submodules/endpoints/util-endpoints/lib/getAttr.js"() {
+ init_types2();
+ init_getAttrPathList();
+ getAttr = /* @__PURE__ */ __name((value, path) => getAttrPathList(path).reduce((acc, index) => {
+ if (typeof acc !== "object") {
+ throw new EndpointError(`Index '${index}' in '${path}' not found in '${JSON.stringify(value)}'`);
+ } else if (Array.isArray(acc)) {
+ const i = parseInt(index);
+ return acc[i < 0 ? acc.length + i : i];
+ }
+ return acc[index];
+ }, value), "getAttr");
+ }
+});
+
+// ../../node_modules/.pnpm/@smithy+core@3.36.1/node_modules/@smithy/core/dist-es/submodules/endpoints/util-endpoints/lib/isSet.js
+var isSet;
+var init_isSet = __esm({
+ "../../node_modules/.pnpm/@smithy+core@3.36.1/node_modules/@smithy/core/dist-es/submodules/endpoints/util-endpoints/lib/isSet.js"() {
+ isSet = /* @__PURE__ */ __name((value) => value != null, "isSet");
+ }
+});
+
+// ../../node_modules/.pnpm/@smithy+core@3.36.1/node_modules/@smithy/core/dist-es/submodules/endpoints/util-endpoints/lib/ite.js
+function ite(condition, trueValue, falseValue) {
+ return condition ? trueValue : falseValue;
+}
+var init_ite = __esm({
+ "../../node_modules/.pnpm/@smithy+core@3.36.1/node_modules/@smithy/core/dist-es/submodules/endpoints/util-endpoints/lib/ite.js"() {
+ __name(ite, "ite");
+ }
+});
+
+// ../../node_modules/.pnpm/@smithy+core@3.36.1/node_modules/@smithy/core/dist-es/submodules/endpoints/util-endpoints/lib/not.js
+var not;
+var init_not = __esm({
+ "../../node_modules/.pnpm/@smithy+core@3.36.1/node_modules/@smithy/core/dist-es/submodules/endpoints/util-endpoints/lib/not.js"() {
+ not = /* @__PURE__ */ __name((value) => !value, "not");
+ }
+});
+
+// ../../node_modules/.pnpm/@smithy+core@3.36.1/node_modules/@smithy/core/dist-es/submodules/endpoints/util-endpoints/lib/isIpAddress.js
+var IP_V4_REGEX, isIpAddress;
+var init_isIpAddress = __esm({
+ "../../node_modules/.pnpm/@smithy+core@3.36.1/node_modules/@smithy/core/dist-es/submodules/endpoints/util-endpoints/lib/isIpAddress.js"() {
+ IP_V4_REGEX = new RegExp(`^(?:25[0-5]|2[0-4]\\d|1\\d\\d|[1-9]\\d|\\d)(?:\\.(?:25[0-5]|2[0-4]\\d|1\\d\\d|[1-9]\\d|\\d)){3}$`);
+ isIpAddress = /* @__PURE__ */ __name((value) => IP_V4_REGEX.test(value) || value.startsWith("[") && value.endsWith("]"), "isIpAddress");
+ }
+});
+
+// ../../node_modules/.pnpm/@smithy+core@3.36.1/node_modules/@smithy/core/dist-es/submodules/endpoints/util-endpoints/lib/parseURL.js
+var import_types12, DEFAULT_PORTS, parseURL;
+var init_parseURL = __esm({
+ "../../node_modules/.pnpm/@smithy+core@3.36.1/node_modules/@smithy/core/dist-es/submodules/endpoints/util-endpoints/lib/parseURL.js"() {
+ import_types12 = __toESM(require_dist_cjs());
+ init_isIpAddress();
+ DEFAULT_PORTS = {
+ [import_types12.EndpointURLScheme.HTTP]: 80,
+ [import_types12.EndpointURLScheme.HTTPS]: 443
+ };
+ parseURL = /* @__PURE__ */ __name((value) => {
+ const whatwgURL = (() => {
+ try {
+ if (value instanceof URL) {
+ return value;
+ }
+ if (typeof value === "object" && "hostname" in value) {
+ const { hostname: hostname2, port, protocol: protocol2 = "", path = "", query = {} } = value;
+ const url = new URL(`${protocol2}//${hostname2}${port ? `:${port}` : ""}${path}`);
+ url.search = Object.entries(query).map(([k, v]) => `${k}=${v}`).join("&");
+ return url;
+ }
+ return new URL(value);
+ } catch (ignored) {
+ return null;
+ }
+ })();
+ if (!whatwgURL) {
+ console.error(`Unable to parse ${JSON.stringify(value)} as a whatwg URL.`);
+ return null;
+ }
+ const urlString = whatwgURL.href;
+ const { host, hostname, pathname, protocol, search } = whatwgURL;
+ if (search) {
+ return null;
+ }
+ const scheme = protocol.slice(0, -1);
+ if (!Object.values(import_types12.EndpointURLScheme).includes(scheme)) {
+ return null;
+ }
+ const isIp = isIpAddress(hostname);
+ const inputContainsDefaultPort = urlString.includes(`${host}:${DEFAULT_PORTS[scheme]}`) || typeof value === "string" && value.includes(`${host}:${DEFAULT_PORTS[scheme]}`);
+ const authority = `${host}${inputContainsDefaultPort ? `:${DEFAULT_PORTS[scheme]}` : ``}`;
+ return {
+ scheme,
+ authority,
+ path: pathname,
+ normalizedPath: pathname.endsWith("/") ? pathname : `${pathname}/`,
+ isIp
+ };
+ }, "parseURL");
+ }
+});
+
+// ../../node_modules/.pnpm/@smithy+core@3.36.1/node_modules/@smithy/core/dist-es/submodules/endpoints/util-endpoints/lib/split.js
+function split(value, delimiter, limit) {
+ if (limit === 1) {
+ return [value];
+ }
+ if (value === "") {
+ return [""];
+ }
+ const parts = value.split(delimiter);
+ if (limit === 0) {
+ return parts;
+ }
+ return parts.slice(0, limit - 1).concat(parts.slice(1).join(delimiter));
+}
+var init_split = __esm({
+ "../../node_modules/.pnpm/@smithy+core@3.36.1/node_modules/@smithy/core/dist-es/submodules/endpoints/util-endpoints/lib/split.js"() {
+ __name(split, "split");
+ }
+});
+
+// ../../node_modules/.pnpm/@smithy+core@3.36.1/node_modules/@smithy/core/dist-es/submodules/endpoints/util-endpoints/lib/stringEquals.js
+var stringEquals;
+var init_stringEquals = __esm({
+ "../../node_modules/.pnpm/@smithy+core@3.36.1/node_modules/@smithy/core/dist-es/submodules/endpoints/util-endpoints/lib/stringEquals.js"() {
+ stringEquals = /* @__PURE__ */ __name((value1, value2) => value1 === value2, "stringEquals");
+ }
+});
+
+// ../../node_modules/.pnpm/@smithy+core@3.36.1/node_modules/@smithy/core/dist-es/submodules/endpoints/util-endpoints/lib/substring.js
+var substring;
+var init_substring = __esm({
+ "../../node_modules/.pnpm/@smithy+core@3.36.1/node_modules/@smithy/core/dist-es/submodules/endpoints/util-endpoints/lib/substring.js"() {
+ substring = /* @__PURE__ */ __name((input, start, stop, reverse) => {
+ if (input == null || start >= stop || input.length < stop || /[^\u0000-\u007f]/.test(input)) {
+ return null;
+ }
+ if (!reverse) {
+ return input.substring(start, stop);
+ }
+ return input.substring(input.length - stop, input.length - start);
+ }, "substring");
+ }
+});
+
+// ../../node_modules/.pnpm/@smithy+core@3.36.1/node_modules/@smithy/core/dist-es/submodules/endpoints/util-endpoints/lib/uriEncode.js
+var uriEncode;
+var init_uriEncode = __esm({
+ "../../node_modules/.pnpm/@smithy+core@3.36.1/node_modules/@smithy/core/dist-es/submodules/endpoints/util-endpoints/lib/uriEncode.js"() {
+ uriEncode = /* @__PURE__ */ __name((value) => encodeURIComponent(value).replace(/[!*'()]/g, (c) => `%${c.charCodeAt(0).toString(16).toUpperCase()}`), "uriEncode");
+ }
+});
+
+// ../../node_modules/.pnpm/@smithy+core@3.36.1/node_modules/@smithy/core/dist-es/submodules/endpoints/util-endpoints/lib/index.js
+var init_lib = __esm({
+ "../../node_modules/.pnpm/@smithy+core@3.36.1/node_modules/@smithy/core/dist-es/submodules/endpoints/util-endpoints/lib/index.js"() {
+ init_booleanEquals();
+ init_coalesce();
+ init_getAttr();
+ init_isSet();
+ init_transport();
+ init_ite();
+ init_not();
+ init_parseURL();
+ init_split();
+ init_stringEquals();
+ init_substring();
+ init_uriEncode();
+ }
+});
+
+// ../../node_modules/.pnpm/@smithy+core@3.36.1/node_modules/@smithy/core/dist-es/submodules/endpoints/util-endpoints/utils/endpointFunctions.js
+var endpointFunctions;
+var init_endpointFunctions = __esm({
+ "../../node_modules/.pnpm/@smithy+core@3.36.1/node_modules/@smithy/core/dist-es/submodules/endpoints/util-endpoints/utils/endpointFunctions.js"() {
+ init_lib();
+ endpointFunctions = {
+ booleanEquals,
+ coalesce,
+ getAttr,
+ isSet,
+ isValidHostLabel,
+ ite,
+ not,
+ parseURL,
+ split,
+ stringEquals,
+ substring,
+ uriEncode
+ };
+ }
+});
+
+// ../../node_modules/.pnpm/@smithy+core@3.36.1/node_modules/@smithy/core/dist-es/submodules/endpoints/util-endpoints/utils/evaluateTemplate.js
+var evaluateTemplate;
+var init_evaluateTemplate = __esm({
+ "../../node_modules/.pnpm/@smithy+core@3.36.1/node_modules/@smithy/core/dist-es/submodules/endpoints/util-endpoints/utils/evaluateTemplate.js"() {
+ init_lib();
+ evaluateTemplate = /* @__PURE__ */ __name((template, options) => {
+ const evaluatedTemplateArr = [];
+ const { referenceRecord, endpointParams } = options;
+ let currentIndex = 0;
+ while (currentIndex < template.length) {
+ const openingBraceIndex = template.indexOf("{", currentIndex);
+ if (openingBraceIndex === -1) {
+ evaluatedTemplateArr.push(template.slice(currentIndex));
+ break;
+ }
+ evaluatedTemplateArr.push(template.slice(currentIndex, openingBraceIndex));
+ const closingBraceIndex = template.indexOf("}", openingBraceIndex);
+ if (closingBraceIndex === -1) {
+ evaluatedTemplateArr.push(template.slice(openingBraceIndex));
+ break;
+ }
+ if (template[openingBraceIndex + 1] === "{" && template[closingBraceIndex + 1] === "}") {
+ evaluatedTemplateArr.push(template.slice(openingBraceIndex + 1, closingBraceIndex));
+ currentIndex = closingBraceIndex + 2;
+ }
+ const parameterName = template.substring(openingBraceIndex + 1, closingBraceIndex);
+ if (parameterName.includes("#")) {
+ const [refName, attrName] = parameterName.split("#");
+ evaluatedTemplateArr.push(getAttr(referenceRecord[refName] ?? endpointParams[refName], attrName));
+ } else {
+ evaluatedTemplateArr.push(referenceRecord[parameterName] ?? endpointParams[parameterName]);
+ }
+ currentIndex = closingBraceIndex + 1;
+ }
+ return evaluatedTemplateArr.join("");
+ }, "evaluateTemplate");
+ }
+});
+
+// ../../node_modules/.pnpm/@smithy+core@3.36.1/node_modules/@smithy/core/dist-es/submodules/endpoints/util-endpoints/utils/getReferenceValue.js
+var getReferenceValue;
+var init_getReferenceValue = __esm({
+ "../../node_modules/.pnpm/@smithy+core@3.36.1/node_modules/@smithy/core/dist-es/submodules/endpoints/util-endpoints/utils/getReferenceValue.js"() {
+ getReferenceValue = /* @__PURE__ */ __name(({ ref }, options) => {
+ return options.referenceRecord[ref] ?? options.endpointParams[ref];
+ }, "getReferenceValue");
+ }
+});
+
+// ../../node_modules/.pnpm/@smithy+core@3.36.1/node_modules/@smithy/core/dist-es/submodules/endpoints/util-endpoints/utils/evaluateExpression.js
+var evaluateExpression, callFunction, group;
+var init_evaluateExpression = __esm({
+ "../../node_modules/.pnpm/@smithy+core@3.36.1/node_modules/@smithy/core/dist-es/submodules/endpoints/util-endpoints/utils/evaluateExpression.js"() {
+ init_types2();
+ init_customEndpointFunctions();
+ init_endpointFunctions();
+ init_evaluateTemplate();
+ init_getReferenceValue();
+ evaluateExpression = /* @__PURE__ */ __name((obj, keyName, options) => {
+ if (typeof obj === "string") {
+ return evaluateTemplate(obj, options);
+ } else if (obj["fn"]) {
+ return group.callFunction(obj, options);
+ } else if (obj["ref"]) {
+ return getReferenceValue(obj, options);
+ }
+ throw new EndpointError(`'${keyName}': ${String(obj)} is not a string, function or reference.`);
+ }, "evaluateExpression");
+ callFunction = /* @__PURE__ */ __name(({ fn, argv }, options) => {
+ const evaluatedArgs = Array(argv.length);
+ for (let i = 0; i < evaluatedArgs.length; ++i) {
+ const arg = argv[i];
+ if (typeof arg === "boolean" || typeof arg === "number") {
+ evaluatedArgs[i] = arg;
+ } else {
+ evaluatedArgs[i] = group.evaluateExpression(arg, "arg", options);
+ }
+ }
+ const namespaceSeparatorIndex = fn.indexOf(".");
+ if (namespaceSeparatorIndex !== -1) {
+ const namespaceFunctions = customEndpointFunctions[fn.slice(0, namespaceSeparatorIndex)];
+ const customFunction = namespaceFunctions?.[fn.slice(namespaceSeparatorIndex + 1)];
+ if (typeof customFunction === "function") {
+ return customFunction(...evaluatedArgs);
+ }
+ }
+ const callable = endpointFunctions[fn];
+ if (typeof callable === "function") {
+ return callable(...evaluatedArgs);
+ }
+ throw new Error(`function ${fn} not loaded in endpointFunctions.`);
+ }, "callFunction");
+ group = {
+ evaluateExpression,
+ callFunction
+ };
+ }
+});
+
+// ../../node_modules/.pnpm/@smithy+core@3.36.1/node_modules/@smithy/core/dist-es/submodules/endpoints/util-endpoints/utils/callFunction.js
+var init_callFunction = __esm({
+ "../../node_modules/.pnpm/@smithy+core@3.36.1/node_modules/@smithy/core/dist-es/submodules/endpoints/util-endpoints/utils/callFunction.js"() {
+ init_evaluateExpression();
+ }
+});
+
+// ../../node_modules/.pnpm/@smithy+core@3.36.1/node_modules/@smithy/core/dist-es/submodules/endpoints/util-endpoints/utils/evaluateCondition.js
+var evaluateCondition;
+var init_evaluateCondition = __esm({
+ "../../node_modules/.pnpm/@smithy+core@3.36.1/node_modules/@smithy/core/dist-es/submodules/endpoints/util-endpoints/utils/evaluateCondition.js"() {
+ init_debug();
+ init_types2();
+ init_callFunction();
+ evaluateCondition = /* @__PURE__ */ __name((condition, options) => {
+ const { assign } = condition;
+ if (assign && assign in options.referenceRecord) {
+ throw new EndpointError(`'${assign}' is already defined in Reference Record.`);
+ }
+ const value = callFunction(condition, options);
+ options.logger?.debug?.(`${debugId} evaluateCondition: ${toDebugString(condition)} = ${toDebugString(value)}`);
+ const result = value === "" ? true : !!value;
+ if (assign != null) {
+ return { result, toAssign: { name: assign, value } };
+ }
+ return { result };
+ }, "evaluateCondition");
+ }
+});
+
+// ../../node_modules/.pnpm/@smithy+core@3.36.1/node_modules/@smithy/core/dist-es/submodules/endpoints/util-endpoints/utils/getEndpointHeaders.js
+var getEndpointHeaders;
+var init_getEndpointHeaders = __esm({
+ "../../node_modules/.pnpm/@smithy+core@3.36.1/node_modules/@smithy/core/dist-es/submodules/endpoints/util-endpoints/utils/getEndpointHeaders.js"() {
+ init_types2();
+ init_evaluateExpression();
+ getEndpointHeaders = /* @__PURE__ */ __name((headers, options) => Object.entries(headers ?? {}).reduce((acc, [headerKey, headerVal]) => {
+ acc[headerKey] = headerVal.map((headerValEntry) => {
+ const processedExpr = evaluateExpression(headerValEntry, "Header value entry", options);
+ if (typeof processedExpr !== "string") {
+ throw new EndpointError(`Header '${headerKey}' value '${processedExpr}' is not a string`);
+ }
+ return processedExpr;
+ });
+ return acc;
+ }, {}), "getEndpointHeaders");
+ }
+});
+
+// ../../node_modules/.pnpm/@smithy+core@3.36.1/node_modules/@smithy/core/dist-es/submodules/endpoints/util-endpoints/utils/getEndpointProperties.js
+var getEndpointProperties, getEndpointProperty, group2;
+var init_getEndpointProperties = __esm({
+ "../../node_modules/.pnpm/@smithy+core@3.36.1/node_modules/@smithy/core/dist-es/submodules/endpoints/util-endpoints/utils/getEndpointProperties.js"() {
+ init_types2();
+ init_evaluateTemplate();
+ getEndpointProperties = /* @__PURE__ */ __name((properties, options) => Object.entries(properties).reduce((acc, [propertyKey, propertyVal]) => {
+ acc[propertyKey] = group2.getEndpointProperty(propertyVal, options);
+ return acc;
+ }, {}), "getEndpointProperties");
+ getEndpointProperty = /* @__PURE__ */ __name((property, options) => {
+ if (Array.isArray(property)) {
+ return property.map((propertyEntry) => getEndpointProperty(propertyEntry, options));
+ }
+ switch (typeof property) {
+ case "string":
+ return evaluateTemplate(property, options);
+ case "object":
+ if (property === null) {
+ throw new EndpointError(`Unexpected endpoint property: ${property}`);
+ }
+ return group2.getEndpointProperties(property, options);
+ case "boolean":
+ return property;
+ default:
+ throw new EndpointError(`Unexpected endpoint property type: ${typeof property}`);
+ }
+ }, "getEndpointProperty");
+ group2 = {
+ getEndpointProperty,
+ getEndpointProperties
+ };
+ }
+});
+
+// ../../node_modules/.pnpm/@smithy+core@3.36.1/node_modules/@smithy/core/dist-es/submodules/endpoints/util-endpoints/utils/getEndpointUrl.js
+var getEndpointUrl;
+var init_getEndpointUrl = __esm({
+ "../../node_modules/.pnpm/@smithy+core@3.36.1/node_modules/@smithy/core/dist-es/submodules/endpoints/util-endpoints/utils/getEndpointUrl.js"() {
+ init_types2();
+ init_evaluateExpression();
+ getEndpointUrl = /* @__PURE__ */ __name((endpointUrl, options) => {
+ const expression = evaluateExpression(endpointUrl, "Endpoint URL", options);
+ if (typeof expression === "string") {
+ try {
+ return new URL(expression);
+ } catch (error2) {
+ console.error(`Failed to construct URL with ${expression}`, error2);
+ throw error2;
+ }
+ }
+ throw new EndpointError(`Endpoint URL must be a string, got ${typeof expression}`);
+ }, "getEndpointUrl");
+ }
+});
+
+// ../../node_modules/.pnpm/@smithy+core@3.36.1/node_modules/@smithy/core/dist-es/submodules/endpoints/util-endpoints/decideEndpoint.js
+var RESULT, decideEndpoint;
+var init_decideEndpoint = __esm({
+ "../../node_modules/.pnpm/@smithy+core@3.36.1/node_modules/@smithy/core/dist-es/submodules/endpoints/util-endpoints/decideEndpoint.js"() {
+ init_types2();
+ init_evaluateCondition();
+ init_evaluateExpression();
+ init_getEndpointHeaders();
+ init_getEndpointProperties();
+ init_getEndpointUrl();
+ RESULT = 1e8;
+ decideEndpoint = /* @__PURE__ */ __name((bdd, options) => {
+ const { nodes, root, results, conditions } = bdd;
+ let ref = root;
+ const referenceRecord = {};
+ const closure = {
+ referenceRecord,
+ endpointParams: options.endpointParams,
+ logger: options.logger
+ };
+ while (ref !== 1 && ref !== -1 && ref < RESULT) {
+ const node_i = 3 * (Math.abs(ref) - 1);
+ const [condition_i, highRef, lowRef] = [nodes[node_i], nodes[node_i + 1], nodes[node_i + 2]];
+ const [fn, argv, assign] = conditions[condition_i];
+ const evaluation = evaluateCondition({ fn, assign, argv }, closure);
+ if (evaluation.toAssign) {
+ const { name, value } = evaluation.toAssign;
+ referenceRecord[name] = value;
+ }
+ ref = ref >= 0 === evaluation.result ? highRef : lowRef;
+ }
+ if (ref >= RESULT) {
+ const result = results[ref - RESULT];
+ if (result[0] === -1) {
+ const [, errorExpression] = result;
+ throw new EndpointError(evaluateExpression(errorExpression, "Error", closure));
+ }
+ const [url, properties, headers] = result;
+ return {
+ url: getEndpointUrl(url, closure),
+ properties: getEndpointProperties(properties, closure),
+ headers: getEndpointHeaders(headers ?? {}, closure)
+ };
+ }
+ throw new EndpointError(`No matching endpoint.`);
+ }, "decideEndpoint");
+ }
+});
+
+// ../../node_modules/.pnpm/@smithy+core@3.36.1/node_modules/@smithy/core/dist-es/submodules/endpoints/util-endpoints/utils/evaluateConditions.js
+var evaluateConditions;
+var init_evaluateConditions = __esm({
+ "../../node_modules/.pnpm/@smithy+core@3.36.1/node_modules/@smithy/core/dist-es/submodules/endpoints/util-endpoints/utils/evaluateConditions.js"() {
+ init_debug();
+ init_evaluateCondition();
+ evaluateConditions = /* @__PURE__ */ __name((conditions = [], options) => {
+ const conditionsReferenceRecord = {};
+ const conditionOptions = {
+ ...options,
+ referenceRecord: { ...options.referenceRecord }
+ };
+ let didAssign = false;
+ for (const condition of conditions) {
+ const { result, toAssign } = evaluateCondition(condition, conditionOptions);
+ if (!result) {
+ return { result };
+ }
+ if (toAssign) {
+ didAssign = true;
+ conditionsReferenceRecord[toAssign.name] = toAssign.value;
+ conditionOptions.referenceRecord[toAssign.name] = toAssign.value;
+ options.logger?.debug?.(`${debugId} assign: ${toAssign.name} := ${toDebugString(toAssign.value)}`);
+ }
+ }
+ if (didAssign) {
+ return { result: true, referenceRecord: conditionsReferenceRecord };
+ }
+ return { result: true };
+ }, "evaluateConditions");
+ }
+});
+
+// ../../node_modules/.pnpm/@smithy+core@3.36.1/node_modules/@smithy/core/dist-es/submodules/endpoints/util-endpoints/utils/evaluateEndpointRule.js
+var evaluateEndpointRule;
+var init_evaluateEndpointRule = __esm({
+ "../../node_modules/.pnpm/@smithy+core@3.36.1/node_modules/@smithy/core/dist-es/submodules/endpoints/util-endpoints/utils/evaluateEndpointRule.js"() {
+ init_debug();
+ init_evaluateConditions();
+ init_getEndpointHeaders();
+ init_getEndpointProperties();
+ init_getEndpointUrl();
+ evaluateEndpointRule = /* @__PURE__ */ __name((endpointRule, options) => {
+ const { conditions, endpoint } = endpointRule;
+ const { result, referenceRecord } = evaluateConditions(conditions, options);
+ if (!result) {
+ return;
+ }
+ const endpointRuleOptions = referenceRecord ? {
+ ...options,
+ referenceRecord: { ...options.referenceRecord, ...referenceRecord }
+ } : options;
+ const { url, properties, headers } = endpoint;
+ options.logger?.debug?.(`${debugId} Resolving endpoint from template: ${toDebugString(endpoint)}`);
+ const endpointToReturn = { url: getEndpointUrl(url, endpointRuleOptions) };
+ if (headers != null) {
+ endpointToReturn.headers = getEndpointHeaders(headers, endpointRuleOptions);
+ }
+ if (properties != null) {
+ endpointToReturn.properties = getEndpointProperties(properties, endpointRuleOptions);
+ }
+ return endpointToReturn;
+ }, "evaluateEndpointRule");
+ }
+});
+
+// ../../node_modules/.pnpm/@smithy+core@3.36.1/node_modules/@smithy/core/dist-es/submodules/endpoints/util-endpoints/utils/evaluateErrorRule.js
+var evaluateErrorRule;
+var init_evaluateErrorRule = __esm({
+ "../../node_modules/.pnpm/@smithy+core@3.36.1/node_modules/@smithy/core/dist-es/submodules/endpoints/util-endpoints/utils/evaluateErrorRule.js"() {
+ init_types2();
+ init_evaluateConditions();
+ init_evaluateExpression();
+ evaluateErrorRule = /* @__PURE__ */ __name((errorRule, options) => {
+ const { conditions, error: error2 } = errorRule;
+ const { result, referenceRecord } = evaluateConditions(conditions, options);
+ if (!result) {
+ return;
+ }
+ const errorRuleOptions = referenceRecord ? {
+ ...options,
+ referenceRecord: { ...options.referenceRecord, ...referenceRecord }
+ } : options;
+ throw new EndpointError(evaluateExpression(error2, "Error", errorRuleOptions));
+ }, "evaluateErrorRule");
+ }
+});
+
+// ../../node_modules/.pnpm/@smithy+core@3.36.1/node_modules/@smithy/core/dist-es/submodules/endpoints/util-endpoints/utils/evaluateRules.js
+var evaluateRules, evaluateTreeRule, group3;
+var init_evaluateRules = __esm({
+ "../../node_modules/.pnpm/@smithy+core@3.36.1/node_modules/@smithy/core/dist-es/submodules/endpoints/util-endpoints/utils/evaluateRules.js"() {
+ init_types2();
+ init_evaluateConditions();
+ init_evaluateEndpointRule();
+ init_evaluateErrorRule();
+ evaluateRules = /* @__PURE__ */ __name((rules, options) => {
+ for (const rule of rules) {
+ if (rule.type === "endpoint") {
+ const endpointOrUndefined = evaluateEndpointRule(rule, options);
+ if (endpointOrUndefined) {
+ return endpointOrUndefined;
+ }
+ } else if (rule.type === "error") {
+ evaluateErrorRule(rule, options);
+ } else if (rule.type === "tree") {
+ const endpointOrUndefined = group3.evaluateTreeRule(rule, options);
+ if (endpointOrUndefined) {
+ return endpointOrUndefined;
+ }
+ } else {
+ throw new EndpointError(`Unknown endpoint rule: ${rule}`);
+ }
+ }
+ throw new EndpointError(`Rules evaluation failed`);
+ }, "evaluateRules");
+ evaluateTreeRule = /* @__PURE__ */ __name((treeRule, options) => {
+ const { conditions, rules } = treeRule;
+ const { result, referenceRecord } = evaluateConditions(conditions, options);
+ if (!result) {
+ return;
+ }
+ const treeRuleOptions = referenceRecord ? { ...options, referenceRecord: { ...options.referenceRecord, ...referenceRecord } } : options;
+ return group3.evaluateRules(rules, treeRuleOptions);
+ }, "evaluateTreeRule");
+ group3 = {
+ evaluateRules,
+ evaluateTreeRule
+ };
+ }
+});
+
+// ../../node_modules/.pnpm/@smithy+core@3.36.1/node_modules/@smithy/core/dist-es/submodules/endpoints/util-endpoints/utils/index.js
+var init_utils = __esm({
+ "../../node_modules/.pnpm/@smithy+core@3.36.1/node_modules/@smithy/core/dist-es/submodules/endpoints/util-endpoints/utils/index.js"() {
+ init_evaluateRules();
+ }
+});
+
+// ../../node_modules/.pnpm/@smithy+core@3.36.1/node_modules/@smithy/core/dist-es/submodules/endpoints/util-endpoints/resolveEndpoint.js
+var resolveEndpoint;
+var init_resolveEndpoint = __esm({
+ "../../node_modules/.pnpm/@smithy+core@3.36.1/node_modules/@smithy/core/dist-es/submodules/endpoints/util-endpoints/resolveEndpoint.js"() {
+ init_transport();
+ init_debug();
+ init_types2();
+ init_utils();
+ resolveEndpoint = /* @__PURE__ */ __name((ruleSetObject, options) => {
+ const { endpointParams, logger: logger2 } = options;
+ const { parameters, rules } = ruleSetObject;
+ options.logger?.debug?.(`${debugId} Initial EndpointParams: ${toDebugString(endpointParams)}`);
+ for (const paramKey in parameters) {
+ if (!hasOwn(parameters, paramKey))
+ continue;
+ const parameter = parameters[paramKey];
+ const endpointParam = endpointParams[paramKey];
+ if (endpointParam == null && parameter.default != null) {
+ endpointParams[paramKey] = parameter.default;
+ continue;
+ }
+ if (parameter.required && endpointParam == null) {
+ throw new EndpointError(`Missing required parameter: '${paramKey}'`);
+ }
+ }
+ const endpoint = evaluateRules(rules, { endpointParams, logger: logger2, referenceRecord: {} });
+ options.logger?.debug?.(`${debugId} Resolved endpoint: ${toDebugString(endpoint)}`);
+ return endpoint;
+ }, "resolveEndpoint");
+ }
+});
+
+// ../../node_modules/.pnpm/@smithy+core@3.36.1/node_modules/@smithy/core/dist-es/submodules/endpoints/middleware-endpoint/resolveEndpointRequiredConfig.js
+var resolveEndpointRequiredConfig;
+var init_resolveEndpointRequiredConfig = __esm({
+ "../../node_modules/.pnpm/@smithy+core@3.36.1/node_modules/@smithy/core/dist-es/submodules/endpoints/middleware-endpoint/resolveEndpointRequiredConfig.js"() {
+ resolveEndpointRequiredConfig = /* @__PURE__ */ __name((input) => {
+ const { endpoint } = input;
+ if (endpoint === void 0) {
+ input.endpoint = async () => {
+ throw new Error("@smithy/middleware-endpoint: (default endpointRuleSet) endpoint is not set - you must configure an endpoint.");
+ };
+ }
+ return input;
+ }, "resolveEndpointRequiredConfig");
+ }
+});
+
+// ../../node_modules/.pnpm/@smithy+core@3.36.1/node_modules/@smithy/core/dist-es/submodules/endpoints/index.js
+var endpoints_exports = {};
+__export(endpoints_exports, {
+ BinaryDecisionDiagram: () => BinaryDecisionDiagram,
+ EndpointCache: () => EndpointCache,
+ EndpointError: () => EndpointError,
+ customEndpointFunctions: () => customEndpointFunctions,
+ decideEndpoint: () => decideEndpoint,
+ endpointMiddleware: () => endpointMiddleware,
+ endpointMiddlewareOptions: () => endpointMiddlewareOptions,
+ getEndpointFromInstructions: () => getEndpointFromInstructions,
+ getEndpointPlugin: () => getEndpointPlugin,
+ isIpAddress: () => isIpAddress,
+ isValidHostLabel: () => isValidHostLabel,
+ middlewareEndpointToEndpointV1: () => toEndpointV1,
+ resolveEndpoint: () => resolveEndpoint,
+ resolveEndpointConfig: () => resolveEndpointConfig,
+ resolveEndpointRequiredConfig: () => resolveEndpointRequiredConfig,
+ resolveParams: () => resolveParams,
+ toEndpointV1: () => toEndpointV1
+});
+var getEndpointFromInstructions, resolveEndpointConfig, endpointMiddleware, getEndpointPlugin;
+var init_endpoints = __esm({
+ "../../node_modules/.pnpm/@smithy+core@3.36.1/node_modules/@smithy/core/dist-es/submodules/endpoints/index.js"() {
+ init_getEndpointFromConfig();
+ init_getEndpointFromInstructions();
+ init_endpointMiddleware();
+ init_getEndpointPlugin();
+ init_resolveEndpointConfig();
+ init_transport();
+ init_BinaryDecisionDiagram();
+ init_EndpointCache();
+ init_decideEndpoint();
+ init_isIpAddress();
+ init_transport();
+ init_customEndpointFunctions();
+ init_resolveEndpoint();
+ init_types2();
+ init_getEndpointFromInstructions();
+ init_toEndpointV12();
+ init_getEndpointPlugin();
+ init_resolveEndpointRequiredConfig();
+ getEndpointFromInstructions = bindGetEndpointFromInstructions(getEndpointFromConfig);
+ resolveEndpointConfig = bindResolveEndpointConfig(getEndpointFromConfig);
+ endpointMiddleware = bindEndpointMiddleware(getEndpointFromConfig);
+ getEndpointPlugin = bindGetEndpointPlugin(getEndpointFromConfig);
+ }
+});
+
+// ../../node_modules/.pnpm/@smithy+core@3.36.1/node_modules/@smithy/core/dist-es/submodules/serde/middleware-serde/serializerMiddleware.js
+var serializerMiddleware;
+var init_serializerMiddleware = __esm({
+ "../../node_modules/.pnpm/@smithy+core@3.36.1/node_modules/@smithy/core/dist-es/submodules/serde/middleware-serde/serializerMiddleware.js"() {
+ init_endpoints();
+ serializerMiddleware = /* @__PURE__ */ __name((options, serializer) => (next, context) => async (args) => {
+ const endpointConfig = options;
+ const endpoint = context.endpointV2 ? async () => toEndpointV1(context.endpointV2) : endpointConfig.endpoint;
+ if (!endpoint) {
+ throw new Error("No valid endpoint provider available.");
+ }
+ const request = await serializer(args.input, { ...options, endpoint });
+ return next({
+ ...args,
+ request
+ });
+ }, "serializerMiddleware");
+ }
+});
+
+// ../../node_modules/.pnpm/@smithy+core@3.36.1/node_modules/@smithy/core/dist-es/submodules/serde/middleware-serde/serdePlugin.js
+function getSerdePlugin(config, serializer, deserializer) {
+ return {
+ applyToStack: /* @__PURE__ */ __name((commandStack) => {
+ commandStack.add(deserializerMiddleware(config, deserializer), deserializerMiddlewareOption2);
+ commandStack.add(serializerMiddleware(config, serializer), serializerMiddlewareOption3);
+ }, "applyToStack")
+ };
+}
+var deserializerMiddlewareOption2, serializerMiddlewareOption3;
+var init_serdePlugin = __esm({
+ "../../node_modules/.pnpm/@smithy+core@3.36.1/node_modules/@smithy/core/dist-es/submodules/serde/middleware-serde/serdePlugin.js"() {
+ init_deserializerMiddleware();
+ init_serializerMiddleware();
+ deserializerMiddlewareOption2 = {
+ name: "deserializerMiddleware",
+ step: "deserialize",
+ tags: ["DESERIALIZER"],
+ override: true
+ };
+ serializerMiddlewareOption3 = {
+ name: "serializerMiddleware",
+ step: "serialize",
+ tags: ["SERIALIZER"],
+ override: true
+ };
+ __name(getSerdePlugin, "getSerdePlugin");
+ }
+});
+
+// ../../node_modules/.pnpm/@smithy+core@3.36.1/node_modules/@smithy/core/dist-es/submodules/serde/hash-node/hash-node.js
+import { createHash as createHash2, createHmac } from "node:crypto";
+function castSourceData(toCast, encoding) {
+ if (Buffer.isBuffer(toCast)) {
+ return toCast;
+ }
+ if (typeof toCast === "string") {
+ return fromString(toCast, encoding);
+ }
+ if (ArrayBuffer.isView(toCast)) {
+ return fromArrayBuffer(toCast.buffer, toCast.byteOffset, toCast.byteLength);
+ }
+ return fromArrayBuffer(toCast);
+}
+var Hash;
+var init_hash_node = __esm({
+ "../../node_modules/.pnpm/@smithy+core@3.36.1/node_modules/@smithy/core/dist-es/submodules/serde/hash-node/hash-node.js"() {
+ init_buffer_from();
+ init_toUint8Array();
+ Hash = class {
+ static {
+ __name(this, "Hash");
+ }
+ algorithmIdentifier;
+ secret;
+ hash;
+ constructor(algorithmIdentifier, secret) {
+ this.algorithmIdentifier = algorithmIdentifier;
+ this.secret = secret;
+ this.reset();
+ }
+ update(toHash, encoding) {
+ this.hash.update(toUint8Array(castSourceData(toHash, encoding)));
+ }
+ digest() {
+ return Promise.resolve(this.hash.digest());
+ }
+ reset() {
+ this.hash = this.secret ? createHmac(this.algorithmIdentifier, castSourceData(this.secret)) : createHash2(this.algorithmIdentifier);
+ }
+ };
+ __name(castSourceData, "castSourceData");
+ }
+});
+
+// ../../node_modules/.pnpm/@smithy+core@3.36.1/node_modules/@smithy/core/dist-es/submodules/serde/util-stream/checksum/ChecksumStream.js
+import { Readable } from "node:stream";
+var ChecksumStream;
+var init_ChecksumStream = __esm({
+ "../../node_modules/.pnpm/@smithy+core@3.36.1/node_modules/@smithy/core/dist-es/submodules/serde/util-stream/checksum/ChecksumStream.js"() {
+ init_toBase64();
+ ChecksumStream = class extends Readable {
+ static {
+ __name(this, "ChecksumStream");
+ }
+ expectedChecksum;
+ checksumSourceLocation;
+ checksum;
+ source;
+ base64Encoder;
+ constructor({ expectedChecksum, checksum, source, checksumSourceLocation, base64Encoder }) {
+ super();
+ if (typeof source.pipe !== "function") {
+ throw new Error(`@smithy/util-stream: unsupported source type ${source?.constructor?.name ?? source} in ChecksumStream.`);
+ }
+ this.source = source;
+ this.base64Encoder = base64Encoder ?? toBase64;
+ this.expectedChecksum = expectedChecksum;
+ this.checksum = checksum;
+ this.checksumSourceLocation = checksumSourceLocation;
+ this.source.on("data", this.onSourceData);
+ this.source.on("end", this.onSourceEnd);
+ this.source.on("error", this.onSourceError);
+ this.source.on("close", this.onSourceClose);
+ this.source.pause();
+ }
+ onSourceData = /* @__PURE__ */ __name((chunk) => {
+ if (this.destroyed) {
+ return;
+ }
+ try {
+ this.checksum.update(chunk);
+ } catch (e) {
+ this.destroy(e);
+ return;
+ }
+ if (!this.push(chunk)) {
+ this.source.pause();
+ }
+ }, "onSourceData");
+ onSourceEnd = /* @__PURE__ */ __name(async () => {
+ if (this.destroyed) {
+ return;
+ }
+ try {
+ const digest2 = await this.checksum.digest();
+ const received = this.base64Encoder(digest2);
+ if (this.expectedChecksum !== received) {
+ this.destroy(new Error(`Checksum mismatch: expected "${this.expectedChecksum}" but received "${received}" in response header "${this.checksumSourceLocation}".`));
+ return;
+ }
+ } catch (e) {
+ this.destroy(e);
+ return;
+ }
+ this.push(null);
+ }, "onSourceEnd");
+ onSourceError = /* @__PURE__ */ __name((error2) => {
+ this.destroy(error2);
+ }, "onSourceError");
+ onSourceClose = /* @__PURE__ */ __name(() => {
+ if (!this.destroyed && !this.source.readableEnded) {
+ this.destroy(new Error("Connection lost or stream closed before all data was received."));
+ }
+ }, "onSourceClose");
+ _read(_size) {
+ this.source.resume();
+ }
+ _destroy(error2, callback) {
+ this.source?.removeListener("data", this.onSourceData);
+ this.source?.removeListener("end", this.onSourceEnd);
+ this.source?.removeListener("error", this.onSourceError);
+ this.source?.removeListener("close", this.onSourceClose);
+ this.source?.destroy();
+ callback(error2);
+ }
+ };
+ }
+});
+
+// ../../node_modules/.pnpm/@smithy+core@3.36.1/node_modules/@smithy/core/dist-es/submodules/serde/util-stream/stream-type-check.js
+var isReadableStream, isBlob;
+var init_stream_type_check = __esm({
+ "../../node_modules/.pnpm/@smithy+core@3.36.1/node_modules/@smithy/core/dist-es/submodules/serde/util-stream/stream-type-check.js"() {
+ isReadableStream = /* @__PURE__ */ __name((stream) => typeof ReadableStream === "function" && (stream?.constructor?.name === ReadableStream.name || stream instanceof ReadableStream), "isReadableStream");
+ isBlob = /* @__PURE__ */ __name((blob) => {
+ return typeof Blob === "function" && (blob?.constructor?.name === Blob.name || blob instanceof Blob);
+ }, "isBlob");
+ }
+});
+
+// ../../node_modules/.pnpm/@smithy+core@3.36.1/node_modules/@smithy/core/dist-es/submodules/serde/util-utf8/fromUtf8.browser.js
+var fromUtf82;
+var init_fromUtf8_browser = __esm({
+ "../../node_modules/.pnpm/@smithy+core@3.36.1/node_modules/@smithy/core/dist-es/submodules/serde/util-utf8/fromUtf8.browser.js"() {
+ fromUtf82 = /* @__PURE__ */ __name((input) => new TextEncoder().encode(input), "fromUtf8");
+ }
+});
+
+// ../../node_modules/.pnpm/@smithy+core@3.36.1/node_modules/@smithy/core/dist-es/submodules/serde/util-base64/constants-for-browser.js
+var chars, alphabetByEncoding, alphabetByValue, bitsPerLetter, bitsPerByte, maxLetterValue;
+var init_constants_for_browser = __esm({
+ "../../node_modules/.pnpm/@smithy+core@3.36.1/node_modules/@smithy/core/dist-es/submodules/serde/util-base64/constants-for-browser.js"() {
+ chars = `ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/`;
+ alphabetByEncoding = Object.entries(chars).reduce((acc, [i, c]) => {
+ acc[c] = Number(i);
+ return acc;
+ }, {});
+ alphabetByValue = chars.split("");
+ bitsPerLetter = 6;
+ bitsPerByte = 8;
+ maxLetterValue = 63;
+ }
+});
+
+// ../../node_modules/.pnpm/@smithy+core@3.36.1/node_modules/@smithy/core/dist-es/submodules/serde/util-base64/toBase64.browser.js
+function toBase642(_input) {
+ let input;
+ if (typeof _input === "string") {
+ input = fromUtf82(_input);
+ } else {
+ input = _input;
+ }
+ const isArrayLike = typeof input === "object" && typeof input.length === "number";
+ const isUint8Array = typeof input === "object" && typeof input.byteOffset === "number" && typeof input.byteLength === "number";
+ if (!isArrayLike && !isUint8Array) {
+ throw new Error("@smithy/util-base64: toBase64 encoder function only accepts string | Uint8Array.");
+ }
+ let str = "";
+ for (let i = 0; i < input.length; i += 3) {
+ let bits = 0;
+ let bitLength = 0;
+ for (let j = i, limit = Math.min(i + 3, input.length); j < limit; j++) {
+ bits |= input[j] << (limit - j - 1) * bitsPerByte;
+ bitLength += bitsPerByte;
+ }
+ const bitClusterCount = Math.ceil(bitLength / bitsPerLetter);
+ bits <<= bitClusterCount * bitsPerLetter - bitLength;
+ for (let k = 1; k <= bitClusterCount; k++) {
+ const offset = (bitClusterCount - k) * bitsPerLetter;
+ str += alphabetByValue[(bits & maxLetterValue << offset) >> offset];
+ }
+ str += "==".slice(0, 4 - bitClusterCount);
+ }
+ return str;
+}
+var init_toBase64_browser = __esm({
+ "../../node_modules/.pnpm/@smithy+core@3.36.1/node_modules/@smithy/core/dist-es/submodules/serde/util-base64/toBase64.browser.js"() {
+ init_fromUtf8_browser();
+ init_constants_for_browser();
+ __name(toBase642, "toBase64");
+ }
+});
+
+// ../../node_modules/.pnpm/@smithy+core@3.36.1/node_modules/@smithy/core/dist-es/submodules/serde/util-stream/checksum/ChecksumStream.browser.js
+var ReadableStreamRef, ChecksumStream2;
+var init_ChecksumStream_browser = __esm({
+ "../../node_modules/.pnpm/@smithy+core@3.36.1/node_modules/@smithy/core/dist-es/submodules/serde/util-stream/checksum/ChecksumStream.browser.js"() {
+ ReadableStreamRef = typeof ReadableStream === "function" ? ReadableStream : function() {
+ };
+ ChecksumStream2 = class extends ReadableStreamRef {
+ static {
+ __name(this, "ChecksumStream");
+ }
+ };
+ }
+});
+
+// ../../node_modules/.pnpm/@smithy+core@3.36.1/node_modules/@smithy/core/dist-es/submodules/serde/util-stream/checksum/createChecksumStream.browser.js
+var createChecksumStream;
+var init_createChecksumStream_browser = __esm({
+ "../../node_modules/.pnpm/@smithy+core@3.36.1/node_modules/@smithy/core/dist-es/submodules/serde/util-stream/checksum/createChecksumStream.browser.js"() {
+ init_toBase64_browser();
+ init_stream_type_check();
+ init_ChecksumStream_browser();
+ createChecksumStream = /* @__PURE__ */ __name(({ expectedChecksum, checksum, source, checksumSourceLocation, base64Encoder }) => {
+ if (!isReadableStream(source)) {
+ throw new Error(`@smithy/util-stream: unsupported source type ${source?.constructor?.name ?? source} in ChecksumStream.`);
+ }
+ const encoder = base64Encoder ?? toBase642;
+ if (typeof TransformStream !== "function") {
+ throw new Error("@smithy/util-stream: unable to instantiate ChecksumStream because API unavailable: ReadableStream/TransformStream.");
+ }
+ const transform = new TransformStream({
+ start() {
+ },
+ async transform(chunk, controller) {
+ checksum.update(chunk);
+ controller.enqueue(chunk);
+ },
+ async flush(controller) {
+ const digest2 = await checksum.digest();
+ const received = encoder(digest2);
+ if (expectedChecksum !== received) {
+ const error2 = new Error(`Checksum mismatch: expected "${expectedChecksum}" but received "${received}" in response header "${checksumSourceLocation}".`);
+ controller.error(error2);
+ } else {
+ controller.terminate();
+ }
+ }
+ });
+ source.pipeThrough(transform);
+ const readable = transform.readable;
+ Object.setPrototypeOf(readable, ChecksumStream2.prototype);
+ return readable;
+ }, "createChecksumStream");
+ }
+});
+
+// ../../node_modules/.pnpm/@smithy+core@3.36.1/node_modules/@smithy/core/dist-es/submodules/serde/util-stream/checksum/createChecksumStream.js
+function createChecksumStream2(init) {
+ if (typeof ReadableStream === "function" && isReadableStream(init.source)) {
+ return createChecksumStream(init);
+ }
+ return new ChecksumStream(init);
+}
+var init_createChecksumStream = __esm({
+ "../../node_modules/.pnpm/@smithy+core@3.36.1/node_modules/@smithy/core/dist-es/submodules/serde/util-stream/checksum/createChecksumStream.js"() {
+ init_stream_type_check();
+ init_ChecksumStream();
+ init_createChecksumStream_browser();
+ __name(createChecksumStream2, "createChecksumStream");
+ }
+});
+
+// ../../node_modules/.pnpm/@smithy+core@3.36.1/node_modules/@smithy/core/dist-es/submodules/serde/util-stream/ByteArrayCollector.js
+var ByteArrayCollector;
+var init_ByteArrayCollector = __esm({
+ "../../node_modules/.pnpm/@smithy+core@3.36.1/node_modules/@smithy/core/dist-es/submodules/serde/util-stream/ByteArrayCollector.js"() {
+ ByteArrayCollector = class {
+ static {
+ __name(this, "ByteArrayCollector");
+ }
+ allocByteArray;
+ byteLength = 0;
+ byteArrays = [];
+ constructor(allocByteArray) {
+ this.allocByteArray = allocByteArray;
+ }
+ push(byteArray) {
+ this.byteArrays.push(byteArray);
+ this.byteLength += byteArray.byteLength;
+ }
+ flush() {
+ if (this.byteArrays.length === 1) {
+ const bytes = this.byteArrays[0];
+ this.reset();
+ return bytes;
+ }
+ const aggregation = this.allocByteArray(this.byteLength);
+ let cursor = 0;
+ for (let i = 0; i < this.byteArrays.length; ++i) {
+ const bytes = this.byteArrays[i];
+ aggregation.set(bytes, cursor);
+ cursor += bytes.byteLength;
+ }
+ this.reset();
+ return aggregation;
+ }
+ reset() {
+ this.byteArrays = [];
+ this.byteLength = 0;
+ }
+ };
+ }
+});
+
+// ../../node_modules/.pnpm/@smithy+core@3.36.1/node_modules/@smithy/core/dist-es/submodules/serde/util-stream/createBufferedReadable.browser.js
+function createBufferedReadableStream(upstream, size, logger2) {
+ const reader = upstream.getReader();
+ let streamBufferingLoggedWarning = false;
+ let bytesSeen = 0;
+ const buffers = ["", new ByteArrayCollector((size2) => new Uint8Array(size2))];
+ let mode = -1;
+ const pull = /* @__PURE__ */ __name(async (controller) => {
+ const { value, done } = await reader.read();
+ const chunk = value;
+ if (done) {
+ if (mode !== -1) {
+ const remainder = flush(buffers, mode);
+ if (sizeOf(remainder) > 0) {
+ controller.enqueue(remainder);
+ }
+ }
+ controller.close();
+ } else {
+ const chunkMode = modeOf(chunk, false);
+ if (mode !== chunkMode) {
+ if (mode >= 0) {
+ controller.enqueue(flush(buffers, mode));
+ }
+ mode = chunkMode;
+ }
+ if (mode === -1) {
+ controller.enqueue(chunk);
+ return;
+ }
+ const chunkSize = sizeOf(chunk);
+ bytesSeen += chunkSize;
+ const bufferSize = sizeOf(buffers[mode]);
+ if (chunkSize >= size && bufferSize === 0) {
+ controller.enqueue(chunk);
+ } else {
+ const newSize = merge(buffers, mode, chunk);
+ if (!streamBufferingLoggedWarning && bytesSeen > size * 2) {
+ streamBufferingLoggedWarning = true;
+ logger2?.warn(`@smithy/util-stream - stream chunk size ${chunkSize} is below threshold of ${size}, automatically buffering.`);
+ }
+ if (newSize >= size) {
+ controller.enqueue(flush(buffers, mode));
+ } else {
+ await pull(controller);
+ }
+ }
+ }
+ }, "pull");
+ return new ReadableStream({
+ pull
+ });
+}
+function merge(buffers, mode, chunk) {
+ switch (mode) {
+ case 0:
+ buffers[0] += chunk;
+ return sizeOf(buffers[0]);
+ case 1:
+ case 2:
+ buffers[mode].push(chunk);
+ return sizeOf(buffers[mode]);
+ }
+}
+function flush(buffers, mode) {
+ switch (mode) {
+ case 0:
+ const s = buffers[0];
+ buffers[0] = "";
+ return s;
+ case 1:
+ case 2:
+ return buffers[mode].flush();
+ }
+ throw new Error(`@smithy/util-stream - invalid index ${mode} given to flush()`);
+}
+function sizeOf(chunk) {
+ return chunk?.byteLength ?? chunk?.length ?? 0;
+}
+function modeOf(chunk, allowBuffer = true) {
+ if (allowBuffer && typeof Buffer !== "undefined" && chunk instanceof Buffer) {
+ return 2;
+ }
+ if (chunk instanceof Uint8Array) {
+ return 1;
+ }
+ if (typeof chunk === "string") {
+ return 0;
+ }
+ return -1;
+}
+var init_createBufferedReadable_browser = __esm({
+ "../../node_modules/.pnpm/@smithy+core@3.36.1/node_modules/@smithy/core/dist-es/submodules/serde/util-stream/createBufferedReadable.browser.js"() {
+ init_ByteArrayCollector();
+ __name(createBufferedReadableStream, "createBufferedReadableStream");
+ __name(merge, "merge");
+ __name(flush, "flush");
+ __name(sizeOf, "sizeOf");
+ __name(modeOf, "modeOf");
+ }
+});
+
+// ../../node_modules/.pnpm/@smithy+core@3.36.1/node_modules/@smithy/core/dist-es/submodules/serde/util-stream/createBufferedReadable.js
+import { Readable as Readable2 } from "node:stream";
+function createBufferedReadable(upstream, size, logger2) {
+ if (isReadableStream(upstream)) {
+ return createBufferedReadableStream(upstream, size, logger2);
+ }
+ const downstream = new Readable2({ read() {
+ } });
+ let streamBufferingLoggedWarning = false;
+ let bytesSeen = 0;
+ const buffers = [
+ "",
+ new ByteArrayCollector((size2) => new Uint8Array(size2)),
+ new ByteArrayCollector((size2) => Buffer.from(new Uint8Array(size2)))
+ ];
+ let mode = -1;
+ upstream.on("data", (chunk) => {
+ const chunkMode = modeOf(chunk, true);
+ if (mode !== chunkMode) {
+ if (mode >= 0) {
+ downstream.push(flush(buffers, mode));
+ }
+ mode = chunkMode;
+ }
+ if (mode === -1) {
+ downstream.push(chunk);
+ return;
+ }
+ const chunkSize = sizeOf(chunk);
+ bytesSeen += chunkSize;
+ const bufferSize = sizeOf(buffers[mode]);
+ if (chunkSize >= size && bufferSize === 0) {
+ downstream.push(chunk);
+ } else {
+ const newSize = merge(buffers, mode, chunk);
+ if (!streamBufferingLoggedWarning && bytesSeen > size * 2) {
+ streamBufferingLoggedWarning = true;
+ logger2?.warn(`@smithy/util-stream - stream chunk size ${chunkSize} is below threshold of ${size}, automatically buffering.`);
+ }
+ if (newSize >= size) {
+ downstream.push(flush(buffers, mode));
+ }
+ }
+ });
+ upstream.on("end", () => {
+ if (mode !== -1) {
+ const remainder = flush(buffers, mode);
+ if (sizeOf(remainder) > 0) {
+ downstream.push(remainder);
+ }
+ }
+ downstream.push(null);
+ });
+ return downstream;
+}
+var init_createBufferedReadable = __esm({
+ "../../node_modules/.pnpm/@smithy+core@3.36.1/node_modules/@smithy/core/dist-es/submodules/serde/util-stream/createBufferedReadable.js"() {
+ init_ByteArrayCollector();
+ init_createBufferedReadable_browser();
+ init_stream_type_check();
+ __name(createBufferedReadable, "createBufferedReadable");
+ }
+});
+
+// ../../node_modules/.pnpm/@smithy+core@3.36.1/node_modules/@smithy/core/dist-es/submodules/serde/util-stream/getAwsChunkedEncodingStream.browser.js
+var getAwsChunkedEncodingStream;
+var init_getAwsChunkedEncodingStream_browser = __esm({
+ "../../node_modules/.pnpm/@smithy+core@3.36.1/node_modules/@smithy/core/dist-es/submodules/serde/util-stream/getAwsChunkedEncodingStream.browser.js"() {
+ getAwsChunkedEncodingStream = /* @__PURE__ */ __name((readableStream, options) => {
+ const { base64Encoder, bodyLengthChecker, checksumAlgorithmFn, checksumLocationName, streamHasher } = options;
+ const checksumRequired = base64Encoder !== void 0 && bodyLengthChecker !== void 0 && checksumAlgorithmFn !== void 0 && checksumLocationName !== void 0 && streamHasher !== void 0;
+ const digest2 = checksumRequired ? streamHasher(checksumAlgorithmFn, readableStream) : void 0;
+ Promise.resolve(digest2).catch(() => {
+ });
+ const reader = readableStream.getReader();
+ return new ReadableStream({
+ async pull(controller) {
+ const { value, done } = await reader.read();
+ if (done) {
+ controller.enqueue(`0\r
+`);
+ if (checksumRequired) {
+ const checksum = base64Encoder(await digest2);
+ controller.enqueue(`${checksumLocationName}:${checksum}\r
+`);
+ controller.enqueue(`\r
+`);
+ }
+ controller.close();
+ } else {
+ controller.enqueue(`${(bodyLengthChecker(value) || 0).toString(16)}\r
+${value}\r
+`);
+ }
+ }
+ });
+ }, "getAwsChunkedEncodingStream");
+ }
+});
+
+// ../../node_modules/.pnpm/@smithy+core@3.36.1/node_modules/@smithy/core/dist-es/submodules/serde/util-stream/getAwsChunkedEncodingStream.js
+import { Readable as Readable3 } from "node:stream";
+function getAwsChunkedEncodingStream2(stream, options) {
+ const readable = stream;
+ const readableStream = stream;
+ if (isReadableStream(readableStream)) {
+ return getAwsChunkedEncodingStream(readableStream, options);
+ }
+ const { base64Encoder, bodyLengthChecker, checksumAlgorithmFn, checksumLocationName, streamHasher } = options;
+ const checksumRequired = base64Encoder !== void 0 && checksumAlgorithmFn !== void 0 && checksumLocationName !== void 0 && streamHasher !== void 0;
+ const digest2 = checksumRequired ? streamHasher(checksumAlgorithmFn, readable) : void 0;
+ Promise.resolve(digest2).catch(() => {
+ });
+ const awsChunkedEncodingStream = new Readable3({
+ read() {
+ readable.resume();
+ }
+ });
+ readable.on("data", (data) => {
+ const length = bodyLengthChecker(data) || 0;
+ if (length === 0) {
+ return;
+ }
+ awsChunkedEncodingStream.push(`${length.toString(16)}\r
+`);
+ awsChunkedEncodingStream.push(data);
+ if (!awsChunkedEncodingStream.push("\r\n")) {
+ readable.pause();
+ }
+ });
+ readable.on("error", (err) => {
+ awsChunkedEncodingStream.destroy(err);
+ });
+ readable.pause();
+ readable.on("end", async () => {
+ try {
+ awsChunkedEncodingStream.push(`0\r
+`);
+ if (checksumRequired) {
+ const checksum = base64Encoder(await digest2);
+ awsChunkedEncodingStream.push(`${checksumLocationName}:${checksum}\r
+`);
+ awsChunkedEncodingStream.push(`\r
+`);
+ }
+ awsChunkedEncodingStream.push(null);
+ } catch (err) {
+ awsChunkedEncodingStream.destroy(err);
+ }
+ });
+ return awsChunkedEncodingStream;
+}
+var init_getAwsChunkedEncodingStream = __esm({
+ "../../node_modules/.pnpm/@smithy+core@3.36.1/node_modules/@smithy/core/dist-es/submodules/serde/util-stream/getAwsChunkedEncodingStream.js"() {
+ init_getAwsChunkedEncodingStream_browser();
+ init_stream_type_check();
+ __name(getAwsChunkedEncodingStream2, "getAwsChunkedEncodingStream");
+ }
+});
+
+// ../../node_modules/.pnpm/@smithy+core@3.36.1/node_modules/@smithy/core/dist-es/submodules/serde/util-stream/headStream.browser.js
+async function headStream(stream, bytes) {
+ let byteLengthCounter = 0;
+ const chunks = [];
+ const reader = stream.getReader();
+ let isDone = false;
+ while (!isDone) {
+ const { done, value } = await reader.read();
+ if (value) {
+ chunks.push(value);
+ byteLengthCounter += value?.byteLength ?? 0;
+ }
+ if (byteLengthCounter >= bytes) {
+ break;
+ }
+ isDone = done;
+ }
+ reader.releaseLock();
+ const collected = new Uint8Array(Math.min(bytes, byteLengthCounter));
+ let offset = 0;
+ for (const chunk of chunks) {
+ if (chunk.byteLength > collected.byteLength - offset) {
+ collected.set(chunk.subarray(0, collected.byteLength - offset), offset);
+ break;
+ } else {
+ collected.set(chunk, offset);
+ }
+ offset += chunk.length;
+ }
+ return collected;
+}
+var init_headStream_browser = __esm({
+ "../../node_modules/.pnpm/@smithy+core@3.36.1/node_modules/@smithy/core/dist-es/submodules/serde/util-stream/headStream.browser.js"() {
+ __name(headStream, "headStream");
+ }
+});
+
+// ../../node_modules/.pnpm/@smithy+core@3.36.1/node_modules/@smithy/core/dist-es/submodules/serde/util-stream/headStream.js
+import { Writable } from "node:stream";
+var headStream2, Collector;
+var init_headStream = __esm({
+ "../../node_modules/.pnpm/@smithy+core@3.36.1/node_modules/@smithy/core/dist-es/submodules/serde/util-stream/headStream.js"() {
+ init_concatBytes();
+ init_headStream_browser();
+ init_stream_type_check();
+ headStream2 = /* @__PURE__ */ __name((stream, bytes) => {
+ if (isReadableStream(stream)) {
+ return headStream(stream, bytes);
+ }
+ return new Promise((resolve, reject) => {
+ const collector = new Collector();
+ collector.limit = bytes;
+ stream.pipe(collector);
+ stream.on("error", (err) => {
+ collector.end();
+ reject(err);
+ });
+ collector.on("error", reject);
+ collector.on("finish", function() {
+ const bytes2 = concatBytes(this.buffers);
+ resolve(bytes2);
+ });
+ });
+ }, "headStream");
+ Collector = class extends Writable {
+ static {
+ __name(this, "Collector");
+ }
+ buffers = [];
+ limit = Infinity;
+ bytesBuffered = 0;
+ _write(chunk, encoding, callback) {
+ this.buffers.push(chunk);
+ this.bytesBuffered += chunk.byteLength ?? 0;
+ if (this.bytesBuffered >= this.limit) {
+ const excess = this.bytesBuffered - this.limit;
+ const tailBuffer = this.buffers[this.buffers.length - 1];
+ this.buffers[this.buffers.length - 1] = tailBuffer.subarray(0, tailBuffer.byteLength - excess);
+ this.emit("finish");
+ }
+ callback();
+ }
+ };
+ }
+});
+
+// ../../node_modules/.pnpm/@smithy+core@3.36.1/node_modules/@smithy/core/dist-es/submodules/serde/util-utf8/toUtf8.browser.js
+var toUtf82;
+var init_toUtf8_browser = __esm({
+ "../../node_modules/.pnpm/@smithy+core@3.36.1/node_modules/@smithy/core/dist-es/submodules/serde/util-utf8/toUtf8.browser.js"() {
+ toUtf82 = /* @__PURE__ */ __name((input) => {
+ if (typeof input === "string") {
+ return input;
+ }
+ if (typeof input !== "object" || typeof input.byteOffset !== "number" || typeof input.byteLength !== "number") {
+ throw new Error("@smithy/util-utf8: toUtf8 encoder function only accepts string | Uint8Array.");
+ }
+ return new TextDecoder("utf-8").decode(input);
+ }, "toUtf8");
+ }
+});
+
+// ../../node_modules/.pnpm/@smithy+core@3.36.1/node_modules/@smithy/core/dist-es/submodules/serde/util-stream/stream-collector.browser.js
+async function collectBlob(blob) {
+ return blob.arrayBuffer().then((ab) => new Uint8Array(ab));
+}
+async function collectReadableStream(stream) {
+ const chunks = [];
+ const reader = stream.getReader();
+ let length = 0;
+ while (true) {
+ const { done, value } = await reader.read();
+ if (value) {
+ chunks.push(value);
+ length += value.length;
+ }
+ if (done) {
+ break;
+ }
+ }
+ return concatBytes(chunks, length);
+}
+var streamCollector;
+var init_stream_collector_browser = __esm({
+ "../../node_modules/.pnpm/@smithy+core@3.36.1/node_modules/@smithy/core/dist-es/submodules/serde/util-stream/stream-collector.browser.js"() {
+ init_concatBytes();
+ init_stream_type_check();
+ streamCollector = /* @__PURE__ */ __name(async (stream) => {
+ if (isBlob(stream)) {
+ return collectBlob(stream);
+ }
+ return collectReadableStream(stream);
+ }, "streamCollector");
+ __name(collectBlob, "collectBlob");
+ __name(collectReadableStream, "collectReadableStream");
+ }
+});
+
+// ../../node_modules/.pnpm/@smithy+core@3.36.1/node_modules/@smithy/core/dist-es/submodules/serde/util-stream/sdk-stream-mixin.browser.js
+var ERR_MSG_STREAM_HAS_BEEN_TRANSFORMED, sdkStreamMixin, isBlobInstance;
+var init_sdk_stream_mixin_browser = __esm({
+ "../../node_modules/.pnpm/@smithy+core@3.36.1/node_modules/@smithy/core/dist-es/submodules/serde/util-stream/sdk-stream-mixin.browser.js"() {
+ init_toBase64_browser();
+ init_hex_encoding();
+ init_toUtf8_browser();
+ init_stream_collector_browser();
+ init_stream_type_check();
+ ERR_MSG_STREAM_HAS_BEEN_TRANSFORMED = "The stream has already been transformed.";
+ sdkStreamMixin = /* @__PURE__ */ __name((stream) => {
+ if (!isBlobInstance(stream) && !isReadableStream(stream)) {
+ const name = stream?.__proto__?.constructor?.name || stream;
+ throw new Error(`Unexpected stream implementation, expect Blob or ReadableStream, got ${name}`);
+ }
+ let transformed = false;
+ const transformToByteArray = /* @__PURE__ */ __name(async () => {
+ if (transformed) {
+ throw new Error(ERR_MSG_STREAM_HAS_BEEN_TRANSFORMED);
+ }
+ transformed = true;
+ return await streamCollector(stream);
+ }, "transformToByteArray");
+ const blobToWebStream = /* @__PURE__ */ __name((blob) => {
+ if (typeof blob.stream !== "function") {
+ throw new Error("Cannot transform payload Blob to web stream. Please make sure the Blob.stream() is polyfilled.\nIf you are using React Native, this API is not yet supported, see: https://react-native.canny.io/feature-requests/p/fetch-streaming-body");
+ }
+ return blob.stream();
+ }, "blobToWebStream");
+ return Object.assign(stream, {
+ transformToByteArray,
+ transformToString: /* @__PURE__ */ __name(async (encoding) => {
+ const buf = await transformToByteArray();
+ if (encoding === "base64") {
+ return toBase642(buf);
+ } else if (encoding === "hex") {
+ return toHex(buf);
+ } else if (encoding === void 0 || encoding === "utf8" || encoding === "utf-8") {
+ return toUtf82(buf);
+ } else if (typeof TextDecoder === "function") {
+ return new TextDecoder(encoding).decode(buf);
+ } else {
+ throw new Error("TextDecoder is not available, please make sure polyfill is provided.");
+ }
+ }, "transformToString"),
+ transformToWebStream: /* @__PURE__ */ __name(() => {
+ if (transformed) {
+ throw new Error(ERR_MSG_STREAM_HAS_BEEN_TRANSFORMED);
+ }
+ transformed = true;
+ if (isBlobInstance(stream)) {
+ return blobToWebStream(stream);
+ } else if (isReadableStream(stream)) {
+ return stream;
+ } else {
+ throw new Error(`Cannot transform payload to web stream, got ${stream}`);
+ }
+ }, "transformToWebStream")
+ });
+ }, "sdkStreamMixin");
+ isBlobInstance = /* @__PURE__ */ __name((stream) => typeof Blob === "function" && stream instanceof Blob, "isBlobInstance");
+ }
+});
+
+// ../../node_modules/.pnpm/@smithy+core@3.36.1/node_modules/@smithy/core/dist-es/submodules/serde/util-stream/stream-collector.js
+import { Writable as Writable2 } from "node:stream";
+var streamCollector2, Collector2;
+var init_stream_collector = __esm({
+ "../../node_modules/.pnpm/@smithy+core@3.36.1/node_modules/@smithy/core/dist-es/submodules/serde/util-stream/stream-collector.js"() {
+ init_concatBytes();
+ init_stream_collector_browser();
+ init_stream_type_check();
+ streamCollector2 = /* @__PURE__ */ __name((stream) => {
+ if (isBlob(stream)) {
+ return collectBlob(stream);
+ }
+ if (isReadableStream(stream)) {
+ return collectReadableStream(stream);
+ }
+ return new Promise((resolve, reject) => {
+ const collector = new Collector2();
+ const nodeStream = stream;
+ nodeStream.pipe(collector);
+ nodeStream.on("error", (err) => {
+ collector.end();
+ reject(err);
+ });
+ collector.on("error", reject);
+ collector.on("finish", function() {
+ const bytes = concatBytes(this.bufferedBytes);
+ resolve(bytes);
+ });
+ });
+ }, "streamCollector");
+ Collector2 = class extends Writable2 {
+ static {
+ __name(this, "Collector");
+ }
+ bufferedBytes = [];
+ _write(chunk, encoding, callback) {
+ this.bufferedBytes.push(chunk);
+ callback();
+ }
+ };
+ }
+});
+
+// ../../node_modules/.pnpm/@smithy+core@3.36.1/node_modules/@smithy/core/dist-es/submodules/serde/util-stream/sdk-stream-mixin.js
+import { Readable as Readable4 } from "node:stream";
+var ERR_MSG_STREAM_HAS_BEEN_TRANSFORMED2, sdkStreamMixin2;
+var init_sdk_stream_mixin = __esm({
+ "../../node_modules/.pnpm/@smithy+core@3.36.1/node_modules/@smithy/core/dist-es/submodules/serde/util-stream/sdk-stream-mixin.js"() {
+ init_buffer_from();
+ init_sdk_stream_mixin_browser();
+ init_stream_collector();
+ ERR_MSG_STREAM_HAS_BEEN_TRANSFORMED2 = "The stream has already been transformed.";
+ sdkStreamMixin2 = /* @__PURE__ */ __name((stream) => {
+ if (!(stream instanceof Readable4)) {
+ try {
+ return sdkStreamMixin(stream);
+ } catch (ignored) {
+ const name = stream?.__proto__?.constructor?.name || stream;
+ throw new Error(`Unexpected stream implementation, expect Stream.Readable instance, got ${name}`);
+ }
+ }
+ let transformed = false;
+ const transformToByteArray = /* @__PURE__ */ __name(async () => {
+ if (transformed) {
+ throw new Error(ERR_MSG_STREAM_HAS_BEEN_TRANSFORMED2);
+ }
+ transformed = true;
+ return await streamCollector2(stream);
+ }, "transformToByteArray");
+ return Object.assign(stream, {
+ transformToByteArray,
+ transformToString: /* @__PURE__ */ __name(async (encoding) => {
+ const buf = await transformToByteArray();
+ if (encoding === void 0 || Buffer.isEncoding(encoding)) {
+ return fromArrayBuffer(buf.buffer, buf.byteOffset, buf.byteLength).toString(encoding);
+ } else {
+ const decoder = new TextDecoder(encoding);
+ return decoder.decode(buf);
+ }
+ }, "transformToString"),
+ transformToWebStream: /* @__PURE__ */ __name(() => {
+ if (transformed) {
+ throw new Error(ERR_MSG_STREAM_HAS_BEEN_TRANSFORMED2);
+ }
+ if (stream.readableFlowing !== null) {
+ throw new Error("The stream has been consumed by other callbacks.");
+ }
+ if (typeof Readable4.toWeb !== "function") {
+ throw new Error("Readable.toWeb() is not supported. Please ensure a polyfill is available.");
+ }
+ transformed = true;
+ return Readable4.toWeb(stream);
+ }, "transformToWebStream")
+ });
+ }, "sdkStreamMixin");
+ }
+});
+
+// ../../node_modules/.pnpm/@smithy+core@3.36.1/node_modules/@smithy/core/dist-es/submodules/serde/util-stream/splitStream.browser.js
+async function splitStream(stream) {
+ if (typeof stream.stream === "function") {
+ stream = stream.stream();
+ }
+ const readableStream = stream;
+ return readableStream.tee();
+}
+var init_splitStream_browser = __esm({
+ "../../node_modules/.pnpm/@smithy+core@3.36.1/node_modules/@smithy/core/dist-es/submodules/serde/util-stream/splitStream.browser.js"() {
+ __name(splitStream, "splitStream");
+ }
+});
+
+// ../../node_modules/.pnpm/@smithy+core@3.36.1/node_modules/@smithy/core/dist-es/submodules/serde/util-stream/splitStream.js
+import { PassThrough } from "node:stream";
+async function splitStream2(stream) {
+ if (isReadableStream(stream) || isBlob(stream)) {
+ return splitStream(stream);
+ }
+ const stream1 = new PassThrough();
+ const stream2 = new PassThrough();
+ stream.pipe(stream1);
+ stream.pipe(stream2);
+ return [stream1, stream2];
+}
+var init_splitStream = __esm({
+ "../../node_modules/.pnpm/@smithy+core@3.36.1/node_modules/@smithy/core/dist-es/submodules/serde/util-stream/splitStream.js"() {
+ init_splitStream_browser();
+ init_stream_type_check();
+ __name(splitStream2, "splitStream");
+ }
+});
+
+// ../../node_modules/.pnpm/@smithy+core@3.36.1/node_modules/@smithy/core/dist-es/submodules/serde/index.js
+var serde_exports = {};
+__export(serde_exports, {
+ ChecksumStream: () => ChecksumStream,
+ Hash: () => Hash,
+ LazyJsonString: () => LazyJsonString,
+ NumericValue: () => NumericValue,
+ Uint8ArrayBlobAdapter: () => Uint8ArrayBlobAdapter,
+ _parseEpochTimestamp: () => _parseEpochTimestamp,
+ _parseRfc3339DateTimeWithOffset: () => _parseRfc3339DateTimeWithOffset,
+ _parseRfc7231DateTime: () => _parseRfc7231DateTime,
+ calculateBodyLength: () => calculateBodyLength,
+ concatBytes: () => concatBytes,
+ copyDocumentWithTransform: () => copyDocumentWithTransform,
+ createBufferedReadable: () => createBufferedReadable,
+ createChecksumStream: () => createChecksumStream2,
+ dateToUtcString: () => dateToUtcString,
+ deserializerMiddleware: () => deserializerMiddleware,
+ deserializerMiddlewareOption: () => deserializerMiddlewareOption2,
+ expectBoolean: () => expectBoolean,
+ expectByte: () => expectByte,
+ expectFloat32: () => expectFloat32,
+ expectInt: () => expectInt,
+ expectInt32: () => expectInt32,
+ expectLong: () => expectLong,
+ expectNonNull: () => expectNonNull,
+ expectNumber: () => expectNumber,
+ expectObject: () => expectObject,
+ expectShort: () => expectShort,
+ expectString: () => expectString,
+ expectUnion: () => expectUnion,
+ fromArrayBuffer: () => fromArrayBuffer,
+ fromBase64: () => fromBase64,
+ fromHex: () => fromHex,
+ fromString: () => fromString,
+ fromUtf8: () => fromUtf8,
+ generateIdempotencyToken: () => generateIdempotencyToken,
+ getAwsChunkedEncodingStream: () => getAwsChunkedEncodingStream2,
+ getSerdePlugin: () => getSerdePlugin,
+ handleFloat: () => handleFloat,
+ hasOwn: () => hasOwn,
+ headStream: () => headStream2,
+ isArrayBuffer: () => isArrayBuffer,
+ isBlob: () => isBlob,
+ isReadableStream: () => isReadableStream,
+ limitedParseDouble: () => limitedParseDouble,
+ limitedParseFloat: () => limitedParseFloat,
+ limitedParseFloat32: () => limitedParseFloat32,
+ logger: () => logger,
+ nv: () => nv,
+ parseBoolean: () => parseBoolean,
+ parseEpochTimestamp: () => parseEpochTimestamp,
+ parseRfc3339DateTime: () => parseRfc3339DateTime,
+ parseRfc3339DateTimeWithOffset: () => parseRfc3339DateTimeWithOffset,
+ parseRfc7231DateTime: () => parseRfc7231DateTime,
+ quoteHeader: () => quoteHeader,
+ sdkStreamMixin: () => sdkStreamMixin2,
+ serializerMiddleware: () => serializerMiddleware,
+ serializerMiddlewareOption: () => serializerMiddlewareOption3,
+ splitEvery: () => splitEvery,
+ splitHeader: () => splitHeader,
+ splitStream: () => splitStream2,
+ streamCollector: () => streamCollector2,
+ strictParseByte: () => strictParseByte,
+ strictParseDouble: () => strictParseDouble,
+ strictParseFloat: () => strictParseFloat,
+ strictParseFloat32: () => strictParseFloat32,
+ strictParseInt: () => strictParseInt,
+ strictParseInt32: () => strictParseInt32,
+ strictParseLong: () => strictParseLong,
+ strictParseShort: () => strictParseShort,
+ toBase64: () => toBase64,
+ toHex: () => toHex,
+ toUint8Array: () => toUint8Array,
+ toUtf8: () => toUtf8,
+ v4: () => v4
+});
+import { getRandomValues } from "node:crypto";
+var Uint8ArrayBlobAdapter, _getRandomValues, v4, generateIdempotencyToken;
+var init_serde = __esm({
+ "../../node_modules/.pnpm/@smithy+core@3.36.1/node_modules/@smithy/core/dist-es/submodules/serde/index.js"() {
+ init_fromBase64();
+ init_toBase64();
+ init_Uint8ArrayBlobAdapter();
+ init_fromUtf8();
+ init_toUtf8();
+ init_v4();
+ init_copyDocumentWithTransform();
+ init_date_utils();
+ init_lazy_json();
+ init_parse_utils();
+ init_quote_header();
+ init_schema_date_utils();
+ init_split_every();
+ init_split_header();
+ init_NumericValue();
+ init_hex_encoding();
+ init_calculateBodyLength();
+ init_toUint8Array();
+ init_concatBytes();
+ init_buffer_from();
+ init_is_array_buffer();
+ init_deserializerMiddleware();
+ init_serdePlugin();
+ init_serializerMiddleware();
+ init_hash_node();
+ init_ChecksumStream();
+ init_createChecksumStream();
+ init_createBufferedReadable();
+ init_getAwsChunkedEncodingStream();
+ init_headStream();
+ init_sdk_stream_mixin();
+ init_splitStream();
+ init_stream_type_check();
+ init_stream_collector();
+ init_transport();
+ Uint8ArrayBlobAdapter = class extends bindUint8ArrayBlobAdapter(toUtf8, fromUtf8, toBase64, fromBase64) {
+ static {
+ __name(this, "Uint8ArrayBlobAdapter");
+ }
+ };
+ _getRandomValues = getRandomValues;
+ v4 = bindV4(_getRandomValues);
+ generateIdempotencyToken = v4;
+ }
+});
+
+// ../../node_modules/.pnpm/@smithy+core@3.36.1/node_modules/@smithy/core/dist-es/submodules/checksum/hash-stream-node/HashCalculator.js
+import { Writable as Writable3 } from "node:stream";
+var HashCalculator;
+var init_HashCalculator = __esm({
+ "../../node_modules/.pnpm/@smithy+core@3.36.1/node_modules/@smithy/core/dist-es/submodules/checksum/hash-stream-node/HashCalculator.js"() {
+ init_serde();
+ HashCalculator = class extends Writable3 {
+ static {
+ __name(this, "HashCalculator");
+ }
+ hash;
+ constructor(hash, options) {
+ super(options);
+ this.hash = hash;
+ }
+ _write(chunk, encoding, callback) {
+ try {
+ this.hash.update(toUint8Array(chunk));
+ } catch (err) {
+ return callback(err);
+ }
+ callback();
+ }
+ };
+ }
+});
+
+// ../../node_modules/.pnpm/@smithy+core@3.36.1/node_modules/@smithy/core/dist-es/submodules/checksum/hash-stream-node/fileStreamHasher.js
+import { createReadStream } from "node:fs";
+var fileStreamHasher, isReadStream;
+var init_fileStreamHasher = __esm({
+ "../../node_modules/.pnpm/@smithy+core@3.36.1/node_modules/@smithy/core/dist-es/submodules/checksum/hash-stream-node/fileStreamHasher.js"() {
+ init_HashCalculator();
+ fileStreamHasher = /* @__PURE__ */ __name((hashCtor, fileStream) => new Promise((resolve, reject) => {
+ if (!isReadStream(fileStream)) {
+ reject(new Error("Unable to calculate hash for non-file streams."));
+ return;
+ }
+ const fileStreamTee = createReadStream(fileStream.path, {
+ start: fileStream.start,
+ end: fileStream.end
+ });
+ const hash = new hashCtor();
+ const hashCalculator = new HashCalculator(hash);
+ fileStreamTee.pipe(hashCalculator);
+ fileStreamTee.on("error", (err) => {
+ hashCalculator.end();
+ reject(err);
+ });
+ hashCalculator.on("error", reject);
+ hashCalculator.on("finish", function() {
+ hash.digest().then(resolve).catch(reject);
+ });
+ }), "fileStreamHasher");
+ isReadStream = /* @__PURE__ */ __name((stream) => typeof stream.path === "string", "isReadStream");
+ }
+});
+
+// ../../node_modules/.pnpm/@smithy+core@3.36.1/node_modules/@smithy/core/dist-es/submodules/checksum/hash-stream-node/readableStreamHasher.js
+var readableStreamHasher;
+var init_readableStreamHasher = __esm({
+ "../../node_modules/.pnpm/@smithy+core@3.36.1/node_modules/@smithy/core/dist-es/submodules/checksum/hash-stream-node/readableStreamHasher.js"() {
+ init_HashCalculator();
+ readableStreamHasher = /* @__PURE__ */ __name((hashCtor, readableStream) => {
+ if (readableStream.readableFlowing !== null) {
+ throw new Error("Unable to calculate hash for flowing readable stream");
+ }
+ const hash = new hashCtor();
+ const hashCalculator = new HashCalculator(hash);
+ readableStream.pipe(hashCalculator);
+ return new Promise((resolve, reject) => {
+ readableStream.on("error", (err) => {
+ hashCalculator.end();
+ reject(err);
+ });
+ hashCalculator.on("error", reject);
+ hashCalculator.on("finish", () => {
+ hash.digest().then(resolve).catch(reject);
+ });
+ });
+ }, "readableStreamHasher");
+ }
+});
+
+// ../../node_modules/.pnpm/@smithy+core@3.36.1/node_modules/@smithy/core/dist-es/submodules/checksum/md5/Md5Js.js
+function compress(state, block) {
+ let a = state[0], b = state[1], c = state[2], d = state[3];
+ for (let i = 0; i < 64; ++i) {
+ let f, g;
+ if (i < 16) {
+ f = b & c | ~b & d;
+ g = i;
+ } else if (i < 32) {
+ f = d & b | c & ~d;
+ g = (5 * i + 1) % 16;
+ } else if (i < 48) {
+ f = b ^ c ^ d;
+ g = (3 * i + 5) % 16;
+ } else {
+ f = c ^ (b | ~d);
+ g = 7 * i % 16;
+ }
+ const x = block.getUint32(g * 4, true);
+ const tmp = d;
+ d = c;
+ c = b;
+ const s = S[(i >> 4) * 4 + (i & 3)];
+ const sum = (a + f & M) + (x + T[i] & M) & M;
+ b = b + ((sum << s | sum >>> 32 - s) >>> 0) & M;
+ a = tmp;
+ }
+ state[0] = state[0] + a & M;
+ state[1] = state[1] + b & M;
+ state[2] = state[2] + c & M;
+ state[3] = state[3] + d & M;
+}
+var Md5Js, INIT, M, S, T;
+var init_Md5Js = __esm({
+ "../../node_modules/.pnpm/@smithy+core@3.36.1/node_modules/@smithy/core/dist-es/submodules/checksum/md5/Md5Js.js"() {
+ init_serde();
+ Md5Js = class {
+ static {
+ __name(this, "Md5Js");
+ }
+ digestLength = 16;
+ state = Uint32Array.from(INIT);
+ writeBuffer = new DataView(new ArrayBuffer(64));
+ bufferLength = 0;
+ bytesHashed = 0;
+ update(sourceData) {
+ const data = toUint8Array(sourceData);
+ let pos = 0;
+ let len = data.byteLength;
+ this.bytesHashed += len;
+ while (len > 0) {
+ this.writeBuffer.setUint8(this.bufferLength++, data[pos++]);
+ --len;
+ if (this.bufferLength === 64) {
+ compress(this.state, this.writeBuffer);
+ this.bufferLength = 0;
+ }
+ }
+ }
+ async digest() {
+ const state = Uint32Array.from(this.state);
+ const buf = new DataView(this.writeBuffer.buffer.slice(0));
+ let bufLen = this.bufferLength;
+ const bits = this.bytesHashed * 8;
+ buf.setUint8(bufLen++, 128);
+ if (this.bufferLength % 64 >= 56) {
+ for (let i = bufLen; i < 64; ++i) {
+ buf.setUint8(i, 0);
+ }
+ compress(state, buf);
+ bufLen = 0;
+ }
+ for (let i = bufLen; i < 56; ++i) {
+ buf.setUint8(i, 0);
+ }
+ buf.setUint32(56, bits >>> 0, true);
+ buf.setUint32(60, Math.floor(bits / 2 ** 32), true);
+ compress(state, buf);
+ const out = new Uint8Array(16);
+ const view = new DataView(out.buffer);
+ for (let i = 0; i < 4; ++i) {
+ view.setUint32(i * 4, state[i], true);
+ }
+ return out;
+ }
+ reset() {
+ this.state.set(INIT);
+ this.writeBuffer = new DataView(new ArrayBuffer(64));
+ this.bufferLength = 0;
+ this.bytesHashed = 0;
+ }
+ };
+ INIT = [1732584193, 4023233417, 2562383102, 271733878];
+ M = 4294967295;
+ S = Uint8Array.of(7, 12, 17, 22, 5, 9, 14, 20, 4, 11, 16, 23, 6, 10, 15, 21);
+ T = Array.from({ length: 64 }, (_, i) => Math.abs(Math.sin(i + 1)) * 2 ** 32 >>> 0);
+ __name(compress, "compress");
+ }
+});
+
+// ../../node_modules/.pnpm/@smithy+core@3.36.1/node_modules/@smithy/core/dist-es/submodules/checksum/md5/Md5Node.js
+import { createHash as createHash3 } from "node:crypto";
+function buildNativeClass() {
+ return class Md5Node {
+ static {
+ __name(this, "Md5Node");
+ }
+ digestLength = 16;
+ hash = createHash3("md5");
+ update(data) {
+ this.hash.update(toUint8Array(data));
+ }
+ async digest() {
+ const buf = this.hash.copy().digest();
+ return new Uint8Array(buf.buffer, buf.byteOffset, buf.byteLength);
+ }
+ reset() {
+ this.hash = createHash3("md5");
+ }
+ };
+}
+var hasNativeCrypto, Md5Node;
+var init_Md5Node = __esm({
+ "../../node_modules/.pnpm/@smithy+core@3.36.1/node_modules/@smithy/core/dist-es/submodules/checksum/md5/Md5Node.js"() {
+ init_serde();
+ init_Md5Js();
+ hasNativeCrypto = (() => {
+ try {
+ createHash3("md5");
+ return true;
+ } catch {
+ return false;
+ }
+ })();
+ Md5Node = hasNativeCrypto ? buildNativeClass() : Md5Js;
+ __name(buildNativeClass, "buildNativeClass");
+ }
+});
+
+// ../../node_modules/.pnpm/@smithy+core@3.36.1/node_modules/@smithy/core/dist-es/submodules/checksum/crc32/Crc32Js.js
+var CRC32_TABLE, ONES, Crc32Js;
+var init_Crc32Js = __esm({
+ "../../node_modules/.pnpm/@smithy+core@3.36.1/node_modules/@smithy/core/dist-es/submodules/checksum/crc32/Crc32Js.js"() {
+ CRC32_TABLE = new Uint32Array(256);
+ for (let i = 0; i < 256; ++i) {
+ let c = i;
+ for (let j = 0; j < 8; ++j) {
+ c = c & 1 ? 3988292384 ^ c >>> 1 : c >>> 1;
+ }
+ CRC32_TABLE[i] = c >>> 0;
+ }
+ ONES = 4294967295;
+ Crc32Js = class {
+ static {
+ __name(this, "Crc32Js");
+ }
+ digestLength = 4;
+ checksum = ONES;
+ update(data) {
+ for (let i = 0; i < data.length; ++i) {
+ this.checksum = this.checksum >>> 8 ^ CRC32_TABLE[(this.checksum ^ data[i]) & 255];
+ }
+ }
+ digestSync() {
+ return (this.checksum ^ ONES) >>> 0;
+ }
+ async digest() {
+ const value = this.digestSync();
+ const out = new Uint8Array(4);
+ new DataView(out.buffer).setUint32(0, value, false);
+ return out;
+ }
+ reset() {
+ this.checksum = ONES;
+ }
+ };
+ }
+});
+
+// ../../node_modules/.pnpm/@smithy+core@3.36.1/node_modules/@smithy/core/dist-es/submodules/checksum/crc32/Crc32Node.js
+import * as zlib from "node:zlib";
+function buildNativeClass2(nativeCrc32) {
+ return class Crc32Node {
+ static {
+ __name(this, "Crc32Node");
+ }
+ digestLength = 4;
+ value = 0;
+ update(data) {
+ this.value = nativeCrc32(data, this.value);
+ }
+ digestSync() {
+ return this.value >>> 0;
+ }
+ async digest() {
+ const out = new Uint8Array(4);
+ new DataView(out.buffer).setUint32(0, this.digestSync(), false);
+ return out;
+ }
+ reset() {
+ this.value = 0;
+ }
+ };
+}
+var zlibCrc32, Crc32Node;
+var init_Crc32Node = __esm({
+ "../../node_modules/.pnpm/@smithy+core@3.36.1/node_modules/@smithy/core/dist-es/submodules/checksum/crc32/Crc32Node.js"() {
+ init_Crc32Js();
+ zlibCrc32 = typeof zlib.crc32 === "function" ? zlib.crc32 : void 0;
+ Crc32Node = zlibCrc32 ? buildNativeClass2(zlibCrc32) : Crc32Js;
+ __name(buildNativeClass2, "buildNativeClass");
+ }
+});
+
+// ../../node_modules/.pnpm/@smithy+core@3.36.1/node_modules/@smithy/core/dist-es/submodules/checksum/sha256/Sha256Js.js
+var BLOCK, DIGEST_LENGTH, MAX_HASHABLE_LENGTH, Sha256Js, INIT2, K;
+var init_Sha256Js = __esm({
+ "../../node_modules/.pnpm/@smithy+core@3.36.1/node_modules/@smithy/core/dist-es/submodules/checksum/sha256/Sha256Js.js"() {
+ init_serde();
+ BLOCK = 64;
+ DIGEST_LENGTH = 32;
+ MAX_HASHABLE_LENGTH = 2 ** 53 - 1;
+ Sha256Js = class _Sha256Js {
+ static {
+ __name(this, "Sha256Js");
+ }
+ digestLength = DIGEST_LENGTH;
+ state = Int32Array.from(INIT2);
+ w;
+ buffer = new Uint8Array(64);
+ bufferLength = 0;
+ bytesHashed = 0;
+ finished = false;
+ inner;
+ outer;
+ constructor(secret) {
+ if (secret) {
+ const key = _Sha256Js.normalizeKey(secret);
+ this.inner = new _Sha256Js();
+ this.outer = new _Sha256Js();
+ const { inner, outer } = this;
+ const pad = new Uint8Array(BLOCK * 2);
+ for (let i = 0; i < BLOCK; ++i) {
+ pad[i] = 54 ^ key[i];
+ pad[i + BLOCK] = 92 ^ key[i];
+ }
+ inner.update(pad.subarray(0, BLOCK));
+ outer.update(pad.subarray(BLOCK));
+ }
+ }
+ update(data) {
+ if (this.finished) {
+ throw new Error("Attempted to update an already finished HMAC.");
+ }
+ if (this.inner) {
+ this.inner.update(data);
+ return;
+ }
+ const chunk = toUint8Array(data);
+ let position = 0;
+ let { byteLength } = chunk;
+ this.bytesHashed += byteLength;
+ if (this.bytesHashed * 8 > MAX_HASHABLE_LENGTH) {
+ throw new Error("Cannot hash more than 2^53 - 1 bits");
+ }
+ while (byteLength > 0) {
+ this.buffer[this.bufferLength++] = chunk[position++];
+ byteLength--;
+ if (this.bufferLength === BLOCK) {
+ this.hashBuffer();
+ this.bufferLength = 0;
+ }
+ }
+ }
+ async digest() {
+ const { inner, outer } = this;
+ if (inner && outer) {
+ if (this.finished) {
+ throw new Error("Attempted to digest an already finished HMAC.");
+ }
+ this.finished = true;
+ const innerDigest = inner.digestSync();
+ outer.update(innerDigest);
+ return outer.digestSync();
+ }
+ return this.digestSync();
+ }
+ reset() {
+ this.state = Int32Array.from(INIT2);
+ this.buffer = new Uint8Array(64);
+ this.bufferLength = 0;
+ this.bytesHashed = 0;
+ }
+ digestSync() {
+ const state = this.state.slice();
+ const buffer = this.buffer.slice();
+ let bufferLength = this.bufferLength;
+ const bitsHashed = this.bytesHashed * 8;
+ const bufferView = new DataView(buffer.buffer, buffer.byteOffset, buffer.byteLength);
+ bufferView.setUint8(bufferLength++, 128);
+ if ((bufferLength - 1) % BLOCK >= BLOCK - 8) {
+ for (let i = bufferLength; i < BLOCK; ++i) {
+ bufferView.setUint8(i, 0);
+ }
+ this.hashBufferWith(state, buffer);
+ bufferLength = 0;
+ }
+ for (let i = bufferLength; i < BLOCK - 8; ++i) {
+ bufferView.setUint8(i, 0);
+ }
+ bufferView.setUint32(BLOCK - 8, Math.floor(bitsHashed / 4294967296), false);
+ bufferView.setUint32(BLOCK - 4, bitsHashed, false);
+ this.hashBufferWith(state, buffer);
+ const out = new Uint8Array(DIGEST_LENGTH);
+ for (let i = 0; i < 8; ++i) {
+ out[i * 4] = state[i] >>> 24 & 255;
+ out[i * 4 + 1] = state[i] >>> 16 & 255;
+ out[i * 4 + 2] = state[i] >>> 8 & 255;
+ out[i * 4 + 3] = state[i] >>> 0 & 255;
+ }
+ return out;
+ }
+ static normalizeKey(secret) {
+ const key = toUint8Array(secret);
+ if (key.byteLength > BLOCK) {
+ const h = new _Sha256Js();
+ h.update(key);
+ const out = h.digestSync();
+ const padded = new Uint8Array(BLOCK);
+ padded.set(out);
+ return padded;
+ }
+ if (key.byteLength < BLOCK) {
+ const padded = new Uint8Array(BLOCK);
+ padded.set(key);
+ return padded;
+ }
+ return key;
+ }
+ hashBuffer() {
+ this.hashBufferWith(this.state, this.buffer);
+ }
+ hashBufferWith(state, buffer) {
+ const w = this.w ??= new Int32Array(64);
+ let s0 = state[0], s1 = state[1], s2 = state[2], s3 = state[3], s4 = state[4], s5 = state[5], s6 = state[6], s7 = state[7];
+ for (let i = 0; i < BLOCK; ++i) {
+ if (i < 16) {
+ w[i] = (buffer[i * 4] & 255) << 24 | (buffer[i * 4 + 1] & 255) << 16 | (buffer[i * 4 + 2] & 255) << 8 | buffer[i * 4 + 3] & 255;
+ } else {
+ let u = w[i - 2];
+ const t12 = (u >>> 17 | u << 15) ^ (u >>> 19 | u << 13) ^ u >>> 10;
+ u = w[i - 15];
+ const t22 = (u >>> 7 | u << 25) ^ (u >>> 18 | u << 14) ^ u >>> 3;
+ w[i] = (t12 + w[i - 7] | 0) + (t22 + w[i - 16] | 0);
+ }
+ const t1 = (((s4 >>> 6 | s4 << 26) ^ (s4 >>> 11 | s4 << 21) ^ (s4 >>> 25 | s4 << 7)) + (s4 & s5 ^ ~s4 & s6) | 0) + (s7 + (K[i] + w[i] | 0) | 0) | 0;
+ const t2 = ((s0 >>> 2 | s0 << 30) ^ (s0 >>> 13 | s0 << 19) ^ (s0 >>> 22 | s0 << 10)) + (s0 & s1 ^ s0 & s2 ^ s1 & s2) | 0;
+ s7 = s6;
+ s6 = s5;
+ s5 = s4;
+ s4 = s3 + t1 | 0;
+ s3 = s2;
+ s2 = s1;
+ s1 = s0;
+ s0 = t1 + t2 | 0;
+ }
+ state[0] += s0;
+ state[1] += s1;
+ state[2] += s2;
+ state[3] += s3;
+ state[4] += s4;
+ state[5] += s5;
+ state[6] += s6;
+ state[7] += s7;
+ }
+ };
+ INIT2 = new Int32Array([
+ 1779033703,
+ 3144134277,
+ 1013904242,
+ 2773480762,
+ 1359893119,
+ 2600822924,
+ 528734635,
+ 1541459225
+ ]);
+ K = new Int32Array([
+ 1116352408,
+ 1899447441,
+ 3049323471,
+ 3921009573,
+ 961987163,
+ 1508970993,
+ 2453635748,
+ 2870763221,
+ 3624381080,
+ 310598401,
+ 607225278,
+ 1426881987,
+ 1925078388,
+ 2162078206,
+ 2614888103,
+ 3248222580,
+ 3835390401,
+ 4022224774,
+ 264347078,
+ 604807628,
+ 770255983,
+ 1249150122,
+ 1555081692,
+ 1996064986,
+ 2554220882,
+ 2821834349,
+ 2952996808,
+ 3210313671,
+ 3336571891,
+ 3584528711,
+ 113926993,
+ 338241895,
+ 666307205,
+ 773529912,
+ 1294757372,
+ 1396182291,
+ 1695183700,
+ 1986661051,
+ 2177026350,
+ 2456956037,
+ 2730485921,
+ 2820302411,
+ 3259730800,
+ 3345764771,
+ 3516065817,
+ 3600352804,
+ 4094571909,
+ 275423344,
+ 430227734,
+ 506948616,
+ 659060556,
+ 883997877,
+ 958139571,
+ 1322822218,
+ 1537002063,
+ 1747873779,
+ 1955562222,
+ 2024104815,
+ 2227730452,
+ 2361852424,
+ 2428436474,
+ 2756734187,
+ 3204031479,
+ 3329325298
+ ]);
+ }
+});
+
+// ../../node_modules/.pnpm/@smithy+core@3.36.1/node_modules/@smithy/core/dist-es/submodules/checksum/sha256/Sha256Node.js
+import { createHash as createHash4, createHmac as createHmac2 } from "node:crypto";
+function buildNativeClass3() {
+ return class Sha256Node {
+ static {
+ __name(this, "Sha256Node");
+ }
+ digestLength = 32;
+ secret;
+ hash;
+ isHmac;
+ finished = false;
+ constructor(secret) {
+ this.secret = secret;
+ this.isHmac = !!secret;
+ this.hash = this.createHash();
+ }
+ update(data) {
+ if (this.finished) {
+ throw new Error("Attempted to update an already finished hash.");
+ }
+ this.hash.update(data);
+ }
+ async digest() {
+ let buf;
+ if (this.isHmac) {
+ this.finished = true;
+ buf = this.hash.digest();
+ } else {
+ buf = this.hash.copy().digest();
+ }
+ return new Uint8Array(buf.buffer, buf.byteOffset, buf.byteLength);
+ }
+ reset() {
+ this.hash = this.createHash();
+ this.finished = false;
+ }
+ createHash() {
+ return this.secret ? createHmac2("sha256", toBuffer(this.secret)) : createHash4("sha256");
+ }
+ };
+}
+function toBuffer(data) {
+ if (typeof data === "string") {
+ return data;
+ }
+ if (ArrayBuffer.isView(data)) {
+ return Buffer.from(data.buffer, data.byteOffset, data.byteLength);
+ }
+ return Buffer.from(data);
+}
+var hasNativeCrypto2, Sha256Node;
+var init_Sha256Node = __esm({
+ "../../node_modules/.pnpm/@smithy+core@3.36.1/node_modules/@smithy/core/dist-es/submodules/checksum/sha256/Sha256Node.js"() {
+ init_Sha256Js();
+ hasNativeCrypto2 = (() => {
+ try {
+ createHash4("sha256");
+ return true;
+ } catch {
+ return false;
+ }
+ })();
+ Sha256Node = hasNativeCrypto2 ? buildNativeClass3() : Sha256Js;
+ __name(buildNativeClass3, "buildNativeClass");
+ __name(toBuffer, "toBuffer");
+ }
+});
+
+// ../../node_modules/.pnpm/@smithy+core@3.36.1/node_modules/@smithy/core/dist-es/submodules/checksum/sha256/Sha256WebCrypto.js
+var digest, sign, importKey, subtle, MAX_PENDING_BYTES, Sha256WebCrypto;
+var init_Sha256WebCrypto = __esm({
+ "../../node_modules/.pnpm/@smithy+core@3.36.1/node_modules/@smithy/core/dist-es/submodules/checksum/sha256/Sha256WebCrypto.js"() {
+ init_serde();
+ init_Sha256Js();
+ ({ digest, sign, importKey } = globalThis?.crypto?.subtle ?? {});
+ subtle = typeof digest === "function" && typeof sign === "function" && typeof importKey === "function" ? globalThis.crypto.subtle : void 0;
+ MAX_PENDING_BYTES = 8 * 1024 * 1024;
+ Sha256WebCrypto = class {
+ static {
+ __name(this, "Sha256WebCrypto");
+ }
+ digestLength = 32;
+ secret;
+ pending = [];
+ pendingBytes = 0;
+ fallback;
+ finished = false;
+ constructor(secret) {
+ if (secret) {
+ this.secret = toUint8Array(secret);
+ }
+ }
+ update(data) {
+ if (this.finished) {
+ throw new Error("Attempted to update an already finished HMAC.");
+ }
+ if (this.fallback) {
+ this.fallback.update(data);
+ return;
+ }
+ this.pending.push(data.slice());
+ this.pendingBytes += data.byteLength;
+ if (this.pendingBytes >= MAX_PENDING_BYTES) {
+ this.switchToFallback();
+ }
+ }
+ async digest() {
+ if (this.fallback) {
+ return this.fallback.digest();
+ }
+ if (this.secret && this.finished) {
+ throw new Error("Attempted to digest an already finished HMAC.");
+ }
+ const data = concatBytes(this.pending);
+ if (subtle) {
+ if (this.secret) {
+ this.finished = true;
+ const key = await subtle.importKey("raw", this.secret, { name: "HMAC", hash: "SHA-256" }, false, ["sign"]);
+ const sig = await subtle.sign("HMAC", key, data);
+ return new Uint8Array(sig);
+ }
+ const hash = await subtle.digest("SHA-256", data);
+ return new Uint8Array(hash);
+ }
+ const sha256 = new Sha256Js(this.secret);
+ sha256.update(data);
+ return sha256.digest();
+ }
+ reset() {
+ this.pending = [];
+ this.pendingBytes = 0;
+ this.fallback = void 0;
+ this.finished = false;
+ }
+ switchToFallback() {
+ const sha256Js = new Sha256Js(this.secret);
+ for (const chunk of this.pending) {
+ sha256Js.update(chunk);
+ }
+ this.fallback = sha256Js;
+ this.pending = [];
+ this.pendingBytes = 0;
+ }
+ };
+ }
+});
+
+// ../../node_modules/.pnpm/@smithy+core@3.36.1/node_modules/@smithy/core/dist-es/submodules/checksum/index.js
+var checksum_exports = {};
+__export(checksum_exports, {
+ Crc32: () => Crc32Node,
+ Crc32Js: () => Crc32Js,
+ Crc32Node: () => Crc32Node,
+ Md5: () => Md5Node,
+ Md5Js: () => Md5Js,
+ Md5Node: () => Md5Node,
+ Sha256: () => Sha256Node,
+ Sha256Js: () => Sha256Js,
+ Sha256Node: () => Sha256Node,
+ Sha256WebCrypto: () => Sha256WebCrypto,
+ blobHasher: () => blobHasher,
+ blobReader: () => blobReader,
+ fileStreamHasher: () => fileStreamHasher,
+ readableStreamHasher: () => readableStreamHasher
+});
+var init_checksum2 = __esm({
+ "../../node_modules/.pnpm/@smithy+core@3.36.1/node_modules/@smithy/core/dist-es/submodules/checksum/index.js"() {
+ init_blobHasher();
+ init_fileStreamHasher();
+ init_readableStreamHasher();
+ init_Md5Js();
+ init_Md5Node();
+ init_Crc32Js();
+ init_Crc32Node();
+ init_Sha256Js();
+ init_Sha256Node();
+ init_Sha256WebCrypto();
+ init_chunked_blob_reader();
+ }
+});
+
+// ../../node_modules/.pnpm/@smithy+core@3.36.1/node_modules/@smithy/core/dist-es/submodules/event-streams/eventstream-codec/Int64.js
+function negate(bytes) {
+ for (let i = 0; i < 8; i++) {
+ bytes[i] ^= 255;
+ }
+ for (let i = 7; i > -1; i--) {
+ bytes[i]++;
+ if (bytes[i] !== 0)
+ break;
+ }
+}
+var Int64;
+var init_Int64 = __esm({
+ "../../node_modules/.pnpm/@smithy+core@3.36.1/node_modules/@smithy/core/dist-es/submodules/event-streams/eventstream-codec/Int64.js"() {
+ init_serde();
+ Int64 = class _Int64 {
+ static {
+ __name(this, "Int64");
+ }
+ bytes;
+ constructor(bytes) {
+ this.bytes = bytes;
+ if (bytes.byteLength !== 8) {
+ throw new Error("Int64 buffers must be exactly 8 bytes");
+ }
+ }
+ static fromNumber(number) {
+ if (number > 9223372036854776e3 || number < -9223372036854776e3) {
+ throw new Error(`${number} is too large (or, if negative, too small) to represent as an Int64`);
+ }
+ const bytes = new Uint8Array(8);
+ for (let i = 7, remaining = Math.abs(Math.round(number)); i > -1 && remaining > 0; i--, remaining /= 256) {
+ bytes[i] = remaining;
+ }
+ if (number < 0) {
+ negate(bytes);
+ }
+ return new _Int64(bytes);
+ }
+ valueOf() {
+ const bytes = this.bytes.slice(0);
+ const negative = bytes[0] & 128;
+ if (negative) {
+ negate(bytes);
+ }
+ return parseInt(toHex(bytes), 16) * (negative ? -1 : 1);
+ }
+ toString() {
+ return String(this.valueOf());
+ }
+ };
+ __name(negate, "negate");
+ }
+});
+
+// ../../node_modules/.pnpm/@smithy+core@3.36.1/node_modules/@smithy/core/dist-es/submodules/event-streams/eventstream-codec/HeaderMarshaller.js
+var HeaderMarshaller, HEADER_VALUE_TYPE, BOOLEAN_TAG, BYTE_TAG, SHORT_TAG, INT_TAG, LONG_TAG, BINARY_TAG, STRING_TAG, TIMESTAMP_TAG, UUID_TAG, UUID_PATTERN;
+var init_HeaderMarshaller = __esm({
+ "../../node_modules/.pnpm/@smithy+core@3.36.1/node_modules/@smithy/core/dist-es/submodules/event-streams/eventstream-codec/HeaderMarshaller.js"() {
+ init_transport();
+ init_serde();
+ init_Int64();
+ HeaderMarshaller = class {
+ static {
+ __name(this, "HeaderMarshaller");
+ }
+ toUtf8;
+ fromUtf8;
+ constructor(toUtf83, fromUtf83) {
+ this.toUtf8 = toUtf83;
+ this.fromUtf8 = fromUtf83;
+ }
+ format(headers) {
+ const chunks = [];
+ for (const headerName in headers) {
+ if (!hasOwn(headers, headerName))
+ continue;
+ const bytes = this.fromUtf8(headerName);
+ chunks.push(Uint8Array.from([bytes.byteLength]), bytes, this.formatHeaderValue(headers[headerName]));
+ }
+ const out = new Uint8Array(chunks.reduce((carry, bytes) => carry + bytes.byteLength, 0));
+ let position = 0;
+ for (const chunk of chunks) {
+ out.set(chunk, position);
+ position += chunk.byteLength;
+ }
+ return out;
+ }
+ formatHeaderValue(header) {
+ switch (header.type) {
+ case "boolean":
+ return Uint8Array.from([header.value ? 0 : 1]);
+ case "byte":
+ return Uint8Array.from([2, header.value]);
+ case "short":
+ const shortView = new DataView(new ArrayBuffer(3));
+ shortView.setUint8(0, 3);
+ shortView.setInt16(1, header.value, false);
+ return new Uint8Array(shortView.buffer);
+ case "integer":
+ const intView = new DataView(new ArrayBuffer(5));
+ intView.setUint8(0, 4);
+ intView.setInt32(1, header.value, false);
+ return new Uint8Array(intView.buffer);
+ case "long":
+ const longBytes = new Uint8Array(9);
+ longBytes[0] = 5;
+ longBytes.set(header.value.bytes, 1);
+ return longBytes;
+ case "binary":
+ const binView = new DataView(new ArrayBuffer(3 + header.value.byteLength));
+ binView.setUint8(0, 6);
+ binView.setUint16(1, header.value.byteLength, false);
+ const binBytes = new Uint8Array(binView.buffer);
+ binBytes.set(header.value, 3);
+ return binBytes;
+ case "string":
+ const utf8Bytes = this.fromUtf8(header.value);
+ const strView = new DataView(new ArrayBuffer(3 + utf8Bytes.byteLength));
+ strView.setUint8(0, 7);
+ strView.setUint16(1, utf8Bytes.byteLength, false);
+ const strBytes = new Uint8Array(strView.buffer);
+ strBytes.set(utf8Bytes, 3);
+ return strBytes;
+ case "timestamp":
+ const tsBytes = new Uint8Array(9);
+ tsBytes[0] = 8;
+ tsBytes.set(Int64.fromNumber(header.value.valueOf()).bytes, 1);
+ return tsBytes;
+ case "uuid":
+ if (!UUID_PATTERN.test(header.value)) {
+ throw new Error(`Invalid UUID received: ${header.value}`);
+ }
+ const uuidBytes = new Uint8Array(17);
+ uuidBytes[0] = 9;
+ uuidBytes.set(fromHex(header.value.replace(/-/g, "")), 1);
+ return uuidBytes;
+ }
+ }
+ parse(headers) {
+ const out = {};
+ let position = 0;
+ while (position < headers.byteLength) {
+ const nameLength = headers.getUint8(position++);
+ const name = this.toUtf8(new Uint8Array(headers.buffer, headers.byteOffset + position, nameLength));
+ position += nameLength;
+ switch (headers.getUint8(position++)) {
+ case 0:
+ out[name] = {
+ type: BOOLEAN_TAG,
+ value: true
+ };
+ break;
+ case 1:
+ out[name] = {
+ type: BOOLEAN_TAG,
+ value: false
+ };
+ break;
+ case 2:
+ out[name] = {
+ type: BYTE_TAG,
+ value: headers.getInt8(position++)
+ };
+ break;
+ case 3:
+ out[name] = {
+ type: SHORT_TAG,
+ value: headers.getInt16(position, false)
+ };
+ position += 2;
+ break;
+ case 4:
+ out[name] = {
+ type: INT_TAG,
+ value: headers.getInt32(position, false)
+ };
+ position += 4;
+ break;
+ case 5:
+ out[name] = {
+ type: LONG_TAG,
+ value: new Int64(new Uint8Array(headers.buffer, headers.byteOffset + position, 8))
+ };
+ position += 8;
+ break;
+ case 6:
+ const binaryLength = headers.getUint16(position, false);
+ position += 2;
+ out[name] = {
+ type: BINARY_TAG,
+ value: new Uint8Array(headers.buffer, headers.byteOffset + position, binaryLength)
+ };
+ position += binaryLength;
+ break;
+ case 7:
+ const stringLength = headers.getUint16(position, false);
+ position += 2;
+ out[name] = {
+ type: STRING_TAG,
+ value: this.toUtf8(new Uint8Array(headers.buffer, headers.byteOffset + position, stringLength))
+ };
+ position += stringLength;
+ break;
+ case 8:
+ out[name] = {
+ type: TIMESTAMP_TAG,
+ value: new Date(new Int64(new Uint8Array(headers.buffer, headers.byteOffset + position, 8)).valueOf())
+ };
+ position += 8;
+ break;
+ case 9:
+ const uuidBytes = new Uint8Array(headers.buffer, headers.byteOffset + position, 16);
+ position += 16;
+ out[name] = {
+ type: UUID_TAG,
+ value: `${toHex(uuidBytes.subarray(0, 4))}-${toHex(uuidBytes.subarray(4, 6))}-${toHex(uuidBytes.subarray(6, 8))}-${toHex(uuidBytes.subarray(8, 10))}-${toHex(uuidBytes.subarray(10))}`
+ };
+ break;
+ default:
+ throw new Error(`Unrecognized header type tag`);
+ }
+ }
+ return out;
+ }
+ };
+ (function(HEADER_VALUE_TYPE2) {
+ HEADER_VALUE_TYPE2[HEADER_VALUE_TYPE2["boolTrue"] = 0] = "boolTrue";
+ HEADER_VALUE_TYPE2[HEADER_VALUE_TYPE2["boolFalse"] = 1] = "boolFalse";
+ HEADER_VALUE_TYPE2[HEADER_VALUE_TYPE2["byte"] = 2] = "byte";
+ HEADER_VALUE_TYPE2[HEADER_VALUE_TYPE2["short"] = 3] = "short";
+ HEADER_VALUE_TYPE2[HEADER_VALUE_TYPE2["integer"] = 4] = "integer";
+ HEADER_VALUE_TYPE2[HEADER_VALUE_TYPE2["long"] = 5] = "long";
+ HEADER_VALUE_TYPE2[HEADER_VALUE_TYPE2["byteArray"] = 6] = "byteArray";
+ HEADER_VALUE_TYPE2[HEADER_VALUE_TYPE2["string"] = 7] = "string";
+ HEADER_VALUE_TYPE2[HEADER_VALUE_TYPE2["timestamp"] = 8] = "timestamp";
+ HEADER_VALUE_TYPE2[HEADER_VALUE_TYPE2["uuid"] = 9] = "uuid";
+ })(HEADER_VALUE_TYPE || (HEADER_VALUE_TYPE = {}));
+ BOOLEAN_TAG = "boolean";
+ BYTE_TAG = "byte";
+ SHORT_TAG = "short";
+ INT_TAG = "integer";
+ LONG_TAG = "long";
+ BINARY_TAG = "binary";
+ STRING_TAG = "string";
+ TIMESTAMP_TAG = "timestamp";
+ UUID_TAG = "uuid";
+ UUID_PATTERN = /^[a-f0-9]{8}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{12}$/;
+ }
+});
+
+// ../../node_modules/.pnpm/@smithy+core@3.36.1/node_modules/@smithy/core/dist-es/submodules/event-streams/eventstream-codec/splitMessage.js
+function splitMessage({ byteLength, byteOffset, buffer }) {
+ if (byteLength < MINIMUM_MESSAGE_LENGTH) {
+ throw new Error("Provided message too short to accommodate event stream message overhead");
+ }
+ const view = new DataView(buffer, byteOffset, byteLength);
+ const messageLength = view.getUint32(0, false);
+ if (byteLength !== messageLength) {
+ throw new Error("Reported message length does not match received message length");
+ }
+ const headerLength = view.getUint32(PRELUDE_MEMBER_LENGTH, false);
+ const expectedPreludeChecksum = view.getUint32(PRELUDE_LENGTH, false);
+ const expectedMessageChecksum = view.getUint32(byteLength - CHECKSUM_LENGTH, false);
+ const checksummer = new Crc32Node();
+ checksummer.update(new Uint8Array(buffer, byteOffset, PRELUDE_LENGTH));
+ if (expectedPreludeChecksum !== checksummer.digestSync()) {
+ throw new Error(`The prelude checksum specified in the message (${expectedPreludeChecksum}) does not match the calculated CRC32 checksum (${checksummer.digestSync()})`);
+ }
+ checksummer.update(new Uint8Array(buffer, byteOffset + PRELUDE_LENGTH, byteLength - (PRELUDE_LENGTH + CHECKSUM_LENGTH)));
+ if (expectedMessageChecksum !== checksummer.digestSync()) {
+ throw new Error(`The message checksum (${checksummer.digestSync()}) did not match the expected value of ${expectedMessageChecksum}`);
+ }
+ return {
+ headers: new DataView(buffer, byteOffset + PRELUDE_LENGTH + CHECKSUM_LENGTH, headerLength),
+ body: new Uint8Array(buffer, byteOffset + PRELUDE_LENGTH + CHECKSUM_LENGTH + headerLength, messageLength - headerLength - (PRELUDE_LENGTH + CHECKSUM_LENGTH + CHECKSUM_LENGTH))
+ };
+}
+var PRELUDE_MEMBER_LENGTH, PRELUDE_LENGTH, CHECKSUM_LENGTH, MINIMUM_MESSAGE_LENGTH;
+var init_splitMessage = __esm({
+ "../../node_modules/.pnpm/@smithy+core@3.36.1/node_modules/@smithy/core/dist-es/submodules/event-streams/eventstream-codec/splitMessage.js"() {
+ init_checksum2();
+ PRELUDE_MEMBER_LENGTH = 4;
+ PRELUDE_LENGTH = PRELUDE_MEMBER_LENGTH * 2;
+ CHECKSUM_LENGTH = 4;
+ MINIMUM_MESSAGE_LENGTH = PRELUDE_LENGTH + CHECKSUM_LENGTH * 2;
+ __name(splitMessage, "splitMessage");
+ }
+});
+
+// ../../node_modules/.pnpm/@smithy+core@3.36.1/node_modules/@smithy/core/dist-es/submodules/event-streams/eventstream-codec/EventStreamCodec.js
+var EventStreamCodec;
+var init_EventStreamCodec = __esm({
+ "../../node_modules/.pnpm/@smithy+core@3.36.1/node_modules/@smithy/core/dist-es/submodules/event-streams/eventstream-codec/EventStreamCodec.js"() {
+ init_checksum2();
+ init_HeaderMarshaller();
+ init_splitMessage();
+ EventStreamCodec = class {
+ static {
+ __name(this, "EventStreamCodec");
+ }
+ headerMarshaller;
+ messageBuffer;
+ isEndOfStream;
+ constructor(toUtf83, fromUtf83) {
+ this.headerMarshaller = new HeaderMarshaller(toUtf83, fromUtf83);
+ this.messageBuffer = [];
+ this.isEndOfStream = false;
+ }
+ feed(message) {
+ this.messageBuffer.push(this.decode(message));
+ }
+ endOfStream() {
+ this.isEndOfStream = true;
+ }
+ getMessage() {
+ const message = this.messageBuffer.pop();
+ const isEndOfStream = this.isEndOfStream;
+ return {
+ getMessage() {
+ return message;
+ },
+ isEndOfStream() {
+ return isEndOfStream;
+ }
+ };
+ }
+ getAvailableMessages() {
+ const messages = this.messageBuffer;
+ this.messageBuffer = [];
+ const isEndOfStream = this.isEndOfStream;
+ return {
+ getMessages() {
+ return messages;
+ },
+ isEndOfStream() {
+ return isEndOfStream;
+ }
+ };
+ }
+ encode({ headers: rawHeaders, body }) {
+ const headers = this.headerMarshaller.format(rawHeaders);
+ const length = headers.byteLength + body.byteLength + 16;
+ const out = new Uint8Array(length);
+ const view = new DataView(out.buffer, out.byteOffset, out.byteLength);
+ const checksum = new Crc32Node();
+ view.setUint32(0, length, false);
+ view.setUint32(4, headers.byteLength, false);
+ checksum.update(out.subarray(0, 8));
+ view.setUint32(8, checksum.digestSync(), false);
+ out.set(headers, 12);
+ out.set(body, headers.byteLength + 12);
+ checksum.update(out.subarray(8, length - 4));
+ view.setUint32(length - 4, checksum.digestSync(), false);
+ return out;
+ }
+ decode(message) {
+ const { headers, body } = splitMessage(message);
+ return { headers: this.headerMarshaller.parse(headers), body };
+ }
+ formatHeaders(rawHeaders) {
+ return this.headerMarshaller.format(rawHeaders);
+ }
+ };
+ }
+});
+
+// ../../node_modules/.pnpm/@smithy+core@3.36.1/node_modules/@smithy/core/dist-es/submodules/event-streams/eventstream-codec/MessageDecoderStream.js
+var MessageDecoderStream;
+var init_MessageDecoderStream = __esm({
+ "../../node_modules/.pnpm/@smithy+core@3.36.1/node_modules/@smithy/core/dist-es/submodules/event-streams/eventstream-codec/MessageDecoderStream.js"() {
+ MessageDecoderStream = class {
+ static {
+ __name(this, "MessageDecoderStream");
+ }
+ options;
+ constructor(options) {
+ this.options = options;
+ }
+ [Symbol.asyncIterator]() {
+ return this.asyncIterator();
+ }
+ async *asyncIterator() {
+ for await (const bytes of this.options.inputStream) {
+ const decoded = this.options.decoder.decode(bytes);
+ yield decoded;
+ }
+ }
+ };
+ }
+});
+
+// ../../node_modules/.pnpm/@smithy+core@3.36.1/node_modules/@smithy/core/dist-es/submodules/event-streams/eventstream-codec/MessageEncoderStream.js
+var MessageEncoderStream;
+var init_MessageEncoderStream = __esm({
+ "../../node_modules/.pnpm/@smithy+core@3.36.1/node_modules/@smithy/core/dist-es/submodules/event-streams/eventstream-codec/MessageEncoderStream.js"() {
+ MessageEncoderStream = class {
+ static {
+ __name(this, "MessageEncoderStream");
+ }
+ options;
+ constructor(options) {
+ this.options = options;
+ }
+ [Symbol.asyncIterator]() {
+ return this.asyncIterator();
+ }
+ async *asyncIterator() {
+ for await (const msg of this.options.messageStream) {
+ const encoded = this.options.encoder.encode(msg);
+ yield encoded;
+ }
+ if (this.options.includeEndFrame) {
+ yield new Uint8Array(0);
+ }
+ }
+ };
+ }
+});
+
+// ../../node_modules/.pnpm/@smithy+core@3.36.1/node_modules/@smithy/core/dist-es/submodules/event-streams/eventstream-codec/SmithyMessageDecoderStream.js
+var SmithyMessageDecoderStream;
+var init_SmithyMessageDecoderStream = __esm({
+ "../../node_modules/.pnpm/@smithy+core@3.36.1/node_modules/@smithy/core/dist-es/submodules/event-streams/eventstream-codec/SmithyMessageDecoderStream.js"() {
+ SmithyMessageDecoderStream = class {
+ static {
+ __name(this, "SmithyMessageDecoderStream");
+ }
+ options;
+ constructor(options) {
+ this.options = options;
+ }
+ [Symbol.asyncIterator]() {
+ return this.asyncIterator();
+ }
+ async *asyncIterator() {
+ for await (const message of this.options.messageStream) {
+ const deserialized = await this.options.deserializer(message);
+ if (deserialized === void 0)
+ continue;
+ yield deserialized;
+ }
+ }
+ };
+ }
+});
+
+// ../../node_modules/.pnpm/@smithy+core@3.36.1/node_modules/@smithy/core/dist-es/submodules/event-streams/eventstream-codec/SmithyMessageEncoderStream.js
+var SmithyMessageEncoderStream;
+var init_SmithyMessageEncoderStream = __esm({
+ "../../node_modules/.pnpm/@smithy+core@3.36.1/node_modules/@smithy/core/dist-es/submodules/event-streams/eventstream-codec/SmithyMessageEncoderStream.js"() {
+ SmithyMessageEncoderStream = class {
+ static {
+ __name(this, "SmithyMessageEncoderStream");
+ }
+ options;
+ constructor(options) {
+ this.options = options;
+ }
+ [Symbol.asyncIterator]() {
+ return this.asyncIterator();
+ }
+ async *asyncIterator() {
+ for await (const chunk of this.options.inputStream) {
+ const payloadBuf = this.options.serializer(chunk);
+ yield payloadBuf;
+ }
+ }
+ };
+ }
+});
+
+// ../../node_modules/.pnpm/@smithy+core@3.36.1/node_modules/@smithy/core/dist-es/submodules/event-streams/eventstream-serde-universal/getChunkedStream.js
+function getChunkedStream(source) {
+ let currentMessageTotalLength = 0;
+ let currentMessagePendingLength = 0;
+ let currentMessage = null;
+ let messageLengthBuffer = null;
+ const allocateMessage = /* @__PURE__ */ __name((size) => {
+ if (typeof size !== "number") {
+ throw new Error("Attempted to allocate an event message where size was not a number: " + size);
+ }
+ currentMessageTotalLength = size;
+ currentMessagePendingLength = 4;
+ currentMessage = new Uint8Array(size);
+ const currentMessageView = new DataView(currentMessage.buffer);
+ currentMessageView.setUint32(0, size, false);
+ }, "allocateMessage");
+ const iterator = /* @__PURE__ */ __name(async function* () {
+ const sourceIterator = source[Symbol.asyncIterator]();
+ while (true) {
+ const { value, done } = await sourceIterator.next();
+ if (done) {
+ if (!currentMessageTotalLength) {
+ return;
+ } else if (currentMessageTotalLength === currentMessagePendingLength) {
+ yield currentMessage;
+ } else {
+ throw new Error("Truncated event message received.");
+ }
+ return;
+ }
+ const chunkLength = value.length;
+ let currentOffset = 0;
+ while (currentOffset < chunkLength) {
+ if (!currentMessage) {
+ const bytesRemaining = chunkLength - currentOffset;
+ if (!messageLengthBuffer) {
+ messageLengthBuffer = new Uint8Array(4);
+ }
+ const numBytesForTotal = Math.min(4 - currentMessagePendingLength, bytesRemaining);
+ messageLengthBuffer.set(value.slice(currentOffset, currentOffset + numBytesForTotal), currentMessagePendingLength);
+ currentMessagePendingLength += numBytesForTotal;
+ currentOffset += numBytesForTotal;
+ if (currentMessagePendingLength < 4) {
+ break;
+ }
+ allocateMessage(new DataView(messageLengthBuffer.buffer).getUint32(0, false));
+ messageLengthBuffer = null;
+ }
+ const numBytesToWrite = Math.min(currentMessageTotalLength - currentMessagePendingLength, chunkLength - currentOffset);
+ currentMessage.set(value.slice(currentOffset, currentOffset + numBytesToWrite), currentMessagePendingLength);
+ currentMessagePendingLength += numBytesToWrite;
+ currentOffset += numBytesToWrite;
+ if (currentMessageTotalLength && currentMessageTotalLength === currentMessagePendingLength) {
+ yield currentMessage;
+ currentMessage = null;
+ currentMessageTotalLength = 0;
+ currentMessagePendingLength = 0;
+ }
+ }
+ }
+ }, "iterator");
+ return {
+ [Symbol.asyncIterator]: iterator
+ };
+}
+var init_getChunkedStream = __esm({
+ "../../node_modules/.pnpm/@smithy+core@3.36.1/node_modules/@smithy/core/dist-es/submodules/event-streams/eventstream-serde-universal/getChunkedStream.js"() {
+ __name(getChunkedStream, "getChunkedStream");
+ }
+});
+
+// ../../node_modules/.pnpm/@smithy+core@3.36.1/node_modules/@smithy/core/dist-es/submodules/event-streams/eventstream-serde-universal/getUnmarshalledStream.js
+function getUnmarshalledStream(source, options) {
+ const messageUnmarshaller = getMessageUnmarshaller(options.deserializer, options.toUtf8);
+ return {
+ [Symbol.asyncIterator]: async function* () {
+ for await (const chunk of source) {
+ const message = options.eventStreamCodec.decode(chunk);
+ const type = await messageUnmarshaller(message);
+ if (type === void 0)
+ continue;
+ yield type;
+ }
+ }
+ };
+}
+function getMessageUnmarshaller(deserializer, toUtf83) {
+ return async function(message) {
+ const { value: messageType } = message.headers[":message-type"];
+ if (messageType === "error") {
+ const unmodeledError = new Error(message.headers[":error-message"].value || "UnknownError");
+ unmodeledError.name = message.headers[":error-code"].value;
+ throw unmodeledError;
+ } else if (messageType === "exception") {
+ const code = message.headers[":exception-type"].value;
+ const exception = { [code]: message };
+ const deserializedException = await deserializer(exception);
+ if (deserializedException.$unknown) {
+ const error2 = new Error(toUtf83(message.body));
+ error2.name = code;
+ throw error2;
+ }
+ throw deserializedException[code];
+ } else if (messageType === "event") {
+ const event = {
+ [message.headers[":event-type"].value]: message
+ };
+ const deserialized = await deserializer(event);
+ if (deserialized.$unknown)
+ return;
+ return deserialized;
+ } else {
+ throw Error(`Unrecognizable event type: ${message.headers[":event-type"].value}`);
+ }
+ };
+}
+var init_getUnmarshalledStream = __esm({
+ "../../node_modules/.pnpm/@smithy+core@3.36.1/node_modules/@smithy/core/dist-es/submodules/event-streams/eventstream-serde-universal/getUnmarshalledStream.js"() {
+ __name(getUnmarshalledStream, "getUnmarshalledStream");
+ __name(getMessageUnmarshaller, "getMessageUnmarshaller");
+ }
+});
+
+// ../../node_modules/.pnpm/@smithy+core@3.36.1/node_modules/@smithy/core/dist-es/submodules/event-streams/eventstream-serde-universal/EventStreamMarshaller.js
+var EventStreamMarshaller, eventStreamSerdeProvider;
+var init_EventStreamMarshaller = __esm({
+ "../../node_modules/.pnpm/@smithy+core@3.36.1/node_modules/@smithy/core/dist-es/submodules/event-streams/eventstream-serde-universal/EventStreamMarshaller.js"() {
+ init_EventStreamCodec();
+ init_MessageDecoderStream();
+ init_MessageEncoderStream();
+ init_SmithyMessageDecoderStream();
+ init_SmithyMessageEncoderStream();
+ init_getChunkedStream();
+ init_getUnmarshalledStream();
+ EventStreamMarshaller = class {
+ static {
+ __name(this, "EventStreamMarshaller");
+ }
+ eventStreamCodec;
+ utfEncoder;
+ constructor({ utf8Encoder, utf8Decoder }) {
+ this.eventStreamCodec = new EventStreamCodec(utf8Encoder, utf8Decoder);
+ this.utfEncoder = utf8Encoder;
+ }
+ deserialize(body, deserializer) {
+ const inputStream = getChunkedStream(body);
+ return new SmithyMessageDecoderStream({
+ messageStream: new MessageDecoderStream({ inputStream, decoder: this.eventStreamCodec }),
+ deserializer: getMessageUnmarshaller(deserializer, this.utfEncoder)
+ });
+ }
+ serialize(inputStream, serializer) {
+ return new MessageEncoderStream({
+ messageStream: new SmithyMessageEncoderStream({ inputStream, serializer }),
+ encoder: this.eventStreamCodec,
+ includeEndFrame: true
+ });
+ }
+ };
+ eventStreamSerdeProvider = /* @__PURE__ */ __name((options) => new EventStreamMarshaller(options), "eventStreamSerdeProvider");
+ }
+});
+
+// ../../node_modules/.pnpm/@smithy+core@3.36.1/node_modules/@smithy/core/dist-es/submodules/event-streams/eventstream-serde/EventStreamMarshaller.js
+import { Readable as Readable5 } from "node:stream";
+async function* readableToIterable(readStream) {
+ let streamEnded = false;
+ let generationEnded = false;
+ const records = new Array();
+ readStream.on("error", (err) => {
+ if (!streamEnded) {
+ streamEnded = true;
+ }
+ if (err) {
+ throw err;
+ }
+ });
+ readStream.on("data", (data) => {
+ records.push(data);
+ });
+ readStream.on("end", () => {
+ streamEnded = true;
+ });
+ while (!generationEnded) {
+ const value = await new Promise((resolve) => setTimeout(() => resolve(records.shift()), 0));
+ if (value) {
+ yield value;
+ }
+ generationEnded = streamEnded && records.length === 0;
+ }
+}
+var EventStreamMarshaller2, eventStreamSerdeProvider2;
+var init_EventStreamMarshaller2 = __esm({
+ "../../node_modules/.pnpm/@smithy+core@3.36.1/node_modules/@smithy/core/dist-es/submodules/event-streams/eventstream-serde/EventStreamMarshaller.js"() {
+ init_EventStreamMarshaller();
+ EventStreamMarshaller2 = class {
+ static {
+ __name(this, "EventStreamMarshaller");
+ }
+ universalMarshaller;
+ constructor({ utf8Encoder, utf8Decoder }) {
+ this.universalMarshaller = new EventStreamMarshaller({
+ utf8Decoder,
+ utf8Encoder
+ });
+ }
+ deserialize(body, deserializer) {
+ const bodyIterable = typeof body[Symbol.asyncIterator] === "function" ? body : readableToIterable(body);
+ return this.universalMarshaller.deserialize(bodyIterable, deserializer);
+ }
+ serialize(input, serializer) {
+ return Readable5.from(this.universalMarshaller.serialize(input, serializer));
+ }
+ };
+ eventStreamSerdeProvider2 = /* @__PURE__ */ __name((options) => new EventStreamMarshaller2(options), "eventStreamSerdeProvider");
+ __name(readableToIterable, "readableToIterable");
+ }
+});
+
+// ../../node_modules/.pnpm/@smithy+core@3.36.1/node_modules/@smithy/core/dist-es/submodules/event-streams/eventstream-serde/utils.js
+var readableStreamToIterable, iterableToReadableStream;
+var init_utils2 = __esm({
+ "../../node_modules/.pnpm/@smithy+core@3.36.1/node_modules/@smithy/core/dist-es/submodules/event-streams/eventstream-serde/utils.js"() {
+ readableStreamToIterable = /* @__PURE__ */ __name((readableStream) => ({
+ [Symbol.asyncIterator]: async function* () {
+ const reader = readableStream.getReader();
+ try {
+ while (true) {
+ const { done, value } = await reader.read();
+ if (done)
+ return;
+ yield value;
+ }
+ } finally {
+ reader.releaseLock();
+ }
+ }
+ }), "readableStreamToIterable");
+ iterableToReadableStream = /* @__PURE__ */ __name((asyncIterable) => {
+ const iterator = asyncIterable[Symbol.asyncIterator]();
+ return new ReadableStream({
+ async pull(controller) {
+ const { done, value } = await iterator.next();
+ if (done) {
+ return controller.close();
+ }
+ controller.enqueue(value);
+ }
+ });
+ }, "iterableToReadableStream");
+ }
+});
+
+// ../../node_modules/.pnpm/@smithy+core@3.36.1/node_modules/@smithy/core/dist-es/submodules/event-streams/eventstream-serde-config-resolver/EventStreamSerdeConfig.js
+var resolveEventStreamSerdeConfig;
+var init_EventStreamSerdeConfig = __esm({
+ "../../node_modules/.pnpm/@smithy+core@3.36.1/node_modules/@smithy/core/dist-es/submodules/event-streams/eventstream-serde-config-resolver/EventStreamSerdeConfig.js"() {
+ resolveEventStreamSerdeConfig = /* @__PURE__ */ __name((input) => Object.assign(input, {
+ eventStreamMarshaller: input.eventStreamSerdeProvider(input)
+ }), "resolveEventStreamSerdeConfig");
+ }
+});
+
+// ../../node_modules/.pnpm/@smithy+core@3.36.1/node_modules/@smithy/core/dist-es/submodules/event-streams/EventStreamSerde.js
+var EventStreamSerde;
+var init_EventStreamSerde = __esm({
+ "../../node_modules/.pnpm/@smithy+core@3.36.1/node_modules/@smithy/core/dist-es/submodules/event-streams/EventStreamSerde.js"() {
+ init_transport();
+ init_schema();
+ init_serde();
+ EventStreamSerde = class {
+ static {
+ __name(this, "EventStreamSerde");
+ }
+ marshaller;
+ serializer;
+ deserializer;
+ serdeContext;
+ defaultContentType;
+ compositeErrorRegistry;
+ constructor({ marshaller, serializer, deserializer, serdeContext, defaultContentType, compositeErrorRegistry }) {
+ this.marshaller = marshaller;
+ this.serializer = serializer;
+ this.deserializer = deserializer;
+ this.serdeContext = serdeContext;
+ this.defaultContentType = defaultContentType;
+ this.compositeErrorRegistry = compositeErrorRegistry;
+ }
+ async serializeEventStream({ eventStream, requestSchema, initialRequest, initialMessageType }) {
+ const marshaller = this.marshaller;
+ const eventStreamMember = requestSchema.getEventStreamMember();
+ const unionSchema = requestSchema.getMemberSchema(eventStreamMember);
+ const serializer = this.serializer;
+ const defaultContentType = this.defaultContentType;
+ const initialRequestMarker = /* @__PURE__ */ Symbol("initialRequestMarker");
+ const eventStreamIterable = {
+ async *[Symbol.asyncIterator]() {
+ if (initialRequest) {
+ const headers = {
+ ":event-type": { type: "string", value: initialMessageType ?? "initial-request" },
+ ":message-type": { type: "string", value: "event" },
+ ":content-type": { type: "string", value: defaultContentType }
+ };
+ serializer.write(requestSchema, initialRequest);
+ const body = serializer.flush();
+ yield {
+ [initialRequestMarker]: true,
+ headers,
+ body
+ };
+ }
+ for await (const page of eventStream) {
+ yield page;
+ }
+ }
+ };
+ return marshaller.serialize(eventStreamIterable, (event) => {
+ if (event[initialRequestMarker]) {
+ return {
+ headers: event.headers,
+ body: event.body
+ };
+ }
+ let unionMember = "";
+ for (const key in event) {
+ if (!hasOwn(event, key))
+ continue;
+ if (key !== "__type") {
+ unionMember = key;
+ break;
+ }
+ }
+ const { additionalHeaders, body, eventType, explicitPayloadContentType } = this.writeEventBody(unionMember, unionSchema, event);
+ const headers = {
+ ":event-type": { type: "string", value: eventType },
+ ":message-type": { type: "string", value: "event" },
+ ":content-type": { type: "string", value: explicitPayloadContentType ?? defaultContentType },
+ ...additionalHeaders
+ };
+ return {
+ headers,
+ body
+ };
+ });
+ }
+ async deserializeEventStream({ response, responseSchema, initialResponseContainer, initialMessageType }) {
+ const marshaller = this.marshaller;
+ const eventStreamMember = responseSchema.getEventStreamMember();
+ const unionSchema = responseSchema.getMemberSchema(eventStreamMember);
+ const memberSchemas = unionSchema.getMemberSchemas();
+ const initialResponseMarker = /* @__PURE__ */ Symbol("initialResponseMarker");
+ const asyncIterable = marshaller.deserialize(response.body, async (event) => {
+ let unionMember = "";
+ for (const key in event) {
+ if (!hasOwn(event, key))
+ continue;
+ if (key !== "__type") {
+ unionMember = key;
+ break;
+ }
+ }
+ const body = event[unionMember].body;
+ if (unionMember === (initialMessageType ?? "initial-response")) {
+ const dataObject = await this.deserializer.read(responseSchema, body);
+ delete dataObject[eventStreamMember];
+ return {
+ [initialResponseMarker]: true,
+ ...dataObject
+ };
+ } else if (unionMember in memberSchemas) {
+ const eventStreamSchema = memberSchemas[unionMember];
+ if (eventStreamSchema.isStructSchema()) {
+ const out = {};
+ let hasBindings = false;
+ for (const [name, member2] of eventStreamSchema.structIterator()) {
+ const { eventHeader, eventPayload } = member2.getMergedTraits();
+ hasBindings = hasBindings || Boolean(eventHeader || eventPayload);
+ if (eventPayload) {
+ if (member2.isBlobSchema()) {
+ out[name] = body;
+ } else if (member2.isStringSchema()) {
+ out[name] = (this.serdeContext?.utf8Encoder ?? toUtf8)(body);
+ } else if (member2.isStructSchema()) {
+ out[name] = await this.deserializer.read(member2, body);
+ }
+ } else if (eventHeader) {
+ const value = event[unionMember].headers[name]?.value;
+ if (value != null) {
+ if (member2.isNumericSchema()) {
+ if (value && typeof value === "object" && "bytes" in value) {
+ out[name] = BigInt(value.toString());
+ } else {
+ out[name] = Number(value);
+ }
+ } else {
+ out[name] = value;
+ }
+ }
+ }
+ }
+ return {
+ [unionMember]: await this.readEventMember(eventStreamSchema, body, hasBindings, out)
+ };
+ }
+ return {
+ [unionMember]: await this.deserializer.read(eventStreamSchema, body)
+ };
+ } else {
+ return {
+ $unknown: event
+ };
+ }
+ });
+ const asyncIterator = asyncIterable[Symbol.asyncIterator]();
+ const firstEvent = await asyncIterator.next();
+ if (firstEvent.done) {
+ return asyncIterable;
+ }
+ if (firstEvent.value?.[initialResponseMarker]) {
+ if (!responseSchema) {
+ throw new Error("@smithy::core/protocols - initial-response event encountered in event stream but no response schema given.");
+ }
+ for (const key in firstEvent.value) {
+ if (!hasOwn(firstEvent.value, key))
+ continue;
+ initialResponseContainer[key] = firstEvent.value[key];
+ }
+ }
+ return {
+ async *[Symbol.asyncIterator]() {
+ if (!firstEvent?.value?.[initialResponseMarker]) {
+ yield firstEvent.value;
+ }
+ while (true) {
+ const { done, value } = await asyncIterator.next();
+ if (done) {
+ break;
+ }
+ yield value;
+ }
+ }
+ };
+ }
+ async readEventMember(eventStreamSchema, body, hasBindings, out) {
+ let ErrCtor;
+ const staticStructuralSchema = eventStreamSchema.getSchema();
+ if (Array.isArray(staticStructuralSchema) && staticStructuralSchema[0] === -3) {
+ const namespace = staticStructuralSchema[1];
+ const nsRegistry = TypeRegistry.for(namespace);
+ this.compositeErrorRegistry?.copyFrom(nsRegistry);
+ ErrCtor = (this.compositeErrorRegistry ?? nsRegistry)?.getErrorCtor(staticStructuralSchema);
+ }
+ const dataObject = hasBindings ? out : body.byteLength === 0 ? {} : await this.deserializer.read(eventStreamSchema, body);
+ if (ErrCtor) {
+ const message = dataObject.message ?? dataObject.Message ?? "Unknown";
+ const metadata = {};
+ const $fault = eventStreamSchema.getMergedTraits().error;
+ if ($fault) {
+ metadata.$fault = $fault;
+ }
+ return Object.assign(new ErrCtor({}), metadata, {
+ message
+ }, dataObject);
+ }
+ return dataObject;
+ }
+ writeEventBody(unionMember, unionSchema, event) {
+ const serializer = this.serializer;
+ let eventType = unionMember;
+ let explicitPayloadMember = null;
+ let explicitPayloadContentType;
+ const isKnownSchema = (() => {
+ const struct2 = unionSchema.getSchema();
+ return struct2[4].includes(unionMember);
+ })();
+ const additionalHeaders = {};
+ if (!isKnownSchema) {
+ const [type, value] = event[unionMember];
+ eventType = type;
+ serializer.write(15, value);
+ } else {
+ const eventSchema = unionSchema.getMemberSchema(unionMember);
+ if (eventSchema.isStructSchema()) {
+ for (const [memberName, memberSchema] of eventSchema.structIterator()) {
+ const { eventHeader, eventPayload } = memberSchema.getMergedTraits();
+ if (eventPayload) {
+ explicitPayloadMember = memberName;
+ } else if (eventHeader) {
+ const value = event[unionMember][memberName];
+ let type = "binary";
+ if (memberSchema.isNumericSchema()) {
+ if ((-2) ** 31 <= value && value <= 2 ** 31 - 1) {
+ type = "integer";
+ } else {
+ type = "long";
+ }
+ } else if (memberSchema.isTimestampSchema()) {
+ type = "timestamp";
+ } else if (memberSchema.isStringSchema()) {
+ type = "string";
+ } else if (memberSchema.isBooleanSchema()) {
+ type = "boolean";
+ }
+ if (value != null) {
+ additionalHeaders[memberName] = {
+ type,
+ value
+ };
+ delete event[unionMember][memberName];
+ }
+ }
+ }
+ if (explicitPayloadMember !== null) {
+ const payloadSchema = eventSchema.getMemberSchema(explicitPayloadMember);
+ if (payloadSchema.isBlobSchema()) {
+ explicitPayloadContentType = "application/octet-stream";
+ } else if (payloadSchema.isStringSchema()) {
+ explicitPayloadContentType = "text/plain";
+ }
+ serializer.write(payloadSchema, event[unionMember][explicitPayloadMember]);
+ } else {
+ serializer.write(eventSchema, event[unionMember]);
+ }
+ } else if (eventSchema.isUnitSchema()) {
+ serializer.write(eventSchema, {});
+ } else {
+ throw new Error("@smithy/core/event-streams - non-struct member not supported in event stream union.");
+ }
+ }
+ const messageSerialization = serializer.flush() ?? new Uint8Array();
+ const body = typeof messageSerialization === "string" ? (this.serdeContext?.utf8Decoder ?? fromUtf8)(messageSerialization) : messageSerialization;
+ return {
+ body,
+ eventType,
+ explicitPayloadContentType,
+ additionalHeaders
+ };
+ }
+ };
+ }
+});
+
+// ../../node_modules/.pnpm/@smithy+core@3.36.1/node_modules/@smithy/core/dist-es/submodules/event-streams/index.js
+var event_streams_exports = {};
+__export(event_streams_exports, {
+ EventStreamCodec: () => EventStreamCodec,
+ EventStreamMarshaller: () => EventStreamMarshaller2,
+ EventStreamSerde: () => EventStreamSerde,
+ HeaderMarshaller: () => HeaderMarshaller,
+ Int64: () => Int64,
+ MessageDecoderStream: () => MessageDecoderStream,
+ MessageEncoderStream: () => MessageEncoderStream,
+ SmithyMessageDecoderStream: () => SmithyMessageDecoderStream,
+ SmithyMessageEncoderStream: () => SmithyMessageEncoderStream,
+ UniversalEventStreamMarshaller: () => EventStreamMarshaller,
+ eventStreamSerdeProvider: () => eventStreamSerdeProvider2,
+ getChunkedStream: () => getChunkedStream,
+ getMessageUnmarshaller: () => getMessageUnmarshaller,
+ getUnmarshalledStream: () => getUnmarshalledStream,
+ iterableToReadableStream: () => iterableToReadableStream,
+ readableStreamToIterable: () => readableStreamToIterable,
+ resolveEventStreamSerdeConfig: () => resolveEventStreamSerdeConfig,
+ universalEventStreamSerdeProvider: () => eventStreamSerdeProvider
+});
+var init_event_streams = __esm({
+ "../../node_modules/.pnpm/@smithy+core@3.36.1/node_modules/@smithy/core/dist-es/submodules/event-streams/index.js"() {
+ init_EventStreamCodec();
+ init_HeaderMarshaller();
+ init_Int64();
+ init_MessageDecoderStream();
+ init_MessageEncoderStream();
+ init_SmithyMessageDecoderStream();
+ init_SmithyMessageEncoderStream();
+ init_EventStreamMarshaller2();
+ init_utils2();
+ init_EventStreamMarshaller();
+ init_getChunkedStream();
+ init_getUnmarshalledStream();
+ init_EventStreamSerdeConfig();
+ init_EventStreamSerde();
+ }
+});
+
+export {
+ require_dist_cjs,
+ getSmithyContext,
+ hasOwn,
+ HttpRequest,
+ HttpResponse,
+ isValidHostLabel,
+ isValidHostname,
+ normalizeProvider,
+ parseQueryString,
+ parseUrl,
+ init_transport,
+ Client,
+ deref,
+ getSchemaSerdePlugin,
+ translateTraits,
+ NormalizedSchema,
+ TypeRegistry,
+ schema_exports,
+ init_schema,
+ Command,
+ createAggregatedClient,
+ ServiceException,
+ decorateServiceException,
+ loadConfigsForDefaultMode,
+ emitWarningIfUnsupportedVersion,
+ getDefaultExtensionConfiguration,
+ resolveDefaultRuntimeConfig,
+ getValueFromTextNode,
+ NoOpLogger,
+ makeBuilder,
+ client_exports,
+ init_client2 as init_client,
+ isArrayBuffer,
+ fromBase64,
+ fromUtf8,
+ toBase64,
+ toUtf8,
+ dateToUtcString,
+ parseRfc3339DateTimeWithOffset,
+ parseRfc7231DateTime,
+ parseEpochTimestamp,
+ LazyJsonString,
+ quoteHeader,
+ _parseEpochTimestamp,
+ _parseRfc3339DateTimeWithOffset,
+ _parseRfc7231DateTime,
+ splitEvery,
+ splitHeader,
+ NumericValue,
+ calculateBodyLength,
+ toUint8Array,
+ concatBytes,
+ ProviderError,
+ booleanSelector,
+ SelectorType,
+ loadConfig,
+ NODE_USE_DUALSTACK_ENDPOINT_CONFIG_OPTIONS,
+ NODE_USE_FIPS_ENDPOINT_CONFIG_OPTIONS,
+ REGION_ENV_NAME,
+ REGION_INI_NAME,
+ NODE_REGION_CONFIG_OPTIONS,
+ NODE_REGION_CONFIG_FILE_OPTIONS,
+ resolveRegionConfig,
+ resolveDefaultsModeConfig,
+ config_exports,
+ init_config2 as init_config,
+ resolveParams,
+ BinaryDecisionDiagram,
+ EndpointCache,
+ EndpointError,
+ customEndpointFunctions,
+ isIpAddress,
+ decideEndpoint,
+ resolveEndpoint,
+ resolveEndpointConfig,
+ getEndpointPlugin,
+ endpoints_exports,
+ init_endpoints,
+ createChecksumStream2 as createChecksumStream,
+ createBufferedReadable,
+ sdkStreamMixin2 as sdkStreamMixin,
+ Uint8ArrayBlobAdapter,
+ v4,
+ generateIdempotencyToken,
+ serde_exports,
+ init_serde,
+ Crc32Node,
+ Sha256Js,
+ Sha256Node,
+ checksum_exports,
+ init_checksum2 as init_checksum,
+ Int64,
+ HeaderMarshaller,
+ EventStreamCodec,
+ MessageDecoderStream,
+ MessageEncoderStream,
+ SmithyMessageDecoderStream,
+ SmithyMessageEncoderStream,
+ getChunkedStream,
+ getUnmarshalledStream,
+ getMessageUnmarshaller,
+ EventStreamMarshaller,
+ eventStreamSerdeProvider,
+ EventStreamMarshaller2,
+ eventStreamSerdeProvider2,
+ readableStreamToIterable,
+ iterableToReadableStream,
+ resolveEventStreamSerdeConfig,
+ EventStreamSerde,
+ event_streams_exports,
+ init_event_streams
+};
diff --git a/apps/api/.output/dist/chunks/chunk-A34KYKJP.js b/apps/api/.output/dist/chunks/chunk-A34KYKJP.js
new file mode 100644
index 0000000..459cff8
--- /dev/null
+++ b/apps/api/.output/dist/chunks/chunk-A34KYKJP.js
@@ -0,0 +1,129 @@
+import { createRequire as __bundleCreateRequire } from "node:module"; const require = __bundleCreateRequire(import.meta.url);
+import {
+ __commonJS,
+ __name
+} from "./chunk-T6GW54FI.js";
+
+// ../../node_modules/.pnpm/ms@2.1.3/node_modules/ms/index.js
+var require_ms = __commonJS({
+ "../../node_modules/.pnpm/ms@2.1.3/node_modules/ms/index.js"(exports, module) {
+ var s = 1e3;
+ var m = s * 60;
+ var h = m * 60;
+ var d = h * 24;
+ var w = d * 7;
+ var y = d * 365.25;
+ module.exports = function(val, options) {
+ options = options || {};
+ var type = typeof val;
+ if (type === "string" && val.length > 0) {
+ return parse(val);
+ } else if (type === "number" && isFinite(val)) {
+ return options.long ? fmtLong(val) : fmtShort(val);
+ }
+ throw new Error(
+ "val is not a non-empty string or a valid number. val=" + JSON.stringify(val)
+ );
+ };
+ function parse(str) {
+ str = String(str);
+ if (str.length > 100) {
+ return;
+ }
+ var match = /^(-?(?:\d+)?\.?\d+) *(milliseconds?|msecs?|ms|seconds?|secs?|s|minutes?|mins?|m|hours?|hrs?|h|days?|d|weeks?|w|years?|yrs?|y)?$/i.exec(
+ str
+ );
+ if (!match) {
+ return;
+ }
+ var n = parseFloat(match[1]);
+ var type = (match[2] || "ms").toLowerCase();
+ switch (type) {
+ case "years":
+ case "year":
+ case "yrs":
+ case "yr":
+ case "y":
+ return n * y;
+ case "weeks":
+ case "week":
+ case "w":
+ return n * w;
+ case "days":
+ case "day":
+ case "d":
+ return n * d;
+ case "hours":
+ case "hour":
+ case "hrs":
+ case "hr":
+ case "h":
+ return n * h;
+ case "minutes":
+ case "minute":
+ case "mins":
+ case "min":
+ case "m":
+ return n * m;
+ case "seconds":
+ case "second":
+ case "secs":
+ case "sec":
+ case "s":
+ return n * s;
+ case "milliseconds":
+ case "millisecond":
+ case "msecs":
+ case "msec":
+ case "ms":
+ return n;
+ default:
+ return void 0;
+ }
+ }
+ __name(parse, "parse");
+ function fmtShort(ms) {
+ var msAbs = Math.abs(ms);
+ if (msAbs >= d) {
+ return Math.round(ms / d) + "d";
+ }
+ if (msAbs >= h) {
+ return Math.round(ms / h) + "h";
+ }
+ if (msAbs >= m) {
+ return Math.round(ms / m) + "m";
+ }
+ if (msAbs >= s) {
+ return Math.round(ms / s) + "s";
+ }
+ return ms + "ms";
+ }
+ __name(fmtShort, "fmtShort");
+ function fmtLong(ms) {
+ var msAbs = Math.abs(ms);
+ if (msAbs >= d) {
+ return plural(ms, msAbs, d, "day");
+ }
+ if (msAbs >= h) {
+ return plural(ms, msAbs, h, "hour");
+ }
+ if (msAbs >= m) {
+ return plural(ms, msAbs, m, "minute");
+ }
+ if (msAbs >= s) {
+ return plural(ms, msAbs, s, "second");
+ }
+ return ms + " ms";
+ }
+ __name(fmtLong, "fmtLong");
+ function plural(ms, msAbs, n, name) {
+ var isPlural = msAbs >= n * 1.5;
+ return Math.round(ms / n) + " " + name + (isPlural ? "s" : "");
+ }
+ __name(plural, "plural");
+ }
+});
+
+export {
+ require_ms
+};
diff --git a/apps/api/.output/dist/chunks/chunk-BX2ML7LW.js b/apps/api/.output/dist/chunks/chunk-BX2ML7LW.js
new file mode 100644
index 0000000..27f2858
--- /dev/null
+++ b/apps/api/.output/dist/chunks/chunk-BX2ML7LW.js
@@ -0,0 +1,15727 @@
+import { createRequire as __bundleCreateRequire } from "node:module"; const require = __bundleCreateRequire(import.meta.url);
+import {
+ __commonJS,
+ __esm,
+ __export,
+ __name,
+ __toESM
+} from "./chunk-T6GW54FI.js";
+
+// ../../node_modules/.pnpm/reflect-metadata@0.2.2/node_modules/reflect-metadata/Reflect.js
+var require_Reflect = __commonJS({
+ "../../node_modules/.pnpm/reflect-metadata@0.2.2/node_modules/reflect-metadata/Reflect.js"() {
+ var Reflect2;
+ (function(Reflect3) {
+ (function(factory) {
+ var root = typeof globalThis === "object" ? globalThis : typeof global === "object" ? global : typeof self === "object" ? self : typeof this === "object" ? this : sloppyModeThis();
+ var exporter = makeExporter(Reflect3);
+ if (typeof root.Reflect !== "undefined") {
+ exporter = makeExporter(root.Reflect, exporter);
+ }
+ factory(exporter, root);
+ if (typeof root.Reflect === "undefined") {
+ root.Reflect = Reflect3;
+ }
+ function makeExporter(target, previous) {
+ return function(key, value) {
+ Object.defineProperty(target, key, { configurable: true, writable: true, value });
+ if (previous)
+ previous(key, value);
+ };
+ }
+ __name(makeExporter, "makeExporter");
+ function functionThis() {
+ try {
+ return Function("return this;")();
+ } catch (_) {
+ }
+ }
+ __name(functionThis, "functionThis");
+ function indirectEvalThis() {
+ try {
+ return (void 0, eval)("(function() { return this; })()");
+ } catch (_) {
+ }
+ }
+ __name(indirectEvalThis, "indirectEvalThis");
+ function sloppyModeThis() {
+ return functionThis() || indirectEvalThis();
+ }
+ __name(sloppyModeThis, "sloppyModeThis");
+ })(function(exporter, root) {
+ var hasOwn = Object.prototype.hasOwnProperty;
+ var supportsSymbol = typeof Symbol === "function";
+ var toPrimitiveSymbol = supportsSymbol && typeof Symbol.toPrimitive !== "undefined" ? Symbol.toPrimitive : "@@toPrimitive";
+ var iteratorSymbol = supportsSymbol && typeof Symbol.iterator !== "undefined" ? Symbol.iterator : "@@iterator";
+ var supportsCreate = typeof Object.create === "function";
+ var supportsProto = { __proto__: [] } instanceof Array;
+ var downLevel = !supportsCreate && !supportsProto;
+ var HashMap = {
+ // create an object in dictionary mode (a.k.a. "slow" mode in v8)
+ create: supportsCreate ? function() {
+ return MakeDictionary(/* @__PURE__ */ Object.create(null));
+ } : supportsProto ? function() {
+ return MakeDictionary({ __proto__: null });
+ } : function() {
+ return MakeDictionary({});
+ },
+ has: downLevel ? function(map2, key) {
+ return hasOwn.call(map2, key);
+ } : function(map2, key) {
+ return key in map2;
+ },
+ get: downLevel ? function(map2, key) {
+ return hasOwn.call(map2, key) ? map2[key] : void 0;
+ } : function(map2, key) {
+ return map2[key];
+ }
+ };
+ var functionPrototype = Object.getPrototypeOf(Function);
+ var _Map = typeof Map === "function" && typeof Map.prototype.entries === "function" ? Map : CreateMapPolyfill();
+ var _Set = typeof Set === "function" && typeof Set.prototype.entries === "function" ? Set : CreateSetPolyfill();
+ var _WeakMap = typeof WeakMap === "function" ? WeakMap : CreateWeakMapPolyfill();
+ var registrySymbol = supportsSymbol ? /* @__PURE__ */ Symbol.for("@reflect-metadata:registry") : void 0;
+ var metadataRegistry = GetOrCreateMetadataRegistry();
+ var metadataProvider = CreateMetadataProvider(metadataRegistry);
+ function decorate(decorators, target, propertyKey, attributes) {
+ if (!IsUndefined(propertyKey)) {
+ if (!IsArray(decorators))
+ throw new TypeError();
+ if (!IsObject(target))
+ throw new TypeError();
+ if (!IsObject(attributes) && !IsUndefined(attributes) && !IsNull(attributes))
+ throw new TypeError();
+ if (IsNull(attributes))
+ attributes = void 0;
+ propertyKey = ToPropertyKey(propertyKey);
+ return DecorateProperty(decorators, target, propertyKey, attributes);
+ } else {
+ if (!IsArray(decorators))
+ throw new TypeError();
+ if (!IsConstructor(target))
+ throw new TypeError();
+ return DecorateConstructor(decorators, target);
+ }
+ }
+ __name(decorate, "decorate");
+ exporter("decorate", decorate);
+ function metadata(metadataKey, metadataValue) {
+ function decorator(target, propertyKey) {
+ if (!IsObject(target))
+ throw new TypeError();
+ if (!IsUndefined(propertyKey) && !IsPropertyKey(propertyKey))
+ throw new TypeError();
+ OrdinaryDefineOwnMetadata(metadataKey, metadataValue, target, propertyKey);
+ }
+ __name(decorator, "decorator");
+ return decorator;
+ }
+ __name(metadata, "metadata");
+ exporter("metadata", metadata);
+ function defineMetadata(metadataKey, metadataValue, target, propertyKey) {
+ if (!IsObject(target))
+ throw new TypeError();
+ if (!IsUndefined(propertyKey))
+ propertyKey = ToPropertyKey(propertyKey);
+ return OrdinaryDefineOwnMetadata(metadataKey, metadataValue, target, propertyKey);
+ }
+ __name(defineMetadata, "defineMetadata");
+ exporter("defineMetadata", defineMetadata);
+ function hasMetadata(metadataKey, target, propertyKey) {
+ if (!IsObject(target))
+ throw new TypeError();
+ if (!IsUndefined(propertyKey))
+ propertyKey = ToPropertyKey(propertyKey);
+ return OrdinaryHasMetadata(metadataKey, target, propertyKey);
+ }
+ __name(hasMetadata, "hasMetadata");
+ exporter("hasMetadata", hasMetadata);
+ function hasOwnMetadata(metadataKey, target, propertyKey) {
+ if (!IsObject(target))
+ throw new TypeError();
+ if (!IsUndefined(propertyKey))
+ propertyKey = ToPropertyKey(propertyKey);
+ return OrdinaryHasOwnMetadata(metadataKey, target, propertyKey);
+ }
+ __name(hasOwnMetadata, "hasOwnMetadata");
+ exporter("hasOwnMetadata", hasOwnMetadata);
+ function getMetadata(metadataKey, target, propertyKey) {
+ if (!IsObject(target))
+ throw new TypeError();
+ if (!IsUndefined(propertyKey))
+ propertyKey = ToPropertyKey(propertyKey);
+ return OrdinaryGetMetadata(metadataKey, target, propertyKey);
+ }
+ __name(getMetadata, "getMetadata");
+ exporter("getMetadata", getMetadata);
+ function getOwnMetadata(metadataKey, target, propertyKey) {
+ if (!IsObject(target))
+ throw new TypeError();
+ if (!IsUndefined(propertyKey))
+ propertyKey = ToPropertyKey(propertyKey);
+ return OrdinaryGetOwnMetadata(metadataKey, target, propertyKey);
+ }
+ __name(getOwnMetadata, "getOwnMetadata");
+ exporter("getOwnMetadata", getOwnMetadata);
+ function getMetadataKeys(target, propertyKey) {
+ if (!IsObject(target))
+ throw new TypeError();
+ if (!IsUndefined(propertyKey))
+ propertyKey = ToPropertyKey(propertyKey);
+ return OrdinaryMetadataKeys(target, propertyKey);
+ }
+ __name(getMetadataKeys, "getMetadataKeys");
+ exporter("getMetadataKeys", getMetadataKeys);
+ function getOwnMetadataKeys(target, propertyKey) {
+ if (!IsObject(target))
+ throw new TypeError();
+ if (!IsUndefined(propertyKey))
+ propertyKey = ToPropertyKey(propertyKey);
+ return OrdinaryOwnMetadataKeys(target, propertyKey);
+ }
+ __name(getOwnMetadataKeys, "getOwnMetadataKeys");
+ exporter("getOwnMetadataKeys", getOwnMetadataKeys);
+ function deleteMetadata(metadataKey, target, propertyKey) {
+ if (!IsObject(target))
+ throw new TypeError();
+ if (!IsUndefined(propertyKey))
+ propertyKey = ToPropertyKey(propertyKey);
+ if (!IsObject(target))
+ throw new TypeError();
+ if (!IsUndefined(propertyKey))
+ propertyKey = ToPropertyKey(propertyKey);
+ var provider = GetMetadataProvider(
+ target,
+ propertyKey,
+ /*Create*/
+ false
+ );
+ if (IsUndefined(provider))
+ return false;
+ return provider.OrdinaryDeleteMetadata(metadataKey, target, propertyKey);
+ }
+ __name(deleteMetadata, "deleteMetadata");
+ exporter("deleteMetadata", deleteMetadata);
+ function DecorateConstructor(decorators, target) {
+ for (var i = decorators.length - 1; i >= 0; --i) {
+ var decorator = decorators[i];
+ var decorated = decorator(target);
+ if (!IsUndefined(decorated) && !IsNull(decorated)) {
+ if (!IsConstructor(decorated))
+ throw new TypeError();
+ target = decorated;
+ }
+ }
+ return target;
+ }
+ __name(DecorateConstructor, "DecorateConstructor");
+ function DecorateProperty(decorators, target, propertyKey, descriptor) {
+ for (var i = decorators.length - 1; i >= 0; --i) {
+ var decorator = decorators[i];
+ var decorated = decorator(target, propertyKey, descriptor);
+ if (!IsUndefined(decorated) && !IsNull(decorated)) {
+ if (!IsObject(decorated))
+ throw new TypeError();
+ descriptor = decorated;
+ }
+ }
+ return descriptor;
+ }
+ __name(DecorateProperty, "DecorateProperty");
+ function OrdinaryHasMetadata(MetadataKey, O, P) {
+ var hasOwn2 = OrdinaryHasOwnMetadata(MetadataKey, O, P);
+ if (hasOwn2)
+ return true;
+ var parent = OrdinaryGetPrototypeOf(O);
+ if (!IsNull(parent))
+ return OrdinaryHasMetadata(MetadataKey, parent, P);
+ return false;
+ }
+ __name(OrdinaryHasMetadata, "OrdinaryHasMetadata");
+ function OrdinaryHasOwnMetadata(MetadataKey, O, P) {
+ var provider = GetMetadataProvider(
+ O,
+ P,
+ /*Create*/
+ false
+ );
+ if (IsUndefined(provider))
+ return false;
+ return ToBoolean(provider.OrdinaryHasOwnMetadata(MetadataKey, O, P));
+ }
+ __name(OrdinaryHasOwnMetadata, "OrdinaryHasOwnMetadata");
+ function OrdinaryGetMetadata(MetadataKey, O, P) {
+ var hasOwn2 = OrdinaryHasOwnMetadata(MetadataKey, O, P);
+ if (hasOwn2)
+ return OrdinaryGetOwnMetadata(MetadataKey, O, P);
+ var parent = OrdinaryGetPrototypeOf(O);
+ if (!IsNull(parent))
+ return OrdinaryGetMetadata(MetadataKey, parent, P);
+ return void 0;
+ }
+ __name(OrdinaryGetMetadata, "OrdinaryGetMetadata");
+ function OrdinaryGetOwnMetadata(MetadataKey, O, P) {
+ var provider = GetMetadataProvider(
+ O,
+ P,
+ /*Create*/
+ false
+ );
+ if (IsUndefined(provider))
+ return;
+ return provider.OrdinaryGetOwnMetadata(MetadataKey, O, P);
+ }
+ __name(OrdinaryGetOwnMetadata, "OrdinaryGetOwnMetadata");
+ function OrdinaryDefineOwnMetadata(MetadataKey, MetadataValue, O, P) {
+ var provider = GetMetadataProvider(
+ O,
+ P,
+ /*Create*/
+ true
+ );
+ provider.OrdinaryDefineOwnMetadata(MetadataKey, MetadataValue, O, P);
+ }
+ __name(OrdinaryDefineOwnMetadata, "OrdinaryDefineOwnMetadata");
+ function OrdinaryMetadataKeys(O, P) {
+ var ownKeys = OrdinaryOwnMetadataKeys(O, P);
+ var parent = OrdinaryGetPrototypeOf(O);
+ if (parent === null)
+ return ownKeys;
+ var parentKeys = OrdinaryMetadataKeys(parent, P);
+ if (parentKeys.length <= 0)
+ return ownKeys;
+ if (ownKeys.length <= 0)
+ return parentKeys;
+ var set = new _Set();
+ var keys = [];
+ for (var _i = 0, ownKeys_1 = ownKeys; _i < ownKeys_1.length; _i++) {
+ var key = ownKeys_1[_i];
+ var hasKey = set.has(key);
+ if (!hasKey) {
+ set.add(key);
+ keys.push(key);
+ }
+ }
+ for (var _a = 0, parentKeys_1 = parentKeys; _a < parentKeys_1.length; _a++) {
+ var key = parentKeys_1[_a];
+ var hasKey = set.has(key);
+ if (!hasKey) {
+ set.add(key);
+ keys.push(key);
+ }
+ }
+ return keys;
+ }
+ __name(OrdinaryMetadataKeys, "OrdinaryMetadataKeys");
+ function OrdinaryOwnMetadataKeys(O, P) {
+ var provider = GetMetadataProvider(
+ O,
+ P,
+ /*create*/
+ false
+ );
+ if (!provider) {
+ return [];
+ }
+ return provider.OrdinaryOwnMetadataKeys(O, P);
+ }
+ __name(OrdinaryOwnMetadataKeys, "OrdinaryOwnMetadataKeys");
+ function Type(x) {
+ if (x === null)
+ return 1;
+ switch (typeof x) {
+ case "undefined":
+ return 0;
+ case "boolean":
+ return 2;
+ case "string":
+ return 3;
+ case "symbol":
+ return 4;
+ case "number":
+ return 5;
+ case "object":
+ return x === null ? 1 : 6;
+ default:
+ return 6;
+ }
+ }
+ __name(Type, "Type");
+ function IsUndefined(x) {
+ return x === void 0;
+ }
+ __name(IsUndefined, "IsUndefined");
+ function IsNull(x) {
+ return x === null;
+ }
+ __name(IsNull, "IsNull");
+ function IsSymbol(x) {
+ return typeof x === "symbol";
+ }
+ __name(IsSymbol, "IsSymbol");
+ function IsObject(x) {
+ return typeof x === "object" ? x !== null : typeof x === "function";
+ }
+ __name(IsObject, "IsObject");
+ function ToPrimitive(input, PreferredType) {
+ switch (Type(input)) {
+ case 0:
+ return input;
+ case 1:
+ return input;
+ case 2:
+ return input;
+ case 3:
+ return input;
+ case 4:
+ return input;
+ case 5:
+ return input;
+ }
+ var hint = PreferredType === 3 ? "string" : PreferredType === 5 ? "number" : "default";
+ var exoticToPrim = GetMethod(input, toPrimitiveSymbol);
+ if (exoticToPrim !== void 0) {
+ var result = exoticToPrim.call(input, hint);
+ if (IsObject(result))
+ throw new TypeError();
+ return result;
+ }
+ return OrdinaryToPrimitive(input, hint === "default" ? "number" : hint);
+ }
+ __name(ToPrimitive, "ToPrimitive");
+ function OrdinaryToPrimitive(O, hint) {
+ if (hint === "string") {
+ var toString_1 = O.toString;
+ if (IsCallable(toString_1)) {
+ var result = toString_1.call(O);
+ if (!IsObject(result))
+ return result;
+ }
+ var valueOf = O.valueOf;
+ if (IsCallable(valueOf)) {
+ var result = valueOf.call(O);
+ if (!IsObject(result))
+ return result;
+ }
+ } else {
+ var valueOf = O.valueOf;
+ if (IsCallable(valueOf)) {
+ var result = valueOf.call(O);
+ if (!IsObject(result))
+ return result;
+ }
+ var toString_2 = O.toString;
+ if (IsCallable(toString_2)) {
+ var result = toString_2.call(O);
+ if (!IsObject(result))
+ return result;
+ }
+ }
+ throw new TypeError();
+ }
+ __name(OrdinaryToPrimitive, "OrdinaryToPrimitive");
+ function ToBoolean(argument) {
+ return !!argument;
+ }
+ __name(ToBoolean, "ToBoolean");
+ function ToString(argument) {
+ return "" + argument;
+ }
+ __name(ToString, "ToString");
+ function ToPropertyKey(argument) {
+ var key = ToPrimitive(
+ argument,
+ 3
+ /* String */
+ );
+ if (IsSymbol(key))
+ return key;
+ return ToString(key);
+ }
+ __name(ToPropertyKey, "ToPropertyKey");
+ function IsArray(argument) {
+ return Array.isArray ? Array.isArray(argument) : argument instanceof Object ? argument instanceof Array : Object.prototype.toString.call(argument) === "[object Array]";
+ }
+ __name(IsArray, "IsArray");
+ function IsCallable(argument) {
+ return typeof argument === "function";
+ }
+ __name(IsCallable, "IsCallable");
+ function IsConstructor(argument) {
+ return typeof argument === "function";
+ }
+ __name(IsConstructor, "IsConstructor");
+ function IsPropertyKey(argument) {
+ switch (Type(argument)) {
+ case 3:
+ return true;
+ case 4:
+ return true;
+ default:
+ return false;
+ }
+ }
+ __name(IsPropertyKey, "IsPropertyKey");
+ function SameValueZero(x, y) {
+ return x === y || x !== x && y !== y;
+ }
+ __name(SameValueZero, "SameValueZero");
+ function GetMethod(V, P) {
+ var func = V[P];
+ if (func === void 0 || func === null)
+ return void 0;
+ if (!IsCallable(func))
+ throw new TypeError();
+ return func;
+ }
+ __name(GetMethod, "GetMethod");
+ function GetIterator(obj) {
+ var method = GetMethod(obj, iteratorSymbol);
+ if (!IsCallable(method))
+ throw new TypeError();
+ var iterator = method.call(obj);
+ if (!IsObject(iterator))
+ throw new TypeError();
+ return iterator;
+ }
+ __name(GetIterator, "GetIterator");
+ function IteratorValue(iterResult) {
+ return iterResult.value;
+ }
+ __name(IteratorValue, "IteratorValue");
+ function IteratorStep(iterator) {
+ var result = iterator.next();
+ return result.done ? false : result;
+ }
+ __name(IteratorStep, "IteratorStep");
+ function IteratorClose(iterator) {
+ var f = iterator["return"];
+ if (f)
+ f.call(iterator);
+ }
+ __name(IteratorClose, "IteratorClose");
+ function OrdinaryGetPrototypeOf(O) {
+ var proto = Object.getPrototypeOf(O);
+ if (typeof O !== "function" || O === functionPrototype)
+ return proto;
+ if (proto !== functionPrototype)
+ return proto;
+ var prototype = O.prototype;
+ var prototypeProto = prototype && Object.getPrototypeOf(prototype);
+ if (prototypeProto == null || prototypeProto === Object.prototype)
+ return proto;
+ var constructor = prototypeProto.constructor;
+ if (typeof constructor !== "function")
+ return proto;
+ if (constructor === O)
+ return proto;
+ return constructor;
+ }
+ __name(OrdinaryGetPrototypeOf, "OrdinaryGetPrototypeOf");
+ function CreateMetadataRegistry() {
+ var fallback;
+ if (!IsUndefined(registrySymbol) && typeof root.Reflect !== "undefined" && !(registrySymbol in root.Reflect) && typeof root.Reflect.defineMetadata === "function") {
+ fallback = CreateFallbackProvider(root.Reflect);
+ }
+ var first;
+ var second;
+ var rest;
+ var targetProviderMap = new _WeakMap();
+ var registry = {
+ registerProvider,
+ getProvider,
+ setProvider
+ };
+ return registry;
+ function registerProvider(provider) {
+ if (!Object.isExtensible(registry)) {
+ throw new Error("Cannot add provider to a frozen registry.");
+ }
+ switch (true) {
+ case fallback === provider:
+ break;
+ case IsUndefined(first):
+ first = provider;
+ break;
+ case first === provider:
+ break;
+ case IsUndefined(second):
+ second = provider;
+ break;
+ case second === provider:
+ break;
+ default:
+ if (rest === void 0)
+ rest = new _Set();
+ rest.add(provider);
+ break;
+ }
+ }
+ __name(registerProvider, "registerProvider");
+ function getProviderNoCache(O, P) {
+ if (!IsUndefined(first)) {
+ if (first.isProviderFor(O, P))
+ return first;
+ if (!IsUndefined(second)) {
+ if (second.isProviderFor(O, P))
+ return first;
+ if (!IsUndefined(rest)) {
+ var iterator = GetIterator(rest);
+ while (true) {
+ var next = IteratorStep(iterator);
+ if (!next) {
+ return void 0;
+ }
+ var provider = IteratorValue(next);
+ if (provider.isProviderFor(O, P)) {
+ IteratorClose(iterator);
+ return provider;
+ }
+ }
+ }
+ }
+ }
+ if (!IsUndefined(fallback) && fallback.isProviderFor(O, P)) {
+ return fallback;
+ }
+ return void 0;
+ }
+ __name(getProviderNoCache, "getProviderNoCache");
+ function getProvider(O, P) {
+ var providerMap = targetProviderMap.get(O);
+ var provider;
+ if (!IsUndefined(providerMap)) {
+ provider = providerMap.get(P);
+ }
+ if (!IsUndefined(provider)) {
+ return provider;
+ }
+ provider = getProviderNoCache(O, P);
+ if (!IsUndefined(provider)) {
+ if (IsUndefined(providerMap)) {
+ providerMap = new _Map();
+ targetProviderMap.set(O, providerMap);
+ }
+ providerMap.set(P, provider);
+ }
+ return provider;
+ }
+ __name(getProvider, "getProvider");
+ function hasProvider(provider) {
+ if (IsUndefined(provider))
+ throw new TypeError();
+ return first === provider || second === provider || !IsUndefined(rest) && rest.has(provider);
+ }
+ __name(hasProvider, "hasProvider");
+ function setProvider(O, P, provider) {
+ if (!hasProvider(provider)) {
+ throw new Error("Metadata provider not registered.");
+ }
+ var existingProvider = getProvider(O, P);
+ if (existingProvider !== provider) {
+ if (!IsUndefined(existingProvider)) {
+ return false;
+ }
+ var providerMap = targetProviderMap.get(O);
+ if (IsUndefined(providerMap)) {
+ providerMap = new _Map();
+ targetProviderMap.set(O, providerMap);
+ }
+ providerMap.set(P, provider);
+ }
+ return true;
+ }
+ __name(setProvider, "setProvider");
+ }
+ __name(CreateMetadataRegistry, "CreateMetadataRegistry");
+ function GetOrCreateMetadataRegistry() {
+ var metadataRegistry2;
+ if (!IsUndefined(registrySymbol) && IsObject(root.Reflect) && Object.isExtensible(root.Reflect)) {
+ metadataRegistry2 = root.Reflect[registrySymbol];
+ }
+ if (IsUndefined(metadataRegistry2)) {
+ metadataRegistry2 = CreateMetadataRegistry();
+ }
+ if (!IsUndefined(registrySymbol) && IsObject(root.Reflect) && Object.isExtensible(root.Reflect)) {
+ Object.defineProperty(root.Reflect, registrySymbol, {
+ enumerable: false,
+ configurable: false,
+ writable: false,
+ value: metadataRegistry2
+ });
+ }
+ return metadataRegistry2;
+ }
+ __name(GetOrCreateMetadataRegistry, "GetOrCreateMetadataRegistry");
+ function CreateMetadataProvider(registry) {
+ var metadata2 = new _WeakMap();
+ var provider = {
+ isProviderFor: /* @__PURE__ */ __name(function(O, P) {
+ var targetMetadata = metadata2.get(O);
+ if (IsUndefined(targetMetadata))
+ return false;
+ return targetMetadata.has(P);
+ }, "isProviderFor"),
+ OrdinaryDefineOwnMetadata: OrdinaryDefineOwnMetadata2,
+ OrdinaryHasOwnMetadata: OrdinaryHasOwnMetadata2,
+ OrdinaryGetOwnMetadata: OrdinaryGetOwnMetadata2,
+ OrdinaryOwnMetadataKeys: OrdinaryOwnMetadataKeys2,
+ OrdinaryDeleteMetadata
+ };
+ metadataRegistry.registerProvider(provider);
+ return provider;
+ function GetOrCreateMetadataMap(O, P, Create) {
+ var targetMetadata = metadata2.get(O);
+ var createdTargetMetadata = false;
+ if (IsUndefined(targetMetadata)) {
+ if (!Create)
+ return void 0;
+ targetMetadata = new _Map();
+ metadata2.set(O, targetMetadata);
+ createdTargetMetadata = true;
+ }
+ var metadataMap = targetMetadata.get(P);
+ if (IsUndefined(metadataMap)) {
+ if (!Create)
+ return void 0;
+ metadataMap = new _Map();
+ targetMetadata.set(P, metadataMap);
+ if (!registry.setProvider(O, P, provider)) {
+ targetMetadata.delete(P);
+ if (createdTargetMetadata) {
+ metadata2.delete(O);
+ }
+ throw new Error("Wrong provider for target.");
+ }
+ }
+ return metadataMap;
+ }
+ __name(GetOrCreateMetadataMap, "GetOrCreateMetadataMap");
+ function OrdinaryHasOwnMetadata2(MetadataKey, O, P) {
+ var metadataMap = GetOrCreateMetadataMap(
+ O,
+ P,
+ /*Create*/
+ false
+ );
+ if (IsUndefined(metadataMap))
+ return false;
+ return ToBoolean(metadataMap.has(MetadataKey));
+ }
+ __name(OrdinaryHasOwnMetadata2, "OrdinaryHasOwnMetadata");
+ function OrdinaryGetOwnMetadata2(MetadataKey, O, P) {
+ var metadataMap = GetOrCreateMetadataMap(
+ O,
+ P,
+ /*Create*/
+ false
+ );
+ if (IsUndefined(metadataMap))
+ return void 0;
+ return metadataMap.get(MetadataKey);
+ }
+ __name(OrdinaryGetOwnMetadata2, "OrdinaryGetOwnMetadata");
+ function OrdinaryDefineOwnMetadata2(MetadataKey, MetadataValue, O, P) {
+ var metadataMap = GetOrCreateMetadataMap(
+ O,
+ P,
+ /*Create*/
+ true
+ );
+ metadataMap.set(MetadataKey, MetadataValue);
+ }
+ __name(OrdinaryDefineOwnMetadata2, "OrdinaryDefineOwnMetadata");
+ function OrdinaryOwnMetadataKeys2(O, P) {
+ var keys = [];
+ var metadataMap = GetOrCreateMetadataMap(
+ O,
+ P,
+ /*Create*/
+ false
+ );
+ if (IsUndefined(metadataMap))
+ return keys;
+ var keysObj = metadataMap.keys();
+ var iterator = GetIterator(keysObj);
+ var k = 0;
+ while (true) {
+ var next = IteratorStep(iterator);
+ if (!next) {
+ keys.length = k;
+ return keys;
+ }
+ var nextValue = IteratorValue(next);
+ try {
+ keys[k] = nextValue;
+ } catch (e) {
+ try {
+ IteratorClose(iterator);
+ } finally {
+ throw e;
+ }
+ }
+ k++;
+ }
+ }
+ __name(OrdinaryOwnMetadataKeys2, "OrdinaryOwnMetadataKeys");
+ function OrdinaryDeleteMetadata(MetadataKey, O, P) {
+ var metadataMap = GetOrCreateMetadataMap(
+ O,
+ P,
+ /*Create*/
+ false
+ );
+ if (IsUndefined(metadataMap))
+ return false;
+ if (!metadataMap.delete(MetadataKey))
+ return false;
+ if (metadataMap.size === 0) {
+ var targetMetadata = metadata2.get(O);
+ if (!IsUndefined(targetMetadata)) {
+ targetMetadata.delete(P);
+ if (targetMetadata.size === 0) {
+ metadata2.delete(targetMetadata);
+ }
+ }
+ }
+ return true;
+ }
+ __name(OrdinaryDeleteMetadata, "OrdinaryDeleteMetadata");
+ }
+ __name(CreateMetadataProvider, "CreateMetadataProvider");
+ function CreateFallbackProvider(reflect) {
+ var defineMetadata2 = reflect.defineMetadata, hasOwnMetadata2 = reflect.hasOwnMetadata, getOwnMetadata2 = reflect.getOwnMetadata, getOwnMetadataKeys2 = reflect.getOwnMetadataKeys, deleteMetadata2 = reflect.deleteMetadata;
+ var metadataOwner = new _WeakMap();
+ var provider = {
+ isProviderFor: /* @__PURE__ */ __name(function(O, P) {
+ var metadataPropertySet = metadataOwner.get(O);
+ if (!IsUndefined(metadataPropertySet) && metadataPropertySet.has(P)) {
+ return true;
+ }
+ if (getOwnMetadataKeys2(O, P).length) {
+ if (IsUndefined(metadataPropertySet)) {
+ metadataPropertySet = new _Set();
+ metadataOwner.set(O, metadataPropertySet);
+ }
+ metadataPropertySet.add(P);
+ return true;
+ }
+ return false;
+ }, "isProviderFor"),
+ OrdinaryDefineOwnMetadata: defineMetadata2,
+ OrdinaryHasOwnMetadata: hasOwnMetadata2,
+ OrdinaryGetOwnMetadata: getOwnMetadata2,
+ OrdinaryOwnMetadataKeys: getOwnMetadataKeys2,
+ OrdinaryDeleteMetadata: deleteMetadata2
+ };
+ return provider;
+ }
+ __name(CreateFallbackProvider, "CreateFallbackProvider");
+ function GetMetadataProvider(O, P, Create) {
+ var registeredProvider = metadataRegistry.getProvider(O, P);
+ if (!IsUndefined(registeredProvider)) {
+ return registeredProvider;
+ }
+ if (Create) {
+ if (metadataRegistry.setProvider(O, P, metadataProvider)) {
+ return metadataProvider;
+ }
+ throw new Error("Illegal state.");
+ }
+ return void 0;
+ }
+ __name(GetMetadataProvider, "GetMetadataProvider");
+ function CreateMapPolyfill() {
+ var cacheSentinel = {};
+ var arraySentinel = [];
+ var MapIterator = (
+ /** @class */
+ (function() {
+ function MapIterator2(keys, values, selector) {
+ this._index = 0;
+ this._keys = keys;
+ this._values = values;
+ this._selector = selector;
+ }
+ __name(MapIterator2, "MapIterator");
+ MapIterator2.prototype["@@iterator"] = function() {
+ return this;
+ };
+ MapIterator2.prototype[iteratorSymbol] = function() {
+ return this;
+ };
+ MapIterator2.prototype.next = function() {
+ var index = this._index;
+ if (index >= 0 && index < this._keys.length) {
+ var result = this._selector(this._keys[index], this._values[index]);
+ if (index + 1 >= this._keys.length) {
+ this._index = -1;
+ this._keys = arraySentinel;
+ this._values = arraySentinel;
+ } else {
+ this._index++;
+ }
+ return { value: result, done: false };
+ }
+ return { value: void 0, done: true };
+ };
+ MapIterator2.prototype.throw = function(error) {
+ if (this._index >= 0) {
+ this._index = -1;
+ this._keys = arraySentinel;
+ this._values = arraySentinel;
+ }
+ throw error;
+ };
+ MapIterator2.prototype.return = function(value) {
+ if (this._index >= 0) {
+ this._index = -1;
+ this._keys = arraySentinel;
+ this._values = arraySentinel;
+ }
+ return { value, done: true };
+ };
+ return MapIterator2;
+ })()
+ );
+ var Map2 = (
+ /** @class */
+ (function() {
+ function Map3() {
+ this._keys = [];
+ this._values = [];
+ this._cacheKey = cacheSentinel;
+ this._cacheIndex = -2;
+ }
+ __name(Map3, "Map");
+ Object.defineProperty(Map3.prototype, "size", {
+ get: /* @__PURE__ */ __name(function() {
+ return this._keys.length;
+ }, "get"),
+ enumerable: true,
+ configurable: true
+ });
+ Map3.prototype.has = function(key) {
+ return this._find(
+ key,
+ /*insert*/
+ false
+ ) >= 0;
+ };
+ Map3.prototype.get = function(key) {
+ var index = this._find(
+ key,
+ /*insert*/
+ false
+ );
+ return index >= 0 ? this._values[index] : void 0;
+ };
+ Map3.prototype.set = function(key, value) {
+ var index = this._find(
+ key,
+ /*insert*/
+ true
+ );
+ this._values[index] = value;
+ return this;
+ };
+ Map3.prototype.delete = function(key) {
+ var index = this._find(
+ key,
+ /*insert*/
+ false
+ );
+ if (index >= 0) {
+ var size = this._keys.length;
+ for (var i = index + 1; i < size; i++) {
+ this._keys[i - 1] = this._keys[i];
+ this._values[i - 1] = this._values[i];
+ }
+ this._keys.length--;
+ this._values.length--;
+ if (SameValueZero(key, this._cacheKey)) {
+ this._cacheKey = cacheSentinel;
+ this._cacheIndex = -2;
+ }
+ return true;
+ }
+ return false;
+ };
+ Map3.prototype.clear = function() {
+ this._keys.length = 0;
+ this._values.length = 0;
+ this._cacheKey = cacheSentinel;
+ this._cacheIndex = -2;
+ };
+ Map3.prototype.keys = function() {
+ return new MapIterator(this._keys, this._values, getKey);
+ };
+ Map3.prototype.values = function() {
+ return new MapIterator(this._keys, this._values, getValue);
+ };
+ Map3.prototype.entries = function() {
+ return new MapIterator(this._keys, this._values, getEntry);
+ };
+ Map3.prototype["@@iterator"] = function() {
+ return this.entries();
+ };
+ Map3.prototype[iteratorSymbol] = function() {
+ return this.entries();
+ };
+ Map3.prototype._find = function(key, insert) {
+ if (!SameValueZero(this._cacheKey, key)) {
+ this._cacheIndex = -1;
+ for (var i = 0; i < this._keys.length; i++) {
+ if (SameValueZero(this._keys[i], key)) {
+ this._cacheIndex = i;
+ break;
+ }
+ }
+ }
+ if (this._cacheIndex < 0 && insert) {
+ this._cacheIndex = this._keys.length;
+ this._keys.push(key);
+ this._values.push(void 0);
+ }
+ return this._cacheIndex;
+ };
+ return Map3;
+ })()
+ );
+ return Map2;
+ function getKey(key, _) {
+ return key;
+ }
+ __name(getKey, "getKey");
+ function getValue(_, value) {
+ return value;
+ }
+ __name(getValue, "getValue");
+ function getEntry(key, value) {
+ return [key, value];
+ }
+ __name(getEntry, "getEntry");
+ }
+ __name(CreateMapPolyfill, "CreateMapPolyfill");
+ function CreateSetPolyfill() {
+ var Set2 = (
+ /** @class */
+ (function() {
+ function Set3() {
+ this._map = new _Map();
+ }
+ __name(Set3, "Set");
+ Object.defineProperty(Set3.prototype, "size", {
+ get: /* @__PURE__ */ __name(function() {
+ return this._map.size;
+ }, "get"),
+ enumerable: true,
+ configurable: true
+ });
+ Set3.prototype.has = function(value) {
+ return this._map.has(value);
+ };
+ Set3.prototype.add = function(value) {
+ return this._map.set(value, value), this;
+ };
+ Set3.prototype.delete = function(value) {
+ return this._map.delete(value);
+ };
+ Set3.prototype.clear = function() {
+ this._map.clear();
+ };
+ Set3.prototype.keys = function() {
+ return this._map.keys();
+ };
+ Set3.prototype.values = function() {
+ return this._map.keys();
+ };
+ Set3.prototype.entries = function() {
+ return this._map.entries();
+ };
+ Set3.prototype["@@iterator"] = function() {
+ return this.keys();
+ };
+ Set3.prototype[iteratorSymbol] = function() {
+ return this.keys();
+ };
+ return Set3;
+ })()
+ );
+ return Set2;
+ }
+ __name(CreateSetPolyfill, "CreateSetPolyfill");
+ function CreateWeakMapPolyfill() {
+ var UUID_SIZE = 16;
+ var keys = HashMap.create();
+ var rootKey = CreateUniqueKey();
+ return (
+ /** @class */
+ (function() {
+ function WeakMap2() {
+ this._key = CreateUniqueKey();
+ }
+ __name(WeakMap2, "WeakMap");
+ WeakMap2.prototype.has = function(target) {
+ var table = GetOrCreateWeakMapTable(
+ target,
+ /*create*/
+ false
+ );
+ return table !== void 0 ? HashMap.has(table, this._key) : false;
+ };
+ WeakMap2.prototype.get = function(target) {
+ var table = GetOrCreateWeakMapTable(
+ target,
+ /*create*/
+ false
+ );
+ return table !== void 0 ? HashMap.get(table, this._key) : void 0;
+ };
+ WeakMap2.prototype.set = function(target, value) {
+ var table = GetOrCreateWeakMapTable(
+ target,
+ /*create*/
+ true
+ );
+ table[this._key] = value;
+ return this;
+ };
+ WeakMap2.prototype.delete = function(target) {
+ var table = GetOrCreateWeakMapTable(
+ target,
+ /*create*/
+ false
+ );
+ return table !== void 0 ? delete table[this._key] : false;
+ };
+ WeakMap2.prototype.clear = function() {
+ this._key = CreateUniqueKey();
+ };
+ return WeakMap2;
+ })()
+ );
+ function CreateUniqueKey() {
+ var key;
+ do
+ key = "@@WeakMap@@" + CreateUUID();
+ while (HashMap.has(keys, key));
+ keys[key] = true;
+ return key;
+ }
+ __name(CreateUniqueKey, "CreateUniqueKey");
+ function GetOrCreateWeakMapTable(target, create) {
+ if (!hasOwn.call(target, rootKey)) {
+ if (!create)
+ return void 0;
+ Object.defineProperty(target, rootKey, { value: HashMap.create() });
+ }
+ return target[rootKey];
+ }
+ __name(GetOrCreateWeakMapTable, "GetOrCreateWeakMapTable");
+ function FillRandomBytes(buffer, size) {
+ for (var i = 0; i < size; ++i)
+ buffer[i] = Math.random() * 255 | 0;
+ return buffer;
+ }
+ __name(FillRandomBytes, "FillRandomBytes");
+ function GenRandomBytes(size) {
+ if (typeof Uint8Array === "function") {
+ var array = new Uint8Array(size);
+ if (typeof crypto !== "undefined") {
+ crypto.getRandomValues(array);
+ } else if (typeof msCrypto !== "undefined") {
+ msCrypto.getRandomValues(array);
+ } else {
+ FillRandomBytes(array, size);
+ }
+ return array;
+ }
+ return FillRandomBytes(new Array(size), size);
+ }
+ __name(GenRandomBytes, "GenRandomBytes");
+ function CreateUUID() {
+ var data = GenRandomBytes(UUID_SIZE);
+ data[6] = data[6] & 79 | 64;
+ data[8] = data[8] & 191 | 128;
+ var result = "";
+ for (var offset = 0; offset < UUID_SIZE; ++offset) {
+ var byte = data[offset];
+ if (offset === 4 || offset === 6 || offset === 8)
+ result += "-";
+ if (byte < 16)
+ result += "0";
+ result += byte.toString(16).toLowerCase();
+ }
+ return result;
+ }
+ __name(CreateUUID, "CreateUUID");
+ }
+ __name(CreateWeakMapPolyfill, "CreateWeakMapPolyfill");
+ function MakeDictionary(obj) {
+ obj.__ = void 0;
+ delete obj.__;
+ return obj;
+ }
+ __name(MakeDictionary, "MakeDictionary");
+ });
+ })(Reflect2 || (Reflect2 = {}));
+ }
+});
+
+// ../../node_modules/.pnpm/tslib@2.8.1/node_modules/tslib/tslib.es6.mjs
+function __decorate(decorators, target, key, desc) {
+ var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
+ if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
+ else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
+ return c > 3 && r && Object.defineProperty(target, key, r), r;
+}
+function __param(paramIndex, decorator) {
+ return function(target, key) {
+ decorator(target, key, paramIndex);
+ };
+}
+function __metadata(metadataKey, metadataValue) {
+ if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(metadataKey, metadataValue);
+}
+var init_tslib_es6 = __esm({
+ "../../node_modules/.pnpm/tslib@2.8.1/node_modules/tslib/tslib.es6.mjs"() {
+ __name(__decorate, "__decorate");
+ __name(__param, "__param");
+ __name(__metadata, "__metadata");
+ }
+});
+
+// ../../node_modules/.pnpm/@nestjs+common@12.2.0_reflect-metadata@0.2.2_rxjs@7.8.2/node_modules/@nestjs/common/utils/shared.utils.js
+var isUndefined, isObject, isPlainObject, addLeadingSlash, normalizePath, stripEndSlash, isFunction, isString, isNumber, isConstructor, isNil, isEmpty, isEmptyArray, isSymbol;
+var init_shared_utils = __esm({
+ "../../node_modules/.pnpm/@nestjs+common@12.2.0_reflect-metadata@0.2.2_rxjs@7.8.2/node_modules/@nestjs/common/utils/shared.utils.js"() {
+ isUndefined = /* @__PURE__ */ __name((obj) => typeof obj === "undefined", "isUndefined");
+ isObject = /* @__PURE__ */ __name((fn) => !isNil(fn) && typeof fn === "object", "isObject");
+ isPlainObject = /* @__PURE__ */ __name((fn) => {
+ if (!isObject(fn)) {
+ return false;
+ }
+ const proto = Object.getPrototypeOf(fn);
+ if (proto === null) {
+ return true;
+ }
+ const ctor = Object.hasOwn(proto, "constructor") && proto.constructor;
+ return typeof ctor === "function" && ctor instanceof ctor && Function.prototype.toString.call(ctor) === Function.prototype.toString.call(Object);
+ }, "isPlainObject");
+ addLeadingSlash = /* @__PURE__ */ __name((path) => path && typeof path === "string" ? path.charAt(0) !== "/" && path.substring(0, 2) !== "{/" ? "/" + path : path : "", "addLeadingSlash");
+ normalizePath = /* @__PURE__ */ __name((path) => path ? ("/" + path.replace(/\/+$/, "")).replace(/\/+/g, "/") : "/", "normalizePath");
+ stripEndSlash = /* @__PURE__ */ __name((path) => path.endsWith("/") ? path.slice(0, -1) : path, "stripEndSlash");
+ isFunction = /* @__PURE__ */ __name((val) => typeof val === "function", "isFunction");
+ isString = /* @__PURE__ */ __name((val) => typeof val === "string", "isString");
+ isNumber = /* @__PURE__ */ __name((val) => typeof val === "number", "isNumber");
+ isConstructor = /* @__PURE__ */ __name((val) => val === "constructor", "isConstructor");
+ isNil = /* @__PURE__ */ __name((val) => isUndefined(val) || val === null, "isNil");
+ isEmpty = /* @__PURE__ */ __name((value) => {
+ if (isNil(value)) {
+ return true;
+ }
+ if (Array.isArray(value)) {
+ return value.length === 0;
+ }
+ return false;
+ }, "isEmpty");
+ isEmptyArray = /* @__PURE__ */ __name((array) => {
+ if (!Array.isArray(array)) {
+ return false;
+ }
+ return array.length === 0;
+ }, "isEmptyArray");
+ isSymbol = /* @__PURE__ */ __name((val) => typeof val === "symbol", "isSymbol");
+ }
+});
+
+// ../../node_modules/.pnpm/@nestjs+common@12.2.0_reflect-metadata@0.2.2_rxjs@7.8.2/node_modules/@nestjs/common/constants.js
+var MODULE_METADATA, GLOBAL_MODULE_METADATA, HOST_METADATA, PATH_METADATA, PARAMTYPES_METADATA, SELF_DECLARED_DEPS_METADATA, OPTIONAL_DEPS_METADATA, PROPERTY_DEPS_METADATA, OPTIONAL_PROPERTY_DEPS_METADATA, SCOPE_OPTIONS_METADATA, METHOD_METADATA, ROUTE_ARGS_METADATA, CUSTOM_ROUTE_ARGS_METADATA, FILTER_CATCH_EXCEPTIONS, PIPES_METADATA, GUARDS_METADATA, INTERCEPTORS_METADATA, EXCEPTION_FILTERS_METADATA, ENHANCER_KEY_TO_SUBTYPE_MAP, RENDER_METADATA, HTTP_CODE_METADATA, MODULE_PATH, HEADERS_METADATA, REDIRECT_METADATA, RESPONSE_PASSTHROUGH_METADATA, SSE_METADATA, SSE_OPTIONS_METADATA, VERSION_METADATA, INJECTABLE_WATERMARK, CONTROLLER_WATERMARK, CATCH_WATERMARK, ENTRY_PROVIDER_WATERMARK;
+var init_constants = __esm({
+ "../../node_modules/.pnpm/@nestjs+common@12.2.0_reflect-metadata@0.2.2_rxjs@7.8.2/node_modules/@nestjs/common/constants.js"() {
+ MODULE_METADATA = {
+ IMPORTS: "imports",
+ PROVIDERS: "providers",
+ CONTROLLERS: "controllers",
+ EXPORTS: "exports"
+ };
+ GLOBAL_MODULE_METADATA = "__module:global__";
+ HOST_METADATA = "host";
+ PATH_METADATA = "path";
+ PARAMTYPES_METADATA = "design:paramtypes";
+ SELF_DECLARED_DEPS_METADATA = "self:paramtypes";
+ OPTIONAL_DEPS_METADATA = "optional:paramtypes";
+ PROPERTY_DEPS_METADATA = "self:properties_metadata";
+ OPTIONAL_PROPERTY_DEPS_METADATA = "optional:properties_metadata";
+ SCOPE_OPTIONS_METADATA = "scope:options";
+ METHOD_METADATA = "method";
+ ROUTE_ARGS_METADATA = "__routeArguments__";
+ CUSTOM_ROUTE_ARGS_METADATA = "__customRouteArgs__";
+ FILTER_CATCH_EXCEPTIONS = "__filterCatchExceptions__";
+ PIPES_METADATA = "__pipes__";
+ GUARDS_METADATA = "__guards__";
+ INTERCEPTORS_METADATA = "__interceptors__";
+ EXCEPTION_FILTERS_METADATA = "__exceptionFilters__";
+ ENHANCER_KEY_TO_SUBTYPE_MAP = {
+ [GUARDS_METADATA]: "guard",
+ [INTERCEPTORS_METADATA]: "interceptor",
+ [PIPES_METADATA]: "pipe",
+ [EXCEPTION_FILTERS_METADATA]: "filter"
+ };
+ RENDER_METADATA = "__renderTemplate__";
+ HTTP_CODE_METADATA = "__httpCode__";
+ MODULE_PATH = "__module_path__";
+ HEADERS_METADATA = "__headers__";
+ REDIRECT_METADATA = "__redirect__";
+ RESPONSE_PASSTHROUGH_METADATA = "__responsePassthrough__";
+ SSE_METADATA = "__sse__";
+ SSE_OPTIONS_METADATA = "__sseOptions__";
+ VERSION_METADATA = "__version__";
+ INJECTABLE_WATERMARK = "__injectable__";
+ CONTROLLER_WATERMARK = "__controller__";
+ CATCH_WATERMARK = "__catch__";
+ ENTRY_PROVIDER_WATERMARK = "__entryProvider__";
+ }
+});
+
+// ../../node_modules/.pnpm/@nestjs+common@12.2.0_reflect-metadata@0.2.2_rxjs@7.8.2/node_modules/@nestjs/common/decorators/core/controller.decorator.js
+function Controller(prefixOrOptions) {
+ const defaultPath = "/";
+ const [path, host, scopeOptions, versionOptions] = isUndefined(prefixOrOptions) ? [defaultPath, void 0, void 0, void 0] : isString(prefixOrOptions) || Array.isArray(prefixOrOptions) ? [prefixOrOptions, void 0, void 0, void 0] : [
+ prefixOrOptions.path || defaultPath,
+ prefixOrOptions.host,
+ { scope: prefixOrOptions.scope, durable: prefixOrOptions.durable },
+ Array.isArray(prefixOrOptions.version) ? Array.from(new Set(prefixOrOptions.version)) : prefixOrOptions.version
+ ];
+ return (target) => {
+ Reflect.defineMetadata(CONTROLLER_WATERMARK, true, target);
+ Reflect.defineMetadata(PATH_METADATA, path, target);
+ Reflect.defineMetadata(HOST_METADATA, host, target);
+ Reflect.defineMetadata(SCOPE_OPTIONS_METADATA, scopeOptions, target);
+ Reflect.defineMetadata(VERSION_METADATA, versionOptions, target);
+ };
+}
+var init_controller_decorator = __esm({
+ "../../node_modules/.pnpm/@nestjs+common@12.2.0_reflect-metadata@0.2.2_rxjs@7.8.2/node_modules/@nestjs/common/decorators/core/controller.decorator.js"() {
+ init_constants();
+ init_shared_utils();
+ __name(Controller, "Controller");
+ }
+});
+
+// ../../node_modules/.pnpm/@nestjs+common@12.2.0_reflect-metadata@0.2.2_rxjs@7.8.2/node_modules/@nestjs/common/decorators/core/inject.decorator.js
+function Inject(token) {
+ const injectCallHasArguments = arguments.length > 0;
+ return (target, key, index) => {
+ let type = token || Reflect.getMetadata("design:type", target, key);
+ if (!type && !injectCallHasArguments) {
+ type = Reflect.getMetadata(PARAMTYPES_METADATA, target, key)?.[index];
+ }
+ if (!isUndefined(index)) {
+ let dependencies = Reflect.getMetadata(SELF_DECLARED_DEPS_METADATA, target) || [];
+ dependencies = [...dependencies, { index, param: type }];
+ Reflect.defineMetadata(SELF_DECLARED_DEPS_METADATA, dependencies, target);
+ return;
+ }
+ let properties = Reflect.getMetadata(PROPERTY_DEPS_METADATA, target.constructor) || [];
+ properties = [
+ ...properties.filter((property) => property.key !== key),
+ { key, type }
+ ];
+ Reflect.defineMetadata(PROPERTY_DEPS_METADATA, properties, target.constructor);
+ };
+}
+var init_inject_decorator = __esm({
+ "../../node_modules/.pnpm/@nestjs+common@12.2.0_reflect-metadata@0.2.2_rxjs@7.8.2/node_modules/@nestjs/common/decorators/core/inject.decorator.js"() {
+ init_constants();
+ init_shared_utils();
+ __name(Inject, "Inject");
+ }
+});
+
+// ../../node_modules/.pnpm/uid@2.0.2/node_modules/uid/dist/index.mjs
+function uid(len) {
+ var i = 0, tmp = len || 11;
+ if (!BUFFER || IDX + tmp > SIZE * 2) {
+ for (BUFFER = "", IDX = 0; i < SIZE; i++) {
+ BUFFER += HEX[Math.random() * 256 | 0];
+ }
+ }
+ return BUFFER.substring(IDX, IDX++ + tmp);
+}
+var IDX, HEX, SIZE, BUFFER;
+var init_dist = __esm({
+ "../../node_modules/.pnpm/uid@2.0.2/node_modules/uid/dist/index.mjs"() {
+ IDX = 256;
+ HEX = [];
+ SIZE = 256;
+ while (IDX--) HEX[IDX] = (IDX + 256).toString(16).substring(1);
+ __name(uid, "uid");
+ }
+});
+
+// ../../node_modules/.pnpm/@nestjs+common@12.2.0_reflect-metadata@0.2.2_rxjs@7.8.2/node_modules/@nestjs/common/decorators/core/injectable.decorator.js
+function Injectable(options) {
+ return (target) => {
+ Reflect.defineMetadata(INJECTABLE_WATERMARK, true, target);
+ Reflect.defineMetadata(SCOPE_OPTIONS_METADATA, options, target);
+ };
+}
+function mixin(mixinClass) {
+ Object.defineProperty(mixinClass, "name", {
+ value: uid(21)
+ });
+ Injectable()(mixinClass);
+ return mixinClass;
+}
+var init_injectable_decorator = __esm({
+ "../../node_modules/.pnpm/@nestjs+common@12.2.0_reflect-metadata@0.2.2_rxjs@7.8.2/node_modules/@nestjs/common/decorators/core/injectable.decorator.js"() {
+ init_dist();
+ init_constants();
+ __name(Injectable, "Injectable");
+ __name(mixin, "mixin");
+ }
+});
+
+// ../../node_modules/.pnpm/@nestjs+common@12.2.0_reflect-metadata@0.2.2_rxjs@7.8.2/node_modules/@nestjs/common/decorators/core/optional.decorator.js
+function Optional() {
+ return (target, key, index) => {
+ if (!isUndefined(index)) {
+ const args = Reflect.getOwnMetadata(OPTIONAL_DEPS_METADATA, target) || [];
+ Reflect.defineMetadata(OPTIONAL_DEPS_METADATA, [...args, index], target);
+ return;
+ }
+ const properties = Reflect.getMetadata(OPTIONAL_PROPERTY_DEPS_METADATA, target.constructor) || [];
+ Reflect.defineMetadata(OPTIONAL_PROPERTY_DEPS_METADATA, [...properties, key], target.constructor);
+ };
+}
+var init_optional_decorator = __esm({
+ "../../node_modules/.pnpm/@nestjs+common@12.2.0_reflect-metadata@0.2.2_rxjs@7.8.2/node_modules/@nestjs/common/decorators/core/optional.decorator.js"() {
+ init_constants();
+ init_shared_utils();
+ __name(Optional, "Optional");
+ }
+});
+
+// ../../node_modules/.pnpm/@nestjs+common@12.2.0_reflect-metadata@0.2.2_rxjs@7.8.2/node_modules/@nestjs/common/decorators/modules/global.decorator.js
+function Global() {
+ return (target) => {
+ Reflect.defineMetadata(GLOBAL_MODULE_METADATA, true, target);
+ };
+}
+var init_global_decorator = __esm({
+ "../../node_modules/.pnpm/@nestjs+common@12.2.0_reflect-metadata@0.2.2_rxjs@7.8.2/node_modules/@nestjs/common/decorators/modules/global.decorator.js"() {
+ init_constants();
+ __name(Global, "Global");
+ }
+});
+
+// ../../node_modules/.pnpm/@nestjs+common@12.2.0_reflect-metadata@0.2.2_rxjs@7.8.2/node_modules/@nestjs/common/utils/validate-module-keys.util.js
+function validateModuleKeys(keys) {
+ const validateKey = /* @__PURE__ */ __name((key) => {
+ if (metadataKeys.includes(key)) {
+ return;
+ }
+ throw new Error(INVALID_MODULE_CONFIG_MESSAGE`${key}`);
+ }, "validateKey");
+ keys.forEach(validateKey);
+}
+var INVALID_MODULE_CONFIG_MESSAGE, metadataKeys;
+var init_validate_module_keys_util = __esm({
+ "../../node_modules/.pnpm/@nestjs+common@12.2.0_reflect-metadata@0.2.2_rxjs@7.8.2/node_modules/@nestjs/common/utils/validate-module-keys.util.js"() {
+ init_constants();
+ INVALID_MODULE_CONFIG_MESSAGE = /* @__PURE__ */ __name((text, property) => `Invalid property '${property}' passed into the @Module() decorator.`, "INVALID_MODULE_CONFIG_MESSAGE");
+ metadataKeys = [
+ MODULE_METADATA.IMPORTS,
+ MODULE_METADATA.EXPORTS,
+ MODULE_METADATA.CONTROLLERS,
+ MODULE_METADATA.PROVIDERS
+ ];
+ __name(validateModuleKeys, "validateModuleKeys");
+ }
+});
+
+// ../../node_modules/.pnpm/@nestjs+common@12.2.0_reflect-metadata@0.2.2_rxjs@7.8.2/node_modules/@nestjs/common/decorators/modules/module.decorator.js
+function Module(metadata) {
+ const propsKeys = Object.keys(metadata);
+ validateModuleKeys(propsKeys);
+ return (target) => {
+ for (const property in metadata) {
+ if (Object.hasOwn(metadata, property)) {
+ Reflect.defineMetadata(property, metadata[property], target);
+ }
+ }
+ };
+}
+var init_module_decorator = __esm({
+ "../../node_modules/.pnpm/@nestjs+common@12.2.0_reflect-metadata@0.2.2_rxjs@7.8.2/node_modules/@nestjs/common/decorators/modules/module.decorator.js"() {
+ init_validate_module_keys_util();
+ __name(Module, "Module");
+ }
+});
+
+// ../../node_modules/.pnpm/@nestjs+common@12.2.0_reflect-metadata@0.2.2_rxjs@7.8.2/node_modules/@nestjs/common/enums/request-method.enum.js
+var RequestMethod;
+var init_request_method_enum = __esm({
+ "../../node_modules/.pnpm/@nestjs+common@12.2.0_reflect-metadata@0.2.2_rxjs@7.8.2/node_modules/@nestjs/common/enums/request-method.enum.js"() {
+ (function(RequestMethod2) {
+ RequestMethod2[RequestMethod2["GET"] = 0] = "GET";
+ RequestMethod2[RequestMethod2["POST"] = 1] = "POST";
+ RequestMethod2[RequestMethod2["PUT"] = 2] = "PUT";
+ RequestMethod2[RequestMethod2["DELETE"] = 3] = "DELETE";
+ RequestMethod2[RequestMethod2["PATCH"] = 4] = "PATCH";
+ RequestMethod2[RequestMethod2["ALL"] = 5] = "ALL";
+ RequestMethod2[RequestMethod2["OPTIONS"] = 6] = "OPTIONS";
+ RequestMethod2[RequestMethod2["HEAD"] = 7] = "HEAD";
+ RequestMethod2[RequestMethod2["SEARCH"] = 8] = "SEARCH";
+ RequestMethod2[RequestMethod2["PROPFIND"] = 9] = "PROPFIND";
+ RequestMethod2[RequestMethod2["PROPPATCH"] = 10] = "PROPPATCH";
+ RequestMethod2[RequestMethod2["MKCOL"] = 11] = "MKCOL";
+ RequestMethod2[RequestMethod2["COPY"] = 12] = "COPY";
+ RequestMethod2[RequestMethod2["MOVE"] = 13] = "MOVE";
+ RequestMethod2[RequestMethod2["LOCK"] = 14] = "LOCK";
+ RequestMethod2[RequestMethod2["UNLOCK"] = 15] = "UNLOCK";
+ RequestMethod2[RequestMethod2["QUERY"] = 16] = "QUERY";
+ })(RequestMethod || (RequestMethod = {}));
+ }
+});
+
+// ../../node_modules/.pnpm/@nestjs+common@12.2.0_reflect-metadata@0.2.2_rxjs@7.8.2/node_modules/@nestjs/common/decorators/http/request-mapping.decorator.js
+var defaultMetadata, RequestMapping, createMappingDecorator, Post, Get, Delete, Put, Patch, Options, Head, All, Search, QueryMethod, Propfind, Proppatch, Mkcol, Copy, Move, Lock, Unlock;
+var init_request_mapping_decorator = __esm({
+ "../../node_modules/.pnpm/@nestjs+common@12.2.0_reflect-metadata@0.2.2_rxjs@7.8.2/node_modules/@nestjs/common/decorators/http/request-mapping.decorator.js"() {
+ init_constants();
+ init_request_method_enum();
+ defaultMetadata = {
+ [PATH_METADATA]: "/",
+ [METHOD_METADATA]: RequestMethod.GET
+ };
+ RequestMapping = /* @__PURE__ */ __name((metadata = defaultMetadata) => {
+ const pathMetadata = metadata[PATH_METADATA];
+ const path = pathMetadata && pathMetadata.length ? pathMetadata : "/";
+ const requestMethod = metadata[METHOD_METADATA] || RequestMethod.GET;
+ return (target, key, descriptor) => {
+ Reflect.defineMetadata(PATH_METADATA, path, descriptor.value);
+ Reflect.defineMetadata(METHOD_METADATA, requestMethod, descriptor.value);
+ return descriptor;
+ };
+ }, "RequestMapping");
+ createMappingDecorator = /* @__PURE__ */ __name((method) => (path) => {
+ return RequestMapping({
+ [PATH_METADATA]: path,
+ [METHOD_METADATA]: method
+ });
+ }, "createMappingDecorator");
+ Post = createMappingDecorator(RequestMethod.POST);
+ Get = createMappingDecorator(RequestMethod.GET);
+ Delete = createMappingDecorator(RequestMethod.DELETE);
+ Put = createMappingDecorator(RequestMethod.PUT);
+ Patch = createMappingDecorator(RequestMethod.PATCH);
+ Options = createMappingDecorator(RequestMethod.OPTIONS);
+ Head = createMappingDecorator(RequestMethod.HEAD);
+ All = createMappingDecorator(RequestMethod.ALL);
+ Search = createMappingDecorator(RequestMethod.SEARCH);
+ QueryMethod = createMappingDecorator(RequestMethod.QUERY);
+ Propfind = createMappingDecorator(RequestMethod.PROPFIND);
+ Proppatch = createMappingDecorator(RequestMethod.PROPPATCH);
+ Mkcol = createMappingDecorator(RequestMethod.MKCOL);
+ Copy = createMappingDecorator(RequestMethod.COPY);
+ Move = createMappingDecorator(RequestMethod.MOVE);
+ Lock = createMappingDecorator(RequestMethod.LOCK);
+ Unlock = createMappingDecorator(RequestMethod.UNLOCK);
+ }
+});
+
+// ../../node_modules/.pnpm/@nestjs+common@12.2.0_reflect-metadata@0.2.2_rxjs@7.8.2/node_modules/@nestjs/common/enums/http-status.enum.js
+var HttpStatus;
+var init_http_status_enum = __esm({
+ "../../node_modules/.pnpm/@nestjs+common@12.2.0_reflect-metadata@0.2.2_rxjs@7.8.2/node_modules/@nestjs/common/enums/http-status.enum.js"() {
+ (function(HttpStatus2) {
+ HttpStatus2[HttpStatus2["CONTINUE"] = 100] = "CONTINUE";
+ HttpStatus2[HttpStatus2["SWITCHING_PROTOCOLS"] = 101] = "SWITCHING_PROTOCOLS";
+ HttpStatus2[HttpStatus2["PROCESSING"] = 102] = "PROCESSING";
+ HttpStatus2[HttpStatus2["EARLYHINTS"] = 103] = "EARLYHINTS";
+ HttpStatus2[HttpStatus2["OK"] = 200] = "OK";
+ HttpStatus2[HttpStatus2["CREATED"] = 201] = "CREATED";
+ HttpStatus2[HttpStatus2["ACCEPTED"] = 202] = "ACCEPTED";
+ HttpStatus2[HttpStatus2["NON_AUTHORITATIVE_INFORMATION"] = 203] = "NON_AUTHORITATIVE_INFORMATION";
+ HttpStatus2[HttpStatus2["NO_CONTENT"] = 204] = "NO_CONTENT";
+ HttpStatus2[HttpStatus2["RESET_CONTENT"] = 205] = "RESET_CONTENT";
+ HttpStatus2[HttpStatus2["PARTIAL_CONTENT"] = 206] = "PARTIAL_CONTENT";
+ HttpStatus2[HttpStatus2["MULTI_STATUS"] = 207] = "MULTI_STATUS";
+ HttpStatus2[HttpStatus2["ALREADY_REPORTED"] = 208] = "ALREADY_REPORTED";
+ HttpStatus2[HttpStatus2["CONTENT_DIFFERENT"] = 210] = "CONTENT_DIFFERENT";
+ HttpStatus2[HttpStatus2["AMBIGUOUS"] = 300] = "AMBIGUOUS";
+ HttpStatus2[HttpStatus2["MOVED_PERMANENTLY"] = 301] = "MOVED_PERMANENTLY";
+ HttpStatus2[HttpStatus2["FOUND"] = 302] = "FOUND";
+ HttpStatus2[HttpStatus2["SEE_OTHER"] = 303] = "SEE_OTHER";
+ HttpStatus2[HttpStatus2["NOT_MODIFIED"] = 304] = "NOT_MODIFIED";
+ HttpStatus2[HttpStatus2["TEMPORARY_REDIRECT"] = 307] = "TEMPORARY_REDIRECT";
+ HttpStatus2[HttpStatus2["PERMANENT_REDIRECT"] = 308] = "PERMANENT_REDIRECT";
+ HttpStatus2[HttpStatus2["BAD_REQUEST"] = 400] = "BAD_REQUEST";
+ HttpStatus2[HttpStatus2["UNAUTHORIZED"] = 401] = "UNAUTHORIZED";
+ HttpStatus2[HttpStatus2["PAYMENT_REQUIRED"] = 402] = "PAYMENT_REQUIRED";
+ HttpStatus2[HttpStatus2["FORBIDDEN"] = 403] = "FORBIDDEN";
+ HttpStatus2[HttpStatus2["NOT_FOUND"] = 404] = "NOT_FOUND";
+ HttpStatus2[HttpStatus2["METHOD_NOT_ALLOWED"] = 405] = "METHOD_NOT_ALLOWED";
+ HttpStatus2[HttpStatus2["NOT_ACCEPTABLE"] = 406] = "NOT_ACCEPTABLE";
+ HttpStatus2[HttpStatus2["PROXY_AUTHENTICATION_REQUIRED"] = 407] = "PROXY_AUTHENTICATION_REQUIRED";
+ HttpStatus2[HttpStatus2["REQUEST_TIMEOUT"] = 408] = "REQUEST_TIMEOUT";
+ HttpStatus2[HttpStatus2["CONFLICT"] = 409] = "CONFLICT";
+ HttpStatus2[HttpStatus2["GONE"] = 410] = "GONE";
+ HttpStatus2[HttpStatus2["LENGTH_REQUIRED"] = 411] = "LENGTH_REQUIRED";
+ HttpStatus2[HttpStatus2["PRECONDITION_FAILED"] = 412] = "PRECONDITION_FAILED";
+ HttpStatus2[HttpStatus2["PAYLOAD_TOO_LARGE"] = 413] = "PAYLOAD_TOO_LARGE";
+ HttpStatus2[HttpStatus2["URI_TOO_LONG"] = 414] = "URI_TOO_LONG";
+ HttpStatus2[HttpStatus2["UNSUPPORTED_MEDIA_TYPE"] = 415] = "UNSUPPORTED_MEDIA_TYPE";
+ HttpStatus2[HttpStatus2["REQUESTED_RANGE_NOT_SATISFIABLE"] = 416] = "REQUESTED_RANGE_NOT_SATISFIABLE";
+ HttpStatus2[HttpStatus2["EXPECTATION_FAILED"] = 417] = "EXPECTATION_FAILED";
+ HttpStatus2[HttpStatus2["I_AM_A_TEAPOT"] = 418] = "I_AM_A_TEAPOT";
+ HttpStatus2[HttpStatus2["MISDIRECTED"] = 421] = "MISDIRECTED";
+ HttpStatus2[HttpStatus2["UNPROCESSABLE_ENTITY"] = 422] = "UNPROCESSABLE_ENTITY";
+ HttpStatus2[HttpStatus2["LOCKED"] = 423] = "LOCKED";
+ HttpStatus2[HttpStatus2["FAILED_DEPENDENCY"] = 424] = "FAILED_DEPENDENCY";
+ HttpStatus2[HttpStatus2["PRECONDITION_REQUIRED"] = 428] = "PRECONDITION_REQUIRED";
+ HttpStatus2[HttpStatus2["TOO_MANY_REQUESTS"] = 429] = "TOO_MANY_REQUESTS";
+ HttpStatus2[HttpStatus2["UNRECOVERABLE_ERROR"] = 456] = "UNRECOVERABLE_ERROR";
+ HttpStatus2[HttpStatus2["INTERNAL_SERVER_ERROR"] = 500] = "INTERNAL_SERVER_ERROR";
+ HttpStatus2[HttpStatus2["NOT_IMPLEMENTED"] = 501] = "NOT_IMPLEMENTED";
+ HttpStatus2[HttpStatus2["BAD_GATEWAY"] = 502] = "BAD_GATEWAY";
+ HttpStatus2[HttpStatus2["SERVICE_UNAVAILABLE"] = 503] = "SERVICE_UNAVAILABLE";
+ HttpStatus2[HttpStatus2["GATEWAY_TIMEOUT"] = 504] = "GATEWAY_TIMEOUT";
+ HttpStatus2[HttpStatus2["HTTP_VERSION_NOT_SUPPORTED"] = 505] = "HTTP_VERSION_NOT_SUPPORTED";
+ HttpStatus2[HttpStatus2["INSUFFICIENT_STORAGE"] = 507] = "INSUFFICIENT_STORAGE";
+ HttpStatus2[HttpStatus2["LOOP_DETECTED"] = 508] = "LOOP_DETECTED";
+ })(HttpStatus || (HttpStatus = {}));
+ }
+});
+
+// ../../node_modules/.pnpm/@nestjs+common@12.2.0_reflect-metadata@0.2.2_rxjs@7.8.2/node_modules/@nestjs/common/enums/version-type.enum.js
+var VersioningType;
+var init_version_type_enum = __esm({
+ "../../node_modules/.pnpm/@nestjs+common@12.2.0_reflect-metadata@0.2.2_rxjs@7.8.2/node_modules/@nestjs/common/enums/version-type.enum.js"() {
+ (function(VersioningType2) {
+ VersioningType2[VersioningType2["URI"] = 0] = "URI";
+ VersioningType2[VersioningType2["HEADER"] = 1] = "HEADER";
+ VersioningType2[VersioningType2["MEDIA_TYPE"] = 2] = "MEDIA_TYPE";
+ VersioningType2[VersioningType2["CUSTOM"] = 3] = "CUSTOM";
+ })(VersioningType || (VersioningType = {}));
+ }
+});
+
+// ../../node_modules/.pnpm/@nestjs+common@12.2.0_reflect-metadata@0.2.2_rxjs@7.8.2/node_modules/@nestjs/common/exceptions/intrinsic.exception.js
+var IntrinsicException;
+var init_intrinsic_exception = __esm({
+ "../../node_modules/.pnpm/@nestjs+common@12.2.0_reflect-metadata@0.2.2_rxjs@7.8.2/node_modules/@nestjs/common/exceptions/intrinsic.exception.js"() {
+ IntrinsicException = class extends Error {
+ static {
+ __name(this, "IntrinsicException");
+ }
+ };
+ }
+});
+
+// ../../node_modules/.pnpm/@nestjs+common@12.2.0_reflect-metadata@0.2.2_rxjs@7.8.2/node_modules/@nestjs/common/exceptions/http.exception.js
+var HttpException;
+var init_http_exception = __esm({
+ "../../node_modules/.pnpm/@nestjs+common@12.2.0_reflect-metadata@0.2.2_rxjs@7.8.2/node_modules/@nestjs/common/exceptions/http.exception.js"() {
+ init_shared_utils();
+ init_intrinsic_exception();
+ HttpException = class extends IntrinsicException {
+ static {
+ __name(this, "HttpException");
+ }
+ response;
+ status;
+ options;
+ /**
+ * Exception cause. Indicates the specific original cause of the error.
+ * It is used when catching and re-throwing an error with a more-specific or useful error message in order to still have access to the original error.
+ */
+ cause;
+ errorCode;
+ /**
+ * Instantiate a plain HTTP Exception.
+ *
+ * @example
+ * throw new HttpException('message', HttpStatus.BAD_REQUEST)
+ * throw new HttpException('custom message', HttpStatus.BAD_REQUEST, {
+ * cause: new Error('Cause Error'),
+ * })
+ *
+ *
+ * @usageNotes
+ * The constructor arguments define the response and the HTTP response status code.
+ * - The `response` argument (required) defines the JSON response body. alternatively, it can also be
+ * an error object that is used to define an error [cause](https://nodejs.org/en/blog/release/v16.9.0/#error-cause).
+ * - The `status` argument (required) defines the HTTP Status Code.
+ * - The `options` argument (optional) defines additional error options. Currently, it supports the `cause` attribute,
+ * and can be used as an alternative way to specify the error cause: `const error = new HttpException('description', 400, { cause: new Error() });`
+ *
+ * By default, the JSON response body contains two properties:
+ * - `statusCode`: the Http Status Code.
+ * - `message`: a short description of the HTTP error by default; override this
+ * by supplying a string in the `response` parameter.
+ *
+ * To override the entire JSON response body, pass an object to the `createBody`
+ * method. Nest will serialize the object and return it as the JSON response body.
+ *
+ * The `status` argument is required, and should be a valid HTTP status code.
+ * Best practice is to use the `HttpStatus` enum imported from `nestjs/common`.
+ *
+ * @param response string, object describing the error condition or the error cause.
+ * @param status HTTP response status code.
+ * @param options An object used to add an error cause.
+ */
+ constructor(response, status, options) {
+ super();
+ this.response = response;
+ this.status = status;
+ this.options = options;
+ this.initMessage();
+ this.initName();
+ this.initCause();
+ this.initErrorCode();
+ }
+ /**
+ * Configures error chaining support
+ *
+ * @see https://nodejs.org/en/blog/release/v16.9.0/#error-cause
+ * @see https://github.com/microsoft/TypeScript/issues/45167
+ */
+ initCause() {
+ if (this.options?.cause) {
+ this.cause = this.options.cause;
+ return;
+ }
+ }
+ initErrorCode() {
+ if (this.options?.errorCode) {
+ this.errorCode = this.options.errorCode;
+ }
+ }
+ initMessage() {
+ if (isString(this.response)) {
+ this.message = this.response;
+ } else if (isObject(this.response) && isString(this.response.message)) {
+ this.message = this.response.message;
+ } else if (this.constructor) {
+ this.message = this.constructor.name.match(/[A-Z][a-z]+|[0-9]+/g)?.join(" ") ?? "Error";
+ }
+ }
+ initName() {
+ this.name = this.constructor.name;
+ }
+ getResponse() {
+ return this.response;
+ }
+ getStatus() {
+ return this.status;
+ }
+ static createBody(arg0, arg1, statusCode, errorCode) {
+ if (!arg0) {
+ const body = {
+ message: arg1,
+ statusCode
+ };
+ if (errorCode) {
+ body.errorCode = errorCode;
+ }
+ return body;
+ }
+ if (isString(arg0) || Array.isArray(arg0) || isNumber(arg0)) {
+ const body = {
+ message: arg0,
+ error: arg1,
+ statusCode
+ };
+ if (errorCode) {
+ body.errorCode = errorCode;
+ }
+ return body;
+ }
+ return arg0;
+ }
+ static getDescriptionFrom(descriptionOrOptions) {
+ return isString(descriptionOrOptions) ? descriptionOrOptions : descriptionOrOptions?.description;
+ }
+ static getHttpExceptionOptionsFrom(descriptionOrOptions) {
+ return isString(descriptionOrOptions) ? {} : descriptionOrOptions;
+ }
+ /**
+ * Utility method used to extract the error description and httpExceptionOptions from the given argument.
+ * This is used by inheriting classes to correctly parse both options.
+ * @returns the error description and the httpExceptionOptions as an object.
+ */
+ static extractDescriptionAndOptionsFrom(descriptionOrOptions) {
+ const description = isString(descriptionOrOptions) ? descriptionOrOptions : descriptionOrOptions?.description;
+ const httpExceptionOptions = isString(descriptionOrOptions) ? {} : descriptionOrOptions;
+ return {
+ description,
+ httpExceptionOptions
+ };
+ }
+ };
+ }
+});
+
+// ../../node_modules/.pnpm/@nestjs+common@12.2.0_reflect-metadata@0.2.2_rxjs@7.8.2/node_modules/@nestjs/common/exceptions/bad-request.exception.js
+var BadRequestException;
+var init_bad_request_exception = __esm({
+ "../../node_modules/.pnpm/@nestjs+common@12.2.0_reflect-metadata@0.2.2_rxjs@7.8.2/node_modules/@nestjs/common/exceptions/bad-request.exception.js"() {
+ init_http_status_enum();
+ init_http_exception();
+ BadRequestException = class extends HttpException {
+ static {
+ __name(this, "BadRequestException");
+ }
+ /**
+ * Instantiate a `BadRequestException` Exception.
+ *
+ * @example
+ * `throw new BadRequestException()`
+ *
+ * @usageNotes
+ * The HTTP response status code will be 400.
+ * - The `objectOrError` argument defines the JSON response body or the message string.
+ * - The `descriptionOrOptions` argument contains either a short description of the HTTP error or an options object used to provide an underlying error cause.
+ *
+ * By default, the JSON response body contains two properties:
+ * - `statusCode`: this will be the value 400.
+ * - `message`: the string `'Bad Request'` by default; override this by supplying
+ * a string in the `objectOrError` parameter.
+ *
+ * If the parameter `objectOrError` is a string, the response body will contain an
+ * additional property, `error`, with a short description of the HTTP error. To override the
+ * entire JSON response body, pass an object instead. Nest will serialize the object
+ * and return it as the JSON response body.
+ *
+ * @param objectOrError string or object describing the error condition.
+ * @param descriptionOrOptions either a short description of the HTTP error or an options object used to provide an underlying error cause
+ */
+ constructor(objectOrError, descriptionOrOptions = "Bad Request") {
+ const { description = "Bad Request", httpExceptionOptions } = HttpException.extractDescriptionAndOptionsFrom(descriptionOrOptions);
+ super(HttpException.createBody(objectOrError, description, HttpStatus.BAD_REQUEST, httpExceptionOptions?.errorCode), HttpStatus.BAD_REQUEST, httpExceptionOptions);
+ }
+ };
+ }
+});
+
+// ../../node_modules/.pnpm/@nestjs+common@12.2.0_reflect-metadata@0.2.2_rxjs@7.8.2/node_modules/@nestjs/common/exceptions/internal-server-error.exception.js
+var InternalServerErrorException;
+var init_internal_server_error_exception = __esm({
+ "../../node_modules/.pnpm/@nestjs+common@12.2.0_reflect-metadata@0.2.2_rxjs@7.8.2/node_modules/@nestjs/common/exceptions/internal-server-error.exception.js"() {
+ init_http_status_enum();
+ init_http_exception();
+ InternalServerErrorException = class extends HttpException {
+ static {
+ __name(this, "InternalServerErrorException");
+ }
+ /**
+ * Instantiate an `InternalServerErrorException` Exception.
+ *
+ * @example
+ * `throw new InternalServerErrorException()`
+ *
+ * @usageNotes
+ * The HTTP response status code will be 500.
+ * - The `objectOrError` argument defines the JSON response body or the message string.
+ * - The `descriptionOrOptions` argument contains either a short description of the HTTP error or an options object used to provide an underlying error cause.
+ *
+ * By default, the JSON response body contains two properties:
+ * - `statusCode`: this will be the value 500.
+ * - `message`: the string `'Internal Server Error'` by default; override this by supplying
+ * a string in the `objectOrError` parameter.
+ *
+ * If the parameter `objectOrError` is a string, the response body will contain an
+ * additional property, `error`, with a short description of the HTTP error. To override the
+ * entire JSON response body, pass an object instead. Nest will serialize the object
+ * and return it as the JSON response body.
+ *
+ * @param objectOrError string or object describing the error condition.
+ * @param descriptionOrOptions either a short description of the HTTP error or an options object used to provide an underlying error cause
+ */
+ constructor(objectOrError, descriptionOrOptions = "Internal Server Error") {
+ const { description = "Internal Server Error", httpExceptionOptions } = HttpException.extractDescriptionAndOptionsFrom(descriptionOrOptions);
+ super(HttpException.createBody(objectOrError, description, HttpStatus.INTERNAL_SERVER_ERROR, httpExceptionOptions?.errorCode), HttpStatus.INTERNAL_SERVER_ERROR, httpExceptionOptions);
+ }
+ };
+ }
+});
+
+// ../../node_modules/.pnpm/@nestjs+common@12.2.0_reflect-metadata@0.2.2_rxjs@7.8.2/node_modules/@nestjs/common/exceptions/unauthorized.exception.js
+var UnauthorizedException;
+var init_unauthorized_exception = __esm({
+ "../../node_modules/.pnpm/@nestjs+common@12.2.0_reflect-metadata@0.2.2_rxjs@7.8.2/node_modules/@nestjs/common/exceptions/unauthorized.exception.js"() {
+ init_http_status_enum();
+ init_http_exception();
+ UnauthorizedException = class extends HttpException {
+ static {
+ __name(this, "UnauthorizedException");
+ }
+ /**
+ * Instantiate an `UnauthorizedException` Exception.
+ *
+ * @example
+ * `throw new UnauthorizedException()`
+ *
+ * @usageNotes
+ * The HTTP response status code will be 401.
+ * - The `objectOrError` argument defines the JSON response body or the message string.
+ * - The `descriptionOrOptions` argument contains either a short description of the HTTP error or an options object used to provide an underlying error cause.
+ *
+ * By default, the JSON response body contains two properties:
+ * - `statusCode`: this will be the value 401.
+ * - `message`: the string `'Unauthorized'` by default; override this by supplying
+ * a string in the `objectOrError` parameter.
+ *
+ * If the parameter `objectOrError` is a string, the response body will contain an
+ * additional property, `error`, with a short description of the HTTP error. To override the
+ * entire JSON response body, pass an object instead. Nest will serialize the object
+ * and return it as the JSON response body.
+ *
+ * @param objectOrError string or object describing the error condition.
+ * @param descriptionOrOptions either a short description of the HTTP error or an options object used to provide an underlying error cause
+ */
+ constructor(objectOrError, descriptionOrOptions = "Unauthorized") {
+ const { description = "Unauthorized", httpExceptionOptions } = HttpException.extractDescriptionAndOptionsFrom(descriptionOrOptions);
+ super(HttpException.createBody(objectOrError, description, HttpStatus.UNAUTHORIZED, httpExceptionOptions?.errorCode), HttpStatus.UNAUTHORIZED, httpExceptionOptions);
+ }
+ };
+ }
+});
+
+// ../../node_modules/.pnpm/@nestjs+common@12.2.0_reflect-metadata@0.2.2_rxjs@7.8.2/node_modules/@nestjs/common/decorators/core/bind.decorator.js
+function Bind(...decorators) {
+ return (target, key, descriptor) => {
+ decorators.forEach((fn, index) => fn(target, key, index));
+ return descriptor;
+ };
+}
+var init_bind_decorator = __esm({
+ "../../node_modules/.pnpm/@nestjs+common@12.2.0_reflect-metadata@0.2.2_rxjs@7.8.2/node_modules/@nestjs/common/decorators/core/bind.decorator.js"() {
+ __name(Bind, "Bind");
+ }
+});
+
+// ../../node_modules/.pnpm/@nestjs+common@12.2.0_reflect-metadata@0.2.2_rxjs@7.8.2/node_modules/@nestjs/common/decorators/core/catch.decorator.js
+function Catch(...exceptions) {
+ return (target) => {
+ Reflect.defineMetadata(CATCH_WATERMARK, true, target);
+ Reflect.defineMetadata(FILTER_CATCH_EXCEPTIONS, exceptions, target);
+ };
+}
+var init_catch_decorator = __esm({
+ "../../node_modules/.pnpm/@nestjs+common@12.2.0_reflect-metadata@0.2.2_rxjs@7.8.2/node_modules/@nestjs/common/decorators/core/catch.decorator.js"() {
+ init_constants();
+ __name(Catch, "Catch");
+ }
+});
+
+// ../../node_modules/.pnpm/@nestjs+common@12.2.0_reflect-metadata@0.2.2_rxjs@7.8.2/node_modules/@nestjs/common/decorators/core/dependencies.decorator.js
+function flatten(arr) {
+ const flat = [].concat(...arr);
+ return flat.some(Array.isArray) ? flatten(flat) : flat;
+}
+var Dependencies;
+var init_dependencies_decorator = __esm({
+ "../../node_modules/.pnpm/@nestjs+common@12.2.0_reflect-metadata@0.2.2_rxjs@7.8.2/node_modules/@nestjs/common/decorators/core/dependencies.decorator.js"() {
+ init_constants();
+ __name(flatten, "flatten");
+ Dependencies = /* @__PURE__ */ __name((...dependencies) => {
+ const flattenDeps = flatten(dependencies);
+ return (target) => {
+ Reflect.defineMetadata(PARAMTYPES_METADATA, flattenDeps, target);
+ };
+ }, "Dependencies");
+ }
+});
+
+// ../../node_modules/.pnpm/@nestjs+common@12.2.0_reflect-metadata@0.2.2_rxjs@7.8.2/node_modules/@nestjs/common/utils/extend-metadata.util.js
+function extendArrayMetadata(key, metadata, target) {
+ const previousValue = Reflect.getMetadata(key, target) || [];
+ const value = [...previousValue, ...metadata];
+ Reflect.defineMetadata(key, value, target);
+}
+var init_extend_metadata_util = __esm({
+ "../../node_modules/.pnpm/@nestjs+common@12.2.0_reflect-metadata@0.2.2_rxjs@7.8.2/node_modules/@nestjs/common/utils/extend-metadata.util.js"() {
+ __name(extendArrayMetadata, "extendArrayMetadata");
+ }
+});
+
+// ../../node_modules/.pnpm/@nestjs+common@12.2.0_reflect-metadata@0.2.2_rxjs@7.8.2/node_modules/@nestjs/common/utils/validate-each.util.js
+function validateEach(context, arr, predicate, decorator, item) {
+ if (!context || !context.name) {
+ return true;
+ }
+ const errors = arr.some((str) => !predicate(str));
+ if (errors) {
+ throw new InvalidDecoratorItemException(decorator, item, context.name);
+ }
+ return true;
+}
+var InvalidDecoratorItemException;
+var init_validate_each_util = __esm({
+ "../../node_modules/.pnpm/@nestjs+common@12.2.0_reflect-metadata@0.2.2_rxjs@7.8.2/node_modules/@nestjs/common/utils/validate-each.util.js"() {
+ InvalidDecoratorItemException = class extends Error {
+ static {
+ __name(this, "InvalidDecoratorItemException");
+ }
+ msg;
+ constructor(decorator, item, context) {
+ const message = `Invalid ${item} passed to ${decorator}() decorator (${context}).`;
+ super(message);
+ this.msg = message;
+ }
+ what() {
+ return this.msg;
+ }
+ };
+ __name(validateEach, "validateEach");
+ }
+});
+
+// ../../node_modules/.pnpm/@nestjs+common@12.2.0_reflect-metadata@0.2.2_rxjs@7.8.2/node_modules/@nestjs/common/decorators/core/exception-filters.decorator.js
+function addExceptionFiltersMetadata(...filters) {
+ return (target, key, descriptor) => {
+ const isFilterValid = /* @__PURE__ */ __name((filter) => filter && (isFunction(filter) || isFunction(filter.catch)), "isFilterValid");
+ if (descriptor) {
+ validateEach(target.constructor, filters, isFilterValid, "@UseFilters", "filter");
+ extendArrayMetadata(EXCEPTION_FILTERS_METADATA, filters, descriptor.value);
+ return descriptor;
+ }
+ validateEach(target, filters, isFilterValid, "@UseFilters", "filter");
+ extendArrayMetadata(EXCEPTION_FILTERS_METADATA, filters, target);
+ return target;
+ };
+}
+var UseFilters;
+var init_exception_filters_decorator = __esm({
+ "../../node_modules/.pnpm/@nestjs+common@12.2.0_reflect-metadata@0.2.2_rxjs@7.8.2/node_modules/@nestjs/common/decorators/core/exception-filters.decorator.js"() {
+ init_constants();
+ init_extend_metadata_util();
+ init_shared_utils();
+ init_validate_each_util();
+ UseFilters = /* @__PURE__ */ __name((...filters) => addExceptionFiltersMetadata(...filters), "UseFilters");
+ __name(addExceptionFiltersMetadata, "addExceptionFiltersMetadata");
+ }
+});
+
+// ../../node_modules/.pnpm/@nestjs+common@12.2.0_reflect-metadata@0.2.2_rxjs@7.8.2/node_modules/@nestjs/common/decorators/core/set-metadata.decorator.js
+var SetMetadata;
+var init_set_metadata_decorator = __esm({
+ "../../node_modules/.pnpm/@nestjs+common@12.2.0_reflect-metadata@0.2.2_rxjs@7.8.2/node_modules/@nestjs/common/decorators/core/set-metadata.decorator.js"() {
+ SetMetadata = /* @__PURE__ */ __name((metadataKey, metadataValue) => {
+ const decoratorFactory = /* @__PURE__ */ __name((target, key, descriptor) => {
+ if (descriptor) {
+ Reflect.defineMetadata(metadataKey, metadataValue, descriptor.value);
+ return descriptor;
+ }
+ Reflect.defineMetadata(metadataKey, metadataValue, target);
+ return target;
+ }, "decoratorFactory");
+ decoratorFactory.KEY = metadataKey;
+ return decoratorFactory;
+ }, "SetMetadata");
+ }
+});
+
+// ../../node_modules/.pnpm/@nestjs+common@12.2.0_reflect-metadata@0.2.2_rxjs@7.8.2/node_modules/@nestjs/common/decorators/core/use-guards.decorator.js
+function UseGuards(...guards) {
+ return (target, key, descriptor) => {
+ const isGuardValid = /* @__PURE__ */ __name((guard) => guard && (isFunction(guard) || isFunction(guard.canActivate)), "isGuardValid");
+ if (descriptor) {
+ validateEach(target.constructor, guards, isGuardValid, "@UseGuards", "guard");
+ extendArrayMetadata(GUARDS_METADATA, guards, descriptor.value);
+ return descriptor;
+ }
+ validateEach(target, guards, isGuardValid, "@UseGuards", "guard");
+ extendArrayMetadata(GUARDS_METADATA, guards, target);
+ return target;
+ };
+}
+var init_use_guards_decorator = __esm({
+ "../../node_modules/.pnpm/@nestjs+common@12.2.0_reflect-metadata@0.2.2_rxjs@7.8.2/node_modules/@nestjs/common/decorators/core/use-guards.decorator.js"() {
+ init_constants();
+ init_extend_metadata_util();
+ init_shared_utils();
+ init_validate_each_util();
+ __name(UseGuards, "UseGuards");
+ }
+});
+
+// ../../node_modules/.pnpm/@nestjs+common@12.2.0_reflect-metadata@0.2.2_rxjs@7.8.2/node_modules/@nestjs/common/decorators/core/use-interceptors.decorator.js
+function UseInterceptors(...interceptors) {
+ return (target, key, descriptor) => {
+ const isInterceptorValid = /* @__PURE__ */ __name((interceptor) => interceptor && (isFunction(interceptor) || isFunction(interceptor.intercept)), "isInterceptorValid");
+ if (descriptor) {
+ validateEach(target.constructor, interceptors, isInterceptorValid, "@UseInterceptors", "interceptor");
+ extendArrayMetadata(INTERCEPTORS_METADATA, interceptors, descriptor.value);
+ return descriptor;
+ }
+ validateEach(target, interceptors, isInterceptorValid, "@UseInterceptors", "interceptor");
+ extendArrayMetadata(INTERCEPTORS_METADATA, interceptors, target);
+ return target;
+ };
+}
+var init_use_interceptors_decorator = __esm({
+ "../../node_modules/.pnpm/@nestjs+common@12.2.0_reflect-metadata@0.2.2_rxjs@7.8.2/node_modules/@nestjs/common/decorators/core/use-interceptors.decorator.js"() {
+ init_constants();
+ init_extend_metadata_util();
+ init_shared_utils();
+ init_validate_each_util();
+ __name(UseInterceptors, "UseInterceptors");
+ }
+});
+
+// ../../node_modules/.pnpm/@nestjs+common@12.2.0_reflect-metadata@0.2.2_rxjs@7.8.2/node_modules/@nestjs/common/decorators/core/use-pipes.decorator.js
+function UsePipes(...pipes) {
+ return (target, key, descriptor) => {
+ const isPipeValid = /* @__PURE__ */ __name((pipe) => pipe && (isFunction(pipe) || isFunction(pipe.transform)), "isPipeValid");
+ if (descriptor) {
+ validateEach(target.constructor, pipes, isPipeValid, "@UsePipes", "pipe");
+ extendArrayMetadata(PIPES_METADATA, pipes, descriptor.value);
+ return descriptor;
+ }
+ validateEach(target, pipes, isPipeValid, "@UsePipes", "pipe");
+ extendArrayMetadata(PIPES_METADATA, pipes, target);
+ return target;
+ };
+}
+var init_use_pipes_decorator = __esm({
+ "../../node_modules/.pnpm/@nestjs+common@12.2.0_reflect-metadata@0.2.2_rxjs@7.8.2/node_modules/@nestjs/common/decorators/core/use-pipes.decorator.js"() {
+ init_constants();
+ init_extend_metadata_util();
+ init_shared_utils();
+ init_validate_each_util();
+ __name(UsePipes, "UsePipes");
+ }
+});
+
+// ../../node_modules/.pnpm/@nestjs+common@12.2.0_reflect-metadata@0.2.2_rxjs@7.8.2/node_modules/@nestjs/common/decorators/core/apply-decorators.js
+function applyDecorators(...decorators) {
+ return (target, propertyKey, descriptor) => {
+ for (const decorator of decorators) {
+ if (target instanceof Function && !descriptor) {
+ decorator(target);
+ continue;
+ }
+ decorator(target, propertyKey, descriptor);
+ }
+ };
+}
+var init_apply_decorators = __esm({
+ "../../node_modules/.pnpm/@nestjs+common@12.2.0_reflect-metadata@0.2.2_rxjs@7.8.2/node_modules/@nestjs/common/decorators/core/apply-decorators.js"() {
+ __name(applyDecorators, "applyDecorators");
+ }
+});
+
+// ../../node_modules/.pnpm/@nestjs+common@12.2.0_reflect-metadata@0.2.2_rxjs@7.8.2/node_modules/@nestjs/common/decorators/core/version.decorator.js
+function Version(version) {
+ if (Array.isArray(version)) {
+ version = Array.from(new Set(version));
+ }
+ return (target, key, descriptor) => {
+ Reflect.defineMetadata(VERSION_METADATA, version, descriptor.value);
+ return descriptor;
+ };
+}
+var init_version_decorator = __esm({
+ "../../node_modules/.pnpm/@nestjs+common@12.2.0_reflect-metadata@0.2.2_rxjs@7.8.2/node_modules/@nestjs/common/decorators/core/version.decorator.js"() {
+ init_constants();
+ __name(Version, "Version");
+ }
+});
+
+// ../../node_modules/.pnpm/@nestjs+common@12.2.0_reflect-metadata@0.2.2_rxjs@7.8.2/node_modules/@nestjs/common/decorators/core/index.js
+var init_core = __esm({
+ "../../node_modules/.pnpm/@nestjs+common@12.2.0_reflect-metadata@0.2.2_rxjs@7.8.2/node_modules/@nestjs/common/decorators/core/index.js"() {
+ init_bind_decorator();
+ init_catch_decorator();
+ init_controller_decorator();
+ init_dependencies_decorator();
+ init_exception_filters_decorator();
+ init_inject_decorator();
+ init_injectable_decorator();
+ init_optional_decorator();
+ init_set_metadata_decorator();
+ init_use_guards_decorator();
+ init_use_interceptors_decorator();
+ init_use_pipes_decorator();
+ init_apply_decorators();
+ init_version_decorator();
+ }
+});
+
+// ../../node_modules/.pnpm/@nestjs+common@12.2.0_reflect-metadata@0.2.2_rxjs@7.8.2/node_modules/@nestjs/common/utils/cli-colors.util.js
+var isColorAllowed, colorIfAllowed, clc, yellow;
+var init_cli_colors_util = __esm({
+ "../../node_modules/.pnpm/@nestjs+common@12.2.0_reflect-metadata@0.2.2_rxjs@7.8.2/node_modules/@nestjs/common/utils/cli-colors.util.js"() {
+ isColorAllowed = /* @__PURE__ */ __name(() => !process.env.NO_COLOR, "isColorAllowed");
+ colorIfAllowed = /* @__PURE__ */ __name((colorFn) => (text) => isColorAllowed() ? colorFn(text) : text, "colorIfAllowed");
+ clc = {
+ bold: colorIfAllowed((text) => `\x1B[1m${text}\x1B[0m`),
+ green: colorIfAllowed((text) => `\x1B[32m${text}\x1B[39m`),
+ yellow: colorIfAllowed((text) => `\x1B[33m${text}\x1B[39m`),
+ red: colorIfAllowed((text) => `\x1B[31m${text}\x1B[39m`),
+ magentaBright: colorIfAllowed((text) => `\x1B[95m${text}\x1B[39m`),
+ cyanBright: colorIfAllowed((text) => `\x1B[96m${text}\x1B[39m`)
+ };
+ yellow = colorIfAllowed((text) => `\x1B[38;5;3m${text}\x1B[39m`);
+ }
+});
+
+// ../../node_modules/.pnpm/@nestjs+common@12.2.0_reflect-metadata@0.2.2_rxjs@7.8.2/node_modules/@nestjs/common/services/log-levels.constant.js
+var LOG_LEVELS;
+var init_log_levels_constant = __esm({
+ "../../node_modules/.pnpm/@nestjs+common@12.2.0_reflect-metadata@0.2.2_rxjs@7.8.2/node_modules/@nestjs/common/services/log-levels.constant.js"() {
+ LOG_LEVELS = [
+ "verbose",
+ "debug",
+ "log",
+ "warn",
+ "error",
+ "fatal"
+ ];
+ }
+});
+
+// ../../node_modules/.pnpm/@nestjs+common@12.2.0_reflect-metadata@0.2.2_rxjs@7.8.2/node_modules/@nestjs/common/services/utils/is-log-level.util.js
+function isLogLevel(maybeLogLevel) {
+ return LOG_LEVELS.includes(maybeLogLevel);
+}
+var init_is_log_level_util = __esm({
+ "../../node_modules/.pnpm/@nestjs+common@12.2.0_reflect-metadata@0.2.2_rxjs@7.8.2/node_modules/@nestjs/common/services/utils/is-log-level.util.js"() {
+ init_log_levels_constant();
+ __name(isLogLevel, "isLogLevel");
+ }
+});
+
+// ../../node_modules/.pnpm/@nestjs+common@12.2.0_reflect-metadata@0.2.2_rxjs@7.8.2/node_modules/@nestjs/common/services/utils/filter-log-levels.util.js
+function filterLogLevels(parseableString = "") {
+ const sanitizedString = parseableString.replaceAll(" ", "").toLowerCase();
+ if (sanitizedString[0] === ">") {
+ const orEqual = sanitizedString[1] === "=";
+ const logLevelIndex = LOG_LEVELS.indexOf(sanitizedString.substring(orEqual ? 2 : 1));
+ if (logLevelIndex === -1) {
+ throw new Error(`parse error (unknown log level): ${sanitizedString}`);
+ }
+ return LOG_LEVELS.slice(orEqual ? logLevelIndex : logLevelIndex + 1);
+ } else if (sanitizedString.includes(",")) {
+ return sanitizedString.split(",").filter(isLogLevel);
+ }
+ return isLogLevel(sanitizedString) ? [sanitizedString] : LOG_LEVELS;
+}
+var init_filter_log_levels_util = __esm({
+ "../../node_modules/.pnpm/@nestjs+common@12.2.0_reflect-metadata@0.2.2_rxjs@7.8.2/node_modules/@nestjs/common/services/utils/filter-log-levels.util.js"() {
+ init_log_levels_constant();
+ init_is_log_level_util();
+ __name(filterLogLevels, "filterLogLevels");
+ }
+});
+
+// ../../node_modules/.pnpm/@nestjs+common@12.2.0_reflect-metadata@0.2.2_rxjs@7.8.2/node_modules/@nestjs/common/services/utils/get-env-log-levels.util.js
+function getEnvLogLevels() {
+ const value = process.env[LOG_LEVEL_ENV_VAR]?.replaceAll(" ", "");
+ if (!value) {
+ return void 0;
+ }
+ const threshold = /^>=?(.*)$/.exec(value.toLowerCase());
+ const isValid = threshold ? isLogLevel(threshold[1]) : value.toLowerCase().split(",").every(isLogLevel);
+ return isValid ? filterLogLevels(value) : false;
+}
+var LOG_LEVEL_ENV_VAR;
+var init_get_env_log_levels_util = __esm({
+ "../../node_modules/.pnpm/@nestjs+common@12.2.0_reflect-metadata@0.2.2_rxjs@7.8.2/node_modules/@nestjs/common/services/utils/get-env-log-levels.util.js"() {
+ init_filter_log_levels_util();
+ init_is_log_level_util();
+ LOG_LEVEL_ENV_VAR = "NEST_LOG_LEVEL";
+ __name(getEnvLogLevels, "getEnvLogLevels");
+ }
+});
+
+// ../../node_modules/.pnpm/@nestjs+common@12.2.0_reflect-metadata@0.2.2_rxjs@7.8.2/node_modules/@nestjs/common/services/utils/is-log-level-enabled.util.js
+function isLogLevelEnabled(targetLevel, logLevels) {
+ if (!logLevels || Array.isArray(logLevels) && logLevels?.length === 0) {
+ return false;
+ }
+ if (logLevels.includes(targetLevel)) {
+ return true;
+ }
+ let highestLogLevelValue = -Infinity;
+ for (const level of logLevels) {
+ const v = LOG_LEVEL_VALUES[level];
+ if (v > highestLogLevelValue)
+ highestLogLevelValue = v;
+ }
+ const targetLevelValue = LOG_LEVEL_VALUES[targetLevel];
+ return targetLevelValue >= highestLogLevelValue;
+}
+var LOG_LEVEL_VALUES;
+var init_is_log_level_enabled_util = __esm({
+ "../../node_modules/.pnpm/@nestjs+common@12.2.0_reflect-metadata@0.2.2_rxjs@7.8.2/node_modules/@nestjs/common/services/utils/is-log-level-enabled.util.js"() {
+ LOG_LEVEL_VALUES = {
+ verbose: 0,
+ debug: 1,
+ log: 2,
+ warn: 3,
+ error: 4,
+ fatal: 5
+ };
+ __name(isLogLevelEnabled, "isLogLevelEnabled");
+ }
+});
+
+// ../../node_modules/.pnpm/@nestjs+common@12.2.0_reflect-metadata@0.2.2_rxjs@7.8.2/node_modules/@nestjs/common/services/utils/redact.util.js
+function createRedactor(paths, censor = DEFAULT_REDACT_CENSOR) {
+ const keys = /* @__PURE__ */ new Set();
+ const dottedPaths = [];
+ for (const path of paths) {
+ const segments = path.split(".").map((segment) => segment.trim().toLowerCase()).filter((segment) => segment.length > 0);
+ if (segments.length === 1) {
+ keys.add(segments[0]);
+ } else if (segments.length > 1) {
+ dottedPaths.push(segments);
+ }
+ }
+ if (keys.size === 0 && dottedPaths.length === 0) {
+ return void 0;
+ }
+ const contextLength = Math.max(0, ...dottedPaths.map((segments) => segments.length - 1));
+ return (value) => {
+ const path = [];
+ const ancestors = [];
+ const visited = /* @__PURE__ */ new Map();
+ const isRedacted = /* @__PURE__ */ __name((key) => {
+ if (keys.has(key)) {
+ return true;
+ }
+ return dottedPaths.some((segments) => {
+ const last = segments.length - 1;
+ if (segments[last] !== key || last > path.length) {
+ return false;
+ }
+ for (let i = 1; i <= last; i++) {
+ if (segments[last - i] !== path[path.length - i]) {
+ return false;
+ }
+ }
+ return true;
+ });
+ }, "isRedacted");
+ const visitProperty = /* @__PURE__ */ __name((key, propertyValue) => {
+ const normalizedKey = key.toLowerCase();
+ if (isRedacted(normalizedKey)) {
+ return censor;
+ }
+ if (typeof propertyValue !== "object" || propertyValue === null) {
+ return propertyValue;
+ }
+ path.push(normalizedKey);
+ const redacted = visit(propertyValue);
+ path.pop();
+ return redacted;
+ }, "visitProperty");
+ const visit = /* @__PURE__ */ __name((current) => {
+ if (typeof current !== "object" || current === null) {
+ return current;
+ }
+ if (ancestors.includes(current)) {
+ return CIRCULAR;
+ }
+ const context = contextLength > 0 ? JSON.stringify(path.slice(-contextLength)) : "";
+ let results = visited.get(context);
+ if (!results) {
+ results = /* @__PURE__ */ new Map();
+ visited.set(context, results);
+ }
+ if (results.has(current)) {
+ return results.get(current);
+ }
+ let redacted;
+ ancestors.push(current);
+ if (Array.isArray(current)) {
+ redacted = redactArray(current);
+ } else if (Object.getPrototypeOf(current) === Object.prototype) {
+ redacted = redactObject(current);
+ } else if (current instanceof Map) {
+ redacted = redactMap(current);
+ } else if (current instanceof Set) {
+ redacted = redactSet(current);
+ } else if (isOpaque(current)) {
+ redacted = current;
+ } else {
+ redacted = redactObject(current);
+ }
+ ancestors.pop();
+ results.set(current, redacted);
+ return redacted;
+ }, "visit");
+ const redactArray = /* @__PURE__ */ __name((array) => {
+ let copy;
+ for (let i = 0; i < array.length; i++) {
+ const redacted = visit(array[i]);
+ if (!Object.is(redacted, array[i])) {
+ copy ??= array.slice();
+ copy[i] = redacted;
+ }
+ }
+ return copy ?? array;
+ }, "redactArray");
+ const redactMap = /* @__PURE__ */ __name((map2) => {
+ let changed = false;
+ const entries = [];
+ for (const [key, entryValue] of map2) {
+ const redacted = typeof key === "string" ? visitProperty(key, entryValue) : visit(entryValue);
+ changed ||= !Object.is(redacted, entryValue);
+ entries.push([key, redacted]);
+ }
+ return changed ? new Map(entries) : map2;
+ }, "redactMap");
+ const redactSet = /* @__PURE__ */ __name((set) => {
+ let changed = false;
+ const values = [];
+ for (const setValue of set) {
+ const redacted = visit(setValue);
+ changed ||= !Object.is(redacted, setValue);
+ values.push(redacted);
+ }
+ return changed ? new Set(values) : set;
+ }, "redactSet");
+ const redactObject = /* @__PURE__ */ __name((object) => {
+ const source = object;
+ const keysToVisit = Object.keys(source);
+ if (object instanceof Error) {
+ for (const key of ["cause", "errors"]) {
+ if (Object.prototype.hasOwnProperty.call(object, key) && !keysToVisit.includes(key)) {
+ keysToVisit.push(key);
+ }
+ }
+ }
+ let changes;
+ for (const key of keysToVisit) {
+ const original = source[key];
+ const redacted = visitProperty(key, original);
+ if (!Object.is(redacted, original)) {
+ changes ??= /* @__PURE__ */ new Map();
+ changes.set(key, redacted);
+ }
+ }
+ if (!changes) {
+ return object;
+ }
+ if (Object.getPrototypeOf(object) === Object.prototype) {
+ const copy = { ...source };
+ for (const [key, redacted] of changes) {
+ if (key === "__proto__") {
+ Object.defineProperty(copy, key, {
+ value: redacted,
+ enumerable: true,
+ writable: true,
+ configurable: true
+ });
+ } else {
+ copy[key] = redacted;
+ }
+ }
+ return copy;
+ }
+ const descriptors = Object.getOwnPropertyDescriptors(object);
+ if (object instanceof Error && descriptors.stack?.get) {
+ descriptors.stack = {
+ value: object.stack,
+ enumerable: descriptors.stack.enumerable,
+ writable: true,
+ configurable: true
+ };
+ }
+ for (const [key, redacted] of changes) {
+ descriptors[key] = {
+ value: redacted,
+ enumerable: descriptors[key].enumerable,
+ writable: true,
+ configurable: true
+ };
+ }
+ return Object.create(Object.getPrototypeOf(object), descriptors);
+ }, "redactObject");
+ try {
+ return visit(value);
+ } catch {
+ return censor;
+ }
+ };
+}
+function isOpaque(value) {
+ return value instanceof Date || value instanceof RegExp || value instanceof Promise || value instanceof WeakMap || value instanceof WeakSet || value instanceof ArrayBuffer || ArrayBuffer.isView(value);
+}
+var DEFAULT_REDACT_CENSOR, CIRCULAR;
+var init_redact_util = __esm({
+ "../../node_modules/.pnpm/@nestjs+common@12.2.0_reflect-metadata@0.2.2_rxjs@7.8.2/node_modules/@nestjs/common/services/utils/redact.util.js"() {
+ DEFAULT_REDACT_CENSOR = "[REDACTED]";
+ CIRCULAR = "[Circular]";
+ __name(createRedactor, "createRedactor");
+ __name(isOpaque, "isOpaque");
+ }
+});
+
+// ../../node_modules/.pnpm/@nestjs+common@12.2.0_reflect-metadata@0.2.2_rxjs@7.8.2/node_modules/@nestjs/common/services/console-logger.service.js
+import { inspect } from "util";
+var ConsoleLogger_1, DEFAULT_DEPTH, MAX_ERROR_DEPTH, MAX_JSON_LENGTH, DEFAULT_LOG_LEVELS, reportedInvalidEnvLogLevel, dateTimeFormatter, ConsoleLogger;
+var init_console_logger_service = __esm({
+ "../../node_modules/.pnpm/@nestjs+common@12.2.0_reflect-metadata@0.2.2_rxjs@7.8.2/node_modules/@nestjs/common/services/console-logger.service.js"() {
+ init_tslib_es6();
+ init_core();
+ init_cli_colors_util();
+ init_shared_utils();
+ init_get_env_log_levels_util();
+ init_is_log_level_enabled_util();
+ init_redact_util();
+ DEFAULT_DEPTH = 5;
+ MAX_ERROR_DEPTH = 5;
+ MAX_JSON_LENGTH = 1e6;
+ DEFAULT_LOG_LEVELS = [
+ "log",
+ "error",
+ "warn",
+ "debug",
+ "verbose",
+ "fatal"
+ ];
+ dateTimeFormatter = new Intl.DateTimeFormat(void 0, {
+ year: "numeric",
+ hour: "numeric",
+ minute: "numeric",
+ second: "numeric",
+ day: "2-digit",
+ month: "2-digit"
+ });
+ ConsoleLogger = class ConsoleLogger2 {
+ static {
+ __name(this, "ConsoleLogger");
+ }
+ static {
+ ConsoleLogger_1 = this;
+ }
+ /**
+ * The options of the logger.
+ */
+ options;
+ /**
+ * The context of the logger (can be set manually or automatically inferred).
+ */
+ context;
+ /**
+ * The original context of the logger (set in the constructor).
+ */
+ originalContext;
+ /**
+ * The options used for the "inspect" method.
+ */
+ inspectOptions;
+ /**
+ * The last timestamp at which the log message was printed.
+ */
+ static lastTimestampAt;
+ /**
+ * Masks the properties set in the `redact` option.
+ */
+ redactor;
+ constructor(contextOrOptions, options) {
+ let [context, opts] = isString(contextOrOptions) ? [contextOrOptions, options] : options ? [void 0, options] : [contextOrOptions?.context, contextOrOptions];
+ opts = opts ?? {};
+ opts.colors ??= opts.colors ?? (opts.json ? false : isColorAllowed());
+ opts.prefix ??= "Nest";
+ this.options = opts;
+ this.inspectOptions = this.getInspectOptions();
+ if (opts.redact) {
+ this.redactor = Array.isArray(opts.redact) ? createRedactor(opts.redact) : createRedactor(opts.redact.paths, opts.redact.censor);
+ }
+ if (context) {
+ this.context = context;
+ this.originalContext = context;
+ }
+ }
+ log(message, ...optionalParams) {
+ if (!this.isLevelEnabled("log")) {
+ return;
+ }
+ const { messages, context, params } = this.getContextAndMessagesToPrint([
+ message,
+ ...optionalParams
+ ]);
+ this.printMessages(messages, context, "log", "stdout", void 0, params);
+ }
+ error(message, ...optionalParams) {
+ if (!this.isLevelEnabled("error")) {
+ return;
+ }
+ const { messages, context, stack, params } = this.getContextAndStackAndMessagesToPrint([message, ...optionalParams]);
+ this.printMessages(messages, context, "error", "stderr", stack, params);
+ this.printStackTrace(stack);
+ }
+ warn(message, ...optionalParams) {
+ if (!this.isLevelEnabled("warn")) {
+ return;
+ }
+ const { messages, context, params } = this.getContextAndMessagesToPrint([
+ message,
+ ...optionalParams
+ ]);
+ this.printMessages(messages, context, "warn", "stdout", void 0, params);
+ }
+ debug(message, ...optionalParams) {
+ if (!this.isLevelEnabled("debug")) {
+ return;
+ }
+ const { messages, context, params } = this.getContextAndMessagesToPrint([
+ message,
+ ...optionalParams
+ ]);
+ this.printMessages(messages, context, "debug", "stdout", void 0, params);
+ }
+ verbose(message, ...optionalParams) {
+ if (!this.isLevelEnabled("verbose")) {
+ return;
+ }
+ const { messages, context, params } = this.getContextAndMessagesToPrint([
+ message,
+ ...optionalParams
+ ]);
+ this.printMessages(messages, context, "verbose", "stdout", void 0, params);
+ }
+ fatal(message, ...optionalParams) {
+ if (!this.isLevelEnabled("fatal")) {
+ return;
+ }
+ const { messages, context, stack, params } = this.getContextAndStackAndMessagesToPrint([message, ...optionalParams]);
+ this.printMessages(messages, context, "fatal", "stderr", stack, params);
+ this.printStackTrace(stack);
+ }
+ /**
+ * Set log levels
+ * @param levels log levels
+ */
+ setLogLevels(levels) {
+ if (!this.options) {
+ this.options = {};
+ }
+ this.options.logLevels = levels;
+ }
+ /**
+ * Set logger context
+ * @param context context
+ */
+ setContext(context) {
+ this.context = context;
+ }
+ /**
+ * Resets the logger context to the value that was passed in the constructor.
+ */
+ resetContext() {
+ this.context = this.originalContext;
+ }
+ isLevelEnabled(level) {
+ if (this.options && !this.options.logLevels) {
+ this.options.logLevels = this.getDefaultLogLevels();
+ }
+ const logLevels = this.options?.logLevels;
+ return isLogLevelEnabled(level, logLevels);
+ }
+ /**
+ * Returns the levels used when none were passed to the constructor: the
+ * `NEST_LOG_LEVEL` environment variable if it is set, every level otherwise.
+ * Called on the first level check rather than in the constructor, so that
+ * the default logger also sees variables loaded after "@nestjs/common" was
+ * imported (for example, from a `.env` file).
+ */
+ getDefaultLogLevels() {
+ const envLogLevels = getEnvLogLevels();
+ if (envLogLevels !== false) {
+ return envLogLevels ?? DEFAULT_LOG_LEVELS;
+ }
+ const value = process.env[LOG_LEVEL_ENV_VAR];
+ if (reportedInvalidEnvLogLevel !== value) {
+ reportedInvalidEnvLogLevel = value;
+ this.options.logLevels = DEFAULT_LOG_LEVELS;
+ this.warn(`Invalid ${LOG_LEVEL_ENV_VAR} value "${value}". Expected a log level ("warn"), a comma-separated list ("warn,error") or a threshold (">=warn"). Every log level is enabled instead.`, "ConsoleLogger");
+ }
+ return DEFAULT_LOG_LEVELS;
+ }
+ getTimestamp() {
+ return dateTimeFormatter.format(Date.now());
+ }
+ printMessages(messages, context = "", logLevel = "log", writeStreamType, errorStack, params) {
+ if (this.redactor) {
+ messages = messages.map((message) => this.redact(this.resolveMessage(message)));
+ params = params && this.redact(params);
+ }
+ if (this.options.json) {
+ const { messages: jsonMessages, error } = this.extractJsonError(messages.map((message) => this.resolveMessage(message)));
+ jsonMessages.forEach((message, index) => {
+ this.printAsJson(message, {
+ context,
+ logLevel,
+ writeStreamType,
+ errorStack,
+ params,
+ // The error belongs to the first record (the log message).
+ error: index === 0 ? error : void 0
+ });
+ });
+ return;
+ }
+ messages.forEach((message) => {
+ const pidMessage = this.formatPid(process.pid);
+ const contextMessage = this.formatContext(context);
+ const timestampDiff = this.updateAndGetTimestampDiff();
+ const formattedLogLevel = logLevel.toUpperCase().padStart(7, " ");
+ const formattedMessage = this.formatMessage(logLevel, message, pidMessage, formattedLogLevel, contextMessage, timestampDiff, params);
+ if (this.options.forceConsole) {
+ if (writeStreamType === "stderr") {
+ console.error(formattedMessage.trim());
+ } else {
+ console.log(formattedMessage.trim());
+ }
+ } else {
+ process[writeStreamType ?? "stdout"].write(formattedMessage);
+ }
+ });
+ }
+ printAsJson(message, options) {
+ const logObject = this.getJsonLogObject(message, options);
+ const formattedMessage = !this.options.colors && this.inspectOptions.compact === true ? this.stringifyJsonLogObject(logObject) : inspect(logObject, this.inspectOptions);
+ if (this.options.forceConsole) {
+ if (options.writeStreamType === "stderr") {
+ console.error(formattedMessage);
+ } else {
+ console.log(formattedMessage);
+ }
+ } else {
+ process[options.writeStreamType ?? "stdout"].write(`${formattedMessage}
+`);
+ }
+ }
+ getJsonLogObject(message, options) {
+ const logObject = {
+ level: options.logLevel,
+ pid: process.pid,
+ timestamp: Date.now(),
+ message
+ };
+ if (options.context) {
+ logObject.context = options.context;
+ }
+ if (options.errorStack) {
+ logObject.stack = options.errorStack;
+ }
+ if (options.error) {
+ logObject.error = this.serializeError(options.error);
+ }
+ if (options.params) {
+ if (this.options.flattenParams) {
+ for (const [key, value] of Object.entries(options.params)) {
+ if (!(key in logObject)) {
+ logObject[key] = value;
+ }
+ }
+ } else {
+ logObject.params = options.params;
+ }
+ }
+ return logObject;
+ }
+ /**
+ * Pulls the first `Error` out of the messages so that it can be attached to
+ * the log record as a structured `error` field instead of being printed as
+ * a separate record. When the error is the message itself, the record's
+ * message becomes the error's message.
+ */
+ extractJsonError(messages) {
+ const errorIndex = messages.findIndex((message) => message instanceof Error);
+ if (errorIndex === -1) {
+ return { messages };
+ }
+ const error = messages[errorIndex];
+ const remainingMessages = errorIndex === 0 ? [error.message, ...messages.slice(1)] : messages.filter((_, index) => index !== errorIndex);
+ return { messages: remainingMessages, error };
+ }
+ /**
+ * Converts an error into a plain object: `name`, `message`, `stack`, own
+ * primitive properties (e.g. `code`), and, recursively, `cause` and the
+ * `errors` of an `AggregateError`, up to a fixed depth.
+ */
+ serializeError(error, depth = 0, ancestors = /* @__PURE__ */ new Set()) {
+ const serialized = {
+ name: error.name,
+ message: error.message,
+ stack: error.stack
+ };
+ for (const [key, value] of Object.entries(error)) {
+ if (key in serialized || key === "cause" || key === "errors") {
+ continue;
+ }
+ const isPrimitive = value === null || typeof value !== "object" && typeof value !== "function";
+ if (isPrimitive) {
+ serialized[key] = value;
+ }
+ }
+ const serializeNested = /* @__PURE__ */ __name((value) => {
+ if (!(value instanceof Error)) {
+ return value;
+ }
+ if (ancestors.has(value)) {
+ return "[Circular]";
+ }
+ if (depth + 1 > MAX_ERROR_DEPTH) {
+ return "[Truncated]";
+ }
+ return this.serializeError(value, depth + 1, ancestors);
+ }, "serializeNested");
+ ancestors.add(error);
+ if (error.cause !== void 0) {
+ serialized.cause = serializeNested(error.cause);
+ }
+ const errors = error.errors;
+ if (Array.isArray(errors)) {
+ serialized.errors = errors.map(serializeNested);
+ }
+ ancestors.delete(error);
+ return serialized;
+ }
+ /**
+ * Masks the properties set in the `redact` option. Returns the value itself
+ * when the option isn't set or nothing matched.
+ */
+ redact(value) {
+ return this.redactor ? this.redactor(value) : value;
+ }
+ formatPid(pid) {
+ return `[${this.options.prefix}] ${pid} - `;
+ }
+ formatContext(context) {
+ if (!context) {
+ return "";
+ }
+ context = `[${context}] `;
+ return this.options.colors ? yellow(context) : context;
+ }
+ formatMessage(logLevel, message, pidMessage, formattedLogLevel, contextMessage, timestampDiff, params) {
+ const output = this.stringifyMessage(message, logLevel);
+ pidMessage = this.colorize(pidMessage, logLevel);
+ formattedLogLevel = this.colorize(formattedLogLevel, logLevel);
+ const paramsOutput = params ? ` ${this.stringifyParams(params)}` : "";
+ return `${pidMessage}${this.getTimestamp()} ${formattedLogLevel} ${contextMessage}${output}${paramsOutput}${timestampDiff}
+`;
+ }
+ stringifyParams(params) {
+ return inspect(params, {
+ ...this.inspectOptions,
+ compact: true,
+ breakLength: Infinity
+ });
+ }
+ /**
+ * Resolves a message passed as a function: a class resolves to its name,
+ * any other function is called (lazy message) and its result re-resolved.
+ */
+ resolveMessage(message) {
+ if (isFunction(message)) {
+ const messageAsStr = Function.prototype.toString.call(message);
+ const isClass = messageAsStr.startsWith("class ");
+ if (isClass) {
+ return message.name;
+ }
+ return this.resolveMessage(message());
+ }
+ return message;
+ }
+ stringifyMessage(message, logLevel) {
+ message = this.resolveMessage(message);
+ if (typeof message === "string") {
+ return this.colorize(message, logLevel);
+ }
+ const outputText = inspect(message, this.inspectOptions);
+ if (isPlainObject(message)) {
+ return `Object(${Object.keys(message).length}) ${outputText}`;
+ }
+ if (Array.isArray(message)) {
+ return `Array(${message.length}) ${outputText}`;
+ }
+ return outputText;
+ }
+ colorize(message, logLevel) {
+ if (!this.options.colors || this.options.json) {
+ return message;
+ }
+ const color = this.getColorByLogLevel(logLevel);
+ return color(message);
+ }
+ printStackTrace(stack) {
+ if (!stack || this.options.json) {
+ return;
+ }
+ if (this.options.forceConsole) {
+ console.error(stack);
+ } else {
+ process.stderr.write(`${stack}
+`);
+ }
+ }
+ updateAndGetTimestampDiff() {
+ const includeTimestamp = ConsoleLogger_1.lastTimestampAt && this.options?.timestamp;
+ const result = includeTimestamp ? this.formatTimestampDiff(Date.now() - ConsoleLogger_1.lastTimestampAt) : "";
+ ConsoleLogger_1.lastTimestampAt = Date.now();
+ return result;
+ }
+ formatTimestampDiff(timestampDiff) {
+ const formattedDiff = ` +${timestampDiff}ms`;
+ return this.options.colors ? yellow(formattedDiff) : formattedDiff;
+ }
+ getInspectOptions() {
+ let breakLength = this.options.breakLength;
+ if (typeof breakLength === "undefined") {
+ breakLength = this.options.colors ? this.options.compact ? Infinity : void 0 : this.options.compact === false ? void 0 : Infinity;
+ }
+ const inspectOptions = {
+ depth: this.options.depth ?? DEFAULT_DEPTH,
+ sorted: this.options.sorted,
+ showHidden: this.options.showHidden,
+ compact: this.options.compact ?? (this.options.json ? true : false),
+ colors: this.options.colors,
+ breakLength
+ };
+ if (typeof this.options.maxArrayLength !== "undefined") {
+ inspectOptions.maxArrayLength = this.options.maxArrayLength;
+ }
+ if (typeof this.options.maxStringLength !== "undefined") {
+ inspectOptions.maxStringLength = this.options.maxStringLength;
+ }
+ return inspectOptions;
+ }
+ /**
+ * Serializes a JSON log object without ever throwing: circular references
+ * are replaced with "[Circular]", whatever comes past `MAX_JSON_LENGTH`
+ * characters with "[Truncated]", and a value that cannot be serialized
+ * (e.g. a throwing `toJSON()`) makes the whole record fall back to `inspect`.
+ */
+ stringifyJsonLogObject(logObject) {
+ const replacer = this.stringifyReplacer.bind(this);
+ const ancestors = [];
+ let length = 0;
+ try {
+ return JSON.stringify(logObject, function(key, value) {
+ value = replacer(key, value);
+ length += (Array.isArray(this) ? 0 : key.length) + (isString(value) || typeof value === "number" ? String(value).length : 1);
+ if (length > MAX_JSON_LENGTH) {
+ return isString(value) || typeof value === "object" && value !== null ? "[Truncated]" : value;
+ }
+ if (typeof value !== "object" || value === null) {
+ return value;
+ }
+ while (ancestors.length > 0 && ancestors[ancestors.length - 1] !== this) {
+ ancestors.pop();
+ }
+ if (ancestors.includes(value)) {
+ return "[Circular]";
+ }
+ ancestors.push(value);
+ return value;
+ });
+ } catch {
+ return inspect(logObject, {
+ ...this.inspectOptions,
+ colors: false,
+ compact: true,
+ breakLength: Infinity
+ });
+ }
+ }
+ stringifyReplacer(key, value) {
+ if (typeof value === "bigint") {
+ return value.toString();
+ }
+ if (typeof value === "symbol") {
+ return value.toString();
+ }
+ if (value instanceof Map || value instanceof Set || value instanceof Error) {
+ return `${inspect(value, this.inspectOptions)}`;
+ }
+ return value;
+ }
+ getContextAndMessagesToPrint(args) {
+ if (args?.length <= 1) {
+ return { messages: args, context: this.context };
+ }
+ const lastElement = args[args.length - 1];
+ const isContext = isString(lastElement);
+ let context;
+ let remainingArgs;
+ if (isContext) {
+ context = lastElement;
+ remainingArgs = args.slice(0, args.length - 1);
+ } else {
+ context = this.context;
+ remainingArgs = args;
+ }
+ if (this.options.structuredParams === false) {
+ return { messages: remainingArgs, context };
+ }
+ const messages = [remainingArgs[0]];
+ const paramObjects = [];
+ for (let i = 1; i < remainingArgs.length; i++) {
+ if (isPlainObject(remainingArgs[i])) {
+ paramObjects.push(remainingArgs[i]);
+ } else {
+ messages.push(remainingArgs[i]);
+ }
+ }
+ const params = paramObjects.length > 0 ? Object.assign({}, ...paramObjects) : void 0;
+ return { messages, context, params };
+ }
+ getContextAndStackAndMessagesToPrint(args) {
+ if (args.length === 1) {
+ return { ...this.getContextAndMessagesToPrint(args) };
+ }
+ if (args.length === 2) {
+ if (this.isStackFormat(args[1]) || isUndefined(args[1])) {
+ return {
+ messages: [args[0]],
+ stack: args[1],
+ context: this.context
+ };
+ }
+ return { ...this.getContextAndMessagesToPrint(args) };
+ }
+ const trailingArg = args[args.length - 1];
+ if (this.isStackFormat(trailingArg)) {
+ const { messages: messages2, context: context2, params: params2 } = this.getContextAndMessagesToPrint(args.slice(0, -1));
+ return {
+ messages: messages2,
+ context: context2,
+ stack: trailingArg,
+ params: params2
+ };
+ }
+ const { messages, context, params } = this.getContextAndMessagesToPrint(args);
+ if (messages?.length <= 1) {
+ return { messages, context, params };
+ }
+ const lastElement = messages[messages.length - 1];
+ const isStack = isString(lastElement);
+ if (!isStack && !isUndefined(lastElement)) {
+ return { messages, context, params };
+ }
+ return {
+ stack: lastElement,
+ messages: messages.slice(0, messages.length - 1),
+ context,
+ params
+ };
+ }
+ isStackFormat(stack) {
+ if (!isString(stack) && !isUndefined(stack)) {
+ return false;
+ }
+ return /\n[ \t]+at .+:\d+:\d+/.test(stack);
+ }
+ getColorByLogLevel(level) {
+ switch (level) {
+ case "debug":
+ return clc.magentaBright;
+ case "warn":
+ return clc.yellow;
+ case "error":
+ return clc.red;
+ case "verbose":
+ return clc.cyanBright;
+ case "fatal":
+ return clc.bold;
+ default:
+ return clc.green;
+ }
+ }
+ };
+ ConsoleLogger = ConsoleLogger_1 = __decorate([
+ Injectable(),
+ __param(0, Optional()),
+ __param(1, Optional()),
+ __metadata("design:paramtypes", [Object, Object])
+ ], ConsoleLogger);
+ }
+});
+
+// ../../node_modules/.pnpm/@nestjs+common@12.2.0_reflect-metadata@0.2.2_rxjs@7.8.2/node_modules/@nestjs/common/services/utils/index.js
+var init_utils = __esm({
+ "../../node_modules/.pnpm/@nestjs+common@12.2.0_reflect-metadata@0.2.2_rxjs@7.8.2/node_modules/@nestjs/common/services/utils/index.js"() {
+ init_filter_log_levels_util();
+ init_is_log_level_enabled_util();
+ init_is_log_level_util();
+ }
+});
+
+// ../../node_modules/.pnpm/@nestjs+common@12.2.0_reflect-metadata@0.2.2_rxjs@7.8.2/node_modules/@nestjs/common/services/logger.service.js
+var Logger_1, DEFAULT_LOGGER, dateTimeFormatter2, Logger;
+var init_logger_service = __esm({
+ "../../node_modules/.pnpm/@nestjs+common@12.2.0_reflect-metadata@0.2.2_rxjs@7.8.2/node_modules/@nestjs/common/services/logger.service.js"() {
+ init_tslib_es6();
+ init_core();
+ init_shared_utils();
+ init_console_logger_service();
+ init_utils();
+ init_log_levels_constant();
+ DEFAULT_LOGGER = new ConsoleLogger();
+ dateTimeFormatter2 = new Intl.DateTimeFormat(void 0, {
+ year: "numeric",
+ hour: "numeric",
+ minute: "numeric",
+ second: "numeric",
+ day: "2-digit",
+ month: "2-digit"
+ });
+ Logger = class Logger2 {
+ static {
+ __name(this, "Logger");
+ }
+ static {
+ Logger_1 = this;
+ }
+ context;
+ options;
+ static logBuffer = new Array();
+ static staticInstanceRef = DEFAULT_LOGGER;
+ static logLevels;
+ static isBufferAttached;
+ localInstanceRef;
+ /**
+ * The `Logger.logLevels` the local instance was last configured with.
+ */
+ localInstanceLogLevels;
+ static WrapBuffer = /* @__PURE__ */ __name((target, propertyKey, descriptor) => {
+ const originalFn = descriptor.value;
+ descriptor.value = function(...args) {
+ if (Logger_1.isBufferAttached) {
+ Logger_1.logBuffer.push({
+ methodRef: originalFn.bind(this),
+ arguments: args
+ });
+ return;
+ }
+ return originalFn.call(this, ...args);
+ };
+ }, "WrapBuffer");
+ constructor(context, options = {}) {
+ this.context = context;
+ this.options = options;
+ }
+ get localInstance() {
+ if (Logger_1.staticInstanceRef === DEFAULT_LOGGER) {
+ return this.registerLocalInstanceRef();
+ } else if (Logger_1.staticInstanceRef instanceof Logger_1) {
+ const prototype = Object.getPrototypeOf(Logger_1.staticInstanceRef);
+ if (prototype.constructor === Logger_1) {
+ return this.registerLocalInstanceRef();
+ }
+ }
+ return Logger_1.staticInstanceRef;
+ }
+ error(message, ...optionalParams) {
+ optionalParams = this.context ? (optionalParams.length ? optionalParams : [void 0]).concat(this.context) : optionalParams;
+ this.localInstance?.error(message, ...optionalParams);
+ }
+ log(message, ...optionalParams) {
+ optionalParams = this.context ? optionalParams.concat(this.context) : optionalParams;
+ this.localInstance?.log(message, ...optionalParams);
+ }
+ warn(message, ...optionalParams) {
+ optionalParams = this.context ? optionalParams.concat(this.context) : optionalParams;
+ this.localInstance?.warn(message, ...optionalParams);
+ }
+ debug(message, ...optionalParams) {
+ optionalParams = this.context ? optionalParams.concat(this.context) : optionalParams;
+ this.localInstance?.debug?.(message, ...optionalParams);
+ }
+ verbose(message, ...optionalParams) {
+ optionalParams = this.context ? optionalParams.concat(this.context) : optionalParams;
+ this.localInstance?.verbose?.(message, ...optionalParams);
+ }
+ fatal(message, ...optionalParams) {
+ optionalParams = this.context ? optionalParams.concat(this.context) : optionalParams;
+ this.localInstance?.fatal?.(message, ...optionalParams);
+ }
+ static error(message, ...optionalParams) {
+ this.staticInstanceRef?.error(message, ...optionalParams);
+ }
+ static log(message, ...optionalParams) {
+ this.staticInstanceRef?.log(message, ...optionalParams);
+ }
+ static warn(message, ...optionalParams) {
+ this.staticInstanceRef?.warn(message, ...optionalParams);
+ }
+ static debug(message, ...optionalParams) {
+ this.staticInstanceRef?.debug?.(message, ...optionalParams);
+ }
+ static verbose(message, ...optionalParams) {
+ this.staticInstanceRef?.verbose?.(message, ...optionalParams);
+ }
+ static fatal(message, ...optionalParams) {
+ this.staticInstanceRef?.fatal?.(message, ...optionalParams);
+ }
+ /**
+ * Print buffered logs and detach buffer.
+ */
+ static flush() {
+ this.isBufferAttached = false;
+ this.logBuffer.forEach((item) => item.methodRef(...item.arguments));
+ this.logBuffer = [];
+ }
+ /**
+ * Attach buffer.
+ * Turns on initialization logs buffering.
+ */
+ static attachBuffer() {
+ this.isBufferAttached = true;
+ }
+ /**
+ * Detach buffer.
+ * Turns off initialization logs buffering.
+ */
+ static detachBuffer() {
+ this.isBufferAttached = false;
+ }
+ static getTimestamp() {
+ return dateTimeFormatter2.format(Date.now());
+ }
+ static overrideLogger(logger3) {
+ if (Array.isArray(logger3)) {
+ Logger_1.logLevels = logger3;
+ return this.staticInstanceRef?.setLogLevels?.(logger3);
+ }
+ if (isObject(logger3)) {
+ if (logger3 instanceof Logger_1 && logger3.constructor !== Logger_1) {
+ const errorMessage = `Using the "extends Logger" instruction is not allowed in Nest v9. Please, use "extends ConsoleLogger" instead.`;
+ this.staticInstanceRef?.error(errorMessage);
+ throw new Error(errorMessage);
+ }
+ this.staticInstanceRef = logger3;
+ } else {
+ this.staticInstanceRef = void 0;
+ }
+ }
+ static isLevelEnabled(level) {
+ const instance = Logger_1.staticInstanceRef;
+ if (!instance) {
+ return false;
+ }
+ if (instance instanceof ConsoleLogger) {
+ return instance.isLevelEnabled(level);
+ }
+ const logLevels = Logger_1.logLevels;
+ return logLevels ? isLogLevelEnabled(level, logLevels) : true;
+ }
+ registerLocalInstanceRef() {
+ if (this.localInstanceRef) {
+ if (Logger_1.logLevels && this.localInstanceLogLevels !== Logger_1.logLevels) {
+ this.localInstanceRef.setLogLevels?.(Logger_1.logLevels);
+ this.localInstanceLogLevels = Logger_1.logLevels;
+ }
+ return this.localInstanceRef;
+ }
+ this.localInstanceLogLevels = Logger_1.logLevels;
+ this.localInstanceRef = new ConsoleLogger(this.context, {
+ timestamp: this.options?.timestamp,
+ logLevels: Logger_1.logLevels
+ });
+ return this.localInstanceRef;
+ }
+ };
+ __decorate([
+ Logger.WrapBuffer,
+ __metadata("design:type", Function),
+ __metadata("design:paramtypes", [Object, Object]),
+ __metadata("design:returntype", void 0)
+ ], Logger.prototype, "error", null);
+ __decorate([
+ Logger.WrapBuffer,
+ __metadata("design:type", Function),
+ __metadata("design:paramtypes", [Object, Object]),
+ __metadata("design:returntype", void 0)
+ ], Logger.prototype, "log", null);
+ __decorate([
+ Logger.WrapBuffer,
+ __metadata("design:type", Function),
+ __metadata("design:paramtypes", [Object, Object]),
+ __metadata("design:returntype", void 0)
+ ], Logger.prototype, "warn", null);
+ __decorate([
+ Logger.WrapBuffer,
+ __metadata("design:type", Function),
+ __metadata("design:paramtypes", [Object, Object]),
+ __metadata("design:returntype", void 0)
+ ], Logger.prototype, "debug", null);
+ __decorate([
+ Logger.WrapBuffer,
+ __metadata("design:type", Function),
+ __metadata("design:paramtypes", [Object, Object]),
+ __metadata("design:returntype", void 0)
+ ], Logger.prototype, "verbose", null);
+ __decorate([
+ Logger.WrapBuffer,
+ __metadata("design:type", Function),
+ __metadata("design:paramtypes", [Object, Object]),
+ __metadata("design:returntype", void 0)
+ ], Logger.prototype, "fatal", null);
+ __decorate([
+ Logger.WrapBuffer,
+ __metadata("design:type", Function),
+ __metadata("design:paramtypes", [Object, Object]),
+ __metadata("design:returntype", void 0)
+ ], Logger, "error", null);
+ __decorate([
+ Logger.WrapBuffer,
+ __metadata("design:type", Function),
+ __metadata("design:paramtypes", [Object, Object]),
+ __metadata("design:returntype", void 0)
+ ], Logger, "log", null);
+ __decorate([
+ Logger.WrapBuffer,
+ __metadata("design:type", Function),
+ __metadata("design:paramtypes", [Object, Object]),
+ __metadata("design:returntype", void 0)
+ ], Logger, "warn", null);
+ __decorate([
+ Logger.WrapBuffer,
+ __metadata("design:type", Function),
+ __metadata("design:paramtypes", [Object, Object]),
+ __metadata("design:returntype", void 0)
+ ], Logger, "debug", null);
+ __decorate([
+ Logger.WrapBuffer,
+ __metadata("design:type", Function),
+ __metadata("design:paramtypes", [Object, Object]),
+ __metadata("design:returntype", void 0)
+ ], Logger, "verbose", null);
+ __decorate([
+ Logger.WrapBuffer,
+ __metadata("design:type", Function),
+ __metadata("design:paramtypes", [Object, Object]),
+ __metadata("design:returntype", void 0)
+ ], Logger, "fatal", null);
+ Logger = Logger_1 = __decorate([
+ Injectable(),
+ __param(0, Optional()),
+ __param(1, Optional()),
+ __metadata("design:paramtypes", [String, Object])
+ ], Logger);
+ }
+});
+
+// ../../node_modules/.pnpm/@nestjs+common@12.2.0_reflect-metadata@0.2.2_rxjs@7.8.2/node_modules/@nestjs/common/enums/shutdown-signal.enum.js
+var ShutdownSignal;
+var init_shutdown_signal_enum = __esm({
+ "../../node_modules/.pnpm/@nestjs+common@12.2.0_reflect-metadata@0.2.2_rxjs@7.8.2/node_modules/@nestjs/common/enums/shutdown-signal.enum.js"() {
+ (function(ShutdownSignal2) {
+ ShutdownSignal2["SIGHUP"] = "SIGHUP";
+ ShutdownSignal2["SIGINT"] = "SIGINT";
+ ShutdownSignal2["SIGQUIT"] = "SIGQUIT";
+ ShutdownSignal2["SIGILL"] = "SIGILL";
+ ShutdownSignal2["SIGTRAP"] = "SIGTRAP";
+ ShutdownSignal2["SIGABRT"] = "SIGABRT";
+ ShutdownSignal2["SIGBUS"] = "SIGBUS";
+ ShutdownSignal2["SIGFPE"] = "SIGFPE";
+ ShutdownSignal2["SIGSEGV"] = "SIGSEGV";
+ ShutdownSignal2["SIGUSR2"] = "SIGUSR2";
+ ShutdownSignal2["SIGTERM"] = "SIGTERM";
+ })(ShutdownSignal || (ShutdownSignal = {}));
+ }
+});
+
+// ../../node_modules/.pnpm/@nestjs+common@12.2.0_reflect-metadata@0.2.2_rxjs@7.8.2/node_modules/@nestjs/common/enums/index.js
+var init_enums = __esm({
+ "../../node_modules/.pnpm/@nestjs+common@12.2.0_reflect-metadata@0.2.2_rxjs@7.8.2/node_modules/@nestjs/common/enums/index.js"() {
+ init_request_method_enum();
+ init_http_status_enum();
+ init_shutdown_signal_enum();
+ init_version_type_enum();
+ }
+});
+
+// ../../node_modules/.pnpm/@nestjs+common@12.2.0_reflect-metadata@0.2.2_rxjs@7.8.2/node_modules/@nestjs/common/services/index.js
+var init_services = __esm({
+ "../../node_modules/.pnpm/@nestjs+common@12.2.0_reflect-metadata@0.2.2_rxjs@7.8.2/node_modules/@nestjs/common/services/index.js"() {
+ init_console_logger_service();
+ init_logger_service();
+ init_filter_log_levels_util();
+ }
+});
+
+// ../../node_modules/.pnpm/@nestjs+common@12.2.0_reflect-metadata@0.2.2_rxjs@7.8.2/node_modules/@nestjs/common/file-stream/streamable-file.js
+import { Readable } from "stream";
+import { types } from "util";
+var StreamableFile;
+var init_streamable_file = __esm({
+ "../../node_modules/.pnpm/@nestjs+common@12.2.0_reflect-metadata@0.2.2_rxjs@7.8.2/node_modules/@nestjs/common/file-stream/streamable-file.js"() {
+ init_enums();
+ init_services();
+ init_shared_utils();
+ StreamableFile = class {
+ static {
+ __name(this, "StreamableFile");
+ }
+ options;
+ stream;
+ logger = new Logger("StreamableFile");
+ handleError = /* @__PURE__ */ __name((err, res) => {
+ if (res.destroyed) {
+ return;
+ }
+ if (res.headersSent) {
+ res.end();
+ return;
+ }
+ this.logError(err);
+ res.statusCode = HttpStatus.BAD_REQUEST;
+ res.send("Bad Request");
+ }, "handleError");
+ logError = /* @__PURE__ */ __name((err) => {
+ this.logger.error(err);
+ }, "logError");
+ constructor(bufferOrReadStream, options = {}) {
+ this.options = options;
+ if (types.isUint8Array(bufferOrReadStream)) {
+ this.stream = new Readable();
+ this.stream.push(bufferOrReadStream);
+ this.stream.push(null);
+ this.options = {
+ ...this.options,
+ length: this.options.length ?? bufferOrReadStream.length
+ };
+ } else if (bufferOrReadStream.pipe && isFunction(bufferOrReadStream.pipe)) {
+ this.stream = bufferOrReadStream;
+ if (isFunction(this.stream.on)) {
+ this.stream.on("error", () => {
+ });
+ }
+ }
+ }
+ getStream() {
+ return this.stream;
+ }
+ getHeaders() {
+ const { type = "application/octet-stream", disposition = void 0, length = void 0 } = this.options;
+ return {
+ type,
+ disposition,
+ length
+ };
+ }
+ get errorHandler() {
+ return this.handleError;
+ }
+ setErrorHandler(handler) {
+ this.handleError = handler;
+ return this;
+ }
+ get errorLogger() {
+ return this.logError;
+ }
+ setErrorLogger(handler) {
+ this.logError = handler;
+ return this;
+ }
+ };
+ }
+});
+
+// ../../node_modules/.pnpm/@nestjs+common@12.2.0_reflect-metadata@0.2.2_rxjs@7.8.2/node_modules/@nestjs/common/interfaces/version-options.interface.js
+var VERSION_NEUTRAL;
+var init_version_options_interface = __esm({
+ "../../node_modules/.pnpm/@nestjs+common@12.2.0_reflect-metadata@0.2.2_rxjs@7.8.2/node_modules/@nestjs/common/interfaces/version-options.interface.js"() {
+ VERSION_NEUTRAL = /* @__PURE__ */ Symbol("VERSION_NEUTRAL");
+ }
+});
+
+// ../../node_modules/.pnpm/@nestjs+common@12.2.0_reflect-metadata@0.2.2_rxjs@7.8.2/node_modules/@nestjs/common/utils/random-string-generator.util.js
+var randomStringGenerator;
+var init_random_string_generator_util = __esm({
+ "../../node_modules/.pnpm/@nestjs+common@12.2.0_reflect-metadata@0.2.2_rxjs@7.8.2/node_modules/@nestjs/common/utils/random-string-generator.util.js"() {
+ init_dist();
+ randomStringGenerator = /* @__PURE__ */ __name(() => uid(21), "randomStringGenerator");
+ }
+});
+
+// ../../node_modules/.pnpm/@nestjs+common@12.2.0_reflect-metadata@0.2.2_rxjs@7.8.2/node_modules/@nestjs/common/utils/load-package.util.js
+import { createRequire } from "module";
+async function loadPackage(packageName, context, loaderFn) {
+ const cached = packageCache.get(packageName);
+ if (cached) {
+ return cached;
+ }
+ try {
+ const pkg = loaderFn ? await loaderFn() : await import(packageName);
+ packageCache.set(packageName, pkg);
+ return pkg;
+ } catch (e) {
+ logger.error(MISSING_REQUIRED_DEPENDENCY(packageName, context));
+ Logger.flush();
+ process.exit(1);
+ }
+}
+function loadPackageSync(packageName, context, loaderFn) {
+ const cached = packageCache.get(packageName);
+ if (cached) {
+ return cached;
+ }
+ try {
+ const pkg = loaderFn ? loaderFn() : createRequire(import.meta.url)(packageName);
+ packageCache.set(packageName, pkg);
+ return pkg;
+ } catch (e) {
+ logger.error(MISSING_REQUIRED_DEPENDENCY(packageName, context));
+ Logger.flush();
+ process.exit(1);
+ }
+}
+function loadPackageCached(packageName, context) {
+ const cached = packageCache.get(packageName);
+ if (!cached) {
+ if (context) {
+ return loadPackageSync(packageName, context);
+ }
+ throw new Error(`Package "${packageName}" has not been loaded yet. Ensure loadPackage("${packageName}", ...) has been awaited before calling loadPackageCached.`);
+ }
+ return cached;
+}
+async function tryLoadPackage(packageName, loaderFn) {
+ const cached = packageCache.get(packageName);
+ if (cached) {
+ return cached;
+ }
+ try {
+ const pkg = loaderFn ? await loaderFn() : await import(packageName);
+ packageCache.set(packageName, pkg);
+ return pkg;
+ } catch {
+ return null;
+ }
+}
+var MISSING_REQUIRED_DEPENDENCY, logger, packageCache;
+var init_load_package_util = __esm({
+ "../../node_modules/.pnpm/@nestjs+common@12.2.0_reflect-metadata@0.2.2_rxjs@7.8.2/node_modules/@nestjs/common/utils/load-package.util.js"() {
+ init_logger_service();
+ MISSING_REQUIRED_DEPENDENCY = /* @__PURE__ */ __name((name, reason) => `The "${name}" package is missing. Please, make sure to install it to use ${reason}.`, "MISSING_REQUIRED_DEPENDENCY");
+ logger = new Logger("PackageLoader");
+ packageCache = /* @__PURE__ */ new Map();
+ __name(loadPackage, "loadPackage");
+ __name(loadPackageSync, "loadPackageSync");
+ __name(loadPackageCached, "loadPackageCached");
+ __name(tryLoadPackage, "tryLoadPackage");
+ }
+});
+
+// ../../node_modules/.pnpm/@nestjs+common@12.2.0_reflect-metadata@0.2.2_rxjs@7.8.2/node_modules/@nestjs/common/decorators/modules/index.js
+var init_modules = __esm({
+ "../../node_modules/.pnpm/@nestjs+common@12.2.0_reflect-metadata@0.2.2_rxjs@7.8.2/node_modules/@nestjs/common/decorators/modules/index.js"() {
+ init_global_decorator();
+ init_module_decorator();
+ }
+});
+
+// ../../node_modules/.pnpm/@nestjs+common@12.2.0_reflect-metadata@0.2.2_rxjs@7.8.2/node_modules/@nestjs/common/enums/route-paramtypes.enum.js
+var RouteParamtypes;
+var init_route_paramtypes_enum = __esm({
+ "../../node_modules/.pnpm/@nestjs+common@12.2.0_reflect-metadata@0.2.2_rxjs@7.8.2/node_modules/@nestjs/common/enums/route-paramtypes.enum.js"() {
+ (function(RouteParamtypes2) {
+ RouteParamtypes2[RouteParamtypes2["REQUEST"] = 0] = "REQUEST";
+ RouteParamtypes2[RouteParamtypes2["RESPONSE"] = 1] = "RESPONSE";
+ RouteParamtypes2[RouteParamtypes2["NEXT"] = 2] = "NEXT";
+ RouteParamtypes2[RouteParamtypes2["BODY"] = 3] = "BODY";
+ RouteParamtypes2[RouteParamtypes2["QUERY"] = 4] = "QUERY";
+ RouteParamtypes2[RouteParamtypes2["PARAM"] = 5] = "PARAM";
+ RouteParamtypes2[RouteParamtypes2["HEADERS"] = 6] = "HEADERS";
+ RouteParamtypes2[RouteParamtypes2["SESSION"] = 7] = "SESSION";
+ RouteParamtypes2[RouteParamtypes2["FILE"] = 8] = "FILE";
+ RouteParamtypes2[RouteParamtypes2["FILES"] = 9] = "FILES";
+ RouteParamtypes2[RouteParamtypes2["HOST"] = 10] = "HOST";
+ RouteParamtypes2[RouteParamtypes2["IP"] = 11] = "IP";
+ RouteParamtypes2[RouteParamtypes2["RAW_BODY"] = 12] = "RAW_BODY";
+ RouteParamtypes2[RouteParamtypes2["ACK"] = 13] = "ACK";
+ RouteParamtypes2[RouteParamtypes2["COOKIES"] = 14] = "COOKIES";
+ RouteParamtypes2[RouteParamtypes2["SIGNED_COOKIES"] = 15] = "SIGNED_COOKIES";
+ })(RouteParamtypes || (RouteParamtypes = {}));
+ }
+});
+
+// ../../node_modules/.pnpm/@nestjs+common@12.2.0_reflect-metadata@0.2.2_rxjs@7.8.2/node_modules/@nestjs/common/utils/parameter-decorator-options.util.js
+function isParameterDecoratorOptions(value) {
+ return !!value && typeof value === "object" && !isPipeLike(value) && ("schema" in value || "pipes" in value);
+}
+var isPipeLike;
+var init_parameter_decorator_options_util = __esm({
+ "../../node_modules/.pnpm/@nestjs+common@12.2.0_reflect-metadata@0.2.2_rxjs@7.8.2/node_modules/@nestjs/common/utils/parameter-decorator-options.util.js"() {
+ init_shared_utils();
+ isPipeLike = /* @__PURE__ */ __name((value) => isFunction(value?.transform) || isFunction(value) && value.prototype && isFunction(value.prototype.transform), "isPipeLike");
+ __name(isParameterDecoratorOptions, "isParameterDecoratorOptions");
+ }
+});
+
+// ../../node_modules/.pnpm/@nestjs+common@12.2.0_reflect-metadata@0.2.2_rxjs@7.8.2/node_modules/@nestjs/common/decorators/http/route-params.decorator.js
+function assignMetadata(args, paramtype, index, options, ...legacyPipes) {
+ const isOptionsObject = options !== null && typeof options === "object" && (isParameterDecoratorOptions(options) || "data" in options) && !("transform" in options) && legacyPipes.length === 0;
+ const normalizedOptions = isOptionsObject ? options : { data: options, pipes: legacyPipes };
+ return {
+ ...args,
+ [`${paramtype}:${index}`]: {
+ index,
+ data: normalizedOptions.data,
+ pipes: normalizedOptions.pipes ?? [],
+ ...normalizedOptions.schema !== void 0 && {
+ schema: normalizedOptions.schema
+ }
+ }
+ };
+}
+function createRouteParamDecorator(paramtype) {
+ return (data) => (target, key, index) => {
+ const args = Reflect.getMetadata(ROUTE_ARGS_METADATA, target.constructor, key) || {};
+ Reflect.defineMetadata(ROUTE_ARGS_METADATA, assignMetadata(args, paramtype, index, {
+ data
+ }), target.constructor, key);
+ };
+}
+function UploadedFile(fileKey, ...pipes) {
+ return createPipesRouteParamDecorator(RouteParamtypes.FILE)({
+ data: fileKey,
+ pipes
+ });
+}
+function UploadedFiles(...pipes) {
+ return createPipesRouteParamDecorator(RouteParamtypes.FILES)({
+ pipes
+ });
+}
+function Query(property, optionsOrPipe, ...pipes) {
+ const isPropertyOptions = isParameterDecoratorOptions(property);
+ if (isPropertyOptions) {
+ return createPipesRouteParamDecorator(RouteParamtypes.QUERY)({
+ pipes: property.pipes,
+ schema: property.schema
+ });
+ }
+ const isOptions = isParameterDecoratorOptions(optionsOrPipe);
+ const actualPipes = isOptions ? [...optionsOrPipe.pipes ?? [], ...pipes] : [optionsOrPipe, ...pipes].filter(Boolean);
+ return createPipesRouteParamDecorator(RouteParamtypes.QUERY)({
+ data: property,
+ pipes: actualPipes,
+ schema: isOptions ? optionsOrPipe.schema : void 0
+ });
+}
+function Body(property, optionsOrPipe, ...pipes) {
+ const isPropertyOptions = isParameterDecoratorOptions(property);
+ if (isPropertyOptions) {
+ return createPipesRouteParamDecorator(RouteParamtypes.BODY)({
+ pipes: property.pipes,
+ schema: property.schema
+ });
+ }
+ const isOptions = isParameterDecoratorOptions(optionsOrPipe);
+ const actualPipes = isOptions ? [...optionsOrPipe.pipes ?? [], ...pipes] : [optionsOrPipe, ...pipes].filter(Boolean);
+ return createPipesRouteParamDecorator(RouteParamtypes.BODY)({
+ data: property,
+ pipes: actualPipes,
+ schema: isOptions ? optionsOrPipe.schema : void 0
+ });
+}
+function RawBody(optionsOrPipe, ...pipes) {
+ const isOptions = isParameterDecoratorOptions(optionsOrPipe);
+ const actualPipes = isOptions ? [...optionsOrPipe.pipes ?? [], ...pipes] : [optionsOrPipe, ...pipes].filter(Boolean);
+ return createPipesRouteParamDecorator(RouteParamtypes.RAW_BODY)({
+ pipes: actualPipes,
+ schema: isOptions ? optionsOrPipe.schema : void 0
+ });
+}
+function Param(property, optionsOrPipe, ...pipes) {
+ const isPropertyOptions = isParameterDecoratorOptions(property);
+ if (isPropertyOptions) {
+ return createPipesRouteParamDecorator(RouteParamtypes.PARAM)({
+ pipes: property.pipes,
+ schema: property.schema
+ });
+ }
+ const isOptions = isParameterDecoratorOptions(optionsOrPipe);
+ const actualPipes = isOptions ? [...optionsOrPipe.pipes ?? [], ...pipes] : [optionsOrPipe, ...pipes].filter(Boolean);
+ return createPipesRouteParamDecorator(RouteParamtypes.PARAM)({
+ data: property,
+ pipes: actualPipes,
+ schema: isOptions ? optionsOrPipe.schema : void 0
+ });
+}
+function HostParam(property) {
+ return createRouteParamDecorator(RouteParamtypes.HOST)(property);
+}
+function Cookies(property, ...pipes) {
+ return createPipesRouteParamDecorator(RouteParamtypes.COOKIES)({
+ data: property,
+ pipes
+ });
+}
+function SignedCookies(property, ...pipes) {
+ return createPipesRouteParamDecorator(RouteParamtypes.SIGNED_COOKIES)({
+ data: property,
+ pipes
+ });
+}
+var createPipesRouteParamDecorator, Request, Response, Next, Ip, Session, Headers, Req, Res;
+var init_route_params_decorator = __esm({
+ "../../node_modules/.pnpm/@nestjs+common@12.2.0_reflect-metadata@0.2.2_rxjs@7.8.2/node_modules/@nestjs/common/decorators/http/route-params.decorator.js"() {
+ init_constants();
+ init_route_paramtypes_enum();
+ init_shared_utils();
+ init_parameter_decorator_options_util();
+ __name(assignMetadata, "assignMetadata");
+ __name(createRouteParamDecorator, "createRouteParamDecorator");
+ createPipesRouteParamDecorator = /* @__PURE__ */ __name((paramtype) => ({ data, pipes, schema }) => (target, key, index) => {
+ const args = Reflect.getMetadata(ROUTE_ARGS_METADATA, target.constructor, key) || {};
+ const hasParamData = isNil(data) || isString(data);
+ const paramData = hasParamData ? data : void 0;
+ const paramPipes = hasParamData ? pipes ?? [] : [data, ...pipes ?? []];
+ Reflect.defineMetadata(ROUTE_ARGS_METADATA, assignMetadata(args, paramtype, index, {
+ data: paramData,
+ pipes: paramPipes,
+ schema
+ }), target.constructor, key);
+ }, "createPipesRouteParamDecorator");
+ Request = createRouteParamDecorator(RouteParamtypes.REQUEST);
+ Response = /* @__PURE__ */ __name((options) => (target, key, index) => {
+ if (options?.passthrough) {
+ Reflect.defineMetadata(RESPONSE_PASSTHROUGH_METADATA, options?.passthrough, target.constructor, key);
+ }
+ return createRouteParamDecorator(RouteParamtypes.RESPONSE)()(target, key, index);
+ }, "Response");
+ Next = createRouteParamDecorator(RouteParamtypes.NEXT);
+ Ip = createRouteParamDecorator(RouteParamtypes.IP);
+ Session = createRouteParamDecorator(RouteParamtypes.SESSION);
+ __name(UploadedFile, "UploadedFile");
+ __name(UploadedFiles, "UploadedFiles");
+ Headers = createRouteParamDecorator(RouteParamtypes.HEADERS);
+ __name(Query, "Query");
+ __name(Body, "Body");
+ __name(RawBody, "RawBody");
+ __name(Param, "Param");
+ __name(HostParam, "HostParam");
+ __name(Cookies, "Cookies");
+ __name(SignedCookies, "SignedCookies");
+ Req = Request;
+ Res = Response;
+ }
+});
+
+// ../../node_modules/.pnpm/@nestjs+common@12.2.0_reflect-metadata@0.2.2_rxjs@7.8.2/node_modules/@nestjs/common/decorators/http/http-code.decorator.js
+function HttpCode(statusCode) {
+ return (target, key, descriptor) => {
+ Reflect.defineMetadata(HTTP_CODE_METADATA, statusCode, descriptor.value);
+ return descriptor;
+ };
+}
+var init_http_code_decorator = __esm({
+ "../../node_modules/.pnpm/@nestjs+common@12.2.0_reflect-metadata@0.2.2_rxjs@7.8.2/node_modules/@nestjs/common/decorators/http/http-code.decorator.js"() {
+ init_constants();
+ __name(HttpCode, "HttpCode");
+ }
+});
+
+// ../../node_modules/.pnpm/@nestjs+common@12.2.0_reflect-metadata@0.2.2_rxjs@7.8.2/node_modules/@nestjs/common/utils/assign-custom-metadata.util.js
+function assignCustomParameterMetadata(args, paramtype, index, factory, data, schema, ...pipes) {
+ return {
+ ...args,
+ [`${paramtype}${CUSTOM_ROUTE_ARGS_METADATA}:${index}`]: {
+ index,
+ factory,
+ data,
+ pipes,
+ ...schema !== void 0 && { schema }
+ }
+ };
+}
+var init_assign_custom_metadata_util = __esm({
+ "../../node_modules/.pnpm/@nestjs+common@12.2.0_reflect-metadata@0.2.2_rxjs@7.8.2/node_modules/@nestjs/common/utils/assign-custom-metadata.util.js"() {
+ init_constants();
+ __name(assignCustomParameterMetadata, "assignCustomParameterMetadata");
+ }
+});
+
+// ../../node_modules/.pnpm/@nestjs+common@12.2.0_reflect-metadata@0.2.2_rxjs@7.8.2/node_modules/@nestjs/common/decorators/http/create-route-param-metadata.decorator.js
+function createParamDecorator(factory, enhancers = []) {
+ const paramtype = uid(21);
+ return (data, ...pipes) => (target, key, index) => {
+ const args = Reflect.getMetadata(ROUTE_ARGS_METADATA, target.constructor, key) || {};
+ const isPipe = /* @__PURE__ */ __name((pipe) => pipe && (isFunction(pipe) && pipe.prototype && isFunction(pipe.prototype.transform) || isFunction(pipe.transform)), "isPipe");
+ const hasParamData = isNil(data) || !isPipe(data);
+ const paramData = hasParamData ? data : void 0;
+ const paramPipes = hasParamData ? pipes : [data, ...pipes];
+ const isDataOptions = hasParamData && !isNil(data) && isParameterDecoratorOptions(data) && Object.keys(data).every((key2) => key2 === "schema" || key2 === "pipes") && (data.schema === void 0 || isFunction(data.schema?.["~standard"]?.validate)) && (data.pipes === void 0 || Array.isArray(data.pipes) && // Falsy entries are allowed, as the pipes context filters them out
+ data.pipes.every((pipe) => isNil(pipe) || isPipe(pipe)));
+ const finalData = isDataOptions ? void 0 : paramData;
+ let finalSchema;
+ const finalPipes = [];
+ for (const arg of isDataOptions ? [data, ...paramPipes] : paramPipes) {
+ if (isParameterDecoratorOptions(arg)) {
+ finalSchema ??= arg.schema;
+ finalPipes.push(...arg.pipes ?? []);
+ } else {
+ finalPipes.push(arg);
+ }
+ }
+ Reflect.defineMetadata(ROUTE_ARGS_METADATA, assignCustomParameterMetadata(args, paramtype, index, factory, finalData, finalSchema, ...finalPipes), target.constructor, key);
+ enhancers.forEach((fn) => fn(target, key, index));
+ };
+}
+var init_create_route_param_metadata_decorator = __esm({
+ "../../node_modules/.pnpm/@nestjs+common@12.2.0_reflect-metadata@0.2.2_rxjs@7.8.2/node_modules/@nestjs/common/decorators/http/create-route-param-metadata.decorator.js"() {
+ init_dist();
+ init_constants();
+ init_assign_custom_metadata_util();
+ init_shared_utils();
+ init_parameter_decorator_options_util();
+ __name(createParamDecorator, "createParamDecorator");
+ }
+});
+
+// ../../node_modules/.pnpm/@nestjs+common@12.2.0_reflect-metadata@0.2.2_rxjs@7.8.2/node_modules/@nestjs/common/decorators/http/render.decorator.js
+function Render(template) {
+ return (target, key, descriptor) => {
+ Reflect.defineMetadata(RENDER_METADATA, template, descriptor.value);
+ return descriptor;
+ };
+}
+var init_render_decorator = __esm({
+ "../../node_modules/.pnpm/@nestjs+common@12.2.0_reflect-metadata@0.2.2_rxjs@7.8.2/node_modules/@nestjs/common/decorators/http/render.decorator.js"() {
+ init_constants();
+ __name(Render, "Render");
+ }
+});
+
+// ../../node_modules/.pnpm/@nestjs+common@12.2.0_reflect-metadata@0.2.2_rxjs@7.8.2/node_modules/@nestjs/common/decorators/http/header.decorator.js
+function Header(name, value) {
+ return (target, key, descriptor) => {
+ extendArrayMetadata(HEADERS_METADATA, [{ name, value }], descriptor.value);
+ return descriptor;
+ };
+}
+var init_header_decorator = __esm({
+ "../../node_modules/.pnpm/@nestjs+common@12.2.0_reflect-metadata@0.2.2_rxjs@7.8.2/node_modules/@nestjs/common/decorators/http/header.decorator.js"() {
+ init_constants();
+ init_extend_metadata_util();
+ __name(Header, "Header");
+ }
+});
+
+// ../../node_modules/.pnpm/@nestjs+common@12.2.0_reflect-metadata@0.2.2_rxjs@7.8.2/node_modules/@nestjs/common/decorators/http/redirect.decorator.js
+function Redirect(url = "", statusCode) {
+ return (target, key, descriptor) => {
+ Reflect.defineMetadata(REDIRECT_METADATA, { statusCode, url }, descriptor.value);
+ return descriptor;
+ };
+}
+var init_redirect_decorator = __esm({
+ "../../node_modules/.pnpm/@nestjs+common@12.2.0_reflect-metadata@0.2.2_rxjs@7.8.2/node_modules/@nestjs/common/decorators/http/redirect.decorator.js"() {
+ init_constants();
+ __name(Redirect, "Redirect");
+ }
+});
+
+// ../../node_modules/.pnpm/@nestjs+common@12.2.0_reflect-metadata@0.2.2_rxjs@7.8.2/node_modules/@nestjs/common/decorators/http/sse.decorator.js
+function Sse(path, options = {}) {
+ return (target, key, descriptor) => {
+ path = path && path.length ? path : "/";
+ Reflect.defineMetadata(PATH_METADATA, path, descriptor.value);
+ Reflect.defineMetadata(METHOD_METADATA, options[METHOD_METADATA] ?? RequestMethod.GET, descriptor.value);
+ Reflect.defineMetadata(SSE_METADATA, true, descriptor.value);
+ Reflect.defineMetadata(SSE_OPTIONS_METADATA, { maxPendingDataLength: options.maxPendingDataLength }, descriptor.value);
+ return descriptor;
+ };
+}
+var init_sse_decorator = __esm({
+ "../../node_modules/.pnpm/@nestjs+common@12.2.0_reflect-metadata@0.2.2_rxjs@7.8.2/node_modules/@nestjs/common/decorators/http/sse.decorator.js"() {
+ init_constants();
+ init_request_method_enum();
+ __name(Sse, "Sse");
+ }
+});
+
+// ../../node_modules/.pnpm/@nestjs+common@12.2.0_reflect-metadata@0.2.2_rxjs@7.8.2/node_modules/@nestjs/common/decorators/http/sse-signal.decorator.js
+var SSE_ABORT_CONTROLLER, SseSignal;
+var init_sse_signal_decorator = __esm({
+ "../../node_modules/.pnpm/@nestjs+common@12.2.0_reflect-metadata@0.2.2_rxjs@7.8.2/node_modules/@nestjs/common/decorators/http/sse-signal.decorator.js"() {
+ init_create_route_param_metadata_decorator();
+ SSE_ABORT_CONTROLLER = /* @__PURE__ */ Symbol("SSE_ABORT_CONTROLLER");
+ SseSignal = createParamDecorator((_data, ctx) => {
+ const request = ctx.switchToHttp().getRequest();
+ const controller = request?.[SSE_ABORT_CONTROLLER];
+ return controller?.signal;
+ });
+ }
+});
+
+// ../../node_modules/.pnpm/@nestjs+common@12.2.0_reflect-metadata@0.2.2_rxjs@7.8.2/node_modules/@nestjs/common/decorators/http/index.js
+var init_http = __esm({
+ "../../node_modules/.pnpm/@nestjs+common@12.2.0_reflect-metadata@0.2.2_rxjs@7.8.2/node_modules/@nestjs/common/decorators/http/index.js"() {
+ init_request_mapping_decorator();
+ init_route_params_decorator();
+ init_http_code_decorator();
+ init_create_route_param_metadata_decorator();
+ init_render_decorator();
+ init_header_decorator();
+ init_redirect_decorator();
+ init_sse_decorator();
+ init_sse_signal_decorator();
+ }
+});
+
+// ../../node_modules/.pnpm/@nestjs+common@12.2.0_reflect-metadata@0.2.2_rxjs@7.8.2/node_modules/@nestjs/common/decorators/index.js
+var init_decorators = __esm({
+ "../../node_modules/.pnpm/@nestjs+common@12.2.0_reflect-metadata@0.2.2_rxjs@7.8.2/node_modules/@nestjs/common/decorators/index.js"() {
+ init_core();
+ init_modules();
+ init_http();
+ }
+});
+
+// ../../node_modules/.pnpm/@nestjs+common@12.2.0_reflect-metadata@0.2.2_rxjs@7.8.2/node_modules/@nestjs/common/exceptions/bad-gateway.exception.js
+var BadGatewayException;
+var init_bad_gateway_exception = __esm({
+ "../../node_modules/.pnpm/@nestjs+common@12.2.0_reflect-metadata@0.2.2_rxjs@7.8.2/node_modules/@nestjs/common/exceptions/bad-gateway.exception.js"() {
+ init_http_status_enum();
+ init_http_exception();
+ BadGatewayException = class extends HttpException {
+ static {
+ __name(this, "BadGatewayException");
+ }
+ /**
+ * Instantiate a `BadGatewayException` Exception.
+ *
+ * @example
+ * `throw new BadGatewayException()`
+ *
+ * @usageNotes
+ * The HTTP response status code will be 502.
+ * - The `objectOrError` argument defines the JSON response body or the message string.
+ * - The `descriptionOrOptions` argument contains either a short description of the HTTP error or an options object used to provide an underlying error cause.
+ *
+ * By default, the JSON response body contains two properties:
+ * - `statusCode`: this will be the value 502.
+ * - `message`: the string `'Bad Gateway'` by default; override this by supplying
+ * a string in the `objectOrError` parameter.
+ *
+ * If the parameter `objectOrError` is a string, the response body will contain an
+ * additional property, `error`, with a short description of the HTTP error. To override the
+ * entire JSON response body, pass an object instead. Nest will serialize the object
+ * and return it as the JSON response body.
+ *
+ * @param objectOrError string or object describing the error condition.
+ * @param descriptionOrOptions either a short description of the HTTP error or an options object used to provide an underlying error cause
+ */
+ constructor(objectOrError, descriptionOrOptions = "Bad Gateway") {
+ const { description = "Bad Gateway", httpExceptionOptions } = HttpException.extractDescriptionAndOptionsFrom(descriptionOrOptions);
+ super(HttpException.createBody(objectOrError, description, HttpStatus.BAD_GATEWAY, httpExceptionOptions?.errorCode), HttpStatus.BAD_GATEWAY, httpExceptionOptions);
+ }
+ };
+ }
+});
+
+// ../../node_modules/.pnpm/@nestjs+common@12.2.0_reflect-metadata@0.2.2_rxjs@7.8.2/node_modules/@nestjs/common/exceptions/conflict.exception.js
+var ConflictException;
+var init_conflict_exception = __esm({
+ "../../node_modules/.pnpm/@nestjs+common@12.2.0_reflect-metadata@0.2.2_rxjs@7.8.2/node_modules/@nestjs/common/exceptions/conflict.exception.js"() {
+ init_http_status_enum();
+ init_http_exception();
+ ConflictException = class extends HttpException {
+ static {
+ __name(this, "ConflictException");
+ }
+ /**
+ * Instantiate a `ConflictException` Exception.
+ *
+ * @example
+ * `throw new ConflictException()`
+ *
+ * @usageNotes
+ * The HTTP response status code will be 409.
+ * - The `objectOrError` argument defines the JSON response body or the message string.
+ * - The `descriptionOrOptions` argument contains either a short description of the HTTP error or an options object used to provide an underlying error cause.
+ *
+ * By default, the JSON response body contains two properties:
+ * - `statusCode`: this will be the value 409.
+ * - `message`: the string `'Conflict'` by default; override this by supplying
+ * a string in the `objectOrError` parameter.
+ *
+ * If the parameter `objectOrError` is a string, the response body will contain an
+ * additional property, `error`, with a short description of the HTTP error. To override the
+ * entire JSON response body, pass an object instead. Nest will serialize the object
+ * and return it as the JSON response body.
+ *
+ * @param objectOrError string or object describing the error condition.
+ * @param descriptionOrOptions either a short description of the HTTP error or an options object used to provide an underlying error cause
+ */
+ constructor(objectOrError, descriptionOrOptions = "Conflict") {
+ const { description = "Conflict", httpExceptionOptions } = HttpException.extractDescriptionAndOptionsFrom(descriptionOrOptions);
+ super(HttpException.createBody(objectOrError, description, HttpStatus.CONFLICT, httpExceptionOptions?.errorCode), HttpStatus.CONFLICT, httpExceptionOptions);
+ }
+ };
+ }
+});
+
+// ../../node_modules/.pnpm/@nestjs+common@12.2.0_reflect-metadata@0.2.2_rxjs@7.8.2/node_modules/@nestjs/common/exceptions/forbidden.exception.js
+var ForbiddenException;
+var init_forbidden_exception = __esm({
+ "../../node_modules/.pnpm/@nestjs+common@12.2.0_reflect-metadata@0.2.2_rxjs@7.8.2/node_modules/@nestjs/common/exceptions/forbidden.exception.js"() {
+ init_http_status_enum();
+ init_http_exception();
+ ForbiddenException = class extends HttpException {
+ static {
+ __name(this, "ForbiddenException");
+ }
+ /**
+ * Instantiate a `ForbiddenException` Exception.
+ *
+ * @example
+ * `throw new ForbiddenException()`
+ *
+ * @usageNotes
+ * The HTTP response status code will be 403.
+ * - The `objectOrError` argument defines the JSON response body or the message string.
+ * - The `descriptionOrOptions` argument contains either a short description of the HTTP error or an options object used to provide an underlying error cause.
+ *
+ * By default, the JSON response body contains two properties:
+ * - `statusCode`: this will be the value 403.
+ * - `message`: the string `'Forbidden'` by default; override this by supplying
+ * a string in the `objectOrError` parameter.
+ *
+ * If the parameter `objectOrError` is a string, the response body will contain an
+ * additional property, `error`, with a short description of the HTTP error. To override the
+ * entire JSON response body, pass an object instead. Nest will serialize the object
+ * and return it as the JSON response body.
+ *
+ * @param objectOrError string or object describing the error condition.
+ * @param descriptionOrOptions either a short description of the HTTP error or an options object used to provide an underlying error cause
+ */
+ constructor(objectOrError, descriptionOrOptions = "Forbidden") {
+ const { description = "Forbidden", httpExceptionOptions } = HttpException.extractDescriptionAndOptionsFrom(descriptionOrOptions);
+ super(HttpException.createBody(objectOrError, description, HttpStatus.FORBIDDEN, httpExceptionOptions?.errorCode), HttpStatus.FORBIDDEN, httpExceptionOptions);
+ }
+ };
+ }
+});
+
+// ../../node_modules/.pnpm/@nestjs+common@12.2.0_reflect-metadata@0.2.2_rxjs@7.8.2/node_modules/@nestjs/common/exceptions/gateway-timeout.exception.js
+var GatewayTimeoutException;
+var init_gateway_timeout_exception = __esm({
+ "../../node_modules/.pnpm/@nestjs+common@12.2.0_reflect-metadata@0.2.2_rxjs@7.8.2/node_modules/@nestjs/common/exceptions/gateway-timeout.exception.js"() {
+ init_http_status_enum();
+ init_http_exception();
+ GatewayTimeoutException = class extends HttpException {
+ static {
+ __name(this, "GatewayTimeoutException");
+ }
+ /**
+ * Instantiate a `GatewayTimeoutException` Exception.
+ *
+ * @example
+ * `throw new GatewayTimeoutException()`
+ *
+ * @usageNotes
+ * The HTTP response status code will be 504.
+ * - The `objectOrError` argument defines the JSON response body or the message string.
+ * - The `descriptionOrOptions` argument contains either a short description of the HTTP error or an options object used to provide an underlying error cause.
+ *
+ * By default, the JSON response body contains two properties:
+ * - `statusCode`: this will be the value 504.
+ * - `message`: the string `'Gateway Timeout'` by default; override this by supplying
+ * a string in the `objectOrError` parameter.
+ *
+ * If the parameter `objectOrError` is a string, the response body will contain an
+ * additional property, `error`, with a short description of the HTTP error. To override the
+ * entire JSON response body, pass an object instead. Nest will serialize the object
+ * and return it as the JSON response body.
+ *
+ * @param objectOrError string or object describing the error condition.
+ * @param descriptionOrOptions either a short description of the HTTP error or an options object used to provide an underlying error cause
+ */
+ constructor(objectOrError, descriptionOrOptions = "Gateway Timeout") {
+ const { description = "Gateway Timeout", httpExceptionOptions } = HttpException.extractDescriptionAndOptionsFrom(descriptionOrOptions);
+ super(HttpException.createBody(objectOrError, description, HttpStatus.GATEWAY_TIMEOUT, httpExceptionOptions?.errorCode), HttpStatus.GATEWAY_TIMEOUT, httpExceptionOptions);
+ }
+ };
+ }
+});
+
+// ../../node_modules/.pnpm/@nestjs+common@12.2.0_reflect-metadata@0.2.2_rxjs@7.8.2/node_modules/@nestjs/common/exceptions/gone.exception.js
+var GoneException;
+var init_gone_exception = __esm({
+ "../../node_modules/.pnpm/@nestjs+common@12.2.0_reflect-metadata@0.2.2_rxjs@7.8.2/node_modules/@nestjs/common/exceptions/gone.exception.js"() {
+ init_http_status_enum();
+ init_http_exception();
+ GoneException = class extends HttpException {
+ static {
+ __name(this, "GoneException");
+ }
+ /**
+ * Instantiate a `GoneException` Exception.
+ *
+ * @example
+ * `throw new GoneException()`
+ *
+ * @usageNotes
+ * The HTTP response status code will be 410.
+ * - The `objectOrError` argument defines the JSON response body or the message string.
+ * - The `descriptionOrOptions` argument contains either a short description of the HTTP error or an options object used to provide an underlying error cause.
+ *
+ * By default, the JSON response body contains two properties:
+ * - `statusCode`: this will be the value 410.
+ * - `message`: the string `'Gone'` by default; override this by supplying
+ * a string in the `objectOrError` parameter.
+ *
+ * If the parameter `objectOrError` is a string, the response body will contain an
+ * additional property, `error`, with a short description of the HTTP error. To override the
+ * entire JSON response body, pass an object instead. Nest will serialize the object
+ * and return it as the JSON response body.
+ *
+ * @param objectOrError string or object describing the error condition.
+ * @param descriptionOrOptions either a short description of the HTTP error or an options object used to provide an underlying error cause
+ */
+ constructor(objectOrError, descriptionOrOptions = "Gone") {
+ const { description = "Gone", httpExceptionOptions } = HttpException.extractDescriptionAndOptionsFrom(descriptionOrOptions);
+ super(HttpException.createBody(objectOrError, description, HttpStatus.GONE, httpExceptionOptions?.errorCode), HttpStatus.GONE, httpExceptionOptions);
+ }
+ };
+ }
+});
+
+// ../../node_modules/.pnpm/@nestjs+common@12.2.0_reflect-metadata@0.2.2_rxjs@7.8.2/node_modules/@nestjs/common/exceptions/http-version-not-supported.exception.js
+var HttpVersionNotSupportedException;
+var init_http_version_not_supported_exception = __esm({
+ "../../node_modules/.pnpm/@nestjs+common@12.2.0_reflect-metadata@0.2.2_rxjs@7.8.2/node_modules/@nestjs/common/exceptions/http-version-not-supported.exception.js"() {
+ init_http_status_enum();
+ init_http_exception();
+ HttpVersionNotSupportedException = class extends HttpException {
+ static {
+ __name(this, "HttpVersionNotSupportedException");
+ }
+ /**
+ * Instantiate a `HttpVersionNotSupportedException` Exception.
+ *
+ * @example
+ * `throw new HttpVersionNotSupportedException()`
+ *
+ * @usageNotes
+ * The HTTP response status code will be 505.
+ * - The `objectOrError` argument defines the JSON response body or the message string.
+ * - The `descriptionOrOptions` argument contains either a short description of the HTTP error or an options object used to provide an underlying error cause.
+ *
+ * By default, the JSON response body contains two properties:
+ * - `statusCode`: this will be the value 505.
+ * - `message`: the string `'HTTP Version Not Supported'` by default; override this by supplying
+ * a string in the `objectOrError` parameter.
+ *
+ * If the parameter `objectOrError` is a string, the response body will contain an
+ * additional property, `error`, with a short description of the HTTP error. To override the
+ * entire JSON response body, pass an object instead. Nest will serialize the object
+ * and return it as the JSON response body.
+ *
+ * @param objectOrError string or object describing the error condition.
+ * @param descriptionOrOptions either a short description of the HTTP error or an options object used to provide an underlying error cause
+ */
+ constructor(objectOrError, descriptionOrOptions = "HTTP Version Not Supported") {
+ const { description = "HTTP Version Not Supported", httpExceptionOptions } = HttpException.extractDescriptionAndOptionsFrom(descriptionOrOptions);
+ super(HttpException.createBody(objectOrError, description, HttpStatus.HTTP_VERSION_NOT_SUPPORTED, httpExceptionOptions?.errorCode), HttpStatus.HTTP_VERSION_NOT_SUPPORTED, httpExceptionOptions);
+ }
+ };
+ }
+});
+
+// ../../node_modules/.pnpm/@nestjs+common@12.2.0_reflect-metadata@0.2.2_rxjs@7.8.2/node_modules/@nestjs/common/exceptions/im-a-teapot.exception.js
+var ImATeapotException;
+var init_im_a_teapot_exception = __esm({
+ "../../node_modules/.pnpm/@nestjs+common@12.2.0_reflect-metadata@0.2.2_rxjs@7.8.2/node_modules/@nestjs/common/exceptions/im-a-teapot.exception.js"() {
+ init_http_status_enum();
+ init_http_exception();
+ ImATeapotException = class extends HttpException {
+ static {
+ __name(this, "ImATeapotException");
+ }
+ /**
+ * Instantiate an `ImATeapotException` Exception.
+ *
+ * @example
+ * `throw new ImATeapotException()`
+ *
+ * @usageNotes
+ * The HTTP response status code will be 418.
+ * - The `objectOrError` argument defines the JSON response body or the message string.
+ * - The `descriptionOrOptions` argument contains either a short description of the HTTP error or an options object used to provide an underlying error cause.
+ *
+ * By default, the JSON response body contains two properties:
+ * - `statusCode`: this will be the value 418.
+ * - `message`: the string `"I'm a Teapot"` by default; override this by supplying
+ * a string in the `objectOrError` parameter.
+ *
+ * If the parameter `objectOrError` is a string, the response body will contain an
+ * additional property, `error`, with a short description of the HTTP error. To override the
+ * entire JSON response body, pass an object instead. Nest will serialize the object
+ * and return it as the JSON response body.
+ *
+ * @param objectOrError string or object describing the error condition.
+ * @param descriptionOrOptions either a short description of the HTTP error or an options object used to provide an underlying error cause
+ */
+ constructor(objectOrError, descriptionOrOptions = `I'm a teapot`) {
+ const { description = `I'm a teapot`, httpExceptionOptions } = HttpException.extractDescriptionAndOptionsFrom(descriptionOrOptions);
+ super(HttpException.createBody(objectOrError, description, HttpStatus.I_AM_A_TEAPOT, httpExceptionOptions?.errorCode), HttpStatus.I_AM_A_TEAPOT, httpExceptionOptions);
+ }
+ };
+ }
+});
+
+// ../../node_modules/.pnpm/@nestjs+common@12.2.0_reflect-metadata@0.2.2_rxjs@7.8.2/node_modules/@nestjs/common/exceptions/method-not-allowed.exception.js
+var MethodNotAllowedException;
+var init_method_not_allowed_exception = __esm({
+ "../../node_modules/.pnpm/@nestjs+common@12.2.0_reflect-metadata@0.2.2_rxjs@7.8.2/node_modules/@nestjs/common/exceptions/method-not-allowed.exception.js"() {
+ init_http_status_enum();
+ init_http_exception();
+ MethodNotAllowedException = class extends HttpException {
+ static {
+ __name(this, "MethodNotAllowedException");
+ }
+ /**
+ * Instantiate a `MethodNotAllowedException` Exception.
+ *
+ * @example
+ * `throw new MethodNotAllowedException()`
+ *
+ * @usageNotes
+ * The HTTP response status code will be 405.
+ * - The `objectOrError` argument defines the JSON response body or the message string.
+ * - The `descriptionOrOptions` argument contains either a short description of the HTTP error or an options object used to provide an underlying error cause.
+ *
+ * By default, the JSON response body contains two properties:
+ * - `statusCode`: this will be the value 405.
+ * - `message`: the string `'Method Not Allowed'` by default; override this by supplying
+ * a string in the `objectOrError` parameter.
+ *
+ * If the parameter `objectOrError` is a string, the response body will contain an
+ * additional property, `error`, with a short description of the HTTP error. To override the
+ * entire JSON response body, pass an object instead. Nest will serialize the object
+ * and return it as the JSON response body.
+ *
+ * @param objectOrError string or object describing the error condition.
+ * @param descriptionOrOptions either a short description of the HTTP error or an options object used to provide an underlying error cause
+ */
+ constructor(objectOrError, descriptionOrOptions = "Method Not Allowed") {
+ const { description = "Method Not Allowed", httpExceptionOptions } = HttpException.extractDescriptionAndOptionsFrom(descriptionOrOptions);
+ super(HttpException.createBody(objectOrError, description, HttpStatus.METHOD_NOT_ALLOWED, httpExceptionOptions?.errorCode), HttpStatus.METHOD_NOT_ALLOWED, httpExceptionOptions);
+ }
+ };
+ }
+});
+
+// ../../node_modules/.pnpm/@nestjs+common@12.2.0_reflect-metadata@0.2.2_rxjs@7.8.2/node_modules/@nestjs/common/exceptions/misdirected.exception.js
+var MisdirectedException;
+var init_misdirected_exception = __esm({
+ "../../node_modules/.pnpm/@nestjs+common@12.2.0_reflect-metadata@0.2.2_rxjs@7.8.2/node_modules/@nestjs/common/exceptions/misdirected.exception.js"() {
+ init_http_status_enum();
+ init_http_exception();
+ MisdirectedException = class extends HttpException {
+ static {
+ __name(this, "MisdirectedException");
+ }
+ /**
+ * Instantiate a `MisdirectedException` Exception.
+ *
+ * @example
+ * `throw new MisdirectedException()`
+ *
+ * @usageNotes
+ * The HTTP response status code will be 421.
+ * - The `objectOrError` argument defines the JSON response body or the message string.
+ * - The `descriptionOrOptions` argument contains either a short description of the HTTP error or an options object used to provide an underlying error cause.
+ *
+ * By default, the JSON response body contains two properties:
+ * - `statusCode`: this will be the value 421.
+ * - `message`: the string `'Misdirected'` by default; override this by supplying
+ * a string in the `objectOrError` parameter.
+ *
+ * If the parameter `objectOrError` is a string, the response body will contain an
+ * additional property, `error`, with a short description of the HTTP error. To override the
+ * entire JSON response body, pass an object instead. Nest will serialize the object
+ * and return it as the JSON response body.
+ *
+ * @param objectOrError string or object describing the error condition.
+ * @param descriptionOrOptions either a short description of the HTTP error or an options object used to provide an underlying error cause
+ */
+ constructor(objectOrError, descriptionOrOptions = "Misdirected") {
+ const { description = "Misdirected", httpExceptionOptions } = HttpException.extractDescriptionAndOptionsFrom(descriptionOrOptions);
+ super(HttpException.createBody(objectOrError, description, HttpStatus.MISDIRECTED, httpExceptionOptions?.errorCode), HttpStatus.MISDIRECTED, httpExceptionOptions);
+ }
+ };
+ }
+});
+
+// ../../node_modules/.pnpm/@nestjs+common@12.2.0_reflect-metadata@0.2.2_rxjs@7.8.2/node_modules/@nestjs/common/exceptions/not-acceptable.exception.js
+var NotAcceptableException;
+var init_not_acceptable_exception = __esm({
+ "../../node_modules/.pnpm/@nestjs+common@12.2.0_reflect-metadata@0.2.2_rxjs@7.8.2/node_modules/@nestjs/common/exceptions/not-acceptable.exception.js"() {
+ init_http_status_enum();
+ init_http_exception();
+ NotAcceptableException = class extends HttpException {
+ static {
+ __name(this, "NotAcceptableException");
+ }
+ /**
+ * Instantiate a `NotAcceptableException` Exception.
+ *
+ * @example
+ * `throw new NotAcceptableException()`
+ *
+ * @usageNotes
+ * The HTTP response status code will be 406.
+ * - The `objectOrError` argument defines the JSON response body or the message string.
+ * - The `descriptionOrOptions` argument contains either a short description of the HTTP error or an options object used to provide an underlying error cause.
+ *
+ * By default, the JSON response body contains two properties:
+ * - `statusCode`: this will be the value 406.
+ * - `message`: the string `'Not Acceptable'` by default; override this by supplying
+ * a string in the `objectOrError` parameter.
+ *
+ * If the parameter `objectOrError` is a string, the response body will contain an
+ * additional property, `error`, with a short description of the HTTP error. To override the
+ * entire JSON response body, pass an object instead. Nest will serialize the object
+ * and return it as the JSON response body.
+ *
+ * @param objectOrError string or object describing the error condition.
+ * @param descriptionOrOptions either a short description of the HTTP error or an options object used to provide an underlying error cause
+ */
+ constructor(objectOrError, descriptionOrOptions = "Not Acceptable") {
+ const { description = "Not Acceptable", httpExceptionOptions } = HttpException.extractDescriptionAndOptionsFrom(descriptionOrOptions);
+ super(HttpException.createBody(objectOrError, description, HttpStatus.NOT_ACCEPTABLE, httpExceptionOptions?.errorCode), HttpStatus.NOT_ACCEPTABLE, httpExceptionOptions);
+ }
+ };
+ }
+});
+
+// ../../node_modules/.pnpm/@nestjs+common@12.2.0_reflect-metadata@0.2.2_rxjs@7.8.2/node_modules/@nestjs/common/exceptions/not-found.exception.js
+var NotFoundException;
+var init_not_found_exception = __esm({
+ "../../node_modules/.pnpm/@nestjs+common@12.2.0_reflect-metadata@0.2.2_rxjs@7.8.2/node_modules/@nestjs/common/exceptions/not-found.exception.js"() {
+ init_http_status_enum();
+ init_http_exception();
+ NotFoundException = class extends HttpException {
+ static {
+ __name(this, "NotFoundException");
+ }
+ /**
+ * Instantiate a `NotFoundException` Exception.
+ *
+ * @example
+ * `throw new NotFoundException()`
+ *
+ * @usageNotes
+ * The HTTP response status code will be 404.
+ * - The `objectOrError` argument defines the JSON response body or the message string.
+ * - The `descriptionOrOptions` argument contains either a short description of the HTTP error or an options object used to provide an underlying error cause.
+ *
+ * By default, the JSON response body contains two properties:
+ * - `statusCode`: this will be the value 404.
+ * - `message`: the string `'Not Found'` by default; override this by supplying
+ * a string in the `objectOrError` parameter.
+ *
+ * If the parameter `objectOrError` is a string, the response body will contain an
+ * additional property, `error`, with a short description of the HTTP error. To override the
+ * entire JSON response body, pass an object instead. Nest will serialize the object
+ * and return it as the JSON response body.
+ *
+ * @param objectOrError string or object describing the error condition.
+ * @param descriptionOrOptions either a short description of the HTTP error or an options object used to provide an underlying error cause
+ */
+ constructor(objectOrError, descriptionOrOptions = "Not Found") {
+ const { description = "Not Found", httpExceptionOptions } = HttpException.extractDescriptionAndOptionsFrom(descriptionOrOptions);
+ super(HttpException.createBody(objectOrError, description, HttpStatus.NOT_FOUND, httpExceptionOptions?.errorCode), HttpStatus.NOT_FOUND, httpExceptionOptions);
+ }
+ };
+ }
+});
+
+// ../../node_modules/.pnpm/@nestjs+common@12.2.0_reflect-metadata@0.2.2_rxjs@7.8.2/node_modules/@nestjs/common/exceptions/not-implemented.exception.js
+var NotImplementedException;
+var init_not_implemented_exception = __esm({
+ "../../node_modules/.pnpm/@nestjs+common@12.2.0_reflect-metadata@0.2.2_rxjs@7.8.2/node_modules/@nestjs/common/exceptions/not-implemented.exception.js"() {
+ init_http_status_enum();
+ init_http_exception();
+ NotImplementedException = class extends HttpException {
+ static {
+ __name(this, "NotImplementedException");
+ }
+ /**
+ * Instantiate a `NotImplementedException` Exception.
+ *
+ * @example
+ * `throw new NotImplementedException()`
+ *
+ * @usageNotes
+ * The HTTP response status code will be 501.
+ * - The `objectOrError` argument defines the JSON response body or the message string.
+ * - The `descriptionOrOptions` argument contains either a short description of the HTTP error or an options object used to provide an underlying error cause.
+ *
+ * By default, the JSON response body contains two properties:
+ * - `statusCode`: this will be the value 501.
+ * - `message`: the string `'Not Implemented'` by default; override this by supplying
+ * a string in the `objectOrError` parameter.
+ *
+ * If the parameter `objectOrError` is a string, the response body will contain an
+ * additional property, `error`, with a short description of the HTTP error. To override the
+ * entire JSON response body, pass an object instead. Nest will serialize the object
+ * and return it as the JSON response body.
+ *
+ * @param descriptionOrOptions either a short description of the HTTP error or an options object used to provide an underlying error cause
+ * @param error a short description of the HTTP error.
+ */
+ constructor(objectOrError, descriptionOrOptions = "Not Implemented") {
+ const { description = "Not Implemented", httpExceptionOptions } = HttpException.extractDescriptionAndOptionsFrom(descriptionOrOptions);
+ super(HttpException.createBody(objectOrError, description, HttpStatus.NOT_IMPLEMENTED, httpExceptionOptions?.errorCode), HttpStatus.NOT_IMPLEMENTED, httpExceptionOptions);
+ }
+ };
+ }
+});
+
+// ../../node_modules/.pnpm/@nestjs+common@12.2.0_reflect-metadata@0.2.2_rxjs@7.8.2/node_modules/@nestjs/common/exceptions/payload-too-large.exception.js
+var PayloadTooLargeException;
+var init_payload_too_large_exception = __esm({
+ "../../node_modules/.pnpm/@nestjs+common@12.2.0_reflect-metadata@0.2.2_rxjs@7.8.2/node_modules/@nestjs/common/exceptions/payload-too-large.exception.js"() {
+ init_http_status_enum();
+ init_http_exception();
+ PayloadTooLargeException = class extends HttpException {
+ static {
+ __name(this, "PayloadTooLargeException");
+ }
+ /**
+ * Instantiate a `PayloadTooLargeException` Exception.
+ *
+ * @example
+ * `throw new PayloadTooLargeException()`
+ *
+ * @usageNotes
+ * The HTTP response status code will be 413.
+ * - The `objectOrError` argument defines the JSON response body or the message string.
+ * - The `descriptionOrOptions` argument contains either a short description of the HTTP error or an options object used to provide an underlying error cause.
+ *
+ * By default, the JSON response body contains two properties:
+ * - `statusCode`: this will be the value 413.
+ * - `message`: the string `'Payload Too Large'` by default; override this by supplying
+ * a string in the `objectOrError` parameter.
+ *
+ * If the parameter `objectOrError` is a string, the response body will contain an
+ * additional property, `error`, with a short description of the HTTP error. To override the
+ * entire JSON response body, pass an object instead. Nest will serialize the object
+ * and return it as the JSON response body.
+ *
+ * @param objectOrError string or object describing the error condition.
+ * @param descriptionOrOptions either a short description of the HTTP error or an options object used to provide an underlying error cause
+ */
+ constructor(objectOrError, descriptionOrOptions = "Payload Too Large") {
+ const { description = "Payload Too Large", httpExceptionOptions } = HttpException.extractDescriptionAndOptionsFrom(descriptionOrOptions);
+ super(HttpException.createBody(objectOrError, description, HttpStatus.PAYLOAD_TOO_LARGE, httpExceptionOptions?.errorCode), HttpStatus.PAYLOAD_TOO_LARGE, httpExceptionOptions);
+ }
+ };
+ }
+});
+
+// ../../node_modules/.pnpm/@nestjs+common@12.2.0_reflect-metadata@0.2.2_rxjs@7.8.2/node_modules/@nestjs/common/exceptions/precondition-failed.exception.js
+var PreconditionFailedException;
+var init_precondition_failed_exception = __esm({
+ "../../node_modules/.pnpm/@nestjs+common@12.2.0_reflect-metadata@0.2.2_rxjs@7.8.2/node_modules/@nestjs/common/exceptions/precondition-failed.exception.js"() {
+ init_http_status_enum();
+ init_http_exception();
+ PreconditionFailedException = class extends HttpException {
+ static {
+ __name(this, "PreconditionFailedException");
+ }
+ /**
+ * Instantiate a `PreconditionFailedException` Exception.
+ *
+ * @example
+ * `throw new PreconditionFailedException()`
+ *
+ * @usageNotes
+ * The HTTP response status code will be 412.
+ * - The `objectOrError` argument defines the JSON response body or the message string.
+ * - The `descriptionOrOptions` argument contains either a short description of the HTTP error or an options object used to provide an underlying error cause.
+ *
+ * By default, the JSON response body contains two properties:
+ * - `statusCode`: this will be the value 412.
+ * - `message`: the string `'Precondition Failed'` by default; override this by supplying
+ * a string in the `objectOrError` parameter.
+ *
+ * If the parameter `objectOrError` is a string, the response body will contain an
+ * additional property, `error`, with a short description of the HTTP error. To override the
+ * entire JSON response body, pass an object instead. Nest will serialize the object
+ * and return it as the JSON response body.
+ *
+ * @param objectOrError string or object describing the error condition.
+ * @param descriptionOrOptions either a short description of the HTTP error or an options object used to provide an underlying error cause
+ */
+ constructor(objectOrError, descriptionOrOptions = "Precondition Failed") {
+ const { description = "Precondition Failed", httpExceptionOptions } = HttpException.extractDescriptionAndOptionsFrom(descriptionOrOptions);
+ super(HttpException.createBody(objectOrError, description, HttpStatus.PRECONDITION_FAILED, httpExceptionOptions?.errorCode), HttpStatus.PRECONDITION_FAILED, httpExceptionOptions);
+ }
+ };
+ }
+});
+
+// ../../node_modules/.pnpm/@nestjs+common@12.2.0_reflect-metadata@0.2.2_rxjs@7.8.2/node_modules/@nestjs/common/exceptions/request-timeout.exception.js
+var RequestTimeoutException;
+var init_request_timeout_exception = __esm({
+ "../../node_modules/.pnpm/@nestjs+common@12.2.0_reflect-metadata@0.2.2_rxjs@7.8.2/node_modules/@nestjs/common/exceptions/request-timeout.exception.js"() {
+ init_http_status_enum();
+ init_http_exception();
+ RequestTimeoutException = class extends HttpException {
+ static {
+ __name(this, "RequestTimeoutException");
+ }
+ /**
+ * Instantiate a `RequestTimeoutException` Exception.
+ *
+ * @example
+ * `throw new RequestTimeoutException()`
+ *
+ * @usageNotes
+ * The HTTP response status code will be 408.
+ * - The `objectOrError` argument defines the JSON response body or the message string.
+ * - The `descriptionOrOptions` argument contains either a short description of the HTTP error or an options object used to provide an underlying error cause.
+ *
+ * By default, the JSON response body contains two properties:
+ * - `statusCode`: this will be the value 408.
+ * - `message`: the string `'Request Timeout'` by default; override this by supplying
+ * a string in the `objectOrError` parameter.
+ *
+ * If the parameter `objectOrError` is a string, the response body will contain an
+ * additional property, `error`, with a short description of the HTTP error. To override the
+ * entire JSON response body, pass an object instead. Nest will serialize the object
+ * and return it as the JSON response body.
+ *
+ * @param objectOrError string or object describing the error condition.
+ * @param descriptionOrOptions either a short description of the HTTP error or an options object used to provide an underlying error cause
+ */
+ constructor(objectOrError, descriptionOrOptions = "Request Timeout") {
+ const { description = "Request Timeout", httpExceptionOptions } = HttpException.extractDescriptionAndOptionsFrom(descriptionOrOptions);
+ super(HttpException.createBody(objectOrError, description, HttpStatus.REQUEST_TIMEOUT, httpExceptionOptions?.errorCode), HttpStatus.REQUEST_TIMEOUT, httpExceptionOptions);
+ }
+ };
+ }
+});
+
+// ../../node_modules/.pnpm/@nestjs+common@12.2.0_reflect-metadata@0.2.2_rxjs@7.8.2/node_modules/@nestjs/common/exceptions/service-unavailable.exception.js
+var ServiceUnavailableException;
+var init_service_unavailable_exception = __esm({
+ "../../node_modules/.pnpm/@nestjs+common@12.2.0_reflect-metadata@0.2.2_rxjs@7.8.2/node_modules/@nestjs/common/exceptions/service-unavailable.exception.js"() {
+ init_http_status_enum();
+ init_http_exception();
+ ServiceUnavailableException = class extends HttpException {
+ static {
+ __name(this, "ServiceUnavailableException");
+ }
+ /**
+ * Instantiate a `ServiceUnavailableException` Exception.
+ *
+ * @example
+ * `throw new ServiceUnavailableException()`
+ *
+ * @usageNotes
+ * The HTTP response status code will be 503.
+ * - The `objectOrError` argument defines the JSON response body or the message string.
+ * - The `descriptionOrOptions` argument contains either a short description of the HTTP error or an options object used to provide an underlying error cause.
+ *
+ * By default, the JSON response body contains two properties:
+ * - `statusCode`: this will be the value 503.
+ * - `message`: the string `'Service Unavailable'` by default; override this by supplying
+ * a string in the `objectOrError` parameter.
+ *
+ * If the parameter `objectOrError` is a string, the response body will contain an
+ * additional property, `error`, with a short description of the HTTP error. To override the
+ * entire JSON response body, pass an object instead. Nest will serialize the object
+ * and return it as the JSON response body.
+ *
+ * @param objectOrError string or object describing the error condition.
+ * @param descriptionOrOptions either a short description of the HTTP error or an options object used to provide an underlying error cause
+ */
+ constructor(objectOrError, descriptionOrOptions = "Service Unavailable") {
+ const { description = "Service Unavailable", httpExceptionOptions } = HttpException.extractDescriptionAndOptionsFrom(descriptionOrOptions);
+ super(HttpException.createBody(objectOrError, description, HttpStatus.SERVICE_UNAVAILABLE, httpExceptionOptions?.errorCode), HttpStatus.SERVICE_UNAVAILABLE, httpExceptionOptions);
+ }
+ };
+ }
+});
+
+// ../../node_modules/.pnpm/@nestjs+common@12.2.0_reflect-metadata@0.2.2_rxjs@7.8.2/node_modules/@nestjs/common/exceptions/unprocessable-entity.exception.js
+var UnprocessableEntityException;
+var init_unprocessable_entity_exception = __esm({
+ "../../node_modules/.pnpm/@nestjs+common@12.2.0_reflect-metadata@0.2.2_rxjs@7.8.2/node_modules/@nestjs/common/exceptions/unprocessable-entity.exception.js"() {
+ init_http_status_enum();
+ init_http_exception();
+ UnprocessableEntityException = class extends HttpException {
+ static {
+ __name(this, "UnprocessableEntityException");
+ }
+ /**
+ * Instantiate an `UnprocessableEntityException` Exception.
+ *
+ * @example
+ * `throw new UnprocessableEntityException()`
+ *
+ * @usageNotes
+ * The HTTP response status code will be 422.
+ * - The `objectOrError` argument defines the JSON response body or the message string.
+ * - The `descriptionOrOptions` argument contains either a short description of the HTTP error or an options object used to provide an underlying error cause.
+ *
+ * By default, the JSON response body contains two properties:
+ * - `statusCode`: this will be the value 422.
+ * - `message`: the string `'Unprocessable Entity'` by default; override this by supplying
+ * a string in the `objectOrError` parameter.
+ *
+ * If the parameter `objectOrError` is a string, the response body will contain an
+ * additional property, `error`, with a short description of the HTTP error. To override the
+ * entire JSON response body, pass an object instead. Nest will serialize the object
+ * and return it as the JSON response body.
+ *
+ * @param objectOrError string or object describing the error condition.
+ * @param descriptionOrOptions either a short description of the HTTP error or an options object used to provide an underlying error cause
+ */
+ constructor(objectOrError, descriptionOrOptions = "Unprocessable Entity") {
+ const { description = "Unprocessable Entity", httpExceptionOptions } = HttpException.extractDescriptionAndOptionsFrom(descriptionOrOptions);
+ super(HttpException.createBody(objectOrError, description, HttpStatus.UNPROCESSABLE_ENTITY, httpExceptionOptions?.errorCode), HttpStatus.UNPROCESSABLE_ENTITY, httpExceptionOptions);
+ }
+ };
+ }
+});
+
+// ../../node_modules/.pnpm/@nestjs+common@12.2.0_reflect-metadata@0.2.2_rxjs@7.8.2/node_modules/@nestjs/common/exceptions/unsupported-media-type.exception.js
+var UnsupportedMediaTypeException;
+var init_unsupported_media_type_exception = __esm({
+ "../../node_modules/.pnpm/@nestjs+common@12.2.0_reflect-metadata@0.2.2_rxjs@7.8.2/node_modules/@nestjs/common/exceptions/unsupported-media-type.exception.js"() {
+ init_http_status_enum();
+ init_http_exception();
+ UnsupportedMediaTypeException = class extends HttpException {
+ static {
+ __name(this, "UnsupportedMediaTypeException");
+ }
+ /**
+ * Instantiate an `UnsupportedMediaTypeException` Exception.
+ *
+ * @example
+ * `throw new UnsupportedMediaTypeException()`
+ *
+ * @usageNotes
+ * The HTTP response status code will be 415.
+ * - The `objectOrError` argument defines the JSON response body or the message string.
+ * - The `descriptionOrOptions` argument contains either a short description of the HTTP error or an options object used to provide an underlying error cause.
+ *
+ * By default, the JSON response body contains two properties:
+ * - `statusCode`: this will be the value 415.
+ * - `message`: the string `'Unsupported Media Type'` by default; override this by supplying
+ * a string in the `objectOrError` parameter.
+ *
+ * If the parameter `objectOrError` is a string, the response body will contain an
+ * additional property, `error`, with a short description of the HTTP error. To override the
+ * entire JSON response body, pass an object instead. Nest will serialize the object
+ * and return it as the JSON response body.
+ *
+ * @param objectOrError string or object describing the error condition.
+ * @param descriptionOrOptions either a short description of the HTTP error or an options object used to provide an underlying error cause
+ */
+ constructor(objectOrError, descriptionOrOptions = "Unsupported Media Type") {
+ const { description = "Unsupported Media Type", httpExceptionOptions } = HttpException.extractDescriptionAndOptionsFrom(descriptionOrOptions);
+ super(HttpException.createBody(objectOrError, description, HttpStatus.UNSUPPORTED_MEDIA_TYPE, httpExceptionOptions?.errorCode), HttpStatus.UNSUPPORTED_MEDIA_TYPE, httpExceptionOptions);
+ }
+ };
+ }
+});
+
+// ../../node_modules/.pnpm/@nestjs+common@12.2.0_reflect-metadata@0.2.2_rxjs@7.8.2/node_modules/@nestjs/common/exceptions/index.js
+var init_exceptions = __esm({
+ "../../node_modules/.pnpm/@nestjs+common@12.2.0_reflect-metadata@0.2.2_rxjs@7.8.2/node_modules/@nestjs/common/exceptions/index.js"() {
+ init_bad_gateway_exception();
+ init_bad_request_exception();
+ init_conflict_exception();
+ init_forbidden_exception();
+ init_gateway_timeout_exception();
+ init_gone_exception();
+ init_http_version_not_supported_exception();
+ init_http_exception();
+ init_im_a_teapot_exception();
+ init_internal_server_error_exception();
+ init_intrinsic_exception();
+ init_method_not_allowed_exception();
+ init_misdirected_exception();
+ init_not_acceptable_exception();
+ init_not_found_exception();
+ init_not_implemented_exception();
+ init_payload_too_large_exception();
+ init_precondition_failed_exception();
+ init_request_timeout_exception();
+ init_service_unavailable_exception();
+ init_unauthorized_exception();
+ init_unprocessable_entity_exception();
+ init_unsupported_media_type_exception();
+ }
+});
+
+// ../../node_modules/.pnpm/@nestjs+common@12.2.0_reflect-metadata@0.2.2_rxjs@7.8.2/node_modules/@nestjs/common/file-stream/index.js
+var init_file_stream = __esm({
+ "../../node_modules/.pnpm/@nestjs+common@12.2.0_reflect-metadata@0.2.2_rxjs@7.8.2/node_modules/@nestjs/common/file-stream/index.js"() {
+ init_streamable_file();
+ }
+});
+
+// ../../node_modules/.pnpm/@nestjs+common@12.2.0_reflect-metadata@0.2.2_rxjs@7.8.2/node_modules/@nestjs/common/interfaces/abstract.interface.js
+var init_abstract_interface = __esm({
+ "../../node_modules/.pnpm/@nestjs+common@12.2.0_reflect-metadata@0.2.2_rxjs@7.8.2/node_modules/@nestjs/common/interfaces/abstract.interface.js"() {
+ }
+});
+
+// ../../node_modules/.pnpm/@nestjs+common@12.2.0_reflect-metadata@0.2.2_rxjs@7.8.2/node_modules/@nestjs/common/interfaces/controllers/controller-metadata.interface.js
+var init_controller_metadata_interface = __esm({
+ "../../node_modules/.pnpm/@nestjs+common@12.2.0_reflect-metadata@0.2.2_rxjs@7.8.2/node_modules/@nestjs/common/interfaces/controllers/controller-metadata.interface.js"() {
+ }
+});
+
+// ../../node_modules/.pnpm/@nestjs+common@12.2.0_reflect-metadata@0.2.2_rxjs@7.8.2/node_modules/@nestjs/common/interfaces/controllers/controller.interface.js
+var init_controller_interface = __esm({
+ "../../node_modules/.pnpm/@nestjs+common@12.2.0_reflect-metadata@0.2.2_rxjs@7.8.2/node_modules/@nestjs/common/interfaces/controllers/controller.interface.js"() {
+ }
+});
+
+// ../../node_modules/.pnpm/@nestjs+common@12.2.0_reflect-metadata@0.2.2_rxjs@7.8.2/node_modules/@nestjs/common/interfaces/exceptions/exception-filter.interface.js
+var init_exception_filter_interface = __esm({
+ "../../node_modules/.pnpm/@nestjs+common@12.2.0_reflect-metadata@0.2.2_rxjs@7.8.2/node_modules/@nestjs/common/interfaces/exceptions/exception-filter.interface.js"() {
+ }
+});
+
+// ../../node_modules/.pnpm/@nestjs+common@12.2.0_reflect-metadata@0.2.2_rxjs@7.8.2/node_modules/@nestjs/common/interfaces/exceptions/rpc-exception-filter.interface.js
+var init_rpc_exception_filter_interface = __esm({
+ "../../node_modules/.pnpm/@nestjs+common@12.2.0_reflect-metadata@0.2.2_rxjs@7.8.2/node_modules/@nestjs/common/interfaces/exceptions/rpc-exception-filter.interface.js"() {
+ }
+});
+
+// ../../node_modules/.pnpm/@nestjs+common@12.2.0_reflect-metadata@0.2.2_rxjs@7.8.2/node_modules/@nestjs/common/interfaces/exceptions/ws-exception-filter.interface.js
+var init_ws_exception_filter_interface = __esm({
+ "../../node_modules/.pnpm/@nestjs+common@12.2.0_reflect-metadata@0.2.2_rxjs@7.8.2/node_modules/@nestjs/common/interfaces/exceptions/ws-exception-filter.interface.js"() {
+ }
+});
+
+// ../../node_modules/.pnpm/@nestjs+common@12.2.0_reflect-metadata@0.2.2_rxjs@7.8.2/node_modules/@nestjs/common/interfaces/external/validation-error.interface.js
+var init_validation_error_interface = __esm({
+ "../../node_modules/.pnpm/@nestjs+common@12.2.0_reflect-metadata@0.2.2_rxjs@7.8.2/node_modules/@nestjs/common/interfaces/external/validation-error.interface.js"() {
+ }
+});
+
+// ../../node_modules/.pnpm/@nestjs+common@12.2.0_reflect-metadata@0.2.2_rxjs@7.8.2/node_modules/@nestjs/common/interfaces/features/arguments-host.interface.js
+var init_arguments_host_interface = __esm({
+ "../../node_modules/.pnpm/@nestjs+common@12.2.0_reflect-metadata@0.2.2_rxjs@7.8.2/node_modules/@nestjs/common/interfaces/features/arguments-host.interface.js"() {
+ }
+});
+
+// ../../node_modules/.pnpm/@nestjs+common@12.2.0_reflect-metadata@0.2.2_rxjs@7.8.2/node_modules/@nestjs/common/interfaces/features/can-activate.interface.js
+var init_can_activate_interface = __esm({
+ "../../node_modules/.pnpm/@nestjs+common@12.2.0_reflect-metadata@0.2.2_rxjs@7.8.2/node_modules/@nestjs/common/interfaces/features/can-activate.interface.js"() {
+ }
+});
+
+// ../../node_modules/.pnpm/@nestjs+common@12.2.0_reflect-metadata@0.2.2_rxjs@7.8.2/node_modules/@nestjs/common/interfaces/features/custom-route-param-factory.interface.js
+var init_custom_route_param_factory_interface = __esm({
+ "../../node_modules/.pnpm/@nestjs+common@12.2.0_reflect-metadata@0.2.2_rxjs@7.8.2/node_modules/@nestjs/common/interfaces/features/custom-route-param-factory.interface.js"() {
+ }
+});
+
+// ../../node_modules/.pnpm/@nestjs+common@12.2.0_reflect-metadata@0.2.2_rxjs@7.8.2/node_modules/@nestjs/common/interfaces/features/execution-context.interface.js
+var init_execution_context_interface = __esm({
+ "../../node_modules/.pnpm/@nestjs+common@12.2.0_reflect-metadata@0.2.2_rxjs@7.8.2/node_modules/@nestjs/common/interfaces/features/execution-context.interface.js"() {
+ }
+});
+
+// ../../node_modules/.pnpm/@nestjs+common@12.2.0_reflect-metadata@0.2.2_rxjs@7.8.2/node_modules/@nestjs/common/interfaces/features/nest-interceptor.interface.js
+var init_nest_interceptor_interface = __esm({
+ "../../node_modules/.pnpm/@nestjs+common@12.2.0_reflect-metadata@0.2.2_rxjs@7.8.2/node_modules/@nestjs/common/interfaces/features/nest-interceptor.interface.js"() {
+ }
+});
+
+// ../../node_modules/.pnpm/@nestjs+common@12.2.0_reflect-metadata@0.2.2_rxjs@7.8.2/node_modules/@nestjs/common/interfaces/features/paramtype.interface.js
+var init_paramtype_interface = __esm({
+ "../../node_modules/.pnpm/@nestjs+common@12.2.0_reflect-metadata@0.2.2_rxjs@7.8.2/node_modules/@nestjs/common/interfaces/features/paramtype.interface.js"() {
+ }
+});
+
+// ../../node_modules/.pnpm/@nestjs+common@12.2.0_reflect-metadata@0.2.2_rxjs@7.8.2/node_modules/@nestjs/common/interfaces/features/pipe-transform.interface.js
+var init_pipe_transform_interface = __esm({
+ "../../node_modules/.pnpm/@nestjs+common@12.2.0_reflect-metadata@0.2.2_rxjs@7.8.2/node_modules/@nestjs/common/interfaces/features/pipe-transform.interface.js"() {
+ }
+});
+
+// ../../node_modules/.pnpm/@nestjs+common@12.2.0_reflect-metadata@0.2.2_rxjs@7.8.2/node_modules/@nestjs/common/interfaces/global-prefix-options.interface.js
+var init_global_prefix_options_interface = __esm({
+ "../../node_modules/.pnpm/@nestjs+common@12.2.0_reflect-metadata@0.2.2_rxjs@7.8.2/node_modules/@nestjs/common/interfaces/global-prefix-options.interface.js"() {
+ }
+});
+
+// ../../node_modules/.pnpm/@nestjs+common@12.2.0_reflect-metadata@0.2.2_rxjs@7.8.2/node_modules/@nestjs/common/interfaces/hooks/before-application-shutdown.interface.js
+var init_before_application_shutdown_interface = __esm({
+ "../../node_modules/.pnpm/@nestjs+common@12.2.0_reflect-metadata@0.2.2_rxjs@7.8.2/node_modules/@nestjs/common/interfaces/hooks/before-application-shutdown.interface.js"() {
+ }
+});
+
+// ../../node_modules/.pnpm/@nestjs+common@12.2.0_reflect-metadata@0.2.2_rxjs@7.8.2/node_modules/@nestjs/common/interfaces/hooks/on-application-bootstrap.interface.js
+var init_on_application_bootstrap_interface = __esm({
+ "../../node_modules/.pnpm/@nestjs+common@12.2.0_reflect-metadata@0.2.2_rxjs@7.8.2/node_modules/@nestjs/common/interfaces/hooks/on-application-bootstrap.interface.js"() {
+ }
+});
+
+// ../../node_modules/.pnpm/@nestjs+common@12.2.0_reflect-metadata@0.2.2_rxjs@7.8.2/node_modules/@nestjs/common/interfaces/hooks/on-application-shutdown.interface.js
+var init_on_application_shutdown_interface = __esm({
+ "../../node_modules/.pnpm/@nestjs+common@12.2.0_reflect-metadata@0.2.2_rxjs@7.8.2/node_modules/@nestjs/common/interfaces/hooks/on-application-shutdown.interface.js"() {
+ }
+});
+
+// ../../node_modules/.pnpm/@nestjs+common@12.2.0_reflect-metadata@0.2.2_rxjs@7.8.2/node_modules/@nestjs/common/interfaces/hooks/on-destroy.interface.js
+var init_on_destroy_interface = __esm({
+ "../../node_modules/.pnpm/@nestjs+common@12.2.0_reflect-metadata@0.2.2_rxjs@7.8.2/node_modules/@nestjs/common/interfaces/hooks/on-destroy.interface.js"() {
+ }
+});
+
+// ../../node_modules/.pnpm/@nestjs+common@12.2.0_reflect-metadata@0.2.2_rxjs@7.8.2/node_modules/@nestjs/common/interfaces/hooks/on-init.interface.js
+var init_on_init_interface = __esm({
+ "../../node_modules/.pnpm/@nestjs+common@12.2.0_reflect-metadata@0.2.2_rxjs@7.8.2/node_modules/@nestjs/common/interfaces/hooks/on-init.interface.js"() {
+ }
+});
+
+// ../../node_modules/.pnpm/@nestjs+common@12.2.0_reflect-metadata@0.2.2_rxjs@7.8.2/node_modules/@nestjs/common/interfaces/hooks/index.js
+var init_hooks = __esm({
+ "../../node_modules/.pnpm/@nestjs+common@12.2.0_reflect-metadata@0.2.2_rxjs@7.8.2/node_modules/@nestjs/common/interfaces/hooks/index.js"() {
+ init_before_application_shutdown_interface();
+ init_on_application_bootstrap_interface();
+ init_on_application_shutdown_interface();
+ init_on_destroy_interface();
+ init_on_init_interface();
+ }
+});
+
+// ../../node_modules/.pnpm/@nestjs+common@12.2.0_reflect-metadata@0.2.2_rxjs@7.8.2/node_modules/@nestjs/common/interfaces/http/cookie-options.interface.js
+var init_cookie_options_interface = __esm({
+ "../../node_modules/.pnpm/@nestjs+common@12.2.0_reflect-metadata@0.2.2_rxjs@7.8.2/node_modules/@nestjs/common/interfaces/http/cookie-options.interface.js"() {
+ }
+});
+
+// ../../node_modules/.pnpm/@nestjs+common@12.2.0_reflect-metadata@0.2.2_rxjs@7.8.2/node_modules/@nestjs/common/interfaces/http/csrf-protection-options.interface.js
+var init_csrf_protection_options_interface = __esm({
+ "../../node_modules/.pnpm/@nestjs+common@12.2.0_reflect-metadata@0.2.2_rxjs@7.8.2/node_modules/@nestjs/common/interfaces/http/csrf-protection-options.interface.js"() {
+ }
+});
+
+// ../../node_modules/.pnpm/@nestjs+common@12.2.0_reflect-metadata@0.2.2_rxjs@7.8.2/node_modules/@nestjs/common/interfaces/http/http-exception-body.interface.js
+var init_http_exception_body_interface = __esm({
+ "../../node_modules/.pnpm/@nestjs+common@12.2.0_reflect-metadata@0.2.2_rxjs@7.8.2/node_modules/@nestjs/common/interfaces/http/http-exception-body.interface.js"() {
+ }
+});
+
+// ../../node_modules/.pnpm/@nestjs+common@12.2.0_reflect-metadata@0.2.2_rxjs@7.8.2/node_modules/@nestjs/common/interfaces/http/http-redirect-response.interface.js
+var init_http_redirect_response_interface = __esm({
+ "../../node_modules/.pnpm/@nestjs+common@12.2.0_reflect-metadata@0.2.2_rxjs@7.8.2/node_modules/@nestjs/common/interfaces/http/http-redirect-response.interface.js"() {
+ }
+});
+
+// ../../node_modules/.pnpm/@nestjs+common@12.2.0_reflect-metadata@0.2.2_rxjs@7.8.2/node_modules/@nestjs/common/interfaces/http/http-server.interface.js
+var init_http_server_interface = __esm({
+ "../../node_modules/.pnpm/@nestjs+common@12.2.0_reflect-metadata@0.2.2_rxjs@7.8.2/node_modules/@nestjs/common/interfaces/http/http-server.interface.js"() {
+ }
+});
+
+// ../../node_modules/.pnpm/@nestjs+common@12.2.0_reflect-metadata@0.2.2_rxjs@7.8.2/node_modules/@nestjs/common/interfaces/http/message-event.interface.js
+var init_message_event_interface = __esm({
+ "../../node_modules/.pnpm/@nestjs+common@12.2.0_reflect-metadata@0.2.2_rxjs@7.8.2/node_modules/@nestjs/common/interfaces/http/message-event.interface.js"() {
+ }
+});
+
+// ../../node_modules/.pnpm/@nestjs+common@12.2.0_reflect-metadata@0.2.2_rxjs@7.8.2/node_modules/@nestjs/common/interfaces/http/raw-body-request.interface.js
+var init_raw_body_request_interface = __esm({
+ "../../node_modules/.pnpm/@nestjs+common@12.2.0_reflect-metadata@0.2.2_rxjs@7.8.2/node_modules/@nestjs/common/interfaces/http/raw-body-request.interface.js"() {
+ }
+});
+
+// ../../node_modules/.pnpm/@nestjs+common@12.2.0_reflect-metadata@0.2.2_rxjs@7.8.2/node_modules/@nestjs/common/interfaces/http/security-headers-options.interface.js
+var init_security_headers_options_interface = __esm({
+ "../../node_modules/.pnpm/@nestjs+common@12.2.0_reflect-metadata@0.2.2_rxjs@7.8.2/node_modules/@nestjs/common/interfaces/http/security-headers-options.interface.js"() {
+ }
+});
+
+// ../../node_modules/.pnpm/@nestjs+common@12.2.0_reflect-metadata@0.2.2_rxjs@7.8.2/node_modules/@nestjs/common/interfaces/http/index.js
+var init_http2 = __esm({
+ "../../node_modules/.pnpm/@nestjs+common@12.2.0_reflect-metadata@0.2.2_rxjs@7.8.2/node_modules/@nestjs/common/interfaces/http/index.js"() {
+ init_cookie_options_interface();
+ init_csrf_protection_options_interface();
+ init_http_exception_body_interface();
+ init_http_redirect_response_interface();
+ init_http_server_interface();
+ init_message_event_interface();
+ init_raw_body_request_interface();
+ init_security_headers_options_interface();
+ }
+});
+
+// ../../node_modules/.pnpm/@nestjs+common@12.2.0_reflect-metadata@0.2.2_rxjs@7.8.2/node_modules/@nestjs/common/interfaces/injectable.interface.js
+var init_injectable_interface = __esm({
+ "../../node_modules/.pnpm/@nestjs+common@12.2.0_reflect-metadata@0.2.2_rxjs@7.8.2/node_modules/@nestjs/common/interfaces/injectable.interface.js"() {
+ }
+});
+
+// ../../node_modules/.pnpm/@nestjs+common@12.2.0_reflect-metadata@0.2.2_rxjs@7.8.2/node_modules/@nestjs/common/interfaces/microservices/nest-hybrid-application-options.interface.js
+var init_nest_hybrid_application_options_interface = __esm({
+ "../../node_modules/.pnpm/@nestjs+common@12.2.0_reflect-metadata@0.2.2_rxjs@7.8.2/node_modules/@nestjs/common/interfaces/microservices/nest-hybrid-application-options.interface.js"() {
+ }
+});
+
+// ../../node_modules/.pnpm/@nestjs+common@12.2.0_reflect-metadata@0.2.2_rxjs@7.8.2/node_modules/@nestjs/common/interfaces/microservices/pre-request-hook.interface.js
+var init_pre_request_hook_interface = __esm({
+ "../../node_modules/.pnpm/@nestjs+common@12.2.0_reflect-metadata@0.2.2_rxjs@7.8.2/node_modules/@nestjs/common/interfaces/microservices/pre-request-hook.interface.js"() {
+ }
+});
+
+// ../../node_modules/.pnpm/@nestjs+common@12.2.0_reflect-metadata@0.2.2_rxjs@7.8.2/node_modules/@nestjs/common/interfaces/microservices/transport-server.interface.js
+var init_transport_server_interface = __esm({
+ "../../node_modules/.pnpm/@nestjs+common@12.2.0_reflect-metadata@0.2.2_rxjs@7.8.2/node_modules/@nestjs/common/interfaces/microservices/transport-server.interface.js"() {
+ }
+});
+
+// ../../node_modules/.pnpm/@nestjs+common@12.2.0_reflect-metadata@0.2.2_rxjs@7.8.2/node_modules/@nestjs/common/interfaces/middleware/middleware-config-proxy.interface.js
+var init_middleware_config_proxy_interface = __esm({
+ "../../node_modules/.pnpm/@nestjs+common@12.2.0_reflect-metadata@0.2.2_rxjs@7.8.2/node_modules/@nestjs/common/interfaces/middleware/middleware-config-proxy.interface.js"() {
+ }
+});
+
+// ../../node_modules/.pnpm/@nestjs+common@12.2.0_reflect-metadata@0.2.2_rxjs@7.8.2/node_modules/@nestjs/common/interfaces/middleware/middleware-configuration.interface.js
+var init_middleware_configuration_interface = __esm({
+ "../../node_modules/.pnpm/@nestjs+common@12.2.0_reflect-metadata@0.2.2_rxjs@7.8.2/node_modules/@nestjs/common/interfaces/middleware/middleware-configuration.interface.js"() {
+ }
+});
+
+// ../../node_modules/.pnpm/@nestjs+common@12.2.0_reflect-metadata@0.2.2_rxjs@7.8.2/node_modules/@nestjs/common/interfaces/middleware/middleware-consumer.interface.js
+var init_middleware_consumer_interface = __esm({
+ "../../node_modules/.pnpm/@nestjs+common@12.2.0_reflect-metadata@0.2.2_rxjs@7.8.2/node_modules/@nestjs/common/interfaces/middleware/middleware-consumer.interface.js"() {
+ }
+});
+
+// ../../node_modules/.pnpm/@nestjs+common@12.2.0_reflect-metadata@0.2.2_rxjs@7.8.2/node_modules/@nestjs/common/interfaces/middleware/nest-middleware.interface.js
+var init_nest_middleware_interface = __esm({
+ "../../node_modules/.pnpm/@nestjs+common@12.2.0_reflect-metadata@0.2.2_rxjs@7.8.2/node_modules/@nestjs/common/interfaces/middleware/nest-middleware.interface.js"() {
+ }
+});
+
+// ../../node_modules/.pnpm/@nestjs+common@12.2.0_reflect-metadata@0.2.2_rxjs@7.8.2/node_modules/@nestjs/common/interfaces/middleware/index.js
+var init_middleware = __esm({
+ "../../node_modules/.pnpm/@nestjs+common@12.2.0_reflect-metadata@0.2.2_rxjs@7.8.2/node_modules/@nestjs/common/interfaces/middleware/index.js"() {
+ init_middleware_config_proxy_interface();
+ init_middleware_configuration_interface();
+ init_middleware_consumer_interface();
+ init_nest_middleware_interface();
+ }
+});
+
+// ../../node_modules/.pnpm/@nestjs+common@12.2.0_reflect-metadata@0.2.2_rxjs@7.8.2/node_modules/@nestjs/common/interfaces/modules/dynamic-module.interface.js
+var init_dynamic_module_interface = __esm({
+ "../../node_modules/.pnpm/@nestjs+common@12.2.0_reflect-metadata@0.2.2_rxjs@7.8.2/node_modules/@nestjs/common/interfaces/modules/dynamic-module.interface.js"() {
+ }
+});
+
+// ../../node_modules/.pnpm/@nestjs+common@12.2.0_reflect-metadata@0.2.2_rxjs@7.8.2/node_modules/@nestjs/common/interfaces/modules/forward-reference.interface.js
+var init_forward_reference_interface = __esm({
+ "../../node_modules/.pnpm/@nestjs+common@12.2.0_reflect-metadata@0.2.2_rxjs@7.8.2/node_modules/@nestjs/common/interfaces/modules/forward-reference.interface.js"() {
+ }
+});
+
+// ../../node_modules/.pnpm/@nestjs+common@12.2.0_reflect-metadata@0.2.2_rxjs@7.8.2/node_modules/@nestjs/common/interfaces/modules/injection-token.interface.js
+var init_injection_token_interface = __esm({
+ "../../node_modules/.pnpm/@nestjs+common@12.2.0_reflect-metadata@0.2.2_rxjs@7.8.2/node_modules/@nestjs/common/interfaces/modules/injection-token.interface.js"() {
+ }
+});
+
+// ../../node_modules/.pnpm/@nestjs+common@12.2.0_reflect-metadata@0.2.2_rxjs@7.8.2/node_modules/@nestjs/common/interfaces/modules/introspection-result.interface.js
+var init_introspection_result_interface = __esm({
+ "../../node_modules/.pnpm/@nestjs+common@12.2.0_reflect-metadata@0.2.2_rxjs@7.8.2/node_modules/@nestjs/common/interfaces/modules/introspection-result.interface.js"() {
+ }
+});
+
+// ../../node_modules/.pnpm/@nestjs+common@12.2.0_reflect-metadata@0.2.2_rxjs@7.8.2/node_modules/@nestjs/common/interfaces/modules/module-metadata.interface.js
+var init_module_metadata_interface = __esm({
+ "../../node_modules/.pnpm/@nestjs+common@12.2.0_reflect-metadata@0.2.2_rxjs@7.8.2/node_modules/@nestjs/common/interfaces/modules/module-metadata.interface.js"() {
+ }
+});
+
+// ../../node_modules/.pnpm/@nestjs+common@12.2.0_reflect-metadata@0.2.2_rxjs@7.8.2/node_modules/@nestjs/common/interfaces/modules/nest-module.interface.js
+var init_nest_module_interface = __esm({
+ "../../node_modules/.pnpm/@nestjs+common@12.2.0_reflect-metadata@0.2.2_rxjs@7.8.2/node_modules/@nestjs/common/interfaces/modules/nest-module.interface.js"() {
+ }
+});
+
+// ../../node_modules/.pnpm/@nestjs+common@12.2.0_reflect-metadata@0.2.2_rxjs@7.8.2/node_modules/@nestjs/common/interfaces/modules/optional-factory-dependency.interface.js
+var init_optional_factory_dependency_interface = __esm({
+ "../../node_modules/.pnpm/@nestjs+common@12.2.0_reflect-metadata@0.2.2_rxjs@7.8.2/node_modules/@nestjs/common/interfaces/modules/optional-factory-dependency.interface.js"() {
+ }
+});
+
+// ../../node_modules/.pnpm/@nestjs+common@12.2.0_reflect-metadata@0.2.2_rxjs@7.8.2/node_modules/@nestjs/common/interfaces/modules/provider.interface.js
+var init_provider_interface = __esm({
+ "../../node_modules/.pnpm/@nestjs+common@12.2.0_reflect-metadata@0.2.2_rxjs@7.8.2/node_modules/@nestjs/common/interfaces/modules/provider.interface.js"() {
+ }
+});
+
+// ../../node_modules/.pnpm/@nestjs+common@12.2.0_reflect-metadata@0.2.2_rxjs@7.8.2/node_modules/@nestjs/common/interfaces/modules/index.js
+var init_modules2 = __esm({
+ "../../node_modules/.pnpm/@nestjs+common@12.2.0_reflect-metadata@0.2.2_rxjs@7.8.2/node_modules/@nestjs/common/interfaces/modules/index.js"() {
+ init_dynamic_module_interface();
+ init_forward_reference_interface();
+ init_injection_token_interface();
+ init_introspection_result_interface();
+ init_module_metadata_interface();
+ init_nest_module_interface();
+ init_optional_factory_dependency_interface();
+ init_provider_interface();
+ }
+});
+
+// ../../node_modules/.pnpm/@nestjs+common@12.2.0_reflect-metadata@0.2.2_rxjs@7.8.2/node_modules/@nestjs/common/interfaces/nest-application-context.interface.js
+var init_nest_application_context_interface = __esm({
+ "../../node_modules/.pnpm/@nestjs+common@12.2.0_reflect-metadata@0.2.2_rxjs@7.8.2/node_modules/@nestjs/common/interfaces/nest-application-context.interface.js"() {
+ }
+});
+
+// ../../node_modules/.pnpm/@nestjs+common@12.2.0_reflect-metadata@0.2.2_rxjs@7.8.2/node_modules/@nestjs/common/interfaces/nest-application-options.interface.js
+var init_nest_application_options_interface = __esm({
+ "../../node_modules/.pnpm/@nestjs+common@12.2.0_reflect-metadata@0.2.2_rxjs@7.8.2/node_modules/@nestjs/common/interfaces/nest-application-options.interface.js"() {
+ }
+});
+
+// ../../node_modules/.pnpm/@nestjs+common@12.2.0_reflect-metadata@0.2.2_rxjs@7.8.2/node_modules/@nestjs/common/interfaces/nest-application.interface.js
+var init_nest_application_interface = __esm({
+ "../../node_modules/.pnpm/@nestjs+common@12.2.0_reflect-metadata@0.2.2_rxjs@7.8.2/node_modules/@nestjs/common/interfaces/nest-application.interface.js"() {
+ }
+});
+
+// ../../node_modules/.pnpm/@nestjs+common@12.2.0_reflect-metadata@0.2.2_rxjs@7.8.2/node_modules/@nestjs/common/interfaces/nest-microservice.interface.js
+var init_nest_microservice_interface = __esm({
+ "../../node_modules/.pnpm/@nestjs+common@12.2.0_reflect-metadata@0.2.2_rxjs@7.8.2/node_modules/@nestjs/common/interfaces/nest-microservice.interface.js"() {
+ }
+});
+
+// ../../node_modules/.pnpm/@nestjs+common@12.2.0_reflect-metadata@0.2.2_rxjs@7.8.2/node_modules/@nestjs/common/interfaces/router-options.interface.js
+var init_router_options_interface = __esm({
+ "../../node_modules/.pnpm/@nestjs+common@12.2.0_reflect-metadata@0.2.2_rxjs@7.8.2/node_modules/@nestjs/common/interfaces/router-options.interface.js"() {
+ }
+});
+
+// ../../node_modules/.pnpm/@nestjs+common@12.2.0_reflect-metadata@0.2.2_rxjs@7.8.2/node_modules/@nestjs/common/interfaces/scope-options.interface.js
+var Scope;
+var init_scope_options_interface = __esm({
+ "../../node_modules/.pnpm/@nestjs+common@12.2.0_reflect-metadata@0.2.2_rxjs@7.8.2/node_modules/@nestjs/common/interfaces/scope-options.interface.js"() {
+ (function(Scope2) {
+ Scope2[Scope2["DEFAULT"] = 0] = "DEFAULT";
+ Scope2[Scope2["TRANSIENT"] = 1] = "TRANSIENT";
+ Scope2[Scope2["REQUEST"] = 2] = "REQUEST";
+ })(Scope || (Scope = {}));
+ }
+});
+
+// ../../node_modules/.pnpm/@nestjs+common@12.2.0_reflect-metadata@0.2.2_rxjs@7.8.2/node_modules/@nestjs/common/interfaces/shutdown-hooks-options.interface.js
+var init_shutdown_hooks_options_interface = __esm({
+ "../../node_modules/.pnpm/@nestjs+common@12.2.0_reflect-metadata@0.2.2_rxjs@7.8.2/node_modules/@nestjs/common/interfaces/shutdown-hooks-options.interface.js"() {
+ }
+});
+
+// ../../node_modules/.pnpm/@nestjs+common@12.2.0_reflect-metadata@0.2.2_rxjs@7.8.2/node_modules/@nestjs/common/interfaces/type.interface.js
+var init_type_interface = __esm({
+ "../../node_modules/.pnpm/@nestjs+common@12.2.0_reflect-metadata@0.2.2_rxjs@7.8.2/node_modules/@nestjs/common/interfaces/type.interface.js"() {
+ }
+});
+
+// ../../node_modules/.pnpm/@nestjs+common@12.2.0_reflect-metadata@0.2.2_rxjs@7.8.2/node_modules/@nestjs/common/interfaces/websockets/web-socket-adapter.interface.js
+var init_web_socket_adapter_interface = __esm({
+ "../../node_modules/.pnpm/@nestjs+common@12.2.0_reflect-metadata@0.2.2_rxjs@7.8.2/node_modules/@nestjs/common/interfaces/websockets/web-socket-adapter.interface.js"() {
+ }
+});
+
+// ../../node_modules/.pnpm/@nestjs+common@12.2.0_reflect-metadata@0.2.2_rxjs@7.8.2/node_modules/@nestjs/common/interfaces/index.js
+var init_interfaces = __esm({
+ "../../node_modules/.pnpm/@nestjs+common@12.2.0_reflect-metadata@0.2.2_rxjs@7.8.2/node_modules/@nestjs/common/interfaces/index.js"() {
+ init_abstract_interface();
+ init_controller_metadata_interface();
+ init_controller_interface();
+ init_exception_filter_interface();
+ init_rpc_exception_filter_interface();
+ init_ws_exception_filter_interface();
+ init_validation_error_interface();
+ init_arguments_host_interface();
+ init_can_activate_interface();
+ init_custom_route_param_factory_interface();
+ init_execution_context_interface();
+ init_nest_interceptor_interface();
+ init_paramtype_interface();
+ init_pipe_transform_interface();
+ init_global_prefix_options_interface();
+ init_hooks();
+ init_http2();
+ init_injectable_interface();
+ init_nest_hybrid_application_options_interface();
+ init_pre_request_hook_interface();
+ init_transport_server_interface();
+ init_middleware();
+ init_modules2();
+ init_nest_application_context_interface();
+ init_nest_application_options_interface();
+ init_nest_application_interface();
+ init_nest_microservice_interface();
+ init_router_options_interface();
+ init_scope_options_interface();
+ init_shutdown_hooks_options_interface();
+ init_type_interface();
+ init_version_options_interface();
+ init_web_socket_adapter_interface();
+ }
+});
+
+// ../../node_modules/.pnpm/@nestjs+common@12.2.0_reflect-metadata@0.2.2_rxjs@7.8.2/node_modules/@nestjs/common/module-utils/constants.js
+var DEFAULT_METHOD_KEY, DEFAULT_FACTORY_CLASS_METHOD_KEY, ASYNC_METHOD_SUFFIX, CONFIGURABLE_MODULE_ID, ASYNC_OPTIONS_METADATA_KEYS;
+var init_constants2 = __esm({
+ "../../node_modules/.pnpm/@nestjs+common@12.2.0_reflect-metadata@0.2.2_rxjs@7.8.2/node_modules/@nestjs/common/module-utils/constants.js"() {
+ DEFAULT_METHOD_KEY = "register";
+ DEFAULT_FACTORY_CLASS_METHOD_KEY = "create";
+ ASYNC_METHOD_SUFFIX = "Async";
+ CONFIGURABLE_MODULE_ID = "CONFIGURABLE_MODULE_ID";
+ ASYNC_OPTIONS_METADATA_KEYS = [
+ "useFactory",
+ "useClass",
+ "useExisting",
+ "inject",
+ "imports",
+ "provideInjectionTokensFrom"
+ ];
+ }
+});
+
+// ../../node_modules/.pnpm/@nestjs+common@12.2.0_reflect-metadata@0.2.2_rxjs@7.8.2/node_modules/@nestjs/common/module-utils/utils/generate-options-injection-token.util.js
+function generateOptionsInjectionToken() {
+ const hash = randomStringGenerator();
+ return `CONFIGURABLE_MODULE_OPTIONS[${hash}]`;
+}
+var init_generate_options_injection_token_util = __esm({
+ "../../node_modules/.pnpm/@nestjs+common@12.2.0_reflect-metadata@0.2.2_rxjs@7.8.2/node_modules/@nestjs/common/module-utils/utils/generate-options-injection-token.util.js"() {
+ init_random_string_generator_util();
+ __name(generateOptionsInjectionToken, "generateOptionsInjectionToken");
+ }
+});
+
+// ../../node_modules/.pnpm/@nestjs+common@12.2.0_reflect-metadata@0.2.2_rxjs@7.8.2/node_modules/@nestjs/common/module-utils/utils/get-injection-providers.util.js
+function isOptionalFactoryDependency(value) {
+ return !isUndefined(value.token) && !isUndefined(value.optional) && !value.prototype;
+}
+function getInjectionProviders(providers, tokens) {
+ const result = [];
+ let search = tokens.map(mapInjectToTokens);
+ while (search.length > 0) {
+ const match = (providers ?? []).filter((p) => !result.includes(p) && // this prevents circular loops and duplication
+ (search.includes(p) || search.includes(p?.provide)));
+ result.push(...match);
+ search = match.flatMap((p) => p?.useExisting !== void 0 ? [p.useExisting] : p?.inject ?? []).map(mapInjectToTokens);
+ }
+ return result;
+}
+var mapInjectToTokens;
+var init_get_injection_providers_util = __esm({
+ "../../node_modules/.pnpm/@nestjs+common@12.2.0_reflect-metadata@0.2.2_rxjs@7.8.2/node_modules/@nestjs/common/module-utils/utils/get-injection-providers.util.js"() {
+ init_shared_utils();
+ __name(isOptionalFactoryDependency, "isOptionalFactoryDependency");
+ mapInjectToTokens = /* @__PURE__ */ __name((t) => isOptionalFactoryDependency(t) ? t.token : t, "mapInjectToTokens");
+ __name(getInjectionProviders, "getInjectionProviders");
+ }
+});
+
+// ../../node_modules/.pnpm/@nestjs+common@12.2.0_reflect-metadata@0.2.2_rxjs@7.8.2/node_modules/@nestjs/common/module-utils/utils/index.js
+var init_utils2 = __esm({
+ "../../node_modules/.pnpm/@nestjs+common@12.2.0_reflect-metadata@0.2.2_rxjs@7.8.2/node_modules/@nestjs/common/module-utils/utils/index.js"() {
+ init_generate_options_injection_token_util();
+ init_get_injection_providers_util();
+ }
+});
+
+// ../../node_modules/.pnpm/@nestjs+common@12.2.0_reflect-metadata@0.2.2_rxjs@7.8.2/node_modules/@nestjs/common/module-utils/configurable-module.builder.js
+var ConfigurableModuleBuilder;
+var init_configurable_module_builder = __esm({
+ "../../node_modules/.pnpm/@nestjs+common@12.2.0_reflect-metadata@0.2.2_rxjs@7.8.2/node_modules/@nestjs/common/module-utils/configurable-module.builder.js"() {
+ init_logger_service();
+ init_random_string_generator_util();
+ init_constants2();
+ init_utils2();
+ ConfigurableModuleBuilder = class _ConfigurableModuleBuilder {
+ static {
+ __name(this, "ConfigurableModuleBuilder");
+ }
+ options;
+ staticMethodKey;
+ factoryClassMethodKey;
+ extras;
+ transformModuleDefinition;
+ logger = new Logger(_ConfigurableModuleBuilder.name);
+ constructor(options = {}, parentBuilder) {
+ this.options = options;
+ if (parentBuilder) {
+ this.staticMethodKey = parentBuilder.staticMethodKey;
+ this.factoryClassMethodKey = parentBuilder.factoryClassMethodKey;
+ this.transformModuleDefinition = parentBuilder.transformModuleDefinition;
+ this.extras = parentBuilder.extras;
+ }
+ }
+ /**
+ * Registers the "extras" object (a set of extra options that can be used to modify the dynamic module definition).
+ * Values you specify within the "extras" object will be used as default values (that can be overridden by module consumers).
+ *
+ * This method also applies the so-called "module definition transform function" that takes the auto-generated
+ * dynamic module object ("DynamicModule") and the actual consumer "extras" object as input parameters.
+ * The "extras" object consists of values explicitly specified by module consumers and default values.
+ *
+ * @example
+ * ```typescript
+ * .setExtras<{ isGlobal?: boolean }>({ isGlobal: false }, (definition, extras) =>
+ * ({ ...definition, global: extras.isGlobal })
+ * )
+ * ```
+ */
+ setExtras(extras, transformDefinition = (def) => def) {
+ const builder = new _ConfigurableModuleBuilder(this.options, this);
+ builder.extras = extras;
+ builder.transformModuleDefinition = transformDefinition;
+ return builder;
+ }
+ /**
+ * Dynamic modules must expose public static methods that let you pass in
+ * configuration parameters (control the module's behavior from the outside).
+ * Some frequently used names that you may have seen in other modules are:
+ * "forRoot", "forFeature", "register", "configure".
+ *
+ * This method "setClassMethodName" lets you specify the name of the
+ * method that will be auto-generated.
+ *
+ * @param key name of the method
+ */
+ setClassMethodName(key) {
+ const builder = new _ConfigurableModuleBuilder(this.options, this);
+ builder.staticMethodKey = key;
+ return builder;
+ }
+ /**
+ * Asynchronously configured modules (that rely on other modules, i.e. "ConfigModule")
+ * let you pass the configuration factory class that will be registered and instantiated as a provider.
+ * This provider then will be used to retrieve the module's configuration. To provide the configuration,
+ * the corresponding factory method must be implemented.
+ *
+ * This method ("setFactoryMethodName") lets you control what method name will have to be
+ * implemented by the config factory (default is "create").
+ *
+ * @param key name of the method
+ */
+ setFactoryMethodName(key) {
+ const builder = new _ConfigurableModuleBuilder(this.options, this);
+ builder.factoryClassMethodKey = key;
+ return builder;
+ }
+ /**
+ * Returns an object consisting of multiple properties that lets you
+ * easily construct dynamic configurable modules. See "ConfigurableModuleHost" interface for more details.
+ */
+ build() {
+ this.staticMethodKey ??= DEFAULT_METHOD_KEY;
+ this.factoryClassMethodKey ??= DEFAULT_FACTORY_CLASS_METHOD_KEY;
+ this.options.optionsInjectionToken ??= this.options.moduleName ? this.constructInjectionTokenString() : generateOptionsInjectionToken();
+ this.transformModuleDefinition ??= (definition) => definition;
+ return {
+ ConfigurableModuleClass: this.createConfigurableModuleCls(),
+ MODULE_OPTIONS_TOKEN: this.options.optionsInjectionToken,
+ ASYNC_OPTIONS_TYPE: this.createTypeProxy("ASYNC_OPTIONS_TYPE"),
+ OPTIONS_TYPE: this.createTypeProxy("OPTIONS_TYPE")
+ };
+ }
+ constructInjectionTokenString() {
+ const moduleNameInSnakeCase = this.options.moduleName.trim().split(/(?=[A-Z])/).join("_").toUpperCase();
+ return `${moduleNameInSnakeCase}_MODULE_OPTIONS`;
+ }
+ createConfigurableModuleCls() {
+ const self2 = this;
+ const asyncMethodKey = this.staticMethodKey + ASYNC_METHOD_SUFFIX;
+ class InternalModuleClass {
+ static {
+ __name(this, "InternalModuleClass");
+ }
+ static [self2.staticMethodKey](options) {
+ const providers = [
+ {
+ provide: self2.options.optionsInjectionToken,
+ useValue: this.omitExtras(options, self2.extras)
+ }
+ ];
+ if (self2.options.alwaysTransient) {
+ providers.push({
+ provide: CONFIGURABLE_MODULE_ID,
+ useValue: randomStringGenerator()
+ });
+ }
+ return self2.transformModuleDefinition({
+ module: this,
+ providers
+ }, {
+ ...self2.extras,
+ ...options
+ });
+ }
+ static [asyncMethodKey](options) {
+ const providers = this.createAsyncProviders(options);
+ if (self2.options.alwaysTransient) {
+ providers.push({
+ provide: CONFIGURABLE_MODULE_ID,
+ useValue: randomStringGenerator()
+ });
+ }
+ return self2.transformModuleDefinition({
+ module: this,
+ imports: options.imports || [],
+ providers
+ }, {
+ ...self2.extras,
+ ...this.extractExtrasFromAsyncOptions(options, self2.extras)
+ });
+ }
+ static omitExtras(input, extras) {
+ if (!extras) {
+ return input;
+ }
+ const moduleOptions = {};
+ const extrasKeys = Object.keys(extras);
+ Object.keys(input).filter((key) => !extrasKeys.includes(key)).forEach((key) => {
+ moduleOptions[key] = input[key];
+ });
+ return moduleOptions;
+ }
+ static extractExtrasFromAsyncOptions(input, extras) {
+ if (!extras) {
+ return {};
+ }
+ const extrasOptions = {};
+ Object.keys(input).filter((key) => !ASYNC_OPTIONS_METADATA_KEYS.includes(key)).forEach((key) => {
+ extrasOptions[key] = input[key];
+ });
+ return extrasOptions;
+ }
+ static createAsyncProviders(options) {
+ if (options.useExisting || options.useFactory) {
+ if (options.inject && options.provideInjectionTokensFrom) {
+ return [
+ this.createAsyncOptionsProvider(options),
+ ...getInjectionProviders(options.provideInjectionTokensFrom, options.inject)
+ ];
+ }
+ return [this.createAsyncOptionsProvider(options)];
+ }
+ return [
+ this.createAsyncOptionsProvider(options),
+ {
+ provide: options.useClass,
+ useClass: options.useClass
+ }
+ ];
+ }
+ static createAsyncOptionsProvider(options) {
+ if (options.useFactory) {
+ return {
+ provide: self2.options.optionsInjectionToken,
+ useFactory: options.useFactory,
+ inject: options.inject || []
+ };
+ }
+ return {
+ provide: self2.options.optionsInjectionToken,
+ useFactory: /* @__PURE__ */ __name(async (optionsFactory) => await optionsFactory[self2.factoryClassMethodKey](), "useFactory"),
+ inject: [options.useExisting || options.useClass]
+ };
+ }
+ }
+ return InternalModuleClass;
+ }
+ createTypeProxy(typeName) {
+ const proxy = new Proxy({}, {
+ get: /* @__PURE__ */ __name(() => {
+ throw new Error(`"${typeName}" is not supposed to be used as a value.`);
+ }, "get")
+ });
+ return proxy;
+ }
+ };
+ }
+});
+
+// ../../node_modules/.pnpm/@nestjs+common@12.2.0_reflect-metadata@0.2.2_rxjs@7.8.2/node_modules/@nestjs/common/module-utils/interfaces/configurable-module-async-options.interface.js
+var init_configurable_module_async_options_interface = __esm({
+ "../../node_modules/.pnpm/@nestjs+common@12.2.0_reflect-metadata@0.2.2_rxjs@7.8.2/node_modules/@nestjs/common/module-utils/interfaces/configurable-module-async-options.interface.js"() {
+ }
+});
+
+// ../../node_modules/.pnpm/@nestjs+common@12.2.0_reflect-metadata@0.2.2_rxjs@7.8.2/node_modules/@nestjs/common/module-utils/interfaces/configurable-module-cls.interface.js
+var init_configurable_module_cls_interface = __esm({
+ "../../node_modules/.pnpm/@nestjs+common@12.2.0_reflect-metadata@0.2.2_rxjs@7.8.2/node_modules/@nestjs/common/module-utils/interfaces/configurable-module-cls.interface.js"() {
+ }
+});
+
+// ../../node_modules/.pnpm/@nestjs+common@12.2.0_reflect-metadata@0.2.2_rxjs@7.8.2/node_modules/@nestjs/common/module-utils/interfaces/configurable-module-host.interface.js
+var init_configurable_module_host_interface = __esm({
+ "../../node_modules/.pnpm/@nestjs+common@12.2.0_reflect-metadata@0.2.2_rxjs@7.8.2/node_modules/@nestjs/common/module-utils/interfaces/configurable-module-host.interface.js"() {
+ }
+});
+
+// ../../node_modules/.pnpm/@nestjs+common@12.2.0_reflect-metadata@0.2.2_rxjs@7.8.2/node_modules/@nestjs/common/module-utils/interfaces/index.js
+var init_interfaces2 = __esm({
+ "../../node_modules/.pnpm/@nestjs+common@12.2.0_reflect-metadata@0.2.2_rxjs@7.8.2/node_modules/@nestjs/common/module-utils/interfaces/index.js"() {
+ init_configurable_module_async_options_interface();
+ init_configurable_module_cls_interface();
+ init_configurable_module_host_interface();
+ }
+});
+
+// ../../node_modules/.pnpm/@nestjs+common@12.2.0_reflect-metadata@0.2.2_rxjs@7.8.2/node_modules/@nestjs/common/module-utils/index.js
+var init_module_utils = __esm({
+ "../../node_modules/.pnpm/@nestjs+common@12.2.0_reflect-metadata@0.2.2_rxjs@7.8.2/node_modules/@nestjs/common/module-utils/index.js"() {
+ init_configurable_module_builder();
+ init_interfaces2();
+ }
+});
+
+// ../../node_modules/.pnpm/@nestjs+common@12.2.0_reflect-metadata@0.2.2_rxjs@7.8.2/node_modules/@nestjs/common/pipes/default-value.pipe.js
+var DefaultValuePipe;
+var init_default_value_pipe = __esm({
+ "../../node_modules/.pnpm/@nestjs+common@12.2.0_reflect-metadata@0.2.2_rxjs@7.8.2/node_modules/@nestjs/common/pipes/default-value.pipe.js"() {
+ init_tslib_es6();
+ init_injectable_decorator();
+ init_shared_utils();
+ DefaultValuePipe = class DefaultValuePipe2 {
+ static {
+ __name(this, "DefaultValuePipe");
+ }
+ defaultValue;
+ constructor(defaultValue) {
+ this.defaultValue = defaultValue;
+ }
+ transform(value, _metadata) {
+ if (isNil(value) || isNumber(value) && isNaN(value)) {
+ return this.copyDefaultValue(this.defaultValue);
+ }
+ return value;
+ }
+ /**
+ * Copies `value` if it is an array or a plain object, along with the arrays
+ * and plain objects nested in it. `copies` maps the objects copied so far
+ * to their copies, so that shared and circular references are preserved.
+ */
+ copyDefaultValue(value, copies) {
+ const isArray = Array.isArray(value) && Object.getPrototypeOf(value) === Array.prototype;
+ if (!isArray && !isPlainObject(value)) {
+ return value;
+ }
+ copies ??= /* @__PURE__ */ new Map();
+ if (copies.has(value)) {
+ return copies.get(value);
+ }
+ const copy = Object.assign(isArray ? [] : Object.create(Object.getPrototypeOf(value)), value);
+ copies.set(value, copy);
+ for (const key of Reflect.ownKeys(copy)) {
+ copy[key] = this.copyDefaultValue(copy[key], copies);
+ }
+ return copy;
+ }
+ };
+ DefaultValuePipe = __decorate([
+ Injectable(),
+ __metadata("design:paramtypes", [Object])
+ ], DefaultValuePipe);
+ }
+});
+
+// ../../node_modules/.pnpm/@nestjs+common@12.2.0_reflect-metadata@0.2.2_rxjs@7.8.2/node_modules/@nestjs/common/pipes/file/file-validator.interface.js
+var FileValidator;
+var init_file_validator_interface = __esm({
+ "../../node_modules/.pnpm/@nestjs+common@12.2.0_reflect-metadata@0.2.2_rxjs@7.8.2/node_modules/@nestjs/common/pipes/file/file-validator.interface.js"() {
+ FileValidator = class {
+ static {
+ __name(this, "FileValidator");
+ }
+ validationOptions;
+ constructor(validationOptions) {
+ this.validationOptions = validationOptions;
+ }
+ };
+ }
+});
+
+// ../../node_modules/.pnpm/@nestjs+common@12.2.0_reflect-metadata@0.2.2_rxjs@7.8.2/node_modules/@nestjs/common/pipes/file/file-type.validator.js
+var logger2, FileTypeValidator;
+var init_file_type_validator = __esm({
+ "../../node_modules/.pnpm/@nestjs+common@12.2.0_reflect-metadata@0.2.2_rxjs@7.8.2/node_modules/@nestjs/common/pipes/file/file-type.validator.js"() {
+ init_logger_service();
+ init_file_validator_interface();
+ logger2 = new Logger("FileTypeValidator");
+ FileTypeValidator = class extends FileValidator {
+ static {
+ __name(this, "FileTypeValidator");
+ }
+ buildErrorMessage(file) {
+ const { errorMessage, ...config } = this.validationOptions;
+ if (errorMessage) {
+ return typeof errorMessage === "function" ? errorMessage({ file, config }) : errorMessage;
+ }
+ if (file?.mimetype && !file.buffer && !this.validationOptions?.fallbackToMimetype && !this.validationOptions?.skipMagicNumbersValidation) {
+ return `Validation failed (file buffer is not available; file type validation could not be performed; expected type is ${this.validationOptions.fileType})`;
+ }
+ if (file?.mimetype) {
+ const baseMessage = `Validation failed (current file type is ${file.mimetype}, expected type is ${this.validationOptions.fileType})`;
+ if (this.validationOptions.fallbackToMimetype) {
+ return `${baseMessage} - magic number detection failed, used mimetype fallback`;
+ }
+ return baseMessage;
+ }
+ return `Validation failed (expected type is ${this.validationOptions.fileType})`;
+ }
+ async isValid(file) {
+ if (!this.validationOptions) {
+ return true;
+ }
+ const isFileValid = !!file && "mimetype" in file;
+ if (this.validationOptions.skipMagicNumbersValidation) {
+ return isFileValid && this.matchesFileType(file.mimetype);
+ }
+ if (!isFileValid)
+ return false;
+ if (!file.buffer) {
+ if (this.validationOptions.fallbackToMimetype) {
+ return this.matchesFileType(file.mimetype);
+ }
+ return false;
+ }
+ try {
+ const { fileTypeFromBuffer } = await import("./source-SMPGMLTA.js");
+ const fileType = await fileTypeFromBuffer(file.buffer);
+ if (fileType) {
+ if (this.validationOptions.overrideMimeType) {
+ file.mimetype = fileType.mime;
+ }
+ return this.matchesFileType(fileType.mime);
+ }
+ if (this.validationOptions.fallbackToMimetype) {
+ return this.matchesFileType(file.mimetype);
+ }
+ return false;
+ } catch (error) {
+ const errorMessage = error instanceof Error ? error.message : String(error);
+ if (errorMessage.includes("ERR_VM_DYNAMIC_IMPORT_CALLBACK_MISSING") || errorMessage.includes("Cannot find module") || errorMessage.includes("ERR_MODULE_NOT_FOUND")) {
+ logger2.warn(`Failed to load the "file-type" package for magic number validation. If you are using Jest, run it with NODE_OPTIONS="--experimental-vm-modules". Error: ${errorMessage}`);
+ }
+ if (this.validationOptions.fallbackToMimetype) {
+ return this.matchesFileType(file.mimetype);
+ }
+ return false;
+ }
+ }
+ matchesFileType(mimetype) {
+ const { fileType } = this.validationOptions;
+ if (typeof fileType === "string" && mimetype === fileType) {
+ return true;
+ }
+ if (typeof fileType === "string") {
+ return !!mimetype.match(/[a-z\d]$/i.test(fileType) ? `(?:${fileType})(?![\\w-])` : fileType);
+ }
+ return !!mimetype.match(new RegExp(fileType));
+ }
+ };
+ }
+});
+
+// ../../node_modules/.pnpm/@nestjs+common@12.2.0_reflect-metadata@0.2.2_rxjs@7.8.2/node_modules/@nestjs/common/pipes/file/max-file-size.validator.js
+var MaxFileSizeValidator;
+var init_max_file_size_validator = __esm({
+ "../../node_modules/.pnpm/@nestjs+common@12.2.0_reflect-metadata@0.2.2_rxjs@7.8.2/node_modules/@nestjs/common/pipes/file/max-file-size.validator.js"() {
+ init_file_validator_interface();
+ MaxFileSizeValidator = class extends FileValidator {
+ static {
+ __name(this, "MaxFileSizeValidator");
+ }
+ buildErrorMessage(file) {
+ const { errorMessage, message, ...config } = this.validationOptions;
+ if (errorMessage) {
+ return typeof errorMessage === "function" ? errorMessage({ file, config }) : errorMessage;
+ }
+ if (message) {
+ return typeof message === "function" ? message(this.validationOptions.maxSize) : message;
+ }
+ if (file?.size) {
+ return `Validation failed (current file size is ${file.size}, expected size is less than ${this.validationOptions.maxSize})`;
+ }
+ return `Validation failed (expected size is less than ${this.validationOptions.maxSize})`;
+ }
+ isValid(file) {
+ if (!this.validationOptions || !file) {
+ return true;
+ }
+ return "size" in file && file.size < this.validationOptions.maxSize;
+ }
+ };
+ }
+});
+
+// ../../node_modules/.pnpm/@nestjs+common@12.2.0_reflect-metadata@0.2.2_rxjs@7.8.2/node_modules/@nestjs/common/pipes/file/parse-file-options.interface.js
+var init_parse_file_options_interface = __esm({
+ "../../node_modules/.pnpm/@nestjs+common@12.2.0_reflect-metadata@0.2.2_rxjs@7.8.2/node_modules/@nestjs/common/pipes/file/parse-file-options.interface.js"() {
+ }
+});
+
+// ../../node_modules/.pnpm/@nestjs+common@12.2.0_reflect-metadata@0.2.2_rxjs@7.8.2/node_modules/@nestjs/common/utils/http-error-by-code.util.js
+var HttpErrorByCode;
+var init_http_error_by_code_util = __esm({
+ "../../node_modules/.pnpm/@nestjs+common@12.2.0_reflect-metadata@0.2.2_rxjs@7.8.2/node_modules/@nestjs/common/utils/http-error-by-code.util.js"() {
+ init_enums();
+ init_exceptions();
+ HttpErrorByCode = {
+ [HttpStatus.BAD_GATEWAY]: BadGatewayException,
+ [HttpStatus.BAD_REQUEST]: BadRequestException,
+ [HttpStatus.CONFLICT]: ConflictException,
+ [HttpStatus.FORBIDDEN]: ForbiddenException,
+ [HttpStatus.GATEWAY_TIMEOUT]: GatewayTimeoutException,
+ [HttpStatus.GONE]: GoneException,
+ [HttpStatus.HTTP_VERSION_NOT_SUPPORTED]: HttpVersionNotSupportedException,
+ [HttpStatus.I_AM_A_TEAPOT]: ImATeapotException,
+ [HttpStatus.INTERNAL_SERVER_ERROR]: InternalServerErrorException,
+ [HttpStatus.METHOD_NOT_ALLOWED]: MethodNotAllowedException,
+ [HttpStatus.MISDIRECTED]: MisdirectedException,
+ [HttpStatus.NOT_ACCEPTABLE]: NotAcceptableException,
+ [HttpStatus.NOT_FOUND]: NotFoundException,
+ [HttpStatus.NOT_IMPLEMENTED]: NotImplementedException,
+ [HttpStatus.PAYLOAD_TOO_LARGE]: PayloadTooLargeException,
+ [HttpStatus.PRECONDITION_FAILED]: PreconditionFailedException,
+ [HttpStatus.REQUEST_TIMEOUT]: RequestTimeoutException,
+ [HttpStatus.SERVICE_UNAVAILABLE]: ServiceUnavailableException,
+ [HttpStatus.UNAUTHORIZED]: UnauthorizedException,
+ [HttpStatus.UNPROCESSABLE_ENTITY]: UnprocessableEntityException,
+ [HttpStatus.UNSUPPORTED_MEDIA_TYPE]: UnsupportedMediaTypeException
+ };
+ }
+});
+
+// ../../node_modules/.pnpm/@nestjs+common@12.2.0_reflect-metadata@0.2.2_rxjs@7.8.2/node_modules/@nestjs/common/pipes/file/parse-file.pipe.js
+var ParseFilePipe;
+var init_parse_file_pipe = __esm({
+ "../../node_modules/.pnpm/@nestjs+common@12.2.0_reflect-metadata@0.2.2_rxjs@7.8.2/node_modules/@nestjs/common/pipes/file/parse-file.pipe.js"() {
+ init_tslib_es6();
+ init_core();
+ init_enums();
+ init_http_error_by_code_util();
+ init_shared_utils();
+ ParseFilePipe = class ParseFilePipe2 {
+ static {
+ __name(this, "ParseFilePipe");
+ }
+ exceptionFactory;
+ validators;
+ fileIsRequired;
+ constructor(options = {}) {
+ const { exceptionFactory, errorHttpStatusCode = HttpStatus.BAD_REQUEST, validators = [], fileIsRequired } = options;
+ this.exceptionFactory = exceptionFactory || ((error) => new HttpErrorByCode[errorHttpStatusCode](error));
+ this.validators = validators;
+ this.fileIsRequired = fileIsRequired ?? true;
+ }
+ async transform(value) {
+ const areThereAnyFilesIn = this.thereAreNoFilesIn(value);
+ if (areThereAnyFilesIn && this.fileIsRequired) {
+ throw this.exceptionFactory("File is required");
+ }
+ if (!areThereAnyFilesIn && this.validators.length) {
+ await this.validateFilesOrFile(value);
+ }
+ return value;
+ }
+ async validateFilesOrFile(value) {
+ if (Array.isArray(value)) {
+ await Promise.all(value.map((f) => this.validate(f)));
+ } else {
+ await this.validate(value);
+ }
+ }
+ thereAreNoFilesIn(value) {
+ const isEmptyObject = isObject(value) && isEmptyArray(Object.keys(value));
+ return isNil(value) || isEmptyArray(value) || isEmptyObject;
+ }
+ async validate(file) {
+ for (const validator of this.validators) {
+ await this.validateOrThrow(file, validator);
+ }
+ return file;
+ }
+ async validateOrThrow(file, validator) {
+ const isValid = await validator.isValid(file);
+ if (!isValid) {
+ const errorMessage = validator.buildErrorMessage(file);
+ throw this.exceptionFactory(errorMessage);
+ }
+ }
+ /**
+ * @returns list of validators used in this pipe.
+ */
+ getValidators() {
+ return this.validators;
+ }
+ };
+ ParseFilePipe = __decorate([
+ Injectable(),
+ __param(0, Optional()),
+ __metadata("design:paramtypes", [Object])
+ ], ParseFilePipe);
+ }
+});
+
+// ../../node_modules/.pnpm/@nestjs+common@12.2.0_reflect-metadata@0.2.2_rxjs@7.8.2/node_modules/@nestjs/common/pipes/file/parse-file-pipe.builder.js
+var ParseFilePipeBuilder;
+var init_parse_file_pipe_builder = __esm({
+ "../../node_modules/.pnpm/@nestjs+common@12.2.0_reflect-metadata@0.2.2_rxjs@7.8.2/node_modules/@nestjs/common/pipes/file/parse-file-pipe.builder.js"() {
+ init_file_type_validator();
+ init_max_file_size_validator();
+ init_parse_file_pipe();
+ ParseFilePipeBuilder = class {
+ static {
+ __name(this, "ParseFilePipeBuilder");
+ }
+ validators = [];
+ addMaxSizeValidator(options) {
+ return this.addValidator(new MaxFileSizeValidator(options));
+ }
+ addFileTypeValidator(options) {
+ return this.addValidator(new FileTypeValidator(options));
+ }
+ addValidator(validator) {
+ this.validators.push(validator);
+ return this;
+ }
+ build(additionalOptions) {
+ const parseFilePipe = new ParseFilePipe({
+ ...additionalOptions,
+ validators: this.validators
+ });
+ this.validators = [];
+ return parseFilePipe;
+ }
+ };
+ }
+});
+
+// ../../node_modules/.pnpm/@nestjs+common@12.2.0_reflect-metadata@0.2.2_rxjs@7.8.2/node_modules/@nestjs/common/pipes/file/index.js
+var init_file = __esm({
+ "../../node_modules/.pnpm/@nestjs+common@12.2.0_reflect-metadata@0.2.2_rxjs@7.8.2/node_modules/@nestjs/common/pipes/file/index.js"() {
+ init_file_type_validator();
+ init_file_validator_interface();
+ init_max_file_size_validator();
+ init_parse_file_options_interface();
+ init_parse_file_pipe();
+ init_parse_file_pipe_builder();
+ }
+});
+
+// ../../node_modules/.pnpm/iterare@1.2.1/node_modules/iterare/lib/concat.js
+var require_concat = __commonJS({
+ "../../node_modules/.pnpm/iterare@1.2.1/node_modules/iterare/lib/concat.js"(exports) {
+ "use strict";
+ Object.defineProperty(exports, "__esModule", { value: true });
+ var ConcatIterator = class {
+ static {
+ __name(this, "ConcatIterator");
+ }
+ constructor(toConcat) {
+ this.toConcat = toConcat;
+ }
+ next() {
+ if (this.toConcat.length === 0) {
+ return { done: true };
+ }
+ const result = this.toConcat[0].next();
+ if (!result.done) {
+ return result;
+ }
+ this.toConcat.shift();
+ return this.next();
+ }
+ };
+ exports.ConcatIterator = ConcatIterator;
+ }
+});
+
+// ../../node_modules/.pnpm/iterare@1.2.1/node_modules/iterare/lib/filter.js
+var require_filter = __commonJS({
+ "../../node_modules/.pnpm/iterare@1.2.1/node_modules/iterare/lib/filter.js"(exports) {
+ "use strict";
+ Object.defineProperty(exports, "__esModule", { value: true });
+ var FilterIterator = class {
+ static {
+ __name(this, "FilterIterator");
+ }
+ constructor(source, predicate) {
+ this.source = source;
+ this.predicate = predicate;
+ }
+ next() {
+ let result;
+ do {
+ result = this.source.next();
+ } while (!result.done && !this.predicate(result.value));
+ return result;
+ }
+ };
+ exports.FilterIterator = FilterIterator;
+ }
+});
+
+// ../../node_modules/.pnpm/iterare@1.2.1/node_modules/iterare/lib/utils.js
+var require_utils = __commonJS({
+ "../../node_modules/.pnpm/iterare@1.2.1/node_modules/iterare/lib/utils.js"(exports) {
+ "use strict";
+ Object.defineProperty(exports, "__esModule", { value: true });
+ function isIterator(candidate) {
+ return typeof candidate === "object" && candidate !== null && typeof candidate.next === "function";
+ }
+ __name(isIterator, "isIterator");
+ exports.isIterator = isIterator;
+ function isIterable(candidate) {
+ return typeof candidate === "object" && candidate !== null && typeof candidate[Symbol.iterator] === "function";
+ }
+ __name(isIterable, "isIterable");
+ exports.isIterable = isIterable;
+ function toIterator(collection) {
+ if (isIterator(collection)) {
+ return collection;
+ }
+ if (isIterable(collection)) {
+ return collection[Symbol.iterator]();
+ }
+ throw new Error("Passed collection is neither an Iterator nor an Iterable");
+ }
+ __name(toIterator, "toIterator");
+ exports.toIterator = toIterator;
+ }
+});
+
+// ../../node_modules/.pnpm/iterare@1.2.1/node_modules/iterare/lib/flatten.js
+var require_flatten = __commonJS({
+ "../../node_modules/.pnpm/iterare@1.2.1/node_modules/iterare/lib/flatten.js"(exports) {
+ "use strict";
+ Object.defineProperty(exports, "__esModule", { value: true });
+ var utils_1 = require_utils();
+ var FlattenIterator = class {
+ static {
+ __name(this, "FlattenIterator");
+ }
+ constructor(outer) {
+ this.outer = outer;
+ }
+ next() {
+ if (this.inner) {
+ const result = this.inner.next();
+ if (!result.done) {
+ return result;
+ }
+ this.inner = void 0;
+ }
+ const { value, done } = this.outer.next();
+ if (utils_1.isIterable(value)) {
+ this.inner = value[Symbol.iterator]();
+ return this.next();
+ }
+ return { value, done };
+ }
+ };
+ exports.FlattenIterator = FlattenIterator;
+ }
+});
+
+// ../../node_modules/.pnpm/iterare@1.2.1/node_modules/iterare/lib/map.js
+var require_map = __commonJS({
+ "../../node_modules/.pnpm/iterare@1.2.1/node_modules/iterare/lib/map.js"(exports) {
+ "use strict";
+ Object.defineProperty(exports, "__esModule", { value: true });
+ var MapIterator = class {
+ static {
+ __name(this, "MapIterator");
+ }
+ constructor(source, iteratee) {
+ this.source = source;
+ this.iteratee = iteratee;
+ }
+ next() {
+ const { value, done } = this.source.next();
+ return { value: !done && this.iteratee(value), done };
+ }
+ };
+ exports.MapIterator = MapIterator;
+ }
+});
+
+// ../../node_modules/.pnpm/iterare@1.2.1/node_modules/iterare/lib/slice.js
+var require_slice = __commonJS({
+ "../../node_modules/.pnpm/iterare@1.2.1/node_modules/iterare/lib/slice.js"(exports) {
+ "use strict";
+ Object.defineProperty(exports, "__esModule", { value: true });
+ var SliceIterator = class {
+ static {
+ __name(this, "SliceIterator");
+ }
+ /**
+ * @param {Iterator} source Source Iterator
+ * @param {number} start Zero-based positive start index, inclusive
+ * @param {number} end Zero-based positive end index, exclusive, defaults to end of iterator
+ */
+ constructor(source, start, end = Infinity) {
+ this.source = source;
+ this.start = start;
+ this.end = end;
+ this.i = 0;
+ }
+ next() {
+ while (this.i < this.start) {
+ const result = this.source.next();
+ if (result.done) {
+ return result;
+ }
+ this.i++;
+ }
+ this.i++;
+ if (this.i >= this.end) {
+ return { done: true };
+ }
+ return this.source.next();
+ }
+ };
+ exports.SliceIterator = SliceIterator;
+ }
+});
+
+// ../../node_modules/.pnpm/iterare@1.2.1/node_modules/iterare/lib/zip.js
+var require_zip = __commonJS({
+ "../../node_modules/.pnpm/iterare@1.2.1/node_modules/iterare/lib/zip.js"(exports) {
+ "use strict";
+ Object.defineProperty(exports, "__esModule", { value: true });
+ var ZipIterator = class {
+ static {
+ __name(this, "ZipIterator");
+ }
+ constructor(a, b) {
+ this.a = a;
+ this.b = b;
+ }
+ next() {
+ const a = this.a.next();
+ if (a.done) {
+ return { done: true };
+ }
+ const b = this.b.next();
+ if (b.done) {
+ return { done: true };
+ }
+ return { value: [a.value, b.value], done: false };
+ }
+ };
+ exports.ZipIterator = ZipIterator;
+ }
+});
+
+// ../../node_modules/.pnpm/iterare@1.2.1/node_modules/iterare/lib/iterate.js
+var require_iterate = __commonJS({
+ "../../node_modules/.pnpm/iterare@1.2.1/node_modules/iterare/lib/iterate.js"(exports) {
+ "use strict";
+ Object.defineProperty(exports, "__esModule", { value: true });
+ var concat_1 = require_concat();
+ var filter_1 = require_filter();
+ var flatten_1 = require_flatten();
+ var map_1 = require_map();
+ var slice_1 = require_slice();
+ var utils_1 = require_utils();
+ var zip_1 = require_zip();
+ var IteratorWithOperators = class _IteratorWithOperators {
+ static {
+ __name(this, "IteratorWithOperators");
+ }
+ /**
+ * @param source Iterator to wrap
+ */
+ constructor(source) {
+ this.source = source;
+ }
+ /**
+ * Returns a `{ value, done }` object that adheres to the Iterator protocol
+ */
+ next() {
+ return this.source.next();
+ }
+ /**
+ * The presence of this method makes the Iterator itself Iterable.
+ * This makes it possible to pass it to `for of` and Iterable-accepting functions like `Array.from()`
+ */
+ [Symbol.iterator]() {
+ return this;
+ }
+ /**
+ * Returns a new Iterator by running each element thru iteratee
+ */
+ map(iteratee) {
+ return new _IteratorWithOperators(new map_1.MapIterator(this.source, iteratee));
+ }
+ filter(predicate) {
+ return new _IteratorWithOperators(new filter_1.FilterIterator(this.source, predicate));
+ }
+ /**
+ * Returns a new Iterator concatenating the Iterator with an additional Iterator or Iterable
+ */
+ concat(collection) {
+ return new _IteratorWithOperators(new concat_1.ConcatIterator([this.source, utils_1.toIterator(collection)]));
+ }
+ /**
+ * Returns a new Iterator that emits slice of the source with n elements taken from the beginning
+ *
+ * @param limit The number of elements to take.
+ */
+ take(limit) {
+ return new _IteratorWithOperators(new slice_1.SliceIterator(this.source, 0, limit + 1));
+ }
+ /**
+ * Returns a new Iterator that emits slice of the source with n elements dropped from the beginning
+ *
+ * @param n The number of elements to drop.
+ */
+ drop(n) {
+ return new _IteratorWithOperators(new slice_1.SliceIterator(this.source, n, Infinity));
+ }
+ /**
+ * Returns a new Iterator that emits a slice of the source
+ *
+ * @param {number} start Zero-based positive start index, inclusive
+ * @param {number} end Zero-based positive end index, exclusive, defaults to end of iterator
+ */
+ slice(start, end = Infinity) {
+ return new _IteratorWithOperators(new slice_1.SliceIterator(this.source, start, end));
+ }
+ /**
+ * Returns a new Iterator that flattens items emitted by the Iterator a single level deep
+ */
+ flatten() {
+ return new _IteratorWithOperators(new flatten_1.FlattenIterator(this.source));
+ }
+ reduce(iteratee, accumulator) {
+ let result;
+ if (accumulator === void 0) {
+ result = this.source.next();
+ if (result.done) {
+ throw new TypeError("Reduce of empty Iterator with no initial value");
+ }
+ accumulator = result.value;
+ }
+ while (true) {
+ result = this.source.next();
+ if (result.done) {
+ break;
+ }
+ accumulator = iteratee(accumulator, result.value);
+ }
+ return accumulator;
+ }
+ find(predicate) {
+ let result;
+ while (true) {
+ result = this.source.next();
+ if (result.done) {
+ return void 0;
+ }
+ if (predicate(result.value)) {
+ return result.value;
+ }
+ }
+ }
+ /**
+ * Iterates and checks if `value` is emitted by the Iterator
+ *
+ * @param value The value to search
+ */
+ includes(value) {
+ let result;
+ do {
+ result = this.source.next();
+ if (!result.done && result.value === value) {
+ return true;
+ }
+ } while (!result.done);
+ return false;
+ }
+ /**
+ * Iterates and checks if `predicate` returns truthy for any element emitted by the Iterator
+ */
+ some(predicate) {
+ let result;
+ do {
+ result = this.source.next();
+ if (!result.done && predicate(result.value)) {
+ return true;
+ }
+ } while (!result.done);
+ return false;
+ }
+ /**
+ * Iterates and checks if `predicate` returns truthy for all elements emitted by the Iterator
+ */
+ every(predicate) {
+ let result;
+ do {
+ result = this.source.next();
+ if (!result.done && !predicate(result.value)) {
+ return false;
+ }
+ } while (!result.done);
+ return true;
+ }
+ /**
+ * Iterates and invokes `iteratee` for every element emitted by the Iterator
+ */
+ forEach(iteratee) {
+ let result;
+ while (true) {
+ result = this.source.next();
+ if (result.done) {
+ break;
+ }
+ iteratee(result.value);
+ }
+ }
+ /**
+ * Iterates and joins all elements emitted by the Iterator together as a string separated by an optional separator
+ */
+ join(separator = ",") {
+ let joined = "";
+ let result;
+ while (true) {
+ result = this.source.next();
+ if (result.done) {
+ break;
+ }
+ joined += separator + result.value;
+ }
+ return joined.substr(separator.length);
+ }
+ /**
+ * Iterates and returns all items emitted by the Iterator as an array.
+ * Equivalent to passing the Iterator to `Array.from()`
+ */
+ toArray() {
+ return Array.from(this);
+ }
+ /**
+ * Iterates and returns all items emitted by the Iterator as an ES6 Set.
+ * Equivalent to passing the Iterator to `new Set()`
+ */
+ toSet() {
+ const set = /* @__PURE__ */ new Set();
+ while (true) {
+ const { value, done } = this.next();
+ if (done) {
+ return set;
+ }
+ set.add(value);
+ }
+ }
+ /**
+ * Iterates and returns all `[key, value]` paris emitted by the Iterator as an ES6 Map.
+ * Equivalent to passing the Iterator to `new Map()`
+ */
+ toMap() {
+ return new Map(this);
+ }
+ };
+ exports.IteratorWithOperators = IteratorWithOperators;
+ function iterate2(collection) {
+ return new IteratorWithOperators(utils_1.toIterator(collection));
+ }
+ __name(iterate2, "iterate");
+ exports.iterate = iterate2;
+ function zip(a, b) {
+ return new IteratorWithOperators(new zip_1.ZipIterator(utils_1.toIterator(a), utils_1.toIterator(b)));
+ }
+ __name(zip, "zip");
+ exports.zip = zip;
+ exports.default = iterate2;
+ }
+});
+
+// ../../node_modules/.pnpm/iterare@1.2.1/node_modules/iterare/lib/index.js
+var require_lib = __commonJS({
+ "../../node_modules/.pnpm/iterare@1.2.1/node_modules/iterare/lib/index.js"(exports) {
+ "use strict";
+ Object.defineProperty(exports, "__esModule", { value: true });
+ var iterate_1 = require_iterate();
+ exports.iterate = iterate_1.iterate;
+ exports.zip = iterate_1.zip;
+ exports.default = iterate_1.iterate;
+ }
+});
+
+// ../../node_modules/.pnpm/@nestjs+common@12.2.0_reflect-metadata@0.2.2_rxjs@7.8.2/node_modules/@nestjs/common/utils/strip-proto-keys.util.js
+import { types as types2 } from "util";
+function stripProtoKeys(value) {
+ if (value == null || typeof value !== "object" || types2.isTypedArray(value)) {
+ return;
+ }
+ if (BUILT_IN_TYPES.some((type) => value instanceof type)) {
+ return;
+ }
+ if (Array.isArray(value)) {
+ for (const v of Object.values(value)) {
+ stripProtoKeys(v);
+ }
+ return;
+ }
+ delete value.__proto__;
+ delete value.prototype;
+ if (!BUILT_IN_TYPES.includes(value.constructor)) {
+ delete value.constructor;
+ }
+ for (const key in value) {
+ stripProtoKeys(value[key]);
+ }
+}
+var BUILT_IN_TYPES;
+var init_strip_proto_keys_util = __esm({
+ "../../node_modules/.pnpm/@nestjs+common@12.2.0_reflect-metadata@0.2.2_rxjs@7.8.2/node_modules/@nestjs/common/utils/strip-proto-keys.util.js"() {
+ BUILT_IN_TYPES = [Date, RegExp, Error, Map, Set, WeakMap, WeakSet];
+ __name(stripProtoKeys, "stripProtoKeys");
+ }
+});
+
+// ../../node_modules/.pnpm/@nestjs+common@12.2.0_reflect-metadata@0.2.2_rxjs@7.8.2/node_modules/@nestjs/common/pipes/validation.pipe.js
+var import_iterare, DEFAULT_MAX_ERROR_MESSAGES_LENGTH, OMITTED_ERRORS_MESSAGE, classValidator, classTransformer, ValidationPipe;
+var init_validation_pipe = __esm({
+ "../../node_modules/.pnpm/@nestjs+common@12.2.0_reflect-metadata@0.2.2_rxjs@7.8.2/node_modules/@nestjs/common/pipes/validation.pipe.js"() {
+ init_tslib_es6();
+ import_iterare = __toESM(require_lib(), 1);
+ init_core();
+ init_decorators();
+ init_http_status_enum();
+ init_http_error_by_code_util();
+ init_load_package_util();
+ init_shared_utils();
+ init_strip_proto_keys_util();
+ DEFAULT_MAX_ERROR_MESSAGES_LENGTH = 1e6;
+ OMITTED_ERRORS_MESSAGE = "Further validation errors were omitted";
+ classValidator = {};
+ classTransformer = {};
+ ValidationPipe = class ValidationPipe2 {
+ static {
+ __name(this, "ValidationPipe");
+ }
+ isTransformEnabled;
+ isDetailedOutputDisabled;
+ validatorOptions;
+ transformOptions;
+ errorHttpStatusCode;
+ expectedType;
+ exceptionFactory;
+ validateCustomDecorators;
+ errorFormat;
+ maxErrorMessagesLength;
+ constructor(options) {
+ options = options || {};
+ const { transform, disableErrorMessages, errorHttpStatusCode, expectedType, transformOptions, exceptionFactory, validatorPackage, transformerPackage, validateCustomDecorators, errorFormat, maxErrorMessagesLength, ...validatorOptions } = options;
+ this.validatorOptions = { forbidUnknownValues: false, ...validatorOptions };
+ this.isTransformEnabled = !!transform;
+ this.transformOptions = transformOptions;
+ this.isDetailedOutputDisabled = disableErrorMessages;
+ this.validateCustomDecorators = validateCustomDecorators || false;
+ this.errorHttpStatusCode = errorHttpStatusCode || HttpStatus.BAD_REQUEST;
+ this.expectedType = expectedType;
+ this.errorFormat = errorFormat || "list";
+ this.maxErrorMessagesLength = maxErrorMessagesLength ?? DEFAULT_MAX_ERROR_MESSAGES_LENGTH;
+ this.exceptionFactory = exceptionFactory || this.createExceptionFactory();
+ classValidator = this.loadValidator(validatorPackage);
+ classTransformer = this.loadTransformer(transformerPackage);
+ }
+ loadValidator(validatorPackage) {
+ return validatorPackage ?? loadPackage("class-validator", "ValidationPipe", () => import("class-validator"));
+ }
+ loadTransformer(transformerPackage) {
+ return transformerPackage ?? loadPackage("class-transformer", "ValidationPipe", () => import("class-transformer"));
+ }
+ async transform(value, metadata) {
+ if (this.expectedType) {
+ metadata = { ...metadata, metatype: this.expectedType };
+ }
+ const metatype = metadata.metatype;
+ if (!metatype || !this.toValidate(metadata)) {
+ return this.isTransformEnabled ? this.transformPrimitive(value, metadata) : value;
+ }
+ classValidator = await classValidator;
+ classTransformer = await classTransformer;
+ const originalValue = value;
+ value = this.toEmptyIfNil(value, metatype);
+ const isNil2 = value !== originalValue;
+ const isPrimitive = this.isPrimitive(value);
+ this.stripProtoKeys(value);
+ let entity = classTransformer.plainToInstance(metatype, value, this.transformOptions);
+ const originalEntity = entity;
+ const isCtorNotEqual = entity.constructor !== metatype;
+ if (isCtorNotEqual && !isPrimitive) {
+ entity.constructor = metatype;
+ } else if (isCtorNotEqual) {
+ entity = { constructor: metatype };
+ }
+ const errors = await this.validate(entity, {
+ ...this.validatorOptions,
+ // The target of an error is the whole object it was found in, so an
+ // exception factory that sends the errors would repeat that object
+ // once per error.
+ validationError: {
+ target: false,
+ ...this.validatorOptions.validationError
+ }
+ });
+ if (errors.length > 0) {
+ throw await this.exceptionFactory(errors);
+ }
+ if (isCtorNotEqual && (isPrimitive || Array.isArray(value)) && await this.hasValidationRules(metatype)) {
+ throw await this.exceptionFactory([
+ {
+ property: metadata.data || metadata.type,
+ constraints: { isObject: "Validation failed (object is expected)" },
+ children: []
+ }
+ ]);
+ }
+ if (originalValue === void 0 && originalEntity === "") {
+ return originalValue;
+ }
+ if (isPrimitive) {
+ entity = originalEntity;
+ }
+ if (this.isTransformEnabled) {
+ return entity;
+ }
+ if (isNil2) {
+ return originalValue;
+ }
+ const shouldTransformToPlain = Object.keys(this.validatorOptions).length > 1;
+ return shouldTransformToPlain ? classTransformer.classToPlain(entity, this.transformOptions) : value;
+ }
+ createExceptionFactory() {
+ return (validationErrors = []) => {
+ if (this.isDetailedOutputDisabled) {
+ return new HttpErrorByCode[this.errorHttpStatusCode]();
+ }
+ const budget = {
+ remaining: this.maxErrorMessagesLength,
+ isExceeded: false
+ };
+ validationErrors = this.limitValidationErrors(validationErrors, budget);
+ if (this.errorFormat === "grouped") {
+ let errors2 = this.groupValidationErrors(validationErrors);
+ if (budget.isExceeded) {
+ errors2 = { ...errors2, "...": [OMITTED_ERRORS_MESSAGE] };
+ }
+ const { message: error, statusCode } = new HttpErrorByCode[this.errorHttpStatusCode]().getResponse();
+ return new HttpErrorByCode[this.errorHttpStatusCode]({
+ message: errors2,
+ error,
+ statusCode
+ });
+ }
+ let errors = this.flattenValidationErrors(validationErrors);
+ if (budget.isExceeded) {
+ errors = [...errors, OMITTED_ERRORS_MESSAGE];
+ }
+ return new HttpErrorByCode[this.errorHttpStatusCode](errors);
+ };
+ }
+ /**
+ * Leaves out the errors that come after the first "maxErrorMessagesLength"
+ * characters of messages. Each message counts with the path of its
+ * property, which is what makes the response to a deeply nested payload
+ * grow faster than the payload. The errors past the limit are not visited.
+ */
+ limitValidationErrors(validationErrors, budget, parentPathLength = 0) {
+ const limited = [];
+ let isChanged = false;
+ for (const error of validationErrors) {
+ if (budget.remaining <= 0) {
+ budget.isExceeded = true;
+ return limited;
+ }
+ const pathLength = parentPathLength + String(error.property).length + 1;
+ for (const key in error.constraints) {
+ budget.remaining -= pathLength + String(error.constraints[key]).length;
+ }
+ const children = error.children && this.limitValidationErrors(error.children, budget, pathLength);
+ if (children === error.children) {
+ limited.push(error);
+ } else {
+ limited.push({ ...error, children });
+ isChanged = true;
+ }
+ }
+ return isChanged ? limited : validationErrors;
+ }
+ toValidate(metadata) {
+ const { metatype, type } = metadata;
+ if (type === "custom" && !this.validateCustomDecorators) {
+ return false;
+ }
+ const types3 = [String, Boolean, Number, Array, Object, Buffer, Date];
+ return !types3.some((t) => metatype === t) && !isNil(metatype);
+ }
+ transformPrimitive(value, metadata) {
+ if (!metadata.data) {
+ return value;
+ }
+ const { type, metatype } = metadata;
+ if (type !== "param" && type !== "query") {
+ return value;
+ }
+ if (metatype === Boolean) {
+ if (isUndefined(value)) {
+ return void 0;
+ }
+ return value === true || value === "true";
+ }
+ if (metatype === Number) {
+ if (isUndefined(value)) {
+ return void 0;
+ }
+ return +value;
+ }
+ if (metatype === String && !isUndefined(value)) {
+ return String(value);
+ }
+ return value;
+ }
+ toEmptyIfNil(value, metatype) {
+ if (!isNil(value)) {
+ return value;
+ }
+ if (typeof metatype === "function" || metatype && "prototype" in metatype && metatype.prototype?.constructor) {
+ return {};
+ }
+ return "";
+ }
+ isPrimitive(value) {
+ return ["number", "boolean", "string"].includes(typeof value);
+ }
+ stripProtoKeys(value) {
+ stripProtoKeys(value);
+ }
+ validate(object, validatorOptions) {
+ return classValidator.validate(object, validatorOptions);
+ }
+ async hasValidationRules(metatype) {
+ const errors = await this.validate({ constructor: metatype }, { ...this.validatorOptions, forbidUnknownValues: true });
+ return !errors.some((error) => error.constraints?.unknownValue);
+ }
+ flattenValidationErrors(validationErrors) {
+ return (0, import_iterare.iterate)(validationErrors).map((error) => this.mapChildrenToValidationErrors(error)).flatten().filter((item) => !!item.constraints).map((item) => Object.values(item.constraints)).flatten().toArray();
+ }
+ groupValidationErrors(validationErrors, parentPath, result = {}) {
+ for (const error of validationErrors) {
+ const path = parentPath ? `${parentPath}.${error.property}` : error.property;
+ if (error.constraints) {
+ result[path] = Object.values(error.constraints);
+ }
+ if (error.children && error.children.length) {
+ const nested = this.groupValidationErrors(error.children, path, result);
+ if (nested !== result) {
+ Object.assign(result, nested);
+ }
+ }
+ }
+ return result;
+ }
+ mapChildrenToValidationErrors(error, parentPath, validationErrors = []) {
+ const currentError = parentPath ? this.prependConstraintsWithParentProp(parentPath, error) : error;
+ if (!(error.children && error.children.length)) {
+ validationErrors.push(currentError);
+ return validationErrors;
+ }
+ if (error.constraints) {
+ validationErrors.push(currentError);
+ }
+ parentPath = parentPath ? `${parentPath}.${error.property}` : error.property;
+ for (const item of error.children) {
+ const nested = this.mapChildrenToValidationErrors(item, parentPath, validationErrors);
+ if (nested !== validationErrors) {
+ for (const nestedError of nested) {
+ validationErrors.push(nestedError);
+ }
+ }
+ }
+ return validationErrors;
+ }
+ prependConstraintsWithParentProp(parentPath, error) {
+ const constraints = {};
+ for (const key in error.constraints) {
+ constraints[key] = `${parentPath}.${error.constraints[key]}`;
+ }
+ return {
+ ...error,
+ constraints
+ };
+ }
+ };
+ ValidationPipe = __decorate([
+ Injectable(),
+ __param(0, Optional()),
+ __metadata("design:paramtypes", [Object])
+ ], ValidationPipe);
+ }
+});
+
+// ../../node_modules/.pnpm/@nestjs+common@12.2.0_reflect-metadata@0.2.2_rxjs@7.8.2/node_modules/@nestjs/common/pipes/parse-array.pipe.js
+var VALIDATION_ERROR_MESSAGE, DEFAULT_ARRAY_SEPARATOR, ParseArrayPipe;
+var init_parse_array_pipe = __esm({
+ "../../node_modules/.pnpm/@nestjs+common@12.2.0_reflect-metadata@0.2.2_rxjs@7.8.2/node_modules/@nestjs/common/pipes/parse-array.pipe.js"() {
+ init_tslib_es6();
+ init_injectable_decorator();
+ init_optional_decorator();
+ init_http_status_enum();
+ init_http_error_by_code_util();
+ init_shared_utils();
+ init_validation_pipe();
+ VALIDATION_ERROR_MESSAGE = "Validation failed (parsable array expected)";
+ DEFAULT_ARRAY_SEPARATOR = ",";
+ ParseArrayPipe = class ParseArrayPipe2 {
+ static {
+ __name(this, "ParseArrayPipe");
+ }
+ options;
+ validationPipe;
+ exceptionFactory;
+ constructor(options = {}) {
+ this.options = options;
+ this.validationPipe = new ValidationPipe({
+ transform: true,
+ validateCustomDecorators: true,
+ ...options
+ });
+ const { exceptionFactory, errorHttpStatusCode = HttpStatus.BAD_REQUEST } = options;
+ this.exceptionFactory = exceptionFactory || ((error) => new HttpErrorByCode[errorHttpStatusCode](error));
+ }
+ /**
+ * Method that accesses and performs optional transformation on argument for
+ * in-flight requests.
+ *
+ * @param value currently processed route argument
+ * @param metadata contains metadata about the currently processed route argument
+ */
+ async transform(value, metadata) {
+ if (isNil(value) && !this.options.optional) {
+ throw this.exceptionFactory(VALIDATION_ERROR_MESSAGE);
+ } else if (isNil(value) && this.options.optional) {
+ return value;
+ }
+ if (!Array.isArray(value)) {
+ if (!isString(value)) {
+ throw this.exceptionFactory(VALIDATION_ERROR_MESSAGE);
+ } else {
+ try {
+ value = value.trim().split(this.options.separator || DEFAULT_ARRAY_SEPARATOR);
+ } catch {
+ throw this.exceptionFactory(VALIDATION_ERROR_MESSAGE);
+ }
+ }
+ }
+ if (this.options.items) {
+ const validationMetadata = {
+ metatype: this.options.items,
+ type: "query"
+ };
+ const isExpectedTypePrimitive = this.isExpectedTypePrimitive();
+ const toClassInstance = /* @__PURE__ */ __name((item, index) => {
+ if (this.options.items !== String && isString(item)) {
+ try {
+ item = JSON.parse(item);
+ } catch {
+ }
+ }
+ if (isExpectedTypePrimitive) {
+ return this.validatePrimitive(item, index);
+ }
+ return this.validationPipe.transform(item, validationMetadata);
+ }, "toClassInstance");
+ if (this.options.stopAtFirstError === false) {
+ const errors = [];
+ const targetArray = Array.from(value);
+ for (let i = 0; i < targetArray.length; i++) {
+ try {
+ targetArray[i] = await toClassInstance(targetArray[i]);
+ } catch (err) {
+ let message;
+ if (err.getResponse) {
+ const response = err.getResponse();
+ if (Array.isArray(response.message)) {
+ message = response.message.map((item) => `[${i}] ${item}`);
+ } else {
+ message = `[${i}] ${response.message}`;
+ }
+ } else {
+ message = err;
+ }
+ if (Array.isArray(message)) {
+ for (const item of message) {
+ errors.push(item);
+ }
+ } else {
+ errors.push(message);
+ }
+ }
+ }
+ if (errors.length > 0) {
+ throw this.exceptionFactory(errors);
+ }
+ return targetArray;
+ } else {
+ const targetArray = value;
+ const items = [];
+ for (let i = 0; i < targetArray.length; i++) {
+ items.push(i in targetArray ? await toClassInstance(targetArray[i], i) : void 0);
+ }
+ value = items;
+ }
+ }
+ return value;
+ }
+ isExpectedTypePrimitive() {
+ return [Boolean, Number, String].includes(this.options.items);
+ }
+ validatePrimitive(originalValue, index) {
+ if (this.options.items === Number) {
+ if (!this.isNumeric(originalValue)) {
+ throw this.exceptionFactory(`${isUndefined(index) ? "" : `[${index}] `}item must be a number`);
+ }
+ return Number(originalValue);
+ } else if (this.options.items === String) {
+ if (!isString(originalValue)) {
+ return `${originalValue}`;
+ }
+ } else if (this.options.items === Boolean) {
+ if (typeof originalValue !== "boolean") {
+ throw this.exceptionFactory(`${isUndefined(index) ? "" : `[${index}] `}item must be a boolean value`);
+ }
+ }
+ return originalValue;
+ }
+ isNumeric(value) {
+ if (typeof value === "number") {
+ return Number.isFinite(value);
+ }
+ if (typeof value !== "string" || value.trim() === "") {
+ return false;
+ }
+ if (/^0[box]/i.test(value.trim())) {
+ return false;
+ }
+ return Number.isFinite(Number(value));
+ }
+ };
+ ParseArrayPipe = __decorate([
+ Injectable(),
+ __param(0, Optional()),
+ __metadata("design:paramtypes", [Object])
+ ], ParseArrayPipe);
+ }
+});
+
+// ../../node_modules/.pnpm/@nestjs+common@12.2.0_reflect-metadata@0.2.2_rxjs@7.8.2/node_modules/@nestjs/common/pipes/parse-bool.pipe.js
+var ParseBoolPipe;
+var init_parse_bool_pipe = __esm({
+ "../../node_modules/.pnpm/@nestjs+common@12.2.0_reflect-metadata@0.2.2_rxjs@7.8.2/node_modules/@nestjs/common/pipes/parse-bool.pipe.js"() {
+ init_tslib_es6();
+ init_injectable_decorator();
+ init_optional_decorator();
+ init_http_status_enum();
+ init_http_error_by_code_util();
+ init_shared_utils();
+ ParseBoolPipe = class ParseBoolPipe2 {
+ static {
+ __name(this, "ParseBoolPipe");
+ }
+ options;
+ exceptionFactory;
+ constructor(options) {
+ this.options = options;
+ options = options || {};
+ const { exceptionFactory, errorHttpStatusCode = HttpStatus.BAD_REQUEST } = options;
+ this.exceptionFactory = exceptionFactory || ((error) => new HttpErrorByCode[errorHttpStatusCode](error));
+ }
+ /**
+ * Method that accesses and performs optional transformation on argument for
+ * in-flight requests.
+ *
+ * @param value currently processed route argument
+ * @param metadata contains metadata about the currently processed route argument
+ */
+ async transform(value, metadata) {
+ if (isNil(value) && this.options?.optional) {
+ return value;
+ }
+ if (this.isTrue(value)) {
+ return true;
+ }
+ if (this.isFalse(value)) {
+ return false;
+ }
+ throw this.exceptionFactory("Validation failed (boolean string is expected)");
+ }
+ /**
+ * @param value currently processed route argument
+ * @returns `true` if `value` is said 'true', ie., if it is equal to the boolean
+ * `true` or the string `"true"`
+ */
+ isTrue(value) {
+ return value === true || value === "true";
+ }
+ /**
+ * @param value currently processed route argument
+ * @returns `true` if `value` is said 'false', ie., if it is equal to the boolean
+ * `false` or the string `"false"`
+ */
+ isFalse(value) {
+ return value === false || value === "false";
+ }
+ };
+ ParseBoolPipe = __decorate([
+ Injectable(),
+ __param(0, Optional()),
+ __metadata("design:paramtypes", [Object])
+ ], ParseBoolPipe);
+ }
+});
+
+// ../../node_modules/.pnpm/@nestjs+common@12.2.0_reflect-metadata@0.2.2_rxjs@7.8.2/node_modules/@nestjs/common/pipes/parse-date.pipe.js
+var ParseDatePipe;
+var init_parse_date_pipe = __esm({
+ "../../node_modules/.pnpm/@nestjs+common@12.2.0_reflect-metadata@0.2.2_rxjs@7.8.2/node_modules/@nestjs/common/pipes/parse-date.pipe.js"() {
+ init_tslib_es6();
+ init_injectable_decorator();
+ init_optional_decorator();
+ init_http_status_enum();
+ init_http_error_by_code_util();
+ init_shared_utils();
+ ParseDatePipe = class ParseDatePipe2 {
+ static {
+ __name(this, "ParseDatePipe");
+ }
+ options;
+ exceptionFactory;
+ constructor(options = {}) {
+ this.options = options;
+ const { exceptionFactory, errorHttpStatusCode = HttpStatus.BAD_REQUEST } = options;
+ this.exceptionFactory = exceptionFactory || ((error) => new HttpErrorByCode[errorHttpStatusCode](error));
+ }
+ /**
+ * Method that accesses and performs optional transformation on argument for
+ * in-flight requests.
+ *
+ * @param value currently processed route argument
+ * @param metadata contains metadata about the currently processed route argument
+ */
+ transform(value) {
+ if (isNil(value)) {
+ if (this.options.default) {
+ return this.options.default();
+ }
+ if (this.options.optional) {
+ return value;
+ }
+ }
+ if (isNil(value) || value === "") {
+ throw this.exceptionFactory("Validation failed (no Date provided)");
+ }
+ const transformedValue = isString(value) || isNumber(value) || value instanceof Date ? new Date(value) : /* @__PURE__ */ new Date(NaN);
+ if (isNaN(transformedValue.getTime())) {
+ throw this.exceptionFactory("Validation failed (invalid date format)");
+ }
+ return transformedValue;
+ }
+ };
+ ParseDatePipe = __decorate([
+ Injectable(),
+ __param(0, Optional()),
+ __metadata("design:paramtypes", [Object])
+ ], ParseDatePipe);
+ }
+});
+
+// ../../node_modules/.pnpm/@nestjs+common@12.2.0_reflect-metadata@0.2.2_rxjs@7.8.2/node_modules/@nestjs/common/pipes/parse-enum.pipe.js
+var ParseEnumPipe;
+var init_parse_enum_pipe = __esm({
+ "../../node_modules/.pnpm/@nestjs+common@12.2.0_reflect-metadata@0.2.2_rxjs@7.8.2/node_modules/@nestjs/common/pipes/parse-enum.pipe.js"() {
+ init_tslib_es6();
+ init_core();
+ init_common();
+ init_http_error_by_code_util();
+ init_shared_utils();
+ ParseEnumPipe = class ParseEnumPipe2 {
+ static {
+ __name(this, "ParseEnumPipe");
+ }
+ enumType;
+ options;
+ exceptionFactory;
+ cachedEnumValues;
+ constructor(enumType, options) {
+ this.enumType = enumType;
+ this.options = options;
+ if (!enumType) {
+ throw new Error(`"ParseEnumPipe" requires "enumType" argument specified (to validate input values).`);
+ }
+ options = options || {};
+ const { exceptionFactory, errorHttpStatusCode = HttpStatus.BAD_REQUEST } = options;
+ this.exceptionFactory = exceptionFactory || ((error) => new HttpErrorByCode[errorHttpStatusCode](error));
+ }
+ /**
+ * Method that accesses and performs optional transformation on argument for
+ * in-flight requests.
+ *
+ * @param value currently processed route argument
+ * @param metadata contains metadata about the currently processed route argument
+ */
+ async transform(value, metadata) {
+ if (isNil(value) && this.options?.optional) {
+ return value;
+ }
+ if (!this.isEnum(value)) {
+ throw this.exceptionFactory("Validation failed (enum string is expected)");
+ }
+ return this.toEnumValue(value) ?? value;
+ }
+ isEnum(value) {
+ return this.toEnumValue(value) !== void 0;
+ }
+ /**
+ * Returns the enum member that `value` refers to, or `undefined` if there is none.
+ * Numeric members also match their string representation (e.g. `'1'` for `1`),
+ * since HTTP route and query params always arrive as strings.
+ */
+ toEnumValue(value) {
+ return this.getEnumValues().find((enumValue) => enumValue === value || typeof enumValue === "number" && typeof value === "string" && String(enumValue) === value);
+ }
+ getEnumValues() {
+ return this.cachedEnumValues ??= this.computeEnumValues();
+ }
+ computeEnumValues() {
+ return Object.keys(this.enumType).filter((key) => {
+ const enumValue = this.enumType[key];
+ return !(typeof enumValue === "string" && typeof this.enumType[enumValue] === "number" && String(this.enumType[enumValue]) === key);
+ }).map((key) => this.enumType[key]);
+ }
+ };
+ ParseEnumPipe = __decorate([
+ Injectable(),
+ __param(1, Optional()),
+ __metadata("design:paramtypes", [Object, Object])
+ ], ParseEnumPipe);
+ }
+});
+
+// ../../node_modules/.pnpm/@nestjs+common@12.2.0_reflect-metadata@0.2.2_rxjs@7.8.2/node_modules/@nestjs/common/pipes/parse-float.pipe.js
+var ParseFloatPipe;
+var init_parse_float_pipe = __esm({
+ "../../node_modules/.pnpm/@nestjs+common@12.2.0_reflect-metadata@0.2.2_rxjs@7.8.2/node_modules/@nestjs/common/pipes/parse-float.pipe.js"() {
+ init_tslib_es6();
+ init_core();
+ init_common();
+ init_http_error_by_code_util();
+ init_shared_utils();
+ ParseFloatPipe = class ParseFloatPipe2 {
+ static {
+ __name(this, "ParseFloatPipe");
+ }
+ options;
+ exceptionFactory;
+ constructor(options) {
+ this.options = options;
+ options = options || {};
+ const { exceptionFactory, errorHttpStatusCode = HttpStatus.BAD_REQUEST } = options;
+ this.exceptionFactory = exceptionFactory || ((error) => new HttpErrorByCode[errorHttpStatusCode](error));
+ }
+ /**
+ * Method that accesses and performs optional transformation on argument for
+ * in-flight requests.
+ *
+ * @param value currently processed route argument
+ * @param metadata contains metadata about the currently processed route argument
+ */
+ async transform(value, metadata) {
+ if (isNil(value) && this.options?.optional) {
+ return value;
+ }
+ if (!this.isNumeric(value)) {
+ throw this.exceptionFactory("Validation failed (numeric string is expected)");
+ }
+ return parseFloat(String(value));
+ }
+ /**
+ * @param value currently processed route argument
+ * @returns `true` if `value` is a valid float number
+ */
+ isNumeric(value) {
+ if (typeof value === "number")
+ return Number.isFinite(value);
+ if (typeof value !== "string" || value === "" || value !== value.trim()) {
+ return false;
+ }
+ if (value.startsWith("0x") || value.startsWith("0X") || value.startsWith("0b") || value.startsWith("0B") || value.startsWith("0o") || value.startsWith("0O")) {
+ return false;
+ }
+ return Number.isFinite(Number(value));
+ }
+ };
+ ParseFloatPipe = __decorate([
+ Injectable(),
+ __param(0, Optional()),
+ __metadata("design:paramtypes", [Object])
+ ], ParseFloatPipe);
+ }
+});
+
+// ../../node_modules/.pnpm/@nestjs+common@12.2.0_reflect-metadata@0.2.2_rxjs@7.8.2/node_modules/@nestjs/common/pipes/parse-int.pipe.js
+var ParseIntPipe;
+var init_parse_int_pipe = __esm({
+ "../../node_modules/.pnpm/@nestjs+common@12.2.0_reflect-metadata@0.2.2_rxjs@7.8.2/node_modules/@nestjs/common/pipes/parse-int.pipe.js"() {
+ init_tslib_es6();
+ init_injectable_decorator();
+ init_optional_decorator();
+ init_http_status_enum();
+ init_http_error_by_code_util();
+ init_shared_utils();
+ ParseIntPipe = class ParseIntPipe2 {
+ static {
+ __name(this, "ParseIntPipe");
+ }
+ options;
+ exceptionFactory;
+ constructor(options) {
+ this.options = options;
+ options = options || {};
+ const { exceptionFactory, errorHttpStatusCode = HttpStatus.BAD_REQUEST } = options;
+ this.exceptionFactory = exceptionFactory || ((error) => new HttpErrorByCode[errorHttpStatusCode](error));
+ }
+ /**
+ * Method that accesses and performs optional transformation on argument for
+ * in-flight requests.
+ *
+ * @param value currently processed route argument
+ * @param metadata contains metadata about the currently processed route argument
+ */
+ async transform(value, metadata) {
+ if (isNil(value) && this.options?.optional) {
+ return value;
+ }
+ if (!this.isNumeric(value)) {
+ throw this.exceptionFactory("Validation failed (numeric string is expected)");
+ }
+ return parseInt(String(value), 10);
+ }
+ /**
+ * @param value currently processed route argument
+ * @returns `true` if `value` is a valid integer number
+ */
+ isNumeric(value) {
+ return ["string", "number"].includes(typeof value) && /^-?\d+$/.test(String(value)) && isFinite(value);
+ }
+ };
+ ParseIntPipe = __decorate([
+ Injectable(),
+ __param(0, Optional()),
+ __metadata("design:paramtypes", [Object])
+ ], ParseIntPipe);
+ }
+});
+
+// ../../node_modules/.pnpm/@nestjs+common@12.2.0_reflect-metadata@0.2.2_rxjs@7.8.2/node_modules/@nestjs/common/pipes/parse-uuid.pipe.js
+var ParseUUIDPipe_1, ParseUUIDPipe;
+var init_parse_uuid_pipe = __esm({
+ "../../node_modules/.pnpm/@nestjs+common@12.2.0_reflect-metadata@0.2.2_rxjs@7.8.2/node_modules/@nestjs/common/pipes/parse-uuid.pipe.js"() {
+ init_tslib_es6();
+ init_injectable_decorator();
+ init_optional_decorator();
+ init_http_status_enum();
+ init_http_error_by_code_util();
+ init_shared_utils();
+ ParseUUIDPipe = class ParseUUIDPipe2 {
+ static {
+ __name(this, "ParseUUIDPipe");
+ }
+ static {
+ ParseUUIDPipe_1 = this;
+ }
+ options;
+ static uuidRegExps = {
+ 1: /^[0-9A-F]{8}-[0-9A-F]{4}-1[0-9A-F]{3}-[89AB][0-9A-F]{3}-[0-9A-F]{12}$/i,
+ 2: /^[0-9A-F]{8}-[0-9A-F]{4}-2[0-9A-F]{3}-[89AB][0-9A-F]{3}-[0-9A-F]{12}$/i,
+ 3: /^[0-9A-F]{8}-[0-9A-F]{4}-3[0-9A-F]{3}-[89AB][0-9A-F]{3}-[0-9A-F]{12}$/i,
+ 4: /^[0-9A-F]{8}-[0-9A-F]{4}-4[0-9A-F]{3}-[89AB][0-9A-F]{3}-[0-9A-F]{12}$/i,
+ 5: /^[0-9A-F]{8}-[0-9A-F]{4}-5[0-9A-F]{3}-[89AB][0-9A-F]{3}-[0-9A-F]{12}$/i,
+ 6: /^[0-9A-F]{8}-[0-9A-F]{4}-6[0-9A-F]{3}-[89AB][0-9A-F]{3}-[0-9A-F]{12}$/i,
+ 7: /^[0-9A-F]{8}-[0-9A-F]{4}-7[0-9A-F]{3}-[89AB][0-9A-F]{3}-[0-9A-F]{12}$/i,
+ 8: /^[0-9A-F]{8}-[0-9A-F]{4}-8[0-9A-F]{3}-[89AB][0-9A-F]{3}-[0-9A-F]{12}$/i,
+ // Versions 1-8 with the RFC variant, or the Nil and Max UUIDs (RFC 9562, sections 5.9, 5.10)
+ all: /^(?:[0-9A-F]{8}-[0-9A-F]{4}-[1-8][0-9A-F]{3}-[89AB][0-9A-F]{3}-[0-9A-F]{12}|00000000-0000-0000-0000-000000000000|FFFFFFFF-FFFF-FFFF-FFFF-FFFFFFFFFFFF)$/i
+ };
+ version;
+ exceptionFactory;
+ constructor(options) {
+ this.options = options;
+ options = options || {};
+ const { exceptionFactory, errorHttpStatusCode = HttpStatus.BAD_REQUEST, version } = options;
+ this.version = version;
+ this.exceptionFactory = exceptionFactory || ((error) => new HttpErrorByCode[errorHttpStatusCode](error));
+ }
+ async transform(value, metadata) {
+ if (isNil(value) && this.options?.optional) {
+ return value;
+ }
+ if (!this.isUUID(value, this.version)) {
+ throw this.exceptionFactory(`Validation failed (uuid${this.version && this.version !== "all" ? ` v ${this.version}` : ""} is expected)`);
+ }
+ return value;
+ }
+ isUUID(str, version = "all") {
+ if (!isString(str)) {
+ throw this.exceptionFactory("The value passed as UUID is not a string");
+ }
+ const pattern = ParseUUIDPipe_1.uuidRegExps[version];
+ return pattern?.test(str);
+ }
+ };
+ ParseUUIDPipe = ParseUUIDPipe_1 = __decorate([
+ Injectable(),
+ __param(0, Optional()),
+ __metadata("design:paramtypes", [Object])
+ ], ParseUUIDPipe);
+ }
+});
+
+// ../../node_modules/.pnpm/@nestjs+common@12.2.0_reflect-metadata@0.2.2_rxjs@7.8.2/node_modules/@nestjs/common/pipes/standard-schema-validation.pipe.js
+var StandardSchemaValidationPipe;
+var init_standard_schema_validation_pipe = __esm({
+ "../../node_modules/.pnpm/@nestjs+common@12.2.0_reflect-metadata@0.2.2_rxjs@7.8.2/node_modules/@nestjs/common/pipes/standard-schema-validation.pipe.js"() {
+ init_tslib_es6();
+ init_injectable_decorator();
+ init_optional_decorator();
+ init_http_status_enum();
+ init_http_error_by_code_util();
+ init_shared_utils();
+ init_strip_proto_keys_util();
+ StandardSchemaValidationPipe = class StandardSchemaValidationPipe2 {
+ static {
+ __name(this, "StandardSchemaValidationPipe");
+ }
+ options;
+ isTransformEnabled;
+ validateCustomDecorators;
+ validateOptions;
+ exceptionFactory;
+ constructor(options) {
+ this.options = options;
+ const { transform = true, validateCustomDecorators = false, validateOptions, exceptionFactory, errorHttpStatusCode = HttpStatus.BAD_REQUEST } = options || {};
+ this.isTransformEnabled = transform;
+ this.validateCustomDecorators = validateCustomDecorators;
+ this.validateOptions = validateOptions;
+ this.exceptionFactory = exceptionFactory || ((issues) => {
+ const messages = this.formatIssueMessages(issues);
+ return new HttpErrorByCode[errorHttpStatusCode](messages);
+ });
+ }
+ /**
+ * Formats Standard Schema validation issues into a flat list of error messages.
+ * When an issue includes a path, the path is prefixed to the message.
+ */
+ formatIssueMessages(issues) {
+ return issues.map((issue) => {
+ if (issue.path?.length) {
+ const stringPath = issue.path.map((segment) => String(isObject(segment) ? segment.key : segment)).join(".");
+ return `${stringPath}: ${issue.message}`;
+ }
+ return issue.message;
+ });
+ }
+ /**
+ * Method that validates the incoming value against the standard schema
+ * provided in the parameter metadata.
+ *
+ * @param value currently processed route argument
+ * @param metadata contains metadata about the currently processed route argument
+ */
+ async transform(value, metadata) {
+ const schema = metadata.schema;
+ if (!schema || !this.toValidate(metadata)) {
+ return value;
+ }
+ this.stripProtoKeys(value);
+ const result = await this.validate(value, schema, this.validateOptions);
+ if (result.issues) {
+ throw this.exceptionFactory(result.issues);
+ }
+ return this.isTransformEnabled ? result.value : value;
+ }
+ /**
+ * Determines whether validation should be performed for the given metadata.
+ * Skips validation for custom decorators unless `validateCustomDecorators` is enabled.
+ *
+ * @param metadata contains metadata about the currently processed route argument
+ * @returns `true` if validation should be performed
+ */
+ toValidate(metadata) {
+ const { type } = metadata;
+ if (type === "custom" && !this.validateCustomDecorators) {
+ return false;
+ }
+ return true;
+ }
+ /**
+ * Validates a value against a standard schema.
+ * Can be overridden to customize validation behavior.
+ *
+ * @param value The value to validate
+ * @param schema The standard schema to validate against
+ * @param options Optional options forwarded to the schema's validate method
+ * @returns The validation result
+ */
+ validate(value, schema, options) {
+ return schema["~standard"].validate(value, options);
+ }
+ stripProtoKeys(value) {
+ stripProtoKeys(value);
+ }
+ };
+ StandardSchemaValidationPipe = __decorate([
+ Injectable(),
+ __param(0, Optional()),
+ __metadata("design:paramtypes", [Object])
+ ], StandardSchemaValidationPipe);
+ }
+});
+
+// ../../node_modules/.pnpm/@nestjs+common@12.2.0_reflect-metadata@0.2.2_rxjs@7.8.2/node_modules/@nestjs/common/pipes/index.js
+var init_pipes = __esm({
+ "../../node_modules/.pnpm/@nestjs+common@12.2.0_reflect-metadata@0.2.2_rxjs@7.8.2/node_modules/@nestjs/common/pipes/index.js"() {
+ init_default_value_pipe();
+ init_file();
+ init_parse_array_pipe();
+ init_parse_bool_pipe();
+ init_parse_date_pipe();
+ init_parse_enum_pipe();
+ init_parse_float_pipe();
+ init_parse_int_pipe();
+ init_parse_uuid_pipe();
+ init_standard_schema_validation_pipe();
+ init_validation_pipe();
+ }
+});
+
+// ../../node_modules/.pnpm/rxjs@7.8.2/node_modules/rxjs/dist/cjs/internal/util/isFunction.js
+var require_isFunction = __commonJS({
+ "../../node_modules/.pnpm/rxjs@7.8.2/node_modules/rxjs/dist/cjs/internal/util/isFunction.js"(exports) {
+ "use strict";
+ Object.defineProperty(exports, "__esModule", { value: true });
+ exports.isFunction = void 0;
+ function isFunction2(value) {
+ return typeof value === "function";
+ }
+ __name(isFunction2, "isFunction");
+ exports.isFunction = isFunction2;
+ }
+});
+
+// ../../node_modules/.pnpm/rxjs@7.8.2/node_modules/rxjs/dist/cjs/internal/util/lift.js
+var require_lift = __commonJS({
+ "../../node_modules/.pnpm/rxjs@7.8.2/node_modules/rxjs/dist/cjs/internal/util/lift.js"(exports) {
+ "use strict";
+ Object.defineProperty(exports, "__esModule", { value: true });
+ exports.operate = exports.hasLift = void 0;
+ var isFunction_1 = require_isFunction();
+ function hasLift(source) {
+ return isFunction_1.isFunction(source === null || source === void 0 ? void 0 : source.lift);
+ }
+ __name(hasLift, "hasLift");
+ exports.hasLift = hasLift;
+ function operate(init) {
+ return function(source) {
+ if (hasLift(source)) {
+ return source.lift(function(liftedSource) {
+ try {
+ return init(liftedSource, this);
+ } catch (err) {
+ this.error(err);
+ }
+ });
+ }
+ throw new TypeError("Unable to lift unknown Observable type");
+ };
+ }
+ __name(operate, "operate");
+ exports.operate = operate;
+ }
+});
+
+// ../../node_modules/.pnpm/rxjs@7.8.2/node_modules/rxjs/dist/cjs/internal/util/isArrayLike.js
+var require_isArrayLike = __commonJS({
+ "../../node_modules/.pnpm/rxjs@7.8.2/node_modules/rxjs/dist/cjs/internal/util/isArrayLike.js"(exports) {
+ "use strict";
+ Object.defineProperty(exports, "__esModule", { value: true });
+ exports.isArrayLike = void 0;
+ exports.isArrayLike = (function(x) {
+ return x && typeof x.length === "number" && typeof x !== "function";
+ });
+ }
+});
+
+// ../../node_modules/.pnpm/rxjs@7.8.2/node_modules/rxjs/dist/cjs/internal/util/isPromise.js
+var require_isPromise = __commonJS({
+ "../../node_modules/.pnpm/rxjs@7.8.2/node_modules/rxjs/dist/cjs/internal/util/isPromise.js"(exports) {
+ "use strict";
+ Object.defineProperty(exports, "__esModule", { value: true });
+ exports.isPromise = void 0;
+ var isFunction_1 = require_isFunction();
+ function isPromise(value) {
+ return isFunction_1.isFunction(value === null || value === void 0 ? void 0 : value.then);
+ }
+ __name(isPromise, "isPromise");
+ exports.isPromise = isPromise;
+ }
+});
+
+// ../../node_modules/.pnpm/rxjs@7.8.2/node_modules/rxjs/dist/cjs/internal/util/createErrorClass.js
+var require_createErrorClass = __commonJS({
+ "../../node_modules/.pnpm/rxjs@7.8.2/node_modules/rxjs/dist/cjs/internal/util/createErrorClass.js"(exports) {
+ "use strict";
+ Object.defineProperty(exports, "__esModule", { value: true });
+ exports.createErrorClass = void 0;
+ function createErrorClass(createImpl) {
+ var _super = /* @__PURE__ */ __name(function(instance) {
+ Error.call(instance);
+ instance.stack = new Error().stack;
+ }, "_super");
+ var ctorFunc = createImpl(_super);
+ ctorFunc.prototype = Object.create(Error.prototype);
+ ctorFunc.prototype.constructor = ctorFunc;
+ return ctorFunc;
+ }
+ __name(createErrorClass, "createErrorClass");
+ exports.createErrorClass = createErrorClass;
+ }
+});
+
+// ../../node_modules/.pnpm/rxjs@7.8.2/node_modules/rxjs/dist/cjs/internal/util/UnsubscriptionError.js
+var require_UnsubscriptionError = __commonJS({
+ "../../node_modules/.pnpm/rxjs@7.8.2/node_modules/rxjs/dist/cjs/internal/util/UnsubscriptionError.js"(exports) {
+ "use strict";
+ Object.defineProperty(exports, "__esModule", { value: true });
+ exports.UnsubscriptionError = void 0;
+ var createErrorClass_1 = require_createErrorClass();
+ exports.UnsubscriptionError = createErrorClass_1.createErrorClass(function(_super) {
+ return /* @__PURE__ */ __name(function UnsubscriptionErrorImpl(errors) {
+ _super(this);
+ this.message = errors ? errors.length + " errors occurred during unsubscription:\n" + errors.map(function(err, i) {
+ return i + 1 + ") " + err.toString();
+ }).join("\n ") : "";
+ this.name = "UnsubscriptionError";
+ this.errors = errors;
+ }, "UnsubscriptionErrorImpl");
+ });
+ }
+});
+
+// ../../node_modules/.pnpm/rxjs@7.8.2/node_modules/rxjs/dist/cjs/internal/util/arrRemove.js
+var require_arrRemove = __commonJS({
+ "../../node_modules/.pnpm/rxjs@7.8.2/node_modules/rxjs/dist/cjs/internal/util/arrRemove.js"(exports) {
+ "use strict";
+ Object.defineProperty(exports, "__esModule", { value: true });
+ exports.arrRemove = void 0;
+ function arrRemove(arr, item) {
+ if (arr) {
+ var index = arr.indexOf(item);
+ 0 <= index && arr.splice(index, 1);
+ }
+ }
+ __name(arrRemove, "arrRemove");
+ exports.arrRemove = arrRemove;
+ }
+});
+
+// ../../node_modules/.pnpm/rxjs@7.8.2/node_modules/rxjs/dist/cjs/internal/Subscription.js
+var require_Subscription = __commonJS({
+ "../../node_modules/.pnpm/rxjs@7.8.2/node_modules/rxjs/dist/cjs/internal/Subscription.js"(exports) {
+ "use strict";
+ var __values = exports && exports.__values || function(o) {
+ var s = typeof Symbol === "function" && Symbol.iterator, m = s && o[s], i = 0;
+ if (m) return m.call(o);
+ if (o && typeof o.length === "number") return {
+ next: /* @__PURE__ */ __name(function() {
+ if (o && i >= o.length) o = void 0;
+ return { value: o && o[i++], done: !o };
+ }, "next")
+ };
+ throw new TypeError(s ? "Object is not iterable." : "Symbol.iterator is not defined.");
+ };
+ var __read = exports && exports.__read || function(o, n) {
+ var m = typeof Symbol === "function" && o[Symbol.iterator];
+ if (!m) return o;
+ var i = m.call(o), r, ar = [], e;
+ try {
+ while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);
+ } catch (error) {
+ e = { error };
+ } finally {
+ try {
+ if (r && !r.done && (m = i["return"])) m.call(i);
+ } finally {
+ if (e) throw e.error;
+ }
+ }
+ return ar;
+ };
+ var __spreadArray = exports && exports.__spreadArray || function(to, from) {
+ for (var i = 0, il = from.length, j = to.length; i < il; i++, j++)
+ to[j] = from[i];
+ return to;
+ };
+ Object.defineProperty(exports, "__esModule", { value: true });
+ exports.isSubscription = exports.EMPTY_SUBSCRIPTION = exports.Subscription = void 0;
+ var isFunction_1 = require_isFunction();
+ var UnsubscriptionError_1 = require_UnsubscriptionError();
+ var arrRemove_1 = require_arrRemove();
+ var Subscription = (function() {
+ function Subscription2(initialTeardown) {
+ this.initialTeardown = initialTeardown;
+ this.closed = false;
+ this._parentage = null;
+ this._finalizers = null;
+ }
+ __name(Subscription2, "Subscription");
+ Subscription2.prototype.unsubscribe = function() {
+ var e_1, _a, e_2, _b;
+ var errors;
+ if (!this.closed) {
+ this.closed = true;
+ var _parentage = this._parentage;
+ if (_parentage) {
+ this._parentage = null;
+ if (Array.isArray(_parentage)) {
+ try {
+ for (var _parentage_1 = __values(_parentage), _parentage_1_1 = _parentage_1.next(); !_parentage_1_1.done; _parentage_1_1 = _parentage_1.next()) {
+ var parent_1 = _parentage_1_1.value;
+ parent_1.remove(this);
+ }
+ } catch (e_1_1) {
+ e_1 = { error: e_1_1 };
+ } finally {
+ try {
+ if (_parentage_1_1 && !_parentage_1_1.done && (_a = _parentage_1.return)) _a.call(_parentage_1);
+ } finally {
+ if (e_1) throw e_1.error;
+ }
+ }
+ } else {
+ _parentage.remove(this);
+ }
+ }
+ var initialFinalizer = this.initialTeardown;
+ if (isFunction_1.isFunction(initialFinalizer)) {
+ try {
+ initialFinalizer();
+ } catch (e) {
+ errors = e instanceof UnsubscriptionError_1.UnsubscriptionError ? e.errors : [e];
+ }
+ }
+ var _finalizers = this._finalizers;
+ if (_finalizers) {
+ this._finalizers = null;
+ try {
+ for (var _finalizers_1 = __values(_finalizers), _finalizers_1_1 = _finalizers_1.next(); !_finalizers_1_1.done; _finalizers_1_1 = _finalizers_1.next()) {
+ var finalizer = _finalizers_1_1.value;
+ try {
+ execFinalizer(finalizer);
+ } catch (err) {
+ errors = errors !== null && errors !== void 0 ? errors : [];
+ if (err instanceof UnsubscriptionError_1.UnsubscriptionError) {
+ errors = __spreadArray(__spreadArray([], __read(errors)), __read(err.errors));
+ } else {
+ errors.push(err);
+ }
+ }
+ }
+ } catch (e_2_1) {
+ e_2 = { error: e_2_1 };
+ } finally {
+ try {
+ if (_finalizers_1_1 && !_finalizers_1_1.done && (_b = _finalizers_1.return)) _b.call(_finalizers_1);
+ } finally {
+ if (e_2) throw e_2.error;
+ }
+ }
+ }
+ if (errors) {
+ throw new UnsubscriptionError_1.UnsubscriptionError(errors);
+ }
+ }
+ };
+ Subscription2.prototype.add = function(teardown) {
+ var _a;
+ if (teardown && teardown !== this) {
+ if (this.closed) {
+ execFinalizer(teardown);
+ } else {
+ if (teardown instanceof Subscription2) {
+ if (teardown.closed || teardown._hasParent(this)) {
+ return;
+ }
+ teardown._addParent(this);
+ }
+ (this._finalizers = (_a = this._finalizers) !== null && _a !== void 0 ? _a : []).push(teardown);
+ }
+ }
+ };
+ Subscription2.prototype._hasParent = function(parent) {
+ var _parentage = this._parentage;
+ return _parentage === parent || Array.isArray(_parentage) && _parentage.includes(parent);
+ };
+ Subscription2.prototype._addParent = function(parent) {
+ var _parentage = this._parentage;
+ this._parentage = Array.isArray(_parentage) ? (_parentage.push(parent), _parentage) : _parentage ? [_parentage, parent] : parent;
+ };
+ Subscription2.prototype._removeParent = function(parent) {
+ var _parentage = this._parentage;
+ if (_parentage === parent) {
+ this._parentage = null;
+ } else if (Array.isArray(_parentage)) {
+ arrRemove_1.arrRemove(_parentage, parent);
+ }
+ };
+ Subscription2.prototype.remove = function(teardown) {
+ var _finalizers = this._finalizers;
+ _finalizers && arrRemove_1.arrRemove(_finalizers, teardown);
+ if (teardown instanceof Subscription2) {
+ teardown._removeParent(this);
+ }
+ };
+ Subscription2.EMPTY = (function() {
+ var empty = new Subscription2();
+ empty.closed = true;
+ return empty;
+ })();
+ return Subscription2;
+ })();
+ exports.Subscription = Subscription;
+ exports.EMPTY_SUBSCRIPTION = Subscription.EMPTY;
+ function isSubscription(value) {
+ return value instanceof Subscription || value && "closed" in value && isFunction_1.isFunction(value.remove) && isFunction_1.isFunction(value.add) && isFunction_1.isFunction(value.unsubscribe);
+ }
+ __name(isSubscription, "isSubscription");
+ exports.isSubscription = isSubscription;
+ function execFinalizer(finalizer) {
+ if (isFunction_1.isFunction(finalizer)) {
+ finalizer();
+ } else {
+ finalizer.unsubscribe();
+ }
+ }
+ __name(execFinalizer, "execFinalizer");
+ }
+});
+
+// ../../node_modules/.pnpm/rxjs@7.8.2/node_modules/rxjs/dist/cjs/internal/config.js
+var require_config = __commonJS({
+ "../../node_modules/.pnpm/rxjs@7.8.2/node_modules/rxjs/dist/cjs/internal/config.js"(exports) {
+ "use strict";
+ Object.defineProperty(exports, "__esModule", { value: true });
+ exports.config = void 0;
+ exports.config = {
+ onUnhandledError: null,
+ onStoppedNotification: null,
+ Promise: void 0,
+ useDeprecatedSynchronousErrorHandling: false,
+ useDeprecatedNextContext: false
+ };
+ }
+});
+
+// ../../node_modules/.pnpm/rxjs@7.8.2/node_modules/rxjs/dist/cjs/internal/scheduler/timeoutProvider.js
+var require_timeoutProvider = __commonJS({
+ "../../node_modules/.pnpm/rxjs@7.8.2/node_modules/rxjs/dist/cjs/internal/scheduler/timeoutProvider.js"(exports) {
+ "use strict";
+ var __read = exports && exports.__read || function(o, n) {
+ var m = typeof Symbol === "function" && o[Symbol.iterator];
+ if (!m) return o;
+ var i = m.call(o), r, ar = [], e;
+ try {
+ while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);
+ } catch (error) {
+ e = { error };
+ } finally {
+ try {
+ if (r && !r.done && (m = i["return"])) m.call(i);
+ } finally {
+ if (e) throw e.error;
+ }
+ }
+ return ar;
+ };
+ var __spreadArray = exports && exports.__spreadArray || function(to, from) {
+ for (var i = 0, il = from.length, j = to.length; i < il; i++, j++)
+ to[j] = from[i];
+ return to;
+ };
+ Object.defineProperty(exports, "__esModule", { value: true });
+ exports.timeoutProvider = void 0;
+ exports.timeoutProvider = {
+ setTimeout: /* @__PURE__ */ __name(function(handler, timeout) {
+ var args = [];
+ for (var _i = 2; _i < arguments.length; _i++) {
+ args[_i - 2] = arguments[_i];
+ }
+ var delegate = exports.timeoutProvider.delegate;
+ if (delegate === null || delegate === void 0 ? void 0 : delegate.setTimeout) {
+ return delegate.setTimeout.apply(delegate, __spreadArray([handler, timeout], __read(args)));
+ }
+ return setTimeout.apply(void 0, __spreadArray([handler, timeout], __read(args)));
+ }, "setTimeout"),
+ clearTimeout: /* @__PURE__ */ __name(function(handle) {
+ var delegate = exports.timeoutProvider.delegate;
+ return ((delegate === null || delegate === void 0 ? void 0 : delegate.clearTimeout) || clearTimeout)(handle);
+ }, "clearTimeout"),
+ delegate: void 0
+ };
+ }
+});
+
+// ../../node_modules/.pnpm/rxjs@7.8.2/node_modules/rxjs/dist/cjs/internal/util/reportUnhandledError.js
+var require_reportUnhandledError = __commonJS({
+ "../../node_modules/.pnpm/rxjs@7.8.2/node_modules/rxjs/dist/cjs/internal/util/reportUnhandledError.js"(exports) {
+ "use strict";
+ Object.defineProperty(exports, "__esModule", { value: true });
+ exports.reportUnhandledError = void 0;
+ var config_1 = require_config();
+ var timeoutProvider_1 = require_timeoutProvider();
+ function reportUnhandledError(err) {
+ timeoutProvider_1.timeoutProvider.setTimeout(function() {
+ var onUnhandledError = config_1.config.onUnhandledError;
+ if (onUnhandledError) {
+ onUnhandledError(err);
+ } else {
+ throw err;
+ }
+ });
+ }
+ __name(reportUnhandledError, "reportUnhandledError");
+ exports.reportUnhandledError = reportUnhandledError;
+ }
+});
+
+// ../../node_modules/.pnpm/rxjs@7.8.2/node_modules/rxjs/dist/cjs/internal/util/noop.js
+var require_noop = __commonJS({
+ "../../node_modules/.pnpm/rxjs@7.8.2/node_modules/rxjs/dist/cjs/internal/util/noop.js"(exports) {
+ "use strict";
+ Object.defineProperty(exports, "__esModule", { value: true });
+ exports.noop = void 0;
+ function noop() {
+ }
+ __name(noop, "noop");
+ exports.noop = noop;
+ }
+});
+
+// ../../node_modules/.pnpm/rxjs@7.8.2/node_modules/rxjs/dist/cjs/internal/NotificationFactories.js
+var require_NotificationFactories = __commonJS({
+ "../../node_modules/.pnpm/rxjs@7.8.2/node_modules/rxjs/dist/cjs/internal/NotificationFactories.js"(exports) {
+ "use strict";
+ Object.defineProperty(exports, "__esModule", { value: true });
+ exports.createNotification = exports.nextNotification = exports.errorNotification = exports.COMPLETE_NOTIFICATION = void 0;
+ exports.COMPLETE_NOTIFICATION = (function() {
+ return createNotification("C", void 0, void 0);
+ })();
+ function errorNotification(error) {
+ return createNotification("E", void 0, error);
+ }
+ __name(errorNotification, "errorNotification");
+ exports.errorNotification = errorNotification;
+ function nextNotification(value) {
+ return createNotification("N", value, void 0);
+ }
+ __name(nextNotification, "nextNotification");
+ exports.nextNotification = nextNotification;
+ function createNotification(kind, value, error) {
+ return {
+ kind,
+ value,
+ error
+ };
+ }
+ __name(createNotification, "createNotification");
+ exports.createNotification = createNotification;
+ }
+});
+
+// ../../node_modules/.pnpm/rxjs@7.8.2/node_modules/rxjs/dist/cjs/internal/util/errorContext.js
+var require_errorContext = __commonJS({
+ "../../node_modules/.pnpm/rxjs@7.8.2/node_modules/rxjs/dist/cjs/internal/util/errorContext.js"(exports) {
+ "use strict";
+ Object.defineProperty(exports, "__esModule", { value: true });
+ exports.captureError = exports.errorContext = void 0;
+ var config_1 = require_config();
+ var context = null;
+ function errorContext(cb) {
+ if (config_1.config.useDeprecatedSynchronousErrorHandling) {
+ var isRoot = !context;
+ if (isRoot) {
+ context = { errorThrown: false, error: null };
+ }
+ cb();
+ if (isRoot) {
+ var _a = context, errorThrown = _a.errorThrown, error = _a.error;
+ context = null;
+ if (errorThrown) {
+ throw error;
+ }
+ }
+ } else {
+ cb();
+ }
+ }
+ __name(errorContext, "errorContext");
+ exports.errorContext = errorContext;
+ function captureError(err) {
+ if (config_1.config.useDeprecatedSynchronousErrorHandling && context) {
+ context.errorThrown = true;
+ context.error = err;
+ }
+ }
+ __name(captureError, "captureError");
+ exports.captureError = captureError;
+ }
+});
+
+// ../../node_modules/.pnpm/rxjs@7.8.2/node_modules/rxjs/dist/cjs/internal/Subscriber.js
+var require_Subscriber = __commonJS({
+ "../../node_modules/.pnpm/rxjs@7.8.2/node_modules/rxjs/dist/cjs/internal/Subscriber.js"(exports) {
+ "use strict";
+ var __extends = exports && exports.__extends || /* @__PURE__ */ (function() {
+ var extendStatics = /* @__PURE__ */ __name(function(d, b) {
+ extendStatics = Object.setPrototypeOf || { __proto__: [] } instanceof Array && function(d2, b2) {
+ d2.__proto__ = b2;
+ } || function(d2, b2) {
+ for (var p in b2) if (Object.prototype.hasOwnProperty.call(b2, p)) d2[p] = b2[p];
+ };
+ return extendStatics(d, b);
+ }, "extendStatics");
+ return function(d, b) {
+ if (typeof b !== "function" && b !== null)
+ throw new TypeError("Class extends value " + String(b) + " is not a constructor or null");
+ extendStatics(d, b);
+ function __() {
+ this.constructor = d;
+ }
+ __name(__, "__");
+ d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());
+ };
+ })();
+ Object.defineProperty(exports, "__esModule", { value: true });
+ exports.EMPTY_OBSERVER = exports.SafeSubscriber = exports.Subscriber = void 0;
+ var isFunction_1 = require_isFunction();
+ var Subscription_1 = require_Subscription();
+ var config_1 = require_config();
+ var reportUnhandledError_1 = require_reportUnhandledError();
+ var noop_1 = require_noop();
+ var NotificationFactories_1 = require_NotificationFactories();
+ var timeoutProvider_1 = require_timeoutProvider();
+ var errorContext_1 = require_errorContext();
+ var Subscriber = (function(_super) {
+ __extends(Subscriber2, _super);
+ function Subscriber2(destination) {
+ var _this = _super.call(this) || this;
+ _this.isStopped = false;
+ if (destination) {
+ _this.destination = destination;
+ if (Subscription_1.isSubscription(destination)) {
+ destination.add(_this);
+ }
+ } else {
+ _this.destination = exports.EMPTY_OBSERVER;
+ }
+ return _this;
+ }
+ __name(Subscriber2, "Subscriber");
+ Subscriber2.create = function(next, error, complete) {
+ return new SafeSubscriber(next, error, complete);
+ };
+ Subscriber2.prototype.next = function(value) {
+ if (this.isStopped) {
+ handleStoppedNotification(NotificationFactories_1.nextNotification(value), this);
+ } else {
+ this._next(value);
+ }
+ };
+ Subscriber2.prototype.error = function(err) {
+ if (this.isStopped) {
+ handleStoppedNotification(NotificationFactories_1.errorNotification(err), this);
+ } else {
+ this.isStopped = true;
+ this._error(err);
+ }
+ };
+ Subscriber2.prototype.complete = function() {
+ if (this.isStopped) {
+ handleStoppedNotification(NotificationFactories_1.COMPLETE_NOTIFICATION, this);
+ } else {
+ this.isStopped = true;
+ this._complete();
+ }
+ };
+ Subscriber2.prototype.unsubscribe = function() {
+ if (!this.closed) {
+ this.isStopped = true;
+ _super.prototype.unsubscribe.call(this);
+ this.destination = null;
+ }
+ };
+ Subscriber2.prototype._next = function(value) {
+ this.destination.next(value);
+ };
+ Subscriber2.prototype._error = function(err) {
+ try {
+ this.destination.error(err);
+ } finally {
+ this.unsubscribe();
+ }
+ };
+ Subscriber2.prototype._complete = function() {
+ try {
+ this.destination.complete();
+ } finally {
+ this.unsubscribe();
+ }
+ };
+ return Subscriber2;
+ })(Subscription_1.Subscription);
+ exports.Subscriber = Subscriber;
+ var _bind = Function.prototype.bind;
+ function bind(fn, thisArg) {
+ return _bind.call(fn, thisArg);
+ }
+ __name(bind, "bind");
+ var ConsumerObserver = (function() {
+ function ConsumerObserver2(partialObserver) {
+ this.partialObserver = partialObserver;
+ }
+ __name(ConsumerObserver2, "ConsumerObserver");
+ ConsumerObserver2.prototype.next = function(value) {
+ var partialObserver = this.partialObserver;
+ if (partialObserver.next) {
+ try {
+ partialObserver.next(value);
+ } catch (error) {
+ handleUnhandledError(error);
+ }
+ }
+ };
+ ConsumerObserver2.prototype.error = function(err) {
+ var partialObserver = this.partialObserver;
+ if (partialObserver.error) {
+ try {
+ partialObserver.error(err);
+ } catch (error) {
+ handleUnhandledError(error);
+ }
+ } else {
+ handleUnhandledError(err);
+ }
+ };
+ ConsumerObserver2.prototype.complete = function() {
+ var partialObserver = this.partialObserver;
+ if (partialObserver.complete) {
+ try {
+ partialObserver.complete();
+ } catch (error) {
+ handleUnhandledError(error);
+ }
+ }
+ };
+ return ConsumerObserver2;
+ })();
+ var SafeSubscriber = (function(_super) {
+ __extends(SafeSubscriber2, _super);
+ function SafeSubscriber2(observerOrNext, error, complete) {
+ var _this = _super.call(this) || this;
+ var partialObserver;
+ if (isFunction_1.isFunction(observerOrNext) || !observerOrNext) {
+ partialObserver = {
+ next: observerOrNext !== null && observerOrNext !== void 0 ? observerOrNext : void 0,
+ error: error !== null && error !== void 0 ? error : void 0,
+ complete: complete !== null && complete !== void 0 ? complete : void 0
+ };
+ } else {
+ var context_1;
+ if (_this && config_1.config.useDeprecatedNextContext) {
+ context_1 = Object.create(observerOrNext);
+ context_1.unsubscribe = function() {
+ return _this.unsubscribe();
+ };
+ partialObserver = {
+ next: observerOrNext.next && bind(observerOrNext.next, context_1),
+ error: observerOrNext.error && bind(observerOrNext.error, context_1),
+ complete: observerOrNext.complete && bind(observerOrNext.complete, context_1)
+ };
+ } else {
+ partialObserver = observerOrNext;
+ }
+ }
+ _this.destination = new ConsumerObserver(partialObserver);
+ return _this;
+ }
+ __name(SafeSubscriber2, "SafeSubscriber");
+ return SafeSubscriber2;
+ })(Subscriber);
+ exports.SafeSubscriber = SafeSubscriber;
+ function handleUnhandledError(error) {
+ if (config_1.config.useDeprecatedSynchronousErrorHandling) {
+ errorContext_1.captureError(error);
+ } else {
+ reportUnhandledError_1.reportUnhandledError(error);
+ }
+ }
+ __name(handleUnhandledError, "handleUnhandledError");
+ function defaultErrorHandler(err) {
+ throw err;
+ }
+ __name(defaultErrorHandler, "defaultErrorHandler");
+ function handleStoppedNotification(notification, subscriber) {
+ var onStoppedNotification = config_1.config.onStoppedNotification;
+ onStoppedNotification && timeoutProvider_1.timeoutProvider.setTimeout(function() {
+ return onStoppedNotification(notification, subscriber);
+ });
+ }
+ __name(handleStoppedNotification, "handleStoppedNotification");
+ exports.EMPTY_OBSERVER = {
+ closed: true,
+ next: noop_1.noop,
+ error: defaultErrorHandler,
+ complete: noop_1.noop
+ };
+ }
+});
+
+// ../../node_modules/.pnpm/rxjs@7.8.2/node_modules/rxjs/dist/cjs/internal/symbol/observable.js
+var require_observable = __commonJS({
+ "../../node_modules/.pnpm/rxjs@7.8.2/node_modules/rxjs/dist/cjs/internal/symbol/observable.js"(exports) {
+ "use strict";
+ Object.defineProperty(exports, "__esModule", { value: true });
+ exports.observable = void 0;
+ exports.observable = (function() {
+ return typeof Symbol === "function" && Symbol.observable || "@@observable";
+ })();
+ }
+});
+
+// ../../node_modules/.pnpm/rxjs@7.8.2/node_modules/rxjs/dist/cjs/internal/util/identity.js
+var require_identity = __commonJS({
+ "../../node_modules/.pnpm/rxjs@7.8.2/node_modules/rxjs/dist/cjs/internal/util/identity.js"(exports) {
+ "use strict";
+ Object.defineProperty(exports, "__esModule", { value: true });
+ exports.identity = void 0;
+ function identity(x) {
+ return x;
+ }
+ __name(identity, "identity");
+ exports.identity = identity;
+ }
+});
+
+// ../../node_modules/.pnpm/rxjs@7.8.2/node_modules/rxjs/dist/cjs/internal/util/pipe.js
+var require_pipe = __commonJS({
+ "../../node_modules/.pnpm/rxjs@7.8.2/node_modules/rxjs/dist/cjs/internal/util/pipe.js"(exports) {
+ "use strict";
+ Object.defineProperty(exports, "__esModule", { value: true });
+ exports.pipeFromArray = exports.pipe = void 0;
+ var identity_1 = require_identity();
+ function pipe() {
+ var fns = [];
+ for (var _i = 0; _i < arguments.length; _i++) {
+ fns[_i] = arguments[_i];
+ }
+ return pipeFromArray(fns);
+ }
+ __name(pipe, "pipe");
+ exports.pipe = pipe;
+ function pipeFromArray(fns) {
+ if (fns.length === 0) {
+ return identity_1.identity;
+ }
+ if (fns.length === 1) {
+ return fns[0];
+ }
+ return /* @__PURE__ */ __name(function piped(input) {
+ return fns.reduce(function(prev, fn) {
+ return fn(prev);
+ }, input);
+ }, "piped");
+ }
+ __name(pipeFromArray, "pipeFromArray");
+ exports.pipeFromArray = pipeFromArray;
+ }
+});
+
+// ../../node_modules/.pnpm/rxjs@7.8.2/node_modules/rxjs/dist/cjs/internal/Observable.js
+var require_Observable = __commonJS({
+ "../../node_modules/.pnpm/rxjs@7.8.2/node_modules/rxjs/dist/cjs/internal/Observable.js"(exports) {
+ "use strict";
+ Object.defineProperty(exports, "__esModule", { value: true });
+ exports.Observable = void 0;
+ var Subscriber_1 = require_Subscriber();
+ var Subscription_1 = require_Subscription();
+ var observable_1 = require_observable();
+ var pipe_1 = require_pipe();
+ var config_1 = require_config();
+ var isFunction_1 = require_isFunction();
+ var errorContext_1 = require_errorContext();
+ var Observable = (function() {
+ function Observable2(subscribe) {
+ if (subscribe) {
+ this._subscribe = subscribe;
+ }
+ }
+ __name(Observable2, "Observable");
+ Observable2.prototype.lift = function(operator) {
+ var observable = new Observable2();
+ observable.source = this;
+ observable.operator = operator;
+ return observable;
+ };
+ Observable2.prototype.subscribe = function(observerOrNext, error, complete) {
+ var _this = this;
+ var subscriber = isSubscriber(observerOrNext) ? observerOrNext : new Subscriber_1.SafeSubscriber(observerOrNext, error, complete);
+ errorContext_1.errorContext(function() {
+ var _a = _this, operator = _a.operator, source = _a.source;
+ subscriber.add(operator ? operator.call(subscriber, source) : source ? _this._subscribe(subscriber) : _this._trySubscribe(subscriber));
+ });
+ return subscriber;
+ };
+ Observable2.prototype._trySubscribe = function(sink) {
+ try {
+ return this._subscribe(sink);
+ } catch (err) {
+ sink.error(err);
+ }
+ };
+ Observable2.prototype.forEach = function(next, promiseCtor) {
+ var _this = this;
+ promiseCtor = getPromiseCtor(promiseCtor);
+ return new promiseCtor(function(resolve, reject) {
+ var subscriber = new Subscriber_1.SafeSubscriber({
+ next: /* @__PURE__ */ __name(function(value) {
+ try {
+ next(value);
+ } catch (err) {
+ reject(err);
+ subscriber.unsubscribe();
+ }
+ }, "next"),
+ error: reject,
+ complete: resolve
+ });
+ _this.subscribe(subscriber);
+ });
+ };
+ Observable2.prototype._subscribe = function(subscriber) {
+ var _a;
+ return (_a = this.source) === null || _a === void 0 ? void 0 : _a.subscribe(subscriber);
+ };
+ Observable2.prototype[observable_1.observable] = function() {
+ return this;
+ };
+ Observable2.prototype.pipe = function() {
+ var operations = [];
+ for (var _i = 0; _i < arguments.length; _i++) {
+ operations[_i] = arguments[_i];
+ }
+ return pipe_1.pipeFromArray(operations)(this);
+ };
+ Observable2.prototype.toPromise = function(promiseCtor) {
+ var _this = this;
+ promiseCtor = getPromiseCtor(promiseCtor);
+ return new promiseCtor(function(resolve, reject) {
+ var value;
+ _this.subscribe(function(x) {
+ return value = x;
+ }, function(err) {
+ return reject(err);
+ }, function() {
+ return resolve(value);
+ });
+ });
+ };
+ Observable2.create = function(subscribe) {
+ return new Observable2(subscribe);
+ };
+ return Observable2;
+ })();
+ exports.Observable = Observable;
+ function getPromiseCtor(promiseCtor) {
+ var _a;
+ return (_a = promiseCtor !== null && promiseCtor !== void 0 ? promiseCtor : config_1.config.Promise) !== null && _a !== void 0 ? _a : Promise;
+ }
+ __name(getPromiseCtor, "getPromiseCtor");
+ function isObserver(value) {
+ return value && isFunction_1.isFunction(value.next) && isFunction_1.isFunction(value.error) && isFunction_1.isFunction(value.complete);
+ }
+ __name(isObserver, "isObserver");
+ function isSubscriber(value) {
+ return value && value instanceof Subscriber_1.Subscriber || isObserver(value) && Subscription_1.isSubscription(value);
+ }
+ __name(isSubscriber, "isSubscriber");
+ }
+});
+
+// ../../node_modules/.pnpm/rxjs@7.8.2/node_modules/rxjs/dist/cjs/internal/util/isInteropObservable.js
+var require_isInteropObservable = __commonJS({
+ "../../node_modules/.pnpm/rxjs@7.8.2/node_modules/rxjs/dist/cjs/internal/util/isInteropObservable.js"(exports) {
+ "use strict";
+ Object.defineProperty(exports, "__esModule", { value: true });
+ exports.isInteropObservable = void 0;
+ var observable_1 = require_observable();
+ var isFunction_1 = require_isFunction();
+ function isInteropObservable(input) {
+ return isFunction_1.isFunction(input[observable_1.observable]);
+ }
+ __name(isInteropObservable, "isInteropObservable");
+ exports.isInteropObservable = isInteropObservable;
+ }
+});
+
+// ../../node_modules/.pnpm/rxjs@7.8.2/node_modules/rxjs/dist/cjs/internal/util/isAsyncIterable.js
+var require_isAsyncIterable = __commonJS({
+ "../../node_modules/.pnpm/rxjs@7.8.2/node_modules/rxjs/dist/cjs/internal/util/isAsyncIterable.js"(exports) {
+ "use strict";
+ Object.defineProperty(exports, "__esModule", { value: true });
+ exports.isAsyncIterable = void 0;
+ var isFunction_1 = require_isFunction();
+ function isAsyncIterable(obj) {
+ return Symbol.asyncIterator && isFunction_1.isFunction(obj === null || obj === void 0 ? void 0 : obj[Symbol.asyncIterator]);
+ }
+ __name(isAsyncIterable, "isAsyncIterable");
+ exports.isAsyncIterable = isAsyncIterable;
+ }
+});
+
+// ../../node_modules/.pnpm/rxjs@7.8.2/node_modules/rxjs/dist/cjs/internal/util/throwUnobservableError.js
+var require_throwUnobservableError = __commonJS({
+ "../../node_modules/.pnpm/rxjs@7.8.2/node_modules/rxjs/dist/cjs/internal/util/throwUnobservableError.js"(exports) {
+ "use strict";
+ Object.defineProperty(exports, "__esModule", { value: true });
+ exports.createInvalidObservableTypeError = void 0;
+ function createInvalidObservableTypeError(input) {
+ return new TypeError("You provided " + (input !== null && typeof input === "object" ? "an invalid object" : "'" + input + "'") + " where a stream was expected. You can provide an Observable, Promise, ReadableStream, Array, AsyncIterable, or Iterable.");
+ }
+ __name(createInvalidObservableTypeError, "createInvalidObservableTypeError");
+ exports.createInvalidObservableTypeError = createInvalidObservableTypeError;
+ }
+});
+
+// ../../node_modules/.pnpm/rxjs@7.8.2/node_modules/rxjs/dist/cjs/internal/symbol/iterator.js
+var require_iterator = __commonJS({
+ "../../node_modules/.pnpm/rxjs@7.8.2/node_modules/rxjs/dist/cjs/internal/symbol/iterator.js"(exports) {
+ "use strict";
+ Object.defineProperty(exports, "__esModule", { value: true });
+ exports.iterator = exports.getSymbolIterator = void 0;
+ function getSymbolIterator() {
+ if (typeof Symbol !== "function" || !Symbol.iterator) {
+ return "@@iterator";
+ }
+ return Symbol.iterator;
+ }
+ __name(getSymbolIterator, "getSymbolIterator");
+ exports.getSymbolIterator = getSymbolIterator;
+ exports.iterator = getSymbolIterator();
+ }
+});
+
+// ../../node_modules/.pnpm/rxjs@7.8.2/node_modules/rxjs/dist/cjs/internal/util/isIterable.js
+var require_isIterable = __commonJS({
+ "../../node_modules/.pnpm/rxjs@7.8.2/node_modules/rxjs/dist/cjs/internal/util/isIterable.js"(exports) {
+ "use strict";
+ Object.defineProperty(exports, "__esModule", { value: true });
+ exports.isIterable = void 0;
+ var iterator_1 = require_iterator();
+ var isFunction_1 = require_isFunction();
+ function isIterable(input) {
+ return isFunction_1.isFunction(input === null || input === void 0 ? void 0 : input[iterator_1.iterator]);
+ }
+ __name(isIterable, "isIterable");
+ exports.isIterable = isIterable;
+ }
+});
+
+// ../../node_modules/.pnpm/rxjs@7.8.2/node_modules/rxjs/dist/cjs/internal/util/isReadableStreamLike.js
+var require_isReadableStreamLike = __commonJS({
+ "../../node_modules/.pnpm/rxjs@7.8.2/node_modules/rxjs/dist/cjs/internal/util/isReadableStreamLike.js"(exports) {
+ "use strict";
+ var __generator = exports && exports.__generator || function(thisArg, body) {
+ var _ = { label: 0, sent: /* @__PURE__ */ __name(function() {
+ if (t[0] & 1) throw t[1];
+ return t[1];
+ }, "sent"), trys: [], ops: [] }, f, y, t, g;
+ return g = { next: verb(0), "throw": verb(1), "return": verb(2) }, typeof Symbol === "function" && (g[Symbol.iterator] = function() {
+ return this;
+ }), g;
+ function verb(n) {
+ return function(v) {
+ return step([n, v]);
+ };
+ }
+ __name(verb, "verb");
+ function step(op) {
+ if (f) throw new TypeError("Generator is already executing.");
+ while (_) try {
+ if (f = 1, y && (t = op[0] & 2 ? y["return"] : op[0] ? y["throw"] || ((t = y["return"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;
+ if (y = 0, t) op = [op[0] & 2, t.value];
+ switch (op[0]) {
+ case 0:
+ case 1:
+ t = op;
+ break;
+ case 4:
+ _.label++;
+ return { value: op[1], done: false };
+ case 5:
+ _.label++;
+ y = op[1];
+ op = [0];
+ continue;
+ case 7:
+ op = _.ops.pop();
+ _.trys.pop();
+ continue;
+ default:
+ if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) {
+ _ = 0;
+ continue;
+ }
+ if (op[0] === 3 && (!t || op[1] > t[0] && op[1] < t[3])) {
+ _.label = op[1];
+ break;
+ }
+ if (op[0] === 6 && _.label < t[1]) {
+ _.label = t[1];
+ t = op;
+ break;
+ }
+ if (t && _.label < t[2]) {
+ _.label = t[2];
+ _.ops.push(op);
+ break;
+ }
+ if (t[2]) _.ops.pop();
+ _.trys.pop();
+ continue;
+ }
+ op = body.call(thisArg, _);
+ } catch (e) {
+ op = [6, e];
+ y = 0;
+ } finally {
+ f = t = 0;
+ }
+ if (op[0] & 5) throw op[1];
+ return { value: op[0] ? op[1] : void 0, done: true };
+ }
+ __name(step, "step");
+ };
+ var __await = exports && exports.__await || function(v) {
+ return this instanceof __await ? (this.v = v, this) : new __await(v);
+ };
+ var __asyncGenerator = exports && exports.__asyncGenerator || function(thisArg, _arguments, generator) {
+ if (!Symbol.asyncIterator) throw new TypeError("Symbol.asyncIterator is not defined.");
+ var g = generator.apply(thisArg, _arguments || []), i, q = [];
+ return i = {}, verb("next"), verb("throw"), verb("return"), i[Symbol.asyncIterator] = function() {
+ return this;
+ }, i;
+ function verb(n) {
+ if (g[n]) i[n] = function(v) {
+ return new Promise(function(a, b) {
+ q.push([n, v, a, b]) > 1 || resume(n, v);
+ });
+ };
+ }
+ __name(verb, "verb");
+ function resume(n, v) {
+ try {
+ step(g[n](v));
+ } catch (e) {
+ settle(q[0][3], e);
+ }
+ }
+ __name(resume, "resume");
+ function step(r) {
+ r.value instanceof __await ? Promise.resolve(r.value.v).then(fulfill, reject) : settle(q[0][2], r);
+ }
+ __name(step, "step");
+ function fulfill(value) {
+ resume("next", value);
+ }
+ __name(fulfill, "fulfill");
+ function reject(value) {
+ resume("throw", value);
+ }
+ __name(reject, "reject");
+ function settle(f, v) {
+ if (f(v), q.shift(), q.length) resume(q[0][0], q[0][1]);
+ }
+ __name(settle, "settle");
+ };
+ Object.defineProperty(exports, "__esModule", { value: true });
+ exports.isReadableStreamLike = exports.readableStreamLikeToAsyncGenerator = void 0;
+ var isFunction_1 = require_isFunction();
+ function readableStreamLikeToAsyncGenerator(readableStream) {
+ return __asyncGenerator(this, arguments, /* @__PURE__ */ __name(function readableStreamLikeToAsyncGenerator_1() {
+ var reader, _a, value, done;
+ return __generator(this, function(_b) {
+ switch (_b.label) {
+ case 0:
+ reader = readableStream.getReader();
+ _b.label = 1;
+ case 1:
+ _b.trys.push([1, , 9, 10]);
+ _b.label = 2;
+ case 2:
+ if (false) return [3, 8];
+ return [4, __await(reader.read())];
+ case 3:
+ _a = _b.sent(), value = _a.value, done = _a.done;
+ if (!done) return [3, 5];
+ return [4, __await(void 0)];
+ case 4:
+ return [2, _b.sent()];
+ case 5:
+ return [4, __await(value)];
+ case 6:
+ return [4, _b.sent()];
+ case 7:
+ _b.sent();
+ return [3, 2];
+ case 8:
+ return [3, 10];
+ case 9:
+ reader.releaseLock();
+ return [7];
+ case 10:
+ return [2];
+ }
+ });
+ }, "readableStreamLikeToAsyncGenerator_1"));
+ }
+ __name(readableStreamLikeToAsyncGenerator, "readableStreamLikeToAsyncGenerator");
+ exports.readableStreamLikeToAsyncGenerator = readableStreamLikeToAsyncGenerator;
+ function isReadableStreamLike(obj) {
+ return isFunction_1.isFunction(obj === null || obj === void 0 ? void 0 : obj.getReader);
+ }
+ __name(isReadableStreamLike, "isReadableStreamLike");
+ exports.isReadableStreamLike = isReadableStreamLike;
+ }
+});
+
+// ../../node_modules/.pnpm/rxjs@7.8.2/node_modules/rxjs/dist/cjs/internal/observable/innerFrom.js
+var require_innerFrom = __commonJS({
+ "../../node_modules/.pnpm/rxjs@7.8.2/node_modules/rxjs/dist/cjs/internal/observable/innerFrom.js"(exports) {
+ "use strict";
+ var __awaiter = exports && exports.__awaiter || function(thisArg, _arguments, P, generator) {
+ function adopt(value) {
+ return value instanceof P ? value : new P(function(resolve) {
+ resolve(value);
+ });
+ }
+ __name(adopt, "adopt");
+ return new (P || (P = Promise))(function(resolve, reject) {
+ function fulfilled(value) {
+ try {
+ step(generator.next(value));
+ } catch (e) {
+ reject(e);
+ }
+ }
+ __name(fulfilled, "fulfilled");
+ function rejected(value) {
+ try {
+ step(generator["throw"](value));
+ } catch (e) {
+ reject(e);
+ }
+ }
+ __name(rejected, "rejected");
+ function step(result) {
+ result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected);
+ }
+ __name(step, "step");
+ step((generator = generator.apply(thisArg, _arguments || [])).next());
+ });
+ };
+ var __generator = exports && exports.__generator || function(thisArg, body) {
+ var _ = { label: 0, sent: /* @__PURE__ */ __name(function() {
+ if (t[0] & 1) throw t[1];
+ return t[1];
+ }, "sent"), trys: [], ops: [] }, f, y, t, g;
+ return g = { next: verb(0), "throw": verb(1), "return": verb(2) }, typeof Symbol === "function" && (g[Symbol.iterator] = function() {
+ return this;
+ }), g;
+ function verb(n) {
+ return function(v) {
+ return step([n, v]);
+ };
+ }
+ __name(verb, "verb");
+ function step(op) {
+ if (f) throw new TypeError("Generator is already executing.");
+ while (_) try {
+ if (f = 1, y && (t = op[0] & 2 ? y["return"] : op[0] ? y["throw"] || ((t = y["return"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;
+ if (y = 0, t) op = [op[0] & 2, t.value];
+ switch (op[0]) {
+ case 0:
+ case 1:
+ t = op;
+ break;
+ case 4:
+ _.label++;
+ return { value: op[1], done: false };
+ case 5:
+ _.label++;
+ y = op[1];
+ op = [0];
+ continue;
+ case 7:
+ op = _.ops.pop();
+ _.trys.pop();
+ continue;
+ default:
+ if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) {
+ _ = 0;
+ continue;
+ }
+ if (op[0] === 3 && (!t || op[1] > t[0] && op[1] < t[3])) {
+ _.label = op[1];
+ break;
+ }
+ if (op[0] === 6 && _.label < t[1]) {
+ _.label = t[1];
+ t = op;
+ break;
+ }
+ if (t && _.label < t[2]) {
+ _.label = t[2];
+ _.ops.push(op);
+ break;
+ }
+ if (t[2]) _.ops.pop();
+ _.trys.pop();
+ continue;
+ }
+ op = body.call(thisArg, _);
+ } catch (e) {
+ op = [6, e];
+ y = 0;
+ } finally {
+ f = t = 0;
+ }
+ if (op[0] & 5) throw op[1];
+ return { value: op[0] ? op[1] : void 0, done: true };
+ }
+ __name(step, "step");
+ };
+ var __asyncValues = exports && exports.__asyncValues || function(o) {
+ if (!Symbol.asyncIterator) throw new TypeError("Symbol.asyncIterator is not defined.");
+ var m = o[Symbol.asyncIterator], i;
+ return m ? m.call(o) : (o = typeof __values === "function" ? __values(o) : o[Symbol.iterator](), i = {}, verb("next"), verb("throw"), verb("return"), i[Symbol.asyncIterator] = function() {
+ return this;
+ }, i);
+ function verb(n) {
+ i[n] = o[n] && function(v) {
+ return new Promise(function(resolve, reject) {
+ v = o[n](v), settle(resolve, reject, v.done, v.value);
+ });
+ };
+ }
+ __name(verb, "verb");
+ function settle(resolve, reject, d, v) {
+ Promise.resolve(v).then(function(v2) {
+ resolve({ value: v2, done: d });
+ }, reject);
+ }
+ __name(settle, "settle");
+ };
+ var __values = exports && exports.__values || function(o) {
+ var s = typeof Symbol === "function" && Symbol.iterator, m = s && o[s], i = 0;
+ if (m) return m.call(o);
+ if (o && typeof o.length === "number") return {
+ next: /* @__PURE__ */ __name(function() {
+ if (o && i >= o.length) o = void 0;
+ return { value: o && o[i++], done: !o };
+ }, "next")
+ };
+ throw new TypeError(s ? "Object is not iterable." : "Symbol.iterator is not defined.");
+ };
+ Object.defineProperty(exports, "__esModule", { value: true });
+ exports.fromReadableStreamLike = exports.fromAsyncIterable = exports.fromIterable = exports.fromPromise = exports.fromArrayLike = exports.fromInteropObservable = exports.innerFrom = void 0;
+ var isArrayLike_1 = require_isArrayLike();
+ var isPromise_1 = require_isPromise();
+ var Observable_1 = require_Observable();
+ var isInteropObservable_1 = require_isInteropObservable();
+ var isAsyncIterable_1 = require_isAsyncIterable();
+ var throwUnobservableError_1 = require_throwUnobservableError();
+ var isIterable_1 = require_isIterable();
+ var isReadableStreamLike_1 = require_isReadableStreamLike();
+ var isFunction_1 = require_isFunction();
+ var reportUnhandledError_1 = require_reportUnhandledError();
+ var observable_1 = require_observable();
+ function innerFrom(input) {
+ if (input instanceof Observable_1.Observable) {
+ return input;
+ }
+ if (input != null) {
+ if (isInteropObservable_1.isInteropObservable(input)) {
+ return fromInteropObservable(input);
+ }
+ if (isArrayLike_1.isArrayLike(input)) {
+ return fromArrayLike(input);
+ }
+ if (isPromise_1.isPromise(input)) {
+ return fromPromise(input);
+ }
+ if (isAsyncIterable_1.isAsyncIterable(input)) {
+ return fromAsyncIterable(input);
+ }
+ if (isIterable_1.isIterable(input)) {
+ return fromIterable(input);
+ }
+ if (isReadableStreamLike_1.isReadableStreamLike(input)) {
+ return fromReadableStreamLike(input);
+ }
+ }
+ throw throwUnobservableError_1.createInvalidObservableTypeError(input);
+ }
+ __name(innerFrom, "innerFrom");
+ exports.innerFrom = innerFrom;
+ function fromInteropObservable(obj) {
+ return new Observable_1.Observable(function(subscriber) {
+ var obs = obj[observable_1.observable]();
+ if (isFunction_1.isFunction(obs.subscribe)) {
+ return obs.subscribe(subscriber);
+ }
+ throw new TypeError("Provided object does not correctly implement Symbol.observable");
+ });
+ }
+ __name(fromInteropObservable, "fromInteropObservable");
+ exports.fromInteropObservable = fromInteropObservable;
+ function fromArrayLike(array) {
+ return new Observable_1.Observable(function(subscriber) {
+ for (var i = 0; i < array.length && !subscriber.closed; i++) {
+ subscriber.next(array[i]);
+ }
+ subscriber.complete();
+ });
+ }
+ __name(fromArrayLike, "fromArrayLike");
+ exports.fromArrayLike = fromArrayLike;
+ function fromPromise(promise) {
+ return new Observable_1.Observable(function(subscriber) {
+ promise.then(function(value) {
+ if (!subscriber.closed) {
+ subscriber.next(value);
+ subscriber.complete();
+ }
+ }, function(err) {
+ return subscriber.error(err);
+ }).then(null, reportUnhandledError_1.reportUnhandledError);
+ });
+ }
+ __name(fromPromise, "fromPromise");
+ exports.fromPromise = fromPromise;
+ function fromIterable(iterable) {
+ return new Observable_1.Observable(function(subscriber) {
+ var e_1, _a;
+ try {
+ for (var iterable_1 = __values(iterable), iterable_1_1 = iterable_1.next(); !iterable_1_1.done; iterable_1_1 = iterable_1.next()) {
+ var value = iterable_1_1.value;
+ subscriber.next(value);
+ if (subscriber.closed) {
+ return;
+ }
+ }
+ } catch (e_1_1) {
+ e_1 = { error: e_1_1 };
+ } finally {
+ try {
+ if (iterable_1_1 && !iterable_1_1.done && (_a = iterable_1.return)) _a.call(iterable_1);
+ } finally {
+ if (e_1) throw e_1.error;
+ }
+ }
+ subscriber.complete();
+ });
+ }
+ __name(fromIterable, "fromIterable");
+ exports.fromIterable = fromIterable;
+ function fromAsyncIterable(asyncIterable) {
+ return new Observable_1.Observable(function(subscriber) {
+ process2(asyncIterable, subscriber).catch(function(err) {
+ return subscriber.error(err);
+ });
+ });
+ }
+ __name(fromAsyncIterable, "fromAsyncIterable");
+ exports.fromAsyncIterable = fromAsyncIterable;
+ function fromReadableStreamLike(readableStream) {
+ return fromAsyncIterable(isReadableStreamLike_1.readableStreamLikeToAsyncGenerator(readableStream));
+ }
+ __name(fromReadableStreamLike, "fromReadableStreamLike");
+ exports.fromReadableStreamLike = fromReadableStreamLike;
+ function process2(asyncIterable, subscriber) {
+ var asyncIterable_1, asyncIterable_1_1;
+ var e_2, _a;
+ return __awaiter(this, void 0, void 0, function() {
+ var value, e_2_1;
+ return __generator(this, function(_b) {
+ switch (_b.label) {
+ case 0:
+ _b.trys.push([0, 5, 6, 11]);
+ asyncIterable_1 = __asyncValues(asyncIterable);
+ _b.label = 1;
+ case 1:
+ return [4, asyncIterable_1.next()];
+ case 2:
+ if (!(asyncIterable_1_1 = _b.sent(), !asyncIterable_1_1.done)) return [3, 4];
+ value = asyncIterable_1_1.value;
+ subscriber.next(value);
+ if (subscriber.closed) {
+ return [2];
+ }
+ _b.label = 3;
+ case 3:
+ return [3, 1];
+ case 4:
+ return [3, 11];
+ case 5:
+ e_2_1 = _b.sent();
+ e_2 = { error: e_2_1 };
+ return [3, 11];
+ case 6:
+ _b.trys.push([6, , 9, 10]);
+ if (!(asyncIterable_1_1 && !asyncIterable_1_1.done && (_a = asyncIterable_1.return))) return [3, 8];
+ return [4, _a.call(asyncIterable_1)];
+ case 7:
+ _b.sent();
+ _b.label = 8;
+ case 8:
+ return [3, 10];
+ case 9:
+ if (e_2) throw e_2.error;
+ return [7];
+ case 10:
+ return [7];
+ case 11:
+ subscriber.complete();
+ return [2];
+ }
+ });
+ });
+ }
+ __name(process2, "process");
+ }
+});
+
+// ../../node_modules/.pnpm/rxjs@7.8.2/node_modules/rxjs/dist/cjs/internal/operators/OperatorSubscriber.js
+var require_OperatorSubscriber = __commonJS({
+ "../../node_modules/.pnpm/rxjs@7.8.2/node_modules/rxjs/dist/cjs/internal/operators/OperatorSubscriber.js"(exports) {
+ "use strict";
+ var __extends = exports && exports.__extends || /* @__PURE__ */ (function() {
+ var extendStatics = /* @__PURE__ */ __name(function(d, b) {
+ extendStatics = Object.setPrototypeOf || { __proto__: [] } instanceof Array && function(d2, b2) {
+ d2.__proto__ = b2;
+ } || function(d2, b2) {
+ for (var p in b2) if (Object.prototype.hasOwnProperty.call(b2, p)) d2[p] = b2[p];
+ };
+ return extendStatics(d, b);
+ }, "extendStatics");
+ return function(d, b) {
+ if (typeof b !== "function" && b !== null)
+ throw new TypeError("Class extends value " + String(b) + " is not a constructor or null");
+ extendStatics(d, b);
+ function __() {
+ this.constructor = d;
+ }
+ __name(__, "__");
+ d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());
+ };
+ })();
+ Object.defineProperty(exports, "__esModule", { value: true });
+ exports.OperatorSubscriber = exports.createOperatorSubscriber = void 0;
+ var Subscriber_1 = require_Subscriber();
+ function createOperatorSubscriber(destination, onNext, onComplete, onError, onFinalize) {
+ return new OperatorSubscriber(destination, onNext, onComplete, onError, onFinalize);
+ }
+ __name(createOperatorSubscriber, "createOperatorSubscriber");
+ exports.createOperatorSubscriber = createOperatorSubscriber;
+ var OperatorSubscriber = (function(_super) {
+ __extends(OperatorSubscriber2, _super);
+ function OperatorSubscriber2(destination, onNext, onComplete, onError, onFinalize, shouldUnsubscribe) {
+ var _this = _super.call(this, destination) || this;
+ _this.onFinalize = onFinalize;
+ _this.shouldUnsubscribe = shouldUnsubscribe;
+ _this._next = onNext ? function(value) {
+ try {
+ onNext(value);
+ } catch (err) {
+ destination.error(err);
+ }
+ } : _super.prototype._next;
+ _this._error = onError ? function(err) {
+ try {
+ onError(err);
+ } catch (err2) {
+ destination.error(err2);
+ } finally {
+ this.unsubscribe();
+ }
+ } : _super.prototype._error;
+ _this._complete = onComplete ? function() {
+ try {
+ onComplete();
+ } catch (err) {
+ destination.error(err);
+ } finally {
+ this.unsubscribe();
+ }
+ } : _super.prototype._complete;
+ return _this;
+ }
+ __name(OperatorSubscriber2, "OperatorSubscriber");
+ OperatorSubscriber2.prototype.unsubscribe = function() {
+ var _a;
+ if (!this.shouldUnsubscribe || this.shouldUnsubscribe()) {
+ var closed_1 = this.closed;
+ _super.prototype.unsubscribe.call(this);
+ !closed_1 && ((_a = this.onFinalize) === null || _a === void 0 ? void 0 : _a.call(this));
+ }
+ };
+ return OperatorSubscriber2;
+ })(Subscriber_1.Subscriber);
+ exports.OperatorSubscriber = OperatorSubscriber;
+ }
+});
+
+// ../../node_modules/.pnpm/rxjs@7.8.2/node_modules/rxjs/dist/cjs/internal/operators/audit.js
+var require_audit = __commonJS({
+ "../../node_modules/.pnpm/rxjs@7.8.2/node_modules/rxjs/dist/cjs/internal/operators/audit.js"(exports) {
+ "use strict";
+ Object.defineProperty(exports, "__esModule", { value: true });
+ exports.audit = void 0;
+ var lift_1 = require_lift();
+ var innerFrom_1 = require_innerFrom();
+ var OperatorSubscriber_1 = require_OperatorSubscriber();
+ function audit(durationSelector) {
+ return lift_1.operate(function(source, subscriber) {
+ var hasValue = false;
+ var lastValue = null;
+ var durationSubscriber = null;
+ var isComplete = false;
+ var endDuration = /* @__PURE__ */ __name(function() {
+ durationSubscriber === null || durationSubscriber === void 0 ? void 0 : durationSubscriber.unsubscribe();
+ durationSubscriber = null;
+ if (hasValue) {
+ hasValue = false;
+ var value = lastValue;
+ lastValue = null;
+ subscriber.next(value);
+ }
+ isComplete && subscriber.complete();
+ }, "endDuration");
+ var cleanupDuration = /* @__PURE__ */ __name(function() {
+ durationSubscriber = null;
+ isComplete && subscriber.complete();
+ }, "cleanupDuration");
+ source.subscribe(OperatorSubscriber_1.createOperatorSubscriber(subscriber, function(value) {
+ hasValue = true;
+ lastValue = value;
+ if (!durationSubscriber) {
+ innerFrom_1.innerFrom(durationSelector(value)).subscribe(durationSubscriber = OperatorSubscriber_1.createOperatorSubscriber(subscriber, endDuration, cleanupDuration));
+ }
+ }, function() {
+ isComplete = true;
+ (!hasValue || !durationSubscriber || durationSubscriber.closed) && subscriber.complete();
+ }));
+ });
+ }
+ __name(audit, "audit");
+ exports.audit = audit;
+ }
+});
+
+// ../../node_modules/.pnpm/rxjs@7.8.2/node_modules/rxjs/dist/cjs/internal/scheduler/Action.js
+var require_Action = __commonJS({
+ "../../node_modules/.pnpm/rxjs@7.8.2/node_modules/rxjs/dist/cjs/internal/scheduler/Action.js"(exports) {
+ "use strict";
+ var __extends = exports && exports.__extends || /* @__PURE__ */ (function() {
+ var extendStatics = /* @__PURE__ */ __name(function(d, b) {
+ extendStatics = Object.setPrototypeOf || { __proto__: [] } instanceof Array && function(d2, b2) {
+ d2.__proto__ = b2;
+ } || function(d2, b2) {
+ for (var p in b2) if (Object.prototype.hasOwnProperty.call(b2, p)) d2[p] = b2[p];
+ };
+ return extendStatics(d, b);
+ }, "extendStatics");
+ return function(d, b) {
+ if (typeof b !== "function" && b !== null)
+ throw new TypeError("Class extends value " + String(b) + " is not a constructor or null");
+ extendStatics(d, b);
+ function __() {
+ this.constructor = d;
+ }
+ __name(__, "__");
+ d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());
+ };
+ })();
+ Object.defineProperty(exports, "__esModule", { value: true });
+ exports.Action = void 0;
+ var Subscription_1 = require_Subscription();
+ var Action = (function(_super) {
+ __extends(Action2, _super);
+ function Action2(scheduler, work) {
+ return _super.call(this) || this;
+ }
+ __name(Action2, "Action");
+ Action2.prototype.schedule = function(state, delay) {
+ if (delay === void 0) {
+ delay = 0;
+ }
+ return this;
+ };
+ return Action2;
+ })(Subscription_1.Subscription);
+ exports.Action = Action;
+ }
+});
+
+// ../../node_modules/.pnpm/rxjs@7.8.2/node_modules/rxjs/dist/cjs/internal/scheduler/intervalProvider.js
+var require_intervalProvider = __commonJS({
+ "../../node_modules/.pnpm/rxjs@7.8.2/node_modules/rxjs/dist/cjs/internal/scheduler/intervalProvider.js"(exports) {
+ "use strict";
+ var __read = exports && exports.__read || function(o, n) {
+ var m = typeof Symbol === "function" && o[Symbol.iterator];
+ if (!m) return o;
+ var i = m.call(o), r, ar = [], e;
+ try {
+ while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);
+ } catch (error) {
+ e = { error };
+ } finally {
+ try {
+ if (r && !r.done && (m = i["return"])) m.call(i);
+ } finally {
+ if (e) throw e.error;
+ }
+ }
+ return ar;
+ };
+ var __spreadArray = exports && exports.__spreadArray || function(to, from) {
+ for (var i = 0, il = from.length, j = to.length; i < il; i++, j++)
+ to[j] = from[i];
+ return to;
+ };
+ Object.defineProperty(exports, "__esModule", { value: true });
+ exports.intervalProvider = void 0;
+ exports.intervalProvider = {
+ setInterval: /* @__PURE__ */ __name(function(handler, timeout) {
+ var args = [];
+ for (var _i = 2; _i < arguments.length; _i++) {
+ args[_i - 2] = arguments[_i];
+ }
+ var delegate = exports.intervalProvider.delegate;
+ if (delegate === null || delegate === void 0 ? void 0 : delegate.setInterval) {
+ return delegate.setInterval.apply(delegate, __spreadArray([handler, timeout], __read(args)));
+ }
+ return setInterval.apply(void 0, __spreadArray([handler, timeout], __read(args)));
+ }, "setInterval"),
+ clearInterval: /* @__PURE__ */ __name(function(handle) {
+ var delegate = exports.intervalProvider.delegate;
+ return ((delegate === null || delegate === void 0 ? void 0 : delegate.clearInterval) || clearInterval)(handle);
+ }, "clearInterval"),
+ delegate: void 0
+ };
+ }
+});
+
+// ../../node_modules/.pnpm/rxjs@7.8.2/node_modules/rxjs/dist/cjs/internal/scheduler/AsyncAction.js
+var require_AsyncAction = __commonJS({
+ "../../node_modules/.pnpm/rxjs@7.8.2/node_modules/rxjs/dist/cjs/internal/scheduler/AsyncAction.js"(exports) {
+ "use strict";
+ var __extends = exports && exports.__extends || /* @__PURE__ */ (function() {
+ var extendStatics = /* @__PURE__ */ __name(function(d, b) {
+ extendStatics = Object.setPrototypeOf || { __proto__: [] } instanceof Array && function(d2, b2) {
+ d2.__proto__ = b2;
+ } || function(d2, b2) {
+ for (var p in b2) if (Object.prototype.hasOwnProperty.call(b2, p)) d2[p] = b2[p];
+ };
+ return extendStatics(d, b);
+ }, "extendStatics");
+ return function(d, b) {
+ if (typeof b !== "function" && b !== null)
+ throw new TypeError("Class extends value " + String(b) + " is not a constructor or null");
+ extendStatics(d, b);
+ function __() {
+ this.constructor = d;
+ }
+ __name(__, "__");
+ d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());
+ };
+ })();
+ Object.defineProperty(exports, "__esModule", { value: true });
+ exports.AsyncAction = void 0;
+ var Action_1 = require_Action();
+ var intervalProvider_1 = require_intervalProvider();
+ var arrRemove_1 = require_arrRemove();
+ var AsyncAction = (function(_super) {
+ __extends(AsyncAction2, _super);
+ function AsyncAction2(scheduler, work) {
+ var _this = _super.call(this, scheduler, work) || this;
+ _this.scheduler = scheduler;
+ _this.work = work;
+ _this.pending = false;
+ return _this;
+ }
+ __name(AsyncAction2, "AsyncAction");
+ AsyncAction2.prototype.schedule = function(state, delay) {
+ var _a;
+ if (delay === void 0) {
+ delay = 0;
+ }
+ if (this.closed) {
+ return this;
+ }
+ this.state = state;
+ var id = this.id;
+ var scheduler = this.scheduler;
+ if (id != null) {
+ this.id = this.recycleAsyncId(scheduler, id, delay);
+ }
+ this.pending = true;
+ this.delay = delay;
+ this.id = (_a = this.id) !== null && _a !== void 0 ? _a : this.requestAsyncId(scheduler, this.id, delay);
+ return this;
+ };
+ AsyncAction2.prototype.requestAsyncId = function(scheduler, _id, delay) {
+ if (delay === void 0) {
+ delay = 0;
+ }
+ return intervalProvider_1.intervalProvider.setInterval(scheduler.flush.bind(scheduler, this), delay);
+ };
+ AsyncAction2.prototype.recycleAsyncId = function(_scheduler, id, delay) {
+ if (delay === void 0) {
+ delay = 0;
+ }
+ if (delay != null && this.delay === delay && this.pending === false) {
+ return id;
+ }
+ if (id != null) {
+ intervalProvider_1.intervalProvider.clearInterval(id);
+ }
+ return void 0;
+ };
+ AsyncAction2.prototype.execute = function(state, delay) {
+ if (this.closed) {
+ return new Error("executing a cancelled action");
+ }
+ this.pending = false;
+ var error = this._execute(state, delay);
+ if (error) {
+ return error;
+ } else if (this.pending === false && this.id != null) {
+ this.id = this.recycleAsyncId(this.scheduler, this.id, null);
+ }
+ };
+ AsyncAction2.prototype._execute = function(state, _delay) {
+ var errored = false;
+ var errorValue;
+ try {
+ this.work(state);
+ } catch (e) {
+ errored = true;
+ errorValue = e ? e : new Error("Scheduled action threw falsy error");
+ }
+ if (errored) {
+ this.unsubscribe();
+ return errorValue;
+ }
+ };
+ AsyncAction2.prototype.unsubscribe = function() {
+ if (!this.closed) {
+ var _a = this, id = _a.id, scheduler = _a.scheduler;
+ var actions = scheduler.actions;
+ this.work = this.state = this.scheduler = null;
+ this.pending = false;
+ arrRemove_1.arrRemove(actions, this);
+ if (id != null) {
+ this.id = this.recycleAsyncId(scheduler, id, null);
+ }
+ this.delay = null;
+ _super.prototype.unsubscribe.call(this);
+ }
+ };
+ return AsyncAction2;
+ })(Action_1.Action);
+ exports.AsyncAction = AsyncAction;
+ }
+});
+
+// ../../node_modules/.pnpm/rxjs@7.8.2/node_modules/rxjs/dist/cjs/internal/scheduler/dateTimestampProvider.js
+var require_dateTimestampProvider = __commonJS({
+ "../../node_modules/.pnpm/rxjs@7.8.2/node_modules/rxjs/dist/cjs/internal/scheduler/dateTimestampProvider.js"(exports) {
+ "use strict";
+ Object.defineProperty(exports, "__esModule", { value: true });
+ exports.dateTimestampProvider = void 0;
+ exports.dateTimestampProvider = {
+ now: /* @__PURE__ */ __name(function() {
+ return (exports.dateTimestampProvider.delegate || Date).now();
+ }, "now"),
+ delegate: void 0
+ };
+ }
+});
+
+// ../../node_modules/.pnpm/rxjs@7.8.2/node_modules/rxjs/dist/cjs/internal/Scheduler.js
+var require_Scheduler = __commonJS({
+ "../../node_modules/.pnpm/rxjs@7.8.2/node_modules/rxjs/dist/cjs/internal/Scheduler.js"(exports) {
+ "use strict";
+ Object.defineProperty(exports, "__esModule", { value: true });
+ exports.Scheduler = void 0;
+ var dateTimestampProvider_1 = require_dateTimestampProvider();
+ var Scheduler = (function() {
+ function Scheduler2(schedulerActionCtor, now) {
+ if (now === void 0) {
+ now = Scheduler2.now;
+ }
+ this.schedulerActionCtor = schedulerActionCtor;
+ this.now = now;
+ }
+ __name(Scheduler2, "Scheduler");
+ Scheduler2.prototype.schedule = function(work, delay, state) {
+ if (delay === void 0) {
+ delay = 0;
+ }
+ return new this.schedulerActionCtor(this, work).schedule(state, delay);
+ };
+ Scheduler2.now = dateTimestampProvider_1.dateTimestampProvider.now;
+ return Scheduler2;
+ })();
+ exports.Scheduler = Scheduler;
+ }
+});
+
+// ../../node_modules/.pnpm/rxjs@7.8.2/node_modules/rxjs/dist/cjs/internal/scheduler/AsyncScheduler.js
+var require_AsyncScheduler = __commonJS({
+ "../../node_modules/.pnpm/rxjs@7.8.2/node_modules/rxjs/dist/cjs/internal/scheduler/AsyncScheduler.js"(exports) {
+ "use strict";
+ var __extends = exports && exports.__extends || /* @__PURE__ */ (function() {
+ var extendStatics = /* @__PURE__ */ __name(function(d, b) {
+ extendStatics = Object.setPrototypeOf || { __proto__: [] } instanceof Array && function(d2, b2) {
+ d2.__proto__ = b2;
+ } || function(d2, b2) {
+ for (var p in b2) if (Object.prototype.hasOwnProperty.call(b2, p)) d2[p] = b2[p];
+ };
+ return extendStatics(d, b);
+ }, "extendStatics");
+ return function(d, b) {
+ if (typeof b !== "function" && b !== null)
+ throw new TypeError("Class extends value " + String(b) + " is not a constructor or null");
+ extendStatics(d, b);
+ function __() {
+ this.constructor = d;
+ }
+ __name(__, "__");
+ d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());
+ };
+ })();
+ Object.defineProperty(exports, "__esModule", { value: true });
+ exports.AsyncScheduler = void 0;
+ var Scheduler_1 = require_Scheduler();
+ var AsyncScheduler = (function(_super) {
+ __extends(AsyncScheduler2, _super);
+ function AsyncScheduler2(SchedulerAction, now) {
+ if (now === void 0) {
+ now = Scheduler_1.Scheduler.now;
+ }
+ var _this = _super.call(this, SchedulerAction, now) || this;
+ _this.actions = [];
+ _this._active = false;
+ return _this;
+ }
+ __name(AsyncScheduler2, "AsyncScheduler");
+ AsyncScheduler2.prototype.flush = function(action) {
+ var actions = this.actions;
+ if (this._active) {
+ actions.push(action);
+ return;
+ }
+ var error;
+ this._active = true;
+ do {
+ if (error = action.execute(action.state, action.delay)) {
+ break;
+ }
+ } while (action = actions.shift());
+ this._active = false;
+ if (error) {
+ while (action = actions.shift()) {
+ action.unsubscribe();
+ }
+ throw error;
+ }
+ };
+ return AsyncScheduler2;
+ })(Scheduler_1.Scheduler);
+ exports.AsyncScheduler = AsyncScheduler;
+ }
+});
+
+// ../../node_modules/.pnpm/rxjs@7.8.2/node_modules/rxjs/dist/cjs/internal/scheduler/async.js
+var require_async = __commonJS({
+ "../../node_modules/.pnpm/rxjs@7.8.2/node_modules/rxjs/dist/cjs/internal/scheduler/async.js"(exports) {
+ "use strict";
+ Object.defineProperty(exports, "__esModule", { value: true });
+ exports.async = exports.asyncScheduler = void 0;
+ var AsyncAction_1 = require_AsyncAction();
+ var AsyncScheduler_1 = require_AsyncScheduler();
+ exports.asyncScheduler = new AsyncScheduler_1.AsyncScheduler(AsyncAction_1.AsyncAction);
+ exports.async = exports.asyncScheduler;
+ }
+});
+
+// ../../node_modules/.pnpm/rxjs@7.8.2/node_modules/rxjs/dist/cjs/internal/util/isScheduler.js
+var require_isScheduler = __commonJS({
+ "../../node_modules/.pnpm/rxjs@7.8.2/node_modules/rxjs/dist/cjs/internal/util/isScheduler.js"(exports) {
+ "use strict";
+ Object.defineProperty(exports, "__esModule", { value: true });
+ exports.isScheduler = void 0;
+ var isFunction_1 = require_isFunction();
+ function isScheduler(value) {
+ return value && isFunction_1.isFunction(value.schedule);
+ }
+ __name(isScheduler, "isScheduler");
+ exports.isScheduler = isScheduler;
+ }
+});
+
+// ../../node_modules/.pnpm/rxjs@7.8.2/node_modules/rxjs/dist/cjs/internal/util/isDate.js
+var require_isDate = __commonJS({
+ "../../node_modules/.pnpm/rxjs@7.8.2/node_modules/rxjs/dist/cjs/internal/util/isDate.js"(exports) {
+ "use strict";
+ Object.defineProperty(exports, "__esModule", { value: true });
+ exports.isValidDate = void 0;
+ function isValidDate(value) {
+ return value instanceof Date && !isNaN(value);
+ }
+ __name(isValidDate, "isValidDate");
+ exports.isValidDate = isValidDate;
+ }
+});
+
+// ../../node_modules/.pnpm/rxjs@7.8.2/node_modules/rxjs/dist/cjs/internal/observable/timer.js
+var require_timer = __commonJS({
+ "../../node_modules/.pnpm/rxjs@7.8.2/node_modules/rxjs/dist/cjs/internal/observable/timer.js"(exports) {
+ "use strict";
+ Object.defineProperty(exports, "__esModule", { value: true });
+ exports.timer = void 0;
+ var Observable_1 = require_Observable();
+ var async_1 = require_async();
+ var isScheduler_1 = require_isScheduler();
+ var isDate_1 = require_isDate();
+ function timer(dueTime, intervalOrScheduler, scheduler) {
+ if (dueTime === void 0) {
+ dueTime = 0;
+ }
+ if (scheduler === void 0) {
+ scheduler = async_1.async;
+ }
+ var intervalDuration = -1;
+ if (intervalOrScheduler != null) {
+ if (isScheduler_1.isScheduler(intervalOrScheduler)) {
+ scheduler = intervalOrScheduler;
+ } else {
+ intervalDuration = intervalOrScheduler;
+ }
+ }
+ return new Observable_1.Observable(function(subscriber) {
+ var due = isDate_1.isValidDate(dueTime) ? +dueTime - scheduler.now() : dueTime;
+ if (due < 0) {
+ due = 0;
+ }
+ var n = 0;
+ return scheduler.schedule(function() {
+ if (!subscriber.closed) {
+ subscriber.next(n++);
+ if (0 <= intervalDuration) {
+ this.schedule(void 0, intervalDuration);
+ } else {
+ subscriber.complete();
+ }
+ }
+ }, due);
+ });
+ }
+ __name(timer, "timer");
+ exports.timer = timer;
+ }
+});
+
+// ../../node_modules/.pnpm/rxjs@7.8.2/node_modules/rxjs/dist/cjs/internal/operators/auditTime.js
+var require_auditTime = __commonJS({
+ "../../node_modules/.pnpm/rxjs@7.8.2/node_modules/rxjs/dist/cjs/internal/operators/auditTime.js"(exports) {
+ "use strict";
+ Object.defineProperty(exports, "__esModule", { value: true });
+ exports.auditTime = void 0;
+ var async_1 = require_async();
+ var audit_1 = require_audit();
+ var timer_1 = require_timer();
+ function auditTime(duration, scheduler) {
+ if (scheduler === void 0) {
+ scheduler = async_1.asyncScheduler;
+ }
+ return audit_1.audit(function() {
+ return timer_1.timer(duration, scheduler);
+ });
+ }
+ __name(auditTime, "auditTime");
+ exports.auditTime = auditTime;
+ }
+});
+
+// ../../node_modules/.pnpm/rxjs@7.8.2/node_modules/rxjs/dist/cjs/internal/operators/buffer.js
+var require_buffer = __commonJS({
+ "../../node_modules/.pnpm/rxjs@7.8.2/node_modules/rxjs/dist/cjs/internal/operators/buffer.js"(exports) {
+ "use strict";
+ Object.defineProperty(exports, "__esModule", { value: true });
+ exports.buffer = void 0;
+ var lift_1 = require_lift();
+ var noop_1 = require_noop();
+ var OperatorSubscriber_1 = require_OperatorSubscriber();
+ var innerFrom_1 = require_innerFrom();
+ function buffer(closingNotifier) {
+ return lift_1.operate(function(source, subscriber) {
+ var currentBuffer = [];
+ source.subscribe(OperatorSubscriber_1.createOperatorSubscriber(subscriber, function(value) {
+ return currentBuffer.push(value);
+ }, function() {
+ subscriber.next(currentBuffer);
+ subscriber.complete();
+ }));
+ innerFrom_1.innerFrom(closingNotifier).subscribe(OperatorSubscriber_1.createOperatorSubscriber(subscriber, function() {
+ var b = currentBuffer;
+ currentBuffer = [];
+ subscriber.next(b);
+ }, noop_1.noop));
+ return function() {
+ currentBuffer = null;
+ };
+ });
+ }
+ __name(buffer, "buffer");
+ exports.buffer = buffer;
+ }
+});
+
+// ../../node_modules/.pnpm/rxjs@7.8.2/node_modules/rxjs/dist/cjs/internal/operators/bufferCount.js
+var require_bufferCount = __commonJS({
+ "../../node_modules/.pnpm/rxjs@7.8.2/node_modules/rxjs/dist/cjs/internal/operators/bufferCount.js"(exports) {
+ "use strict";
+ var __values = exports && exports.__values || function(o) {
+ var s = typeof Symbol === "function" && Symbol.iterator, m = s && o[s], i = 0;
+ if (m) return m.call(o);
+ if (o && typeof o.length === "number") return {
+ next: /* @__PURE__ */ __name(function() {
+ if (o && i >= o.length) o = void 0;
+ return { value: o && o[i++], done: !o };
+ }, "next")
+ };
+ throw new TypeError(s ? "Object is not iterable." : "Symbol.iterator is not defined.");
+ };
+ Object.defineProperty(exports, "__esModule", { value: true });
+ exports.bufferCount = void 0;
+ var lift_1 = require_lift();
+ var OperatorSubscriber_1 = require_OperatorSubscriber();
+ var arrRemove_1 = require_arrRemove();
+ function bufferCount(bufferSize, startBufferEvery) {
+ if (startBufferEvery === void 0) {
+ startBufferEvery = null;
+ }
+ startBufferEvery = startBufferEvery !== null && startBufferEvery !== void 0 ? startBufferEvery : bufferSize;
+ return lift_1.operate(function(source, subscriber) {
+ var buffers = [];
+ var count = 0;
+ source.subscribe(OperatorSubscriber_1.createOperatorSubscriber(subscriber, function(value) {
+ var e_1, _a, e_2, _b;
+ var toEmit = null;
+ if (count++ % startBufferEvery === 0) {
+ buffers.push([]);
+ }
+ try {
+ for (var buffers_1 = __values(buffers), buffers_1_1 = buffers_1.next(); !buffers_1_1.done; buffers_1_1 = buffers_1.next()) {
+ var buffer = buffers_1_1.value;
+ buffer.push(value);
+ if (bufferSize <= buffer.length) {
+ toEmit = toEmit !== null && toEmit !== void 0 ? toEmit : [];
+ toEmit.push(buffer);
+ }
+ }
+ } catch (e_1_1) {
+ e_1 = { error: e_1_1 };
+ } finally {
+ try {
+ if (buffers_1_1 && !buffers_1_1.done && (_a = buffers_1.return)) _a.call(buffers_1);
+ } finally {
+ if (e_1) throw e_1.error;
+ }
+ }
+ if (toEmit) {
+ try {
+ for (var toEmit_1 = __values(toEmit), toEmit_1_1 = toEmit_1.next(); !toEmit_1_1.done; toEmit_1_1 = toEmit_1.next()) {
+ var buffer = toEmit_1_1.value;
+ arrRemove_1.arrRemove(buffers, buffer);
+ subscriber.next(buffer);
+ }
+ } catch (e_2_1) {
+ e_2 = { error: e_2_1 };
+ } finally {
+ try {
+ if (toEmit_1_1 && !toEmit_1_1.done && (_b = toEmit_1.return)) _b.call(toEmit_1);
+ } finally {
+ if (e_2) throw e_2.error;
+ }
+ }
+ }
+ }, function() {
+ var e_3, _a;
+ try {
+ for (var buffers_2 = __values(buffers), buffers_2_1 = buffers_2.next(); !buffers_2_1.done; buffers_2_1 = buffers_2.next()) {
+ var buffer = buffers_2_1.value;
+ subscriber.next(buffer);
+ }
+ } catch (e_3_1) {
+ e_3 = { error: e_3_1 };
+ } finally {
+ try {
+ if (buffers_2_1 && !buffers_2_1.done && (_a = buffers_2.return)) _a.call(buffers_2);
+ } finally {
+ if (e_3) throw e_3.error;
+ }
+ }
+ subscriber.complete();
+ }, void 0, function() {
+ buffers = null;
+ }));
+ });
+ }
+ __name(bufferCount, "bufferCount");
+ exports.bufferCount = bufferCount;
+ }
+});
+
+// ../../node_modules/.pnpm/rxjs@7.8.2/node_modules/rxjs/dist/cjs/internal/util/args.js
+var require_args = __commonJS({
+ "../../node_modules/.pnpm/rxjs@7.8.2/node_modules/rxjs/dist/cjs/internal/util/args.js"(exports) {
+ "use strict";
+ Object.defineProperty(exports, "__esModule", { value: true });
+ exports.popNumber = exports.popScheduler = exports.popResultSelector = void 0;
+ var isFunction_1 = require_isFunction();
+ var isScheduler_1 = require_isScheduler();
+ function last(arr) {
+ return arr[arr.length - 1];
+ }
+ __name(last, "last");
+ function popResultSelector(args) {
+ return isFunction_1.isFunction(last(args)) ? args.pop() : void 0;
+ }
+ __name(popResultSelector, "popResultSelector");
+ exports.popResultSelector = popResultSelector;
+ function popScheduler(args) {
+ return isScheduler_1.isScheduler(last(args)) ? args.pop() : void 0;
+ }
+ __name(popScheduler, "popScheduler");
+ exports.popScheduler = popScheduler;
+ function popNumber(args, defaultValue) {
+ return typeof last(args) === "number" ? args.pop() : defaultValue;
+ }
+ __name(popNumber, "popNumber");
+ exports.popNumber = popNumber;
+ }
+});
+
+// ../../node_modules/.pnpm/rxjs@7.8.2/node_modules/rxjs/dist/cjs/internal/util/executeSchedule.js
+var require_executeSchedule = __commonJS({
+ "../../node_modules/.pnpm/rxjs@7.8.2/node_modules/rxjs/dist/cjs/internal/util/executeSchedule.js"(exports) {
+ "use strict";
+ Object.defineProperty(exports, "__esModule", { value: true });
+ exports.executeSchedule = void 0;
+ function executeSchedule(parentSubscription, scheduler, work, delay, repeat) {
+ if (delay === void 0) {
+ delay = 0;
+ }
+ if (repeat === void 0) {
+ repeat = false;
+ }
+ var scheduleSubscription = scheduler.schedule(function() {
+ work();
+ if (repeat) {
+ parentSubscription.add(this.schedule(null, delay));
+ } else {
+ this.unsubscribe();
+ }
+ }, delay);
+ parentSubscription.add(scheduleSubscription);
+ if (!repeat) {
+ return scheduleSubscription;
+ }
+ }
+ __name(executeSchedule, "executeSchedule");
+ exports.executeSchedule = executeSchedule;
+ }
+});
+
+// ../../node_modules/.pnpm/rxjs@7.8.2/node_modules/rxjs/dist/cjs/internal/operators/bufferTime.js
+var require_bufferTime = __commonJS({
+ "../../node_modules/.pnpm/rxjs@7.8.2/node_modules/rxjs/dist/cjs/internal/operators/bufferTime.js"(exports) {
+ "use strict";
+ var __values = exports && exports.__values || function(o) {
+ var s = typeof Symbol === "function" && Symbol.iterator, m = s && o[s], i = 0;
+ if (m) return m.call(o);
+ if (o && typeof o.length === "number") return {
+ next: /* @__PURE__ */ __name(function() {
+ if (o && i >= o.length) o = void 0;
+ return { value: o && o[i++], done: !o };
+ }, "next")
+ };
+ throw new TypeError(s ? "Object is not iterable." : "Symbol.iterator is not defined.");
+ };
+ Object.defineProperty(exports, "__esModule", { value: true });
+ exports.bufferTime = void 0;
+ var Subscription_1 = require_Subscription();
+ var lift_1 = require_lift();
+ var OperatorSubscriber_1 = require_OperatorSubscriber();
+ var arrRemove_1 = require_arrRemove();
+ var async_1 = require_async();
+ var args_1 = require_args();
+ var executeSchedule_1 = require_executeSchedule();
+ function bufferTime(bufferTimeSpan) {
+ var _a, _b;
+ var otherArgs = [];
+ for (var _i = 1; _i < arguments.length; _i++) {
+ otherArgs[_i - 1] = arguments[_i];
+ }
+ var scheduler = (_a = args_1.popScheduler(otherArgs)) !== null && _a !== void 0 ? _a : async_1.asyncScheduler;
+ var bufferCreationInterval = (_b = otherArgs[0]) !== null && _b !== void 0 ? _b : null;
+ var maxBufferSize = otherArgs[1] || Infinity;
+ return lift_1.operate(function(source, subscriber) {
+ var bufferRecords = [];
+ var restartOnEmit = false;
+ var emit = /* @__PURE__ */ __name(function(record) {
+ var buffer = record.buffer, subs = record.subs;
+ subs.unsubscribe();
+ arrRemove_1.arrRemove(bufferRecords, record);
+ subscriber.next(buffer);
+ restartOnEmit && startBuffer();
+ }, "emit");
+ var startBuffer = /* @__PURE__ */ __name(function() {
+ if (bufferRecords) {
+ var subs = new Subscription_1.Subscription();
+ subscriber.add(subs);
+ var buffer = [];
+ var record_1 = {
+ buffer,
+ subs
+ };
+ bufferRecords.push(record_1);
+ executeSchedule_1.executeSchedule(subs, scheduler, function() {
+ return emit(record_1);
+ }, bufferTimeSpan);
+ }
+ }, "startBuffer");
+ if (bufferCreationInterval !== null && bufferCreationInterval >= 0) {
+ executeSchedule_1.executeSchedule(subscriber, scheduler, startBuffer, bufferCreationInterval, true);
+ } else {
+ restartOnEmit = true;
+ }
+ startBuffer();
+ var bufferTimeSubscriber = OperatorSubscriber_1.createOperatorSubscriber(subscriber, function(value) {
+ var e_1, _a2;
+ var recordsCopy = bufferRecords.slice();
+ try {
+ for (var recordsCopy_1 = __values(recordsCopy), recordsCopy_1_1 = recordsCopy_1.next(); !recordsCopy_1_1.done; recordsCopy_1_1 = recordsCopy_1.next()) {
+ var record = recordsCopy_1_1.value;
+ var buffer = record.buffer;
+ buffer.push(value);
+ maxBufferSize <= buffer.length && emit(record);
+ }
+ } catch (e_1_1) {
+ e_1 = { error: e_1_1 };
+ } finally {
+ try {
+ if (recordsCopy_1_1 && !recordsCopy_1_1.done && (_a2 = recordsCopy_1.return)) _a2.call(recordsCopy_1);
+ } finally {
+ if (e_1) throw e_1.error;
+ }
+ }
+ }, function() {
+ while (bufferRecords === null || bufferRecords === void 0 ? void 0 : bufferRecords.length) {
+ subscriber.next(bufferRecords.shift().buffer);
+ }
+ bufferTimeSubscriber === null || bufferTimeSubscriber === void 0 ? void 0 : bufferTimeSubscriber.unsubscribe();
+ subscriber.complete();
+ subscriber.unsubscribe();
+ }, void 0, function() {
+ return bufferRecords = null;
+ });
+ source.subscribe(bufferTimeSubscriber);
+ });
+ }
+ __name(bufferTime, "bufferTime");
+ exports.bufferTime = bufferTime;
+ }
+});
+
+// ../../node_modules/.pnpm/rxjs@7.8.2/node_modules/rxjs/dist/cjs/internal/operators/bufferToggle.js
+var require_bufferToggle = __commonJS({
+ "../../node_modules/.pnpm/rxjs@7.8.2/node_modules/rxjs/dist/cjs/internal/operators/bufferToggle.js"(exports) {
+ "use strict";
+ var __values = exports && exports.__values || function(o) {
+ var s = typeof Symbol === "function" && Symbol.iterator, m = s && o[s], i = 0;
+ if (m) return m.call(o);
+ if (o && typeof o.length === "number") return {
+ next: /* @__PURE__ */ __name(function() {
+ if (o && i >= o.length) o = void 0;
+ return { value: o && o[i++], done: !o };
+ }, "next")
+ };
+ throw new TypeError(s ? "Object is not iterable." : "Symbol.iterator is not defined.");
+ };
+ Object.defineProperty(exports, "__esModule", { value: true });
+ exports.bufferToggle = void 0;
+ var Subscription_1 = require_Subscription();
+ var lift_1 = require_lift();
+ var innerFrom_1 = require_innerFrom();
+ var OperatorSubscriber_1 = require_OperatorSubscriber();
+ var noop_1 = require_noop();
+ var arrRemove_1 = require_arrRemove();
+ function bufferToggle(openings, closingSelector) {
+ return lift_1.operate(function(source, subscriber) {
+ var buffers = [];
+ innerFrom_1.innerFrom(openings).subscribe(OperatorSubscriber_1.createOperatorSubscriber(subscriber, function(openValue) {
+ var buffer = [];
+ buffers.push(buffer);
+ var closingSubscription = new Subscription_1.Subscription();
+ var emitBuffer = /* @__PURE__ */ __name(function() {
+ arrRemove_1.arrRemove(buffers, buffer);
+ subscriber.next(buffer);
+ closingSubscription.unsubscribe();
+ }, "emitBuffer");
+ closingSubscription.add(innerFrom_1.innerFrom(closingSelector(openValue)).subscribe(OperatorSubscriber_1.createOperatorSubscriber(subscriber, emitBuffer, noop_1.noop)));
+ }, noop_1.noop));
+ source.subscribe(OperatorSubscriber_1.createOperatorSubscriber(subscriber, function(value) {
+ var e_1, _a;
+ try {
+ for (var buffers_1 = __values(buffers), buffers_1_1 = buffers_1.next(); !buffers_1_1.done; buffers_1_1 = buffers_1.next()) {
+ var buffer = buffers_1_1.value;
+ buffer.push(value);
+ }
+ } catch (e_1_1) {
+ e_1 = { error: e_1_1 };
+ } finally {
+ try {
+ if (buffers_1_1 && !buffers_1_1.done && (_a = buffers_1.return)) _a.call(buffers_1);
+ } finally {
+ if (e_1) throw e_1.error;
+ }
+ }
+ }, function() {
+ while (buffers.length > 0) {
+ subscriber.next(buffers.shift());
+ }
+ subscriber.complete();
+ }));
+ });
+ }
+ __name(bufferToggle, "bufferToggle");
+ exports.bufferToggle = bufferToggle;
+ }
+});
+
+// ../../node_modules/.pnpm/rxjs@7.8.2/node_modules/rxjs/dist/cjs/internal/operators/bufferWhen.js
+var require_bufferWhen = __commonJS({
+ "../../node_modules/.pnpm/rxjs@7.8.2/node_modules/rxjs/dist/cjs/internal/operators/bufferWhen.js"(exports) {
+ "use strict";
+ Object.defineProperty(exports, "__esModule", { value: true });
+ exports.bufferWhen = void 0;
+ var lift_1 = require_lift();
+ var noop_1 = require_noop();
+ var OperatorSubscriber_1 = require_OperatorSubscriber();
+ var innerFrom_1 = require_innerFrom();
+ function bufferWhen(closingSelector) {
+ return lift_1.operate(function(source, subscriber) {
+ var buffer = null;
+ var closingSubscriber = null;
+ var openBuffer = /* @__PURE__ */ __name(function() {
+ closingSubscriber === null || closingSubscriber === void 0 ? void 0 : closingSubscriber.unsubscribe();
+ var b = buffer;
+ buffer = [];
+ b && subscriber.next(b);
+ innerFrom_1.innerFrom(closingSelector()).subscribe(closingSubscriber = OperatorSubscriber_1.createOperatorSubscriber(subscriber, openBuffer, noop_1.noop));
+ }, "openBuffer");
+ openBuffer();
+ source.subscribe(OperatorSubscriber_1.createOperatorSubscriber(subscriber, function(value) {
+ return buffer === null || buffer === void 0 ? void 0 : buffer.push(value);
+ }, function() {
+ buffer && subscriber.next(buffer);
+ subscriber.complete();
+ }, void 0, function() {
+ return buffer = closingSubscriber = null;
+ }));
+ });
+ }
+ __name(bufferWhen, "bufferWhen");
+ exports.bufferWhen = bufferWhen;
+ }
+});
+
+// ../../node_modules/.pnpm/rxjs@7.8.2/node_modules/rxjs/dist/cjs/internal/operators/catchError.js
+var require_catchError = __commonJS({
+ "../../node_modules/.pnpm/rxjs@7.8.2/node_modules/rxjs/dist/cjs/internal/operators/catchError.js"(exports) {
+ "use strict";
+ Object.defineProperty(exports, "__esModule", { value: true });
+ exports.catchError = void 0;
+ var innerFrom_1 = require_innerFrom();
+ var OperatorSubscriber_1 = require_OperatorSubscriber();
+ var lift_1 = require_lift();
+ function catchError(selector) {
+ return lift_1.operate(function(source, subscriber) {
+ var innerSub = null;
+ var syncUnsub = false;
+ var handledResult;
+ innerSub = source.subscribe(OperatorSubscriber_1.createOperatorSubscriber(subscriber, void 0, void 0, function(err) {
+ handledResult = innerFrom_1.innerFrom(selector(err, catchError(selector)(source)));
+ if (innerSub) {
+ innerSub.unsubscribe();
+ innerSub = null;
+ handledResult.subscribe(subscriber);
+ } else {
+ syncUnsub = true;
+ }
+ }));
+ if (syncUnsub) {
+ innerSub.unsubscribe();
+ innerSub = null;
+ handledResult.subscribe(subscriber);
+ }
+ });
+ }
+ __name(catchError, "catchError");
+ exports.catchError = catchError;
+ }
+});
+
+// ../../node_modules/.pnpm/rxjs@7.8.2/node_modules/rxjs/dist/cjs/internal/util/argsArgArrayOrObject.js
+var require_argsArgArrayOrObject = __commonJS({
+ "../../node_modules/.pnpm/rxjs@7.8.2/node_modules/rxjs/dist/cjs/internal/util/argsArgArrayOrObject.js"(exports) {
+ "use strict";
+ Object.defineProperty(exports, "__esModule", { value: true });
+ exports.argsArgArrayOrObject = void 0;
+ var isArray = Array.isArray;
+ var getPrototypeOf = Object.getPrototypeOf;
+ var objectProto = Object.prototype;
+ var getKeys = Object.keys;
+ function argsArgArrayOrObject(args) {
+ if (args.length === 1) {
+ var first_1 = args[0];
+ if (isArray(first_1)) {
+ return { args: first_1, keys: null };
+ }
+ if (isPOJO(first_1)) {
+ var keys = getKeys(first_1);
+ return {
+ args: keys.map(function(key) {
+ return first_1[key];
+ }),
+ keys
+ };
+ }
+ }
+ return { args, keys: null };
+ }
+ __name(argsArgArrayOrObject, "argsArgArrayOrObject");
+ exports.argsArgArrayOrObject = argsArgArrayOrObject;
+ function isPOJO(obj) {
+ return obj && typeof obj === "object" && getPrototypeOf(obj) === objectProto;
+ }
+ __name(isPOJO, "isPOJO");
+ }
+});
+
+// ../../node_modules/.pnpm/rxjs@7.8.2/node_modules/rxjs/dist/cjs/internal/operators/observeOn.js
+var require_observeOn = __commonJS({
+ "../../node_modules/.pnpm/rxjs@7.8.2/node_modules/rxjs/dist/cjs/internal/operators/observeOn.js"(exports) {
+ "use strict";
+ Object.defineProperty(exports, "__esModule", { value: true });
+ exports.observeOn = void 0;
+ var executeSchedule_1 = require_executeSchedule();
+ var lift_1 = require_lift();
+ var OperatorSubscriber_1 = require_OperatorSubscriber();
+ function observeOn(scheduler, delay) {
+ if (delay === void 0) {
+ delay = 0;
+ }
+ return lift_1.operate(function(source, subscriber) {
+ source.subscribe(OperatorSubscriber_1.createOperatorSubscriber(subscriber, function(value) {
+ return executeSchedule_1.executeSchedule(subscriber, scheduler, function() {
+ return subscriber.next(value);
+ }, delay);
+ }, function() {
+ return executeSchedule_1.executeSchedule(subscriber, scheduler, function() {
+ return subscriber.complete();
+ }, delay);
+ }, function(err) {
+ return executeSchedule_1.executeSchedule(subscriber, scheduler, function() {
+ return subscriber.error(err);
+ }, delay);
+ }));
+ });
+ }
+ __name(observeOn, "observeOn");
+ exports.observeOn = observeOn;
+ }
+});
+
+// ../../node_modules/.pnpm/rxjs@7.8.2/node_modules/rxjs/dist/cjs/internal/operators/subscribeOn.js
+var require_subscribeOn = __commonJS({
+ "../../node_modules/.pnpm/rxjs@7.8.2/node_modules/rxjs/dist/cjs/internal/operators/subscribeOn.js"(exports) {
+ "use strict";
+ Object.defineProperty(exports, "__esModule", { value: true });
+ exports.subscribeOn = void 0;
+ var lift_1 = require_lift();
+ function subscribeOn(scheduler, delay) {
+ if (delay === void 0) {
+ delay = 0;
+ }
+ return lift_1.operate(function(source, subscriber) {
+ subscriber.add(scheduler.schedule(function() {
+ return source.subscribe(subscriber);
+ }, delay));
+ });
+ }
+ __name(subscribeOn, "subscribeOn");
+ exports.subscribeOn = subscribeOn;
+ }
+});
+
+// ../../node_modules/.pnpm/rxjs@7.8.2/node_modules/rxjs/dist/cjs/internal/scheduled/scheduleObservable.js
+var require_scheduleObservable = __commonJS({
+ "../../node_modules/.pnpm/rxjs@7.8.2/node_modules/rxjs/dist/cjs/internal/scheduled/scheduleObservable.js"(exports) {
+ "use strict";
+ Object.defineProperty(exports, "__esModule", { value: true });
+ exports.scheduleObservable = void 0;
+ var innerFrom_1 = require_innerFrom();
+ var observeOn_1 = require_observeOn();
+ var subscribeOn_1 = require_subscribeOn();
+ function scheduleObservable(input, scheduler) {
+ return innerFrom_1.innerFrom(input).pipe(subscribeOn_1.subscribeOn(scheduler), observeOn_1.observeOn(scheduler));
+ }
+ __name(scheduleObservable, "scheduleObservable");
+ exports.scheduleObservable = scheduleObservable;
+ }
+});
+
+// ../../node_modules/.pnpm/rxjs@7.8.2/node_modules/rxjs/dist/cjs/internal/scheduled/schedulePromise.js
+var require_schedulePromise = __commonJS({
+ "../../node_modules/.pnpm/rxjs@7.8.2/node_modules/rxjs/dist/cjs/internal/scheduled/schedulePromise.js"(exports) {
+ "use strict";
+ Object.defineProperty(exports, "__esModule", { value: true });
+ exports.schedulePromise = void 0;
+ var innerFrom_1 = require_innerFrom();
+ var observeOn_1 = require_observeOn();
+ var subscribeOn_1 = require_subscribeOn();
+ function schedulePromise(input, scheduler) {
+ return innerFrom_1.innerFrom(input).pipe(subscribeOn_1.subscribeOn(scheduler), observeOn_1.observeOn(scheduler));
+ }
+ __name(schedulePromise, "schedulePromise");
+ exports.schedulePromise = schedulePromise;
+ }
+});
+
+// ../../node_modules/.pnpm/rxjs@7.8.2/node_modules/rxjs/dist/cjs/internal/scheduled/scheduleArray.js
+var require_scheduleArray = __commonJS({
+ "../../node_modules/.pnpm/rxjs@7.8.2/node_modules/rxjs/dist/cjs/internal/scheduled/scheduleArray.js"(exports) {
+ "use strict";
+ Object.defineProperty(exports, "__esModule", { value: true });
+ exports.scheduleArray = void 0;
+ var Observable_1 = require_Observable();
+ function scheduleArray(input, scheduler) {
+ return new Observable_1.Observable(function(subscriber) {
+ var i = 0;
+ return scheduler.schedule(function() {
+ if (i === input.length) {
+ subscriber.complete();
+ } else {
+ subscriber.next(input[i++]);
+ if (!subscriber.closed) {
+ this.schedule();
+ }
+ }
+ });
+ });
+ }
+ __name(scheduleArray, "scheduleArray");
+ exports.scheduleArray = scheduleArray;
+ }
+});
+
+// ../../node_modules/.pnpm/rxjs@7.8.2/node_modules/rxjs/dist/cjs/internal/scheduled/scheduleIterable.js
+var require_scheduleIterable = __commonJS({
+ "../../node_modules/.pnpm/rxjs@7.8.2/node_modules/rxjs/dist/cjs/internal/scheduled/scheduleIterable.js"(exports) {
+ "use strict";
+ Object.defineProperty(exports, "__esModule", { value: true });
+ exports.scheduleIterable = void 0;
+ var Observable_1 = require_Observable();
+ var iterator_1 = require_iterator();
+ var isFunction_1 = require_isFunction();
+ var executeSchedule_1 = require_executeSchedule();
+ function scheduleIterable(input, scheduler) {
+ return new Observable_1.Observable(function(subscriber) {
+ var iterator;
+ executeSchedule_1.executeSchedule(subscriber, scheduler, function() {
+ iterator = input[iterator_1.iterator]();
+ executeSchedule_1.executeSchedule(subscriber, scheduler, function() {
+ var _a;
+ var value;
+ var done;
+ try {
+ _a = iterator.next(), value = _a.value, done = _a.done;
+ } catch (err) {
+ subscriber.error(err);
+ return;
+ }
+ if (done) {
+ subscriber.complete();
+ } else {
+ subscriber.next(value);
+ }
+ }, 0, true);
+ });
+ return function() {
+ return isFunction_1.isFunction(iterator === null || iterator === void 0 ? void 0 : iterator.return) && iterator.return();
+ };
+ });
+ }
+ __name(scheduleIterable, "scheduleIterable");
+ exports.scheduleIterable = scheduleIterable;
+ }
+});
+
+// ../../node_modules/.pnpm/rxjs@7.8.2/node_modules/rxjs/dist/cjs/internal/scheduled/scheduleAsyncIterable.js
+var require_scheduleAsyncIterable = __commonJS({
+ "../../node_modules/.pnpm/rxjs@7.8.2/node_modules/rxjs/dist/cjs/internal/scheduled/scheduleAsyncIterable.js"(exports) {
+ "use strict";
+ Object.defineProperty(exports, "__esModule", { value: true });
+ exports.scheduleAsyncIterable = void 0;
+ var Observable_1 = require_Observable();
+ var executeSchedule_1 = require_executeSchedule();
+ function scheduleAsyncIterable(input, scheduler) {
+ if (!input) {
+ throw new Error("Iterable cannot be null");
+ }
+ return new Observable_1.Observable(function(subscriber) {
+ executeSchedule_1.executeSchedule(subscriber, scheduler, function() {
+ var iterator = input[Symbol.asyncIterator]();
+ executeSchedule_1.executeSchedule(subscriber, scheduler, function() {
+ iterator.next().then(function(result) {
+ if (result.done) {
+ subscriber.complete();
+ } else {
+ subscriber.next(result.value);
+ }
+ });
+ }, 0, true);
+ });
+ });
+ }
+ __name(scheduleAsyncIterable, "scheduleAsyncIterable");
+ exports.scheduleAsyncIterable = scheduleAsyncIterable;
+ }
+});
+
+// ../../node_modules/.pnpm/rxjs@7.8.2/node_modules/rxjs/dist/cjs/internal/scheduled/scheduleReadableStreamLike.js
+var require_scheduleReadableStreamLike = __commonJS({
+ "../../node_modules/.pnpm/rxjs@7.8.2/node_modules/rxjs/dist/cjs/internal/scheduled/scheduleReadableStreamLike.js"(exports) {
+ "use strict";
+ Object.defineProperty(exports, "__esModule", { value: true });
+ exports.scheduleReadableStreamLike = void 0;
+ var scheduleAsyncIterable_1 = require_scheduleAsyncIterable();
+ var isReadableStreamLike_1 = require_isReadableStreamLike();
+ function scheduleReadableStreamLike(input, scheduler) {
+ return scheduleAsyncIterable_1.scheduleAsyncIterable(isReadableStreamLike_1.readableStreamLikeToAsyncGenerator(input), scheduler);
+ }
+ __name(scheduleReadableStreamLike, "scheduleReadableStreamLike");
+ exports.scheduleReadableStreamLike = scheduleReadableStreamLike;
+ }
+});
+
+// ../../node_modules/.pnpm/rxjs@7.8.2/node_modules/rxjs/dist/cjs/internal/scheduled/scheduled.js
+var require_scheduled = __commonJS({
+ "../../node_modules/.pnpm/rxjs@7.8.2/node_modules/rxjs/dist/cjs/internal/scheduled/scheduled.js"(exports) {
+ "use strict";
+ Object.defineProperty(exports, "__esModule", { value: true });
+ exports.scheduled = void 0;
+ var scheduleObservable_1 = require_scheduleObservable();
+ var schedulePromise_1 = require_schedulePromise();
+ var scheduleArray_1 = require_scheduleArray();
+ var scheduleIterable_1 = require_scheduleIterable();
+ var scheduleAsyncIterable_1 = require_scheduleAsyncIterable();
+ var isInteropObservable_1 = require_isInteropObservable();
+ var isPromise_1 = require_isPromise();
+ var isArrayLike_1 = require_isArrayLike();
+ var isIterable_1 = require_isIterable();
+ var isAsyncIterable_1 = require_isAsyncIterable();
+ var throwUnobservableError_1 = require_throwUnobservableError();
+ var isReadableStreamLike_1 = require_isReadableStreamLike();
+ var scheduleReadableStreamLike_1 = require_scheduleReadableStreamLike();
+ function scheduled(input, scheduler) {
+ if (input != null) {
+ if (isInteropObservable_1.isInteropObservable(input)) {
+ return scheduleObservable_1.scheduleObservable(input, scheduler);
+ }
+ if (isArrayLike_1.isArrayLike(input)) {
+ return scheduleArray_1.scheduleArray(input, scheduler);
+ }
+ if (isPromise_1.isPromise(input)) {
+ return schedulePromise_1.schedulePromise(input, scheduler);
+ }
+ if (isAsyncIterable_1.isAsyncIterable(input)) {
+ return scheduleAsyncIterable_1.scheduleAsyncIterable(input, scheduler);
+ }
+ if (isIterable_1.isIterable(input)) {
+ return scheduleIterable_1.scheduleIterable(input, scheduler);
+ }
+ if (isReadableStreamLike_1.isReadableStreamLike(input)) {
+ return scheduleReadableStreamLike_1.scheduleReadableStreamLike(input, scheduler);
+ }
+ }
+ throw throwUnobservableError_1.createInvalidObservableTypeError(input);
+ }
+ __name(scheduled, "scheduled");
+ exports.scheduled = scheduled;
+ }
+});
+
+// ../../node_modules/.pnpm/rxjs@7.8.2/node_modules/rxjs/dist/cjs/internal/observable/from.js
+var require_from = __commonJS({
+ "../../node_modules/.pnpm/rxjs@7.8.2/node_modules/rxjs/dist/cjs/internal/observable/from.js"(exports) {
+ "use strict";
+ Object.defineProperty(exports, "__esModule", { value: true });
+ exports.from = void 0;
+ var scheduled_1 = require_scheduled();
+ var innerFrom_1 = require_innerFrom();
+ function from(input, scheduler) {
+ return scheduler ? scheduled_1.scheduled(input, scheduler) : innerFrom_1.innerFrom(input);
+ }
+ __name(from, "from");
+ exports.from = from;
+ }
+});
+
+// ../../node_modules/.pnpm/rxjs@7.8.2/node_modules/rxjs/dist/cjs/internal/operators/map.js
+var require_map2 = __commonJS({
+ "../../node_modules/.pnpm/rxjs@7.8.2/node_modules/rxjs/dist/cjs/internal/operators/map.js"(exports) {
+ "use strict";
+ Object.defineProperty(exports, "__esModule", { value: true });
+ exports.map = void 0;
+ var lift_1 = require_lift();
+ var OperatorSubscriber_1 = require_OperatorSubscriber();
+ function map2(project, thisArg) {
+ return lift_1.operate(function(source, subscriber) {
+ var index = 0;
+ source.subscribe(OperatorSubscriber_1.createOperatorSubscriber(subscriber, function(value) {
+ subscriber.next(project.call(thisArg, value, index++));
+ }));
+ });
+ }
+ __name(map2, "map");
+ exports.map = map2;
+ }
+});
+
+// ../../node_modules/.pnpm/rxjs@7.8.2/node_modules/rxjs/dist/cjs/internal/util/mapOneOrManyArgs.js
+var require_mapOneOrManyArgs = __commonJS({
+ "../../node_modules/.pnpm/rxjs@7.8.2/node_modules/rxjs/dist/cjs/internal/util/mapOneOrManyArgs.js"(exports) {
+ "use strict";
+ var __read = exports && exports.__read || function(o, n) {
+ var m = typeof Symbol === "function" && o[Symbol.iterator];
+ if (!m) return o;
+ var i = m.call(o), r, ar = [], e;
+ try {
+ while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);
+ } catch (error) {
+ e = { error };
+ } finally {
+ try {
+ if (r && !r.done && (m = i["return"])) m.call(i);
+ } finally {
+ if (e) throw e.error;
+ }
+ }
+ return ar;
+ };
+ var __spreadArray = exports && exports.__spreadArray || function(to, from) {
+ for (var i = 0, il = from.length, j = to.length; i < il; i++, j++)
+ to[j] = from[i];
+ return to;
+ };
+ Object.defineProperty(exports, "__esModule", { value: true });
+ exports.mapOneOrManyArgs = void 0;
+ var map_1 = require_map2();
+ var isArray = Array.isArray;
+ function callOrApply(fn, args) {
+ return isArray(args) ? fn.apply(void 0, __spreadArray([], __read(args))) : fn(args);
+ }
+ __name(callOrApply, "callOrApply");
+ function mapOneOrManyArgs(fn) {
+ return map_1.map(function(args) {
+ return callOrApply(fn, args);
+ });
+ }
+ __name(mapOneOrManyArgs, "mapOneOrManyArgs");
+ exports.mapOneOrManyArgs = mapOneOrManyArgs;
+ }
+});
+
+// ../../node_modules/.pnpm/rxjs@7.8.2/node_modules/rxjs/dist/cjs/internal/util/createObject.js
+var require_createObject = __commonJS({
+ "../../node_modules/.pnpm/rxjs@7.8.2/node_modules/rxjs/dist/cjs/internal/util/createObject.js"(exports) {
+ "use strict";
+ Object.defineProperty(exports, "__esModule", { value: true });
+ exports.createObject = void 0;
+ function createObject(keys, values) {
+ return keys.reduce(function(result, key, i) {
+ return result[key] = values[i], result;
+ }, {});
+ }
+ __name(createObject, "createObject");
+ exports.createObject = createObject;
+ }
+});
+
+// ../../node_modules/.pnpm/rxjs@7.8.2/node_modules/rxjs/dist/cjs/internal/observable/combineLatest.js
+var require_combineLatest = __commonJS({
+ "../../node_modules/.pnpm/rxjs@7.8.2/node_modules/rxjs/dist/cjs/internal/observable/combineLatest.js"(exports) {
+ "use strict";
+ Object.defineProperty(exports, "__esModule", { value: true });
+ exports.combineLatestInit = exports.combineLatest = void 0;
+ var Observable_1 = require_Observable();
+ var argsArgArrayOrObject_1 = require_argsArgArrayOrObject();
+ var from_1 = require_from();
+ var identity_1 = require_identity();
+ var mapOneOrManyArgs_1 = require_mapOneOrManyArgs();
+ var args_1 = require_args();
+ var createObject_1 = require_createObject();
+ var OperatorSubscriber_1 = require_OperatorSubscriber();
+ var executeSchedule_1 = require_executeSchedule();
+ function combineLatest() {
+ var args = [];
+ for (var _i = 0; _i < arguments.length; _i++) {
+ args[_i] = arguments[_i];
+ }
+ var scheduler = args_1.popScheduler(args);
+ var resultSelector = args_1.popResultSelector(args);
+ var _a = argsArgArrayOrObject_1.argsArgArrayOrObject(args), observables = _a.args, keys = _a.keys;
+ if (observables.length === 0) {
+ return from_1.from([], scheduler);
+ }
+ var result = new Observable_1.Observable(combineLatestInit(observables, scheduler, keys ? function(values) {
+ return createObject_1.createObject(keys, values);
+ } : identity_1.identity));
+ return resultSelector ? result.pipe(mapOneOrManyArgs_1.mapOneOrManyArgs(resultSelector)) : result;
+ }
+ __name(combineLatest, "combineLatest");
+ exports.combineLatest = combineLatest;
+ function combineLatestInit(observables, scheduler, valueTransform) {
+ if (valueTransform === void 0) {
+ valueTransform = identity_1.identity;
+ }
+ return function(subscriber) {
+ maybeSchedule(scheduler, function() {
+ var length = observables.length;
+ var values = new Array(length);
+ var active = length;
+ var remainingFirstValues = length;
+ var _loop_1 = /* @__PURE__ */ __name(function(i2) {
+ maybeSchedule(scheduler, function() {
+ var source = from_1.from(observables[i2], scheduler);
+ var hasFirstValue = false;
+ source.subscribe(OperatorSubscriber_1.createOperatorSubscriber(subscriber, function(value) {
+ values[i2] = value;
+ if (!hasFirstValue) {
+ hasFirstValue = true;
+ remainingFirstValues--;
+ }
+ if (!remainingFirstValues) {
+ subscriber.next(valueTransform(values.slice()));
+ }
+ }, function() {
+ if (!--active) {
+ subscriber.complete();
+ }
+ }));
+ }, subscriber);
+ }, "_loop_1");
+ for (var i = 0; i < length; i++) {
+ _loop_1(i);
+ }
+ }, subscriber);
+ };
+ }
+ __name(combineLatestInit, "combineLatestInit");
+ exports.combineLatestInit = combineLatestInit;
+ function maybeSchedule(scheduler, execute, subscription) {
+ if (scheduler) {
+ executeSchedule_1.executeSchedule(subscription, scheduler, execute);
+ } else {
+ execute();
+ }
+ }
+ __name(maybeSchedule, "maybeSchedule");
+ }
+});
+
+// ../../node_modules/.pnpm/rxjs@7.8.2/node_modules/rxjs/dist/cjs/internal/operators/mergeInternals.js
+var require_mergeInternals = __commonJS({
+ "../../node_modules/.pnpm/rxjs@7.8.2/node_modules/rxjs/dist/cjs/internal/operators/mergeInternals.js"(exports) {
+ "use strict";
+ Object.defineProperty(exports, "__esModule", { value: true });
+ exports.mergeInternals = void 0;
+ var innerFrom_1 = require_innerFrom();
+ var executeSchedule_1 = require_executeSchedule();
+ var OperatorSubscriber_1 = require_OperatorSubscriber();
+ function mergeInternals(source, subscriber, project, concurrent, onBeforeNext, expand, innerSubScheduler, additionalFinalizer) {
+ var buffer = [];
+ var active = 0;
+ var index = 0;
+ var isComplete = false;
+ var checkComplete = /* @__PURE__ */ __name(function() {
+ if (isComplete && !buffer.length && !active) {
+ subscriber.complete();
+ }
+ }, "checkComplete");
+ var outerNext = /* @__PURE__ */ __name(function(value) {
+ return active < concurrent ? doInnerSub(value) : buffer.push(value);
+ }, "outerNext");
+ var doInnerSub = /* @__PURE__ */ __name(function(value) {
+ expand && subscriber.next(value);
+ active++;
+ var innerComplete = false;
+ innerFrom_1.innerFrom(project(value, index++)).subscribe(OperatorSubscriber_1.createOperatorSubscriber(subscriber, function(innerValue) {
+ onBeforeNext === null || onBeforeNext === void 0 ? void 0 : onBeforeNext(innerValue);
+ if (expand) {
+ outerNext(innerValue);
+ } else {
+ subscriber.next(innerValue);
+ }
+ }, function() {
+ innerComplete = true;
+ }, void 0, function() {
+ if (innerComplete) {
+ try {
+ active--;
+ var _loop_1 = /* @__PURE__ */ __name(function() {
+ var bufferedValue = buffer.shift();
+ if (innerSubScheduler) {
+ executeSchedule_1.executeSchedule(subscriber, innerSubScheduler, function() {
+ return doInnerSub(bufferedValue);
+ });
+ } else {
+ doInnerSub(bufferedValue);
+ }
+ }, "_loop_1");
+ while (buffer.length && active < concurrent) {
+ _loop_1();
+ }
+ checkComplete();
+ } catch (err) {
+ subscriber.error(err);
+ }
+ }
+ }));
+ }, "doInnerSub");
+ source.subscribe(OperatorSubscriber_1.createOperatorSubscriber(subscriber, outerNext, function() {
+ isComplete = true;
+ checkComplete();
+ }));
+ return function() {
+ additionalFinalizer === null || additionalFinalizer === void 0 ? void 0 : additionalFinalizer();
+ };
+ }
+ __name(mergeInternals, "mergeInternals");
+ exports.mergeInternals = mergeInternals;
+ }
+});
+
+// ../../node_modules/.pnpm/rxjs@7.8.2/node_modules/rxjs/dist/cjs/internal/operators/mergeMap.js
+var require_mergeMap = __commonJS({
+ "../../node_modules/.pnpm/rxjs@7.8.2/node_modules/rxjs/dist/cjs/internal/operators/mergeMap.js"(exports) {
+ "use strict";
+ Object.defineProperty(exports, "__esModule", { value: true });
+ exports.mergeMap = void 0;
+ var map_1 = require_map2();
+ var innerFrom_1 = require_innerFrom();
+ var lift_1 = require_lift();
+ var mergeInternals_1 = require_mergeInternals();
+ var isFunction_1 = require_isFunction();
+ function mergeMap(project, resultSelector, concurrent) {
+ if (concurrent === void 0) {
+ concurrent = Infinity;
+ }
+ if (isFunction_1.isFunction(resultSelector)) {
+ return mergeMap(function(a, i) {
+ return map_1.map(function(b, ii) {
+ return resultSelector(a, b, i, ii);
+ })(innerFrom_1.innerFrom(project(a, i)));
+ }, concurrent);
+ } else if (typeof resultSelector === "number") {
+ concurrent = resultSelector;
+ }
+ return lift_1.operate(function(source, subscriber) {
+ return mergeInternals_1.mergeInternals(source, subscriber, project, concurrent);
+ });
+ }
+ __name(mergeMap, "mergeMap");
+ exports.mergeMap = mergeMap;
+ }
+});
+
+// ../../node_modules/.pnpm/rxjs@7.8.2/node_modules/rxjs/dist/cjs/internal/operators/scanInternals.js
+var require_scanInternals = __commonJS({
+ "../../node_modules/.pnpm/rxjs@7.8.2/node_modules/rxjs/dist/cjs/internal/operators/scanInternals.js"(exports) {
+ "use strict";
+ Object.defineProperty(exports, "__esModule", { value: true });
+ exports.scanInternals = void 0;
+ var OperatorSubscriber_1 = require_OperatorSubscriber();
+ function scanInternals(accumulator, seed, hasSeed, emitOnNext, emitBeforeComplete) {
+ return function(source, subscriber) {
+ var hasState = hasSeed;
+ var state = seed;
+ var index = 0;
+ source.subscribe(OperatorSubscriber_1.createOperatorSubscriber(subscriber, function(value) {
+ var i = index++;
+ state = hasState ? accumulator(state, value, i) : (hasState = true, value);
+ emitOnNext && subscriber.next(state);
+ }, emitBeforeComplete && (function() {
+ hasState && subscriber.next(state);
+ subscriber.complete();
+ })));
+ };
+ }
+ __name(scanInternals, "scanInternals");
+ exports.scanInternals = scanInternals;
+ }
+});
+
+// ../../node_modules/.pnpm/rxjs@7.8.2/node_modules/rxjs/dist/cjs/internal/operators/reduce.js
+var require_reduce = __commonJS({
+ "../../node_modules/.pnpm/rxjs@7.8.2/node_modules/rxjs/dist/cjs/internal/operators/reduce.js"(exports) {
+ "use strict";
+ Object.defineProperty(exports, "__esModule", { value: true });
+ exports.reduce = void 0;
+ var scanInternals_1 = require_scanInternals();
+ var lift_1 = require_lift();
+ function reduce(accumulator, seed) {
+ return lift_1.operate(scanInternals_1.scanInternals(accumulator, seed, arguments.length >= 2, false, true));
+ }
+ __name(reduce, "reduce");
+ exports.reduce = reduce;
+ }
+});
+
+// ../../node_modules/.pnpm/rxjs@7.8.2/node_modules/rxjs/dist/cjs/internal/operators/toArray.js
+var require_toArray = __commonJS({
+ "../../node_modules/.pnpm/rxjs@7.8.2/node_modules/rxjs/dist/cjs/internal/operators/toArray.js"(exports) {
+ "use strict";
+ Object.defineProperty(exports, "__esModule", { value: true });
+ exports.toArray = void 0;
+ var reduce_1 = require_reduce();
+ var lift_1 = require_lift();
+ var arrReducer = /* @__PURE__ */ __name(function(arr, value) {
+ return arr.push(value), arr;
+ }, "arrReducer");
+ function toArray() {
+ return lift_1.operate(function(source, subscriber) {
+ reduce_1.reduce(arrReducer, [])(source).subscribe(subscriber);
+ });
+ }
+ __name(toArray, "toArray");
+ exports.toArray = toArray;
+ }
+});
+
+// ../../node_modules/.pnpm/rxjs@7.8.2/node_modules/rxjs/dist/cjs/internal/operators/joinAllInternals.js
+var require_joinAllInternals = __commonJS({
+ "../../node_modules/.pnpm/rxjs@7.8.2/node_modules/rxjs/dist/cjs/internal/operators/joinAllInternals.js"(exports) {
+ "use strict";
+ Object.defineProperty(exports, "__esModule", { value: true });
+ exports.joinAllInternals = void 0;
+ var identity_1 = require_identity();
+ var mapOneOrManyArgs_1 = require_mapOneOrManyArgs();
+ var pipe_1 = require_pipe();
+ var mergeMap_1 = require_mergeMap();
+ var toArray_1 = require_toArray();
+ function joinAllInternals(joinFn, project) {
+ return pipe_1.pipe(toArray_1.toArray(), mergeMap_1.mergeMap(function(sources) {
+ return joinFn(sources);
+ }), project ? mapOneOrManyArgs_1.mapOneOrManyArgs(project) : identity_1.identity);
+ }
+ __name(joinAllInternals, "joinAllInternals");
+ exports.joinAllInternals = joinAllInternals;
+ }
+});
+
+// ../../node_modules/.pnpm/rxjs@7.8.2/node_modules/rxjs/dist/cjs/internal/operators/combineLatestAll.js
+var require_combineLatestAll = __commonJS({
+ "../../node_modules/.pnpm/rxjs@7.8.2/node_modules/rxjs/dist/cjs/internal/operators/combineLatestAll.js"(exports) {
+ "use strict";
+ Object.defineProperty(exports, "__esModule", { value: true });
+ exports.combineLatestAll = void 0;
+ var combineLatest_1 = require_combineLatest();
+ var joinAllInternals_1 = require_joinAllInternals();
+ function combineLatestAll(project) {
+ return joinAllInternals_1.joinAllInternals(combineLatest_1.combineLatest, project);
+ }
+ __name(combineLatestAll, "combineLatestAll");
+ exports.combineLatestAll = combineLatestAll;
+ }
+});
+
+// ../../node_modules/.pnpm/rxjs@7.8.2/node_modules/rxjs/dist/cjs/internal/operators/combineAll.js
+var require_combineAll = __commonJS({
+ "../../node_modules/.pnpm/rxjs@7.8.2/node_modules/rxjs/dist/cjs/internal/operators/combineAll.js"(exports) {
+ "use strict";
+ Object.defineProperty(exports, "__esModule", { value: true });
+ exports.combineAll = void 0;
+ var combineLatestAll_1 = require_combineLatestAll();
+ exports.combineAll = combineLatestAll_1.combineLatestAll;
+ }
+});
+
+// ../../node_modules/.pnpm/rxjs@7.8.2/node_modules/rxjs/dist/cjs/internal/util/argsOrArgArray.js
+var require_argsOrArgArray = __commonJS({
+ "../../node_modules/.pnpm/rxjs@7.8.2/node_modules/rxjs/dist/cjs/internal/util/argsOrArgArray.js"(exports) {
+ "use strict";
+ Object.defineProperty(exports, "__esModule", { value: true });
+ exports.argsOrArgArray = void 0;
+ var isArray = Array.isArray;
+ function argsOrArgArray(args) {
+ return args.length === 1 && isArray(args[0]) ? args[0] : args;
+ }
+ __name(argsOrArgArray, "argsOrArgArray");
+ exports.argsOrArgArray = argsOrArgArray;
+ }
+});
+
+// ../../node_modules/.pnpm/rxjs@7.8.2/node_modules/rxjs/dist/cjs/internal/operators/combineLatest.js
+var require_combineLatest2 = __commonJS({
+ "../../node_modules/.pnpm/rxjs@7.8.2/node_modules/rxjs/dist/cjs/internal/operators/combineLatest.js"(exports) {
+ "use strict";
+ var __read = exports && exports.__read || function(o, n) {
+ var m = typeof Symbol === "function" && o[Symbol.iterator];
+ if (!m) return o;
+ var i = m.call(o), r, ar = [], e;
+ try {
+ while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);
+ } catch (error) {
+ e = { error };
+ } finally {
+ try {
+ if (r && !r.done && (m = i["return"])) m.call(i);
+ } finally {
+ if (e) throw e.error;
+ }
+ }
+ return ar;
+ };
+ var __spreadArray = exports && exports.__spreadArray || function(to, from) {
+ for (var i = 0, il = from.length, j = to.length; i < il; i++, j++)
+ to[j] = from[i];
+ return to;
+ };
+ Object.defineProperty(exports, "__esModule", { value: true });
+ exports.combineLatest = void 0;
+ var combineLatest_1 = require_combineLatest();
+ var lift_1 = require_lift();
+ var argsOrArgArray_1 = require_argsOrArgArray();
+ var mapOneOrManyArgs_1 = require_mapOneOrManyArgs();
+ var pipe_1 = require_pipe();
+ var args_1 = require_args();
+ function combineLatest() {
+ var args = [];
+ for (var _i = 0; _i < arguments.length; _i++) {
+ args[_i] = arguments[_i];
+ }
+ var resultSelector = args_1.popResultSelector(args);
+ return resultSelector ? pipe_1.pipe(combineLatest.apply(void 0, __spreadArray([], __read(args))), mapOneOrManyArgs_1.mapOneOrManyArgs(resultSelector)) : lift_1.operate(function(source, subscriber) {
+ combineLatest_1.combineLatestInit(__spreadArray([source], __read(argsOrArgArray_1.argsOrArgArray(args))))(subscriber);
+ });
+ }
+ __name(combineLatest, "combineLatest");
+ exports.combineLatest = combineLatest;
+ }
+});
+
+// ../../node_modules/.pnpm/rxjs@7.8.2/node_modules/rxjs/dist/cjs/internal/operators/combineLatestWith.js
+var require_combineLatestWith = __commonJS({
+ "../../node_modules/.pnpm/rxjs@7.8.2/node_modules/rxjs/dist/cjs/internal/operators/combineLatestWith.js"(exports) {
+ "use strict";
+ var __read = exports && exports.__read || function(o, n) {
+ var m = typeof Symbol === "function" && o[Symbol.iterator];
+ if (!m) return o;
+ var i = m.call(o), r, ar = [], e;
+ try {
+ while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);
+ } catch (error) {
+ e = { error };
+ } finally {
+ try {
+ if (r && !r.done && (m = i["return"])) m.call(i);
+ } finally {
+ if (e) throw e.error;
+ }
+ }
+ return ar;
+ };
+ var __spreadArray = exports && exports.__spreadArray || function(to, from) {
+ for (var i = 0, il = from.length, j = to.length; i < il; i++, j++)
+ to[j] = from[i];
+ return to;
+ };
+ Object.defineProperty(exports, "__esModule", { value: true });
+ exports.combineLatestWith = void 0;
+ var combineLatest_1 = require_combineLatest2();
+ function combineLatestWith() {
+ var otherSources = [];
+ for (var _i = 0; _i < arguments.length; _i++) {
+ otherSources[_i] = arguments[_i];
+ }
+ return combineLatest_1.combineLatest.apply(void 0, __spreadArray([], __read(otherSources)));
+ }
+ __name(combineLatestWith, "combineLatestWith");
+ exports.combineLatestWith = combineLatestWith;
+ }
+});
+
+// ../../node_modules/.pnpm/rxjs@7.8.2/node_modules/rxjs/dist/cjs/internal/operators/mergeAll.js
+var require_mergeAll = __commonJS({
+ "../../node_modules/.pnpm/rxjs@7.8.2/node_modules/rxjs/dist/cjs/internal/operators/mergeAll.js"(exports) {
+ "use strict";
+ Object.defineProperty(exports, "__esModule", { value: true });
+ exports.mergeAll = void 0;
+ var mergeMap_1 = require_mergeMap();
+ var identity_1 = require_identity();
+ function mergeAll(concurrent) {
+ if (concurrent === void 0) {
+ concurrent = Infinity;
+ }
+ return mergeMap_1.mergeMap(identity_1.identity, concurrent);
+ }
+ __name(mergeAll, "mergeAll");
+ exports.mergeAll = mergeAll;
+ }
+});
+
+// ../../node_modules/.pnpm/rxjs@7.8.2/node_modules/rxjs/dist/cjs/internal/operators/concatAll.js
+var require_concatAll = __commonJS({
+ "../../node_modules/.pnpm/rxjs@7.8.2/node_modules/rxjs/dist/cjs/internal/operators/concatAll.js"(exports) {
+ "use strict";
+ Object.defineProperty(exports, "__esModule", { value: true });
+ exports.concatAll = void 0;
+ var mergeAll_1 = require_mergeAll();
+ function concatAll() {
+ return mergeAll_1.mergeAll(1);
+ }
+ __name(concatAll, "concatAll");
+ exports.concatAll = concatAll;
+ }
+});
+
+// ../../node_modules/.pnpm/rxjs@7.8.2/node_modules/rxjs/dist/cjs/internal/operators/concat.js
+var require_concat2 = __commonJS({
+ "../../node_modules/.pnpm/rxjs@7.8.2/node_modules/rxjs/dist/cjs/internal/operators/concat.js"(exports) {
+ "use strict";
+ var __read = exports && exports.__read || function(o, n) {
+ var m = typeof Symbol === "function" && o[Symbol.iterator];
+ if (!m) return o;
+ var i = m.call(o), r, ar = [], e;
+ try {
+ while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);
+ } catch (error) {
+ e = { error };
+ } finally {
+ try {
+ if (r && !r.done && (m = i["return"])) m.call(i);
+ } finally {
+ if (e) throw e.error;
+ }
+ }
+ return ar;
+ };
+ var __spreadArray = exports && exports.__spreadArray || function(to, from) {
+ for (var i = 0, il = from.length, j = to.length; i < il; i++, j++)
+ to[j] = from[i];
+ return to;
+ };
+ Object.defineProperty(exports, "__esModule", { value: true });
+ exports.concat = void 0;
+ var lift_1 = require_lift();
+ var concatAll_1 = require_concatAll();
+ var args_1 = require_args();
+ var from_1 = require_from();
+ function concat() {
+ var args = [];
+ for (var _i = 0; _i < arguments.length; _i++) {
+ args[_i] = arguments[_i];
+ }
+ var scheduler = args_1.popScheduler(args);
+ return lift_1.operate(function(source, subscriber) {
+ concatAll_1.concatAll()(from_1.from(__spreadArray([source], __read(args)), scheduler)).subscribe(subscriber);
+ });
+ }
+ __name(concat, "concat");
+ exports.concat = concat;
+ }
+});
+
+// ../../node_modules/.pnpm/rxjs@7.8.2/node_modules/rxjs/dist/cjs/internal/operators/concatMap.js
+var require_concatMap = __commonJS({
+ "../../node_modules/.pnpm/rxjs@7.8.2/node_modules/rxjs/dist/cjs/internal/operators/concatMap.js"(exports) {
+ "use strict";
+ Object.defineProperty(exports, "__esModule", { value: true });
+ exports.concatMap = void 0;
+ var mergeMap_1 = require_mergeMap();
+ var isFunction_1 = require_isFunction();
+ function concatMap2(project, resultSelector) {
+ return isFunction_1.isFunction(resultSelector) ? mergeMap_1.mergeMap(project, resultSelector, 1) : mergeMap_1.mergeMap(project, 1);
+ }
+ __name(concatMap2, "concatMap");
+ exports.concatMap = concatMap2;
+ }
+});
+
+// ../../node_modules/.pnpm/rxjs@7.8.2/node_modules/rxjs/dist/cjs/internal/operators/concatMapTo.js
+var require_concatMapTo = __commonJS({
+ "../../node_modules/.pnpm/rxjs@7.8.2/node_modules/rxjs/dist/cjs/internal/operators/concatMapTo.js"(exports) {
+ "use strict";
+ Object.defineProperty(exports, "__esModule", { value: true });
+ exports.concatMapTo = void 0;
+ var concatMap_1 = require_concatMap();
+ var isFunction_1 = require_isFunction();
+ function concatMapTo(innerObservable, resultSelector) {
+ return isFunction_1.isFunction(resultSelector) ? concatMap_1.concatMap(function() {
+ return innerObservable;
+ }, resultSelector) : concatMap_1.concatMap(function() {
+ return innerObservable;
+ });
+ }
+ __name(concatMapTo, "concatMapTo");
+ exports.concatMapTo = concatMapTo;
+ }
+});
+
+// ../../node_modules/.pnpm/rxjs@7.8.2/node_modules/rxjs/dist/cjs/internal/operators/concatWith.js
+var require_concatWith = __commonJS({
+ "../../node_modules/.pnpm/rxjs@7.8.2/node_modules/rxjs/dist/cjs/internal/operators/concatWith.js"(exports) {
+ "use strict";
+ var __read = exports && exports.__read || function(o, n) {
+ var m = typeof Symbol === "function" && o[Symbol.iterator];
+ if (!m) return o;
+ var i = m.call(o), r, ar = [], e;
+ try {
+ while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);
+ } catch (error) {
+ e = { error };
+ } finally {
+ try {
+ if (r && !r.done && (m = i["return"])) m.call(i);
+ } finally {
+ if (e) throw e.error;
+ }
+ }
+ return ar;
+ };
+ var __spreadArray = exports && exports.__spreadArray || function(to, from) {
+ for (var i = 0, il = from.length, j = to.length; i < il; i++, j++)
+ to[j] = from[i];
+ return to;
+ };
+ Object.defineProperty(exports, "__esModule", { value: true });
+ exports.concatWith = void 0;
+ var concat_1 = require_concat2();
+ function concatWith() {
+ var otherSources = [];
+ for (var _i = 0; _i < arguments.length; _i++) {
+ otherSources[_i] = arguments[_i];
+ }
+ return concat_1.concat.apply(void 0, __spreadArray([], __read(otherSources)));
+ }
+ __name(concatWith, "concatWith");
+ exports.concatWith = concatWith;
+ }
+});
+
+// ../../node_modules/.pnpm/rxjs@7.8.2/node_modules/rxjs/dist/cjs/internal/util/ObjectUnsubscribedError.js
+var require_ObjectUnsubscribedError = __commonJS({
+ "../../node_modules/.pnpm/rxjs@7.8.2/node_modules/rxjs/dist/cjs/internal/util/ObjectUnsubscribedError.js"(exports) {
+ "use strict";
+ Object.defineProperty(exports, "__esModule", { value: true });
+ exports.ObjectUnsubscribedError = void 0;
+ var createErrorClass_1 = require_createErrorClass();
+ exports.ObjectUnsubscribedError = createErrorClass_1.createErrorClass(function(_super) {
+ return /* @__PURE__ */ __name(function ObjectUnsubscribedErrorImpl() {
+ _super(this);
+ this.name = "ObjectUnsubscribedError";
+ this.message = "object unsubscribed";
+ }, "ObjectUnsubscribedErrorImpl");
+ });
+ }
+});
+
+// ../../node_modules/.pnpm/rxjs@7.8.2/node_modules/rxjs/dist/cjs/internal/Subject.js
+var require_Subject = __commonJS({
+ "../../node_modules/.pnpm/rxjs@7.8.2/node_modules/rxjs/dist/cjs/internal/Subject.js"(exports) {
+ "use strict";
+ var __extends = exports && exports.__extends || /* @__PURE__ */ (function() {
+ var extendStatics = /* @__PURE__ */ __name(function(d, b) {
+ extendStatics = Object.setPrototypeOf || { __proto__: [] } instanceof Array && function(d2, b2) {
+ d2.__proto__ = b2;
+ } || function(d2, b2) {
+ for (var p in b2) if (Object.prototype.hasOwnProperty.call(b2, p)) d2[p] = b2[p];
+ };
+ return extendStatics(d, b);
+ }, "extendStatics");
+ return function(d, b) {
+ if (typeof b !== "function" && b !== null)
+ throw new TypeError("Class extends value " + String(b) + " is not a constructor or null");
+ extendStatics(d, b);
+ function __() {
+ this.constructor = d;
+ }
+ __name(__, "__");
+ d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());
+ };
+ })();
+ var __values = exports && exports.__values || function(o) {
+ var s = typeof Symbol === "function" && Symbol.iterator, m = s && o[s], i = 0;
+ if (m) return m.call(o);
+ if (o && typeof o.length === "number") return {
+ next: /* @__PURE__ */ __name(function() {
+ if (o && i >= o.length) o = void 0;
+ return { value: o && o[i++], done: !o };
+ }, "next")
+ };
+ throw new TypeError(s ? "Object is not iterable." : "Symbol.iterator is not defined.");
+ };
+ Object.defineProperty(exports, "__esModule", { value: true });
+ exports.AnonymousSubject = exports.Subject = void 0;
+ var Observable_1 = require_Observable();
+ var Subscription_1 = require_Subscription();
+ var ObjectUnsubscribedError_1 = require_ObjectUnsubscribedError();
+ var arrRemove_1 = require_arrRemove();
+ var errorContext_1 = require_errorContext();
+ var Subject = (function(_super) {
+ __extends(Subject2, _super);
+ function Subject2() {
+ var _this = _super.call(this) || this;
+ _this.closed = false;
+ _this.currentObservers = null;
+ _this.observers = [];
+ _this.isStopped = false;
+ _this.hasError = false;
+ _this.thrownError = null;
+ return _this;
+ }
+ __name(Subject2, "Subject");
+ Subject2.prototype.lift = function(operator) {
+ var subject = new AnonymousSubject(this, this);
+ subject.operator = operator;
+ return subject;
+ };
+ Subject2.prototype._throwIfClosed = function() {
+ if (this.closed) {
+ throw new ObjectUnsubscribedError_1.ObjectUnsubscribedError();
+ }
+ };
+ Subject2.prototype.next = function(value) {
+ var _this = this;
+ errorContext_1.errorContext(function() {
+ var e_1, _a;
+ _this._throwIfClosed();
+ if (!_this.isStopped) {
+ if (!_this.currentObservers) {
+ _this.currentObservers = Array.from(_this.observers);
+ }
+ try {
+ for (var _b = __values(_this.currentObservers), _c = _b.next(); !_c.done; _c = _b.next()) {
+ var observer = _c.value;
+ observer.next(value);
+ }
+ } catch (e_1_1) {
+ e_1 = { error: e_1_1 };
+ } finally {
+ try {
+ if (_c && !_c.done && (_a = _b.return)) _a.call(_b);
+ } finally {
+ if (e_1) throw e_1.error;
+ }
+ }
+ }
+ });
+ };
+ Subject2.prototype.error = function(err) {
+ var _this = this;
+ errorContext_1.errorContext(function() {
+ _this._throwIfClosed();
+ if (!_this.isStopped) {
+ _this.hasError = _this.isStopped = true;
+ _this.thrownError = err;
+ var observers = _this.observers;
+ while (observers.length) {
+ observers.shift().error(err);
+ }
+ }
+ });
+ };
+ Subject2.prototype.complete = function() {
+ var _this = this;
+ errorContext_1.errorContext(function() {
+ _this._throwIfClosed();
+ if (!_this.isStopped) {
+ _this.isStopped = true;
+ var observers = _this.observers;
+ while (observers.length) {
+ observers.shift().complete();
+ }
+ }
+ });
+ };
+ Subject2.prototype.unsubscribe = function() {
+ this.isStopped = this.closed = true;
+ this.observers = this.currentObservers = null;
+ };
+ Object.defineProperty(Subject2.prototype, "observed", {
+ get: /* @__PURE__ */ __name(function() {
+ var _a;
+ return ((_a = this.observers) === null || _a === void 0 ? void 0 : _a.length) > 0;
+ }, "get"),
+ enumerable: false,
+ configurable: true
+ });
+ Subject2.prototype._trySubscribe = function(subscriber) {
+ this._throwIfClosed();
+ return _super.prototype._trySubscribe.call(this, subscriber);
+ };
+ Subject2.prototype._subscribe = function(subscriber) {
+ this._throwIfClosed();
+ this._checkFinalizedStatuses(subscriber);
+ return this._innerSubscribe(subscriber);
+ };
+ Subject2.prototype._innerSubscribe = function(subscriber) {
+ var _this = this;
+ var _a = this, hasError = _a.hasError, isStopped = _a.isStopped, observers = _a.observers;
+ if (hasError || isStopped) {
+ return Subscription_1.EMPTY_SUBSCRIPTION;
+ }
+ this.currentObservers = null;
+ observers.push(subscriber);
+ return new Subscription_1.Subscription(function() {
+ _this.currentObservers = null;
+ arrRemove_1.arrRemove(observers, subscriber);
+ });
+ };
+ Subject2.prototype._checkFinalizedStatuses = function(subscriber) {
+ var _a = this, hasError = _a.hasError, thrownError = _a.thrownError, isStopped = _a.isStopped;
+ if (hasError) {
+ subscriber.error(thrownError);
+ } else if (isStopped) {
+ subscriber.complete();
+ }
+ };
+ Subject2.prototype.asObservable = function() {
+ var observable = new Observable_1.Observable();
+ observable.source = this;
+ return observable;
+ };
+ Subject2.create = function(destination, source) {
+ return new AnonymousSubject(destination, source);
+ };
+ return Subject2;
+ })(Observable_1.Observable);
+ exports.Subject = Subject;
+ var AnonymousSubject = (function(_super) {
+ __extends(AnonymousSubject2, _super);
+ function AnonymousSubject2(destination, source) {
+ var _this = _super.call(this) || this;
+ _this.destination = destination;
+ _this.source = source;
+ return _this;
+ }
+ __name(AnonymousSubject2, "AnonymousSubject");
+ AnonymousSubject2.prototype.next = function(value) {
+ var _a, _b;
+ (_b = (_a = this.destination) === null || _a === void 0 ? void 0 : _a.next) === null || _b === void 0 ? void 0 : _b.call(_a, value);
+ };
+ AnonymousSubject2.prototype.error = function(err) {
+ var _a, _b;
+ (_b = (_a = this.destination) === null || _a === void 0 ? void 0 : _a.error) === null || _b === void 0 ? void 0 : _b.call(_a, err);
+ };
+ AnonymousSubject2.prototype.complete = function() {
+ var _a, _b;
+ (_b = (_a = this.destination) === null || _a === void 0 ? void 0 : _a.complete) === null || _b === void 0 ? void 0 : _b.call(_a);
+ };
+ AnonymousSubject2.prototype._subscribe = function(subscriber) {
+ var _a, _b;
+ return (_b = (_a = this.source) === null || _a === void 0 ? void 0 : _a.subscribe(subscriber)) !== null && _b !== void 0 ? _b : Subscription_1.EMPTY_SUBSCRIPTION;
+ };
+ return AnonymousSubject2;
+ })(Subject);
+ exports.AnonymousSubject = AnonymousSubject;
+ }
+});
+
+// ../../node_modules/.pnpm/rxjs@7.8.2/node_modules/rxjs/dist/cjs/internal/observable/fromSubscribable.js
+var require_fromSubscribable = __commonJS({
+ "../../node_modules/.pnpm/rxjs@7.8.2/node_modules/rxjs/dist/cjs/internal/observable/fromSubscribable.js"(exports) {
+ "use strict";
+ Object.defineProperty(exports, "__esModule", { value: true });
+ exports.fromSubscribable = void 0;
+ var Observable_1 = require_Observable();
+ function fromSubscribable(subscribable) {
+ return new Observable_1.Observable(function(subscriber) {
+ return subscribable.subscribe(subscriber);
+ });
+ }
+ __name(fromSubscribable, "fromSubscribable");
+ exports.fromSubscribable = fromSubscribable;
+ }
+});
+
+// ../../node_modules/.pnpm/rxjs@7.8.2/node_modules/rxjs/dist/cjs/internal/operators/connect.js
+var require_connect = __commonJS({
+ "../../node_modules/.pnpm/rxjs@7.8.2/node_modules/rxjs/dist/cjs/internal/operators/connect.js"(exports) {
+ "use strict";
+ Object.defineProperty(exports, "__esModule", { value: true });
+ exports.connect = void 0;
+ var Subject_1 = require_Subject();
+ var innerFrom_1 = require_innerFrom();
+ var lift_1 = require_lift();
+ var fromSubscribable_1 = require_fromSubscribable();
+ var DEFAULT_CONFIG = {
+ connector: /* @__PURE__ */ __name(function() {
+ return new Subject_1.Subject();
+ }, "connector")
+ };
+ function connect(selector, config) {
+ if (config === void 0) {
+ config = DEFAULT_CONFIG;
+ }
+ var connector = config.connector;
+ return lift_1.operate(function(source, subscriber) {
+ var subject = connector();
+ innerFrom_1.innerFrom(selector(fromSubscribable_1.fromSubscribable(subject))).subscribe(subscriber);
+ subscriber.add(source.subscribe(subject));
+ });
+ }
+ __name(connect, "connect");
+ exports.connect = connect;
+ }
+});
+
+// ../../node_modules/.pnpm/rxjs@7.8.2/node_modules/rxjs/dist/cjs/internal/operators/count.js
+var require_count = __commonJS({
+ "../../node_modules/.pnpm/rxjs@7.8.2/node_modules/rxjs/dist/cjs/internal/operators/count.js"(exports) {
+ "use strict";
+ Object.defineProperty(exports, "__esModule", { value: true });
+ exports.count = void 0;
+ var reduce_1 = require_reduce();
+ function count(predicate) {
+ return reduce_1.reduce(function(total, value, i) {
+ return !predicate || predicate(value, i) ? total + 1 : total;
+ }, 0);
+ }
+ __name(count, "count");
+ exports.count = count;
+ }
+});
+
+// ../../node_modules/.pnpm/rxjs@7.8.2/node_modules/rxjs/dist/cjs/internal/operators/debounce.js
+var require_debounce = __commonJS({
+ "../../node_modules/.pnpm/rxjs@7.8.2/node_modules/rxjs/dist/cjs/internal/operators/debounce.js"(exports) {
+ "use strict";
+ Object.defineProperty(exports, "__esModule", { value: true });
+ exports.debounce = void 0;
+ var lift_1 = require_lift();
+ var noop_1 = require_noop();
+ var OperatorSubscriber_1 = require_OperatorSubscriber();
+ var innerFrom_1 = require_innerFrom();
+ function debounce(durationSelector) {
+ return lift_1.operate(function(source, subscriber) {
+ var hasValue = false;
+ var lastValue = null;
+ var durationSubscriber = null;
+ var emit = /* @__PURE__ */ __name(function() {
+ durationSubscriber === null || durationSubscriber === void 0 ? void 0 : durationSubscriber.unsubscribe();
+ durationSubscriber = null;
+ if (hasValue) {
+ hasValue = false;
+ var value = lastValue;
+ lastValue = null;
+ subscriber.next(value);
+ }
+ }, "emit");
+ source.subscribe(OperatorSubscriber_1.createOperatorSubscriber(subscriber, function(value) {
+ durationSubscriber === null || durationSubscriber === void 0 ? void 0 : durationSubscriber.unsubscribe();
+ hasValue = true;
+ lastValue = value;
+ durationSubscriber = OperatorSubscriber_1.createOperatorSubscriber(subscriber, emit, noop_1.noop);
+ innerFrom_1.innerFrom(durationSelector(value)).subscribe(durationSubscriber);
+ }, function() {
+ emit();
+ subscriber.complete();
+ }, void 0, function() {
+ lastValue = durationSubscriber = null;
+ }));
+ });
+ }
+ __name(debounce, "debounce");
+ exports.debounce = debounce;
+ }
+});
+
+// ../../node_modules/.pnpm/rxjs@7.8.2/node_modules/rxjs/dist/cjs/internal/operators/debounceTime.js
+var require_debounceTime = __commonJS({
+ "../../node_modules/.pnpm/rxjs@7.8.2/node_modules/rxjs/dist/cjs/internal/operators/debounceTime.js"(exports) {
+ "use strict";
+ Object.defineProperty(exports, "__esModule", { value: true });
+ exports.debounceTime = void 0;
+ var async_1 = require_async();
+ var lift_1 = require_lift();
+ var OperatorSubscriber_1 = require_OperatorSubscriber();
+ function debounceTime(dueTime, scheduler) {
+ if (scheduler === void 0) {
+ scheduler = async_1.asyncScheduler;
+ }
+ return lift_1.operate(function(source, subscriber) {
+ var activeTask = null;
+ var lastValue = null;
+ var lastTime = null;
+ var emit = /* @__PURE__ */ __name(function() {
+ if (activeTask) {
+ activeTask.unsubscribe();
+ activeTask = null;
+ var value = lastValue;
+ lastValue = null;
+ subscriber.next(value);
+ }
+ }, "emit");
+ function emitWhenIdle() {
+ var targetTime = lastTime + dueTime;
+ var now = scheduler.now();
+ if (now < targetTime) {
+ activeTask = this.schedule(void 0, targetTime - now);
+ subscriber.add(activeTask);
+ return;
+ }
+ emit();
+ }
+ __name(emitWhenIdle, "emitWhenIdle");
+ source.subscribe(OperatorSubscriber_1.createOperatorSubscriber(subscriber, function(value) {
+ lastValue = value;
+ lastTime = scheduler.now();
+ if (!activeTask) {
+ activeTask = scheduler.schedule(emitWhenIdle, dueTime);
+ subscriber.add(activeTask);
+ }
+ }, function() {
+ emit();
+ subscriber.complete();
+ }, void 0, function() {
+ lastValue = activeTask = null;
+ }));
+ });
+ }
+ __name(debounceTime, "debounceTime");
+ exports.debounceTime = debounceTime;
+ }
+});
+
+// ../../node_modules/.pnpm/rxjs@7.8.2/node_modules/rxjs/dist/cjs/internal/operators/defaultIfEmpty.js
+var require_defaultIfEmpty = __commonJS({
+ "../../node_modules/.pnpm/rxjs@7.8.2/node_modules/rxjs/dist/cjs/internal/operators/defaultIfEmpty.js"(exports) {
+ "use strict";
+ Object.defineProperty(exports, "__esModule", { value: true });
+ exports.defaultIfEmpty = void 0;
+ var lift_1 = require_lift();
+ var OperatorSubscriber_1 = require_OperatorSubscriber();
+ function defaultIfEmpty(defaultValue) {
+ return lift_1.operate(function(source, subscriber) {
+ var hasValue = false;
+ source.subscribe(OperatorSubscriber_1.createOperatorSubscriber(subscriber, function(value) {
+ hasValue = true;
+ subscriber.next(value);
+ }, function() {
+ if (!hasValue) {
+ subscriber.next(defaultValue);
+ }
+ subscriber.complete();
+ }));
+ });
+ }
+ __name(defaultIfEmpty, "defaultIfEmpty");
+ exports.defaultIfEmpty = defaultIfEmpty;
+ }
+});
+
+// ../../node_modules/.pnpm/rxjs@7.8.2/node_modules/rxjs/dist/cjs/internal/observable/concat.js
+var require_concat3 = __commonJS({
+ "../../node_modules/.pnpm/rxjs@7.8.2/node_modules/rxjs/dist/cjs/internal/observable/concat.js"(exports) {
+ "use strict";
+ Object.defineProperty(exports, "__esModule", { value: true });
+ exports.concat = void 0;
+ var concatAll_1 = require_concatAll();
+ var args_1 = require_args();
+ var from_1 = require_from();
+ function concat() {
+ var args = [];
+ for (var _i = 0; _i < arguments.length; _i++) {
+ args[_i] = arguments[_i];
+ }
+ return concatAll_1.concatAll()(from_1.from(args, args_1.popScheduler(args)));
+ }
+ __name(concat, "concat");
+ exports.concat = concat;
+ }
+});
+
+// ../../node_modules/.pnpm/rxjs@7.8.2/node_modules/rxjs/dist/cjs/internal/observable/empty.js
+var require_empty = __commonJS({
+ "../../node_modules/.pnpm/rxjs@7.8.2/node_modules/rxjs/dist/cjs/internal/observable/empty.js"(exports) {
+ "use strict";
+ Object.defineProperty(exports, "__esModule", { value: true });
+ exports.empty = exports.EMPTY = void 0;
+ var Observable_1 = require_Observable();
+ exports.EMPTY = new Observable_1.Observable(function(subscriber) {
+ return subscriber.complete();
+ });
+ function empty(scheduler) {
+ return scheduler ? emptyScheduled(scheduler) : exports.EMPTY;
+ }
+ __name(empty, "empty");
+ exports.empty = empty;
+ function emptyScheduled(scheduler) {
+ return new Observable_1.Observable(function(subscriber) {
+ return scheduler.schedule(function() {
+ return subscriber.complete();
+ });
+ });
+ }
+ __name(emptyScheduled, "emptyScheduled");
+ }
+});
+
+// ../../node_modules/.pnpm/rxjs@7.8.2/node_modules/rxjs/dist/cjs/internal/operators/take.js
+var require_take = __commonJS({
+ "../../node_modules/.pnpm/rxjs@7.8.2/node_modules/rxjs/dist/cjs/internal/operators/take.js"(exports) {
+ "use strict";
+ Object.defineProperty(exports, "__esModule", { value: true });
+ exports.take = void 0;
+ var empty_1 = require_empty();
+ var lift_1 = require_lift();
+ var OperatorSubscriber_1 = require_OperatorSubscriber();
+ function take(count) {
+ return count <= 0 ? function() {
+ return empty_1.EMPTY;
+ } : lift_1.operate(function(source, subscriber) {
+ var seen = 0;
+ source.subscribe(OperatorSubscriber_1.createOperatorSubscriber(subscriber, function(value) {
+ if (++seen <= count) {
+ subscriber.next(value);
+ if (count <= seen) {
+ subscriber.complete();
+ }
+ }
+ }));
+ });
+ }
+ __name(take, "take");
+ exports.take = take;
+ }
+});
+
+// ../../node_modules/.pnpm/rxjs@7.8.2/node_modules/rxjs/dist/cjs/internal/operators/ignoreElements.js
+var require_ignoreElements = __commonJS({
+ "../../node_modules/.pnpm/rxjs@7.8.2/node_modules/rxjs/dist/cjs/internal/operators/ignoreElements.js"(exports) {
+ "use strict";
+ Object.defineProperty(exports, "__esModule", { value: true });
+ exports.ignoreElements = void 0;
+ var lift_1 = require_lift();
+ var OperatorSubscriber_1 = require_OperatorSubscriber();
+ var noop_1 = require_noop();
+ function ignoreElements() {
+ return lift_1.operate(function(source, subscriber) {
+ source.subscribe(OperatorSubscriber_1.createOperatorSubscriber(subscriber, noop_1.noop));
+ });
+ }
+ __name(ignoreElements, "ignoreElements");
+ exports.ignoreElements = ignoreElements;
+ }
+});
+
+// ../../node_modules/.pnpm/rxjs@7.8.2/node_modules/rxjs/dist/cjs/internal/operators/mapTo.js
+var require_mapTo = __commonJS({
+ "../../node_modules/.pnpm/rxjs@7.8.2/node_modules/rxjs/dist/cjs/internal/operators/mapTo.js"(exports) {
+ "use strict";
+ Object.defineProperty(exports, "__esModule", { value: true });
+ exports.mapTo = void 0;
+ var map_1 = require_map2();
+ function mapTo(value) {
+ return map_1.map(function() {
+ return value;
+ });
+ }
+ __name(mapTo, "mapTo");
+ exports.mapTo = mapTo;
+ }
+});
+
+// ../../node_modules/.pnpm/rxjs@7.8.2/node_modules/rxjs/dist/cjs/internal/operators/delayWhen.js
+var require_delayWhen = __commonJS({
+ "../../node_modules/.pnpm/rxjs@7.8.2/node_modules/rxjs/dist/cjs/internal/operators/delayWhen.js"(exports) {
+ "use strict";
+ Object.defineProperty(exports, "__esModule", { value: true });
+ exports.delayWhen = void 0;
+ var concat_1 = require_concat3();
+ var take_1 = require_take();
+ var ignoreElements_1 = require_ignoreElements();
+ var mapTo_1 = require_mapTo();
+ var mergeMap_1 = require_mergeMap();
+ var innerFrom_1 = require_innerFrom();
+ function delayWhen(delayDurationSelector, subscriptionDelay) {
+ if (subscriptionDelay) {
+ return function(source) {
+ return concat_1.concat(subscriptionDelay.pipe(take_1.take(1), ignoreElements_1.ignoreElements()), source.pipe(delayWhen(delayDurationSelector)));
+ };
+ }
+ return mergeMap_1.mergeMap(function(value, index) {
+ return innerFrom_1.innerFrom(delayDurationSelector(value, index)).pipe(take_1.take(1), mapTo_1.mapTo(value));
+ });
+ }
+ __name(delayWhen, "delayWhen");
+ exports.delayWhen = delayWhen;
+ }
+});
+
+// ../../node_modules/.pnpm/rxjs@7.8.2/node_modules/rxjs/dist/cjs/internal/operators/delay.js
+var require_delay = __commonJS({
+ "../../node_modules/.pnpm/rxjs@7.8.2/node_modules/rxjs/dist/cjs/internal/operators/delay.js"(exports) {
+ "use strict";
+ Object.defineProperty(exports, "__esModule", { value: true });
+ exports.delay = void 0;
+ var async_1 = require_async();
+ var delayWhen_1 = require_delayWhen();
+ var timer_1 = require_timer();
+ function delay(due, scheduler) {
+ if (scheduler === void 0) {
+ scheduler = async_1.asyncScheduler;
+ }
+ var duration = timer_1.timer(due, scheduler);
+ return delayWhen_1.delayWhen(function() {
+ return duration;
+ });
+ }
+ __name(delay, "delay");
+ exports.delay = delay;
+ }
+});
+
+// ../../node_modules/.pnpm/rxjs@7.8.2/node_modules/rxjs/dist/cjs/internal/observable/of.js
+var require_of = __commonJS({
+ "../../node_modules/.pnpm/rxjs@7.8.2/node_modules/rxjs/dist/cjs/internal/observable/of.js"(exports) {
+ "use strict";
+ Object.defineProperty(exports, "__esModule", { value: true });
+ exports.of = void 0;
+ var args_1 = require_args();
+ var from_1 = require_from();
+ function of() {
+ var args = [];
+ for (var _i = 0; _i < arguments.length; _i++) {
+ args[_i] = arguments[_i];
+ }
+ var scheduler = args_1.popScheduler(args);
+ return from_1.from(args, scheduler);
+ }
+ __name(of, "of");
+ exports.of = of;
+ }
+});
+
+// ../../node_modules/.pnpm/rxjs@7.8.2/node_modules/rxjs/dist/cjs/internal/observable/throwError.js
+var require_throwError = __commonJS({
+ "../../node_modules/.pnpm/rxjs@7.8.2/node_modules/rxjs/dist/cjs/internal/observable/throwError.js"(exports) {
+ "use strict";
+ Object.defineProperty(exports, "__esModule", { value: true });
+ exports.throwError = void 0;
+ var Observable_1 = require_Observable();
+ var isFunction_1 = require_isFunction();
+ function throwError(errorOrErrorFactory, scheduler) {
+ var errorFactory = isFunction_1.isFunction(errorOrErrorFactory) ? errorOrErrorFactory : function() {
+ return errorOrErrorFactory;
+ };
+ var init = /* @__PURE__ */ __name(function(subscriber) {
+ return subscriber.error(errorFactory());
+ }, "init");
+ return new Observable_1.Observable(scheduler ? function(subscriber) {
+ return scheduler.schedule(init, 0, subscriber);
+ } : init);
+ }
+ __name(throwError, "throwError");
+ exports.throwError = throwError;
+ }
+});
+
+// ../../node_modules/.pnpm/rxjs@7.8.2/node_modules/rxjs/dist/cjs/internal/Notification.js
+var require_Notification = __commonJS({
+ "../../node_modules/.pnpm/rxjs@7.8.2/node_modules/rxjs/dist/cjs/internal/Notification.js"(exports) {
+ "use strict";
+ Object.defineProperty(exports, "__esModule", { value: true });
+ exports.observeNotification = exports.Notification = exports.NotificationKind = void 0;
+ var empty_1 = require_empty();
+ var of_1 = require_of();
+ var throwError_1 = require_throwError();
+ var isFunction_1 = require_isFunction();
+ var NotificationKind;
+ (function(NotificationKind2) {
+ NotificationKind2["NEXT"] = "N";
+ NotificationKind2["ERROR"] = "E";
+ NotificationKind2["COMPLETE"] = "C";
+ })(NotificationKind = exports.NotificationKind || (exports.NotificationKind = {}));
+ var Notification = (function() {
+ function Notification2(kind, value, error) {
+ this.kind = kind;
+ this.value = value;
+ this.error = error;
+ this.hasValue = kind === "N";
+ }
+ __name(Notification2, "Notification");
+ Notification2.prototype.observe = function(observer) {
+ return observeNotification(this, observer);
+ };
+ Notification2.prototype.do = function(nextHandler, errorHandler, completeHandler) {
+ var _a = this, kind = _a.kind, value = _a.value, error = _a.error;
+ return kind === "N" ? nextHandler === null || nextHandler === void 0 ? void 0 : nextHandler(value) : kind === "E" ? errorHandler === null || errorHandler === void 0 ? void 0 : errorHandler(error) : completeHandler === null || completeHandler === void 0 ? void 0 : completeHandler();
+ };
+ Notification2.prototype.accept = function(nextOrObserver, error, complete) {
+ var _a;
+ return isFunction_1.isFunction((_a = nextOrObserver) === null || _a === void 0 ? void 0 : _a.next) ? this.observe(nextOrObserver) : this.do(nextOrObserver, error, complete);
+ };
+ Notification2.prototype.toObservable = function() {
+ var _a = this, kind = _a.kind, value = _a.value, error = _a.error;
+ var result = kind === "N" ? of_1.of(value) : kind === "E" ? throwError_1.throwError(function() {
+ return error;
+ }) : kind === "C" ? empty_1.EMPTY : 0;
+ if (!result) {
+ throw new TypeError("Unexpected notification kind " + kind);
+ }
+ return result;
+ };
+ Notification2.createNext = function(value) {
+ return new Notification2("N", value);
+ };
+ Notification2.createError = function(err) {
+ return new Notification2("E", void 0, err);
+ };
+ Notification2.createComplete = function() {
+ return Notification2.completeNotification;
+ };
+ Notification2.completeNotification = new Notification2("C");
+ return Notification2;
+ })();
+ exports.Notification = Notification;
+ function observeNotification(notification, observer) {
+ var _a, _b, _c;
+ var _d = notification, kind = _d.kind, value = _d.value, error = _d.error;
+ if (typeof kind !== "string") {
+ throw new TypeError('Invalid notification, missing "kind"');
+ }
+ kind === "N" ? (_a = observer.next) === null || _a === void 0 ? void 0 : _a.call(observer, value) : kind === "E" ? (_b = observer.error) === null || _b === void 0 ? void 0 : _b.call(observer, error) : (_c = observer.complete) === null || _c === void 0 ? void 0 : _c.call(observer);
+ }
+ __name(observeNotification, "observeNotification");
+ exports.observeNotification = observeNotification;
+ }
+});
+
+// ../../node_modules/.pnpm/rxjs@7.8.2/node_modules/rxjs/dist/cjs/internal/operators/dematerialize.js
+var require_dematerialize = __commonJS({
+ "../../node_modules/.pnpm/rxjs@7.8.2/node_modules/rxjs/dist/cjs/internal/operators/dematerialize.js"(exports) {
+ "use strict";
+ Object.defineProperty(exports, "__esModule", { value: true });
+ exports.dematerialize = void 0;
+ var Notification_1 = require_Notification();
+ var lift_1 = require_lift();
+ var OperatorSubscriber_1 = require_OperatorSubscriber();
+ function dematerialize() {
+ return lift_1.operate(function(source, subscriber) {
+ source.subscribe(OperatorSubscriber_1.createOperatorSubscriber(subscriber, function(notification) {
+ return Notification_1.observeNotification(notification, subscriber);
+ }));
+ });
+ }
+ __name(dematerialize, "dematerialize");
+ exports.dematerialize = dematerialize;
+ }
+});
+
+// ../../node_modules/.pnpm/rxjs@7.8.2/node_modules/rxjs/dist/cjs/internal/operators/distinct.js
+var require_distinct = __commonJS({
+ "../../node_modules/.pnpm/rxjs@7.8.2/node_modules/rxjs/dist/cjs/internal/operators/distinct.js"(exports) {
+ "use strict";
+ Object.defineProperty(exports, "__esModule", { value: true });
+ exports.distinct = void 0;
+ var lift_1 = require_lift();
+ var OperatorSubscriber_1 = require_OperatorSubscriber();
+ var noop_1 = require_noop();
+ var innerFrom_1 = require_innerFrom();
+ function distinct(keySelector, flushes) {
+ return lift_1.operate(function(source, subscriber) {
+ var distinctKeys = /* @__PURE__ */ new Set();
+ source.subscribe(OperatorSubscriber_1.createOperatorSubscriber(subscriber, function(value) {
+ var key = keySelector ? keySelector(value) : value;
+ if (!distinctKeys.has(key)) {
+ distinctKeys.add(key);
+ subscriber.next(value);
+ }
+ }));
+ flushes && innerFrom_1.innerFrom(flushes).subscribe(OperatorSubscriber_1.createOperatorSubscriber(subscriber, function() {
+ return distinctKeys.clear();
+ }, noop_1.noop));
+ });
+ }
+ __name(distinct, "distinct");
+ exports.distinct = distinct;
+ }
+});
+
+// ../../node_modules/.pnpm/rxjs@7.8.2/node_modules/rxjs/dist/cjs/internal/operators/distinctUntilChanged.js
+var require_distinctUntilChanged = __commonJS({
+ "../../node_modules/.pnpm/rxjs@7.8.2/node_modules/rxjs/dist/cjs/internal/operators/distinctUntilChanged.js"(exports) {
+ "use strict";
+ Object.defineProperty(exports, "__esModule", { value: true });
+ exports.distinctUntilChanged = void 0;
+ var identity_1 = require_identity();
+ var lift_1 = require_lift();
+ var OperatorSubscriber_1 = require_OperatorSubscriber();
+ function distinctUntilChanged(comparator, keySelector) {
+ if (keySelector === void 0) {
+ keySelector = identity_1.identity;
+ }
+ comparator = comparator !== null && comparator !== void 0 ? comparator : defaultCompare;
+ return lift_1.operate(function(source, subscriber) {
+ var previousKey;
+ var first = true;
+ source.subscribe(OperatorSubscriber_1.createOperatorSubscriber(subscriber, function(value) {
+ var currentKey = keySelector(value);
+ if (first || !comparator(previousKey, currentKey)) {
+ first = false;
+ previousKey = currentKey;
+ subscriber.next(value);
+ }
+ }));
+ });
+ }
+ __name(distinctUntilChanged, "distinctUntilChanged");
+ exports.distinctUntilChanged = distinctUntilChanged;
+ function defaultCompare(a, b) {
+ return a === b;
+ }
+ __name(defaultCompare, "defaultCompare");
+ }
+});
+
+// ../../node_modules/.pnpm/rxjs@7.8.2/node_modules/rxjs/dist/cjs/internal/operators/distinctUntilKeyChanged.js
+var require_distinctUntilKeyChanged = __commonJS({
+ "../../node_modules/.pnpm/rxjs@7.8.2/node_modules/rxjs/dist/cjs/internal/operators/distinctUntilKeyChanged.js"(exports) {
+ "use strict";
+ Object.defineProperty(exports, "__esModule", { value: true });
+ exports.distinctUntilKeyChanged = void 0;
+ var distinctUntilChanged_1 = require_distinctUntilChanged();
+ function distinctUntilKeyChanged(key, compare) {
+ return distinctUntilChanged_1.distinctUntilChanged(function(x, y) {
+ return compare ? compare(x[key], y[key]) : x[key] === y[key];
+ });
+ }
+ __name(distinctUntilKeyChanged, "distinctUntilKeyChanged");
+ exports.distinctUntilKeyChanged = distinctUntilKeyChanged;
+ }
+});
+
+// ../../node_modules/.pnpm/rxjs@7.8.2/node_modules/rxjs/dist/cjs/internal/util/ArgumentOutOfRangeError.js
+var require_ArgumentOutOfRangeError = __commonJS({
+ "../../node_modules/.pnpm/rxjs@7.8.2/node_modules/rxjs/dist/cjs/internal/util/ArgumentOutOfRangeError.js"(exports) {
+ "use strict";
+ Object.defineProperty(exports, "__esModule", { value: true });
+ exports.ArgumentOutOfRangeError = void 0;
+ var createErrorClass_1 = require_createErrorClass();
+ exports.ArgumentOutOfRangeError = createErrorClass_1.createErrorClass(function(_super) {
+ return /* @__PURE__ */ __name(function ArgumentOutOfRangeErrorImpl() {
+ _super(this);
+ this.name = "ArgumentOutOfRangeError";
+ this.message = "argument out of range";
+ }, "ArgumentOutOfRangeErrorImpl");
+ });
+ }
+});
+
+// ../../node_modules/.pnpm/rxjs@7.8.2/node_modules/rxjs/dist/cjs/internal/operators/filter.js
+var require_filter2 = __commonJS({
+ "../../node_modules/.pnpm/rxjs@7.8.2/node_modules/rxjs/dist/cjs/internal/operators/filter.js"(exports) {
+ "use strict";
+ Object.defineProperty(exports, "__esModule", { value: true });
+ exports.filter = void 0;
+ var lift_1 = require_lift();
+ var OperatorSubscriber_1 = require_OperatorSubscriber();
+ function filter(predicate, thisArg) {
+ return lift_1.operate(function(source, subscriber) {
+ var index = 0;
+ source.subscribe(OperatorSubscriber_1.createOperatorSubscriber(subscriber, function(value) {
+ return predicate.call(thisArg, value, index++) && subscriber.next(value);
+ }));
+ });
+ }
+ __name(filter, "filter");
+ exports.filter = filter;
+ }
+});
+
+// ../../node_modules/.pnpm/rxjs@7.8.2/node_modules/rxjs/dist/cjs/internal/util/EmptyError.js
+var require_EmptyError = __commonJS({
+ "../../node_modules/.pnpm/rxjs@7.8.2/node_modules/rxjs/dist/cjs/internal/util/EmptyError.js"(exports) {
+ "use strict";
+ Object.defineProperty(exports, "__esModule", { value: true });
+ exports.EmptyError = void 0;
+ var createErrorClass_1 = require_createErrorClass();
+ exports.EmptyError = createErrorClass_1.createErrorClass(function(_super) {
+ return /* @__PURE__ */ __name(function EmptyErrorImpl() {
+ _super(this);
+ this.name = "EmptyError";
+ this.message = "no elements in sequence";
+ }, "EmptyErrorImpl");
+ });
+ }
+});
+
+// ../../node_modules/.pnpm/rxjs@7.8.2/node_modules/rxjs/dist/cjs/internal/operators/throwIfEmpty.js
+var require_throwIfEmpty = __commonJS({
+ "../../node_modules/.pnpm/rxjs@7.8.2/node_modules/rxjs/dist/cjs/internal/operators/throwIfEmpty.js"(exports) {
+ "use strict";
+ Object.defineProperty(exports, "__esModule", { value: true });
+ exports.throwIfEmpty = void 0;
+ var EmptyError_1 = require_EmptyError();
+ var lift_1 = require_lift();
+ var OperatorSubscriber_1 = require_OperatorSubscriber();
+ function throwIfEmpty(errorFactory) {
+ if (errorFactory === void 0) {
+ errorFactory = defaultErrorFactory;
+ }
+ return lift_1.operate(function(source, subscriber) {
+ var hasValue = false;
+ source.subscribe(OperatorSubscriber_1.createOperatorSubscriber(subscriber, function(value) {
+ hasValue = true;
+ subscriber.next(value);
+ }, function() {
+ return hasValue ? subscriber.complete() : subscriber.error(errorFactory());
+ }));
+ });
+ }
+ __name(throwIfEmpty, "throwIfEmpty");
+ exports.throwIfEmpty = throwIfEmpty;
+ function defaultErrorFactory() {
+ return new EmptyError_1.EmptyError();
+ }
+ __name(defaultErrorFactory, "defaultErrorFactory");
+ }
+});
+
+// ../../node_modules/.pnpm/rxjs@7.8.2/node_modules/rxjs/dist/cjs/internal/operators/elementAt.js
+var require_elementAt = __commonJS({
+ "../../node_modules/.pnpm/rxjs@7.8.2/node_modules/rxjs/dist/cjs/internal/operators/elementAt.js"(exports) {
+ "use strict";
+ Object.defineProperty(exports, "__esModule", { value: true });
+ exports.elementAt = void 0;
+ var ArgumentOutOfRangeError_1 = require_ArgumentOutOfRangeError();
+ var filter_1 = require_filter2();
+ var throwIfEmpty_1 = require_throwIfEmpty();
+ var defaultIfEmpty_1 = require_defaultIfEmpty();
+ var take_1 = require_take();
+ function elementAt(index, defaultValue) {
+ if (index < 0) {
+ throw new ArgumentOutOfRangeError_1.ArgumentOutOfRangeError();
+ }
+ var hasDefaultValue = arguments.length >= 2;
+ return function(source) {
+ return source.pipe(filter_1.filter(function(v, i) {
+ return i === index;
+ }), take_1.take(1), hasDefaultValue ? defaultIfEmpty_1.defaultIfEmpty(defaultValue) : throwIfEmpty_1.throwIfEmpty(function() {
+ return new ArgumentOutOfRangeError_1.ArgumentOutOfRangeError();
+ }));
+ };
+ }
+ __name(elementAt, "elementAt");
+ exports.elementAt = elementAt;
+ }
+});
+
+// ../../node_modules/.pnpm/rxjs@7.8.2/node_modules/rxjs/dist/cjs/internal/operators/endWith.js
+var require_endWith = __commonJS({
+ "../../node_modules/.pnpm/rxjs@7.8.2/node_modules/rxjs/dist/cjs/internal/operators/endWith.js"(exports) {
+ "use strict";
+ var __read = exports && exports.__read || function(o, n) {
+ var m = typeof Symbol === "function" && o[Symbol.iterator];
+ if (!m) return o;
+ var i = m.call(o), r, ar = [], e;
+ try {
+ while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);
+ } catch (error) {
+ e = { error };
+ } finally {
+ try {
+ if (r && !r.done && (m = i["return"])) m.call(i);
+ } finally {
+ if (e) throw e.error;
+ }
+ }
+ return ar;
+ };
+ var __spreadArray = exports && exports.__spreadArray || function(to, from) {
+ for (var i = 0, il = from.length, j = to.length; i < il; i++, j++)
+ to[j] = from[i];
+ return to;
+ };
+ Object.defineProperty(exports, "__esModule", { value: true });
+ exports.endWith = void 0;
+ var concat_1 = require_concat3();
+ var of_1 = require_of();
+ function endWith() {
+ var values = [];
+ for (var _i = 0; _i < arguments.length; _i++) {
+ values[_i] = arguments[_i];
+ }
+ return function(source) {
+ return concat_1.concat(source, of_1.of.apply(void 0, __spreadArray([], __read(values))));
+ };
+ }
+ __name(endWith, "endWith");
+ exports.endWith = endWith;
+ }
+});
+
+// ../../node_modules/.pnpm/rxjs@7.8.2/node_modules/rxjs/dist/cjs/internal/operators/every.js
+var require_every = __commonJS({
+ "../../node_modules/.pnpm/rxjs@7.8.2/node_modules/rxjs/dist/cjs/internal/operators/every.js"(exports) {
+ "use strict";
+ Object.defineProperty(exports, "__esModule", { value: true });
+ exports.every = void 0;
+ var lift_1 = require_lift();
+ var OperatorSubscriber_1 = require_OperatorSubscriber();
+ function every(predicate, thisArg) {
+ return lift_1.operate(function(source, subscriber) {
+ var index = 0;
+ source.subscribe(OperatorSubscriber_1.createOperatorSubscriber(subscriber, function(value) {
+ if (!predicate.call(thisArg, value, index++, source)) {
+ subscriber.next(false);
+ subscriber.complete();
+ }
+ }, function() {
+ subscriber.next(true);
+ subscriber.complete();
+ }));
+ });
+ }
+ __name(every, "every");
+ exports.every = every;
+ }
+});
+
+// ../../node_modules/.pnpm/rxjs@7.8.2/node_modules/rxjs/dist/cjs/internal/operators/exhaustMap.js
+var require_exhaustMap = __commonJS({
+ "../../node_modules/.pnpm/rxjs@7.8.2/node_modules/rxjs/dist/cjs/internal/operators/exhaustMap.js"(exports) {
+ "use strict";
+ Object.defineProperty(exports, "__esModule", { value: true });
+ exports.exhaustMap = void 0;
+ var map_1 = require_map2();
+ var innerFrom_1 = require_innerFrom();
+ var lift_1 = require_lift();
+ var OperatorSubscriber_1 = require_OperatorSubscriber();
+ function exhaustMap(project, resultSelector) {
+ if (resultSelector) {
+ return function(source) {
+ return source.pipe(exhaustMap(function(a, i) {
+ return innerFrom_1.innerFrom(project(a, i)).pipe(map_1.map(function(b, ii) {
+ return resultSelector(a, b, i, ii);
+ }));
+ }));
+ };
+ }
+ return lift_1.operate(function(source, subscriber) {
+ var index = 0;
+ var innerSub = null;
+ var isComplete = false;
+ source.subscribe(OperatorSubscriber_1.createOperatorSubscriber(subscriber, function(outerValue) {
+ if (!innerSub) {
+ innerSub = OperatorSubscriber_1.createOperatorSubscriber(subscriber, void 0, function() {
+ innerSub = null;
+ isComplete && subscriber.complete();
+ });
+ innerFrom_1.innerFrom(project(outerValue, index++)).subscribe(innerSub);
+ }
+ }, function() {
+ isComplete = true;
+ !innerSub && subscriber.complete();
+ }));
+ });
+ }
+ __name(exhaustMap, "exhaustMap");
+ exports.exhaustMap = exhaustMap;
+ }
+});
+
+// ../../node_modules/.pnpm/rxjs@7.8.2/node_modules/rxjs/dist/cjs/internal/operators/exhaustAll.js
+var require_exhaustAll = __commonJS({
+ "../../node_modules/.pnpm/rxjs@7.8.2/node_modules/rxjs/dist/cjs/internal/operators/exhaustAll.js"(exports) {
+ "use strict";
+ Object.defineProperty(exports, "__esModule", { value: true });
+ exports.exhaustAll = void 0;
+ var exhaustMap_1 = require_exhaustMap();
+ var identity_1 = require_identity();
+ function exhaustAll() {
+ return exhaustMap_1.exhaustMap(identity_1.identity);
+ }
+ __name(exhaustAll, "exhaustAll");
+ exports.exhaustAll = exhaustAll;
+ }
+});
+
+// ../../node_modules/.pnpm/rxjs@7.8.2/node_modules/rxjs/dist/cjs/internal/operators/exhaust.js
+var require_exhaust = __commonJS({
+ "../../node_modules/.pnpm/rxjs@7.8.2/node_modules/rxjs/dist/cjs/internal/operators/exhaust.js"(exports) {
+ "use strict";
+ Object.defineProperty(exports, "__esModule", { value: true });
+ exports.exhaust = void 0;
+ var exhaustAll_1 = require_exhaustAll();
+ exports.exhaust = exhaustAll_1.exhaustAll;
+ }
+});
+
+// ../../node_modules/.pnpm/rxjs@7.8.2/node_modules/rxjs/dist/cjs/internal/operators/expand.js
+var require_expand = __commonJS({
+ "../../node_modules/.pnpm/rxjs@7.8.2/node_modules/rxjs/dist/cjs/internal/operators/expand.js"(exports) {
+ "use strict";
+ Object.defineProperty(exports, "__esModule", { value: true });
+ exports.expand = void 0;
+ var lift_1 = require_lift();
+ var mergeInternals_1 = require_mergeInternals();
+ function expand(project, concurrent, scheduler) {
+ if (concurrent === void 0) {
+ concurrent = Infinity;
+ }
+ concurrent = (concurrent || 0) < 1 ? Infinity : concurrent;
+ return lift_1.operate(function(source, subscriber) {
+ return mergeInternals_1.mergeInternals(source, subscriber, project, concurrent, void 0, true, scheduler);
+ });
+ }
+ __name(expand, "expand");
+ exports.expand = expand;
+ }
+});
+
+// ../../node_modules/.pnpm/rxjs@7.8.2/node_modules/rxjs/dist/cjs/internal/operators/finalize.js
+var require_finalize = __commonJS({
+ "../../node_modules/.pnpm/rxjs@7.8.2/node_modules/rxjs/dist/cjs/internal/operators/finalize.js"(exports) {
+ "use strict";
+ Object.defineProperty(exports, "__esModule", { value: true });
+ exports.finalize = void 0;
+ var lift_1 = require_lift();
+ function finalize(callback) {
+ return lift_1.operate(function(source, subscriber) {
+ try {
+ source.subscribe(subscriber);
+ } finally {
+ subscriber.add(callback);
+ }
+ });
+ }
+ __name(finalize, "finalize");
+ exports.finalize = finalize;
+ }
+});
+
+// ../../node_modules/.pnpm/rxjs@7.8.2/node_modules/rxjs/dist/cjs/internal/operators/find.js
+var require_find = __commonJS({
+ "../../node_modules/.pnpm/rxjs@7.8.2/node_modules/rxjs/dist/cjs/internal/operators/find.js"(exports) {
+ "use strict";
+ Object.defineProperty(exports, "__esModule", { value: true });
+ exports.createFind = exports.find = void 0;
+ var lift_1 = require_lift();
+ var OperatorSubscriber_1 = require_OperatorSubscriber();
+ function find(predicate, thisArg) {
+ return lift_1.operate(createFind(predicate, thisArg, "value"));
+ }
+ __name(find, "find");
+ exports.find = find;
+ function createFind(predicate, thisArg, emit) {
+ var findIndex = emit === "index";
+ return function(source, subscriber) {
+ var index = 0;
+ source.subscribe(OperatorSubscriber_1.createOperatorSubscriber(subscriber, function(value) {
+ var i = index++;
+ if (predicate.call(thisArg, value, i, source)) {
+ subscriber.next(findIndex ? i : value);
+ subscriber.complete();
+ }
+ }, function() {
+ subscriber.next(findIndex ? -1 : void 0);
+ subscriber.complete();
+ }));
+ };
+ }
+ __name(createFind, "createFind");
+ exports.createFind = createFind;
+ }
+});
+
+// ../../node_modules/.pnpm/rxjs@7.8.2/node_modules/rxjs/dist/cjs/internal/operators/findIndex.js
+var require_findIndex = __commonJS({
+ "../../node_modules/.pnpm/rxjs@7.8.2/node_modules/rxjs/dist/cjs/internal/operators/findIndex.js"(exports) {
+ "use strict";
+ Object.defineProperty(exports, "__esModule", { value: true });
+ exports.findIndex = void 0;
+ var lift_1 = require_lift();
+ var find_1 = require_find();
+ function findIndex(predicate, thisArg) {
+ return lift_1.operate(find_1.createFind(predicate, thisArg, "index"));
+ }
+ __name(findIndex, "findIndex");
+ exports.findIndex = findIndex;
+ }
+});
+
+// ../../node_modules/.pnpm/rxjs@7.8.2/node_modules/rxjs/dist/cjs/internal/operators/first.js
+var require_first = __commonJS({
+ "../../node_modules/.pnpm/rxjs@7.8.2/node_modules/rxjs/dist/cjs/internal/operators/first.js"(exports) {
+ "use strict";
+ Object.defineProperty(exports, "__esModule", { value: true });
+ exports.first = void 0;
+ var EmptyError_1 = require_EmptyError();
+ var filter_1 = require_filter2();
+ var take_1 = require_take();
+ var defaultIfEmpty_1 = require_defaultIfEmpty();
+ var throwIfEmpty_1 = require_throwIfEmpty();
+ var identity_1 = require_identity();
+ function first(predicate, defaultValue) {
+ var hasDefaultValue = arguments.length >= 2;
+ return function(source) {
+ return source.pipe(predicate ? filter_1.filter(function(v, i) {
+ return predicate(v, i, source);
+ }) : identity_1.identity, take_1.take(1), hasDefaultValue ? defaultIfEmpty_1.defaultIfEmpty(defaultValue) : throwIfEmpty_1.throwIfEmpty(function() {
+ return new EmptyError_1.EmptyError();
+ }));
+ };
+ }
+ __name(first, "first");
+ exports.first = first;
+ }
+});
+
+// ../../node_modules/.pnpm/rxjs@7.8.2/node_modules/rxjs/dist/cjs/internal/operators/groupBy.js
+var require_groupBy = __commonJS({
+ "../../node_modules/.pnpm/rxjs@7.8.2/node_modules/rxjs/dist/cjs/internal/operators/groupBy.js"(exports) {
+ "use strict";
+ Object.defineProperty(exports, "__esModule", { value: true });
+ exports.groupBy = void 0;
+ var Observable_1 = require_Observable();
+ var innerFrom_1 = require_innerFrom();
+ var Subject_1 = require_Subject();
+ var lift_1 = require_lift();
+ var OperatorSubscriber_1 = require_OperatorSubscriber();
+ function groupBy(keySelector, elementOrOptions, duration, connector) {
+ return lift_1.operate(function(source, subscriber) {
+ var element;
+ if (!elementOrOptions || typeof elementOrOptions === "function") {
+ element = elementOrOptions;
+ } else {
+ duration = elementOrOptions.duration, element = elementOrOptions.element, connector = elementOrOptions.connector;
+ }
+ var groups = /* @__PURE__ */ new Map();
+ var notify = /* @__PURE__ */ __name(function(cb) {
+ groups.forEach(cb);
+ cb(subscriber);
+ }, "notify");
+ var handleError = /* @__PURE__ */ __name(function(err) {
+ return notify(function(consumer) {
+ return consumer.error(err);
+ });
+ }, "handleError");
+ var activeGroups = 0;
+ var teardownAttempted = false;
+ var groupBySourceSubscriber = new OperatorSubscriber_1.OperatorSubscriber(subscriber, function(value) {
+ try {
+ var key_1 = keySelector(value);
+ var group_1 = groups.get(key_1);
+ if (!group_1) {
+ groups.set(key_1, group_1 = connector ? connector() : new Subject_1.Subject());
+ var grouped = createGroupedObservable(key_1, group_1);
+ subscriber.next(grouped);
+ if (duration) {
+ var durationSubscriber_1 = OperatorSubscriber_1.createOperatorSubscriber(group_1, function() {
+ group_1.complete();
+ durationSubscriber_1 === null || durationSubscriber_1 === void 0 ? void 0 : durationSubscriber_1.unsubscribe();
+ }, void 0, void 0, function() {
+ return groups.delete(key_1);
+ });
+ groupBySourceSubscriber.add(innerFrom_1.innerFrom(duration(grouped)).subscribe(durationSubscriber_1));
+ }
+ }
+ group_1.next(element ? element(value) : value);
+ } catch (err) {
+ handleError(err);
+ }
+ }, function() {
+ return notify(function(consumer) {
+ return consumer.complete();
+ });
+ }, handleError, function() {
+ return groups.clear();
+ }, function() {
+ teardownAttempted = true;
+ return activeGroups === 0;
+ });
+ source.subscribe(groupBySourceSubscriber);
+ function createGroupedObservable(key, groupSubject) {
+ var result = new Observable_1.Observable(function(groupSubscriber) {
+ activeGroups++;
+ var innerSub = groupSubject.subscribe(groupSubscriber);
+ return function() {
+ innerSub.unsubscribe();
+ --activeGroups === 0 && teardownAttempted && groupBySourceSubscriber.unsubscribe();
+ };
+ });
+ result.key = key;
+ return result;
+ }
+ __name(createGroupedObservable, "createGroupedObservable");
+ });
+ }
+ __name(groupBy, "groupBy");
+ exports.groupBy = groupBy;
+ }
+});
+
+// ../../node_modules/.pnpm/rxjs@7.8.2/node_modules/rxjs/dist/cjs/internal/operators/isEmpty.js
+var require_isEmpty = __commonJS({
+ "../../node_modules/.pnpm/rxjs@7.8.2/node_modules/rxjs/dist/cjs/internal/operators/isEmpty.js"(exports) {
+ "use strict";
+ Object.defineProperty(exports, "__esModule", { value: true });
+ exports.isEmpty = void 0;
+ var lift_1 = require_lift();
+ var OperatorSubscriber_1 = require_OperatorSubscriber();
+ function isEmpty2() {
+ return lift_1.operate(function(source, subscriber) {
+ source.subscribe(OperatorSubscriber_1.createOperatorSubscriber(subscriber, function() {
+ subscriber.next(false);
+ subscriber.complete();
+ }, function() {
+ subscriber.next(true);
+ subscriber.complete();
+ }));
+ });
+ }
+ __name(isEmpty2, "isEmpty");
+ exports.isEmpty = isEmpty2;
+ }
+});
+
+// ../../node_modules/.pnpm/rxjs@7.8.2/node_modules/rxjs/dist/cjs/internal/operators/takeLast.js
+var require_takeLast = __commonJS({
+ "../../node_modules/.pnpm/rxjs@7.8.2/node_modules/rxjs/dist/cjs/internal/operators/takeLast.js"(exports) {
+ "use strict";
+ var __values = exports && exports.__values || function(o) {
+ var s = typeof Symbol === "function" && Symbol.iterator, m = s && o[s], i = 0;
+ if (m) return m.call(o);
+ if (o && typeof o.length === "number") return {
+ next: /* @__PURE__ */ __name(function() {
+ if (o && i >= o.length) o = void 0;
+ return { value: o && o[i++], done: !o };
+ }, "next")
+ };
+ throw new TypeError(s ? "Object is not iterable." : "Symbol.iterator is not defined.");
+ };
+ Object.defineProperty(exports, "__esModule", { value: true });
+ exports.takeLast = void 0;
+ var empty_1 = require_empty();
+ var lift_1 = require_lift();
+ var OperatorSubscriber_1 = require_OperatorSubscriber();
+ function takeLast(count) {
+ return count <= 0 ? function() {
+ return empty_1.EMPTY;
+ } : lift_1.operate(function(source, subscriber) {
+ var buffer = [];
+ source.subscribe(OperatorSubscriber_1.createOperatorSubscriber(subscriber, function(value) {
+ buffer.push(value);
+ count < buffer.length && buffer.shift();
+ }, function() {
+ var e_1, _a;
+ try {
+ for (var buffer_1 = __values(buffer), buffer_1_1 = buffer_1.next(); !buffer_1_1.done; buffer_1_1 = buffer_1.next()) {
+ var value = buffer_1_1.value;
+ subscriber.next(value);
+ }
+ } catch (e_1_1) {
+ e_1 = { error: e_1_1 };
+ } finally {
+ try {
+ if (buffer_1_1 && !buffer_1_1.done && (_a = buffer_1.return)) _a.call(buffer_1);
+ } finally {
+ if (e_1) throw e_1.error;
+ }
+ }
+ subscriber.complete();
+ }, void 0, function() {
+ buffer = null;
+ }));
+ });
+ }
+ __name(takeLast, "takeLast");
+ exports.takeLast = takeLast;
+ }
+});
+
+// ../../node_modules/.pnpm/rxjs@7.8.2/node_modules/rxjs/dist/cjs/internal/operators/last.js
+var require_last = __commonJS({
+ "../../node_modules/.pnpm/rxjs@7.8.2/node_modules/rxjs/dist/cjs/internal/operators/last.js"(exports) {
+ "use strict";
+ Object.defineProperty(exports, "__esModule", { value: true });
+ exports.last = void 0;
+ var EmptyError_1 = require_EmptyError();
+ var filter_1 = require_filter2();
+ var takeLast_1 = require_takeLast();
+ var throwIfEmpty_1 = require_throwIfEmpty();
+ var defaultIfEmpty_1 = require_defaultIfEmpty();
+ var identity_1 = require_identity();
+ function last(predicate, defaultValue) {
+ var hasDefaultValue = arguments.length >= 2;
+ return function(source) {
+ return source.pipe(predicate ? filter_1.filter(function(v, i) {
+ return predicate(v, i, source);
+ }) : identity_1.identity, takeLast_1.takeLast(1), hasDefaultValue ? defaultIfEmpty_1.defaultIfEmpty(defaultValue) : throwIfEmpty_1.throwIfEmpty(function() {
+ return new EmptyError_1.EmptyError();
+ }));
+ };
+ }
+ __name(last, "last");
+ exports.last = last;
+ }
+});
+
+// ../../node_modules/.pnpm/rxjs@7.8.2/node_modules/rxjs/dist/cjs/internal/operators/materialize.js
+var require_materialize = __commonJS({
+ "../../node_modules/.pnpm/rxjs@7.8.2/node_modules/rxjs/dist/cjs/internal/operators/materialize.js"(exports) {
+ "use strict";
+ Object.defineProperty(exports, "__esModule", { value: true });
+ exports.materialize = void 0;
+ var Notification_1 = require_Notification();
+ var lift_1 = require_lift();
+ var OperatorSubscriber_1 = require_OperatorSubscriber();
+ function materialize() {
+ return lift_1.operate(function(source, subscriber) {
+ source.subscribe(OperatorSubscriber_1.createOperatorSubscriber(subscriber, function(value) {
+ subscriber.next(Notification_1.Notification.createNext(value));
+ }, function() {
+ subscriber.next(Notification_1.Notification.createComplete());
+ subscriber.complete();
+ }, function(err) {
+ subscriber.next(Notification_1.Notification.createError(err));
+ subscriber.complete();
+ }));
+ });
+ }
+ __name(materialize, "materialize");
+ exports.materialize = materialize;
+ }
+});
+
+// ../../node_modules/.pnpm/rxjs@7.8.2/node_modules/rxjs/dist/cjs/internal/operators/max.js
+var require_max = __commonJS({
+ "../../node_modules/.pnpm/rxjs@7.8.2/node_modules/rxjs/dist/cjs/internal/operators/max.js"(exports) {
+ "use strict";
+ Object.defineProperty(exports, "__esModule", { value: true });
+ exports.max = void 0;
+ var reduce_1 = require_reduce();
+ var isFunction_1 = require_isFunction();
+ function max(comparer) {
+ return reduce_1.reduce(isFunction_1.isFunction(comparer) ? function(x, y) {
+ return comparer(x, y) > 0 ? x : y;
+ } : function(x, y) {
+ return x > y ? x : y;
+ });
+ }
+ __name(max, "max");
+ exports.max = max;
+ }
+});
+
+// ../../node_modules/.pnpm/rxjs@7.8.2/node_modules/rxjs/dist/cjs/internal/operators/merge.js
+var require_merge = __commonJS({
+ "../../node_modules/.pnpm/rxjs@7.8.2/node_modules/rxjs/dist/cjs/internal/operators/merge.js"(exports) {
+ "use strict";
+ var __read = exports && exports.__read || function(o, n) {
+ var m = typeof Symbol === "function" && o[Symbol.iterator];
+ if (!m) return o;
+ var i = m.call(o), r, ar = [], e;
+ try {
+ while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);
+ } catch (error) {
+ e = { error };
+ } finally {
+ try {
+ if (r && !r.done && (m = i["return"])) m.call(i);
+ } finally {
+ if (e) throw e.error;
+ }
+ }
+ return ar;
+ };
+ var __spreadArray = exports && exports.__spreadArray || function(to, from) {
+ for (var i = 0, il = from.length, j = to.length; i < il; i++, j++)
+ to[j] = from[i];
+ return to;
+ };
+ Object.defineProperty(exports, "__esModule", { value: true });
+ exports.merge = void 0;
+ var lift_1 = require_lift();
+ var mergeAll_1 = require_mergeAll();
+ var args_1 = require_args();
+ var from_1 = require_from();
+ function merge() {
+ var args = [];
+ for (var _i = 0; _i < arguments.length; _i++) {
+ args[_i] = arguments[_i];
+ }
+ var scheduler = args_1.popScheduler(args);
+ var concurrent = args_1.popNumber(args, Infinity);
+ return lift_1.operate(function(source, subscriber) {
+ mergeAll_1.mergeAll(concurrent)(from_1.from(__spreadArray([source], __read(args)), scheduler)).subscribe(subscriber);
+ });
+ }
+ __name(merge, "merge");
+ exports.merge = merge;
+ }
+});
+
+// ../../node_modules/.pnpm/rxjs@7.8.2/node_modules/rxjs/dist/cjs/internal/operators/flatMap.js
+var require_flatMap = __commonJS({
+ "../../node_modules/.pnpm/rxjs@7.8.2/node_modules/rxjs/dist/cjs/internal/operators/flatMap.js"(exports) {
+ "use strict";
+ Object.defineProperty(exports, "__esModule", { value: true });
+ exports.flatMap = void 0;
+ var mergeMap_1 = require_mergeMap();
+ exports.flatMap = mergeMap_1.mergeMap;
+ }
+});
+
+// ../../node_modules/.pnpm/rxjs@7.8.2/node_modules/rxjs/dist/cjs/internal/operators/mergeMapTo.js
+var require_mergeMapTo = __commonJS({
+ "../../node_modules/.pnpm/rxjs@7.8.2/node_modules/rxjs/dist/cjs/internal/operators/mergeMapTo.js"(exports) {
+ "use strict";
+ Object.defineProperty(exports, "__esModule", { value: true });
+ exports.mergeMapTo = void 0;
+ var mergeMap_1 = require_mergeMap();
+ var isFunction_1 = require_isFunction();
+ function mergeMapTo(innerObservable, resultSelector, concurrent) {
+ if (concurrent === void 0) {
+ concurrent = Infinity;
+ }
+ if (isFunction_1.isFunction(resultSelector)) {
+ return mergeMap_1.mergeMap(function() {
+ return innerObservable;
+ }, resultSelector, concurrent);
+ }
+ if (typeof resultSelector === "number") {
+ concurrent = resultSelector;
+ }
+ return mergeMap_1.mergeMap(function() {
+ return innerObservable;
+ }, concurrent);
+ }
+ __name(mergeMapTo, "mergeMapTo");
+ exports.mergeMapTo = mergeMapTo;
+ }
+});
+
+// ../../node_modules/.pnpm/rxjs@7.8.2/node_modules/rxjs/dist/cjs/internal/operators/mergeScan.js
+var require_mergeScan = __commonJS({
+ "../../node_modules/.pnpm/rxjs@7.8.2/node_modules/rxjs/dist/cjs/internal/operators/mergeScan.js"(exports) {
+ "use strict";
+ Object.defineProperty(exports, "__esModule", { value: true });
+ exports.mergeScan = void 0;
+ var lift_1 = require_lift();
+ var mergeInternals_1 = require_mergeInternals();
+ function mergeScan(accumulator, seed, concurrent) {
+ if (concurrent === void 0) {
+ concurrent = Infinity;
+ }
+ return lift_1.operate(function(source, subscriber) {
+ var state = seed;
+ return mergeInternals_1.mergeInternals(source, subscriber, function(value, index) {
+ return accumulator(state, value, index);
+ }, concurrent, function(value) {
+ state = value;
+ }, false, void 0, function() {
+ return state = null;
+ });
+ });
+ }
+ __name(mergeScan, "mergeScan");
+ exports.mergeScan = mergeScan;
+ }
+});
+
+// ../../node_modules/.pnpm/rxjs@7.8.2/node_modules/rxjs/dist/cjs/internal/operators/mergeWith.js
+var require_mergeWith = __commonJS({
+ "../../node_modules/.pnpm/rxjs@7.8.2/node_modules/rxjs/dist/cjs/internal/operators/mergeWith.js"(exports) {
+ "use strict";
+ var __read = exports && exports.__read || function(o, n) {
+ var m = typeof Symbol === "function" && o[Symbol.iterator];
+ if (!m) return o;
+ var i = m.call(o), r, ar = [], e;
+ try {
+ while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);
+ } catch (error) {
+ e = { error };
+ } finally {
+ try {
+ if (r && !r.done && (m = i["return"])) m.call(i);
+ } finally {
+ if (e) throw e.error;
+ }
+ }
+ return ar;
+ };
+ var __spreadArray = exports && exports.__spreadArray || function(to, from) {
+ for (var i = 0, il = from.length, j = to.length; i < il; i++, j++)
+ to[j] = from[i];
+ return to;
+ };
+ Object.defineProperty(exports, "__esModule", { value: true });
+ exports.mergeWith = void 0;
+ var merge_1 = require_merge();
+ function mergeWith() {
+ var otherSources = [];
+ for (var _i = 0; _i < arguments.length; _i++) {
+ otherSources[_i] = arguments[_i];
+ }
+ return merge_1.merge.apply(void 0, __spreadArray([], __read(otherSources)));
+ }
+ __name(mergeWith, "mergeWith");
+ exports.mergeWith = mergeWith;
+ }
+});
+
+// ../../node_modules/.pnpm/rxjs@7.8.2/node_modules/rxjs/dist/cjs/internal/operators/min.js
+var require_min = __commonJS({
+ "../../node_modules/.pnpm/rxjs@7.8.2/node_modules/rxjs/dist/cjs/internal/operators/min.js"(exports) {
+ "use strict";
+ Object.defineProperty(exports, "__esModule", { value: true });
+ exports.min = void 0;
+ var reduce_1 = require_reduce();
+ var isFunction_1 = require_isFunction();
+ function min(comparer) {
+ return reduce_1.reduce(isFunction_1.isFunction(comparer) ? function(x, y) {
+ return comparer(x, y) < 0 ? x : y;
+ } : function(x, y) {
+ return x < y ? x : y;
+ });
+ }
+ __name(min, "min");
+ exports.min = min;
+ }
+});
+
+// ../../node_modules/.pnpm/rxjs@7.8.2/node_modules/rxjs/dist/cjs/internal/operators/refCount.js
+var require_refCount = __commonJS({
+ "../../node_modules/.pnpm/rxjs@7.8.2/node_modules/rxjs/dist/cjs/internal/operators/refCount.js"(exports) {
+ "use strict";
+ Object.defineProperty(exports, "__esModule", { value: true });
+ exports.refCount = void 0;
+ var lift_1 = require_lift();
+ var OperatorSubscriber_1 = require_OperatorSubscriber();
+ function refCount() {
+ return lift_1.operate(function(source, subscriber) {
+ var connection = null;
+ source._refCount++;
+ var refCounter = OperatorSubscriber_1.createOperatorSubscriber(subscriber, void 0, void 0, void 0, function() {
+ if (!source || source._refCount <= 0 || 0 < --source._refCount) {
+ connection = null;
+ return;
+ }
+ var sharedConnection = source._connection;
+ var conn = connection;
+ connection = null;
+ if (sharedConnection && (!conn || sharedConnection === conn)) {
+ sharedConnection.unsubscribe();
+ }
+ subscriber.unsubscribe();
+ });
+ source.subscribe(refCounter);
+ if (!refCounter.closed) {
+ connection = source.connect();
+ }
+ });
+ }
+ __name(refCount, "refCount");
+ exports.refCount = refCount;
+ }
+});
+
+// ../../node_modules/.pnpm/rxjs@7.8.2/node_modules/rxjs/dist/cjs/internal/observable/ConnectableObservable.js
+var require_ConnectableObservable = __commonJS({
+ "../../node_modules/.pnpm/rxjs@7.8.2/node_modules/rxjs/dist/cjs/internal/observable/ConnectableObservable.js"(exports) {
+ "use strict";
+ var __extends = exports && exports.__extends || /* @__PURE__ */ (function() {
+ var extendStatics = /* @__PURE__ */ __name(function(d, b) {
+ extendStatics = Object.setPrototypeOf || { __proto__: [] } instanceof Array && function(d2, b2) {
+ d2.__proto__ = b2;
+ } || function(d2, b2) {
+ for (var p in b2) if (Object.prototype.hasOwnProperty.call(b2, p)) d2[p] = b2[p];
+ };
+ return extendStatics(d, b);
+ }, "extendStatics");
+ return function(d, b) {
+ if (typeof b !== "function" && b !== null)
+ throw new TypeError("Class extends value " + String(b) + " is not a constructor or null");
+ extendStatics(d, b);
+ function __() {
+ this.constructor = d;
+ }
+ __name(__, "__");
+ d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());
+ };
+ })();
+ Object.defineProperty(exports, "__esModule", { value: true });
+ exports.ConnectableObservable = void 0;
+ var Observable_1 = require_Observable();
+ var Subscription_1 = require_Subscription();
+ var refCount_1 = require_refCount();
+ var OperatorSubscriber_1 = require_OperatorSubscriber();
+ var lift_1 = require_lift();
+ var ConnectableObservable = (function(_super) {
+ __extends(ConnectableObservable2, _super);
+ function ConnectableObservable2(source, subjectFactory) {
+ var _this = _super.call(this) || this;
+ _this.source = source;
+ _this.subjectFactory = subjectFactory;
+ _this._subject = null;
+ _this._refCount = 0;
+ _this._connection = null;
+ if (lift_1.hasLift(source)) {
+ _this.lift = source.lift;
+ }
+ return _this;
+ }
+ __name(ConnectableObservable2, "ConnectableObservable");
+ ConnectableObservable2.prototype._subscribe = function(subscriber) {
+ return this.getSubject().subscribe(subscriber);
+ };
+ ConnectableObservable2.prototype.getSubject = function() {
+ var subject = this._subject;
+ if (!subject || subject.isStopped) {
+ this._subject = this.subjectFactory();
+ }
+ return this._subject;
+ };
+ ConnectableObservable2.prototype._teardown = function() {
+ this._refCount = 0;
+ var _connection = this._connection;
+ this._subject = this._connection = null;
+ _connection === null || _connection === void 0 ? void 0 : _connection.unsubscribe();
+ };
+ ConnectableObservable2.prototype.connect = function() {
+ var _this = this;
+ var connection = this._connection;
+ if (!connection) {
+ connection = this._connection = new Subscription_1.Subscription();
+ var subject_1 = this.getSubject();
+ connection.add(this.source.subscribe(OperatorSubscriber_1.createOperatorSubscriber(subject_1, void 0, function() {
+ _this._teardown();
+ subject_1.complete();
+ }, function(err) {
+ _this._teardown();
+ subject_1.error(err);
+ }, function() {
+ return _this._teardown();
+ })));
+ if (connection.closed) {
+ this._connection = null;
+ connection = Subscription_1.Subscription.EMPTY;
+ }
+ }
+ return connection;
+ };
+ ConnectableObservable2.prototype.refCount = function() {
+ return refCount_1.refCount()(this);
+ };
+ return ConnectableObservable2;
+ })(Observable_1.Observable);
+ exports.ConnectableObservable = ConnectableObservable;
+ }
+});
+
+// ../../node_modules/.pnpm/rxjs@7.8.2/node_modules/rxjs/dist/cjs/internal/operators/multicast.js
+var require_multicast = __commonJS({
+ "../../node_modules/.pnpm/rxjs@7.8.2/node_modules/rxjs/dist/cjs/internal/operators/multicast.js"(exports) {
+ "use strict";
+ Object.defineProperty(exports, "__esModule", { value: true });
+ exports.multicast = void 0;
+ var ConnectableObservable_1 = require_ConnectableObservable();
+ var isFunction_1 = require_isFunction();
+ var connect_1 = require_connect();
+ function multicast(subjectOrSubjectFactory, selector) {
+ var subjectFactory = isFunction_1.isFunction(subjectOrSubjectFactory) ? subjectOrSubjectFactory : function() {
+ return subjectOrSubjectFactory;
+ };
+ if (isFunction_1.isFunction(selector)) {
+ return connect_1.connect(selector, {
+ connector: subjectFactory
+ });
+ }
+ return function(source) {
+ return new ConnectableObservable_1.ConnectableObservable(source, subjectFactory);
+ };
+ }
+ __name(multicast, "multicast");
+ exports.multicast = multicast;
+ }
+});
+
+// ../../node_modules/.pnpm/rxjs@7.8.2/node_modules/rxjs/dist/cjs/internal/observable/onErrorResumeNext.js
+var require_onErrorResumeNext = __commonJS({
+ "../../node_modules/.pnpm/rxjs@7.8.2/node_modules/rxjs/dist/cjs/internal/observable/onErrorResumeNext.js"(exports) {
+ "use strict";
+ Object.defineProperty(exports, "__esModule", { value: true });
+ exports.onErrorResumeNext = void 0;
+ var Observable_1 = require_Observable();
+ var argsOrArgArray_1 = require_argsOrArgArray();
+ var OperatorSubscriber_1 = require_OperatorSubscriber();
+ var noop_1 = require_noop();
+ var innerFrom_1 = require_innerFrom();
+ function onErrorResumeNext() {
+ var sources = [];
+ for (var _i = 0; _i < arguments.length; _i++) {
+ sources[_i] = arguments[_i];
+ }
+ var nextSources = argsOrArgArray_1.argsOrArgArray(sources);
+ return new Observable_1.Observable(function(subscriber) {
+ var sourceIndex = 0;
+ var subscribeNext = /* @__PURE__ */ __name(function() {
+ if (sourceIndex < nextSources.length) {
+ var nextSource = void 0;
+ try {
+ nextSource = innerFrom_1.innerFrom(nextSources[sourceIndex++]);
+ } catch (err) {
+ subscribeNext();
+ return;
+ }
+ var innerSubscriber = new OperatorSubscriber_1.OperatorSubscriber(subscriber, void 0, noop_1.noop, noop_1.noop);
+ nextSource.subscribe(innerSubscriber);
+ innerSubscriber.add(subscribeNext);
+ } else {
+ subscriber.complete();
+ }
+ }, "subscribeNext");
+ subscribeNext();
+ });
+ }
+ __name(onErrorResumeNext, "onErrorResumeNext");
+ exports.onErrorResumeNext = onErrorResumeNext;
+ }
+});
+
+// ../../node_modules/.pnpm/rxjs@7.8.2/node_modules/rxjs/dist/cjs/internal/operators/onErrorResumeNextWith.js
+var require_onErrorResumeNextWith = __commonJS({
+ "../../node_modules/.pnpm/rxjs@7.8.2/node_modules/rxjs/dist/cjs/internal/operators/onErrorResumeNextWith.js"(exports) {
+ "use strict";
+ var __read = exports && exports.__read || function(o, n) {
+ var m = typeof Symbol === "function" && o[Symbol.iterator];
+ if (!m) return o;
+ var i = m.call(o), r, ar = [], e;
+ try {
+ while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);
+ } catch (error) {
+ e = { error };
+ } finally {
+ try {
+ if (r && !r.done && (m = i["return"])) m.call(i);
+ } finally {
+ if (e) throw e.error;
+ }
+ }
+ return ar;
+ };
+ var __spreadArray = exports && exports.__spreadArray || function(to, from) {
+ for (var i = 0, il = from.length, j = to.length; i < il; i++, j++)
+ to[j] = from[i];
+ return to;
+ };
+ Object.defineProperty(exports, "__esModule", { value: true });
+ exports.onErrorResumeNext = exports.onErrorResumeNextWith = void 0;
+ var argsOrArgArray_1 = require_argsOrArgArray();
+ var onErrorResumeNext_1 = require_onErrorResumeNext();
+ function onErrorResumeNextWith() {
+ var sources = [];
+ for (var _i = 0; _i < arguments.length; _i++) {
+ sources[_i] = arguments[_i];
+ }
+ var nextSources = argsOrArgArray_1.argsOrArgArray(sources);
+ return function(source) {
+ return onErrorResumeNext_1.onErrorResumeNext.apply(void 0, __spreadArray([source], __read(nextSources)));
+ };
+ }
+ __name(onErrorResumeNextWith, "onErrorResumeNextWith");
+ exports.onErrorResumeNextWith = onErrorResumeNextWith;
+ exports.onErrorResumeNext = onErrorResumeNextWith;
+ }
+});
+
+// ../../node_modules/.pnpm/rxjs@7.8.2/node_modules/rxjs/dist/cjs/internal/operators/pairwise.js
+var require_pairwise = __commonJS({
+ "../../node_modules/.pnpm/rxjs@7.8.2/node_modules/rxjs/dist/cjs/internal/operators/pairwise.js"(exports) {
+ "use strict";
+ Object.defineProperty(exports, "__esModule", { value: true });
+ exports.pairwise = void 0;
+ var lift_1 = require_lift();
+ var OperatorSubscriber_1 = require_OperatorSubscriber();
+ function pairwise() {
+ return lift_1.operate(function(source, subscriber) {
+ var prev;
+ var hasPrev = false;
+ source.subscribe(OperatorSubscriber_1.createOperatorSubscriber(subscriber, function(value) {
+ var p = prev;
+ prev = value;
+ hasPrev && subscriber.next([p, value]);
+ hasPrev = true;
+ }));
+ });
+ }
+ __name(pairwise, "pairwise");
+ exports.pairwise = pairwise;
+ }
+});
+
+// ../../node_modules/.pnpm/rxjs@7.8.2/node_modules/rxjs/dist/cjs/internal/util/not.js
+var require_not = __commonJS({
+ "../../node_modules/.pnpm/rxjs@7.8.2/node_modules/rxjs/dist/cjs/internal/util/not.js"(exports) {
+ "use strict";
+ Object.defineProperty(exports, "__esModule", { value: true });
+ exports.not = void 0;
+ function not(pred, thisArg) {
+ return function(value, index) {
+ return !pred.call(thisArg, value, index);
+ };
+ }
+ __name(not, "not");
+ exports.not = not;
+ }
+});
+
+// ../../node_modules/.pnpm/rxjs@7.8.2/node_modules/rxjs/dist/cjs/internal/operators/partition.js
+var require_partition = __commonJS({
+ "../../node_modules/.pnpm/rxjs@7.8.2/node_modules/rxjs/dist/cjs/internal/operators/partition.js"(exports) {
+ "use strict";
+ Object.defineProperty(exports, "__esModule", { value: true });
+ exports.partition = void 0;
+ var not_1 = require_not();
+ var filter_1 = require_filter2();
+ function partition(predicate, thisArg) {
+ return function(source) {
+ return [filter_1.filter(predicate, thisArg)(source), filter_1.filter(not_1.not(predicate, thisArg))(source)];
+ };
+ }
+ __name(partition, "partition");
+ exports.partition = partition;
+ }
+});
+
+// ../../node_modules/.pnpm/rxjs@7.8.2/node_modules/rxjs/dist/cjs/internal/operators/pluck.js
+var require_pluck = __commonJS({
+ "../../node_modules/.pnpm/rxjs@7.8.2/node_modules/rxjs/dist/cjs/internal/operators/pluck.js"(exports) {
+ "use strict";
+ Object.defineProperty(exports, "__esModule", { value: true });
+ exports.pluck = void 0;
+ var map_1 = require_map2();
+ function pluck() {
+ var properties = [];
+ for (var _i = 0; _i < arguments.length; _i++) {
+ properties[_i] = arguments[_i];
+ }
+ var length = properties.length;
+ if (length === 0) {
+ throw new Error("list of properties cannot be empty.");
+ }
+ return map_1.map(function(x) {
+ var currentProp = x;
+ for (var i = 0; i < length; i++) {
+ var p = currentProp === null || currentProp === void 0 ? void 0 : currentProp[properties[i]];
+ if (typeof p !== "undefined") {
+ currentProp = p;
+ } else {
+ return void 0;
+ }
+ }
+ return currentProp;
+ });
+ }
+ __name(pluck, "pluck");
+ exports.pluck = pluck;
+ }
+});
+
+// ../../node_modules/.pnpm/rxjs@7.8.2/node_modules/rxjs/dist/cjs/internal/operators/publish.js
+var require_publish = __commonJS({
+ "../../node_modules/.pnpm/rxjs@7.8.2/node_modules/rxjs/dist/cjs/internal/operators/publish.js"(exports) {
+ "use strict";
+ Object.defineProperty(exports, "__esModule", { value: true });
+ exports.publish = void 0;
+ var Subject_1 = require_Subject();
+ var multicast_1 = require_multicast();
+ var connect_1 = require_connect();
+ function publish(selector) {
+ return selector ? function(source) {
+ return connect_1.connect(selector)(source);
+ } : function(source) {
+ return multicast_1.multicast(new Subject_1.Subject())(source);
+ };
+ }
+ __name(publish, "publish");
+ exports.publish = publish;
+ }
+});
+
+// ../../node_modules/.pnpm/rxjs@7.8.2/node_modules/rxjs/dist/cjs/internal/BehaviorSubject.js
+var require_BehaviorSubject = __commonJS({
+ "../../node_modules/.pnpm/rxjs@7.8.2/node_modules/rxjs/dist/cjs/internal/BehaviorSubject.js"(exports) {
+ "use strict";
+ var __extends = exports && exports.__extends || /* @__PURE__ */ (function() {
+ var extendStatics = /* @__PURE__ */ __name(function(d, b) {
+ extendStatics = Object.setPrototypeOf || { __proto__: [] } instanceof Array && function(d2, b2) {
+ d2.__proto__ = b2;
+ } || function(d2, b2) {
+ for (var p in b2) if (Object.prototype.hasOwnProperty.call(b2, p)) d2[p] = b2[p];
+ };
+ return extendStatics(d, b);
+ }, "extendStatics");
+ return function(d, b) {
+ if (typeof b !== "function" && b !== null)
+ throw new TypeError("Class extends value " + String(b) + " is not a constructor or null");
+ extendStatics(d, b);
+ function __() {
+ this.constructor = d;
+ }
+ __name(__, "__");
+ d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());
+ };
+ })();
+ Object.defineProperty(exports, "__esModule", { value: true });
+ exports.BehaviorSubject = void 0;
+ var Subject_1 = require_Subject();
+ var BehaviorSubject = (function(_super) {
+ __extends(BehaviorSubject2, _super);
+ function BehaviorSubject2(_value) {
+ var _this = _super.call(this) || this;
+ _this._value = _value;
+ return _this;
+ }
+ __name(BehaviorSubject2, "BehaviorSubject");
+ Object.defineProperty(BehaviorSubject2.prototype, "value", {
+ get: /* @__PURE__ */ __name(function() {
+ return this.getValue();
+ }, "get"),
+ enumerable: false,
+ configurable: true
+ });
+ BehaviorSubject2.prototype._subscribe = function(subscriber) {
+ var subscription = _super.prototype._subscribe.call(this, subscriber);
+ !subscription.closed && subscriber.next(this._value);
+ return subscription;
+ };
+ BehaviorSubject2.prototype.getValue = function() {
+ var _a = this, hasError = _a.hasError, thrownError = _a.thrownError, _value = _a._value;
+ if (hasError) {
+ throw thrownError;
+ }
+ this._throwIfClosed();
+ return _value;
+ };
+ BehaviorSubject2.prototype.next = function(value) {
+ _super.prototype.next.call(this, this._value = value);
+ };
+ return BehaviorSubject2;
+ })(Subject_1.Subject);
+ exports.BehaviorSubject = BehaviorSubject;
+ }
+});
+
+// ../../node_modules/.pnpm/rxjs@7.8.2/node_modules/rxjs/dist/cjs/internal/operators/publishBehavior.js
+var require_publishBehavior = __commonJS({
+ "../../node_modules/.pnpm/rxjs@7.8.2/node_modules/rxjs/dist/cjs/internal/operators/publishBehavior.js"(exports) {
+ "use strict";
+ Object.defineProperty(exports, "__esModule", { value: true });
+ exports.publishBehavior = void 0;
+ var BehaviorSubject_1 = require_BehaviorSubject();
+ var ConnectableObservable_1 = require_ConnectableObservable();
+ function publishBehavior(initialValue) {
+ return function(source) {
+ var subject = new BehaviorSubject_1.BehaviorSubject(initialValue);
+ return new ConnectableObservable_1.ConnectableObservable(source, function() {
+ return subject;
+ });
+ };
+ }
+ __name(publishBehavior, "publishBehavior");
+ exports.publishBehavior = publishBehavior;
+ }
+});
+
+// ../../node_modules/.pnpm/rxjs@7.8.2/node_modules/rxjs/dist/cjs/internal/AsyncSubject.js
+var require_AsyncSubject = __commonJS({
+ "../../node_modules/.pnpm/rxjs@7.8.2/node_modules/rxjs/dist/cjs/internal/AsyncSubject.js"(exports) {
+ "use strict";
+ var __extends = exports && exports.__extends || /* @__PURE__ */ (function() {
+ var extendStatics = /* @__PURE__ */ __name(function(d, b) {
+ extendStatics = Object.setPrototypeOf || { __proto__: [] } instanceof Array && function(d2, b2) {
+ d2.__proto__ = b2;
+ } || function(d2, b2) {
+ for (var p in b2) if (Object.prototype.hasOwnProperty.call(b2, p)) d2[p] = b2[p];
+ };
+ return extendStatics(d, b);
+ }, "extendStatics");
+ return function(d, b) {
+ if (typeof b !== "function" && b !== null)
+ throw new TypeError("Class extends value " + String(b) + " is not a constructor or null");
+ extendStatics(d, b);
+ function __() {
+ this.constructor = d;
+ }
+ __name(__, "__");
+ d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());
+ };
+ })();
+ Object.defineProperty(exports, "__esModule", { value: true });
+ exports.AsyncSubject = void 0;
+ var Subject_1 = require_Subject();
+ var AsyncSubject = (function(_super) {
+ __extends(AsyncSubject2, _super);
+ function AsyncSubject2() {
+ var _this = _super !== null && _super.apply(this, arguments) || this;
+ _this._value = null;
+ _this._hasValue = false;
+ _this._isComplete = false;
+ return _this;
+ }
+ __name(AsyncSubject2, "AsyncSubject");
+ AsyncSubject2.prototype._checkFinalizedStatuses = function(subscriber) {
+ var _a = this, hasError = _a.hasError, _hasValue = _a._hasValue, _value = _a._value, thrownError = _a.thrownError, isStopped = _a.isStopped, _isComplete = _a._isComplete;
+ if (hasError) {
+ subscriber.error(thrownError);
+ } else if (isStopped || _isComplete) {
+ _hasValue && subscriber.next(_value);
+ subscriber.complete();
+ }
+ };
+ AsyncSubject2.prototype.next = function(value) {
+ if (!this.isStopped) {
+ this._value = value;
+ this._hasValue = true;
+ }
+ };
+ AsyncSubject2.prototype.complete = function() {
+ var _a = this, _hasValue = _a._hasValue, _value = _a._value, _isComplete = _a._isComplete;
+ if (!_isComplete) {
+ this._isComplete = true;
+ _hasValue && _super.prototype.next.call(this, _value);
+ _super.prototype.complete.call(this);
+ }
+ };
+ return AsyncSubject2;
+ })(Subject_1.Subject);
+ exports.AsyncSubject = AsyncSubject;
+ }
+});
+
+// ../../node_modules/.pnpm/rxjs@7.8.2/node_modules/rxjs/dist/cjs/internal/operators/publishLast.js
+var require_publishLast = __commonJS({
+ "../../node_modules/.pnpm/rxjs@7.8.2/node_modules/rxjs/dist/cjs/internal/operators/publishLast.js"(exports) {
+ "use strict";
+ Object.defineProperty(exports, "__esModule", { value: true });
+ exports.publishLast = void 0;
+ var AsyncSubject_1 = require_AsyncSubject();
+ var ConnectableObservable_1 = require_ConnectableObservable();
+ function publishLast() {
+ return function(source) {
+ var subject = new AsyncSubject_1.AsyncSubject();
+ return new ConnectableObservable_1.ConnectableObservable(source, function() {
+ return subject;
+ });
+ };
+ }
+ __name(publishLast, "publishLast");
+ exports.publishLast = publishLast;
+ }
+});
+
+// ../../node_modules/.pnpm/rxjs@7.8.2/node_modules/rxjs/dist/cjs/internal/ReplaySubject.js
+var require_ReplaySubject = __commonJS({
+ "../../node_modules/.pnpm/rxjs@7.8.2/node_modules/rxjs/dist/cjs/internal/ReplaySubject.js"(exports) {
+ "use strict";
+ var __extends = exports && exports.__extends || /* @__PURE__ */ (function() {
+ var extendStatics = /* @__PURE__ */ __name(function(d, b) {
+ extendStatics = Object.setPrototypeOf || { __proto__: [] } instanceof Array && function(d2, b2) {
+ d2.__proto__ = b2;
+ } || function(d2, b2) {
+ for (var p in b2) if (Object.prototype.hasOwnProperty.call(b2, p)) d2[p] = b2[p];
+ };
+ return extendStatics(d, b);
+ }, "extendStatics");
+ return function(d, b) {
+ if (typeof b !== "function" && b !== null)
+ throw new TypeError("Class extends value " + String(b) + " is not a constructor or null");
+ extendStatics(d, b);
+ function __() {
+ this.constructor = d;
+ }
+ __name(__, "__");
+ d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());
+ };
+ })();
+ Object.defineProperty(exports, "__esModule", { value: true });
+ exports.ReplaySubject = void 0;
+ var Subject_1 = require_Subject();
+ var dateTimestampProvider_1 = require_dateTimestampProvider();
+ var ReplaySubject = (function(_super) {
+ __extends(ReplaySubject2, _super);
+ function ReplaySubject2(_bufferSize, _windowTime, _timestampProvider) {
+ if (_bufferSize === void 0) {
+ _bufferSize = Infinity;
+ }
+ if (_windowTime === void 0) {
+ _windowTime = Infinity;
+ }
+ if (_timestampProvider === void 0) {
+ _timestampProvider = dateTimestampProvider_1.dateTimestampProvider;
+ }
+ var _this = _super.call(this) || this;
+ _this._bufferSize = _bufferSize;
+ _this._windowTime = _windowTime;
+ _this._timestampProvider = _timestampProvider;
+ _this._buffer = [];
+ _this._infiniteTimeWindow = true;
+ _this._infiniteTimeWindow = _windowTime === Infinity;
+ _this._bufferSize = Math.max(1, _bufferSize);
+ _this._windowTime = Math.max(1, _windowTime);
+ return _this;
+ }
+ __name(ReplaySubject2, "ReplaySubject");
+ ReplaySubject2.prototype.next = function(value) {
+ var _a = this, isStopped = _a.isStopped, _buffer = _a._buffer, _infiniteTimeWindow = _a._infiniteTimeWindow, _timestampProvider = _a._timestampProvider, _windowTime = _a._windowTime;
+ if (!isStopped) {
+ _buffer.push(value);
+ !_infiniteTimeWindow && _buffer.push(_timestampProvider.now() + _windowTime);
+ }
+ this._trimBuffer();
+ _super.prototype.next.call(this, value);
+ };
+ ReplaySubject2.prototype._subscribe = function(subscriber) {
+ this._throwIfClosed();
+ this._trimBuffer();
+ var subscription = this._innerSubscribe(subscriber);
+ var _a = this, _infiniteTimeWindow = _a._infiniteTimeWindow, _buffer = _a._buffer;
+ var copy = _buffer.slice();
+ for (var i = 0; i < copy.length && !subscriber.closed; i += _infiniteTimeWindow ? 1 : 2) {
+ subscriber.next(copy[i]);
+ }
+ this._checkFinalizedStatuses(subscriber);
+ return subscription;
+ };
+ ReplaySubject2.prototype._trimBuffer = function() {
+ var _a = this, _bufferSize = _a._bufferSize, _timestampProvider = _a._timestampProvider, _buffer = _a._buffer, _infiniteTimeWindow = _a._infiniteTimeWindow;
+ var adjustedBufferSize = (_infiniteTimeWindow ? 1 : 2) * _bufferSize;
+ _bufferSize < Infinity && adjustedBufferSize < _buffer.length && _buffer.splice(0, _buffer.length - adjustedBufferSize);
+ if (!_infiniteTimeWindow) {
+ var now = _timestampProvider.now();
+ var last = 0;
+ for (var i = 1; i < _buffer.length && _buffer[i] <= now; i += 2) {
+ last = i;
+ }
+ last && _buffer.splice(0, last + 1);
+ }
+ };
+ return ReplaySubject2;
+ })(Subject_1.Subject);
+ exports.ReplaySubject = ReplaySubject;
+ }
+});
+
+// ../../node_modules/.pnpm/rxjs@7.8.2/node_modules/rxjs/dist/cjs/internal/operators/publishReplay.js
+var require_publishReplay = __commonJS({
+ "../../node_modules/.pnpm/rxjs@7.8.2/node_modules/rxjs/dist/cjs/internal/operators/publishReplay.js"(exports) {
+ "use strict";
+ Object.defineProperty(exports, "__esModule", { value: true });
+ exports.publishReplay = void 0;
+ var ReplaySubject_1 = require_ReplaySubject();
+ var multicast_1 = require_multicast();
+ var isFunction_1 = require_isFunction();
+ function publishReplay(bufferSize, windowTime, selectorOrScheduler, timestampProvider) {
+ if (selectorOrScheduler && !isFunction_1.isFunction(selectorOrScheduler)) {
+ timestampProvider = selectorOrScheduler;
+ }
+ var selector = isFunction_1.isFunction(selectorOrScheduler) ? selectorOrScheduler : void 0;
+ return function(source) {
+ return multicast_1.multicast(new ReplaySubject_1.ReplaySubject(bufferSize, windowTime, timestampProvider), selector)(source);
+ };
+ }
+ __name(publishReplay, "publishReplay");
+ exports.publishReplay = publishReplay;
+ }
+});
+
+// ../../node_modules/.pnpm/rxjs@7.8.2/node_modules/rxjs/dist/cjs/internal/observable/race.js
+var require_race = __commonJS({
+ "../../node_modules/.pnpm/rxjs@7.8.2/node_modules/rxjs/dist/cjs/internal/observable/race.js"(exports) {
+ "use strict";
+ Object.defineProperty(exports, "__esModule", { value: true });
+ exports.raceInit = exports.race = void 0;
+ var Observable_1 = require_Observable();
+ var innerFrom_1 = require_innerFrom();
+ var argsOrArgArray_1 = require_argsOrArgArray();
+ var OperatorSubscriber_1 = require_OperatorSubscriber();
+ function race() {
+ var sources = [];
+ for (var _i = 0; _i < arguments.length; _i++) {
+ sources[_i] = arguments[_i];
+ }
+ sources = argsOrArgArray_1.argsOrArgArray(sources);
+ return sources.length === 1 ? innerFrom_1.innerFrom(sources[0]) : new Observable_1.Observable(raceInit(sources));
+ }
+ __name(race, "race");
+ exports.race = race;
+ function raceInit(sources) {
+ return function(subscriber) {
+ var subscriptions = [];
+ var _loop_1 = /* @__PURE__ */ __name(function(i2) {
+ subscriptions.push(innerFrom_1.innerFrom(sources[i2]).subscribe(OperatorSubscriber_1.createOperatorSubscriber(subscriber, function(value) {
+ if (subscriptions) {
+ for (var s = 0; s < subscriptions.length; s++) {
+ s !== i2 && subscriptions[s].unsubscribe();
+ }
+ subscriptions = null;
+ }
+ subscriber.next(value);
+ })));
+ }, "_loop_1");
+ for (var i = 0; subscriptions && !subscriber.closed && i < sources.length; i++) {
+ _loop_1(i);
+ }
+ };
+ }
+ __name(raceInit, "raceInit");
+ exports.raceInit = raceInit;
+ }
+});
+
+// ../../node_modules/.pnpm/rxjs@7.8.2/node_modules/rxjs/dist/cjs/internal/operators/raceWith.js
+var require_raceWith = __commonJS({
+ "../../node_modules/.pnpm/rxjs@7.8.2/node_modules/rxjs/dist/cjs/internal/operators/raceWith.js"(exports) {
+ "use strict";
+ var __read = exports && exports.__read || function(o, n) {
+ var m = typeof Symbol === "function" && o[Symbol.iterator];
+ if (!m) return o;
+ var i = m.call(o), r, ar = [], e;
+ try {
+ while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);
+ } catch (error) {
+ e = { error };
+ } finally {
+ try {
+ if (r && !r.done && (m = i["return"])) m.call(i);
+ } finally {
+ if (e) throw e.error;
+ }
+ }
+ return ar;
+ };
+ var __spreadArray = exports && exports.__spreadArray || function(to, from) {
+ for (var i = 0, il = from.length, j = to.length; i < il; i++, j++)
+ to[j] = from[i];
+ return to;
+ };
+ Object.defineProperty(exports, "__esModule", { value: true });
+ exports.raceWith = void 0;
+ var race_1 = require_race();
+ var lift_1 = require_lift();
+ var identity_1 = require_identity();
+ function raceWith() {
+ var otherSources = [];
+ for (var _i = 0; _i < arguments.length; _i++) {
+ otherSources[_i] = arguments[_i];
+ }
+ return !otherSources.length ? identity_1.identity : lift_1.operate(function(source, subscriber) {
+ race_1.raceInit(__spreadArray([source], __read(otherSources)))(subscriber);
+ });
+ }
+ __name(raceWith, "raceWith");
+ exports.raceWith = raceWith;
+ }
+});
+
+// ../../node_modules/.pnpm/rxjs@7.8.2/node_modules/rxjs/dist/cjs/internal/operators/race.js
+var require_race2 = __commonJS({
+ "../../node_modules/.pnpm/rxjs@7.8.2/node_modules/rxjs/dist/cjs/internal/operators/race.js"(exports) {
+ "use strict";
+ var __read = exports && exports.__read || function(o, n) {
+ var m = typeof Symbol === "function" && o[Symbol.iterator];
+ if (!m) return o;
+ var i = m.call(o), r, ar = [], e;
+ try {
+ while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);
+ } catch (error) {
+ e = { error };
+ } finally {
+ try {
+ if (r && !r.done && (m = i["return"])) m.call(i);
+ } finally {
+ if (e) throw e.error;
+ }
+ }
+ return ar;
+ };
+ var __spreadArray = exports && exports.__spreadArray || function(to, from) {
+ for (var i = 0, il = from.length, j = to.length; i < il; i++, j++)
+ to[j] = from[i];
+ return to;
+ };
+ Object.defineProperty(exports, "__esModule", { value: true });
+ exports.race = void 0;
+ var argsOrArgArray_1 = require_argsOrArgArray();
+ var raceWith_1 = require_raceWith();
+ function race() {
+ var args = [];
+ for (var _i = 0; _i < arguments.length; _i++) {
+ args[_i] = arguments[_i];
+ }
+ return raceWith_1.raceWith.apply(void 0, __spreadArray([], __read(argsOrArgArray_1.argsOrArgArray(args))));
+ }
+ __name(race, "race");
+ exports.race = race;
+ }
+});
+
+// ../../node_modules/.pnpm/rxjs@7.8.2/node_modules/rxjs/dist/cjs/internal/operators/repeat.js
+var require_repeat = __commonJS({
+ "../../node_modules/.pnpm/rxjs@7.8.2/node_modules/rxjs/dist/cjs/internal/operators/repeat.js"(exports) {
+ "use strict";
+ Object.defineProperty(exports, "__esModule", { value: true });
+ exports.repeat = void 0;
+ var empty_1 = require_empty();
+ var lift_1 = require_lift();
+ var OperatorSubscriber_1 = require_OperatorSubscriber();
+ var innerFrom_1 = require_innerFrom();
+ var timer_1 = require_timer();
+ function repeat(countOrConfig) {
+ var _a;
+ var count = Infinity;
+ var delay;
+ if (countOrConfig != null) {
+ if (typeof countOrConfig === "object") {
+ _a = countOrConfig.count, count = _a === void 0 ? Infinity : _a, delay = countOrConfig.delay;
+ } else {
+ count = countOrConfig;
+ }
+ }
+ return count <= 0 ? function() {
+ return empty_1.EMPTY;
+ } : lift_1.operate(function(source, subscriber) {
+ var soFar = 0;
+ var sourceSub;
+ var resubscribe = /* @__PURE__ */ __name(function() {
+ sourceSub === null || sourceSub === void 0 ? void 0 : sourceSub.unsubscribe();
+ sourceSub = null;
+ if (delay != null) {
+ var notifier = typeof delay === "number" ? timer_1.timer(delay) : innerFrom_1.innerFrom(delay(soFar));
+ var notifierSubscriber_1 = OperatorSubscriber_1.createOperatorSubscriber(subscriber, function() {
+ notifierSubscriber_1.unsubscribe();
+ subscribeToSource();
+ });
+ notifier.subscribe(notifierSubscriber_1);
+ } else {
+ subscribeToSource();
+ }
+ }, "resubscribe");
+ var subscribeToSource = /* @__PURE__ */ __name(function() {
+ var syncUnsub = false;
+ sourceSub = source.subscribe(OperatorSubscriber_1.createOperatorSubscriber(subscriber, void 0, function() {
+ if (++soFar < count) {
+ if (sourceSub) {
+ resubscribe();
+ } else {
+ syncUnsub = true;
+ }
+ } else {
+ subscriber.complete();
+ }
+ }));
+ if (syncUnsub) {
+ resubscribe();
+ }
+ }, "subscribeToSource");
+ subscribeToSource();
+ });
+ }
+ __name(repeat, "repeat");
+ exports.repeat = repeat;
+ }
+});
+
+// ../../node_modules/.pnpm/rxjs@7.8.2/node_modules/rxjs/dist/cjs/internal/operators/repeatWhen.js
+var require_repeatWhen = __commonJS({
+ "../../node_modules/.pnpm/rxjs@7.8.2/node_modules/rxjs/dist/cjs/internal/operators/repeatWhen.js"(exports) {
+ "use strict";
+ Object.defineProperty(exports, "__esModule", { value: true });
+ exports.repeatWhen = void 0;
+ var innerFrom_1 = require_innerFrom();
+ var Subject_1 = require_Subject();
+ var lift_1 = require_lift();
+ var OperatorSubscriber_1 = require_OperatorSubscriber();
+ function repeatWhen(notifier) {
+ return lift_1.operate(function(source, subscriber) {
+ var innerSub;
+ var syncResub = false;
+ var completions$;
+ var isNotifierComplete = false;
+ var isMainComplete = false;
+ var checkComplete = /* @__PURE__ */ __name(function() {
+ return isMainComplete && isNotifierComplete && (subscriber.complete(), true);
+ }, "checkComplete");
+ var getCompletionSubject = /* @__PURE__ */ __name(function() {
+ if (!completions$) {
+ completions$ = new Subject_1.Subject();
+ innerFrom_1.innerFrom(notifier(completions$)).subscribe(OperatorSubscriber_1.createOperatorSubscriber(subscriber, function() {
+ if (innerSub) {
+ subscribeForRepeatWhen();
+ } else {
+ syncResub = true;
+ }
+ }, function() {
+ isNotifierComplete = true;
+ checkComplete();
+ }));
+ }
+ return completions$;
+ }, "getCompletionSubject");
+ var subscribeForRepeatWhen = /* @__PURE__ */ __name(function() {
+ isMainComplete = false;
+ innerSub = source.subscribe(OperatorSubscriber_1.createOperatorSubscriber(subscriber, void 0, function() {
+ isMainComplete = true;
+ !checkComplete() && getCompletionSubject().next();
+ }));
+ if (syncResub) {
+ innerSub.unsubscribe();
+ innerSub = null;
+ syncResub = false;
+ subscribeForRepeatWhen();
+ }
+ }, "subscribeForRepeatWhen");
+ subscribeForRepeatWhen();
+ });
+ }
+ __name(repeatWhen, "repeatWhen");
+ exports.repeatWhen = repeatWhen;
+ }
+});
+
+// ../../node_modules/.pnpm/rxjs@7.8.2/node_modules/rxjs/dist/cjs/internal/operators/retry.js
+var require_retry = __commonJS({
+ "../../node_modules/.pnpm/rxjs@7.8.2/node_modules/rxjs/dist/cjs/internal/operators/retry.js"(exports) {
+ "use strict";
+ Object.defineProperty(exports, "__esModule", { value: true });
+ exports.retry = void 0;
+ var lift_1 = require_lift();
+ var OperatorSubscriber_1 = require_OperatorSubscriber();
+ var identity_1 = require_identity();
+ var timer_1 = require_timer();
+ var innerFrom_1 = require_innerFrom();
+ function retry(configOrCount) {
+ if (configOrCount === void 0) {
+ configOrCount = Infinity;
+ }
+ var config;
+ if (configOrCount && typeof configOrCount === "object") {
+ config = configOrCount;
+ } else {
+ config = {
+ count: configOrCount
+ };
+ }
+ var _a = config.count, count = _a === void 0 ? Infinity : _a, delay = config.delay, _b = config.resetOnSuccess, resetOnSuccess = _b === void 0 ? false : _b;
+ return count <= 0 ? identity_1.identity : lift_1.operate(function(source, subscriber) {
+ var soFar = 0;
+ var innerSub;
+ var subscribeForRetry = /* @__PURE__ */ __name(function() {
+ var syncUnsub = false;
+ innerSub = source.subscribe(OperatorSubscriber_1.createOperatorSubscriber(subscriber, function(value) {
+ if (resetOnSuccess) {
+ soFar = 0;
+ }
+ subscriber.next(value);
+ }, void 0, function(err) {
+ if (soFar++ < count) {
+ var resub_1 = /* @__PURE__ */ __name(function() {
+ if (innerSub) {
+ innerSub.unsubscribe();
+ innerSub = null;
+ subscribeForRetry();
+ } else {
+ syncUnsub = true;
+ }
+ }, "resub_1");
+ if (delay != null) {
+ var notifier = typeof delay === "number" ? timer_1.timer(delay) : innerFrom_1.innerFrom(delay(err, soFar));
+ var notifierSubscriber_1 = OperatorSubscriber_1.createOperatorSubscriber(subscriber, function() {
+ notifierSubscriber_1.unsubscribe();
+ resub_1();
+ }, function() {
+ subscriber.complete();
+ });
+ notifier.subscribe(notifierSubscriber_1);
+ } else {
+ resub_1();
+ }
+ } else {
+ subscriber.error(err);
+ }
+ }));
+ if (syncUnsub) {
+ innerSub.unsubscribe();
+ innerSub = null;
+ subscribeForRetry();
+ }
+ }, "subscribeForRetry");
+ subscribeForRetry();
+ });
+ }
+ __name(retry, "retry");
+ exports.retry = retry;
+ }
+});
+
+// ../../node_modules/.pnpm/rxjs@7.8.2/node_modules/rxjs/dist/cjs/internal/operators/retryWhen.js
+var require_retryWhen = __commonJS({
+ "../../node_modules/.pnpm/rxjs@7.8.2/node_modules/rxjs/dist/cjs/internal/operators/retryWhen.js"(exports) {
+ "use strict";
+ Object.defineProperty(exports, "__esModule", { value: true });
+ exports.retryWhen = void 0;
+ var innerFrom_1 = require_innerFrom();
+ var Subject_1 = require_Subject();
+ var lift_1 = require_lift();
+ var OperatorSubscriber_1 = require_OperatorSubscriber();
+ function retryWhen(notifier) {
+ return lift_1.operate(function(source, subscriber) {
+ var innerSub;
+ var syncResub = false;
+ var errors$;
+ var subscribeForRetryWhen = /* @__PURE__ */ __name(function() {
+ innerSub = source.subscribe(OperatorSubscriber_1.createOperatorSubscriber(subscriber, void 0, void 0, function(err) {
+ if (!errors$) {
+ errors$ = new Subject_1.Subject();
+ innerFrom_1.innerFrom(notifier(errors$)).subscribe(OperatorSubscriber_1.createOperatorSubscriber(subscriber, function() {
+ return innerSub ? subscribeForRetryWhen() : syncResub = true;
+ }));
+ }
+ if (errors$) {
+ errors$.next(err);
+ }
+ }));
+ if (syncResub) {
+ innerSub.unsubscribe();
+ innerSub = null;
+ syncResub = false;
+ subscribeForRetryWhen();
+ }
+ }, "subscribeForRetryWhen");
+ subscribeForRetryWhen();
+ });
+ }
+ __name(retryWhen, "retryWhen");
+ exports.retryWhen = retryWhen;
+ }
+});
+
+// ../../node_modules/.pnpm/rxjs@7.8.2/node_modules/rxjs/dist/cjs/internal/operators/sample.js
+var require_sample = __commonJS({
+ "../../node_modules/.pnpm/rxjs@7.8.2/node_modules/rxjs/dist/cjs/internal/operators/sample.js"(exports) {
+ "use strict";
+ Object.defineProperty(exports, "__esModule", { value: true });
+ exports.sample = void 0;
+ var innerFrom_1 = require_innerFrom();
+ var lift_1 = require_lift();
+ var noop_1 = require_noop();
+ var OperatorSubscriber_1 = require_OperatorSubscriber();
+ function sample(notifier) {
+ return lift_1.operate(function(source, subscriber) {
+ var hasValue = false;
+ var lastValue = null;
+ source.subscribe(OperatorSubscriber_1.createOperatorSubscriber(subscriber, function(value) {
+ hasValue = true;
+ lastValue = value;
+ }));
+ innerFrom_1.innerFrom(notifier).subscribe(OperatorSubscriber_1.createOperatorSubscriber(subscriber, function() {
+ if (hasValue) {
+ hasValue = false;
+ var value = lastValue;
+ lastValue = null;
+ subscriber.next(value);
+ }
+ }, noop_1.noop));
+ });
+ }
+ __name(sample, "sample");
+ exports.sample = sample;
+ }
+});
+
+// ../../node_modules/.pnpm/rxjs@7.8.2/node_modules/rxjs/dist/cjs/internal/observable/interval.js
+var require_interval = __commonJS({
+ "../../node_modules/.pnpm/rxjs@7.8.2/node_modules/rxjs/dist/cjs/internal/observable/interval.js"(exports) {
+ "use strict";
+ Object.defineProperty(exports, "__esModule", { value: true });
+ exports.interval = void 0;
+ var async_1 = require_async();
+ var timer_1 = require_timer();
+ function interval(period, scheduler) {
+ if (period === void 0) {
+ period = 0;
+ }
+ if (scheduler === void 0) {
+ scheduler = async_1.asyncScheduler;
+ }
+ if (period < 0) {
+ period = 0;
+ }
+ return timer_1.timer(period, period, scheduler);
+ }
+ __name(interval, "interval");
+ exports.interval = interval;
+ }
+});
+
+// ../../node_modules/.pnpm/rxjs@7.8.2/node_modules/rxjs/dist/cjs/internal/operators/sampleTime.js
+var require_sampleTime = __commonJS({
+ "../../node_modules/.pnpm/rxjs@7.8.2/node_modules/rxjs/dist/cjs/internal/operators/sampleTime.js"(exports) {
+ "use strict";
+ Object.defineProperty(exports, "__esModule", { value: true });
+ exports.sampleTime = void 0;
+ var async_1 = require_async();
+ var sample_1 = require_sample();
+ var interval_1 = require_interval();
+ function sampleTime(period, scheduler) {
+ if (scheduler === void 0) {
+ scheduler = async_1.asyncScheduler;
+ }
+ return sample_1.sample(interval_1.interval(period, scheduler));
+ }
+ __name(sampleTime, "sampleTime");
+ exports.sampleTime = sampleTime;
+ }
+});
+
+// ../../node_modules/.pnpm/rxjs@7.8.2/node_modules/rxjs/dist/cjs/internal/operators/scan.js
+var require_scan = __commonJS({
+ "../../node_modules/.pnpm/rxjs@7.8.2/node_modules/rxjs/dist/cjs/internal/operators/scan.js"(exports) {
+ "use strict";
+ Object.defineProperty(exports, "__esModule", { value: true });
+ exports.scan = void 0;
+ var lift_1 = require_lift();
+ var scanInternals_1 = require_scanInternals();
+ function scan(accumulator, seed) {
+ return lift_1.operate(scanInternals_1.scanInternals(accumulator, seed, arguments.length >= 2, true));
+ }
+ __name(scan, "scan");
+ exports.scan = scan;
+ }
+});
+
+// ../../node_modules/.pnpm/rxjs@7.8.2/node_modules/rxjs/dist/cjs/internal/operators/sequenceEqual.js
+var require_sequenceEqual = __commonJS({
+ "../../node_modules/.pnpm/rxjs@7.8.2/node_modules/rxjs/dist/cjs/internal/operators/sequenceEqual.js"(exports) {
+ "use strict";
+ Object.defineProperty(exports, "__esModule", { value: true });
+ exports.sequenceEqual = void 0;
+ var lift_1 = require_lift();
+ var OperatorSubscriber_1 = require_OperatorSubscriber();
+ var innerFrom_1 = require_innerFrom();
+ function sequenceEqual(compareTo, comparator) {
+ if (comparator === void 0) {
+ comparator = /* @__PURE__ */ __name(function(a, b) {
+ return a === b;
+ }, "comparator");
+ }
+ return lift_1.operate(function(source, subscriber) {
+ var aState = createState();
+ var bState = createState();
+ var emit = /* @__PURE__ */ __name(function(isEqual) {
+ subscriber.next(isEqual);
+ subscriber.complete();
+ }, "emit");
+ var createSubscriber = /* @__PURE__ */ __name(function(selfState, otherState) {
+ var sequenceEqualSubscriber = OperatorSubscriber_1.createOperatorSubscriber(subscriber, function(a) {
+ var buffer = otherState.buffer, complete = otherState.complete;
+ if (buffer.length === 0) {
+ complete ? emit(false) : selfState.buffer.push(a);
+ } else {
+ !comparator(a, buffer.shift()) && emit(false);
+ }
+ }, function() {
+ selfState.complete = true;
+ var complete = otherState.complete, buffer = otherState.buffer;
+ complete && emit(buffer.length === 0);
+ sequenceEqualSubscriber === null || sequenceEqualSubscriber === void 0 ? void 0 : sequenceEqualSubscriber.unsubscribe();
+ });
+ return sequenceEqualSubscriber;
+ }, "createSubscriber");
+ source.subscribe(createSubscriber(aState, bState));
+ innerFrom_1.innerFrom(compareTo).subscribe(createSubscriber(bState, aState));
+ });
+ }
+ __name(sequenceEqual, "sequenceEqual");
+ exports.sequenceEqual = sequenceEqual;
+ function createState() {
+ return {
+ buffer: [],
+ complete: false
+ };
+ }
+ __name(createState, "createState");
+ }
+});
+
+// ../../node_modules/.pnpm/rxjs@7.8.2/node_modules/rxjs/dist/cjs/internal/operators/share.js
+var require_share = __commonJS({
+ "../../node_modules/.pnpm/rxjs@7.8.2/node_modules/rxjs/dist/cjs/internal/operators/share.js"(exports) {
+ "use strict";
+ var __read = exports && exports.__read || function(o, n) {
+ var m = typeof Symbol === "function" && o[Symbol.iterator];
+ if (!m) return o;
+ var i = m.call(o), r, ar = [], e;
+ try {
+ while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);
+ } catch (error) {
+ e = { error };
+ } finally {
+ try {
+ if (r && !r.done && (m = i["return"])) m.call(i);
+ } finally {
+ if (e) throw e.error;
+ }
+ }
+ return ar;
+ };
+ var __spreadArray = exports && exports.__spreadArray || function(to, from) {
+ for (var i = 0, il = from.length, j = to.length; i < il; i++, j++)
+ to[j] = from[i];
+ return to;
+ };
+ Object.defineProperty(exports, "__esModule", { value: true });
+ exports.share = void 0;
+ var innerFrom_1 = require_innerFrom();
+ var Subject_1 = require_Subject();
+ var Subscriber_1 = require_Subscriber();
+ var lift_1 = require_lift();
+ function share(options) {
+ if (options === void 0) {
+ options = {};
+ }
+ var _a = options.connector, connector = _a === void 0 ? function() {
+ return new Subject_1.Subject();
+ } : _a, _b = options.resetOnError, resetOnError = _b === void 0 ? true : _b, _c = options.resetOnComplete, resetOnComplete = _c === void 0 ? true : _c, _d = options.resetOnRefCountZero, resetOnRefCountZero = _d === void 0 ? true : _d;
+ return function(wrapperSource) {
+ var connection;
+ var resetConnection;
+ var subject;
+ var refCount = 0;
+ var hasCompleted = false;
+ var hasErrored = false;
+ var cancelReset = /* @__PURE__ */ __name(function() {
+ resetConnection === null || resetConnection === void 0 ? void 0 : resetConnection.unsubscribe();
+ resetConnection = void 0;
+ }, "cancelReset");
+ var reset = /* @__PURE__ */ __name(function() {
+ cancelReset();
+ connection = subject = void 0;
+ hasCompleted = hasErrored = false;
+ }, "reset");
+ var resetAndUnsubscribe = /* @__PURE__ */ __name(function() {
+ var conn = connection;
+ reset();
+ conn === null || conn === void 0 ? void 0 : conn.unsubscribe();
+ }, "resetAndUnsubscribe");
+ return lift_1.operate(function(source, subscriber) {
+ refCount++;
+ if (!hasErrored && !hasCompleted) {
+ cancelReset();
+ }
+ var dest = subject = subject !== null && subject !== void 0 ? subject : connector();
+ subscriber.add(function() {
+ refCount--;
+ if (refCount === 0 && !hasErrored && !hasCompleted) {
+ resetConnection = handleReset(resetAndUnsubscribe, resetOnRefCountZero);
+ }
+ });
+ dest.subscribe(subscriber);
+ if (!connection && refCount > 0) {
+ connection = new Subscriber_1.SafeSubscriber({
+ next: /* @__PURE__ */ __name(function(value) {
+ return dest.next(value);
+ }, "next"),
+ error: /* @__PURE__ */ __name(function(err) {
+ hasErrored = true;
+ cancelReset();
+ resetConnection = handleReset(reset, resetOnError, err);
+ dest.error(err);
+ }, "error"),
+ complete: /* @__PURE__ */ __name(function() {
+ hasCompleted = true;
+ cancelReset();
+ resetConnection = handleReset(reset, resetOnComplete);
+ dest.complete();
+ }, "complete")
+ });
+ innerFrom_1.innerFrom(source).subscribe(connection);
+ }
+ })(wrapperSource);
+ };
+ }
+ __name(share, "share");
+ exports.share = share;
+ function handleReset(reset, on) {
+ var args = [];
+ for (var _i = 2; _i < arguments.length; _i++) {
+ args[_i - 2] = arguments[_i];
+ }
+ if (on === true) {
+ reset();
+ return;
+ }
+ if (on === false) {
+ return;
+ }
+ var onSubscriber = new Subscriber_1.SafeSubscriber({
+ next: /* @__PURE__ */ __name(function() {
+ onSubscriber.unsubscribe();
+ reset();
+ }, "next")
+ });
+ return innerFrom_1.innerFrom(on.apply(void 0, __spreadArray([], __read(args)))).subscribe(onSubscriber);
+ }
+ __name(handleReset, "handleReset");
+ }
+});
+
+// ../../node_modules/.pnpm/rxjs@7.8.2/node_modules/rxjs/dist/cjs/internal/operators/shareReplay.js
+var require_shareReplay = __commonJS({
+ "../../node_modules/.pnpm/rxjs@7.8.2/node_modules/rxjs/dist/cjs/internal/operators/shareReplay.js"(exports) {
+ "use strict";
+ Object.defineProperty(exports, "__esModule", { value: true });
+ exports.shareReplay = void 0;
+ var ReplaySubject_1 = require_ReplaySubject();
+ var share_1 = require_share();
+ function shareReplay(configOrBufferSize, windowTime, scheduler) {
+ var _a, _b, _c;
+ var bufferSize;
+ var refCount = false;
+ if (configOrBufferSize && typeof configOrBufferSize === "object") {
+ _a = configOrBufferSize.bufferSize, bufferSize = _a === void 0 ? Infinity : _a, _b = configOrBufferSize.windowTime, windowTime = _b === void 0 ? Infinity : _b, _c = configOrBufferSize.refCount, refCount = _c === void 0 ? false : _c, scheduler = configOrBufferSize.scheduler;
+ } else {
+ bufferSize = configOrBufferSize !== null && configOrBufferSize !== void 0 ? configOrBufferSize : Infinity;
+ }
+ return share_1.share({
+ connector: /* @__PURE__ */ __name(function() {
+ return new ReplaySubject_1.ReplaySubject(bufferSize, windowTime, scheduler);
+ }, "connector"),
+ resetOnError: true,
+ resetOnComplete: false,
+ resetOnRefCountZero: refCount
+ });
+ }
+ __name(shareReplay, "shareReplay");
+ exports.shareReplay = shareReplay;
+ }
+});
+
+// ../../node_modules/.pnpm/rxjs@7.8.2/node_modules/rxjs/dist/cjs/internal/util/SequenceError.js
+var require_SequenceError = __commonJS({
+ "../../node_modules/.pnpm/rxjs@7.8.2/node_modules/rxjs/dist/cjs/internal/util/SequenceError.js"(exports) {
+ "use strict";
+ Object.defineProperty(exports, "__esModule", { value: true });
+ exports.SequenceError = void 0;
+ var createErrorClass_1 = require_createErrorClass();
+ exports.SequenceError = createErrorClass_1.createErrorClass(function(_super) {
+ return /* @__PURE__ */ __name(function SequenceErrorImpl(message) {
+ _super(this);
+ this.name = "SequenceError";
+ this.message = message;
+ }, "SequenceErrorImpl");
+ });
+ }
+});
+
+// ../../node_modules/.pnpm/rxjs@7.8.2/node_modules/rxjs/dist/cjs/internal/util/NotFoundError.js
+var require_NotFoundError = __commonJS({
+ "../../node_modules/.pnpm/rxjs@7.8.2/node_modules/rxjs/dist/cjs/internal/util/NotFoundError.js"(exports) {
+ "use strict";
+ Object.defineProperty(exports, "__esModule", { value: true });
+ exports.NotFoundError = void 0;
+ var createErrorClass_1 = require_createErrorClass();
+ exports.NotFoundError = createErrorClass_1.createErrorClass(function(_super) {
+ return /* @__PURE__ */ __name(function NotFoundErrorImpl(message) {
+ _super(this);
+ this.name = "NotFoundError";
+ this.message = message;
+ }, "NotFoundErrorImpl");
+ });
+ }
+});
+
+// ../../node_modules/.pnpm/rxjs@7.8.2/node_modules/rxjs/dist/cjs/internal/operators/single.js
+var require_single = __commonJS({
+ "../../node_modules/.pnpm/rxjs@7.8.2/node_modules/rxjs/dist/cjs/internal/operators/single.js"(exports) {
+ "use strict";
+ Object.defineProperty(exports, "__esModule", { value: true });
+ exports.single = void 0;
+ var EmptyError_1 = require_EmptyError();
+ var SequenceError_1 = require_SequenceError();
+ var NotFoundError_1 = require_NotFoundError();
+ var lift_1 = require_lift();
+ var OperatorSubscriber_1 = require_OperatorSubscriber();
+ function single(predicate) {
+ return lift_1.operate(function(source, subscriber) {
+ var hasValue = false;
+ var singleValue;
+ var seenValue = false;
+ var index = 0;
+ source.subscribe(OperatorSubscriber_1.createOperatorSubscriber(subscriber, function(value) {
+ seenValue = true;
+ if (!predicate || predicate(value, index++, source)) {
+ hasValue && subscriber.error(new SequenceError_1.SequenceError("Too many matching values"));
+ hasValue = true;
+ singleValue = value;
+ }
+ }, function() {
+ if (hasValue) {
+ subscriber.next(singleValue);
+ subscriber.complete();
+ } else {
+ subscriber.error(seenValue ? new NotFoundError_1.NotFoundError("No matching values") : new EmptyError_1.EmptyError());
+ }
+ }));
+ });
+ }
+ __name(single, "single");
+ exports.single = single;
+ }
+});
+
+// ../../node_modules/.pnpm/rxjs@7.8.2/node_modules/rxjs/dist/cjs/internal/operators/skip.js
+var require_skip = __commonJS({
+ "../../node_modules/.pnpm/rxjs@7.8.2/node_modules/rxjs/dist/cjs/internal/operators/skip.js"(exports) {
+ "use strict";
+ Object.defineProperty(exports, "__esModule", { value: true });
+ exports.skip = void 0;
+ var filter_1 = require_filter2();
+ function skip(count) {
+ return filter_1.filter(function(_, index) {
+ return count <= index;
+ });
+ }
+ __name(skip, "skip");
+ exports.skip = skip;
+ }
+});
+
+// ../../node_modules/.pnpm/rxjs@7.8.2/node_modules/rxjs/dist/cjs/internal/operators/skipLast.js
+var require_skipLast = __commonJS({
+ "../../node_modules/.pnpm/rxjs@7.8.2/node_modules/rxjs/dist/cjs/internal/operators/skipLast.js"(exports) {
+ "use strict";
+ Object.defineProperty(exports, "__esModule", { value: true });
+ exports.skipLast = void 0;
+ var identity_1 = require_identity();
+ var lift_1 = require_lift();
+ var OperatorSubscriber_1 = require_OperatorSubscriber();
+ function skipLast(skipCount) {
+ return skipCount <= 0 ? identity_1.identity : lift_1.operate(function(source, subscriber) {
+ var ring = new Array(skipCount);
+ var seen = 0;
+ source.subscribe(OperatorSubscriber_1.createOperatorSubscriber(subscriber, function(value) {
+ var valueIndex = seen++;
+ if (valueIndex < skipCount) {
+ ring[valueIndex] = value;
+ } else {
+ var index = valueIndex % skipCount;
+ var oldValue = ring[index];
+ ring[index] = value;
+ subscriber.next(oldValue);
+ }
+ }));
+ return function() {
+ ring = null;
+ };
+ });
+ }
+ __name(skipLast, "skipLast");
+ exports.skipLast = skipLast;
+ }
+});
+
+// ../../node_modules/.pnpm/rxjs@7.8.2/node_modules/rxjs/dist/cjs/internal/operators/skipUntil.js
+var require_skipUntil = __commonJS({
+ "../../node_modules/.pnpm/rxjs@7.8.2/node_modules/rxjs/dist/cjs/internal/operators/skipUntil.js"(exports) {
+ "use strict";
+ Object.defineProperty(exports, "__esModule", { value: true });
+ exports.skipUntil = void 0;
+ var lift_1 = require_lift();
+ var OperatorSubscriber_1 = require_OperatorSubscriber();
+ var innerFrom_1 = require_innerFrom();
+ var noop_1 = require_noop();
+ function skipUntil(notifier) {
+ return lift_1.operate(function(source, subscriber) {
+ var taking = false;
+ var skipSubscriber = OperatorSubscriber_1.createOperatorSubscriber(subscriber, function() {
+ skipSubscriber === null || skipSubscriber === void 0 ? void 0 : skipSubscriber.unsubscribe();
+ taking = true;
+ }, noop_1.noop);
+ innerFrom_1.innerFrom(notifier).subscribe(skipSubscriber);
+ source.subscribe(OperatorSubscriber_1.createOperatorSubscriber(subscriber, function(value) {
+ return taking && subscriber.next(value);
+ }));
+ });
+ }
+ __name(skipUntil, "skipUntil");
+ exports.skipUntil = skipUntil;
+ }
+});
+
+// ../../node_modules/.pnpm/rxjs@7.8.2/node_modules/rxjs/dist/cjs/internal/operators/skipWhile.js
+var require_skipWhile = __commonJS({
+ "../../node_modules/.pnpm/rxjs@7.8.2/node_modules/rxjs/dist/cjs/internal/operators/skipWhile.js"(exports) {
+ "use strict";
+ Object.defineProperty(exports, "__esModule", { value: true });
+ exports.skipWhile = void 0;
+ var lift_1 = require_lift();
+ var OperatorSubscriber_1 = require_OperatorSubscriber();
+ function skipWhile(predicate) {
+ return lift_1.operate(function(source, subscriber) {
+ var taking = false;
+ var index = 0;
+ source.subscribe(OperatorSubscriber_1.createOperatorSubscriber(subscriber, function(value) {
+ return (taking || (taking = !predicate(value, index++))) && subscriber.next(value);
+ }));
+ });
+ }
+ __name(skipWhile, "skipWhile");
+ exports.skipWhile = skipWhile;
+ }
+});
+
+// ../../node_modules/.pnpm/rxjs@7.8.2/node_modules/rxjs/dist/cjs/internal/operators/startWith.js
+var require_startWith = __commonJS({
+ "../../node_modules/.pnpm/rxjs@7.8.2/node_modules/rxjs/dist/cjs/internal/operators/startWith.js"(exports) {
+ "use strict";
+ Object.defineProperty(exports, "__esModule", { value: true });
+ exports.startWith = void 0;
+ var concat_1 = require_concat3();
+ var args_1 = require_args();
+ var lift_1 = require_lift();
+ function startWith() {
+ var values = [];
+ for (var _i = 0; _i < arguments.length; _i++) {
+ values[_i] = arguments[_i];
+ }
+ var scheduler = args_1.popScheduler(values);
+ return lift_1.operate(function(source, subscriber) {
+ (scheduler ? concat_1.concat(values, source, scheduler) : concat_1.concat(values, source)).subscribe(subscriber);
+ });
+ }
+ __name(startWith, "startWith");
+ exports.startWith = startWith;
+ }
+});
+
+// ../../node_modules/.pnpm/rxjs@7.8.2/node_modules/rxjs/dist/cjs/internal/operators/switchMap.js
+var require_switchMap = __commonJS({
+ "../../node_modules/.pnpm/rxjs@7.8.2/node_modules/rxjs/dist/cjs/internal/operators/switchMap.js"(exports) {
+ "use strict";
+ Object.defineProperty(exports, "__esModule", { value: true });
+ exports.switchMap = void 0;
+ var innerFrom_1 = require_innerFrom();
+ var lift_1 = require_lift();
+ var OperatorSubscriber_1 = require_OperatorSubscriber();
+ function switchMap(project, resultSelector) {
+ return lift_1.operate(function(source, subscriber) {
+ var innerSubscriber = null;
+ var index = 0;
+ var isComplete = false;
+ var checkComplete = /* @__PURE__ */ __name(function() {
+ return isComplete && !innerSubscriber && subscriber.complete();
+ }, "checkComplete");
+ source.subscribe(OperatorSubscriber_1.createOperatorSubscriber(subscriber, function(value) {
+ innerSubscriber === null || innerSubscriber === void 0 ? void 0 : innerSubscriber.unsubscribe();
+ var innerIndex = 0;
+ var outerIndex = index++;
+ innerFrom_1.innerFrom(project(value, outerIndex)).subscribe(innerSubscriber = OperatorSubscriber_1.createOperatorSubscriber(subscriber, function(innerValue) {
+ return subscriber.next(resultSelector ? resultSelector(value, innerValue, outerIndex, innerIndex++) : innerValue);
+ }, function() {
+ innerSubscriber = null;
+ checkComplete();
+ }));
+ }, function() {
+ isComplete = true;
+ checkComplete();
+ }));
+ });
+ }
+ __name(switchMap, "switchMap");
+ exports.switchMap = switchMap;
+ }
+});
+
+// ../../node_modules/.pnpm/rxjs@7.8.2/node_modules/rxjs/dist/cjs/internal/operators/switchAll.js
+var require_switchAll = __commonJS({
+ "../../node_modules/.pnpm/rxjs@7.8.2/node_modules/rxjs/dist/cjs/internal/operators/switchAll.js"(exports) {
+ "use strict";
+ Object.defineProperty(exports, "__esModule", { value: true });
+ exports.switchAll = void 0;
+ var switchMap_1 = require_switchMap();
+ var identity_1 = require_identity();
+ function switchAll() {
+ return switchMap_1.switchMap(identity_1.identity);
+ }
+ __name(switchAll, "switchAll");
+ exports.switchAll = switchAll;
+ }
+});
+
+// ../../node_modules/.pnpm/rxjs@7.8.2/node_modules/rxjs/dist/cjs/internal/operators/switchMapTo.js
+var require_switchMapTo = __commonJS({
+ "../../node_modules/.pnpm/rxjs@7.8.2/node_modules/rxjs/dist/cjs/internal/operators/switchMapTo.js"(exports) {
+ "use strict";
+ Object.defineProperty(exports, "__esModule", { value: true });
+ exports.switchMapTo = void 0;
+ var switchMap_1 = require_switchMap();
+ var isFunction_1 = require_isFunction();
+ function switchMapTo(innerObservable, resultSelector) {
+ return isFunction_1.isFunction(resultSelector) ? switchMap_1.switchMap(function() {
+ return innerObservable;
+ }, resultSelector) : switchMap_1.switchMap(function() {
+ return innerObservable;
+ });
+ }
+ __name(switchMapTo, "switchMapTo");
+ exports.switchMapTo = switchMapTo;
+ }
+});
+
+// ../../node_modules/.pnpm/rxjs@7.8.2/node_modules/rxjs/dist/cjs/internal/operators/switchScan.js
+var require_switchScan = __commonJS({
+ "../../node_modules/.pnpm/rxjs@7.8.2/node_modules/rxjs/dist/cjs/internal/operators/switchScan.js"(exports) {
+ "use strict";
+ Object.defineProperty(exports, "__esModule", { value: true });
+ exports.switchScan = void 0;
+ var switchMap_1 = require_switchMap();
+ var lift_1 = require_lift();
+ function switchScan(accumulator, seed) {
+ return lift_1.operate(function(source, subscriber) {
+ var state = seed;
+ switchMap_1.switchMap(function(value, index) {
+ return accumulator(state, value, index);
+ }, function(_, innerValue) {
+ return state = innerValue, innerValue;
+ })(source).subscribe(subscriber);
+ return function() {
+ state = null;
+ };
+ });
+ }
+ __name(switchScan, "switchScan");
+ exports.switchScan = switchScan;
+ }
+});
+
+// ../../node_modules/.pnpm/rxjs@7.8.2/node_modules/rxjs/dist/cjs/internal/operators/takeUntil.js
+var require_takeUntil = __commonJS({
+ "../../node_modules/.pnpm/rxjs@7.8.2/node_modules/rxjs/dist/cjs/internal/operators/takeUntil.js"(exports) {
+ "use strict";
+ Object.defineProperty(exports, "__esModule", { value: true });
+ exports.takeUntil = void 0;
+ var lift_1 = require_lift();
+ var OperatorSubscriber_1 = require_OperatorSubscriber();
+ var innerFrom_1 = require_innerFrom();
+ var noop_1 = require_noop();
+ function takeUntil(notifier) {
+ return lift_1.operate(function(source, subscriber) {
+ innerFrom_1.innerFrom(notifier).subscribe(OperatorSubscriber_1.createOperatorSubscriber(subscriber, function() {
+ return subscriber.complete();
+ }, noop_1.noop));
+ !subscriber.closed && source.subscribe(subscriber);
+ });
+ }
+ __name(takeUntil, "takeUntil");
+ exports.takeUntil = takeUntil;
+ }
+});
+
+// ../../node_modules/.pnpm/rxjs@7.8.2/node_modules/rxjs/dist/cjs/internal/operators/takeWhile.js
+var require_takeWhile = __commonJS({
+ "../../node_modules/.pnpm/rxjs@7.8.2/node_modules/rxjs/dist/cjs/internal/operators/takeWhile.js"(exports) {
+ "use strict";
+ Object.defineProperty(exports, "__esModule", { value: true });
+ exports.takeWhile = void 0;
+ var lift_1 = require_lift();
+ var OperatorSubscriber_1 = require_OperatorSubscriber();
+ function takeWhile(predicate, inclusive) {
+ if (inclusive === void 0) {
+ inclusive = false;
+ }
+ return lift_1.operate(function(source, subscriber) {
+ var index = 0;
+ source.subscribe(OperatorSubscriber_1.createOperatorSubscriber(subscriber, function(value) {
+ var result = predicate(value, index++);
+ (result || inclusive) && subscriber.next(value);
+ !result && subscriber.complete();
+ }));
+ });
+ }
+ __name(takeWhile, "takeWhile");
+ exports.takeWhile = takeWhile;
+ }
+});
+
+// ../../node_modules/.pnpm/rxjs@7.8.2/node_modules/rxjs/dist/cjs/internal/operators/tap.js
+var require_tap = __commonJS({
+ "../../node_modules/.pnpm/rxjs@7.8.2/node_modules/rxjs/dist/cjs/internal/operators/tap.js"(exports) {
+ "use strict";
+ Object.defineProperty(exports, "__esModule", { value: true });
+ exports.tap = void 0;
+ var isFunction_1 = require_isFunction();
+ var lift_1 = require_lift();
+ var OperatorSubscriber_1 = require_OperatorSubscriber();
+ var identity_1 = require_identity();
+ function tap(observerOrNext, error, complete) {
+ var tapObserver = isFunction_1.isFunction(observerOrNext) || error || complete ? { next: observerOrNext, error, complete } : observerOrNext;
+ return tapObserver ? lift_1.operate(function(source, subscriber) {
+ var _a;
+ (_a = tapObserver.subscribe) === null || _a === void 0 ? void 0 : _a.call(tapObserver);
+ var isUnsub = true;
+ source.subscribe(OperatorSubscriber_1.createOperatorSubscriber(subscriber, function(value) {
+ var _a2;
+ (_a2 = tapObserver.next) === null || _a2 === void 0 ? void 0 : _a2.call(tapObserver, value);
+ subscriber.next(value);
+ }, function() {
+ var _a2;
+ isUnsub = false;
+ (_a2 = tapObserver.complete) === null || _a2 === void 0 ? void 0 : _a2.call(tapObserver);
+ subscriber.complete();
+ }, function(err) {
+ var _a2;
+ isUnsub = false;
+ (_a2 = tapObserver.error) === null || _a2 === void 0 ? void 0 : _a2.call(tapObserver, err);
+ subscriber.error(err);
+ }, function() {
+ var _a2, _b;
+ if (isUnsub) {
+ (_a2 = tapObserver.unsubscribe) === null || _a2 === void 0 ? void 0 : _a2.call(tapObserver);
+ }
+ (_b = tapObserver.finalize) === null || _b === void 0 ? void 0 : _b.call(tapObserver);
+ }));
+ }) : identity_1.identity;
+ }
+ __name(tap, "tap");
+ exports.tap = tap;
+ }
+});
+
+// ../../node_modules/.pnpm/rxjs@7.8.2/node_modules/rxjs/dist/cjs/internal/operators/throttle.js
+var require_throttle = __commonJS({
+ "../../node_modules/.pnpm/rxjs@7.8.2/node_modules/rxjs/dist/cjs/internal/operators/throttle.js"(exports) {
+ "use strict";
+ Object.defineProperty(exports, "__esModule", { value: true });
+ exports.throttle = void 0;
+ var lift_1 = require_lift();
+ var OperatorSubscriber_1 = require_OperatorSubscriber();
+ var innerFrom_1 = require_innerFrom();
+ function throttle(durationSelector, config) {
+ return lift_1.operate(function(source, subscriber) {
+ var _a = config !== null && config !== void 0 ? config : {}, _b = _a.leading, leading = _b === void 0 ? true : _b, _c = _a.trailing, trailing = _c === void 0 ? false : _c;
+ var hasValue = false;
+ var sendValue = null;
+ var throttled = null;
+ var isComplete = false;
+ var endThrottling = /* @__PURE__ */ __name(function() {
+ throttled === null || throttled === void 0 ? void 0 : throttled.unsubscribe();
+ throttled = null;
+ if (trailing) {
+ send();
+ isComplete && subscriber.complete();
+ }
+ }, "endThrottling");
+ var cleanupThrottling = /* @__PURE__ */ __name(function() {
+ throttled = null;
+ isComplete && subscriber.complete();
+ }, "cleanupThrottling");
+ var startThrottle = /* @__PURE__ */ __name(function(value) {
+ return throttled = innerFrom_1.innerFrom(durationSelector(value)).subscribe(OperatorSubscriber_1.createOperatorSubscriber(subscriber, endThrottling, cleanupThrottling));
+ }, "startThrottle");
+ var send = /* @__PURE__ */ __name(function() {
+ if (hasValue) {
+ hasValue = false;
+ var value = sendValue;
+ sendValue = null;
+ subscriber.next(value);
+ !isComplete && startThrottle(value);
+ }
+ }, "send");
+ source.subscribe(OperatorSubscriber_1.createOperatorSubscriber(subscriber, function(value) {
+ hasValue = true;
+ sendValue = value;
+ !(throttled && !throttled.closed) && (leading ? send() : startThrottle(value));
+ }, function() {
+ isComplete = true;
+ !(trailing && hasValue && throttled && !throttled.closed) && subscriber.complete();
+ }));
+ });
+ }
+ __name(throttle, "throttle");
+ exports.throttle = throttle;
+ }
+});
+
+// ../../node_modules/.pnpm/rxjs@7.8.2/node_modules/rxjs/dist/cjs/internal/operators/throttleTime.js
+var require_throttleTime = __commonJS({
+ "../../node_modules/.pnpm/rxjs@7.8.2/node_modules/rxjs/dist/cjs/internal/operators/throttleTime.js"(exports) {
+ "use strict";
+ Object.defineProperty(exports, "__esModule", { value: true });
+ exports.throttleTime = void 0;
+ var async_1 = require_async();
+ var throttle_1 = require_throttle();
+ var timer_1 = require_timer();
+ function throttleTime(duration, scheduler, config) {
+ if (scheduler === void 0) {
+ scheduler = async_1.asyncScheduler;
+ }
+ var duration$ = timer_1.timer(duration, scheduler);
+ return throttle_1.throttle(function() {
+ return duration$;
+ }, config);
+ }
+ __name(throttleTime, "throttleTime");
+ exports.throttleTime = throttleTime;
+ }
+});
+
+// ../../node_modules/.pnpm/rxjs@7.8.2/node_modules/rxjs/dist/cjs/internal/operators/timeInterval.js
+var require_timeInterval = __commonJS({
+ "../../node_modules/.pnpm/rxjs@7.8.2/node_modules/rxjs/dist/cjs/internal/operators/timeInterval.js"(exports) {
+ "use strict";
+ Object.defineProperty(exports, "__esModule", { value: true });
+ exports.TimeInterval = exports.timeInterval = void 0;
+ var async_1 = require_async();
+ var lift_1 = require_lift();
+ var OperatorSubscriber_1 = require_OperatorSubscriber();
+ function timeInterval(scheduler) {
+ if (scheduler === void 0) {
+ scheduler = async_1.asyncScheduler;
+ }
+ return lift_1.operate(function(source, subscriber) {
+ var last = scheduler.now();
+ source.subscribe(OperatorSubscriber_1.createOperatorSubscriber(subscriber, function(value) {
+ var now = scheduler.now();
+ var interval = now - last;
+ last = now;
+ subscriber.next(new TimeInterval(value, interval));
+ }));
+ });
+ }
+ __name(timeInterval, "timeInterval");
+ exports.timeInterval = timeInterval;
+ var TimeInterval = /* @__PURE__ */ (function() {
+ function TimeInterval2(value, interval) {
+ this.value = value;
+ this.interval = interval;
+ }
+ __name(TimeInterval2, "TimeInterval");
+ return TimeInterval2;
+ })();
+ exports.TimeInterval = TimeInterval;
+ }
+});
+
+// ../../node_modules/.pnpm/rxjs@7.8.2/node_modules/rxjs/dist/cjs/internal/operators/timeout.js
+var require_timeout = __commonJS({
+ "../../node_modules/.pnpm/rxjs@7.8.2/node_modules/rxjs/dist/cjs/internal/operators/timeout.js"(exports) {
+ "use strict";
+ Object.defineProperty(exports, "__esModule", { value: true });
+ exports.timeout = exports.TimeoutError = void 0;
+ var async_1 = require_async();
+ var isDate_1 = require_isDate();
+ var lift_1 = require_lift();
+ var innerFrom_1 = require_innerFrom();
+ var createErrorClass_1 = require_createErrorClass();
+ var OperatorSubscriber_1 = require_OperatorSubscriber();
+ var executeSchedule_1 = require_executeSchedule();
+ exports.TimeoutError = createErrorClass_1.createErrorClass(function(_super) {
+ return /* @__PURE__ */ __name(function TimeoutErrorImpl(info) {
+ if (info === void 0) {
+ info = null;
+ }
+ _super(this);
+ this.message = "Timeout has occurred";
+ this.name = "TimeoutError";
+ this.info = info;
+ }, "TimeoutErrorImpl");
+ });
+ function timeout(config, schedulerArg) {
+ var _a = isDate_1.isValidDate(config) ? { first: config } : typeof config === "number" ? { each: config } : config, first = _a.first, each = _a.each, _b = _a.with, _with = _b === void 0 ? timeoutErrorFactory : _b, _c = _a.scheduler, scheduler = _c === void 0 ? schedulerArg !== null && schedulerArg !== void 0 ? schedulerArg : async_1.asyncScheduler : _c, _d = _a.meta, meta = _d === void 0 ? null : _d;
+ if (first == null && each == null) {
+ throw new TypeError("No timeout provided.");
+ }
+ return lift_1.operate(function(source, subscriber) {
+ var originalSourceSubscription;
+ var timerSubscription;
+ var lastValue = null;
+ var seen = 0;
+ var startTimer = /* @__PURE__ */ __name(function(delay) {
+ timerSubscription = executeSchedule_1.executeSchedule(subscriber, scheduler, function() {
+ try {
+ originalSourceSubscription.unsubscribe();
+ innerFrom_1.innerFrom(_with({
+ meta,
+ lastValue,
+ seen
+ })).subscribe(subscriber);
+ } catch (err) {
+ subscriber.error(err);
+ }
+ }, delay);
+ }, "startTimer");
+ originalSourceSubscription = source.subscribe(OperatorSubscriber_1.createOperatorSubscriber(subscriber, function(value) {
+ timerSubscription === null || timerSubscription === void 0 ? void 0 : timerSubscription.unsubscribe();
+ seen++;
+ subscriber.next(lastValue = value);
+ each > 0 && startTimer(each);
+ }, void 0, void 0, function() {
+ if (!(timerSubscription === null || timerSubscription === void 0 ? void 0 : timerSubscription.closed)) {
+ timerSubscription === null || timerSubscription === void 0 ? void 0 : timerSubscription.unsubscribe();
+ }
+ lastValue = null;
+ }));
+ !seen && startTimer(first != null ? typeof first === "number" ? first : +first - scheduler.now() : each);
+ });
+ }
+ __name(timeout, "timeout");
+ exports.timeout = timeout;
+ function timeoutErrorFactory(info) {
+ throw new exports.TimeoutError(info);
+ }
+ __name(timeoutErrorFactory, "timeoutErrorFactory");
+ }
+});
+
+// ../../node_modules/.pnpm/rxjs@7.8.2/node_modules/rxjs/dist/cjs/internal/operators/timeoutWith.js
+var require_timeoutWith = __commonJS({
+ "../../node_modules/.pnpm/rxjs@7.8.2/node_modules/rxjs/dist/cjs/internal/operators/timeoutWith.js"(exports) {
+ "use strict";
+ Object.defineProperty(exports, "__esModule", { value: true });
+ exports.timeoutWith = void 0;
+ var async_1 = require_async();
+ var isDate_1 = require_isDate();
+ var timeout_1 = require_timeout();
+ function timeoutWith(due, withObservable, scheduler) {
+ var first;
+ var each;
+ var _with;
+ scheduler = scheduler !== null && scheduler !== void 0 ? scheduler : async_1.async;
+ if (isDate_1.isValidDate(due)) {
+ first = due;
+ } else if (typeof due === "number") {
+ each = due;
+ }
+ if (withObservable) {
+ _with = /* @__PURE__ */ __name(function() {
+ return withObservable;
+ }, "_with");
+ } else {
+ throw new TypeError("No observable provided to switch to");
+ }
+ if (first == null && each == null) {
+ throw new TypeError("No timeout provided.");
+ }
+ return timeout_1.timeout({
+ first,
+ each,
+ scheduler,
+ with: _with
+ });
+ }
+ __name(timeoutWith, "timeoutWith");
+ exports.timeoutWith = timeoutWith;
+ }
+});
+
+// ../../node_modules/.pnpm/rxjs@7.8.2/node_modules/rxjs/dist/cjs/internal/operators/timestamp.js
+var require_timestamp = __commonJS({
+ "../../node_modules/.pnpm/rxjs@7.8.2/node_modules/rxjs/dist/cjs/internal/operators/timestamp.js"(exports) {
+ "use strict";
+ Object.defineProperty(exports, "__esModule", { value: true });
+ exports.timestamp = void 0;
+ var dateTimestampProvider_1 = require_dateTimestampProvider();
+ var map_1 = require_map2();
+ function timestamp(timestampProvider) {
+ if (timestampProvider === void 0) {
+ timestampProvider = dateTimestampProvider_1.dateTimestampProvider;
+ }
+ return map_1.map(function(value) {
+ return { value, timestamp: timestampProvider.now() };
+ });
+ }
+ __name(timestamp, "timestamp");
+ exports.timestamp = timestamp;
+ }
+});
+
+// ../../node_modules/.pnpm/rxjs@7.8.2/node_modules/rxjs/dist/cjs/internal/operators/window.js
+var require_window = __commonJS({
+ "../../node_modules/.pnpm/rxjs@7.8.2/node_modules/rxjs/dist/cjs/internal/operators/window.js"(exports) {
+ "use strict";
+ Object.defineProperty(exports, "__esModule", { value: true });
+ exports.window = void 0;
+ var Subject_1 = require_Subject();
+ var lift_1 = require_lift();
+ var OperatorSubscriber_1 = require_OperatorSubscriber();
+ var noop_1 = require_noop();
+ var innerFrom_1 = require_innerFrom();
+ function window(windowBoundaries) {
+ return lift_1.operate(function(source, subscriber) {
+ var windowSubject = new Subject_1.Subject();
+ subscriber.next(windowSubject.asObservable());
+ var errorHandler = /* @__PURE__ */ __name(function(err) {
+ windowSubject.error(err);
+ subscriber.error(err);
+ }, "errorHandler");
+ source.subscribe(OperatorSubscriber_1.createOperatorSubscriber(subscriber, function(value) {
+ return windowSubject === null || windowSubject === void 0 ? void 0 : windowSubject.next(value);
+ }, function() {
+ windowSubject.complete();
+ subscriber.complete();
+ }, errorHandler));
+ innerFrom_1.innerFrom(windowBoundaries).subscribe(OperatorSubscriber_1.createOperatorSubscriber(subscriber, function() {
+ windowSubject.complete();
+ subscriber.next(windowSubject = new Subject_1.Subject());
+ }, noop_1.noop, errorHandler));
+ return function() {
+ windowSubject === null || windowSubject === void 0 ? void 0 : windowSubject.unsubscribe();
+ windowSubject = null;
+ };
+ });
+ }
+ __name(window, "window");
+ exports.window = window;
+ }
+});
+
+// ../../node_modules/.pnpm/rxjs@7.8.2/node_modules/rxjs/dist/cjs/internal/operators/windowCount.js
+var require_windowCount = __commonJS({
+ "../../node_modules/.pnpm/rxjs@7.8.2/node_modules/rxjs/dist/cjs/internal/operators/windowCount.js"(exports) {
+ "use strict";
+ var __values = exports && exports.__values || function(o) {
+ var s = typeof Symbol === "function" && Symbol.iterator, m = s && o[s], i = 0;
+ if (m) return m.call(o);
+ if (o && typeof o.length === "number") return {
+ next: /* @__PURE__ */ __name(function() {
+ if (o && i >= o.length) o = void 0;
+ return { value: o && o[i++], done: !o };
+ }, "next")
+ };
+ throw new TypeError(s ? "Object is not iterable." : "Symbol.iterator is not defined.");
+ };
+ Object.defineProperty(exports, "__esModule", { value: true });
+ exports.windowCount = void 0;
+ var Subject_1 = require_Subject();
+ var lift_1 = require_lift();
+ var OperatorSubscriber_1 = require_OperatorSubscriber();
+ function windowCount(windowSize, startWindowEvery) {
+ if (startWindowEvery === void 0) {
+ startWindowEvery = 0;
+ }
+ var startEvery = startWindowEvery > 0 ? startWindowEvery : windowSize;
+ return lift_1.operate(function(source, subscriber) {
+ var windows = [new Subject_1.Subject()];
+ var starts = [];
+ var count = 0;
+ subscriber.next(windows[0].asObservable());
+ source.subscribe(OperatorSubscriber_1.createOperatorSubscriber(subscriber, function(value) {
+ var e_1, _a;
+ try {
+ for (var windows_1 = __values(windows), windows_1_1 = windows_1.next(); !windows_1_1.done; windows_1_1 = windows_1.next()) {
+ var window_1 = windows_1_1.value;
+ window_1.next(value);
+ }
+ } catch (e_1_1) {
+ e_1 = { error: e_1_1 };
+ } finally {
+ try {
+ if (windows_1_1 && !windows_1_1.done && (_a = windows_1.return)) _a.call(windows_1);
+ } finally {
+ if (e_1) throw e_1.error;
+ }
+ }
+ var c = count - windowSize + 1;
+ if (c >= 0 && c % startEvery === 0) {
+ windows.shift().complete();
+ }
+ if (++count % startEvery === 0) {
+ var window_2 = new Subject_1.Subject();
+ windows.push(window_2);
+ subscriber.next(window_2.asObservable());
+ }
+ }, function() {
+ while (windows.length > 0) {
+ windows.shift().complete();
+ }
+ subscriber.complete();
+ }, function(err) {
+ while (windows.length > 0) {
+ windows.shift().error(err);
+ }
+ subscriber.error(err);
+ }, function() {
+ starts = null;
+ windows = null;
+ }));
+ });
+ }
+ __name(windowCount, "windowCount");
+ exports.windowCount = windowCount;
+ }
+});
+
+// ../../node_modules/.pnpm/rxjs@7.8.2/node_modules/rxjs/dist/cjs/internal/operators/windowTime.js
+var require_windowTime = __commonJS({
+ "../../node_modules/.pnpm/rxjs@7.8.2/node_modules/rxjs/dist/cjs/internal/operators/windowTime.js"(exports) {
+ "use strict";
+ Object.defineProperty(exports, "__esModule", { value: true });
+ exports.windowTime = void 0;
+ var Subject_1 = require_Subject();
+ var async_1 = require_async();
+ var Subscription_1 = require_Subscription();
+ var lift_1 = require_lift();
+ var OperatorSubscriber_1 = require_OperatorSubscriber();
+ var arrRemove_1 = require_arrRemove();
+ var args_1 = require_args();
+ var executeSchedule_1 = require_executeSchedule();
+ function windowTime(windowTimeSpan) {
+ var _a, _b;
+ var otherArgs = [];
+ for (var _i = 1; _i < arguments.length; _i++) {
+ otherArgs[_i - 1] = arguments[_i];
+ }
+ var scheduler = (_a = args_1.popScheduler(otherArgs)) !== null && _a !== void 0 ? _a : async_1.asyncScheduler;
+ var windowCreationInterval = (_b = otherArgs[0]) !== null && _b !== void 0 ? _b : null;
+ var maxWindowSize = otherArgs[1] || Infinity;
+ return lift_1.operate(function(source, subscriber) {
+ var windowRecords = [];
+ var restartOnClose = false;
+ var closeWindow = /* @__PURE__ */ __name(function(record) {
+ var window = record.window, subs = record.subs;
+ window.complete();
+ subs.unsubscribe();
+ arrRemove_1.arrRemove(windowRecords, record);
+ restartOnClose && startWindow();
+ }, "closeWindow");
+ var startWindow = /* @__PURE__ */ __name(function() {
+ if (windowRecords) {
+ var subs = new Subscription_1.Subscription();
+ subscriber.add(subs);
+ var window_1 = new Subject_1.Subject();
+ var record_1 = {
+ window: window_1,
+ subs,
+ seen: 0
+ };
+ windowRecords.push(record_1);
+ subscriber.next(window_1.asObservable());
+ executeSchedule_1.executeSchedule(subs, scheduler, function() {
+ return closeWindow(record_1);
+ }, windowTimeSpan);
+ }
+ }, "startWindow");
+ if (windowCreationInterval !== null && windowCreationInterval >= 0) {
+ executeSchedule_1.executeSchedule(subscriber, scheduler, startWindow, windowCreationInterval, true);
+ } else {
+ restartOnClose = true;
+ }
+ startWindow();
+ var loop = /* @__PURE__ */ __name(function(cb) {
+ return windowRecords.slice().forEach(cb);
+ }, "loop");
+ var terminate = /* @__PURE__ */ __name(function(cb) {
+ loop(function(_a2) {
+ var window = _a2.window;
+ return cb(window);
+ });
+ cb(subscriber);
+ subscriber.unsubscribe();
+ }, "terminate");
+ source.subscribe(OperatorSubscriber_1.createOperatorSubscriber(subscriber, function(value) {
+ loop(function(record) {
+ record.window.next(value);
+ maxWindowSize <= ++record.seen && closeWindow(record);
+ });
+ }, function() {
+ return terminate(function(consumer) {
+ return consumer.complete();
+ });
+ }, function(err) {
+ return terminate(function(consumer) {
+ return consumer.error(err);
+ });
+ }));
+ return function() {
+ windowRecords = null;
+ };
+ });
+ }
+ __name(windowTime, "windowTime");
+ exports.windowTime = windowTime;
+ }
+});
+
+// ../../node_modules/.pnpm/rxjs@7.8.2/node_modules/rxjs/dist/cjs/internal/operators/windowToggle.js
+var require_windowToggle = __commonJS({
+ "../../node_modules/.pnpm/rxjs@7.8.2/node_modules/rxjs/dist/cjs/internal/operators/windowToggle.js"(exports) {
+ "use strict";
+ var __values = exports && exports.__values || function(o) {
+ var s = typeof Symbol === "function" && Symbol.iterator, m = s && o[s], i = 0;
+ if (m) return m.call(o);
+ if (o && typeof o.length === "number") return {
+ next: /* @__PURE__ */ __name(function() {
+ if (o && i >= o.length) o = void 0;
+ return { value: o && o[i++], done: !o };
+ }, "next")
+ };
+ throw new TypeError(s ? "Object is not iterable." : "Symbol.iterator is not defined.");
+ };
+ Object.defineProperty(exports, "__esModule", { value: true });
+ exports.windowToggle = void 0;
+ var Subject_1 = require_Subject();
+ var Subscription_1 = require_Subscription();
+ var lift_1 = require_lift();
+ var innerFrom_1 = require_innerFrom();
+ var OperatorSubscriber_1 = require_OperatorSubscriber();
+ var noop_1 = require_noop();
+ var arrRemove_1 = require_arrRemove();
+ function windowToggle(openings, closingSelector) {
+ return lift_1.operate(function(source, subscriber) {
+ var windows = [];
+ var handleError = /* @__PURE__ */ __name(function(err) {
+ while (0 < windows.length) {
+ windows.shift().error(err);
+ }
+ subscriber.error(err);
+ }, "handleError");
+ innerFrom_1.innerFrom(openings).subscribe(OperatorSubscriber_1.createOperatorSubscriber(subscriber, function(openValue) {
+ var window = new Subject_1.Subject();
+ windows.push(window);
+ var closingSubscription = new Subscription_1.Subscription();
+ var closeWindow = /* @__PURE__ */ __name(function() {
+ arrRemove_1.arrRemove(windows, window);
+ window.complete();
+ closingSubscription.unsubscribe();
+ }, "closeWindow");
+ var closingNotifier;
+ try {
+ closingNotifier = innerFrom_1.innerFrom(closingSelector(openValue));
+ } catch (err) {
+ handleError(err);
+ return;
+ }
+ subscriber.next(window.asObservable());
+ closingSubscription.add(closingNotifier.subscribe(OperatorSubscriber_1.createOperatorSubscriber(subscriber, closeWindow, noop_1.noop, handleError)));
+ }, noop_1.noop));
+ source.subscribe(OperatorSubscriber_1.createOperatorSubscriber(subscriber, function(value) {
+ var e_1, _a;
+ var windowsCopy = windows.slice();
+ try {
+ for (var windowsCopy_1 = __values(windowsCopy), windowsCopy_1_1 = windowsCopy_1.next(); !windowsCopy_1_1.done; windowsCopy_1_1 = windowsCopy_1.next()) {
+ var window_1 = windowsCopy_1_1.value;
+ window_1.next(value);
+ }
+ } catch (e_1_1) {
+ e_1 = { error: e_1_1 };
+ } finally {
+ try {
+ if (windowsCopy_1_1 && !windowsCopy_1_1.done && (_a = windowsCopy_1.return)) _a.call(windowsCopy_1);
+ } finally {
+ if (e_1) throw e_1.error;
+ }
+ }
+ }, function() {
+ while (0 < windows.length) {
+ windows.shift().complete();
+ }
+ subscriber.complete();
+ }, handleError, function() {
+ while (0 < windows.length) {
+ windows.shift().unsubscribe();
+ }
+ }));
+ });
+ }
+ __name(windowToggle, "windowToggle");
+ exports.windowToggle = windowToggle;
+ }
+});
+
+// ../../node_modules/.pnpm/rxjs@7.8.2/node_modules/rxjs/dist/cjs/internal/operators/windowWhen.js
+var require_windowWhen = __commonJS({
+ "../../node_modules/.pnpm/rxjs@7.8.2/node_modules/rxjs/dist/cjs/internal/operators/windowWhen.js"(exports) {
+ "use strict";
+ Object.defineProperty(exports, "__esModule", { value: true });
+ exports.windowWhen = void 0;
+ var Subject_1 = require_Subject();
+ var lift_1 = require_lift();
+ var OperatorSubscriber_1 = require_OperatorSubscriber();
+ var innerFrom_1 = require_innerFrom();
+ function windowWhen(closingSelector) {
+ return lift_1.operate(function(source, subscriber) {
+ var window;
+ var closingSubscriber;
+ var handleError = /* @__PURE__ */ __name(function(err) {
+ window.error(err);
+ subscriber.error(err);
+ }, "handleError");
+ var openWindow = /* @__PURE__ */ __name(function() {
+ closingSubscriber === null || closingSubscriber === void 0 ? void 0 : closingSubscriber.unsubscribe();
+ window === null || window === void 0 ? void 0 : window.complete();
+ window = new Subject_1.Subject();
+ subscriber.next(window.asObservable());
+ var closingNotifier;
+ try {
+ closingNotifier = innerFrom_1.innerFrom(closingSelector());
+ } catch (err) {
+ handleError(err);
+ return;
+ }
+ closingNotifier.subscribe(closingSubscriber = OperatorSubscriber_1.createOperatorSubscriber(subscriber, openWindow, openWindow, handleError));
+ }, "openWindow");
+ openWindow();
+ source.subscribe(OperatorSubscriber_1.createOperatorSubscriber(subscriber, function(value) {
+ return window.next(value);
+ }, function() {
+ window.complete();
+ subscriber.complete();
+ }, handleError, function() {
+ closingSubscriber === null || closingSubscriber === void 0 ? void 0 : closingSubscriber.unsubscribe();
+ window = null;
+ }));
+ });
+ }
+ __name(windowWhen, "windowWhen");
+ exports.windowWhen = windowWhen;
+ }
+});
+
+// ../../node_modules/.pnpm/rxjs@7.8.2/node_modules/rxjs/dist/cjs/internal/operators/withLatestFrom.js
+var require_withLatestFrom = __commonJS({
+ "../../node_modules/.pnpm/rxjs@7.8.2/node_modules/rxjs/dist/cjs/internal/operators/withLatestFrom.js"(exports) {
+ "use strict";
+ var __read = exports && exports.__read || function(o, n) {
+ var m = typeof Symbol === "function" && o[Symbol.iterator];
+ if (!m) return o;
+ var i = m.call(o), r, ar = [], e;
+ try {
+ while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);
+ } catch (error) {
+ e = { error };
+ } finally {
+ try {
+ if (r && !r.done && (m = i["return"])) m.call(i);
+ } finally {
+ if (e) throw e.error;
+ }
+ }
+ return ar;
+ };
+ var __spreadArray = exports && exports.__spreadArray || function(to, from) {
+ for (var i = 0, il = from.length, j = to.length; i < il; i++, j++)
+ to[j] = from[i];
+ return to;
+ };
+ Object.defineProperty(exports, "__esModule", { value: true });
+ exports.withLatestFrom = void 0;
+ var lift_1 = require_lift();
+ var OperatorSubscriber_1 = require_OperatorSubscriber();
+ var innerFrom_1 = require_innerFrom();
+ var identity_1 = require_identity();
+ var noop_1 = require_noop();
+ var args_1 = require_args();
+ function withLatestFrom() {
+ var inputs = [];
+ for (var _i = 0; _i < arguments.length; _i++) {
+ inputs[_i] = arguments[_i];
+ }
+ var project = args_1.popResultSelector(inputs);
+ return lift_1.operate(function(source, subscriber) {
+ var len = inputs.length;
+ var otherValues = new Array(len);
+ var hasValue = inputs.map(function() {
+ return false;
+ });
+ var ready = false;
+ var _loop_1 = /* @__PURE__ */ __name(function(i2) {
+ innerFrom_1.innerFrom(inputs[i2]).subscribe(OperatorSubscriber_1.createOperatorSubscriber(subscriber, function(value) {
+ otherValues[i2] = value;
+ if (!ready && !hasValue[i2]) {
+ hasValue[i2] = true;
+ (ready = hasValue.every(identity_1.identity)) && (hasValue = null);
+ }
+ }, noop_1.noop));
+ }, "_loop_1");
+ for (var i = 0; i < len; i++) {
+ _loop_1(i);
+ }
+ source.subscribe(OperatorSubscriber_1.createOperatorSubscriber(subscriber, function(value) {
+ if (ready) {
+ var values = __spreadArray([value], __read(otherValues));
+ subscriber.next(project ? project.apply(void 0, __spreadArray([], __read(values))) : values);
+ }
+ }));
+ });
+ }
+ __name(withLatestFrom, "withLatestFrom");
+ exports.withLatestFrom = withLatestFrom;
+ }
+});
+
+// ../../node_modules/.pnpm/rxjs@7.8.2/node_modules/rxjs/dist/cjs/internal/observable/zip.js
+var require_zip2 = __commonJS({
+ "../../node_modules/.pnpm/rxjs@7.8.2/node_modules/rxjs/dist/cjs/internal/observable/zip.js"(exports) {
+ "use strict";
+ var __read = exports && exports.__read || function(o, n) {
+ var m = typeof Symbol === "function" && o[Symbol.iterator];
+ if (!m) return o;
+ var i = m.call(o), r, ar = [], e;
+ try {
+ while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);
+ } catch (error) {
+ e = { error };
+ } finally {
+ try {
+ if (r && !r.done && (m = i["return"])) m.call(i);
+ } finally {
+ if (e) throw e.error;
+ }
+ }
+ return ar;
+ };
+ var __spreadArray = exports && exports.__spreadArray || function(to, from) {
+ for (var i = 0, il = from.length, j = to.length; i < il; i++, j++)
+ to[j] = from[i];
+ return to;
+ };
+ Object.defineProperty(exports, "__esModule", { value: true });
+ exports.zip = void 0;
+ var Observable_1 = require_Observable();
+ var innerFrom_1 = require_innerFrom();
+ var argsOrArgArray_1 = require_argsOrArgArray();
+ var empty_1 = require_empty();
+ var OperatorSubscriber_1 = require_OperatorSubscriber();
+ var args_1 = require_args();
+ function zip() {
+ var args = [];
+ for (var _i = 0; _i < arguments.length; _i++) {
+ args[_i] = arguments[_i];
+ }
+ var resultSelector = args_1.popResultSelector(args);
+ var sources = argsOrArgArray_1.argsOrArgArray(args);
+ return sources.length ? new Observable_1.Observable(function(subscriber) {
+ var buffers = sources.map(function() {
+ return [];
+ });
+ var completed = sources.map(function() {
+ return false;
+ });
+ subscriber.add(function() {
+ buffers = completed = null;
+ });
+ var _loop_1 = /* @__PURE__ */ __name(function(sourceIndex2) {
+ innerFrom_1.innerFrom(sources[sourceIndex2]).subscribe(OperatorSubscriber_1.createOperatorSubscriber(subscriber, function(value) {
+ buffers[sourceIndex2].push(value);
+ if (buffers.every(function(buffer) {
+ return buffer.length;
+ })) {
+ var result = buffers.map(function(buffer) {
+ return buffer.shift();
+ });
+ subscriber.next(resultSelector ? resultSelector.apply(void 0, __spreadArray([], __read(result))) : result);
+ if (buffers.some(function(buffer, i) {
+ return !buffer.length && completed[i];
+ })) {
+ subscriber.complete();
+ }
+ }
+ }, function() {
+ completed[sourceIndex2] = true;
+ !buffers[sourceIndex2].length && subscriber.complete();
+ }));
+ }, "_loop_1");
+ for (var sourceIndex = 0; !subscriber.closed && sourceIndex < sources.length; sourceIndex++) {
+ _loop_1(sourceIndex);
+ }
+ return function() {
+ buffers = completed = null;
+ };
+ }) : empty_1.EMPTY;
+ }
+ __name(zip, "zip");
+ exports.zip = zip;
+ }
+});
+
+// ../../node_modules/.pnpm/rxjs@7.8.2/node_modules/rxjs/dist/cjs/internal/operators/zip.js
+var require_zip3 = __commonJS({
+ "../../node_modules/.pnpm/rxjs@7.8.2/node_modules/rxjs/dist/cjs/internal/operators/zip.js"(exports) {
+ "use strict";
+ var __read = exports && exports.__read || function(o, n) {
+ var m = typeof Symbol === "function" && o[Symbol.iterator];
+ if (!m) return o;
+ var i = m.call(o), r, ar = [], e;
+ try {
+ while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);
+ } catch (error) {
+ e = { error };
+ } finally {
+ try {
+ if (r && !r.done && (m = i["return"])) m.call(i);
+ } finally {
+ if (e) throw e.error;
+ }
+ }
+ return ar;
+ };
+ var __spreadArray = exports && exports.__spreadArray || function(to, from) {
+ for (var i = 0, il = from.length, j = to.length; i < il; i++, j++)
+ to[j] = from[i];
+ return to;
+ };
+ Object.defineProperty(exports, "__esModule", { value: true });
+ exports.zip = void 0;
+ var zip_1 = require_zip2();
+ var lift_1 = require_lift();
+ function zip() {
+ var sources = [];
+ for (var _i = 0; _i < arguments.length; _i++) {
+ sources[_i] = arguments[_i];
+ }
+ return lift_1.operate(function(source, subscriber) {
+ zip_1.zip.apply(void 0, __spreadArray([source], __read(sources))).subscribe(subscriber);
+ });
+ }
+ __name(zip, "zip");
+ exports.zip = zip;
+ }
+});
+
+// ../../node_modules/.pnpm/rxjs@7.8.2/node_modules/rxjs/dist/cjs/internal/operators/zipAll.js
+var require_zipAll = __commonJS({
+ "../../node_modules/.pnpm/rxjs@7.8.2/node_modules/rxjs/dist/cjs/internal/operators/zipAll.js"(exports) {
+ "use strict";
+ Object.defineProperty(exports, "__esModule", { value: true });
+ exports.zipAll = void 0;
+ var zip_1 = require_zip2();
+ var joinAllInternals_1 = require_joinAllInternals();
+ function zipAll(project) {
+ return joinAllInternals_1.joinAllInternals(zip_1.zip, project);
+ }
+ __name(zipAll, "zipAll");
+ exports.zipAll = zipAll;
+ }
+});
+
+// ../../node_modules/.pnpm/rxjs@7.8.2/node_modules/rxjs/dist/cjs/internal/operators/zipWith.js
+var require_zipWith = __commonJS({
+ "../../node_modules/.pnpm/rxjs@7.8.2/node_modules/rxjs/dist/cjs/internal/operators/zipWith.js"(exports) {
+ "use strict";
+ var __read = exports && exports.__read || function(o, n) {
+ var m = typeof Symbol === "function" && o[Symbol.iterator];
+ if (!m) return o;
+ var i = m.call(o), r, ar = [], e;
+ try {
+ while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);
+ } catch (error) {
+ e = { error };
+ } finally {
+ try {
+ if (r && !r.done && (m = i["return"])) m.call(i);
+ } finally {
+ if (e) throw e.error;
+ }
+ }
+ return ar;
+ };
+ var __spreadArray = exports && exports.__spreadArray || function(to, from) {
+ for (var i = 0, il = from.length, j = to.length; i < il; i++, j++)
+ to[j] = from[i];
+ return to;
+ };
+ Object.defineProperty(exports, "__esModule", { value: true });
+ exports.zipWith = void 0;
+ var zip_1 = require_zip3();
+ function zipWith() {
+ var otherInputs = [];
+ for (var _i = 0; _i < arguments.length; _i++) {
+ otherInputs[_i] = arguments[_i];
+ }
+ return zip_1.zip.apply(void 0, __spreadArray([], __read(otherInputs)));
+ }
+ __name(zipWith, "zipWith");
+ exports.zipWith = zipWith;
+ }
+});
+
+// ../../node_modules/.pnpm/rxjs@7.8.2/node_modules/rxjs/dist/cjs/operators/index.js
+var require_operators = __commonJS({
+ "../../node_modules/.pnpm/rxjs@7.8.2/node_modules/rxjs/dist/cjs/operators/index.js"(exports) {
+ "use strict";
+ Object.defineProperty(exports, "__esModule", { value: true });
+ exports.mergeAll = exports.merge = exports.max = exports.materialize = exports.mapTo = exports.map = exports.last = exports.isEmpty = exports.ignoreElements = exports.groupBy = exports.first = exports.findIndex = exports.find = exports.finalize = exports.filter = exports.expand = exports.exhaustMap = exports.exhaustAll = exports.exhaust = exports.every = exports.endWith = exports.elementAt = exports.distinctUntilKeyChanged = exports.distinctUntilChanged = exports.distinct = exports.dematerialize = exports.delayWhen = exports.delay = exports.defaultIfEmpty = exports.debounceTime = exports.debounce = exports.count = exports.connect = exports.concatWith = exports.concatMapTo = exports.concatMap = exports.concatAll = exports.concat = exports.combineLatestWith = exports.combineLatest = exports.combineLatestAll = exports.combineAll = exports.catchError = exports.bufferWhen = exports.bufferToggle = exports.bufferTime = exports.bufferCount = exports.buffer = exports.auditTime = exports.audit = void 0;
+ exports.timeInterval = exports.throwIfEmpty = exports.throttleTime = exports.throttle = exports.tap = exports.takeWhile = exports.takeUntil = exports.takeLast = exports.take = exports.switchScan = exports.switchMapTo = exports.switchMap = exports.switchAll = exports.subscribeOn = exports.startWith = exports.skipWhile = exports.skipUntil = exports.skipLast = exports.skip = exports.single = exports.shareReplay = exports.share = exports.sequenceEqual = exports.scan = exports.sampleTime = exports.sample = exports.refCount = exports.retryWhen = exports.retry = exports.repeatWhen = exports.repeat = exports.reduce = exports.raceWith = exports.race = exports.publishReplay = exports.publishLast = exports.publishBehavior = exports.publish = exports.pluck = exports.partition = exports.pairwise = exports.onErrorResumeNext = exports.observeOn = exports.multicast = exports.min = exports.mergeWith = exports.mergeScan = exports.mergeMapTo = exports.mergeMap = exports.flatMap = void 0;
+ exports.zipWith = exports.zipAll = exports.zip = exports.withLatestFrom = exports.windowWhen = exports.windowToggle = exports.windowTime = exports.windowCount = exports.window = exports.toArray = exports.timestamp = exports.timeoutWith = exports.timeout = void 0;
+ var audit_1 = require_audit();
+ Object.defineProperty(exports, "audit", { enumerable: true, get: /* @__PURE__ */ __name(function() {
+ return audit_1.audit;
+ }, "get") });
+ var auditTime_1 = require_auditTime();
+ Object.defineProperty(exports, "auditTime", { enumerable: true, get: /* @__PURE__ */ __name(function() {
+ return auditTime_1.auditTime;
+ }, "get") });
+ var buffer_1 = require_buffer();
+ Object.defineProperty(exports, "buffer", { enumerable: true, get: /* @__PURE__ */ __name(function() {
+ return buffer_1.buffer;
+ }, "get") });
+ var bufferCount_1 = require_bufferCount();
+ Object.defineProperty(exports, "bufferCount", { enumerable: true, get: /* @__PURE__ */ __name(function() {
+ return bufferCount_1.bufferCount;
+ }, "get") });
+ var bufferTime_1 = require_bufferTime();
+ Object.defineProperty(exports, "bufferTime", { enumerable: true, get: /* @__PURE__ */ __name(function() {
+ return bufferTime_1.bufferTime;
+ }, "get") });
+ var bufferToggle_1 = require_bufferToggle();
+ Object.defineProperty(exports, "bufferToggle", { enumerable: true, get: /* @__PURE__ */ __name(function() {
+ return bufferToggle_1.bufferToggle;
+ }, "get") });
+ var bufferWhen_1 = require_bufferWhen();
+ Object.defineProperty(exports, "bufferWhen", { enumerable: true, get: /* @__PURE__ */ __name(function() {
+ return bufferWhen_1.bufferWhen;
+ }, "get") });
+ var catchError_1 = require_catchError();
+ Object.defineProperty(exports, "catchError", { enumerable: true, get: /* @__PURE__ */ __name(function() {
+ return catchError_1.catchError;
+ }, "get") });
+ var combineAll_1 = require_combineAll();
+ Object.defineProperty(exports, "combineAll", { enumerable: true, get: /* @__PURE__ */ __name(function() {
+ return combineAll_1.combineAll;
+ }, "get") });
+ var combineLatestAll_1 = require_combineLatestAll();
+ Object.defineProperty(exports, "combineLatestAll", { enumerable: true, get: /* @__PURE__ */ __name(function() {
+ return combineLatestAll_1.combineLatestAll;
+ }, "get") });
+ var combineLatest_1 = require_combineLatest2();
+ Object.defineProperty(exports, "combineLatest", { enumerable: true, get: /* @__PURE__ */ __name(function() {
+ return combineLatest_1.combineLatest;
+ }, "get") });
+ var combineLatestWith_1 = require_combineLatestWith();
+ Object.defineProperty(exports, "combineLatestWith", { enumerable: true, get: /* @__PURE__ */ __name(function() {
+ return combineLatestWith_1.combineLatestWith;
+ }, "get") });
+ var concat_1 = require_concat2();
+ Object.defineProperty(exports, "concat", { enumerable: true, get: /* @__PURE__ */ __name(function() {
+ return concat_1.concat;
+ }, "get") });
+ var concatAll_1 = require_concatAll();
+ Object.defineProperty(exports, "concatAll", { enumerable: true, get: /* @__PURE__ */ __name(function() {
+ return concatAll_1.concatAll;
+ }, "get") });
+ var concatMap_1 = require_concatMap();
+ Object.defineProperty(exports, "concatMap", { enumerable: true, get: /* @__PURE__ */ __name(function() {
+ return concatMap_1.concatMap;
+ }, "get") });
+ var concatMapTo_1 = require_concatMapTo();
+ Object.defineProperty(exports, "concatMapTo", { enumerable: true, get: /* @__PURE__ */ __name(function() {
+ return concatMapTo_1.concatMapTo;
+ }, "get") });
+ var concatWith_1 = require_concatWith();
+ Object.defineProperty(exports, "concatWith", { enumerable: true, get: /* @__PURE__ */ __name(function() {
+ return concatWith_1.concatWith;
+ }, "get") });
+ var connect_1 = require_connect();
+ Object.defineProperty(exports, "connect", { enumerable: true, get: /* @__PURE__ */ __name(function() {
+ return connect_1.connect;
+ }, "get") });
+ var count_1 = require_count();
+ Object.defineProperty(exports, "count", { enumerable: true, get: /* @__PURE__ */ __name(function() {
+ return count_1.count;
+ }, "get") });
+ var debounce_1 = require_debounce();
+ Object.defineProperty(exports, "debounce", { enumerable: true, get: /* @__PURE__ */ __name(function() {
+ return debounce_1.debounce;
+ }, "get") });
+ var debounceTime_1 = require_debounceTime();
+ Object.defineProperty(exports, "debounceTime", { enumerable: true, get: /* @__PURE__ */ __name(function() {
+ return debounceTime_1.debounceTime;
+ }, "get") });
+ var defaultIfEmpty_1 = require_defaultIfEmpty();
+ Object.defineProperty(exports, "defaultIfEmpty", { enumerable: true, get: /* @__PURE__ */ __name(function() {
+ return defaultIfEmpty_1.defaultIfEmpty;
+ }, "get") });
+ var delay_1 = require_delay();
+ Object.defineProperty(exports, "delay", { enumerable: true, get: /* @__PURE__ */ __name(function() {
+ return delay_1.delay;
+ }, "get") });
+ var delayWhen_1 = require_delayWhen();
+ Object.defineProperty(exports, "delayWhen", { enumerable: true, get: /* @__PURE__ */ __name(function() {
+ return delayWhen_1.delayWhen;
+ }, "get") });
+ var dematerialize_1 = require_dematerialize();
+ Object.defineProperty(exports, "dematerialize", { enumerable: true, get: /* @__PURE__ */ __name(function() {
+ return dematerialize_1.dematerialize;
+ }, "get") });
+ var distinct_1 = require_distinct();
+ Object.defineProperty(exports, "distinct", { enumerable: true, get: /* @__PURE__ */ __name(function() {
+ return distinct_1.distinct;
+ }, "get") });
+ var distinctUntilChanged_1 = require_distinctUntilChanged();
+ Object.defineProperty(exports, "distinctUntilChanged", { enumerable: true, get: /* @__PURE__ */ __name(function() {
+ return distinctUntilChanged_1.distinctUntilChanged;
+ }, "get") });
+ var distinctUntilKeyChanged_1 = require_distinctUntilKeyChanged();
+ Object.defineProperty(exports, "distinctUntilKeyChanged", { enumerable: true, get: /* @__PURE__ */ __name(function() {
+ return distinctUntilKeyChanged_1.distinctUntilKeyChanged;
+ }, "get") });
+ var elementAt_1 = require_elementAt();
+ Object.defineProperty(exports, "elementAt", { enumerable: true, get: /* @__PURE__ */ __name(function() {
+ return elementAt_1.elementAt;
+ }, "get") });
+ var endWith_1 = require_endWith();
+ Object.defineProperty(exports, "endWith", { enumerable: true, get: /* @__PURE__ */ __name(function() {
+ return endWith_1.endWith;
+ }, "get") });
+ var every_1 = require_every();
+ Object.defineProperty(exports, "every", { enumerable: true, get: /* @__PURE__ */ __name(function() {
+ return every_1.every;
+ }, "get") });
+ var exhaust_1 = require_exhaust();
+ Object.defineProperty(exports, "exhaust", { enumerable: true, get: /* @__PURE__ */ __name(function() {
+ return exhaust_1.exhaust;
+ }, "get") });
+ var exhaustAll_1 = require_exhaustAll();
+ Object.defineProperty(exports, "exhaustAll", { enumerable: true, get: /* @__PURE__ */ __name(function() {
+ return exhaustAll_1.exhaustAll;
+ }, "get") });
+ var exhaustMap_1 = require_exhaustMap();
+ Object.defineProperty(exports, "exhaustMap", { enumerable: true, get: /* @__PURE__ */ __name(function() {
+ return exhaustMap_1.exhaustMap;
+ }, "get") });
+ var expand_1 = require_expand();
+ Object.defineProperty(exports, "expand", { enumerable: true, get: /* @__PURE__ */ __name(function() {
+ return expand_1.expand;
+ }, "get") });
+ var filter_1 = require_filter2();
+ Object.defineProperty(exports, "filter", { enumerable: true, get: /* @__PURE__ */ __name(function() {
+ return filter_1.filter;
+ }, "get") });
+ var finalize_1 = require_finalize();
+ Object.defineProperty(exports, "finalize", { enumerable: true, get: /* @__PURE__ */ __name(function() {
+ return finalize_1.finalize;
+ }, "get") });
+ var find_1 = require_find();
+ Object.defineProperty(exports, "find", { enumerable: true, get: /* @__PURE__ */ __name(function() {
+ return find_1.find;
+ }, "get") });
+ var findIndex_1 = require_findIndex();
+ Object.defineProperty(exports, "findIndex", { enumerable: true, get: /* @__PURE__ */ __name(function() {
+ return findIndex_1.findIndex;
+ }, "get") });
+ var first_1 = require_first();
+ Object.defineProperty(exports, "first", { enumerable: true, get: /* @__PURE__ */ __name(function() {
+ return first_1.first;
+ }, "get") });
+ var groupBy_1 = require_groupBy();
+ Object.defineProperty(exports, "groupBy", { enumerable: true, get: /* @__PURE__ */ __name(function() {
+ return groupBy_1.groupBy;
+ }, "get") });
+ var ignoreElements_1 = require_ignoreElements();
+ Object.defineProperty(exports, "ignoreElements", { enumerable: true, get: /* @__PURE__ */ __name(function() {
+ return ignoreElements_1.ignoreElements;
+ }, "get") });
+ var isEmpty_1 = require_isEmpty();
+ Object.defineProperty(exports, "isEmpty", { enumerable: true, get: /* @__PURE__ */ __name(function() {
+ return isEmpty_1.isEmpty;
+ }, "get") });
+ var last_1 = require_last();
+ Object.defineProperty(exports, "last", { enumerable: true, get: /* @__PURE__ */ __name(function() {
+ return last_1.last;
+ }, "get") });
+ var map_1 = require_map2();
+ Object.defineProperty(exports, "map", { enumerable: true, get: /* @__PURE__ */ __name(function() {
+ return map_1.map;
+ }, "get") });
+ var mapTo_1 = require_mapTo();
+ Object.defineProperty(exports, "mapTo", { enumerable: true, get: /* @__PURE__ */ __name(function() {
+ return mapTo_1.mapTo;
+ }, "get") });
+ var materialize_1 = require_materialize();
+ Object.defineProperty(exports, "materialize", { enumerable: true, get: /* @__PURE__ */ __name(function() {
+ return materialize_1.materialize;
+ }, "get") });
+ var max_1 = require_max();
+ Object.defineProperty(exports, "max", { enumerable: true, get: /* @__PURE__ */ __name(function() {
+ return max_1.max;
+ }, "get") });
+ var merge_1 = require_merge();
+ Object.defineProperty(exports, "merge", { enumerable: true, get: /* @__PURE__ */ __name(function() {
+ return merge_1.merge;
+ }, "get") });
+ var mergeAll_1 = require_mergeAll();
+ Object.defineProperty(exports, "mergeAll", { enumerable: true, get: /* @__PURE__ */ __name(function() {
+ return mergeAll_1.mergeAll;
+ }, "get") });
+ var flatMap_1 = require_flatMap();
+ Object.defineProperty(exports, "flatMap", { enumerable: true, get: /* @__PURE__ */ __name(function() {
+ return flatMap_1.flatMap;
+ }, "get") });
+ var mergeMap_1 = require_mergeMap();
+ Object.defineProperty(exports, "mergeMap", { enumerable: true, get: /* @__PURE__ */ __name(function() {
+ return mergeMap_1.mergeMap;
+ }, "get") });
+ var mergeMapTo_1 = require_mergeMapTo();
+ Object.defineProperty(exports, "mergeMapTo", { enumerable: true, get: /* @__PURE__ */ __name(function() {
+ return mergeMapTo_1.mergeMapTo;
+ }, "get") });
+ var mergeScan_1 = require_mergeScan();
+ Object.defineProperty(exports, "mergeScan", { enumerable: true, get: /* @__PURE__ */ __name(function() {
+ return mergeScan_1.mergeScan;
+ }, "get") });
+ var mergeWith_1 = require_mergeWith();
+ Object.defineProperty(exports, "mergeWith", { enumerable: true, get: /* @__PURE__ */ __name(function() {
+ return mergeWith_1.mergeWith;
+ }, "get") });
+ var min_1 = require_min();
+ Object.defineProperty(exports, "min", { enumerable: true, get: /* @__PURE__ */ __name(function() {
+ return min_1.min;
+ }, "get") });
+ var multicast_1 = require_multicast();
+ Object.defineProperty(exports, "multicast", { enumerable: true, get: /* @__PURE__ */ __name(function() {
+ return multicast_1.multicast;
+ }, "get") });
+ var observeOn_1 = require_observeOn();
+ Object.defineProperty(exports, "observeOn", { enumerable: true, get: /* @__PURE__ */ __name(function() {
+ return observeOn_1.observeOn;
+ }, "get") });
+ var onErrorResumeNextWith_1 = require_onErrorResumeNextWith();
+ Object.defineProperty(exports, "onErrorResumeNext", { enumerable: true, get: /* @__PURE__ */ __name(function() {
+ return onErrorResumeNextWith_1.onErrorResumeNext;
+ }, "get") });
+ var pairwise_1 = require_pairwise();
+ Object.defineProperty(exports, "pairwise", { enumerable: true, get: /* @__PURE__ */ __name(function() {
+ return pairwise_1.pairwise;
+ }, "get") });
+ var partition_1 = require_partition();
+ Object.defineProperty(exports, "partition", { enumerable: true, get: /* @__PURE__ */ __name(function() {
+ return partition_1.partition;
+ }, "get") });
+ var pluck_1 = require_pluck();
+ Object.defineProperty(exports, "pluck", { enumerable: true, get: /* @__PURE__ */ __name(function() {
+ return pluck_1.pluck;
+ }, "get") });
+ var publish_1 = require_publish();
+ Object.defineProperty(exports, "publish", { enumerable: true, get: /* @__PURE__ */ __name(function() {
+ return publish_1.publish;
+ }, "get") });
+ var publishBehavior_1 = require_publishBehavior();
+ Object.defineProperty(exports, "publishBehavior", { enumerable: true, get: /* @__PURE__ */ __name(function() {
+ return publishBehavior_1.publishBehavior;
+ }, "get") });
+ var publishLast_1 = require_publishLast();
+ Object.defineProperty(exports, "publishLast", { enumerable: true, get: /* @__PURE__ */ __name(function() {
+ return publishLast_1.publishLast;
+ }, "get") });
+ var publishReplay_1 = require_publishReplay();
+ Object.defineProperty(exports, "publishReplay", { enumerable: true, get: /* @__PURE__ */ __name(function() {
+ return publishReplay_1.publishReplay;
+ }, "get") });
+ var race_1 = require_race2();
+ Object.defineProperty(exports, "race", { enumerable: true, get: /* @__PURE__ */ __name(function() {
+ return race_1.race;
+ }, "get") });
+ var raceWith_1 = require_raceWith();
+ Object.defineProperty(exports, "raceWith", { enumerable: true, get: /* @__PURE__ */ __name(function() {
+ return raceWith_1.raceWith;
+ }, "get") });
+ var reduce_1 = require_reduce();
+ Object.defineProperty(exports, "reduce", { enumerable: true, get: /* @__PURE__ */ __name(function() {
+ return reduce_1.reduce;
+ }, "get") });
+ var repeat_1 = require_repeat();
+ Object.defineProperty(exports, "repeat", { enumerable: true, get: /* @__PURE__ */ __name(function() {
+ return repeat_1.repeat;
+ }, "get") });
+ var repeatWhen_1 = require_repeatWhen();
+ Object.defineProperty(exports, "repeatWhen", { enumerable: true, get: /* @__PURE__ */ __name(function() {
+ return repeatWhen_1.repeatWhen;
+ }, "get") });
+ var retry_1 = require_retry();
+ Object.defineProperty(exports, "retry", { enumerable: true, get: /* @__PURE__ */ __name(function() {
+ return retry_1.retry;
+ }, "get") });
+ var retryWhen_1 = require_retryWhen();
+ Object.defineProperty(exports, "retryWhen", { enumerable: true, get: /* @__PURE__ */ __name(function() {
+ return retryWhen_1.retryWhen;
+ }, "get") });
+ var refCount_1 = require_refCount();
+ Object.defineProperty(exports, "refCount", { enumerable: true, get: /* @__PURE__ */ __name(function() {
+ return refCount_1.refCount;
+ }, "get") });
+ var sample_1 = require_sample();
+ Object.defineProperty(exports, "sample", { enumerable: true, get: /* @__PURE__ */ __name(function() {
+ return sample_1.sample;
+ }, "get") });
+ var sampleTime_1 = require_sampleTime();
+ Object.defineProperty(exports, "sampleTime", { enumerable: true, get: /* @__PURE__ */ __name(function() {
+ return sampleTime_1.sampleTime;
+ }, "get") });
+ var scan_1 = require_scan();
+ Object.defineProperty(exports, "scan", { enumerable: true, get: /* @__PURE__ */ __name(function() {
+ return scan_1.scan;
+ }, "get") });
+ var sequenceEqual_1 = require_sequenceEqual();
+ Object.defineProperty(exports, "sequenceEqual", { enumerable: true, get: /* @__PURE__ */ __name(function() {
+ return sequenceEqual_1.sequenceEqual;
+ }, "get") });
+ var share_1 = require_share();
+ Object.defineProperty(exports, "share", { enumerable: true, get: /* @__PURE__ */ __name(function() {
+ return share_1.share;
+ }, "get") });
+ var shareReplay_1 = require_shareReplay();
+ Object.defineProperty(exports, "shareReplay", { enumerable: true, get: /* @__PURE__ */ __name(function() {
+ return shareReplay_1.shareReplay;
+ }, "get") });
+ var single_1 = require_single();
+ Object.defineProperty(exports, "single", { enumerable: true, get: /* @__PURE__ */ __name(function() {
+ return single_1.single;
+ }, "get") });
+ var skip_1 = require_skip();
+ Object.defineProperty(exports, "skip", { enumerable: true, get: /* @__PURE__ */ __name(function() {
+ return skip_1.skip;
+ }, "get") });
+ var skipLast_1 = require_skipLast();
+ Object.defineProperty(exports, "skipLast", { enumerable: true, get: /* @__PURE__ */ __name(function() {
+ return skipLast_1.skipLast;
+ }, "get") });
+ var skipUntil_1 = require_skipUntil();
+ Object.defineProperty(exports, "skipUntil", { enumerable: true, get: /* @__PURE__ */ __name(function() {
+ return skipUntil_1.skipUntil;
+ }, "get") });
+ var skipWhile_1 = require_skipWhile();
+ Object.defineProperty(exports, "skipWhile", { enumerable: true, get: /* @__PURE__ */ __name(function() {
+ return skipWhile_1.skipWhile;
+ }, "get") });
+ var startWith_1 = require_startWith();
+ Object.defineProperty(exports, "startWith", { enumerable: true, get: /* @__PURE__ */ __name(function() {
+ return startWith_1.startWith;
+ }, "get") });
+ var subscribeOn_1 = require_subscribeOn();
+ Object.defineProperty(exports, "subscribeOn", { enumerable: true, get: /* @__PURE__ */ __name(function() {
+ return subscribeOn_1.subscribeOn;
+ }, "get") });
+ var switchAll_1 = require_switchAll();
+ Object.defineProperty(exports, "switchAll", { enumerable: true, get: /* @__PURE__ */ __name(function() {
+ return switchAll_1.switchAll;
+ }, "get") });
+ var switchMap_1 = require_switchMap();
+ Object.defineProperty(exports, "switchMap", { enumerable: true, get: /* @__PURE__ */ __name(function() {
+ return switchMap_1.switchMap;
+ }, "get") });
+ var switchMapTo_1 = require_switchMapTo();
+ Object.defineProperty(exports, "switchMapTo", { enumerable: true, get: /* @__PURE__ */ __name(function() {
+ return switchMapTo_1.switchMapTo;
+ }, "get") });
+ var switchScan_1 = require_switchScan();
+ Object.defineProperty(exports, "switchScan", { enumerable: true, get: /* @__PURE__ */ __name(function() {
+ return switchScan_1.switchScan;
+ }, "get") });
+ var take_1 = require_take();
+ Object.defineProperty(exports, "take", { enumerable: true, get: /* @__PURE__ */ __name(function() {
+ return take_1.take;
+ }, "get") });
+ var takeLast_1 = require_takeLast();
+ Object.defineProperty(exports, "takeLast", { enumerable: true, get: /* @__PURE__ */ __name(function() {
+ return takeLast_1.takeLast;
+ }, "get") });
+ var takeUntil_1 = require_takeUntil();
+ Object.defineProperty(exports, "takeUntil", { enumerable: true, get: /* @__PURE__ */ __name(function() {
+ return takeUntil_1.takeUntil;
+ }, "get") });
+ var takeWhile_1 = require_takeWhile();
+ Object.defineProperty(exports, "takeWhile", { enumerable: true, get: /* @__PURE__ */ __name(function() {
+ return takeWhile_1.takeWhile;
+ }, "get") });
+ var tap_1 = require_tap();
+ Object.defineProperty(exports, "tap", { enumerable: true, get: /* @__PURE__ */ __name(function() {
+ return tap_1.tap;
+ }, "get") });
+ var throttle_1 = require_throttle();
+ Object.defineProperty(exports, "throttle", { enumerable: true, get: /* @__PURE__ */ __name(function() {
+ return throttle_1.throttle;
+ }, "get") });
+ var throttleTime_1 = require_throttleTime();
+ Object.defineProperty(exports, "throttleTime", { enumerable: true, get: /* @__PURE__ */ __name(function() {
+ return throttleTime_1.throttleTime;
+ }, "get") });
+ var throwIfEmpty_1 = require_throwIfEmpty();
+ Object.defineProperty(exports, "throwIfEmpty", { enumerable: true, get: /* @__PURE__ */ __name(function() {
+ return throwIfEmpty_1.throwIfEmpty;
+ }, "get") });
+ var timeInterval_1 = require_timeInterval();
+ Object.defineProperty(exports, "timeInterval", { enumerable: true, get: /* @__PURE__ */ __name(function() {
+ return timeInterval_1.timeInterval;
+ }, "get") });
+ var timeout_1 = require_timeout();
+ Object.defineProperty(exports, "timeout", { enumerable: true, get: /* @__PURE__ */ __name(function() {
+ return timeout_1.timeout;
+ }, "get") });
+ var timeoutWith_1 = require_timeoutWith();
+ Object.defineProperty(exports, "timeoutWith", { enumerable: true, get: /* @__PURE__ */ __name(function() {
+ return timeoutWith_1.timeoutWith;
+ }, "get") });
+ var timestamp_1 = require_timestamp();
+ Object.defineProperty(exports, "timestamp", { enumerable: true, get: /* @__PURE__ */ __name(function() {
+ return timestamp_1.timestamp;
+ }, "get") });
+ var toArray_1 = require_toArray();
+ Object.defineProperty(exports, "toArray", { enumerable: true, get: /* @__PURE__ */ __name(function() {
+ return toArray_1.toArray;
+ }, "get") });
+ var window_1 = require_window();
+ Object.defineProperty(exports, "window", { enumerable: true, get: /* @__PURE__ */ __name(function() {
+ return window_1.window;
+ }, "get") });
+ var windowCount_1 = require_windowCount();
+ Object.defineProperty(exports, "windowCount", { enumerable: true, get: /* @__PURE__ */ __name(function() {
+ return windowCount_1.windowCount;
+ }, "get") });
+ var windowTime_1 = require_windowTime();
+ Object.defineProperty(exports, "windowTime", { enumerable: true, get: /* @__PURE__ */ __name(function() {
+ return windowTime_1.windowTime;
+ }, "get") });
+ var windowToggle_1 = require_windowToggle();
+ Object.defineProperty(exports, "windowToggle", { enumerable: true, get: /* @__PURE__ */ __name(function() {
+ return windowToggle_1.windowToggle;
+ }, "get") });
+ var windowWhen_1 = require_windowWhen();
+ Object.defineProperty(exports, "windowWhen", { enumerable: true, get: /* @__PURE__ */ __name(function() {
+ return windowWhen_1.windowWhen;
+ }, "get") });
+ var withLatestFrom_1 = require_withLatestFrom();
+ Object.defineProperty(exports, "withLatestFrom", { enumerable: true, get: /* @__PURE__ */ __name(function() {
+ return withLatestFrom_1.withLatestFrom;
+ }, "get") });
+ var zip_1 = require_zip3();
+ Object.defineProperty(exports, "zip", { enumerable: true, get: /* @__PURE__ */ __name(function() {
+ return zip_1.zip;
+ }, "get") });
+ var zipAll_1 = require_zipAll();
+ Object.defineProperty(exports, "zipAll", { enumerable: true, get: /* @__PURE__ */ __name(function() {
+ return zipAll_1.zipAll;
+ }, "get") });
+ var zipWith_1 = require_zipWith();
+ Object.defineProperty(exports, "zipWith", { enumerable: true, get: /* @__PURE__ */ __name(function() {
+ return zipWith_1.zipWith;
+ }, "get") });
+ }
+});
+
+// ../../node_modules/.pnpm/@nestjs+common@12.2.0_reflect-metadata@0.2.2_rxjs@7.8.2/node_modules/@nestjs/common/serializer/class-serializer.constants.js
+var CLASS_SERIALIZER_OPTIONS;
+var init_class_serializer_constants = __esm({
+ "../../node_modules/.pnpm/@nestjs+common@12.2.0_reflect-metadata@0.2.2_rxjs@7.8.2/node_modules/@nestjs/common/serializer/class-serializer.constants.js"() {
+ CLASS_SERIALIZER_OPTIONS = "class_serializer:options";
+ }
+});
+
+// ../../node_modules/.pnpm/@nestjs+common@12.2.0_reflect-metadata@0.2.2_rxjs@7.8.2/node_modules/@nestjs/common/serializer/class-serializer.interceptor.js
+var import_operators, classTransformer2, pendingClassTransformer, REFLECTOR, ClassSerializerInterceptor;
+var init_class_serializer_interceptor = __esm({
+ "../../node_modules/.pnpm/@nestjs+common@12.2.0_reflect-metadata@0.2.2_rxjs@7.8.2/node_modules/@nestjs/common/serializer/class-serializer.interceptor.js"() {
+ init_tslib_es6();
+ import_operators = __toESM(require_operators(), 1);
+ init_core();
+ init_file_stream();
+ init_load_package_util();
+ init_shared_utils();
+ init_class_serializer_constants();
+ classTransformer2 = {};
+ REFLECTOR = "Reflector";
+ ClassSerializerInterceptor = class ClassSerializerInterceptor2 {
+ static {
+ __name(this, "ClassSerializerInterceptor");
+ }
+ reflector;
+ defaultOptions;
+ constructor(reflector, defaultOptions = {}) {
+ this.reflector = reflector;
+ this.defaultOptions = defaultOptions;
+ pendingClassTransformer = defaultOptions?.transformerPackage ?? loadPackage("class-transformer", "ClassSerializerInterceptor", () => import("class-transformer"));
+ if (!(pendingClassTransformer instanceof Promise)) {
+ classTransformer2 = pendingClassTransformer;
+ }
+ }
+ async intercept(context, next) {
+ classTransformer2 = await pendingClassTransformer;
+ const contextOptions = this.getContextOptions(context);
+ const options = {
+ ...this.defaultOptions,
+ ...contextOptions
+ };
+ return next.handle().pipe((0, import_operators.map)((res) => this.serialize(res, options)));
+ }
+ /**
+ * Serializes responses that are non-null objects nor streamable files.
+ */
+ serialize(response, options) {
+ if (!isObject(response) || response instanceof StreamableFile) {
+ return response;
+ }
+ return Array.isArray(response) ? response.map((item) => this.transformToPlain(item, options)) : this.transformToPlain(response, options);
+ }
+ transformToPlain(plainOrClass, options) {
+ if (!plainOrClass) {
+ return plainOrClass;
+ }
+ if (!options.type) {
+ return classTransformer2.classToPlain(plainOrClass, options);
+ }
+ if (plainOrClass instanceof options.type) {
+ return classTransformer2.classToPlain(plainOrClass, options);
+ }
+ const instance = classTransformer2.plainToInstance(options.type, plainOrClass, options);
+ return classTransformer2.classToPlain(instance, options);
+ }
+ getContextOptions(context) {
+ return this.reflector.getAllAndOverride(CLASS_SERIALIZER_OPTIONS, [
+ context.getHandler(),
+ context.getClass()
+ ]);
+ }
+ };
+ ClassSerializerInterceptor = __decorate([
+ Injectable(),
+ __param(0, Inject(REFLECTOR)),
+ __param(1, Optional()),
+ __metadata("design:paramtypes", [Object, Object])
+ ], ClassSerializerInterceptor);
+ }
+});
+
+// ../../node_modules/.pnpm/@nestjs+common@12.2.0_reflect-metadata@0.2.2_rxjs@7.8.2/node_modules/@nestjs/common/serializer/class-serializer.interfaces.js
+var init_class_serializer_interfaces = __esm({
+ "../../node_modules/.pnpm/@nestjs+common@12.2.0_reflect-metadata@0.2.2_rxjs@7.8.2/node_modules/@nestjs/common/serializer/class-serializer.interfaces.js"() {
+ }
+});
+
+// ../../node_modules/.pnpm/@nestjs+common@12.2.0_reflect-metadata@0.2.2_rxjs@7.8.2/node_modules/@nestjs/common/serializer/decorators/serialize-options.decorator.js
+var SerializeOptions;
+var init_serialize_options_decorator = __esm({
+ "../../node_modules/.pnpm/@nestjs+common@12.2.0_reflect-metadata@0.2.2_rxjs@7.8.2/node_modules/@nestjs/common/serializer/decorators/serialize-options.decorator.js"() {
+ init_decorators();
+ init_class_serializer_constants();
+ SerializeOptions = /* @__PURE__ */ __name((options) => SetMetadata(CLASS_SERIALIZER_OPTIONS, options), "SerializeOptions");
+ }
+});
+
+// ../../node_modules/.pnpm/@nestjs+common@12.2.0_reflect-metadata@0.2.2_rxjs@7.8.2/node_modules/@nestjs/common/serializer/decorators/index.js
+var init_decorators2 = __esm({
+ "../../node_modules/.pnpm/@nestjs+common@12.2.0_reflect-metadata@0.2.2_rxjs@7.8.2/node_modules/@nestjs/common/serializer/decorators/index.js"() {
+ init_serialize_options_decorator();
+ }
+});
+
+// ../../node_modules/.pnpm/@nestjs+common@12.2.0_reflect-metadata@0.2.2_rxjs@7.8.2/node_modules/@nestjs/common/serializer/standard-schema-serializer.interceptor.js
+var import_operators2, REFLECTOR2, StandardSchemaSerializerInterceptor;
+var init_standard_schema_serializer_interceptor = __esm({
+ "../../node_modules/.pnpm/@nestjs+common@12.2.0_reflect-metadata@0.2.2_rxjs@7.8.2/node_modules/@nestjs/common/serializer/standard-schema-serializer.interceptor.js"() {
+ init_tslib_es6();
+ import_operators2 = __toESM(require_operators(), 1);
+ init_core();
+ init_file_stream();
+ init_shared_utils();
+ init_class_serializer_constants();
+ REFLECTOR2 = "Reflector";
+ StandardSchemaSerializerInterceptor = class StandardSchemaSerializerInterceptor2 {
+ static {
+ __name(this, "StandardSchemaSerializerInterceptor");
+ }
+ reflector;
+ defaultOptions;
+ constructor(reflector, defaultOptions = {}) {
+ this.reflector = reflector;
+ this.defaultOptions = defaultOptions;
+ }
+ intercept(context, next) {
+ const contextOptions = this.getContextOptions(context);
+ const schema = contextOptions?.schema ?? this.defaultOptions.schema;
+ const validateOptions = contextOptions?.validateOptions ?? this.defaultOptions.validateOptions;
+ return next.handle().pipe((0, import_operators2.concatMap)(async (res) => this.serialize(res, schema, validateOptions)));
+ }
+ /**
+ * Serializes responses that are non-null objects nor streamable files.
+ */
+ serialize(response, schema, validateOptions) {
+ if (!schema || !isObject(response) || response instanceof StreamableFile) {
+ return response;
+ }
+ return Array.isArray(response) ? Promise.all(response.map((item) => this.transformToPlain(item, schema, validateOptions))) : this.transformToPlain(response, schema, validateOptions);
+ }
+ async transformToPlain(plainOrClass, schema, validateOptions) {
+ if (!plainOrClass) {
+ return plainOrClass;
+ }
+ const result = await schema["~standard"].validate(plainOrClass, validateOptions);
+ if (result.issues) {
+ throw new Error(`Serialization failed: ${result.issues.map((i) => i.message).join(", ")}`);
+ }
+ return result.value;
+ }
+ getContextOptions(context) {
+ const [handlerOptions, classOptions] = this.reflector.getAll(CLASS_SERIALIZER_OPTIONS, [
+ context.getHandler(),
+ context.getClass()
+ ]);
+ if (!handlerOptions || !classOptions) {
+ return handlerOptions ?? classOptions;
+ }
+ return {
+ schema: handlerOptions.schema ?? classOptions.schema,
+ validateOptions: handlerOptions.validateOptions ?? classOptions.validateOptions
+ };
+ }
+ };
+ StandardSchemaSerializerInterceptor = __decorate([
+ Injectable(),
+ __param(0, Inject(REFLECTOR2)),
+ __param(1, Optional()),
+ __metadata("design:paramtypes", [Object, Object])
+ ], StandardSchemaSerializerInterceptor);
+ }
+});
+
+// ../../node_modules/.pnpm/@nestjs+common@12.2.0_reflect-metadata@0.2.2_rxjs@7.8.2/node_modules/@nestjs/common/serializer/standard-schema-serializer.interfaces.js
+var init_standard_schema_serializer_interfaces = __esm({
+ "../../node_modules/.pnpm/@nestjs+common@12.2.0_reflect-metadata@0.2.2_rxjs@7.8.2/node_modules/@nestjs/common/serializer/standard-schema-serializer.interfaces.js"() {
+ }
+});
+
+// ../../node_modules/.pnpm/@nestjs+common@12.2.0_reflect-metadata@0.2.2_rxjs@7.8.2/node_modules/@nestjs/common/serializer/index.js
+var init_serializer = __esm({
+ "../../node_modules/.pnpm/@nestjs+common@12.2.0_reflect-metadata@0.2.2_rxjs@7.8.2/node_modules/@nestjs/common/serializer/index.js"() {
+ init_class_serializer_interceptor();
+ init_class_serializer_interfaces();
+ init_decorators2();
+ init_standard_schema_serializer_interceptor();
+ init_standard_schema_serializer_interfaces();
+ }
+});
+
+// ../../node_modules/.pnpm/@nestjs+common@12.2.0_reflect-metadata@0.2.2_rxjs@7.8.2/node_modules/@nestjs/common/utils/forward-ref.util.js
+var forwardRef;
+var init_forward_ref_util = __esm({
+ "../../node_modules/.pnpm/@nestjs+common@12.2.0_reflect-metadata@0.2.2_rxjs@7.8.2/node_modules/@nestjs/common/utils/forward-ref.util.js"() {
+ forwardRef = /* @__PURE__ */ __name((fn) => ({
+ forwardRef: fn
+ }), "forwardRef");
+ }
+});
+
+// ../../node_modules/.pnpm/@nestjs+common@12.2.0_reflect-metadata@0.2.2_rxjs@7.8.2/node_modules/@nestjs/common/utils/index.js
+var init_utils3 = __esm({
+ "../../node_modules/.pnpm/@nestjs+common@12.2.0_reflect-metadata@0.2.2_rxjs@7.8.2/node_modules/@nestjs/common/utils/index.js"() {
+ init_forward_ref_util();
+ init_strip_proto_keys_util();
+ }
+});
+
+// ../../node_modules/.pnpm/@nestjs+common@12.2.0_reflect-metadata@0.2.2_rxjs@7.8.2/node_modules/@nestjs/common/index.js
+var common_exports = {};
+__export(common_exports, {
+ All: () => All,
+ BadGatewayException: () => BadGatewayException,
+ BadRequestException: () => BadRequestException,
+ Bind: () => Bind,
+ Body: () => Body,
+ Catch: () => Catch,
+ ClassSerializerInterceptor: () => ClassSerializerInterceptor,
+ ConfigurableModuleBuilder: () => ConfigurableModuleBuilder,
+ ConflictException: () => ConflictException,
+ ConsoleLogger: () => ConsoleLogger,
+ Controller: () => Controller,
+ Cookies: () => Cookies,
+ Copy: () => Copy,
+ DefaultValuePipe: () => DefaultValuePipe,
+ Delete: () => Delete,
+ Dependencies: () => Dependencies,
+ FileTypeValidator: () => FileTypeValidator,
+ FileValidator: () => FileValidator,
+ ForbiddenException: () => ForbiddenException,
+ GatewayTimeoutException: () => GatewayTimeoutException,
+ Get: () => Get,
+ Global: () => Global,
+ GoneException: () => GoneException,
+ Head: () => Head,
+ Header: () => Header,
+ Headers: () => Headers,
+ HostParam: () => HostParam,
+ HttpCode: () => HttpCode,
+ HttpException: () => HttpException,
+ HttpStatus: () => HttpStatus,
+ HttpVersionNotSupportedException: () => HttpVersionNotSupportedException,
+ ImATeapotException: () => ImATeapotException,
+ Inject: () => Inject,
+ Injectable: () => Injectable,
+ InternalServerErrorException: () => InternalServerErrorException,
+ IntrinsicException: () => IntrinsicException,
+ Ip: () => Ip,
+ LOG_LEVELS: () => LOG_LEVELS,
+ Lock: () => Lock,
+ Logger: () => Logger,
+ MaxFileSizeValidator: () => MaxFileSizeValidator,
+ MethodNotAllowedException: () => MethodNotAllowedException,
+ MisdirectedException: () => MisdirectedException,
+ Mkcol: () => Mkcol,
+ Module: () => Module,
+ Move: () => Move,
+ Next: () => Next,
+ NotAcceptableException: () => NotAcceptableException,
+ NotFoundException: () => NotFoundException,
+ NotImplementedException: () => NotImplementedException,
+ Optional: () => Optional,
+ Options: () => Options,
+ Param: () => Param,
+ ParseArrayPipe: () => ParseArrayPipe,
+ ParseBoolPipe: () => ParseBoolPipe,
+ ParseDatePipe: () => ParseDatePipe,
+ ParseEnumPipe: () => ParseEnumPipe,
+ ParseFilePipe: () => ParseFilePipe,
+ ParseFilePipeBuilder: () => ParseFilePipeBuilder,
+ ParseFloatPipe: () => ParseFloatPipe,
+ ParseIntPipe: () => ParseIntPipe,
+ ParseUUIDPipe: () => ParseUUIDPipe,
+ Patch: () => Patch,
+ PayloadTooLargeException: () => PayloadTooLargeException,
+ Post: () => Post,
+ PreconditionFailedException: () => PreconditionFailedException,
+ Propfind: () => Propfind,
+ Proppatch: () => Proppatch,
+ Put: () => Put,
+ Query: () => Query,
+ QueryMethod: () => QueryMethod,
+ RawBody: () => RawBody,
+ Redirect: () => Redirect,
+ Render: () => Render,
+ Req: () => Req,
+ Request: () => Request,
+ RequestMapping: () => RequestMapping,
+ RequestMethod: () => RequestMethod,
+ RequestTimeoutException: () => RequestTimeoutException,
+ Res: () => Res,
+ Response: () => Response,
+ SSE_ABORT_CONTROLLER: () => SSE_ABORT_CONTROLLER,
+ Scope: () => Scope,
+ Search: () => Search,
+ SerializeOptions: () => SerializeOptions,
+ ServiceUnavailableException: () => ServiceUnavailableException,
+ Session: () => Session,
+ SetMetadata: () => SetMetadata,
+ ShutdownSignal: () => ShutdownSignal,
+ SignedCookies: () => SignedCookies,
+ Sse: () => Sse,
+ SseSignal: () => SseSignal,
+ StandardSchemaSerializerInterceptor: () => StandardSchemaSerializerInterceptor,
+ StandardSchemaValidationPipe: () => StandardSchemaValidationPipe,
+ StreamableFile: () => StreamableFile,
+ UnauthorizedException: () => UnauthorizedException,
+ Unlock: () => Unlock,
+ UnprocessableEntityException: () => UnprocessableEntityException,
+ UnsupportedMediaTypeException: () => UnsupportedMediaTypeException,
+ UploadedFile: () => UploadedFile,
+ UploadedFiles: () => UploadedFiles,
+ UseFilters: () => UseFilters,
+ UseGuards: () => UseGuards,
+ UseInterceptors: () => UseInterceptors,
+ UsePipes: () => UsePipes,
+ VERSION_NEUTRAL: () => VERSION_NEUTRAL,
+ ValidationPipe: () => ValidationPipe,
+ Version: () => Version,
+ VersioningType: () => VersioningType,
+ applyDecorators: () => applyDecorators,
+ assignMetadata: () => assignMetadata,
+ createParamDecorator: () => createParamDecorator,
+ filterLogLevels: () => filterLogLevels,
+ flatten: () => flatten,
+ forwardRef: () => forwardRef,
+ mixin: () => mixin,
+ stripProtoKeys: () => stripProtoKeys
+});
+var import_reflect_metadata;
+var init_common = __esm({
+ "../../node_modules/.pnpm/@nestjs+common@12.2.0_reflect-metadata@0.2.2_rxjs@7.8.2/node_modules/@nestjs/common/index.js"() {
+ import_reflect_metadata = __toESM(require_Reflect(), 1);
+ init_decorators();
+ init_enums();
+ init_exceptions();
+ init_file_stream();
+ init_interfaces();
+ init_module_utils();
+ init_pipes();
+ init_serializer();
+ init_services();
+ init_utils3();
+ }
+});
+
+export {
+ require_Reflect,
+ __decorate,
+ __param,
+ __metadata,
+ init_tslib_es6,
+ MODULE_METADATA,
+ GLOBAL_MODULE_METADATA,
+ HOST_METADATA,
+ PATH_METADATA,
+ PARAMTYPES_METADATA,
+ SELF_DECLARED_DEPS_METADATA,
+ OPTIONAL_DEPS_METADATA,
+ PROPERTY_DEPS_METADATA,
+ OPTIONAL_PROPERTY_DEPS_METADATA,
+ SCOPE_OPTIONS_METADATA,
+ METHOD_METADATA,
+ ROUTE_ARGS_METADATA,
+ CUSTOM_ROUTE_ARGS_METADATA,
+ FILTER_CATCH_EXCEPTIONS,
+ PIPES_METADATA,
+ GUARDS_METADATA,
+ INTERCEPTORS_METADATA,
+ EXCEPTION_FILTERS_METADATA,
+ ENHANCER_KEY_TO_SUBTYPE_MAP,
+ RENDER_METADATA,
+ HTTP_CODE_METADATA,
+ MODULE_PATH,
+ HEADERS_METADATA,
+ REDIRECT_METADATA,
+ RESPONSE_PASSTHROUGH_METADATA,
+ SSE_METADATA,
+ SSE_OPTIONS_METADATA,
+ VERSION_METADATA,
+ INJECTABLE_WATERMARK,
+ CONTROLLER_WATERMARK,
+ CATCH_WATERMARK,
+ ENTRY_PROVIDER_WATERMARK,
+ init_constants,
+ Catch,
+ isUndefined,
+ isObject,
+ isPlainObject,
+ addLeadingSlash,
+ normalizePath,
+ stripEndSlash,
+ isFunction,
+ isString,
+ isConstructor,
+ isNil,
+ isEmpty,
+ isEmptyArray,
+ isSymbol,
+ init_shared_utils,
+ Controller,
+ flatten,
+ Inject,
+ uid,
+ init_dist,
+ Injectable,
+ mixin,
+ Optional,
+ SetMetadata,
+ UseGuards,
+ UseInterceptors,
+ applyDecorators,
+ Global,
+ Module,
+ RequestMethod,
+ Post,
+ Get,
+ Delete,
+ Put,
+ Patch,
+ RouteParamtypes,
+ init_route_paramtypes_enum,
+ init_parameter_decorator_options_util,
+ UploadedFile,
+ Query,
+ Body,
+ Param,
+ Req,
+ Res,
+ init_route_params_decorator,
+ HttpCode,
+ createParamDecorator,
+ SSE_ABORT_CONTROLLER,
+ HttpStatus,
+ ShutdownSignal,
+ VersioningType,
+ IntrinsicException,
+ HttpException,
+ BadRequestException,
+ ConflictException,
+ ForbiddenException,
+ InternalServerErrorException,
+ NotFoundException,
+ PayloadTooLargeException,
+ ServiceUnavailableException,
+ UnauthorizedException,
+ clc,
+ init_cli_colors_util,
+ ConsoleLogger,
+ Logger,
+ StreamableFile,
+ Scope,
+ VERSION_NEUTRAL,
+ randomStringGenerator,
+ init_random_string_generator_util,
+ require_lib,
+ loadPackage,
+ loadPackageCached,
+ tryLoadPackage,
+ init_load_package_util,
+ require_isFunction,
+ require_isArrayLike,
+ require_UnsubscriptionError,
+ require_Subscription,
+ require_config,
+ require_noop,
+ require_Subscriber,
+ require_observable,
+ require_identity,
+ require_pipe,
+ require_Observable,
+ require_innerFrom,
+ require_OperatorSubscriber,
+ require_audit,
+ require_AsyncAction,
+ require_Scheduler,
+ require_AsyncScheduler,
+ require_async,
+ require_isScheduler,
+ require_timer,
+ require_auditTime,
+ require_buffer,
+ require_bufferCount,
+ require_args,
+ require_bufferTime,
+ require_bufferToggle,
+ require_bufferWhen,
+ require_catchError,
+ require_argsArgArrayOrObject,
+ require_observeOn,
+ require_subscribeOn,
+ require_scheduleIterable,
+ require_scheduled,
+ require_from,
+ require_map2 as require_map,
+ require_mapOneOrManyArgs,
+ require_createObject,
+ require_combineLatest,
+ require_mergeMap,
+ require_reduce,
+ require_toArray,
+ require_combineLatestAll,
+ require_combineAll,
+ require_combineLatestWith,
+ require_mergeAll,
+ require_concatAll,
+ require_concatMap,
+ require_concatMapTo,
+ require_concatWith,
+ require_ObjectUnsubscribedError,
+ require_Subject,
+ require_connect,
+ require_count,
+ require_debounce,
+ require_debounceTime,
+ require_defaultIfEmpty,
+ require_concat3 as require_concat,
+ require_empty,
+ require_take,
+ require_ignoreElements,
+ require_mapTo,
+ require_delayWhen,
+ require_delay,
+ require_of,
+ require_throwError,
+ require_Notification,
+ require_dematerialize,
+ require_distinct,
+ require_distinctUntilChanged,
+ require_distinctUntilKeyChanged,
+ require_ArgumentOutOfRangeError,
+ require_filter2 as require_filter,
+ require_EmptyError,
+ require_throwIfEmpty,
+ require_elementAt,
+ require_endWith,
+ require_every,
+ require_exhaustMap,
+ require_exhaustAll,
+ require_exhaust,
+ require_expand,
+ require_finalize,
+ require_find,
+ require_findIndex,
+ require_first,
+ require_groupBy,
+ require_isEmpty,
+ require_takeLast,
+ require_last,
+ require_materialize,
+ require_max,
+ require_flatMap,
+ require_mergeMapTo,
+ require_mergeScan,
+ require_mergeWith,
+ require_min,
+ require_refCount,
+ require_ConnectableObservable,
+ require_multicast,
+ require_onErrorResumeNext,
+ require_onErrorResumeNextWith,
+ require_pairwise,
+ require_not,
+ require_pluck,
+ require_publish,
+ require_BehaviorSubject,
+ require_publishBehavior,
+ require_AsyncSubject,
+ require_publishLast,
+ require_ReplaySubject,
+ require_publishReplay,
+ require_race,
+ require_raceWith,
+ require_repeat,
+ require_repeatWhen,
+ require_retry,
+ require_retryWhen,
+ require_sample,
+ require_interval,
+ require_sampleTime,
+ require_scan,
+ require_sequenceEqual,
+ require_share,
+ require_shareReplay,
+ require_SequenceError,
+ require_NotFoundError,
+ require_single,
+ require_skip,
+ require_skipLast,
+ require_skipUntil,
+ require_skipWhile,
+ require_startWith,
+ require_switchMap,
+ require_switchAll,
+ require_switchMapTo,
+ require_switchScan,
+ require_takeUntil,
+ require_takeWhile,
+ require_tap,
+ require_throttle,
+ require_throttleTime,
+ require_timeInterval,
+ require_timeout,
+ require_timeoutWith,
+ require_timestamp,
+ require_window,
+ require_windowCount,
+ require_windowTime,
+ require_windowToggle,
+ require_windowWhen,
+ require_withLatestFrom,
+ require_zip2 as require_zip,
+ require_zipAll,
+ require_zipWith,
+ require_operators,
+ common_exports,
+ init_common
+};
diff --git a/apps/api/.output/dist/chunks/chunk-C4DYPKAN.js b/apps/api/.output/dist/chunks/chunk-C4DYPKAN.js
new file mode 100644
index 0000000..5be60a6
--- /dev/null
+++ b/apps/api/.output/dist/chunks/chunk-C4DYPKAN.js
@@ -0,0 +1,725 @@
+import { createRequire as __bundleCreateRequire } from "node:module"; const require = __bundleCreateRequire(import.meta.url);
+import {
+ require_ms
+} from "./chunk-A34KYKJP.js";
+import {
+ __commonJS,
+ __esm,
+ __export,
+ __name,
+ __require,
+ __toCommonJS
+} from "./chunk-T6GW54FI.js";
+
+// ../../node_modules/.pnpm/debug@4.4.3/node_modules/debug/src/common.js
+var require_common = __commonJS({
+ "../../node_modules/.pnpm/debug@4.4.3/node_modules/debug/src/common.js"(exports, module) {
+ function setup(env2) {
+ createDebug.debug = createDebug;
+ createDebug.default = createDebug;
+ createDebug.coerce = coerce;
+ createDebug.disable = disable;
+ createDebug.enable = enable;
+ createDebug.enabled = enabled;
+ createDebug.humanize = require_ms();
+ createDebug.destroy = destroy;
+ Object.keys(env2).forEach((key) => {
+ createDebug[key] = env2[key];
+ });
+ createDebug.names = [];
+ createDebug.skips = [];
+ createDebug.formatters = {};
+ function selectColor(namespace) {
+ let hash = 0;
+ for (let i = 0; i < namespace.length; i++) {
+ hash = (hash << 5) - hash + namespace.charCodeAt(i);
+ hash |= 0;
+ }
+ return createDebug.colors[Math.abs(hash) % createDebug.colors.length];
+ }
+ __name(selectColor, "selectColor");
+ createDebug.selectColor = selectColor;
+ function createDebug(namespace) {
+ let prevTime;
+ let enableOverride = null;
+ let namespacesCache;
+ let enabledCache;
+ function debug(...args) {
+ if (!debug.enabled) {
+ return;
+ }
+ const self = debug;
+ const curr = Number(/* @__PURE__ */ new Date());
+ const ms = curr - (prevTime || curr);
+ self.diff = ms;
+ self.prev = prevTime;
+ self.curr = curr;
+ prevTime = curr;
+ args[0] = createDebug.coerce(args[0]);
+ if (typeof args[0] !== "string") {
+ args.unshift("%O");
+ }
+ let index = 0;
+ args[0] = args[0].replace(/%([a-zA-Z%])/g, (match, format) => {
+ if (match === "%%") {
+ return "%";
+ }
+ index++;
+ const formatter = createDebug.formatters[format];
+ if (typeof formatter === "function") {
+ const val = args[index];
+ match = formatter.call(self, val);
+ args.splice(index, 1);
+ index--;
+ }
+ return match;
+ });
+ createDebug.formatArgs.call(self, args);
+ const logFn = self.log || createDebug.log;
+ logFn.apply(self, args);
+ }
+ __name(debug, "debug");
+ debug.namespace = namespace;
+ debug.useColors = createDebug.useColors();
+ debug.color = createDebug.selectColor(namespace);
+ debug.extend = extend;
+ debug.destroy = createDebug.destroy;
+ Object.defineProperty(debug, "enabled", {
+ enumerable: true,
+ configurable: false,
+ get: /* @__PURE__ */ __name(() => {
+ if (enableOverride !== null) {
+ return enableOverride;
+ }
+ if (namespacesCache !== createDebug.namespaces) {
+ namespacesCache = createDebug.namespaces;
+ enabledCache = createDebug.enabled(namespace);
+ }
+ return enabledCache;
+ }, "get"),
+ set: /* @__PURE__ */ __name((v) => {
+ enableOverride = v;
+ }, "set")
+ });
+ if (typeof createDebug.init === "function") {
+ createDebug.init(debug);
+ }
+ return debug;
+ }
+ __name(createDebug, "createDebug");
+ function extend(namespace, delimiter) {
+ const newDebug = createDebug(this.namespace + (typeof delimiter === "undefined" ? ":" : delimiter) + namespace);
+ newDebug.log = this.log;
+ return newDebug;
+ }
+ __name(extend, "extend");
+ function enable(namespaces) {
+ createDebug.save(namespaces);
+ createDebug.namespaces = namespaces;
+ createDebug.names = [];
+ createDebug.skips = [];
+ const split = (typeof namespaces === "string" ? namespaces : "").trim().replace(/\s+/g, ",").split(",").filter(Boolean);
+ for (const ns of split) {
+ if (ns[0] === "-") {
+ createDebug.skips.push(ns.slice(1));
+ } else {
+ createDebug.names.push(ns);
+ }
+ }
+ }
+ __name(enable, "enable");
+ function matchesTemplate(search, template) {
+ let searchIndex = 0;
+ let templateIndex = 0;
+ let starIndex = -1;
+ let matchIndex = 0;
+ while (searchIndex < search.length) {
+ if (templateIndex < template.length && (template[templateIndex] === search[searchIndex] || template[templateIndex] === "*")) {
+ if (template[templateIndex] === "*") {
+ starIndex = templateIndex;
+ matchIndex = searchIndex;
+ templateIndex++;
+ } else {
+ searchIndex++;
+ templateIndex++;
+ }
+ } else if (starIndex !== -1) {
+ templateIndex = starIndex + 1;
+ matchIndex++;
+ searchIndex = matchIndex;
+ } else {
+ return false;
+ }
+ }
+ while (templateIndex < template.length && template[templateIndex] === "*") {
+ templateIndex++;
+ }
+ return templateIndex === template.length;
+ }
+ __name(matchesTemplate, "matchesTemplate");
+ function disable() {
+ const namespaces = [
+ ...createDebug.names,
+ ...createDebug.skips.map((namespace) => "-" + namespace)
+ ].join(",");
+ createDebug.enable("");
+ return namespaces;
+ }
+ __name(disable, "disable");
+ function enabled(name) {
+ for (const skip of createDebug.skips) {
+ if (matchesTemplate(name, skip)) {
+ return false;
+ }
+ }
+ for (const ns of createDebug.names) {
+ if (matchesTemplate(name, ns)) {
+ return true;
+ }
+ }
+ return false;
+ }
+ __name(enabled, "enabled");
+ function coerce(val) {
+ if (val instanceof Error) {
+ return val.stack || val.message;
+ }
+ return val;
+ }
+ __name(coerce, "coerce");
+ function destroy() {
+ console.warn("Instance method `debug.destroy()` is deprecated and no longer does anything. It will be removed in the next major version of `debug`.");
+ }
+ __name(destroy, "destroy");
+ createDebug.enable(createDebug.load());
+ return createDebug;
+ }
+ __name(setup, "setup");
+ module.exports = setup;
+ }
+});
+
+// ../../node_modules/.pnpm/debug@4.4.3/node_modules/debug/src/browser.js
+var require_browser = __commonJS({
+ "../../node_modules/.pnpm/debug@4.4.3/node_modules/debug/src/browser.js"(exports, module) {
+ exports.formatArgs = formatArgs;
+ exports.save = save;
+ exports.load = load;
+ exports.useColors = useColors;
+ exports.storage = localstorage();
+ exports.destroy = /* @__PURE__ */ (() => {
+ let warned = false;
+ return () => {
+ if (!warned) {
+ warned = true;
+ console.warn("Instance method `debug.destroy()` is deprecated and no longer does anything. It will be removed in the next major version of `debug`.");
+ }
+ };
+ })();
+ exports.colors = [
+ "#0000CC",
+ "#0000FF",
+ "#0033CC",
+ "#0033FF",
+ "#0066CC",
+ "#0066FF",
+ "#0099CC",
+ "#0099FF",
+ "#00CC00",
+ "#00CC33",
+ "#00CC66",
+ "#00CC99",
+ "#00CCCC",
+ "#00CCFF",
+ "#3300CC",
+ "#3300FF",
+ "#3333CC",
+ "#3333FF",
+ "#3366CC",
+ "#3366FF",
+ "#3399CC",
+ "#3399FF",
+ "#33CC00",
+ "#33CC33",
+ "#33CC66",
+ "#33CC99",
+ "#33CCCC",
+ "#33CCFF",
+ "#6600CC",
+ "#6600FF",
+ "#6633CC",
+ "#6633FF",
+ "#66CC00",
+ "#66CC33",
+ "#9900CC",
+ "#9900FF",
+ "#9933CC",
+ "#9933FF",
+ "#99CC00",
+ "#99CC33",
+ "#CC0000",
+ "#CC0033",
+ "#CC0066",
+ "#CC0099",
+ "#CC00CC",
+ "#CC00FF",
+ "#CC3300",
+ "#CC3333",
+ "#CC3366",
+ "#CC3399",
+ "#CC33CC",
+ "#CC33FF",
+ "#CC6600",
+ "#CC6633",
+ "#CC9900",
+ "#CC9933",
+ "#CCCC00",
+ "#CCCC33",
+ "#FF0000",
+ "#FF0033",
+ "#FF0066",
+ "#FF0099",
+ "#FF00CC",
+ "#FF00FF",
+ "#FF3300",
+ "#FF3333",
+ "#FF3366",
+ "#FF3399",
+ "#FF33CC",
+ "#FF33FF",
+ "#FF6600",
+ "#FF6633",
+ "#FF9900",
+ "#FF9933",
+ "#FFCC00",
+ "#FFCC33"
+ ];
+ function useColors() {
+ if (typeof window !== "undefined" && window.process && (window.process.type === "renderer" || window.process.__nwjs)) {
+ return true;
+ }
+ if (typeof navigator !== "undefined" && navigator.userAgent && navigator.userAgent.toLowerCase().match(/(edge|trident)\/(\d+)/)) {
+ return false;
+ }
+ let m;
+ return typeof document !== "undefined" && document.documentElement && document.documentElement.style && document.documentElement.style.WebkitAppearance || // Is firebug? http://stackoverflow.com/a/398120/376773
+ typeof window !== "undefined" && window.console && (window.console.firebug || window.console.exception && window.console.table) || // Is firefox >= v31?
+ // https://developer.mozilla.org/en-US/docs/Tools/Web_Console#Styling_messages
+ typeof navigator !== "undefined" && navigator.userAgent && (m = navigator.userAgent.toLowerCase().match(/firefox\/(\d+)/)) && parseInt(m[1], 10) >= 31 || // Double check webkit in userAgent just in case we are in a worker
+ typeof navigator !== "undefined" && navigator.userAgent && navigator.userAgent.toLowerCase().match(/applewebkit\/(\d+)/);
+ }
+ __name(useColors, "useColors");
+ function formatArgs(args) {
+ args[0] = (this.useColors ? "%c" : "") + this.namespace + (this.useColors ? " %c" : " ") + args[0] + (this.useColors ? "%c " : " ") + "+" + module.exports.humanize(this.diff);
+ if (!this.useColors) {
+ return;
+ }
+ const c = "color: " + this.color;
+ args.splice(1, 0, c, "color: inherit");
+ let index = 0;
+ let lastC = 0;
+ args[0].replace(/%[a-zA-Z%]/g, (match) => {
+ if (match === "%%") {
+ return;
+ }
+ index++;
+ if (match === "%c") {
+ lastC = index;
+ }
+ });
+ args.splice(lastC, 0, c);
+ }
+ __name(formatArgs, "formatArgs");
+ exports.log = console.debug || console.log || (() => {
+ });
+ function save(namespaces) {
+ try {
+ if (namespaces) {
+ exports.storage.setItem("debug", namespaces);
+ } else {
+ exports.storage.removeItem("debug");
+ }
+ } catch (error) {
+ }
+ }
+ __name(save, "save");
+ function load() {
+ let r;
+ try {
+ r = exports.storage.getItem("debug") || exports.storage.getItem("DEBUG");
+ } catch (error) {
+ }
+ if (!r && typeof process !== "undefined" && "env" in process) {
+ r = process.env.DEBUG;
+ }
+ return r;
+ }
+ __name(load, "load");
+ function localstorage() {
+ try {
+ return localStorage;
+ } catch (error) {
+ }
+ }
+ __name(localstorage, "localstorage");
+ module.exports = require_common()(exports);
+ var { formatters } = module.exports;
+ formatters.j = function(v) {
+ try {
+ return JSON.stringify(v);
+ } catch (error) {
+ return "[UnexpectedJSONParseError]: " + error.message;
+ }
+ };
+ }
+});
+
+// ../../node_modules/.pnpm/supports-color@10.2.2/node_modules/supports-color/index.js
+var supports_color_exports = {};
+__export(supports_color_exports, {
+ createSupportsColor: () => createSupportsColor,
+ default: () => supports_color_default
+});
+import process2 from "node:process";
+import os from "node:os";
+import tty from "node:tty";
+function hasFlag(flag, argv = globalThis.Deno ? globalThis.Deno.args : process2.argv) {
+ const prefix = flag.startsWith("-") ? "" : flag.length === 1 ? "-" : "--";
+ const position = argv.indexOf(prefix + flag);
+ const terminatorPosition = argv.indexOf("--");
+ return position !== -1 && (terminatorPosition === -1 || position < terminatorPosition);
+}
+function envForceColor() {
+ if (!("FORCE_COLOR" in env)) {
+ return;
+ }
+ if (env.FORCE_COLOR === "true") {
+ return 1;
+ }
+ if (env.FORCE_COLOR === "false") {
+ return 0;
+ }
+ if (env.FORCE_COLOR.length === 0) {
+ return 1;
+ }
+ const level = Math.min(Number.parseInt(env.FORCE_COLOR, 10), 3);
+ if (![0, 1, 2, 3].includes(level)) {
+ return;
+ }
+ return level;
+}
+function translateLevel(level) {
+ if (level === 0) {
+ return false;
+ }
+ return {
+ level,
+ hasBasic: true,
+ has256: level >= 2,
+ has16m: level >= 3
+ };
+}
+function _supportsColor(haveStream, { streamIsTTY, sniffFlags = true } = {}) {
+ const noFlagForceColor = envForceColor();
+ if (noFlagForceColor !== void 0) {
+ flagForceColor = noFlagForceColor;
+ }
+ const forceColor = sniffFlags ? flagForceColor : noFlagForceColor;
+ if (forceColor === 0) {
+ return 0;
+ }
+ if (sniffFlags) {
+ if (hasFlag("color=16m") || hasFlag("color=full") || hasFlag("color=truecolor")) {
+ return 3;
+ }
+ if (hasFlag("color=256")) {
+ return 2;
+ }
+ }
+ if ("TF_BUILD" in env && "AGENT_NAME" in env) {
+ return 1;
+ }
+ if (haveStream && !streamIsTTY && forceColor === void 0) {
+ return 0;
+ }
+ const min = forceColor || 0;
+ if (env.TERM === "dumb") {
+ return min;
+ }
+ if (process2.platform === "win32") {
+ const osRelease = os.release().split(".");
+ if (Number(osRelease[0]) >= 10 && Number(osRelease[2]) >= 10586) {
+ return Number(osRelease[2]) >= 14931 ? 3 : 2;
+ }
+ return 1;
+ }
+ if ("CI" in env) {
+ if (["GITHUB_ACTIONS", "GITEA_ACTIONS", "CIRCLECI"].some((key) => key in env)) {
+ return 3;
+ }
+ if (["TRAVIS", "APPVEYOR", "GITLAB_CI", "BUILDKITE", "DRONE"].some((sign) => sign in env) || env.CI_NAME === "codeship") {
+ return 1;
+ }
+ return min;
+ }
+ if ("TEAMCITY_VERSION" in env) {
+ return /^(9\.(0*[1-9]\d*)\.|\d{2,}\.)/.test(env.TEAMCITY_VERSION) ? 1 : 0;
+ }
+ if (env.COLORTERM === "truecolor") {
+ return 3;
+ }
+ if (env.TERM === "xterm-kitty") {
+ return 3;
+ }
+ if (env.TERM === "xterm-ghostty") {
+ return 3;
+ }
+ if (env.TERM === "wezterm") {
+ return 3;
+ }
+ if ("TERM_PROGRAM" in env) {
+ const version = Number.parseInt((env.TERM_PROGRAM_VERSION || "").split(".")[0], 10);
+ switch (env.TERM_PROGRAM) {
+ case "iTerm.app": {
+ return version >= 3 ? 3 : 2;
+ }
+ case "Apple_Terminal": {
+ return 2;
+ }
+ }
+ }
+ if (/-256(color)?$/i.test(env.TERM)) {
+ return 2;
+ }
+ if (/^screen|^xterm|^vt100|^vt220|^rxvt|color|ansi|cygwin|linux/i.test(env.TERM)) {
+ return 1;
+ }
+ if ("COLORTERM" in env) {
+ return 1;
+ }
+ return min;
+}
+function createSupportsColor(stream, options = {}) {
+ const level = _supportsColor(stream, {
+ streamIsTTY: stream && stream.isTTY,
+ ...options
+ });
+ return translateLevel(level);
+}
+var env, flagForceColor, supportsColor, supports_color_default;
+var init_supports_color = __esm({
+ "../../node_modules/.pnpm/supports-color@10.2.2/node_modules/supports-color/index.js"() {
+ __name(hasFlag, "hasFlag");
+ ({ env } = process2);
+ if (hasFlag("no-color") || hasFlag("no-colors") || hasFlag("color=false") || hasFlag("color=never")) {
+ flagForceColor = 0;
+ } else if (hasFlag("color") || hasFlag("colors") || hasFlag("color=true") || hasFlag("color=always")) {
+ flagForceColor = 1;
+ }
+ __name(envForceColor, "envForceColor");
+ __name(translateLevel, "translateLevel");
+ __name(_supportsColor, "_supportsColor");
+ __name(createSupportsColor, "createSupportsColor");
+ supportsColor = {
+ stdout: createSupportsColor({ isTTY: tty.isatty(1) }),
+ stderr: createSupportsColor({ isTTY: tty.isatty(2) })
+ };
+ supports_color_default = supportsColor;
+ }
+});
+
+// ../../node_modules/.pnpm/debug@4.4.3/node_modules/debug/src/node.js
+var require_node = __commonJS({
+ "../../node_modules/.pnpm/debug@4.4.3/node_modules/debug/src/node.js"(exports, module) {
+ var tty2 = __require("tty");
+ var util = __require("util");
+ exports.init = init;
+ exports.log = log;
+ exports.formatArgs = formatArgs;
+ exports.save = save;
+ exports.load = load;
+ exports.useColors = useColors;
+ exports.destroy = util.deprecate(
+ () => {
+ },
+ "Instance method `debug.destroy()` is deprecated and no longer does anything. It will be removed in the next major version of `debug`."
+ );
+ exports.colors = [6, 2, 3, 4, 5, 1];
+ try {
+ const supportsColor2 = (init_supports_color(), __toCommonJS(supports_color_exports));
+ if (supportsColor2 && (supportsColor2.stderr || supportsColor2).level >= 2) {
+ exports.colors = [
+ 20,
+ 21,
+ 26,
+ 27,
+ 32,
+ 33,
+ 38,
+ 39,
+ 40,
+ 41,
+ 42,
+ 43,
+ 44,
+ 45,
+ 56,
+ 57,
+ 62,
+ 63,
+ 68,
+ 69,
+ 74,
+ 75,
+ 76,
+ 77,
+ 78,
+ 79,
+ 80,
+ 81,
+ 92,
+ 93,
+ 98,
+ 99,
+ 112,
+ 113,
+ 128,
+ 129,
+ 134,
+ 135,
+ 148,
+ 149,
+ 160,
+ 161,
+ 162,
+ 163,
+ 164,
+ 165,
+ 166,
+ 167,
+ 168,
+ 169,
+ 170,
+ 171,
+ 172,
+ 173,
+ 178,
+ 179,
+ 184,
+ 185,
+ 196,
+ 197,
+ 198,
+ 199,
+ 200,
+ 201,
+ 202,
+ 203,
+ 204,
+ 205,
+ 206,
+ 207,
+ 208,
+ 209,
+ 214,
+ 215,
+ 220,
+ 221
+ ];
+ }
+ } catch (error) {
+ }
+ exports.inspectOpts = Object.keys(process.env).filter((key) => {
+ return /^debug_/i.test(key);
+ }).reduce((obj, key) => {
+ const prop = key.substring(6).toLowerCase().replace(/_([a-z])/g, (_, k) => {
+ return k.toUpperCase();
+ });
+ let val = process.env[key];
+ if (/^(yes|on|true|enabled)$/i.test(val)) {
+ val = true;
+ } else if (/^(no|off|false|disabled)$/i.test(val)) {
+ val = false;
+ } else if (val === "null") {
+ val = null;
+ } else {
+ val = Number(val);
+ }
+ obj[prop] = val;
+ return obj;
+ }, {});
+ function useColors() {
+ return "colors" in exports.inspectOpts ? Boolean(exports.inspectOpts.colors) : tty2.isatty(process.stderr.fd);
+ }
+ __name(useColors, "useColors");
+ function formatArgs(args) {
+ const { namespace: name, useColors: useColors2 } = this;
+ if (useColors2) {
+ const c = this.color;
+ const colorCode = "\x1B[3" + (c < 8 ? c : "8;5;" + c);
+ const prefix = ` ${colorCode};1m${name} \x1B[0m`;
+ args[0] = prefix + args[0].split("\n").join("\n" + prefix);
+ args.push(colorCode + "m+" + module.exports.humanize(this.diff) + "\x1B[0m");
+ } else {
+ args[0] = getDate() + name + " " + args[0];
+ }
+ }
+ __name(formatArgs, "formatArgs");
+ function getDate() {
+ if (exports.inspectOpts.hideDate) {
+ return "";
+ }
+ return (/* @__PURE__ */ new Date()).toISOString() + " ";
+ }
+ __name(getDate, "getDate");
+ function log(...args) {
+ return process.stderr.write(util.formatWithOptions(exports.inspectOpts, ...args) + "\n");
+ }
+ __name(log, "log");
+ function save(namespaces) {
+ if (namespaces) {
+ process.env.DEBUG = namespaces;
+ } else {
+ delete process.env.DEBUG;
+ }
+ }
+ __name(save, "save");
+ function load() {
+ return process.env.DEBUG;
+ }
+ __name(load, "load");
+ function init(debug) {
+ debug.inspectOpts = {};
+ const keys = Object.keys(exports.inspectOpts);
+ for (let i = 0; i < keys.length; i++) {
+ debug.inspectOpts[keys[i]] = exports.inspectOpts[keys[i]];
+ }
+ }
+ __name(init, "init");
+ module.exports = require_common()(exports);
+ var { formatters } = module.exports;
+ formatters.o = function(v) {
+ this.inspectOpts.colors = this.useColors;
+ return util.inspect(v, this.inspectOpts).split("\n").map((str) => str.trim()).join(" ");
+ };
+ formatters.O = function(v) {
+ this.inspectOpts.colors = this.useColors;
+ return util.inspect(v, this.inspectOpts);
+ };
+ }
+});
+
+// ../../node_modules/.pnpm/debug@4.4.3/node_modules/debug/src/index.js
+var require_src = __commonJS({
+ "../../node_modules/.pnpm/debug@4.4.3/node_modules/debug/src/index.js"(exports, module) {
+ if (typeof process === "undefined" || process.type === "renderer" || process.browser === true || process.__nwjs) {
+ module.exports = require_browser();
+ } else {
+ module.exports = require_node();
+ }
+ }
+});
+
+export {
+ require_src
+};
diff --git a/apps/api/.output/dist/chunks/chunk-KIUJQ22G.js b/apps/api/.output/dist/chunks/chunk-KIUJQ22G.js
new file mode 100644
index 0000000..8678232
--- /dev/null
+++ b/apps/api/.output/dist/chunks/chunk-KIUJQ22G.js
@@ -0,0 +1,5494 @@
+import { createRequire as __bundleCreateRequire } from "node:module"; const require = __bundleCreateRequire(import.meta.url);
+import {
+ __commonJS,
+ __name,
+ __require,
+ __toESM
+} from "./chunk-T6GW54FI.js";
+
+// ../../node_modules/.pnpm/postgres-array@2.0.0/node_modules/postgres-array/index.js
+var require_postgres_array = __commonJS({
+ "../../node_modules/.pnpm/postgres-array@2.0.0/node_modules/postgres-array/index.js"(exports) {
+ "use strict";
+ exports.parse = function(source, transform) {
+ return new ArrayParser(source, transform).parse();
+ };
+ var ArrayParser = class _ArrayParser {
+ static {
+ __name(this, "ArrayParser");
+ }
+ constructor(source, transform) {
+ this.source = source;
+ this.transform = transform || identity;
+ this.position = 0;
+ this.entries = [];
+ this.recorded = [];
+ this.dimension = 0;
+ }
+ isEof() {
+ return this.position >= this.source.length;
+ }
+ nextCharacter() {
+ var character = this.source[this.position++];
+ if (character === "\\") {
+ return {
+ value: this.source[this.position++],
+ escaped: true
+ };
+ }
+ return {
+ value: character,
+ escaped: false
+ };
+ }
+ record(character) {
+ this.recorded.push(character);
+ }
+ newEntry(includeEmpty) {
+ var entry;
+ if (this.recorded.length > 0 || includeEmpty) {
+ entry = this.recorded.join("");
+ if (entry === "NULL" && !includeEmpty) {
+ entry = null;
+ }
+ if (entry !== null) entry = this.transform(entry);
+ this.entries.push(entry);
+ this.recorded = [];
+ }
+ }
+ consumeDimensions() {
+ if (this.source[0] === "[") {
+ while (!this.isEof()) {
+ var char = this.nextCharacter();
+ if (char.value === "=") break;
+ }
+ }
+ }
+ parse(nested) {
+ var character, parser, quote;
+ this.consumeDimensions();
+ while (!this.isEof()) {
+ character = this.nextCharacter();
+ if (character.value === "{" && !quote) {
+ this.dimension++;
+ if (this.dimension > 1) {
+ parser = new _ArrayParser(this.source.substr(this.position - 1), this.transform);
+ this.entries.push(parser.parse(true));
+ this.position += parser.position - 2;
+ }
+ } else if (character.value === "}" && !quote) {
+ this.dimension--;
+ if (!this.dimension) {
+ this.newEntry();
+ if (nested) return this.entries;
+ }
+ } else if (character.value === '"' && !character.escaped) {
+ if (quote) this.newEntry(true);
+ quote = !quote;
+ } else if (character.value === "," && !quote) {
+ this.newEntry();
+ } else {
+ this.record(character.value);
+ }
+ }
+ if (this.dimension !== 0) {
+ throw new Error("array dimension not balanced");
+ }
+ return this.entries;
+ }
+ };
+ function identity(value) {
+ return value;
+ }
+ __name(identity, "identity");
+ }
+});
+
+// ../../node_modules/.pnpm/pg-types@2.2.0/node_modules/pg-types/lib/arrayParser.js
+var require_arrayParser = __commonJS({
+ "../../node_modules/.pnpm/pg-types@2.2.0/node_modules/pg-types/lib/arrayParser.js"(exports, module) {
+ var array = require_postgres_array();
+ module.exports = {
+ create: /* @__PURE__ */ __name(function(source, transform) {
+ return {
+ parse: /* @__PURE__ */ __name(function() {
+ return array.parse(source, transform);
+ }, "parse")
+ };
+ }, "create")
+ };
+ }
+});
+
+// ../../node_modules/.pnpm/postgres-date@1.0.7/node_modules/postgres-date/index.js
+var require_postgres_date = __commonJS({
+ "../../node_modules/.pnpm/postgres-date@1.0.7/node_modules/postgres-date/index.js"(exports, module) {
+ "use strict";
+ var DATE_TIME = /(\d{1,})-(\d{2})-(\d{2}) (\d{2}):(\d{2}):(\d{2})(\.\d{1,})?.*?( BC)?$/;
+ var DATE = /^(\d{1,})-(\d{2})-(\d{2})( BC)?$/;
+ var TIME_ZONE = /([Z+-])(\d{2})?:?(\d{2})?:?(\d{2})?/;
+ var INFINITY = /^-?infinity$/;
+ module.exports = /* @__PURE__ */ __name(function parseDate(isoDate) {
+ if (INFINITY.test(isoDate)) {
+ return Number(isoDate.replace("i", "I"));
+ }
+ var matches = DATE_TIME.exec(isoDate);
+ if (!matches) {
+ return getDate(isoDate) || null;
+ }
+ var isBC = !!matches[8];
+ var year = parseInt(matches[1], 10);
+ if (isBC) {
+ year = bcYearToNegativeYear(year);
+ }
+ var month = parseInt(matches[2], 10) - 1;
+ var day = matches[3];
+ var hour = parseInt(matches[4], 10);
+ var minute = parseInt(matches[5], 10);
+ var second = parseInt(matches[6], 10);
+ var ms = matches[7];
+ ms = ms ? 1e3 * parseFloat(ms) : 0;
+ var date;
+ var offset = timeZoneOffset(isoDate);
+ if (offset != null) {
+ date = new Date(Date.UTC(year, month, day, hour, minute, second, ms));
+ if (is0To99(year)) {
+ date.setUTCFullYear(year);
+ }
+ if (offset !== 0) {
+ date.setTime(date.getTime() - offset);
+ }
+ } else {
+ date = new Date(year, month, day, hour, minute, second, ms);
+ if (is0To99(year)) {
+ date.setFullYear(year);
+ }
+ }
+ return date;
+ }, "parseDate");
+ function getDate(isoDate) {
+ var matches = DATE.exec(isoDate);
+ if (!matches) {
+ return;
+ }
+ var year = parseInt(matches[1], 10);
+ var isBC = !!matches[4];
+ if (isBC) {
+ year = bcYearToNegativeYear(year);
+ }
+ var month = parseInt(matches[2], 10) - 1;
+ var day = matches[3];
+ var date = new Date(year, month, day);
+ if (is0To99(year)) {
+ date.setFullYear(year);
+ }
+ return date;
+ }
+ __name(getDate, "getDate");
+ function timeZoneOffset(isoDate) {
+ if (isoDate.endsWith("+00")) {
+ return 0;
+ }
+ var zone = TIME_ZONE.exec(isoDate.split(" ")[1]);
+ if (!zone) return;
+ var type = zone[1];
+ if (type === "Z") {
+ return 0;
+ }
+ var sign = type === "-" ? -1 : 1;
+ var offset = parseInt(zone[2], 10) * 3600 + parseInt(zone[3] || 0, 10) * 60 + parseInt(zone[4] || 0, 10);
+ return offset * sign * 1e3;
+ }
+ __name(timeZoneOffset, "timeZoneOffset");
+ function bcYearToNegativeYear(year) {
+ return -(year - 1);
+ }
+ __name(bcYearToNegativeYear, "bcYearToNegativeYear");
+ function is0To99(num) {
+ return num >= 0 && num < 100;
+ }
+ __name(is0To99, "is0To99");
+ }
+});
+
+// ../../node_modules/.pnpm/xtend@4.0.2/node_modules/xtend/mutable.js
+var require_mutable = __commonJS({
+ "../../node_modules/.pnpm/xtend@4.0.2/node_modules/xtend/mutable.js"(exports, module) {
+ module.exports = extend;
+ var hasOwnProperty = Object.prototype.hasOwnProperty;
+ function extend(target) {
+ for (var i = 1; i < arguments.length; i++) {
+ var source = arguments[i];
+ for (var key in source) {
+ if (hasOwnProperty.call(source, key)) {
+ target[key] = source[key];
+ }
+ }
+ }
+ return target;
+ }
+ __name(extend, "extend");
+ }
+});
+
+// ../../node_modules/.pnpm/postgres-interval@1.2.0/node_modules/postgres-interval/index.js
+var require_postgres_interval = __commonJS({
+ "../../node_modules/.pnpm/postgres-interval@1.2.0/node_modules/postgres-interval/index.js"(exports, module) {
+ "use strict";
+ var extend = require_mutable();
+ module.exports = PostgresInterval;
+ function PostgresInterval(raw) {
+ if (!(this instanceof PostgresInterval)) {
+ return new PostgresInterval(raw);
+ }
+ extend(this, parse(raw));
+ }
+ __name(PostgresInterval, "PostgresInterval");
+ var properties = ["seconds", "minutes", "hours", "days", "months", "years"];
+ PostgresInterval.prototype.toPostgres = function() {
+ var filtered = properties.filter(this.hasOwnProperty, this);
+ if (this.milliseconds && filtered.indexOf("seconds") < 0) {
+ filtered.push("seconds");
+ }
+ if (filtered.length === 0) return "0";
+ return filtered.map(function(property) {
+ var value = this[property] || 0;
+ if (property === "seconds" && this.milliseconds) {
+ value = (value + this.milliseconds / 1e3).toFixed(6).replace(/\.?0+$/, "");
+ }
+ return value + " " + property;
+ }, this).join(" ");
+ };
+ var propertiesISOEquivalent = {
+ years: "Y",
+ months: "M",
+ days: "D",
+ hours: "H",
+ minutes: "M",
+ seconds: "S"
+ };
+ var dateProperties = ["years", "months", "days"];
+ var timeProperties = ["hours", "minutes", "seconds"];
+ PostgresInterval.prototype.toISOString = PostgresInterval.prototype.toISO = function() {
+ var datePart = dateProperties.map(buildProperty, this).join("");
+ var timePart = timeProperties.map(buildProperty, this).join("");
+ return "P" + datePart + "T" + timePart;
+ function buildProperty(property) {
+ var value = this[property] || 0;
+ if (property === "seconds" && this.milliseconds) {
+ value = (value + this.milliseconds / 1e3).toFixed(6).replace(/0+$/, "");
+ }
+ return value + propertiesISOEquivalent[property];
+ }
+ __name(buildProperty, "buildProperty");
+ };
+ var NUMBER = "([+-]?\\d+)";
+ var YEAR = NUMBER + "\\s+years?";
+ var MONTH = NUMBER + "\\s+mons?";
+ var DAY = NUMBER + "\\s+days?";
+ var TIME = "([+-])?([\\d]*):(\\d\\d):(\\d\\d)\\.?(\\d{1,6})?";
+ var INTERVAL = new RegExp([YEAR, MONTH, DAY, TIME].map(function(regexString) {
+ return "(" + regexString + ")?";
+ }).join("\\s*"));
+ var positions = {
+ years: 2,
+ months: 4,
+ days: 6,
+ hours: 9,
+ minutes: 10,
+ seconds: 11,
+ milliseconds: 12
+ };
+ var negatives = ["hours", "minutes", "seconds", "milliseconds"];
+ function parseMilliseconds(fraction) {
+ var microseconds = fraction + "000000".slice(fraction.length);
+ return parseInt(microseconds, 10) / 1e3;
+ }
+ __name(parseMilliseconds, "parseMilliseconds");
+ function parse(interval) {
+ if (!interval) return {};
+ var matches = INTERVAL.exec(interval);
+ var isNegative = matches[8] === "-";
+ return Object.keys(positions).reduce(function(parsed, property) {
+ var position = positions[property];
+ var value = matches[position];
+ if (!value) return parsed;
+ value = property === "milliseconds" ? parseMilliseconds(value) : parseInt(value, 10);
+ if (!value) return parsed;
+ if (isNegative && ~negatives.indexOf(property)) {
+ value *= -1;
+ }
+ parsed[property] = value;
+ return parsed;
+ }, {});
+ }
+ __name(parse, "parse");
+ }
+});
+
+// ../../node_modules/.pnpm/postgres-bytea@1.0.1/node_modules/postgres-bytea/index.js
+var require_postgres_bytea = __commonJS({
+ "../../node_modules/.pnpm/postgres-bytea@1.0.1/node_modules/postgres-bytea/index.js"(exports, module) {
+ "use strict";
+ var bufferFrom = Buffer.from || Buffer;
+ module.exports = /* @__PURE__ */ __name(function parseBytea(input) {
+ if (/^\\x/.test(input)) {
+ return bufferFrom(input.substr(2), "hex");
+ }
+ var output = "";
+ var i = 0;
+ while (i < input.length) {
+ if (input[i] !== "\\") {
+ output += input[i];
+ ++i;
+ } else {
+ if (/[0-7]{3}/.test(input.substr(i + 1, 3))) {
+ output += String.fromCharCode(parseInt(input.substr(i + 1, 3), 8));
+ i += 4;
+ } else {
+ var backslashes = 1;
+ while (i + backslashes < input.length && input[i + backslashes] === "\\") {
+ backslashes++;
+ }
+ for (var k = 0; k < Math.floor(backslashes / 2); ++k) {
+ output += "\\";
+ }
+ i += Math.floor(backslashes / 2) * 2;
+ }
+ }
+ }
+ return bufferFrom(output, "binary");
+ }, "parseBytea");
+ }
+});
+
+// ../../node_modules/.pnpm/pg-types@2.2.0/node_modules/pg-types/lib/textParsers.js
+var require_textParsers = __commonJS({
+ "../../node_modules/.pnpm/pg-types@2.2.0/node_modules/pg-types/lib/textParsers.js"(exports, module) {
+ var array = require_postgres_array();
+ var arrayParser = require_arrayParser();
+ var parseDate = require_postgres_date();
+ var parseInterval = require_postgres_interval();
+ var parseByteA = require_postgres_bytea();
+ function allowNull(fn) {
+ return /* @__PURE__ */ __name(function nullAllowed(value) {
+ if (value === null) return value;
+ return fn(value);
+ }, "nullAllowed");
+ }
+ __name(allowNull, "allowNull");
+ function parseBool(value) {
+ if (value === null) return value;
+ return value === "TRUE" || value === "t" || value === "true" || value === "y" || value === "yes" || value === "on" || value === "1";
+ }
+ __name(parseBool, "parseBool");
+ function parseBoolArray(value) {
+ if (!value) return null;
+ return array.parse(value, parseBool);
+ }
+ __name(parseBoolArray, "parseBoolArray");
+ function parseBaseTenInt(string) {
+ return parseInt(string, 10);
+ }
+ __name(parseBaseTenInt, "parseBaseTenInt");
+ function parseIntegerArray(value) {
+ if (!value) return null;
+ return array.parse(value, allowNull(parseBaseTenInt));
+ }
+ __name(parseIntegerArray, "parseIntegerArray");
+ function parseBigIntegerArray(value) {
+ if (!value) return null;
+ return array.parse(value, allowNull(function(entry) {
+ return parseBigInteger(entry).trim();
+ }));
+ }
+ __name(parseBigIntegerArray, "parseBigIntegerArray");
+ var parsePointArray = /* @__PURE__ */ __name(function(value) {
+ if (!value) {
+ return null;
+ }
+ var p = arrayParser.create(value, function(entry) {
+ if (entry !== null) {
+ entry = parsePoint(entry);
+ }
+ return entry;
+ });
+ return p.parse();
+ }, "parsePointArray");
+ var parseFloatArray = /* @__PURE__ */ __name(function(value) {
+ if (!value) {
+ return null;
+ }
+ var p = arrayParser.create(value, function(entry) {
+ if (entry !== null) {
+ entry = parseFloat(entry);
+ }
+ return entry;
+ });
+ return p.parse();
+ }, "parseFloatArray");
+ var parseStringArray = /* @__PURE__ */ __name(function(value) {
+ if (!value) {
+ return null;
+ }
+ var p = arrayParser.create(value);
+ return p.parse();
+ }, "parseStringArray");
+ var parseDateArray = /* @__PURE__ */ __name(function(value) {
+ if (!value) {
+ return null;
+ }
+ var p = arrayParser.create(value, function(entry) {
+ if (entry !== null) {
+ entry = parseDate(entry);
+ }
+ return entry;
+ });
+ return p.parse();
+ }, "parseDateArray");
+ var parseIntervalArray = /* @__PURE__ */ __name(function(value) {
+ if (!value) {
+ return null;
+ }
+ var p = arrayParser.create(value, function(entry) {
+ if (entry !== null) {
+ entry = parseInterval(entry);
+ }
+ return entry;
+ });
+ return p.parse();
+ }, "parseIntervalArray");
+ var parseByteAArray = /* @__PURE__ */ __name(function(value) {
+ if (!value) {
+ return null;
+ }
+ return array.parse(value, allowNull(parseByteA));
+ }, "parseByteAArray");
+ var parseInteger = /* @__PURE__ */ __name(function(value) {
+ return parseInt(value, 10);
+ }, "parseInteger");
+ var parseBigInteger = /* @__PURE__ */ __name(function(value) {
+ var valStr = String(value);
+ if (/^\d+$/.test(valStr)) {
+ return valStr;
+ }
+ return value;
+ }, "parseBigInteger");
+ var parseJsonArray = /* @__PURE__ */ __name(function(value) {
+ if (!value) {
+ return null;
+ }
+ return array.parse(value, allowNull(JSON.parse));
+ }, "parseJsonArray");
+ var parsePoint = /* @__PURE__ */ __name(function(value) {
+ if (value[0] !== "(") {
+ return null;
+ }
+ value = value.substring(1, value.length - 1).split(",");
+ return {
+ x: parseFloat(value[0]),
+ y: parseFloat(value[1])
+ };
+ }, "parsePoint");
+ var parseCircle = /* @__PURE__ */ __name(function(value) {
+ if (value[0] !== "<" && value[1] !== "(") {
+ return null;
+ }
+ var point = "(";
+ var radius = "";
+ var pointParsed = false;
+ for (var i = 2; i < value.length - 1; i++) {
+ if (!pointParsed) {
+ point += value[i];
+ }
+ if (value[i] === ")") {
+ pointParsed = true;
+ continue;
+ } else if (!pointParsed) {
+ continue;
+ }
+ if (value[i] === ",") {
+ continue;
+ }
+ radius += value[i];
+ }
+ var result = parsePoint(point);
+ result.radius = parseFloat(radius);
+ return result;
+ }, "parseCircle");
+ var init = /* @__PURE__ */ __name(function(register) {
+ register(20, parseBigInteger);
+ register(21, parseInteger);
+ register(23, parseInteger);
+ register(26, parseInteger);
+ register(700, parseFloat);
+ register(701, parseFloat);
+ register(16, parseBool);
+ register(1082, parseDate);
+ register(1114, parseDate);
+ register(1184, parseDate);
+ register(600, parsePoint);
+ register(651, parseStringArray);
+ register(718, parseCircle);
+ register(1e3, parseBoolArray);
+ register(1001, parseByteAArray);
+ register(1005, parseIntegerArray);
+ register(1007, parseIntegerArray);
+ register(1028, parseIntegerArray);
+ register(1016, parseBigIntegerArray);
+ register(1017, parsePointArray);
+ register(1021, parseFloatArray);
+ register(1022, parseFloatArray);
+ register(1231, parseFloatArray);
+ register(1014, parseStringArray);
+ register(1015, parseStringArray);
+ register(1008, parseStringArray);
+ register(1009, parseStringArray);
+ register(1040, parseStringArray);
+ register(1041, parseStringArray);
+ register(1115, parseDateArray);
+ register(1182, parseDateArray);
+ register(1185, parseDateArray);
+ register(1186, parseInterval);
+ register(1187, parseIntervalArray);
+ register(17, parseByteA);
+ register(114, JSON.parse.bind(JSON));
+ register(3802, JSON.parse.bind(JSON));
+ register(199, parseJsonArray);
+ register(3807, parseJsonArray);
+ register(3907, parseStringArray);
+ register(2951, parseStringArray);
+ register(791, parseStringArray);
+ register(1183, parseStringArray);
+ register(1270, parseStringArray);
+ }, "init");
+ module.exports = {
+ init
+ };
+ }
+});
+
+// ../../node_modules/.pnpm/pg-int8@1.0.1/node_modules/pg-int8/index.js
+var require_pg_int8 = __commonJS({
+ "../../node_modules/.pnpm/pg-int8@1.0.1/node_modules/pg-int8/index.js"(exports, module) {
+ "use strict";
+ var BASE = 1e6;
+ function readInt8(buffer) {
+ var high = buffer.readInt32BE(0);
+ var low = buffer.readUInt32BE(4);
+ var sign = "";
+ if (high < 0) {
+ high = ~high + (low === 0);
+ low = ~low + 1 >>> 0;
+ sign = "-";
+ }
+ var result = "";
+ var carry;
+ var t;
+ var digits;
+ var pad;
+ var l;
+ var i;
+ {
+ carry = high % BASE;
+ high = high / BASE >>> 0;
+ t = 4294967296 * carry + low;
+ low = t / BASE >>> 0;
+ digits = "" + (t - BASE * low);
+ if (low === 0 && high === 0) {
+ return sign + digits + result;
+ }
+ pad = "";
+ l = 6 - digits.length;
+ for (i = 0; i < l; i++) {
+ pad += "0";
+ }
+ result = pad + digits + result;
+ }
+ {
+ carry = high % BASE;
+ high = high / BASE >>> 0;
+ t = 4294967296 * carry + low;
+ low = t / BASE >>> 0;
+ digits = "" + (t - BASE * low);
+ if (low === 0 && high === 0) {
+ return sign + digits + result;
+ }
+ pad = "";
+ l = 6 - digits.length;
+ for (i = 0; i < l; i++) {
+ pad += "0";
+ }
+ result = pad + digits + result;
+ }
+ {
+ carry = high % BASE;
+ high = high / BASE >>> 0;
+ t = 4294967296 * carry + low;
+ low = t / BASE >>> 0;
+ digits = "" + (t - BASE * low);
+ if (low === 0 && high === 0) {
+ return sign + digits + result;
+ }
+ pad = "";
+ l = 6 - digits.length;
+ for (i = 0; i < l; i++) {
+ pad += "0";
+ }
+ result = pad + digits + result;
+ }
+ {
+ carry = high % BASE;
+ t = 4294967296 * carry + low;
+ digits = "" + t % BASE;
+ return sign + digits + result;
+ }
+ }
+ __name(readInt8, "readInt8");
+ module.exports = readInt8;
+ }
+});
+
+// ../../node_modules/.pnpm/pg-types@2.2.0/node_modules/pg-types/lib/binaryParsers.js
+var require_binaryParsers = __commonJS({
+ "../../node_modules/.pnpm/pg-types@2.2.0/node_modules/pg-types/lib/binaryParsers.js"(exports, module) {
+ var parseInt64 = require_pg_int8();
+ var parseBits = /* @__PURE__ */ __name(function(data, bits, offset, invert, callback) {
+ offset = offset || 0;
+ invert = invert || false;
+ callback = callback || function(lastValue, newValue, bits2) {
+ return lastValue * Math.pow(2, bits2) + newValue;
+ };
+ var offsetBytes = offset >> 3;
+ var inv = /* @__PURE__ */ __name(function(value) {
+ if (invert) {
+ return ~value & 255;
+ }
+ return value;
+ }, "inv");
+ var mask = 255;
+ var firstBits = 8 - offset % 8;
+ if (bits < firstBits) {
+ mask = 255 << 8 - bits & 255;
+ firstBits = bits;
+ }
+ if (offset) {
+ mask = mask >> offset % 8;
+ }
+ var result = 0;
+ if (offset % 8 + bits >= 8) {
+ result = callback(0, inv(data[offsetBytes]) & mask, firstBits);
+ }
+ var bytes = bits + offset >> 3;
+ for (var i = offsetBytes + 1; i < bytes; i++) {
+ result = callback(result, inv(data[i]), 8);
+ }
+ var lastBits = (bits + offset) % 8;
+ if (lastBits > 0) {
+ result = callback(result, inv(data[bytes]) >> 8 - lastBits, lastBits);
+ }
+ return result;
+ }, "parseBits");
+ var parseFloatFromBits = /* @__PURE__ */ __name(function(data, precisionBits, exponentBits) {
+ var bias = Math.pow(2, exponentBits - 1) - 1;
+ var sign = parseBits(data, 1);
+ var exponent = parseBits(data, exponentBits, 1);
+ if (exponent === 0) {
+ return 0;
+ }
+ var precisionBitsCounter = 1;
+ var parsePrecisionBits = /* @__PURE__ */ __name(function(lastValue, newValue, bits) {
+ if (lastValue === 0) {
+ lastValue = 1;
+ }
+ for (var i = 1; i <= bits; i++) {
+ precisionBitsCounter /= 2;
+ if ((newValue & 1 << bits - i) > 0) {
+ lastValue += precisionBitsCounter;
+ }
+ }
+ return lastValue;
+ }, "parsePrecisionBits");
+ var mantissa = parseBits(data, precisionBits, exponentBits + 1, false, parsePrecisionBits);
+ if (exponent == Math.pow(2, exponentBits + 1) - 1) {
+ if (mantissa === 0) {
+ return sign === 0 ? Infinity : -Infinity;
+ }
+ return NaN;
+ }
+ return (sign === 0 ? 1 : -1) * Math.pow(2, exponent - bias) * mantissa;
+ }, "parseFloatFromBits");
+ var parseInt16 = /* @__PURE__ */ __name(function(value) {
+ if (parseBits(value, 1) == 1) {
+ return -1 * (parseBits(value, 15, 1, true) + 1);
+ }
+ return parseBits(value, 15, 1);
+ }, "parseInt16");
+ var parseInt32 = /* @__PURE__ */ __name(function(value) {
+ if (parseBits(value, 1) == 1) {
+ return -1 * (parseBits(value, 31, 1, true) + 1);
+ }
+ return parseBits(value, 31, 1);
+ }, "parseInt32");
+ var parseFloat32 = /* @__PURE__ */ __name(function(value) {
+ return parseFloatFromBits(value, 23, 8);
+ }, "parseFloat32");
+ var parseFloat64 = /* @__PURE__ */ __name(function(value) {
+ return parseFloatFromBits(value, 52, 11);
+ }, "parseFloat64");
+ var parseNumeric = /* @__PURE__ */ __name(function(value) {
+ var sign = parseBits(value, 16, 32);
+ if (sign == 49152) {
+ return NaN;
+ }
+ var weight = Math.pow(1e4, parseBits(value, 16, 16));
+ var result = 0;
+ var digits = [];
+ var ndigits = parseBits(value, 16);
+ for (var i = 0; i < ndigits; i++) {
+ result += parseBits(value, 16, 64 + 16 * i) * weight;
+ weight /= 1e4;
+ }
+ var scale = Math.pow(10, parseBits(value, 16, 48));
+ return (sign === 0 ? 1 : -1) * Math.round(result * scale) / scale;
+ }, "parseNumeric");
+ var parseDate = /* @__PURE__ */ __name(function(isUTC, value) {
+ var sign = parseBits(value, 1);
+ var rawValue = parseBits(value, 63, 1);
+ var result = new Date((sign === 0 ? 1 : -1) * rawValue / 1e3 + 9466848e5);
+ if (!isUTC) {
+ result.setTime(result.getTime() + result.getTimezoneOffset() * 6e4);
+ }
+ result.usec = rawValue % 1e3;
+ result.getMicroSeconds = function() {
+ return this.usec;
+ };
+ result.setMicroSeconds = function(value2) {
+ this.usec = value2;
+ };
+ result.getUTCMicroSeconds = function() {
+ return this.usec;
+ };
+ return result;
+ }, "parseDate");
+ var parseArray = /* @__PURE__ */ __name(function(value) {
+ var dim = parseBits(value, 32);
+ var flags = parseBits(value, 32, 32);
+ var elementType = parseBits(value, 32, 64);
+ var offset = 96;
+ var dims = [];
+ for (var i = 0; i < dim; i++) {
+ dims[i] = parseBits(value, 32, offset);
+ offset += 32;
+ offset += 32;
+ }
+ var parseElement = /* @__PURE__ */ __name(function(elementType2) {
+ var length = parseBits(value, 32, offset);
+ offset += 32;
+ if (length == 4294967295) {
+ return null;
+ }
+ var result;
+ if (elementType2 == 23 || elementType2 == 20) {
+ result = parseBits(value, length * 8, offset);
+ offset += length * 8;
+ return result;
+ } else if (elementType2 == 25) {
+ result = value.toString(this.encoding, offset >> 3, (offset += length << 3) >> 3);
+ return result;
+ } else {
+ console.log("ERROR: ElementType not implemented: " + elementType2);
+ }
+ }, "parseElement");
+ var parse = /* @__PURE__ */ __name(function(dimension, elementType2) {
+ var array = [];
+ var i2;
+ if (dimension.length > 1) {
+ var count = dimension.shift();
+ for (i2 = 0; i2 < count; i2++) {
+ array[i2] = parse(dimension, elementType2);
+ }
+ dimension.unshift(count);
+ } else {
+ for (i2 = 0; i2 < dimension[0]; i2++) {
+ array[i2] = parseElement(elementType2);
+ }
+ }
+ return array;
+ }, "parse");
+ return parse(dims, elementType);
+ }, "parseArray");
+ var parseText = /* @__PURE__ */ __name(function(value) {
+ return value.toString("utf8");
+ }, "parseText");
+ var parseBool = /* @__PURE__ */ __name(function(value) {
+ if (value === null) return null;
+ return parseBits(value, 8) > 0;
+ }, "parseBool");
+ var init = /* @__PURE__ */ __name(function(register) {
+ register(20, parseInt64);
+ register(21, parseInt16);
+ register(23, parseInt32);
+ register(26, parseInt32);
+ register(1700, parseNumeric);
+ register(700, parseFloat32);
+ register(701, parseFloat64);
+ register(16, parseBool);
+ register(1114, parseDate.bind(null, false));
+ register(1184, parseDate.bind(null, true));
+ register(1e3, parseArray);
+ register(1007, parseArray);
+ register(1016, parseArray);
+ register(1008, parseArray);
+ register(1009, parseArray);
+ register(25, parseText);
+ }, "init");
+ module.exports = {
+ init
+ };
+ }
+});
+
+// ../../node_modules/.pnpm/pg-types@2.2.0/node_modules/pg-types/lib/builtins.js
+var require_builtins = __commonJS({
+ "../../node_modules/.pnpm/pg-types@2.2.0/node_modules/pg-types/lib/builtins.js"(exports, module) {
+ module.exports = {
+ BOOL: 16,
+ BYTEA: 17,
+ CHAR: 18,
+ INT8: 20,
+ INT2: 21,
+ INT4: 23,
+ REGPROC: 24,
+ TEXT: 25,
+ OID: 26,
+ TID: 27,
+ XID: 28,
+ CID: 29,
+ JSON: 114,
+ XML: 142,
+ PG_NODE_TREE: 194,
+ SMGR: 210,
+ PATH: 602,
+ POLYGON: 604,
+ CIDR: 650,
+ FLOAT4: 700,
+ FLOAT8: 701,
+ ABSTIME: 702,
+ RELTIME: 703,
+ TINTERVAL: 704,
+ CIRCLE: 718,
+ MACADDR8: 774,
+ MONEY: 790,
+ MACADDR: 829,
+ INET: 869,
+ ACLITEM: 1033,
+ BPCHAR: 1042,
+ VARCHAR: 1043,
+ DATE: 1082,
+ TIME: 1083,
+ TIMESTAMP: 1114,
+ TIMESTAMPTZ: 1184,
+ INTERVAL: 1186,
+ TIMETZ: 1266,
+ BIT: 1560,
+ VARBIT: 1562,
+ NUMERIC: 1700,
+ REFCURSOR: 1790,
+ REGPROCEDURE: 2202,
+ REGOPER: 2203,
+ REGOPERATOR: 2204,
+ REGCLASS: 2205,
+ REGTYPE: 2206,
+ UUID: 2950,
+ TXID_SNAPSHOT: 2970,
+ PG_LSN: 3220,
+ PG_NDISTINCT: 3361,
+ PG_DEPENDENCIES: 3402,
+ TSVECTOR: 3614,
+ TSQUERY: 3615,
+ GTSVECTOR: 3642,
+ REGCONFIG: 3734,
+ REGDICTIONARY: 3769,
+ JSONB: 3802,
+ REGNAMESPACE: 4089,
+ REGROLE: 4096
+ };
+ }
+});
+
+// ../../node_modules/.pnpm/pg-types@2.2.0/node_modules/pg-types/index.js
+var require_pg_types = __commonJS({
+ "../../node_modules/.pnpm/pg-types@2.2.0/node_modules/pg-types/index.js"(exports) {
+ var textParsers = require_textParsers();
+ var binaryParsers = require_binaryParsers();
+ var arrayParser = require_arrayParser();
+ var builtinTypes = require_builtins();
+ exports.getTypeParser = getTypeParser;
+ exports.setTypeParser = setTypeParser;
+ exports.arrayParser = arrayParser;
+ exports.builtins = builtinTypes;
+ var typeParsers = {
+ text: {},
+ binary: {}
+ };
+ function noParse(val) {
+ return String(val);
+ }
+ __name(noParse, "noParse");
+ function getTypeParser(oid, format) {
+ format = format || "text";
+ if (!typeParsers[format]) {
+ return noParse;
+ }
+ return typeParsers[format][oid] || noParse;
+ }
+ __name(getTypeParser, "getTypeParser");
+ function setTypeParser(oid, format, parseFn) {
+ if (typeof format == "function") {
+ parseFn = format;
+ format = "text";
+ }
+ typeParsers[format][oid] = parseFn;
+ }
+ __name(setTypeParser, "setTypeParser");
+ textParsers.init(function(oid, converter) {
+ typeParsers.text[oid] = converter;
+ });
+ binaryParsers.init(function(oid, converter) {
+ typeParsers.binary[oid] = converter;
+ });
+ }
+});
+
+// ../../node_modules/.pnpm/pg@8.23.1/node_modules/pg/lib/defaults.js
+var require_defaults = __commonJS({
+ "../../node_modules/.pnpm/pg@8.23.1/node_modules/pg/lib/defaults.js"(exports, module) {
+ "use strict";
+ var user;
+ try {
+ user = process.platform === "win32" ? process.env.USERNAME : process.env.USER;
+ } catch {
+ }
+ module.exports = {
+ // database host. defaults to localhost
+ host: "localhost",
+ // database user's name
+ user,
+ // name of database to connect
+ database: void 0,
+ // database user's password
+ password: null,
+ // a Postgres connection string to be used instead of setting individual connection items
+ // NOTE: Setting this value will cause it to override any other value (such as database or user) defined
+ // in the defaults object.
+ connectionString: void 0,
+ // database port
+ port: 5432,
+ // number of rows to return at a time from a prepared statement's
+ // portal. 0 will return all rows at once
+ rows: 0,
+ // binary result mode
+ binary: false,
+ // Connection pool options - see https://github.com/brianc/node-pg-pool
+ // number of connections to use in connection pool
+ // 0 will disable connection pooling
+ max: 10,
+ // max milliseconds a client can go unused before it is removed
+ // from the pool and destroyed
+ idleTimeoutMillis: 3e4,
+ client_encoding: "",
+ ssl: false,
+ // SSL negotiation style: 'postgres' (traditional SSLRequest) or 'direct'
+ sslnegotiation: void 0,
+ application_name: void 0,
+ fallback_application_name: void 0,
+ options: void 0,
+ parseInputDatesAsUTC: false,
+ // max milliseconds any query using this connection will execute for before timing out in error.
+ // false=unlimited
+ statement_timeout: false,
+ // Abort any statement that waits longer than the specified duration in milliseconds while attempting to acquire a lock.
+ // false=unlimited
+ lock_timeout: false,
+ // Terminate any session with an open transaction that has been idle for longer than the specified duration in milliseconds
+ // false=unlimited
+ idle_in_transaction_session_timeout: false,
+ // max milliseconds to wait for query to complete (client side)
+ query_timeout: false,
+ connect_timeout: 0,
+ keepalives: 1,
+ keepalives_idle: 0
+ };
+ var pgTypes = require_pg_types();
+ var parseBigInteger = pgTypes.getTypeParser(20, "text");
+ var parseBigIntegerArray = pgTypes.getTypeParser(1016, "text");
+ module.exports.__defineSetter__("parseInt8", function(val) {
+ pgTypes.setTypeParser(20, "text", val ? pgTypes.getTypeParser(23, "text") : parseBigInteger);
+ pgTypes.setTypeParser(1016, "text", val ? pgTypes.getTypeParser(1007, "text") : parseBigIntegerArray);
+ });
+ }
+});
+
+// ../../node_modules/.pnpm/pg@8.23.1/node_modules/pg/lib/utils.js
+var require_utils = __commonJS({
+ "../../node_modules/.pnpm/pg@8.23.1/node_modules/pg/lib/utils.js"(exports, module) {
+ "use strict";
+ var defaults2 = require_defaults();
+ var nodeUtils = __require("util");
+ var { isDate } = __require("util/types");
+ var invalidDateDeprecationNotice = nodeUtils.deprecate(
+ () => {
+ },
+ "Sending an invalid date to Postgres is deprecated and will throw an error in the next major version of pg. Ensure any Date object passed as a query parameter is valid.",
+ "PG_INVALID_DATE"
+ );
+ function escapeElement(elementRepresentation) {
+ const escaped = elementRepresentation.replace(/\\/g, "\\\\").replace(/"/g, '\\"');
+ return '"' + escaped + '"';
+ }
+ __name(escapeElement, "escapeElement");
+ function arrayString(val) {
+ let result = "{";
+ for (let i = 0; i < val.length; i++) {
+ if (i > 0) {
+ result += ",";
+ }
+ let item = val[i];
+ if (item == null) {
+ result += "NULL";
+ } else if (Array.isArray(item)) {
+ result += arrayString(item);
+ } else if (ArrayBuffer.isView(item)) {
+ if (!(item instanceof Buffer)) {
+ item = Buffer.from(item.buffer, item.byteOffset, item.byteLength);
+ }
+ result += "\\\\x" + item.toString("hex");
+ } else {
+ result += escapeElement(prepareValue(item));
+ }
+ }
+ result += "}";
+ return result;
+ }
+ __name(arrayString, "arrayString");
+ var prepareValue = /* @__PURE__ */ __name(function(val, seen) {
+ if (val == null) {
+ return null;
+ }
+ if (typeof val === "object") {
+ if (val instanceof Buffer) {
+ return val;
+ }
+ if (ArrayBuffer.isView(val)) {
+ return Buffer.from(val.buffer, val.byteOffset, val.byteLength);
+ }
+ if (isDate(val)) {
+ if (isNaN(val.getTime())) {
+ invalidDateDeprecationNotice();
+ }
+ if (defaults2.parseInputDatesAsUTC) {
+ return dateToStringUTC(val);
+ } else {
+ return dateToString(val);
+ }
+ }
+ if (Array.isArray(val)) {
+ return arrayString(val);
+ }
+ return prepareObject(val, seen);
+ }
+ return val.toString();
+ }, "prepareValue");
+ function prepareObject(val, seen) {
+ if (val && typeof val.toPostgres === "function") {
+ seen = seen || [];
+ if (seen.indexOf(val) !== -1) {
+ throw new Error('circular reference detected while preparing "' + val + '" for query');
+ }
+ seen.push(val);
+ return prepareValue(val.toPostgres(prepareValue), seen);
+ }
+ return JSON.stringify(val);
+ }
+ __name(prepareObject, "prepareObject");
+ function dateToString(date) {
+ let offset = -date.getTimezoneOffset();
+ let year = date.getFullYear();
+ const isBCYear = year < 1;
+ if (isBCYear) year = Math.abs(year) + 1;
+ let ret = String(year).padStart(4, "0") + "-" + String(date.getMonth() + 1).padStart(2, "0") + "-" + String(date.getDate()).padStart(2, "0") + "T" + String(date.getHours()).padStart(2, "0") + ":" + String(date.getMinutes()).padStart(2, "0") + ":" + String(date.getSeconds()).padStart(2, "0") + "." + String(date.getMilliseconds()).padStart(3, "0");
+ if (offset < 0) {
+ ret += "-";
+ offset *= -1;
+ } else {
+ ret += "+";
+ }
+ ret += String(Math.floor(offset / 60)).padStart(2, "0") + ":" + String(offset % 60).padStart(2, "0");
+ if (isBCYear) ret += " BC";
+ return ret;
+ }
+ __name(dateToString, "dateToString");
+ function dateToStringUTC(date) {
+ let year = date.getUTCFullYear();
+ const isBCYear = year < 1;
+ if (isBCYear) year = Math.abs(year) + 1;
+ let ret = String(year).padStart(4, "0") + "-" + String(date.getUTCMonth() + 1).padStart(2, "0") + "-" + String(date.getUTCDate()).padStart(2, "0") + "T" + String(date.getUTCHours()).padStart(2, "0") + ":" + String(date.getUTCMinutes()).padStart(2, "0") + ":" + String(date.getUTCSeconds()).padStart(2, "0") + "." + String(date.getUTCMilliseconds()).padStart(3, "0");
+ ret += "+00:00";
+ if (isBCYear) ret += " BC";
+ return ret;
+ }
+ __name(dateToStringUTC, "dateToStringUTC");
+ function normalizeQueryConfig(config, values, callback) {
+ config = typeof config === "string" ? { text: config } : cloneQueryConfig(config);
+ if (values) {
+ if (typeof values === "function") {
+ config.callback = values;
+ } else {
+ config.values = values;
+ }
+ }
+ if (callback) {
+ config.callback = callback;
+ }
+ return config;
+ }
+ __name(normalizeQueryConfig, "normalizeQueryConfig");
+ function cloneQueryConfig(config) {
+ if (config == null) {
+ return config;
+ }
+ return Object.defineProperties(Object.create(Object.getPrototypeOf(config)), Object.getOwnPropertyDescriptors(config));
+ }
+ __name(cloneQueryConfig, "cloneQueryConfig");
+ var escapeIdentifier2 = /* @__PURE__ */ __name(function(str) {
+ return '"' + str.replace(/"/g, '""') + '"';
+ }, "escapeIdentifier");
+ var escapeLiteral2 = /* @__PURE__ */ __name(function(str) {
+ let hasBackslash = false;
+ let escaped = "'";
+ if (str == null) {
+ return "''";
+ }
+ if (typeof str !== "string") {
+ return "''";
+ }
+ for (let i = 0; i < str.length; i++) {
+ const c = str[i];
+ if (c === "'") {
+ escaped += c + c;
+ } else if (c === "\\") {
+ escaped += c + c;
+ hasBackslash = true;
+ } else {
+ escaped += c;
+ }
+ }
+ escaped += "'";
+ if (hasBackslash === true) {
+ escaped = " E" + escaped;
+ }
+ return escaped;
+ }, "escapeLiteral");
+ module.exports = {
+ prepareValue: /* @__PURE__ */ __name(function prepareValueWrapper(value) {
+ return prepareValue(value);
+ }, "prepareValueWrapper"),
+ normalizeQueryConfig,
+ escapeIdentifier: escapeIdentifier2,
+ escapeLiteral: escapeLiteral2
+ };
+ }
+});
+
+// ../../node_modules/.pnpm/pg@8.23.1/node_modules/pg/lib/crypto/utils.js
+var require_utils2 = __commonJS({
+ "../../node_modules/.pnpm/pg@8.23.1/node_modules/pg/lib/crypto/utils.js"(exports, module) {
+ var nodeCrypto = __require("crypto");
+ module.exports = {
+ postgresMd5PasswordHash,
+ randomBytes,
+ deriveKey,
+ sha256,
+ hashByName,
+ hmacSha256,
+ md5
+ };
+ var webCrypto = nodeCrypto.webcrypto || globalThis.crypto;
+ var subtleCrypto = webCrypto.subtle;
+ var textEncoder = new TextEncoder();
+ function randomBytes(length) {
+ return webCrypto.getRandomValues(Buffer.alloc(length));
+ }
+ __name(randomBytes, "randomBytes");
+ async function md5(string) {
+ try {
+ return nodeCrypto.createHash("md5").update(string, "utf-8").digest("hex");
+ } catch (e) {
+ const data = typeof string === "string" ? textEncoder.encode(string) : string;
+ const hash = await subtleCrypto.digest("MD5", data);
+ return Array.from(new Uint8Array(hash)).map((b) => b.toString(16).padStart(2, "0")).join("");
+ }
+ }
+ __name(md5, "md5");
+ async function postgresMd5PasswordHash(user, password, salt) {
+ const inner = await md5(password + user);
+ const outer = await md5(Buffer.concat([Buffer.from(inner), salt]));
+ return "md5" + outer;
+ }
+ __name(postgresMd5PasswordHash, "postgresMd5PasswordHash");
+ async function sha256(text) {
+ return await subtleCrypto.digest("SHA-256", text);
+ }
+ __name(sha256, "sha256");
+ async function hashByName(hashName, text) {
+ return await subtleCrypto.digest(hashName, text);
+ }
+ __name(hashByName, "hashByName");
+ async function hmacSha256(keyBuffer, msg) {
+ const key = await subtleCrypto.importKey("raw", keyBuffer, { name: "HMAC", hash: "SHA-256" }, false, ["sign"]);
+ return await subtleCrypto.sign("HMAC", key, textEncoder.encode(msg));
+ }
+ __name(hmacSha256, "hmacSha256");
+ async function deriveKey(password, salt, iterations) {
+ const key = await subtleCrypto.importKey("raw", textEncoder.encode(password), "PBKDF2", false, ["deriveBits"]);
+ const params = { name: "PBKDF2", hash: "SHA-256", salt, iterations };
+ return await subtleCrypto.deriveBits(params, key, 32 * 8, ["deriveBits"]);
+ }
+ __name(deriveKey, "deriveKey");
+ }
+});
+
+// ../../node_modules/.pnpm/pg@8.23.1/node_modules/pg/lib/crypto/cert-signatures.js
+var require_cert_signatures = __commonJS({
+ "../../node_modules/.pnpm/pg@8.23.1/node_modules/pg/lib/crypto/cert-signatures.js"(exports, module) {
+ function x509Error(msg, cert) {
+ return new Error("SASL channel binding: " + msg + " when parsing public certificate " + cert.toString("base64"));
+ }
+ __name(x509Error, "x509Error");
+ function readASN1Length(data, index) {
+ let length = data[index++];
+ if (length < 128) return { length, index };
+ const lengthBytes = length & 127;
+ if (lengthBytes > 4) throw x509Error("bad length", data);
+ length = 0;
+ for (let i = 0; i < lengthBytes; i++) {
+ length = length << 8 | data[index++];
+ }
+ return { length, index };
+ }
+ __name(readASN1Length, "readASN1Length");
+ function readASN1OID(data, index) {
+ if (data[index++] !== 6) throw x509Error("non-OID data", data);
+ const { length: OIDLength, index: indexAfterOIDLength } = readASN1Length(data, index);
+ index = indexAfterOIDLength;
+ const lastIndex = index + OIDLength;
+ const byte1 = data[index++];
+ let oid = (byte1 / 40 >> 0) + "." + byte1 % 40;
+ while (index < lastIndex) {
+ let value = 0;
+ while (index < lastIndex) {
+ const nextByte = data[index++];
+ value = value << 7 | nextByte & 127;
+ if (nextByte < 128) break;
+ }
+ oid += "." + value;
+ }
+ return { oid, index };
+ }
+ __name(readASN1OID, "readASN1OID");
+ function expectASN1Seq(data, index) {
+ if (data[index++] !== 48) throw x509Error("non-sequence data", data);
+ return readASN1Length(data, index);
+ }
+ __name(expectASN1Seq, "expectASN1Seq");
+ function signatureAlgorithmHashFromCertificate(data, index) {
+ if (index === void 0) index = 0;
+ index = expectASN1Seq(data, index).index;
+ const { length: certInfoLength, index: indexAfterCertInfoLength } = expectASN1Seq(data, index);
+ index = indexAfterCertInfoLength + certInfoLength;
+ index = expectASN1Seq(data, index).index;
+ const { oid, index: indexAfterOID } = readASN1OID(data, index);
+ switch (oid) {
+ // RSA
+ case "1.2.840.113549.1.1.4":
+ return "MD5";
+ case "1.2.840.113549.1.1.5":
+ return "SHA-1";
+ case "1.2.840.113549.1.1.11":
+ return "SHA-256";
+ case "1.2.840.113549.1.1.12":
+ return "SHA-384";
+ case "1.2.840.113549.1.1.13":
+ return "SHA-512";
+ case "1.2.840.113549.1.1.14":
+ return "SHA-224";
+ case "1.2.840.113549.1.1.15":
+ return "SHA512-224";
+ case "1.2.840.113549.1.1.16":
+ return "SHA512-256";
+ // ECDSA
+ case "1.2.840.10045.4.1":
+ return "SHA-1";
+ case "1.2.840.10045.4.3.1":
+ return "SHA-224";
+ case "1.2.840.10045.4.3.2":
+ return "SHA-256";
+ case "1.2.840.10045.4.3.3":
+ return "SHA-384";
+ case "1.2.840.10045.4.3.4":
+ return "SHA-512";
+ // RSASSA-PSS: hash is indicated separately
+ case "1.2.840.113549.1.1.10": {
+ index = indexAfterOID;
+ index = expectASN1Seq(data, index).index;
+ if (data[index++] !== 160) throw x509Error("non-tag data", data);
+ index = readASN1Length(data, index).index;
+ index = expectASN1Seq(data, index).index;
+ const { oid: hashOID } = readASN1OID(data, index);
+ switch (hashOID) {
+ // standalone hash OIDs
+ case "1.2.840.113549.2.5":
+ return "MD5";
+ case "1.3.14.3.2.26":
+ return "SHA-1";
+ case "2.16.840.1.101.3.4.2.1":
+ return "SHA-256";
+ case "2.16.840.1.101.3.4.2.2":
+ return "SHA-384";
+ case "2.16.840.1.101.3.4.2.3":
+ return "SHA-512";
+ }
+ throw x509Error("unknown hash OID " + hashOID, data);
+ }
+ // Ed25519 -- see https://github.com/openssl/openssl/issues/15477
+ case "1.3.101.110":
+ case "1.3.101.112":
+ return "SHA-512";
+ // Ed448 -- still not in pg 17.2 (if supported, digest would be SHAKE256 x 64 bytes)
+ case "1.3.101.111":
+ case "1.3.101.113":
+ throw x509Error("Ed448 certificate channel binding is not currently supported by Postgres");
+ }
+ throw x509Error("unknown OID " + oid, data);
+ }
+ __name(signatureAlgorithmHashFromCertificate, "signatureAlgorithmHashFromCertificate");
+ module.exports = { signatureAlgorithmHashFromCertificate };
+ }
+});
+
+// ../../node_modules/.pnpm/pg@8.23.1/node_modules/pg/lib/crypto/sasl.js
+var require_sasl = __commonJS({
+ "../../node_modules/.pnpm/pg@8.23.1/node_modules/pg/lib/crypto/sasl.js"(exports, module) {
+ "use strict";
+ var crypto = require_utils2();
+ var { signatureAlgorithmHashFromCertificate } = require_cert_signatures();
+ function saslprep(password) {
+ const nonAsciiSpace = /[\u00A0\u1680\u2000-\u200B\u202F\u205F\u3000]/g;
+ const mappedToNothing = /[\u00AD\u034F\u1806\u180B\u180C\u180D\u200C\u200D\u2060\uFE00-\uFE0F\uFEFF]/g;
+ return password.replace(nonAsciiSpace, " ").replace(mappedToNothing, "").normalize("NFKC");
+ }
+ __name(saslprep, "saslprep");
+ var DEFAULT_MAX_SCRAM_ITERATIONS = 1e5;
+ function startSession(mechanisms, stream, scramMaxIterations = DEFAULT_MAX_SCRAM_ITERATIONS) {
+ const candidates = ["SCRAM-SHA-256"];
+ if (stream) candidates.unshift("SCRAM-SHA-256-PLUS");
+ const mechanism = candidates.find((candidate) => mechanisms.includes(candidate));
+ if (!mechanism) {
+ throw new Error("SASL: Only mechanism(s) " + candidates.join(" and ") + " are supported");
+ }
+ if (mechanism === "SCRAM-SHA-256-PLUS" && typeof stream.getPeerCertificate !== "function") {
+ throw new Error("SASL: Mechanism SCRAM-SHA-256-PLUS requires a certificate");
+ }
+ const clientNonce = crypto.randomBytes(18).toString("base64");
+ const gs2Header = mechanism === "SCRAM-SHA-256-PLUS" ? "p=tls-server-end-point" : stream ? "y" : "n";
+ return {
+ mechanism,
+ clientNonce,
+ response: gs2Header + ",,n=*,r=" + clientNonce,
+ message: "SASLInitialResponse",
+ scramMaxIterations
+ };
+ }
+ __name(startSession, "startSession");
+ async function continueSession(session, password, serverData, stream) {
+ if (session.message !== "SASLInitialResponse") {
+ throw new Error("SASL: Last message was not SASLInitialResponse");
+ }
+ if (typeof password !== "string") {
+ throw new Error("SASL: SCRAM-SERVER-FIRST-MESSAGE: client password must be a string");
+ }
+ if (password === "") {
+ throw new Error("SASL: SCRAM-SERVER-FIRST-MESSAGE: client password must be a non-empty string");
+ }
+ if (typeof serverData !== "string") {
+ throw new Error("SASL: SCRAM-SERVER-FIRST-MESSAGE: serverData must be a string");
+ }
+ const sv = parseServerFirstMessage(serverData);
+ if (!sv.nonce.startsWith(session.clientNonce)) {
+ throw new Error("SASL: SCRAM-SERVER-FIRST-MESSAGE: server nonce does not start with client nonce");
+ } else if (sv.nonce.length === session.clientNonce.length) {
+ throw new Error("SASL: SCRAM-SERVER-FIRST-MESSAGE: server nonce is too short");
+ }
+ const scramMaxIterations = typeof session.scramMaxIterations === "number" ? session.scramMaxIterations : DEFAULT_MAX_SCRAM_ITERATIONS;
+ if (scramMaxIterations !== 0 && sv.iteration > scramMaxIterations) {
+ throw new Error(
+ "SASL: SCRAM-SERVER-FIRST-MESSAGE: iteration count " + sv.iteration + " exceeds scramMaxIterations of " + scramMaxIterations
+ );
+ }
+ const clientFirstMessageBare = "n=*,r=" + session.clientNonce;
+ const serverFirstMessage = "r=" + sv.nonce + ",s=" + sv.salt + ",i=" + sv.iteration;
+ let channelBinding = stream ? "eSws" : "biws";
+ if (session.mechanism === "SCRAM-SHA-256-PLUS") {
+ const peerCert = stream.getPeerCertificate().raw;
+ let hashName = signatureAlgorithmHashFromCertificate(peerCert);
+ if (hashName === "MD5" || hashName === "SHA-1") hashName = "SHA-256";
+ const certHash = await crypto.hashByName(hashName, peerCert);
+ const bindingData = Buffer.concat([Buffer.from("p=tls-server-end-point,,"), Buffer.from(certHash)]);
+ channelBinding = bindingData.toString("base64");
+ }
+ const clientFinalMessageWithoutProof = "c=" + channelBinding + ",r=" + sv.nonce;
+ const authMessage = clientFirstMessageBare + "," + serverFirstMessage + "," + clientFinalMessageWithoutProof;
+ const saltBytes = Buffer.from(sv.salt, "base64");
+ const saltedPassword = await crypto.deriveKey(saslprep(password), saltBytes, sv.iteration);
+ const clientKey = await crypto.hmacSha256(saltedPassword, "Client Key");
+ const storedKey = await crypto.sha256(clientKey);
+ const clientSignature = await crypto.hmacSha256(storedKey, authMessage);
+ const clientProof = xorBuffers(Buffer.from(clientKey), Buffer.from(clientSignature)).toString("base64");
+ const serverKey = await crypto.hmacSha256(saltedPassword, "Server Key");
+ const serverSignatureBytes = await crypto.hmacSha256(serverKey, authMessage);
+ session.message = "SASLResponse";
+ session.serverSignature = Buffer.from(serverSignatureBytes).toString("base64");
+ session.response = clientFinalMessageWithoutProof + ",p=" + clientProof;
+ }
+ __name(continueSession, "continueSession");
+ function finalizeSession(session, serverData) {
+ if (session.message !== "SASLResponse") {
+ throw new Error("SASL: Last message was not SASLResponse");
+ }
+ if (typeof serverData !== "string") {
+ throw new Error("SASL: SCRAM-SERVER-FINAL-MESSAGE: serverData must be a string");
+ }
+ const { serverSignature } = parseServerFinalMessage(serverData);
+ if (serverSignature !== session.serverSignature) {
+ throw new Error("SASL: SCRAM-SERVER-FINAL-MESSAGE: server signature does not match");
+ }
+ }
+ __name(finalizeSession, "finalizeSession");
+ function isPrintableChars(text) {
+ if (typeof text !== "string") {
+ throw new TypeError("SASL: text must be a string");
+ }
+ return text.split("").map((_, i) => text.charCodeAt(i)).every((c) => c >= 33 && c <= 43 || c >= 45 && c <= 126);
+ }
+ __name(isPrintableChars, "isPrintableChars");
+ function isBase64(text) {
+ return /^(?:[a-zA-Z0-9+/]{4})*(?:[a-zA-Z0-9+/]{2}==|[a-zA-Z0-9+/]{3}=)?$/.test(text);
+ }
+ __name(isBase64, "isBase64");
+ function parseAttributePairs(text) {
+ if (typeof text !== "string") {
+ throw new TypeError("SASL: attribute pairs text must be a string");
+ }
+ return new Map(
+ text.split(",").map((attrValue) => {
+ if (!/^.=/.test(attrValue)) {
+ throw new Error("SASL: Invalid attribute pair entry");
+ }
+ const name = attrValue[0];
+ const value = attrValue.substring(2);
+ return [name, value];
+ })
+ );
+ }
+ __name(parseAttributePairs, "parseAttributePairs");
+ function parseServerFirstMessage(data) {
+ const attrPairs = parseAttributePairs(data);
+ const nonce = attrPairs.get("r");
+ if (!nonce) {
+ throw new Error("SASL: SCRAM-SERVER-FIRST-MESSAGE: nonce missing");
+ } else if (!isPrintableChars(nonce)) {
+ throw new Error("SASL: SCRAM-SERVER-FIRST-MESSAGE: nonce must only contain printable characters");
+ }
+ const salt = attrPairs.get("s");
+ if (!salt) {
+ throw new Error("SASL: SCRAM-SERVER-FIRST-MESSAGE: salt missing");
+ } else if (!isBase64(salt)) {
+ throw new Error("SASL: SCRAM-SERVER-FIRST-MESSAGE: salt must be base64");
+ }
+ const iterationText = attrPairs.get("i");
+ if (!iterationText) {
+ throw new Error("SASL: SCRAM-SERVER-FIRST-MESSAGE: iteration missing");
+ } else if (!/^[1-9][0-9]*$/.test(iterationText)) {
+ throw new Error("SASL: SCRAM-SERVER-FIRST-MESSAGE: invalid iteration count");
+ }
+ const iteration = parseInt(iterationText, 10);
+ return {
+ nonce,
+ salt,
+ iteration
+ };
+ }
+ __name(parseServerFirstMessage, "parseServerFirstMessage");
+ function parseServerFinalMessage(serverData) {
+ const attrPairs = parseAttributePairs(serverData);
+ const error = attrPairs.get("e");
+ const serverSignature = attrPairs.get("v");
+ if (error) {
+ throw new Error(`SASL: SCRAM-SERVER-FINAL-MESSAGE: server returned error: "${error}"`);
+ }
+ if (!serverSignature) {
+ throw new Error("SASL: SCRAM-SERVER-FINAL-MESSAGE: server signature is missing");
+ } else if (!isBase64(serverSignature)) {
+ throw new Error("SASL: SCRAM-SERVER-FINAL-MESSAGE: server signature must be base64");
+ }
+ return {
+ serverSignature
+ };
+ }
+ __name(parseServerFinalMessage, "parseServerFinalMessage");
+ function xorBuffers(a, b) {
+ if (!Buffer.isBuffer(a)) {
+ throw new TypeError("first argument must be a Buffer");
+ }
+ if (!Buffer.isBuffer(b)) {
+ throw new TypeError("second argument must be a Buffer");
+ }
+ if (a.length !== b.length) {
+ throw new Error("Buffer lengths must match");
+ }
+ if (a.length === 0) {
+ throw new Error("Buffers cannot be empty");
+ }
+ return Buffer.from(a.map((_, i) => a[i] ^ b[i]));
+ }
+ __name(xorBuffers, "xorBuffers");
+ module.exports = {
+ startSession,
+ continueSession,
+ finalizeSession,
+ DEFAULT_MAX_SCRAM_ITERATIONS
+ };
+ }
+});
+
+// ../../node_modules/.pnpm/pg@8.23.1/node_modules/pg/lib/type-overrides.js
+var require_type_overrides = __commonJS({
+ "../../node_modules/.pnpm/pg@8.23.1/node_modules/pg/lib/type-overrides.js"(exports, module) {
+ "use strict";
+ var types2 = require_pg_types();
+ function TypeOverrides2(userTypes) {
+ this._types = userTypes || types2;
+ this.text = {};
+ this.binary = {};
+ }
+ __name(TypeOverrides2, "TypeOverrides");
+ TypeOverrides2.prototype.getOverrides = function(format) {
+ switch (format) {
+ case "text":
+ return this.text;
+ case "binary":
+ return this.binary;
+ default:
+ return {};
+ }
+ };
+ TypeOverrides2.prototype.setTypeParser = function(oid, format, parseFn) {
+ if (typeof format === "function") {
+ parseFn = format;
+ format = "text";
+ }
+ this.getOverrides(format)[oid] = parseFn;
+ };
+ TypeOverrides2.prototype.getTypeParser = function(oid, format) {
+ format = format || "text";
+ return this.getOverrides(format)[oid] || this._types.getTypeParser(oid, format);
+ };
+ module.exports = TypeOverrides2;
+ }
+});
+
+// ../../node_modules/.pnpm/pg-connection-string@2.14.1/node_modules/pg-connection-string/index.js
+var require_pg_connection_string = __commonJS({
+ "../../node_modules/.pnpm/pg-connection-string@2.14.1/node_modules/pg-connection-string/index.js"(exports, module) {
+ "use strict";
+ function parse(str, options = {}) {
+ if (str.charAt(0) === "/") {
+ const config2 = str.split(" ");
+ return { host: config2[0], database: config2[1] };
+ }
+ const config = /* @__PURE__ */ Object.create(null);
+ let result;
+ let dummyHost = false;
+ if (/ |%[^a-f0-9]|%[a-f0-9][^a-f0-9]/i.test(str)) {
+ str = encodeURI(str).replace(/%25(\d\d)/g, "%$1");
+ }
+ try {
+ try {
+ result = new URL(str, "postgres://base");
+ } catch (e) {
+ result = new URL(str.replace("@/", "@___DUMMY___/"), "postgres://base");
+ dummyHost = true;
+ }
+ } catch (err) {
+ err.input && (err.input = "*****REDACTED*****");
+ throw err;
+ }
+ for (const entry of result.searchParams.entries()) {
+ config[entry[0]] = entry[1];
+ }
+ config.user = config.user || decodeURIComponent(result.username);
+ config.password = config.password || decodeURIComponent(result.password);
+ if (result.protocol == "socket:") {
+ config.host = decodeURI(result.pathname);
+ config.database = result.searchParams.get("db");
+ config.client_encoding = result.searchParams.get("encoding");
+ return config;
+ }
+ const hostname = (dummyHost ? "" : result.hostname).replace(/^\[(.+)\]$/, "$1");
+ if (!config.host) {
+ config.host = decodeURIComponent(hostname);
+ } else if (hostname && /^%2f/i.test(hostname)) {
+ result.pathname = hostname + result.pathname;
+ }
+ if (!config.port) {
+ config.port = result.port;
+ }
+ const pathname = result.pathname.slice(1) || null;
+ config.database = pathname ? decodeURI(pathname) : null;
+ if (config.ssl === "true" || config.ssl === "1") {
+ config.ssl = true;
+ }
+ if (config.ssl === "0") {
+ config.ssl = false;
+ }
+ if (config.sslcert || config.sslkey || config.sslrootcert || config.sslmode) {
+ config.ssl = {};
+ }
+ if (config.sslnegotiation === "direct" && config.ssl === void 0) {
+ config.ssl = true;
+ }
+ const fs = config.sslcert || config.sslkey || config.sslrootcert ? __require("fs") : null;
+ if (config.sslcert) {
+ config.ssl.cert = fs.readFileSync(config.sslcert).toString();
+ }
+ if (config.sslkey) {
+ config.ssl.key = fs.readFileSync(config.sslkey).toString();
+ }
+ if (config.sslrootcert) {
+ config.ssl.ca = fs.readFileSync(config.sslrootcert).toString();
+ }
+ if (options.useLibpqCompat && config.uselibpqcompat) {
+ throw new Error("Both useLibpqCompat and uselibpqcompat are set. Please use only one of them.");
+ }
+ if (config.uselibpqcompat === "true" || options.useLibpqCompat) {
+ switch (config.sslmode) {
+ case "disable": {
+ config.ssl = false;
+ break;
+ }
+ case "prefer": {
+ config.ssl.rejectUnauthorized = false;
+ break;
+ }
+ case "require": {
+ if (config.sslrootcert) {
+ config.ssl.checkServerIdentity = function() {
+ };
+ } else {
+ config.ssl.rejectUnauthorized = false;
+ }
+ break;
+ }
+ case "verify-ca": {
+ if (!config.ssl.ca) {
+ throw new Error(
+ "SECURITY WARNING: Using sslmode=verify-ca requires specifying a CA with sslrootcert. If a public CA is used, verify-ca allows connections to a server that somebody else may have registered with the CA, making you vulnerable to Man-in-the-Middle attacks. Either specify a custom CA certificate with sslrootcert parameter or use sslmode=verify-full for proper security."
+ );
+ }
+ config.ssl.checkServerIdentity = function() {
+ };
+ break;
+ }
+ case "verify-full": {
+ break;
+ }
+ }
+ } else {
+ switch (config.sslmode) {
+ case "disable": {
+ config.ssl = false;
+ break;
+ }
+ case "prefer":
+ case "require":
+ case "verify-ca":
+ case "verify-full": {
+ if (config.sslmode !== "verify-full") {
+ deprecatedSslModeWarning(config.sslmode);
+ }
+ break;
+ }
+ case "no-verify": {
+ config.ssl.rejectUnauthorized = false;
+ break;
+ }
+ }
+ }
+ return config;
+ }
+ __name(parse, "parse");
+ function toConnectionOptions(sslConfig) {
+ const connectionOptions = Object.entries(sslConfig).reduce((c, [key, value]) => {
+ if (value !== void 0 && value !== null) {
+ c[key] = value;
+ }
+ return c;
+ }, /* @__PURE__ */ Object.create(null));
+ return connectionOptions;
+ }
+ __name(toConnectionOptions, "toConnectionOptions");
+ function toClientConfig(config) {
+ const poolConfig = Object.entries(config).reduce((c, [key, value]) => {
+ if (key === "ssl") {
+ const sslConfig = value;
+ if (typeof sslConfig === "boolean") {
+ c[key] = sslConfig;
+ }
+ if (typeof sslConfig === "object") {
+ c[key] = toConnectionOptions(sslConfig);
+ }
+ } else if (value !== void 0 && value !== null) {
+ if (key === "port") {
+ if (value !== "") {
+ const v = parseInt(value, 10);
+ if (isNaN(v)) {
+ throw new Error(`Invalid ${key}: ${value}`);
+ }
+ c[key] = v;
+ }
+ } else {
+ c[key] = value;
+ }
+ }
+ return c;
+ }, /* @__PURE__ */ Object.create(null));
+ return poolConfig;
+ }
+ __name(toClientConfig, "toClientConfig");
+ function parseIntoClientConfig(str) {
+ return toClientConfig(parse(str));
+ }
+ __name(parseIntoClientConfig, "parseIntoClientConfig");
+ function deprecatedSslModeWarning(sslmode) {
+ if (!deprecatedSslModeWarning.warned && typeof process !== "undefined" && process.emitWarning) {
+ deprecatedSslModeWarning.warned = true;
+ process.emitWarning(`SECURITY WARNING: The SSL modes 'prefer', 'require', and 'verify-ca' are treated as aliases for 'verify-full'.
+In the next major version (pg-connection-string v3.0.0 and pg v9.0.0), these modes will adopt standard libpq semantics, which have weaker security guarantees.
+
+To prepare for this change:
+- If you want the current behavior, explicitly use 'sslmode=verify-full'
+- If you want libpq compatibility now, use 'uselibpqcompat=true&sslmode=${sslmode}'
+
+See https://www.postgresql.org/docs/current/libpq-ssl.html for libpq SSL mode definitions.`);
+ }
+ }
+ __name(deprecatedSslModeWarning, "deprecatedSslModeWarning");
+ module.exports = parse;
+ parse.parse = parse;
+ parse.toClientConfig = toClientConfig;
+ parse.parseIntoClientConfig = parseIntoClientConfig;
+ }
+});
+
+// ../../node_modules/.pnpm/pg@8.23.1/node_modules/pg/lib/connection-parameters.js
+var require_connection_parameters = __commonJS({
+ "../../node_modules/.pnpm/pg@8.23.1/node_modules/pg/lib/connection-parameters.js"(exports, module) {
+ "use strict";
+ var dns = __require("dns");
+ var defaults2 = require_defaults();
+ var parse = require_pg_connection_string().parse;
+ var val = /* @__PURE__ */ __name(function(key, config, envVar) {
+ if (config[key]) {
+ return config[key];
+ }
+ if (envVar === void 0) {
+ envVar = process.env["PG" + key.toUpperCase()];
+ } else if (envVar === false) {
+ } else {
+ envVar = process.env[envVar];
+ }
+ return envVar || defaults2[key];
+ }, "val");
+ var readSSLConfigFromEnvironment = /* @__PURE__ */ __name(function() {
+ switch (process.env.PGSSLMODE) {
+ case "disable":
+ return false;
+ case "prefer":
+ case "require":
+ case "verify-ca":
+ case "verify-full":
+ return true;
+ case "no-verify":
+ return { rejectUnauthorized: false };
+ }
+ return defaults2.ssl;
+ }, "readSSLConfigFromEnvironment");
+ var quoteParamValue = /* @__PURE__ */ __name(function(value) {
+ return "'" + ("" + value).replace(/\\/g, "\\\\").replace(/'/g, "\\'") + "'";
+ }, "quoteParamValue");
+ var add = /* @__PURE__ */ __name(function(params, config, paramName) {
+ const value = config[paramName];
+ if (value !== void 0 && value !== null) {
+ params.push(paramName + "=" + quoteParamValue(value));
+ }
+ }, "add");
+ var ConnectionParameters = class {
+ static {
+ __name(this, "ConnectionParameters");
+ }
+ constructor(config) {
+ config = typeof config === "string" ? parse(config) : config || {};
+ if (config.connectionString) {
+ config = Object.assign({}, config, parse(config.connectionString));
+ }
+ this.user = val("user", config);
+ this.database = val("database", config);
+ if (this.database === void 0) {
+ this.database = this.user;
+ }
+ this.port = parseInt(val("port", config), 10);
+ this.host = val("host", config);
+ Object.defineProperty(this, "password", {
+ configurable: true,
+ enumerable: false,
+ writable: true,
+ value: val("password", config)
+ });
+ this.binary = val("binary", config);
+ this.options = val("options", config);
+ this.ssl = typeof config.ssl === "undefined" ? readSSLConfigFromEnvironment() : config.ssl;
+ if (typeof this.ssl === "string") {
+ if (this.ssl === "true") {
+ this.ssl = true;
+ }
+ }
+ if (this.ssl === "no-verify") {
+ this.ssl = { rejectUnauthorized: false };
+ }
+ if (this.ssl && this.ssl.key) {
+ Object.defineProperty(this.ssl, "key", {
+ enumerable: false
+ });
+ }
+ this.sslnegotiation = val("sslnegotiation", config, "PGSSLNEGOTIATION");
+ if (this.sslnegotiation !== void 0 && this.sslnegotiation !== "postgres" && this.sslnegotiation !== "direct") {
+ throw new Error(
+ `Invalid sslnegotiation value: "${this.sslnegotiation}". Valid values are "postgres" and "direct".`
+ );
+ }
+ if (this.sslnegotiation === "direct" && !this.ssl) {
+ throw new Error("sslnegotiation=direct requires SSL to be enabled");
+ }
+ this.client_encoding = val("client_encoding", config);
+ this.replication = val("replication", config);
+ this.isDomainSocket = !(this.host || "").indexOf("/");
+ this.application_name = val("application_name", config, "PGAPPNAME");
+ this.fallback_application_name = val("fallback_application_name", config, false);
+ this.statement_timeout = val("statement_timeout", config, false);
+ this.lock_timeout = val("lock_timeout", config, false);
+ this.idle_in_transaction_session_timeout = val("idle_in_transaction_session_timeout", config, false);
+ this.query_timeout = val("query_timeout", config, false);
+ if (config.connectionTimeoutMillis === void 0) {
+ this.connect_timeout = process.env.PGCONNECT_TIMEOUT || 0;
+ } else {
+ this.connect_timeout = Math.floor(config.connectionTimeoutMillis / 1e3);
+ }
+ if (config.keepAlive === false) {
+ this.keepalives = 0;
+ } else if (config.keepAlive === true) {
+ this.keepalives = 1;
+ }
+ if (typeof config.keepAliveInitialDelayMillis === "number") {
+ this.keepalives_idle = Math.floor(config.keepAliveInitialDelayMillis / 1e3);
+ }
+ }
+ getLibpqConnectionString(cb) {
+ const params = [];
+ add(params, this, "user");
+ add(params, this, "password");
+ add(params, this, "port");
+ add(params, this, "application_name");
+ add(params, this, "fallback_application_name");
+ add(params, this, "connect_timeout");
+ add(params, this, "options");
+ const ssl = typeof this.ssl === "object" ? this.ssl : this.ssl ? { sslmode: this.ssl } : {};
+ add(params, ssl, "sslmode");
+ add(params, ssl, "sslca");
+ add(params, ssl, "sslkey");
+ add(params, ssl, "sslcert");
+ add(params, ssl, "sslrootcert");
+ add(params, this, "sslnegotiation");
+ if (this.database) {
+ params.push("dbname=" + quoteParamValue(this.database));
+ }
+ if (this.replication) {
+ params.push("replication=" + quoteParamValue(this.replication));
+ }
+ if (this.host) {
+ params.push("host=" + quoteParamValue(this.host));
+ }
+ if (this.isDomainSocket) {
+ return cb(null, params.join(" "));
+ }
+ if (this.client_encoding) {
+ params.push("client_encoding=" + quoteParamValue(this.client_encoding));
+ }
+ dns.lookup(this.host, function(err, address) {
+ if (err) return cb(err, null);
+ params.push("hostaddr=" + quoteParamValue(address));
+ return cb(null, params.join(" "));
+ });
+ }
+ };
+ module.exports = ConnectionParameters;
+ }
+});
+
+// ../../node_modules/.pnpm/pg@8.23.1/node_modules/pg/lib/result.js
+var require_result = __commonJS({
+ "../../node_modules/.pnpm/pg@8.23.1/node_modules/pg/lib/result.js"(exports, module) {
+ "use strict";
+ var types2 = require_pg_types();
+ var matchRegexp = /^([A-Za-z]+)(?: (\d+))?(?: (\d+))?/;
+ var Result2 = class {
+ static {
+ __name(this, "Result");
+ }
+ constructor(rowMode, types3) {
+ this.command = null;
+ this.rowCount = null;
+ this.oid = null;
+ this.rows = [];
+ this.fields = [];
+ this._parsers = void 0;
+ this._types = types3;
+ this.RowCtor = null;
+ this.rowAsArray = rowMode === "array";
+ if (this.rowAsArray) {
+ this.parseRow = this._parseRowAsArray;
+ }
+ this._prebuiltEmptyResultObject = null;
+ }
+ // adds a command complete message
+ addCommandComplete(msg) {
+ let match;
+ if (msg.text) {
+ match = matchRegexp.exec(msg.text);
+ } else {
+ match = matchRegexp.exec(msg.command);
+ }
+ if (match) {
+ this.command = match[1];
+ if (match[3]) {
+ this.oid = parseInt(match[2], 10);
+ this.rowCount = parseInt(match[3], 10);
+ } else if (match[2]) {
+ this.rowCount = parseInt(match[2], 10);
+ }
+ }
+ }
+ _parseRowAsArray(rowData) {
+ const row = new Array(rowData.length);
+ for (let i = 0, len = rowData.length; i < len; i++) {
+ const rawValue = rowData[i];
+ if (rawValue !== null) {
+ row[i] = this._parsers[i](rawValue);
+ } else {
+ row[i] = null;
+ }
+ }
+ return row;
+ }
+ parseRow(rowData) {
+ const row = { ...this._prebuiltEmptyResultObject };
+ for (let i = 0, len = rowData.length; i < len; i++) {
+ const rawValue = rowData[i];
+ const field = this.fields[i].name;
+ if (rawValue !== null) {
+ const v = this.fields[i].format === "binary" ? Buffer.from(rawValue) : rawValue;
+ row[field] = this._parsers[i](v);
+ } else {
+ row[field] = null;
+ }
+ }
+ return row;
+ }
+ addRow(row) {
+ this.rows.push(row);
+ }
+ addFields(fieldDescriptions) {
+ this.fields = fieldDescriptions;
+ if (this.fields.length) {
+ this._parsers = new Array(fieldDescriptions.length);
+ }
+ const row = /* @__PURE__ */ Object.create(null);
+ for (let i = 0; i < fieldDescriptions.length; i++) {
+ const desc = fieldDescriptions[i];
+ row[desc.name] = null;
+ if (this._types) {
+ this._parsers[i] = this._types.getTypeParser(desc.dataTypeID, desc.format || "text");
+ } else {
+ this._parsers[i] = types2.getTypeParser(desc.dataTypeID, desc.format || "text");
+ }
+ }
+ this._prebuiltEmptyResultObject = { ...row };
+ }
+ };
+ module.exports = Result2;
+ }
+});
+
+// ../../node_modules/.pnpm/pg@8.23.1/node_modules/pg/lib/query.js
+var require_query = __commonJS({
+ "../../node_modules/.pnpm/pg@8.23.1/node_modules/pg/lib/query.js"(exports, module) {
+ "use strict";
+ var { EventEmitter } = __require("events");
+ var Result2 = require_result();
+ var utils = require_utils();
+ var Query2 = class extends EventEmitter {
+ static {
+ __name(this, "Query");
+ }
+ constructor(config, values, callback) {
+ super();
+ config = utils.normalizeQueryConfig(config, values, callback);
+ this.text = config.text;
+ this.values = config.values;
+ this.rows = config.rows;
+ this.types = config.types;
+ this.name = config.name;
+ this.queryMode = config.queryMode;
+ this.binary = config.binary;
+ this.portal = config.portal || "";
+ this.callback = config.callback;
+ this._rowMode = config.rowMode;
+ if (process.domain && config.callback) {
+ this.callback = process.domain.bind(config.callback);
+ }
+ this._result = new Result2(this._rowMode, this.types);
+ this._results = this._result;
+ this._canceledDueToError = false;
+ }
+ requiresPreparation() {
+ if (this.queryMode === "extended") {
+ return true;
+ }
+ if (this.name) {
+ return true;
+ }
+ if (this.rows) {
+ return true;
+ }
+ if (!this.text) {
+ return false;
+ }
+ if (!this.values) {
+ return false;
+ }
+ return this.values.length > 0;
+ }
+ _checkForMultirow() {
+ if (this._result.command) {
+ if (!Array.isArray(this._results)) {
+ this._results = [this._result];
+ }
+ this._result = new Result2(this._rowMode, this._result._types);
+ this._results.push(this._result);
+ }
+ }
+ // associates row metadata from the supplied
+ // message with this query object
+ // metadata used when parsing row results
+ handleRowDescription(msg) {
+ this._checkForMultirow();
+ this._result.addFields(msg.fields);
+ this._accumulateRows = this.callback || !this.listeners("row").length;
+ }
+ handleDataRow(msg) {
+ let row;
+ if (this._canceledDueToError) {
+ return;
+ }
+ try {
+ row = this._result.parseRow(msg.fields);
+ } catch (err) {
+ this._canceledDueToError = err;
+ return;
+ }
+ this.emit("row", row, this._result);
+ if (this._accumulateRows) {
+ this._result.addRow(row);
+ }
+ }
+ handleCommandComplete(msg, connection) {
+ this._checkForMultirow();
+ this._result.addCommandComplete(msg);
+ if (this.rows) {
+ connection.sync();
+ }
+ }
+ // if a named prepared statement is created with empty query text
+ // the backend will send an emptyQuery message but *not* a command complete message
+ // since we pipeline sync immediately after execute we don't need to do anything here
+ // unless we have rows specified, in which case we did not pipeline the initial sync call
+ handleEmptyQuery(connection) {
+ if (this.rows) {
+ connection.sync();
+ }
+ }
+ handleError(err, connection) {
+ if (this._canceledDueToError) {
+ err = this._canceledDueToError;
+ this._canceledDueToError = false;
+ }
+ if (this.callback) {
+ return this.callback(err);
+ }
+ this.emit("error", err);
+ }
+ handleReadyForQuery(con) {
+ if (this._canceledDueToError) {
+ return this.handleError(this._canceledDueToError, con);
+ }
+ if (this.callback) {
+ try {
+ this.callback(null, this._results);
+ } catch (err) {
+ process.nextTick(() => {
+ throw err;
+ });
+ }
+ }
+ this.emit("end", this._results);
+ }
+ submit(connection) {
+ if (typeof this.text !== "string" && typeof this.name !== "string") {
+ return new Error("A query must have either text or a name. Supplying neither is unsupported.");
+ }
+ const previous = connection.parsedStatements[this.name] || connection.submittedNamedStatements[this.name];
+ if (this.text && previous && this.text !== previous) {
+ return new Error(`Prepared statements must be unique - '${this.name}' was used for a different statement`);
+ }
+ if (this.values && !Array.isArray(this.values)) {
+ return new Error("Query values must be an array");
+ }
+ if (this.requiresPreparation()) {
+ connection.stream.cork && connection.stream.cork();
+ try {
+ this.prepare(connection);
+ } finally {
+ connection.stream.uncork && connection.stream.uncork();
+ }
+ } else {
+ connection.query(this.text);
+ }
+ return null;
+ }
+ hasBeenParsed(connection) {
+ return this.name && (connection.parsedStatements[this.name] !== void 0 || connection.submittedNamedStatements[this.name] !== void 0);
+ }
+ handlePortalSuspended(connection) {
+ this._getRows(connection, this.rows);
+ }
+ _getRows(connection, rows) {
+ connection.execute({
+ portal: this.portal,
+ rows
+ });
+ if (!rows) {
+ connection.sync();
+ } else {
+ connection.flush();
+ }
+ }
+ // http://developer.postgresql.org/pgdocs/postgres/protocol-flow.html#PROTOCOL-FLOW-EXT-QUERY
+ prepare(connection) {
+ if (!this.hasBeenParsed(connection)) {
+ connection.parse({
+ text: this.text,
+ name: this.name,
+ types: this.types
+ });
+ if (this.name) {
+ connection.submittedNamedStatements[this.name] = this.text;
+ }
+ }
+ try {
+ connection.bind({
+ portal: this.portal,
+ statement: this.name,
+ values: this.values,
+ binary: this.binary,
+ valueMapper: utils.prepareValue
+ });
+ } catch (err) {
+ connection.close({ type: "S", name: this.name });
+ connection.sync();
+ this.handleError(err, connection);
+ return;
+ }
+ connection.describe({
+ type: "P",
+ name: this.portal || ""
+ });
+ this._getRows(connection, this.rows);
+ }
+ handleCopyInResponse(connection) {
+ connection.sendCopyFail("No source stream defined");
+ }
+ handleCopyData(msg, connection) {
+ }
+ };
+ module.exports = Query2;
+ }
+});
+
+// ../../node_modules/.pnpm/pg-protocol@1.16.1/node_modules/pg-protocol/dist/messages.js
+var require_messages = __commonJS({
+ "../../node_modules/.pnpm/pg-protocol@1.16.1/node_modules/pg-protocol/dist/messages.js"(exports) {
+ "use strict";
+ Object.defineProperty(exports, "__esModule", { value: true });
+ exports.NoticeMessage = exports.DataRowMessage = exports.CommandCompleteMessage = exports.ReadyForQueryMessage = exports.NotificationResponseMessage = exports.BackendKeyDataMessage = exports.AuthenticationMD5Password = exports.ParameterStatusMessage = exports.ParameterDescriptionMessage = exports.RowDescriptionMessage = exports.Field = exports.CopyResponse = exports.CopyDataMessage = exports.DatabaseError = exports.copyDone = exports.emptyQuery = exports.replicationStart = exports.portalSuspended = exports.noData = exports.closeComplete = exports.bindComplete = exports.parseComplete = void 0;
+ exports.parseComplete = {
+ name: "parseComplete",
+ length: 5
+ };
+ exports.bindComplete = {
+ name: "bindComplete",
+ length: 5
+ };
+ exports.closeComplete = {
+ name: "closeComplete",
+ length: 5
+ };
+ exports.noData = {
+ name: "noData",
+ length: 5
+ };
+ exports.portalSuspended = {
+ name: "portalSuspended",
+ length: 5
+ };
+ exports.replicationStart = {
+ name: "replicationStart",
+ length: 4
+ };
+ exports.emptyQuery = {
+ name: "emptyQuery",
+ length: 4
+ };
+ exports.copyDone = {
+ name: "copyDone",
+ length: 4
+ };
+ var DatabaseError2 = class extends Error {
+ static {
+ __name(this, "DatabaseError");
+ }
+ constructor(message, length, name) {
+ super(message);
+ this.length = length;
+ this.name = name;
+ }
+ };
+ exports.DatabaseError = DatabaseError2;
+ var CopyDataMessage = class {
+ static {
+ __name(this, "CopyDataMessage");
+ }
+ constructor(length, chunk) {
+ this.length = length;
+ this.chunk = chunk;
+ this.name = "copyData";
+ }
+ };
+ exports.CopyDataMessage = CopyDataMessage;
+ var CopyResponse = class {
+ static {
+ __name(this, "CopyResponse");
+ }
+ constructor(length, name, binary, columnCount) {
+ this.length = length;
+ this.name = name;
+ this.binary = binary;
+ this.columnTypes = new Array(columnCount);
+ }
+ };
+ exports.CopyResponse = CopyResponse;
+ var Field = class {
+ static {
+ __name(this, "Field");
+ }
+ constructor(name, tableID, columnID, dataTypeID, dataTypeSize, dataTypeModifier, format) {
+ this.name = name;
+ this.tableID = tableID;
+ this.columnID = columnID;
+ this.dataTypeID = dataTypeID;
+ this.dataTypeSize = dataTypeSize;
+ this.dataTypeModifier = dataTypeModifier;
+ this.format = format;
+ }
+ };
+ exports.Field = Field;
+ var RowDescriptionMessage = class {
+ static {
+ __name(this, "RowDescriptionMessage");
+ }
+ constructor(length, fieldCount) {
+ this.length = length;
+ this.fieldCount = fieldCount;
+ this.name = "rowDescription";
+ this.fields = new Array(this.fieldCount);
+ }
+ };
+ exports.RowDescriptionMessage = RowDescriptionMessage;
+ var ParameterDescriptionMessage = class {
+ static {
+ __name(this, "ParameterDescriptionMessage");
+ }
+ constructor(length, parameterCount) {
+ this.length = length;
+ this.parameterCount = parameterCount;
+ this.name = "parameterDescription";
+ this.dataTypeIDs = new Array(this.parameterCount);
+ }
+ };
+ exports.ParameterDescriptionMessage = ParameterDescriptionMessage;
+ var ParameterStatusMessage = class {
+ static {
+ __name(this, "ParameterStatusMessage");
+ }
+ constructor(length, parameterName, parameterValue) {
+ this.length = length;
+ this.parameterName = parameterName;
+ this.parameterValue = parameterValue;
+ this.name = "parameterStatus";
+ }
+ };
+ exports.ParameterStatusMessage = ParameterStatusMessage;
+ var AuthenticationMD5Password = class {
+ static {
+ __name(this, "AuthenticationMD5Password");
+ }
+ constructor(length, salt) {
+ this.length = length;
+ this.salt = salt;
+ this.name = "authenticationMD5Password";
+ }
+ };
+ exports.AuthenticationMD5Password = AuthenticationMD5Password;
+ var BackendKeyDataMessage = class {
+ static {
+ __name(this, "BackendKeyDataMessage");
+ }
+ constructor(length, processID, secretKey) {
+ this.length = length;
+ this.processID = processID;
+ this.secretKey = secretKey;
+ this.name = "backendKeyData";
+ }
+ };
+ exports.BackendKeyDataMessage = BackendKeyDataMessage;
+ var NotificationResponseMessage = class {
+ static {
+ __name(this, "NotificationResponseMessage");
+ }
+ constructor(length, processId, channel, payload) {
+ this.length = length;
+ this.processId = processId;
+ this.channel = channel;
+ this.payload = payload;
+ this.name = "notification";
+ }
+ };
+ exports.NotificationResponseMessage = NotificationResponseMessage;
+ var ReadyForQueryMessage = class {
+ static {
+ __name(this, "ReadyForQueryMessage");
+ }
+ constructor(length, status) {
+ this.length = length;
+ this.status = status;
+ this.name = "readyForQuery";
+ }
+ };
+ exports.ReadyForQueryMessage = ReadyForQueryMessage;
+ var CommandCompleteMessage = class {
+ static {
+ __name(this, "CommandCompleteMessage");
+ }
+ constructor(length, text) {
+ this.length = length;
+ this.text = text;
+ this.name = "commandComplete";
+ }
+ };
+ exports.CommandCompleteMessage = CommandCompleteMessage;
+ var DataRowMessage = class {
+ static {
+ __name(this, "DataRowMessage");
+ }
+ constructor(length, fields) {
+ this.length = length;
+ this.fields = fields;
+ this.name = "dataRow";
+ this.fieldCount = fields.length;
+ }
+ };
+ exports.DataRowMessage = DataRowMessage;
+ var NoticeMessage = class {
+ static {
+ __name(this, "NoticeMessage");
+ }
+ constructor(length, message) {
+ this.length = length;
+ this.message = message;
+ this.name = "notice";
+ }
+ };
+ exports.NoticeMessage = NoticeMessage;
+ }
+});
+
+// ../../node_modules/.pnpm/pg-protocol@1.16.1/node_modules/pg-protocol/dist/buffer-writer.js
+var require_buffer_writer = __commonJS({
+ "../../node_modules/.pnpm/pg-protocol@1.16.1/node_modules/pg-protocol/dist/buffer-writer.js"(exports) {
+ "use strict";
+ Object.defineProperty(exports, "__esModule", { value: true });
+ exports.Writer = void 0;
+ var Writer = class {
+ static {
+ __name(this, "Writer");
+ }
+ constructor(size = 256) {
+ this.size = size;
+ this.offset = 5;
+ this.headerPosition = 0;
+ this.buffer = Buffer.allocUnsafe(size);
+ }
+ ensure(size) {
+ const remaining = this.buffer.length - this.offset;
+ if (remaining < size) {
+ const oldBuffer = this.buffer;
+ const newSize = oldBuffer.length + (oldBuffer.length >> 1) + size;
+ this.buffer = Buffer.allocUnsafe(newSize);
+ oldBuffer.copy(this.buffer, 0, 0, this.offset);
+ }
+ }
+ addInt32(num) {
+ this.ensure(4);
+ this.buffer[this.offset++] = num >>> 24 & 255;
+ this.buffer[this.offset++] = num >>> 16 & 255;
+ this.buffer[this.offset++] = num >>> 8 & 255;
+ this.buffer[this.offset++] = num >>> 0 & 255;
+ return this;
+ }
+ addInt16(num) {
+ this.ensure(2);
+ this.buffer[this.offset++] = num >>> 8 & 255;
+ this.buffer[this.offset++] = num >>> 0 & 255;
+ return this;
+ }
+ addCString(string) {
+ if (!string) {
+ this.ensure(1);
+ } else {
+ const len = Buffer.byteLength(string);
+ this.ensure(len + 1);
+ this.buffer.write(string, this.offset, "utf-8");
+ this.offset += len;
+ }
+ this.buffer[this.offset++] = 0;
+ return this;
+ }
+ addString(string = "") {
+ const len = Buffer.byteLength(string);
+ this.ensure(len);
+ this.buffer.write(string, this.offset);
+ this.offset += len;
+ return this;
+ }
+ // Write an Int32 byte-length prefix immediately followed by the string's UTF-8
+ // bytes. Postgres' Bind wire format prefixes every parameter with its length,
+ // and doing it in one method computes Buffer.byteLength ONCE — the previous
+ // `addInt32(Buffer.byteLength(s)).addString(s)` pairing scanned the string
+ // three times (byteLength for the prefix, byteLength again inside addString,
+ // then the encode), which is costly for large text parameters.
+ addInt32PrefixedString(string) {
+ const len = Buffer.byteLength(string);
+ this.ensure(4 + len);
+ const buffer = this.buffer;
+ let offset = this.offset;
+ buffer[offset++] = len >>> 24 & 255;
+ buffer[offset++] = len >>> 16 & 255;
+ buffer[offset++] = len >>> 8 & 255;
+ buffer[offset++] = len >>> 0 & 255;
+ buffer.write(string, offset, "utf-8");
+ this.offset = offset + len;
+ return this;
+ }
+ add(otherBuffer) {
+ this.ensure(otherBuffer.length);
+ otherBuffer.copy(this.buffer, this.offset);
+ this.offset += otherBuffer.length;
+ return this;
+ }
+ /**
+ * Appends an uninitialized block of {@link size} bytes to the buffer and returns its offset.
+ */
+ reserveUnsafe(size) {
+ const offset = this.offset;
+ this.ensure(size);
+ this.offset += size;
+ return offset;
+ }
+ join(code) {
+ if (code) {
+ this.buffer[this.headerPosition] = code;
+ const length = this.offset - (this.headerPosition + 1);
+ this.buffer.writeInt32BE(length, this.headerPosition + 1);
+ }
+ return this.buffer.slice(code ? 0 : 5, this.offset);
+ }
+ flush(code) {
+ const result = this.join(code);
+ this.offset = 5;
+ this.headerPosition = 0;
+ this.buffer = Buffer.allocUnsafe(this.size);
+ return result;
+ }
+ clear() {
+ this.offset = 5;
+ this.headerPosition = 0;
+ }
+ };
+ exports.Writer = Writer;
+ }
+});
+
+// ../../node_modules/.pnpm/pg-protocol@1.16.1/node_modules/pg-protocol/dist/serializer.js
+var require_serializer = __commonJS({
+ "../../node_modules/.pnpm/pg-protocol@1.16.1/node_modules/pg-protocol/dist/serializer.js"(exports) {
+ "use strict";
+ Object.defineProperty(exports, "__esModule", { value: true });
+ exports.serialize = void 0;
+ var buffer_writer_1 = require_buffer_writer();
+ var writer = new buffer_writer_1.Writer();
+ var startup = /* @__PURE__ */ __name((opts) => {
+ writer.addInt16(3).addInt16(0);
+ for (const key of Object.keys(opts)) {
+ writer.addCString(key).addCString(opts[key]);
+ }
+ writer.addCString("client_encoding").addCString("UTF8");
+ const bodyBuffer = writer.addCString("").flush();
+ const length = bodyBuffer.length + 4;
+ return new buffer_writer_1.Writer().addInt32(length).add(bodyBuffer).flush();
+ }, "startup");
+ var requestSsl = /* @__PURE__ */ __name(() => {
+ const response = Buffer.allocUnsafe(8);
+ response.writeInt32BE(8, 0);
+ response.writeInt32BE(80877103, 4);
+ return response;
+ }, "requestSsl");
+ var password = /* @__PURE__ */ __name((password2) => {
+ return writer.addCString(password2).flush(
+ 112
+ /* code.startup */
+ );
+ }, "password");
+ var sendSASLInitialResponseMessage = /* @__PURE__ */ __name(function(mechanism, initialResponse) {
+ writer.addCString(mechanism).addInt32PrefixedString(initialResponse);
+ return writer.flush(
+ 112
+ /* code.startup */
+ );
+ }, "sendSASLInitialResponseMessage");
+ var sendSCRAMClientFinalMessage = /* @__PURE__ */ __name(function(additionalData) {
+ return writer.addString(additionalData).flush(
+ 112
+ /* code.startup */
+ );
+ }, "sendSCRAMClientFinalMessage");
+ var query = /* @__PURE__ */ __name((text) => {
+ return writer.addCString(text).flush(
+ 81
+ /* code.query */
+ );
+ }, "query");
+ var emptyArray = [];
+ var parse = /* @__PURE__ */ __name((query2) => {
+ const name = query2.name || "";
+ if (name.length > 63) {
+ console.error("Warning! Postgres only supports 63 characters for query names.");
+ console.error("You supplied %s (%s)", name, name.length);
+ console.error("This can cause conflicts and silent errors executing queries");
+ }
+ const types2 = query2.types || emptyArray;
+ const len = types2.length;
+ const buffer = writer.addCString(name).addCString(query2.text).addInt16(len);
+ for (let i = 0; i < len; i++) {
+ buffer.addInt32(types2[i]);
+ }
+ return writer.flush(
+ 80
+ /* code.parse */
+ );
+ }, "parse");
+ var writeValues = /* @__PURE__ */ __name(function(values, valueMapper, formatsOffset) {
+ const len = values.length;
+ for (let i = 0; i < len; i++) {
+ const mappedVal = valueMapper ? valueMapper(values[i], i) : values[i];
+ let formatByte = 0;
+ if (mappedVal == null) {
+ writer.addInt32(-1);
+ } else if (mappedVal instanceof Buffer) {
+ formatByte = 1;
+ writer.addInt32(mappedVal.length);
+ writer.add(mappedVal);
+ } else {
+ writer.addInt32PrefixedString(mappedVal);
+ }
+ const buf = writer.buffer;
+ buf[formatsOffset++] = 0;
+ buf[formatsOffset++] = formatByte;
+ }
+ }, "writeValues");
+ var bind = /* @__PURE__ */ __name((config = {}) => {
+ const portal = config.portal || "";
+ const statement = config.statement || "";
+ const binary = config.binary || false;
+ const values = config.values || emptyArray;
+ const len = values.length;
+ writer.addCString(portal).addCString(statement);
+ writer.addInt16(len);
+ const formatsOffset = writer.reserveUnsafe(len * 2);
+ writer.addInt16(len);
+ try {
+ writeValues(values, config.valueMapper, formatsOffset);
+ } catch (err) {
+ writer.clear();
+ throw err;
+ }
+ writer.addInt16(1);
+ writer.addInt16(
+ binary ? 1 : 0
+ /* ParamType.STRING */
+ );
+ return writer.flush(
+ 66
+ /* code.bind */
+ );
+ }, "bind");
+ var emptyExecute = Buffer.from([69, 0, 0, 0, 9, 0, 0, 0, 0, 0]);
+ var execute = /* @__PURE__ */ __name((config) => {
+ if (!config || !config.portal && !config.rows) {
+ return emptyExecute;
+ }
+ const portal = config.portal || "";
+ const rows = config.rows || 0;
+ const portalLength = Buffer.byteLength(portal);
+ const len = 4 + portalLength + 1 + 4;
+ const buff = Buffer.allocUnsafe(1 + len);
+ buff[0] = 69;
+ buff.writeInt32BE(len, 1);
+ buff.write(portal, 5, "utf-8");
+ buff[portalLength + 5] = 0;
+ buff.writeUInt32BE(rows, buff.length - 4);
+ return buff;
+ }, "execute");
+ var cancel = /* @__PURE__ */ __name((processID, secretKey) => {
+ const buffer = Buffer.allocUnsafe(16);
+ buffer.writeInt32BE(16, 0);
+ buffer.writeInt16BE(1234, 4);
+ buffer.writeInt16BE(5678, 6);
+ buffer.writeInt32BE(processID, 8);
+ buffer.writeInt32BE(secretKey, 12);
+ return buffer;
+ }, "cancel");
+ var cstringMessage = /* @__PURE__ */ __name((code, string) => {
+ const stringLen = Buffer.byteLength(string);
+ const len = 4 + stringLen + 1;
+ const buffer = Buffer.allocUnsafe(1 + len);
+ buffer[0] = code;
+ buffer.writeInt32BE(len, 1);
+ buffer.write(string, 5, "utf-8");
+ buffer[len] = 0;
+ return buffer;
+ }, "cstringMessage");
+ var emptyDescribePortal = writer.addCString("P").flush(
+ 68
+ /* code.describe */
+ );
+ var emptyDescribeStatement = writer.addCString("S").flush(
+ 68
+ /* code.describe */
+ );
+ var describe = /* @__PURE__ */ __name((msg) => {
+ return msg.name ? cstringMessage(68, `${msg.type}${msg.name || ""}`) : msg.type === "P" ? emptyDescribePortal : emptyDescribeStatement;
+ }, "describe");
+ var close = /* @__PURE__ */ __name((msg) => {
+ const text = `${msg.type}${msg.name || ""}`;
+ return cstringMessage(67, text);
+ }, "close");
+ var copyData = /* @__PURE__ */ __name((chunk) => {
+ return writer.add(chunk).flush(
+ 100
+ /* code.copyFromChunk */
+ );
+ }, "copyData");
+ var copyFail = /* @__PURE__ */ __name((message) => {
+ return cstringMessage(102, message);
+ }, "copyFail");
+ var codeOnlyBuffer = /* @__PURE__ */ __name((code) => Buffer.from([code, 0, 0, 0, 4]), "codeOnlyBuffer");
+ var flushBuffer = codeOnlyBuffer(
+ 72
+ /* code.flush */
+ );
+ var syncBuffer = codeOnlyBuffer(
+ 83
+ /* code.sync */
+ );
+ var endBuffer = codeOnlyBuffer(
+ 88
+ /* code.end */
+ );
+ var copyDoneBuffer = codeOnlyBuffer(
+ 99
+ /* code.copyDone */
+ );
+ var serialize = {
+ startup,
+ password,
+ requestSsl,
+ sendSASLInitialResponseMessage,
+ sendSCRAMClientFinalMessage,
+ query,
+ parse,
+ bind,
+ execute,
+ describe,
+ close,
+ flush: /* @__PURE__ */ __name(() => flushBuffer, "flush"),
+ sync: /* @__PURE__ */ __name(() => syncBuffer, "sync"),
+ end: /* @__PURE__ */ __name(() => endBuffer, "end"),
+ copyData,
+ copyDone: /* @__PURE__ */ __name(() => copyDoneBuffer, "copyDone"),
+ copyFail,
+ cancel
+ };
+ exports.serialize = serialize;
+ }
+});
+
+// ../../node_modules/.pnpm/pg-protocol@1.16.1/node_modules/pg-protocol/dist/buffer-reader.js
+var require_buffer_reader = __commonJS({
+ "../../node_modules/.pnpm/pg-protocol@1.16.1/node_modules/pg-protocol/dist/buffer-reader.js"(exports) {
+ "use strict";
+ Object.defineProperty(exports, "__esModule", { value: true });
+ exports.BufferReader = void 0;
+ var BufferReader = class {
+ static {
+ __name(this, "BufferReader");
+ }
+ constructor(offset = 0) {
+ this.offset = offset;
+ this.buffer = Buffer.allocUnsafe(0);
+ this.encoding = "utf-8";
+ }
+ setBuffer(offset, buffer) {
+ this.offset = offset;
+ this.buffer = buffer;
+ }
+ int16() {
+ const result = this.buffer.readInt16BE(this.offset);
+ this.offset += 2;
+ return result;
+ }
+ byte() {
+ const result = this.buffer[this.offset];
+ this.offset++;
+ return result;
+ }
+ int32() {
+ const result = this.buffer.readInt32BE(this.offset);
+ this.offset += 4;
+ return result;
+ }
+ uint32() {
+ const result = this.buffer.readUInt32BE(this.offset);
+ this.offset += 4;
+ return result;
+ }
+ string(length) {
+ const result = this.buffer.toString(this.encoding, this.offset, this.offset + length);
+ this.offset += length;
+ return result;
+ }
+ cstring() {
+ const start = this.offset;
+ let end = start;
+ while (this.buffer[end++]) {
+ }
+ this.offset = end;
+ return this.buffer.toString(this.encoding, start, end - 1);
+ }
+ bytes(length) {
+ const result = this.buffer.slice(this.offset, this.offset + length);
+ this.offset += length;
+ return result;
+ }
+ };
+ exports.BufferReader = BufferReader;
+ }
+});
+
+// ../../node_modules/.pnpm/pg-protocol@1.16.1/node_modules/pg-protocol/dist/parser.js
+var require_parser = __commonJS({
+ "../../node_modules/.pnpm/pg-protocol@1.16.1/node_modules/pg-protocol/dist/parser.js"(exports) {
+ "use strict";
+ Object.defineProperty(exports, "__esModule", { value: true });
+ exports.Parser = void 0;
+ var messages_1 = require_messages();
+ var buffer_reader_1 = require_buffer_reader();
+ var CODE_LENGTH = 1;
+ var LEN_LENGTH = 4;
+ var HEADER_LENGTH = CODE_LENGTH + LEN_LENGTH;
+ var LATEINIT_LENGTH = -1;
+ var emptyBuffer = Buffer.allocUnsafe(0);
+ var Parser = class {
+ static {
+ __name(this, "Parser");
+ }
+ constructor(opts) {
+ this.buffer = emptyBuffer;
+ this.bufferLength = 0;
+ this.bufferOffset = 0;
+ this.reader = new buffer_reader_1.BufferReader();
+ if ((opts === null || opts === void 0 ? void 0 : opts.mode) === "binary") {
+ throw new Error("Binary mode not supported yet");
+ }
+ this.mode = (opts === null || opts === void 0 ? void 0 : opts.mode) || "text";
+ }
+ parse(buffer, callback) {
+ this.mergeBuffer(buffer);
+ const bufferFullLength = this.bufferOffset + this.bufferLength;
+ let offset = this.bufferOffset;
+ while (offset + HEADER_LENGTH <= bufferFullLength) {
+ const code = this.buffer[offset];
+ const length = this.buffer.readUInt32BE(offset + CODE_LENGTH);
+ const fullMessageLength = CODE_LENGTH + length;
+ if (fullMessageLength + offset <= bufferFullLength) {
+ const message = this.handlePacket(offset + HEADER_LENGTH, code, length, this.buffer);
+ callback(message);
+ offset += fullMessageLength;
+ } else {
+ break;
+ }
+ }
+ if (offset === bufferFullLength) {
+ this.buffer = emptyBuffer;
+ this.bufferLength = 0;
+ this.bufferOffset = 0;
+ } else {
+ this.bufferLength = bufferFullLength - offset;
+ this.bufferOffset = offset;
+ }
+ }
+ mergeBuffer(buffer) {
+ if (this.bufferLength > 0) {
+ const newLength = this.bufferLength + buffer.byteLength;
+ const newFullLength = newLength + this.bufferOffset;
+ if (newFullLength > this.buffer.byteLength) {
+ let newBuffer;
+ if (newLength <= this.buffer.byteLength && this.bufferOffset >= this.bufferLength) {
+ newBuffer = this.buffer;
+ } else {
+ let newBufferLength = this.buffer.byteLength * 2;
+ while (newLength >= newBufferLength) {
+ newBufferLength *= 2;
+ }
+ newBuffer = Buffer.allocUnsafe(newBufferLength);
+ }
+ this.buffer.copy(newBuffer, 0, this.bufferOffset, this.bufferOffset + this.bufferLength);
+ this.buffer = newBuffer;
+ this.bufferOffset = 0;
+ }
+ buffer.copy(this.buffer, this.bufferOffset + this.bufferLength);
+ this.bufferLength = newLength;
+ } else {
+ this.buffer = buffer;
+ this.bufferOffset = 0;
+ this.bufferLength = buffer.byteLength;
+ }
+ }
+ handlePacket(offset, code, length, bytes) {
+ const { reader } = this;
+ reader.setBuffer(offset, bytes);
+ let message;
+ switch (code) {
+ case 50:
+ message = messages_1.bindComplete;
+ break;
+ case 49:
+ message = messages_1.parseComplete;
+ break;
+ case 51:
+ message = messages_1.closeComplete;
+ break;
+ case 110:
+ message = messages_1.noData;
+ break;
+ case 115:
+ message = messages_1.portalSuspended;
+ break;
+ case 99:
+ message = messages_1.copyDone;
+ break;
+ case 87:
+ message = messages_1.replicationStart;
+ break;
+ case 73:
+ message = messages_1.emptyQuery;
+ break;
+ case 68:
+ message = parseDataRowMessage(reader);
+ break;
+ case 67:
+ message = parseCommandCompleteMessage(reader);
+ break;
+ case 90:
+ message = parseReadyForQueryMessage(reader);
+ break;
+ case 65:
+ message = parseNotificationMessage(reader);
+ break;
+ case 82:
+ message = parseAuthenticationResponse(reader, length);
+ break;
+ case 83:
+ message = parseParameterStatusMessage(reader);
+ break;
+ case 75:
+ message = parseBackendKeyData(reader);
+ break;
+ case 69:
+ message = parseErrorMessage(reader, "error");
+ break;
+ case 78:
+ message = parseErrorMessage(reader, "notice");
+ break;
+ case 84:
+ message = parseRowDescriptionMessage(reader);
+ break;
+ case 116:
+ message = parseParameterDescriptionMessage(reader);
+ break;
+ case 71:
+ message = parseCopyInMessage(reader);
+ break;
+ case 72:
+ message = parseCopyOutMessage(reader);
+ break;
+ case 100:
+ message = parseCopyData(reader, length);
+ break;
+ default:
+ return new messages_1.DatabaseError("received invalid response: " + code.toString(16), length, "error");
+ }
+ reader.setBuffer(0, emptyBuffer);
+ message.length = length;
+ return message;
+ }
+ };
+ exports.Parser = Parser;
+ var parseReadyForQueryMessage = /* @__PURE__ */ __name((reader) => {
+ const status = reader.string(1);
+ return new messages_1.ReadyForQueryMessage(LATEINIT_LENGTH, status);
+ }, "parseReadyForQueryMessage");
+ var parseCommandCompleteMessage = /* @__PURE__ */ __name((reader) => {
+ const text = reader.cstring();
+ return new messages_1.CommandCompleteMessage(LATEINIT_LENGTH, text);
+ }, "parseCommandCompleteMessage");
+ var parseCopyData = /* @__PURE__ */ __name((reader, length) => {
+ const chunk = reader.bytes(length - 4);
+ return new messages_1.CopyDataMessage(LATEINIT_LENGTH, chunk);
+ }, "parseCopyData");
+ var parseCopyInMessage = /* @__PURE__ */ __name((reader) => parseCopyMessage(reader, "copyInResponse"), "parseCopyInMessage");
+ var parseCopyOutMessage = /* @__PURE__ */ __name((reader) => parseCopyMessage(reader, "copyOutResponse"), "parseCopyOutMessage");
+ var parseCopyMessage = /* @__PURE__ */ __name((reader, messageName) => {
+ const isBinary = reader.byte() !== 0;
+ const columnCount = reader.int16();
+ const message = new messages_1.CopyResponse(LATEINIT_LENGTH, messageName, isBinary, columnCount);
+ for (let i = 0; i < columnCount; i++) {
+ message.columnTypes[i] = reader.int16();
+ }
+ return message;
+ }, "parseCopyMessage");
+ var parseNotificationMessage = /* @__PURE__ */ __name((reader) => {
+ const processId = reader.int32();
+ const channel = reader.cstring();
+ const payload = reader.cstring();
+ return new messages_1.NotificationResponseMessage(LATEINIT_LENGTH, processId, channel, payload);
+ }, "parseNotificationMessage");
+ var parseRowDescriptionMessage = /* @__PURE__ */ __name((reader) => {
+ const fieldCount = reader.int16();
+ const message = new messages_1.RowDescriptionMessage(LATEINIT_LENGTH, fieldCount);
+ for (let i = 0; i < fieldCount; i++) {
+ message.fields[i] = parseField(reader);
+ }
+ return message;
+ }, "parseRowDescriptionMessage");
+ var parseField = /* @__PURE__ */ __name((reader) => {
+ const name = reader.cstring();
+ const tableID = reader.uint32();
+ const columnID = reader.int16();
+ const dataTypeID = reader.uint32();
+ const dataTypeSize = reader.int16();
+ const dataTypeModifier = reader.int32();
+ const mode = reader.int16() === 0 ? "text" : "binary";
+ return new messages_1.Field(name, tableID, columnID, dataTypeID, dataTypeSize, dataTypeModifier, mode);
+ }, "parseField");
+ var parseParameterDescriptionMessage = /* @__PURE__ */ __name((reader) => {
+ const parameterCount = reader.int16();
+ const message = new messages_1.ParameterDescriptionMessage(LATEINIT_LENGTH, parameterCount);
+ for (let i = 0; i < parameterCount; i++) {
+ message.dataTypeIDs[i] = reader.uint32();
+ }
+ return message;
+ }, "parseParameterDescriptionMessage");
+ var parseDataRowMessage = /* @__PURE__ */ __name((reader) => {
+ const fieldCount = reader.int16();
+ const fields = new Array(fieldCount);
+ for (let i = 0; i < fieldCount; i++) {
+ const len = reader.int32();
+ fields[i] = len === -1 ? null : reader.string(len);
+ }
+ return new messages_1.DataRowMessage(LATEINIT_LENGTH, fields);
+ }, "parseDataRowMessage");
+ var parseParameterStatusMessage = /* @__PURE__ */ __name((reader) => {
+ const name = reader.cstring();
+ const value = reader.cstring();
+ return new messages_1.ParameterStatusMessage(LATEINIT_LENGTH, name, value);
+ }, "parseParameterStatusMessage");
+ var parseBackendKeyData = /* @__PURE__ */ __name((reader) => {
+ const processID = reader.int32();
+ const secretKey = reader.int32();
+ return new messages_1.BackendKeyDataMessage(LATEINIT_LENGTH, processID, secretKey);
+ }, "parseBackendKeyData");
+ var parseAuthenticationResponse = /* @__PURE__ */ __name((reader, length) => {
+ const code = reader.int32();
+ const message = {
+ name: "authenticationOk",
+ length
+ };
+ switch (code) {
+ case 0:
+ break;
+ case 3:
+ if (message.length === 8) {
+ message.name = "authenticationCleartextPassword";
+ }
+ break;
+ case 5:
+ if (message.length === 12) {
+ message.name = "authenticationMD5Password";
+ const salt = reader.bytes(4);
+ return new messages_1.AuthenticationMD5Password(LATEINIT_LENGTH, salt);
+ }
+ break;
+ case 10:
+ {
+ message.name = "authenticationSASL";
+ message.mechanisms = [];
+ let mechanism;
+ do {
+ mechanism = reader.cstring();
+ if (mechanism) {
+ message.mechanisms.push(mechanism);
+ }
+ } while (mechanism);
+ }
+ break;
+ case 11:
+ message.name = "authenticationSASLContinue";
+ message.data = reader.string(length - 8);
+ break;
+ case 12:
+ message.name = "authenticationSASLFinal";
+ message.data = reader.string(length - 8);
+ break;
+ default:
+ throw new Error("Unknown authenticationOk message type " + code);
+ }
+ return message;
+ }, "parseAuthenticationResponse");
+ var parseErrorMessage = /* @__PURE__ */ __name((reader, name) => {
+ const fields = {};
+ let fieldType = reader.string(1);
+ while (fieldType !== "\0") {
+ fields[fieldType] = reader.cstring();
+ fieldType = reader.string(1);
+ }
+ const messageValue = fields.M;
+ const message = name === "notice" ? new messages_1.NoticeMessage(LATEINIT_LENGTH, messageValue) : new messages_1.DatabaseError(messageValue, LATEINIT_LENGTH, name);
+ message.severity = fields.S;
+ message.code = fields.C;
+ message.detail = fields.D;
+ message.hint = fields.H;
+ message.position = fields.P;
+ message.internalPosition = fields.p;
+ message.internalQuery = fields.q;
+ message.where = fields.W;
+ message.schema = fields.s;
+ message.table = fields.t;
+ message.column = fields.c;
+ message.dataType = fields.d;
+ message.constraint = fields.n;
+ message.file = fields.F;
+ message.line = fields.L;
+ message.routine = fields.R;
+ return message;
+ }, "parseErrorMessage");
+ }
+});
+
+// ../../node_modules/.pnpm/pg-protocol@1.16.1/node_modules/pg-protocol/dist/index.js
+var require_dist = __commonJS({
+ "../../node_modules/.pnpm/pg-protocol@1.16.1/node_modules/pg-protocol/dist/index.js"(exports) {
+ "use strict";
+ Object.defineProperty(exports, "__esModule", { value: true });
+ exports.DatabaseError = exports.serialize = void 0;
+ exports.parse = parse;
+ var messages_1 = require_messages();
+ Object.defineProperty(exports, "DatabaseError", { enumerable: true, get: /* @__PURE__ */ __name(function() {
+ return messages_1.DatabaseError;
+ }, "get") });
+ var serializer_1 = require_serializer();
+ Object.defineProperty(exports, "serialize", { enumerable: true, get: /* @__PURE__ */ __name(function() {
+ return serializer_1.serialize;
+ }, "get") });
+ var parser_1 = require_parser();
+ function parse(stream, callback) {
+ const parser = new parser_1.Parser();
+ stream.on("data", (buffer) => parser.parse(buffer, callback));
+ return new Promise((resolve) => stream.on("end", () => resolve()));
+ }
+ __name(parse, "parse");
+ }
+});
+
+// ../../node_modules/.pnpm/pg-cloudflare@1.4.1/node_modules/pg-cloudflare/dist/empty.js
+var require_empty = __commonJS({
+ "../../node_modules/.pnpm/pg-cloudflare@1.4.1/node_modules/pg-cloudflare/dist/empty.js"(exports) {
+ "use strict";
+ Object.defineProperty(exports, "__esModule", { value: true });
+ exports.default = {};
+ }
+});
+
+// ../../node_modules/.pnpm/pg@8.23.1/node_modules/pg/lib/stream.js
+var require_stream = __commonJS({
+ "../../node_modules/.pnpm/pg@8.23.1/node_modules/pg/lib/stream.js"(exports, module) {
+ var { getStream, getSecureStream } = getStreamFuncs();
+ module.exports = {
+ /**
+ * Get a socket stream compatible with the current runtime environment.
+ * @returns {Duplex}
+ */
+ getStream,
+ /**
+ * Get a TLS secured socket, compatible with the current environment,
+ * using the socket and other settings given in `options`.
+ * @returns {Duplex}
+ */
+ getSecureStream
+ };
+ function getNodejsStreamFuncs() {
+ function getStream2(ssl) {
+ const net = __require("net");
+ return new net.Socket();
+ }
+ __name(getStream2, "getStream");
+ function getSecureStream2(options) {
+ const tls = __require("tls");
+ return tls.connect(options);
+ }
+ __name(getSecureStream2, "getSecureStream");
+ return {
+ getStream: getStream2,
+ getSecureStream: getSecureStream2
+ };
+ }
+ __name(getNodejsStreamFuncs, "getNodejsStreamFuncs");
+ function getCloudflareStreamFuncs() {
+ function getStream2(ssl) {
+ const { CloudflareSocket } = require_empty();
+ return new CloudflareSocket(ssl);
+ }
+ __name(getStream2, "getStream");
+ function getSecureStream2(options) {
+ options.socket.startTls(options);
+ return options.socket;
+ }
+ __name(getSecureStream2, "getSecureStream");
+ return {
+ getStream: getStream2,
+ getSecureStream: getSecureStream2
+ };
+ }
+ __name(getCloudflareStreamFuncs, "getCloudflareStreamFuncs");
+ function isCloudflareRuntime() {
+ if (typeof navigator === "object" && navigator !== null && typeof navigator.userAgent === "string") {
+ return navigator.userAgent === "Cloudflare-Workers";
+ }
+ if (typeof Response === "function") {
+ const resp = new Response(null, { cf: { thing: true } });
+ if (typeof resp.cf === "object" && resp.cf !== null && resp.cf.thing) {
+ return true;
+ }
+ }
+ return false;
+ }
+ __name(isCloudflareRuntime, "isCloudflareRuntime");
+ function getStreamFuncs() {
+ if (isCloudflareRuntime()) {
+ return getCloudflareStreamFuncs();
+ }
+ return getNodejsStreamFuncs();
+ }
+ __name(getStreamFuncs, "getStreamFuncs");
+ }
+});
+
+// ../../node_modules/.pnpm/pg@8.23.1/node_modules/pg/lib/connection.js
+var require_connection = __commonJS({
+ "../../node_modules/.pnpm/pg@8.23.1/node_modules/pg/lib/connection.js"(exports, module) {
+ "use strict";
+ var EventEmitter = __require("events").EventEmitter;
+ var { parse, serialize } = require_dist();
+ var stream = require_stream();
+ var { getStream } = stream;
+ var flushBuffer = serialize.flush();
+ var syncBuffer = serialize.sync();
+ var endBuffer = serialize.end();
+ var Connection2 = class extends EventEmitter {
+ static {
+ __name(this, "Connection");
+ }
+ constructor(config) {
+ super();
+ config = config || {};
+ this.stream = config.stream || getStream(config.ssl);
+ if (typeof this.stream === "function") {
+ this.stream = this.stream(config);
+ }
+ this._keepAlive = config.keepAlive;
+ this._keepAliveInitialDelayMillis = config.keepAliveInitialDelayMillis;
+ this.parsedStatements = {};
+ this.submittedNamedStatements = {};
+ this.ssl = config.ssl || false;
+ this.sslNegotiation = config.sslNegotiation || "postgres";
+ this._ending = false;
+ this._emitMessage = false;
+ const self = this;
+ this.on("newListener", function(eventName) {
+ if (eventName === "message") {
+ self._emitMessage = true;
+ }
+ });
+ }
+ connect(port, host) {
+ const self = this;
+ this._connecting = true;
+ this.stream.setNoDelay(true);
+ this.stream.connect(port, host);
+ this.stream.once("connect", function() {
+ if (self._keepAlive) {
+ self.stream.setKeepAlive(true, self._keepAliveInitialDelayMillis);
+ }
+ self.emit("connect");
+ });
+ const reportStreamError = /* @__PURE__ */ __name(function(error) {
+ if (self._ending && (error.code === "ECONNRESET" || error.code === "EPIPE")) {
+ return;
+ }
+ self.emit("error", error);
+ }, "reportStreamError");
+ this.stream.on("error", reportStreamError);
+ this.stream.on("close", function() {
+ self.emit("end");
+ });
+ if (!this.ssl) {
+ return this.attachListeners(this.stream);
+ }
+ if (this.sslNegotiation === "direct") {
+ return this.stream.once("connect", function() {
+ self.upgradeToSSL(host, reportStreamError);
+ });
+ }
+ this.stream.once("data", function(buffer) {
+ const responseCode = buffer.toString("utf8");
+ switch (responseCode) {
+ case "S":
+ break;
+ case "N":
+ self.stream.end();
+ return self.emit("error", new Error("The server does not support SSL connections"));
+ default:
+ self.stream.end();
+ return self.emit("error", new Error("There was an error establishing an SSL connection"));
+ }
+ self.upgradeToSSL(host, reportStreamError);
+ });
+ }
+ upgradeToSSL(host, reportStreamError) {
+ const self = this;
+ const options = {
+ socket: self.stream,
+ // tls.connect checks the server identity against `servername`, falling
+ // back to `host` and then to 'localhost'. `servername` must stay unset
+ // for IP addresses (see below), so `host` is needed to keep certificate
+ // validation working when connecting to an IP address.
+ host
+ };
+ if (self.ssl !== true) {
+ Object.assign(options, self.ssl);
+ if ("key" in self.ssl) {
+ options.key = self.ssl.key;
+ }
+ }
+ if (self.sslNegotiation === "direct") {
+ options.ALPNProtocols = ["postgresql"];
+ }
+ const net = __require("net");
+ if (net.isIP && net.isIP(host) === 0) {
+ options.servername = host;
+ }
+ try {
+ self.stream = stream.getSecureStream(options);
+ } catch (err) {
+ return self.emit("error", err);
+ }
+ self.attachListeners(self.stream);
+ self.stream.on("error", reportStreamError);
+ self.emit("sslconnect");
+ }
+ attachListeners(stream2) {
+ parse(stream2, (msg) => {
+ const eventName = msg.name === "error" ? "errorMessage" : msg.name;
+ if (this._emitMessage) {
+ this.emit("message", msg);
+ }
+ this.emit(eventName, msg);
+ });
+ }
+ requestSsl() {
+ this.stream.write(serialize.requestSsl());
+ }
+ startup(config) {
+ this.stream.write(serialize.startup(config));
+ }
+ cancel(processID, secretKey) {
+ this._send(serialize.cancel(processID, secretKey));
+ }
+ password(password) {
+ this._send(serialize.password(password));
+ }
+ sendSASLInitialResponseMessage(mechanism, initialResponse) {
+ this._send(serialize.sendSASLInitialResponseMessage(mechanism, initialResponse));
+ }
+ sendSCRAMClientFinalMessage(additionalData) {
+ this._send(serialize.sendSCRAMClientFinalMessage(additionalData));
+ }
+ _send(buffer) {
+ if (!this.stream.writable) {
+ return false;
+ }
+ return this.stream.write(buffer);
+ }
+ query(text) {
+ this._send(serialize.query(text));
+ }
+ // send parse message
+ parse(query) {
+ this._send(serialize.parse(query));
+ }
+ // send bind message
+ bind(config) {
+ this._send(serialize.bind(config));
+ }
+ // send execute message
+ execute(config) {
+ this._send(serialize.execute(config));
+ }
+ flush() {
+ if (this.stream.writable) {
+ this.stream.write(flushBuffer);
+ }
+ }
+ sync() {
+ this._send(syncBuffer);
+ }
+ ref() {
+ this.stream.ref();
+ }
+ unref() {
+ this.stream.unref();
+ }
+ end() {
+ this._ending = true;
+ if (!this._connecting || !this.stream.writable) {
+ this.stream.end();
+ return;
+ }
+ return this.stream.write(endBuffer, () => {
+ this.stream.end();
+ });
+ }
+ close(msg) {
+ this._send(serialize.close(msg));
+ }
+ describe(msg) {
+ this._send(serialize.describe(msg));
+ }
+ sendCopyFromChunk(chunk) {
+ this._send(serialize.copyData(chunk));
+ }
+ endCopyFrom() {
+ this._send(serialize.copyDone());
+ }
+ sendCopyFail(msg) {
+ this._send(serialize.copyFail(msg));
+ }
+ };
+ module.exports = Connection2;
+ }
+});
+
+// ../../node_modules/.pnpm/split2@4.2.0/node_modules/split2/index.js
+var require_split2 = __commonJS({
+ "../../node_modules/.pnpm/split2@4.2.0/node_modules/split2/index.js"(exports, module) {
+ "use strict";
+ var { Transform } = __require("stream");
+ var { StringDecoder } = __require("string_decoder");
+ var kLast = /* @__PURE__ */ Symbol("last");
+ var kDecoder = /* @__PURE__ */ Symbol("decoder");
+ function transform(chunk, enc, cb) {
+ let list;
+ if (this.overflow) {
+ const buf = this[kDecoder].write(chunk);
+ list = buf.split(this.matcher);
+ if (list.length === 1) return cb();
+ list.shift();
+ this.overflow = false;
+ } else {
+ this[kLast] += this[kDecoder].write(chunk);
+ list = this[kLast].split(this.matcher);
+ }
+ this[kLast] = list.pop();
+ for (let i = 0; i < list.length; i++) {
+ try {
+ push(this, this.mapper(list[i]));
+ } catch (error) {
+ return cb(error);
+ }
+ }
+ this.overflow = this[kLast].length > this.maxLength;
+ if (this.overflow && !this.skipOverflow) {
+ cb(new Error("maximum buffer reached"));
+ return;
+ }
+ cb();
+ }
+ __name(transform, "transform");
+ function flush(cb) {
+ this[kLast] += this[kDecoder].end();
+ if (this[kLast]) {
+ try {
+ push(this, this.mapper(this[kLast]));
+ } catch (error) {
+ return cb(error);
+ }
+ }
+ cb();
+ }
+ __name(flush, "flush");
+ function push(self, val) {
+ if (val !== void 0) {
+ self.push(val);
+ }
+ }
+ __name(push, "push");
+ function noop(incoming) {
+ return incoming;
+ }
+ __name(noop, "noop");
+ function split(matcher, mapper, options) {
+ matcher = matcher || /\r?\n/;
+ mapper = mapper || noop;
+ options = options || {};
+ switch (arguments.length) {
+ case 1:
+ if (typeof matcher === "function") {
+ mapper = matcher;
+ matcher = /\r?\n/;
+ } else if (typeof matcher === "object" && !(matcher instanceof RegExp) && !matcher[Symbol.split]) {
+ options = matcher;
+ matcher = /\r?\n/;
+ }
+ break;
+ case 2:
+ if (typeof matcher === "function") {
+ options = mapper;
+ mapper = matcher;
+ matcher = /\r?\n/;
+ } else if (typeof mapper === "object") {
+ options = mapper;
+ mapper = noop;
+ }
+ }
+ options = Object.assign({}, options);
+ options.autoDestroy = true;
+ options.transform = transform;
+ options.flush = flush;
+ options.readableObjectMode = true;
+ const stream = new Transform(options);
+ stream[kLast] = "";
+ stream[kDecoder] = new StringDecoder("utf8");
+ stream.matcher = matcher;
+ stream.mapper = mapper;
+ stream.maxLength = options.maxLength;
+ stream.skipOverflow = options.skipOverflow || false;
+ stream.overflow = false;
+ stream._destroy = function(err, cb) {
+ this._writableState.errorEmitted = false;
+ cb(err);
+ };
+ return stream;
+ }
+ __name(split, "split");
+ module.exports = split;
+ }
+});
+
+// ../../node_modules/.pnpm/pgpass@1.0.5/node_modules/pgpass/lib/helper.js
+var require_helper = __commonJS({
+ "../../node_modules/.pnpm/pgpass@1.0.5/node_modules/pgpass/lib/helper.js"(exports, module) {
+ "use strict";
+ var path = __require("path");
+ var Stream = __require("stream").Stream;
+ var split = require_split2();
+ var util = __require("util");
+ var defaultPort = 5432;
+ var isWin = process.platform === "win32";
+ var warnStream = process.stderr;
+ var S_IRWXG = 56;
+ var S_IRWXO = 7;
+ var S_IFMT = 61440;
+ var S_IFREG = 32768;
+ function isRegFile(mode) {
+ return (mode & S_IFMT) == S_IFREG;
+ }
+ __name(isRegFile, "isRegFile");
+ var fieldNames = ["host", "port", "database", "user", "password"];
+ var nrOfFields = fieldNames.length;
+ var passKey = fieldNames[nrOfFields - 1];
+ function warn() {
+ var isWritable = warnStream instanceof Stream && true === warnStream.writable;
+ if (isWritable) {
+ var args = Array.prototype.slice.call(arguments).concat("\n");
+ warnStream.write(util.format.apply(util, args));
+ }
+ }
+ __name(warn, "warn");
+ Object.defineProperty(module.exports, "isWin", {
+ get: /* @__PURE__ */ __name(function() {
+ return isWin;
+ }, "get"),
+ set: /* @__PURE__ */ __name(function(val) {
+ isWin = val;
+ }, "set")
+ });
+ module.exports.warnTo = function(stream) {
+ var old = warnStream;
+ warnStream = stream;
+ return old;
+ };
+ module.exports.getFileName = function(rawEnv) {
+ var env = rawEnv || process.env;
+ var file = env.PGPASSFILE || (isWin ? path.join(env.APPDATA || "./", "postgresql", "pgpass.conf") : path.join(env.HOME || "./", ".pgpass"));
+ return file;
+ };
+ module.exports.usePgPass = function(stats, fname) {
+ if (Object.prototype.hasOwnProperty.call(process.env, "PGPASSWORD")) {
+ return false;
+ }
+ if (isWin) {
+ return true;
+ }
+ fname = fname || "";
+ if (!isRegFile(stats.mode)) {
+ warn('WARNING: password file "%s" is not a plain file', fname);
+ return false;
+ }
+ if (stats.mode & (S_IRWXG | S_IRWXO)) {
+ warn('WARNING: password file "%s" has group or world access; permissions should be u=rw (0600) or less', fname);
+ return false;
+ }
+ return true;
+ };
+ var matcher = module.exports.match = function(connInfo, entry) {
+ return fieldNames.slice(0, -1).reduce(function(prev, field, idx) {
+ if (idx == 1) {
+ if (Number(connInfo[field] || defaultPort) === Number(entry[field])) {
+ return prev && true;
+ }
+ }
+ return prev && (entry[field] === "*" || entry[field] === connInfo[field]);
+ }, true);
+ };
+ module.exports.getPassword = function(connInfo, stream, cb) {
+ var pass;
+ var lineStream = stream.pipe(split());
+ function onLine(line) {
+ var entry = parseLine(line);
+ if (entry && isValidEntry(entry) && matcher(connInfo, entry)) {
+ pass = entry[passKey];
+ lineStream.end();
+ }
+ }
+ __name(onLine, "onLine");
+ var onEnd = /* @__PURE__ */ __name(function() {
+ stream.destroy();
+ cb(pass);
+ }, "onEnd");
+ var onErr = /* @__PURE__ */ __name(function(err) {
+ stream.destroy();
+ warn("WARNING: error on reading file: %s", err);
+ cb(void 0);
+ }, "onErr");
+ stream.on("error", onErr);
+ lineStream.on("data", onLine).on("end", onEnd).on("error", onErr);
+ };
+ var parseLine = module.exports.parseLine = function(line) {
+ if (line.length < 11 || line.match(/^\s+#/)) {
+ return null;
+ }
+ var curChar = "";
+ var prevChar = "";
+ var fieldIdx = 0;
+ var startIdx = 0;
+ var endIdx = 0;
+ var obj = {};
+ var isLastField = false;
+ var addToObj = /* @__PURE__ */ __name(function(idx, i0, i1) {
+ var field = line.substring(i0, i1);
+ if (!Object.hasOwnProperty.call(process.env, "PGPASS_NO_DEESCAPE")) {
+ field = field.replace(/\\([:\\])/g, "$1");
+ }
+ obj[fieldNames[idx]] = field;
+ }, "addToObj");
+ for (var i = 0; i < line.length - 1; i += 1) {
+ curChar = line.charAt(i + 1);
+ prevChar = line.charAt(i);
+ isLastField = fieldIdx == nrOfFields - 1;
+ if (isLastField) {
+ addToObj(fieldIdx, startIdx);
+ break;
+ }
+ if (i >= 0 && curChar == ":" && prevChar !== "\\") {
+ addToObj(fieldIdx, startIdx, i + 1);
+ startIdx = i + 2;
+ fieldIdx += 1;
+ }
+ }
+ obj = Object.keys(obj).length === nrOfFields ? obj : null;
+ return obj;
+ };
+ var isValidEntry = module.exports.isValidEntry = function(entry) {
+ var rules = {
+ // host
+ 0: function(x) {
+ return x.length > 0;
+ },
+ // port
+ 1: function(x) {
+ if (x === "*") {
+ return true;
+ }
+ x = Number(x);
+ return isFinite(x) && x > 0 && x < 9007199254740992 && Math.floor(x) === x;
+ },
+ // database
+ 2: function(x) {
+ return x.length > 0;
+ },
+ // username
+ 3: function(x) {
+ return x.length > 0;
+ },
+ // password
+ 4: function(x) {
+ return x.length > 0;
+ }
+ };
+ for (var idx = 0; idx < fieldNames.length; idx += 1) {
+ var rule = rules[idx];
+ var value = entry[fieldNames[idx]] || "";
+ var res = rule(value);
+ if (!res) {
+ return false;
+ }
+ }
+ return true;
+ };
+ }
+});
+
+// ../../node_modules/.pnpm/pgpass@1.0.5/node_modules/pgpass/lib/index.js
+var require_lib = __commonJS({
+ "../../node_modules/.pnpm/pgpass@1.0.5/node_modules/pgpass/lib/index.js"(exports, module) {
+ "use strict";
+ var path = __require("path");
+ var fs = __require("fs");
+ var helper = require_helper();
+ module.exports = function(connInfo, cb) {
+ var file = helper.getFileName();
+ fs.stat(file, function(err, stat) {
+ if (err || !helper.usePgPass(stat, file)) {
+ return cb(void 0);
+ }
+ var st = fs.createReadStream(file);
+ helper.getPassword(connInfo, st, cb);
+ });
+ };
+ module.exports.warnTo = helper.warnTo;
+ }
+});
+
+// ../../node_modules/.pnpm/pg@8.23.1/node_modules/pg/lib/client.js
+var require_client = __commonJS({
+ "../../node_modules/.pnpm/pg@8.23.1/node_modules/pg/lib/client.js"(exports, module) {
+ var EventEmitter = __require("events").EventEmitter;
+ var utils = require_utils();
+ var nodeUtils = __require("util");
+ var sasl = require_sasl();
+ var TypeOverrides2 = require_type_overrides();
+ var ConnectionParameters = require_connection_parameters();
+ var Query2 = require_query();
+ var defaults2 = require_defaults();
+ var Connection2 = require_connection();
+ var crypto = require_utils2();
+ var activeQueryDeprecationNotice = nodeUtils.deprecate(
+ () => {
+ },
+ "Client.activeQuery is deprecated and will be removed in pg@9.0"
+ );
+ var queryQueueDeprecationNotice = nodeUtils.deprecate(
+ () => {
+ },
+ "Client.queryQueue is deprecated and will be removed in pg@9.0."
+ );
+ var pgPassDeprecationNotice = nodeUtils.deprecate(
+ () => {
+ },
+ "pgpass support is deprecated and will be removed in pg@9.0. You can provide an async function as the password property to the Client/Pool constructor that returns a password instead. Within this function you can call the pgpass module in your own code."
+ );
+ var byoPromiseDeprecationNotice = nodeUtils.deprecate(
+ () => {
+ },
+ "Passing a custom Promise implementation to the Client/Pool constructor is deprecated and will be removed in pg@9.0."
+ );
+ var queryQueueLengthDeprecationNotice = nodeUtils.deprecate(
+ () => {
+ },
+ "Calling client.query() when the client is already executing a query is deprecated and will be removed in pg@9.0. Use async/await or an external async flow control mechanism instead."
+ );
+ function coerceNumberOrDefault(value, defaultValue) {
+ if (typeof value === "number") {
+ return Number.isFinite(value) ? value : defaultValue;
+ }
+ if (typeof value === "string" && value.trim() !== "") {
+ const n = Number(value);
+ return Number.isFinite(n) ? n : defaultValue;
+ }
+ return defaultValue;
+ }
+ __name(coerceNumberOrDefault, "coerceNumberOrDefault");
+ var Client2 = class extends EventEmitter {
+ static {
+ __name(this, "Client");
+ }
+ constructor(config) {
+ super();
+ this.connectionParameters = new ConnectionParameters(config);
+ this.user = this.connectionParameters.user;
+ this.database = this.connectionParameters.database;
+ this.port = this.connectionParameters.port;
+ this.host = this.connectionParameters.host;
+ Object.defineProperty(this, "password", {
+ configurable: true,
+ enumerable: false,
+ writable: true,
+ value: this.connectionParameters.password
+ });
+ this.replication = this.connectionParameters.replication;
+ const c = config || {};
+ if (c.Promise) {
+ byoPromiseDeprecationNotice();
+ }
+ this._Promise = c.Promise || global.Promise;
+ this._types = new TypeOverrides2(c.types);
+ this._ending = false;
+ this._ended = false;
+ this._connecting = false;
+ this._connected = false;
+ this._connectionError = false;
+ this._queryable = true;
+ this._activeQuery = null;
+ this._txStatus = null;
+ this.enableChannelBinding = Boolean(c.enableChannelBinding);
+ this.scramMaxIterations = coerceNumberOrDefault(c.scramMaxIterations, sasl.DEFAULT_MAX_SCRAM_ITERATIONS);
+ this.connection = c.connection || new Connection2({
+ stream: c.stream,
+ ssl: this.connectionParameters.ssl,
+ sslNegotiation: this.connectionParameters.sslnegotiation,
+ keepAlive: c.keepAlive || false,
+ keepAliveInitialDelayMillis: c.keepAliveInitialDelayMillis || 0,
+ encoding: this.connectionParameters.client_encoding || "utf8"
+ });
+ this._queryQueue = [];
+ this._sentQueryQueue = [];
+ this.pipeline = Boolean(c.pipeline);
+ this.binary = c.binary || defaults2.binary;
+ this.processID = null;
+ this.secretKey = null;
+ this.ssl = this.connectionParameters.ssl || false;
+ this.sslNegotiation = this.connectionParameters.sslnegotiation || "postgres";
+ if (this.ssl && this.ssl.key) {
+ Object.defineProperty(this.ssl, "key", {
+ enumerable: false
+ });
+ }
+ this._connectionTimeoutMillis = c.connectionTimeoutMillis || 0;
+ }
+ get activeQuery() {
+ activeQueryDeprecationNotice();
+ return this._activeQuery;
+ }
+ set activeQuery(val) {
+ activeQueryDeprecationNotice();
+ this._activeQuery = val;
+ }
+ _getActiveQuery() {
+ return this._activeQuery;
+ }
+ _errorAllQueries(err) {
+ const enqueueError = /* @__PURE__ */ __name((query) => {
+ process.nextTick(() => {
+ query.handleError(err, this.connection);
+ });
+ }, "enqueueError");
+ const activeQuery = this._getActiveQuery();
+ if (activeQuery) {
+ enqueueError(activeQuery);
+ this._activeQuery = null;
+ }
+ this._sentQueryQueue.forEach(enqueueError);
+ this._sentQueryQueue.length = 0;
+ this._queryQueue.forEach(enqueueError);
+ this._queryQueue.length = 0;
+ }
+ _connect(callback) {
+ const self = this;
+ const con = this.connection;
+ this._connectionCallback = callback;
+ if (this._connecting || this._connected) {
+ const err = new Error("Client has already been connected. You cannot reuse a client.");
+ process.nextTick(() => {
+ callback(err);
+ });
+ return;
+ }
+ this._connecting = true;
+ if (this._connectionTimeoutMillis > 0) {
+ this.connectionTimeoutHandle = setTimeout(() => {
+ con._ending = true;
+ con.stream.destroy(new Error("timeout expired"));
+ }, this._connectionTimeoutMillis);
+ if (this.connectionTimeoutHandle.unref) {
+ this.connectionTimeoutHandle.unref();
+ }
+ }
+ if (this.host && this.host.indexOf("/") === 0) {
+ con.connect(this.host + "/.s.PGSQL." + this.port);
+ } else {
+ con.connect(this.port, this.host);
+ }
+ con.on("connect", function() {
+ if (self.ssl) {
+ if (self.sslNegotiation !== "direct") {
+ con.requestSsl();
+ }
+ } else {
+ con.startup(self.getStartupConf());
+ }
+ });
+ con.on("sslconnect", function() {
+ con.startup(self.getStartupConf());
+ });
+ this._attachListeners(con);
+ con.once("end", () => {
+ const error = this._ending ? new Error("Connection terminated") : new Error("Connection terminated unexpectedly");
+ clearTimeout(this.connectionTimeoutHandle);
+ this._errorAllQueries(error);
+ this._ended = true;
+ if (!this._ending) {
+ if (this._connecting && !this._connectionError) {
+ if (this._connectionCallback) {
+ this._connectionCallback(error);
+ } else {
+ this._handleErrorEvent(error);
+ }
+ } else if (!this._connectionError) {
+ this._handleErrorEvent(error);
+ }
+ }
+ process.nextTick(() => {
+ this.emit("end");
+ });
+ });
+ }
+ connect(callback) {
+ if (callback) {
+ this._connect(callback);
+ return;
+ }
+ return new this._Promise((resolve, reject) => {
+ this._connect((error) => {
+ if (error) {
+ reject(error);
+ } else {
+ resolve(this);
+ }
+ });
+ });
+ }
+ _attachListeners(con) {
+ con.on("authenticationCleartextPassword", this._handleAuthCleartextPassword.bind(this));
+ con.on("authenticationMD5Password", this._handleAuthMD5Password.bind(this));
+ con.on("authenticationSASL", this._handleAuthSASL.bind(this));
+ con.on("authenticationSASLContinue", this._handleAuthSASLContinue.bind(this));
+ con.on("authenticationSASLFinal", this._handleAuthSASLFinal.bind(this));
+ con.on("backendKeyData", this._handleBackendKeyData.bind(this));
+ con.on("error", this._handleErrorEvent.bind(this));
+ con.on("errorMessage", this._handleErrorMessage.bind(this));
+ con.on("readyForQuery", this._handleReadyForQuery.bind(this));
+ con.on("notice", this._handleNotice.bind(this));
+ con.on("rowDescription", this._handleRowDescription.bind(this));
+ con.on("dataRow", this._handleDataRow.bind(this));
+ con.on("portalSuspended", this._handlePortalSuspended.bind(this));
+ con.on("emptyQuery", this._handleEmptyQuery.bind(this));
+ con.on("commandComplete", this._handleCommandComplete.bind(this));
+ con.on("parseComplete", this._handleParseComplete.bind(this));
+ con.on("copyInResponse", this._handleCopyInResponse.bind(this));
+ con.on("copyData", this._handleCopyData.bind(this));
+ con.on("notification", this._handleNotification.bind(this));
+ }
+ _getPassword(cb) {
+ const con = this.connection;
+ if (typeof this.password === "function") {
+ this._Promise.resolve().then(() => this.password(this.connectionParameters)).then((pass) => {
+ if (pass !== void 0) {
+ if (typeof pass !== "string") {
+ con.emit("error", new TypeError("Password must be a string"));
+ return;
+ }
+ this.connectionParameters.password = this.password = pass;
+ } else {
+ this.connectionParameters.password = this.password = null;
+ }
+ cb();
+ }).catch((err) => {
+ con.emit("error", err);
+ });
+ } else if (this.password !== null) {
+ cb();
+ } else {
+ try {
+ const pgPass = require_lib();
+ pgPass(this.connectionParameters, (pass) => {
+ if (void 0 !== pass) {
+ pgPassDeprecationNotice();
+ this.connectionParameters.password = this.password = pass;
+ }
+ cb();
+ });
+ } catch (e) {
+ this.emit("error", e);
+ }
+ }
+ }
+ _handleAuthCleartextPassword(msg) {
+ this._getPassword(() => {
+ this.connection.password(this.password);
+ });
+ }
+ _handleAuthMD5Password(msg) {
+ this._getPassword(async () => {
+ try {
+ const hashedPassword = await crypto.postgresMd5PasswordHash(this.user, this.password, msg.salt);
+ this.connection.password(hashedPassword);
+ } catch (e) {
+ this.emit("error", e);
+ }
+ });
+ }
+ _handleAuthSASL(msg) {
+ this._getPassword(() => {
+ try {
+ this.saslSession = sasl.startSession(
+ msg.mechanisms,
+ this.enableChannelBinding && this.connection.stream,
+ this.scramMaxIterations
+ );
+ this.connection.sendSASLInitialResponseMessage(this.saslSession.mechanism, this.saslSession.response);
+ } catch (err) {
+ this.connection.emit("error", err);
+ }
+ });
+ }
+ async _handleAuthSASLContinue(msg) {
+ try {
+ await sasl.continueSession(
+ this.saslSession,
+ this.password,
+ msg.data,
+ this.enableChannelBinding && this.connection.stream
+ );
+ this.connection.sendSCRAMClientFinalMessage(this.saslSession.response);
+ } catch (err) {
+ this.connection.emit("error", err);
+ }
+ }
+ _handleAuthSASLFinal(msg) {
+ try {
+ sasl.finalizeSession(this.saslSession, msg.data);
+ this.saslSession = null;
+ } catch (err) {
+ this.connection.emit("error", err);
+ }
+ }
+ _handleBackendKeyData(msg) {
+ this.processID = msg.processID;
+ this.secretKey = msg.secretKey;
+ }
+ _handleReadyForQuery(msg) {
+ if (this._connecting) {
+ this._connecting = false;
+ this._connected = true;
+ clearTimeout(this.connectionTimeoutHandle);
+ if (this._connectionCallback) {
+ this._connectionCallback(null, this);
+ this._connectionCallback = null;
+ }
+ this.emit("connect");
+ }
+ const activeQuery = this._getActiveQuery();
+ this._activeQuery = null;
+ this._txStatus = msg?.status ?? null;
+ this.readyForQuery = true;
+ if (activeQuery) {
+ activeQuery.handleReadyForQuery(this.connection);
+ }
+ this._pulseQueryQueue();
+ }
+ // if we receive an error event or error message
+ // during the connection process we handle it here
+ _handleErrorWhileConnecting(err) {
+ if (this._connectionError) {
+ return;
+ }
+ this._connectionError = true;
+ clearTimeout(this.connectionTimeoutHandle);
+ if (this._connectionCallback) {
+ return this._connectionCallback(err);
+ }
+ this.emit("error", err);
+ }
+ // if we're connected and we receive an error event from the connection
+ // this means the socket is dead - do a hard abort of all queries and emit
+ // the socket error on the client as well
+ _handleErrorEvent(err) {
+ if (this._connecting) {
+ return this._handleErrorWhileConnecting(err);
+ }
+ this._queryable = false;
+ this._errorAllQueries(err);
+ this.emit("error", err);
+ }
+ // handle error messages from the postgres backend
+ _handleErrorMessage(msg) {
+ if (this._connecting) {
+ return this._handleErrorWhileConnecting(msg);
+ }
+ const activeQuery = this._getActiveQuery();
+ if (!activeQuery) {
+ this._handleErrorEvent(msg);
+ return;
+ }
+ this._activeQuery = null;
+ if (activeQuery.name) {
+ delete this.connection.submittedNamedStatements[activeQuery.name];
+ }
+ activeQuery.handleError(msg, this.connection);
+ }
+ _handleRowDescription(msg) {
+ const activeQuery = this._getActiveQuery();
+ if (activeQuery == null) {
+ const error = new Error("Received unexpected rowDescription message from backend.");
+ this._handleErrorEvent(error);
+ return;
+ }
+ activeQuery.handleRowDescription(msg);
+ }
+ _handleDataRow(msg) {
+ const activeQuery = this._getActiveQuery();
+ if (activeQuery == null) {
+ const error = new Error("Received unexpected dataRow message from backend.");
+ this._handleErrorEvent(error);
+ return;
+ }
+ activeQuery.handleDataRow(msg);
+ }
+ _handlePortalSuspended(msg) {
+ const activeQuery = this._getActiveQuery();
+ if (activeQuery == null) {
+ const error = new Error("Received unexpected portalSuspended message from backend.");
+ this._handleErrorEvent(error);
+ return;
+ }
+ activeQuery.handlePortalSuspended(this.connection);
+ }
+ _handleEmptyQuery(msg) {
+ const activeQuery = this._getActiveQuery();
+ if (activeQuery == null) {
+ const error = new Error("Received unexpected emptyQuery message from backend.");
+ this._handleErrorEvent(error);
+ return;
+ }
+ activeQuery.handleEmptyQuery(this.connection);
+ }
+ _handleCommandComplete(msg) {
+ const activeQuery = this._getActiveQuery();
+ if (activeQuery == null) {
+ const error = new Error("Received unexpected commandComplete message from backend.");
+ this._handleErrorEvent(error);
+ return;
+ }
+ activeQuery.handleCommandComplete(msg, this.connection);
+ }
+ _handleParseComplete() {
+ const activeQuery = this._getActiveQuery();
+ if (activeQuery == null) {
+ const error = new Error("Received unexpected parseComplete message from backend.");
+ this._handleErrorEvent(error);
+ return;
+ }
+ if (activeQuery.name) {
+ this.connection.parsedStatements[activeQuery.name] = activeQuery.text;
+ delete this.connection.submittedNamedStatements[activeQuery.name];
+ }
+ }
+ _handleCopyInResponse(msg) {
+ const activeQuery = this._getActiveQuery();
+ if (activeQuery == null) {
+ const error = new Error("Received unexpected copyInResponse message from backend.");
+ this._handleErrorEvent(error);
+ return;
+ }
+ activeQuery.handleCopyInResponse(this.connection);
+ }
+ _handleCopyData(msg) {
+ const activeQuery = this._getActiveQuery();
+ if (activeQuery == null) {
+ const error = new Error("Received unexpected copyData message from backend.");
+ this._handleErrorEvent(error);
+ return;
+ }
+ activeQuery.handleCopyData(msg, this.connection);
+ }
+ _handleNotification(msg) {
+ this.emit("notification", msg);
+ }
+ _handleNotice(msg) {
+ this.emit("notice", msg);
+ }
+ getStartupConf() {
+ const params = this.connectionParameters;
+ const data = {
+ user: params.user,
+ database: params.database
+ };
+ const appName = params.application_name || params.fallback_application_name;
+ if (appName) {
+ data.application_name = appName;
+ }
+ if (params.replication) {
+ data.replication = "" + params.replication;
+ }
+ if (params.statement_timeout) {
+ data.statement_timeout = String(parseInt(params.statement_timeout, 10));
+ }
+ if (params.lock_timeout) {
+ data.lock_timeout = String(parseInt(params.lock_timeout, 10));
+ }
+ if (params.idle_in_transaction_session_timeout) {
+ data.idle_in_transaction_session_timeout = String(parseInt(params.idle_in_transaction_session_timeout, 10));
+ }
+ if (params.options) {
+ data.options = params.options;
+ }
+ return data;
+ }
+ cancel(client, query) {
+ if (client.activeQuery === query) {
+ const con = this.connection;
+ if (this.host && this.host.indexOf("/") === 0) {
+ con.connect(this.host + "/.s.PGSQL." + this.port);
+ } else {
+ con.connect(this.port, this.host);
+ }
+ con.on("connect", function() {
+ con.cancel(client.processID, client.secretKey);
+ });
+ } else if (client._queryQueue.indexOf(query) !== -1) {
+ client._queryQueue.splice(client._queryQueue.indexOf(query), 1);
+ } else if (client._sentQueryQueue.indexOf(query) !== -1) {
+ query.callback = () => {
+ };
+ }
+ }
+ setTypeParser(oid, format, parseFn) {
+ return this._types.setTypeParser(oid, format, parseFn);
+ }
+ getTypeParser(oid, format) {
+ return this._types.getTypeParser(oid, format);
+ }
+ // escapeIdentifier and escapeLiteral moved to utility functions & exported
+ // on PG
+ // re-exported here for backwards compatibility
+ escapeIdentifier(str) {
+ return utils.escapeIdentifier(str);
+ }
+ escapeLiteral(str) {
+ return utils.escapeLiteral(str);
+ }
+ _pulseQueryQueue() {
+ if (this.pipeline) {
+ this._pulsePipelinedQueryQueue();
+ return;
+ }
+ if (this.readyForQuery === true) {
+ this._activeQuery = this._queryQueue.shift();
+ const activeQuery = this._getActiveQuery();
+ if (activeQuery) {
+ this.readyForQuery = false;
+ this.hasExecuted = true;
+ const queryError = activeQuery.submit(this.connection);
+ if (queryError) {
+ process.nextTick(() => {
+ activeQuery.handleError(queryError, this.connection);
+ this.readyForQuery = true;
+ this._pulseQueryQueue();
+ });
+ }
+ } else if (this.hasExecuted) {
+ this._activeQuery = null;
+ this.emit("drain");
+ }
+ }
+ }
+ _pulsePipelinedQueryQueue() {
+ if (!this._connected || !this._queryable) {
+ return;
+ }
+ while (this._queryQueue.length > 0) {
+ const query = this._queryQueue.shift();
+ this.hasExecuted = true;
+ const queryError = query.submit(this.connection);
+ if (queryError) {
+ process.nextTick(() => {
+ query.handleError(queryError, this.connection);
+ });
+ continue;
+ }
+ this._sentQueryQueue.push(query);
+ }
+ if (this.readyForQuery && !this._activeQuery && this._sentQueryQueue.length > 0) {
+ this._activeQuery = this._sentQueryQueue.shift();
+ this.readyForQuery = false;
+ }
+ if (!this._activeQuery && this._sentQueryQueue.length === 0 && this._queryQueue.length === 0 && this.hasExecuted) {
+ this.emit("drain");
+ }
+ }
+ query(config, values, callback) {
+ let query;
+ let result;
+ if (config == null) {
+ throw new TypeError("Client was passed a null or undefined query");
+ }
+ if (typeof config.submit === "function") {
+ result = query = config;
+ if (!query.callback) {
+ if (typeof values === "function") {
+ query.callback = values;
+ } else if (callback) {
+ query.callback = callback;
+ }
+ }
+ } else {
+ query = new Query2(config, values, callback);
+ if (!query.callback) {
+ result = new this._Promise((resolve, reject) => {
+ query.callback = (err, res) => err ? reject(err) : resolve(res);
+ }).catch((err) => {
+ Error.captureStackTrace(err);
+ throw err;
+ });
+ } else if (typeof query.callback !== "function") {
+ throw new TypeError("callback is not a function");
+ }
+ }
+ const readTimeout = config.query_timeout || this.connectionParameters.query_timeout;
+ if (readTimeout) {
+ const queryCallback = query.callback || (() => {
+ });
+ const readTimeoutTimer = setTimeout(() => {
+ const error = new Error("Query read timeout");
+ process.nextTick(() => {
+ query.handleError(error, this.connection);
+ });
+ queryCallback(error);
+ query.callback = () => {
+ };
+ const index = this._queryQueue.indexOf(query);
+ if (index > -1) {
+ this._queryQueue.splice(index, 1);
+ } else if (this.pipeline) {
+ this.connection.stream.destroy();
+ return;
+ }
+ this._pulseQueryQueue();
+ }, readTimeout);
+ query.callback = (err, res) => {
+ clearTimeout(readTimeoutTimer);
+ queryCallback(err, res);
+ };
+ }
+ if (this.binary && !query.binary) {
+ query.binary = true;
+ }
+ if (query._result && !query._result._types) {
+ query._result._types = this._types;
+ }
+ if (this.pipeline) {
+ const portalQuery = typeof config.submit === "function" && !(query instanceof Query2) ? "Custom query classes such as pg-cursor and pg-query-stream are" : query.rows ? "The `rows` option is" : null;
+ if (portalQuery) {
+ process.nextTick(() => {
+ query.handleError(new Error(`${portalQuery} not supported in pipeline mode`), this.connection);
+ });
+ return result;
+ }
+ }
+ if (!this._queryable) {
+ process.nextTick(() => {
+ query.handleError(new Error("Client has encountered a connection error and is not queryable"), this.connection);
+ });
+ return result;
+ }
+ if (this._ending) {
+ process.nextTick(() => {
+ query.handleError(new Error("Client was closed and is not queryable"), this.connection);
+ });
+ return result;
+ }
+ if (this._queryQueue.length > 0 && !this.pipeline) {
+ queryQueueLengthDeprecationNotice();
+ }
+ this._queryQueue.push(query);
+ this._pulseQueryQueue();
+ return result;
+ }
+ ref() {
+ this.connection.ref();
+ }
+ unref() {
+ this.connection.unref();
+ }
+ getTransactionStatus() {
+ return this._txStatus;
+ }
+ end(cb) {
+ this._ending = true;
+ if (!this.connection._connecting || this._ended) {
+ if (cb) {
+ cb();
+ return;
+ } else {
+ return this._Promise.resolve();
+ }
+ }
+ if (!this._queryable) {
+ this.connection.stream.destroy();
+ } else if (this.pipeline && (this._getActiveQuery() || this._sentQueryQueue.length > 0 || this._queryQueue.length > 0)) {
+ this.once("drain", () => this.connection.end());
+ } else if (this._getActiveQuery()) {
+ this.connection.stream.destroy();
+ } else {
+ this.connection.end();
+ }
+ if (cb) {
+ this.connection.once("end", cb);
+ } else {
+ return new this._Promise((resolve) => {
+ this.connection.once("end", resolve);
+ });
+ }
+ }
+ get queryQueue() {
+ queryQueueDeprecationNotice();
+ return this._queryQueue;
+ }
+ };
+ Client2.Query = Query2;
+ module.exports = Client2;
+ }
+});
+
+// ../../node_modules/.pnpm/pg-pool@3.14.0_pg@8.23.1/node_modules/pg-pool/index.js
+var require_pg_pool = __commonJS({
+ "../../node_modules/.pnpm/pg-pool@3.14.0_pg@8.23.1/node_modules/pg-pool/index.js"(exports, module) {
+ "use strict";
+ var EventEmitter = __require("events").EventEmitter;
+ var NOOP = /* @__PURE__ */ __name(function() {
+ }, "NOOP");
+ var removeWhere = /* @__PURE__ */ __name((list, predicate) => {
+ const i = list.findIndex(predicate);
+ return i === -1 ? void 0 : list.splice(i, 1)[0];
+ }, "removeWhere");
+ var IdleItem = class {
+ static {
+ __name(this, "IdleItem");
+ }
+ constructor(client, idleListener, timeoutId) {
+ this.client = client;
+ this.idleListener = idleListener;
+ this.timeoutId = timeoutId;
+ }
+ };
+ var PendingItem = class {
+ static {
+ __name(this, "PendingItem");
+ }
+ constructor(callback) {
+ this.callback = callback;
+ }
+ };
+ function throwOnDoubleRelease() {
+ throw new Error("Release called on client which has already been released to the pool.");
+ }
+ __name(throwOnDoubleRelease, "throwOnDoubleRelease");
+ function promisify(Promise2, callback) {
+ if (callback) {
+ return { callback, result: void 0 };
+ }
+ let rej;
+ let res;
+ const cb = /* @__PURE__ */ __name(function(err, client) {
+ err ? rej(err) : res(client);
+ }, "cb");
+ const result = new Promise2(function(resolve, reject) {
+ res = resolve;
+ rej = reject;
+ }).catch((err) => {
+ Error.captureStackTrace(err);
+ throw err;
+ });
+ return { callback: cb, result };
+ }
+ __name(promisify, "promisify");
+ function makeIdleListener(pool, client) {
+ return /* @__PURE__ */ __name(function idleListener(err) {
+ err.client = client;
+ client.removeListener("error", idleListener);
+ client.on("error", () => {
+ pool.log("additional client error after disconnection due to error", err);
+ });
+ pool._remove(client);
+ pool.emit("error", err, client);
+ }, "idleListener");
+ }
+ __name(makeIdleListener, "makeIdleListener");
+ var Pool2 = class extends EventEmitter {
+ static {
+ __name(this, "Pool");
+ }
+ constructor(options, Client2) {
+ super();
+ this.options = Object.assign({}, options);
+ if (options != null && "password" in options) {
+ Object.defineProperty(this.options, "password", {
+ configurable: true,
+ enumerable: false,
+ writable: true,
+ value: options.password
+ });
+ }
+ if (options != null && options.ssl && options.ssl.key) {
+ Object.defineProperty(this.options.ssl, "key", {
+ enumerable: false
+ });
+ }
+ this.options.max = this.options.max || this.options.poolSize || 10;
+ this.options.min = this.options.min || 0;
+ this.options.maxUses = this.options.maxUses || Infinity;
+ this.options.allowExitOnIdle = this.options.allowExitOnIdle || false;
+ this.options.maxLifetimeSeconds = this.options.maxLifetimeSeconds || 0;
+ this.log = this.options.log || function() {
+ };
+ this.Client = this.options.Client || Client2 || require_lib2().Client;
+ this.Promise = this.options.Promise || global.Promise;
+ if (typeof this.options.idleTimeoutMillis === "undefined") {
+ this.options.idleTimeoutMillis = 1e4;
+ }
+ this._clients = [];
+ this._idle = [];
+ this._expired = /* @__PURE__ */ new WeakSet();
+ this._pendingQueue = [];
+ this._endCallback = void 0;
+ this.ending = false;
+ this.ended = false;
+ }
+ _promiseTry(f) {
+ const Promise2 = this.Promise;
+ if (typeof Promise2.try === "function") {
+ return Promise2.try(f);
+ }
+ return new Promise2((resolve) => resolve(f()));
+ }
+ _isFull() {
+ return this._clients.length >= this.options.max;
+ }
+ _isAboveMin() {
+ return this._clients.length > this.options.min;
+ }
+ _pulseQueue() {
+ this.log("pulse queue");
+ if (this.ended) {
+ this.log("pulse queue ended");
+ return;
+ }
+ if (this.ending) {
+ this.log("pulse queue on ending");
+ if (this._idle.length) {
+ this._idle.slice().map((item) => {
+ this._remove(item.client);
+ });
+ }
+ if (!this._clients.length) {
+ this.ended = true;
+ this._endCallback();
+ }
+ return;
+ }
+ if (!this._pendingQueue.length) {
+ this.log("no queued requests");
+ return;
+ }
+ if (!this._idle.length && this._isFull()) {
+ return;
+ }
+ const pendingItem = this._pendingQueue.shift();
+ if (this._idle.length) {
+ const idleItem = this._idle.pop();
+ clearTimeout(idleItem.timeoutId);
+ const client = idleItem.client;
+ client.ref && client.ref();
+ const idleListener = idleItem.idleListener;
+ return this._acquireClient(client, pendingItem, idleListener, false);
+ }
+ if (!this._isFull()) {
+ return this.newClient(pendingItem);
+ }
+ throw new Error("unexpected condition");
+ }
+ _remove(client, callback) {
+ const removed = removeWhere(this._idle, (item) => item.client === client);
+ if (removed !== void 0) {
+ clearTimeout(removed.timeoutId);
+ }
+ this._clients = this._clients.filter((c) => c !== client);
+ const context = this;
+ client.end(() => {
+ context.emit("remove", client);
+ if (typeof callback === "function") {
+ callback();
+ }
+ });
+ }
+ connect(cb) {
+ if (this.ending) {
+ const err = new Error("Cannot use a pool after calling end on the pool");
+ return cb ? cb(err) : this.Promise.reject(err);
+ }
+ const response = promisify(this.Promise, cb);
+ const result = response.result;
+ if (this._isFull() || this._idle.length) {
+ if (this._idle.length) {
+ process.nextTick(() => this._pulseQueue());
+ }
+ if (!this.options.connectionTimeoutMillis) {
+ this._pendingQueue.push(new PendingItem(response.callback));
+ return result;
+ }
+ const queueCallback = /* @__PURE__ */ __name((err, res, done) => {
+ clearTimeout(tid);
+ response.callback(err, res, done);
+ }, "queueCallback");
+ const pendingItem = new PendingItem(queueCallback);
+ const tid = setTimeout(() => {
+ removeWhere(this._pendingQueue, (i) => i.callback === queueCallback);
+ pendingItem.timedOut = true;
+ response.callback(new Error("timeout exceeded when trying to connect"));
+ }, this.options.connectionTimeoutMillis);
+ if (tid.unref) {
+ tid.unref();
+ }
+ this._pendingQueue.push(pendingItem);
+ return result;
+ }
+ this.newClient(new PendingItem(response.callback));
+ return result;
+ }
+ newClient(pendingItem) {
+ const client = new this.Client(this.options);
+ this._clients.push(client);
+ const idleListener = makeIdleListener(this, client);
+ this.log("checking client timeout");
+ let tid;
+ let timeoutHit = false;
+ if (this.options.connectionTimeoutMillis) {
+ tid = setTimeout(() => {
+ if (client.connection) {
+ this.log("ending client due to timeout");
+ timeoutHit = true;
+ client.connection.stream.destroy();
+ } else if (!client.isConnected()) {
+ this.log("ending client due to timeout");
+ timeoutHit = true;
+ client.end();
+ }
+ }, this.options.connectionTimeoutMillis);
+ }
+ this.log("connecting new client");
+ client.connect((err) => {
+ if (tid) {
+ clearTimeout(tid);
+ }
+ client.on("error", idleListener);
+ if (err) {
+ this.log("client failed to connect", err);
+ this._clients = this._clients.filter((c) => c !== client);
+ if (timeoutHit) {
+ err = new Error("Connection terminated due to connection timeout", { cause: err });
+ }
+ this._pulseQueue();
+ if (!pendingItem.timedOut) {
+ pendingItem.callback(err, void 0, NOOP);
+ }
+ } else {
+ this.log("new client connected");
+ if (this.options.onConnect) {
+ this._promiseTry(() => this.options.onConnect(client)).then(
+ () => {
+ this._afterConnect(client, pendingItem, idleListener);
+ },
+ (hookErr) => {
+ this._clients = this._clients.filter((c) => c !== client);
+ client.end(() => {
+ this._pulseQueue();
+ if (!pendingItem.timedOut) {
+ pendingItem.callback(hookErr, void 0, NOOP);
+ }
+ });
+ }
+ );
+ return;
+ }
+ return this._afterConnect(client, pendingItem, idleListener);
+ }
+ });
+ }
+ _afterConnect(client, pendingItem, idleListener) {
+ if (this.options.maxLifetimeSeconds !== 0) {
+ const maxLifetimeTimeout = setTimeout(() => {
+ this.log("ending client due to expired lifetime");
+ this._expired.add(client);
+ const idleIndex = this._idle.findIndex((idleItem) => idleItem.client === client);
+ if (idleIndex !== -1) {
+ this._acquireClient(
+ client,
+ new PendingItem((err, client2, clientRelease) => clientRelease()),
+ idleListener,
+ false
+ );
+ }
+ }, this.options.maxLifetimeSeconds * 1e3);
+ maxLifetimeTimeout.unref();
+ client.once("end", () => clearTimeout(maxLifetimeTimeout));
+ }
+ return this._acquireClient(client, pendingItem, idleListener, true);
+ }
+ // acquire a client for a pending work item
+ _acquireClient(client, pendingItem, idleListener, isNew) {
+ if (isNew) {
+ this.emit("connect", client);
+ }
+ this.emit("acquire", client);
+ client.release = this._releaseOnce(client, idleListener);
+ client.removeListener("error", idleListener);
+ if (!pendingItem.timedOut) {
+ if (isNew && this.options.verify) {
+ this.options.verify(client, (err) => {
+ if (err) {
+ client.release(err);
+ return pendingItem.callback(err, void 0, NOOP);
+ }
+ pendingItem.callback(void 0, client, client.release);
+ });
+ } else {
+ pendingItem.callback(void 0, client, client.release);
+ }
+ } else {
+ if (isNew && this.options.verify) {
+ this.options.verify(client, client.release);
+ } else {
+ client.release();
+ }
+ }
+ }
+ // returns a function that wraps _release and throws if called more than once
+ _releaseOnce(client, idleListener) {
+ let released = false;
+ return (err) => {
+ if (released) {
+ throwOnDoubleRelease();
+ }
+ released = true;
+ this._release(client, idleListener, err);
+ };
+ }
+ // release a client back to the poll, include an error
+ // to remove it from the pool
+ _release(client, idleListener, err) {
+ client.on("error", idleListener);
+ client._poolUseCount = (client._poolUseCount || 0) + 1;
+ this.emit("release", err, client);
+ if (err || this.ending || !client._queryable || client._ending || client._poolUseCount >= this.options.maxUses) {
+ if (client._poolUseCount >= this.options.maxUses) {
+ this.log("remove expended client");
+ }
+ return this._remove(client, this._pulseQueue.bind(this));
+ }
+ const isExpired = this._expired.has(client);
+ if (isExpired) {
+ this.log("remove expired client");
+ this._expired.delete(client);
+ return this._remove(client, this._pulseQueue.bind(this));
+ }
+ let tid;
+ if (this.options.idleTimeoutMillis && this._isAboveMin()) {
+ tid = setTimeout(() => {
+ if (this._isAboveMin()) {
+ this.log("remove idle client");
+ this._remove(client, this._pulseQueue.bind(this));
+ }
+ }, this.options.idleTimeoutMillis);
+ if (this.options.allowExitOnIdle) {
+ tid.unref();
+ }
+ }
+ if (this.options.allowExitOnIdle) {
+ client.unref();
+ }
+ this._idle.push(new IdleItem(client, idleListener, tid));
+ this._pulseQueue();
+ }
+ query(text, values, cb) {
+ if (typeof text === "function") {
+ const response2 = promisify(this.Promise, text);
+ setImmediate(function() {
+ return response2.callback(new Error("Passing a function as the first parameter to pool.query is not supported"));
+ });
+ return response2.result;
+ }
+ if (typeof values === "function") {
+ cb = values;
+ values = void 0;
+ }
+ const response = promisify(this.Promise, cb);
+ cb = response.callback;
+ this.connect((err, client) => {
+ if (err) {
+ return cb(err);
+ }
+ let clientReleased = false;
+ const onError = /* @__PURE__ */ __name((err2) => {
+ if (clientReleased) {
+ return;
+ }
+ clientReleased = true;
+ client.release(err2);
+ cb(err2);
+ }, "onError");
+ client.once("error", onError);
+ this.log("dispatching query");
+ try {
+ client.query(text, values, (err2, res) => {
+ this.log("query dispatched");
+ client.removeListener("error", onError);
+ if (clientReleased) {
+ return;
+ }
+ clientReleased = true;
+ client.release(err2);
+ if (err2) {
+ return cb(err2);
+ }
+ return cb(void 0, res);
+ });
+ } catch (err2) {
+ client.release(err2);
+ return cb(err2);
+ }
+ });
+ return response.result;
+ }
+ end(cb) {
+ this.log("ending");
+ if (this.ending) {
+ const err = new Error("Called end on pool more than once");
+ return cb ? cb(err) : this.Promise.reject(err);
+ }
+ this.ending = true;
+ const promised = promisify(this.Promise, cb);
+ this._endCallback = promised.callback;
+ this._pulseQueue();
+ return promised.result;
+ }
+ get waitingCount() {
+ return this._pendingQueue.length;
+ }
+ get idleCount() {
+ return this._idle.length;
+ }
+ get expiredCount() {
+ return this._clients.reduce((acc, client) => acc + (this._expired.has(client) ? 1 : 0), 0);
+ }
+ get totalCount() {
+ return this._clients.length;
+ }
+ };
+ module.exports = Pool2;
+ }
+});
+
+// ../../node_modules/.pnpm/pg@8.23.1/node_modules/pg/lib/native/query.js
+var require_query2 = __commonJS({
+ "../../node_modules/.pnpm/pg@8.23.1/node_modules/pg/lib/native/query.js"(exports, module) {
+ "use strict";
+ var EventEmitter = __require("events").EventEmitter;
+ var util = __require("util");
+ var utils = require_utils();
+ var NativeQuery = module.exports = function(config, values, callback) {
+ EventEmitter.call(this);
+ config = utils.normalizeQueryConfig(config, values, callback);
+ this.text = config.text;
+ this.values = config.values;
+ this.name = config.name;
+ this.queryMode = config.queryMode;
+ this.callback = config.callback;
+ this.state = "new";
+ this._arrayMode = config.rowMode === "array";
+ this._emitRowEvents = false;
+ this.on(
+ "newListener",
+ function(event) {
+ if (event === "row") this._emitRowEvents = true;
+ }.bind(this)
+ );
+ };
+ util.inherits(NativeQuery, EventEmitter);
+ var errorFieldMap = {
+ sqlState: "code",
+ statementPosition: "position",
+ messagePrimary: "message",
+ messageDetail: "detail",
+ messageHint: "hint",
+ context: "where",
+ schemaName: "schema",
+ tableName: "table",
+ columnName: "column",
+ dataTypeName: "dataType",
+ constraintName: "constraint",
+ sourceFile: "file",
+ sourceLine: "line",
+ sourceFunction: "routine"
+ };
+ NativeQuery.prototype.handleError = function(err) {
+ const fields = this.native && this.native.pq.resultErrorFields();
+ if (fields) {
+ for (const key in fields) {
+ const normalizedFieldName = errorFieldMap[key] || key;
+ err[normalizedFieldName] = fields[key];
+ }
+ }
+ if (this.callback) {
+ this.callback(err);
+ } else {
+ this.emit("error", err);
+ }
+ this.state = "error";
+ };
+ NativeQuery.prototype.then = function(onSuccess, onFailure) {
+ return this._getPromise().then(onSuccess, onFailure);
+ };
+ NativeQuery.prototype.catch = function(callback) {
+ return this._getPromise().catch(callback);
+ };
+ NativeQuery.prototype._getPromise = function() {
+ if (this._promise) return this._promise;
+ this._promise = new Promise(
+ function(resolve, reject) {
+ this._once("end", resolve);
+ this._once("error", reject);
+ }.bind(this)
+ );
+ return this._promise;
+ };
+ NativeQuery.prototype.submit = function(client) {
+ this.state = "running";
+ const self = this;
+ this.native = client.native;
+ client.native.arrayMode = this._arrayMode;
+ let after = /* @__PURE__ */ __name(function(err, rows, results) {
+ client.native.arrayMode = false;
+ setImmediate(function() {
+ self.emit("_done");
+ });
+ if (err) {
+ return self.handleError(err);
+ }
+ if (self._emitRowEvents) {
+ if (results.length > 1) {
+ rows.forEach((rowOfRows, i) => {
+ rowOfRows.forEach((row) => {
+ self.emit("row", row, results[i]);
+ });
+ });
+ } else {
+ rows.forEach(function(row) {
+ self.emit("row", row, results);
+ });
+ }
+ }
+ self.state = "end";
+ self.emit("end", results);
+ if (self.callback) {
+ self.callback(null, results);
+ }
+ }, "after");
+ if (process.domain) {
+ after = process.domain.bind(after);
+ }
+ if (this.name) {
+ if (this.name.length > 63) {
+ console.error("Warning! Postgres only supports 63 characters for query names.");
+ console.error("You supplied %s (%s)", this.name, this.name.length);
+ console.error("This can cause conflicts and silent errors executing queries");
+ }
+ const values = (this.values || []).map(utils.prepareValue);
+ if (client.namedQueries[this.name] !== void 0) {
+ if (this.text && client.namedQueries[this.name] !== this.text) {
+ const err = new Error(`Prepared statements must be unique - '${this.name}' was used for a different statement`);
+ return after(err);
+ }
+ return client.native.execute(this.name, values, after);
+ }
+ return client.native.prepare(this.name, this.text, values.length, function(err) {
+ if (err) return after(err);
+ client.namedQueries[self.name] = self.text;
+ return self.native.execute(self.name, values, after);
+ });
+ } else if (this.values) {
+ if (!Array.isArray(this.values)) {
+ const err = new Error("Query values must be an array");
+ return after(err);
+ }
+ const vals = this.values.map(utils.prepareValue);
+ client.native.query(this.text, vals, after);
+ } else if (this.queryMode === "extended") {
+ client.native.query(this.text, [], after);
+ } else {
+ client.native.query(this.text, after);
+ }
+ };
+ }
+});
+
+// ../../node_modules/.pnpm/pg@8.23.1/node_modules/pg/lib/native/client.js
+var require_client2 = __commonJS({
+ "../../node_modules/.pnpm/pg@8.23.1/node_modules/pg/lib/native/client.js"(exports, module) {
+ var nodeUtils = __require("util");
+ var Native;
+ try {
+ Native = __require("pg-native");
+ } catch (e) {
+ throw e;
+ }
+ var TypeOverrides2 = require_type_overrides();
+ var EventEmitter = __require("events").EventEmitter;
+ var util = __require("util");
+ var ConnectionParameters = require_connection_parameters();
+ var NativeQuery = require_query2();
+ var queryQueueLengthDeprecationNotice = nodeUtils.deprecate(
+ () => {
+ },
+ "Calling client.query() when the client is already executing a query is deprecated and will be removed in pg@9.0. Use async/await or an external async flow control mechanism instead."
+ );
+ var Client2 = module.exports = function(config) {
+ EventEmitter.call(this);
+ config = config || {};
+ this._Promise = config.Promise || global.Promise;
+ this._types = new TypeOverrides2(config.types);
+ this.native = new Native({
+ types: this._types
+ });
+ this._queryQueue = [];
+ this._ending = false;
+ this._connecting = false;
+ this._connected = false;
+ this._queryable = true;
+ this.pipeline = Boolean(config.pipeline);
+ this._pipelineInFlight = false;
+ const cp = this.connectionParameters = new ConnectionParameters(config);
+ if (config.nativeConnectionString) cp.nativeConnectionString = config.nativeConnectionString;
+ this.user = cp.user;
+ Object.defineProperty(this, "password", {
+ configurable: true,
+ enumerable: false,
+ writable: true,
+ value: cp.password
+ });
+ this.database = cp.database;
+ this.host = cp.host;
+ this.port = cp.port;
+ this.namedQueries = {};
+ };
+ Client2.Query = NativeQuery;
+ util.inherits(Client2, EventEmitter);
+ Client2.prototype._errorAllQueries = function(err) {
+ const enqueueError = /* @__PURE__ */ __name((query) => {
+ process.nextTick(() => {
+ query.native = this.native;
+ query.handleError(err);
+ });
+ }, "enqueueError");
+ if (this._hasActiveQuery()) {
+ enqueueError(this._activeQuery);
+ this._activeQuery = null;
+ }
+ this._queryQueue.forEach(enqueueError);
+ this._queryQueue.length = 0;
+ };
+ Client2.prototype._connect = function(cb) {
+ const self = this;
+ if (this._connecting) {
+ process.nextTick(() => cb(new Error("Client has already been connected. You cannot reuse a client.")));
+ return;
+ }
+ this._connecting = true;
+ this.connectionParameters.getLibpqConnectionString(function(err, conString) {
+ if (self.connectionParameters.nativeConnectionString) conString = self.connectionParameters.nativeConnectionString;
+ if (err) return cb(err);
+ self.native.connect(conString, function(err2) {
+ if (err2) {
+ self.native.end();
+ return cb(err2);
+ }
+ self._connected = true;
+ self.native.on("error", function(err3) {
+ self._queryable = false;
+ self._errorAllQueries(err3);
+ self.emit("error", err3);
+ });
+ self.native.on("notification", function(msg) {
+ self.emit("notification", {
+ channel: msg.relname,
+ payload: msg.extra
+ });
+ });
+ self.emit("connect");
+ self._pulseQueryQueue(true);
+ cb(null, this);
+ });
+ });
+ };
+ Client2.prototype.connect = function(callback) {
+ if (callback) {
+ this._connect(callback);
+ return;
+ }
+ return new this._Promise((resolve, reject) => {
+ this._connect((error) => {
+ if (error) {
+ reject(error);
+ } else {
+ resolve(this);
+ }
+ });
+ });
+ };
+ Client2.prototype.query = function(config, values, callback) {
+ let query;
+ let result;
+ let readTimeout;
+ let readTimeoutTimer;
+ let queryCallback;
+ if (config === null || config === void 0) {
+ throw new TypeError("Client was passed a null or undefined query");
+ } else if (typeof config.submit === "function") {
+ readTimeout = config.query_timeout || this.connectionParameters.query_timeout;
+ result = query = config;
+ if (typeof values === "function") {
+ config.callback = values;
+ }
+ } else {
+ readTimeout = config.query_timeout || this.connectionParameters.query_timeout;
+ query = new NativeQuery(config, values, callback);
+ if (!query.callback) {
+ let resolveOut, rejectOut;
+ result = new this._Promise((resolve, reject) => {
+ resolveOut = resolve;
+ rejectOut = reject;
+ }).catch((err) => {
+ Error.captureStackTrace(err);
+ throw err;
+ });
+ query.callback = (err, res) => err ? rejectOut(err) : resolveOut(res);
+ }
+ }
+ if (readTimeout) {
+ queryCallback = query.callback || (() => {
+ });
+ readTimeoutTimer = setTimeout(() => {
+ const error = new Error("Query read timeout");
+ process.nextTick(() => {
+ query.handleError(error, this.connection);
+ });
+ queryCallback(error);
+ query.callback = () => {
+ };
+ const index = this._queryQueue.indexOf(query);
+ if (index > -1) {
+ this._queryQueue.splice(index, 1);
+ }
+ this._pulseQueryQueue();
+ }, readTimeout);
+ query.callback = (err, res) => {
+ clearTimeout(readTimeoutTimer);
+ queryCallback(err, res);
+ };
+ }
+ if (!this._queryable) {
+ query.native = this.native;
+ process.nextTick(() => {
+ query.handleError(new Error("Client has encountered a connection error and is not queryable"));
+ });
+ return result;
+ }
+ if (this._ending) {
+ query.native = this.native;
+ process.nextTick(() => {
+ query.handleError(new Error("Client was closed and is not queryable"));
+ });
+ return result;
+ }
+ if (this._queryQueue.length > 0 && !this.pipeline) {
+ queryQueueLengthDeprecationNotice();
+ }
+ this._queryQueue.push(query);
+ this._pulseQueryQueue();
+ return result;
+ };
+ Client2.prototype.end = function(cb) {
+ const self = this;
+ this._ending = true;
+ if (this._connecting && !this._connected) {
+ this.once("connect", () => {
+ this.end(() => {
+ });
+ });
+ }
+ let result;
+ if (!cb) {
+ result = new this._Promise(function(resolve, reject) {
+ cb = /* @__PURE__ */ __name((err) => err ? reject(err) : resolve(), "cb");
+ });
+ }
+ const doEnd = /* @__PURE__ */ __name(function() {
+ self.native.end(function() {
+ self._connected = false;
+ self._errorAllQueries(new Error("Connection terminated"));
+ process.nextTick(() => {
+ self.emit("end");
+ if (cb) cb();
+ });
+ });
+ }, "doEnd");
+ if (this.pipeline && (this._pipelineInFlight || this._queryQueue.length > 0)) {
+ this.once("drain", doEnd);
+ } else {
+ doEnd();
+ }
+ return result;
+ };
+ Client2.prototype._hasActiveQuery = function() {
+ return this._activeQuery && this._activeQuery.state !== "error" && this._activeQuery.state !== "end";
+ };
+ Client2.prototype._pulseQueryQueue = function(initialConnection) {
+ if (!this._connected) {
+ return;
+ }
+ if (this.pipeline && !initialConnection) {
+ return this._pulsePipelinedQueryQueue();
+ }
+ if (this._hasActiveQuery()) {
+ return;
+ }
+ const query = this._queryQueue.shift();
+ if (!query) {
+ if (!initialConnection) {
+ this.emit("drain");
+ }
+ return;
+ }
+ this._activeQuery = query;
+ query.submit(this);
+ const self = this;
+ query.once("_done", function() {
+ self._pulseQueryQueue();
+ });
+ };
+ Client2.prototype._pulsePipelinedQueryQueue = function() {
+ if (!this._connected || this._pipelineInFlight) {
+ return;
+ }
+ if (this._queryQueue.length === 0) {
+ if (this.hasExecuted) {
+ this.emit("drain");
+ }
+ return;
+ }
+ this._pipelineInFlight = true;
+ const self = this;
+ const queries = [];
+ const nativeQueries = [];
+ const utils = require_utils();
+ while (this._queryQueue.length > 0) {
+ const query = this._queryQueue.shift();
+ this.hasExecuted = true;
+ nativeQueries.push(query);
+ const values = query.values ? query.values.map(utils.prepareValue) : null;
+ const pipelineEntry = { text: query.text, name: query.name, arrayMode: query._arrayMode };
+ if (values) {
+ pipelineEntry.values = values;
+ }
+ if (query.name && this.namedQueries[query.name]) {
+ pipelineEntry._alreadyPrepared = true;
+ }
+ queries.push(pipelineEntry);
+ }
+ this.native.pipeline(queries, function(err, results) {
+ self._pipelineInFlight = false;
+ if (err) {
+ self._connected = false;
+ self._queryable = false;
+ for (let i = 0; i < nativeQueries.length; i++) {
+ const q = nativeQueries[i];
+ q.native = self.native;
+ q.handleError(err);
+ }
+ self._errorAllQueries(err);
+ self.emit("error", err);
+ self.emit("end");
+ return;
+ }
+ for (let i = 0; i < nativeQueries.length; i++) {
+ const q = nativeQueries[i];
+ const r = results[i];
+ q.native = self.native;
+ if (r.err) {
+ q.handleError(r.err);
+ } else {
+ if (q.name) {
+ self.namedQueries[q.name] = q.text;
+ }
+ q.state = "end";
+ q.emit("end", r.result);
+ if (q.callback) {
+ q.callback(null, r.result);
+ }
+ }
+ setImmediate(function() {
+ q.emit("_done");
+ });
+ }
+ self._pulsePipelinedQueryQueue();
+ });
+ };
+ Client2.prototype.cancel = function(query) {
+ if (this._activeQuery === query) {
+ this.native.cancel(function() {
+ });
+ } else if (this._queryQueue.indexOf(query) !== -1) {
+ this._queryQueue.splice(this._queryQueue.indexOf(query), 1);
+ }
+ };
+ Client2.prototype.ref = function() {
+ };
+ Client2.prototype.unref = function() {
+ };
+ Client2.prototype.setTypeParser = function(oid, format, parseFn) {
+ return this._types.setTypeParser(oid, format, parseFn);
+ };
+ Client2.prototype.getTypeParser = function(oid, format) {
+ return this._types.getTypeParser(oid, format);
+ };
+ Client2.prototype.isConnected = function() {
+ return this._connected;
+ };
+ Client2.prototype.getTransactionStatus = function() {
+ return this.native.getTransactionStatus();
+ };
+ }
+});
+
+// ../../node_modules/.pnpm/pg@8.23.1/node_modules/pg/lib/native/index.js
+var require_native = __commonJS({
+ "../../node_modules/.pnpm/pg@8.23.1/node_modules/pg/lib/native/index.js"(exports, module) {
+ "use strict";
+ module.exports = require_client2();
+ }
+});
+
+// ../../node_modules/.pnpm/pg@8.23.1/node_modules/pg/lib/index.js
+var require_lib2 = __commonJS({
+ "../../node_modules/.pnpm/pg@8.23.1/node_modules/pg/lib/index.js"(exports, module) {
+ "use strict";
+ var Client2 = require_client();
+ var defaults2 = require_defaults();
+ var Connection2 = require_connection();
+ var Result2 = require_result();
+ var utils = require_utils();
+ var Pool2 = require_pg_pool();
+ var TypeOverrides2 = require_type_overrides();
+ var { DatabaseError: DatabaseError2 } = require_dist();
+ var { escapeIdentifier: escapeIdentifier2, escapeLiteral: escapeLiteral2 } = require_utils();
+ var poolFactory = /* @__PURE__ */ __name((Client3) => {
+ return class BoundPool extends Pool2 {
+ static {
+ __name(this, "BoundPool");
+ }
+ constructor(options) {
+ super(options, Client3);
+ }
+ };
+ }, "poolFactory");
+ var PG = /* @__PURE__ */ __name(function(clientConstructor2) {
+ this.defaults = defaults2;
+ this.Client = clientConstructor2;
+ this.Query = this.Client.Query;
+ this.Pool = poolFactory(this.Client);
+ this._pools = [];
+ this.Connection = Connection2;
+ this.types = require_pg_types();
+ this.DatabaseError = DatabaseError2;
+ this.TypeOverrides = TypeOverrides2;
+ this.escapeIdentifier = escapeIdentifier2;
+ this.escapeLiteral = escapeLiteral2;
+ this.Result = Result2;
+ this.utils = utils;
+ }, "PG");
+ var clientConstructor = Client2;
+ var forceNative = false;
+ try {
+ forceNative = !!process.env.NODE_PG_FORCE_NATIVE;
+ } catch {
+ }
+ if (forceNative) {
+ clientConstructor = require_native();
+ }
+ module.exports = new PG(clientConstructor);
+ Object.defineProperty(module.exports, "native", {
+ configurable: true,
+ enumerable: false,
+ get() {
+ let native = null;
+ try {
+ native = new PG(require_native());
+ } catch (err) {
+ if (err.code !== "MODULE_NOT_FOUND") {
+ throw err;
+ }
+ }
+ Object.defineProperty(module.exports, "native", {
+ value: native
+ });
+ return native;
+ }
+ });
+ }
+});
+
+// ../../node_modules/.pnpm/pg@8.23.1/node_modules/pg/esm/index.mjs
+var import_lib = __toESM(require_lib2(), 1);
+var Client = import_lib.default.Client;
+var Pool = import_lib.default.Pool;
+var Connection = import_lib.default.Connection;
+var types = import_lib.default.types;
+var Query = import_lib.default.Query;
+var DatabaseError = import_lib.default.DatabaseError;
+var escapeIdentifier = import_lib.default.escapeIdentifier;
+var escapeLiteral = import_lib.default.escapeLiteral;
+var Result = import_lib.default.Result;
+var TypeOverrides = import_lib.default.TypeOverrides;
+var defaults = import_lib.default.defaults;
+var esm_default = import_lib.default;
+
+export {
+ esm_default
+};
diff --git a/apps/api/.output/dist/chunks/chunk-T6GW54FI.js b/apps/api/.output/dist/chunks/chunk-T6GW54FI.js
new file mode 100644
index 0000000..191ebf8
--- /dev/null
+++ b/apps/api/.output/dist/chunks/chunk-T6GW54FI.js
@@ -0,0 +1,60 @@
+import { createRequire as __bundleCreateRequire } from "node:module"; const require = __bundleCreateRequire(import.meta.url);
+var __create = Object.create;
+var __defProp = Object.defineProperty;
+var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
+var __getOwnPropNames = Object.getOwnPropertyNames;
+var __getProtoOf = Object.getPrototypeOf;
+var __hasOwnProp = Object.prototype.hasOwnProperty;
+var __name = (target, value) => __defProp(target, "name", { value, configurable: true });
+var __require = /* @__PURE__ */ ((x) => typeof require !== "undefined" ? require : typeof Proxy !== "undefined" ? new Proxy(x, {
+ get: (a, b) => (typeof require !== "undefined" ? require : a)[b]
+}) : x)(function(x) {
+ if (typeof require !== "undefined") return require.apply(this, arguments);
+ throw Error('Dynamic require of "' + x + '" is not supported');
+});
+var __esm = (fn, res, err) => function __init() {
+ if (err) throw err[0];
+ try {
+ return fn && (res = (0, fn[__getOwnPropNames(fn)[0]])(fn = 0)), res;
+ } catch (e) {
+ throw err = [e], e;
+ }
+};
+var __commonJS = (cb, mod) => function __require2() {
+ try {
+ return mod || (0, cb[__getOwnPropNames(cb)[0]])((mod = { exports: {} }).exports, mod), mod.exports;
+ } catch (e) {
+ throw mod = 0, e;
+ }
+};
+var __export = (target, all) => {
+ for (var name in all)
+ __defProp(target, name, { get: all[name], enumerable: true });
+};
+var __copyProps = (to, from, except, desc) => {
+ if (from && typeof from === "object" || typeof from === "function") {
+ for (let key of __getOwnPropNames(from))
+ if (!__hasOwnProp.call(to, key) && key !== except)
+ __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
+ }
+ return to;
+};
+var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__getProtoOf(mod)) : {}, __copyProps(
+ // If the importer is in node compatibility mode or this is not an ESM
+ // file that has been converted to a CommonJS file using a Babel-
+ // compatible transform (i.e. "__esModule" has not been set), then set
+ // "default" to the CommonJS "module.exports" for node compatibility.
+ isNodeMode || !mod || !mod.__esModule ? __defProp(target, "default", { value: mod, enumerable: true }) : target,
+ mod
+));
+var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
+
+export {
+ __name,
+ __require,
+ __esm,
+ __commonJS,
+ __export,
+ __toESM,
+ __toCommonJS
+};
diff --git a/apps/api/.output/dist/chunks/chunk-TXBARIZB.js b/apps/api/.output/dist/chunks/chunk-TXBARIZB.js
new file mode 100644
index 0000000..19bd5b8
--- /dev/null
+++ b/apps/api/.output/dist/chunks/chunk-TXBARIZB.js
@@ -0,0 +1,64774 @@
+import { createRequire as __bundleCreateRequire } from "node:module"; const require = __bundleCreateRequire(import.meta.url);
+import {
+ esm_default
+} from "./chunk-KIUJQ22G.js";
+import {
+ BadRequestException,
+ Global,
+ Inject,
+ Injectable,
+ Logger,
+ Module,
+ Optional,
+ UnauthorizedException,
+ init_common
+} from "./chunk-BX2ML7LW.js";
+import {
+ require_ms
+} from "./chunk-A34KYKJP.js";
+import {
+ BinaryDecisionDiagram,
+ Client,
+ Command,
+ Crc32Node,
+ EndpointCache,
+ EndpointError,
+ HttpRequest,
+ HttpResponse,
+ LazyJsonString,
+ NODE_REGION_CONFIG_FILE_OPTIONS,
+ NODE_REGION_CONFIG_OPTIONS,
+ NODE_USE_DUALSTACK_ENDPOINT_CONFIG_OPTIONS,
+ NODE_USE_FIPS_ENDPOINT_CONFIG_OPTIONS,
+ NoOpLogger,
+ NormalizedSchema,
+ NumericValue,
+ ProviderError,
+ REGION_ENV_NAME,
+ REGION_INI_NAME,
+ SelectorType,
+ ServiceException,
+ Sha256Js,
+ Sha256Node,
+ TypeRegistry,
+ Uint8ArrayBlobAdapter,
+ _parseEpochTimestamp,
+ _parseRfc3339DateTimeWithOffset,
+ _parseRfc7231DateTime,
+ booleanSelector,
+ calculateBodyLength,
+ checksum_exports,
+ client_exports,
+ concatBytes,
+ config_exports,
+ createAggregatedClient,
+ createBufferedReadable,
+ createChecksumStream,
+ customEndpointFunctions,
+ dateToUtcString,
+ decideEndpoint,
+ decorateServiceException,
+ deref,
+ emitWarningIfUnsupportedVersion,
+ endpoints_exports,
+ event_streams_exports,
+ fromBase64,
+ fromUtf8,
+ generateIdempotencyToken,
+ getDefaultExtensionConfiguration,
+ getEndpointPlugin,
+ getSchemaSerdePlugin,
+ getSmithyContext,
+ getValueFromTextNode,
+ hasOwn,
+ init_checksum,
+ init_client,
+ init_config,
+ init_endpoints,
+ init_event_streams,
+ init_schema,
+ init_serde,
+ init_transport,
+ isArrayBuffer,
+ isIpAddress,
+ isValidHostLabel,
+ isValidHostname,
+ loadConfig,
+ loadConfigsForDefaultMode,
+ makeBuilder,
+ normalizeProvider,
+ parseEpochTimestamp,
+ parseQueryString,
+ parseRfc3339DateTimeWithOffset,
+ parseRfc7231DateTime,
+ parseUrl,
+ quoteHeader,
+ require_dist_cjs,
+ resolveDefaultRuntimeConfig,
+ resolveDefaultsModeConfig,
+ resolveEndpoint,
+ resolveEndpointConfig,
+ resolveParams,
+ resolveRegionConfig,
+ schema_exports,
+ sdkStreamMixin,
+ serde_exports,
+ splitEvery,
+ splitHeader,
+ toBase64,
+ toUint8Array,
+ toUtf8,
+ translateTraits,
+ v4
+} from "./chunk-6UPY3HEI.js";
+import {
+ __commonJS,
+ __esm,
+ __export,
+ __name,
+ __require,
+ __toCommonJS,
+ __toESM
+} from "./chunk-T6GW54FI.js";
+
+// ../../node_modules/.pnpm/postgres-array@3.0.4/node_modules/postgres-array/index.js
+var require_postgres_array = __commonJS({
+ "../../node_modules/.pnpm/postgres-array@3.0.4/node_modules/postgres-array/index.js"(exports) {
+ "use strict";
+ var BACKSLASH2 = "\\";
+ var DQUOT = '"';
+ var LBRACE = "{";
+ var RBRACE = "}";
+ var LBRACKET = "[";
+ var EQUALS = "=";
+ var COMMA2 = ",";
+ var NULL_STRING = "NULL";
+ function makeParseArrayWithTransform(transform2) {
+ const haveTransform = transform2 != null;
+ return /* @__PURE__ */ __name(function parseArray3(str) {
+ const rbraceIndex = str.length - 1;
+ if (rbraceIndex === 1) {
+ return [];
+ }
+ if (str[rbraceIndex] !== RBRACE) {
+ throw new Error("Invalid array text - must end with }");
+ }
+ let position = 0;
+ if (str[position] === LBRACKET) {
+ position = str.indexOf(EQUALS) + 1;
+ }
+ if (str[position++] !== LBRACE) {
+ throw new Error("Invalid array text - must start with {");
+ }
+ const output2 = [];
+ let current = output2;
+ const stack = [];
+ let currentStringStart = position;
+ let currentString = "";
+ let expectValue = true;
+ for (; position < rbraceIndex; ++position) {
+ let char = str[position];
+ if (char === DQUOT) {
+ currentStringStart = ++position;
+ let dquot = str.indexOf(DQUOT, currentStringStart);
+ let backSlash = str.indexOf(BACKSLASH2, currentStringStart);
+ while (backSlash !== -1 && backSlash < dquot) {
+ position = backSlash;
+ const part2 = str.slice(currentStringStart, position);
+ currentString += part2;
+ currentStringStart = ++position;
+ if (dquot === position++) {
+ dquot = str.indexOf(DQUOT, position);
+ }
+ backSlash = str.indexOf(BACKSLASH2, position);
+ }
+ position = dquot;
+ const part = str.slice(currentStringStart, position);
+ currentString += part;
+ current.push(haveTransform ? transform2(currentString) : currentString);
+ currentString = "";
+ expectValue = false;
+ } else if (char === LBRACE) {
+ const newArray = [];
+ current.push(newArray);
+ stack.push(current);
+ current = newArray;
+ currentStringStart = position + 1;
+ expectValue = true;
+ } else if (char === COMMA2) {
+ expectValue = true;
+ } else if (char === RBRACE) {
+ expectValue = false;
+ const arr = stack.pop();
+ if (arr === void 0) {
+ throw new Error("Invalid array text - too many '}'");
+ }
+ current = arr;
+ } else if (expectValue) {
+ currentStringStart = position;
+ while ((char = str[position]) !== COMMA2 && char !== RBRACE && position < rbraceIndex) {
+ ++position;
+ }
+ const part = str.slice(currentStringStart, position--);
+ current.push(
+ part === NULL_STRING ? null : haveTransform ? transform2(part) : part
+ );
+ expectValue = false;
+ } else {
+ throw new Error("Was expecting delimeter");
+ }
+ }
+ return output2;
+ }, "parseArray");
+ }
+ __name(makeParseArrayWithTransform, "makeParseArrayWithTransform");
+ var parseArray2 = makeParseArrayWithTransform();
+ exports.parse = (source, transform2) => transform2 != null ? makeParseArrayWithTransform(transform2)(source) : parseArray2(source);
+ }
+});
+
+// ../../node_modules/.pnpm/@prisma+client-runtime-utils@7.10.1/node_modules/@prisma/client-runtime-utils/dist/index.js
+var require_dist = __commonJS({
+ "../../node_modules/.pnpm/@prisma+client-runtime-utils@7.10.1/node_modules/@prisma/client-runtime-utils/dist/index.js"(exports, module) {
+ "use strict";
+ var __defProp2 = Object.defineProperty;
+ var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
+ var __getOwnPropNames = Object.getOwnPropertyNames;
+ var __hasOwnProp = Object.prototype.hasOwnProperty;
+ var __export3 = /* @__PURE__ */ __name((target, all) => {
+ for (var name2 in all)
+ __defProp2(target, name2, { get: all[name2], enumerable: true });
+ }, "__export");
+ var __copyProps = /* @__PURE__ */ __name((to, from, except, desc) => {
+ if (from && typeof from === "object" || typeof from === "function") {
+ for (let key of __getOwnPropNames(from))
+ if (!__hasOwnProp.call(to, key) && key !== except)
+ __defProp2(to, key, { get: /* @__PURE__ */ __name(() => from[key], "get"), enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
+ }
+ return to;
+ }, "__copyProps");
+ var __toCommonJS2 = /* @__PURE__ */ __name((mod2) => __copyProps(__defProp2({}, "__esModule", { value: true }), mod2), "__toCommonJS");
+ var index_exports = {};
+ __export3(index_exports, {
+ AnyNull: /* @__PURE__ */ __name(() => AnyNull4, "AnyNull"),
+ AnyNullClass: /* @__PURE__ */ __name(() => AnyNullClass, "AnyNullClass"),
+ DbNull: /* @__PURE__ */ __name(() => DbNull4, "DbNull"),
+ DbNullClass: /* @__PURE__ */ __name(() => DbNullClass, "DbNullClass"),
+ Decimal: /* @__PURE__ */ __name(() => Decimal4, "Decimal"),
+ JsonNull: /* @__PURE__ */ __name(() => JsonNull4, "JsonNull"),
+ JsonNullClass: /* @__PURE__ */ __name(() => JsonNullClass, "JsonNullClass"),
+ NullTypes: /* @__PURE__ */ __name(() => NullTypes4, "NullTypes"),
+ ObjectEnumValue: /* @__PURE__ */ __name(() => ObjectEnumValue2, "ObjectEnumValue"),
+ PrismaClientInitializationError: /* @__PURE__ */ __name(() => PrismaClientInitializationError4, "PrismaClientInitializationError"),
+ PrismaClientKnownRequestError: /* @__PURE__ */ __name(() => PrismaClientKnownRequestError4, "PrismaClientKnownRequestError"),
+ PrismaClientRustError: /* @__PURE__ */ __name(() => PrismaClientRustError, "PrismaClientRustError"),
+ PrismaClientRustPanicError: /* @__PURE__ */ __name(() => PrismaClientRustPanicError4, "PrismaClientRustPanicError"),
+ PrismaClientUnknownRequestError: /* @__PURE__ */ __name(() => PrismaClientUnknownRequestError4, "PrismaClientUnknownRequestError"),
+ PrismaClientValidationError: /* @__PURE__ */ __name(() => PrismaClientValidationError4, "PrismaClientValidationError"),
+ Sql: /* @__PURE__ */ __name(() => Sql4, "Sql"),
+ empty: /* @__PURE__ */ __name(() => empty4, "empty"),
+ hasBatchIndex: /* @__PURE__ */ __name(() => hasBatchIndex, "hasBatchIndex"),
+ isAnyNull: /* @__PURE__ */ __name(() => isAnyNull2, "isAnyNull"),
+ isDbNull: /* @__PURE__ */ __name(() => isDbNull2, "isDbNull"),
+ isJsonNull: /* @__PURE__ */ __name(() => isJsonNull2, "isJsonNull"),
+ isObjectEnumValue: /* @__PURE__ */ __name(() => isObjectEnumValue2, "isObjectEnumValue"),
+ join: /* @__PURE__ */ __name(() => join4, "join"),
+ raw: /* @__PURE__ */ __name(() => raw4, "raw"),
+ sql: /* @__PURE__ */ __name(() => sql2, "sql")
+ });
+ module.exports = __toCommonJS2(index_exports);
+ function hasBatchIndex(value) {
+ return typeof value["batchRequestIdx"] === "number";
+ }
+ __name(hasBatchIndex, "hasBatchIndex");
+ function setClassName(classObject, name2) {
+ Object.defineProperty(classObject, "name", {
+ value: name2,
+ configurable: true
+ });
+ }
+ __name(setClassName, "setClassName");
+ var PrismaClientInitializationError4 = class _PrismaClientInitializationError extends Error {
+ static {
+ __name(this, "_PrismaClientInitializationError");
+ }
+ clientVersion;
+ errorCode;
+ retryable;
+ constructor(message, clientVersion, errorCode) {
+ super(message);
+ this.name = "PrismaClientInitializationError";
+ this.clientVersion = clientVersion;
+ this.errorCode = errorCode;
+ Error.captureStackTrace(_PrismaClientInitializationError);
+ }
+ get [Symbol.toStringTag]() {
+ return "PrismaClientInitializationError";
+ }
+ };
+ setClassName(PrismaClientInitializationError4, "PrismaClientInitializationError");
+ var PrismaClientKnownRequestError4 = class extends Error {
+ static {
+ __name(this, "PrismaClientKnownRequestError");
+ }
+ code;
+ meta;
+ clientVersion;
+ batchRequestIdx;
+ constructor(message, { code, clientVersion, meta: meta3, batchRequestIdx }) {
+ super(message);
+ this.name = "PrismaClientKnownRequestError";
+ this.code = code;
+ this.clientVersion = clientVersion;
+ this.meta = meta3;
+ Object.defineProperty(this, "batchRequestIdx", {
+ value: batchRequestIdx,
+ enumerable: false,
+ writable: true
+ });
+ }
+ get [Symbol.toStringTag]() {
+ return "PrismaClientKnownRequestError";
+ }
+ };
+ setClassName(PrismaClientKnownRequestError4, "PrismaClientKnownRequestError");
+ function getBacktrace(log3) {
+ if (log3.fields?.message) {
+ let str = log3.fields?.message;
+ if (log3.fields?.file) {
+ str += ` in ${log3.fields.file}`;
+ if (log3.fields?.line) {
+ str += `:${log3.fields.line}`;
+ }
+ if (log3.fields?.column) {
+ str += `:${log3.fields.column}`;
+ }
+ }
+ if (log3.fields?.reason) {
+ str += `
+${log3.fields?.reason}`;
+ }
+ return str;
+ }
+ return "Unknown error";
+ }
+ __name(getBacktrace, "getBacktrace");
+ function isPanic(err) {
+ return err.fields?.message === "PANIC";
+ }
+ __name(isPanic, "isPanic");
+ var PrismaClientRustError = class extends Error {
+ static {
+ __name(this, "PrismaClientRustError");
+ }
+ clientVersion;
+ _isPanic;
+ constructor({ clientVersion, error: error62 }) {
+ const backtrace = getBacktrace(error62);
+ super(backtrace ?? "Unknown error");
+ this._isPanic = isPanic(error62);
+ this.clientVersion = clientVersion;
+ }
+ get [Symbol.toStringTag]() {
+ return "PrismaClientRustError";
+ }
+ isPanic() {
+ return this._isPanic;
+ }
+ };
+ setClassName(PrismaClientRustError, "PrismaClientRustError");
+ var PrismaClientRustPanicError4 = class extends Error {
+ static {
+ __name(this, "PrismaClientRustPanicError");
+ }
+ clientVersion;
+ constructor(message, clientVersion) {
+ super(message);
+ this.name = "PrismaClientRustPanicError";
+ this.clientVersion = clientVersion;
+ }
+ get [Symbol.toStringTag]() {
+ return "PrismaClientRustPanicError";
+ }
+ };
+ setClassName(PrismaClientRustPanicError4, "PrismaClientRustPanicError");
+ var PrismaClientUnknownRequestError4 = class extends Error {
+ static {
+ __name(this, "PrismaClientUnknownRequestError");
+ }
+ clientVersion;
+ batchRequestIdx;
+ constructor(message, { clientVersion, batchRequestIdx }) {
+ super(message);
+ this.name = "PrismaClientUnknownRequestError";
+ this.clientVersion = clientVersion;
+ Object.defineProperty(this, "batchRequestIdx", {
+ value: batchRequestIdx,
+ writable: true,
+ enumerable: false
+ });
+ }
+ get [Symbol.toStringTag]() {
+ return "PrismaClientUnknownRequestError";
+ }
+ };
+ setClassName(PrismaClientUnknownRequestError4, "PrismaClientUnknownRequestError");
+ var PrismaClientValidationError4 = class extends Error {
+ static {
+ __name(this, "PrismaClientValidationError");
+ }
+ name = "PrismaClientValidationError";
+ clientVersion;
+ constructor(message, { clientVersion }) {
+ super(message);
+ this.clientVersion = clientVersion;
+ }
+ get [Symbol.toStringTag]() {
+ return "PrismaClientValidationError";
+ }
+ };
+ setClassName(PrismaClientValidationError4, "PrismaClientValidationError");
+ var secret = /* @__PURE__ */ Symbol();
+ var PRISMA_OBJECT_ENUM_VALUE = /* @__PURE__ */ Symbol.for("prisma.objectEnumValue");
+ var ObjectEnumValue2 = class {
+ static {
+ __name(this, "ObjectEnumValue");
+ }
+ [PRISMA_OBJECT_ENUM_VALUE] = true;
+ #representation;
+ constructor(arg) {
+ if (arg === secret) {
+ this.#representation = `Prisma.${this._getName()}`;
+ } else {
+ this.#representation = `new Prisma.${this._getNamespace()}.${this._getName()}()`;
+ }
+ }
+ _getName() {
+ return this.constructor.name;
+ }
+ toString() {
+ return this.#representation;
+ }
+ };
+ function setClassName2(classObject, name2) {
+ Object.defineProperty(classObject, "name", {
+ value: name2,
+ configurable: true
+ });
+ }
+ __name(setClassName2, "setClassName2");
+ var NullTypesEnumValue = class extends ObjectEnumValue2 {
+ static {
+ __name(this, "NullTypesEnumValue");
+ }
+ _getNamespace() {
+ return "NullTypes";
+ }
+ };
+ var DbNullClass = class extends NullTypesEnumValue {
+ static {
+ __name(this, "DbNullClass");
+ }
+ // Phantom private property to prevent structural type equality
+ // eslint-disable-next-line no-unused-private-class-members
+ #_brand_DbNull;
+ };
+ setClassName2(DbNullClass, "DbNull");
+ var JsonNullClass = class extends NullTypesEnumValue {
+ static {
+ __name(this, "JsonNullClass");
+ }
+ // Phantom private property to prevent structural type equality
+ // eslint-disable-next-line no-unused-private-class-members
+ #_brand_JsonNull;
+ };
+ setClassName2(JsonNullClass, "JsonNull");
+ var AnyNullClass = class extends NullTypesEnumValue {
+ static {
+ __name(this, "AnyNullClass");
+ }
+ // Phantom private property to prevent structural type equality
+ // eslint-disable-next-line no-unused-private-class-members
+ #_brand_AnyNull;
+ };
+ setClassName2(AnyNullClass, "AnyNull");
+ var NullTypes4 = {
+ DbNull: DbNullClass,
+ JsonNull: JsonNullClass,
+ AnyNull: AnyNullClass
+ };
+ var DbNull4 = new DbNullClass(secret);
+ var JsonNull4 = new JsonNullClass(secret);
+ var AnyNull4 = new AnyNullClass(secret);
+ function isObjectEnumValue2(value) {
+ return typeof value === "object" && value !== null && value[PRISMA_OBJECT_ENUM_VALUE] === true;
+ }
+ __name(isObjectEnumValue2, "isObjectEnumValue");
+ function isDbNull2(value) {
+ return value === DbNull4;
+ }
+ __name(isDbNull2, "isDbNull");
+ function isJsonNull2(value) {
+ return value === JsonNull4;
+ }
+ __name(isJsonNull2, "isJsonNull");
+ function isAnyNull2(value) {
+ return value === AnyNull4;
+ }
+ __name(isAnyNull2, "isAnyNull");
+ var EXP_LIMIT = 9e15;
+ var MAX_DIGITS = 1e9;
+ var NUMERALS = "0123456789abcdef";
+ var LN10 = "2.3025850929940456840179914546843642076011014886287729760333279009675726096773524802359972050895982983419677840422862486334095254650828067566662873690987816894829072083255546808437998948262331985283935053089653777326288461633662222876982198867465436674744042432743651550489343149393914796194044002221051017141748003688084012647080685567743216228355220114804663715659121373450747856947683463616792101806445070648000277502684916746550586856935673420670581136429224554405758925724208241314695689016758940256776311356919292033376587141660230105703089634572075440370847469940168269282808481184289314848524948644871927809676271275775397027668605952496716674183485704422507197965004714951050492214776567636938662976979522110718264549734772662425709429322582798502585509785265383207606726317164309505995087807523710333101197857547331541421808427543863591778117054309827482385045648019095610299291824318237525357709750539565187697510374970888692180205189339507238539205144634197265287286965110862571492198849978748873771345686209167058";
+ var PI = "3.1415926535897932384626433832795028841971693993751058209749445923078164062862089986280348253421170679821480865132823066470938446095505822317253594081284811174502841027019385211055596446229489549303819644288109756659334461284756482337867831652712019091456485669234603486104543266482133936072602491412737245870066063155881748815209209628292540917153643678925903600113305305488204665213841469519415116094330572703657595919530921861173819326117931051185480744623799627495673518857527248912279381830119491298336733624406566430860213949463952247371907021798609437027705392171762931767523846748184676694051320005681271452635608277857713427577896091736371787214684409012249534301465495853710507922796892589235420199561121290219608640344181598136297747713099605187072113499999983729780499510597317328160963185950244594553469083026425223082533446850352619311881710100031378387528865875332083814206171776691473035982534904287554687311595628638823537875937519577818577805321712268066130019278766111959092164201989380952572010654858632789";
+ var DEFAULTS = {
+ // These values must be integers within the stated ranges (inclusive).
+ // Most of these values can be changed at run-time using the `Decimal.config` method.
+ // The maximum number of significant digits of the result of a calculation or base conversion.
+ // E.g. `Decimal.config({ precision: 20 });`
+ precision: 20,
+ // 1 to MAX_DIGITS
+ // The rounding mode used when rounding to `precision`.
+ //
+ // ROUND_UP 0 Away from zero.
+ // ROUND_DOWN 1 Towards zero.
+ // ROUND_CEIL 2 Towards +Infinity.
+ // ROUND_FLOOR 3 Towards -Infinity.
+ // ROUND_HALF_UP 4 Towards nearest neighbour. If equidistant, up.
+ // ROUND_HALF_DOWN 5 Towards nearest neighbour. If equidistant, down.
+ // ROUND_HALF_EVEN 6 Towards nearest neighbour. If equidistant, towards even neighbour.
+ // ROUND_HALF_CEIL 7 Towards nearest neighbour. If equidistant, towards +Infinity.
+ // ROUND_HALF_FLOOR 8 Towards nearest neighbour. If equidistant, towards -Infinity.
+ //
+ // E.g.
+ // `Decimal.rounding = 4;`
+ // `Decimal.rounding = Decimal.ROUND_HALF_UP;`
+ rounding: 4,
+ // 0 to 8
+ // The modulo mode used when calculating the modulus: a mod n.
+ // The quotient (q = a / n) is calculated according to the corresponding rounding mode.
+ // The remainder (r) is calculated as: r = a - n * q.
+ //
+ // UP 0 The remainder is positive if the dividend is negative, else is negative.
+ // DOWN 1 The remainder has the same sign as the dividend (JavaScript %).
+ // FLOOR 3 The remainder has the same sign as the divisor (Python %).
+ // HALF_EVEN 6 The IEEE 754 remainder function.
+ // EUCLID 9 Euclidian division. q = sign(n) * floor(a / abs(n)). Always positive.
+ //
+ // Truncated division (1), floored division (3), the IEEE 754 remainder (6), and Euclidian
+ // division (9) are commonly used for the modulus operation. The other rounding modes can also
+ // be used, but they may not give useful results.
+ modulo: 1,
+ // 0 to 9
+ // The exponent value at and beneath which `toString` returns exponential notation.
+ // JavaScript numbers: -7
+ toExpNeg: -7,
+ // 0 to -EXP_LIMIT
+ // The exponent value at and above which `toString` returns exponential notation.
+ // JavaScript numbers: 21
+ toExpPos: 21,
+ // 0 to EXP_LIMIT
+ // The minimum exponent value, beneath which underflow to zero occurs.
+ // JavaScript numbers: -324 (5e-324)
+ minE: -EXP_LIMIT,
+ // -1 to -EXP_LIMIT
+ // The maximum exponent value, above which overflow to Infinity occurs.
+ // JavaScript numbers: 308 (1.7976931348623157e+308)
+ maxE: EXP_LIMIT,
+ // 1 to EXP_LIMIT
+ // Whether to use cryptographically-secure random number generation, if available.
+ crypto: false
+ // true/false
+ };
+ var inexact;
+ var quadrant;
+ var external = true;
+ var decimalError = "[DecimalError] ";
+ var invalidArgument = decimalError + "Invalid argument: ";
+ var precisionLimitExceeded = decimalError + "Precision limit exceeded";
+ var cryptoUnavailable = decimalError + "crypto unavailable";
+ var tag = "[object Decimal]";
+ var mathfloor = Math.floor;
+ var mathpow = Math.pow;
+ var isBinary = /^0b([01]+(\.[01]*)?|\.[01]+)(p[+-]?\d+)?$/i;
+ var isHex = /^0x([0-9a-f]+(\.[0-9a-f]*)?|\.[0-9a-f]+)(p[+-]?\d+)?$/i;
+ var isOctal = /^0o([0-7]+(\.[0-7]*)?|\.[0-7]+)(p[+-]?\d+)?$/i;
+ var isDecimal = /^(\d+(\.\d*)?|\.\d+)(e[+-]?\d+)?$/i;
+ var BASE = 1e7;
+ var LOG_BASE = 7;
+ var MAX_SAFE_INTEGER = 9007199254740991;
+ var LN10_PRECISION = LN10.length - 1;
+ var PI_PRECISION = PI.length - 1;
+ var P = { toStringTag: tag };
+ P.absoluteValue = P.abs = function() {
+ var x = new this.constructor(this);
+ if (x.s < 0) x.s = 1;
+ return finalise(x);
+ };
+ P.ceil = function() {
+ return finalise(new this.constructor(this), this.e + 1, 2);
+ };
+ P.clampedTo = P.clamp = function(min2, max2) {
+ var k5, x = this, Ctor = x.constructor;
+ min2 = new Ctor(min2);
+ max2 = new Ctor(max2);
+ if (!min2.s || !max2.s) return new Ctor(NaN);
+ if (min2.gt(max2)) throw Error(invalidArgument + max2);
+ k5 = x.cmp(min2);
+ return k5 < 0 ? min2 : x.cmp(max2) > 0 ? max2 : new Ctor(x);
+ };
+ P.comparedTo = P.cmp = function(y) {
+ var i5, j5, xdL, ydL, x = this, xd = x.d, yd = (y = new x.constructor(y)).d, xs = x.s, ys = y.s;
+ if (!xd || !yd) {
+ return !xs || !ys ? NaN : xs !== ys ? xs : xd === yd ? 0 : !xd ^ xs < 0 ? 1 : -1;
+ }
+ if (!xd[0] || !yd[0]) return xd[0] ? xs : yd[0] ? -ys : 0;
+ if (xs !== ys) return xs;
+ if (x.e !== y.e) return x.e > y.e ^ xs < 0 ? 1 : -1;
+ xdL = xd.length;
+ ydL = yd.length;
+ for (i5 = 0, j5 = xdL < ydL ? xdL : ydL; i5 < j5; ++i5) {
+ if (xd[i5] !== yd[i5]) return xd[i5] > yd[i5] ^ xs < 0 ? 1 : -1;
+ }
+ return xdL === ydL ? 0 : xdL > ydL ^ xs < 0 ? 1 : -1;
+ };
+ P.cosine = P.cos = function() {
+ var pr, rm, x = this, Ctor = x.constructor;
+ if (!x.d) return new Ctor(NaN);
+ if (!x.d[0]) return new Ctor(1);
+ pr = Ctor.precision;
+ rm = Ctor.rounding;
+ Ctor.precision = pr + Math.max(x.e, x.sd()) + LOG_BASE;
+ Ctor.rounding = 1;
+ x = cosine(Ctor, toLessThanHalfPi(Ctor, x));
+ Ctor.precision = pr;
+ Ctor.rounding = rm;
+ return finalise(quadrant == 2 || quadrant == 3 ? x.neg() : x, pr, rm, true);
+ };
+ P.cubeRoot = P.cbrt = function() {
+ var e5, m3, n3, r5, rep, s2, sd, t, t32, t3plusx, x = this, Ctor = x.constructor;
+ if (!x.isFinite() || x.isZero()) return new Ctor(x);
+ external = false;
+ s2 = x.s * mathpow(x.s * x, 1 / 3);
+ if (!s2 || Math.abs(s2) == 1 / 0) {
+ n3 = digitsToString(x.d);
+ e5 = x.e;
+ if (s2 = (e5 - n3.length + 1) % 3) n3 += s2 == 1 || s2 == -2 ? "0" : "00";
+ s2 = mathpow(n3, 1 / 3);
+ e5 = mathfloor((e5 + 1) / 3) - (e5 % 3 == (e5 < 0 ? -1 : 2));
+ if (s2 == 1 / 0) {
+ n3 = "5e" + e5;
+ } else {
+ n3 = s2.toExponential();
+ n3 = n3.slice(0, n3.indexOf("e") + 1) + e5;
+ }
+ r5 = new Ctor(n3);
+ r5.s = x.s;
+ } else {
+ r5 = new Ctor(s2.toString());
+ }
+ sd = (e5 = Ctor.precision) + 3;
+ for (; ; ) {
+ t = r5;
+ t32 = t.times(t).times(t);
+ t3plusx = t32.plus(x);
+ r5 = divide(t3plusx.plus(x).times(t), t3plusx.plus(t32), sd + 2, 1);
+ if (digitsToString(t.d).slice(0, sd) === (n3 = digitsToString(r5.d)).slice(0, sd)) {
+ n3 = n3.slice(sd - 3, sd + 1);
+ if (n3 == "9999" || !rep && n3 == "4999") {
+ if (!rep) {
+ finalise(t, e5 + 1, 0);
+ if (t.times(t).times(t).eq(x)) {
+ r5 = t;
+ break;
+ }
+ }
+ sd += 4;
+ rep = 1;
+ } else {
+ if (!+n3 || !+n3.slice(1) && n3.charAt(0) == "5") {
+ finalise(r5, e5 + 1, 1);
+ m3 = !r5.times(r5).times(r5).eq(x);
+ }
+ break;
+ }
+ }
+ }
+ external = true;
+ return finalise(r5, e5, Ctor.rounding, m3);
+ };
+ P.decimalPlaces = P.dp = function() {
+ var w, d5 = this.d, n3 = NaN;
+ if (d5) {
+ w = d5.length - 1;
+ n3 = (w - mathfloor(this.e / LOG_BASE)) * LOG_BASE;
+ w = d5[w];
+ if (w) for (; w % 10 == 0; w /= 10) n3--;
+ if (n3 < 0) n3 = 0;
+ }
+ return n3;
+ };
+ P.dividedBy = P.div = function(y) {
+ return divide(this, new this.constructor(y));
+ };
+ P.dividedToIntegerBy = P.divToInt = function(y) {
+ var x = this, Ctor = x.constructor;
+ return finalise(divide(x, new Ctor(y), 0, 1, 1), Ctor.precision, Ctor.rounding);
+ };
+ P.equals = P.eq = function(y) {
+ return this.cmp(y) === 0;
+ };
+ P.floor = function() {
+ return finalise(new this.constructor(this), this.e + 1, 3);
+ };
+ P.greaterThan = P.gt = function(y) {
+ return this.cmp(y) > 0;
+ };
+ P.greaterThanOrEqualTo = P.gte = function(y) {
+ var k5 = this.cmp(y);
+ return k5 == 1 || k5 === 0;
+ };
+ P.hyperbolicCosine = P.cosh = function() {
+ var k5, n3, pr, rm, len, x = this, Ctor = x.constructor, one = new Ctor(1);
+ if (!x.isFinite()) return new Ctor(x.s ? 1 / 0 : NaN);
+ if (x.isZero()) return one;
+ pr = Ctor.precision;
+ rm = Ctor.rounding;
+ Ctor.precision = pr + Math.max(x.e, x.sd()) + 4;
+ Ctor.rounding = 1;
+ len = x.d.length;
+ if (len < 32) {
+ k5 = Math.ceil(len / 3);
+ n3 = (1 / tinyPow(4, k5)).toString();
+ } else {
+ k5 = 16;
+ n3 = "2.3283064365386962890625e-10";
+ }
+ x = taylorSeries(Ctor, 1, x.times(n3), new Ctor(1), true);
+ var cosh2_x, i5 = k5, d8 = new Ctor(8);
+ for (; i5--; ) {
+ cosh2_x = x.times(x);
+ x = one.minus(cosh2_x.times(d8.minus(cosh2_x.times(d8))));
+ }
+ return finalise(x, Ctor.precision = pr, Ctor.rounding = rm, true);
+ };
+ P.hyperbolicSine = P.sinh = function() {
+ var k5, pr, rm, len, x = this, Ctor = x.constructor;
+ if (!x.isFinite() || x.isZero()) return new Ctor(x);
+ pr = Ctor.precision;
+ rm = Ctor.rounding;
+ Ctor.precision = pr + Math.max(x.e, x.sd()) + 4;
+ Ctor.rounding = 1;
+ len = x.d.length;
+ if (len < 3) {
+ x = taylorSeries(Ctor, 2, x, x, true);
+ } else {
+ k5 = 1.4 * Math.sqrt(len);
+ k5 = k5 > 16 ? 16 : k5 | 0;
+ x = x.times(1 / tinyPow(5, k5));
+ x = taylorSeries(Ctor, 2, x, x, true);
+ var sinh2_x, d5 = new Ctor(5), d16 = new Ctor(16), d20 = new Ctor(20);
+ for (; k5--; ) {
+ sinh2_x = x.times(x);
+ x = x.times(d5.plus(sinh2_x.times(d16.times(sinh2_x).plus(d20))));
+ }
+ }
+ Ctor.precision = pr;
+ Ctor.rounding = rm;
+ return finalise(x, pr, rm, true);
+ };
+ P.hyperbolicTangent = P.tanh = function() {
+ var pr, rm, x = this, Ctor = x.constructor;
+ if (!x.isFinite()) return new Ctor(x.s);
+ if (x.isZero()) return new Ctor(x);
+ pr = Ctor.precision;
+ rm = Ctor.rounding;
+ Ctor.precision = pr + 7;
+ Ctor.rounding = 1;
+ return divide(x.sinh(), x.cosh(), Ctor.precision = pr, Ctor.rounding = rm);
+ };
+ P.inverseCosine = P.acos = function() {
+ var x = this, Ctor = x.constructor, k5 = x.abs().cmp(1), pr = Ctor.precision, rm = Ctor.rounding;
+ if (k5 !== -1) {
+ return k5 === 0 ? x.isNeg() ? getPi(Ctor, pr, rm) : new Ctor(0) : new Ctor(NaN);
+ }
+ if (x.isZero()) return getPi(Ctor, pr + 4, rm).times(0.5);
+ Ctor.precision = pr + 6;
+ Ctor.rounding = 1;
+ x = new Ctor(1).minus(x).div(x.plus(1)).sqrt().atan();
+ Ctor.precision = pr;
+ Ctor.rounding = rm;
+ return x.times(2);
+ };
+ P.inverseHyperbolicCosine = P.acosh = function() {
+ var pr, rm, x = this, Ctor = x.constructor;
+ if (x.lte(1)) return new Ctor(x.eq(1) ? 0 : NaN);
+ if (!x.isFinite()) return new Ctor(x);
+ pr = Ctor.precision;
+ rm = Ctor.rounding;
+ Ctor.precision = pr + Math.max(Math.abs(x.e), x.sd()) + 4;
+ Ctor.rounding = 1;
+ external = false;
+ x = x.times(x).minus(1).sqrt().plus(x);
+ external = true;
+ Ctor.precision = pr;
+ Ctor.rounding = rm;
+ return x.ln();
+ };
+ P.inverseHyperbolicSine = P.asinh = function() {
+ var pr, rm, x = this, Ctor = x.constructor;
+ if (!x.isFinite() || x.isZero()) return new Ctor(x);
+ pr = Ctor.precision;
+ rm = Ctor.rounding;
+ Ctor.precision = pr + 2 * Math.max(Math.abs(x.e), x.sd()) + 6;
+ Ctor.rounding = 1;
+ external = false;
+ x = x.times(x).plus(1).sqrt().plus(x);
+ external = true;
+ Ctor.precision = pr;
+ Ctor.rounding = rm;
+ return x.ln();
+ };
+ P.inverseHyperbolicTangent = P.atanh = function() {
+ var pr, rm, wpr, xsd, x = this, Ctor = x.constructor;
+ if (!x.isFinite()) return new Ctor(NaN);
+ if (x.e >= 0) return new Ctor(x.abs().eq(1) ? x.s / 0 : x.isZero() ? x : NaN);
+ pr = Ctor.precision;
+ rm = Ctor.rounding;
+ xsd = x.sd();
+ if (Math.max(xsd, pr) < 2 * -x.e - 1) return finalise(new Ctor(x), pr, rm, true);
+ Ctor.precision = wpr = xsd - x.e;
+ x = divide(x.plus(1), new Ctor(1).minus(x), wpr + pr, 1);
+ Ctor.precision = pr + 4;
+ Ctor.rounding = 1;
+ x = x.ln();
+ Ctor.precision = pr;
+ Ctor.rounding = rm;
+ return x.times(0.5);
+ };
+ P.inverseSine = P.asin = function() {
+ var halfPi, k5, pr, rm, x = this, Ctor = x.constructor;
+ if (x.isZero()) return new Ctor(x);
+ k5 = x.abs().cmp(1);
+ pr = Ctor.precision;
+ rm = Ctor.rounding;
+ if (k5 !== -1) {
+ if (k5 === 0) {
+ halfPi = getPi(Ctor, pr + 4, rm).times(0.5);
+ halfPi.s = x.s;
+ return halfPi;
+ }
+ return new Ctor(NaN);
+ }
+ Ctor.precision = pr + 6;
+ Ctor.rounding = 1;
+ x = x.div(new Ctor(1).minus(x.times(x)).sqrt().plus(1)).atan();
+ Ctor.precision = pr;
+ Ctor.rounding = rm;
+ return x.times(2);
+ };
+ P.inverseTangent = P.atan = function() {
+ var i5, j5, k5, n3, px, t, r5, wpr, x2, x = this, Ctor = x.constructor, pr = Ctor.precision, rm = Ctor.rounding;
+ if (!x.isFinite()) {
+ if (!x.s) return new Ctor(NaN);
+ if (pr + 4 <= PI_PRECISION) {
+ r5 = getPi(Ctor, pr + 4, rm).times(0.5);
+ r5.s = x.s;
+ return r5;
+ }
+ } else if (x.isZero()) {
+ return new Ctor(x);
+ } else if (x.abs().eq(1) && pr + 4 <= PI_PRECISION) {
+ r5 = getPi(Ctor, pr + 4, rm).times(0.25);
+ r5.s = x.s;
+ return r5;
+ }
+ Ctor.precision = wpr = pr + 10;
+ Ctor.rounding = 1;
+ k5 = Math.min(28, wpr / LOG_BASE + 2 | 0);
+ for (i5 = k5; i5; --i5) x = x.div(x.times(x).plus(1).sqrt().plus(1));
+ external = false;
+ j5 = Math.ceil(wpr / LOG_BASE);
+ n3 = 1;
+ x2 = x.times(x);
+ r5 = new Ctor(x);
+ px = x;
+ for (; i5 !== -1; ) {
+ px = px.times(x2);
+ t = r5.minus(px.div(n3 += 2));
+ px = px.times(x2);
+ r5 = t.plus(px.div(n3 += 2));
+ if (r5.d[j5] !== void 0) for (i5 = j5; r5.d[i5] === t.d[i5] && i5--; ) ;
+ }
+ if (k5) r5 = r5.times(2 << k5 - 1);
+ external = true;
+ return finalise(r5, Ctor.precision = pr, Ctor.rounding = rm, true);
+ };
+ P.isFinite = function() {
+ return !!this.d;
+ };
+ P.isInteger = P.isInt = function() {
+ return !!this.d && mathfloor(this.e / LOG_BASE) > this.d.length - 2;
+ };
+ P.isNaN = function() {
+ return !this.s;
+ };
+ P.isNegative = P.isNeg = function() {
+ return this.s < 0;
+ };
+ P.isPositive = P.isPos = function() {
+ return this.s > 0;
+ };
+ P.isZero = function() {
+ return !!this.d && this.d[0] === 0;
+ };
+ P.lessThan = P.lt = function(y) {
+ return this.cmp(y) < 0;
+ };
+ P.lessThanOrEqualTo = P.lte = function(y) {
+ return this.cmp(y) < 1;
+ };
+ P.logarithm = P.log = function(base) {
+ var isBase10, d5, denominator, k5, inf, num, sd, r5, arg = this, Ctor = arg.constructor, pr = Ctor.precision, rm = Ctor.rounding, guard = 5;
+ if (base == null) {
+ base = new Ctor(10);
+ isBase10 = true;
+ } else {
+ base = new Ctor(base);
+ d5 = base.d;
+ if (base.s < 0 || !d5 || !d5[0] || base.eq(1)) return new Ctor(NaN);
+ isBase10 = base.eq(10);
+ }
+ d5 = arg.d;
+ if (arg.s < 0 || !d5 || !d5[0] || arg.eq(1)) {
+ return new Ctor(d5 && !d5[0] ? -1 / 0 : arg.s != 1 ? NaN : d5 ? 0 : 1 / 0);
+ }
+ if (isBase10) {
+ if (d5.length > 1) {
+ inf = true;
+ } else {
+ for (k5 = d5[0]; k5 % 10 === 0; ) k5 /= 10;
+ inf = k5 !== 1;
+ }
+ }
+ external = false;
+ sd = pr + guard;
+ num = naturalLogarithm(arg, sd);
+ denominator = isBase10 ? getLn10(Ctor, sd + 10) : naturalLogarithm(base, sd);
+ r5 = divide(num, denominator, sd, 1);
+ if (checkRoundingDigits(r5.d, k5 = pr, rm)) {
+ do {
+ sd += 10;
+ num = naturalLogarithm(arg, sd);
+ denominator = isBase10 ? getLn10(Ctor, sd + 10) : naturalLogarithm(base, sd);
+ r5 = divide(num, denominator, sd, 1);
+ if (!inf) {
+ if (+digitsToString(r5.d).slice(k5 + 1, k5 + 15) + 1 == 1e14) {
+ r5 = finalise(r5, pr + 1, 0);
+ }
+ break;
+ }
+ } while (checkRoundingDigits(r5.d, k5 += 10, rm));
+ }
+ external = true;
+ return finalise(r5, pr, rm);
+ };
+ P.minus = P.sub = function(y) {
+ var d5, e5, i5, j5, k5, len, pr, rm, xd, xe, xLTy, yd, x = this, Ctor = x.constructor;
+ y = new Ctor(y);
+ if (!x.d || !y.d) {
+ if (!x.s || !y.s) y = new Ctor(NaN);
+ else if (x.d) y.s = -y.s;
+ else y = new Ctor(y.d || x.s !== y.s ? x : NaN);
+ return y;
+ }
+ if (x.s != y.s) {
+ y.s = -y.s;
+ return x.plus(y);
+ }
+ xd = x.d;
+ yd = y.d;
+ pr = Ctor.precision;
+ rm = Ctor.rounding;
+ if (!xd[0] || !yd[0]) {
+ if (yd[0]) y.s = -y.s;
+ else if (xd[0]) y = new Ctor(x);
+ else return new Ctor(rm === 3 ? -0 : 0);
+ return external ? finalise(y, pr, rm) : y;
+ }
+ e5 = mathfloor(y.e / LOG_BASE);
+ xe = mathfloor(x.e / LOG_BASE);
+ xd = xd.slice();
+ k5 = xe - e5;
+ if (k5) {
+ xLTy = k5 < 0;
+ if (xLTy) {
+ d5 = xd;
+ k5 = -k5;
+ len = yd.length;
+ } else {
+ d5 = yd;
+ e5 = xe;
+ len = xd.length;
+ }
+ i5 = Math.max(Math.ceil(pr / LOG_BASE), len) + 2;
+ if (k5 > i5) {
+ k5 = i5;
+ d5.length = 1;
+ }
+ d5.reverse();
+ for (i5 = k5; i5--; ) d5.push(0);
+ d5.reverse();
+ } else {
+ i5 = xd.length;
+ len = yd.length;
+ xLTy = i5 < len;
+ if (xLTy) len = i5;
+ for (i5 = 0; i5 < len; i5++) {
+ if (xd[i5] != yd[i5]) {
+ xLTy = xd[i5] < yd[i5];
+ break;
+ }
+ }
+ k5 = 0;
+ }
+ if (xLTy) {
+ d5 = xd;
+ xd = yd;
+ yd = d5;
+ y.s = -y.s;
+ }
+ len = xd.length;
+ for (i5 = yd.length - len; i5 > 0; --i5) xd[len++] = 0;
+ for (i5 = yd.length; i5 > k5; ) {
+ if (xd[--i5] < yd[i5]) {
+ for (j5 = i5; j5 && xd[--j5] === 0; ) xd[j5] = BASE - 1;
+ --xd[j5];
+ xd[i5] += BASE;
+ }
+ xd[i5] -= yd[i5];
+ }
+ for (; xd[--len] === 0; ) xd.pop();
+ for (; xd[0] === 0; xd.shift()) --e5;
+ if (!xd[0]) return new Ctor(rm === 3 ? -0 : 0);
+ y.d = xd;
+ y.e = getBase10Exponent(xd, e5);
+ return external ? finalise(y, pr, rm) : y;
+ };
+ P.modulo = P.mod = function(y) {
+ var q3, x = this, Ctor = x.constructor;
+ y = new Ctor(y);
+ if (!x.d || !y.s || y.d && !y.d[0]) return new Ctor(NaN);
+ if (!y.d || x.d && !x.d[0]) {
+ return finalise(new Ctor(x), Ctor.precision, Ctor.rounding);
+ }
+ external = false;
+ if (Ctor.modulo == 9) {
+ q3 = divide(x, y.abs(), 0, 3, 1);
+ q3.s *= y.s;
+ } else {
+ q3 = divide(x, y, 0, Ctor.modulo, 1);
+ }
+ q3 = q3.times(y);
+ external = true;
+ return x.minus(q3);
+ };
+ P.naturalExponential = P.exp = function() {
+ return naturalExponential(this);
+ };
+ P.naturalLogarithm = P.ln = function() {
+ return naturalLogarithm(this);
+ };
+ P.negated = P.neg = function() {
+ var x = new this.constructor(this);
+ x.s = -x.s;
+ return finalise(x);
+ };
+ P.plus = P.add = function(y) {
+ var carry, d5, e5, i5, k5, len, pr, rm, xd, yd, x = this, Ctor = x.constructor;
+ y = new Ctor(y);
+ if (!x.d || !y.d) {
+ if (!x.s || !y.s) y = new Ctor(NaN);
+ else if (!x.d) y = new Ctor(y.d || x.s === y.s ? x : NaN);
+ return y;
+ }
+ if (x.s != y.s) {
+ y.s = -y.s;
+ return x.minus(y);
+ }
+ xd = x.d;
+ yd = y.d;
+ pr = Ctor.precision;
+ rm = Ctor.rounding;
+ if (!xd[0] || !yd[0]) {
+ if (!yd[0]) y = new Ctor(x);
+ return external ? finalise(y, pr, rm) : y;
+ }
+ k5 = mathfloor(x.e / LOG_BASE);
+ e5 = mathfloor(y.e / LOG_BASE);
+ xd = xd.slice();
+ i5 = k5 - e5;
+ if (i5) {
+ if (i5 < 0) {
+ d5 = xd;
+ i5 = -i5;
+ len = yd.length;
+ } else {
+ d5 = yd;
+ e5 = k5;
+ len = xd.length;
+ }
+ k5 = Math.ceil(pr / LOG_BASE);
+ len = k5 > len ? k5 + 1 : len + 1;
+ if (i5 > len) {
+ i5 = len;
+ d5.length = 1;
+ }
+ d5.reverse();
+ for (; i5--; ) d5.push(0);
+ d5.reverse();
+ }
+ len = xd.length;
+ i5 = yd.length;
+ if (len - i5 < 0) {
+ i5 = len;
+ d5 = yd;
+ yd = xd;
+ xd = d5;
+ }
+ for (carry = 0; i5; ) {
+ carry = (xd[--i5] = xd[i5] + yd[i5] + carry) / BASE | 0;
+ xd[i5] %= BASE;
+ }
+ if (carry) {
+ xd.unshift(carry);
+ ++e5;
+ }
+ for (len = xd.length; xd[--len] == 0; ) xd.pop();
+ y.d = xd;
+ y.e = getBase10Exponent(xd, e5);
+ return external ? finalise(y, pr, rm) : y;
+ };
+ P.precision = P.sd = function(z2) {
+ var k5, x = this;
+ if (z2 !== void 0 && z2 !== !!z2 && z2 !== 1 && z2 !== 0) throw Error(invalidArgument + z2);
+ if (x.d) {
+ k5 = getPrecision(x.d);
+ if (z2 && x.e + 1 > k5) k5 = x.e + 1;
+ } else {
+ k5 = NaN;
+ }
+ return k5;
+ };
+ P.round = function() {
+ var x = this, Ctor = x.constructor;
+ return finalise(new Ctor(x), x.e + 1, Ctor.rounding);
+ };
+ P.sine = P.sin = function() {
+ var pr, rm, x = this, Ctor = x.constructor;
+ if (!x.isFinite()) return new Ctor(NaN);
+ if (x.isZero()) return new Ctor(x);
+ pr = Ctor.precision;
+ rm = Ctor.rounding;
+ Ctor.precision = pr + Math.max(x.e, x.sd()) + LOG_BASE;
+ Ctor.rounding = 1;
+ x = sine(Ctor, toLessThanHalfPi(Ctor, x));
+ Ctor.precision = pr;
+ Ctor.rounding = rm;
+ return finalise(quadrant > 2 ? x.neg() : x, pr, rm, true);
+ };
+ P.squareRoot = P.sqrt = function() {
+ var m3, n3, sd, r5, rep, t, x = this, d5 = x.d, e5 = x.e, s2 = x.s, Ctor = x.constructor;
+ if (s2 !== 1 || !d5 || !d5[0]) {
+ return new Ctor(!s2 || s2 < 0 && (!d5 || d5[0]) ? NaN : d5 ? x : 1 / 0);
+ }
+ external = false;
+ s2 = Math.sqrt(+x);
+ if (s2 == 0 || s2 == 1 / 0) {
+ n3 = digitsToString(d5);
+ if ((n3.length + e5) % 2 == 0) n3 += "0";
+ s2 = Math.sqrt(n3);
+ e5 = mathfloor((e5 + 1) / 2) - (e5 < 0 || e5 % 2);
+ if (s2 == 1 / 0) {
+ n3 = "5e" + e5;
+ } else {
+ n3 = s2.toExponential();
+ n3 = n3.slice(0, n3.indexOf("e") + 1) + e5;
+ }
+ r5 = new Ctor(n3);
+ } else {
+ r5 = new Ctor(s2.toString());
+ }
+ sd = (e5 = Ctor.precision) + 3;
+ for (; ; ) {
+ t = r5;
+ r5 = t.plus(divide(x, t, sd + 2, 1)).times(0.5);
+ if (digitsToString(t.d).slice(0, sd) === (n3 = digitsToString(r5.d)).slice(0, sd)) {
+ n3 = n3.slice(sd - 3, sd + 1);
+ if (n3 == "9999" || !rep && n3 == "4999") {
+ if (!rep) {
+ finalise(t, e5 + 1, 0);
+ if (t.times(t).eq(x)) {
+ r5 = t;
+ break;
+ }
+ }
+ sd += 4;
+ rep = 1;
+ } else {
+ if (!+n3 || !+n3.slice(1) && n3.charAt(0) == "5") {
+ finalise(r5, e5 + 1, 1);
+ m3 = !r5.times(r5).eq(x);
+ }
+ break;
+ }
+ }
+ }
+ external = true;
+ return finalise(r5, e5, Ctor.rounding, m3);
+ };
+ P.tangent = P.tan = function() {
+ var pr, rm, x = this, Ctor = x.constructor;
+ if (!x.isFinite()) return new Ctor(NaN);
+ if (x.isZero()) return new Ctor(x);
+ pr = Ctor.precision;
+ rm = Ctor.rounding;
+ Ctor.precision = pr + 10;
+ Ctor.rounding = 1;
+ x = x.sin();
+ x.s = 1;
+ x = divide(x, new Ctor(1).minus(x.times(x)).sqrt(), pr + 10, 0);
+ Ctor.precision = pr;
+ Ctor.rounding = rm;
+ return finalise(quadrant == 2 || quadrant == 4 ? x.neg() : x, pr, rm, true);
+ };
+ P.times = P.mul = function(y) {
+ var carry, e5, i5, k5, r5, rL, t, xdL, ydL, x = this, Ctor = x.constructor, xd = x.d, yd = (y = new Ctor(y)).d;
+ y.s *= x.s;
+ if (!xd || !xd[0] || !yd || !yd[0]) {
+ return new Ctor(!y.s || xd && !xd[0] && !yd || yd && !yd[0] && !xd ? NaN : !xd || !yd ? y.s / 0 : y.s * 0);
+ }
+ e5 = mathfloor(x.e / LOG_BASE) + mathfloor(y.e / LOG_BASE);
+ xdL = xd.length;
+ ydL = yd.length;
+ if (xdL < ydL) {
+ r5 = xd;
+ xd = yd;
+ yd = r5;
+ rL = xdL;
+ xdL = ydL;
+ ydL = rL;
+ }
+ r5 = [];
+ rL = xdL + ydL;
+ for (i5 = rL; i5--; ) r5.push(0);
+ for (i5 = ydL; --i5 >= 0; ) {
+ carry = 0;
+ for (k5 = xdL + i5; k5 > i5; ) {
+ t = r5[k5] + yd[i5] * xd[k5 - i5 - 1] + carry;
+ r5[k5--] = t % BASE | 0;
+ carry = t / BASE | 0;
+ }
+ r5[k5] = (r5[k5] + carry) % BASE | 0;
+ }
+ for (; !r5[--rL]; ) r5.pop();
+ if (carry) ++e5;
+ else r5.shift();
+ y.d = r5;
+ y.e = getBase10Exponent(r5, e5);
+ return external ? finalise(y, Ctor.precision, Ctor.rounding) : y;
+ };
+ P.toBinary = function(sd, rm) {
+ return toStringBinary(this, 2, sd, rm);
+ };
+ P.toDecimalPlaces = P.toDP = function(dp, rm) {
+ var x = this, Ctor = x.constructor;
+ x = new Ctor(x);
+ if (dp === void 0) return x;
+ checkInt32(dp, 0, MAX_DIGITS);
+ if (rm === void 0) rm = Ctor.rounding;
+ else checkInt32(rm, 0, 8);
+ return finalise(x, dp + x.e + 1, rm);
+ };
+ P.toExponential = function(dp, rm) {
+ var str, x = this, Ctor = x.constructor;
+ if (dp === void 0) {
+ str = finiteToString(x, true);
+ } else {
+ checkInt32(dp, 0, MAX_DIGITS);
+ if (rm === void 0) rm = Ctor.rounding;
+ else checkInt32(rm, 0, 8);
+ x = finalise(new Ctor(x), dp + 1, rm);
+ str = finiteToString(x, true, dp + 1);
+ }
+ return x.isNeg() && !x.isZero() ? "-" + str : str;
+ };
+ P.toFixed = function(dp, rm) {
+ var str, y, x = this, Ctor = x.constructor;
+ if (dp === void 0) {
+ str = finiteToString(x);
+ } else {
+ checkInt32(dp, 0, MAX_DIGITS);
+ if (rm === void 0) rm = Ctor.rounding;
+ else checkInt32(rm, 0, 8);
+ y = finalise(new Ctor(x), dp + x.e + 1, rm);
+ str = finiteToString(y, false, dp + y.e + 1);
+ }
+ return x.isNeg() && !x.isZero() ? "-" + str : str;
+ };
+ P.toFraction = function(maxD) {
+ var d5, d0, d1, d22, e5, k5, n3, n05, n1, pr, q3, r5, x = this, xd = x.d, Ctor = x.constructor;
+ if (!xd) return new Ctor(x);
+ n1 = d0 = new Ctor(1);
+ d1 = n05 = new Ctor(0);
+ d5 = new Ctor(d1);
+ e5 = d5.e = getPrecision(xd) - x.e - 1;
+ k5 = e5 % LOG_BASE;
+ d5.d[0] = mathpow(10, k5 < 0 ? LOG_BASE + k5 : k5);
+ if (maxD == null) {
+ maxD = e5 > 0 ? d5 : n1;
+ } else {
+ n3 = new Ctor(maxD);
+ if (!n3.isInt() || n3.lt(n1)) throw Error(invalidArgument + n3);
+ maxD = n3.gt(d5) ? e5 > 0 ? d5 : n1 : n3;
+ }
+ external = false;
+ n3 = new Ctor(digitsToString(xd));
+ pr = Ctor.precision;
+ Ctor.precision = e5 = xd.length * LOG_BASE * 2;
+ for (; ; ) {
+ q3 = divide(n3, d5, 0, 1, 1);
+ d22 = d0.plus(q3.times(d1));
+ if (d22.cmp(maxD) == 1) break;
+ d0 = d1;
+ d1 = d22;
+ d22 = n1;
+ n1 = n05.plus(q3.times(d22));
+ n05 = d22;
+ d22 = d5;
+ d5 = n3.minus(q3.times(d22));
+ n3 = d22;
+ }
+ d22 = divide(maxD.minus(d0), d1, 0, 1, 1);
+ n05 = n05.plus(d22.times(n1));
+ d0 = d0.plus(d22.times(d1));
+ n05.s = n1.s = x.s;
+ r5 = divide(n1, d1, e5, 1).minus(x).abs().cmp(divide(n05, d0, e5, 1).minus(x).abs()) < 1 ? [n1, d1] : [n05, d0];
+ Ctor.precision = pr;
+ external = true;
+ return r5;
+ };
+ P.toHexadecimal = P.toHex = function(sd, rm) {
+ return toStringBinary(this, 16, sd, rm);
+ };
+ P.toNearest = function(y, rm) {
+ var x = this, Ctor = x.constructor;
+ x = new Ctor(x);
+ if (y == null) {
+ if (!x.d) return x;
+ y = new Ctor(1);
+ rm = Ctor.rounding;
+ } else {
+ y = new Ctor(y);
+ if (rm === void 0) {
+ rm = Ctor.rounding;
+ } else {
+ checkInt32(rm, 0, 8);
+ }
+ if (!x.d) return y.s ? x : y;
+ if (!y.d) {
+ if (y.s) y.s = x.s;
+ return y;
+ }
+ }
+ if (y.d[0]) {
+ external = false;
+ x = divide(x, y, 0, rm, 1).times(y);
+ external = true;
+ finalise(x);
+ } else {
+ y.s = x.s;
+ x = y;
+ }
+ return x;
+ };
+ P.toNumber = function() {
+ return +this;
+ };
+ P.toOctal = function(sd, rm) {
+ return toStringBinary(this, 8, sd, rm);
+ };
+ P.toPower = P.pow = function(y) {
+ var e5, k5, pr, r5, rm, s2, x = this, Ctor = x.constructor, yn = +(y = new Ctor(y));
+ if (!x.d || !y.d || !x.d[0] || !y.d[0]) return new Ctor(mathpow(+x, yn));
+ x = new Ctor(x);
+ if (x.eq(1)) return x;
+ pr = Ctor.precision;
+ rm = Ctor.rounding;
+ if (y.eq(1)) return finalise(x, pr, rm);
+ e5 = mathfloor(y.e / LOG_BASE);
+ if (e5 >= y.d.length - 1 && (k5 = yn < 0 ? -yn : yn) <= MAX_SAFE_INTEGER) {
+ r5 = intPow(Ctor, x, k5, pr);
+ return y.s < 0 ? new Ctor(1).div(r5) : finalise(r5, pr, rm);
+ }
+ s2 = x.s;
+ if (s2 < 0) {
+ if (e5 < y.d.length - 1) return new Ctor(NaN);
+ if ((y.d[e5] & 1) == 0) s2 = 1;
+ if (x.e == 0 && x.d[0] == 1 && x.d.length == 1) {
+ x.s = s2;
+ return x;
+ }
+ }
+ k5 = mathpow(+x, yn);
+ e5 = k5 == 0 || !isFinite(k5) ? mathfloor(yn * (Math.log("0." + digitsToString(x.d)) / Math.LN10 + x.e + 1)) : new Ctor(k5 + "").e;
+ if (e5 > Ctor.maxE + 1 || e5 < Ctor.minE - 1) return new Ctor(e5 > 0 ? s2 / 0 : 0);
+ external = false;
+ Ctor.rounding = x.s = 1;
+ k5 = Math.min(12, (e5 + "").length);
+ r5 = naturalExponential(y.times(naturalLogarithm(x, pr + k5)), pr);
+ if (r5.d) {
+ r5 = finalise(r5, pr + 5, 1);
+ if (checkRoundingDigits(r5.d, pr, rm)) {
+ e5 = pr + 10;
+ r5 = finalise(naturalExponential(y.times(naturalLogarithm(x, e5 + k5)), e5), e5 + 5, 1);
+ if (+digitsToString(r5.d).slice(pr + 1, pr + 15) + 1 == 1e14) {
+ r5 = finalise(r5, pr + 1, 0);
+ }
+ }
+ }
+ r5.s = s2;
+ external = true;
+ Ctor.rounding = rm;
+ return finalise(r5, pr, rm);
+ };
+ P.toPrecision = function(sd, rm) {
+ var str, x = this, Ctor = x.constructor;
+ if (sd === void 0) {
+ str = finiteToString(x, x.e <= Ctor.toExpNeg || x.e >= Ctor.toExpPos);
+ } else {
+ checkInt32(sd, 1, MAX_DIGITS);
+ if (rm === void 0) rm = Ctor.rounding;
+ else checkInt32(rm, 0, 8);
+ x = finalise(new Ctor(x), sd, rm);
+ str = finiteToString(x, sd <= x.e || x.e <= Ctor.toExpNeg, sd);
+ }
+ return x.isNeg() && !x.isZero() ? "-" + str : str;
+ };
+ P.toSignificantDigits = P.toSD = function(sd, rm) {
+ var x = this, Ctor = x.constructor;
+ if (sd === void 0) {
+ sd = Ctor.precision;
+ rm = Ctor.rounding;
+ } else {
+ checkInt32(sd, 1, MAX_DIGITS);
+ if (rm === void 0) rm = Ctor.rounding;
+ else checkInt32(rm, 0, 8);
+ }
+ return finalise(new Ctor(x), sd, rm);
+ };
+ P.toString = function() {
+ var x = this, Ctor = x.constructor, str = finiteToString(x, x.e <= Ctor.toExpNeg || x.e >= Ctor.toExpPos);
+ return x.isNeg() && !x.isZero() ? "-" + str : str;
+ };
+ P.truncated = P.trunc = function() {
+ return finalise(new this.constructor(this), this.e + 1, 1);
+ };
+ P.valueOf = P.toJSON = function() {
+ var x = this, Ctor = x.constructor, str = finiteToString(x, x.e <= Ctor.toExpNeg || x.e >= Ctor.toExpPos);
+ return x.isNeg() ? "-" + str : str;
+ };
+ function digitsToString(d5) {
+ var i5, k5, ws, indexOfLastWord = d5.length - 1, str = "", w = d5[0];
+ if (indexOfLastWord > 0) {
+ str += w;
+ for (i5 = 1; i5 < indexOfLastWord; i5++) {
+ ws = d5[i5] + "";
+ k5 = LOG_BASE - ws.length;
+ if (k5) str += getZeroString(k5);
+ str += ws;
+ }
+ w = d5[i5];
+ ws = w + "";
+ k5 = LOG_BASE - ws.length;
+ if (k5) str += getZeroString(k5);
+ } else if (w === 0) {
+ return "0";
+ }
+ for (; w % 10 === 0; ) w /= 10;
+ return str + w;
+ }
+ __name(digitsToString, "digitsToString");
+ function checkInt32(i5, min2, max2) {
+ if (i5 !== ~~i5 || i5 < min2 || i5 > max2) {
+ throw Error(invalidArgument + i5);
+ }
+ }
+ __name(checkInt32, "checkInt32");
+ function checkRoundingDigits(d5, i5, rm, repeating) {
+ var di, k5, r5, rd;
+ for (k5 = d5[0]; k5 >= 10; k5 /= 10) --i5;
+ if (--i5 < 0) {
+ i5 += LOG_BASE;
+ di = 0;
+ } else {
+ di = Math.ceil((i5 + 1) / LOG_BASE);
+ i5 %= LOG_BASE;
+ }
+ k5 = mathpow(10, LOG_BASE - i5);
+ rd = d5[di] % k5 | 0;
+ if (repeating == null) {
+ if (i5 < 3) {
+ if (i5 == 0) rd = rd / 100 | 0;
+ else if (i5 == 1) rd = rd / 10 | 0;
+ r5 = rm < 4 && rd == 99999 || rm > 3 && rd == 49999 || rd == 5e4 || rd == 0;
+ } else {
+ r5 = (rm < 4 && rd + 1 == k5 || rm > 3 && rd + 1 == k5 / 2) && (d5[di + 1] / k5 / 100 | 0) == mathpow(10, i5 - 2) - 1 || (rd == k5 / 2 || rd == 0) && (d5[di + 1] / k5 / 100 | 0) == 0;
+ }
+ } else {
+ if (i5 < 4) {
+ if (i5 == 0) rd = rd / 1e3 | 0;
+ else if (i5 == 1) rd = rd / 100 | 0;
+ else if (i5 == 2) rd = rd / 10 | 0;
+ r5 = (repeating || rm < 4) && rd == 9999 || !repeating && rm > 3 && rd == 4999;
+ } else {
+ r5 = ((repeating || rm < 4) && rd + 1 == k5 || !repeating && rm > 3 && rd + 1 == k5 / 2) && (d5[di + 1] / k5 / 1e3 | 0) == mathpow(10, i5 - 3) - 1;
+ }
+ }
+ return r5;
+ }
+ __name(checkRoundingDigits, "checkRoundingDigits");
+ function convertBase(str, baseIn, baseOut) {
+ var j5, arr = [0], arrL, i5 = 0, strL = str.length;
+ for (; i5 < strL; ) {
+ for (arrL = arr.length; arrL--; ) arr[arrL] *= baseIn;
+ arr[0] += NUMERALS.indexOf(str.charAt(i5++));
+ for (j5 = 0; j5 < arr.length; j5++) {
+ if (arr[j5] > baseOut - 1) {
+ if (arr[j5 + 1] === void 0) arr[j5 + 1] = 0;
+ arr[j5 + 1] += arr[j5] / baseOut | 0;
+ arr[j5] %= baseOut;
+ }
+ }
+ }
+ return arr.reverse();
+ }
+ __name(convertBase, "convertBase");
+ function cosine(Ctor, x) {
+ var k5, len, y;
+ if (x.isZero()) return x;
+ len = x.d.length;
+ if (len < 32) {
+ k5 = Math.ceil(len / 3);
+ y = (1 / tinyPow(4, k5)).toString();
+ } else {
+ k5 = 16;
+ y = "2.3283064365386962890625e-10";
+ }
+ Ctor.precision += k5;
+ x = taylorSeries(Ctor, 1, x.times(y), new Ctor(1));
+ for (var i5 = k5; i5--; ) {
+ var cos2x = x.times(x);
+ x = cos2x.times(cos2x).minus(cos2x).times(8).plus(1);
+ }
+ Ctor.precision -= k5;
+ return x;
+ }
+ __name(cosine, "cosine");
+ var divide = /* @__PURE__ */ (function() {
+ function multiplyInteger(x, k5, base) {
+ var temp, carry = 0, i5 = x.length;
+ for (x = x.slice(); i5--; ) {
+ temp = x[i5] * k5 + carry;
+ x[i5] = temp % base | 0;
+ carry = temp / base | 0;
+ }
+ if (carry) x.unshift(carry);
+ return x;
+ }
+ __name(multiplyInteger, "multiplyInteger");
+ function compare(a5, b5, aL, bL) {
+ var i5, r5;
+ if (aL != bL) {
+ r5 = aL > bL ? 1 : -1;
+ } else {
+ for (i5 = r5 = 0; i5 < aL; i5++) {
+ if (a5[i5] != b5[i5]) {
+ r5 = a5[i5] > b5[i5] ? 1 : -1;
+ break;
+ }
+ }
+ }
+ return r5;
+ }
+ __name(compare, "compare");
+ function subtract(a5, b5, aL, base) {
+ var i5 = 0;
+ for (; aL--; ) {
+ a5[aL] -= i5;
+ i5 = a5[aL] < b5[aL] ? 1 : 0;
+ a5[aL] = i5 * base + a5[aL] - b5[aL];
+ }
+ for (; !a5[0] && a5.length > 1; ) a5.shift();
+ }
+ __name(subtract, "subtract");
+ return function(x, y, pr, rm, dp, base) {
+ var cmp, e5, i5, k5, logBase, more, prod, prodL, q3, qd, rem, remL, rem0, sd, t, xi, xL, yd0, yL, yz, Ctor = x.constructor, sign22 = x.s == y.s ? 1 : -1, xd = x.d, yd = y.d;
+ if (!xd || !xd[0] || !yd || !yd[0]) {
+ return new Ctor(
+ // Return NaN if either NaN, or both Infinity or 0.
+ !x.s || !y.s || (xd ? yd && xd[0] == yd[0] : !yd) ? NaN : (
+ // Return ±0 if x is 0 or y is ±Infinity, or return ±Infinity as y is 0.
+ xd && xd[0] == 0 || !yd ? sign22 * 0 : sign22 / 0
+ )
+ );
+ }
+ if (base) {
+ logBase = 1;
+ e5 = x.e - y.e;
+ } else {
+ base = BASE;
+ logBase = LOG_BASE;
+ e5 = mathfloor(x.e / logBase) - mathfloor(y.e / logBase);
+ }
+ yL = yd.length;
+ xL = xd.length;
+ q3 = new Ctor(sign22);
+ qd = q3.d = [];
+ for (i5 = 0; yd[i5] == (xd[i5] || 0); i5++) ;
+ if (yd[i5] > (xd[i5] || 0)) e5--;
+ if (pr == null) {
+ sd = pr = Ctor.precision;
+ rm = Ctor.rounding;
+ } else if (dp) {
+ sd = pr + (x.e - y.e) + 1;
+ } else {
+ sd = pr;
+ }
+ if (sd < 0) {
+ qd.push(1);
+ more = true;
+ } else {
+ sd = sd / logBase + 2 | 0;
+ i5 = 0;
+ if (yL == 1) {
+ k5 = 0;
+ yd = yd[0];
+ sd++;
+ for (; (i5 < xL || k5) && sd--; i5++) {
+ t = k5 * base + (xd[i5] || 0);
+ qd[i5] = t / yd | 0;
+ k5 = t % yd | 0;
+ }
+ more = k5 || i5 < xL;
+ } else {
+ k5 = base / (yd[0] + 1) | 0;
+ if (k5 > 1) {
+ yd = multiplyInteger(yd, k5, base);
+ xd = multiplyInteger(xd, k5, base);
+ yL = yd.length;
+ xL = xd.length;
+ }
+ xi = yL;
+ rem = xd.slice(0, yL);
+ remL = rem.length;
+ for (; remL < yL; ) rem[remL++] = 0;
+ yz = yd.slice();
+ yz.unshift(0);
+ yd0 = yd[0];
+ if (yd[1] >= base / 2) ++yd0;
+ do {
+ k5 = 0;
+ cmp = compare(yd, rem, yL, remL);
+ if (cmp < 0) {
+ rem0 = rem[0];
+ if (yL != remL) rem0 = rem0 * base + (rem[1] || 0);
+ k5 = rem0 / yd0 | 0;
+ if (k5 > 1) {
+ if (k5 >= base) k5 = base - 1;
+ prod = multiplyInteger(yd, k5, base);
+ prodL = prod.length;
+ remL = rem.length;
+ cmp = compare(prod, rem, prodL, remL);
+ if (cmp == 1) {
+ k5--;
+ subtract(prod, yL < prodL ? yz : yd, prodL, base);
+ }
+ } else {
+ if (k5 == 0) cmp = k5 = 1;
+ prod = yd.slice();
+ }
+ prodL = prod.length;
+ if (prodL < remL) prod.unshift(0);
+ subtract(rem, prod, remL, base);
+ if (cmp == -1) {
+ remL = rem.length;
+ cmp = compare(yd, rem, yL, remL);
+ if (cmp < 1) {
+ k5++;
+ subtract(rem, yL < remL ? yz : yd, remL, base);
+ }
+ }
+ remL = rem.length;
+ } else if (cmp === 0) {
+ k5++;
+ rem = [0];
+ }
+ qd[i5++] = k5;
+ if (cmp && rem[0]) {
+ rem[remL++] = xd[xi] || 0;
+ } else {
+ rem = [xd[xi]];
+ remL = 1;
+ }
+ } while ((xi++ < xL || rem[0] !== void 0) && sd--);
+ more = rem[0] !== void 0;
+ }
+ if (!qd[0]) qd.shift();
+ }
+ if (logBase == 1) {
+ q3.e = e5;
+ inexact = more;
+ } else {
+ for (i5 = 1, k5 = qd[0]; k5 >= 10; k5 /= 10) i5++;
+ q3.e = i5 + e5 * logBase - 1;
+ finalise(q3, dp ? pr + q3.e + 1 : pr, rm, more);
+ }
+ return q3;
+ };
+ })();
+ function finalise(x, sd, rm, isTruncated) {
+ var digits, i5, j5, k5, rd, roundUp, w, xd, xdi, Ctor = x.constructor;
+ out: if (sd != null) {
+ xd = x.d;
+ if (!xd) return x;
+ for (digits = 1, k5 = xd[0]; k5 >= 10; k5 /= 10) digits++;
+ i5 = sd - digits;
+ if (i5 < 0) {
+ i5 += LOG_BASE;
+ j5 = sd;
+ w = xd[xdi = 0];
+ rd = w / mathpow(10, digits - j5 - 1) % 10 | 0;
+ } else {
+ xdi = Math.ceil((i5 + 1) / LOG_BASE);
+ k5 = xd.length;
+ if (xdi >= k5) {
+ if (isTruncated) {
+ for (; k5++ <= xdi; ) xd.push(0);
+ w = rd = 0;
+ digits = 1;
+ i5 %= LOG_BASE;
+ j5 = i5 - LOG_BASE + 1;
+ } else {
+ break out;
+ }
+ } else {
+ w = k5 = xd[xdi];
+ for (digits = 1; k5 >= 10; k5 /= 10) digits++;
+ i5 %= LOG_BASE;
+ j5 = i5 - LOG_BASE + digits;
+ rd = j5 < 0 ? 0 : w / mathpow(10, digits - j5 - 1) % 10 | 0;
+ }
+ }
+ isTruncated = isTruncated || sd < 0 || xd[xdi + 1] !== void 0 || (j5 < 0 ? w : w % mathpow(10, digits - j5 - 1));
+ roundUp = rm < 4 ? (rd || isTruncated) && (rm == 0 || rm == (x.s < 0 ? 3 : 2)) : rd > 5 || rd == 5 && (rm == 4 || isTruncated || rm == 6 && // Check whether the digit to the left of the rounding digit is odd.
+ (i5 > 0 ? j5 > 0 ? w / mathpow(10, digits - j5) : 0 : xd[xdi - 1]) % 10 & 1 || rm == (x.s < 0 ? 8 : 7));
+ if (sd < 1 || !xd[0]) {
+ xd.length = 0;
+ if (roundUp) {
+ sd -= x.e + 1;
+ xd[0] = mathpow(10, (LOG_BASE - sd % LOG_BASE) % LOG_BASE);
+ x.e = -sd || 0;
+ } else {
+ xd[0] = x.e = 0;
+ }
+ return x;
+ }
+ if (i5 == 0) {
+ xd.length = xdi;
+ k5 = 1;
+ xdi--;
+ } else {
+ xd.length = xdi + 1;
+ k5 = mathpow(10, LOG_BASE - i5);
+ xd[xdi] = j5 > 0 ? (w / mathpow(10, digits - j5) % mathpow(10, j5) | 0) * k5 : 0;
+ }
+ if (roundUp) {
+ for (; ; ) {
+ if (xdi == 0) {
+ for (i5 = 1, j5 = xd[0]; j5 >= 10; j5 /= 10) i5++;
+ j5 = xd[0] += k5;
+ for (k5 = 1; j5 >= 10; j5 /= 10) k5++;
+ if (i5 != k5) {
+ x.e++;
+ if (xd[0] == BASE) xd[0] = 1;
+ }
+ break;
+ } else {
+ xd[xdi] += k5;
+ if (xd[xdi] != BASE) break;
+ xd[xdi--] = 0;
+ k5 = 1;
+ }
+ }
+ }
+ for (i5 = xd.length; xd[--i5] === 0; ) xd.pop();
+ }
+ if (external) {
+ if (x.e > Ctor.maxE) {
+ x.d = null;
+ x.e = NaN;
+ } else if (x.e < Ctor.minE) {
+ x.e = 0;
+ x.d = [0];
+ }
+ }
+ return x;
+ }
+ __name(finalise, "finalise");
+ function finiteToString(x, isExp, sd) {
+ if (!x.isFinite()) return nonFiniteToString(x);
+ var k5, e5 = x.e, str = digitsToString(x.d), len = str.length;
+ if (isExp) {
+ if (sd && (k5 = sd - len) > 0) {
+ str = str.charAt(0) + "." + str.slice(1) + getZeroString(k5);
+ } else if (len > 1) {
+ str = str.charAt(0) + "." + str.slice(1);
+ }
+ str = str + (x.e < 0 ? "e" : "e+") + x.e;
+ } else if (e5 < 0) {
+ str = "0." + getZeroString(-e5 - 1) + str;
+ if (sd && (k5 = sd - len) > 0) str += getZeroString(k5);
+ } else if (e5 >= len) {
+ str += getZeroString(e5 + 1 - len);
+ if (sd && (k5 = sd - e5 - 1) > 0) str = str + "." + getZeroString(k5);
+ } else {
+ if ((k5 = e5 + 1) < len) str = str.slice(0, k5) + "." + str.slice(k5);
+ if (sd && (k5 = sd - len) > 0) {
+ if (e5 + 1 === len) str += ".";
+ str += getZeroString(k5);
+ }
+ }
+ return str;
+ }
+ __name(finiteToString, "finiteToString");
+ function getBase10Exponent(digits, e5) {
+ var w = digits[0];
+ for (e5 *= LOG_BASE; w >= 10; w /= 10) e5++;
+ return e5;
+ }
+ __name(getBase10Exponent, "getBase10Exponent");
+ function getLn10(Ctor, sd, pr) {
+ if (sd > LN10_PRECISION) {
+ external = true;
+ if (pr) Ctor.precision = pr;
+ throw Error(precisionLimitExceeded);
+ }
+ return finalise(new Ctor(LN10), sd, 1, true);
+ }
+ __name(getLn10, "getLn10");
+ function getPi(Ctor, sd, rm) {
+ if (sd > PI_PRECISION) throw Error(precisionLimitExceeded);
+ return finalise(new Ctor(PI), sd, rm, true);
+ }
+ __name(getPi, "getPi");
+ function getPrecision(digits) {
+ var w = digits.length - 1, len = w * LOG_BASE + 1;
+ w = digits[w];
+ if (w) {
+ for (; w % 10 == 0; w /= 10) len--;
+ for (w = digits[0]; w >= 10; w /= 10) len++;
+ }
+ return len;
+ }
+ __name(getPrecision, "getPrecision");
+ function getZeroString(k5) {
+ var zs = "";
+ for (; k5--; ) zs += "0";
+ return zs;
+ }
+ __name(getZeroString, "getZeroString");
+ function intPow(Ctor, x, n3, pr) {
+ var isTruncated, r5 = new Ctor(1), k5 = Math.ceil(pr / LOG_BASE + 4);
+ external = false;
+ for (; ; ) {
+ if (n3 % 2) {
+ r5 = r5.times(x);
+ if (truncate(r5.d, k5)) isTruncated = true;
+ }
+ n3 = mathfloor(n3 / 2);
+ if (n3 === 0) {
+ n3 = r5.d.length - 1;
+ if (isTruncated && r5.d[n3] === 0) ++r5.d[n3];
+ break;
+ }
+ x = x.times(x);
+ truncate(x.d, k5);
+ }
+ external = true;
+ return r5;
+ }
+ __name(intPow, "intPow");
+ function isOdd(n3) {
+ return n3.d[n3.d.length - 1] & 1;
+ }
+ __name(isOdd, "isOdd");
+ function maxOrMin(Ctor, args, n3) {
+ var k5, y, x = new Ctor(args[0]), i5 = 0;
+ for (; ++i5 < args.length; ) {
+ y = new Ctor(args[i5]);
+ if (!y.s) {
+ x = y;
+ break;
+ }
+ k5 = x.cmp(y);
+ if (k5 === n3 || k5 === 0 && x.s === n3) {
+ x = y;
+ }
+ }
+ return x;
+ }
+ __name(maxOrMin, "maxOrMin");
+ function naturalExponential(x, sd) {
+ var denominator, guard, j5, pow2, sum2, t, wpr, rep = 0, i5 = 0, k5 = 0, Ctor = x.constructor, rm = Ctor.rounding, pr = Ctor.precision;
+ if (!x.d || !x.d[0] || x.e > 17) {
+ return new Ctor(x.d ? !x.d[0] ? 1 : x.s < 0 ? 0 : 1 / 0 : x.s ? x.s < 0 ? 0 : x : 0 / 0);
+ }
+ if (sd == null) {
+ external = false;
+ wpr = pr;
+ } else {
+ wpr = sd;
+ }
+ t = new Ctor(0.03125);
+ while (x.e > -2) {
+ x = x.times(t);
+ k5 += 5;
+ }
+ guard = Math.log(mathpow(2, k5)) / Math.LN10 * 2 + 5 | 0;
+ wpr += guard;
+ denominator = pow2 = sum2 = new Ctor(1);
+ Ctor.precision = wpr;
+ for (; ; ) {
+ pow2 = finalise(pow2.times(x), wpr, 1);
+ denominator = denominator.times(++i5);
+ t = sum2.plus(divide(pow2, denominator, wpr, 1));
+ if (digitsToString(t.d).slice(0, wpr) === digitsToString(sum2.d).slice(0, wpr)) {
+ j5 = k5;
+ while (j5--) sum2 = finalise(sum2.times(sum2), wpr, 1);
+ if (sd == null) {
+ if (rep < 3 && checkRoundingDigits(sum2.d, wpr - guard, rm, rep)) {
+ Ctor.precision = wpr += 10;
+ denominator = pow2 = t = new Ctor(1);
+ i5 = 0;
+ rep++;
+ } else {
+ return finalise(sum2, Ctor.precision = pr, rm, external = true);
+ }
+ } else {
+ Ctor.precision = pr;
+ return sum2;
+ }
+ }
+ sum2 = t;
+ }
+ }
+ __name(naturalExponential, "naturalExponential");
+ function naturalLogarithm(y, sd) {
+ var c5, c0, denominator, e5, numerator, rep, sum2, t, wpr, x1, x2, n3 = 1, guard = 10, x = y, xd = x.d, Ctor = x.constructor, rm = Ctor.rounding, pr = Ctor.precision;
+ if (x.s < 0 || !xd || !xd[0] || !x.e && xd[0] == 1 && xd.length == 1) {
+ return new Ctor(xd && !xd[0] ? -1 / 0 : x.s != 1 ? NaN : xd ? 0 : x);
+ }
+ if (sd == null) {
+ external = false;
+ wpr = pr;
+ } else {
+ wpr = sd;
+ }
+ Ctor.precision = wpr += guard;
+ c5 = digitsToString(xd);
+ c0 = c5.charAt(0);
+ if (Math.abs(e5 = x.e) < 15e14) {
+ while (c0 < 7 && c0 != 1 || c0 == 1 && c5.charAt(1) > 3) {
+ x = x.times(y);
+ c5 = digitsToString(x.d);
+ c0 = c5.charAt(0);
+ n3++;
+ }
+ e5 = x.e;
+ if (c0 > 1) {
+ x = new Ctor("0." + c5);
+ e5++;
+ } else {
+ x = new Ctor(c0 + "." + c5.slice(1));
+ }
+ } else {
+ t = getLn10(Ctor, wpr + 2, pr).times(e5 + "");
+ x = naturalLogarithm(new Ctor(c0 + "." + c5.slice(1)), wpr - guard).plus(t);
+ Ctor.precision = pr;
+ return sd == null ? finalise(x, pr, rm, external = true) : x;
+ }
+ x1 = x;
+ sum2 = numerator = x = divide(x.minus(1), x.plus(1), wpr, 1);
+ x2 = finalise(x.times(x), wpr, 1);
+ denominator = 3;
+ for (; ; ) {
+ numerator = finalise(numerator.times(x2), wpr, 1);
+ t = sum2.plus(divide(numerator, new Ctor(denominator), wpr, 1));
+ if (digitsToString(t.d).slice(0, wpr) === digitsToString(sum2.d).slice(0, wpr)) {
+ sum2 = sum2.times(2);
+ if (e5 !== 0) sum2 = sum2.plus(getLn10(Ctor, wpr + 2, pr).times(e5 + ""));
+ sum2 = divide(sum2, new Ctor(n3), wpr, 1);
+ if (sd == null) {
+ if (checkRoundingDigits(sum2.d, wpr - guard, rm, rep)) {
+ Ctor.precision = wpr += guard;
+ t = numerator = x = divide(x1.minus(1), x1.plus(1), wpr, 1);
+ x2 = finalise(x.times(x), wpr, 1);
+ denominator = rep = 1;
+ } else {
+ return finalise(sum2, Ctor.precision = pr, rm, external = true);
+ }
+ } else {
+ Ctor.precision = pr;
+ return sum2;
+ }
+ }
+ sum2 = t;
+ denominator += 2;
+ }
+ }
+ __name(naturalLogarithm, "naturalLogarithm");
+ function nonFiniteToString(x) {
+ return String(x.s * x.s / 0);
+ }
+ __name(nonFiniteToString, "nonFiniteToString");
+ function parseDecimal(x, str) {
+ var e5, i5, len;
+ if ((e5 = str.indexOf(".")) > -1) str = str.replace(".", "");
+ if ((i5 = str.search(/e/i)) > 0) {
+ if (e5 < 0) e5 = i5;
+ e5 += +str.slice(i5 + 1);
+ str = str.substring(0, i5);
+ } else if (e5 < 0) {
+ e5 = str.length;
+ }
+ for (i5 = 0; str.charCodeAt(i5) === 48; i5++) ;
+ for (len = str.length; str.charCodeAt(len - 1) === 48; --len) ;
+ str = str.slice(i5, len);
+ if (str) {
+ len -= i5;
+ x.e = e5 = e5 - i5 - 1;
+ x.d = [];
+ i5 = (e5 + 1) % LOG_BASE;
+ if (e5 < 0) i5 += LOG_BASE;
+ if (i5 < len) {
+ if (i5) x.d.push(+str.slice(0, i5));
+ for (len -= LOG_BASE; i5 < len; ) x.d.push(+str.slice(i5, i5 += LOG_BASE));
+ str = str.slice(i5);
+ i5 = LOG_BASE - str.length;
+ } else {
+ i5 -= len;
+ }
+ for (; i5--; ) str += "0";
+ x.d.push(+str);
+ if (external) {
+ if (x.e > x.constructor.maxE) {
+ x.d = null;
+ x.e = NaN;
+ } else if (x.e < x.constructor.minE) {
+ x.e = 0;
+ x.d = [0];
+ }
+ }
+ } else {
+ x.e = 0;
+ x.d = [0];
+ }
+ return x;
+ }
+ __name(parseDecimal, "parseDecimal");
+ function parseOther(x, str) {
+ var base, Ctor, divisor, i5, isFloat, len, p3, xd, xe;
+ if (str.indexOf("_") > -1) {
+ str = str.replace(/(\d)_(?=\d)/g, "$1");
+ if (isDecimal.test(str)) return parseDecimal(x, str);
+ } else if (str === "Infinity" || str === "NaN") {
+ if (!+str) x.s = NaN;
+ x.e = NaN;
+ x.d = null;
+ return x;
+ }
+ if (isHex.test(str)) {
+ base = 16;
+ str = str.toLowerCase();
+ } else if (isBinary.test(str)) {
+ base = 2;
+ } else if (isOctal.test(str)) {
+ base = 8;
+ } else {
+ throw Error(invalidArgument + str);
+ }
+ i5 = str.search(/p/i);
+ if (i5 > 0) {
+ p3 = +str.slice(i5 + 1);
+ str = str.substring(2, i5);
+ } else {
+ str = str.slice(2);
+ }
+ i5 = str.indexOf(".");
+ isFloat = i5 >= 0;
+ Ctor = x.constructor;
+ if (isFloat) {
+ str = str.replace(".", "");
+ len = str.length;
+ i5 = len - i5;
+ divisor = intPow(Ctor, new Ctor(base), i5, i5 * 2);
+ }
+ xd = convertBase(str, base, BASE);
+ xe = xd.length - 1;
+ for (i5 = xe; xd[i5] === 0; --i5) xd.pop();
+ if (i5 < 0) return new Ctor(x.s * 0);
+ x.e = getBase10Exponent(xd, xe);
+ x.d = xd;
+ external = false;
+ if (isFloat) x = divide(x, divisor, len * 4);
+ if (p3) x = x.times(Math.abs(p3) < 54 ? mathpow(2, p3) : Decimal4.pow(2, p3));
+ external = true;
+ return x;
+ }
+ __name(parseOther, "parseOther");
+ function sine(Ctor, x) {
+ var k5, len = x.d.length;
+ if (len < 3) {
+ return x.isZero() ? x : taylorSeries(Ctor, 2, x, x);
+ }
+ k5 = 1.4 * Math.sqrt(len);
+ k5 = k5 > 16 ? 16 : k5 | 0;
+ x = x.times(1 / tinyPow(5, k5));
+ x = taylorSeries(Ctor, 2, x, x);
+ var sin2_x, d5 = new Ctor(5), d16 = new Ctor(16), d20 = new Ctor(20);
+ for (; k5--; ) {
+ sin2_x = x.times(x);
+ x = x.times(d5.plus(sin2_x.times(d16.times(sin2_x).minus(d20))));
+ }
+ return x;
+ }
+ __name(sine, "sine");
+ function taylorSeries(Ctor, n3, x, y, isHyperbolic) {
+ var j5, t, u, x2, i5 = 1, pr = Ctor.precision, k5 = Math.ceil(pr / LOG_BASE);
+ external = false;
+ x2 = x.times(x);
+ u = new Ctor(y);
+ for (; ; ) {
+ t = divide(u.times(x2), new Ctor(n3++ * n3++), pr, 1);
+ u = isHyperbolic ? y.plus(t) : y.minus(t);
+ y = divide(t.times(x2), new Ctor(n3++ * n3++), pr, 1);
+ t = u.plus(y);
+ if (t.d[k5] !== void 0) {
+ for (j5 = k5; t.d[j5] === u.d[j5] && j5--; ) ;
+ if (j5 == -1) break;
+ }
+ j5 = u;
+ u = y;
+ y = t;
+ t = j5;
+ i5++;
+ }
+ external = true;
+ t.d.length = k5 + 1;
+ return t;
+ }
+ __name(taylorSeries, "taylorSeries");
+ function tinyPow(b5, e5) {
+ var n3 = b5;
+ while (--e5) n3 *= b5;
+ return n3;
+ }
+ __name(tinyPow, "tinyPow");
+ function toLessThanHalfPi(Ctor, x) {
+ var t, isNeg = x.s < 0, pi = getPi(Ctor, Ctor.precision, 1), halfPi = pi.times(0.5);
+ x = x.abs();
+ if (x.lte(halfPi)) {
+ quadrant = isNeg ? 4 : 1;
+ return x;
+ }
+ t = x.divToInt(pi);
+ if (t.isZero()) {
+ quadrant = isNeg ? 3 : 2;
+ } else {
+ x = x.minus(t.times(pi));
+ if (x.lte(halfPi)) {
+ quadrant = isOdd(t) ? isNeg ? 2 : 3 : isNeg ? 4 : 1;
+ return x;
+ }
+ quadrant = isOdd(t) ? isNeg ? 1 : 4 : isNeg ? 3 : 2;
+ }
+ return x.minus(pi).abs();
+ }
+ __name(toLessThanHalfPi, "toLessThanHalfPi");
+ function toStringBinary(x, baseOut, sd, rm) {
+ var base, e5, i5, k5, len, roundUp, str, xd, y, Ctor = x.constructor, isExp = sd !== void 0;
+ if (isExp) {
+ checkInt32(sd, 1, MAX_DIGITS);
+ if (rm === void 0) rm = Ctor.rounding;
+ else checkInt32(rm, 0, 8);
+ } else {
+ sd = Ctor.precision;
+ rm = Ctor.rounding;
+ }
+ if (!x.isFinite()) {
+ str = nonFiniteToString(x);
+ } else {
+ str = finiteToString(x);
+ i5 = str.indexOf(".");
+ if (isExp) {
+ base = 2;
+ if (baseOut == 16) {
+ sd = sd * 4 - 3;
+ } else if (baseOut == 8) {
+ sd = sd * 3 - 2;
+ }
+ } else {
+ base = baseOut;
+ }
+ if (i5 >= 0) {
+ str = str.replace(".", "");
+ y = new Ctor(1);
+ y.e = str.length - i5;
+ y.d = convertBase(finiteToString(y), 10, base);
+ y.e = y.d.length;
+ }
+ xd = convertBase(str, 10, base);
+ e5 = len = xd.length;
+ for (; xd[--len] == 0; ) xd.pop();
+ if (!xd[0]) {
+ str = isExp ? "0p+0" : "0";
+ } else {
+ if (i5 < 0) {
+ e5--;
+ } else {
+ x = new Ctor(x);
+ x.d = xd;
+ x.e = e5;
+ x = divide(x, y, sd, rm, 0, base);
+ xd = x.d;
+ e5 = x.e;
+ roundUp = inexact;
+ }
+ i5 = xd[sd];
+ k5 = base / 2;
+ roundUp = roundUp || xd[sd + 1] !== void 0;
+ roundUp = rm < 4 ? (i5 !== void 0 || roundUp) && (rm === 0 || rm === (x.s < 0 ? 3 : 2)) : i5 > k5 || i5 === k5 && (rm === 4 || roundUp || rm === 6 && xd[sd - 1] & 1 || rm === (x.s < 0 ? 8 : 7));
+ xd.length = sd;
+ if (roundUp) {
+ for (; ++xd[--sd] > base - 1; ) {
+ xd[sd] = 0;
+ if (!sd) {
+ ++e5;
+ xd.unshift(1);
+ }
+ }
+ }
+ for (len = xd.length; !xd[len - 1]; --len) ;
+ for (i5 = 0, str = ""; i5 < len; i5++) str += NUMERALS.charAt(xd[i5]);
+ if (isExp) {
+ if (len > 1) {
+ if (baseOut == 16 || baseOut == 8) {
+ i5 = baseOut == 16 ? 4 : 3;
+ for (--len; len % i5; len++) str += "0";
+ xd = convertBase(str, base, baseOut);
+ for (len = xd.length; !xd[len - 1]; --len) ;
+ for (i5 = 1, str = "1."; i5 < len; i5++) str += NUMERALS.charAt(xd[i5]);
+ } else {
+ str = str.charAt(0) + "." + str.slice(1);
+ }
+ }
+ str = str + (e5 < 0 ? "p" : "p+") + e5;
+ } else if (e5 < 0) {
+ for (; ++e5; ) str = "0" + str;
+ str = "0." + str;
+ } else {
+ if (++e5 > len) for (e5 -= len; e5--; ) str += "0";
+ else if (e5 < len) str = str.slice(0, e5) + "." + str.slice(e5);
+ }
+ }
+ str = (baseOut == 16 ? "0x" : baseOut == 2 ? "0b" : baseOut == 8 ? "0o" : "") + str;
+ }
+ return x.s < 0 ? "-" + str : str;
+ }
+ __name(toStringBinary, "toStringBinary");
+ function truncate(arr, len) {
+ if (arr.length > len) {
+ arr.length = len;
+ return true;
+ }
+ }
+ __name(truncate, "truncate");
+ function abs(x) {
+ return new this(x).abs();
+ }
+ __name(abs, "abs");
+ function acos(x) {
+ return new this(x).acos();
+ }
+ __name(acos, "acos");
+ function acosh(x) {
+ return new this(x).acosh();
+ }
+ __name(acosh, "acosh");
+ function add(x, y) {
+ return new this(x).plus(y);
+ }
+ __name(add, "add");
+ function asin(x) {
+ return new this(x).asin();
+ }
+ __name(asin, "asin");
+ function asinh(x) {
+ return new this(x).asinh();
+ }
+ __name(asinh, "asinh");
+ function atan(x) {
+ return new this(x).atan();
+ }
+ __name(atan, "atan");
+ function atanh(x) {
+ return new this(x).atanh();
+ }
+ __name(atanh, "atanh");
+ function atan2(y, x) {
+ y = new this(y);
+ x = new this(x);
+ var r5, pr = this.precision, rm = this.rounding, wpr = pr + 4;
+ if (!y.s || !x.s) {
+ r5 = new this(NaN);
+ } else if (!y.d && !x.d) {
+ r5 = getPi(this, wpr, 1).times(x.s > 0 ? 0.25 : 0.75);
+ r5.s = y.s;
+ } else if (!x.d || y.isZero()) {
+ r5 = x.s < 0 ? getPi(this, pr, rm) : new this(0);
+ r5.s = y.s;
+ } else if (!y.d || x.isZero()) {
+ r5 = getPi(this, wpr, 1).times(0.5);
+ r5.s = y.s;
+ } else if (x.s < 0) {
+ this.precision = wpr;
+ this.rounding = 1;
+ r5 = this.atan(divide(y, x, wpr, 1));
+ x = getPi(this, wpr, 1);
+ this.precision = pr;
+ this.rounding = rm;
+ r5 = y.s < 0 ? r5.minus(x) : r5.plus(x);
+ } else {
+ r5 = this.atan(divide(y, x, wpr, 1));
+ }
+ return r5;
+ }
+ __name(atan2, "atan2");
+ function cbrt(x) {
+ return new this(x).cbrt();
+ }
+ __name(cbrt, "cbrt");
+ function ceil(x) {
+ return finalise(x = new this(x), x.e + 1, 2);
+ }
+ __name(ceil, "ceil");
+ function clamp(x, min2, max2) {
+ return new this(x).clamp(min2, max2);
+ }
+ __name(clamp, "clamp");
+ function config3(obj) {
+ if (!obj || typeof obj !== "object") throw Error(decimalError + "Object expected");
+ var i5, p3, v, useDefaults = obj.defaults === true, ps = [
+ "precision",
+ 1,
+ MAX_DIGITS,
+ "rounding",
+ 0,
+ 8,
+ "toExpNeg",
+ -EXP_LIMIT,
+ 0,
+ "toExpPos",
+ 0,
+ EXP_LIMIT,
+ "maxE",
+ 0,
+ EXP_LIMIT,
+ "minE",
+ -EXP_LIMIT,
+ 0,
+ "modulo",
+ 0,
+ 9
+ ];
+ for (i5 = 0; i5 < ps.length; i5 += 3) {
+ if (p3 = ps[i5], useDefaults) this[p3] = DEFAULTS[p3];
+ if ((v = obj[p3]) !== void 0) {
+ if (mathfloor(v) === v && v >= ps[i5 + 1] && v <= ps[i5 + 2]) this[p3] = v;
+ else throw Error(invalidArgument + p3 + ": " + v);
+ }
+ }
+ if (p3 = "crypto", useDefaults) this[p3] = DEFAULTS[p3];
+ if ((v = obj[p3]) !== void 0) {
+ if (v === true || v === false || v === 0 || v === 1) {
+ if (v) {
+ if (typeof crypto != "undefined" && crypto && (crypto.getRandomValues || crypto.randomBytes)) {
+ this[p3] = true;
+ } else {
+ throw Error(cryptoUnavailable);
+ }
+ } else {
+ this[p3] = false;
+ }
+ } else {
+ throw Error(invalidArgument + p3 + ": " + v);
+ }
+ }
+ return this;
+ }
+ __name(config3, "config");
+ function cos(x) {
+ return new this(x).cos();
+ }
+ __name(cos, "cos");
+ function cosh(x) {
+ return new this(x).cosh();
+ }
+ __name(cosh, "cosh");
+ function clone2(obj) {
+ var i5, p3, ps;
+ function Decimal22(v) {
+ var e5, i22, t, x = this;
+ if (!(x instanceof Decimal22)) return new Decimal22(v);
+ x.constructor = Decimal22;
+ if (isDecimalInstance(v)) {
+ x.s = v.s;
+ if (external) {
+ if (!v.d || v.e > Decimal22.maxE) {
+ x.e = NaN;
+ x.d = null;
+ } else if (v.e < Decimal22.minE) {
+ x.e = 0;
+ x.d = [0];
+ } else {
+ x.e = v.e;
+ x.d = v.d.slice();
+ }
+ } else {
+ x.e = v.e;
+ x.d = v.d ? v.d.slice() : v.d;
+ }
+ return;
+ }
+ t = typeof v;
+ if (t === "number") {
+ if (v === 0) {
+ x.s = 1 / v < 0 ? -1 : 1;
+ x.e = 0;
+ x.d = [0];
+ return;
+ }
+ if (v < 0) {
+ v = -v;
+ x.s = -1;
+ } else {
+ x.s = 1;
+ }
+ if (v === ~~v && v < 1e7) {
+ for (e5 = 0, i22 = v; i22 >= 10; i22 /= 10) e5++;
+ if (external) {
+ if (e5 > Decimal22.maxE) {
+ x.e = NaN;
+ x.d = null;
+ } else if (e5 < Decimal22.minE) {
+ x.e = 0;
+ x.d = [0];
+ } else {
+ x.e = e5;
+ x.d = [v];
+ }
+ } else {
+ x.e = e5;
+ x.d = [v];
+ }
+ return;
+ }
+ if (v * 0 !== 0) {
+ if (!v) x.s = NaN;
+ x.e = NaN;
+ x.d = null;
+ return;
+ }
+ return parseDecimal(x, v.toString());
+ }
+ if (t === "string") {
+ if ((i22 = v.charCodeAt(0)) === 45) {
+ v = v.slice(1);
+ x.s = -1;
+ } else {
+ if (i22 === 43) v = v.slice(1);
+ x.s = 1;
+ }
+ return isDecimal.test(v) ? parseDecimal(x, v) : parseOther(x, v);
+ }
+ if (t === "bigint") {
+ if (v < 0) {
+ v = -v;
+ x.s = -1;
+ } else {
+ x.s = 1;
+ }
+ return parseDecimal(x, v.toString());
+ }
+ throw Error(invalidArgument + v);
+ }
+ __name(Decimal22, "Decimal2");
+ Decimal22.prototype = P;
+ Decimal22.ROUND_UP = 0;
+ Decimal22.ROUND_DOWN = 1;
+ Decimal22.ROUND_CEIL = 2;
+ Decimal22.ROUND_FLOOR = 3;
+ Decimal22.ROUND_HALF_UP = 4;
+ Decimal22.ROUND_HALF_DOWN = 5;
+ Decimal22.ROUND_HALF_EVEN = 6;
+ Decimal22.ROUND_HALF_CEIL = 7;
+ Decimal22.ROUND_HALF_FLOOR = 8;
+ Decimal22.EUCLID = 9;
+ Decimal22.config = Decimal22.set = config3;
+ Decimal22.clone = clone2;
+ Decimal22.isDecimal = isDecimalInstance;
+ Decimal22.abs = abs;
+ Decimal22.acos = acos;
+ Decimal22.acosh = acosh;
+ Decimal22.add = add;
+ Decimal22.asin = asin;
+ Decimal22.asinh = asinh;
+ Decimal22.atan = atan;
+ Decimal22.atanh = atanh;
+ Decimal22.atan2 = atan2;
+ Decimal22.cbrt = cbrt;
+ Decimal22.ceil = ceil;
+ Decimal22.clamp = clamp;
+ Decimal22.cos = cos;
+ Decimal22.cosh = cosh;
+ Decimal22.div = div;
+ Decimal22.exp = exp;
+ Decimal22.floor = floor;
+ Decimal22.hypot = hypot;
+ Decimal22.ln = ln;
+ Decimal22.log = log;
+ Decimal22.log10 = log10;
+ Decimal22.log2 = log2;
+ Decimal22.max = max;
+ Decimal22.min = min;
+ Decimal22.mod = mod;
+ Decimal22.mul = mul;
+ Decimal22.pow = pow;
+ Decimal22.random = random;
+ Decimal22.round = round;
+ Decimal22.sign = sign2;
+ Decimal22.sin = sin;
+ Decimal22.sinh = sinh;
+ Decimal22.sqrt = sqrt;
+ Decimal22.sub = sub;
+ Decimal22.sum = sum;
+ Decimal22.tan = tan;
+ Decimal22.tanh = tanh;
+ Decimal22.trunc = trunc;
+ if (obj === void 0) obj = {};
+ if (obj) {
+ if (obj.defaults !== true) {
+ ps = ["precision", "rounding", "toExpNeg", "toExpPos", "maxE", "minE", "modulo", "crypto"];
+ for (i5 = 0; i5 < ps.length; ) if (!obj.hasOwnProperty(p3 = ps[i5++])) obj[p3] = this[p3];
+ }
+ }
+ Decimal22.config(obj);
+ return Decimal22;
+ }
+ __name(clone2, "clone");
+ function div(x, y) {
+ return new this(x).div(y);
+ }
+ __name(div, "div");
+ function exp(x) {
+ return new this(x).exp();
+ }
+ __name(exp, "exp");
+ function floor(x) {
+ return finalise(x = new this(x), x.e + 1, 3);
+ }
+ __name(floor, "floor");
+ function hypot() {
+ var i5, n3, t = new this(0);
+ external = false;
+ for (i5 = 0; i5 < arguments.length; ) {
+ n3 = new this(arguments[i5++]);
+ if (!n3.d) {
+ if (n3.s) {
+ external = true;
+ return new this(1 / 0);
+ }
+ t = n3;
+ } else if (t.d) {
+ t = t.plus(n3.times(n3));
+ }
+ }
+ external = true;
+ return t.sqrt();
+ }
+ __name(hypot, "hypot");
+ function isDecimalInstance(obj) {
+ return obj instanceof Decimal4 || obj && obj.toStringTag === tag || false;
+ }
+ __name(isDecimalInstance, "isDecimalInstance");
+ function ln(x) {
+ return new this(x).ln();
+ }
+ __name(ln, "ln");
+ function log(x, y) {
+ return new this(x).log(y);
+ }
+ __name(log, "log");
+ function log2(x) {
+ return new this(x).log(2);
+ }
+ __name(log2, "log2");
+ function log10(x) {
+ return new this(x).log(10);
+ }
+ __name(log10, "log10");
+ function max() {
+ return maxOrMin(this, arguments, -1);
+ }
+ __name(max, "max");
+ function min() {
+ return maxOrMin(this, arguments, 1);
+ }
+ __name(min, "min");
+ function mod(x, y) {
+ return new this(x).mod(y);
+ }
+ __name(mod, "mod");
+ function mul(x, y) {
+ return new this(x).mul(y);
+ }
+ __name(mul, "mul");
+ function pow(x, y) {
+ return new this(x).pow(y);
+ }
+ __name(pow, "pow");
+ function random(sd) {
+ var d5, e5, k5, n3, i5 = 0, r5 = new this(1), rd = [];
+ if (sd === void 0) sd = this.precision;
+ else checkInt32(sd, 1, MAX_DIGITS);
+ k5 = Math.ceil(sd / LOG_BASE);
+ if (!this.crypto) {
+ for (; i5 < k5; ) rd[i5++] = Math.random() * 1e7 | 0;
+ } else if (crypto.getRandomValues) {
+ d5 = crypto.getRandomValues(new Uint32Array(k5));
+ for (; i5 < k5; ) {
+ n3 = d5[i5];
+ if (n3 >= 429e7) {
+ d5[i5] = crypto.getRandomValues(new Uint32Array(1))[0];
+ } else {
+ rd[i5++] = n3 % 1e7;
+ }
+ }
+ } else if (crypto.randomBytes) {
+ d5 = crypto.randomBytes(k5 *= 4);
+ for (; i5 < k5; ) {
+ n3 = d5[i5] + (d5[i5 + 1] << 8) + (d5[i5 + 2] << 16) + ((d5[i5 + 3] & 127) << 24);
+ if (n3 >= 214e7) {
+ crypto.randomBytes(4).copy(d5, i5);
+ } else {
+ rd.push(n3 % 1e7);
+ i5 += 4;
+ }
+ }
+ i5 = k5 / 4;
+ } else {
+ throw Error(cryptoUnavailable);
+ }
+ k5 = rd[--i5];
+ sd %= LOG_BASE;
+ if (k5 && sd) {
+ n3 = mathpow(10, LOG_BASE - sd);
+ rd[i5] = (k5 / n3 | 0) * n3;
+ }
+ for (; rd[i5] === 0; i5--) rd.pop();
+ if (i5 < 0) {
+ e5 = 0;
+ rd = [0];
+ } else {
+ e5 = -1;
+ for (; rd[0] === 0; e5 -= LOG_BASE) rd.shift();
+ for (k5 = 1, n3 = rd[0]; n3 >= 10; n3 /= 10) k5++;
+ if (k5 < LOG_BASE) e5 -= LOG_BASE - k5;
+ }
+ r5.e = e5;
+ r5.d = rd;
+ return r5;
+ }
+ __name(random, "random");
+ function round(x) {
+ return finalise(x = new this(x), x.e + 1, this.rounding);
+ }
+ __name(round, "round");
+ function sign2(x) {
+ x = new this(x);
+ return x.d ? x.d[0] ? x.s : 0 * x.s : x.s || NaN;
+ }
+ __name(sign2, "sign");
+ function sin(x) {
+ return new this(x).sin();
+ }
+ __name(sin, "sin");
+ function sinh(x) {
+ return new this(x).sinh();
+ }
+ __name(sinh, "sinh");
+ function sqrt(x) {
+ return new this(x).sqrt();
+ }
+ __name(sqrt, "sqrt");
+ function sub(x, y) {
+ return new this(x).sub(y);
+ }
+ __name(sub, "sub");
+ function sum() {
+ var i5 = 0, args = arguments, x = new this(args[i5]);
+ external = false;
+ for (; x.s && ++i5 < args.length; ) x = x.plus(args[i5]);
+ external = true;
+ return finalise(x, this.precision, this.rounding);
+ }
+ __name(sum, "sum");
+ function tan(x) {
+ return new this(x).tan();
+ }
+ __name(tan, "tan");
+ function tanh(x) {
+ return new this(x).tanh();
+ }
+ __name(tanh, "tanh");
+ function trunc(x) {
+ return finalise(x = new this(x), x.e + 1, 1);
+ }
+ __name(trunc, "trunc");
+ P[/* @__PURE__ */ Symbol.for("nodejs.util.inspect.custom")] = P.toString;
+ P[Symbol.toStringTag] = "Decimal";
+ var Decimal4 = P.constructor = clone2(DEFAULTS);
+ LN10 = new Decimal4(LN10);
+ PI = new Decimal4(PI);
+ var Sql4 = class _Sql {
+ static {
+ __name(this, "_Sql");
+ }
+ constructor(rawStrings, rawValues) {
+ if (rawStrings.length - 1 !== rawValues.length) {
+ if (rawStrings.length === 0) {
+ throw new TypeError("Expected at least 1 string");
+ }
+ throw new TypeError(`Expected ${rawStrings.length} strings to have ${rawStrings.length - 1} values`);
+ }
+ const valuesLength = rawValues.reduce((len, value) => len + (value instanceof _Sql ? value.values.length : 1), 0);
+ this.values = new Array(valuesLength);
+ this.strings = new Array(valuesLength + 1);
+ this.strings[0] = rawStrings[0];
+ let i5 = 0, pos = 0;
+ while (i5 < rawValues.length) {
+ const child = rawValues[i5++];
+ const rawString = rawStrings[i5];
+ if (child instanceof _Sql) {
+ this.strings[pos] += child.strings[0];
+ let childIndex = 0;
+ while (childIndex < child.values.length) {
+ this.values[pos++] = child.values[childIndex++];
+ this.strings[pos] = child.strings[childIndex];
+ }
+ this.strings[pos] += rawString;
+ } else {
+ this.values[pos++] = child;
+ this.strings[pos] = rawString;
+ }
+ }
+ }
+ get sql() {
+ const len = this.strings.length;
+ let i5 = 1;
+ let value = this.strings[0];
+ while (i5 < len)
+ value += `?${this.strings[i5++]}`;
+ return value;
+ }
+ get statement() {
+ const len = this.strings.length;
+ let i5 = 1;
+ let value = this.strings[0];
+ while (i5 < len)
+ value += `:${i5}${this.strings[i5++]}`;
+ return value;
+ }
+ get text() {
+ const len = this.strings.length;
+ let i5 = 1;
+ let value = this.strings[0];
+ while (i5 < len)
+ value += `$${i5}${this.strings[i5++]}`;
+ return value;
+ }
+ inspect() {
+ return {
+ sql: this.sql,
+ statement: this.statement,
+ text: this.text,
+ values: this.values
+ };
+ }
+ };
+ function join4(values, separator = ",", prefix = "", suffix = "") {
+ if (values.length === 0) {
+ throw new TypeError("Expected `join([])` to be called with an array of multiple elements, but got an empty array");
+ }
+ return new Sql4([prefix, ...Array(values.length - 1).fill(separator), suffix], values);
+ }
+ __name(join4, "join");
+ function raw4(value) {
+ return new Sql4([value], []);
+ }
+ __name(raw4, "raw");
+ var empty4 = raw4("");
+ function sql2(strings, ...values) {
+ return new Sql4(strings, values);
+ }
+ __name(sql2, "sql");
+ }
+});
+
+// ../../node_modules/.pnpm/@prisma+client@7.10.1_prism_1fac53bcaa5c7503395b340f2e6f2cd9/node_modules/@prisma/client/runtime/client.js
+var require_client = __commonJS({
+ "../../node_modules/.pnpm/@prisma+client@7.10.1_prism_1fac53bcaa5c7503395b340f2e6f2cd9/node_modules/@prisma/client/runtime/client.js"(exports, module) {
+ "use strict";
+ var pu = Object.create;
+ var xr = Object.defineProperty;
+ var du = Object.getOwnPropertyDescriptor;
+ var mu = Object.getOwnPropertyNames;
+ var fu = Object.getPrototypeOf;
+ var gu = Object.prototype.hasOwnProperty;
+ var eo = /* @__PURE__ */ __name((e5, t) => () => (e5 && (t = e5(e5 = 0)), t), "eo");
+ var at = /* @__PURE__ */ __name((e5, t) => () => (t || e5((t = { exports: {} }).exports, t), t.exports), "at");
+ var lt = /* @__PURE__ */ __name((e5, t) => {
+ for (var r5 in t) xr(e5, r5, { get: t[r5], enumerable: true });
+ }, "lt");
+ var to = /* @__PURE__ */ __name((e5, t, r5, n3) => {
+ if (t && typeof t == "object" || typeof t == "function") for (let i5 of mu(t)) !gu.call(e5, i5) && i5 !== r5 && xr(e5, i5, { get: /* @__PURE__ */ __name(() => t[i5], "get"), enumerable: !(n3 = du(t, i5)) || n3.enumerable });
+ return e5;
+ }, "to");
+ var Pe = /* @__PURE__ */ __name((e5, t, r5) => (r5 = e5 != null ? pu(fu(e5)) : {}, to(t || !e5 || !e5.__esModule ? xr(r5, "default", { value: e5, enumerable: true }) : r5, e5)), "Pe");
+ var yu = /* @__PURE__ */ __name((e5) => to(xr({}, "__esModule", { value: true }), e5), "yu");
+ var ho = at((Rf, Lu) => {
+ Lu.exports = { name: "@prisma/engines-version", version: "8.1.0-1.d1b3f377ca835d73fd50954a5e22128b9ebdd6b8", main: "index.js", types: "index.d.ts", license: "Apache-2.0", author: "Tim Suchanek ", prisma: { enginesVersion: "d1b3f377ca835d73fd50954a5e22128b9ebdd6b8" }, repository: { type: "git", url: "https://github.com/prisma/engines-wrapper.git", directory: "packages/engines-version" }, devDependencies: { "@types/node": "18.19.76", typescript: "4.9.5" }, files: ["index.js", "index.d.ts"], scripts: { build: "tsc -d" } };
+ });
+ var wo = at((Pr) => {
+ "use strict";
+ Object.defineProperty(Pr, "__esModule", { value: true });
+ Pr.enginesVersion = void 0;
+ Pr.enginesVersion = ho().prisma.enginesVersion;
+ });
+ var bo = at((If, xo) => {
+ "use strict";
+ xo.exports = (e5) => {
+ let t = e5.match(/^[ \t]*(?=\S)/gm);
+ return t ? t.reduce((r5, n3) => Math.min(r5, n3.length), 1 / 0) : 0;
+ };
+ });
+ var So = at((Nf, vo) => {
+ "use strict";
+ vo.exports = (e5, t = 1, r5) => {
+ if (r5 = { indent: " ", includeEmptyLines: false, ...r5 }, typeof e5 != "string") throw new TypeError(`Expected \`input\` to be a \`string\`, got \`${typeof e5}\``);
+ if (typeof t != "number") throw new TypeError(`Expected \`count\` to be a \`number\`, got \`${typeof t}\``);
+ if (typeof r5.indent != "string") throw new TypeError(`Expected \`options.indent\` to be a \`string\`, got \`${typeof r5.indent}\``);
+ if (t === 0) return e5;
+ let n3 = r5.includeEmptyLines ? /^/gm : /^(?!\s*$)/gm;
+ return e5.replace(n3, r5.indent.repeat(t));
+ };
+ });
+ var Ro = at((Lf, Tr) => {
+ "use strict";
+ Tr.exports = (e5 = {}) => {
+ let t;
+ if (e5.repoUrl) t = e5.repoUrl;
+ else if (e5.user && e5.repo) t = `https://github.com/${e5.user}/${e5.repo}`;
+ else throw new Error("You need to specify either the `repoUrl` option or both the `user` and `repo` options");
+ let r5 = new URL(`${t}/issues/new`), n3 = ["body", "title", "labels", "template", "milestone", "assignee", "projects"];
+ for (let i5 of n3) {
+ let o3 = e5[i5];
+ if (o3 !== void 0) {
+ if (i5 === "labels" || i5 === "projects") {
+ if (!Array.isArray(o3)) throw new TypeError(`The \`${i5}\` option should be an array`);
+ o3 = o3.join(",");
+ }
+ r5.searchParams.set(i5, o3);
+ }
+ }
+ return r5.toString();
+ };
+ Tr.exports.default = Tr.exports;
+ });
+ var qn = at((Ig, Fo) => {
+ "use strict";
+ Fo.exports = /* @__PURE__ */ (function() {
+ function e5(t, r5, n3, i5, o3) {
+ return t < r5 || n3 < r5 ? t > n3 ? n3 + 1 : t + 1 : i5 === o3 ? r5 : r5 + 1;
+ }
+ __name(e5, "e");
+ return function(t, r5) {
+ if (t === r5) return 0;
+ if (t.length > r5.length) {
+ var n3 = t;
+ t = r5, r5 = n3;
+ }
+ for (var i5 = t.length, o3 = r5.length; i5 > 0 && t.charCodeAt(i5 - 1) === r5.charCodeAt(o3 - 1); ) i5--, o3--;
+ for (var s2 = 0; s2 < i5 && t.charCodeAt(s2) === r5.charCodeAt(s2); ) s2++;
+ if (i5 -= s2, o3 -= s2, i5 === 0 || o3 < 3) return o3;
+ var a5 = 0, u, m3, P, T2, S, I, A, M, L, q3, E, D, H = [];
+ for (u = 0; u < i5; u++) H.push(u + 1), H.push(t.charCodeAt(s2 + u));
+ for (var ce = H.length - 1; a5 < o3 - 3; ) for (L = r5.charCodeAt(s2 + (m3 = a5)), q3 = r5.charCodeAt(s2 + (P = a5 + 1)), E = r5.charCodeAt(s2 + (T2 = a5 + 2)), D = r5.charCodeAt(s2 + (S = a5 + 3)), I = a5 += 4, u = 0; u < ce; u += 2) A = H[u], M = H[u + 1], m3 = e5(A, m3, P, L, M), P = e5(m3, P, T2, q3, M), T2 = e5(P, T2, S, E, M), I = e5(T2, S, I, D, M), H[u] = I, S = T2, T2 = P, P = m3, m3 = A;
+ for (; a5 < o3; ) for (L = r5.charCodeAt(s2 + (m3 = a5)), I = ++a5, u = 0; u < ce; u += 2) A = H[u], H[u] = I = e5(A, m3, I, L, H[u + 1]), m3 = A;
+ return I;
+ };
+ })();
+ });
+ var qo = eo(() => {
+ "use strict";
+ });
+ var Uo = eo(() => {
+ "use strict";
+ });
+ var Hm = {};
+ lt(Hm, { AnyNull: /* @__PURE__ */ __name(() => ee.AnyNull, "AnyNull"), DMMF: /* @__PURE__ */ __name(() => Qt, "DMMF"), DbNull: /* @__PURE__ */ __name(() => ee.DbNull, "DbNull"), Debug: /* @__PURE__ */ __name(() => K2, "Debug"), Decimal: /* @__PURE__ */ __name(() => cu.Decimal, "Decimal"), Extensions: /* @__PURE__ */ __name(() => Rn, "Extensions"), JsonNull: /* @__PURE__ */ __name(() => ee.JsonNull, "JsonNull"), NullTypes: /* @__PURE__ */ __name(() => ee.NullTypes, "NullTypes"), ObjectEnumValue: /* @__PURE__ */ __name(() => ee.ObjectEnumValue, "ObjectEnumValue"), PrismaClientInitializationError: /* @__PURE__ */ __name(() => _.PrismaClientInitializationError, "PrismaClientInitializationError"), PrismaClientKnownRequestError: /* @__PURE__ */ __name(() => _.PrismaClientKnownRequestError, "PrismaClientKnownRequestError"), PrismaClientRustPanicError: /* @__PURE__ */ __name(() => _.PrismaClientRustPanicError, "PrismaClientRustPanicError"), PrismaClientUnknownRequestError: /* @__PURE__ */ __name(() => _.PrismaClientUnknownRequestError, "PrismaClientUnknownRequestError"), PrismaClientValidationError: /* @__PURE__ */ __name(() => _.PrismaClientValidationError, "PrismaClientValidationError"), Public: /* @__PURE__ */ __name(() => Cn, "Public"), Sql: /* @__PURE__ */ __name(() => Fe.Sql, "Sql"), createParam: /* @__PURE__ */ __name(() => os, "createParam"), defineDmmfProperty: /* @__PURE__ */ __name(() => ps, "defineDmmfProperty"), deserializeJsonObject: /* @__PURE__ */ __name(() => Ae, "deserializeJsonObject"), deserializeRawResult: /* @__PURE__ */ __name(() => Tn, "deserializeRawResult"), dmmfToRuntimeDataModel: /* @__PURE__ */ __name(() => so, "dmmfToRuntimeDataModel"), empty: /* @__PURE__ */ __name(() => Fe.empty, "empty"), getPrismaClient: /* @__PURE__ */ __name(() => au, "getPrismaClient"), getRuntime: /* @__PURE__ */ __name(() => uu, "getRuntime"), isAnyNull: /* @__PURE__ */ __name(() => ee.isAnyNull, "isAnyNull"), isDbNull: /* @__PURE__ */ __name(() => ee.isDbNull, "isDbNull"), isJsonNull: /* @__PURE__ */ __name(() => ee.isJsonNull, "isJsonNull"), isObjectEnumValue: /* @__PURE__ */ __name(() => ee.isObjectEnumValue, "isObjectEnumValue"), join: /* @__PURE__ */ __name(() => Fe.join, "join"), makeStrictEnum: /* @__PURE__ */ __name(() => lu, "makeStrictEnum"), makeTypedQueryFactory: /* @__PURE__ */ __name(() => ds, "makeTypedQueryFactory"), raw: /* @__PURE__ */ __name(() => Fe.raw, "raw"), serializeJsonQuery: /* @__PURE__ */ __name(() => Vr, "serializeJsonQuery"), skip: /* @__PURE__ */ __name(() => Lr, "skip"), sqltag: /* @__PURE__ */ __name(() => Fe.sql, "sqltag"), warnOnce: /* @__PURE__ */ __name(() => Vn, "warnOnce") });
+ module.exports = yu(Hm);
+ var Rn = {};
+ lt(Rn, { defineExtension: /* @__PURE__ */ __name(() => ro, "defineExtension"), getExtensionContext: /* @__PURE__ */ __name(() => no, "getExtensionContext") });
+ function ro(e5) {
+ return typeof e5 == "function" ? e5 : (t) => t.$extends(e5);
+ }
+ __name(ro, "ro");
+ function no(e5) {
+ return e5;
+ }
+ __name(no, "no");
+ var Cn = {};
+ lt(Cn, { validator: /* @__PURE__ */ __name(() => io, "validator") });
+ function io(...e5) {
+ return (t) => t;
+ }
+ __name(io, "io");
+ var Ie = class {
+ static {
+ __name(this, "Ie");
+ }
+ _map = /* @__PURE__ */ new Map();
+ get(t) {
+ return this._map.get(t)?.value;
+ }
+ set(t, r5) {
+ this._map.set(t, { value: r5 });
+ }
+ getOrCreate(t, r5) {
+ let n3 = this._map.get(t);
+ if (n3) return n3.value;
+ let i5 = r5();
+ return this.set(t, i5), i5;
+ }
+ };
+ function qe(e5) {
+ return e5.substring(0, 1).toLowerCase() + e5.substring(1);
+ }
+ __name(qe, "qe");
+ function oo(e5, t) {
+ let r5 = {};
+ for (let n3 of e5) {
+ let i5 = n3[t];
+ r5[i5] = n3;
+ }
+ return r5;
+ }
+ __name(oo, "oo");
+ function Nt(e5) {
+ let t;
+ return { get() {
+ return t || (t = { value: e5() }), t.value;
+ } };
+ }
+ __name(Nt, "Nt");
+ function so(e5) {
+ return { models: In(e5.models), enums: In(e5.enums), types: In(e5.types) };
+ }
+ __name(so, "so");
+ function In(e5) {
+ let t = {};
+ for (let { name: r5, ...n3 } of e5) t[r5] = n3;
+ return t;
+ }
+ __name(In, "In");
+ var as = require_dist();
+ var br = {};
+ lt(br, { $: /* @__PURE__ */ __name(() => po, "$"), bgBlack: /* @__PURE__ */ __name(() => Au, "bgBlack"), bgBlue: /* @__PURE__ */ __name(() => ku, "bgBlue"), bgCyan: /* @__PURE__ */ __name(() => Nu, "bgCyan"), bgGreen: /* @__PURE__ */ __name(() => Cu, "bgGreen"), bgMagenta: /* @__PURE__ */ __name(() => Ou, "bgMagenta"), bgRed: /* @__PURE__ */ __name(() => Ru, "bgRed"), bgWhite: /* @__PURE__ */ __name(() => Du, "bgWhite"), bgYellow: /* @__PURE__ */ __name(() => Iu, "bgYellow"), black: /* @__PURE__ */ __name(() => Eu, "black"), blue: /* @__PURE__ */ __name(() => He, "blue"), bold: /* @__PURE__ */ __name(() => Ee, "bold"), cyan: /* @__PURE__ */ __name(() => _e5, "cyan"), dim: /* @__PURE__ */ __name(() => Dt, "dim"), gray: /* @__PURE__ */ __name(() => $t, "gray"), green: /* @__PURE__ */ __name(() => Ft, "green"), grey: /* @__PURE__ */ __name(() => Su, "grey"), hidden: /* @__PURE__ */ __name(() => bu, "hidden"), inverse: /* @__PURE__ */ __name(() => xu, "inverse"), italic: /* @__PURE__ */ __name(() => wu, "italic"), magenta: /* @__PURE__ */ __name(() => Tu, "magenta"), red: /* @__PURE__ */ __name(() => ze, "red"), reset: /* @__PURE__ */ __name(() => hu, "reset"), strikethrough: /* @__PURE__ */ __name(() => Pu, "strikethrough"), underline: /* @__PURE__ */ __name(() => Mt, "underline"), white: /* @__PURE__ */ __name(() => vu, "white"), yellow: /* @__PURE__ */ __name(() => _t, "yellow") });
+ var kn;
+ var ao;
+ var lo;
+ var uo;
+ var co = true;
+ typeof process < "u" && ({ FORCE_COLOR: kn, NODE_DISABLE_COLORS: ao, NO_COLOR: lo, TERM: uo } = process.env || {}, co = process.stdout && process.stdout.isTTY);
+ var po = { enabled: !ao && lo == null && uo !== "dumb" && (kn != null && kn !== "0" || co) };
+ function B(e5, t) {
+ let r5 = new RegExp(`\\x1b\\[${t}m`, "g"), n3 = `\x1B[${e5}m`, i5 = `\x1B[${t}m`;
+ return function(o3) {
+ return !po.enabled || o3 == null ? o3 : n3 + (~("" + o3).indexOf(i5) ? o3.replace(r5, i5 + n3) : o3) + i5;
+ };
+ }
+ __name(B, "B");
+ var hu = B(0, 0);
+ var Ee = B(1, 22);
+ var Dt = B(2, 22);
+ var wu = B(3, 23);
+ var Mt = B(4, 24);
+ var xu = B(7, 27);
+ var bu = B(8, 28);
+ var Pu = B(9, 29);
+ var Eu = B(30, 39);
+ var ze = B(31, 39);
+ var Ft = B(32, 39);
+ var _t = B(33, 39);
+ var He = B(34, 39);
+ var Tu = B(35, 39);
+ var _e5 = B(36, 39);
+ var vu = B(37, 39);
+ var $t = B(90, 39);
+ var Su = B(90, 39);
+ var Au = B(40, 49);
+ var Ru = B(41, 49);
+ var Cu = B(42, 49);
+ var Iu = B(43, 49);
+ var ku = B(44, 49);
+ var Ou = B(45, 49);
+ var Nu = B(46, 49);
+ var Du = B(47, 49);
+ var Mu = 100;
+ var mo = ["green", "yellow", "blue", "magenta", "cyan", "red"];
+ var Lt = [];
+ var fo = Date.now();
+ var Fu = 0;
+ var On = typeof process < "u" ? process.env : {};
+ globalThis.DEBUG ??= On.DEBUG ?? "";
+ globalThis.DEBUG_COLORS ??= On.DEBUG_COLORS ? On.DEBUG_COLORS === "true" : true;
+ var Vt = { enable(e5) {
+ typeof e5 == "string" && (globalThis.DEBUG = e5);
+ }, disable() {
+ let e5 = globalThis.DEBUG;
+ return globalThis.DEBUG = "", e5;
+ }, enabled(e5) {
+ let t = globalThis.DEBUG.split(",").map((i5) => i5.replace(/[.+?^${}()|[\]\\]/g, "\\$&")), r5 = t.some((i5) => i5 === "" || i5[0] === "-" ? false : e5.match(RegExp(i5.split("*").join(".*") + "$"))), n3 = t.some((i5) => i5 === "" || i5[0] !== "-" ? false : e5.match(RegExp(i5.slice(1).split("*").join(".*") + "$")));
+ return r5 && !n3;
+ }, log: /* @__PURE__ */ __name((...e5) => {
+ let [t, r5, ...n3] = e5;
+ (console.warn ?? console.log)(`${t} ${r5}`, ...n3);
+ }, "log"), formatters: {} };
+ function _u(e5) {
+ let t = { color: mo[Fu++ % mo.length], enabled: Vt.enabled(e5), namespace: e5, log: Vt.log, extend: /* @__PURE__ */ __name(() => {
+ }, "extend") }, r5 = /* @__PURE__ */ __name((...n3) => {
+ let { enabled: i5, namespace: o3, color: s2, log: a5 } = t;
+ if (n3.length !== 0 && Lt.push([o3, ...n3]), Lt.length > Mu && Lt.shift(), Vt.enabled(o3) || i5) {
+ let u = n3.map((P) => typeof P == "string" ? P : $u(P)), m3 = `+${Date.now() - fo}ms`;
+ fo = Date.now(), globalThis.DEBUG_COLORS ? a5(br[s2](Ee(o3)), ...u, br[s2](m3)) : a5(o3, ...u, m3);
+ }
+ }, "r");
+ return new Proxy(r5, { get: /* @__PURE__ */ __name((n3, i5) => t[i5], "get"), set: /* @__PURE__ */ __name((n3, i5, o3) => t[i5] = o3, "set") });
+ }
+ __name(_u, "_u");
+ var K2 = new Proxy(_u, { get: /* @__PURE__ */ __name((e5, t) => Vt[t], "get"), set: /* @__PURE__ */ __name((e5, t, r5) => Vt[t] = r5, "set") });
+ function $u(e5, t = 2) {
+ let r5 = /* @__PURE__ */ new Set();
+ return JSON.stringify(e5, (n3, i5) => {
+ if (typeof i5 == "object" && i5 !== null) {
+ if (r5.has(i5)) return "[Circular *]";
+ r5.add(i5);
+ } else if (typeof i5 == "bigint") return i5.toString();
+ return i5;
+ }, t);
+ }
+ __name($u, "$u");
+ function go(e5 = 7500) {
+ let t = Lt.map(([r5, ...n3]) => `${r5} ${n3.map((i5) => typeof i5 == "string" ? i5 : JSON.stringify(i5)).join(" ")}`).join(`
+`);
+ return t.length < e5 ? t : t.slice(-e5);
+ }
+ __name(go, "go");
+ function yo() {
+ Lt.length = 0;
+ }
+ __name(yo, "yo");
+ function $e(e5, t) {
+ throw new Error(t);
+ }
+ __name($e, "$e");
+ var Po = Pe(bo(), 1);
+ function Nn(e5) {
+ let t = (0, Po.default)(e5);
+ if (t === 0) return e5;
+ let r5 = new RegExp(`^[ \\t]{${t}}`, "gm");
+ return e5.replace(r5, "");
+ }
+ __name(Nn, "Nn");
+ var Eo = "prisma+postgres";
+ var Er = `${Eo}:`;
+ function To(e5) {
+ return e5?.toString().startsWith(`${Er}//`) ?? false;
+ }
+ __name(To, "To");
+ function Dn(e5) {
+ if (!To(e5)) return false;
+ let { host: t } = new URL(e5);
+ return t.includes("localhost") || t.includes("127.0.0.1") || t.includes("[::1]");
+ }
+ __name(Dn, "Dn");
+ var Ut = {};
+ lt(Ut, { error: /* @__PURE__ */ __name(() => Uu, "error"), info: /* @__PURE__ */ __name(() => qu, "info"), log: /* @__PURE__ */ __name(() => Vu, "log"), query: /* @__PURE__ */ __name(() => ju, "query"), should: /* @__PURE__ */ __name(() => Ao, "should"), tags: /* @__PURE__ */ __name(() => qt, "tags"), warn: /* @__PURE__ */ __name(() => Mn, "warn") });
+ var qt = { error: ze("prisma:error"), warn: _t("prisma:warn"), info: _e5("prisma:info"), query: He("prisma:query") };
+ var Ao = { warn: /* @__PURE__ */ __name(() => !process.env.PRISMA_DISABLE_WARNINGS, "warn") };
+ function Vu(...e5) {
+ console.log(...e5);
+ }
+ __name(Vu, "Vu");
+ function Mn(e5, ...t) {
+ Ao.warn() && console.warn(`${qt.warn} ${e5}`, ...t);
+ }
+ __name(Mn, "Mn");
+ function qu(e5, ...t) {
+ console.info(`${qt.info} ${e5}`, ...t);
+ }
+ __name(qu, "qu");
+ function Uu(e5, ...t) {
+ console.error(`${qt.error} ${e5}`, ...t);
+ }
+ __name(Uu, "Uu");
+ function ju(e5, ...t) {
+ console.log(`${qt.query} ${e5}`, ...t);
+ }
+ __name(ju, "ju");
+ function Fn({ onlyFirst: e5 = false } = {}) {
+ let r5 = ["[\\u001B\\u009B][[\\]()#;?]*(?:(?:(?:(?:;[-a-zA-Z\\d\\/#&.:=?%@~_]+)*|[a-zA-Z\\d]+(?:;[-a-zA-Z\\d\\/#&.:=?%@~_]*)*)?(?:\\u0007|\\u001B\\u005C|\\u009C))", "(?:(?:\\d{1,4}(?:;\\d{0,4})*)?[\\dA-PR-TZcf-nq-uy=><~]))"].join("|");
+ return new RegExp(r5, e5 ? void 0 : "g");
+ }
+ __name(Fn, "Fn");
+ var Bu = Fn();
+ function ut(e5) {
+ if (typeof e5 != "string") throw new TypeError(`Expected a \`string\`, got \`${typeof e5}\``);
+ return e5.replace(Bu, "");
+ }
+ __name(ut, "ut");
+ var jt = Pe(__require("node:path"));
+ function _n(e5) {
+ return jt.default.sep === jt.default.posix.sep ? e5 : e5.split(jt.default.sep).join(jt.default.posix.sep);
+ }
+ __name(_n, "_n");
+ function $n(e5, t) {
+ return Object.prototype.hasOwnProperty.call(e5, t);
+ }
+ __name($n, "$n");
+ function vr(e5, t) {
+ let r5 = {};
+ for (let n3 of Object.keys(e5)) r5[n3] = t(e5[n3], n3);
+ return r5;
+ }
+ __name(vr, "vr");
+ function Ln(e5, t) {
+ if (e5.length === 0) return;
+ let r5 = e5[0];
+ for (let n3 = 1; n3 < e5.length; n3++) t(r5, e5[n3]) < 0 && (r5 = e5[n3]);
+ return r5;
+ }
+ __name(Ln, "Ln");
+ function Bt(e5, t) {
+ Object.defineProperty(e5, "name", { value: t, configurable: true });
+ }
+ __name(Bt, "Bt");
+ var Co = /* @__PURE__ */ new Set();
+ var Vn = /* @__PURE__ */ __name((e5, t, ...r5) => {
+ Co.has(e5) || (Co.add(e5), Mn(t, ...r5));
+ }, "Vn");
+ function ct(e5) {
+ return e5 instanceof Date || Object.prototype.toString.call(e5) === "[object Date]";
+ }
+ __name(ct, "ct");
+ function pt(e5) {
+ return e5.toString() !== "Invalid Date";
+ }
+ __name(pt, "pt");
+ var Io = require_dist();
+ function dt(e5) {
+ return Io.Decimal.isDecimal(e5) ? true : e5 !== null && typeof e5 == "object" && typeof e5.s == "number" && typeof e5.e == "number" && typeof e5.toFixed == "function" && Array.isArray(e5.d);
+ }
+ __name(dt, "dt");
+ var Yo = require_dist();
+ var Qt = {};
+ lt(Qt, { ModelAction: /* @__PURE__ */ __name(() => mt, "ModelAction"), datamodelEnumToSchemaEnum: /* @__PURE__ */ __name(() => Qu, "datamodelEnumToSchemaEnum") });
+ function Qu(e5) {
+ return { name: e5.name, values: e5.values.map((t) => t.name) };
+ }
+ __name(Qu, "Qu");
+ var mt = ((D) => (D.findUnique = "findUnique", D.findUniqueOrThrow = "findUniqueOrThrow", D.findFirst = "findFirst", D.findFirstOrThrow = "findFirstOrThrow", D.findMany = "findMany", D.create = "create", D.createMany = "createMany", D.createManyAndReturn = "createManyAndReturn", D.update = "update", D.updateMany = "updateMany", D.updateManyAndReturn = "updateManyAndReturn", D.upsert = "upsert", D.delete = "delete", D.deleteMany = "deleteMany", D.groupBy = "groupBy", D.count = "count", D.aggregate = "aggregate", D.findRaw = "findRaw", D.aggregateRaw = "aggregateRaw", D))(mt || {});
+ var Mo = Pe(So());
+ var Do = Pe(__require("node:fs"));
+ var ko = { keyword: _e5, entity: _e5, value: /* @__PURE__ */ __name((e5) => Ee(He(e5)), "value"), punctuation: He, directive: _e5, function: _e5, variable: /* @__PURE__ */ __name((e5) => Ee(He(e5)), "variable"), string: /* @__PURE__ */ __name((e5) => Ee(Ft(e5)), "string"), boolean: _t, number: _e5, comment: $t };
+ var Ju = /* @__PURE__ */ __name((e5) => e5, "Ju");
+ var Sr = {};
+ var Gu = 0;
+ var O = { manual: Sr.Prism && Sr.Prism.manual, disableWorkerMessageHandler: Sr.Prism && Sr.Prism.disableWorkerMessageHandler, util: { encode: /* @__PURE__ */ __name(function(e5) {
+ if (e5 instanceof Te) {
+ let t = e5;
+ return new Te(t.type, O.util.encode(t.content), t.alias);
+ } else return Array.isArray(e5) ? e5.map(O.util.encode) : e5.replace(/&/g, "&").replace(/ e5.length) return;
+ if (p3 instanceof Te) continue;
+ if (ce && l3 != t.length - 1) {
+ E.lastIndex = c5;
+ var T2 = E.exec(e5);
+ if (!T2) break;
+ var P = T2.index + (H ? T2[1].length : 0), S = T2.index + T2[0].length, a5 = l3, u = c5;
+ for (let g5 = t.length; a5 < g5 && (u < S || !t[a5].type && !t[a5 - 1].greedy); ++a5) u += t[a5].length, P >= u && (++l3, c5 = u);
+ if (t[l3] instanceof Te) continue;
+ m3 = a5 - l3, p3 = e5.slice(c5, u), T2.index -= c5;
+ } else {
+ E.lastIndex = 0;
+ var T2 = E.exec(p3), m3 = 1;
+ }
+ if (!T2) {
+ if (o3) break;
+ continue;
+ }
+ H && (ie = T2[1] ? T2[1].length : 0);
+ var P = T2.index + ie, T2 = T2[0].slice(ie), S = P + T2.length, I = p3.slice(0, P), A = p3.slice(S);
+ let h5 = [l3, m3];
+ I && (++l3, c5 += I.length, h5.push(I));
+ let f5 = new Te(M, D ? O.tokenize(T2, D) : T2, be, T2, ce);
+ if (h5.push(f5), A && h5.push(A), Array.prototype.splice.apply(t, h5), m3 != 1 && O.matchGrammar(e5, t, r5, l3, c5, true, M), o3) break;
+ }
+ }
+ }
+ }, "matchGrammar"), tokenize: /* @__PURE__ */ __name(function(e5, t) {
+ let r5 = [e5], n3 = t.rest;
+ if (n3) {
+ for (let i5 in n3) t[i5] = n3[i5];
+ delete t.rest;
+ }
+ return O.matchGrammar(e5, r5, t, 0, 0, false), r5;
+ }, "tokenize"), hooks: { all: {}, add: /* @__PURE__ */ __name(function(e5, t) {
+ let r5 = O.hooks.all;
+ r5[e5] = r5[e5] || [], r5[e5].push(t);
+ }, "add"), run: /* @__PURE__ */ __name(function(e5, t) {
+ let r5 = O.hooks.all[e5];
+ if (!(!r5 || !r5.length)) for (var n3 = 0, i5; i5 = r5[n3++]; ) i5(t);
+ }, "run") }, Token: Te };
+ O.languages.clike = { comment: [{ pattern: /(^|[^\\])\/\*[\s\S]*?(?:\*\/|$)/, lookbehind: true }, { pattern: /(^|[^\\:])\/\/.*/, lookbehind: true, greedy: true }], string: { pattern: /(["'])(?:\\(?:\r\n|[\s\S])|(?!\1)[^\\\r\n])*\1/, greedy: true }, "class-name": { pattern: /((?:\b(?:class|interface|extends|implements|trait|instanceof|new)\s+)|(?:catch\s+\())[\w.\\]+/i, lookbehind: true, inside: { punctuation: /[.\\]/ } }, keyword: /\b(?:if|else|while|do|for|return|in|instanceof|function|new|try|throw|catch|finally|null|break|continue)\b/, boolean: /\b(?:true|false)\b/, function: /\w+(?=\()/, number: /\b0x[\da-f]+\b|(?:\b\d+\.?\d*|\B\.\d+)(?:e[+-]?\d+)?/i, operator: /--?|\+\+?|!=?=?|<=?|>=?|==?=?|&&?|\|\|?|\?|\*|\/|~|\^|%/, punctuation: /[{}[\];(),.:]/ };
+ O.languages.javascript = O.languages.extend("clike", { "class-name": [O.languages.clike["class-name"], { pattern: /(^|[^$\w\xA0-\uFFFF])[_$A-Z\xA0-\uFFFF][$\w\xA0-\uFFFF]*(?=\.(?:prototype|constructor))/, lookbehind: true }], keyword: [{ pattern: /((?:^|})\s*)(?:catch|finally)\b/, lookbehind: true }, { pattern: /(^|[^.])\b(?:as|async(?=\s*(?:function\b|\(|[$\w\xA0-\uFFFF]|$))|await|break|case|class|const|continue|debugger|default|delete|do|else|enum|export|extends|for|from|function|get|if|implements|import|in|instanceof|interface|let|new|null|of|package|private|protected|public|return|set|static|super|switch|this|throw|try|typeof|undefined|var|void|while|with|yield)\b/, lookbehind: true }], number: /\b(?:(?:0[xX](?:[\dA-Fa-f](?:_[\dA-Fa-f])?)+|0[bB](?:[01](?:_[01])?)+|0[oO](?:[0-7](?:_[0-7])?)+)n?|(?:\d(?:_\d)?)+n|NaN|Infinity)\b|(?:\b(?:\d(?:_\d)?)+\.?(?:\d(?:_\d)?)*|\B\.(?:\d(?:_\d)?)+)(?:[Ee][+-]?(?:\d(?:_\d)?)+)?/, function: /[_$a-zA-Z\xA0-\uFFFF][$\w\xA0-\uFFFF]*(?=\s*(?:\.\s*(?:apply|bind|call)\s*)?\()/, operator: /-[-=]?|\+[+=]?|!=?=?|<=?|>>?>?=?|=(?:==?|>)?|&[&=]?|\|[|=]?|\*\*?=?|\/=?|~|\^=?|%=?|\?|\.{3}/ });
+ O.languages.javascript["class-name"][0].pattern = /(\b(?:class|interface|extends|implements|instanceof|new)\s+)[\w.\\]+/;
+ O.languages.insertBefore("javascript", "keyword", { regex: { pattern: /((?:^|[^$\w\xA0-\uFFFF."'\])\s])\s*)\/(\[(?:[^\]\\\r\n]|\\.)*]|\\.|[^/\\\[\r\n])+\/[gimyus]{0,6}(?=\s*($|[\r\n,.;})\]]))/, lookbehind: true, greedy: true }, "function-variable": { pattern: /[_$a-zA-Z\xA0-\uFFFF][$\w\xA0-\uFFFF]*(?=\s*[=:]\s*(?:async\s*)?(?:\bfunction\b|(?:\((?:[^()]|\([^()]*\))*\)|[_$a-zA-Z\xA0-\uFFFF][$\w\xA0-\uFFFF]*)\s*=>))/, alias: "function" }, parameter: [{ pattern: /(function(?:\s+[_$A-Za-z\xA0-\uFFFF][$\w\xA0-\uFFFF]*)?\s*\(\s*)(?!\s)(?:[^()]|\([^()]*\))+?(?=\s*\))/, lookbehind: true, inside: O.languages.javascript }, { pattern: /[_$a-z\xA0-\uFFFF][$\w\xA0-\uFFFF]*(?=\s*=>)/i, inside: O.languages.javascript }, { pattern: /(\(\s*)(?!\s)(?:[^()]|\([^()]*\))+?(?=\s*\)\s*=>)/, lookbehind: true, inside: O.languages.javascript }, { pattern: /((?:\b|\s|^)(?!(?:as|async|await|break|case|catch|class|const|continue|debugger|default|delete|do|else|enum|export|extends|finally|for|from|function|get|if|implements|import|in|instanceof|interface|let|new|null|of|package|private|protected|public|return|set|static|super|switch|this|throw|try|typeof|undefined|var|void|while|with|yield)(?![$\w\xA0-\uFFFF]))(?:[_$A-Za-z\xA0-\uFFFF][$\w\xA0-\uFFFF]*\s*)\(\s*)(?!\s)(?:[^()]|\([^()]*\))+?(?=\s*\)\s*\{)/, lookbehind: true, inside: O.languages.javascript }], constant: /\b[A-Z](?:[A-Z_]|\dx?)*\b/ });
+ O.languages.markup && O.languages.markup.tag.addInlined("script", "javascript");
+ O.languages.js = O.languages.javascript;
+ O.languages.typescript = O.languages.extend("javascript", { keyword: /\b(?:abstract|as|async|await|break|case|catch|class|const|constructor|continue|debugger|declare|default|delete|do|else|enum|export|extends|finally|for|from|function|get|if|implements|import|in|instanceof|interface|is|keyof|let|module|namespace|new|null|of|package|private|protected|public|readonly|return|require|set|static|super|switch|this|throw|try|type|typeof|var|void|while|with|yield)\b/, builtin: /\b(?:string|Function|any|number|boolean|Array|symbol|console|Promise|unknown|never)\b/ });
+ O.languages.ts = O.languages.typescript;
+ function Te(e5, t, r5, n3, i5) {
+ this.type = e5, this.content = t, this.alias = r5, this.length = (n3 || "").length | 0, this.greedy = !!i5;
+ }
+ __name(Te, "Te");
+ Te.stringify = function(e5, t) {
+ return typeof e5 == "string" ? e5 : Array.isArray(e5) ? e5.map(function(r5) {
+ return Te.stringify(r5, t);
+ }).join("") : zu(e5.type)(e5.content);
+ };
+ function zu(e5) {
+ return ko[e5] || Ju;
+ }
+ __name(zu, "zu");
+ function Oo(e5) {
+ return Hu(e5, O.languages.javascript);
+ }
+ __name(Oo, "Oo");
+ function Hu(e5, t) {
+ return O.tokenize(e5, t).map((n3) => Te.stringify(n3)).join("");
+ }
+ __name(Hu, "Hu");
+ function No(e5) {
+ return Nn(e5);
+ }
+ __name(No, "No");
+ var Ar = class e5 {
+ static {
+ __name(this, "e");
+ }
+ firstLineNumber;
+ lines;
+ static read(t) {
+ let r5;
+ try {
+ r5 = Do.default.readFileSync(t, "utf-8");
+ } catch {
+ return null;
+ }
+ return e5.fromContent(r5);
+ }
+ static fromContent(t) {
+ let r5 = t.split(/\r?\n/);
+ return new e5(1, r5);
+ }
+ constructor(t, r5) {
+ this.firstLineNumber = t, this.lines = r5;
+ }
+ get lastLineNumber() {
+ return this.firstLineNumber + this.lines.length - 1;
+ }
+ mapLineAt(t, r5) {
+ if (t < this.firstLineNumber || t > this.lastLineNumber) return this;
+ let n3 = t - this.firstLineNumber, i5 = [...this.lines];
+ return i5[n3] = r5(i5[n3]), new e5(this.firstLineNumber, i5);
+ }
+ mapLines(t) {
+ return new e5(this.firstLineNumber, this.lines.map((r5, n3) => t(r5, this.firstLineNumber + n3)));
+ }
+ lineAt(t) {
+ return this.lines[t - this.firstLineNumber];
+ }
+ prependSymbolAt(t, r5) {
+ return this.mapLines((n3, i5) => i5 === t ? `${r5} ${n3}` : ` ${n3}`);
+ }
+ slice(t, r5) {
+ let n3 = Math.max(t, this.firstLineNumber), i5 = Math.min(r5, this.lastLineNumber);
+ if (n3 > i5) return new e5(t, []);
+ let o3 = this.lines.slice(n3 - this.firstLineNumber, i5 - this.firstLineNumber + 1).join(`
+`);
+ return new e5(n3, No(o3).split(`
+`));
+ }
+ highlight() {
+ let t = Oo(this.toString());
+ return new e5(this.firstLineNumber, t.split(`
+`));
+ }
+ toString() {
+ return this.lines.join(`
+`);
+ }
+ };
+ var Wu = { red: ze, gray: $t, dim: Dt, bold: Ee, underline: Mt, highlightSource: /* @__PURE__ */ __name((e5) => e5.highlight(), "highlightSource") };
+ var Ku = { red: /* @__PURE__ */ __name((e5) => e5, "red"), gray: /* @__PURE__ */ __name((e5) => e5, "gray"), dim: /* @__PURE__ */ __name((e5) => e5, "dim"), bold: /* @__PURE__ */ __name((e5) => e5, "bold"), underline: /* @__PURE__ */ __name((e5) => e5, "underline"), highlightSource: /* @__PURE__ */ __name((e5) => e5, "highlightSource") };
+ function Zu({ message: e5, originalMethod: t, isPanic: r5, callArguments: n3 }) {
+ return { functionName: `prisma.${t}()`, message: e5, isPanic: r5 ?? false, callArguments: n3 };
+ }
+ __name(Zu, "Zu");
+ function Xu({ callsite: e5, message: t, originalMethod: r5, isPanic: n3, callArguments: i5 }, o3) {
+ let s2 = Zu({ message: t, originalMethod: r5, isPanic: n3, callArguments: i5 });
+ if (!e5 || typeof window < "u" || process.env.NODE_ENV === "production") return s2;
+ let a5 = e5.getLocation();
+ if (!a5 || !a5.lineNumber || !a5.columnNumber) return s2;
+ let u = Math.max(1, a5.lineNumber - 3), m3 = Ar.read(a5.fileName)?.slice(u, a5.lineNumber), P = m3?.lineAt(a5.lineNumber);
+ if (m3 && P) {
+ let T2 = ec(P), S = Yu(P);
+ if (!S) return s2;
+ s2.functionName = `${S.code})`, s2.location = a5, n3 || (m3 = m3.mapLineAt(a5.lineNumber, (A) => A.slice(0, S.openingBraceIndex))), m3 = o3.highlightSource(m3);
+ let I = String(m3.lastLineNumber).length;
+ if (s2.contextLines = m3.mapLines((A, M) => o3.gray(String(M).padStart(I)) + " " + A).mapLines((A) => o3.dim(A)).prependSymbolAt(a5.lineNumber, o3.bold(o3.red("\u2192"))), i5) {
+ let A = T2 + I + 1;
+ A += 2, s2.callArguments = (0, Mo.default)(i5, A).slice(A);
+ }
+ }
+ return s2;
+ }
+ __name(Xu, "Xu");
+ function Yu(e5) {
+ let t = Object.keys(mt).join("|"), n3 = new RegExp(String.raw`\.(${t})\(`).exec(e5);
+ if (n3) {
+ let i5 = n3.index + n3[0].length, o3 = e5.lastIndexOf(" ", n3.index) + 1;
+ return { code: e5.slice(o3, i5), openingBraceIndex: i5 };
+ }
+ return null;
+ }
+ __name(Yu, "Yu");
+ function ec(e5) {
+ let t = 0;
+ for (let r5 = 0; r5 < e5.length; r5++) {
+ if (e5.charAt(r5) !== " ") return t;
+ t++;
+ }
+ return t;
+ }
+ __name(ec, "ec");
+ function tc({ functionName: e5, location: t, message: r5, isPanic: n3, contextLines: i5, callArguments: o3 }, s2) {
+ let a5 = [""], u = t ? " in" : ":";
+ if (n3 ? (a5.push(s2.red(`Oops, an unknown error occurred! This is ${s2.bold("on us")}, you did nothing wrong.`)), a5.push(s2.red(`It occurred in the ${s2.bold(`\`${e5}\``)} invocation${u}`))) : a5.push(s2.red(`Invalid ${s2.bold(`\`${e5}\``)} invocation${u}`)), t && a5.push(s2.underline(rc(t))), i5) {
+ a5.push("");
+ let m3 = [i5.toString()];
+ o3 && (m3.push(o3), m3.push(s2.dim(")"))), a5.push(m3.join("")), o3 && a5.push("");
+ } else a5.push(""), o3 && a5.push(o3), a5.push("");
+ return a5.push(r5), a5.join(`
+`);
+ }
+ __name(tc, "tc");
+ function rc(e5) {
+ let t = [e5.fileName];
+ return e5.lineNumber && t.push(String(e5.lineNumber)), e5.columnNumber && t.push(String(e5.columnNumber)), t.join(":");
+ }
+ __name(rc, "rc");
+ function Rr(e5) {
+ let t = e5.showColors ? Wu : Ku, r5;
+ return r5 = Xu(e5, t), tc(r5, t);
+ }
+ __name(Rr, "Rr");
+ var Bo = Pe(qn());
+ function Lo(e5, t, r5) {
+ let n3 = Vo(e5), i5 = nc(n3), o3 = oc(i5);
+ o3 ? Cr(o3, t, r5) : t.addErrorMessage(() => "Unknown error");
+ }
+ __name(Lo, "Lo");
+ function Vo(e5) {
+ return e5.errors.flatMap((t) => t.kind === "Union" ? Vo(t) : [t]);
+ }
+ __name(Vo, "Vo");
+ function nc(e5) {
+ let t = /* @__PURE__ */ new Map(), r5 = [];
+ for (let n3 of e5) {
+ if (n3.kind !== "InvalidArgumentType") {
+ r5.push(n3);
+ continue;
+ }
+ let i5 = `${n3.selectionPath.join(".")}:${n3.argumentPath.join(".")}`, o3 = t.get(i5);
+ o3 ? t.set(i5, { ...n3, argument: { ...n3.argument, typeNames: ic(o3.argument.typeNames, n3.argument.typeNames) } }) : t.set(i5, n3);
+ }
+ return r5.push(...t.values()), r5;
+ }
+ __name(nc, "nc");
+ function ic(e5, t) {
+ return [...new Set(e5.concat(t))];
+ }
+ __name(ic, "ic");
+ function oc(e5) {
+ return Ln(e5, (t, r5) => {
+ let n3 = _o(t), i5 = _o(r5);
+ return n3 !== i5 ? n3 - i5 : $o(t) - $o(r5);
+ });
+ }
+ __name(oc, "oc");
+ function _o(e5) {
+ let t = 0;
+ return Array.isArray(e5.selectionPath) && (t += e5.selectionPath.length), Array.isArray(e5.argumentPath) && (t += e5.argumentPath.length), t;
+ }
+ __name(_o, "_o");
+ function $o(e5) {
+ switch (e5.kind) {
+ case "InvalidArgumentValue":
+ case "ValueTooLarge":
+ return 20;
+ case "InvalidArgumentType":
+ return 10;
+ case "RequiredArgumentMissing":
+ return -10;
+ default:
+ return 0;
+ }
+ }
+ __name($o, "$o");
+ var pe = class {
+ static {
+ __name(this, "pe");
+ }
+ constructor(t, r5) {
+ this.name = t;
+ this.value = r5;
+ }
+ isRequired = false;
+ makeRequired() {
+ return this.isRequired = true, this;
+ }
+ write(t) {
+ let { colors: { green: r5 } } = t.context;
+ t.addMarginSymbol(r5(this.isRequired ? "+" : "?")), t.write(r5(this.name)), this.isRequired || t.write(r5("?")), t.write(r5(": ")), typeof this.value == "string" ? t.write(r5(this.value)) : t.write(this.value);
+ }
+ };
+ Uo();
+ var ft = class {
+ static {
+ __name(this, "ft");
+ }
+ constructor(t = 0, r5) {
+ this.context = r5;
+ this.currentIndent = t;
+ }
+ lines = [];
+ currentLine = "";
+ currentIndent = 0;
+ marginSymbol;
+ afterNextNewLineCallback;
+ write(t) {
+ return typeof t == "string" ? this.currentLine += t : t.write(this), this;
+ }
+ writeJoined(t, r5, n3 = (i5, o3) => o3.write(i5)) {
+ let i5 = r5.length - 1;
+ for (let o3 = 0; o3 < r5.length; o3++) n3(r5[o3], this), o3 !== i5 && this.write(t);
+ return this;
+ }
+ writeLine(t) {
+ return this.write(t).newLine();
+ }
+ newLine() {
+ this.lines.push(this.indentedCurrentLine()), this.currentLine = "", this.marginSymbol = void 0;
+ let t = this.afterNextNewLineCallback;
+ return this.afterNextNewLineCallback = void 0, t?.(), this;
+ }
+ withIndent(t) {
+ return this.indent(), t(this), this.unindent(), this;
+ }
+ afterNextNewline(t) {
+ return this.afterNextNewLineCallback = t, this;
+ }
+ indent() {
+ return this.currentIndent++, this;
+ }
+ unindent() {
+ return this.currentIndent > 0 && this.currentIndent--, this;
+ }
+ addMarginSymbol(t) {
+ return this.marginSymbol = t, this;
+ }
+ toString() {
+ return this.lines.concat(this.indentedCurrentLine()).join(`
+`);
+ }
+ getCurrentLineLength() {
+ return this.currentLine.length;
+ }
+ indentedCurrentLine() {
+ let t = this.currentLine.padStart(this.currentLine.length + 2 * this.currentIndent);
+ return this.marginSymbol ? this.marginSymbol + t.slice(1) : t;
+ }
+ };
+ qo();
+ var Ir = class {
+ static {
+ __name(this, "Ir");
+ }
+ constructor(t) {
+ this.value = t;
+ }
+ write(t) {
+ t.write(this.value);
+ }
+ markAsError() {
+ this.value.markAsError();
+ }
+ };
+ var kr = /* @__PURE__ */ __name((e5) => e5, "kr");
+ var Or = { bold: kr, red: kr, green: kr, dim: kr, enabled: false };
+ var jo = { bold: Ee, red: ze, green: Ft, dim: Dt, enabled: true };
+ var gt = { write(e5) {
+ e5.writeLine(",");
+ } };
+ var ke = class {
+ static {
+ __name(this, "ke");
+ }
+ constructor(t) {
+ this.contents = t;
+ }
+ isUnderlined = false;
+ color = /* @__PURE__ */ __name((t) => t, "color");
+ underline() {
+ return this.isUnderlined = true, this;
+ }
+ setColor(t) {
+ return this.color = t, this;
+ }
+ write(t) {
+ let r5 = t.getCurrentLineLength();
+ t.write(this.color(this.contents)), this.isUnderlined && t.afterNextNewline(() => {
+ t.write(" ".repeat(r5)).writeLine(this.color("~".repeat(this.contents.length)));
+ });
+ }
+ };
+ var Ue = class {
+ static {
+ __name(this, "Ue");
+ }
+ hasError = false;
+ markAsError() {
+ return this.hasError = true, this;
+ }
+ };
+ var yt = class extends Ue {
+ static {
+ __name(this, "yt");
+ }
+ items = [];
+ addItem(t) {
+ return this.items.push(new Ir(t)), this;
+ }
+ getField(t) {
+ return this.items[t];
+ }
+ getPrintWidth() {
+ return this.items.length === 0 ? 2 : Math.max(...this.items.map((r5) => r5.value.getPrintWidth())) + 2;
+ }
+ write(t) {
+ if (this.items.length === 0) {
+ this.writeEmpty(t);
+ return;
+ }
+ this.writeWithItems(t);
+ }
+ writeEmpty(t) {
+ let r5 = new ke("[]");
+ this.hasError && r5.setColor(t.context.colors.red).underline(), t.write(r5);
+ }
+ writeWithItems(t) {
+ let { colors: r5 } = t.context;
+ t.writeLine("[").withIndent(() => t.writeJoined(gt, this.items).newLine()).write("]"), this.hasError && t.afterNextNewline(() => {
+ t.writeLine(r5.red("~".repeat(this.getPrintWidth())));
+ });
+ }
+ asObject() {
+ }
+ };
+ var ht = class e5 extends Ue {
+ static {
+ __name(this, "e");
+ }
+ fields = {};
+ suggestions = [];
+ addField(t) {
+ this.fields[t.name] = t;
+ }
+ addSuggestion(t) {
+ this.suggestions.push(t);
+ }
+ getField(t) {
+ return this.fields[t];
+ }
+ getDeepField(t) {
+ let [r5, ...n3] = t, i5 = this.getField(r5);
+ if (!i5) return;
+ let o3 = i5;
+ for (let s2 of n3) {
+ let a5;
+ if (o3.value instanceof e5 ? a5 = o3.value.getField(s2) : o3.value instanceof yt && (a5 = o3.value.getField(Number(s2))), !a5) return;
+ o3 = a5;
+ }
+ return o3;
+ }
+ getDeepFieldValue(t) {
+ return t.length === 0 ? this : this.getDeepField(t)?.value;
+ }
+ hasField(t) {
+ return !!this.getField(t);
+ }
+ removeAllFields() {
+ this.fields = {};
+ }
+ removeField(t) {
+ delete this.fields[t];
+ }
+ getFields() {
+ return this.fields;
+ }
+ isEmpty() {
+ return Object.keys(this.fields).length === 0;
+ }
+ getFieldValue(t) {
+ return this.getField(t)?.value;
+ }
+ getDeepSubSelectionValue(t) {
+ let r5 = this;
+ for (let n3 of t) {
+ if (!(r5 instanceof e5)) return;
+ let i5 = r5.getSubSelectionValue(n3);
+ if (!i5) return;
+ r5 = i5;
+ }
+ return r5;
+ }
+ getDeepSelectionParent(t) {
+ let r5 = this.getSelectionParent();
+ if (!r5) return;
+ let n3 = r5;
+ for (let i5 of t) {
+ let o3 = n3.value.getFieldValue(i5);
+ if (!o3 || !(o3 instanceof e5)) return;
+ let s2 = o3.getSelectionParent();
+ if (!s2) return;
+ n3 = s2;
+ }
+ return n3;
+ }
+ getSelectionParent() {
+ let t = this.getField("select")?.value.asObject();
+ if (t) return { kind: "select", value: t };
+ let r5 = this.getField("include")?.value.asObject();
+ if (r5) return { kind: "include", value: r5 };
+ }
+ getSubSelectionValue(t) {
+ return this.getSelectionParent()?.value.fields[t].value;
+ }
+ getPrintWidth() {
+ let t = Object.values(this.fields);
+ return t.length == 0 ? 2 : Math.max(...t.map((n3) => n3.getPrintWidth())) + 2;
+ }
+ write(t) {
+ let r5 = Object.values(this.fields);
+ if (r5.length === 0 && this.suggestions.length === 0) {
+ this.writeEmpty(t);
+ return;
+ }
+ this.writeWithContents(t, r5);
+ }
+ asObject() {
+ return this;
+ }
+ writeEmpty(t) {
+ let r5 = new ke("{}");
+ this.hasError && r5.setColor(t.context.colors.red).underline(), t.write(r5);
+ }
+ writeWithContents(t, r5) {
+ t.writeLine("{").withIndent(() => {
+ t.writeJoined(gt, [...r5, ...this.suggestions]).newLine();
+ }), t.write("}"), this.hasError && t.afterNextNewline(() => {
+ t.writeLine(t.context.colors.red("~".repeat(this.getPrintWidth())));
+ });
+ }
+ };
+ var Z = class extends Ue {
+ static {
+ __name(this, "Z");
+ }
+ constructor(r5) {
+ super();
+ this.text = r5;
+ }
+ getPrintWidth() {
+ return this.text.length;
+ }
+ write(r5) {
+ let n3 = new ke(this.text);
+ this.hasError && n3.underline().setColor(r5.context.colors.red), r5.write(n3);
+ }
+ asObject() {
+ }
+ };
+ var Jt = class {
+ static {
+ __name(this, "Jt");
+ }
+ fields = [];
+ addField(t, r5) {
+ return this.fields.push({ write(n3) {
+ let { green: i5, dim: o3 } = n3.context.colors;
+ n3.write(i5(o3(`${t}: ${r5}`))).addMarginSymbol(i5(o3("+")));
+ } }), this;
+ }
+ write(t) {
+ let { colors: { green: r5 } } = t.context;
+ t.writeLine(r5("{")).withIndent(() => {
+ t.writeJoined(gt, this.fields).newLine();
+ }).write(r5("}")).addMarginSymbol(r5("+"));
+ }
+ };
+ function Cr(e5, t, r5) {
+ switch (e5.kind) {
+ case "MutuallyExclusiveFields":
+ sc(e5, t);
+ break;
+ case "IncludeOnScalar":
+ ac(e5, t);
+ break;
+ case "EmptySelection":
+ lc(e5, t, r5);
+ break;
+ case "UnknownSelectionField":
+ dc(e5, t);
+ break;
+ case "InvalidSelectionValue":
+ mc(e5, t);
+ break;
+ case "UnknownArgument":
+ fc(e5, t);
+ break;
+ case "UnknownInputField":
+ gc(e5, t);
+ break;
+ case "RequiredArgumentMissing":
+ yc(e5, t);
+ break;
+ case "InvalidArgumentType":
+ hc(e5, t);
+ break;
+ case "InvalidArgumentValue":
+ wc(e5, t);
+ break;
+ case "ValueTooLarge":
+ xc(e5, t);
+ break;
+ case "SomeFieldsMissing":
+ bc(e5, t);
+ break;
+ case "TooManyFieldsGiven":
+ Pc(e5, t);
+ break;
+ case "Union":
+ Lo(e5, t, r5);
+ break;
+ default:
+ throw new Error("not implemented: " + e5.kind);
+ }
+ }
+ __name(Cr, "Cr");
+ function sc(e5, t) {
+ let r5 = t.arguments.getDeepSubSelectionValue(e5.selectionPath)?.asObject();
+ r5 && (r5.getField(e5.firstField)?.markAsError(), r5.getField(e5.secondField)?.markAsError()), t.addErrorMessage((n3) => `Please ${n3.bold("either")} use ${n3.green(`\`${e5.firstField}\``)} or ${n3.green(`\`${e5.secondField}\``)}, but ${n3.red("not both")} at the same time.`);
+ }
+ __name(sc, "sc");
+ function ac(e5, t) {
+ let [r5, n3] = wt(e5.selectionPath), i5 = e5.outputType, o3 = t.arguments.getDeepSelectionParent(r5)?.value;
+ if (o3 && (o3.getField(n3)?.markAsError(), i5)) for (let s2 of i5.fields) s2.isRelation && o3.addSuggestion(new pe(s2.name, "true"));
+ t.addErrorMessage((s2) => {
+ let a5 = `Invalid scalar field ${s2.red(`\`${n3}\``)} for ${s2.bold("include")} statement`;
+ return i5 ? a5 += ` on model ${s2.bold(i5.name)}. ${Gt(s2)}` : a5 += ".", a5 += `
+Note that ${s2.bold("include")} statements only accept relation fields.`, a5;
+ });
+ }
+ __name(ac, "ac");
+ function lc(e5, t, r5) {
+ let n3 = t.arguments.getDeepSubSelectionValue(e5.selectionPath)?.asObject();
+ if (n3) {
+ let i5 = n3.getField("omit")?.value.asObject();
+ if (i5) {
+ uc(e5, t, i5);
+ return;
+ }
+ if (n3.hasField("select")) {
+ cc(e5, t);
+ return;
+ }
+ }
+ if (r5?.[qe(e5.outputType.name)]) {
+ pc(e5, t);
+ return;
+ }
+ t.addErrorMessage(() => `Unknown field at "${e5.selectionPath.join(".")} selection"`);
+ }
+ __name(lc, "lc");
+ function uc(e5, t, r5) {
+ r5.removeAllFields();
+ for (let n3 of e5.outputType.fields) r5.addSuggestion(new pe(n3.name, "false"));
+ t.addErrorMessage((n3) => `The ${n3.red("omit")} statement includes every field of the model ${n3.bold(e5.outputType.name)}. At least one field must be included in the result`);
+ }
+ __name(uc, "uc");
+ function cc(e5, t) {
+ let r5 = e5.outputType, n3 = t.arguments.getDeepSelectionParent(e5.selectionPath)?.value, i5 = n3?.isEmpty() ?? false;
+ n3 && (n3.removeAllFields(), Go(n3, r5)), t.addErrorMessage((o3) => i5 ? `The ${o3.red("`select`")} statement for type ${o3.bold(r5.name)} must not be empty. ${Gt(o3)}` : `The ${o3.red("`select`")} statement for type ${o3.bold(r5.name)} needs ${o3.bold("at least one truthy value")}.`);
+ }
+ __name(cc, "cc");
+ function pc(e5, t) {
+ let r5 = new Jt();
+ for (let i5 of e5.outputType.fields) i5.isRelation || r5.addField(i5.name, "false");
+ let n3 = new pe("omit", r5).makeRequired();
+ if (e5.selectionPath.length === 0) t.arguments.addSuggestion(n3);
+ else {
+ let [i5, o3] = wt(e5.selectionPath), a5 = t.arguments.getDeepSelectionParent(i5)?.value.asObject()?.getField(o3);
+ if (a5) {
+ let u = a5?.value.asObject() ?? new ht();
+ u.addSuggestion(n3), a5.value = u;
+ }
+ }
+ t.addErrorMessage((i5) => `The global ${i5.red("omit")} configuration excludes every field of the model ${i5.bold(e5.outputType.name)}. At least one field must be included in the result`);
+ }
+ __name(pc, "pc");
+ function dc(e5, t) {
+ let r5 = zo(e5.selectionPath, t);
+ if (r5.parentKind !== "unknown") {
+ r5.field.markAsError();
+ let n3 = r5.parent;
+ switch (r5.parentKind) {
+ case "select":
+ Go(n3, e5.outputType);
+ break;
+ case "include":
+ Ec(n3, e5.outputType);
+ break;
+ case "omit":
+ Tc(n3, e5.outputType);
+ break;
+ }
+ }
+ t.addErrorMessage((n3) => {
+ let i5 = [`Unknown field ${n3.red(`\`${r5.fieldName}\``)}`];
+ return r5.parentKind !== "unknown" && i5.push(`for ${n3.bold(r5.parentKind)} statement`), i5.push(`on model ${n3.bold(`\`${e5.outputType.name}\``)}.`), i5.push(Gt(n3)), i5.join(" ");
+ });
+ }
+ __name(dc, "dc");
+ function mc(e5, t) {
+ let r5 = zo(e5.selectionPath, t);
+ r5.parentKind !== "unknown" && r5.field.value.markAsError(), t.addErrorMessage((n3) => `Invalid value for selection field \`${n3.red(r5.fieldName)}\`: ${e5.underlyingError}`);
+ }
+ __name(mc, "mc");
+ function fc(e5, t) {
+ let r5 = e5.argumentPath[0], n3 = t.arguments.getDeepSubSelectionValue(e5.selectionPath)?.asObject();
+ n3 && (n3.getField(r5)?.markAsError(), vc(n3, e5.arguments)), t.addErrorMessage((i5) => Qo(i5, r5, e5.arguments.map((o3) => o3.name)));
+ }
+ __name(fc, "fc");
+ function gc(e5, t) {
+ let [r5, n3] = wt(e5.argumentPath), i5 = t.arguments.getDeepSubSelectionValue(e5.selectionPath)?.asObject();
+ if (i5) {
+ i5.getDeepField(e5.argumentPath)?.markAsError();
+ let o3 = i5.getDeepFieldValue(r5)?.asObject();
+ o3 && Ho(o3, e5.inputType);
+ }
+ t.addErrorMessage((o3) => Qo(o3, n3, e5.inputType.fields.map((s2) => s2.name)));
+ }
+ __name(gc, "gc");
+ function Qo(e5, t, r5) {
+ let n3 = [`Unknown argument \`${e5.red(t)}\`.`], i5 = Ac(t, r5);
+ return i5 && n3.push(`Did you mean \`${e5.green(i5)}\`?`), r5.length > 0 && n3.push(Gt(e5)), n3.join(" ");
+ }
+ __name(Qo, "Qo");
+ function yc(e5, t) {
+ let r5;
+ t.addErrorMessage((u) => r5?.value instanceof Z && r5.value.text === "null" ? `Argument \`${u.green(o3)}\` must not be ${u.red("null")}.` : `Argument \`${u.green(o3)}\` is missing.`);
+ let n3 = t.arguments.getDeepSubSelectionValue(e5.selectionPath)?.asObject();
+ if (!n3) return;
+ let [i5, o3] = wt(e5.argumentPath), s2 = new Jt(), a5 = n3.getDeepFieldValue(i5)?.asObject();
+ if (a5) {
+ if (r5 = a5.getField(o3), r5 && a5.removeField(o3), e5.inputTypes.length === 1 && e5.inputTypes[0].kind === "object") {
+ for (let u of e5.inputTypes[0].fields) s2.addField(u.name, u.typeNames.join(" | "));
+ a5.addSuggestion(new pe(o3, s2).makeRequired());
+ } else {
+ let u = e5.inputTypes.map(Jo).join(" | ");
+ a5.addSuggestion(new pe(o3, u).makeRequired());
+ }
+ if (e5.dependentArgumentPath) {
+ n3.getDeepField(e5.dependentArgumentPath)?.markAsError();
+ let [, u] = wt(e5.dependentArgumentPath);
+ t.addErrorMessage((m3) => `Argument \`${m3.green(o3)}\` is required because argument \`${m3.green(u)}\` was provided.`);
+ }
+ }
+ }
+ __name(yc, "yc");
+ function Jo(e5) {
+ return e5.kind === "list" ? `${Jo(e5.elementType)}[]` : e5.name;
+ }
+ __name(Jo, "Jo");
+ function hc(e5, t) {
+ let r5 = e5.argument.name, n3 = t.arguments.getDeepSubSelectionValue(e5.selectionPath)?.asObject();
+ n3 && n3.getDeepFieldValue(e5.argumentPath)?.markAsError(), t.addErrorMessage((i5) => {
+ let o3 = Nr("or", e5.argument.typeNames.map((s2) => i5.green(s2)));
+ return `Argument \`${i5.bold(r5)}\`: Invalid value provided. Expected ${o3}, provided ${i5.red(e5.inferredType)}.`;
+ });
+ }
+ __name(hc, "hc");
+ function wc(e5, t) {
+ let r5 = e5.argument.name, n3 = t.arguments.getDeepSubSelectionValue(e5.selectionPath)?.asObject();
+ n3 && n3.getDeepFieldValue(e5.argumentPath)?.markAsError(), t.addErrorMessage((i5) => {
+ let o3 = [`Invalid value for argument \`${i5.bold(r5)}\``];
+ if (e5.underlyingError && o3.push(`: ${e5.underlyingError}`), o3.push("."), e5.argument.typeNames.length > 0) {
+ let s2 = Nr("or", e5.argument.typeNames.map((a5) => i5.green(a5)));
+ o3.push(` Expected ${s2}.`);
+ }
+ return o3.join("");
+ });
+ }
+ __name(wc, "wc");
+ function xc(e5, t) {
+ let r5 = e5.argument.name, n3 = t.arguments.getDeepSubSelectionValue(e5.selectionPath)?.asObject(), i5;
+ if (n3) {
+ let s2 = n3.getDeepField(e5.argumentPath)?.value;
+ s2?.markAsError(), s2 instanceof Z && (i5 = s2.text);
+ }
+ t.addErrorMessage((o3) => {
+ let s2 = ["Unable to fit value"];
+ return i5 && s2.push(o3.red(i5)), s2.push(`into a 64-bit signed integer for field \`${o3.bold(r5)}\``), s2.join(" ");
+ });
+ }
+ __name(xc, "xc");
+ function bc(e5, t) {
+ let r5 = e5.argumentPath[e5.argumentPath.length - 1], n3 = t.arguments.getDeepSubSelectionValue(e5.selectionPath)?.asObject();
+ if (n3) {
+ let i5 = n3.getDeepFieldValue(e5.argumentPath)?.asObject();
+ i5 && Ho(i5, e5.inputType);
+ }
+ t.addErrorMessage((i5) => {
+ let o3 = [`Argument \`${i5.bold(r5)}\` of type ${i5.bold(e5.inputType.name)} needs`];
+ return e5.constraints.minFieldCount === 1 ? e5.constraints.requiredFields ? o3.push(`${i5.green("at least one of")} ${Nr("or", e5.constraints.requiredFields.map((s2) => `\`${i5.bold(s2)}\``))} arguments.`) : o3.push(`${i5.green("at least one")} argument.`) : o3.push(`${i5.green(`at least ${e5.constraints.minFieldCount}`)} arguments.`), o3.push(Gt(i5)), o3.join(" ");
+ });
+ }
+ __name(bc, "bc");
+ function Pc(e5, t) {
+ let r5 = e5.argumentPath[e5.argumentPath.length - 1], n3 = t.arguments.getDeepSubSelectionValue(e5.selectionPath)?.asObject(), i5 = [];
+ if (n3) {
+ let o3 = n3.getDeepFieldValue(e5.argumentPath)?.asObject();
+ o3 && (o3.markAsError(), i5 = Object.keys(o3.getFields()));
+ }
+ t.addErrorMessage((o3) => {
+ let s2 = [`Argument \`${o3.bold(r5)}\` of type ${o3.bold(e5.inputType.name)} needs`];
+ return e5.constraints.minFieldCount === 1 && e5.constraints.maxFieldCount == 1 ? s2.push(`${o3.green("exactly one")} argument,`) : e5.constraints.maxFieldCount == 1 ? s2.push(`${o3.green("at most one")} argument,`) : s2.push(`${o3.green(`at most ${e5.constraints.maxFieldCount}`)} arguments,`), s2.push(`but you provided ${Nr("and", i5.map((a5) => o3.red(a5)))}. Please choose`), e5.constraints.maxFieldCount === 1 ? s2.push("one.") : s2.push(`${e5.constraints.maxFieldCount}.`), s2.join(" ");
+ });
+ }
+ __name(Pc, "Pc");
+ function Go(e5, t) {
+ for (let r5 of t.fields) e5.hasField(r5.name) || e5.addSuggestion(new pe(r5.name, "true"));
+ }
+ __name(Go, "Go");
+ function Ec(e5, t) {
+ for (let r5 of t.fields) r5.isRelation && !e5.hasField(r5.name) && e5.addSuggestion(new pe(r5.name, "true"));
+ }
+ __name(Ec, "Ec");
+ function Tc(e5, t) {
+ for (let r5 of t.fields) !e5.hasField(r5.name) && !r5.isRelation && e5.addSuggestion(new pe(r5.name, "true"));
+ }
+ __name(Tc, "Tc");
+ function vc(e5, t) {
+ for (let r5 of t) e5.hasField(r5.name) || e5.addSuggestion(new pe(r5.name, r5.typeNames.join(" | ")));
+ }
+ __name(vc, "vc");
+ function zo(e5, t) {
+ let [r5, n3] = wt(e5), i5 = t.arguments.getDeepSubSelectionValue(r5)?.asObject();
+ if (!i5) return { parentKind: "unknown", fieldName: n3 };
+ let o3 = i5.getFieldValue("select")?.asObject(), s2 = i5.getFieldValue("include")?.asObject(), a5 = i5.getFieldValue("omit")?.asObject(), u = o3?.getField(n3);
+ return o3 && u ? { parentKind: "select", parent: o3, field: u, fieldName: n3 } : (u = s2?.getField(n3), s2 && u ? { parentKind: "include", field: u, parent: s2, fieldName: n3 } : (u = a5?.getField(n3), a5 && u ? { parentKind: "omit", field: u, parent: a5, fieldName: n3 } : { parentKind: "unknown", fieldName: n3 }));
+ }
+ __name(zo, "zo");
+ function Ho(e5, t) {
+ if (t.kind === "object") for (let r5 of t.fields) e5.hasField(r5.name) || e5.addSuggestion(new pe(r5.name, r5.typeNames.join(" | ")));
+ }
+ __name(Ho, "Ho");
+ function wt(e5) {
+ let t = [...e5], r5 = t.pop();
+ if (!r5) throw new Error("unexpected empty path");
+ return [t, r5];
+ }
+ __name(wt, "wt");
+ function Gt({ green: e5, enabled: t }) {
+ return "Available options are " + (t ? `listed in ${e5("green")}` : "marked with ?") + ".";
+ }
+ __name(Gt, "Gt");
+ function Nr(e5, t) {
+ if (t.length === 1) return t[0];
+ let r5 = [...t], n3 = r5.pop();
+ return `${r5.join(", ")} ${e5} ${n3}`;
+ }
+ __name(Nr, "Nr");
+ var Sc = 3;
+ function Ac(e5, t) {
+ let r5 = 1 / 0, n3;
+ for (let i5 of t) {
+ let o3 = (0, Bo.default)(e5, i5);
+ o3 > Sc || o3 < r5 && (r5 = o3, n3 = i5);
+ }
+ return n3;
+ }
+ __name(Ac, "Ac");
+ var Ko = require_dist();
+ var zt = class {
+ static {
+ __name(this, "zt");
+ }
+ modelName;
+ name;
+ typeName;
+ isList;
+ isEnum;
+ constructor(t, r5, n3, i5, o3) {
+ this.modelName = t, this.name = r5, this.typeName = n3, this.isList = i5, this.isEnum = o3;
+ }
+ _toGraphQLInputType() {
+ let t = this.isList ? "List" : "", r5 = this.isEnum ? "Enum" : "";
+ return `${t}${r5}${this.typeName}FieldRefInput<${this.modelName}>`;
+ }
+ };
+ function xt(e5) {
+ return e5 instanceof zt;
+ }
+ __name(xt, "xt");
+ var Wo = ": ";
+ var Dr = class {
+ static {
+ __name(this, "Dr");
+ }
+ constructor(t, r5) {
+ this.name = t;
+ this.value = r5;
+ }
+ hasError = false;
+ markAsError() {
+ this.hasError = true;
+ }
+ getPrintWidth() {
+ return this.name.length + this.value.getPrintWidth() + Wo.length;
+ }
+ write(t) {
+ let r5 = new ke(this.name);
+ this.hasError && r5.underline().setColor(t.context.colors.red), t.write(r5).write(Wo).write(this.value);
+ }
+ };
+ var jn = class {
+ static {
+ __name(this, "jn");
+ }
+ arguments;
+ errorMessages = [];
+ constructor(t) {
+ this.arguments = t;
+ }
+ write(t) {
+ t.write(this.arguments);
+ }
+ addErrorMessage(t) {
+ this.errorMessages.push(t);
+ }
+ renderAllMessages(t) {
+ return this.errorMessages.map((r5) => r5(t)).join(`
+`);
+ }
+ };
+ function bt(e5) {
+ return new jn(Zo(e5));
+ }
+ __name(bt, "bt");
+ function Zo(e5) {
+ let t = new ht();
+ for (let [r5, n3] of Object.entries(e5)) {
+ let i5 = new Dr(r5, Xo(n3));
+ t.addField(i5);
+ }
+ return t;
+ }
+ __name(Zo, "Zo");
+ function Xo(e5) {
+ if (typeof e5 == "string") return new Z(JSON.stringify(e5));
+ if (typeof e5 == "number" || typeof e5 == "boolean") return new Z(String(e5));
+ if (typeof e5 == "bigint") return new Z(`${e5}n`);
+ if (e5 === null) return new Z("null");
+ if (e5 === void 0) return new Z("undefined");
+ if (dt(e5)) return new Z(`new Prisma.Decimal("${e5.toFixed()}")`);
+ if (e5 instanceof Uint8Array) return Buffer.isBuffer(e5) ? new Z(`Buffer.alloc(${e5.byteLength})`) : new Z(`new Uint8Array(${e5.byteLength})`);
+ if (e5 instanceof Date) {
+ let t = pt(e5) ? e5.toISOString() : "Invalid Date";
+ return new Z(`new Date("${t}")`);
+ }
+ return (0, Ko.isObjectEnumValue)(e5) ? new Z(`Prisma.${e5._getName()}`) : xt(e5) ? new Z(`prisma.${qe(e5.modelName)}.$fields.${e5.name}`) : Array.isArray(e5) ? Rc(e5) : typeof e5 == "object" ? Zo(e5) : new Z(Object.prototype.toString.call(e5));
+ }
+ __name(Xo, "Xo");
+ function Rc(e5) {
+ let t = new yt();
+ for (let r5 of e5) t.addItem(Xo(r5));
+ return t;
+ }
+ __name(Rc, "Rc");
+ function Mr(e5, t) {
+ let r5 = t === "pretty" ? jo : Or, n3 = e5.renderAllMessages(r5), i5 = new ft(0, { colors: r5 }).write(e5).toString();
+ return { message: n3, args: i5 };
+ }
+ __name(Mr, "Mr");
+ function Fr({ args: e5, errors: t, errorFormat: r5, callsite: n3, originalMethod: i5, clientVersion: o3, globalOmit: s2 }) {
+ let a5 = bt(e5);
+ for (let T2 of t) Cr(T2, a5, s2);
+ let { message: u, args: m3 } = Mr(a5, r5), P = Rr({ message: u, callsite: n3, originalMethod: i5, showColors: r5 === "pretty", callArguments: m3 });
+ throw new Yo.PrismaClientValidationError(P, { clientVersion: o3 });
+ }
+ __name(Fr, "Fr");
+ function Oe(e5) {
+ return e5.replace(/^./, (t) => t.toLowerCase());
+ }
+ __name(Oe, "Oe");
+ function ts(e5, t, r5) {
+ let n3 = Oe(r5);
+ return !t.result || !(t.result.$allModels || t.result[n3]) ? e5 : Cc({ ...e5, ...es(t.name, e5, t.result.$allModels), ...es(t.name, e5, t.result[n3]) });
+ }
+ __name(ts, "ts");
+ function Cc(e5) {
+ let t = new Ie(), r5 = /* @__PURE__ */ __name((n3, i5) => t.getOrCreate(n3, () => i5.has(n3) ? [n3] : (i5.add(n3), e5[n3] ? e5[n3].needs.flatMap((o3) => r5(o3, i5)) : [n3])), "r");
+ return vr(e5, (n3) => ({ ...n3, needs: r5(n3.name, /* @__PURE__ */ new Set()) }));
+ }
+ __name(Cc, "Cc");
+ function es(e5, t, r5) {
+ return r5 ? vr(r5, ({ needs: n3, compute: i5 }, o3) => ({ name: o3, needs: n3 ? Object.keys(n3).filter((s2) => n3[s2]) : [], compute: Ic(t, o3, i5) })) : {};
+ }
+ __name(es, "es");
+ function Ic(e5, t, r5) {
+ let n3 = e5?.[t]?.compute;
+ return n3 ? (i5, o3) => r5({ ...i5, [t]: n3(i5, o3) }, o3) : r5;
+ }
+ __name(Ic, "Ic");
+ function rs(e5, t) {
+ if (!t) return e5;
+ let r5 = { ...e5 };
+ for (let n3 of Object.values(t)) if (e5[n3.name]) for (let i5 of n3.needs) r5[i5] = true;
+ return r5;
+ }
+ __name(rs, "rs");
+ function ns(e5, t) {
+ if (!t) return e5;
+ let r5 = { ...e5 };
+ for (let n3 of Object.values(t)) if (!e5[n3.name]) for (let i5 of n3.needs) delete r5[i5];
+ return r5;
+ }
+ __name(ns, "ns");
+ var _r3 = class {
+ static {
+ __name(this, "_r");
+ }
+ constructor(t, r5) {
+ this.extension = t;
+ this.previous = r5;
+ }
+ computedFieldsCache = new Ie();
+ modelExtensionsCache = new Ie();
+ queryCallbacksCache = new Ie();
+ clientExtensions = Nt(() => this.extension.client ? { ...this.previous?.getAllClientExtensions(), ...this.extension.client } : this.previous?.getAllClientExtensions());
+ batchCallbacks = Nt(() => {
+ let t = this.previous?.getAllBatchQueryCallbacks() ?? [], r5 = this.extension.query?.$__internalBatch;
+ return r5 ? t.concat(r5) : t;
+ });
+ getAllComputedFields(t) {
+ return this.computedFieldsCache.getOrCreate(t, () => ts(this.previous?.getAllComputedFields(t), this.extension, t));
+ }
+ getAllClientExtensions() {
+ return this.clientExtensions.get();
+ }
+ getAllModelExtensions(t) {
+ return this.modelExtensionsCache.getOrCreate(t, () => {
+ let r5 = Oe(t);
+ return !this.extension.model || !(this.extension.model[r5] || this.extension.model.$allModels) ? this.previous?.getAllModelExtensions(t) : { ...this.previous?.getAllModelExtensions(t), ...this.extension.model.$allModels, ...this.extension.model[r5] };
+ });
+ }
+ getAllQueryCallbacks(t, r5) {
+ return this.queryCallbacksCache.getOrCreate(`${t}:${r5}`, () => {
+ let n3 = this.previous?.getAllQueryCallbacks(t, r5) ?? [], i5 = [], o3 = this.extension.query;
+ return !o3 || !(o3[t] || o3.$allModels || o3[r5] || o3.$allOperations) ? n3 : (o3[t] !== void 0 && (o3[t][r5] !== void 0 && i5.push(o3[t][r5]), o3[t].$allOperations !== void 0 && i5.push(o3[t].$allOperations)), t !== "$none" && o3.$allModels !== void 0 && (o3.$allModels[r5] !== void 0 && i5.push(o3.$allModels[r5]), o3.$allModels.$allOperations !== void 0 && i5.push(o3.$allModels.$allOperations)), o3[r5] !== void 0 && i5.push(o3[r5]), o3.$allOperations !== void 0 && i5.push(o3.$allOperations), n3.concat(i5));
+ });
+ }
+ getAllBatchQueryCallbacks() {
+ return this.batchCallbacks.get();
+ }
+ };
+ var Pt = class e5 {
+ static {
+ __name(this, "e");
+ }
+ constructor(t) {
+ this.head = t;
+ }
+ static empty() {
+ return new e5();
+ }
+ static single(t) {
+ return new e5(new _r3(t));
+ }
+ isEmpty() {
+ return this.head === void 0;
+ }
+ append(t) {
+ return new e5(new _r3(t, this.head));
+ }
+ getAllComputedFields(t) {
+ return this.head?.getAllComputedFields(t);
+ }
+ getAllClientExtensions() {
+ return this.head?.getAllClientExtensions();
+ }
+ getAllModelExtensions(t) {
+ return this.head?.getAllModelExtensions(t);
+ }
+ getAllQueryCallbacks(t, r5) {
+ return this.head?.getAllQueryCallbacks(t, r5) ?? [];
+ }
+ getAllBatchQueryCallbacks() {
+ return this.head?.getAllBatchQueryCallbacks() ?? [];
+ }
+ };
+ var $r = class {
+ static {
+ __name(this, "$r");
+ }
+ constructor(t) {
+ this.name = t;
+ }
+ };
+ function is(e5) {
+ return e5 instanceof $r;
+ }
+ __name(is, "is");
+ function os(e5) {
+ return new $r(e5);
+ }
+ __name(os, "os");
+ var ss = /* @__PURE__ */ Symbol();
+ var Ht = class {
+ static {
+ __name(this, "Ht");
+ }
+ constructor(t) {
+ if (t !== ss) throw new Error("Skip instance can not be constructed directly");
+ }
+ ifUndefined(t) {
+ return t === void 0 ? Lr : t;
+ }
+ };
+ var Lr = new Ht(ss);
+ function fe(e5) {
+ return e5 instanceof Ht;
+ }
+ __name(fe, "fe");
+ var kc = { findUnique: "findUnique", findUniqueOrThrow: "findUniqueOrThrow", findFirst: "findFirst", findFirstOrThrow: "findFirstOrThrow", findMany: "findMany", count: "aggregate", create: "createOne", createMany: "createMany", createManyAndReturn: "createManyAndReturn", update: "updateOne", updateMany: "updateMany", updateManyAndReturn: "updateManyAndReturn", upsert: "upsertOne", delete: "deleteOne", deleteMany: "deleteMany", executeRaw: "executeRaw", queryRaw: "queryRaw", aggregate: "aggregate", groupBy: "groupBy", runCommandRaw: "runCommandRaw", findRaw: "findRaw", aggregateRaw: "aggregateRaw" };
+ var ls = "explicitly `undefined` values are not allowed";
+ function Vr({ modelName: e5, action: t, args: r5, runtimeDataModel: n3, extensions: i5 = Pt.empty(), callsite: o3, clientMethod: s2, errorFormat: a5, clientVersion: u, previewFeatures: m3, globalOmit: P, wrapRawValues: T2 }) {
+ let S = new Bn({ runtimeDataModel: n3, modelName: e5, action: t, rootArgs: r5, callsite: o3, extensions: i5, selectionPath: [], argumentPath: [], originalMethod: s2, errorFormat: a5, clientVersion: u, previewFeatures: m3, globalOmit: P, wrapRawValues: T2 });
+ return { modelName: e5, action: kc[t], query: Wt(r5, S) };
+ }
+ __name(Vr, "Vr");
+ function Wt({ select: e5, include: t, ...r5 } = {}, n3) {
+ let i5 = r5.omit;
+ return delete r5.omit, { arguments: cs(r5, n3), selection: Oc(e5, t, i5, n3) };
+ }
+ __name(Wt, "Wt");
+ function Oc(e5, t, r5, n3) {
+ return e5 ? (t ? n3.throwValidationError({ kind: "MutuallyExclusiveFields", firstField: "include", secondField: "select", selectionPath: n3.getSelectionPath() }) : r5 && n3.throwValidationError({ kind: "MutuallyExclusiveFields", firstField: "omit", secondField: "select", selectionPath: n3.getSelectionPath() }), Fc(e5, n3)) : Nc(n3, t, r5);
+ }
+ __name(Oc, "Oc");
+ function Nc(e5, t, r5) {
+ let n3 = {};
+ return e5.modelOrType && !e5.isRawAction() && (n3.$composites = true, n3.$scalars = true), t && Dc(n3, t, e5), Mc(n3, r5, e5), n3;
+ }
+ __name(Nc, "Nc");
+ function Dc(e5, t, r5) {
+ for (let [n3, i5] of Object.entries(t)) {
+ if (fe(i5)) continue;
+ let o3 = r5.nestSelection(n3);
+ if (Qn(i5, o3), i5 === false || i5 === void 0) {
+ e5[n3] = false;
+ continue;
+ }
+ let s2 = r5.findField(n3);
+ if (s2 && s2.kind !== "object" && r5.throwValidationError({ kind: "IncludeOnScalar", selectionPath: r5.getSelectionPath().concat(n3), outputType: r5.getOutputTypeDescription() }), s2) {
+ e5[n3] = Wt(i5 === true ? {} : i5, o3);
+ continue;
+ }
+ if (i5 === true) {
+ e5[n3] = true;
+ continue;
+ }
+ e5[n3] = Wt(i5, o3);
+ }
+ }
+ __name(Dc, "Dc");
+ function Mc(e5, t, r5) {
+ let n3 = r5.getComputedFields(), i5 = { ...r5.getGlobalOmit(), ...t }, o3 = ns(i5, n3);
+ for (let [s2, a5] of Object.entries(o3)) {
+ if (fe(a5)) continue;
+ Qn(a5, r5.nestSelection(s2));
+ let u = r5.findField(s2);
+ n3?.[s2] && !u || (e5[s2] = !a5);
+ }
+ }
+ __name(Mc, "Mc");
+ function Fc(e5, t) {
+ let r5 = {}, n3 = t.getComputedFields(), i5 = rs(e5, n3);
+ for (let [o3, s2] of Object.entries(i5)) {
+ if (fe(s2)) continue;
+ let a5 = t.nestSelection(o3);
+ Qn(s2, a5);
+ let u = t.findField(o3);
+ if (!(n3?.[o3] && !u)) {
+ if (s2 === false || s2 === void 0 || fe(s2)) {
+ r5[o3] = false;
+ continue;
+ }
+ if (s2 === true) {
+ u?.kind === "object" ? r5[o3] = Wt({}, a5) : r5[o3] = true;
+ continue;
+ }
+ r5[o3] = Wt(s2, a5);
+ }
+ }
+ return r5;
+ }
+ __name(Fc, "Fc");
+ function us(e5, t) {
+ if (e5 === null) return null;
+ if (typeof e5 == "string" || typeof e5 == "number" || typeof e5 == "boolean") return e5;
+ if (typeof e5 == "bigint") return { $type: "BigInt", value: String(e5) };
+ if (ct(e5)) {
+ if (pt(e5)) return { $type: "DateTime", value: e5.toISOString() };
+ t.throwValidationError({ kind: "InvalidArgumentValue", selectionPath: t.getSelectionPath(), argumentPath: t.getArgumentPath(), argument: { name: t.getArgumentName(), typeNames: ["Date"] }, underlyingError: "Provided Date object is invalid" });
+ }
+ if (is(e5)) return { $type: "Param", value: e5.name };
+ if (xt(e5)) return { $type: "FieldRef", value: { _ref: e5.name, _container: e5.modelName } };
+ if (Array.isArray(e5)) return _c5(e5, t);
+ if (ArrayBuffer.isView(e5)) {
+ let { buffer: r5, byteOffset: n3, byteLength: i5 } = e5;
+ return { $type: "Bytes", value: Buffer.from(r5, n3, i5).toString("base64") };
+ }
+ if ($c(e5)) return e5.values;
+ if (dt(e5)) return { $type: "Decimal", value: e5.toFixed() };
+ if ((0, as.isObjectEnumValue)(e5)) {
+ let r5 = e5._getName();
+ if (r5 !== "DbNull" && r5 !== "JsonNull" && r5 !== "AnyNull") throw new Error(`Invalid ObjectEnumValue: expected DbNull, JsonNull, or AnyNull, got ${r5}`);
+ return { $type: "Enum", value: r5 };
+ }
+ if (Lc(e5)) return e5.toJSON();
+ if (typeof e5 == "object") return cs(e5, t);
+ t.throwValidationError({ kind: "InvalidArgumentValue", selectionPath: t.getSelectionPath(), argumentPath: t.getArgumentPath(), argument: { name: t.getArgumentName(), typeNames: [] }, underlyingError: `We could not serialize ${Object.prototype.toString.call(e5)} value. Serialize the object to JSON or implement a ".toJSON()" method on it` });
+ }
+ __name(us, "us");
+ function cs(e5, t) {
+ if (t.shouldWrapRawValues() && e5.$type) return { $type: "Raw", value: e5 };
+ let r5 = {};
+ for (let n3 in e5) {
+ let i5 = e5[n3], o3 = t.nestArgument(n3);
+ fe(i5) || (i5 !== void 0 ? r5[n3] = us(i5, o3) : t.isPreviewFeatureOn("strictUndefinedChecks") && t.throwValidationError({ kind: "InvalidArgumentValue", argumentPath: o3.getArgumentPath(), selectionPath: t.getSelectionPath(), argument: { name: t.getArgumentName(), typeNames: [] }, underlyingError: ls }));
+ }
+ return r5;
+ }
+ __name(cs, "cs");
+ function _c5(e5, t) {
+ let r5 = [];
+ for (let n3 = 0; n3 < e5.length; n3++) {
+ let i5 = t.nestArgument(String(n3)), o3 = e5[n3];
+ if (o3 === void 0 || fe(o3)) {
+ let s2 = o3 === void 0 ? "undefined" : "Prisma.skip";
+ t.throwValidationError({ kind: "InvalidArgumentValue", selectionPath: i5.getSelectionPath(), argumentPath: i5.getArgumentPath(), argument: { name: `${t.getArgumentName()}[${n3}]`, typeNames: [] }, underlyingError: `Can not use \`${s2}\` value within array. Use \`null\` or filter out \`${s2}\` values` });
+ }
+ r5.push(us(o3, i5));
+ }
+ return r5;
+ }
+ __name(_c5, "_c");
+ function $c(e5) {
+ return typeof e5 == "object" && e5 !== null && e5.__prismaRawParameters__ === true;
+ }
+ __name($c, "$c");
+ function Lc(e5) {
+ return typeof e5 == "object" && e5 !== null && typeof e5.toJSON == "function";
+ }
+ __name(Lc, "Lc");
+ function Qn(e5, t) {
+ e5 === void 0 && t.isPreviewFeatureOn("strictUndefinedChecks") && t.throwValidationError({ kind: "InvalidSelectionValue", selectionPath: t.getSelectionPath(), underlyingError: ls });
+ }
+ __name(Qn, "Qn");
+ var Bn = class e5 {
+ static {
+ __name(this, "e");
+ }
+ constructor(t) {
+ this.params = t;
+ this.params.modelName && (this.modelOrType = this.params.runtimeDataModel.models[this.params.modelName] ?? this.params.runtimeDataModel.types[this.params.modelName]);
+ }
+ modelOrType;
+ throwValidationError(t) {
+ Fr({ errors: [t], originalMethod: this.params.originalMethod, args: this.params.rootArgs ?? {}, callsite: this.params.callsite, errorFormat: this.params.errorFormat, clientVersion: this.params.clientVersion, globalOmit: this.params.globalOmit });
+ }
+ getSelectionPath() {
+ return this.params.selectionPath;
+ }
+ getArgumentPath() {
+ return this.params.argumentPath;
+ }
+ getArgumentName() {
+ return this.params.argumentPath[this.params.argumentPath.length - 1];
+ }
+ getOutputTypeDescription() {
+ if (!(!this.params.modelName || !this.modelOrType)) return { name: this.params.modelName, fields: this.modelOrType.fields.map((t) => ({ name: t.name, typeName: "boolean", isRelation: t.kind === "object" })) };
+ }
+ isRawAction() {
+ return ["executeRaw", "queryRaw", "runCommandRaw", "findRaw", "aggregateRaw"].includes(this.params.action);
+ }
+ isPreviewFeatureOn(t) {
+ return this.params.previewFeatures.includes(t);
+ }
+ shouldWrapRawValues() {
+ return this.params.wrapRawValues ?? true;
+ }
+ getComputedFields() {
+ if (this.params.modelName) return this.params.extensions.getAllComputedFields(this.params.modelName);
+ }
+ findField(t) {
+ return this.modelOrType?.fields.find((r5) => r5.name === t);
+ }
+ nestSelection(t) {
+ let r5 = this.findField(t), n3 = r5?.kind === "object" ? r5.type : void 0;
+ return new e5({ ...this.params, modelName: n3, selectionPath: this.params.selectionPath.concat(t) });
+ }
+ getGlobalOmit() {
+ return this.params.modelName && this.shouldApplyGlobalOmit() ? this.params.globalOmit?.[qe(this.params.modelName)] ?? {} : {};
+ }
+ shouldApplyGlobalOmit() {
+ switch (this.params.action) {
+ case "findFirst":
+ case "findFirstOrThrow":
+ case "findUniqueOrThrow":
+ case "findMany":
+ case "upsert":
+ case "findUnique":
+ case "createManyAndReturn":
+ case "create":
+ case "update":
+ case "updateManyAndReturn":
+ case "delete":
+ return true;
+ case "executeRaw":
+ case "aggregateRaw":
+ case "runCommandRaw":
+ case "findRaw":
+ case "createMany":
+ case "deleteMany":
+ case "groupBy":
+ case "updateMany":
+ case "count":
+ case "aggregate":
+ case "queryRaw":
+ return false;
+ default:
+ $e(this.params.action, "Unknown action");
+ }
+ }
+ nestArgument(t) {
+ return new e5({ ...this.params, argumentPath: this.params.argumentPath.concat(t) });
+ }
+ };
+ function ps(e5, t) {
+ let r5 = Nt(() => Vc(t));
+ Object.defineProperty(e5, "dmmf", { get: /* @__PURE__ */ __name(() => r5.get(), "get") });
+ }
+ __name(ps, "ps");
+ function Vc(e5) {
+ return { datamodel: { models: Jn(e5.models), enums: Jn(e5.enums), types: Jn(e5.types) } };
+ }
+ __name(Vc, "Vc");
+ function Jn(e5) {
+ return Object.entries(e5).map(([t, r5]) => ({ name: t, ...r5 }));
+ }
+ __name(Jn, "Jn");
+ var Gn = /* @__PURE__ */ new WeakMap();
+ var qr = "$$PrismaTypedSql";
+ var Kt = class {
+ static {
+ __name(this, "Kt");
+ }
+ constructor(t, r5) {
+ Gn.set(this, { sql: t, values: r5 }), Object.defineProperty(this, qr, { value: qr });
+ }
+ get sql() {
+ return Gn.get(this).sql;
+ }
+ get values() {
+ return Gn.get(this).values;
+ }
+ };
+ function ds(e5) {
+ return (...t) => new Kt(e5, t);
+ }
+ __name(ds, "ds");
+ function Ur(e5) {
+ return e5 != null && e5[qr] === qr;
+ }
+ __name(Ur, "Ur");
+ var nu = require_dist();
+ var iu = __require("node:async_hooks");
+ var ou = __require("node:events");
+ function Zt(e5) {
+ return { getKeys() {
+ return Object.keys(e5);
+ }, getPropertyValue(t) {
+ return e5[t];
+ } };
+ }
+ __name(Zt, "Zt");
+ function ae(e5, t) {
+ return { getKeys() {
+ return [e5];
+ }, getPropertyValue() {
+ return t();
+ } };
+ }
+ __name(ae, "ae");
+ function We(e5) {
+ let t = new Ie();
+ return { getKeys() {
+ return e5.getKeys();
+ }, getPropertyValue(r5) {
+ return t.getOrCreate(r5, () => e5.getPropertyValue(r5));
+ }, getPropertyDescriptor(r5) {
+ return e5.getPropertyDescriptor?.(r5);
+ } };
+ }
+ __name(We, "We");
+ var jr = { enumerable: true, configurable: true, writable: true };
+ function Br(e5) {
+ let t = new Set(e5);
+ return { getPrototypeOf: /* @__PURE__ */ __name(() => Object.prototype, "getPrototypeOf"), getOwnPropertyDescriptor: /* @__PURE__ */ __name(() => jr, "getOwnPropertyDescriptor"), has: /* @__PURE__ */ __name((r5, n3) => t.has(n3), "has"), set: /* @__PURE__ */ __name((r5, n3, i5) => t.add(n3) && Reflect.set(r5, n3, i5), "set"), ownKeys: /* @__PURE__ */ __name(() => [...t], "ownKeys") };
+ }
+ __name(Br, "Br");
+ var ms = /* @__PURE__ */ Symbol.for("nodejs.util.inspect.custom");
+ function ve(e5, t) {
+ let r5 = qc(t), n3 = /* @__PURE__ */ new Set(), i5 = new Proxy(e5, { get(o3, s2) {
+ if (n3.has(s2)) return o3[s2];
+ let a5 = r5.get(s2);
+ return a5 ? a5.getPropertyValue(s2) : o3[s2];
+ }, has(o3, s2) {
+ if (n3.has(s2)) return true;
+ let a5 = r5.get(s2);
+ return a5 ? a5.has?.(s2) ?? true : Reflect.has(o3, s2);
+ }, ownKeys(o3) {
+ let s2 = fs(Reflect.ownKeys(o3), r5), a5 = fs(Array.from(r5.keys()), r5);
+ return [.../* @__PURE__ */ new Set([...s2, ...a5, ...n3])];
+ }, set(o3, s2, a5) {
+ return r5.get(s2)?.getPropertyDescriptor?.(s2)?.writable === false ? false : (n3.add(s2), Reflect.set(o3, s2, a5));
+ }, getOwnPropertyDescriptor(o3, s2) {
+ let a5 = Reflect.getOwnPropertyDescriptor(o3, s2);
+ if (a5 && !a5.configurable) return a5;
+ let u = r5.get(s2);
+ return u ? u.getPropertyDescriptor ? { ...jr, ...u?.getPropertyDescriptor(s2) } : jr : a5;
+ }, defineProperty(o3, s2, a5) {
+ return n3.add(s2), Reflect.defineProperty(o3, s2, a5);
+ }, getPrototypeOf: /* @__PURE__ */ __name(() => Object.prototype, "getPrototypeOf") });
+ return i5[ms] = function() {
+ let o3 = { ...this };
+ return delete o3[ms], o3;
+ }, i5;
+ }
+ __name(ve, "ve");
+ function qc(e5) {
+ let t = /* @__PURE__ */ new Map();
+ for (let r5 of e5) {
+ let n3 = r5.getKeys();
+ for (let i5 of n3) t.set(i5, r5);
+ }
+ return t;
+ }
+ __name(qc, "qc");
+ function fs(e5, t) {
+ return e5.filter((r5) => t.get(r5)?.has?.(r5) ?? true);
+ }
+ __name(fs, "fs");
+ function Et(e5) {
+ return { getKeys() {
+ return e5;
+ }, has() {
+ return false;
+ }, getPropertyValue() {
+ } };
+ }
+ __name(Et, "Et");
+ function gs(e5) {
+ if (e5 === void 0) return "";
+ let t = bt(e5);
+ return new ft(0, { colors: Or }).write(t).toString();
+ }
+ __name(gs, "gs");
+ var Xt = "";
+ function ys(e5) {
+ var t = e5.split(`
+`);
+ return t.reduce(function(r5, n3) {
+ var i5 = Bc(n3) || Jc(n3) || Hc(n3) || Xc(n3) || Kc(n3);
+ return i5 && r5.push(i5), r5;
+ }, []);
+ }
+ __name(ys, "ys");
+ var Uc = /^\s*at (.*?) ?\(((?:file|https?|blob|chrome-extension|native|eval|webpack|rsc||\/|[a-z]:\\|\\\\).*?)(?::(\d+))?(?::(\d+))?\)?\s*$/i;
+ var jc = /\((\S*)(?::(\d+))(?::(\d+))\)/;
+ function Bc(e5) {
+ var t = Uc.exec(e5);
+ if (!t) return null;
+ var r5 = t[2] && t[2].indexOf("native") === 0, n3 = t[2] && t[2].indexOf("eval") === 0, i5 = jc.exec(t[2]);
+ return n3 && i5 != null && (t[2] = i5[1], t[3] = i5[2], t[4] = i5[3]), { file: r5 ? null : t[2], methodName: t[1] || Xt, arguments: r5 ? [t[2]] : [], lineNumber: t[3] ? +t[3] : null, column: t[4] ? +t[4] : null };
+ }
+ __name(Bc, "Bc");
+ var Qc = /^\s*at (?:((?:\[object object\])?.+) )?\(?((?:file|ms-appx|https?|webpack|rsc|blob):.*?):(\d+)(?::(\d+))?\)?\s*$/i;
+ function Jc(e5) {
+ var t = Qc.exec(e5);
+ return t ? { file: t[2], methodName: t[1] || Xt, arguments: [], lineNumber: +t[3], column: t[4] ? +t[4] : null } : null;
+ }
+ __name(Jc, "Jc");
+ var Gc = /^\s*(.*?)(?:\((.*?)\))?(?:^|@)((?:file|https?|blob|chrome|webpack|rsc|resource|\[native).*?|[^@]*bundle)(?::(\d+))?(?::(\d+))?\s*$/i;
+ var zc = /(\S+) line (\d+)(?: > eval line \d+)* > eval/i;
+ function Hc(e5) {
+ var t = Gc.exec(e5);
+ if (!t) return null;
+ var r5 = t[3] && t[3].indexOf(" > eval") > -1, n3 = zc.exec(t[3]);
+ return r5 && n3 != null && (t[3] = n3[1], t[4] = n3[2], t[5] = null), { file: t[3], methodName: t[1] || Xt, arguments: t[2] ? t[2].split(",") : [], lineNumber: t[4] ? +t[4] : null, column: t[5] ? +t[5] : null };
+ }
+ __name(Hc, "Hc");
+ var Wc = /^\s*(?:([^@]*)(?:\((.*?)\))?@)?(\S.*?):(\d+)(?::(\d+))?\s*$/i;
+ function Kc(e5) {
+ var t = Wc.exec(e5);
+ return t ? { file: t[3], methodName: t[1] || Xt, arguments: [], lineNumber: +t[4], column: t[5] ? +t[5] : null } : null;
+ }
+ __name(Kc, "Kc");
+ var Zc = /^\s*at (?:((?:\[object object\])?[^\\/]+(?: \[as \S+\])?) )?\(?(.*?):(\d+)(?::(\d+))?\)?\s*$/i;
+ function Xc(e5) {
+ var t = Zc.exec(e5);
+ return t ? { file: t[2], methodName: t[1] || Xt, arguments: [], lineNumber: +t[3], column: t[4] ? +t[4] : null } : null;
+ }
+ __name(Xc, "Xc");
+ var zn = class {
+ static {
+ __name(this, "zn");
+ }
+ getLocation() {
+ return null;
+ }
+ };
+ var Hn = class {
+ static {
+ __name(this, "Hn");
+ }
+ _error;
+ constructor() {
+ this._error = new Error();
+ }
+ getLocation() {
+ let t = this._error.stack;
+ if (!t) return null;
+ let n3 = ys(t).find((i5) => {
+ if (!i5.file) return false;
+ let o3 = _n(i5.file);
+ return o3 !== "" && !o3.includes("@prisma") && !o3.includes("/packages/client/src/runtime/") && !o3.endsWith("/runtime/client.js") && !o3.startsWith("internal/") && !i5.methodName.includes("new ") && !i5.methodName.includes("getCallSite") && !i5.methodName.includes("Proxy.") && i5.methodName.split(".").length < 4;
+ });
+ return !n3 || !n3.file ? null : { fileName: n3.file, lineNumber: n3.lineNumber, columnNumber: n3.column };
+ }
+ };
+ function je(e5) {
+ return e5 === "minimal" ? typeof $EnabledCallSite == "function" && e5 !== "minimal" ? new $EnabledCallSite() : new zn() : new Hn();
+ }
+ __name(je, "je");
+ var hs = { _avg: true, _count: true, _sum: true, _min: true, _max: true };
+ function Tt(e5 = {}) {
+ let t = ep(e5);
+ return Object.entries(t).reduce((n3, [i5, o3]) => (hs[i5] !== void 0 ? n3.select[i5] = { select: o3 } : n3[i5] = o3, n3), { select: {} });
+ }
+ __name(Tt, "Tt");
+ function ep(e5 = {}) {
+ return typeof e5._count == "boolean" ? { ...e5, _count: { _all: e5._count } } : e5;
+ }
+ __name(ep, "ep");
+ function Qr(e5 = {}) {
+ return (t) => (typeof e5._count == "boolean" && (t._count = t._count._all), t);
+ }
+ __name(Qr, "Qr");
+ function ws(e5, t) {
+ let r5 = Qr(e5);
+ return t({ action: "aggregate", unpacker: r5, argsMapper: Tt })(e5);
+ }
+ __name(ws, "ws");
+ function tp(e5 = {}) {
+ let { select: t, ...r5 } = e5;
+ return typeof t == "object" ? Tt({ ...r5, _count: t }) : Tt({ ...r5, _count: { _all: true } });
+ }
+ __name(tp, "tp");
+ function rp(e5 = {}) {
+ return typeof e5.select == "object" ? (t) => Qr(e5)(t)._count : (t) => Qr(e5)(t)._count._all;
+ }
+ __name(rp, "rp");
+ function xs(e5, t) {
+ return t({ action: "count", unpacker: rp(e5), argsMapper: tp })(e5);
+ }
+ __name(xs, "xs");
+ function np(e5 = {}) {
+ let t = Tt(e5);
+ if (Array.isArray(t.by)) for (let r5 of t.by) typeof r5 == "string" && (t.select[r5] = true);
+ else typeof t.by == "string" && (t.select[t.by] = true);
+ return t;
+ }
+ __name(np, "np");
+ function ip(e5 = {}) {
+ return (t) => (typeof e5?._count == "boolean" && t.forEach((r5) => {
+ r5._count = r5._count._all;
+ }), t);
+ }
+ __name(ip, "ip");
+ function bs(e5, t) {
+ return t({ action: "groupBy", unpacker: ip(e5), argsMapper: np })(e5);
+ }
+ __name(bs, "bs");
+ function Ps(e5, t, r5) {
+ if (t === "aggregate") return (n3) => ws(n3, r5);
+ if (t === "count") return (n3) => xs(n3, r5);
+ if (t === "groupBy") return (n3) => bs(n3, r5);
+ }
+ __name(Ps, "Ps");
+ function Es(e5, t) {
+ let r5 = t.fields.filter((i5) => !i5.relationName), n3 = oo(r5, "name");
+ return new Proxy({}, { get(i5, o3) {
+ if (o3 in i5 || typeof o3 == "symbol") return i5[o3];
+ let s2 = n3[o3];
+ if (s2) return new zt(e5, o3, s2.type, s2.isList, s2.kind === "enum");
+ }, ...Br(Object.keys(n3)) });
+ }
+ __name(Es, "Es");
+ var Ts = /* @__PURE__ */ __name((e5) => Array.isArray(e5) ? e5 : e5.split("."), "Ts");
+ var Wn = /* @__PURE__ */ __name((e5, t) => Ts(t).reduce((r5, n3) => r5 && r5[n3], e5), "Wn");
+ var vs = /* @__PURE__ */ __name((e5, t, r5) => Ts(t).reduceRight((n3, i5, o3, s2) => Object.assign({}, Wn(e5, s2.slice(0, o3)), { [i5]: n3 }), r5), "vs");
+ function op(e5, t) {
+ return e5 === void 0 || t === void 0 ? [] : [...t, "select", e5];
+ }
+ __name(op, "op");
+ function sp(e5, t, r5) {
+ return t === void 0 ? e5 ?? {} : vs(t, r5, e5 || true);
+ }
+ __name(sp, "sp");
+ function Kn(e5, t, r5, n3, i5, o3) {
+ let s2 = e5._runtimeDataModel.models[t], a5;
+ return (u) => {
+ let m3 = je(e5._errorFormat), P = op(n3, i5), T2 = sp(u, o3, P), S = r5({ dataPath: P, callsite: m3 })(T2), I = ap(e5, t);
+ return new Proxy(S, { get(A, M) {
+ if (!I.includes(M)) return A[M];
+ a5 ??= Object.fromEntries(s2.fields.map((D) => [D.name, D]));
+ let q3 = [a5[M].type, r5, M], E = [P, T2];
+ return Kn(e5, ...q3, ...E);
+ }, ...Br([...I, ...Object.getOwnPropertyNames(S)]) });
+ };
+ }
+ __name(Kn, "Kn");
+ function ap(e5, t) {
+ return e5._runtimeDataModel.models[t].fields.filter((r5) => r5.kind === "object").map((r5) => r5.name);
+ }
+ __name(ap, "ap");
+ var lp = ["findUnique", "findUniqueOrThrow", "findFirst", "findFirstOrThrow", "create", "update", "upsert", "delete"];
+ var up = ["aggregate", "count", "groupBy"];
+ function Zn(e5, t) {
+ let r5 = e5._extensions.getAllModelExtensions(t) ?? {}, n3 = [cp(e5, t), dp(e5, t), Zt(r5), ae("name", () => t), ae("$name", () => t), ae("$parent", () => e5._appliedParent)];
+ return ve({}, n3);
+ }
+ __name(Zn, "Zn");
+ function cp(e5, t) {
+ let r5 = Oe(t), n3 = Object.keys(mt).concat("count");
+ return { getKeys() {
+ return n3;
+ }, getPropertyValue(i5) {
+ let o3 = i5, s2 = /* @__PURE__ */ __name((a5) => (u) => {
+ let m3 = je(e5._errorFormat);
+ return e5._createPrismaPromise((P) => {
+ let T2 = { args: u, dataPath: [], action: o3, model: t, clientMethod: `${r5}.${i5}`, jsModelName: r5, transaction: P, callsite: m3 };
+ return e5._request({ ...T2, ...a5 });
+ }, { action: o3, args: u, model: t });
+ }, "s");
+ return lp.includes(o3) ? Kn(e5, t, s2) : pp(i5) ? Ps(e5, i5, s2) : s2({});
+ } };
+ }
+ __name(cp, "cp");
+ function pp(e5) {
+ return up.includes(e5);
+ }
+ __name(pp, "pp");
+ function dp(e5, t) {
+ return We(ae("fields", () => {
+ let r5 = e5._runtimeDataModel.models[t];
+ return Es(t, r5);
+ }));
+ }
+ __name(dp, "dp");
+ function Ss(e5) {
+ return e5.replace(/^./, (t) => t.toUpperCase());
+ }
+ __name(Ss, "Ss");
+ var Xn = /* @__PURE__ */ Symbol();
+ function Yt(e5) {
+ let t = [mp(e5), fp(e5), ae(Xn, () => e5), ae("$parent", () => e5._appliedParent)], r5 = e5._extensions.getAllClientExtensions();
+ return r5 && t.push(Zt(r5)), ve(e5, t);
+ }
+ __name(Yt, "Yt");
+ function mp(e5) {
+ let t = Object.getPrototypeOf(e5._originalClient), r5 = [...new Set(Object.getOwnPropertyNames(t))];
+ return { getKeys() {
+ return r5;
+ }, getPropertyValue(n3) {
+ return e5[n3];
+ } };
+ }
+ __name(mp, "mp");
+ function fp(e5) {
+ let t = Object.keys(e5._runtimeDataModel.models), r5 = t.map(Oe), n3 = [...new Set(t.concat(r5))];
+ return We({ getKeys() {
+ return n3;
+ }, getPropertyValue(i5) {
+ let o3 = Ss(i5);
+ if (e5._runtimeDataModel.models[o3] !== void 0) return Zn(e5, o3);
+ if (e5._runtimeDataModel.models[i5] !== void 0) return Zn(e5, i5);
+ }, getPropertyDescriptor(i5) {
+ if (!r5.includes(i5)) return { enumerable: false };
+ } });
+ }
+ __name(fp, "fp");
+ function As(e5) {
+ return e5[Xn] ? e5[Xn] : e5;
+ }
+ __name(As, "As");
+ function Rs(e5) {
+ if (typeof e5 == "function") return e5(this);
+ let t = Object.create(this._originalClient, { _extensions: { value: this._extensions.append(e5) }, _appliedParent: { value: this, configurable: true }, $on: { value: void 0 } });
+ return Yt(t);
+ }
+ __name(Rs, "Rs");
+ function Cs({ result: e5, modelName: t, select: r5, omit: n3, extensions: i5 }) {
+ let o3 = i5.getAllComputedFields(t);
+ if (!o3) return e5;
+ let s2 = [], a5 = [];
+ for (let u of Object.values(o3)) {
+ if (n3) {
+ if (n3[u.name]) continue;
+ let m3 = u.needs.filter((P) => n3[P]);
+ m3.length > 0 && a5.push(Et(m3));
+ } else if (r5) {
+ if (!r5[u.name]) continue;
+ let m3 = u.needs.filter((P) => !r5[P]);
+ m3.length > 0 && a5.push(Et(m3));
+ }
+ gp(e5, u.needs) && s2.push(yp(u, ve(e5, s2), t));
+ }
+ return s2.length > 0 || a5.length > 0 ? ve(e5, [...s2, ...a5]) : e5;
+ }
+ __name(Cs, "Cs");
+ function gp(e5, t) {
+ return t.every((r5) => $n(e5, r5));
+ }
+ __name(gp, "gp");
+ function yp(e5, t, r5) {
+ return We(ae(e5.name, () => e5.compute(t, r5)));
+ }
+ __name(yp, "yp");
+ function Jr({ visitor: e5, result: t, args: r5, runtimeDataModel: n3, modelName: i5 }) {
+ if (Array.isArray(t)) {
+ for (let s2 = 0; s2 < t.length; s2++) t[s2] = Jr({ result: t[s2], args: r5, modelName: i5, runtimeDataModel: n3, visitor: e5 });
+ return t;
+ }
+ let o3 = e5(t, i5, r5) ?? t;
+ return r5.include && Is({ includeOrSelect: r5.include, result: o3, parentModelName: i5, runtimeDataModel: n3, visitor: e5 }), r5.select && Is({ includeOrSelect: r5.select, result: o3, parentModelName: i5, runtimeDataModel: n3, visitor: e5 }), o3;
+ }
+ __name(Jr, "Jr");
+ function Is({ includeOrSelect: e5, result: t, parentModelName: r5, runtimeDataModel: n3, visitor: i5 }) {
+ for (let [o3, s2] of Object.entries(e5)) {
+ if (!s2 || t[o3] == null || fe(s2)) continue;
+ let u = n3.models[r5].fields.find((P) => P.name === o3);
+ if (!u || u.kind !== "object" || !u.relationName) continue;
+ let m3 = typeof s2 == "object" ? s2 : {};
+ t[o3] = Jr({ visitor: i5, result: t[o3], args: m3, modelName: u.type, runtimeDataModel: n3 });
+ }
+ }
+ __name(Is, "Is");
+ function ks({ result: e5, modelName: t, args: r5, extensions: n3, runtimeDataModel: i5, globalOmit: o3 }) {
+ return n3.isEmpty() || e5 == null || typeof e5 != "object" || !i5.models[t] ? e5 : Jr({ result: e5, args: r5 ?? {}, modelName: t, runtimeDataModel: i5, visitor: /* @__PURE__ */ __name((a5, u, m3) => {
+ let P = Oe(u);
+ return Cs({ result: a5, modelName: P, select: m3.select, omit: m3.select ? void 0 : { ...o3?.[P], ...m3.omit }, extensions: n3 });
+ }, "visitor") });
+ }
+ __name(ks, "ks");
+ var Ke = require_dist();
+ var hp = ["$connect", "$disconnect", "$on", "$use", "$extends"];
+ var Os = hp;
+ function Ns(e5) {
+ if (e5 instanceof Ke.Sql) return wp(e5);
+ if (Ur(e5)) return xp(e5);
+ if (Array.isArray(e5)) {
+ let r5 = [e5[0]];
+ for (let n3 = 1; n3 < e5.length; n3++) r5[n3] = er(e5[n3]);
+ return r5;
+ }
+ let t = {};
+ for (let r5 in e5) t[r5] = er(e5[r5]);
+ return t;
+ }
+ __name(Ns, "Ns");
+ function wp(e5) {
+ return new Ke.Sql(e5.strings, e5.values);
+ }
+ __name(wp, "wp");
+ function xp(e5) {
+ return new Kt(e5.sql, e5.values);
+ }
+ __name(xp, "xp");
+ function er(e5) {
+ if (typeof e5 != "object" || e5 == null || (0, Ke.isObjectEnumValue)(e5) || xt(e5) || fe(e5)) return e5;
+ if (dt(e5)) return new Ke.Decimal(e5.toFixed());
+ if (ct(e5)) return /* @__PURE__ */ new Date(+e5);
+ if (ArrayBuffer.isView(e5)) return e5.slice(0);
+ if (Array.isArray(e5)) {
+ let t = e5.length, r5;
+ for (r5 = Array(t); t--; ) r5[t] = er(e5[t]);
+ return r5;
+ }
+ if (typeof e5 == "object") {
+ let t = {};
+ for (let r5 in e5) r5 === "__proto__" ? Object.defineProperty(t, r5, { value: er(e5[r5]), configurable: true, enumerable: true, writable: true }) : t[r5] = er(e5[r5]);
+ return t;
+ }
+ $e(e5, "Unknown value");
+ }
+ __name(er, "er");
+ function Ms(e5, t, r5, n3 = 0) {
+ return e5._createPrismaPromise((i5) => {
+ let o3 = t.customDataProxyFetch;
+ return "transaction" in t && i5 !== void 0 && (t.transaction?.kind === "batch" && t.transaction.lock.then(), t.transaction = i5), n3 === r5.length ? e5._executeRequest(t) : r5[n3]({ model: t.model, operation: t.model ? t.action : t.clientMethod, args: Ns(t.args ?? {}), __internalParams: t, query: /* @__PURE__ */ __name((s2, a5 = t) => {
+ let u = a5.customDataProxyFetch;
+ return a5.customDataProxyFetch = Ls(o3, u), a5.args = s2, Ms(e5, a5, r5, n3 + 1);
+ }, "query") });
+ });
+ }
+ __name(Ms, "Ms");
+ function Fs(e5, t) {
+ let { jsModelName: r5, action: n3, clientMethod: i5 } = t, o3 = r5 ? n3 : i5;
+ if (e5._extensions.isEmpty()) return e5._executeRequest(t);
+ let s2 = e5._extensions.getAllQueryCallbacks(r5 ?? "$none", o3);
+ return Ms(e5, t, s2);
+ }
+ __name(Fs, "Fs");
+ function _s5(e5) {
+ return (t) => {
+ let r5 = { requests: t }, n3 = t[0].extensions.getAllBatchQueryCallbacks();
+ return n3.length ? $s(r5, n3, 0, e5) : e5(r5);
+ };
+ }
+ __name(_s5, "_s");
+ function $s(e5, t, r5, n3) {
+ if (r5 === t.length) return n3(e5);
+ let i5 = e5.customDataProxyFetch, o3 = e5.requests[0].transaction;
+ return t[r5]({ args: { queries: e5.requests.map((s2) => ({ model: s2.modelName, operation: s2.action, args: s2.args })), transaction: o3 ? { isolationLevel: o3.kind === "batch" ? o3.isolationLevel : void 0 } : void 0 }, __internalParams: e5, query(s2, a5 = e5) {
+ let u = a5.customDataProxyFetch;
+ return a5.customDataProxyFetch = Ls(i5, u), $s(a5, t, r5 + 1, n3);
+ } });
+ }
+ __name($s, "$s");
+ var Ds = /* @__PURE__ */ __name((e5) => e5, "Ds");
+ function Ls(e5 = Ds, t = Ds) {
+ return (r5) => e5(t(r5));
+ }
+ __name(Ls, "Ls");
+ function qs({ dataPath: e5, modelName: t, args: r5, runtimeDataModel: n3 }) {
+ let i5 = { modelName: t, args: r5 ?? {} }, o3 = bp(e5);
+ if (!o3 || o3.length === 0) return i5;
+ let s2 = t, a5 = r5 ?? {};
+ for (let u of o3) {
+ let m3 = n3.models[s2];
+ if (!m3) return i5;
+ let P = m3.fields.find((T2) => T2.name === u);
+ if (!P) throw new Error(`Could not resolve relation field "${u}" on model "${s2}" from dataPath "${e5.join(".")}"`);
+ if (P.kind !== "object" || !P.relationName) return i5;
+ s2 = P.type, a5 = Pp(a5, u);
+ }
+ return { modelName: s2, args: a5 };
+ }
+ __name(qs, "qs");
+ function bp(e5) {
+ let t = [];
+ for (let r5 = 0; r5 < e5.length; r5 += 2) {
+ let n3 = e5[r5], i5 = e5[r5 + 1];
+ if (n3 !== "select" && n3 !== "include" || i5 === void 0) return;
+ t.push(i5);
+ }
+ return t;
+ }
+ __name(bp, "bp");
+ function Pp(e5, t) {
+ let r5 = e5.select?.[t];
+ if (Vs(r5)) return r5;
+ let n3 = e5.include?.[t];
+ return Vs(n3) ? n3 : {};
+ }
+ __name(Pp, "Pp");
+ function Vs(e5) {
+ return !!e5 && typeof e5 == "object" && !Array.isArray(e5);
+ }
+ __name(Vs, "Vs");
+ var Gs = require_dist();
+ var tr = require_dist();
+ function vt(e5) {
+ return ArrayBuffer.isView(e5) && Object.prototype.toString.call(e5) === "[object Uint8Array]";
+ }
+ __name(vt, "vt");
+ function rr(e5) {
+ return Object.prototype.toString.call(e5) === "[object Date]";
+ }
+ __name(rr, "rr");
+ function V(e5, t) {
+ throw new Error(t);
+ }
+ __name(V, "V");
+ function ei(e5, t) {
+ return e5 === t || e5 !== null && t !== null && typeof e5 == "object" && typeof t == "object" && Object.keys(e5).length === Object.keys(t).length && Object.keys(e5).every((r5) => ei(e5[r5], t[r5]));
+ }
+ __name(ei, "ei");
+ function St(e5, t) {
+ let r5 = Object.keys(e5), n3 = Object.keys(t);
+ return (r5.length < n3.length ? r5 : n3).every((o3) => {
+ if (typeof e5[o3] == typeof t[o3] && typeof e5[o3] != "object") return e5[o3] === t[o3];
+ if (tr.Decimal.isDecimal(e5[o3]) || tr.Decimal.isDecimal(t[o3])) {
+ let s2 = Us(e5[o3]), a5 = Us(t[o3]);
+ return s2 && a5 && s2.equals(a5);
+ } else if (vt(e5[o3]) || vt(t[o3])) {
+ let s2 = js(e5[o3]), a5 = js(t[o3]);
+ return s2 && a5 && s2.equals(a5);
+ } else {
+ if (rr(e5[o3]) || rr(t[o3])) return Bs(e5[o3])?.getTime() === Bs(t[o3])?.getTime();
+ if (typeof e5[o3] == "bigint" || typeof t[o3] == "bigint") return Qs(e5[o3]) === Qs(t[o3]);
+ if (typeof e5[o3] == "number" || typeof t[o3] == "number") return Js(e5[o3]) === Js(t[o3]);
+ }
+ return ei(e5[o3], t[o3]);
+ });
+ }
+ __name(St, "St");
+ function Us(e5) {
+ return tr.Decimal.isDecimal(e5) ? e5 : typeof e5 == "number" || typeof e5 == "string" ? new tr.Decimal(e5) : void 0;
+ }
+ __name(Us, "Us");
+ function js(e5) {
+ return Buffer.isBuffer(e5) ? e5 : vt(e5) ? Buffer.from(e5.buffer, e5.byteOffset, e5.byteLength) : typeof e5 == "string" ? Buffer.from(e5, "base64") : void 0;
+ }
+ __name(js, "js");
+ function Bs(e5) {
+ return rr(e5) ? e5 : typeof e5 == "string" || typeof e5 == "number" ? new Date(e5) : void 0;
+ }
+ __name(Bs, "Bs");
+ function Qs(e5) {
+ return typeof e5 == "bigint" ? e5 : typeof e5 == "number" || typeof e5 == "string" ? BigInt(e5) : void 0;
+ }
+ __name(Qs, "Qs");
+ function Js(e5) {
+ return typeof e5 == "number" ? e5 : typeof e5 == "string" ? Number(e5) : void 0;
+ }
+ __name(Js, "Js");
+ function Se(e5) {
+ return JSON.stringify(e5, (t, r5) => typeof r5 == "bigint" ? r5.toString() : ArrayBuffer.isView(r5) ? Buffer.from(r5.buffer, r5.byteOffset, r5.byteLength).toString("base64") : r5);
+ }
+ __name(Se, "Se");
+ var Yn = 8192;
+ function Gr(e5, t) {
+ if (t.length <= Yn) {
+ e5.push(...t);
+ return;
+ }
+ for (let r5 = 0; r5 < t.length; r5 += Yn) e5.push(...t.slice(r5, r5 + Yn));
+ }
+ __name(Gr, "Gr");
+ function Ep(e5) {
+ return e5 !== null && typeof e5 == "object" && typeof e5.$type == "string";
+ }
+ __name(Ep, "Ep");
+ function Tp(e5, t) {
+ let r5 = {};
+ for (let n3 of Object.keys(e5)) r5[n3] = t(e5[n3], n3);
+ return r5;
+ }
+ __name(Tp, "Tp");
+ function Ae(e5) {
+ return e5 === null ? e5 : Array.isArray(e5) ? e5.map(Ae) : typeof e5 == "object" ? Ep(e5) ? vp(e5) : e5.constructor !== null && e5.constructor.name !== "Object" ? e5 : Tp(e5, Ae) : e5;
+ }
+ __name(Ae, "Ae");
+ function vp({ $type: e5, value: t }) {
+ switch (e5) {
+ case "BigInt":
+ return BigInt(t);
+ case "Bytes":
+ return new Uint8Array(Buffer.from(t, "base64"));
+ case "DateTime":
+ return new Date(t);
+ case "Decimal":
+ return new Gs.Decimal(t);
+ case "Json":
+ return JSON.parse(t);
+ case "Raw":
+ return t;
+ case "FieldRef":
+ throw new Error("FieldRef tagged values cannot be deserialized to JavaScript values");
+ case "Enum":
+ return t;
+ default:
+ V(t, "Unknown tagged value");
+ }
+ }
+ __name(vp, "vp");
+ function zr(e5) {
+ return e5.name === "DriverAdapterError" && typeof e5.cause == "object";
+ }
+ __name(zr, "zr");
+ var k5 = { Int32: 0, Int64: 1, Float: 2, Double: 3, Numeric: 4, Boolean: 5, Character: 6, Text: 7, Date: 8, Time: 9, DateTime: 10, Json: 11, Enum: 12, Bytes: 13, Set: 14, Uuid: 15, Int32Array: 64, Int64Array: 65, FloatArray: 66, DoubleArray: 67, NumericArray: 68, BooleanArray: 69, CharacterArray: 70, TextArray: 71, DateArray: 72, TimeArray: 73, DateTimeArray: 74, JsonArray: 75, EnumArray: 76, BytesArray: 77, UuidArray: 78, UnknownNumber: 128 };
+ var X = class extends Error {
+ static {
+ __name(this, "X");
+ }
+ name = "UserFacingError";
+ code;
+ meta;
+ constructor(t, r5, n3) {
+ super(t), this.code = r5, this.meta = n3 ?? {};
+ }
+ toQueryResponseErrorObject() {
+ return { error: this.message, user_facing_error: { is_panic: false, message: this.message, meta: this.meta, error_code: this.code } };
+ }
+ };
+ function Be(e5) {
+ if (!zr(e5)) throw e5;
+ let t = Cp(e5), r5 = Hs(e5);
+ if (t !== void 0 && r5 !== void 0) {
+ let n3 = { driverAdapterError: e5 };
+ throw e5.cause.kind === "UniqueConstraintViolation" && e5.cause.table && (n3.table = e5.cause.table), new X(r5, t, n3);
+ }
+ throw Rp(e5.cause.kind) ? Ap(e5) : e5;
+ }
+ __name(Be, "Be");
+ function ri(e5) {
+ throw zr(e5) ? Sp(e5) : e5;
+ }
+ __name(ri, "ri");
+ function Sp(e5) {
+ let t = e5.cause.originalCode ?? "N/A", r5 = zs(e5);
+ return new X(`Raw query failed. Code: \`${t}\`. Message: \`${r5}\``, "P2010", { driverAdapterError: e5 });
+ }
+ __name(Sp, "Sp");
+ function Ap(e5) {
+ let t = e5.cause.originalCode ?? "N/A", r5 = zs(e5);
+ return new X(`Database error. Code: \`${t}\`. Message: \`${r5}\``, "P2039", { driverAdapterError: e5 });
+ }
+ __name(Ap, "Ap");
+ function zs(e5) {
+ return e5.cause.originalMessage ?? Hs(e5) ?? e5.message ?? "N/A";
+ }
+ __name(zs, "zs");
+ function Rp(e5) {
+ switch (e5) {
+ case "postgres":
+ case "mysql":
+ case "sqlite":
+ case "mssql":
+ return true;
+ default:
+ return false;
+ }
+ }
+ __name(Rp, "Rp");
+ function Cp(e5) {
+ switch (e5.cause.kind) {
+ case "AuthenticationFailed":
+ return "P1000";
+ case "DatabaseNotReachable":
+ return "P1001";
+ case "DatabaseDoesNotExist":
+ return "P1003";
+ case "SocketTimeout":
+ return "P1008";
+ case "DatabaseAlreadyExists":
+ return "P1009";
+ case "DatabaseAccessDenied":
+ return "P1010";
+ case "TlsConnectionError":
+ return "P1011";
+ case "ConnectionClosed":
+ return "P1017";
+ case "TransactionAlreadyClosed":
+ return "P1018";
+ case "LengthMismatch":
+ return "P2000";
+ case "UniqueConstraintViolation":
+ return "P2002";
+ case "ForeignKeyConstraintViolation":
+ case "RestrictViolation":
+ return "P2003";
+ case "InvalidInputValue":
+ return "P2007";
+ case "UnsupportedNativeDataType":
+ return "P2010";
+ case "NullConstraintViolation":
+ return "P2011";
+ case "ValueOutOfRange":
+ return "P2020";
+ case "TableDoesNotExist":
+ return "P2021";
+ case "ColumnNotFound":
+ return "P2022";
+ case "InvalidIsolationLevel":
+ case "InconsistentColumnData":
+ return "P2023";
+ case "MissingFullTextSearchIndex":
+ return "P2030";
+ case "TransactionWriteConflict":
+ return "P2034";
+ case "GenericJs":
+ return "P2036";
+ case "TooManyConnections":
+ return "P2037";
+ case "postgres":
+ case "sqlite":
+ case "mysql":
+ case "mssql":
+ return;
+ default:
+ V(e5.cause, `Unknown error: ${Se(e5.cause)}`);
+ }
+ }
+ __name(Cp, "Cp");
+ function Hs(e5) {
+ switch (e5.cause.kind) {
+ case "AuthenticationFailed":
+ return `Authentication failed against the database server, the provided database credentials for \`${e5.cause.user ?? "(not available)"}\` are not valid`;
+ case "DatabaseNotReachable": {
+ let t = e5.cause.host && e5.cause.port ? `${e5.cause.host}:${e5.cause.port}` : e5.cause.host;
+ return `Can't reach database server${t ? ` at ${t}` : ""}`;
+ }
+ case "DatabaseDoesNotExist":
+ return `Database \`${e5.cause.db ?? "(not available)"}\` does not exist on the database server`;
+ case "SocketTimeout":
+ return "Operation has timed out";
+ case "DatabaseAlreadyExists":
+ return `Database \`${e5.cause.db ?? "(not available)"}\` already exists on the database server`;
+ case "DatabaseAccessDenied":
+ return `User was denied access on the database \`${e5.cause.db ?? "(not available)"}\``;
+ case "TlsConnectionError":
+ return `Error opening a TLS connection: ${e5.cause.reason}`;
+ case "ConnectionClosed":
+ return "Server has closed the connection.";
+ case "TransactionAlreadyClosed":
+ return e5.cause.cause;
+ case "LengthMismatch":
+ return `The provided value for the column is too long for the column's type. Column: ${e5.cause.column ?? "(not available)"}`;
+ case "UniqueConstraintViolation":
+ return `Unique constraint failed on the ${ti(e5.cause.constraint)}`;
+ case "ForeignKeyConstraintViolation":
+ case "RestrictViolation":
+ return `Foreign key constraint violated on the ${ti(e5.cause.constraint)}`;
+ case "UnsupportedNativeDataType":
+ return `Failed to deserialize column of type '${e5.cause.type}'. If you're using $queryRaw and this column is explicitly marked as \`Unsupported\` in your Prisma schema, try casting this column to any supported Prisma type such as \`String\`.`;
+ case "NullConstraintViolation":
+ return `Null constraint violation on the ${ti(e5.cause.constraint)}`;
+ case "ValueOutOfRange":
+ return `Value out of range for the type: ${e5.cause.cause}`;
+ case "TableDoesNotExist":
+ return `The table \`${e5.cause.table ?? "(not available)"}\` does not exist in the current database.`;
+ case "ColumnNotFound":
+ return `The column \`${e5.cause.column ?? "(not available)"}\` does not exist in the current database.`;
+ case "InvalidIsolationLevel":
+ return `Error in connector: Conversion error: ${e5.cause.level}`;
+ case "InconsistentColumnData":
+ return `Inconsistent column data: ${e5.cause.cause}`;
+ case "MissingFullTextSearchIndex":
+ return "Cannot find a fulltext index to use for the native search, try adding a @@fulltext([Fields...]) to your schema";
+ case "TransactionWriteConflict":
+ return "Transaction failed due to a write conflict or a deadlock. Please retry your transaction";
+ case "GenericJs":
+ return `Error in external connector (id ${e5.cause.id})`;
+ case "TooManyConnections":
+ return `Too many database connections opened: ${e5.cause.cause}`;
+ case "InvalidInputValue":
+ return `Invalid input value: ${e5.cause.message}`;
+ case "sqlite":
+ case "postgres":
+ case "mysql":
+ case "mssql":
+ return;
+ default:
+ V(e5.cause, `Unknown error: ${Se(e5.cause)}`);
+ }
+ }
+ __name(Hs, "Hs");
+ function ti(e5) {
+ return e5 && "fields" in e5 ? `fields: (${e5.fields.map((t) => `\`${t}\``).join(", ")})` : e5 && "index" in e5 ? `constraint: \`${e5.index}\`` : e5 && "foreignKey" in e5 ? "foreign key" : "(not available)";
+ }
+ __name(ti, "ti");
+ function Ip(e5) {
+ if (typeof e5 != "object" || e5 === null) return false;
+ let t = e5;
+ return "$type" in t && t.$type === "Param" || "prisma__type" in t && t.prisma__type === "param";
+ }
+ __name(Ip, "Ip");
+ function kp(e5) {
+ return "prisma__type" in e5 ? e5.prisma__value?.name : e5.value.name;
+ }
+ __name(kp, "kp");
+ function Op(e5, t) {
+ let r5 = {};
+ for (let [n3, i5] of Object.entries(e5)) if (r5[n3] = i5, Ip(i5)) {
+ let o3 = kp(i5);
+ o3 && o3 in t && (r5[n3] = t[o3]);
+ }
+ return r5;
+ }
+ __name(Op, "Op");
+ function Ws(e5, t, r5 = {}) {
+ let n3 = e5.map((o3) => t.keys.reduce((s2, a5) => (s2[a5] = Ae(o3[a5]), s2), {})), i5 = new Set(t.nestedSelection);
+ return t.arguments.map((o3) => {
+ let s2 = Op(o3, r5), a5 = n3.findIndex((u) => St(u, s2));
+ if (a5 === -1) return t.expectNonEmpty ? new X("An operation failed because it depends on one or more records that were required but not found", "P2025") : null;
+ {
+ let u = Object.entries(e5[a5]).filter(([m3]) => i5.has(m3));
+ return Object.fromEntries(u);
+ }
+ });
+ }
+ __name(Ws, "Ws");
+ var Xs = require_dist();
+ var Q = class extends X {
+ static {
+ __name(this, "Q");
+ }
+ name = "DataMapperError";
+ constructor(t, r5) {
+ super(t, "P2023", r5);
+ }
+ };
+ var Ks = /* @__PURE__ */ new WeakMap();
+ function Np(e5) {
+ let t = Ks.get(e5);
+ return t || (t = Object.entries(e5), Ks.set(e5, t)), t;
+ }
+ __name(Np, "Np");
+ function ii(e5, t, r5) {
+ switch (t.type) {
+ case "affectedRows":
+ if (typeof e5 != "number") throw new Q(`Expected an affected rows count, got: ${typeof e5} (${e5})`);
+ return { count: e5 };
+ case "object":
+ return oi(e5, t.fields, r5, t.skipNulls);
+ case "field":
+ return ni(e5, "", t.fieldType, r5);
+ default:
+ V(t, `Invalid data mapping type: '${t.type}'`);
+ }
+ }
+ __name(ii, "ii");
+ function oi(e5, t, r5, n3) {
+ if (e5 === null) return null;
+ if (Array.isArray(e5)) {
+ let i5 = e5;
+ return n3 && (i5 = i5.filter((o3) => o3 !== null)), i5.map((o3) => Zs(o3, t, r5));
+ }
+ if (typeof e5 == "object") return Zs(e5, t, r5);
+ if (typeof e5 == "string") {
+ let i5;
+ try {
+ i5 = JSON.parse(e5);
+ } catch (o3) {
+ throw new Q("Expected an array or object, got a string that is not valid JSON", { cause: o3 });
+ }
+ return oi(i5, t, r5, n3);
+ }
+ throw new Q(`Expected an array or an object, got: ${typeof e5}`);
+ }
+ __name(oi, "oi");
+ function Zs(e5, t, r5) {
+ if (typeof e5 != "object") throw new Q(`Expected an object, but got '${typeof e5}'`);
+ let n3 = {};
+ for (let [i5, o3] of Np(t)) switch (o3.type) {
+ case "affectedRows":
+ throw new Q(`Unexpected 'AffectedRows' node in data mapping for field '${i5}'`);
+ case "object": {
+ let { serializedName: s2, fields: a5, skipNulls: u } = o3;
+ if (s2 !== null && !Object.hasOwn(e5, s2)) throw new Q(`Missing data field (Object): '${i5}'; node: ${JSON.stringify(o3)}; data: ${JSON.stringify(e5)}`);
+ let m3 = s2 !== null ? e5[s2] : e5;
+ n3[i5] = oi(m3, a5, r5, u);
+ break;
+ }
+ case "field":
+ {
+ let s2 = o3.dbName;
+ if (Object.hasOwn(e5, s2)) n3[i5] = Dp(e5[s2], s2, o3.fieldType, r5);
+ else throw new Q(`Missing data field (Value): '${s2}'; node: ${JSON.stringify(o3)}; data: ${JSON.stringify(e5)}`);
+ }
+ break;
+ default:
+ V(o3, `DataMapper: Invalid data mapping node type: '${o3.type}'`);
+ }
+ return n3;
+ }
+ __name(Zs, "Zs");
+ function Dp(e5, t, r5, n3) {
+ return e5 === null ? r5.arity === "list" ? [] : null : r5.arity === "list" ? e5.map((o3, s2) => ni(o3, `${t}[${s2}]`, r5, n3)) : ni(e5, t, r5, n3);
+ }
+ __name(Dp, "Dp");
+ function ni(e5, t, r5, n3) {
+ switch (r5.type) {
+ case "unsupported":
+ return e5;
+ case "string": {
+ if (typeof e5 != "string") throw new Q(`Expected a string in column '${t}', got ${typeof e5}: ${e5}`);
+ return e5;
+ }
+ case "int":
+ switch (typeof e5) {
+ case "number":
+ return Math.trunc(e5);
+ case "string": {
+ let i5 = Math.trunc(Number(e5));
+ if (Number.isNaN(i5) || !Number.isFinite(i5)) throw new Q(`Expected an integer in column '${t}', got string: ${e5}`);
+ if (!Number.isSafeInteger(i5)) throw new Q(`Integer value in column '${t}' is too large to represent as a JavaScript number without loss of precision, got: ${e5}. Consider using BigInt type.`);
+ return i5;
+ }
+ default:
+ throw new Q(`Expected an integer in column '${t}', got ${typeof e5}: ${e5}`);
+ }
+ case "bigint": {
+ if (typeof e5 != "number" && typeof e5 != "string") throw new Q(`Expected a bigint in column '${t}', got ${typeof e5}: ${e5}`);
+ return { $type: "BigInt", value: e5 };
+ }
+ case "float": {
+ if (typeof e5 == "number") return e5;
+ if (typeof e5 == "string") {
+ let i5 = Number(e5);
+ if (Number.isNaN(i5) && !/^[-+]?nan$/.test(e5.toLowerCase())) throw new Q(`Expected a float in column '${t}', got string: ${e5}`);
+ return i5;
+ }
+ throw new Q(`Expected a float in column '${t}', got ${typeof e5}: ${e5}`);
+ }
+ case "boolean": {
+ if (typeof e5 == "boolean") return e5;
+ if (typeof e5 == "number") return e5 === 1;
+ if (typeof e5 == "string") {
+ if (e5 === "true" || e5 === "TRUE" || e5 === "1") return true;
+ if (e5 === "false" || e5 === "FALSE" || e5 === "0") return false;
+ throw new Q(`Expected a boolean in column '${t}', got ${typeof e5}: ${e5}`);
+ }
+ if (Array.isArray(e5) || vt(e5)) {
+ for (let i5 of e5) if (i5 !== 0) return true;
+ return false;
+ }
+ throw new Q(`Expected a boolean in column '${t}', got ${typeof e5}: ${e5}`);
+ }
+ case "decimal":
+ if (typeof e5 != "number" && typeof e5 != "string" && !Xs.Decimal.isDecimal(e5)) throw new Q(`Expected a decimal in column '${t}', got ${typeof e5}: ${e5}`);
+ return { $type: "Decimal", value: e5 };
+ case "datetime": {
+ if (typeof e5 == "string") return { $type: "DateTime", value: Fp(e5) };
+ if (typeof e5 == "number" || rr(e5)) return { $type: "DateTime", value: e5 };
+ throw new Q(`Expected a date in column '${t}', got ${typeof e5}: ${e5}`);
+ }
+ case "object":
+ return { $type: "Json", value: Se(e5) };
+ case "json":
+ return { $type: "Json", value: `${e5}` };
+ case "bytes": {
+ switch (r5.encoding) {
+ case "base64":
+ if (typeof e5 != "string") throw new Q(`Expected a base64-encoded byte array in column '${t}', got ${typeof e5}: ${e5}`);
+ return { $type: "Bytes", value: e5 };
+ case "hex":
+ if (typeof e5 != "string" || !e5.startsWith("\\x")) throw new Q(`Expected a hex-encoded byte array in column '${t}', got ${typeof e5}: ${e5}`);
+ return { $type: "Bytes", value: Buffer.from(e5.slice(2), "hex").toString("base64") };
+ case "array":
+ if (Array.isArray(e5)) return { $type: "Bytes", value: Buffer.from(e5).toString("base64") };
+ if (vt(e5)) return { $type: "Bytes", value: Buffer.from(e5).toString("base64") };
+ throw new Q(`Expected a byte array in column '${t}', got ${typeof e5}: ${e5}`);
+ default:
+ V(r5.encoding, `DataMapper: Unknown bytes encoding: ${r5.encoding}`);
+ }
+ break;
+ }
+ case "enum": {
+ let i5 = n3[r5.name];
+ if (i5 === void 0) throw new Q(`Unknown enum '${r5.name}'`);
+ let o3 = i5[`${e5}`];
+ if (o3 === void 0) throw new Q(`Value '${e5}' not found in enum '${r5.name}'`);
+ return o3;
+ }
+ default:
+ V(r5, `DataMapper: Unknown result type: ${r5.type}`);
+ }
+ }
+ __name(ni, "ni");
+ var Mp = /\d{2}:\d{2}:\d{2}(?:\.\d+)?(Z|[+-]\d{2}(:?\d{2})?)?$/;
+ function Fp(e5) {
+ let t = Mp.exec(e5);
+ if (t === null) return `${e5}T00:00:00Z`;
+ let r5 = e5, [n3, i5, o3] = t;
+ if (i5 !== void 0 && i5 !== "Z" && o3 === void 0 ? r5 = `${e5}:00` : i5 === void 0 && (r5 = `${e5}Z`), n3.length === e5.length) return `1970-01-01T${r5}`;
+ let s2 = t.index - 1;
+ return r5[s2] === " " && (r5 = `${r5.slice(0, s2)}T${r5.slice(s2 + 1)}`), r5;
+ }
+ __name(Fp, "Fp");
+ function ge(e5) {
+ if (typeof e5 != "object") return e5;
+ var t, r5, n3 = Object.prototype.toString.call(e5);
+ if (n3 === "[object Object]") {
+ if (e5.constructor !== Object && typeof e5.constructor == "function") {
+ r5 = new e5.constructor();
+ for (t in e5) e5.hasOwnProperty(t) && r5[t] !== e5[t] && (r5[t] = ge(e5[t]));
+ } else {
+ r5 = {};
+ for (t in e5) t === "__proto__" ? Object.defineProperty(r5, t, { value: ge(e5[t]), configurable: true, enumerable: true, writable: true }) : r5[t] = ge(e5[t]);
+ }
+ return r5;
+ }
+ if (n3 === "[object Array]") {
+ for (t = e5.length, r5 = Array(t); t--; ) r5[t] = ge(e5[t]);
+ return r5;
+ }
+ return n3 === "[object Set]" ? (r5 = /* @__PURE__ */ new Set(), e5.forEach(function(i5) {
+ r5.add(ge(i5));
+ }), r5) : n3 === "[object Map]" ? (r5 = /* @__PURE__ */ new Map(), e5.forEach(function(i5, o3) {
+ r5.set(ge(o3), ge(i5));
+ }), r5) : n3 === "[object Date]" ? /* @__PURE__ */ new Date(+e5) : n3 === "[object RegExp]" ? (r5 = new RegExp(e5.source, e5.flags), r5.lastIndex = e5.lastIndex, r5) : n3 === "[object DataView]" ? new e5.constructor(ge(e5.buffer)) : n3 === "[object ArrayBuffer]" ? e5.slice(0) : n3.slice(-6) === "Array]" ? new e5.constructor(e5) : e5;
+ }
+ __name(ge, "ge");
+ function _p(e5) {
+ let t = Object.entries(e5);
+ return t.length === 0 ? "" : (t.sort(([n3], [i5]) => n3.localeCompare(i5)), `/*${t.map(([n3, i5]) => {
+ let o3 = encodeURIComponent(n3), s2 = encodeURIComponent(i5).replace(/'/g, "\\'");
+ return `${o3}='${s2}'`;
+ }).join(",")}*/`);
+ }
+ __name(_p, "_p");
+ function Hr(e5, t) {
+ let r5 = {};
+ for (let n3 of e5) {
+ let i5 = n3(ge(t));
+ for (let [o3, s2] of Object.entries(i5)) s2 !== void 0 && (r5[o3] = s2);
+ }
+ return r5;
+ }
+ __name(Hr, "Hr");
+ function Ys(e5, t) {
+ let r5 = Hr(e5, t);
+ return _p(r5);
+ }
+ __name(Ys, "Ys");
+ function ea(e5, t) {
+ return t ? `${e5} ${t}` : e5;
+ }
+ __name(ea, "ea");
+ var nr;
+ (function(e5) {
+ e5[e5.INTERNAL = 0] = "INTERNAL", e5[e5.SERVER = 1] = "SERVER", e5[e5.CLIENT = 2] = "CLIENT", e5[e5.PRODUCER = 3] = "PRODUCER", e5[e5.CONSUMER = 4] = "CONSUMER";
+ })(nr || (nr = {}));
+ function $p(e5) {
+ switch (e5) {
+ case "postgresql":
+ case "postgres":
+ case "prisma+postgres":
+ return "postgresql";
+ case "sqlserver":
+ return "mssql";
+ case "mysql":
+ case "sqlite":
+ case "cockroachdb":
+ case "mongodb":
+ return e5;
+ default:
+ V(e5, `Unknown provider: ${e5}`);
+ }
+ }
+ __name($p, "$p");
+ async function Wr({ query: e5, tracingHelper: t, provider: r5, onQuery: n3, execute: i5 }) {
+ let o3 = n3 === void 0 ? i5 : async () => {
+ let s2 = /* @__PURE__ */ new Date(), a5 = performance.now(), u = await i5(), m3 = performance.now();
+ return n3({ timestamp: s2, duration: m3 - a5, query: e5.sql, params: e5.args }), u;
+ };
+ return t.isEnabled() ? await t.runInChildSpan({ name: "db_query", kind: nr.CLIENT, attributes: { "db.query.text": e5.sql, "db.system.name": $p(r5) } }, o3) : o3();
+ }
+ __name(Wr, "Wr");
+ function Ze(e5, t) {
+ var r5 = "000000000" + e5;
+ return r5.substr(r5.length - t);
+ }
+ __name(Ze, "Ze");
+ var ta = Pe(__require("node:os"), 1);
+ function Lp() {
+ try {
+ return ta.default.hostname();
+ } catch {
+ return process.env._CLUSTER_NETWORK_NAME_ || process.env.COMPUTERNAME || "hostname";
+ }
+ }
+ __name(Lp, "Lp");
+ var ra = 2;
+ var Vp = Ze(process.pid.toString(36), ra);
+ var na = Lp();
+ var qp = na.length;
+ var Up = Ze(na.split("").reduce(function(e5, t) {
+ return +e5 + t.charCodeAt(0);
+ }, +qp + 36).toString(36), ra);
+ function si() {
+ return Vp + Up;
+ }
+ __name(si, "si");
+ function Kr(e5) {
+ return typeof e5 == "string" && /^c[a-z0-9]{20,32}$/.test(e5);
+ }
+ __name(Kr, "Kr");
+ function ai(e5) {
+ let n3 = Math.pow(36, 4), i5 = 0;
+ function o3() {
+ return Ze((Math.random() * n3 << 0).toString(36), 4);
+ }
+ __name(o3, "o");
+ function s2() {
+ return i5 = i5 < n3 ? i5 : 0, i5++, i5 - 1;
+ }
+ __name(s2, "s");
+ function a5() {
+ var u = "c", m3 = (/* @__PURE__ */ new Date()).getTime().toString(36), P = Ze(s2().toString(36), 4), T2 = e5(), S = o3() + o3();
+ return u + m3 + P + T2 + S;
+ }
+ __name(a5, "a");
+ return a5.fingerprint = e5, a5.isCuid = Kr, a5;
+ }
+ __name(ai, "ai");
+ var jp = ai(si);
+ var ia = jp;
+ var Zr = BigInt(4294967295);
+ var oa = BigInt(32);
+ function Bp(e5, t = false) {
+ return t ? { h: Number(e5 & Zr), l: Number(e5 >> oa & Zr) } : { h: Number(e5 >> oa & Zr) | 0, l: Number(e5 & Zr) | 0 };
+ }
+ __name(Bp, "Bp");
+ function sa(e5, t = false) {
+ let r5 = e5.length, n3 = new Uint32Array(r5), i5 = new Uint32Array(r5);
+ for (let o3 = 0; o3 < r5; o3++) {
+ let { h: s2, l: a5 } = Bp(e5[o3], t);
+ [n3[o3], i5[o3]] = [s2, a5];
+ }
+ return [n3, i5];
+ }
+ __name(sa, "sa");
+ var aa = /* @__PURE__ */ __name((e5, t, r5) => e5 << r5 | t >>> 32 - r5, "aa");
+ var la = /* @__PURE__ */ __name((e5, t, r5) => t << r5 | e5 >>> 32 - r5, "la");
+ var ua = /* @__PURE__ */ __name((e5, t, r5) => t << r5 - 32 | e5 >>> 64 - r5, "ua");
+ var ca = /* @__PURE__ */ __name((e5, t, r5) => e5 << r5 - 32 | t >>> 64 - r5, "ca");
+ function Qp(e5) {
+ return e5 instanceof Uint8Array || ArrayBuffer.isView(e5) && e5.constructor.name === "Uint8Array" && "BYTES_PER_ELEMENT" in e5 && e5.BYTES_PER_ELEMENT === 1;
+ }
+ __name(Qp, "Qp");
+ function Xr(e5, t = "") {
+ if (typeof e5 != "number") {
+ let r5 = t && `"${t}" `;
+ throw new TypeError(`${r5}expected number, got ${typeof e5}`);
+ }
+ if (!Number.isSafeInteger(e5) || e5 < 0) {
+ let r5 = t && `"${t}" `;
+ throw new RangeError(`${r5}expected integer >= 0, got ${e5}`);
+ }
+ }
+ __name(Xr, "Xr");
+ function Yr(e5, t, r5 = "") {
+ let n3 = Qp(e5), i5 = e5?.length, o3 = t !== void 0;
+ if (!n3 || o3 && i5 !== t) {
+ let s2 = r5 && `"${r5}" `, a5 = o3 ? ` of length ${t}` : "", u = n3 ? `length=${i5}` : `type=${typeof e5}`, m3 = s2 + "expected Uint8Array" + a5 + ", got " + u;
+ throw n3 ? new RangeError(m3) : new TypeError(m3);
+ }
+ return e5;
+ }
+ __name(Yr, "Yr");
+ function li(e5, t = true) {
+ if (e5.destroyed) throw new Error("Hash instance has been destroyed");
+ if (t && e5.finished) throw new Error("Hash#digest() has already been called");
+ }
+ __name(li, "li");
+ function pa(e5, t) {
+ Yr(e5, void 0, "digestInto() output");
+ let r5 = t.outputLen;
+ if (e5.length < r5) throw new RangeError('"digestInto() output" expected to be of length >=' + r5);
+ }
+ __name(pa, "pa");
+ function da(e5) {
+ return new Uint32Array(e5.buffer, e5.byteOffset, Math.floor(e5.byteLength / 4));
+ }
+ __name(da, "da");
+ function ui(...e5) {
+ for (let t = 0; t < e5.length; t++) e5[t].fill(0);
+ }
+ __name(ui, "ui");
+ var Jp = new Uint8Array(new Uint32Array([287454020]).buffer)[0] === 68;
+ function Gp(e5) {
+ return e5 << 24 & 4278190080 | e5 << 8 & 16711680 | e5 >>> 8 & 65280 | e5 >>> 24 & 255;
+ }
+ __name(Gp, "Gp");
+ function zp(e5) {
+ for (let t = 0; t < e5.length; t++) e5[t] = Gp(e5[t]);
+ return e5;
+ }
+ __name(zp, "zp");
+ var ci = Jp ? (e5) => e5 : zp;
+ function ma(e5, t = {}) {
+ let r5 = /* @__PURE__ */ __name((i5, o3) => e5(o3).update(i5).digest(), "r"), n3 = e5(void 0);
+ return r5.outputLen = n3.outputLen, r5.blockLen = n3.blockLen, r5.canXOF = n3.canXOF, r5.create = (i5) => e5(i5), Object.assign(r5, t), Object.freeze(r5);
+ }
+ __name(ma, "ma");
+ var fa = /* @__PURE__ */ __name((e5) => ({ oid: Uint8Array.from([6, 9, 96, 134, 72, 1, 101, 3, 4, 2, e5]) }), "fa");
+ var Hp = BigInt(0);
+ var ir = BigInt(1);
+ var Wp = BigInt(2);
+ var Kp = BigInt(7);
+ var Zp = BigInt(256);
+ var Xp = BigInt(113);
+ var ha = [];
+ var wa = [];
+ var xa = [];
+ for (let e5 = 0, t = ir, r5 = 1, n3 = 0; e5 < 24; e5++) {
+ [r5, n3] = [n3, (2 * r5 + 3 * n3) % 5], ha.push(2 * (5 * n3 + r5)), wa.push((e5 + 1) * (e5 + 2) / 2 % 64);
+ let i5 = Hp;
+ for (let o3 = 0; o3 < 7; o3++) t = (t << ir ^ (t >> Kp) * Xp) % Zp, t & Wp && (i5 ^= ir << (ir << BigInt(o3)) - ir);
+ xa.push(i5);
+ }
+ var ba = sa(xa, true);
+ var Yp = ba[0];
+ var ed = ba[1];
+ var ga = /* @__PURE__ */ __name((e5, t, r5) => r5 > 32 ? ua(e5, t, r5) : aa(e5, t, r5), "ga");
+ var ya = /* @__PURE__ */ __name((e5, t, r5) => r5 > 32 ? ca(e5, t, r5) : la(e5, t, r5), "ya");
+ function td(e5, t = 24) {
+ if (Xr(t, "rounds"), t < 1 || t > 24) throw new Error('"rounds" expected integer 1..24');
+ let r5 = new Uint32Array(5 * 2);
+ for (let n3 = 24 - t; n3 < 24; n3++) {
+ for (let s2 = 0; s2 < 10; s2++) r5[s2] = e5[s2] ^ e5[s2 + 10] ^ e5[s2 + 20] ^ e5[s2 + 30] ^ e5[s2 + 40];
+ for (let s2 = 0; s2 < 10; s2 += 2) {
+ let a5 = (s2 + 8) % 10, u = (s2 + 2) % 10, m3 = r5[u], P = r5[u + 1], T2 = ga(m3, P, 1) ^ r5[a5], S = ya(m3, P, 1) ^ r5[a5 + 1];
+ for (let I = 0; I < 50; I += 10) e5[s2 + I] ^= T2, e5[s2 + I + 1] ^= S;
+ }
+ let i5 = e5[2], o3 = e5[3];
+ for (let s2 = 0; s2 < 24; s2++) {
+ let a5 = wa[s2], u = ga(i5, o3, a5), m3 = ya(i5, o3, a5), P = ha[s2];
+ i5 = e5[P], o3 = e5[P + 1], e5[P] = u, e5[P + 1] = m3;
+ }
+ for (let s2 = 0; s2 < 50; s2 += 10) {
+ let a5 = e5[s2], u = e5[s2 + 1], m3 = e5[s2 + 2], P = e5[s2 + 3];
+ e5[s2] ^= ~e5[s2 + 2] & e5[s2 + 4], e5[s2 + 1] ^= ~e5[s2 + 3] & e5[s2 + 5], e5[s2 + 2] ^= ~e5[s2 + 4] & e5[s2 + 6], e5[s2 + 3] ^= ~e5[s2 + 5] & e5[s2 + 7], e5[s2 + 4] ^= ~e5[s2 + 6] & e5[s2 + 8], e5[s2 + 5] ^= ~e5[s2 + 7] & e5[s2 + 9], e5[s2 + 6] ^= ~e5[s2 + 8] & a5, e5[s2 + 7] ^= ~e5[s2 + 9] & u, e5[s2 + 8] ^= ~a5 & m3, e5[s2 + 9] ^= ~u & P;
+ }
+ e5[0] ^= Yp[n3], e5[1] ^= ed[n3];
+ }
+ ui(r5);
+ }
+ __name(td, "td");
+ var pi = class e5 {
+ static {
+ __name(this, "e");
+ }
+ state;
+ pos = 0;
+ posOut = 0;
+ finished = false;
+ state32;
+ destroyed = false;
+ blockLen;
+ suffix;
+ outputLen;
+ canXOF;
+ enableXOF = false;
+ rounds;
+ constructor(t, r5, n3, i5 = false, o3 = 24) {
+ if (this.blockLen = t, this.suffix = r5, this.outputLen = n3, this.enableXOF = i5, this.canXOF = i5, this.rounds = o3, Xr(n3, "outputLen"), !(0 < t && t < 200)) throw new Error("only keccak-f1600 function is supported");
+ this.state = new Uint8Array(200), this.state32 = da(this.state);
+ }
+ clone() {
+ return this._cloneInto();
+ }
+ keccak() {
+ ci(this.state32), td(this.state32, this.rounds), ci(this.state32), this.posOut = 0, this.pos = 0;
+ }
+ update(t) {
+ li(this), Yr(t);
+ let { blockLen: r5, state: n3 } = this, i5 = t.length;
+ for (let o3 = 0; o3 < i5; ) {
+ let s2 = Math.min(r5 - this.pos, i5 - o3);
+ for (let a5 = 0; a5 < s2; a5++) n3[this.pos++] ^= t[o3++];
+ this.pos === r5 && this.keccak();
+ }
+ return this;
+ }
+ finish() {
+ if (this.finished) return;
+ this.finished = true;
+ let { state: t, suffix: r5, pos: n3, blockLen: i5 } = this;
+ t[n3] ^= r5, (r5 & 128) !== 0 && n3 === i5 - 1 && this.keccak(), t[i5 - 1] ^= 128, this.keccak();
+ }
+ writeInto(t) {
+ li(this, false), Yr(t), this.finish();
+ let r5 = this.state, { blockLen: n3 } = this;
+ for (let i5 = 0, o3 = t.length; i5 < o3; ) {
+ this.posOut >= n3 && this.keccak();
+ let s2 = Math.min(n3 - this.posOut, o3 - i5);
+ t.set(r5.subarray(this.posOut, this.posOut + s2), i5), this.posOut += s2, i5 += s2;
+ }
+ return t;
+ }
+ xofInto(t) {
+ if (!this.enableXOF) throw new Error("XOF is not possible for this instance");
+ return this.writeInto(t);
+ }
+ xof(t) {
+ return Xr(t), this.xofInto(new Uint8Array(t));
+ }
+ digestInto(t) {
+ if (pa(t, this), this.finished) throw new Error("digest() was already called");
+ this.writeInto(t.subarray(0, this.outputLen)), this.destroy();
+ }
+ digest() {
+ let t = new Uint8Array(this.outputLen);
+ return this.digestInto(t), t;
+ }
+ destroy() {
+ this.destroyed = true, ui(this.state);
+ }
+ _cloneInto(t) {
+ let { blockLen: r5, suffix: n3, outputLen: i5, rounds: o3, enableXOF: s2 } = this;
+ return t ||= new e5(r5, n3, i5, s2, o3), t.blockLen = r5, t.state32.set(this.state32), t.pos = this.pos, t.posOut = this.posOut, t.finished = this.finished, t.rounds = o3, t.suffix = n3, t.outputLen = i5, t.enableXOF = s2, t.canXOF = this.canXOF, t.destroyed = this.destroyed, t;
+ }
+ };
+ var rd = /* @__PURE__ */ __name((e5, t, r5, n3 = {}) => ma(() => new pi(t, e5, r5), n3), "rd");
+ var Pa = rd(6, 72, 64, fa(10));
+ var nd = /^-?(?:\d+(?:\.\d*)?|\.\d+)(?:e[+-]?\d+)?$/i;
+ var di = Math.ceil;
+ var he = Math.floor;
+ var le = "[BigNumber Error] ";
+ var Ea = le + "Number primitive has more than 15 significant digits: ";
+ var Re = 1e14;
+ var N = 14;
+ var mi = 9007199254740991;
+ var fi = [1, 10, 100, 1e3, 1e4, 1e5, 1e6, 1e7, 1e8, 1e9, 1e10, 1e11, 1e12, 1e13];
+ var Qe = 1e7;
+ var Y = 1e9;
+ function Ta(e5) {
+ var t, r5, n3, i5 = E.prototype = { constructor: E, toString: null, valueOf: null }, o3 = new E(1), s2 = 20, a5 = 4, u = -7, m3 = 21, P = -1e7, T2 = 1e7, S = false, I = 1, A = 0, M = { prefix: "", groupSize: 3, secondaryGroupSize: 0, groupSeparator: ",", decimalSeparator: ".", fractionGroupSize: 0, fractionGroupSeparator: "\xA0", suffix: "" }, L = "0123456789abcdefghijklmnopqrstuvwxyz", q3 = true;
+ function E(l3, c5) {
+ var p3, h5, f5, y, b5, d5, g5, x, w = this;
+ if (!(w instanceof E)) return new E(l3, c5);
+ if (c5 == null) {
+ if (l3 && l3._isBigNumber === true) {
+ w.s = l3.s, !l3.c || l3.e > T2 ? w.c = w.e = null : l3.e < P ? w.c = [w.e = 0] : (w.e = l3.e, w.c = l3.c.slice());
+ return;
+ }
+ if ((d5 = typeof l3 == "number") && l3 * 0 == 0) {
+ if (w.s = 1 / l3 < 0 ? (l3 = -l3, -1) : 1, l3 === ~~l3) {
+ for (y = 0, b5 = l3; b5 >= 10; b5 /= 10, y++) ;
+ y > T2 ? w.c = w.e = null : (w.e = y, w.c = [l3]);
+ return;
+ }
+ x = String(l3);
+ } else {
+ if (!nd.test(x = String(l3))) return n3(w, x, d5);
+ w.s = x.charCodeAt(0) == 45 ? (x = x.slice(1), -1) : 1;
+ }
+ (y = x.indexOf(".")) > -1 && (x = x.replace(".", "")), (b5 = x.search(/e/i)) > 0 ? (y < 0 && (y = b5), y += +x.slice(b5 + 1), x = x.substring(0, b5)) : y < 0 && (y = x.length);
+ } else {
+ if (J(c5, 2, L.length, "Base"), c5 == 10 && q3) return w = new E(l3), ie(w, s2 + w.e + 1, a5);
+ if (x = String(l3), d5 = typeof l3 == "number") {
+ if (l3 * 0 != 0) return n3(w, x, d5, c5);
+ if (w.s = 1 / l3 < 0 ? (x = x.slice(1), -1) : 1, E.DEBUG && x.replace(/^0\.0*|\./, "").length > 15) throw Error(Ea + l3);
+ } else w.s = x.charCodeAt(0) === 45 ? (x = x.slice(1), -1) : 1;
+ for (p3 = L.slice(0, c5), y = b5 = 0, g5 = x.length; b5 < g5; b5++) if (p3.indexOf(h5 = x.charAt(b5)) < 0) {
+ if (h5 == ".") {
+ if (b5 > y) {
+ y = g5;
+ continue;
+ }
+ } else if (!f5 && (x == x.toUpperCase() && (x = x.toLowerCase()) || x == x.toLowerCase() && (x = x.toUpperCase()))) {
+ f5 = true, b5 = -1, y = 0;
+ continue;
+ }
+ return n3(w, String(l3), d5, c5);
+ }
+ d5 = false, x = r5(x, c5, 10, w.s), (y = x.indexOf(".")) > -1 ? x = x.replace(".", "") : y = x.length;
+ }
+ for (b5 = 0; x.charCodeAt(b5) === 48; b5++) ;
+ for (g5 = x.length; x.charCodeAt(--g5) === 48; ) ;
+ if (x = x.slice(b5, ++g5)) {
+ if (g5 -= b5, d5 && E.DEBUG && g5 > 15 && (l3 > mi || l3 !== he(l3))) throw Error(Ea + w.s * l3);
+ if ((y = y - b5 - 1) > T2) w.c = w.e = null;
+ else if (y < P) w.c = [w.e = 0];
+ else {
+ if (w.e = y, w.c = [], b5 = (y + 1) % N, y < 0 && (b5 += N), b5 < g5) {
+ for (b5 && w.c.push(+x.slice(0, b5)), g5 -= N; b5 < g5; ) w.c.push(+x.slice(b5, b5 += N));
+ b5 = N - (x = x.slice(b5)).length;
+ } else b5 -= g5;
+ for (; b5--; x += "0") ;
+ w.c.push(+x);
+ }
+ } else w.c = [w.e = 0];
+ }
+ __name(E, "E");
+ E.clone = Ta, E.ROUND_UP = 0, E.ROUND_DOWN = 1, E.ROUND_CEIL = 2, E.ROUND_FLOOR = 3, E.ROUND_HALF_UP = 4, E.ROUND_HALF_DOWN = 5, E.ROUND_HALF_EVEN = 6, E.ROUND_HALF_CEIL = 7, E.ROUND_HALF_FLOOR = 8, E.EUCLID = 9, E.config = E.set = function(l3) {
+ var c5, p3;
+ if (l3 != null) if (typeof l3 == "object") {
+ if (l3.hasOwnProperty(c5 = "DECIMAL_PLACES") && (p3 = l3[c5], J(p3, 0, Y, c5), s2 = p3), l3.hasOwnProperty(c5 = "ROUNDING_MODE") && (p3 = l3[c5], J(p3, 0, 8, c5), a5 = p3), l3.hasOwnProperty(c5 = "EXPONENTIAL_AT") && (p3 = l3[c5], p3 && p3.pop ? (J(p3[0], -Y, 0, c5), J(p3[1], 0, Y, c5), u = p3[0], m3 = p3[1]) : (J(p3, -Y, Y, c5), u = -(m3 = p3 < 0 ? -p3 : p3))), l3.hasOwnProperty(c5 = "RANGE")) if (p3 = l3[c5], p3 && p3.pop) J(p3[0], -Y, -1, c5), J(p3[1], 1, Y, c5), P = p3[0], T2 = p3[1];
+ else if (J(p3, -Y, Y, c5), p3) P = -(T2 = p3 < 0 ? -p3 : p3);
+ else throw Error(le + c5 + " cannot be zero: " + p3);
+ if (l3.hasOwnProperty(c5 = "CRYPTO")) if (p3 = l3[c5], p3 === !!p3) if (p3) if (typeof crypto < "u" && crypto && (crypto.getRandomValues || crypto.randomBytes)) S = p3;
+ else throw S = !p3, Error(le + "crypto unavailable");
+ else S = p3;
+ else throw Error(le + c5 + " not true or false: " + p3);
+ if (l3.hasOwnProperty(c5 = "MODULO_MODE") && (p3 = l3[c5], J(p3, 0, 9, c5), I = p3), l3.hasOwnProperty(c5 = "POW_PRECISION") && (p3 = l3[c5], J(p3, 0, Y, c5), A = p3), l3.hasOwnProperty(c5 = "FORMAT")) if (p3 = l3[c5], typeof p3 == "object") M = p3;
+ else throw Error(le + c5 + " not an object: " + p3);
+ if (l3.hasOwnProperty(c5 = "ALPHABET")) if (p3 = l3[c5], typeof p3 == "string" && !/^.?$|[+\-.\s]|(.).*\1/.test(p3)) q3 = p3.slice(0, 10) == "0123456789", L = p3;
+ else throw Error(le + c5 + " invalid: " + p3);
+ } else throw Error(le + "Object expected: " + l3);
+ return { DECIMAL_PLACES: s2, ROUNDING_MODE: a5, EXPONENTIAL_AT: [u, m3], RANGE: [P, T2], CRYPTO: S, MODULO_MODE: I, POW_PRECISION: A, FORMAT: M, ALPHABET: L };
+ }, E.isBigNumber = function(l3) {
+ if (!l3 || l3._isBigNumber !== true) return false;
+ if (!E.DEBUG) return true;
+ var c5, p3, h5 = l3.c, f5 = l3.e, y = l3.s;
+ e: if ({}.toString.call(h5) == "[object Array]") {
+ if ((y === 1 || y === -1) && f5 >= -Y && f5 <= Y && f5 === he(f5)) {
+ if (h5[0] === 0) {
+ if (f5 === 0 && h5.length === 1) return true;
+ break e;
+ }
+ if (c5 = (f5 + 1) % N, c5 < 1 && (c5 += N), String(h5[0]).length == c5) {
+ for (c5 = 0; c5 < h5.length; c5++) if (p3 = h5[c5], p3 < 0 || p3 >= Re || p3 !== he(p3)) break e;
+ if (p3 !== 0) return true;
+ }
+ }
+ } else if (h5 === null && f5 === null && (y === null || y === 1 || y === -1)) return true;
+ throw Error(le + "Invalid BigNumber: " + l3);
+ }, E.maximum = E.max = function() {
+ return H(arguments, -1);
+ }, E.minimum = E.min = function() {
+ return H(arguments, 1);
+ }, E.random = (function() {
+ var l3 = 9007199254740992, c5 = Math.random() * l3 & 2097151 ? function() {
+ return he(Math.random() * l3);
+ } : function() {
+ return (Math.random() * 1073741824 | 0) * 8388608 + (Math.random() * 8388608 | 0);
+ };
+ return function(p3) {
+ var h5, f5, y, b5, d5, g5 = 0, x = [], w = new E(o3);
+ if (p3 == null ? p3 = s2 : J(p3, 0, Y), b5 = di(p3 / N), S) if (crypto.getRandomValues) {
+ for (h5 = crypto.getRandomValues(new Uint32Array(b5 *= 2)); g5 < b5; ) d5 = h5[g5] * 131072 + (h5[g5 + 1] >>> 11), d5 >= 9e15 ? (f5 = crypto.getRandomValues(new Uint32Array(2)), h5[g5] = f5[0], h5[g5 + 1] = f5[1]) : (x.push(d5 % 1e14), g5 += 2);
+ g5 = b5 / 2;
+ } else if (crypto.randomBytes) {
+ for (h5 = crypto.randomBytes(b5 *= 7); g5 < b5; ) d5 = (h5[g5] & 31) * 281474976710656 + h5[g5 + 1] * 1099511627776 + h5[g5 + 2] * 4294967296 + h5[g5 + 3] * 16777216 + (h5[g5 + 4] << 16) + (h5[g5 + 5] << 8) + h5[g5 + 6], d5 >= 9e15 ? crypto.randomBytes(7).copy(h5, g5) : (x.push(d5 % 1e14), g5 += 7);
+ g5 = b5 / 7;
+ } else throw S = false, Error(le + "crypto unavailable");
+ if (!S) for (; g5 < b5; ) d5 = c5(), d5 < 9e15 && (x[g5++] = d5 % 1e14);
+ for (b5 = x[--g5], p3 %= N, b5 && p3 && (d5 = fi[N - p3], x[g5] = he(b5 / d5) * d5); x[g5] === 0; x.pop(), g5--) ;
+ if (g5 < 0) x = [y = 0];
+ else {
+ for (y = -1; x[0] === 0; x.splice(0, 1), y -= N) ;
+ for (g5 = 1, d5 = x[0]; d5 >= 10; d5 /= 10, g5++) ;
+ g5 < N && (y -= N - g5);
+ }
+ return w.e = y, w.c = x, w;
+ };
+ })(), E.sum = function() {
+ for (var l3 = 1, c5 = arguments, p3 = new E(c5[0]); l3 < c5.length; ) p3 = p3.plus(c5[l3++]);
+ return p3;
+ }, r5 = /* @__PURE__ */ (function() {
+ var l3 = "0123456789";
+ function c5(p3, h5, f5, y) {
+ for (var b5, d5 = [0], g5, x = 0, w = p3.length; x < w; ) {
+ for (g5 = d5.length; g5--; d5[g5] *= h5) ;
+ for (d5[0] += y.indexOf(p3.charAt(x++)), b5 = 0; b5 < d5.length; b5++) d5[b5] > f5 - 1 && (d5[b5 + 1] == null && (d5[b5 + 1] = 0), d5[b5 + 1] += d5[b5] / f5 | 0, d5[b5] %= f5);
+ }
+ return d5.reverse();
+ }
+ __name(c5, "c");
+ return function(p3, h5, f5, y, b5) {
+ var d5, g5, x, w, v, R, C, $2, G = p3.indexOf("."), W = s2, F = a5;
+ for (G >= 0 && (w = A, A = 0, p3 = p3.replace(".", ""), $2 = new E(h5), R = $2.pow(p3.length - G), A = w, $2.c = c5(Le(ye(R.c), R.e, "0"), 10, f5, l3), $2.e = $2.c.length), C = c5(p3, h5, f5, b5 ? (d5 = L, l3) : (d5 = l3, L)), x = w = C.length; C[--w] == 0; C.pop()) ;
+ if (!C[0]) return d5.charAt(0);
+ if (G < 0 ? --x : (R.c = C, R.e = x, R.s = y, R = t(R, $2, W, F, f5), C = R.c, v = R.r, x = R.e), g5 = x + W + 1, G = C[g5], w = f5 / 2, v = v || g5 < 0 || C[g5 + 1] != null, v = F < 4 ? (G != null || v) && (F == 0 || F == (R.s < 0 ? 3 : 2)) : G > w || G == w && (F == 4 || v || F == 6 && C[g5 - 1] & 1 || F == (R.s < 0 ? 8 : 7)), g5 < 1 || !C[0]) p3 = v ? Le(d5.charAt(1), -W, d5.charAt(0)) : d5.charAt(0);
+ else {
+ if (C.length = g5, v) for (--f5; ++C[--g5] > f5; ) C[g5] = 0, g5 || (++x, C = [1].concat(C));
+ for (w = C.length; !C[--w]; ) ;
+ for (G = 0, p3 = ""; G <= w; p3 += d5.charAt(C[G++])) ;
+ p3 = Le(p3, x, d5.charAt(0));
+ }
+ return p3;
+ };
+ })(), t = /* @__PURE__ */ (function() {
+ function l3(h5, f5, y) {
+ var b5, d5, g5, x, w = 0, v = h5.length, R = f5 % Qe, C = f5 / Qe | 0;
+ for (h5 = h5.slice(); v--; ) g5 = h5[v] % Qe, x = h5[v] / Qe | 0, b5 = C * g5 + x * R, d5 = R * g5 + b5 % Qe * Qe + w, w = (d5 / y | 0) + (b5 / Qe | 0) + C * x, h5[v] = d5 % y;
+ return w && (h5 = [w].concat(h5)), h5;
+ }
+ __name(l3, "l");
+ function c5(h5, f5, y, b5) {
+ var d5, g5;
+ if (y != b5) g5 = y > b5 ? 1 : -1;
+ else for (d5 = g5 = 0; d5 < y; d5++) if (h5[d5] != f5[d5]) {
+ g5 = h5[d5] > f5[d5] ? 1 : -1;
+ break;
+ }
+ return g5;
+ }
+ __name(c5, "c");
+ function p3(h5, f5, y, b5) {
+ for (var d5 = 0; y--; ) h5[y] -= d5, d5 = h5[y] < f5[y] ? 1 : 0, h5[y] = d5 * b5 + h5[y] - f5[y];
+ for (; !h5[0] && h5.length > 1; h5.splice(0, 1)) ;
+ }
+ __name(p3, "p");
+ return function(h5, f5, y, b5, d5) {
+ var g5, x, w, v, R, C, $2, G, W, F, U, oe, wr, Sn, An, Ce, Ot, me = h5.s == f5.s ? 1 : -1, se = h5.c, z2 = f5.c;
+ if (!se || !se[0] || !z2 || !z2[0]) return new E(!h5.s || !f5.s || (se ? z2 && se[0] == z2[0] : !z2) ? NaN : se && se[0] == 0 || !z2 ? me * 0 : me / 0);
+ for (G = new E(me), W = G.c = [], x = h5.e - f5.e, me = y + x + 1, d5 || (d5 = Re, x = we(h5.e / N) - we(f5.e / N), me = me / N | 0), w = 0; z2[w] == (se[w] || 0); w++) ;
+ if (z2[w] > (se[w] || 0) && x--, me < 0) W.push(1), v = true;
+ else {
+ for (Sn = se.length, Ce = z2.length, w = 0, me += 2, R = he(d5 / (z2[0] + 1)), R > 1 && (z2 = l3(z2, R, d5), se = l3(se, R, d5), Ce = z2.length, Sn = se.length), wr = Ce, F = se.slice(0, Ce), U = F.length; U < Ce; F[U++] = 0) ;
+ Ot = z2.slice(), Ot = [0].concat(Ot), An = z2[0], z2[1] >= d5 / 2 && An++;
+ do {
+ if (R = 0, g5 = c5(z2, F, Ce, U), g5 < 0) {
+ if (oe = F[0], Ce != U && (oe = oe * d5 + (F[1] || 0)), R = he(oe / An), R > 1) for (R >= d5 && (R = d5 - 1), C = l3(z2, R, d5), $2 = C.length, U = F.length; c5(C, F, $2, U) == 1; ) R--, p3(C, Ce < $2 ? Ot : z2, $2, d5), $2 = C.length, g5 = 1;
+ else R == 0 && (g5 = R = 1), C = z2.slice(), $2 = C.length;
+ if ($2 < U && (C = [0].concat(C)), p3(F, C, U, d5), U = F.length, g5 == -1) for (; c5(z2, F, Ce, U) < 1; ) R++, p3(F, Ce < U ? Ot : z2, U, d5), U = F.length;
+ } else g5 === 0 && (R++, F = [0]);
+ W[w++] = R, F[0] ? F[U++] = se[wr] || 0 : (F = [se[wr]], U = 1);
+ } while ((wr++ < Sn || F[0] != null) && me--);
+ v = F[0] != null, W[0] || W.splice(0, 1);
+ }
+ if (d5 == Re) {
+ for (w = 1, me = W[0]; me >= 10; me /= 10, w++) ;
+ ie(G, y + (G.e = w + x * N - 1) + 1, b5, v);
+ } else G.e = x, G.r = +v;
+ return G;
+ };
+ })();
+ function D(l3, c5, p3, h5) {
+ var f5, y, b5, d5, g5;
+ if (p3 == null ? p3 = a5 : J(p3, 0, 8), !l3.c) return l3.toString();
+ if (f5 = l3.c[0], b5 = l3.e, c5 == null) g5 = ye(l3.c), g5 = h5 == 1 || h5 == 2 && (b5 <= u || b5 >= m3) ? tn(g5, b5) : Le(g5, b5, "0");
+ else if (l3 = ie(new E(l3), c5, p3), y = l3.e, g5 = ye(l3.c), d5 = g5.length, h5 == 1 || h5 == 2 && (c5 <= y || y <= u)) {
+ for (; d5 < c5; g5 += "0", d5++) ;
+ g5 = tn(g5, y);
+ } else if (c5 -= b5 + (h5 === 2 && y > b5), g5 = Le(g5, y, "0"), y + 1 > d5) {
+ if (--c5 > 0) for (g5 += "."; c5--; g5 += "0") ;
+ } else if (c5 += y - d5, c5 > 0) for (y + 1 == d5 && (g5 += "."); c5--; g5 += "0") ;
+ return l3.s < 0 && f5 ? "-" + g5 : g5;
+ }
+ __name(D, "D");
+ function H(l3, c5) {
+ for (var p3, h5, f5 = 1, y = new E(l3[0]); f5 < l3.length; f5++) h5 = new E(l3[f5]), (!h5.s || (p3 = Xe(y, h5)) === c5 || p3 === 0 && y.s === c5) && (y = h5);
+ return y;
+ }
+ __name(H, "H");
+ function ce(l3, c5, p3) {
+ for (var h5 = 1, f5 = c5.length; !c5[--f5]; c5.pop()) ;
+ for (f5 = c5[0]; f5 >= 10; f5 /= 10, h5++) ;
+ return (p3 = h5 + p3 * N - 1) > T2 ? l3.c = l3.e = null : p3 < P ? l3.c = [l3.e = 0] : (l3.e = p3, l3.c = c5), l3;
+ }
+ __name(ce, "ce");
+ n3 = /* @__PURE__ */ (function() {
+ var l3 = /^(-?)0([xbo])(?=\w[\w.]*$)/i, c5 = /^([^.]+)\.$/, p3 = /^\.([^.]+)$/, h5 = /^-?(Infinity|NaN)$/, f5 = /^\s*\+(?=[\w.])|^\s+|\s+$/g;
+ return function(y, b5, d5, g5) {
+ var x, w = d5 ? b5 : b5.replace(f5, "");
+ if (h5.test(w)) y.s = isNaN(w) ? null : w < 0 ? -1 : 1;
+ else {
+ if (!d5 && (w = w.replace(l3, function(v, R, C) {
+ return x = (C = C.toLowerCase()) == "x" ? 16 : C == "b" ? 2 : 8, !g5 || g5 == x ? R : v;
+ }), g5 && (x = g5, w = w.replace(c5, "$1").replace(p3, "0.$1")), b5 != w)) return new E(w, x);
+ if (E.DEBUG) throw Error(le + "Not a" + (g5 ? " base " + g5 : "") + " number: " + b5);
+ y.s = null;
+ }
+ y.c = y.e = null;
+ };
+ })();
+ function ie(l3, c5, p3, h5) {
+ var f5, y, b5, d5, g5, x, w, v = l3.c, R = fi;
+ if (v) {
+ e: {
+ for (f5 = 1, d5 = v[0]; d5 >= 10; d5 /= 10, f5++) ;
+ if (y = c5 - f5, y < 0) y += N, b5 = c5, g5 = v[x = 0], w = he(g5 / R[f5 - b5 - 1] % 10);
+ else if (x = di((y + 1) / N), x >= v.length) if (h5) {
+ for (; v.length <= x; v.push(0)) ;
+ g5 = w = 0, f5 = 1, y %= N, b5 = y - N + 1;
+ } else break e;
+ else {
+ for (g5 = d5 = v[x], f5 = 1; d5 >= 10; d5 /= 10, f5++) ;
+ y %= N, b5 = y - N + f5, w = b5 < 0 ? 0 : he(g5 / R[f5 - b5 - 1] % 10);
+ }
+ if (h5 = h5 || c5 < 0 || v[x + 1] != null || (b5 < 0 ? g5 : g5 % R[f5 - b5 - 1]), h5 = p3 < 4 ? (w || h5) && (p3 == 0 || p3 == (l3.s < 0 ? 3 : 2)) : w > 5 || w == 5 && (p3 == 4 || h5 || p3 == 6 && (y > 0 ? b5 > 0 ? g5 / R[f5 - b5] : 0 : v[x - 1]) % 10 & 1 || p3 == (l3.s < 0 ? 8 : 7)), c5 < 1 || !v[0]) return v.length = 0, h5 ? (c5 -= l3.e + 1, v[0] = R[(N - c5 % N) % N], l3.e = -c5 || 0) : v[0] = l3.e = 0, l3;
+ if (y == 0 ? (v.length = x, d5 = 1, x--) : (v.length = x + 1, d5 = R[N - y], v[x] = b5 > 0 ? he(g5 / R[f5 - b5] % R[b5]) * d5 : 0), h5) for (; ; ) if (x == 0) {
+ for (y = 1, b5 = v[0]; b5 >= 10; b5 /= 10, y++) ;
+ for (b5 = v[0] += d5, d5 = 1; b5 >= 10; b5 /= 10, d5++) ;
+ y != d5 && (l3.e++, v[0] == Re && (v[0] = 1));
+ break;
+ } else {
+ if (v[x] += d5, v[x] != Re) break;
+ v[x--] = 0, d5 = 1;
+ }
+ for (y = v.length; v[--y] === 0; v.pop()) ;
+ }
+ l3.e > T2 ? l3.c = l3.e = null : l3.e < P && (l3.c = [l3.e = 0]);
+ }
+ return l3;
+ }
+ __name(ie, "ie");
+ function be(l3) {
+ var c5, p3 = l3.e;
+ return p3 === null ? l3.toString() : (c5 = ye(l3.c), c5 = p3 <= u || p3 >= m3 ? tn(c5, p3) : Le(c5, p3, "0"), l3.s < 0 ? "-" + c5 : c5);
+ }
+ __name(be, "be");
+ return i5.absoluteValue = i5.abs = function() {
+ var l3 = new E(this);
+ return l3.s < 0 && (l3.s = 1), l3;
+ }, i5.comparedTo = function(l3, c5) {
+ return Xe(this, new E(l3, c5));
+ }, i5.decimalPlaces = i5.dp = function(l3, c5) {
+ var p3, h5, f5, y = this;
+ if (l3 != null) return J(l3, 0, Y), c5 == null ? c5 = a5 : J(c5, 0, 8), ie(new E(y), l3 + y.e + 1, c5);
+ if (!(p3 = y.c)) return null;
+ if (h5 = ((f5 = p3.length - 1) - we(this.e / N)) * N, f5 = p3[f5]) for (; f5 % 10 == 0; f5 /= 10, h5--) ;
+ return h5 < 0 && (h5 = 0), h5;
+ }, i5.dividedBy = i5.div = function(l3, c5) {
+ return t(this, new E(l3, c5), s2, a5);
+ }, i5.dividedToIntegerBy = i5.idiv = function(l3, c5) {
+ return t(this, new E(l3, c5), 0, 1);
+ }, i5.exponentiatedBy = i5.pow = function(l3, c5) {
+ var p3, h5, f5, y, b5, d5, g5, x, w, v = this;
+ if (l3 = new E(l3), l3.c && !l3.isInteger()) throw Error(le + "Exponent not an integer: " + be(l3));
+ if (c5 != null && (c5 = new E(c5)), d5 = l3.e > 14, !v.c || !v.c[0] || v.c[0] == 1 && !v.e && v.c.length == 1 || !l3.c || !l3.c[0]) return w = new E(Math.pow(+be(v), d5 ? l3.s * (2 - en(l3)) : +be(l3))), c5 ? w.mod(c5) : w;
+ if (g5 = l3.s < 0, c5) {
+ if (c5.c ? !c5.c[0] : !c5.s) return new E(NaN);
+ h5 = !g5 && v.isInteger() && c5.isInteger(), h5 && (v = v.mod(c5));
+ } else {
+ if (l3.e > 9 && (v.e > 0 || v.e < -1 || (v.e == 0 ? v.c[0] > 1 || d5 && v.c[1] >= 24e7 : v.c[0] < 8e13 || d5 && v.c[0] <= 9999975e7))) return y = v.s < 0 && en(l3) ? -0 : 0, v.e > -1 && (y = 1 / y), new E(g5 ? 1 / y : y);
+ A && (y = di(A / N + 2));
+ }
+ for (d5 ? (p3 = new E(0.5), g5 && (l3.s = 1), x = en(l3)) : (f5 = Math.abs(+be(l3)), x = f5 % 2), w = new E(o3); ; ) {
+ if (x) {
+ if (w = w.times(v), !w.c) break;
+ y ? w.c.length > y && (w.c.length = y) : h5 && (w = w.mod(c5));
+ }
+ if (f5) {
+ if (f5 = he(f5 / 2), f5 === 0) break;
+ x = f5 % 2;
+ } else if (l3 = l3.times(p3), ie(l3, l3.e + 1, 1), l3.e > 14) x = en(l3);
+ else {
+ if (f5 = +be(l3), f5 === 0) break;
+ x = f5 % 2;
+ }
+ v = v.times(v), y ? v.c && v.c.length > y && (v.c.length = y) : h5 && (v = v.mod(c5));
+ }
+ return h5 ? w : (g5 && (w = o3.div(w)), c5 ? w.mod(c5) : y ? ie(w, A, a5, b5) : w);
+ }, i5.integerValue = function(l3) {
+ var c5 = new E(this);
+ return l3 == null ? l3 = a5 : J(l3, 0, 8), ie(c5, c5.e + 1, l3);
+ }, i5.isEqualTo = i5.eq = function(l3, c5) {
+ return Xe(this, new E(l3, c5)) === 0;
+ }, i5.isFinite = function() {
+ return !!this.c;
+ }, i5.isGreaterThan = i5.gt = function(l3, c5) {
+ return Xe(this, new E(l3, c5)) > 0;
+ }, i5.isGreaterThanOrEqualTo = i5.gte = function(l3, c5) {
+ return (c5 = Xe(this, new E(l3, c5))) === 1 || c5 === 0;
+ }, i5.isInteger = function() {
+ return !!this.c && we(this.e / N) > this.c.length - 2;
+ }, i5.isLessThan = i5.lt = function(l3, c5) {
+ return Xe(this, new E(l3, c5)) < 0;
+ }, i5.isLessThanOrEqualTo = i5.lte = function(l3, c5) {
+ return (c5 = Xe(this, new E(l3, c5))) === -1 || c5 === 0;
+ }, i5.isNaN = function() {
+ return !this.s;
+ }, i5.isNegative = function() {
+ return this.s < 0;
+ }, i5.isPositive = function() {
+ return this.s > 0;
+ }, i5.isZero = function() {
+ return !!this.c && this.c[0] == 0;
+ }, i5.minus = function(l3, c5) {
+ var p3, h5, f5, y, b5 = this, d5 = b5.s;
+ if (l3 = new E(l3, c5), c5 = l3.s, !d5 || !c5) return new E(NaN);
+ if (d5 != c5) return l3.s = -c5, b5.plus(l3);
+ var g5 = b5.e / N, x = l3.e / N, w = b5.c, v = l3.c;
+ if (!g5 || !x) {
+ if (!w || !v) return w ? (l3.s = -c5, l3) : new E(v ? b5 : NaN);
+ if (!w[0] || !v[0]) return v[0] ? (l3.s = -c5, l3) : new E(w[0] ? b5 : a5 == 3 ? -0 : 0);
+ }
+ if (g5 = we(g5), x = we(x), w = w.slice(), d5 = g5 - x) {
+ for ((y = d5 < 0) ? (d5 = -d5, f5 = w) : (x = g5, f5 = v), f5.reverse(), c5 = d5; c5--; f5.push(0)) ;
+ f5.reverse();
+ } else for (h5 = (y = (d5 = w.length) < (c5 = v.length)) ? d5 : c5, d5 = c5 = 0; c5 < h5; c5++) if (w[c5] != v[c5]) {
+ y = w[c5] < v[c5];
+ break;
+ }
+ if (y && (f5 = w, w = v, v = f5, l3.s = -l3.s), c5 = (h5 = v.length) - (p3 = w.length), c5 > 0) for (; c5--; w[p3++] = 0) ;
+ for (c5 = Re - 1; h5 > d5; ) {
+ if (w[--h5] < v[h5]) {
+ for (p3 = h5; p3 && !w[--p3]; w[p3] = c5) ;
+ --w[p3], w[h5] += Re;
+ }
+ w[h5] -= v[h5];
+ }
+ for (; w[0] == 0; w.splice(0, 1), --x) ;
+ return w[0] ? ce(l3, w, x) : (l3.s = a5 == 3 ? -1 : 1, l3.c = [l3.e = 0], l3);
+ }, i5.modulo = i5.mod = function(l3, c5) {
+ var p3, h5, f5 = this;
+ return l3 = new E(l3, c5), !f5.c || !l3.s || l3.c && !l3.c[0] ? new E(NaN) : !l3.c || f5.c && !f5.c[0] ? new E(f5) : (I == 9 ? (h5 = l3.s, l3.s = 1, p3 = t(f5, l3, 0, 3), l3.s = h5, p3.s *= h5) : p3 = t(f5, l3, 0, I), l3 = f5.minus(p3.times(l3)), !l3.c[0] && I == 1 && (l3.s = f5.s), l3);
+ }, i5.multipliedBy = i5.times = function(l3, c5) {
+ var p3, h5, f5, y, b5, d5, g5, x, w, v, R, C, $2, G, W, F = this, U = F.c, oe = (l3 = new E(l3, c5)).c;
+ if (!U || !oe || !U[0] || !oe[0]) return !F.s || !l3.s || U && !U[0] && !oe || oe && !oe[0] && !U ? l3.c = l3.e = l3.s = null : (l3.s *= F.s, !U || !oe ? l3.c = l3.e = null : (l3.c = [0], l3.e = 0)), l3;
+ for (h5 = we(F.e / N) + we(l3.e / N), l3.s *= F.s, g5 = U.length, v = oe.length, g5 < v && ($2 = U, U = oe, oe = $2, f5 = g5, g5 = v, v = f5), f5 = g5 + v, $2 = []; f5--; $2.push(0)) ;
+ for (G = Re, W = Qe, f5 = v; --f5 >= 0; ) {
+ for (p3 = 0, R = oe[f5] % W, C = oe[f5] / W | 0, b5 = g5, y = f5 + b5; y > f5; ) x = U[--b5] % W, w = U[b5] / W | 0, d5 = C * x + w * R, x = R * x + d5 % W * W + $2[y] + p3, p3 = (x / G | 0) + (d5 / W | 0) + C * w, $2[y--] = x % G;
+ $2[y] = p3;
+ }
+ return p3 ? ++h5 : $2.splice(0, 1), ce(l3, $2, h5);
+ }, i5.negated = function() {
+ var l3 = new E(this);
+ return l3.s = -l3.s || null, l3;
+ }, i5.plus = function(l3, c5) {
+ var p3, h5 = this, f5 = h5.s;
+ if (l3 = new E(l3, c5), c5 = l3.s, !f5 || !c5) return new E(NaN);
+ if (f5 != c5) return l3.s = -c5, h5.minus(l3);
+ var y = h5.e / N, b5 = l3.e / N, d5 = h5.c, g5 = l3.c;
+ if (!y || !b5) {
+ if (!d5 || !g5) return new E(f5 / 0);
+ if (!d5[0] || !g5[0]) return g5[0] ? l3 : new E(d5[0] ? h5 : f5 * 0);
+ }
+ if (y = we(y), b5 = we(b5), d5 = d5.slice(), f5 = y - b5) {
+ for (f5 > 0 ? (b5 = y, p3 = g5) : (f5 = -f5, p3 = d5), p3.reverse(); f5--; p3.push(0)) ;
+ p3.reverse();
+ }
+ for (f5 = d5.length, c5 = g5.length, f5 - c5 < 0 && (p3 = g5, g5 = d5, d5 = p3, c5 = f5), f5 = 0; c5; ) f5 = (d5[--c5] = d5[c5] + g5[c5] + f5) / Re | 0, d5[c5] = Re === d5[c5] ? 0 : d5[c5] % Re;
+ return f5 && (d5 = [f5].concat(d5), ++b5), ce(l3, d5, b5);
+ }, i5.precision = i5.sd = function(l3, c5) {
+ var p3, h5, f5, y = this;
+ if (l3 != null && l3 !== !!l3) return J(l3, 1, Y), c5 == null ? c5 = a5 : J(c5, 0, 8), ie(new E(y), l3, c5);
+ if (!(p3 = y.c)) return null;
+ if (f5 = p3.length - 1, h5 = f5 * N + 1, f5 = p3[f5]) {
+ for (; f5 % 10 == 0; f5 /= 10, h5--) ;
+ for (f5 = p3[0]; f5 >= 10; f5 /= 10, h5++) ;
+ }
+ return l3 && y.e + 1 > h5 && (h5 = y.e + 1), h5;
+ }, i5.shiftedBy = function(l3) {
+ return J(l3, -mi, mi), this.times("1e" + l3);
+ }, i5.squareRoot = i5.sqrt = function() {
+ var l3, c5, p3, h5, f5, y = this, b5 = y.c, d5 = y.s, g5 = y.e, x = s2 + 4, w = new E("0.5");
+ if (d5 !== 1 || !b5 || !b5[0]) return new E(!d5 || d5 < 0 && (!b5 || b5[0]) ? NaN : b5 ? y : 1 / 0);
+ if (d5 = Math.sqrt(+be(y)), d5 == 0 || d5 == 1 / 0 ? (c5 = ye(b5), (c5.length + g5) % 2 == 0 && (c5 += "0"), d5 = Math.sqrt(+c5), g5 = we((g5 + 1) / 2) - (g5 < 0 || g5 % 2), d5 == 1 / 0 ? c5 = "5e" + g5 : (c5 = d5.toExponential(), c5 = c5.slice(0, c5.indexOf("e") + 1) + g5), p3 = new E(c5)) : p3 = new E(d5 + ""), p3.c[0]) {
+ for (g5 = p3.e, d5 = g5 + x, d5 < 3 && (d5 = 0); ; ) if (f5 = p3, p3 = w.times(f5.plus(t(y, f5, x, 1))), ye(f5.c).slice(0, d5) === (c5 = ye(p3.c)).slice(0, d5)) if (p3.e < g5 && --d5, c5 = c5.slice(d5 - 3, d5 + 1), c5 == "9999" || !h5 && c5 == "4999") {
+ if (!h5 && (ie(f5, f5.e + s2 + 2, 0), f5.times(f5).eq(y))) {
+ p3 = f5;
+ break;
+ }
+ x += 4, d5 += 4, h5 = 1;
+ } else {
+ (!+c5 || !+c5.slice(1) && c5.charAt(0) == "5") && (ie(p3, p3.e + s2 + 2, 1), l3 = !p3.times(p3).eq(y));
+ break;
+ }
+ }
+ return ie(p3, p3.e + s2 + 1, a5, l3);
+ }, i5.toExponential = function(l3, c5) {
+ return l3 != null && (J(l3, 0, Y), l3++), D(this, l3, c5, 1);
+ }, i5.toFixed = function(l3, c5) {
+ return l3 != null && (J(l3, 0, Y), l3 = l3 + this.e + 1), D(this, l3, c5);
+ }, i5.toFormat = function(l3, c5, p3) {
+ var h5, f5 = this;
+ if (p3 == null) l3 != null && c5 && typeof c5 == "object" ? (p3 = c5, c5 = null) : l3 && typeof l3 == "object" ? (p3 = l3, l3 = c5 = null) : p3 = M;
+ else if (typeof p3 != "object") throw Error(le + "Argument not an object: " + p3);
+ if (h5 = f5.toFixed(l3, c5), f5.c) {
+ var y, b5 = h5.split("."), d5 = +p3.groupSize, g5 = +p3.secondaryGroupSize, x = p3.groupSeparator || "", w = b5[0], v = b5[1], R = f5.s < 0, C = R ? w.slice(1) : w, $2 = C.length;
+ if (g5 && (y = d5, d5 = g5, g5 = y, $2 -= y), d5 > 0 && $2 > 0) {
+ for (y = $2 % d5 || d5, w = C.substr(0, y); y < $2; y += d5) w += x + C.substr(y, d5);
+ g5 > 0 && (w += x + C.slice(y)), R && (w = "-" + w);
+ }
+ h5 = v ? w + (p3.decimalSeparator || "") + ((g5 = +p3.fractionGroupSize) ? v.replace(new RegExp("\\d{" + g5 + "}\\B", "g"), "$&" + (p3.fractionGroupSeparator || "")) : v) : w;
+ }
+ return (p3.prefix || "") + h5 + (p3.suffix || "");
+ }, i5.toFraction = function(l3) {
+ var c5, p3, h5, f5, y, b5, d5, g5, x, w, v, R, C = this, $2 = C.c;
+ if (l3 != null && (d5 = new E(l3), !d5.isInteger() && (d5.c || d5.s !== 1) || d5.lt(o3))) throw Error(le + "Argument " + (d5.isInteger() ? "out of range: " : "not an integer: ") + be(d5));
+ if (!$2) return new E(C);
+ for (c5 = new E(o3), x = p3 = new E(o3), h5 = g5 = new E(o3), R = ye($2), y = c5.e = R.length - C.e - 1, c5.c[0] = fi[(b5 = y % N) < 0 ? N + b5 : b5], l3 = !l3 || d5.comparedTo(c5) > 0 ? y > 0 ? c5 : x : d5, b5 = T2, T2 = 1 / 0, d5 = new E(R), g5.c[0] = 0; w = t(d5, c5, 0, 1), f5 = p3.plus(w.times(h5)), f5.comparedTo(l3) != 1; ) p3 = h5, h5 = f5, x = g5.plus(w.times(f5 = x)), g5 = f5, c5 = d5.minus(w.times(f5 = c5)), d5 = f5;
+ return f5 = t(l3.minus(p3), h5, 0, 1), g5 = g5.plus(f5.times(x)), p3 = p3.plus(f5.times(h5)), g5.s = x.s = C.s, y = y * 2, v = t(x, h5, y, a5).minus(C).abs().comparedTo(t(g5, p3, y, a5).minus(C).abs()) < 1 ? [x, h5] : [g5, p3], T2 = b5, v;
+ }, i5.toNumber = function() {
+ return +be(this);
+ }, i5.toPrecision = function(l3, c5) {
+ return l3 != null && J(l3, 1, Y), D(this, l3, c5, 2);
+ }, i5.toString = function(l3) {
+ var c5, p3 = this, h5 = p3.s, f5 = p3.e;
+ return f5 === null ? h5 ? (c5 = "Infinity", h5 < 0 && (c5 = "-" + c5)) : c5 = "NaN" : (l3 == null ? c5 = f5 <= u || f5 >= m3 ? tn(ye(p3.c), f5) : Le(ye(p3.c), f5, "0") : l3 === 10 && q3 ? (p3 = ie(new E(p3), s2 + f5 + 1, a5), c5 = Le(ye(p3.c), p3.e, "0")) : (J(l3, 2, L.length, "Base"), c5 = r5(Le(ye(p3.c), f5, "0"), 10, l3, h5, true)), h5 < 0 && p3.c[0] && (c5 = "-" + c5)), c5;
+ }, i5.valueOf = i5.toJSON = function() {
+ return be(this);
+ }, i5._isBigNumber = true, i5[Symbol.toStringTag] = "BigNumber", i5[/* @__PURE__ */ Symbol.for("nodejs.util.inspect.custom")] = i5.valueOf, e5 != null && E.set(e5), E;
+ }
+ __name(Ta, "Ta");
+ function we(e5) {
+ var t = e5 | 0;
+ return e5 > 0 || e5 === t ? t : t - 1;
+ }
+ __name(we, "we");
+ function ye(e5) {
+ for (var t, r5, n3 = 1, i5 = e5.length, o3 = e5[0] + ""; n3 < i5; ) {
+ for (t = e5[n3++] + "", r5 = N - t.length; r5--; t = "0" + t) ;
+ o3 += t;
+ }
+ for (i5 = o3.length; o3.charCodeAt(--i5) === 48; ) ;
+ return o3.slice(0, i5 + 1 || 1);
+ }
+ __name(ye, "ye");
+ function Xe(e5, t) {
+ var r5, n3, i5 = e5.c, o3 = t.c, s2 = e5.s, a5 = t.s, u = e5.e, m3 = t.e;
+ if (!s2 || !a5) return null;
+ if (r5 = i5 && !i5[0], n3 = o3 && !o3[0], r5 || n3) return r5 ? n3 ? 0 : -a5 : s2;
+ if (s2 != a5) return s2;
+ if (r5 = s2 < 0, n3 = u == m3, !i5 || !o3) return n3 ? 0 : !i5 ^ r5 ? 1 : -1;
+ if (!n3) return u > m3 ^ r5 ? 1 : -1;
+ for (a5 = (u = i5.length) < (m3 = o3.length) ? u : m3, s2 = 0; s2 < a5; s2++) if (i5[s2] != o3[s2]) return i5[s2] > o3[s2] ^ r5 ? 1 : -1;
+ return u == m3 ? 0 : u > m3 ^ r5 ? 1 : -1;
+ }
+ __name(Xe, "Xe");
+ function J(e5, t, r5, n3) {
+ if (e5 < t || e5 > r5 || e5 !== he(e5)) throw Error(le + (n3 || "Argument") + (typeof e5 == "number" ? e5 < t || e5 > r5 ? " out of range: " : " not an integer: " : " not a primitive number: ") + String(e5));
+ }
+ __name(J, "J");
+ function en(e5) {
+ var t = e5.c.length - 1;
+ return we(e5.e / N) == t && e5.c[t] % 2 != 0;
+ }
+ __name(en, "en");
+ function tn(e5, t) {
+ return (e5.length > 1 ? e5.charAt(0) + "." + e5.slice(1) : e5) + (t < 0 ? "e" : "e+") + t;
+ }
+ __name(tn, "tn");
+ function Le(e5, t, r5) {
+ var n3, i5;
+ if (t < 0) {
+ for (i5 = r5 + "."; ++t; i5 += r5) ;
+ e5 = i5 + e5;
+ } else if (n3 = e5.length, ++t > n3) {
+ for (i5 = r5, t -= n3; --t; i5 += r5) ;
+ e5 += i5;
+ } else t < n3 && (e5 = e5.slice(0, t) + "." + e5.slice(t));
+ return e5;
+ }
+ __name(Le, "Le");
+ var id = Ta();
+ var va = id;
+ var od = 24;
+ var or = 32;
+ var sd = /* @__PURE__ */ __name(() => typeof globalThis < "u" && globalThis.crypto && typeof globalThis.crypto.getRandomValues == "function" ? () => {
+ let e5 = new Uint32Array(1);
+ return globalThis.crypto.getRandomValues(e5), e5[0] / 4294967296;
+ } : Math.random, "sd");
+ var yi = sd();
+ var gi = /* @__PURE__ */ __name((e5 = 4, t = yi) => {
+ let r5 = "";
+ for (; r5.length < e5; ) r5 = r5 + Math.floor(t() * 36).toString(36);
+ return r5;
+ }, "gi");
+ function ad(e5) {
+ let t = new va(0);
+ for (let r5 of e5.values()) t = t.multipliedBy(256).plus(r5);
+ return t;
+ }
+ __name(ad, "ad");
+ var Aa = /* @__PURE__ */ __name((e5 = "") => {
+ let t = new TextEncoder();
+ return ad(Pa(t.encode(e5))).toString(36).slice(1);
+ }, "Aa");
+ var Sa = Array.from({ length: 26 }, (e5, t) => String.fromCharCode(t + 97));
+ var ld = /* @__PURE__ */ __name((e5) => Sa[Math.floor(e5() * Sa.length)], "ld");
+ var ud = /* @__PURE__ */ __name(({ globalObj: e5 = typeof global < "u" ? global : typeof window < "u" ? window : {}, random: t = yi } = {}) => {
+ let r5 = Object.keys(e5).toString(), n3 = r5.length ? r5 + gi(or, t) : gi(or, t);
+ return Aa(n3).substring(0, or);
+ }, "ud");
+ var cd = /* @__PURE__ */ __name((e5) => () => e5++, "cd");
+ var pd = 476782367;
+ var Ra = /* @__PURE__ */ __name(({ random: e5 = yi, counter: t = cd(Math.floor(e5() * pd)), length: r5 = od, fingerprint: n3 = ud({ random: e5 }) } = {}) => {
+ if (r5 > or) throw new Error(`Length must be between 2 and ${or}. Received: ${r5}`);
+ return function() {
+ let o3 = ld(e5), s2 = Date.now().toString(36), a5 = t().toString(36), u = gi(r5, e5), m3 = `${s2 + u + a5 + n3}`;
+ return `${o3 + Aa(m3).substring(1, r5)}`;
+ };
+ }, "Ra");
+ var hi = dd(Ra);
+ function dd(e5) {
+ let t;
+ return () => (t || (t = e5()), t());
+ }
+ __name(dd, "dd");
+ var wi = __require("node:crypto");
+ var Ca = "useandom-26T198340PX75pxJACKVERYMINDBUSHWOLF_GQZbfghjklqvwyzrict";
+ var md = 128;
+ var Je;
+ var At;
+ function fd(e5) {
+ if (e5 < 0) throw new RangeError("Wrong ID size");
+ try {
+ !Je || Je.length < e5 ? (Je = Buffer.allocUnsafe(e5 * md), wi.webcrypto.getRandomValues(Je), At = 0) : At + e5 > Je.length && (wi.webcrypto.getRandomValues(Je), At = 0);
+ } catch (t) {
+ throw Je = void 0, t;
+ }
+ At += e5;
+ }
+ __name(fd, "fd");
+ function xi(e5 = 21) {
+ fd(e5 |= 0);
+ let t = "";
+ for (let r5 = At - e5; r5 < At; r5++) t += Ca[Je[r5] & 63];
+ return t;
+ }
+ __name(xi, "xi");
+ var sr = Pe(__require("node:crypto"), 1);
+ var ka = "0123456789ABCDEFGHJKMNPQRSTVWXYZ";
+ var ar = 32;
+ var gd = 16;
+ var Oa = 10;
+ var Ia = 281474976710655;
+ var Ye;
+ (function(e5) {
+ e5.Base32IncorrectEncoding = "B32_ENC_INVALID", e5.DecodeTimeInvalidCharacter = "DEC_TIME_CHAR", e5.DecodeTimeValueMalformed = "DEC_TIME_MALFORMED", e5.EncodeTimeNegative = "ENC_TIME_NEG", e5.EncodeTimeSizeExceeded = "ENC_TIME_SIZE_EXCEED", e5.EncodeTimeValueMalformed = "ENC_TIME_MALFORMED", e5.PRNGDetectFailure = "PRNG_DETECT", e5.ULIDInvalid = "ULID_INVALID", e5.Unexpected = "UNEXPECTED", e5.UUIDInvalid = "UUID_INVALID";
+ })(Ye || (Ye = {}));
+ var et = class extends Error {
+ static {
+ __name(this, "et");
+ }
+ constructor(t, r5) {
+ super(`${r5} (${t})`), this.name = "ULIDError", this.code = t;
+ }
+ };
+ function yd(e5) {
+ let t = Math.floor(e5() * ar);
+ return t === ar && (t = ar - 1), ka.charAt(t);
+ }
+ __name(yd, "yd");
+ function hd(e5) {
+ let t = wd(), r5 = t && (t.crypto || t.msCrypto) || (typeof sr.default < "u" ? sr.default : null);
+ if (typeof r5?.getRandomValues == "function") return () => {
+ let n3 = new Uint8Array(1);
+ return r5.getRandomValues(n3), n3[0] / 255;
+ };
+ if (typeof r5?.randomBytes == "function") return () => r5.randomBytes(1).readUInt8() / 255;
+ if (sr.default?.randomBytes) return () => sr.default.randomBytes(1).readUInt8() / 255;
+ throw new et(Ye.PRNGDetectFailure, "Failed to find a reliable PRNG");
+ }
+ __name(hd, "hd");
+ function wd() {
+ return Pd() ? self : typeof window < "u" ? window : typeof global < "u" ? global : typeof globalThis < "u" ? globalThis : null;
+ }
+ __name(wd, "wd");
+ function xd(e5, t) {
+ let r5 = "";
+ for (; e5 > 0; e5--) r5 = yd(t) + r5;
+ return r5;
+ }
+ __name(xd, "xd");
+ function bd(e5, t = Oa) {
+ if (isNaN(e5)) throw new et(Ye.EncodeTimeValueMalformed, `Time must be a number: ${e5}`);
+ if (e5 > Ia) throw new et(Ye.EncodeTimeSizeExceeded, `Cannot encode a time larger than ${Ia}: ${e5}`);
+ if (e5 < 0) throw new et(Ye.EncodeTimeNegative, `Time must be positive: ${e5}`);
+ if (Number.isInteger(e5) === false) throw new et(Ye.EncodeTimeValueMalformed, `Time must be an integer: ${e5}`);
+ let r5, n3 = "";
+ for (let i5 = t; i5 > 0; i5--) r5 = e5 % ar, n3 = ka.charAt(r5) + n3, e5 = (e5 - r5) / ar;
+ return n3;
+ }
+ __name(bd, "bd");
+ function Pd() {
+ return typeof WorkerGlobalScope < "u" && self instanceof WorkerGlobalScope;
+ }
+ __name(Pd, "Pd");
+ function Na(e5, t) {
+ let r5 = t || hd(), n3 = !e5 || isNaN(e5) ? Date.now() : e5;
+ return bd(n3, Oa) + xd(gd, r5);
+ }
+ __name(Na, "Na");
+ var te = [];
+ for (let e5 = 0; e5 < 256; ++e5) te.push((e5 + 256).toString(16).slice(1));
+ function rn(e5, t = 0) {
+ return (te[e5[t + 0]] + te[e5[t + 1]] + te[e5[t + 2]] + te[e5[t + 3]] + "-" + te[e5[t + 4]] + te[e5[t + 5]] + "-" + te[e5[t + 6]] + te[e5[t + 7]] + "-" + te[e5[t + 8]] + te[e5[t + 9]] + "-" + te[e5[t + 10]] + te[e5[t + 11]] + te[e5[t + 12]] + te[e5[t + 13]] + te[e5[t + 14]] + te[e5[t + 15]]).toLowerCase();
+ }
+ __name(rn, "rn");
+ var Ed = new Uint8Array(16);
+ function Rt() {
+ return crypto.getRandomValues(Ed);
+ }
+ __name(Rt, "Rt");
+ function Td(e5, t, r5) {
+ return !t && !e5 && crypto.randomUUID ? crypto.randomUUID() : vd(e5, t, r5);
+ }
+ __name(Td, "Td");
+ function vd(e5, t, r5) {
+ e5 = e5 || {};
+ let n3 = e5.random ?? e5.rng?.() ?? Rt();
+ if (n3.length < 16) throw new Error("Random bytes length must be >= 16");
+ if (n3[6] = n3[6] & 15 | 64, n3[8] = n3[8] & 63 | 128, t) {
+ if (r5 = r5 || 0, r5 < 0 || r5 + 16 > t.length) throw new RangeError(`UUID byte range ${r5}:${r5 + 15} is out of buffer bounds`);
+ for (let i5 = 0; i5 < 16; ++i5) t[r5 + i5] = n3[i5];
+ return t;
+ }
+ return rn(n3);
+ }
+ __name(vd, "vd");
+ var bi = Td;
+ var Pi = {};
+ function Sd(e5, t, r5) {
+ let n3;
+ if (e5) n3 = Da(e5.random ?? e5.rng?.() ?? Rt(), e5.msecs, e5.seq, t, r5);
+ else {
+ let i5 = Date.now(), o3 = Rt();
+ Ad(Pi, i5, o3), n3 = Da(o3, Pi.msecs, Pi.seq, t, r5);
+ }
+ return t ?? rn(n3);
+ }
+ __name(Sd, "Sd");
+ function Ad(e5, t, r5) {
+ return e5.msecs ??= -1 / 0, e5.seq ??= 0, t > e5.msecs ? (e5.seq = r5[6] << 23 | r5[7] << 16 | r5[8] << 8 | r5[9], e5.msecs = t) : (e5.seq = e5.seq + 1 | 0, e5.seq === 0 && e5.msecs++), e5;
+ }
+ __name(Ad, "Ad");
+ function Da(e5, t, r5, n3, i5 = 0) {
+ if (e5.length < 16) throw new Error("Random bytes length must be >= 16");
+ if (!n3) n3 = new Uint8Array(16), i5 = 0;
+ else if (i5 < 0 || i5 + 16 > n3.length) throw new RangeError(`UUID byte range ${i5}:${i5 + 15} is out of buffer bounds`);
+ return t ??= Date.now(), r5 ??= e5[6] * 127 << 24 | e5[7] << 16 | e5[8] << 8 | e5[9], n3[i5++] = t / 1099511627776 & 255, n3[i5++] = t / 4294967296 & 255, n3[i5++] = t / 16777216 & 255, n3[i5++] = t / 65536 & 255, n3[i5++] = t / 256 & 255, n3[i5++] = t & 255, n3[i5++] = 112 | r5 >>> 28 & 15, n3[i5++] = r5 >>> 20 & 255, n3[i5++] = 128 | r5 >>> 14 & 63, n3[i5++] = r5 >>> 6 & 255, n3[i5++] = r5 << 2 & 255 | e5[10] & 3, n3[i5++] = e5[11], n3[i5++] = e5[12], n3[i5++] = e5[13], n3[i5++] = e5[14], n3[i5++] = e5[15], n3;
+ }
+ __name(Da, "Da");
+ var Ei = Sd;
+ var nn = class {
+ static {
+ __name(this, "nn");
+ }
+ #e = {};
+ constructor() {
+ this.register("uuid", new vi()), this.register("cuid", new Si()), this.register("ulid", new Ai()), this.register("nanoid", new Ri()), this.register("product", new Ci());
+ }
+ snapshot() {
+ return Object.create(this.#e, { now: { value: new Ti() } });
+ }
+ register(t, r5) {
+ this.#e[t] = r5;
+ }
+ };
+ var Ti = class {
+ static {
+ __name(this, "Ti");
+ }
+ #e;
+ generate() {
+ return this.#e === void 0 && (this.#e = /* @__PURE__ */ new Date()), this.#e.toISOString();
+ }
+ };
+ var vi = class {
+ static {
+ __name(this, "vi");
+ }
+ generate(t) {
+ if (t === 4) return bi();
+ if (t === 7) return Ei();
+ throw new Error("Invalid UUID generator arguments");
+ }
+ };
+ var Si = class {
+ static {
+ __name(this, "Si");
+ }
+ generate(t) {
+ if (t === 1) return ia();
+ if (t === 2) return hi();
+ throw new Error("Invalid CUID generator arguments");
+ }
+ };
+ var Ai = class {
+ static {
+ __name(this, "Ai");
+ }
+ generate() {
+ return Na();
+ }
+ };
+ var Ri = class {
+ static {
+ __name(this, "Ri");
+ }
+ generate(t) {
+ if (typeof t == "number") return xi(t);
+ if (t === void 0) return xi();
+ throw new Error("Invalid Nanoid generator arguments");
+ }
+ };
+ var Ci = class {
+ static {
+ __name(this, "Ci");
+ }
+ generate(t, r5) {
+ if (t === void 0 || r5 === void 0) throw new Error("Invalid Product generator arguments");
+ return Array.isArray(t) && Array.isArray(r5) ? t.flatMap((n3) => r5.map((i5) => [n3, i5])) : Array.isArray(t) ? t.map((n3) => [n3, r5]) : Array.isArray(r5) ? r5.map((n3) => [t, n3]) : [[t, r5]];
+ }
+ };
+ function lr(e5, t) {
+ return e5 == null ? e5 : typeof e5 == "string" ? lr(JSON.parse(e5), t) : Array.isArray(e5) ? Cd(e5, t) : Rd(e5, t);
+ }
+ __name(lr, "lr");
+ function Rd(e5, t) {
+ if (t.pagination) {
+ let { skip: r5, take: n3, cursor: i5 } = t.pagination;
+ if (r5 !== null && r5 > 0 || n3 === 0 || i5 !== null && !St(e5, i5)) return null;
+ }
+ return Fa(e5, t.nested);
+ }
+ __name(Rd, "Rd");
+ function Fa(e5, t) {
+ for (let [r5, n3] of Object.entries(t)) e5[r5] = lr(e5[r5], n3);
+ return e5;
+ }
+ __name(Fa, "Fa");
+ function Cd(e5, t) {
+ if (t.distinct !== null) {
+ let r5 = t.linkingFields !== null ? [...t.distinct, ...t.linkingFields] : t.distinct;
+ e5 = Id(e5, r5);
+ }
+ return t.pagination && (e5 = kd(e5, t.pagination, t.linkingFields)), t.reverse && e5.reverse(), Object.keys(t.nested).length === 0 ? e5 : e5.map((r5) => Fa(r5, t.nested));
+ }
+ __name(Cd, "Cd");
+ function Id(e5, t) {
+ let r5 = /* @__PURE__ */ new Set(), n3 = [];
+ for (let i5 of e5) {
+ let o3 = tt(i5, t);
+ r5.has(o3) || (r5.add(o3), n3.push(i5));
+ }
+ return n3;
+ }
+ __name(Id, "Id");
+ function kd(e5, t, r5) {
+ if (r5 === null) return Ma(e5, t);
+ let n3 = /* @__PURE__ */ new Map();
+ for (let o3 of e5) {
+ let s2 = tt(o3, r5);
+ n3.has(s2) || n3.set(s2, []), n3.get(s2).push(o3);
+ }
+ let i5 = Array.from(n3.entries());
+ return i5.sort(([o3], [s2]) => o3 < s2 ? -1 : o3 > s2 ? 1 : 0), i5.flatMap(([, o3]) => Ma(o3, t));
+ }
+ __name(kd, "kd");
+ function Ma(e5, { cursor: t, skip: r5, take: n3 }) {
+ let i5 = t !== null ? e5.findIndex((a5) => St(a5, t)) : 0;
+ if (i5 === -1) return [];
+ let o3 = i5 + (r5 ?? 0), s2 = n3 !== null ? o3 + n3 : e5.length;
+ return e5.slice(o3, s2);
+ }
+ __name(Ma, "Ma");
+ function tt(e5, t, r5) {
+ let n3 = t.map((i5, o3) => r5?.[o3] ? e5[i5] !== null ? r5[o3](e5[i5]) : null : e5[i5]);
+ return JSON.stringify(n3);
+ }
+ __name(tt, "tt");
+ function Ii(e5) {
+ return typeof e5 == "object" && e5 !== null && e5.prisma__type === "param";
+ }
+ __name(Ii, "Ii");
+ function ki(e5) {
+ return typeof e5 == "object" && e5 !== null && e5.prisma__type === "generatorCall";
+ }
+ __name(ki, "ki");
+ function Di(e5, t, r5, n3) {
+ let i5 = e5.args.map((o3) => de(o3, t, r5));
+ switch (e5.type) {
+ case "rawSql":
+ return [Dd(e5.sql, i5, e5.argTypes)];
+ case "templateSql":
+ return (e5.chunkable ? Fd(e5.fragments, i5, n3) : [i5]).map((s2) => {
+ let a5 = Od(e5.fragments, e5.placeholderFormat, s2, e5.argTypes);
+ if (n3 !== void 0 && a5.args.length > n3) throw new X("The query parameter limit supported by your database is exceeded.", "P2029");
+ return a5;
+ });
+ default:
+ V(e5.type, "Invalid query type");
+ }
+ }
+ __name(Di, "Di");
+ function de(e5, t, r5) {
+ for (; Md(e5); ) if (Ii(e5)) {
+ let n3 = t[e5.prisma__value.name];
+ if (n3 === void 0) throw new Error(`Missing value for query variable ${e5.prisma__value.name}`);
+ e5.prisma__value.type === "DateTime" && typeof n3 == "string" ? e5 = new Date(n3) : e5 = n3;
+ } else if (ki(e5)) {
+ let { name: n3, args: i5 } = e5.prisma__value, o3 = r5[n3];
+ if (!o3) throw new Error(`Encountered an unknown generator '${n3}'`);
+ e5 = o3.generate(...i5.map((s2) => de(s2, t, r5)));
+ } else V(e5, `Unexpected unevaluated value type: ${e5}`);
+ return Array.isArray(e5) && (e5 = e5.map((n3) => de(n3, t, r5))), e5;
+ }
+ __name(de, "de");
+ function Od(e5, t, r5, n3) {
+ let i5 = "", o3 = { placeholderNumber: 1 }, s2 = [], a5 = [];
+ for (let u of Ni(e5, r5, n3)) {
+ if (i5 += Nd(u, t, o3), u.type === "stringChunk") continue;
+ let m3 = Array.from(_a4(u)), P = m3.length;
+ if (Gr(s2, m3), u.argType.arity === "tuple") {
+ if (P % u.argType.elements.length !== 0) throw new Error(`Malformed query template. Expected the number of parameters to match the tuple arity, but got ${P} parameters for a tuple of arity ${u.argType.elements.length}.`);
+ for (let T2 = 0; T2 < P / u.argType.elements.length; T2++) a5.push(...u.argType.elements);
+ } else for (let T2 = 0; T2 < P; T2++) a5.push(u.argType);
+ }
+ return { sql: i5, args: s2, argTypes: a5 };
+ }
+ __name(Od, "Od");
+ function Nd(e5, t, r5) {
+ let n3 = e5.type;
+ switch (n3) {
+ case "parameter":
+ return Oi(t, r5.placeholderNumber++);
+ case "stringChunk":
+ return e5.chunk;
+ case "parameterTuple":
+ return `(${e5.value.length == 0 ? "NULL" : e5.value.map(() => {
+ let o3 = Oi(t, r5.placeholderNumber++);
+ return `${e5.itemPrefix}${o3}${e5.itemSuffix}`;
+ }).join(e5.itemSeparator)})`;
+ case "parameterTupleList":
+ return e5.value.map((i5) => {
+ let o3 = i5.map(() => Oi(t, r5.placeholderNumber++)).join(e5.itemSeparator);
+ return `${e5.itemPrefix}${o3}${e5.itemSuffix}`;
+ }).join(e5.groupSeparator);
+ default:
+ V(n3, "Invalid fragment type");
+ }
+ }
+ __name(Nd, "Nd");
+ function Oi(e5, t) {
+ return e5.hasNumbering ? `${e5.prefix}${t}` : e5.prefix;
+ }
+ __name(Oi, "Oi");
+ function Dd(e5, t, r5) {
+ return { sql: e5, args: t, argTypes: r5 };
+ }
+ __name(Dd, "Dd");
+ function Md(e5) {
+ return Ii(e5) || ki(e5);
+ }
+ __name(Md, "Md");
+ function* Ni(e5, t, r5) {
+ let n3 = 0;
+ for (let i5 of e5) switch (i5.type) {
+ case "parameter": {
+ if (n3 >= t.length) throw new Error(`Malformed query template. Fragments attempt to read over ${t.length} parameters.`);
+ yield { ...i5, value: t[n3], argType: r5?.[n3] }, n3++;
+ break;
+ }
+ case "stringChunk": {
+ yield i5;
+ break;
+ }
+ case "parameterTuple": {
+ if (n3 >= t.length) throw new Error(`Malformed query template. Fragments attempt to read over ${t.length} parameters.`);
+ let o3 = t[n3];
+ yield { ...i5, value: Array.isArray(o3) ? o3 : [o3], argType: r5?.[n3] }, n3++;
+ break;
+ }
+ case "parameterTupleList": {
+ if (n3 >= t.length) throw new Error(`Malformed query template. Fragments attempt to read over ${t.length} parameters.`);
+ let o3 = t[n3];
+ if (!Array.isArray(o3)) throw new Error("Malformed query template. Tuple list expected.");
+ if (o3.length === 0) throw new Error("Malformed query template. Tuple list cannot be empty.");
+ for (let s2 of o3) if (!Array.isArray(s2)) throw new Error("Malformed query template. Tuple expected.");
+ yield { ...i5, value: o3, argType: r5?.[n3] }, n3++;
+ break;
+ }
+ }
+ }
+ __name(Ni, "Ni");
+ function* _a4(e5) {
+ switch (e5.type) {
+ case "parameter":
+ yield e5.value;
+ break;
+ case "stringChunk":
+ break;
+ case "parameterTuple":
+ yield* e5.value;
+ break;
+ case "parameterTupleList":
+ for (let t of e5.value) yield* t;
+ break;
+ }
+ }
+ __name(_a4, "_a");
+ function Fd(e5, t, r5) {
+ let n3 = 0, i5 = 0;
+ for (let s2 of Ni(e5, t, void 0)) {
+ let a5 = 0;
+ for (let u of _a4(s2)) a5++;
+ i5 = Math.max(i5, a5), n3 += a5;
+ }
+ let o3 = [[]];
+ for (let s2 of Ni(e5, t, void 0)) switch (s2.type) {
+ case "parameter": {
+ for (let a5 of o3) a5.push(s2.value);
+ break;
+ }
+ case "stringChunk":
+ break;
+ case "parameterTuple": {
+ let a5 = s2.value.length, u = [];
+ if (r5 && o3.length === 1 && a5 === i5 && n3 > r5 && n3 - a5 < r5) {
+ let m3 = r5 - (n3 - a5);
+ u = _d(s2.value, m3);
+ } else u = [s2.value];
+ o3 = o3.flatMap((m3) => u.map((P) => [...m3, P]));
+ break;
+ }
+ case "parameterTupleList": {
+ let a5 = s2.value.reduce((T2, S) => T2 + S.length, 0), u = [], m3 = [], P = 0;
+ for (let T2 of s2.value) r5 && o3.length === 1 && a5 === i5 && m3.length > 0 && n3 - a5 + P + T2.length > r5 && (u.push(m3), m3 = [], P = 0), m3.push(T2), P += T2.length;
+ m3.length > 0 && u.push(m3), o3 = o3.flatMap((T2) => u.map((S) => [...T2, S]));
+ break;
+ }
+ }
+ return o3;
+ }
+ __name(Fd, "Fd");
+ function _d(e5, t) {
+ let r5 = [];
+ for (let n3 = 0; n3 < e5.length; n3 += t) r5.push(e5.slice(n3, n3 + t));
+ return r5;
+ }
+ __name(_d, "_d");
+ function $a(e5) {
+ return e5.rows.map((t) => t.reduce((r5, n3, i5) => (r5[e5.columnNames[i5]] = n3, r5), {}));
+ }
+ __name($a, "$a");
+ function La(e5) {
+ return { columns: e5.columnNames, types: e5.columnTypes.map((t) => $d(t)), rows: e5.rows.map((t) => t.map((r5, n3) => ur(r5, e5.columnTypes[n3]))) };
+ }
+ __name(La, "La");
+ function ur(e5, t) {
+ if (e5 === null) return null;
+ switch (t) {
+ case k5.Int32:
+ switch (typeof e5) {
+ case "number":
+ return Math.trunc(e5);
+ case "string":
+ return Math.trunc(Number(e5));
+ default:
+ throw new Error(`Cannot serialize value of type ${typeof e5} as Int32`);
+ }
+ case k5.Int32Array:
+ if (!Array.isArray(e5)) throw new Error(`Cannot serialize value of type ${typeof e5} as Int32Array`);
+ return e5.map((r5) => ur(r5, k5.Int32));
+ case k5.Int64:
+ switch (typeof e5) {
+ case "number":
+ return BigInt(Math.trunc(e5));
+ case "string":
+ return e5;
+ default:
+ throw new Error(`Cannot serialize value of type ${typeof e5} as Int64`);
+ }
+ case k5.Int64Array:
+ if (!Array.isArray(e5)) throw new Error(`Cannot serialize value of type ${typeof e5} as Int64Array`);
+ return e5.map((r5) => ur(r5, k5.Int64));
+ case k5.Json:
+ switch (typeof e5) {
+ case "string":
+ return JSON.parse(e5);
+ default:
+ throw new Error(`Cannot serialize value of type ${typeof e5} as Json`);
+ }
+ case k5.JsonArray:
+ if (!Array.isArray(e5)) throw new Error(`Cannot serialize value of type ${typeof e5} as JsonArray`);
+ return e5.map((r5) => ur(r5, k5.Json));
+ case k5.Boolean:
+ switch (typeof e5) {
+ case "boolean":
+ return e5;
+ case "string":
+ return e5 === "true" || e5 === "1";
+ case "number":
+ return e5 === 1;
+ default:
+ throw new Error(`Cannot serialize value of type ${typeof e5} as Boolean`);
+ }
+ case k5.BooleanArray:
+ if (!Array.isArray(e5)) throw new Error(`Cannot serialize value of type ${typeof e5} as BooleanArray`);
+ return e5.map((r5) => ur(r5, k5.Boolean));
+ default:
+ return e5;
+ }
+ }
+ __name(ur, "ur");
+ function $d(e5) {
+ switch (e5) {
+ case k5.Int32:
+ return "int";
+ case k5.Int64:
+ return "bigint";
+ case k5.Float:
+ return "float";
+ case k5.Double:
+ return "double";
+ case k5.Text:
+ return "string";
+ case k5.Enum:
+ return "enum";
+ case k5.Bytes:
+ return "bytes";
+ case k5.Boolean:
+ return "bool";
+ case k5.Character:
+ return "char";
+ case k5.Numeric:
+ return "decimal";
+ case k5.Json:
+ return "json";
+ case k5.Uuid:
+ return "uuid";
+ case k5.DateTime:
+ return "datetime";
+ case k5.Date:
+ return "date";
+ case k5.Time:
+ return "time";
+ case k5.Int32Array:
+ return "int-array";
+ case k5.Int64Array:
+ return "bigint-array";
+ case k5.FloatArray:
+ return "float-array";
+ case k5.DoubleArray:
+ return "double-array";
+ case k5.TextArray:
+ return "string-array";
+ case k5.EnumArray:
+ return "string-array";
+ case k5.BytesArray:
+ return "bytes-array";
+ case k5.BooleanArray:
+ return "bool-array";
+ case k5.CharacterArray:
+ return "char-array";
+ case k5.NumericArray:
+ return "decimal-array";
+ case k5.JsonArray:
+ return "json-array";
+ case k5.UuidArray:
+ return "uuid-array";
+ case k5.DateTimeArray:
+ return "datetime-array";
+ case k5.DateArray:
+ return "date-array";
+ case k5.TimeArray:
+ return "time-array";
+ case k5.UnknownNumber:
+ return "unknown";
+ case k5.Set:
+ return "string";
+ default:
+ V(e5, `Unexpected column type: ${e5}`);
+ }
+ }
+ __name($d, "$d");
+ function Mi(e5, t, r5) {
+ if (!t.every((n3) => on(e5, n3))) {
+ let n3 = Ld(e5, r5), i5 = Vd(r5);
+ throw new X(n3, i5, r5.context);
+ }
+ }
+ __name(Mi, "Mi");
+ function on(e5, t) {
+ switch (t.type) {
+ case "rowCountEq":
+ return Array.isArray(e5) ? e5.length === t.args : e5 === null ? t.args === 0 : t.args === 1;
+ case "rowCountNeq":
+ return Array.isArray(e5) ? e5.length !== t.args : e5 === null ? t.args !== 0 : t.args !== 1;
+ case "affectedRowCountEq":
+ return e5 === t.args;
+ case "never":
+ return false;
+ default:
+ V(t, `Unknown rule type: ${t.type}`);
+ }
+ }
+ __name(on, "on");
+ function Ld(e5, t) {
+ switch (t.errorIdentifier) {
+ case "RELATION_VIOLATION":
+ return `The change you are trying to make would violate the required relation '${t.context.relation}' between the \`${t.context.modelA}\` and \`${t.context.modelB}\` models.`;
+ case "MISSING_RECORD":
+ return `An operation failed because it depends on one or more records that were required but not found. No record was found for ${t.context.operation}.`;
+ case "MISSING_RELATED_RECORD": {
+ let r5 = t.context.neededFor ? ` (needed to ${t.context.neededFor})` : "";
+ return `An operation failed because it depends on one or more records that were required but not found. No '${t.context.model}' record${r5} was found for ${t.context.operation} on ${t.context.relationType} relation '${t.context.relation}'.`;
+ }
+ case "INCOMPLETE_CONNECT_INPUT":
+ return `An operation failed because it depends on one or more records that were required but not found. Expected ${t.context.expectedRows} records to be connected, found only ${Array.isArray(e5) ? e5.length : e5}.`;
+ case "INCOMPLETE_CONNECT_OUTPUT":
+ return `The required connected records were not found. Expected ${t.context.expectedRows} records to be connected after connect operation on ${t.context.relationType} relation '${t.context.relation}', found ${Array.isArray(e5) ? e5.length : e5}.`;
+ case "RECORDS_NOT_CONNECTED":
+ return `The records for relation \`${t.context.relation}\` between the \`${t.context.parent}\` and \`${t.context.child}\` models are not connected.`;
+ default:
+ V(t, `Unknown error identifier: ${t}`);
+ }
+ }
+ __name(Ld, "Ld");
+ function Vd(e5) {
+ switch (e5.errorIdentifier) {
+ case "RELATION_VIOLATION":
+ return "P2014";
+ case "RECORDS_NOT_CONNECTED":
+ return "P2017";
+ case "INCOMPLETE_CONNECT_OUTPUT":
+ return "P2018";
+ case "MISSING_RECORD":
+ case "MISSING_RELATED_RECORD":
+ case "INCOMPLETE_CONNECT_INPUT":
+ return "P2025";
+ default:
+ V(e5, `Unknown error identifier: ${e5}`);
+ }
+ }
+ __name(Vd, "Vd");
+ var qd = K2("prisma:client:queryInterpreter");
+ var dr = class e5 {
+ static {
+ __name(this, "e");
+ }
+ #e;
+ #t = new nn();
+ #r;
+ #i;
+ #o;
+ #s;
+ #a;
+ constructor({ onQuery: t, tracingHelper: r5, serializer: n3, rawSerializer: i5, provider: o3, connectionInfo: s2 }) {
+ this.#e = t, this.#r = r5, this.#i = n3, this.#o = i5 ?? n3, this.#s = o3, this.#a = s2;
+ }
+ static forSql(t) {
+ return new e5({ onQuery: t.onQuery, tracingHelper: t.tracingHelper, serializer: $a, rawSerializer: La, provider: t.provider, connectionInfo: t.connectionInfo });
+ }
+ async run(t, r5) {
+ let n3 = this.#t.snapshot(), i5 = { ...r5, generators: n3 }, o3 = jd(t, (a5) => this.interpretNode(a5, i5))?.catch((a5) => Be(a5));
+ if (o3) try {
+ return this.#n(await o3, i5.scope, n3).value;
+ } catch (a5) {
+ Be(a5);
+ }
+ let { value: s2 } = await this.interpretNode(t, i5).catch((a5) => Be(a5));
+ return s2;
+ }
+ async interpretNode(t, r5) {
+ switch (t.type) {
+ case "value":
+ return { value: de(t.args, r5.scope, r5.generators), lastInsertId: t.lastInsertId };
+ case "seq": {
+ let n3;
+ for (let i5 of t.args) n3 = await this.interpretNode(i5, r5);
+ return n3 ?? { value: void 0 };
+ }
+ case "let": {
+ let n3 = Object.create(r5.scope);
+ for (let i5 of t.args.bindings) {
+ let { value: o3 } = await this.interpretNode(i5.expr, { ...r5, scope: n3 });
+ n3[i5.name] = o3;
+ }
+ return this.interpretNode(t.args.expr, { ...r5, scope: n3 });
+ }
+ case "concat": {
+ let n3 = await Promise.all(t.args.map((i5) => this.interpretNode(i5, r5).then((o3) => o3.value)));
+ return { value: n3.length > 0 ? n3.reduce((i5, o3) => i5.concat(Ct(o3)), []) : [] };
+ }
+ case "sum": {
+ let n3 = await Promise.all(t.args.map((i5) => this.interpretNode(i5, r5).then((o3) => o3.value)));
+ return { value: n3.length > 0 ? n3.reduce((i5, o3) => xe(i5) + xe(o3)) : 0 };
+ }
+ case "execute": {
+ let n3 = Di(t.args, r5.scope, r5.generators, this.#p());
+ return this.#u(n3.length, r5, async (i5) => {
+ let o3 = 0;
+ for (let s2 of n3) {
+ let a5 = ja(s2, i5.sqlCommenter);
+ o3 += await this.#d(a5, i5.queryable, () => i5.queryable.executeRaw(sn(a5)).catch((u) => t.args.type === "rawSql" ? ri(u) : Be(u)));
+ }
+ return { value: o3 };
+ });
+ }
+ case "query": {
+ let n3 = Di(t.args, r5.scope, r5.generators, this.#p());
+ return this.#u(n3.length, r5, async (i5) => {
+ let o3;
+ for (let s2 of n3) {
+ let a5 = ja(s2, i5.sqlCommenter), u = await this.#d(a5, i5.queryable, () => i5.queryable.queryRaw(sn(a5)).catch((m3) => t.args.type === "rawSql" ? ri(m3) : Be(m3)));
+ o3 === void 0 ? o3 = u : (Gr(o3.rows, u.rows), o3.lastInsertId = u.lastInsertId);
+ }
+ return { value: t.args.type === "rawSql" ? this.#o(o3) : this.#i(o3), lastInsertId: o3?.lastInsertId };
+ });
+ }
+ case "reverse": {
+ let { value: n3, lastInsertId: i5 } = await this.interpretNode(t.args, r5);
+ return { value: Array.isArray(n3) ? n3.reverse() : n3, lastInsertId: i5 };
+ }
+ case "unique": {
+ let { value: n3, lastInsertId: i5 } = await this.interpretNode(t.args, r5);
+ if (!Array.isArray(n3)) return { value: n3, lastInsertId: i5 };
+ if (n3.length > 1) throw new Error(`Expected zero or one element, got ${n3.length}`);
+ return { value: n3[0] ?? null, lastInsertId: i5 };
+ }
+ case "required": {
+ let { value: n3, lastInsertId: i5 } = await this.interpretNode(t.args, r5);
+ if (Fi(n3)) throw new Error("Required value is empty");
+ return { value: n3, lastInsertId: i5 };
+ }
+ case "mapField": {
+ let { value: n3, lastInsertId: i5 } = await this.interpretNode(t.args.records, r5);
+ return { value: _i(n3, t.args.field), lastInsertId: i5 };
+ }
+ case "join": {
+ let { value: n3, lastInsertId: i5 } = await this.interpretNode(t.args.parent, r5);
+ if (n3 === null) return { value: null, lastInsertId: i5 };
+ let o3 = await Promise.all(t.args.children.map(async (s2) => ({ joinExpr: s2, childRecords: (await this.interpretNode(s2.child, r5)).value })));
+ return { value: Va(n3, o3, t.args.canAssumeStrictEquality), lastInsertId: i5 };
+ }
+ case "transaction":
+ return this.#l(r5, (n3) => this.interpretNode(t.args, n3));
+ case "dataMap": {
+ let { value: n3, lastInsertId: i5 } = await this.interpretNode(t.args.expr, r5);
+ return { value: ii(n3, t.args.structure, t.args.enums), lastInsertId: i5 };
+ }
+ case "validate": {
+ let { value: n3, lastInsertId: i5 } = await this.interpretNode(t.args.expr, r5);
+ return Mi(n3, t.args.rules, t.args), { value: n3, lastInsertId: i5 };
+ }
+ case "if": {
+ let { value: n3 } = await this.interpretNode(t.args.value, r5);
+ return on(n3, t.args.rule) ? await this.interpretNode(t.args.then, r5) : await this.interpretNode(t.args.else, r5);
+ }
+ case "diff": {
+ let { value: n3 } = await this.interpretNode(t.args.from, r5), { value: i5 } = await this.interpretNode(t.args.to, r5), o3 = /* @__PURE__ */ __name((a5) => a5 !== null ? tt(rt(a5), t.args.fields) : null, "o"), s2 = new Set(Ct(i5).map(o3));
+ return { value: Ct(n3).filter((a5) => !s2.has(o3(a5))) };
+ }
+ case "process": {
+ let { value: n3, lastInsertId: i5 } = await this.interpretNode(t.args.expr, r5), o3 = sn(t.args.operations);
+ return $i(o3, r5.scope, r5.generators), { value: lr(n3, o3), lastInsertId: i5 };
+ }
+ case "initializeRecord": {
+ let { lastInsertId: n3 } = await this.interpretNode(t.args.expr, r5), i5 = {};
+ for (let [o3, s2] of Object.entries(t.args.fields)) i5[o3] = qa(s2, n3, r5.scope, r5.generators);
+ return { value: i5, lastInsertId: n3 };
+ }
+ case "mapRecord": {
+ let { value: n3, lastInsertId: i5 } = await this.interpretNode(t.args.expr, r5), o3 = n3 === null ? {} : rt(n3);
+ for (let [s2, a5] of Object.entries(t.args.fields)) o3[s2] = Ua(a5, o3[s2], r5.scope, r5.generators);
+ return { value: o3, lastInsertId: i5 };
+ }
+ default:
+ return this.#n(t, r5.scope, r5.generators);
+ }
+ }
+ #n(t, r5, n3) {
+ switch (t.type) {
+ case "value":
+ return { value: de(t.args, r5, n3), lastInsertId: t.lastInsertId };
+ case "seq": {
+ let i5;
+ for (let o3 of t.args) i5 = this.#n(o3, r5, n3);
+ return i5 ?? { value: void 0 };
+ }
+ case "get":
+ return { value: r5[t.args.name] };
+ case "let": {
+ let i5 = Object.create(r5);
+ for (let o3 of t.args.bindings) {
+ let { value: s2 } = this.#n(o3.expr, i5, n3);
+ i5[o3.name] = s2;
+ }
+ return this.#n(t.args.expr, i5, n3);
+ }
+ case "getFirstNonEmpty": {
+ for (let i5 of t.args.names) {
+ let o3 = r5[i5];
+ if (!Fi(o3)) return { value: o3 };
+ }
+ return { value: [] };
+ }
+ case "concat": {
+ let i5 = t.args.map((o3) => this.#n(o3, r5, n3).value);
+ return { value: i5.length > 0 ? i5.reduce((o3, s2) => o3.concat(Ct(s2)), []) : [] };
+ }
+ case "sum": {
+ let i5 = t.args.map((o3) => this.#n(o3, r5, n3).value);
+ return { value: i5.length > 0 ? i5.reduce((o3, s2) => xe(o3) + xe(s2)) : 0 };
+ }
+ case "reverse": {
+ let { value: i5, lastInsertId: o3 } = this.#n(t.args, r5, n3);
+ return { value: Array.isArray(i5) ? i5.reverse() : i5, lastInsertId: o3 };
+ }
+ case "unique": {
+ let { value: i5, lastInsertId: o3 } = this.#n(t.args, r5, n3);
+ if (!Array.isArray(i5)) return { value: i5, lastInsertId: o3 };
+ if (i5.length > 1) throw new Error(`Expected zero or one element, got ${i5.length}`);
+ return { value: i5[0] ?? null, lastInsertId: o3 };
+ }
+ case "required": {
+ let { value: i5, lastInsertId: o3 } = this.#n(t.args, r5, n3);
+ if (Fi(i5)) throw new Error("Required value is empty");
+ return { value: i5, lastInsertId: o3 };
+ }
+ case "mapField": {
+ let { value: i5, lastInsertId: o3 } = this.#n(t.args.records, r5, n3);
+ return { value: _i(i5, t.args.field), lastInsertId: o3 };
+ }
+ case "join": {
+ let { value: i5, lastInsertId: o3 } = this.#n(t.args.parent, r5, n3);
+ if (i5 === null) return { value: null, lastInsertId: o3 };
+ let s2 = t.args.children.map((a5) => ({ joinExpr: a5, childRecords: this.#n(a5.child, r5, n3).value }));
+ return { value: Va(i5, s2, t.args.canAssumeStrictEquality), lastInsertId: o3 };
+ }
+ case "dataMap": {
+ let { value: i5, lastInsertId: o3 } = this.#n(t.args.expr, r5, n3);
+ return { value: ii(i5, t.args.structure, t.args.enums), lastInsertId: o3 };
+ }
+ case "validate": {
+ let { value: i5, lastInsertId: o3 } = this.#n(t.args.expr, r5, n3);
+ return Mi(i5, t.args.rules, t.args), { value: i5, lastInsertId: o3 };
+ }
+ case "if": {
+ let { value: i5 } = this.#n(t.args.value, r5, n3);
+ return on(i5, t.args.rule) ? this.#n(t.args.then, r5, n3) : this.#n(t.args.else, r5, n3);
+ }
+ case "unit":
+ return { value: void 0 };
+ case "diff": {
+ let { value: i5 } = this.#n(t.args.from, r5, n3), { value: o3 } = this.#n(t.args.to, r5, n3), s2 = /* @__PURE__ */ __name((u) => u !== null ? tt(rt(u), t.args.fields) : null, "s"), a5 = new Set(Ct(o3).map(s2));
+ return { value: Ct(i5).filter((u) => !a5.has(s2(u))) };
+ }
+ case "process": {
+ let { value: i5, lastInsertId: o3 } = this.#n(t.args.expr, r5, n3), s2 = sn(t.args.operations);
+ return $i(s2, r5, n3), { value: lr(i5, s2), lastInsertId: o3 };
+ }
+ case "initializeRecord": {
+ let { lastInsertId: i5 } = this.#n(t.args.expr, r5, n3), o3 = {};
+ for (let [s2, a5] of Object.entries(t.args.fields)) o3[s2] = qa(a5, i5, r5, n3);
+ return { value: o3, lastInsertId: i5 };
+ }
+ case "mapRecord": {
+ let { value: i5, lastInsertId: o3 } = this.#n(t.args.expr, r5, n3), s2 = i5 === null ? {} : rt(i5);
+ for (let [a5, u] of Object.entries(t.args.fields)) s2[a5] = Ua(u, s2[a5], r5, n3);
+ return { value: s2, lastInsertId: o3 };
+ }
+ default:
+ V(t, `Unexpected node type: ${t.type}`);
+ }
+ }
+ #u(t, r5, n3) {
+ return t <= 1 ? n3(r5) : this.#l(r5, n3);
+ }
+ async #l(t, r5) {
+ if (!t.transactionManager.enabled) return r5(t);
+ let n3 = t.transactionManager.manager, i5 = await n3.startInternalTransaction(), o3 = await n3.getTransaction(i5, "query");
+ try {
+ let s2 = await r5({ ...t, queryable: o3, transactionManager: { enabled: false } });
+ return await n3.commitTransaction(i5.id), s2;
+ } catch (s2) {
+ try {
+ await n3.rollbackTransaction(i5.id);
+ } catch (a5) {
+ qd("failed to roll back an internal transaction", a5);
+ }
+ throw s2;
+ }
+ }
+ #p() {
+ return this.#a?.maxBindValues !== void 0 ? this.#a.maxBindValues : this.#c();
+ }
+ #c() {
+ if (this.#s !== void 0) switch (this.#s) {
+ case "cockroachdb":
+ case "postgres":
+ case "postgresql":
+ case "prisma+postgres":
+ return 32766;
+ case "mysql":
+ return 65535;
+ case "sqlite":
+ return 999;
+ case "sqlserver":
+ return 2098;
+ case "mongodb":
+ return;
+ default:
+ V(this.#s, `Unexpected provider: ${this.#s}`);
+ }
+ }
+ #d(t, r5, n3) {
+ return Wr({ query: t, execute: n3, provider: this.#s ?? r5.provider, tracingHelper: this.#r, onQuery: this.#e });
+ }
+ };
+ function Fi(e5) {
+ return Array.isArray(e5) ? e5.length === 0 : e5 == null;
+ }
+ __name(Fi, "Fi");
+ function Ct(e5) {
+ return Array.isArray(e5) ? e5 : [e5];
+ }
+ __name(Ct, "Ct");
+ function xe(e5) {
+ if (typeof e5 == "number") return e5;
+ if (typeof e5 == "string") return Number(e5);
+ throw new Error(`Expected number, got ${typeof e5}`);
+ }
+ __name(xe, "xe");
+ function rt(e5) {
+ if (typeof e5 == "object" && e5 !== null) return e5;
+ throw new Error(`Expected object, got ${typeof e5}`);
+ }
+ __name(rt, "rt");
+ function _i(e5, t) {
+ return Array.isArray(e5) ? e5.map((r5) => _i(r5, t)) : typeof e5 == "object" && e5 !== null ? e5[t] ?? null : e5;
+ }
+ __name(_i, "_i");
+ function Va(e5, t, r5) {
+ for (let { joinExpr: n3, childRecords: i5 } of t) {
+ let o3 = n3.on.map(([P]) => P), s2 = n3.on.map(([, P]) => P), a5 = {}, u = Array.isArray(e5) ? e5 : [e5];
+ for (let P of u) {
+ let T2 = rt(P), S = tt(T2, o3);
+ a5[S] || (a5[S] = []), a5[S].push(T2), n3.isRelationUnique ? T2[n3.parentField] = null : T2[n3.parentField] = [];
+ }
+ let m3 = r5 ? void 0 : Ud(u, o3);
+ for (let P of Array.isArray(i5) ? i5 : [i5]) {
+ if (P === null) continue;
+ let T2 = tt(rt(P), s2, m3);
+ for (let S of a5[T2] ?? []) n3.isRelationUnique ? S[n3.parentField] = P : S[n3.parentField].push(P);
+ }
+ }
+ return e5;
+ }
+ __name(Va, "Va");
+ function Ud(e5, t) {
+ function r5(o3) {
+ switch (o3) {
+ case "number":
+ return Number;
+ case "string":
+ return String;
+ case "boolean":
+ return Boolean;
+ case "bigint":
+ return BigInt;
+ default:
+ return;
+ }
+ }
+ __name(r5, "r");
+ let n3 = Array.from({ length: t.length }), i5 = 0;
+ for (let o3 of e5) {
+ let s2 = rt(o3);
+ for (let [a5, u] of t.entries()) if (s2[u] !== null && n3[a5] === void 0) {
+ let m3 = r5(typeof s2[u]);
+ m3 !== void 0 && (n3[a5] = m3), i5++;
+ }
+ if (i5 === t.length) break;
+ }
+ return n3;
+ }
+ __name(Ud, "Ud");
+ function qa(e5, t, r5, n3) {
+ switch (e5.type) {
+ case "value":
+ return de(e5.value, r5, n3);
+ case "lastInsertId":
+ return t;
+ default:
+ V(e5, `Unexpected field initializer type: ${e5.type}`);
+ }
+ }
+ __name(qa, "qa");
+ function Ua(e5, t, r5, n3) {
+ switch (e5.type) {
+ case "set":
+ return de(e5.value, r5, n3);
+ case "add":
+ return xe(t) + xe(de(e5.value, r5, n3));
+ case "subtract":
+ return xe(t) - xe(de(e5.value, r5, n3));
+ case "multiply":
+ return xe(t) * xe(de(e5.value, r5, n3));
+ case "divide": {
+ let i5 = xe(t), o3 = xe(de(e5.value, r5, n3));
+ return o3 === 0 ? null : i5 / o3;
+ }
+ default:
+ V(e5, `Unexpected field operation type: ${e5.type}`);
+ }
+ }
+ __name(Ua, "Ua");
+ function jd(e5, t) {
+ let r5 = pr(e5);
+ if (r5) return t(r5).then((n3) => {
+ let i5 = { type: "value", args: n3.value, lastInsertId: n3.lastInsertId }, o3 = cr(e5, r5, i5);
+ if (!o3) throw new Error("Could not substitute the evaluated impure node into the query plan");
+ return o3;
+ });
+ }
+ __name(jd, "jd");
+ function cr(e5, t, r5) {
+ if (e5 === t) return r5;
+ switch (e5.type) {
+ case "seq":
+ case "sum":
+ case "concat": {
+ for (let n3 = 0; n3 < e5.args.length; n3++) {
+ let i5 = cr(e5.args[n3], t, r5);
+ if (i5) return { ...e5, args: e5.args.map((o3, s2) => s2 === n3 ? i5 : o3) };
+ }
+ return;
+ }
+ case "dataMap":
+ case "validate":
+ case "initializeRecord":
+ case "mapRecord":
+ case "process": {
+ let n3 = cr(e5.args.expr, t, r5);
+ return n3 && { ...e5, args: { ...e5.args, expr: n3 } };
+ }
+ case "mapField": {
+ let n3 = cr(e5.args.records, t, r5);
+ return n3 && { ...e5, args: { ...e5.args, records: n3 } };
+ }
+ case "reverse":
+ case "unique":
+ case "required": {
+ let n3 = cr(e5.args, t, r5);
+ return n3 && { ...e5, args: n3 };
+ }
+ default:
+ return;
+ }
+ }
+ __name(cr, "cr");
+ function pr(e5) {
+ switch (e5.type) {
+ case "query":
+ case "execute":
+ return e5;
+ case "seq":
+ case "sum":
+ case "concat": {
+ let t;
+ for (let r5 of e5.args) {
+ let n3 = pr(r5);
+ if (n3 === null) return null;
+ if (n3) {
+ if (t) return null;
+ t = n3;
+ }
+ }
+ return t;
+ }
+ case "dataMap":
+ case "validate":
+ case "initializeRecord":
+ case "mapRecord":
+ case "process":
+ return pr(e5.args.expr);
+ case "mapField":
+ return pr(e5.args.records);
+ case "reverse":
+ case "unique":
+ case "required":
+ return pr(e5.args);
+ case "let":
+ case "join":
+ case "diff":
+ case "if":
+ case "transaction":
+ return null;
+ case "value":
+ case "get":
+ case "getFirstNonEmpty":
+ case "unit":
+ return;
+ default:
+ V(e5, `Unexpected node type: ${e5.type}`);
+ }
+ }
+ __name(pr, "pr");
+ function ja(e5, t) {
+ if (!t || t.plugins.length === 0) return e5;
+ let r5 = Ys(t.plugins, { query: t.queryInfo, sql: e5.sql });
+ return r5 ? { ...e5, sql: ea(e5.sql, r5) } : e5;
+ }
+ __name(ja, "ja");
+ function $i(e5, t, r5) {
+ let n3 = e5.pagination?.cursor;
+ if (n3) for (let [i5, o3] of Object.entries(n3)) n3[i5] = de(o3, t, r5);
+ for (let i5 of Object.values(e5.nested)) $i(i5, t, r5);
+ }
+ __name($i, "$i");
+ function sn(e5) {
+ return ge(e5);
+ }
+ __name(sn, "sn");
+ function Ba(e5) {
+ return new Li(e5).deserialize();
+ }
+ __name(Ba, "Ba");
+ function Bd(e5) {
+ return Buffer.from(e5, "base64url");
+ }
+ __name(Bd, "Bd");
+ var Li = class {
+ static {
+ __name(this, "Li");
+ }
+ #e;
+ #t;
+ #r = 0;
+ constructor(t) {
+ this.#e = t;
+ let r5 = Bd(t.graph);
+ this.#t = new DataView(r5.buffer, r5.byteOffset, r5.byteLength);
+ }
+ deserialize() {
+ let { inputNodeCount: t, outputNodeCount: r5, rootCount: n3 } = this.#n(), i5 = this.#u(t), o3 = this.#l(r5), s2 = this.#p(n3);
+ return { strings: this.#e.strings, inputNodes: i5, outputNodes: o3, roots: s2 };
+ }
+ #i() {
+ let t = 0, r5 = 0, n3;
+ do
+ n3 = this.#t.getUint8(this.#r++), t |= (n3 & 127) << r5, r5 += 7;
+ while (n3 >= 128);
+ return t;
+ }
+ #o() {
+ let t = this.#i();
+ return t === 0 ? void 0 : t - 1;
+ }
+ #s() {
+ let t = this.#t.getUint8(this.#r);
+ return this.#r += 1, t;
+ }
+ #a() {
+ let t = this.#t.getUint16(this.#r, true);
+ return this.#r += 2, t;
+ }
+ #n() {
+ let t = this.#i(), r5 = this.#i(), n3 = this.#i();
+ return { inputNodeCount: t, outputNodeCount: r5, rootCount: n3 };
+ }
+ #u(t) {
+ let r5 = [];
+ for (let n3 = 0; n3 < t; n3++) {
+ let i5 = this.#i(), o3 = {};
+ for (let s2 = 0; s2 < i5; s2++) {
+ let a5 = this.#i(), u = this.#a(), m3 = this.#o(), P = this.#o(), S = { flags: this.#s() };
+ u !== 0 && (S.scalarMask = u), m3 !== void 0 && (S.childNodeId = m3), P !== void 0 && (S.enumNameIndex = P), o3[a5] = S;
+ }
+ r5.push({ edges: o3 });
+ }
+ return r5;
+ }
+ #l(t) {
+ let r5 = [];
+ for (let n3 = 0; n3 < t; n3++) {
+ let i5 = this.#i(), o3 = {};
+ for (let s2 = 0; s2 < i5; s2++) {
+ let a5 = this.#i(), u = this.#o(), m3 = this.#o(), P = {};
+ u !== void 0 && (P.argsNodeId = u), m3 !== void 0 && (P.outputNodeId = m3), o3[a5] = P;
+ }
+ r5.push({ edges: o3 });
+ }
+ return r5;
+ }
+ #p(t) {
+ let r5 = {};
+ for (let n3 = 0; n3 < t; n3++) {
+ let i5 = this.#i(), o3 = this.#o(), s2 = this.#o(), a5 = this.#e.strings[i5], u = {};
+ o3 !== void 0 && (u.argsNodeId = o3), s2 !== void 0 && (u.outputNodeId = s2), r5[a5] = u;
+ }
+ return r5;
+ }
+ };
+ var mr = class e5 {
+ static {
+ __name(this, "e");
+ }
+ #e;
+ #t;
+ #r;
+ constructor(t, r5) {
+ this.#e = t, this.#r = r5, this.#t = /* @__PURE__ */ new Map();
+ for (let n3 = 0; n3 < t.strings.length; n3++) this.#t.set(t.strings[n3], n3);
+ }
+ static deserialize(t, r5) {
+ let n3 = Ba(t);
+ return new e5(n3, r5);
+ }
+ static fromData(t, r5) {
+ return new e5(t, r5);
+ }
+ root(t) {
+ let r5 = this.#e.roots[t];
+ if (r5) return { argsNodeId: r5.argsNodeId, outputNodeId: r5.outputNodeId };
+ }
+ inputNode(t) {
+ if (!(t === void 0 || t < 0 || t >= this.#e.inputNodes.length)) return { id: t };
+ }
+ outputNode(t) {
+ if (!(t === void 0 || t < 0 || t >= this.#e.outputNodes.length)) return { id: t };
+ }
+ inputEdge(t, r5) {
+ if (!t) return;
+ let n3 = this.#e.inputNodes[t.id];
+ if (!n3) return;
+ let i5 = this.#t.get(r5);
+ if (i5 === void 0) return;
+ let o3 = n3.edges[i5];
+ if (o3) return { flags: o3.flags, childNodeId: o3.childNodeId, scalarMask: o3.scalarMask ?? 0, enumNameIndex: o3.enumNameIndex };
+ }
+ outputEdge(t, r5) {
+ if (!t) return;
+ let n3 = this.#e.outputNodes[t.id];
+ if (!n3) return;
+ let i5 = this.#t.get(r5);
+ if (i5 === void 0) return;
+ let o3 = n3.edges[i5];
+ if (o3) return { argsNodeId: o3.argsNodeId, outputNodeId: o3.outputNodeId };
+ }
+ enumValues(t) {
+ if (t?.enumNameIndex === void 0) return;
+ let r5 = this.#e.strings[t.enumNameIndex];
+ if (r5) return this.#r(r5);
+ }
+ getString(t) {
+ return this.#e.strings[t];
+ }
+ };
+ var Ne = { ParamScalar: 1, ParamEnum: 2, ParamListScalar: 4, ParamListEnum: 8, ListObject: 16, Object: 32 };
+ var re = { String: 1, Int: 2, BigInt: 4, Float: 8, Decimal: 16, Boolean: 32, DateTime: 64, Json: 128, Bytes: 256 };
+ function De(e5, t) {
+ return (e5.flags & t) !== 0;
+ }
+ __name(De, "De");
+ function Ge(e5) {
+ return e5.scalarMask;
+ }
+ __name(Ge, "Ge");
+ var Qd = /* @__PURE__ */ new Set(["DateTime", "Decimal", "BigInt", "Bytes", "Json", "Raw"]);
+ function an(e5) {
+ if (e5 == null) return { kind: "null" };
+ if (typeof e5 == "string") return { kind: "primitive", value: e5 };
+ if (typeof e5 == "number") return { kind: "primitive", value: e5 };
+ if (typeof e5 == "boolean") return { kind: "primitive", value: e5 };
+ if (Array.isArray(e5)) return { kind: "array", items: e5 };
+ if (typeof e5 == "object") {
+ let t = e5;
+ if ("$type" in t && typeof t.$type == "string") {
+ let r5 = t.$type;
+ return Qd.has(r5) ? { kind: "taggedScalar", tag: r5, value: t.value } : { kind: "structural", value: t.value };
+ }
+ return { kind: "object", entries: t };
+ }
+ return { kind: "structural", value: e5 };
+ }
+ __name(an, "an");
+ function Qa(e5) {
+ return typeof e5 == "object" && e5 !== null && !Array.isArray(e5) && !("$type" in e5);
+ }
+ __name(Qa, "Qa");
+ function Ja(e5) {
+ return typeof e5 == "object" && e5 !== null && "$type" in e5 && typeof e5.$type == "string";
+ }
+ __name(Ja, "Ja");
+ function Vi(e5, t) {
+ let r5 = new ln(t), n3 = e5.modelName ? `${e5.modelName}.${e5.action}` : e5.action, i5 = t.root(n3);
+ return { parameterizedQuery: { ...e5, query: r5.parameterizeFieldSelection(e5.query, i5?.argsNodeId, i5?.outputNodeId) }, placeholderValues: r5.getPlaceholderValues() };
+ }
+ __name(Vi, "Vi");
+ function qi(e5, t) {
+ let r5 = new ln(t), n3 = [];
+ for (let i5 = 0; i5 < e5.batch.length; i5++) {
+ let o3 = e5.batch[i5], s2 = o3.modelName ? `${o3.modelName}.${o3.action}` : o3.action, a5 = t.root(s2);
+ n3.push({ ...o3, query: r5.parameterizeFieldSelection(o3.query, a5?.argsNodeId, a5?.outputNodeId) });
+ }
+ return { parameterizedBatch: { ...e5, batch: n3 }, placeholderValues: r5.getPlaceholderValues() };
+ }
+ __name(qi, "qi");
+ var ln = class {
+ static {
+ __name(this, "ln");
+ }
+ #e;
+ #t = /* @__PURE__ */ new Map();
+ #r = /* @__PURE__ */ new Map();
+ #i = 1;
+ constructor(t) {
+ this.#e = t;
+ }
+ getPlaceholderValues() {
+ return Object.fromEntries(this.#t);
+ }
+ #o(t, r5) {
+ let n3 = Gd(t, r5), i5 = this.#r.get(n3);
+ if (i5 !== void 0) return Ga(i5, r5);
+ let o3 = `%${this.#i++}`;
+ return this.#r.set(n3, o3), this.#t.set(o3, t), Ga(o3, r5);
+ }
+ parameterizeFieldSelection(t, r5, n3) {
+ let i5 = this.#e.inputNode(r5), o3 = this.#e.outputNode(n3), s2 = { ...t };
+ return t.arguments && t.arguments.$type !== "Raw" && (s2.arguments = this.#s(t.arguments, i5)), t.selection && (s2.selection = this.#c(t.selection, o3)), s2;
+ }
+ #s(t, r5) {
+ if (!r5) return t;
+ let n3 = {};
+ for (let [i5, o3] of Object.entries(t)) {
+ let s2 = this.#e.inputEdge(r5, i5);
+ s2 ? n3[i5] = this.#a(o3, s2) : n3[i5] = o3;
+ }
+ return n3;
+ }
+ #a(t, r5) {
+ let n3 = an(t);
+ switch (n3.kind) {
+ case "null":
+ return t;
+ case "structural":
+ return t;
+ case "primitive":
+ return this.#n(n3.value, r5);
+ case "taggedScalar":
+ return this.#u(t, n3.tag, r5);
+ case "array":
+ return this.#l(n3.items, t, r5);
+ case "object":
+ return this.#p(n3.entries, r5);
+ default:
+ throw new Error(`Unknown value kind ${n3.kind}`);
+ }
+ }
+ #n(t, r5) {
+ if (De(r5, Ne.ParamEnum) && r5.enumNameIndex !== void 0 && typeof t == "string") {
+ let o3 = this.#e.enumValues(r5);
+ if (o3 && Object.hasOwn(o3, t)) {
+ let s2 = { type: "Enum" };
+ return this.#o(o3[t], s2);
+ }
+ }
+ if (!De(r5, Ne.ParamScalar)) return t;
+ let n3 = Ge(r5);
+ if (n3 === 0) return t;
+ let i5 = Ui(t);
+ return Ha(i5, n3) ? (n3 & re.Json && (t = JSON.stringify(t)), this.#o(t, i5)) : t;
+ }
+ #u(t, r5, n3) {
+ if (!De(n3, Ne.ParamScalar)) return t;
+ let i5 = Ge(n3);
+ if (i5 === 0 || !Ka(r5, i5)) return t;
+ let o3 = Wa(t.$type), s2 = Za(t);
+ return this.#o(s2, o3);
+ }
+ #l(t, r5, n3) {
+ if (De(n3, Ne.ParamScalar) && Ge(n3) & re.Json) {
+ let i5 = Se(Ae(t)), o3 = { type: "Json" };
+ return this.#o(i5, o3);
+ }
+ if (De(n3, Ne.ParamEnum)) {
+ let i5 = this.#e.enumValues(n3);
+ if (i5 && t.every((o3) => typeof o3 == "string" && Object.hasOwn(i5, o3))) {
+ let o3 = { type: "List", inner: { type: "Enum" } };
+ return this.#o(t, o3);
+ }
+ }
+ if (De(n3, Ne.ParamListScalar) && t.every((o3) => Zd(o3, n3)) && t.length > 0) {
+ let o3 = t.map((u) => Xd(u)), a5 = { type: "List", inner: Wd(t) };
+ return this.#o(o3, a5);
+ }
+ if (De(n3, Ne.ListObject)) {
+ let i5 = this.#e.inputNode(n3.childNodeId);
+ if (i5) return t.map((o3) => Qa(o3) ? this.#s(o3, i5) : o3);
+ }
+ return r5;
+ }
+ #p(t, r5) {
+ if (De(r5, Ne.Object)) {
+ let i5 = this.#e.inputNode(r5.childNodeId);
+ if (i5) return this.#s(t, i5);
+ }
+ if (Ge(r5) & re.Json) {
+ let i5 = Se(Ae(t)), o3 = { type: "Json" };
+ return this.#o(i5, o3);
+ }
+ return t;
+ }
+ #c(t, r5) {
+ if (!t || !r5) return t;
+ let n3 = {};
+ for (let [i5, o3] of Object.entries(t)) {
+ if (i5 === "$scalars" || i5 === "$composites" || typeof o3 == "boolean") {
+ n3[i5] = o3;
+ continue;
+ }
+ let s2 = this.#e.outputEdge(r5, i5);
+ if (s2) {
+ let a5 = o3, u = this.#e.inputNode(s2.argsNodeId), m3 = this.#e.outputNode(s2.outputNodeId), P = { selection: a5.selection ? this.#c(a5.selection, m3) : {} };
+ a5.arguments && (P.arguments = this.#s(a5.arguments, u)), n3[i5] = P;
+ } else n3[i5] = o3;
+ }
+ return n3;
+ }
+ };
+ function Ga(e5, t) {
+ return { $type: "Param", value: { name: e5, ...t } };
+ }
+ __name(Ga, "Ga");
+ function za(e5) {
+ return e5.type === "List" ? `List<${za(e5.inner)}>` : e5.type;
+ }
+ __name(za, "za");
+ function Jd(e5) {
+ return ArrayBuffer.isView(e5) ? Buffer.from(e5.buffer, e5.byteOffset, e5.byteLength).toString("base64") : JSON.stringify(e5);
+ }
+ __name(Jd, "Jd");
+ function Gd(e5, t) {
+ let r5 = za(t), n3 = Jd(e5);
+ return `${r5}:${n3}`;
+ }
+ __name(Gd, "Gd");
+ var zd = 2 ** 31 - 1;
+ var Hd = -(2 ** 31);
+ function Ui(e5) {
+ switch (typeof e5) {
+ case "boolean":
+ return { type: "Boolean" };
+ case "number":
+ return Number.isInteger(e5) ? Hd <= e5 && e5 <= zd ? { type: "Int" } : { type: "BigInt" } : { type: "Float" };
+ case "string":
+ return { type: "String" };
+ default:
+ throw new Error("unreachable");
+ }
+ }
+ __name(Ui, "Ui");
+ function Ha({ type: e5 }, t) {
+ switch (e5) {
+ case "Boolean":
+ return (t & re.Boolean) !== 0;
+ case "Int":
+ return (t & (re.Int | re.BigInt | re.Float)) !== 0;
+ case "BigInt":
+ return (t & re.BigInt) !== 0;
+ case "Float":
+ return (t & re.Float) !== 0;
+ case "String":
+ return (t & re.String) !== 0;
+ default:
+ return false;
+ }
+ }
+ __name(Ha, "Ha");
+ function Wa(e5) {
+ switch (e5) {
+ case "BigInt":
+ case "Bytes":
+ case "DateTime":
+ case "Json":
+ return { type: e5 };
+ case "Decimal":
+ return { type: "Float" };
+ default:
+ return;
+ }
+ }
+ __name(Wa, "Wa");
+ function Wd(e5) {
+ let t = { type: "Any" };
+ for (let r5 of e5) {
+ let n3 = an(r5), i5;
+ switch (n3.kind) {
+ case "primitive":
+ i5 = Ui(n3.value);
+ break;
+ case "taggedScalar":
+ i5 = Wa(n3.tag) ?? { type: "Any" };
+ break;
+ default:
+ return { type: "Any" };
+ }
+ t = Kd(t, i5);
+ }
+ return t;
+ }
+ __name(Wd, "Wd");
+ function Kd(e5, t) {
+ if (e5.type === "Any") return t;
+ if (t.type === "Any" || e5.type === t.type) return e5;
+ let r5 = { Int: 0, BigInt: 1, Float: 2 }, n3 = r5[e5.type], i5 = r5[t.type];
+ return n3 !== void 0 && i5 !== void 0 ? n3 >= i5 ? e5 : t : { type: "Any" };
+ }
+ __name(Kd, "Kd");
+ function Ka(e5, t) {
+ switch (e5) {
+ case "DateTime":
+ return (t & re.DateTime) !== 0;
+ case "Decimal":
+ return (t & re.Decimal) !== 0;
+ case "BigInt":
+ return (t & re.BigInt) !== 0;
+ case "Bytes":
+ return (t & re.Bytes) !== 0;
+ case "Json":
+ return (t & re.Json) !== 0;
+ default:
+ return false;
+ }
+ }
+ __name(Ka, "Ka");
+ function Zd(e5, t) {
+ let r5 = an(e5);
+ switch (r5.kind) {
+ case "structural":
+ return false;
+ case "null":
+ return false;
+ case "primitive": {
+ let n3 = Ui(r5.value), i5 = Ge(t);
+ return i5 !== 0 && Ha(n3, i5);
+ }
+ case "taggedScalar": {
+ let n3 = Ge(t);
+ return n3 !== 0 && Ka(r5.tag, n3);
+ }
+ default:
+ return false;
+ }
+ }
+ __name(Zd, "Zd");
+ function Xd(e5) {
+ return Ja(e5) ? Za(e5) : e5;
+ }
+ __name(Xd, "Xd");
+ function Za(e5) {
+ return e5.value;
+ }
+ __name(Za, "Za");
+ async function Yd() {
+ return globalThis.crypto ?? await import("node:crypto");
+ }
+ __name(Yd, "Yd");
+ async function Xa() {
+ return (await Yd()).randomUUID();
+ }
+ __name(Xa, "Xa");
+ async function Ya(e5, t) {
+ return new Promise((r5) => {
+ e5.addEventListener(t, r5, { once: true });
+ });
+ }
+ __name(Ya, "Ya");
+ var ue = class extends X {
+ static {
+ __name(this, "ue");
+ }
+ name = "TransactionManagerError";
+ constructor(t, r5) {
+ super("Transaction API error: " + t, "P2028", r5);
+ }
+ };
+ var nt = class extends ue {
+ static {
+ __name(this, "nt");
+ }
+ constructor() {
+ super("Transaction not found. Transaction ID is invalid, refers to an old closed transaction Prisma doesn't have information about anymore, or was obtained before disconnecting.");
+ }
+ };
+ var un = class extends ue {
+ static {
+ __name(this, "un");
+ }
+ constructor(t) {
+ super(`Transaction already closed: A ${t} cannot be executed on a committed transaction.`);
+ }
+ };
+ var cn = class extends ue {
+ static {
+ __name(this, "cn");
+ }
+ constructor(t) {
+ super(`Transaction already closed: A ${t} cannot be executed on a transaction that was rolled back.`);
+ }
+ };
+ var fr = class extends ue {
+ static {
+ __name(this, "fr");
+ }
+ constructor() {
+ super("Unable to start a transaction in the given time.");
+ }
+ };
+ var pn = class extends ue {
+ static {
+ __name(this, "pn");
+ }
+ constructor(t, { timeout: r5, timeTaken: n3 }) {
+ super(`A ${t} cannot be executed on an expired transaction. The timeout for this transaction was ${r5} ms, however ${n3} ms passed since the start of the transaction. Consider increasing the interactive transaction timeout or doing less work in the transaction.`, { operation: t, timeout: r5, timeTaken: n3 });
+ }
+ };
+ var Me = class extends ue {
+ static {
+ __name(this, "Me");
+ }
+ constructor(t) {
+ super(`Internal Consistency Error: ${t}`);
+ }
+ };
+ var dn = class extends ue {
+ static {
+ __name(this, "dn");
+ }
+ constructor(t) {
+ super(`Invalid isolation level: ${t}`, { isolationLevel: t });
+ }
+ };
+ var em = 100;
+ var tm = 2e3;
+ function rm() {
+ let e5, t = new Promise((r5) => {
+ e5 = r5;
+ });
+ return { abortController: new AbortController(), settled: t, markSettled: e5 };
+ }
+ __name(rm, "rm");
+ var it = K2("prisma:client:transactionManager");
+ var nm = /* @__PURE__ */ __name(() => ({ sql: "COMMIT", args: [], argTypes: [] }), "nm");
+ var el = /* @__PURE__ */ __name(() => ({ sql: "ROLLBACK", args: [], argTypes: [] }), "el");
+ var im = /* @__PURE__ */ __name(() => ({ sql: '-- Implicit "COMMIT" query via underlying driver', args: [], argTypes: [] }), "im");
+ var om = /* @__PURE__ */ __name(() => ({ sql: '-- Implicit "ROLLBACK" query via underlying driver', args: [], argTypes: [] }), "om");
+ var gr = class {
+ static {
+ __name(this, "gr");
+ }
+ transactions = /* @__PURE__ */ new Map();
+ closedTransactions = [];
+ #e = /* @__PURE__ */ new Set();
+ driverAdapter;
+ transactionOptions;
+ tracingHelper;
+ #t;
+ #r;
+ constructor({ driverAdapter: t, transactionOptions: r5, tracingHelper: n3, onQuery: i5, provider: o3 }) {
+ this.driverAdapter = t, this.transactionOptions = r5, this.tracingHelper = n3, this.#t = i5, this.#r = o3;
+ }
+ async startInternalTransaction(t) {
+ let r5 = t !== void 0 ? this.#y(t) : {};
+ return await this.tracingHelper.runInChildSpan("start_transaction", () => this.#i(r5));
+ }
+ async startTransaction(t) {
+ let r5 = t !== void 0 ? this.#y(t) : this.transactionOptions;
+ return await this.tracingHelper.runInChildSpan("start_transaction", () => this.#i(r5));
+ }
+ async #i(t) {
+ if (t.newTxId) return await this.#d(t.newTxId, "start", async (o3) => {
+ if (o3.status !== "running") throw new Me(`Transaction in invalid state ${o3.status} when starting a nested transaction.`);
+ if (!o3.transaction) throw new Me("Transaction missing underlying driver transaction when starting a nested transaction.");
+ o3.depth += 1;
+ let s2 = this.#a(o3);
+ o3.savepoints.push(s2);
+ try {
+ await this.#n(o3.transaction)(s2);
+ } catch (a5) {
+ throw o3.depth -= 1, o3.savepoints.pop(), a5;
+ }
+ return { id: o3.id };
+ });
+ let r5 = rm(), { abortController: n3 } = r5;
+ this.#e.add(r5);
+ let i5;
+ try {
+ let o3 = { id: await Xa(), status: "waiting", timer: void 0, timeout: t.timeout, startedAt: Date.now(), transaction: void 0, operationQueue: Promise.resolve(), depth: 1, savepoints: [], savepointCounter: 0 };
+ if (n3.signal.aborted) throw new fr();
+ let s2 = tl(() => n3.abort(), t.maxWait);
+ s2?.unref?.();
+ let a5 = this.driverAdapter.startTransaction(t.isolationLevel).catch(Be);
+ switch (o3.transaction = await Promise.race([a5.finally(() => clearTimeout(s2)), Ya(n3.signal, "abort").then(() => {
+ })]), this.transactions.set(o3.id, o3), o3.status) {
+ case "waiting":
+ if (n3.signal.aborted) throw o3.transaction = void 0, i5 = this.#o(a5), await this.#f(o3, "timed_out"), new fr();
+ return o3.status = "running", o3.startedAt = Date.now(), o3.timer = this.#c(o3.id, t.timeout), { id: o3.id };
+ case "timed_out":
+ case "running":
+ case "committed":
+ case "rolled_back":
+ throw new Me(`Transaction in invalid state ${o3.status} although it just finished startup.`);
+ default:
+ return V(o3.status, "Unknown transaction status.");
+ }
+ } finally {
+ this.#e.delete(r5), i5 ? i5.finally(r5.markSettled) : r5.markSettled();
+ }
+ }
+ async #o(t) {
+ try {
+ let r5 = await t;
+ if (r5.options.usePhantomQuery) await r5.rollback();
+ else try {
+ await r5.executeRaw(el());
+ } finally {
+ await r5.rollback();
+ }
+ } catch (r5) {
+ it("error in discarded transaction:", r5);
+ }
+ }
+ async commitTransaction(t) {
+ return await this.tracingHelper.runInChildSpan("commit_transaction", async () => {
+ await this.#d(t, "commit", async (r5) => {
+ if (r5.depth > 1) {
+ if (!r5.transaction) throw new nt();
+ let n3 = r5.savepoints.at(-1);
+ if (!n3) throw new Me(`Missing savepoint for nested commit. Depth: ${r5.depth}, transactionId: ${r5.id}`);
+ try {
+ await this.#l(r5.transaction, n3);
+ } finally {
+ r5.savepoints.pop(), r5.depth -= 1;
+ }
+ return;
+ }
+ await this.#f(r5, "committed");
+ });
+ });
+ }
+ async rollbackTransaction(t) {
+ return await this.tracingHelper.runInChildSpan("rollback_transaction", async () => {
+ await this.#d(t, "rollback", async (r5) => {
+ if (r5.depth > 1) {
+ if (!r5.transaction) throw new nt();
+ let n3 = r5.savepoints.at(-1);
+ if (!n3) throw new Me(`Missing savepoint for nested rollback. Depth: ${r5.depth}, transactionId: ${r5.id}`);
+ try {
+ await this.#u(r5.transaction)(n3), await this.#l(r5.transaction, n3);
+ } finally {
+ r5.savepoints.pop(), r5.depth -= 1;
+ }
+ return;
+ }
+ await this.#f(r5, "rolled_back");
+ });
+ });
+ }
+ async getTransaction(t, r5) {
+ let n3 = this.#s(t.id, r5);
+ if (n3.status === "closing" && (await n3.closing, n3 = this.#s(t.id, r5)), !n3.transaction) throw new nt();
+ return n3.transaction;
+ }
+ #s(t, r5) {
+ let n3 = this.transactions.get(t);
+ if (!n3) {
+ let i5 = this.closedTransactions.find((o3) => o3.id === t);
+ if (i5) switch (it("Transaction already closed.", { transactionId: t, status: i5.status }), i5.status) {
+ case "closing":
+ case "waiting":
+ case "running":
+ throw new Me("Active transaction found in closed transactions list.");
+ case "committed":
+ throw new un(r5);
+ case "rolled_back":
+ throw new cn(r5);
+ case "timed_out":
+ throw new pn(r5, { timeout: i5.timeout, timeTaken: Date.now() - i5.startedAt });
+ }
+ else throw it("Transaction not found.", t), new nt();
+ }
+ if (["committed", "rolled_back", "timed_out"].includes(n3.status)) throw new Me("Closed transaction found in active transactions map.");
+ return n3;
+ }
+ async cancelAllTransactions() {
+ let t = [...this.#e];
+ for (let { abortController: r5 } of t) r5.abort();
+ await Promise.allSettled([...[...this.transactions.values()].map((r5) => this.#m(r5, async () => {
+ let n3 = this.transactions.get(r5.id);
+ n3 && await this.#f(n3, "rolled_back");
+ })), ...t.map(({ settled: r5 }) => sm(r5, tm))]);
+ }
+ #a(t) {
+ return `prisma_sp_${t.savepointCounter++}`;
+ }
+ #n(t) {
+ if (t.createSavepoint) return t.createSavepoint.bind(t);
+ throw new ue(`Nested transactions are not supported by adapter "${t.adapterName}" (${t.provider}): createSavepoint is not implemented.`);
+ }
+ #u(t) {
+ if (t.rollbackToSavepoint) return t.rollbackToSavepoint.bind(t);
+ throw new ue(`Nested transactions are not supported by adapter "${t.adapterName}" (${t.provider}): rollbackToSavepoint is not implemented.`);
+ }
+ async #l(t, r5) {
+ t.releaseSavepoint && await t.releaseSavepoint(r5);
+ }
+ #p(t) {
+ it("Transaction already committed or rolled back when timeout happened.", t);
+ }
+ #c(t, r5) {
+ let n3 = Date.now(), i5 = tl(async () => {
+ try {
+ it("Transaction timed out.", { transactionId: t, timeoutStartedAt: n3, timeout: r5 });
+ let o3 = this.transactions.get(t);
+ if (!o3) {
+ this.#p(t);
+ return;
+ }
+ await this.#m(o3, async () => {
+ let s2 = this.transactions.get(t);
+ s2 && ["running", "waiting"].includes(s2.status) ? await this.#f(s2, "timed_out") : this.#p(t);
+ });
+ } catch (o3) {
+ it("Error while closing timed-out transaction.", { transactionId: t, error: o3 });
+ }
+ }, r5);
+ return i5?.unref?.(), i5;
+ }
+ async #d(t, r5, n3) {
+ let i5 = this.#s(t, r5);
+ return await this.#m(i5, async () => {
+ let o3 = this.#s(t, r5);
+ return await n3(o3);
+ });
+ }
+ async #m(t, r5) {
+ let n3 = t.operationQueue, i5;
+ t.operationQueue = new Promise((o3) => {
+ i5 = o3;
+ }), await n3;
+ try {
+ return await r5();
+ } finally {
+ i5();
+ }
+ }
+ async #f(t, r5) {
+ let n3 = /* @__PURE__ */ __name(async () => {
+ it("Closing transaction.", { transactionId: t.id, status: r5 });
+ try {
+ if (t.transaction && r5 === "committed") if (t.transaction.options.usePhantomQuery) await this.#g(im(), t.transaction, () => t.transaction.commit());
+ else {
+ let i5 = nm();
+ await this.#g(i5, t.transaction, () => t.transaction.executeRaw(i5)).then(() => t.transaction.commit(), (o3) => {
+ let s2 = /* @__PURE__ */ __name(() => Promise.reject(o3), "s");
+ return t.transaction.rollback().then(s2, s2);
+ });
+ }
+ else if (t.transaction) if (t.transaction.options.usePhantomQuery) await this.#g(om(), t.transaction, () => t.transaction.rollback());
+ else {
+ let i5 = el();
+ try {
+ await this.#g(i5, t.transaction, () => t.transaction.executeRaw(i5));
+ } finally {
+ await t.transaction.rollback();
+ }
+ }
+ } finally {
+ t.status = r5, clearTimeout(t.timer), t.timer = void 0, this.transactions.delete(t.id), this.closedTransactions.push(t), this.closedTransactions.length > em && this.closedTransactions.shift();
+ }
+ }, "n");
+ t.status === "closing" ? (await t.closing, this.#s(t.id, r5 === "committed" ? "commit" : "rollback")) : await Object.assign(t, { status: "closing", reason: r5, closing: n3() }).closing;
+ }
+ #y(t) {
+ if (!t.timeout) throw new ue("timeout is required");
+ if (!t.maxWait) throw new ue("maxWait is required");
+ if (t.isolationLevel === "SNAPSHOT") throw new dn(t.isolationLevel);
+ return { ...t, timeout: t.timeout, maxWait: t.maxWait };
+ }
+ #g(t, r5, n3) {
+ return Wr({ query: t, execute: n3, provider: this.#r ?? r5.provider, tracingHelper: this.tracingHelper, onQuery: this.#t });
+ }
+ };
+ function tl(e5, t) {
+ return t !== void 0 ? setTimeout(e5, t) : void 0;
+ }
+ __name(tl, "tl");
+ function sm(e5, t) {
+ let r5, n3 = new Promise((i5) => {
+ r5 = setTimeout(i5, t), r5?.unref?.();
+ });
+ return Promise.race([e5, n3]).finally(() => clearTimeout(r5));
+ }
+ __name(sm, "sm");
+ var ne = require_dist();
+ var mn = "7.10.1";
+ var rl = { bigint: "bigint", date: "datetime", decimal: "decimal", bytes: "bytes" };
+ function il(e5) {
+ let t;
+ try {
+ t = JSON.parse(e5);
+ } catch (i5) {
+ throw new Error(`Received invalid serialized parameters: ${i5.message}`);
+ }
+ if (!Array.isArray(t)) throw new Error("Received invalid serialized parameters: expected an array");
+ let r5 = t.map((i5) => ol(i5)), n3 = t.map((i5) => lm(i5));
+ return { args: r5, argTypes: n3 };
+ }
+ __name(il, "il");
+ function ol(e5) {
+ if (Array.isArray(e5)) return e5.map((t) => ol(t));
+ if (typeof e5 == "object" && e5 !== null && "prisma__value" in e5) {
+ if (!("prisma__type" in e5)) throw new Error("Invalid serialized parameter, prisma__type should be present when prisma__value is present");
+ return `${e5.prisma__value}`;
+ }
+ return typeof e5 == "object" && e5 !== null ? JSON.stringify(e5) : e5;
+ }
+ __name(ol, "ol");
+ function lm(e5) {
+ return Array.isArray(e5) ? { scalarType: e5.length > 0 ? nl(e5[0]) : "unknown", arity: "list" } : { scalarType: nl(e5), arity: "scalar" };
+ }
+ __name(lm, "lm");
+ function nl(e5) {
+ return typeof e5 == "object" && e5 !== null && "prisma__type" in e5 && typeof e5.prisma__type == "string" && e5.prisma__type in rl ? rl[e5.prisma__type] : typeof e5 == "number" ? "decimal" : typeof e5 == "string" ? "string" : "unknown";
+ }
+ __name(nl, "nl");
+ function sl(e5, t) {
+ return { batch: e5, transaction: t?.kind === "batch" ? { isolationLevel: t.options.isolationLevel } : void 0 };
+ }
+ __name(sl, "sl");
+ function al(e5) {
+ return e5 ? e5.replace(/"(?:[^"\\]|\\.)*"/g, '"X"').replace(/[\s:\[]([+-]?([0-9]*[.])?[0-9]+)/g, (t) => `${t[0]}5`) : "";
+ }
+ __name(al, "al");
+ function ll(e5) {
+ return e5.split(`
+`).map((t) => t.replace(/^\d{4}-[01]\d-[0-3]\dT[0-2]\d:[0-5]\d:[0-5]\d\.\d+([+-][0-2]\d:[0-5]\d|Z)\s*/, "").replace(/\+\d+\s*ms$/, "")).join(`
+`);
+ }
+ __name(ll, "ll");
+ var ul = Pe(Ro());
+ function cl({ title: e5, user: t = "prisma", repo: r5 = "prisma", template: n3 = "bug_report.yml", body: i5 }) {
+ return (0, ul.default)({ user: t, repo: r5, template: n3, title: e5, body: i5 });
+ }
+ __name(cl, "cl");
+ function pl({ version: e5, binaryTarget: t, title: r5, description: n3, engineVersion: i5, database: o3, query: s2 }) {
+ let a5 = go(6e3 - (s2?.length ?? 0)), u = ll(ut(a5)), m3 = n3 ? `# Description
+\`\`\`
+${n3}
+\`\`\`` : "", P = ut(`Hi Prisma Team! My Prisma Client just crashed. This is the report:
+## Versions
+
+| Name | Version |
+|-----------------|--------------------|
+| Node | ${process.version?.padEnd(19)}|
+| OS | ${t?.padEnd(19)}|
+| Prisma Client | ${e5?.padEnd(19)}|
+| Query Engine | ${i5?.padEnd(19)}|
+| Database | ${o3?.padEnd(19)}|
+
+${m3}
+
+## Logs
+\`\`\`
+${u}
+\`\`\`
+
+## Client Snippet
+\`\`\`ts
+// PLEASE FILL YOUR CODE SNIPPET HERE
+\`\`\`
+
+## Schema
+\`\`\`prisma
+// PLEASE ADD YOUR SCHEMA HERE IF POSSIBLE
+\`\`\`
+
+## Prisma Engine Query
+\`\`\`
+${s2 ? al(s2) : ""}
+\`\`\`
+`), T2 = cl({ title: r5, body: P });
+ return `${r5}
+
+This is a non-recoverable error which probably happens when the Prisma Query Engine has a panic.
+
+${Mt(T2)}
+
+If you want the Prisma team to look into it, please open the link above \u{1F64F}
+To increase the chance of success, please post your schema and a snippet of
+how you used Prisma Client in the issue.
+`;
+ }
+ __name(pl, "pl");
+ var fn = class e5 {
+ static {
+ __name(this, "e");
+ }
+ #e;
+ #t;
+ #r;
+ #i;
+ #o;
+ constructor(t, r5, n3) {
+ this.#e = t, this.#t = r5, this.#r = n3, this.#i = r5.getConnectionInfo?.(), this.#o = dr.forSql({ onQuery: this.#e.onQuery, tracingHelper: this.#e.tracingHelper, provider: this.#e.provider, connectionInfo: this.#i });
+ }
+ static async connect(t) {
+ let r5, n3;
+ try {
+ r5 = await t.driverAdapterFactory.connect(), n3 = new gr({ driverAdapter: r5, transactionOptions: t.transactionOptions, tracingHelper: t.tracingHelper, onQuery: t.onQuery, provider: t.provider });
+ } catch (i5) {
+ throw await r5?.dispose(), i5;
+ }
+ return new e5(t, r5, n3);
+ }
+ getConnectionInfo() {
+ let t = this.#i ?? { supportsRelationJoins: false };
+ return Promise.resolve({ provider: this.#t.provider, connectionInfo: t });
+ }
+ async execute({ plan: t, placeholderValues: r5, transaction: n3, batchIndex: i5, queryInfo: o3 }) {
+ let s2 = n3 ? await this.#r.getTransaction(n3, i5 !== void 0 ? "batch query" : "query") : this.#t;
+ return await this.#o.run(t, { queryable: s2, transactionManager: n3 ? { enabled: false } : { enabled: true, manager: this.#r }, scope: r5, sqlCommenter: this.#e.sqlCommenters && { plugins: this.#e.sqlCommenters, queryInfo: o3 } });
+ }
+ async startTransaction(t) {
+ return { ...await this.#r.startTransaction(t), payload: void 0 };
+ }
+ async commitTransaction(t) {
+ await this.#r.commitTransaction(t.id);
+ }
+ async rollbackTransaction(t) {
+ await this.#r.rollbackTransaction(t.id);
+ }
+ async disconnect() {
+ try {
+ await this.#r.cancelAllTransactions();
+ } finally {
+ await this.#t.dispose();
+ }
+ }
+ apiKey() {
+ return null;
+ }
+ };
+ var gn = class {
+ static {
+ __name(this, "gn");
+ }
+ #e;
+ #t;
+ #r;
+ constructor(t = 1e3) {
+ this.#e = /* @__PURE__ */ new Map(), this.#t = /* @__PURE__ */ new Map(), this.#r = t;
+ }
+ getSingle(t) {
+ let r5 = this.#e.get(t);
+ return r5 && (this.#e.delete(t), this.#e.set(t, r5)), r5;
+ }
+ setSingle(t, r5) {
+ if (this.#e.has(t)) {
+ this.#e.delete(t), this.#e.set(t, r5);
+ return;
+ }
+ if (this.#e.size >= this.#r) {
+ let n3 = this.#e.keys().next().value;
+ n3 !== void 0 && this.#e.delete(n3);
+ }
+ this.#e.set(t, r5);
+ }
+ getBatch(t) {
+ let r5 = this.#t.get(t);
+ return r5 && (this.#t.delete(t), this.#t.set(t, r5)), r5;
+ }
+ setBatch(t, r5) {
+ if (this.#t.has(t)) {
+ this.#t.delete(t), this.#t.set(t, r5);
+ return;
+ }
+ if (this.#t.size >= this.#r) {
+ let n3 = this.#t.keys().next().value;
+ n3 !== void 0 && this.#t.delete(n3);
+ }
+ this.#t.set(t, r5);
+ }
+ clear() {
+ this.#e.clear(), this.#t.clear();
+ }
+ get size() {
+ return this.#e.size + this.#t.size;
+ }
+ get singleCacheSize() {
+ return this.#e.size;
+ }
+ get batchCacheSize() {
+ return this.#t.size;
+ }
+ };
+ var hl = require_dist();
+ var yn = /^[\u0009\u0020-\u007E\u0080-\u00FF]+$/;
+ function dl(e5, t, r5) {
+ let n3 = r5 || {}, i5 = n3.encode || encodeURIComponent;
+ if (typeof i5 != "function") throw new TypeError("option encode is invalid");
+ if (!yn.test(e5)) throw new TypeError("argument name is invalid");
+ let o3 = i5(t);
+ if (o3 && !yn.test(o3)) throw new TypeError("argument val is invalid");
+ let s2 = e5 + "=" + o3;
+ if (n3.maxAge !== void 0 && n3.maxAge !== null) {
+ let a5 = n3.maxAge - 0;
+ if (Number.isNaN(a5) || !Number.isFinite(a5)) throw new TypeError("option maxAge is invalid");
+ s2 += "; Max-Age=" + Math.floor(a5);
+ }
+ if (n3.domain) {
+ if (!yn.test(n3.domain)) throw new TypeError("option domain is invalid");
+ s2 += "; Domain=" + n3.domain;
+ }
+ if (n3.path) {
+ if (!yn.test(n3.path)) throw new TypeError("option path is invalid");
+ s2 += "; Path=" + n3.path;
+ }
+ if (n3.expires) {
+ if (!um(n3.expires) || Number.isNaN(n3.expires.valueOf())) throw new TypeError("option expires is invalid");
+ s2 += "; Expires=" + n3.expires.toUTCString();
+ }
+ if (n3.httpOnly && (s2 += "; HttpOnly"), n3.secure && (s2 += "; Secure"), n3.priority) switch (typeof n3.priority == "string" ? n3.priority.toLowerCase() : n3.priority) {
+ case "low": {
+ s2 += "; Priority=Low";
+ break;
+ }
+ case "medium": {
+ s2 += "; Priority=Medium";
+ break;
+ }
+ case "high": {
+ s2 += "; Priority=High";
+ break;
+ }
+ default:
+ throw new TypeError("option priority is invalid");
+ }
+ if (n3.sameSite) switch (typeof n3.sameSite == "string" ? n3.sameSite.toLowerCase() : n3.sameSite) {
+ case true: {
+ s2 += "; SameSite=Strict";
+ break;
+ }
+ case "lax": {
+ s2 += "; SameSite=Lax";
+ break;
+ }
+ case "strict": {
+ s2 += "; SameSite=Strict";
+ break;
+ }
+ case "none": {
+ s2 += "; SameSite=None";
+ break;
+ }
+ default:
+ throw new TypeError("option sameSite is invalid");
+ }
+ return n3.partitioned && (s2 += "; Partitioned"), s2;
+ }
+ __name(dl, "dl");
+ function um(e5) {
+ return Object.prototype.toString.call(e5) === "[object Date]" || e5 instanceof Date;
+ }
+ __name(um, "um");
+ function ml(e5, t) {
+ let r5 = (e5 || "").split(";").filter((u) => typeof u == "string" && !!u.trim()), n3 = r5.shift() || "", i5 = cm(n3), o3 = i5.name, s2 = i5.value;
+ try {
+ s2 = t?.decode === false ? s2 : (t?.decode || decodeURIComponent)(s2);
+ } catch {
+ }
+ let a5 = { name: o3, value: s2 };
+ for (let u of r5) {
+ let m3 = u.split("="), P = (m3.shift() || "").trimStart().toLowerCase(), T2 = m3.join("=");
+ switch (P) {
+ case "expires": {
+ a5.expires = new Date(T2);
+ break;
+ }
+ case "max-age": {
+ a5.maxAge = Number.parseInt(T2, 10);
+ break;
+ }
+ case "secure": {
+ a5.secure = true;
+ break;
+ }
+ case "httponly": {
+ a5.httpOnly = true;
+ break;
+ }
+ case "samesite": {
+ a5.sameSite = T2;
+ break;
+ }
+ default:
+ a5[P] = T2;
+ }
+ }
+ return a5;
+ }
+ __name(ml, "ml");
+ function cm(e5) {
+ let t = "", r5 = "", n3 = e5.split("=");
+ return n3.length > 1 ? (t = n3.shift(), r5 = n3.join("=")) : r5 = e5, { name: t, value: r5 };
+ }
+ __name(cm, "cm");
+ var hn = class extends Error {
+ static {
+ __name(this, "hn");
+ }
+ clientVersion;
+ cause;
+ constructor(t, r5) {
+ super(t), this.clientVersion = r5.clientVersion, this.cause = r5.cause;
+ }
+ get [Symbol.toStringTag]() {
+ return this.name;
+ }
+ };
+ var wn = class extends hn {
+ static {
+ __name(this, "wn");
+ }
+ isRetryable;
+ constructor(t, r5) {
+ super(t, r5), this.isRetryable = r5.isRetryable ?? true;
+ }
+ };
+ function fl(e5, t) {
+ return { ...e5, isRetryable: t };
+ }
+ __name(fl, "fl");
+ var ot = class extends wn {
+ static {
+ __name(this, "ot");
+ }
+ name = "InvalidDatasourceError";
+ code = "P6001";
+ constructor(t, r5) {
+ super(t, fl(r5, false));
+ }
+ };
+ Bt(ot, "InvalidDatasourceError");
+ function gl(e5) {
+ let t = { clientVersion: e5.clientVersion }, r5;
+ try {
+ r5 = new URL(e5.accelerateUrl);
+ } catch (u) {
+ let m3 = u.message;
+ throw new ot(`Error validating \`accelerateUrl\`, the URL cannot be parsed, reason: ${m3}`, t);
+ }
+ let { protocol: n3, searchParams: i5 } = r5;
+ if (n3 !== "prisma:" && n3 !== Er) throw new ot("Error validating `accelerateUrl`: the URL must start with the protocol `prisma://` or `prisma+postgres://`", t);
+ let o3 = i5.get("api_key");
+ if (o3 === null || o3.length < 1) throw new ot("Error validating `accelerateUrl`: the URL must contain a valid API key", t);
+ let s2 = Dn(r5) ? "http:" : "https:";
+ process.env.TEST_CLIENT_ENGINE_REMOTE_EXECUTOR && r5.searchParams.has("use_http") && (s2 = "http:");
+ let a5 = new URL(r5.href.replace(n3, s2));
+ return { apiKey: o3, url: a5 };
+ }
+ __name(gl, "gl");
+ var yl = Pe(wo());
+ var xn = class {
+ static {
+ __name(this, "xn");
+ }
+ apiKey;
+ tracingHelper;
+ logLevel;
+ logQueries;
+ engineHash;
+ constructor({ apiKey: t, tracingHelper: r5, logLevel: n3, logQueries: i5, engineHash: o3 }) {
+ this.apiKey = t, this.tracingHelper = r5, this.logLevel = n3, this.logQueries = i5, this.engineHash = o3;
+ }
+ build({ traceparent: t, transactionId: r5 } = {}) {
+ let n3 = { Accept: "application/json", Authorization: `Bearer ${this.apiKey}`, "Content-Type": "application/json", "Prisma-Engine-Hash": this.engineHash, "Prisma-Engine-Version": yl.enginesVersion };
+ this.tracingHelper.isEnabled() && (n3.traceparent = t ?? this.tracingHelper.getTraceParent()), r5 && (n3["X-Transaction-Id"] = r5);
+ let i5 = this.#e();
+ return i5.length > 0 && (n3["X-Capture-Telemetry"] = i5.join(", ")), n3;
+ }
+ #e() {
+ let t = [];
+ return this.tracingHelper.isEnabled() && t.push("tracing"), this.logLevel && t.push(this.logLevel), this.logQueries && t.push("query"), t;
+ }
+ };
+ function pm(e5) {
+ return e5[0] * 1e3 + e5[1] / 1e6;
+ }
+ __name(pm, "pm");
+ function ji(e5) {
+ return new Date(pm(e5));
+ }
+ __name(ji, "ji");
+ var wl = K2("prisma:client:clientEngine:remoteExecutor");
+ var bn = class {
+ static {
+ __name(this, "bn");
+ }
+ #e;
+ #t;
+ #r;
+ #i;
+ #o;
+ #s;
+ constructor(t) {
+ this.#e = t.clientVersion, this.#i = t.logEmitter, this.#o = t.tracingHelper, this.#s = t.sqlCommenters;
+ let { url: r5, apiKey: n3 } = gl({ clientVersion: t.clientVersion, accelerateUrl: t.accelerateUrl });
+ this.#r = new Bi(r5), this.#t = new xn({ apiKey: n3, engineHash: t.clientVersion, logLevel: t.logLevel, logQueries: t.logQueries, tracingHelper: t.tracingHelper });
+ }
+ async getConnectionInfo() {
+ return await this.#a({ path: "/connection-info", method: "GET" });
+ }
+ async execute({ plan: t, placeholderValues: r5, batchIndex: n3, model: i5, operation: o3, transaction: s2, customFetch: a5, queryInfo: u }) {
+ let m3 = u && this.#s?.length ? Hr(this.#s, { query: u }) : void 0;
+ return (await this.#a({ path: s2 ? `/transaction/${s2.id}/query` : "/query", method: "POST", body: { model: i5, operation: o3, plan: t, params: r5, comments: m3 && Object.keys(m3).length > 0 ? m3 : void 0 }, batchRequestIdx: n3, fetch: a5 })).data;
+ }
+ async startTransaction(t) {
+ return { ...await this.#a({ path: "/transaction/start", method: "POST", body: t }), payload: void 0 };
+ }
+ async commitTransaction(t) {
+ await this.#a({ path: `/transaction/${t.id}/commit`, method: "POST" });
+ }
+ async rollbackTransaction(t) {
+ await this.#a({ path: `/transaction/${t.id}/rollback`, method: "POST" });
+ }
+ disconnect() {
+ return Promise.resolve();
+ }
+ apiKey() {
+ return this.#t.apiKey;
+ }
+ async #a({ path: t, method: r5, body: n3, fetch: i5 = globalThis.fetch, batchRequestIdx: o3 }) {
+ let s2 = await this.#r.request({ method: r5, path: t, headers: this.#t.build(), body: n3, fetch: i5 });
+ s2.ok || await this.#n(s2, o3);
+ let a5 = await s2.json();
+ return typeof a5.extensions == "object" && a5.extensions !== null && this.#u(a5.extensions), a5;
+ }
+ async #n(t, r5) {
+ let n3 = t.headers.get("Prisma-Error-Code"), i5 = await t.text(), o3, s2 = i5;
+ try {
+ o3 = JSON.parse(i5);
+ } catch {
+ o3 = {};
+ }
+ typeof o3.code == "string" && (n3 = o3.code), typeof o3.error == "string" ? s2 = o3.error : typeof o3.message == "string" ? s2 = o3.message : typeof o3.InvalidRequestError == "object" && o3.InvalidRequestError !== null && typeof o3.InvalidRequestError.reason == "string" && (s2 = o3.InvalidRequestError.reason), s2 = s2 || `HTTP ${t.status}: ${t.statusText}`;
+ let a5 = typeof o3.meta == "object" && o3.meta !== null ? o3.meta : o3;
+ throw new hl.PrismaClientKnownRequestError(s2, { clientVersion: this.#e, code: n3 ?? "P6000", batchRequestIdx: r5, meta: a5 });
+ }
+ #u(t) {
+ let r5 = t.logs ?? [];
+ if (t.spans) this.#o.dispatchEngineSpans(t.spans, r5, (n3) => this.#l(n3));
+ else for (let n3 of r5) this.#l(n3);
+ }
+ #l(t) {
+ switch (t.level) {
+ case "debug":
+ case "trace":
+ wl(t);
+ break;
+ case "error":
+ case "warn":
+ case "info": {
+ this.#i.emit(t.level, { timestamp: ji(t.timestamp), message: t.attributes.message ?? "", target: t.target ?? "RemoteExecutor" });
+ break;
+ }
+ case "query": {
+ this.#i.emit("query", { query: t.attributes.query ?? "", timestamp: ji(t.timestamp), duration: t.attributes.duration_ms ?? 0, params: t.attributes.params ?? "", target: t.target ?? "RemoteExecutor" });
+ break;
+ }
+ default:
+ throw new Error(`Unexpected log level: ${t.level}`);
+ }
+ }
+ };
+ var Bi = class {
+ static {
+ __name(this, "Bi");
+ }
+ #e;
+ #t;
+ #r;
+ constructor(t) {
+ this.#e = t, this.#t = /* @__PURE__ */ new Map();
+ }
+ async request({ method: t, path: r5, headers: n3, body: i5, fetch: o3 }) {
+ let s2 = new URL(r5, this.#e), a5 = this.#i(s2);
+ a5 && (n3.Cookie = a5), this.#r && (n3["Accelerate-Query-Engine-Jwt"] = this.#r);
+ let u = await o3(s2.href, { method: t, body: i5 !== void 0 ? JSON.stringify(i5) : void 0, headers: n3 });
+ return wl(t, s2, u.status, u.statusText), this.#r = u.headers.get("Accelerate-Query-Engine-Jwt") ?? void 0, this.#o(s2, u), u;
+ }
+ #i(t) {
+ let r5 = [], n3 = /* @__PURE__ */ new Date();
+ for (let [i5, o3] of this.#t) {
+ if (o3.expires && o3.expires < n3) {
+ this.#t.delete(i5);
+ continue;
+ }
+ let s2 = o3.domain ?? t.hostname, a5 = o3.path ?? "/";
+ t.hostname.endsWith(s2) && t.pathname.startsWith(a5) && r5.push(dl(o3.name, o3.value));
+ }
+ return r5.length > 0 ? r5.join("; ") : void 0;
+ }
+ #o(t, r5) {
+ let n3 = r5.headers.getSetCookie?.() || [];
+ if (n3.length === 0) {
+ let i5 = r5.headers.get("Set-Cookie");
+ i5 && n3.push(i5);
+ }
+ for (let i5 of n3) {
+ let o3 = ml(i5), s2 = o3.domain ?? t.hostname, a5 = o3.path ?? "/", u = `${s2}:${a5}:${o3.name}`;
+ this.#t.set(u, { name: o3.name, value: o3.value, domain: s2, path: a5, expires: o3.expires });
+ }
+ }
+ };
+ var Ji = require_dist();
+ var Qi = {};
+ var xl = { async loadQueryCompiler(e5) {
+ let { clientVersion: t, compilerWasm: r5 } = e5;
+ if (r5 === void 0) throw new Ji.PrismaClientInitializationError("WASM query compiler was unexpectedly `undefined`", t);
+ let n3;
+ return e5.activeProvider === void 0 || Qi[e5.activeProvider] === void 0 ? (n3 = (async () => {
+ let i5 = await r5.getRuntime(), o3 = await r5.getQueryCompilerWasmModule();
+ if (o3 == null) throw new Ji.PrismaClientInitializationError("The loaded wasm module was unexpectedly `undefined` or `null` once loaded", t);
+ let s2 = { [r5.importName]: i5 }, a5 = new WebAssembly.Instance(o3, s2), u = a5.exports.__wbindgen_start;
+ return i5.__wbg_set_wasm(a5.exports), u(), i5.QueryCompiler;
+ })(), e5.activeProvider !== void 0 && (Qi[e5.activeProvider] = n3)) : n3 = Qi[e5.activeProvider], await n3;
+ } };
+ var dm = "P2038";
+ var Ve = K2("prisma:client:clientEngine");
+ var Tl = globalThis;
+ Tl.PRISMA_WASM_PANIC_REGISTRY = { set_message(e5) {
+ throw new ne.PrismaClientRustPanicError(e5, mn);
+ } };
+ var yr = class {
+ static {
+ __name(this, "yr");
+ }
+ name = "ClientEngine";
+ #e;
+ #t = { type: "disconnected" };
+ #r;
+ #i;
+ #o;
+ #s;
+ config;
+ datamodel;
+ logEmitter;
+ logQueries;
+ logLevel;
+ tracingHelper;
+ #a;
+ constructor(t, r5) {
+ if (t.accelerateUrl !== void 0) this.#i = { remote: true, accelerateUrl: t.accelerateUrl };
+ else if (t.adapter) this.#i = { remote: false, driverAdapterFactory: t.adapter }, Ve("Using driver adapter: %O", t.adapter);
+ else throw new ne.PrismaClientInitializationError("PrismaClient requires a driver adapter to connect to your database, but none was provided. Pass one to the PrismaClient constructor, e.g. `new PrismaClient({ adapter })`. Learn more: https://pris.ly/d/driver-adapters", t.clientVersion, dm);
+ this.#r = r5 ?? xl, this.config = t, this.logQueries = t.logQueries ?? false, this.logLevel = t.logLevel ?? "error", this.logEmitter = t.logEmitter, this.datamodel = t.inlineSchema, this.tracingHelper = t.tracingHelper, this.#o = t.queryPlanCacheMaxSize === 0 ? void 0 : new gn(t.queryPlanCacheMaxSize), this.#s = mr.deserialize(t.parameterizationSchema, (n3) => {
+ if (!Object.hasOwn(t.runtimeDataModel.enums, n3)) return;
+ let i5 = {};
+ for (let o3 of t.runtimeDataModel.enums[n3].values) i5[o3.name] = o3.dbName ?? o3.name;
+ return i5;
+ }), t.enableDebugLogs && (this.logLevel = "debug"), this.logQueries && (this.#a = (n3) => {
+ this.logEmitter.emit("query", { ...n3, params: Se(n3.params), target: "ClientEngine" });
+ });
+ }
+ async #n() {
+ switch (this.#t.type) {
+ case "disconnected": {
+ let t = this.tracingHelper.runInChildSpan("connect", async () => {
+ let r5, n3;
+ try {
+ r5 = await this.#u(), n3 = await this.#l(r5);
+ } catch (o3) {
+ throw this.#t = { type: "disconnected" }, n3?.free(), await r5?.disconnect(), o3;
+ }
+ let i5 = { executor: r5, queryCompiler: n3 };
+ return this.#t = { type: "connected", engine: i5 }, i5;
+ });
+ return this.#t = { type: "connecting", promise: t }, await t;
+ }
+ case "connecting":
+ return await this.#t.promise;
+ case "connected":
+ return this.#t.engine;
+ case "disconnecting":
+ return await this.#t.promise, await this.#n();
+ }
+ }
+ async #u() {
+ return this.#i.remote ? new bn({ clientVersion: this.config.clientVersion, accelerateUrl: this.#i.accelerateUrl, logEmitter: this.logEmitter, logLevel: this.logLevel, logQueries: this.logQueries, tracingHelper: this.tracingHelper, sqlCommenters: this.config.sqlCommenters }) : await fn.connect({ driverAdapterFactory: this.#i.driverAdapterFactory, tracingHelper: this.tracingHelper, transactionOptions: { ...this.config.transactionOptions, isolationLevel: this.#g(this.config.transactionOptions.isolationLevel) }, onQuery: this.#a, provider: this.config.activeProvider, sqlCommenters: this.config.sqlCommenters });
+ }
+ async #l(t) {
+ let r5 = this.#e;
+ r5 === void 0 && (r5 = await this.#r.loadQueryCompiler(this.config), this.#e = r5);
+ let { provider: n3, connectionInfo: i5 } = await t.getConnectionInfo();
+ try {
+ return this.#m(() => new r5({ datamodel: this.datamodel, provider: n3, connectionInfo: i5 }), void 0, false);
+ } catch (o3) {
+ throw this.#p(o3);
+ }
+ }
+ #p(t) {
+ if (t instanceof ne.PrismaClientRustPanicError) return t;
+ try {
+ let r5 = JSON.parse(t.message);
+ return new ne.PrismaClientInitializationError(r5.message, this.config.clientVersion, r5.error_code);
+ } catch {
+ return t;
+ }
+ }
+ #c(t, r5) {
+ if (t instanceof ne.PrismaClientInitializationError) return t;
+ if (t.code === "GenericFailure" && t.message?.startsWith("PANIC:")) return new ne.PrismaClientRustPanicError(bl(this, t.message, r5), this.config.clientVersion);
+ if (t instanceof X) return new ne.PrismaClientKnownRequestError(t.message, { code: t.code, meta: t.meta, clientVersion: this.config.clientVersion });
+ try {
+ let n3 = JSON.parse(t);
+ return new ne.PrismaClientUnknownRequestError(`${n3.message}
+${n3.backtrace}`, { clientVersion: this.config.clientVersion });
+ } catch {
+ return t;
+ }
+ }
+ #d(t) {
+ return t instanceof ne.PrismaClientRustPanicError ? t : typeof t.message == "string" && typeof t.code == "string" ? new ne.PrismaClientKnownRequestError(t.message, { code: t.code, meta: t.meta, clientVersion: this.config.clientVersion }) : typeof t.message == "string" ? new ne.PrismaClientUnknownRequestError(t.message, { clientVersion: this.config.clientVersion }) : t;
+ }
+ #m(t, r5, n3 = true) {
+ let i5 = Tl.PRISMA_WASM_PANIC_REGISTRY.set_message, o3;
+ global.PRISMA_WASM_PANIC_REGISTRY.set_message = (s2) => {
+ o3 = s2;
+ };
+ try {
+ return t();
+ } finally {
+ if (global.PRISMA_WASM_PANIC_REGISTRY.set_message = i5, o3) throw this.#e = void 0, n3 && this.stop().catch((s2) => Ve("failed to disconnect:", s2)), new ne.PrismaClientRustPanicError(bl(this, o3, r5), this.config.clientVersion);
+ }
+ }
+ onBeforeExit() {
+ throw new Error('"beforeExit" hook is not applicable to the client engine, it is only relevant and implemented for the binary engine. Please add your event listener to the `process` object directly instead.');
+ }
+ async start() {
+ await this.#n();
+ }
+ async stop() {
+ switch (this.#t.type) {
+ case "disconnected":
+ return;
+ case "connecting":
+ return await this.#t.promise, await this.stop();
+ case "connected": {
+ let t = this.#t.engine, r5 = this.tracingHelper.runInChildSpan("disconnect", async () => {
+ try {
+ await t.executor.disconnect(), t.queryCompiler.free();
+ } finally {
+ this.#t = { type: "disconnected" };
+ }
+ });
+ return this.#t = { type: "disconnecting", promise: r5 }, await r5;
+ }
+ case "disconnecting":
+ return await this.#t.promise;
+ }
+ }
+ version() {
+ return "unknown";
+ }
+ async transaction(t, r5, n3) {
+ let i5, { executor: o3 } = await this.#n();
+ try {
+ if (t === "start") {
+ let s2 = n3;
+ i5 = await o3.startTransaction({ ...s2, isolationLevel: this.#g(s2.isolationLevel) });
+ } else if (t === "commit") {
+ let s2 = n3;
+ await o3.commitTransaction(s2);
+ } else if (t === "rollback") {
+ let s2 = n3;
+ await o3.rollbackTransaction(s2);
+ } else $e(t, "Invalid transaction action.");
+ } catch (s2) {
+ throw this.#c(s2);
+ }
+ return i5 ? { id: i5.id, payload: void 0 } : void 0;
+ }
+ async request(t, { interactiveTransaction: r5, customDataProxyFetch: n3 }) {
+ Ve("sending request");
+ let { executor: i5, queryCompiler: o3 } = await this.#n().catch((m3) => {
+ throw this.#c(m3, JSON.stringify(t));
+ }), s2, a5 = {}, u = t.query;
+ if (Pl(t)) s2 = El(t);
+ else {
+ let { parameterizedQuery: m3, placeholderValues: P } = Vi(t, this.#s), T2 = JSON.stringify(m3);
+ a5 = P, u = m3.query;
+ let S = t.action !== "createMany" && t.action !== "createManyAndReturn", I = S ? this.#o?.getSingle(T2) : void 0;
+ I ? (Ve("query plan cache hit"), s2 = I) : (Ve("query plan cache miss"), s2 = this.#f(m3, T2, o3), S && this.#o?.setSingle(T2, s2));
+ }
+ try {
+ Ve("query plan created", s2);
+ let m3 = await i5.execute({ plan: s2, model: t.modelName, operation: t.action, placeholderValues: a5, transaction: r5, batchIndex: void 0, customFetch: n3?.(globalThis.fetch), queryInfo: { type: "single", modelName: t.modelName, action: t.action, query: u } });
+ return Ve("query plan executed"), { data: { [t.action]: m3 } };
+ } catch (m3) {
+ throw this.#c(m3, JSON.stringify(t));
+ }
+ }
+ async requestBatch(t, { transaction: r5, customDataProxyFetch: n3 }) {
+ if (t.length === 0) return [];
+ let i5 = t[0].action, o3 = t[0].modelName, s2 = sl(t, r5), a5 = JSON.stringify(s2), { executor: u, queryCompiler: m3 } = await this.#n().catch((A) => {
+ throw this.#c(A, a5);
+ }), P = o3 === void 0, T2, S = {}, I = t.map((A) => A.query);
+ if (P) T2 = this.#y(t, a5, m3);
+ else {
+ let { parameterizedBatch: A, placeholderValues: M } = qi(s2, this.#s), L = JSON.stringify(A);
+ S = M, I = A.batch.map((E) => E.query);
+ let q3 = this.#o?.getBatch(L);
+ if (q3) Ve("batch query plan cache hit"), T2 = q3;
+ else {
+ Ve("batch query plan cache miss");
+ try {
+ T2 = this.#y(A.batch, L, m3), this.#o?.setBatch(L, T2);
+ } catch (E) {
+ throw this.#d(E);
+ }
+ }
+ }
+ try {
+ let A;
+ switch (r5?.kind === "itx" && (A = r5.options), T2.type) {
+ case "multi": {
+ if (r5?.kind !== "itx") {
+ let E = r5?.options, D = { maxWait: E?.maxWait ?? this.config.transactionOptions.maxWait, timeout: E?.timeout ?? this.config.transactionOptions.timeout, isolationLevel: E?.isolationLevel ?? this.config.transactionOptions.isolationLevel };
+ A = await this.transaction("start", {}, D);
+ }
+ let M = [], L = false, q3;
+ for (let [E, D] of T2.plans.entries()) try {
+ let H = await u.execute({ plan: D, placeholderValues: S, model: t[E].modelName, operation: t[E].action, batchIndex: E, transaction: A, customFetch: n3?.(globalThis.fetch), queryInfo: { type: "single", modelName: t[E].modelName, action: t[E].action, query: I[E] } });
+ M.push({ data: { [t[E].action]: H } });
+ } catch (H) {
+ if (q3 ??= r5?.kind !== "batch" && t.every((ce) => ce.action === "findUnique" || ce.action === "findUniqueOrThrow"), M.push(H), L = true, !q3) break;
+ }
+ return A !== void 0 && r5?.kind !== "itx" && (L ? await this.transaction("rollback", {}, A) : await this.transaction("commit", {}, A)), M;
+ }
+ case "compacted": {
+ if (!t.every((q3) => q3.action === i5 && q3.modelName === o3)) {
+ let q3 = t.map((D) => D.action).join(", "), E = t.map((D) => D.modelName).join(", ");
+ throw new Error(`Internal error: All queries in a compacted batch must have the same action and model name, but received actions: [${q3}] and model names: [${E}]. This indicates a bug in the client. Please report this issue to the Prisma team with your query details.`);
+ }
+ if (o3 === void 0) throw new Error("Internal error: A compacted batch cannot contain raw queries. This indicates a bug in the client. Please report this issue to the Prisma team with your query details.");
+ let M = await u.execute({ plan: T2.plan, placeholderValues: S, model: o3, operation: i5, batchIndex: void 0, transaction: A, customFetch: n3?.(globalThis.fetch), queryInfo: { type: "compacted", action: i5, modelName: o3, queries: I } });
+ return Ws(M, T2, S).map((q3) => ({ data: { [i5]: q3 } }));
+ }
+ }
+ } catch (A) {
+ throw this.#c(A, a5);
+ }
+ }
+ async apiKey() {
+ let { executor: t } = await this.#n();
+ return t.apiKey();
+ }
+ #f(t, r5, n3) {
+ try {
+ return this.#m(() => this.#h({ queries: [t], execute: /* @__PURE__ */ __name(() => n3.compile(r5), "execute") }));
+ } catch (i5) {
+ throw this.#d(i5);
+ }
+ }
+ #y(t, r5, n3) {
+ if (t.every(Pl)) return { type: "multi", plans: t.map((i5) => El(i5)) };
+ try {
+ return this.#m(() => this.#h({ queries: t, execute: /* @__PURE__ */ __name(() => n3.compileBatch(r5), "execute") }));
+ } catch (i5) {
+ throw this.#d(i5);
+ }
+ }
+ #g(t) {
+ switch (t) {
+ case void 0:
+ return;
+ case "ReadUncommitted":
+ return "READ UNCOMMITTED";
+ case "ReadCommitted":
+ return "READ COMMITTED";
+ case "RepeatableRead":
+ return "REPEATABLE READ";
+ case "Serializable":
+ return "SERIALIZABLE";
+ case "Snapshot":
+ return "SNAPSHOT";
+ default:
+ throw new ne.PrismaClientKnownRequestError(`Inconsistent column data: Conversion failed: Invalid isolation level \`${t}\``, { code: "P2023", clientVersion: this.config.clientVersion, meta: { providedIsolationLevel: t } });
+ }
+ }
+ #h({ queries: t, execute: r5 }) {
+ return this.tracingHelper.runInChildSpan({ name: "compile", attributes: { models: t.map((n3) => n3.modelName).filter((n3) => n3 !== void 0), actions: t.map((n3) => n3.action) } }, r5);
+ }
+ };
+ function bl(e5, t, r5) {
+ return pl({ binaryTarget: void 0, title: t, version: e5.config.clientVersion, engineVersion: "unknown", database: e5.config.activeProvider, query: r5 });
+ }
+ __name(bl, "bl");
+ function Pl(e5) {
+ return e5.action === "queryRaw" || e5.action === "executeRaw";
+ }
+ __name(Pl, "Pl");
+ function El(e5) {
+ let t = e5.query.arguments.query, { args: r5, argTypes: n3 } = il(e5.query.arguments.parameters);
+ return { type: e5.action === "queryRaw" ? "query" : "execute", args: { type: "rawSql", sql: t, args: r5, argTypes: n3 } };
+ }
+ __name(El, "El");
+ function vl(e5) {
+ return new yr(e5);
+ }
+ __name(vl, "vl");
+ var Sl = /* @__PURE__ */ __name((e5) => ({ command: e5 }), "Sl");
+ var Nl = require_dist();
+ var Al = /* @__PURE__ */ __name((e5) => e5.strings.reduce((t, r5, n3) => `${t}@P${n3}${r5}`), "Al");
+ var Pn = require_dist();
+ function It(e5, t) {
+ try {
+ return Rl(e5, "fast", t);
+ } catch (r5) {
+ if (r5 instanceof TypeError) return Rl(e5, "slow", t);
+ throw r5;
+ }
+ }
+ __name(It, "It");
+ function Rl(e5, t, r5) {
+ return JSON.stringify(e5.map((n3) => Il(n3, t, r5)));
+ }
+ __name(Rl, "Rl");
+ function Il(e5, t, r5) {
+ if (Array.isArray(e5)) return e5.map((n3) => Il(n3, t, r5));
+ if (typeof e5 == "bigint") return { prisma__type: "bigint", prisma__value: e5.toString() };
+ if (ct(e5)) {
+ if (!pt(e5)) throw new Pn.PrismaClientValidationError("Provided Date object is invalid", { clientVersion: r5 });
+ return { prisma__type: "date", prisma__value: e5.toJSON() };
+ }
+ if (Pn.Decimal.isDecimal(e5)) return { prisma__type: "decimal", prisma__value: e5.toJSON() };
+ if (Buffer.isBuffer(e5)) return { prisma__type: "bytes", prisma__value: e5.toString("base64") };
+ if (mm(e5)) return { prisma__type: "bytes", prisma__value: Buffer.from(e5).toString("base64") };
+ if (ArrayBuffer.isView(e5)) {
+ let { buffer: n3, byteOffset: i5, byteLength: o3 } = e5;
+ return { prisma__type: "bytes", prisma__value: Buffer.from(n3, i5, o3).toString("base64") };
+ }
+ return typeof e5 == "object" && t === "slow" ? kl(e5) : e5;
+ }
+ __name(Il, "Il");
+ function mm(e5) {
+ return e5 instanceof ArrayBuffer || e5 instanceof SharedArrayBuffer ? true : typeof e5 == "object" && e5 !== null ? e5[Symbol.toStringTag] === "ArrayBuffer" || e5[Symbol.toStringTag] === "SharedArrayBuffer" : false;
+ }
+ __name(mm, "mm");
+ function kl(e5) {
+ if (typeof e5 != "object" || e5 === null) return e5;
+ if (typeof e5.toJSON == "function") return e5.toJSON();
+ if (Array.isArray(e5)) return e5.map(Cl);
+ let t = {};
+ for (let r5 of Object.keys(e5)) t[r5] = Cl(e5[r5]);
+ return t;
+ }
+ __name(kl, "kl");
+ function Cl(e5) {
+ return typeof e5 == "bigint" ? e5.toString() : kl(e5);
+ }
+ __name(Cl, "Cl");
+ var fm = /^(\s*alter\s)/i;
+ var Ol = K2("prisma:client");
+ function Gi(e5, t, r5, n3) {
+ if (!(e5 !== "postgresql" && e5 !== "cockroachdb") && r5.length > 0 && fm.exec(t)) throw new Error(`Running ALTER using ${n3} is not supported
+Using the example below you can still execute your query with Prisma, but please note that it is vulnerable to SQL injection attacks and requires you to take care of input sanitization.
+
+Example:
+ await prisma.$executeRawUnsafe(\`ALTER USER prisma WITH PASSWORD '\${password}'\`)
+
+More Information: https://pris.ly/d/execute-raw
+`);
+ }
+ __name(Gi, "Gi");
+ var zi = /* @__PURE__ */ __name(({ clientMethod: e5, activeProvider: t, clientVersion: r5 }) => (n3) => {
+ let i5 = "", o3;
+ if (Ur(n3)) i5 = n3.sql, o3 = { values: It(n3.values, r5), __prismaRawParameters__: true };
+ else if (Array.isArray(n3)) {
+ let [s2, ...a5] = n3;
+ i5 = s2, o3 = { values: It(a5 || [], r5), __prismaRawParameters__: true };
+ } else switch (t) {
+ case "sqlite":
+ case "mysql": {
+ i5 = n3.sql, o3 = { values: It(n3.values, r5), __prismaRawParameters__: true };
+ break;
+ }
+ case "cockroachdb":
+ case "postgresql":
+ case "postgres": {
+ i5 = n3.text, o3 = { values: It(n3.values, r5), __prismaRawParameters__: true };
+ break;
+ }
+ case "sqlserver": {
+ i5 = Al(n3), o3 = { values: It(n3.values, r5), __prismaRawParameters__: true };
+ break;
+ }
+ default:
+ throw new Error(`The ${t} provider does not support ${e5}`);
+ }
+ return o3?.values ? Ol(`prisma.${e5}(${i5}, ${o3.values})`) : Ol(`prisma.${e5}(${i5})`), { query: i5, parameters: o3 };
+ }, "zi");
+ var Dl = { requestArgsToMiddlewareArgs(e5) {
+ return [e5.strings, ...e5.values];
+ }, middlewareArgsToRequestArgs(e5) {
+ let [t, ...r5] = e5;
+ return new Nl.Sql(t, r5);
+ } };
+ var Ml = { requestArgsToMiddlewareArgs(e5) {
+ return [e5];
+ }, middlewareArgsToRequestArgs(e5) {
+ return e5[0];
+ } };
+ function Hi(e5) {
+ return function(r5, n3) {
+ let i5, o3 = /* @__PURE__ */ __name((s2 = e5) => {
+ try {
+ return s2 === void 0 || s2?.kind === "itx" ? i5 ??= Fl(r5(s2)) : Fl(r5(s2));
+ } catch (a5) {
+ return Promise.reject(a5);
+ }
+ }, "o");
+ return { get spec() {
+ return n3;
+ }, then(s2, a5) {
+ return o3().then(s2, a5);
+ }, catch(s2) {
+ return o3().catch(s2);
+ }, finally(s2) {
+ return o3().finally(s2);
+ }, requestTransaction(s2) {
+ let a5 = o3(s2);
+ return a5.requestTransaction ? a5.requestTransaction(s2) : a5;
+ }, [Symbol.toStringTag]: "PrismaPromise" };
+ };
+ }
+ __name(Hi, "Hi");
+ function Fl(e5) {
+ return typeof e5.then == "function" ? e5 : Promise.resolve(e5);
+ }
+ __name(Fl, "Fl");
+ var _l = { name: "@prisma/instrumentation-contract", version: "7.10.1", description: "Shared types and utilities for Prisma instrumentation", main: "dist/index.js", module: "dist/index.mjs", types: "dist/index.d.ts", exports: { ".": { require: { types: "./dist/index.d.ts", default: "./dist/index.js" }, import: { types: "./dist/index.d.mts", default: "./dist/index.mjs" } } }, license: "Apache-2.0", homepage: "https://www.prisma.io", repository: { type: "git", url: "https://github.com/prisma/orm.git", directory: "packages/instrumentation-contract" }, bugs: "https://github.com/prisma/prisma/issues", scripts: { dev: "DEV=true tsx helpers/build.ts", build: "tsx helpers/build.ts", prepublishOnly: "pnpm run build", test: "vitest run" }, files: ["dist"], sideEffects: false, devDependencies: { "@opentelemetry/api": "1.9.0" }, peerDependencies: { "@opentelemetry/api": "^1.8" } };
+ var ym = _l.version.split(".")[0];
+ var hm = "PRISMA_INSTRUMENTATION";
+ var wm = `V${ym}_PRISMA_INSTRUMENTATION`;
+ var $l = globalThis;
+ function Ll() {
+ let e5 = $l[wm];
+ return e5?.helper ? e5.helper : $l[hm]?.helper;
+ }
+ __name(Ll, "Ll");
+ var xm = { isEnabled() {
+ return false;
+ }, getTraceParent() {
+ return "00-10-10-00";
+ }, dispatchEngineSpans(e5, t, r5) {
+ for (let n3 of t) r5(n3);
+ }, getActiveContext() {
+ }, runInChildSpan(e5, t) {
+ return t();
+ } };
+ var Wi = class {
+ static {
+ __name(this, "Wi");
+ }
+ isEnabled() {
+ return this.getTracingHelper().isEnabled();
+ }
+ getTraceParent(t) {
+ return this.getTracingHelper().getTraceParent(t);
+ }
+ dispatchEngineSpans(t, r5, n3) {
+ return this.getTracingHelper().dispatchEngineSpans(t, r5, n3);
+ }
+ getActiveContext() {
+ return this.getTracingHelper().getActiveContext();
+ }
+ runInChildSpan(t, r5) {
+ return this.getTracingHelper().runInChildSpan(t, r5);
+ }
+ getTracingHelper() {
+ return Ll() ?? xm;
+ }
+ };
+ function Vl() {
+ return new Wi();
+ }
+ __name(Vl, "Vl");
+ function ql(e5, t = () => {
+ }) {
+ let r5, n3 = new Promise((i5) => r5 = i5);
+ return { then(i5) {
+ return --e5 === 0 && r5(t()), i5?.(n3);
+ } };
+ }
+ __name(ql, "ql");
+ function Ul(e5) {
+ return typeof e5 == "string" ? e5 : e5.reduce((t, r5) => {
+ let n3 = typeof r5 == "string" ? r5 : r5.level;
+ return n3 === "query" ? t : t && (r5 === "info" || t === "info") ? "info" : n3;
+ }, void 0);
+ }
+ __name(Ul, "Ul");
+ var Ql = require_dist();
+ function Zi(e5) {
+ if (e5.action !== "findUnique" && e5.action !== "findUniqueOrThrow") return;
+ let t = [];
+ return e5.modelName && t.push(e5.modelName), e5.query.arguments && t.push(Ki(e5.query.arguments)), t.push(Ki(e5.query.selection)), t.join("");
+ }
+ __name(Zi, "Zi");
+ function Ki(e5) {
+ return `(${Object.keys(e5).sort().map((r5) => {
+ let n3 = e5[r5];
+ return typeof n3 == "object" && n3 !== null ? `(${r5} ${Ki(n3)})` : r5;
+ }).join(" ")})`;
+ }
+ __name(Ki, "Ki");
+ var bm = { aggregate: false, aggregateRaw: false, createMany: true, createManyAndReturn: true, createOne: true, deleteMany: true, deleteOne: true, executeRaw: true, findFirst: false, findFirstOrThrow: false, findMany: false, findRaw: false, findUnique: false, findUniqueOrThrow: false, groupBy: false, queryRaw: false, runCommandRaw: true, updateMany: true, updateManyAndReturn: true, updateOne: true, upsertOne: true };
+ function Xi(e5) {
+ return bm[e5];
+ }
+ __name(Xi, "Xi");
+ var En = class {
+ static {
+ __name(this, "En");
+ }
+ constructor(t) {
+ this.options = t;
+ this.batches = {};
+ }
+ batches;
+ tickActive = false;
+ request(t) {
+ let r5 = this.options.batchBy(t);
+ return r5 ? (this.batches[r5] || (this.batches[r5] = [], this.tickActive || (this.tickActive = true, process.nextTick(() => {
+ this.dispatchBatches(), this.tickActive = false;
+ }))), new Promise((n3, i5) => {
+ this.batches[r5].push({ request: t, resolve: n3, reject: i5 });
+ })) : this.options.singleLoader(t);
+ }
+ dispatchBatches() {
+ for (let t in this.batches) {
+ let r5 = this.batches[t];
+ delete this.batches[t], r5.length === 1 ? this.options.singleLoader(r5[0].request).then((n3) => {
+ n3 instanceof Error ? r5[0].reject(n3) : r5[0].resolve(n3);
+ }).catch((n3) => {
+ r5[0].reject(n3);
+ }) : (r5.sort((n3, i5) => this.options.batchOrder(n3.request, i5.request)), this.options.batchLoader(r5.map((n3) => n3.request)).then((n3) => {
+ if (n3 instanceof Error) for (let i5 = 0; i5 < r5.length; i5++) r5[i5].reject(n3);
+ else for (let i5 = 0; i5 < r5.length; i5++) {
+ let o3 = n3[i5];
+ o3 instanceof Error ? r5[i5].reject(o3) : r5[i5].resolve(o3);
+ }
+ }).catch((n3) => {
+ for (let i5 = 0; i5 < r5.length; i5++) r5[i5].reject(n3);
+ }));
+ }
+ }
+ get [Symbol.toStringTag]() {
+ return "DataLoader";
+ }
+ };
+ var jl = require_dist();
+ function st(e5, t) {
+ if (t === null) return t;
+ switch (e5) {
+ case "bigint":
+ return BigInt(t);
+ case "bytes":
+ return new Uint8Array(Buffer.from(t, "base64"));
+ case "decimal":
+ return new jl.Decimal(t);
+ case "datetime":
+ case "date":
+ return new Date(t);
+ case "time":
+ return /* @__PURE__ */ new Date(`1970-01-01T${t}Z`);
+ case "bigint-array":
+ return t.map((r5) => st("bigint", r5));
+ case "bytes-array":
+ return t.map((r5) => st("bytes", r5));
+ case "decimal-array":
+ return t.map((r5) => st("decimal", r5));
+ case "datetime-array":
+ return t.map((r5) => st("datetime", r5));
+ case "date-array":
+ return t.map((r5) => st("date", r5));
+ case "time-array":
+ return t.map((r5) => st("time", r5));
+ default:
+ return t;
+ }
+ }
+ __name(st, "st");
+ function Tn(e5) {
+ let t = [], r5 = Pm(e5);
+ for (let n3 = 0; n3 < e5.rows.length; n3++) {
+ let i5 = e5.rows[n3], o3 = { ...r5 };
+ for (let s2 = 0; s2 < i5.length; s2++) o3[e5.columns[s2]] = st(e5.types[s2], i5[s2]);
+ t.push(o3);
+ }
+ return t;
+ }
+ __name(Tn, "Tn");
+ function Pm(e5) {
+ let t = {};
+ for (let r5 = 0; r5 < e5.columns.length; r5++) t[e5.columns[r5]] = null;
+ return t;
+ }
+ __name(Pm, "Pm");
+ function Bl(e5, t) {
+ let { schema: r5, name: n3 } = Em(t), i5 = Object.entries(e5.models).filter(([o3, s2]) => (s2.dbName ?? o3) === n3);
+ if (i5.length <= 1) return i5[0]?.[0];
+ if (r5 !== void 0) {
+ let o3 = i5.filter(([, s2]) => s2.schema === r5);
+ if (o3.length === 1) return o3[0][0];
+ }
+ }
+ __name(Bl, "Bl");
+ function Em(e5) {
+ let t = e5.lastIndexOf(".");
+ return t === -1 ? { schema: void 0, name: e5 } : { schema: e5.slice(0, t), name: e5.slice(t + 1) };
+ }
+ __name(Em, "Em");
+ var Tm = K2("prisma:client:request_handler");
+ var vn = class {
+ static {
+ __name(this, "vn");
+ }
+ client;
+ dataloader;
+ logEmitter;
+ constructor(t, r5) {
+ this.logEmitter = r5, this.client = t, this.dataloader = new En({ batchLoader: _s5(async ({ requests: n3, customDataProxyFetch: i5 }) => {
+ let { transaction: o3, otelParentCtx: s2 } = n3[0], a5 = n3.map((T2) => T2.protocolQuery), u = this.client._tracingHelper.getTraceParent(s2), m3 = n3.some((T2) => Xi(T2.protocolQuery.action));
+ return (await this.client._engine.requestBatch(a5, { traceparent: u, transaction: vm(o3), containsWrite: m3, customDataProxyFetch: i5 })).map((T2, S) => {
+ if (T2 instanceof Error) return T2;
+ try {
+ return this.mapQueryEngineResult(n3[S], T2);
+ } catch (I) {
+ return I;
+ }
+ });
+ }), singleLoader: /* @__PURE__ */ __name(async (n3) => {
+ let i5 = n3.transaction?.kind === "itx" ? Jl(n3.transaction) : void 0, o3 = await this.client._engine.request(n3.protocolQuery, { traceparent: this.client._tracingHelper.getTraceParent(), interactiveTransaction: i5, isWrite: Xi(n3.protocolQuery.action), customDataProxyFetch: n3.customDataProxyFetch });
+ return this.mapQueryEngineResult(n3, o3);
+ }, "singleLoader"), batchBy: /* @__PURE__ */ __name((n3) => {
+ if (n3.transaction?.kind === "itx") {
+ let i5 = Zi(n3.protocolQuery);
+ return `itx-${n3.transaction.id}${i5 ? `-${i5}` : ""}`;
+ }
+ return n3.transaction?.id ? `transaction-${n3.transaction.id}` : Zi(n3.protocolQuery);
+ }, "batchBy"), batchOrder(n3, i5) {
+ return n3.transaction?.kind === "batch" && i5.transaction?.kind === "batch" ? n3.transaction.index - i5.transaction.index : 0;
+ } });
+ }
+ async request(t) {
+ try {
+ return await this.dataloader.request(t);
+ } catch (r5) {
+ let { clientMethod: n3, callsite: i5, transaction: o3, args: s2, modelName: a5 } = t;
+ this.handleAndLogRequestError({ error: r5, clientMethod: n3, callsite: i5, transaction: o3, args: s2, modelName: a5, globalOmit: t.globalOmit });
+ }
+ }
+ mapQueryEngineResult({ dataPath: t, unpacker: r5 }, n3) {
+ let i5 = n3?.data, o3 = this.unpack(i5, t, r5);
+ return process.env.PRISMA_CLIENT_GET_TIME ? { data: o3 } : o3;
+ }
+ handleAndLogRequestError(t) {
+ try {
+ this.handleRequestError(t);
+ } catch (r5) {
+ throw this.logEmitter && this.logEmitter.emit("error", { message: r5.message, target: t.clientMethod, timestamp: /* @__PURE__ */ new Date() }), r5;
+ }
+ }
+ handleRequestError({ error: t, clientMethod: r5, callsite: n3, transaction: i5, args: o3, modelName: s2, globalOmit: a5 }) {
+ if (Tm(t), Sm(t, i5)) throw t;
+ if (t instanceof _.PrismaClientKnownRequestError && Am(t)) {
+ let m3 = Gl(t.meta);
+ Fr({ args: o3, errors: [m3], callsite: n3, errorFormat: this.client._errorFormat, originalMethod: r5, clientVersion: this.client._clientVersion, globalOmit: a5 });
+ }
+ let u = t.message;
+ if (n3 && (u = Rr({ callsite: n3, originalMethod: r5, isPanic: t.isPanic, showColors: this.client._errorFormat === "pretty", message: u })), u = this.sanitizeMessage(u), t.code) {
+ let m3 = this.resolveErrorMeta(t.meta, t.code, s2);
+ throw new _.PrismaClientKnownRequestError(u, { code: t.code, clientVersion: this.client._clientVersion, meta: m3, batchRequestIdx: t.batchRequestIdx });
+ } else {
+ if (t.isPanic) throw new _.PrismaClientRustPanicError(u, this.client._clientVersion);
+ if (t instanceof _.PrismaClientUnknownRequestError) throw new _.PrismaClientUnknownRequestError(u, { clientVersion: this.client._clientVersion, batchRequestIdx: t.batchRequestIdx });
+ if (t instanceof _.PrismaClientInitializationError) throw new _.PrismaClientInitializationError(u, this.client._clientVersion);
+ if (t instanceof _.PrismaClientRustPanicError) throw new _.PrismaClientRustPanicError(u, this.client._clientVersion);
+ }
+ throw t.clientVersion = this.client._clientVersion, t;
+ }
+ resolveErrorMeta(t, r5, n3) {
+ if (r5 !== "P2002" || typeof t?.table != "string") return n3 ? { modelName: n3, ...t } : t;
+ let i5 = { ...t };
+ delete i5.table;
+ let o3 = Bl(this.client._runtimeDataModel, t.table) ?? (typeof i5.modelName == "string" ? i5.modelName : n3);
+ return o3 !== void 0 ? { ...i5, modelName: o3 } : i5;
+ }
+ sanitizeMessage(t) {
+ return this.client._errorFormat && this.client._errorFormat !== "pretty" ? ut(t) : t;
+ }
+ unpack(t, r5, n3) {
+ if (!t || (t.data && (t = t.data), !t)) return t;
+ let i5 = Object.keys(t)[0], o3 = Object.values(t)[0], s2 = Rm(r5), a5 = Wn(o3, s2), u = i5 === "queryRaw" ? Tn(a5) : Ae(a5);
+ return n3 ? n3(u) : u;
+ }
+ get [Symbol.toStringTag]() {
+ return "RequestHandler";
+ }
+ };
+ function vm(e5) {
+ if (e5) {
+ if (e5.kind === "batch") return { kind: "batch", options: { isolationLevel: e5.isolationLevel, maxWait: e5.maxWait, timeout: e5.timeout } };
+ if (e5.kind === "itx") return { kind: "itx", options: Jl(e5) };
+ $e(e5, "Unknown transaction kind");
+ }
+ }
+ __name(vm, "vm");
+ function Jl(e5) {
+ return { id: e5.id, payload: e5.payload };
+ }
+ __name(Jl, "Jl");
+ function Sm(e5, t) {
+ return (0, Ql.hasBatchIndex)(e5) && t?.kind === "batch" && e5.batchRequestIdx !== t.index;
+ }
+ __name(Sm, "Sm");
+ function Am(e5) {
+ return e5.code === "P2009" || e5.code === "P2012";
+ }
+ __name(Am, "Am");
+ function Gl(e5) {
+ if (e5.kind === "Union") return { kind: "Union", errors: e5.errors.map(Gl) };
+ if (Array.isArray(e5.selectionPath)) {
+ let [, ...t] = e5.selectionPath;
+ return { ...e5, selectionPath: t };
+ }
+ return e5;
+ }
+ __name(Gl, "Gl");
+ function Rm(e5) {
+ let t = [];
+ for (let r5 = 1; r5 < e5.length; r5 += 2) t.push(e5[r5]);
+ return t;
+ }
+ __name(Rm, "Rm");
+ var Yi = mn;
+ var Zl = Pe(qn());
+ var j5 = class extends Error {
+ static {
+ __name(this, "j");
+ }
+ constructor(t) {
+ super(t + `
+Read more at https://pris.ly/d/client-constructor`), this.name = "PrismaClientConstructorValidationError";
+ }
+ get [Symbol.toStringTag]() {
+ return "PrismaClientConstructorValidationError";
+ }
+ };
+ Bt(j5, "PrismaClientConstructorValidationError");
+ var zl = ["errorFormat", "adapter", "accelerateUrl", "log", "transactionOptions", "omit", "comments", "queryPlanCacheMaxSize", "__internal"];
+ var Hl = ["pretty", "colorless", "minimal"];
+ var Wl = ["info", "query", "warn", "error"];
+ var Cm = { adapter: /* @__PURE__ */ __name(() => {
+ }, "adapter"), accelerateUrl: /* @__PURE__ */ __name((e5) => {
+ if (e5 !== void 0) {
+ if (typeof e5 != "string") throw new j5(`Invalid value ${JSON.stringify(e5)} for "accelerateUrl" provided to PrismaClient constructor.`);
+ if (e5.trim().length === 0) throw new j5('"accelerateUrl" provided to PrismaClient constructor must be a non-empty string.');
+ }
+ }, "accelerateUrl"), errorFormat: /* @__PURE__ */ __name((e5) => {
+ if (e5) {
+ if (typeof e5 != "string") throw new j5(`Invalid value ${JSON.stringify(e5)} for "errorFormat" provided to PrismaClient constructor.`);
+ if (!Hl.includes(e5)) {
+ let t = hr(e5, Hl);
+ throw new j5(`Invalid errorFormat ${e5} provided to PrismaClient constructor.${t}`);
+ }
+ }
+ }, "errorFormat"), log: /* @__PURE__ */ __name((e5) => {
+ if (!e5) return;
+ if (!Array.isArray(e5)) throw new j5(`Invalid value ${JSON.stringify(e5)} for "log" provided to PrismaClient constructor.`);
+ function t(r5) {
+ if (typeof r5 == "string" && !Wl.includes(r5)) {
+ let n3 = hr(r5, Wl);
+ throw new j5(`Invalid log level "${r5}" provided to PrismaClient constructor.${n3}`);
+ }
+ }
+ __name(t, "t");
+ for (let r5 of e5) {
+ t(r5);
+ let n3 = { level: t, emit: /* @__PURE__ */ __name((i5) => {
+ let o3 = ["stdout", "event"];
+ if (!o3.includes(i5)) {
+ let s2 = hr(i5, o3);
+ throw new j5(`Invalid value ${JSON.stringify(i5)} for "emit" in logLevel provided to PrismaClient constructor.${s2}`);
+ }
+ }, "emit") };
+ if (r5 && typeof r5 == "object") for (let [i5, o3] of Object.entries(r5)) if (n3[i5]) n3[i5](o3);
+ else throw new j5(`Invalid property ${i5} for "log" provided to PrismaClient constructor`);
+ }
+ }, "log"), transactionOptions: /* @__PURE__ */ __name((e5) => {
+ if (!e5) return;
+ let t = e5.maxWait;
+ if (t != null && t <= 0) throw new j5(`Invalid value ${t} for maxWait in "transactionOptions" provided to PrismaClient constructor. maxWait needs to be greater than 0`);
+ let r5 = e5.timeout;
+ if (r5 != null && r5 <= 0) throw new j5(`Invalid value ${r5} for timeout in "transactionOptions" provided to PrismaClient constructor. timeout needs to be greater than 0`);
+ }, "transactionOptions"), omit: /* @__PURE__ */ __name((e5, t) => {
+ if (typeof e5 != "object") throw new j5('"omit" option is expected to be an object.');
+ if (e5 === null) throw new j5('"omit" option can not be `null`');
+ let r5 = [];
+ for (let [n3, i5] of Object.entries(e5)) {
+ let o3 = Om(n3, t.runtimeDataModel);
+ if (!o3) {
+ r5.push({ kind: "UnknownModel", modelKey: n3 });
+ continue;
+ }
+ for (let [s2, a5] of Object.entries(i5)) {
+ let u = o3.fields.find((m3) => m3.name === s2);
+ if (!u) {
+ r5.push({ kind: "UnknownField", modelKey: n3, fieldName: s2 });
+ continue;
+ }
+ if (u.relationName) {
+ r5.push({ kind: "RelationInOmit", modelKey: n3, fieldName: s2 });
+ continue;
+ }
+ typeof a5 != "boolean" && r5.push({ kind: "InvalidFieldValue", modelKey: n3, fieldName: s2 });
+ }
+ }
+ if (r5.length > 0) throw new j5(Nm(e5, r5));
+ }, "omit"), queryPlanCacheMaxSize: /* @__PURE__ */ __name((e5) => {
+ if (e5 !== void 0) {
+ if (typeof e5 != "number") throw new j5(`Invalid value ${JSON.stringify(e5)} for "queryPlanCacheMaxSize" provided to PrismaClient constructor. Expected a number.`);
+ if (!Number.isInteger(e5)) throw new j5(`Invalid value ${e5} for "queryPlanCacheMaxSize" provided to PrismaClient constructor. Expected an integer.`);
+ if (e5 < 0) throw new j5(`Invalid value ${e5} for "queryPlanCacheMaxSize" provided to PrismaClient constructor. Cache size needs to be greater or equal to 0.`);
+ }
+ }, "queryPlanCacheMaxSize"), comments: /* @__PURE__ */ __name((e5) => {
+ if (e5 !== void 0) {
+ if (!Array.isArray(e5)) throw new j5(`Invalid value ${JSON.stringify(e5)} for "comments" provided to PrismaClient constructor. Expected an array of SQL commenter plugins.`);
+ for (let t = 0; t < e5.length; t++) if (typeof e5[t] != "function") throw new j5(`Invalid value at index ${t} for "comments" provided to PrismaClient constructor. Each plugin must be a function.`);
+ }
+ }, "comments"), __internal: /* @__PURE__ */ __name((e5) => {
+ if (!e5) return;
+ let t = ["debug", "engine", "configOverride"];
+ if (typeof e5 != "object") throw new j5(`Invalid value ${JSON.stringify(e5)} for "__internal" to PrismaClient constructor`);
+ for (let [r5] of Object.entries(e5)) if (!t.includes(r5)) {
+ let n3 = hr(r5, t);
+ throw new j5(`Invalid property ${JSON.stringify(r5)} for "__internal" provided to PrismaClient constructor.${n3}`);
+ }
+ }, "__internal") };
+ function Im(e5) {
+ let t = e5.adapter !== void 0, r5 = e5.accelerateUrl !== void 0;
+ if (t && r5) throw new j5('The "adapter" and "accelerateUrl" options are mutually exclusive. Please provide only one of them.');
+ if (!t && !r5) throw new j5(`PrismaClient requires a driver adapter to connect to your database, but none was provided.
+
+Pass a driver adapter to the PrismaClient constructor, for example:
+
+ import { PrismaPg } from '@prisma/adapter-pg'
+ import { PrismaClient } from './generated/prisma/client'
+
+ const adapter = new PrismaPg({ connectionString: process.env.DATABASE_URL })
+ const prisma = new PrismaClient({ adapter })
+
+Learn more about driver adapters: https://pris.ly/d/driver-adapters
+
+If you use Prisma Accelerate instead of connecting to your database directly, pass \`accelerateUrl\` to the PrismaClient constructor instead of \`adapter\`.`);
+ }
+ __name(Im, "Im");
+ function Xl(e5, t) {
+ for (let [r5, n3] of Object.entries(e5)) {
+ if (!zl.includes(r5)) {
+ let i5 = hr(r5, zl);
+ throw new j5(`Unknown property ${r5} provided to PrismaClient constructor.${i5}`);
+ }
+ Cm[r5](n3, t);
+ }
+ Im(e5);
+ }
+ __name(Xl, "Xl");
+ function hr(e5, t) {
+ if (t.length === 0 || typeof e5 != "string") return "";
+ let r5 = km(e5, t);
+ return r5 ? ` Did you mean "${r5}"?` : "";
+ }
+ __name(hr, "hr");
+ function km(e5, t) {
+ if (t.length === 0) return null;
+ let r5 = t.map((i5) => ({ value: i5, distance: (0, Zl.default)(e5, i5) }));
+ r5.sort((i5, o3) => i5.distance < o3.distance ? -1 : 1);
+ let n3 = r5[0];
+ return n3.distance < 3 ? n3.value : null;
+ }
+ __name(km, "km");
+ function Om(e5, t) {
+ return Kl(t.models, e5) ?? Kl(t.types, e5);
+ }
+ __name(Om, "Om");
+ function Kl(e5, t) {
+ let r5 = Object.keys(e5).find((n3) => qe(n3) === t);
+ if (r5) return e5[r5];
+ }
+ __name(Kl, "Kl");
+ function Nm(e5, t) {
+ let r5 = bt(e5);
+ for (let o3 of t) switch (o3.kind) {
+ case "UnknownModel":
+ r5.arguments.getField(o3.modelKey)?.markAsError(), r5.addErrorMessage(() => `Unknown model name: ${o3.modelKey}.`);
+ break;
+ case "UnknownField":
+ r5.arguments.getDeepField([o3.modelKey, o3.fieldName])?.markAsError(), r5.addErrorMessage(() => `Model "${o3.modelKey}" does not have a field named "${o3.fieldName}".`);
+ break;
+ case "RelationInOmit":
+ r5.arguments.getDeepField([o3.modelKey, o3.fieldName])?.markAsError(), r5.addErrorMessage(() => 'Relations are already excluded by default and can not be specified in "omit".');
+ break;
+ case "InvalidFieldValue":
+ r5.arguments.getDeepFieldValue([o3.modelKey, o3.fieldName])?.markAsError(), r5.addErrorMessage(() => "Omit field option value must be a boolean.");
+ break;
+ }
+ let { message: n3, args: i5 } = Mr(r5, "colorless");
+ return `Error validating "omit" option:
+
+${i5}
+
+${n3}`;
+ }
+ __name(Nm, "Nm");
+ var Yl = require_dist();
+ function eu(e5) {
+ return e5.length === 0 ? Promise.resolve([]) : new Promise((t, r5) => {
+ let n3 = new Array(e5.length), i5 = null, o3 = false, s2 = 0, a5 = /* @__PURE__ */ __name(() => {
+ o3 || (s2++, s2 === e5.length && (o3 = true, i5 ? r5(i5) : t(n3)));
+ }, "a"), u = /* @__PURE__ */ __name((m3) => {
+ o3 || (o3 = true, r5(m3));
+ }, "u");
+ for (let m3 = 0; m3 < e5.length; m3++) e5[m3].then((P) => {
+ n3[m3] = P, a5();
+ }, (P) => {
+ if (!(0, Yl.hasBatchIndex)(P)) {
+ u(P);
+ return;
+ }
+ P.batchRequestIdx === m3 ? u(P) : (i5 || (i5 = P), a5());
+ });
+ });
+ }
+ __name(eu, "eu");
+ var kt = K2("prisma:client");
+ typeof globalThis == "object" && (globalThis.NODE_CLIENT = true);
+ var Dm = { requestArgsToMiddlewareArgs: /* @__PURE__ */ __name((e5) => e5, "requestArgsToMiddlewareArgs"), middlewareArgsToRequestArgs: /* @__PURE__ */ __name((e5) => e5, "middlewareArgsToRequestArgs") };
+ var su = /* @__PURE__ */ Symbol.for("prisma.client.transaction.scope_context");
+ function tu(e5) {
+ let r5 = e5[su];
+ if (r5 === void 0) return { kind: "top-level" };
+ if (Mm(r5)) return r5;
+ throw new Error("Internal error: inconsistent transaction scope context.");
+ }
+ __name(tu, "tu");
+ function Mm(e5) {
+ if (typeof e5 != "object" || e5 === null) return false;
+ let t = e5;
+ return t.kind === "nested" && typeof t.txId == "string" && typeof t.scopeId == "string" && Fm(t.scopeState);
+ }
+ __name(Mm, "Mm");
+ function Fm(e5) {
+ return typeof e5 != "object" || e5 === null ? false : Array.isArray(e5.stack);
+ }
+ __name(Fm, "Fm");
+ function _m4() {
+ return typeof globalThis.crypto?.randomUUID == "function" ? globalThis.crypto.randomUUID() : `${Date.now()}-${Math.random().toString(16).slice(2)}`;
+ }
+ __name(_m4, "_m");
+ var $m = { id: 0, nextId() {
+ return ++this.id;
+ } };
+ function au(e5) {
+ class t {
+ static {
+ __name(this, "t");
+ }
+ _originalClient = this;
+ _runtimeDataModel;
+ _requestHandler;
+ _connectionPromise;
+ _disconnectionPromise;
+ _engineConfig;
+ _accelerateEngineConfig;
+ _clientVersion;
+ _errorFormat;
+ _tracingHelper;
+ _previewFeatures;
+ _activeProvider;
+ _globalOmit;
+ _extensions;
+ _engine;
+ _appliedParent;
+ _createPrismaPromise = Hi();
+ constructor(n3) {
+ if (!n3) throw new _.PrismaClientInitializationError(`PrismaClient was instantiated without any options. A driver adapter is required to connect to your database.
+
+Pass a driver adapter to the PrismaClient constructor, for example:
+
+ import { PrismaPg } from '@prisma/adapter-pg'
+ import { PrismaClient } from './generated/prisma/client'
+
+ const adapter = new PrismaPg({ connectionString: process.env.DATABASE_URL })
+ const prisma = new PrismaClient({ adapter })
+
+Learn more about driver adapters: https://pris.ly/d/driver-adapters
+
+If you use Prisma Accelerate instead of connecting to your database directly, pass \`accelerateUrl\` to the PrismaClient constructor instead of \`adapter\`.`, Yi);
+ e5 = n3.__internal?.configOverride?.(e5) ?? e5, Xl(n3, e5);
+ let i5 = new ou.EventEmitter().on("error", () => {
+ });
+ this._extensions = Pt.empty(), this._previewFeatures = e5.previewFeatures, this._clientVersion = e5.clientVersion ?? Yi, this._activeProvider = e5.activeProvider, this._globalOmit = n3?.omit, this._tracingHelper = Vl();
+ let o3;
+ if (n3.adapter) {
+ o3 = n3.adapter;
+ let s2 = e5.activeProvider === "postgresql" || e5.activeProvider === "cockroachdb" ? "postgres" : e5.activeProvider;
+ if (o3.provider !== s2) throw new _.PrismaClientInitializationError(`The Driver Adapter \`${o3.adapterName}\`, based on \`${o3.provider}\`, is not compatible with the provider \`${s2}\` specified in the Prisma schema.`, this._clientVersion);
+ }
+ try {
+ let s2 = n3 ?? {}, u = (s2.__internal ?? {}).debug === true;
+ if (u && K2.enable("prisma:client"), s2.errorFormat ? this._errorFormat = s2.errorFormat : process.env.NODE_ENV === "production" ? this._errorFormat = "minimal" : process.env.NO_COLOR ? this._errorFormat = "colorless" : this._errorFormat = "colorless", this._runtimeDataModel = e5.runtimeDataModel, this._engineConfig = { enableDebugLogs: u, logLevel: s2.log && Ul(s2.log), logQueries: s2.log && !!(typeof s2.log == "string" ? s2.log === "query" : s2.log.find((m3) => typeof m3 == "string" ? m3 === "query" : m3.level === "query")), compilerWasm: e5.compilerWasm, clientVersion: e5.clientVersion, previewFeatures: this._previewFeatures, activeProvider: e5.activeProvider, inlineSchema: e5.inlineSchema, tracingHelper: this._tracingHelper, transactionOptions: { maxWait: s2.transactionOptions?.maxWait ?? 2e3, timeout: s2.transactionOptions?.timeout ?? 5e3, isolationLevel: s2.transactionOptions?.isolationLevel }, logEmitter: i5, adapter: o3, accelerateUrl: s2.accelerateUrl, sqlCommenters: s2.comments, parameterizationSchema: e5.parameterizationSchema, runtimeDataModel: e5.runtimeDataModel, queryPlanCacheMaxSize: n3.queryPlanCacheMaxSize }, this._accelerateEngineConfig = Object.create(this._engineConfig), this._accelerateEngineConfig.accelerateUtils = { resolveDatasourceUrl: /* @__PURE__ */ __name(() => {
+ if (s2.accelerateUrl) return s2.accelerateUrl;
+ throw new _.PrismaClientInitializationError(`\`accelerateUrl\` is required when using \`@prisma/extension-accelerate\`:
+
+new PrismaClient({
+ accelerateUrl: "prisma://...",
+}).$extends(withAccelerate())
+`, e5.clientVersion);
+ }, "resolveDatasourceUrl") }, kt("clientVersion", e5.clientVersion), this._engine = vl(this._engineConfig), this._requestHandler = new vn(this, i5), s2.log) for (let m3 of s2.log) {
+ let P = typeof m3 == "string" ? m3 : m3.emit === "stdout" ? m3.level : null;
+ P && this.$on(P, (T2) => {
+ Ut.log(`${Ut.tags[P] ?? ""}`, T2.message || T2.query);
+ });
+ }
+ } catch (s2) {
+ throw s2.clientVersion = this._clientVersion, s2;
+ }
+ return this._appliedParent = Yt(this);
+ }
+ get [Symbol.toStringTag]() {
+ return "PrismaClient";
+ }
+ $on(n3, i5) {
+ return n3 === "beforeExit" ? this._engine.onBeforeExit(i5) : n3 && this._engineConfig.logEmitter.on(n3, i5), this;
+ }
+ $connect() {
+ try {
+ return this._engine.start();
+ } catch (n3) {
+ throw n3.clientVersion = this._clientVersion, n3;
+ }
+ }
+ async $disconnect() {
+ try {
+ await this._engine.stop();
+ } catch (n3) {
+ throw n3.clientVersion = this._clientVersion, n3;
+ } finally {
+ yo();
+ }
+ }
+ $executeRawInternal(n3, i5, o3, s2) {
+ let a5 = this._activeProvider;
+ return this._request({ action: "executeRaw", args: o3, transaction: n3, clientMethod: i5, argsMapper: zi({ clientMethod: i5, activeProvider: a5, clientVersion: this._clientVersion }), callsite: je(this._errorFormat), dataPath: [], middlewareArgsMapper: s2 });
+ }
+ $executeRaw(n3, ...i5) {
+ return this._createPrismaPromise((o3) => {
+ if (n3.raw !== void 0 || n3.sql !== void 0) {
+ let [s2, a5] = ru(n3, i5);
+ return Gi(this._activeProvider, s2.text, s2.values, Array.isArray(n3) ? "prisma.$executeRaw``" : "prisma.$executeRaw(sql``)"), this.$executeRawInternal(o3, "$executeRaw", s2, a5);
+ }
+ throw new _.PrismaClientValidationError("`$executeRaw` is a tag function, please use it like the following:\n```\nconst result = await prisma.$executeRaw`UPDATE User SET cool = ${true} WHERE email = ${'user@email.com'};`\n```\n\nOr read our docs at https://www.prisma.io/docs/concepts/components/prisma-client/raw-database-access#executeraw\n", { clientVersion: this._clientVersion });
+ });
+ }
+ $executeRawUnsafe(n3, ...i5) {
+ return this._createPrismaPromise((o3) => (Gi(this._activeProvider, n3, i5, "prisma.$executeRawUnsafe(, [...values])"), this.$executeRawInternal(o3, "$executeRawUnsafe", [n3, ...i5])));
+ }
+ $runCommandRaw(n3) {
+ if (e5.activeProvider !== "mongodb") throw new _.PrismaClientValidationError(`The ${e5.activeProvider} provider does not support $runCommandRaw. Use the mongodb provider.`, { clientVersion: this._clientVersion });
+ return this._createPrismaPromise((i5) => this._request({ args: n3, clientMethod: "$runCommandRaw", dataPath: [], action: "runCommandRaw", argsMapper: Sl, callsite: je(this._errorFormat), transaction: i5 }));
+ }
+ async $queryRawInternal(n3, i5, o3, s2) {
+ let a5 = this._activeProvider;
+ return this._request({ action: "queryRaw", args: o3, transaction: n3, clientMethod: i5, argsMapper: zi({ clientMethod: i5, activeProvider: a5, clientVersion: this._clientVersion }), callsite: je(this._errorFormat), dataPath: [], middlewareArgsMapper: s2 });
+ }
+ $queryRaw(n3, ...i5) {
+ return this._createPrismaPromise((o3) => {
+ if (n3.raw !== void 0 || n3.sql !== void 0) return this.$queryRawInternal(o3, "$queryRaw", ...ru(n3, i5));
+ throw new _.PrismaClientValidationError("`$queryRaw` is a tag function, please use it like the following:\n```\nconst result = await prisma.$queryRaw`SELECT * FROM User WHERE id = ${1} OR email = ${'user@email.com'};`\n```\n\nOr read our docs at https://www.prisma.io/docs/concepts/components/prisma-client/raw-database-access#queryraw\n", { clientVersion: this._clientVersion });
+ });
+ }
+ $queryRawTyped(n3) {
+ return this._createPrismaPromise((i5) => {
+ if (!this._hasPreviewFlag("typedSql")) throw new _.PrismaClientValidationError("`typedSql` preview feature must be enabled in order to access $queryRawTyped API", { clientVersion: this._clientVersion });
+ return this.$queryRawInternal(i5, "$queryRawTyped", n3);
+ });
+ }
+ $queryRawUnsafe(n3, ...i5) {
+ return this._createPrismaPromise((o3) => this.$queryRawInternal(o3, "$queryRawUnsafe", [n3, ...i5]));
+ }
+ _transactionWithArray({ promises: n3, options: i5 }) {
+ let o3 = $m.nextId(), s2 = ql(n3.length), a5 = n3.map((u, m3) => {
+ if (u?.[Symbol.toStringTag] !== "PrismaPromise") throw new Error("All elements of the array need to be Prisma Client promises. Hint: Please make sure you are not awaiting the Prisma client calls you intended to pass in the $transaction function.");
+ let P = i5?.isolationLevel ?? this._engineConfig.transactionOptions.isolationLevel, T2 = { kind: "batch", id: o3, index: m3, isolationLevel: P, maxWait: i5?.maxWait ?? this._engineConfig.transactionOptions.maxWait, timeout: i5?.timeout ?? this._engineConfig.transactionOptions.timeout, lock: s2 };
+ return u.requestTransaction?.(T2) ?? u;
+ });
+ return eu(a5);
+ }
+ async _transactionWithCallback({ callback: n3, options: i5 = {} }) {
+ let o3 = tu(this), s2 = o3.kind === "nested", a5 = s2 ? o3.scopeState : { stack: [] }, u = a5.stack, m3 = _m4();
+ if (s2 && u.at(-1) !== o3.scopeId) throw new Error("Concurrent nested transactions are not supported");
+ u.push(m3);
+ let P = { traceparent: this._tracingHelper.getTraceParent() }, T2 = { maxWait: i5?.maxWait ?? this._engineConfig.transactionOptions.maxWait, timeout: i5?.timeout ?? this._engineConfig.transactionOptions.timeout, isolationLevel: i5?.isolationLevel ?? this._engineConfig.transactionOptions.isolationLevel, newTxId: s2 ? o3.txId : void 0 }, S;
+ try {
+ S = await this._engine.transaction("start", P, T2);
+ } catch (A) {
+ throw u.at(-1) === m3 && u.pop(), A;
+ }
+ let I;
+ try {
+ let A = { kind: "itx", ...S };
+ if (I = await n3(this._createItxClient(A, m3, a5)), s2) {
+ if (u.at(-1) !== m3) throw new Error("Nested transactions must be closed in reverse order of creation.");
+ } else if (u.length !== 1) throw new Error("Cannot close transaction while a nested transaction is still active.");
+ await this._engine.transaction("commit", P, S);
+ } catch (A) {
+ let L = u.at(-1) !== m3 ? Math.max(1, u.length) : 1;
+ for (let q3 = 0; q3 < L; q3++) await this._engine.transaction("rollback", P, S).catch((E) => {
+ kt("rollback attempt %d/%d failed: %O", q3 + 1, L, E);
+ });
+ throw A;
+ } finally {
+ u.at(-1) === m3 ? u.pop() : u.length = 0;
+ }
+ return I;
+ }
+ _createItxClient(n3, i5, o3) {
+ let s2 = { kind: "nested", txId: n3.id, scopeId: i5, scopeState: o3 };
+ return ve(Yt(ve(As(this), [ae("_appliedParent", () => this._appliedParent._createItxClient(n3, i5, o3)), ae("_createPrismaPromise", () => Hi(n3)), ae(su, () => s2)])), [Et(Os)]);
+ }
+ $transaction(n3, i5) {
+ let o3;
+ typeof n3 == "function" ? this._engineConfig.adapter?.adapterName === "@prisma/adapter-d1" ? o3 = /* @__PURE__ */ __name(() => {
+ throw new Error("Cloudflare D1 does not support interactive transactions. We recommend you to refactor your queries with that limitation in mind, and use batch transactions with `prisma.$transactions([])` where applicable.");
+ }, "o") : e5.activeProvider === "mongodb" && tu(this).kind === "nested" ? o3 = /* @__PURE__ */ __name(() => {
+ throw new _.PrismaClientValidationError(`The ${e5.activeProvider} provider does not support nested transactions`, { clientVersion: this._clientVersion });
+ }, "o") : o3 = /* @__PURE__ */ __name(() => this._transactionWithCallback({ callback: n3, options: i5 }), "o") : o3 = /* @__PURE__ */ __name(() => this._transactionWithArray({ promises: n3, options: i5 }), "o");
+ let s2 = { name: "transaction", attributes: { method: "$transaction" } };
+ return this._tracingHelper.runInChildSpan(s2, o3);
+ }
+ _request(n3) {
+ n3.otelParentCtx = this._tracingHelper.getActiveContext();
+ let i5 = n3.middlewareArgsMapper ?? Dm, o3 = { args: i5.requestArgsToMiddlewareArgs(n3.args), dataPath: n3.dataPath, runInTransaction: !!n3.transaction, action: n3.action, model: n3.model }, s2 = { operation: { name: "operation", attributes: { method: o3.action, model: o3.model, name: o3.model ? `${o3.model}.${o3.action}` : o3.action } } }, a5 = /* @__PURE__ */ __name(async (u) => {
+ let { runInTransaction: m3, args: P, ...T2 } = u, S = { ...n3, ...T2 };
+ P && (S.args = i5.middlewareArgsToRequestArgs(P)), n3.transaction !== void 0 && m3 === false && delete S.transaction;
+ let I = await Fs(this, S);
+ if (!S.model) return I;
+ let A = qs({ dataPath: S.dataPath, modelName: S.model, args: S.args, runtimeDataModel: this._runtimeDataModel });
+ return ks({ result: I, modelName: A.modelName, args: A.args, extensions: this._extensions, runtimeDataModel: this._runtimeDataModel, globalOmit: this._globalOmit });
+ }, "a");
+ return this._tracingHelper.runInChildSpan(s2.operation, () => new iu.AsyncResource("prisma-client-request").runInAsyncScope(() => a5(o3)));
+ }
+ async _executeRequest({ args: n3, clientMethod: i5, dataPath: o3, callsite: s2, action: a5, model: u, argsMapper: m3, transaction: P, unpacker: T2, otelParentCtx: S, customDataProxyFetch: I }) {
+ try {
+ n3 = m3 ? m3(n3) : n3;
+ let A = { name: "serialize" }, M = this._tracingHelper.runInChildSpan(A, () => Vr({ modelName: u, runtimeDataModel: this._runtimeDataModel, action: a5, args: n3, clientMethod: i5, callsite: s2, extensions: this._extensions, errorFormat: this._errorFormat, clientVersion: this._clientVersion, previewFeatures: this._previewFeatures, globalOmit: this._globalOmit }));
+ return K2.enabled("prisma:client") && (kt("Prisma Client call:"), kt(`prisma.${i5}(${gs(n3)})`), kt("Generated request:"), kt(JSON.stringify(M, null, 2) + `
+`)), P?.kind === "batch" && await P.lock, this._requestHandler.request({ protocolQuery: M, modelName: u, action: a5, clientMethod: i5, dataPath: o3, callsite: s2, args: n3, extensions: this._extensions, transaction: P, unpacker: T2, otelParentCtx: S, otelChildCtx: this._tracingHelper.getActiveContext(), globalOmit: this._globalOmit, customDataProxyFetch: I });
+ } catch (A) {
+ throw A.clientVersion = this._clientVersion, A;
+ }
+ }
+ _hasPreviewFlag(n3) {
+ return !!this._engineConfig.previewFeatures?.includes(n3);
+ }
+ $extends = Rs;
+ }
+ return t;
+ }
+ __name(au, "au");
+ function ru(e5, t) {
+ return Lm(e5) ? [new nu.Sql(e5, t), Dl] : [e5, Ml];
+ }
+ __name(ru, "ru");
+ function Lm(e5) {
+ return Array.isArray(e5) && Array.isArray(e5.raw);
+ }
+ __name(Lm, "Lm");
+ var Vm = /* @__PURE__ */ new Set(["toJSON", "$$typeof", "asymmetricMatch", Symbol.iterator, Symbol.toStringTag, Symbol.isConcatSpreadable, Symbol.toPrimitive]);
+ function lu(e5) {
+ return new Proxy(e5, { get(t, r5) {
+ if (r5 in t) return t[r5];
+ if (!Vm.has(r5)) throw new TypeError(`Invalid enum value: ${String(r5)}`);
+ } });
+ }
+ __name(lu, "lu");
+ var qm = /* @__PURE__ */ __name(() => globalThis.process?.release?.name === "node", "qm");
+ var Um = /* @__PURE__ */ __name(() => !!globalThis.Bun || !!globalThis.process?.versions?.bun, "Um");
+ var jm = /* @__PURE__ */ __name(() => !!globalThis.Deno, "jm");
+ var Bm = /* @__PURE__ */ __name(() => typeof globalThis.Netlify == "object", "Bm");
+ var Qm = /* @__PURE__ */ __name(() => typeof globalThis.EdgeRuntime == "object", "Qm");
+ var Jm = /* @__PURE__ */ __name(() => globalThis.navigator?.userAgent === "Cloudflare-Workers", "Jm");
+ function Gm() {
+ return [[Bm, "netlify"], [Qm, "edge-light"], [Jm, "workerd"], [jm, "deno"], [Um, "bun"], [qm, "node"]].flatMap((r5) => r5[0]() ? [r5[1]] : []).at(0) ?? "";
+ }
+ __name(Gm, "Gm");
+ var zm = { node: "Node.js", workerd: "Cloudflare Workers", deno: "Deno and Deno Deploy", netlify: "Netlify Edge Functions", "edge-light": "Edge Runtime (Vercel Edge Functions, Vercel Edge Middleware, Next.js (Pages Router) Edge API Routes, Next.js (App Router) Edge Route Handlers or Next.js Middleware)" };
+ function uu() {
+ let e5 = Gm();
+ return { id: e5, prettyName: zm[e5] || e5, isEdge: ["workerd", "deno", "netlify", "edge-light"].includes(e5) };
+ }
+ __name(uu, "uu");
+ var _ = require_dist();
+ var Fe = require_dist();
+ var ee = require_dist();
+ var cu = require_dist();
+ }
+});
+
+// ../../node_modules/.pnpm/safe-buffer@5.2.1/node_modules/safe-buffer/index.js
+var require_safe_buffer = __commonJS({
+ "../../node_modules/.pnpm/safe-buffer@5.2.1/node_modules/safe-buffer/index.js"(exports, module) {
+ var buffer = __require("buffer");
+ var Buffer2 = buffer.Buffer;
+ function copyProps(src, dst) {
+ for (var key in src) {
+ dst[key] = src[key];
+ }
+ }
+ __name(copyProps, "copyProps");
+ if (Buffer2.from && Buffer2.alloc && Buffer2.allocUnsafe && Buffer2.allocUnsafeSlow) {
+ module.exports = buffer;
+ } else {
+ copyProps(buffer, exports);
+ exports.Buffer = SafeBuffer;
+ }
+ function SafeBuffer(arg, encodingOrOffset, length) {
+ return Buffer2(arg, encodingOrOffset, length);
+ }
+ __name(SafeBuffer, "SafeBuffer");
+ SafeBuffer.prototype = Object.create(Buffer2.prototype);
+ copyProps(Buffer2, SafeBuffer);
+ SafeBuffer.from = function(arg, encodingOrOffset, length) {
+ if (typeof arg === "number") {
+ throw new TypeError("Argument must not be a number");
+ }
+ return Buffer2(arg, encodingOrOffset, length);
+ };
+ SafeBuffer.alloc = function(size, fill, encoding) {
+ if (typeof size !== "number") {
+ throw new TypeError("Argument must be a number");
+ }
+ var buf = Buffer2(size);
+ if (fill !== void 0) {
+ if (typeof encoding === "string") {
+ buf.fill(fill, encoding);
+ } else {
+ buf.fill(fill);
+ }
+ } else {
+ buf.fill(0);
+ }
+ return buf;
+ };
+ SafeBuffer.allocUnsafe = function(size) {
+ if (typeof size !== "number") {
+ throw new TypeError("Argument must be a number");
+ }
+ return Buffer2(size);
+ };
+ SafeBuffer.allocUnsafeSlow = function(size) {
+ if (typeof size !== "number") {
+ throw new TypeError("Argument must be a number");
+ }
+ return buffer.SlowBuffer(size);
+ };
+ }
+});
+
+// ../../node_modules/.pnpm/jws@4.0.1/node_modules/jws/lib/data-stream.js
+var require_data_stream = __commonJS({
+ "../../node_modules/.pnpm/jws@4.0.1/node_modules/jws/lib/data-stream.js"(exports, module) {
+ var Buffer2 = require_safe_buffer().Buffer;
+ var Stream = __require("stream");
+ var util = __require("util");
+ function DataStream(data) {
+ this.buffer = null;
+ this.writable = true;
+ this.readable = true;
+ if (!data) {
+ this.buffer = Buffer2.alloc(0);
+ return this;
+ }
+ if (typeof data.pipe === "function") {
+ this.buffer = Buffer2.alloc(0);
+ data.pipe(this);
+ return this;
+ }
+ if (data.length || typeof data === "object") {
+ this.buffer = data;
+ this.writable = false;
+ process.nextTick(function() {
+ this.emit("end", data);
+ this.readable = false;
+ this.emit("close");
+ }.bind(this));
+ return this;
+ }
+ throw new TypeError("Unexpected data type (" + typeof data + ")");
+ }
+ __name(DataStream, "DataStream");
+ util.inherits(DataStream, Stream);
+ DataStream.prototype.write = /* @__PURE__ */ __name(function write(data) {
+ this.buffer = Buffer2.concat([this.buffer, Buffer2.from(data)]);
+ this.emit("data", data);
+ }, "write");
+ DataStream.prototype.end = /* @__PURE__ */ __name(function end(data) {
+ if (data)
+ this.write(data);
+ this.emit("end", data);
+ this.emit("close");
+ this.writable = false;
+ this.readable = false;
+ }, "end");
+ module.exports = DataStream;
+ }
+});
+
+// ../../node_modules/.pnpm/ecdsa-sig-formatter@1.0.11/node_modules/ecdsa-sig-formatter/src/param-bytes-for-alg.js
+var require_param_bytes_for_alg = __commonJS({
+ "../../node_modules/.pnpm/ecdsa-sig-formatter@1.0.11/node_modules/ecdsa-sig-formatter/src/param-bytes-for-alg.js"(exports, module) {
+ "use strict";
+ function getParamSize(keySize) {
+ var result = (keySize / 8 | 0) + (keySize % 8 === 0 ? 0 : 1);
+ return result;
+ }
+ __name(getParamSize, "getParamSize");
+ var paramBytesForAlg = {
+ ES256: getParamSize(256),
+ ES384: getParamSize(384),
+ ES512: getParamSize(521)
+ };
+ function getParamBytesForAlg(alg) {
+ var paramBytes = paramBytesForAlg[alg];
+ if (paramBytes) {
+ return paramBytes;
+ }
+ throw new Error('Unknown algorithm "' + alg + '"');
+ }
+ __name(getParamBytesForAlg, "getParamBytesForAlg");
+ module.exports = getParamBytesForAlg;
+ }
+});
+
+// ../../node_modules/.pnpm/ecdsa-sig-formatter@1.0.11/node_modules/ecdsa-sig-formatter/src/ecdsa-sig-formatter.js
+var require_ecdsa_sig_formatter = __commonJS({
+ "../../node_modules/.pnpm/ecdsa-sig-formatter@1.0.11/node_modules/ecdsa-sig-formatter/src/ecdsa-sig-formatter.js"(exports, module) {
+ "use strict";
+ var Buffer2 = require_safe_buffer().Buffer;
+ var getParamBytesForAlg = require_param_bytes_for_alg();
+ var MAX_OCTET = 128;
+ var CLASS_UNIVERSAL = 0;
+ var PRIMITIVE_BIT = 32;
+ var TAG_SEQ = 16;
+ var TAG_INT = 2;
+ var ENCODED_TAG_SEQ = TAG_SEQ | PRIMITIVE_BIT | CLASS_UNIVERSAL << 6;
+ var ENCODED_TAG_INT = TAG_INT | CLASS_UNIVERSAL << 6;
+ function base64Url(base643) {
+ return base643.replace(/=/g, "").replace(/\+/g, "-").replace(/\//g, "_");
+ }
+ __name(base64Url, "base64Url");
+ function signatureAsBuffer(signature) {
+ if (Buffer2.isBuffer(signature)) {
+ return signature;
+ } else if ("string" === typeof signature) {
+ return Buffer2.from(signature, "base64");
+ }
+ throw new TypeError("ECDSA signature must be a Base64 string or a Buffer");
+ }
+ __name(signatureAsBuffer, "signatureAsBuffer");
+ function derToJose(signature, alg) {
+ signature = signatureAsBuffer(signature);
+ var paramBytes = getParamBytesForAlg(alg);
+ var maxEncodedParamLength = paramBytes + 1;
+ var inputLength = signature.length;
+ var offset = 0;
+ if (signature[offset++] !== ENCODED_TAG_SEQ) {
+ throw new Error('Could not find expected "seq"');
+ }
+ var seqLength = signature[offset++];
+ if (seqLength === (MAX_OCTET | 1)) {
+ seqLength = signature[offset++];
+ }
+ if (inputLength - offset < seqLength) {
+ throw new Error('"seq" specified length of "' + seqLength + '", only "' + (inputLength - offset) + '" remaining');
+ }
+ if (signature[offset++] !== ENCODED_TAG_INT) {
+ throw new Error('Could not find expected "int" for "r"');
+ }
+ var rLength = signature[offset++];
+ if (inputLength - offset - 2 < rLength) {
+ throw new Error('"r" specified length of "' + rLength + '", only "' + (inputLength - offset - 2) + '" available');
+ }
+ if (maxEncodedParamLength < rLength) {
+ throw new Error('"r" specified length of "' + rLength + '", max of "' + maxEncodedParamLength + '" is acceptable');
+ }
+ var rOffset = offset;
+ offset += rLength;
+ if (signature[offset++] !== ENCODED_TAG_INT) {
+ throw new Error('Could not find expected "int" for "s"');
+ }
+ var sLength = signature[offset++];
+ if (inputLength - offset !== sLength) {
+ throw new Error('"s" specified length of "' + sLength + '", expected "' + (inputLength - offset) + '"');
+ }
+ if (maxEncodedParamLength < sLength) {
+ throw new Error('"s" specified length of "' + sLength + '", max of "' + maxEncodedParamLength + '" is acceptable');
+ }
+ var sOffset = offset;
+ offset += sLength;
+ if (offset !== inputLength) {
+ throw new Error('Expected to consume entire buffer, but "' + (inputLength - offset) + '" bytes remain');
+ }
+ var rPadding = paramBytes - rLength, sPadding = paramBytes - sLength;
+ var dst = Buffer2.allocUnsafe(rPadding + rLength + sPadding + sLength);
+ for (offset = 0; offset < rPadding; ++offset) {
+ dst[offset] = 0;
+ }
+ signature.copy(dst, offset, rOffset + Math.max(-rPadding, 0), rOffset + rLength);
+ offset = paramBytes;
+ for (var o3 = offset; offset < o3 + sPadding; ++offset) {
+ dst[offset] = 0;
+ }
+ signature.copy(dst, offset, sOffset + Math.max(-sPadding, 0), sOffset + sLength);
+ dst = dst.toString("base64");
+ dst = base64Url(dst);
+ return dst;
+ }
+ __name(derToJose, "derToJose");
+ function countPadding(buf, start, stop) {
+ var padding = 0;
+ while (start + padding < stop && buf[start + padding] === 0) {
+ ++padding;
+ }
+ var needsSign = buf[start + padding] >= MAX_OCTET;
+ if (needsSign) {
+ --padding;
+ }
+ return padding;
+ }
+ __name(countPadding, "countPadding");
+ function joseToDer(signature, alg) {
+ signature = signatureAsBuffer(signature);
+ var paramBytes = getParamBytesForAlg(alg);
+ var signatureBytes = signature.length;
+ if (signatureBytes !== paramBytes * 2) {
+ throw new TypeError('"' + alg + '" signatures must be "' + paramBytes * 2 + '" bytes, saw "' + signatureBytes + '"');
+ }
+ var rPadding = countPadding(signature, 0, paramBytes);
+ var sPadding = countPadding(signature, paramBytes, signature.length);
+ var rLength = paramBytes - rPadding;
+ var sLength = paramBytes - sPadding;
+ var rsBytes = 1 + 1 + rLength + 1 + 1 + sLength;
+ var shortLength = rsBytes < MAX_OCTET;
+ var dst = Buffer2.allocUnsafe((shortLength ? 2 : 3) + rsBytes);
+ var offset = 0;
+ dst[offset++] = ENCODED_TAG_SEQ;
+ if (shortLength) {
+ dst[offset++] = rsBytes;
+ } else {
+ dst[offset++] = MAX_OCTET | 1;
+ dst[offset++] = rsBytes & 255;
+ }
+ dst[offset++] = ENCODED_TAG_INT;
+ dst[offset++] = rLength;
+ if (rPadding < 0) {
+ dst[offset++] = 0;
+ offset += signature.copy(dst, offset, 0, paramBytes);
+ } else {
+ offset += signature.copy(dst, offset, rPadding, paramBytes);
+ }
+ dst[offset++] = ENCODED_TAG_INT;
+ dst[offset++] = sLength;
+ if (sPadding < 0) {
+ dst[offset++] = 0;
+ signature.copy(dst, offset, paramBytes);
+ } else {
+ signature.copy(dst, offset, paramBytes + sPadding);
+ }
+ return dst;
+ }
+ __name(joseToDer, "joseToDer");
+ module.exports = {
+ derToJose,
+ joseToDer
+ };
+ }
+});
+
+// ../../node_modules/.pnpm/buffer-equal-constant-time@1.0.1/node_modules/buffer-equal-constant-time/index.js
+var require_buffer_equal_constant_time = __commonJS({
+ "../../node_modules/.pnpm/buffer-equal-constant-time@1.0.1/node_modules/buffer-equal-constant-time/index.js"(exports, module) {
+ "use strict";
+ var Buffer2 = __require("buffer").Buffer;
+ var SlowBuffer = __require("buffer").SlowBuffer;
+ module.exports = bufferEq;
+ function bufferEq(a5, b5) {
+ if (!Buffer2.isBuffer(a5) || !Buffer2.isBuffer(b5)) {
+ return false;
+ }
+ if (a5.length !== b5.length) {
+ return false;
+ }
+ var c5 = 0;
+ for (var i5 = 0; i5 < a5.length; i5++) {
+ c5 |= a5[i5] ^ b5[i5];
+ }
+ return c5 === 0;
+ }
+ __name(bufferEq, "bufferEq");
+ bufferEq.install = function() {
+ Buffer2.prototype.equal = SlowBuffer.prototype.equal = /* @__PURE__ */ __name(function equal(that) {
+ return bufferEq(this, that);
+ }, "equal");
+ };
+ var origBufEqual = Buffer2.prototype.equal;
+ var origSlowBufEqual = SlowBuffer.prototype.equal;
+ bufferEq.restore = function() {
+ Buffer2.prototype.equal = origBufEqual;
+ SlowBuffer.prototype.equal = origSlowBufEqual;
+ };
+ }
+});
+
+// ../../node_modules/.pnpm/jwa@2.0.1/node_modules/jwa/index.js
+var require_jwa = __commonJS({
+ "../../node_modules/.pnpm/jwa@2.0.1/node_modules/jwa/index.js"(exports, module) {
+ var Buffer2 = require_safe_buffer().Buffer;
+ var crypto2 = __require("crypto");
+ var formatEcdsa = require_ecdsa_sig_formatter();
+ var util = __require("util");
+ var MSG_INVALID_ALGORITHM = '"%s" is not a valid algorithm.\n Supported algorithms are:\n "HS256", "HS384", "HS512", "RS256", "RS384", "RS512", "PS256", "PS384", "PS512", "ES256", "ES384", "ES512" and "none".';
+ var MSG_INVALID_SECRET = "secret must be a string or buffer";
+ var MSG_INVALID_VERIFIER_KEY = "key must be a string or a buffer";
+ var MSG_INVALID_SIGNER_KEY = "key must be a string, a buffer or an object";
+ var supportsKeyObjects = typeof crypto2.createPublicKey === "function";
+ if (supportsKeyObjects) {
+ MSG_INVALID_VERIFIER_KEY += " or a KeyObject";
+ MSG_INVALID_SECRET += "or a KeyObject";
+ }
+ function checkIsPublicKey(key) {
+ if (Buffer2.isBuffer(key)) {
+ return;
+ }
+ if (typeof key === "string") {
+ return;
+ }
+ if (!supportsKeyObjects) {
+ throw typeError(MSG_INVALID_VERIFIER_KEY);
+ }
+ if (typeof key !== "object") {
+ throw typeError(MSG_INVALID_VERIFIER_KEY);
+ }
+ if (typeof key.type !== "string") {
+ throw typeError(MSG_INVALID_VERIFIER_KEY);
+ }
+ if (typeof key.asymmetricKeyType !== "string") {
+ throw typeError(MSG_INVALID_VERIFIER_KEY);
+ }
+ if (typeof key.export !== "function") {
+ throw typeError(MSG_INVALID_VERIFIER_KEY);
+ }
+ }
+ __name(checkIsPublicKey, "checkIsPublicKey");
+ function checkIsPrivateKey(key) {
+ if (Buffer2.isBuffer(key)) {
+ return;
+ }
+ if (typeof key === "string") {
+ return;
+ }
+ if (typeof key === "object") {
+ return;
+ }
+ throw typeError(MSG_INVALID_SIGNER_KEY);
+ }
+ __name(checkIsPrivateKey, "checkIsPrivateKey");
+ function checkIsSecretKey(key) {
+ if (Buffer2.isBuffer(key)) {
+ return;
+ }
+ if (typeof key === "string") {
+ return key;
+ }
+ if (!supportsKeyObjects) {
+ throw typeError(MSG_INVALID_SECRET);
+ }
+ if (typeof key !== "object") {
+ throw typeError(MSG_INVALID_SECRET);
+ }
+ if (key.type !== "secret") {
+ throw typeError(MSG_INVALID_SECRET);
+ }
+ if (typeof key.export !== "function") {
+ throw typeError(MSG_INVALID_SECRET);
+ }
+ }
+ __name(checkIsSecretKey, "checkIsSecretKey");
+ function fromBase642(base643) {
+ return base643.replace(/=/g, "").replace(/\+/g, "-").replace(/\//g, "_");
+ }
+ __name(fromBase642, "fromBase64");
+ function toBase642(base64url3) {
+ base64url3 = base64url3.toString();
+ var padding = 4 - base64url3.length % 4;
+ if (padding !== 4) {
+ for (var i5 = 0; i5 < padding; ++i5) {
+ base64url3 += "=";
+ }
+ }
+ return base64url3.replace(/\-/g, "+").replace(/_/g, "/");
+ }
+ __name(toBase642, "toBase64");
+ function typeError(template) {
+ var args = [].slice.call(arguments, 1);
+ var errMsg = util.format.bind(util, template).apply(null, args);
+ return new TypeError(errMsg);
+ }
+ __name(typeError, "typeError");
+ function bufferOrString(obj) {
+ return Buffer2.isBuffer(obj) || typeof obj === "string";
+ }
+ __name(bufferOrString, "bufferOrString");
+ function normalizeInput(thing) {
+ if (!bufferOrString(thing))
+ thing = JSON.stringify(thing);
+ return thing;
+ }
+ __name(normalizeInput, "normalizeInput");
+ function createHmacSigner(bits) {
+ return /* @__PURE__ */ __name(function sign2(thing, secret) {
+ checkIsSecretKey(secret);
+ thing = normalizeInput(thing);
+ var hmac = crypto2.createHmac("sha" + bits, secret);
+ var sig = (hmac.update(thing), hmac.digest("base64"));
+ return fromBase642(sig);
+ }, "sign");
+ }
+ __name(createHmacSigner, "createHmacSigner");
+ var bufferEqual;
+ var timingSafeEqual = "timingSafeEqual" in crypto2 ? /* @__PURE__ */ __name(function timingSafeEqual2(a5, b5) {
+ if (a5.byteLength !== b5.byteLength) {
+ return false;
+ }
+ return crypto2.timingSafeEqual(a5, b5);
+ }, "timingSafeEqual") : /* @__PURE__ */ __name(function timingSafeEqual2(a5, b5) {
+ if (!bufferEqual) {
+ bufferEqual = require_buffer_equal_constant_time();
+ }
+ return bufferEqual(a5, b5);
+ }, "timingSafeEqual");
+ function createHmacVerifier(bits) {
+ return /* @__PURE__ */ __name(function verify2(thing, signature, secret) {
+ var computedSig = createHmacSigner(bits)(thing, secret);
+ return timingSafeEqual(Buffer2.from(signature), Buffer2.from(computedSig));
+ }, "verify");
+ }
+ __name(createHmacVerifier, "createHmacVerifier");
+ function createKeySigner(bits) {
+ return /* @__PURE__ */ __name(function sign2(thing, privateKey) {
+ checkIsPrivateKey(privateKey);
+ thing = normalizeInput(thing);
+ var signer = crypto2.createSign("RSA-SHA" + bits);
+ var sig = (signer.update(thing), signer.sign(privateKey, "base64"));
+ return fromBase642(sig);
+ }, "sign");
+ }
+ __name(createKeySigner, "createKeySigner");
+ function createKeyVerifier(bits) {
+ return /* @__PURE__ */ __name(function verify2(thing, signature, publicKey) {
+ checkIsPublicKey(publicKey);
+ thing = normalizeInput(thing);
+ signature = toBase642(signature);
+ var verifier = crypto2.createVerify("RSA-SHA" + bits);
+ verifier.update(thing);
+ return verifier.verify(publicKey, signature, "base64");
+ }, "verify");
+ }
+ __name(createKeyVerifier, "createKeyVerifier");
+ function createPSSKeySigner(bits) {
+ return /* @__PURE__ */ __name(function sign2(thing, privateKey) {
+ checkIsPrivateKey(privateKey);
+ thing = normalizeInput(thing);
+ var signer = crypto2.createSign("RSA-SHA" + bits);
+ var sig = (signer.update(thing), signer.sign({
+ key: privateKey,
+ padding: crypto2.constants.RSA_PKCS1_PSS_PADDING,
+ saltLength: crypto2.constants.RSA_PSS_SALTLEN_DIGEST
+ }, "base64"));
+ return fromBase642(sig);
+ }, "sign");
+ }
+ __name(createPSSKeySigner, "createPSSKeySigner");
+ function createPSSKeyVerifier(bits) {
+ return /* @__PURE__ */ __name(function verify2(thing, signature, publicKey) {
+ checkIsPublicKey(publicKey);
+ thing = normalizeInput(thing);
+ signature = toBase642(signature);
+ var verifier = crypto2.createVerify("RSA-SHA" + bits);
+ verifier.update(thing);
+ return verifier.verify({
+ key: publicKey,
+ padding: crypto2.constants.RSA_PKCS1_PSS_PADDING,
+ saltLength: crypto2.constants.RSA_PSS_SALTLEN_DIGEST
+ }, signature, "base64");
+ }, "verify");
+ }
+ __name(createPSSKeyVerifier, "createPSSKeyVerifier");
+ function createECDSASigner(bits) {
+ var inner = createKeySigner(bits);
+ return /* @__PURE__ */ __name(function sign2() {
+ var signature = inner.apply(null, arguments);
+ signature = formatEcdsa.derToJose(signature, "ES" + bits);
+ return signature;
+ }, "sign");
+ }
+ __name(createECDSASigner, "createECDSASigner");
+ function createECDSAVerifer(bits) {
+ var inner = createKeyVerifier(bits);
+ return /* @__PURE__ */ __name(function verify2(thing, signature, publicKey) {
+ signature = formatEcdsa.joseToDer(signature, "ES" + bits).toString("base64");
+ var result = inner(thing, signature, publicKey);
+ return result;
+ }, "verify");
+ }
+ __name(createECDSAVerifer, "createECDSAVerifer");
+ function createNoneSigner() {
+ return /* @__PURE__ */ __name(function sign2() {
+ return "";
+ }, "sign");
+ }
+ __name(createNoneSigner, "createNoneSigner");
+ function createNoneVerifier() {
+ return /* @__PURE__ */ __name(function verify2(thing, signature) {
+ return signature === "";
+ }, "verify");
+ }
+ __name(createNoneVerifier, "createNoneVerifier");
+ module.exports = /* @__PURE__ */ __name(function jwa(algorithm) {
+ var signerFactories = {
+ hs: createHmacSigner,
+ rs: createKeySigner,
+ ps: createPSSKeySigner,
+ es: createECDSASigner,
+ none: createNoneSigner
+ };
+ var verifierFactories = {
+ hs: createHmacVerifier,
+ rs: createKeyVerifier,
+ ps: createPSSKeyVerifier,
+ es: createECDSAVerifer,
+ none: createNoneVerifier
+ };
+ var match = algorithm.match(/^(RS|PS|ES|HS)(256|384|512)$|^(none)$/);
+ if (!match)
+ throw typeError(MSG_INVALID_ALGORITHM, algorithm);
+ var algo = (match[1] || match[3]).toLowerCase();
+ var bits = match[2];
+ return {
+ sign: signerFactories[algo](bits),
+ verify: verifierFactories[algo](bits)
+ };
+ }, "jwa");
+ }
+});
+
+// ../../node_modules/.pnpm/jws@4.0.1/node_modules/jws/lib/tostring.js
+var require_tostring = __commonJS({
+ "../../node_modules/.pnpm/jws@4.0.1/node_modules/jws/lib/tostring.js"(exports, module) {
+ var Buffer2 = __require("buffer").Buffer;
+ module.exports = /* @__PURE__ */ __name(function toString(obj) {
+ if (typeof obj === "string")
+ return obj;
+ if (typeof obj === "number" || Buffer2.isBuffer(obj))
+ return obj.toString();
+ return JSON.stringify(obj);
+ }, "toString");
+ }
+});
+
+// ../../node_modules/.pnpm/jws@4.0.1/node_modules/jws/lib/sign-stream.js
+var require_sign_stream = __commonJS({
+ "../../node_modules/.pnpm/jws@4.0.1/node_modules/jws/lib/sign-stream.js"(exports, module) {
+ var Buffer2 = require_safe_buffer().Buffer;
+ var DataStream = require_data_stream();
+ var jwa = require_jwa();
+ var Stream = __require("stream");
+ var toString = require_tostring();
+ var util = __require("util");
+ function base64url3(string4, encoding) {
+ return Buffer2.from(string4, encoding).toString("base64").replace(/=/g, "").replace(/\+/g, "-").replace(/\//g, "_");
+ }
+ __name(base64url3, "base64url");
+ function jwsSecuredInput(header, payload, encoding) {
+ encoding = encoding || "utf8";
+ var encodedHeader = base64url3(toString(header), "binary");
+ var encodedPayload = base64url3(toString(payload), encoding);
+ return util.format("%s.%s", encodedHeader, encodedPayload);
+ }
+ __name(jwsSecuredInput, "jwsSecuredInput");
+ function jwsSign(opts) {
+ var header = opts.header;
+ var payload = opts.payload;
+ var secretOrKey = opts.secret || opts.privateKey;
+ var encoding = opts.encoding;
+ var algo = jwa(header.alg);
+ var securedInput = jwsSecuredInput(header, payload, encoding);
+ var signature = algo.sign(securedInput, secretOrKey);
+ return util.format("%s.%s", securedInput, signature);
+ }
+ __name(jwsSign, "jwsSign");
+ function SignStream(opts) {
+ var secret = opts.secret;
+ secret = secret == null ? opts.privateKey : secret;
+ secret = secret == null ? opts.key : secret;
+ if (/^hs/i.test(opts.header.alg) === true && secret == null) {
+ throw new TypeError("secret must be a string or buffer or a KeyObject");
+ }
+ var secretStream = new DataStream(secret);
+ this.readable = true;
+ this.header = opts.header;
+ this.encoding = opts.encoding;
+ this.secret = this.privateKey = this.key = secretStream;
+ this.payload = new DataStream(opts.payload);
+ this.secret.once("close", function() {
+ if (!this.payload.writable && this.readable)
+ this.sign();
+ }.bind(this));
+ this.payload.once("close", function() {
+ if (!this.secret.writable && this.readable)
+ this.sign();
+ }.bind(this));
+ }
+ __name(SignStream, "SignStream");
+ util.inherits(SignStream, Stream);
+ SignStream.prototype.sign = /* @__PURE__ */ __name(function sign2() {
+ try {
+ var signature = jwsSign({
+ header: this.header,
+ payload: this.payload.buffer,
+ secret: this.secret.buffer,
+ encoding: this.encoding
+ });
+ this.emit("done", signature);
+ this.emit("data", signature);
+ this.emit("end");
+ this.readable = false;
+ return signature;
+ } catch (e5) {
+ this.readable = false;
+ this.emit("error", e5);
+ this.emit("close");
+ }
+ }, "sign");
+ SignStream.sign = jwsSign;
+ module.exports = SignStream;
+ }
+});
+
+// ../../node_modules/.pnpm/jws@4.0.1/node_modules/jws/lib/verify-stream.js
+var require_verify_stream = __commonJS({
+ "../../node_modules/.pnpm/jws@4.0.1/node_modules/jws/lib/verify-stream.js"(exports, module) {
+ var Buffer2 = require_safe_buffer().Buffer;
+ var DataStream = require_data_stream();
+ var jwa = require_jwa();
+ var Stream = __require("stream");
+ var toString = require_tostring();
+ var util = __require("util");
+ var JWS_REGEX = /^[a-zA-Z0-9\-_]+?\.[a-zA-Z0-9\-_]+?\.([a-zA-Z0-9\-_]+)?$/;
+ function isObject2(thing) {
+ return Object.prototype.toString.call(thing) === "[object Object]";
+ }
+ __name(isObject2, "isObject");
+ function safeJsonParse(thing) {
+ if (isObject2(thing))
+ return thing;
+ try {
+ return JSON.parse(thing);
+ } catch (e5) {
+ return void 0;
+ }
+ }
+ __name(safeJsonParse, "safeJsonParse");
+ function headerFromJWS(jwsSig) {
+ var encodedHeader = jwsSig.split(".", 1)[0];
+ return safeJsonParse(Buffer2.from(encodedHeader, "base64").toString("binary"));
+ }
+ __name(headerFromJWS, "headerFromJWS");
+ function securedInputFromJWS(jwsSig) {
+ return jwsSig.split(".", 2).join(".");
+ }
+ __name(securedInputFromJWS, "securedInputFromJWS");
+ function signatureFromJWS(jwsSig) {
+ return jwsSig.split(".")[2];
+ }
+ __name(signatureFromJWS, "signatureFromJWS");
+ function payloadFromJWS(jwsSig, encoding) {
+ encoding = encoding || "utf8";
+ var payload = jwsSig.split(".")[1];
+ return Buffer2.from(payload, "base64").toString(encoding);
+ }
+ __name(payloadFromJWS, "payloadFromJWS");
+ function isValidJws(string4) {
+ return JWS_REGEX.test(string4) && !!headerFromJWS(string4);
+ }
+ __name(isValidJws, "isValidJws");
+ function jwsVerify(jwsSig, algorithm, secretOrKey) {
+ if (!algorithm) {
+ var err = new Error("Missing algorithm parameter for jws.verify");
+ err.code = "MISSING_ALGORITHM";
+ throw err;
+ }
+ jwsSig = toString(jwsSig);
+ var signature = signatureFromJWS(jwsSig);
+ var securedInput = securedInputFromJWS(jwsSig);
+ var algo = jwa(algorithm);
+ return algo.verify(securedInput, signature, secretOrKey);
+ }
+ __name(jwsVerify, "jwsVerify");
+ function jwsDecode(jwsSig, opts) {
+ opts = opts || {};
+ jwsSig = toString(jwsSig);
+ if (!isValidJws(jwsSig))
+ return null;
+ var header = headerFromJWS(jwsSig);
+ if (!header)
+ return null;
+ var payload = payloadFromJWS(jwsSig);
+ if (header.typ === "JWT" || opts.json)
+ payload = JSON.parse(payload, opts.encoding);
+ return {
+ header,
+ payload,
+ signature: signatureFromJWS(jwsSig)
+ };
+ }
+ __name(jwsDecode, "jwsDecode");
+ function VerifyStream(opts) {
+ opts = opts || {};
+ var secretOrKey = opts.secret;
+ secretOrKey = secretOrKey == null ? opts.publicKey : secretOrKey;
+ secretOrKey = secretOrKey == null ? opts.key : secretOrKey;
+ if (/^hs/i.test(opts.algorithm) === true && secretOrKey == null) {
+ throw new TypeError("secret must be a string or buffer or a KeyObject");
+ }
+ var secretStream = new DataStream(secretOrKey);
+ this.readable = true;
+ this.algorithm = opts.algorithm;
+ this.encoding = opts.encoding;
+ this.secret = this.publicKey = this.key = secretStream;
+ this.signature = new DataStream(opts.signature);
+ this.secret.once("close", function() {
+ if (!this.signature.writable && this.readable)
+ this.verify();
+ }.bind(this));
+ this.signature.once("close", function() {
+ if (!this.secret.writable && this.readable)
+ this.verify();
+ }.bind(this));
+ }
+ __name(VerifyStream, "VerifyStream");
+ util.inherits(VerifyStream, Stream);
+ VerifyStream.prototype.verify = /* @__PURE__ */ __name(function verify2() {
+ try {
+ var valid = jwsVerify(this.signature.buffer, this.algorithm, this.key.buffer);
+ var obj = jwsDecode(this.signature.buffer, this.encoding);
+ this.emit("done", valid, obj);
+ this.emit("data", valid);
+ this.emit("end");
+ this.readable = false;
+ return valid;
+ } catch (e5) {
+ this.readable = false;
+ this.emit("error", e5);
+ this.emit("close");
+ }
+ }, "verify");
+ VerifyStream.decode = jwsDecode;
+ VerifyStream.isValid = isValidJws;
+ VerifyStream.verify = jwsVerify;
+ module.exports = VerifyStream;
+ }
+});
+
+// ../../node_modules/.pnpm/jws@4.0.1/node_modules/jws/index.js
+var require_jws = __commonJS({
+ "../../node_modules/.pnpm/jws@4.0.1/node_modules/jws/index.js"(exports) {
+ var SignStream = require_sign_stream();
+ var VerifyStream = require_verify_stream();
+ var ALGORITHMS = [
+ "HS256",
+ "HS384",
+ "HS512",
+ "RS256",
+ "RS384",
+ "RS512",
+ "PS256",
+ "PS384",
+ "PS512",
+ "ES256",
+ "ES384",
+ "ES512"
+ ];
+ exports.ALGORITHMS = ALGORITHMS;
+ exports.sign = SignStream.sign;
+ exports.verify = VerifyStream.verify;
+ exports.decode = VerifyStream.decode;
+ exports.isValid = VerifyStream.isValid;
+ exports.createSign = /* @__PURE__ */ __name(function createSign(opts) {
+ return new SignStream(opts);
+ }, "createSign");
+ exports.createVerify = /* @__PURE__ */ __name(function createVerify(opts) {
+ return new VerifyStream(opts);
+ }, "createVerify");
+ }
+});
+
+// ../../node_modules/.pnpm/jsonwebtoken@9.0.3/node_modules/jsonwebtoken/decode.js
+var require_decode = __commonJS({
+ "../../node_modules/.pnpm/jsonwebtoken@9.0.3/node_modules/jsonwebtoken/decode.js"(exports, module) {
+ var jws = require_jws();
+ module.exports = function(jwt2, options) {
+ options = options || {};
+ var decoded = jws.decode(jwt2, options);
+ if (!decoded) {
+ return null;
+ }
+ var payload = decoded.payload;
+ if (typeof payload === "string") {
+ try {
+ var obj = JSON.parse(payload);
+ if (obj !== null && typeof obj === "object") {
+ payload = obj;
+ }
+ } catch (e5) {
+ }
+ }
+ if (options.complete === true) {
+ return {
+ header: decoded.header,
+ payload,
+ signature: decoded.signature
+ };
+ }
+ return payload;
+ };
+ }
+});
+
+// ../../node_modules/.pnpm/jsonwebtoken@9.0.3/node_modules/jsonwebtoken/lib/JsonWebTokenError.js
+var require_JsonWebTokenError = __commonJS({
+ "../../node_modules/.pnpm/jsonwebtoken@9.0.3/node_modules/jsonwebtoken/lib/JsonWebTokenError.js"(exports, module) {
+ var JsonWebTokenError2 = /* @__PURE__ */ __name(function(message, error62) {
+ Error.call(this, message);
+ if (Error.captureStackTrace) {
+ Error.captureStackTrace(this, this.constructor);
+ }
+ this.name = "JsonWebTokenError";
+ this.message = message;
+ if (error62) this.inner = error62;
+ }, "JsonWebTokenError");
+ JsonWebTokenError2.prototype = Object.create(Error.prototype);
+ JsonWebTokenError2.prototype.constructor = JsonWebTokenError2;
+ module.exports = JsonWebTokenError2;
+ }
+});
+
+// ../../node_modules/.pnpm/jsonwebtoken@9.0.3/node_modules/jsonwebtoken/lib/NotBeforeError.js
+var require_NotBeforeError = __commonJS({
+ "../../node_modules/.pnpm/jsonwebtoken@9.0.3/node_modules/jsonwebtoken/lib/NotBeforeError.js"(exports, module) {
+ var JsonWebTokenError2 = require_JsonWebTokenError();
+ var NotBeforeError2 = /* @__PURE__ */ __name(function(message, date5) {
+ JsonWebTokenError2.call(this, message);
+ this.name = "NotBeforeError";
+ this.date = date5;
+ }, "NotBeforeError");
+ NotBeforeError2.prototype = Object.create(JsonWebTokenError2.prototype);
+ NotBeforeError2.prototype.constructor = NotBeforeError2;
+ module.exports = NotBeforeError2;
+ }
+});
+
+// ../../node_modules/.pnpm/jsonwebtoken@9.0.3/node_modules/jsonwebtoken/lib/TokenExpiredError.js
+var require_TokenExpiredError = __commonJS({
+ "../../node_modules/.pnpm/jsonwebtoken@9.0.3/node_modules/jsonwebtoken/lib/TokenExpiredError.js"(exports, module) {
+ var JsonWebTokenError2 = require_JsonWebTokenError();
+ var TokenExpiredError2 = /* @__PURE__ */ __name(function(message, expiredAt) {
+ JsonWebTokenError2.call(this, message);
+ this.name = "TokenExpiredError";
+ this.expiredAt = expiredAt;
+ }, "TokenExpiredError");
+ TokenExpiredError2.prototype = Object.create(JsonWebTokenError2.prototype);
+ TokenExpiredError2.prototype.constructor = TokenExpiredError2;
+ module.exports = TokenExpiredError2;
+ }
+});
+
+// ../../node_modules/.pnpm/jsonwebtoken@9.0.3/node_modules/jsonwebtoken/lib/timespan.js
+var require_timespan = __commonJS({
+ "../../node_modules/.pnpm/jsonwebtoken@9.0.3/node_modules/jsonwebtoken/lib/timespan.js"(exports, module) {
+ var ms = require_ms();
+ module.exports = function(time3, iat) {
+ var timestamp = iat || Math.floor(Date.now() / 1e3);
+ if (typeof time3 === "string") {
+ var milliseconds = ms(time3);
+ if (typeof milliseconds === "undefined") {
+ return;
+ }
+ return Math.floor(timestamp + milliseconds / 1e3);
+ } else if (typeof time3 === "number") {
+ return timestamp + time3;
+ } else {
+ return;
+ }
+ };
+ }
+});
+
+// ../../node_modules/.pnpm/semver@7.8.5/node_modules/semver/internal/constants.js
+var require_constants = __commonJS({
+ "../../node_modules/.pnpm/semver@7.8.5/node_modules/semver/internal/constants.js"(exports, module) {
+ "use strict";
+ var SEMVER_SPEC_VERSION = "2.0.0";
+ var MAX_LENGTH = 256;
+ var MAX_SAFE_INTEGER = Number.MAX_SAFE_INTEGER || /* istanbul ignore next */
+ 9007199254740991;
+ var MAX_SAFE_COMPONENT_LENGTH = 16;
+ var MAX_SAFE_BUILD_LENGTH = MAX_LENGTH - 6;
+ var RELEASE_TYPES = [
+ "major",
+ "premajor",
+ "minor",
+ "preminor",
+ "patch",
+ "prepatch",
+ "prerelease"
+ ];
+ module.exports = {
+ MAX_LENGTH,
+ MAX_SAFE_COMPONENT_LENGTH,
+ MAX_SAFE_BUILD_LENGTH,
+ MAX_SAFE_INTEGER,
+ RELEASE_TYPES,
+ SEMVER_SPEC_VERSION,
+ FLAG_INCLUDE_PRERELEASE: 1,
+ FLAG_LOOSE: 2
+ };
+ }
+});
+
+// ../../node_modules/.pnpm/semver@7.8.5/node_modules/semver/internal/debug.js
+var require_debug = __commonJS({
+ "../../node_modules/.pnpm/semver@7.8.5/node_modules/semver/internal/debug.js"(exports, module) {
+ "use strict";
+ var debug3 = typeof process === "object" && process.env && process.env.NODE_DEBUG && /\bsemver\b/i.test(process.env.NODE_DEBUG) ? (...args) => console.error("SEMVER", ...args) : () => {
+ };
+ module.exports = debug3;
+ }
+});
+
+// ../../node_modules/.pnpm/semver@7.8.5/node_modules/semver/internal/re.js
+var require_re = __commonJS({
+ "../../node_modules/.pnpm/semver@7.8.5/node_modules/semver/internal/re.js"(exports, module) {
+ "use strict";
+ var {
+ MAX_SAFE_COMPONENT_LENGTH,
+ MAX_SAFE_BUILD_LENGTH,
+ MAX_LENGTH
+ } = require_constants();
+ var debug3 = require_debug();
+ exports = module.exports = {};
+ var re = exports.re = [];
+ var safeRe = exports.safeRe = [];
+ var src = exports.src = [];
+ var safeSrc = exports.safeSrc = [];
+ var t = exports.t = {};
+ var R = 0;
+ var LETTERDASHNUMBER = "[a-zA-Z0-9-]";
+ var safeRegexReplacements = [
+ ["\\s", 1],
+ ["\\d", MAX_LENGTH],
+ [LETTERDASHNUMBER, MAX_SAFE_BUILD_LENGTH]
+ ];
+ var makeSafeRegex = /* @__PURE__ */ __name((value) => {
+ for (const [token, max] of safeRegexReplacements) {
+ value = value.split(`${token}*`).join(`${token}{0,${max}}`).split(`${token}+`).join(`${token}{1,${max}}`);
+ }
+ return value;
+ }, "makeSafeRegex");
+ var createToken = /* @__PURE__ */ __name((name2, value, isGlobal) => {
+ const safe = makeSafeRegex(value);
+ const index = R++;
+ debug3(name2, index, value);
+ t[name2] = index;
+ src[index] = value;
+ safeSrc[index] = safe;
+ re[index] = new RegExp(value, isGlobal ? "g" : void 0);
+ safeRe[index] = new RegExp(safe, isGlobal ? "g" : void 0);
+ }, "createToken");
+ createToken("NUMERICIDENTIFIER", "0|[1-9]\\d*");
+ createToken("NUMERICIDENTIFIERLOOSE", "\\d+");
+ createToken("NONNUMERICIDENTIFIER", `\\d*[a-zA-Z-]${LETTERDASHNUMBER}*`);
+ createToken("MAINVERSION", `(${src[t.NUMERICIDENTIFIER]})\\.(${src[t.NUMERICIDENTIFIER]})\\.(${src[t.NUMERICIDENTIFIER]})`);
+ createToken("MAINVERSIONLOOSE", `(${src[t.NUMERICIDENTIFIERLOOSE]})\\.(${src[t.NUMERICIDENTIFIERLOOSE]})\\.(${src[t.NUMERICIDENTIFIERLOOSE]})`);
+ createToken("PRERELEASEIDENTIFIER", `(?:${src[t.NONNUMERICIDENTIFIER]}|${src[t.NUMERICIDENTIFIER]})`);
+ createToken("PRERELEASEIDENTIFIERLOOSE", `(?:${src[t.NONNUMERICIDENTIFIER]}|${src[t.NUMERICIDENTIFIERLOOSE]})`);
+ createToken("PRERELEASE", `(?:-(${src[t.PRERELEASEIDENTIFIER]}(?:\\.${src[t.PRERELEASEIDENTIFIER]})*))`);
+ createToken("PRERELEASELOOSE", `(?:-?(${src[t.PRERELEASEIDENTIFIERLOOSE]}(?:\\.${src[t.PRERELEASEIDENTIFIERLOOSE]})*))`);
+ createToken("BUILDIDENTIFIER", `${LETTERDASHNUMBER}+`);
+ createToken("BUILD", `(?:\\+(${src[t.BUILDIDENTIFIER]}(?:\\.${src[t.BUILDIDENTIFIER]})*))`);
+ createToken("FULLPLAIN", `v?${src[t.MAINVERSION]}${src[t.PRERELEASE]}?${src[t.BUILD]}?`);
+ createToken("FULL", `^${src[t.FULLPLAIN]}$`);
+ createToken("LOOSEPLAIN", `[v=\\s]*${src[t.MAINVERSIONLOOSE]}${src[t.PRERELEASELOOSE]}?${src[t.BUILD]}?`);
+ createToken("LOOSE", `^${src[t.LOOSEPLAIN]}$`);
+ createToken("GTLT", "((?:<|>)?=?)");
+ createToken("XRANGEIDENTIFIERLOOSE", `${src[t.NUMERICIDENTIFIERLOOSE]}|x|X|\\*`);
+ createToken("XRANGEIDENTIFIER", `${src[t.NUMERICIDENTIFIER]}|x|X|\\*`);
+ createToken("XRANGEPLAIN", `[v=\\s]*(${src[t.XRANGEIDENTIFIER]})(?:\\.(${src[t.XRANGEIDENTIFIER]})(?:\\.(${src[t.XRANGEIDENTIFIER]})(?:${src[t.PRERELEASE]})?${src[t.BUILD]}?)?)?`);
+ createToken("XRANGEPLAINLOOSE", `[v=\\s]*(${src[t.XRANGEIDENTIFIERLOOSE]})(?:\\.(${src[t.XRANGEIDENTIFIERLOOSE]})(?:\\.(${src[t.XRANGEIDENTIFIERLOOSE]})(?:${src[t.PRERELEASELOOSE]})?${src[t.BUILD]}?)?)?`);
+ createToken("XRANGE", `^${src[t.GTLT]}\\s*${src[t.XRANGEPLAIN]}$`);
+ createToken("XRANGELOOSE", `^${src[t.GTLT]}\\s*${src[t.XRANGEPLAINLOOSE]}$`);
+ createToken("COERCEPLAIN", `${"(^|[^\\d])(\\d{1,"}${MAX_SAFE_COMPONENT_LENGTH}})(?:\\.(\\d{1,${MAX_SAFE_COMPONENT_LENGTH}}))?(?:\\.(\\d{1,${MAX_SAFE_COMPONENT_LENGTH}}))?`);
+ createToken("COERCE", `${src[t.COERCEPLAIN]}(?:$|[^\\d])`);
+ createToken("COERCEFULL", src[t.COERCEPLAIN] + `(?:${src[t.PRERELEASE]})?(?:${src[t.BUILD]})?(?:$|[^\\d])`);
+ createToken("COERCERTL", src[t.COERCE], true);
+ createToken("COERCERTLFULL", src[t.COERCEFULL], true);
+ createToken("LONETILDE", "(?:~>?)");
+ createToken("TILDETRIM", `(\\s*)${src[t.LONETILDE]}\\s+`, true);
+ exports.tildeTrimReplace = "$1~";
+ createToken("TILDE", `^${src[t.LONETILDE]}${src[t.XRANGEPLAIN]}$`);
+ createToken("TILDELOOSE", `^${src[t.LONETILDE]}${src[t.XRANGEPLAINLOOSE]}$`);
+ createToken("LONECARET", "(?:\\^)");
+ createToken("CARETTRIM", `(\\s*)${src[t.LONECARET]}\\s+`, true);
+ exports.caretTrimReplace = "$1^";
+ createToken("CARET", `^${src[t.LONECARET]}${src[t.XRANGEPLAIN]}$`);
+ createToken("CARETLOOSE", `^${src[t.LONECARET]}${src[t.XRANGEPLAINLOOSE]}$`);
+ createToken("COMPARATORLOOSE", `^${src[t.GTLT]}\\s*(${src[t.LOOSEPLAIN]})$|^$`);
+ createToken("COMPARATOR", `^${src[t.GTLT]}\\s*(${src[t.FULLPLAIN]})$|^$`);
+ createToken("COMPARATORTRIM", `(\\s*)${src[t.GTLT]}\\s*(${src[t.LOOSEPLAIN]}|${src[t.XRANGEPLAIN]})`, true);
+ exports.comparatorTrimReplace = "$1$2$3";
+ createToken("HYPHENRANGE", `^\\s*(${src[t.XRANGEPLAIN]})\\s+-\\s+(${src[t.XRANGEPLAIN]})\\s*$`);
+ createToken("HYPHENRANGELOOSE", `^\\s*(${src[t.XRANGEPLAINLOOSE]})\\s+-\\s+(${src[t.XRANGEPLAINLOOSE]})\\s*$`);
+ createToken("STAR", "(<|>)?=?\\s*\\*");
+ createToken("GTE0", "^\\s*>=\\s*0\\.0\\.0\\s*$");
+ createToken("GTE0PRE", "^\\s*>=\\s*0\\.0\\.0-0\\s*$");
+ }
+});
+
+// ../../node_modules/.pnpm/semver@7.8.5/node_modules/semver/internal/parse-options.js
+var require_parse_options = __commonJS({
+ "../../node_modules/.pnpm/semver@7.8.5/node_modules/semver/internal/parse-options.js"(exports, module) {
+ "use strict";
+ var looseOption = Object.freeze({ loose: true });
+ var emptyOpts = Object.freeze({});
+ var parseOptions = /* @__PURE__ */ __name((options) => {
+ if (!options) {
+ return emptyOpts;
+ }
+ if (typeof options !== "object") {
+ return looseOption;
+ }
+ return options;
+ }, "parseOptions");
+ module.exports = parseOptions;
+ }
+});
+
+// ../../node_modules/.pnpm/semver@7.8.5/node_modules/semver/internal/identifiers.js
+var require_identifiers = __commonJS({
+ "../../node_modules/.pnpm/semver@7.8.5/node_modules/semver/internal/identifiers.js"(exports, module) {
+ "use strict";
+ var numeric = /^[0-9]+$/;
+ var compareIdentifiers = /* @__PURE__ */ __name((a5, b5) => {
+ if (typeof a5 === "number" && typeof b5 === "number") {
+ return a5 === b5 ? 0 : a5 < b5 ? -1 : 1;
+ }
+ const anum = numeric.test(a5);
+ const bnum = numeric.test(b5);
+ if (anum && bnum) {
+ a5 = +a5;
+ b5 = +b5;
+ }
+ return a5 === b5 ? 0 : anum && !bnum ? -1 : bnum && !anum ? 1 : a5 < b5 ? -1 : 1;
+ }, "compareIdentifiers");
+ var rcompareIdentifiers = /* @__PURE__ */ __name((a5, b5) => compareIdentifiers(b5, a5), "rcompareIdentifiers");
+ module.exports = {
+ compareIdentifiers,
+ rcompareIdentifiers
+ };
+ }
+});
+
+// ../../node_modules/.pnpm/semver@7.8.5/node_modules/semver/classes/semver.js
+var require_semver = __commonJS({
+ "../../node_modules/.pnpm/semver@7.8.5/node_modules/semver/classes/semver.js"(exports, module) {
+ "use strict";
+ var debug3 = require_debug();
+ var { MAX_LENGTH, MAX_SAFE_INTEGER } = require_constants();
+ var { safeRe: re, t } = require_re();
+ var parseOptions = require_parse_options();
+ var { compareIdentifiers } = require_identifiers();
+ var isPrereleaseIdentifier = /* @__PURE__ */ __name((prerelease, identifier) => {
+ const identifiers = identifier.split(".");
+ if (identifiers.length > prerelease.length) {
+ return false;
+ }
+ for (let i5 = 0; i5 < identifiers.length; i5++) {
+ if (compareIdentifiers(prerelease[i5], identifiers[i5]) !== 0) {
+ return false;
+ }
+ }
+ return true;
+ }, "isPrereleaseIdentifier");
+ var SemVer = class _SemVer {
+ static {
+ __name(this, "SemVer");
+ }
+ constructor(version2, options) {
+ options = parseOptions(options);
+ if (version2 instanceof _SemVer) {
+ if (version2.loose === !!options.loose && version2.includePrerelease === !!options.includePrerelease) {
+ return version2;
+ } else {
+ version2 = version2.version;
+ }
+ } else if (typeof version2 !== "string") {
+ throw new TypeError(`Invalid version. Must be a string. Got type "${typeof version2}".`);
+ }
+ if (version2.length > MAX_LENGTH) {
+ throw new TypeError(
+ `version is longer than ${MAX_LENGTH} characters`
+ );
+ }
+ debug3("SemVer", version2, options);
+ this.options = options;
+ this.loose = !!options.loose;
+ this.includePrerelease = !!options.includePrerelease;
+ const m3 = version2.trim().match(options.loose ? re[t.LOOSE] : re[t.FULL]);
+ if (!m3) {
+ throw new TypeError(`Invalid Version: ${version2}`);
+ }
+ this.raw = version2;
+ this.major = +m3[1];
+ this.minor = +m3[2];
+ this.patch = +m3[3];
+ if (this.major > MAX_SAFE_INTEGER || this.major < 0) {
+ throw new TypeError("Invalid major version");
+ }
+ if (this.minor > MAX_SAFE_INTEGER || this.minor < 0) {
+ throw new TypeError("Invalid minor version");
+ }
+ if (this.patch > MAX_SAFE_INTEGER || this.patch < 0) {
+ throw new TypeError("Invalid patch version");
+ }
+ if (!m3[4]) {
+ this.prerelease = [];
+ } else {
+ this.prerelease = m3[4].split(".").map((id) => {
+ if (/^[0-9]+$/.test(id)) {
+ const num = +id;
+ if (num >= 0 && num < MAX_SAFE_INTEGER) {
+ return num;
+ }
+ }
+ return id;
+ });
+ }
+ this.build = m3[5] ? m3[5].split(".") : [];
+ this.format();
+ }
+ format() {
+ this.version = `${this.major}.${this.minor}.${this.patch}`;
+ if (this.prerelease.length) {
+ this.version += `-${this.prerelease.join(".")}`;
+ }
+ return this.version;
+ }
+ toString() {
+ return this.version;
+ }
+ compare(other) {
+ debug3("SemVer.compare", this.version, this.options, other);
+ if (!(other instanceof _SemVer)) {
+ if (typeof other === "string" && other === this.version) {
+ return 0;
+ }
+ other = new _SemVer(other, this.options);
+ }
+ if (other.version === this.version) {
+ return 0;
+ }
+ return this.compareMain(other) || this.comparePre(other);
+ }
+ compareMain(other) {
+ if (!(other instanceof _SemVer)) {
+ other = new _SemVer(other, this.options);
+ }
+ if (this.major < other.major) {
+ return -1;
+ }
+ if (this.major > other.major) {
+ return 1;
+ }
+ if (this.minor < other.minor) {
+ return -1;
+ }
+ if (this.minor > other.minor) {
+ return 1;
+ }
+ if (this.patch < other.patch) {
+ return -1;
+ }
+ if (this.patch > other.patch) {
+ return 1;
+ }
+ return 0;
+ }
+ comparePre(other) {
+ if (!(other instanceof _SemVer)) {
+ other = new _SemVer(other, this.options);
+ }
+ if (this.prerelease.length && !other.prerelease.length) {
+ return -1;
+ } else if (!this.prerelease.length && other.prerelease.length) {
+ return 1;
+ } else if (!this.prerelease.length && !other.prerelease.length) {
+ return 0;
+ }
+ let i5 = 0;
+ do {
+ const a5 = this.prerelease[i5];
+ const b5 = other.prerelease[i5];
+ debug3("prerelease compare", i5, a5, b5);
+ if (a5 === void 0 && b5 === void 0) {
+ return 0;
+ } else if (b5 === void 0) {
+ return 1;
+ } else if (a5 === void 0) {
+ return -1;
+ } else if (a5 === b5) {
+ continue;
+ } else {
+ return compareIdentifiers(a5, b5);
+ }
+ } while (++i5);
+ }
+ compareBuild(other) {
+ if (!(other instanceof _SemVer)) {
+ other = new _SemVer(other, this.options);
+ }
+ let i5 = 0;
+ do {
+ const a5 = this.build[i5];
+ const b5 = other.build[i5];
+ debug3("build compare", i5, a5, b5);
+ if (a5 === void 0 && b5 === void 0) {
+ return 0;
+ } else if (b5 === void 0) {
+ return 1;
+ } else if (a5 === void 0) {
+ return -1;
+ } else if (a5 === b5) {
+ continue;
+ } else {
+ return compareIdentifiers(a5, b5);
+ }
+ } while (++i5);
+ }
+ // preminor will bump the version up to the next minor release, and immediately
+ // down to pre-release. premajor and prepatch work the same way.
+ inc(release2, identifier, identifierBase) {
+ if (release2.startsWith("pre")) {
+ if (!identifier && identifierBase === false) {
+ throw new Error("invalid increment argument: identifier is empty");
+ }
+ if (identifier) {
+ const match = `-${identifier}`.match(this.options.loose ? re[t.PRERELEASELOOSE] : re[t.PRERELEASE]);
+ if (!match || match[1] !== identifier) {
+ throw new Error(`invalid identifier: ${identifier}`);
+ }
+ }
+ }
+ switch (release2) {
+ case "premajor":
+ this.prerelease.length = 0;
+ this.patch = 0;
+ this.minor = 0;
+ this.major++;
+ this.inc("pre", identifier, identifierBase);
+ break;
+ case "preminor":
+ this.prerelease.length = 0;
+ this.patch = 0;
+ this.minor++;
+ this.inc("pre", identifier, identifierBase);
+ break;
+ case "prepatch":
+ this.prerelease.length = 0;
+ this.inc("patch", identifier, identifierBase);
+ this.inc("pre", identifier, identifierBase);
+ break;
+ // If the input is a non-prerelease version, this acts the same as
+ // prepatch.
+ case "prerelease":
+ if (this.prerelease.length === 0) {
+ this.inc("patch", identifier, identifierBase);
+ }
+ this.inc("pre", identifier, identifierBase);
+ break;
+ case "release":
+ if (this.prerelease.length === 0) {
+ throw new Error(`version ${this.raw} is not a prerelease`);
+ }
+ this.prerelease.length = 0;
+ break;
+ case "major":
+ if (this.minor !== 0 || this.patch !== 0 || this.prerelease.length === 0) {
+ this.major++;
+ }
+ this.minor = 0;
+ this.patch = 0;
+ this.prerelease = [];
+ break;
+ case "minor":
+ if (this.patch !== 0 || this.prerelease.length === 0) {
+ this.minor++;
+ }
+ this.patch = 0;
+ this.prerelease = [];
+ break;
+ case "patch":
+ if (this.prerelease.length === 0) {
+ this.patch++;
+ }
+ this.prerelease = [];
+ break;
+ // This probably shouldn't be used publicly.
+ // 1.0.0 'pre' would become 1.0.0-0 which is the wrong direction.
+ case "pre": {
+ const base = Number(identifierBase) ? 1 : 0;
+ if (this.prerelease.length === 0) {
+ this.prerelease = [base];
+ } else {
+ let i5 = this.prerelease.length;
+ while (--i5 >= 0) {
+ if (typeof this.prerelease[i5] === "number") {
+ this.prerelease[i5]++;
+ i5 = -2;
+ }
+ }
+ if (i5 === -1) {
+ if (identifier === this.prerelease.join(".") && identifierBase === false) {
+ throw new Error("invalid increment argument: identifier already exists");
+ }
+ this.prerelease.push(base);
+ }
+ }
+ if (identifier) {
+ let prerelease = [identifier, base];
+ if (identifierBase === false) {
+ prerelease = [identifier];
+ }
+ if (isPrereleaseIdentifier(this.prerelease, identifier)) {
+ const prereleaseBase = this.prerelease[identifier.split(".").length];
+ if (isNaN(prereleaseBase)) {
+ this.prerelease = prerelease;
+ }
+ } else {
+ this.prerelease = prerelease;
+ }
+ }
+ break;
+ }
+ default:
+ throw new Error(`invalid increment argument: ${release2}`);
+ }
+ this.raw = this.format();
+ if (this.build.length) {
+ this.raw += `+${this.build.join(".")}`;
+ }
+ return this;
+ }
+ };
+ module.exports = SemVer;
+ }
+});
+
+// ../../node_modules/.pnpm/semver@7.8.5/node_modules/semver/functions/parse.js
+var require_parse = __commonJS({
+ "../../node_modules/.pnpm/semver@7.8.5/node_modules/semver/functions/parse.js"(exports, module) {
+ "use strict";
+ var SemVer = require_semver();
+ var parse4 = /* @__PURE__ */ __name((version2, options, throwErrors = false) => {
+ if (version2 instanceof SemVer) {
+ return version2;
+ }
+ try {
+ return new SemVer(version2, options);
+ } catch (er) {
+ if (!throwErrors) {
+ return null;
+ }
+ throw er;
+ }
+ }, "parse");
+ module.exports = parse4;
+ }
+});
+
+// ../../node_modules/.pnpm/semver@7.8.5/node_modules/semver/functions/valid.js
+var require_valid = __commonJS({
+ "../../node_modules/.pnpm/semver@7.8.5/node_modules/semver/functions/valid.js"(exports, module) {
+ "use strict";
+ var parse4 = require_parse();
+ var valid = /* @__PURE__ */ __name((version2, options) => {
+ const v = parse4(version2, options);
+ return v ? v.version : null;
+ }, "valid");
+ module.exports = valid;
+ }
+});
+
+// ../../node_modules/.pnpm/semver@7.8.5/node_modules/semver/functions/clean.js
+var require_clean = __commonJS({
+ "../../node_modules/.pnpm/semver@7.8.5/node_modules/semver/functions/clean.js"(exports, module) {
+ "use strict";
+ var parse4 = require_parse();
+ var clean = /* @__PURE__ */ __name((version2, options) => {
+ const s2 = parse4(version2.trim().replace(/^[=v]+/, ""), options);
+ return s2 ? s2.version : null;
+ }, "clean");
+ module.exports = clean;
+ }
+});
+
+// ../../node_modules/.pnpm/semver@7.8.5/node_modules/semver/functions/inc.js
+var require_inc = __commonJS({
+ "../../node_modules/.pnpm/semver@7.8.5/node_modules/semver/functions/inc.js"(exports, module) {
+ "use strict";
+ var SemVer = require_semver();
+ var inc = /* @__PURE__ */ __name((version2, release2, options, identifier, identifierBase) => {
+ if (typeof options === "string") {
+ identifierBase = identifier;
+ identifier = options;
+ options = void 0;
+ }
+ try {
+ return new SemVer(
+ version2 instanceof SemVer ? version2.version : version2,
+ options
+ ).inc(release2, identifier, identifierBase).version;
+ } catch (er) {
+ return null;
+ }
+ }, "inc");
+ module.exports = inc;
+ }
+});
+
+// ../../node_modules/.pnpm/semver@7.8.5/node_modules/semver/functions/diff.js
+var require_diff = __commonJS({
+ "../../node_modules/.pnpm/semver@7.8.5/node_modules/semver/functions/diff.js"(exports, module) {
+ "use strict";
+ var parse4 = require_parse();
+ var diff = /* @__PURE__ */ __name((version1, version2) => {
+ const v1 = parse4(version1, null, true);
+ const v2 = parse4(version2, null, true);
+ const comparison = v1.compare(v2);
+ if (comparison === 0) {
+ return null;
+ }
+ const v1Higher = comparison > 0;
+ const highVersion = v1Higher ? v1 : v2;
+ const lowVersion = v1Higher ? v2 : v1;
+ const highHasPre = !!highVersion.prerelease.length;
+ const lowHasPre = !!lowVersion.prerelease.length;
+ if (lowHasPre && !highHasPre) {
+ if (!lowVersion.patch && !lowVersion.minor) {
+ return "major";
+ }
+ if (lowVersion.compareMain(highVersion) === 0) {
+ if (lowVersion.minor && !lowVersion.patch) {
+ return "minor";
+ }
+ return "patch";
+ }
+ }
+ const prefix = highHasPre ? "pre" : "";
+ if (v1.major !== v2.major) {
+ return prefix + "major";
+ }
+ if (v1.minor !== v2.minor) {
+ return prefix + "minor";
+ }
+ if (v1.patch !== v2.patch) {
+ return prefix + "patch";
+ }
+ return "prerelease";
+ }, "diff");
+ module.exports = diff;
+ }
+});
+
+// ../../node_modules/.pnpm/semver@7.8.5/node_modules/semver/functions/major.js
+var require_major = __commonJS({
+ "../../node_modules/.pnpm/semver@7.8.5/node_modules/semver/functions/major.js"(exports, module) {
+ "use strict";
+ var SemVer = require_semver();
+ var major = /* @__PURE__ */ __name((a5, loose) => new SemVer(a5, loose).major, "major");
+ module.exports = major;
+ }
+});
+
+// ../../node_modules/.pnpm/semver@7.8.5/node_modules/semver/functions/minor.js
+var require_minor = __commonJS({
+ "../../node_modules/.pnpm/semver@7.8.5/node_modules/semver/functions/minor.js"(exports, module) {
+ "use strict";
+ var SemVer = require_semver();
+ var minor = /* @__PURE__ */ __name((a5, loose) => new SemVer(a5, loose).minor, "minor");
+ module.exports = minor;
+ }
+});
+
+// ../../node_modules/.pnpm/semver@7.8.5/node_modules/semver/functions/patch.js
+var require_patch = __commonJS({
+ "../../node_modules/.pnpm/semver@7.8.5/node_modules/semver/functions/patch.js"(exports, module) {
+ "use strict";
+ var SemVer = require_semver();
+ var patch = /* @__PURE__ */ __name((a5, loose) => new SemVer(a5, loose).patch, "patch");
+ module.exports = patch;
+ }
+});
+
+// ../../node_modules/.pnpm/semver@7.8.5/node_modules/semver/functions/prerelease.js
+var require_prerelease = __commonJS({
+ "../../node_modules/.pnpm/semver@7.8.5/node_modules/semver/functions/prerelease.js"(exports, module) {
+ "use strict";
+ var parse4 = require_parse();
+ var prerelease = /* @__PURE__ */ __name((version2, options) => {
+ const parsed2 = parse4(version2, options);
+ return parsed2 && parsed2.prerelease.length ? parsed2.prerelease : null;
+ }, "prerelease");
+ module.exports = prerelease;
+ }
+});
+
+// ../../node_modules/.pnpm/semver@7.8.5/node_modules/semver/functions/compare.js
+var require_compare = __commonJS({
+ "../../node_modules/.pnpm/semver@7.8.5/node_modules/semver/functions/compare.js"(exports, module) {
+ "use strict";
+ var SemVer = require_semver();
+ var compare = /* @__PURE__ */ __name((a5, b5, loose) => new SemVer(a5, loose).compare(new SemVer(b5, loose)), "compare");
+ module.exports = compare;
+ }
+});
+
+// ../../node_modules/.pnpm/semver@7.8.5/node_modules/semver/functions/rcompare.js
+var require_rcompare = __commonJS({
+ "../../node_modules/.pnpm/semver@7.8.5/node_modules/semver/functions/rcompare.js"(exports, module) {
+ "use strict";
+ var compare = require_compare();
+ var rcompare = /* @__PURE__ */ __name((a5, b5, loose) => compare(b5, a5, loose), "rcompare");
+ module.exports = rcompare;
+ }
+});
+
+// ../../node_modules/.pnpm/semver@7.8.5/node_modules/semver/functions/compare-loose.js
+var require_compare_loose = __commonJS({
+ "../../node_modules/.pnpm/semver@7.8.5/node_modules/semver/functions/compare-loose.js"(exports, module) {
+ "use strict";
+ var compare = require_compare();
+ var compareLoose = /* @__PURE__ */ __name((a5, b5) => compare(a5, b5, true), "compareLoose");
+ module.exports = compareLoose;
+ }
+});
+
+// ../../node_modules/.pnpm/semver@7.8.5/node_modules/semver/functions/compare-build.js
+var require_compare_build = __commonJS({
+ "../../node_modules/.pnpm/semver@7.8.5/node_modules/semver/functions/compare-build.js"(exports, module) {
+ "use strict";
+ var SemVer = require_semver();
+ var compareBuild = /* @__PURE__ */ __name((a5, b5, loose) => {
+ const versionA = new SemVer(a5, loose);
+ const versionB = new SemVer(b5, loose);
+ return versionA.compare(versionB) || versionA.compareBuild(versionB);
+ }, "compareBuild");
+ module.exports = compareBuild;
+ }
+});
+
+// ../../node_modules/.pnpm/semver@7.8.5/node_modules/semver/functions/sort.js
+var require_sort = __commonJS({
+ "../../node_modules/.pnpm/semver@7.8.5/node_modules/semver/functions/sort.js"(exports, module) {
+ "use strict";
+ var compareBuild = require_compare_build();
+ var sort = /* @__PURE__ */ __name((list, loose) => list.sort((a5, b5) => compareBuild(a5, b5, loose)), "sort");
+ module.exports = sort;
+ }
+});
+
+// ../../node_modules/.pnpm/semver@7.8.5/node_modules/semver/functions/rsort.js
+var require_rsort = __commonJS({
+ "../../node_modules/.pnpm/semver@7.8.5/node_modules/semver/functions/rsort.js"(exports, module) {
+ "use strict";
+ var compareBuild = require_compare_build();
+ var rsort = /* @__PURE__ */ __name((list, loose) => list.sort((a5, b5) => compareBuild(b5, a5, loose)), "rsort");
+ module.exports = rsort;
+ }
+});
+
+// ../../node_modules/.pnpm/semver@7.8.5/node_modules/semver/functions/gt.js
+var require_gt = __commonJS({
+ "../../node_modules/.pnpm/semver@7.8.5/node_modules/semver/functions/gt.js"(exports, module) {
+ "use strict";
+ var compare = require_compare();
+ var gt = /* @__PURE__ */ __name((a5, b5, loose) => compare(a5, b5, loose) > 0, "gt");
+ module.exports = gt;
+ }
+});
+
+// ../../node_modules/.pnpm/semver@7.8.5/node_modules/semver/functions/lt.js
+var require_lt = __commonJS({
+ "../../node_modules/.pnpm/semver@7.8.5/node_modules/semver/functions/lt.js"(exports, module) {
+ "use strict";
+ var compare = require_compare();
+ var lt = /* @__PURE__ */ __name((a5, b5, loose) => compare(a5, b5, loose) < 0, "lt");
+ module.exports = lt;
+ }
+});
+
+// ../../node_modules/.pnpm/semver@7.8.5/node_modules/semver/functions/eq.js
+var require_eq = __commonJS({
+ "../../node_modules/.pnpm/semver@7.8.5/node_modules/semver/functions/eq.js"(exports, module) {
+ "use strict";
+ var compare = require_compare();
+ var eq = /* @__PURE__ */ __name((a5, b5, loose) => compare(a5, b5, loose) === 0, "eq");
+ module.exports = eq;
+ }
+});
+
+// ../../node_modules/.pnpm/semver@7.8.5/node_modules/semver/functions/neq.js
+var require_neq = __commonJS({
+ "../../node_modules/.pnpm/semver@7.8.5/node_modules/semver/functions/neq.js"(exports, module) {
+ "use strict";
+ var compare = require_compare();
+ var neq = /* @__PURE__ */ __name((a5, b5, loose) => compare(a5, b5, loose) !== 0, "neq");
+ module.exports = neq;
+ }
+});
+
+// ../../node_modules/.pnpm/semver@7.8.5/node_modules/semver/functions/gte.js
+var require_gte = __commonJS({
+ "../../node_modules/.pnpm/semver@7.8.5/node_modules/semver/functions/gte.js"(exports, module) {
+ "use strict";
+ var compare = require_compare();
+ var gte = /* @__PURE__ */ __name((a5, b5, loose) => compare(a5, b5, loose) >= 0, "gte");
+ module.exports = gte;
+ }
+});
+
+// ../../node_modules/.pnpm/semver@7.8.5/node_modules/semver/functions/lte.js
+var require_lte = __commonJS({
+ "../../node_modules/.pnpm/semver@7.8.5/node_modules/semver/functions/lte.js"(exports, module) {
+ "use strict";
+ var compare = require_compare();
+ var lte = /* @__PURE__ */ __name((a5, b5, loose) => compare(a5, b5, loose) <= 0, "lte");
+ module.exports = lte;
+ }
+});
+
+// ../../node_modules/.pnpm/semver@7.8.5/node_modules/semver/functions/cmp.js
+var require_cmp = __commonJS({
+ "../../node_modules/.pnpm/semver@7.8.5/node_modules/semver/functions/cmp.js"(exports, module) {
+ "use strict";
+ var eq = require_eq();
+ var neq = require_neq();
+ var gt = require_gt();
+ var gte = require_gte();
+ var lt = require_lt();
+ var lte = require_lte();
+ var cmp = /* @__PURE__ */ __name((a5, op, b5, loose) => {
+ switch (op) {
+ case "===":
+ if (typeof a5 === "object") {
+ a5 = a5.version;
+ }
+ if (typeof b5 === "object") {
+ b5 = b5.version;
+ }
+ return a5 === b5;
+ case "!==":
+ if (typeof a5 === "object") {
+ a5 = a5.version;
+ }
+ if (typeof b5 === "object") {
+ b5 = b5.version;
+ }
+ return a5 !== b5;
+ case "":
+ case "=":
+ case "==":
+ return eq(a5, b5, loose);
+ case "!=":
+ return neq(a5, b5, loose);
+ case ">":
+ return gt(a5, b5, loose);
+ case ">=":
+ return gte(a5, b5, loose);
+ case "<":
+ return lt(a5, b5, loose);
+ case "<=":
+ return lte(a5, b5, loose);
+ default:
+ throw new TypeError(`Invalid operator: ${op}`);
+ }
+ }, "cmp");
+ module.exports = cmp;
+ }
+});
+
+// ../../node_modules/.pnpm/semver@7.8.5/node_modules/semver/functions/coerce.js
+var require_coerce = __commonJS({
+ "../../node_modules/.pnpm/semver@7.8.5/node_modules/semver/functions/coerce.js"(exports, module) {
+ "use strict";
+ var SemVer = require_semver();
+ var parse4 = require_parse();
+ var { safeRe: re, t } = require_re();
+ var coerce = /* @__PURE__ */ __name((version2, options) => {
+ if (version2 instanceof SemVer) {
+ return version2;
+ }
+ if (typeof version2 === "number") {
+ version2 = String(version2);
+ }
+ if (typeof version2 !== "string") {
+ return null;
+ }
+ options = options || {};
+ let match = null;
+ if (!options.rtl) {
+ match = version2.match(options.includePrerelease ? re[t.COERCEFULL] : re[t.COERCE]);
+ } else {
+ const coerceRtlRegex = options.includePrerelease ? re[t.COERCERTLFULL] : re[t.COERCERTL];
+ let next;
+ while ((next = coerceRtlRegex.exec(version2)) && (!match || match.index + match[0].length !== version2.length)) {
+ if (!match || next.index + next[0].length !== match.index + match[0].length) {
+ match = next;
+ }
+ coerceRtlRegex.lastIndex = next.index + next[1].length + next[2].length;
+ }
+ coerceRtlRegex.lastIndex = -1;
+ }
+ if (match === null) {
+ return null;
+ }
+ const major = match[2];
+ const minor = match[3] || "0";
+ const patch = match[4] || "0";
+ const prerelease = options.includePrerelease && match[5] ? `-${match[5]}` : "";
+ const build2 = options.includePrerelease && match[6] ? `+${match[6]}` : "";
+ return parse4(`${major}.${minor}.${patch}${prerelease}${build2}`, options);
+ }, "coerce");
+ module.exports = coerce;
+ }
+});
+
+// ../../node_modules/.pnpm/semver@7.8.5/node_modules/semver/functions/truncate.js
+var require_truncate = __commonJS({
+ "../../node_modules/.pnpm/semver@7.8.5/node_modules/semver/functions/truncate.js"(exports, module) {
+ "use strict";
+ var parse4 = require_parse();
+ var constants = require_constants();
+ var SemVer = require_semver();
+ var truncate = /* @__PURE__ */ __name((version2, truncation, options) => {
+ if (!constants.RELEASE_TYPES.includes(truncation)) {
+ return null;
+ }
+ const clonedVersion = cloneInputVersion(version2, options);
+ return clonedVersion && doTruncation(clonedVersion, truncation);
+ }, "truncate");
+ var cloneInputVersion = /* @__PURE__ */ __name((version2, options) => {
+ const versionStringToParse = version2 instanceof SemVer ? version2.version : version2;
+ return parse4(versionStringToParse, options);
+ }, "cloneInputVersion");
+ var doTruncation = /* @__PURE__ */ __name((version2, truncation) => {
+ if (isPrerelease(truncation)) {
+ return version2.version;
+ }
+ version2.prerelease = [];
+ switch (truncation) {
+ case "major":
+ version2.minor = 0;
+ version2.patch = 0;
+ break;
+ case "minor":
+ version2.patch = 0;
+ break;
+ }
+ return version2.format();
+ }, "doTruncation");
+ var isPrerelease = /* @__PURE__ */ __name((type) => {
+ return type.startsWith("pre");
+ }, "isPrerelease");
+ module.exports = truncate;
+ }
+});
+
+// ../../node_modules/.pnpm/semver@7.8.5/node_modules/semver/internal/lrucache.js
+var require_lrucache = __commonJS({
+ "../../node_modules/.pnpm/semver@7.8.5/node_modules/semver/internal/lrucache.js"(exports, module) {
+ "use strict";
+ var LRUCache = class {
+ static {
+ __name(this, "LRUCache");
+ }
+ constructor() {
+ this.max = 1e3;
+ this.map = /* @__PURE__ */ new Map();
+ }
+ get(key) {
+ const value = this.map.get(key);
+ if (value === void 0) {
+ return void 0;
+ } else {
+ this.map.delete(key);
+ this.map.set(key, value);
+ return value;
+ }
+ }
+ delete(key) {
+ return this.map.delete(key);
+ }
+ set(key, value) {
+ const deleted = this.delete(key);
+ if (!deleted && value !== void 0) {
+ if (this.map.size >= this.max) {
+ const firstKey = this.map.keys().next().value;
+ this.delete(firstKey);
+ }
+ this.map.set(key, value);
+ }
+ return this;
+ }
+ };
+ module.exports = LRUCache;
+ }
+});
+
+// ../../node_modules/.pnpm/semver@7.8.5/node_modules/semver/classes/range.js
+var require_range = __commonJS({
+ "../../node_modules/.pnpm/semver@7.8.5/node_modules/semver/classes/range.js"(exports, module) {
+ "use strict";
+ var SPACE_CHARACTERS = /\s+/g;
+ var Range = class _Range {
+ static {
+ __name(this, "Range");
+ }
+ constructor(range, options) {
+ options = parseOptions(options);
+ if (range instanceof _Range) {
+ if (range.loose === !!options.loose && range.includePrerelease === !!options.includePrerelease) {
+ return range;
+ } else {
+ return new _Range(range.raw, options);
+ }
+ }
+ if (range instanceof Comparator) {
+ this.raw = range.value;
+ this.set = [[range]];
+ this.formatted = void 0;
+ return this;
+ }
+ this.options = options;
+ this.loose = !!options.loose;
+ this.includePrerelease = !!options.includePrerelease;
+ this.raw = range.trim().replace(SPACE_CHARACTERS, " ");
+ this.set = this.raw.split("||").map((r5) => this.parseRange(r5.trim())).filter((c5) => c5.length);
+ if (!this.set.length) {
+ throw new TypeError(`Invalid SemVer Range: ${this.raw}`);
+ }
+ if (this.set.length > 1) {
+ const first = this.set[0];
+ this.set = this.set.filter((c5) => !isNullSet(c5[0]));
+ if (this.set.length === 0) {
+ this.set = [first];
+ } else if (this.set.length > 1) {
+ for (const c5 of this.set) {
+ if (c5.length === 1 && isAny(c5[0])) {
+ this.set = [c5];
+ break;
+ }
+ }
+ }
+ }
+ this.formatted = void 0;
+ }
+ get range() {
+ if (this.formatted === void 0) {
+ this.formatted = "";
+ for (let i5 = 0; i5 < this.set.length; i5++) {
+ if (i5 > 0) {
+ this.formatted += "||";
+ }
+ const comps = this.set[i5];
+ for (let k5 = 0; k5 < comps.length; k5++) {
+ if (k5 > 0) {
+ this.formatted += " ";
+ }
+ this.formatted += comps[k5].toString().trim();
+ }
+ }
+ }
+ return this.formatted;
+ }
+ format() {
+ return this.range;
+ }
+ toString() {
+ return this.range;
+ }
+ parseRange(range) {
+ range = range.replace(BUILDSTRIPRE, "");
+ const memoOpts = (this.options.includePrerelease && FLAG_INCLUDE_PRERELEASE) | (this.options.loose && FLAG_LOOSE);
+ const memoKey = memoOpts + ":" + range;
+ const cached2 = cache5.get(memoKey);
+ if (cached2) {
+ return cached2;
+ }
+ const loose = this.options.loose;
+ const hr = loose ? re[t.HYPHENRANGELOOSE] : re[t.HYPHENRANGE];
+ range = range.replace(hr, hyphenReplace(this.options.includePrerelease));
+ debug3("hyphen replace", range);
+ range = range.replace(re[t.COMPARATORTRIM], comparatorTrimReplace);
+ debug3("comparator trim", range);
+ range = range.replace(re[t.TILDETRIM], tildeTrimReplace);
+ debug3("tilde trim", range);
+ range = range.replace(re[t.CARETTRIM], caretTrimReplace);
+ debug3("caret trim", range);
+ let rangeList = range.split(" ").map((comp) => parseComparator(comp, this.options)).join(" ").split(/\s+/).map((comp) => replaceGTE0(comp, this.options));
+ if (loose) {
+ rangeList = rangeList.filter((comp) => {
+ debug3("loose invalid filter", comp, this.options);
+ return !!comp.match(re[t.COMPARATORLOOSE]);
+ });
+ }
+ debug3("range list", rangeList);
+ const rangeMap = /* @__PURE__ */ new Map();
+ const comparators = rangeList.map((comp) => new Comparator(comp, this.options));
+ for (const comp of comparators) {
+ if (isNullSet(comp)) {
+ return [comp];
+ }
+ rangeMap.set(comp.value, comp);
+ }
+ if (rangeMap.size > 1 && rangeMap.has("")) {
+ rangeMap.delete("");
+ }
+ const result = [...rangeMap.values()];
+ cache5.set(memoKey, result);
+ return result;
+ }
+ intersects(range, options) {
+ if (!(range instanceof _Range)) {
+ throw new TypeError("a Range is required");
+ }
+ return this.set.some((thisComparators) => {
+ return isSatisfiable(thisComparators, options) && range.set.some((rangeComparators) => {
+ return isSatisfiable(rangeComparators, options) && thisComparators.every((thisComparator) => {
+ return rangeComparators.every((rangeComparator) => {
+ return thisComparator.intersects(rangeComparator, options);
+ });
+ });
+ });
+ });
+ }
+ // if ANY of the sets match ALL of its comparators, then pass
+ test(version2) {
+ if (!version2) {
+ return false;
+ }
+ if (typeof version2 === "string") {
+ try {
+ version2 = new SemVer(version2, this.options);
+ } catch (er) {
+ return false;
+ }
+ }
+ for (let i5 = 0; i5 < this.set.length; i5++) {
+ if (testSet(this.set[i5], version2, this.options)) {
+ return true;
+ }
+ }
+ return false;
+ }
+ };
+ module.exports = Range;
+ var LRU = require_lrucache();
+ var cache5 = new LRU();
+ var parseOptions = require_parse_options();
+ var Comparator = require_comparator();
+ var debug3 = require_debug();
+ var SemVer = require_semver();
+ var {
+ safeRe: re,
+ src,
+ t,
+ comparatorTrimReplace,
+ tildeTrimReplace,
+ caretTrimReplace
+ } = require_re();
+ var { FLAG_INCLUDE_PRERELEASE, FLAG_LOOSE } = require_constants();
+ var BUILDSTRIPRE = new RegExp(src[t.BUILD], "g");
+ var isNullSet = /* @__PURE__ */ __name((c5) => c5.value === "<0.0.0-0", "isNullSet");
+ var isAny = /* @__PURE__ */ __name((c5) => c5.value === "", "isAny");
+ var isSatisfiable = /* @__PURE__ */ __name((comparators, options) => {
+ let result = true;
+ const remainingComparators = comparators.slice();
+ let testComparator = remainingComparators.pop();
+ while (result && remainingComparators.length) {
+ result = remainingComparators.every((otherComparator) => {
+ return testComparator.intersects(otherComparator, options);
+ });
+ testComparator = remainingComparators.pop();
+ }
+ return result;
+ }, "isSatisfiable");
+ var parseComparator = /* @__PURE__ */ __name((comp, options) => {
+ comp = comp.replace(re[t.BUILD], "");
+ debug3("comp", comp, options);
+ comp = replaceCarets(comp, options);
+ debug3("caret", comp);
+ comp = replaceTildes(comp, options);
+ debug3("tildes", comp);
+ comp = replaceXRanges(comp, options);
+ debug3("xrange", comp);
+ comp = replaceStars(comp, options);
+ debug3("stars", comp);
+ return comp;
+ }, "parseComparator");
+ var isX = /* @__PURE__ */ __name((id) => !id || id.toLowerCase() === "x" || id === "*", "isX");
+ var invalidXRangeOrder = /* @__PURE__ */ __name((M, m3, p3) => isX(M) && !isX(m3) || isX(m3) && p3 && !isX(p3), "invalidXRangeOrder");
+ var replaceTildes = /* @__PURE__ */ __name((comp, options) => {
+ return comp.trim().split(/\s+/).map((c5) => replaceTilde(c5, options)).join(" ");
+ }, "replaceTildes");
+ var replaceTilde = /* @__PURE__ */ __name((comp, options) => {
+ const r5 = options.loose ? re[t.TILDELOOSE] : re[t.TILDE];
+ const z2 = options.includePrerelease ? "-0" : "";
+ return comp.replace(r5, (_, M, m3, p3, pr) => {
+ debug3("tilde", comp, _, M, m3, p3, pr);
+ let ret;
+ if (isX(M)) {
+ ret = "";
+ } else if (isX(m3)) {
+ ret = `>=${M}.0.0${z2} <${+M + 1}.0.0-0`;
+ } else if (isX(p3)) {
+ ret = `>=${M}.${m3}.0${z2} <${M}.${+m3 + 1}.0-0`;
+ } else if (pr) {
+ debug3("replaceTilde pr", pr);
+ ret = `>=${M}.${m3}.${p3}-${pr} <${M}.${+m3 + 1}.0-0`;
+ } else {
+ ret = `>=${M}.${m3}.${p3} <${M}.${+m3 + 1}.0-0`;
+ }
+ debug3("tilde return", ret);
+ return ret;
+ });
+ }, "replaceTilde");
+ var replaceCarets = /* @__PURE__ */ __name((comp, options) => {
+ return comp.trim().split(/\s+/).map((c5) => replaceCaret(c5, options)).join(" ");
+ }, "replaceCarets");
+ var replaceCaret = /* @__PURE__ */ __name((comp, options) => {
+ debug3("caret", comp, options);
+ const r5 = options.loose ? re[t.CARETLOOSE] : re[t.CARET];
+ const z2 = options.includePrerelease ? "-0" : "";
+ return comp.replace(r5, (_, M, m3, p3, pr) => {
+ debug3("caret", comp, _, M, m3, p3, pr);
+ let ret;
+ if (isX(M)) {
+ ret = "";
+ } else if (isX(m3)) {
+ ret = `>=${M}.0.0${z2} <${+M + 1}.0.0-0`;
+ } else if (isX(p3)) {
+ if (M === "0") {
+ ret = `>=${M}.${m3}.0${z2} <${M}.${+m3 + 1}.0-0`;
+ } else {
+ ret = `>=${M}.${m3}.0${z2} <${+M + 1}.0.0-0`;
+ }
+ } else if (pr) {
+ debug3("replaceCaret pr", pr);
+ if (M === "0") {
+ if (m3 === "0") {
+ ret = `>=${M}.${m3}.${p3}-${pr} <${M}.${m3}.${+p3 + 1}-0`;
+ } else {
+ ret = `>=${M}.${m3}.${p3}-${pr} <${M}.${+m3 + 1}.0-0`;
+ }
+ } else {
+ ret = `>=${M}.${m3}.${p3}-${pr} <${+M + 1}.0.0-0`;
+ }
+ } else {
+ debug3("no pr");
+ if (M === "0") {
+ if (m3 === "0") {
+ ret = `>=${M}.${m3}.${p3} <${M}.${m3}.${+p3 + 1}-0`;
+ } else {
+ ret = `>=${M}.${m3}.${p3} <${M}.${+m3 + 1}.0-0`;
+ }
+ } else {
+ ret = `>=${M}.${m3}.${p3} <${+M + 1}.0.0-0`;
+ }
+ }
+ debug3("caret return", ret);
+ return ret;
+ });
+ }, "replaceCaret");
+ var replaceXRanges = /* @__PURE__ */ __name((comp, options) => {
+ debug3("replaceXRanges", comp, options);
+ return comp.split(/\s+/).map((c5) => replaceXRange(c5, options)).join(" ");
+ }, "replaceXRanges");
+ var replaceXRange = /* @__PURE__ */ __name((comp, options) => {
+ comp = comp.trim();
+ const r5 = options.loose ? re[t.XRANGELOOSE] : re[t.XRANGE];
+ return comp.replace(r5, (ret, gtlt, M, m3, p3, pr) => {
+ debug3("xRange", comp, ret, gtlt, M, m3, p3, pr);
+ if (invalidXRangeOrder(M, m3, p3)) {
+ return comp;
+ }
+ const xM = isX(M);
+ const xm = xM || isX(m3);
+ const xp = xm || isX(p3);
+ const anyX = xp;
+ if (gtlt === "=" && anyX) {
+ gtlt = "";
+ }
+ pr = options.includePrerelease ? "-0" : "";
+ if (xM) {
+ if (gtlt === ">" || gtlt === "<") {
+ ret = "<0.0.0-0";
+ } else {
+ ret = "*";
+ }
+ } else if (gtlt && anyX) {
+ if (xm) {
+ m3 = 0;
+ }
+ p3 = 0;
+ if (gtlt === ">") {
+ gtlt = ">=";
+ if (xm) {
+ M = +M + 1;
+ m3 = 0;
+ p3 = 0;
+ } else {
+ m3 = +m3 + 1;
+ p3 = 0;
+ }
+ } else if (gtlt === "<=") {
+ gtlt = "<";
+ if (xm) {
+ M = +M + 1;
+ } else {
+ m3 = +m3 + 1;
+ }
+ }
+ if (gtlt === "<") {
+ pr = "-0";
+ }
+ ret = `${gtlt + M}.${m3}.${p3}${pr}`;
+ } else if (xm) {
+ ret = `>=${M}.0.0${pr} <${+M + 1}.0.0-0`;
+ } else if (xp) {
+ ret = `>=${M}.${m3}.0${pr} <${M}.${+m3 + 1}.0-0`;
+ }
+ debug3("xRange return", ret);
+ return ret;
+ });
+ }, "replaceXRange");
+ var replaceStars = /* @__PURE__ */ __name((comp, options) => {
+ debug3("replaceStars", comp, options);
+ return comp.trim().replace(re[t.STAR], "");
+ }, "replaceStars");
+ var replaceGTE0 = /* @__PURE__ */ __name((comp, options) => {
+ debug3("replaceGTE0", comp, options);
+ return comp.trim().replace(re[options.includePrerelease ? t.GTE0PRE : t.GTE0], "");
+ }, "replaceGTE0");
+ var hyphenReplace = /* @__PURE__ */ __name((incPr) => ($0, from, fM, fm, fp, fpr, fb, to, tM, tm, tp, tpr) => {
+ if (isX(fM)) {
+ from = "";
+ } else if (isX(fm)) {
+ from = `>=${fM}.0.0${incPr ? "-0" : ""}`;
+ } else if (isX(fp)) {
+ from = `>=${fM}.${fm}.0${incPr ? "-0" : ""}`;
+ } else if (fpr) {
+ from = `>=${from}`;
+ } else {
+ from = `>=${from}${incPr ? "-0" : ""}`;
+ }
+ if (isX(tM)) {
+ to = "";
+ } else if (isX(tm)) {
+ to = `<${+tM + 1}.0.0-0`;
+ } else if (isX(tp)) {
+ to = `<${tM}.${+tm + 1}.0-0`;
+ } else if (tpr) {
+ to = `<=${tM}.${tm}.${tp}-${tpr}`;
+ } else if (incPr) {
+ to = `<${tM}.${tm}.${+tp + 1}-0`;
+ } else {
+ to = `<=${to}`;
+ }
+ return `${from} ${to}`.trim();
+ }, "hyphenReplace");
+ var testSet = /* @__PURE__ */ __name((set2, version2, options) => {
+ for (let i5 = 0; i5 < set2.length; i5++) {
+ if (!set2[i5].test(version2)) {
+ return false;
+ }
+ }
+ if (version2.prerelease.length && !options.includePrerelease) {
+ for (let i5 = 0; i5 < set2.length; i5++) {
+ debug3(set2[i5].semver);
+ if (set2[i5].semver === Comparator.ANY) {
+ continue;
+ }
+ if (set2[i5].semver.prerelease.length > 0) {
+ const allowed = set2[i5].semver;
+ if (allowed.major === version2.major && allowed.minor === version2.minor && allowed.patch === version2.patch) {
+ return true;
+ }
+ }
+ }
+ return false;
+ }
+ return true;
+ }, "testSet");
+ }
+});
+
+// ../../node_modules/.pnpm/semver@7.8.5/node_modules/semver/classes/comparator.js
+var require_comparator = __commonJS({
+ "../../node_modules/.pnpm/semver@7.8.5/node_modules/semver/classes/comparator.js"(exports, module) {
+ "use strict";
+ var ANY = /* @__PURE__ */ Symbol("SemVer ANY");
+ var Comparator = class _Comparator {
+ static {
+ __name(this, "Comparator");
+ }
+ static get ANY() {
+ return ANY;
+ }
+ constructor(comp, options) {
+ options = parseOptions(options);
+ if (comp instanceof _Comparator) {
+ if (comp.loose === !!options.loose) {
+ return comp;
+ } else {
+ comp = comp.value;
+ }
+ }
+ comp = comp.trim().split(/\s+/).join(" ");
+ debug3("comparator", comp, options);
+ this.options = options;
+ this.loose = !!options.loose;
+ this.parse(comp);
+ if (this.semver === ANY) {
+ this.value = "";
+ } else {
+ this.value = this.operator + this.semver.version;
+ }
+ debug3("comp", this);
+ }
+ parse(comp) {
+ const r5 = this.options.loose ? re[t.COMPARATORLOOSE] : re[t.COMPARATOR];
+ const m3 = comp.match(r5);
+ if (!m3) {
+ throw new TypeError(`Invalid comparator: ${comp}`);
+ }
+ this.operator = m3[1] !== void 0 ? m3[1] : "";
+ if (this.operator === "=") {
+ this.operator = "";
+ }
+ if (!m3[2]) {
+ this.semver = ANY;
+ } else {
+ this.semver = new SemVer(m3[2], this.options.loose);
+ }
+ }
+ toString() {
+ return this.value;
+ }
+ test(version2) {
+ debug3("Comparator.test", version2, this.options.loose);
+ if (this.semver === ANY || version2 === ANY) {
+ return true;
+ }
+ if (typeof version2 === "string") {
+ try {
+ version2 = new SemVer(version2, this.options);
+ } catch (er) {
+ return false;
+ }
+ }
+ return cmp(version2, this.operator, this.semver, this.options);
+ }
+ intersects(comp, options) {
+ if (!(comp instanceof _Comparator)) {
+ throw new TypeError("a Comparator is required");
+ }
+ if (this.operator === "") {
+ if (this.value === "") {
+ return true;
+ }
+ return new Range(comp.value, options).test(this.value);
+ } else if (comp.operator === "") {
+ if (comp.value === "") {
+ return true;
+ }
+ return new Range(this.value, options).test(comp.semver);
+ }
+ options = parseOptions(options);
+ if (options.includePrerelease && (this.value === "<0.0.0-0" || comp.value === "<0.0.0-0")) {
+ return false;
+ }
+ if (!options.includePrerelease && (this.value.startsWith("<0.0.0") || comp.value.startsWith("<0.0.0"))) {
+ return false;
+ }
+ if (this.operator.startsWith(">") && comp.operator.startsWith(">")) {
+ return true;
+ }
+ if (this.operator.startsWith("<") && comp.operator.startsWith("<")) {
+ return true;
+ }
+ if (this.semver.version === comp.semver.version && this.operator.includes("=") && comp.operator.includes("=")) {
+ return true;
+ }
+ if (cmp(this.semver, "<", comp.semver, options) && this.operator.startsWith(">") && comp.operator.startsWith("<")) {
+ return true;
+ }
+ if (cmp(this.semver, ">", comp.semver, options) && this.operator.startsWith("<") && comp.operator.startsWith(">")) {
+ return true;
+ }
+ return false;
+ }
+ };
+ module.exports = Comparator;
+ var parseOptions = require_parse_options();
+ var { safeRe: re, t } = require_re();
+ var cmp = require_cmp();
+ var debug3 = require_debug();
+ var SemVer = require_semver();
+ var Range = require_range();
+ }
+});
+
+// ../../node_modules/.pnpm/semver@7.8.5/node_modules/semver/functions/satisfies.js
+var require_satisfies = __commonJS({
+ "../../node_modules/.pnpm/semver@7.8.5/node_modules/semver/functions/satisfies.js"(exports, module) {
+ "use strict";
+ var Range = require_range();
+ var satisfies = /* @__PURE__ */ __name((version2, range, options) => {
+ try {
+ range = new Range(range, options);
+ } catch (er) {
+ return false;
+ }
+ return range.test(version2);
+ }, "satisfies");
+ module.exports = satisfies;
+ }
+});
+
+// ../../node_modules/.pnpm/semver@7.8.5/node_modules/semver/ranges/to-comparators.js
+var require_to_comparators = __commonJS({
+ "../../node_modules/.pnpm/semver@7.8.5/node_modules/semver/ranges/to-comparators.js"(exports, module) {
+ "use strict";
+ var Range = require_range();
+ var toComparators = /* @__PURE__ */ __name((range, options) => new Range(range, options).set.map((comp) => comp.map((c5) => c5.value).join(" ").trim().split(" ")), "toComparators");
+ module.exports = toComparators;
+ }
+});
+
+// ../../node_modules/.pnpm/semver@7.8.5/node_modules/semver/ranges/max-satisfying.js
+var require_max_satisfying = __commonJS({
+ "../../node_modules/.pnpm/semver@7.8.5/node_modules/semver/ranges/max-satisfying.js"(exports, module) {
+ "use strict";
+ var SemVer = require_semver();
+ var Range = require_range();
+ var maxSatisfying = /* @__PURE__ */ __name((versions2, range, options) => {
+ let max = null;
+ let maxSV = null;
+ let rangeObj = null;
+ try {
+ rangeObj = new Range(range, options);
+ } catch (er) {
+ return null;
+ }
+ versions2.forEach((v) => {
+ if (rangeObj.test(v)) {
+ if (!max || maxSV.compare(v) === -1) {
+ max = v;
+ maxSV = new SemVer(max, options);
+ }
+ }
+ });
+ return max;
+ }, "maxSatisfying");
+ module.exports = maxSatisfying;
+ }
+});
+
+// ../../node_modules/.pnpm/semver@7.8.5/node_modules/semver/ranges/min-satisfying.js
+var require_min_satisfying = __commonJS({
+ "../../node_modules/.pnpm/semver@7.8.5/node_modules/semver/ranges/min-satisfying.js"(exports, module) {
+ "use strict";
+ var SemVer = require_semver();
+ var Range = require_range();
+ var minSatisfying = /* @__PURE__ */ __name((versions2, range, options) => {
+ let min = null;
+ let minSV = null;
+ let rangeObj = null;
+ try {
+ rangeObj = new Range(range, options);
+ } catch (er) {
+ return null;
+ }
+ versions2.forEach((v) => {
+ if (rangeObj.test(v)) {
+ if (!min || minSV.compare(v) === 1) {
+ min = v;
+ minSV = new SemVer(min, options);
+ }
+ }
+ });
+ return min;
+ }, "minSatisfying");
+ module.exports = minSatisfying;
+ }
+});
+
+// ../../node_modules/.pnpm/semver@7.8.5/node_modules/semver/ranges/min-version.js
+var require_min_version = __commonJS({
+ "../../node_modules/.pnpm/semver@7.8.5/node_modules/semver/ranges/min-version.js"(exports, module) {
+ "use strict";
+ var SemVer = require_semver();
+ var Range = require_range();
+ var gt = require_gt();
+ var minVersion = /* @__PURE__ */ __name((range, loose) => {
+ range = new Range(range, loose);
+ let minver = new SemVer("0.0.0");
+ if (range.test(minver)) {
+ return minver;
+ }
+ minver = new SemVer("0.0.0-0");
+ if (range.test(minver)) {
+ return minver;
+ }
+ minver = null;
+ for (let i5 = 0; i5 < range.set.length; ++i5) {
+ const comparators = range.set[i5];
+ let setMin = null;
+ comparators.forEach((comparator) => {
+ const compver = new SemVer(comparator.semver.version);
+ switch (comparator.operator) {
+ case ">":
+ if (compver.prerelease.length === 0) {
+ compver.patch++;
+ } else {
+ compver.prerelease.push(0);
+ }
+ compver.raw = compver.format();
+ /* fallthrough */
+ case "":
+ case ">=":
+ if (!setMin || gt(compver, setMin)) {
+ setMin = compver;
+ }
+ break;
+ case "<":
+ case "<=":
+ break;
+ /* istanbul ignore next */
+ default:
+ throw new Error(`Unexpected operation: ${comparator.operator}`);
+ }
+ });
+ if (setMin && (!minver || gt(minver, setMin))) {
+ minver = setMin;
+ }
+ }
+ if (minver && range.test(minver)) {
+ return minver;
+ }
+ return null;
+ }, "minVersion");
+ module.exports = minVersion;
+ }
+});
+
+// ../../node_modules/.pnpm/semver@7.8.5/node_modules/semver/ranges/valid.js
+var require_valid2 = __commonJS({
+ "../../node_modules/.pnpm/semver@7.8.5/node_modules/semver/ranges/valid.js"(exports, module) {
+ "use strict";
+ var Range = require_range();
+ var validRange = /* @__PURE__ */ __name((range, options) => {
+ try {
+ return new Range(range, options).range || "*";
+ } catch (er) {
+ return null;
+ }
+ }, "validRange");
+ module.exports = validRange;
+ }
+});
+
+// ../../node_modules/.pnpm/semver@7.8.5/node_modules/semver/ranges/outside.js
+var require_outside = __commonJS({
+ "../../node_modules/.pnpm/semver@7.8.5/node_modules/semver/ranges/outside.js"(exports, module) {
+ "use strict";
+ var SemVer = require_semver();
+ var Comparator = require_comparator();
+ var { ANY } = Comparator;
+ var Range = require_range();
+ var satisfies = require_satisfies();
+ var gt = require_gt();
+ var lt = require_lt();
+ var lte = require_lte();
+ var gte = require_gte();
+ var outside = /* @__PURE__ */ __name((version2, range, hilo, options) => {
+ version2 = new SemVer(version2, options);
+ range = new Range(range, options);
+ let gtfn, ltefn, ltfn, comp, ecomp;
+ switch (hilo) {
+ case ">":
+ gtfn = gt;
+ ltefn = lte;
+ ltfn = lt;
+ comp = ">";
+ ecomp = ">=";
+ break;
+ case "<":
+ gtfn = lt;
+ ltefn = gte;
+ ltfn = gt;
+ comp = "<";
+ ecomp = "<=";
+ break;
+ default:
+ throw new TypeError('Must provide a hilo val of "<" or ">"');
+ }
+ if (satisfies(version2, range, options)) {
+ return false;
+ }
+ for (let i5 = 0; i5 < range.set.length; ++i5) {
+ const comparators = range.set[i5];
+ let high = null;
+ let low = null;
+ comparators.forEach((comparator) => {
+ if (comparator.semver === ANY) {
+ comparator = new Comparator(">=0.0.0");
+ }
+ high = high || comparator;
+ low = low || comparator;
+ if (gtfn(comparator.semver, high.semver, options)) {
+ high = comparator;
+ } else if (ltfn(comparator.semver, low.semver, options)) {
+ low = comparator;
+ }
+ });
+ if (high.operator === comp || high.operator === ecomp) {
+ return false;
+ }
+ if ((!low.operator || low.operator === comp) && ltefn(version2, low.semver)) {
+ return false;
+ } else if (low.operator === ecomp && ltfn(version2, low.semver)) {
+ return false;
+ }
+ }
+ return true;
+ }, "outside");
+ module.exports = outside;
+ }
+});
+
+// ../../node_modules/.pnpm/semver@7.8.5/node_modules/semver/ranges/gtr.js
+var require_gtr = __commonJS({
+ "../../node_modules/.pnpm/semver@7.8.5/node_modules/semver/ranges/gtr.js"(exports, module) {
+ "use strict";
+ var outside = require_outside();
+ var gtr = /* @__PURE__ */ __name((version2, range, options) => outside(version2, range, ">", options), "gtr");
+ module.exports = gtr;
+ }
+});
+
+// ../../node_modules/.pnpm/semver@7.8.5/node_modules/semver/ranges/ltr.js
+var require_ltr = __commonJS({
+ "../../node_modules/.pnpm/semver@7.8.5/node_modules/semver/ranges/ltr.js"(exports, module) {
+ "use strict";
+ var outside = require_outside();
+ var ltr = /* @__PURE__ */ __name((version2, range, options) => outside(version2, range, "<", options), "ltr");
+ module.exports = ltr;
+ }
+});
+
+// ../../node_modules/.pnpm/semver@7.8.5/node_modules/semver/ranges/intersects.js
+var require_intersects = __commonJS({
+ "../../node_modules/.pnpm/semver@7.8.5/node_modules/semver/ranges/intersects.js"(exports, module) {
+ "use strict";
+ var Range = require_range();
+ var intersects = /* @__PURE__ */ __name((r1, r22, options) => {
+ r1 = new Range(r1, options);
+ r22 = new Range(r22, options);
+ return r1.intersects(r22, options);
+ }, "intersects");
+ module.exports = intersects;
+ }
+});
+
+// ../../node_modules/.pnpm/semver@7.8.5/node_modules/semver/ranges/simplify.js
+var require_simplify = __commonJS({
+ "../../node_modules/.pnpm/semver@7.8.5/node_modules/semver/ranges/simplify.js"(exports, module) {
+ "use strict";
+ var satisfies = require_satisfies();
+ var compare = require_compare();
+ module.exports = (versions2, range, options) => {
+ const set2 = [];
+ let first = null;
+ let prev = null;
+ const v = versions2.sort((a5, b5) => compare(a5, b5, options));
+ for (const version2 of v) {
+ const included = satisfies(version2, range, options);
+ if (included) {
+ prev = version2;
+ if (!first) {
+ first = version2;
+ }
+ } else {
+ if (prev) {
+ set2.push([first, prev]);
+ }
+ prev = null;
+ first = null;
+ }
+ }
+ if (first) {
+ set2.push([first, null]);
+ }
+ const ranges = [];
+ for (const [min, max] of set2) {
+ if (min === max) {
+ ranges.push(min);
+ } else if (!max && min === v[0]) {
+ ranges.push("*");
+ } else if (!max) {
+ ranges.push(`>=${min}`);
+ } else if (min === v[0]) {
+ ranges.push(`<=${max}`);
+ } else {
+ ranges.push(`${min} - ${max}`);
+ }
+ }
+ const simplified = ranges.join(" || ");
+ const original = typeof range.raw === "string" ? range.raw : String(range);
+ return simplified.length < original.length ? simplified : range;
+ };
+ }
+});
+
+// ../../node_modules/.pnpm/semver@7.8.5/node_modules/semver/ranges/subset.js
+var require_subset = __commonJS({
+ "../../node_modules/.pnpm/semver@7.8.5/node_modules/semver/ranges/subset.js"(exports, module) {
+ "use strict";
+ var Range = require_range();
+ var Comparator = require_comparator();
+ var { ANY } = Comparator;
+ var satisfies = require_satisfies();
+ var compare = require_compare();
+ var subset = /* @__PURE__ */ __name((sub, dom, options = {}) => {
+ if (sub === dom) {
+ return true;
+ }
+ sub = new Range(sub, options);
+ dom = new Range(dom, options);
+ let sawNonNull = false;
+ OUTER: for (const simpleSub of sub.set) {
+ for (const simpleDom of dom.set) {
+ const isSub = simpleSubset(simpleSub, simpleDom, options);
+ sawNonNull = sawNonNull || isSub !== null;
+ if (isSub) {
+ continue OUTER;
+ }
+ }
+ if (sawNonNull) {
+ return false;
+ }
+ }
+ return true;
+ }, "subset");
+ var minimumVersionWithPreRelease = [new Comparator(">=0.0.0-0")];
+ var minimumVersion = [new Comparator(">=0.0.0")];
+ var simpleSubset = /* @__PURE__ */ __name((sub, dom, options) => {
+ if (sub === dom) {
+ return true;
+ }
+ if (sub.length === 1 && sub[0].semver === ANY) {
+ if (dom.length === 1 && dom[0].semver === ANY) {
+ return true;
+ } else if (options.includePrerelease) {
+ sub = minimumVersionWithPreRelease;
+ } else {
+ sub = minimumVersion;
+ }
+ }
+ if (dom.length === 1 && dom[0].semver === ANY) {
+ if (options.includePrerelease) {
+ return true;
+ } else {
+ dom = minimumVersion;
+ }
+ }
+ const eqSet = /* @__PURE__ */ new Set();
+ let gt, lt;
+ for (const c5 of sub) {
+ if (c5.operator === ">" || c5.operator === ">=") {
+ gt = higherGT(gt, c5, options);
+ } else if (c5.operator === "<" || c5.operator === "<=") {
+ lt = lowerLT(lt, c5, options);
+ } else {
+ eqSet.add(c5.semver);
+ }
+ }
+ if (eqSet.size > 1) {
+ return null;
+ }
+ let gtltComp;
+ if (gt && lt) {
+ gtltComp = compare(gt.semver, lt.semver, options);
+ if (gtltComp > 0) {
+ return null;
+ } else if (gtltComp === 0 && (gt.operator !== ">=" || lt.operator !== "<=")) {
+ return null;
+ }
+ }
+ for (const eq of eqSet) {
+ if (gt && !satisfies(eq, String(gt), options)) {
+ return null;
+ }
+ if (lt && !satisfies(eq, String(lt), options)) {
+ return null;
+ }
+ for (const c5 of dom) {
+ if (!satisfies(eq, String(c5), options)) {
+ return false;
+ }
+ }
+ return true;
+ }
+ let higher, lower;
+ let hasDomLT, hasDomGT;
+ let needDomLTPre = lt && !options.includePrerelease && lt.semver.prerelease.length ? lt.semver : false;
+ let needDomGTPre = gt && !options.includePrerelease && gt.semver.prerelease.length ? gt.semver : false;
+ if (needDomLTPre && needDomLTPre.prerelease.length === 1 && lt.operator === "<" && needDomLTPre.prerelease[0] === 0) {
+ needDomLTPre = false;
+ }
+ for (const c5 of dom) {
+ hasDomGT = hasDomGT || c5.operator === ">" || c5.operator === ">=";
+ hasDomLT = hasDomLT || c5.operator === "<" || c5.operator === "<=";
+ if (gt) {
+ if (needDomGTPre) {
+ if (c5.semver.prerelease && c5.semver.prerelease.length && c5.semver.major === needDomGTPre.major && c5.semver.minor === needDomGTPre.minor && c5.semver.patch === needDomGTPre.patch) {
+ needDomGTPre = false;
+ }
+ }
+ if (c5.operator === ">" || c5.operator === ">=") {
+ higher = higherGT(gt, c5, options);
+ if (higher === c5 && higher !== gt) {
+ return false;
+ }
+ } else if (gt.operator === ">=" && !c5.test(gt.semver)) {
+ return false;
+ }
+ }
+ if (lt) {
+ if (needDomLTPre) {
+ if (c5.semver.prerelease && c5.semver.prerelease.length && c5.semver.major === needDomLTPre.major && c5.semver.minor === needDomLTPre.minor && c5.semver.patch === needDomLTPre.patch) {
+ needDomLTPre = false;
+ }
+ }
+ if (c5.operator === "<" || c5.operator === "<=") {
+ lower = lowerLT(lt, c5, options);
+ if (lower === c5 && lower !== lt) {
+ return false;
+ }
+ } else if (lt.operator === "<=" && !c5.test(lt.semver)) {
+ return false;
+ }
+ }
+ if (!c5.operator && (lt || gt) && gtltComp !== 0) {
+ return false;
+ }
+ }
+ if (gt && hasDomLT && !lt && gtltComp !== 0) {
+ return false;
+ }
+ if (lt && hasDomGT && !gt && gtltComp !== 0) {
+ return false;
+ }
+ if (needDomGTPre || needDomLTPre) {
+ return false;
+ }
+ return true;
+ }, "simpleSubset");
+ var higherGT = /* @__PURE__ */ __name((a5, b5, options) => {
+ if (!a5) {
+ return b5;
+ }
+ const comp = compare(a5.semver, b5.semver, options);
+ return comp > 0 ? a5 : comp < 0 ? b5 : b5.operator === ">" && a5.operator === ">=" ? b5 : a5;
+ }, "higherGT");
+ var lowerLT = /* @__PURE__ */ __name((a5, b5, options) => {
+ if (!a5) {
+ return b5;
+ }
+ const comp = compare(a5.semver, b5.semver, options);
+ return comp < 0 ? a5 : comp > 0 ? b5 : b5.operator === "<" && a5.operator === "<=" ? b5 : a5;
+ }, "lowerLT");
+ module.exports = subset;
+ }
+});
+
+// ../../node_modules/.pnpm/semver@7.8.5/node_modules/semver/index.js
+var require_semver2 = __commonJS({
+ "../../node_modules/.pnpm/semver@7.8.5/node_modules/semver/index.js"(exports, module) {
+ "use strict";
+ var internalRe = require_re();
+ var constants = require_constants();
+ var SemVer = require_semver();
+ var identifiers = require_identifiers();
+ var parse4 = require_parse();
+ var valid = require_valid();
+ var clean = require_clean();
+ var inc = require_inc();
+ var diff = require_diff();
+ var major = require_major();
+ var minor = require_minor();
+ var patch = require_patch();
+ var prerelease = require_prerelease();
+ var compare = require_compare();
+ var rcompare = require_rcompare();
+ var compareLoose = require_compare_loose();
+ var compareBuild = require_compare_build();
+ var sort = require_sort();
+ var rsort = require_rsort();
+ var gt = require_gt();
+ var lt = require_lt();
+ var eq = require_eq();
+ var neq = require_neq();
+ var gte = require_gte();
+ var lte = require_lte();
+ var cmp = require_cmp();
+ var coerce = require_coerce();
+ var truncate = require_truncate();
+ var Comparator = require_comparator();
+ var Range = require_range();
+ var satisfies = require_satisfies();
+ var toComparators = require_to_comparators();
+ var maxSatisfying = require_max_satisfying();
+ var minSatisfying = require_min_satisfying();
+ var minVersion = require_min_version();
+ var validRange = require_valid2();
+ var outside = require_outside();
+ var gtr = require_gtr();
+ var ltr = require_ltr();
+ var intersects = require_intersects();
+ var simplifyRange = require_simplify();
+ var subset = require_subset();
+ module.exports = {
+ parse: parse4,
+ valid,
+ clean,
+ inc,
+ diff,
+ major,
+ minor,
+ patch,
+ prerelease,
+ compare,
+ rcompare,
+ compareLoose,
+ compareBuild,
+ sort,
+ rsort,
+ gt,
+ lt,
+ eq,
+ neq,
+ gte,
+ lte,
+ cmp,
+ coerce,
+ truncate,
+ Comparator,
+ Range,
+ satisfies,
+ toComparators,
+ maxSatisfying,
+ minSatisfying,
+ minVersion,
+ validRange,
+ outside,
+ gtr,
+ ltr,
+ intersects,
+ simplifyRange,
+ subset,
+ SemVer,
+ re: internalRe.re,
+ src: internalRe.src,
+ tokens: internalRe.t,
+ SEMVER_SPEC_VERSION: constants.SEMVER_SPEC_VERSION,
+ RELEASE_TYPES: constants.RELEASE_TYPES,
+ compareIdentifiers: identifiers.compareIdentifiers,
+ rcompareIdentifiers: identifiers.rcompareIdentifiers
+ };
+ }
+});
+
+// ../../node_modules/.pnpm/jsonwebtoken@9.0.3/node_modules/jsonwebtoken/lib/asymmetricKeyDetailsSupported.js
+var require_asymmetricKeyDetailsSupported = __commonJS({
+ "../../node_modules/.pnpm/jsonwebtoken@9.0.3/node_modules/jsonwebtoken/lib/asymmetricKeyDetailsSupported.js"(exports, module) {
+ var semver = require_semver2();
+ module.exports = semver.satisfies(process.version, ">=15.7.0");
+ }
+});
+
+// ../../node_modules/.pnpm/jsonwebtoken@9.0.3/node_modules/jsonwebtoken/lib/rsaPssKeyDetailsSupported.js
+var require_rsaPssKeyDetailsSupported = __commonJS({
+ "../../node_modules/.pnpm/jsonwebtoken@9.0.3/node_modules/jsonwebtoken/lib/rsaPssKeyDetailsSupported.js"(exports, module) {
+ var semver = require_semver2();
+ module.exports = semver.satisfies(process.version, ">=16.9.0");
+ }
+});
+
+// ../../node_modules/.pnpm/jsonwebtoken@9.0.3/node_modules/jsonwebtoken/lib/validateAsymmetricKey.js
+var require_validateAsymmetricKey = __commonJS({
+ "../../node_modules/.pnpm/jsonwebtoken@9.0.3/node_modules/jsonwebtoken/lib/validateAsymmetricKey.js"(exports, module) {
+ var ASYMMETRIC_KEY_DETAILS_SUPPORTED = require_asymmetricKeyDetailsSupported();
+ var RSA_PSS_KEY_DETAILS_SUPPORTED = require_rsaPssKeyDetailsSupported();
+ var allowedAlgorithmsForKeys = {
+ "ec": ["ES256", "ES384", "ES512"],
+ "rsa": ["RS256", "PS256", "RS384", "PS384", "RS512", "PS512"],
+ "rsa-pss": ["PS256", "PS384", "PS512"]
+ };
+ var allowedCurves = {
+ ES256: "prime256v1",
+ ES384: "secp384r1",
+ ES512: "secp521r1"
+ };
+ module.exports = function(algorithm, key) {
+ if (!algorithm || !key) return;
+ const keyType = key.asymmetricKeyType;
+ if (!keyType) return;
+ const allowedAlgorithms = allowedAlgorithmsForKeys[keyType];
+ if (!allowedAlgorithms) {
+ throw new Error(`Unknown key type "${keyType}".`);
+ }
+ if (!allowedAlgorithms.includes(algorithm)) {
+ throw new Error(`"alg" parameter for "${keyType}" key type must be one of: ${allowedAlgorithms.join(", ")}.`);
+ }
+ if (ASYMMETRIC_KEY_DETAILS_SUPPORTED) {
+ switch (keyType) {
+ case "ec":
+ const keyCurve = key.asymmetricKeyDetails.namedCurve;
+ const allowedCurve = allowedCurves[algorithm];
+ if (keyCurve !== allowedCurve) {
+ throw new Error(`"alg" parameter "${algorithm}" requires curve "${allowedCurve}".`);
+ }
+ break;
+ case "rsa-pss":
+ if (RSA_PSS_KEY_DETAILS_SUPPORTED) {
+ const length = parseInt(algorithm.slice(-3), 10);
+ const { hashAlgorithm, mgf1HashAlgorithm, saltLength } = key.asymmetricKeyDetails;
+ if (hashAlgorithm !== `sha${length}` || mgf1HashAlgorithm !== hashAlgorithm) {
+ throw new Error(`Invalid key for this operation, its RSA-PSS parameters do not meet the requirements of "alg" ${algorithm}.`);
+ }
+ if (saltLength !== void 0 && saltLength > length >> 3) {
+ throw new Error(`Invalid key for this operation, its RSA-PSS parameter saltLength does not meet the requirements of "alg" ${algorithm}.`);
+ }
+ }
+ break;
+ }
+ }
+ };
+ }
+});
+
+// ../../node_modules/.pnpm/jsonwebtoken@9.0.3/node_modules/jsonwebtoken/lib/psSupported.js
+var require_psSupported = __commonJS({
+ "../../node_modules/.pnpm/jsonwebtoken@9.0.3/node_modules/jsonwebtoken/lib/psSupported.js"(exports, module) {
+ var semver = require_semver2();
+ module.exports = semver.satisfies(process.version, "^6.12.0 || >=8.0.0");
+ }
+});
+
+// ../../node_modules/.pnpm/jsonwebtoken@9.0.3/node_modules/jsonwebtoken/verify.js
+var require_verify = __commonJS({
+ "../../node_modules/.pnpm/jsonwebtoken@9.0.3/node_modules/jsonwebtoken/verify.js"(exports, module) {
+ var JsonWebTokenError2 = require_JsonWebTokenError();
+ var NotBeforeError2 = require_NotBeforeError();
+ var TokenExpiredError2 = require_TokenExpiredError();
+ var decode3 = require_decode();
+ var timespan = require_timespan();
+ var validateAsymmetricKey = require_validateAsymmetricKey();
+ var PS_SUPPORTED = require_psSupported();
+ var jws = require_jws();
+ var { KeyObject, createSecretKey, createPublicKey } = __require("crypto");
+ var PUB_KEY_ALGS = ["RS256", "RS384", "RS512"];
+ var EC_KEY_ALGS = ["ES256", "ES384", "ES512"];
+ var RSA_KEY_ALGS = ["RS256", "RS384", "RS512"];
+ var HS_ALGS = ["HS256", "HS384", "HS512"];
+ if (PS_SUPPORTED) {
+ PUB_KEY_ALGS.splice(PUB_KEY_ALGS.length, 0, "PS256", "PS384", "PS512");
+ RSA_KEY_ALGS.splice(RSA_KEY_ALGS.length, 0, "PS256", "PS384", "PS512");
+ }
+ module.exports = function(jwtString, secretOrPublicKey, options, callback) {
+ if (typeof options === "function" && !callback) {
+ callback = options;
+ options = {};
+ }
+ if (!options) {
+ options = {};
+ }
+ options = Object.assign({}, options);
+ let done;
+ if (callback) {
+ done = callback;
+ } else {
+ done = /* @__PURE__ */ __name(function(err, data) {
+ if (err) throw err;
+ return data;
+ }, "done");
+ }
+ if (options.clockTimestamp && typeof options.clockTimestamp !== "number") {
+ return done(new JsonWebTokenError2("clockTimestamp must be a number"));
+ }
+ if (options.nonce !== void 0 && (typeof options.nonce !== "string" || options.nonce.trim() === "")) {
+ return done(new JsonWebTokenError2("nonce must be a non-empty string"));
+ }
+ if (options.allowInvalidAsymmetricKeyTypes !== void 0 && typeof options.allowInvalidAsymmetricKeyTypes !== "boolean") {
+ return done(new JsonWebTokenError2("allowInvalidAsymmetricKeyTypes must be a boolean"));
+ }
+ const clockTimestamp = options.clockTimestamp || Math.floor(Date.now() / 1e3);
+ if (!jwtString) {
+ return done(new JsonWebTokenError2("jwt must be provided"));
+ }
+ if (typeof jwtString !== "string") {
+ return done(new JsonWebTokenError2("jwt must be a string"));
+ }
+ const parts = jwtString.split(".");
+ if (parts.length !== 3) {
+ return done(new JsonWebTokenError2("jwt malformed"));
+ }
+ let decodedToken;
+ try {
+ decodedToken = decode3(jwtString, { complete: true });
+ } catch (err) {
+ return done(err);
+ }
+ if (!decodedToken) {
+ return done(new JsonWebTokenError2("invalid token"));
+ }
+ const header = decodedToken.header;
+ let getSecret;
+ if (typeof secretOrPublicKey === "function") {
+ if (!callback) {
+ return done(new JsonWebTokenError2("verify must be called asynchronous if secret or public key is provided as a callback"));
+ }
+ getSecret = secretOrPublicKey;
+ } else {
+ getSecret = /* @__PURE__ */ __name(function(header2, secretCallback) {
+ return secretCallback(null, secretOrPublicKey);
+ }, "getSecret");
+ }
+ return getSecret(header, function(err, secretOrPublicKey2) {
+ if (err) {
+ return done(new JsonWebTokenError2("error in secret or public key callback: " + err.message));
+ }
+ const hasSignature = parts[2].trim() !== "";
+ if (!hasSignature && secretOrPublicKey2) {
+ return done(new JsonWebTokenError2("jwt signature is required"));
+ }
+ if (hasSignature && !secretOrPublicKey2) {
+ return done(new JsonWebTokenError2("secret or public key must be provided"));
+ }
+ if (!hasSignature && !options.algorithms) {
+ return done(new JsonWebTokenError2('please specify "none" in "algorithms" to verify unsigned tokens'));
+ }
+ if (secretOrPublicKey2 != null && !(secretOrPublicKey2 instanceof KeyObject)) {
+ try {
+ secretOrPublicKey2 = createPublicKey(secretOrPublicKey2);
+ } catch (_) {
+ try {
+ secretOrPublicKey2 = createSecretKey(typeof secretOrPublicKey2 === "string" ? Buffer.from(secretOrPublicKey2) : secretOrPublicKey2);
+ } catch (_2) {
+ return done(new JsonWebTokenError2("secretOrPublicKey is not valid key material"));
+ }
+ }
+ }
+ if (!options.algorithms) {
+ if (secretOrPublicKey2.type === "secret") {
+ options.algorithms = HS_ALGS;
+ } else if (["rsa", "rsa-pss"].includes(secretOrPublicKey2.asymmetricKeyType)) {
+ options.algorithms = RSA_KEY_ALGS;
+ } else if (secretOrPublicKey2.asymmetricKeyType === "ec") {
+ options.algorithms = EC_KEY_ALGS;
+ } else {
+ options.algorithms = PUB_KEY_ALGS;
+ }
+ }
+ if (options.algorithms.indexOf(decodedToken.header.alg) === -1) {
+ return done(new JsonWebTokenError2("invalid algorithm"));
+ }
+ if (header.alg.startsWith("HS") && secretOrPublicKey2.type !== "secret") {
+ return done(new JsonWebTokenError2(`secretOrPublicKey must be a symmetric key when using ${header.alg}`));
+ } else if (/^(?:RS|PS|ES)/.test(header.alg) && secretOrPublicKey2.type !== "public") {
+ return done(new JsonWebTokenError2(`secretOrPublicKey must be an asymmetric key when using ${header.alg}`));
+ }
+ if (!options.allowInvalidAsymmetricKeyTypes) {
+ try {
+ validateAsymmetricKey(header.alg, secretOrPublicKey2);
+ } catch (e5) {
+ return done(e5);
+ }
+ }
+ let valid;
+ try {
+ valid = jws.verify(jwtString, decodedToken.header.alg, secretOrPublicKey2);
+ } catch (e5) {
+ return done(e5);
+ }
+ if (!valid) {
+ return done(new JsonWebTokenError2("invalid signature"));
+ }
+ const payload = decodedToken.payload;
+ if (typeof payload.nbf !== "undefined" && !options.ignoreNotBefore) {
+ if (typeof payload.nbf !== "number") {
+ return done(new JsonWebTokenError2("invalid nbf value"));
+ }
+ if (payload.nbf > clockTimestamp + (options.clockTolerance || 0)) {
+ return done(new NotBeforeError2("jwt not active", new Date(payload.nbf * 1e3)));
+ }
+ }
+ if (typeof payload.exp !== "undefined" && !options.ignoreExpiration) {
+ if (typeof payload.exp !== "number") {
+ return done(new JsonWebTokenError2("invalid exp value"));
+ }
+ if (clockTimestamp >= payload.exp + (options.clockTolerance || 0)) {
+ return done(new TokenExpiredError2("jwt expired", new Date(payload.exp * 1e3)));
+ }
+ }
+ if (options.audience) {
+ const audiences = Array.isArray(options.audience) ? options.audience : [options.audience];
+ const target = Array.isArray(payload.aud) ? payload.aud : [payload.aud];
+ const match = target.some(function(targetAudience) {
+ return audiences.some(function(audience) {
+ return audience instanceof RegExp ? audience.test(targetAudience) : audience === targetAudience;
+ });
+ });
+ if (!match) {
+ return done(new JsonWebTokenError2("jwt audience invalid. expected: " + audiences.join(" or ")));
+ }
+ }
+ if (options.issuer) {
+ const invalid_issuer = typeof options.issuer === "string" && payload.iss !== options.issuer || Array.isArray(options.issuer) && options.issuer.indexOf(payload.iss) === -1;
+ if (invalid_issuer) {
+ return done(new JsonWebTokenError2("jwt issuer invalid. expected: " + options.issuer));
+ }
+ }
+ if (options.subject) {
+ if (payload.sub !== options.subject) {
+ return done(new JsonWebTokenError2("jwt subject invalid. expected: " + options.subject));
+ }
+ }
+ if (options.jwtid) {
+ if (payload.jti !== options.jwtid) {
+ return done(new JsonWebTokenError2("jwt jwtid invalid. expected: " + options.jwtid));
+ }
+ }
+ if (options.nonce) {
+ if (payload.nonce !== options.nonce) {
+ return done(new JsonWebTokenError2("jwt nonce invalid. expected: " + options.nonce));
+ }
+ }
+ if (options.maxAge) {
+ if (typeof payload.iat !== "number") {
+ return done(new JsonWebTokenError2("iat required when maxAge is specified"));
+ }
+ const maxAgeTimestamp = timespan(options.maxAge, payload.iat);
+ if (typeof maxAgeTimestamp === "undefined") {
+ return done(new JsonWebTokenError2('"maxAge" should be a number of seconds or string representing a timespan eg: "1d", "20h", 60'));
+ }
+ if (clockTimestamp >= maxAgeTimestamp + (options.clockTolerance || 0)) {
+ return done(new TokenExpiredError2("maxAge exceeded", new Date(maxAgeTimestamp * 1e3)));
+ }
+ }
+ if (options.complete === true) {
+ const signature = decodedToken.signature;
+ return done(null, {
+ header,
+ payload,
+ signature
+ });
+ }
+ return done(null, payload);
+ });
+ };
+ }
+});
+
+// ../../node_modules/.pnpm/lodash.includes@4.3.0/node_modules/lodash.includes/index.js
+var require_lodash = __commonJS({
+ "../../node_modules/.pnpm/lodash.includes@4.3.0/node_modules/lodash.includes/index.js"(exports, module) {
+ var INFINITY = 1 / 0;
+ var MAX_SAFE_INTEGER = 9007199254740991;
+ var MAX_INTEGER = 17976931348623157e292;
+ var NAN = 0 / 0;
+ var argsTag = "[object Arguments]";
+ var funcTag = "[object Function]";
+ var genTag = "[object GeneratorFunction]";
+ var stringTag = "[object String]";
+ var symbolTag = "[object Symbol]";
+ var reTrim = /^\s+|\s+$/g;
+ var reIsBadHex = /^[-+]0x[0-9a-f]+$/i;
+ var reIsBinary = /^0b[01]+$/i;
+ var reIsOctal = /^0o[0-7]+$/i;
+ var reIsUint = /^(?:0|[1-9]\d*)$/;
+ var freeParseInt = parseInt;
+ function arrayMap(array2, iteratee) {
+ var index = -1, length = array2 ? array2.length : 0, result = Array(length);
+ while (++index < length) {
+ result[index] = iteratee(array2[index], index, array2);
+ }
+ return result;
+ }
+ __name(arrayMap, "arrayMap");
+ function baseFindIndex(array2, predicate, fromIndex, fromRight) {
+ var length = array2.length, index = fromIndex + (fromRight ? 1 : -1);
+ while (fromRight ? index-- : ++index < length) {
+ if (predicate(array2[index], index, array2)) {
+ return index;
+ }
+ }
+ return -1;
+ }
+ __name(baseFindIndex, "baseFindIndex");
+ function baseIndexOf(array2, value, fromIndex) {
+ if (value !== value) {
+ return baseFindIndex(array2, baseIsNaN, fromIndex);
+ }
+ var index = fromIndex - 1, length = array2.length;
+ while (++index < length) {
+ if (array2[index] === value) {
+ return index;
+ }
+ }
+ return -1;
+ }
+ __name(baseIndexOf, "baseIndexOf");
+ function baseIsNaN(value) {
+ return value !== value;
+ }
+ __name(baseIsNaN, "baseIsNaN");
+ function baseTimes(n3, iteratee) {
+ var index = -1, result = Array(n3);
+ while (++index < n3) {
+ result[index] = iteratee(index);
+ }
+ return result;
+ }
+ __name(baseTimes, "baseTimes");
+ function baseValues(object2, props) {
+ return arrayMap(props, function(key) {
+ return object2[key];
+ });
+ }
+ __name(baseValues, "baseValues");
+ function overArg(func, transform2) {
+ return function(arg) {
+ return func(transform2(arg));
+ };
+ }
+ __name(overArg, "overArg");
+ var objectProto = Object.prototype;
+ var hasOwnProperty = objectProto.hasOwnProperty;
+ var objectToString = objectProto.toString;
+ var propertyIsEnumerable = objectProto.propertyIsEnumerable;
+ var nativeKeys = overArg(Object.keys, Object);
+ var nativeMax = Math.max;
+ function arrayLikeKeys(value, inherited) {
+ var result = isArray(value) || isArguments(value) ? baseTimes(value.length, String) : [];
+ var length = result.length, skipIndexes = !!length;
+ for (var key in value) {
+ if ((inherited || hasOwnProperty.call(value, key)) && !(skipIndexes && (key == "length" || isIndex(key, length)))) {
+ result.push(key);
+ }
+ }
+ return result;
+ }
+ __name(arrayLikeKeys, "arrayLikeKeys");
+ function baseKeys(object2) {
+ if (!isPrototype(object2)) {
+ return nativeKeys(object2);
+ }
+ var result = [];
+ for (var key in Object(object2)) {
+ if (hasOwnProperty.call(object2, key) && key != "constructor") {
+ result.push(key);
+ }
+ }
+ return result;
+ }
+ __name(baseKeys, "baseKeys");
+ function isIndex(value, length) {
+ length = length == null ? MAX_SAFE_INTEGER : length;
+ return !!length && (typeof value == "number" || reIsUint.test(value)) && (value > -1 && value % 1 == 0 && value < length);
+ }
+ __name(isIndex, "isIndex");
+ function isPrototype(value) {
+ var Ctor = value && value.constructor, proto = typeof Ctor == "function" && Ctor.prototype || objectProto;
+ return value === proto;
+ }
+ __name(isPrototype, "isPrototype");
+ function includes(collection, value, fromIndex, guard) {
+ collection = isArrayLike(collection) ? collection : values(collection);
+ fromIndex = fromIndex && !guard ? toInteger(fromIndex) : 0;
+ var length = collection.length;
+ if (fromIndex < 0) {
+ fromIndex = nativeMax(length + fromIndex, 0);
+ }
+ return isString(collection) ? fromIndex <= length && collection.indexOf(value, fromIndex) > -1 : !!length && baseIndexOf(collection, value, fromIndex) > -1;
+ }
+ __name(includes, "includes");
+ function isArguments(value) {
+ return isArrayLikeObject(value) && hasOwnProperty.call(value, "callee") && (!propertyIsEnumerable.call(value, "callee") || objectToString.call(value) == argsTag);
+ }
+ __name(isArguments, "isArguments");
+ var isArray = Array.isArray;
+ function isArrayLike(value) {
+ return value != null && isLength(value.length) && !isFunction(value);
+ }
+ __name(isArrayLike, "isArrayLike");
+ function isArrayLikeObject(value) {
+ return isObjectLike(value) && isArrayLike(value);
+ }
+ __name(isArrayLikeObject, "isArrayLikeObject");
+ function isFunction(value) {
+ var tag = isObject2(value) ? objectToString.call(value) : "";
+ return tag == funcTag || tag == genTag;
+ }
+ __name(isFunction, "isFunction");
+ function isLength(value) {
+ return typeof value == "number" && value > -1 && value % 1 == 0 && value <= MAX_SAFE_INTEGER;
+ }
+ __name(isLength, "isLength");
+ function isObject2(value) {
+ var type = typeof value;
+ return !!value && (type == "object" || type == "function");
+ }
+ __name(isObject2, "isObject");
+ function isObjectLike(value) {
+ return !!value && typeof value == "object";
+ }
+ __name(isObjectLike, "isObjectLike");
+ function isString(value) {
+ return typeof value == "string" || !isArray(value) && isObjectLike(value) && objectToString.call(value) == stringTag;
+ }
+ __name(isString, "isString");
+ function isSymbol(value) {
+ return typeof value == "symbol" || isObjectLike(value) && objectToString.call(value) == symbolTag;
+ }
+ __name(isSymbol, "isSymbol");
+ function toFinite(value) {
+ if (!value) {
+ return value === 0 ? value : 0;
+ }
+ value = toNumber(value);
+ if (value === INFINITY || value === -INFINITY) {
+ var sign2 = value < 0 ? -1 : 1;
+ return sign2 * MAX_INTEGER;
+ }
+ return value === value ? value : 0;
+ }
+ __name(toFinite, "toFinite");
+ function toInteger(value) {
+ var result = toFinite(value), remainder = result % 1;
+ return result === result ? remainder ? result - remainder : result : 0;
+ }
+ __name(toInteger, "toInteger");
+ function toNumber(value) {
+ if (typeof value == "number") {
+ return value;
+ }
+ if (isSymbol(value)) {
+ return NAN;
+ }
+ if (isObject2(value)) {
+ var other = typeof value.valueOf == "function" ? value.valueOf() : value;
+ value = isObject2(other) ? other + "" : other;
+ }
+ if (typeof value != "string") {
+ return value === 0 ? value : +value;
+ }
+ value = value.replace(reTrim, "");
+ var isBinary = reIsBinary.test(value);
+ return isBinary || reIsOctal.test(value) ? freeParseInt(value.slice(2), isBinary ? 2 : 8) : reIsBadHex.test(value) ? NAN : +value;
+ }
+ __name(toNumber, "toNumber");
+ function keys(object2) {
+ return isArrayLike(object2) ? arrayLikeKeys(object2) : baseKeys(object2);
+ }
+ __name(keys, "keys");
+ function values(object2) {
+ return object2 ? baseValues(object2, keys(object2)) : [];
+ }
+ __name(values, "values");
+ module.exports = includes;
+ }
+});
+
+// ../../node_modules/.pnpm/lodash.isboolean@3.0.3/node_modules/lodash.isboolean/index.js
+var require_lodash2 = __commonJS({
+ "../../node_modules/.pnpm/lodash.isboolean@3.0.3/node_modules/lodash.isboolean/index.js"(exports, module) {
+ var boolTag = "[object Boolean]";
+ var objectProto = Object.prototype;
+ var objectToString = objectProto.toString;
+ function isBoolean(value) {
+ return value === true || value === false || isObjectLike(value) && objectToString.call(value) == boolTag;
+ }
+ __name(isBoolean, "isBoolean");
+ function isObjectLike(value) {
+ return !!value && typeof value == "object";
+ }
+ __name(isObjectLike, "isObjectLike");
+ module.exports = isBoolean;
+ }
+});
+
+// ../../node_modules/.pnpm/lodash.isinteger@4.0.4/node_modules/lodash.isinteger/index.js
+var require_lodash3 = __commonJS({
+ "../../node_modules/.pnpm/lodash.isinteger@4.0.4/node_modules/lodash.isinteger/index.js"(exports, module) {
+ var INFINITY = 1 / 0;
+ var MAX_INTEGER = 17976931348623157e292;
+ var NAN = 0 / 0;
+ var symbolTag = "[object Symbol]";
+ var reTrim = /^\s+|\s+$/g;
+ var reIsBadHex = /^[-+]0x[0-9a-f]+$/i;
+ var reIsBinary = /^0b[01]+$/i;
+ var reIsOctal = /^0o[0-7]+$/i;
+ var freeParseInt = parseInt;
+ var objectProto = Object.prototype;
+ var objectToString = objectProto.toString;
+ function isInteger(value) {
+ return typeof value == "number" && value == toInteger(value);
+ }
+ __name(isInteger, "isInteger");
+ function isObject2(value) {
+ var type = typeof value;
+ return !!value && (type == "object" || type == "function");
+ }
+ __name(isObject2, "isObject");
+ function isObjectLike(value) {
+ return !!value && typeof value == "object";
+ }
+ __name(isObjectLike, "isObjectLike");
+ function isSymbol(value) {
+ return typeof value == "symbol" || isObjectLike(value) && objectToString.call(value) == symbolTag;
+ }
+ __name(isSymbol, "isSymbol");
+ function toFinite(value) {
+ if (!value) {
+ return value === 0 ? value : 0;
+ }
+ value = toNumber(value);
+ if (value === INFINITY || value === -INFINITY) {
+ var sign2 = value < 0 ? -1 : 1;
+ return sign2 * MAX_INTEGER;
+ }
+ return value === value ? value : 0;
+ }
+ __name(toFinite, "toFinite");
+ function toInteger(value) {
+ var result = toFinite(value), remainder = result % 1;
+ return result === result ? remainder ? result - remainder : result : 0;
+ }
+ __name(toInteger, "toInteger");
+ function toNumber(value) {
+ if (typeof value == "number") {
+ return value;
+ }
+ if (isSymbol(value)) {
+ return NAN;
+ }
+ if (isObject2(value)) {
+ var other = typeof value.valueOf == "function" ? value.valueOf() : value;
+ value = isObject2(other) ? other + "" : other;
+ }
+ if (typeof value != "string") {
+ return value === 0 ? value : +value;
+ }
+ value = value.replace(reTrim, "");
+ var isBinary = reIsBinary.test(value);
+ return isBinary || reIsOctal.test(value) ? freeParseInt(value.slice(2), isBinary ? 2 : 8) : reIsBadHex.test(value) ? NAN : +value;
+ }
+ __name(toNumber, "toNumber");
+ module.exports = isInteger;
+ }
+});
+
+// ../../node_modules/.pnpm/lodash.isnumber@3.0.3/node_modules/lodash.isnumber/index.js
+var require_lodash4 = __commonJS({
+ "../../node_modules/.pnpm/lodash.isnumber@3.0.3/node_modules/lodash.isnumber/index.js"(exports, module) {
+ var numberTag = "[object Number]";
+ var objectProto = Object.prototype;
+ var objectToString = objectProto.toString;
+ function isObjectLike(value) {
+ return !!value && typeof value == "object";
+ }
+ __name(isObjectLike, "isObjectLike");
+ function isNumber(value) {
+ return typeof value == "number" || isObjectLike(value) && objectToString.call(value) == numberTag;
+ }
+ __name(isNumber, "isNumber");
+ module.exports = isNumber;
+ }
+});
+
+// ../../node_modules/.pnpm/lodash.isplainobject@4.0.6/node_modules/lodash.isplainobject/index.js
+var require_lodash5 = __commonJS({
+ "../../node_modules/.pnpm/lodash.isplainobject@4.0.6/node_modules/lodash.isplainobject/index.js"(exports, module) {
+ var objectTag = "[object Object]";
+ function isHostObject(value) {
+ var result = false;
+ if (value != null && typeof value.toString != "function") {
+ try {
+ result = !!(value + "");
+ } catch (e5) {
+ }
+ }
+ return result;
+ }
+ __name(isHostObject, "isHostObject");
+ function overArg(func, transform2) {
+ return function(arg) {
+ return func(transform2(arg));
+ };
+ }
+ __name(overArg, "overArg");
+ var funcProto = Function.prototype;
+ var objectProto = Object.prototype;
+ var funcToString = funcProto.toString;
+ var hasOwnProperty = objectProto.hasOwnProperty;
+ var objectCtorString = funcToString.call(Object);
+ var objectToString = objectProto.toString;
+ var getPrototype = overArg(Object.getPrototypeOf, Object);
+ function isObjectLike(value) {
+ return !!value && typeof value == "object";
+ }
+ __name(isObjectLike, "isObjectLike");
+ function isPlainObject2(value) {
+ if (!isObjectLike(value) || objectToString.call(value) != objectTag || isHostObject(value)) {
+ return false;
+ }
+ var proto = getPrototype(value);
+ if (proto === null) {
+ return true;
+ }
+ var Ctor = hasOwnProperty.call(proto, "constructor") && proto.constructor;
+ return typeof Ctor == "function" && Ctor instanceof Ctor && funcToString.call(Ctor) == objectCtorString;
+ }
+ __name(isPlainObject2, "isPlainObject");
+ module.exports = isPlainObject2;
+ }
+});
+
+// ../../node_modules/.pnpm/lodash.isstring@4.0.1/node_modules/lodash.isstring/index.js
+var require_lodash6 = __commonJS({
+ "../../node_modules/.pnpm/lodash.isstring@4.0.1/node_modules/lodash.isstring/index.js"(exports, module) {
+ var stringTag = "[object String]";
+ var objectProto = Object.prototype;
+ var objectToString = objectProto.toString;
+ var isArray = Array.isArray;
+ function isObjectLike(value) {
+ return !!value && typeof value == "object";
+ }
+ __name(isObjectLike, "isObjectLike");
+ function isString(value) {
+ return typeof value == "string" || !isArray(value) && isObjectLike(value) && objectToString.call(value) == stringTag;
+ }
+ __name(isString, "isString");
+ module.exports = isString;
+ }
+});
+
+// ../../node_modules/.pnpm/lodash.once@4.1.1/node_modules/lodash.once/index.js
+var require_lodash7 = __commonJS({
+ "../../node_modules/.pnpm/lodash.once@4.1.1/node_modules/lodash.once/index.js"(exports, module) {
+ var FUNC_ERROR_TEXT = "Expected a function";
+ var INFINITY = 1 / 0;
+ var MAX_INTEGER = 17976931348623157e292;
+ var NAN = 0 / 0;
+ var symbolTag = "[object Symbol]";
+ var reTrim = /^\s+|\s+$/g;
+ var reIsBadHex = /^[-+]0x[0-9a-f]+$/i;
+ var reIsBinary = /^0b[01]+$/i;
+ var reIsOctal = /^0o[0-7]+$/i;
+ var freeParseInt = parseInt;
+ var objectProto = Object.prototype;
+ var objectToString = objectProto.toString;
+ function before(n3, func) {
+ var result;
+ if (typeof func != "function") {
+ throw new TypeError(FUNC_ERROR_TEXT);
+ }
+ n3 = toInteger(n3);
+ return function() {
+ if (--n3 > 0) {
+ result = func.apply(this, arguments);
+ }
+ if (n3 <= 1) {
+ func = void 0;
+ }
+ return result;
+ };
+ }
+ __name(before, "before");
+ function once(func) {
+ return before(2, func);
+ }
+ __name(once, "once");
+ function isObject2(value) {
+ var type = typeof value;
+ return !!value && (type == "object" || type == "function");
+ }
+ __name(isObject2, "isObject");
+ function isObjectLike(value) {
+ return !!value && typeof value == "object";
+ }
+ __name(isObjectLike, "isObjectLike");
+ function isSymbol(value) {
+ return typeof value == "symbol" || isObjectLike(value) && objectToString.call(value) == symbolTag;
+ }
+ __name(isSymbol, "isSymbol");
+ function toFinite(value) {
+ if (!value) {
+ return value === 0 ? value : 0;
+ }
+ value = toNumber(value);
+ if (value === INFINITY || value === -INFINITY) {
+ var sign2 = value < 0 ? -1 : 1;
+ return sign2 * MAX_INTEGER;
+ }
+ return value === value ? value : 0;
+ }
+ __name(toFinite, "toFinite");
+ function toInteger(value) {
+ var result = toFinite(value), remainder = result % 1;
+ return result === result ? remainder ? result - remainder : result : 0;
+ }
+ __name(toInteger, "toInteger");
+ function toNumber(value) {
+ if (typeof value == "number") {
+ return value;
+ }
+ if (isSymbol(value)) {
+ return NAN;
+ }
+ if (isObject2(value)) {
+ var other = typeof value.valueOf == "function" ? value.valueOf() : value;
+ value = isObject2(other) ? other + "" : other;
+ }
+ if (typeof value != "string") {
+ return value === 0 ? value : +value;
+ }
+ value = value.replace(reTrim, "");
+ var isBinary = reIsBinary.test(value);
+ return isBinary || reIsOctal.test(value) ? freeParseInt(value.slice(2), isBinary ? 2 : 8) : reIsBadHex.test(value) ? NAN : +value;
+ }
+ __name(toNumber, "toNumber");
+ module.exports = once;
+ }
+});
+
+// ../../node_modules/.pnpm/jsonwebtoken@9.0.3/node_modules/jsonwebtoken/sign.js
+var require_sign = __commonJS({
+ "../../node_modules/.pnpm/jsonwebtoken@9.0.3/node_modules/jsonwebtoken/sign.js"(exports, module) {
+ var timespan = require_timespan();
+ var PS_SUPPORTED = require_psSupported();
+ var validateAsymmetricKey = require_validateAsymmetricKey();
+ var jws = require_jws();
+ var includes = require_lodash();
+ var isBoolean = require_lodash2();
+ var isInteger = require_lodash3();
+ var isNumber = require_lodash4();
+ var isPlainObject2 = require_lodash5();
+ var isString = require_lodash6();
+ var once = require_lodash7();
+ var { KeyObject, createSecretKey, createPrivateKey } = __require("crypto");
+ var SUPPORTED_ALGS = ["RS256", "RS384", "RS512", "ES256", "ES384", "ES512", "HS256", "HS384", "HS512", "none"];
+ if (PS_SUPPORTED) {
+ SUPPORTED_ALGS.splice(3, 0, "PS256", "PS384", "PS512");
+ }
+ var sign_options_schema = {
+ expiresIn: { isValid: /* @__PURE__ */ __name(function(value) {
+ return isInteger(value) || isString(value) && value;
+ }, "isValid"), message: '"expiresIn" should be a number of seconds or string representing a timespan' },
+ notBefore: { isValid: /* @__PURE__ */ __name(function(value) {
+ return isInteger(value) || isString(value) && value;
+ }, "isValid"), message: '"notBefore" should be a number of seconds or string representing a timespan' },
+ audience: { isValid: /* @__PURE__ */ __name(function(value) {
+ return isString(value) || Array.isArray(value);
+ }, "isValid"), message: '"audience" must be a string or array' },
+ algorithm: { isValid: includes.bind(null, SUPPORTED_ALGS), message: '"algorithm" must be a valid string enum value' },
+ header: { isValid: isPlainObject2, message: '"header" must be an object' },
+ encoding: { isValid: isString, message: '"encoding" must be a string' },
+ issuer: { isValid: isString, message: '"issuer" must be a string' },
+ subject: { isValid: isString, message: '"subject" must be a string' },
+ jwtid: { isValid: isString, message: '"jwtid" must be a string' },
+ noTimestamp: { isValid: isBoolean, message: '"noTimestamp" must be a boolean' },
+ keyid: { isValid: isString, message: '"keyid" must be a string' },
+ mutatePayload: { isValid: isBoolean, message: '"mutatePayload" must be a boolean' },
+ allowInsecureKeySizes: { isValid: isBoolean, message: '"allowInsecureKeySizes" must be a boolean' },
+ allowInvalidAsymmetricKeyTypes: { isValid: isBoolean, message: '"allowInvalidAsymmetricKeyTypes" must be a boolean' }
+ };
+ var registered_claims_schema = {
+ iat: { isValid: isNumber, message: '"iat" should be a number of seconds' },
+ exp: { isValid: isNumber, message: '"exp" should be a number of seconds' },
+ nbf: { isValid: isNumber, message: '"nbf" should be a number of seconds' }
+ };
+ function validate3(schema2, allowUnknown, object2, parameterName) {
+ if (!isPlainObject2(object2)) {
+ throw new Error('Expected "' + parameterName + '" to be a plain object.');
+ }
+ Object.keys(object2).forEach(function(key) {
+ const validator = schema2[key];
+ if (!validator) {
+ if (!allowUnknown) {
+ throw new Error('"' + key + '" is not allowed in "' + parameterName + '"');
+ }
+ return;
+ }
+ if (!validator.isValid(object2[key])) {
+ throw new Error(validator.message);
+ }
+ });
+ }
+ __name(validate3, "validate");
+ function validateOptions(options) {
+ return validate3(sign_options_schema, false, options, "options");
+ }
+ __name(validateOptions, "validateOptions");
+ function validatePayload(payload) {
+ return validate3(registered_claims_schema, true, payload, "payload");
+ }
+ __name(validatePayload, "validatePayload");
+ var options_to_payload = {
+ "audience": "aud",
+ "issuer": "iss",
+ "subject": "sub",
+ "jwtid": "jti"
+ };
+ var options_for_objects = [
+ "expiresIn",
+ "notBefore",
+ "noTimestamp",
+ "audience",
+ "issuer",
+ "subject",
+ "jwtid"
+ ];
+ module.exports = function(payload, secretOrPrivateKey, options, callback) {
+ if (typeof options === "function") {
+ callback = options;
+ options = {};
+ } else {
+ options = options || {};
+ }
+ const isObjectPayload = typeof payload === "object" && !Buffer.isBuffer(payload);
+ const header = Object.assign({
+ alg: options.algorithm || "HS256",
+ typ: isObjectPayload ? "JWT" : void 0,
+ kid: options.keyid
+ }, options.header);
+ function failure2(err) {
+ if (callback) {
+ return callback(err);
+ }
+ throw err;
+ }
+ __name(failure2, "failure");
+ if (!secretOrPrivateKey && options.algorithm !== "none") {
+ return failure2(new Error("secretOrPrivateKey must have a value"));
+ }
+ if (secretOrPrivateKey != null && !(secretOrPrivateKey instanceof KeyObject)) {
+ try {
+ secretOrPrivateKey = createPrivateKey(secretOrPrivateKey);
+ } catch (_) {
+ try {
+ secretOrPrivateKey = createSecretKey(typeof secretOrPrivateKey === "string" ? Buffer.from(secretOrPrivateKey) : secretOrPrivateKey);
+ } catch (_2) {
+ return failure2(new Error("secretOrPrivateKey is not valid key material"));
+ }
+ }
+ }
+ if (header.alg.startsWith("HS") && secretOrPrivateKey.type !== "secret") {
+ return failure2(new Error(`secretOrPrivateKey must be a symmetric key when using ${header.alg}`));
+ } else if (/^(?:RS|PS|ES)/.test(header.alg)) {
+ if (secretOrPrivateKey.type !== "private") {
+ return failure2(new Error(`secretOrPrivateKey must be an asymmetric key when using ${header.alg}`));
+ }
+ if (!options.allowInsecureKeySizes && !header.alg.startsWith("ES") && secretOrPrivateKey.asymmetricKeyDetails !== void 0 && //KeyObject.asymmetricKeyDetails is supported in Node 15+
+ secretOrPrivateKey.asymmetricKeyDetails.modulusLength < 2048) {
+ return failure2(new Error(`secretOrPrivateKey has a minimum key size of 2048 bits for ${header.alg}`));
+ }
+ }
+ if (typeof payload === "undefined") {
+ return failure2(new Error("payload is required"));
+ } else if (isObjectPayload) {
+ try {
+ validatePayload(payload);
+ } catch (error62) {
+ return failure2(error62);
+ }
+ if (!options.mutatePayload) {
+ payload = Object.assign({}, payload);
+ }
+ } else {
+ const invalid_options = options_for_objects.filter(function(opt) {
+ return typeof options[opt] !== "undefined";
+ });
+ if (invalid_options.length > 0) {
+ return failure2(new Error("invalid " + invalid_options.join(",") + " option for " + typeof payload + " payload"));
+ }
+ }
+ if (typeof payload.exp !== "undefined" && typeof options.expiresIn !== "undefined") {
+ return failure2(new Error('Bad "options.expiresIn" option the payload already has an "exp" property.'));
+ }
+ if (typeof payload.nbf !== "undefined" && typeof options.notBefore !== "undefined") {
+ return failure2(new Error('Bad "options.notBefore" option the payload already has an "nbf" property.'));
+ }
+ try {
+ validateOptions(options);
+ } catch (error62) {
+ return failure2(error62);
+ }
+ if (!options.allowInvalidAsymmetricKeyTypes) {
+ try {
+ validateAsymmetricKey(header.alg, secretOrPrivateKey);
+ } catch (error62) {
+ return failure2(error62);
+ }
+ }
+ const timestamp = payload.iat || Math.floor(Date.now() / 1e3);
+ if (options.noTimestamp) {
+ delete payload.iat;
+ } else if (isObjectPayload) {
+ payload.iat = timestamp;
+ }
+ if (typeof options.notBefore !== "undefined") {
+ try {
+ payload.nbf = timespan(options.notBefore, timestamp);
+ } catch (err) {
+ return failure2(err);
+ }
+ if (typeof payload.nbf === "undefined") {
+ return failure2(new Error('"notBefore" should be a number of seconds or string representing a timespan eg: "1d", "20h", 60'));
+ }
+ }
+ if (typeof options.expiresIn !== "undefined" && typeof payload === "object") {
+ try {
+ payload.exp = timespan(options.expiresIn, timestamp);
+ } catch (err) {
+ return failure2(err);
+ }
+ if (typeof payload.exp === "undefined") {
+ return failure2(new Error('"expiresIn" should be a number of seconds or string representing a timespan eg: "1d", "20h", 60'));
+ }
+ }
+ Object.keys(options_to_payload).forEach(function(key) {
+ const claim2 = options_to_payload[key];
+ if (typeof options[key] !== "undefined") {
+ if (typeof payload[claim2] !== "undefined") {
+ return failure2(new Error('Bad "options.' + key + '" option. The payload already has an "' + claim2 + '" property.'));
+ }
+ payload[claim2] = options[key];
+ }
+ });
+ const encoding = options.encoding || "utf8";
+ if (typeof callback === "function") {
+ callback = callback && once(callback);
+ jws.createSign({
+ header,
+ privateKey: secretOrPrivateKey,
+ payload,
+ encoding
+ }).once("error", callback).once("done", function(signature) {
+ if (!options.allowInsecureKeySizes && /^(?:RS|PS)/.test(header.alg) && signature.length < 256) {
+ return callback(new Error(`secretOrPrivateKey has a minimum key size of 2048 bits for ${header.alg}`));
+ }
+ callback(null, signature);
+ });
+ } else {
+ let signature = jws.sign({ header, payload, secret: secretOrPrivateKey, encoding });
+ if (!options.allowInsecureKeySizes && /^(?:RS|PS)/.test(header.alg) && signature.length < 256) {
+ throw new Error(`secretOrPrivateKey has a minimum key size of 2048 bits for ${header.alg}`);
+ }
+ return signature;
+ }
+ };
+ }
+});
+
+// ../../node_modules/.pnpm/jsonwebtoken@9.0.3/node_modules/jsonwebtoken/index.js
+var require_jsonwebtoken = __commonJS({
+ "../../node_modules/.pnpm/jsonwebtoken@9.0.3/node_modules/jsonwebtoken/index.js"(exports, module) {
+ module.exports = {
+ decode: require_decode(),
+ verify: require_verify(),
+ sign: require_sign(),
+ JsonWebTokenError: require_JsonWebTokenError(),
+ NotBeforeError: require_NotBeforeError(),
+ TokenExpiredError: require_TokenExpiredError()
+ };
+ }
+});
+
+// ../../node_modules/.pnpm/@aws-sdk+checksums@3.1001.4/node_modules/@aws-sdk/checksums/dist-es/submodules/flexible-checksums/constants.js
+var RequestChecksumCalculation, DEFAULT_REQUEST_CHECKSUM_CALCULATION, ResponseChecksumValidation, DEFAULT_RESPONSE_CHECKSUM_VALIDATION, ChecksumAlgorithm, ChecksumLocation, DEFAULT_CHECKSUM_ALGORITHM;
+var init_constants = __esm({
+ "../../node_modules/.pnpm/@aws-sdk+checksums@3.1001.4/node_modules/@aws-sdk/checksums/dist-es/submodules/flexible-checksums/constants.js"() {
+ RequestChecksumCalculation = {
+ WHEN_SUPPORTED: "WHEN_SUPPORTED",
+ WHEN_REQUIRED: "WHEN_REQUIRED"
+ };
+ DEFAULT_REQUEST_CHECKSUM_CALCULATION = RequestChecksumCalculation.WHEN_SUPPORTED;
+ ResponseChecksumValidation = {
+ WHEN_SUPPORTED: "WHEN_SUPPORTED",
+ WHEN_REQUIRED: "WHEN_REQUIRED"
+ };
+ DEFAULT_RESPONSE_CHECKSUM_VALIDATION = RequestChecksumCalculation.WHEN_SUPPORTED;
+ (function(ChecksumAlgorithm2) {
+ ChecksumAlgorithm2["MD5"] = "MD5";
+ ChecksumAlgorithm2["CRC32"] = "CRC32";
+ ChecksumAlgorithm2["CRC32C"] = "CRC32C";
+ ChecksumAlgorithm2["CRC64NVME"] = "CRC64NVME";
+ ChecksumAlgorithm2["SHA1"] = "SHA1";
+ ChecksumAlgorithm2["SHA256"] = "SHA256";
+ })(ChecksumAlgorithm || (ChecksumAlgorithm = {}));
+ (function(ChecksumLocation2) {
+ ChecksumLocation2["HEADER"] = "header";
+ ChecksumLocation2["TRAILER"] = "trailer";
+ })(ChecksumLocation || (ChecksumLocation = {}));
+ DEFAULT_CHECKSUM_ALGORITHM = ChecksumAlgorithm.CRC32;
+ }
+});
+
+// ../../node_modules/.pnpm/@aws-sdk+checksums@3.1001.4/node_modules/@aws-sdk/checksums/dist-es/submodules/flexible-checksums/stringUnionSelector.js
+var SelectorType2, stringUnionSelector;
+var init_stringUnionSelector = __esm({
+ "../../node_modules/.pnpm/@aws-sdk+checksums@3.1001.4/node_modules/@aws-sdk/checksums/dist-es/submodules/flexible-checksums/stringUnionSelector.js"() {
+ (function(SelectorType3) {
+ SelectorType3["ENV"] = "env";
+ SelectorType3["CONFIG"] = "shared config entry";
+ })(SelectorType2 || (SelectorType2 = {}));
+ stringUnionSelector = /* @__PURE__ */ __name((obj, key, union2, type) => {
+ if (!(key in obj))
+ return void 0;
+ const value = obj[key].toUpperCase();
+ if (!Object.values(union2).includes(value)) {
+ throw new TypeError(`Cannot load ${type} '${key}'. Expected one of ${Object.values(union2)}, got '${obj[key]}'.`);
+ }
+ return value;
+ }, "stringUnionSelector");
+ }
+});
+
+// ../../node_modules/.pnpm/@aws-sdk+checksums@3.1001.4/node_modules/@aws-sdk/checksums/dist-es/submodules/flexible-checksums/NODE_REQUEST_CHECKSUM_CALCULATION_CONFIG_OPTIONS.js
+var ENV_REQUEST_CHECKSUM_CALCULATION, CONFIG_REQUEST_CHECKSUM_CALCULATION, NODE_REQUEST_CHECKSUM_CALCULATION_CONFIG_OPTIONS;
+var init_NODE_REQUEST_CHECKSUM_CALCULATION_CONFIG_OPTIONS = __esm({
+ "../../node_modules/.pnpm/@aws-sdk+checksums@3.1001.4/node_modules/@aws-sdk/checksums/dist-es/submodules/flexible-checksums/NODE_REQUEST_CHECKSUM_CALCULATION_CONFIG_OPTIONS.js"() {
+ init_constants();
+ init_stringUnionSelector();
+ ENV_REQUEST_CHECKSUM_CALCULATION = "AWS_REQUEST_CHECKSUM_CALCULATION";
+ CONFIG_REQUEST_CHECKSUM_CALCULATION = "request_checksum_calculation";
+ NODE_REQUEST_CHECKSUM_CALCULATION_CONFIG_OPTIONS = {
+ environmentVariableSelector: /* @__PURE__ */ __name((env3) => stringUnionSelector(env3, ENV_REQUEST_CHECKSUM_CALCULATION, RequestChecksumCalculation, SelectorType2.ENV), "environmentVariableSelector"),
+ configFileSelector: /* @__PURE__ */ __name((profile) => stringUnionSelector(profile, CONFIG_REQUEST_CHECKSUM_CALCULATION, RequestChecksumCalculation, SelectorType2.CONFIG), "configFileSelector"),
+ default: DEFAULT_REQUEST_CHECKSUM_CALCULATION
+ };
+ }
+});
+
+// ../../node_modules/.pnpm/@aws-sdk+checksums@3.1001.4/node_modules/@aws-sdk/checksums/dist-es/submodules/flexible-checksums/NODE_RESPONSE_CHECKSUM_VALIDATION_CONFIG_OPTIONS.js
+var ENV_RESPONSE_CHECKSUM_VALIDATION, CONFIG_RESPONSE_CHECKSUM_VALIDATION, NODE_RESPONSE_CHECKSUM_VALIDATION_CONFIG_OPTIONS;
+var init_NODE_RESPONSE_CHECKSUM_VALIDATION_CONFIG_OPTIONS = __esm({
+ "../../node_modules/.pnpm/@aws-sdk+checksums@3.1001.4/node_modules/@aws-sdk/checksums/dist-es/submodules/flexible-checksums/NODE_RESPONSE_CHECKSUM_VALIDATION_CONFIG_OPTIONS.js"() {
+ init_constants();
+ init_stringUnionSelector();
+ ENV_RESPONSE_CHECKSUM_VALIDATION = "AWS_RESPONSE_CHECKSUM_VALIDATION";
+ CONFIG_RESPONSE_CHECKSUM_VALIDATION = "response_checksum_validation";
+ NODE_RESPONSE_CHECKSUM_VALIDATION_CONFIG_OPTIONS = {
+ environmentVariableSelector: /* @__PURE__ */ __name((env3) => stringUnionSelector(env3, ENV_RESPONSE_CHECKSUM_VALIDATION, ResponseChecksumValidation, SelectorType2.ENV), "environmentVariableSelector"),
+ configFileSelector: /* @__PURE__ */ __name((profile) => stringUnionSelector(profile, CONFIG_RESPONSE_CHECKSUM_VALIDATION, ResponseChecksumValidation, SelectorType2.CONFIG), "configFileSelector"),
+ default: DEFAULT_RESPONSE_CHECKSUM_VALIDATION
+ };
+ }
+});
+
+// ../../node_modules/.pnpm/@aws-sdk+core@3.978.4/node_modules/@aws-sdk/core/dist-es/submodules/client/emitWarningIfUnsupportedVersion.js
+var state, emitWarningIfUnsupportedVersion2;
+var init_emitWarningIfUnsupportedVersion = __esm({
+ "../../node_modules/.pnpm/@aws-sdk+core@3.978.4/node_modules/@aws-sdk/core/dist-es/submodules/client/emitWarningIfUnsupportedVersion.js"() {
+ state = {
+ warningEmitted: false
+ };
+ emitWarningIfUnsupportedVersion2 = /* @__PURE__ */ __name((version2) => {
+ if (version2 && !state.warningEmitted) {
+ if (process.env.AWS_SDK_JS_NODE_VERSION_SUPPORT_WARNING_DISABLED === "true") {
+ state.warningEmitted = true;
+ return;
+ }
+ const userMajorVersion = parseInt(version2.substring(1, version2.indexOf(".")));
+ const vv = 22;
+ if (userMajorVersion < vv) {
+ state.warningEmitted = true;
+ process.emitWarning(`NodeVersionSupportWarning: The AWS SDK for JavaScript (v3)
+versions published after the first week of January 2027
+will require node >=${vv}. You are running node ${version2}.
+
+To continue receiving updates to AWS services, bug fixes,
+and security updates please upgrade to node >=${vv}.
+
+More information can be found at: https://a.co/c895JFp`);
+ }
+ }
+ }, "emitWarningIfUnsupportedVersion");
+ }
+});
+
+// ../../node_modules/.pnpm/@aws-sdk+core@3.978.4/node_modules/@aws-sdk/core/dist-es/submodules/client/longPollMiddleware.js
+var longPollMiddleware, longPollMiddlewareOptions, getLongPollPlugin;
+var init_longPollMiddleware = __esm({
+ "../../node_modules/.pnpm/@aws-sdk+core@3.978.4/node_modules/@aws-sdk/core/dist-es/submodules/client/longPollMiddleware.js"() {
+ longPollMiddleware = /* @__PURE__ */ __name(() => (next, context) => async (args) => {
+ context.__retryLongPoll = true;
+ return next(args);
+ }, "longPollMiddleware");
+ longPollMiddlewareOptions = {
+ name: "longPollMiddleware",
+ tags: ["RETRY"],
+ step: "initialize",
+ override: true
+ };
+ getLongPollPlugin = /* @__PURE__ */ __name((options) => ({
+ applyToStack: /* @__PURE__ */ __name((clientStack) => {
+ clientStack.add(longPollMiddleware(), longPollMiddlewareOptions);
+ }, "applyToStack")
+ }), "getLongPollPlugin");
+ }
+});
+
+// ../../node_modules/.pnpm/@aws-sdk+core@3.978.4/node_modules/@aws-sdk/core/dist-es/submodules/client/setCredentialFeature.js
+function setCredentialFeature(credentials, feature, value) {
+ if (!credentials.$source) {
+ credentials.$source = {};
+ }
+ credentials.$source[feature] = value;
+ return credentials;
+}
+var init_setCredentialFeature = __esm({
+ "../../node_modules/.pnpm/@aws-sdk+core@3.978.4/node_modules/@aws-sdk/core/dist-es/submodules/client/setCredentialFeature.js"() {
+ __name(setCredentialFeature, "setCredentialFeature");
+ }
+});
+
+// ../../node_modules/.pnpm/@smithy+core@3.36.1/node_modules/@smithy/core/dist-es/submodules/retry/middleware-retry/isStreamingPayload/isStreamingPayload.js
+import { Readable } from "node:stream";
+var isStreamingPayload;
+var init_isStreamingPayload = __esm({
+ "../../node_modules/.pnpm/@smithy+core@3.36.1/node_modules/@smithy/core/dist-es/submodules/retry/middleware-retry/isStreamingPayload/isStreamingPayload.js"() {
+ isStreamingPayload = /* @__PURE__ */ __name((request) => request?.body instanceof Readable || typeof ReadableStream !== "undefined" && request?.body instanceof ReadableStream, "isStreamingPayload");
+ }
+});
+
+// ../../node_modules/.pnpm/@smithy+core@3.36.1/node_modules/@smithy/core/dist-es/submodules/protocols/collect-stream-body.js
+var collectBody;
+var init_collect_stream_body = __esm({
+ "../../node_modules/.pnpm/@smithy+core@3.36.1/node_modules/@smithy/core/dist-es/submodules/protocols/collect-stream-body.js"() {
+ init_serde();
+ collectBody = /* @__PURE__ */ __name(async (streamBody = new Uint8Array(), context) => {
+ if (streamBody instanceof Uint8Array) {
+ return Uint8ArrayBlobAdapter.mutate(streamBody);
+ }
+ if (!streamBody) {
+ return Uint8ArrayBlobAdapter.mutate(new Uint8Array());
+ }
+ const fromContext = context.streamCollector(streamBody);
+ return Uint8ArrayBlobAdapter.mutate(await fromContext);
+ }, "collectBody");
+ }
+});
+
+// ../../node_modules/.pnpm/@smithy+core@3.36.1/node_modules/@smithy/core/dist-es/submodules/protocols/extended-encode-uri-component.js
+function extendedEncodeURIComponent(str) {
+ return encodeURIComponent(str).replace(/[!'()*]/g, function(c5) {
+ return "%" + c5.charCodeAt(0).toString(16).toUpperCase();
+ });
+}
+var init_extended_encode_uri_component = __esm({
+ "../../node_modules/.pnpm/@smithy+core@3.36.1/node_modules/@smithy/core/dist-es/submodules/protocols/extended-encode-uri-component.js"() {
+ __name(extendedEncodeURIComponent, "extendedEncodeURIComponent");
+ }
+});
+
+// ../../node_modules/.pnpm/@smithy+core@3.36.1/node_modules/@smithy/core/dist-es/submodules/protocols/SerdeContext.js
+var SerdeContext;
+var init_SerdeContext = __esm({
+ "../../node_modules/.pnpm/@smithy+core@3.36.1/node_modules/@smithy/core/dist-es/submodules/protocols/SerdeContext.js"() {
+ SerdeContext = class {
+ static {
+ __name(this, "SerdeContext");
+ }
+ serdeContext;
+ setSerdeContext(serdeContext) {
+ this.serdeContext = serdeContext;
+ }
+ };
+ }
+});
+
+// ../../node_modules/.pnpm/@smithy+core@3.36.1/node_modules/@smithy/core/dist-es/submodules/protocols/HttpProtocol.js
+var HttpProtocol;
+var init_HttpProtocol = __esm({
+ "../../node_modules/.pnpm/@smithy+core@3.36.1/node_modules/@smithy/core/dist-es/submodules/protocols/HttpProtocol.js"() {
+ init_transport();
+ init_schema();
+ init_transport();
+ init_SerdeContext();
+ HttpProtocol = class extends SerdeContext {
+ static {
+ __name(this, "HttpProtocol");
+ }
+ options;
+ compositeErrorRegistry;
+ constructor(options) {
+ super();
+ this.options = options;
+ this.compositeErrorRegistry = new TypeRegistry(options.defaultNamespace);
+ for (const etr of options.errorTypeRegistries ?? []) {
+ this.compositeErrorRegistry.copyFrom(etr);
+ }
+ }
+ getRequestType() {
+ return HttpRequest;
+ }
+ getResponseType() {
+ return HttpResponse;
+ }
+ setSerdeContext(serdeContext) {
+ this.serdeContext = serdeContext;
+ this.serializer.setSerdeContext(serdeContext);
+ this.deserializer.setSerdeContext(serdeContext);
+ if (this.getPayloadCodec()) {
+ this.getPayloadCodec().setSerdeContext(serdeContext);
+ }
+ }
+ updateServiceEndpoint(request, endpoint) {
+ if ("url" in endpoint) {
+ request.protocol = endpoint.url.protocol;
+ request.hostname = endpoint.url.hostname;
+ request.port = endpoint.url.port ? Number(endpoint.url.port) : void 0;
+ request.path = endpoint.url.pathname;
+ request.fragment = endpoint.url.hash || void 0;
+ request.username = endpoint.url.username || void 0;
+ request.password = endpoint.url.password || void 0;
+ if (!request.query) {
+ request.query = {};
+ }
+ for (const [k5, v] of endpoint.url.searchParams.entries()) {
+ request.query[k5] = v;
+ }
+ if (endpoint.headers) {
+ for (const name2 in endpoint.headers) {
+ if (!hasOwn(endpoint.headers, name2))
+ continue;
+ request.headers[name2] = endpoint.headers[name2].join(", ");
+ }
+ }
+ return request;
+ } else {
+ request.protocol = endpoint.protocol;
+ request.hostname = endpoint.hostname;
+ request.port = endpoint.port ? Number(endpoint.port) : void 0;
+ request.path = endpoint.path;
+ request.query = {
+ ...endpoint.query
+ };
+ if (endpoint.headers) {
+ for (const name2 in endpoint.headers) {
+ if (!hasOwn(endpoint.headers, name2))
+ continue;
+ request.headers[name2] = endpoint.headers[name2];
+ }
+ }
+ return request;
+ }
+ }
+ setHostPrefix(request, operationSchema, input2) {
+ if (this.serdeContext?.disableHostPrefix) {
+ return;
+ }
+ const inputNs = NormalizedSchema.of(operationSchema.input);
+ const opTraits = translateTraits(operationSchema.traits ?? {});
+ if (opTraits.endpoint) {
+ let hostPrefix = opTraits.endpoint?.[0];
+ if (typeof hostPrefix === "string") {
+ for (const [name2, member] of inputNs.structIterator()) {
+ if (!member.getMergedTraits().hostLabel) {
+ continue;
+ }
+ const replacement = input2[name2];
+ if (typeof replacement !== "string") {
+ throw new Error(`@smithy/core/schema - ${name2} in input must be a string as hostLabel.`);
+ }
+ hostPrefix = hostPrefix.replace(`{${name2}}`, replacement);
+ }
+ request.hostname = hostPrefix + request.hostname;
+ if (!isValidHostname(request.hostname)) {
+ throw new Error(`[${request.hostname}] is not a valid hostname.`);
+ }
+ }
+ }
+ }
+ deserializeMetadata(output2) {
+ return {
+ httpStatusCode: output2.statusCode,
+ requestId: output2.headers["x-amzn-requestid"] ?? output2.headers["x-amzn-request-id"] ?? output2.headers["x-amz-request-id"],
+ extendedRequestId: output2.headers["x-amz-id-2"],
+ cfId: output2.headers["x-amz-cf-id"]
+ };
+ }
+ resolveError(name2, namespaces, registries) {
+ const defaultErrorSchema = [-3, "", "Error", 0, [], [], 0];
+ let schema2;
+ for (const registry2 of registries) {
+ for (const ns of namespaces) {
+ try {
+ if (ns === "*") {
+ schema2 = registry2.getSchema(name2);
+ } else {
+ schema2 = registry2.getSchema(ns + "#" + name2);
+ }
+ const errorCtor = registry2.getErrorCtor(schema2);
+ if (errorCtor) {
+ return [schema2, errorCtor, "modeled"];
+ } else {
+ const syntheticErrorSchema = registry2.getBaseException();
+ if (syntheticErrorSchema) {
+ const syntheticErrorCtor = registry2.getErrorCtor(syntheticErrorSchema);
+ if (syntheticErrorCtor) {
+ return [schema2, syntheticErrorCtor, "synthetic"];
+ }
+ }
+ }
+ } catch (ignored) {
+ }
+ }
+ }
+ for (const registry2 of registries) {
+ const syntheticErrorSchema = registry2.getBaseException();
+ if (syntheticErrorSchema) {
+ const syntheticErrorCtor = registry2.getErrorCtor(syntheticErrorSchema);
+ if (syntheticErrorCtor) {
+ return [syntheticErrorSchema, syntheticErrorCtor, "synthetic"];
+ }
+ }
+ }
+ return [defaultErrorSchema, Error, "native"];
+ }
+ async serializeEventStream({ eventStream, requestSchema, initialRequest }) {
+ const eventStreamSerde = await this.loadEventStreamCapability();
+ return eventStreamSerde.serializeEventStream({
+ eventStream,
+ requestSchema,
+ initialRequest
+ });
+ }
+ async deserializeEventStream({ response, responseSchema, initialResponseContainer }) {
+ const eventStreamSerde = await this.loadEventStreamCapability();
+ return eventStreamSerde.deserializeEventStream({
+ response,
+ responseSchema,
+ initialResponseContainer
+ });
+ }
+ async loadEventStreamCapability() {
+ const { EventStreamSerde, eventStreamSerdeProvider } = await import("./event-streams-IPK6VS6T.js");
+ const marshaller = this.resolveEventStreamMarshaller(eventStreamSerdeProvider);
+ return new EventStreamSerde({
+ marshaller,
+ serializer: this.serializer,
+ deserializer: this.deserializer,
+ serdeContext: this.serdeContext,
+ defaultContentType: this.getDefaultContentType(),
+ compositeErrorRegistry: this.compositeErrorRegistry
+ });
+ }
+ getDefaultContentType() {
+ throw new Error(`@smithy/core/protocols - ${this.constructor.name} getDefaultContentType() implementation missing.`);
+ }
+ async deserializeHttpMessage(schema2, context, response, arg4, arg5) {
+ void schema2;
+ void context;
+ void response;
+ void arg4;
+ void arg5;
+ return [];
+ }
+ getEventStreamMarshaller() {
+ const context = this.serdeContext;
+ if (!context.eventStreamMarshaller) {
+ throw new Error("@smithy/core - HttpProtocol: eventStreamMarshaller missing in serdeContext.");
+ }
+ return context.eventStreamMarshaller;
+ }
+ resolveEventStreamMarshaller(importedProvider) {
+ const context = this.serdeContext;
+ if (context.eventStreamMarshaller) {
+ return context.eventStreamMarshaller;
+ }
+ return importedProvider(this.serdeContext);
+ }
+ };
+ }
+});
+
+// ../../node_modules/.pnpm/@smithy+core@3.36.1/node_modules/@smithy/core/dist-es/submodules/protocols/HttpBindingProtocol.js
+var HttpBindingProtocol;
+var init_HttpBindingProtocol = __esm({
+ "../../node_modules/.pnpm/@smithy+core@3.36.1/node_modules/@smithy/core/dist-es/submodules/protocols/HttpBindingProtocol.js"() {
+ init_transport();
+ init_schema();
+ init_serde();
+ init_transport();
+ init_HttpProtocol();
+ init_collect_stream_body();
+ init_extended_encode_uri_component();
+ HttpBindingProtocol = class extends HttpProtocol {
+ static {
+ __name(this, "HttpBindingProtocol");
+ }
+ async serializeRequest(operationSchema, _input, context) {
+ const input2 = _input && typeof _input === "object" ? _input : {};
+ const serializer = this.serializer;
+ const query = {};
+ const headers = {};
+ const endpoint = await context.endpoint();
+ const ns = NormalizedSchema.of(operationSchema?.input);
+ const payloadMemberNames = [];
+ const payloadMemberSchemas = [];
+ let hasNonHttpBindingMember = false;
+ let payload;
+ const request = new HttpRequest({
+ protocol: "",
+ hostname: "",
+ port: void 0,
+ path: "",
+ fragment: void 0,
+ query,
+ headers,
+ body: void 0
+ });
+ if (endpoint) {
+ this.updateServiceEndpoint(request, endpoint);
+ this.setHostPrefix(request, operationSchema, input2);
+ const opTraits = translateTraits(operationSchema.traits);
+ if (opTraits.http) {
+ request.method = opTraits.http[0];
+ const [path2, search] = opTraits.http[1].split("?");
+ if (request.path == "/") {
+ request.path = path2;
+ } else {
+ request.path += path2;
+ }
+ const traitSearchParams = new URLSearchParams(search ?? "");
+ for (const [key, value] of traitSearchParams) {
+ query[key] = value;
+ }
+ }
+ }
+ for (const [memberName, memberNs] of ns.structIterator()) {
+ const memberTraits = memberNs.getMergedTraits() ?? {};
+ const inputMemberValue = input2[memberName];
+ if (inputMemberValue == null && !memberNs.isIdempotencyToken()) {
+ if (memberTraits.httpLabel) {
+ if (request.path.includes(`{${memberName}+}`) || request.path.includes(`{${memberName}}`)) {
+ throw new Error(`No value provided for input HTTP label: ${memberName}.`);
+ }
+ }
+ continue;
+ }
+ if (memberTraits.httpPayload) {
+ const isStreaming2 = memberNs.isStreaming();
+ if (isStreaming2) {
+ const isEventStream = memberNs.isStructSchema();
+ if (isEventStream) {
+ if (input2[memberName]) {
+ payload = await this.serializeEventStream({
+ eventStream: input2[memberName],
+ requestSchema: ns
+ });
+ }
+ } else {
+ payload = inputMemberValue;
+ }
+ } else {
+ serializer.write(memberNs, inputMemberValue);
+ payload = serializer.flush();
+ }
+ } else if (memberTraits.httpLabel) {
+ serializer.write(memberNs, inputMemberValue);
+ const replacement = serializer.flush();
+ if (request.path.includes(`{${memberName}+}`)) {
+ request.path = request.path.replace(`{${memberName}+}`, replacement.split("/").map(extendedEncodeURIComponent).join("/"));
+ } else if (request.path.includes(`{${memberName}}`)) {
+ request.path = request.path.replace(`{${memberName}}`, extendedEncodeURIComponent(replacement));
+ }
+ } else if (memberTraits.httpHeader) {
+ serializer.write(memberNs, inputMemberValue);
+ headers[memberTraits.httpHeader.toLowerCase()] = String(serializer.flush());
+ } else if (typeof memberTraits.httpPrefixHeaders === "string") {
+ for (const key in inputMemberValue) {
+ if (!hasOwn(inputMemberValue, key))
+ continue;
+ const val = inputMemberValue[key];
+ const amalgam = memberTraits.httpPrefixHeaders + key;
+ serializer.write([memberNs.getValueSchema(), { httpHeader: amalgam }], val);
+ headers[amalgam.toLowerCase()] = serializer.flush();
+ }
+ } else if (memberTraits.httpQuery || memberTraits.httpQueryParams) {
+ this.serializeQuery(memberNs, inputMemberValue, query);
+ } else {
+ hasNonHttpBindingMember = true;
+ payloadMemberNames.push(memberName);
+ payloadMemberSchemas.push(memberNs);
+ }
+ }
+ if (hasNonHttpBindingMember && input2) {
+ const [namespace, name2] = (ns.getName(true) ?? "#Unknown").split("#");
+ const requiredMembers = ns.getSchema()[6];
+ const payloadSchema = [
+ 3,
+ namespace,
+ name2,
+ ns.getMergedTraits(),
+ payloadMemberNames,
+ payloadMemberSchemas,
+ void 0
+ ];
+ if (requiredMembers) {
+ payloadSchema[6] = requiredMembers;
+ } else {
+ payloadSchema.pop();
+ }
+ serializer.write(payloadSchema, input2);
+ payload = serializer.flush();
+ }
+ request.headers = headers;
+ request.query = query;
+ request.body = payload;
+ return request;
+ }
+ serializeQuery(ns, data, query) {
+ const serializer = this.serializer;
+ const traits = ns.getMergedTraits();
+ if (traits.httpQueryParams) {
+ for (const key in data) {
+ if (!hasOwn(data, key))
+ continue;
+ if (!(key in query)) {
+ const val = data[key];
+ const valueSchema = ns.getValueSchema();
+ Object.assign(valueSchema.getMergedTraits(), {
+ ...traits,
+ httpQuery: key,
+ httpQueryParams: void 0
+ });
+ this.serializeQuery(valueSchema, val, query);
+ }
+ }
+ return;
+ }
+ if (ns.isListSchema()) {
+ const sparse = !!ns.getMergedTraits().sparse;
+ const buffer = [];
+ for (const item of data) {
+ serializer.write([ns.getValueSchema(), traits], item);
+ const serializable = serializer.flush();
+ if (sparse || serializable !== void 0) {
+ buffer.push(serializable);
+ }
+ }
+ query[traits.httpQuery] = buffer;
+ } else {
+ serializer.write([ns, traits], data);
+ query[traits.httpQuery] = serializer.flush();
+ }
+ }
+ async deserializeResponse(operationSchema, context, response) {
+ const deserializer = this.deserializer;
+ const ns = NormalizedSchema.of(operationSchema.output);
+ const dataObject = {};
+ if (response.statusCode >= 300) {
+ const bytes = await collectBody(response.body, context);
+ if (bytes.byteLength > 0) {
+ Object.assign(dataObject, await deserializer.read(15, bytes));
+ }
+ await this.handleError(operationSchema, context, response, dataObject, this.deserializeMetadata(response));
+ throw new Error("@smithy/core/protocols - HTTP Protocol error handler failed to throw.");
+ }
+ for (const header in response.headers) {
+ if (!hasOwn(response.headers, header))
+ continue;
+ const value = response.headers[header];
+ delete response.headers[header];
+ response.headers[header.toLowerCase()] = value;
+ }
+ const nonHttpBindingMembers = await this.deserializeHttpMessage(ns, context, response, dataObject);
+ if (nonHttpBindingMembers.length) {
+ const bytes = await collectBody(response.body, context);
+ if (bytes.byteLength > 0) {
+ const dataFromBody = await deserializer.read(ns, bytes);
+ for (const member of nonHttpBindingMembers) {
+ if (dataFromBody[member] != null) {
+ dataObject[member] = dataFromBody[member];
+ }
+ }
+ }
+ } else if (nonHttpBindingMembers.discardResponseBody) {
+ await collectBody(response.body, context);
+ }
+ dataObject.$metadata = this.deserializeMetadata(response);
+ return dataObject;
+ }
+ async deserializeHttpMessage(schema2, context, response, arg4, arg5) {
+ let dataObject;
+ if (arg4 instanceof Set) {
+ dataObject = arg5;
+ } else {
+ dataObject = arg4;
+ }
+ let discardResponseBody = true;
+ const deserializer = this.deserializer;
+ const ns = NormalizedSchema.of(schema2);
+ const nonHttpBindingMembers = [];
+ for (const [memberName, memberSchema] of ns.structIterator()) {
+ const memberTraits = memberSchema.getMemberTraits();
+ if (memberTraits.httpPayload) {
+ discardResponseBody = false;
+ const isStreaming2 = memberSchema.isStreaming();
+ if (isStreaming2) {
+ const isEventStream = memberSchema.isStructSchema();
+ if (isEventStream) {
+ dataObject[memberName] = await this.deserializeEventStream({
+ response,
+ responseSchema: ns
+ });
+ } else {
+ dataObject[memberName] = sdkStreamMixin(response.body);
+ }
+ } else if (response.body) {
+ const bytes = await collectBody(response.body, context);
+ if (bytes.byteLength > 0) {
+ dataObject[memberName] = await deserializer.read(memberSchema, bytes);
+ }
+ }
+ } else if (memberTraits.httpHeader) {
+ const key = String(memberTraits.httpHeader).toLowerCase();
+ const value = response.headers[key];
+ if (null != value) {
+ if (memberSchema.isListSchema()) {
+ const headerListValueSchema = memberSchema.getValueSchema();
+ headerListValueSchema.getMergedTraits().httpHeader = key;
+ let sections;
+ if (headerListValueSchema.isTimestampSchema() && headerListValueSchema.getSchema() === 4) {
+ sections = splitEvery(value, ",", 2);
+ } else {
+ sections = splitHeader(value);
+ }
+ const list = [];
+ for (const section of sections) {
+ list.push(await deserializer.read(headerListValueSchema, section.trim()));
+ }
+ dataObject[memberName] = list;
+ } else {
+ dataObject[memberName] = await deserializer.read(memberSchema, value);
+ }
+ }
+ } else if (memberTraits.httpPrefixHeaders !== void 0) {
+ dataObject[memberName] = {};
+ for (const header in response.headers) {
+ if (!hasOwn(response.headers, header))
+ continue;
+ if (header.startsWith(memberTraits.httpPrefixHeaders)) {
+ const value = response.headers[header];
+ const valueSchema = memberSchema.getValueSchema();
+ valueSchema.getMergedTraits().httpHeader = header;
+ dataObject[memberName][header.slice(memberTraits.httpPrefixHeaders.length)] = await deserializer.read(valueSchema, value);
+ }
+ }
+ } else if (memberTraits.httpResponseCode) {
+ dataObject[memberName] = response.statusCode;
+ } else {
+ nonHttpBindingMembers.push(memberName);
+ }
+ }
+ nonHttpBindingMembers.discardResponseBody = discardResponseBody;
+ return nonHttpBindingMembers;
+ }
+ };
+ }
+});
+
+// ../../node_modules/.pnpm/@smithy+core@3.36.1/node_modules/@smithy/core/dist-es/submodules/protocols/RpcProtocol.js
+var RpcProtocol;
+var init_RpcProtocol = __esm({
+ "../../node_modules/.pnpm/@smithy+core@3.36.1/node_modules/@smithy/core/dist-es/submodules/protocols/RpcProtocol.js"() {
+ init_transport();
+ init_schema();
+ init_transport();
+ init_HttpProtocol();
+ init_collect_stream_body();
+ RpcProtocol = class extends HttpProtocol {
+ static {
+ __name(this, "RpcProtocol");
+ }
+ async serializeRequest(operationSchema, _input, context) {
+ const serializer = this.serializer;
+ const query = {};
+ const headers = {};
+ const endpoint = await context.endpoint();
+ const ns = NormalizedSchema.of(operationSchema?.input);
+ const schema2 = ns.getSchema();
+ let payload;
+ const input2 = _input && typeof _input === "object" ? _input : {};
+ const request = new HttpRequest({
+ protocol: "",
+ hostname: "",
+ port: void 0,
+ path: "/",
+ fragment: void 0,
+ query,
+ headers,
+ body: void 0
+ });
+ if (endpoint) {
+ this.updateServiceEndpoint(request, endpoint);
+ this.setHostPrefix(request, operationSchema, input2);
+ }
+ if (input2) {
+ const eventStreamMember = ns.getEventStreamMember();
+ if (eventStreamMember) {
+ if (input2[eventStreamMember]) {
+ const initialRequest = {};
+ for (const [memberName] of ns.structIterator()) {
+ if (memberName !== eventStreamMember && input2[memberName] != null) {
+ initialRequest[memberName] = input2[memberName];
+ }
+ }
+ payload = await this.serializeEventStream({
+ eventStream: input2[eventStreamMember],
+ requestSchema: ns,
+ initialRequest
+ });
+ }
+ } else {
+ serializer.write(schema2, input2);
+ payload = serializer.flush();
+ }
+ }
+ request.headers = Object.assign(request.headers, headers);
+ request.query = query;
+ request.body = payload;
+ request.method = "POST";
+ return request;
+ }
+ async deserializeResponse(operationSchema, context, response) {
+ const deserializer = this.deserializer;
+ const ns = NormalizedSchema.of(operationSchema.output);
+ const dataObject = {};
+ if (response.statusCode >= 300) {
+ const bytes = await collectBody(response.body, context);
+ if (bytes.byteLength > 0) {
+ Object.assign(dataObject, await deserializer.read(15, bytes));
+ }
+ await this.handleError(operationSchema, context, response, dataObject, this.deserializeMetadata(response));
+ throw new Error("@smithy/core/protocols - RPC Protocol error handler failed to throw.");
+ }
+ for (const header in response.headers) {
+ if (!hasOwn(response.headers, header))
+ continue;
+ const value = response.headers[header];
+ delete response.headers[header];
+ response.headers[header.toLowerCase()] = value;
+ }
+ const eventStreamMember = ns.getEventStreamMember();
+ if (eventStreamMember) {
+ dataObject[eventStreamMember] = await this.deserializeEventStream({
+ response,
+ responseSchema: ns,
+ initialResponseContainer: dataObject
+ });
+ } else {
+ const bytes = await collectBody(response.body, context);
+ if (bytes.byteLength > 0) {
+ Object.assign(dataObject, await deserializer.read(ns, bytes));
+ }
+ }
+ dataObject.$metadata = this.deserializeMetadata(response);
+ return dataObject;
+ }
+ };
+ }
+});
+
+// ../../node_modules/.pnpm/@smithy+core@3.36.1/node_modules/@smithy/core/dist-es/submodules/protocols/resolve-path.js
+var resolvedPath;
+var init_resolve_path = __esm({
+ "../../node_modules/.pnpm/@smithy+core@3.36.1/node_modules/@smithy/core/dist-es/submodules/protocols/resolve-path.js"() {
+ init_extended_encode_uri_component();
+ resolvedPath = /* @__PURE__ */ __name((resolvedPath2, input2, memberName, labelValueProvider, uriLabel, isGreedyLabel) => {
+ if (input2 != null && input2[memberName] !== void 0) {
+ const labelValue = labelValueProvider();
+ if (labelValue == null || labelValue.length <= 0) {
+ throw new Error("Empty value provided for input HTTP label: " + memberName + ".");
+ }
+ resolvedPath2 = resolvedPath2.replace(uriLabel, isGreedyLabel ? labelValue.split("/").map((segment) => extendedEncodeURIComponent(segment)).join("/") : extendedEncodeURIComponent(labelValue));
+ } else {
+ throw new Error("No value provided for input HTTP label: " + memberName + ".");
+ }
+ return resolvedPath2;
+ }, "resolvedPath");
+ }
+});
+
+// ../../node_modules/.pnpm/@smithy+core@3.36.1/node_modules/@smithy/core/dist-es/submodules/protocols/requestBuilder.js
+function requestBuilder(input2, context) {
+ return new RequestBuilder(input2, context);
+}
+var RequestBuilder;
+var init_requestBuilder = __esm({
+ "../../node_modules/.pnpm/@smithy+core@3.36.1/node_modules/@smithy/core/dist-es/submodules/protocols/requestBuilder.js"() {
+ init_transport();
+ init_resolve_path();
+ __name(requestBuilder, "requestBuilder");
+ RequestBuilder = class {
+ static {
+ __name(this, "RequestBuilder");
+ }
+ input;
+ context;
+ query = {};
+ method = "";
+ headers = {};
+ path = "";
+ body = null;
+ hostname = "";
+ resolvePathStack = [];
+ constructor(input2, context) {
+ this.input = input2;
+ this.context = context;
+ }
+ async build() {
+ const { hostname: hostname3, protocol = "https", port, path: basePath } = await this.context.endpoint();
+ this.path = basePath;
+ for (const resolvePath of this.resolvePathStack) {
+ resolvePath(this.path);
+ }
+ return new HttpRequest({
+ protocol,
+ hostname: this.hostname || hostname3,
+ port,
+ method: this.method,
+ path: this.path,
+ query: this.query,
+ body: this.body,
+ headers: this.headers
+ });
+ }
+ hn(hostname3) {
+ this.hostname = hostname3;
+ return this;
+ }
+ bp(uriLabel) {
+ this.resolvePathStack.push((basePath) => {
+ this.path = `${basePath?.endsWith("/") ? basePath.slice(0, -1) : basePath || ""}` + uriLabel;
+ });
+ return this;
+ }
+ p(memberName, labelValueProvider, uriLabel, isGreedyLabel) {
+ this.resolvePathStack.push((path2) => {
+ this.path = resolvedPath(path2, this.input, memberName, labelValueProvider, uriLabel, isGreedyLabel);
+ });
+ return this;
+ }
+ h(headers) {
+ this.headers = headers;
+ return this;
+ }
+ q(query) {
+ this.query = query;
+ return this;
+ }
+ b(body) {
+ this.body = body;
+ return this;
+ }
+ m(method) {
+ this.method = method;
+ return this;
+ }
+ };
+ }
+});
+
+// ../../node_modules/.pnpm/@smithy+core@3.36.1/node_modules/@smithy/core/dist-es/submodules/protocols/serde/determineTimestampFormat.js
+function determineTimestampFormat(ns, settings) {
+ if (settings.timestampFormat.useTrait) {
+ if (ns.isTimestampSchema() && (ns.getSchema() === 5 || ns.getSchema() === 6 || ns.getSchema() === 7)) {
+ return ns.getSchema();
+ }
+ }
+ const { httpLabel, httpPrefixHeaders, httpHeader, httpQuery } = ns.getMergedTraits();
+ const bindingFormat = settings.httpBindings ? typeof httpPrefixHeaders === "string" || Boolean(httpHeader) ? 6 : Boolean(httpQuery) || Boolean(httpLabel) ? 5 : void 0 : void 0;
+ return bindingFormat ?? settings.timestampFormat.default;
+}
+var init_determineTimestampFormat = __esm({
+ "../../node_modules/.pnpm/@smithy+core@3.36.1/node_modules/@smithy/core/dist-es/submodules/protocols/serde/determineTimestampFormat.js"() {
+ __name(determineTimestampFormat, "determineTimestampFormat");
+ }
+});
+
+// ../../node_modules/.pnpm/@smithy+core@3.36.1/node_modules/@smithy/core/dist-es/submodules/protocols/serde/FromStringShapeDeserializer.js
+var FromStringShapeDeserializer;
+var init_FromStringShapeDeserializer = __esm({
+ "../../node_modules/.pnpm/@smithy+core@3.36.1/node_modules/@smithy/core/dist-es/submodules/protocols/serde/FromStringShapeDeserializer.js"() {
+ init_schema();
+ init_serde();
+ init_SerdeContext();
+ init_determineTimestampFormat();
+ FromStringShapeDeserializer = class extends SerdeContext {
+ static {
+ __name(this, "FromStringShapeDeserializer");
+ }
+ settings;
+ constructor(settings) {
+ super();
+ this.settings = settings;
+ }
+ read(_schema, data) {
+ const ns = NormalizedSchema.of(_schema);
+ if (ns.isListSchema()) {
+ return splitHeader(data).map((item) => this.read(ns.getValueSchema(), item));
+ }
+ if (ns.isBlobSchema()) {
+ return (this.serdeContext?.base64Decoder ?? fromBase64)(data);
+ }
+ if (ns.isTimestampSchema()) {
+ const format = determineTimestampFormat(ns, this.settings);
+ switch (format) {
+ case 5:
+ return _parseRfc3339DateTimeWithOffset(data);
+ case 6:
+ return _parseRfc7231DateTime(data);
+ case 7:
+ return _parseEpochTimestamp(data);
+ default:
+ console.warn("Missing timestamp format, parsing value with Date constructor:", data);
+ return new Date(data);
+ }
+ }
+ if (ns.isStringSchema()) {
+ const mediaType = ns.getMergedTraits().mediaType;
+ let intermediateValue = data;
+ if (mediaType) {
+ if (ns.getMergedTraits().httpHeader) {
+ intermediateValue = this.base64ToUtf8(intermediateValue);
+ }
+ const isJson = mediaType === "application/json" || mediaType.endsWith("+json");
+ if (isJson) {
+ intermediateValue = LazyJsonString.from(intermediateValue);
+ }
+ return intermediateValue;
+ }
+ }
+ if (ns.isNumericSchema()) {
+ return Number(data);
+ }
+ if (ns.isBigIntegerSchema()) {
+ return BigInt(data);
+ }
+ if (ns.isBigDecimalSchema()) {
+ return new NumericValue(data, "bigDecimal");
+ }
+ if (ns.isBooleanSchema()) {
+ return String(data).toLowerCase() === "true";
+ }
+ return data;
+ }
+ base64ToUtf8(base64String) {
+ return (this.serdeContext?.utf8Encoder ?? toUtf8)((this.serdeContext?.base64Decoder ?? fromBase64)(base64String));
+ }
+ };
+ }
+});
+
+// ../../node_modules/.pnpm/@smithy+core@3.36.1/node_modules/@smithy/core/dist-es/submodules/protocols/serde/HttpInterceptingShapeDeserializer.js
+var HttpInterceptingShapeDeserializer;
+var init_HttpInterceptingShapeDeserializer = __esm({
+ "../../node_modules/.pnpm/@smithy+core@3.36.1/node_modules/@smithy/core/dist-es/submodules/protocols/serde/HttpInterceptingShapeDeserializer.js"() {
+ init_schema();
+ init_serde();
+ init_SerdeContext();
+ init_FromStringShapeDeserializer();
+ HttpInterceptingShapeDeserializer = class extends SerdeContext {
+ static {
+ __name(this, "HttpInterceptingShapeDeserializer");
+ }
+ codecDeserializer;
+ stringDeserializer;
+ constructor(codecDeserializer, codecSettings) {
+ super();
+ this.codecDeserializer = codecDeserializer;
+ this.stringDeserializer = new FromStringShapeDeserializer(codecSettings);
+ }
+ setSerdeContext(serdeContext) {
+ this.stringDeserializer.setSerdeContext(serdeContext);
+ this.codecDeserializer.setSerdeContext(serdeContext);
+ this.serdeContext = serdeContext;
+ }
+ read(schema2, data) {
+ const ns = NormalizedSchema.of(schema2);
+ const traits = ns.getMergedTraits();
+ const toString = this.serdeContext?.utf8Encoder ?? toUtf8;
+ if (traits.httpHeader || traits.httpResponseCode) {
+ return this.stringDeserializer.read(ns, toString(data));
+ }
+ if (traits.httpPayload) {
+ if (ns.isBlobSchema()) {
+ const toBytes = this.serdeContext?.utf8Decoder ?? fromUtf8;
+ if (typeof data === "string") {
+ return toBytes(data);
+ }
+ return data;
+ } else if (ns.isStringSchema()) {
+ if ("byteLength" in data) {
+ return toString(data);
+ }
+ return data;
+ }
+ }
+ return this.codecDeserializer.read(ns, data);
+ }
+ };
+ }
+});
+
+// ../../node_modules/.pnpm/@smithy+core@3.36.1/node_modules/@smithy/core/dist-es/submodules/protocols/serde/ToStringShapeSerializer.js
+var ToStringShapeSerializer;
+var init_ToStringShapeSerializer = __esm({
+ "../../node_modules/.pnpm/@smithy+core@3.36.1/node_modules/@smithy/core/dist-es/submodules/protocols/serde/ToStringShapeSerializer.js"() {
+ init_schema();
+ init_serde();
+ init_SerdeContext();
+ init_determineTimestampFormat();
+ ToStringShapeSerializer = class extends SerdeContext {
+ static {
+ __name(this, "ToStringShapeSerializer");
+ }
+ settings;
+ stringBuffer = "";
+ constructor(settings) {
+ super();
+ this.settings = settings;
+ }
+ write(schema2, value) {
+ const ns = NormalizedSchema.of(schema2);
+ switch (typeof value) {
+ case "object":
+ if (value === null) {
+ this.stringBuffer = "null";
+ return;
+ }
+ if (ns.isTimestampSchema()) {
+ if (!(value instanceof Date)) {
+ throw new Error(`@smithy/core/protocols - received non-Date value ${value} when schema expected Date in ${ns.getName(true)}`);
+ }
+ const format = determineTimestampFormat(ns, this.settings);
+ switch (format) {
+ case 5:
+ this.stringBuffer = value.toISOString().replace(".000Z", "Z");
+ break;
+ case 6:
+ this.stringBuffer = dateToUtcString(value);
+ break;
+ case 7:
+ this.stringBuffer = String(value.getTime() / 1e3);
+ break;
+ default:
+ console.warn("Missing timestamp format, using epoch seconds", value);
+ this.stringBuffer = String(value.getTime() / 1e3);
+ }
+ return;
+ }
+ if (ns.isBlobSchema() && "byteLength" in value) {
+ this.stringBuffer = (this.serdeContext?.base64Encoder ?? toBase64)(value);
+ return;
+ }
+ if (ns.isListSchema() && Array.isArray(value)) {
+ let buffer = "";
+ for (const item of value) {
+ this.write([ns.getValueSchema(), ns.getMergedTraits()], item);
+ const headerItem = this.flush();
+ const serialized = ns.getValueSchema().isTimestampSchema() ? headerItem : quoteHeader(headerItem);
+ if (buffer !== "") {
+ buffer += ", ";
+ }
+ buffer += serialized;
+ }
+ this.stringBuffer = buffer;
+ return;
+ }
+ this.stringBuffer = JSON.stringify(value, null, 2);
+ break;
+ case "string":
+ const mediaType = ns.getMergedTraits().mediaType;
+ let intermediateValue = value;
+ if (mediaType) {
+ const isJson = mediaType === "application/json" || mediaType.endsWith("+json");
+ if (isJson) {
+ intermediateValue = LazyJsonString.from(intermediateValue);
+ }
+ if (ns.getMergedTraits().httpHeader) {
+ this.stringBuffer = (this.serdeContext?.base64Encoder ?? toBase64)(intermediateValue.toString());
+ return;
+ }
+ }
+ this.stringBuffer = value;
+ break;
+ default:
+ if (ns.isIdempotencyToken()) {
+ this.stringBuffer = generateIdempotencyToken();
+ } else {
+ this.stringBuffer = String(value);
+ }
+ }
+ }
+ flush() {
+ const buffer = this.stringBuffer;
+ this.stringBuffer = "";
+ return buffer;
+ }
+ };
+ }
+});
+
+// ../../node_modules/.pnpm/@smithy+core@3.36.1/node_modules/@smithy/core/dist-es/submodules/protocols/serde/HttpInterceptingShapeSerializer.js
+var HttpInterceptingShapeSerializer;
+var init_HttpInterceptingShapeSerializer = __esm({
+ "../../node_modules/.pnpm/@smithy+core@3.36.1/node_modules/@smithy/core/dist-es/submodules/protocols/serde/HttpInterceptingShapeSerializer.js"() {
+ init_schema();
+ init_ToStringShapeSerializer();
+ HttpInterceptingShapeSerializer = class {
+ static {
+ __name(this, "HttpInterceptingShapeSerializer");
+ }
+ codecSerializer;
+ stringSerializer;
+ buffer;
+ constructor(codecSerializer, codecSettings, stringSerializer = new ToStringShapeSerializer(codecSettings)) {
+ this.codecSerializer = codecSerializer;
+ this.stringSerializer = stringSerializer;
+ }
+ setSerdeContext(serdeContext) {
+ this.codecSerializer.setSerdeContext(serdeContext);
+ this.stringSerializer.setSerdeContext(serdeContext);
+ }
+ write(schema2, value) {
+ const ns = NormalizedSchema.of(schema2);
+ const traits = ns.getMergedTraits();
+ if (traits.httpHeader || traits.httpLabel || traits.httpQuery) {
+ this.stringSerializer.write(ns, value);
+ this.buffer = this.stringSerializer.flush();
+ return;
+ }
+ return this.codecSerializer.write(ns, value);
+ }
+ flush() {
+ if (this.buffer !== void 0) {
+ const buffer = this.buffer;
+ this.buffer = void 0;
+ return buffer;
+ }
+ return this.codecSerializer.flush();
+ }
+ };
+ }
+});
+
+// ../../node_modules/.pnpm/@smithy+core@3.36.1/node_modules/@smithy/core/dist-es/submodules/protocols/protocol-http/Field.js
+var import_types, Field;
+var init_Field = __esm({
+ "../../node_modules/.pnpm/@smithy+core@3.36.1/node_modules/@smithy/core/dist-es/submodules/protocols/protocol-http/Field.js"() {
+ import_types = __toESM(require_dist_cjs());
+ Field = class {
+ static {
+ __name(this, "Field");
+ }
+ name;
+ kind;
+ values;
+ constructor({ name: name2, kind = import_types.FieldPosition.HEADER, values = [] }) {
+ this.name = name2;
+ this.kind = kind;
+ this.values = values;
+ }
+ add(value) {
+ this.values.push(value);
+ }
+ set(values) {
+ this.values = values;
+ }
+ remove(value) {
+ this.values = this.values.filter((v) => v !== value);
+ }
+ toString() {
+ return this.values.map((v) => v.includes(",") || v.includes(" ") ? `"${v}"` : v).join(", ");
+ }
+ get() {
+ return this.values;
+ }
+ };
+ }
+});
+
+// ../../node_modules/.pnpm/@smithy+core@3.36.1/node_modules/@smithy/core/dist-es/submodules/protocols/protocol-http/Fields.js
+var Fields;
+var init_Fields = __esm({
+ "../../node_modules/.pnpm/@smithy+core@3.36.1/node_modules/@smithy/core/dist-es/submodules/protocols/protocol-http/Fields.js"() {
+ Fields = class {
+ static {
+ __name(this, "Fields");
+ }
+ entries = {};
+ encoding;
+ constructor({ fields = [], encoding = "utf-8" }) {
+ fields.forEach(this.setField.bind(this));
+ this.encoding = encoding;
+ }
+ setField(field) {
+ this.entries[field.name.toLowerCase()] = field;
+ }
+ getField(name2) {
+ return this.entries[name2.toLowerCase()];
+ }
+ removeField(name2) {
+ delete this.entries[name2.toLowerCase()];
+ }
+ getByType(kind) {
+ return Object.values(this.entries).filter((field) => field.kind === kind);
+ }
+ };
+ }
+});
+
+// ../../node_modules/.pnpm/@smithy+core@3.36.1/node_modules/@smithy/core/dist-es/submodules/protocols/protocol-http/extensions/httpExtensionConfiguration.js
+var getHttpHandlerExtensionConfiguration, resolveHttpHandlerRuntimeConfig;
+var init_httpExtensionConfiguration = __esm({
+ "../../node_modules/.pnpm/@smithy+core@3.36.1/node_modules/@smithy/core/dist-es/submodules/protocols/protocol-http/extensions/httpExtensionConfiguration.js"() {
+ getHttpHandlerExtensionConfiguration = /* @__PURE__ */ __name((runtimeConfig) => {
+ if (runtimeConfig.logger && runtimeConfig.logger.constructor?.name !== "NoOpLogger") {
+ runtimeConfig.requestHandler?.updateHttpClientConfig?.(/* @__PURE__ */ Symbol.for("logger"), runtimeConfig.logger);
+ }
+ return {
+ setHttpHandler(handler) {
+ runtimeConfig.requestHandler = handler;
+ },
+ httpHandler() {
+ return runtimeConfig.requestHandler;
+ },
+ updateHttpClientConfig(key, value) {
+ runtimeConfig.requestHandler?.updateHttpClientConfig(key, value);
+ },
+ httpHandlerConfigs() {
+ return runtimeConfig.requestHandler.httpHandlerConfigs();
+ }
+ };
+ }, "getHttpHandlerExtensionConfiguration");
+ resolveHttpHandlerRuntimeConfig = /* @__PURE__ */ __name((httpHandlerExtensionConfiguration) => {
+ return {
+ requestHandler: httpHandlerExtensionConfiguration.httpHandler()
+ };
+ }, "resolveHttpHandlerRuntimeConfig");
+ }
+});
+
+// ../../node_modules/.pnpm/@smithy+core@3.36.1/node_modules/@smithy/core/dist-es/submodules/protocols/middleware-content-length/contentLengthMiddleware.js
+function contentLengthMiddleware(bodyLengthChecker) {
+ return (next) => async (args) => {
+ const request = args.request;
+ if (HttpRequest.isInstance(request)) {
+ const { body, headers } = request;
+ if (body && Object.keys(headers).map((str) => str.toLowerCase()).indexOf(CONTENT_LENGTH_HEADER) === -1) {
+ try {
+ const length = bodyLengthChecker(body);
+ if (length != null) {
+ request.headers = {
+ ...request.headers,
+ [CONTENT_LENGTH_HEADER]: String(length)
+ };
+ }
+ } catch (ignored) {
+ }
+ }
+ }
+ return next({
+ ...args,
+ request
+ });
+ };
+}
+var CONTENT_LENGTH_HEADER, contentLengthMiddlewareOptions, getContentLengthPlugin;
+var init_contentLengthMiddleware = __esm({
+ "../../node_modules/.pnpm/@smithy+core@3.36.1/node_modules/@smithy/core/dist-es/submodules/protocols/middleware-content-length/contentLengthMiddleware.js"() {
+ init_transport();
+ CONTENT_LENGTH_HEADER = "content-length";
+ __name(contentLengthMiddleware, "contentLengthMiddleware");
+ contentLengthMiddlewareOptions = {
+ step: "build",
+ tags: ["SET_CONTENT_LENGTH", "CONTENT_LENGTH"],
+ name: "contentLengthMiddleware",
+ override: true
+ };
+ getContentLengthPlugin = /* @__PURE__ */ __name((options) => ({
+ applyToStack: /* @__PURE__ */ __name((clientStack) => {
+ clientStack.add(contentLengthMiddleware(options.bodyLengthChecker), contentLengthMiddlewareOptions);
+ }, "applyToStack")
+ }), "getContentLengthPlugin");
+ }
+});
+
+// ../../node_modules/.pnpm/@smithy+core@3.36.1/node_modules/@smithy/core/dist-es/submodules/protocols/util-uri-escape/escape-uri.js
+var escapeUri, hexEncode;
+var init_escape_uri = __esm({
+ "../../node_modules/.pnpm/@smithy+core@3.36.1/node_modules/@smithy/core/dist-es/submodules/protocols/util-uri-escape/escape-uri.js"() {
+ escapeUri = /* @__PURE__ */ __name((uri) => encodeURIComponent(uri).replace(/[!'()*]/g, hexEncode), "escapeUri");
+ hexEncode = /* @__PURE__ */ __name((c5) => `%${c5.charCodeAt(0).toString(16).toUpperCase()}`, "hexEncode");
+ }
+});
+
+// ../../node_modules/.pnpm/@smithy+core@3.36.1/node_modules/@smithy/core/dist-es/submodules/protocols/util-uri-escape/escape-uri-path.js
+var escapeUriPath;
+var init_escape_uri_path = __esm({
+ "../../node_modules/.pnpm/@smithy+core@3.36.1/node_modules/@smithy/core/dist-es/submodules/protocols/util-uri-escape/escape-uri-path.js"() {
+ init_escape_uri();
+ escapeUriPath = /* @__PURE__ */ __name((uri) => uri.split("/").map(escapeUri).join("/"), "escapeUriPath");
+ }
+});
+
+// ../../node_modules/.pnpm/@smithy+core@3.36.1/node_modules/@smithy/core/dist-es/submodules/protocols/querystring-builder/buildQueryString.js
+function buildQueryString(query) {
+ const parts = [];
+ for (let key of Object.keys(query).sort()) {
+ const value = query[key];
+ key = escapeUri(key);
+ if (Array.isArray(value)) {
+ for (let i5 = 0, iLen = value.length; i5 < iLen; i5++) {
+ parts.push(`${key}=${escapeUri(value[i5])}`);
+ }
+ } else {
+ let qsEntry = key;
+ if (value || typeof value === "string") {
+ qsEntry += `=${escapeUri(value)}`;
+ }
+ parts.push(qsEntry);
+ }
+ }
+ return parts.join("&");
+}
+var init_buildQueryString = __esm({
+ "../../node_modules/.pnpm/@smithy+core@3.36.1/node_modules/@smithy/core/dist-es/submodules/protocols/querystring-builder/buildQueryString.js"() {
+ init_escape_uri();
+ __name(buildQueryString, "buildQueryString");
+ }
+});
+
+// ../../node_modules/.pnpm/@smithy+core@3.36.1/node_modules/@smithy/core/dist-es/submodules/protocols/ConfigurableSerdeContext.js
+var SerdeContextConfig;
+var init_ConfigurableSerdeContext = __esm({
+ "../../node_modules/.pnpm/@smithy+core@3.36.1/node_modules/@smithy/core/dist-es/submodules/protocols/ConfigurableSerdeContext.js"() {
+ SerdeContextConfig = class {
+ static {
+ __name(this, "SerdeContextConfig");
+ }
+ serdeContext;
+ setSerdeContext(serdeContext) {
+ this.serdeContext = serdeContext;
+ }
+ };
+ }
+});
+
+// ../../node_modules/.pnpm/@smithy+core@3.36.1/node_modules/@smithy/core/dist-es/submodules/protocols/UnionSerde.js
+var UnionSerde;
+var init_UnionSerde = __esm({
+ "../../node_modules/.pnpm/@smithy+core@3.36.1/node_modules/@smithy/core/dist-es/submodules/protocols/UnionSerde.js"() {
+ UnionSerde = class {
+ static {
+ __name(this, "UnionSerde");
+ }
+ from;
+ to;
+ keys;
+ constructor(from, to) {
+ this.from = from;
+ this.to = to;
+ const keys = Object.keys(this.from);
+ const set2 = new Set(keys);
+ set2.delete("__type");
+ this.keys = set2;
+ }
+ mark(key) {
+ this.keys.delete(key);
+ }
+ hasUnknown() {
+ return this.keys.size === 1 && Object.keys(this.to).length === 0;
+ }
+ writeUnknown() {
+ if (this.hasUnknown()) {
+ const k5 = this.keys.values().next().value;
+ const v = this.from[k5];
+ this.to.$unknown = [k5, v];
+ }
+ }
+ };
+ }
+});
+
+// ../../node_modules/.pnpm/@smithy+core@3.36.1/node_modules/@smithy/core/dist-es/submodules/protocols/json/detectBufferParsing.js
+function detectBufferParsing() {
+ if (canParseBuffer === void 0) {
+ try {
+ if (typeof Buffer !== "function") {
+ canParseBuffer = false;
+ } else {
+ const result = JSON.parse(Buffer.from([123, 125]));
+ canParseBuffer = result !== null && typeof result === "object";
+ }
+ } catch {
+ canParseBuffer = false;
+ }
+ }
+ return canParseBuffer;
+}
+var canParseBuffer;
+var init_detectBufferParsing = __esm({
+ "../../node_modules/.pnpm/@smithy+core@3.36.1/node_modules/@smithy/core/dist-es/submodules/protocols/json/detectBufferParsing.js"() {
+ __name(detectBufferParsing, "detectBufferParsing");
+ }
+});
+
+// ../../node_modules/.pnpm/@smithy+core@3.36.1/node_modules/@smithy/core/dist-es/submodules/protocols/json/jsonReviver.js
+function jsonReviver(key, value, context) {
+ if (context?.source) {
+ const numericString = context.source;
+ if (typeof value === "number") {
+ const inSafeRange = value <= Number.MAX_SAFE_INTEGER && value >= Number.MIN_SAFE_INTEGER;
+ if (inSafeRange) {
+ if (isRepresentable(numericString, value)) {
+ return value;
+ }
+ return new NumericValue(numericString, "bigDecimal");
+ } else {
+ if (isFractionalBigNumeric(numericString)) {
+ return new NumericValue(numericString, "bigDecimal");
+ }
+ if (/[eE]/.test(numericString)) {
+ return expandExponentToBigInt(numericString);
+ }
+ return BigInt(numericString);
+ }
+ }
+ }
+ return value;
+}
+function isFractionalBigNumeric(s2) {
+ const dotIndex = s2.indexOf(".");
+ if (dotIndex === -1) {
+ return false;
+ }
+ const eIndex = s2.search(/[eE]/);
+ if (eIndex === -1) {
+ return true;
+ }
+ const fracDigits = eIndex - dotIndex - 1;
+ const exp = parseInt(s2.slice(eIndex + 1), 10);
+ return exp < fracDigits;
+}
+function isRepresentable(numericString, value) {
+ if (numericString === String(value)) {
+ return true;
+ }
+ if (Object.is(value, -0)) {
+ return true;
+ }
+ if (/[eE]/.test(numericString)) {
+ return expandToDecimal(numericString) === expandToDecimal(String(value));
+ }
+ const normalized = numericString.replace(/(\.\d*?)0+$/, "$1").replace(/\.$/, "");
+ const canonical = String(value);
+ if (normalized === canonical) {
+ return true;
+ }
+ if (/[eE]/.test(canonical)) {
+ return normalized === expandToDecimal(canonical);
+ }
+ return false;
+}
+function expandToDecimal(s2) {
+ const negative = s2.startsWith("-");
+ const abs = negative ? s2.slice(1) : s2;
+ const eIndex = abs.search(/[eE]/);
+ let result;
+ if (eIndex === -1) {
+ result = abs;
+ } else {
+ const exp = parseInt(abs.slice(eIndex + 1), 10);
+ const mantissa = abs.slice(0, eIndex);
+ const dotIndex = mantissa.indexOf(".");
+ let digits;
+ let intLen;
+ if (dotIndex === -1) {
+ digits = mantissa;
+ intLen = mantissa.length;
+ } else {
+ digits = mantissa.slice(0, dotIndex) + mantissa.slice(dotIndex + 1);
+ intLen = dotIndex;
+ }
+ digits = digits.replace(/0+$/, "") || "0";
+ const newDotPos = intLen + exp;
+ if (digits === "0") {
+ result = "0";
+ } else if (newDotPos <= 0) {
+ result = "0." + "0".repeat(-newDotPos) + digits;
+ } else if (newDotPos >= digits.length) {
+ result = digits + "0".repeat(newDotPos - digits.length);
+ } else {
+ result = digits.slice(0, newDotPos) + "." + digits.slice(newDotPos);
+ }
+ }
+ if (result.includes(".")) {
+ result = result.replace(/(\.\d*?)0+$/, "$1").replace(/\.$/, "");
+ }
+ return (negative ? "-" : "") + result;
+}
+function expandExponentToBigInt(s2) {
+ const eIndex = s2.search(/[eE]/);
+ const exp = parseInt(s2.slice(eIndex + 1), 10);
+ const negative = s2.startsWith("-");
+ const mantissa = s2.slice(negative ? 1 : 0, eIndex);
+ const dotIndex = mantissa.indexOf(".");
+ let digits;
+ let shift;
+ if (dotIndex === -1) {
+ digits = mantissa;
+ shift = exp;
+ } else {
+ digits = mantissa.slice(0, dotIndex) + mantissa.slice(dotIndex + 1);
+ const fracDigits = mantissa.length - dotIndex - 1;
+ shift = exp - fracDigits;
+ }
+ digits = digits.replace(/0+$/, "") || "0";
+ const result = BigInt(digits) * 10n ** BigInt(shift + (mantissa.replace(".", "").length - digits.length));
+ return negative ? -result : result;
+}
+var init_jsonReviver = __esm({
+ "../../node_modules/.pnpm/@smithy+core@3.36.1/node_modules/@smithy/core/dist-es/submodules/protocols/json/jsonReviver.js"() {
+ init_serde();
+ __name(jsonReviver, "jsonReviver");
+ __name(isFractionalBigNumeric, "isFractionalBigNumeric");
+ __name(isRepresentable, "isRepresentable");
+ __name(expandToDecimal, "expandToDecimal");
+ __name(expandExponentToBigInt, "expandExponentToBigInt");
+ }
+});
+
+// ../../node_modules/.pnpm/@smithy+core@3.36.1/node_modules/@smithy/core/dist-es/submodules/protocols/json/needsReviver.js
+function needsReviver(schema2) {
+ const ns = NormalizedSchema.of(schema2);
+ const raw4 = ns.getSchema();
+ if (Array.isArray(raw4) && ns.isStructSchema()) {
+ if (REVIVER_SYMBOL in raw4) {
+ return raw4[REVIVER_SYMBOL];
+ }
+ const result = _check2(ns, /* @__PURE__ */ new Set());
+ raw4[REVIVER_SYMBOL] = result;
+ return result;
+ }
+ return _check2(ns, /* @__PURE__ */ new Set());
+}
+function _check2(ns, seen) {
+ const raw4 = ns.getSchema();
+ if (seen.has(raw4)) {
+ return false;
+ }
+ seen.add(raw4);
+ if (ns.isBigIntegerSchema() || ns.isBigDecimalSchema()) {
+ return true;
+ }
+ if (ns.isStructSchema()) {
+ for (const [, memberSchema] of ns.structIterator()) {
+ if (_check2(memberSchema, seen)) {
+ return true;
+ }
+ }
+ } else if (ns.isListSchema() || ns.isMapSchema()) {
+ if (_check2(ns.getValueSchema(), seen)) {
+ return true;
+ }
+ } else if (ns.isDocumentSchema()) {
+ return true;
+ }
+ return false;
+}
+var REVIVER_SYMBOL;
+var init_needsReviver = __esm({
+ "../../node_modules/.pnpm/@smithy+core@3.36.1/node_modules/@smithy/core/dist-es/submodules/protocols/json/needsReviver.js"() {
+ init_schema();
+ REVIVER_SYMBOL = /* @__PURE__ */ Symbol.for("@aws-sdk/reviver");
+ __name(needsReviver, "needsReviver");
+ __name(_check2, "_check");
+ }
+});
+
+// ../../node_modules/.pnpm/@smithy+core@3.36.1/node_modules/@smithy/core/dist-es/submodules/protocols/common.js
+var collectBodyString;
+var init_common2 = __esm({
+ "../../node_modules/.pnpm/@smithy+core@3.36.1/node_modules/@smithy/core/dist-es/submodules/protocols/common.js"() {
+ init_collect_stream_body();
+ init_serde();
+ collectBodyString = /* @__PURE__ */ __name((streamBody, context) => collectBody(streamBody, context).then((body) => (context?.utf8Encoder ?? toUtf8)(body)), "collectBodyString");
+ }
+});
+
+// ../../node_modules/.pnpm/@smithy+core@3.36.1/node_modules/@smithy/core/dist-es/submodules/protocols/json/parseJsonBody.js
+async function parseJsonBody(streamBody, context, schema2) {
+ let parsingInput;
+ if (detectBufferParsing() && typeof streamBody?.[Symbol.asyncIterator] === "function") {
+ const buffer = await collectBody(streamBody, context);
+ if (typeof Buffer === "function") {
+ if (Buffer.isBuffer(buffer)) {
+ parsingInput = buffer;
+ } else {
+ parsingInput = Buffer.from(buffer.buffer, buffer.byteOffset, buffer.byteLength);
+ }
+ }
+ }
+ if (!parsingInput) {
+ parsingInput = await collectBodyString(streamBody, context);
+ }
+ if (parsingInput.length === 0) {
+ return {};
+ }
+ const reviver = schema2 && needsReviver(schema2) ? jsonReviver : void 0;
+ try {
+ return JSON.parse(parsingInput, reviver);
+ } catch (e5) {
+ if (e5?.name === "SyntaxError") {
+ Object.defineProperty(e5, "$responseBodyText", {
+ value: typeof parsingInput === "string" ? parsingInput : parsingInput.toString("utf8")
+ });
+ }
+ throw e5;
+ }
+}
+var parseJsonErrorBody, findKey, sanitizeErrorCode, loadRestJsonErrorCode, loadJsonRpcErrorCode, loadSmithyRpcV2JsonErrorCode, loadErrorCode;
+var init_parseJsonBody = __esm({
+ "../../node_modules/.pnpm/@smithy+core@3.36.1/node_modules/@smithy/core/dist-es/submodules/protocols/json/parseJsonBody.js"() {
+ init_collect_stream_body();
+ init_common2();
+ init_detectBufferParsing();
+ init_jsonReviver();
+ init_needsReviver();
+ __name(parseJsonBody, "parseJsonBody");
+ parseJsonErrorBody = /* @__PURE__ */ __name(async (errorBody, context) => {
+ const value = await parseJsonBody(errorBody, context);
+ value.message = value.message ?? value.Message;
+ return value;
+ }, "parseJsonErrorBody");
+ findKey = /* @__PURE__ */ __name((object2, key) => Object.keys(object2).find((k5) => k5.toLowerCase() === key.toLowerCase()), "findKey");
+ sanitizeErrorCode = /* @__PURE__ */ __name((rawValue) => {
+ let cleanValue = rawValue;
+ if (typeof cleanValue === "number") {
+ cleanValue = cleanValue.toString();
+ }
+ if (cleanValue.indexOf(",") >= 0) {
+ cleanValue = cleanValue.split(",")[0];
+ }
+ if (cleanValue.indexOf(":") >= 0) {
+ cleanValue = cleanValue.split(":")[0];
+ }
+ if (cleanValue.indexOf("#") >= 0) {
+ cleanValue = cleanValue.split("#")[1];
+ }
+ return cleanValue;
+ }, "sanitizeErrorCode");
+ loadRestJsonErrorCode = /* @__PURE__ */ __name((output2, data) => {
+ return loadErrorCode(output2, data, ["header", "code", "type"]);
+ }, "loadRestJsonErrorCode");
+ loadJsonRpcErrorCode = /* @__PURE__ */ __name((output2, data, queryCompat = false) => {
+ return loadErrorCode(output2, data, queryCompat ? ["code", "header", "type"] : ["type", "code", "header"]);
+ }, "loadJsonRpcErrorCode");
+ loadSmithyRpcV2JsonErrorCode = /* @__PURE__ */ __name((output2, data) => {
+ if (data?.__type !== void 0) {
+ let cleanValue = data.__type;
+ if (typeof cleanValue === "number") {
+ cleanValue = cleanValue.toString();
+ }
+ if (cleanValue.indexOf(",") >= 0) {
+ cleanValue = cleanValue.split(",")[0];
+ }
+ if (cleanValue.indexOf(":") >= 0) {
+ cleanValue = cleanValue.split(":")[0];
+ }
+ return cleanValue;
+ }
+ }, "loadSmithyRpcV2JsonErrorCode");
+ loadErrorCode = /* @__PURE__ */ __name(({ headers }, data, order) => {
+ while (order.length > 0) {
+ const location = order.shift();
+ switch (location) {
+ case "header":
+ const headerKey = findKey(headers ?? {}, "x-amzn-errortype");
+ if (headerKey !== void 0) {
+ return sanitizeErrorCode(headers[headerKey]);
+ }
+ break;
+ case "code":
+ const codeKey = findKey(data ?? {}, "code");
+ if (codeKey && data[codeKey] !== void 0) {
+ return sanitizeErrorCode(data[codeKey]);
+ }
+ break;
+ case "type":
+ if (data?.__type !== void 0) {
+ return sanitizeErrorCode(data.__type);
+ }
+ break;
+ }
+ }
+ }, "loadErrorCode");
+ }
+});
+
+// ../../node_modules/.pnpm/@smithy+core@3.36.1/node_modules/@smithy/core/dist-es/submodules/protocols/writeKey.js
+function writeKey(obj) {
+ Object.defineProperty(obj, "__proto__", { value: void 0, writable: true, enumerable: true, configurable: true });
+}
+var init_writeKey = __esm({
+ "../../node_modules/.pnpm/@smithy+core@3.36.1/node_modules/@smithy/core/dist-es/submodules/protocols/writeKey.js"() {
+ __name(writeKey, "writeKey");
+ }
+});
+
+// ../../node_modules/.pnpm/@smithy+core@3.36.1/node_modules/@smithy/core/dist-es/submodules/protocols/json/codec-v2/JsonShapeDeserializer2.js
+var JsonShapeDeserializer2;
+var init_JsonShapeDeserializer2 = __esm({
+ "../../node_modules/.pnpm/@smithy+core@3.36.1/node_modules/@smithy/core/dist-es/submodules/protocols/json/codec-v2/JsonShapeDeserializer2.js"() {
+ init_determineTimestampFormat();
+ init_schema();
+ init_serde();
+ init_ConfigurableSerdeContext();
+ init_UnionSerde();
+ init_detectBufferParsing();
+ init_jsonReviver();
+ init_needsReviver();
+ init_parseJsonBody();
+ init_writeKey();
+ init_transport();
+ JsonShapeDeserializer2 = class extends SerdeContextConfig {
+ static {
+ __name(this, "JsonShapeDeserializer2");
+ }
+ settings;
+ constructor(settings) {
+ super();
+ this.settings = settings;
+ }
+ async read(schema2, data) {
+ const reviver = needsReviver(schema2) ? jsonReviver : void 0;
+ let parsed2;
+ if (typeof data === "string") {
+ if (data.length === 0) {
+ return {};
+ }
+ parsed2 = JSON.parse(data, reviver);
+ } else if (data instanceof Uint8Array && detectBufferParsing()) {
+ if (data.byteLength === 0) {
+ return {};
+ }
+ const buf = Buffer.isBuffer(data) ? data : Buffer.from(data.buffer, data.byteOffset, data.byteLength);
+ parsed2 = JSON.parse(buf, reviver);
+ } else {
+ parsed2 = await parseJsonBody(data, this.serdeContext, schema2);
+ }
+ return this._read(schema2, parsed2);
+ }
+ readObject(schema2, data) {
+ return this._read(schema2, data);
+ }
+ _read(schema2, value) {
+ const isObject2 = value !== null && typeof value === "object";
+ const ns = NormalizedSchema.of(schema2);
+ if (isObject2) {
+ if (ns.isStructSchema()) {
+ return this._readStruct(ns, value);
+ }
+ if (Array.isArray(value) && ns.isListSchema()) {
+ const listMember = ns.getValueSchema();
+ if (this.needsTransform(listMember)) {
+ for (let i5 = 0; i5 < value.length; ++i5) {
+ value[i5] = this._read(listMember, value[i5]);
+ }
+ }
+ return value;
+ }
+ if (ns.isMapSchema()) {
+ const mapMember = ns.getValueSchema();
+ const map2 = value;
+ if (this.needsTransform(mapMember)) {
+ for (const k5 in map2) {
+ if (!hasOwn(map2, k5))
+ continue;
+ if (k5 === "__proto__") {
+ writeKey(map2);
+ }
+ map2[k5] = this._read(mapMember, map2[k5]);
+ }
+ }
+ return map2;
+ }
+ }
+ if (ns.isBlobSchema() && typeof value === "string") {
+ return fromBase64(value);
+ }
+ const mediaType = ns.getMergedTraits().mediaType;
+ if (ns.isStringSchema() && typeof value === "string" && mediaType) {
+ const isJson = mediaType === "application/json" || mediaType.endsWith("+json");
+ if (isJson) {
+ return LazyJsonString.from(value);
+ }
+ return value;
+ }
+ if (ns.isTimestampSchema() && value != null) {
+ const format = determineTimestampFormat(ns, this.settings);
+ switch (format) {
+ case 5:
+ return parseRfc3339DateTimeWithOffset(value);
+ case 6:
+ return parseRfc7231DateTime(value);
+ case 7:
+ return parseEpochTimestamp(value);
+ default:
+ console.warn("Missing timestamp format, parsing value with Date constructor:", value);
+ return new Date(value);
+ }
+ }
+ if (ns.isBigIntegerSchema() && (typeof value === "number" || typeof value === "string")) {
+ return BigInt(value);
+ }
+ if (ns.isBigDecimalSchema() && value != void 0) {
+ if (value instanceof NumericValue) {
+ return value;
+ }
+ const untyped = value;
+ if (untyped.type === "bigDecimal" && "string" in untyped) {
+ return new NumericValue(untyped.string, untyped.type);
+ }
+ return new NumericValue(String(value), "bigDecimal");
+ }
+ if (ns.isNumericSchema() && typeof value === "string") {
+ switch (value) {
+ case "Infinity":
+ return Infinity;
+ case "-Infinity":
+ return -Infinity;
+ case "NaN":
+ return NaN;
+ }
+ return value;
+ }
+ if (ns.isDocumentSchema()) {
+ if (isObject2) {
+ if (Array.isArray(value)) {
+ for (let i5 = 0; i5 < value.length; ++i5) {
+ const v = value[i5];
+ if (!(v instanceof NumericValue)) {
+ value[i5] = this._read(ns, v);
+ }
+ }
+ } else {
+ const doc = value;
+ for (const k5 in doc) {
+ if (!hasOwn(doc, k5))
+ continue;
+ if (k5 === "__proto__") {
+ writeKey(doc);
+ }
+ const v = doc[k5];
+ if (!(v instanceof NumericValue)) {
+ doc[k5] = this._read(ns, v);
+ }
+ }
+ }
+ }
+ }
+ return value;
+ }
+ _readStruct(ns, record2) {
+ const union2 = ns.isUnionSchema();
+ const out = {};
+ let nameMap;
+ const hasType = typeof record2.__type === "string";
+ const { jsonName } = this.settings;
+ if (jsonName && hasType) {
+ nameMap = {};
+ }
+ let unionSerde;
+ if (union2) {
+ unionSerde = new UnionSerde(record2, out);
+ }
+ for (const [memberName, memberSchema] of ns.structIterator()) {
+ let fromKey = memberName;
+ if (jsonName) {
+ fromKey = memberSchema.getMergedTraits().jsonName ?? fromKey;
+ if (hasType) {
+ nameMap[fromKey] = memberName;
+ }
+ }
+ if (union2) {
+ unionSerde.mark(fromKey);
+ }
+ if (record2[fromKey] != null) {
+ out[memberName] = this._read(memberSchema, record2[fromKey]);
+ }
+ }
+ if (union2) {
+ unionSerde.writeUnknown();
+ } else if (hasType) {
+ for (const k5 in record2) {
+ if (!hasOwn(record2, k5))
+ continue;
+ const v = record2[k5];
+ const t = jsonName ? nameMap[k5] ?? k5 : k5;
+ if (!(t in out)) {
+ out[t] = v;
+ }
+ }
+ }
+ return out;
+ }
+ needsTransform(ns) {
+ if (ns.isBlobSchema() || ns.isTimestampSchema() || ns.isBigIntegerSchema() || ns.isBigDecimalSchema() || ns.isNumericSchema()) {
+ return true;
+ }
+ if (ns.isDocumentSchema() || ns.isStructSchema() || ns.isListSchema() || ns.isMapSchema()) {
+ return true;
+ }
+ if (ns.isStringSchema() && ns.getMergedTraits().mediaType) {
+ return true;
+ }
+ return false;
+ }
+ };
+ }
+});
+
+// ../../node_modules/.pnpm/@smithy+core@3.36.1/node_modules/@smithy/core/dist-es/submodules/protocols/json/codec-v2/JsonBytesStringAdapter.js
+var JsonBytesStringAdapter, warned;
+var init_JsonBytesStringAdapter = __esm({
+ "../../node_modules/.pnpm/@smithy+core@3.36.1/node_modules/@smithy/core/dist-es/submodules/protocols/json/codec-v2/JsonBytesStringAdapter.js"() {
+ init_serde();
+ JsonBytesStringAdapter = class _JsonBytesStringAdapter extends Uint8Array {
+ static {
+ __name(this, "JsonBytesStringAdapter");
+ }
+ string = null;
+ static allocUnsafe(bytes) {
+ if (typeof Buffer === "function") {
+ const buffer = Buffer.allocUnsafe(bytes);
+ return new _JsonBytesStringAdapter(buffer.buffer, buffer.byteOffset, buffer.byteLength);
+ }
+ return new _JsonBytesStringAdapter(bytes);
+ }
+ toString() {
+ return this.s();
+ }
+ valueOf() {
+ return this.s();
+ }
+ includes(searchString, position) {
+ if (typeof searchString === "string") {
+ return this.s().includes(searchString, position);
+ }
+ return Uint8Array.prototype.includes.call(this, searchString, position);
+ }
+ indexOf(searchString, position) {
+ if (typeof searchString === "string") {
+ return this.s().indexOf(searchString, position);
+ }
+ return Uint8Array.prototype.indexOf.call(this, searchString, position);
+ }
+ lastIndexOf(searchString, position) {
+ if (typeof searchString === "string") {
+ return this.s().lastIndexOf(searchString, position);
+ }
+ const fn = Uint8Array.prototype.lastIndexOf;
+ if (position !== void 0) {
+ return fn.call(this, searchString, position);
+ }
+ return fn.call(this, searchString);
+ }
+ startsWith(searchString, position) {
+ return this.s().startsWith(searchString, position);
+ }
+ endsWith(searchString, endPosition) {
+ return this.s().endsWith(searchString, endPosition);
+ }
+ match(regexp) {
+ return this.s().match(regexp);
+ }
+ replace(searchValue, replaceValue) {
+ return this.s().replace(searchValue, replaceValue);
+ }
+ search(regexp) {
+ return this.s().search(regexp);
+ }
+ split(separator, limit) {
+ return this.s().split(separator, limit);
+ }
+ substring(start, end) {
+ return this.s().substring(start, end);
+ }
+ trim() {
+ return this.s().trim();
+ }
+ trimStart() {
+ return this.s().trimStart();
+ }
+ trimEnd() {
+ return this.s().trimEnd();
+ }
+ charAt(pos) {
+ return this.s().charAt(pos);
+ }
+ charCodeAt(index) {
+ return this.s().charCodeAt(index);
+ }
+ padStart(maxLength, fillString) {
+ return this.s().padStart(maxLength, fillString);
+ }
+ padEnd(maxLength, fillString) {
+ return this.s().padEnd(maxLength, fillString);
+ }
+ repeat(count) {
+ return this.s().repeat(count);
+ }
+ toUpperCase() {
+ return this.s().toUpperCase();
+ }
+ toLowerCase() {
+ return this.s().toLowerCase();
+ }
+ s() {
+ if (this.string == null) {
+ const n3 = Date.now();
+ if (n3 > warned + 6e4) {
+ console.warn("@aws-sdk/core/protocols - WARN - JsonCodec2: you have called a string method on a Uint8Array request body. It has been automatically converted to string. In a future version this will throw an error.");
+ warned = n3;
+ }
+ this.string = toUtf8(this);
+ }
+ return this.string;
+ }
+ };
+ warned = 0;
+ }
+});
+
+// ../../node_modules/.pnpm/@smithy+core@3.36.1/node_modules/@smithy/core/dist-es/submodules/protocols/json/codec-v2/JsonShapeSerializer2.js
+function alloc(size) {
+ return JsonBytesStringAdapter.allocUnsafe(size);
+}
+var encoder, OPEN_BRACE, CLOSE_BRACE, OPEN_BRACKET, CLOSE_BRACKET, QUOTE, COLON, COMMA, BACKSLASH, TRUE, FALSE, NULL, ESCAPE_TABLE, INITIAL_BUFFER_SIZE, JsonShapeSerializer2;
+var init_JsonShapeSerializer2 = __esm({
+ "../../node_modules/.pnpm/@smithy+core@3.36.1/node_modules/@smithy/core/dist-es/submodules/protocols/json/codec-v2/JsonShapeSerializer2.js"() {
+ init_determineTimestampFormat();
+ init_schema();
+ init_serde();
+ init_ConfigurableSerdeContext();
+ init_transport();
+ init_JsonBytesStringAdapter();
+ encoder = new TextEncoder();
+ OPEN_BRACE = 123;
+ CLOSE_BRACE = 125;
+ OPEN_BRACKET = 91;
+ CLOSE_BRACKET = 93;
+ QUOTE = 34;
+ COLON = 58;
+ COMMA = 44;
+ BACKSLASH = 92;
+ TRUE = new Uint8Array([116, 114, 117, 101]);
+ FALSE = new Uint8Array([102, 97, 108, 115, 101]);
+ NULL = new Uint8Array([110, 117, 108, 108]);
+ ESCAPE_TABLE = new Array(128).fill(null);
+ ESCAPE_TABLE[8] = "b";
+ ESCAPE_TABLE[9] = "t";
+ ESCAPE_TABLE[10] = "n";
+ ESCAPE_TABLE[12] = "f";
+ ESCAPE_TABLE[13] = "r";
+ ESCAPE_TABLE[34] = '"';
+ ESCAPE_TABLE[92] = "\\";
+ for (let i5 = 0; i5 < 32; i5++) {
+ if (ESCAPE_TABLE[i5] === null) {
+ ESCAPE_TABLE[i5] = "u00" + i5.toString(16).padStart(2, "0");
+ }
+ }
+ INITIAL_BUFFER_SIZE = 2048;
+ __name(alloc, "alloc");
+ JsonShapeSerializer2 = class _JsonShapeSerializer2 extends SerdeContextConfig {
+ static {
+ __name(this, "JsonShapeSerializer2");
+ }
+ settings;
+ json;
+ i = 0;
+ rootSchema;
+ rawValue;
+ passthrough = false;
+ constructor(settings) {
+ super();
+ this.settings = settings;
+ this.json = alloc(INITIAL_BUFFER_SIZE);
+ }
+ write(schema2, value) {
+ this.i = 0;
+ this.rawValue = value;
+ this.rootSchema = NormalizedSchema.of(schema2);
+ this.passthrough = this.rootSchema.isBlobSchema() || this.rootSchema.isStringSchema();
+ if (!this.passthrough) {
+ this.writeValue(this.rootSchema, value, void 0);
+ }
+ }
+ writeDiscriminatedDocument(schema2, value) {
+ this.i = 0;
+ this.rootSchema = NormalizedSchema.of(schema2);
+ const ns = this.rootSchema;
+ if (ns.isStructSchema() && value != null && typeof value === "object") {
+ this.writeValue(ns, value, void 0);
+ const prefix = `"__type":"${ns.getName(true) ?? "Unknown"}",`;
+ const z2 = prefix.length;
+ this.ensure(z2);
+ this.json.copyWithin(1 + z2, 1, this.i);
+ encoder.encodeInto(prefix, this.json.subarray(1));
+ this.i += z2;
+ } else {
+ this.writeValue(ns, value, void 0);
+ }
+ }
+ flush() {
+ this.rootSchema = void 0;
+ const finalPosition = this.i;
+ this.i = 0;
+ const raw4 = this.rawValue;
+ this.rawValue = void 0;
+ if (finalPosition === 0) {
+ return raw4;
+ }
+ const result = this.json.subarray(0, finalPosition);
+ this.json = alloc(INITIAL_BUFFER_SIZE);
+ return result;
+ }
+ ensure(byteCount) {
+ const { i: i5, json: json2 } = this;
+ if (i5 + byteCount > json2.length) {
+ let newSize = json2.length * 2;
+ while (newSize < i5 + byteCount) {
+ newSize *= 2;
+ }
+ const next = alloc(newSize);
+ next.set(this.json);
+ this.json = next;
+ }
+ }
+ writeAscii(s2) {
+ const z2 = s2.length;
+ this.ensure(z2);
+ let { i: i5, json: json2 } = this;
+ for (let j5 = 0; j5 < z2; ++j5) {
+ json2[i5] = s2.charCodeAt(j5);
+ i5 += 1;
+ }
+ this.i = i5;
+ }
+ writeAsciiQuoted(s2) {
+ const z2 = s2.length;
+ this.ensure(z2 + 4);
+ let { json: json2, i: i5 } = this;
+ json2[i5++] = QUOTE;
+ for (let j5 = 0; j5 < z2; ++j5) {
+ json2[i5++] = s2.charCodeAt(j5);
+ }
+ json2[i5++] = QUOTE;
+ this.i = i5;
+ }
+ writeJsonString(s2) {
+ const z2 = s2.length;
+ this.ensure(z2 * 3 + 2);
+ this.json[this.i++] = QUOTE;
+ for (let j5 = 0; j5 < z2; ++j5) {
+ const c5 = s2.charCodeAt(j5);
+ if (c5 > 34 && c5 < 92) {
+ this.json[this.i++] = c5;
+ } else if (c5 < 128) {
+ const esc2 = ESCAPE_TABLE[c5];
+ if (esc2 !== null) {
+ this.ensure(esc2.length + 1 + (z2 - j5 - 1) * 3 + 1);
+ this.json[this.i++] = BACKSLASH;
+ for (let k5 = 0; k5 < esc2.length; k5++) {
+ this.json[this.i++] = esc2.charCodeAt(k5);
+ }
+ } else {
+ this.json[this.i++] = c5;
+ }
+ } else if (c5 >= 55296 && c5 <= 56319) {
+ const next = j5 + 1 < z2 ? s2.charCodeAt(j5 + 1) : 0;
+ if (next >= 56320 && next <= 57343) {
+ this.ensure(4);
+ const { written } = encoder.encodeInto(s2.substring(j5, j5 + 2), this.json.subarray(this.i));
+ this.i += written;
+ ++j5;
+ } else {
+ this.ensure(6 + (z2 - j5 - 1) * 3 + 1);
+ this.writeUnicodeEscape(c5);
+ }
+ } else if (c5 >= 56320 && c5 <= 57343) {
+ this.ensure(6 + (z2 - j5 - 1) * 3 + 1);
+ this.writeUnicodeEscape(c5);
+ } else {
+ let { i: i5, json: json2 } = this;
+ if (c5 < 2048) {
+ json2[i5++] = 192 | c5 >> 6;
+ json2[i5++] = 128 | c5 & 63;
+ } else {
+ json2[i5++] = 224 | c5 >> 12;
+ json2[i5++] = 128 | c5 >> 6 & 63;
+ json2[i5++] = 128 | c5 & 63;
+ }
+ this.i = i5;
+ }
+ }
+ this.json[this.i++] = QUOTE;
+ }
+ writeUnicodeEscape(code) {
+ let { json: json2, i: i5 } = this;
+ json2[i5++] = BACKSLASH;
+ json2[i5++] = 117;
+ const hex3 = code.toString(16).padStart(4, "0");
+ for (let j5 = 0; j5 < 4; ++j5) {
+ json2[i5++] = hex3.charCodeAt(j5);
+ }
+ this.i = i5;
+ }
+ static B64 = (() => {
+ const chars = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/";
+ const table = new Uint8Array(64);
+ for (let i5 = 0; i5 < 64; ++i5) {
+ table[i5] = chars.charCodeAt(i5);
+ }
+ return table;
+ })();
+ writeBase64(data) {
+ const b64Len = Math.ceil(data.length / 3) * 4;
+ this.ensure(b64Len + 2);
+ const json2 = this.json;
+ const B64 = _JsonShapeSerializer2.B64;
+ let i5 = this.i;
+ json2[i5++] = QUOTE;
+ const len = data.length;
+ const remainder = len % 3;
+ const mainLen = len - remainder;
+ for (let j5 = 0; j5 < mainLen; j5 += 3) {
+ const a5 = data[j5];
+ const b5 = data[j5 + 1];
+ const c5 = data[j5 + 2];
+ json2[i5++] = B64[a5 >> 2];
+ json2[i5++] = B64[(a5 & 3) << 4 | b5 >> 4];
+ json2[i5++] = B64[(b5 & 15) << 2 | c5 >> 6];
+ json2[i5++] = B64[c5 & 63];
+ }
+ if (remainder === 2) {
+ const a5 = data[mainLen];
+ const b5 = data[mainLen + 1];
+ json2[i5++] = B64[a5 >> 2];
+ json2[i5++] = B64[(a5 & 3) << 4 | b5 >> 4];
+ json2[i5++] = B64[(b5 & 15) << 2];
+ json2[i5++] = 61;
+ } else if (remainder === 1) {
+ const a5 = data[mainLen];
+ json2[i5++] = B64[a5 >> 2];
+ json2[i5++] = B64[(a5 & 3) << 4];
+ json2[i5++] = 61;
+ json2[i5++] = 61;
+ }
+ json2[i5++] = QUOTE;
+ this.i = i5;
+ }
+ writeValue(schema2, value, container) {
+ if (value == null) {
+ if (container?.isStructSchema()) {
+ if (value === void 0) {
+ const ns2 = NormalizedSchema.of(schema2);
+ if (ns2.isIdempotencyToken()) {
+ this.writeAsciiQuoted(generateIdempotencyToken());
+ return;
+ }
+ }
+ return;
+ }
+ this.ensure(4);
+ this.json.set(NULL, this.i);
+ this.i += 4;
+ return;
+ }
+ const ns = NormalizedSchema.of(schema2);
+ const isObject2 = typeof value === "object";
+ if (ns.isStringSchema()) {
+ const mediaType = ns.getMergedTraits().mediaType;
+ if (mediaType) {
+ const isJson = mediaType === "application/json" || mediaType.endsWith("+json");
+ if (isJson) {
+ this.writeJsonString(LazyJsonString.from(value).toString());
+ return;
+ }
+ }
+ }
+ if (this.settings.bigNumberAsString && value != null && (ns.isBigIntegerSchema() || ns.isBigDecimalSchema())) {
+ const asString = value instanceof NumericValue ? value.string : String(value);
+ this.writeAsciiQuoted(asString);
+ return;
+ }
+ if (isObject2) {
+ if (ns.isStructSchema()) {
+ this.writeStruct(ns, value);
+ return;
+ }
+ if (Array.isArray(value) && (ns.isListSchema() || ns.isDocumentSchema())) {
+ this.writeList(ns, value, ns.isDocumentSchema());
+ return;
+ }
+ if (ns.isMapSchema()) {
+ this.writeMap(ns, value, false);
+ return;
+ }
+ if (value instanceof Uint8Array && (ns.isBlobSchema() || ns.isDocumentSchema())) {
+ this.writeBase64(value);
+ return;
+ }
+ if (value instanceof Date && (ns.isTimestampSchema() || ns.isDocumentSchema())) {
+ this.writeTimestamp(ns, value);
+ return;
+ }
+ if (value instanceof NumericValue) {
+ this.writeAscii(value.string);
+ return;
+ }
+ if (ns.isDocumentSchema()) {
+ if (Array.isArray(value)) {
+ this.writeList(ns, value, true);
+ } else {
+ this.writeMap(ns, value, true);
+ }
+ return;
+ }
+ const json2 = JSON.stringify(value);
+ this.writeAscii(json2);
+ return;
+ }
+ if (typeof value === "string") {
+ if (ns.isBlobSchema()) {
+ const b64 = (this.serdeContext?.base64Encoder ?? toBase64)(value);
+ this.writeAsciiQuoted(b64);
+ return;
+ }
+ this.writeJsonString(value);
+ return;
+ }
+ if (typeof value === "number") {
+ if (Math.abs(value) === Infinity || Number.isNaN(value)) {
+ this.writeAsciiQuoted(String(value));
+ return;
+ }
+ const numStr = String(value);
+ this.writeAscii(numStr);
+ return;
+ }
+ if (typeof value === "boolean") {
+ this.ensure(5);
+ let { i: i5, json: json2 } = this;
+ if (value) {
+ json2.set(TRUE, i5);
+ i5 += 4;
+ } else {
+ json2.set(FALSE, i5);
+ i5 += 5;
+ }
+ this.i = i5;
+ return;
+ }
+ if (typeof value === "bigint") {
+ this.writeAscii(value.toString());
+ return;
+ }
+ this.writeAscii(String(value));
+ }
+ writeStruct(ns, value) {
+ this.ensure(2);
+ this.json[this.i++] = OPEN_BRACE;
+ let wroteAny = false;
+ const hasType = typeof value.__type === "string";
+ let writtenKeys;
+ if (hasType) {
+ writtenKeys = /* @__PURE__ */ new Set();
+ }
+ for (const [memberName, memberSchema] of ns.structIterator()) {
+ const item = value[memberName];
+ if (item == null && !memberSchema.isIdempotencyToken()) {
+ continue;
+ }
+ if (wroteAny) {
+ this.ensure(1);
+ this.json[this.i++] = COMMA;
+ }
+ wroteAny = true;
+ const targetKey = this.settings.jsonName ? memberSchema.getMergedTraits().jsonName ?? memberName : memberName;
+ if (writtenKeys) {
+ writtenKeys.add(memberName);
+ writtenKeys.add(targetKey);
+ }
+ this.writeAsciiQuoted(targetKey);
+ this.json[this.i++] = COLON;
+ this.writeValue(memberSchema, item, ns);
+ }
+ if (!wroteAny && ns.isUnionSchema()) {
+ const { $unknown } = value;
+ if (Array.isArray($unknown)) {
+ const [k5, v] = $unknown;
+ this.writeAsciiQuoted(k5);
+ this.ensure(1);
+ this.json[this.i++] = COLON;
+ this.writeValue(15, v, ns);
+ }
+ } else if (hasType) {
+ for (const k5 in value) {
+ if (writtenKeys.has(k5)) {
+ continue;
+ }
+ writtenKeys.add(k5);
+ const v = value[k5];
+ if (wroteAny) {
+ this.ensure(1);
+ this.json[this.i++] = COMMA;
+ }
+ wroteAny = true;
+ this.writeAsciiQuoted(k5);
+ this.ensure(1);
+ this.json[this.i++] = COLON;
+ this.writeValue(15, v, void 0);
+ }
+ }
+ this.ensure(1);
+ this.json[this.i++] = CLOSE_BRACE;
+ }
+ writeList(ns, value, isDocument) {
+ const sparse = !!ns.getMergedTraits().sparse;
+ const valueSchema = ns.getValueSchema();
+ if (!isDocument) {
+ if (valueSchema.isStringSchema() || valueSchema.isNumericSchema() || valueSchema.isBooleanSchema()) {
+ let hasSpecials = false;
+ for (let i5 = 0; i5 < value.length; ++i5) {
+ const v = value[i5];
+ if (Number.isNaN(v) || v === Infinity || v === -Infinity || v == null && !sparse) {
+ hasSpecials = true;
+ break;
+ }
+ }
+ let json2;
+ if (!hasSpecials) {
+ json2 = JSON.stringify(value);
+ } else {
+ const out = [];
+ for (let i5 = 0; i5 < value.length; ++i5) {
+ const v = value[i5];
+ if (v == null && !sparse)
+ continue;
+ if (Number.isNaN(v) || v === Infinity || v === -Infinity) {
+ out.push(String(v));
+ } else {
+ out.push(v);
+ }
+ }
+ json2 = JSON.stringify(out);
+ }
+ this.ensure(json2.length * 3);
+ this.i += encoder.encodeInto(json2, this.json.subarray(this.i)).written;
+ return;
+ }
+ }
+ this.ensure(2);
+ this.json[this.i++] = OPEN_BRACKET;
+ let wroteFirstItem = false;
+ for (let i5 = 0; i5 < value.length; ++i5) {
+ const item = value[i5];
+ if (isDocument ? item === void 0 : item == null && !sparse) {
+ continue;
+ }
+ if (wroteFirstItem) {
+ this.ensure(1);
+ this.json[this.i++] = COMMA;
+ }
+ this.writeValue(valueSchema, item, void 0);
+ wroteFirstItem = true;
+ }
+ this.ensure(1);
+ this.json[this.i++] = CLOSE_BRACKET;
+ }
+ writeMap(ns, value, isDocument) {
+ const sparse = !!ns.getMergedTraits().sparse;
+ const valueSchema = ns.getValueSchema();
+ if (!isDocument) {
+ if (valueSchema.isStringSchema() || valueSchema.isNumericSchema() || valueSchema.isBooleanSchema()) {
+ let modifications;
+ for (const k5 in value) {
+ if (!hasOwn(value, k5))
+ continue;
+ const v = value[k5];
+ if (Number.isNaN(v) || v === Infinity || v === -Infinity) {
+ (modifications ??= {})[k5] = v;
+ value[k5] = String(v);
+ } else if (v === null && !sparse) {
+ (modifications ??= {})[k5] = null;
+ value[k5] = void 0;
+ }
+ }
+ const json2 = JSON.stringify(value);
+ if (modifications) {
+ Object.assign(value, modifications);
+ }
+ this.ensure(json2.length * 3);
+ this.i += encoder.encodeInto(json2, this.json.subarray(this.i)).written;
+ return;
+ }
+ }
+ this.ensure(2);
+ this.json[this.i++] = OPEN_BRACE;
+ let first = true;
+ for (const k5 in value) {
+ if (!hasOwn(value, k5))
+ continue;
+ const v = value[k5];
+ if (isDocument ? v === void 0 : v == null && !sparse) {
+ continue;
+ }
+ if (!first) {
+ this.ensure(1);
+ this.json[this.i++] = COMMA;
+ }
+ first = false;
+ this.writeJsonString(k5);
+ this.ensure(1);
+ this.json[this.i++] = COLON;
+ this.writeValue(valueSchema, v, void 0);
+ }
+ this.ensure(1);
+ this.json[this.i++] = CLOSE_BRACE;
+ }
+ writeTimestamp(ns, value) {
+ const format = determineTimestampFormat(ns, this.settings);
+ switch (format) {
+ case 5: {
+ const iso = value.toISOString().replace(".000Z", "Z");
+ this.writeAsciiQuoted(iso);
+ return;
+ }
+ case 6: {
+ this.writeAsciiQuoted(dateToUtcString(value));
+ return;
+ }
+ case 7: {
+ const epochSecs = String(value.getTime() / 1e3);
+ this.writeAscii(epochSecs);
+ return;
+ }
+ default: {
+ const epochSecs = String(value.getTime() / 1e3);
+ this.writeAscii(epochSecs);
+ return;
+ }
+ }
+ }
+ };
+ }
+});
+
+// ../../node_modules/.pnpm/@smithy+core@3.36.1/node_modules/@smithy/core/dist-es/submodules/protocols/json/codec-v2/JsonCodec2.js
+var JsonCodec2;
+var init_JsonCodec2 = __esm({
+ "../../node_modules/.pnpm/@smithy+core@3.36.1/node_modules/@smithy/core/dist-es/submodules/protocols/json/codec-v2/JsonCodec2.js"() {
+ init_ConfigurableSerdeContext();
+ init_JsonShapeDeserializer2();
+ init_JsonShapeSerializer2();
+ JsonCodec2 = class extends SerdeContextConfig {
+ static {
+ __name(this, "JsonCodec2");
+ }
+ settings;
+ constructor(settings) {
+ super();
+ this.settings = settings;
+ }
+ createSerializer() {
+ const serializer = new JsonShapeSerializer2(this.settings);
+ serializer.setSerdeContext(this.serdeContext);
+ return serializer;
+ }
+ createDeserializer() {
+ const deserializer = new JsonShapeDeserializer2(this.settings);
+ deserializer.setSerdeContext(this.serdeContext);
+ return deserializer;
+ }
+ };
+ }
+});
+
+// ../../node_modules/.pnpm/@smithy+core@3.36.1/node_modules/@smithy/core/dist-es/submodules/protocols/json/SmithyRpcV2JsonProtocol.js
+var SmithyRpcV2JsonProtocol;
+var init_SmithyRpcV2JsonProtocol = __esm({
+ "../../node_modules/.pnpm/@smithy+core@3.36.1/node_modules/@smithy/core/dist-es/submodules/protocols/json/SmithyRpcV2JsonProtocol.js"() {
+ init_RpcProtocol();
+ init_schema();
+ init_transport();
+ init_JsonCodec2();
+ init_parseJsonBody();
+ SmithyRpcV2JsonProtocol = class extends RpcProtocol {
+ static {
+ __name(this, "SmithyRpcV2JsonProtocol");
+ }
+ codec = new JsonCodec2({
+ timestampFormat: {
+ useTrait: false,
+ default: 7
+ },
+ jsonName: false,
+ bigNumberAsString: true
+ });
+ serializer = this.codec.createSerializer();
+ deserializer = this.codec.createDeserializer();
+ constructor({ defaultNamespace, errorTypeRegistries: errorTypeRegistries5 }) {
+ super({ defaultNamespace, errorTypeRegistries: errorTypeRegistries5 });
+ }
+ getShapeId() {
+ return "smithy.protocols#rpcv2Json";
+ }
+ getPayloadCodec() {
+ return this.codec;
+ }
+ async serializeRequest(operationSchema, input2, context) {
+ const request = await super.serializeRequest(operationSchema, input2, context);
+ Object.assign(request.headers, {
+ "content-type": this.getDefaultContentType(),
+ "smithy-protocol": "rpc-v2-json",
+ accept: this.getDefaultContentType()
+ });
+ if (deref(operationSchema.input) === "unit") {
+ delete request.body;
+ delete request.headers["content-type"];
+ } else if (!request.body) {
+ request.body = "{}";
+ }
+ const { service, operation } = getSmithyContext(context);
+ const path2 = `/service/${service}/operation/${operation}`;
+ if (request.path.endsWith("/")) {
+ request.path += path2.slice(1);
+ } else {
+ request.path += path2;
+ }
+ return request;
+ }
+ async deserializeResponse(operationSchema, context, response) {
+ return super.deserializeResponse(operationSchema, context, response);
+ }
+ async handleError(operationSchema, context, response, dataObject, metadata) {
+ const errorName = loadSmithyRpcV2JsonErrorCode(response, dataObject) ?? "Unknown";
+ const errorMetadata = {
+ $metadata: metadata,
+ $fault: response.statusCode <= 500 ? "client" : "server"
+ };
+ let namespace = this.options.defaultNamespace;
+ if (errorName.includes("#")) {
+ [namespace] = errorName.split("#");
+ }
+ const registry2 = this.compositeErrorRegistry;
+ const nsRegistry = TypeRegistry.for(namespace);
+ registry2.copyFrom(nsRegistry);
+ let errorSchema;
+ try {
+ errorSchema = registry2.getSchema(errorName);
+ } catch (ignored) {
+ if (dataObject.Message) {
+ dataObject.message = dataObject.Message;
+ }
+ const syntheticRegistry = TypeRegistry.for("smithy.ts.sdk.synthetic." + namespace);
+ registry2.copyFrom(syntheticRegistry);
+ const baseExceptionSchema = registry2.getBaseException();
+ if (baseExceptionSchema) {
+ const ErrorCtor2 = registry2.getErrorCtor(baseExceptionSchema);
+ throw Object.assign(new ErrorCtor2({ name: errorName }), errorMetadata, dataObject);
+ }
+ throw Object.assign(new Error(errorName), errorMetadata, dataObject);
+ }
+ const ns = NormalizedSchema.of(errorSchema);
+ const ErrorCtor = registry2.getErrorCtor(errorSchema);
+ const message = dataObject.message ?? dataObject.Message ?? "Unknown";
+ const exception = new ErrorCtor({});
+ const output2 = {};
+ const errorDeserializer = this.codec.createDeserializer();
+ for (const [name2, member] of ns.structIterator()) {
+ if (dataObject[name2] != null) {
+ output2[name2] = errorDeserializer.readObject(member, dataObject[name2]);
+ }
+ }
+ throw Object.assign(exception, errorMetadata, {
+ $fault: ns.getMergedTraits().error,
+ message
+ }, output2);
+ }
+ getDefaultContentType() {
+ return "application/json";
+ }
+ };
+ }
+});
+
+// ../../node_modules/.pnpm/@smithy+core@3.36.1/node_modules/@smithy/core/dist-es/submodules/protocols/json/codec-v1/JsonShapeDeserializer.js
+var JsonShapeDeserializer;
+var init_JsonShapeDeserializer = __esm({
+ "../../node_modules/.pnpm/@smithy+core@3.36.1/node_modules/@smithy/core/dist-es/submodules/protocols/json/codec-v1/JsonShapeDeserializer.js"() {
+ init_determineTimestampFormat();
+ init_schema();
+ init_serde();
+ init_serde();
+ init_transport();
+ init_ConfigurableSerdeContext();
+ init_UnionSerde();
+ init_jsonReviver();
+ init_needsReviver();
+ init_parseJsonBody();
+ init_writeKey();
+ JsonShapeDeserializer = class extends SerdeContextConfig {
+ static {
+ __name(this, "JsonShapeDeserializer");
+ }
+ settings;
+ constructor(settings) {
+ super();
+ this.settings = settings;
+ }
+ async read(schema2, data) {
+ const reviver = needsReviver(schema2) ? jsonReviver : void 0;
+ return this._read(schema2, typeof data === "string" ? JSON.parse(data, reviver) : await parseJsonBody(data, this.serdeContext, schema2));
+ }
+ readObject(schema2, data) {
+ return this._read(schema2, data);
+ }
+ _read(schema2, value) {
+ const isObject2 = value !== null && typeof value === "object";
+ const ns = NormalizedSchema.of(schema2);
+ if (isObject2) {
+ if (ns.isStructSchema()) {
+ const record2 = value;
+ const union2 = ns.isUnionSchema();
+ const out = {};
+ let nameMap = void 0;
+ const { jsonName } = this.settings;
+ if (jsonName) {
+ nameMap = {};
+ }
+ let unionSerde;
+ if (union2) {
+ unionSerde = new UnionSerde(record2, out);
+ }
+ for (const [memberName, memberSchema] of ns.structIterator()) {
+ let fromKey = memberName;
+ if (jsonName) {
+ fromKey = memberSchema.getMergedTraits().jsonName ?? fromKey;
+ nameMap[fromKey] = memberName;
+ }
+ if (union2) {
+ unionSerde.mark(fromKey);
+ }
+ if (record2[fromKey] != null) {
+ out[memberName] = this._read(memberSchema, record2[fromKey]);
+ }
+ }
+ if (union2) {
+ unionSerde.writeUnknown();
+ } else if (typeof record2.__type === "string") {
+ for (const k5 in record2) {
+ if (!hasOwn(record2, k5))
+ continue;
+ const v = record2[k5];
+ const t = jsonName ? nameMap[k5] ?? k5 : k5;
+ if (!(t in out)) {
+ out[t] = v;
+ }
+ }
+ }
+ return out;
+ }
+ if (Array.isArray(value) && ns.isListSchema()) {
+ const listMember = ns.getValueSchema();
+ const out = [];
+ for (const item of value) {
+ out.push(this._read(listMember, item));
+ }
+ return out;
+ }
+ if (ns.isMapSchema()) {
+ const mapMember = ns.getValueSchema();
+ const out = {};
+ for (const _k in value) {
+ if (!hasOwn(value, _k))
+ continue;
+ if (_k === "__proto__") {
+ writeKey(out);
+ }
+ out[_k] = this._read(mapMember, value[_k]);
+ }
+ return out;
+ }
+ }
+ if (ns.isBlobSchema() && typeof value === "string") {
+ return fromBase64(value);
+ }
+ const mediaType = ns.getMergedTraits().mediaType;
+ if (ns.isStringSchema() && typeof value === "string" && mediaType) {
+ const isJson = mediaType === "application/json" || mediaType.endsWith("+json");
+ if (isJson) {
+ return LazyJsonString.from(value);
+ }
+ return value;
+ }
+ if (ns.isTimestampSchema() && value != null) {
+ const format = determineTimestampFormat(ns, this.settings);
+ switch (format) {
+ case 5:
+ return parseRfc3339DateTimeWithOffset(value);
+ case 6:
+ return parseRfc7231DateTime(value);
+ case 7:
+ return parseEpochTimestamp(value);
+ default:
+ console.warn("Missing timestamp format, parsing value with Date constructor:", value);
+ return new Date(value);
+ }
+ }
+ if (ns.isBigIntegerSchema() && (typeof value === "number" || typeof value === "string")) {
+ return BigInt(value);
+ }
+ if (ns.isBigDecimalSchema() && value != void 0) {
+ if (value instanceof NumericValue) {
+ return value;
+ }
+ const untyped = value;
+ if (untyped.type === "bigDecimal" && "string" in untyped) {
+ return new NumericValue(untyped.string, untyped.type);
+ }
+ return new NumericValue(String(value), "bigDecimal");
+ }
+ if (ns.isNumericSchema() && typeof value === "string") {
+ switch (value) {
+ case "Infinity":
+ return Infinity;
+ case "-Infinity":
+ return -Infinity;
+ case "NaN":
+ return NaN;
+ }
+ return value;
+ }
+ if (ns.isDocumentSchema()) {
+ if (isObject2) {
+ const out = Array.isArray(value) ? [] : {};
+ for (const k5 in value) {
+ if (!hasOwn(value, k5))
+ continue;
+ if (k5 === "__proto__") {
+ writeKey(out);
+ }
+ const v = value[k5];
+ if (v instanceof NumericValue) {
+ out[k5] = v;
+ } else {
+ out[k5] = this._read(ns, v);
+ }
+ }
+ return out;
+ } else {
+ return structuredClone(value);
+ }
+ }
+ return value;
+ }
+ };
+ }
+});
+
+// ../../node_modules/.pnpm/@smithy+core@3.36.1/node_modules/@smithy/core/dist-es/submodules/protocols/json/jsonReplacer.js
+var NUMERIC_CONTROL_CHAR, JsonReplacer;
+var init_jsonReplacer = __esm({
+ "../../node_modules/.pnpm/@smithy+core@3.36.1/node_modules/@smithy/core/dist-es/submodules/protocols/json/jsonReplacer.js"() {
+ init_serde();
+ NUMERIC_CONTROL_CHAR = String.fromCharCode(925);
+ JsonReplacer = class {
+ static {
+ __name(this, "JsonReplacer");
+ }
+ values = /* @__PURE__ */ new Map();
+ counter = 0;
+ stage = 0;
+ createReplacer() {
+ if (this.stage === 1) {
+ throw new Error("@aws-sdk/core/protocols - JsonReplacer already created.");
+ }
+ if (this.stage === 2) {
+ throw new Error("@aws-sdk/core/protocols - JsonReplacer exhausted.");
+ }
+ this.stage = 1;
+ return (key, value) => {
+ if (value instanceof NumericValue) {
+ const v = `${NUMERIC_CONTROL_CHAR + "nv" + this.counter++}_` + value.string;
+ this.values.set(`"${v}"`, value.string);
+ return v;
+ }
+ if (typeof value === "bigint") {
+ const s2 = value.toString();
+ const v = `${NUMERIC_CONTROL_CHAR + "b" + this.counter++}_` + s2;
+ this.values.set(`"${v}"`, s2);
+ return v;
+ }
+ return value;
+ };
+ }
+ replaceInJson(json2) {
+ if (this.stage === 0) {
+ throw new Error("@aws-sdk/core/protocols - JsonReplacer not created yet.");
+ }
+ if (this.stage === 2) {
+ throw new Error("@aws-sdk/core/protocols - JsonReplacer exhausted.");
+ }
+ this.stage = 2;
+ if (this.counter === 0) {
+ return json2;
+ }
+ for (const [key, value] of this.values) {
+ json2 = json2.replace(key, value);
+ }
+ return json2;
+ }
+ };
+ }
+});
+
+// ../../node_modules/.pnpm/@smithy+core@3.36.1/node_modules/@smithy/core/dist-es/submodules/protocols/json/codec-v1/JsonShapeSerializer.js
+var JsonShapeSerializer;
+var init_JsonShapeSerializer = __esm({
+ "../../node_modules/.pnpm/@smithy+core@3.36.1/node_modules/@smithy/core/dist-es/submodules/protocols/json/codec-v1/JsonShapeSerializer.js"() {
+ init_determineTimestampFormat();
+ init_schema();
+ init_serde();
+ init_ConfigurableSerdeContext();
+ init_jsonReplacer();
+ init_writeKey();
+ init_transport();
+ JsonShapeSerializer = class extends SerdeContextConfig {
+ static {
+ __name(this, "JsonShapeSerializer");
+ }
+ settings;
+ buffer;
+ useReplacer = false;
+ rootSchema;
+ constructor(settings) {
+ super();
+ this.settings = settings;
+ }
+ write(schema2, value) {
+ this.rootSchema = NormalizedSchema.of(schema2);
+ this.buffer = this._write(this.rootSchema, value);
+ }
+ flush() {
+ const { rootSchema, useReplacer } = this;
+ this.rootSchema = void 0;
+ this.useReplacer = false;
+ if (rootSchema?.isStructSchema() || rootSchema?.isDocumentSchema()) {
+ if (!useReplacer) {
+ return JSON.stringify(this.buffer);
+ }
+ const replacer = new JsonReplacer();
+ return replacer.replaceInJson(JSON.stringify(this.buffer, replacer.createReplacer(), 0));
+ }
+ return this.buffer;
+ }
+ writeDiscriminatedDocument(schema2, value) {
+ this.write(schema2, value);
+ if (typeof this.buffer === "object") {
+ this.buffer.__type = NormalizedSchema.of(schema2).getName(true);
+ }
+ }
+ _write(schema2, value, container) {
+ const isObject2 = value !== null && typeof value === "object";
+ const ns = NormalizedSchema.of(schema2);
+ if (isObject2) {
+ if (ns.isStructSchema()) {
+ const record2 = value;
+ const out = {};
+ const { jsonName } = this.settings;
+ let nameMap = void 0;
+ if (jsonName) {
+ nameMap = {};
+ }
+ let outCount = 0;
+ for (const [memberName, memberSchema] of ns.structIterator()) {
+ const serializableValue = this._write(memberSchema, record2[memberName], ns);
+ if (serializableValue !== void 0) {
+ let targetKey = memberName;
+ if (jsonName) {
+ targetKey = memberSchema.getMergedTraits().jsonName ?? memberName;
+ nameMap[memberName] = targetKey;
+ }
+ out[targetKey] = serializableValue;
+ outCount++;
+ }
+ }
+ if (ns.isUnionSchema() && outCount === 0) {
+ const { $unknown } = record2;
+ if (Array.isArray($unknown)) {
+ const [k5, v] = $unknown;
+ if (k5 === "__proto__") {
+ writeKey(out);
+ }
+ out[k5] = this._write(15, v);
+ }
+ } else if (typeof record2.__type === "string") {
+ for (const k5 in record2) {
+ if (!hasOwn(record2, k5))
+ continue;
+ const v = record2[k5];
+ const targetKey = jsonName ? nameMap[k5] ?? k5 : k5;
+ if (!(targetKey in out)) {
+ out[targetKey] = this._write(15, v);
+ }
+ }
+ }
+ return out;
+ }
+ if (Array.isArray(value) && ns.isListSchema()) {
+ const listMember = ns.getValueSchema();
+ const out = [];
+ const sparse = !!ns.getMergedTraits().sparse;
+ for (const item of value) {
+ if (sparse || item != null) {
+ out.push(this._write(listMember, item));
+ }
+ }
+ return out;
+ }
+ if (ns.isMapSchema()) {
+ const mapMember = ns.getValueSchema();
+ const out = {};
+ const sparse = !!ns.getMergedTraits().sparse;
+ for (const _k in value) {
+ if (!hasOwn(value, _k))
+ continue;
+ const _v = value[_k];
+ if (sparse || _v != null) {
+ if (_k === "__proto__") {
+ writeKey(out);
+ }
+ out[_k] = this._write(mapMember, _v);
+ }
+ }
+ return out;
+ }
+ if (value instanceof Uint8Array && ns.isBlobSchema()) {
+ if (ns === this.rootSchema) {
+ return value;
+ }
+ return (this.serdeContext?.base64Encoder ?? toBase64)(value);
+ }
+ if (value instanceof Date && (ns.isTimestampSchema() || ns.isDocumentSchema())) {
+ const format = determineTimestampFormat(ns, this.settings);
+ switch (format) {
+ case 5:
+ return value.toISOString().replace(".000Z", "Z");
+ case 6:
+ return dateToUtcString(value);
+ case 7:
+ return value.getTime() / 1e3;
+ default:
+ console.warn("Missing timestamp format, using epoch seconds", value);
+ return value.getTime() / 1e3;
+ }
+ }
+ if (value instanceof NumericValue) {
+ this.useReplacer = true;
+ }
+ }
+ if (value === null && container?.isStructSchema()) {
+ return void 0;
+ }
+ if (ns.isStringSchema()) {
+ if (typeof value === "undefined" && ns.isIdempotencyToken()) {
+ return generateIdempotencyToken();
+ }
+ const mediaType = ns.getMergedTraits().mediaType;
+ if (value != null && mediaType) {
+ const isJson = mediaType === "application/json" || mediaType.endsWith("+json");
+ if (isJson) {
+ return LazyJsonString.from(value);
+ }
+ }
+ return value;
+ }
+ if (typeof value === "number") {
+ if (Math.abs(value) === Infinity || isNaN(value)) {
+ return String(value);
+ }
+ return value;
+ }
+ if (typeof value === "string" && ns.isBlobSchema()) {
+ if (ns === this.rootSchema) {
+ return value;
+ }
+ return (this.serdeContext?.base64Encoder ?? toBase64)(value);
+ }
+ if (typeof value === "bigint") {
+ this.useReplacer = true;
+ }
+ if (ns.isDocumentSchema()) {
+ if (isObject2) {
+ if (value instanceof Uint8Array) {
+ return (this.serdeContext?.base64Encoder ?? toBase64)(value);
+ }
+ const out = Array.isArray(value) ? [] : {};
+ for (const k5 in value) {
+ if (!hasOwn(value, k5))
+ continue;
+ const v = value[k5];
+ if (k5 === "__proto__") {
+ writeKey(out);
+ }
+ if (v instanceof NumericValue) {
+ this.useReplacer = true;
+ out[k5] = v;
+ } else {
+ out[k5] = this._write(ns, v);
+ }
+ }
+ return out;
+ } else {
+ return structuredClone(value);
+ }
+ }
+ return value;
+ }
+ };
+ }
+});
+
+// ../../node_modules/.pnpm/@smithy+core@3.36.1/node_modules/@smithy/core/dist-es/submodules/protocols/json/codec-v1/JsonCodec.js
+var JsonCodec;
+var init_JsonCodec = __esm({
+ "../../node_modules/.pnpm/@smithy+core@3.36.1/node_modules/@smithy/core/dist-es/submodules/protocols/json/codec-v1/JsonCodec.js"() {
+ init_ConfigurableSerdeContext();
+ init_JsonShapeDeserializer();
+ init_JsonShapeSerializer();
+ JsonCodec = class extends SerdeContextConfig {
+ static {
+ __name(this, "JsonCodec");
+ }
+ settings;
+ constructor(settings) {
+ super();
+ this.settings = settings;
+ }
+ createSerializer() {
+ const serializer = new JsonShapeSerializer(this.settings);
+ serializer.setSerdeContext(this.serdeContext);
+ return serializer;
+ }
+ createDeserializer() {
+ const deserializer = new JsonShapeDeserializer(this.settings);
+ deserializer.setSerdeContext(this.serdeContext);
+ return deserializer;
+ }
+ };
+ }
+});
+
+// ../../node_modules/.pnpm/@smithy+core@3.36.1/node_modules/@smithy/core/dist-es/submodules/protocols/index.js
+var protocols_exports = {};
+__export(protocols_exports, {
+ Field: () => Field,
+ Fields: () => Fields,
+ FromStringShapeDeserializer: () => FromStringShapeDeserializer,
+ HttpBindingProtocol: () => HttpBindingProtocol,
+ HttpInterceptingShapeDeserializer: () => HttpInterceptingShapeDeserializer,
+ HttpInterceptingShapeSerializer: () => HttpInterceptingShapeSerializer,
+ HttpProtocol: () => HttpProtocol,
+ HttpRequest: () => HttpRequest,
+ HttpResponse: () => HttpResponse,
+ JsonCodec: () => JsonCodec,
+ JsonCodec2: () => JsonCodec2,
+ JsonShapeDeserializer: () => JsonShapeDeserializer,
+ JsonShapeDeserializer2: () => JsonShapeDeserializer2,
+ JsonShapeSerializer: () => JsonShapeSerializer,
+ JsonShapeSerializer2: () => JsonShapeSerializer2,
+ RequestBuilder: () => RequestBuilder,
+ RpcProtocol: () => RpcProtocol,
+ SerdeContext: () => SerdeContext,
+ SmithyRpcV2JsonProtocol: () => SmithyRpcV2JsonProtocol,
+ ToStringShapeSerializer: () => ToStringShapeSerializer,
+ buildQueryString: () => buildQueryString,
+ collectBody: () => collectBody,
+ contentLengthMiddleware: () => contentLengthMiddleware,
+ contentLengthMiddlewareOptions: () => contentLengthMiddlewareOptions,
+ determineTimestampFormat: () => determineTimestampFormat,
+ escapeUri: () => escapeUri,
+ escapeUriPath: () => escapeUriPath,
+ extendedEncodeURIComponent: () => extendedEncodeURIComponent,
+ getContentLengthPlugin: () => getContentLengthPlugin,
+ getHttpHandlerExtensionConfiguration: () => getHttpHandlerExtensionConfiguration,
+ isValidHostname: () => isValidHostname,
+ loadJsonRpcErrorCode: () => loadJsonRpcErrorCode,
+ loadRestJsonErrorCode: () => loadRestJsonErrorCode,
+ loadSmithyRpcV2JsonErrorCode: () => loadSmithyRpcV2JsonErrorCode,
+ parseJsonBody: () => parseJsonBody,
+ parseJsonErrorBody: () => parseJsonErrorBody,
+ parseQueryString: () => parseQueryString,
+ parseUrl: () => parseUrl,
+ requestBuilder: () => requestBuilder,
+ resolveHttpHandlerRuntimeConfig: () => resolveHttpHandlerRuntimeConfig,
+ resolvedPath: () => resolvedPath
+});
+var init_protocols = __esm({
+ "../../node_modules/.pnpm/@smithy+core@3.36.1/node_modules/@smithy/core/dist-es/submodules/protocols/index.js"() {
+ init_collect_stream_body();
+ init_extended_encode_uri_component();
+ init_HttpBindingProtocol();
+ init_HttpProtocol();
+ init_RpcProtocol();
+ init_requestBuilder();
+ init_resolve_path();
+ init_FromStringShapeDeserializer();
+ init_HttpInterceptingShapeDeserializer();
+ init_HttpInterceptingShapeSerializer();
+ init_ToStringShapeSerializer();
+ init_determineTimestampFormat();
+ init_SerdeContext();
+ init_Field();
+ init_Fields();
+ init_transport();
+ init_transport();
+ init_transport();
+ init_httpExtensionConfiguration();
+ init_contentLengthMiddleware();
+ init_escape_uri();
+ init_escape_uri_path();
+ init_buildQueryString();
+ init_transport();
+ init_transport();
+ init_SmithyRpcV2JsonProtocol();
+ init_parseJsonBody();
+ init_JsonCodec();
+ init_JsonShapeSerializer();
+ init_JsonShapeDeserializer();
+ init_JsonCodec2();
+ init_JsonShapeSerializer2();
+ init_JsonShapeDeserializer2();
+ }
+});
+
+// ../../node_modules/.pnpm/@smithy+core@3.36.1/node_modules/@smithy/core/dist-es/submodules/retry/service-error-classification/constants.js
+var CLOCK_SKEW_ERROR_CODES, THROTTLING_ERROR_CODES, TRANSIENT_ERROR_CODES, TRANSIENT_ERROR_STATUS_CODES, NODEJS_TIMEOUT_ERROR_CODES, NODEJS_NETWORK_ERROR_CODES;
+var init_constants2 = __esm({
+ "../../node_modules/.pnpm/@smithy+core@3.36.1/node_modules/@smithy/core/dist-es/submodules/retry/service-error-classification/constants.js"() {
+ CLOCK_SKEW_ERROR_CODES = [
+ "AccessDeniedException",
+ "AuthFailure",
+ "InvalidSignatureException",
+ "RequestExpired",
+ "RequestInTheFuture",
+ "RequestTimeTooSkewed",
+ "SignatureDoesNotMatch"
+ ];
+ THROTTLING_ERROR_CODES = [
+ "BandwidthLimitExceeded",
+ "EC2ThrottledException",
+ "LimitExceededException",
+ "PriorRequestNotComplete",
+ "ProvisionedThroughputExceededException",
+ "RequestLimitExceeded",
+ "RequestThrottled",
+ "RequestThrottledException",
+ "SlowDown",
+ "ThrottledException",
+ "Throttling",
+ "ThrottlingException",
+ "TooManyRequestsException",
+ "TransactionInProgressException"
+ ];
+ TRANSIENT_ERROR_CODES = ["TimeoutError", "RequestTimeout", "RequestTimeoutException"];
+ TRANSIENT_ERROR_STATUS_CODES = [500, 502, 503, 504];
+ NODEJS_TIMEOUT_ERROR_CODES = ["ECONNRESET", "ECONNREFUSED", "EPIPE", "ETIMEDOUT"];
+ NODEJS_NETWORK_ERROR_CODES = ["EHOSTUNREACH", "ENETUNREACH", "ENOTFOUND", "EAI_AGAIN"];
+ }
+});
+
+// ../../node_modules/.pnpm/@smithy+core@3.36.1/node_modules/@smithy/core/dist-es/submodules/retry/service-error-classification/service-error-classification.js
+function isNodeJsHttp2TransientError(error62) {
+ return error62.code === "ERR_HTTP2_STREAM_ERROR" && error62.message.includes("NGHTTP2_REFUSED_STREAM");
+}
+var isRetryableByTrait, isClockSkewError, isClockSkewCorrectedError, isBrowserNetworkError, isThrottlingError, isTransientError, isServerError;
+var init_service_error_classification = __esm({
+ "../../node_modules/.pnpm/@smithy+core@3.36.1/node_modules/@smithy/core/dist-es/submodules/retry/service-error-classification/service-error-classification.js"() {
+ init_constants2();
+ isRetryableByTrait = /* @__PURE__ */ __name((error62) => error62?.$retryable !== void 0, "isRetryableByTrait");
+ isClockSkewError = /* @__PURE__ */ __name((error62) => CLOCK_SKEW_ERROR_CODES.includes(error62.name), "isClockSkewError");
+ isClockSkewCorrectedError = /* @__PURE__ */ __name((error62) => error62.$metadata?.clockSkewCorrected, "isClockSkewCorrectedError");
+ isBrowserNetworkError = /* @__PURE__ */ __name((error62) => {
+ const errorMessages = /* @__PURE__ */ new Set([
+ "Failed to fetch",
+ "NetworkError when attempting to fetch resource",
+ "The Internet connection appears to be offline",
+ "Load failed",
+ "Network request failed"
+ ]);
+ const isValid = error62 && error62 instanceof TypeError;
+ if (!isValid) {
+ return false;
+ }
+ return errorMessages.has(error62.message);
+ }, "isBrowserNetworkError");
+ isThrottlingError = /* @__PURE__ */ __name((error62) => error62.$metadata?.httpStatusCode === 429 || THROTTLING_ERROR_CODES.includes(error62.name) || error62.$retryable?.throttling == true, "isThrottlingError");
+ isTransientError = /* @__PURE__ */ __name((error62, depth = 0) => error62?.name !== "AbortError" && (isRetryableByTrait(error62) || isClockSkewCorrectedError(error62) || error62.name === "InvalidSignatureException" && error62.message?.includes("Signature expired") || TRANSIENT_ERROR_CODES.includes(error62.name) || NODEJS_TIMEOUT_ERROR_CODES.includes(error62?.code || "") || NODEJS_NETWORK_ERROR_CODES.includes(error62?.code || "") || TRANSIENT_ERROR_STATUS_CODES.includes(error62.$metadata?.httpStatusCode || 0) || isBrowserNetworkError(error62) || isNodeJsHttp2TransientError(error62) || error62.cause !== void 0 && depth <= 10 && isTransientError(error62.cause, depth + 1)), "isTransientError");
+ isServerError = /* @__PURE__ */ __name((error62) => {
+ if (error62.$metadata?.httpStatusCode !== void 0) {
+ const statusCode = error62.$metadata.httpStatusCode;
+ if (500 <= statusCode && statusCode <= 599 && !isTransientError(error62)) {
+ return true;
+ }
+ return false;
+ }
+ return false;
+ }, "isServerError");
+ __name(isNodeJsHttp2TransientError, "isNodeJsHttp2TransientError");
+ }
+});
+
+// ../../node_modules/.pnpm/@smithy+core@3.36.1/node_modules/@smithy/core/dist-es/submodules/retry/util-retry/constants.js
+var DEFAULT_RETRY_DELAY_BASE, MAXIMUM_RETRY_DELAY, THROTTLING_RETRY_DELAY_BASE, INITIAL_RETRY_TOKENS, RETRY_COST, TIMEOUT_RETRY_COST, NO_RETRY_INCREMENT, INVOCATION_ID_HEADER, REQUEST_HEADER;
+var init_constants3 = __esm({
+ "../../node_modules/.pnpm/@smithy+core@3.36.1/node_modules/@smithy/core/dist-es/submodules/retry/util-retry/constants.js"() {
+ DEFAULT_RETRY_DELAY_BASE = 100;
+ MAXIMUM_RETRY_DELAY = 20 * 1e3;
+ THROTTLING_RETRY_DELAY_BASE = 500;
+ INITIAL_RETRY_TOKENS = 500;
+ RETRY_COST = 5;
+ TIMEOUT_RETRY_COST = 10;
+ NO_RETRY_INCREMENT = 1;
+ INVOCATION_ID_HEADER = "amz-sdk-invocation-id";
+ REQUEST_HEADER = "amz-sdk-request";
+ }
+});
+
+// ../../node_modules/.pnpm/@smithy+core@3.36.1/node_modules/@smithy/core/dist-es/submodules/retry/middleware-retry/parseRetryAfterHeader.js
+function parseRetryAfterHeader(response, logger) {
+ if (!HttpResponse.isInstance(response)) {
+ return;
+ }
+ for (const header in response.headers) {
+ if (!hasOwn(response.headers, header))
+ continue;
+ const h5 = header.toLowerCase();
+ if (h5 === "retry-after") {
+ const retryAfter = response.headers[header];
+ let retryAfterSeconds = NaN;
+ if (retryAfter.endsWith("GMT")) {
+ try {
+ const date5 = parseRfc7231DateTime(retryAfter);
+ retryAfterSeconds = (date5.getTime() - Date.now()) / 1e3;
+ } catch (e5) {
+ logger?.trace?.("Failed to parse retry-after header");
+ logger?.trace?.(e5);
+ }
+ } else if (retryAfter.match(/ GMT, ((\d+)|(\d+\.\d+))$/)) {
+ retryAfterSeconds = Number(retryAfter.match(/ GMT, ([\d.]+)$/)?.[1]);
+ } else if (retryAfter.match(/^((\d+)|(\d+\.\d+))$/)) {
+ retryAfterSeconds = Number(retryAfter);
+ } else if (Date.parse(retryAfter) >= Date.now()) {
+ retryAfterSeconds = (Date.parse(retryAfter) - Date.now()) / 1e3;
+ }
+ if (isNaN(retryAfterSeconds)) {
+ return;
+ }
+ return new Date(Date.now() + retryAfterSeconds * 1e3);
+ } else if (h5 === "x-amz-retry-after") {
+ const v = response.headers[header];
+ const backoffMilliseconds = Number(v);
+ if (isNaN(backoffMilliseconds)) {
+ logger?.trace?.(`Failed to parse x-amz-retry-after=${v}`);
+ return;
+ }
+ return new Date(Date.now() + backoffMilliseconds);
+ }
+ }
+}
+function getRetryAfterHint(response, logger) {
+ return parseRetryAfterHeader(response, logger);
+}
+var init_parseRetryAfterHeader = __esm({
+ "../../node_modules/.pnpm/@smithy+core@3.36.1/node_modules/@smithy/core/dist-es/submodules/retry/middleware-retry/parseRetryAfterHeader.js"() {
+ init_transport();
+ init_protocols();
+ init_serde();
+ __name(parseRetryAfterHeader, "parseRetryAfterHeader");
+ __name(getRetryAfterHint, "getRetryAfterHint");
+ }
+});
+
+// ../../node_modules/.pnpm/@smithy+core@3.36.1/node_modules/@smithy/core/dist-es/submodules/retry/middleware-retry/util.js
+var asSdkError;
+var init_util = __esm({
+ "../../node_modules/.pnpm/@smithy+core@3.36.1/node_modules/@smithy/core/dist-es/submodules/retry/middleware-retry/util.js"() {
+ asSdkError = /* @__PURE__ */ __name((error62) => {
+ if (error62 instanceof Error)
+ return error62;
+ if (error62 instanceof Object)
+ return Object.assign(new Error(), error62);
+ if (typeof error62 === "string")
+ return new Error(error62);
+ return new Error(`AWS SDK error wrapper for ${error62}`);
+ }, "asSdkError");
+ }
+});
+
+// ../../node_modules/.pnpm/@smithy+core@3.36.1/node_modules/@smithy/core/dist-es/submodules/retry/middleware-retry/retryMiddleware.js
+function bindRetryMiddleware(isStreamingPayload2) {
+ return (options) => (next, context) => async (args) => {
+ let retryStrategy = await options.retryStrategy();
+ const maxAttempts = await options.maxAttempts();
+ if (isRetryStrategyV2(retryStrategy)) {
+ retryStrategy = retryStrategy;
+ let retryToken = await retryStrategy.acquireInitialRetryToken((context["partition_id"] ?? "") + (context.__retryLongPoll ? ":longpoll" : ""));
+ let lastError = new Error();
+ let attempts = 0;
+ let totalRetryDelay = 0;
+ const { request } = args;
+ const isRequest = HttpRequest.isInstance(request);
+ if (isRequest) {
+ request.headers[INVOCATION_ID_HEADER] = v4();
+ }
+ while (true) {
+ try {
+ if (isRequest) {
+ request.headers[REQUEST_HEADER] = `attempt=${attempts + 1}; max=${maxAttempts}`;
+ }
+ const { response, output: output2 } = await next(args);
+ retryStrategy.recordSuccess(retryToken);
+ output2.$metadata.attempts = attempts + 1;
+ output2.$metadata.totalRetryDelay = totalRetryDelay;
+ return { response, output: output2 };
+ } catch (e5) {
+ const retryErrorInfo = getRetryErrorInfo(e5, options.logger);
+ lastError = asSdkError(e5);
+ if (isRequest && isStreamingPayload2(request)) {
+ (context.logger instanceof NoOpLogger ? console : context.logger)?.warn("An error was encountered in a non-retryable streaming request.");
+ throw lastError;
+ }
+ try {
+ retryToken = await retryStrategy.refreshRetryTokenForRetry(retryToken, retryErrorInfo);
+ } catch (ignoredRefreshError) {
+ if (!lastError.$metadata) {
+ lastError.$metadata = {};
+ }
+ lastError.$metadata.attempts = attempts + 1;
+ lastError.$metadata.totalRetryDelay = totalRetryDelay;
+ throw lastError;
+ }
+ attempts = retryToken.getRetryCount();
+ const delay = retryToken.getRetryDelay();
+ totalRetryDelay += (retryToken?.$retryLog?.acquisitionDelay ?? 0) + delay;
+ if (delay > 0) {
+ await cooldown(delay);
+ }
+ }
+ }
+ } else {
+ retryStrategy = retryStrategy;
+ if (retryStrategy?.mode) {
+ context.userAgent = [...context.userAgent || [], ["cfg/retry-mode", retryStrategy.mode]];
+ }
+ return retryStrategy.retry(next, args);
+ }
+ };
+}
+function bindGetRetryPlugin(isStreamingPayload2) {
+ const retryMiddleware2 = bindRetryMiddleware(isStreamingPayload2);
+ return (options) => ({
+ applyToStack: /* @__PURE__ */ __name((clientStack) => {
+ clientStack.add(retryMiddleware2(options), retryMiddlewareOptions);
+ }, "applyToStack")
+ });
+}
+var cooldown, isRetryStrategyV2, getRetryErrorInfo, getRetryErrorType, retryMiddlewareOptions;
+var init_retryMiddleware = __esm({
+ "../../node_modules/.pnpm/@smithy+core@3.36.1/node_modules/@smithy/core/dist-es/submodules/retry/middleware-retry/retryMiddleware.js"() {
+ init_client();
+ init_protocols();
+ init_serde();
+ init_service_error_classification();
+ init_constants3();
+ init_parseRetryAfterHeader();
+ init_util();
+ __name(bindRetryMiddleware, "bindRetryMiddleware");
+ cooldown = /* @__PURE__ */ __name((ms) => new Promise((resolve) => setTimeout(resolve, ms)), "cooldown");
+ isRetryStrategyV2 = /* @__PURE__ */ __name((retryStrategy) => typeof retryStrategy.acquireInitialRetryToken !== "undefined" && typeof retryStrategy.refreshRetryTokenForRetry !== "undefined" && typeof retryStrategy.recordSuccess !== "undefined", "isRetryStrategyV2");
+ getRetryErrorInfo = /* @__PURE__ */ __name((error62, logger) => {
+ const errorInfo = {
+ error: error62,
+ errorType: getRetryErrorType(error62)
+ };
+ const retryAfterHint = parseRetryAfterHeader(error62.$response, logger);
+ if (retryAfterHint) {
+ errorInfo.retryAfterHint = retryAfterHint;
+ }
+ return errorInfo;
+ }, "getRetryErrorInfo");
+ getRetryErrorType = /* @__PURE__ */ __name((error62) => {
+ if (isThrottlingError(error62))
+ return "THROTTLING";
+ if (isTransientError(error62))
+ return "TRANSIENT";
+ if (isServerError(error62))
+ return "SERVER_ERROR";
+ return "CLIENT_ERROR";
+ }, "getRetryErrorType");
+ retryMiddlewareOptions = {
+ name: "retryMiddleware",
+ tags: ["RETRY"],
+ step: "finalizeRequest",
+ priority: "high",
+ override: true
+ };
+ __name(bindGetRetryPlugin, "bindGetRetryPlugin");
+ }
+});
+
+// ../../node_modules/.pnpm/@smithy+core@3.36.1/node_modules/@smithy/core/dist-es/submodules/retry/util-retry/DefaultRateLimiter.js
+var DefaultRateLimiter;
+var init_DefaultRateLimiter = __esm({
+ "../../node_modules/.pnpm/@smithy+core@3.36.1/node_modules/@smithy/core/dist-es/submodules/retry/util-retry/DefaultRateLimiter.js"() {
+ init_service_error_classification();
+ DefaultRateLimiter = class _DefaultRateLimiter {
+ static {
+ __name(this, "DefaultRateLimiter");
+ }
+ static setTimeoutFn = /* @__PURE__ */ __name((fn, delay) => setTimeout(fn, delay), "setTimeoutFn");
+ beta;
+ minCapacity;
+ minFillRate;
+ scaleConstant;
+ smooth;
+ enabled = false;
+ availableTokens = 0;
+ lastMaxRate = 0;
+ measuredTxRate = 0;
+ requestCount = 0;
+ fillRate;
+ lastThrottleTime;
+ lastTimestamp = 0;
+ lastTxRateBucket;
+ maxCapacity;
+ timeWindow = 0;
+ constructor(options) {
+ this.beta = options?.beta ?? 0.7;
+ this.minCapacity = options?.minCapacity ?? 1;
+ this.minFillRate = options?.minFillRate ?? 0.5;
+ this.scaleConstant = options?.scaleConstant ?? 0.4;
+ this.smooth = options?.smooth ?? 0.8;
+ this.lastThrottleTime = this.getCurrentTimeInSeconds();
+ this.lastTxRateBucket = Math.floor(this.getCurrentTimeInSeconds());
+ this.fillRate = this.minFillRate;
+ this.maxCapacity = this.minCapacity;
+ }
+ async getSendToken() {
+ return this.acquireTokenBucket(1);
+ }
+ updateClientSendingRate(response) {
+ let calculatedRate;
+ this.updateMeasuredRate();
+ const retryErrorInfo = response;
+ const isThrottling = retryErrorInfo?.errorType === "THROTTLING" || isThrottlingError(retryErrorInfo?.error ?? response);
+ if (isThrottling) {
+ const rateToUse = !this.enabled ? this.measuredTxRate : Math.min(this.measuredTxRate, this.fillRate);
+ this.lastMaxRate = rateToUse;
+ this.calculateTimeWindow();
+ this.lastThrottleTime = this.getCurrentTimeInSeconds();
+ calculatedRate = this.cubicThrottle(rateToUse);
+ this.enableTokenBucket();
+ } else {
+ this.calculateTimeWindow();
+ calculatedRate = this.cubicSuccess(this.getCurrentTimeInSeconds());
+ }
+ const newRate = Math.min(calculatedRate, 2 * this.measuredTxRate);
+ this.updateTokenBucketRate(newRate);
+ }
+ getCurrentTimeInSeconds() {
+ return Date.now() / 1e3;
+ }
+ async acquireTokenBucket(amount) {
+ if (!this.enabled) {
+ return;
+ }
+ this.refillTokenBucket();
+ while (amount > this.availableTokens) {
+ const delay = (amount - this.availableTokens) / this.fillRate * 1e3;
+ await new Promise((resolve) => _DefaultRateLimiter.setTimeoutFn(resolve, delay));
+ this.refillTokenBucket();
+ }
+ this.availableTokens = this.availableTokens - amount;
+ }
+ refillTokenBucket() {
+ const timestamp = this.getCurrentTimeInSeconds();
+ if (!this.lastTimestamp) {
+ this.lastTimestamp = timestamp;
+ return;
+ }
+ const fillAmount = (timestamp - this.lastTimestamp) * this.fillRate;
+ this.availableTokens = Math.min(this.maxCapacity, this.availableTokens + fillAmount);
+ this.lastTimestamp = timestamp;
+ }
+ calculateTimeWindow() {
+ this.timeWindow = this.getPrecise(Math.pow(this.lastMaxRate * (1 - this.beta) / this.scaleConstant, 1 / 3));
+ }
+ cubicThrottle(rateToUse) {
+ return this.getPrecise(rateToUse * this.beta);
+ }
+ cubicSuccess(timestamp) {
+ return this.getPrecise(this.scaleConstant * Math.pow(timestamp - this.lastThrottleTime - this.timeWindow, 3) + this.lastMaxRate);
+ }
+ enableTokenBucket() {
+ this.enabled = true;
+ }
+ updateTokenBucketRate(newRate) {
+ this.refillTokenBucket();
+ this.fillRate = Math.max(newRate, this.minFillRate);
+ this.maxCapacity = Math.max(newRate, this.minCapacity);
+ this.availableTokens = Math.min(this.availableTokens, this.maxCapacity);
+ }
+ updateMeasuredRate() {
+ const t = this.getCurrentTimeInSeconds();
+ const timeBucket = Math.floor(t * 2) / 2;
+ this.requestCount++;
+ if (timeBucket > this.lastTxRateBucket) {
+ const currentRate = this.requestCount / (timeBucket - this.lastTxRateBucket);
+ this.measuredTxRate = this.getPrecise(currentRate * this.smooth + this.measuredTxRate * (1 - this.smooth));
+ this.requestCount = 0;
+ this.lastTxRateBucket = timeBucket;
+ }
+ }
+ getPrecise(num) {
+ return parseFloat(num.toFixed(8));
+ }
+ };
+ }
+});
+
+// ../../node_modules/.pnpm/@smithy+core@3.36.1/node_modules/@smithy/core/dist-es/submodules/retry/util-retry/retries-2026-config.js
+var Retry;
+var init_retries_2026_config = __esm({
+ "../../node_modules/.pnpm/@smithy+core@3.36.1/node_modules/@smithy/core/dist-es/submodules/retry/util-retry/retries-2026-config.js"() {
+ Retry = class _Retry {
+ static {
+ __name(this, "Retry");
+ }
+ static v2026 = typeof process !== "undefined" && process.env?.SMITHY_NEW_RETRIES_2026 === "true";
+ static delay() {
+ return _Retry.v2026 ? 50 : 100;
+ }
+ static throttlingDelay() {
+ return _Retry.v2026 ? 1e3 : 500;
+ }
+ static cost() {
+ return _Retry.v2026 ? 14 : 5;
+ }
+ static throttlingCost() {
+ return _Retry.v2026 ? 5 : 10;
+ }
+ static modifiedCostType() {
+ return _Retry.v2026 ? "THROTTLING" : "TRANSIENT";
+ }
+ };
+ }
+});
+
+// ../../node_modules/.pnpm/@smithy+core@3.36.1/node_modules/@smithy/core/dist-es/submodules/retry/util-retry/DefaultRetryBackoffStrategy.js
+var DefaultRetryBackoffStrategy;
+var init_DefaultRetryBackoffStrategy = __esm({
+ "../../node_modules/.pnpm/@smithy+core@3.36.1/node_modules/@smithy/core/dist-es/submodules/retry/util-retry/DefaultRetryBackoffStrategy.js"() {
+ init_constants3();
+ init_retries_2026_config();
+ DefaultRetryBackoffStrategy = class {
+ static {
+ __name(this, "DefaultRetryBackoffStrategy");
+ }
+ x = Retry.delay();
+ computeNextBackoffDelay(i5) {
+ const b5 = Math.random();
+ const r5 = 2;
+ const t_i = b5 * Math.min(this.x * r5 ** i5, MAXIMUM_RETRY_DELAY);
+ return Math.floor(t_i);
+ }
+ setDelayBase(delay) {
+ this.x = delay;
+ }
+ };
+ }
+});
+
+// ../../node_modules/.pnpm/@smithy+core@3.36.1/node_modules/@smithy/core/dist-es/submodules/retry/util-retry/DefaultRetryToken.js
+var DefaultRetryToken;
+var init_DefaultRetryToken = __esm({
+ "../../node_modules/.pnpm/@smithy+core@3.36.1/node_modules/@smithy/core/dist-es/submodules/retry/util-retry/DefaultRetryToken.js"() {
+ init_constants3();
+ DefaultRetryToken = class {
+ static {
+ __name(this, "DefaultRetryToken");
+ }
+ delay;
+ count;
+ cost;
+ longPoll;
+ $retryLog = {
+ acquisitionDelay: 0
+ };
+ constructor(delay, count, cost, longPoll) {
+ this.delay = delay;
+ this.count = count;
+ this.cost = cost;
+ this.longPoll = longPoll;
+ }
+ getRetryCount() {
+ return this.count;
+ }
+ getRetryDelay() {
+ return Math.min(MAXIMUM_RETRY_DELAY, this.delay);
+ }
+ getRetryCost() {
+ return this.cost;
+ }
+ isLongPoll() {
+ return this.longPoll;
+ }
+ };
+ }
+});
+
+// ../../node_modules/.pnpm/@smithy+core@3.36.1/node_modules/@smithy/core/dist-es/submodules/retry/util-retry/config.js
+var RETRY_MODES, DEFAULT_MAX_ATTEMPTS, DEFAULT_RETRY_MODE;
+var init_config2 = __esm({
+ "../../node_modules/.pnpm/@smithy+core@3.36.1/node_modules/@smithy/core/dist-es/submodules/retry/util-retry/config.js"() {
+ (function(RETRY_MODES2) {
+ RETRY_MODES2["STANDARD"] = "standard";
+ RETRY_MODES2["ADAPTIVE"] = "adaptive";
+ })(RETRY_MODES || (RETRY_MODES = {}));
+ DEFAULT_MAX_ATTEMPTS = 3;
+ DEFAULT_RETRY_MODE = RETRY_MODES.STANDARD;
+ }
+});
+
+// ../../node_modules/.pnpm/@smithy+core@3.36.1/node_modules/@smithy/core/dist-es/submodules/retry/util-retry/StandardRetryStrategy.js
+var refusal, StandardRetryStrategy;
+var init_StandardRetryStrategy = __esm({
+ "../../node_modules/.pnpm/@smithy+core@3.36.1/node_modules/@smithy/core/dist-es/submodules/retry/util-retry/StandardRetryStrategy.js"() {
+ init_DefaultRetryBackoffStrategy();
+ init_DefaultRetryToken();
+ init_config2();
+ init_constants3();
+ init_retries_2026_config();
+ refusal = {
+ incompatible: 1,
+ attempts: 2,
+ capacity: 3
+ };
+ StandardRetryStrategy = class {
+ static {
+ __name(this, "StandardRetryStrategy");
+ }
+ mode = RETRY_MODES.STANDARD;
+ retryBackoffStrategy;
+ capacity = INITIAL_RETRY_TOKENS;
+ maxAttemptsProvider;
+ baseDelay;
+ constructor(arg1) {
+ if (typeof arg1 === "number") {
+ this.maxAttemptsProvider = async () => arg1;
+ } else if (typeof arg1 === "function") {
+ this.maxAttemptsProvider = arg1;
+ } else if (arg1 && typeof arg1 === "object") {
+ this.maxAttemptsProvider = async () => arg1.maxAttempts;
+ this.baseDelay = arg1.baseDelay;
+ this.retryBackoffStrategy = arg1.backoff;
+ }
+ this.maxAttemptsProvider ??= async () => DEFAULT_MAX_ATTEMPTS;
+ this.baseDelay ??= Retry.delay();
+ this.retryBackoffStrategy ??= new DefaultRetryBackoffStrategy();
+ }
+ async acquireInitialRetryToken(retryTokenScope) {
+ return new DefaultRetryToken(Retry.delay(), 0, void 0, Retry.v2026 && retryTokenScope.includes(":longpoll"));
+ }
+ async refreshRetryTokenForRetry(token, errorInfo) {
+ const maxAttempts = await this.getMaxAttempts();
+ const retryCode = this.retryCode(token, errorInfo, maxAttempts);
+ const shouldRetry = retryCode === 0;
+ const isLongPoll = token.isLongPoll?.();
+ if (shouldRetry || isLongPoll) {
+ const errorType = errorInfo.errorType;
+ this.retryBackoffStrategy.setDelayBase(errorType === "THROTTLING" ? Retry.throttlingDelay() : this.baseDelay);
+ const delayFromErrorType = this.retryBackoffStrategy.computeNextBackoffDelay(token.getRetryCount());
+ let retryDelay = delayFromErrorType;
+ if (errorInfo.retryAfterHint instanceof Date) {
+ retryDelay = Math.max(delayFromErrorType, Math.min(errorInfo.retryAfterHint.getTime() - Date.now(), delayFromErrorType + 5e3));
+ }
+ if (!shouldRetry) {
+ const longPollBackoff = Retry.v2026 && retryCode === refusal.capacity && isLongPoll ? retryDelay : 0;
+ if (longPollBackoff > 0) {
+ await new Promise((r5) => setTimeout(r5, longPollBackoff));
+ }
+ } else {
+ const capacityCost = this.getCapacityCost(errorType);
+ this.capacity -= capacityCost;
+ const nextToken = new DefaultRetryToken(0, token.getRetryCount() + 1, capacityCost, token.isLongPoll?.() ?? false);
+ await new Promise((r5) => setTimeout(r5, retryDelay));
+ nextToken.$retryLog.acquisitionDelay = retryDelay;
+ return nextToken;
+ }
+ }
+ throw new Error("No retry token available");
+ }
+ recordSuccess(token) {
+ this.capacity = Math.min(INITIAL_RETRY_TOKENS, this.capacity + (token.getRetryCost() ?? NO_RETRY_INCREMENT));
+ }
+ getCapacity() {
+ return this.capacity;
+ }
+ async maxAttempts() {
+ return this.maxAttemptsProvider();
+ }
+ async getMaxAttempts() {
+ try {
+ return await this.maxAttemptsProvider();
+ } catch (ignored) {
+ console.warn(`Max attempts provider could not resolve. Using default of ${DEFAULT_MAX_ATTEMPTS}`);
+ return DEFAULT_MAX_ATTEMPTS;
+ }
+ }
+ retryCode(tokenToRenew, errorInfo, maxAttempts) {
+ const attempts = tokenToRenew.getRetryCount() + 1;
+ const retryableStatus = this.isRetryableError(errorInfo.errorType) ? 0 : refusal.incompatible;
+ const attemptStatus = attempts < maxAttempts ? 0 : refusal.attempts;
+ const capacityStatus = this.capacity >= this.getCapacityCost(errorInfo.errorType) ? 0 : refusal.capacity;
+ return retryableStatus || attemptStatus || capacityStatus;
+ }
+ getCapacityCost(errorType) {
+ return errorType === Retry.modifiedCostType() ? Retry.throttlingCost() : Retry.cost();
+ }
+ isRetryableError(errorType) {
+ return errorType === "THROTTLING" || errorType === "TRANSIENT";
+ }
+ };
+ }
+});
+
+// ../../node_modules/.pnpm/@smithy+core@3.36.1/node_modules/@smithy/core/dist-es/submodules/retry/util-retry/AdaptiveRetryStrategy.js
+var AdaptiveRetryStrategy;
+var init_AdaptiveRetryStrategy = __esm({
+ "../../node_modules/.pnpm/@smithy+core@3.36.1/node_modules/@smithy/core/dist-es/submodules/retry/util-retry/AdaptiveRetryStrategy.js"() {
+ init_DefaultRateLimiter();
+ init_StandardRetryStrategy();
+ init_config2();
+ AdaptiveRetryStrategy = class {
+ static {
+ __name(this, "AdaptiveRetryStrategy");
+ }
+ mode = RETRY_MODES.ADAPTIVE;
+ rateLimiter;
+ standardRetryStrategy;
+ constructor(maxAttemptsProvider, options) {
+ const { rateLimiter } = options ?? {};
+ this.rateLimiter = rateLimiter ?? new DefaultRateLimiter();
+ this.standardRetryStrategy = options ? new StandardRetryStrategy({
+ maxAttempts: typeof maxAttemptsProvider === "number" ? maxAttemptsProvider : 3,
+ ...options
+ }) : new StandardRetryStrategy(maxAttemptsProvider);
+ }
+ async acquireInitialRetryToken(retryTokenScope) {
+ const token = await this.standardRetryStrategy.acquireInitialRetryToken(retryTokenScope);
+ await this.rateLimiter.getSendToken();
+ return token;
+ }
+ async refreshRetryTokenForRetry(tokenToRenew, errorInfo) {
+ this.rateLimiter.updateClientSendingRate(errorInfo);
+ const token = await this.standardRetryStrategy.refreshRetryTokenForRetry(tokenToRenew, errorInfo);
+ await this.rateLimiter.getSendToken();
+ return token;
+ }
+ recordSuccess(token) {
+ this.rateLimiter.updateClientSendingRate({});
+ this.standardRetryStrategy.recordSuccess(token);
+ }
+ async maxAttemptsProvider() {
+ return this.standardRetryStrategy.maxAttempts();
+ }
+ };
+ }
+});
+
+// ../../node_modules/.pnpm/@smithy+core@3.36.1/node_modules/@smithy/core/dist-es/submodules/retry/util-retry/ConfiguredRetryStrategy.js
+var ConfiguredRetryStrategy;
+var init_ConfiguredRetryStrategy = __esm({
+ "../../node_modules/.pnpm/@smithy+core@3.36.1/node_modules/@smithy/core/dist-es/submodules/retry/util-retry/ConfiguredRetryStrategy.js"() {
+ init_StandardRetryStrategy();
+ init_retries_2026_config();
+ ConfiguredRetryStrategy = class extends StandardRetryStrategy {
+ static {
+ __name(this, "ConfiguredRetryStrategy");
+ }
+ computeNextBackoffDelay;
+ constructor(maxAttempts, computeNextBackoffDelay = Retry.delay()) {
+ super(typeof maxAttempts === "function" ? maxAttempts : async () => maxAttempts);
+ if (typeof computeNextBackoffDelay === "number") {
+ this.computeNextBackoffDelay = () => computeNextBackoffDelay;
+ } else {
+ this.computeNextBackoffDelay = computeNextBackoffDelay;
+ }
+ this.retryBackoffStrategy.computeNextBackoffDelay = (completedAttempt) => {
+ const nextAttempt = completedAttempt + 1;
+ return this.computeNextBackoffDelay(nextAttempt);
+ };
+ }
+ };
+ }
+});
+
+// ../../node_modules/.pnpm/@smithy+core@3.36.1/node_modules/@smithy/core/dist-es/submodules/retry/middleware-retry/retry-pre-sra-deprecated/defaultRetryQuota.js
+var getDefaultRetryQuota;
+var init_defaultRetryQuota = __esm({
+ "../../node_modules/.pnpm/@smithy+core@3.36.1/node_modules/@smithy/core/dist-es/submodules/retry/middleware-retry/retry-pre-sra-deprecated/defaultRetryQuota.js"() {
+ init_constants3();
+ getDefaultRetryQuota = /* @__PURE__ */ __name((initialRetryTokens, options) => {
+ const MAX_CAPACITY = initialRetryTokens;
+ const noRetryIncrement = options?.noRetryIncrement ?? NO_RETRY_INCREMENT;
+ const retryCost = options?.retryCost ?? RETRY_COST;
+ const timeoutRetryCost = options?.timeoutRetryCost ?? TIMEOUT_RETRY_COST;
+ let availableCapacity = initialRetryTokens;
+ const getCapacityAmount = /* @__PURE__ */ __name((error62) => error62.name === "TimeoutError" ? timeoutRetryCost : retryCost, "getCapacityAmount");
+ const hasRetryTokens = /* @__PURE__ */ __name((error62) => getCapacityAmount(error62) <= availableCapacity, "hasRetryTokens");
+ const retrieveRetryTokens = /* @__PURE__ */ __name((error62) => {
+ if (!hasRetryTokens(error62)) {
+ throw new Error("No retry token available");
+ }
+ const capacityAmount = getCapacityAmount(error62);
+ availableCapacity -= capacityAmount;
+ return capacityAmount;
+ }, "retrieveRetryTokens");
+ const releaseRetryTokens = /* @__PURE__ */ __name((capacityReleaseAmount) => {
+ availableCapacity += capacityReleaseAmount ?? noRetryIncrement;
+ availableCapacity = Math.min(availableCapacity, MAX_CAPACITY);
+ }, "releaseRetryTokens");
+ return Object.freeze({
+ hasRetryTokens,
+ retrieveRetryTokens,
+ releaseRetryTokens
+ });
+ }, "getDefaultRetryQuota");
+ }
+});
+
+// ../../node_modules/.pnpm/@smithy+core@3.36.1/node_modules/@smithy/core/dist-es/submodules/retry/middleware-retry/retry-pre-sra-deprecated/delayDecider.js
+var defaultDelayDecider;
+var init_delayDecider = __esm({
+ "../../node_modules/.pnpm/@smithy+core@3.36.1/node_modules/@smithy/core/dist-es/submodules/retry/middleware-retry/retry-pre-sra-deprecated/delayDecider.js"() {
+ init_constants3();
+ defaultDelayDecider = /* @__PURE__ */ __name((delayBase, attempts) => Math.floor(Math.min(MAXIMUM_RETRY_DELAY, Math.random() * 2 ** attempts * delayBase)), "defaultDelayDecider");
+ }
+});
+
+// ../../node_modules/.pnpm/@smithy+core@3.36.1/node_modules/@smithy/core/dist-es/submodules/retry/middleware-retry/retry-pre-sra-deprecated/retryDecider.js
+var defaultRetryDecider;
+var init_retryDecider = __esm({
+ "../../node_modules/.pnpm/@smithy+core@3.36.1/node_modules/@smithy/core/dist-es/submodules/retry/middleware-retry/retry-pre-sra-deprecated/retryDecider.js"() {
+ init_service_error_classification();
+ defaultRetryDecider = /* @__PURE__ */ __name((error62) => {
+ if (!error62) {
+ return false;
+ }
+ return isRetryableByTrait(error62) || isClockSkewError(error62) || isThrottlingError(error62) || isTransientError(error62);
+ }, "defaultRetryDecider");
+ }
+});
+
+// ../../node_modules/.pnpm/@smithy+core@3.36.1/node_modules/@smithy/core/dist-es/submodules/retry/middleware-retry/retry-pre-sra-deprecated/StandardRetryStrategy.js
+var StandardRetryStrategy2, getDelayFromRetryAfterHeader;
+var init_StandardRetryStrategy2 = __esm({
+ "../../node_modules/.pnpm/@smithy+core@3.36.1/node_modules/@smithy/core/dist-es/submodules/retry/middleware-retry/retry-pre-sra-deprecated/StandardRetryStrategy.js"() {
+ init_protocols();
+ init_serde();
+ init_service_error_classification();
+ init_config2();
+ init_constants3();
+ init_util();
+ init_defaultRetryQuota();
+ init_delayDecider();
+ init_retryDecider();
+ StandardRetryStrategy2 = class {
+ static {
+ __name(this, "StandardRetryStrategy");
+ }
+ maxAttemptsProvider;
+ retryDecider;
+ delayDecider;
+ retryQuota;
+ mode = RETRY_MODES.STANDARD;
+ constructor(maxAttemptsProvider, options) {
+ this.maxAttemptsProvider = maxAttemptsProvider;
+ this.retryDecider = options?.retryDecider ?? defaultRetryDecider;
+ this.delayDecider = options?.delayDecider ?? defaultDelayDecider;
+ this.retryQuota = options?.retryQuota ?? getDefaultRetryQuota(INITIAL_RETRY_TOKENS);
+ }
+ shouldRetry(error62, attempts, maxAttempts) {
+ return attempts < maxAttempts && this.retryDecider(error62) && this.retryQuota.hasRetryTokens(error62);
+ }
+ async getMaxAttempts() {
+ let maxAttempts;
+ try {
+ maxAttempts = await this.maxAttemptsProvider();
+ } catch (ignored) {
+ maxAttempts = DEFAULT_MAX_ATTEMPTS;
+ }
+ return maxAttempts;
+ }
+ async retry(next, args, options) {
+ let retryTokenAmount;
+ let attempts = 0;
+ let totalDelay = 0;
+ const maxAttempts = await this.getMaxAttempts();
+ const { request } = args;
+ if (HttpRequest.isInstance(request)) {
+ request.headers[INVOCATION_ID_HEADER] = v4();
+ }
+ while (true) {
+ try {
+ if (HttpRequest.isInstance(request)) {
+ request.headers[REQUEST_HEADER] = `attempt=${attempts + 1}; max=${maxAttempts}`;
+ }
+ if (options?.beforeRequest) {
+ await options.beforeRequest();
+ }
+ const { response, output: output2 } = await next(args);
+ if (options?.afterRequest) {
+ options.afterRequest(response);
+ }
+ this.retryQuota.releaseRetryTokens(retryTokenAmount);
+ output2.$metadata.attempts = attempts + 1;
+ output2.$metadata.totalRetryDelay = totalDelay;
+ return { response, output: output2 };
+ } catch (e5) {
+ const err = asSdkError(e5);
+ attempts++;
+ if (this.shouldRetry(err, attempts, maxAttempts)) {
+ retryTokenAmount = this.retryQuota.retrieveRetryTokens(err);
+ const delayFromDecider = this.delayDecider(isThrottlingError(err) ? THROTTLING_RETRY_DELAY_BASE : DEFAULT_RETRY_DELAY_BASE, attempts);
+ const delayFromResponse = getDelayFromRetryAfterHeader(err.$response);
+ const delay = Math.max(delayFromResponse || 0, delayFromDecider);
+ totalDelay += delay;
+ await new Promise((resolve) => setTimeout(resolve, delay));
+ continue;
+ }
+ if (!err.$metadata) {
+ err.$metadata = {};
+ }
+ err.$metadata.attempts = attempts;
+ err.$metadata.totalRetryDelay = totalDelay;
+ throw err;
+ }
+ }
+ }
+ };
+ getDelayFromRetryAfterHeader = /* @__PURE__ */ __name((response) => {
+ if (!HttpResponse.isInstance(response))
+ return;
+ const retryAfterHeaderName = Object.keys(response.headers).find((key) => key.toLowerCase() === "retry-after");
+ if (!retryAfterHeaderName)
+ return;
+ const retryAfter = response.headers[retryAfterHeaderName];
+ const retryAfterSeconds = Number(retryAfter);
+ if (!Number.isNaN(retryAfterSeconds))
+ return Math.min(retryAfterSeconds * 1e3, 2e4);
+ const retryAfterDate = new Date(retryAfter);
+ return Math.min(retryAfterDate.getTime() - Date.now(), 2e4);
+ }, "getDelayFromRetryAfterHeader");
+ }
+});
+
+// ../../node_modules/.pnpm/@smithy+core@3.36.1/node_modules/@smithy/core/dist-es/submodules/retry/middleware-retry/retry-pre-sra-deprecated/AdaptiveRetryStrategy.js
+var AdaptiveRetryStrategy2;
+var init_AdaptiveRetryStrategy2 = __esm({
+ "../../node_modules/.pnpm/@smithy+core@3.36.1/node_modules/@smithy/core/dist-es/submodules/retry/middleware-retry/retry-pre-sra-deprecated/AdaptiveRetryStrategy.js"() {
+ init_DefaultRateLimiter();
+ init_config2();
+ init_StandardRetryStrategy2();
+ AdaptiveRetryStrategy2 = class extends StandardRetryStrategy2 {
+ static {
+ __name(this, "AdaptiveRetryStrategy");
+ }
+ rateLimiter;
+ constructor(maxAttemptsProvider, options) {
+ const { rateLimiter, ...superOptions } = options ?? {};
+ super(maxAttemptsProvider, superOptions);
+ this.rateLimiter = rateLimiter ?? new DefaultRateLimiter();
+ this.mode = RETRY_MODES.ADAPTIVE;
+ }
+ async retry(next, args) {
+ return super.retry(next, args, {
+ beforeRequest: /* @__PURE__ */ __name(async () => {
+ return this.rateLimiter.getSendToken();
+ }, "beforeRequest"),
+ afterRequest: /* @__PURE__ */ __name((response) => {
+ this.rateLimiter.updateClientSendingRate(response);
+ }, "afterRequest")
+ });
+ }
+ };
+ }
+});
+
+// ../../node_modules/.pnpm/@smithy+core@3.36.1/node_modules/@smithy/core/dist-es/submodules/retry/middleware-retry/configurations.js
+var ENV_MAX_ATTEMPTS, CONFIG_MAX_ATTEMPTS, NODE_MAX_ATTEMPT_CONFIG_OPTIONS, resolveRetryConfig, ENV_RETRY_MODE, CONFIG_RETRY_MODE, NODE_RETRY_MODE_CONFIG_OPTIONS;
+var init_configurations = __esm({
+ "../../node_modules/.pnpm/@smithy+core@3.36.1/node_modules/@smithy/core/dist-es/submodules/retry/middleware-retry/configurations.js"() {
+ init_client();
+ init_AdaptiveRetryStrategy();
+ init_StandardRetryStrategy();
+ init_config2();
+ init_retries_2026_config();
+ ENV_MAX_ATTEMPTS = "AWS_MAX_ATTEMPTS";
+ CONFIG_MAX_ATTEMPTS = "max_attempts";
+ NODE_MAX_ATTEMPT_CONFIG_OPTIONS = {
+ environmentVariableSelector: /* @__PURE__ */ __name((env3) => {
+ const value = env3[ENV_MAX_ATTEMPTS];
+ if (!value)
+ return void 0;
+ const maxAttempt = parseInt(value);
+ if (Number.isNaN(maxAttempt)) {
+ throw new Error(`Environment variable ${ENV_MAX_ATTEMPTS} mast be a number, got "${value}"`);
+ }
+ return maxAttempt;
+ }, "environmentVariableSelector"),
+ configFileSelector: /* @__PURE__ */ __name((profile) => {
+ const value = profile[CONFIG_MAX_ATTEMPTS];
+ if (!value)
+ return void 0;
+ const maxAttempt = parseInt(value);
+ if (Number.isNaN(maxAttempt)) {
+ throw new Error(`Shared config file entry ${CONFIG_MAX_ATTEMPTS} mast be a number, got "${value}"`);
+ }
+ return maxAttempt;
+ }, "configFileSelector"),
+ default: DEFAULT_MAX_ATTEMPTS
+ };
+ resolveRetryConfig = /* @__PURE__ */ __name((input2, defaults) => {
+ const { retryStrategy, retryMode } = input2;
+ const { defaultMaxAttempts = DEFAULT_MAX_ATTEMPTS, defaultBaseDelay = Retry.delay() } = defaults ?? {};
+ const maxAttemptsProvider = normalizeProvider(input2.maxAttempts ?? defaultMaxAttempts);
+ let controller = retryStrategy ? Promise.resolve(retryStrategy) : void 0;
+ const getDefault = /* @__PURE__ */ __name(async () => {
+ const maxAttempts = await maxAttemptsProvider();
+ const adaptive = await normalizeProvider(retryMode)() === RETRY_MODES.ADAPTIVE;
+ if (adaptive) {
+ return new AdaptiveRetryStrategy(maxAttemptsProvider, {
+ maxAttempts,
+ baseDelay: defaultBaseDelay
+ });
+ }
+ return new StandardRetryStrategy({
+ maxAttempts,
+ baseDelay: defaultBaseDelay
+ });
+ }, "getDefault");
+ return Object.assign(input2, {
+ maxAttempts: maxAttemptsProvider,
+ retryStrategy: /* @__PURE__ */ __name(() => controller ??= getDefault(), "retryStrategy")
+ });
+ }, "resolveRetryConfig");
+ ENV_RETRY_MODE = "AWS_RETRY_MODE";
+ CONFIG_RETRY_MODE = "retry_mode";
+ NODE_RETRY_MODE_CONFIG_OPTIONS = {
+ environmentVariableSelector: /* @__PURE__ */ __name((env3) => env3[ENV_RETRY_MODE], "environmentVariableSelector"),
+ configFileSelector: /* @__PURE__ */ __name((profile) => profile[CONFIG_RETRY_MODE], "configFileSelector"),
+ default: DEFAULT_RETRY_MODE
+ };
+ }
+});
+
+// ../../node_modules/.pnpm/@smithy+core@3.36.1/node_modules/@smithy/core/dist-es/submodules/retry/middleware-retry/omitRetryHeadersMiddleware.js
+var omitRetryHeadersMiddleware, omitRetryHeadersMiddlewareOptions, getOmitRetryHeadersPlugin;
+var init_omitRetryHeadersMiddleware = __esm({
+ "../../node_modules/.pnpm/@smithy+core@3.36.1/node_modules/@smithy/core/dist-es/submodules/retry/middleware-retry/omitRetryHeadersMiddleware.js"() {
+ init_protocols();
+ init_constants3();
+ omitRetryHeadersMiddleware = /* @__PURE__ */ __name(() => (next) => async (args) => {
+ const { request } = args;
+ if (HttpRequest.isInstance(request)) {
+ delete request.headers[INVOCATION_ID_HEADER];
+ delete request.headers[REQUEST_HEADER];
+ }
+ return next(args);
+ }, "omitRetryHeadersMiddleware");
+ omitRetryHeadersMiddlewareOptions = {
+ name: "omitRetryHeadersMiddleware",
+ tags: ["RETRY", "HEADERS", "OMIT_RETRY_HEADERS"],
+ relation: "before",
+ toMiddleware: "awsAuthMiddleware",
+ override: true
+ };
+ getOmitRetryHeadersPlugin = /* @__PURE__ */ __name((options) => ({
+ applyToStack: /* @__PURE__ */ __name((clientStack) => {
+ clientStack.addRelativeTo(omitRetryHeadersMiddleware(), omitRetryHeadersMiddlewareOptions);
+ }, "applyToStack")
+ }), "getOmitRetryHeadersPlugin");
+ }
+});
+
+// ../../node_modules/.pnpm/@smithy+core@3.36.1/node_modules/@smithy/core/dist-es/submodules/retry/index.js
+var retry_exports = {};
+__export(retry_exports, {
+ AdaptiveRetryStrategy: () => AdaptiveRetryStrategy,
+ CONFIG_MAX_ATTEMPTS: () => CONFIG_MAX_ATTEMPTS,
+ CONFIG_RETRY_MODE: () => CONFIG_RETRY_MODE,
+ ConfiguredRetryStrategy: () => ConfiguredRetryStrategy,
+ DEFAULT_MAX_ATTEMPTS: () => DEFAULT_MAX_ATTEMPTS,
+ DEFAULT_RETRY_DELAY_BASE: () => DEFAULT_RETRY_DELAY_BASE,
+ DEFAULT_RETRY_MODE: () => DEFAULT_RETRY_MODE,
+ DefaultRateLimiter: () => DefaultRateLimiter,
+ DeprecatedAdaptiveRetryStrategy: () => AdaptiveRetryStrategy2,
+ DeprecatedStandardRetryStrategy: () => StandardRetryStrategy2,
+ ENV_MAX_ATTEMPTS: () => ENV_MAX_ATTEMPTS,
+ ENV_RETRY_MODE: () => ENV_RETRY_MODE,
+ INITIAL_RETRY_TOKENS: () => INITIAL_RETRY_TOKENS,
+ INVOCATION_ID_HEADER: () => INVOCATION_ID_HEADER,
+ MAXIMUM_RETRY_DELAY: () => MAXIMUM_RETRY_DELAY,
+ NODE_MAX_ATTEMPT_CONFIG_OPTIONS: () => NODE_MAX_ATTEMPT_CONFIG_OPTIONS,
+ NODE_RETRY_MODE_CONFIG_OPTIONS: () => NODE_RETRY_MODE_CONFIG_OPTIONS,
+ NO_RETRY_INCREMENT: () => NO_RETRY_INCREMENT,
+ REQUEST_HEADER: () => REQUEST_HEADER,
+ RETRY_COST: () => RETRY_COST,
+ RETRY_MODES: () => RETRY_MODES,
+ Retry: () => Retry,
+ StandardRetryStrategy: () => StandardRetryStrategy,
+ THROTTLING_RETRY_DELAY_BASE: () => THROTTLING_RETRY_DELAY_BASE,
+ TIMEOUT_RETRY_COST: () => TIMEOUT_RETRY_COST,
+ defaultDelayDecider: () => defaultDelayDecider,
+ defaultRetryDecider: () => defaultRetryDecider,
+ getOmitRetryHeadersPlugin: () => getOmitRetryHeadersPlugin,
+ getRetryAfterHint: () => getRetryAfterHint,
+ getRetryPlugin: () => getRetryPlugin,
+ isBrowserNetworkError: () => isBrowserNetworkError,
+ isClockSkewCorrectedError: () => isClockSkewCorrectedError,
+ isClockSkewError: () => isClockSkewError,
+ isNodeJsHttp2TransientError: () => isNodeJsHttp2TransientError,
+ isRetryableByTrait: () => isRetryableByTrait,
+ isServerError: () => isServerError,
+ isThrottlingError: () => isThrottlingError,
+ isTransientError: () => isTransientError,
+ omitRetryHeadersMiddleware: () => omitRetryHeadersMiddleware,
+ omitRetryHeadersMiddlewareOptions: () => omitRetryHeadersMiddlewareOptions,
+ resolveRetryConfig: () => resolveRetryConfig,
+ retryMiddleware: () => retryMiddleware,
+ retryMiddlewareOptions: () => retryMiddlewareOptions
+});
+var retryMiddleware, getRetryPlugin;
+var init_retry = __esm({
+ "../../node_modules/.pnpm/@smithy+core@3.36.1/node_modules/@smithy/core/dist-es/submodules/retry/index.js"() {
+ init_isStreamingPayload();
+ init_retryMiddleware();
+ init_service_error_classification();
+ init_AdaptiveRetryStrategy();
+ init_ConfiguredRetryStrategy();
+ init_DefaultRateLimiter();
+ init_StandardRetryStrategy();
+ init_config2();
+ init_constants3();
+ init_retries_2026_config();
+ init_AdaptiveRetryStrategy2();
+ init_StandardRetryStrategy2();
+ init_delayDecider();
+ init_retryDecider();
+ init_configurations();
+ init_omitRetryHeadersMiddleware();
+ init_retryMiddleware();
+ init_parseRetryAfterHeader();
+ retryMiddleware = bindRetryMiddleware(isStreamingPayload);
+ getRetryPlugin = bindGetRetryPlugin(isStreamingPayload);
+ }
+});
+
+// ../../node_modules/.pnpm/@aws-sdk+core@3.978.4/node_modules/@aws-sdk/core/dist-es/submodules/client/setFeature.js
+function setFeature(context, feature, value) {
+ if (!context.__aws_sdk_context) {
+ context.__aws_sdk_context = {
+ features: {}
+ };
+ } else if (!context.__aws_sdk_context.features) {
+ context.__aws_sdk_context.features = {};
+ }
+ context.__aws_sdk_context.features[feature] = value;
+}
+var init_setFeature = __esm({
+ "../../node_modules/.pnpm/@aws-sdk+core@3.978.4/node_modules/@aws-sdk/core/dist-es/submodules/client/setFeature.js"() {
+ init_retry();
+ Retry.v2026 ||= typeof process === "object" && process.env?.AWS_NEW_RETRIES_2026 === "true";
+ __name(setFeature, "setFeature");
+ }
+});
+
+// ../../node_modules/.pnpm/@aws-sdk+core@3.978.4/node_modules/@aws-sdk/core/dist-es/submodules/client/setTokenFeature.js
+function setTokenFeature(token, feature, value) {
+ if (!token.$source) {
+ token.$source = {};
+ }
+ token.$source[feature] = value;
+ return token;
+}
+var init_setTokenFeature = __esm({
+ "../../node_modules/.pnpm/@aws-sdk+core@3.978.4/node_modules/@aws-sdk/core/dist-es/submodules/client/setTokenFeature.js"() {
+ __name(setTokenFeature, "setTokenFeature");
+ }
+});
+
+// ../../node_modules/.pnpm/@aws-sdk+core@3.978.4/node_modules/@aws-sdk/core/dist-es/submodules/client/middleware-host-header/hostHeaderMiddleware.js
+function resolveHostHeaderConfig(input2) {
+ return input2;
+}
+var hostHeaderMiddleware, hostHeaderMiddlewareOptions, getHostHeaderPlugin;
+var init_hostHeaderMiddleware = __esm({
+ "../../node_modules/.pnpm/@aws-sdk+core@3.978.4/node_modules/@aws-sdk/core/dist-es/submodules/client/middleware-host-header/hostHeaderMiddleware.js"() {
+ init_protocols();
+ __name(resolveHostHeaderConfig, "resolveHostHeaderConfig");
+ hostHeaderMiddleware = /* @__PURE__ */ __name((options) => (next) => async (args) => {
+ if (!HttpRequest.isInstance(args.request))
+ return next(args);
+ const { request } = args;
+ const { handlerProtocol = "" } = options.requestHandler.metadata || {};
+ if (handlerProtocol.indexOf("h2") >= 0 && !request.headers[":authority"]) {
+ delete request.headers["host"];
+ request.headers[":authority"] = request.hostname + (request.port ? ":" + request.port : "");
+ } else if (!request.headers["host"]) {
+ let host = request.hostname;
+ if (request.port != null)
+ host += `:${request.port}`;
+ request.headers["host"] = host;
+ }
+ return next(args);
+ }, "hostHeaderMiddleware");
+ hostHeaderMiddlewareOptions = {
+ name: "hostHeaderMiddleware",
+ step: "build",
+ priority: "low",
+ tags: ["HOST"],
+ override: true
+ };
+ getHostHeaderPlugin = /* @__PURE__ */ __name((options) => ({
+ applyToStack: /* @__PURE__ */ __name((clientStack) => {
+ clientStack.add(hostHeaderMiddleware(options), hostHeaderMiddlewareOptions);
+ }, "applyToStack")
+ }), "getHostHeaderPlugin");
+ }
+});
+
+// ../../node_modules/.pnpm/@aws-sdk+core@3.978.4/node_modules/@aws-sdk/core/dist-es/submodules/client/middleware-logger/loggerMiddleware.js
+var loggerMiddleware, loggerMiddlewareOptions, getLoggerPlugin;
+var init_loggerMiddleware = __esm({
+ "../../node_modules/.pnpm/@aws-sdk+core@3.978.4/node_modules/@aws-sdk/core/dist-es/submodules/client/middleware-logger/loggerMiddleware.js"() {
+ loggerMiddleware = /* @__PURE__ */ __name(() => (next, context) => async (args) => {
+ try {
+ const response = await next(args);
+ const { clientName, commandName, logger, dynamoDbDocumentClientOptions = {} } = context;
+ const { overrideInputFilterSensitiveLog, overrideOutputFilterSensitiveLog } = dynamoDbDocumentClientOptions;
+ const inputFilterSensitiveLog = overrideInputFilterSensitiveLog ?? context.inputFilterSensitiveLog;
+ const outputFilterSensitiveLog = overrideOutputFilterSensitiveLog ?? context.outputFilterSensitiveLog;
+ const { $metadata, ...outputWithoutMetadata } = response.output;
+ logger?.info?.({
+ clientName,
+ commandName,
+ input: inputFilterSensitiveLog(args.input),
+ output: outputFilterSensitiveLog(outputWithoutMetadata),
+ metadata: $metadata
+ });
+ return response;
+ } catch (error62) {
+ const { clientName, commandName, logger, dynamoDbDocumentClientOptions = {} } = context;
+ const { overrideInputFilterSensitiveLog } = dynamoDbDocumentClientOptions;
+ const inputFilterSensitiveLog = overrideInputFilterSensitiveLog ?? context.inputFilterSensitiveLog;
+ logger?.error?.({
+ clientName,
+ commandName,
+ input: inputFilterSensitiveLog(args.input),
+ error: error62,
+ metadata: error62.$metadata
+ });
+ throw error62;
+ }
+ }, "loggerMiddleware");
+ loggerMiddlewareOptions = {
+ name: "loggerMiddleware",
+ tags: ["LOGGER"],
+ step: "initialize",
+ override: true
+ };
+ getLoggerPlugin = /* @__PURE__ */ __name((options) => ({
+ applyToStack: /* @__PURE__ */ __name((clientStack) => {
+ clientStack.add(loggerMiddleware(), loggerMiddlewareOptions);
+ }, "applyToStack")
+ }), "getLoggerPlugin");
+ }
+});
+
+// ../../node_modules/.pnpm/@aws-sdk+core@3.978.4/node_modules/@aws-sdk/core/dist-es/submodules/client/middleware-recursion-detection/configuration.js
+var recursionDetectionMiddlewareOptions;
+var init_configuration = __esm({
+ "../../node_modules/.pnpm/@aws-sdk+core@3.978.4/node_modules/@aws-sdk/core/dist-es/submodules/client/middleware-recursion-detection/configuration.js"() {
+ recursionDetectionMiddlewareOptions = {
+ step: "build",
+ tags: ["RECURSION_DETECTION", "TRACE_CONTEXT_PROPAGATION"],
+ name: "recursionDetectionMiddleware",
+ override: true,
+ priority: "low"
+ };
+ }
+});
+
+// ../../node_modules/.pnpm/@aws+lambda-invoke-store@0.3.0/node_modules/@aws/lambda-invoke-store/dist-es/invoke-store.js
+var PROTECTED_KEYS, NO_GLOBAL_AWS_LAMBDA, InvokeStoreBase, InvokeStoreSingle, InvokeStoreMulti, InvokeStore;
+var init_invoke_store = __esm({
+ "../../node_modules/.pnpm/@aws+lambda-invoke-store@0.3.0/node_modules/@aws/lambda-invoke-store/dist-es/invoke-store.js"() {
+ PROTECTED_KEYS = {
+ REQUEST_ID: /* @__PURE__ */ Symbol.for("_AWS_LAMBDA_REQUEST_ID"),
+ X_RAY_TRACE_ID: /* @__PURE__ */ Symbol.for("_AWS_LAMBDA_X_RAY_TRACE_ID"),
+ TENANT_ID: /* @__PURE__ */ Symbol.for("_AWS_LAMBDA_TENANT_ID"),
+ TRACEPARENT: /* @__PURE__ */ Symbol.for("_AWS_LAMBDA_TRACEPARENT"),
+ TRACESTATE: /* @__PURE__ */ Symbol.for("_AWS_LAMBDA_TRACESTATE"),
+ BAGGAGE: /* @__PURE__ */ Symbol.for("_AWS_LAMBDA_BAGGAGE")
+ };
+ NO_GLOBAL_AWS_LAMBDA = ["true", "1"].includes(process.env?.AWS_LAMBDA_NODEJS_NO_GLOBAL_AWSLAMBDA ?? "");
+ if (!NO_GLOBAL_AWS_LAMBDA) {
+ globalThis.awslambda = globalThis.awslambda || {};
+ }
+ InvokeStoreBase = class {
+ static {
+ __name(this, "InvokeStoreBase");
+ }
+ static PROTECTED_KEYS = PROTECTED_KEYS;
+ isProtectedKey(key) {
+ return Object.values(PROTECTED_KEYS).includes(key);
+ }
+ getRequestId() {
+ return this.get(PROTECTED_KEYS.REQUEST_ID) ?? "-";
+ }
+ getXRayTraceId() {
+ return this.get(PROTECTED_KEYS.X_RAY_TRACE_ID);
+ }
+ getTenantId() {
+ return this.get(PROTECTED_KEYS.TENANT_ID);
+ }
+ getTraceparent() {
+ return this.get(PROTECTED_KEYS.TRACEPARENT);
+ }
+ getTracestate() {
+ return this.get(PROTECTED_KEYS.TRACESTATE);
+ }
+ getBaggage() {
+ return this.get(PROTECTED_KEYS.BAGGAGE);
+ }
+ };
+ InvokeStoreSingle = class extends InvokeStoreBase {
+ static {
+ __name(this, "InvokeStoreSingle");
+ }
+ currentContext;
+ getContext() {
+ return this.currentContext;
+ }
+ hasContext() {
+ return this.currentContext !== void 0;
+ }
+ get(key) {
+ return this.currentContext?.[key];
+ }
+ set(key, value) {
+ if (this.isProtectedKey(key)) {
+ throw new Error(`Cannot modify protected Lambda context field: ${String(key)}`);
+ }
+ this.currentContext = this.currentContext || {};
+ this.currentContext[key] = value;
+ }
+ run(context, fn) {
+ this.currentContext = context;
+ return fn();
+ }
+ };
+ InvokeStoreMulti = class _InvokeStoreMulti extends InvokeStoreBase {
+ static {
+ __name(this, "InvokeStoreMulti");
+ }
+ als;
+ static async create() {
+ const instance = new _InvokeStoreMulti();
+ const asyncHooks = await import("node:async_hooks");
+ instance.als = new asyncHooks.AsyncLocalStorage();
+ return instance;
+ }
+ getContext() {
+ return this.als.getStore();
+ }
+ hasContext() {
+ return this.als.getStore() !== void 0;
+ }
+ get(key) {
+ return this.als.getStore()?.[key];
+ }
+ set(key, value) {
+ if (this.isProtectedKey(key)) {
+ throw new Error(`Cannot modify protected Lambda context field: ${String(key)}`);
+ }
+ const store = this.als.getStore();
+ if (!store) {
+ throw new Error("No context available");
+ }
+ store[key] = value;
+ }
+ run(context, fn) {
+ return this.als.run(context, fn);
+ }
+ };
+ (function(InvokeStore2) {
+ let instance = null;
+ async function getInstanceAsync(forceInvokeStoreMulti) {
+ if (!instance) {
+ instance = (async () => {
+ const isMulti = forceInvokeStoreMulti === true || "AWS_LAMBDA_MAX_CONCURRENCY" in process.env;
+ const newInstance = isMulti ? await InvokeStoreMulti.create() : new InvokeStoreSingle();
+ if (!NO_GLOBAL_AWS_LAMBDA && globalThis.awslambda?.InvokeStore) {
+ return globalThis.awslambda.InvokeStore;
+ } else if (!NO_GLOBAL_AWS_LAMBDA && globalThis.awslambda) {
+ globalThis.awslambda.InvokeStore = newInstance;
+ return newInstance;
+ } else {
+ return newInstance;
+ }
+ })();
+ }
+ return instance;
+ }
+ __name(getInstanceAsync, "getInstanceAsync");
+ InvokeStore2.getInstanceAsync = getInstanceAsync;
+ InvokeStore2._testing = process.env.AWS_LAMBDA_BENCHMARK_MODE === "1" ? {
+ reset: /* @__PURE__ */ __name(() => {
+ instance = null;
+ if (globalThis.awslambda?.InvokeStore) {
+ delete globalThis.awslambda.InvokeStore;
+ }
+ globalThis.awslambda = { InvokeStore: void 0 };
+ }, "reset")
+ } : void 0;
+ })(InvokeStore || (InvokeStore = {}));
+ }
+});
+
+// ../../node_modules/.pnpm/@aws-sdk+core@3.978.4/node_modules/@aws-sdk/core/dist-es/submodules/client/middleware-recursion-detection/recursionDetectionMiddleware.js
+function sanitizeTraceHeaders(headers) {
+ for (const header of Object.keys(headers)) {
+ const lower = header.toLowerCase();
+ if (header !== lower && (lower === TRACEPARENT || lower === TRACESTATE || lower === BAGGAGE)) {
+ headers[lower] = headers[header];
+ delete headers[header];
+ }
+ }
+}
+var AWS_LAMBDA_FUNCTION_NAME, _X_AMZN_TRACE_ID, X_AMZN_TRACE_ID, TRACEPARENT, TRACESTATE, BAGGAGE, recursionDetectionMiddleware;
+var init_recursionDetectionMiddleware = __esm({
+ "../../node_modules/.pnpm/@aws-sdk+core@3.978.4/node_modules/@aws-sdk/core/dist-es/submodules/client/middleware-recursion-detection/recursionDetectionMiddleware.js"() {
+ init_invoke_store();
+ init_protocols();
+ AWS_LAMBDA_FUNCTION_NAME = "AWS_LAMBDA_FUNCTION_NAME";
+ _X_AMZN_TRACE_ID = "_X_AMZN_TRACE_ID";
+ X_AMZN_TRACE_ID = "X-Amzn-Trace-Id";
+ TRACEPARENT = "traceparent";
+ TRACESTATE = "tracestate";
+ BAGGAGE = "baggage";
+ recursionDetectionMiddleware = /* @__PURE__ */ __name(() => (next) => async (args) => {
+ const { request } = args;
+ if (!HttpRequest.isInstance(request)) {
+ return next(args);
+ }
+ let invokeStore;
+ {
+ const traceIdHeader = Object.keys(request.headers ?? {}).find((h5) => h5.toLowerCase() === X_AMZN_TRACE_ID.toLowerCase()) ?? X_AMZN_TRACE_ID;
+ if (!request.headers.hasOwnProperty(traceIdHeader)) {
+ const functionName = process.env[AWS_LAMBDA_FUNCTION_NAME];
+ const traceIdFromEnv = process.env[_X_AMZN_TRACE_ID];
+ invokeStore ??= await InvokeStore.getInstanceAsync();
+ const traceIdFromInvokeStore = invokeStore?.getXRayTraceId();
+ const traceId = traceIdFromInvokeStore ?? traceIdFromEnv;
+ const nonEmptyString = /* @__PURE__ */ __name((str) => typeof str === "string" && str.length > 0, "nonEmptyString");
+ if (nonEmptyString(functionName) && nonEmptyString(traceId)) {
+ request.headers[X_AMZN_TRACE_ID] = traceId;
+ }
+ }
+ }
+ {
+ sanitizeTraceHeaders(request.headers);
+ const existingTraceparent = request.headers[TRACEPARENT];
+ if (!existingTraceparent) {
+ const traceparent = (invokeStore ??= await InvokeStore.getInstanceAsync())?.getTraceparent?.();
+ if (traceparent) {
+ request.headers[TRACEPARENT] = traceparent;
+ const tracestate = invokeStore?.getTracestate?.();
+ if (tracestate) {
+ request.headers[TRACESTATE] = tracestate;
+ }
+ const baggage = invokeStore?.getBaggage?.();
+ if (baggage) {
+ request.headers[BAGGAGE] = baggage;
+ }
+ }
+ }
+ }
+ return next(args);
+ }, "recursionDetectionMiddleware");
+ __name(sanitizeTraceHeaders, "sanitizeTraceHeaders");
+ }
+});
+
+// ../../node_modules/.pnpm/@aws-sdk+core@3.978.4/node_modules/@aws-sdk/core/dist-es/submodules/client/middleware-recursion-detection/getRecursionDetectionPlugin.js
+var getRecursionDetectionPlugin;
+var init_getRecursionDetectionPlugin = __esm({
+ "../../node_modules/.pnpm/@aws-sdk+core@3.978.4/node_modules/@aws-sdk/core/dist-es/submodules/client/middleware-recursion-detection/getRecursionDetectionPlugin.js"() {
+ init_configuration();
+ init_recursionDetectionMiddleware();
+ getRecursionDetectionPlugin = /* @__PURE__ */ __name((options) => ({
+ applyToStack: /* @__PURE__ */ __name((clientStack) => {
+ clientStack.add(recursionDetectionMiddleware(), recursionDetectionMiddlewareOptions);
+ }, "applyToStack")
+ }), "getRecursionDetectionPlugin");
+ }
+});
+
+// ../../node_modules/.pnpm/@smithy+core@3.36.1/node_modules/@smithy/core/dist-es/legacy-root-exports/middleware-http-auth-scheme/resolveAuthOptions.js
+var resolveAuthOptions;
+var init_resolveAuthOptions = __esm({
+ "../../node_modules/.pnpm/@smithy+core@3.36.1/node_modules/@smithy/core/dist-es/legacy-root-exports/middleware-http-auth-scheme/resolveAuthOptions.js"() {
+ resolveAuthOptions = /* @__PURE__ */ __name((candidateAuthOptions, authSchemePreference) => {
+ if (!authSchemePreference || authSchemePreference.length === 0) {
+ return candidateAuthOptions;
+ }
+ const preferredAuthOptions = [];
+ for (const preferredSchemeName of authSchemePreference) {
+ for (const candidateAuthOption of candidateAuthOptions) {
+ const candidateAuthSchemeName = candidateAuthOption.schemeId.split("#")[1];
+ if (candidateAuthSchemeName === preferredSchemeName) {
+ preferredAuthOptions.push(candidateAuthOption);
+ }
+ }
+ }
+ for (const candidateAuthOption of candidateAuthOptions) {
+ if (!preferredAuthOptions.find(({ schemeId }) => schemeId === candidateAuthOption.schemeId)) {
+ preferredAuthOptions.push(candidateAuthOption);
+ }
+ }
+ return preferredAuthOptions;
+ }, "resolveAuthOptions");
+ }
+});
+
+// ../../node_modules/.pnpm/@smithy+core@3.36.1/node_modules/@smithy/core/dist-es/legacy-root-exports/middleware-http-auth-scheme/httpAuthSchemeMiddleware.js
+function convertHttpAuthSchemesToMap(httpAuthSchemes) {
+ const map2 = /* @__PURE__ */ new Map();
+ for (const scheme of httpAuthSchemes) {
+ map2.set(scheme.schemeId, scheme);
+ }
+ return map2;
+}
+var httpAuthSchemeMiddleware;
+var init_httpAuthSchemeMiddleware = __esm({
+ "../../node_modules/.pnpm/@smithy+core@3.36.1/node_modules/@smithy/core/dist-es/legacy-root-exports/middleware-http-auth-scheme/httpAuthSchemeMiddleware.js"() {
+ init_transport();
+ init_resolveAuthOptions();
+ __name(convertHttpAuthSchemesToMap, "convertHttpAuthSchemesToMap");
+ httpAuthSchemeMiddleware = /* @__PURE__ */ __name((config3, mwOptions) => (next, context) => async (args) => {
+ const options = config3.httpAuthSchemeProvider(await mwOptions.httpAuthSchemeParametersProvider(config3, context, args.input));
+ const authSchemePreference = config3.authSchemePreference ? await config3.authSchemePreference() : [];
+ const resolvedOptions = resolveAuthOptions(options, authSchemePreference);
+ const authSchemes = convertHttpAuthSchemesToMap(config3.httpAuthSchemes);
+ const smithyContext = getSmithyContext(context);
+ const failureReasons = [];
+ for (const option of resolvedOptions) {
+ const scheme = authSchemes.get(option.schemeId);
+ if (!scheme) {
+ failureReasons.push(`HttpAuthScheme \`${option.schemeId}\` was not enabled for this service.`);
+ continue;
+ }
+ const identityProvider = scheme.identityProvider(await mwOptions.identityProviderConfigProvider(config3));
+ if (!identityProvider) {
+ failureReasons.push(`HttpAuthScheme \`${option.schemeId}\` did not have an IdentityProvider configured.`);
+ continue;
+ }
+ const { identityProperties = {}, signingProperties = {} } = option.propertiesExtractor?.(config3, context) || {};
+ option.identityProperties = Object.assign(option.identityProperties || {}, identityProperties);
+ option.signingProperties = Object.assign(option.signingProperties || {}, signingProperties);
+ smithyContext.selectedHttpAuthScheme = {
+ httpAuthOption: option,
+ identity: await identityProvider(option.identityProperties),
+ signer: scheme.signer
+ };
+ break;
+ }
+ if (!smithyContext.selectedHttpAuthScheme) {
+ throw new Error(failureReasons.join("\n"));
+ }
+ return next(args);
+ }, "httpAuthSchemeMiddleware");
+ }
+});
+
+// ../../node_modules/.pnpm/@smithy+core@3.36.1/node_modules/@smithy/core/dist-es/legacy-root-exports/middleware-http-auth-scheme/getHttpAuthSchemeEndpointRuleSetPlugin.js
+var httpAuthSchemeEndpointRuleSetMiddlewareOptions, getHttpAuthSchemeEndpointRuleSetPlugin;
+var init_getHttpAuthSchemeEndpointRuleSetPlugin = __esm({
+ "../../node_modules/.pnpm/@smithy+core@3.36.1/node_modules/@smithy/core/dist-es/legacy-root-exports/middleware-http-auth-scheme/getHttpAuthSchemeEndpointRuleSetPlugin.js"() {
+ init_httpAuthSchemeMiddleware();
+ httpAuthSchemeEndpointRuleSetMiddlewareOptions = {
+ step: "serialize",
+ tags: ["HTTP_AUTH_SCHEME"],
+ name: "httpAuthSchemeMiddleware",
+ override: true,
+ relation: "before",
+ toMiddleware: "endpointV2Middleware"
+ };
+ getHttpAuthSchemeEndpointRuleSetPlugin = /* @__PURE__ */ __name((config3, { httpAuthSchemeParametersProvider, identityProviderConfigProvider }) => ({
+ applyToStack: /* @__PURE__ */ __name((clientStack) => {
+ clientStack.addRelativeTo(httpAuthSchemeMiddleware(config3, {
+ httpAuthSchemeParametersProvider,
+ identityProviderConfigProvider
+ }), httpAuthSchemeEndpointRuleSetMiddlewareOptions);
+ }, "applyToStack")
+ }), "getHttpAuthSchemeEndpointRuleSetPlugin");
+ }
+});
+
+// ../../node_modules/.pnpm/@smithy+core@3.36.1/node_modules/@smithy/core/dist-es/legacy-root-exports/middleware-http-auth-scheme/getHttpAuthSchemePlugin.js
+var httpAuthSchemeMiddlewareOptions, getHttpAuthSchemePlugin;
+var init_getHttpAuthSchemePlugin = __esm({
+ "../../node_modules/.pnpm/@smithy+core@3.36.1/node_modules/@smithy/core/dist-es/legacy-root-exports/middleware-http-auth-scheme/getHttpAuthSchemePlugin.js"() {
+ init_httpAuthSchemeMiddleware();
+ httpAuthSchemeMiddlewareOptions = {
+ step: "serialize",
+ tags: ["HTTP_AUTH_SCHEME"],
+ name: "httpAuthSchemeMiddleware",
+ override: true,
+ relation: "before",
+ toMiddleware: "serializerMiddleware"
+ };
+ getHttpAuthSchemePlugin = /* @__PURE__ */ __name((config3, { httpAuthSchemeParametersProvider, identityProviderConfigProvider }) => ({
+ applyToStack: /* @__PURE__ */ __name((clientStack) => {
+ clientStack.addRelativeTo(httpAuthSchemeMiddleware(config3, {
+ httpAuthSchemeParametersProvider,
+ identityProviderConfigProvider
+ }), httpAuthSchemeMiddlewareOptions);
+ }, "applyToStack")
+ }), "getHttpAuthSchemePlugin");
+ }
+});
+
+// ../../node_modules/.pnpm/@smithy+core@3.36.1/node_modules/@smithy/core/dist-es/legacy-root-exports/middleware-http-auth-scheme/index.js
+var init_middleware_http_auth_scheme = __esm({
+ "../../node_modules/.pnpm/@smithy+core@3.36.1/node_modules/@smithy/core/dist-es/legacy-root-exports/middleware-http-auth-scheme/index.js"() {
+ init_httpAuthSchemeMiddleware();
+ init_getHttpAuthSchemeEndpointRuleSetPlugin();
+ init_getHttpAuthSchemePlugin();
+ }
+});
+
+// ../../node_modules/.pnpm/@smithy+core@3.36.1/node_modules/@smithy/core/dist-es/legacy-root-exports/middleware-http-signing/httpSigningMiddleware.js
+var defaultErrorHandler, defaultSuccessHandler, httpSigningMiddleware;
+var init_httpSigningMiddleware = __esm({
+ "../../node_modules/.pnpm/@smithy+core@3.36.1/node_modules/@smithy/core/dist-es/legacy-root-exports/middleware-http-signing/httpSigningMiddleware.js"() {
+ init_protocols();
+ init_transport();
+ defaultErrorHandler = /* @__PURE__ */ __name((signingProperties) => (error62) => {
+ throw error62;
+ }, "defaultErrorHandler");
+ defaultSuccessHandler = /* @__PURE__ */ __name((httpResponse, signingProperties) => {
+ }, "defaultSuccessHandler");
+ httpSigningMiddleware = /* @__PURE__ */ __name((config3) => (next, context) => async (args) => {
+ if (!HttpRequest.isInstance(args.request)) {
+ return next(args);
+ }
+ const smithyContext = getSmithyContext(context);
+ const scheme = smithyContext.selectedHttpAuthScheme;
+ if (!scheme) {
+ throw new Error(`No HttpAuthScheme was selected: unable to sign request`);
+ }
+ const { httpAuthOption: { signingProperties = {} }, identity, signer } = scheme;
+ const output2 = await next({
+ ...args,
+ request: await signer.sign(args.request, identity, signingProperties)
+ }).catch((signer.errorHandler || defaultErrorHandler)(signingProperties));
+ (signer.successHandler || defaultSuccessHandler)(output2.response, signingProperties);
+ return output2;
+ }, "httpSigningMiddleware");
+ }
+});
+
+// ../../node_modules/.pnpm/@smithy+core@3.36.1/node_modules/@smithy/core/dist-es/legacy-root-exports/middleware-http-signing/getHttpSigningMiddleware.js
+var httpSigningMiddlewareOptions, getHttpSigningPlugin;
+var init_getHttpSigningMiddleware = __esm({
+ "../../node_modules/.pnpm/@smithy+core@3.36.1/node_modules/@smithy/core/dist-es/legacy-root-exports/middleware-http-signing/getHttpSigningMiddleware.js"() {
+ init_httpSigningMiddleware();
+ httpSigningMiddlewareOptions = {
+ step: "finalizeRequest",
+ tags: ["HTTP_SIGNING"],
+ name: "httpSigningMiddleware",
+ aliases: ["apiKeyMiddleware", "tokenMiddleware", "awsAuthMiddleware"],
+ override: true,
+ relation: "after",
+ toMiddleware: "retryMiddleware"
+ };
+ getHttpSigningPlugin = /* @__PURE__ */ __name((config3) => ({
+ applyToStack: /* @__PURE__ */ __name((clientStack) => {
+ clientStack.addRelativeTo(httpSigningMiddleware(config3), httpSigningMiddlewareOptions);
+ }, "applyToStack")
+ }), "getHttpSigningPlugin");
+ }
+});
+
+// ../../node_modules/.pnpm/@smithy+core@3.36.1/node_modules/@smithy/core/dist-es/legacy-root-exports/middleware-http-signing/index.js
+var init_middleware_http_signing = __esm({
+ "../../node_modules/.pnpm/@smithy+core@3.36.1/node_modules/@smithy/core/dist-es/legacy-root-exports/middleware-http-signing/index.js"() {
+ init_httpSigningMiddleware();
+ init_getHttpSigningMiddleware();
+ }
+});
+
+// ../../node_modules/.pnpm/@smithy+core@3.36.1/node_modules/@smithy/core/dist-es/normalizeProvider.js
+var normalizeProvider2;
+var init_normalizeProvider = __esm({
+ "../../node_modules/.pnpm/@smithy+core@3.36.1/node_modules/@smithy/core/dist-es/normalizeProvider.js"() {
+ normalizeProvider2 = /* @__PURE__ */ __name((input2) => {
+ if (typeof input2 === "function")
+ return input2;
+ const promisified = Promise.resolve(input2);
+ return () => promisified;
+ }, "normalizeProvider");
+ }
+});
+
+// ../../node_modules/.pnpm/@smithy+core@3.36.1/node_modules/@smithy/core/dist-es/legacy-root-exports/pagination/createPaginator.js
+function createPaginator(ClientCtor, CommandCtor, inputTokenName, outputTokenName, pageSizeTokenName) {
+ return /* @__PURE__ */ __name(async function* paginateOperation(config3, input2, ...additionalArguments) {
+ const _input = input2;
+ let token = config3.startingToken ?? _input[inputTokenName];
+ let hasNext = true;
+ let page;
+ while (hasNext) {
+ _input[inputTokenName] = token;
+ if (pageSizeTokenName) {
+ _input[pageSizeTokenName] = _input[pageSizeTokenName] ?? config3.pageSize;
+ }
+ if (config3.client instanceof ClientCtor) {
+ page = await makePagedClientRequest(CommandCtor, config3.client, input2, config3.withCommand, ...additionalArguments);
+ } else {
+ throw new Error(`Invalid client, expected instance of ${ClientCtor.name}`);
+ }
+ yield page;
+ const prevToken = token;
+ token = get(page, outputTokenName);
+ hasNext = !!(token && (!config3.stopOnSameToken || token !== prevToken));
+ }
+ return void 0;
+ }, "paginateOperation");
+}
+var makePagedClientRequest, get;
+var init_createPaginator = __esm({
+ "../../node_modules/.pnpm/@smithy+core@3.36.1/node_modules/@smithy/core/dist-es/legacy-root-exports/pagination/createPaginator.js"() {
+ makePagedClientRequest = /* @__PURE__ */ __name(async (CommandCtor, client, input2, withCommand = (_) => _, ...args) => {
+ let command5 = new CommandCtor(input2);
+ command5 = withCommand(command5) ?? command5;
+ return await client.send(command5, ...args);
+ }, "makePagedClientRequest");
+ __name(createPaginator, "createPaginator");
+ get = /* @__PURE__ */ __name((fromObject, path2) => {
+ let cursor = fromObject;
+ const pathComponents = path2.split(".");
+ for (const step of pathComponents) {
+ if (!cursor || typeof cursor !== "object") {
+ return void 0;
+ }
+ cursor = cursor[step];
+ }
+ return cursor;
+ }, "get");
+ }
+});
+
+// ../../node_modules/.pnpm/@smithy+core@3.36.1/node_modules/@smithy/core/dist-es/setFeature.js
+function setFeature2(context, feature, value) {
+ if (!context.__smithy_context) {
+ context.__smithy_context = {
+ features: {}
+ };
+ } else if (!context.__smithy_context.features) {
+ context.__smithy_context.features = {};
+ }
+ context.__smithy_context.features[feature] = value;
+}
+var init_setFeature2 = __esm({
+ "../../node_modules/.pnpm/@smithy+core@3.36.1/node_modules/@smithy/core/dist-es/setFeature.js"() {
+ __name(setFeature2, "setFeature");
+ }
+});
+
+// ../../node_modules/.pnpm/@smithy+core@3.36.1/node_modules/@smithy/core/dist-es/legacy-root-exports/util-identity-and-auth/DefaultIdentityProviderConfig.js
+var DefaultIdentityProviderConfig;
+var init_DefaultIdentityProviderConfig = __esm({
+ "../../node_modules/.pnpm/@smithy+core@3.36.1/node_modules/@smithy/core/dist-es/legacy-root-exports/util-identity-and-auth/DefaultIdentityProviderConfig.js"() {
+ init_transport();
+ DefaultIdentityProviderConfig = class {
+ static {
+ __name(this, "DefaultIdentityProviderConfig");
+ }
+ authSchemes = /* @__PURE__ */ new Map();
+ constructor(config3) {
+ for (const key in config3) {
+ if (!hasOwn(config3, key))
+ continue;
+ const value = config3[key];
+ if (value !== void 0) {
+ this.authSchemes.set(key, value);
+ }
+ }
+ }
+ getIdentityProvider(schemeId) {
+ return this.authSchemes.get(schemeId);
+ }
+ };
+ }
+});
+
+// ../../node_modules/.pnpm/@smithy+core@3.36.1/node_modules/@smithy/core/dist-es/legacy-root-exports/util-identity-and-auth/httpAuthSchemes/httpApiKeyAuth.js
+var import_types2, HttpApiKeyAuthSigner;
+var init_httpApiKeyAuth = __esm({
+ "../../node_modules/.pnpm/@smithy+core@3.36.1/node_modules/@smithy/core/dist-es/legacy-root-exports/util-identity-and-auth/httpAuthSchemes/httpApiKeyAuth.js"() {
+ init_protocols();
+ import_types2 = __toESM(require_dist_cjs());
+ HttpApiKeyAuthSigner = class {
+ static {
+ __name(this, "HttpApiKeyAuthSigner");
+ }
+ async sign(httpRequest, identity, signingProperties) {
+ if (!signingProperties) {
+ throw new Error("request could not be signed with `apiKey` since the `name` and `in` signer properties are missing");
+ }
+ if (!signingProperties.name) {
+ throw new Error("request could not be signed with `apiKey` since the `name` signer property is missing");
+ }
+ if (!signingProperties.in) {
+ throw new Error("request could not be signed with `apiKey` since the `in` signer property is missing");
+ }
+ if (!identity.apiKey) {
+ throw new Error("request could not be signed with `apiKey` since the `apiKey` is not defined");
+ }
+ const clonedRequest = HttpRequest.clone(httpRequest);
+ if (signingProperties.in === import_types2.HttpApiKeyAuthLocation.QUERY) {
+ clonedRequest.query[signingProperties.name] = identity.apiKey;
+ } else if (signingProperties.in === import_types2.HttpApiKeyAuthLocation.HEADER) {
+ clonedRequest.headers[signingProperties.name] = signingProperties.scheme ? `${signingProperties.scheme} ${identity.apiKey}` : identity.apiKey;
+ } else {
+ throw new Error("request can only be signed with `apiKey` locations `query` or `header`, but found: `" + signingProperties.in + "`");
+ }
+ return clonedRequest;
+ }
+ };
+ }
+});
+
+// ../../node_modules/.pnpm/@smithy+core@3.36.1/node_modules/@smithy/core/dist-es/legacy-root-exports/util-identity-and-auth/httpAuthSchemes/httpBearerAuth.js
+var HttpBearerAuthSigner;
+var init_httpBearerAuth = __esm({
+ "../../node_modules/.pnpm/@smithy+core@3.36.1/node_modules/@smithy/core/dist-es/legacy-root-exports/util-identity-and-auth/httpAuthSchemes/httpBearerAuth.js"() {
+ init_protocols();
+ HttpBearerAuthSigner = class {
+ static {
+ __name(this, "HttpBearerAuthSigner");
+ }
+ async sign(httpRequest, identity, signingProperties) {
+ const clonedRequest = HttpRequest.clone(httpRequest);
+ if (!identity.token) {
+ throw new Error("request could not be signed with `token` since the `token` is not defined");
+ }
+ clonedRequest.headers["Authorization"] = `Bearer ${identity.token}`;
+ return clonedRequest;
+ }
+ };
+ }
+});
+
+// ../../node_modules/.pnpm/@smithy+core@3.36.1/node_modules/@smithy/core/dist-es/legacy-root-exports/util-identity-and-auth/httpAuthSchemes/noAuth.js
+var NoAuthSigner;
+var init_noAuth = __esm({
+ "../../node_modules/.pnpm/@smithy+core@3.36.1/node_modules/@smithy/core/dist-es/legacy-root-exports/util-identity-and-auth/httpAuthSchemes/noAuth.js"() {
+ NoAuthSigner = class {
+ static {
+ __name(this, "NoAuthSigner");
+ }
+ async sign(httpRequest, identity, signingProperties) {
+ return httpRequest;
+ }
+ };
+ }
+});
+
+// ../../node_modules/.pnpm/@smithy+core@3.36.1/node_modules/@smithy/core/dist-es/legacy-root-exports/util-identity-and-auth/httpAuthSchemes/index.js
+var init_httpAuthSchemes = __esm({
+ "../../node_modules/.pnpm/@smithy+core@3.36.1/node_modules/@smithy/core/dist-es/legacy-root-exports/util-identity-and-auth/httpAuthSchemes/index.js"() {
+ init_httpApiKeyAuth();
+ init_httpBearerAuth();
+ init_noAuth();
+ }
+});
+
+// ../../node_modules/.pnpm/@smithy+core@3.36.1/node_modules/@smithy/core/dist-es/legacy-root-exports/util-identity-and-auth/memoizeIdentityProvider.js
+var createIsIdentityExpiredFunction, EXPIRATION_MS, isIdentityExpired, doesIdentityRequireRefresh, memoizeIdentityProvider;
+var init_memoizeIdentityProvider = __esm({
+ "../../node_modules/.pnpm/@smithy+core@3.36.1/node_modules/@smithy/core/dist-es/legacy-root-exports/util-identity-and-auth/memoizeIdentityProvider.js"() {
+ createIsIdentityExpiredFunction = /* @__PURE__ */ __name((expirationMs) => /* @__PURE__ */ __name(function isIdentityExpired2(identity) {
+ return doesIdentityRequireRefresh(identity) && identity.expiration.getTime() - Date.now() < expirationMs;
+ }, "isIdentityExpired"), "createIsIdentityExpiredFunction");
+ EXPIRATION_MS = 3e5;
+ isIdentityExpired = createIsIdentityExpiredFunction(EXPIRATION_MS);
+ doesIdentityRequireRefresh = /* @__PURE__ */ __name((identity) => identity.expiration !== void 0, "doesIdentityRequireRefresh");
+ memoizeIdentityProvider = /* @__PURE__ */ __name((provider, isExpired, requiresRefresh) => {
+ if (provider === void 0) {
+ return void 0;
+ }
+ const normalizedProvider = typeof provider !== "function" ? async () => Promise.resolve(provider) : provider;
+ let resolved;
+ let pending;
+ let hasResult;
+ let isConstant = false;
+ const coalesceProvider = /* @__PURE__ */ __name(async (options) => {
+ if (!pending) {
+ pending = normalizedProvider(options);
+ }
+ try {
+ resolved = await pending;
+ hasResult = true;
+ isConstant = false;
+ } finally {
+ pending = void 0;
+ }
+ return resolved;
+ }, "coalesceProvider");
+ if (isExpired === void 0) {
+ return async (options) => {
+ if (!hasResult || options?.forceRefresh) {
+ resolved = await coalesceProvider(options);
+ }
+ return resolved;
+ };
+ }
+ return async (options) => {
+ if (!hasResult || options?.forceRefresh) {
+ resolved = await coalesceProvider(options);
+ }
+ if (isConstant) {
+ return resolved;
+ }
+ if (!requiresRefresh(resolved)) {
+ isConstant = true;
+ return resolved;
+ }
+ if (isExpired(resolved)) {
+ await coalesceProvider(options);
+ return resolved;
+ }
+ return resolved;
+ };
+ }, "memoizeIdentityProvider");
+ }
+});
+
+// ../../node_modules/.pnpm/@smithy+core@3.36.1/node_modules/@smithy/core/dist-es/legacy-root-exports/util-identity-and-auth/index.js
+var init_util_identity_and_auth = __esm({
+ "../../node_modules/.pnpm/@smithy+core@3.36.1/node_modules/@smithy/core/dist-es/legacy-root-exports/util-identity-and-auth/index.js"() {
+ init_DefaultIdentityProviderConfig();
+ init_httpAuthSchemes();
+ init_memoizeIdentityProvider();
+ }
+});
+
+// ../../node_modules/.pnpm/@smithy+core@3.36.1/node_modules/@smithy/core/dist-es/index.js
+var dist_es_exports = {};
+__export(dist_es_exports, {
+ DefaultIdentityProviderConfig: () => DefaultIdentityProviderConfig,
+ EXPIRATION_MS: () => EXPIRATION_MS,
+ HttpApiKeyAuthSigner: () => HttpApiKeyAuthSigner,
+ HttpBearerAuthSigner: () => HttpBearerAuthSigner,
+ NoAuthSigner: () => NoAuthSigner,
+ createIsIdentityExpiredFunction: () => createIsIdentityExpiredFunction,
+ createPaginator: () => createPaginator,
+ doesIdentityRequireRefresh: () => doesIdentityRequireRefresh,
+ getHttpAuthSchemeEndpointRuleSetPlugin: () => getHttpAuthSchemeEndpointRuleSetPlugin,
+ getHttpAuthSchemePlugin: () => getHttpAuthSchemePlugin,
+ getHttpSigningPlugin: () => getHttpSigningPlugin,
+ getSmithyContext: () => getSmithyContext,
+ httpAuthSchemeEndpointRuleSetMiddlewareOptions: () => httpAuthSchemeEndpointRuleSetMiddlewareOptions,
+ httpAuthSchemeMiddleware: () => httpAuthSchemeMiddleware,
+ httpAuthSchemeMiddlewareOptions: () => httpAuthSchemeMiddlewareOptions,
+ httpSigningMiddleware: () => httpSigningMiddleware,
+ httpSigningMiddlewareOptions: () => httpSigningMiddlewareOptions,
+ isIdentityExpired: () => isIdentityExpired,
+ memoizeIdentityProvider: () => memoizeIdentityProvider,
+ normalizeProvider: () => normalizeProvider2,
+ requestBuilder: () => requestBuilder,
+ setFeature: () => setFeature2
+});
+var init_dist_es = __esm({
+ "../../node_modules/.pnpm/@smithy+core@3.36.1/node_modules/@smithy/core/dist-es/index.js"() {
+ init_transport();
+ init_middleware_http_auth_scheme();
+ init_middleware_http_signing();
+ init_normalizeProvider();
+ init_createPaginator();
+ init_protocols();
+ init_setFeature2();
+ init_util_identity_and_auth();
+ }
+});
+
+// ../../node_modules/.pnpm/@aws-sdk+core@3.978.4/node_modules/@aws-sdk/core/dist-es/submodules/client/middleware-user-agent/configurations.js
+function isValidUserAgentAppId(appId) {
+ if (appId === void 0) {
+ return true;
+ }
+ return typeof appId === "string" && appId.length <= 50;
+}
+function resolveUserAgentConfig(input2) {
+ const normalizedAppIdProvider = normalizeProvider2(input2.userAgentAppId ?? DEFAULT_UA_APP_ID);
+ const { customUserAgent } = input2;
+ return Object.assign(input2, {
+ customUserAgent: typeof customUserAgent === "string" ? [[customUserAgent]] : customUserAgent,
+ userAgentAppId: /* @__PURE__ */ __name(async () => {
+ const appId = await normalizedAppIdProvider();
+ if (!isValidUserAgentAppId(appId)) {
+ const logger = input2.logger?.constructor?.name === "NoOpLogger" || !input2.logger ? console : input2.logger;
+ if (typeof appId !== "string") {
+ logger?.warn("userAgentAppId must be a string or undefined.");
+ } else if (appId.length > 50) {
+ logger?.warn("The provided userAgentAppId exceeds the maximum length of 50 characters.");
+ }
+ }
+ return appId;
+ }, "userAgentAppId")
+ });
+}
+var DEFAULT_UA_APP_ID;
+var init_configurations2 = __esm({
+ "../../node_modules/.pnpm/@aws-sdk+core@3.978.4/node_modules/@aws-sdk/core/dist-es/submodules/client/middleware-user-agent/configurations.js"() {
+ init_dist_es();
+ DEFAULT_UA_APP_ID = void 0;
+ __name(isValidUserAgentAppId, "isValidUserAgentAppId");
+ __name(resolveUserAgentConfig, "resolveUserAgentConfig");
+ }
+});
+
+// ../../node_modules/.pnpm/@aws-sdk+core@3.978.4/node_modules/@aws-sdk/core/dist-es/submodules/client/util-endpoints/lib/aws/partitions.js
+var partitionsInfo;
+var init_partitions = __esm({
+ "../../node_modules/.pnpm/@aws-sdk+core@3.978.4/node_modules/@aws-sdk/core/dist-es/submodules/client/util-endpoints/lib/aws/partitions.js"() {
+ partitionsInfo = {
+ "partitions": [
+ {
+ "id": "aws",
+ "outputs": {
+ "dnsSuffix": "amazonaws.com",
+ "dualStackDnsSuffix": "api.aws",
+ "implicitGlobalRegion": "us-east-1",
+ "name": "aws",
+ "supportsDualStack": true,
+ "supportsFIPS": true
+ },
+ "regionRegex": "^(us|eu|ap|sa|ca|me|af|il|mx)\\-\\w+\\-\\d+$",
+ "regions": {
+ "af-south-1": {
+ "description": "Africa (Cape Town)"
+ },
+ "ap-east-1": {
+ "description": "Asia Pacific (Hong Kong)"
+ },
+ "ap-east-2": {
+ "description": "Asia Pacific (Taipei)"
+ },
+ "ap-northeast-1": {
+ "description": "Asia Pacific (Tokyo)"
+ },
+ "ap-northeast-2": {
+ "description": "Asia Pacific (Seoul)"
+ },
+ "ap-northeast-3": {
+ "description": "Asia Pacific (Osaka)"
+ },
+ "ap-south-1": {
+ "description": "Asia Pacific (Mumbai)"
+ },
+ "ap-south-2": {
+ "description": "Asia Pacific (Hyderabad)"
+ },
+ "ap-southeast-1": {
+ "description": "Asia Pacific (Singapore)"
+ },
+ "ap-southeast-2": {
+ "description": "Asia Pacific (Sydney)"
+ },
+ "ap-southeast-3": {
+ "description": "Asia Pacific (Jakarta)"
+ },
+ "ap-southeast-4": {
+ "description": "Asia Pacific (Melbourne)"
+ },
+ "ap-southeast-5": {
+ "description": "Asia Pacific (Malaysia)"
+ },
+ "ap-southeast-6": {
+ "description": "Asia Pacific (New Zealand)"
+ },
+ "ap-southeast-7": {
+ "description": "Asia Pacific (Thailand)"
+ },
+ "aws-global": {
+ "description": "aws global region"
+ },
+ "ca-central-1": {
+ "description": "Canada (Central)"
+ },
+ "ca-west-1": {
+ "description": "Canada West (Calgary)"
+ },
+ "eu-central-1": {
+ "description": "Europe (Frankfurt)"
+ },
+ "eu-central-2": {
+ "description": "Europe (Zurich)"
+ },
+ "eu-north-1": {
+ "description": "Europe (Stockholm)"
+ },
+ "eu-south-1": {
+ "description": "Europe (Milan)"
+ },
+ "eu-south-2": {
+ "description": "Europe (Spain)"
+ },
+ "eu-west-1": {
+ "description": "Europe (Ireland)"
+ },
+ "eu-west-2": {
+ "description": "Europe (London)"
+ },
+ "eu-west-3": {
+ "description": "Europe (Paris)"
+ },
+ "il-central-1": {
+ "description": "Israel (Tel Aviv)"
+ },
+ "me-central-1": {
+ "description": "Middle East (UAE)"
+ },
+ "me-south-1": {
+ "description": "Middle East (Bahrain)"
+ },
+ "mx-central-1": {
+ "description": "Mexico (Central)"
+ },
+ "sa-east-1": {
+ "description": "South America (Sao Paulo)"
+ },
+ "us-east-1": {
+ "description": "US East (N. Virginia)"
+ },
+ "us-east-2": {
+ "description": "US East (Ohio)"
+ },
+ "us-west-1": {
+ "description": "US West (N. California)"
+ },
+ "us-west-2": {
+ "description": "US West (Oregon)"
+ }
+ }
+ },
+ {
+ "id": "aws-cn",
+ "outputs": {
+ "dnsSuffix": "amazonaws.com.cn",
+ "dualStackDnsSuffix": "api.amazonwebservices.com.cn",
+ "implicitGlobalRegion": "cn-northwest-1",
+ "name": "aws-cn",
+ "supportsDualStack": true,
+ "supportsFIPS": true
+ },
+ "regionRegex": "^cn\\-\\w+\\-\\d+$",
+ "regions": {
+ "aws-cn-global": {
+ "description": "aws-cn global region"
+ },
+ "cn-north-1": {
+ "description": "China (Beijing)"
+ },
+ "cn-northwest-1": {
+ "description": "China (Ningxia)"
+ }
+ }
+ },
+ {
+ "id": "aws-eusc",
+ "outputs": {
+ "dnsSuffix": "amazonaws.eu",
+ "dualStackDnsSuffix": "api.amazonwebservices.eu",
+ "implicitGlobalRegion": "eusc-de-east-1",
+ "name": "aws-eusc",
+ "supportsDualStack": true,
+ "supportsFIPS": true
+ },
+ "regionRegex": "^eusc\\-(de)\\-\\w+\\-\\d+$",
+ "regions": {
+ "eusc-de-east-1": {
+ "description": "AWS European Sovereign Cloud (Germany)"
+ }
+ }
+ },
+ {
+ "id": "aws-iso",
+ "outputs": {
+ "dnsSuffix": "c2s.ic.gov",
+ "dualStackDnsSuffix": "api.aws.ic.gov",
+ "implicitGlobalRegion": "us-iso-east-1",
+ "name": "aws-iso",
+ "supportsDualStack": true,
+ "supportsFIPS": true
+ },
+ "regionRegex": "^us\\-iso\\-\\w+\\-\\d+$",
+ "regions": {
+ "aws-iso-global": {
+ "description": "aws-iso global region"
+ },
+ "us-iso-east-1": {
+ "description": "US ISO East"
+ },
+ "us-iso-west-1": {
+ "description": "US ISO WEST"
+ }
+ }
+ },
+ {
+ "id": "aws-iso-b",
+ "outputs": {
+ "dnsSuffix": "sc2s.sgov.gov",
+ "dualStackDnsSuffix": "api.aws.scloud",
+ "implicitGlobalRegion": "us-isob-east-1",
+ "name": "aws-iso-b",
+ "supportsDualStack": true,
+ "supportsFIPS": true
+ },
+ "regionRegex": "^us\\-isob\\-\\w+\\-\\d+$",
+ "regions": {
+ "aws-iso-b-global": {
+ "description": "aws-iso-b global region"
+ },
+ "us-isob-east-1": {
+ "description": "US ISOB East (Ohio)"
+ },
+ "us-isob-west-1": {
+ "description": "US ISOB West"
+ }
+ }
+ },
+ {
+ "id": "aws-iso-e",
+ "outputs": {
+ "dnsSuffix": "cloud.adc-e.uk",
+ "dualStackDnsSuffix": "api.cloud-aws.adc-e.uk",
+ "implicitGlobalRegion": "eu-isoe-west-1",
+ "name": "aws-iso-e",
+ "supportsDualStack": true,
+ "supportsFIPS": true
+ },
+ "regionRegex": "^eu\\-isoe\\-\\w+\\-\\d+$",
+ "regions": {
+ "aws-iso-e-global": {
+ "description": "aws-iso-e global region"
+ },
+ "eu-isoe-west-1": {
+ "description": "EU ISOE West"
+ }
+ }
+ },
+ {
+ "id": "aws-iso-f",
+ "outputs": {
+ "dnsSuffix": "csp.hci.ic.gov",
+ "dualStackDnsSuffix": "api.aws.hci.ic.gov",
+ "implicitGlobalRegion": "us-isof-south-1",
+ "name": "aws-iso-f",
+ "supportsDualStack": true,
+ "supportsFIPS": true
+ },
+ "regionRegex": "^us\\-isof\\-\\w+\\-\\d+$",
+ "regions": {
+ "aws-iso-f-global": {
+ "description": "aws-iso-f global region"
+ },
+ "us-isof-east-1": {
+ "description": "US ISOF EAST"
+ },
+ "us-isof-south-1": {
+ "description": "US ISOF SOUTH"
+ }
+ }
+ },
+ {
+ "id": "aws-us-gov",
+ "outputs": {
+ "dnsSuffix": "amazonaws.com",
+ "dualStackDnsSuffix": "api.aws",
+ "implicitGlobalRegion": "us-gov-west-1",
+ "name": "aws-us-gov",
+ "supportsDualStack": true,
+ "supportsFIPS": true
+ },
+ "regionRegex": "^us\\-gov\\-\\w+\\-\\d+$",
+ "regions": {
+ "aws-us-gov-global": {
+ "description": "aws-us-gov global region"
+ },
+ "us-gov-east-1": {
+ "description": "AWS GovCloud (US-East)"
+ },
+ "us-gov-west-1": {
+ "description": "AWS GovCloud (US-West)"
+ }
+ }
+ }
+ ],
+ "version": "1.1"
+ };
+ }
+});
+
+// ../../node_modules/.pnpm/@aws-sdk+core@3.978.4/node_modules/@aws-sdk/core/dist-es/submodules/client/util-endpoints/lib/aws/partition.js
+var selectedPartitionsInfo, selectedUserAgentPrefix, partition, setPartitionInfo, useDefaultPartitionInfo, getUserAgentPrefix;
+var init_partition = __esm({
+ "../../node_modules/.pnpm/@aws-sdk+core@3.978.4/node_modules/@aws-sdk/core/dist-es/submodules/client/util-endpoints/lib/aws/partition.js"() {
+ init_partitions();
+ selectedPartitionsInfo = partitionsInfo;
+ selectedUserAgentPrefix = "";
+ partition = /* @__PURE__ */ __name((value) => {
+ const { partitions } = selectedPartitionsInfo;
+ for (const partition2 of partitions) {
+ const { regions, outputs } = partition2;
+ for (const [region, regionData] of Object.entries(regions)) {
+ if (region === value) {
+ return {
+ ...outputs,
+ ...regionData
+ };
+ }
+ }
+ }
+ for (const partition2 of partitions) {
+ const { regionRegex, outputs } = partition2;
+ if (new RegExp(regionRegex).test(value)) {
+ return {
+ ...outputs
+ };
+ }
+ }
+ const DEFAULT_PARTITION = partitions.find((partition2) => partition2.id === "aws");
+ if (!DEFAULT_PARTITION) {
+ throw new Error("Provided region was not found in the partition array or regex, and default partition with id 'aws' doesn't exist.");
+ }
+ return {
+ ...DEFAULT_PARTITION.outputs
+ };
+ }, "partition");
+ setPartitionInfo = /* @__PURE__ */ __name((partitionsInfo2, userAgentPrefix = "") => {
+ selectedPartitionsInfo = partitionsInfo2;
+ selectedUserAgentPrefix = userAgentPrefix;
+ }, "setPartitionInfo");
+ useDefaultPartitionInfo = /* @__PURE__ */ __name(() => {
+ setPartitionInfo(partitionsInfo, "");
+ }, "useDefaultPartitionInfo");
+ getUserAgentPrefix = /* @__PURE__ */ __name(() => selectedUserAgentPrefix, "getUserAgentPrefix");
+ }
+});
+
+// ../../node_modules/.pnpm/@aws-sdk+core@3.978.4/node_modules/@aws-sdk/core/dist-es/submodules/client/middleware-user-agent/check-features.js
+async function checkFeatures(context, config3, args) {
+ const request = args.request;
+ if (request?.headers?.["smithy-protocol"] === "rpc-v2-cbor") {
+ setFeature(context, "PROTOCOL_RPC_V2_CBOR", "M");
+ }
+ if (typeof config3.retryStrategy === "function") {
+ const retryStrategy = await config3.retryStrategy();
+ if (typeof retryStrategy.mode === "string") {
+ switch (retryStrategy.mode) {
+ case RETRY_MODES.ADAPTIVE:
+ setFeature(context, "RETRY_MODE_ADAPTIVE", "F");
+ break;
+ case RETRY_MODES.STANDARD:
+ setFeature(context, "RETRY_MODE_STANDARD", "E");
+ break;
+ }
+ }
+ }
+ if (typeof config3.accountIdEndpointMode === "function") {
+ const endpointV2 = context.endpointV2;
+ if (String(endpointV2?.url?.hostname).match(ACCOUNT_ID_ENDPOINT_REGEX)) {
+ setFeature(context, "ACCOUNT_ID_ENDPOINT", "O");
+ }
+ switch (await config3.accountIdEndpointMode?.()) {
+ case "disabled":
+ setFeature(context, "ACCOUNT_ID_MODE_DISABLED", "Q");
+ break;
+ case "preferred":
+ setFeature(context, "ACCOUNT_ID_MODE_PREFERRED", "P");
+ break;
+ case "required":
+ setFeature(context, "ACCOUNT_ID_MODE_REQUIRED", "R");
+ break;
+ }
+ }
+ const identity = context.__smithy_context?.selectedHttpAuthScheme?.identity;
+ if (identity?.$source) {
+ const credentials = identity;
+ if (credentials.accountId) {
+ setFeature(context, "RESOLVED_ACCOUNT_ID", "T");
+ }
+ for (const [key, value] of Object.entries(credentials.$source ?? {})) {
+ setFeature(context, key, value);
+ }
+ }
+}
+var ACCOUNT_ID_ENDPOINT_REGEX;
+var init_check_features = __esm({
+ "../../node_modules/.pnpm/@aws-sdk+core@3.978.4/node_modules/@aws-sdk/core/dist-es/submodules/client/middleware-user-agent/check-features.js"() {
+ init_retry();
+ init_setFeature();
+ ACCOUNT_ID_ENDPOINT_REGEX = /\d{12}\.ddb/;
+ __name(checkFeatures, "checkFeatures");
+ }
+});
+
+// ../../node_modules/.pnpm/@aws-sdk+core@3.978.4/node_modules/@aws-sdk/core/dist-es/submodules/client/middleware-user-agent/constants.js
+var USER_AGENT, X_AMZ_USER_AGENT, SPACE, UA_NAME_SEPARATOR, UA_NAME_ESCAPE_REGEX, UA_VALUE_ESCAPE_REGEX, UA_ESCAPE_CHAR;
+var init_constants4 = __esm({
+ "../../node_modules/.pnpm/@aws-sdk+core@3.978.4/node_modules/@aws-sdk/core/dist-es/submodules/client/middleware-user-agent/constants.js"() {
+ USER_AGENT = "user-agent";
+ X_AMZ_USER_AGENT = "x-amz-user-agent";
+ SPACE = " ";
+ UA_NAME_SEPARATOR = "/";
+ UA_NAME_ESCAPE_REGEX = /[^!$%&'*+\-.^_`|~\w]/g;
+ UA_VALUE_ESCAPE_REGEX = /[^!$%&'*+\-.^_`|~\w#]/g;
+ UA_ESCAPE_CHAR = "-";
+ }
+});
+
+// ../../node_modules/.pnpm/@aws-sdk+core@3.978.4/node_modules/@aws-sdk/core/dist-es/submodules/client/middleware-user-agent/encode-features.js
+function encodeFeatures(features) {
+ let buffer = "";
+ for (const key in features) {
+ const val = features[key];
+ if (buffer.length + val.length + 1 <= BYTE_LIMIT) {
+ if (buffer.length) {
+ buffer += "," + val;
+ } else {
+ buffer += val;
+ }
+ continue;
+ }
+ break;
+ }
+ return buffer;
+}
+var BYTE_LIMIT;
+var init_encode_features = __esm({
+ "../../node_modules/.pnpm/@aws-sdk+core@3.978.4/node_modules/@aws-sdk/core/dist-es/submodules/client/middleware-user-agent/encode-features.js"() {
+ BYTE_LIMIT = 1024;
+ __name(encodeFeatures, "encodeFeatures");
+ }
+});
+
+// ../../node_modules/.pnpm/@aws-sdk+core@3.978.4/node_modules/@aws-sdk/core/dist-es/submodules/client/middleware-user-agent/user-agent-middleware.js
+var userAgentMiddleware, escapeUserAgent, getUserAgentMiddlewareOptions, getUserAgentPlugin;
+var init_user_agent_middleware = __esm({
+ "../../node_modules/.pnpm/@aws-sdk+core@3.978.4/node_modules/@aws-sdk/core/dist-es/submodules/client/middleware-user-agent/user-agent-middleware.js"() {
+ init_protocols();
+ init_partition();
+ init_check_features();
+ init_constants4();
+ init_encode_features();
+ userAgentMiddleware = /* @__PURE__ */ __name((options) => (next, context) => async (args) => {
+ const { request } = args;
+ if (!HttpRequest.isInstance(request)) {
+ return next(args);
+ }
+ const { headers } = request;
+ const userAgent = context?.userAgent?.map(escapeUserAgent) || [];
+ const defaultUserAgent2 = (await options.defaultUserAgentProvider()).map(escapeUserAgent);
+ await checkFeatures(context, options, args);
+ const awsContext = context;
+ defaultUserAgent2.push(`m/${encodeFeatures(Object.assign({}, context.__smithy_context?.features, awsContext.__aws_sdk_context?.features))}`);
+ const customUserAgent = options?.customUserAgent?.map(escapeUserAgent) || [];
+ const appId = await options.userAgentAppId();
+ if (appId) {
+ defaultUserAgent2.push(escapeUserAgent([`app`, `${appId}`]));
+ }
+ const prefix = getUserAgentPrefix();
+ const sdkUserAgentValue = (prefix ? [prefix] : []).concat([...defaultUserAgent2, ...userAgent, ...customUserAgent]).join(SPACE);
+ const normalUAValue = [
+ ...defaultUserAgent2.filter((section) => section.startsWith("aws-sdk-")),
+ ...customUserAgent
+ ].join(SPACE);
+ if (options.runtime !== "browser") {
+ if (normalUAValue) {
+ headers[X_AMZ_USER_AGENT] = headers[X_AMZ_USER_AGENT] ? `${headers[USER_AGENT]} ${normalUAValue}` : normalUAValue;
+ }
+ headers[USER_AGENT] = sdkUserAgentValue;
+ } else {
+ headers[X_AMZ_USER_AGENT] = sdkUserAgentValue;
+ }
+ return next({
+ ...args,
+ request
+ });
+ }, "userAgentMiddleware");
+ escapeUserAgent = /* @__PURE__ */ __name((userAgentPair) => {
+ const name2 = userAgentPair[0].split(UA_NAME_SEPARATOR).map((part) => part.replace(UA_NAME_ESCAPE_REGEX, UA_ESCAPE_CHAR)).join(UA_NAME_SEPARATOR);
+ const version2 = userAgentPair[1]?.replace(UA_VALUE_ESCAPE_REGEX, UA_ESCAPE_CHAR);
+ const prefixSeparatorIndex = name2.indexOf(UA_NAME_SEPARATOR);
+ const prefix = name2.substring(0, prefixSeparatorIndex);
+ let uaName = name2.substring(prefixSeparatorIndex + 1);
+ if (prefix === "api") {
+ uaName = uaName.toLowerCase();
+ }
+ return [prefix, uaName, version2].filter((item) => item && item.length > 0).reduce((acc, item, index) => {
+ switch (index) {
+ case 0:
+ return item;
+ case 1:
+ return `${acc}/${item}`;
+ default:
+ return `${acc}#${item}`;
+ }
+ }, "");
+ }, "escapeUserAgent");
+ getUserAgentMiddlewareOptions = {
+ name: "getUserAgentMiddleware",
+ step: "build",
+ priority: "low",
+ tags: ["SET_USER_AGENT", "USER_AGENT"],
+ override: true
+ };
+ getUserAgentPlugin = /* @__PURE__ */ __name((config3) => ({
+ applyToStack: /* @__PURE__ */ __name((clientStack) => {
+ clientStack.add(userAgentMiddleware(config3), getUserAgentMiddlewareOptions);
+ }, "applyToStack")
+ }), "getUserAgentPlugin");
+ }
+});
+
+// ../../node_modules/.pnpm/@aws-sdk+core@3.978.4/node_modules/@aws-sdk/core/dist-es/submodules/client/util-user-agent-node/getRuntimeUserAgentPair.js
+import { versions } from "node:process";
+var getRuntimeUserAgentPair;
+var init_getRuntimeUserAgentPair = __esm({
+ "../../node_modules/.pnpm/@aws-sdk+core@3.978.4/node_modules/@aws-sdk/core/dist-es/submodules/client/util-user-agent-node/getRuntimeUserAgentPair.js"() {
+ getRuntimeUserAgentPair = /* @__PURE__ */ __name(() => {
+ const runtimesToCheck = ["deno", "bun", "llrt"];
+ for (const runtime3 of runtimesToCheck) {
+ if (versions[runtime3]) {
+ return [`md/${runtime3}`, versions[runtime3]];
+ }
+ }
+ return ["md/nodejs", versions.node];
+ }, "getRuntimeUserAgentPair");
+ }
+});
+
+// ../../node_modules/.pnpm/@aws-sdk+core@3.978.4/node_modules/@aws-sdk/core/dist-es/submodules/client/util-user-agent-node/crt-availability.js
+var crtAvailability;
+var init_crt_availability = __esm({
+ "../../node_modules/.pnpm/@aws-sdk+core@3.978.4/node_modules/@aws-sdk/core/dist-es/submodules/client/util-user-agent-node/crt-availability.js"() {
+ crtAvailability = {
+ isCrtAvailable: false
+ };
+ }
+});
+
+// ../../node_modules/.pnpm/@aws-sdk+core@3.978.4/node_modules/@aws-sdk/core/dist-es/submodules/client/util-user-agent-node/is-crt-available.js
+var isCrtAvailable;
+var init_is_crt_available = __esm({
+ "../../node_modules/.pnpm/@aws-sdk+core@3.978.4/node_modules/@aws-sdk/core/dist-es/submodules/client/util-user-agent-node/is-crt-available.js"() {
+ init_crt_availability();
+ isCrtAvailable = /* @__PURE__ */ __name(() => {
+ if (crtAvailability.isCrtAvailable) {
+ return ["md/crt-avail"];
+ }
+ return null;
+ }, "isCrtAvailable");
+ }
+});
+
+// ../../node_modules/.pnpm/@aws-sdk+core@3.978.4/node_modules/@aws-sdk/core/dist-es/submodules/client/util-user-agent-node/defaultUserAgent.js
+import { platform, release } from "node:os";
+import { env as env2 } from "node:process";
+var createDefaultUserAgentProvider, defaultUserAgent;
+var init_defaultUserAgent = __esm({
+ "../../node_modules/.pnpm/@aws-sdk+core@3.978.4/node_modules/@aws-sdk/core/dist-es/submodules/client/util-user-agent-node/defaultUserAgent.js"() {
+ init_getRuntimeUserAgentPair();
+ init_is_crt_available();
+ init_crt_availability();
+ createDefaultUserAgentProvider = /* @__PURE__ */ __name(({ serviceId, clientVersion }) => {
+ const runtimeUserAgentPair = getRuntimeUserAgentPair();
+ return async (config3) => {
+ const sections = [
+ ["aws-sdk-js", clientVersion],
+ ["ua", "2.1"],
+ [`os/${platform()}`, release()],
+ ["lang/js"],
+ runtimeUserAgentPair
+ ];
+ const crtAvailable = isCrtAvailable();
+ if (crtAvailable) {
+ sections.push(crtAvailable);
+ }
+ if (serviceId) {
+ sections.push([`api/${serviceId}`, clientVersion]);
+ }
+ if (env2.AWS_EXECUTION_ENV) {
+ sections.push([`exec-env/${env2.AWS_EXECUTION_ENV}`]);
+ }
+ const appId = await config3?.userAgentAppId?.();
+ const resolvedUserAgent = appId ? [...sections, [`app/${appId}`]] : [...sections];
+ return resolvedUserAgent;
+ };
+ }, "createDefaultUserAgentProvider");
+ defaultUserAgent = createDefaultUserAgentProvider;
+ }
+});
+
+// ../../node_modules/.pnpm/@aws-sdk+core@3.978.4/node_modules/@aws-sdk/core/dist-es/submodules/client/util-user-agent-node/nodeAppIdConfigOptions.js
+var UA_APP_ID_ENV_NAME, UA_APP_ID_INI_NAME, UA_APP_ID_INI_NAME_DEPRECATED, NODE_APP_ID_CONFIG_OPTIONS;
+var init_nodeAppIdConfigOptions = __esm({
+ "../../node_modules/.pnpm/@aws-sdk+core@3.978.4/node_modules/@aws-sdk/core/dist-es/submodules/client/util-user-agent-node/nodeAppIdConfigOptions.js"() {
+ init_configurations2();
+ UA_APP_ID_ENV_NAME = "AWS_SDK_UA_APP_ID";
+ UA_APP_ID_INI_NAME = "sdk_ua_app_id";
+ UA_APP_ID_INI_NAME_DEPRECATED = "sdk-ua-app-id";
+ NODE_APP_ID_CONFIG_OPTIONS = {
+ environmentVariableSelector: /* @__PURE__ */ __name((env3) => env3[UA_APP_ID_ENV_NAME], "environmentVariableSelector"),
+ configFileSelector: /* @__PURE__ */ __name((profile) => profile[UA_APP_ID_INI_NAME] ?? profile[UA_APP_ID_INI_NAME_DEPRECATED], "configFileSelector"),
+ default: DEFAULT_UA_APP_ID
+ };
+ }
+});
+
+// ../../node_modules/.pnpm/@aws-sdk+core@3.978.4/node_modules/@aws-sdk/core/dist-es/submodules/client/util-user-agent-browser/createUserAgentStringParsingProvider.js
+var createUserAgentStringParsingProvider;
+var init_createUserAgentStringParsingProvider = __esm({
+ "../../node_modules/.pnpm/@aws-sdk+core@3.978.4/node_modules/@aws-sdk/core/dist-es/submodules/client/util-user-agent-browser/createUserAgentStringParsingProvider.js"() {
+ createUserAgentStringParsingProvider = /* @__PURE__ */ __name(({ serviceId, clientVersion }) => async (config3) => {
+ const module = await import("./es5-NIUGVEY6.js");
+ const parse4 = module.parse ?? module.default.parse ?? (() => "");
+ const parsedUA = typeof window !== "undefined" && window?.navigator?.userAgent ? parse4(window.navigator.userAgent) : void 0;
+ const sections = [
+ ["aws-sdk-js", clientVersion],
+ ["ua", "2.1"],
+ [`os/${parsedUA?.os?.name || "other"}`, parsedUA?.os?.version],
+ ["lang/js"],
+ ["md/browser", `${parsedUA?.browser?.name ?? "unknown"}_${parsedUA?.browser?.version ?? "unknown"}`]
+ ];
+ if (serviceId) {
+ sections.push([`api/${serviceId}`, clientVersion]);
+ }
+ const appId = await config3?.userAgentAppId?.();
+ if (appId) {
+ sections.push([`app/${appId}`]);
+ }
+ return sections;
+ }, "createUserAgentStringParsingProvider");
+ }
+});
+
+// ../../node_modules/.pnpm/@aws-sdk+core@3.978.4/node_modules/@aws-sdk/core/dist-es/submodules/client/util-user-agent-browser/defaultUserAgent.js
+var fallback;
+var init_defaultUserAgent2 = __esm({
+ "../../node_modules/.pnpm/@aws-sdk+core@3.978.4/node_modules/@aws-sdk/core/dist-es/submodules/client/util-user-agent-browser/defaultUserAgent.js"() {
+ fallback = {
+ os(ua) {
+ if (/iPhone|iPad|iPod/.test(ua))
+ return "iOS";
+ if (/Macintosh|Mac OS X/.test(ua))
+ return "macOS";
+ if (/Windows NT/.test(ua))
+ return "Windows";
+ if (/Android/.test(ua))
+ return "Android";
+ if (/Linux/.test(ua))
+ return "Linux";
+ return void 0;
+ },
+ browser(ua) {
+ if (/EdgiOS|EdgA|Edg\//.test(ua))
+ return "Microsoft Edge";
+ if (/Firefox\//.test(ua))
+ return "Firefox";
+ if (/Chrome\//.test(ua))
+ return "Chrome";
+ if (/Safari\//.test(ua))
+ return "Safari";
+ return void 0;
+ }
+ };
+ }
+});
+
+// ../../node_modules/.pnpm/@aws-sdk+core@3.978.4/node_modules/@aws-sdk/core/dist-es/submodules/client/util-endpoints/lib/isIpAddress.js
+var init_isIpAddress = __esm({
+ "../../node_modules/.pnpm/@aws-sdk+core@3.978.4/node_modules/@aws-sdk/core/dist-es/submodules/client/util-endpoints/lib/isIpAddress.js"() {
+ init_endpoints();
+ }
+});
+
+// ../../node_modules/.pnpm/@aws-sdk+core@3.978.4/node_modules/@aws-sdk/core/dist-es/submodules/client/util-endpoints/lib/aws/isVirtualHostableS3Bucket.js
+var isVirtualHostableS3Bucket;
+var init_isVirtualHostableS3Bucket = __esm({
+ "../../node_modules/.pnpm/@aws-sdk+core@3.978.4/node_modules/@aws-sdk/core/dist-es/submodules/client/util-endpoints/lib/aws/isVirtualHostableS3Bucket.js"() {
+ init_endpoints();
+ init_isIpAddress();
+ isVirtualHostableS3Bucket = /* @__PURE__ */ __name((value, allowSubDomains = false) => {
+ if (allowSubDomains) {
+ for (const label of value.split(".")) {
+ if (!isVirtualHostableS3Bucket(label)) {
+ return false;
+ }
+ }
+ return true;
+ }
+ if (!isValidHostLabel(value)) {
+ return false;
+ }
+ if (value.length < 3 || value.length > 63) {
+ return false;
+ }
+ if (value !== value.toLowerCase()) {
+ return false;
+ }
+ if (isIpAddress(value)) {
+ return false;
+ }
+ return true;
+ }, "isVirtualHostableS3Bucket");
+ }
+});
+
+// ../../node_modules/.pnpm/@aws-sdk+core@3.978.4/node_modules/@aws-sdk/core/dist-es/submodules/client/util-endpoints/lib/aws/parseArn.js
+var ARN_DELIMITER, RESOURCE_DELIMITER, parseArn;
+var init_parseArn = __esm({
+ "../../node_modules/.pnpm/@aws-sdk+core@3.978.4/node_modules/@aws-sdk/core/dist-es/submodules/client/util-endpoints/lib/aws/parseArn.js"() {
+ ARN_DELIMITER = ":";
+ RESOURCE_DELIMITER = "/";
+ parseArn = /* @__PURE__ */ __name((value) => {
+ const segments = value.split(ARN_DELIMITER);
+ if (segments.length < 6)
+ return null;
+ const [arn, partition2, service, region, accountId, ...resourcePath] = segments;
+ if (arn !== "arn" || partition2 === "" || service === "" || resourcePath.join(ARN_DELIMITER) === "")
+ return null;
+ const resourceId = resourcePath.map((resource) => resource.split(RESOURCE_DELIMITER)).flat();
+ return {
+ partition: partition2,
+ service,
+ region,
+ accountId,
+ resourceId
+ };
+ }, "parseArn");
+ }
+});
+
+// ../../node_modules/.pnpm/@aws-sdk+core@3.978.4/node_modules/@aws-sdk/core/dist-es/submodules/client/util-endpoints/aws.js
+var awsEndpointFunctions;
+var init_aws = __esm({
+ "../../node_modules/.pnpm/@aws-sdk+core@3.978.4/node_modules/@aws-sdk/core/dist-es/submodules/client/util-endpoints/aws.js"() {
+ init_endpoints();
+ init_isVirtualHostableS3Bucket();
+ init_parseArn();
+ init_partition();
+ awsEndpointFunctions = {
+ isVirtualHostableS3Bucket,
+ parseArn,
+ partition
+ };
+ customEndpointFunctions.aws = awsEndpointFunctions;
+ }
+});
+
+// ../../node_modules/.pnpm/@aws-sdk+core@3.978.4/node_modules/@aws-sdk/core/dist-es/submodules/client/util-endpoints/resolveEndpoint.js
+var init_resolveEndpoint = __esm({
+ "../../node_modules/.pnpm/@aws-sdk+core@3.978.4/node_modules/@aws-sdk/core/dist-es/submodules/client/util-endpoints/resolveEndpoint.js"() {
+ init_endpoints();
+ }
+});
+
+// ../../node_modules/.pnpm/@aws-sdk+core@3.978.4/node_modules/@aws-sdk/core/dist-es/submodules/client/util-endpoints/resolveDefaultAwsRegionalEndpointsConfig.js
+var resolveDefaultAwsRegionalEndpointsConfig, toEndpointV1;
+var init_resolveDefaultAwsRegionalEndpointsConfig = __esm({
+ "../../node_modules/.pnpm/@aws-sdk+core@3.978.4/node_modules/@aws-sdk/core/dist-es/submodules/client/util-endpoints/resolveDefaultAwsRegionalEndpointsConfig.js"() {
+ init_protocols();
+ resolveDefaultAwsRegionalEndpointsConfig = /* @__PURE__ */ __name((input2) => {
+ if (typeof input2.endpointProvider !== "function") {
+ throw new Error("@aws-sdk/util-endpoint - endpointProvider and endpoint missing in config for this client.");
+ }
+ const { endpoint } = input2;
+ if (endpoint === void 0) {
+ input2.endpoint = async () => {
+ return toEndpointV1(input2.endpointProvider({
+ Region: typeof input2.region === "function" ? await input2.region() : input2.region,
+ UseDualStack: typeof input2.useDualstackEndpoint === "function" ? await input2.useDualstackEndpoint() : input2.useDualstackEndpoint,
+ UseFIPS: typeof input2.useFipsEndpoint === "function" ? await input2.useFipsEndpoint() : input2.useFipsEndpoint,
+ Endpoint: void 0
+ }, { logger: input2.logger }));
+ };
+ }
+ return input2;
+ }, "resolveDefaultAwsRegionalEndpointsConfig");
+ toEndpointV1 = /* @__PURE__ */ __name((endpoint) => parseUrl(endpoint.url), "toEndpointV1");
+ }
+});
+
+// ../../node_modules/.pnpm/@aws-sdk+core@3.978.4/node_modules/@aws-sdk/core/dist-es/submodules/client/util-endpoints/types/EndpointError.js
+var init_EndpointError = __esm({
+ "../../node_modules/.pnpm/@aws-sdk+core@3.978.4/node_modules/@aws-sdk/core/dist-es/submodules/client/util-endpoints/types/EndpointError.js"() {
+ init_endpoints();
+ }
+});
+
+// ../../node_modules/.pnpm/@aws-sdk+core@3.978.4/node_modules/@aws-sdk/core/dist-es/submodules/client/region-config-resolver/awsRegionConfig.js
+var init_awsRegionConfig = __esm({
+ "../../node_modules/.pnpm/@aws-sdk+core@3.978.4/node_modules/@aws-sdk/core/dist-es/submodules/client/region-config-resolver/awsRegionConfig.js"() {
+ init_config();
+ init_config();
+ }
+});
+
+// ../../node_modules/.pnpm/@aws-sdk+core@3.978.4/node_modules/@aws-sdk/core/dist-es/submodules/client/region-config-resolver/stsRegionDefaultResolver.js
+function stsRegionDefaultResolver(loaderConfig = {}) {
+ return loadConfig({
+ ...NODE_REGION_CONFIG_OPTIONS,
+ async default() {
+ if (!warning.silence) {
+ console.warn("@aws-sdk - WARN - default STS region of us-east-1 used. See @aws-sdk/credential-providers README and set a region explicitly.");
+ }
+ return "us-east-1";
+ }
+ }, { ...NODE_REGION_CONFIG_FILE_OPTIONS, ...loaderConfig });
+}
+var warning;
+var init_stsRegionDefaultResolver = __esm({
+ "../../node_modules/.pnpm/@aws-sdk+core@3.978.4/node_modules/@aws-sdk/core/dist-es/submodules/client/region-config-resolver/stsRegionDefaultResolver.js"() {
+ init_config();
+ __name(stsRegionDefaultResolver, "stsRegionDefaultResolver");
+ warning = {
+ silence: false
+ };
+ }
+});
+
+// ../../node_modules/.pnpm/@aws-sdk+core@3.978.4/node_modules/@aws-sdk/core/dist-es/submodules/client/region-config-resolver/extensions.js
+var getAwsRegionExtensionConfiguration, resolveAwsRegionExtensionConfiguration;
+var init_extensions = __esm({
+ "../../node_modules/.pnpm/@aws-sdk+core@3.978.4/node_modules/@aws-sdk/core/dist-es/submodules/client/region-config-resolver/extensions.js"() {
+ getAwsRegionExtensionConfiguration = /* @__PURE__ */ __name((runtimeConfig) => {
+ return {
+ setRegion(region) {
+ runtimeConfig.region = region;
+ },
+ region() {
+ return runtimeConfig.region;
+ }
+ };
+ }, "getAwsRegionExtensionConfiguration");
+ resolveAwsRegionExtensionConfiguration = /* @__PURE__ */ __name((awsRegionExtensionConfiguration) => {
+ return {
+ region: awsRegionExtensionConfiguration.region()
+ };
+ }, "resolveAwsRegionExtensionConfiguration");
+ }
+});
+
+// ../../node_modules/.pnpm/@aws-sdk+core@3.978.4/node_modules/@aws-sdk/core/dist-es/submodules/client/index.js
+var client_exports2 = {};
+__export(client_exports2, {
+ DEFAULT_UA_APP_ID: () => DEFAULT_UA_APP_ID,
+ EndpointError: () => EndpointError,
+ NODE_APP_ID_CONFIG_OPTIONS: () => NODE_APP_ID_CONFIG_OPTIONS,
+ NODE_REGION_CONFIG_FILE_OPTIONS: () => NODE_REGION_CONFIG_FILE_OPTIONS,
+ NODE_REGION_CONFIG_OPTIONS: () => NODE_REGION_CONFIG_OPTIONS,
+ REGION_ENV_NAME: () => REGION_ENV_NAME,
+ REGION_INI_NAME: () => REGION_INI_NAME,
+ UA_APP_ID_ENV_NAME: () => UA_APP_ID_ENV_NAME,
+ UA_APP_ID_INI_NAME: () => UA_APP_ID_INI_NAME,
+ awsEndpointFunctions: () => awsEndpointFunctions,
+ createDefaultUserAgentProvider: () => createDefaultUserAgentProvider,
+ createUserAgentStringParsingProvider: () => createUserAgentStringParsingProvider,
+ crtAvailability: () => crtAvailability,
+ defaultUserAgent: () => defaultUserAgent,
+ emitWarningIfUnsupportedVersion: () => emitWarningIfUnsupportedVersion2,
+ fallback: () => fallback,
+ getAwsRegionExtensionConfiguration: () => getAwsRegionExtensionConfiguration,
+ getHostHeaderPlugin: () => getHostHeaderPlugin,
+ getLoggerPlugin: () => getLoggerPlugin,
+ getLongPollPlugin: () => getLongPollPlugin,
+ getRecursionDetectionPlugin: () => getRecursionDetectionPlugin,
+ getUserAgentMiddlewareOptions: () => getUserAgentMiddlewareOptions,
+ getUserAgentPlugin: () => getUserAgentPlugin,
+ getUserAgentPrefix: () => getUserAgentPrefix,
+ hostHeaderMiddleware: () => hostHeaderMiddleware,
+ hostHeaderMiddlewareOptions: () => hostHeaderMiddlewareOptions,
+ isIpAddress: () => isIpAddress,
+ isVirtualHostableS3Bucket: () => isVirtualHostableS3Bucket,
+ loggerMiddleware: () => loggerMiddleware,
+ loggerMiddlewareOptions: () => loggerMiddlewareOptions,
+ parseArn: () => parseArn,
+ partition: () => partition,
+ recursionDetectionMiddleware: () => recursionDetectionMiddleware,
+ recursionDetectionMiddlewareOptions: () => recursionDetectionMiddlewareOptions,
+ resolveAwsRegionExtensionConfiguration: () => resolveAwsRegionExtensionConfiguration,
+ resolveDefaultAwsRegionalEndpointsConfig: () => resolveDefaultAwsRegionalEndpointsConfig,
+ resolveEndpoint: () => resolveEndpoint,
+ resolveHostHeaderConfig: () => resolveHostHeaderConfig,
+ resolveRegionConfig: () => resolveRegionConfig,
+ resolveUserAgentConfig: () => resolveUserAgentConfig,
+ setCredentialFeature: () => setCredentialFeature,
+ setFeature: () => setFeature,
+ setPartitionInfo: () => setPartitionInfo,
+ setTokenFeature: () => setTokenFeature,
+ state: () => state,
+ stsRegionDefaultResolver: () => stsRegionDefaultResolver,
+ stsRegionWarning: () => warning,
+ toEndpointV1: () => toEndpointV1,
+ useDefaultPartitionInfo: () => useDefaultPartitionInfo,
+ userAgentMiddleware: () => userAgentMiddleware
+});
+var init_client2 = __esm({
+ "../../node_modules/.pnpm/@aws-sdk+core@3.978.4/node_modules/@aws-sdk/core/dist-es/submodules/client/index.js"() {
+ init_emitWarningIfUnsupportedVersion();
+ init_longPollMiddleware();
+ init_setCredentialFeature();
+ init_setFeature();
+ init_setTokenFeature();
+ init_hostHeaderMiddleware();
+ init_loggerMiddleware();
+ init_configuration();
+ init_getRecursionDetectionPlugin();
+ init_recursionDetectionMiddleware();
+ init_configurations2();
+ init_user_agent_middleware();
+ init_defaultUserAgent();
+ init_nodeAppIdConfigOptions();
+ init_defaultUserAgent2();
+ init_createUserAgentStringParsingProvider();
+ init_aws();
+ init_resolveEndpoint();
+ init_resolveDefaultAwsRegionalEndpointsConfig();
+ init_isIpAddress();
+ init_isVirtualHostableS3Bucket();
+ init_parseArn();
+ init_partition();
+ init_EndpointError();
+ init_awsRegionConfig();
+ init_stsRegionDefaultResolver();
+ init_extensions();
+ }
+});
+
+// ../../node_modules/.pnpm/@aws-sdk+checksums@3.1001.4/node_modules/@aws-sdk/checksums/dist-es/submodules/flexible-checksums/getChecksumAlgorithmForRequest.js
+var getChecksumAlgorithmForRequest;
+var init_getChecksumAlgorithmForRequest = __esm({
+ "../../node_modules/.pnpm/@aws-sdk+checksums@3.1001.4/node_modules/@aws-sdk/checksums/dist-es/submodules/flexible-checksums/getChecksumAlgorithmForRequest.js"() {
+ init_constants();
+ getChecksumAlgorithmForRequest = /* @__PURE__ */ __name((input2, { requestChecksumRequired, requestAlgorithmMember, requestChecksumCalculation }) => {
+ if (!requestAlgorithmMember) {
+ return requestChecksumCalculation === RequestChecksumCalculation.WHEN_SUPPORTED || requestChecksumRequired ? DEFAULT_CHECKSUM_ALGORITHM : void 0;
+ }
+ if (!input2[requestAlgorithmMember]) {
+ return void 0;
+ }
+ const checksumAlgorithm = input2[requestAlgorithmMember];
+ return checksumAlgorithm;
+ }, "getChecksumAlgorithmForRequest");
+ }
+});
+
+// ../../node_modules/.pnpm/@aws-sdk+checksums@3.1001.4/node_modules/@aws-sdk/checksums/dist-es/submodules/flexible-checksums/getChecksumLocationName.js
+var getChecksumLocationName;
+var init_getChecksumLocationName = __esm({
+ "../../node_modules/.pnpm/@aws-sdk+checksums@3.1001.4/node_modules/@aws-sdk/checksums/dist-es/submodules/flexible-checksums/getChecksumLocationName.js"() {
+ init_constants();
+ getChecksumLocationName = /* @__PURE__ */ __name((algorithm) => algorithm === ChecksumAlgorithm.MD5 ? "content-md5" : `x-amz-checksum-${algorithm.toLowerCase()}`, "getChecksumLocationName");
+ }
+});
+
+// ../../node_modules/.pnpm/@aws-sdk+checksums@3.1001.4/node_modules/@aws-sdk/checksums/dist-es/submodules/flexible-checksums/hasHeader.js
+var hasHeader;
+var init_hasHeader = __esm({
+ "../../node_modules/.pnpm/@aws-sdk+checksums@3.1001.4/node_modules/@aws-sdk/checksums/dist-es/submodules/flexible-checksums/hasHeader.js"() {
+ hasHeader = /* @__PURE__ */ __name((header, headers) => {
+ const soughtHeader = header.toLowerCase();
+ for (const headerName of Object.keys(headers)) {
+ if (soughtHeader === headerName.toLowerCase()) {
+ return true;
+ }
+ }
+ return false;
+ }, "hasHeader");
+ }
+});
+
+// ../../node_modules/.pnpm/@aws-sdk+checksums@3.1001.4/node_modules/@aws-sdk/checksums/dist-es/submodules/flexible-checksums/hasHeaderWithPrefix.js
+var hasHeaderWithPrefix;
+var init_hasHeaderWithPrefix = __esm({
+ "../../node_modules/.pnpm/@aws-sdk+checksums@3.1001.4/node_modules/@aws-sdk/checksums/dist-es/submodules/flexible-checksums/hasHeaderWithPrefix.js"() {
+ hasHeaderWithPrefix = /* @__PURE__ */ __name((headerPrefix, headers) => {
+ const soughtHeaderPrefix = headerPrefix.toLowerCase();
+ for (const headerName of Object.keys(headers)) {
+ if (headerName.toLowerCase().startsWith(soughtHeaderPrefix)) {
+ return true;
+ }
+ }
+ return false;
+ }, "hasHeaderWithPrefix");
+ }
+});
+
+// ../../node_modules/.pnpm/@aws-sdk+checksums@3.1001.4/node_modules/@aws-sdk/checksums/dist-es/submodules/flexible-checksums/isStreaming.js
+var isStreaming;
+var init_isStreaming = __esm({
+ "../../node_modules/.pnpm/@aws-sdk+checksums@3.1001.4/node_modules/@aws-sdk/checksums/dist-es/submodules/flexible-checksums/isStreaming.js"() {
+ init_serde();
+ isStreaming = /* @__PURE__ */ __name((body) => body !== void 0 && typeof body !== "string" && !ArrayBuffer.isView(body) && !isArrayBuffer(body), "isStreaming");
+ }
+});
+
+// ../../node_modules/.pnpm/@aws-sdk+checksums@3.1001.4/node_modules/@aws-sdk/checksums/dist-es/submodules/crc/crc32c/Crc32cJs.js
+var T, Crc32cJs;
+var init_Crc32cJs = __esm({
+ "../../node_modules/.pnpm/@aws-sdk+checksums@3.1001.4/node_modules/@aws-sdk/checksums/dist-es/submodules/crc/crc32c/Crc32cJs.js"() {
+ T = new Uint32Array(256);
+ for (let i5 = 0; i5 < 256; ++i5) {
+ let c5 = i5;
+ for (let j5 = 0; j5 < 8; ++j5) {
+ c5 = c5 & 1 ? 2197175160 ^ c5 >>> 1 : c5 >>> 1;
+ }
+ T[i5] = c5 >>> 0;
+ }
+ Crc32cJs = class {
+ static {
+ __name(this, "Crc32cJs");
+ }
+ digestLength = 4;
+ crc = 4294967295;
+ update(data) {
+ let crc = this.crc;
+ for (let i5 = 0; i5 < data.length; ++i5) {
+ crc = crc >>> 8 ^ T[(crc ^ data[i5]) & 255];
+ }
+ this.crc = crc;
+ }
+ async digest() {
+ const value = (this.crc ^ 4294967295) >>> 0;
+ const out = new Uint8Array(4);
+ out[0] = value >>> 24;
+ out[1] = value >>> 16 & 255;
+ out[2] = value >>> 8 & 255;
+ out[3] = value & 255;
+ return out;
+ }
+ reset() {
+ this.crc = 4294967295;
+ }
+ };
+ }
+});
+
+// ../../node_modules/.pnpm/@aws-sdk+checksums@3.1001.4/node_modules/@aws-sdk/checksums/dist-es/submodules/crc/crc32c/Crc32cNode.js
+var Crc32cNode;
+var init_Crc32cNode = __esm({
+ "../../node_modules/.pnpm/@aws-sdk+checksums@3.1001.4/node_modules/@aws-sdk/checksums/dist-es/submodules/crc/crc32c/Crc32cNode.js"() {
+ init_Crc32cJs();
+ Crc32cNode = Crc32cJs;
+ }
+});
+
+// ../../node_modules/.pnpm/@aws-sdk+checksums@3.1001.4/node_modules/@aws-sdk/checksums/dist-es/submodules/crc/crc64-nvme/crc64-nvme-crt-container.js
+var crc64NvmeCrtContainer;
+var init_crc64_nvme_crt_container = __esm({
+ "../../node_modules/.pnpm/@aws-sdk+checksums@3.1001.4/node_modules/@aws-sdk/checksums/dist-es/submodules/crc/crc64-nvme/crc64-nvme-crt-container.js"() {
+ crc64NvmeCrtContainer = {
+ CrtCrc64Nvme: null
+ };
+ }
+});
+
+// ../../node_modules/.pnpm/@aws-sdk+checksums@3.1001.4/node_modules/@aws-sdk/checksums/dist-es/submodules/crc/crc64-nvme/Crc64NvmeJs.js
+var generateCRC64NVMETable, CRC64_NVME_REVERSED_TABLE, t0, t1, t2, t3, t4, t5, t6, t7, ensureTablesInitialized, Crc64NvmeJs;
+var init_Crc64NvmeJs = __esm({
+ "../../node_modules/.pnpm/@aws-sdk+checksums@3.1001.4/node_modules/@aws-sdk/checksums/dist-es/submodules/crc/crc64-nvme/Crc64NvmeJs.js"() {
+ generateCRC64NVMETable = /* @__PURE__ */ __name(() => {
+ const sliceLength = 8;
+ const tables = new Array(sliceLength);
+ for (let slice = 0; slice < sliceLength; slice++) {
+ const table = new Array(512);
+ for (let i5 = 0; i5 < 256; i5++) {
+ let crc = BigInt(i5);
+ for (let j5 = 0; j5 < 8 * (slice + 1); j5++) {
+ if (crc & 1n) {
+ crc = crc >> 1n ^ 0x9a6c9329ac4bc9b5n;
+ } else {
+ crc = crc >> 1n;
+ }
+ }
+ table[i5 * 2] = Number(crc >> 32n & 0xffffffffn);
+ table[i5 * 2 + 1] = Number(crc & 0xffffffffn);
+ }
+ tables[slice] = new Uint32Array(table);
+ }
+ return tables;
+ }, "generateCRC64NVMETable");
+ ensureTablesInitialized = /* @__PURE__ */ __name(() => {
+ if (!CRC64_NVME_REVERSED_TABLE) {
+ CRC64_NVME_REVERSED_TABLE = generateCRC64NVMETable();
+ [t0, t1, t2, t3, t4, t5, t6, t7] = CRC64_NVME_REVERSED_TABLE;
+ }
+ }, "ensureTablesInitialized");
+ Crc64NvmeJs = class {
+ static {
+ __name(this, "Crc64NvmeJs");
+ }
+ c1 = 0;
+ c2 = 0;
+ constructor() {
+ ensureTablesInitialized();
+ this.reset();
+ }
+ update(data) {
+ const len = data.length;
+ let i5 = 0;
+ let crc1 = this.c1;
+ let crc2 = this.c2;
+ while (i5 + 8 <= len) {
+ const idx0 = ((crc2 ^ data[i5++]) & 255) << 1;
+ const idx1 = ((crc2 >>> 8 ^ data[i5++]) & 255) << 1;
+ const idx2 = ((crc2 >>> 16 ^ data[i5++]) & 255) << 1;
+ const idx3 = ((crc2 >>> 24 ^ data[i5++]) & 255) << 1;
+ const idx4 = ((crc1 ^ data[i5++]) & 255) << 1;
+ const idx5 = ((crc1 >>> 8 ^ data[i5++]) & 255) << 1;
+ const idx6 = ((crc1 >>> 16 ^ data[i5++]) & 255) << 1;
+ const idx7 = ((crc1 >>> 24 ^ data[i5++]) & 255) << 1;
+ crc1 = t7[idx0] ^ t6[idx1] ^ t5[idx2] ^ t4[idx3] ^ t3[idx4] ^ t2[idx5] ^ t1[idx6] ^ t0[idx7];
+ crc2 = t7[idx0 + 1] ^ t6[idx1 + 1] ^ t5[idx2 + 1] ^ t4[idx3 + 1] ^ t3[idx4 + 1] ^ t2[idx5 + 1] ^ t1[idx6 + 1] ^ t0[idx7 + 1];
+ }
+ while (i5 < len) {
+ const idx = ((crc2 ^ data[i5]) & 255) << 1;
+ crc2 = (crc2 >>> 8 | (crc1 & 255) << 24) >>> 0;
+ crc1 = crc1 >>> 8 ^ t0[idx];
+ crc2 ^= t0[idx + 1];
+ ++i5;
+ }
+ this.c1 = crc1;
+ this.c2 = crc2;
+ }
+ async digest() {
+ const c1 = this.c1 ^ 4294967295;
+ const c22 = this.c2 ^ 4294967295;
+ return new Uint8Array([
+ c1 >>> 24,
+ c1 >>> 16 & 255,
+ c1 >>> 8 & 255,
+ c1 & 255,
+ c22 >>> 24,
+ c22 >>> 16 & 255,
+ c22 >>> 8 & 255,
+ c22 & 255
+ ]);
+ }
+ reset() {
+ this.c1 = 4294967295;
+ this.c2 = 4294967295;
+ }
+ };
+ }
+});
+
+// ../../node_modules/.pnpm/@aws-sdk+checksums@3.1001.4/node_modules/@aws-sdk/checksums/dist-es/submodules/crc/crc64-nvme/Crc64Nvme.js
+var Crc64Nvme;
+var init_Crc64Nvme = __esm({
+ "../../node_modules/.pnpm/@aws-sdk+checksums@3.1001.4/node_modules/@aws-sdk/checksums/dist-es/submodules/crc/crc64-nvme/Crc64Nvme.js"() {
+ init_crc64_nvme_crt_container();
+ init_Crc64NvmeJs();
+ Crc64Nvme = class {
+ static {
+ __name(this, "Crc64Nvme");
+ }
+ impl;
+ constructor() {
+ const Crt = crc64NvmeCrtContainer.CrtCrc64Nvme;
+ this.impl = Crt ? new Crt() : new Crc64NvmeJs();
+ }
+ update(data) {
+ this.impl.update(data);
+ }
+ async digest() {
+ return this.impl.digest();
+ }
+ reset() {
+ this.impl.reset();
+ }
+ };
+ }
+});
+
+// ../../node_modules/.pnpm/@aws-sdk+checksums@3.1001.4/node_modules/@aws-sdk/checksums/dist-es/submodules/crc/index.js
+var init_crc = __esm({
+ "../../node_modules/.pnpm/@aws-sdk+checksums@3.1001.4/node_modules/@aws-sdk/checksums/dist-es/submodules/crc/index.js"() {
+ init_Crc32cNode();
+ init_Crc64Nvme();
+ init_checksum();
+ }
+});
+
+// ../../node_modules/.pnpm/@aws-sdk+checksums@3.1001.4/node_modules/@aws-sdk/checksums/dist-es/submodules/flexible-checksums/types.js
+var CLIENT_SUPPORTED_ALGORITHMS, PRIORITY_ORDER_ALGORITHMS;
+var init_types = __esm({
+ "../../node_modules/.pnpm/@aws-sdk+checksums@3.1001.4/node_modules/@aws-sdk/checksums/dist-es/submodules/flexible-checksums/types.js"() {
+ init_constants();
+ CLIENT_SUPPORTED_ALGORITHMS = [
+ ChecksumAlgorithm.CRC32,
+ ChecksumAlgorithm.CRC32C,
+ ChecksumAlgorithm.CRC64NVME,
+ ChecksumAlgorithm.SHA1,
+ ChecksumAlgorithm.SHA256
+ ];
+ PRIORITY_ORDER_ALGORITHMS = [
+ ChecksumAlgorithm.SHA256,
+ ChecksumAlgorithm.SHA1,
+ ChecksumAlgorithm.CRC32,
+ ChecksumAlgorithm.CRC32C,
+ ChecksumAlgorithm.CRC64NVME
+ ];
+ }
+});
+
+// ../../node_modules/.pnpm/@aws-sdk+checksums@3.1001.4/node_modules/@aws-sdk/checksums/dist-es/submodules/flexible-checksums/selectChecksumAlgorithmFunction.js
+var selectChecksumAlgorithmFunction;
+var init_selectChecksumAlgorithmFunction = __esm({
+ "../../node_modules/.pnpm/@aws-sdk+checksums@3.1001.4/node_modules/@aws-sdk/checksums/dist-es/submodules/flexible-checksums/selectChecksumAlgorithmFunction.js"() {
+ init_crc();
+ init_constants();
+ init_types();
+ selectChecksumAlgorithmFunction = /* @__PURE__ */ __name((checksumAlgorithm, config3) => {
+ const { checksumAlgorithms = {} } = config3;
+ switch (checksumAlgorithm) {
+ case ChecksumAlgorithm.MD5:
+ return checksumAlgorithms?.MD5 ?? config3.md5;
+ case ChecksumAlgorithm.CRC32:
+ return checksumAlgorithms?.CRC32 ?? Crc32Node;
+ case ChecksumAlgorithm.CRC32C:
+ return checksumAlgorithms?.CRC32C ?? Crc32cNode;
+ case ChecksumAlgorithm.CRC64NVME:
+ return checksumAlgorithms?.CRC64NVME ?? Crc64Nvme;
+ case ChecksumAlgorithm.SHA1:
+ return checksumAlgorithms?.SHA1 ?? config3.sha1;
+ case ChecksumAlgorithm.SHA256:
+ return checksumAlgorithms?.SHA256 ?? config3.sha256;
+ default:
+ if (checksumAlgorithms?.[checksumAlgorithm]) {
+ return checksumAlgorithms[checksumAlgorithm];
+ }
+ throw new Error(`The checksum algorithm "${checksumAlgorithm}" is not supported by the client. Select one of ${CLIENT_SUPPORTED_ALGORITHMS}, or provide an implementation to the client constructor checksums field.`);
+ }
+ }, "selectChecksumAlgorithmFunction");
+ }
+});
+
+// ../../node_modules/.pnpm/@aws-sdk+checksums@3.1001.4/node_modules/@aws-sdk/checksums/dist-es/submodules/flexible-checksums/stringHasher.js
+var stringHasher;
+var init_stringHasher = __esm({
+ "../../node_modules/.pnpm/@aws-sdk+checksums@3.1001.4/node_modules/@aws-sdk/checksums/dist-es/submodules/flexible-checksums/stringHasher.js"() {
+ init_serde();
+ stringHasher = /* @__PURE__ */ __name((checksumAlgorithmFn, body) => {
+ const hash3 = new checksumAlgorithmFn();
+ hash3.update(toUint8Array(body || ""));
+ return hash3.digest();
+ }, "stringHasher");
+ }
+});
+
+// ../../node_modules/.pnpm/@aws-sdk+checksums@3.1001.4/node_modules/@aws-sdk/checksums/dist-es/submodules/flexible-checksums/flexibleChecksumsMiddleware.js
+var flexibleChecksumsMiddlewareOptions, flexibleChecksumsMiddleware;
+var init_flexibleChecksumsMiddleware = __esm({
+ "../../node_modules/.pnpm/@aws-sdk+checksums@3.1001.4/node_modules/@aws-sdk/checksums/dist-es/submodules/flexible-checksums/flexibleChecksumsMiddleware.js"() {
+ init_client2();
+ init_protocols();
+ init_serde();
+ init_constants();
+ init_getChecksumAlgorithmForRequest();
+ init_getChecksumLocationName();
+ init_hasHeader();
+ init_hasHeaderWithPrefix();
+ init_isStreaming();
+ init_selectChecksumAlgorithmFunction();
+ init_stringHasher();
+ flexibleChecksumsMiddlewareOptions = {
+ name: "flexibleChecksumsMiddleware",
+ step: "build",
+ tags: ["BODY_CHECKSUM"],
+ override: true
+ };
+ flexibleChecksumsMiddleware = /* @__PURE__ */ __name((config3, middlewareConfig) => (next, context) => async (args) => {
+ if (!HttpRequest.isInstance(args.request)) {
+ return next(args);
+ }
+ if (hasHeaderWithPrefix("x-amz-checksum-", args.request.headers)) {
+ return next(args);
+ }
+ const { request, input: input2 } = args;
+ const { body: requestBody, headers } = request;
+ const { base64Encoder, streamHasher } = config3;
+ const { requestChecksumRequired, requestAlgorithmMember } = middlewareConfig;
+ const requestChecksumCalculation = await config3.requestChecksumCalculation();
+ const requestAlgorithmMemberName = requestAlgorithmMember?.name;
+ const requestAlgorithmMemberHttpHeader = requestAlgorithmMember?.httpHeader;
+ if (requestAlgorithmMemberName && !input2[requestAlgorithmMemberName]) {
+ if (requestChecksumCalculation === RequestChecksumCalculation.WHEN_SUPPORTED || requestChecksumRequired) {
+ input2[requestAlgorithmMemberName] = DEFAULT_CHECKSUM_ALGORITHM;
+ if (requestAlgorithmMemberHttpHeader) {
+ headers[requestAlgorithmMemberHttpHeader] = DEFAULT_CHECKSUM_ALGORITHM;
+ }
+ }
+ }
+ const checksumAlgorithm = getChecksumAlgorithmForRequest(input2, {
+ requestChecksumRequired,
+ requestAlgorithmMember: requestAlgorithmMember?.name,
+ requestChecksumCalculation
+ });
+ let updatedBody = requestBody;
+ let updatedHeaders = headers;
+ if (checksumAlgorithm) {
+ switch (checksumAlgorithm) {
+ case ChecksumAlgorithm.CRC32:
+ setFeature(context, "FLEXIBLE_CHECKSUMS_REQ_CRC32", "U");
+ break;
+ case ChecksumAlgorithm.CRC32C:
+ setFeature(context, "FLEXIBLE_CHECKSUMS_REQ_CRC32C", "V");
+ break;
+ case ChecksumAlgorithm.CRC64NVME:
+ setFeature(context, "FLEXIBLE_CHECKSUMS_REQ_CRC64", "W");
+ break;
+ case ChecksumAlgorithm.SHA1:
+ setFeature(context, "FLEXIBLE_CHECKSUMS_REQ_SHA1", "X");
+ break;
+ case ChecksumAlgorithm.SHA256:
+ setFeature(context, "FLEXIBLE_CHECKSUMS_REQ_SHA256", "Y");
+ break;
+ }
+ const checksumLocationName = getChecksumLocationName(checksumAlgorithm);
+ const checksumAlgorithmFn = selectChecksumAlgorithmFunction(checksumAlgorithm, config3);
+ if (isStreaming(requestBody)) {
+ const { getAwsChunkedEncodingStream, bodyLengthChecker } = config3;
+ updatedBody = getAwsChunkedEncodingStream(typeof config3.requestStreamBufferSize === "number" && config3.requestStreamBufferSize >= 8 * 1024 ? createBufferedReadable(requestBody, config3.requestStreamBufferSize, context.logger) : requestBody, {
+ base64Encoder,
+ bodyLengthChecker,
+ checksumLocationName,
+ checksumAlgorithmFn,
+ streamHasher
+ });
+ updatedHeaders = {
+ ...headers,
+ "content-encoding": headers["content-encoding"] ? `${headers["content-encoding"]},aws-chunked` : "aws-chunked",
+ "transfer-encoding": "chunked",
+ "x-amz-decoded-content-length": headers["content-length"],
+ "x-amz-content-sha256": "STREAMING-UNSIGNED-PAYLOAD-TRAILER",
+ "x-amz-trailer": checksumLocationName
+ };
+ delete updatedHeaders["content-length"];
+ } else if (!hasHeader(checksumLocationName, headers)) {
+ const rawChecksum = await stringHasher(checksumAlgorithmFn, requestBody);
+ updatedHeaders = {
+ ...headers,
+ [checksumLocationName]: base64Encoder(rawChecksum)
+ };
+ }
+ }
+ try {
+ const result = await next({
+ ...args,
+ request: {
+ ...request,
+ headers: updatedHeaders,
+ body: updatedBody
+ }
+ });
+ return result;
+ } catch (e5) {
+ if (e5 instanceof Error && e5.name === "InvalidChunkSizeError") {
+ try {
+ if (!e5.message.endsWith(".")) {
+ e5.message += ".";
+ }
+ e5.message += " Set [requestStreamBufferSize=number e.g. 65_536] in client constructor to instruct AWS SDK to buffer your input stream.";
+ } catch (ignored) {
+ }
+ }
+ throw e5;
+ }
+ }, "flexibleChecksumsMiddleware");
+ }
+});
+
+// ../../node_modules/.pnpm/@aws-sdk+checksums@3.1001.4/node_modules/@aws-sdk/checksums/dist-es/submodules/flexible-checksums/flexibleChecksumsInputMiddleware.js
+var flexibleChecksumsInputMiddlewareOptions, flexibleChecksumsInputMiddleware;
+var init_flexibleChecksumsInputMiddleware = __esm({
+ "../../node_modules/.pnpm/@aws-sdk+checksums@3.1001.4/node_modules/@aws-sdk/checksums/dist-es/submodules/flexible-checksums/flexibleChecksumsInputMiddleware.js"() {
+ init_client2();
+ init_constants();
+ flexibleChecksumsInputMiddlewareOptions = {
+ name: "flexibleChecksumsInputMiddleware",
+ toMiddleware: "serializerMiddleware",
+ relation: "before",
+ tags: ["BODY_CHECKSUM"],
+ override: true
+ };
+ flexibleChecksumsInputMiddleware = /* @__PURE__ */ __name((config3, middlewareConfig) => (next, context) => async (args) => {
+ const input2 = args.input;
+ const { requestValidationModeMember } = middlewareConfig;
+ const requestChecksumCalculation = await config3.requestChecksumCalculation();
+ const responseChecksumValidation = await config3.responseChecksumValidation();
+ switch (requestChecksumCalculation) {
+ case RequestChecksumCalculation.WHEN_REQUIRED:
+ setFeature(context, "FLEXIBLE_CHECKSUMS_REQ_WHEN_REQUIRED", "a");
+ break;
+ case RequestChecksumCalculation.WHEN_SUPPORTED:
+ setFeature(context, "FLEXIBLE_CHECKSUMS_REQ_WHEN_SUPPORTED", "Z");
+ break;
+ }
+ switch (responseChecksumValidation) {
+ case ResponseChecksumValidation.WHEN_REQUIRED:
+ setFeature(context, "FLEXIBLE_CHECKSUMS_RES_WHEN_REQUIRED", "c");
+ break;
+ case ResponseChecksumValidation.WHEN_SUPPORTED:
+ setFeature(context, "FLEXIBLE_CHECKSUMS_RES_WHEN_SUPPORTED", "b");
+ break;
+ }
+ if (requestValidationModeMember && !input2[requestValidationModeMember]) {
+ if (responseChecksumValidation === ResponseChecksumValidation.WHEN_SUPPORTED) {
+ input2[requestValidationModeMember] = "ENABLED";
+ }
+ }
+ return next(args);
+ }, "flexibleChecksumsInputMiddleware");
+ }
+});
+
+// ../../node_modules/.pnpm/@aws-sdk+checksums@3.1001.4/node_modules/@aws-sdk/checksums/dist-es/submodules/flexible-checksums/getChecksumAlgorithmListForResponse.js
+var getChecksumAlgorithmListForResponse;
+var init_getChecksumAlgorithmListForResponse = __esm({
+ "../../node_modules/.pnpm/@aws-sdk+checksums@3.1001.4/node_modules/@aws-sdk/checksums/dist-es/submodules/flexible-checksums/getChecksumAlgorithmListForResponse.js"() {
+ init_types();
+ getChecksumAlgorithmListForResponse = /* @__PURE__ */ __name((responseAlgorithms = []) => {
+ const validChecksumAlgorithms = [];
+ let i5 = PRIORITY_ORDER_ALGORITHMS.length;
+ for (const algorithm of responseAlgorithms) {
+ const priority = PRIORITY_ORDER_ALGORITHMS.indexOf(algorithm);
+ if (priority !== -1) {
+ validChecksumAlgorithms[priority] = algorithm;
+ } else {
+ validChecksumAlgorithms[i5++] = algorithm;
+ }
+ }
+ return validChecksumAlgorithms.filter(Boolean);
+ }, "getChecksumAlgorithmListForResponse");
+ }
+});
+
+// ../../node_modules/.pnpm/@aws-sdk+checksums@3.1001.4/node_modules/@aws-sdk/checksums/dist-es/submodules/flexible-checksums/isChecksumWithPartNumber.js
+var isChecksumWithPartNumber;
+var init_isChecksumWithPartNumber = __esm({
+ "../../node_modules/.pnpm/@aws-sdk+checksums@3.1001.4/node_modules/@aws-sdk/checksums/dist-es/submodules/flexible-checksums/isChecksumWithPartNumber.js"() {
+ isChecksumWithPartNumber = /* @__PURE__ */ __name((checksum) => {
+ const lastHyphenIndex = checksum.lastIndexOf("-");
+ if (lastHyphenIndex !== -1) {
+ const numberPart = checksum.slice(lastHyphenIndex + 1);
+ if (!numberPart.startsWith("0")) {
+ const number4 = parseInt(numberPart, 10);
+ if (!isNaN(number4) && number4 >= 1 && number4 <= 1e4) {
+ return true;
+ }
+ }
+ }
+ return false;
+ }, "isChecksumWithPartNumber");
+ }
+});
+
+// ../../node_modules/.pnpm/@aws-sdk+checksums@3.1001.4/node_modules/@aws-sdk/checksums/dist-es/submodules/flexible-checksums/getChecksum.js
+var getChecksum;
+var init_getChecksum = __esm({
+ "../../node_modules/.pnpm/@aws-sdk+checksums@3.1001.4/node_modules/@aws-sdk/checksums/dist-es/submodules/flexible-checksums/getChecksum.js"() {
+ init_stringHasher();
+ getChecksum = /* @__PURE__ */ __name(async (body, { checksumAlgorithmFn, base64Encoder }) => base64Encoder(await stringHasher(checksumAlgorithmFn, body)), "getChecksum");
+ }
+});
+
+// ../../node_modules/.pnpm/@aws-sdk+checksums@3.1001.4/node_modules/@aws-sdk/checksums/dist-es/submodules/flexible-checksums/validateChecksumFromResponse.js
+var validateChecksumFromResponse;
+var init_validateChecksumFromResponse = __esm({
+ "../../node_modules/.pnpm/@aws-sdk+checksums@3.1001.4/node_modules/@aws-sdk/checksums/dist-es/submodules/flexible-checksums/validateChecksumFromResponse.js"() {
+ init_serde();
+ init_constants();
+ init_getChecksum();
+ init_getChecksumAlgorithmListForResponse();
+ init_getChecksumLocationName();
+ init_isStreaming();
+ init_selectChecksumAlgorithmFunction();
+ validateChecksumFromResponse = /* @__PURE__ */ __name(async (response, { config: config3, responseAlgorithms, logger }) => {
+ const checksumAlgorithms = getChecksumAlgorithmListForResponse(responseAlgorithms);
+ const { body: responseBody, headers: responseHeaders } = response;
+ for (const algorithm of checksumAlgorithms) {
+ const responseHeader = getChecksumLocationName(algorithm);
+ const checksumFromResponse = responseHeaders[responseHeader];
+ if (checksumFromResponse) {
+ let checksumAlgorithmFn;
+ try {
+ checksumAlgorithmFn = selectChecksumAlgorithmFunction(algorithm, config3);
+ } catch (error62) {
+ if (algorithm === ChecksumAlgorithm.CRC64NVME) {
+ logger?.warn(`Skipping ${ChecksumAlgorithm.CRC64NVME} checksum validation: ${error62.message}`);
+ continue;
+ }
+ throw error62;
+ }
+ const { base64Encoder } = config3;
+ if (isStreaming(responseBody)) {
+ response.body = createChecksumStream({
+ expectedChecksum: checksumFromResponse,
+ checksumSourceLocation: responseHeader,
+ checksum: new checksumAlgorithmFn(),
+ source: responseBody,
+ base64Encoder
+ });
+ return;
+ }
+ const checksum = await getChecksum(responseBody, { checksumAlgorithmFn, base64Encoder });
+ if (checksum === checksumFromResponse) {
+ break;
+ }
+ throw new Error(`Checksum mismatch: expected "${checksum}" but received "${checksumFromResponse}" in response header "${responseHeader}".`);
+ }
+ }
+ }, "validateChecksumFromResponse");
+ }
+});
+
+// ../../node_modules/.pnpm/@aws-sdk+checksums@3.1001.4/node_modules/@aws-sdk/checksums/dist-es/submodules/flexible-checksums/flexibleChecksumsResponseMiddleware.js
+var flexibleChecksumsResponseMiddlewareOptions, flexibleChecksumsResponseMiddleware;
+var init_flexibleChecksumsResponseMiddleware = __esm({
+ "../../node_modules/.pnpm/@aws-sdk+checksums@3.1001.4/node_modules/@aws-sdk/checksums/dist-es/submodules/flexible-checksums/flexibleChecksumsResponseMiddleware.js"() {
+ init_protocols();
+ init_getChecksumAlgorithmListForResponse();
+ init_getChecksumLocationName();
+ init_isChecksumWithPartNumber();
+ init_validateChecksumFromResponse();
+ flexibleChecksumsResponseMiddlewareOptions = {
+ name: "flexibleChecksumsResponseMiddleware",
+ toMiddleware: "deserializerMiddleware",
+ relation: "after",
+ tags: ["BODY_CHECKSUM"],
+ override: true
+ };
+ flexibleChecksumsResponseMiddleware = /* @__PURE__ */ __name((config3, middlewareConfig) => (next, context) => async (args) => {
+ if (!HttpRequest.isInstance(args.request)) {
+ return next(args);
+ }
+ const input2 = args.input;
+ const result = await next(args);
+ const response = result.response;
+ const { requestValidationModeMember, responseAlgorithms } = middlewareConfig;
+ if (requestValidationModeMember && input2[requestValidationModeMember] === "ENABLED") {
+ const { clientName, commandName } = context;
+ const customChecksumAlgorithms = Object.keys(config3.checksumAlgorithms ?? {}).filter((algorithm) => {
+ const responseHeader = getChecksumLocationName(algorithm);
+ return response.headers[responseHeader] !== void 0;
+ });
+ const algoList = getChecksumAlgorithmListForResponse([
+ ...responseAlgorithms ?? [],
+ ...customChecksumAlgorithms
+ ]);
+ const isS3WholeObjectMultipartGetResponseChecksum = clientName === "S3Client" && commandName === "GetObjectCommand" && algoList.every((algorithm) => {
+ const responseHeader = getChecksumLocationName(algorithm);
+ const checksumFromResponse = response.headers[responseHeader];
+ return !checksumFromResponse || isChecksumWithPartNumber(checksumFromResponse);
+ });
+ if (isS3WholeObjectMultipartGetResponseChecksum) {
+ return result;
+ }
+ await validateChecksumFromResponse(response, {
+ config: config3,
+ responseAlgorithms: algoList,
+ logger: context.logger
+ });
+ }
+ return result;
+ }, "flexibleChecksumsResponseMiddleware");
+ }
+});
+
+// ../../node_modules/.pnpm/@aws-sdk+checksums@3.1001.4/node_modules/@aws-sdk/checksums/dist-es/submodules/flexible-checksums/getFlexibleChecksumsPlugin.js
+var getFlexibleChecksumsPlugin;
+var init_getFlexibleChecksumsPlugin = __esm({
+ "../../node_modules/.pnpm/@aws-sdk+checksums@3.1001.4/node_modules/@aws-sdk/checksums/dist-es/submodules/flexible-checksums/getFlexibleChecksumsPlugin.js"() {
+ init_flexibleChecksumsInputMiddleware();
+ init_flexibleChecksumsMiddleware();
+ init_flexibleChecksumsResponseMiddleware();
+ getFlexibleChecksumsPlugin = /* @__PURE__ */ __name((config3, middlewareConfig) => ({
+ applyToStack: /* @__PURE__ */ __name((clientStack) => {
+ clientStack.add(flexibleChecksumsMiddleware(config3, middlewareConfig), flexibleChecksumsMiddlewareOptions);
+ clientStack.addRelativeTo(flexibleChecksumsInputMiddleware(config3, middlewareConfig), flexibleChecksumsInputMiddlewareOptions);
+ clientStack.addRelativeTo(flexibleChecksumsResponseMiddleware(config3, middlewareConfig), flexibleChecksumsResponseMiddlewareOptions);
+ }, "applyToStack")
+ }), "getFlexibleChecksumsPlugin");
+ }
+});
+
+// ../../node_modules/.pnpm/@aws-sdk+checksums@3.1001.4/node_modules/@aws-sdk/checksums/dist-es/submodules/flexible-checksums/resolveFlexibleChecksumsConfig.js
+var resolveFlexibleChecksumsConfig;
+var init_resolveFlexibleChecksumsConfig = __esm({
+ "../../node_modules/.pnpm/@aws-sdk+checksums@3.1001.4/node_modules/@aws-sdk/checksums/dist-es/submodules/flexible-checksums/resolveFlexibleChecksumsConfig.js"() {
+ init_client();
+ init_constants();
+ resolveFlexibleChecksumsConfig = /* @__PURE__ */ __name((input2) => {
+ const { requestChecksumCalculation, responseChecksumValidation, requestStreamBufferSize } = input2;
+ return Object.assign(input2, {
+ requestChecksumCalculation: normalizeProvider(requestChecksumCalculation ?? DEFAULT_REQUEST_CHECKSUM_CALCULATION),
+ responseChecksumValidation: normalizeProvider(responseChecksumValidation ?? DEFAULT_RESPONSE_CHECKSUM_VALIDATION),
+ requestStreamBufferSize: Number(requestStreamBufferSize ?? 0),
+ checksumAlgorithms: input2.checksumAlgorithms ?? {}
+ });
+ }, "resolveFlexibleChecksumsConfig");
+ }
+});
+
+// ../../node_modules/.pnpm/@aws-sdk+checksums@3.1001.4/node_modules/@aws-sdk/checksums/dist-es/submodules/flexible-checksums/index.js
+var flexible_checksums_exports = {};
+__export(flexible_checksums_exports, {
+ CONFIG_REQUEST_CHECKSUM_CALCULATION: () => CONFIG_REQUEST_CHECKSUM_CALCULATION,
+ CONFIG_RESPONSE_CHECKSUM_VALIDATION: () => CONFIG_RESPONSE_CHECKSUM_VALIDATION,
+ ChecksumAlgorithm: () => ChecksumAlgorithm,
+ ChecksumLocation: () => ChecksumLocation,
+ DEFAULT_CHECKSUM_ALGORITHM: () => DEFAULT_CHECKSUM_ALGORITHM,
+ DEFAULT_REQUEST_CHECKSUM_CALCULATION: () => DEFAULT_REQUEST_CHECKSUM_CALCULATION,
+ DEFAULT_RESPONSE_CHECKSUM_VALIDATION: () => DEFAULT_RESPONSE_CHECKSUM_VALIDATION,
+ ENV_REQUEST_CHECKSUM_CALCULATION: () => ENV_REQUEST_CHECKSUM_CALCULATION,
+ ENV_RESPONSE_CHECKSUM_VALIDATION: () => ENV_RESPONSE_CHECKSUM_VALIDATION,
+ NODE_REQUEST_CHECKSUM_CALCULATION_CONFIG_OPTIONS: () => NODE_REQUEST_CHECKSUM_CALCULATION_CONFIG_OPTIONS,
+ NODE_RESPONSE_CHECKSUM_VALIDATION_CONFIG_OPTIONS: () => NODE_RESPONSE_CHECKSUM_VALIDATION_CONFIG_OPTIONS,
+ RequestChecksumCalculation: () => RequestChecksumCalculation,
+ ResponseChecksumValidation: () => ResponseChecksumValidation,
+ flexibleChecksumsMiddleware: () => flexibleChecksumsMiddleware,
+ flexibleChecksumsMiddlewareOptions: () => flexibleChecksumsMiddlewareOptions,
+ getFlexibleChecksumsPlugin: () => getFlexibleChecksumsPlugin,
+ resolveFlexibleChecksumsConfig: () => resolveFlexibleChecksumsConfig
+});
+var init_flexible_checksums = __esm({
+ "../../node_modules/.pnpm/@aws-sdk+checksums@3.1001.4/node_modules/@aws-sdk/checksums/dist-es/submodules/flexible-checksums/index.js"() {
+ init_NODE_REQUEST_CHECKSUM_CALCULATION_CONFIG_OPTIONS();
+ init_NODE_RESPONSE_CHECKSUM_VALIDATION_CONFIG_OPTIONS();
+ init_constants();
+ init_flexibleChecksumsMiddleware();
+ init_getFlexibleChecksumsPlugin();
+ init_resolveFlexibleChecksumsConfig();
+ }
+});
+
+// ../../node_modules/.pnpm/@aws-sdk+middleware-sdk-s3@3.972.80/node_modules/@aws-sdk/middleware-sdk-s3/dist-es/submodules/s3/middleware-check-content-length-header/check-content-length-header.js
+function checkContentLengthHeader() {
+ return (next, context) => async (args) => {
+ const { request } = args;
+ if (HttpRequest.isInstance(request)) {
+ if (!(CONTENT_LENGTH_HEADER2 in request.headers) && !(DECODED_CONTENT_LENGTH_HEADER in request.headers)) {
+ const message = `Are you using a Stream of unknown length as the Body of a PutObject request? Consider using Upload instead from @aws-sdk/lib-storage.`;
+ if (typeof context?.logger?.warn === "function" && !(context.logger instanceof NoOpLogger)) {
+ context.logger.warn(message);
+ } else {
+ console.warn(message);
+ }
+ }
+ }
+ return next({ ...args });
+ };
+}
+var CONTENT_LENGTH_HEADER2, DECODED_CONTENT_LENGTH_HEADER, checkContentLengthHeaderMiddlewareOptions, getCheckContentLengthHeaderPlugin;
+var init_check_content_length_header = __esm({
+ "../../node_modules/.pnpm/@aws-sdk+middleware-sdk-s3@3.972.80/node_modules/@aws-sdk/middleware-sdk-s3/dist-es/submodules/s3/middleware-check-content-length-header/check-content-length-header.js"() {
+ init_client();
+ init_protocols();
+ CONTENT_LENGTH_HEADER2 = "content-length";
+ DECODED_CONTENT_LENGTH_HEADER = "x-amz-decoded-content-length";
+ __name(checkContentLengthHeader, "checkContentLengthHeader");
+ checkContentLengthHeaderMiddlewareOptions = {
+ step: "finalizeRequest",
+ tags: ["CHECK_CONTENT_LENGTH_HEADER"],
+ name: "getCheckContentLengthHeaderPlugin",
+ override: true
+ };
+ getCheckContentLengthHeaderPlugin = /* @__PURE__ */ __name((unused) => ({
+ applyToStack: /* @__PURE__ */ __name((clientStack) => {
+ clientStack.add(checkContentLengthHeader(), checkContentLengthHeaderMiddlewareOptions);
+ }, "applyToStack")
+ }), "getCheckContentLengthHeaderPlugin");
+ }
+});
+
+// ../../node_modules/.pnpm/@aws-sdk+middleware-sdk-s3@3.972.80/node_modules/@aws-sdk/middleware-sdk-s3/dist-es/submodules/s3/middleware-region-redirect/region-redirect-endpoint-middleware.js
+var regionRedirectEndpointMiddleware, regionRedirectEndpointMiddlewareOptions;
+var init_region_redirect_endpoint_middleware = __esm({
+ "../../node_modules/.pnpm/@aws-sdk+middleware-sdk-s3@3.972.80/node_modules/@aws-sdk/middleware-sdk-s3/dist-es/submodules/s3/middleware-region-redirect/region-redirect-endpoint-middleware.js"() {
+ regionRedirectEndpointMiddleware = /* @__PURE__ */ __name((config3) => {
+ return (next, context) => async (args) => {
+ const originalRegion = await config3.region();
+ const regionProviderRef = config3.region;
+ let unlock = /* @__PURE__ */ __name(() => {
+ }, "unlock");
+ if (context.__s3RegionRedirect) {
+ Object.defineProperty(config3, "region", {
+ writable: false,
+ value: /* @__PURE__ */ __name(async () => {
+ return context.__s3RegionRedirect;
+ }, "value")
+ });
+ unlock = /* @__PURE__ */ __name(() => Object.defineProperty(config3, "region", {
+ writable: true,
+ value: regionProviderRef
+ }), "unlock");
+ }
+ try {
+ const result = await next(args);
+ if (context.__s3RegionRedirect) {
+ unlock();
+ const region = await config3.region();
+ if (originalRegion !== region) {
+ throw new Error("Region was not restored following S3 region redirect.");
+ }
+ }
+ return result;
+ } catch (e5) {
+ unlock();
+ throw e5;
+ }
+ };
+ }, "regionRedirectEndpointMiddleware");
+ regionRedirectEndpointMiddlewareOptions = {
+ tags: ["REGION_REDIRECT", "S3"],
+ name: "regionRedirectEndpointMiddleware",
+ override: true,
+ relation: "before",
+ toMiddleware: "endpointV2Middleware"
+ };
+ }
+});
+
+// ../../node_modules/.pnpm/@aws-sdk+middleware-sdk-s3@3.972.80/node_modules/@aws-sdk/middleware-sdk-s3/dist-es/submodules/s3/middleware-region-redirect/region-redirect-middleware.js
+function regionRedirectMiddleware(clientConfig) {
+ return (next, context) => async (args) => {
+ try {
+ return await next(args);
+ } catch (err) {
+ if (clientConfig.followRegionRedirects) {
+ const statusCode = err?.$metadata?.httpStatusCode;
+ const isHeadBucket = context.commandName === "HeadBucketCommand";
+ const bucketRegionHeader = err?.$response?.headers?.["x-amz-bucket-region"];
+ if (bucketRegionHeader) {
+ if (statusCode === 301 || statusCode === 400 && (err?.name === "IllegalLocationConstraintException" || isHeadBucket)) {
+ try {
+ const actualRegion = bucketRegionHeader;
+ context.logger?.debug(`Redirecting from ${await clientConfig.region()} to ${actualRegion}`);
+ context.__s3RegionRedirect = actualRegion;
+ setFeature(context, "S3_REGION_REDIRECT", "Ah");
+ } catch (e5) {
+ throw new Error("Region redirect failed: " + e5);
+ }
+ return next(args);
+ }
+ }
+ }
+ throw err;
+ }
+ };
+}
+var regionRedirectMiddlewareOptions, getRegionRedirectMiddlewarePlugin;
+var init_region_redirect_middleware = __esm({
+ "../../node_modules/.pnpm/@aws-sdk+middleware-sdk-s3@3.972.80/node_modules/@aws-sdk/middleware-sdk-s3/dist-es/submodules/s3/middleware-region-redirect/region-redirect-middleware.js"() {
+ init_client2();
+ init_region_redirect_endpoint_middleware();
+ __name(regionRedirectMiddleware, "regionRedirectMiddleware");
+ regionRedirectMiddlewareOptions = {
+ step: "initialize",
+ tags: ["REGION_REDIRECT", "S3"],
+ name: "regionRedirectMiddleware",
+ override: true
+ };
+ getRegionRedirectMiddlewarePlugin = /* @__PURE__ */ __name((clientConfig) => ({
+ applyToStack: /* @__PURE__ */ __name((clientStack) => {
+ clientStack.add(regionRedirectMiddleware(clientConfig), regionRedirectMiddlewareOptions);
+ clientStack.addRelativeTo(regionRedirectEndpointMiddleware(clientConfig), regionRedirectEndpointMiddlewareOptions);
+ }, "applyToStack")
+ }), "getRegionRedirectMiddlewarePlugin");
+ }
+});
+
+// ../../node_modules/.pnpm/@aws-sdk+middleware-sdk-s3@3.972.80/node_modules/@aws-sdk/middleware-sdk-s3/dist-es/submodules/s3/middleware-s3-express/classes/S3ExpressIdentityCache.js
+var S3ExpressIdentityCache;
+var init_S3ExpressIdentityCache = __esm({
+ "../../node_modules/.pnpm/@aws-sdk+middleware-sdk-s3@3.972.80/node_modules/@aws-sdk/middleware-sdk-s3/dist-es/submodules/s3/middleware-s3-express/classes/S3ExpressIdentityCache.js"() {
+ S3ExpressIdentityCache = class _S3ExpressIdentityCache {
+ static {
+ __name(this, "S3ExpressIdentityCache");
+ }
+ data;
+ lastPurgeTime = Date.now();
+ static EXPIRED_CREDENTIAL_PURGE_INTERVAL_MS = 3e4;
+ constructor(data = {}) {
+ this.data = data;
+ }
+ get(key) {
+ const entry = this.data[key];
+ if (!entry) {
+ return;
+ }
+ return entry;
+ }
+ set(key, entry) {
+ this.data[key] = entry;
+ return entry;
+ }
+ delete(key) {
+ delete this.data[key];
+ }
+ async purgeExpired() {
+ const now = Date.now();
+ if (this.lastPurgeTime + _S3ExpressIdentityCache.EXPIRED_CREDENTIAL_PURGE_INTERVAL_MS > now) {
+ return;
+ }
+ for (const key in this.data) {
+ const entry = this.data[key];
+ if (!entry.isRefreshing) {
+ const credential = await entry.identity;
+ if (credential.expiration) {
+ if (credential.expiration.getTime() < now) {
+ delete this.data[key];
+ }
+ }
+ }
+ }
+ }
+ };
+ }
+});
+
+// ../../node_modules/.pnpm/@aws-sdk+middleware-sdk-s3@3.972.80/node_modules/@aws-sdk/middleware-sdk-s3/dist-es/submodules/s3/middleware-s3-express/classes/S3ExpressIdentityCacheEntry.js
+var S3ExpressIdentityCacheEntry;
+var init_S3ExpressIdentityCacheEntry = __esm({
+ "../../node_modules/.pnpm/@aws-sdk+middleware-sdk-s3@3.972.80/node_modules/@aws-sdk/middleware-sdk-s3/dist-es/submodules/s3/middleware-s3-express/classes/S3ExpressIdentityCacheEntry.js"() {
+ S3ExpressIdentityCacheEntry = class {
+ static {
+ __name(this, "S3ExpressIdentityCacheEntry");
+ }
+ _identity;
+ isRefreshing;
+ accessed;
+ constructor(_identity, isRefreshing = false, accessed = Date.now()) {
+ this._identity = _identity;
+ this.isRefreshing = isRefreshing;
+ this.accessed = accessed;
+ }
+ get identity() {
+ this.accessed = Date.now();
+ return this._identity;
+ }
+ };
+ }
+});
+
+// ../../node_modules/.pnpm/@aws-sdk+middleware-sdk-s3@3.972.80/node_modules/@aws-sdk/middleware-sdk-s3/dist-es/submodules/s3/middleware-s3-express/classes/S3ExpressIdentityProviderImpl.js
+var S3ExpressIdentityProviderImpl;
+var init_S3ExpressIdentityProviderImpl = __esm({
+ "../../node_modules/.pnpm/@aws-sdk+middleware-sdk-s3@3.972.80/node_modules/@aws-sdk/middleware-sdk-s3/dist-es/submodules/s3/middleware-s3-express/classes/S3ExpressIdentityProviderImpl.js"() {
+ init_S3ExpressIdentityCache();
+ init_S3ExpressIdentityCacheEntry();
+ S3ExpressIdentityProviderImpl = class _S3ExpressIdentityProviderImpl {
+ static {
+ __name(this, "S3ExpressIdentityProviderImpl");
+ }
+ createSessionFn;
+ cache;
+ static REFRESH_WINDOW_MS = 6e4;
+ constructor(createSessionFn, cache5 = new S3ExpressIdentityCache()) {
+ this.createSessionFn = createSessionFn;
+ this.cache = cache5;
+ }
+ async getS3ExpressIdentity(awsIdentity, identityProperties) {
+ const key = identityProperties.Bucket;
+ const { cache: cache5 } = this;
+ const entry = cache5.get(key);
+ if (entry) {
+ return entry.identity.then((identity) => {
+ const isExpired = (identity.expiration?.getTime() ?? 0) < Date.now();
+ if (isExpired) {
+ return cache5.set(key, new S3ExpressIdentityCacheEntry(this.getIdentity(key))).identity;
+ }
+ const isExpiringSoon = (identity.expiration?.getTime() ?? 0) < Date.now() + _S3ExpressIdentityProviderImpl.REFRESH_WINDOW_MS;
+ if (isExpiringSoon && !entry.isRefreshing) {
+ entry.isRefreshing = true;
+ this.getIdentity(key).then((id) => {
+ cache5.set(key, new S3ExpressIdentityCacheEntry(Promise.resolve(id)));
+ });
+ }
+ return identity;
+ });
+ }
+ return cache5.set(key, new S3ExpressIdentityCacheEntry(this.getIdentity(key))).identity;
+ }
+ async getIdentity(key) {
+ await this.cache.purgeExpired().catch((error62) => {
+ console.warn("Error while clearing expired entries in S3ExpressIdentityCache: \n" + error62);
+ });
+ const session = await this.createSessionFn(key);
+ if (!session.Credentials?.AccessKeyId || !session.Credentials?.SecretAccessKey) {
+ throw new Error("s3#createSession response credential missing AccessKeyId or SecretAccessKey.");
+ }
+ const identity = {
+ accessKeyId: session.Credentials.AccessKeyId,
+ secretAccessKey: session.Credentials.SecretAccessKey,
+ sessionToken: session.Credentials.SessionToken,
+ expiration: session.Credentials.Expiration ? new Date(session.Credentials.Expiration) : void 0
+ };
+ return identity;
+ }
+ };
+ }
+});
+
+// ../../node_modules/.pnpm/@aws-sdk+middleware-sdk-s3@3.972.80/node_modules/@aws-sdk/middleware-sdk-s3/dist-es/submodules/s3/middleware-s3-configuration/s3Configuration.js
+var resolveS3Config;
+var init_s3Configuration = __esm({
+ "../../node_modules/.pnpm/@aws-sdk+middleware-sdk-s3@3.972.80/node_modules/@aws-sdk/middleware-sdk-s3/dist-es/submodules/s3/middleware-s3-configuration/s3Configuration.js"() {
+ init_S3ExpressIdentityProviderImpl();
+ resolveS3Config = /* @__PURE__ */ __name((input2, { session }) => {
+ const [s3ClientProvider, CreateSessionCommandCtor] = session;
+ const { forcePathStyle, useAccelerateEndpoint, disableMultiregionAccessPoints, followRegionRedirects, s3ExpressIdentityProvider, bucketEndpoint, expectContinueHeader } = input2;
+ return Object.assign(input2, {
+ forcePathStyle: forcePathStyle ?? false,
+ useAccelerateEndpoint: useAccelerateEndpoint ?? false,
+ disableMultiregionAccessPoints: disableMultiregionAccessPoints ?? false,
+ followRegionRedirects: followRegionRedirects ?? false,
+ s3ExpressIdentityProvider: s3ExpressIdentityProvider ?? new S3ExpressIdentityProviderImpl(async (key) => s3ClientProvider().send(new CreateSessionCommandCtor({
+ Bucket: key
+ }))),
+ bucketEndpoint: bucketEndpoint ?? false,
+ expectContinueHeader: expectContinueHeader ?? 2097152
+ });
+ }, "resolveS3Config");
+ }
+});
+
+// ../../node_modules/.pnpm/@aws-sdk+middleware-sdk-s3@3.972.80/node_modules/@aws-sdk/middleware-sdk-s3/dist-es/submodules/s3/middleware-s3-expires/s3-expires-middleware.js
+var s3ExpiresMiddleware, s3ExpiresMiddlewareOptions, getS3ExpiresMiddlewarePlugin;
+var init_s3_expires_middleware = __esm({
+ "../../node_modules/.pnpm/@aws-sdk+middleware-sdk-s3@3.972.80/node_modules/@aws-sdk/middleware-sdk-s3/dist-es/submodules/s3/middleware-s3-expires/s3-expires-middleware.js"() {
+ init_protocols();
+ init_serde();
+ s3ExpiresMiddleware = /* @__PURE__ */ __name((config3) => {
+ return (next, context) => async (args) => {
+ const result = await next(args);
+ const { response } = result;
+ if (HttpResponse.isInstance(response)) {
+ if (response.headers.expires) {
+ response.headers.expiresstring = response.headers.expires;
+ try {
+ parseRfc7231DateTime(response.headers.expires);
+ } catch (e5) {
+ context.logger?.warn(`AWS SDK Warning for ${context.clientName}::${context.commandName} response parsing (${response.headers.expires}): ${e5}`);
+ delete response.headers.expires;
+ }
+ }
+ }
+ return result;
+ };
+ }, "s3ExpiresMiddleware");
+ s3ExpiresMiddlewareOptions = {
+ tags: ["S3"],
+ name: "s3ExpiresMiddleware",
+ override: true,
+ relation: "after",
+ toMiddleware: "deserializerMiddleware"
+ };
+ getS3ExpiresMiddlewarePlugin = /* @__PURE__ */ __name((clientConfig) => ({
+ applyToStack: /* @__PURE__ */ __name((clientStack) => {
+ clientStack.addRelativeTo(s3ExpiresMiddleware(clientConfig), s3ExpiresMiddlewareOptions);
+ }, "applyToStack")
+ }), "getS3ExpiresMiddlewarePlugin");
+ }
+});
+
+// ../../node_modules/.pnpm/@smithy+signature-v4@5.7.4/node_modules/@smithy/signature-v4/dist-cjs/index.js
+var require_dist_cjs2 = __commonJS({
+ "../../node_modules/.pnpm/@smithy+signature-v4@5.7.4/node_modules/@smithy/signature-v4/dist-cjs/index.js"(exports) {
+ var { hasOwn: hasOwn2, fromUtf8: fromUtf82, fromHex, toHex, toUint8Array: toUint8Array2, isArrayBuffer: isArrayBuffer2 } = (init_serde(), __toCommonJS(serde_exports));
+ var { normalizeProvider: normalizeProvider3 } = (init_client(), __toCommonJS(client_exports));
+ var { escapeUri: escapeUri2, HttpRequest: HttpRequest2 } = (init_protocols(), __toCommonJS(protocols_exports));
+ var HeaderFormatter = class {
+ static {
+ __name(this, "HeaderFormatter");
+ }
+ format(headers) {
+ const chunks = [];
+ for (const headerName in headers) {
+ if (!hasOwn2(headers, headerName))
+ continue;
+ const bytes = fromUtf82(headerName);
+ chunks.push(Uint8Array.from([bytes.byteLength]), bytes, this.formatHeaderValue(headers[headerName]));
+ }
+ const out = new Uint8Array(chunks.reduce((carry, bytes) => carry + bytes.byteLength, 0));
+ let position = 0;
+ for (const chunk of chunks) {
+ out.set(chunk, position);
+ position += chunk.byteLength;
+ }
+ return out;
+ }
+ formatHeaderValue(header) {
+ switch (header.type) {
+ case "boolean":
+ return Uint8Array.from([header.value ? 0 : 1]);
+ case "byte":
+ return Uint8Array.from([2, header.value]);
+ case "short":
+ const shortView = new DataView(new ArrayBuffer(3));
+ shortView.setUint8(0, 3);
+ shortView.setInt16(1, header.value, false);
+ return new Uint8Array(shortView.buffer);
+ case "integer":
+ const intView = new DataView(new ArrayBuffer(5));
+ intView.setUint8(0, 4);
+ intView.setInt32(1, header.value, false);
+ return new Uint8Array(intView.buffer);
+ case "long":
+ const longBytes = new Uint8Array(9);
+ longBytes[0] = 5;
+ longBytes.set(header.value.bytes, 1);
+ return longBytes;
+ case "binary":
+ const binView = new DataView(new ArrayBuffer(3 + header.value.byteLength));
+ binView.setUint8(0, 6);
+ binView.setUint16(1, header.value.byteLength, false);
+ const binBytes = new Uint8Array(binView.buffer);
+ binBytes.set(header.value, 3);
+ return binBytes;
+ case "string":
+ const utf8Bytes = fromUtf82(header.value);
+ const strView = new DataView(new ArrayBuffer(3 + utf8Bytes.byteLength));
+ strView.setUint8(0, 7);
+ strView.setUint16(1, utf8Bytes.byteLength, false);
+ const strBytes = new Uint8Array(strView.buffer);
+ strBytes.set(utf8Bytes, 3);
+ return strBytes;
+ case "timestamp":
+ const tsBytes = new Uint8Array(9);
+ tsBytes[0] = 8;
+ tsBytes.set(Int64.fromNumber(header.value.valueOf()).bytes, 1);
+ return tsBytes;
+ case "uuid":
+ if (!UUID_PATTERN.test(header.value)) {
+ throw new Error(`Invalid UUID received: ${header.value}`);
+ }
+ const uuidBytes = new Uint8Array(17);
+ uuidBytes[0] = 9;
+ uuidBytes.set(fromHex(header.value.replace(/-/g, "")), 1);
+ return uuidBytes;
+ }
+ }
+ };
+ var HEADER_VALUE_TYPE;
+ (function(HEADER_VALUE_TYPE2) {
+ HEADER_VALUE_TYPE2[HEADER_VALUE_TYPE2["boolTrue"] = 0] = "boolTrue";
+ HEADER_VALUE_TYPE2[HEADER_VALUE_TYPE2["boolFalse"] = 1] = "boolFalse";
+ HEADER_VALUE_TYPE2[HEADER_VALUE_TYPE2["byte"] = 2] = "byte";
+ HEADER_VALUE_TYPE2[HEADER_VALUE_TYPE2["short"] = 3] = "short";
+ HEADER_VALUE_TYPE2[HEADER_VALUE_TYPE2["integer"] = 4] = "integer";
+ HEADER_VALUE_TYPE2[HEADER_VALUE_TYPE2["long"] = 5] = "long";
+ HEADER_VALUE_TYPE2[HEADER_VALUE_TYPE2["byteArray"] = 6] = "byteArray";
+ HEADER_VALUE_TYPE2[HEADER_VALUE_TYPE2["string"] = 7] = "string";
+ HEADER_VALUE_TYPE2[HEADER_VALUE_TYPE2["timestamp"] = 8] = "timestamp";
+ HEADER_VALUE_TYPE2[HEADER_VALUE_TYPE2["uuid"] = 9] = "uuid";
+ })(HEADER_VALUE_TYPE || (HEADER_VALUE_TYPE = {}));
+ var UUID_PATTERN = /^[a-f0-9]{8}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{12}$/;
+ var Int64 = class _Int64 {
+ static {
+ __name(this, "Int64");
+ }
+ bytes;
+ constructor(bytes) {
+ this.bytes = bytes;
+ if (bytes.byteLength !== 8) {
+ throw new Error("Int64 buffers must be exactly 8 bytes");
+ }
+ }
+ static fromNumber(number4) {
+ if (number4 > 9223372036854776e3 || number4 < -9223372036854776e3) {
+ throw new Error(`${number4} is too large (or, if negative, too small) to represent as an Int64`);
+ }
+ const bytes = new Uint8Array(8);
+ for (let i5 = 7, remaining = Math.abs(Math.round(number4)); i5 > -1 && remaining > 0; i5--, remaining /= 256) {
+ bytes[i5] = remaining;
+ }
+ if (number4 < 0) {
+ negate(bytes);
+ }
+ return new _Int64(bytes);
+ }
+ valueOf() {
+ const bytes = this.bytes.slice(0);
+ const negative = bytes[0] & 128;
+ if (negative) {
+ negate(bytes);
+ }
+ return parseInt(toHex(bytes), 16) * (negative ? -1 : 1);
+ }
+ toString() {
+ return String(this.valueOf());
+ }
+ };
+ function negate(bytes) {
+ for (let i5 = 0; i5 < 8; i5++) {
+ bytes[i5] ^= 255;
+ }
+ for (let i5 = 7; i5 > -1; i5--) {
+ bytes[i5]++;
+ if (bytes[i5] !== 0)
+ break;
+ }
+ }
+ __name(negate, "negate");
+ var ALGORITHM_QUERY_PARAM = "X-Amz-Algorithm";
+ var CREDENTIAL_QUERY_PARAM = "X-Amz-Credential";
+ var AMZ_DATE_QUERY_PARAM = "X-Amz-Date";
+ var SIGNED_HEADERS_QUERY_PARAM = "X-Amz-SignedHeaders";
+ var EXPIRES_QUERY_PARAM = "X-Amz-Expires";
+ var SIGNATURE_QUERY_PARAM = "X-Amz-Signature";
+ var TOKEN_QUERY_PARAM = "X-Amz-Security-Token";
+ var REGION_SET_PARAM = "X-Amz-Region-Set";
+ var AUTH_HEADER = "authorization";
+ var AMZ_DATE_HEADER = AMZ_DATE_QUERY_PARAM.toLowerCase();
+ var DATE_HEADER = "date";
+ var GENERATED_HEADERS = [AUTH_HEADER, AMZ_DATE_HEADER, DATE_HEADER];
+ var SIGNATURE_HEADER = SIGNATURE_QUERY_PARAM.toLowerCase();
+ var SHA256_HEADER = "x-amz-content-sha256";
+ var TOKEN_HEADER = TOKEN_QUERY_PARAM.toLowerCase();
+ var HOST_HEADER = "host";
+ var ALWAYS_UNSIGNABLE_HEADERS = {
+ authorization: true,
+ "cache-control": true,
+ connection: true,
+ expect: true,
+ from: true,
+ "keep-alive": true,
+ "max-forwards": true,
+ pragma: true,
+ referer: true,
+ te: true,
+ trailer: true,
+ "transfer-encoding": true,
+ upgrade: true,
+ "user-agent": true,
+ "x-amzn-trace-id": true
+ };
+ var PROXY_HEADER_PATTERN = /^proxy-/;
+ var SEC_HEADER_PATTERN = /^sec-/;
+ var UNSIGNABLE_PATTERNS = [/^proxy-/i, /^sec-/i];
+ var ALGORITHM_IDENTIFIER = "AWS4-HMAC-SHA256";
+ var ALGORITHM_IDENTIFIER_V4A = "AWS4-ECDSA-P256-SHA256";
+ var EVENT_ALGORITHM_IDENTIFIER = "AWS4-HMAC-SHA256-PAYLOAD";
+ var UNSIGNED_PAYLOAD = "UNSIGNED-PAYLOAD";
+ var MAX_CACHE_SIZE = 50;
+ var KEY_TYPE_IDENTIFIER = "aws4_request";
+ var MAX_PRESIGNED_TTL = 60 * 60 * 24 * 7;
+ var getCanonicalQuery = /* @__PURE__ */ __name(({ query = {} }) => {
+ const keys = [];
+ const serialized = {};
+ for (const key in query) {
+ if (!hasOwn2(query, key))
+ continue;
+ if (key.toLowerCase() === SIGNATURE_HEADER) {
+ continue;
+ }
+ const encodedKey = escapeUri2(key);
+ keys.push(encodedKey);
+ const value = query[key];
+ if (typeof value === "string") {
+ serialized[encodedKey] = `${encodedKey}=${escapeUri2(value)}`;
+ } else if (Array.isArray(value)) {
+ serialized[encodedKey] = value.slice(0).reduce((encoded, value2) => encoded.concat([`${encodedKey}=${escapeUri2(value2)}`]), []).sort().join("&");
+ }
+ }
+ return keys.sort().map((key) => serialized[key]).filter((serialized2) => serialized2).join("&");
+ }, "getCanonicalQuery");
+ var iso8601 = /* @__PURE__ */ __name((time3) => toDate(time3).toISOString().replace(/\.\d{3}Z$/, "Z"), "iso8601");
+ var toDate = /* @__PURE__ */ __name((time3) => {
+ if (typeof time3 === "number") {
+ return new Date(time3 * 1e3);
+ }
+ if (typeof time3 === "string") {
+ if (Number(time3)) {
+ return new Date(Number(time3) * 1e3);
+ }
+ return new Date(time3);
+ }
+ return time3;
+ }, "toDate");
+ var SignatureV4Base = class {
+ static {
+ __name(this, "SignatureV4Base");
+ }
+ service;
+ regionProvider;
+ credentialProvider;
+ sha256;
+ uriEscapePath;
+ applyChecksum;
+ constructor({ applyChecksum, credentials, region, service, sha256: sha2562, uriEscapePath = true }) {
+ this.service = service;
+ this.sha256 = sha2562;
+ this.uriEscapePath = uriEscapePath;
+ this.applyChecksum = typeof applyChecksum === "boolean" ? applyChecksum : true;
+ this.regionProvider = normalizeProvider3(region);
+ this.credentialProvider = normalizeProvider3(credentials);
+ }
+ createCanonicalRequest(request, canonicalHeaders, payloadHash) {
+ const sortedHeaders = Object.keys(canonicalHeaders).sort();
+ return `${request.method}
+${this.getCanonicalPath(request)}
+${getCanonicalQuery(request)}
+${sortedHeaders.map((name2) => `${name2}:${canonicalHeaders[name2]}`).join("\n")}
+
+${sortedHeaders.join(";")}
+${payloadHash}`;
+ }
+ async createStringToSign(longDate, credentialScope, canonicalRequest, algorithmIdentifier) {
+ const hash3 = new this.sha256();
+ hash3.update(toUint8Array2(canonicalRequest));
+ const hashedRequest = await hash3.digest();
+ return `${algorithmIdentifier}
+${longDate}
+${credentialScope}
+${toHex(hashedRequest)}`;
+ }
+ getCanonicalPath({ path: path2 }) {
+ if (this.uriEscapePath) {
+ const normalizedPathSegments = [];
+ for (const pathSegment of path2.split("/")) {
+ if (pathSegment?.length === 0)
+ continue;
+ if (pathSegment === ".")
+ continue;
+ if (pathSegment === "..") {
+ normalizedPathSegments.pop();
+ } else {
+ normalizedPathSegments.push(pathSegment);
+ }
+ }
+ const normalizedPath = `${path2?.startsWith("/") ? "/" : ""}${normalizedPathSegments.join("/")}${normalizedPathSegments.length > 0 && path2?.endsWith("/") ? "/" : ""}`;
+ const doubleEncoded = escapeUri2(normalizedPath);
+ return doubleEncoded.replace(/%2F/g, "/");
+ }
+ return path2;
+ }
+ validateResolvedCredentials(credentials) {
+ if (typeof credentials !== "object" || typeof credentials.accessKeyId !== "string" || typeof credentials.secretAccessKey !== "string") {
+ throw new Error("Resolved credential object is not valid");
+ }
+ }
+ formatDate(now) {
+ const longDate = iso8601(now).replace(/[-:]/g, "");
+ return {
+ longDate,
+ shortDate: longDate.slice(0, 8)
+ };
+ }
+ getCanonicalHeaderList(headers) {
+ return Object.keys(headers).sort().join(";");
+ }
+ };
+ var signingKeyCache = {};
+ var cacheQueue = [];
+ var createScope = /* @__PURE__ */ __name((shortDate, region, service) => `${shortDate}/${region}/${service}/${KEY_TYPE_IDENTIFIER}`, "createScope");
+ var getSigningKey = /* @__PURE__ */ __name(async (sha256Constructor, credentials, shortDate, region, service) => {
+ const credsHash = await hmac(sha256Constructor, credentials.secretAccessKey, credentials.accessKeyId);
+ const cacheKey = `${shortDate}:${region}:${service}:${toHex(credsHash)}:${credentials.sessionToken}`;
+ if (cacheKey in signingKeyCache) {
+ return signingKeyCache[cacheKey];
+ }
+ cacheQueue.push(cacheKey);
+ while (cacheQueue.length > MAX_CACHE_SIZE) {
+ delete signingKeyCache[cacheQueue.shift()];
+ }
+ let key = `AWS4${credentials.secretAccessKey}`;
+ for (const signable of [shortDate, region, service, KEY_TYPE_IDENTIFIER]) {
+ key = await hmac(sha256Constructor, key, signable);
+ }
+ return signingKeyCache[cacheKey] = key;
+ }, "getSigningKey");
+ var clearCredentialCache = /* @__PURE__ */ __name(() => {
+ cacheQueue.length = 0;
+ Object.keys(signingKeyCache).forEach((cacheKey) => {
+ delete signingKeyCache[cacheKey];
+ });
+ }, "clearCredentialCache");
+ var hmac = /* @__PURE__ */ __name((ctor, secret, data) => {
+ const hash3 = new ctor(secret);
+ hash3.update(toUint8Array2(data));
+ return hash3.digest();
+ }, "hmac");
+ var getCanonicalHeaders = /* @__PURE__ */ __name(({ headers }, unsignableHeaders, signableHeaders) => {
+ const canonical = {};
+ for (const headerName of Object.keys(headers).sort()) {
+ if (headers[headerName] == void 0) {
+ continue;
+ }
+ const canonicalHeaderName = headerName.toLowerCase();
+ if (canonicalHeaderName in ALWAYS_UNSIGNABLE_HEADERS || unsignableHeaders?.has(canonicalHeaderName) || PROXY_HEADER_PATTERN.test(canonicalHeaderName) || SEC_HEADER_PATTERN.test(canonicalHeaderName)) {
+ if (!signableHeaders || signableHeaders && !signableHeaders.has(canonicalHeaderName)) {
+ continue;
+ }
+ }
+ canonical[canonicalHeaderName] = headers[headerName].replace(/[\r\n]/g, " ").replace(/[ \t]+/g, " ").replace(/^ | $/g, "");
+ }
+ return canonical;
+ }, "getCanonicalHeaders");
+ var getPayloadHash = /* @__PURE__ */ __name(async ({ headers, body }, hashConstructor) => {
+ for (const headerName in headers) {
+ if (!hasOwn2(headers, headerName))
+ continue;
+ if (headerName.toLowerCase() === SHA256_HEADER) {
+ return headers[headerName];
+ }
+ }
+ if (body == void 0) {
+ return "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855";
+ } else if (typeof body === "string" || ArrayBuffer.isView(body) || isArrayBuffer2(body)) {
+ const hashCtor = new hashConstructor();
+ hashCtor.update(toUint8Array2(body));
+ return toHex(await hashCtor.digest());
+ }
+ return UNSIGNED_PAYLOAD;
+ }, "getPayloadHash");
+ var hasHeader2 = /* @__PURE__ */ __name((soughtHeader, headers) => {
+ soughtHeader = soughtHeader.toLowerCase();
+ for (const headerName in headers) {
+ if (!hasOwn2(headers, headerName))
+ continue;
+ if (soughtHeader === headerName.toLowerCase()) {
+ return true;
+ }
+ }
+ return false;
+ }, "hasHeader");
+ var moveHeadersToQuery = /* @__PURE__ */ __name((request, options = {}) => {
+ const { headers, query = {} } = HttpRequest2.clone(request);
+ for (const name2 in headers) {
+ if (!hasOwn2(headers, name2))
+ continue;
+ const lname = name2.toLowerCase();
+ if (lname.slice(0, 6) === "x-amz-" && !options.unhoistableHeaders?.has(lname) || options.hoistableHeaders?.has(lname)) {
+ query[name2] = headers[name2];
+ delete headers[name2];
+ }
+ }
+ return {
+ ...request,
+ headers,
+ query
+ };
+ }, "moveHeadersToQuery");
+ var prepareRequest = /* @__PURE__ */ __name((request) => {
+ request = HttpRequest2.clone(request);
+ for (const headerName in request.headers) {
+ if (!hasOwn2(request.headers, headerName))
+ continue;
+ if (GENERATED_HEADERS.indexOf(headerName.toLowerCase()) > -1) {
+ delete request.headers[headerName];
+ }
+ }
+ return request;
+ }, "prepareRequest");
+ var SignatureV42 = class extends SignatureV4Base {
+ static {
+ __name(this, "SignatureV4");
+ }
+ headerFormatter = new HeaderFormatter();
+ constructor({ applyChecksum, credentials, region, service, sha256: sha2562, uriEscapePath = true }) {
+ super({
+ applyChecksum,
+ credentials,
+ region,
+ service,
+ sha256: sha2562,
+ uriEscapePath
+ });
+ }
+ async presign(originalRequest, options = {}) {
+ const { signingDate = /* @__PURE__ */ new Date(), expiresIn = 3600, unsignableHeaders, unhoistableHeaders, signableHeaders, hoistableHeaders, signingRegion, signingService } = options;
+ const credentials = await this.credentialProvider();
+ this.validateResolvedCredentials(credentials);
+ const region = signingRegion ?? await this.regionProvider();
+ const { longDate, shortDate } = this.formatDate(signingDate);
+ if (expiresIn > MAX_PRESIGNED_TTL) {
+ return Promise.reject("Signature version 4 presigned URLs must have an expiration date less than one week in the future");
+ }
+ const scope = createScope(shortDate, region, signingService ?? this.service);
+ const request = moveHeadersToQuery(prepareRequest(originalRequest), { unhoistableHeaders, hoistableHeaders });
+ if (credentials.sessionToken) {
+ request.query[TOKEN_QUERY_PARAM] = credentials.sessionToken;
+ }
+ request.query[ALGORITHM_QUERY_PARAM] = ALGORITHM_IDENTIFIER;
+ request.query[CREDENTIAL_QUERY_PARAM] = `${credentials.accessKeyId}/${scope}`;
+ request.query[AMZ_DATE_QUERY_PARAM] = longDate;
+ request.query[EXPIRES_QUERY_PARAM] = expiresIn.toString(10);
+ const canonicalHeaders = getCanonicalHeaders(request, unsignableHeaders, signableHeaders);
+ request.query[SIGNED_HEADERS_QUERY_PARAM] = this.getCanonicalHeaderList(canonicalHeaders);
+ request.query[SIGNATURE_QUERY_PARAM] = await this.getSignature(longDate, scope, this.getSigningKey(credentials, region, shortDate, signingService), this.createCanonicalRequest(request, canonicalHeaders, await getPayloadHash(originalRequest, this.sha256)));
+ return request;
+ }
+ async sign(toSign, options) {
+ if (typeof toSign === "string") {
+ return this.signString(toSign, options);
+ } else if (toSign.headers && toSign.payload) {
+ return this.signEvent(toSign, options);
+ } else if (toSign.message) {
+ return this.signMessage(toSign, options);
+ } else {
+ return this.signRequest(toSign, options);
+ }
+ }
+ async signEvent({ headers, payload }, { signingDate = /* @__PURE__ */ new Date(), priorSignature, signingRegion, signingService, eventStreamCredentials }) {
+ const region = signingRegion ?? await this.regionProvider();
+ const { shortDate, longDate } = this.formatDate(signingDate);
+ const scope = createScope(shortDate, region, signingService ?? this.service);
+ const hashedPayload = await getPayloadHash({ headers: {}, body: payload }, this.sha256);
+ const hash3 = new this.sha256();
+ hash3.update(headers);
+ const hashedHeaders = toHex(await hash3.digest());
+ const stringToSign = [
+ EVENT_ALGORITHM_IDENTIFIER,
+ longDate,
+ scope,
+ priorSignature,
+ hashedHeaders,
+ hashedPayload
+ ].join("\n");
+ return this.signString(stringToSign, {
+ signingDate,
+ signingRegion: region,
+ signingService,
+ eventStreamCredentials
+ });
+ }
+ async signMessage(signableMessage, { signingDate = /* @__PURE__ */ new Date(), signingRegion, signingService, eventStreamCredentials }) {
+ const promise2 = this.signEvent({
+ headers: this.headerFormatter.format(signableMessage.message.headers),
+ payload: signableMessage.message.body
+ }, {
+ signingDate,
+ signingRegion,
+ signingService,
+ priorSignature: signableMessage.priorSignature,
+ eventStreamCredentials
+ });
+ return promise2.then((signature) => {
+ return { message: signableMessage.message, signature };
+ });
+ }
+ async signString(stringToSign, { signingDate = /* @__PURE__ */ new Date(), signingRegion, signingService, eventStreamCredentials } = {}) {
+ const credentials = eventStreamCredentials ?? await this.credentialProvider();
+ this.validateResolvedCredentials(credentials);
+ const region = signingRegion ?? await this.regionProvider();
+ const { shortDate } = this.formatDate(signingDate);
+ const hash3 = new this.sha256(await this.getSigningKey(credentials, region, shortDate, signingService));
+ hash3.update(toUint8Array2(stringToSign));
+ return toHex(await hash3.digest());
+ }
+ async signRequest(requestToSign, { signingDate = /* @__PURE__ */ new Date(), signableHeaders, unsignableHeaders, signingRegion, signingService } = {}) {
+ const credentials = await this.credentialProvider();
+ this.validateResolvedCredentials(credentials);
+ const region = signingRegion ?? await this.regionProvider();
+ const request = prepareRequest(requestToSign);
+ const { longDate, shortDate } = this.formatDate(signingDate);
+ const scope = createScope(shortDate, region, signingService ?? this.service);
+ request.headers[AMZ_DATE_HEADER] = longDate;
+ if (credentials.sessionToken) {
+ request.headers[TOKEN_HEADER] = credentials.sessionToken;
+ }
+ const payloadHash = await getPayloadHash(request, this.sha256);
+ if (!hasHeader2(SHA256_HEADER, request.headers) && this.applyChecksum) {
+ request.headers[SHA256_HEADER] = payloadHash;
+ }
+ const canonicalHeaders = getCanonicalHeaders(request, unsignableHeaders, signableHeaders);
+ const signature = await this.getSignature(longDate, scope, this.getSigningKey(credentials, region, shortDate, signingService), this.createCanonicalRequest(request, canonicalHeaders, payloadHash));
+ request.headers[AUTH_HEADER] = `${ALGORITHM_IDENTIFIER} Credential=${credentials.accessKeyId}/${scope}, SignedHeaders=${this.getCanonicalHeaderList(canonicalHeaders)}, Signature=${signature}`;
+ return request;
+ }
+ async getSignature(longDate, credentialScope, keyPromise, canonicalRequest) {
+ const stringToSign = await this.createStringToSign(longDate, credentialScope, canonicalRequest, ALGORITHM_IDENTIFIER);
+ const hash3 = new this.sha256(await keyPromise);
+ hash3.update(toUint8Array2(stringToSign));
+ return toHex(await hash3.digest());
+ }
+ getSigningKey(credentials, region, shortDate, service) {
+ return getSigningKey(this.sha256, credentials, shortDate, region, service || this.service);
+ }
+ };
+ var signatureV4aContainer = {
+ SignatureV4a: null
+ };
+ exports.ALGORITHM_IDENTIFIER = ALGORITHM_IDENTIFIER;
+ exports.ALGORITHM_IDENTIFIER_V4A = ALGORITHM_IDENTIFIER_V4A;
+ exports.ALGORITHM_QUERY_PARAM = ALGORITHM_QUERY_PARAM;
+ exports.ALWAYS_UNSIGNABLE_HEADERS = ALWAYS_UNSIGNABLE_HEADERS;
+ exports.AMZ_DATE_HEADER = AMZ_DATE_HEADER;
+ exports.AMZ_DATE_QUERY_PARAM = AMZ_DATE_QUERY_PARAM;
+ exports.AUTH_HEADER = AUTH_HEADER;
+ exports.CREDENTIAL_QUERY_PARAM = CREDENTIAL_QUERY_PARAM;
+ exports.DATE_HEADER = DATE_HEADER;
+ exports.EVENT_ALGORITHM_IDENTIFIER = EVENT_ALGORITHM_IDENTIFIER;
+ exports.EXPIRES_QUERY_PARAM = EXPIRES_QUERY_PARAM;
+ exports.GENERATED_HEADERS = GENERATED_HEADERS;
+ exports.HOST_HEADER = HOST_HEADER;
+ exports.KEY_TYPE_IDENTIFIER = KEY_TYPE_IDENTIFIER;
+ exports.MAX_CACHE_SIZE = MAX_CACHE_SIZE;
+ exports.MAX_PRESIGNED_TTL = MAX_PRESIGNED_TTL;
+ exports.PROXY_HEADER_PATTERN = PROXY_HEADER_PATTERN;
+ exports.REGION_SET_PARAM = REGION_SET_PARAM;
+ exports.SEC_HEADER_PATTERN = SEC_HEADER_PATTERN;
+ exports.SHA256_HEADER = SHA256_HEADER;
+ exports.SIGNATURE_HEADER = SIGNATURE_HEADER;
+ exports.SIGNATURE_QUERY_PARAM = SIGNATURE_QUERY_PARAM;
+ exports.SIGNED_HEADERS_QUERY_PARAM = SIGNED_HEADERS_QUERY_PARAM;
+ exports.SignatureV4 = SignatureV42;
+ exports.SignatureV4Base = SignatureV4Base;
+ exports.TOKEN_HEADER = TOKEN_HEADER;
+ exports.TOKEN_QUERY_PARAM = TOKEN_QUERY_PARAM;
+ exports.UNSIGNABLE_PATTERNS = UNSIGNABLE_PATTERNS;
+ exports.UNSIGNED_PAYLOAD = UNSIGNED_PAYLOAD;
+ exports.clearCredentialCache = clearCredentialCache;
+ exports.createScope = createScope;
+ exports.getCanonicalHeaders = getCanonicalHeaders;
+ exports.getCanonicalQuery = getCanonicalQuery;
+ exports.getPayloadHash = getPayloadHash;
+ exports.getSigningKey = getSigningKey;
+ exports.hasHeader = hasHeader2;
+ exports.moveHeadersToQuery = moveHeadersToQuery;
+ exports.prepareRequest = prepareRequest;
+ exports.signatureV4aContainer = signatureV4aContainer;
+ }
+});
+
+// ../../node_modules/.pnpm/@aws-sdk+signature-v4-multi-region@3.996.48/node_modules/@aws-sdk/signature-v4-multi-region/dist-cjs/index.js
+var require_dist_cjs3 = __commonJS({
+ "../../node_modules/.pnpm/@aws-sdk+signature-v4-multi-region@3.996.48/node_modules/@aws-sdk/signature-v4-multi-region/dist-cjs/index.js"(exports) {
+ var { SignatureV4: SignatureV42, signatureV4aContainer } = require_dist_cjs2();
+ var signatureV4CrtContainer = {
+ CrtSignerV4: null
+ };
+ var SESSION_TOKEN_QUERY_PARAM2 = "X-Amz-S3session-Token";
+ var SESSION_TOKEN_HEADER2 = SESSION_TOKEN_QUERY_PARAM2.toLowerCase();
+ var SignatureV4SignWithCredentials2 = class extends SignatureV42 {
+ static {
+ __name(this, "SignatureV4SignWithCredentials");
+ }
+ async signWithCredentials(requestToSign, credentials, options) {
+ const credentialsWithoutSessionToken = getCredentialsWithoutSessionToken(credentials);
+ requestToSign.headers[SESSION_TOKEN_HEADER2] = credentials.sessionToken;
+ const privateAccess = this;
+ setSingleOverride(privateAccess, credentialsWithoutSessionToken);
+ return privateAccess.signRequest(requestToSign, options ?? {});
+ }
+ async presignWithCredentials(requestToSign, credentials, options) {
+ const credentialsWithoutSessionToken = getCredentialsWithoutSessionToken(credentials);
+ delete requestToSign.headers[SESSION_TOKEN_HEADER2];
+ requestToSign.headers[SESSION_TOKEN_QUERY_PARAM2] = credentials.sessionToken;
+ requestToSign.query = requestToSign.query ?? {};
+ requestToSign.query[SESSION_TOKEN_QUERY_PARAM2] = credentials.sessionToken;
+ const privateAccess = this;
+ setSingleOverride(privateAccess, credentialsWithoutSessionToken);
+ return this.presign(requestToSign, options);
+ }
+ };
+ function getCredentialsWithoutSessionToken(credentials) {
+ return {
+ accessKeyId: credentials.accessKeyId,
+ secretAccessKey: credentials.secretAccessKey,
+ expiration: credentials.expiration
+ };
+ }
+ __name(getCredentialsWithoutSessionToken, "getCredentialsWithoutSessionToken");
+ function setSingleOverride(privateAccess, credentialsWithoutSessionToken) {
+ const currentCredentialProvider = privateAccess.credentialProvider;
+ privateAccess.credentialProvider = () => {
+ privateAccess.credentialProvider = currentCredentialProvider;
+ return Promise.resolve(credentialsWithoutSessionToken);
+ };
+ }
+ __name(setSingleOverride, "setSingleOverride");
+ var SignatureV4MultiRegion3 = class {
+ static {
+ __name(this, "SignatureV4MultiRegion");
+ }
+ sigv4aSigner;
+ sigv4Signer;
+ signerOptions;
+ static sigv4aDependency() {
+ if (typeof signatureV4CrtContainer.CrtSignerV4 === "function") {
+ return "crt";
+ } else if (typeof signatureV4aContainer.SignatureV4a === "function") {
+ return "js";
+ }
+ return "none";
+ }
+ constructor(options) {
+ this.sigv4Signer = new SignatureV4SignWithCredentials2(options);
+ this.signerOptions = options;
+ }
+ async sign(requestToSign, options = {}) {
+ if (options.signingRegion === "*") {
+ return this.getSigv4aSigner().sign(requestToSign, options);
+ }
+ return this.sigv4Signer.sign(requestToSign, options);
+ }
+ async signWithCredentials(requestToSign, credentials, options = {}) {
+ if (options.signingRegion === "*") {
+ const signer = this.getSigv4aSigner();
+ const CrtSignerV4 = signatureV4CrtContainer.CrtSignerV4;
+ if (CrtSignerV4 && signer instanceof CrtSignerV4) {
+ return signer.signWithCredentials(requestToSign, credentials, options);
+ } else {
+ throw new Error(`signWithCredentials with signingRegion '*' is only supported when using the CRT dependency @aws-sdk/signature-v4-crt. Please check whether you have installed the "@aws-sdk/signature-v4-crt" package explicitly. You must also register the package by calling [require("@aws-sdk/signature-v4-crt");] or an ESM equivalent such as [import "@aws-sdk/signature-v4-crt";]. For more information please go to https://github.com/aws/aws-sdk-js-v3#functionality-requiring-aws-common-runtime-crt`);
+ }
+ }
+ return this.sigv4Signer.signWithCredentials(requestToSign, credentials, options);
+ }
+ async presign(originalRequest, options = {}) {
+ if (options.signingRegion === "*") {
+ const signer = this.getSigv4aSigner();
+ const CrtSignerV4 = signatureV4CrtContainer.CrtSignerV4;
+ if (CrtSignerV4 && signer instanceof CrtSignerV4) {
+ return signer.presign(originalRequest, options);
+ } else {
+ throw new Error(`presign with signingRegion '*' is only supported when using the CRT dependency @aws-sdk/signature-v4-crt. Please check whether you have installed the "@aws-sdk/signature-v4-crt" package explicitly. You must also register the package by calling [require("@aws-sdk/signature-v4-crt");] or an ESM equivalent such as [import "@aws-sdk/signature-v4-crt";]. For more information please go to https://github.com/aws/aws-sdk-js-v3#functionality-requiring-aws-common-runtime-crt`);
+ }
+ }
+ return this.sigv4Signer.presign(originalRequest, options);
+ }
+ async presignWithCredentials(originalRequest, credentials, options = {}) {
+ if (options.signingRegion === "*") {
+ throw new Error("Method presignWithCredentials is not supported for [signingRegion=*].");
+ }
+ return this.sigv4Signer.presignWithCredentials(originalRequest, credentials, options);
+ }
+ getSigv4aSigner() {
+ if (!this.sigv4aSigner) {
+ const CrtSignerV4 = signatureV4CrtContainer.CrtSignerV4;
+ const JsSigV4aSigner = signatureV4aContainer.SignatureV4a;
+ if (this.signerOptions.runtime === "node") {
+ if (!CrtSignerV4 && !JsSigV4aSigner) {
+ throw new Error("Neither CRT nor JS SigV4a implementation is available. Please load either @aws-sdk/signature-v4-crt or @aws-sdk/signature-v4a. For more information please go to https://github.com/aws/aws-sdk-js-v3#functionality-requiring-aws-common-runtime-crt");
+ }
+ if (CrtSignerV4 && typeof CrtSignerV4 === "function") {
+ this.sigv4aSigner = new CrtSignerV4({
+ ...this.signerOptions,
+ signingAlgorithm: 1
+ });
+ } else if (JsSigV4aSigner && typeof JsSigV4aSigner === "function") {
+ this.sigv4aSigner = new JsSigV4aSigner({
+ ...this.signerOptions
+ });
+ } else {
+ throw new Error("Available SigV4a implementation is not a valid constructor. Please ensure you've properly imported @aws-sdk/signature-v4-crt or @aws-sdk/signature-v4a.For more information please go to https://github.com/aws/aws-sdk-js-v3#functionality-requiring-aws-common-runtime-crt");
+ }
+ } else {
+ if (!JsSigV4aSigner || typeof JsSigV4aSigner !== "function") {
+ throw new Error("JS SigV4a implementation is not available or not a valid constructor. Please check whether you have installed the @aws-sdk/signature-v4a package explicitly. The CRT implementation is not available for browsers. You must also register the package by calling [require('@aws-sdk/signature-v4a');] or an ESM equivalent such as [import '@aws-sdk/signature-v4a';]. For more information please go to https://github.com/aws/aws-sdk-js-v3#using-javascript-non-crt-implementation-of-sigv4a");
+ }
+ this.sigv4aSigner = new JsSigV4aSigner({
+ ...this.signerOptions
+ });
+ }
+ }
+ return this.sigv4aSigner;
+ }
+ };
+ exports.SignatureV4MultiRegion = SignatureV4MultiRegion3;
+ exports.SignatureV4SignWithCredentials = SignatureV4SignWithCredentials2;
+ exports.signatureV4CrtContainer = signatureV4CrtContainer;
+ }
+});
+
+// ../../node_modules/.pnpm/@aws-sdk+middleware-sdk-s3@3.972.80/node_modules/@aws-sdk/middleware-sdk-s3/dist-es/submodules/s3/middleware-s3-express/classes/SignatureV4S3Express.js
+var import_signature_v4_multi_region, SignatureV4S3Express;
+var init_SignatureV4S3Express = __esm({
+ "../../node_modules/.pnpm/@aws-sdk+middleware-sdk-s3@3.972.80/node_modules/@aws-sdk/middleware-sdk-s3/dist-es/submodules/s3/middleware-s3-express/classes/SignatureV4S3Express.js"() {
+ import_signature_v4_multi_region = __toESM(require_dist_cjs3());
+ SignatureV4S3Express = class extends import_signature_v4_multi_region.SignatureV4SignWithCredentials {
+ static {
+ __name(this, "SignatureV4S3Express");
+ }
+ };
+ }
+});
+
+// ../../node_modules/.pnpm/@aws-sdk+middleware-sdk-s3@3.972.80/node_modules/@aws-sdk/middleware-sdk-s3/dist-es/submodules/s3/middleware-s3-express/constants.js
+var S3_EXPRESS_BUCKET_TYPE, S3_EXPRESS_BACKEND, S3_EXPRESS_AUTH_SCHEME, SESSION_TOKEN_QUERY_PARAM, SESSION_TOKEN_HEADER, NODE_DISABLE_S3_EXPRESS_SESSION_AUTH_ENV_NAME, NODE_DISABLE_S3_EXPRESS_SESSION_AUTH_INI_NAME, NODE_DISABLE_S3_EXPRESS_SESSION_AUTH_OPTIONS;
+var init_constants5 = __esm({
+ "../../node_modules/.pnpm/@aws-sdk+middleware-sdk-s3@3.972.80/node_modules/@aws-sdk/middleware-sdk-s3/dist-es/submodules/s3/middleware-s3-express/constants.js"() {
+ init_config();
+ S3_EXPRESS_BUCKET_TYPE = "Directory";
+ S3_EXPRESS_BACKEND = "S3Express";
+ S3_EXPRESS_AUTH_SCHEME = "sigv4-s3express";
+ SESSION_TOKEN_QUERY_PARAM = "X-Amz-S3session-Token";
+ SESSION_TOKEN_HEADER = SESSION_TOKEN_QUERY_PARAM.toLowerCase();
+ NODE_DISABLE_S3_EXPRESS_SESSION_AUTH_ENV_NAME = "AWS_S3_DISABLE_EXPRESS_SESSION_AUTH";
+ NODE_DISABLE_S3_EXPRESS_SESSION_AUTH_INI_NAME = "s3_disable_express_session_auth";
+ NODE_DISABLE_S3_EXPRESS_SESSION_AUTH_OPTIONS = {
+ environmentVariableSelector: /* @__PURE__ */ __name((env3) => booleanSelector(env3, NODE_DISABLE_S3_EXPRESS_SESSION_AUTH_ENV_NAME, SelectorType.ENV), "environmentVariableSelector"),
+ configFileSelector: /* @__PURE__ */ __name((profile) => booleanSelector(profile, NODE_DISABLE_S3_EXPRESS_SESSION_AUTH_INI_NAME, SelectorType.CONFIG), "configFileSelector"),
+ default: false
+ };
+ }
+});
+
+// ../../node_modules/.pnpm/@aws-sdk+middleware-sdk-s3@3.972.80/node_modules/@aws-sdk/middleware-sdk-s3/dist-es/submodules/s3/middleware-s3-express/functions/s3ExpressMiddleware.js
+var s3ExpressMiddleware, s3ExpressMiddlewareOptions, getS3ExpressPlugin;
+var init_s3ExpressMiddleware = __esm({
+ "../../node_modules/.pnpm/@aws-sdk+middleware-sdk-s3@3.972.80/node_modules/@aws-sdk/middleware-sdk-s3/dist-es/submodules/s3/middleware-s3-express/functions/s3ExpressMiddleware.js"() {
+ init_client2();
+ init_protocols();
+ init_constants5();
+ s3ExpressMiddleware = /* @__PURE__ */ __name((options) => {
+ return (next, context) => async (args) => {
+ if (context.endpointV2) {
+ const endpoint = context.endpointV2;
+ const isS3ExpressAuth = endpoint.properties?.authSchemes?.[0]?.name === S3_EXPRESS_AUTH_SCHEME;
+ const isS3ExpressBucket = endpoint.properties?.backend === S3_EXPRESS_BACKEND || endpoint.properties?.bucketType === S3_EXPRESS_BUCKET_TYPE;
+ if (isS3ExpressBucket) {
+ setFeature(context, "S3_EXPRESS_BUCKET", "J");
+ context.isS3ExpressBucket = true;
+ }
+ if (isS3ExpressAuth) {
+ const requestBucket = args.input.Bucket;
+ if (requestBucket) {
+ const s3ExpressIdentity = await options.s3ExpressIdentityProvider.getS3ExpressIdentity(await options.credentials(), {
+ Bucket: requestBucket
+ });
+ context.s3ExpressIdentity = s3ExpressIdentity;
+ if (HttpRequest.isInstance(args.request) && s3ExpressIdentity.sessionToken) {
+ args.request.headers[SESSION_TOKEN_HEADER] = s3ExpressIdentity.sessionToken;
+ }
+ }
+ }
+ }
+ return next(args);
+ };
+ }, "s3ExpressMiddleware");
+ s3ExpressMiddlewareOptions = {
+ name: "s3ExpressMiddleware",
+ step: "build",
+ tags: ["S3", "S3_EXPRESS"],
+ override: true
+ };
+ getS3ExpressPlugin = /* @__PURE__ */ __name((options) => ({
+ applyToStack: /* @__PURE__ */ __name((clientStack) => {
+ clientStack.add(s3ExpressMiddleware(options), s3ExpressMiddlewareOptions);
+ }, "applyToStack")
+ }), "getS3ExpressPlugin");
+ }
+});
+
+// ../../node_modules/.pnpm/@aws-sdk+middleware-sdk-s3@3.972.80/node_modules/@aws-sdk/middleware-sdk-s3/dist-es/submodules/s3/middleware-s3-express/functions/signS3Express.js
+var signS3Express;
+var init_signS3Express = __esm({
+ "../../node_modules/.pnpm/@aws-sdk+middleware-sdk-s3@3.972.80/node_modules/@aws-sdk/middleware-sdk-s3/dist-es/submodules/s3/middleware-s3-express/functions/signS3Express.js"() {
+ signS3Express = /* @__PURE__ */ __name(async (s3ExpressIdentity, signingOptions, request, sigV4MultiRegionSigner) => {
+ const signedRequest = await sigV4MultiRegionSigner.signWithCredentials(request, s3ExpressIdentity, {});
+ if (signedRequest.headers["X-Amz-Security-Token"] || signedRequest.headers["x-amz-security-token"]) {
+ throw new Error("X-Amz-Security-Token must not be set for s3-express requests.");
+ }
+ return signedRequest;
+ }, "signS3Express");
+ }
+});
+
+// ../../node_modules/.pnpm/@aws-sdk+middleware-sdk-s3@3.972.80/node_modules/@aws-sdk/middleware-sdk-s3/dist-es/submodules/s3/middleware-s3-express/functions/s3ExpressHttpSigningMiddleware.js
+var defaultErrorHandler2, defaultSuccessHandler2, s3ExpressHttpSigningMiddlewareOptions, s3ExpressHttpSigningMiddleware, getS3ExpressHttpSigningPlugin;
+var init_s3ExpressHttpSigningMiddleware = __esm({
+ "../../node_modules/.pnpm/@aws-sdk+middleware-sdk-s3@3.972.80/node_modules/@aws-sdk/middleware-sdk-s3/dist-es/submodules/s3/middleware-s3-express/functions/s3ExpressHttpSigningMiddleware.js"() {
+ init_dist_es();
+ init_client();
+ init_protocols();
+ init_signS3Express();
+ defaultErrorHandler2 = /* @__PURE__ */ __name((signingProperties) => (error62) => {
+ throw error62;
+ }, "defaultErrorHandler");
+ defaultSuccessHandler2 = /* @__PURE__ */ __name((httpResponse, signingProperties) => {
+ }, "defaultSuccessHandler");
+ s3ExpressHttpSigningMiddlewareOptions = httpSigningMiddlewareOptions;
+ s3ExpressHttpSigningMiddleware = /* @__PURE__ */ __name((config3) => (next, context) => async (args) => {
+ if (!HttpRequest.isInstance(args.request)) {
+ return next(args);
+ }
+ const smithyContext = getSmithyContext(context);
+ const scheme = smithyContext.selectedHttpAuthScheme;
+ if (!scheme) {
+ throw new Error(`No HttpAuthScheme was selected: unable to sign request`);
+ }
+ const { httpAuthOption: { signingProperties = {} }, identity, signer } = scheme;
+ let request;
+ if (context.s3ExpressIdentity) {
+ request = await signS3Express(context.s3ExpressIdentity, signingProperties, args.request, await config3.signer());
+ } else {
+ request = await signer.sign(args.request, identity, signingProperties);
+ }
+ const output2 = await next({
+ ...args,
+ request
+ }).catch((signer.errorHandler || defaultErrorHandler2)(signingProperties));
+ (signer.successHandler || defaultSuccessHandler2)(output2.response, signingProperties);
+ return output2;
+ }, "s3ExpressHttpSigningMiddleware");
+ getS3ExpressHttpSigningPlugin = /* @__PURE__ */ __name((config3) => ({
+ applyToStack: /* @__PURE__ */ __name((clientStack) => {
+ clientStack.addRelativeTo(s3ExpressHttpSigningMiddleware(config3), httpSigningMiddlewareOptions);
+ }, "applyToStack")
+ }), "getS3ExpressHttpSigningPlugin");
+ }
+});
+
+// ../../node_modules/.pnpm/@aws-sdk+middleware-sdk-s3@3.972.80/node_modules/@aws-sdk/middleware-sdk-s3/dist-es/submodules/s3/to-stream/toStream.js
+import { Readable as Readable2 } from "node:stream";
+function toStream(bytes) {
+ return Readable2.from(Buffer.from(bytes));
+}
+var init_toStream = __esm({
+ "../../node_modules/.pnpm/@aws-sdk+middleware-sdk-s3@3.972.80/node_modules/@aws-sdk/middleware-sdk-s3/dist-es/submodules/s3/to-stream/toStream.js"() {
+ __name(toStream, "toStream");
+ }
+});
+
+// ../../node_modules/.pnpm/@aws-sdk+middleware-sdk-s3@3.972.80/node_modules/@aws-sdk/middleware-sdk-s3/dist-es/submodules/s3/middleware-throw-200-exceptions/throw-200-exceptions.js
+var THROW_IF_EMPTY_BODY, throw200ExceptionsMiddleware, collectBody2, throw200ExceptionsMiddlewareOptions, getThrow200ExceptionsPlugin;
+var init_throw_200_exceptions = __esm({
+ "../../node_modules/.pnpm/@aws-sdk+middleware-sdk-s3@3.972.80/node_modules/@aws-sdk/middleware-sdk-s3/dist-es/submodules/s3/middleware-throw-200-exceptions/throw-200-exceptions.js"() {
+ init_protocols();
+ init_toStream();
+ THROW_IF_EMPTY_BODY = {
+ CopyObjectCommand: true,
+ UploadPartCopyCommand: true,
+ CompleteMultipartUploadCommand: true
+ };
+ throw200ExceptionsMiddleware = /* @__PURE__ */ __name((config3) => (next, context) => async (args) => {
+ const result = await next(args);
+ const { response } = result;
+ if (!HttpResponse.isInstance(response)) {
+ return result;
+ }
+ const { statusCode, body } = response;
+ if (statusCode < 200 || statusCode >= 300) {
+ return result;
+ }
+ const bodyBytes = await collectBody2(body, config3);
+ response.body = toStream(bodyBytes);
+ if (bodyBytes.length === 0 && THROW_IF_EMPTY_BODY[context.commandName]) {
+ const err = new Error("S3 aborted request");
+ err.$metadata = {
+ httpStatusCode: 503
+ };
+ err.name = "InternalError";
+ throw err;
+ }
+ const bodyStringTail = config3.utf8Encoder(bodyBytes.subarray(bodyBytes.length - 16));
+ if (bodyStringTail && bodyStringTail.endsWith("")) {
+ response.statusCode = 503;
+ }
+ return result;
+ }, "throw200ExceptionsMiddleware");
+ collectBody2 = /* @__PURE__ */ __name((streamBody = new Uint8Array(), context) => {
+ if (streamBody instanceof Uint8Array) {
+ return Promise.resolve(streamBody);
+ }
+ return context.streamCollector(streamBody) || Promise.resolve(new Uint8Array());
+ }, "collectBody");
+ throw200ExceptionsMiddlewareOptions = {
+ relation: "after",
+ toMiddleware: "deserializerMiddleware",
+ tags: ["THROW_200_EXCEPTIONS", "S3"],
+ name: "throw200ExceptionsMiddleware",
+ override: true
+ };
+ getThrow200ExceptionsPlugin = /* @__PURE__ */ __name((config3) => ({
+ applyToStack: /* @__PURE__ */ __name((clientStack) => {
+ clientStack.addRelativeTo(throw200ExceptionsMiddleware(config3), throw200ExceptionsMiddlewareOptions);
+ }, "applyToStack")
+ }), "getThrow200ExceptionsPlugin");
+ }
+});
+
+// ../../node_modules/.pnpm/@aws-sdk+core@3.978.4/node_modules/@aws-sdk/core/dist-es/submodules/util/util-arn-parser/arn.js
+var validate2, parse3;
+var init_arn = __esm({
+ "../../node_modules/.pnpm/@aws-sdk+core@3.978.4/node_modules/@aws-sdk/core/dist-es/submodules/util/util-arn-parser/arn.js"() {
+ validate2 = /* @__PURE__ */ __name((str) => typeof str === "string" && str.indexOf("arn:") === 0 && str.split(":").length >= 6, "validate");
+ parse3 = /* @__PURE__ */ __name((arn) => {
+ const segments = arn.split(":");
+ if (segments.length < 6 || segments[0] !== "arn")
+ throw new Error("Malformed ARN");
+ const [, partition2, service, region, accountId, ...resource] = segments;
+ return {
+ partition: partition2,
+ service,
+ region,
+ accountId,
+ resource: resource.join(":")
+ };
+ }, "parse");
+ }
+});
+
+// ../../node_modules/.pnpm/@aws-sdk+core@3.978.4/node_modules/@aws-sdk/core/dist-es/submodules/util/index.js
+var init_util2 = __esm({
+ "../../node_modules/.pnpm/@aws-sdk+core@3.978.4/node_modules/@aws-sdk/core/dist-es/submodules/util/index.js"() {
+ init_arn();
+ }
+});
+
+// ../../node_modules/.pnpm/@aws-sdk+middleware-sdk-s3@3.972.80/node_modules/@aws-sdk/middleware-sdk-s3/dist-es/submodules/s3/middleware-region-redirect/bucket-endpoint-middleware.js
+function bucketEndpointMiddleware(options) {
+ return (next, context) => async (args) => {
+ if (options.bucketEndpoint) {
+ const endpoint = context.endpointV2;
+ if (endpoint) {
+ const bucket = args.input.Bucket;
+ if (typeof bucket === "string") {
+ try {
+ const bucketEndpointUrl = new URL(bucket);
+ context.endpointV2 = {
+ ...endpoint,
+ url: bucketEndpointUrl
+ };
+ } catch (e5) {
+ const warning2 = `@aws-sdk/middleware-sdk-s3: bucketEndpoint=true was set but Bucket=${bucket} could not be parsed as URL.`;
+ if (context.logger?.constructor?.name === "NoOpLogger") {
+ console.warn(warning2);
+ } else {
+ context.logger?.warn?.(warning2);
+ }
+ throw e5;
+ }
+ }
+ }
+ }
+ return next(args);
+ };
+}
+var bucketEndpointMiddlewareOptions;
+var init_bucket_endpoint_middleware = __esm({
+ "../../node_modules/.pnpm/@aws-sdk+middleware-sdk-s3@3.972.80/node_modules/@aws-sdk/middleware-sdk-s3/dist-es/submodules/s3/middleware-region-redirect/bucket-endpoint-middleware.js"() {
+ __name(bucketEndpointMiddleware, "bucketEndpointMiddleware");
+ bucketEndpointMiddlewareOptions = {
+ name: "bucketEndpointMiddleware",
+ override: true,
+ relation: "after",
+ toMiddleware: "endpointV2Middleware"
+ };
+ }
+});
+
+// ../../node_modules/.pnpm/@aws-sdk+middleware-sdk-s3@3.972.80/node_modules/@aws-sdk/middleware-sdk-s3/dist-es/submodules/s3/middleware-validate-bucket-name/validate-bucket-name.js
+function validateBucketNameMiddleware({ bucketEndpoint }) {
+ return (next) => async (args) => {
+ const { input: { Bucket } } = args;
+ if (!bucketEndpoint && typeof Bucket === "string" && !validate2(Bucket) && Bucket.indexOf("/") >= 0) {
+ const err = new Error(`Bucket name shouldn't contain '/', received '${Bucket}'`);
+ err.name = "InvalidBucketName";
+ throw err;
+ }
+ return next({ ...args });
+ };
+}
+var validateBucketNameMiddlewareOptions, getValidateBucketNamePlugin;
+var init_validate_bucket_name = __esm({
+ "../../node_modules/.pnpm/@aws-sdk+middleware-sdk-s3@3.972.80/node_modules/@aws-sdk/middleware-sdk-s3/dist-es/submodules/s3/middleware-validate-bucket-name/validate-bucket-name.js"() {
+ init_util2();
+ init_bucket_endpoint_middleware();
+ __name(validateBucketNameMiddleware, "validateBucketNameMiddleware");
+ validateBucketNameMiddlewareOptions = {
+ step: "initialize",
+ tags: ["VALIDATE_BUCKET_NAME"],
+ name: "validateBucketNameMiddleware",
+ override: true
+ };
+ getValidateBucketNamePlugin = /* @__PURE__ */ __name((options) => ({
+ applyToStack: /* @__PURE__ */ __name((clientStack) => {
+ clientStack.add(validateBucketNameMiddleware(options), validateBucketNameMiddlewareOptions);
+ clientStack.addRelativeTo(bucketEndpointMiddleware(options), bucketEndpointMiddlewareOptions);
+ }, "applyToStack")
+ }), "getValidateBucketNamePlugin");
+ }
+});
+
+// ../../node_modules/.pnpm/@aws-sdk+core@3.978.4/node_modules/@aws-sdk/core/dist-es/submodules/protocols/ProtocolLib.js
+var ProtocolLib;
+var init_ProtocolLib = __esm({
+ "../../node_modules/.pnpm/@aws-sdk+core@3.978.4/node_modules/@aws-sdk/core/dist-es/submodules/protocols/ProtocolLib.js"() {
+ init_client();
+ init_schema();
+ ProtocolLib = class {
+ static {
+ __name(this, "ProtocolLib");
+ }
+ queryCompat;
+ errorRegistry;
+ constructor(queryCompat = false) {
+ this.queryCompat = queryCompat;
+ }
+ resolveRestContentType(defaultContentType, inputSchema) {
+ const members2 = inputSchema.getMemberSchemas();
+ const httpPayloadMember = Object.values(members2).find((m3) => {
+ return !!m3.getMergedTraits().httpPayload;
+ });
+ if (httpPayloadMember) {
+ const mediaType = httpPayloadMember.getMergedTraits().mediaType;
+ if (mediaType) {
+ return mediaType;
+ } else if (httpPayloadMember.isStringSchema()) {
+ return "text/plain";
+ } else if (httpPayloadMember.isBlobSchema()) {
+ return "application/octet-stream";
+ } else {
+ return defaultContentType;
+ }
+ } else if (!inputSchema.isUnitSchema()) {
+ const hasBody = Object.values(members2).find((m3) => {
+ const { httpQuery, httpQueryParams, httpHeader, httpLabel, httpPrefixHeaders } = m3.getMergedTraits();
+ const noPrefixHeaders = httpPrefixHeaders === void 0;
+ return !httpQuery && !httpQueryParams && !httpHeader && !httpLabel && noPrefixHeaders;
+ });
+ if (hasBody) {
+ return defaultContentType;
+ }
+ }
+ }
+ async getErrorSchemaOrThrowBaseException(errorIdentifier, defaultNamespace, response, dataObject, metadata, getErrorSchema) {
+ let errorName = errorIdentifier;
+ if (errorIdentifier.includes("#")) {
+ [, errorName] = errorIdentifier.split("#");
+ }
+ const errorMetadata = {
+ $metadata: metadata,
+ $fault: response.statusCode < 500 ? "client" : "server"
+ };
+ if (!this.errorRegistry) {
+ throw new Error("@aws-sdk/core/protocols - error handler not initialized.");
+ }
+ try {
+ const errorSchema = getErrorSchema?.(this.errorRegistry, errorName) ?? this.errorRegistry.getSchema(errorIdentifier);
+ return { errorSchema, errorMetadata };
+ } catch (e5) {
+ dataObject.message = dataObject.message ?? dataObject.Message ?? "UnknownError";
+ const synthetic = this.errorRegistry;
+ const baseExceptionSchema = synthetic.getBaseException();
+ if (baseExceptionSchema) {
+ const ErrorCtor = synthetic.getErrorCtor(baseExceptionSchema) ?? Error;
+ throw this.decorateServiceException(Object.assign(new ErrorCtor({ name: errorName }), errorMetadata), dataObject);
+ }
+ const d5 = dataObject;
+ const message = d5?.message ?? d5?.Message ?? d5?.Error?.Message ?? d5?.Error?.message;
+ throw this.decorateServiceException(Object.assign(new Error(message), {
+ name: errorName
+ }, errorMetadata), dataObject);
+ }
+ }
+ compose(composite, errorIdentifier, defaultNamespace) {
+ let namespace = defaultNamespace;
+ if (errorIdentifier.includes("#")) {
+ [namespace] = errorIdentifier.split("#");
+ }
+ const staticRegistry = TypeRegistry.for(namespace);
+ const defaultSyntheticRegistry = TypeRegistry.for("smithy.ts.sdk.synthetic." + defaultNamespace);
+ composite.copyFrom(staticRegistry);
+ composite.copyFrom(defaultSyntheticRegistry);
+ this.errorRegistry = composite;
+ }
+ decorateServiceException(exception, additions = {}) {
+ if (this.queryCompat) {
+ const msg = exception.Message ?? additions.Message;
+ const error62 = decorateServiceException(exception, additions);
+ if (msg) {
+ error62.message = msg;
+ }
+ const errorObj = error62.Error ?? {};
+ errorObj.Type = error62.Error?.Type;
+ errorObj.Code = error62.Error?.Code;
+ errorObj.Message = error62.Error?.message ?? error62.Error?.Message ?? msg;
+ error62.Error = errorObj;
+ const reqId = error62.$metadata.requestId;
+ if (reqId) {
+ error62.RequestId = reqId;
+ }
+ return error62;
+ }
+ return decorateServiceException(exception, additions);
+ }
+ setQueryCompatError(output2, response) {
+ const queryErrorHeader = response.headers?.["x-amzn-query-error"];
+ if (output2 !== void 0 && queryErrorHeader != null) {
+ const [Code, Type] = queryErrorHeader.split(";");
+ const keys = Object.keys(output2);
+ const Error2 = {
+ Code,
+ Type
+ };
+ output2.Code = Code;
+ output2.Type = Type;
+ for (let i5 = 0; i5 < keys.length; i5++) {
+ const k5 = keys[i5];
+ Error2[k5 === "message" ? "Message" : k5] = output2[k5];
+ }
+ delete Error2.__type;
+ output2.Error = Error2;
+ }
+ }
+ queryCompatOutput(queryCompatErrorData, errorData) {
+ if (queryCompatErrorData.Error) {
+ errorData.Error = queryCompatErrorData.Error;
+ }
+ if (queryCompatErrorData.Type) {
+ errorData.Type = queryCompatErrorData.Type;
+ }
+ if (queryCompatErrorData.Code) {
+ errorData.Code = queryCompatErrorData.Code;
+ }
+ }
+ findQueryCompatibleError(registry2, errorName) {
+ try {
+ return registry2.getSchema(errorName);
+ } catch (e5) {
+ return registry2.find((schema2) => NormalizedSchema.of(schema2).getMergedTraits().awsQueryError?.[0] === errorName);
+ }
+ }
+ };
+ }
+});
+
+// ../../node_modules/.pnpm/@aws-sdk+core@3.978.4/node_modules/@aws-sdk/core/dist-es/submodules/protocols/json/AwsRestJsonProtocol.js
+var AwsRestJsonProtocol;
+var init_AwsRestJsonProtocol = __esm({
+ "../../node_modules/.pnpm/@aws-sdk+core@3.978.4/node_modules/@aws-sdk/core/dist-es/submodules/protocols/json/AwsRestJsonProtocol.js"() {
+ init_protocols();
+ init_schema();
+ init_ProtocolLib();
+ AwsRestJsonProtocol = class extends HttpBindingProtocol {
+ static {
+ __name(this, "AwsRestJsonProtocol");
+ }
+ serializer;
+ deserializer;
+ codec;
+ mixin = new ProtocolLib();
+ constructor({ defaultNamespace, errorTypeRegistries: errorTypeRegistries5, jsonCodec }) {
+ super({
+ defaultNamespace,
+ errorTypeRegistries: errorTypeRegistries5
+ });
+ const settings = {
+ timestampFormat: {
+ useTrait: true,
+ default: 7
+ },
+ httpBindings: true,
+ jsonName: true
+ };
+ this.codec = jsonCodec ?? new JsonCodec2(settings);
+ this.serializer = new HttpInterceptingShapeSerializer(this.codec.createSerializer(), settings);
+ this.deserializer = new HttpInterceptingShapeDeserializer(this.codec.createDeserializer(), settings);
+ }
+ getShapeId() {
+ return "aws.protocols#restJson1";
+ }
+ getPayloadCodec() {
+ return this.codec;
+ }
+ setSerdeContext(serdeContext) {
+ this.codec.setSerdeContext(serdeContext);
+ super.setSerdeContext(serdeContext);
+ }
+ async serializeRequest(operationSchema, input2, context) {
+ const request = await super.serializeRequest(operationSchema, input2, context);
+ const inputSchema = NormalizedSchema.of(operationSchema.input);
+ if (!request.headers["content-type"]) {
+ const contentType = this.mixin.resolveRestContentType(this.getDefaultContentType(), inputSchema);
+ if (contentType) {
+ request.headers["content-type"] = contentType;
+ }
+ }
+ if (request.body == null && request.headers["content-type"] === this.getDefaultContentType()) {
+ request.body = "{}";
+ }
+ return request;
+ }
+ async deserializeResponse(operationSchema, context, response) {
+ const output2 = await super.deserializeResponse(operationSchema, context, response);
+ const outputSchema = NormalizedSchema.of(operationSchema.output);
+ for (const [name2, member] of outputSchema.structIterator()) {
+ if (member.getMemberTraits().httpPayload && !(name2 in output2)) {
+ output2[name2] = null;
+ }
+ }
+ return output2;
+ }
+ async handleError(operationSchema, context, response, dataObject, metadata) {
+ const errorIdentifier = loadRestJsonErrorCode(response, dataObject) ?? "Unknown";
+ this.mixin.compose(this.compositeErrorRegistry, errorIdentifier, this.options.defaultNamespace);
+ const { errorSchema, errorMetadata } = await this.mixin.getErrorSchemaOrThrowBaseException(errorIdentifier, this.options.defaultNamespace, response, dataObject, metadata);
+ const ns = NormalizedSchema.of(errorSchema);
+ const message = dataObject.message ?? dataObject.Message ?? "UnknownError";
+ const ErrorCtor = this.compositeErrorRegistry.getErrorCtor(errorSchema) ?? Error;
+ const exception = new ErrorCtor({});
+ await this.deserializeHttpMessage(errorSchema, context, response, dataObject);
+ const output2 = {};
+ const errorDeserializer = this.codec.createDeserializer();
+ for (const [name2, member] of ns.structIterator()) {
+ const target = member.getMergedTraits().jsonName ?? name2;
+ output2[name2] = errorDeserializer.readObject(member, dataObject[target]);
+ }
+ throw this.mixin.decorateServiceException(Object.assign(exception, errorMetadata, {
+ $fault: ns.getMergedTraits().error,
+ message
+ }, output2), dataObject);
+ }
+ getDefaultContentType() {
+ return "application/json";
+ }
+ };
+ }
+});
+
+// ../../node_modules/.pnpm/@aws-sdk+xml-builder@3.972.41/node_modules/@aws-sdk/xml-builder/dist-cjs/index.js
+var require_dist_cjs4 = __commonJS({
+ "../../node_modules/.pnpm/@aws-sdk+xml-builder@3.972.41/node_modules/@aws-sdk/xml-builder/dist-cjs/index.js"(exports) {
+ var ATTR_ESCAPE_RE = /[&<>"]/g;
+ var ATTR_ESCAPE_MAP = {
+ "&": "&",
+ "<": "<",
+ ">": ">",
+ '"': """
+ };
+ function escapeAttribute(value) {
+ return value.replace(ATTR_ESCAPE_RE, (ch) => ATTR_ESCAPE_MAP[ch]);
+ }
+ __name(escapeAttribute, "escapeAttribute");
+ var ELEMENT_ESCAPE_RE = /[&"'<>\r\n\u0085\u2028]/g;
+ var ELEMENT_ESCAPE_MAP = {
+ "&": "&",
+ '"': """,
+ "'": "'",
+ "<": "<",
+ ">": ">",
+ "\r": "
",
+ "\n": "
",
+ "\x85": "
",
+ "\u2028": "
"
+ };
+ function escapeElement(value) {
+ return value.replace(ELEMENT_ESCAPE_RE, (ch) => ELEMENT_ESCAPE_MAP[ch]);
+ }
+ __name(escapeElement, "escapeElement");
+ var XmlText2 = class {
+ static {
+ __name(this, "XmlText");
+ }
+ value;
+ constructor(value) {
+ this.value = value;
+ }
+ toString() {
+ return escapeElement("" + this.value);
+ }
+ };
+ var XmlNode2 = class _XmlNode {
+ static {
+ __name(this, "XmlNode");
+ }
+ name;
+ children;
+ attributes = {};
+ static of(name2, childText, withName) {
+ const node2 = new _XmlNode(name2);
+ if (childText !== void 0) {
+ node2.addChildNode(new XmlText2(childText));
+ }
+ if (withName !== void 0) {
+ node2.withName(withName);
+ }
+ return node2;
+ }
+ constructor(name2, children = []) {
+ this.name = name2;
+ this.children = children;
+ }
+ withName(name2) {
+ this.name = name2;
+ return this;
+ }
+ addAttribute(name2, value) {
+ this.attributes[name2] = value;
+ return this;
+ }
+ addChildNode(child) {
+ this.children.push(child);
+ return this;
+ }
+ removeAttribute(name2) {
+ delete this.attributes[name2];
+ return this;
+ }
+ n(name2) {
+ this.name = name2;
+ return this;
+ }
+ c(child) {
+ this.children.push(child);
+ return this;
+ }
+ a(name2, value) {
+ if (value != null) {
+ this.attributes[name2] = value;
+ }
+ return this;
+ }
+ cc(input2, field, withName = field) {
+ if (input2[field] != null) {
+ const node2 = _XmlNode.of(field, input2[field]).withName(withName);
+ this.c(node2);
+ }
+ }
+ l(input2, listName, memberName, valueProvider) {
+ if (input2[listName] != null) {
+ const nodes5 = valueProvider();
+ nodes5.map((node2) => {
+ node2.withName(memberName);
+ this.c(node2);
+ });
+ }
+ }
+ lc(input2, listName, memberName, valueProvider) {
+ if (input2[listName] != null) {
+ const nodes5 = valueProvider();
+ const containerNode = new _XmlNode(memberName);
+ nodes5.map((node2) => {
+ containerNode.c(node2);
+ });
+ this.c(containerNode);
+ }
+ }
+ toString() {
+ const hasChildren = Boolean(this.children.length);
+ let xmlText = `<${this.name}`;
+ const attributes = this.attributes;
+ for (const attributeName of Object.keys(attributes)) {
+ const attribute = attributes[attributeName];
+ if (attribute != null) {
+ xmlText += ` ${attributeName}="${escapeAttribute("" + attribute)}"`;
+ }
+ }
+ return xmlText += !hasChildren ? "/>" : `>${this.children.map((c5) => c5.toString()).join("")}${this.name}>`;
+ }
+ };
+ function writeKey3(obj) {
+ Object.defineProperty(obj, "__proto__", { value: void 0, writable: true, enumerable: true, configurable: true });
+ }
+ __name(writeKey3, "writeKey");
+ function parseXML2(xml) {
+ const state2 = new AwsXmlParser(xml);
+ return state2.parse();
+ }
+ __name(parseXML2, "parseXML");
+ var AwsXmlParser = class _AwsXmlParser {
+ static {
+ __name(this, "AwsXmlParser");
+ }
+ x;
+ i = 0;
+ z;
+ constructor(x) {
+ this.x = x;
+ this.x = x.replace(/\r\n?/g, "\n");
+ this.z = this.x.length;
+ }
+ parse() {
+ const p3 = this;
+ const { z: z2 } = p3;
+ while (p3.i < z2) {
+ p3.trim();
+ if (p3.i >= z2) {
+ break;
+ }
+ if (p3.isNext("")) {
+ p3.readTo("?>");
+ p3.trim();
+ } else if (p3.isNext("");
+ p3.trim();
+ } else if (p3.isNext("/".includes(p3.x[p3.i])) {
+ tag += p3.x[p3.i++];
+ }
+ let hasAttrs = false;
+ const attrs = {};
+ while (p3.i < p3.z) {
+ p3.trim();
+ if (">/".includes(p3.x[p3.i])) {
+ break;
+ }
+ let name2 = "";
+ while (p3.i < p3.z && !"= \r\n>/?".includes(p3.x[p3.i])) {
+ name2 += p3.x[p3.i++];
+ }
+ p3.trim();
+ if (p3.x[p3.i] !== "=") {
+ break;
+ }
+ ++p3.i;
+ p3.trim();
+ if (name2 === "__proto__") {
+ writeKey3(attrs);
+ }
+ attrs[name2] = p3.readAttrValue();
+ hasAttrs = true;
+ }
+ if (p3.i >= p3.z) {
+ throw new Error("@aws-sdk XML parse error: unexpected end of input.");
+ }
+ if (p3.x[p3.i] === "/") {
+ ++p3.i;
+ if (p3.i >= p3.z || p3.x[p3.i] !== ">") {
+ throw new Error("@aws-sdk XML parse error: expected > at the end of self-closing tag.");
+ }
+ ++p3.i;
+ return { tag, value: hasAttrs ? attrs : "" };
+ }
+ if (p3.x[p3.i] !== ">") {
+ throw new Error("@aws-sdk XML parse error: expected > at the end of opening tag.");
+ }
+ ++p3.i;
+ const textParts = [];
+ const childTags = [];
+ let hasElementChild = false;
+ while (p3.i < p3.z) {
+ if (p3.isNext("")) {
+ break;
+ }
+ if (p3.x[p3.i] === "<") {
+ if (p3.isNext("");
+ } else if (p3.isNext(""));
+ } else if (p3.isNext("")) {
+ p3.readTo("?>");
+ } else {
+ hasElementChild = true;
+ childTags.push(p3.parseTag());
+ }
+ } else {
+ let text2 = "";
+ while (p3.i < p3.z && p3.x[p3.i] !== "<") {
+ text2 += p3.x[p3.i++];
+ }
+ textParts.push(p3.decodeEntities(text2));
+ }
+ }
+ if (!p3.isNext("")) {
+ throw new Error(`@aws-sdk XML parse error: missing closing tag ${tag}>.`);
+ }
+ p3.i += 2;
+ const closeTag = p3.readTo(">").trim();
+ if (closeTag !== tag) {
+ throw new Error(`@aws-sdk XML parse error: mismatched tags <${tag}> and ${closeTag}>.`);
+ }
+ if (!hasAttrs && textParts.length === 0 && !hasElementChild) {
+ return { tag, value: "" };
+ }
+ if (!hasAttrs && !hasElementChild) {
+ const text2 = textParts.length === 1 ? textParts[0] : textParts.join("");
+ if (text2.trim() === "" && text2.includes("\n")) {
+ return { tag, value: "" };
+ }
+ return { tag, value: text2 };
+ }
+ const obj = {};
+ for (const text2 of textParts) {
+ if (text2.trim() === "" && text2.includes("\n")) {
+ continue;
+ }
+ obj["#text"] = "#text" in obj ? obj["#text"] + text2 : text2;
+ }
+ for (const child of childTags) {
+ if (child.tag === "__proto__") {
+ writeKey3(obj);
+ }
+ if (child.tag in obj) {
+ if (Array.isArray(obj[child.tag])) {
+ obj[child.tag].push(child.value);
+ } else {
+ obj[child.tag] = [obj[child.tag], child.value];
+ }
+ } else {
+ obj[child.tag] = child.value;
+ }
+ }
+ for (const [k5, v] of Object.entries(attrs)) {
+ if (k5 === "__proto__") {
+ writeKey3(obj);
+ }
+ obj[k5] = v;
+ }
+ return { tag, value: obj };
+ }
+ static ENTITIES = {
+ amp: "&",
+ lt: "<",
+ gt: ">",
+ quot: '"',
+ apos: "'"
+ };
+ skipDoctype() {
+ const p3 = this;
+ p3.i += 9;
+ let depth = 0;
+ while (p3.i < p3.z) {
+ const c5 = p3.x[p3.i];
+ if (c5 === "[") {
+ ++depth;
+ } else if (c5 === "]") {
+ --depth;
+ } else if (c5 === ">" && depth === 0) {
+ ++p3.i;
+ return;
+ }
+ ++p3.i;
+ }
+ throw new Error("@aws-sdk XML parse error: unclosed DOCTYPE.");
+ }
+ decodeEntities(s2) {
+ return s2.replace(/&(?:#x([0-9a-fA-F]{1,6})|#(\d{1,7})|([a-zA-Z][a-zA-Z0-9]{0,30}));/g, (_, hex3, dec, named) => {
+ if (hex3) {
+ return String.fromCharCode(parseInt(hex3, 16));
+ }
+ if (dec) {
+ return String.fromCharCode(parseInt(dec, 10));
+ }
+ return _AwsXmlParser.ENTITIES[named] ?? "";
+ });
+ }
+ };
+ exports.XmlNode = XmlNode2;
+ exports.XmlText = XmlText2;
+ exports.parseXML = parseXML2;
+ }
+});
+
+// ../../node_modules/.pnpm/@aws-sdk+core@3.978.4/node_modules/@aws-sdk/core/dist-es/submodules/protocols/ConfigurableSerdeContext.js
+var SerdeContextConfig2;
+var init_ConfigurableSerdeContext2 = __esm({
+ "../../node_modules/.pnpm/@aws-sdk+core@3.978.4/node_modules/@aws-sdk/core/dist-es/submodules/protocols/ConfigurableSerdeContext.js"() {
+ SerdeContextConfig2 = class {
+ static {
+ __name(this, "SerdeContextConfig");
+ }
+ serdeContext;
+ setSerdeContext(serdeContext) {
+ this.serdeContext = serdeContext;
+ }
+ };
+ }
+});
+
+// ../../node_modules/.pnpm/@aws-sdk+core@3.978.4/node_modules/@aws-sdk/core/dist-es/submodules/protocols/UnionSerde.js
+var UnionSerde2;
+var init_UnionSerde2 = __esm({
+ "../../node_modules/.pnpm/@aws-sdk+core@3.978.4/node_modules/@aws-sdk/core/dist-es/submodules/protocols/UnionSerde.js"() {
+ UnionSerde2 = class {
+ static {
+ __name(this, "UnionSerde");
+ }
+ from;
+ to;
+ keys;
+ constructor(from, to) {
+ this.from = from;
+ this.to = to;
+ const keys = Object.keys(this.from);
+ const set2 = new Set(keys);
+ set2.delete("__type");
+ this.keys = set2;
+ }
+ mark(key) {
+ this.keys.delete(key);
+ }
+ hasUnknown() {
+ return this.keys.size === 1 && Object.keys(this.to).length === 0;
+ }
+ writeUnknown() {
+ if (this.hasUnknown()) {
+ const k5 = this.keys.values().next().value;
+ const v = this.from[k5];
+ this.to.$unknown = [k5, v];
+ }
+ }
+ };
+ }
+});
+
+// ../../node_modules/.pnpm/@aws-sdk+core@3.978.4/node_modules/@aws-sdk/core/dist-es/submodules/protocols/writeKey.js
+function writeKey2(obj) {
+ Object.defineProperty(obj, "__proto__", { value: void 0, writable: true, enumerable: true, configurable: true });
+}
+var init_writeKey2 = __esm({
+ "../../node_modules/.pnpm/@aws-sdk+core@3.978.4/node_modules/@aws-sdk/core/dist-es/submodules/protocols/writeKey.js"() {
+ __name(writeKey2, "writeKey");
+ }
+});
+
+// ../../node_modules/.pnpm/@aws-sdk+core@3.978.4/node_modules/@aws-sdk/core/dist-es/submodules/protocols/xml/XmlShapeDeserializer.js
+var import_xml_builder, XmlShapeDeserializer;
+var init_XmlShapeDeserializer = __esm({
+ "../../node_modules/.pnpm/@aws-sdk+core@3.978.4/node_modules/@aws-sdk/core/dist-es/submodules/protocols/xml/XmlShapeDeserializer.js"() {
+ import_xml_builder = __toESM(require_dist_cjs4());
+ init_client();
+ init_protocols();
+ init_schema();
+ init_serde();
+ init_ConfigurableSerdeContext2();
+ init_UnionSerde2();
+ init_writeKey2();
+ XmlShapeDeserializer = class extends SerdeContextConfig2 {
+ static {
+ __name(this, "XmlShapeDeserializer");
+ }
+ settings;
+ stringDeserializer;
+ constructor(settings) {
+ super();
+ this.settings = settings;
+ this.stringDeserializer = new FromStringShapeDeserializer(settings);
+ }
+ setSerdeContext(serdeContext) {
+ this.serdeContext = serdeContext;
+ this.stringDeserializer.setSerdeContext(serdeContext);
+ }
+ read(schema2, bytes, key) {
+ const ns = NormalizedSchema.of(schema2);
+ const memberSchemas = ns.getMemberSchemas();
+ const isEventPayload = ns.isStructSchema() && ns.isMemberSchema() && !!Object.values(memberSchemas).find((memberNs) => {
+ return !!memberNs.getMemberTraits().eventPayload;
+ });
+ if (isEventPayload) {
+ const output2 = {};
+ const memberName = Object.keys(memberSchemas)[0];
+ const eventMemberSchema = memberSchemas[memberName];
+ if (eventMemberSchema.isBlobSchema()) {
+ output2[memberName] = bytes;
+ } else {
+ output2[memberName] = this.read(memberSchemas[memberName], bytes);
+ }
+ return output2;
+ }
+ const xmlString = (this.serdeContext?.utf8Encoder ?? toUtf8)(bytes);
+ const parsedObject = this.parseXml(xmlString);
+ return this.readSchema(schema2, key ? parsedObject[key] : parsedObject);
+ }
+ readSchema(_schema, value) {
+ const ns = NormalizedSchema.of(_schema);
+ if (ns.isUnitSchema()) {
+ return;
+ }
+ const traits = ns.getMergedTraits();
+ if (ns.isListSchema() && !Array.isArray(value)) {
+ return this.readSchema(ns, [value]);
+ }
+ if (value == null) {
+ return value;
+ }
+ if (typeof value === "object") {
+ const flat = !!traits.xmlFlattened;
+ if (ns.isListSchema()) {
+ const listValue = ns.getValueSchema();
+ const buffer2 = [];
+ const sourceKey = listValue.getMergedTraits().xmlName ?? "member";
+ const source = flat ? value : (value[0] ?? value)[sourceKey];
+ if (source == null) {
+ return buffer2;
+ }
+ const sourceArray = Array.isArray(source) ? source : [source];
+ for (const v of sourceArray) {
+ buffer2.push(this.readSchema(listValue, v));
+ }
+ return buffer2;
+ }
+ const buffer = {};
+ if (ns.isMapSchema()) {
+ const keyNs = ns.getKeySchema();
+ const memberNs = ns.getValueSchema();
+ let entries;
+ if (flat) {
+ entries = Array.isArray(value) ? value : [value];
+ } else {
+ entries = Array.isArray(value.entry) ? value.entry : [value.entry];
+ }
+ const keyProperty = keyNs.getMergedTraits().xmlName ?? "key";
+ const valueProperty = memberNs.getMergedTraits().xmlName ?? "value";
+ for (const entry of entries) {
+ const key = entry[keyProperty];
+ const value2 = entry[valueProperty];
+ if (key === "__proto__") {
+ writeKey2(buffer);
+ }
+ buffer[key] = this.readSchema(memberNs, value2);
+ }
+ return buffer;
+ }
+ if (ns.isStructSchema()) {
+ const union2 = ns.isUnionSchema();
+ let unionSerde;
+ if (union2) {
+ unionSerde = new UnionSerde2(value, buffer);
+ }
+ for (const [memberName, memberSchema] of ns.structIterator()) {
+ const memberTraits = memberSchema.getMergedTraits();
+ const xmlObjectKey = !memberTraits.httpPayload ? memberSchema.getMemberTraits().xmlName ?? memberName : memberTraits.xmlName ?? memberSchema.getName();
+ if (union2) {
+ unionSerde.mark(xmlObjectKey);
+ }
+ if (value[xmlObjectKey] != null) {
+ buffer[memberName] = this.readSchema(memberSchema, value[xmlObjectKey]);
+ }
+ }
+ if (union2) {
+ unionSerde.writeUnknown();
+ }
+ return buffer;
+ }
+ if (ns.isDocumentSchema()) {
+ return value;
+ }
+ throw new Error(`@aws-sdk/core/protocols - xml deserializer unhandled schema type for ${ns.getName(true)}`);
+ }
+ if (ns.isListSchema()) {
+ return [];
+ }
+ if (ns.isMapSchema() || ns.isStructSchema()) {
+ return {};
+ }
+ return this.stringDeserializer.read(ns, value);
+ }
+ parseXml(xml) {
+ if (xml.length) {
+ let parsedObj;
+ try {
+ parsedObj = (0, import_xml_builder.parseXML)(xml);
+ } catch (e5) {
+ if (e5 && typeof e5 === "object") {
+ Object.defineProperty(e5, "$responseBodyText", {
+ value: xml
+ });
+ }
+ throw e5;
+ }
+ const textNodeName = "#text";
+ const key = Object.keys(parsedObj)[0];
+ const parsedObjToReturn = parsedObj[key];
+ if (parsedObjToReturn[textNodeName]) {
+ parsedObjToReturn[key] = parsedObjToReturn[textNodeName];
+ delete parsedObjToReturn[textNodeName];
+ }
+ return getValueFromTextNode(parsedObjToReturn);
+ }
+ return {};
+ }
+ };
+ }
+});
+
+// ../../node_modules/.pnpm/@aws-sdk+core@3.978.4/node_modules/@aws-sdk/core/dist-es/submodules/protocols/query/QueryShapeSerializer.js
+var QueryShapeSerializer;
+var init_QueryShapeSerializer = __esm({
+ "../../node_modules/.pnpm/@aws-sdk+core@3.978.4/node_modules/@aws-sdk/core/dist-es/submodules/protocols/query/QueryShapeSerializer.js"() {
+ init_protocols();
+ init_schema();
+ init_serde();
+ init_serde();
+ init_ConfigurableSerdeContext2();
+ QueryShapeSerializer = class extends SerdeContextConfig2 {
+ static {
+ __name(this, "QueryShapeSerializer");
+ }
+ settings;
+ buffer;
+ constructor(settings) {
+ super();
+ this.settings = settings;
+ }
+ write(schema2, value, prefix = "") {
+ if (this.buffer === void 0) {
+ this.buffer = "";
+ }
+ const ns = NormalizedSchema.of(schema2);
+ if (prefix && !prefix.endsWith(".")) {
+ prefix += ".";
+ }
+ if (ns.isBlobSchema()) {
+ if (typeof value === "string" || value instanceof Uint8Array) {
+ this.writeKey(prefix);
+ this.writeValue((this.serdeContext?.base64Encoder ?? toBase64)(value));
+ }
+ } else if (ns.isBooleanSchema() || ns.isNumericSchema() || ns.isStringSchema()) {
+ if (value != null) {
+ this.writeKey(prefix);
+ this.writeValue(String(value));
+ } else if (ns.isIdempotencyToken()) {
+ this.writeKey(prefix);
+ this.writeValue(generateIdempotencyToken());
+ }
+ } else if (ns.isBigIntegerSchema()) {
+ if (value != null) {
+ this.writeKey(prefix);
+ this.writeValue(String(value));
+ }
+ } else if (ns.isBigDecimalSchema()) {
+ if (value != null) {
+ this.writeKey(prefix);
+ this.writeValue(value instanceof NumericValue ? value.string : String(value));
+ }
+ } else if (ns.isTimestampSchema()) {
+ if (value instanceof Date) {
+ this.writeKey(prefix);
+ const format = determineTimestampFormat(ns, this.settings);
+ switch (format) {
+ case 5:
+ this.writeValue(value.toISOString().replace(".000Z", "Z"));
+ break;
+ case 6:
+ this.writeValue(dateToUtcString(value));
+ break;
+ case 7:
+ this.writeValue(String(value.getTime() / 1e3));
+ break;
+ }
+ }
+ } else if (ns.isDocumentSchema()) {
+ if (Array.isArray(value)) {
+ this.write(64 | 15, value, prefix);
+ } else if (value instanceof Date) {
+ this.write(4, value, prefix);
+ } else if (value instanceof Uint8Array) {
+ this.write(21, value, prefix);
+ } else if (value && typeof value === "object") {
+ this.write(128 | 15, value, prefix);
+ } else {
+ this.writeKey(prefix);
+ this.writeValue(String(value));
+ }
+ } else if (ns.isListSchema()) {
+ if (Array.isArray(value)) {
+ if (value.length === 0) {
+ if (this.settings.serializeEmptyLists) {
+ this.writeKey(prefix);
+ this.writeValue("");
+ }
+ } else {
+ const member = ns.getValueSchema();
+ const flat = this.settings.flattenLists || ns.getMergedTraits().xmlFlattened;
+ let i5 = 1;
+ for (const item of value) {
+ if (item == null) {
+ continue;
+ }
+ const traits = member.getMergedTraits();
+ const suffix = this.getKey("member", traits.xmlName, traits.ec2QueryName);
+ const key = flat ? `${prefix}${i5}` : `${prefix}${suffix}.${i5}`;
+ this.write(member, item, key);
+ ++i5;
+ }
+ }
+ }
+ } else if (ns.isMapSchema()) {
+ if (value && typeof value === "object") {
+ const keySchema = ns.getKeySchema();
+ const memberSchema = ns.getValueSchema();
+ const flat = ns.getMergedTraits().xmlFlattened;
+ let i5 = 1;
+ for (const k5 in value) {
+ const v = value[k5];
+ if (v == null) {
+ continue;
+ }
+ const keyTraits = keySchema.getMergedTraits();
+ const keySuffix = this.getKey("key", keyTraits.xmlName, keyTraits.ec2QueryName);
+ const key = flat ? `${prefix}${i5}.${keySuffix}` : `${prefix}entry.${i5}.${keySuffix}`;
+ const valTraits = memberSchema.getMergedTraits();
+ const valueSuffix = this.getKey("value", valTraits.xmlName, valTraits.ec2QueryName);
+ const valueKey = flat ? `${prefix}${i5}.${valueSuffix}` : `${prefix}entry.${i5}.${valueSuffix}`;
+ this.write(keySchema, k5, key);
+ this.write(memberSchema, v, valueKey);
+ ++i5;
+ }
+ }
+ } else if (ns.isStructSchema()) {
+ if (value && typeof value === "object") {
+ let didWriteMember = false;
+ for (const [memberName, member] of ns.structIterator()) {
+ if (value[memberName] == null && !member.isIdempotencyToken()) {
+ continue;
+ }
+ const traits = member.getMergedTraits();
+ const suffix = this.getKey(memberName, traits.xmlName, traits.ec2QueryName, "struct");
+ const key = `${prefix}${suffix}`;
+ this.write(member, value[memberName], key);
+ didWriteMember = true;
+ }
+ if (!didWriteMember && ns.isUnionSchema()) {
+ const { $unknown } = value;
+ if (Array.isArray($unknown)) {
+ const [k5, v] = $unknown;
+ const key = `${prefix}${k5}`;
+ this.write(15, v, key);
+ }
+ }
+ }
+ } else if (ns.isUnitSchema()) {
+ } else {
+ throw new Error(`@aws-sdk/core/protocols - QuerySerializer unrecognized schema type ${ns.getName(true)}`);
+ }
+ }
+ flush() {
+ if (this.buffer === void 0) {
+ throw new Error("@aws-sdk/core/protocols - QuerySerializer cannot flush with nothing written to buffer.");
+ }
+ const str = this.buffer;
+ delete this.buffer;
+ return str;
+ }
+ getKey(memberName, xmlName, ec2QueryName, keySource) {
+ const { ec2, capitalizeKeys } = this.settings;
+ if (ec2 && ec2QueryName) {
+ return ec2QueryName;
+ }
+ const key = xmlName ?? memberName;
+ if (capitalizeKeys && keySource === "struct") {
+ return key[0].toUpperCase() + key.slice(1);
+ }
+ return key;
+ }
+ writeKey(key) {
+ if (key.endsWith(".")) {
+ key = key.slice(0, key.length - 1);
+ }
+ this.buffer += `&${extendedEncodeURIComponent(key)}=`;
+ }
+ writeValue(value) {
+ this.buffer += extendedEncodeURIComponent(value);
+ }
+ };
+ }
+});
+
+// ../../node_modules/.pnpm/@aws-sdk+core@3.978.4/node_modules/@aws-sdk/core/dist-es/submodules/protocols/query/AwsQueryProtocol.js
+var AwsQueryProtocol;
+var init_AwsQueryProtocol = __esm({
+ "../../node_modules/.pnpm/@aws-sdk+core@3.978.4/node_modules/@aws-sdk/core/dist-es/submodules/protocols/query/AwsQueryProtocol.js"() {
+ init_protocols();
+ init_schema();
+ init_ProtocolLib();
+ init_XmlShapeDeserializer();
+ init_QueryShapeSerializer();
+ AwsQueryProtocol = class extends RpcProtocol {
+ static {
+ __name(this, "AwsQueryProtocol");
+ }
+ options;
+ serializer;
+ deserializer;
+ mixin = new ProtocolLib();
+ constructor(options) {
+ super({
+ defaultNamespace: options.defaultNamespace,
+ errorTypeRegistries: options.errorTypeRegistries
+ });
+ this.options = options;
+ const settings = {
+ timestampFormat: {
+ useTrait: true,
+ default: 5
+ },
+ httpBindings: false,
+ xmlNamespace: options.xmlNamespace,
+ serviceNamespace: options.defaultNamespace,
+ serializeEmptyLists: true
+ };
+ this.serializer = new QueryShapeSerializer(settings);
+ this.deserializer = new XmlShapeDeserializer(settings);
+ }
+ getShapeId() {
+ return "aws.protocols#awsQuery";
+ }
+ setSerdeContext(serdeContext) {
+ this.serializer.setSerdeContext(serdeContext);
+ this.deserializer.setSerdeContext(serdeContext);
+ }
+ getPayloadCodec() {
+ throw new Error("AWSQuery protocol has no payload codec.");
+ }
+ async serializeRequest(operationSchema, input2, context) {
+ const request = await super.serializeRequest(operationSchema, input2, context);
+ if (!request.path.endsWith("/")) {
+ request.path += "/";
+ }
+ request.headers["content-type"] = "application/x-www-form-urlencoded";
+ if (deref(operationSchema.input) === "unit" || !request.body) {
+ request.body = "";
+ }
+ const action = operationSchema.name.split("#")[1] ?? operationSchema.name;
+ request.body = `Action=${action}&Version=${this.options.version}` + request.body;
+ if (request.body.endsWith("&")) {
+ request.body = request.body.slice(-1);
+ }
+ return request;
+ }
+ async deserializeResponse(operationSchema, context, response) {
+ const deserializer = this.deserializer;
+ const ns = NormalizedSchema.of(operationSchema.output);
+ const dataObject = {};
+ if (response.statusCode >= 300) {
+ const bytes2 = await collectBody(response.body, context);
+ if (bytes2.byteLength > 0) {
+ Object.assign(dataObject, await deserializer.read(15, bytes2));
+ }
+ await this.handleError(operationSchema, context, response, dataObject, this.deserializeMetadata(response));
+ }
+ for (const header in response.headers) {
+ const value = response.headers[header];
+ delete response.headers[header];
+ response.headers[header.toLowerCase()] = value;
+ }
+ const shortName = operationSchema.name.split("#")[1] ?? operationSchema.name;
+ const awsQueryResultKey = ns.isStructSchema() && this.useNestedResult() ? shortName + "Result" : void 0;
+ const bytes = await collectBody(response.body, context);
+ if (bytes.byteLength > 0) {
+ Object.assign(dataObject, await deserializer.read(ns, bytes, awsQueryResultKey));
+ }
+ dataObject.$metadata = this.deserializeMetadata(response);
+ return dataObject;
+ }
+ useNestedResult() {
+ return true;
+ }
+ async handleError(operationSchema, context, response, dataObject, metadata) {
+ const errorIdentifier = this.loadQueryErrorCode(response, dataObject) ?? "Unknown";
+ this.mixin.compose(this.compositeErrorRegistry, errorIdentifier, this.options.defaultNamespace);
+ const errorData = this.loadQueryError(dataObject) ?? {};
+ const message = this.loadQueryErrorMessage(dataObject);
+ errorData.message = message;
+ errorData.Error = {
+ Type: errorData.Type,
+ Code: errorData.Code,
+ Message: message
+ };
+ const { errorSchema, errorMetadata } = await this.mixin.getErrorSchemaOrThrowBaseException(errorIdentifier, this.options.defaultNamespace, response, errorData, metadata, this.mixin.findQueryCompatibleError);
+ const ns = NormalizedSchema.of(errorSchema);
+ const ErrorCtor = this.compositeErrorRegistry.getErrorCtor(errorSchema) ?? Error;
+ const exception = new ErrorCtor({});
+ const output2 = {
+ Type: errorData.Error.Type,
+ Code: errorData.Error.Code,
+ Error: errorData.Error
+ };
+ for (const [name2, member] of ns.structIterator()) {
+ const target = member.getMergedTraits().xmlName ?? name2;
+ const value = errorData[target] ?? dataObject[target];
+ output2[name2] = this.deserializer.readSchema(member, value);
+ }
+ throw this.mixin.decorateServiceException(Object.assign(exception, errorMetadata, {
+ $fault: ns.getMergedTraits().error,
+ message
+ }, output2), dataObject);
+ }
+ loadQueryErrorCode(output2, data) {
+ const code = (data.Errors?.[0]?.Error ?? data.Errors?.Error ?? data.Error)?.Code;
+ if (code !== void 0) {
+ return code;
+ }
+ if (output2.statusCode == 404) {
+ return "NotFound";
+ }
+ }
+ loadQueryError(data) {
+ return data.Errors?.[0]?.Error ?? data.Errors?.Error ?? data.Error;
+ }
+ loadQueryErrorMessage(data) {
+ const errorData = this.loadQueryError(data);
+ return errorData?.message ?? errorData?.Message ?? data.message ?? data.Message ?? "Unknown";
+ }
+ getDefaultContentType() {
+ return "application/x-www-form-urlencoded";
+ }
+ };
+ }
+});
+
+// ../../node_modules/.pnpm/@aws-sdk+core@3.978.4/node_modules/@aws-sdk/core/dist-es/submodules/protocols/xml/parseXmlBody.js
+var loadRestXmlErrorCode;
+var init_parseXmlBody = __esm({
+ "../../node_modules/.pnpm/@aws-sdk+core@3.978.4/node_modules/@aws-sdk/core/dist-es/submodules/protocols/xml/parseXmlBody.js"() {
+ loadRestXmlErrorCode = /* @__PURE__ */ __name((output2, data) => {
+ if (data?.Error?.Code !== void 0) {
+ return data.Error.Code;
+ }
+ if (data?.Code !== void 0) {
+ return data.Code;
+ }
+ if (output2.statusCode == 404) {
+ return "NotFound";
+ }
+ }, "loadRestXmlErrorCode");
+ }
+});
+
+// ../../node_modules/.pnpm/@aws-sdk+core@3.978.4/node_modules/@aws-sdk/core/dist-es/submodules/protocols/xml/XmlShapeSerializer.js
+var import_xml_builder2, XmlShapeSerializer;
+var init_XmlShapeSerializer = __esm({
+ "../../node_modules/.pnpm/@aws-sdk+core@3.978.4/node_modules/@aws-sdk/core/dist-es/submodules/protocols/xml/XmlShapeSerializer.js"() {
+ import_xml_builder2 = __toESM(require_dist_cjs4());
+ init_protocols();
+ init_schema();
+ init_serde();
+ init_serde();
+ init_ConfigurableSerdeContext2();
+ XmlShapeSerializer = class extends SerdeContextConfig2 {
+ static {
+ __name(this, "XmlShapeSerializer");
+ }
+ settings;
+ stringBuffer;
+ byteBuffer;
+ buffer;
+ constructor(settings) {
+ super();
+ this.settings = settings;
+ }
+ write(schema2, value) {
+ const ns = NormalizedSchema.of(schema2);
+ if (ns.isStringSchema() && typeof value === "string") {
+ this.stringBuffer = value;
+ } else if (ns.isBlobSchema()) {
+ this.byteBuffer = "byteLength" in value ? value : (this.serdeContext?.base64Decoder ?? fromBase64)(value);
+ } else {
+ this.buffer = this.writeStruct(ns, value, void 0);
+ const traits = ns.getMergedTraits();
+ if (traits.httpPayload && !traits.xmlName) {
+ this.buffer.withName(ns.getName());
+ }
+ }
+ }
+ flush() {
+ if (this.byteBuffer !== void 0) {
+ const bytes = this.byteBuffer;
+ delete this.byteBuffer;
+ return bytes;
+ }
+ if (this.stringBuffer !== void 0) {
+ const str = this.stringBuffer;
+ delete this.stringBuffer;
+ return str;
+ }
+ const buffer = this.buffer;
+ if (this.settings.xmlNamespace) {
+ if (!buffer?.attributes?.["xmlns"]) {
+ buffer.addAttribute("xmlns", this.settings.xmlNamespace);
+ }
+ }
+ delete this.buffer;
+ return buffer.toString();
+ }
+ writeStruct(ns, value, parentXmlns) {
+ const traits = ns.getMergedTraits();
+ const name2 = ns.isMemberSchema() && !traits.httpPayload ? ns.getMemberTraits().xmlName ?? ns.getMemberName() : traits.xmlName ?? ns.getName();
+ if (!name2 || !ns.isStructSchema()) {
+ throw new Error(`@aws-sdk/core/protocols - xml serializer, cannot write struct with empty name or non-struct, schema=${ns.getName(true)}.`);
+ }
+ const structXmlNode = import_xml_builder2.XmlNode.of(name2);
+ const [xmlnsAttr, xmlns] = this.getXmlnsAttribute(ns, parentXmlns);
+ for (const [memberName, memberSchema] of ns.structIterator()) {
+ const val = value[memberName];
+ if (val != null || memberSchema.isIdempotencyToken()) {
+ if (memberSchema.getMergedTraits().xmlAttribute) {
+ structXmlNode.addAttribute(memberSchema.getMergedTraits().xmlName ?? memberName, this.writeSimple(memberSchema, val));
+ continue;
+ }
+ if (memberSchema.isListSchema()) {
+ this.writeList(memberSchema, val, structXmlNode, xmlns);
+ } else if (memberSchema.isMapSchema()) {
+ this.writeMap(memberSchema, val, structXmlNode, xmlns);
+ } else if (memberSchema.isStructSchema()) {
+ structXmlNode.addChildNode(this.writeStruct(memberSchema, val, xmlns));
+ } else {
+ const memberNode = import_xml_builder2.XmlNode.of(memberSchema.getMergedTraits().xmlName ?? memberSchema.getMemberName());
+ this.writeSimpleInto(memberSchema, val, memberNode, xmlns);
+ structXmlNode.addChildNode(memberNode);
+ }
+ }
+ }
+ const { $unknown } = value;
+ if ($unknown && ns.isUnionSchema() && Array.isArray($unknown) && Object.keys(value).length === 1) {
+ const [k5, v] = $unknown;
+ const node2 = import_xml_builder2.XmlNode.of(k5);
+ if (typeof v !== "string") {
+ if (value instanceof import_xml_builder2.XmlNode || value instanceof import_xml_builder2.XmlText) {
+ structXmlNode.addChildNode(value);
+ } else {
+ throw new Error(`@aws-sdk - $unknown union member in XML requires value of type string, @aws-sdk/xml-builder::XmlNode or XmlText.`);
+ }
+ }
+ this.writeSimpleInto(0, v, node2, xmlns);
+ structXmlNode.addChildNode(node2);
+ }
+ if (xmlns) {
+ structXmlNode.addAttribute(xmlnsAttr, xmlns);
+ }
+ return structXmlNode;
+ }
+ writeList(listMember, array2, container, parentXmlns) {
+ if (!listMember.isMemberSchema()) {
+ throw new Error(`@aws-sdk/core/protocols - xml serializer, cannot write non-member list: ${listMember.getName(true)}`);
+ }
+ const listTraits = listMember.getMergedTraits();
+ const listValueSchema = listMember.getValueSchema();
+ const listValueTraits = listValueSchema.getMergedTraits();
+ const sparse = !!listValueTraits.sparse;
+ const flat = !!listTraits.xmlFlattened;
+ const [xmlnsAttr, xmlns] = this.getXmlnsAttribute(listMember, parentXmlns);
+ const writeItem = /* @__PURE__ */ __name((container2, value) => {
+ if (listValueSchema.isListSchema()) {
+ this.writeList(listValueSchema, Array.isArray(value) ? value : [value], container2, xmlns);
+ } else if (listValueSchema.isMapSchema()) {
+ this.writeMap(listValueSchema, value, container2, xmlns);
+ } else if (listValueSchema.isStructSchema()) {
+ const struct = this.writeStruct(listValueSchema, value, xmlns);
+ container2.addChildNode(struct.withName(flat ? listTraits.xmlName ?? listMember.getMemberName() : listValueTraits.xmlName ?? "member"));
+ } else {
+ const listItemNode = import_xml_builder2.XmlNode.of(flat ? listTraits.xmlName ?? listMember.getMemberName() : listValueTraits.xmlName ?? "member");
+ this.writeSimpleInto(listValueSchema, value, listItemNode, xmlns);
+ container2.addChildNode(listItemNode);
+ }
+ }, "writeItem");
+ if (flat) {
+ for (const value of array2) {
+ if (sparse || value != null) {
+ writeItem(container, value);
+ }
+ }
+ } else {
+ const listNode = import_xml_builder2.XmlNode.of(listTraits.xmlName ?? listMember.getMemberName());
+ if (xmlns) {
+ listNode.addAttribute(xmlnsAttr, xmlns);
+ }
+ for (const value of array2) {
+ if (sparse || value != null) {
+ writeItem(listNode, value);
+ }
+ }
+ container.addChildNode(listNode);
+ }
+ }
+ writeMap(mapMember, map2, container, parentXmlns, containerIsMap = false) {
+ if (!mapMember.isMemberSchema()) {
+ throw new Error(`@aws-sdk/core/protocols - xml serializer, cannot write non-member map: ${mapMember.getName(true)}`);
+ }
+ const mapTraits = mapMember.getMergedTraits();
+ const mapKeySchema = mapMember.getKeySchema();
+ const mapKeyTraits = mapKeySchema.getMergedTraits();
+ const keyTag = mapKeyTraits.xmlName ?? "key";
+ const mapValueSchema = mapMember.getValueSchema();
+ const mapValueTraits = mapValueSchema.getMergedTraits();
+ const valueTag = mapValueTraits.xmlName ?? "value";
+ const sparse = !!mapValueTraits.sparse;
+ const flat = !!mapTraits.xmlFlattened;
+ const [xmlnsAttr, xmlns] = this.getXmlnsAttribute(mapMember, parentXmlns);
+ const addKeyValue = /* @__PURE__ */ __name((entry, key, val) => {
+ const keyNode = import_xml_builder2.XmlNode.of(keyTag, key);
+ const [keyXmlnsAttr, keyXmlns] = this.getXmlnsAttribute(mapKeySchema, xmlns);
+ if (keyXmlns) {
+ keyNode.addAttribute(keyXmlnsAttr, keyXmlns);
+ }
+ entry.addChildNode(keyNode);
+ let valueNode = import_xml_builder2.XmlNode.of(valueTag);
+ if (mapValueSchema.isListSchema()) {
+ this.writeList(mapValueSchema, val, valueNode, xmlns);
+ } else if (mapValueSchema.isMapSchema()) {
+ this.writeMap(mapValueSchema, val, valueNode, xmlns, true);
+ } else if (mapValueSchema.isStructSchema()) {
+ valueNode = this.writeStruct(mapValueSchema, val, xmlns);
+ } else {
+ this.writeSimpleInto(mapValueSchema, val, valueNode, xmlns);
+ }
+ entry.addChildNode(valueNode);
+ }, "addKeyValue");
+ if (flat) {
+ for (const key in map2) {
+ const val = map2[key];
+ if (sparse || val != null) {
+ const entry = import_xml_builder2.XmlNode.of(mapTraits.xmlName ?? mapMember.getMemberName());
+ addKeyValue(entry, key, val);
+ container.addChildNode(entry);
+ }
+ }
+ } else {
+ let mapNode;
+ if (!containerIsMap) {
+ mapNode = import_xml_builder2.XmlNode.of(mapTraits.xmlName ?? mapMember.getMemberName());
+ if (xmlns) {
+ mapNode.addAttribute(xmlnsAttr, xmlns);
+ }
+ container.addChildNode(mapNode);
+ }
+ for (const key in map2) {
+ const val = map2[key];
+ if (sparse || val != null) {
+ const entry = import_xml_builder2.XmlNode.of("entry");
+ addKeyValue(entry, key, val);
+ (containerIsMap ? container : mapNode).addChildNode(entry);
+ }
+ }
+ }
+ }
+ writeSimple(_schema, value) {
+ if (null === value) {
+ throw new Error("@aws-sdk/core/protocols - (XML serializer) cannot write null value.");
+ }
+ const ns = NormalizedSchema.of(_schema);
+ let nodeContents = null;
+ if (value && typeof value === "object") {
+ if (ns.isBlobSchema()) {
+ nodeContents = (this.serdeContext?.base64Encoder ?? toBase64)(value);
+ } else if (ns.isTimestampSchema() && value instanceof Date) {
+ const format = determineTimestampFormat(ns, this.settings);
+ switch (format) {
+ case 5:
+ nodeContents = value.toISOString().replace(".000Z", "Z");
+ break;
+ case 6:
+ nodeContents = dateToUtcString(value);
+ break;
+ case 7:
+ nodeContents = String(value.getTime() / 1e3);
+ break;
+ default:
+ console.warn("Missing timestamp format, using http date", value);
+ nodeContents = dateToUtcString(value);
+ break;
+ }
+ } else if (ns.isBigDecimalSchema() && value) {
+ if (value instanceof NumericValue) {
+ return value.string;
+ }
+ return String(value);
+ } else if (ns.isMapSchema() || ns.isListSchema()) {
+ throw new Error("@aws-sdk/core/protocols - xml serializer, cannot call _write() on List/Map schema, call writeList or writeMap() instead.");
+ } else {
+ throw new Error(`@aws-sdk/core/protocols - xml serializer, unhandled schema type for object value and schema: ${ns.getName(true)}`);
+ }
+ }
+ if (ns.isBooleanSchema() || ns.isNumericSchema() || ns.isBigIntegerSchema() || ns.isBigDecimalSchema()) {
+ nodeContents = String(value);
+ }
+ if (ns.isStringSchema()) {
+ if (value === void 0 && ns.isIdempotencyToken()) {
+ nodeContents = generateIdempotencyToken();
+ } else {
+ nodeContents = String(value);
+ }
+ }
+ if (nodeContents === null) {
+ throw new Error(`Unhandled schema-value pair ${ns.getName(true)}=${value}`);
+ }
+ return nodeContents;
+ }
+ writeSimpleInto(_schema, value, into, parentXmlns) {
+ const nodeContents = this.writeSimple(_schema, value);
+ const ns = NormalizedSchema.of(_schema);
+ const content = new import_xml_builder2.XmlText(nodeContents);
+ const [xmlnsAttr, xmlns] = this.getXmlnsAttribute(ns, parentXmlns);
+ if (xmlns) {
+ into.addAttribute(xmlnsAttr, xmlns);
+ }
+ into.addChildNode(content);
+ }
+ getXmlnsAttribute(ns, parentXmlns) {
+ const traits = ns.getMergedTraits();
+ const [prefix, xmlns] = traits.xmlNamespace ?? [];
+ if (xmlns && xmlns !== parentXmlns) {
+ return [prefix ? `xmlns:${prefix}` : "xmlns", xmlns];
+ }
+ return [void 0, void 0];
+ }
+ };
+ }
+});
+
+// ../../node_modules/.pnpm/@aws-sdk+core@3.978.4/node_modules/@aws-sdk/core/dist-es/submodules/protocols/xml/XmlCodec.js
+var XmlCodec;
+var init_XmlCodec = __esm({
+ "../../node_modules/.pnpm/@aws-sdk+core@3.978.4/node_modules/@aws-sdk/core/dist-es/submodules/protocols/xml/XmlCodec.js"() {
+ init_ConfigurableSerdeContext2();
+ init_XmlShapeDeserializer();
+ init_XmlShapeSerializer();
+ XmlCodec = class extends SerdeContextConfig2 {
+ static {
+ __name(this, "XmlCodec");
+ }
+ settings;
+ constructor(settings) {
+ super();
+ this.settings = settings;
+ }
+ createSerializer() {
+ const serializer = new XmlShapeSerializer(this.settings);
+ serializer.setSerdeContext(this.serdeContext);
+ return serializer;
+ }
+ createDeserializer() {
+ const deserializer = new XmlShapeDeserializer(this.settings);
+ deserializer.setSerdeContext(this.serdeContext);
+ return deserializer;
+ }
+ };
+ }
+});
+
+// ../../node_modules/.pnpm/@aws-sdk+core@3.978.4/node_modules/@aws-sdk/core/dist-es/submodules/protocols/xml/AwsRestXmlProtocol.js
+var AwsRestXmlProtocol;
+var init_AwsRestXmlProtocol = __esm({
+ "../../node_modules/.pnpm/@aws-sdk+core@3.978.4/node_modules/@aws-sdk/core/dist-es/submodules/protocols/xml/AwsRestXmlProtocol.js"() {
+ init_protocols();
+ init_schema();
+ init_ProtocolLib();
+ init_parseXmlBody();
+ init_XmlCodec();
+ AwsRestXmlProtocol = class extends HttpBindingProtocol {
+ static {
+ __name(this, "AwsRestXmlProtocol");
+ }
+ codec;
+ serializer;
+ deserializer;
+ mixin = new ProtocolLib();
+ constructor(options) {
+ super(options);
+ const settings = {
+ timestampFormat: {
+ useTrait: true,
+ default: 5
+ },
+ httpBindings: true,
+ xmlNamespace: options.xmlNamespace,
+ serviceNamespace: options.defaultNamespace
+ };
+ this.codec = new XmlCodec(settings);
+ this.serializer = new HttpInterceptingShapeSerializer(this.codec.createSerializer(), settings);
+ this.deserializer = new HttpInterceptingShapeDeserializer(this.codec.createDeserializer(), settings);
+ }
+ getPayloadCodec() {
+ return this.codec;
+ }
+ getShapeId() {
+ return "aws.protocols#restXml";
+ }
+ async serializeRequest(operationSchema, input2, context) {
+ const request = await super.serializeRequest(operationSchema, input2, context);
+ const inputSchema = NormalizedSchema.of(operationSchema.input);
+ if (!request.headers["content-type"]) {
+ const contentType = this.mixin.resolveRestContentType(this.getDefaultContentType(), inputSchema);
+ if (contentType) {
+ request.headers["content-type"] = contentType;
+ }
+ }
+ if (typeof request.body === "string" && request.headers["content-type"] === this.getDefaultContentType() && !request.body.startsWith("' + request.body;
+ }
+ return request;
+ }
+ async deserializeResponse(operationSchema, context, response) {
+ return super.deserializeResponse(operationSchema, context, response);
+ }
+ async handleError(operationSchema, context, response, dataObject, metadata) {
+ const errorIdentifier = loadRestXmlErrorCode(response, dataObject) ?? "Unknown";
+ this.mixin.compose(this.compositeErrorRegistry, errorIdentifier, this.options.defaultNamespace);
+ if (dataObject.Error && typeof dataObject.Error === "object") {
+ for (const key of Object.keys(dataObject.Error)) {
+ dataObject[key] = dataObject.Error[key];
+ if (key.toLowerCase() === "message") {
+ dataObject.message = dataObject.Error[key];
+ }
+ }
+ }
+ if (dataObject.RequestId && !metadata.requestId) {
+ metadata.requestId = dataObject.RequestId;
+ }
+ const { errorSchema, errorMetadata } = await this.mixin.getErrorSchemaOrThrowBaseException(errorIdentifier, this.options.defaultNamespace, response, dataObject, metadata);
+ const ns = NormalizedSchema.of(errorSchema);
+ const message = dataObject.Error?.message ?? dataObject.Error?.Message ?? dataObject.message ?? dataObject.Message ?? "UnknownError";
+ const ErrorCtor = this.compositeErrorRegistry.getErrorCtor(errorSchema) ?? Error;
+ const exception = new ErrorCtor({});
+ await this.deserializeHttpMessage(errorSchema, context, response, dataObject);
+ const output2 = {};
+ const errorDeserializer = this.codec.createDeserializer();
+ for (const [name2, member] of ns.structIterator()) {
+ const target = member.getMergedTraits().xmlName ?? name2;
+ const value = dataObject.Error?.[target] ?? dataObject[target];
+ output2[name2] = errorDeserializer.readSchema(member, value);
+ }
+ throw this.mixin.decorateServiceException(Object.assign(exception, errorMetadata, {
+ $fault: ns.getMergedTraits().error,
+ message
+ }, output2), dataObject);
+ }
+ getDefaultContentType() {
+ return "application/xml";
+ }
+ hasUnstructuredPayloadBinding(ns) {
+ for (const [, member] of ns.structIterator()) {
+ if (member.getMergedTraits().httpPayload) {
+ return !(member.isStructSchema() || member.isMapSchema() || member.isListSchema());
+ }
+ }
+ return false;
+ }
+ };
+ }
+});
+
+// ../../node_modules/.pnpm/@aws-sdk+core@3.978.4/node_modules/@aws-sdk/core/dist-es/submodules/protocols/index.js
+var init_protocols2 = __esm({
+ "../../node_modules/.pnpm/@aws-sdk+core@3.978.4/node_modules/@aws-sdk/core/dist-es/submodules/protocols/index.js"() {
+ init_AwsRestJsonProtocol();
+ init_AwsQueryProtocol();
+ init_AwsRestXmlProtocol();
+ }
+});
+
+// ../../node_modules/.pnpm/@aws-sdk+middleware-sdk-s3@3.972.80/node_modules/@aws-sdk/middleware-sdk-s3/dist-es/submodules/s3/protocol/S3RestXmlProtocol.js
+var S3RestXmlProtocol;
+var init_S3RestXmlProtocol = __esm({
+ "../../node_modules/.pnpm/@aws-sdk+middleware-sdk-s3@3.972.80/node_modules/@aws-sdk/middleware-sdk-s3/dist-es/submodules/s3/protocol/S3RestXmlProtocol.js"() {
+ init_protocols2();
+ init_schema();
+ S3RestXmlProtocol = class extends AwsRestXmlProtocol {
+ static {
+ __name(this, "S3RestXmlProtocol");
+ }
+ async serializeRequest(operationSchema, input2, context) {
+ const request = await super.serializeRequest(operationSchema, input2, context);
+ const ns = NormalizedSchema.of(operationSchema.input);
+ const staticStructureSchema = ns.getSchema();
+ let bucketMemberIndex = 0;
+ const requiredMemberCount = staticStructureSchema[6] ?? 0;
+ if (input2 && typeof input2 === "object") {
+ for (const [memberName, memberNs] of ns.structIterator()) {
+ if (++bucketMemberIndex > requiredMemberCount) {
+ break;
+ }
+ if (memberName === "Bucket") {
+ if (!input2.Bucket && memberNs.getMergedTraits().httpLabel) {
+ throw new Error(`No value provided for input HTTP label: Bucket.`);
+ }
+ break;
+ }
+ }
+ }
+ return request;
+ }
+ };
+ }
+});
+
+// ../../node_modules/.pnpm/@aws-sdk+middleware-sdk-s3@3.972.80/node_modules/@aws-sdk/middleware-sdk-s3/dist-es/submodules/s3/NodeDisableMultiregionAccessPointConfigOptions.js
+var NODE_DISABLE_MULTIREGION_ACCESS_POINT_ENV_NAME, NODE_DISABLE_MULTIREGION_ACCESS_POINT_INI_NAME, NODE_DISABLE_MULTIREGION_ACCESS_POINT_CONFIG_OPTIONS;
+var init_NodeDisableMultiregionAccessPointConfigOptions = __esm({
+ "../../node_modules/.pnpm/@aws-sdk+middleware-sdk-s3@3.972.80/node_modules/@aws-sdk/middleware-sdk-s3/dist-es/submodules/s3/NodeDisableMultiregionAccessPointConfigOptions.js"() {
+ init_config();
+ NODE_DISABLE_MULTIREGION_ACCESS_POINT_ENV_NAME = "AWS_S3_DISABLE_MULTIREGION_ACCESS_POINTS";
+ NODE_DISABLE_MULTIREGION_ACCESS_POINT_INI_NAME = "s3_disable_multiregion_access_points";
+ NODE_DISABLE_MULTIREGION_ACCESS_POINT_CONFIG_OPTIONS = {
+ environmentVariableSelector: /* @__PURE__ */ __name((env3) => booleanSelector(env3, NODE_DISABLE_MULTIREGION_ACCESS_POINT_ENV_NAME, SelectorType.ENV), "environmentVariableSelector"),
+ configFileSelector: /* @__PURE__ */ __name((profile) => booleanSelector(profile, NODE_DISABLE_MULTIREGION_ACCESS_POINT_INI_NAME, SelectorType.CONFIG), "configFileSelector"),
+ default: false
+ };
+ }
+});
+
+// ../../node_modules/.pnpm/@aws-sdk+middleware-sdk-s3@3.972.80/node_modules/@aws-sdk/middleware-sdk-s3/dist-es/submodules/s3/NodeUseArnRegionConfigOptions.js
+var NODE_USE_ARN_REGION_ENV_NAME, NODE_USE_ARN_REGION_INI_NAME, NODE_USE_ARN_REGION_CONFIG_OPTIONS;
+var init_NodeUseArnRegionConfigOptions = __esm({
+ "../../node_modules/.pnpm/@aws-sdk+middleware-sdk-s3@3.972.80/node_modules/@aws-sdk/middleware-sdk-s3/dist-es/submodules/s3/NodeUseArnRegionConfigOptions.js"() {
+ init_config();
+ NODE_USE_ARN_REGION_ENV_NAME = "AWS_S3_USE_ARN_REGION";
+ NODE_USE_ARN_REGION_INI_NAME = "s3_use_arn_region";
+ NODE_USE_ARN_REGION_CONFIG_OPTIONS = {
+ environmentVariableSelector: /* @__PURE__ */ __name((env3) => booleanSelector(env3, NODE_USE_ARN_REGION_ENV_NAME, SelectorType.ENV), "environmentVariableSelector"),
+ configFileSelector: /* @__PURE__ */ __name((profile) => booleanSelector(profile, NODE_USE_ARN_REGION_INI_NAME, SelectorType.CONFIG), "configFileSelector"),
+ default: void 0
+ };
+ }
+});
+
+// ../../node_modules/.pnpm/@aws-sdk+middleware-sdk-s3@3.972.80/node_modules/@aws-sdk/middleware-sdk-s3/dist-es/submodules/s3/middleware-bucket-endpoint/bucketHostnameUtils.js
+var DOMAIN_PATTERN, IP_ADDRESS_PATTERN, DOTS_PATTERN, DOT_PATTERN, S3_HOSTNAME_PATTERN, S3_US_EAST_1_ALTNAME_PATTERN, AWS_PARTITION_SUFFIX, isBucketNameOptions, isDnsCompatibleBucketName, getRegionalSuffix, getSuffix, getSuffixForArnEndpoint, validateArnEndpointOptions, validateService, validateS3Service, validateOutpostService, validatePartition, validateRegion, validateRegionalClient, validateAccountId, validateDNSHostLabel, validateCustomEndpoint, getArnResources, validateNoDualstack, validateNoFIPS, validateMrapAlias;
+var init_bucketHostnameUtils = __esm({
+ "../../node_modules/.pnpm/@aws-sdk+middleware-sdk-s3@3.972.80/node_modules/@aws-sdk/middleware-sdk-s3/dist-es/submodules/s3/middleware-bucket-endpoint/bucketHostnameUtils.js"() {
+ DOMAIN_PATTERN = /^[a-z0-9][a-z0-9\.\-]{1,61}[a-z0-9]$/;
+ IP_ADDRESS_PATTERN = /(\d+\.){3}\d+/;
+ DOTS_PATTERN = /\.\./;
+ DOT_PATTERN = /\./;
+ S3_HOSTNAME_PATTERN = /^(.+\.)?s3(-fips)?(\.dualstack)?[.-]([a-z0-9-]+)\./;
+ S3_US_EAST_1_ALTNAME_PATTERN = /^s3(-external-1)?\.amazonaws\.com$/;
+ AWS_PARTITION_SUFFIX = "amazonaws.com";
+ isBucketNameOptions = /* @__PURE__ */ __name((options) => typeof options.bucketName === "string", "isBucketNameOptions");
+ isDnsCompatibleBucketName = /* @__PURE__ */ __name((bucketName) => DOMAIN_PATTERN.test(bucketName) && !IP_ADDRESS_PATTERN.test(bucketName) && !DOTS_PATTERN.test(bucketName), "isDnsCompatibleBucketName");
+ getRegionalSuffix = /* @__PURE__ */ __name((hostname3) => {
+ const parts = hostname3.match(S3_HOSTNAME_PATTERN);
+ return [parts[4], hostname3.replace(new RegExp(`^${parts[0]}`), "")];
+ }, "getRegionalSuffix");
+ getSuffix = /* @__PURE__ */ __name((hostname3) => S3_US_EAST_1_ALTNAME_PATTERN.test(hostname3) ? ["us-east-1", AWS_PARTITION_SUFFIX] : getRegionalSuffix(hostname3), "getSuffix");
+ getSuffixForArnEndpoint = /* @__PURE__ */ __name((hostname3) => S3_US_EAST_1_ALTNAME_PATTERN.test(hostname3) ? [hostname3.replace(`.${AWS_PARTITION_SUFFIX}`, ""), AWS_PARTITION_SUFFIX] : getRegionalSuffix(hostname3), "getSuffixForArnEndpoint");
+ validateArnEndpointOptions = /* @__PURE__ */ __name((options) => {
+ if (options.pathStyleEndpoint) {
+ throw new Error("Path-style S3 endpoint is not supported when bucket is an ARN");
+ }
+ if (options.accelerateEndpoint) {
+ throw new Error("Accelerate endpoint is not supported when bucket is an ARN");
+ }
+ if (!options.tlsCompatible) {
+ throw new Error("HTTPS is required when bucket is an ARN");
+ }
+ }, "validateArnEndpointOptions");
+ validateService = /* @__PURE__ */ __name((service) => {
+ if (service !== "s3" && service !== "s3-outposts" && service !== "s3-object-lambda") {
+ throw new Error("Expect 's3' or 's3-outposts' or 's3-object-lambda' in ARN service component");
+ }
+ }, "validateService");
+ validateS3Service = /* @__PURE__ */ __name((service) => {
+ if (service !== "s3") {
+ throw new Error("Expect 's3' in Accesspoint ARN service component");
+ }
+ }, "validateS3Service");
+ validateOutpostService = /* @__PURE__ */ __name((service) => {
+ if (service !== "s3-outposts") {
+ throw new Error("Expect 's3-posts' in Outpost ARN service component");
+ }
+ }, "validateOutpostService");
+ validatePartition = /* @__PURE__ */ __name((partition2, options) => {
+ if (partition2 !== options.clientPartition) {
+ throw new Error(`Partition in ARN is incompatible, got "${partition2}" but expected "${options.clientPartition}"`);
+ }
+ }, "validatePartition");
+ validateRegion = /* @__PURE__ */ __name((region, options) => {
+ }, "validateRegion");
+ validateRegionalClient = /* @__PURE__ */ __name((region) => {
+ if (["s3-external-1", "aws-global"].includes(region)) {
+ throw new Error(`Client region ${region} is not regional`);
+ }
+ }, "validateRegionalClient");
+ validateAccountId = /* @__PURE__ */ __name((accountId) => {
+ if (!/[0-9]{12}/.exec(accountId)) {
+ throw new Error("Access point ARN accountID does not match regex '[0-9]{12}'");
+ }
+ }, "validateAccountId");
+ validateDNSHostLabel = /* @__PURE__ */ __name((label, options = { tlsCompatible: true }) => {
+ if (label.length >= 64 || !/^[a-z0-9][a-z0-9.-]*[a-z0-9]$/.test(label) || /(\d+\.){3}\d+/.test(label) || /[.-]{2}/.test(label) || options?.tlsCompatible && DOT_PATTERN.test(label)) {
+ throw new Error(`Invalid DNS label ${label}`);
+ }
+ }, "validateDNSHostLabel");
+ validateCustomEndpoint = /* @__PURE__ */ __name((options) => {
+ if (options.isCustomEndpoint) {
+ if (options.dualstackEndpoint)
+ throw new Error("Dualstack endpoint is not supported with custom endpoint");
+ if (options.accelerateEndpoint)
+ throw new Error("Accelerate endpoint is not supported with custom endpoint");
+ }
+ }, "validateCustomEndpoint");
+ getArnResources = /* @__PURE__ */ __name((resource) => {
+ const delimiter = resource.includes(":") ? ":" : "/";
+ const [resourceType, ...rest] = resource.split(delimiter);
+ if (resourceType === "accesspoint") {
+ if (rest.length !== 1 || rest[0] === "") {
+ throw new Error(`Access Point ARN should have one resource accesspoint${delimiter}{accesspointname}`);
+ }
+ return { accesspointName: rest[0] };
+ } else if (resourceType === "outpost") {
+ if (!rest[0] || rest[1] !== "accesspoint" || !rest[2] || rest.length !== 3) {
+ throw new Error(`Outpost ARN should have resource outpost${delimiter}{outpostId}${delimiter}accesspoint${delimiter}{accesspointName}`);
+ }
+ const [outpostId, _, accesspointName] = rest;
+ return { outpostId, accesspointName };
+ } else {
+ throw new Error(`ARN resource should begin with 'accesspoint${delimiter}' or 'outpost${delimiter}'`);
+ }
+ }, "getArnResources");
+ validateNoDualstack = /* @__PURE__ */ __name((dualstackEndpoint) => {
+ }, "validateNoDualstack");
+ validateNoFIPS = /* @__PURE__ */ __name((useFipsEndpoint) => {
+ if (useFipsEndpoint)
+ throw new Error(`FIPS region is not supported with Outpost.`);
+ }, "validateNoFIPS");
+ validateMrapAlias = /* @__PURE__ */ __name((name2) => {
+ try {
+ name2.split(".").forEach((label) => {
+ validateDNSHostLabel(label);
+ });
+ } catch (e5) {
+ throw new Error(`"${name2}" is not a DNS compatible name.`);
+ }
+ }, "validateMrapAlias");
+ }
+});
+
+// ../../node_modules/.pnpm/@aws-sdk+middleware-sdk-s3@3.972.80/node_modules/@aws-sdk/middleware-sdk-s3/dist-es/submodules/s3/middleware-bucket-endpoint/bucketHostname.js
+var bucketHostname, getEndpointFromBucketName, getEndpointFromArn, getEndpointFromObjectLambdaArn, getEndpointFromMRAPArn, getEndpointFromOutpostArn, getEndpointFromAccessPointArn;
+var init_bucketHostname = __esm({
+ "../../node_modules/.pnpm/@aws-sdk+middleware-sdk-s3@3.972.80/node_modules/@aws-sdk/middleware-sdk-s3/dist-es/submodules/s3/middleware-bucket-endpoint/bucketHostname.js"() {
+ init_bucketHostnameUtils();
+ bucketHostname = /* @__PURE__ */ __name((options) => {
+ validateCustomEndpoint(options);
+ return isBucketNameOptions(options) ? getEndpointFromBucketName(options) : getEndpointFromArn(options);
+ }, "bucketHostname");
+ getEndpointFromBucketName = /* @__PURE__ */ __name(({ accelerateEndpoint = false, clientRegion: region, baseHostname, bucketName, dualstackEndpoint = false, fipsEndpoint = false, pathStyleEndpoint = false, tlsCompatible = true, isCustomEndpoint = false }) => {
+ const [clientRegion, hostnameSuffix] = isCustomEndpoint ? [region, baseHostname] : getSuffix(baseHostname);
+ if (pathStyleEndpoint || !isDnsCompatibleBucketName(bucketName) || tlsCompatible && DOT_PATTERN.test(bucketName)) {
+ return {
+ bucketEndpoint: false,
+ hostname: dualstackEndpoint ? `s3.dualstack.${clientRegion}.${hostnameSuffix}` : baseHostname
+ };
+ }
+ if (accelerateEndpoint) {
+ baseHostname = `s3-accelerate${dualstackEndpoint ? ".dualstack" : ""}.${hostnameSuffix}`;
+ } else if (dualstackEndpoint) {
+ baseHostname = `s3.dualstack.${clientRegion}.${hostnameSuffix}`;
+ }
+ return {
+ bucketEndpoint: true,
+ hostname: `${bucketName}.${baseHostname}`
+ };
+ }, "getEndpointFromBucketName");
+ getEndpointFromArn = /* @__PURE__ */ __name((options) => {
+ const { isCustomEndpoint, baseHostname, clientRegion } = options;
+ const hostnameSuffix = isCustomEndpoint ? baseHostname : getSuffixForArnEndpoint(baseHostname)[1];
+ const { pathStyleEndpoint, accelerateEndpoint = false, fipsEndpoint = false, tlsCompatible = true, bucketName, clientPartition = "aws" } = options;
+ validateArnEndpointOptions({ pathStyleEndpoint, accelerateEndpoint, tlsCompatible });
+ const { service, partition: partition2, accountId, region, resource } = bucketName;
+ validateService(service);
+ validatePartition(partition2, { clientPartition });
+ validateAccountId(accountId);
+ const { accesspointName, outpostId } = getArnResources(resource);
+ if (service === "s3-object-lambda") {
+ return getEndpointFromObjectLambdaArn({ ...options, tlsCompatible, bucketName, accesspointName, hostnameSuffix });
+ }
+ if (region === "") {
+ return getEndpointFromMRAPArn({ ...options, clientRegion, mrapAlias: accesspointName, hostnameSuffix });
+ }
+ if (outpostId) {
+ return getEndpointFromOutpostArn({ ...options, clientRegion, outpostId, accesspointName, hostnameSuffix });
+ }
+ return getEndpointFromAccessPointArn({ ...options, clientRegion, accesspointName, hostnameSuffix });
+ }, "getEndpointFromArn");
+ getEndpointFromObjectLambdaArn = /* @__PURE__ */ __name(({ dualstackEndpoint = false, fipsEndpoint = false, tlsCompatible = true, useArnRegion, clientRegion, clientSigningRegion = clientRegion, accesspointName, bucketName, hostnameSuffix }) => {
+ const { accountId, region, service } = bucketName;
+ validateRegionalClient(clientRegion);
+ const DNSHostLabel = `${accesspointName}-${accountId}`;
+ validateDNSHostLabel(DNSHostLabel, { tlsCompatible });
+ const endpointRegion = useArnRegion ? region : clientRegion;
+ const signingRegion = useArnRegion ? region : clientSigningRegion;
+ return {
+ bucketEndpoint: true,
+ hostname: `${DNSHostLabel}.${service}${fipsEndpoint ? "-fips" : ""}.${endpointRegion}.${hostnameSuffix}`,
+ signingRegion,
+ signingService: service
+ };
+ }, "getEndpointFromObjectLambdaArn");
+ getEndpointFromMRAPArn = /* @__PURE__ */ __name(({ disableMultiregionAccessPoints, dualstackEndpoint = false, isCustomEndpoint, mrapAlias, hostnameSuffix }) => {
+ if (disableMultiregionAccessPoints === true) {
+ throw new Error("SDK is attempting to use a MRAP ARN. Please enable to feature.");
+ }
+ validateMrapAlias(mrapAlias);
+ return {
+ bucketEndpoint: true,
+ hostname: `${mrapAlias}${isCustomEndpoint ? "" : `.accesspoint.s3-global`}.${hostnameSuffix}`,
+ signingRegion: "*"
+ };
+ }, "getEndpointFromMRAPArn");
+ getEndpointFromOutpostArn = /* @__PURE__ */ __name(({ useArnRegion, clientRegion, clientSigningRegion = clientRegion, bucketName, outpostId, dualstackEndpoint = false, fipsEndpoint = false, tlsCompatible = true, accesspointName, isCustomEndpoint, hostnameSuffix }) => {
+ validateRegionalClient(clientRegion);
+ const DNSHostLabel = `${accesspointName}-${bucketName.accountId}`;
+ validateDNSHostLabel(DNSHostLabel, { tlsCompatible });
+ const endpointRegion = useArnRegion ? bucketName.region : clientRegion;
+ const signingRegion = useArnRegion ? bucketName.region : clientSigningRegion;
+ validateOutpostService(bucketName.service);
+ validateDNSHostLabel(outpostId, { tlsCompatible });
+ validateNoFIPS(fipsEndpoint);
+ const hostnamePrefix = `${DNSHostLabel}.${outpostId}`;
+ return {
+ bucketEndpoint: true,
+ hostname: `${hostnamePrefix}${isCustomEndpoint ? "" : `.s3-outposts.${endpointRegion}`}.${hostnameSuffix}`,
+ signingRegion,
+ signingService: "s3-outposts"
+ };
+ }, "getEndpointFromOutpostArn");
+ getEndpointFromAccessPointArn = /* @__PURE__ */ __name(({ useArnRegion, clientRegion, clientSigningRegion = clientRegion, bucketName, dualstackEndpoint = false, fipsEndpoint = false, tlsCompatible = true, accesspointName, isCustomEndpoint, hostnameSuffix }) => {
+ validateRegionalClient(clientRegion);
+ const hostnamePrefix = `${accesspointName}-${bucketName.accountId}`;
+ validateDNSHostLabel(hostnamePrefix, { tlsCompatible });
+ const endpointRegion = useArnRegion ? bucketName.region : clientRegion;
+ const signingRegion = useArnRegion ? bucketName.region : clientSigningRegion;
+ validateS3Service(bucketName.service);
+ return {
+ bucketEndpoint: true,
+ hostname: `${hostnamePrefix}${isCustomEndpoint ? "" : `.s3-accesspoint${fipsEndpoint ? "-fips" : ""}${dualstackEndpoint ? ".dualstack" : ""}.${endpointRegion}`}.${hostnameSuffix}`,
+ signingRegion
+ };
+ }, "getEndpointFromAccessPointArn");
+ }
+});
+
+// ../../node_modules/.pnpm/@aws-sdk+middleware-sdk-s3@3.972.80/node_modules/@aws-sdk/middleware-sdk-s3/dist-es/submodules/s3/middleware-bucket-endpoint/bucketEndpointMiddleware.js
+var bucketEndpointMiddleware2, bucketEndpointMiddlewareOptions2, getBucketEndpointPlugin;
+var init_bucketEndpointMiddleware = __esm({
+ "../../node_modules/.pnpm/@aws-sdk+middleware-sdk-s3@3.972.80/node_modules/@aws-sdk/middleware-sdk-s3/dist-es/submodules/s3/middleware-bucket-endpoint/bucketEndpointMiddleware.js"() {
+ init_util2();
+ init_protocols();
+ init_bucketHostname();
+ bucketEndpointMiddleware2 = /* @__PURE__ */ __name((options) => (next, context) => async (args) => {
+ const { Bucket: bucketName } = args.input;
+ let replaceBucketInPath = options.bucketEndpoint;
+ const request = args.request;
+ if (HttpRequest.isInstance(request)) {
+ if (options.bucketEndpoint) {
+ request.hostname = bucketName;
+ } else if (validate2(bucketName)) {
+ const bucketArn = parse3(bucketName);
+ const clientRegion = await options.region();
+ const useDualstackEndpoint = await options.useDualstackEndpoint();
+ const useFipsEndpoint = await options.useFipsEndpoint();
+ const { partition: partition2, signingRegion = clientRegion } = await options.regionInfoProvider(clientRegion, { useDualstackEndpoint, useFipsEndpoint }) || {};
+ const useArnRegion = await options.useArnRegion();
+ const { hostname: hostname3, bucketEndpoint, signingRegion: modifiedSigningRegion, signingService } = bucketHostname({
+ bucketName: bucketArn,
+ baseHostname: request.hostname,
+ accelerateEndpoint: options.useAccelerateEndpoint,
+ dualstackEndpoint: useDualstackEndpoint,
+ fipsEndpoint: useFipsEndpoint,
+ pathStyleEndpoint: options.forcePathStyle,
+ tlsCompatible: request.protocol === "https:",
+ useArnRegion,
+ clientPartition: partition2,
+ clientSigningRegion: signingRegion,
+ clientRegion,
+ isCustomEndpoint: options.isCustomEndpoint,
+ disableMultiregionAccessPoints: await options.disableMultiregionAccessPoints()
+ });
+ if (modifiedSigningRegion && modifiedSigningRegion !== signingRegion) {
+ context["signing_region"] = modifiedSigningRegion;
+ }
+ if (signingService && signingService !== "s3") {
+ context["signing_service"] = signingService;
+ }
+ request.hostname = hostname3;
+ replaceBucketInPath = bucketEndpoint;
+ } else {
+ const clientRegion = await options.region();
+ const dualstackEndpoint = await options.useDualstackEndpoint();
+ const fipsEndpoint = await options.useFipsEndpoint();
+ const { hostname: hostname3, bucketEndpoint } = bucketHostname({
+ bucketName,
+ clientRegion,
+ baseHostname: request.hostname,
+ accelerateEndpoint: options.useAccelerateEndpoint,
+ dualstackEndpoint,
+ fipsEndpoint,
+ pathStyleEndpoint: options.forcePathStyle,
+ tlsCompatible: request.protocol === "https:",
+ isCustomEndpoint: options.isCustomEndpoint
+ });
+ request.hostname = hostname3;
+ replaceBucketInPath = bucketEndpoint;
+ }
+ if (replaceBucketInPath) {
+ request.path = request.path.replace(/^(\/)?[^\/]+/, "");
+ if (request.path === "") {
+ request.path = "/";
+ }
+ }
+ }
+ return next({ ...args, request });
+ }, "bucketEndpointMiddleware");
+ bucketEndpointMiddlewareOptions2 = {
+ tags: ["BUCKET_ENDPOINT"],
+ name: "bucketEndpointMiddleware",
+ relation: "before",
+ toMiddleware: "hostHeaderMiddleware",
+ override: true
+ };
+ getBucketEndpointPlugin = /* @__PURE__ */ __name((options) => ({
+ applyToStack: /* @__PURE__ */ __name((clientStack) => {
+ clientStack.addRelativeTo(bucketEndpointMiddleware2(options), bucketEndpointMiddlewareOptions2);
+ }, "applyToStack")
+ }), "getBucketEndpointPlugin");
+ }
+});
+
+// ../../node_modules/.pnpm/@aws-sdk+middleware-sdk-s3@3.972.80/node_modules/@aws-sdk/middleware-sdk-s3/dist-es/submodules/s3/middleware-bucket-endpoint/configurations.js
+function resolveBucketEndpointConfig(input2) {
+ const { bucketEndpoint = false, forcePathStyle = false, useAccelerateEndpoint = false, useArnRegion, disableMultiregionAccessPoints = false } = input2;
+ return Object.assign(input2, {
+ bucketEndpoint,
+ forcePathStyle,
+ useAccelerateEndpoint,
+ useArnRegion: typeof useArnRegion === "function" ? useArnRegion : () => Promise.resolve(useArnRegion),
+ disableMultiregionAccessPoints: typeof disableMultiregionAccessPoints === "function" ? disableMultiregionAccessPoints : () => Promise.resolve(disableMultiregionAccessPoints)
+ });
+}
+var init_configurations3 = __esm({
+ "../../node_modules/.pnpm/@aws-sdk+middleware-sdk-s3@3.972.80/node_modules/@aws-sdk/middleware-sdk-s3/dist-es/submodules/s3/middleware-bucket-endpoint/configurations.js"() {
+ __name(resolveBucketEndpointConfig, "resolveBucketEndpointConfig");
+ }
+});
+
+// ../../node_modules/.pnpm/@aws-sdk+middleware-sdk-s3@3.972.80/node_modules/@aws-sdk/middleware-sdk-s3/dist-es/submodules/s3/middleware-expect-continue/middleware-expect-continue.js
+function addExpectContinueMiddleware(options) {
+ return (next) => async (args) => {
+ const { request } = args;
+ if (options.expectContinueHeader !== false && HttpRequest.isInstance(request) && request.body && options.runtime === "node" && options.requestHandler?.constructor?.name !== "FetchHttpHandler") {
+ let sendHeader = true;
+ if (typeof options.expectContinueHeader === "number") {
+ try {
+ const bodyLength = Number(request.headers?.["content-length"]) ?? options.bodyLengthChecker?.(request.body) ?? Infinity;
+ sendHeader = bodyLength >= options.expectContinueHeader;
+ } catch (e5) {
+ }
+ } else {
+ sendHeader = !!options.expectContinueHeader;
+ }
+ if (sendHeader) {
+ request.headers.Expect = "100-continue";
+ }
+ }
+ return next({
+ ...args,
+ request
+ });
+ };
+}
+var addExpectContinueMiddlewareOptions, getAddExpectContinuePlugin;
+var init_middleware_expect_continue = __esm({
+ "../../node_modules/.pnpm/@aws-sdk+middleware-sdk-s3@3.972.80/node_modules/@aws-sdk/middleware-sdk-s3/dist-es/submodules/s3/middleware-expect-continue/middleware-expect-continue.js"() {
+ init_protocols();
+ __name(addExpectContinueMiddleware, "addExpectContinueMiddleware");
+ addExpectContinueMiddlewareOptions = {
+ step: "build",
+ tags: ["SET_EXPECT_HEADER", "EXPECT_HEADER"],
+ name: "addExpectContinueMiddleware",
+ override: true
+ };
+ getAddExpectContinuePlugin = /* @__PURE__ */ __name((options) => ({
+ applyToStack: /* @__PURE__ */ __name((clientStack) => {
+ clientStack.add(addExpectContinueMiddleware(options), addExpectContinueMiddlewareOptions);
+ }, "applyToStack")
+ }), "getAddExpectContinuePlugin");
+ }
+});
+
+// ../../node_modules/.pnpm/@aws-sdk+middleware-sdk-s3@3.972.80/node_modules/@aws-sdk/middleware-sdk-s3/dist-es/submodules/s3/middleware-location-constraint/middleware-location-constraint.js
+function locationConstraintMiddleware(options) {
+ return (next) => async (args) => {
+ const { CreateBucketConfiguration } = args.input;
+ const region = await options.region();
+ if (!CreateBucketConfiguration?.LocationConstraint && !CreateBucketConfiguration?.Location) {
+ if (region !== "us-east-1") {
+ args.input.CreateBucketConfiguration = args.input.CreateBucketConfiguration ?? {};
+ args.input.CreateBucketConfiguration.LocationConstraint = region;
+ }
+ }
+ return next(args);
+ };
+}
+var locationConstraintMiddlewareOptions, getLocationConstraintPlugin;
+var init_middleware_location_constraint = __esm({
+ "../../node_modules/.pnpm/@aws-sdk+middleware-sdk-s3@3.972.80/node_modules/@aws-sdk/middleware-sdk-s3/dist-es/submodules/s3/middleware-location-constraint/middleware-location-constraint.js"() {
+ __name(locationConstraintMiddleware, "locationConstraintMiddleware");
+ locationConstraintMiddlewareOptions = {
+ step: "initialize",
+ tags: ["LOCATION_CONSTRAINT", "CREATE_BUCKET_CONFIGURATION"],
+ name: "locationConstraintMiddleware",
+ override: true
+ };
+ getLocationConstraintPlugin = /* @__PURE__ */ __name((config3) => ({
+ applyToStack: /* @__PURE__ */ __name((clientStack) => {
+ clientStack.add(locationConstraintMiddleware(config3), locationConstraintMiddlewareOptions);
+ }, "applyToStack")
+ }), "getLocationConstraintPlugin");
+ }
+});
+
+// ../../node_modules/.pnpm/@aws-sdk+middleware-sdk-s3@3.972.80/node_modules/@aws-sdk/middleware-sdk-s3/dist-es/submodules/s3/middleware-location-constraint/configuration.js
+function resolveLocationConstraintConfig(input2) {
+ return input2;
+}
+var init_configuration2 = __esm({
+ "../../node_modules/.pnpm/@aws-sdk+middleware-sdk-s3@3.972.80/node_modules/@aws-sdk/middleware-sdk-s3/dist-es/submodules/s3/middleware-location-constraint/configuration.js"() {
+ __name(resolveLocationConstraintConfig, "resolveLocationConstraintConfig");
+ }
+});
+
+// ../../node_modules/.pnpm/@aws-sdk+middleware-sdk-s3@3.972.80/node_modules/@aws-sdk/middleware-sdk-s3/dist-es/submodules/s3/middleware-ssec/middleware-ssec.js
+function ssecMiddleware(options) {
+ return (next) => async (args) => {
+ const input2 = { ...args.input };
+ const properties = [
+ {
+ target: "SSECustomerKey",
+ hash: "SSECustomerKeyMD5"
+ },
+ {
+ target: "CopySourceSSECustomerKey",
+ hash: "CopySourceSSECustomerKeyMD5"
+ }
+ ];
+ for (const prop of properties) {
+ const value = input2[prop.target];
+ if (value) {
+ let valueForHash;
+ if (typeof value === "string") {
+ if (isValidBase64EncodedSSECustomerKey(value, options)) {
+ valueForHash = options.base64Decoder(value);
+ } else {
+ valueForHash = options.utf8Decoder(value);
+ input2[prop.target] = options.base64Encoder(valueForHash);
+ }
+ } else {
+ valueForHash = ArrayBuffer.isView(value) ? new Uint8Array(value.buffer, value.byteOffset, value.byteLength) : new Uint8Array(value);
+ input2[prop.target] = options.base64Encoder(valueForHash);
+ }
+ const hash3 = new options.md5();
+ hash3.update(valueForHash);
+ input2[prop.hash] = options.base64Encoder(await hash3.digest());
+ }
+ }
+ return next({
+ ...args,
+ input: input2
+ });
+ };
+}
+function isValidBase64EncodedSSECustomerKey(str, options) {
+ const base64Regex = /^(?:[A-Za-z0-9+/]{4})*([A-Za-z0-9+/]{2}==|[A-Za-z0-9+/]{3}=)?$/;
+ if (!base64Regex.test(str))
+ return false;
+ try {
+ const decodedBytes = options.base64Decoder(str);
+ return decodedBytes.length === 32;
+ } catch {
+ return false;
+ }
+}
+var ssecMiddlewareOptions, getSsecPlugin;
+var init_middleware_ssec = __esm({
+ "../../node_modules/.pnpm/@aws-sdk+middleware-sdk-s3@3.972.80/node_modules/@aws-sdk/middleware-sdk-s3/dist-es/submodules/s3/middleware-ssec/middleware-ssec.js"() {
+ __name(ssecMiddleware, "ssecMiddleware");
+ ssecMiddlewareOptions = {
+ name: "ssecMiddleware",
+ step: "initialize",
+ tags: ["SSE"],
+ override: true
+ };
+ getSsecPlugin = /* @__PURE__ */ __name((config3) => ({
+ applyToStack: /* @__PURE__ */ __name((clientStack) => {
+ clientStack.add(ssecMiddleware(config3), ssecMiddlewareOptions);
+ }, "applyToStack")
+ }), "getSsecPlugin");
+ __name(isValidBase64EncodedSSECustomerKey, "isValidBase64EncodedSSECustomerKey");
+ }
+});
+
+// ../../node_modules/.pnpm/@aws-sdk+middleware-sdk-s3@3.972.80/node_modules/@aws-sdk/middleware-sdk-s3/dist-es/submodules/s3/index.js
+var s3_exports = {};
+__export(s3_exports, {
+ NODE_DISABLE_MULTIREGION_ACCESS_POINT_CONFIG_OPTIONS: () => NODE_DISABLE_MULTIREGION_ACCESS_POINT_CONFIG_OPTIONS,
+ NODE_DISABLE_MULTIREGION_ACCESS_POINT_ENV_NAME: () => NODE_DISABLE_MULTIREGION_ACCESS_POINT_ENV_NAME,
+ NODE_DISABLE_MULTIREGION_ACCESS_POINT_INI_NAME: () => NODE_DISABLE_MULTIREGION_ACCESS_POINT_INI_NAME,
+ NODE_DISABLE_S3_EXPRESS_SESSION_AUTH_OPTIONS: () => NODE_DISABLE_S3_EXPRESS_SESSION_AUTH_OPTIONS,
+ NODE_USE_ARN_REGION_CONFIG_OPTIONS: () => NODE_USE_ARN_REGION_CONFIG_OPTIONS,
+ NODE_USE_ARN_REGION_ENV_NAME: () => NODE_USE_ARN_REGION_ENV_NAME,
+ NODE_USE_ARN_REGION_INI_NAME: () => NODE_USE_ARN_REGION_INI_NAME,
+ S3ExpressIdentityCache: () => S3ExpressIdentityCache,
+ S3ExpressIdentityCacheEntry: () => S3ExpressIdentityCacheEntry,
+ S3ExpressIdentityProviderImpl: () => S3ExpressIdentityProviderImpl,
+ S3RestXmlProtocol: () => S3RestXmlProtocol,
+ SignatureV4S3Express: () => SignatureV4S3Express,
+ addExpectContinueMiddleware: () => addExpectContinueMiddleware,
+ addExpectContinueMiddlewareOptions: () => addExpectContinueMiddlewareOptions,
+ bucketEndpointMiddleware: () => bucketEndpointMiddleware2,
+ bucketEndpointMiddlewareOptions: () => bucketEndpointMiddlewareOptions2,
+ bucketHostname: () => bucketHostname,
+ checkContentLengthHeader: () => checkContentLengthHeader,
+ checkContentLengthHeaderMiddlewareOptions: () => checkContentLengthHeaderMiddlewareOptions,
+ getAddExpectContinuePlugin: () => getAddExpectContinuePlugin,
+ getArnResources: () => getArnResources,
+ getBucketEndpointPlugin: () => getBucketEndpointPlugin,
+ getCheckContentLengthHeaderPlugin: () => getCheckContentLengthHeaderPlugin,
+ getLocationConstraintPlugin: () => getLocationConstraintPlugin,
+ getRegionRedirectMiddlewarePlugin: () => getRegionRedirectMiddlewarePlugin,
+ getS3ExpiresMiddlewarePlugin: () => getS3ExpiresMiddlewarePlugin,
+ getS3ExpressHttpSigningPlugin: () => getS3ExpressHttpSigningPlugin,
+ getS3ExpressPlugin: () => getS3ExpressPlugin,
+ getSsecPlugin: () => getSsecPlugin,
+ getSuffixForArnEndpoint: () => getSuffixForArnEndpoint,
+ getThrow200ExceptionsPlugin: () => getThrow200ExceptionsPlugin,
+ getValidateBucketNamePlugin: () => getValidateBucketNamePlugin,
+ isValidBase64EncodedSSECustomerKey: () => isValidBase64EncodedSSECustomerKey,
+ locationConstraintMiddleware: () => locationConstraintMiddleware,
+ locationConstraintMiddlewareOptions: () => locationConstraintMiddlewareOptions,
+ regionRedirectEndpointMiddleware: () => regionRedirectEndpointMiddleware,
+ regionRedirectEndpointMiddlewareOptions: () => regionRedirectEndpointMiddlewareOptions,
+ regionRedirectMiddleware: () => regionRedirectMiddleware,
+ regionRedirectMiddlewareOptions: () => regionRedirectMiddlewareOptions,
+ resolveBucketEndpointConfig: () => resolveBucketEndpointConfig,
+ resolveLocationConstraintConfig: () => resolveLocationConstraintConfig,
+ resolveS3Config: () => resolveS3Config,
+ s3ExpiresMiddleware: () => s3ExpiresMiddleware,
+ s3ExpiresMiddlewareOptions: () => s3ExpiresMiddlewareOptions,
+ s3ExpressHttpSigningMiddleware: () => s3ExpressHttpSigningMiddleware,
+ s3ExpressHttpSigningMiddlewareOptions: () => s3ExpressHttpSigningMiddlewareOptions,
+ s3ExpressMiddleware: () => s3ExpressMiddleware,
+ s3ExpressMiddlewareOptions: () => s3ExpressMiddlewareOptions,
+ ssecMiddleware: () => ssecMiddleware,
+ ssecMiddlewareOptions: () => ssecMiddlewareOptions,
+ throw200ExceptionsMiddleware: () => throw200ExceptionsMiddleware,
+ throw200ExceptionsMiddlewareOptions: () => throw200ExceptionsMiddlewareOptions,
+ validateAccountId: () => validateAccountId,
+ validateBucketNameMiddleware: () => validateBucketNameMiddleware,
+ validateBucketNameMiddlewareOptions: () => validateBucketNameMiddlewareOptions,
+ validateDNSHostLabel: () => validateDNSHostLabel,
+ validateNoDualstack: () => validateNoDualstack,
+ validateNoFIPS: () => validateNoFIPS,
+ validateOutpostService: () => validateOutpostService,
+ validatePartition: () => validatePartition,
+ validateRegion: () => validateRegion
+});
+var init_s3 = __esm({
+ "../../node_modules/.pnpm/@aws-sdk+middleware-sdk-s3@3.972.80/node_modules/@aws-sdk/middleware-sdk-s3/dist-es/submodules/s3/index.js"() {
+ init_check_content_length_header();
+ init_region_redirect_endpoint_middleware();
+ init_region_redirect_middleware();
+ init_s3Configuration();
+ init_s3_expires_middleware();
+ init_S3ExpressIdentityCache();
+ init_S3ExpressIdentityCacheEntry();
+ init_S3ExpressIdentityProviderImpl();
+ init_SignatureV4S3Express();
+ init_constants5();
+ init_s3ExpressMiddleware();
+ init_s3ExpressHttpSigningMiddleware();
+ init_throw_200_exceptions();
+ init_validate_bucket_name();
+ init_S3RestXmlProtocol();
+ init_NodeDisableMultiregionAccessPointConfigOptions();
+ init_NodeUseArnRegionConfigOptions();
+ init_bucketEndpointMiddleware();
+ init_bucketHostname();
+ init_configurations3();
+ init_bucketHostnameUtils();
+ init_middleware_expect_continue();
+ init_middleware_location_constraint();
+ init_configuration2();
+ init_middleware_ssec();
+ }
+});
+
+// ../../node_modules/.pnpm/@aws-sdk+core@3.978.4/node_modules/@aws-sdk/core/dist-es/submodules/httpAuthSchemes/utils/getDateHeader.js
+var getDateHeader, getAgeHeader;
+var init_getDateHeader = __esm({
+ "../../node_modules/.pnpm/@aws-sdk+core@3.978.4/node_modules/@aws-sdk/core/dist-es/submodules/httpAuthSchemes/utils/getDateHeader.js"() {
+ init_protocols();
+ getDateHeader = /* @__PURE__ */ __name((response) => HttpResponse.isInstance(response) ? response.headers?.date ?? response.headers?.Date : void 0, "getDateHeader");
+ getAgeHeader = /* @__PURE__ */ __name((response) => HttpResponse.isInstance(response) ? response.headers?.age ?? response.headers?.Age : void 0, "getAgeHeader");
+ }
+});
+
+// ../../node_modules/.pnpm/@aws-sdk+core@3.978.4/node_modules/@aws-sdk/core/dist-es/submodules/httpAuthSchemes/utils/getSkewCorrectedDate.js
+var getSkewCorrectedDate;
+var init_getSkewCorrectedDate = __esm({
+ "../../node_modules/.pnpm/@aws-sdk+core@3.978.4/node_modules/@aws-sdk/core/dist-es/submodules/httpAuthSchemes/utils/getSkewCorrectedDate.js"() {
+ getSkewCorrectedDate = /* @__PURE__ */ __name((systemClockOffset) => new Date(Date.now() + systemClockOffset), "getSkewCorrectedDate");
+ }
+});
+
+// ../../node_modules/.pnpm/@aws-sdk+core@3.978.4/node_modules/@aws-sdk/core/dist-es/submodules/httpAuthSchemes/utils/getUpdatedSystemClockOffset.js
+var getUpdatedSystemClockOffset;
+var init_getUpdatedSystemClockOffset = __esm({
+ "../../node_modules/.pnpm/@aws-sdk+core@3.978.4/node_modules/@aws-sdk/core/dist-es/submodules/httpAuthSchemes/utils/getUpdatedSystemClockOffset.js"() {
+ getUpdatedSystemClockOffset = /* @__PURE__ */ __name((clockTime, currentSystemClockOffset, timeRequestSent, ageHeader) => {
+ if (ageHeader !== void 0) {
+ return currentSystemClockOffset;
+ }
+ const serverTime = Date.parse(clockTime);
+ const timeResponseReceived = Date.now();
+ if (timeRequestSent !== void 0 && timeResponseReceived - timeRequestSent > 9e5) {
+ return currentSystemClockOffset;
+ }
+ const candidateSkew = timeRequestSent !== void 0 ? serverTime - (timeRequestSent + timeResponseReceived) / 2 : serverTime - timeResponseReceived;
+ return candidateSkew;
+ }, "getUpdatedSystemClockOffset");
+ }
+});
+
+// ../../node_modules/.pnpm/@aws-sdk+core@3.978.4/node_modules/@aws-sdk/core/dist-es/submodules/httpAuthSchemes/utils/index.js
+var init_utils = __esm({
+ "../../node_modules/.pnpm/@aws-sdk+core@3.978.4/node_modules/@aws-sdk/core/dist-es/submodules/httpAuthSchemes/utils/index.js"() {
+ init_getDateHeader();
+ init_getSkewCorrectedDate();
+ init_getUpdatedSystemClockOffset();
+ }
+});
+
+// ../../node_modules/.pnpm/@aws-sdk+core@3.978.4/node_modules/@aws-sdk/core/dist-es/submodules/httpAuthSchemes/aws_sdk/AwsSdkSigV4Signer.js
+var import_types5, throwSigningPropertyError, hasEventStreamOutput, validateSigningProperties, AwsSdkSigV4Signer, AWSSDKSigV4Signer;
+var init_AwsSdkSigV4Signer = __esm({
+ "../../node_modules/.pnpm/@aws-sdk+core@3.978.4/node_modules/@aws-sdk/core/dist-es/submodules/httpAuthSchemes/aws_sdk/AwsSdkSigV4Signer.js"() {
+ init_protocols();
+ import_types5 = __toESM(require_dist_cjs());
+ init_utils();
+ throwSigningPropertyError = /* @__PURE__ */ __name((name2, property) => {
+ if (!property) {
+ throw new Error(`Property \`${name2}\` is not resolved for AWS SDK SigV4Auth`);
+ }
+ return property;
+ }, "throwSigningPropertyError");
+ hasEventStreamOutput = /* @__PURE__ */ __name((signingProperties) => {
+ const context = signingProperties.context;
+ const eventStream = context?.[import_types5.SMITHY_CONTEXT_KEY]?.eventStream;
+ return eventStream?.output === true;
+ }, "hasEventStreamOutput");
+ validateSigningProperties = /* @__PURE__ */ __name(async (signingProperties) => {
+ const context = throwSigningPropertyError("context", signingProperties.context);
+ const config3 = throwSigningPropertyError("config", signingProperties.config);
+ const authScheme = context.endpointV2?.properties?.authSchemes?.[0];
+ const signerFunction = throwSigningPropertyError("signer", config3.signer);
+ const signer = await signerFunction(authScheme);
+ const signingRegion = signingProperties?.signingRegion;
+ const signingRegionSet = signingProperties?.signingRegionSet;
+ const signingName = signingProperties?.signingName;
+ return {
+ config: config3,
+ signer,
+ signingRegion,
+ signingRegionSet,
+ signingName
+ };
+ }, "validateSigningProperties");
+ AwsSdkSigV4Signer = class {
+ static {
+ __name(this, "AwsSdkSigV4Signer");
+ }
+ async sign(httpRequest, identity, signingProperties) {
+ if (!HttpRequest.isInstance(httpRequest)) {
+ throw new Error("The request is not an instance of `HttpRequest` and cannot be signed");
+ }
+ const validatedProps = await validateSigningProperties(signingProperties);
+ const { config: config3, signer } = validatedProps;
+ let { signingRegion, signingName } = validatedProps;
+ const handlerExecutionContext = signingProperties.context;
+ if (handlerExecutionContext?.authSchemes?.length ?? 0 > 1) {
+ const [first, second] = handlerExecutionContext.authSchemes;
+ if (first?.name === "sigv4a" && second?.name === "sigv4") {
+ signingRegion = second?.signingRegion ?? signingRegion;
+ signingName = second?.signingName ?? signingName;
+ }
+ }
+ const noSkewCorrection = await config3.disableClockSkewCorrection?.() === true;
+ signingProperties._disableClockSkewCorrection = noSkewCorrection;
+ const skipSkewSampling = noSkewCorrection || hasEventStreamOutput(signingProperties);
+ signingProperties._skipClockSkewSampling = skipSkewSampling;
+ if (!skipSkewSampling) {
+ signingProperties._preRequestSystemClockOffset = config3.systemClockOffset;
+ signingProperties._requestSentAt = Date.now();
+ }
+ const signedRequest = await signer.sign(httpRequest, {
+ signingDate: noSkewCorrection ? /* @__PURE__ */ new Date() : getSkewCorrectedDate(config3.systemClockOffset),
+ signingRegion,
+ signingService: signingName
+ });
+ return signedRequest;
+ }
+ errorHandler(signingProperties) {
+ return (error62) => {
+ const errorException = error62;
+ if (!signingProperties._skipClockSkewSampling && !signingProperties._disableClockSkewCorrection) {
+ const serverTime = errorException.ServerTime ?? getDateHeader(errorException.$response);
+ if (serverTime) {
+ const config3 = throwSigningPropertyError("config", signingProperties.config);
+ const preRequestOffset = signingProperties._preRequestSystemClockOffset;
+ const timeRequestSent = signingProperties._requestSentAt;
+ const ageHeader = getAgeHeader(errorException.$response);
+ const newOffset = getUpdatedSystemClockOffset(serverTime, config3.systemClockOffset, timeRequestSent, ageHeader);
+ config3.systemClockOffset = newOffset;
+ const skewExceedsThreshold = Math.abs(newOffset) >= 24e4;
+ const isLocalCorrection = newOffset !== preRequestOffset;
+ const isConcurrentCorrection = preRequestOffset !== void 0 && preRequestOffset !== newOffset;
+ if (skewExceedsThreshold && (isLocalCorrection || isConcurrentCorrection) && errorException.$metadata) {
+ errorException.$metadata.clockSkewCorrected = true;
+ }
+ }
+ }
+ throw error62;
+ };
+ }
+ successHandler(httpResponse, signingProperties) {
+ if (signingProperties._skipClockSkewSampling || signingProperties._disableClockSkewCorrection) {
+ return;
+ }
+ const dateHeader = getDateHeader(httpResponse);
+ if (dateHeader) {
+ const config3 = throwSigningPropertyError("config", signingProperties.config);
+ const timeRequestSent = signingProperties._requestSentAt;
+ const ageHeader = getAgeHeader(httpResponse);
+ config3.systemClockOffset = getUpdatedSystemClockOffset(dateHeader, config3.systemClockOffset, timeRequestSent, ageHeader);
+ }
+ }
+ };
+ AWSSDKSigV4Signer = AwsSdkSigV4Signer;
+ }
+});
+
+// ../../node_modules/.pnpm/@aws-sdk+core@3.978.4/node_modules/@aws-sdk/core/dist-es/submodules/httpAuthSchemes/aws_sdk/AwsSdkSigV4ASigner.js
+var AwsSdkSigV4ASigner;
+var init_AwsSdkSigV4ASigner = __esm({
+ "../../node_modules/.pnpm/@aws-sdk+core@3.978.4/node_modules/@aws-sdk/core/dist-es/submodules/httpAuthSchemes/aws_sdk/AwsSdkSigV4ASigner.js"() {
+ init_protocols();
+ init_utils();
+ init_AwsSdkSigV4Signer();
+ AwsSdkSigV4ASigner = class extends AwsSdkSigV4Signer {
+ static {
+ __name(this, "AwsSdkSigV4ASigner");
+ }
+ async sign(httpRequest, identity, signingProperties) {
+ if (!HttpRequest.isInstance(httpRequest)) {
+ throw new Error("The request is not an instance of `HttpRequest` and cannot be signed");
+ }
+ const { config: config3, signer, signingRegion, signingRegionSet, signingName } = await validateSigningProperties(signingProperties);
+ const configResolvedSigningRegionSet = await config3.sigv4aSigningRegionSet?.();
+ const multiRegionOverride = (configResolvedSigningRegionSet ?? signingRegionSet ?? [signingRegion]).join(",");
+ const noSkewCorrection = await config3.disableClockSkewCorrection?.() === true;
+ signingProperties._disableClockSkewCorrection = noSkewCorrection;
+ if (!noSkewCorrection) {
+ signingProperties._preRequestSystemClockOffset = config3.systemClockOffset;
+ signingProperties._requestSentAt = Date.now();
+ }
+ const signedRequest = await signer.sign(httpRequest, {
+ signingDate: noSkewCorrection ? /* @__PURE__ */ new Date() : getSkewCorrectedDate(config3.systemClockOffset),
+ signingRegion: multiRegionOverride,
+ signingService: signingName
+ });
+ return signedRequest;
+ }
+ };
+ }
+});
+
+// ../../node_modules/.pnpm/@aws-sdk+core@3.978.4/node_modules/@aws-sdk/core/dist-es/submodules/httpAuthSchemes/utils/getArrayForCommaSeparatedString.js
+var getArrayForCommaSeparatedString;
+var init_getArrayForCommaSeparatedString = __esm({
+ "../../node_modules/.pnpm/@aws-sdk+core@3.978.4/node_modules/@aws-sdk/core/dist-es/submodules/httpAuthSchemes/utils/getArrayForCommaSeparatedString.js"() {
+ getArrayForCommaSeparatedString = /* @__PURE__ */ __name((str) => typeof str === "string" && str.length > 0 ? str.split(",").map((item) => item.trim()) : [], "getArrayForCommaSeparatedString");
+ }
+});
+
+// ../../node_modules/.pnpm/@aws-sdk+core@3.978.4/node_modules/@aws-sdk/core/dist-es/submodules/httpAuthSchemes/utils/getBearerTokenEnvKey.js
+var getBearerTokenEnvKey;
+var init_getBearerTokenEnvKey = __esm({
+ "../../node_modules/.pnpm/@aws-sdk+core@3.978.4/node_modules/@aws-sdk/core/dist-es/submodules/httpAuthSchemes/utils/getBearerTokenEnvKey.js"() {
+ getBearerTokenEnvKey = /* @__PURE__ */ __name((signingName) => `AWS_BEARER_TOKEN_${signingName.replace(/[\s-]/g, "_").toUpperCase()}`, "getBearerTokenEnvKey");
+ }
+});
+
+// ../../node_modules/.pnpm/@aws-sdk+core@3.978.4/node_modules/@aws-sdk/core/dist-es/submodules/httpAuthSchemes/aws_sdk/NODE_AUTH_SCHEME_PREFERENCE_OPTIONS.js
+var NODE_AUTH_SCHEME_PREFERENCE_ENV_KEY, NODE_AUTH_SCHEME_PREFERENCE_CONFIG_KEY, NODE_AUTH_SCHEME_PREFERENCE_OPTIONS;
+var init_NODE_AUTH_SCHEME_PREFERENCE_OPTIONS = __esm({
+ "../../node_modules/.pnpm/@aws-sdk+core@3.978.4/node_modules/@aws-sdk/core/dist-es/submodules/httpAuthSchemes/aws_sdk/NODE_AUTH_SCHEME_PREFERENCE_OPTIONS.js"() {
+ init_getArrayForCommaSeparatedString();
+ init_getBearerTokenEnvKey();
+ NODE_AUTH_SCHEME_PREFERENCE_ENV_KEY = "AWS_AUTH_SCHEME_PREFERENCE";
+ NODE_AUTH_SCHEME_PREFERENCE_CONFIG_KEY = "auth_scheme_preference";
+ NODE_AUTH_SCHEME_PREFERENCE_OPTIONS = {
+ environmentVariableSelector: /* @__PURE__ */ __name((env3, options) => {
+ if (options?.signingName) {
+ const bearerTokenKey = getBearerTokenEnvKey(options.signingName);
+ if (bearerTokenKey in env3)
+ return ["httpBearerAuth"];
+ }
+ if (!(NODE_AUTH_SCHEME_PREFERENCE_ENV_KEY in env3))
+ return void 0;
+ return getArrayForCommaSeparatedString(env3[NODE_AUTH_SCHEME_PREFERENCE_ENV_KEY]);
+ }, "environmentVariableSelector"),
+ configFileSelector: /* @__PURE__ */ __name((profile) => {
+ if (!(NODE_AUTH_SCHEME_PREFERENCE_CONFIG_KEY in profile))
+ return void 0;
+ return getArrayForCommaSeparatedString(profile[NODE_AUTH_SCHEME_PREFERENCE_CONFIG_KEY]);
+ }, "configFileSelector"),
+ default: []
+ };
+ }
+});
+
+// ../../node_modules/.pnpm/@aws-sdk+core@3.978.4/node_modules/@aws-sdk/core/dist-es/submodules/httpAuthSchemes/aws_sdk/resolveAwsSdkSigV4AConfig.js
+var resolveAwsSdkSigV4AConfig, NODE_SIGV4A_CONFIG_OPTIONS;
+var init_resolveAwsSdkSigV4AConfig = __esm({
+ "../../node_modules/.pnpm/@aws-sdk+core@3.978.4/node_modules/@aws-sdk/core/dist-es/submodules/httpAuthSchemes/aws_sdk/resolveAwsSdkSigV4AConfig.js"() {
+ init_dist_es();
+ init_config();
+ resolveAwsSdkSigV4AConfig = /* @__PURE__ */ __name((config3) => {
+ config3.sigv4aSigningRegionSet = normalizeProvider2(config3.sigv4aSigningRegionSet);
+ return config3;
+ }, "resolveAwsSdkSigV4AConfig");
+ NODE_SIGV4A_CONFIG_OPTIONS = {
+ environmentVariableSelector(env3) {
+ if (env3.AWS_SIGV4A_SIGNING_REGION_SET) {
+ return env3.AWS_SIGV4A_SIGNING_REGION_SET.split(",").map((_) => _.trim());
+ }
+ throw new ProviderError("AWS_SIGV4A_SIGNING_REGION_SET not set in env.", {
+ tryNextLink: true
+ });
+ },
+ configFileSelector(profile) {
+ if (profile.sigv4a_signing_region_set) {
+ return (profile.sigv4a_signing_region_set ?? "").split(",").map((_) => _.trim());
+ }
+ throw new ProviderError("sigv4a_signing_region_set not set in profile.", {
+ tryNextLink: true
+ });
+ },
+ default: void 0
+ };
+ }
+});
+
+// ../../node_modules/.pnpm/@aws-sdk+core@3.978.4/node_modules/@aws-sdk/core/dist-es/submodules/httpAuthSchemes/aws_sdk/resolveAwsSdkSigV4Config.js
+function normalizeCredentialProvider(config3, { credentials, credentialDefaultProvider }) {
+ let credentialsProvider;
+ if (credentials) {
+ if (!credentials?.memoized) {
+ credentialsProvider = memoizeIdentityProvider(credentials, isIdentityExpired, doesIdentityRequireRefresh);
+ } else {
+ credentialsProvider = credentials;
+ }
+ } else {
+ if (credentialDefaultProvider) {
+ credentialsProvider = normalizeProvider2(credentialDefaultProvider(Object.assign({}, config3, {
+ parentClientConfig: config3
+ })));
+ } else {
+ credentialsProvider = /* @__PURE__ */ __name(async () => {
+ throw new Error("@aws-sdk/core::resolveAwsSdkSigV4Config - `credentials` not provided and no credentialDefaultProvider was configured.");
+ }, "credentialsProvider");
+ }
+ }
+ credentialsProvider.memoized = true;
+ return credentialsProvider;
+}
+function bindCallerConfig(config3, credentialsProvider) {
+ if (credentialsProvider.configBound) {
+ return credentialsProvider;
+ }
+ const fn = /* @__PURE__ */ __name(async (options) => credentialsProvider({ ...options, callerClientConfig: config3 }), "fn");
+ fn.memoized = credentialsProvider.memoized;
+ fn.configBound = true;
+ return fn;
+}
+var import_signature_v4, bindResolveAwsSdkSigV4Config;
+var init_resolveAwsSdkSigV4Config = __esm({
+ "../../node_modules/.pnpm/@aws-sdk+core@3.978.4/node_modules/@aws-sdk/core/dist-es/submodules/httpAuthSchemes/aws_sdk/resolveAwsSdkSigV4Config.js"() {
+ init_client2();
+ init_dist_es();
+ import_signature_v4 = __toESM(require_dist_cjs2());
+ bindResolveAwsSdkSigV4Config = /* @__PURE__ */ __name((defaultDisableClockSkewCorrection) => (config3) => {
+ let inputCredentials = config3.credentials;
+ let isUserSupplied = !!config3.credentials;
+ let resolvedCredentials = void 0;
+ Object.defineProperty(config3, "credentials", {
+ set(credentials) {
+ if (credentials && credentials !== inputCredentials && credentials !== resolvedCredentials) {
+ isUserSupplied = true;
+ }
+ inputCredentials = credentials;
+ const memoizedProvider = normalizeCredentialProvider(config3, {
+ credentials: inputCredentials,
+ credentialDefaultProvider: config3.credentialDefaultProvider
+ });
+ const boundProvider = bindCallerConfig(config3, memoizedProvider);
+ if (isUserSupplied && !boundProvider.attributed) {
+ const isCredentialObject = typeof inputCredentials === "object" && inputCredentials !== null;
+ resolvedCredentials = /* @__PURE__ */ __name(async (options) => {
+ const creds = await boundProvider(options);
+ const attributedCreds = creds;
+ if (isCredentialObject && (!attributedCreds.$source || Object.keys(attributedCreds.$source).length === 0)) {
+ return setCredentialFeature(attributedCreds, "CREDENTIALS_CODE", "e");
+ }
+ return attributedCreds;
+ }, "resolvedCredentials");
+ resolvedCredentials.memoized = boundProvider.memoized;
+ resolvedCredentials.configBound = boundProvider.configBound;
+ resolvedCredentials.attributed = true;
+ } else {
+ resolvedCredentials = boundProvider;
+ }
+ },
+ get() {
+ return resolvedCredentials;
+ },
+ enumerable: true,
+ configurable: true
+ });
+ config3.credentials = inputCredentials;
+ const { signingEscapePath = true, systemClockOffset = config3.systemClockOffset || 0, sha256: sha2562 } = config3;
+ let signer;
+ if (config3.signer) {
+ signer = normalizeProvider2(config3.signer);
+ } else if (config3.regionInfoProvider) {
+ signer = /* @__PURE__ */ __name(() => normalizeProvider2(config3.region)().then(async (region) => [
+ await config3.regionInfoProvider(region, {
+ useFipsEndpoint: await config3.useFipsEndpoint(),
+ useDualstackEndpoint: await config3.useDualstackEndpoint()
+ }) || {},
+ region
+ ]).then(([regionInfo, region]) => {
+ const { signingRegion, signingService } = regionInfo;
+ config3.signingRegion = config3.signingRegion || signingRegion || region;
+ config3.signingName = config3.signingName || signingService || config3.serviceId;
+ const params = {
+ ...config3,
+ credentials: config3.credentials,
+ region: config3.signingRegion,
+ service: config3.signingName,
+ sha256: sha2562,
+ uriEscapePath: signingEscapePath
+ };
+ const SignerCtor = config3.signerConstructor || import_signature_v4.SignatureV4;
+ return new SignerCtor(params);
+ }), "signer");
+ } else {
+ signer = /* @__PURE__ */ __name(async (authScheme) => {
+ authScheme = Object.assign({}, {
+ name: "sigv4",
+ signingName: config3.signingName || config3.defaultSigningName,
+ signingRegion: await normalizeProvider2(config3.region)(),
+ properties: {}
+ }, authScheme);
+ const signingRegion = authScheme.signingRegion;
+ const signingService = authScheme.signingName;
+ config3.signingRegion = config3.signingRegion || signingRegion;
+ config3.signingName = config3.signingName || signingService || config3.serviceId;
+ const params = {
+ ...config3,
+ credentials: config3.credentials,
+ region: config3.signingRegion,
+ service: config3.signingName,
+ sha256: sha2562,
+ uriEscapePath: signingEscapePath
+ };
+ const SignerCtor = config3.signerConstructor || import_signature_v4.SignatureV4;
+ return new SignerCtor(params);
+ }, "signer");
+ }
+ const resolvedConfig = Object.assign(config3, {
+ systemClockOffset,
+ signingEscapePath,
+ signer,
+ disableClockSkewCorrection: normalizeProvider2(config3.disableClockSkewCorrection ?? defaultDisableClockSkewCorrection)
+ });
+ return resolvedConfig;
+ }, "bindResolveAwsSdkSigV4Config");
+ __name(normalizeCredentialProvider, "normalizeCredentialProvider");
+ __name(bindCallerConfig, "bindCallerConfig");
+ }
+});
+
+// ../../node_modules/.pnpm/@aws-sdk+core@3.978.4/node_modules/@aws-sdk/core/dist-es/submodules/httpAuthSchemes/aws_sdk/index.js
+var init_aws_sdk = __esm({
+ "../../node_modules/.pnpm/@aws-sdk+core@3.978.4/node_modules/@aws-sdk/core/dist-es/submodules/httpAuthSchemes/aws_sdk/index.js"() {
+ init_AwsSdkSigV4Signer();
+ init_AwsSdkSigV4ASigner();
+ init_NODE_AUTH_SCHEME_PREFERENCE_OPTIONS();
+ init_resolveAwsSdkSigV4AConfig();
+ init_resolveAwsSdkSigV4Config();
+ }
+});
+
+// ../../node_modules/.pnpm/@aws-sdk+core@3.978.4/node_modules/@aws-sdk/core/dist-es/submodules/httpAuthSchemes/aws_sdk/clock-skew-node-config.js
+var ENV_DISABLE_CLOCK_SKEW_CORRECTION, CONFIG_DISABLE_CLOCK_SKEW_CORRECTION, NODE_DISABLE_CLOCK_SKEW_CORRECTION_CONFIG_OPTIONS;
+var init_clock_skew_node_config = __esm({
+ "../../node_modules/.pnpm/@aws-sdk+core@3.978.4/node_modules/@aws-sdk/core/dist-es/submodules/httpAuthSchemes/aws_sdk/clock-skew-node-config.js"() {
+ init_config();
+ ENV_DISABLE_CLOCK_SKEW_CORRECTION = "AWS_DISABLE_CLOCK_SKEW_CORRECTION";
+ CONFIG_DISABLE_CLOCK_SKEW_CORRECTION = "disable_clock_skew_correction";
+ NODE_DISABLE_CLOCK_SKEW_CORRECTION_CONFIG_OPTIONS = {
+ environmentVariableSelector: /* @__PURE__ */ __name((env3) => booleanSelector(env3, ENV_DISABLE_CLOCK_SKEW_CORRECTION, SelectorType.ENV), "environmentVariableSelector"),
+ configFileSelector: /* @__PURE__ */ __name((profile) => booleanSelector(profile, CONFIG_DISABLE_CLOCK_SKEW_CORRECTION, SelectorType.CONFIG), "configFileSelector"),
+ default: false
+ };
+ }
+});
+
+// ../../node_modules/.pnpm/@aws-sdk+core@3.978.4/node_modules/@aws-sdk/core/dist-es/submodules/httpAuthSchemes/aws_sdk/clock-skew-defaults.js
+var DEFAULT_DISABLE_CLOCK_SKEW_CORRECTION;
+var init_clock_skew_defaults = __esm({
+ "../../node_modules/.pnpm/@aws-sdk+core@3.978.4/node_modules/@aws-sdk/core/dist-es/submodules/httpAuthSchemes/aws_sdk/clock-skew-defaults.js"() {
+ init_config();
+ init_clock_skew_node_config();
+ DEFAULT_DISABLE_CLOCK_SKEW_CORRECTION = loadConfig(NODE_DISABLE_CLOCK_SKEW_CORRECTION_CONFIG_OPTIONS);
+ }
+});
+
+// ../../node_modules/.pnpm/@aws-sdk+core@3.978.4/node_modules/@aws-sdk/core/dist-es/submodules/httpAuthSchemes/index.js
+var httpAuthSchemes_exports = {};
+__export(httpAuthSchemes_exports, {
+ AWSSDKSigV4Signer: () => AWSSDKSigV4Signer,
+ AwsSdkSigV4ASigner: () => AwsSdkSigV4ASigner,
+ AwsSdkSigV4Signer: () => AwsSdkSigV4Signer,
+ NODE_AUTH_SCHEME_PREFERENCE_OPTIONS: () => NODE_AUTH_SCHEME_PREFERENCE_OPTIONS,
+ NODE_SIGV4A_CONFIG_OPTIONS: () => NODE_SIGV4A_CONFIG_OPTIONS,
+ getBearerTokenEnvKey: () => getBearerTokenEnvKey,
+ resolveAWSSDKSigV4Config: () => resolveAWSSDKSigV4Config,
+ resolveAwsSdkSigV4AConfig: () => resolveAwsSdkSigV4AConfig,
+ resolveAwsSdkSigV4Config: () => resolveAwsSdkSigV4Config,
+ validateSigningProperties: () => validateSigningProperties
+});
+var resolveAwsSdkSigV4Config, resolveAWSSDKSigV4Config;
+var init_httpAuthSchemes2 = __esm({
+ "../../node_modules/.pnpm/@aws-sdk+core@3.978.4/node_modules/@aws-sdk/core/dist-es/submodules/httpAuthSchemes/index.js"() {
+ init_aws_sdk();
+ init_getBearerTokenEnvKey();
+ init_aws_sdk();
+ init_clock_skew_defaults();
+ resolveAwsSdkSigV4Config = bindResolveAwsSdkSigV4Config(DEFAULT_DISABLE_CLOCK_SKEW_CORRECTION);
+ resolveAWSSDKSigV4Config = resolveAwsSdkSigV4Config;
+ }
+});
+
+// ../../node_modules/.pnpm/@aws-sdk+credential-provider-env@3.972.75/node_modules/@aws-sdk/credential-provider-env/dist-cjs/index.js
+var require_dist_cjs5 = __commonJS({
+ "../../node_modules/.pnpm/@aws-sdk+credential-provider-env@3.972.75/node_modules/@aws-sdk/credential-provider-env/dist-cjs/index.js"(exports) {
+ var { setCredentialFeature: setCredentialFeature2 } = (init_client2(), __toCommonJS(client_exports2));
+ var { CredentialsProviderError } = (init_config(), __toCommonJS(config_exports));
+ var ENV_KEY = "AWS_ACCESS_KEY_ID";
+ var ENV_SECRET = "AWS_SECRET_ACCESS_KEY";
+ var ENV_SESSION = "AWS_SESSION_TOKEN";
+ var ENV_EXPIRATION = "AWS_CREDENTIAL_EXPIRATION";
+ var ENV_CREDENTIAL_SCOPE = "AWS_CREDENTIAL_SCOPE";
+ var ENV_ACCOUNT_ID = "AWS_ACCOUNT_ID";
+ var fromEnv = /* @__PURE__ */ __name((init2) => async () => {
+ init2?.logger?.debug("@aws-sdk/credential-provider-env - fromEnv");
+ const accessKeyId = process.env[ENV_KEY];
+ const secretAccessKey = process.env[ENV_SECRET];
+ const sessionToken = process.env[ENV_SESSION];
+ const expiry = process.env[ENV_EXPIRATION];
+ const credentialScope = process.env[ENV_CREDENTIAL_SCOPE];
+ const accountId = process.env[ENV_ACCOUNT_ID];
+ if (accessKeyId && secretAccessKey) {
+ const credentials = {
+ accessKeyId,
+ secretAccessKey,
+ ...sessionToken && { sessionToken },
+ ...expiry && { expiration: new Date(expiry) },
+ ...credentialScope && { credentialScope },
+ ...accountId && { accountId }
+ };
+ setCredentialFeature2(credentials, "CREDENTIALS_ENV_VARS", "g");
+ return credentials;
+ }
+ throw new CredentialsProviderError("Unable to find environment variable credentials.", { logger: init2?.logger });
+ }, "fromEnv");
+ exports.ENV_ACCOUNT_ID = ENV_ACCOUNT_ID;
+ exports.ENV_CREDENTIAL_SCOPE = ENV_CREDENTIAL_SCOPE;
+ exports.ENV_EXPIRATION = ENV_EXPIRATION;
+ exports.ENV_KEY = ENV_KEY;
+ exports.ENV_SECRET = ENV_SECRET;
+ exports.ENV_SESSION = ENV_SESSION;
+ exports.fromEnv = fromEnv;
+ }
+});
+
+// ../../node_modules/.pnpm/@smithy+credential-provider-imds@4.5.2/node_modules/@smithy/credential-provider-imds/dist-cjs/index.js
+var require_dist_cjs6 = __commonJS({
+ "../../node_modules/.pnpm/@smithy+credential-provider-imds@4.5.2/node_modules/@smithy/credential-provider-imds/dist-cjs/index.js"(exports) {
+ var { ProviderError: ProviderError2, CredentialsProviderError, loadConfig: loadConfig2 } = (init_config(), __toCommonJS(config_exports));
+ var node_http = __require("node:http");
+ var { parseUrl: parseUrl2 } = (init_protocols(), __toCommonJS(protocols_exports));
+ var isImdsCredentials = /* @__PURE__ */ __name((arg) => Boolean(arg) && typeof arg === "object" && typeof arg.AccessKeyId === "string" && typeof arg.SecretAccessKey === "string" && typeof arg.Token === "string" && typeof arg.Expiration === "string", "isImdsCredentials");
+ var fromImdsCredentials = /* @__PURE__ */ __name((creds) => ({
+ accessKeyId: creds.AccessKeyId,
+ secretAccessKey: creds.SecretAccessKey,
+ sessionToken: creds.Token,
+ expiration: new Date(creds.Expiration),
+ ...creds.AccountId && { accountId: creds.AccountId }
+ }), "fromImdsCredentials");
+ var DEFAULT_TIMEOUT = 1e3;
+ var DEFAULT_MAX_RETRIES = 0;
+ var providerConfigFromInit = /* @__PURE__ */ __name(({ maxRetries = DEFAULT_MAX_RETRIES, timeout = DEFAULT_TIMEOUT }) => ({ maxRetries, timeout }), "providerConfigFromInit");
+ function httpRequest(options) {
+ return new Promise((resolve, reject) => {
+ const req2 = node_http.request({
+ method: "GET",
+ ...options,
+ hostname: options.hostname?.replace(/^\[(.+)\]$/, "$1")
+ });
+ req2.on("error", (err) => {
+ reject(Object.assign(new ProviderError2("Unable to connect to instance metadata service"), err));
+ req2.destroy();
+ });
+ req2.on("timeout", () => {
+ reject(new ProviderError2("TimeoutError from instance metadata service"));
+ req2.destroy();
+ });
+ req2.on("response", (res) => {
+ const { statusCode = 400 } = res;
+ if (statusCode < 200 || 300 <= statusCode) {
+ reject(Object.assign(new ProviderError2("Error response received from instance metadata service"), { statusCode }));
+ req2.destroy();
+ }
+ const chunks = [];
+ res.on("data", (chunk) => {
+ chunks.push(chunk);
+ });
+ res.on("end", () => {
+ resolve(Buffer.concat(chunks));
+ req2.destroy();
+ });
+ });
+ req2.end();
+ });
+ }
+ __name(httpRequest, "httpRequest");
+ var retry = /* @__PURE__ */ __name((toRetry, maxRetries) => {
+ let promise2 = toRetry();
+ for (let i5 = 0; i5 < maxRetries; i5++) {
+ promise2 = promise2.catch(toRetry);
+ }
+ return promise2;
+ }, "retry");
+ var ENV_CMDS_FULL_URI = "AWS_CONTAINER_CREDENTIALS_FULL_URI";
+ var ENV_CMDS_RELATIVE_URI = "AWS_CONTAINER_CREDENTIALS_RELATIVE_URI";
+ var ENV_CMDS_AUTH_TOKEN = "AWS_CONTAINER_AUTHORIZATION_TOKEN";
+ var fromContainerMetadata = /* @__PURE__ */ __name((init2 = {}) => {
+ const { timeout, maxRetries } = providerConfigFromInit(init2);
+ return () => retry(async () => {
+ const requestOptions = await getCmdsUri({ logger: init2.logger });
+ const credsResponse = JSON.parse(await requestFromEcsImds(timeout, requestOptions));
+ if (!isImdsCredentials(credsResponse)) {
+ throw new CredentialsProviderError("Invalid response received from instance metadata service.", {
+ logger: init2.logger
+ });
+ }
+ return fromImdsCredentials(credsResponse);
+ }, maxRetries);
+ }, "fromContainerMetadata");
+ var requestFromEcsImds = /* @__PURE__ */ __name(async (timeout, options) => {
+ if (process.env[ENV_CMDS_AUTH_TOKEN]) {
+ options.headers = {
+ ...options.headers,
+ Authorization: process.env[ENV_CMDS_AUTH_TOKEN]
+ };
+ }
+ const buffer = await httpRequest({
+ ...options,
+ timeout
+ });
+ return buffer.toString();
+ }, "requestFromEcsImds");
+ var CMDS_IP = "169.254.170.2";
+ var GREENGRASS_HOSTS = /* @__PURE__ */ new Set(["localhost", "127.0.0.1"]);
+ var GREENGRASS_PROTOCOLS = /* @__PURE__ */ new Set(["http:", "https:"]);
+ var getCmdsUri = /* @__PURE__ */ __name(async ({ logger }) => {
+ if (process.env[ENV_CMDS_RELATIVE_URI]) {
+ return {
+ hostname: CMDS_IP,
+ path: process.env[ENV_CMDS_RELATIVE_URI]
+ };
+ }
+ if (process.env[ENV_CMDS_FULL_URI]) {
+ let parsed2;
+ try {
+ parsed2 = new URL(process.env[ENV_CMDS_FULL_URI]);
+ } catch {
+ throw new CredentialsProviderError(`${process.env[ENV_CMDS_FULL_URI]} is not a valid container metadata service URL`, { tryNextLink: false, logger });
+ }
+ if (!parsed2.hostname || !GREENGRASS_HOSTS.has(parsed2.hostname)) {
+ throw new CredentialsProviderError(`${parsed2.hostname} is not a valid container metadata service hostname`, {
+ tryNextLink: false,
+ logger
+ });
+ }
+ if (!parsed2.protocol || !GREENGRASS_PROTOCOLS.has(parsed2.protocol)) {
+ throw new CredentialsProviderError(`${parsed2.protocol} is not a valid container metadata service protocol`, {
+ tryNextLink: false,
+ logger
+ });
+ }
+ return {
+ protocol: parsed2.protocol,
+ hostname: parsed2.hostname,
+ path: parsed2.pathname + parsed2.search,
+ port: parsed2.port ? parseInt(parsed2.port, 10) : void 0
+ };
+ }
+ throw new CredentialsProviderError(`The container metadata credential provider cannot be used unless the ${ENV_CMDS_RELATIVE_URI} or ${ENV_CMDS_FULL_URI} environment variable is set`, {
+ tryNextLink: false,
+ logger
+ });
+ }, "getCmdsUri");
+ var InstanceMetadataV1FallbackError = class _InstanceMetadataV1FallbackError extends CredentialsProviderError {
+ static {
+ __name(this, "InstanceMetadataV1FallbackError");
+ }
+ tryNextLink;
+ name = "InstanceMetadataV1FallbackError";
+ constructor(message, tryNextLink = true) {
+ super(message, tryNextLink);
+ this.tryNextLink = tryNextLink;
+ Object.setPrototypeOf(this, _InstanceMetadataV1FallbackError.prototype);
+ }
+ };
+ var Endpoint;
+ (function(Endpoint2) {
+ Endpoint2["IPv4"] = "http://169.254.169.254";
+ Endpoint2["IPv6"] = "http://[fd00:ec2::254]";
+ })(Endpoint || (Endpoint = {}));
+ var ENV_ENDPOINT_NAME = "AWS_EC2_METADATA_SERVICE_ENDPOINT";
+ var CONFIG_ENDPOINT_NAME = "ec2_metadata_service_endpoint";
+ var ENDPOINT_CONFIG_OPTIONS = {
+ environmentVariableSelector: /* @__PURE__ */ __name((env3) => env3[ENV_ENDPOINT_NAME], "environmentVariableSelector"),
+ configFileSelector: /* @__PURE__ */ __name((profile) => profile[CONFIG_ENDPOINT_NAME], "configFileSelector"),
+ default: void 0
+ };
+ var EndpointMode;
+ (function(EndpointMode2) {
+ EndpointMode2["IPv4"] = "IPv4";
+ EndpointMode2["IPv6"] = "IPv6";
+ })(EndpointMode || (EndpointMode = {}));
+ var ENV_ENDPOINT_MODE_NAME = "AWS_EC2_METADATA_SERVICE_ENDPOINT_MODE";
+ var CONFIG_ENDPOINT_MODE_NAME = "ec2_metadata_service_endpoint_mode";
+ var ENDPOINT_MODE_CONFIG_OPTIONS = {
+ environmentVariableSelector: /* @__PURE__ */ __name((env3) => env3[ENV_ENDPOINT_MODE_NAME], "environmentVariableSelector"),
+ configFileSelector: /* @__PURE__ */ __name((profile) => profile[CONFIG_ENDPOINT_MODE_NAME], "configFileSelector"),
+ default: EndpointMode.IPv4
+ };
+ var getInstanceMetadataEndpoint = /* @__PURE__ */ __name(async () => parseUrl2(await getFromEndpointConfig() || await getFromEndpointModeConfig()), "getInstanceMetadataEndpoint");
+ var getFromEndpointConfig = /* @__PURE__ */ __name(async () => loadConfig2(ENDPOINT_CONFIG_OPTIONS)(), "getFromEndpointConfig");
+ var getFromEndpointModeConfig = /* @__PURE__ */ __name(async () => {
+ const endpointMode = await loadConfig2(ENDPOINT_MODE_CONFIG_OPTIONS)();
+ switch (endpointMode) {
+ case EndpointMode.IPv4:
+ return Endpoint.IPv4;
+ case EndpointMode.IPv6:
+ return Endpoint.IPv6;
+ default:
+ throw new Error(`Unsupported endpoint mode: ${endpointMode}. Select from ${Object.values(EndpointMode)}`);
+ }
+ }, "getFromEndpointModeConfig");
+ var STATIC_STABILITY_REFRESH_INTERVAL_SECONDS = 5 * 60;
+ var STATIC_STABILITY_REFRESH_INTERVAL_JITTER_WINDOW_SECONDS = 5 * 60;
+ var STATIC_STABILITY_DOC_URL = "https://docs.aws.amazon.com/sdkref/latest/guide/feature-static-credentials.html";
+ var getExtendedInstanceMetadataCredentials = /* @__PURE__ */ __name((credentials, logger) => {
+ const refreshInterval = STATIC_STABILITY_REFRESH_INTERVAL_SECONDS + Math.floor(Math.random() * STATIC_STABILITY_REFRESH_INTERVAL_JITTER_WINDOW_SECONDS);
+ const newExpiration = new Date(Date.now() + refreshInterval * 1e3);
+ logger.warn(`Attempting credential expiration extension due to a credential service availability issue. A refresh of these credentials will be attempted after ${new Date(newExpiration)}.
+For more information, please visit: ` + STATIC_STABILITY_DOC_URL);
+ const originalExpiration = credentials.originalExpiration ?? credentials.expiration;
+ return {
+ ...credentials,
+ ...originalExpiration ? { originalExpiration } : {},
+ expiration: newExpiration
+ };
+ }, "getExtendedInstanceMetadataCredentials");
+ var staticStabilityProvider = /* @__PURE__ */ __name((provider, options = {}) => {
+ const logger = options?.logger || console;
+ let pastCredentials;
+ return async () => {
+ let credentials;
+ try {
+ credentials = await provider();
+ if (credentials.expiration && credentials.expiration.getTime() < Date.now()) {
+ credentials = getExtendedInstanceMetadataCredentials(credentials, logger);
+ }
+ } catch (e5) {
+ if (pastCredentials) {
+ logger.warn("Credential renew failed: ", e5);
+ credentials = getExtendedInstanceMetadataCredentials(pastCredentials, logger);
+ } else {
+ throw e5;
+ }
+ }
+ pastCredentials = credentials;
+ return credentials;
+ };
+ }, "staticStabilityProvider");
+ var IMDS_PATH = "/latest/meta-data/iam/security-credentials/";
+ var IMDS_TOKEN_PATH = "/latest/api/token";
+ var AWS_EC2_METADATA_V1_DISABLED = "AWS_EC2_METADATA_V1_DISABLED";
+ var PROFILE_AWS_EC2_METADATA_V1_DISABLED = "ec2_metadata_v1_disabled";
+ var X_AWS_EC2_METADATA_TOKEN = "x-aws-ec2-metadata-token";
+ var fromInstanceMetadata = /* @__PURE__ */ __name((init2 = {}) => staticStabilityProvider(getInstanceMetadataProvider(init2), { logger: init2.logger }), "fromInstanceMetadata");
+ var getInstanceMetadataProvider = /* @__PURE__ */ __name((init2 = {}) => {
+ let disableFetchToken = false;
+ const { logger, profile } = init2;
+ const { timeout, maxRetries } = providerConfigFromInit(init2);
+ const getCredentials = /* @__PURE__ */ __name(async (maxRetries2, options) => {
+ const isImdsV1Fallback = disableFetchToken || options.headers?.[X_AWS_EC2_METADATA_TOKEN] == null;
+ if (isImdsV1Fallback) {
+ let fallbackBlockedFromProfile = false;
+ let fallbackBlockedFromProcessEnv = false;
+ const configValue = await loadConfig2({
+ environmentVariableSelector: /* @__PURE__ */ __name((env3) => {
+ const envValue = env3[AWS_EC2_METADATA_V1_DISABLED];
+ fallbackBlockedFromProcessEnv = !!envValue && envValue !== "false";
+ if (envValue === void 0) {
+ throw new CredentialsProviderError(`${AWS_EC2_METADATA_V1_DISABLED} not set in env, checking config file next.`, { logger: init2.logger });
+ }
+ return fallbackBlockedFromProcessEnv;
+ }, "environmentVariableSelector"),
+ configFileSelector: /* @__PURE__ */ __name((profile2) => {
+ const profileValue = profile2[PROFILE_AWS_EC2_METADATA_V1_DISABLED];
+ fallbackBlockedFromProfile = !!profileValue && profileValue !== "false";
+ return fallbackBlockedFromProfile;
+ }, "configFileSelector"),
+ default: false
+ }, {
+ profile
+ })();
+ if (init2.ec2MetadataV1Disabled || configValue) {
+ const causes = [];
+ if (init2.ec2MetadataV1Disabled)
+ causes.push("credential provider initialization (runtime option ec2MetadataV1Disabled)");
+ if (fallbackBlockedFromProfile)
+ causes.push(`config file profile (${PROFILE_AWS_EC2_METADATA_V1_DISABLED})`);
+ if (fallbackBlockedFromProcessEnv)
+ causes.push(`process environment variable (${AWS_EC2_METADATA_V1_DISABLED})`);
+ throw new InstanceMetadataV1FallbackError(`AWS EC2 Metadata v1 fallback has been blocked by AWS SDK configuration in the following: [${causes.join(", ")}].`);
+ }
+ }
+ const imdsProfile = (await retry(async () => {
+ let profile2;
+ try {
+ profile2 = await getProfile(options);
+ } catch (err) {
+ if (err.statusCode === 401) {
+ disableFetchToken = false;
+ }
+ throw err;
+ }
+ return profile2;
+ }, maxRetries2)).trim();
+ return retry(async () => {
+ let creds;
+ try {
+ creds = await getCredentialsFromProfile(imdsProfile, options, init2);
+ } catch (err) {
+ if (err.statusCode === 401) {
+ disableFetchToken = false;
+ }
+ throw err;
+ }
+ return creds;
+ }, maxRetries2);
+ }, "getCredentials");
+ return async () => {
+ const endpoint = await getInstanceMetadataEndpoint();
+ if (disableFetchToken) {
+ logger?.debug("AWS SDK Instance Metadata", "using v1 fallback (no token fetch)");
+ return getCredentials(maxRetries, { ...endpoint, timeout });
+ } else {
+ let token;
+ try {
+ token = (await getMetadataToken({ ...endpoint, timeout })).toString();
+ } catch (error62) {
+ if (error62?.statusCode === 400) {
+ throw Object.assign(error62, {
+ message: "EC2 Metadata token request returned error"
+ });
+ } else if (error62.message === "TimeoutError" || [403, 404, 405].includes(error62.statusCode)) {
+ disableFetchToken = true;
+ }
+ logger?.debug("AWS SDK Instance Metadata", "using v1 fallback (initial)");
+ return getCredentials(maxRetries, { ...endpoint, timeout });
+ }
+ return getCredentials(maxRetries, {
+ ...endpoint,
+ headers: {
+ [X_AWS_EC2_METADATA_TOKEN]: token
+ },
+ timeout
+ });
+ }
+ };
+ }, "getInstanceMetadataProvider");
+ var getMetadataToken = /* @__PURE__ */ __name(async (options) => httpRequest({
+ ...options,
+ path: IMDS_TOKEN_PATH,
+ method: "PUT",
+ headers: {
+ "x-aws-ec2-metadata-token-ttl-seconds": "21600"
+ }
+ }), "getMetadataToken");
+ var getProfile = /* @__PURE__ */ __name(async (options) => (await httpRequest({ ...options, path: IMDS_PATH })).toString(), "getProfile");
+ var getCredentialsFromProfile = /* @__PURE__ */ __name(async (profile, options, init2) => {
+ const credentialsResponse = JSON.parse((await httpRequest({
+ ...options,
+ path: IMDS_PATH + profile
+ })).toString());
+ if (!isImdsCredentials(credentialsResponse)) {
+ throw new CredentialsProviderError("Invalid response received from instance metadata service.", {
+ logger: init2.logger
+ });
+ }
+ return fromImdsCredentials(credentialsResponse);
+ }, "getCredentialsFromProfile");
+ exports.DEFAULT_MAX_RETRIES = DEFAULT_MAX_RETRIES;
+ exports.DEFAULT_TIMEOUT = DEFAULT_TIMEOUT;
+ exports.ENV_CMDS_AUTH_TOKEN = ENV_CMDS_AUTH_TOKEN;
+ exports.ENV_CMDS_FULL_URI = ENV_CMDS_FULL_URI;
+ exports.ENV_CMDS_RELATIVE_URI = ENV_CMDS_RELATIVE_URI;
+ exports.Endpoint = Endpoint;
+ exports.fromContainerMetadata = fromContainerMetadata;
+ exports.fromInstanceMetadata = fromInstanceMetadata;
+ exports.getInstanceMetadataEndpoint = getInstanceMetadataEndpoint;
+ exports.httpRequest = httpRequest;
+ exports.providerConfigFromInit = providerConfigFromInit;
+ }
+});
+
+// ../../node_modules/.pnpm/@smithy+node-http-handler@4.12.1/node_modules/@smithy/node-http-handler/dist-cjs/index.js
+var require_dist_cjs7 = __commonJS({
+ "../../node_modules/.pnpm/@smithy+node-http-handler@4.12.1/node_modules/@smithy/node-http-handler/dist-cjs/index.js"(exports) {
+ var { hasOwn: hasOwn2 } = (init_serde(), __toCommonJS(serde_exports));
+ var { streamCollector: streamCollector5 } = (init_serde(), __toCommonJS(serde_exports));
+ exports.streamCollector = streamCollector5;
+ var { buildQueryString: buildQueryString2, HttpResponse: HttpResponse2 } = (init_protocols(), __toCommonJS(protocols_exports));
+ var node_https = __require("node:https");
+ var { Readable: Readable3 } = __require("node:stream");
+ var http2 = __require("node:http2");
+ function buildAbortError(abortSignal) {
+ const reason = abortSignal && typeof abortSignal === "object" && "reason" in abortSignal ? abortSignal.reason : void 0;
+ if (reason) {
+ if (reason instanceof Error) {
+ const abortError3 = new Error("Request aborted");
+ abortError3.name = "AbortError";
+ abortError3.cause = reason;
+ return abortError3;
+ }
+ const abortError2 = new Error(String(reason));
+ abortError2.name = "AbortError";
+ return abortError2;
+ }
+ const abortError = new Error("Request aborted");
+ abortError.name = "AbortError";
+ return abortError;
+ }
+ __name(buildAbortError, "buildAbortError");
+ var NODEJS_TIMEOUT_ERROR_CODES2 = ["ECONNRESET", "EPIPE", "ETIMEDOUT"];
+ var getTransformedHeaders = /* @__PURE__ */ __name((headers) => {
+ const transformedHeaders = {};
+ for (const name2 in headers) {
+ if (!hasOwn2(headers, name2))
+ continue;
+ const headerValues = headers[name2];
+ transformedHeaders[name2] = Array.isArray(headerValues) ? headerValues.join(",") : headerValues;
+ }
+ return transformedHeaders;
+ }, "getTransformedHeaders");
+ var timing = {
+ setTimeout: /* @__PURE__ */ __name((cb, ms) => setTimeout(cb, ms), "setTimeout"),
+ clearTimeout: /* @__PURE__ */ __name((timeoutId) => clearTimeout(timeoutId), "clearTimeout")
+ };
+ var DEFER_EVENT_LISTENER_TIME$2 = 1e3;
+ var setConnectionTimeout = /* @__PURE__ */ __name((request, reject, timeoutInMs = 0) => {
+ if (!timeoutInMs) {
+ return -1;
+ }
+ const registerTimeout = /* @__PURE__ */ __name((offset) => {
+ const timeoutId = timing.setTimeout(() => {
+ request.destroy();
+ reject(Object.assign(new Error(`@smithy/node-http-handler - the request socket did not establish a connection with the server within the configured timeout of ${timeoutInMs} ms.`), {
+ name: "TimeoutError"
+ }));
+ }, timeoutInMs - offset);
+ const doWithSocket = /* @__PURE__ */ __name((socket) => {
+ if (socket?.connecting) {
+ socket.on("connect", () => {
+ timing.clearTimeout(timeoutId);
+ });
+ } else {
+ timing.clearTimeout(timeoutId);
+ }
+ }, "doWithSocket");
+ if (request.socket) {
+ doWithSocket(request.socket);
+ } else {
+ request.on("socket", doWithSocket);
+ }
+ }, "registerTimeout");
+ if (timeoutInMs < 2e3) {
+ registerTimeout(0);
+ return 0;
+ }
+ return timing.setTimeout(registerTimeout.bind(null, DEFER_EVENT_LISTENER_TIME$2), DEFER_EVENT_LISTENER_TIME$2);
+ }, "setConnectionTimeout");
+ var setRequestTimeout = /* @__PURE__ */ __name((req2, reject, timeoutInMs = 0, throwOnRequestTimeout, logger) => {
+ if (timeoutInMs) {
+ return timing.setTimeout(() => {
+ let msg = `@smithy/node-http-handler - [${throwOnRequestTimeout ? "ERROR" : "WARN"}] a request has exceeded the configured ${timeoutInMs} ms requestTimeout.`;
+ if (throwOnRequestTimeout) {
+ const error62 = Object.assign(new Error(msg), {
+ name: "TimeoutError",
+ code: "ETIMEDOUT"
+ });
+ req2.destroy(error62);
+ reject(error62);
+ } else {
+ msg += ` Init client requestHandler with throwOnRequestTimeout=true to turn this into an error.`;
+ logger?.warn?.(msg);
+ }
+ }, timeoutInMs);
+ }
+ return -1;
+ }, "setRequestTimeout");
+ var DEFER_EVENT_LISTENER_TIME$1 = 3e3;
+ var setSocketKeepAlive = /* @__PURE__ */ __name((request, { keepAlive, keepAliveMsecs }, deferTimeMs = DEFER_EVENT_LISTENER_TIME$1) => {
+ if (keepAlive !== true) {
+ return -1;
+ }
+ const registerListener = /* @__PURE__ */ __name(() => {
+ if (request.socket) {
+ request.socket.setKeepAlive(keepAlive, keepAliveMsecs || 0);
+ } else {
+ request.on("socket", (socket) => {
+ socket.setKeepAlive(keepAlive, keepAliveMsecs || 0);
+ });
+ }
+ }, "registerListener");
+ if (deferTimeMs === 0) {
+ registerListener();
+ return 0;
+ }
+ return timing.setTimeout(registerListener, deferTimeMs);
+ }, "setSocketKeepAlive");
+ var DEFER_EVENT_LISTENER_TIME = 3e3;
+ var setSocketTimeout = /* @__PURE__ */ __name((request, reject, timeoutInMs = 0) => {
+ const registerTimeout = /* @__PURE__ */ __name((offset) => {
+ const timeout = timeoutInMs - offset;
+ const onTimeout = /* @__PURE__ */ __name(() => {
+ request.destroy();
+ reject(Object.assign(new Error(`@smithy/node-http-handler - the request socket timed out after ${timeoutInMs} ms of inactivity (configured by client requestHandler).`), { name: "TimeoutError" }));
+ }, "onTimeout");
+ if (request.socket) {
+ request.socket.setTimeout(timeout, onTimeout);
+ request.on("close", () => request.socket?.removeListener("timeout", onTimeout));
+ } else {
+ request.setTimeout(timeout, onTimeout);
+ }
+ }, "registerTimeout");
+ if (0 < timeoutInMs && timeoutInMs < 6e3) {
+ registerTimeout(0);
+ return 0;
+ }
+ return timing.setTimeout(registerTimeout.bind(null, timeoutInMs === 0 ? 0 : DEFER_EVENT_LISTENER_TIME), DEFER_EVENT_LISTENER_TIME);
+ }, "setSocketTimeout");
+ var MIN_WAIT_TIME = 6e3;
+ async function writeRequestBody(httpRequest, request, maxContinueTimeoutMs = MIN_WAIT_TIME, externalAgent = false) {
+ const headers = request.headers;
+ const expect = headers ? headers.Expect || headers.expect : void 0;
+ let timeoutId = -1;
+ let sendBody = true;
+ if (!externalAgent && expect === "100-continue") {
+ sendBody = await Promise.race([
+ new Promise((resolve) => {
+ timeoutId = Number(timing.setTimeout(() => resolve(true), Math.max(MIN_WAIT_TIME, maxContinueTimeoutMs)));
+ }),
+ new Promise((resolve) => {
+ httpRequest.on("continue", () => {
+ timing.clearTimeout(timeoutId);
+ resolve(true);
+ });
+ httpRequest.on("response", () => {
+ timing.clearTimeout(timeoutId);
+ resolve(false);
+ });
+ httpRequest.on("error", () => {
+ timing.clearTimeout(timeoutId);
+ resolve(false);
+ });
+ })
+ ]);
+ }
+ if (sendBody) {
+ writeBody(httpRequest, request.body);
+ }
+ }
+ __name(writeRequestBody, "writeRequestBody");
+ function writeBody(httpRequest, body) {
+ if (body instanceof Readable3) {
+ body.pipe(httpRequest);
+ return;
+ }
+ if (body) {
+ const isBuffer = Buffer.isBuffer(body);
+ const isString = typeof body === "string";
+ if (isBuffer || isString) {
+ if (isBuffer && body.byteLength === 0) {
+ httpRequest.end();
+ } else {
+ httpRequest.end(body);
+ }
+ return;
+ }
+ const uint8 = body;
+ if (typeof uint8 === "object" && uint8.buffer && typeof uint8.byteOffset === "number" && typeof uint8.byteLength === "number") {
+ httpRequest.end(Buffer.from(uint8.buffer, uint8.byteOffset, uint8.byteLength));
+ return;
+ }
+ httpRequest.end(Buffer.from(body));
+ return;
+ }
+ httpRequest.end();
+ }
+ __name(writeBody, "writeBody");
+ var DEFAULT_REQUEST_TIMEOUT = 0;
+ var hAgent = void 0;
+ var hRequest = void 0;
+ var NodeHttpHandler = class _NodeHttpHandler {
+ static {
+ __name(this, "NodeHttpHandler");
+ }
+ config;
+ configProvider;
+ socketWarningTimestamp = 0;
+ externalAgent = false;
+ metadata = { handlerProtocol: "http/1.1" };
+ static create(instanceOrOptions) {
+ if (typeof instanceOrOptions?.handle === "function") {
+ return instanceOrOptions;
+ }
+ return new _NodeHttpHandler(instanceOrOptions);
+ }
+ static checkSocketUsage(agent, socketWarningTimestamp, logger = console) {
+ const { sockets, requests, maxSockets } = agent;
+ if (typeof maxSockets !== "number" || maxSockets === Infinity) {
+ return socketWarningTimestamp;
+ }
+ const interval = 15e3;
+ if (Date.now() - interval < socketWarningTimestamp) {
+ return socketWarningTimestamp;
+ }
+ if (sockets && requests) {
+ for (const origin in sockets) {
+ if (!hasOwn2(sockets, origin))
+ continue;
+ const socketsInUse = sockets[origin]?.length ?? 0;
+ const requestsEnqueued = requests[origin]?.length ?? 0;
+ if (socketsInUse >= maxSockets && requestsEnqueued >= 2 * maxSockets) {
+ logger?.warn?.(`@smithy/node-http-handler:WARN - socket usage at capacity=${socketsInUse} and ${requestsEnqueued} additional requests are enqueued.
+See https://docs.aws.amazon.com/sdk-for-javascript/v3/developer-guide/node-configuring-maxsockets.html
+or increase socketAcquisitionWarningTimeout=(millis) in the NodeHttpHandler config.`);
+ return Date.now();
+ }
+ }
+ }
+ return socketWarningTimestamp;
+ }
+ constructor(options) {
+ this.configProvider = new Promise((resolve, reject) => {
+ if (typeof options === "function") {
+ options().then((_options) => {
+ resolve(this.resolveDefaultConfig(_options));
+ }).catch(reject);
+ } else {
+ resolve(this.resolveDefaultConfig(options));
+ }
+ });
+ }
+ destroy() {
+ this.config?.httpAgent?.destroy();
+ this.config?.httpsAgent?.destroy();
+ }
+ async handle(request, { abortSignal, requestTimeout } = {}) {
+ if (!this.config) {
+ this.config = await this.configProvider;
+ }
+ const config3 = this.config;
+ const logger = config3.logger;
+ const isSSL = request.protocol === "https:";
+ if (!isSSL && !this.config.httpAgent) {
+ this.config.httpAgent = await this.config.httpAgentProvider();
+ }
+ return new Promise((_resolve, _reject) => {
+ let writeRequestBodyPromise = void 0;
+ let socketWarningTimeoutId = -1;
+ let connectionTimeoutId = -1;
+ let requestTimeoutId = -1;
+ let socketTimeoutId = -1;
+ let keepAliveTimeoutId = -1;
+ const clearTimeouts = /* @__PURE__ */ __name(() => {
+ timing.clearTimeout(socketWarningTimeoutId);
+ timing.clearTimeout(connectionTimeoutId);
+ timing.clearTimeout(requestTimeoutId);
+ timing.clearTimeout(socketTimeoutId);
+ timing.clearTimeout(keepAliveTimeoutId);
+ }, "clearTimeouts");
+ const resolve = /* @__PURE__ */ __name(async (arg) => {
+ await writeRequestBodyPromise;
+ clearTimeouts();
+ _resolve(arg);
+ }, "resolve");
+ const reject = /* @__PURE__ */ __name(async (arg) => {
+ await writeRequestBodyPromise;
+ clearTimeouts();
+ _reject(arg);
+ }, "reject");
+ if (abortSignal?.aborted) {
+ const abortError = buildAbortError(abortSignal);
+ reject(abortError);
+ return;
+ }
+ const headers = request.headers;
+ const expectContinue = headers ? (headers.Expect ?? headers.expect) === "100-continue" : false;
+ let agent = isSSL ? config3.httpsAgent : config3.httpAgent;
+ if (expectContinue && !this.externalAgent) {
+ agent = new (isSSL ? node_https.Agent : hAgent)({
+ keepAlive: false,
+ maxSockets: Infinity
+ });
+ }
+ socketWarningTimeoutId = timing.setTimeout(() => {
+ this.socketWarningTimestamp = _NodeHttpHandler.checkSocketUsage(agent, this.socketWarningTimestamp, logger);
+ }, config3.socketAcquisitionWarningTimeout ?? (config3.requestTimeout ?? 2e3) + (config3.connectionTimeout ?? 1e3));
+ const queryString = request.query ? buildQueryString2(request.query) : "";
+ let auth = void 0;
+ if (request.username != null || request.password != null) {
+ const username = request.username ?? "";
+ const password2 = request.password ?? "";
+ auth = `${username}:${password2}`;
+ }
+ let path2 = request.path;
+ if (queryString) {
+ path2 += `?${queryString}`;
+ }
+ if (request.fragment) {
+ path2 += `#${request.fragment}`;
+ }
+ let hostname3 = request.hostname ?? "";
+ if (hostname3[0] === "[" && hostname3.endsWith("]")) {
+ hostname3 = request.hostname.slice(1, -1);
+ } else {
+ hostname3 = request.hostname;
+ }
+ const nodeHttpsOptions = {
+ headers: request.headers,
+ host: hostname3,
+ method: request.method,
+ path: path2,
+ port: request.port,
+ agent,
+ auth
+ };
+ const requestFunc = isSSL ? node_https.request : hRequest;
+ const req2 = requestFunc(nodeHttpsOptions, (res) => {
+ const httpResponse = new HttpResponse2({
+ statusCode: res.statusCode || -1,
+ reason: res.statusMessage,
+ headers: getTransformedHeaders(res.headers),
+ body: res
+ });
+ resolve({ response: httpResponse });
+ });
+ req2.on("error", (err) => {
+ if (NODEJS_TIMEOUT_ERROR_CODES2.includes(err.code)) {
+ reject(Object.assign(err, { name: "TimeoutError" }));
+ } else {
+ reject(err);
+ }
+ });
+ if (abortSignal) {
+ const onAbort = /* @__PURE__ */ __name(() => {
+ req2.destroy();
+ const abortError = buildAbortError(abortSignal);
+ reject(abortError);
+ }, "onAbort");
+ if (typeof abortSignal.addEventListener === "function") {
+ const signal = abortSignal;
+ signal.addEventListener("abort", onAbort, { once: true });
+ req2.once("close", () => signal.removeEventListener("abort", onAbort));
+ } else {
+ abortSignal.onabort = onAbort;
+ }
+ }
+ const effectiveRequestTimeout = requestTimeout ?? config3.requestTimeout;
+ connectionTimeoutId = setConnectionTimeout(req2, reject, config3.connectionTimeout);
+ requestTimeoutId = setRequestTimeout(req2, reject, effectiveRequestTimeout, config3.throwOnRequestTimeout, logger ?? console);
+ socketTimeoutId = setSocketTimeout(req2, reject, config3.socketTimeout);
+ const httpAgent = nodeHttpsOptions.agent;
+ if (typeof httpAgent === "object" && "keepAlive" in httpAgent) {
+ keepAliveTimeoutId = setSocketKeepAlive(req2, {
+ keepAlive: httpAgent.keepAlive,
+ keepAliveMsecs: httpAgent.keepAliveMsecs
+ });
+ }
+ writeRequestBodyPromise = writeRequestBody(req2, request, effectiveRequestTimeout, this.externalAgent).catch((e5) => {
+ clearTimeouts();
+ return _reject(e5);
+ });
+ });
+ }
+ updateHttpClientConfig(key, value) {
+ this.config = void 0;
+ this.configProvider = this.configProvider.then((config3) => {
+ if (key === /* @__PURE__ */ Symbol.for("logger")) {
+ return {
+ ...config3,
+ logger: config3.logger ?? value
+ };
+ }
+ return {
+ ...config3,
+ [key]: value
+ };
+ });
+ }
+ httpHandlerConfigs() {
+ return this.config ?? {};
+ }
+ resolveDefaultConfig(options) {
+ const { requestTimeout, connectionTimeout, socketTimeout, socketAcquisitionWarningTimeout, httpAgent, httpsAgent, throwOnRequestTimeout, logger } = options || {};
+ const keepAlive = true;
+ const maxSockets = 50;
+ return {
+ connectionTimeout,
+ requestTimeout,
+ socketTimeout,
+ socketAcquisitionWarningTimeout,
+ throwOnRequestTimeout,
+ httpAgentProvider: /* @__PURE__ */ __name(async () => {
+ const node_http = __require("node:http");
+ const { Agent, request } = node_http.default ?? node_http;
+ hRequest = request;
+ hAgent = Agent;
+ if (httpAgent instanceof hAgent || typeof httpAgent?.destroy === "function") {
+ this.externalAgent = true;
+ return httpAgent;
+ }
+ return new hAgent({ keepAlive, maxSockets, ...httpAgent });
+ }, "httpAgentProvider"),
+ httpsAgent: (() => {
+ if (httpsAgent instanceof node_https.Agent || typeof httpsAgent?.destroy === "function") {
+ this.externalAgent = true;
+ return httpsAgent;
+ }
+ return new node_https.Agent({ keepAlive, maxSockets, ...httpsAgent });
+ })(),
+ logger
+ };
+ }
+ };
+ var ids = new Uint16Array(1);
+ var ClientHttp2SessionRef = class {
+ static {
+ __name(this, "ClientHttp2SessionRef");
+ }
+ id = ids[0]++;
+ total = 0;
+ max = 0;
+ session;
+ refs = 0;
+ constructor(session) {
+ session.unref();
+ this.session = session;
+ }
+ retain() {
+ if (this.session.destroyed) {
+ throw new Error("@smithy/node-http-handler - cannot acquire reference to destroyed session.");
+ }
+ this.refs += 1;
+ this.total += 1;
+ this.max = Math.max(this.refs, this.max);
+ this.session.ref();
+ }
+ free() {
+ if (this.session.destroyed) {
+ return;
+ }
+ this.refs -= 1;
+ if (this.refs === 0) {
+ this.session.unref();
+ }
+ if (this.refs < 0) {
+ throw new Error("@smithy/node-http-handler - ClientHttp2Session refcount at zero, cannot decrement.");
+ }
+ }
+ deref() {
+ return this.session;
+ }
+ close() {
+ if (!this.session.closed) {
+ this.session.close();
+ }
+ }
+ destroy() {
+ this.refs = 0;
+ if (!this.session.destroyed) {
+ this.session.setTimeout(0);
+ this.session.destroy();
+ }
+ }
+ useCount() {
+ return this.refs;
+ }
+ };
+ var NodeHttp2ConnectionPool = class {
+ static {
+ __name(this, "NodeHttp2ConnectionPool");
+ }
+ sessions = [];
+ maxConcurrency = 0;
+ constructor(sessions) {
+ this.sessions = (sessions ?? []).map((session) => new ClientHttp2SessionRef(session));
+ }
+ poll() {
+ let cleanup = false;
+ for (const session of this.sessions) {
+ if (session.deref().destroyed) {
+ cleanup = true;
+ continue;
+ }
+ if (!this.maxConcurrency || session.useCount() < this.maxConcurrency) {
+ return session;
+ }
+ }
+ if (cleanup) {
+ for (const session of this.sessions) {
+ if (session.deref().destroyed) {
+ this.remove(session);
+ }
+ }
+ }
+ }
+ offerLast(ref) {
+ this.sessions.push(ref);
+ }
+ remove(ref) {
+ const ix = this.sessions.indexOf(ref);
+ if (ix > -1) {
+ this.sessions.splice(ix, 1);
+ }
+ }
+ [Symbol.iterator]() {
+ return this.sessions[Symbol.iterator]();
+ }
+ setMaxConcurrency(maxConcurrency) {
+ this.maxConcurrency = maxConcurrency;
+ }
+ destroy(ref) {
+ this.remove(ref);
+ ref.destroy();
+ }
+ };
+ var NodeHttp2ConnectionManager = class {
+ static {
+ __name(this, "NodeHttp2ConnectionManager");
+ }
+ config;
+ connectOptions;
+ connectionPools = /* @__PURE__ */ new Map();
+ constructor(config3) {
+ this.config = config3;
+ if (this.config.maxConcurrency && this.config.maxConcurrency <= 0) {
+ throw new RangeError("maxConcurrency must be greater than zero.");
+ }
+ }
+ lease(requestContext, connectionConfiguration) {
+ const url2 = this.getUrlString(requestContext);
+ const pool = this.getPool(url2);
+ if (!this.config.disableConcurrency && !connectionConfiguration.isEventStream) {
+ const available = pool.poll();
+ if (available) {
+ available.retain();
+ return available;
+ }
+ }
+ const ref = new ClientHttp2SessionRef(this.connect(url2));
+ const session = ref.deref();
+ if (this.config.maxConcurrency) {
+ session.settings({ maxConcurrentStreams: this.config.maxConcurrency }, (err) => {
+ if (err) {
+ throw new Error("Fail to set maxConcurrentStreams to " + this.config.maxConcurrency + "when creating new session for " + requestContext.destination.toString());
+ }
+ });
+ }
+ const graceful = /* @__PURE__ */ __name(() => {
+ this.removeFromPoolAndClose(url2, ref);
+ }, "graceful");
+ const ensureDestroyed = /* @__PURE__ */ __name(() => {
+ this.removeFromPoolAndCheckedDestroy(url2, ref);
+ }, "ensureDestroyed");
+ session.on("goaway", graceful);
+ session.on("error", ensureDestroyed);
+ session.on("frameError", ensureDestroyed);
+ session.on("close", ensureDestroyed);
+ if (connectionConfiguration.requestTimeout) {
+ session.setTimeout(connectionConfiguration.requestTimeout, ensureDestroyed);
+ }
+ pool.offerLast(ref);
+ ref.retain();
+ return ref;
+ }
+ release(_requestContext, ref) {
+ ref.free();
+ }
+ createIsolatedSession(requestContext, connectionConfiguration) {
+ const url2 = this.getUrlString(requestContext);
+ const ref = new ClientHttp2SessionRef(this.connect(url2));
+ const session = ref.deref();
+ session.settings({ maxConcurrentStreams: 1 });
+ const ensureDestroyed = /* @__PURE__ */ __name(() => {
+ ref.destroy();
+ }, "ensureDestroyed");
+ session.on("error", ensureDestroyed);
+ session.on("frameError", ensureDestroyed);
+ session.on("close", ensureDestroyed);
+ const timeout = connectionConfiguration.requestTimeout ?? 3e5;
+ session.setTimeout(timeout, ensureDestroyed);
+ ref.retain();
+ return ref;
+ }
+ destroy() {
+ for (const [url2, connectionPool] of this.connectionPools) {
+ for (const session of [...connectionPool]) {
+ session.destroy();
+ }
+ this.connectionPools.delete(url2);
+ }
+ }
+ setMaxConcurrentStreams(maxConcurrentStreams) {
+ if (maxConcurrentStreams && maxConcurrentStreams <= 0) {
+ throw new RangeError("maxConcurrentStreams must be greater than zero.");
+ }
+ this.config.maxConcurrency = maxConcurrentStreams;
+ for (const pool of this.connectionPools.values()) {
+ pool.setMaxConcurrency(maxConcurrentStreams);
+ }
+ }
+ setDisableConcurrentStreams(disableConcurrentStreams) {
+ this.config.disableConcurrency = disableConcurrentStreams;
+ }
+ setNodeHttp2ConnectOptions(nodeHttp2ConnectOptions) {
+ this.connectOptions = nodeHttp2ConnectOptions;
+ }
+ debug() {
+ const pools = {};
+ for (const [url2, pool] of this.connectionPools) {
+ const sessions = [];
+ for (const ref of pool) {
+ sessions.push({
+ id: ref.id,
+ active: ref.useCount(),
+ maxConcurrent: ref.max,
+ totalRequests: ref.total
+ });
+ }
+ pools[url2] = { sessions };
+ }
+ return pools;
+ }
+ removeFromPoolAndClose(authority, ref) {
+ this.connectionPools.get(authority)?.remove(ref);
+ ref.close();
+ }
+ removeFromPoolAndCheckedDestroy(authority, ref) {
+ this.connectionPools.get(authority)?.remove(ref);
+ ref.destroy();
+ }
+ getPool(url2) {
+ if (!this.connectionPools.has(url2)) {
+ const pool = new NodeHttp2ConnectionPool();
+ if (this.config.maxConcurrency) {
+ pool.setMaxConcurrency(this.config.maxConcurrency);
+ }
+ this.connectionPools.set(url2, pool);
+ }
+ return this.connectionPools.get(url2);
+ }
+ getUrlString(request) {
+ return request.destination.toString();
+ }
+ connect(url2) {
+ return this.connectOptions === void 0 ? http2.connect(url2) : http2.connect(url2, this.connectOptions);
+ }
+ };
+ var { constants } = http2;
+ var NodeHttp2Handler = class _NodeHttp2Handler {
+ static {
+ __name(this, "NodeHttp2Handler");
+ }
+ config;
+ configProvider;
+ metadata = { handlerProtocol: "h2" };
+ connectionManager = new NodeHttp2ConnectionManager({});
+ static create(instanceOrOptions) {
+ if (typeof instanceOrOptions?.handle === "function") {
+ return instanceOrOptions;
+ }
+ return new _NodeHttp2Handler(instanceOrOptions);
+ }
+ constructor(options) {
+ this.configProvider = new Promise((resolve, reject) => {
+ if (typeof options === "function") {
+ options().then((opts) => {
+ resolve(opts || {});
+ }).catch(reject);
+ } else {
+ resolve(options || {});
+ }
+ });
+ }
+ destroy() {
+ this.connectionManager.destroy();
+ }
+ async handle(request, { abortSignal, requestTimeout, isEventStream } = {}) {
+ if (!this.config) {
+ this.config = await this.configProvider;
+ const { disableConcurrentStreams: disableConcurrentStreams2, maxConcurrentStreams, nodeHttp2ConnectOptions } = this.config;
+ this.connectionManager.setDisableConcurrentStreams(disableConcurrentStreams2 ?? false);
+ if (maxConcurrentStreams) {
+ this.connectionManager.setMaxConcurrentStreams(maxConcurrentStreams);
+ }
+ if (nodeHttp2ConnectOptions) {
+ this.connectionManager.setNodeHttp2ConnectOptions(nodeHttp2ConnectOptions);
+ }
+ }
+ const { requestTimeout: configRequestTimeout, disableConcurrentStreams } = this.config;
+ const useIsolatedSession = disableConcurrentStreams || isEventStream;
+ const effectiveRequestTimeout = requestTimeout ?? configRequestTimeout;
+ return new Promise((_resolve, _reject) => {
+ let fulfilled = false;
+ let writeRequestBodyPromise = void 0;
+ const resolve = /* @__PURE__ */ __name(async (arg) => {
+ await writeRequestBodyPromise;
+ _resolve(arg);
+ }, "resolve");
+ const reject = /* @__PURE__ */ __name(async (arg) => {
+ await writeRequestBodyPromise;
+ _reject(arg);
+ }, "reject");
+ if (abortSignal?.aborted) {
+ fulfilled = true;
+ const abortError = buildAbortError(abortSignal);
+ reject(abortError);
+ return;
+ }
+ const { hostname: hostname3, method, port, protocol, query } = request;
+ let auth = "";
+ if (request.username != null || request.password != null) {
+ const username = request.username ?? "";
+ const password2 = request.password ?? "";
+ auth = `${username}:${password2}@`;
+ }
+ const authority = `${protocol}//${auth}${hostname3}${port ? `:${port}` : ""}`;
+ const requestContext = { destination: new URL(authority) };
+ const connectConfig = {
+ requestTimeout: this.config?.sessionTimeout,
+ isEventStream
+ };
+ const ref = useIsolatedSession ? this.connectionManager.createIsolatedSession(requestContext, connectConfig) : this.connectionManager.lease(requestContext, connectConfig);
+ const session = ref.deref();
+ const rejectWithDestroy = /* @__PURE__ */ __name((err) => {
+ if (useIsolatedSession) {
+ ref.destroy();
+ }
+ fulfilled = true;
+ reject(err);
+ }, "rejectWithDestroy");
+ const queryString = query ? buildQueryString2(query) : "";
+ let path2 = request.path;
+ if (queryString) {
+ path2 += `?${queryString}`;
+ }
+ if (request.fragment) {
+ path2 += `#${request.fragment}`;
+ }
+ const clientHttp2Stream = session.request({
+ ...request.headers,
+ [constants.HTTP2_HEADER_PATH]: path2,
+ [constants.HTTP2_HEADER_METHOD]: method
+ });
+ if (effectiveRequestTimeout) {
+ clientHttp2Stream.setTimeout(effectiveRequestTimeout, () => {
+ clientHttp2Stream.close();
+ const timeoutError = new Error(`Stream timed out because of no activity for ${effectiveRequestTimeout} ms`);
+ timeoutError.name = "TimeoutError";
+ rejectWithDestroy(timeoutError);
+ });
+ }
+ if (abortSignal) {
+ const onAbort = /* @__PURE__ */ __name(() => {
+ clientHttp2Stream.close();
+ const abortError = buildAbortError(abortSignal);
+ rejectWithDestroy(abortError);
+ }, "onAbort");
+ if (typeof abortSignal.addEventListener === "function") {
+ const signal = abortSignal;
+ signal.addEventListener("abort", onAbort, { once: true });
+ clientHttp2Stream.once("close", () => signal.removeEventListener("abort", onAbort));
+ } else {
+ abortSignal.onabort = onAbort;
+ }
+ }
+ clientHttp2Stream.on("frameError", (type, code, id) => {
+ rejectWithDestroy(new Error(`Frame type id ${type} in stream id ${id} has failed with code ${code}.`));
+ });
+ clientHttp2Stream.on("error", rejectWithDestroy);
+ clientHttp2Stream.on("aborted", () => {
+ rejectWithDestroy(new Error(`HTTP/2 stream is abnormally aborted in mid-communication with result code ${clientHttp2Stream.rstCode}.`));
+ });
+ clientHttp2Stream.on("response", (headers) => {
+ const httpResponse = new HttpResponse2({
+ statusCode: headers[":status"] ?? -1,
+ headers: getTransformedHeaders(headers),
+ body: clientHttp2Stream
+ });
+ fulfilled = true;
+ resolve({ response: httpResponse });
+ if (useIsolatedSession) {
+ session.close();
+ clientHttp2Stream.on("end", () => {
+ ref.destroy();
+ });
+ }
+ });
+ clientHttp2Stream.on("close", () => {
+ if (useIsolatedSession) {
+ ref.destroy();
+ } else {
+ this.connectionManager.release(requestContext, ref);
+ }
+ if (!fulfilled) {
+ const error62 = new Error("Unexpected error: http2 request did not get a response");
+ if (session.destroyed) {
+ error62.name = "TimeoutError";
+ }
+ rejectWithDestroy(error62);
+ }
+ });
+ writeRequestBodyPromise = writeRequestBody(clientHttp2Stream, request, effectiveRequestTimeout);
+ });
+ }
+ updateHttpClientConfig(key, value) {
+ this.config = void 0;
+ this.configProvider = this.configProvider.then((config3) => {
+ return {
+ ...config3,
+ [key]: value
+ };
+ });
+ }
+ httpHandlerConfigs() {
+ return this.config ?? {};
+ }
+ };
+ exports.DEFAULT_REQUEST_TIMEOUT = DEFAULT_REQUEST_TIMEOUT;
+ exports.NodeHttp2Handler = NodeHttp2Handler;
+ exports.NodeHttpHandler = NodeHttpHandler;
+ }
+});
+
+// ../../node_modules/.pnpm/@aws-sdk+credential-provider-http@3.972.77/node_modules/@aws-sdk/credential-provider-http/dist-cjs/index.js
+var require_dist_cjs8 = __commonJS({
+ "../../node_modules/.pnpm/@aws-sdk+credential-provider-http@3.972.77/node_modules/@aws-sdk/credential-provider-http/dist-cjs/index.js"(exports) {
+ var { setCredentialFeature: setCredentialFeature2 } = (init_client2(), __toCommonJS(client_exports2));
+ var { CredentialsProviderError } = (init_config(), __toCommonJS(config_exports));
+ var { NodeHttpHandler } = require_dist_cjs7();
+ var fs = __require("node:fs/promises");
+ var { HttpRequest: HttpRequest2 } = (init_protocols(), __toCommonJS(protocols_exports));
+ var { sdkStreamMixin: sdkStreamMixin2, parseRfc3339DateTime } = (init_serde(), __toCommonJS(serde_exports));
+ var ECS_CONTAINER_HOST = "169.254.170.2";
+ var EKS_CONTAINER_HOST_IPv4 = "169.254.170.23";
+ var EKS_CONTAINER_HOST_IPv6 = "[fd00:ec2::23]";
+ var checkUrl = /* @__PURE__ */ __name((url2, logger) => {
+ if (url2.protocol === "https:") {
+ return;
+ }
+ if (url2.hostname === ECS_CONTAINER_HOST || url2.hostname === EKS_CONTAINER_HOST_IPv4 || url2.hostname === EKS_CONTAINER_HOST_IPv6) {
+ return;
+ }
+ if (url2.hostname.includes("[")) {
+ if (url2.hostname === "[::1]" || url2.hostname === "[0000:0000:0000:0000:0000:0000:0000:0001]") {
+ return;
+ }
+ } else {
+ if (url2.hostname === "localhost") {
+ return;
+ }
+ const ipComponents = url2.hostname.split(".");
+ const inRange = /* @__PURE__ */ __name((component) => {
+ const num = parseInt(component, 10);
+ return 0 <= num && num <= 255;
+ }, "inRange");
+ if (ipComponents[0] === "127" && inRange(ipComponents[1]) && inRange(ipComponents[2]) && inRange(ipComponents[3]) && ipComponents.length === 4) {
+ return;
+ }
+ }
+ throw new CredentialsProviderError(`URL not accepted. It must either be HTTPS or match one of the following:
+ - loopback CIDR 127.0.0.0/8 or [::1/128]
+ - ECS container host 169.254.170.2
+ - EKS container host 169.254.170.23 or [fd00:ec2::23]`, { logger });
+ }, "checkUrl");
+ function createGetRequest(url2) {
+ return new HttpRequest2({
+ protocol: url2.protocol,
+ hostname: url2.hostname,
+ port: Number(url2.port),
+ path: url2.pathname,
+ query: Array.from(url2.searchParams.entries()).reduce((acc, [k5, v]) => {
+ acc[k5] = v;
+ return acc;
+ }, {}),
+ fragment: url2.hash
+ });
+ }
+ __name(createGetRequest, "createGetRequest");
+ async function getCredentials(response, logger) {
+ const stream = sdkStreamMixin2(response.body);
+ const str = await stream.transformToString();
+ if (response.statusCode === 200) {
+ const parsed2 = JSON.parse(str);
+ if (typeof parsed2.AccessKeyId !== "string" || typeof parsed2.SecretAccessKey !== "string" || typeof parsed2.Token !== "string" || typeof parsed2.Expiration !== "string") {
+ throw new CredentialsProviderError("HTTP credential provider response not of the required format, an object matching: { AccessKeyId: string, SecretAccessKey: string, Token: string, Expiration: string(rfc3339) }", { logger });
+ }
+ return {
+ accessKeyId: parsed2.AccessKeyId,
+ secretAccessKey: parsed2.SecretAccessKey,
+ sessionToken: parsed2.Token,
+ expiration: parseRfc3339DateTime(parsed2.Expiration)
+ };
+ }
+ if (response.statusCode >= 400 && response.statusCode < 500) {
+ let parsedBody = {};
+ try {
+ parsedBody = JSON.parse(str);
+ } catch (e5) {
+ }
+ throw Object.assign(new CredentialsProviderError(`Server responded with status: ${response.statusCode}`, { logger }), {
+ Code: parsedBody.Code,
+ Message: parsedBody.Message
+ });
+ }
+ throw new CredentialsProviderError(`Server responded with status: ${response.statusCode}`, { logger });
+ }
+ __name(getCredentials, "getCredentials");
+ var retryWrapper = /* @__PURE__ */ __name((toRetry, maxRetries, delayMs) => {
+ return async () => {
+ for (let i5 = 0; i5 < maxRetries; ++i5) {
+ try {
+ return await toRetry();
+ } catch (e5) {
+ await new Promise((resolve) => setTimeout(resolve, delayMs));
+ }
+ }
+ return await toRetry();
+ };
+ }, "retryWrapper");
+ var AWS_CONTAINER_CREDENTIALS_RELATIVE_URI = "AWS_CONTAINER_CREDENTIALS_RELATIVE_URI";
+ var DEFAULT_LINK_LOCAL_HOST = "http://169.254.170.2";
+ var AWS_CONTAINER_CREDENTIALS_FULL_URI = "AWS_CONTAINER_CREDENTIALS_FULL_URI";
+ var AWS_CONTAINER_AUTHORIZATION_TOKEN_FILE = "AWS_CONTAINER_AUTHORIZATION_TOKEN_FILE";
+ var AWS_CONTAINER_AUTHORIZATION_TOKEN = "AWS_CONTAINER_AUTHORIZATION_TOKEN";
+ var fromHttp = /* @__PURE__ */ __name((options = {}) => {
+ options.logger?.debug("@aws-sdk/credential-provider-http - fromHttp");
+ let host;
+ const relative = options.awsContainerCredentialsRelativeUri ?? process.env[AWS_CONTAINER_CREDENTIALS_RELATIVE_URI];
+ const full = options.awsContainerCredentialsFullUri ?? process.env[AWS_CONTAINER_CREDENTIALS_FULL_URI];
+ const token = options.awsContainerAuthorizationToken ?? process.env[AWS_CONTAINER_AUTHORIZATION_TOKEN];
+ const tokenFile = options.awsContainerAuthorizationTokenFile ?? process.env[AWS_CONTAINER_AUTHORIZATION_TOKEN_FILE];
+ const warn = options.logger?.constructor?.name === "NoOpLogger" || !options.logger?.warn ? console.warn : options.logger.warn.bind(options.logger);
+ if (relative && full) {
+ warn("@aws-sdk/credential-provider-http: you have set both awsContainerCredentialsRelativeUri and awsContainerCredentialsFullUri.");
+ warn("awsContainerCredentialsRelativeUri will take precedence.");
+ }
+ if (token && tokenFile) {
+ warn("@aws-sdk/credential-provider-http: you have set both awsContainerAuthorizationToken and awsContainerAuthorizationTokenFile.");
+ warn("awsContainerAuthorizationTokenFile will take precedence.");
+ }
+ if (relative) {
+ host = `${DEFAULT_LINK_LOCAL_HOST}${relative}`;
+ } else if (full) {
+ host = full;
+ } else {
+ throw new CredentialsProviderError(`No HTTP credential provider host provided.
+Set AWS_CONTAINER_CREDENTIALS_FULL_URI or AWS_CONTAINER_CREDENTIALS_RELATIVE_URI.`, { logger: options.logger });
+ }
+ const url2 = new URL(host);
+ checkUrl(url2, options.logger);
+ const requestHandler = NodeHttpHandler.create({ connectionTimeout: options.timeout ?? 1e3 });
+ const requestTimeout = options.timeout ?? 1e3;
+ const provider = retryWrapper(async () => {
+ const request = createGetRequest(url2);
+ if (tokenFile) {
+ request.headers.Authorization = validateToken((await fs.readFile(tokenFile)).toString());
+ } else if (token) {
+ request.headers.Authorization = validateToken(token);
+ }
+ try {
+ const result = await requestHandler.handle(request, { requestTimeout });
+ return getCredentials(result.response).then((creds) => setCredentialFeature2(creds, "CREDENTIALS_HTTP", "z"));
+ } catch (e5) {
+ throw new CredentialsProviderError(String(e5), { logger: options.logger });
+ }
+ }, options.maxRetries ?? 3, options.timeout ?? 1e3);
+ return async () => {
+ try {
+ return await provider();
+ } finally {
+ requestHandler.destroy?.();
+ }
+ };
+ }, "fromHttp");
+ var validateToken = /* @__PURE__ */ __name((token) => {
+ if (token.includes("\r\n")) {
+ throw new CredentialsProviderError("Authorization token contains invalid \\r\\n sequence.");
+ }
+ return token;
+ }, "validateToken");
+ exports.fromHttp = fromHttp;
+ }
+});
+
+// ../../node_modules/.pnpm/@aws-sdk+nested-clients@3.997.49/node_modules/@aws-sdk/nested-clients/dist-es/submodules/sso-oidc/auth/httpAuthSchemeProvider.js
+function createAwsAuthSigv4HttpAuthOption(authParameters) {
+ return {
+ schemeId: "aws.auth#sigv4",
+ signingProperties: {
+ name: "sso-oauth",
+ region: authParameters.region
+ },
+ propertiesExtractor: /* @__PURE__ */ __name((config3, context) => ({
+ signingProperties: {
+ config: config3,
+ context
+ }
+ }), "propertiesExtractor")
+ };
+}
+function createSmithyApiNoAuthHttpAuthOption(authParameters) {
+ return {
+ schemeId: "smithy.api#noAuth"
+ };
+}
+var defaultSSOOIDCHttpAuthSchemeParametersProvider, defaultSSOOIDCHttpAuthSchemeProvider, resolveHttpAuthSchemeConfig;
+var init_httpAuthSchemeProvider = __esm({
+ "../../node_modules/.pnpm/@aws-sdk+nested-clients@3.997.49/node_modules/@aws-sdk/nested-clients/dist-es/submodules/sso-oidc/auth/httpAuthSchemeProvider.js"() {
+ init_httpAuthSchemes2();
+ init_client();
+ defaultSSOOIDCHttpAuthSchemeParametersProvider = /* @__PURE__ */ __name(async (config3, context, input2) => {
+ return {
+ operation: getSmithyContext(context).operation,
+ region: await normalizeProvider(config3.region)() || (() => {
+ throw new Error("expected `region` to be configured for `aws.auth#sigv4`");
+ })()
+ };
+ }, "defaultSSOOIDCHttpAuthSchemeParametersProvider");
+ __name(createAwsAuthSigv4HttpAuthOption, "createAwsAuthSigv4HttpAuthOption");
+ __name(createSmithyApiNoAuthHttpAuthOption, "createSmithyApiNoAuthHttpAuthOption");
+ defaultSSOOIDCHttpAuthSchemeProvider = /* @__PURE__ */ __name((authParameters) => {
+ const options = [];
+ switch (authParameters.operation) {
+ case "CreateToken":
+ {
+ options.push(createSmithyApiNoAuthHttpAuthOption(authParameters));
+ break;
+ }
+ ;
+ default: {
+ options.push(createAwsAuthSigv4HttpAuthOption(authParameters));
+ }
+ }
+ return options;
+ }, "defaultSSOOIDCHttpAuthSchemeProvider");
+ resolveHttpAuthSchemeConfig = /* @__PURE__ */ __name((config3) => {
+ const config_0 = resolveAwsSdkSigV4Config(config3);
+ return Object.assign(config_0, {
+ authSchemePreference: normalizeProvider(config3.authSchemePreference ?? [])
+ });
+ }, "resolveHttpAuthSchemeConfig");
+ }
+});
+
+// ../../node_modules/.pnpm/@aws-sdk+nested-clients@3.997.49/node_modules/@aws-sdk/nested-clients/dist-es/submodules/sso-oidc/endpoint/EndpointParameters.js
+var resolveClientEndpointParameters, commonParams;
+var init_EndpointParameters = __esm({
+ "../../node_modules/.pnpm/@aws-sdk+nested-clients@3.997.49/node_modules/@aws-sdk/nested-clients/dist-es/submodules/sso-oidc/endpoint/EndpointParameters.js"() {
+ resolveClientEndpointParameters = /* @__PURE__ */ __name((options) => {
+ return Object.assign(options, {
+ useDualstackEndpoint: options.useDualstackEndpoint ?? false,
+ useFipsEndpoint: options.useFipsEndpoint ?? false,
+ defaultSigningName: "sso-oauth"
+ });
+ }, "resolveClientEndpointParameters");
+ commonParams = {
+ UseFIPS: { type: "builtInParams", name: "useFipsEndpoint" },
+ Endpoint: { type: "builtInParams", name: "endpoint" },
+ Region: { type: "builtInParams", name: "region" },
+ UseDualStack: { type: "builtInParams", name: "useDualstackEndpoint" }
+ };
+ }
+});
+
+// ../../node_modules/.pnpm/@aws-sdk+nested-clients@3.997.49/node_modules/@aws-sdk/nested-clients/package.json
+var package_default;
+var init_package = __esm({
+ "../../node_modules/.pnpm/@aws-sdk+nested-clients@3.997.49/node_modules/@aws-sdk/nested-clients/package.json"() {
+ package_default = {
+ name: "@aws-sdk/nested-clients",
+ version: "3.997.49",
+ description: "Nested clients for AWS SDK packages.",
+ homepage: "https://github.com/aws/aws-sdk-js-v3/tree/main/packages/nested-clients",
+ license: "Apache-2.0",
+ author: {
+ name: "AWS SDK for JavaScript Team",
+ url: "https://aws.amazon.com/sdk-for-javascript/"
+ },
+ repository: {
+ type: "git",
+ url: "https://github.com/aws/aws-sdk-js-v3.git",
+ directory: "packages/nested-clients"
+ },
+ files: [
+ "./cognito-identity.d.ts",
+ "./cognito-identity.js",
+ "./signin.d.ts",
+ "./signin.js",
+ "./sso-oidc.d.ts",
+ "./sso-oidc.js",
+ "./sso.d.ts",
+ "./sso.js",
+ "./sts.d.ts",
+ "./sts.js",
+ "dist-*/**"
+ ],
+ sideEffects: false,
+ main: "./dist-cjs/index.js",
+ module: "./dist-es/index.js",
+ browser: {
+ "./dist-es/submodules/cognito-identity/runtimeConfig": "./dist-es/submodules/cognito-identity/runtimeConfig.browser",
+ "./dist-es/submodules/signin/runtimeConfig": "./dist-es/submodules/signin/runtimeConfig.browser",
+ "./dist-es/submodules/sso-oidc/runtimeConfig": "./dist-es/submodules/sso-oidc/runtimeConfig.browser",
+ "./dist-es/submodules/sso/runtimeConfig": "./dist-es/submodules/sso/runtimeConfig.browser",
+ "./dist-es/submodules/sts/runtimeConfig": "./dist-es/submodules/sts/runtimeConfig.browser"
+ },
+ types: "./dist-types/index.d.ts",
+ typesVersions: {
+ "<4.5": {
+ "dist-types/*": [
+ "dist-types/ts3.4/*"
+ ],
+ "*": [
+ "dist-types/ts3.4/submodules/*/index.d.ts"
+ ]
+ }
+ },
+ "react-native": {},
+ exports: {
+ "./package.json": "./package.json",
+ "./sso-oidc": {
+ types: "./dist-types/submodules/sso-oidc/index.d.ts",
+ module: "./dist-es/submodules/sso-oidc/index.js",
+ node: "./dist-cjs/submodules/sso-oidc/index.js",
+ import: "./dist-es/submodules/sso-oidc/index.js",
+ require: "./dist-cjs/submodules/sso-oidc/index.js"
+ },
+ "./sts": {
+ types: "./dist-types/submodules/sts/index.d.ts",
+ module: "./dist-es/submodules/sts/index.js",
+ node: "./dist-cjs/submodules/sts/index.js",
+ import: "./dist-es/submodules/sts/index.js",
+ require: "./dist-cjs/submodules/sts/index.js"
+ },
+ "./signin": {
+ types: "./dist-types/submodules/signin/index.d.ts",
+ module: "./dist-es/submodules/signin/index.js",
+ node: "./dist-cjs/submodules/signin/index.js",
+ import: "./dist-es/submodules/signin/index.js",
+ require: "./dist-cjs/submodules/signin/index.js"
+ },
+ "./cognito-identity": {
+ types: "./dist-types/submodules/cognito-identity/index.d.ts",
+ module: "./dist-es/submodules/cognito-identity/index.js",
+ node: "./dist-cjs/submodules/cognito-identity/index.js",
+ import: "./dist-es/submodules/cognito-identity/index.js",
+ require: "./dist-cjs/submodules/cognito-identity/index.js"
+ },
+ "./sso": {
+ types: "./dist-types/submodules/sso/index.d.ts",
+ module: "./dist-es/submodules/sso/index.js",
+ node: "./dist-cjs/submodules/sso/index.js",
+ import: "./dist-es/submodules/sso/index.js",
+ require: "./dist-cjs/submodules/sso/index.js"
+ }
+ },
+ scripts: {
+ build: "concurrently 'yarn:build:types' 'yarn:build:es' && yarn build:cjs",
+ "build:cjs": "node ../../scripts/compilation/inline",
+ "build:es": "premove dist-es && tsc -p tsconfig.es.json",
+ "build:include:deps": 'yarn g:turbo run build -F="$npm_package_name"',
+ "build:types": "premove dist-types && tsc -p tsconfig.types.json",
+ "build:types:downlevel": "downlevel-dts dist-types dist-types/ts3.4",
+ clean: "premove dist-cjs dist-es dist-types",
+ lint: "node ../../scripts/validation/submodules-linter.js",
+ prebuild: "yarn lint",
+ test: "yarn g:vitest run",
+ "test:watch": "yarn g:vitest watch"
+ },
+ dependencies: {
+ "@aws-sdk/core": "^3.978.4",
+ "@aws-sdk/signature-v4-multi-region": "^3.996.48",
+ "@aws-sdk/types": "^3.974.6",
+ "@smithy/core": "^3.36.0",
+ "@smithy/fetch-http-handler": "^5.8.0",
+ "@smithy/node-http-handler": "^4.12.1",
+ "@smithy/types": "^4.19.0",
+ tslib: "^2.6.2"
+ },
+ devDependencies: {
+ concurrently: "7.0.0",
+ "downlevel-dts": "0.10.1",
+ premove: "4.0.0",
+ typescript: "~7.0.2"
+ },
+ engines: {
+ node: ">=20.0.0"
+ }
+ };
+ }
+});
+
+// ../../node_modules/.pnpm/@aws-sdk+nested-clients@3.997.49/node_modules/@aws-sdk/nested-clients/dist-es/submodules/sso-oidc/endpoint/bdd.js
+var k, a, b, c, d, e, f, g, h, i, j, _data, root, r, nodes, bdd;
+var init_bdd = __esm({
+ "../../node_modules/.pnpm/@aws-sdk+nested-clients@3.997.49/node_modules/@aws-sdk/nested-clients/dist-es/submodules/sso-oidc/endpoint/bdd.js"() {
+ init_endpoints();
+ k = "ref";
+ a = -1;
+ b = true;
+ c = "isSet";
+ d = "PartitionResult";
+ e = "booleanEquals";
+ f = "getAttr";
+ g = { [k]: "Endpoint" };
+ h = { [k]: d };
+ i = {};
+ j = [{ [k]: "Region" }];
+ _data = {
+ conditions: [
+ [c, [g]],
+ [c, j],
+ ["aws.partition", j, d],
+ [e, [{ [k]: "UseFIPS" }, b]],
+ [e, [{ [k]: "UseDualStack" }, b]],
+ [e, [{ fn: f, argv: [h, "supportsDualStack"] }, b]],
+ [e, [{ fn: f, argv: [h, "supportsFIPS"] }, b]],
+ ["stringEquals", [{ fn: f, argv: [h, "name"] }, "aws-us-gov"]]
+ ],
+ results: [
+ [a],
+ [a, "Invalid Configuration: FIPS and custom endpoint are not supported"],
+ [a, "Invalid Configuration: Dualstack and custom endpoint are not supported"],
+ [g, i],
+ ["https://oidc-fips.{Region}.{PartitionResult#dualStackDnsSuffix}", i],
+ [a, "FIPS and DualStack are enabled, but this partition does not support one or both"],
+ ["https://oidc.{Region}.amazonaws.com", i],
+ ["https://oidc-fips.{Region}.{PartitionResult#dnsSuffix}", i],
+ [a, "FIPS is enabled but this partition does not support FIPS"],
+ ["https://oidc.{Region}.{PartitionResult#dualStackDnsSuffix}", i],
+ [a, "DualStack is enabled but this partition does not support DualStack"],
+ ["https://oidc.{Region}.{PartitionResult#dnsSuffix}", i],
+ [a, "Invalid Configuration: Missing Region"]
+ ]
+ };
+ root = 2;
+ r = 1e8;
+ nodes = new Int32Array([
+ -1,
+ 1,
+ -1,
+ 0,
+ 13,
+ 3,
+ 1,
+ 4,
+ r + 12,
+ 2,
+ 5,
+ r + 12,
+ 3,
+ 8,
+ 6,
+ 4,
+ 7,
+ r + 11,
+ 5,
+ r + 9,
+ r + 10,
+ 4,
+ 11,
+ 9,
+ 6,
+ 10,
+ r + 8,
+ 7,
+ r + 6,
+ r + 7,
+ 5,
+ 12,
+ r + 5,
+ 6,
+ r + 4,
+ r + 5,
+ 3,
+ r + 1,
+ 14,
+ 4,
+ r + 2,
+ r + 3
+ ]);
+ bdd = BinaryDecisionDiagram.from(nodes, root, _data.conditions, _data.results);
+ }
+});
+
+// ../../node_modules/.pnpm/@aws-sdk+nested-clients@3.997.49/node_modules/@aws-sdk/nested-clients/dist-es/submodules/sso-oidc/endpoint/endpointResolver.js
+var cache, defaultEndpointResolver;
+var init_endpointResolver = __esm({
+ "../../node_modules/.pnpm/@aws-sdk+nested-clients@3.997.49/node_modules/@aws-sdk/nested-clients/dist-es/submodules/sso-oidc/endpoint/endpointResolver.js"() {
+ init_client2();
+ init_endpoints();
+ init_bdd();
+ cache = new EndpointCache({
+ size: 50,
+ params: ["Endpoint", "Region", "UseDualStack", "UseFIPS"]
+ });
+ defaultEndpointResolver = /* @__PURE__ */ __name((endpointParams, context = {}) => {
+ return cache.get(endpointParams, () => decideEndpoint(bdd, {
+ endpointParams,
+ logger: context.logger
+ }));
+ }, "defaultEndpointResolver");
+ customEndpointFunctions.aws = awsEndpointFunctions;
+ }
+});
+
+// ../../node_modules/.pnpm/@aws-sdk+nested-clients@3.997.49/node_modules/@aws-sdk/nested-clients/dist-es/submodules/sso-oidc/models/SSOOIDCServiceException.js
+var SSOOIDCServiceException;
+var init_SSOOIDCServiceException = __esm({
+ "../../node_modules/.pnpm/@aws-sdk+nested-clients@3.997.49/node_modules/@aws-sdk/nested-clients/dist-es/submodules/sso-oidc/models/SSOOIDCServiceException.js"() {
+ init_client();
+ SSOOIDCServiceException = class _SSOOIDCServiceException extends ServiceException {
+ static {
+ __name(this, "SSOOIDCServiceException");
+ }
+ static shapeId = "smithy.ts.sdk.synthetic.com.amazonaws.ssooidc#SSOOIDCServiceException";
+ constructor(options) {
+ super(options);
+ Object.setPrototypeOf(this, _SSOOIDCServiceException.prototype);
+ }
+ };
+ }
+});
+
+// ../../node_modules/.pnpm/@aws-sdk+nested-clients@3.997.49/node_modules/@aws-sdk/nested-clients/dist-es/submodules/sso-oidc/models/errors.js
+var AccessDeniedException, AuthorizationPendingException, ExpiredTokenException, InternalServerException, InvalidClientException, InvalidGrantException, InvalidRequestException, InvalidScopeException, SlowDownException, UnauthorizedClientException, UnsupportedGrantTypeException;
+var init_errors = __esm({
+ "../../node_modules/.pnpm/@aws-sdk+nested-clients@3.997.49/node_modules/@aws-sdk/nested-clients/dist-es/submodules/sso-oidc/models/errors.js"() {
+ init_SSOOIDCServiceException();
+ AccessDeniedException = class _AccessDeniedException extends SSOOIDCServiceException {
+ static {
+ __name(this, "AccessDeniedException");
+ }
+ static shapeId = "com.amazonaws.ssooidc#AccessDeniedException";
+ name = "AccessDeniedException";
+ $fault = "client";
+ error;
+ reason;
+ error_description;
+ constructor(opts) {
+ super({
+ name: "AccessDeniedException",
+ $fault: "client",
+ ...opts
+ });
+ Object.setPrototypeOf(this, _AccessDeniedException.prototype);
+ this.error = opts.error;
+ this.reason = opts.reason;
+ this.error_description = opts.error_description;
+ }
+ };
+ AuthorizationPendingException = class _AuthorizationPendingException extends SSOOIDCServiceException {
+ static {
+ __name(this, "AuthorizationPendingException");
+ }
+ static shapeId = "com.amazonaws.ssooidc#AuthorizationPendingException";
+ name = "AuthorizationPendingException";
+ $fault = "client";
+ error;
+ error_description;
+ constructor(opts) {
+ super({
+ name: "AuthorizationPendingException",
+ $fault: "client",
+ ...opts
+ });
+ Object.setPrototypeOf(this, _AuthorizationPendingException.prototype);
+ this.error = opts.error;
+ this.error_description = opts.error_description;
+ }
+ };
+ ExpiredTokenException = class _ExpiredTokenException extends SSOOIDCServiceException {
+ static {
+ __name(this, "ExpiredTokenException");
+ }
+ static shapeId = "com.amazonaws.ssooidc#ExpiredTokenException";
+ name = "ExpiredTokenException";
+ $fault = "client";
+ error;
+ error_description;
+ constructor(opts) {
+ super({
+ name: "ExpiredTokenException",
+ $fault: "client",
+ ...opts
+ });
+ Object.setPrototypeOf(this, _ExpiredTokenException.prototype);
+ this.error = opts.error;
+ this.error_description = opts.error_description;
+ }
+ };
+ InternalServerException = class _InternalServerException extends SSOOIDCServiceException {
+ static {
+ __name(this, "InternalServerException");
+ }
+ static shapeId = "com.amazonaws.ssooidc#InternalServerException";
+ name = "InternalServerException";
+ $fault = "server";
+ error;
+ error_description;
+ constructor(opts) {
+ super({
+ name: "InternalServerException",
+ $fault: "server",
+ ...opts
+ });
+ Object.setPrototypeOf(this, _InternalServerException.prototype);
+ this.error = opts.error;
+ this.error_description = opts.error_description;
+ }
+ };
+ InvalidClientException = class _InvalidClientException extends SSOOIDCServiceException {
+ static {
+ __name(this, "InvalidClientException");
+ }
+ static shapeId = "com.amazonaws.ssooidc#InvalidClientException";
+ name = "InvalidClientException";
+ $fault = "client";
+ error;
+ error_description;
+ constructor(opts) {
+ super({
+ name: "InvalidClientException",
+ $fault: "client",
+ ...opts
+ });
+ Object.setPrototypeOf(this, _InvalidClientException.prototype);
+ this.error = opts.error;
+ this.error_description = opts.error_description;
+ }
+ };
+ InvalidGrantException = class _InvalidGrantException extends SSOOIDCServiceException {
+ static {
+ __name(this, "InvalidGrantException");
+ }
+ static shapeId = "com.amazonaws.ssooidc#InvalidGrantException";
+ name = "InvalidGrantException";
+ $fault = "client";
+ error;
+ error_description;
+ constructor(opts) {
+ super({
+ name: "InvalidGrantException",
+ $fault: "client",
+ ...opts
+ });
+ Object.setPrototypeOf(this, _InvalidGrantException.prototype);
+ this.error = opts.error;
+ this.error_description = opts.error_description;
+ }
+ };
+ InvalidRequestException = class _InvalidRequestException extends SSOOIDCServiceException {
+ static {
+ __name(this, "InvalidRequestException");
+ }
+ static shapeId = "com.amazonaws.ssooidc#InvalidRequestException";
+ name = "InvalidRequestException";
+ $fault = "client";
+ error;
+ reason;
+ error_description;
+ constructor(opts) {
+ super({
+ name: "InvalidRequestException",
+ $fault: "client",
+ ...opts
+ });
+ Object.setPrototypeOf(this, _InvalidRequestException.prototype);
+ this.error = opts.error;
+ this.reason = opts.reason;
+ this.error_description = opts.error_description;
+ }
+ };
+ InvalidScopeException = class _InvalidScopeException extends SSOOIDCServiceException {
+ static {
+ __name(this, "InvalidScopeException");
+ }
+ static shapeId = "com.amazonaws.ssooidc#InvalidScopeException";
+ name = "InvalidScopeException";
+ $fault = "client";
+ error;
+ error_description;
+ constructor(opts) {
+ super({
+ name: "InvalidScopeException",
+ $fault: "client",
+ ...opts
+ });
+ Object.setPrototypeOf(this, _InvalidScopeException.prototype);
+ this.error = opts.error;
+ this.error_description = opts.error_description;
+ }
+ };
+ SlowDownException = class _SlowDownException extends SSOOIDCServiceException {
+ static {
+ __name(this, "SlowDownException");
+ }
+ static shapeId = "com.amazonaws.ssooidc#SlowDownException";
+ name = "SlowDownException";
+ $fault = "client";
+ error;
+ error_description;
+ constructor(opts) {
+ super({
+ name: "SlowDownException",
+ $fault: "client",
+ ...opts
+ });
+ Object.setPrototypeOf(this, _SlowDownException.prototype);
+ this.error = opts.error;
+ this.error_description = opts.error_description;
+ }
+ };
+ UnauthorizedClientException = class _UnauthorizedClientException extends SSOOIDCServiceException {
+ static {
+ __name(this, "UnauthorizedClientException");
+ }
+ static shapeId = "com.amazonaws.ssooidc#UnauthorizedClientException";
+ name = "UnauthorizedClientException";
+ $fault = "client";
+ error;
+ error_description;
+ constructor(opts) {
+ super({
+ name: "UnauthorizedClientException",
+ $fault: "client",
+ ...opts
+ });
+ Object.setPrototypeOf(this, _UnauthorizedClientException.prototype);
+ this.error = opts.error;
+ this.error_description = opts.error_description;
+ }
+ };
+ UnsupportedGrantTypeException = class _UnsupportedGrantTypeException extends SSOOIDCServiceException {
+ static {
+ __name(this, "UnsupportedGrantTypeException");
+ }
+ static shapeId = "com.amazonaws.ssooidc#UnsupportedGrantTypeException";
+ name = "UnsupportedGrantTypeException";
+ $fault = "client";
+ error;
+ error_description;
+ constructor(opts) {
+ super({
+ name: "UnsupportedGrantTypeException",
+ $fault: "client",
+ ...opts
+ });
+ Object.setPrototypeOf(this, _UnsupportedGrantTypeException.prototype);
+ this.error = opts.error;
+ this.error_description = opts.error_description;
+ }
+ };
+ }
+});
+
+// ../../node_modules/.pnpm/@aws-sdk+nested-clients@3.997.49/node_modules/@aws-sdk/nested-clients/dist-es/submodules/sso-oidc/schemas/schemas_0.js
+var _ADE, _APE, _AT, _CS, _CT, _CTR, _CTRr, _CV, _ETE, _ICE, _IGE, _IRE, _ISE, _ISEn, _IT, _RT, _SDE, _UCE, _UGTE, _aT, _c, _cI, _cS, _cV, _co, _dC, _e, _eI, _ed, _gT, _h, _hE, _iT, _r, _rT, _rU, _s, _sc, _se, _tT, n0, _s_registry, SSOOIDCServiceException$, n0_registry, AccessDeniedException$, AuthorizationPendingException$, ExpiredTokenException$, InternalServerException$, InvalidClientException$, InvalidGrantException$, InvalidRequestException$, InvalidScopeException$, SlowDownException$, UnauthorizedClientException$, UnsupportedGrantTypeException$, errorTypeRegistries, AccessToken, ClientSecret, CodeVerifier, IdToken, RefreshToken, CreateTokenRequest$, CreateTokenResponse$, Scopes, CreateToken$;
+var init_schemas_0 = __esm({
+ "../../node_modules/.pnpm/@aws-sdk+nested-clients@3.997.49/node_modules/@aws-sdk/nested-clients/dist-es/submodules/sso-oidc/schemas/schemas_0.js"() {
+ init_schema();
+ init_errors();
+ init_SSOOIDCServiceException();
+ _ADE = "AccessDeniedException";
+ _APE = "AuthorizationPendingException";
+ _AT = "AccessToken";
+ _CS = "ClientSecret";
+ _CT = "CreateToken";
+ _CTR = "CreateTokenRequest";
+ _CTRr = "CreateTokenResponse";
+ _CV = "CodeVerifier";
+ _ETE = "ExpiredTokenException";
+ _ICE = "InvalidClientException";
+ _IGE = "InvalidGrantException";
+ _IRE = "InvalidRequestException";
+ _ISE = "InternalServerException";
+ _ISEn = "InvalidScopeException";
+ _IT = "IdToken";
+ _RT = "RefreshToken";
+ _SDE = "SlowDownException";
+ _UCE = "UnauthorizedClientException";
+ _UGTE = "UnsupportedGrantTypeException";
+ _aT = "accessToken";
+ _c = "client";
+ _cI = "clientId";
+ _cS = "clientSecret";
+ _cV = "codeVerifier";
+ _co = "code";
+ _dC = "deviceCode";
+ _e = "error";
+ _eI = "expiresIn";
+ _ed = "error_description";
+ _gT = "grantType";
+ _h = "http";
+ _hE = "httpError";
+ _iT = "idToken";
+ _r = "reason";
+ _rT = "refreshToken";
+ _rU = "redirectUri";
+ _s = "smithy.ts.sdk.synthetic.com.amazonaws.ssooidc";
+ _sc = "scope";
+ _se = "server";
+ _tT = "tokenType";
+ n0 = "com.amazonaws.ssooidc";
+ _s_registry = new TypeRegistry(_s);
+ SSOOIDCServiceException$ = [-3, _s, "SSOOIDCServiceException", 0, [], []];
+ _s_registry.registerError(SSOOIDCServiceException$, SSOOIDCServiceException);
+ n0_registry = new TypeRegistry(n0);
+ AccessDeniedException$ = [
+ -3,
+ n0,
+ _ADE,
+ { [_e]: _c, [_hE]: 400 },
+ [_e, _r, _ed],
+ [0, 0, 0]
+ ];
+ n0_registry.registerError(AccessDeniedException$, AccessDeniedException);
+ AuthorizationPendingException$ = [
+ -3,
+ n0,
+ _APE,
+ { [_e]: _c, [_hE]: 400 },
+ [_e, _ed],
+ [0, 0]
+ ];
+ n0_registry.registerError(AuthorizationPendingException$, AuthorizationPendingException);
+ ExpiredTokenException$ = [
+ -3,
+ n0,
+ _ETE,
+ { [_e]: _c, [_hE]: 400 },
+ [_e, _ed],
+ [0, 0]
+ ];
+ n0_registry.registerError(ExpiredTokenException$, ExpiredTokenException);
+ InternalServerException$ = [
+ -3,
+ n0,
+ _ISE,
+ { [_e]: _se, [_hE]: 500 },
+ [_e, _ed],
+ [0, 0]
+ ];
+ n0_registry.registerError(InternalServerException$, InternalServerException);
+ InvalidClientException$ = [
+ -3,
+ n0,
+ _ICE,
+ { [_e]: _c, [_hE]: 401 },
+ [_e, _ed],
+ [0, 0]
+ ];
+ n0_registry.registerError(InvalidClientException$, InvalidClientException);
+ InvalidGrantException$ = [
+ -3,
+ n0,
+ _IGE,
+ { [_e]: _c, [_hE]: 400 },
+ [_e, _ed],
+ [0, 0]
+ ];
+ n0_registry.registerError(InvalidGrantException$, InvalidGrantException);
+ InvalidRequestException$ = [
+ -3,
+ n0,
+ _IRE,
+ { [_e]: _c, [_hE]: 400 },
+ [_e, _r, _ed],
+ [0, 0, 0]
+ ];
+ n0_registry.registerError(InvalidRequestException$, InvalidRequestException);
+ InvalidScopeException$ = [
+ -3,
+ n0,
+ _ISEn,
+ { [_e]: _c, [_hE]: 400 },
+ [_e, _ed],
+ [0, 0]
+ ];
+ n0_registry.registerError(InvalidScopeException$, InvalidScopeException);
+ SlowDownException$ = [
+ -3,
+ n0,
+ _SDE,
+ { [_e]: _c, [_hE]: 400 },
+ [_e, _ed],
+ [0, 0]
+ ];
+ n0_registry.registerError(SlowDownException$, SlowDownException);
+ UnauthorizedClientException$ = [
+ -3,
+ n0,
+ _UCE,
+ { [_e]: _c, [_hE]: 400 },
+ [_e, _ed],
+ [0, 0]
+ ];
+ n0_registry.registerError(UnauthorizedClientException$, UnauthorizedClientException);
+ UnsupportedGrantTypeException$ = [
+ -3,
+ n0,
+ _UGTE,
+ { [_e]: _c, [_hE]: 400 },
+ [_e, _ed],
+ [0, 0]
+ ];
+ n0_registry.registerError(UnsupportedGrantTypeException$, UnsupportedGrantTypeException);
+ errorTypeRegistries = [
+ _s_registry,
+ n0_registry
+ ];
+ AccessToken = [0, n0, _AT, 8, 0];
+ ClientSecret = [0, n0, _CS, 8, 0];
+ CodeVerifier = [0, n0, _CV, 8, 0];
+ IdToken = [0, n0, _IT, 8, 0];
+ RefreshToken = [0, n0, _RT, 8, 0];
+ CreateTokenRequest$ = [
+ 3,
+ n0,
+ _CTR,
+ 0,
+ [_cI, _cS, _gT, _dC, _co, _rT, _sc, _rU, _cV],
+ [0, [() => ClientSecret, 0], 0, 0, 0, [() => RefreshToken, 0], 64 | 0, 0, [() => CodeVerifier, 0]],
+ 3
+ ];
+ CreateTokenResponse$ = [
+ 3,
+ n0,
+ _CTRr,
+ 0,
+ [_aT, _tT, _eI, _rT, _iT],
+ [[() => AccessToken, 0], 0, 1, [() => RefreshToken, 0], [() => IdToken, 0]]
+ ];
+ Scopes = 64 | 0;
+ CreateToken$ = [
+ 9,
+ n0,
+ _CT,
+ { [_h]: ["POST", "/token", 200] },
+ () => CreateTokenRequest$,
+ () => CreateTokenResponse$
+ ];
+ }
+});
+
+// ../../node_modules/.pnpm/@aws-sdk+nested-clients@3.997.49/node_modules/@aws-sdk/nested-clients/dist-es/submodules/sso-oidc/runtimeConfig.shared.js
+var getRuntimeConfig;
+var init_runtimeConfig_shared = __esm({
+ "../../node_modules/.pnpm/@aws-sdk+nested-clients@3.997.49/node_modules/@aws-sdk/nested-clients/dist-es/submodules/sso-oidc/runtimeConfig.shared.js"() {
+ init_httpAuthSchemes2();
+ init_protocols2();
+ init_dist_es();
+ init_checksum();
+ init_client();
+ init_protocols();
+ init_serde();
+ init_httpAuthSchemeProvider();
+ init_endpointResolver();
+ init_schemas_0();
+ getRuntimeConfig = /* @__PURE__ */ __name((config3) => {
+ return {
+ apiVersion: "2019-06-10",
+ base64Decoder: config3?.base64Decoder ?? fromBase64,
+ base64Encoder: config3?.base64Encoder ?? toBase64,
+ disableHostPrefix: config3?.disableHostPrefix ?? false,
+ endpointProvider: config3?.endpointProvider ?? defaultEndpointResolver,
+ extensions: config3?.extensions ?? [],
+ httpAuthSchemeProvider: config3?.httpAuthSchemeProvider ?? defaultSSOOIDCHttpAuthSchemeProvider,
+ httpAuthSchemes: config3?.httpAuthSchemes ?? [
+ {
+ schemeId: "aws.auth#sigv4",
+ identityProvider: /* @__PURE__ */ __name((ipc) => ipc.getIdentityProvider("aws.auth#sigv4"), "identityProvider"),
+ signer: new AwsSdkSigV4Signer()
+ },
+ {
+ schemeId: "smithy.api#noAuth",
+ identityProvider: /* @__PURE__ */ __name((ipc) => ipc.getIdentityProvider("smithy.api#noAuth") || (async () => ({})), "identityProvider"),
+ signer: new NoAuthSigner()
+ }
+ ],
+ logger: config3?.logger ?? new NoOpLogger(),
+ protocol: config3?.protocol ?? AwsRestJsonProtocol,
+ protocolSettings: config3?.protocolSettings ?? {
+ defaultNamespace: "com.amazonaws.ssooidc",
+ errorTypeRegistries,
+ version: "2019-06-10",
+ serviceTarget: "AWSSSOOIDCService"
+ },
+ serviceId: config3?.serviceId ?? "SSO OIDC",
+ sha256: config3?.sha256 ?? Sha256Node,
+ urlParser: config3?.urlParser ?? parseUrl,
+ utf8Decoder: config3?.utf8Decoder ?? fromUtf8,
+ utf8Encoder: config3?.utf8Encoder ?? toUtf8
+ };
+ }, "getRuntimeConfig");
+ }
+});
+
+// ../../node_modules/.pnpm/@aws-sdk+nested-clients@3.997.49/node_modules/@aws-sdk/nested-clients/dist-es/submodules/sso-oidc/runtimeConfig.js
+var import_node_http_handler, getRuntimeConfig2;
+var init_runtimeConfig = __esm({
+ "../../node_modules/.pnpm/@aws-sdk+nested-clients@3.997.49/node_modules/@aws-sdk/nested-clients/dist-es/submodules/sso-oidc/runtimeConfig.js"() {
+ init_package();
+ init_client2();
+ init_httpAuthSchemes2();
+ init_client();
+ init_config();
+ init_retry();
+ init_serde();
+ import_node_http_handler = __toESM(require_dist_cjs7());
+ init_runtimeConfig_shared();
+ getRuntimeConfig2 = /* @__PURE__ */ __name((config3) => {
+ emitWarningIfUnsupportedVersion(process.version);
+ const defaultsMode = resolveDefaultsModeConfig(config3);
+ const defaultConfigProvider = /* @__PURE__ */ __name(() => defaultsMode().then(loadConfigsForDefaultMode), "defaultConfigProvider");
+ const clientSharedValues = getRuntimeConfig(config3);
+ emitWarningIfUnsupportedVersion2(process.version);
+ const loaderConfig = {
+ profile: config3?.profile,
+ logger: clientSharedValues.logger
+ };
+ return {
+ ...clientSharedValues,
+ ...config3,
+ runtime: "node",
+ defaultsMode,
+ authSchemePreference: config3?.authSchemePreference ?? loadConfig(NODE_AUTH_SCHEME_PREFERENCE_OPTIONS, loaderConfig),
+ bodyLengthChecker: config3?.bodyLengthChecker ?? calculateBodyLength,
+ defaultUserAgentProvider: config3?.defaultUserAgentProvider ?? createDefaultUserAgentProvider({ serviceId: clientSharedValues.serviceId, clientVersion: package_default.version }),
+ maxAttempts: config3?.maxAttempts ?? loadConfig(NODE_MAX_ATTEMPT_CONFIG_OPTIONS, config3),
+ region: config3?.region ?? loadConfig(NODE_REGION_CONFIG_OPTIONS, { ...NODE_REGION_CONFIG_FILE_OPTIONS, ...loaderConfig }),
+ requestHandler: import_node_http_handler.NodeHttpHandler.create(config3?.requestHandler ?? defaultConfigProvider),
+ retryMode: config3?.retryMode ?? loadConfig({
+ ...NODE_RETRY_MODE_CONFIG_OPTIONS,
+ default: /* @__PURE__ */ __name(async () => (await defaultConfigProvider()).retryMode || DEFAULT_RETRY_MODE, "default")
+ }, config3),
+ streamCollector: config3?.streamCollector ?? import_node_http_handler.streamCollector,
+ useDualstackEndpoint: config3?.useDualstackEndpoint ?? loadConfig(NODE_USE_DUALSTACK_ENDPOINT_CONFIG_OPTIONS, loaderConfig),
+ useFipsEndpoint: config3?.useFipsEndpoint ?? loadConfig(NODE_USE_FIPS_ENDPOINT_CONFIG_OPTIONS, loaderConfig),
+ userAgentAppId: config3?.userAgentAppId ?? loadConfig(NODE_APP_ID_CONFIG_OPTIONS, loaderConfig)
+ };
+ }, "getRuntimeConfig");
+ }
+});
+
+// ../../node_modules/.pnpm/@aws-sdk+nested-clients@3.997.49/node_modules/@aws-sdk/nested-clients/dist-es/submodules/sso-oidc/auth/httpAuthExtensionConfiguration.js
+var getHttpAuthExtensionConfiguration, resolveHttpAuthRuntimeConfig;
+var init_httpAuthExtensionConfiguration = __esm({
+ "../../node_modules/.pnpm/@aws-sdk+nested-clients@3.997.49/node_modules/@aws-sdk/nested-clients/dist-es/submodules/sso-oidc/auth/httpAuthExtensionConfiguration.js"() {
+ getHttpAuthExtensionConfiguration = /* @__PURE__ */ __name((runtimeConfig) => {
+ const _httpAuthSchemes = runtimeConfig.httpAuthSchemes;
+ let _httpAuthSchemeProvider = runtimeConfig.httpAuthSchemeProvider;
+ let _credentials = runtimeConfig.credentials;
+ return {
+ setHttpAuthScheme(httpAuthScheme) {
+ const index = _httpAuthSchemes.findIndex((scheme) => scheme.schemeId === httpAuthScheme.schemeId);
+ if (index === -1) {
+ _httpAuthSchemes.push(httpAuthScheme);
+ } else {
+ _httpAuthSchemes.splice(index, 1, httpAuthScheme);
+ }
+ },
+ httpAuthSchemes() {
+ return _httpAuthSchemes;
+ },
+ setHttpAuthSchemeProvider(httpAuthSchemeProvider) {
+ _httpAuthSchemeProvider = httpAuthSchemeProvider;
+ },
+ httpAuthSchemeProvider() {
+ return _httpAuthSchemeProvider;
+ },
+ setCredentials(credentials) {
+ _credentials = credentials;
+ },
+ credentials() {
+ return _credentials;
+ }
+ };
+ }, "getHttpAuthExtensionConfiguration");
+ resolveHttpAuthRuntimeConfig = /* @__PURE__ */ __name((config3) => {
+ return {
+ httpAuthSchemes: config3.httpAuthSchemes(),
+ httpAuthSchemeProvider: config3.httpAuthSchemeProvider(),
+ credentials: config3.credentials()
+ };
+ }, "resolveHttpAuthRuntimeConfig");
+ }
+});
+
+// ../../node_modules/.pnpm/@aws-sdk+nested-clients@3.997.49/node_modules/@aws-sdk/nested-clients/dist-es/submodules/sso-oidc/runtimeExtensions.js
+var resolveRuntimeExtensions;
+var init_runtimeExtensions = __esm({
+ "../../node_modules/.pnpm/@aws-sdk+nested-clients@3.997.49/node_modules/@aws-sdk/nested-clients/dist-es/submodules/sso-oidc/runtimeExtensions.js"() {
+ init_client2();
+ init_client();
+ init_protocols();
+ init_httpAuthExtensionConfiguration();
+ resolveRuntimeExtensions = /* @__PURE__ */ __name((runtimeConfig, extensions) => {
+ const extensionConfiguration = Object.assign(getAwsRegionExtensionConfiguration(runtimeConfig), getDefaultExtensionConfiguration(runtimeConfig), getHttpHandlerExtensionConfiguration(runtimeConfig), getHttpAuthExtensionConfiguration(runtimeConfig));
+ extensions.forEach((extension) => extension.configure(extensionConfiguration));
+ return Object.assign(runtimeConfig, resolveAwsRegionExtensionConfiguration(extensionConfiguration), resolveDefaultRuntimeConfig(extensionConfiguration), resolveHttpHandlerRuntimeConfig(extensionConfiguration), resolveHttpAuthRuntimeConfig(extensionConfiguration));
+ }, "resolveRuntimeExtensions");
+ }
+});
+
+// ../../node_modules/.pnpm/@aws-sdk+nested-clients@3.997.49/node_modules/@aws-sdk/nested-clients/dist-es/submodules/sso-oidc/SSOOIDCClient.js
+var SSOOIDCClient;
+var init_SSOOIDCClient = __esm({
+ "../../node_modules/.pnpm/@aws-sdk+nested-clients@3.997.49/node_modules/@aws-sdk/nested-clients/dist-es/submodules/sso-oidc/SSOOIDCClient.js"() {
+ init_client2();
+ init_dist_es();
+ init_client();
+ init_config();
+ init_endpoints();
+ init_protocols();
+ init_retry();
+ init_schema();
+ init_httpAuthSchemeProvider();
+ init_EndpointParameters();
+ init_runtimeConfig();
+ init_runtimeExtensions();
+ SSOOIDCClient = class extends Client {
+ static {
+ __name(this, "SSOOIDCClient");
+ }
+ config;
+ constructor(...[configuration]) {
+ const _config_0 = getRuntimeConfig2(configuration || {});
+ super(_config_0);
+ this.initConfig = _config_0;
+ const _config_1 = resolveClientEndpointParameters(_config_0);
+ const _config_2 = resolveUserAgentConfig(_config_1);
+ const _config_3 = resolveRetryConfig(_config_2);
+ const _config_4 = resolveRegionConfig(_config_3);
+ const _config_5 = resolveHostHeaderConfig(_config_4);
+ const _config_6 = resolveEndpointConfig(_config_5);
+ const _config_7 = resolveHttpAuthSchemeConfig(_config_6);
+ const _config_8 = resolveRuntimeExtensions(_config_7, configuration?.extensions || []);
+ this.config = _config_8;
+ this.middlewareStack.use(getSchemaSerdePlugin(this.config));
+ this.middlewareStack.use(getUserAgentPlugin(this.config));
+ this.middlewareStack.use(getRetryPlugin(this.config));
+ this.middlewareStack.use(getContentLengthPlugin(this.config));
+ this.middlewareStack.use(getHostHeaderPlugin(this.config));
+ this.middlewareStack.use(getLoggerPlugin(this.config));
+ this.middlewareStack.use(getRecursionDetectionPlugin(this.config));
+ this.middlewareStack.use(getHttpAuthSchemeEndpointRuleSetPlugin(this.config, {
+ httpAuthSchemeParametersProvider: defaultSSOOIDCHttpAuthSchemeParametersProvider,
+ identityProviderConfigProvider: /* @__PURE__ */ __name(async (config3) => new DefaultIdentityProviderConfig({
+ "aws.auth#sigv4": config3.credentials
+ }), "identityProviderConfigProvider")
+ }));
+ this.middlewareStack.use(getHttpSigningPlugin(this.config));
+ }
+ destroy() {
+ super.destroy();
+ }
+ };
+ }
+});
+
+// ../../node_modules/.pnpm/@aws-sdk+nested-clients@3.997.49/node_modules/@aws-sdk/nested-clients/dist-es/submodules/sso-oidc/commandBuilder.js
+var command, _ep0, _mw0;
+var init_commandBuilder = __esm({
+ "../../node_modules/.pnpm/@aws-sdk+nested-clients@3.997.49/node_modules/@aws-sdk/nested-clients/dist-es/submodules/sso-oidc/commandBuilder.js"() {
+ init_client();
+ init_endpoints();
+ init_EndpointParameters();
+ command = makeBuilder(commonParams, "AWSSSOOIDCService", "SSOOIDCClient", getEndpointPlugin);
+ _ep0 = {};
+ _mw0 = /* @__PURE__ */ __name((Command2, cs, config3, o3) => [], "_mw0");
+ }
+});
+
+// ../../node_modules/.pnpm/@aws-sdk+nested-clients@3.997.49/node_modules/@aws-sdk/nested-clients/dist-es/submodules/sso-oidc/commands/CreateTokenCommand.js
+var CreateTokenCommand;
+var init_CreateTokenCommand = __esm({
+ "../../node_modules/.pnpm/@aws-sdk+nested-clients@3.997.49/node_modules/@aws-sdk/nested-clients/dist-es/submodules/sso-oidc/commands/CreateTokenCommand.js"() {
+ init_commandBuilder();
+ init_schemas_0();
+ CreateTokenCommand = class extends command(_ep0, _mw0, "CreateToken", CreateToken$) {
+ static {
+ __name(this, "CreateTokenCommand");
+ }
+ };
+ }
+});
+
+// ../../node_modules/.pnpm/@aws-sdk+nested-clients@3.997.49/node_modules/@aws-sdk/nested-clients/dist-es/submodules/sso-oidc/SSOOIDC.js
+var commands, SSOOIDC;
+var init_SSOOIDC = __esm({
+ "../../node_modules/.pnpm/@aws-sdk+nested-clients@3.997.49/node_modules/@aws-sdk/nested-clients/dist-es/submodules/sso-oidc/SSOOIDC.js"() {
+ init_client();
+ init_CreateTokenCommand();
+ init_SSOOIDCClient();
+ commands = {
+ CreateTokenCommand
+ };
+ SSOOIDC = class extends SSOOIDCClient {
+ static {
+ __name(this, "SSOOIDC");
+ }
+ };
+ createAggregatedClient(commands, SSOOIDC);
+ }
+});
+
+// ../../node_modules/.pnpm/@aws-sdk+nested-clients@3.997.49/node_modules/@aws-sdk/nested-clients/dist-es/submodules/sso-oidc/commands/index.js
+var init_commands = __esm({
+ "../../node_modules/.pnpm/@aws-sdk+nested-clients@3.997.49/node_modules/@aws-sdk/nested-clients/dist-es/submodules/sso-oidc/commands/index.js"() {
+ init_CreateTokenCommand();
+ }
+});
+
+// ../../node_modules/.pnpm/@aws-sdk+nested-clients@3.997.49/node_modules/@aws-sdk/nested-clients/dist-es/submodules/sso-oidc/models/enums.js
+var AccessDeniedExceptionReason, InvalidRequestExceptionReason;
+var init_enums = __esm({
+ "../../node_modules/.pnpm/@aws-sdk+nested-clients@3.997.49/node_modules/@aws-sdk/nested-clients/dist-es/submodules/sso-oidc/models/enums.js"() {
+ AccessDeniedExceptionReason = {
+ KMS_ACCESS_DENIED: "KMS_AccessDeniedException"
+ };
+ InvalidRequestExceptionReason = {
+ KMS_DISABLED_KEY: "KMS_DisabledException",
+ KMS_INVALID_KEY_USAGE: "KMS_InvalidKeyUsageException",
+ KMS_INVALID_STATE: "KMS_InvalidStateException",
+ KMS_KEY_NOT_FOUND: "KMS_NotFoundException"
+ };
+ }
+});
+
+// ../../node_modules/.pnpm/@aws-sdk+nested-clients@3.997.49/node_modules/@aws-sdk/nested-clients/dist-es/submodules/sso-oidc/models/models_0.js
+var init_models_0 = __esm({
+ "../../node_modules/.pnpm/@aws-sdk+nested-clients@3.997.49/node_modules/@aws-sdk/nested-clients/dist-es/submodules/sso-oidc/models/models_0.js"() {
+ }
+});
+
+// ../../node_modules/.pnpm/@aws-sdk+nested-clients@3.997.49/node_modules/@aws-sdk/nested-clients/dist-es/submodules/sso-oidc/index.js
+var sso_oidc_exports = {};
+__export(sso_oidc_exports, {
+ $Command: () => Command,
+ AccessDeniedException: () => AccessDeniedException,
+ AccessDeniedException$: () => AccessDeniedException$,
+ AccessDeniedExceptionReason: () => AccessDeniedExceptionReason,
+ AuthorizationPendingException: () => AuthorizationPendingException,
+ AuthorizationPendingException$: () => AuthorizationPendingException$,
+ CreateToken$: () => CreateToken$,
+ CreateTokenCommand: () => CreateTokenCommand,
+ CreateTokenRequest$: () => CreateTokenRequest$,
+ CreateTokenResponse$: () => CreateTokenResponse$,
+ ExpiredTokenException: () => ExpiredTokenException,
+ ExpiredTokenException$: () => ExpiredTokenException$,
+ InternalServerException: () => InternalServerException,
+ InternalServerException$: () => InternalServerException$,
+ InvalidClientException: () => InvalidClientException,
+ InvalidClientException$: () => InvalidClientException$,
+ InvalidGrantException: () => InvalidGrantException,
+ InvalidGrantException$: () => InvalidGrantException$,
+ InvalidRequestException: () => InvalidRequestException,
+ InvalidRequestException$: () => InvalidRequestException$,
+ InvalidRequestExceptionReason: () => InvalidRequestExceptionReason,
+ InvalidScopeException: () => InvalidScopeException,
+ InvalidScopeException$: () => InvalidScopeException$,
+ SSOOIDC: () => SSOOIDC,
+ SSOOIDCClient: () => SSOOIDCClient,
+ SSOOIDCServiceException: () => SSOOIDCServiceException,
+ SSOOIDCServiceException$: () => SSOOIDCServiceException$,
+ SlowDownException: () => SlowDownException,
+ SlowDownException$: () => SlowDownException$,
+ UnauthorizedClientException: () => UnauthorizedClientException,
+ UnauthorizedClientException$: () => UnauthorizedClientException$,
+ UnsupportedGrantTypeException: () => UnsupportedGrantTypeException,
+ UnsupportedGrantTypeException$: () => UnsupportedGrantTypeException$,
+ __Client: () => Client,
+ errorTypeRegistries: () => errorTypeRegistries
+});
+var init_sso_oidc = __esm({
+ "../../node_modules/.pnpm/@aws-sdk+nested-clients@3.997.49/node_modules/@aws-sdk/nested-clients/dist-es/submodules/sso-oidc/index.js"() {
+ init_SSOOIDCClient();
+ init_SSOOIDC();
+ init_commands();
+ init_client();
+ init_schemas_0();
+ init_enums();
+ init_errors();
+ init_models_0();
+ init_SSOOIDCServiceException();
+ }
+});
+
+// ../../node_modules/.pnpm/@aws-sdk+token-providers@3.1153.0/node_modules/@aws-sdk/token-providers/dist-cjs/index.js
+var require_dist_cjs9 = __commonJS({
+ "../../node_modules/.pnpm/@aws-sdk+token-providers@3.1153.0/node_modules/@aws-sdk/token-providers/dist-cjs/index.js"(exports) {
+ var { setTokenFeature: setTokenFeature2 } = (init_client2(), __toCommonJS(client_exports2));
+ var { getBearerTokenEnvKey: getBearerTokenEnvKey2 } = (init_httpAuthSchemes2(), __toCommonJS(httpAuthSchemes_exports));
+ var { TokenProviderError, getSSOTokenFilepath, parseKnownFiles, getProfileName, loadSsoSessionData, getSSOTokenFromFile, memoize, chain } = (init_config(), __toCommonJS(config_exports));
+ var { promises } = __require("node:fs");
+ var fromEnvSigningName = /* @__PURE__ */ __name(({ logger, signingName } = {}) => async () => {
+ logger?.debug?.("@aws-sdk/token-providers - fromEnvSigningName");
+ if (!signingName) {
+ throw new TokenProviderError("Please pass 'signingName' to compute environment variable key", { logger });
+ }
+ const bearerTokenKey = getBearerTokenEnvKey2(signingName);
+ if (!(bearerTokenKey in process.env)) {
+ throw new TokenProviderError(`Token not present in '${bearerTokenKey}' environment variable`, { logger });
+ }
+ const token = { token: process.env[bearerTokenKey] };
+ setTokenFeature2(token, "BEARER_SERVICE_ENV_VARS", "3");
+ return token;
+ }, "fromEnvSigningName");
+ var EXPIRE_WINDOW_MS = 5 * 60 * 1e3;
+ var REFRESH_MESSAGE = `To refresh this SSO session run 'aws sso login' with the corresponding profile.`;
+ var getSsoOidcClient = /* @__PURE__ */ __name(async (ssoRegion, init2 = {}, callerClientConfig) => {
+ const { SSOOIDCClient: SSOOIDCClient2 } = (init_sso_oidc(), __toCommonJS(sso_oidc_exports));
+ const coalesce = /* @__PURE__ */ __name((prop) => init2.clientConfig?.[prop] ?? init2.parentClientConfig?.[prop] ?? callerClientConfig?.[prop], "coalesce");
+ const ssoOidcClient = new SSOOIDCClient2(Object.assign({}, init2.clientConfig ?? {}, {
+ region: ssoRegion ?? init2.clientConfig?.region,
+ logger: coalesce("logger"),
+ userAgentAppId: coalesce("userAgentAppId")
+ }));
+ return ssoOidcClient;
+ }, "getSsoOidcClient");
+ var getNewSsoOidcToken = /* @__PURE__ */ __name(async (ssoToken, ssoRegion, init2 = {}, callerClientConfig) => {
+ const { CreateTokenCommand: CreateTokenCommand2 } = (init_sso_oidc(), __toCommonJS(sso_oidc_exports));
+ const ssoOidcClient = await getSsoOidcClient(ssoRegion, init2, callerClientConfig);
+ return ssoOidcClient.send(new CreateTokenCommand2({
+ clientId: ssoToken.clientId,
+ clientSecret: ssoToken.clientSecret,
+ refreshToken: ssoToken.refreshToken,
+ grantType: "refresh_token"
+ }));
+ }, "getNewSsoOidcToken");
+ var validateTokenExpiry = /* @__PURE__ */ __name((token) => {
+ if (token.expiration && token.expiration.getTime() < Date.now()) {
+ throw new TokenProviderError(`Token is expired. ${REFRESH_MESSAGE}`, false);
+ }
+ }, "validateTokenExpiry");
+ var validateTokenKey = /* @__PURE__ */ __name((key, value, forRefresh = false) => {
+ if (typeof value === "undefined") {
+ throw new TokenProviderError(`Value not present for '${key}' in SSO Token${forRefresh ? ". Cannot refresh" : ""}. ${REFRESH_MESSAGE}`, false);
+ }
+ }, "validateTokenKey");
+ var { writeFile } = promises;
+ var writeSSOTokenToFile = /* @__PURE__ */ __name((id, ssoToken) => {
+ const tokenFilepath = getSSOTokenFilepath(id);
+ const tokenString = JSON.stringify(ssoToken, null, 2);
+ return writeFile(tokenFilepath, tokenString);
+ }, "writeSSOTokenToFile");
+ var lastRefreshAttemptTimes = /* @__PURE__ */ new Map();
+ var inFlightRefreshes = /* @__PURE__ */ new Map();
+ var fromSso = /* @__PURE__ */ __name((init2 = {}) => async ({ callerClientConfig } = {}) => {
+ init2.logger?.debug("@aws-sdk/token-providers - fromSso");
+ const profiles = await parseKnownFiles(init2);
+ const profileName = getProfileName({
+ profile: init2.profile ?? callerClientConfig?.profile
+ });
+ const profile = profiles[profileName];
+ if (!profile) {
+ throw new TokenProviderError(`Profile '${profileName}' could not be found in shared credentials file.`, false);
+ } else if (!profile["sso_session"]) {
+ throw new TokenProviderError(`Profile '${profileName}' is missing required property 'sso_session'.`);
+ }
+ const ssoSessionName = profile["sso_session"];
+ const inFlightRefresh = inFlightRefreshes.get(ssoSessionName);
+ if (inFlightRefresh) {
+ return await inFlightRefresh;
+ }
+ const ssoSessions = await loadSsoSessionData(init2);
+ const ssoSession = ssoSessions[ssoSessionName];
+ if (!ssoSession) {
+ throw new TokenProviderError(`Sso session '${ssoSessionName}' could not be found in shared credentials file.`, false);
+ }
+ for (const ssoSessionRequiredKey of ["sso_start_url", "sso_region"]) {
+ if (!ssoSession[ssoSessionRequiredKey]) {
+ throw new TokenProviderError(`Sso session '${ssoSessionName}' is missing required property '${ssoSessionRequiredKey}'.`, false);
+ }
+ }
+ ssoSession["sso_start_url"];
+ const ssoRegion = ssoSession["sso_region"];
+ let ssoToken;
+ try {
+ ssoToken = await getSSOTokenFromFile(ssoSessionName);
+ } catch (e5) {
+ throw new TokenProviderError(`The SSO session token associated with profile=${profileName} was not found or is invalid. ${REFRESH_MESSAGE}`, false);
+ }
+ validateTokenKey("accessToken", ssoToken.accessToken);
+ validateTokenKey("expiresAt", ssoToken.expiresAt);
+ const { accessToken, expiresAt } = ssoToken;
+ const existingToken = {
+ token: accessToken,
+ expiration: new Date(expiresAt)
+ };
+ if (existingToken.expiration.getTime() - Date.now() > EXPIRE_WINDOW_MS) {
+ return existingToken;
+ }
+ const inFlightRefreshAfterReadingToken = inFlightRefreshes.get(ssoSessionName);
+ if (inFlightRefreshAfterReadingToken) {
+ return await inFlightRefreshAfterReadingToken;
+ }
+ const lastRefreshAttemptTime = lastRefreshAttemptTimes.get(ssoSessionName) ?? 0;
+ if (Date.now() - lastRefreshAttemptTime < 30 * 1e3) {
+ validateTokenExpiry(existingToken);
+ return existingToken;
+ }
+ validateTokenKey("clientId", ssoToken.clientId, true);
+ validateTokenKey("clientSecret", ssoToken.clientSecret, true);
+ validateTokenKey("refreshToken", ssoToken.refreshToken, true);
+ const refresh = (async () => {
+ try {
+ lastRefreshAttemptTimes.set(ssoSessionName, Date.now());
+ const newSsoOidcToken = await getNewSsoOidcToken(ssoToken, ssoRegion, init2, callerClientConfig);
+ validateTokenKey("accessToken", newSsoOidcToken.accessToken);
+ validateTokenKey("expiresIn", newSsoOidcToken.expiresIn);
+ const newTokenExpiration = new Date(Date.now() + newSsoOidcToken.expiresIn * 1e3);
+ try {
+ await writeSSOTokenToFile(ssoSessionName, {
+ ...ssoToken,
+ accessToken: newSsoOidcToken.accessToken,
+ expiresAt: newTokenExpiration.toISOString(),
+ refreshToken: newSsoOidcToken.refreshToken
+ });
+ } catch (error62) {
+ }
+ return {
+ token: newSsoOidcToken.accessToken,
+ expiration: newTokenExpiration
+ };
+ } catch (error62) {
+ validateTokenExpiry(existingToken);
+ return existingToken;
+ }
+ })();
+ inFlightRefreshes.set(ssoSessionName, refresh);
+ try {
+ return await refresh;
+ } finally {
+ inFlightRefreshes.delete(ssoSessionName);
+ }
+ }, "fromSso");
+ var fromStatic = /* @__PURE__ */ __name(({ token, logger }) => async () => {
+ logger?.debug("@aws-sdk/token-providers - fromStatic");
+ if (!token || !token.token) {
+ throw new TokenProviderError(`Please pass a valid token to fromStatic`, false);
+ }
+ return token;
+ }, "fromStatic");
+ var nodeProvider = /* @__PURE__ */ __name((init2 = {}) => memoize(chain(fromSso(init2), async () => {
+ throw new TokenProviderError("Could not load token from any providers", false);
+ }), (token) => token.expiration !== void 0 && token.expiration.getTime() - Date.now() < 3e5, (token) => token.expiration !== void 0), "nodeProvider");
+ exports.fromEnvSigningName = fromEnvSigningName;
+ exports.fromSso = fromSso;
+ exports.fromStatic = fromStatic;
+ exports.nodeProvider = nodeProvider;
+ }
+});
+
+// ../../node_modules/.pnpm/@aws-sdk+nested-clients@3.997.49/node_modules/@aws-sdk/nested-clients/dist-es/submodules/sso/auth/httpAuthSchemeProvider.js
+function createAwsAuthSigv4HttpAuthOption2(authParameters) {
+ return {
+ schemeId: "aws.auth#sigv4",
+ signingProperties: {
+ name: "awsssoportal",
+ region: authParameters.region
+ },
+ propertiesExtractor: /* @__PURE__ */ __name((config3, context) => ({
+ signingProperties: {
+ config: config3,
+ context
+ }
+ }), "propertiesExtractor")
+ };
+}
+function createSmithyApiNoAuthHttpAuthOption2(authParameters) {
+ return {
+ schemeId: "smithy.api#noAuth"
+ };
+}
+var defaultSSOHttpAuthSchemeParametersProvider, defaultSSOHttpAuthSchemeProvider, resolveHttpAuthSchemeConfig2;
+var init_httpAuthSchemeProvider2 = __esm({
+ "../../node_modules/.pnpm/@aws-sdk+nested-clients@3.997.49/node_modules/@aws-sdk/nested-clients/dist-es/submodules/sso/auth/httpAuthSchemeProvider.js"() {
+ init_httpAuthSchemes2();
+ init_client();
+ defaultSSOHttpAuthSchemeParametersProvider = /* @__PURE__ */ __name(async (config3, context, input2) => {
+ return {
+ operation: getSmithyContext(context).operation,
+ region: await normalizeProvider(config3.region)() || (() => {
+ throw new Error("expected `region` to be configured for `aws.auth#sigv4`");
+ })()
+ };
+ }, "defaultSSOHttpAuthSchemeParametersProvider");
+ __name(createAwsAuthSigv4HttpAuthOption2, "createAwsAuthSigv4HttpAuthOption");
+ __name(createSmithyApiNoAuthHttpAuthOption2, "createSmithyApiNoAuthHttpAuthOption");
+ defaultSSOHttpAuthSchemeProvider = /* @__PURE__ */ __name((authParameters) => {
+ const options = [];
+ switch (authParameters.operation) {
+ case "GetRoleCredentials":
+ {
+ options.push(createSmithyApiNoAuthHttpAuthOption2(authParameters));
+ break;
+ }
+ ;
+ default: {
+ options.push(createAwsAuthSigv4HttpAuthOption2(authParameters));
+ }
+ }
+ return options;
+ }, "defaultSSOHttpAuthSchemeProvider");
+ resolveHttpAuthSchemeConfig2 = /* @__PURE__ */ __name((config3) => {
+ const config_0 = resolveAwsSdkSigV4Config(config3);
+ return Object.assign(config_0, {
+ authSchemePreference: normalizeProvider(config3.authSchemePreference ?? [])
+ });
+ }, "resolveHttpAuthSchemeConfig");
+ }
+});
+
+// ../../node_modules/.pnpm/@aws-sdk+nested-clients@3.997.49/node_modules/@aws-sdk/nested-clients/dist-es/submodules/sso/endpoint/EndpointParameters.js
+var resolveClientEndpointParameters2, commonParams2;
+var init_EndpointParameters2 = __esm({
+ "../../node_modules/.pnpm/@aws-sdk+nested-clients@3.997.49/node_modules/@aws-sdk/nested-clients/dist-es/submodules/sso/endpoint/EndpointParameters.js"() {
+ resolveClientEndpointParameters2 = /* @__PURE__ */ __name((options) => {
+ return Object.assign(options, {
+ useDualstackEndpoint: options.useDualstackEndpoint ?? false,
+ useFipsEndpoint: options.useFipsEndpoint ?? false,
+ defaultSigningName: "awsssoportal"
+ });
+ }, "resolveClientEndpointParameters");
+ commonParams2 = {
+ UseFIPS: { type: "builtInParams", name: "useFipsEndpoint" },
+ Endpoint: { type: "builtInParams", name: "endpoint" },
+ Region: { type: "builtInParams", name: "region" },
+ UseDualStack: { type: "builtInParams", name: "useDualstackEndpoint" }
+ };
+ }
+});
+
+// ../../node_modules/.pnpm/@aws-sdk+nested-clients@3.997.49/node_modules/@aws-sdk/nested-clients/dist-es/submodules/sso/endpoint/bdd.js
+var k2, a2, b2, c2, d2, e2, f2, g2, h2, i2, j2, _data2, root2, r2, nodes2, bdd2;
+var init_bdd2 = __esm({
+ "../../node_modules/.pnpm/@aws-sdk+nested-clients@3.997.49/node_modules/@aws-sdk/nested-clients/dist-es/submodules/sso/endpoint/bdd.js"() {
+ init_endpoints();
+ k2 = "ref";
+ a2 = -1;
+ b2 = true;
+ c2 = "isSet";
+ d2 = "PartitionResult";
+ e2 = "booleanEquals";
+ f2 = "getAttr";
+ g2 = { [k2]: "Endpoint" };
+ h2 = { [k2]: d2 };
+ i2 = {};
+ j2 = [{ [k2]: "Region" }];
+ _data2 = {
+ conditions: [
+ [c2, [g2]],
+ [c2, j2],
+ ["aws.partition", j2, d2],
+ [e2, [{ [k2]: "UseFIPS" }, b2]],
+ [e2, [{ [k2]: "UseDualStack" }, b2]],
+ [e2, [{ fn: f2, argv: [h2, "supportsDualStack"] }, b2]],
+ [e2, [{ fn: f2, argv: [h2, "supportsFIPS"] }, b2]],
+ ["stringEquals", [{ fn: f2, argv: [h2, "name"] }, "aws-us-gov"]]
+ ],
+ results: [
+ [a2],
+ [a2, "Invalid Configuration: FIPS and custom endpoint are not supported"],
+ [a2, "Invalid Configuration: Dualstack and custom endpoint are not supported"],
+ [g2, i2],
+ ["https://portal.sso-fips.{Region}.{PartitionResult#dualStackDnsSuffix}", i2],
+ [a2, "FIPS and DualStack are enabled, but this partition does not support one or both"],
+ ["https://portal.sso.{Region}.amazonaws.com", i2],
+ ["https://portal.sso-fips.{Region}.{PartitionResult#dnsSuffix}", i2],
+ [a2, "FIPS is enabled but this partition does not support FIPS"],
+ ["https://portal.sso.{Region}.{PartitionResult#dualStackDnsSuffix}", i2],
+ [a2, "DualStack is enabled but this partition does not support DualStack"],
+ ["https://portal.sso.{Region}.{PartitionResult#dnsSuffix}", i2],
+ [a2, "Invalid Configuration: Missing Region"]
+ ]
+ };
+ root2 = 2;
+ r2 = 1e8;
+ nodes2 = new Int32Array([
+ -1,
+ 1,
+ -1,
+ 0,
+ 13,
+ 3,
+ 1,
+ 4,
+ r2 + 12,
+ 2,
+ 5,
+ r2 + 12,
+ 3,
+ 8,
+ 6,
+ 4,
+ 7,
+ r2 + 11,
+ 5,
+ r2 + 9,
+ r2 + 10,
+ 4,
+ 11,
+ 9,
+ 6,
+ 10,
+ r2 + 8,
+ 7,
+ r2 + 6,
+ r2 + 7,
+ 5,
+ 12,
+ r2 + 5,
+ 6,
+ r2 + 4,
+ r2 + 5,
+ 3,
+ r2 + 1,
+ 14,
+ 4,
+ r2 + 2,
+ r2 + 3
+ ]);
+ bdd2 = BinaryDecisionDiagram.from(nodes2, root2, _data2.conditions, _data2.results);
+ }
+});
+
+// ../../node_modules/.pnpm/@aws-sdk+nested-clients@3.997.49/node_modules/@aws-sdk/nested-clients/dist-es/submodules/sso/endpoint/endpointResolver.js
+var cache2, defaultEndpointResolver2;
+var init_endpointResolver2 = __esm({
+ "../../node_modules/.pnpm/@aws-sdk+nested-clients@3.997.49/node_modules/@aws-sdk/nested-clients/dist-es/submodules/sso/endpoint/endpointResolver.js"() {
+ init_client2();
+ init_endpoints();
+ init_bdd2();
+ cache2 = new EndpointCache({
+ size: 50,
+ params: ["Endpoint", "Region", "UseDualStack", "UseFIPS"]
+ });
+ defaultEndpointResolver2 = /* @__PURE__ */ __name((endpointParams, context = {}) => {
+ return cache2.get(endpointParams, () => decideEndpoint(bdd2, {
+ endpointParams,
+ logger: context.logger
+ }));
+ }, "defaultEndpointResolver");
+ customEndpointFunctions.aws = awsEndpointFunctions;
+ }
+});
+
+// ../../node_modules/.pnpm/@aws-sdk+nested-clients@3.997.49/node_modules/@aws-sdk/nested-clients/dist-es/submodules/sso/models/SSOServiceException.js
+var SSOServiceException;
+var init_SSOServiceException = __esm({
+ "../../node_modules/.pnpm/@aws-sdk+nested-clients@3.997.49/node_modules/@aws-sdk/nested-clients/dist-es/submodules/sso/models/SSOServiceException.js"() {
+ init_client();
+ SSOServiceException = class _SSOServiceException extends ServiceException {
+ static {
+ __name(this, "SSOServiceException");
+ }
+ static shapeId = "smithy.ts.sdk.synthetic.com.amazonaws.sso#SSOServiceException";
+ constructor(options) {
+ super(options);
+ Object.setPrototypeOf(this, _SSOServiceException.prototype);
+ }
+ };
+ }
+});
+
+// ../../node_modules/.pnpm/@aws-sdk+nested-clients@3.997.49/node_modules/@aws-sdk/nested-clients/dist-es/submodules/sso/models/errors.js
+var InvalidRequestException2, ResourceNotFoundException, TooManyRequestsException, UnauthorizedException2;
+var init_errors2 = __esm({
+ "../../node_modules/.pnpm/@aws-sdk+nested-clients@3.997.49/node_modules/@aws-sdk/nested-clients/dist-es/submodules/sso/models/errors.js"() {
+ init_SSOServiceException();
+ InvalidRequestException2 = class _InvalidRequestException extends SSOServiceException {
+ static {
+ __name(this, "InvalidRequestException");
+ }
+ static shapeId = "com.amazonaws.sso#InvalidRequestException";
+ name = "InvalidRequestException";
+ $fault = "client";
+ constructor(opts) {
+ super({
+ name: "InvalidRequestException",
+ $fault: "client",
+ ...opts
+ });
+ Object.setPrototypeOf(this, _InvalidRequestException.prototype);
+ }
+ };
+ ResourceNotFoundException = class _ResourceNotFoundException extends SSOServiceException {
+ static {
+ __name(this, "ResourceNotFoundException");
+ }
+ static shapeId = "com.amazonaws.sso#ResourceNotFoundException";
+ name = "ResourceNotFoundException";
+ $fault = "client";
+ constructor(opts) {
+ super({
+ name: "ResourceNotFoundException",
+ $fault: "client",
+ ...opts
+ });
+ Object.setPrototypeOf(this, _ResourceNotFoundException.prototype);
+ }
+ };
+ TooManyRequestsException = class _TooManyRequestsException extends SSOServiceException {
+ static {
+ __name(this, "TooManyRequestsException");
+ }
+ static shapeId = "com.amazonaws.sso#TooManyRequestsException";
+ name = "TooManyRequestsException";
+ $fault = "client";
+ constructor(opts) {
+ super({
+ name: "TooManyRequestsException",
+ $fault: "client",
+ ...opts
+ });
+ Object.setPrototypeOf(this, _TooManyRequestsException.prototype);
+ }
+ };
+ UnauthorizedException2 = class _UnauthorizedException extends SSOServiceException {
+ static {
+ __name(this, "UnauthorizedException");
+ }
+ static shapeId = "com.amazonaws.sso#UnauthorizedException";
+ name = "UnauthorizedException";
+ $fault = "client";
+ constructor(opts) {
+ super({
+ name: "UnauthorizedException",
+ $fault: "client",
+ ...opts
+ });
+ Object.setPrototypeOf(this, _UnauthorizedException.prototype);
+ }
+ };
+ }
+});
+
+// ../../node_modules/.pnpm/@aws-sdk+nested-clients@3.997.49/node_modules/@aws-sdk/nested-clients/dist-es/submodules/sso/schemas/schemas_0.js
+var _ATT, _GRC, _GRCR, _GRCRe, _IRE2, _RC, _RNFE, _SAKT, _STT, _TMRE, _UE, _aI, _aKI, _aT2, _ai, _c2, _e2, _ex, _h2, _hE2, _hH, _hQ, _m, _rC, _rN, _rn, _s2, _sAK, _sT, _xasbt, n02, _s_registry2, SSOServiceException$, n0_registry2, InvalidRequestException$2, ResourceNotFoundException$, TooManyRequestsException$, UnauthorizedException$, errorTypeRegistries2, AccessTokenType, SecretAccessKeyType, SessionTokenType, GetRoleCredentialsRequest$, GetRoleCredentialsResponse$, RoleCredentials$, GetRoleCredentials$;
+var init_schemas_02 = __esm({
+ "../../node_modules/.pnpm/@aws-sdk+nested-clients@3.997.49/node_modules/@aws-sdk/nested-clients/dist-es/submodules/sso/schemas/schemas_0.js"() {
+ init_schema();
+ init_errors2();
+ init_SSOServiceException();
+ _ATT = "AccessTokenType";
+ _GRC = "GetRoleCredentials";
+ _GRCR = "GetRoleCredentialsRequest";
+ _GRCRe = "GetRoleCredentialsResponse";
+ _IRE2 = "InvalidRequestException";
+ _RC = "RoleCredentials";
+ _RNFE = "ResourceNotFoundException";
+ _SAKT = "SecretAccessKeyType";
+ _STT = "SessionTokenType";
+ _TMRE = "TooManyRequestsException";
+ _UE = "UnauthorizedException";
+ _aI = "accountId";
+ _aKI = "accessKeyId";
+ _aT2 = "accessToken";
+ _ai = "account_id";
+ _c2 = "client";
+ _e2 = "error";
+ _ex = "expiration";
+ _h2 = "http";
+ _hE2 = "httpError";
+ _hH = "httpHeader";
+ _hQ = "httpQuery";
+ _m = "message";
+ _rC = "roleCredentials";
+ _rN = "roleName";
+ _rn = "role_name";
+ _s2 = "smithy.ts.sdk.synthetic.com.amazonaws.sso";
+ _sAK = "secretAccessKey";
+ _sT = "sessionToken";
+ _xasbt = "x-amz-sso_bearer_token";
+ n02 = "com.amazonaws.sso";
+ _s_registry2 = new TypeRegistry(_s2);
+ SSOServiceException$ = [-3, _s2, "SSOServiceException", 0, [], []];
+ _s_registry2.registerError(SSOServiceException$, SSOServiceException);
+ n0_registry2 = new TypeRegistry(n02);
+ InvalidRequestException$2 = [
+ -3,
+ n02,
+ _IRE2,
+ { [_e2]: _c2, [_hE2]: 400 },
+ [_m],
+ [0]
+ ];
+ n0_registry2.registerError(InvalidRequestException$2, InvalidRequestException2);
+ ResourceNotFoundException$ = [
+ -3,
+ n02,
+ _RNFE,
+ { [_e2]: _c2, [_hE2]: 404 },
+ [_m],
+ [0]
+ ];
+ n0_registry2.registerError(ResourceNotFoundException$, ResourceNotFoundException);
+ TooManyRequestsException$ = [
+ -3,
+ n02,
+ _TMRE,
+ { [_e2]: _c2, [_hE2]: 429 },
+ [_m],
+ [0]
+ ];
+ n0_registry2.registerError(TooManyRequestsException$, TooManyRequestsException);
+ UnauthorizedException$ = [
+ -3,
+ n02,
+ _UE,
+ { [_e2]: _c2, [_hE2]: 401 },
+ [_m],
+ [0]
+ ];
+ n0_registry2.registerError(UnauthorizedException$, UnauthorizedException2);
+ errorTypeRegistries2 = [
+ _s_registry2,
+ n0_registry2
+ ];
+ AccessTokenType = [0, n02, _ATT, 8, 0];
+ SecretAccessKeyType = [0, n02, _SAKT, 8, 0];
+ SessionTokenType = [0, n02, _STT, 8, 0];
+ GetRoleCredentialsRequest$ = [
+ 3,
+ n02,
+ _GRCR,
+ 0,
+ [_rN, _aI, _aT2],
+ [[0, { [_hQ]: _rn }], [0, { [_hQ]: _ai }], [() => AccessTokenType, { [_hH]: _xasbt }]],
+ 3
+ ];
+ GetRoleCredentialsResponse$ = [
+ 3,
+ n02,
+ _GRCRe,
+ 0,
+ [_rC],
+ [[() => RoleCredentials$, 0]]
+ ];
+ RoleCredentials$ = [
+ 3,
+ n02,
+ _RC,
+ 0,
+ [_aKI, _sAK, _sT, _ex],
+ [0, [() => SecretAccessKeyType, 0], [() => SessionTokenType, 0], 1]
+ ];
+ GetRoleCredentials$ = [
+ 9,
+ n02,
+ _GRC,
+ { [_h2]: ["GET", "/federation/credentials", 200] },
+ () => GetRoleCredentialsRequest$,
+ () => GetRoleCredentialsResponse$
+ ];
+ }
+});
+
+// ../../node_modules/.pnpm/@aws-sdk+nested-clients@3.997.49/node_modules/@aws-sdk/nested-clients/dist-es/submodules/sso/runtimeConfig.shared.js
+var getRuntimeConfig3;
+var init_runtimeConfig_shared2 = __esm({
+ "../../node_modules/.pnpm/@aws-sdk+nested-clients@3.997.49/node_modules/@aws-sdk/nested-clients/dist-es/submodules/sso/runtimeConfig.shared.js"() {
+ init_httpAuthSchemes2();
+ init_protocols2();
+ init_dist_es();
+ init_checksum();
+ init_client();
+ init_protocols();
+ init_serde();
+ init_httpAuthSchemeProvider2();
+ init_endpointResolver2();
+ init_schemas_02();
+ getRuntimeConfig3 = /* @__PURE__ */ __name((config3) => {
+ return {
+ apiVersion: "2019-06-10",
+ base64Decoder: config3?.base64Decoder ?? fromBase64,
+ base64Encoder: config3?.base64Encoder ?? toBase64,
+ disableHostPrefix: config3?.disableHostPrefix ?? false,
+ endpointProvider: config3?.endpointProvider ?? defaultEndpointResolver2,
+ extensions: config3?.extensions ?? [],
+ httpAuthSchemeProvider: config3?.httpAuthSchemeProvider ?? defaultSSOHttpAuthSchemeProvider,
+ httpAuthSchemes: config3?.httpAuthSchemes ?? [
+ {
+ schemeId: "aws.auth#sigv4",
+ identityProvider: /* @__PURE__ */ __name((ipc) => ipc.getIdentityProvider("aws.auth#sigv4"), "identityProvider"),
+ signer: new AwsSdkSigV4Signer()
+ },
+ {
+ schemeId: "smithy.api#noAuth",
+ identityProvider: /* @__PURE__ */ __name((ipc) => ipc.getIdentityProvider("smithy.api#noAuth") || (async () => ({})), "identityProvider"),
+ signer: new NoAuthSigner()
+ }
+ ],
+ logger: config3?.logger ?? new NoOpLogger(),
+ protocol: config3?.protocol ?? AwsRestJsonProtocol,
+ protocolSettings: config3?.protocolSettings ?? {
+ defaultNamespace: "com.amazonaws.sso",
+ errorTypeRegistries: errorTypeRegistries2,
+ version: "2019-06-10",
+ serviceTarget: "SWBPortalService"
+ },
+ serviceId: config3?.serviceId ?? "SSO",
+ sha256: config3?.sha256 ?? Sha256Node,
+ urlParser: config3?.urlParser ?? parseUrl,
+ utf8Decoder: config3?.utf8Decoder ?? fromUtf8,
+ utf8Encoder: config3?.utf8Encoder ?? toUtf8
+ };
+ }, "getRuntimeConfig");
+ }
+});
+
+// ../../node_modules/.pnpm/@aws-sdk+nested-clients@3.997.49/node_modules/@aws-sdk/nested-clients/dist-es/submodules/sso/runtimeConfig.js
+var import_node_http_handler2, getRuntimeConfig4;
+var init_runtimeConfig2 = __esm({
+ "../../node_modules/.pnpm/@aws-sdk+nested-clients@3.997.49/node_modules/@aws-sdk/nested-clients/dist-es/submodules/sso/runtimeConfig.js"() {
+ init_package();
+ init_client2();
+ init_httpAuthSchemes2();
+ init_client();
+ init_config();
+ init_retry();
+ init_serde();
+ import_node_http_handler2 = __toESM(require_dist_cjs7());
+ init_runtimeConfig_shared2();
+ getRuntimeConfig4 = /* @__PURE__ */ __name((config3) => {
+ emitWarningIfUnsupportedVersion(process.version);
+ const defaultsMode = resolveDefaultsModeConfig(config3);
+ const defaultConfigProvider = /* @__PURE__ */ __name(() => defaultsMode().then(loadConfigsForDefaultMode), "defaultConfigProvider");
+ const clientSharedValues = getRuntimeConfig3(config3);
+ emitWarningIfUnsupportedVersion2(process.version);
+ const loaderConfig = {
+ profile: config3?.profile,
+ logger: clientSharedValues.logger
+ };
+ return {
+ ...clientSharedValues,
+ ...config3,
+ runtime: "node",
+ defaultsMode,
+ authSchemePreference: config3?.authSchemePreference ?? loadConfig(NODE_AUTH_SCHEME_PREFERENCE_OPTIONS, loaderConfig),
+ bodyLengthChecker: config3?.bodyLengthChecker ?? calculateBodyLength,
+ defaultUserAgentProvider: config3?.defaultUserAgentProvider ?? createDefaultUserAgentProvider({ serviceId: clientSharedValues.serviceId, clientVersion: package_default.version }),
+ maxAttempts: config3?.maxAttempts ?? loadConfig(NODE_MAX_ATTEMPT_CONFIG_OPTIONS, config3),
+ region: config3?.region ?? loadConfig(NODE_REGION_CONFIG_OPTIONS, { ...NODE_REGION_CONFIG_FILE_OPTIONS, ...loaderConfig }),
+ requestHandler: import_node_http_handler2.NodeHttpHandler.create(config3?.requestHandler ?? defaultConfigProvider),
+ retryMode: config3?.retryMode ?? loadConfig({
+ ...NODE_RETRY_MODE_CONFIG_OPTIONS,
+ default: /* @__PURE__ */ __name(async () => (await defaultConfigProvider()).retryMode || DEFAULT_RETRY_MODE, "default")
+ }, config3),
+ streamCollector: config3?.streamCollector ?? import_node_http_handler2.streamCollector,
+ useDualstackEndpoint: config3?.useDualstackEndpoint ?? loadConfig(NODE_USE_DUALSTACK_ENDPOINT_CONFIG_OPTIONS, loaderConfig),
+ useFipsEndpoint: config3?.useFipsEndpoint ?? loadConfig(NODE_USE_FIPS_ENDPOINT_CONFIG_OPTIONS, loaderConfig),
+ userAgentAppId: config3?.userAgentAppId ?? loadConfig(NODE_APP_ID_CONFIG_OPTIONS, loaderConfig)
+ };
+ }, "getRuntimeConfig");
+ }
+});
+
+// ../../node_modules/.pnpm/@aws-sdk+nested-clients@3.997.49/node_modules/@aws-sdk/nested-clients/dist-es/submodules/sso/auth/httpAuthExtensionConfiguration.js
+var getHttpAuthExtensionConfiguration2, resolveHttpAuthRuntimeConfig2;
+var init_httpAuthExtensionConfiguration2 = __esm({
+ "../../node_modules/.pnpm/@aws-sdk+nested-clients@3.997.49/node_modules/@aws-sdk/nested-clients/dist-es/submodules/sso/auth/httpAuthExtensionConfiguration.js"() {
+ getHttpAuthExtensionConfiguration2 = /* @__PURE__ */ __name((runtimeConfig) => {
+ const _httpAuthSchemes = runtimeConfig.httpAuthSchemes;
+ let _httpAuthSchemeProvider = runtimeConfig.httpAuthSchemeProvider;
+ let _credentials = runtimeConfig.credentials;
+ return {
+ setHttpAuthScheme(httpAuthScheme) {
+ const index = _httpAuthSchemes.findIndex((scheme) => scheme.schemeId === httpAuthScheme.schemeId);
+ if (index === -1) {
+ _httpAuthSchemes.push(httpAuthScheme);
+ } else {
+ _httpAuthSchemes.splice(index, 1, httpAuthScheme);
+ }
+ },
+ httpAuthSchemes() {
+ return _httpAuthSchemes;
+ },
+ setHttpAuthSchemeProvider(httpAuthSchemeProvider) {
+ _httpAuthSchemeProvider = httpAuthSchemeProvider;
+ },
+ httpAuthSchemeProvider() {
+ return _httpAuthSchemeProvider;
+ },
+ setCredentials(credentials) {
+ _credentials = credentials;
+ },
+ credentials() {
+ return _credentials;
+ }
+ };
+ }, "getHttpAuthExtensionConfiguration");
+ resolveHttpAuthRuntimeConfig2 = /* @__PURE__ */ __name((config3) => {
+ return {
+ httpAuthSchemes: config3.httpAuthSchemes(),
+ httpAuthSchemeProvider: config3.httpAuthSchemeProvider(),
+ credentials: config3.credentials()
+ };
+ }, "resolveHttpAuthRuntimeConfig");
+ }
+});
+
+// ../../node_modules/.pnpm/@aws-sdk+nested-clients@3.997.49/node_modules/@aws-sdk/nested-clients/dist-es/submodules/sso/runtimeExtensions.js
+var resolveRuntimeExtensions2;
+var init_runtimeExtensions2 = __esm({
+ "../../node_modules/.pnpm/@aws-sdk+nested-clients@3.997.49/node_modules/@aws-sdk/nested-clients/dist-es/submodules/sso/runtimeExtensions.js"() {
+ init_client2();
+ init_client();
+ init_protocols();
+ init_httpAuthExtensionConfiguration2();
+ resolveRuntimeExtensions2 = /* @__PURE__ */ __name((runtimeConfig, extensions) => {
+ const extensionConfiguration = Object.assign(getAwsRegionExtensionConfiguration(runtimeConfig), getDefaultExtensionConfiguration(runtimeConfig), getHttpHandlerExtensionConfiguration(runtimeConfig), getHttpAuthExtensionConfiguration2(runtimeConfig));
+ extensions.forEach((extension) => extension.configure(extensionConfiguration));
+ return Object.assign(runtimeConfig, resolveAwsRegionExtensionConfiguration(extensionConfiguration), resolveDefaultRuntimeConfig(extensionConfiguration), resolveHttpHandlerRuntimeConfig(extensionConfiguration), resolveHttpAuthRuntimeConfig2(extensionConfiguration));
+ }, "resolveRuntimeExtensions");
+ }
+});
+
+// ../../node_modules/.pnpm/@aws-sdk+nested-clients@3.997.49/node_modules/@aws-sdk/nested-clients/dist-es/submodules/sso/SSOClient.js
+var SSOClient;
+var init_SSOClient = __esm({
+ "../../node_modules/.pnpm/@aws-sdk+nested-clients@3.997.49/node_modules/@aws-sdk/nested-clients/dist-es/submodules/sso/SSOClient.js"() {
+ init_client2();
+ init_dist_es();
+ init_client();
+ init_config();
+ init_endpoints();
+ init_protocols();
+ init_retry();
+ init_schema();
+ init_httpAuthSchemeProvider2();
+ init_EndpointParameters2();
+ init_runtimeConfig2();
+ init_runtimeExtensions2();
+ SSOClient = class extends Client {
+ static {
+ __name(this, "SSOClient");
+ }
+ config;
+ constructor(...[configuration]) {
+ const _config_0 = getRuntimeConfig4(configuration || {});
+ super(_config_0);
+ this.initConfig = _config_0;
+ const _config_1 = resolveClientEndpointParameters2(_config_0);
+ const _config_2 = resolveUserAgentConfig(_config_1);
+ const _config_3 = resolveRetryConfig(_config_2);
+ const _config_4 = resolveRegionConfig(_config_3);
+ const _config_5 = resolveHostHeaderConfig(_config_4);
+ const _config_6 = resolveEndpointConfig(_config_5);
+ const _config_7 = resolveHttpAuthSchemeConfig2(_config_6);
+ const _config_8 = resolveRuntimeExtensions2(_config_7, configuration?.extensions || []);
+ this.config = _config_8;
+ this.middlewareStack.use(getSchemaSerdePlugin(this.config));
+ this.middlewareStack.use(getUserAgentPlugin(this.config));
+ this.middlewareStack.use(getRetryPlugin(this.config));
+ this.middlewareStack.use(getContentLengthPlugin(this.config));
+ this.middlewareStack.use(getHostHeaderPlugin(this.config));
+ this.middlewareStack.use(getLoggerPlugin(this.config));
+ this.middlewareStack.use(getRecursionDetectionPlugin(this.config));
+ this.middlewareStack.use(getHttpAuthSchemeEndpointRuleSetPlugin(this.config, {
+ httpAuthSchemeParametersProvider: defaultSSOHttpAuthSchemeParametersProvider,
+ identityProviderConfigProvider: /* @__PURE__ */ __name(async (config3) => new DefaultIdentityProviderConfig({
+ "aws.auth#sigv4": config3.credentials
+ }), "identityProviderConfigProvider")
+ }));
+ this.middlewareStack.use(getHttpSigningPlugin(this.config));
+ }
+ destroy() {
+ super.destroy();
+ }
+ };
+ }
+});
+
+// ../../node_modules/.pnpm/@aws-sdk+nested-clients@3.997.49/node_modules/@aws-sdk/nested-clients/dist-es/submodules/sso/commandBuilder.js
+var command2, _ep02, _mw02;
+var init_commandBuilder2 = __esm({
+ "../../node_modules/.pnpm/@aws-sdk+nested-clients@3.997.49/node_modules/@aws-sdk/nested-clients/dist-es/submodules/sso/commandBuilder.js"() {
+ init_client();
+ init_endpoints();
+ init_EndpointParameters2();
+ command2 = makeBuilder(commonParams2, "SWBPortalService", "SSOClient", getEndpointPlugin);
+ _ep02 = {};
+ _mw02 = /* @__PURE__ */ __name((Command2, cs, config3, o3) => [], "_mw0");
+ }
+});
+
+// ../../node_modules/.pnpm/@aws-sdk+nested-clients@3.997.49/node_modules/@aws-sdk/nested-clients/dist-es/submodules/sso/commands/GetRoleCredentialsCommand.js
+var GetRoleCredentialsCommand;
+var init_GetRoleCredentialsCommand = __esm({
+ "../../node_modules/.pnpm/@aws-sdk+nested-clients@3.997.49/node_modules/@aws-sdk/nested-clients/dist-es/submodules/sso/commands/GetRoleCredentialsCommand.js"() {
+ init_commandBuilder2();
+ init_schemas_02();
+ GetRoleCredentialsCommand = class extends command2(_ep02, _mw02, "GetRoleCredentials", GetRoleCredentials$) {
+ static {
+ __name(this, "GetRoleCredentialsCommand");
+ }
+ };
+ }
+});
+
+// ../../node_modules/.pnpm/@aws-sdk+nested-clients@3.997.49/node_modules/@aws-sdk/nested-clients/dist-es/submodules/sso/SSO.js
+var commands2, SSO;
+var init_SSO = __esm({
+ "../../node_modules/.pnpm/@aws-sdk+nested-clients@3.997.49/node_modules/@aws-sdk/nested-clients/dist-es/submodules/sso/SSO.js"() {
+ init_client();
+ init_GetRoleCredentialsCommand();
+ init_SSOClient();
+ commands2 = {
+ GetRoleCredentialsCommand
+ };
+ SSO = class extends SSOClient {
+ static {
+ __name(this, "SSO");
+ }
+ };
+ createAggregatedClient(commands2, SSO);
+ }
+});
+
+// ../../node_modules/.pnpm/@aws-sdk+nested-clients@3.997.49/node_modules/@aws-sdk/nested-clients/dist-es/submodules/sso/commands/index.js
+var init_commands2 = __esm({
+ "../../node_modules/.pnpm/@aws-sdk+nested-clients@3.997.49/node_modules/@aws-sdk/nested-clients/dist-es/submodules/sso/commands/index.js"() {
+ init_GetRoleCredentialsCommand();
+ }
+});
+
+// ../../node_modules/.pnpm/@aws-sdk+nested-clients@3.997.49/node_modules/@aws-sdk/nested-clients/dist-es/submodules/sso/models/models_0.js
+var init_models_02 = __esm({
+ "../../node_modules/.pnpm/@aws-sdk+nested-clients@3.997.49/node_modules/@aws-sdk/nested-clients/dist-es/submodules/sso/models/models_0.js"() {
+ }
+});
+
+// ../../node_modules/.pnpm/@aws-sdk+nested-clients@3.997.49/node_modules/@aws-sdk/nested-clients/dist-es/submodules/sso/index.js
+var sso_exports = {};
+__export(sso_exports, {
+ $Command: () => Command,
+ GetRoleCredentials$: () => GetRoleCredentials$,
+ GetRoleCredentialsCommand: () => GetRoleCredentialsCommand,
+ GetRoleCredentialsRequest$: () => GetRoleCredentialsRequest$,
+ GetRoleCredentialsResponse$: () => GetRoleCredentialsResponse$,
+ InvalidRequestException: () => InvalidRequestException2,
+ InvalidRequestException$: () => InvalidRequestException$2,
+ ResourceNotFoundException: () => ResourceNotFoundException,
+ ResourceNotFoundException$: () => ResourceNotFoundException$,
+ RoleCredentials$: () => RoleCredentials$,
+ SSO: () => SSO,
+ SSOClient: () => SSOClient,
+ SSOServiceException: () => SSOServiceException,
+ SSOServiceException$: () => SSOServiceException$,
+ TooManyRequestsException: () => TooManyRequestsException,
+ TooManyRequestsException$: () => TooManyRequestsException$,
+ UnauthorizedException: () => UnauthorizedException2,
+ UnauthorizedException$: () => UnauthorizedException$,
+ __Client: () => Client,
+ errorTypeRegistries: () => errorTypeRegistries2
+});
+var init_sso = __esm({
+ "../../node_modules/.pnpm/@aws-sdk+nested-clients@3.997.49/node_modules/@aws-sdk/nested-clients/dist-es/submodules/sso/index.js"() {
+ init_SSOClient();
+ init_SSO();
+ init_commands2();
+ init_client();
+ init_schemas_02();
+ init_errors2();
+ init_models_02();
+ init_SSOServiceException();
+ }
+});
+
+// ../../node_modules/.pnpm/@aws-sdk+credential-provider-sso@3.973.19/node_modules/@aws-sdk/credential-provider-sso/dist-cjs/loadSso-BGYXHf8s.js
+var require_loadSso_BGYXHf8s = __commonJS({
+ "../../node_modules/.pnpm/@aws-sdk+credential-provider-sso@3.973.19/node_modules/@aws-sdk/credential-provider-sso/dist-cjs/loadSso-BGYXHf8s.js"(exports) {
+ var { GetRoleCredentialsCommand: GetRoleCredentialsCommand2, SSOClient: SSOClient2 } = (init_sso(), __toCommonJS(sso_exports));
+ exports.GetRoleCredentialsCommand = GetRoleCredentialsCommand2;
+ exports.SSOClient = SSOClient2;
+ }
+});
+
+// ../../node_modules/.pnpm/@aws-sdk+credential-provider-sso@3.973.19/node_modules/@aws-sdk/credential-provider-sso/dist-cjs/index.js
+var require_dist_cjs10 = __commonJS({
+ "../../node_modules/.pnpm/@aws-sdk+credential-provider-sso@3.973.19/node_modules/@aws-sdk/credential-provider-sso/dist-cjs/index.js"(exports) {
+ var { CredentialsProviderError, getSSOTokenFromFile, getProfileName, parseKnownFiles, loadSsoSessionData } = (init_config(), __toCommonJS(config_exports));
+ var { setCredentialFeature: setCredentialFeature2 } = (init_client2(), __toCommonJS(client_exports2));
+ var { fromSso } = require_dist_cjs9();
+ var isSsoProfile = /* @__PURE__ */ __name((arg) => arg && (typeof arg.sso_start_url === "string" || typeof arg.sso_account_id === "string" || typeof arg.sso_session === "string" || typeof arg.sso_region === "string" || typeof arg.sso_role_name === "string"), "isSsoProfile");
+ var SHOULD_FAIL_CREDENTIAL_CHAIN = false;
+ var resolveSSOCredentials = /* @__PURE__ */ __name(async ({ ssoStartUrl, ssoSession, ssoAccountId, ssoRegion, ssoRoleName, ssoClient, clientConfig, parentClientConfig, callerClientConfig, profile, filepath, configFilepath, ignoreCache, logger }) => {
+ let token;
+ const refreshMessage = `To refresh this SSO session run aws sso login with the corresponding profile.`;
+ if (ssoSession) {
+ try {
+ const _token = await fromSso({
+ profile,
+ filepath,
+ configFilepath,
+ ignoreCache,
+ clientConfig,
+ parentClientConfig,
+ logger
+ })({ callerClientConfig });
+ token = {
+ accessToken: _token.token,
+ expiresAt: new Date(_token.expiration).toISOString()
+ };
+ } catch (e5) {
+ throw new CredentialsProviderError(e5.message, {
+ tryNextLink: SHOULD_FAIL_CREDENTIAL_CHAIN,
+ logger
+ });
+ }
+ } else {
+ try {
+ token = await getSSOTokenFromFile(ssoStartUrl);
+ } catch (e5) {
+ throw new CredentialsProviderError(`The SSO session associated with this profile is invalid. ${refreshMessage}`, {
+ tryNextLink: SHOULD_FAIL_CREDENTIAL_CHAIN,
+ logger
+ });
+ }
+ }
+ if (new Date(token.expiresAt).getTime() - Date.now() <= 0) {
+ throw new CredentialsProviderError(`The SSO session associated with this profile has expired. ${refreshMessage}`, {
+ tryNextLink: SHOULD_FAIL_CREDENTIAL_CHAIN,
+ logger
+ });
+ }
+ const { accessToken } = token;
+ const { SSOClient: SSOClient2, GetRoleCredentialsCommand: GetRoleCredentialsCommand2 } = require_loadSso_BGYXHf8s();
+ const sso = ssoClient || new SSOClient2(Object.assign({}, clientConfig ?? {}, {
+ logger: clientConfig?.logger ?? callerClientConfig?.logger ?? parentClientConfig?.logger,
+ region: clientConfig?.region ?? ssoRegion,
+ userAgentAppId: clientConfig?.userAgentAppId ?? callerClientConfig?.userAgentAppId ?? parentClientConfig?.userAgentAppId
+ }));
+ let ssoResp;
+ try {
+ ssoResp = await sso.send(new GetRoleCredentialsCommand2({
+ accountId: ssoAccountId,
+ roleName: ssoRoleName,
+ accessToken
+ }));
+ } catch (e5) {
+ throw new CredentialsProviderError(e5, {
+ tryNextLink: SHOULD_FAIL_CREDENTIAL_CHAIN,
+ logger
+ });
+ }
+ const { roleCredentials: { accessKeyId, secretAccessKey, sessionToken, expiration, credentialScope, accountId } = {} } = ssoResp;
+ if (!accessKeyId || !secretAccessKey || !sessionToken || !expiration) {
+ throw new CredentialsProviderError("SSO returns an invalid temporary credential.", {
+ tryNextLink: SHOULD_FAIL_CREDENTIAL_CHAIN,
+ logger
+ });
+ }
+ const credentials = {
+ accessKeyId,
+ secretAccessKey,
+ sessionToken,
+ expiration: new Date(expiration),
+ ...credentialScope && { credentialScope },
+ ...accountId && { accountId }
+ };
+ if (ssoSession) {
+ setCredentialFeature2(credentials, "CREDENTIALS_SSO", "s");
+ } else {
+ setCredentialFeature2(credentials, "CREDENTIALS_SSO_LEGACY", "u");
+ }
+ return credentials;
+ }, "resolveSSOCredentials");
+ var validateSsoProfile = /* @__PURE__ */ __name((profile, logger) => {
+ const { sso_start_url, sso_account_id, sso_region, sso_role_name } = profile;
+ if (!sso_start_url || !sso_account_id || !sso_region || !sso_role_name) {
+ throw new CredentialsProviderError(`Profile is configured with invalid SSO credentials. Required parameters "sso_account_id", "sso_region", "sso_role_name", "sso_start_url". Got ${Object.keys(profile).join(", ")}
+Reference: https://docs.aws.amazon.com/cli/latest/userguide/cli-configure-sso.html`, { tryNextLink: false, logger });
+ }
+ return profile;
+ }, "validateSsoProfile");
+ var fromSSO = /* @__PURE__ */ __name((init2 = {}) => async ({ callerClientConfig } = {}) => {
+ init2.logger?.debug("@aws-sdk/credential-provider-sso - fromSSO");
+ const { ssoStartUrl, ssoAccountId, ssoRegion, ssoRoleName, ssoSession } = init2;
+ const { ssoClient } = init2;
+ const profileName = getProfileName({
+ profile: init2.profile ?? callerClientConfig?.profile
+ });
+ if (!ssoStartUrl && !ssoAccountId && !ssoRegion && !ssoRoleName && !ssoSession) {
+ const profiles = await parseKnownFiles(init2);
+ const profile = profiles[profileName];
+ if (!profile) {
+ throw new CredentialsProviderError(`Profile ${profileName} was not found.`, { logger: init2.logger });
+ }
+ if (!isSsoProfile(profile)) {
+ throw new CredentialsProviderError(`Profile ${profileName} is not configured with SSO credentials.`, {
+ logger: init2.logger
+ });
+ }
+ if (profile?.sso_session) {
+ const ssoSessions = await loadSsoSessionData(init2);
+ const session = ssoSessions[profile.sso_session];
+ const conflictMsg = ` configurations in profile ${profileName} and sso-session ${profile.sso_session}`;
+ if (ssoRegion && ssoRegion !== session.sso_region) {
+ throw new CredentialsProviderError(`Conflicting SSO region` + conflictMsg, {
+ tryNextLink: false,
+ logger: init2.logger
+ });
+ }
+ if (ssoStartUrl && ssoStartUrl !== session.sso_start_url) {
+ throw new CredentialsProviderError(`Conflicting SSO start_url` + conflictMsg, {
+ tryNextLink: false,
+ logger: init2.logger
+ });
+ }
+ profile.sso_region = session.sso_region;
+ profile.sso_start_url = session.sso_start_url;
+ }
+ const { sso_start_url, sso_account_id, sso_region, sso_role_name, sso_session } = validateSsoProfile(profile, init2.logger);
+ return resolveSSOCredentials({
+ ssoStartUrl: sso_start_url,
+ ssoSession: sso_session,
+ ssoAccountId: sso_account_id,
+ ssoRegion: sso_region,
+ ssoRoleName: sso_role_name,
+ ssoClient,
+ clientConfig: init2.clientConfig,
+ parentClientConfig: init2.parentClientConfig,
+ callerClientConfig: init2.callerClientConfig,
+ profile: profileName,
+ filepath: init2.filepath,
+ configFilepath: init2.configFilepath,
+ ignoreCache: init2.ignoreCache,
+ logger: init2.logger
+ });
+ } else if (!ssoStartUrl || !ssoAccountId || !ssoRegion || !ssoRoleName) {
+ throw new CredentialsProviderError('Incomplete configuration. The fromSSO() argument hash must include "ssoStartUrl", "ssoAccountId", "ssoRegion", "ssoRoleName"', { tryNextLink: false, logger: init2.logger });
+ } else {
+ return resolveSSOCredentials({
+ ssoStartUrl,
+ ssoSession,
+ ssoAccountId,
+ ssoRegion,
+ ssoRoleName,
+ ssoClient,
+ clientConfig: init2.clientConfig,
+ parentClientConfig: init2.parentClientConfig,
+ callerClientConfig: init2.callerClientConfig,
+ profile: profileName,
+ filepath: init2.filepath,
+ configFilepath: init2.configFilepath,
+ ignoreCache: init2.ignoreCache,
+ logger: init2.logger
+ });
+ }
+ }, "fromSSO");
+ exports.fromSSO = fromSSO;
+ exports.isSsoProfile = isSsoProfile;
+ exports.validateSsoProfile = validateSsoProfile;
+ }
+});
+
+// ../../node_modules/.pnpm/@aws-sdk+nested-clients@3.997.49/node_modules/@aws-sdk/nested-clients/dist-es/submodules/sts/endpoint/bdd.js
+var q, a3, b3, c3, d3, e3, f3, g3, h3, i3, j3, k3, l, m, n, o, p, _data3, root3, r3, nodes3, bdd3;
+var init_bdd3 = __esm({
+ "../../node_modules/.pnpm/@aws-sdk+nested-clients@3.997.49/node_modules/@aws-sdk/nested-clients/dist-es/submodules/sts/endpoint/bdd.js"() {
+ init_endpoints();
+ q = "ref";
+ a3 = -1;
+ b3 = true;
+ c3 = "isSet";
+ d3 = "PartitionResult";
+ e3 = "booleanEquals";
+ f3 = "stringEquals";
+ g3 = "getAttr";
+ h3 = "us-east-1";
+ i3 = "sigv4";
+ j3 = "sts";
+ k3 = "https://sts.{Region}.{PartitionResult#dnsSuffix}";
+ l = { [q]: "Endpoint" };
+ m = { [q]: "Region" };
+ n = { [q]: d3 };
+ o = {};
+ p = [m];
+ _data3 = {
+ conditions: [
+ [c3, [l]],
+ [c3, p],
+ ["aws.partition", p, d3],
+ [e3, [{ [q]: "UseFIPS" }, b3]],
+ [e3, [{ [q]: "UseDualStack" }, b3]],
+ [f3, [m, "aws-global"]],
+ [e3, [{ [q]: "UseGlobalEndpoint" }, b3]],
+ [f3, [m, "eu-central-1"]],
+ [e3, [{ fn: g3, argv: [n, "supportsDualStack"] }, b3]],
+ [e3, [{ fn: g3, argv: [n, "supportsFIPS"] }, b3]],
+ [f3, [m, "ap-south-1"]],
+ [f3, [m, "eu-north-1"]],
+ [f3, [m, "eu-west-1"]],
+ [f3, [m, "eu-west-2"]],
+ [f3, [m, "eu-west-3"]],
+ [f3, [m, "sa-east-1"]],
+ [f3, [m, h3]],
+ [f3, [m, "us-east-2"]],
+ [f3, [m, "us-west-2"]],
+ [f3, [m, "us-west-1"]],
+ [f3, [m, "ca-central-1"]],
+ [f3, [m, "ap-southeast-1"]],
+ [f3, [m, "ap-northeast-1"]],
+ [f3, [m, "ap-southeast-2"]],
+ [f3, [{ fn: g3, argv: [n, "name"] }, "aws-us-gov"]]
+ ],
+ results: [
+ [a3],
+ ["https://sts.amazonaws.com", { authSchemes: [{ name: i3, signingName: j3, signingRegion: h3 }] }],
+ [k3, { authSchemes: [{ name: i3, signingName: j3, signingRegion: "{Region}" }] }],
+ [a3, "Invalid Configuration: FIPS and custom endpoint are not supported"],
+ [a3, "Invalid Configuration: Dualstack and custom endpoint are not supported"],
+ [l, o],
+ ["https://sts-fips.{Region}.{PartitionResult#dualStackDnsSuffix}", o],
+ [a3, "FIPS and DualStack are enabled, but this partition does not support one or both"],
+ ["https://sts.{Region}.amazonaws.com", o],
+ ["https://sts-fips.{Region}.{PartitionResult#dnsSuffix}", o],
+ [a3, "FIPS is enabled but this partition does not support FIPS"],
+ ["https://sts.{Region}.{PartitionResult#dualStackDnsSuffix}", o],
+ [a3, "DualStack is enabled but this partition does not support DualStack"],
+ [k3, o],
+ [a3, "Invalid Configuration: Missing Region"]
+ ]
+ };
+ root3 = 2;
+ r3 = 1e8;
+ nodes3 = new Int32Array([
+ -1,
+ 1,
+ -1,
+ 0,
+ 30,
+ 3,
+ 1,
+ 4,
+ r3 + 14,
+ 2,
+ 5,
+ r3 + 14,
+ 3,
+ 25,
+ 6,
+ 4,
+ 24,
+ 7,
+ 5,
+ r3 + 1,
+ 8,
+ 6,
+ 9,
+ r3 + 13,
+ 7,
+ r3 + 1,
+ 10,
+ 10,
+ r3 + 1,
+ 11,
+ 11,
+ r3 + 1,
+ 12,
+ 12,
+ r3 + 1,
+ 13,
+ 13,
+ r3 + 1,
+ 14,
+ 14,
+ r3 + 1,
+ 15,
+ 15,
+ r3 + 1,
+ 16,
+ 16,
+ r3 + 1,
+ 17,
+ 17,
+ r3 + 1,
+ 18,
+ 18,
+ r3 + 1,
+ 19,
+ 19,
+ r3 + 1,
+ 20,
+ 20,
+ r3 + 1,
+ 21,
+ 21,
+ r3 + 1,
+ 22,
+ 22,
+ r3 + 1,
+ 23,
+ 23,
+ r3 + 1,
+ r3 + 2,
+ 8,
+ r3 + 11,
+ r3 + 12,
+ 4,
+ 28,
+ 26,
+ 9,
+ 27,
+ r3 + 10,
+ 24,
+ r3 + 8,
+ r3 + 9,
+ 8,
+ 29,
+ r3 + 7,
+ 9,
+ r3 + 6,
+ r3 + 7,
+ 3,
+ r3 + 3,
+ 31,
+ 4,
+ r3 + 4,
+ r3 + 5
+ ]);
+ bdd3 = BinaryDecisionDiagram.from(nodes3, root3, _data3.conditions, _data3.results);
+ }
+});
+
+// ../../node_modules/.pnpm/@aws-sdk+nested-clients@3.997.49/node_modules/@aws-sdk/nested-clients/dist-es/submodules/sts/endpoint/endpointResolver.js
+var cache3, defaultEndpointResolver3;
+var init_endpointResolver3 = __esm({
+ "../../node_modules/.pnpm/@aws-sdk+nested-clients@3.997.49/node_modules/@aws-sdk/nested-clients/dist-es/submodules/sts/endpoint/endpointResolver.js"() {
+ init_client2();
+ init_endpoints();
+ init_bdd3();
+ cache3 = new EndpointCache({
+ size: 50,
+ params: ["Endpoint", "Region", "UseDualStack", "UseFIPS", "UseGlobalEndpoint"]
+ });
+ defaultEndpointResolver3 = /* @__PURE__ */ __name((endpointParams, context = {}) => {
+ return cache3.get(endpointParams, () => decideEndpoint(bdd3, {
+ endpointParams,
+ logger: context.logger
+ }));
+ }, "defaultEndpointResolver");
+ customEndpointFunctions.aws = awsEndpointFunctions;
+ }
+});
+
+// ../../node_modules/.pnpm/@aws-sdk+nested-clients@3.997.49/node_modules/@aws-sdk/nested-clients/dist-es/submodules/sts/auth/httpAuthSchemeProvider.js
+function createAwsAuthSigv4HttpAuthOption3(authParameters) {
+ return {
+ schemeId: "aws.auth#sigv4",
+ signingProperties: {
+ name: "sts",
+ region: authParameters.region
+ },
+ propertiesExtractor: /* @__PURE__ */ __name((config3, context) => ({
+ signingProperties: {
+ config: config3,
+ context
+ }
+ }), "propertiesExtractor")
+ };
+}
+function createAwsAuthSigv4aHttpAuthOption(authParameters) {
+ return {
+ schemeId: "aws.auth#sigv4a",
+ signingProperties: {
+ name: "sts",
+ region: authParameters.region
+ },
+ propertiesExtractor: /* @__PURE__ */ __name((config3, context) => ({
+ signingProperties: {
+ config: config3,
+ context
+ }
+ }), "propertiesExtractor")
+ };
+}
+function createSmithyApiNoAuthHttpAuthOption3(authParameters) {
+ return {
+ schemeId: "smithy.api#noAuth"
+ };
+}
+var import_signature_v4_multi_region2, createEndpointRuleSetHttpAuthSchemeParametersProvider, _defaultSTSHttpAuthSchemeParametersProvider, defaultSTSHttpAuthSchemeParametersProvider, createEndpointRuleSetHttpAuthSchemeProvider, _defaultSTSHttpAuthSchemeProvider, defaultSTSHttpAuthSchemeProvider, resolveHttpAuthSchemeConfig3;
+var init_httpAuthSchemeProvider3 = __esm({
+ "../../node_modules/.pnpm/@aws-sdk+nested-clients@3.997.49/node_modules/@aws-sdk/nested-clients/dist-es/submodules/sts/auth/httpAuthSchemeProvider.js"() {
+ init_httpAuthSchemes2();
+ import_signature_v4_multi_region2 = __toESM(require_dist_cjs3());
+ init_client();
+ init_endpoints();
+ init_endpointResolver3();
+ createEndpointRuleSetHttpAuthSchemeParametersProvider = /* @__PURE__ */ __name((defaultHttpAuthSchemeParametersProvider) => async (config3, context, input2) => {
+ if (!input2) {
+ throw new Error("Could not find `input` for `defaultEndpointRuleSetHttpAuthSchemeParametersProvider`");
+ }
+ const defaultParameters = await defaultHttpAuthSchemeParametersProvider(config3, context, input2);
+ const instructionsFn = getSmithyContext(context)?.commandInstance?.constructor?.getEndpointParameterInstructions;
+ if (!instructionsFn) {
+ throw new Error(`getEndpointParameterInstructions() is not defined on '${context.commandName}'`);
+ }
+ const endpointParameters = await resolveParams(input2, { getEndpointParameterInstructions: instructionsFn }, config3);
+ return Object.assign(defaultParameters, endpointParameters);
+ }, "createEndpointRuleSetHttpAuthSchemeParametersProvider");
+ _defaultSTSHttpAuthSchemeParametersProvider = /* @__PURE__ */ __name(async (config3, context, input2) => {
+ return {
+ operation: getSmithyContext(context).operation,
+ region: await normalizeProvider(config3.region)() || (() => {
+ throw new Error("expected `region` to be configured for `aws.auth#sigv4`");
+ })()
+ };
+ }, "_defaultSTSHttpAuthSchemeParametersProvider");
+ defaultSTSHttpAuthSchemeParametersProvider = createEndpointRuleSetHttpAuthSchemeParametersProvider(_defaultSTSHttpAuthSchemeParametersProvider);
+ __name(createAwsAuthSigv4HttpAuthOption3, "createAwsAuthSigv4HttpAuthOption");
+ __name(createAwsAuthSigv4aHttpAuthOption, "createAwsAuthSigv4aHttpAuthOption");
+ __name(createSmithyApiNoAuthHttpAuthOption3, "createSmithyApiNoAuthHttpAuthOption");
+ createEndpointRuleSetHttpAuthSchemeProvider = /* @__PURE__ */ __name((defaultEndpointResolver5, defaultHttpAuthSchemeResolver, createHttpAuthOptionFunctions) => {
+ const endpointRuleSetHttpAuthSchemeProvider = /* @__PURE__ */ __name((authParameters) => {
+ const endpoint = defaultEndpointResolver5(authParameters);
+ const authSchemes = endpoint.properties?.authSchemes;
+ if (!authSchemes) {
+ return defaultHttpAuthSchemeResolver(authParameters);
+ }
+ const options = [];
+ for (const scheme of authSchemes) {
+ const { name: resolvedName, properties = {}, ...rest } = scheme;
+ const name2 = resolvedName.toLowerCase();
+ if (resolvedName !== name2) {
+ console.warn(`HttpAuthScheme has been normalized with lowercasing: '${resolvedName}' to '${name2}'`);
+ }
+ let schemeId;
+ if (name2 === "sigv4a") {
+ schemeId = "aws.auth#sigv4a";
+ const sigv4Present = authSchemes.find((s2) => {
+ const name3 = s2.name.toLowerCase();
+ return name3 !== "sigv4a" && name3.startsWith("sigv4");
+ });
+ if (import_signature_v4_multi_region2.SignatureV4MultiRegion.sigv4aDependency() === "none" && sigv4Present) {
+ continue;
+ }
+ } else if (name2.startsWith("sigv4")) {
+ schemeId = "aws.auth#sigv4";
+ } else {
+ throw new Error(`Unknown HttpAuthScheme found in '@smithy.rules#endpointRuleSet': '${name2}'`);
+ }
+ const createOption = createHttpAuthOptionFunctions[schemeId];
+ if (!createOption) {
+ throw new Error(`Could not find HttpAuthOption create function for '${schemeId}'`);
+ }
+ const option = createOption(authParameters);
+ option.schemeId = schemeId;
+ option.signingProperties = { ...option.signingProperties || {}, ...rest, ...properties };
+ options.push(option);
+ }
+ return options;
+ }, "endpointRuleSetHttpAuthSchemeProvider");
+ return endpointRuleSetHttpAuthSchemeProvider;
+ }, "createEndpointRuleSetHttpAuthSchemeProvider");
+ _defaultSTSHttpAuthSchemeProvider = /* @__PURE__ */ __name((authParameters) => {
+ const options = [];
+ switch (authParameters.operation) {
+ case "AssumeRoleWithWebIdentity": {
+ options.push(createSmithyApiNoAuthHttpAuthOption3(authParameters));
+ options.push(createAwsAuthSigv4aHttpAuthOption(authParameters));
+ break;
+ }
+ default: {
+ options.push(createAwsAuthSigv4HttpAuthOption3(authParameters));
+ options.push(createAwsAuthSigv4aHttpAuthOption(authParameters));
+ }
+ }
+ return options;
+ }, "_defaultSTSHttpAuthSchemeProvider");
+ defaultSTSHttpAuthSchemeProvider = createEndpointRuleSetHttpAuthSchemeProvider(defaultEndpointResolver3, _defaultSTSHttpAuthSchemeProvider, {
+ "aws.auth#sigv4": createAwsAuthSigv4HttpAuthOption3,
+ "aws.auth#sigv4a": createAwsAuthSigv4aHttpAuthOption,
+ "smithy.api#noAuth": createSmithyApiNoAuthHttpAuthOption3
+ });
+ resolveHttpAuthSchemeConfig3 = /* @__PURE__ */ __name((config3) => {
+ const config_0 = resolveAwsSdkSigV4Config(config3);
+ const config_1 = resolveAwsSdkSigV4AConfig(config_0);
+ return Object.assign(config_1, {
+ authSchemePreference: normalizeProvider(config3.authSchemePreference ?? [])
+ });
+ }, "resolveHttpAuthSchemeConfig");
+ }
+});
+
+// ../../node_modules/.pnpm/@aws-sdk+nested-clients@3.997.49/node_modules/@aws-sdk/nested-clients/dist-es/submodules/sts/endpoint/EndpointParameters.js
+var resolveClientEndpointParameters3, commonParams3;
+var init_EndpointParameters3 = __esm({
+ "../../node_modules/.pnpm/@aws-sdk+nested-clients@3.997.49/node_modules/@aws-sdk/nested-clients/dist-es/submodules/sts/endpoint/EndpointParameters.js"() {
+ resolveClientEndpointParameters3 = /* @__PURE__ */ __name((options) => {
+ return Object.assign(options, {
+ useDualstackEndpoint: options.useDualstackEndpoint ?? false,
+ useFipsEndpoint: options.useFipsEndpoint ?? false,
+ useGlobalEndpoint: options.useGlobalEndpoint ?? false,
+ defaultSigningName: "sts"
+ });
+ }, "resolveClientEndpointParameters");
+ commonParams3 = {
+ UseGlobalEndpoint: { type: "builtInParams", name: "useGlobalEndpoint" },
+ UseFIPS: { type: "builtInParams", name: "useFipsEndpoint" },
+ Endpoint: { type: "builtInParams", name: "endpoint" },
+ Region: { type: "builtInParams", name: "region" },
+ UseDualStack: { type: "builtInParams", name: "useDualstackEndpoint" }
+ };
+ }
+});
+
+// ../../node_modules/.pnpm/@aws-sdk+nested-clients@3.997.49/node_modules/@aws-sdk/nested-clients/dist-es/submodules/sts/models/STSServiceException.js
+var STSServiceException;
+var init_STSServiceException = __esm({
+ "../../node_modules/.pnpm/@aws-sdk+nested-clients@3.997.49/node_modules/@aws-sdk/nested-clients/dist-es/submodules/sts/models/STSServiceException.js"() {
+ init_client();
+ STSServiceException = class _STSServiceException extends ServiceException {
+ static {
+ __name(this, "STSServiceException");
+ }
+ static shapeId = "smithy.ts.sdk.synthetic.com.amazonaws.sts#STSServiceException";
+ constructor(options) {
+ super(options);
+ Object.setPrototypeOf(this, _STSServiceException.prototype);
+ }
+ };
+ }
+});
+
+// ../../node_modules/.pnpm/@aws-sdk+nested-clients@3.997.49/node_modules/@aws-sdk/nested-clients/dist-es/submodules/sts/models/errors.js
+var ExpiredTokenException2, MalformedPolicyDocumentException, PackedPolicyTooLargeException, RegionDisabledException, IDPRejectedClaimException, InvalidIdentityTokenException, IDPCommunicationErrorException;
+var init_errors3 = __esm({
+ "../../node_modules/.pnpm/@aws-sdk+nested-clients@3.997.49/node_modules/@aws-sdk/nested-clients/dist-es/submodules/sts/models/errors.js"() {
+ init_STSServiceException();
+ ExpiredTokenException2 = class _ExpiredTokenException extends STSServiceException {
+ static {
+ __name(this, "ExpiredTokenException");
+ }
+ static shapeId = "com.amazonaws.sts#ExpiredTokenException";
+ name = "ExpiredTokenException";
+ $fault = "client";
+ constructor(opts) {
+ super({
+ name: "ExpiredTokenException",
+ $fault: "client",
+ ...opts
+ });
+ Object.setPrototypeOf(this, _ExpiredTokenException.prototype);
+ }
+ };
+ MalformedPolicyDocumentException = class _MalformedPolicyDocumentException extends STSServiceException {
+ static {
+ __name(this, "MalformedPolicyDocumentException");
+ }
+ static shapeId = "com.amazonaws.sts#MalformedPolicyDocumentException";
+ name = "MalformedPolicyDocumentException";
+ $fault = "client";
+ constructor(opts) {
+ super({
+ name: "MalformedPolicyDocumentException",
+ $fault: "client",
+ ...opts
+ });
+ Object.setPrototypeOf(this, _MalformedPolicyDocumentException.prototype);
+ }
+ };
+ PackedPolicyTooLargeException = class _PackedPolicyTooLargeException extends STSServiceException {
+ static {
+ __name(this, "PackedPolicyTooLargeException");
+ }
+ static shapeId = "com.amazonaws.sts#PackedPolicyTooLargeException";
+ name = "PackedPolicyTooLargeException";
+ $fault = "client";
+ constructor(opts) {
+ super({
+ name: "PackedPolicyTooLargeException",
+ $fault: "client",
+ ...opts
+ });
+ Object.setPrototypeOf(this, _PackedPolicyTooLargeException.prototype);
+ }
+ };
+ RegionDisabledException = class _RegionDisabledException extends STSServiceException {
+ static {
+ __name(this, "RegionDisabledException");
+ }
+ static shapeId = "com.amazonaws.sts#RegionDisabledException";
+ name = "RegionDisabledException";
+ $fault = "client";
+ constructor(opts) {
+ super({
+ name: "RegionDisabledException",
+ $fault: "client",
+ ...opts
+ });
+ Object.setPrototypeOf(this, _RegionDisabledException.prototype);
+ }
+ };
+ IDPRejectedClaimException = class _IDPRejectedClaimException extends STSServiceException {
+ static {
+ __name(this, "IDPRejectedClaimException");
+ }
+ static shapeId = "com.amazonaws.sts#IDPRejectedClaimException";
+ name = "IDPRejectedClaimException";
+ $fault = "client";
+ constructor(opts) {
+ super({
+ name: "IDPRejectedClaimException",
+ $fault: "client",
+ ...opts
+ });
+ Object.setPrototypeOf(this, _IDPRejectedClaimException.prototype);
+ }
+ };
+ InvalidIdentityTokenException = class _InvalidIdentityTokenException extends STSServiceException {
+ static {
+ __name(this, "InvalidIdentityTokenException");
+ }
+ static shapeId = "com.amazonaws.sts#InvalidIdentityTokenException";
+ name = "InvalidIdentityTokenException";
+ $fault = "client";
+ constructor(opts) {
+ super({
+ name: "InvalidIdentityTokenException",
+ $fault: "client",
+ ...opts
+ });
+ Object.setPrototypeOf(this, _InvalidIdentityTokenException.prototype);
+ }
+ };
+ IDPCommunicationErrorException = class _IDPCommunicationErrorException extends STSServiceException {
+ static {
+ __name(this, "IDPCommunicationErrorException");
+ }
+ static shapeId = "com.amazonaws.sts#IDPCommunicationErrorException";
+ name = "IDPCommunicationErrorException";
+ $fault = "client";
+ $retryable = {};
+ constructor(opts) {
+ super({
+ name: "IDPCommunicationErrorException",
+ $fault: "client",
+ ...opts
+ });
+ Object.setPrototypeOf(this, _IDPCommunicationErrorException.prototype);
+ }
+ };
+ }
+});
+
+// ../../node_modules/.pnpm/@aws-sdk+nested-clients@3.997.49/node_modules/@aws-sdk/nested-clients/dist-es/submodules/sts/schemas/schemas_0.js
+var _A, _AKI, _AR, _ARI, _ARR, _ARRs, _ARU, _ARWWI, _ARWWIR, _ARWWIRs, _Au, _C, _CA, _DS, _E2, _EI, _ETE2, _IDPCEE, _IDPRCE, _IITE, _K, _MPDE, _MSTS, _P, _PA, _PAr, _PC, _PCLT, _PCr, _PDT, _PI, _PPS, _PPTLE, _Pr, _RA, _RDE, _RSN, _SAK, _SFWIT, _SI, _SN, _ST, _STS, _STU, _T, _TC, _TTK, _Ta, _V, _WIT, _a3, _aKST, _aQE, _c3, _cTT, _e3, _hE3, _m2, _pDLT, _s3, _tLT, n03, _s_registry3, STSServiceException$, n0_registry3, ExpiredTokenException$2, IDPCommunicationErrorException$, IDPRejectedClaimException$, InvalidIdentityTokenException$, MalformedPolicyDocumentException$, PackedPolicyTooLargeException$, RegionDisabledException$, errorTypeRegistries3, accessKeySecretType, clientTokenType, AssumedRoleUser$, AssumeRoleRequest$, AssumeRoleResponse$, AssumeRoleWithWebIdentityRequest$, AssumeRoleWithWebIdentityResponse$, Credentials$, PolicyDescriptorType$, ProvidedContext$, Tag$, policyDescriptorListType, ProvidedContextsListType, tagKeyListType, tagListType, AssumeRole$, AssumeRoleWithWebIdentity$;
+var init_schemas_03 = __esm({
+ "../../node_modules/.pnpm/@aws-sdk+nested-clients@3.997.49/node_modules/@aws-sdk/nested-clients/dist-es/submodules/sts/schemas/schemas_0.js"() {
+ init_schema();
+ init_errors3();
+ init_STSServiceException();
+ _A = "Arn";
+ _AKI = "AccessKeyId";
+ _AR = "AssumeRole";
+ _ARI = "AssumedRoleId";
+ _ARR = "AssumeRoleRequest";
+ _ARRs = "AssumeRoleResponse";
+ _ARU = "AssumedRoleUser";
+ _ARWWI = "AssumeRoleWithWebIdentity";
+ _ARWWIR = "AssumeRoleWithWebIdentityRequest";
+ _ARWWIRs = "AssumeRoleWithWebIdentityResponse";
+ _Au = "Audience";
+ _C = "Credentials";
+ _CA = "ContextAssertion";
+ _DS = "DurationSeconds";
+ _E2 = "Expiration";
+ _EI = "ExternalId";
+ _ETE2 = "ExpiredTokenException";
+ _IDPCEE = "IDPCommunicationErrorException";
+ _IDPRCE = "IDPRejectedClaimException";
+ _IITE = "InvalidIdentityTokenException";
+ _K = "Key";
+ _MPDE = "MalformedPolicyDocumentException";
+ _MSTS = "MinimumSessionTokenSize";
+ _P = "Policy";
+ _PA = "PolicyArns";
+ _PAr = "ProviderArn";
+ _PC = "ProvidedContexts";
+ _PCLT = "ProvidedContextsListType";
+ _PCr = "ProvidedContext";
+ _PDT = "PolicyDescriptorType";
+ _PI = "ProviderId";
+ _PPS = "PackedPolicySize";
+ _PPTLE = "PackedPolicyTooLargeException";
+ _Pr = "Provider";
+ _RA = "RoleArn";
+ _RDE = "RegionDisabledException";
+ _RSN = "RoleSessionName";
+ _SAK = "SecretAccessKey";
+ _SFWIT = "SubjectFromWebIdentityToken";
+ _SI = "SourceIdentity";
+ _SN = "SerialNumber";
+ _ST = "SessionToken";
+ _STS = "SessionTokenSize";
+ _STU = "SessionTokenUtilization";
+ _T = "Tags";
+ _TC = "TokenCode";
+ _TTK = "TransitiveTagKeys";
+ _Ta = "Tag";
+ _V = "Value";
+ _WIT = "WebIdentityToken";
+ _a3 = "arn";
+ _aKST = "accessKeySecretType";
+ _aQE = "awsQueryError";
+ _c3 = "client";
+ _cTT = "clientTokenType";
+ _e3 = "error";
+ _hE3 = "httpError";
+ _m2 = "message";
+ _pDLT = "policyDescriptorListType";
+ _s3 = "smithy.ts.sdk.synthetic.com.amazonaws.sts";
+ _tLT = "tagListType";
+ n03 = "com.amazonaws.sts";
+ _s_registry3 = new TypeRegistry(_s3);
+ STSServiceException$ = [-3, _s3, "STSServiceException", 0, [], []];
+ _s_registry3.registerError(STSServiceException$, STSServiceException);
+ n0_registry3 = new TypeRegistry(n03);
+ ExpiredTokenException$2 = [
+ -3,
+ n03,
+ _ETE2,
+ { [_aQE]: [`ExpiredTokenException`, 400], [_e3]: _c3, [_hE3]: 400 },
+ [_m2],
+ [0]
+ ];
+ n0_registry3.registerError(ExpiredTokenException$2, ExpiredTokenException2);
+ IDPCommunicationErrorException$ = [
+ -3,
+ n03,
+ _IDPCEE,
+ { [_aQE]: [`IDPCommunicationError`, 400], [_e3]: _c3, [_hE3]: 400 },
+ [_m2],
+ [0]
+ ];
+ n0_registry3.registerError(IDPCommunicationErrorException$, IDPCommunicationErrorException);
+ IDPRejectedClaimException$ = [
+ -3,
+ n03,
+ _IDPRCE,
+ { [_aQE]: [`IDPRejectedClaim`, 403], [_e3]: _c3, [_hE3]: 403 },
+ [_m2],
+ [0]
+ ];
+ n0_registry3.registerError(IDPRejectedClaimException$, IDPRejectedClaimException);
+ InvalidIdentityTokenException$ = [
+ -3,
+ n03,
+ _IITE,
+ { [_aQE]: [`InvalidIdentityToken`, 400], [_e3]: _c3, [_hE3]: 400 },
+ [_m2],
+ [0]
+ ];
+ n0_registry3.registerError(InvalidIdentityTokenException$, InvalidIdentityTokenException);
+ MalformedPolicyDocumentException$ = [
+ -3,
+ n03,
+ _MPDE,
+ { [_aQE]: [`MalformedPolicyDocument`, 400], [_e3]: _c3, [_hE3]: 400 },
+ [_m2],
+ [0]
+ ];
+ n0_registry3.registerError(MalformedPolicyDocumentException$, MalformedPolicyDocumentException);
+ PackedPolicyTooLargeException$ = [
+ -3,
+ n03,
+ _PPTLE,
+ { [_aQE]: [`PackedPolicyTooLarge`, 400], [_e3]: _c3, [_hE3]: 400 },
+ [_m2],
+ [0]
+ ];
+ n0_registry3.registerError(PackedPolicyTooLargeException$, PackedPolicyTooLargeException);
+ RegionDisabledException$ = [
+ -3,
+ n03,
+ _RDE,
+ { [_aQE]: [`RegionDisabledException`, 403], [_e3]: _c3, [_hE3]: 403 },
+ [_m2],
+ [0]
+ ];
+ n0_registry3.registerError(RegionDisabledException$, RegionDisabledException);
+ errorTypeRegistries3 = [
+ _s_registry3,
+ n0_registry3
+ ];
+ accessKeySecretType = [0, n03, _aKST, 8, 0];
+ clientTokenType = [0, n03, _cTT, 8, 0];
+ AssumedRoleUser$ = [
+ 3,
+ n03,
+ _ARU,
+ 0,
+ [_ARI, _A],
+ [0, 0],
+ 2
+ ];
+ AssumeRoleRequest$ = [
+ 3,
+ n03,
+ _ARR,
+ 0,
+ [_RA, _RSN, _PA, _P, _DS, _T, _TTK, _EI, _SN, _TC, _SI, _PC, _MSTS],
+ [0, 0, () => policyDescriptorListType, 0, 1, () => tagListType, 64 | 0, 0, 0, 0, 0, () => ProvidedContextsListType, 1],
+ 2
+ ];
+ AssumeRoleResponse$ = [
+ 3,
+ n03,
+ _ARRs,
+ 0,
+ [_C, _ARU, _PPS, _SI, _STU, _STS],
+ [[() => Credentials$, 0], () => AssumedRoleUser$, 1, 0, 1, 1]
+ ];
+ AssumeRoleWithWebIdentityRequest$ = [
+ 3,
+ n03,
+ _ARWWIR,
+ 0,
+ [_RA, _RSN, _WIT, _PI, _PA, _P, _DS, _MSTS],
+ [0, 0, [() => clientTokenType, 0], 0, () => policyDescriptorListType, 0, 1, 1],
+ 3
+ ];
+ AssumeRoleWithWebIdentityResponse$ = [
+ 3,
+ n03,
+ _ARWWIRs,
+ 0,
+ [_C, _SFWIT, _ARU, _PPS, _Pr, _Au, _SI, _STU, _STS],
+ [[() => Credentials$, 0], 0, () => AssumedRoleUser$, 1, 0, 0, 0, 1, 1]
+ ];
+ Credentials$ = [
+ 3,
+ n03,
+ _C,
+ 0,
+ [_AKI, _SAK, _ST, _E2],
+ [0, [() => accessKeySecretType, 0], 0, 4],
+ 4
+ ];
+ PolicyDescriptorType$ = [
+ 3,
+ n03,
+ _PDT,
+ 0,
+ [_a3],
+ [0]
+ ];
+ ProvidedContext$ = [
+ 3,
+ n03,
+ _PCr,
+ 0,
+ [_PAr, _CA],
+ [0, 0]
+ ];
+ Tag$ = [
+ 3,
+ n03,
+ _Ta,
+ 0,
+ [_K, _V],
+ [0, 0],
+ 2
+ ];
+ policyDescriptorListType = [
+ 1,
+ n03,
+ _pDLT,
+ 0,
+ () => PolicyDescriptorType$
+ ];
+ ProvidedContextsListType = [
+ 1,
+ n03,
+ _PCLT,
+ 0,
+ () => ProvidedContext$
+ ];
+ tagKeyListType = 64 | 0;
+ tagListType = [
+ 1,
+ n03,
+ _tLT,
+ 0,
+ () => Tag$
+ ];
+ AssumeRole$ = [
+ 9,
+ n03,
+ _AR,
+ 0,
+ () => AssumeRoleRequest$,
+ () => AssumeRoleResponse$
+ ];
+ AssumeRoleWithWebIdentity$ = [
+ 9,
+ n03,
+ _ARWWI,
+ 0,
+ () => AssumeRoleWithWebIdentityRequest$,
+ () => AssumeRoleWithWebIdentityResponse$
+ ];
+ }
+});
+
+// ../../node_modules/.pnpm/@aws-sdk+nested-clients@3.997.49/node_modules/@aws-sdk/nested-clients/dist-es/submodules/sts/runtimeConfig.shared.js
+var import_signature_v4_multi_region3, getRuntimeConfig5;
+var init_runtimeConfig_shared3 = __esm({
+ "../../node_modules/.pnpm/@aws-sdk+nested-clients@3.997.49/node_modules/@aws-sdk/nested-clients/dist-es/submodules/sts/runtimeConfig.shared.js"() {
+ init_httpAuthSchemes2();
+ init_protocols2();
+ import_signature_v4_multi_region3 = __toESM(require_dist_cjs3());
+ init_dist_es();
+ init_checksum();
+ init_client();
+ init_protocols();
+ init_serde();
+ init_httpAuthSchemeProvider3();
+ init_endpointResolver3();
+ init_schemas_03();
+ getRuntimeConfig5 = /* @__PURE__ */ __name((config3) => {
+ return {
+ apiVersion: "2011-06-15",
+ base64Decoder: config3?.base64Decoder ?? fromBase64,
+ base64Encoder: config3?.base64Encoder ?? toBase64,
+ disableHostPrefix: config3?.disableHostPrefix ?? false,
+ endpointProvider: config3?.endpointProvider ?? defaultEndpointResolver3,
+ extensions: config3?.extensions ?? [],
+ httpAuthSchemeProvider: config3?.httpAuthSchemeProvider ?? defaultSTSHttpAuthSchemeProvider,
+ httpAuthSchemes: config3?.httpAuthSchemes ?? [
+ {
+ schemeId: "aws.auth#sigv4",
+ identityProvider: /* @__PURE__ */ __name((ipc) => ipc.getIdentityProvider("aws.auth#sigv4"), "identityProvider"),
+ signer: new AwsSdkSigV4Signer()
+ },
+ {
+ schemeId: "aws.auth#sigv4a",
+ identityProvider: /* @__PURE__ */ __name((ipc) => ipc.getIdentityProvider("aws.auth#sigv4a"), "identityProvider"),
+ signer: new AwsSdkSigV4ASigner()
+ },
+ {
+ schemeId: "smithy.api#noAuth",
+ identityProvider: /* @__PURE__ */ __name((ipc) => ipc.getIdentityProvider("smithy.api#noAuth") || (async () => ({})), "identityProvider"),
+ signer: new NoAuthSigner()
+ }
+ ],
+ logger: config3?.logger ?? new NoOpLogger(),
+ protocol: config3?.protocol ?? AwsQueryProtocol,
+ protocolSettings: config3?.protocolSettings ?? {
+ defaultNamespace: "com.amazonaws.sts",
+ errorTypeRegistries: errorTypeRegistries3,
+ xmlNamespace: "https://sts.amazonaws.com/doc/2011-06-15/",
+ version: "2011-06-15",
+ serviceTarget: "AWSSecurityTokenServiceV20110615"
+ },
+ serviceId: config3?.serviceId ?? "STS",
+ sha256: config3?.sha256 ?? Sha256Node,
+ signerConstructor: config3?.signerConstructor ?? import_signature_v4_multi_region3.SignatureV4MultiRegion,
+ urlParser: config3?.urlParser ?? parseUrl,
+ utf8Decoder: config3?.utf8Decoder ?? fromUtf8,
+ utf8Encoder: config3?.utf8Encoder ?? toUtf8
+ };
+ }, "getRuntimeConfig");
+ }
+});
+
+// ../../node_modules/.pnpm/@aws-sdk+nested-clients@3.997.49/node_modules/@aws-sdk/nested-clients/dist-es/submodules/sts/runtimeConfig.js
+var import_node_http_handler3, getRuntimeConfig6;
+var init_runtimeConfig3 = __esm({
+ "../../node_modules/.pnpm/@aws-sdk+nested-clients@3.997.49/node_modules/@aws-sdk/nested-clients/dist-es/submodules/sts/runtimeConfig.js"() {
+ init_package();
+ init_client2();
+ init_httpAuthSchemes2();
+ init_dist_es();
+ init_client();
+ init_config();
+ init_retry();
+ init_serde();
+ import_node_http_handler3 = __toESM(require_dist_cjs7());
+ init_runtimeConfig_shared3();
+ getRuntimeConfig6 = /* @__PURE__ */ __name((config3) => {
+ emitWarningIfUnsupportedVersion(process.version);
+ const defaultsMode = resolveDefaultsModeConfig(config3);
+ const defaultConfigProvider = /* @__PURE__ */ __name(() => defaultsMode().then(loadConfigsForDefaultMode), "defaultConfigProvider");
+ const clientSharedValues = getRuntimeConfig5(config3);
+ emitWarningIfUnsupportedVersion2(process.version);
+ const loaderConfig = {
+ profile: config3?.profile,
+ logger: clientSharedValues.logger
+ };
+ return {
+ ...clientSharedValues,
+ ...config3,
+ runtime: "node",
+ defaultsMode,
+ authSchemePreference: config3?.authSchemePreference ?? loadConfig(NODE_AUTH_SCHEME_PREFERENCE_OPTIONS, loaderConfig),
+ bodyLengthChecker: config3?.bodyLengthChecker ?? calculateBodyLength,
+ defaultUserAgentProvider: config3?.defaultUserAgentProvider ?? createDefaultUserAgentProvider({ serviceId: clientSharedValues.serviceId, clientVersion: package_default.version }),
+ httpAuthSchemes: config3?.httpAuthSchemes ?? [
+ {
+ schemeId: "aws.auth#sigv4",
+ identityProvider: /* @__PURE__ */ __name((ipc) => ipc.getIdentityProvider("aws.auth#sigv4") || (async (idProps) => await config3.credentialDefaultProvider(idProps?.__config || {})()), "identityProvider"),
+ signer: new AwsSdkSigV4Signer()
+ },
+ {
+ schemeId: "aws.auth#sigv4a",
+ identityProvider: /* @__PURE__ */ __name((ipc) => ipc.getIdentityProvider("aws.auth#sigv4a"), "identityProvider"),
+ signer: new AwsSdkSigV4ASigner()
+ },
+ {
+ schemeId: "smithy.api#noAuth",
+ identityProvider: /* @__PURE__ */ __name((ipc) => ipc.getIdentityProvider("smithy.api#noAuth") || (async () => ({})), "identityProvider"),
+ signer: new NoAuthSigner()
+ }
+ ],
+ maxAttempts: config3?.maxAttempts ?? loadConfig(NODE_MAX_ATTEMPT_CONFIG_OPTIONS, config3),
+ region: config3?.region ?? loadConfig(NODE_REGION_CONFIG_OPTIONS, { ...NODE_REGION_CONFIG_FILE_OPTIONS, ...loaderConfig }),
+ requestHandler: import_node_http_handler3.NodeHttpHandler.create(config3?.requestHandler ?? defaultConfigProvider),
+ retryMode: config3?.retryMode ?? loadConfig({
+ ...NODE_RETRY_MODE_CONFIG_OPTIONS,
+ default: /* @__PURE__ */ __name(async () => (await defaultConfigProvider()).retryMode || DEFAULT_RETRY_MODE, "default")
+ }, config3),
+ sigv4aSigningRegionSet: config3?.sigv4aSigningRegionSet ?? loadConfig(NODE_SIGV4A_CONFIG_OPTIONS, loaderConfig),
+ streamCollector: config3?.streamCollector ?? import_node_http_handler3.streamCollector,
+ useDualstackEndpoint: config3?.useDualstackEndpoint ?? loadConfig(NODE_USE_DUALSTACK_ENDPOINT_CONFIG_OPTIONS, loaderConfig),
+ useFipsEndpoint: config3?.useFipsEndpoint ?? loadConfig(NODE_USE_FIPS_ENDPOINT_CONFIG_OPTIONS, loaderConfig),
+ userAgentAppId: config3?.userAgentAppId ?? loadConfig(NODE_APP_ID_CONFIG_OPTIONS, loaderConfig)
+ };
+ }, "getRuntimeConfig");
+ }
+});
+
+// ../../node_modules/.pnpm/@aws-sdk+nested-clients@3.997.49/node_modules/@aws-sdk/nested-clients/dist-es/submodules/sts/auth/httpAuthExtensionConfiguration.js
+var getHttpAuthExtensionConfiguration3, resolveHttpAuthRuntimeConfig3;
+var init_httpAuthExtensionConfiguration3 = __esm({
+ "../../node_modules/.pnpm/@aws-sdk+nested-clients@3.997.49/node_modules/@aws-sdk/nested-clients/dist-es/submodules/sts/auth/httpAuthExtensionConfiguration.js"() {
+ getHttpAuthExtensionConfiguration3 = /* @__PURE__ */ __name((runtimeConfig) => {
+ const _httpAuthSchemes = runtimeConfig.httpAuthSchemes;
+ let _httpAuthSchemeProvider = runtimeConfig.httpAuthSchemeProvider;
+ let _credentials = runtimeConfig.credentials;
+ return {
+ setHttpAuthScheme(httpAuthScheme) {
+ const index = _httpAuthSchemes.findIndex((scheme) => scheme.schemeId === httpAuthScheme.schemeId);
+ if (index === -1) {
+ _httpAuthSchemes.push(httpAuthScheme);
+ } else {
+ _httpAuthSchemes.splice(index, 1, httpAuthScheme);
+ }
+ },
+ httpAuthSchemes() {
+ return _httpAuthSchemes;
+ },
+ setHttpAuthSchemeProvider(httpAuthSchemeProvider) {
+ _httpAuthSchemeProvider = httpAuthSchemeProvider;
+ },
+ httpAuthSchemeProvider() {
+ return _httpAuthSchemeProvider;
+ },
+ setCredentials(credentials) {
+ _credentials = credentials;
+ },
+ credentials() {
+ return _credentials;
+ }
+ };
+ }, "getHttpAuthExtensionConfiguration");
+ resolveHttpAuthRuntimeConfig3 = /* @__PURE__ */ __name((config3) => {
+ return {
+ httpAuthSchemes: config3.httpAuthSchemes(),
+ httpAuthSchemeProvider: config3.httpAuthSchemeProvider(),
+ credentials: config3.credentials()
+ };
+ }, "resolveHttpAuthRuntimeConfig");
+ }
+});
+
+// ../../node_modules/.pnpm/@aws-sdk+nested-clients@3.997.49/node_modules/@aws-sdk/nested-clients/dist-es/submodules/sts/runtimeExtensions.js
+var resolveRuntimeExtensions3;
+var init_runtimeExtensions3 = __esm({
+ "../../node_modules/.pnpm/@aws-sdk+nested-clients@3.997.49/node_modules/@aws-sdk/nested-clients/dist-es/submodules/sts/runtimeExtensions.js"() {
+ init_client2();
+ init_client();
+ init_protocols();
+ init_httpAuthExtensionConfiguration3();
+ resolveRuntimeExtensions3 = /* @__PURE__ */ __name((runtimeConfig, extensions) => {
+ const extensionConfiguration = Object.assign(getAwsRegionExtensionConfiguration(runtimeConfig), getDefaultExtensionConfiguration(runtimeConfig), getHttpHandlerExtensionConfiguration(runtimeConfig), getHttpAuthExtensionConfiguration3(runtimeConfig));
+ extensions.forEach((extension) => extension.configure(extensionConfiguration));
+ return Object.assign(runtimeConfig, resolveAwsRegionExtensionConfiguration(extensionConfiguration), resolveDefaultRuntimeConfig(extensionConfiguration), resolveHttpHandlerRuntimeConfig(extensionConfiguration), resolveHttpAuthRuntimeConfig3(extensionConfiguration));
+ }, "resolveRuntimeExtensions");
+ }
+});
+
+// ../../node_modules/.pnpm/@aws-sdk+nested-clients@3.997.49/node_modules/@aws-sdk/nested-clients/dist-es/submodules/sts/STSClient.js
+var STSClient;
+var init_STSClient = __esm({
+ "../../node_modules/.pnpm/@aws-sdk+nested-clients@3.997.49/node_modules/@aws-sdk/nested-clients/dist-es/submodules/sts/STSClient.js"() {
+ init_client2();
+ init_dist_es();
+ init_client();
+ init_config();
+ init_endpoints();
+ init_protocols();
+ init_retry();
+ init_schema();
+ init_httpAuthSchemeProvider3();
+ init_EndpointParameters3();
+ init_runtimeConfig3();
+ init_runtimeExtensions3();
+ STSClient = class extends Client {
+ static {
+ __name(this, "STSClient");
+ }
+ config;
+ constructor(...[configuration]) {
+ const _config_0 = getRuntimeConfig6(configuration || {});
+ super(_config_0);
+ this.initConfig = _config_0;
+ const _config_1 = resolveClientEndpointParameters3(_config_0);
+ const _config_2 = resolveUserAgentConfig(_config_1);
+ const _config_3 = resolveRetryConfig(_config_2);
+ const _config_4 = resolveRegionConfig(_config_3);
+ const _config_5 = resolveHostHeaderConfig(_config_4);
+ const _config_6 = resolveEndpointConfig(_config_5);
+ const _config_7 = resolveHttpAuthSchemeConfig3(_config_6);
+ const _config_8 = resolveRuntimeExtensions3(_config_7, configuration?.extensions || []);
+ this.config = _config_8;
+ this.middlewareStack.use(getSchemaSerdePlugin(this.config));
+ this.middlewareStack.use(getUserAgentPlugin(this.config));
+ this.middlewareStack.use(getRetryPlugin(this.config));
+ this.middlewareStack.use(getContentLengthPlugin(this.config));
+ this.middlewareStack.use(getHostHeaderPlugin(this.config));
+ this.middlewareStack.use(getLoggerPlugin(this.config));
+ this.middlewareStack.use(getRecursionDetectionPlugin(this.config));
+ this.middlewareStack.use(getHttpAuthSchemeEndpointRuleSetPlugin(this.config, {
+ httpAuthSchemeParametersProvider: defaultSTSHttpAuthSchemeParametersProvider,
+ identityProviderConfigProvider: /* @__PURE__ */ __name(async (config3) => new DefaultIdentityProviderConfig({
+ "aws.auth#sigv4": config3.credentials,
+ "aws.auth#sigv4a": config3.credentials
+ }), "identityProviderConfigProvider")
+ }));
+ this.middlewareStack.use(getHttpSigningPlugin(this.config));
+ }
+ destroy() {
+ super.destroy();
+ }
+ };
+ }
+});
+
+// ../../node_modules/.pnpm/@aws-sdk+nested-clients@3.997.49/node_modules/@aws-sdk/nested-clients/dist-es/submodules/sts/commandBuilder.js
+var command3, _ep03, _mw03;
+var init_commandBuilder3 = __esm({
+ "../../node_modules/.pnpm/@aws-sdk+nested-clients@3.997.49/node_modules/@aws-sdk/nested-clients/dist-es/submodules/sts/commandBuilder.js"() {
+ init_client();
+ init_endpoints();
+ init_EndpointParameters3();
+ command3 = makeBuilder(commonParams3, "AWSSecurityTokenServiceV20110615", "STSClient", getEndpointPlugin);
+ _ep03 = {};
+ _mw03 = /* @__PURE__ */ __name((Command2, cs, config3, o3) => [], "_mw0");
+ }
+});
+
+// ../../node_modules/.pnpm/@aws-sdk+nested-clients@3.997.49/node_modules/@aws-sdk/nested-clients/dist-es/submodules/sts/commands/AssumeRoleCommand.js
+var AssumeRoleCommand;
+var init_AssumeRoleCommand = __esm({
+ "../../node_modules/.pnpm/@aws-sdk+nested-clients@3.997.49/node_modules/@aws-sdk/nested-clients/dist-es/submodules/sts/commands/AssumeRoleCommand.js"() {
+ init_commandBuilder3();
+ init_schemas_03();
+ AssumeRoleCommand = class extends command3(_ep03, _mw03, "AssumeRole", AssumeRole$) {
+ static {
+ __name(this, "AssumeRoleCommand");
+ }
+ };
+ }
+});
+
+// ../../node_modules/.pnpm/@aws-sdk+nested-clients@3.997.49/node_modules/@aws-sdk/nested-clients/dist-es/submodules/sts/commands/AssumeRoleWithWebIdentityCommand.js
+var AssumeRoleWithWebIdentityCommand;
+var init_AssumeRoleWithWebIdentityCommand = __esm({
+ "../../node_modules/.pnpm/@aws-sdk+nested-clients@3.997.49/node_modules/@aws-sdk/nested-clients/dist-es/submodules/sts/commands/AssumeRoleWithWebIdentityCommand.js"() {
+ init_commandBuilder3();
+ init_schemas_03();
+ AssumeRoleWithWebIdentityCommand = class extends command3(_ep03, _mw03, "AssumeRoleWithWebIdentity", AssumeRoleWithWebIdentity$) {
+ static {
+ __name(this, "AssumeRoleWithWebIdentityCommand");
+ }
+ };
+ }
+});
+
+// ../../node_modules/.pnpm/@aws-sdk+nested-clients@3.997.49/node_modules/@aws-sdk/nested-clients/dist-es/submodules/sts/STS.js
+var commands3, STS;
+var init_STS = __esm({
+ "../../node_modules/.pnpm/@aws-sdk+nested-clients@3.997.49/node_modules/@aws-sdk/nested-clients/dist-es/submodules/sts/STS.js"() {
+ init_client();
+ init_AssumeRoleCommand();
+ init_AssumeRoleWithWebIdentityCommand();
+ init_STSClient();
+ commands3 = {
+ AssumeRoleCommand,
+ AssumeRoleWithWebIdentityCommand
+ };
+ STS = class extends STSClient {
+ static {
+ __name(this, "STS");
+ }
+ };
+ createAggregatedClient(commands3, STS);
+ }
+});
+
+// ../../node_modules/.pnpm/@aws-sdk+nested-clients@3.997.49/node_modules/@aws-sdk/nested-clients/dist-es/submodules/sts/commands/index.js
+var init_commands3 = __esm({
+ "../../node_modules/.pnpm/@aws-sdk+nested-clients@3.997.49/node_modules/@aws-sdk/nested-clients/dist-es/submodules/sts/commands/index.js"() {
+ init_AssumeRoleCommand();
+ init_AssumeRoleWithWebIdentityCommand();
+ }
+});
+
+// ../../node_modules/.pnpm/@aws-sdk+nested-clients@3.997.49/node_modules/@aws-sdk/nested-clients/dist-es/submodules/sts/models/models_0.js
+var init_models_03 = __esm({
+ "../../node_modules/.pnpm/@aws-sdk+nested-clients@3.997.49/node_modules/@aws-sdk/nested-clients/dist-es/submodules/sts/models/models_0.js"() {
+ }
+});
+
+// ../../node_modules/.pnpm/@aws-sdk+nested-clients@3.997.49/node_modules/@aws-sdk/nested-clients/dist-es/submodules/sts/defaultStsRoleAssumers.js
+var getAccountIdFromAssumedRoleUser, resolveRegion, getDefaultRoleAssumer, getDefaultRoleAssumerWithWebIdentity, isH2;
+var init_defaultStsRoleAssumers = __esm({
+ "../../node_modules/.pnpm/@aws-sdk+nested-clients@3.997.49/node_modules/@aws-sdk/nested-clients/dist-es/submodules/sts/defaultStsRoleAssumers.js"() {
+ init_client2();
+ init_AssumeRoleCommand();
+ init_AssumeRoleWithWebIdentityCommand();
+ getAccountIdFromAssumedRoleUser = /* @__PURE__ */ __name((assumedRoleUser) => {
+ if (typeof assumedRoleUser?.Arn === "string") {
+ const arnComponents = assumedRoleUser.Arn.split(":");
+ if (arnComponents.length > 4 && arnComponents[4] !== "") {
+ return arnComponents[4];
+ }
+ }
+ return void 0;
+ }, "getAccountIdFromAssumedRoleUser");
+ resolveRegion = /* @__PURE__ */ __name(async (_region, _parentRegion, credentialProviderLogger, loaderConfig = {}) => {
+ const region = typeof _region === "function" ? await _region() : _region;
+ const parentRegion = typeof _parentRegion === "function" ? await _parentRegion() : _parentRegion;
+ let stsDefaultRegion = "";
+ const resolvedRegion = region ?? parentRegion ?? (stsDefaultRegion = await stsRegionDefaultResolver(loaderConfig)());
+ credentialProviderLogger?.debug?.("@aws-sdk/client-sts::resolveRegion", "accepting first of:", `${region} (credential provider clientConfig)`, `${parentRegion} (contextual client)`, `${stsDefaultRegion} (STS default: AWS_REGION, profile region, or us-east-1)`);
+ return resolvedRegion;
+ }, "resolveRegion");
+ getDefaultRoleAssumer = /* @__PURE__ */ __name((stsOptions, STSClient2) => {
+ let stsClient;
+ let closureSourceCreds;
+ return async (sourceCreds, params) => {
+ closureSourceCreds = sourceCreds;
+ if (!stsClient) {
+ const { logger = stsOptions?.parentClientConfig?.logger, profile = stsOptions?.parentClientConfig?.profile, region, requestHandler = stsOptions?.parentClientConfig?.requestHandler, credentialProviderLogger, userAgentAppId = stsOptions?.parentClientConfig?.userAgentAppId } = stsOptions;
+ const resolvedRegion = await resolveRegion(region, stsOptions?.parentClientConfig?.region, credentialProviderLogger, {
+ logger,
+ profile
+ });
+ const isCompatibleRequestHandler = !isH2(requestHandler);
+ stsClient = new STSClient2({
+ ...stsOptions,
+ userAgentAppId,
+ profile,
+ credentialDefaultProvider: /* @__PURE__ */ __name(() => async () => closureSourceCreds, "credentialDefaultProvider"),
+ region: resolvedRegion,
+ requestHandler: isCompatibleRequestHandler ? requestHandler : void 0,
+ logger
+ });
+ }
+ const { Credentials, AssumedRoleUser } = await stsClient.send(new AssumeRoleCommand(params));
+ if (!Credentials || !Credentials.AccessKeyId || !Credentials.SecretAccessKey) {
+ throw new Error(`Invalid response from STS.assumeRole call with role ${params.RoleArn}`);
+ }
+ const accountId = getAccountIdFromAssumedRoleUser(AssumedRoleUser);
+ const credentials = {
+ accessKeyId: Credentials.AccessKeyId,
+ secretAccessKey: Credentials.SecretAccessKey,
+ sessionToken: Credentials.SessionToken,
+ expiration: Credentials.Expiration,
+ ...Credentials.CredentialScope && { credentialScope: Credentials.CredentialScope },
+ ...accountId && { accountId }
+ };
+ setCredentialFeature(credentials, "CREDENTIALS_STS_ASSUME_ROLE", "i");
+ return credentials;
+ };
+ }, "getDefaultRoleAssumer");
+ getDefaultRoleAssumerWithWebIdentity = /* @__PURE__ */ __name((stsOptions, STSClient2) => {
+ let stsClient;
+ return async (params) => {
+ if (!stsClient) {
+ const { logger = stsOptions?.parentClientConfig?.logger, profile = stsOptions?.parentClientConfig?.profile, region, requestHandler = stsOptions?.parentClientConfig?.requestHandler, credentialProviderLogger, userAgentAppId = stsOptions?.parentClientConfig?.userAgentAppId } = stsOptions;
+ const resolvedRegion = await resolveRegion(region, stsOptions?.parentClientConfig?.region, credentialProviderLogger, {
+ logger,
+ profile
+ });
+ const isCompatibleRequestHandler = !isH2(requestHandler);
+ stsClient = new STSClient2({
+ ...stsOptions,
+ userAgentAppId,
+ profile,
+ region: resolvedRegion,
+ requestHandler: isCompatibleRequestHandler ? requestHandler : void 0,
+ logger
+ });
+ }
+ const { Credentials, AssumedRoleUser } = await stsClient.send(new AssumeRoleWithWebIdentityCommand(params));
+ if (!Credentials || !Credentials.AccessKeyId || !Credentials.SecretAccessKey) {
+ throw new Error(`Invalid response from STS.assumeRoleWithWebIdentity call with role ${params.RoleArn}`);
+ }
+ const accountId = getAccountIdFromAssumedRoleUser(AssumedRoleUser);
+ const credentials = {
+ accessKeyId: Credentials.AccessKeyId,
+ secretAccessKey: Credentials.SecretAccessKey,
+ sessionToken: Credentials.SessionToken,
+ expiration: Credentials.Expiration,
+ ...Credentials.CredentialScope && { credentialScope: Credentials.CredentialScope },
+ ...accountId && { accountId }
+ };
+ if (accountId) {
+ setCredentialFeature(credentials, "RESOLVED_ACCOUNT_ID", "T");
+ }
+ setCredentialFeature(credentials, "CREDENTIALS_STS_ASSUME_ROLE_WEB_ID", "k");
+ return credentials;
+ };
+ }, "getDefaultRoleAssumerWithWebIdentity");
+ isH2 = /* @__PURE__ */ __name((requestHandler) => {
+ return requestHandler?.metadata?.handlerProtocol === "h2";
+ }, "isH2");
+ }
+});
+
+// ../../node_modules/.pnpm/@aws-sdk+nested-clients@3.997.49/node_modules/@aws-sdk/nested-clients/dist-es/submodules/sts/defaultRoleAssumers.js
+var getCustomizableStsClientCtor, getDefaultRoleAssumer2, getDefaultRoleAssumerWithWebIdentity2, decorateDefaultCredentialProvider;
+var init_defaultRoleAssumers = __esm({
+ "../../node_modules/.pnpm/@aws-sdk+nested-clients@3.997.49/node_modules/@aws-sdk/nested-clients/dist-es/submodules/sts/defaultRoleAssumers.js"() {
+ init_defaultStsRoleAssumers();
+ init_STSClient();
+ getCustomizableStsClientCtor = /* @__PURE__ */ __name((baseCtor, customizations) => {
+ if (!customizations)
+ return baseCtor;
+ else
+ return class CustomizableSTSClient extends baseCtor {
+ static {
+ __name(this, "CustomizableSTSClient");
+ }
+ constructor(config3) {
+ super(config3);
+ for (const customization of customizations) {
+ this.middlewareStack.use(customization);
+ }
+ }
+ };
+ }, "getCustomizableStsClientCtor");
+ getDefaultRoleAssumer2 = /* @__PURE__ */ __name((stsOptions = {}, stsPlugins) => getDefaultRoleAssumer(stsOptions, getCustomizableStsClientCtor(STSClient, stsPlugins)), "getDefaultRoleAssumer");
+ getDefaultRoleAssumerWithWebIdentity2 = /* @__PURE__ */ __name((stsOptions = {}, stsPlugins) => getDefaultRoleAssumerWithWebIdentity(stsOptions, getCustomizableStsClientCtor(STSClient, stsPlugins)), "getDefaultRoleAssumerWithWebIdentity");
+ decorateDefaultCredentialProvider = /* @__PURE__ */ __name((provider) => (input2) => provider({
+ roleAssumer: getDefaultRoleAssumer2(input2),
+ roleAssumerWithWebIdentity: getDefaultRoleAssumerWithWebIdentity2(input2),
+ ...input2
+ }), "decorateDefaultCredentialProvider");
+ }
+});
+
+// ../../node_modules/.pnpm/@aws-sdk+nested-clients@3.997.49/node_modules/@aws-sdk/nested-clients/dist-es/submodules/sts/index.js
+var sts_exports = {};
+__export(sts_exports, {
+ $Command: () => Command,
+ AssumeRole$: () => AssumeRole$,
+ AssumeRoleCommand: () => AssumeRoleCommand,
+ AssumeRoleRequest$: () => AssumeRoleRequest$,
+ AssumeRoleResponse$: () => AssumeRoleResponse$,
+ AssumeRoleWithWebIdentity$: () => AssumeRoleWithWebIdentity$,
+ AssumeRoleWithWebIdentityCommand: () => AssumeRoleWithWebIdentityCommand,
+ AssumeRoleWithWebIdentityRequest$: () => AssumeRoleWithWebIdentityRequest$,
+ AssumeRoleWithWebIdentityResponse$: () => AssumeRoleWithWebIdentityResponse$,
+ AssumedRoleUser$: () => AssumedRoleUser$,
+ Credentials$: () => Credentials$,
+ ExpiredTokenException: () => ExpiredTokenException2,
+ ExpiredTokenException$: () => ExpiredTokenException$2,
+ IDPCommunicationErrorException: () => IDPCommunicationErrorException,
+ IDPCommunicationErrorException$: () => IDPCommunicationErrorException$,
+ IDPRejectedClaimException: () => IDPRejectedClaimException,
+ IDPRejectedClaimException$: () => IDPRejectedClaimException$,
+ InvalidIdentityTokenException: () => InvalidIdentityTokenException,
+ InvalidIdentityTokenException$: () => InvalidIdentityTokenException$,
+ MalformedPolicyDocumentException: () => MalformedPolicyDocumentException,
+ MalformedPolicyDocumentException$: () => MalformedPolicyDocumentException$,
+ PackedPolicyTooLargeException: () => PackedPolicyTooLargeException,
+ PackedPolicyTooLargeException$: () => PackedPolicyTooLargeException$,
+ PolicyDescriptorType$: () => PolicyDescriptorType$,
+ ProvidedContext$: () => ProvidedContext$,
+ RegionDisabledException: () => RegionDisabledException,
+ RegionDisabledException$: () => RegionDisabledException$,
+ STS: () => STS,
+ STSClient: () => STSClient,
+ STSServiceException: () => STSServiceException,
+ STSServiceException$: () => STSServiceException$,
+ Tag$: () => Tag$,
+ __Client: () => Client,
+ decorateDefaultCredentialProvider: () => decorateDefaultCredentialProvider,
+ errorTypeRegistries: () => errorTypeRegistries3,
+ getDefaultRoleAssumer: () => getDefaultRoleAssumer2,
+ getDefaultRoleAssumerWithWebIdentity: () => getDefaultRoleAssumerWithWebIdentity2
+});
+var init_sts = __esm({
+ "../../node_modules/.pnpm/@aws-sdk+nested-clients@3.997.49/node_modules/@aws-sdk/nested-clients/dist-es/submodules/sts/index.js"() {
+ init_STSClient();
+ init_STS();
+ init_commands3();
+ init_client();
+ init_schemas_03();
+ init_errors3();
+ init_models_03();
+ init_defaultRoleAssumers();
+ init_STSServiceException();
+ }
+});
+
+// ../../node_modules/.pnpm/@aws-sdk+nested-clients@3.997.49/node_modules/@aws-sdk/nested-clients/dist-es/submodules/signin/auth/httpAuthSchemeProvider.js
+function createAwsAuthSigv4HttpAuthOption4(authParameters) {
+ return {
+ schemeId: "aws.auth#sigv4",
+ signingProperties: {
+ name: "signin",
+ region: authParameters.region
+ },
+ propertiesExtractor: /* @__PURE__ */ __name((config3, context) => ({
+ signingProperties: {
+ config: config3,
+ context
+ }
+ }), "propertiesExtractor")
+ };
+}
+function createSmithyApiNoAuthHttpAuthOption4(authParameters) {
+ return {
+ schemeId: "smithy.api#noAuth"
+ };
+}
+var defaultSigninHttpAuthSchemeParametersProvider, defaultSigninHttpAuthSchemeProvider, resolveHttpAuthSchemeConfig4;
+var init_httpAuthSchemeProvider4 = __esm({
+ "../../node_modules/.pnpm/@aws-sdk+nested-clients@3.997.49/node_modules/@aws-sdk/nested-clients/dist-es/submodules/signin/auth/httpAuthSchemeProvider.js"() {
+ init_httpAuthSchemes2();
+ init_client();
+ defaultSigninHttpAuthSchemeParametersProvider = /* @__PURE__ */ __name(async (config3, context, input2) => {
+ return {
+ operation: getSmithyContext(context).operation,
+ region: await normalizeProvider(config3.region)() || (() => {
+ throw new Error("expected `region` to be configured for `aws.auth#sigv4`");
+ })()
+ };
+ }, "defaultSigninHttpAuthSchemeParametersProvider");
+ __name(createAwsAuthSigv4HttpAuthOption4, "createAwsAuthSigv4HttpAuthOption");
+ __name(createSmithyApiNoAuthHttpAuthOption4, "createSmithyApiNoAuthHttpAuthOption");
+ defaultSigninHttpAuthSchemeProvider = /* @__PURE__ */ __name((authParameters) => {
+ const options = [];
+ switch (authParameters.operation) {
+ case "CreateOAuth2Token":
+ {
+ options.push(createSmithyApiNoAuthHttpAuthOption4(authParameters));
+ break;
+ }
+ ;
+ default: {
+ options.push(createAwsAuthSigv4HttpAuthOption4(authParameters));
+ }
+ }
+ return options;
+ }, "defaultSigninHttpAuthSchemeProvider");
+ resolveHttpAuthSchemeConfig4 = /* @__PURE__ */ __name((config3) => {
+ const config_0 = resolveAwsSdkSigV4Config(config3);
+ return Object.assign(config_0, {
+ authSchemePreference: normalizeProvider(config3.authSchemePreference ?? [])
+ });
+ }, "resolveHttpAuthSchemeConfig");
+ }
+});
+
+// ../../node_modules/.pnpm/@aws-sdk+nested-clients@3.997.49/node_modules/@aws-sdk/nested-clients/dist-es/submodules/signin/endpoint/EndpointParameters.js
+var resolveClientEndpointParameters4, commonParams4;
+var init_EndpointParameters4 = __esm({
+ "../../node_modules/.pnpm/@aws-sdk+nested-clients@3.997.49/node_modules/@aws-sdk/nested-clients/dist-es/submodules/signin/endpoint/EndpointParameters.js"() {
+ resolveClientEndpointParameters4 = /* @__PURE__ */ __name((options) => {
+ return Object.assign(options, {
+ useDualstackEndpoint: options.useDualstackEndpoint ?? false,
+ useFipsEndpoint: options.useFipsEndpoint ?? false,
+ defaultSigningName: "signin"
+ });
+ }, "resolveClientEndpointParameters");
+ commonParams4 = {
+ UseFIPS: { type: "builtInParams", name: "useFipsEndpoint" },
+ Endpoint: { type: "builtInParams", name: "endpoint" },
+ Region: { type: "builtInParams", name: "region" },
+ UseDualStack: { type: "builtInParams", name: "useDualstackEndpoint" }
+ };
+ }
+});
+
+// ../../node_modules/.pnpm/@aws-sdk+nested-clients@3.997.49/node_modules/@aws-sdk/nested-clients/dist-es/submodules/signin/endpoint/bdd.js
+var s, a4, b4, c4, d4, e4, f4, g4, h4, i4, j4, k4, l2, m2, n2, o2, p2, q2, _data4, root4, r4, nodes4, bdd4;
+var init_bdd4 = __esm({
+ "../../node_modules/.pnpm/@aws-sdk+nested-clients@3.997.49/node_modules/@aws-sdk/nested-clients/dist-es/submodules/signin/endpoint/bdd.js"() {
+ init_endpoints();
+ s = "ref";
+ a4 = -1;
+ b4 = false;
+ c4 = true;
+ d4 = "isSet";
+ e4 = "booleanEquals";
+ f4 = "coalesce";
+ g4 = "PartitionResult";
+ h4 = "stringEquals";
+ i4 = "getAttr";
+ j4 = "https://signin.{Region}.{PartitionResult#dualStackDnsSuffix}";
+ k4 = { [s]: "Endpoint" };
+ l2 = { "fn": i4, "argv": [{ [s]: g4 }, "name"] };
+ m2 = { [s]: "Region" };
+ n2 = { [s]: g4 };
+ o2 = { "authSchemes": [{ "name": "sigv4", "signingName": "signin", "signingRegion": "{Region}" }] };
+ p2 = {};
+ q2 = [m2];
+ _data4 = {
+ conditions: [
+ [d4, q2],
+ [e4, [{ fn: f4, argv: [{ [s]: "IsControlPlane" }, b4] }, c4]],
+ [d4, [k4]],
+ ["aws.partition", q2, g4],
+ [e4, [{ [s]: "UseFIPS" }, c4]],
+ [h4, [l2, "aws"]],
+ [e4, [{ fn: f4, argv: [{ [s]: "IsOAuthEndpoint" }, b4] }, c4]],
+ [e4, [{ [s]: "UseDualStack" }, c4]],
+ [h4, [l2, "aws-cn"]],
+ [h4, [m2, "us-gov-west-1"]],
+ [h4, [l2, "aws-us-gov"]],
+ [e4, [{ fn: i4, argv: [n2, "supportsFIPS"] }, c4]],
+ [h4, [l2, "aws-iso"]],
+ [h4, [l2, "aws-iso-b"]],
+ [h4, [l2, "aws-iso-f"]],
+ [h4, [l2, "aws-iso-e"]],
+ [h4, [l2, "aws-eusc"]],
+ [e4, [{ fn: i4, argv: [n2, "supportsDualStack"] }, c4]]
+ ],
+ results: [
+ [a4],
+ ["https://signin.{Region}.api.aws", o2],
+ ["https://signin.{Region}.api.amazonwebservices.com.cn", o2],
+ [j4, o2],
+ [a4, "FIPS endpoints are not supported for OAuth operations. Disable FIPS or use a non-OAuth operation."],
+ ["https://{Region}.oauth.signin.aws", o2],
+ ["https://{Region}.signin.aws.amazon.com", p2],
+ ["https://{Region}.signin.amazonaws.cn", p2],
+ ["https://{Region}.signin.amazonaws-us-gov.com", p2],
+ ["https://{Region}.signin.c2shome.ic.gov", p2],
+ ["https://{Region}.signin.sc2shome.sgov.gov", p2],
+ ["https://{Region}.signin.csphome.hci.ic.gov", p2],
+ ["https://{Region}.signin.csphome.adc-e.uk", p2],
+ ["https://{Region}.signin.amazonaws-eusc.eu", p2],
+ ["https://signin-fips.amazonaws-us-gov.com", p2],
+ ["https://{Region}.signin-fips.amazonaws-us-gov.com", p2],
+ ["https://{Region}.signin.{PartitionResult#dnsSuffix}", p2],
+ [a4, "Invalid Configuration: FIPS and custom endpoint are not supported"],
+ [a4, "Invalid Configuration: Dualstack and custom endpoint are not supported"],
+ [k4, p2],
+ ["https://signin-fips.{Region}.{PartitionResult#dualStackDnsSuffix}", p2],
+ [a4, "FIPS and DualStack are enabled, but this partition does not support one or both"],
+ ["https://signin-fips.{Region}.{PartitionResult#dnsSuffix}", p2],
+ [a4, "FIPS is enabled but this partition does not support FIPS"],
+ [j4, p2],
+ [a4, "DualStack is enabled but this partition does not support DualStack"],
+ ["https://signin.{Region}.{PartitionResult#dnsSuffix}", p2],
+ [a4, "Invalid Configuration: Missing Region"]
+ ]
+ };
+ root4 = 2;
+ r4 = 1e8;
+ nodes4 = new Int32Array([
+ -1,
+ 1,
+ -1,
+ 0,
+ 6,
+ 3,
+ 2,
+ 36,
+ 4,
+ 4,
+ 5,
+ r4 + 27,
+ 6,
+ r4 + 4,
+ r4 + 27,
+ 1,
+ 29,
+ 7,
+ 2,
+ 36,
+ 8,
+ 3,
+ 9,
+ 31,
+ 4,
+ 22,
+ 10,
+ 5,
+ 19,
+ 11,
+ 7,
+ 21,
+ 12,
+ 8,
+ r4 + 7,
+ 13,
+ 10,
+ r4 + 8,
+ 14,
+ 12,
+ r4 + 9,
+ 15,
+ 13,
+ r4 + 10,
+ 16,
+ 14,
+ r4 + 11,
+ 17,
+ 15,
+ r4 + 12,
+ 18,
+ 16,
+ r4 + 13,
+ r4 + 16,
+ 6,
+ r4 + 5,
+ 20,
+ 7,
+ 21,
+ r4 + 6,
+ 17,
+ r4 + 24,
+ r4 + 25,
+ 6,
+ r4 + 4,
+ 23,
+ 7,
+ 27,
+ 24,
+ 9,
+ r4 + 14,
+ 25,
+ 10,
+ r4 + 15,
+ 26,
+ 11,
+ r4 + 22,
+ r4 + 23,
+ 11,
+ 28,
+ r4 + 21,
+ 17,
+ r4 + 20,
+ r4 + 21,
+ 2,
+ 35,
+ 30,
+ 3,
+ 39,
+ 31,
+ 4,
+ 32,
+ r4 + 27,
+ 6,
+ r4 + 4,
+ 33,
+ 7,
+ r4 + 27,
+ 34,
+ 9,
+ r4 + 14,
+ r4 + 27,
+ 3,
+ 39,
+ 36,
+ 4,
+ 38,
+ 37,
+ 7,
+ r4 + 18,
+ r4 + 19,
+ 6,
+ r4 + 4,
+ r4 + 17,
+ 5,
+ r4 + 1,
+ 40,
+ 8,
+ r4 + 2,
+ r4 + 3
+ ]);
+ bdd4 = BinaryDecisionDiagram.from(nodes4, root4, _data4.conditions, _data4.results);
+ }
+});
+
+// ../../node_modules/.pnpm/@aws-sdk+nested-clients@3.997.49/node_modules/@aws-sdk/nested-clients/dist-es/submodules/signin/endpoint/endpointResolver.js
+var cache4, defaultEndpointResolver4;
+var init_endpointResolver4 = __esm({
+ "../../node_modules/.pnpm/@aws-sdk+nested-clients@3.997.49/node_modules/@aws-sdk/nested-clients/dist-es/submodules/signin/endpoint/endpointResolver.js"() {
+ init_client2();
+ init_endpoints();
+ init_bdd4();
+ cache4 = new EndpointCache({
+ size: 50,
+ params: ["Endpoint", "IsControlPlane", "IsOAuthEndpoint", "Region", "UseDualStack", "UseFIPS"]
+ });
+ defaultEndpointResolver4 = /* @__PURE__ */ __name((endpointParams, context = {}) => {
+ return cache4.get(endpointParams, () => decideEndpoint(bdd4, {
+ endpointParams,
+ logger: context.logger
+ }));
+ }, "defaultEndpointResolver");
+ customEndpointFunctions.aws = awsEndpointFunctions;
+ }
+});
+
+// ../../node_modules/.pnpm/@aws-sdk+nested-clients@3.997.49/node_modules/@aws-sdk/nested-clients/dist-es/submodules/signin/models/SigninServiceException.js
+var SigninServiceException;
+var init_SigninServiceException = __esm({
+ "../../node_modules/.pnpm/@aws-sdk+nested-clients@3.997.49/node_modules/@aws-sdk/nested-clients/dist-es/submodules/signin/models/SigninServiceException.js"() {
+ init_client();
+ SigninServiceException = class _SigninServiceException extends ServiceException {
+ static {
+ __name(this, "SigninServiceException");
+ }
+ static shapeId = "smithy.ts.sdk.synthetic.com.amazonaws.signin#SigninServiceException";
+ constructor(options) {
+ super(options);
+ Object.setPrototypeOf(this, _SigninServiceException.prototype);
+ }
+ };
+ }
+});
+
+// ../../node_modules/.pnpm/@aws-sdk+nested-clients@3.997.49/node_modules/@aws-sdk/nested-clients/dist-es/submodules/signin/models/errors.js
+var AccessDeniedException2, InternalServerException2, TooManyRequestsError, ValidationException;
+var init_errors4 = __esm({
+ "../../node_modules/.pnpm/@aws-sdk+nested-clients@3.997.49/node_modules/@aws-sdk/nested-clients/dist-es/submodules/signin/models/errors.js"() {
+ init_SigninServiceException();
+ AccessDeniedException2 = class _AccessDeniedException extends SigninServiceException {
+ static {
+ __name(this, "AccessDeniedException");
+ }
+ static shapeId = "com.amazonaws.signin#AccessDeniedException";
+ name = "AccessDeniedException";
+ $fault = "client";
+ error;
+ constructor(opts) {
+ super({
+ name: "AccessDeniedException",
+ $fault: "client",
+ ...opts
+ });
+ Object.setPrototypeOf(this, _AccessDeniedException.prototype);
+ this.error = opts.error;
+ }
+ };
+ InternalServerException2 = class _InternalServerException extends SigninServiceException {
+ static {
+ __name(this, "InternalServerException");
+ }
+ static shapeId = "com.amazonaws.signin#InternalServerException";
+ name = "InternalServerException";
+ $fault = "server";
+ error;
+ constructor(opts) {
+ super({
+ name: "InternalServerException",
+ $fault: "server",
+ ...opts
+ });
+ Object.setPrototypeOf(this, _InternalServerException.prototype);
+ this.error = opts.error;
+ }
+ };
+ TooManyRequestsError = class _TooManyRequestsError extends SigninServiceException {
+ static {
+ __name(this, "TooManyRequestsError");
+ }
+ static shapeId = "com.amazonaws.signin#TooManyRequestsError";
+ name = "TooManyRequestsError";
+ $fault = "client";
+ error;
+ constructor(opts) {
+ super({
+ name: "TooManyRequestsError",
+ $fault: "client",
+ ...opts
+ });
+ Object.setPrototypeOf(this, _TooManyRequestsError.prototype);
+ this.error = opts.error;
+ }
+ };
+ ValidationException = class _ValidationException extends SigninServiceException {
+ static {
+ __name(this, "ValidationException");
+ }
+ static shapeId = "com.amazonaws.signin#ValidationException";
+ name = "ValidationException";
+ $fault = "client";
+ error;
+ constructor(opts) {
+ super({
+ name: "ValidationException",
+ $fault: "client",
+ ...opts
+ });
+ Object.setPrototypeOf(this, _ValidationException.prototype);
+ this.error = opts.error;
+ }
+ };
+ }
+});
+
+// ../../node_modules/.pnpm/@aws-sdk+nested-clients@3.997.49/node_modules/@aws-sdk/nested-clients/dist-es/submodules/signin/schemas/schemas_0.js
+var _ADE2, _AT2, _COAT, _COATR, _COATRB, _COATRBr, _COATRr, _COATWIAM, _COATWIAMR, _COATWIAMRr, _ISE2, _OAAT, _RT2, _TMRE2, _VE, _aKI2, _aT3, _at, _c4, _cI2, _cV2, _co2, _e4, _eI2, _ei, _gT2, _gt2, _h3, _hE4, _iT2, _jN, _m3, _r2, _rT2, _rU2, _s4, _sAK2, _sT2, _se2, _tI, _tO, _tT2, _tt, n04, _s_registry4, SigninServiceException$, n0_registry4, AccessDeniedException$2, InternalServerException$2, TooManyRequestsError$, ValidationException$, errorTypeRegistries4, OAuthAccessToken, RefreshToken2, AccessToken$, CreateOAuth2TokenRequest$, CreateOAuth2TokenRequestBody$, CreateOAuth2TokenResponse$, CreateOAuth2TokenResponseBody$, CreateOAuth2TokenWithIAMRequest$, CreateOAuth2TokenWithIAMResponse$, CreateOAuth2Token$, CreateOAuth2TokenWithIAM$;
+var init_schemas_04 = __esm({
+ "../../node_modules/.pnpm/@aws-sdk+nested-clients@3.997.49/node_modules/@aws-sdk/nested-clients/dist-es/submodules/signin/schemas/schemas_0.js"() {
+ init_schema();
+ init_errors4();
+ init_SigninServiceException();
+ _ADE2 = "AccessDeniedException";
+ _AT2 = "AccessToken";
+ _COAT = "CreateOAuth2Token";
+ _COATR = "CreateOAuth2TokenRequest";
+ _COATRB = "CreateOAuth2TokenRequestBody";
+ _COATRBr = "CreateOAuth2TokenResponseBody";
+ _COATRr = "CreateOAuth2TokenResponse";
+ _COATWIAM = "CreateOAuth2TokenWithIAM";
+ _COATWIAMR = "CreateOAuth2TokenWithIAMRequest";
+ _COATWIAMRr = "CreateOAuth2TokenWithIAMResponse";
+ _ISE2 = "InternalServerException";
+ _OAAT = "OAuthAccessToken";
+ _RT2 = "RefreshToken";
+ _TMRE2 = "TooManyRequestsError";
+ _VE = "ValidationException";
+ _aKI2 = "accessKeyId";
+ _aT3 = "accessToken";
+ _at = "access_token";
+ _c4 = "client";
+ _cI2 = "clientId";
+ _cV2 = "codeVerifier";
+ _co2 = "code";
+ _e4 = "error";
+ _eI2 = "expiresIn";
+ _ei = "expires_in";
+ _gT2 = "grantType";
+ _gt2 = "grant_type";
+ _h3 = "http";
+ _hE4 = "httpError";
+ _iT2 = "idToken";
+ _jN = "jsonName";
+ _m3 = "message";
+ _r2 = "resource";
+ _rT2 = "refreshToken";
+ _rU2 = "redirectUri";
+ _s4 = "smithy.ts.sdk.synthetic.com.amazonaws.signin";
+ _sAK2 = "secretAccessKey";
+ _sT2 = "sessionToken";
+ _se2 = "server";
+ _tI = "tokenInput";
+ _tO = "tokenOutput";
+ _tT2 = "tokenType";
+ _tt = "token_type";
+ n04 = "com.amazonaws.signin";
+ _s_registry4 = new TypeRegistry(_s4);
+ SigninServiceException$ = [-3, _s4, "SigninServiceException", 0, [], []];
+ _s_registry4.registerError(SigninServiceException$, SigninServiceException);
+ n0_registry4 = new TypeRegistry(n04);
+ AccessDeniedException$2 = [
+ -3,
+ n04,
+ _ADE2,
+ { [_e4]: _c4 },
+ [_e4, _m3],
+ [0, 0],
+ 2
+ ];
+ n0_registry4.registerError(AccessDeniedException$2, AccessDeniedException2);
+ InternalServerException$2 = [
+ -3,
+ n04,
+ _ISE2,
+ { [_e4]: _se2, [_hE4]: 500 },
+ [_e4, _m3],
+ [0, 0],
+ 2
+ ];
+ n0_registry4.registerError(InternalServerException$2, InternalServerException2);
+ TooManyRequestsError$ = [
+ -3,
+ n04,
+ _TMRE2,
+ { [_e4]: _c4, [_hE4]: 429 },
+ [_e4, _m3],
+ [0, 0],
+ 2
+ ];
+ n0_registry4.registerError(TooManyRequestsError$, TooManyRequestsError);
+ ValidationException$ = [
+ -3,
+ n04,
+ _VE,
+ { [_e4]: _c4, [_hE4]: 400 },
+ [_e4, _m3],
+ [0, 0],
+ 2
+ ];
+ n0_registry4.registerError(ValidationException$, ValidationException);
+ errorTypeRegistries4 = [
+ _s_registry4,
+ n0_registry4
+ ];
+ OAuthAccessToken = [0, n04, _OAAT, 8, 0];
+ RefreshToken2 = [0, n04, _RT2, 8, 0];
+ AccessToken$ = [
+ 3,
+ n04,
+ _AT2,
+ 8,
+ [_aKI2, _sAK2, _sT2],
+ [[0, { [_jN]: _aKI2 }], [0, { [_jN]: _sAK2 }], [0, { [_jN]: _sT2 }]],
+ 3
+ ];
+ CreateOAuth2TokenRequest$ = [
+ 3,
+ n04,
+ _COATR,
+ 0,
+ [_tI],
+ [[() => CreateOAuth2TokenRequestBody$, 16]],
+ 1
+ ];
+ CreateOAuth2TokenRequestBody$ = [
+ 3,
+ n04,
+ _COATRB,
+ 0,
+ [_cI2, _gT2, _co2, _rU2, _cV2, _rT2],
+ [[0, { [_jN]: _cI2 }], [0, { [_jN]: _gT2 }], 0, [0, { [_jN]: _rU2 }], [0, { [_jN]: _cV2 }], [() => RefreshToken2, { [_jN]: _rT2 }]],
+ 2
+ ];
+ CreateOAuth2TokenResponse$ = [
+ 3,
+ n04,
+ _COATRr,
+ 0,
+ [_tO],
+ [[() => CreateOAuth2TokenResponseBody$, 16]],
+ 1
+ ];
+ CreateOAuth2TokenResponseBody$ = [
+ 3,
+ n04,
+ _COATRBr,
+ 0,
+ [_aT3, _tT2, _eI2, _rT2, _iT2],
+ [[() => AccessToken$, { [_jN]: _aT3 }], [0, { [_jN]: _tT2 }], [1, { [_jN]: _eI2 }], [() => RefreshToken2, { [_jN]: _rT2 }], [0, { [_jN]: _iT2 }]],
+ 4
+ ];
+ CreateOAuth2TokenWithIAMRequest$ = [
+ 3,
+ n04,
+ _COATWIAMR,
+ 0,
+ [_gT2, _r2],
+ [[0, { [_jN]: _gt2 }], 0],
+ 2
+ ];
+ CreateOAuth2TokenWithIAMResponse$ = [
+ 3,
+ n04,
+ _COATWIAMRr,
+ 0,
+ [_aT3, _tT2, _eI2],
+ [[() => OAuthAccessToken, { [_jN]: _at }], [0, { [_jN]: _tt }], [1, { [_jN]: _ei }]],
+ 3
+ ];
+ CreateOAuth2Token$ = [
+ 9,
+ n04,
+ _COAT,
+ { [_h3]: ["POST", "/v1/token", 200] },
+ () => CreateOAuth2TokenRequest$,
+ () => CreateOAuth2TokenResponse$
+ ];
+ CreateOAuth2TokenWithIAM$ = [
+ 9,
+ n04,
+ _COATWIAM,
+ { [_h3]: ["POST", "/v1/token?x-amz-client-auth-method=iam", 200] },
+ () => CreateOAuth2TokenWithIAMRequest$,
+ () => CreateOAuth2TokenWithIAMResponse$
+ ];
+ }
+});
+
+// ../../node_modules/.pnpm/@aws-sdk+nested-clients@3.997.49/node_modules/@aws-sdk/nested-clients/dist-es/submodules/signin/runtimeConfig.shared.js
+var getRuntimeConfig7;
+var init_runtimeConfig_shared4 = __esm({
+ "../../node_modules/.pnpm/@aws-sdk+nested-clients@3.997.49/node_modules/@aws-sdk/nested-clients/dist-es/submodules/signin/runtimeConfig.shared.js"() {
+ init_httpAuthSchemes2();
+ init_protocols2();
+ init_dist_es();
+ init_checksum();
+ init_client();
+ init_protocols();
+ init_serde();
+ init_httpAuthSchemeProvider4();
+ init_endpointResolver4();
+ init_schemas_04();
+ getRuntimeConfig7 = /* @__PURE__ */ __name((config3) => {
+ return {
+ apiVersion: "2023-01-01",
+ base64Decoder: config3?.base64Decoder ?? fromBase64,
+ base64Encoder: config3?.base64Encoder ?? toBase64,
+ disableHostPrefix: config3?.disableHostPrefix ?? false,
+ endpointProvider: config3?.endpointProvider ?? defaultEndpointResolver4,
+ extensions: config3?.extensions ?? [],
+ httpAuthSchemeProvider: config3?.httpAuthSchemeProvider ?? defaultSigninHttpAuthSchemeProvider,
+ httpAuthSchemes: config3?.httpAuthSchemes ?? [
+ {
+ schemeId: "aws.auth#sigv4",
+ identityProvider: /* @__PURE__ */ __name((ipc) => ipc.getIdentityProvider("aws.auth#sigv4"), "identityProvider"),
+ signer: new AwsSdkSigV4Signer()
+ },
+ {
+ schemeId: "smithy.api#noAuth",
+ identityProvider: /* @__PURE__ */ __name((ipc) => ipc.getIdentityProvider("smithy.api#noAuth") || (async () => ({})), "identityProvider"),
+ signer: new NoAuthSigner()
+ }
+ ],
+ logger: config3?.logger ?? new NoOpLogger(),
+ protocol: config3?.protocol ?? AwsRestJsonProtocol,
+ protocolSettings: config3?.protocolSettings ?? {
+ defaultNamespace: "com.amazonaws.signin",
+ errorTypeRegistries: errorTypeRegistries4,
+ version: "2023-01-01",
+ serviceTarget: "Signin"
+ },
+ serviceId: config3?.serviceId ?? "Signin",
+ sha256: config3?.sha256 ?? Sha256Node,
+ urlParser: config3?.urlParser ?? parseUrl,
+ utf8Decoder: config3?.utf8Decoder ?? fromUtf8,
+ utf8Encoder: config3?.utf8Encoder ?? toUtf8
+ };
+ }, "getRuntimeConfig");
+ }
+});
+
+// ../../node_modules/.pnpm/@aws-sdk+nested-clients@3.997.49/node_modules/@aws-sdk/nested-clients/dist-es/submodules/signin/runtimeConfig.js
+var import_node_http_handler4, getRuntimeConfig8;
+var init_runtimeConfig4 = __esm({
+ "../../node_modules/.pnpm/@aws-sdk+nested-clients@3.997.49/node_modules/@aws-sdk/nested-clients/dist-es/submodules/signin/runtimeConfig.js"() {
+ init_package();
+ init_client2();
+ init_httpAuthSchemes2();
+ init_client();
+ init_config();
+ init_retry();
+ init_serde();
+ import_node_http_handler4 = __toESM(require_dist_cjs7());
+ init_runtimeConfig_shared4();
+ getRuntimeConfig8 = /* @__PURE__ */ __name((config3) => {
+ emitWarningIfUnsupportedVersion(process.version);
+ const defaultsMode = resolveDefaultsModeConfig(config3);
+ const defaultConfigProvider = /* @__PURE__ */ __name(() => defaultsMode().then(loadConfigsForDefaultMode), "defaultConfigProvider");
+ const clientSharedValues = getRuntimeConfig7(config3);
+ emitWarningIfUnsupportedVersion2(process.version);
+ const loaderConfig = {
+ profile: config3?.profile,
+ logger: clientSharedValues.logger
+ };
+ return {
+ ...clientSharedValues,
+ ...config3,
+ runtime: "node",
+ defaultsMode,
+ authSchemePreference: config3?.authSchemePreference ?? loadConfig(NODE_AUTH_SCHEME_PREFERENCE_OPTIONS, loaderConfig),
+ bodyLengthChecker: config3?.bodyLengthChecker ?? calculateBodyLength,
+ defaultUserAgentProvider: config3?.defaultUserAgentProvider ?? createDefaultUserAgentProvider({ serviceId: clientSharedValues.serviceId, clientVersion: package_default.version }),
+ maxAttempts: config3?.maxAttempts ?? loadConfig(NODE_MAX_ATTEMPT_CONFIG_OPTIONS, config3),
+ region: config3?.region ?? loadConfig(NODE_REGION_CONFIG_OPTIONS, { ...NODE_REGION_CONFIG_FILE_OPTIONS, ...loaderConfig }),
+ requestHandler: import_node_http_handler4.NodeHttpHandler.create(config3?.requestHandler ?? defaultConfigProvider),
+ retryMode: config3?.retryMode ?? loadConfig({
+ ...NODE_RETRY_MODE_CONFIG_OPTIONS,
+ default: /* @__PURE__ */ __name(async () => (await defaultConfigProvider()).retryMode || DEFAULT_RETRY_MODE, "default")
+ }, config3),
+ streamCollector: config3?.streamCollector ?? import_node_http_handler4.streamCollector,
+ useDualstackEndpoint: config3?.useDualstackEndpoint ?? loadConfig(NODE_USE_DUALSTACK_ENDPOINT_CONFIG_OPTIONS, loaderConfig),
+ useFipsEndpoint: config3?.useFipsEndpoint ?? loadConfig(NODE_USE_FIPS_ENDPOINT_CONFIG_OPTIONS, loaderConfig),
+ userAgentAppId: config3?.userAgentAppId ?? loadConfig(NODE_APP_ID_CONFIG_OPTIONS, loaderConfig)
+ };
+ }, "getRuntimeConfig");
+ }
+});
+
+// ../../node_modules/.pnpm/@aws-sdk+nested-clients@3.997.49/node_modules/@aws-sdk/nested-clients/dist-es/submodules/signin/auth/httpAuthExtensionConfiguration.js
+var getHttpAuthExtensionConfiguration4, resolveHttpAuthRuntimeConfig4;
+var init_httpAuthExtensionConfiguration4 = __esm({
+ "../../node_modules/.pnpm/@aws-sdk+nested-clients@3.997.49/node_modules/@aws-sdk/nested-clients/dist-es/submodules/signin/auth/httpAuthExtensionConfiguration.js"() {
+ getHttpAuthExtensionConfiguration4 = /* @__PURE__ */ __name((runtimeConfig) => {
+ const _httpAuthSchemes = runtimeConfig.httpAuthSchemes;
+ let _httpAuthSchemeProvider = runtimeConfig.httpAuthSchemeProvider;
+ let _credentials = runtimeConfig.credentials;
+ return {
+ setHttpAuthScheme(httpAuthScheme) {
+ const index = _httpAuthSchemes.findIndex((scheme) => scheme.schemeId === httpAuthScheme.schemeId);
+ if (index === -1) {
+ _httpAuthSchemes.push(httpAuthScheme);
+ } else {
+ _httpAuthSchemes.splice(index, 1, httpAuthScheme);
+ }
+ },
+ httpAuthSchemes() {
+ return _httpAuthSchemes;
+ },
+ setHttpAuthSchemeProvider(httpAuthSchemeProvider) {
+ _httpAuthSchemeProvider = httpAuthSchemeProvider;
+ },
+ httpAuthSchemeProvider() {
+ return _httpAuthSchemeProvider;
+ },
+ setCredentials(credentials) {
+ _credentials = credentials;
+ },
+ credentials() {
+ return _credentials;
+ }
+ };
+ }, "getHttpAuthExtensionConfiguration");
+ resolveHttpAuthRuntimeConfig4 = /* @__PURE__ */ __name((config3) => {
+ return {
+ httpAuthSchemes: config3.httpAuthSchemes(),
+ httpAuthSchemeProvider: config3.httpAuthSchemeProvider(),
+ credentials: config3.credentials()
+ };
+ }, "resolveHttpAuthRuntimeConfig");
+ }
+});
+
+// ../../node_modules/.pnpm/@aws-sdk+nested-clients@3.997.49/node_modules/@aws-sdk/nested-clients/dist-es/submodules/signin/runtimeExtensions.js
+var resolveRuntimeExtensions4;
+var init_runtimeExtensions4 = __esm({
+ "../../node_modules/.pnpm/@aws-sdk+nested-clients@3.997.49/node_modules/@aws-sdk/nested-clients/dist-es/submodules/signin/runtimeExtensions.js"() {
+ init_client2();
+ init_client();
+ init_protocols();
+ init_httpAuthExtensionConfiguration4();
+ resolveRuntimeExtensions4 = /* @__PURE__ */ __name((runtimeConfig, extensions) => {
+ const extensionConfiguration = Object.assign(getAwsRegionExtensionConfiguration(runtimeConfig), getDefaultExtensionConfiguration(runtimeConfig), getHttpHandlerExtensionConfiguration(runtimeConfig), getHttpAuthExtensionConfiguration4(runtimeConfig));
+ extensions.forEach((extension) => extension.configure(extensionConfiguration));
+ return Object.assign(runtimeConfig, resolveAwsRegionExtensionConfiguration(extensionConfiguration), resolveDefaultRuntimeConfig(extensionConfiguration), resolveHttpHandlerRuntimeConfig(extensionConfiguration), resolveHttpAuthRuntimeConfig4(extensionConfiguration));
+ }, "resolveRuntimeExtensions");
+ }
+});
+
+// ../../node_modules/.pnpm/@aws-sdk+nested-clients@3.997.49/node_modules/@aws-sdk/nested-clients/dist-es/submodules/signin/SigninClient.js
+var SigninClient;
+var init_SigninClient = __esm({
+ "../../node_modules/.pnpm/@aws-sdk+nested-clients@3.997.49/node_modules/@aws-sdk/nested-clients/dist-es/submodules/signin/SigninClient.js"() {
+ init_client2();
+ init_dist_es();
+ init_client();
+ init_config();
+ init_endpoints();
+ init_protocols();
+ init_retry();
+ init_schema();
+ init_httpAuthSchemeProvider4();
+ init_EndpointParameters4();
+ init_runtimeConfig4();
+ init_runtimeExtensions4();
+ SigninClient = class extends Client {
+ static {
+ __name(this, "SigninClient");
+ }
+ config;
+ constructor(...[configuration]) {
+ const _config_0 = getRuntimeConfig8(configuration || {});
+ super(_config_0);
+ this.initConfig = _config_0;
+ const _config_1 = resolveClientEndpointParameters4(_config_0);
+ const _config_2 = resolveUserAgentConfig(_config_1);
+ const _config_3 = resolveRetryConfig(_config_2);
+ const _config_4 = resolveRegionConfig(_config_3);
+ const _config_5 = resolveHostHeaderConfig(_config_4);
+ const _config_6 = resolveEndpointConfig(_config_5);
+ const _config_7 = resolveHttpAuthSchemeConfig4(_config_6);
+ const _config_8 = resolveRuntimeExtensions4(_config_7, configuration?.extensions || []);
+ this.config = _config_8;
+ this.middlewareStack.use(getSchemaSerdePlugin(this.config));
+ this.middlewareStack.use(getUserAgentPlugin(this.config));
+ this.middlewareStack.use(getRetryPlugin(this.config));
+ this.middlewareStack.use(getContentLengthPlugin(this.config));
+ this.middlewareStack.use(getHostHeaderPlugin(this.config));
+ this.middlewareStack.use(getLoggerPlugin(this.config));
+ this.middlewareStack.use(getRecursionDetectionPlugin(this.config));
+ this.middlewareStack.use(getHttpAuthSchemeEndpointRuleSetPlugin(this.config, {
+ httpAuthSchemeParametersProvider: defaultSigninHttpAuthSchemeParametersProvider,
+ identityProviderConfigProvider: /* @__PURE__ */ __name(async (config3) => new DefaultIdentityProviderConfig({
+ "aws.auth#sigv4": config3.credentials
+ }), "identityProviderConfigProvider")
+ }));
+ this.middlewareStack.use(getHttpSigningPlugin(this.config));
+ }
+ destroy() {
+ super.destroy();
+ }
+ };
+ }
+});
+
+// ../../node_modules/.pnpm/@aws-sdk+nested-clients@3.997.49/node_modules/@aws-sdk/nested-clients/dist-es/submodules/signin/commandBuilder.js
+var command4, _ep04, _ep1, _mw04;
+var init_commandBuilder4 = __esm({
+ "../../node_modules/.pnpm/@aws-sdk+nested-clients@3.997.49/node_modules/@aws-sdk/nested-clients/dist-es/submodules/signin/commandBuilder.js"() {
+ init_client();
+ init_endpoints();
+ init_EndpointParameters4();
+ command4 = makeBuilder(commonParams4, "Signin", "SigninClient", getEndpointPlugin);
+ _ep04 = {
+ IsControlPlane: { type: "staticContextParams", value: false }
+ };
+ _ep1 = {
+ IsOAuthEndpoint: { type: "staticContextParams", value: true }
+ };
+ _mw04 = /* @__PURE__ */ __name((Command2, cs, config3, o3) => [], "_mw0");
+ }
+});
+
+// ../../node_modules/.pnpm/@aws-sdk+nested-clients@3.997.49/node_modules/@aws-sdk/nested-clients/dist-es/submodules/signin/commands/CreateOAuth2TokenCommand.js
+var CreateOAuth2TokenCommand;
+var init_CreateOAuth2TokenCommand = __esm({
+ "../../node_modules/.pnpm/@aws-sdk+nested-clients@3.997.49/node_modules/@aws-sdk/nested-clients/dist-es/submodules/signin/commands/CreateOAuth2TokenCommand.js"() {
+ init_commandBuilder4();
+ init_schemas_04();
+ CreateOAuth2TokenCommand = class extends command4(_ep04, _mw04, "CreateOAuth2Token", CreateOAuth2Token$) {
+ static {
+ __name(this, "CreateOAuth2TokenCommand");
+ }
+ };
+ }
+});
+
+// ../../node_modules/.pnpm/@aws-sdk+nested-clients@3.997.49/node_modules/@aws-sdk/nested-clients/dist-es/submodules/signin/commands/CreateOAuth2TokenWithIAMCommand.js
+var CreateOAuth2TokenWithIAMCommand;
+var init_CreateOAuth2TokenWithIAMCommand = __esm({
+ "../../node_modules/.pnpm/@aws-sdk+nested-clients@3.997.49/node_modules/@aws-sdk/nested-clients/dist-es/submodules/signin/commands/CreateOAuth2TokenWithIAMCommand.js"() {
+ init_commandBuilder4();
+ init_schemas_04();
+ CreateOAuth2TokenWithIAMCommand = class extends command4(_ep1, _mw04, "CreateOAuth2TokenWithIAM", CreateOAuth2TokenWithIAM$) {
+ static {
+ __name(this, "CreateOAuth2TokenWithIAMCommand");
+ }
+ };
+ }
+});
+
+// ../../node_modules/.pnpm/@aws-sdk+nested-clients@3.997.49/node_modules/@aws-sdk/nested-clients/dist-es/submodules/signin/Signin.js
+var commands4, Signin;
+var init_Signin = __esm({
+ "../../node_modules/.pnpm/@aws-sdk+nested-clients@3.997.49/node_modules/@aws-sdk/nested-clients/dist-es/submodules/signin/Signin.js"() {
+ init_client();
+ init_CreateOAuth2TokenCommand();
+ init_CreateOAuth2TokenWithIAMCommand();
+ init_SigninClient();
+ commands4 = {
+ CreateOAuth2TokenCommand,
+ CreateOAuth2TokenWithIAMCommand
+ };
+ Signin = class extends SigninClient {
+ static {
+ __name(this, "Signin");
+ }
+ };
+ createAggregatedClient(commands4, Signin);
+ }
+});
+
+// ../../node_modules/.pnpm/@aws-sdk+nested-clients@3.997.49/node_modules/@aws-sdk/nested-clients/dist-es/submodules/signin/commands/index.js
+var init_commands4 = __esm({
+ "../../node_modules/.pnpm/@aws-sdk+nested-clients@3.997.49/node_modules/@aws-sdk/nested-clients/dist-es/submodules/signin/commands/index.js"() {
+ init_CreateOAuth2TokenCommand();
+ init_CreateOAuth2TokenWithIAMCommand();
+ }
+});
+
+// ../../node_modules/.pnpm/@aws-sdk+nested-clients@3.997.49/node_modules/@aws-sdk/nested-clients/dist-es/submodules/signin/models/enums.js
+var OAuth2ErrorCode;
+var init_enums2 = __esm({
+ "../../node_modules/.pnpm/@aws-sdk+nested-clients@3.997.49/node_modules/@aws-sdk/nested-clients/dist-es/submodules/signin/models/enums.js"() {
+ OAuth2ErrorCode = {
+ AUTHCODE_EXPIRED: "AUTHCODE_EXPIRED",
+ CONFLICT: "CONFLICT",
+ INSUFFICIENT_PERMISSIONS: "INSUFFICIENT_PERMISSIONS",
+ INVALID_REQUEST: "INVALID_REQUEST",
+ RESOURCE_NOT_FOUND: "RESOURCE_NOT_FOUND",
+ SERVER_ERROR: "server_error",
+ SERVICE_QUOTA_EXCEEDED: "SERVICE_QUOTA_EXCEEDED",
+ TOKEN_EXPIRED: "TOKEN_EXPIRED",
+ USER_CREDENTIALS_CHANGED: "USER_CREDENTIALS_CHANGED"
+ };
+ }
+});
+
+// ../../node_modules/.pnpm/@aws-sdk+nested-clients@3.997.49/node_modules/@aws-sdk/nested-clients/dist-es/submodules/signin/models/models_0.js
+var init_models_04 = __esm({
+ "../../node_modules/.pnpm/@aws-sdk+nested-clients@3.997.49/node_modules/@aws-sdk/nested-clients/dist-es/submodules/signin/models/models_0.js"() {
+ }
+});
+
+// ../../node_modules/.pnpm/@aws-sdk+nested-clients@3.997.49/node_modules/@aws-sdk/nested-clients/dist-es/submodules/signin/index.js
+var signin_exports = {};
+__export(signin_exports, {
+ $Command: () => Command,
+ AccessDeniedException: () => AccessDeniedException2,
+ AccessDeniedException$: () => AccessDeniedException$2,
+ AccessToken$: () => AccessToken$,
+ CreateOAuth2Token$: () => CreateOAuth2Token$,
+ CreateOAuth2TokenCommand: () => CreateOAuth2TokenCommand,
+ CreateOAuth2TokenRequest$: () => CreateOAuth2TokenRequest$,
+ CreateOAuth2TokenRequestBody$: () => CreateOAuth2TokenRequestBody$,
+ CreateOAuth2TokenResponse$: () => CreateOAuth2TokenResponse$,
+ CreateOAuth2TokenResponseBody$: () => CreateOAuth2TokenResponseBody$,
+ CreateOAuth2TokenWithIAM$: () => CreateOAuth2TokenWithIAM$,
+ CreateOAuth2TokenWithIAMCommand: () => CreateOAuth2TokenWithIAMCommand,
+ CreateOAuth2TokenWithIAMRequest$: () => CreateOAuth2TokenWithIAMRequest$,
+ CreateOAuth2TokenWithIAMResponse$: () => CreateOAuth2TokenWithIAMResponse$,
+ InternalServerException: () => InternalServerException2,
+ InternalServerException$: () => InternalServerException$2,
+ OAuth2ErrorCode: () => OAuth2ErrorCode,
+ Signin: () => Signin,
+ SigninClient: () => SigninClient,
+ SigninServiceException: () => SigninServiceException,
+ SigninServiceException$: () => SigninServiceException$,
+ TooManyRequestsError: () => TooManyRequestsError,
+ TooManyRequestsError$: () => TooManyRequestsError$,
+ ValidationException: () => ValidationException,
+ ValidationException$: () => ValidationException$,
+ __Client: () => Client,
+ errorTypeRegistries: () => errorTypeRegistries4
+});
+var init_signin = __esm({
+ "../../node_modules/.pnpm/@aws-sdk+nested-clients@3.997.49/node_modules/@aws-sdk/nested-clients/dist-es/submodules/signin/index.js"() {
+ init_SigninClient();
+ init_Signin();
+ init_commands4();
+ init_client();
+ init_schemas_04();
+ init_enums2();
+ init_errors4();
+ init_models_04();
+ init_SigninServiceException();
+ }
+});
+
+// ../../node_modules/.pnpm/@aws-sdk+credential-provider-login@3.972.82/node_modules/@aws-sdk/credential-provider-login/dist-cjs/index.js
+var require_dist_cjs11 = __commonJS({
+ "../../node_modules/.pnpm/@aws-sdk+credential-provider-login@3.972.82/node_modules/@aws-sdk/credential-provider-login/dist-cjs/index.js"(exports) {
+ var { setCredentialFeature: setCredentialFeature2 } = (init_client2(), __toCommonJS(client_exports2));
+ var { CredentialsProviderError, parseKnownFiles, getProfileName } = (init_config(), __toCommonJS(config_exports));
+ var { HttpRequest: HttpRequest2 } = (init_protocols(), __toCommonJS(protocols_exports));
+ var { createHash: createHash3, createPrivateKey, createPublicKey, sign: sign2 } = __require("node:crypto");
+ var { promises } = __require("node:fs");
+ var { homedir } = __require("node:os");
+ var { dirname: dirname2, join: join4 } = __require("node:path");
+ var LoginCredentialsFetcher = class _LoginCredentialsFetcher {
+ static {
+ __name(this, "LoginCredentialsFetcher");
+ }
+ profileData;
+ init;
+ callerClientConfig;
+ static REFRESH_THRESHOLD = 5 * 60 * 1e3;
+ constructor(profileData, init2, callerClientConfig) {
+ this.profileData = profileData;
+ this.init = init2;
+ this.callerClientConfig = callerClientConfig;
+ }
+ async loadCredentials() {
+ const token = await this.loadToken();
+ if (!token) {
+ throw new CredentialsProviderError(`Failed to load a token for session ${this.loginSession}, please re-authenticate using aws login`, { tryNextLink: false, logger: this.logger });
+ }
+ const accessToken = token.accessToken;
+ const now = Date.now();
+ const expiryTime = new Date(accessToken.expiresAt).getTime();
+ const timeUntilExpiry = expiryTime - now;
+ if (timeUntilExpiry <= _LoginCredentialsFetcher.REFRESH_THRESHOLD) {
+ return this.refresh(token);
+ }
+ return this.toCredentials(token.accessToken);
+ }
+ get logger() {
+ return this.init?.logger;
+ }
+ get loginSession() {
+ return this.profileData.login_session;
+ }
+ toCredentials(token) {
+ return {
+ accessKeyId: token.accessKeyId,
+ secretAccessKey: token.secretAccessKey,
+ sessionToken: token.sessionToken,
+ accountId: token.accountId,
+ expiration: new Date(token.expiresAt)
+ };
+ }
+ async refresh(token) {
+ const diskToken = await this.loadToken().catch(() => token);
+ const now = Date.now();
+ const diskExpiry = new Date(diskToken.accessToken.expiresAt).getTime();
+ const tokenExpiry = new Date(token.accessToken.expiresAt).getTime();
+ const freshToken = diskExpiry <= now && tokenExpiry > now ? token : diskToken;
+ const freshExpiry = new Date(freshToken.accessToken.expiresAt).getTime();
+ if (freshExpiry - Date.now() > _LoginCredentialsFetcher.REFRESH_THRESHOLD) {
+ return this.toCredentials(freshToken.accessToken);
+ }
+ const { SigninClient: SigninClient2, CreateOAuth2TokenCommand: CreateOAuth2TokenCommand2 } = (init_signin(), __toCommonJS(signin_exports));
+ const { logger, userAgentAppId } = this.callerClientConfig ?? {};
+ const isH22 = /* @__PURE__ */ __name((requestHandler2) => {
+ return requestHandler2?.metadata?.handlerProtocol === "h2";
+ }, "isH2");
+ const requestHandler = isH22(this.callerClientConfig?.requestHandler) ? void 0 : this.callerClientConfig?.requestHandler;
+ const region = this.profileData.region ?? await this.callerClientConfig?.region?.() ?? process.env.AWS_REGION;
+ const client = new SigninClient2({
+ credentials: {
+ accessKeyId: "",
+ secretAccessKey: ""
+ },
+ region,
+ requestHandler,
+ logger,
+ userAgentAppId,
+ ...this.init?.clientConfig
+ });
+ this.createDPoPInterceptor(client.middlewareStack);
+ const commandInput = {
+ tokenInput: {
+ clientId: freshToken.clientId,
+ refreshToken: freshToken.refreshToken,
+ grantType: "refresh_token"
+ }
+ };
+ try {
+ const response = await client.send(new CreateOAuth2TokenCommand2(commandInput));
+ const { accessKeyId, secretAccessKey, sessionToken } = response.tokenOutput?.accessToken ?? {};
+ const { refreshToken, expiresIn } = response.tokenOutput ?? {};
+ if (!accessKeyId || !secretAccessKey || !sessionToken || !refreshToken) {
+ throw new CredentialsProviderError("Token refresh response missing required fields", {
+ logger: this.logger,
+ tryNextLink: false
+ });
+ }
+ const expiresInMs = (expiresIn ?? 900) * 1e3;
+ const expiration = new Date(Date.now() + expiresInMs);
+ const updatedToken = {
+ ...freshToken,
+ accessToken: {
+ ...freshToken.accessToken,
+ accessKeyId,
+ secretAccessKey,
+ sessionToken,
+ expiresAt: expiration.toISOString()
+ },
+ refreshToken
+ };
+ await this.saveToken(updatedToken);
+ return this.toCredentials(updatedToken.accessToken);
+ } catch (error62) {
+ if (error62.name === "AccessDeniedException") {
+ const errorType = error62.error;
+ let message;
+ switch (errorType) {
+ case "TOKEN_EXPIRED":
+ message = "Your session has expired. Please reauthenticate.";
+ break;
+ case "USER_CREDENTIALS_CHANGED":
+ message = "Unable to refresh credentials because of a change in your password. Please reauthenticate with your new password.";
+ break;
+ case "INSUFFICIENT_PERMISSIONS":
+ message = "Unable to refresh credentials due to insufficient permissions. You may be missing permission for the 'CreateOAuth2Token' action.";
+ break;
+ default:
+ message = `Failed to refresh token: ${String(error62)}. Please re-authenticate using \`aws login\``;
+ }
+ throw new CredentialsProviderError(message, {
+ logger: this.logger,
+ tryNextLink: false
+ });
+ }
+ const tokenExpiry2 = new Date(freshToken.accessToken.expiresAt).getTime();
+ if (tokenExpiry2 > Date.now()) {
+ this.logger?.warn?.(`Failed to refresh token: ${String(error62)}. Using existing token until expiry.`);
+ return this.toCredentials(freshToken.accessToken);
+ }
+ throw new CredentialsProviderError(`Failed to refresh token: ${String(error62)}. Please re-authenticate using aws login`, { logger: this.logger });
+ }
+ }
+ async loadToken() {
+ const tokenFilePath = this.getTokenFilePath();
+ try {
+ const tokenData = await promises.readFile(tokenFilePath, "utf8");
+ const token = JSON.parse(tokenData);
+ const missingFields = ["accessToken", "clientId", "refreshToken", "dpopKey"].filter((k5) => !token[k5]);
+ if (!token.accessToken?.accountId) {
+ missingFields.push("accountId");
+ }
+ if (missingFields.length > 0) {
+ throw new CredentialsProviderError(`Token validation failed, missing fields: ${missingFields.join(", ")}`, {
+ logger: this.logger,
+ tryNextLink: false
+ });
+ }
+ return token;
+ } catch (error62) {
+ throw new CredentialsProviderError(`Failed to load token from ${tokenFilePath}: ${String(error62)}`, {
+ logger: this.logger,
+ tryNextLink: false
+ });
+ }
+ }
+ async saveToken(token) {
+ const tokenFilePath = this.getTokenFilePath();
+ const directory = dirname2(tokenFilePath);
+ try {
+ await promises.mkdir(directory, { recursive: true });
+ } catch (error62) {
+ }
+ await promises.writeFile(tokenFilePath, JSON.stringify(token, null, 2), "utf8");
+ }
+ getTokenFilePath() {
+ const directory = process.env.AWS_LOGIN_CACHE_DIRECTORY ?? join4(homedir(), ".aws", "login", "cache");
+ const loginSessionBytes = Buffer.from(this.loginSession, "utf8");
+ const loginSessionSha256 = createHash3("sha256").update(loginSessionBytes).digest("hex");
+ return join4(directory, `${loginSessionSha256}.json`);
+ }
+ derToRawSignature(derSignature) {
+ let offset = 2;
+ if (derSignature[offset] !== 2) {
+ throw new Error("Invalid DER signature");
+ }
+ offset++;
+ const rLength = derSignature[offset++];
+ let r5 = derSignature.subarray(offset, offset + rLength);
+ offset += rLength;
+ if (derSignature[offset] !== 2) {
+ throw new Error("Invalid DER signature");
+ }
+ offset++;
+ const sLength = derSignature[offset++];
+ let s2 = derSignature.subarray(offset, offset + sLength);
+ r5 = r5[0] === 0 ? r5.subarray(1) : r5;
+ s2 = s2[0] === 0 ? s2.subarray(1) : s2;
+ const rPadded = Buffer.concat([Buffer.alloc(32 - r5.length), r5]);
+ const sPadded = Buffer.concat([Buffer.alloc(32 - s2.length), s2]);
+ return Buffer.concat([rPadded, sPadded]);
+ }
+ createDPoPInterceptor(middlewareStack) {
+ middlewareStack.add((next) => async (args) => {
+ if (HttpRequest2.isInstance(args.request)) {
+ const request = args.request;
+ const actualEndpoint = `${request.protocol}//${request.hostname}${request.port ? `:${request.port}` : ""}${request.path}`;
+ const dpop = await this.generateDpop(request.method, actualEndpoint);
+ request.headers = {
+ ...request.headers,
+ DPoP: dpop
+ };
+ }
+ return next(args);
+ }, {
+ step: "finalizeRequest",
+ name: "dpopInterceptor",
+ override: true
+ });
+ }
+ async generateDpop(method = "POST", endpoint) {
+ const token = await this.loadToken();
+ try {
+ const privateKey = createPrivateKey({
+ key: token.dpopKey,
+ format: "pem",
+ type: "sec1"
+ });
+ const publicKey = createPublicKey(privateKey);
+ const publicDer = publicKey.export({ format: "der", type: "spki" });
+ let pointStart = -1;
+ for (let i5 = 0; i5 < publicDer.length; i5++) {
+ if (publicDer[i5] === 4) {
+ pointStart = i5;
+ break;
+ }
+ }
+ const x = publicDer.slice(pointStart + 1, pointStart + 33);
+ const y = publicDer.slice(pointStart + 33, pointStart + 65);
+ const header = {
+ alg: "ES256",
+ typ: "dpop+jwt",
+ jwk: {
+ kty: "EC",
+ crv: "P-256",
+ x: x.toString("base64url"),
+ y: y.toString("base64url")
+ }
+ };
+ const payload = {
+ jti: crypto.randomUUID(),
+ htm: method,
+ htu: endpoint,
+ iat: Math.floor(Date.now() / 1e3)
+ };
+ const headerB64 = Buffer.from(JSON.stringify(header)).toString("base64url");
+ const payloadB64 = Buffer.from(JSON.stringify(payload)).toString("base64url");
+ const message = `${headerB64}.${payloadB64}`;
+ const asn1Signature = sign2("sha256", Buffer.from(message), privateKey);
+ const rawSignature = this.derToRawSignature(asn1Signature);
+ const signatureB64 = rawSignature.toString("base64url");
+ return `${message}.${signatureB64}`;
+ } catch (error62) {
+ throw new CredentialsProviderError(`Failed to generate Dpop proof: ${error62 instanceof Error ? error62.message : String(error62)}`, { logger: this.logger, tryNextLink: false });
+ }
+ }
+ };
+ var fromLoginCredentials = /* @__PURE__ */ __name((init2) => async ({ callerClientConfig } = {}) => {
+ init2?.logger?.debug?.("@aws-sdk/credential-providers - fromLoginCredentials");
+ const profiles = await parseKnownFiles(init2 || {});
+ const profileName = getProfileName({
+ profile: init2?.profile ?? callerClientConfig?.profile
+ });
+ const profile = profiles[profileName];
+ if (!profile?.login_session) {
+ throw new CredentialsProviderError(`Profile ${profileName} does not contain login_session.`, {
+ tryNextLink: true,
+ logger: init2?.logger
+ });
+ }
+ const fetcher = new LoginCredentialsFetcher(profile, init2, callerClientConfig);
+ const credentials = await fetcher.loadCredentials();
+ return setCredentialFeature2(credentials, "CREDENTIALS_LOGIN", "AD");
+ }, "fromLoginCredentials");
+ exports.fromLoginCredentials = fromLoginCredentials;
+ }
+});
+
+// ../../node_modules/.pnpm/@aws-sdk+credential-provider-process@3.972.75/node_modules/@aws-sdk/credential-provider-process/dist-cjs/index.js
+var require_dist_cjs12 = __commonJS({
+ "../../node_modules/.pnpm/@aws-sdk+credential-provider-process@3.972.75/node_modules/@aws-sdk/credential-provider-process/dist-cjs/index.js"(exports) {
+ var { externalDataInterceptor, CredentialsProviderError, parseKnownFiles, getProfileName } = (init_config(), __toCommonJS(config_exports));
+ var { exec } = __require("node:child_process");
+ var { promisify } = __require("node:util");
+ var { setCredentialFeature: setCredentialFeature2 } = (init_client2(), __toCommonJS(client_exports2));
+ var getValidatedProcessCredentials = /* @__PURE__ */ __name((profileName, data, profiles) => {
+ if (data.Version !== 1) {
+ throw Error(`Profile ${profileName} credential_process did not return Version 1.`);
+ }
+ if (data.AccessKeyId === void 0 || data.SecretAccessKey === void 0) {
+ throw Error(`Profile ${profileName} credential_process returned invalid credentials.`);
+ }
+ if (data.Expiration) {
+ const currentTime = /* @__PURE__ */ new Date();
+ const expireTime = new Date(data.Expiration);
+ if (expireTime < currentTime) {
+ throw Error(`Profile ${profileName} credential_process returned expired credentials.`);
+ }
+ }
+ let accountId = data.AccountId;
+ if (!accountId && profiles?.[profileName]?.aws_account_id) {
+ accountId = profiles[profileName].aws_account_id;
+ }
+ const credentials = {
+ accessKeyId: data.AccessKeyId,
+ secretAccessKey: data.SecretAccessKey,
+ ...data.SessionToken && { sessionToken: data.SessionToken },
+ ...data.Expiration && { expiration: new Date(data.Expiration) },
+ ...data.CredentialScope && { credentialScope: data.CredentialScope },
+ ...accountId && { accountId }
+ };
+ setCredentialFeature2(credentials, "CREDENTIALS_PROCESS", "w");
+ return credentials;
+ }, "getValidatedProcessCredentials");
+ var resolveProcessCredentials = /* @__PURE__ */ __name(async (profileName, profiles, logger) => {
+ const profile = profiles[profileName];
+ if (profiles[profileName]) {
+ const credentialProcess = profile["credential_process"];
+ if (credentialProcess !== void 0) {
+ const execPromise = promisify(externalDataInterceptor?.getTokenRecord?.().exec ?? exec);
+ try {
+ const { stdout } = await execPromise(credentialProcess);
+ let data;
+ try {
+ data = JSON.parse(stdout.trim());
+ } catch {
+ throw Error(`Profile ${profileName} credential_process returned invalid JSON.`);
+ }
+ return getValidatedProcessCredentials(profileName, data, profiles);
+ } catch (error62) {
+ throw new CredentialsProviderError(error62.message, { logger });
+ }
+ } else {
+ throw new CredentialsProviderError(`Profile ${profileName} did not contain credential_process.`, { logger });
+ }
+ } else {
+ throw new CredentialsProviderError(`Profile ${profileName} could not be found in shared credentials file.`, {
+ logger
+ });
+ }
+ }, "resolveProcessCredentials");
+ var fromProcess = /* @__PURE__ */ __name((init2 = {}) => async ({ callerClientConfig } = {}) => {
+ init2.logger?.debug("@aws-sdk/credential-provider-process - fromProcess");
+ const profiles = await parseKnownFiles(init2);
+ return resolveProcessCredentials(getProfileName({
+ profile: init2.profile ?? callerClientConfig?.profile
+ }), profiles, init2.logger);
+ }, "fromProcess");
+ exports.fromProcess = fromProcess;
+ }
+});
+
+// ../../node_modules/.pnpm/@aws-sdk+credential-provider-web-identity@3.972.81/node_modules/@aws-sdk/credential-provider-web-identity/dist-cjs/index.js
+var require_dist_cjs13 = __commonJS({
+ "../../node_modules/.pnpm/@aws-sdk+credential-provider-web-identity@3.972.81/node_modules/@aws-sdk/credential-provider-web-identity/dist-cjs/index.js"(exports) {
+ var { setCredentialFeature: setCredentialFeature2 } = (init_client2(), __toCommonJS(client_exports2));
+ var { CredentialsProviderError, externalDataInterceptor } = (init_config(), __toCommonJS(config_exports));
+ var { readFileSync } = __require("node:fs");
+ var fromWebToken = /* @__PURE__ */ __name((init2) => async (awsIdentityProperties) => {
+ init2.logger?.debug("@aws-sdk/credential-provider-web-identity - fromWebToken");
+ const { roleArn, roleSessionName, webIdentityToken, providerId, policyArns, policy, durationSeconds } = init2;
+ let { roleAssumerWithWebIdentity } = init2;
+ if (!roleAssumerWithWebIdentity) {
+ const { getDefaultRoleAssumerWithWebIdentity: getDefaultRoleAssumerWithWebIdentity3 } = (init_sts(), __toCommonJS(sts_exports));
+ roleAssumerWithWebIdentity = getDefaultRoleAssumerWithWebIdentity3({
+ ...init2.clientConfig,
+ credentialProviderLogger: init2.logger,
+ parentClientConfig: {
+ ...awsIdentityProperties?.callerClientConfig,
+ ...init2.parentClientConfig
+ }
+ }, init2.clientPlugins);
+ }
+ return roleAssumerWithWebIdentity({
+ RoleArn: roleArn,
+ RoleSessionName: roleSessionName ?? `aws-sdk-js-session-${Date.now()}`,
+ WebIdentityToken: webIdentityToken,
+ ProviderId: providerId,
+ PolicyArns: policyArns,
+ Policy: policy,
+ DurationSeconds: durationSeconds
+ });
+ }, "fromWebToken");
+ var ENV_TOKEN_FILE = "AWS_WEB_IDENTITY_TOKEN_FILE";
+ var ENV_ROLE_ARN = "AWS_ROLE_ARN";
+ var ENV_ROLE_SESSION_NAME = "AWS_ROLE_SESSION_NAME";
+ var fromTokenFile = /* @__PURE__ */ __name((init2 = {}) => async (awsIdentityProperties) => {
+ init2.logger?.debug("@aws-sdk/credential-provider-web-identity - fromTokenFile");
+ const webIdentityTokenFile = init2?.webIdentityTokenFile ?? process.env[ENV_TOKEN_FILE];
+ const roleArn = init2?.roleArn ?? process.env[ENV_ROLE_ARN];
+ const roleSessionName = init2?.roleSessionName ?? process.env[ENV_ROLE_SESSION_NAME];
+ if (!webIdentityTokenFile || !roleArn) {
+ throw new CredentialsProviderError("Web identity configuration not specified", {
+ logger: init2.logger
+ });
+ }
+ const credentials = await fromWebToken({
+ ...init2,
+ webIdentityToken: externalDataInterceptor?.getTokenRecord?.()[webIdentityTokenFile] ?? readFileSync(webIdentityTokenFile, { encoding: "ascii" }),
+ roleArn,
+ roleSessionName
+ })(awsIdentityProperties);
+ if (webIdentityTokenFile === process.env[ENV_TOKEN_FILE]) {
+ setCredentialFeature2(credentials, "CREDENTIALS_ENV_VARS_STS_WEB_ID_TOKEN", "h");
+ }
+ return credentials;
+ }, "fromTokenFile");
+ exports.fromTokenFile = fromTokenFile;
+ exports.fromWebToken = fromWebToken;
+ }
+});
+
+// ../../node_modules/.pnpm/@aws-sdk+credential-provider-ini@3.973.20/node_modules/@aws-sdk/credential-provider-ini/dist-cjs/index.js
+var require_dist_cjs14 = __commonJS({
+ "../../node_modules/.pnpm/@aws-sdk+credential-provider-ini@3.973.20/node_modules/@aws-sdk/credential-provider-ini/dist-cjs/index.js"(exports) {
+ var { CredentialsProviderError, chain, getProfileName, parseKnownFiles } = (init_config(), __toCommonJS(config_exports));
+ var { setCredentialFeature: setCredentialFeature2 } = (init_client2(), __toCommonJS(client_exports2));
+ var resolveCredentialSource = /* @__PURE__ */ __name((credentialSource, profileName, logger) => {
+ const sourceProvidersMap = {
+ EcsContainer: /* @__PURE__ */ __name(async (options) => {
+ const { fromHttp } = require_dist_cjs8();
+ const { fromContainerMetadata } = require_dist_cjs6();
+ logger?.debug("@aws-sdk/credential-provider-ini - credential_source is EcsContainer");
+ return async () => chain(fromHttp(options ?? {}), fromContainerMetadata(options))().then(setNamedProvider);
+ }, "EcsContainer"),
+ Ec2InstanceMetadata: /* @__PURE__ */ __name(async (options) => {
+ logger?.debug("@aws-sdk/credential-provider-ini - credential_source is Ec2InstanceMetadata");
+ const { fromInstanceMetadata } = require_dist_cjs6();
+ return async () => fromInstanceMetadata(options)().then(setNamedProvider);
+ }, "Ec2InstanceMetadata"),
+ Environment: /* @__PURE__ */ __name(async (options) => {
+ logger?.debug("@aws-sdk/credential-provider-ini - credential_source is Environment");
+ const { fromEnv } = require_dist_cjs5();
+ return async () => fromEnv(options)().then(setNamedProvider);
+ }, "Environment")
+ };
+ if (credentialSource in sourceProvidersMap) {
+ return sourceProvidersMap[credentialSource];
+ } else {
+ throw new CredentialsProviderError(`Unsupported credential source in profile ${profileName}. Got ${credentialSource}, expected EcsContainer or Ec2InstanceMetadata or Environment.`, { logger });
+ }
+ }, "resolveCredentialSource");
+ var setNamedProvider = /* @__PURE__ */ __name((creds) => setCredentialFeature2(creds, "CREDENTIALS_PROFILE_NAMED_PROVIDER", "p"), "setNamedProvider");
+ var isAssumeRoleProfile = /* @__PURE__ */ __name((arg, { profile = "default", logger } = {}) => {
+ return Boolean(arg) && typeof arg === "object" && typeof arg.role_arn === "string" && ["undefined", "string"].indexOf(typeof arg.role_session_name) > -1 && ["undefined", "string"].indexOf(typeof arg.external_id) > -1 && ["undefined", "string"].indexOf(typeof arg.mfa_serial) > -1 && (isAssumeRoleWithSourceProfile(arg, { profile, logger }) || isCredentialSourceProfile(arg, { profile, logger }));
+ }, "isAssumeRoleProfile");
+ var isAssumeRoleWithSourceProfile = /* @__PURE__ */ __name((arg, { profile, logger }) => {
+ const withSourceProfile = typeof arg.source_profile === "string" && typeof arg.credential_source === "undefined";
+ if (withSourceProfile) {
+ logger?.debug?.(` ${profile} isAssumeRoleWithSourceProfile source_profile=${arg.source_profile}`);
+ }
+ return withSourceProfile;
+ }, "isAssumeRoleWithSourceProfile");
+ var isCredentialSourceProfile = /* @__PURE__ */ __name((arg, { profile, logger }) => {
+ const withProviderProfile = typeof arg.credential_source === "string" && typeof arg.source_profile === "undefined";
+ if (withProviderProfile) {
+ logger?.debug?.(` ${profile} isCredentialSourceProfile credential_source=${arg.credential_source}`);
+ }
+ return withProviderProfile;
+ }, "isCredentialSourceProfile");
+ var resolveAssumeRoleCredentials = /* @__PURE__ */ __name(async (profileName, profiles, options, callerClientConfig, visitedProfiles = {}, resolveProfileData2) => {
+ options.logger?.debug("@aws-sdk/credential-provider-ini - resolveAssumeRoleCredentials (STS)");
+ const profileData = profiles[profileName];
+ const { source_profile, region } = profileData;
+ if (!options.roleAssumer) {
+ const { getDefaultRoleAssumer: getDefaultRoleAssumer3 } = (init_sts(), __toCommonJS(sts_exports));
+ options.roleAssumer = getDefaultRoleAssumer3({
+ ...options.clientConfig,
+ credentialProviderLogger: options.logger,
+ parentClientConfig: {
+ ...callerClientConfig,
+ ...options?.parentClientConfig,
+ region: region ?? options?.parentClientConfig?.region ?? callerClientConfig?.region
+ }
+ }, options.clientPlugins);
+ }
+ if (source_profile && source_profile in visitedProfiles) {
+ throw new CredentialsProviderError(`Detected a cycle attempting to resolve credentials for profile ${getProfileName(options)}. Profiles visited: ` + Object.keys(visitedProfiles).join(", "), { logger: options.logger });
+ }
+ options.logger?.debug(`@aws-sdk/credential-provider-ini - finding credential resolver using ${source_profile ? `source_profile=[${source_profile}]` : `profile=[${profileName}]`}`);
+ const sourceCredsProvider = source_profile ? resolveProfileData2(source_profile, profiles, options, callerClientConfig, {
+ ...visitedProfiles,
+ [source_profile]: true
+ }, isCredentialSourceWithoutRoleArn(profiles[source_profile] ?? {})) : (await resolveCredentialSource(profileData.credential_source, profileName, options.logger)(options))();
+ if (isCredentialSourceWithoutRoleArn(profileData)) {
+ return sourceCredsProvider.then((creds) => setCredentialFeature2(creds, "CREDENTIALS_PROFILE_SOURCE_PROFILE", "o"));
+ } else {
+ const params = {
+ RoleArn: profileData.role_arn,
+ RoleSessionName: profileData.role_session_name || `aws-sdk-js-${Date.now()}`,
+ ExternalId: profileData.external_id,
+ DurationSeconds: parseInt(profileData.duration_seconds || "3600", 10)
+ };
+ const { mfa_serial } = profileData;
+ if (mfa_serial) {
+ if (!options.mfaCodeProvider) {
+ throw new CredentialsProviderError(`Profile ${profileName} requires multi-factor authentication, but no MFA code callback was provided.`, { logger: options.logger, tryNextLink: false });
+ }
+ params.SerialNumber = mfa_serial;
+ params.TokenCode = await options.mfaCodeProvider(mfa_serial);
+ }
+ const sourceCreds = await sourceCredsProvider;
+ return options.roleAssumer(sourceCreds, params).then((creds) => setCredentialFeature2(creds, "CREDENTIALS_PROFILE_SOURCE_PROFILE", "o"));
+ }
+ }, "resolveAssumeRoleCredentials");
+ var isCredentialSourceWithoutRoleArn = /* @__PURE__ */ __name((section) => {
+ return !section.role_arn && !!section.credential_source;
+ }, "isCredentialSourceWithoutRoleArn");
+ var isLoginProfile = /* @__PURE__ */ __name((data) => {
+ return Boolean(data && data.login_session);
+ }, "isLoginProfile");
+ var resolveLoginCredentials = /* @__PURE__ */ __name(async (profileName, options, callerClientConfig) => {
+ const { fromLoginCredentials } = require_dist_cjs11();
+ const credentials = await fromLoginCredentials({
+ ...options,
+ profile: profileName
+ })({ callerClientConfig });
+ return setCredentialFeature2(credentials, "CREDENTIALS_PROFILE_LOGIN", "AC");
+ }, "resolveLoginCredentials");
+ var isProcessProfile = /* @__PURE__ */ __name((arg) => Boolean(arg) && typeof arg === "object" && typeof arg.credential_process === "string", "isProcessProfile");
+ var resolveProcessCredentials = /* @__PURE__ */ __name(async (options, profile) => {
+ const { fromProcess } = require_dist_cjs12();
+ const credentials = await fromProcess({
+ ...options,
+ profile
+ })();
+ return setCredentialFeature2(credentials, "CREDENTIALS_PROFILE_PROCESS", "v");
+ }, "resolveProcessCredentials");
+ var resolveSsoCredentials = /* @__PURE__ */ __name(async (profile, profileData, options = {}, callerClientConfig) => {
+ const { fromSSO } = require_dist_cjs10();
+ return fromSSO({
+ profile,
+ logger: options.logger,
+ parentClientConfig: options.parentClientConfig,
+ clientConfig: options.clientConfig
+ })({
+ callerClientConfig
+ }).then((creds) => {
+ if (profileData.sso_session) {
+ return setCredentialFeature2(creds, "CREDENTIALS_PROFILE_SSO", "r");
+ } else {
+ return setCredentialFeature2(creds, "CREDENTIALS_PROFILE_SSO_LEGACY", "t");
+ }
+ });
+ }, "resolveSsoCredentials");
+ var isSsoProfile = /* @__PURE__ */ __name((arg) => arg && (typeof arg.sso_start_url === "string" || typeof arg.sso_account_id === "string" || typeof arg.sso_session === "string" || typeof arg.sso_region === "string" || typeof arg.sso_role_name === "string"), "isSsoProfile");
+ var isStaticCredsProfile = /* @__PURE__ */ __name((arg) => Boolean(arg) && typeof arg === "object" && typeof arg.aws_access_key_id === "string" && typeof arg.aws_secret_access_key === "string" && ["undefined", "string"].indexOf(typeof arg.aws_session_token) > -1 && ["undefined", "string"].indexOf(typeof arg.aws_account_id) > -1, "isStaticCredsProfile");
+ var resolveStaticCredentials = /* @__PURE__ */ __name(async (profile, options) => {
+ options?.logger?.debug("@aws-sdk/credential-provider-ini - resolveStaticCredentials");
+ const credentials = {
+ accessKeyId: profile.aws_access_key_id,
+ secretAccessKey: profile.aws_secret_access_key,
+ sessionToken: profile.aws_session_token,
+ ...profile.aws_credential_scope && { credentialScope: profile.aws_credential_scope },
+ ...profile.aws_account_id && { accountId: profile.aws_account_id }
+ };
+ return setCredentialFeature2(credentials, "CREDENTIALS_PROFILE", "n");
+ }, "resolveStaticCredentials");
+ var isWebIdentityProfile = /* @__PURE__ */ __name((arg) => Boolean(arg) && typeof arg === "object" && typeof arg.web_identity_token_file === "string" && typeof arg.role_arn === "string" && ["undefined", "string"].indexOf(typeof arg.role_session_name) > -1, "isWebIdentityProfile");
+ var resolveWebIdentityCredentials = /* @__PURE__ */ __name(async (profile, options, callerClientConfig) => {
+ const { fromTokenFile } = require_dist_cjs13();
+ const credentials = await fromTokenFile({
+ webIdentityTokenFile: profile.web_identity_token_file,
+ roleArn: profile.role_arn,
+ roleSessionName: profile.role_session_name,
+ roleAssumerWithWebIdentity: options.roleAssumerWithWebIdentity,
+ logger: options.logger,
+ parentClientConfig: options.parentClientConfig
+ })({
+ callerClientConfig
+ });
+ return setCredentialFeature2(credentials, "CREDENTIALS_PROFILE_STS_WEB_ID_TOKEN", "q");
+ }, "resolveWebIdentityCredentials");
+ var resolveProfileData = /* @__PURE__ */ __name(async (profileName, profiles, options, callerClientConfig, visitedProfiles = {}, isAssumeRoleRecursiveCall = false) => {
+ const data = profiles[profileName];
+ if (Object.keys(visitedProfiles).length > 0 && isStaticCredsProfile(data)) {
+ return resolveStaticCredentials(data, options);
+ }
+ if (isAssumeRoleRecursiveCall || isAssumeRoleProfile(data, { profile: profileName, logger: options.logger })) {
+ return resolveAssumeRoleCredentials(profileName, profiles, options, callerClientConfig, visitedProfiles, resolveProfileData);
+ }
+ if (isStaticCredsProfile(data)) {
+ return resolveStaticCredentials(data, options);
+ }
+ if (isWebIdentityProfile(data)) {
+ return resolveWebIdentityCredentials(data, options, callerClientConfig);
+ }
+ if (isProcessProfile(data)) {
+ return resolveProcessCredentials(options, profileName);
+ }
+ if (isSsoProfile(data)) {
+ return await resolveSsoCredentials(profileName, data, options, callerClientConfig);
+ }
+ if (isLoginProfile(data)) {
+ return resolveLoginCredentials(profileName, options, callerClientConfig);
+ }
+ throw new CredentialsProviderError(`Could not resolve credentials using profile: [${profileName}] in configuration/credentials file(s).`, { logger: options.logger });
+ }, "resolveProfileData");
+ var fromIni = /* @__PURE__ */ __name((init2 = {}) => async ({ callerClientConfig } = {}) => {
+ init2.logger?.debug("@aws-sdk/credential-provider-ini - fromIni");
+ const profiles = await parseKnownFiles(init2);
+ return resolveProfileData(getProfileName({
+ profile: init2.profile ?? callerClientConfig?.profile
+ }), profiles, init2, callerClientConfig);
+ }, "fromIni");
+ exports.fromIni = fromIni;
+ }
+});
+
+// ../../node_modules/.pnpm/@aws-sdk+credential-provider-node@3.972.87/node_modules/@aws-sdk/credential-provider-node/dist-cjs/index.js
+var require_dist_cjs15 = __commonJS({
+ "../../node_modules/.pnpm/@aws-sdk+credential-provider-node@3.972.87/node_modules/@aws-sdk/credential-provider-node/dist-cjs/index.js"(exports) {
+ var { ENV_KEY, ENV_SECRET, fromEnv } = require_dist_cjs5();
+ var { chain, CredentialsProviderError, ENV_PROFILE } = (init_config(), __toCommonJS(config_exports));
+ var ENV_IMDS_DISABLED = "AWS_EC2_METADATA_DISABLED";
+ var remoteProvider = /* @__PURE__ */ __name(async (init2) => {
+ const { ENV_CMDS_FULL_URI, ENV_CMDS_RELATIVE_URI, fromContainerMetadata, fromInstanceMetadata } = require_dist_cjs6();
+ if (process.env[ENV_CMDS_RELATIVE_URI] || process.env[ENV_CMDS_FULL_URI]) {
+ init2.logger?.debug("@aws-sdk/credential-provider-node - remoteProvider::fromHttp/fromContainerMetadata");
+ const { fromHttp } = require_dist_cjs8();
+ return chain(fromHttp(init2), fromContainerMetadata(init2));
+ }
+ if (process.env[ENV_IMDS_DISABLED] && process.env[ENV_IMDS_DISABLED] !== "false") {
+ return async () => {
+ throw new CredentialsProviderError("EC2 Instance Metadata Service access disabled", { logger: init2.logger });
+ };
+ }
+ init2.logger?.debug("@aws-sdk/credential-provider-node - remoteProvider::fromInstanceMetadata");
+ return fromInstanceMetadata(init2);
+ }, "remoteProvider");
+ function memoizeChain(providers, treatAsExpired) {
+ const chain2 = internalCreateChain(providers);
+ let activeLock;
+ let passiveLock;
+ let credentials;
+ let forceRefreshLock;
+ const provider = /* @__PURE__ */ __name(async (options) => {
+ if (options?.forceRefresh) {
+ if (!forceRefreshLock) {
+ forceRefreshLock = chain2(options).then((c5) => {
+ credentials = c5;
+ }).finally(() => {
+ forceRefreshLock = void 0;
+ });
+ }
+ await forceRefreshLock;
+ return credentials;
+ }
+ if (credentials?.expiration) {
+ if (credentials?.expiration?.getTime() < Date.now()) {
+ credentials = void 0;
+ }
+ }
+ if (activeLock) {
+ await activeLock;
+ } else if (!credentials || treatAsExpired?.(credentials)) {
+ if (credentials) {
+ if (!passiveLock) {
+ passiveLock = chain2(options).then((c5) => {
+ credentials = c5;
+ }).catch(() => {
+ }).finally(() => {
+ passiveLock = void 0;
+ });
+ }
+ } else {
+ activeLock = chain2(options).then((c5) => {
+ credentials = c5;
+ }).finally(() => {
+ activeLock = void 0;
+ });
+ return provider(options);
+ }
+ }
+ return credentials;
+ }, "provider");
+ return provider;
+ }
+ __name(memoizeChain, "memoizeChain");
+ var internalCreateChain = /* @__PURE__ */ __name((providers) => async (awsIdentityProperties) => {
+ let lastProviderError;
+ for (const provider of providers) {
+ try {
+ return await provider(awsIdentityProperties);
+ } catch (err) {
+ lastProviderError = err;
+ if (err?.tryNextLink) {
+ continue;
+ }
+ throw err;
+ }
+ }
+ throw lastProviderError;
+ }, "internalCreateChain");
+ var multipleCredentialSourceWarningEmitted = false;
+ var defaultProvider = /* @__PURE__ */ __name((init2 = {}) => memoizeChain([
+ async () => {
+ const profile = init2.profile ?? process.env[ENV_PROFILE];
+ if (profile) {
+ const envStaticCredentialsAreSet = process.env[ENV_KEY] && process.env[ENV_SECRET];
+ if (envStaticCredentialsAreSet) {
+ if (!multipleCredentialSourceWarningEmitted) {
+ const warnFn = init2.logger?.warn && init2.logger?.constructor?.name !== "NoOpLogger" ? init2.logger.warn.bind(init2.logger) : console.warn;
+ warnFn(`@aws-sdk/credential-provider-node - defaultProvider::fromEnv WARNING:
+ Multiple credential sources detected:
+ Both AWS_PROFILE and the pair AWS_ACCESS_KEY_ID/AWS_SECRET_ACCESS_KEY static credentials are set.
+ This SDK will proceed with the AWS_PROFILE value.
+
+ However, a future version may change this behavior to prefer the ENV static credentials.
+ Please ensure that your environment only sets either the AWS_PROFILE or the
+ AWS_ACCESS_KEY_ID/AWS_SECRET_ACCESS_KEY pair.
+`);
+ multipleCredentialSourceWarningEmitted = true;
+ }
+ }
+ throw new CredentialsProviderError("AWS_PROFILE is set, skipping fromEnv provider.", {
+ logger: init2.logger,
+ tryNextLink: true
+ });
+ }
+ init2.logger?.debug("@aws-sdk/credential-provider-node - defaultProvider::fromEnv");
+ return fromEnv(init2)();
+ },
+ async (awsIdentityProperties) => {
+ init2.logger?.debug("@aws-sdk/credential-provider-node - defaultProvider::fromSSO");
+ const { ssoStartUrl, ssoAccountId, ssoRegion, ssoRoleName, ssoSession } = init2;
+ if (!ssoStartUrl && !ssoAccountId && !ssoRegion && !ssoRoleName && !ssoSession) {
+ throw new CredentialsProviderError("Skipping SSO provider in default chain (inputs do not include SSO fields).", { logger: init2.logger });
+ }
+ const { fromSSO } = require_dist_cjs10();
+ return fromSSO(init2)(awsIdentityProperties);
+ },
+ async (awsIdentityProperties) => {
+ init2.logger?.debug("@aws-sdk/credential-provider-node - defaultProvider::fromIni");
+ const { fromIni } = require_dist_cjs14();
+ return fromIni(init2)(awsIdentityProperties);
+ },
+ async (awsIdentityProperties) => {
+ init2.logger?.debug("@aws-sdk/credential-provider-node - defaultProvider::fromProcess");
+ const { fromProcess } = require_dist_cjs12();
+ return fromProcess(init2)(awsIdentityProperties);
+ },
+ async (awsIdentityProperties) => {
+ init2.logger?.debug("@aws-sdk/credential-provider-node - defaultProvider::fromTokenFile");
+ const { fromTokenFile } = require_dist_cjs13();
+ return fromTokenFile(init2)(awsIdentityProperties);
+ },
+ async () => {
+ init2.logger?.debug("@aws-sdk/credential-provider-node - defaultProvider::remoteProvider");
+ return (await remoteProvider(init2))();
+ },
+ async () => {
+ throw new CredentialsProviderError("Could not load credentials from any providers", {
+ tryNextLink: false,
+ logger: init2.logger
+ });
+ }
+ ], credentialsTreatedAsExpired), "defaultProvider");
+ var credentialsWillNeedRefresh = /* @__PURE__ */ __name((credentials) => credentials?.expiration !== void 0, "credentialsWillNeedRefresh");
+ var credentialsTreatedAsExpired = /* @__PURE__ */ __name((credentials) => credentials?.expiration !== void 0 && credentials.expiration.getTime() - Date.now() < 3e5, "credentialsTreatedAsExpired");
+ exports.credentialsTreatedAsExpired = credentialsTreatedAsExpired;
+ exports.credentialsWillNeedRefresh = credentialsWillNeedRefresh;
+ exports.defaultProvider = defaultProvider;
+ }
+});
+
+// ../../node_modules/.pnpm/@aws-sdk+checksums@3.1001.4/node_modules/@aws-sdk/checksums/dist-es/submodules/sha/sha1/Sha1Js.js
+var BLOCK, DIGEST_LENGTH, INIT, K, Sha1Js;
+var init_Sha1Js = __esm({
+ "../../node_modules/.pnpm/@aws-sdk+checksums@3.1001.4/node_modules/@aws-sdk/checksums/dist-es/submodules/sha/sha1/Sha1Js.js"() {
+ init_serde();
+ BLOCK = 64;
+ DIGEST_LENGTH = 20;
+ INIT = new Int32Array([1732584193, 4023233417, 2562383102, 271733878, 3285377520]);
+ K = new Int32Array([1518500249, 1859775393, 2400959708, 3395469782]);
+ Sha1Js = class _Sha1Js {
+ static {
+ __name(this, "Sha1Js");
+ }
+ digestLength = DIGEST_LENGTH;
+ state = Int32Array.from(INIT);
+ w;
+ buffer = new Uint8Array(BLOCK);
+ bufferLength = 0;
+ bytesHashed = 0;
+ finished = false;
+ inner;
+ outer;
+ constructor(secret) {
+ if (secret) {
+ const key = _Sha1Js.normalizeKey(secret);
+ this.inner = new _Sha1Js();
+ this.outer = new _Sha1Js();
+ const pad = new Uint8Array(BLOCK * 2);
+ for (let i5 = 0; i5 < BLOCK; ++i5) {
+ pad[i5] = 54 ^ key[i5];
+ pad[i5 + BLOCK] = 92 ^ key[i5];
+ }
+ this.inner.update(pad.subarray(0, BLOCK));
+ this.outer.update(pad.subarray(BLOCK));
+ }
+ }
+ update(data) {
+ if (this.finished) {
+ throw new Error("Attempted to update an already finished HMAC.");
+ }
+ if (this.inner) {
+ this.inner.update(data);
+ return;
+ }
+ let pos = 0;
+ let { length } = data;
+ this.bytesHashed += length;
+ if (this.bufferLength > 0) {
+ while (length > 0 && this.bufferLength < BLOCK) {
+ this.buffer[this.bufferLength++] = data[pos++];
+ --length;
+ }
+ if (this.bufferLength === BLOCK) {
+ this.hashBuffer(this.buffer, 0);
+ this.bufferLength = 0;
+ }
+ }
+ while (length >= BLOCK) {
+ this.hashBuffer(data, pos);
+ pos += BLOCK;
+ length -= BLOCK;
+ }
+ while (length > 0) {
+ this.buffer[this.bufferLength++] = data[pos++];
+ --length;
+ }
+ }
+ async digest() {
+ if (this.inner && this.outer) {
+ if (this.finished) {
+ throw new Error("Attempted to digest an already finished HMAC.");
+ }
+ this.finished = true;
+ const innerDigest = this.inner.digestSync();
+ this.outer.update(innerDigest);
+ return this.outer.digestSync();
+ }
+ return this.digestSync();
+ }
+ reset() {
+ this.state = Int32Array.from(INIT);
+ this.buffer = new Uint8Array(BLOCK);
+ this.bufferLength = 0;
+ this.bytesHashed = 0;
+ }
+ digestSync() {
+ const state2 = this.state.slice();
+ const buffer = this.buffer.slice();
+ let bufferLength = this.bufferLength;
+ const bitsHi = this.bytesHashed / 536870912 | 0;
+ const bitsLo = this.bytesHashed << 3;
+ buffer[bufferLength++] = 128;
+ if (bufferLength > BLOCK - 8) {
+ for (let i5 = bufferLength; i5 < BLOCK; ++i5) {
+ buffer[i5] = 0;
+ }
+ this.hashBufferWith(state2, buffer, 0);
+ bufferLength = 0;
+ }
+ for (let i5 = bufferLength; i5 < BLOCK - 8; ++i5) {
+ buffer[i5] = 0;
+ }
+ const v = new DataView(buffer.buffer, buffer.byteOffset, BLOCK);
+ v.setUint32(BLOCK - 8, bitsHi, false);
+ v.setUint32(BLOCK - 4, bitsLo, false);
+ this.hashBufferWith(state2, buffer, 0);
+ const out = new Uint8Array(DIGEST_LENGTH);
+ out[0] = state2[0] >>> 24 & 255;
+ out[1] = state2[0] >>> 16 & 255;
+ out[2] = state2[0] >>> 8 & 255;
+ out[3] = state2[0] & 255;
+ out[4] = state2[1] >>> 24 & 255;
+ out[5] = state2[1] >>> 16 & 255;
+ out[6] = state2[1] >>> 8 & 255;
+ out[7] = state2[1] & 255;
+ out[8] = state2[2] >>> 24 & 255;
+ out[9] = state2[2] >>> 16 & 255;
+ out[10] = state2[2] >>> 8 & 255;
+ out[11] = state2[2] & 255;
+ out[12] = state2[3] >>> 24 & 255;
+ out[13] = state2[3] >>> 16 & 255;
+ out[14] = state2[3] >>> 8 & 255;
+ out[15] = state2[3] & 255;
+ out[16] = state2[4] >>> 24 & 255;
+ out[17] = state2[4] >>> 16 & 255;
+ out[18] = state2[4] >>> 8 & 255;
+ out[19] = state2[4] & 255;
+ return out;
+ }
+ static normalizeKey(secret) {
+ const key = toUint8Array(secret);
+ if (key.byteLength > BLOCK) {
+ const h5 = new _Sha1Js();
+ h5.update(key);
+ const digest2 = h5.digestSync();
+ const padded2 = new Uint8Array(BLOCK);
+ padded2.set(digest2);
+ return padded2;
+ }
+ const padded = new Uint8Array(BLOCK);
+ padded.set(key);
+ return padded;
+ }
+ hashBuffer(data, offset) {
+ this.hashBufferWith(this.state, data, offset);
+ }
+ hashBufferWith(state2, data, offset) {
+ const w = this.w ??= new Int32Array(80);
+ let s0 = state2[0], s1 = state2[1], s2 = state2[2], s3 = state2[3], s4 = state2[4];
+ for (let t = 0; t < 16; ++t) {
+ w[t] = (data[offset + t * 4] & 255) << 24 | (data[offset + t * 4 + 1] & 255) << 16 | (data[offset + t * 4 + 2] & 255) << 8 | data[offset + t * 4 + 3] & 255;
+ }
+ for (let t = 16; t < 80; ++t) {
+ const x = w[t - 3] ^ w[t - 8] ^ w[t - 14] ^ w[t - 16];
+ w[t] = x << 1 | x >>> 31;
+ }
+ for (let t = 0; t < 80; ++t) {
+ const r5 = t < 20 ? 0 : t < 40 ? 1 : t < 60 ? 2 : 3;
+ const temp = ((s0 << 5 | s0 >>> 27) + (r5 === 0 ? s1 & s2 ^ ~s1 & s3 : r5 === 2 ? s1 & s2 ^ s1 & s3 ^ s2 & s3 : s1 ^ s2 ^ s3) | 0) + (s4 + (K[r5] + w[t] | 0) | 0) | 0;
+ s4 = s3;
+ s3 = s2;
+ s2 = s1 << 30 | s1 >>> 2;
+ s1 = s0;
+ s0 = temp;
+ }
+ state2[0] = state2[0] + s0 | 0;
+ state2[1] = state2[1] + s1 | 0;
+ state2[2] = state2[2] + s2 | 0;
+ state2[3] = state2[3] + s3 | 0;
+ state2[4] = state2[4] + s4 | 0;
+ }
+ };
+ }
+});
+
+// ../../node_modules/.pnpm/@aws-sdk+checksums@3.1001.4/node_modules/@aws-sdk/checksums/dist-es/submodules/sha/sha1/Sha1Node.js
+import { createHash as createHash2, createHmac } from "node:crypto";
+function buildNativeClass() {
+ return class Sha1Node {
+ static {
+ __name(this, "Sha1Node");
+ }
+ digestLength = 20;
+ secret;
+ hash;
+ isHmac;
+ finished = false;
+ constructor(secret) {
+ this.secret = secret;
+ this.isHmac = !!secret;
+ this.hash = this.createHash();
+ }
+ update(data) {
+ if (this.finished) {
+ throw new Error("Attempted to update an already finished hash.");
+ }
+ this.hash.update(data);
+ }
+ async digest() {
+ let buf;
+ if (this.isHmac) {
+ this.finished = true;
+ buf = this.hash.digest();
+ } else {
+ buf = this.hash.copy().digest();
+ }
+ return new Uint8Array(buf.buffer, buf.byteOffset, buf.byteLength);
+ }
+ reset() {
+ this.hash = this.createHash();
+ this.finished = false;
+ }
+ createHash() {
+ return this.secret ? createHmac("sha1", toBuffer(this.secret)) : createHash2("sha1");
+ }
+ };
+}
+function toBuffer(data) {
+ if (typeof data === "string") {
+ return data;
+ }
+ if (ArrayBuffer.isView(data)) {
+ return Buffer.from(data.buffer, data.byteOffset, data.byteLength);
+ }
+ return Buffer.from(data);
+}
+var hasNativeCrypto, Sha1Node;
+var init_Sha1Node = __esm({
+ "../../node_modules/.pnpm/@aws-sdk+checksums@3.1001.4/node_modules/@aws-sdk/checksums/dist-es/submodules/sha/sha1/Sha1Node.js"() {
+ init_Sha1Js();
+ hasNativeCrypto = (() => {
+ try {
+ createHash2("sha1");
+ return true;
+ } catch {
+ return false;
+ }
+ })();
+ Sha1Node = hasNativeCrypto ? buildNativeClass() : Sha1Js;
+ __name(buildNativeClass, "buildNativeClass");
+ __name(toBuffer, "toBuffer");
+ }
+});
+
+// ../../node_modules/.pnpm/@aws-sdk+checksums@3.1001.4/node_modules/@aws-sdk/checksums/dist-es/submodules/sha/sha1/Sha1WebCrypto.js
+var digest, sign, importKey, subtle, MAX_PENDING_BYTES, Sha1WebCrypto;
+var init_Sha1WebCrypto = __esm({
+ "../../node_modules/.pnpm/@aws-sdk+checksums@3.1001.4/node_modules/@aws-sdk/checksums/dist-es/submodules/sha/sha1/Sha1WebCrypto.js"() {
+ init_serde();
+ init_Sha1Js();
+ ({ digest, sign, importKey } = globalThis?.crypto?.subtle ?? {});
+ subtle = typeof digest === "function" && typeof sign === "function" && typeof importKey === "function" ? globalThis.crypto.subtle : void 0;
+ MAX_PENDING_BYTES = 8 * 1024 * 1024;
+ Sha1WebCrypto = class {
+ static {
+ __name(this, "Sha1WebCrypto");
+ }
+ digestLength = 20;
+ secret;
+ pending = [];
+ pendingBytes = 0;
+ fallback;
+ finished = false;
+ constructor(secret) {
+ if (secret) {
+ this.secret = toUint8Array(secret);
+ }
+ }
+ update(data) {
+ if (this.finished) {
+ throw new Error("Attempted to update an already finished HMAC.");
+ }
+ if (this.fallback) {
+ this.fallback.update(data);
+ return;
+ }
+ this.pending.push(data.slice());
+ this.pendingBytes += data.byteLength;
+ if (this.pendingBytes >= MAX_PENDING_BYTES) {
+ this.switchToFallback();
+ }
+ }
+ async digest() {
+ if (this.fallback) {
+ return this.fallback.digest();
+ }
+ if (this.secret && this.finished) {
+ throw new Error("Attempted to digest an already finished HMAC.");
+ }
+ const data = concatBytes(this.pending);
+ if (subtle) {
+ if (this.secret) {
+ this.finished = true;
+ const key = await subtle.importKey("raw", this.secret, { name: "HMAC", hash: "SHA-1" }, false, ["sign"]);
+ const sig = await subtle.sign("HMAC", key, data);
+ return new Uint8Array(sig);
+ }
+ const hash3 = await subtle.digest("SHA-1", data);
+ return new Uint8Array(hash3);
+ }
+ const sha1 = new Sha1Js(this.secret);
+ sha1.update(data);
+ return sha1.digest();
+ }
+ reset() {
+ this.pending = [];
+ this.pendingBytes = 0;
+ this.fallback = void 0;
+ this.finished = false;
+ }
+ switchToFallback() {
+ const sha1Js = new Sha1Js(this.secret);
+ for (const chunk of this.pending) {
+ sha1Js.update(chunk);
+ }
+ this.fallback = sha1Js;
+ this.pending = [];
+ this.pendingBytes = 0;
+ }
+ };
+ }
+});
+
+// ../../node_modules/.pnpm/@aws-sdk+checksums@3.1001.4/node_modules/@aws-sdk/checksums/dist-es/submodules/sha/index.js
+var sha_exports = {};
+__export(sha_exports, {
+ Sha1: () => Sha1Node,
+ Sha1Js: () => Sha1Js,
+ Sha1Node: () => Sha1Node,
+ Sha1WebCrypto: () => Sha1WebCrypto,
+ Sha256: () => Sha256Node,
+ Sha256Js: () => Sha256Js,
+ Sha256Node: () => Sha256Node
+});
+var init_sha = __esm({
+ "../../node_modules/.pnpm/@aws-sdk+checksums@3.1001.4/node_modules/@aws-sdk/checksums/dist-es/submodules/sha/index.js"() {
+ init_Sha1Js();
+ init_Sha1Node();
+ init_Sha1WebCrypto();
+ init_checksum();
+ }
+});
+
+// ../../node_modules/.pnpm/@aws-sdk+client-s3@3.1154.0/node_modules/@aws-sdk/client-s3/dist-cjs/index.js
+var require_dist_cjs16 = __commonJS({
+ "../../node_modules/.pnpm/@aws-sdk+client-s3@3.1154.0/node_modules/@aws-sdk/client-s3/dist-cjs/index.js"(exports) {
+ var { getFlexibleChecksumsPlugin: getFlexibleChecksumsPlugin2, NODE_RESPONSE_CHECKSUM_VALIDATION_CONFIG_OPTIONS: NODE_RESPONSE_CHECKSUM_VALIDATION_CONFIG_OPTIONS2, NODE_REQUEST_CHECKSUM_CALCULATION_CONFIG_OPTIONS: NODE_REQUEST_CHECKSUM_CALCULATION_CONFIG_OPTIONS2, resolveFlexibleChecksumsConfig: resolveFlexibleChecksumsConfig2 } = (init_flexible_checksums(), __toCommonJS(flexible_checksums_exports));
+ var { awsEndpointFunctions: awsEndpointFunctions2, emitWarningIfUnsupportedVersion: emitWarningIfUnsupportedVersion$1, createDefaultUserAgentProvider: createDefaultUserAgentProvider2, NODE_APP_ID_CONFIG_OPTIONS: NODE_APP_ID_CONFIG_OPTIONS2, getAwsRegionExtensionConfiguration: getAwsRegionExtensionConfiguration2, resolveAwsRegionExtensionConfiguration: resolveAwsRegionExtensionConfiguration2, resolveUserAgentConfig: resolveUserAgentConfig2, resolveHostHeaderConfig: resolveHostHeaderConfig2, getUserAgentPlugin: getUserAgentPlugin2, getHostHeaderPlugin: getHostHeaderPlugin2, getLoggerPlugin: getLoggerPlugin2, getRecursionDetectionPlugin: getRecursionDetectionPlugin2 } = (init_client2(), __toCommonJS(client_exports2));
+ var { getThrow200ExceptionsPlugin: getThrow200ExceptionsPlugin2, getSsecPlugin: getSsecPlugin2, getLocationConstraintPlugin: getLocationConstraintPlugin2, getS3ExpiresMiddlewarePlugin: getS3ExpiresMiddlewarePlugin2, getCheckContentLengthHeaderPlugin: getCheckContentLengthHeaderPlugin2, S3RestXmlProtocol: S3RestXmlProtocol2, NODE_USE_ARN_REGION_CONFIG_OPTIONS: NODE_USE_ARN_REGION_CONFIG_OPTIONS2, NODE_DISABLE_S3_EXPRESS_SESSION_AUTH_OPTIONS: NODE_DISABLE_S3_EXPRESS_SESSION_AUTH_OPTIONS2, resolveS3Config: resolveS3Config2, getValidateBucketNamePlugin: getValidateBucketNamePlugin2, getAddExpectContinuePlugin: getAddExpectContinuePlugin2, getRegionRedirectMiddlewarePlugin: getRegionRedirectMiddlewarePlugin2, getS3ExpressPlugin: getS3ExpressPlugin2, getS3ExpressHttpSigningPlugin: getS3ExpressHttpSigningPlugin2 } = (init_s3(), __toCommonJS(s3_exports));
+ var { getHttpAuthSchemeEndpointRuleSetPlugin: getHttpAuthSchemeEndpointRuleSetPlugin2, DefaultIdentityProviderConfig: DefaultIdentityProviderConfig2, getHttpSigningPlugin: getHttpSigningPlugin2, createPaginator: createPaginator2 } = (init_dist_es(), __toCommonJS(dist_es_exports));
+ var { normalizeProvider: normalizeProvider3, getSmithyContext: getSmithyContext2, makeBuilder: makeBuilder2, ServiceException: ServiceException2, NoOpLogger: NoOpLogger2, emitWarningIfUnsupportedVersion: emitWarningIfUnsupportedVersion3, loadConfigsForDefaultMode: loadConfigsForDefaultMode2, getDefaultExtensionConfiguration: getDefaultExtensionConfiguration2, resolveDefaultRuntimeConfig: resolveDefaultRuntimeConfig2, Client: Client2, createWaiter, checkExceptions, WaiterState, createAggregatedClient: createAggregatedClient2 } = (init_client(), __toCommonJS(client_exports));
+ var { Command: $Command } = (init_client(), __toCommonJS(client_exports));
+ exports.$Command = $Command;
+ exports.__Client = Client2;
+ var { resolveDefaultsModeConfig: resolveDefaultsModeConfig2, loadConfig: loadConfig2, NODE_USE_FIPS_ENDPOINT_CONFIG_OPTIONS: NODE_USE_FIPS_ENDPOINT_CONFIG_OPTIONS2, NODE_USE_DUALSTACK_ENDPOINT_CONFIG_OPTIONS: NODE_USE_DUALSTACK_ENDPOINT_CONFIG_OPTIONS2, NODE_REGION_CONFIG_OPTIONS: NODE_REGION_CONFIG_OPTIONS2, NODE_REGION_CONFIG_FILE_OPTIONS: NODE_REGION_CONFIG_FILE_OPTIONS2, resolveRegionConfig: resolveRegionConfig2 } = (init_config(), __toCommonJS(config_exports));
+ var { BinaryDecisionDiagram: BinaryDecisionDiagram2, EndpointCache: EndpointCache2, decideEndpoint: decideEndpoint2, customEndpointFunctions: customEndpointFunctions2, resolveParams: resolveParams2, getEndpointPlugin: getEndpointPlugin2, resolveEndpointConfig: resolveEndpointConfig2 } = (init_endpoints(), __toCommonJS(endpoints_exports));
+ var { eventStreamSerdeProvider, resolveEventStreamSerdeConfig } = (init_event_streams(), __toCommonJS(event_streams_exports));
+ var { parseUrl: parseUrl2, getHttpHandlerExtensionConfiguration: getHttpHandlerExtensionConfiguration2, resolveHttpHandlerRuntimeConfig: resolveHttpHandlerRuntimeConfig2, getContentLengthPlugin: getContentLengthPlugin2 } = (init_protocols(), __toCommonJS(protocols_exports));
+ var { DEFAULT_RETRY_MODE: DEFAULT_RETRY_MODE2, NODE_RETRY_MODE_CONFIG_OPTIONS: NODE_RETRY_MODE_CONFIG_OPTIONS2, NODE_MAX_ATTEMPT_CONFIG_OPTIONS: NODE_MAX_ATTEMPT_CONFIG_OPTIONS2, resolveRetryConfig: resolveRetryConfig2, getRetryPlugin: getRetryPlugin2 } = (init_retry(), __toCommonJS(retry_exports));
+ var { TypeRegistry: TypeRegistry2, getSchemaSerdePlugin: getSchemaSerdePlugin2 } = (init_schema(), __toCommonJS(schema_exports));
+ var { resolveAwsSdkSigV4Config: resolveAwsSdkSigV4Config2, resolveAwsSdkSigV4AConfig: resolveAwsSdkSigV4AConfig2, AwsSdkSigV4Signer: AwsSdkSigV4Signer2, AwsSdkSigV4ASigner: AwsSdkSigV4ASigner2, NODE_SIGV4A_CONFIG_OPTIONS: NODE_SIGV4A_CONFIG_OPTIONS2, NODE_AUTH_SCHEME_PREFERENCE_OPTIONS: NODE_AUTH_SCHEME_PREFERENCE_OPTIONS2 } = (init_httpAuthSchemes2(), __toCommonJS(httpAuthSchemes_exports));
+ var { SignatureV4MultiRegion: SignatureV4MultiRegion3 } = require_dist_cjs3();
+ var { defaultProvider } = require_dist_cjs15();
+ var { Sha256, Md5, readableStreamHasher } = (init_checksum(), __toCommonJS(checksum_exports));
+ var { toUtf8: toUtf82, fromUtf8: fromUtf82, sdkStreamMixin: sdkStreamMixin2, getAwsChunkedEncodingStream, toBase64: toBase642, fromBase64: fromBase642, calculateBodyLength: calculateBodyLength2 } = (init_serde(), __toCommonJS(serde_exports));
+ var { streamCollector: streamCollector5, NodeHttpHandler } = require_dist_cjs7();
+ var { Sha1 } = (init_sha(), __toCommonJS(sha_exports));
+ var aw = "ref";
+ var ax = "argv";
+ var ay = "backend";
+ var az = "authSchemes";
+ var aA = "disableDoubleEncoding";
+ var aB = "signingName";
+ var aC = "signingRegion";
+ var aD = "signingRegionSet";
+ var a5 = -1;
+ var b5 = true;
+ var c5 = false;
+ var d5 = "isSet";
+ var e5 = "booleanEquals";
+ var f5 = "stringEquals";
+ var g5 = "coalesce";
+ var h5 = "substring";
+ var i5 = "";
+ var j5 = "aws.partition";
+ var k5 = "partitionResult";
+ var l3 = "accessPointSuffix";
+ var m3 = "regionPrefix";
+ var n3 = /* @__PURE__ */ __name((n4) => "outpostId_ssa_" + n4 + i5, "n");
+ var o3 = "hardwareType";
+ var p3 = "ite";
+ var q3 = "isValidHostLabel";
+ var s2 = "sigv4";
+ var t = "aws.isVirtualHostableS3Bucket";
+ var u = "url";
+ var v = "getAttr";
+ var w = "bucketArn";
+ var x = "--";
+ var y = "arnType";
+ var z2 = "accesspoint";
+ var A = /* @__PURE__ */ __name((n4) => "accessPointName_ssa_" + n4 + i5, "A");
+ var B = "s3-object-lambda";
+ var C = "s3-outposts";
+ var D = "bucketPartition";
+ var E = "us-east-1";
+ var F = "outpostType";
+ var G = "name";
+ var H = "s3";
+ var I = "{url#scheme}://{Bucket}.{url#authority}{url#path}";
+ var J = "{url#scheme}://{url#authority}{url#path}";
+ var K2 = "{url#scheme}://{url#authority}{url#normalizedPath}{Bucket}";
+ var L = "https://{Bucket}.s3-accelerate.{partitionResult#dnsSuffix}";
+ var M = "https://{Bucket}.s3.{partitionResult#dnsSuffix}";
+ var N = /* @__PURE__ */ __name((n4) => "{url#scheme}://{accessPointName_ssa_" + n4 + "}-{bucketArn#accountId}.{url#authority}{url#path}", "N");
+ var O = /* @__PURE__ */ __name((n4) => "Invalid ARN: The access point name may only contain a-z, A-Z, 0-9 and `-`. Found: `{accessPointName_ssa_" + n4 + "}`", "O");
+ var P = "sigv4a";
+ var Q = "{url#scheme}://{url#authority}{url#normalizedPath}{uri_encoded_bucket}";
+ var R = "https://s3.{partitionResult#dnsSuffix}/{uri_encoded_bucket}";
+ var S = "https://s3.{partitionResult#dnsSuffix}";
+ var T2 = { [aw]: "UseFIPS" };
+ var U = { [aw]: "UseDualStack" };
+ var V = { [aw]: "Bucket" };
+ var W = { "fn": v, [ax]: [{ [aw]: k5 }, G] };
+ var X = { [aw]: u };
+ var Y = { [aw]: "Region" };
+ var Z = { [aw]: w };
+ var aa = { [aw]: y };
+ var ab = { [aw]: "accessPointName_ssa_1" };
+ var ac = { "fn": v, [ax]: [Z, "region"] };
+ var ad = { [aw]: o3 };
+ var ae = { "fn": v, [ax]: [Z, "service"] };
+ var af = { "fn": v, [ax]: [Z, "accountId"] };
+ var ag = { [ay]: "S3Express", [az]: [{ [aA]: true, [G]: "{_s3e_auth}", [aB]: "s3express", [aC]: "{Region}" }] };
+ var ah = { [ay]: "S3Express", [az]: [{ [aA]: true, [G]: s2, [aB]: "s3express", [aC]: "{Region}" }] };
+ var ai = { [az]: [{ [aA]: true, [G]: P, [aB]: C, [aD]: ["*"] }, { [aA]: true, [G]: s2, [aB]: C, [aC]: "{Region}" }] };
+ var aj = { [az]: [{ [aA]: true, [G]: s2, [aB]: H, [aC]: E }] };
+ var ak = { [az]: [{ [aA]: true, [G]: s2, [aB]: H, [aC]: "{Region}" }] };
+ var al = { [az]: [{ [aA]: true, [G]: s2, [aB]: B, [aC]: "{bucketArn#region}" }] };
+ var am = { [az]: [{ [aA]: true, [G]: s2, [aB]: H, [aC]: "{bucketArn#region}" }] };
+ var an = { [az]: [{ [aA]: true, [G]: P, [aB]: C, [aD]: ["*"] }, { [aA]: true, [G]: s2, [aB]: C, [aC]: "{bucketArn#region}" }] };
+ var ao = { [az]: [{ [aA]: true, [G]: s2, [aB]: B, [aC]: "{Region}" }] };
+ var ap = [Y];
+ var aq = [{ [aw]: "Endpoint" }];
+ var as = [V];
+ var at = [V, 0, 7, true];
+ var au = [Z, "resourceId[1]"];
+ var av = ["*"];
+ var _data5 = {
+ conditions: [
+ [d5, ap],
+ [e5, [{ [aw]: "Accelerate" }, b5]],
+ [e5, [T2, b5]],
+ [e5, [U, b5]],
+ [d5, aq],
+ [d5, as],
+ [f5, [{ fn: g5, [ax]: [{ fn: h5, [ax]: [V, 0, 6, b5] }, i5] }, "--x-s3"]],
+ [f5, [{ fn: g5, [ax]: [{ fn: h5, [ax]: at }, i5] }, "--xa-s3"]],
+ [j5, ap, k5],
+ [h5, at, l3],
+ [f5, [{ [aw]: l3 }, "--op-s3"]],
+ [h5, [V, 8, 12, b5], m3],
+ [h5, [V, 32, 49, b5], n3(2)],
+ [h5, [V, 49, 50, b5], o3],
+ [e5, [{ [aw]: "ForcePathStyle" }, b5]],
+ [f5, [W, "aws-cn"]],
+ [p3, [U, ".dualstack", i5], "_s3e_ds"],
+ [q3, [{ [aw]: n3(2) }, c5]],
+ [p3, [T2, "-fips", i5], "_s3e_fips"],
+ [p3, [{ fn: g5, [ax]: [{ [aw]: "DisableS3ExpressSessionAuth" }, c5] }, s2, "sigv4-s3express"], "_s3e_auth"],
+ [t, [V, c5]],
+ ["parseURL", aq, u],
+ [e5, [{ fn: g5, [ax]: [{ [aw]: "UseS3ExpressControlEndpoint" }, c5] }, b5]],
+ [t, [V, b5]],
+ [f5, [{ fn: v, [ax]: [X, "scheme"] }, "http"]],
+ [q3, [Y, c5]],
+ ["aws.parseArn", as, w],
+ [v, [{ fn: "split", [ax]: [V, x, 0] }, "[-2]"], "s3expressAvailabilityZoneId"],
+ [f5, [{ fn: g5, [ax]: [{ fn: h5, [ax]: [V, 0, 4, c5] }, i5] }, "arn:"]],
+ [f5, [{ fn: g5, [ax]: [{ fn: h5, [ax]: [V, 16, 18, b5] }, i5] }, x]],
+ [e5, [{ fn: v, [ax]: [X, "isIp"] }, b5]],
+ [f5, [{ fn: g5, [ax]: [{ fn: h5, [ax]: [V, 21, 23, b5] }, i5] }, x]],
+ [f5, [{ fn: g5, [ax]: [{ fn: h5, [ax]: [V, 27, 29, b5] }, i5] }, x]],
+ [f5, [{ [aw]: m3 }, "beta"]],
+ ["uriEncode", as, "uri_encoded_bucket"],
+ [q3, [Y, b5]],
+ [e5, [{ fn: g5, [ax]: [{ [aw]: "UseObjectLambdaEndpoint" }, c5] }, b5]],
+ [v, [Z, "resourceId[0]"], y],
+ [f5, [aa, i5]],
+ [f5, [aa, z2]],
+ [v, au, A(1)],
+ [f5, [ab, i5]],
+ [f5, [ac, i5]],
+ [f5, [{ fn: g5, [ax]: [{ fn: h5, [ax]: [V, 14, 16, b5] }, i5] }, x]],
+ [f5, [ad, "e"]],
+ [f5, [ad, "o"]],
+ [f5, [Y, "aws-global"]],
+ [f5, [{ fn: g5, [ax]: [{ fn: h5, [ax]: [V, 19, 21, b5] }, i5] }, x]],
+ [f5, [ae, B]],
+ [e5, [{ fn: g5, [ax]: [{ [aw]: "DisableAccessPoints" }, c5] }, b5]],
+ [f5, [ae, C]],
+ [j5, [ac], D],
+ [q3, [ab, b5]],
+ [f5, [{ fn: g5, [ax]: [{ fn: h5, [ax]: [V, 26, 28, b5] }, i5] }, x]],
+ [f5, [{ fn: g5, [ax]: [{ fn: h5, [ax]: [V, 15, 17, b5] }, i5] }, x]],
+ [v, [Z, "resourceId[4]"]],
+ [f5, [{ fn: g5, [ax]: [{ fn: h5, [ax]: [V, 20, 22, b5] }, i5] }, x]],
+ [e5, [{ [aw]: "UseGlobalEndpoint" }, b5]],
+ [f5, [Y, E]],
+ [v, au, n3(1)],
+ [e5, [{ fn: g5, [ax]: [{ [aw]: "UseArnRegion" }, b5] }, b5]],
+ [q3, [{ [aw]: n3(1) }, c5]],
+ [v, [Z, "resourceId[2]"], F],
+ [f5, [Y, ac]],
+ [f5, [{ fn: v, [ax]: [{ [aw]: D }, G] }, W]],
+ [e5, [{ [aw]: "DisableMultiRegionAccessPoints" }, b5]],
+ [q3, [ac, b5]],
+ [f5, [{ fn: v, [ax]: [Z, "partition"] }, W]],
+ [f5, [af, i5]],
+ [f5, [ae, H]],
+ [q3, [af, c5]],
+ [v, [Z, "resourceId[3]"], A(2)],
+ [q3, [ab, c5]],
+ [f5, [{ [aw]: F }, z2]],
+ [q3, [{ [aw]: A(2) }, c5]]
+ ],
+ results: [
+ [a5],
+ [a5, "Accelerate cannot be used with FIPS"],
+ [a5, "Cannot set dual-stack in combination with a custom endpoint."],
+ [a5, "A custom endpoint cannot be combined with FIPS"],
+ [a5, "A custom endpoint cannot be combined with S3 Accelerate"],
+ [a5, "Partition does not support FIPS"],
+ [a5, "S3Express does not support S3 Accelerate."],
+ ["{url#scheme}://{url#authority}/{uri_encoded_bucket}{url#path}", ag],
+ [I, ag],
+ [a5, "S3Express bucket name is not a valid virtual hostable name."],
+ ["https://s3express-control{_s3e_fips}{_s3e_ds}.{Region}.{partitionResult#dnsSuffix}/{uri_encoded_bucket}", ah],
+ ["https://{Bucket}.s3express{_s3e_fips}-{s3expressAvailabilityZoneId}{_s3e_ds}.{Region}.{partitionResult#dnsSuffix}", ag],
+ [a5, "Unrecognized S3Express bucket name format."],
+ [J, ag],
+ ["https://s3express-control{_s3e_fips}{_s3e_ds}.{Region}.{partitionResult#dnsSuffix}", ah],
+ [a5, "Expected a endpoint to be specified but no endpoint was found"],
+ ["https://{Bucket}.ec2.{url#authority}", ai],
+ ["https://{Bucket}.ec2.s3-outposts.{Region}.{partitionResult#dnsSuffix}", ai],
+ ["https://{Bucket}.op-{outpostId_ssa_2}.{url#authority}", ai],
+ ["https://{Bucket}.op-{outpostId_ssa_2}.s3-outposts.{Region}.{partitionResult#dnsSuffix}", ai],
+ [a5, 'Unrecognized hardware type: "Expected hardware type o or e but got {hardwareType}"'],
+ [a5, "Invalid Outposts Bucket alias - it must be a valid bucket name."],
+ [a5, "Invalid ARN: The outpost Id must only contain a-z, A-Z, 0-9 and `-`."],
+ [a5, "Custom endpoint `{Endpoint}` was not a valid URI"],
+ [a5, "S3 Accelerate cannot be used in this region"],
+ ["https://{Bucket}.s3-fips.dualstack.us-east-1.{partitionResult#dnsSuffix}", aj],
+ ["https://{Bucket}.s3-fips.dualstack.{Region}.{partitionResult#dnsSuffix}", ak],
+ ["https://{Bucket}.s3-fips.us-east-1.{partitionResult#dnsSuffix}", aj],
+ ["https://{Bucket}.s3-fips.{Region}.{partitionResult#dnsSuffix}", ak],
+ ["https://{Bucket}.s3-accelerate.dualstack.us-east-1.{partitionResult#dnsSuffix}", aj],
+ ["https://{Bucket}.s3-accelerate.dualstack.{partitionResult#dnsSuffix}", ak],
+ ["https://{Bucket}.s3.dualstack.us-east-1.{partitionResult#dnsSuffix}", aj],
+ ["https://{Bucket}.s3.dualstack.{Region}.{partitionResult#dnsSuffix}", ak],
+ [K2, aj],
+ [I, aj],
+ [K2, ak],
+ [I, ak],
+ [L, aj],
+ [L, ak],
+ [M, aj],
+ [M, ak],
+ ["https://{Bucket}.s3.{Region}.{partitionResult#dnsSuffix}", ak],
+ [a5, "Invalid region: region was not a valid DNS name."],
+ [a5, "S3 Object Lambda does not support Dual-stack"],
+ [a5, "S3 Object Lambda does not support S3 Accelerate"],
+ [a5, "Access points are not supported for this operation"],
+ [a5, "Invalid configuration: region from ARN `{bucketArn#region}` does not match client region `{Region}` and UseArnRegion is `false`"],
+ [a5, "Invalid ARN: Missing account id"],
+ [N(1), al],
+ ["https://{accessPointName_ssa_1}-{bucketArn#accountId}.s3-object-lambda-fips.{bucketArn#region}.{bucketPartition#dnsSuffix}", al],
+ ["https://{accessPointName_ssa_1}-{bucketArn#accountId}.s3-object-lambda.{bucketArn#region}.{bucketPartition#dnsSuffix}", al],
+ [a5, O(1)],
+ [a5, "Invalid ARN: The account id may only contain a-z, A-Z, 0-9 and `-`. Found: `{bucketArn#accountId}`"],
+ [a5, "Invalid region in ARN: `{bucketArn#region}` (invalid DNS name)"],
+ [a5, "Client was configured for partition `{partitionResult#name}` but ARN (`{Bucket}`) has `{bucketPartition#name}`"],
+ [a5, "Invalid ARN: The ARN may only contain a single resource component after `accesspoint`."],
+ [a5, "Invalid ARN: bucket ARN is missing a region"],
+ [a5, "Invalid ARN: Expected a resource of the format `accesspoint:` but no name was provided"],
+ [a5, "Invalid ARN: Object Lambda ARNs only support `accesspoint` arn types, but found: `{arnType}`"],
+ [a5, "Access Points do not support S3 Accelerate"],
+ ["https://{accessPointName_ssa_1}-{bucketArn#accountId}.s3-accesspoint-fips.dualstack.{bucketArn#region}.{bucketPartition#dnsSuffix}", am],
+ ["https://{accessPointName_ssa_1}-{bucketArn#accountId}.s3-accesspoint-fips.{bucketArn#region}.{bucketPartition#dnsSuffix}", am],
+ ["https://{accessPointName_ssa_1}-{bucketArn#accountId}.s3-accesspoint.dualstack.{bucketArn#region}.{bucketPartition#dnsSuffix}", am],
+ [N(1), am],
+ ["https://{accessPointName_ssa_1}-{bucketArn#accountId}.s3-accesspoint.{bucketArn#region}.{bucketPartition#dnsSuffix}", am],
+ [a5, "Invalid ARN: The ARN was not for the S3 service, found: {bucketArn#service}"],
+ [a5, "S3 MRAP does not support dual-stack"],
+ [a5, "S3 MRAP does not support FIPS"],
+ [a5, "S3 MRAP does not support S3 Accelerate"],
+ [a5, "Invalid configuration: Multi-Region Access Point ARNs are disabled."],
+ ["https://{accessPointName_ssa_1}.accesspoint.s3-global.{partitionResult#dnsSuffix}", { [az]: [{ [aA]: b5, name: P, [aB]: H, [aD]: av }] }],
+ [a5, "Client was configured for partition `{partitionResult#name}` but bucket referred to partition `{bucketArn#partition}`"],
+ [a5, "Invalid Access Point Name"],
+ [a5, "S3 Outposts does not support Dual-stack"],
+ [a5, "S3 Outposts does not support FIPS"],
+ [a5, "S3 Outposts does not support S3 Accelerate"],
+ [a5, "Invalid Arn: Outpost Access Point ARN contains sub resources"],
+ ["https://{accessPointName_ssa_2}-{bucketArn#accountId}.{outpostId_ssa_1}.{url#authority}", an],
+ ["https://{accessPointName_ssa_2}-{bucketArn#accountId}.{outpostId_ssa_1}.s3-outposts.{bucketArn#region}.{bucketPartition#dnsSuffix}", an],
+ [a5, O(2)],
+ [a5, "Expected an outpost type `accesspoint`, found {outpostType}"],
+ [a5, "Invalid ARN: expected an access point name"],
+ [a5, "Invalid ARN: Expected a 4-component resource"],
+ [a5, "Invalid ARN: The outpost Id may only contain a-z, A-Z, 0-9 and `-`. Found: `{outpostId_ssa_1}`"],
+ [a5, "Invalid ARN: The Outpost Id was not set"],
+ [a5, "Invalid ARN: Unrecognized format: {Bucket} (type: {arnType})"],
+ [a5, "Invalid ARN: No ARN type specified"],
+ [a5, "Invalid ARN: `{Bucket}` was not a valid ARN"],
+ [a5, "Path-style addressing cannot be used with ARN buckets"],
+ ["https://s3-fips.dualstack.us-east-1.{partitionResult#dnsSuffix}/{uri_encoded_bucket}", aj],
+ ["https://s3-fips.dualstack.{Region}.{partitionResult#dnsSuffix}/{uri_encoded_bucket}", ak],
+ ["https://s3-fips.us-east-1.{partitionResult#dnsSuffix}/{uri_encoded_bucket}", aj],
+ ["https://s3-fips.{Region}.{partitionResult#dnsSuffix}/{uri_encoded_bucket}", ak],
+ ["https://s3.dualstack.us-east-1.{partitionResult#dnsSuffix}/{uri_encoded_bucket}", aj],
+ ["https://s3.dualstack.{Region}.{partitionResult#dnsSuffix}/{uri_encoded_bucket}", ak],
+ [Q, aj],
+ [Q, ak],
+ [R, aj],
+ [R, ak],
+ ["https://s3.{Region}.{partitionResult#dnsSuffix}/{uri_encoded_bucket}", ak],
+ [a5, "Path-style addressing cannot be used with S3 Accelerate"],
+ [J, ao],
+ ["https://s3-object-lambda-fips.{Region}.{partitionResult#dnsSuffix}", ao],
+ ["https://s3-object-lambda.{Region}.{partitionResult#dnsSuffix}", ao],
+ ["https://s3-fips.dualstack.us-east-1.{partitionResult#dnsSuffix}", aj],
+ ["https://s3-fips.dualstack.{Region}.{partitionResult#dnsSuffix}", ak],
+ ["https://s3-fips.us-east-1.{partitionResult#dnsSuffix}", aj],
+ ["https://s3-fips.{Region}.{partitionResult#dnsSuffix}", ak],
+ ["https://s3.dualstack.us-east-1.{partitionResult#dnsSuffix}", aj],
+ ["https://s3.dualstack.{Region}.{partitionResult#dnsSuffix}", ak],
+ [J, aj],
+ [J, ak],
+ [S, aj],
+ [S, ak],
+ ["https://s3.{Region}.{partitionResult#dnsSuffix}", ak],
+ [a5, "A region must be set when sending requests to S3."]
+ ]
+ };
+ var root5 = 2;
+ var r5 = 1e8;
+ var nodes5 = new Int32Array([
+ -1,
+ 1,
+ -1,
+ 0,
+ 3,
+ r5 + 115,
+ 1,
+ 424,
+ 4,
+ 2,
+ 272,
+ 5,
+ 3,
+ 233,
+ 6,
+ 4,
+ 85,
+ 7,
+ 5,
+ 15,
+ 8,
+ 8,
+ 9,
+ r5 + 115,
+ 16,
+ 10,
+ 13,
+ 18,
+ 11,
+ 13,
+ 19,
+ 12,
+ 13,
+ 22,
+ r5 + 14,
+ 13,
+ 35,
+ 14,
+ r5 + 42,
+ 36,
+ r5 + 103,
+ 435,
+ 6,
+ 271,
+ 16,
+ 7,
+ 270,
+ 17,
+ 8,
+ 19,
+ 18,
+ 14,
+ 501,
+ 106,
+ 9,
+ 20,
+ 24,
+ 10,
+ 21,
+ 24,
+ 11,
+ 22,
+ 24,
+ 12,
+ 23,
+ 24,
+ 13,
+ 547,
+ 24,
+ 14,
+ 77,
+ 25,
+ 20,
+ 73,
+ 26,
+ 26,
+ 27,
+ 78,
+ 37,
+ 28,
+ r5 + 86,
+ 38,
+ r5 + 86,
+ 29,
+ 39,
+ 47,
+ 30,
+ 48,
+ r5 + 58,
+ 31,
+ 50,
+ 32,
+ r5 + 85,
+ 51,
+ 33,
+ 136,
+ 55,
+ r5 + 76,
+ 34,
+ 59,
+ 35,
+ r5 + 84,
+ 60,
+ 39,
+ 36,
+ 61,
+ 37,
+ r5 + 83,
+ 62,
+ 38,
+ 146,
+ 63,
+ 41,
+ r5 + 46,
+ 61,
+ 40,
+ r5 + 83,
+ 62,
+ 41,
+ 150,
+ 64,
+ 42,
+ r5 + 54,
+ 66,
+ 43,
+ r5 + 53,
+ 70,
+ 44,
+ r5 + 52,
+ 71,
+ 45,
+ r5 + 81,
+ 73,
+ 46,
+ r5 + 80,
+ 74,
+ r5 + 78,
+ r5 + 79,
+ 40,
+ 48,
+ r5 + 57,
+ 41,
+ r5 + 57,
+ 49,
+ 42,
+ 185,
+ 50,
+ 48,
+ 62,
+ 51,
+ 49,
+ r5 + 45,
+ 52,
+ 51,
+ 53,
+ 526,
+ 60,
+ 56,
+ 54,
+ 62,
+ r5 + 55,
+ 55,
+ 63,
+ 57,
+ r5 + 46,
+ 62,
+ r5 + 55,
+ 57,
+ 64,
+ 58,
+ r5 + 54,
+ 66,
+ 59,
+ r5 + 53,
+ 69,
+ 60,
+ r5 + 65,
+ 70,
+ 61,
+ r5 + 52,
+ 72,
+ r5 + 64,
+ r5 + 51,
+ 49,
+ r5 + 45,
+ 63,
+ 51,
+ 64,
+ 526,
+ 60,
+ 67,
+ 65,
+ 62,
+ r5 + 55,
+ 66,
+ 63,
+ 68,
+ r5 + 46,
+ 62,
+ r5 + 55,
+ 68,
+ 64,
+ 69,
+ r5 + 54,
+ 66,
+ 70,
+ r5 + 53,
+ 68,
+ r5 + 47,
+ 71,
+ 70,
+ 72,
+ r5 + 52,
+ 72,
+ r5 + 50,
+ r5 + 51,
+ 25,
+ 74,
+ r5 + 42,
+ 46,
+ r5 + 39,
+ 75,
+ 57,
+ 76,
+ r5 + 41,
+ 58,
+ r5 + 40,
+ r5 + 41,
+ 26,
+ r5 + 88,
+ 78,
+ 28,
+ r5 + 87,
+ 79,
+ 34,
+ 82,
+ 80,
+ 35,
+ 81,
+ 545,
+ 36,
+ r5 + 103,
+ r5 + 115,
+ 46,
+ r5 + 97,
+ 83,
+ 57,
+ 84,
+ r5 + 99,
+ 58,
+ r5 + 98,
+ r5 + 99,
+ 5,
+ 101,
+ 86,
+ 8,
+ 87,
+ r5 + 115,
+ 16,
+ 88,
+ 89,
+ 18,
+ 91,
+ 89,
+ 19,
+ 90,
+ 92,
+ 21,
+ 97,
+ 95,
+ 19,
+ 93,
+ 92,
+ 21,
+ 98,
+ 95,
+ 21,
+ 97,
+ 94,
+ 22,
+ r5 + 14,
+ 95,
+ 35,
+ 96,
+ r5 + 42,
+ 36,
+ r5 + 103,
+ r5 + 42,
+ 22,
+ r5 + 13,
+ 98,
+ 35,
+ 99,
+ r5 + 42,
+ 36,
+ r5 + 101,
+ 100,
+ 46,
+ r5 + 110,
+ r5 + 111,
+ 6,
+ 214,
+ 102,
+ 7,
+ 208,
+ 103,
+ 8,
+ 119,
+ 104,
+ 14,
+ 118,
+ 105,
+ 21,
+ 106,
+ r5 + 23,
+ 26,
+ 107,
+ 502,
+ 37,
+ 108,
+ r5 + 86,
+ 38,
+ r5 + 86,
+ 109,
+ 39,
+ 112,
+ 110,
+ 48,
+ r5 + 58,
+ 111,
+ 50,
+ 136,
+ r5 + 85,
+ 40,
+ 113,
+ r5 + 57,
+ 41,
+ r5 + 57,
+ 114,
+ 42,
+ 115,
+ 500,
+ 48,
+ r5 + 56,
+ 116,
+ 52,
+ 117,
+ r5 + 72,
+ 65,
+ r5 + 69,
+ r5 + 72,
+ 21,
+ 501,
+ r5 + 23,
+ 9,
+ 120,
+ 124,
+ 10,
+ 121,
+ 124,
+ 11,
+ 122,
+ 124,
+ 12,
+ 123,
+ 124,
+ 13,
+ 202,
+ 124,
+ 14,
+ 195,
+ 125,
+ 20,
+ 190,
+ 126,
+ 21,
+ 127,
+ r5 + 23,
+ 23,
+ 128,
+ 129,
+ 24,
+ 189,
+ 129,
+ 26,
+ 130,
+ 197,
+ 37,
+ 131,
+ r5 + 86,
+ 38,
+ r5 + 86,
+ 132,
+ 39,
+ 159,
+ 133,
+ 48,
+ r5 + 58,
+ 134,
+ 50,
+ 135,
+ r5 + 85,
+ 51,
+ 141,
+ 136,
+ 55,
+ r5 + 76,
+ 137,
+ 59,
+ 138,
+ r5 + 84,
+ 60,
+ r5 + 83,
+ 139,
+ 61,
+ 140,
+ r5 + 83,
+ 63,
+ r5 + 83,
+ r5 + 46,
+ 55,
+ r5 + 76,
+ 142,
+ 59,
+ 143,
+ r5 + 84,
+ 60,
+ 148,
+ 144,
+ 61,
+ 145,
+ r5 + 83,
+ 62,
+ 147,
+ 146,
+ 63,
+ 150,
+ r5 + 46,
+ 63,
+ 153,
+ r5 + 46,
+ 61,
+ 149,
+ r5 + 83,
+ 62,
+ 153,
+ 150,
+ 64,
+ 151,
+ r5 + 54,
+ 66,
+ 152,
+ r5 + 53,
+ 70,
+ r5 + 82,
+ r5 + 52,
+ 64,
+ 154,
+ r5 + 54,
+ 66,
+ 155,
+ r5 + 53,
+ 70,
+ 156,
+ r5 + 52,
+ 71,
+ 157,
+ r5 + 81,
+ 73,
+ 158,
+ r5 + 80,
+ 74,
+ r5 + 77,
+ r5 + 79,
+ 40,
+ 160,
+ r5 + 57,
+ 41,
+ r5 + 57,
+ 161,
+ 42,
+ 185,
+ 162,
+ 48,
+ 174,
+ 163,
+ 49,
+ r5 + 45,
+ 164,
+ 51,
+ 165,
+ 526,
+ 60,
+ 168,
+ 166,
+ 62,
+ r5 + 55,
+ 167,
+ 63,
+ 169,
+ r5 + 46,
+ 62,
+ r5 + 55,
+ 169,
+ 64,
+ 170,
+ r5 + 54,
+ 66,
+ 171,
+ r5 + 53,
+ 69,
+ 172,
+ r5 + 65,
+ 70,
+ 173,
+ r5 + 52,
+ 72,
+ r5 + 63,
+ r5 + 51,
+ 49,
+ r5 + 45,
+ 175,
+ 51,
+ 176,
+ 526,
+ 60,
+ 179,
+ 177,
+ 62,
+ r5 + 55,
+ 178,
+ 63,
+ 180,
+ r5 + 46,
+ 62,
+ r5 + 55,
+ 180,
+ 64,
+ 181,
+ r5 + 54,
+ 66,
+ 182,
+ r5 + 53,
+ 68,
+ r5 + 47,
+ 183,
+ 70,
+ 184,
+ r5 + 52,
+ 72,
+ r5 + 48,
+ r5 + 51,
+ 48,
+ r5 + 56,
+ 186,
+ 52,
+ 187,
+ r5 + 72,
+ 65,
+ r5 + 69,
+ 188,
+ 67,
+ r5 + 70,
+ r5 + 71,
+ 25,
+ r5 + 36,
+ r5 + 42,
+ 21,
+ 191,
+ r5 + 23,
+ 25,
+ 192,
+ r5 + 42,
+ 30,
+ 194,
+ 193,
+ 46,
+ r5 + 34,
+ r5 + 36,
+ 46,
+ r5 + 33,
+ r5 + 35,
+ 21,
+ 196,
+ r5 + 23,
+ 26,
+ r5 + 88,
+ 197,
+ 28,
+ r5 + 87,
+ 198,
+ 34,
+ 201,
+ 199,
+ 35,
+ 200,
+ 545,
+ 36,
+ r5 + 101,
+ r5 + 115,
+ 46,
+ r5 + 95,
+ r5 + 96,
+ 17,
+ 203,
+ r5 + 22,
+ 20,
+ 204,
+ r5 + 21,
+ 21,
+ 205,
+ 550,
+ 33,
+ 206,
+ 550,
+ 44,
+ r5 + 16,
+ 207,
+ 45,
+ r5 + 18,
+ r5 + 20,
+ 8,
+ 209,
+ 215,
+ 16,
+ 210,
+ 220,
+ 18,
+ 211,
+ 220,
+ 19,
+ 212,
+ 224,
+ 20,
+ 213,
+ 227,
+ 21,
+ 231,
+ 401,
+ 8,
+ 218,
+ 215,
+ 19,
+ 216,
+ r5 + 9,
+ 20,
+ 217,
+ 227,
+ 21,
+ 231,
+ r5 + 9,
+ 16,
+ 219,
+ 220,
+ 18,
+ 223,
+ 220,
+ 19,
+ 221,
+ 224,
+ 20,
+ 222,
+ 227,
+ 21,
+ 231,
+ r5 + 12,
+ 19,
+ 226,
+ 224,
+ 20,
+ 225,
+ r5 + 9,
+ 21,
+ r5 + 9,
+ r5 + 12,
+ 20,
+ 230,
+ 227,
+ 21,
+ 228,
+ r5 + 9,
+ 30,
+ 229,
+ r5 + 9,
+ 34,
+ r5 + 7,
+ r5 + 9,
+ 21,
+ 231,
+ 415,
+ 30,
+ 232,
+ r5 + 8,
+ 34,
+ r5 + 7,
+ r5 + 8,
+ 4,
+ r5 + 2,
+ 234,
+ 5,
+ 235,
+ 480,
+ 6,
+ 271,
+ 236,
+ 7,
+ 270,
+ 237,
+ 8,
+ 238,
+ 491,
+ 9,
+ 239,
+ 243,
+ 10,
+ 240,
+ 243,
+ 11,
+ 241,
+ 243,
+ 12,
+ 242,
+ 243,
+ 13,
+ 547,
+ 243,
+ 14,
+ 266,
+ 244,
+ 20,
+ 264,
+ 245,
+ 26,
+ 246,
+ 267,
+ 37,
+ 247,
+ r5 + 86,
+ 38,
+ r5 + 86,
+ 248,
+ 39,
+ 249,
+ 518,
+ 40,
+ 250,
+ r5 + 57,
+ 41,
+ r5 + 57,
+ 251,
+ 42,
+ 538,
+ 252,
+ 48,
+ r5 + 43,
+ 253,
+ 49,
+ r5 + 45,
+ 254,
+ 51,
+ 255,
+ 526,
+ 60,
+ 258,
+ 256,
+ 62,
+ r5 + 55,
+ 257,
+ 63,
+ 259,
+ r5 + 46,
+ 62,
+ r5 + 55,
+ 259,
+ 64,
+ 260,
+ r5 + 54,
+ 66,
+ 261,
+ r5 + 53,
+ 69,
+ 262,
+ r5 + 65,
+ 70,
+ 263,
+ r5 + 52,
+ 72,
+ r5 + 62,
+ r5 + 51,
+ 25,
+ 265,
+ r5 + 42,
+ 46,
+ r5 + 31,
+ r5 + 32,
+ 26,
+ r5 + 88,
+ 267,
+ 28,
+ r5 + 87,
+ 268,
+ 34,
+ 269,
+ 544,
+ 46,
+ r5 + 93,
+ r5 + 94,
+ 8,
+ 397,
+ r5 + 9,
+ 8,
+ 407,
+ r5 + 9,
+ 3,
+ 346,
+ 273,
+ 4,
+ r5 + 3,
+ 274,
+ 5,
+ 284,
+ 275,
+ 8,
+ 276,
+ r5 + 115,
+ 15,
+ r5 + 5,
+ 277,
+ 16,
+ 278,
+ 281,
+ 18,
+ 279,
+ 281,
+ 19,
+ 280,
+ 281,
+ 22,
+ r5 + 14,
+ 281,
+ 35,
+ 282,
+ r5 + 42,
+ 36,
+ r5 + 102,
+ 283,
+ 46,
+ r5 + 106,
+ r5 + 107,
+ 6,
+ 405,
+ 285,
+ 7,
+ 395,
+ 286,
+ 8,
+ 295,
+ 287,
+ 14,
+ 501,
+ 288,
+ 26,
+ 289,
+ 502,
+ 37,
+ 290,
+ r5 + 86,
+ 38,
+ r5 + 86,
+ 291,
+ 39,
+ 292,
+ 307,
+ 40,
+ 293,
+ r5 + 57,
+ 41,
+ r5 + 57,
+ 294,
+ 42,
+ 335,
+ 500,
+ 9,
+ 296,
+ 300,
+ 10,
+ 297,
+ 300,
+ 11,
+ 298,
+ 300,
+ 12,
+ 299,
+ 300,
+ 13,
+ 394,
+ 300,
+ 14,
+ 339,
+ 301,
+ 15,
+ r5 + 5,
+ 302,
+ 20,
+ 337,
+ 303,
+ 26,
+ 304,
+ 341,
+ 37,
+ 305,
+ r5 + 86,
+ 38,
+ r5 + 86,
+ 306,
+ 39,
+ 309,
+ 307,
+ 48,
+ r5 + 58,
+ 308,
+ 50,
+ r5 + 74,
+ r5 + 85,
+ 40,
+ 310,
+ r5 + 57,
+ 41,
+ r5 + 57,
+ 311,
+ 42,
+ 335,
+ 312,
+ 48,
+ 324,
+ 313,
+ 49,
+ r5 + 45,
+ 314,
+ 51,
+ 315,
+ 526,
+ 60,
+ 318,
+ 316,
+ 62,
+ r5 + 55,
+ 317,
+ 63,
+ 319,
+ r5 + 46,
+ 62,
+ r5 + 55,
+ 319,
+ 64,
+ 320,
+ r5 + 54,
+ 66,
+ 321,
+ r5 + 53,
+ 69,
+ 322,
+ r5 + 65,
+ 70,
+ 323,
+ r5 + 52,
+ 72,
+ r5 + 61,
+ r5 + 51,
+ 49,
+ r5 + 45,
+ 325,
+ 51,
+ 326,
+ 526,
+ 60,
+ 329,
+ 327,
+ 62,
+ r5 + 55,
+ 328,
+ 63,
+ 330,
+ r5 + 46,
+ 62,
+ r5 + 55,
+ 330,
+ 64,
+ 331,
+ r5 + 54,
+ 66,
+ 332,
+ r5 + 53,
+ 68,
+ r5 + 47,
+ 333,
+ 70,
+ 334,
+ r5 + 52,
+ 72,
+ r5 + 49,
+ r5 + 51,
+ 48,
+ r5 + 56,
+ 336,
+ 52,
+ r5 + 67,
+ r5 + 72,
+ 25,
+ 338,
+ r5 + 42,
+ 46,
+ r5 + 27,
+ r5 + 28,
+ 15,
+ r5 + 5,
+ 340,
+ 26,
+ r5 + 88,
+ 341,
+ 28,
+ r5 + 87,
+ 342,
+ 34,
+ 345,
+ 343,
+ 35,
+ 344,
+ 545,
+ 36,
+ r5 + 102,
+ r5 + 115,
+ 46,
+ r5 + 91,
+ r5 + 92,
+ 4,
+ r5 + 2,
+ 347,
+ 5,
+ 357,
+ 348,
+ 8,
+ 349,
+ r5 + 115,
+ 15,
+ r5 + 5,
+ 350,
+ 16,
+ 351,
+ 354,
+ 18,
+ 352,
+ 354,
+ 19,
+ 353,
+ 354,
+ 22,
+ r5 + 14,
+ 354,
+ 35,
+ 355,
+ r5 + 42,
+ 36,
+ r5 + 43,
+ 356,
+ 46,
+ r5 + 104,
+ r5 + 105,
+ 6,
+ 405,
+ 358,
+ 7,
+ 395,
+ 359,
+ 8,
+ 360,
+ 491,
+ 9,
+ 361,
+ 365,
+ 10,
+ 362,
+ 365,
+ 11,
+ 363,
+ 365,
+ 12,
+ 364,
+ 365,
+ 13,
+ 394,
+ 365,
+ 14,
+ 389,
+ 366,
+ 15,
+ r5 + 5,
+ 367,
+ 20,
+ 387,
+ 368,
+ 26,
+ 369,
+ 391,
+ 37,
+ 370,
+ r5 + 86,
+ 38,
+ r5 + 86,
+ 371,
+ 39,
+ 372,
+ 518,
+ 40,
+ 373,
+ r5 + 57,
+ 41,
+ r5 + 57,
+ 374,
+ 42,
+ 538,
+ 375,
+ 48,
+ r5 + 43,
+ 376,
+ 49,
+ r5 + 45,
+ 377,
+ 51,
+ 378,
+ 526,
+ 60,
+ 381,
+ 379,
+ 62,
+ r5 + 55,
+ 380,
+ 63,
+ 382,
+ r5 + 46,
+ 62,
+ r5 + 55,
+ 382,
+ 64,
+ 383,
+ r5 + 54,
+ 66,
+ 384,
+ r5 + 53,
+ 69,
+ 385,
+ r5 + 65,
+ 70,
+ 386,
+ r5 + 52,
+ 72,
+ r5 + 60,
+ r5 + 51,
+ 25,
+ 388,
+ r5 + 42,
+ 46,
+ r5 + 25,
+ r5 + 26,
+ 15,
+ r5 + 5,
+ 390,
+ 26,
+ r5 + 88,
+ 391,
+ 28,
+ r5 + 87,
+ 392,
+ 34,
+ 393,
+ 544,
+ 46,
+ r5 + 89,
+ r5 + 90,
+ 15,
+ r5 + 5,
+ 547,
+ 8,
+ 396,
+ r5 + 9,
+ 15,
+ r5 + 5,
+ 397,
+ 16,
+ 398,
+ 410,
+ 18,
+ 399,
+ 410,
+ 19,
+ 400,
+ 410,
+ 20,
+ 401,
+ r5 + 9,
+ 27,
+ 402,
+ r5 + 12,
+ 29,
+ r5 + 11,
+ 403,
+ 31,
+ r5 + 11,
+ 404,
+ 32,
+ r5 + 11,
+ 422,
+ 8,
+ 406,
+ r5 + 9,
+ 15,
+ r5 + 5,
+ 407,
+ 16,
+ 408,
+ 410,
+ 18,
+ 409,
+ 410,
+ 19,
+ 411,
+ 410,
+ 20,
+ r5 + 12,
+ r5 + 9,
+ 20,
+ 414,
+ 412,
+ 22,
+ 413,
+ r5 + 9,
+ 34,
+ r5 + 10,
+ r5 + 9,
+ 22,
+ 416,
+ 415,
+ 27,
+ 419,
+ r5 + 12,
+ 27,
+ 418,
+ 417,
+ 34,
+ r5 + 10,
+ r5 + 12,
+ 34,
+ r5 + 10,
+ 419,
+ 43,
+ r5 + 11,
+ 420,
+ 47,
+ r5 + 11,
+ 421,
+ 53,
+ r5 + 11,
+ 422,
+ 54,
+ r5 + 11,
+ 423,
+ 56,
+ r5 + 11,
+ r5 + 12,
+ 2,
+ r5 + 1,
+ 425,
+ 3,
+ 478,
+ 426,
+ 4,
+ r5 + 4,
+ 427,
+ 5,
+ 438,
+ 428,
+ 8,
+ 429,
+ r5 + 115,
+ 16,
+ 430,
+ 433,
+ 18,
+ 431,
+ 433,
+ 19,
+ 432,
+ 433,
+ 22,
+ r5 + 14,
+ 433,
+ 35,
+ 434,
+ r5 + 42,
+ 36,
+ r5 + 44,
+ 435,
+ 46,
+ r5 + 112,
+ 436,
+ 57,
+ 437,
+ r5 + 114,
+ 58,
+ r5 + 113,
+ r5 + 114,
+ 6,
+ r5 + 6,
+ 439,
+ 7,
+ r5 + 6,
+ 440,
+ 8,
+ 450,
+ 441,
+ 14,
+ 501,
+ 442,
+ 26,
+ 443,
+ 502,
+ 37,
+ 444,
+ r5 + 86,
+ 38,
+ r5 + 86,
+ 445,
+ 39,
+ 446,
+ 465,
+ 40,
+ 447,
+ r5 + 57,
+ 41,
+ r5 + 57,
+ 448,
+ 42,
+ 471,
+ 449,
+ 48,
+ r5 + 44,
+ 500,
+ 9,
+ 451,
+ 455,
+ 10,
+ 452,
+ 455,
+ 11,
+ 453,
+ 455,
+ 12,
+ 454,
+ 455,
+ 13,
+ 547,
+ 455,
+ 14,
+ 473,
+ 456,
+ 15,
+ 460,
+ 457,
+ 20,
+ 458,
+ 461,
+ 25,
+ 459,
+ r5 + 42,
+ 46,
+ r5 + 37,
+ r5 + 38,
+ 20,
+ 540,
+ 461,
+ 26,
+ 462,
+ 474,
+ 37,
+ 463,
+ r5 + 86,
+ 38,
+ r5 + 86,
+ 464,
+ 39,
+ 467,
+ 465,
+ 48,
+ r5 + 58,
+ 466,
+ 50,
+ r5 + 75,
+ r5 + 85,
+ 40,
+ 468,
+ r5 + 57,
+ 41,
+ r5 + 57,
+ 469,
+ 42,
+ 471,
+ 470,
+ 48,
+ r5 + 44,
+ 524,
+ 48,
+ r5 + 44,
+ 472,
+ 52,
+ r5 + 68,
+ r5 + 72,
+ 26,
+ r5 + 88,
+ 474,
+ 28,
+ r5 + 87,
+ 475,
+ 34,
+ r5 + 100,
+ 476,
+ 35,
+ 477,
+ 545,
+ 36,
+ r5 + 44,
+ r5 + 115,
+ 4,
+ r5 + 2,
+ 479,
+ 5,
+ 488,
+ 480,
+ 8,
+ 481,
+ r5 + 115,
+ 16,
+ 482,
+ 485,
+ 18,
+ 483,
+ 485,
+ 19,
+ 484,
+ 485,
+ 22,
+ r5 + 14,
+ 485,
+ 35,
+ 486,
+ r5 + 42,
+ 36,
+ r5 + 43,
+ 487,
+ 46,
+ r5 + 108,
+ r5 + 109,
+ 6,
+ r5 + 6,
+ 489,
+ 7,
+ r5 + 6,
+ 490,
+ 8,
+ 503,
+ 491,
+ 14,
+ 501,
+ 492,
+ 26,
+ 493,
+ 502,
+ 37,
+ 494,
+ r5 + 86,
+ 38,
+ r5 + 86,
+ 495,
+ 39,
+ 496,
+ 518,
+ 40,
+ 497,
+ r5 + 57,
+ 41,
+ r5 + 57,
+ 498,
+ 42,
+ 538,
+ 499,
+ 48,
+ r5 + 43,
+ 500,
+ 49,
+ r5 + 45,
+ 526,
+ 26,
+ r5 + 88,
+ 502,
+ 28,
+ r5 + 87,
+ r5 + 115,
+ 9,
+ 504,
+ 508,
+ 10,
+ 505,
+ 508,
+ 11,
+ 506,
+ 508,
+ 12,
+ 507,
+ 508,
+ 13,
+ 547,
+ 508,
+ 14,
+ 541,
+ 509,
+ 15,
+ 513,
+ 510,
+ 20,
+ 511,
+ 514,
+ 25,
+ 512,
+ r5 + 42,
+ 46,
+ r5 + 29,
+ r5 + 30,
+ 20,
+ 540,
+ 514,
+ 26,
+ 515,
+ 542,
+ 37,
+ 516,
+ r5 + 86,
+ 38,
+ r5 + 86,
+ 517,
+ 39,
+ 520,
+ 518,
+ 48,
+ r5 + 58,
+ 519,
+ 50,
+ r5 + 73,
+ r5 + 85,
+ 40,
+ 521,
+ r5 + 57,
+ 41,
+ r5 + 57,
+ 522,
+ 42,
+ 538,
+ 523,
+ 48,
+ r5 + 43,
+ 524,
+ 49,
+ r5 + 45,
+ 525,
+ 51,
+ 529,
+ 526,
+ 60,
+ r5 + 55,
+ 527,
+ 62,
+ r5 + 55,
+ 528,
+ 63,
+ r5 + 55,
+ r5 + 46,
+ 60,
+ 532,
+ 530,
+ 62,
+ r5 + 55,
+ 531,
+ 63,
+ 533,
+ r5 + 46,
+ 62,
+ r5 + 55,
+ 533,
+ 64,
+ 534,
+ r5 + 54,
+ 66,
+ 535,
+ r5 + 53,
+ 69,
+ 536,
+ r5 + 65,
+ 70,
+ 537,
+ r5 + 52,
+ 72,
+ r5 + 59,
+ r5 + 51,
+ 48,
+ r5 + 43,
+ 539,
+ 52,
+ r5 + 66,
+ r5 + 72,
+ 25,
+ r5 + 24,
+ r5 + 42,
+ 26,
+ r5 + 88,
+ 542,
+ 28,
+ r5 + 87,
+ 543,
+ 34,
+ r5 + 100,
+ 544,
+ 35,
+ 546,
+ 545,
+ 36,
+ r5 + 42,
+ r5 + 115,
+ 36,
+ r5 + 43,
+ r5 + 115,
+ 17,
+ 548,
+ r5 + 22,
+ 20,
+ 549,
+ r5 + 21,
+ 33,
+ 552,
+ 550,
+ 44,
+ r5 + 17,
+ 551,
+ 45,
+ r5 + 19,
+ r5 + 20,
+ 44,
+ r5 + 15,
+ 553,
+ 45,
+ r5 + 15,
+ r5 + 20
+ ]);
+ var bdd5 = BinaryDecisionDiagram2.from(nodes5, root5, _data5.conditions, _data5.results);
+ var cache5 = new EndpointCache2({
+ size: 50,
+ params: [
+ "Accelerate",
+ "Bucket",
+ "DisableAccessPoints",
+ "DisableMultiRegionAccessPoints",
+ "DisableS3ExpressSessionAuth",
+ "Endpoint",
+ "ForcePathStyle",
+ "Region",
+ "UseArnRegion",
+ "UseDualStack",
+ "UseFIPS",
+ "UseGlobalEndpoint",
+ "UseObjectLambdaEndpoint",
+ "UseS3ExpressControlEndpoint"
+ ]
+ });
+ var defaultEndpointResolver5 = /* @__PURE__ */ __name((endpointParams, context = {}) => {
+ return cache5.get(endpointParams, () => decideEndpoint2(bdd5, {
+ endpointParams,
+ logger: context.logger
+ }));
+ }, "defaultEndpointResolver");
+ customEndpointFunctions2.aws = awsEndpointFunctions2;
+ var createEndpointRuleSetHttpAuthSchemeParametersProvider2 = /* @__PURE__ */ __name((defaultHttpAuthSchemeParametersProvider) => async (config3, context, input2) => {
+ if (!input2) {
+ throw new Error("Could not find `input` for `defaultEndpointRuleSetHttpAuthSchemeParametersProvider`");
+ }
+ const defaultParameters = await defaultHttpAuthSchemeParametersProvider(config3, context, input2);
+ const instructionsFn = getSmithyContext2(context)?.commandInstance?.constructor?.getEndpointParameterInstructions;
+ if (!instructionsFn) {
+ throw new Error(`getEndpointParameterInstructions() is not defined on '${context.commandName}'`);
+ }
+ const endpointParameters = await resolveParams2(input2, { getEndpointParameterInstructions: instructionsFn }, config3);
+ return Object.assign(defaultParameters, endpointParameters);
+ }, "createEndpointRuleSetHttpAuthSchemeParametersProvider");
+ var _defaultS3HttpAuthSchemeParametersProvider = /* @__PURE__ */ __name(async (config3, context, input2) => {
+ return {
+ operation: getSmithyContext2(context).operation,
+ region: await normalizeProvider3(config3.region)() || (() => {
+ throw new Error("expected `region` to be configured for `aws.auth#sigv4`");
+ })()
+ };
+ }, "_defaultS3HttpAuthSchemeParametersProvider");
+ var defaultS3HttpAuthSchemeParametersProvider = createEndpointRuleSetHttpAuthSchemeParametersProvider2(_defaultS3HttpAuthSchemeParametersProvider);
+ function createAwsAuthSigv4HttpAuthOption5(authParameters) {
+ return {
+ schemeId: "aws.auth#sigv4",
+ signingProperties: {
+ name: "s3",
+ region: authParameters.region
+ },
+ propertiesExtractor: /* @__PURE__ */ __name((config3, context) => ({
+ signingProperties: {
+ config: config3,
+ context
+ }
+ }), "propertiesExtractor")
+ };
+ }
+ __name(createAwsAuthSigv4HttpAuthOption5, "createAwsAuthSigv4HttpAuthOption");
+ function createAwsAuthSigv4aHttpAuthOption2(authParameters) {
+ return {
+ schemeId: "aws.auth#sigv4a",
+ signingProperties: {
+ name: "s3",
+ region: authParameters.region
+ },
+ propertiesExtractor: /* @__PURE__ */ __name((config3, context) => ({
+ signingProperties: {
+ config: config3,
+ context
+ }
+ }), "propertiesExtractor")
+ };
+ }
+ __name(createAwsAuthSigv4aHttpAuthOption2, "createAwsAuthSigv4aHttpAuthOption");
+ var createEndpointRuleSetHttpAuthSchemeProvider2 = /* @__PURE__ */ __name((defaultEndpointResolver6, defaultHttpAuthSchemeResolver, createHttpAuthOptionFunctions) => {
+ const endpointRuleSetHttpAuthSchemeProvider = /* @__PURE__ */ __name((authParameters) => {
+ const endpoint = defaultEndpointResolver6(authParameters);
+ const authSchemes = endpoint.properties?.authSchemes;
+ if (!authSchemes) {
+ return defaultHttpAuthSchemeResolver(authParameters);
+ }
+ const options = [];
+ for (const scheme of authSchemes) {
+ const { name: resolvedName, properties = {}, ...rest } = scheme;
+ const name2 = resolvedName.toLowerCase();
+ if (resolvedName !== name2) {
+ console.warn(`HttpAuthScheme has been normalized with lowercasing: '${resolvedName}' to '${name2}'`);
+ }
+ let schemeId;
+ if (name2 === "sigv4a") {
+ schemeId = "aws.auth#sigv4a";
+ const sigv4Present = authSchemes.find((s3) => {
+ const name3 = s3.name.toLowerCase();
+ return name3 !== "sigv4a" && name3.startsWith("sigv4");
+ });
+ if (SignatureV4MultiRegion3.sigv4aDependency() === "none" && sigv4Present) {
+ continue;
+ }
+ } else if (name2.startsWith("sigv4")) {
+ schemeId = "aws.auth#sigv4";
+ } else {
+ throw new Error(`Unknown HttpAuthScheme found in '@smithy.rules#endpointRuleSet': '${name2}'`);
+ }
+ const createOption = createHttpAuthOptionFunctions[schemeId];
+ if (!createOption) {
+ throw new Error(`Could not find HttpAuthOption create function for '${schemeId}'`);
+ }
+ const option = createOption(authParameters);
+ option.schemeId = schemeId;
+ option.signingProperties = { ...option.signingProperties || {}, ...rest, ...properties };
+ options.push(option);
+ }
+ return options;
+ }, "endpointRuleSetHttpAuthSchemeProvider");
+ return endpointRuleSetHttpAuthSchemeProvider;
+ }, "createEndpointRuleSetHttpAuthSchemeProvider");
+ var _defaultS3HttpAuthSchemeProvider = /* @__PURE__ */ __name((authParameters) => {
+ const options = [];
+ switch (authParameters.operation) {
+ default: {
+ options.push(createAwsAuthSigv4HttpAuthOption5(authParameters));
+ options.push(createAwsAuthSigv4aHttpAuthOption2(authParameters));
+ }
+ }
+ return options;
+ }, "_defaultS3HttpAuthSchemeProvider");
+ var defaultS3HttpAuthSchemeProvider = createEndpointRuleSetHttpAuthSchemeProvider2(defaultEndpointResolver5, _defaultS3HttpAuthSchemeProvider, {
+ "aws.auth#sigv4": createAwsAuthSigv4HttpAuthOption5,
+ "aws.auth#sigv4a": createAwsAuthSigv4aHttpAuthOption2
+ });
+ var resolveHttpAuthSchemeConfig5 = /* @__PURE__ */ __name((config3) => {
+ const config_0 = resolveAwsSdkSigV4Config2(config3);
+ const config_1 = resolveAwsSdkSigV4AConfig2(config_0);
+ return Object.assign(config_1, {
+ authSchemePreference: normalizeProvider3(config3.authSchemePreference ?? [])
+ });
+ }, "resolveHttpAuthSchemeConfig");
+ var resolveClientEndpointParameters5 = /* @__PURE__ */ __name((options) => {
+ return Object.assign(options, {
+ useFipsEndpoint: options.useFipsEndpoint ?? false,
+ useDualstackEndpoint: options.useDualstackEndpoint ?? false,
+ forcePathStyle: options.forcePathStyle ?? false,
+ useAccelerateEndpoint: options.useAccelerateEndpoint ?? false,
+ useGlobalEndpoint: options.useGlobalEndpoint ?? false,
+ disableMultiregionAccessPoints: options.disableMultiregionAccessPoints ?? false,
+ defaultSigningName: "s3",
+ clientContextParams: options.clientContextParams ?? {}
+ });
+ }, "resolveClientEndpointParameters");
+ var commonParams5 = {
+ ForcePathStyle: { type: "clientContextParams", name: "forcePathStyle" },
+ UseArnRegion: { type: "clientContextParams", name: "useArnRegion" },
+ DisableMultiRegionAccessPoints: { type: "clientContextParams", name: "disableMultiregionAccessPoints" },
+ Accelerate: { type: "clientContextParams", name: "useAccelerateEndpoint" },
+ DisableS3ExpressSessionAuth: { type: "clientContextParams", name: "disableS3ExpressSessionAuth" },
+ UseGlobalEndpoint: { type: "builtInParams", name: "useGlobalEndpoint" },
+ UseFIPS: { type: "builtInParams", name: "useFipsEndpoint" },
+ Endpoint: { type: "builtInParams", name: "endpoint" },
+ Region: { type: "builtInParams", name: "region" },
+ UseDualStack: { type: "builtInParams", name: "useDualstackEndpoint" }
+ };
+ var command5 = makeBuilder2(commonParams5, "AmazonS3", "S3Client", getEndpointPlugin2);
+ var _ep05 = {
+ Bucket: { type: "contextParams", name: "Bucket" },
+ Key: { type: "contextParams", name: "Key" }
+ };
+ var _ep12 = {
+ DisableS3ExpressSessionAuth: { type: "staticContextParams", value: true },
+ Bucket: { type: "contextParams", name: "Bucket" },
+ Key: { type: "contextParams", name: "Key" },
+ CopySource: { type: "contextParams", name: "CopySource" }
+ };
+ var _ep2 = {
+ UseS3ExpressControlEndpoint: { type: "staticContextParams", value: true },
+ DisableAccessPoints: { type: "staticContextParams", value: true },
+ Bucket: { type: "contextParams", name: "Bucket" }
+ };
+ var _ep3 = {
+ UseS3ExpressControlEndpoint: { type: "staticContextParams", value: true },
+ Bucket: { type: "contextParams", name: "Bucket" }
+ };
+ var _ep4 = {
+ DisableS3ExpressSessionAuth: { type: "staticContextParams", value: true },
+ Bucket: { type: "contextParams", name: "Bucket" }
+ };
+ var _ep5 = {
+ Bucket: { type: "contextParams", name: "Bucket" }
+ };
+ var _ep6 = {};
+ var _ep7 = {
+ UseS3ExpressControlEndpoint: { type: "staticContextParams", value: true }
+ };
+ var _ep8 = {
+ Bucket: { type: "contextParams", name: "Bucket" },
+ Prefix: { type: "contextParams", name: "Prefix" }
+ };
+ var _ep9 = {
+ UseObjectLambdaEndpoint: { type: "staticContextParams", value: true }
+ };
+ var _mw05 = /* @__PURE__ */ __name((Command2, cs, config3, o4) => [
+ getThrow200ExceptionsPlugin2(config3)
+ ], "_mw0");
+ var _mw1 = /* @__PURE__ */ __name((Command2, cs, config3, o4) => [
+ getThrow200ExceptionsPlugin2(config3),
+ getSsecPlugin2(config3)
+ ], "_mw1");
+ var _mw2 = /* @__PURE__ */ __name((Command2, cs, config3, o4) => [
+ getThrow200ExceptionsPlugin2(config3),
+ getLocationConstraintPlugin2(config3)
+ ], "_mw2");
+ var _mw3 = /* @__PURE__ */ __name((Command2, cs, config3, o4) => [
+ getFlexibleChecksumsPlugin2(config3, {
+ requestAlgorithmMember: { "httpHeader": "x-amz-sdk-checksum-algorithm", "name": "ChecksumAlgorithm" },
+ requestChecksumRequired: true
+ })
+ ], "_mw3");
+ var _mw4 = /* @__PURE__ */ __name((Command2, cs, config3, o4) => [], "_mw4");
+ var _mw5 = /* @__PURE__ */ __name((Command2, cs, config3, o4) => [
+ getFlexibleChecksumsPlugin2(config3, {
+ requestAlgorithmMember: { "httpHeader": "x-amz-sdk-checksum-algorithm", "name": "ChecksumAlgorithm" },
+ requestChecksumRequired: true
+ }),
+ getThrow200ExceptionsPlugin2(config3)
+ ], "_mw5");
+ var _mw6 = /* @__PURE__ */ __name((Command2, cs, config3, o4) => [
+ getFlexibleChecksumsPlugin2(config3, {
+ requestChecksumRequired: false,
+ requestValidationModeMember: "ChecksumMode",
+ responseAlgorithms: ["CRC64NVME", "CRC32", "CRC32C", "SHA256", "SHA1", "SHA512", "MD5", "XXHASH64", "XXHASH3", "XXHASH128"]
+ })
+ ], "_mw6");
+ var _mw7 = /* @__PURE__ */ __name((Command2, cs, config3, o4) => [
+ getFlexibleChecksumsPlugin2(config3, {
+ requestChecksumRequired: false,
+ requestValidationModeMember: "ChecksumMode",
+ responseAlgorithms: ["CRC64NVME", "CRC32", "CRC32C", "SHA256", "SHA1", "SHA512", "MD5", "XXHASH64", "XXHASH3", "XXHASH128"]
+ }),
+ getSsecPlugin2(config3),
+ getS3ExpiresMiddlewarePlugin2(config3)
+ ], "_mw7");
+ var _mw8 = /* @__PURE__ */ __name((Command2, cs, config3, o4) => [
+ getThrow200ExceptionsPlugin2(config3),
+ getSsecPlugin2(config3),
+ getS3ExpiresMiddlewarePlugin2(config3)
+ ], "_mw8");
+ var _mw9 = /* @__PURE__ */ __name((Command2, cs, config3, o4) => [
+ getFlexibleChecksumsPlugin2(config3, {
+ requestAlgorithmMember: { "httpHeader": "x-amz-sdk-checksum-algorithm", "name": "ChecksumAlgorithm" },
+ requestChecksumRequired: false
+ })
+ ], "_mw9");
+ var _mw10 = /* @__PURE__ */ __name((Command2, cs, config3, o4) => [
+ getFlexibleChecksumsPlugin2(config3, {
+ requestAlgorithmMember: { "httpHeader": "x-amz-sdk-checksum-algorithm", "name": "ChecksumAlgorithm" },
+ requestChecksumRequired: false
+ }),
+ getThrow200ExceptionsPlugin2(config3)
+ ], "_mw10");
+ var _mw11 = /* @__PURE__ */ __name((Command2, cs, config3, o4) => [
+ getFlexibleChecksumsPlugin2(config3, {
+ requestAlgorithmMember: { "httpHeader": "x-amz-sdk-checksum-algorithm", "name": "ChecksumAlgorithm" },
+ requestChecksumRequired: false
+ }),
+ getCheckContentLengthHeaderPlugin2(config3),
+ getThrow200ExceptionsPlugin2(config3),
+ getSsecPlugin2(config3)
+ ], "_mw11");
+ var _mw12 = /* @__PURE__ */ __name((Command2, cs, config3, o4) => [
+ getSsecPlugin2(config3)
+ ], "_mw12");
+ var _mw13 = /* @__PURE__ */ __name((Command2, cs, config3, o4) => [
+ getFlexibleChecksumsPlugin2(config3, {
+ requestAlgorithmMember: { "httpHeader": "x-amz-sdk-checksum-algorithm", "name": "ChecksumAlgorithm" },
+ requestChecksumRequired: false
+ }),
+ getThrow200ExceptionsPlugin2(config3),
+ getSsecPlugin2(config3)
+ ], "_mw13");
+ var S3ServiceException = class _S3ServiceException extends ServiceException2 {
+ static {
+ __name(this, "S3ServiceException");
+ }
+ static shapeId = "smithy.ts.sdk.synthetic.com.amazonaws.s3#S3ServiceException";
+ constructor(options) {
+ super(options);
+ Object.setPrototypeOf(this, _S3ServiceException.prototype);
+ }
+ };
+ var NoSuchUpload = class _NoSuchUpload extends S3ServiceException {
+ static {
+ __name(this, "NoSuchUpload");
+ }
+ static shapeId = "com.amazonaws.s3#NoSuchUpload";
+ name = "NoSuchUpload";
+ $fault = "client";
+ constructor(opts) {
+ super({
+ name: "NoSuchUpload",
+ $fault: "client",
+ ...opts
+ });
+ Object.setPrototypeOf(this, _NoSuchUpload.prototype);
+ }
+ };
+ var AccessDenied = class _AccessDenied extends S3ServiceException {
+ static {
+ __name(this, "AccessDenied");
+ }
+ static shapeId = "com.amazonaws.s3#AccessDenied";
+ name = "AccessDenied";
+ $fault = "client";
+ constructor(opts) {
+ super({
+ name: "AccessDenied",
+ $fault: "client",
+ ...opts
+ });
+ Object.setPrototypeOf(this, _AccessDenied.prototype);
+ }
+ };
+ var ObjectNotInActiveTierError = class _ObjectNotInActiveTierError extends S3ServiceException {
+ static {
+ __name(this, "ObjectNotInActiveTierError");
+ }
+ static shapeId = "com.amazonaws.s3#ObjectNotInActiveTierError";
+ name = "ObjectNotInActiveTierError";
+ $fault = "client";
+ constructor(opts) {
+ super({
+ name: "ObjectNotInActiveTierError",
+ $fault: "client",
+ ...opts
+ });
+ Object.setPrototypeOf(this, _ObjectNotInActiveTierError.prototype);
+ }
+ };
+ var BucketAlreadyExists = class _BucketAlreadyExists extends S3ServiceException {
+ static {
+ __name(this, "BucketAlreadyExists");
+ }
+ static shapeId = "com.amazonaws.s3#BucketAlreadyExists";
+ name = "BucketAlreadyExists";
+ $fault = "client";
+ constructor(opts) {
+ super({
+ name: "BucketAlreadyExists",
+ $fault: "client",
+ ...opts
+ });
+ Object.setPrototypeOf(this, _BucketAlreadyExists.prototype);
+ }
+ };
+ var BucketAlreadyOwnedByYou = class _BucketAlreadyOwnedByYou extends S3ServiceException {
+ static {
+ __name(this, "BucketAlreadyOwnedByYou");
+ }
+ static shapeId = "com.amazonaws.s3#BucketAlreadyOwnedByYou";
+ name = "BucketAlreadyOwnedByYou";
+ $fault = "client";
+ constructor(opts) {
+ super({
+ name: "BucketAlreadyOwnedByYou",
+ $fault: "client",
+ ...opts
+ });
+ Object.setPrototypeOf(this, _BucketAlreadyOwnedByYou.prototype);
+ }
+ };
+ var NoSuchBucket = class _NoSuchBucket extends S3ServiceException {
+ static {
+ __name(this, "NoSuchBucket");
+ }
+ static shapeId = "com.amazonaws.s3#NoSuchBucket";
+ name = "NoSuchBucket";
+ $fault = "client";
+ constructor(opts) {
+ super({
+ name: "NoSuchBucket",
+ $fault: "client",
+ ...opts
+ });
+ Object.setPrototypeOf(this, _NoSuchBucket.prototype);
+ }
+ };
+ var NoSuchKey = class _NoSuchKey extends S3ServiceException {
+ static {
+ __name(this, "NoSuchKey");
+ }
+ static shapeId = "com.amazonaws.s3#NoSuchKey";
+ name = "NoSuchKey";
+ $fault = "client";
+ constructor(opts) {
+ super({
+ name: "NoSuchKey",
+ $fault: "client",
+ ...opts
+ });
+ Object.setPrototypeOf(this, _NoSuchKey.prototype);
+ }
+ };
+ var InvalidObjectState = class _InvalidObjectState extends S3ServiceException {
+ static {
+ __name(this, "InvalidObjectState");
+ }
+ static shapeId = "com.amazonaws.s3#InvalidObjectState";
+ name = "InvalidObjectState";
+ $fault = "client";
+ StorageClass;
+ AccessTier;
+ constructor(opts) {
+ super({
+ name: "InvalidObjectState",
+ $fault: "client",
+ ...opts
+ });
+ Object.setPrototypeOf(this, _InvalidObjectState.prototype);
+ this.StorageClass = opts.StorageClass;
+ this.AccessTier = opts.AccessTier;
+ }
+ };
+ var NoSuchAnnotation = class _NoSuchAnnotation extends S3ServiceException {
+ static {
+ __name(this, "NoSuchAnnotation");
+ }
+ static shapeId = "com.amazonaws.s3#NoSuchAnnotation";
+ name = "NoSuchAnnotation";
+ $fault = "client";
+ constructor(opts) {
+ super({
+ name: "NoSuchAnnotation",
+ $fault: "client",
+ ...opts
+ });
+ Object.setPrototypeOf(this, _NoSuchAnnotation.prototype);
+ }
+ };
+ var NotFound = class _NotFound extends S3ServiceException {
+ static {
+ __name(this, "NotFound");
+ }
+ static shapeId = "com.amazonaws.s3#NotFound";
+ name = "NotFound";
+ $fault = "client";
+ constructor(opts) {
+ super({
+ name: "NotFound",
+ $fault: "client",
+ ...opts
+ });
+ Object.setPrototypeOf(this, _NotFound.prototype);
+ }
+ };
+ var InvalidPrefix = class _InvalidPrefix extends S3ServiceException {
+ static {
+ __name(this, "InvalidPrefix");
+ }
+ static shapeId = "com.amazonaws.s3#InvalidPrefix";
+ name = "InvalidPrefix";
+ $fault = "client";
+ constructor(opts) {
+ super({
+ name: "InvalidPrefix",
+ $fault: "client",
+ ...opts
+ });
+ Object.setPrototypeOf(this, _InvalidPrefix.prototype);
+ }
+ };
+ var EncryptionTypeMismatch = class _EncryptionTypeMismatch extends S3ServiceException {
+ static {
+ __name(this, "EncryptionTypeMismatch");
+ }
+ static shapeId = "com.amazonaws.s3#EncryptionTypeMismatch";
+ name = "EncryptionTypeMismatch";
+ $fault = "client";
+ constructor(opts) {
+ super({
+ name: "EncryptionTypeMismatch",
+ $fault: "client",
+ ...opts
+ });
+ Object.setPrototypeOf(this, _EncryptionTypeMismatch.prototype);
+ }
+ };
+ var InvalidRequest = class _InvalidRequest extends S3ServiceException {
+ static {
+ __name(this, "InvalidRequest");
+ }
+ static shapeId = "com.amazonaws.s3#InvalidRequest";
+ name = "InvalidRequest";
+ $fault = "client";
+ constructor(opts) {
+ super({
+ name: "InvalidRequest",
+ $fault: "client",
+ ...opts
+ });
+ Object.setPrototypeOf(this, _InvalidRequest.prototype);
+ }
+ };
+ var InvalidWriteOffset = class _InvalidWriteOffset extends S3ServiceException {
+ static {
+ __name(this, "InvalidWriteOffset");
+ }
+ static shapeId = "com.amazonaws.s3#InvalidWriteOffset";
+ name = "InvalidWriteOffset";
+ $fault = "client";
+ constructor(opts) {
+ super({
+ name: "InvalidWriteOffset",
+ $fault: "client",
+ ...opts
+ });
+ Object.setPrototypeOf(this, _InvalidWriteOffset.prototype);
+ }
+ };
+ var TooManyParts = class _TooManyParts extends S3ServiceException {
+ static {
+ __name(this, "TooManyParts");
+ }
+ static shapeId = "com.amazonaws.s3#TooManyParts";
+ name = "TooManyParts";
+ $fault = "client";
+ constructor(opts) {
+ super({
+ name: "TooManyParts",
+ $fault: "client",
+ ...opts
+ });
+ Object.setPrototypeOf(this, _TooManyParts.prototype);
+ }
+ };
+ var AnnotationLimitExceeded = class _AnnotationLimitExceeded extends S3ServiceException {
+ static {
+ __name(this, "AnnotationLimitExceeded");
+ }
+ static shapeId = "com.amazonaws.s3#AnnotationLimitExceeded";
+ name = "AnnotationLimitExceeded";
+ $fault = "client";
+ constructor(opts) {
+ super({
+ name: "AnnotationLimitExceeded",
+ $fault: "client",
+ ...opts
+ });
+ Object.setPrototypeOf(this, _AnnotationLimitExceeded.prototype);
+ }
+ };
+ var AnnotationNameTooLong = class _AnnotationNameTooLong extends S3ServiceException {
+ static {
+ __name(this, "AnnotationNameTooLong");
+ }
+ static shapeId = "com.amazonaws.s3#AnnotationNameTooLong";
+ name = "AnnotationNameTooLong";
+ $fault = "client";
+ constructor(opts) {
+ super({
+ name: "AnnotationNameTooLong",
+ $fault: "client",
+ ...opts
+ });
+ Object.setPrototypeOf(this, _AnnotationNameTooLong.prototype);
+ }
+ };
+ var InvalidAnnotationName = class _InvalidAnnotationName extends S3ServiceException {
+ static {
+ __name(this, "InvalidAnnotationName");
+ }
+ static shapeId = "com.amazonaws.s3#InvalidAnnotationName";
+ name = "InvalidAnnotationName";
+ $fault = "client";
+ constructor(opts) {
+ super({
+ name: "InvalidAnnotationName",
+ $fault: "client",
+ ...opts
+ });
+ Object.setPrototypeOf(this, _InvalidAnnotationName.prototype);
+ }
+ };
+ var UnsupportedMediaType = class _UnsupportedMediaType extends S3ServiceException {
+ static {
+ __name(this, "UnsupportedMediaType");
+ }
+ static shapeId = "com.amazonaws.s3#UnsupportedMediaType";
+ name = "UnsupportedMediaType";
+ $fault = "client";
+ constructor(opts) {
+ super({
+ name: "UnsupportedMediaType",
+ $fault: "client",
+ ...opts
+ });
+ Object.setPrototypeOf(this, _UnsupportedMediaType.prototype);
+ }
+ };
+ var IdempotencyParameterMismatch = class _IdempotencyParameterMismatch extends S3ServiceException {
+ static {
+ __name(this, "IdempotencyParameterMismatch");
+ }
+ static shapeId = "com.amazonaws.s3#IdempotencyParameterMismatch";
+ name = "IdempotencyParameterMismatch";
+ $fault = "client";
+ constructor(opts) {
+ super({
+ name: "IdempotencyParameterMismatch",
+ $fault: "client",
+ ...opts
+ });
+ Object.setPrototypeOf(this, _IdempotencyParameterMismatch.prototype);
+ }
+ };
+ var ObjectAlreadyInActiveTierError = class _ObjectAlreadyInActiveTierError extends S3ServiceException {
+ static {
+ __name(this, "ObjectAlreadyInActiveTierError");
+ }
+ static shapeId = "com.amazonaws.s3#ObjectAlreadyInActiveTierError";
+ name = "ObjectAlreadyInActiveTierError";
+ $fault = "client";
+ constructor(opts) {
+ super({
+ name: "ObjectAlreadyInActiveTierError",
+ $fault: "client",
+ ...opts
+ });
+ Object.setPrototypeOf(this, _ObjectAlreadyInActiveTierError.prototype);
+ }
+ };
+ var _A2 = "Account";
+ var _AAO = "AnalyticsAndOperator";
+ var _AC = "AccelerateConfiguration";
+ var _ACL = "AccessControlList";
+ var _ACL_ = "ACL";
+ var _ACLn = "AnalyticsConfigurationList";
+ var _ACP = "AccessControlPolicy";
+ var _ACT = "AccessControlTranslation";
+ var _ACn = "AnalyticsConfiguration";
+ var _ACnn = "AnnotationCount";
+ var _AD = "AccessDenied";
+ var _ADb = "AbortDate";
+ var _ADn = "AnnotationDirective";
+ var _AE = "AnnotationEntry";
+ var _AED = "AnalyticsExportDestination";
+ var _AF = "AnalyticsFilter";
+ var _AH = "AllowedHeaders";
+ var _AHl = "AllowedHeader";
+ var _AI = "AccountId";
+ var _AIMU = "AbortIncompleteMultipartUpload";
+ var _AKI2 = "AccessKeyId";
+ var _AL = "AnnotationList";
+ var _ALE = "AnnotationLimitExceeded";
+ var _AM = "AllowedMethods";
+ var _AMU = "AbortMultipartUpload";
+ var _AMUO = "AbortMultipartUploadOutput";
+ var _AMUR = "AbortMultipartUploadRequest";
+ var _AMl = "AllowedMethod";
+ var _AN = "AnnotationName";
+ var _ANTL = "AnnotationNameTooLong";
+ var _AO = "AllowedOrigins";
+ var _AOl = "AllowedOrigin";
+ var _AP = "AnnotationPayload";
+ var _APA = "AccessPointAlias";
+ var _APAc = "AccessPointArn";
+ var _APn = "AnnotationPrefix";
+ var _AQRD = "AllowQuotedRecordDelimiter";
+ var _AR2 = "AcceptRanges";
+ var _ARI2 = "AbortRuleId";
+ var _AS = "AbacStatus";
+ var _ASBD = "AnalyticsS3BucketDestination";
+ var _ASSEBD = "ApplyServerSideEncryptionByDefault";
+ var _ASr = "ArchiveStatus";
+ var _AT3 = "AccessTier";
+ var _ATC = "AnnotationTableConfiguration";
+ var _ATCR = "AnnotationTableConfigurationResult";
+ var _ATCU = "AnnotationTableConfigurationUpdates";
+ var _An = "And";
+ var _Ann = "Annotations";
+ var _B = "Bucket";
+ var _BA = "BucketArn";
+ var _BAE = "BucketAlreadyExists";
+ var _BAI = "BucketAccountId";
+ var _BAOBY = "BucketAlreadyOwnedByYou";
+ var _BET = "BlockedEncryptionTypes";
+ var _BGR = "BypassGovernanceRetention";
+ var _BI = "BucketInfo";
+ var _BKE = "BucketKeyEnabled";
+ var _BLC = "BucketLifecycleConfiguration";
+ var _BLN = "BucketLocationName";
+ var _BLS = "BucketLoggingStatus";
+ var _BLT = "BucketLocationType";
+ var _BN = "BucketNamespace";
+ var _BNu = "BucketName";
+ var _BP = "BytesProcessed";
+ var _BPA = "BlockPublicAcls";
+ var _BPP = "BlockPublicPolicy";
+ var _BR = "BucketRegion";
+ var _BRy = "BytesReturned";
+ var _BS = "BytesScanned";
+ var _Bo = "Body";
+ var _Bu = "Buckets";
+ var _C2 = "Checksum";
+ var _CA2 = "ChecksumAlgorithm";
+ var _CACL = "CannedACL";
+ var _CB = "CreateBucket";
+ var _CBC = "CreateBucketConfiguration";
+ var _CBMC = "CreateBucketMetadataConfiguration";
+ var _CBMCR = "CreateBucketMetadataConfigurationRequest";
+ var _CBMTC = "CreateBucketMetadataTableConfiguration";
+ var _CBMTCR = "CreateBucketMetadataTableConfigurationRequest";
+ var _CBO = "CreateBucketOutput";
+ var _CBR = "CreateBucketRequest";
+ var _CC = "CacheControl";
+ var _CCRC = "ChecksumCRC32";
+ var _CCRCC = "ChecksumCRC32C";
+ var _CCRCNVME = "ChecksumCRC64NVME";
+ var _CC_ = "Cache-Control";
+ var _CD = "CreationDate";
+ var _CD_ = "Content-Disposition";
+ var _CDo = "ContentDisposition";
+ var _CE = "ContinuationEvent";
+ var _CE_ = "Content-Encoding";
+ var _CEo = "ContentEncoding";
+ var _CF = "CloudFunction";
+ var _CFC = "CloudFunctionConfiguration";
+ var _CL = "ContentLanguage";
+ var _CL_ = "Content-Language";
+ var _CL__ = "Content-Length";
+ var _CLo = "ContentLength";
+ var _CM = "Content-MD5";
+ var _CMD = "ChecksumMD5";
+ var _CMDo = "ContentMD5";
+ var _CMU = "CompletedMultipartUpload";
+ var _CMUO = "CompleteMultipartUploadOutput";
+ var _CMUOr = "CreateMultipartUploadOutput";
+ var _CMUR = "CompleteMultipartUploadResult";
+ var _CMURo = "CompleteMultipartUploadRequest";
+ var _CMURr = "CreateMultipartUploadRequest";
+ var _CMUo = "CompleteMultipartUpload";
+ var _CMUr = "CreateMultipartUpload";
+ var _CMh = "ChecksumMode";
+ var _CO = "CopyObject";
+ var _COO = "CopyObjectOutput";
+ var _COR = "CopyObjectResult";
+ var _CORSC = "CORSConfiguration";
+ var _CORSR = "CORSRules";
+ var _CORSRu = "CORSRule";
+ var _CORo = "CopyObjectRequest";
+ var _CP = "CommonPrefix";
+ var _CPL = "CommonPrefixList";
+ var _CPLo = "CompletedPartList";
+ var _CPR = "CopyPartResult";
+ var _CPo = "CompletedPart";
+ var _CPom = "CommonPrefixes";
+ var _CR = "ContentRange";
+ var _CRSBA = "ConfirmRemoveSelfBucketAccess";
+ var _CR_ = "Content-Range";
+ var _CS2 = "ConfigurationState";
+ var _CSHA = "ChecksumSHA1";
+ var _CSHAh = "ChecksumSHA256";
+ var _CSHAhe = "ChecksumSHA512";
+ var _CSIM = "CopySourceIfMatch";
+ var _CSIMS = "CopySourceIfModifiedSince";
+ var _CSINM = "CopySourceIfNoneMatch";
+ var _CSIUS = "CopySourceIfUnmodifiedSince";
+ var _CSO = "CreateSessionOutput";
+ var _CSR = "CreateSessionResult";
+ var _CSRo = "CopySourceRange";
+ var _CSRr = "CreateSessionRequest";
+ var _CSSSECA = "CopySourceSSECustomerAlgorithm";
+ var _CSSSECK = "CopySourceSSECustomerKey";
+ var _CSSSECKMD = "CopySourceSSECustomerKeyMD5";
+ var _CSV = "CSV";
+ var _CSVI = "CopySourceVersionId";
+ var _CSVIn = "CSVInput";
+ var _CSVO = "CSVOutput";
+ var _CSo = "CopySource";
+ var _CSr = "CreateSession";
+ var _CT2 = "ChecksumType";
+ var _CT_ = "Content-Type";
+ var _CTl = "ClientToken";
+ var _CTo = "ContentType";
+ var _CTom = "CompressionType";
+ var _CTon = "ContinuationToken";
+ var _CXXHASH = "ChecksumXXHASH64";
+ var _CXXHASHh = "ChecksumXXHASH3";
+ var _CXXHASHhe = "ChecksumXXHASH128";
+ var _Co = "Condition";
+ var _Cod = "Code";
+ var _Com = "Comments";
+ var _Con = "Contents";
+ var _Cont = "Cont";
+ var _Cr = "Credentials";
+ var _D = "Days";
+ var _DAI = "DaysAfterInitiation";
+ var _DB = "DeleteBucket";
+ var _DBAC = "DeleteBucketAnalyticsConfiguration";
+ var _DBACR = "DeleteBucketAnalyticsConfigurationRequest";
+ var _DBC = "DeleteBucketCors";
+ var _DBCR = "DeleteBucketCorsRequest";
+ var _DBE = "DeleteBucketEncryption";
+ var _DBER = "DeleteBucketEncryptionRequest";
+ var _DBIC = "DeleteBucketInventoryConfiguration";
+ var _DBICR = "DeleteBucketInventoryConfigurationRequest";
+ var _DBITC = "DeleteBucketIntelligentTieringConfiguration";
+ var _DBITCR = "DeleteBucketIntelligentTieringConfigurationRequest";
+ var _DBL = "DeleteBucketLifecycle";
+ var _DBLR = "DeleteBucketLifecycleRequest";
+ var _DBMC = "DeleteBucketMetadataConfiguration";
+ var _DBMCR = "DeleteBucketMetadataConfigurationRequest";
+ var _DBMCRe = "DeleteBucketMetricsConfigurationRequest";
+ var _DBMCe = "DeleteBucketMetricsConfiguration";
+ var _DBMTC = "DeleteBucketMetadataTableConfiguration";
+ var _DBMTCR = "DeleteBucketMetadataTableConfigurationRequest";
+ var _DBOC = "DeleteBucketOwnershipControls";
+ var _DBOCR = "DeleteBucketOwnershipControlsRequest";
+ var _DBP = "DeleteBucketPolicy";
+ var _DBPR = "DeleteBucketPolicyRequest";
+ var _DBR = "DeleteBucketRequest";
+ var _DBRR = "DeleteBucketReplicationRequest";
+ var _DBRe = "DeleteBucketReplication";
+ var _DBT = "DeleteBucketTagging";
+ var _DBTR = "DeleteBucketTaggingRequest";
+ var _DBW = "DeleteBucketWebsite";
+ var _DBWR = "DeleteBucketWebsiteRequest";
+ var _DE = "DataExport";
+ var _DEH = "DefaultEventHold";
+ var _DIM = "DestinationIfMatch";
+ var _DIMS = "DestinationIfModifiedSince";
+ var _DINM = "DestinationIfNoneMatch";
+ var _DIUS = "DestinationIfUnmodifiedSince";
+ var _DM = "DeleteMarker";
+ var _DME = "DeleteMarkerEntry";
+ var _DMR = "DeleteMarkerReplication";
+ var _DMVI = "DeleteMarkerVersionId";
+ var _DMe = "DeleteMarkers";
+ var _DN = "DisplayName";
+ var _DO = "DeletedObject";
+ var _DOA = "DeleteObjectAnnotation";
+ var _DOAO = "DeleteObjectAnnotationOutput";
+ var _DOAR = "DeleteObjectAnnotationRequest";
+ var _DOO = "DeleteObjectOutput";
+ var _DOOe = "DeleteObjectsOutput";
+ var _DOR = "DeleteObjectRequest";
+ var _DORe = "DeleteObjectsRequest";
+ var _DOT = "DeleteObjectTagging";
+ var _DOTO = "DeleteObjectTaggingOutput";
+ var _DOTR = "DeleteObjectTaggingRequest";
+ var _DOe = "DeletedObjects";
+ var _DOel = "DeleteObject";
+ var _DOele = "DeleteObjects";
+ var _DPAB = "DeletePublicAccessBlock";
+ var _DPABR = "DeletePublicAccessBlockRequest";
+ var _DR = "DataRedundancy";
+ var _DRe = "DefaultRetention";
+ var _DRel = "DeleteResult";
+ var _DRes = "DestinationResult";
+ var _Da = "Date";
+ var _De = "Delete";
+ var _Del = "Deleted";
+ var _Deli = "Delimiter";
+ var _Des = "Destination";
+ var _Desc = "Description";
+ var _Det = "Details";
+ var _E3 = "Error";
+ var _EA = "EmailAddress";
+ var _EBC = "EventBridgeConfiguration";
+ var _EBO = "ExpectedBucketOwner";
+ var _EC = "EncryptionConfiguration";
+ var _ECr = "ErrorCode";
+ var _ED = "ErrorDetails";
+ var _EDr = "ErrorDocument";
+ var _EE = "EndEvent";
+ var _EH = "ExposeHeaders";
+ var _EHD = "EventHoldDuration";
+ var _EHv = "EventHold";
+ var _EHx = "ExposeHeader";
+ var _EM = "ErrorMessage";
+ var _EODM = "ExpiredObjectDeleteMarker";
+ var _EOR = "ExistingObjectReplication";
+ var _ES = "ExpiresString";
+ var _ESBO = "ExpectedSourceBucketOwner";
+ var _ET = "ETag";
+ var _ETL = "EncryptionTypeList";
+ var _ETM = "EncryptionTypeMismatch";
+ var _ETn = "EncryptionType";
+ var _ETnc = "EncodingType";
+ var _ETv = "EventThreshold";
+ var _ETx = "ExpressionType";
+ var _En = "Encryption";
+ var _Ena = "Enabled";
+ var _End = "End";
+ var _Er = "Errors";
+ var _Ev = "Events";
+ var _Eve = "Event";
+ var _Ex = "Expiration";
+ var _Exp = "Expires";
+ var _Expr = "Expression";
+ var _F = "Filter";
+ var _FD = "FieldDelimiter";
+ var _FHI = "FileHeaderInfo";
+ var _FO = "FetchOwner";
+ var _FR = "FilterRule";
+ var _FRL = "FilterRuleList";
+ var _FRi = "FilterRules";
+ var _Fi = "Field";
+ var _Fo = "Format";
+ var _Fr = "Frequency";
+ var _G = "Grants";
+ var _GBA = "GetBucketAbac";
+ var _GBAC = "GetBucketAccelerateConfiguration";
+ var _GBACO = "GetBucketAccelerateConfigurationOutput";
+ var _GBACOe = "GetBucketAnalyticsConfigurationOutput";
+ var _GBACR = "GetBucketAccelerateConfigurationRequest";
+ var _GBACRe = "GetBucketAnalyticsConfigurationRequest";
+ var _GBACe = "GetBucketAnalyticsConfiguration";
+ var _GBAO = "GetBucketAbacOutput";
+ var _GBAOe = "GetBucketAclOutput";
+ var _GBAR = "GetBucketAbacRequest";
+ var _GBARe = "GetBucketAclRequest";
+ var _GBAe = "GetBucketAcl";
+ var _GBC = "GetBucketCors";
+ var _GBCO = "GetBucketCorsOutput";
+ var _GBCR = "GetBucketCorsRequest";
+ var _GBE = "GetBucketEncryption";
+ var _GBEO = "GetBucketEncryptionOutput";
+ var _GBER = "GetBucketEncryptionRequest";
+ var _GBIC = "GetBucketInventoryConfiguration";
+ var _GBICO = "GetBucketInventoryConfigurationOutput";
+ var _GBICR = "GetBucketInventoryConfigurationRequest";
+ var _GBITC = "GetBucketIntelligentTieringConfiguration";
+ var _GBITCO = "GetBucketIntelligentTieringConfigurationOutput";
+ var _GBITCR = "GetBucketIntelligentTieringConfigurationRequest";
+ var _GBL = "GetBucketLocation";
+ var _GBLC = "GetBucketLifecycleConfiguration";
+ var _GBLCO = "GetBucketLifecycleConfigurationOutput";
+ var _GBLCR = "GetBucketLifecycleConfigurationRequest";
+ var _GBLO = "GetBucketLocationOutput";
+ var _GBLOe = "GetBucketLoggingOutput";
+ var _GBLR = "GetBucketLocationRequest";
+ var _GBLRe = "GetBucketLoggingRequest";
+ var _GBLe = "GetBucketLogging";
+ var _GBMC = "GetBucketMetadataConfiguration";
+ var _GBMCO = "GetBucketMetadataConfigurationOutput";
+ var _GBMCOe = "GetBucketMetricsConfigurationOutput";
+ var _GBMCR = "GetBucketMetadataConfigurationResult";
+ var _GBMCRe = "GetBucketMetadataConfigurationRequest";
+ var _GBMCRet = "GetBucketMetricsConfigurationRequest";
+ var _GBMCe = "GetBucketMetricsConfiguration";
+ var _GBMTC = "GetBucketMetadataTableConfiguration";
+ var _GBMTCO = "GetBucketMetadataTableConfigurationOutput";
+ var _GBMTCR = "GetBucketMetadataTableConfigurationResult";
+ var _GBMTCRe = "GetBucketMetadataTableConfigurationRequest";
+ var _GBNC = "GetBucketNotificationConfiguration";
+ var _GBNCR = "GetBucketNotificationConfigurationRequest";
+ var _GBOC = "GetBucketOwnershipControls";
+ var _GBOCO = "GetBucketOwnershipControlsOutput";
+ var _GBOCR = "GetBucketOwnershipControlsRequest";
+ var _GBP = "GetBucketPolicy";
+ var _GBPO = "GetBucketPolicyOutput";
+ var _GBPR = "GetBucketPolicyRequest";
+ var _GBPS = "GetBucketPolicyStatus";
+ var _GBPSO = "GetBucketPolicyStatusOutput";
+ var _GBPSR = "GetBucketPolicyStatusRequest";
+ var _GBR = "GetBucketReplication";
+ var _GBRO = "GetBucketReplicationOutput";
+ var _GBRP = "GetBucketRequestPayment";
+ var _GBRPO = "GetBucketRequestPaymentOutput";
+ var _GBRPR = "GetBucketRequestPaymentRequest";
+ var _GBRR = "GetBucketReplicationRequest";
+ var _GBT = "GetBucketTagging";
+ var _GBTO = "GetBucketTaggingOutput";
+ var _GBTR = "GetBucketTaggingRequest";
+ var _GBV = "GetBucketVersioning";
+ var _GBVO = "GetBucketVersioningOutput";
+ var _GBVR = "GetBucketVersioningRequest";
+ var _GBW = "GetBucketWebsite";
+ var _GBWO = "GetBucketWebsiteOutput";
+ var _GBWR = "GetBucketWebsiteRequest";
+ var _GFC = "GrantFullControl";
+ var _GJP = "GlacierJobParameters";
+ var _GO = "GetObject";
+ var _GOA = "GetObjectAcl";
+ var _GOAO = "GetObjectAclOutput";
+ var _GOAOe = "GetObjectAnnotationOutput";
+ var _GOAOet = "GetObjectAttributesOutput";
+ var _GOAP = "GetObjectAttributesParts";
+ var _GOAR = "GetObjectAclRequest";
+ var _GOARe = "GetObjectAnnotationRequest";
+ var _GOARet = "GetObjectAttributesResponse";
+ var _GOARetb = "GetObjectAttributesRequest";
+ var _GOAe = "GetObjectAnnotation";
+ var _GOAet = "GetObjectAttributes";
+ var _GOLC = "GetObjectLockConfiguration";
+ var _GOLCO = "GetObjectLockConfigurationOutput";
+ var _GOLCR = "GetObjectLockConfigurationRequest";
+ var _GOLH = "GetObjectLegalHold";
+ var _GOLHO = "GetObjectLegalHoldOutput";
+ var _GOLHR = "GetObjectLegalHoldRequest";
+ var _GOO = "GetObjectOutput";
+ var _GOR = "GetObjectRequest";
+ var _GORO = "GetObjectRetentionOutput";
+ var _GORR = "GetObjectRetentionRequest";
+ var _GORe = "GetObjectRetention";
+ var _GOT = "GetObjectTagging";
+ var _GOTO = "GetObjectTaggingOutput";
+ var _GOTOe = "GetObjectTorrentOutput";
+ var _GOTR = "GetObjectTaggingRequest";
+ var _GOTRe = "GetObjectTorrentRequest";
+ var _GOTe = "GetObjectTorrent";
+ var _GPAB = "GetPublicAccessBlock";
+ var _GPABO = "GetPublicAccessBlockOutput";
+ var _GPABR = "GetPublicAccessBlockRequest";
+ var _GR = "GrantRead";
+ var _GRACP = "GrantReadACP";
+ var _GW = "GrantWrite";
+ var _GWACP = "GrantWriteACP";
+ var _Gr = "Grant";
+ var _Gra = "Grantee";
+ var _HB = "HeadBucket";
+ var _HBO = "HeadBucketOutput";
+ var _HBR = "HeadBucketRequest";
+ var _HECRE = "HttpErrorCodeReturnedEquals";
+ var _HN = "HostName";
+ var _HO = "HeadObject";
+ var _HOO = "HeadObjectOutput";
+ var _HOR = "HeadObjectRequest";
+ var _HRC = "HttpRedirectCode";
+ var _I = "Id";
+ var _IAN = "InvalidAnnotationName";
+ var _IC = "InventoryConfiguration";
+ var _ICL = "InventoryConfigurationList";
+ var _ID = "ID";
+ var _IDn = "IndexDocument";
+ var _IDnv = "InventoryDestination";
+ var _IE = "IsEnabled";
+ var _IEn = "InventoryEncryption";
+ var _IF = "InventoryFilter";
+ var _IL = "IsLatest";
+ var _IM = "IfMatch";
+ var _IMIT = "IfMatchInitiatedTime";
+ var _IMLMT = "IfMatchLastModifiedTime";
+ var _IMS = "IfMatchSize";
+ var _IMS_ = "If-Modified-Since";
+ var _IMSf = "IfModifiedSince";
+ var _IMUR = "InitiateMultipartUploadResult";
+ var _IM_ = "If-Match";
+ var _INM = "IfNoneMatch";
+ var _INM_ = "If-None-Match";
+ var _IOF = "InventoryOptionalFields";
+ var _IOS = "InvalidObjectState";
+ var _IOV = "IncludedObjectVersions";
+ var _IP = "InvalidPrefix";
+ var _IPA = "IgnorePublicAcls";
+ var _IPM = "IdempotencyParameterMismatch";
+ var _IPs = "IsPublic";
+ var _IR = "InvalidRequest";
+ var _IRIP = "IsRestoreInProgress";
+ var _IS = "InputSerialization";
+ var _ISBD = "InventoryS3BucketDestination";
+ var _ISn = "InventorySchedule";
+ var _IT2 = "IsTruncated";
+ var _ITAO = "IntelligentTieringAndOperator";
+ var _ITC = "IntelligentTieringConfiguration";
+ var _ITCL = "IntelligentTieringConfigurationList";
+ var _ITCR = "InventoryTableConfigurationResult";
+ var _ITCU = "InventoryTableConfigurationUpdates";
+ var _ITCn = "InventoryTableConfiguration";
+ var _ITF = "IntelligentTieringFilter";
+ var _IUS = "IfUnmodifiedSince";
+ var _IUS_ = "If-Unmodified-Since";
+ var _IWO = "InvalidWriteOffset";
+ var _In = "Initiator";
+ var _Ini = "Initiated";
+ var _JSON = "JSON";
+ var _JSONI = "JSONInput";
+ var _JSONO = "JSONOutput";
+ var _JTC = "JournalTableConfiguration";
+ var _JTCR = "JournalTableConfigurationResult";
+ var _JTCU = "JournalTableConfigurationUpdates";
+ var _K2 = "Key";
+ var _KC = "KeyCount";
+ var _KI = "KeyId";
+ var _KKA = "KmsKeyArn";
+ var _KM = "KeyMarker";
+ var _KMSC = "KMSContext";
+ var _KMSKA = "KMSKeyArn";
+ var _KMSKI = "KMSKeyId";
+ var _KMSMKID = "KMSMasterKeyID";
+ var _KPE = "KeyPrefixEquals";
+ var _L = "Location";
+ var _LAMBR = "ListAllMyBucketsResult";
+ var _LAMDBR = "ListAllMyDirectoryBucketsResult";
+ var _LB = "ListBuckets";
+ var _LBAC = "ListBucketAnalyticsConfigurations";
+ var _LBACO = "ListBucketAnalyticsConfigurationsOutput";
+ var _LBACR = "ListBucketAnalyticsConfigurationResult";
+ var _LBACRi = "ListBucketAnalyticsConfigurationsRequest";
+ var _LBIC = "ListBucketInventoryConfigurations";
+ var _LBICO = "ListBucketInventoryConfigurationsOutput";
+ var _LBICR = "ListBucketInventoryConfigurationsRequest";
+ var _LBITC = "ListBucketIntelligentTieringConfigurations";
+ var _LBITCO = "ListBucketIntelligentTieringConfigurationsOutput";
+ var _LBITCR = "ListBucketIntelligentTieringConfigurationsRequest";
+ var _LBMC = "ListBucketMetricsConfigurations";
+ var _LBMCO = "ListBucketMetricsConfigurationsOutput";
+ var _LBMCR = "ListBucketMetricsConfigurationsRequest";
+ var _LBO = "ListBucketsOutput";
+ var _LBR = "ListBucketsRequest";
+ var _LBRi = "ListBucketResult";
+ var _LC = "LocationConstraint";
+ var _LCi = "LifecycleConfiguration";
+ var _LDB = "ListDirectoryBuckets";
+ var _LDBO = "ListDirectoryBucketsOutput";
+ var _LDBR = "ListDirectoryBucketsRequest";
+ var _LE = "LoggingEnabled";
+ var _LEi = "LifecycleExpiration";
+ var _LFA = "LambdaFunctionArn";
+ var _LFC = "LambdaFunctionConfiguration";
+ var _LFCL = "LambdaFunctionConfigurationList";
+ var _LFCa = "LambdaFunctionConfigurations";
+ var _LH = "LegalHold";
+ var _LI = "LocationInfo";
+ var _LICR = "ListInventoryConfigurationsResult";
+ var _LM = "LastModified";
+ var _LMCR = "ListMetricsConfigurationsResult";
+ var _LMT = "LastModifiedTime";
+ var _LMU = "ListMultipartUploads";
+ var _LMUO = "ListMultipartUploadsOutput";
+ var _LMUR = "ListMultipartUploadsResult";
+ var _LMURi = "ListMultipartUploadsRequest";
+ var _LM_ = "Last-Modified";
+ var _LO = "ListObjects";
+ var _LOA = "ListObjectAnnotations";
+ var _LOAO = "ListObjectAnnotationsOutput";
+ var _LOAR = "ListObjectAnnotationsRequest";
+ var _LOO = "ListObjectsOutput";
+ var _LOR = "ListObjectsRequest";
+ var _LOV = "ListObjectsV2";
+ var _LOVO = "ListObjectsV2Output";
+ var _LOVOi = "ListObjectVersionsOutput";
+ var _LOVR = "ListObjectsV2Request";
+ var _LOVRi = "ListObjectVersionsRequest";
+ var _LOVi = "ListObjectVersions";
+ var _LP = "ListParts";
+ var _LPO = "ListPartsOutput";
+ var _LPR = "ListPartsResult";
+ var _LPRi = "ListPartsRequest";
+ var _LR = "LifecycleRule";
+ var _LRAO = "LifecycleRuleAndOperator";
+ var _LRF = "LifecycleRuleFilter";
+ var _LRi = "LifecycleRules";
+ var _LVR = "ListVersionsResult";
+ var _M = "Metadata";
+ var _MAO = "MetricsAndOperator";
+ var _MAR = "MaxAnnotationResults";
+ var _MAS = "MaxAgeSeconds";
+ var _MB = "MaxBuckets";
+ var _MC = "MetadataConfiguration";
+ var _MCL = "MetricsConfigurationList";
+ var _MCR = "MetadataConfigurationResult";
+ var _MCe = "MetricsConfiguration";
+ var _MD = "MetadataDirective";
+ var _MDB = "MaxDirectoryBuckets";
+ var _MDf = "MfaDelete";
+ var _ME = "MetadataEntry";
+ var _MF = "MetricsFilter";
+ var _MFA = "MFA";
+ var _MFAD = "MFADelete";
+ var _MK = "MaxKeys";
+ var _MM = "MissingMeta";
+ var _MOS = "MpuObjectSize";
+ var _MP = "MaxParts";
+ var _MTC = "MetadataTableConfiguration";
+ var _MTCR = "MetadataTableConfigurationResult";
+ var _MTEC = "MetadataTableEncryptionConfiguration";
+ var _MU = "MultipartUpload";
+ var _MUL = "MultipartUploadList";
+ var _MUa = "MaxUploads";
+ var _Ma = "Marker";
+ var _Me = "Metrics";
+ var _Mes = "Message";
+ var _Mi = "Minutes";
+ var _Mo = "Mode";
+ var _N = "Name";
+ var _NC = "NotificationConfiguration";
+ var _NCF = "NotificationConfigurationFilter";
+ var _NCT = "NextContinuationToken";
+ var _ND = "NoncurrentDays";
+ var _NEKKAS = "NonEmptyKmsKeyArnString";
+ var _NF = "NotFound";
+ var _NKM = "NextKeyMarker";
+ var _NM = "NextMarker";
+ var _NNV = "NewerNoncurrentVersions";
+ var _NPNM = "NextPartNumberMarker";
+ var _NSA = "NoSuchAnnotation";
+ var _NSB = "NoSuchBucket";
+ var _NSK = "NoSuchKey";
+ var _NSU = "NoSuchUpload";
+ var _NUIM = "NextUploadIdMarker";
+ var _NVE = "NoncurrentVersionExpiration";
+ var _NVIM = "NextVersionIdMarker";
+ var _NVT = "NoncurrentVersionTransitions";
+ var _NVTL = "NoncurrentVersionTransitionList";
+ var _NVTo = "NoncurrentVersionTransition";
+ var _O = "Owner";
+ var _OA = "ObjectAttributes";
+ var _OAIATE = "ObjectAlreadyInActiveTierError";
+ var _OC = "OwnershipControls";
+ var _OCR = "OwnershipControlsRule";
+ var _OCRw = "OwnershipControlsRules";
+ var _OE = "ObjectEncryption";
+ var _OF = "OptionalFields";
+ var _OI = "ObjectIdentifier";
+ var _OIL = "ObjectIdentifierList";
+ var _OIM = "ObjectIfMatch";
+ var _OL = "OutputLocation";
+ var _OLC = "ObjectLockConfiguration";
+ var _OLE = "ObjectLockEnabled";
+ var _OLEFB = "ObjectLockEnabledForBucket";
+ var _OLEH = "ObjectLockEventHold";
+ var _OLEHDD = "ObjectLockEventHoldDurationDays";
+ var _OLEHDY = "ObjectLockEventHoldDurationYears";
+ var _OLLH = "ObjectLockLegalHold";
+ var _OLLHS = "ObjectLockLegalHoldStatus";
+ var _OLM = "ObjectLockMode";
+ var _OLR = "ObjectLockRetention";
+ var _OLRUD = "ObjectLockRetainUntilDate";
+ var _OLRb = "ObjectLockRule";
+ var _OLb = "ObjectList";
+ var _ONIATE = "ObjectNotInActiveTierError";
+ var _OO = "ObjectOwnership";
+ var _OOA = "OptionalObjectAttributes";
+ var _OP = "ObjectParts";
+ var _OPb = "ObjectPart";
+ var _OS = "ObjectSize";
+ var _OSGT = "ObjectSizeGreaterThan";
+ var _OSLT = "ObjectSizeLessThan";
+ var _OSV = "OutputSchemaVersion";
+ var _OSu = "OutputSerialization";
+ var _OV = "ObjectVersion";
+ var _OVI = "ObjectVersionId";
+ var _OVL = "ObjectVersionList";
+ var _Ob = "Objects";
+ var _Obj = "Object";
+ var _P2 = "Prefix";
+ var _PABC = "PublicAccessBlockConfiguration";
+ var _PBA = "PutBucketAbac";
+ var _PBAC = "PutBucketAccelerateConfiguration";
+ var _PBACR = "PutBucketAccelerateConfigurationRequest";
+ var _PBACRu = "PutBucketAnalyticsConfigurationRequest";
+ var _PBACu = "PutBucketAnalyticsConfiguration";
+ var _PBAR = "PutBucketAbacRequest";
+ var _PBARu = "PutBucketAclRequest";
+ var _PBAu = "PutBucketAcl";
+ var _PBC = "PutBucketCors";
+ var _PBCR = "PutBucketCorsRequest";
+ var _PBE = "PutBucketEncryption";
+ var _PBER = "PutBucketEncryptionRequest";
+ var _PBIC = "PutBucketInventoryConfiguration";
+ var _PBICR = "PutBucketInventoryConfigurationRequest";
+ var _PBITC = "PutBucketIntelligentTieringConfiguration";
+ var _PBITCR = "PutBucketIntelligentTieringConfigurationRequest";
+ var _PBL = "PutBucketLogging";
+ var _PBLC = "PutBucketLifecycleConfiguration";
+ var _PBLCO = "PutBucketLifecycleConfigurationOutput";
+ var _PBLCR = "PutBucketLifecycleConfigurationRequest";
+ var _PBLR = "PutBucketLoggingRequest";
+ var _PBMC = "PutBucketMetricsConfiguration";
+ var _PBMCR = "PutBucketMetricsConfigurationRequest";
+ var _PBNC = "PutBucketNotificationConfiguration";
+ var _PBNCR = "PutBucketNotificationConfigurationRequest";
+ var _PBOC = "PutBucketOwnershipControls";
+ var _PBOCR = "PutBucketOwnershipControlsRequest";
+ var _PBP = "PutBucketPolicy";
+ var _PBPR = "PutBucketPolicyRequest";
+ var _PBR = "PutBucketReplication";
+ var _PBRP = "PutBucketRequestPayment";
+ var _PBRPR = "PutBucketRequestPaymentRequest";
+ var _PBRR = "PutBucketReplicationRequest";
+ var _PBT = "PutBucketTagging";
+ var _PBTR = "PutBucketTaggingRequest";
+ var _PBV = "PutBucketVersioning";
+ var _PBVR = "PutBucketVersioningRequest";
+ var _PBW = "PutBucketWebsite";
+ var _PBWR = "PutBucketWebsiteRequest";
+ var _PC2 = "PartsCount";
+ var _PDS = "PartitionDateSource";
+ var _PE = "ProgressEvent";
+ var _PI2 = "ParquetInput";
+ var _PL = "PartsList";
+ var _PN = "PartNumber";
+ var _PNM = "PartNumberMarker";
+ var _PO = "PutObject";
+ var _POA = "PutObjectAcl";
+ var _POAO = "PutObjectAclOutput";
+ var _POAOu = "PutObjectAnnotationOutput";
+ var _POAR = "PutObjectAclRequest";
+ var _POARu = "PutObjectAnnotationRequest";
+ var _POAu = "PutObjectAnnotation";
+ var _POLC = "PutObjectLockConfiguration";
+ var _POLCO = "PutObjectLockConfigurationOutput";
+ var _POLCR = "PutObjectLockConfigurationRequest";
+ var _POLH = "PutObjectLegalHold";
+ var _POLHO = "PutObjectLegalHoldOutput";
+ var _POLHR = "PutObjectLegalHoldRequest";
+ var _POO = "PutObjectOutput";
+ var _POR = "PutObjectRequest";
+ var _PORO = "PutObjectRetentionOutput";
+ var _PORR = "PutObjectRetentionRequest";
+ var _PORu = "PutObjectRetention";
+ var _POT = "PutObjectTagging";
+ var _POTO = "PutObjectTaggingOutput";
+ var _POTR = "PutObjectTaggingRequest";
+ var _PP = "PartitionedPrefix";
+ var _PPAB = "PutPublicAccessBlock";
+ var _PPABR = "PutPublicAccessBlockRequest";
+ var _PS = "PolicyStatus";
+ var _Pa = "Parts";
+ var _Par = "Part";
+ var _Parq = "Parquet";
+ var _Pay = "Payer";
+ var _Payl = "Payload";
+ var _Pe = "Permission";
+ var _Po = "Policy";
+ var _Pr2 = "Progress";
+ var _Pri = "Priority";
+ var _Pro = "Protocol";
+ var _Q = "Quiet";
+ var _QA = "QueueArn";
+ var _QC = "QuoteCharacter";
+ var _QCL = "QueueConfigurationList";
+ var _QCu = "QueueConfigurations";
+ var _QCue = "QueueConfiguration";
+ var _QEC = "QuoteEscapeCharacter";
+ var _QF = "QuoteFields";
+ var _Qu = "Queue";
+ var _R = "Role";
+ var _RART = "RedirectAllRequestsTo";
+ var _RC2 = "RequestCharged";
+ var _RCC = "ResponseCacheControl";
+ var _RCD = "ResponseContentDisposition";
+ var _RCE = "ResponseContentEncoding";
+ var _RCL = "ResponseContentLanguage";
+ var _RCT = "ResponseContentType";
+ var _RCe = "ReplicationConfiguration";
+ var _RD = "RecordDelimiter";
+ var _RE = "ResponseExpires";
+ var _RED = "RestoreExpiryDate";
+ var _REe = "RecordExpiration";
+ var _REec = "RecordsEvent";
+ var _RKKID = "ReplicaKmsKeyID";
+ var _RKPW = "ReplaceKeyPrefixWith";
+ var _RKW = "ReplaceKeyWith";
+ var _RM = "ReplicaModifications";
+ var _RO = "RenameObject";
+ var _ROO = "RenameObjectOutput";
+ var _ROOe = "RestoreObjectOutput";
+ var _ROP = "RestoreOutputPath";
+ var _ROR = "RenameObjectRequest";
+ var _RORe = "RestoreObjectRequest";
+ var _ROe = "RestoreObject";
+ var _RP = "RequestPayer";
+ var _RPB = "RestrictPublicBuckets";
+ var _RPC = "RequestPaymentConfiguration";
+ var _RPe = "RequestProgress";
+ var _RR = "RoutingRules";
+ var _RRAO = "ReplicationRuleAndOperator";
+ var _RRF = "ReplicationRuleFilter";
+ var _RRe = "ReplicationRule";
+ var _RRep = "ReplicationRules";
+ var _RReq = "RequestRoute";
+ var _RRes = "RestoreRequest";
+ var _RRo = "RoutingRule";
+ var _RS = "ReplicationStatus";
+ var _RSe = "RestoreStatus";
+ var _RSen = "RenameSource";
+ var _RT3 = "ReplicationTime";
+ var _RTV = "ReplicationTimeValue";
+ var _RTe = "RequestToken";
+ var _RUD = "RetainUntilDate";
+ var _Ra = "Range";
+ var _Re = "Restore";
+ var _Rec = "Records";
+ var _Red = "Redirect";
+ var _Ret = "Retention";
+ var _Ru = "Rules";
+ var _Rul = "Rule";
+ var _S = "Status";
+ var _SA = "StartAfter";
+ var _SAK2 = "SecretAccessKey";
+ var _SAs = "SseAlgorithm";
+ var _SB = "StreamingBlob";
+ var _SBD = "S3BucketDestination";
+ var _SC = "StorageClass";
+ var _SCA = "StorageClassAnalysis";
+ var _SCADE = "StorageClassAnalysisDataExport";
+ var _SCV = "SessionCredentialValue";
+ var _SCe = "SessionCredentials";
+ var _SCt = "StatusCode";
+ var _SDV = "SkipDestinationValidation";
+ var _SE = "StatsEvent";
+ var _SIM = "SourceIfMatch";
+ var _SIMS = "SourceIfModifiedSince";
+ var _SINM = "SourceIfNoneMatch";
+ var _SIUS = "SourceIfUnmodifiedSince";
+ var _SK = "SSE-KMS";
+ var _SKEO = "SseKmsEncryptedObjects";
+ var _SKF = "S3KeyFilter";
+ var _SKe = "S3Key";
+ var _SL = "S3Location";
+ var _SM = "SessionMode";
+ var _SOC = "SelectObjectContent";
+ var _SOCES = "SelectObjectContentEventStream";
+ var _SOCO = "SelectObjectContentOutput";
+ var _SOCR = "SelectObjectContentRequest";
+ var _SP = "SelectParameters";
+ var _SPi = "SimplePrefix";
+ var _SR = "ScanRange";
+ var _SS = "SSE-S3";
+ var _SSC = "SourceSelectionCriteria";
+ var _SSE = "ServerSideEncryption";
+ var _SSEA = "SSEAlgorithm";
+ var _SSEBD = "ServerSideEncryptionByDefault";
+ var _SSEC = "ServerSideEncryptionConfiguration";
+ var _SSECA = "SSECustomerAlgorithm";
+ var _SSECK = "SSECustomerKey";
+ var _SSECKMD = "SSECustomerKeyMD5";
+ var _SSEKMS = "SSEKMS";
+ var _SSEKMSE = "SSEKMSEncryption";
+ var _SSEKMSEC = "SSEKMSEncryptionContext";
+ var _SSEKMSKI = "SSEKMSKeyId";
+ var _SSER = "ServerSideEncryptionRule";
+ var _SSERe = "ServerSideEncryptionRules";
+ var _SSES = "SSES3";
+ var _ST2 = "SessionToken";
+ var _STD = "S3TablesDestination";
+ var _STDR = "S3TablesDestinationResult";
+ var _S_ = "S3";
+ var _Sc = "Schedule";
+ var _Si = "Size";
+ var _St = "Start";
+ var _Sta = "Stats";
+ var _Su = "Suffix";
+ var _T2 = "Tags";
+ var _TA = "TableArn";
+ var _TAo = "TopicArn";
+ var _TB = "TargetBucket";
+ var _TBA = "TableBucketArn";
+ var _TBT = "TableBucketType";
+ var _TC2 = "TagCount";
+ var _TCL = "TopicConfigurationList";
+ var _TCo = "TopicConfigurations";
+ var _TCop = "TopicConfiguration";
+ var _TD = "TaggingDirective";
+ var _TDMOS = "TransitionDefaultMinimumObjectSize";
+ var _TG = "TargetGrants";
+ var _TGa = "TargetGrant";
+ var _TL = "TieringList";
+ var _TLr = "TransitionList";
+ var _TMP = "TooManyParts";
+ var _TN = "TableName";
+ var _TNa = "TableNamespace";
+ var _TOKF = "TargetObjectKeyFormat";
+ var _TP = "TargetPrefix";
+ var _TPC = "TotalPartsCount";
+ var _TS = "TableStatus";
+ var _TSa = "TagSet";
+ var _Ta2 = "Tag";
+ var _Tag = "Tagging";
+ var _Ti = "Tier";
+ var _Tie = "Tierings";
+ var _Tier = "Tiering";
+ var _Tim = "Time";
+ var _To = "Token";
+ var _Top = "Topic";
+ var _Tr = "Transitions";
+ var _Tra = "Transition";
+ var _Ty = "Type";
+ var _U = "Uploads";
+ var _UBMATC = "UpdateBucketMetadataAnnotationTableConfiguration";
+ var _UBMATCR = "UpdateBucketMetadataAnnotationTableConfigurationRequest";
+ var _UBMITC = "UpdateBucketMetadataInventoryTableConfiguration";
+ var _UBMITCR = "UpdateBucketMetadataInventoryTableConfigurationRequest";
+ var _UBMJTC = "UpdateBucketMetadataJournalTableConfiguration";
+ var _UBMJTCR = "UpdateBucketMetadataJournalTableConfigurationRequest";
+ var _UI = "UploadId";
+ var _UIM = "UploadIdMarker";
+ var _UM = "UserMetadata";
+ var _UMT = "UnsupportedMediaType";
+ var _UOE = "UpdateObjectEncryption";
+ var _UOER = "UpdateObjectEncryptionRequest";
+ var _UOERp = "UpdateObjectEncryptionResponse";
+ var _UP = "UploadPart";
+ var _UPC = "UploadPartCopy";
+ var _UPCO = "UploadPartCopyOutput";
+ var _UPCR = "UploadPartCopyRequest";
+ var _UPO = "UploadPartOutput";
+ var _UPR = "UploadPartRequest";
+ var _URI = "URI";
+ var _Up = "Upload";
+ var _V2 = "Value";
+ var _VC = "VersioningConfiguration";
+ var _VI = "VersionId";
+ var _VIM = "VersionIdMarker";
+ var _Ve = "Versions";
+ var _Ver = "Version";
+ var _WC = "WebsiteConfiguration";
+ var _WGOR = "WriteGetObjectResponse";
+ var _WGORR = "WriteGetObjectResponseRequest";
+ var _WOB = "WriteOffsetBytes";
+ var _WRL = "WebsiteRedirectLocation";
+ var _Y = "Years";
+ var _aN = "annotationName";
+ var _ap = "annotation-prefix";
+ var _ar = "accept-ranges";
+ var _br = "bucket-region";
+ var _c5 = "client";
+ var _ct = "continuation-token";
+ var _d = "delimiter";
+ var _e5 = "error";
+ var _eP = "eventPayload";
+ var _en = "endpoint";
+ var _et = "encoding-type";
+ var _fo = "fetch-owner";
+ var _h4 = "http";
+ var _hC = "httpChecksum";
+ var _hE5 = "httpError";
+ var _hH2 = "httpHeader";
+ var _hL = "hostLabel";
+ var _hP = "httpPayload";
+ var _hPH = "httpPrefixHeaders";
+ var _hQ2 = "httpQuery";
+ var _hi = "http://www.w3.org/2001/XMLSchema-instance";
+ var _i = "id";
+ var _iT3 = "idempotencyToken";
+ var _km = "key-marker";
+ var _m4 = "marker";
+ var _mar = "max-annotation-results";
+ var _mb = "max-buckets";
+ var _mdb = "max-directory-buckets";
+ var _mk = "max-keys";
+ var _mp = "max-parts";
+ var _mu = "max-uploads";
+ var _p = "prefix";
+ var _pN = "partNumber";
+ var _pnm = "part-number-marker";
+ var _rcc = "response-cache-control";
+ var _rcd = "response-content-disposition";
+ var _rce = "response-content-encoding";
+ var _rcl = "response-content-language";
+ var _rct = "response-content-type";
+ var _re = "response-expires";
+ var _s5 = "smithy.ts.sdk.synthetic.com.amazonaws.s3";
+ var _sa = "start-after";
+ var _st = "streaming";
+ var _uI = "uploadId";
+ var _uim = "upload-id-marker";
+ var _vI = "versionId";
+ var _vim = "version-id-marker";
+ var _x = "xsi";
+ var _xA = "xmlAttribute";
+ var _xF = "xmlFlattened";
+ var _xN = "xmlName";
+ var _xNm = "xmlNamespace";
+ var _xaa = "x-amz-acl";
+ var _xaad = "x-amz-abort-date";
+ var _xaapa = "x-amz-access-point-alias";
+ var _xaari = "x-amz-abort-rule-id";
+ var _xaas = "x-amz-archive-status";
+ var _xaba = "x-amz-bucket-arn";
+ var _xabgr = "x-amz-bypass-governance-retention";
+ var _xabln = "x-amz-bucket-location-name";
+ var _xablt = "x-amz-bucket-location-type";
+ var _xabn = "x-amz-bucket-namespace";
+ var _xabole = "x-amz-bucket-object-lock-enabled";
+ var _xabolt = "x-amz-bucket-object-lock-token";
+ var _xabr = "x-amz-bucket-region";
+ var _xaca = "x-amz-checksum-algorithm";
+ var _xacc = "x-amz-checksum-crc32";
+ var _xacc_ = "x-amz-checksum-crc32c";
+ var _xacc__ = "x-amz-checksum-crc64nvme";
+ var _xacm = "x-amz-checksum-md5";
+ var _xacm_ = "x-amz-checksum-mode";
+ var _xacrsba = "x-amz-confirm-remove-self-bucket-access";
+ var _xacs = "x-amz-checksum-sha1";
+ var _xacs_ = "x-amz-checksum-sha256";
+ var _xacs__ = "x-amz-checksum-sha512";
+ var _xacs___ = "x-amz-copy-source";
+ var _xacsim = "x-amz-copy-source-if-match";
+ var _xacsims = "x-amz-copy-source-if-modified-since";
+ var _xacsinm = "x-amz-copy-source-if-none-match";
+ var _xacsius = "x-amz-copy-source-if-unmodified-since";
+ var _xacsm = "x-amz-create-session-mode";
+ var _xacsr = "x-amz-copy-source-range";
+ var _xacssseca = "x-amz-copy-source-server-side-encryption-customer-algorithm";
+ var _xacssseck = "x-amz-copy-source-server-side-encryption-customer-key";
+ var _xacssseckM = "x-amz-copy-source-server-side-encryption-customer-key-MD5";
+ var _xacsvi = "x-amz-copy-source-version-id";
+ var _xact = "x-amz-checksum-type";
+ var _xact_ = "x-amz-client-token";
+ var _xacx = "x-amz-checksum-xxhash64";
+ var _xacx_ = "x-amz-checksum-xxhash3";
+ var _xacx__ = "x-amz-checksum-xxhash128";
+ var _xadm = "x-amz-delete-marker";
+ var _xae = "x-amz-expiration";
+ var _xaebo = "x-amz-expected-bucket-owner";
+ var _xafec = "x-amz-fwd-error-code";
+ var _xafem = "x-amz-fwd-error-message";
+ var _xafhCC = "x-amz-fwd-header-Cache-Control";
+ var _xafhCD = "x-amz-fwd-header-Content-Disposition";
+ var _xafhCE = "x-amz-fwd-header-Content-Encoding";
+ var _xafhCL = "x-amz-fwd-header-Content-Language";
+ var _xafhCR = "x-amz-fwd-header-Content-Range";
+ var _xafhCT = "x-amz-fwd-header-Content-Type";
+ var _xafhE = "x-amz-fwd-header-ETag";
+ var _xafhE_ = "x-amz-fwd-header-Expires";
+ var _xafhLM = "x-amz-fwd-header-Last-Modified";
+ var _xafhar = "x-amz-fwd-header-accept-ranges";
+ var _xafhxacc = "x-amz-fwd-header-x-amz-checksum-crc32";
+ var _xafhxacc_ = "x-amz-fwd-header-x-amz-checksum-crc32c";
+ var _xafhxacc__ = "x-amz-fwd-header-x-amz-checksum-crc64nvme";
+ var _xafhxacm = "x-amz-fwd-header-x-amz-checksum-md5";
+ var _xafhxacs = "x-amz-fwd-header-x-amz-checksum-sha1";
+ var _xafhxacs_ = "x-amz-fwd-header-x-amz-checksum-sha256";
+ var _xafhxacs__ = "x-amz-fwd-header-x-amz-checksum-sha512";
+ var _xafhxacx = "x-amz-fwd-header-x-amz-checksum-xxhash64";
+ var _xafhxacx_ = "x-amz-fwd-header-x-amz-checksum-xxhash3";
+ var _xafhxacx__ = "x-amz-fwd-header-x-amz-checksum-xxhash128";
+ var _xafhxadm = "x-amz-fwd-header-x-amz-delete-marker";
+ var _xafhxae = "x-amz-fwd-header-x-amz-expiration";
+ var _xafhxamm = "x-amz-fwd-header-x-amz-missing-meta";
+ var _xafhxampc = "x-amz-fwd-header-x-amz-mp-parts-count";
+ var _xafhxaollh = "x-amz-fwd-header-x-amz-object-lock-legal-hold";
+ var _xafhxaolm = "x-amz-fwd-header-x-amz-object-lock-mode";
+ var _xafhxaolrud = "x-amz-fwd-header-x-amz-object-lock-retain-until-date";
+ var _xafhxar = "x-amz-fwd-header-x-amz-restore";
+ var _xafhxarc = "x-amz-fwd-header-x-amz-request-charged";
+ var _xafhxars = "x-amz-fwd-header-x-amz-replication-status";
+ var _xafhxasc = "x-amz-fwd-header-x-amz-storage-class";
+ var _xafhxasse = "x-amz-fwd-header-x-amz-server-side-encryption";
+ var _xafhxasseakki = "x-amz-fwd-header-x-amz-server-side-encryption-aws-kms-key-id";
+ var _xafhxassebke = "x-amz-fwd-header-x-amz-server-side-encryption-bucket-key-enabled";
+ var _xafhxasseca = "x-amz-fwd-header-x-amz-server-side-encryption-customer-algorithm";
+ var _xafhxasseckM = "x-amz-fwd-header-x-amz-server-side-encryption-customer-key-MD5";
+ var _xafhxatc = "x-amz-fwd-header-x-amz-tagging-count";
+ var _xafhxavi = "x-amz-fwd-header-x-amz-version-id";
+ var _xafs = "x-amz-fwd-status";
+ var _xagfc = "x-amz-grant-full-control";
+ var _xagr = "x-amz-grant-read";
+ var _xagra = "x-amz-grant-read-acp";
+ var _xagw = "x-amz-grant-write";
+ var _xagwa = "x-amz-grant-write-acp";
+ var _xaimit = "x-amz-if-match-initiated-time";
+ var _xaimlmt = "x-amz-if-match-last-modified-time";
+ var _xaims = "x-amz-if-match-size";
+ var _xam = "x-amz-meta-";
+ var _xam_ = "x-amz-mfa";
+ var _xamd = "x-amz-metadata-directive";
+ var _xamm = "x-amz-missing-meta";
+ var _xamos = "x-amz-mp-object-size";
+ var _xamp = "x-amz-max-parts";
+ var _xampc = "x-amz-mp-parts-count";
+ var _xaoa = "x-amz-object-attributes";
+ var _xaoad = "x-amz-object-annotation-directive";
+ var _xaoim = "x-amz-object-if-match";
+ var _xaoleh = "x-amz-object-lock-event-hold";
+ var _xaolehdd = "x-amz-object-lock-event-hold-duration-days";
+ var _xaolehdy = "x-amz-object-lock-event-hold-duration-years";
+ var _xaollh = "x-amz-object-lock-legal-hold";
+ var _xaolm = "x-amz-object-lock-mode";
+ var _xaolrud = "x-amz-object-lock-retain-until-date";
+ var _xaoo = "x-amz-object-ownership";
+ var _xaooa = "x-amz-optional-object-attributes";
+ var _xaos = "x-amz-object-size";
+ var _xaovi = "x-amz-object-version-id";
+ var _xapnm = "x-amz-part-number-marker";
+ var _xar = "x-amz-restore";
+ var _xarc = "x-amz-request-charged";
+ var _xarop = "x-amz-restore-output-path";
+ var _xarp = "x-amz-request-payer";
+ var _xarr = "x-amz-request-route";
+ var _xars = "x-amz-replication-status";
+ var _xars_ = "x-amz-rename-source";
+ var _xarsim = "x-amz-rename-source-if-match";
+ var _xarsims = "x-amz-rename-source-if-modified-since";
+ var _xarsinm = "x-amz-rename-source-if-none-match";
+ var _xarsius = "x-amz-rename-source-if-unmodified-since";
+ var _xart = "x-amz-request-token";
+ var _xasc = "x-amz-storage-class";
+ var _xasca = "x-amz-sdk-checksum-algorithm";
+ var _xasdv = "x-amz-skip-destination-validation";
+ var _xasebo = "x-amz-source-expected-bucket-owner";
+ var _xasse = "x-amz-server-side-encryption";
+ var _xasseakki = "x-amz-server-side-encryption-aws-kms-key-id";
+ var _xassebke = "x-amz-server-side-encryption-bucket-key-enabled";
+ var _xassec = "x-amz-server-side-encryption-context";
+ var _xasseca = "x-amz-server-side-encryption-customer-algorithm";
+ var _xasseck = "x-amz-server-side-encryption-customer-key";
+ var _xasseckM = "x-amz-server-side-encryption-customer-key-MD5";
+ var _xat = "x-amz-tagging";
+ var _xatc = "x-amz-tagging-count";
+ var _xatd = "x-amz-tagging-directive";
+ var _xatdmos = "x-amz-transition-default-minimum-object-size";
+ var _xavi = "x-amz-version-id";
+ var _xawob = "x-amz-write-offset-bytes";
+ var _xawrl = "x-amz-website-redirect-location";
+ var _xs = "xsi:type";
+ var n05 = "com.amazonaws.s3";
+ var _s_registry5 = new TypeRegistry2(_s5);
+ var S3ServiceException$ = [-3, _s5, "S3ServiceException", 0, [], []];
+ _s_registry5.registerError(S3ServiceException$, S3ServiceException);
+ var n0_registry5 = new TypeRegistry2(n05);
+ var AccessDenied$ = [
+ -3,
+ n05,
+ _AD,
+ { [_e5]: _c5, [_hE5]: 403 },
+ [],
+ []
+ ];
+ n0_registry5.registerError(AccessDenied$, AccessDenied);
+ var AnnotationLimitExceeded$ = [
+ -3,
+ n05,
+ _ALE,
+ { [_e5]: _c5, [_hE5]: 400 },
+ [],
+ []
+ ];
+ n0_registry5.registerError(AnnotationLimitExceeded$, AnnotationLimitExceeded);
+ var AnnotationNameTooLong$ = [
+ -3,
+ n05,
+ _ANTL,
+ { [_e5]: _c5, [_hE5]: 400 },
+ [],
+ []
+ ];
+ n0_registry5.registerError(AnnotationNameTooLong$, AnnotationNameTooLong);
+ var BucketAlreadyExists$ = [
+ -3,
+ n05,
+ _BAE,
+ { [_e5]: _c5, [_hE5]: 409 },
+ [],
+ []
+ ];
+ n0_registry5.registerError(BucketAlreadyExists$, BucketAlreadyExists);
+ var BucketAlreadyOwnedByYou$ = [
+ -3,
+ n05,
+ _BAOBY,
+ { [_e5]: _c5, [_hE5]: 409 },
+ [],
+ []
+ ];
+ n0_registry5.registerError(BucketAlreadyOwnedByYou$, BucketAlreadyOwnedByYou);
+ var EncryptionTypeMismatch$ = [
+ -3,
+ n05,
+ _ETM,
+ { [_e5]: _c5, [_hE5]: 400 },
+ [],
+ []
+ ];
+ n0_registry5.registerError(EncryptionTypeMismatch$, EncryptionTypeMismatch);
+ var IdempotencyParameterMismatch$ = [
+ -3,
+ n05,
+ _IPM,
+ { [_e5]: _c5, [_hE5]: 400 },
+ [],
+ []
+ ];
+ n0_registry5.registerError(IdempotencyParameterMismatch$, IdempotencyParameterMismatch);
+ var InvalidAnnotationName$ = [
+ -3,
+ n05,
+ _IAN,
+ { [_e5]: _c5, [_hE5]: 400 },
+ [],
+ []
+ ];
+ n0_registry5.registerError(InvalidAnnotationName$, InvalidAnnotationName);
+ var InvalidObjectState$ = [
+ -3,
+ n05,
+ _IOS,
+ { [_e5]: _c5, [_hE5]: 403 },
+ [_SC, _AT3],
+ [0, 0]
+ ];
+ n0_registry5.registerError(InvalidObjectState$, InvalidObjectState);
+ var InvalidPrefix$ = [
+ -3,
+ n05,
+ _IP,
+ { [_e5]: _c5, [_hE5]: 400 },
+ [],
+ []
+ ];
+ n0_registry5.registerError(InvalidPrefix$, InvalidPrefix);
+ var InvalidRequest$ = [
+ -3,
+ n05,
+ _IR,
+ { [_e5]: _c5, [_hE5]: 400 },
+ [],
+ []
+ ];
+ n0_registry5.registerError(InvalidRequest$, InvalidRequest);
+ var InvalidWriteOffset$ = [
+ -3,
+ n05,
+ _IWO,
+ { [_e5]: _c5, [_hE5]: 400 },
+ [],
+ []
+ ];
+ n0_registry5.registerError(InvalidWriteOffset$, InvalidWriteOffset);
+ var NoSuchAnnotation$ = [
+ -3,
+ n05,
+ _NSA,
+ { [_e5]: _c5, [_hE5]: 404 },
+ [],
+ []
+ ];
+ n0_registry5.registerError(NoSuchAnnotation$, NoSuchAnnotation);
+ var NoSuchBucket$ = [
+ -3,
+ n05,
+ _NSB,
+ { [_e5]: _c5, [_hE5]: 404 },
+ [],
+ []
+ ];
+ n0_registry5.registerError(NoSuchBucket$, NoSuchBucket);
+ var NoSuchKey$ = [
+ -3,
+ n05,
+ _NSK,
+ { [_e5]: _c5, [_hE5]: 404 },
+ [],
+ []
+ ];
+ n0_registry5.registerError(NoSuchKey$, NoSuchKey);
+ var NoSuchUpload$ = [
+ -3,
+ n05,
+ _NSU,
+ { [_e5]: _c5, [_hE5]: 404 },
+ [],
+ []
+ ];
+ n0_registry5.registerError(NoSuchUpload$, NoSuchUpload);
+ var NotFound$ = [
+ -3,
+ n05,
+ _NF,
+ { [_e5]: _c5 },
+ [],
+ []
+ ];
+ n0_registry5.registerError(NotFound$, NotFound);
+ var ObjectAlreadyInActiveTierError$ = [
+ -3,
+ n05,
+ _OAIATE,
+ { [_e5]: _c5, [_hE5]: 403 },
+ [],
+ []
+ ];
+ n0_registry5.registerError(ObjectAlreadyInActiveTierError$, ObjectAlreadyInActiveTierError);
+ var ObjectNotInActiveTierError$ = [
+ -3,
+ n05,
+ _ONIATE,
+ { [_e5]: _c5, [_hE5]: 403 },
+ [],
+ []
+ ];
+ n0_registry5.registerError(ObjectNotInActiveTierError$, ObjectNotInActiveTierError);
+ var TooManyParts$ = [
+ -3,
+ n05,
+ _TMP,
+ { [_e5]: _c5, [_hE5]: 400 },
+ [],
+ []
+ ];
+ n0_registry5.registerError(TooManyParts$, TooManyParts);
+ var UnsupportedMediaType$ = [
+ -3,
+ n05,
+ _UMT,
+ { [_e5]: _c5, [_hE5]: 415 },
+ [],
+ []
+ ];
+ n0_registry5.registerError(UnsupportedMediaType$, UnsupportedMediaType);
+ var errorTypeRegistries5 = [
+ _s_registry5,
+ n0_registry5
+ ];
+ var CopySourceSSECustomerKey = [0, n05, _CSSSECK, 8, 0];
+ var NonEmptyKmsKeyArnString = [0, n05, _NEKKAS, 8, 0];
+ var SessionCredentialValue = [0, n05, _SCV, 8, 0];
+ var SSECustomerKey = [0, n05, _SSECK, 8, 0];
+ var SSEKMSEncryptionContext = [0, n05, _SSEKMSEC, 8, 0];
+ var SSEKMSKeyId = [0, n05, _SSEKMSKI, 8, 0];
+ var StreamingBlob = [0, n05, _SB, { [_st]: 1 }, 42];
+ var AbacStatus$ = [
+ 3,
+ n05,
+ _AS,
+ 0,
+ [_S],
+ [0]
+ ];
+ var AbortIncompleteMultipartUpload$ = [
+ 3,
+ n05,
+ _AIMU,
+ 0,
+ [_DAI],
+ [1]
+ ];
+ var AbortMultipartUploadOutput$ = [
+ 3,
+ n05,
+ _AMUO,
+ 0,
+ [_RC2],
+ [[0, { [_hH2]: _xarc }]]
+ ];
+ var AbortMultipartUploadRequest$ = [
+ 3,
+ n05,
+ _AMUR,
+ 0,
+ [_B, _K2, _UI, _RP, _EBO, _IMIT],
+ [[0, 1], [0, 1], [0, { [_hQ2]: _uI }], [0, { [_hH2]: _xarp }], [0, { [_hH2]: _xaebo }], [6, { [_hH2]: _xaimit }]],
+ 3
+ ];
+ var AccelerateConfiguration$ = [
+ 3,
+ n05,
+ _AC,
+ 0,
+ [_S],
+ [0]
+ ];
+ var AccessControlPolicy$ = [
+ 3,
+ n05,
+ _ACP,
+ 0,
+ [_G, _O],
+ [[() => Grants, { [_xN]: _ACL }], () => Owner$]
+ ];
+ var AccessControlTranslation$ = [
+ 3,
+ n05,
+ _ACT,
+ 0,
+ [_O],
+ [0],
+ 1
+ ];
+ var AnalyticsAndOperator$ = [
+ 3,
+ n05,
+ _AAO,
+ 0,
+ [_P2, _T2],
+ [0, [() => TagSet, { [_xF]: 1, [_xN]: _Ta2 }]]
+ ];
+ var AnalyticsConfiguration$ = [
+ 3,
+ n05,
+ _ACn,
+ 0,
+ [_I, _SCA, _F],
+ [0, () => StorageClassAnalysis$, [() => AnalyticsFilter$, 0]],
+ 2
+ ];
+ var AnalyticsExportDestination$ = [
+ 3,
+ n05,
+ _AED,
+ 0,
+ [_SBD],
+ [() => AnalyticsS3BucketDestination$],
+ 1
+ ];
+ var AnalyticsS3BucketDestination$ = [
+ 3,
+ n05,
+ _ASBD,
+ 0,
+ [_Fo, _B, _BAI, _P2],
+ [0, 0, 0, 0],
+ 2
+ ];
+ var AnnotationEntry$ = [
+ 3,
+ n05,
+ _AE,
+ 0,
+ [_AN, _LM, _Si, _ET, _CA2, _RS],
+ [0, 4, 1, 0, [64 | 0, { [_xF]: 1 }], 0],
+ 3
+ ];
+ var AnnotationTableConfiguration$ = [
+ 3,
+ n05,
+ _ATC,
+ 0,
+ [_CS2, _EC, _R],
+ [0, () => MetadataTableEncryptionConfiguration$, 0],
+ 1
+ ];
+ var AnnotationTableConfigurationResult$ = [
+ 3,
+ n05,
+ _ATCR,
+ 0,
+ [_CS2, _TS, _E3, _TN, _TA, _R],
+ [0, 0, () => ErrorDetails$, 0, 0, 0],
+ 1
+ ];
+ var AnnotationTableConfigurationUpdates$ = [
+ 3,
+ n05,
+ _ATCU,
+ 0,
+ [_CS2, _EC, _R],
+ [0, () => MetadataTableEncryptionConfiguration$, 0],
+ 1
+ ];
+ var BlockedEncryptionTypes$ = [
+ 3,
+ n05,
+ _BET,
+ 0,
+ [_ETn],
+ [[() => EncryptionTypeList, { [_xF]: 1 }]]
+ ];
+ var Bucket$ = [
+ 3,
+ n05,
+ _B,
+ 0,
+ [_N, _CD, _BR, _BA],
+ [0, 4, 0, 0]
+ ];
+ var BucketInfo$ = [
+ 3,
+ n05,
+ _BI,
+ 0,
+ [_DR, _Ty],
+ [0, 0]
+ ];
+ var BucketLifecycleConfiguration$ = [
+ 3,
+ n05,
+ _BLC,
+ 0,
+ [_Ru],
+ [[() => LifecycleRules, { [_xF]: 1, [_xN]: _Rul }]],
+ 1
+ ];
+ var BucketLoggingStatus$ = [
+ 3,
+ n05,
+ _BLS,
+ 0,
+ [_LE],
+ [[() => LoggingEnabled$, 0]]
+ ];
+ var Checksum$ = [
+ 3,
+ n05,
+ _C2,
+ 0,
+ [_CCRC, _CCRCC, _CCRCNVME, _CSHA, _CSHAh, _CSHAhe, _CMD, _CXXHASH, _CXXHASHh, _CXXHASHhe, _CT2],
+ [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]
+ ];
+ var CommonPrefix$ = [
+ 3,
+ n05,
+ _CP,
+ 0,
+ [_P2],
+ [0]
+ ];
+ var CompletedMultipartUpload$ = [
+ 3,
+ n05,
+ _CMU,
+ 0,
+ [_Pa],
+ [[() => CompletedPartList, { [_xF]: 1, [_xN]: _Par }]]
+ ];
+ var CompletedPart$ = [
+ 3,
+ n05,
+ _CPo,
+ 0,
+ [_ET, _CCRC, _CCRCC, _CCRCNVME, _CSHA, _CSHAh, _CSHAhe, _CMD, _CXXHASH, _CXXHASHh, _CXXHASHhe, _PN],
+ [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1]
+ ];
+ var CompleteMultipartUploadOutput$ = [
+ 3,
+ n05,
+ _CMUO,
+ { [_xN]: _CMUR },
+ [_L, _B, _K2, _Ex, _ET, _CCRC, _CCRCC, _CCRCNVME, _CSHA, _CSHAh, _CSHAhe, _CMD, _CXXHASH, _CXXHASHh, _CXXHASHhe, _CT2, _SSE, _VI, _SSEKMSKI, _BKE, _RC2],
+ [0, 0, 0, [0, { [_hH2]: _xae }], 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, [0, { [_hH2]: _xasse }], [0, { [_hH2]: _xavi }], [() => SSEKMSKeyId, { [_hH2]: _xasseakki }], [2, { [_hH2]: _xassebke }], [0, { [_hH2]: _xarc }]]
+ ];
+ var CompleteMultipartUploadRequest$ = [
+ 3,
+ n05,
+ _CMURo,
+ 0,
+ [_B, _K2, _UI, _MU, _CCRC, _CCRCC, _CCRCNVME, _CSHA, _CSHAh, _CSHAhe, _CMD, _CXXHASH, _CXXHASHh, _CXXHASHhe, _CT2, _MOS, _RP, _EBO, _IM, _INM, _SSECA, _SSECK, _SSECKMD],
+ [[0, 1], [0, 1], [0, { [_hQ2]: _uI }], [() => CompletedMultipartUpload$, { [_hP]: 1, [_xN]: _CMUo }], [0, { [_hH2]: _xacc }], [0, { [_hH2]: _xacc_ }], [0, { [_hH2]: _xacc__ }], [0, { [_hH2]: _xacs }], [0, { [_hH2]: _xacs_ }], [0, { [_hH2]: _xacs__ }], [0, { [_hH2]: _xacm }], [0, { [_hH2]: _xacx }], [0, { [_hH2]: _xacx_ }], [0, { [_hH2]: _xacx__ }], [0, { [_hH2]: _xact }], [1, { [_hH2]: _xamos }], [0, { [_hH2]: _xarp }], [0, { [_hH2]: _xaebo }], [0, { [_hH2]: _IM_ }], [0, { [_hH2]: _INM_ }], [0, { [_hH2]: _xasseca }], [() => SSECustomerKey, { [_hH2]: _xasseck }], [0, { [_hH2]: _xasseckM }]],
+ 3
+ ];
+ var Condition$ = [
+ 3,
+ n05,
+ _Co,
+ 0,
+ [_HECRE, _KPE],
+ [0, 0]
+ ];
+ var ContinuationEvent$ = [
+ 3,
+ n05,
+ _CE,
+ 0,
+ [],
+ []
+ ];
+ var CopyObjectOutput$ = [
+ 3,
+ n05,
+ _COO,
+ 0,
+ [_COR, _Ex, _CSVI, _VI, _SSE, _SSECA, _SSECKMD, _SSEKMSKI, _SSEKMSEC, _BKE, _RC2],
+ [[() => CopyObjectResult$, 16], [0, { [_hH2]: _xae }], [0, { [_hH2]: _xacsvi }], [0, { [_hH2]: _xavi }], [0, { [_hH2]: _xasse }], [0, { [_hH2]: _xasseca }], [0, { [_hH2]: _xasseckM }], [() => SSEKMSKeyId, { [_hH2]: _xasseakki }], [() => SSEKMSEncryptionContext, { [_hH2]: _xassec }], [2, { [_hH2]: _xassebke }], [0, { [_hH2]: _xarc }]]
+ ];
+ var CopyObjectRequest$ = [
+ 3,
+ n05,
+ _CORo,
+ 0,
+ [_B, _CSo, _K2, _ACL_, _CC, _CA2, _CDo, _CEo, _CL, _CTo, _CSIM, _CSIMS, _CSINM, _CSIUS, _Exp, _GFC, _GR, _GRACP, _GWACP, _IM, _INM, _M, _MD, _TD, _ADn, _SSE, _SC, _WRL, _SSECA, _SSECK, _SSECKMD, _SSEKMSKI, _SSEKMSEC, _BKE, _CSSSECA, _CSSSECK, _CSSSECKMD, _RP, _Tag, _OLM, _OLRUD, _OLLHS, _OLEH, _OLEHDD, _OLEHDY, _EBO, _ESBO],
+ [[0, 1], [0, { [_hH2]: _xacs___ }], [0, 1], [0, { [_hH2]: _xaa }], [0, { [_hH2]: _CC_ }], [0, { [_hH2]: _xaca }], [0, { [_hH2]: _CD_ }], [0, { [_hH2]: _CE_ }], [0, { [_hH2]: _CL_ }], [0, { [_hH2]: _CT_ }], [0, { [_hH2]: _xacsim }], [4, { [_hH2]: _xacsims }], [0, { [_hH2]: _xacsinm }], [4, { [_hH2]: _xacsius }], [4, { [_hH2]: _Exp }], [0, { [_hH2]: _xagfc }], [0, { [_hH2]: _xagr }], [0, { [_hH2]: _xagra }], [0, { [_hH2]: _xagwa }], [0, { [_hH2]: _IM_ }], [0, { [_hH2]: _INM_ }], [128 | 0, { [_hPH]: _xam }], [0, { [_hH2]: _xamd }], [0, { [_hH2]: _xatd }], [0, { [_hH2]: _xaoad }], [0, { [_hH2]: _xasse }], [0, { [_hH2]: _xasc }], [0, { [_hH2]: _xawrl }], [0, { [_hH2]: _xasseca }], [() => SSECustomerKey, { [_hH2]: _xasseck }], [0, { [_hH2]: _xasseckM }], [() => SSEKMSKeyId, { [_hH2]: _xasseakki }], [() => SSEKMSEncryptionContext, { [_hH2]: _xassec }], [2, { [_hH2]: _xassebke }], [0, { [_hH2]: _xacssseca }], [() => CopySourceSSECustomerKey, { [_hH2]: _xacssseck }], [0, { [_hH2]: _xacssseckM }], [0, { [_hH2]: _xarp }], [0, { [_hH2]: _xat }], [0, { [_hH2]: _xaolm }], [5, { [_hH2]: _xaolrud }], [0, { [_hH2]: _xaollh }], [0, { [_hH2]: _xaoleh }], [1, { [_hH2]: _xaolehdd }], [1, { [_hH2]: _xaolehdy }], [0, { [_hH2]: _xaebo }], [0, { [_hH2]: _xasebo }]],
+ 3
+ ];
+ var CopyObjectResult$ = [
+ 3,
+ n05,
+ _COR,
+ 0,
+ [_ET, _LM, _CT2, _CCRC, _CCRCC, _CCRCNVME, _CSHA, _CSHAh, _CSHAhe, _CMD, _CXXHASH, _CXXHASHh, _CXXHASHhe],
+ [0, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]
+ ];
+ var CopyPartResult$ = [
+ 3,
+ n05,
+ _CPR,
+ 0,
+ [_ET, _LM, _CCRC, _CCRCC, _CCRCNVME, _CSHA, _CSHAh, _CSHAhe, _CMD, _CXXHASH, _CXXHASHh, _CXXHASHhe],
+ [0, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]
+ ];
+ var CORSConfiguration$ = [
+ 3,
+ n05,
+ _CORSC,
+ 0,
+ [_CORSR],
+ [[() => CORSRules, { [_xF]: 1, [_xN]: _CORSRu }]],
+ 1
+ ];
+ var CORSRule$ = [
+ 3,
+ n05,
+ _CORSRu,
+ 0,
+ [_AM, _AO, _ID, _AH, _EH, _MAS],
+ [[64 | 0, { [_xF]: 1, [_xN]: _AMl }], [64 | 0, { [_xF]: 1, [_xN]: _AOl }], 0, [64 | 0, { [_xF]: 1, [_xN]: _AHl }], [64 | 0, { [_xF]: 1, [_xN]: _EHx }], 1],
+ 2
+ ];
+ var CreateBucketConfiguration$ = [
+ 3,
+ n05,
+ _CBC,
+ 0,
+ [_LC, _L, _B, _T2],
+ [0, () => LocationInfo$, () => BucketInfo$, [() => TagSet, 0]]
+ ];
+ var CreateBucketMetadataConfigurationRequest$ = [
+ 3,
+ n05,
+ _CBMCR,
+ 0,
+ [_B, _MC, _CMDo, _CA2, _EBO],
+ [[0, 1], [() => MetadataConfiguration$, { [_hP]: 1, [_xN]: _MC }], [0, { [_hH2]: _CM }], [0, { [_hH2]: _xasca }], [0, { [_hH2]: _xaebo }]],
+ 2
+ ];
+ var CreateBucketMetadataTableConfigurationRequest$ = [
+ 3,
+ n05,
+ _CBMTCR,
+ 0,
+ [_B, _MTC, _CMDo, _CA2, _EBO],
+ [[0, 1], [() => MetadataTableConfiguration$, { [_hP]: 1, [_xN]: _MTC }], [0, { [_hH2]: _CM }], [0, { [_hH2]: _xasca }], [0, { [_hH2]: _xaebo }]],
+ 2
+ ];
+ var CreateBucketOutput$ = [
+ 3,
+ n05,
+ _CBO,
+ 0,
+ [_L, _BA],
+ [[0, { [_hH2]: _L }], [0, { [_hH2]: _xaba }]]
+ ];
+ var CreateBucketRequest$ = [
+ 3,
+ n05,
+ _CBR,
+ 0,
+ [_B, _ACL_, _CBC, _GFC, _GR, _GRACP, _GW, _GWACP, _OLEFB, _OO, _BN],
+ [[0, 1], [0, { [_hH2]: _xaa }], [() => CreateBucketConfiguration$, { [_hP]: 1, [_xN]: _CBC }], [0, { [_hH2]: _xagfc }], [0, { [_hH2]: _xagr }], [0, { [_hH2]: _xagra }], [0, { [_hH2]: _xagw }], [0, { [_hH2]: _xagwa }], [2, { [_hH2]: _xabole }], [0, { [_hH2]: _xaoo }], [0, { [_hH2]: _xabn }]],
+ 1
+ ];
+ var CreateMultipartUploadOutput$ = [
+ 3,
+ n05,
+ _CMUOr,
+ { [_xN]: _IMUR },
+ [_ADb, _ARI2, _B, _K2, _UI, _SSE, _SSECA, _SSECKMD, _SSEKMSKI, _SSEKMSEC, _BKE, _RC2, _CA2, _CT2],
+ [[4, { [_hH2]: _xaad }], [0, { [_hH2]: _xaari }], [0, { [_xN]: _B }], 0, 0, [0, { [_hH2]: _xasse }], [0, { [_hH2]: _xasseca }], [0, { [_hH2]: _xasseckM }], [() => SSEKMSKeyId, { [_hH2]: _xasseakki }], [() => SSEKMSEncryptionContext, { [_hH2]: _xassec }], [2, { [_hH2]: _xassebke }], [0, { [_hH2]: _xarc }], [0, { [_hH2]: _xaca }], [0, { [_hH2]: _xact }]]
+ ];
+ var CreateMultipartUploadRequest$ = [
+ 3,
+ n05,
+ _CMURr,
+ 0,
+ [_B, _K2, _ACL_, _CC, _CDo, _CEo, _CL, _CTo, _Exp, _GFC, _GR, _GRACP, _GWACP, _M, _SSE, _SC, _WRL, _SSECA, _SSECK, _SSECKMD, _SSEKMSKI, _SSEKMSEC, _BKE, _RP, _Tag, _OLM, _OLRUD, _OLLHS, _OLEH, _OLEHDD, _OLEHDY, _EBO, _CA2, _CT2],
+ [[0, 1], [0, 1], [0, { [_hH2]: _xaa }], [0, { [_hH2]: _CC_ }], [0, { [_hH2]: _CD_ }], [0, { [_hH2]: _CE_ }], [0, { [_hH2]: _CL_ }], [0, { [_hH2]: _CT_ }], [4, { [_hH2]: _Exp }], [0, { [_hH2]: _xagfc }], [0, { [_hH2]: _xagr }], [0, { [_hH2]: _xagra }], [0, { [_hH2]: _xagwa }], [128 | 0, { [_hPH]: _xam }], [0, { [_hH2]: _xasse }], [0, { [_hH2]: _xasc }], [0, { [_hH2]: _xawrl }], [0, { [_hH2]: _xasseca }], [() => SSECustomerKey, { [_hH2]: _xasseck }], [0, { [_hH2]: _xasseckM }], [() => SSEKMSKeyId, { [_hH2]: _xasseakki }], [() => SSEKMSEncryptionContext, { [_hH2]: _xassec }], [2, { [_hH2]: _xassebke }], [0, { [_hH2]: _xarp }], [0, { [_hH2]: _xat }], [0, { [_hH2]: _xaolm }], [5, { [_hH2]: _xaolrud }], [0, { [_hH2]: _xaollh }], [0, { [_hH2]: _xaoleh }], [1, { [_hH2]: _xaolehdd }], [1, { [_hH2]: _xaolehdy }], [0, { [_hH2]: _xaebo }], [0, { [_hH2]: _xaca }], [0, { [_hH2]: _xact }]],
+ 2
+ ];
+ var CreateSessionOutput$ = [
+ 3,
+ n05,
+ _CSO,
+ { [_xN]: _CSR },
+ [_Cr, _SSE, _SSEKMSKI, _SSEKMSEC, _BKE],
+ [[() => SessionCredentials$, { [_xN]: _Cr }], [0, { [_hH2]: _xasse }], [() => SSEKMSKeyId, { [_hH2]: _xasseakki }], [() => SSEKMSEncryptionContext, { [_hH2]: _xassec }], [2, { [_hH2]: _xassebke }]],
+ 1
+ ];
+ var CreateSessionRequest$ = [
+ 3,
+ n05,
+ _CSRr,
+ 0,
+ [_B, _SM, _SSE, _SSEKMSKI, _SSEKMSEC, _BKE],
+ [[0, 1], [0, { [_hH2]: _xacsm }], [0, { [_hH2]: _xasse }], [() => SSEKMSKeyId, { [_hH2]: _xasseakki }], [() => SSEKMSEncryptionContext, { [_hH2]: _xassec }], [2, { [_hH2]: _xassebke }]],
+ 1
+ ];
+ var CSVInput$ = [
+ 3,
+ n05,
+ _CSVIn,
+ 0,
+ [_FHI, _Com, _QEC, _RD, _FD, _QC, _AQRD],
+ [0, 0, 0, 0, 0, 0, 2]
+ ];
+ var CSVOutput$ = [
+ 3,
+ n05,
+ _CSVO,
+ 0,
+ [_QF, _QEC, _RD, _FD, _QC],
+ [0, 0, 0, 0, 0]
+ ];
+ var DefaultRetention$ = [
+ 3,
+ n05,
+ _DRe,
+ 0,
+ [_Mo, _D, _Y, _DEH],
+ [0, 1, 1, () => EventHoldDuration$]
+ ];
+ var Delete$ = [
+ 3,
+ n05,
+ _De,
+ 0,
+ [_Ob, _Q],
+ [[() => ObjectIdentifierList, { [_xF]: 1, [_xN]: _Obj }], 2],
+ 1
+ ];
+ var DeleteBucketAnalyticsConfigurationRequest$ = [
+ 3,
+ n05,
+ _DBACR,
+ 0,
+ [_B, _I, _EBO],
+ [[0, 1], [0, { [_hQ2]: _i }], [0, { [_hH2]: _xaebo }]],
+ 2
+ ];
+ var DeleteBucketCorsRequest$ = [
+ 3,
+ n05,
+ _DBCR,
+ 0,
+ [_B, _EBO],
+ [[0, 1], [0, { [_hH2]: _xaebo }]],
+ 1
+ ];
+ var DeleteBucketEncryptionRequest$ = [
+ 3,
+ n05,
+ _DBER,
+ 0,
+ [_B, _EBO],
+ [[0, 1], [0, { [_hH2]: _xaebo }]],
+ 1
+ ];
+ var DeleteBucketIntelligentTieringConfigurationRequest$ = [
+ 3,
+ n05,
+ _DBITCR,
+ 0,
+ [_B, _I, _EBO],
+ [[0, 1], [0, { [_hQ2]: _i }], [0, { [_hH2]: _xaebo }]],
+ 2
+ ];
+ var DeleteBucketInventoryConfigurationRequest$ = [
+ 3,
+ n05,
+ _DBICR,
+ 0,
+ [_B, _I, _EBO],
+ [[0, 1], [0, { [_hQ2]: _i }], [0, { [_hH2]: _xaebo }]],
+ 2
+ ];
+ var DeleteBucketLifecycleRequest$ = [
+ 3,
+ n05,
+ _DBLR,
+ 0,
+ [_B, _EBO],
+ [[0, 1], [0, { [_hH2]: _xaebo }]],
+ 1
+ ];
+ var DeleteBucketMetadataConfigurationRequest$ = [
+ 3,
+ n05,
+ _DBMCR,
+ 0,
+ [_B, _EBO],
+ [[0, 1], [0, { [_hH2]: _xaebo }]],
+ 1
+ ];
+ var DeleteBucketMetadataTableConfigurationRequest$ = [
+ 3,
+ n05,
+ _DBMTCR,
+ 0,
+ [_B, _EBO],
+ [[0, 1], [0, { [_hH2]: _xaebo }]],
+ 1
+ ];
+ var DeleteBucketMetricsConfigurationRequest$ = [
+ 3,
+ n05,
+ _DBMCRe,
+ 0,
+ [_B, _I, _EBO],
+ [[0, 1], [0, { [_hQ2]: _i }], [0, { [_hH2]: _xaebo }]],
+ 2
+ ];
+ var DeleteBucketOwnershipControlsRequest$ = [
+ 3,
+ n05,
+ _DBOCR,
+ 0,
+ [_B, _EBO],
+ [[0, 1], [0, { [_hH2]: _xaebo }]],
+ 1
+ ];
+ var DeleteBucketPolicyRequest$ = [
+ 3,
+ n05,
+ _DBPR,
+ 0,
+ [_B, _EBO],
+ [[0, 1], [0, { [_hH2]: _xaebo }]],
+ 1
+ ];
+ var DeleteBucketReplicationRequest$ = [
+ 3,
+ n05,
+ _DBRR,
+ 0,
+ [_B, _EBO],
+ [[0, 1], [0, { [_hH2]: _xaebo }]],
+ 1
+ ];
+ var DeleteBucketRequest$ = [
+ 3,
+ n05,
+ _DBR,
+ 0,
+ [_B, _EBO],
+ [[0, 1], [0, { [_hH2]: _xaebo }]],
+ 1
+ ];
+ var DeleteBucketTaggingRequest$ = [
+ 3,
+ n05,
+ _DBTR,
+ 0,
+ [_B, _EBO],
+ [[0, 1], [0, { [_hH2]: _xaebo }]],
+ 1
+ ];
+ var DeleteBucketWebsiteRequest$ = [
+ 3,
+ n05,
+ _DBWR,
+ 0,
+ [_B, _EBO],
+ [[0, 1], [0, { [_hH2]: _xaebo }]],
+ 1
+ ];
+ var DeletedObject$ = [
+ 3,
+ n05,
+ _DO,
+ 0,
+ [_K2, _VI, _DM, _DMVI],
+ [0, 0, 2, 0]
+ ];
+ var DeleteMarkerEntry$ = [
+ 3,
+ n05,
+ _DME,
+ 0,
+ [_O, _K2, _VI, _IL, _LM],
+ [() => Owner$, 0, 0, 2, 4]
+ ];
+ var DeleteMarkerReplication$ = [
+ 3,
+ n05,
+ _DMR,
+ 0,
+ [_S],
+ [0]
+ ];
+ var DeleteObjectAnnotationOutput$ = [
+ 3,
+ n05,
+ _DOAO,
+ 0,
+ [_OVI, _RC2],
+ [[0, { [_hH2]: _xaovi }], [0, { [_hH2]: _xarc }]]
+ ];
+ var DeleteObjectAnnotationRequest$ = [
+ 3,
+ n05,
+ _DOAR,
+ 0,
+ [_B, _K2, _AN, _VI, _RP, _EBO, _OIM],
+ [[0, 1], [0, 1], [0, { [_hQ2]: _aN }], [0, { [_hQ2]: _vI }], [0, { [_hH2]: _xarp }], [0, { [_hH2]: _xaebo }], [0, { [_hH2]: _xaoim }]],
+ 3
+ ];
+ var DeleteObjectOutput$ = [
+ 3,
+ n05,
+ _DOO,
+ 0,
+ [_DM, _VI, _RC2],
+ [[2, { [_hH2]: _xadm }], [0, { [_hH2]: _xavi }], [0, { [_hH2]: _xarc }]]
+ ];
+ var DeleteObjectRequest$ = [
+ 3,
+ n05,
+ _DOR,
+ 0,
+ [_B, _K2, _MFA, _VI, _RP, _BGR, _EBO, _IM, _IMLMT, _IMS],
+ [[0, 1], [0, 1], [0, { [_hH2]: _xam_ }], [0, { [_hQ2]: _vI }], [0, { [_hH2]: _xarp }], [2, { [_hH2]: _xabgr }], [0, { [_hH2]: _xaebo }], [0, { [_hH2]: _IM_ }], [6, { [_hH2]: _xaimlmt }], [1, { [_hH2]: _xaims }]],
+ 2
+ ];
+ var DeleteObjectsOutput$ = [
+ 3,
+ n05,
+ _DOOe,
+ { [_xN]: _DRel },
+ [_Del, _RC2, _Er],
+ [[() => DeletedObjects, { [_xF]: 1 }], [0, { [_hH2]: _xarc }], [() => Errors, { [_xF]: 1, [_xN]: _E3 }]]
+ ];
+ var DeleteObjectsRequest$ = [
+ 3,
+ n05,
+ _DORe,
+ 0,
+ [_B, _De, _MFA, _RP, _BGR, _EBO, _CA2],
+ [[0, 1], [() => Delete$, { [_hP]: 1, [_xN]: _De }], [0, { [_hH2]: _xam_ }], [0, { [_hH2]: _xarp }], [2, { [_hH2]: _xabgr }], [0, { [_hH2]: _xaebo }], [0, { [_hH2]: _xasca }]],
+ 2
+ ];
+ var DeleteObjectTaggingOutput$ = [
+ 3,
+ n05,
+ _DOTO,
+ 0,
+ [_VI],
+ [[0, { [_hH2]: _xavi }]]
+ ];
+ var DeleteObjectTaggingRequest$ = [
+ 3,
+ n05,
+ _DOTR,
+ 0,
+ [_B, _K2, _VI, _EBO],
+ [[0, 1], [0, 1], [0, { [_hQ2]: _vI }], [0, { [_hH2]: _xaebo }]],
+ 2
+ ];
+ var DeletePublicAccessBlockRequest$ = [
+ 3,
+ n05,
+ _DPABR,
+ 0,
+ [_B, _EBO],
+ [[0, 1], [0, { [_hH2]: _xaebo }]],
+ 1
+ ];
+ var Destination$ = [
+ 3,
+ n05,
+ _Des,
+ 0,
+ [_B, _A2, _SC, _ACT, _EC, _RT3, _Me],
+ [0, 0, 0, () => AccessControlTranslation$, () => EncryptionConfiguration$, () => ReplicationTime$, () => Metrics$],
+ 1
+ ];
+ var DestinationResult$ = [
+ 3,
+ n05,
+ _DRes,
+ 0,
+ [_TBT, _TBA, _TNa],
+ [0, 0, 0]
+ ];
+ var Encryption$ = [
+ 3,
+ n05,
+ _En,
+ 0,
+ [_ETn, _KMSKI, _KMSC],
+ [0, [() => SSEKMSKeyId, 0], 0],
+ 1
+ ];
+ var EncryptionConfiguration$ = [
+ 3,
+ n05,
+ _EC,
+ 0,
+ [_RKKID],
+ [0]
+ ];
+ var EndEvent$ = [
+ 3,
+ n05,
+ _EE,
+ 0,
+ [],
+ []
+ ];
+ var _Error$ = [
+ 3,
+ n05,
+ _E3,
+ 0,
+ [_K2, _VI, _Cod, _Mes],
+ [0, 0, 0, 0]
+ ];
+ var ErrorDetails$ = [
+ 3,
+ n05,
+ _ED,
+ 0,
+ [_ECr, _EM],
+ [0, 0]
+ ];
+ var ErrorDocument$ = [
+ 3,
+ n05,
+ _EDr,
+ 0,
+ [_K2],
+ [0],
+ 1
+ ];
+ var EventBridgeConfiguration$ = [
+ 3,
+ n05,
+ _EBC,
+ 0,
+ [],
+ []
+ ];
+ var EventHoldDuration$ = [
+ 3,
+ n05,
+ _EHD,
+ 0,
+ [_D, _Y],
+ [1, 1]
+ ];
+ var ExistingObjectReplication$ = [
+ 3,
+ n05,
+ _EOR,
+ 0,
+ [_S],
+ [0],
+ 1
+ ];
+ var FilterRule$ = [
+ 3,
+ n05,
+ _FR,
+ 0,
+ [_N, _V2],
+ [0, 0]
+ ];
+ var GetBucketAbacOutput$ = [
+ 3,
+ n05,
+ _GBAO,
+ 0,
+ [_AS],
+ [[() => AbacStatus$, 16]]
+ ];
+ var GetBucketAbacRequest$ = [
+ 3,
+ n05,
+ _GBAR,
+ 0,
+ [_B, _EBO],
+ [[0, 1], [0, { [_hH2]: _xaebo }]],
+ 1
+ ];
+ var GetBucketAccelerateConfigurationOutput$ = [
+ 3,
+ n05,
+ _GBACO,
+ { [_xN]: _AC },
+ [_S, _RC2],
+ [0, [0, { [_hH2]: _xarc }]]
+ ];
+ var GetBucketAccelerateConfigurationRequest$ = [
+ 3,
+ n05,
+ _GBACR,
+ 0,
+ [_B, _EBO, _RP],
+ [[0, 1], [0, { [_hH2]: _xaebo }], [0, { [_hH2]: _xarp }]],
+ 1
+ ];
+ var GetBucketAclOutput$ = [
+ 3,
+ n05,
+ _GBAOe,
+ { [_xN]: _ACP },
+ [_O, _G],
+ [() => Owner$, [() => Grants, { [_xN]: _ACL }]]
+ ];
+ var GetBucketAclRequest$ = [
+ 3,
+ n05,
+ _GBARe,
+ 0,
+ [_B, _EBO],
+ [[0, 1], [0, { [_hH2]: _xaebo }]],
+ 1
+ ];
+ var GetBucketAnalyticsConfigurationOutput$ = [
+ 3,
+ n05,
+ _GBACOe,
+ 0,
+ [_ACn],
+ [[() => AnalyticsConfiguration$, 16]]
+ ];
+ var GetBucketAnalyticsConfigurationRequest$ = [
+ 3,
+ n05,
+ _GBACRe,
+ 0,
+ [_B, _I, _EBO],
+ [[0, 1], [0, { [_hQ2]: _i }], [0, { [_hH2]: _xaebo }]],
+ 2
+ ];
+ var GetBucketCorsOutput$ = [
+ 3,
+ n05,
+ _GBCO,
+ { [_xN]: _CORSC },
+ [_CORSR],
+ [[() => CORSRules, { [_xF]: 1, [_xN]: _CORSRu }]]
+ ];
+ var GetBucketCorsRequest$ = [
+ 3,
+ n05,
+ _GBCR,
+ 0,
+ [_B, _EBO],
+ [[0, 1], [0, { [_hH2]: _xaebo }]],
+ 1
+ ];
+ var GetBucketEncryptionOutput$ = [
+ 3,
+ n05,
+ _GBEO,
+ 0,
+ [_SSEC],
+ [[() => ServerSideEncryptionConfiguration$, 16]]
+ ];
+ var GetBucketEncryptionRequest$ = [
+ 3,
+ n05,
+ _GBER,
+ 0,
+ [_B, _EBO],
+ [[0, 1], [0, { [_hH2]: _xaebo }]],
+ 1
+ ];
+ var GetBucketIntelligentTieringConfigurationOutput$ = [
+ 3,
+ n05,
+ _GBITCO,
+ 0,
+ [_ITC],
+ [[() => IntelligentTieringConfiguration$, 16]]
+ ];
+ var GetBucketIntelligentTieringConfigurationRequest$ = [
+ 3,
+ n05,
+ _GBITCR,
+ 0,
+ [_B, _I, _EBO],
+ [[0, 1], [0, { [_hQ2]: _i }], [0, { [_hH2]: _xaebo }]],
+ 2
+ ];
+ var GetBucketInventoryConfigurationOutput$ = [
+ 3,
+ n05,
+ _GBICO,
+ 0,
+ [_IC],
+ [[() => InventoryConfiguration$, 16]]
+ ];
+ var GetBucketInventoryConfigurationRequest$ = [
+ 3,
+ n05,
+ _GBICR,
+ 0,
+ [_B, _I, _EBO],
+ [[0, 1], [0, { [_hQ2]: _i }], [0, { [_hH2]: _xaebo }]],
+ 2
+ ];
+ var GetBucketLifecycleConfigurationOutput$ = [
+ 3,
+ n05,
+ _GBLCO,
+ { [_xN]: _LCi },
+ [_Ru, _TDMOS],
+ [[() => LifecycleRules, { [_xF]: 1, [_xN]: _Rul }], [0, { [_hH2]: _xatdmos }]]
+ ];
+ var GetBucketLifecycleConfigurationRequest$ = [
+ 3,
+ n05,
+ _GBLCR,
+ 0,
+ [_B, _EBO],
+ [[0, 1], [0, { [_hH2]: _xaebo }]],
+ 1
+ ];
+ var GetBucketLocationOutput$ = [
+ 3,
+ n05,
+ _GBLO,
+ { [_xN]: _LC },
+ [_LC],
+ [0]
+ ];
+ var GetBucketLocationRequest$ = [
+ 3,
+ n05,
+ _GBLR,
+ 0,
+ [_B, _EBO],
+ [[0, 1], [0, { [_hH2]: _xaebo }]],
+ 1
+ ];
+ var GetBucketLoggingOutput$ = [
+ 3,
+ n05,
+ _GBLOe,
+ { [_xN]: _BLS },
+ [_LE],
+ [[() => LoggingEnabled$, 0]]
+ ];
+ var GetBucketLoggingRequest$ = [
+ 3,
+ n05,
+ _GBLRe,
+ 0,
+ [_B, _EBO],
+ [[0, 1], [0, { [_hH2]: _xaebo }]],
+ 1
+ ];
+ var GetBucketMetadataConfigurationOutput$ = [
+ 3,
+ n05,
+ _GBMCO,
+ 0,
+ [_GBMCR],
+ [[() => GetBucketMetadataConfigurationResult$, 16]]
+ ];
+ var GetBucketMetadataConfigurationRequest$ = [
+ 3,
+ n05,
+ _GBMCRe,
+ 0,
+ [_B, _EBO],
+ [[0, 1], [0, { [_hH2]: _xaebo }]],
+ 1
+ ];
+ var GetBucketMetadataConfigurationResult$ = [
+ 3,
+ n05,
+ _GBMCR,
+ 0,
+ [_MCR],
+ [() => MetadataConfigurationResult$],
+ 1
+ ];
+ var GetBucketMetadataTableConfigurationOutput$ = [
+ 3,
+ n05,
+ _GBMTCO,
+ 0,
+ [_GBMTCR],
+ [[() => GetBucketMetadataTableConfigurationResult$, 16]]
+ ];
+ var GetBucketMetadataTableConfigurationRequest$ = [
+ 3,
+ n05,
+ _GBMTCRe,
+ 0,
+ [_B, _EBO],
+ [[0, 1], [0, { [_hH2]: _xaebo }]],
+ 1
+ ];
+ var GetBucketMetadataTableConfigurationResult$ = [
+ 3,
+ n05,
+ _GBMTCR,
+ 0,
+ [_MTCR, _S, _E3],
+ [() => MetadataTableConfigurationResult$, 0, () => ErrorDetails$],
+ 2
+ ];
+ var GetBucketMetricsConfigurationOutput$ = [
+ 3,
+ n05,
+ _GBMCOe,
+ 0,
+ [_MCe],
+ [[() => MetricsConfiguration$, 16]]
+ ];
+ var GetBucketMetricsConfigurationRequest$ = [
+ 3,
+ n05,
+ _GBMCRet,
+ 0,
+ [_B, _I, _EBO],
+ [[0, 1], [0, { [_hQ2]: _i }], [0, { [_hH2]: _xaebo }]],
+ 2
+ ];
+ var GetBucketNotificationConfigurationRequest$ = [
+ 3,
+ n05,
+ _GBNCR,
+ 0,
+ [_B, _EBO],
+ [[0, 1], [0, { [_hH2]: _xaebo }]],
+ 1
+ ];
+ var GetBucketOwnershipControlsOutput$ = [
+ 3,
+ n05,
+ _GBOCO,
+ 0,
+ [_OC],
+ [[() => OwnershipControls$, 16]]
+ ];
+ var GetBucketOwnershipControlsRequest$ = [
+ 3,
+ n05,
+ _GBOCR,
+ 0,
+ [_B, _EBO],
+ [[0, 1], [0, { [_hH2]: _xaebo }]],
+ 1
+ ];
+ var GetBucketPolicyOutput$ = [
+ 3,
+ n05,
+ _GBPO,
+ 0,
+ [_Po],
+ [[0, 16]]
+ ];
+ var GetBucketPolicyRequest$ = [
+ 3,
+ n05,
+ _GBPR,
+ 0,
+ [_B, _EBO],
+ [[0, 1], [0, { [_hH2]: _xaebo }]],
+ 1
+ ];
+ var GetBucketPolicyStatusOutput$ = [
+ 3,
+ n05,
+ _GBPSO,
+ 0,
+ [_PS],
+ [[() => PolicyStatus$, 16]]
+ ];
+ var GetBucketPolicyStatusRequest$ = [
+ 3,
+ n05,
+ _GBPSR,
+ 0,
+ [_B, _EBO],
+ [[0, 1], [0, { [_hH2]: _xaebo }]],
+ 1
+ ];
+ var GetBucketReplicationOutput$ = [
+ 3,
+ n05,
+ _GBRO,
+ 0,
+ [_RCe],
+ [[() => ReplicationConfiguration$, 16]]
+ ];
+ var GetBucketReplicationRequest$ = [
+ 3,
+ n05,
+ _GBRR,
+ 0,
+ [_B, _EBO],
+ [[0, 1], [0, { [_hH2]: _xaebo }]],
+ 1
+ ];
+ var GetBucketRequestPaymentOutput$ = [
+ 3,
+ n05,
+ _GBRPO,
+ { [_xN]: _RPC },
+ [_Pay],
+ [0]
+ ];
+ var GetBucketRequestPaymentRequest$ = [
+ 3,
+ n05,
+ _GBRPR,
+ 0,
+ [_B, _EBO],
+ [[0, 1], [0, { [_hH2]: _xaebo }]],
+ 1
+ ];
+ var GetBucketTaggingOutput$ = [
+ 3,
+ n05,
+ _GBTO,
+ { [_xN]: _Tag },
+ [_TSa],
+ [[() => TagSet, 0]],
+ 1
+ ];
+ var GetBucketTaggingRequest$ = [
+ 3,
+ n05,
+ _GBTR,
+ 0,
+ [_B, _EBO],
+ [[0, 1], [0, { [_hH2]: _xaebo }]],
+ 1
+ ];
+ var GetBucketVersioningOutput$ = [
+ 3,
+ n05,
+ _GBVO,
+ { [_xN]: _VC },
+ [_S, _MFAD],
+ [0, [0, { [_xN]: _MDf }]]
+ ];
+ var GetBucketVersioningRequest$ = [
+ 3,
+ n05,
+ _GBVR,
+ 0,
+ [_B, _EBO],
+ [[0, 1], [0, { [_hH2]: _xaebo }]],
+ 1
+ ];
+ var GetBucketWebsiteOutput$ = [
+ 3,
+ n05,
+ _GBWO,
+ { [_xN]: _WC },
+ [_RART, _IDn, _EDr, _RR],
+ [() => RedirectAllRequestsTo$, () => IndexDocument$, () => ErrorDocument$, [() => RoutingRules, 0]]
+ ];
+ var GetBucketWebsiteRequest$ = [
+ 3,
+ n05,
+ _GBWR,
+ 0,
+ [_B, _EBO],
+ [[0, 1], [0, { [_hH2]: _xaebo }]],
+ 1
+ ];
+ var GetObjectAclOutput$ = [
+ 3,
+ n05,
+ _GOAO,
+ { [_xN]: _ACP },
+ [_O, _G, _RC2],
+ [() => Owner$, [() => Grants, { [_xN]: _ACL }], [0, { [_hH2]: _xarc }]]
+ ];
+ var GetObjectAclRequest$ = [
+ 3,
+ n05,
+ _GOAR,
+ 0,
+ [_B, _K2, _VI, _RP, _EBO],
+ [[0, 1], [0, 1], [0, { [_hQ2]: _vI }], [0, { [_hH2]: _xarp }], [0, { [_hH2]: _xaebo }]],
+ 2
+ ];
+ var GetObjectAnnotationOutput$ = [
+ 3,
+ n05,
+ _GOAOe,
+ 0,
+ [_AP, _OVI, _LM, _CLo, _ET, _CCRC, _CCRCC, _CCRCNVME, _CSHA, _CSHAh, _CSHAhe, _CMD, _CXXHASH, _CXXHASHh, _CXXHASHhe, _CT2, _SSE, _RC2, _RS],
+ [[() => StreamingBlob, 16], [0, { [_hH2]: _xaovi }], [4, { [_hH2]: _LM_ }], [1, { [_hH2]: _CL__ }], [0, { [_hH2]: _ET }], [0, { [_hH2]: _xacc }], [0, { [_hH2]: _xacc_ }], [0, { [_hH2]: _xacc__ }], [0, { [_hH2]: _xacs }], [0, { [_hH2]: _xacs_ }], [0, { [_hH2]: _xacs__ }], [0, { [_hH2]: _xacm }], [0, { [_hH2]: _xacx }], [0, { [_hH2]: _xacx_ }], [0, { [_hH2]: _xacx__ }], [0, { [_hH2]: _xact }], [0, { [_hH2]: _xasse }], [0, { [_hH2]: _xarc }], [0, { [_hH2]: _xars }]]
+ ];
+ var GetObjectAnnotationRequest$ = [
+ 3,
+ n05,
+ _GOARe,
+ 0,
+ [_B, _K2, _AN, _VI, _RP, _EBO, _CMh],
+ [[0, 1], [0, 1], [0, { [_hQ2]: _aN }], [0, { [_hQ2]: _vI }], [0, { [_hH2]: _xarp }], [0, { [_hH2]: _xaebo }], [0, { [_hH2]: _xacm_ }]],
+ 3
+ ];
+ var GetObjectAttributesOutput$ = [
+ 3,
+ n05,
+ _GOAOet,
+ { [_xN]: _GOARet },
+ [_DM, _LM, _VI, _RC2, _ET, _C2, _OP, _SC, _OS],
+ [[2, { [_hH2]: _xadm }], [4, { [_hH2]: _LM_ }], [0, { [_hH2]: _xavi }], [0, { [_hH2]: _xarc }], 0, () => Checksum$, [() => GetObjectAttributesParts$, 0], 0, 1]
+ ];
+ var GetObjectAttributesParts$ = [
+ 3,
+ n05,
+ _GOAP,
+ 0,
+ [_TPC, _PNM, _NPNM, _MP, _IT2, _Pa],
+ [[1, { [_xN]: _PC2 }], 0, 0, 1, 2, [() => PartsList, { [_xF]: 1, [_xN]: _Par }]]
+ ];
+ var GetObjectAttributesRequest$ = [
+ 3,
+ n05,
+ _GOARetb,
+ 0,
+ [_B, _K2, _OA, _VI, _MP, _PNM, _SSECA, _SSECK, _SSECKMD, _RP, _EBO],
+ [[0, 1], [0, 1], [64 | 0, { [_hH2]: _xaoa }], [0, { [_hQ2]: _vI }], [1, { [_hH2]: _xamp }], [0, { [_hH2]: _xapnm }], [0, { [_hH2]: _xasseca }], [() => SSECustomerKey, { [_hH2]: _xasseck }], [0, { [_hH2]: _xasseckM }], [0, { [_hH2]: _xarp }], [0, { [_hH2]: _xaebo }]],
+ 3
+ ];
+ var GetObjectLegalHoldOutput$ = [
+ 3,
+ n05,
+ _GOLHO,
+ 0,
+ [_LH],
+ [[() => ObjectLockLegalHold$, { [_hP]: 1, [_xN]: _LH }]]
+ ];
+ var GetObjectLegalHoldRequest$ = [
+ 3,
+ n05,
+ _GOLHR,
+ 0,
+ [_B, _K2, _VI, _RP, _EBO],
+ [[0, 1], [0, 1], [0, { [_hQ2]: _vI }], [0, { [_hH2]: _xarp }], [0, { [_hH2]: _xaebo }]],
+ 2
+ ];
+ var GetObjectLockConfigurationOutput$ = [
+ 3,
+ n05,
+ _GOLCO,
+ 0,
+ [_OLC],
+ [[() => ObjectLockConfiguration$, 16]]
+ ];
+ var GetObjectLockConfigurationRequest$ = [
+ 3,
+ n05,
+ _GOLCR,
+ 0,
+ [_B, _EBO],
+ [[0, 1], [0, { [_hH2]: _xaebo }]],
+ 1
+ ];
+ var GetObjectOutput$ = [
+ 3,
+ n05,
+ _GOO,
+ 0,
+ [_Bo, _DM, _AR2, _Ex, _Re, _LM, _CLo, _ET, _CCRC, _CCRCC, _CCRCNVME, _CSHA, _CSHAh, _CSHAhe, _CMD, _CXXHASH, _CXXHASHh, _CXXHASHhe, _CT2, _MM, _VI, _CC, _CDo, _CEo, _CL, _CR, _CTo, _Exp, _ES, _WRL, _SSE, _M, _SSECA, _SSECKMD, _SSEKMSKI, _BKE, _SC, _RC2, _RS, _PC2, _TC2, _OLM, _OLRUD, _OLLHS, _OLEH, _OLEHDD, _OLEHDY],
+ [[() => StreamingBlob, 16], [2, { [_hH2]: _xadm }], [0, { [_hH2]: _ar }], [0, { [_hH2]: _xae }], [0, { [_hH2]: _xar }], [4, { [_hH2]: _LM_ }], [1, { [_hH2]: _CL__ }], [0, { [_hH2]: _ET }], [0, { [_hH2]: _xacc }], [0, { [_hH2]: _xacc_ }], [0, { [_hH2]: _xacc__ }], [0, { [_hH2]: _xacs }], [0, { [_hH2]: _xacs_ }], [0, { [_hH2]: _xacs__ }], [0, { [_hH2]: _xacm }], [0, { [_hH2]: _xacx }], [0, { [_hH2]: _xacx_ }], [0, { [_hH2]: _xacx__ }], [0, { [_hH2]: _xact }], [1, { [_hH2]: _xamm }], [0, { [_hH2]: _xavi }], [0, { [_hH2]: _CC_ }], [0, { [_hH2]: _CD_ }], [0, { [_hH2]: _CE_ }], [0, { [_hH2]: _CL_ }], [0, { [_hH2]: _CR_ }], [0, { [_hH2]: _CT_ }], [4, { [_hH2]: _Exp }], [0, { [_hH2]: _ES }], [0, { [_hH2]: _xawrl }], [0, { [_hH2]: _xasse }], [128 | 0, { [_hPH]: _xam }], [0, { [_hH2]: _xasseca }], [0, { [_hH2]: _xasseckM }], [() => SSEKMSKeyId, { [_hH2]: _xasseakki }], [2, { [_hH2]: _xassebke }], [0, { [_hH2]: _xasc }], [0, { [_hH2]: _xarc }], [0, { [_hH2]: _xars }], [1, { [_hH2]: _xampc }], [1, { [_hH2]: _xatc }], [0, { [_hH2]: _xaolm }], [5, { [_hH2]: _xaolrud }], [0, { [_hH2]: _xaollh }], [0, { [_hH2]: _xaoleh }], [1, { [_hH2]: _xaolehdd }], [1, { [_hH2]: _xaolehdy }]]
+ ];
+ var GetObjectRequest$ = [
+ 3,
+ n05,
+ _GOR,
+ 0,
+ [_B, _K2, _IM, _IMSf, _INM, _IUS, _Ra, _RCC, _RCD, _RCE, _RCL, _RCT, _RE, _VI, _SSECA, _SSECK, _SSECKMD, _RP, _PN, _EBO, _CMh],
+ [[0, 1], [0, 1], [0, { [_hH2]: _IM_ }], [4, { [_hH2]: _IMS_ }], [0, { [_hH2]: _INM_ }], [4, { [_hH2]: _IUS_ }], [0, { [_hH2]: _Ra }], [0, { [_hQ2]: _rcc }], [0, { [_hQ2]: _rcd }], [0, { [_hQ2]: _rce }], [0, { [_hQ2]: _rcl }], [0, { [_hQ2]: _rct }], [6, { [_hQ2]: _re }], [0, { [_hQ2]: _vI }], [0, { [_hH2]: _xasseca }], [() => SSECustomerKey, { [_hH2]: _xasseck }], [0, { [_hH2]: _xasseckM }], [0, { [_hH2]: _xarp }], [1, { [_hQ2]: _pN }], [0, { [_hH2]: _xaebo }], [0, { [_hH2]: _xacm_ }]],
+ 2
+ ];
+ var GetObjectRetentionOutput$ = [
+ 3,
+ n05,
+ _GORO,
+ 0,
+ [_Ret],
+ [[() => ObjectLockRetention$, { [_hP]: 1, [_xN]: _Ret }]]
+ ];
+ var GetObjectRetentionRequest$ = [
+ 3,
+ n05,
+ _GORR,
+ 0,
+ [_B, _K2, _VI, _RP, _EBO],
+ [[0, 1], [0, 1], [0, { [_hQ2]: _vI }], [0, { [_hH2]: _xarp }], [0, { [_hH2]: _xaebo }]],
+ 2
+ ];
+ var GetObjectTaggingOutput$ = [
+ 3,
+ n05,
+ _GOTO,
+ { [_xN]: _Tag },
+ [_TSa, _VI],
+ [[() => TagSet, 0], [0, { [_hH2]: _xavi }]],
+ 1
+ ];
+ var GetObjectTaggingRequest$ = [
+ 3,
+ n05,
+ _GOTR,
+ 0,
+ [_B, _K2, _VI, _EBO, _RP],
+ [[0, 1], [0, 1], [0, { [_hQ2]: _vI }], [0, { [_hH2]: _xaebo }], [0, { [_hH2]: _xarp }]],
+ 2
+ ];
+ var GetObjectTorrentOutput$ = [
+ 3,
+ n05,
+ _GOTOe,
+ 0,
+ [_Bo, _RC2],
+ [[() => StreamingBlob, 16], [0, { [_hH2]: _xarc }]]
+ ];
+ var GetObjectTorrentRequest$ = [
+ 3,
+ n05,
+ _GOTRe,
+ 0,
+ [_B, _K2, _RP, _EBO],
+ [[0, 1], [0, 1], [0, { [_hH2]: _xarp }], [0, { [_hH2]: _xaebo }]],
+ 2
+ ];
+ var GetPublicAccessBlockOutput$ = [
+ 3,
+ n05,
+ _GPABO,
+ 0,
+ [_PABC],
+ [[() => PublicAccessBlockConfiguration$, 16]]
+ ];
+ var GetPublicAccessBlockRequest$ = [
+ 3,
+ n05,
+ _GPABR,
+ 0,
+ [_B, _EBO],
+ [[0, 1], [0, { [_hH2]: _xaebo }]],
+ 1
+ ];
+ var GlacierJobParameters$ = [
+ 3,
+ n05,
+ _GJP,
+ 0,
+ [_Ti],
+ [0],
+ 1
+ ];
+ var Grant$ = [
+ 3,
+ n05,
+ _Gr,
+ 0,
+ [_Gra, _Pe],
+ [[() => Grantee$, { [_xNm]: [_x, _hi] }], 0]
+ ];
+ var Grantee$ = [
+ 3,
+ n05,
+ _Gra,
+ 0,
+ [_Ty, _DN, _EA, _ID, _URI],
+ [[0, { [_xA]: 1, [_xN]: _xs }], 0, 0, 0, 0],
+ 1
+ ];
+ var HeadBucketOutput$ = [
+ 3,
+ n05,
+ _HBO,
+ 0,
+ [_BA, _BLT, _BLN, _BR, _APA],
+ [[0, { [_hH2]: _xaba }], [0, { [_hH2]: _xablt }], [0, { [_hH2]: _xabln }], [0, { [_hH2]: _xabr }], [2, { [_hH2]: _xaapa }]]
+ ];
+ var HeadBucketRequest$ = [
+ 3,
+ n05,
+ _HBR,
+ 0,
+ [_B, _EBO],
+ [[0, 1], [0, { [_hH2]: _xaebo }]],
+ 1
+ ];
+ var HeadObjectOutput$ = [
+ 3,
+ n05,
+ _HOO,
+ 0,
+ [_DM, _AR2, _Ex, _Re, _ASr, _LM, _CLo, _CCRC, _CCRCC, _CCRCNVME, _CSHA, _CSHAh, _CSHAhe, _CMD, _CXXHASH, _CXXHASHh, _CXXHASHhe, _CT2, _ET, _MM, _VI, _CC, _CDo, _CEo, _CL, _CTo, _CR, _Exp, _ES, _WRL, _SSE, _M, _SSECA, _SSECKMD, _SSEKMSKI, _BKE, _SC, _RC2, _RS, _PC2, _TC2, _OLM, _OLRUD, _OLLHS, _OLEH, _OLEHDD, _OLEHDY],
+ [[2, { [_hH2]: _xadm }], [0, { [_hH2]: _ar }], [0, { [_hH2]: _xae }], [0, { [_hH2]: _xar }], [0, { [_hH2]: _xaas }], [4, { [_hH2]: _LM_ }], [1, { [_hH2]: _CL__ }], [0, { [_hH2]: _xacc }], [0, { [_hH2]: _xacc_ }], [0, { [_hH2]: _xacc__ }], [0, { [_hH2]: _xacs }], [0, { [_hH2]: _xacs_ }], [0, { [_hH2]: _xacs__ }], [0, { [_hH2]: _xacm }], [0, { [_hH2]: _xacx }], [0, { [_hH2]: _xacx_ }], [0, { [_hH2]: _xacx__ }], [0, { [_hH2]: _xact }], [0, { [_hH2]: _ET }], [1, { [_hH2]: _xamm }], [0, { [_hH2]: _xavi }], [0, { [_hH2]: _CC_ }], [0, { [_hH2]: _CD_ }], [0, { [_hH2]: _CE_ }], [0, { [_hH2]: _CL_ }], [0, { [_hH2]: _CT_ }], [0, { [_hH2]: _CR_ }], [4, { [_hH2]: _Exp }], [0, { [_hH2]: _ES }], [0, { [_hH2]: _xawrl }], [0, { [_hH2]: _xasse }], [128 | 0, { [_hPH]: _xam }], [0, { [_hH2]: _xasseca }], [0, { [_hH2]: _xasseckM }], [() => SSEKMSKeyId, { [_hH2]: _xasseakki }], [2, { [_hH2]: _xassebke }], [0, { [_hH2]: _xasc }], [0, { [_hH2]: _xarc }], [0, { [_hH2]: _xars }], [1, { [_hH2]: _xampc }], [1, { [_hH2]: _xatc }], [0, { [_hH2]: _xaolm }], [5, { [_hH2]: _xaolrud }], [0, { [_hH2]: _xaollh }], [0, { [_hH2]: _xaoleh }], [1, { [_hH2]: _xaolehdd }], [1, { [_hH2]: _xaolehdy }]]
+ ];
+ var HeadObjectRequest$ = [
+ 3,
+ n05,
+ _HOR,
+ 0,
+ [_B, _K2, _IM, _IMSf, _INM, _IUS, _Ra, _RCC, _RCD, _RCE, _RCL, _RCT, _RE, _VI, _SSECA, _SSECK, _SSECKMD, _RP, _PN, _EBO, _CMh],
+ [[0, 1], [0, 1], [0, { [_hH2]: _IM_ }], [4, { [_hH2]: _IMS_ }], [0, { [_hH2]: _INM_ }], [4, { [_hH2]: _IUS_ }], [0, { [_hH2]: _Ra }], [0, { [_hQ2]: _rcc }], [0, { [_hQ2]: _rcd }], [0, { [_hQ2]: _rce }], [0, { [_hQ2]: _rcl }], [0, { [_hQ2]: _rct }], [6, { [_hQ2]: _re }], [0, { [_hQ2]: _vI }], [0, { [_hH2]: _xasseca }], [() => SSECustomerKey, { [_hH2]: _xasseck }], [0, { [_hH2]: _xasseckM }], [0, { [_hH2]: _xarp }], [1, { [_hQ2]: _pN }], [0, { [_hH2]: _xaebo }], [0, { [_hH2]: _xacm_ }]],
+ 2
+ ];
+ var IndexDocument$ = [
+ 3,
+ n05,
+ _IDn,
+ 0,
+ [_Su],
+ [0],
+ 1
+ ];
+ var Initiator$ = [
+ 3,
+ n05,
+ _In,
+ 0,
+ [_ID, _DN],
+ [0, 0]
+ ];
+ var InputSerialization$ = [
+ 3,
+ n05,
+ _IS,
+ 0,
+ [_CSV, _CTom, _JSON, _Parq],
+ [() => CSVInput$, 0, () => JSONInput$, () => ParquetInput$]
+ ];
+ var IntelligentTieringAndOperator$ = [
+ 3,
+ n05,
+ _ITAO,
+ 0,
+ [_P2, _T2],
+ [0, [() => TagSet, { [_xF]: 1, [_xN]: _Ta2 }]]
+ ];
+ var IntelligentTieringConfiguration$ = [
+ 3,
+ n05,
+ _ITC,
+ 0,
+ [_I, _S, _Tie, _F],
+ [0, 0, [() => TieringList, { [_xF]: 1, [_xN]: _Tier }], [() => IntelligentTieringFilter$, 0]],
+ 3
+ ];
+ var IntelligentTieringFilter$ = [
+ 3,
+ n05,
+ _ITF,
+ 0,
+ [_P2, _Ta2, _An],
+ [0, () => Tag$2, [() => IntelligentTieringAndOperator$, 0]]
+ ];
+ var InventoryConfiguration$ = [
+ 3,
+ n05,
+ _IC,
+ 0,
+ [_Des, _IE, _I, _IOV, _Sc, _F, _OF],
+ [[() => InventoryDestination$, 0], 2, 0, 0, () => InventorySchedule$, () => InventoryFilter$, [() => InventoryOptionalFields, 0]],
+ 5
+ ];
+ var InventoryDestination$ = [
+ 3,
+ n05,
+ _IDnv,
+ 0,
+ [_SBD],
+ [[() => InventoryS3BucketDestination$, 0]],
+ 1
+ ];
+ var InventoryEncryption$ = [
+ 3,
+ n05,
+ _IEn,
+ 0,
+ [_SSES, _SSEKMS],
+ [[() => SSES3$, { [_xN]: _SS }], [() => SSEKMS$, { [_xN]: _SK }]]
+ ];
+ var InventoryFilter$ = [
+ 3,
+ n05,
+ _IF,
+ 0,
+ [_P2],
+ [0],
+ 1
+ ];
+ var InventoryS3BucketDestination$ = [
+ 3,
+ n05,
+ _ISBD,
+ 0,
+ [_B, _Fo, _AI, _P2, _En],
+ [0, 0, 0, 0, [() => InventoryEncryption$, 0]],
+ 2
+ ];
+ var InventorySchedule$ = [
+ 3,
+ n05,
+ _ISn,
+ 0,
+ [_Fr],
+ [0],
+ 1
+ ];
+ var InventoryTableConfiguration$ = [
+ 3,
+ n05,
+ _ITCn,
+ 0,
+ [_CS2, _EC],
+ [0, () => MetadataTableEncryptionConfiguration$],
+ 1
+ ];
+ var InventoryTableConfigurationResult$ = [
+ 3,
+ n05,
+ _ITCR,
+ 0,
+ [_CS2, _TS, _E3, _TN, _TA],
+ [0, 0, () => ErrorDetails$, 0, 0],
+ 1
+ ];
+ var InventoryTableConfigurationUpdates$ = [
+ 3,
+ n05,
+ _ITCU,
+ 0,
+ [_CS2, _EC],
+ [0, () => MetadataTableEncryptionConfiguration$],
+ 1
+ ];
+ var JournalTableConfiguration$ = [
+ 3,
+ n05,
+ _JTC,
+ 0,
+ [_REe, _EC],
+ [() => RecordExpiration$, () => MetadataTableEncryptionConfiguration$],
+ 1
+ ];
+ var JournalTableConfigurationResult$ = [
+ 3,
+ n05,
+ _JTCR,
+ 0,
+ [_TS, _TN, _REe, _E3, _TA],
+ [0, 0, () => RecordExpiration$, () => ErrorDetails$, 0],
+ 3
+ ];
+ var JournalTableConfigurationUpdates$ = [
+ 3,
+ n05,
+ _JTCU,
+ 0,
+ [_REe],
+ [() => RecordExpiration$],
+ 1
+ ];
+ var JSONInput$ = [
+ 3,
+ n05,
+ _JSONI,
+ 0,
+ [_Ty],
+ [0]
+ ];
+ var JSONOutput$ = [
+ 3,
+ n05,
+ _JSONO,
+ 0,
+ [_RD],
+ [0]
+ ];
+ var LambdaFunctionConfiguration$ = [
+ 3,
+ n05,
+ _LFC,
+ 0,
+ [_LFA, _Ev, _I, _F],
+ [[0, { [_xN]: _CF }], [64 | 0, { [_xF]: 1, [_xN]: _Eve }], 0, [() => NotificationConfigurationFilter$, 0]],
+ 2
+ ];
+ var LifecycleExpiration$ = [
+ 3,
+ n05,
+ _LEi,
+ 0,
+ [_Da, _D, _EODM],
+ [5, 1, 2]
+ ];
+ var LifecycleRule$ = [
+ 3,
+ n05,
+ _LR,
+ 0,
+ [_S, _Ex, _ID, _P2, _F, _Tr, _NVT, _NVE, _AIMU],
+ [0, () => LifecycleExpiration$, 0, 0, [() => LifecycleRuleFilter$, 0], [() => TransitionList, { [_xF]: 1, [_xN]: _Tra }], [() => NoncurrentVersionTransitionList, { [_xF]: 1, [_xN]: _NVTo }], () => NoncurrentVersionExpiration$, () => AbortIncompleteMultipartUpload$],
+ 1
+ ];
+ var LifecycleRuleAndOperator$ = [
+ 3,
+ n05,
+ _LRAO,
+ 0,
+ [_P2, _T2, _OSGT, _OSLT],
+ [0, [() => TagSet, { [_xF]: 1, [_xN]: _Ta2 }], 1, 1]
+ ];
+ var LifecycleRuleFilter$ = [
+ 3,
+ n05,
+ _LRF,
+ 0,
+ [_P2, _Ta2, _OSGT, _OSLT, _An],
+ [0, () => Tag$2, 1, 1, [() => LifecycleRuleAndOperator$, 0]]
+ ];
+ var ListBucketAnalyticsConfigurationsOutput$ = [
+ 3,
+ n05,
+ _LBACO,
+ { [_xN]: _LBACR },
+ [_IT2, _CTon, _NCT, _ACLn],
+ [2, 0, 0, [() => AnalyticsConfigurationList, { [_xF]: 1, [_xN]: _ACn }]]
+ ];
+ var ListBucketAnalyticsConfigurationsRequest$ = [
+ 3,
+ n05,
+ _LBACRi,
+ 0,
+ [_B, _CTon, _EBO],
+ [[0, 1], [0, { [_hQ2]: _ct }], [0, { [_hH2]: _xaebo }]],
+ 1
+ ];
+ var ListBucketIntelligentTieringConfigurationsOutput$ = [
+ 3,
+ n05,
+ _LBITCO,
+ 0,
+ [_IT2, _CTon, _NCT, _ITCL],
+ [2, 0, 0, [() => IntelligentTieringConfigurationList, { [_xF]: 1, [_xN]: _ITC }]]
+ ];
+ var ListBucketIntelligentTieringConfigurationsRequest$ = [
+ 3,
+ n05,
+ _LBITCR,
+ 0,
+ [_B, _CTon, _EBO],
+ [[0, 1], [0, { [_hQ2]: _ct }], [0, { [_hH2]: _xaebo }]],
+ 1
+ ];
+ var ListBucketInventoryConfigurationsOutput$ = [
+ 3,
+ n05,
+ _LBICO,
+ { [_xN]: _LICR },
+ [_CTon, _ICL, _IT2, _NCT],
+ [0, [() => InventoryConfigurationList, { [_xF]: 1, [_xN]: _IC }], 2, 0]
+ ];
+ var ListBucketInventoryConfigurationsRequest$ = [
+ 3,
+ n05,
+ _LBICR,
+ 0,
+ [_B, _CTon, _EBO],
+ [[0, 1], [0, { [_hQ2]: _ct }], [0, { [_hH2]: _xaebo }]],
+ 1
+ ];
+ var ListBucketMetricsConfigurationsOutput$ = [
+ 3,
+ n05,
+ _LBMCO,
+ { [_xN]: _LMCR },
+ [_IT2, _CTon, _NCT, _MCL],
+ [2, 0, 0, [() => MetricsConfigurationList, { [_xF]: 1, [_xN]: _MCe }]]
+ ];
+ var ListBucketMetricsConfigurationsRequest$ = [
+ 3,
+ n05,
+ _LBMCR,
+ 0,
+ [_B, _CTon, _EBO],
+ [[0, 1], [0, { [_hQ2]: _ct }], [0, { [_hH2]: _xaebo }]],
+ 1
+ ];
+ var ListBucketsOutput$ = [
+ 3,
+ n05,
+ _LBO,
+ { [_xN]: _LAMBR },
+ [_Bu, _O, _CTon, _P2],
+ [[() => Buckets, 0], () => Owner$, 0, 0]
+ ];
+ var ListBucketsRequest$ = [
+ 3,
+ n05,
+ _LBR,
+ 0,
+ [_MB, _CTon, _P2, _BR],
+ [[1, { [_hQ2]: _mb }], [0, { [_hQ2]: _ct }], [0, { [_hQ2]: _p }], [0, { [_hQ2]: _br }]]
+ ];
+ var ListDirectoryBucketsOutput$ = [
+ 3,
+ n05,
+ _LDBO,
+ { [_xN]: _LAMDBR },
+ [_Bu, _CTon],
+ [[() => Buckets, 0], 0]
+ ];
+ var ListDirectoryBucketsRequest$ = [
+ 3,
+ n05,
+ _LDBR,
+ 0,
+ [_CTon, _MDB],
+ [[0, { [_hQ2]: _ct }], [1, { [_hQ2]: _mdb }]]
+ ];
+ var ListMultipartUploadsOutput$ = [
+ 3,
+ n05,
+ _LMUO,
+ { [_xN]: _LMUR },
+ [_B, _KM, _UIM, _NKM, _P2, _Deli, _NUIM, _MUa, _IT2, _U, _CPom, _ETnc, _RC2],
+ [0, 0, 0, 0, 0, 0, 0, 1, 2, [() => MultipartUploadList, { [_xF]: 1, [_xN]: _Up }], [() => CommonPrefixList, { [_xF]: 1 }], 0, [0, { [_hH2]: _xarc }]]
+ ];
+ var ListMultipartUploadsRequest$ = [
+ 3,
+ n05,
+ _LMURi,
+ 0,
+ [_B, _Deli, _ETnc, _KM, _MUa, _P2, _UIM, _EBO, _RP],
+ [[0, 1], [0, { [_hQ2]: _d }], [0, { [_hQ2]: _et }], [0, { [_hQ2]: _km }], [1, { [_hQ2]: _mu }], [0, { [_hQ2]: _p }], [0, { [_hQ2]: _uim }], [0, { [_hH2]: _xaebo }], [0, { [_hH2]: _xarp }]],
+ 1
+ ];
+ var ListObjectAnnotationsOutput$ = [
+ 3,
+ n05,
+ _LOAO,
+ 0,
+ [_Ann, _B, _K2, _OVI, _APn, _MAR, _ACnn, _CTon, _NCT, _RC2],
+ [[() => AnnotationList, 0], 0, 0, [0, { [_hH2]: _xaovi }], 0, 1, 1, 0, 0, [0, { [_hH2]: _xarc }]]
+ ];
+ var ListObjectAnnotationsRequest$ = [
+ 3,
+ n05,
+ _LOAR,
+ 0,
+ [_B, _K2, _VI, _MAR, _APn, _CTon, _RP, _EBO],
+ [[0, 1], [0, 1], [0, { [_hQ2]: _vI }], [1, { [_hQ2]: _mar }], [0, { [_hQ2]: _ap }], [0, { [_hQ2]: _ct }], [0, { [_hH2]: _xarp }], [0, { [_hH2]: _xaebo }]],
+ 2
+ ];
+ var ListObjectsOutput$ = [
+ 3,
+ n05,
+ _LOO,
+ { [_xN]: _LBRi },
+ [_IT2, _Ma, _NM, _Con, _N, _P2, _Deli, _MK, _CPom, _ETnc, _RC2],
+ [2, 0, 0, [() => ObjectList, { [_xF]: 1 }], 0, 0, 0, 1, [() => CommonPrefixList, { [_xF]: 1 }], 0, [0, { [_hH2]: _xarc }]]
+ ];
+ var ListObjectsRequest$ = [
+ 3,
+ n05,
+ _LOR,
+ 0,
+ [_B, _Deli, _ETnc, _Ma, _MK, _P2, _RP, _EBO, _OOA],
+ [[0, 1], [0, { [_hQ2]: _d }], [0, { [_hQ2]: _et }], [0, { [_hQ2]: _m4 }], [1, { [_hQ2]: _mk }], [0, { [_hQ2]: _p }], [0, { [_hH2]: _xarp }], [0, { [_hH2]: _xaebo }], [64 | 0, { [_hH2]: _xaooa }]],
+ 1
+ ];
+ var ListObjectsV2Output$ = [
+ 3,
+ n05,
+ _LOVO,
+ { [_xN]: _LBRi },
+ [_IT2, _Con, _N, _P2, _Deli, _MK, _CPom, _ETnc, _KC, _CTon, _NCT, _SA, _RC2],
+ [2, [() => ObjectList, { [_xF]: 1 }], 0, 0, 0, 1, [() => CommonPrefixList, { [_xF]: 1 }], 0, 1, 0, 0, 0, [0, { [_hH2]: _xarc }]]
+ ];
+ var ListObjectsV2Request$ = [
+ 3,
+ n05,
+ _LOVR,
+ 0,
+ [_B, _Deli, _ETnc, _MK, _P2, _CTon, _FO, _SA, _RP, _EBO, _OOA],
+ [[0, 1], [0, { [_hQ2]: _d }], [0, { [_hQ2]: _et }], [1, { [_hQ2]: _mk }], [0, { [_hQ2]: _p }], [0, { [_hQ2]: _ct }], [2, { [_hQ2]: _fo }], [0, { [_hQ2]: _sa }], [0, { [_hH2]: _xarp }], [0, { [_hH2]: _xaebo }], [64 | 0, { [_hH2]: _xaooa }]],
+ 1
+ ];
+ var ListObjectVersionsOutput$ = [
+ 3,
+ n05,
+ _LOVOi,
+ { [_xN]: _LVR },
+ [_IT2, _KM, _VIM, _NKM, _NVIM, _Ve, _DMe, _N, _P2, _Deli, _MK, _CPom, _ETnc, _RC2],
+ [2, 0, 0, 0, 0, [() => ObjectVersionList, { [_xF]: 1, [_xN]: _Ver }], [() => DeleteMarkers, { [_xF]: 1, [_xN]: _DM }], 0, 0, 0, 1, [() => CommonPrefixList, { [_xF]: 1 }], 0, [0, { [_hH2]: _xarc }]]
+ ];
+ var ListObjectVersionsRequest$ = [
+ 3,
+ n05,
+ _LOVRi,
+ 0,
+ [_B, _Deli, _ETnc, _KM, _MK, _P2, _VIM, _EBO, _RP, _OOA],
+ [[0, 1], [0, { [_hQ2]: _d }], [0, { [_hQ2]: _et }], [0, { [_hQ2]: _km }], [1, { [_hQ2]: _mk }], [0, { [_hQ2]: _p }], [0, { [_hQ2]: _vim }], [0, { [_hH2]: _xaebo }], [0, { [_hH2]: _xarp }], [64 | 0, { [_hH2]: _xaooa }]],
+ 1
+ ];
+ var ListPartsOutput$ = [
+ 3,
+ n05,
+ _LPO,
+ { [_xN]: _LPR },
+ [_ADb, _ARI2, _B, _K2, _UI, _PNM, _NPNM, _MP, _IT2, _Pa, _In, _O, _SC, _RC2, _CA2, _CT2],
+ [[4, { [_hH2]: _xaad }], [0, { [_hH2]: _xaari }], 0, 0, 0, 0, 0, 1, 2, [() => Parts, { [_xF]: 1, [_xN]: _Par }], () => Initiator$, () => Owner$, 0, [0, { [_hH2]: _xarc }], 0, 0]
+ ];
+ var ListPartsRequest$ = [
+ 3,
+ n05,
+ _LPRi,
+ 0,
+ [_B, _K2, _UI, _MP, _PNM, _RP, _EBO, _SSECA, _SSECK, _SSECKMD],
+ [[0, 1], [0, 1], [0, { [_hQ2]: _uI }], [1, { [_hQ2]: _mp }], [0, { [_hQ2]: _pnm }], [0, { [_hH2]: _xarp }], [0, { [_hH2]: _xaebo }], [0, { [_hH2]: _xasseca }], [() => SSECustomerKey, { [_hH2]: _xasseck }], [0, { [_hH2]: _xasseckM }]],
+ 3
+ ];
+ var LocationInfo$ = [
+ 3,
+ n05,
+ _LI,
+ 0,
+ [_Ty, _N],
+ [0, 0]
+ ];
+ var LoggingEnabled$ = [
+ 3,
+ n05,
+ _LE,
+ 0,
+ [_TB, _TP, _TG, _TOKF],
+ [0, 0, [() => TargetGrants, 0], [() => TargetObjectKeyFormat$, 0]],
+ 2
+ ];
+ var MetadataConfiguration$ = [
+ 3,
+ n05,
+ _MC,
+ 0,
+ [_JTC, _ITCn, _ATC],
+ [() => JournalTableConfiguration$, () => InventoryTableConfiguration$, () => AnnotationTableConfiguration$],
+ 1
+ ];
+ var MetadataConfigurationResult$ = [
+ 3,
+ n05,
+ _MCR,
+ 0,
+ [_DRes, _JTCR, _ITCR, _ATCR],
+ [() => DestinationResult$, () => JournalTableConfigurationResult$, () => InventoryTableConfigurationResult$, () => AnnotationTableConfigurationResult$],
+ 1
+ ];
+ var MetadataEntry$ = [
+ 3,
+ n05,
+ _ME,
+ 0,
+ [_N, _V2],
+ [0, 0]
+ ];
+ var MetadataTableConfiguration$ = [
+ 3,
+ n05,
+ _MTC,
+ 0,
+ [_STD],
+ [() => S3TablesDestination$],
+ 1
+ ];
+ var MetadataTableConfigurationResult$ = [
+ 3,
+ n05,
+ _MTCR,
+ 0,
+ [_STDR],
+ [() => S3TablesDestinationResult$],
+ 1
+ ];
+ var MetadataTableEncryptionConfiguration$ = [
+ 3,
+ n05,
+ _MTEC,
+ 0,
+ [_SAs, _KKA],
+ [0, 0],
+ 1
+ ];
+ var Metrics$ = [
+ 3,
+ n05,
+ _Me,
+ 0,
+ [_S, _ETv],
+ [0, () => ReplicationTimeValue$],
+ 1
+ ];
+ var MetricsAndOperator$ = [
+ 3,
+ n05,
+ _MAO,
+ 0,
+ [_P2, _T2, _APAc],
+ [0, [() => TagSet, { [_xF]: 1, [_xN]: _Ta2 }], 0]
+ ];
+ var MetricsConfiguration$ = [
+ 3,
+ n05,
+ _MCe,
+ 0,
+ [_I, _F],
+ [0, [() => MetricsFilter$, 0]],
+ 1
+ ];
+ var MultipartUpload$ = [
+ 3,
+ n05,
+ _MU,
+ 0,
+ [_UI, _K2, _Ini, _SC, _O, _In, _CA2, _CT2],
+ [0, 0, 4, 0, () => Owner$, () => Initiator$, 0, 0]
+ ];
+ var NoncurrentVersionExpiration$ = [
+ 3,
+ n05,
+ _NVE,
+ 0,
+ [_ND, _NNV],
+ [1, 1]
+ ];
+ var NoncurrentVersionTransition$ = [
+ 3,
+ n05,
+ _NVTo,
+ 0,
+ [_ND, _SC, _NNV],
+ [1, 0, 1]
+ ];
+ var NotificationConfiguration$ = [
+ 3,
+ n05,
+ _NC,
+ 0,
+ [_TCo, _QCu, _LFCa, _EBC],
+ [[() => TopicConfigurationList, { [_xF]: 1, [_xN]: _TCop }], [() => QueueConfigurationList, { [_xF]: 1, [_xN]: _QCue }], [() => LambdaFunctionConfigurationList, { [_xF]: 1, [_xN]: _CFC }], () => EventBridgeConfiguration$]
+ ];
+ var NotificationConfigurationFilter$ = [
+ 3,
+ n05,
+ _NCF,
+ 0,
+ [_K2],
+ [[() => S3KeyFilter$, { [_xN]: _SKe }]]
+ ];
+ var _Object$ = [
+ 3,
+ n05,
+ _Obj,
+ 0,
+ [_K2, _LM, _ET, _CA2, _CT2, _Si, _SC, _O, _RSe],
+ [0, 4, 0, [64 | 0, { [_xF]: 1 }], 0, 1, 0, () => Owner$, () => RestoreStatus$]
+ ];
+ var ObjectIdentifier$ = [
+ 3,
+ n05,
+ _OI,
+ 0,
+ [_K2, _VI, _ET, _LMT, _Si],
+ [0, 0, 0, 6, 1],
+ 1
+ ];
+ var ObjectLockConfiguration$ = [
+ 3,
+ n05,
+ _OLC,
+ 0,
+ [_OLE, _Rul],
+ [0, () => ObjectLockRule$]
+ ];
+ var ObjectLockLegalHold$ = [
+ 3,
+ n05,
+ _OLLH,
+ 0,
+ [_S],
+ [0]
+ ];
+ var ObjectLockRetention$ = [
+ 3,
+ n05,
+ _OLR,
+ 0,
+ [_Mo, _RUD, _EHv, _EHD],
+ [0, 5, 0, () => EventHoldDuration$]
+ ];
+ var ObjectLockRule$ = [
+ 3,
+ n05,
+ _OLRb,
+ 0,
+ [_DRe],
+ [() => DefaultRetention$]
+ ];
+ var ObjectPart$ = [
+ 3,
+ n05,
+ _OPb,
+ 0,
+ [_PN, _Si, _CCRC, _CCRCC, _CCRCNVME, _CSHA, _CSHAh, _CSHAhe, _CMD, _CXXHASH, _CXXHASHh, _CXXHASHhe],
+ [1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]
+ ];
+ var ObjectVersion$ = [
+ 3,
+ n05,
+ _OV,
+ 0,
+ [_ET, _CA2, _CT2, _Si, _SC, _K2, _VI, _IL, _LM, _O, _RSe],
+ [0, [64 | 0, { [_xF]: 1 }], 0, 1, 0, 0, 0, 2, 4, () => Owner$, () => RestoreStatus$]
+ ];
+ var OutputLocation$ = [
+ 3,
+ n05,
+ _OL,
+ 0,
+ [_S_],
+ [[() => S3Location$, 0]]
+ ];
+ var OutputSerialization$ = [
+ 3,
+ n05,
+ _OSu,
+ 0,
+ [_CSV, _JSON],
+ [() => CSVOutput$, () => JSONOutput$]
+ ];
+ var Owner$ = [
+ 3,
+ n05,
+ _O,
+ 0,
+ [_DN, _ID],
+ [0, 0]
+ ];
+ var OwnershipControls$ = [
+ 3,
+ n05,
+ _OC,
+ 0,
+ [_Ru],
+ [[() => OwnershipControlsRules, { [_xF]: 1, [_xN]: _Rul }]],
+ 1
+ ];
+ var OwnershipControlsRule$ = [
+ 3,
+ n05,
+ _OCR,
+ 0,
+ [_OO],
+ [0],
+ 1
+ ];
+ var ParquetInput$ = [
+ 3,
+ n05,
+ _PI2,
+ 0,
+ [],
+ []
+ ];
+ var Part$ = [
+ 3,
+ n05,
+ _Par,
+ 0,
+ [_PN, _LM, _ET, _Si, _CCRC, _CCRCC, _CCRCNVME, _CSHA, _CSHAh, _CSHAhe, _CMD, _CXXHASH, _CXXHASHh, _CXXHASHhe],
+ [1, 4, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]
+ ];
+ var PartitionedPrefix$ = [
+ 3,
+ n05,
+ _PP,
+ { [_xN]: _PP },
+ [_PDS],
+ [0]
+ ];
+ var PolicyStatus$ = [
+ 3,
+ n05,
+ _PS,
+ 0,
+ [_IPs],
+ [[2, { [_xN]: _IPs }]]
+ ];
+ var Progress$ = [
+ 3,
+ n05,
+ _Pr2,
+ 0,
+ [_BS, _BP, _BRy],
+ [1, 1, 1]
+ ];
+ var ProgressEvent$ = [
+ 3,
+ n05,
+ _PE,
+ 0,
+ [_Det],
+ [[() => Progress$, { [_eP]: 1 }]]
+ ];
+ var PublicAccessBlockConfiguration$ = [
+ 3,
+ n05,
+ _PABC,
+ 0,
+ [_BPA, _IPA, _BPP, _RPB],
+ [[2, { [_xN]: _BPA }], [2, { [_xN]: _IPA }], [2, { [_xN]: _BPP }], [2, { [_xN]: _RPB }]]
+ ];
+ var PutBucketAbacRequest$ = [
+ 3,
+ n05,
+ _PBAR,
+ 0,
+ [_B, _AS, _CMDo, _CA2, _EBO],
+ [[0, 1], [() => AbacStatus$, { [_hP]: 1, [_xN]: _AS }], [0, { [_hH2]: _CM }], [0, { [_hH2]: _xasca }], [0, { [_hH2]: _xaebo }]],
+ 2
+ ];
+ var PutBucketAccelerateConfigurationRequest$ = [
+ 3,
+ n05,
+ _PBACR,
+ 0,
+ [_B, _AC, _EBO, _CA2],
+ [[0, 1], [() => AccelerateConfiguration$, { [_hP]: 1, [_xN]: _AC }], [0, { [_hH2]: _xaebo }], [0, { [_hH2]: _xasca }]],
+ 2
+ ];
+ var PutBucketAclRequest$ = [
+ 3,
+ n05,
+ _PBARu,
+ 0,
+ [_B, _ACL_, _ACP, _CMDo, _CA2, _GFC, _GR, _GRACP, _GW, _GWACP, _EBO],
+ [[0, 1], [0, { [_hH2]: _xaa }], [() => AccessControlPolicy$, { [_hP]: 1, [_xN]: _ACP }], [0, { [_hH2]: _CM }], [0, { [_hH2]: _xasca }], [0, { [_hH2]: _xagfc }], [0, { [_hH2]: _xagr }], [0, { [_hH2]: _xagra }], [0, { [_hH2]: _xagw }], [0, { [_hH2]: _xagwa }], [0, { [_hH2]: _xaebo }]],
+ 1
+ ];
+ var PutBucketAnalyticsConfigurationRequest$ = [
+ 3,
+ n05,
+ _PBACRu,
+ 0,
+ [_B, _I, _ACn, _EBO],
+ [[0, 1], [0, { [_hQ2]: _i }], [() => AnalyticsConfiguration$, { [_hP]: 1, [_xN]: _ACn }], [0, { [_hH2]: _xaebo }]],
+ 3
+ ];
+ var PutBucketCorsRequest$ = [
+ 3,
+ n05,
+ _PBCR,
+ 0,
+ [_B, _CORSC, _CMDo, _CA2, _EBO],
+ [[0, 1], [() => CORSConfiguration$, { [_hP]: 1, [_xN]: _CORSC }], [0, { [_hH2]: _CM }], [0, { [_hH2]: _xasca }], [0, { [_hH2]: _xaebo }]],
+ 2
+ ];
+ var PutBucketEncryptionRequest$ = [
+ 3,
+ n05,
+ _PBER,
+ 0,
+ [_B, _SSEC, _CMDo, _CA2, _EBO],
+ [[0, 1], [() => ServerSideEncryptionConfiguration$, { [_hP]: 1, [_xN]: _SSEC }], [0, { [_hH2]: _CM }], [0, { [_hH2]: _xasca }], [0, { [_hH2]: _xaebo }]],
+ 2
+ ];
+ var PutBucketIntelligentTieringConfigurationRequest$ = [
+ 3,
+ n05,
+ _PBITCR,
+ 0,
+ [_B, _I, _ITC, _EBO],
+ [[0, 1], [0, { [_hQ2]: _i }], [() => IntelligentTieringConfiguration$, { [_hP]: 1, [_xN]: _ITC }], [0, { [_hH2]: _xaebo }]],
+ 3
+ ];
+ var PutBucketInventoryConfigurationRequest$ = [
+ 3,
+ n05,
+ _PBICR,
+ 0,
+ [_B, _I, _IC, _EBO],
+ [[0, 1], [0, { [_hQ2]: _i }], [() => InventoryConfiguration$, { [_hP]: 1, [_xN]: _IC }], [0, { [_hH2]: _xaebo }]],
+ 3
+ ];
+ var PutBucketLifecycleConfigurationOutput$ = [
+ 3,
+ n05,
+ _PBLCO,
+ 0,
+ [_TDMOS],
+ [[0, { [_hH2]: _xatdmos }]]
+ ];
+ var PutBucketLifecycleConfigurationRequest$ = [
+ 3,
+ n05,
+ _PBLCR,
+ 0,
+ [_B, _CA2, _LCi, _EBO, _TDMOS],
+ [[0, 1], [0, { [_hH2]: _xasca }], [() => BucketLifecycleConfiguration$, { [_hP]: 1, [_xN]: _LCi }], [0, { [_hH2]: _xaebo }], [0, { [_hH2]: _xatdmos }]],
+ 1
+ ];
+ var PutBucketLoggingRequest$ = [
+ 3,
+ n05,
+ _PBLR,
+ 0,
+ [_B, _BLS, _CMDo, _CA2, _EBO],
+ [[0, 1], [() => BucketLoggingStatus$, { [_hP]: 1, [_xN]: _BLS }], [0, { [_hH2]: _CM }], [0, { [_hH2]: _xasca }], [0, { [_hH2]: _xaebo }]],
+ 2
+ ];
+ var PutBucketMetricsConfigurationRequest$ = [
+ 3,
+ n05,
+ _PBMCR,
+ 0,
+ [_B, _I, _MCe, _EBO],
+ [[0, 1], [0, { [_hQ2]: _i }], [() => MetricsConfiguration$, { [_hP]: 1, [_xN]: _MCe }], [0, { [_hH2]: _xaebo }]],
+ 3
+ ];
+ var PutBucketNotificationConfigurationRequest$ = [
+ 3,
+ n05,
+ _PBNCR,
+ 0,
+ [_B, _NC, _EBO, _SDV],
+ [[0, 1], [() => NotificationConfiguration$, { [_hP]: 1, [_xN]: _NC }], [0, { [_hH2]: _xaebo }], [2, { [_hH2]: _xasdv }]],
+ 2
+ ];
+ var PutBucketOwnershipControlsRequest$ = [
+ 3,
+ n05,
+ _PBOCR,
+ 0,
+ [_B, _OC, _CMDo, _EBO, _CA2],
+ [[0, 1], [() => OwnershipControls$, { [_hP]: 1, [_xN]: _OC }], [0, { [_hH2]: _CM }], [0, { [_hH2]: _xaebo }], [0, { [_hH2]: _xasca }]],
+ 2
+ ];
+ var PutBucketPolicyRequest$ = [
+ 3,
+ n05,
+ _PBPR,
+ 0,
+ [_B, _Po, _CMDo, _CA2, _CRSBA, _EBO],
+ [[0, 1], [0, 16], [0, { [_hH2]: _CM }], [0, { [_hH2]: _xasca }], [2, { [_hH2]: _xacrsba }], [0, { [_hH2]: _xaebo }]],
+ 2
+ ];
+ var PutBucketReplicationRequest$ = [
+ 3,
+ n05,
+ _PBRR,
+ 0,
+ [_B, _RCe, _CMDo, _CA2, _To, _EBO],
+ [[0, 1], [() => ReplicationConfiguration$, { [_hP]: 1, [_xN]: _RCe }], [0, { [_hH2]: _CM }], [0, { [_hH2]: _xasca }], [0, { [_hH2]: _xabolt }], [0, { [_hH2]: _xaebo }]],
+ 2
+ ];
+ var PutBucketRequestPaymentRequest$ = [
+ 3,
+ n05,
+ _PBRPR,
+ 0,
+ [_B, _RPC, _CMDo, _CA2, _EBO],
+ [[0, 1], [() => RequestPaymentConfiguration$, { [_hP]: 1, [_xN]: _RPC }], [0, { [_hH2]: _CM }], [0, { [_hH2]: _xasca }], [0, { [_hH2]: _xaebo }]],
+ 2
+ ];
+ var PutBucketTaggingRequest$ = [
+ 3,
+ n05,
+ _PBTR,
+ 0,
+ [_B, _Tag, _CMDo, _CA2, _EBO],
+ [[0, 1], [() => Tagging$, { [_hP]: 1, [_xN]: _Tag }], [0, { [_hH2]: _CM }], [0, { [_hH2]: _xasca }], [0, { [_hH2]: _xaebo }]],
+ 2
+ ];
+ var PutBucketVersioningRequest$ = [
+ 3,
+ n05,
+ _PBVR,
+ 0,
+ [_B, _VC, _CMDo, _CA2, _MFA, _EBO],
+ [[0, 1], [() => VersioningConfiguration$, { [_hP]: 1, [_xN]: _VC }], [0, { [_hH2]: _CM }], [0, { [_hH2]: _xasca }], [0, { [_hH2]: _xam_ }], [0, { [_hH2]: _xaebo }]],
+ 2
+ ];
+ var PutBucketWebsiteRequest$ = [
+ 3,
+ n05,
+ _PBWR,
+ 0,
+ [_B, _WC, _CMDo, _CA2, _EBO],
+ [[0, 1], [() => WebsiteConfiguration$, { [_hP]: 1, [_xN]: _WC }], [0, { [_hH2]: _CM }], [0, { [_hH2]: _xasca }], [0, { [_hH2]: _xaebo }]],
+ 2
+ ];
+ var PutObjectAclOutput$ = [
+ 3,
+ n05,
+ _POAO,
+ 0,
+ [_RC2],
+ [[0, { [_hH2]: _xarc }]]
+ ];
+ var PutObjectAclRequest$ = [
+ 3,
+ n05,
+ _POAR,
+ 0,
+ [_B, _K2, _ACL_, _ACP, _CMDo, _CA2, _GFC, _GR, _GRACP, _GW, _GWACP, _RP, _VI, _EBO],
+ [[0, 1], [0, 1], [0, { [_hH2]: _xaa }], [() => AccessControlPolicy$, { [_hP]: 1, [_xN]: _ACP }], [0, { [_hH2]: _CM }], [0, { [_hH2]: _xasca }], [0, { [_hH2]: _xagfc }], [0, { [_hH2]: _xagr }], [0, { [_hH2]: _xagra }], [0, { [_hH2]: _xagw }], [0, { [_hH2]: _xagwa }], [0, { [_hH2]: _xarp }], [0, { [_hQ2]: _vI }], [0, { [_hH2]: _xaebo }]],
+ 2
+ ];
+ var PutObjectAnnotationOutput$ = [
+ 3,
+ n05,
+ _POAOu,
+ 0,
+ [_K2, _AN, _OVI, _ET, _CCRC, _CCRCC, _CCRCNVME, _CSHA, _CSHAh, _CSHAhe, _CMD, _CXXHASH, _CXXHASHh, _CXXHASHhe, _CT2, _SSE, _RC2],
+ [0, 0, [0, { [_hH2]: _xaovi }], [0, { [_hH2]: _ET }], [0, { [_hH2]: _xacc }], [0, { [_hH2]: _xacc_ }], [0, { [_hH2]: _xacc__ }], [0, { [_hH2]: _xacs }], [0, { [_hH2]: _xacs_ }], [0, { [_hH2]: _xacs__ }], [0, { [_hH2]: _xacm }], [0, { [_hH2]: _xacx }], [0, { [_hH2]: _xacx_ }], [0, { [_hH2]: _xacx__ }], [0, { [_hH2]: _xact }], [0, { [_hH2]: _xasse }], [0, { [_hH2]: _xarc }]]
+ ];
+ var PutObjectAnnotationRequest$ = [
+ 3,
+ n05,
+ _POARu,
+ 0,
+ [_B, _K2, _AN, _AP, _VI, _OIM, _CA2, _CCRC, _CCRCC, _CCRCNVME, _CSHA, _CSHAh, _CSHAhe, _CMD, _CXXHASH, _CXXHASHh, _CXXHASHhe, _CMDo, _RP, _EBO],
+ [[0, 1], [0, 1], [0, { [_hQ2]: _aN }], [() => StreamingBlob, 16], [0, { [_hQ2]: _vI }], [0, { [_hH2]: _xaoim }], [0, { [_hH2]: _xasca }], [0, { [_hH2]: _xacc }], [0, { [_hH2]: _xacc_ }], [0, { [_hH2]: _xacc__ }], [0, { [_hH2]: _xacs }], [0, { [_hH2]: _xacs_ }], [0, { [_hH2]: _xacs__ }], [0, { [_hH2]: _xacm }], [0, { [_hH2]: _xacx }], [0, { [_hH2]: _xacx_ }], [0, { [_hH2]: _xacx__ }], [0, { [_hH2]: _CM }], [0, { [_hH2]: _xarp }], [0, { [_hH2]: _xaebo }]],
+ 4
+ ];
+ var PutObjectLegalHoldOutput$ = [
+ 3,
+ n05,
+ _POLHO,
+ 0,
+ [_RC2],
+ [[0, { [_hH2]: _xarc }]]
+ ];
+ var PutObjectLegalHoldRequest$ = [
+ 3,
+ n05,
+ _POLHR,
+ 0,
+ [_B, _K2, _LH, _RP, _VI, _CMDo, _CA2, _EBO],
+ [[0, 1], [0, 1], [() => ObjectLockLegalHold$, { [_hP]: 1, [_xN]: _LH }], [0, { [_hH2]: _xarp }], [0, { [_hQ2]: _vI }], [0, { [_hH2]: _CM }], [0, { [_hH2]: _xasca }], [0, { [_hH2]: _xaebo }]],
+ 2
+ ];
+ var PutObjectLockConfigurationOutput$ = [
+ 3,
+ n05,
+ _POLCO,
+ 0,
+ [_RC2],
+ [[0, { [_hH2]: _xarc }]]
+ ];
+ var PutObjectLockConfigurationRequest$ = [
+ 3,
+ n05,
+ _POLCR,
+ 0,
+ [_B, _OLC, _RP, _To, _CMDo, _CA2, _EBO],
+ [[0, 1], [() => ObjectLockConfiguration$, { [_hP]: 1, [_xN]: _OLC }], [0, { [_hH2]: _xarp }], [0, { [_hH2]: _xabolt }], [0, { [_hH2]: _CM }], [0, { [_hH2]: _xasca }], [0, { [_hH2]: _xaebo }]],
+ 1
+ ];
+ var PutObjectOutput$ = [
+ 3,
+ n05,
+ _POO,
+ 0,
+ [_Ex, _ET, _CCRC, _CCRCC, _CCRCNVME, _CSHA, _CSHAh, _CSHAhe, _CMD, _CXXHASH, _CXXHASHh, _CXXHASHhe, _CT2, _SSE, _VI, _SSECA, _SSECKMD, _SSEKMSKI, _SSEKMSEC, _BKE, _Si, _RC2],
+ [[0, { [_hH2]: _xae }], [0, { [_hH2]: _ET }], [0, { [_hH2]: _xacc }], [0, { [_hH2]: _xacc_ }], [0, { [_hH2]: _xacc__ }], [0, { [_hH2]: _xacs }], [0, { [_hH2]: _xacs_ }], [0, { [_hH2]: _xacs__ }], [0, { [_hH2]: _xacm }], [0, { [_hH2]: _xacx }], [0, { [_hH2]: _xacx_ }], [0, { [_hH2]: _xacx__ }], [0, { [_hH2]: _xact }], [0, { [_hH2]: _xasse }], [0, { [_hH2]: _xavi }], [0, { [_hH2]: _xasseca }], [0, { [_hH2]: _xasseckM }], [() => SSEKMSKeyId, { [_hH2]: _xasseakki }], [() => SSEKMSEncryptionContext, { [_hH2]: _xassec }], [2, { [_hH2]: _xassebke }], [1, { [_hH2]: _xaos }], [0, { [_hH2]: _xarc }]]
+ ];
+ var PutObjectRequest$ = [
+ 3,
+ n05,
+ _POR,
+ 0,
+ [_B, _K2, _ACL_, _Bo, _CC, _CDo, _CEo, _CL, _CLo, _CMDo, _CTo, _CA2, _CCRC, _CCRCC, _CCRCNVME, _CSHA, _CSHAh, _CSHAhe, _CMD, _CXXHASH, _CXXHASHh, _CXXHASHhe, _Exp, _IM, _INM, _GFC, _GR, _GRACP, _GWACP, _WOB, _M, _SSE, _SC, _WRL, _SSECA, _SSECK, _SSECKMD, _SSEKMSKI, _SSEKMSEC, _BKE, _RP, _Tag, _OLM, _OLRUD, _OLLHS, _OLEH, _OLEHDD, _OLEHDY, _EBO],
+ [[0, 1], [0, 1], [0, { [_hH2]: _xaa }], [() => StreamingBlob, 16], [0, { [_hH2]: _CC_ }], [0, { [_hH2]: _CD_ }], [0, { [_hH2]: _CE_ }], [0, { [_hH2]: _CL_ }], [1, { [_hH2]: _CL__ }], [0, { [_hH2]: _CM }], [0, { [_hH2]: _CT_ }], [0, { [_hH2]: _xasca }], [0, { [_hH2]: _xacc }], [0, { [_hH2]: _xacc_ }], [0, { [_hH2]: _xacc__ }], [0, { [_hH2]: _xacs }], [0, { [_hH2]: _xacs_ }], [0, { [_hH2]: _xacs__ }], [0, { [_hH2]: _xacm }], [0, { [_hH2]: _xacx }], [0, { [_hH2]: _xacx_ }], [0, { [_hH2]: _xacx__ }], [4, { [_hH2]: _Exp }], [0, { [_hH2]: _IM_ }], [0, { [_hH2]: _INM_ }], [0, { [_hH2]: _xagfc }], [0, { [_hH2]: _xagr }], [0, { [_hH2]: _xagra }], [0, { [_hH2]: _xagwa }], [1, { [_hH2]: _xawob }], [128 | 0, { [_hPH]: _xam }], [0, { [_hH2]: _xasse }], [0, { [_hH2]: _xasc }], [0, { [_hH2]: _xawrl }], [0, { [_hH2]: _xasseca }], [() => SSECustomerKey, { [_hH2]: _xasseck }], [0, { [_hH2]: _xasseckM }], [() => SSEKMSKeyId, { [_hH2]: _xasseakki }], [() => SSEKMSEncryptionContext, { [_hH2]: _xassec }], [2, { [_hH2]: _xassebke }], [0, { [_hH2]: _xarp }], [0, { [_hH2]: _xat }], [0, { [_hH2]: _xaolm }], [5, { [_hH2]: _xaolrud }], [0, { [_hH2]: _xaollh }], [0, { [_hH2]: _xaoleh }], [1, { [_hH2]: _xaolehdd }], [1, { [_hH2]: _xaolehdy }], [0, { [_hH2]: _xaebo }]],
+ 2
+ ];
+ var PutObjectRetentionOutput$ = [
+ 3,
+ n05,
+ _PORO,
+ 0,
+ [_RC2],
+ [[0, { [_hH2]: _xarc }]]
+ ];
+ var PutObjectRetentionRequest$ = [
+ 3,
+ n05,
+ _PORR,
+ 0,
+ [_B, _K2, _Ret, _RP, _VI, _BGR, _CMDo, _CA2, _EBO],
+ [[0, 1], [0, 1], [() => ObjectLockRetention$, { [_hP]: 1, [_xN]: _Ret }], [0, { [_hH2]: _xarp }], [0, { [_hQ2]: _vI }], [2, { [_hH2]: _xabgr }], [0, { [_hH2]: _CM }], [0, { [_hH2]: _xasca }], [0, { [_hH2]: _xaebo }]],
+ 2
+ ];
+ var PutObjectTaggingOutput$ = [
+ 3,
+ n05,
+ _POTO,
+ 0,
+ [_VI],
+ [[0, { [_hH2]: _xavi }]]
+ ];
+ var PutObjectTaggingRequest$ = [
+ 3,
+ n05,
+ _POTR,
+ 0,
+ [_B, _K2, _Tag, _VI, _CMDo, _CA2, _EBO, _RP],
+ [[0, 1], [0, 1], [() => Tagging$, { [_hP]: 1, [_xN]: _Tag }], [0, { [_hQ2]: _vI }], [0, { [_hH2]: _CM }], [0, { [_hH2]: _xasca }], [0, { [_hH2]: _xaebo }], [0, { [_hH2]: _xarp }]],
+ 3
+ ];
+ var PutPublicAccessBlockRequest$ = [
+ 3,
+ n05,
+ _PPABR,
+ 0,
+ [_B, _PABC, _CMDo, _CA2, _EBO],
+ [[0, 1], [() => PublicAccessBlockConfiguration$, { [_hP]: 1, [_xN]: _PABC }], [0, { [_hH2]: _CM }], [0, { [_hH2]: _xasca }], [0, { [_hH2]: _xaebo }]],
+ 2
+ ];
+ var QueueConfiguration$ = [
+ 3,
+ n05,
+ _QCue,
+ 0,
+ [_QA, _Ev, _I, _F],
+ [[0, { [_xN]: _Qu }], [64 | 0, { [_xF]: 1, [_xN]: _Eve }], 0, [() => NotificationConfigurationFilter$, 0]],
+ 2
+ ];
+ var RecordExpiration$ = [
+ 3,
+ n05,
+ _REe,
+ 0,
+ [_Ex, _D],
+ [0, 1],
+ 1
+ ];
+ var RecordsEvent$ = [
+ 3,
+ n05,
+ _REec,
+ 0,
+ [_Payl],
+ [[21, { [_eP]: 1 }]]
+ ];
+ var Redirect$ = [
+ 3,
+ n05,
+ _Red,
+ 0,
+ [_HN, _HRC, _Pro, _RKPW, _RKW],
+ [0, 0, 0, 0, 0]
+ ];
+ var RedirectAllRequestsTo$ = [
+ 3,
+ n05,
+ _RART,
+ 0,
+ [_HN, _Pro],
+ [0, 0],
+ 1
+ ];
+ var RenameObjectOutput$ = [
+ 3,
+ n05,
+ _ROO,
+ 0,
+ [],
+ []
+ ];
+ var RenameObjectRequest$ = [
+ 3,
+ n05,
+ _ROR,
+ 0,
+ [_B, _K2, _RSen, _DIM, _DINM, _DIMS, _DIUS, _SIM, _SINM, _SIMS, _SIUS, _CTl],
+ [[0, 1], [0, 1], [0, { [_hH2]: _xars_ }], [0, { [_hH2]: _IM_ }], [0, { [_hH2]: _INM_ }], [4, { [_hH2]: _IMS_ }], [4, { [_hH2]: _IUS_ }], [0, { [_hH2]: _xarsim }], [0, { [_hH2]: _xarsinm }], [6, { [_hH2]: _xarsims }], [6, { [_hH2]: _xarsius }], [0, { [_hH2]: _xact_, [_iT3]: 1 }]],
+ 3
+ ];
+ var ReplicaModifications$ = [
+ 3,
+ n05,
+ _RM,
+ 0,
+ [_S],
+ [0],
+ 1
+ ];
+ var ReplicationConfiguration$ = [
+ 3,
+ n05,
+ _RCe,
+ 0,
+ [_R, _Ru],
+ [0, [() => ReplicationRules, { [_xF]: 1, [_xN]: _Rul }]],
+ 2
+ ];
+ var ReplicationRule$ = [
+ 3,
+ n05,
+ _RRe,
+ 0,
+ [_S, _Des, _ID, _Pri, _P2, _F, _SSC, _EOR, _DMR],
+ [0, () => Destination$, 0, 1, 0, [() => ReplicationRuleFilter$, 0], () => SourceSelectionCriteria$, () => ExistingObjectReplication$, () => DeleteMarkerReplication$],
+ 2
+ ];
+ var ReplicationRuleAndOperator$ = [
+ 3,
+ n05,
+ _RRAO,
+ 0,
+ [_P2, _T2],
+ [0, [() => TagSet, { [_xF]: 1, [_xN]: _Ta2 }]]
+ ];
+ var ReplicationRuleFilter$ = [
+ 3,
+ n05,
+ _RRF,
+ 0,
+ [_P2, _Ta2, _An],
+ [0, () => Tag$2, [() => ReplicationRuleAndOperator$, 0]]
+ ];
+ var ReplicationTime$ = [
+ 3,
+ n05,
+ _RT3,
+ 0,
+ [_S, _Tim],
+ [0, () => ReplicationTimeValue$],
+ 2
+ ];
+ var ReplicationTimeValue$ = [
+ 3,
+ n05,
+ _RTV,
+ 0,
+ [_Mi],
+ [1]
+ ];
+ var RequestPaymentConfiguration$ = [
+ 3,
+ n05,
+ _RPC,
+ 0,
+ [_Pay],
+ [0],
+ 1
+ ];
+ var RequestProgress$ = [
+ 3,
+ n05,
+ _RPe,
+ 0,
+ [_Ena],
+ [2]
+ ];
+ var RestoreObjectOutput$ = [
+ 3,
+ n05,
+ _ROOe,
+ 0,
+ [_RC2, _ROP],
+ [[0, { [_hH2]: _xarc }], [0, { [_hH2]: _xarop }]]
+ ];
+ var RestoreObjectRequest$ = [
+ 3,
+ n05,
+ _RORe,
+ 0,
+ [_B, _K2, _VI, _RRes, _RP, _CA2, _EBO],
+ [[0, 1], [0, 1], [0, { [_hQ2]: _vI }], [() => RestoreRequest$, { [_hP]: 1, [_xN]: _RRes }], [0, { [_hH2]: _xarp }], [0, { [_hH2]: _xasca }], [0, { [_hH2]: _xaebo }]],
+ 2
+ ];
+ var RestoreRequest$ = [
+ 3,
+ n05,
+ _RRes,
+ 0,
+ [_D, _GJP, _Ty, _Ti, _Desc, _SP, _OL],
+ [1, () => GlacierJobParameters$, 0, 0, 0, () => SelectParameters$, [() => OutputLocation$, 0]]
+ ];
+ var RestoreStatus$ = [
+ 3,
+ n05,
+ _RSe,
+ 0,
+ [_IRIP, _RED],
+ [2, 4]
+ ];
+ var RoutingRule$ = [
+ 3,
+ n05,
+ _RRo,
+ 0,
+ [_Red, _Co],
+ [() => Redirect$, () => Condition$],
+ 1
+ ];
+ var S3KeyFilter$ = [
+ 3,
+ n05,
+ _SKF,
+ 0,
+ [_FRi],
+ [[() => FilterRuleList, { [_xF]: 1, [_xN]: _FR }]]
+ ];
+ var S3Location$ = [
+ 3,
+ n05,
+ _SL,
+ 0,
+ [_BNu, _P2, _En, _CACL, _ACL, _Tag, _UM, _SC],
+ [0, 0, [() => Encryption$, 0], 0, [() => Grants, 0], [() => Tagging$, 0], [() => UserMetadata, 0], 0],
+ 2
+ ];
+ var S3TablesDestination$ = [
+ 3,
+ n05,
+ _STD,
+ 0,
+ [_TBA, _TN],
+ [0, 0],
+ 2
+ ];
+ var S3TablesDestinationResult$ = [
+ 3,
+ n05,
+ _STDR,
+ 0,
+ [_TBA, _TN, _TA, _TNa],
+ [0, 0, 0, 0],
+ 4
+ ];
+ var ScanRange$ = [
+ 3,
+ n05,
+ _SR,
+ 0,
+ [_St, _End],
+ [1, 1]
+ ];
+ var SelectObjectContentOutput$ = [
+ 3,
+ n05,
+ _SOCO,
+ 0,
+ [_Payl],
+ [[() => SelectObjectContentEventStream$, 16]]
+ ];
+ var SelectObjectContentRequest$ = [
+ 3,
+ n05,
+ _SOCR,
+ 0,
+ [_B, _K2, _Expr, _ETx, _IS, _OSu, _SSECA, _SSECK, _SSECKMD, _RPe, _SR, _EBO],
+ [[0, 1], [0, 1], 0, 0, () => InputSerialization$, () => OutputSerialization$, [0, { [_hH2]: _xasseca }], [() => SSECustomerKey, { [_hH2]: _xasseck }], [0, { [_hH2]: _xasseckM }], () => RequestProgress$, () => ScanRange$, [0, { [_hH2]: _xaebo }]],
+ 6
+ ];
+ var SelectParameters$ = [
+ 3,
+ n05,
+ _SP,
+ 0,
+ [_IS, _ETx, _Expr, _OSu],
+ [() => InputSerialization$, 0, 0, () => OutputSerialization$],
+ 4
+ ];
+ var ServerSideEncryptionByDefault$ = [
+ 3,
+ n05,
+ _SSEBD,
+ 0,
+ [_SSEA, _KMSMKID],
+ [0, [() => SSEKMSKeyId, 0]],
+ 1
+ ];
+ var ServerSideEncryptionConfiguration$ = [
+ 3,
+ n05,
+ _SSEC,
+ 0,
+ [_Ru],
+ [[() => ServerSideEncryptionRules, { [_xF]: 1, [_xN]: _Rul }]],
+ 1
+ ];
+ var ServerSideEncryptionRule$ = [
+ 3,
+ n05,
+ _SSER,
+ 0,
+ [_ASSEBD, _BKE, _BET],
+ [[() => ServerSideEncryptionByDefault$, 0], 2, [() => BlockedEncryptionTypes$, 0]]
+ ];
+ var SessionCredentials$ = [
+ 3,
+ n05,
+ _SCe,
+ 0,
+ [_AKI2, _SAK2, _ST2, _Ex],
+ [[0, { [_xN]: _AKI2 }], [() => SessionCredentialValue, { [_xN]: _SAK2 }], [() => SessionCredentialValue, { [_xN]: _ST2 }], [4, { [_xN]: _Ex }]],
+ 4
+ ];
+ var SimplePrefix$ = [
+ 3,
+ n05,
+ _SPi,
+ { [_xN]: _SPi },
+ [],
+ []
+ ];
+ var SourceSelectionCriteria$ = [
+ 3,
+ n05,
+ _SSC,
+ 0,
+ [_SKEO, _RM],
+ [() => SseKmsEncryptedObjects$, () => ReplicaModifications$]
+ ];
+ var SSEKMS$ = [
+ 3,
+ n05,
+ _SSEKMS,
+ { [_xN]: _SK },
+ [_KI],
+ [[() => SSEKMSKeyId, 0]],
+ 1
+ ];
+ var SseKmsEncryptedObjects$ = [
+ 3,
+ n05,
+ _SKEO,
+ 0,
+ [_S],
+ [0],
+ 1
+ ];
+ var SSEKMSEncryption$ = [
+ 3,
+ n05,
+ _SSEKMSE,
+ { [_xN]: _SK },
+ [_KMSKA, _BKE],
+ [[() => NonEmptyKmsKeyArnString, 0], 2],
+ 1
+ ];
+ var SSES3$ = [
+ 3,
+ n05,
+ _SSES,
+ { [_xN]: _SS },
+ [],
+ []
+ ];
+ var Stats$ = [
+ 3,
+ n05,
+ _Sta,
+ 0,
+ [_BS, _BP, _BRy],
+ [1, 1, 1]
+ ];
+ var StatsEvent$ = [
+ 3,
+ n05,
+ _SE,
+ 0,
+ [_Det],
+ [[() => Stats$, { [_eP]: 1 }]]
+ ];
+ var StorageClassAnalysis$ = [
+ 3,
+ n05,
+ _SCA,
+ 0,
+ [_DE],
+ [() => StorageClassAnalysisDataExport$]
+ ];
+ var StorageClassAnalysisDataExport$ = [
+ 3,
+ n05,
+ _SCADE,
+ 0,
+ [_OSV, _Des],
+ [0, () => AnalyticsExportDestination$],
+ 2
+ ];
+ var Tag$2 = [
+ 3,
+ n05,
+ _Ta2,
+ 0,
+ [_K2, _V2],
+ [0, 0],
+ 2
+ ];
+ var Tagging$ = [
+ 3,
+ n05,
+ _Tag,
+ 0,
+ [_TSa],
+ [[() => TagSet, 0]],
+ 1
+ ];
+ var TargetGrant$ = [
+ 3,
+ n05,
+ _TGa,
+ 0,
+ [_Gra, _Pe],
+ [[() => Grantee$, { [_xNm]: [_x, _hi] }], 0]
+ ];
+ var TargetObjectKeyFormat$ = [
+ 3,
+ n05,
+ _TOKF,
+ 0,
+ [_SPi, _PP],
+ [[() => SimplePrefix$, { [_xN]: _SPi }], [() => PartitionedPrefix$, { [_xN]: _PP }]]
+ ];
+ var Tiering$ = [
+ 3,
+ n05,
+ _Tier,
+ 0,
+ [_D, _AT3],
+ [1, 0],
+ 2
+ ];
+ var TopicConfiguration$ = [
+ 3,
+ n05,
+ _TCop,
+ 0,
+ [_TAo, _Ev, _I, _F],
+ [[0, { [_xN]: _Top }], [64 | 0, { [_xF]: 1, [_xN]: _Eve }], 0, [() => NotificationConfigurationFilter$, 0]],
+ 2
+ ];
+ var Transition$ = [
+ 3,
+ n05,
+ _Tra,
+ 0,
+ [_Da, _D, _SC],
+ [5, 1, 0]
+ ];
+ var UpdateBucketMetadataAnnotationTableConfigurationRequest$ = [
+ 3,
+ n05,
+ _UBMATCR,
+ 0,
+ [_B, _ATC, _CMDo, _CA2, _EBO],
+ [[0, 1], [() => AnnotationTableConfigurationUpdates$, { [_hP]: 1, [_xN]: _ATC }], [0, { [_hH2]: _CM }], [0, { [_hH2]: _xasca }], [0, { [_hH2]: _xaebo }]],
+ 2
+ ];
+ var UpdateBucketMetadataInventoryTableConfigurationRequest$ = [
+ 3,
+ n05,
+ _UBMITCR,
+ 0,
+ [_B, _ITCn, _CMDo, _CA2, _EBO],
+ [[0, 1], [() => InventoryTableConfigurationUpdates$, { [_hP]: 1, [_xN]: _ITCn }], [0, { [_hH2]: _CM }], [0, { [_hH2]: _xasca }], [0, { [_hH2]: _xaebo }]],
+ 2
+ ];
+ var UpdateBucketMetadataJournalTableConfigurationRequest$ = [
+ 3,
+ n05,
+ _UBMJTCR,
+ 0,
+ [_B, _JTC, _CMDo, _CA2, _EBO],
+ [[0, 1], [() => JournalTableConfigurationUpdates$, { [_hP]: 1, [_xN]: _JTC }], [0, { [_hH2]: _CM }], [0, { [_hH2]: _xasca }], [0, { [_hH2]: _xaebo }]],
+ 2
+ ];
+ var UpdateObjectEncryptionRequest$ = [
+ 3,
+ n05,
+ _UOER,
+ 0,
+ [_B, _K2, _OE, _VI, _RP, _EBO, _CMDo, _CA2],
+ [[0, 1], [0, 1], [() => ObjectEncryption$, 16], [0, { [_hQ2]: _vI }], [0, { [_hH2]: _xarp }], [0, { [_hH2]: _xaebo }], [0, { [_hH2]: _CM }], [0, { [_hH2]: _xasca }]],
+ 3
+ ];
+ var UpdateObjectEncryptionResponse$ = [
+ 3,
+ n05,
+ _UOERp,
+ 0,
+ [_RC2],
+ [[0, { [_hH2]: _xarc }]]
+ ];
+ var UploadPartCopyOutput$ = [
+ 3,
+ n05,
+ _UPCO,
+ 0,
+ [_CSVI, _CPR, _SSE, _SSECA, _SSECKMD, _SSEKMSKI, _BKE, _RC2],
+ [[0, { [_hH2]: _xacsvi }], [() => CopyPartResult$, 16], [0, { [_hH2]: _xasse }], [0, { [_hH2]: _xasseca }], [0, { [_hH2]: _xasseckM }], [() => SSEKMSKeyId, { [_hH2]: _xasseakki }], [2, { [_hH2]: _xassebke }], [0, { [_hH2]: _xarc }]]
+ ];
+ var UploadPartCopyRequest$ = [
+ 3,
+ n05,
+ _UPCR,
+ 0,
+ [_B, _CSo, _K2, _PN, _UI, _CSIM, _CSIMS, _CSINM, _CSIUS, _CSRo, _SSECA, _SSECK, _SSECKMD, _CSSSECA, _CSSSECK, _CSSSECKMD, _RP, _EBO, _ESBO],
+ [[0, 1], [0, { [_hH2]: _xacs___ }], [0, 1], [1, { [_hQ2]: _pN }], [0, { [_hQ2]: _uI }], [0, { [_hH2]: _xacsim }], [4, { [_hH2]: _xacsims }], [0, { [_hH2]: _xacsinm }], [4, { [_hH2]: _xacsius }], [0, { [_hH2]: _xacsr }], [0, { [_hH2]: _xasseca }], [() => SSECustomerKey, { [_hH2]: _xasseck }], [0, { [_hH2]: _xasseckM }], [0, { [_hH2]: _xacssseca }], [() => CopySourceSSECustomerKey, { [_hH2]: _xacssseck }], [0, { [_hH2]: _xacssseckM }], [0, { [_hH2]: _xarp }], [0, { [_hH2]: _xaebo }], [0, { [_hH2]: _xasebo }]],
+ 5
+ ];
+ var UploadPartOutput$ = [
+ 3,
+ n05,
+ _UPO,
+ 0,
+ [_SSE, _ET, _CCRC, _CCRCC, _CCRCNVME, _CSHA, _CSHAh, _CSHAhe, _CMD, _CXXHASH, _CXXHASHh, _CXXHASHhe, _SSECA, _SSECKMD, _SSEKMSKI, _BKE, _RC2],
+ [[0, { [_hH2]: _xasse }], [0, { [_hH2]: _ET }], [0, { [_hH2]: _xacc }], [0, { [_hH2]: _xacc_ }], [0, { [_hH2]: _xacc__ }], [0, { [_hH2]: _xacs }], [0, { [_hH2]: _xacs_ }], [0, { [_hH2]: _xacs__ }], [0, { [_hH2]: _xacm }], [0, { [_hH2]: _xacx }], [0, { [_hH2]: _xacx_ }], [0, { [_hH2]: _xacx__ }], [0, { [_hH2]: _xasseca }], [0, { [_hH2]: _xasseckM }], [() => SSEKMSKeyId, { [_hH2]: _xasseakki }], [2, { [_hH2]: _xassebke }], [0, { [_hH2]: _xarc }]]
+ ];
+ var UploadPartRequest$ = [
+ 3,
+ n05,
+ _UPR,
+ 0,
+ [_B, _K2, _PN, _UI, _Bo, _CLo, _CMDo, _CA2, _CCRC, _CCRCC, _CCRCNVME, _CSHA, _CSHAh, _CSHAhe, _CMD, _CXXHASH, _CXXHASHh, _CXXHASHhe, _SSECA, _SSECK, _SSECKMD, _RP, _EBO],
+ [[0, 1], [0, 1], [1, { [_hQ2]: _pN }], [0, { [_hQ2]: _uI }], [() => StreamingBlob, 16], [1, { [_hH2]: _CL__ }], [0, { [_hH2]: _CM }], [0, { [_hH2]: _xasca }], [0, { [_hH2]: _xacc }], [0, { [_hH2]: _xacc_ }], [0, { [_hH2]: _xacc__ }], [0, { [_hH2]: _xacs }], [0, { [_hH2]: _xacs_ }], [0, { [_hH2]: _xacs__ }], [0, { [_hH2]: _xacm }], [0, { [_hH2]: _xacx }], [0, { [_hH2]: _xacx_ }], [0, { [_hH2]: _xacx__ }], [0, { [_hH2]: _xasseca }], [() => SSECustomerKey, { [_hH2]: _xasseck }], [0, { [_hH2]: _xasseckM }], [0, { [_hH2]: _xarp }], [0, { [_hH2]: _xaebo }]],
+ 4
+ ];
+ var VersioningConfiguration$ = [
+ 3,
+ n05,
+ _VC,
+ 0,
+ [_MFAD, _S],
+ [[0, { [_xN]: _MDf }], 0]
+ ];
+ var WebsiteConfiguration$ = [
+ 3,
+ n05,
+ _WC,
+ 0,
+ [_EDr, _IDn, _RART, _RR],
+ [() => ErrorDocument$, () => IndexDocument$, () => RedirectAllRequestsTo$, [() => RoutingRules, 0]]
+ ];
+ var WriteGetObjectResponseRequest$ = [
+ 3,
+ n05,
+ _WGORR,
+ 0,
+ [_RReq, _RTe, _Bo, _SCt, _ECr, _EM, _AR2, _CC, _CDo, _CEo, _CL, _CLo, _CR, _CTo, _CCRC, _CCRCC, _CCRCNVME, _CSHA, _CSHAh, _CSHAhe, _CMD, _CXXHASH, _CXXHASHh, _CXXHASHhe, _DM, _ET, _Exp, _Ex, _LM, _MM, _M, _OLM, _OLLHS, _OLRUD, _PC2, _RS, _RC2, _Re, _SSE, _SSECA, _SSEKMSKI, _SSECKMD, _SC, _TC2, _VI, _BKE],
+ [[0, { [_hL]: 1, [_hH2]: _xarr }], [0, { [_hH2]: _xart }], [() => StreamingBlob, 16], [1, { [_hH2]: _xafs }], [0, { [_hH2]: _xafec }], [0, { [_hH2]: _xafem }], [0, { [_hH2]: _xafhar }], [0, { [_hH2]: _xafhCC }], [0, { [_hH2]: _xafhCD }], [0, { [_hH2]: _xafhCE }], [0, { [_hH2]: _xafhCL }], [1, { [_hH2]: _CL__ }], [0, { [_hH2]: _xafhCR }], [0, { [_hH2]: _xafhCT }], [0, { [_hH2]: _xafhxacc }], [0, { [_hH2]: _xafhxacc_ }], [0, { [_hH2]: _xafhxacc__ }], [0, { [_hH2]: _xafhxacs }], [0, { [_hH2]: _xafhxacs_ }], [0, { [_hH2]: _xafhxacs__ }], [0, { [_hH2]: _xafhxacm }], [0, { [_hH2]: _xafhxacx }], [0, { [_hH2]: _xafhxacx_ }], [0, { [_hH2]: _xafhxacx__ }], [2, { [_hH2]: _xafhxadm }], [0, { [_hH2]: _xafhE }], [4, { [_hH2]: _xafhE_ }], [0, { [_hH2]: _xafhxae }], [4, { [_hH2]: _xafhLM }], [1, { [_hH2]: _xafhxamm }], [128 | 0, { [_hPH]: _xam }], [0, { [_hH2]: _xafhxaolm }], [0, { [_hH2]: _xafhxaollh }], [5, { [_hH2]: _xafhxaolrud }], [1, { [_hH2]: _xafhxampc }], [0, { [_hH2]: _xafhxars }], [0, { [_hH2]: _xafhxarc }], [0, { [_hH2]: _xafhxar }], [0, { [_hH2]: _xafhxasse }], [0, { [_hH2]: _xafhxasseca }], [() => SSEKMSKeyId, { [_hH2]: _xafhxasseakki }], [0, { [_hH2]: _xafhxasseckM }], [0, { [_hH2]: _xafhxasc }], [1, { [_hH2]: _xafhxatc }], [0, { [_hH2]: _xafhxavi }], [2, { [_hH2]: _xafhxassebke }]],
+ 2
+ ];
+ var __Unit = "unit";
+ var AnalyticsConfigurationList = [
+ 1,
+ n05,
+ _ACLn,
+ 0,
+ [
+ () => AnalyticsConfiguration$,
+ 0
+ ]
+ ];
+ var AnnotationList = [
+ 1,
+ n05,
+ _AL,
+ 0,
+ [
+ () => AnnotationEntry$,
+ { [_xN]: _AE }
+ ]
+ ];
+ var Buckets = [
+ 1,
+ n05,
+ _Bu,
+ 0,
+ [
+ () => Bucket$,
+ { [_xN]: _B }
+ ]
+ ];
+ var CommonPrefixList = [
+ 1,
+ n05,
+ _CPL,
+ 0,
+ () => CommonPrefix$
+ ];
+ var CompletedPartList = [
+ 1,
+ n05,
+ _CPLo,
+ 0,
+ () => CompletedPart$
+ ];
+ var CORSRules = [
+ 1,
+ n05,
+ _CORSR,
+ 0,
+ [
+ () => CORSRule$,
+ 0
+ ]
+ ];
+ var DeletedObjects = [
+ 1,
+ n05,
+ _DOe,
+ 0,
+ () => DeletedObject$
+ ];
+ var DeleteMarkers = [
+ 1,
+ n05,
+ _DMe,
+ 0,
+ () => DeleteMarkerEntry$
+ ];
+ var EncryptionTypeList = [
+ 1,
+ n05,
+ _ETL,
+ 0,
+ [
+ 0,
+ { [_xN]: _ETn }
+ ]
+ ];
+ var Errors = [
+ 1,
+ n05,
+ _Er,
+ 0,
+ () => _Error$
+ ];
+ var FilterRuleList = [
+ 1,
+ n05,
+ _FRL,
+ 0,
+ () => FilterRule$
+ ];
+ var Grants = [
+ 1,
+ n05,
+ _G,
+ 0,
+ [
+ () => Grant$,
+ { [_xN]: _Gr }
+ ]
+ ];
+ var IntelligentTieringConfigurationList = [
+ 1,
+ n05,
+ _ITCL,
+ 0,
+ [
+ () => IntelligentTieringConfiguration$,
+ 0
+ ]
+ ];
+ var InventoryConfigurationList = [
+ 1,
+ n05,
+ _ICL,
+ 0,
+ [
+ () => InventoryConfiguration$,
+ 0
+ ]
+ ];
+ var InventoryOptionalFields = [
+ 1,
+ n05,
+ _IOF,
+ 0,
+ [
+ 0,
+ { [_xN]: _Fi }
+ ]
+ ];
+ var LambdaFunctionConfigurationList = [
+ 1,
+ n05,
+ _LFCL,
+ 0,
+ [
+ () => LambdaFunctionConfiguration$,
+ 0
+ ]
+ ];
+ var LifecycleRules = [
+ 1,
+ n05,
+ _LRi,
+ 0,
+ [
+ () => LifecycleRule$,
+ 0
+ ]
+ ];
+ var MetricsConfigurationList = [
+ 1,
+ n05,
+ _MCL,
+ 0,
+ [
+ () => MetricsConfiguration$,
+ 0
+ ]
+ ];
+ var MultipartUploadList = [
+ 1,
+ n05,
+ _MUL,
+ 0,
+ () => MultipartUpload$
+ ];
+ var NoncurrentVersionTransitionList = [
+ 1,
+ n05,
+ _NVTL,
+ 0,
+ () => NoncurrentVersionTransition$
+ ];
+ var ObjectIdentifierList = [
+ 1,
+ n05,
+ _OIL,
+ 0,
+ () => ObjectIdentifier$
+ ];
+ var ObjectList = [
+ 1,
+ n05,
+ _OLb,
+ 0,
+ [
+ () => _Object$,
+ 0
+ ]
+ ];
+ var ObjectVersionList = [
+ 1,
+ n05,
+ _OVL,
+ 0,
+ [
+ () => ObjectVersion$,
+ 0
+ ]
+ ];
+ var OwnershipControlsRules = [
+ 1,
+ n05,
+ _OCRw,
+ 0,
+ () => OwnershipControlsRule$
+ ];
+ var Parts = [
+ 1,
+ n05,
+ _Pa,
+ 0,
+ () => Part$
+ ];
+ var PartsList = [
+ 1,
+ n05,
+ _PL,
+ 0,
+ () => ObjectPart$
+ ];
+ var QueueConfigurationList = [
+ 1,
+ n05,
+ _QCL,
+ 0,
+ [
+ () => QueueConfiguration$,
+ 0
+ ]
+ ];
+ var ReplicationRules = [
+ 1,
+ n05,
+ _RRep,
+ 0,
+ [
+ () => ReplicationRule$,
+ 0
+ ]
+ ];
+ var RoutingRules = [
+ 1,
+ n05,
+ _RR,
+ 0,
+ [
+ () => RoutingRule$,
+ { [_xN]: _RRo }
+ ]
+ ];
+ var ServerSideEncryptionRules = [
+ 1,
+ n05,
+ _SSERe,
+ 0,
+ [
+ () => ServerSideEncryptionRule$,
+ 0
+ ]
+ ];
+ var TagSet = [
+ 1,
+ n05,
+ _TSa,
+ 0,
+ [
+ () => Tag$2,
+ { [_xN]: _Ta2 }
+ ]
+ ];
+ var TargetGrants = [
+ 1,
+ n05,
+ _TG,
+ 0,
+ [
+ () => TargetGrant$,
+ { [_xN]: _Gr }
+ ]
+ ];
+ var TieringList = [
+ 1,
+ n05,
+ _TL,
+ 0,
+ () => Tiering$
+ ];
+ var TopicConfigurationList = [
+ 1,
+ n05,
+ _TCL,
+ 0,
+ [
+ () => TopicConfiguration$,
+ 0
+ ]
+ ];
+ var TransitionList = [
+ 1,
+ n05,
+ _TLr,
+ 0,
+ () => Transition$
+ ];
+ var UserMetadata = [
+ 1,
+ n05,
+ _UM,
+ 0,
+ [
+ () => MetadataEntry$,
+ { [_xN]: _ME }
+ ]
+ ];
+ var AnalyticsFilter$ = [
+ 4,
+ n05,
+ _AF,
+ 0,
+ [_P2, _Ta2, _An],
+ [0, () => Tag$2, [() => AnalyticsAndOperator$, 0]]
+ ];
+ var MetricsFilter$ = [
+ 4,
+ n05,
+ _MF,
+ 0,
+ [_P2, _Ta2, _APAc, _An],
+ [0, () => Tag$2, 0, [() => MetricsAndOperator$, 0]]
+ ];
+ var ObjectEncryption$ = [
+ 4,
+ n05,
+ _OE,
+ 0,
+ [_SSEKMS],
+ [[() => SSEKMSEncryption$, { [_xN]: _SK }]]
+ ];
+ var SelectObjectContentEventStream$ = [
+ 4,
+ n05,
+ _SOCES,
+ { [_st]: 1 },
+ [_Rec, _Sta, _Pr2, _Cont, _End],
+ [[() => RecordsEvent$, 0], [() => StatsEvent$, 0], [() => ProgressEvent$, 0], () => ContinuationEvent$, () => EndEvent$]
+ ];
+ var AbortMultipartUpload$ = [
+ 9,
+ n05,
+ _AMU,
+ { [_h4]: ["DELETE", "/{Key+}?x-id=AbortMultipartUpload", 204] },
+ () => AbortMultipartUploadRequest$,
+ () => AbortMultipartUploadOutput$
+ ];
+ var CompleteMultipartUpload$ = [
+ 9,
+ n05,
+ _CMUo,
+ { [_h4]: ["POST", "/{Key+}", 200] },
+ () => CompleteMultipartUploadRequest$,
+ () => CompleteMultipartUploadOutput$
+ ];
+ var CopyObject$ = [
+ 9,
+ n05,
+ _CO,
+ { [_h4]: ["PUT", "/{Key+}?x-id=CopyObject", 200] },
+ () => CopyObjectRequest$,
+ () => CopyObjectOutput$
+ ];
+ var CreateBucket$ = [
+ 9,
+ n05,
+ _CB,
+ { [_h4]: ["PUT", "/", 200] },
+ () => CreateBucketRequest$,
+ () => CreateBucketOutput$
+ ];
+ var CreateBucketMetadataConfiguration$ = [
+ 9,
+ n05,
+ _CBMC,
+ { [_hC]: "-", [_h4]: ["POST", "/?metadataConfiguration", 200] },
+ () => CreateBucketMetadataConfigurationRequest$,
+ () => __Unit
+ ];
+ var CreateBucketMetadataTableConfiguration$ = [
+ 9,
+ n05,
+ _CBMTC,
+ { [_hC]: "-", [_h4]: ["POST", "/?metadataTable", 200] },
+ () => CreateBucketMetadataTableConfigurationRequest$,
+ () => __Unit
+ ];
+ var CreateMultipartUpload$ = [
+ 9,
+ n05,
+ _CMUr,
+ { [_h4]: ["POST", "/{Key+}?uploads", 200] },
+ () => CreateMultipartUploadRequest$,
+ () => CreateMultipartUploadOutput$
+ ];
+ var CreateSession$ = [
+ 9,
+ n05,
+ _CSr,
+ { [_h4]: ["GET", "/?session", 200] },
+ () => CreateSessionRequest$,
+ () => CreateSessionOutput$
+ ];
+ var DeleteBucket$ = [
+ 9,
+ n05,
+ _DB,
+ { [_h4]: ["DELETE", "/", 204] },
+ () => DeleteBucketRequest$,
+ () => __Unit
+ ];
+ var DeleteBucketAnalyticsConfiguration$ = [
+ 9,
+ n05,
+ _DBAC,
+ { [_h4]: ["DELETE", "/?analytics", 204] },
+ () => DeleteBucketAnalyticsConfigurationRequest$,
+ () => __Unit
+ ];
+ var DeleteBucketCors$ = [
+ 9,
+ n05,
+ _DBC,
+ { [_h4]: ["DELETE", "/?cors", 204] },
+ () => DeleteBucketCorsRequest$,
+ () => __Unit
+ ];
+ var DeleteBucketEncryption$ = [
+ 9,
+ n05,
+ _DBE,
+ { [_h4]: ["DELETE", "/?encryption", 204] },
+ () => DeleteBucketEncryptionRequest$,
+ () => __Unit
+ ];
+ var DeleteBucketIntelligentTieringConfiguration$ = [
+ 9,
+ n05,
+ _DBITC,
+ { [_h4]: ["DELETE", "/?intelligent-tiering", 204] },
+ () => DeleteBucketIntelligentTieringConfigurationRequest$,
+ () => __Unit
+ ];
+ var DeleteBucketInventoryConfiguration$ = [
+ 9,
+ n05,
+ _DBIC,
+ { [_h4]: ["DELETE", "/?inventory", 204] },
+ () => DeleteBucketInventoryConfigurationRequest$,
+ () => __Unit
+ ];
+ var DeleteBucketLifecycle$ = [
+ 9,
+ n05,
+ _DBL,
+ { [_h4]: ["DELETE", "/?lifecycle", 204] },
+ () => DeleteBucketLifecycleRequest$,
+ () => __Unit
+ ];
+ var DeleteBucketMetadataConfiguration$ = [
+ 9,
+ n05,
+ _DBMC,
+ { [_h4]: ["DELETE", "/?metadataConfiguration", 204] },
+ () => DeleteBucketMetadataConfigurationRequest$,
+ () => __Unit
+ ];
+ var DeleteBucketMetadataTableConfiguration$ = [
+ 9,
+ n05,
+ _DBMTC,
+ { [_h4]: ["DELETE", "/?metadataTable", 204] },
+ () => DeleteBucketMetadataTableConfigurationRequest$,
+ () => __Unit
+ ];
+ var DeleteBucketMetricsConfiguration$ = [
+ 9,
+ n05,
+ _DBMCe,
+ { [_h4]: ["DELETE", "/?metrics", 204] },
+ () => DeleteBucketMetricsConfigurationRequest$,
+ () => __Unit
+ ];
+ var DeleteBucketOwnershipControls$ = [
+ 9,
+ n05,
+ _DBOC,
+ { [_h4]: ["DELETE", "/?ownershipControls", 204] },
+ () => DeleteBucketOwnershipControlsRequest$,
+ () => __Unit
+ ];
+ var DeleteBucketPolicy$ = [
+ 9,
+ n05,
+ _DBP,
+ { [_h4]: ["DELETE", "/?policy", 204] },
+ () => DeleteBucketPolicyRequest$,
+ () => __Unit
+ ];
+ var DeleteBucketReplication$ = [
+ 9,
+ n05,
+ _DBRe,
+ { [_h4]: ["DELETE", "/?replication", 204] },
+ () => DeleteBucketReplicationRequest$,
+ () => __Unit
+ ];
+ var DeleteBucketTagging$ = [
+ 9,
+ n05,
+ _DBT,
+ { [_h4]: ["DELETE", "/?tagging", 204] },
+ () => DeleteBucketTaggingRequest$,
+ () => __Unit
+ ];
+ var DeleteBucketWebsite$ = [
+ 9,
+ n05,
+ _DBW,
+ { [_h4]: ["DELETE", "/?website", 204] },
+ () => DeleteBucketWebsiteRequest$,
+ () => __Unit
+ ];
+ var DeleteObject$ = [
+ 9,
+ n05,
+ _DOel,
+ { [_h4]: ["DELETE", "/{Key+}?x-id=DeleteObject", 204] },
+ () => DeleteObjectRequest$,
+ () => DeleteObjectOutput$
+ ];
+ var DeleteObjectAnnotation$ = [
+ 9,
+ n05,
+ _DOA,
+ { [_h4]: ["DELETE", "/{Key+}?annotation", 204] },
+ () => DeleteObjectAnnotationRequest$,
+ () => DeleteObjectAnnotationOutput$
+ ];
+ var DeleteObjects$ = [
+ 9,
+ n05,
+ _DOele,
+ { [_hC]: "-", [_h4]: ["POST", "/?delete", 200] },
+ () => DeleteObjectsRequest$,
+ () => DeleteObjectsOutput$
+ ];
+ var DeleteObjectTagging$ = [
+ 9,
+ n05,
+ _DOT,
+ { [_h4]: ["DELETE", "/{Key+}?tagging", 204] },
+ () => DeleteObjectTaggingRequest$,
+ () => DeleteObjectTaggingOutput$
+ ];
+ var DeletePublicAccessBlock$ = [
+ 9,
+ n05,
+ _DPAB,
+ { [_h4]: ["DELETE", "/?publicAccessBlock", 204] },
+ () => DeletePublicAccessBlockRequest$,
+ () => __Unit
+ ];
+ var GetBucketAbac$ = [
+ 9,
+ n05,
+ _GBA,
+ { [_h4]: ["GET", "/?abac", 200] },
+ () => GetBucketAbacRequest$,
+ () => GetBucketAbacOutput$
+ ];
+ var GetBucketAccelerateConfiguration$ = [
+ 9,
+ n05,
+ _GBAC,
+ { [_h4]: ["GET", "/?accelerate", 200] },
+ () => GetBucketAccelerateConfigurationRequest$,
+ () => GetBucketAccelerateConfigurationOutput$
+ ];
+ var GetBucketAcl$ = [
+ 9,
+ n05,
+ _GBAe,
+ { [_h4]: ["GET", "/?acl", 200] },
+ () => GetBucketAclRequest$,
+ () => GetBucketAclOutput$
+ ];
+ var GetBucketAnalyticsConfiguration$ = [
+ 9,
+ n05,
+ _GBACe,
+ { [_h4]: ["GET", "/?analytics&x-id=GetBucketAnalyticsConfiguration", 200] },
+ () => GetBucketAnalyticsConfigurationRequest$,
+ () => GetBucketAnalyticsConfigurationOutput$
+ ];
+ var GetBucketCors$ = [
+ 9,
+ n05,
+ _GBC,
+ { [_h4]: ["GET", "/?cors", 200] },
+ () => GetBucketCorsRequest$,
+ () => GetBucketCorsOutput$
+ ];
+ var GetBucketEncryption$ = [
+ 9,
+ n05,
+ _GBE,
+ { [_h4]: ["GET", "/?encryption", 200] },
+ () => GetBucketEncryptionRequest$,
+ () => GetBucketEncryptionOutput$
+ ];
+ var GetBucketIntelligentTieringConfiguration$ = [
+ 9,
+ n05,
+ _GBITC,
+ { [_h4]: ["GET", "/?intelligent-tiering&x-id=GetBucketIntelligentTieringConfiguration", 200] },
+ () => GetBucketIntelligentTieringConfigurationRequest$,
+ () => GetBucketIntelligentTieringConfigurationOutput$
+ ];
+ var GetBucketInventoryConfiguration$ = [
+ 9,
+ n05,
+ _GBIC,
+ { [_h4]: ["GET", "/?inventory&x-id=GetBucketInventoryConfiguration", 200] },
+ () => GetBucketInventoryConfigurationRequest$,
+ () => GetBucketInventoryConfigurationOutput$
+ ];
+ var GetBucketLifecycleConfiguration$ = [
+ 9,
+ n05,
+ _GBLC,
+ { [_h4]: ["GET", "/?lifecycle", 200] },
+ () => GetBucketLifecycleConfigurationRequest$,
+ () => GetBucketLifecycleConfigurationOutput$
+ ];
+ var GetBucketLocation$ = [
+ 9,
+ n05,
+ _GBL,
+ { [_h4]: ["GET", "/?location", 200] },
+ () => GetBucketLocationRequest$,
+ () => GetBucketLocationOutput$
+ ];
+ var GetBucketLogging$ = [
+ 9,
+ n05,
+ _GBLe,
+ { [_h4]: ["GET", "/?logging", 200] },
+ () => GetBucketLoggingRequest$,
+ () => GetBucketLoggingOutput$
+ ];
+ var GetBucketMetadataConfiguration$ = [
+ 9,
+ n05,
+ _GBMC,
+ { [_h4]: ["GET", "/?metadataConfiguration", 200] },
+ () => GetBucketMetadataConfigurationRequest$,
+ () => GetBucketMetadataConfigurationOutput$
+ ];
+ var GetBucketMetadataTableConfiguration$ = [
+ 9,
+ n05,
+ _GBMTC,
+ { [_h4]: ["GET", "/?metadataTable", 200] },
+ () => GetBucketMetadataTableConfigurationRequest$,
+ () => GetBucketMetadataTableConfigurationOutput$
+ ];
+ var GetBucketMetricsConfiguration$ = [
+ 9,
+ n05,
+ _GBMCe,
+ { [_h4]: ["GET", "/?metrics&x-id=GetBucketMetricsConfiguration", 200] },
+ () => GetBucketMetricsConfigurationRequest$,
+ () => GetBucketMetricsConfigurationOutput$
+ ];
+ var GetBucketNotificationConfiguration$ = [
+ 9,
+ n05,
+ _GBNC,
+ { [_h4]: ["GET", "/?notification", 200] },
+ () => GetBucketNotificationConfigurationRequest$,
+ () => NotificationConfiguration$
+ ];
+ var GetBucketOwnershipControls$ = [
+ 9,
+ n05,
+ _GBOC,
+ { [_h4]: ["GET", "/?ownershipControls", 200] },
+ () => GetBucketOwnershipControlsRequest$,
+ () => GetBucketOwnershipControlsOutput$
+ ];
+ var GetBucketPolicy$ = [
+ 9,
+ n05,
+ _GBP,
+ { [_h4]: ["GET", "/?policy", 200] },
+ () => GetBucketPolicyRequest$,
+ () => GetBucketPolicyOutput$
+ ];
+ var GetBucketPolicyStatus$ = [
+ 9,
+ n05,
+ _GBPS,
+ { [_h4]: ["GET", "/?policyStatus", 200] },
+ () => GetBucketPolicyStatusRequest$,
+ () => GetBucketPolicyStatusOutput$
+ ];
+ var GetBucketReplication$ = [
+ 9,
+ n05,
+ _GBR,
+ { [_h4]: ["GET", "/?replication", 200] },
+ () => GetBucketReplicationRequest$,
+ () => GetBucketReplicationOutput$
+ ];
+ var GetBucketRequestPayment$ = [
+ 9,
+ n05,
+ _GBRP,
+ { [_h4]: ["GET", "/?requestPayment", 200] },
+ () => GetBucketRequestPaymentRequest$,
+ () => GetBucketRequestPaymentOutput$
+ ];
+ var GetBucketTagging$ = [
+ 9,
+ n05,
+ _GBT,
+ { [_h4]: ["GET", "/?tagging", 200] },
+ () => GetBucketTaggingRequest$,
+ () => GetBucketTaggingOutput$
+ ];
+ var GetBucketVersioning$ = [
+ 9,
+ n05,
+ _GBV,
+ { [_h4]: ["GET", "/?versioning", 200] },
+ () => GetBucketVersioningRequest$,
+ () => GetBucketVersioningOutput$
+ ];
+ var GetBucketWebsite$ = [
+ 9,
+ n05,
+ _GBW,
+ { [_h4]: ["GET", "/?website", 200] },
+ () => GetBucketWebsiteRequest$,
+ () => GetBucketWebsiteOutput$
+ ];
+ var GetObject$ = [
+ 9,
+ n05,
+ _GO,
+ { [_hC]: "-", [_h4]: ["GET", "/{Key+}?x-id=GetObject", 200] },
+ () => GetObjectRequest$,
+ () => GetObjectOutput$
+ ];
+ var GetObjectAcl$ = [
+ 9,
+ n05,
+ _GOA,
+ { [_h4]: ["GET", "/{Key+}?acl", 200] },
+ () => GetObjectAclRequest$,
+ () => GetObjectAclOutput$
+ ];
+ var GetObjectAnnotation$ = [
+ 9,
+ n05,
+ _GOAe,
+ { [_hC]: "-", [_h4]: ["GET", "/{Key+}?annotation&x-id=GetObjectAnnotation", 200] },
+ () => GetObjectAnnotationRequest$,
+ () => GetObjectAnnotationOutput$
+ ];
+ var GetObjectAttributes$ = [
+ 9,
+ n05,
+ _GOAet,
+ { [_h4]: ["GET", "/{Key+}?attributes", 200] },
+ () => GetObjectAttributesRequest$,
+ () => GetObjectAttributesOutput$
+ ];
+ var GetObjectLegalHold$ = [
+ 9,
+ n05,
+ _GOLH,
+ { [_h4]: ["GET", "/{Key+}?legal-hold", 200] },
+ () => GetObjectLegalHoldRequest$,
+ () => GetObjectLegalHoldOutput$
+ ];
+ var GetObjectLockConfiguration$ = [
+ 9,
+ n05,
+ _GOLC,
+ { [_h4]: ["GET", "/?object-lock", 200] },
+ () => GetObjectLockConfigurationRequest$,
+ () => GetObjectLockConfigurationOutput$
+ ];
+ var GetObjectRetention$ = [
+ 9,
+ n05,
+ _GORe,
+ { [_h4]: ["GET", "/{Key+}?retention", 200] },
+ () => GetObjectRetentionRequest$,
+ () => GetObjectRetentionOutput$
+ ];
+ var GetObjectTagging$ = [
+ 9,
+ n05,
+ _GOT,
+ { [_h4]: ["GET", "/{Key+}?tagging", 200] },
+ () => GetObjectTaggingRequest$,
+ () => GetObjectTaggingOutput$
+ ];
+ var GetObjectTorrent$ = [
+ 9,
+ n05,
+ _GOTe,
+ { [_h4]: ["GET", "/{Key+}?torrent", 200] },
+ () => GetObjectTorrentRequest$,
+ () => GetObjectTorrentOutput$
+ ];
+ var GetPublicAccessBlock$ = [
+ 9,
+ n05,
+ _GPAB,
+ { [_h4]: ["GET", "/?publicAccessBlock", 200] },
+ () => GetPublicAccessBlockRequest$,
+ () => GetPublicAccessBlockOutput$
+ ];
+ var HeadBucket$ = [
+ 9,
+ n05,
+ _HB,
+ { [_h4]: ["HEAD", "/", 200] },
+ () => HeadBucketRequest$,
+ () => HeadBucketOutput$
+ ];
+ var HeadObject$ = [
+ 9,
+ n05,
+ _HO,
+ { [_h4]: ["HEAD", "/{Key+}", 200] },
+ () => HeadObjectRequest$,
+ () => HeadObjectOutput$
+ ];
+ var ListBucketAnalyticsConfigurations$ = [
+ 9,
+ n05,
+ _LBAC,
+ { [_h4]: ["GET", "/?analytics&x-id=ListBucketAnalyticsConfigurations", 200] },
+ () => ListBucketAnalyticsConfigurationsRequest$,
+ () => ListBucketAnalyticsConfigurationsOutput$
+ ];
+ var ListBucketIntelligentTieringConfigurations$ = [
+ 9,
+ n05,
+ _LBITC,
+ { [_h4]: ["GET", "/?intelligent-tiering&x-id=ListBucketIntelligentTieringConfigurations", 200] },
+ () => ListBucketIntelligentTieringConfigurationsRequest$,
+ () => ListBucketIntelligentTieringConfigurationsOutput$
+ ];
+ var ListBucketInventoryConfigurations$ = [
+ 9,
+ n05,
+ _LBIC,
+ { [_h4]: ["GET", "/?inventory&x-id=ListBucketInventoryConfigurations", 200] },
+ () => ListBucketInventoryConfigurationsRequest$,
+ () => ListBucketInventoryConfigurationsOutput$
+ ];
+ var ListBucketMetricsConfigurations$ = [
+ 9,
+ n05,
+ _LBMC,
+ { [_h4]: ["GET", "/?metrics&x-id=ListBucketMetricsConfigurations", 200] },
+ () => ListBucketMetricsConfigurationsRequest$,
+ () => ListBucketMetricsConfigurationsOutput$
+ ];
+ var ListBuckets$ = [
+ 9,
+ n05,
+ _LB,
+ { [_h4]: ["GET", "/?x-id=ListBuckets", 200] },
+ () => ListBucketsRequest$,
+ () => ListBucketsOutput$
+ ];
+ var ListDirectoryBuckets$ = [
+ 9,
+ n05,
+ _LDB,
+ { [_h4]: ["GET", "/?x-id=ListDirectoryBuckets", 200] },
+ () => ListDirectoryBucketsRequest$,
+ () => ListDirectoryBucketsOutput$
+ ];
+ var ListMultipartUploads$ = [
+ 9,
+ n05,
+ _LMU,
+ { [_h4]: ["GET", "/?uploads", 200] },
+ () => ListMultipartUploadsRequest$,
+ () => ListMultipartUploadsOutput$
+ ];
+ var ListObjectAnnotations$ = [
+ 9,
+ n05,
+ _LOA,
+ { [_h4]: ["GET", "/{Key+}?annotation&x-id=ListObjectAnnotations", 200] },
+ () => ListObjectAnnotationsRequest$,
+ () => ListObjectAnnotationsOutput$
+ ];
+ var ListObjects$ = [
+ 9,
+ n05,
+ _LO,
+ { [_h4]: ["GET", "/", 200] },
+ () => ListObjectsRequest$,
+ () => ListObjectsOutput$
+ ];
+ var ListObjectsV2$ = [
+ 9,
+ n05,
+ _LOV,
+ { [_h4]: ["GET", "/?list-type=2", 200] },
+ () => ListObjectsV2Request$,
+ () => ListObjectsV2Output$
+ ];
+ var ListObjectVersions$ = [
+ 9,
+ n05,
+ _LOVi,
+ { [_h4]: ["GET", "/?versions", 200] },
+ () => ListObjectVersionsRequest$,
+ () => ListObjectVersionsOutput$
+ ];
+ var ListParts$ = [
+ 9,
+ n05,
+ _LP,
+ { [_h4]: ["GET", "/{Key+}?x-id=ListParts", 200] },
+ () => ListPartsRequest$,
+ () => ListPartsOutput$
+ ];
+ var PutBucketAbac$ = [
+ 9,
+ n05,
+ _PBA,
+ { [_hC]: "-", [_h4]: ["PUT", "/?abac", 200] },
+ () => PutBucketAbacRequest$,
+ () => __Unit
+ ];
+ var PutBucketAccelerateConfiguration$ = [
+ 9,
+ n05,
+ _PBAC,
+ { [_hC]: "-", [_h4]: ["PUT", "/?accelerate", 200] },
+ () => PutBucketAccelerateConfigurationRequest$,
+ () => __Unit
+ ];
+ var PutBucketAcl$ = [
+ 9,
+ n05,
+ _PBAu,
+ { [_hC]: "-", [_h4]: ["PUT", "/?acl", 200] },
+ () => PutBucketAclRequest$,
+ () => __Unit
+ ];
+ var PutBucketAnalyticsConfiguration$ = [
+ 9,
+ n05,
+ _PBACu,
+ { [_h4]: ["PUT", "/?analytics", 200] },
+ () => PutBucketAnalyticsConfigurationRequest$,
+ () => __Unit
+ ];
+ var PutBucketCors$ = [
+ 9,
+ n05,
+ _PBC,
+ { [_hC]: "-", [_h4]: ["PUT", "/?cors", 200] },
+ () => PutBucketCorsRequest$,
+ () => __Unit
+ ];
+ var PutBucketEncryption$ = [
+ 9,
+ n05,
+ _PBE,
+ { [_hC]: "-", [_h4]: ["PUT", "/?encryption", 200] },
+ () => PutBucketEncryptionRequest$,
+ () => __Unit
+ ];
+ var PutBucketIntelligentTieringConfiguration$ = [
+ 9,
+ n05,
+ _PBITC,
+ { [_h4]: ["PUT", "/?intelligent-tiering", 200] },
+ () => PutBucketIntelligentTieringConfigurationRequest$,
+ () => __Unit
+ ];
+ var PutBucketInventoryConfiguration$ = [
+ 9,
+ n05,
+ _PBIC,
+ { [_h4]: ["PUT", "/?inventory", 200] },
+ () => PutBucketInventoryConfigurationRequest$,
+ () => __Unit
+ ];
+ var PutBucketLifecycleConfiguration$ = [
+ 9,
+ n05,
+ _PBLC,
+ { [_hC]: "-", [_h4]: ["PUT", "/?lifecycle", 200] },
+ () => PutBucketLifecycleConfigurationRequest$,
+ () => PutBucketLifecycleConfigurationOutput$
+ ];
+ var PutBucketLogging$ = [
+ 9,
+ n05,
+ _PBL,
+ { [_hC]: "-", [_h4]: ["PUT", "/?logging", 200] },
+ () => PutBucketLoggingRequest$,
+ () => __Unit
+ ];
+ var PutBucketMetricsConfiguration$ = [
+ 9,
+ n05,
+ _PBMC,
+ { [_h4]: ["PUT", "/?metrics", 200] },
+ () => PutBucketMetricsConfigurationRequest$,
+ () => __Unit
+ ];
+ var PutBucketNotificationConfiguration$ = [
+ 9,
+ n05,
+ _PBNC,
+ { [_h4]: ["PUT", "/?notification", 200] },
+ () => PutBucketNotificationConfigurationRequest$,
+ () => __Unit
+ ];
+ var PutBucketOwnershipControls$ = [
+ 9,
+ n05,
+ _PBOC,
+ { [_hC]: "-", [_h4]: ["PUT", "/?ownershipControls", 200] },
+ () => PutBucketOwnershipControlsRequest$,
+ () => __Unit
+ ];
+ var PutBucketPolicy$ = [
+ 9,
+ n05,
+ _PBP,
+ { [_hC]: "-", [_h4]: ["PUT", "/?policy", 200] },
+ () => PutBucketPolicyRequest$,
+ () => __Unit
+ ];
+ var PutBucketReplication$ = [
+ 9,
+ n05,
+ _PBR,
+ { [_hC]: "-", [_h4]: ["PUT", "/?replication", 200] },
+ () => PutBucketReplicationRequest$,
+ () => __Unit
+ ];
+ var PutBucketRequestPayment$ = [
+ 9,
+ n05,
+ _PBRP,
+ { [_hC]: "-", [_h4]: ["PUT", "/?requestPayment", 200] },
+ () => PutBucketRequestPaymentRequest$,
+ () => __Unit
+ ];
+ var PutBucketTagging$ = [
+ 9,
+ n05,
+ _PBT,
+ { [_hC]: "-", [_h4]: ["PUT", "/?tagging", 200] },
+ () => PutBucketTaggingRequest$,
+ () => __Unit
+ ];
+ var PutBucketVersioning$ = [
+ 9,
+ n05,
+ _PBV,
+ { [_hC]: "-", [_h4]: ["PUT", "/?versioning", 200] },
+ () => PutBucketVersioningRequest$,
+ () => __Unit
+ ];
+ var PutBucketWebsite$ = [
+ 9,
+ n05,
+ _PBW,
+ { [_hC]: "-", [_h4]: ["PUT", "/?website", 200] },
+ () => PutBucketWebsiteRequest$,
+ () => __Unit
+ ];
+ var PutObject$ = [
+ 9,
+ n05,
+ _PO,
+ { [_hC]: "-", [_h4]: ["PUT", "/{Key+}?x-id=PutObject", 200] },
+ () => PutObjectRequest$,
+ () => PutObjectOutput$
+ ];
+ var PutObjectAcl$ = [
+ 9,
+ n05,
+ _POA,
+ { [_hC]: "-", [_h4]: ["PUT", "/{Key+}?acl", 200] },
+ () => PutObjectAclRequest$,
+ () => PutObjectAclOutput$
+ ];
+ var PutObjectAnnotation$ = [
+ 9,
+ n05,
+ _POAu,
+ { [_hC]: "-", [_h4]: ["PUT", "/{Key+}?annotation", 200] },
+ () => PutObjectAnnotationRequest$,
+ () => PutObjectAnnotationOutput$
+ ];
+ var PutObjectLegalHold$ = [
+ 9,
+ n05,
+ _POLH,
+ { [_hC]: "-", [_h4]: ["PUT", "/{Key+}?legal-hold", 200] },
+ () => PutObjectLegalHoldRequest$,
+ () => PutObjectLegalHoldOutput$
+ ];
+ var PutObjectLockConfiguration$ = [
+ 9,
+ n05,
+ _POLC,
+ { [_hC]: "-", [_h4]: ["PUT", "/?object-lock", 200] },
+ () => PutObjectLockConfigurationRequest$,
+ () => PutObjectLockConfigurationOutput$
+ ];
+ var PutObjectRetention$ = [
+ 9,
+ n05,
+ _PORu,
+ { [_hC]: "-", [_h4]: ["PUT", "/{Key+}?retention", 200] },
+ () => PutObjectRetentionRequest$,
+ () => PutObjectRetentionOutput$
+ ];
+ var PutObjectTagging$ = [
+ 9,
+ n05,
+ _POT,
+ { [_hC]: "-", [_h4]: ["PUT", "/{Key+}?tagging", 200] },
+ () => PutObjectTaggingRequest$,
+ () => PutObjectTaggingOutput$
+ ];
+ var PutPublicAccessBlock$ = [
+ 9,
+ n05,
+ _PPAB,
+ { [_hC]: "-", [_h4]: ["PUT", "/?publicAccessBlock", 200] },
+ () => PutPublicAccessBlockRequest$,
+ () => __Unit
+ ];
+ var RenameObject$ = [
+ 9,
+ n05,
+ _RO,
+ { [_h4]: ["PUT", "/{Key+}?renameObject", 200] },
+ () => RenameObjectRequest$,
+ () => RenameObjectOutput$
+ ];
+ var RestoreObject$ = [
+ 9,
+ n05,
+ _ROe,
+ { [_hC]: "-", [_h4]: ["POST", "/{Key+}?restore", 200] },
+ () => RestoreObjectRequest$,
+ () => RestoreObjectOutput$
+ ];
+ var SelectObjectContent$ = [
+ 9,
+ n05,
+ _SOC,
+ { [_h4]: ["POST", "/{Key+}?select&select-type=2", 200] },
+ () => SelectObjectContentRequest$,
+ () => SelectObjectContentOutput$
+ ];
+ var UpdateBucketMetadataAnnotationTableConfiguration$ = [
+ 9,
+ n05,
+ _UBMATC,
+ { [_hC]: "-", [_h4]: ["PUT", "/?metadataAnnotationTable", 200] },
+ () => UpdateBucketMetadataAnnotationTableConfigurationRequest$,
+ () => __Unit
+ ];
+ var UpdateBucketMetadataInventoryTableConfiguration$ = [
+ 9,
+ n05,
+ _UBMITC,
+ { [_hC]: "-", [_h4]: ["PUT", "/?metadataInventoryTable", 200] },
+ () => UpdateBucketMetadataInventoryTableConfigurationRequest$,
+ () => __Unit
+ ];
+ var UpdateBucketMetadataJournalTableConfiguration$ = [
+ 9,
+ n05,
+ _UBMJTC,
+ { [_hC]: "-", [_h4]: ["PUT", "/?metadataJournalTable", 200] },
+ () => UpdateBucketMetadataJournalTableConfigurationRequest$,
+ () => __Unit
+ ];
+ var UpdateObjectEncryption$ = [
+ 9,
+ n05,
+ _UOE,
+ { [_hC]: "-", [_h4]: ["PUT", "/{Key+}?encryption", 200] },
+ () => UpdateObjectEncryptionRequest$,
+ () => UpdateObjectEncryptionResponse$
+ ];
+ var UploadPart$ = [
+ 9,
+ n05,
+ _UP,
+ { [_hC]: "-", [_h4]: ["PUT", "/{Key+}?x-id=UploadPart", 200] },
+ () => UploadPartRequest$,
+ () => UploadPartOutput$
+ ];
+ var UploadPartCopy$ = [
+ 9,
+ n05,
+ _UPC,
+ { [_h4]: ["PUT", "/{Key+}?x-id=UploadPartCopy", 200] },
+ () => UploadPartCopyRequest$,
+ () => UploadPartCopyOutput$
+ ];
+ var WriteGetObjectResponse$ = [
+ 9,
+ n05,
+ _WGOR,
+ { [_en]: ["{RequestRoute}."], [_h4]: ["POST", "/WriteGetObjectResponse", 200] },
+ () => WriteGetObjectResponseRequest$,
+ () => __Unit
+ ];
+ var CreateSessionCommand = class extends command5(_ep4, _mw05, "CreateSession", CreateSession$) {
+ static {
+ __name(this, "CreateSessionCommand");
+ }
+ };
+ var version2 = "3.1153.0";
+ var packageInfo = {
+ version: version2
+ };
+ var getRuntimeConfig$1 = /* @__PURE__ */ __name((config3) => {
+ return {
+ apiVersion: "2006-03-01",
+ base64Decoder: config3?.base64Decoder ?? fromBase642,
+ base64Encoder: config3?.base64Encoder ?? toBase642,
+ disableHostPrefix: config3?.disableHostPrefix ?? false,
+ endpointProvider: config3?.endpointProvider ?? defaultEndpointResolver5,
+ extensions: config3?.extensions ?? [],
+ getAwsChunkedEncodingStream: config3?.getAwsChunkedEncodingStream ?? getAwsChunkedEncodingStream,
+ httpAuthSchemeProvider: config3?.httpAuthSchemeProvider ?? defaultS3HttpAuthSchemeProvider,
+ httpAuthSchemes: config3?.httpAuthSchemes ?? [
+ {
+ schemeId: "aws.auth#sigv4",
+ identityProvider: /* @__PURE__ */ __name((ipc) => ipc.getIdentityProvider("aws.auth#sigv4"), "identityProvider"),
+ signer: new AwsSdkSigV4Signer2()
+ },
+ {
+ schemeId: "aws.auth#sigv4a",
+ identityProvider: /* @__PURE__ */ __name((ipc) => ipc.getIdentityProvider("aws.auth#sigv4a"), "identityProvider"),
+ signer: new AwsSdkSigV4ASigner2()
+ }
+ ],
+ logger: config3?.logger ?? new NoOpLogger2(),
+ md5: config3?.md5 ?? Md5,
+ protocol: config3?.protocol ?? S3RestXmlProtocol2,
+ protocolSettings: config3?.protocolSettings ?? {
+ defaultNamespace: "com.amazonaws.s3",
+ errorTypeRegistries: errorTypeRegistries5,
+ xmlNamespace: "http://s3.amazonaws.com/doc/2006-03-01/",
+ version: "2006-03-01",
+ serviceTarget: "AmazonS3"
+ },
+ sdkStreamMixin: config3?.sdkStreamMixin ?? sdkStreamMixin2,
+ serviceId: config3?.serviceId ?? "S3",
+ sha1: config3?.sha1 ?? Sha1,
+ sha256: config3?.sha256 ?? Sha256,
+ signerConstructor: config3?.signerConstructor ?? SignatureV4MultiRegion3,
+ signingEscapePath: config3?.signingEscapePath ?? false,
+ urlParser: config3?.urlParser ?? parseUrl2,
+ useArnRegion: config3?.useArnRegion ?? void 0,
+ utf8Decoder: config3?.utf8Decoder ?? fromUtf82,
+ utf8Encoder: config3?.utf8Encoder ?? toUtf82
+ };
+ }, "getRuntimeConfig$1");
+ var getRuntimeConfig9 = /* @__PURE__ */ __name((config3) => {
+ emitWarningIfUnsupportedVersion3(process.version);
+ const defaultsMode = resolveDefaultsModeConfig2(config3);
+ const defaultConfigProvider = /* @__PURE__ */ __name(() => defaultsMode().then(loadConfigsForDefaultMode2), "defaultConfigProvider");
+ const clientSharedValues = getRuntimeConfig$1(config3);
+ emitWarningIfUnsupportedVersion$1(process.version);
+ const loaderConfig = {
+ profile: config3?.profile,
+ logger: clientSharedValues.logger
+ };
+ return {
+ ...clientSharedValues,
+ ...config3,
+ runtime: "node",
+ defaultsMode,
+ authSchemePreference: config3?.authSchemePreference ?? loadConfig2(NODE_AUTH_SCHEME_PREFERENCE_OPTIONS2, loaderConfig),
+ bodyLengthChecker: config3?.bodyLengthChecker ?? calculateBodyLength2,
+ credentialDefaultProvider: config3?.credentialDefaultProvider ?? defaultProvider,
+ defaultUserAgentProvider: config3?.defaultUserAgentProvider ?? createDefaultUserAgentProvider2({ serviceId: clientSharedValues.serviceId, clientVersion: packageInfo.version }),
+ disableS3ExpressSessionAuth: config3?.disableS3ExpressSessionAuth ?? loadConfig2(NODE_DISABLE_S3_EXPRESS_SESSION_AUTH_OPTIONS2, loaderConfig),
+ eventStreamSerdeProvider: config3?.eventStreamSerdeProvider ?? eventStreamSerdeProvider,
+ maxAttempts: config3?.maxAttempts ?? loadConfig2(NODE_MAX_ATTEMPT_CONFIG_OPTIONS2, config3),
+ region: config3?.region ?? loadConfig2(NODE_REGION_CONFIG_OPTIONS2, { ...NODE_REGION_CONFIG_FILE_OPTIONS2, ...loaderConfig }),
+ requestChecksumCalculation: config3?.requestChecksumCalculation ?? loadConfig2(NODE_REQUEST_CHECKSUM_CALCULATION_CONFIG_OPTIONS2, loaderConfig),
+ requestHandler: NodeHttpHandler.create(config3?.requestHandler ?? defaultConfigProvider),
+ responseChecksumValidation: config3?.responseChecksumValidation ?? loadConfig2(NODE_RESPONSE_CHECKSUM_VALIDATION_CONFIG_OPTIONS2, loaderConfig),
+ retryMode: config3?.retryMode ?? loadConfig2({
+ ...NODE_RETRY_MODE_CONFIG_OPTIONS2,
+ default: /* @__PURE__ */ __name(async () => (await defaultConfigProvider()).retryMode || DEFAULT_RETRY_MODE2, "default")
+ }, config3),
+ sigv4aSigningRegionSet: config3?.sigv4aSigningRegionSet ?? loadConfig2(NODE_SIGV4A_CONFIG_OPTIONS2, loaderConfig),
+ streamCollector: config3?.streamCollector ?? streamCollector5,
+ streamHasher: config3?.streamHasher ?? readableStreamHasher,
+ useArnRegion: config3?.useArnRegion ?? loadConfig2(NODE_USE_ARN_REGION_CONFIG_OPTIONS2, loaderConfig),
+ useDualstackEndpoint: config3?.useDualstackEndpoint ?? loadConfig2(NODE_USE_DUALSTACK_ENDPOINT_CONFIG_OPTIONS2, loaderConfig),
+ useFipsEndpoint: config3?.useFipsEndpoint ?? loadConfig2(NODE_USE_FIPS_ENDPOINT_CONFIG_OPTIONS2, loaderConfig),
+ userAgentAppId: config3?.userAgentAppId ?? loadConfig2(NODE_APP_ID_CONFIG_OPTIONS2, loaderConfig)
+ };
+ }, "getRuntimeConfig");
+ var getHttpAuthExtensionConfiguration5 = /* @__PURE__ */ __name((runtimeConfig) => {
+ const _httpAuthSchemes = runtimeConfig.httpAuthSchemes;
+ let _httpAuthSchemeProvider = runtimeConfig.httpAuthSchemeProvider;
+ let _credentials = runtimeConfig.credentials;
+ return {
+ setHttpAuthScheme(httpAuthScheme) {
+ const index = _httpAuthSchemes.findIndex((scheme) => scheme.schemeId === httpAuthScheme.schemeId);
+ if (index === -1) {
+ _httpAuthSchemes.push(httpAuthScheme);
+ } else {
+ _httpAuthSchemes.splice(index, 1, httpAuthScheme);
+ }
+ },
+ httpAuthSchemes() {
+ return _httpAuthSchemes;
+ },
+ setHttpAuthSchemeProvider(httpAuthSchemeProvider) {
+ _httpAuthSchemeProvider = httpAuthSchemeProvider;
+ },
+ httpAuthSchemeProvider() {
+ return _httpAuthSchemeProvider;
+ },
+ setCredentials(credentials) {
+ _credentials = credentials;
+ },
+ credentials() {
+ return _credentials;
+ }
+ };
+ }, "getHttpAuthExtensionConfiguration");
+ var resolveHttpAuthRuntimeConfig5 = /* @__PURE__ */ __name((config3) => {
+ return {
+ httpAuthSchemes: config3.httpAuthSchemes(),
+ httpAuthSchemeProvider: config3.httpAuthSchemeProvider(),
+ credentials: config3.credentials()
+ };
+ }, "resolveHttpAuthRuntimeConfig");
+ var resolveRuntimeExtensions5 = /* @__PURE__ */ __name((runtimeConfig, extensions) => {
+ const extensionConfiguration = Object.assign(getAwsRegionExtensionConfiguration2(runtimeConfig), getDefaultExtensionConfiguration2(runtimeConfig), getHttpHandlerExtensionConfiguration2(runtimeConfig), getHttpAuthExtensionConfiguration5(runtimeConfig));
+ extensions.forEach((extension) => extension.configure(extensionConfiguration));
+ return Object.assign(runtimeConfig, resolveAwsRegionExtensionConfiguration2(extensionConfiguration), resolveDefaultRuntimeConfig2(extensionConfiguration), resolveHttpHandlerRuntimeConfig2(extensionConfiguration), resolveHttpAuthRuntimeConfig5(extensionConfiguration));
+ }, "resolveRuntimeExtensions");
+ var S3Client2 = class extends Client2 {
+ static {
+ __name(this, "S3Client");
+ }
+ config;
+ constructor(...[configuration]) {
+ const _config_0 = getRuntimeConfig9(configuration || {});
+ super(_config_0);
+ this.initConfig = _config_0;
+ const _config_1 = resolveClientEndpointParameters5(_config_0);
+ const _config_2 = resolveUserAgentConfig2(_config_1);
+ const _config_3 = resolveFlexibleChecksumsConfig2(_config_2);
+ const _config_4 = resolveRetryConfig2(_config_3);
+ const _config_5 = resolveRegionConfig2(_config_4);
+ const _config_6 = resolveHostHeaderConfig2(_config_5);
+ const _config_7 = resolveEndpointConfig2(_config_6);
+ const _config_8 = resolveEventStreamSerdeConfig(_config_7);
+ const _config_9 = resolveHttpAuthSchemeConfig5(_config_8);
+ const _config_10 = resolveS3Config2(_config_9, { session: [() => this, CreateSessionCommand] });
+ const _config_11 = resolveRuntimeExtensions5(_config_10, configuration?.extensions || []);
+ this.config = _config_11;
+ this.middlewareStack.use(getSchemaSerdePlugin2(this.config));
+ this.middlewareStack.use(getUserAgentPlugin2(this.config));
+ this.middlewareStack.use(getRetryPlugin2(this.config));
+ this.middlewareStack.use(getContentLengthPlugin2(this.config));
+ this.middlewareStack.use(getHostHeaderPlugin2(this.config));
+ this.middlewareStack.use(getLoggerPlugin2(this.config));
+ this.middlewareStack.use(getRecursionDetectionPlugin2(this.config));
+ this.middlewareStack.use(getHttpAuthSchemeEndpointRuleSetPlugin2(this.config, {
+ httpAuthSchemeParametersProvider: defaultS3HttpAuthSchemeParametersProvider,
+ identityProviderConfigProvider: /* @__PURE__ */ __name(async (config3) => new DefaultIdentityProviderConfig2({
+ "aws.auth#sigv4": config3.credentials,
+ "aws.auth#sigv4a": config3.credentials
+ }), "identityProviderConfigProvider")
+ }));
+ this.middlewareStack.use(getHttpSigningPlugin2(this.config));
+ this.middlewareStack.use(getValidateBucketNamePlugin2(this.config));
+ this.middlewareStack.use(getAddExpectContinuePlugin2(this.config));
+ this.middlewareStack.use(getRegionRedirectMiddlewarePlugin2(this.config));
+ this.middlewareStack.use(getS3ExpressPlugin2(this.config));
+ this.middlewareStack.use(getS3ExpressHttpSigningPlugin2(this.config));
+ }
+ destroy() {
+ super.destroy();
+ }
+ };
+ var AbortMultipartUploadCommand = class extends command5(_ep05, _mw05, "AbortMultipartUpload", AbortMultipartUpload$) {
+ static {
+ __name(this, "AbortMultipartUploadCommand");
+ }
+ };
+ var CompleteMultipartUploadCommand = class extends command5(_ep05, _mw1, "CompleteMultipartUpload", CompleteMultipartUpload$) {
+ static {
+ __name(this, "CompleteMultipartUploadCommand");
+ }
+ };
+ var CopyObjectCommand = class extends command5(_ep12, _mw1, "CopyObject", CopyObject$) {
+ static {
+ __name(this, "CopyObjectCommand");
+ }
+ };
+ var CreateBucketCommand2 = class extends command5(_ep2, _mw2, "CreateBucket", CreateBucket$) {
+ static {
+ __name(this, "CreateBucketCommand");
+ }
+ };
+ var CreateBucketMetadataConfigurationCommand = class extends command5(_ep3, _mw3, "CreateBucketMetadataConfiguration", CreateBucketMetadataConfiguration$) {
+ static {
+ __name(this, "CreateBucketMetadataConfigurationCommand");
+ }
+ };
+ var CreateBucketMetadataTableConfigurationCommand = class extends command5(_ep3, _mw3, "CreateBucketMetadataTableConfiguration", CreateBucketMetadataTableConfiguration$) {
+ static {
+ __name(this, "CreateBucketMetadataTableConfigurationCommand");
+ }
+ };
+ var CreateMultipartUploadCommand = class extends command5(_ep05, _mw1, "CreateMultipartUpload", CreateMultipartUpload$) {
+ static {
+ __name(this, "CreateMultipartUploadCommand");
+ }
+ };
+ var DeleteBucketAnalyticsConfigurationCommand = class extends command5(_ep3, _mw4, "DeleteBucketAnalyticsConfiguration", DeleteBucketAnalyticsConfiguration$) {
+ static {
+ __name(this, "DeleteBucketAnalyticsConfigurationCommand");
+ }
+ };
+ var DeleteBucketCommand = class extends command5(_ep3, _mw4, "DeleteBucket", DeleteBucket$) {
+ static {
+ __name(this, "DeleteBucketCommand");
+ }
+ };
+ var DeleteBucketCorsCommand = class extends command5(_ep3, _mw4, "DeleteBucketCors", DeleteBucketCors$) {
+ static {
+ __name(this, "DeleteBucketCorsCommand");
+ }
+ };
+ var DeleteBucketEncryptionCommand = class extends command5(_ep3, _mw4, "DeleteBucketEncryption", DeleteBucketEncryption$) {
+ static {
+ __name(this, "DeleteBucketEncryptionCommand");
+ }
+ };
+ var DeleteBucketIntelligentTieringConfigurationCommand = class extends command5(_ep3, _mw4, "DeleteBucketIntelligentTieringConfiguration", DeleteBucketIntelligentTieringConfiguration$) {
+ static {
+ __name(this, "DeleteBucketIntelligentTieringConfigurationCommand");
+ }
+ };
+ var DeleteBucketInventoryConfigurationCommand = class extends command5(_ep3, _mw4, "DeleteBucketInventoryConfiguration", DeleteBucketInventoryConfiguration$) {
+ static {
+ __name(this, "DeleteBucketInventoryConfigurationCommand");
+ }
+ };
+ var DeleteBucketLifecycleCommand = class extends command5(_ep3, _mw4, "DeleteBucketLifecycle", DeleteBucketLifecycle$) {
+ static {
+ __name(this, "DeleteBucketLifecycleCommand");
+ }
+ };
+ var DeleteBucketMetadataConfigurationCommand = class extends command5(_ep3, _mw4, "DeleteBucketMetadataConfiguration", DeleteBucketMetadataConfiguration$) {
+ static {
+ __name(this, "DeleteBucketMetadataConfigurationCommand");
+ }
+ };
+ var DeleteBucketMetadataTableConfigurationCommand = class extends command5(_ep3, _mw4, "DeleteBucketMetadataTableConfiguration", DeleteBucketMetadataTableConfiguration$) {
+ static {
+ __name(this, "DeleteBucketMetadataTableConfigurationCommand");
+ }
+ };
+ var DeleteBucketMetricsConfigurationCommand = class extends command5(_ep3, _mw4, "DeleteBucketMetricsConfiguration", DeleteBucketMetricsConfiguration$) {
+ static {
+ __name(this, "DeleteBucketMetricsConfigurationCommand");
+ }
+ };
+ var DeleteBucketOwnershipControlsCommand = class extends command5(_ep3, _mw4, "DeleteBucketOwnershipControls", DeleteBucketOwnershipControls$) {
+ static {
+ __name(this, "DeleteBucketOwnershipControlsCommand");
+ }
+ };
+ var DeleteBucketPolicyCommand = class extends command5(_ep3, _mw4, "DeleteBucketPolicy", DeleteBucketPolicy$) {
+ static {
+ __name(this, "DeleteBucketPolicyCommand");
+ }
+ };
+ var DeleteBucketReplicationCommand = class extends command5(_ep3, _mw4, "DeleteBucketReplication", DeleteBucketReplication$) {
+ static {
+ __name(this, "DeleteBucketReplicationCommand");
+ }
+ };
+ var DeleteBucketTaggingCommand = class extends command5(_ep3, _mw4, "DeleteBucketTagging", DeleteBucketTagging$) {
+ static {
+ __name(this, "DeleteBucketTaggingCommand");
+ }
+ };
+ var DeleteBucketWebsiteCommand = class extends command5(_ep3, _mw4, "DeleteBucketWebsite", DeleteBucketWebsite$) {
+ static {
+ __name(this, "DeleteBucketWebsiteCommand");
+ }
+ };
+ var DeleteObjectAnnotationCommand = class extends command5(_ep5, _mw05, "DeleteObjectAnnotation", DeleteObjectAnnotation$) {
+ static {
+ __name(this, "DeleteObjectAnnotationCommand");
+ }
+ };
+ var DeleteObjectCommand2 = class extends command5(_ep05, _mw05, "DeleteObject", DeleteObject$) {
+ static {
+ __name(this, "DeleteObjectCommand");
+ }
+ };
+ var DeleteObjectsCommand = class extends command5(_ep5, _mw5, "DeleteObjects", DeleteObjects$) {
+ static {
+ __name(this, "DeleteObjectsCommand");
+ }
+ };
+ var DeleteObjectTaggingCommand = class extends command5(_ep5, _mw05, "DeleteObjectTagging", DeleteObjectTagging$) {
+ static {
+ __name(this, "DeleteObjectTaggingCommand");
+ }
+ };
+ var DeletePublicAccessBlockCommand = class extends command5(_ep3, _mw4, "DeletePublicAccessBlock", DeletePublicAccessBlock$) {
+ static {
+ __name(this, "DeletePublicAccessBlockCommand");
+ }
+ };
+ var GetBucketAbacCommand = class extends command5(_ep5, _mw05, "GetBucketAbac", GetBucketAbac$) {
+ static {
+ __name(this, "GetBucketAbacCommand");
+ }
+ };
+ var GetBucketAccelerateConfigurationCommand = class extends command5(_ep3, _mw05, "GetBucketAccelerateConfiguration", GetBucketAccelerateConfiguration$) {
+ static {
+ __name(this, "GetBucketAccelerateConfigurationCommand");
+ }
+ };
+ var GetBucketAclCommand = class extends command5(_ep3, _mw05, "GetBucketAcl", GetBucketAcl$) {
+ static {
+ __name(this, "GetBucketAclCommand");
+ }
+ };
+ var GetBucketAnalyticsConfigurationCommand = class extends command5(_ep3, _mw05, "GetBucketAnalyticsConfiguration", GetBucketAnalyticsConfiguration$) {
+ static {
+ __name(this, "GetBucketAnalyticsConfigurationCommand");
+ }
+ };
+ var GetBucketCorsCommand = class extends command5(_ep3, _mw05, "GetBucketCors", GetBucketCors$) {
+ static {
+ __name(this, "GetBucketCorsCommand");
+ }
+ };
+ var GetBucketEncryptionCommand = class extends command5(_ep3, _mw05, "GetBucketEncryption", GetBucketEncryption$) {
+ static {
+ __name(this, "GetBucketEncryptionCommand");
+ }
+ };
+ var GetBucketIntelligentTieringConfigurationCommand = class extends command5(_ep3, _mw05, "GetBucketIntelligentTieringConfiguration", GetBucketIntelligentTieringConfiguration$) {
+ static {
+ __name(this, "GetBucketIntelligentTieringConfigurationCommand");
+ }
+ };
+ var GetBucketInventoryConfigurationCommand = class extends command5(_ep3, _mw05, "GetBucketInventoryConfiguration", GetBucketInventoryConfiguration$) {
+ static {
+ __name(this, "GetBucketInventoryConfigurationCommand");
+ }
+ };
+ var GetBucketLifecycleConfigurationCommand = class extends command5(_ep3, _mw05, "GetBucketLifecycleConfiguration", GetBucketLifecycleConfiguration$) {
+ static {
+ __name(this, "GetBucketLifecycleConfigurationCommand");
+ }
+ };
+ var GetBucketLocationCommand = class extends command5(_ep3, _mw05, "GetBucketLocation", GetBucketLocation$) {
+ static {
+ __name(this, "GetBucketLocationCommand");
+ }
+ };
+ var GetBucketLoggingCommand = class extends command5(_ep3, _mw05, "GetBucketLogging", GetBucketLogging$) {
+ static {
+ __name(this, "GetBucketLoggingCommand");
+ }
+ };
+ var GetBucketMetadataConfigurationCommand = class extends command5(_ep3, _mw05, "GetBucketMetadataConfiguration", GetBucketMetadataConfiguration$) {
+ static {
+ __name(this, "GetBucketMetadataConfigurationCommand");
+ }
+ };
+ var GetBucketMetadataTableConfigurationCommand = class extends command5(_ep3, _mw05, "GetBucketMetadataTableConfiguration", GetBucketMetadataTableConfiguration$) {
+ static {
+ __name(this, "GetBucketMetadataTableConfigurationCommand");
+ }
+ };
+ var GetBucketMetricsConfigurationCommand = class extends command5(_ep3, _mw05, "GetBucketMetricsConfiguration", GetBucketMetricsConfiguration$) {
+ static {
+ __name(this, "GetBucketMetricsConfigurationCommand");
+ }
+ };
+ var GetBucketNotificationConfigurationCommand = class extends command5(_ep3, _mw05, "GetBucketNotificationConfiguration", GetBucketNotificationConfiguration$) {
+ static {
+ __name(this, "GetBucketNotificationConfigurationCommand");
+ }
+ };
+ var GetBucketOwnershipControlsCommand = class extends command5(_ep3, _mw05, "GetBucketOwnershipControls", GetBucketOwnershipControls$) {
+ static {
+ __name(this, "GetBucketOwnershipControlsCommand");
+ }
+ };
+ var GetBucketPolicyCommand = class extends command5(_ep3, _mw4, "GetBucketPolicy", GetBucketPolicy$) {
+ static {
+ __name(this, "GetBucketPolicyCommand");
+ }
+ };
+ var GetBucketPolicyStatusCommand = class extends command5(_ep3, _mw05, "GetBucketPolicyStatus", GetBucketPolicyStatus$) {
+ static {
+ __name(this, "GetBucketPolicyStatusCommand");
+ }
+ };
+ var GetBucketReplicationCommand = class extends command5(_ep3, _mw05, "GetBucketReplication", GetBucketReplication$) {
+ static {
+ __name(this, "GetBucketReplicationCommand");
+ }
+ };
+ var GetBucketRequestPaymentCommand = class extends command5(_ep3, _mw05, "GetBucketRequestPayment", GetBucketRequestPayment$) {
+ static {
+ __name(this, "GetBucketRequestPaymentCommand");
+ }
+ };
+ var GetBucketTaggingCommand = class extends command5(_ep3, _mw05, "GetBucketTagging", GetBucketTagging$) {
+ static {
+ __name(this, "GetBucketTaggingCommand");
+ }
+ };
+ var GetBucketVersioningCommand = class extends command5(_ep3, _mw05, "GetBucketVersioning", GetBucketVersioning$) {
+ static {
+ __name(this, "GetBucketVersioningCommand");
+ }
+ };
+ var GetBucketWebsiteCommand = class extends command5(_ep3, _mw05, "GetBucketWebsite", GetBucketWebsite$) {
+ static {
+ __name(this, "GetBucketWebsiteCommand");
+ }
+ };
+ var GetObjectAclCommand = class extends command5(_ep05, _mw05, "GetObjectAcl", GetObjectAcl$) {
+ static {
+ __name(this, "GetObjectAclCommand");
+ }
+ };
+ var GetObjectAnnotationCommand = class extends command5(_ep05, _mw6, "GetObjectAnnotation", GetObjectAnnotation$) {
+ static {
+ __name(this, "GetObjectAnnotationCommand");
+ }
+ };
+ var GetObjectAttributesCommand = class extends command5(_ep5, _mw1, "GetObjectAttributes", GetObjectAttributes$) {
+ static {
+ __name(this, "GetObjectAttributesCommand");
+ }
+ };
+ var GetObjectCommand = class extends command5(_ep05, _mw7, "GetObject", GetObject$) {
+ static {
+ __name(this, "GetObjectCommand");
+ }
+ };
+ var GetObjectLegalHoldCommand = class extends command5(_ep5, _mw05, "GetObjectLegalHold", GetObjectLegalHold$) {
+ static {
+ __name(this, "GetObjectLegalHoldCommand");
+ }
+ };
+ var GetObjectLockConfigurationCommand = class extends command5(_ep5, _mw05, "GetObjectLockConfiguration", GetObjectLockConfiguration$) {
+ static {
+ __name(this, "GetObjectLockConfigurationCommand");
+ }
+ };
+ var GetObjectRetentionCommand = class extends command5(_ep5, _mw05, "GetObjectRetention", GetObjectRetention$) {
+ static {
+ __name(this, "GetObjectRetentionCommand");
+ }
+ };
+ var GetObjectTaggingCommand = class extends command5(_ep5, _mw05, "GetObjectTagging", GetObjectTagging$) {
+ static {
+ __name(this, "GetObjectTaggingCommand");
+ }
+ };
+ var GetObjectTorrentCommand = class extends command5(_ep5, _mw4, "GetObjectTorrent", GetObjectTorrent$) {
+ static {
+ __name(this, "GetObjectTorrentCommand");
+ }
+ };
+ var GetPublicAccessBlockCommand = class extends command5(_ep3, _mw05, "GetPublicAccessBlock", GetPublicAccessBlock$) {
+ static {
+ __name(this, "GetPublicAccessBlockCommand");
+ }
+ };
+ var HeadBucketCommand2 = class extends command5(_ep5, _mw05, "HeadBucket", HeadBucket$) {
+ static {
+ __name(this, "HeadBucketCommand");
+ }
+ };
+ var HeadObjectCommand = class extends command5(_ep05, _mw8, "HeadObject", HeadObject$) {
+ static {
+ __name(this, "HeadObjectCommand");
+ }
+ };
+ var ListBucketAnalyticsConfigurationsCommand = class extends command5(_ep3, _mw05, "ListBucketAnalyticsConfigurations", ListBucketAnalyticsConfigurations$) {
+ static {
+ __name(this, "ListBucketAnalyticsConfigurationsCommand");
+ }
+ };
+ var ListBucketIntelligentTieringConfigurationsCommand = class extends command5(_ep3, _mw05, "ListBucketIntelligentTieringConfigurations", ListBucketIntelligentTieringConfigurations$) {
+ static {
+ __name(this, "ListBucketIntelligentTieringConfigurationsCommand");
+ }
+ };
+ var ListBucketInventoryConfigurationsCommand = class extends command5(_ep3, _mw05, "ListBucketInventoryConfigurations", ListBucketInventoryConfigurations$) {
+ static {
+ __name(this, "ListBucketInventoryConfigurationsCommand");
+ }
+ };
+ var ListBucketMetricsConfigurationsCommand = class extends command5(_ep3, _mw05, "ListBucketMetricsConfigurations", ListBucketMetricsConfigurations$) {
+ static {
+ __name(this, "ListBucketMetricsConfigurationsCommand");
+ }
+ };
+ var ListBucketsCommand = class extends command5(_ep6, _mw05, "ListBuckets", ListBuckets$) {
+ static {
+ __name(this, "ListBucketsCommand");
+ }
+ };
+ var ListDirectoryBucketsCommand = class extends command5(_ep7, _mw05, "ListDirectoryBuckets", ListDirectoryBuckets$) {
+ static {
+ __name(this, "ListDirectoryBucketsCommand");
+ }
+ };
+ var ListMultipartUploadsCommand = class extends command5(_ep8, _mw05, "ListMultipartUploads", ListMultipartUploads$) {
+ static {
+ __name(this, "ListMultipartUploadsCommand");
+ }
+ };
+ var ListObjectAnnotationsCommand = class extends command5(_ep5, _mw05, "ListObjectAnnotations", ListObjectAnnotations$) {
+ static {
+ __name(this, "ListObjectAnnotationsCommand");
+ }
+ };
+ var ListObjectsCommand = class extends command5(_ep8, _mw05, "ListObjects", ListObjects$) {
+ static {
+ __name(this, "ListObjectsCommand");
+ }
+ };
+ var ListObjectsV2Command = class extends command5(_ep8, _mw05, "ListObjectsV2", ListObjectsV2$) {
+ static {
+ __name(this, "ListObjectsV2Command");
+ }
+ };
+ var ListObjectVersionsCommand = class extends command5(_ep8, _mw05, "ListObjectVersions", ListObjectVersions$) {
+ static {
+ __name(this, "ListObjectVersionsCommand");
+ }
+ };
+ var ListPartsCommand = class extends command5(_ep05, _mw1, "ListParts", ListParts$) {
+ static {
+ __name(this, "ListPartsCommand");
+ }
+ };
+ var PutBucketAbacCommand = class extends command5(_ep5, _mw9, "PutBucketAbac", PutBucketAbac$) {
+ static {
+ __name(this, "PutBucketAbacCommand");
+ }
+ };
+ var PutBucketAccelerateConfigurationCommand = class extends command5(_ep3, _mw9, "PutBucketAccelerateConfiguration", PutBucketAccelerateConfiguration$) {
+ static {
+ __name(this, "PutBucketAccelerateConfigurationCommand");
+ }
+ };
+ var PutBucketAclCommand = class extends command5(_ep3, _mw3, "PutBucketAcl", PutBucketAcl$) {
+ static {
+ __name(this, "PutBucketAclCommand");
+ }
+ };
+ var PutBucketAnalyticsConfigurationCommand = class extends command5(_ep3, _mw4, "PutBucketAnalyticsConfiguration", PutBucketAnalyticsConfiguration$) {
+ static {
+ __name(this, "PutBucketAnalyticsConfigurationCommand");
+ }
+ };
+ var PutBucketCorsCommand = class extends command5(_ep3, _mw3, "PutBucketCors", PutBucketCors$) {
+ static {
+ __name(this, "PutBucketCorsCommand");
+ }
+ };
+ var PutBucketEncryptionCommand = class extends command5(_ep3, _mw3, "PutBucketEncryption", PutBucketEncryption$) {
+ static {
+ __name(this, "PutBucketEncryptionCommand");
+ }
+ };
+ var PutBucketIntelligentTieringConfigurationCommand = class extends command5(_ep3, _mw4, "PutBucketIntelligentTieringConfiguration", PutBucketIntelligentTieringConfiguration$) {
+ static {
+ __name(this, "PutBucketIntelligentTieringConfigurationCommand");
+ }
+ };
+ var PutBucketInventoryConfigurationCommand = class extends command5(_ep3, _mw4, "PutBucketInventoryConfiguration", PutBucketInventoryConfiguration$) {
+ static {
+ __name(this, "PutBucketInventoryConfigurationCommand");
+ }
+ };
+ var PutBucketLifecycleConfigurationCommand = class extends command5(_ep3, _mw5, "PutBucketLifecycleConfiguration", PutBucketLifecycleConfiguration$) {
+ static {
+ __name(this, "PutBucketLifecycleConfigurationCommand");
+ }
+ };
+ var PutBucketLoggingCommand = class extends command5(_ep3, _mw3, "PutBucketLogging", PutBucketLogging$) {
+ static {
+ __name(this, "PutBucketLoggingCommand");
+ }
+ };
+ var PutBucketMetricsConfigurationCommand = class extends command5(_ep3, _mw4, "PutBucketMetricsConfiguration", PutBucketMetricsConfiguration$) {
+ static {
+ __name(this, "PutBucketMetricsConfigurationCommand");
+ }
+ };
+ var PutBucketNotificationConfigurationCommand = class extends command5(_ep3, _mw4, "PutBucketNotificationConfiguration", PutBucketNotificationConfiguration$) {
+ static {
+ __name(this, "PutBucketNotificationConfigurationCommand");
+ }
+ };
+ var PutBucketOwnershipControlsCommand = class extends command5(_ep3, _mw3, "PutBucketOwnershipControls", PutBucketOwnershipControls$) {
+ static {
+ __name(this, "PutBucketOwnershipControlsCommand");
+ }
+ };
+ var PutBucketPolicyCommand2 = class extends command5(_ep3, _mw3, "PutBucketPolicy", PutBucketPolicy$) {
+ static {
+ __name(this, "PutBucketPolicyCommand");
+ }
+ };
+ var PutBucketReplicationCommand = class extends command5(_ep3, _mw3, "PutBucketReplication", PutBucketReplication$) {
+ static {
+ __name(this, "PutBucketReplicationCommand");
+ }
+ };
+ var PutBucketRequestPaymentCommand = class extends command5(_ep3, _mw3, "PutBucketRequestPayment", PutBucketRequestPayment$) {
+ static {
+ __name(this, "PutBucketRequestPaymentCommand");
+ }
+ };
+ var PutBucketTaggingCommand = class extends command5(_ep3, _mw3, "PutBucketTagging", PutBucketTagging$) {
+ static {
+ __name(this, "PutBucketTaggingCommand");
+ }
+ };
+ var PutBucketVersioningCommand = class extends command5(_ep3, _mw3, "PutBucketVersioning", PutBucketVersioning$) {
+ static {
+ __name(this, "PutBucketVersioningCommand");
+ }
+ };
+ var PutBucketWebsiteCommand = class extends command5(_ep3, _mw3, "PutBucketWebsite", PutBucketWebsite$) {
+ static {
+ __name(this, "PutBucketWebsiteCommand");
+ }
+ };
+ var PutObjectAclCommand = class extends command5(_ep05, _mw5, "PutObjectAcl", PutObjectAcl$) {
+ static {
+ __name(this, "PutObjectAclCommand");
+ }
+ };
+ var PutObjectAnnotationCommand = class extends command5(_ep05, _mw10, "PutObjectAnnotation", PutObjectAnnotation$) {
+ static {
+ __name(this, "PutObjectAnnotationCommand");
+ }
+ };
+ var PutObjectCommand2 = class extends command5(_ep05, _mw11, "PutObject", PutObject$) {
+ static {
+ __name(this, "PutObjectCommand");
+ }
+ };
+ var PutObjectLegalHoldCommand = class extends command5(_ep5, _mw5, "PutObjectLegalHold", PutObjectLegalHold$) {
+ static {
+ __name(this, "PutObjectLegalHoldCommand");
+ }
+ };
+ var PutObjectLockConfigurationCommand = class extends command5(_ep5, _mw5, "PutObjectLockConfiguration", PutObjectLockConfiguration$) {
+ static {
+ __name(this, "PutObjectLockConfigurationCommand");
+ }
+ };
+ var PutObjectRetentionCommand = class extends command5(_ep5, _mw5, "PutObjectRetention", PutObjectRetention$) {
+ static {
+ __name(this, "PutObjectRetentionCommand");
+ }
+ };
+ var PutObjectTaggingCommand = class extends command5(_ep5, _mw5, "PutObjectTagging", PutObjectTagging$) {
+ static {
+ __name(this, "PutObjectTaggingCommand");
+ }
+ };
+ var PutPublicAccessBlockCommand = class extends command5(_ep3, _mw3, "PutPublicAccessBlock", PutPublicAccessBlock$) {
+ static {
+ __name(this, "PutPublicAccessBlockCommand");
+ }
+ };
+ var RenameObjectCommand = class extends command5(_ep05, _mw05, "RenameObject", RenameObject$) {
+ static {
+ __name(this, "RenameObjectCommand");
+ }
+ };
+ var RestoreObjectCommand = class extends command5(_ep5, _mw10, "RestoreObject", RestoreObject$) {
+ static {
+ __name(this, "RestoreObjectCommand");
+ }
+ };
+ var SelectObjectContentCommand = class extends command5(_ep5, _mw12, "SelectObjectContent", SelectObjectContent$) {
+ static {
+ __name(this, "SelectObjectContentCommand");
+ }
+ };
+ var UpdateBucketMetadataAnnotationTableConfigurationCommand = class extends command5(_ep3, _mw3, "UpdateBucketMetadataAnnotationTableConfiguration", UpdateBucketMetadataAnnotationTableConfiguration$) {
+ static {
+ __name(this, "UpdateBucketMetadataAnnotationTableConfigurationCommand");
+ }
+ };
+ var UpdateBucketMetadataInventoryTableConfigurationCommand = class extends command5(_ep3, _mw3, "UpdateBucketMetadataInventoryTableConfiguration", UpdateBucketMetadataInventoryTableConfiguration$) {
+ static {
+ __name(this, "UpdateBucketMetadataInventoryTableConfigurationCommand");
+ }
+ };
+ var UpdateBucketMetadataJournalTableConfigurationCommand = class extends command5(_ep3, _mw3, "UpdateBucketMetadataJournalTableConfiguration", UpdateBucketMetadataJournalTableConfiguration$) {
+ static {
+ __name(this, "UpdateBucketMetadataJournalTableConfigurationCommand");
+ }
+ };
+ var UpdateObjectEncryptionCommand = class extends command5(_ep5, _mw5, "UpdateObjectEncryption", UpdateObjectEncryption$) {
+ static {
+ __name(this, "UpdateObjectEncryptionCommand");
+ }
+ };
+ var UploadPartCommand = class extends command5(_ep05, _mw13, "UploadPart", UploadPart$) {
+ static {
+ __name(this, "UploadPartCommand");
+ }
+ };
+ var UploadPartCopyCommand = class extends command5(_ep4, _mw1, "UploadPartCopy", UploadPartCopy$) {
+ static {
+ __name(this, "UploadPartCopyCommand");
+ }
+ };
+ var WriteGetObjectResponseCommand = class extends command5(_ep9, _mw4, "WriteGetObjectResponse", WriteGetObjectResponse$) {
+ static {
+ __name(this, "WriteGetObjectResponseCommand");
+ }
+ };
+ var paginateListBuckets = createPaginator2(S3Client2, ListBucketsCommand, "ContinuationToken", "ContinuationToken", "MaxBuckets");
+ var paginateListDirectoryBuckets = createPaginator2(S3Client2, ListDirectoryBucketsCommand, "ContinuationToken", "ContinuationToken", "MaxDirectoryBuckets");
+ var paginateListObjectAnnotations = createPaginator2(S3Client2, ListObjectAnnotationsCommand, "ContinuationToken", "NextContinuationToken", "MaxAnnotationResults");
+ var paginateListObjectsV2 = createPaginator2(S3Client2, ListObjectsV2Command, "ContinuationToken", "NextContinuationToken", "MaxKeys");
+ var paginateListParts = createPaginator2(S3Client2, ListPartsCommand, "PartNumberMarker", "NextPartNumberMarker", "MaxParts");
+ var checkState$3 = /* @__PURE__ */ __name(async (client, input2) => {
+ let reason;
+ try {
+ let result = await client.send(new HeadBucketCommand2(input2));
+ reason = result;
+ return { state: WaiterState.SUCCESS, reason };
+ } catch (exception) {
+ reason = exception;
+ if (exception.name === "NotFound") {
+ return { state: WaiterState.RETRY, reason };
+ }
+ }
+ return { state: WaiterState.RETRY, reason };
+ }, "checkState$3");
+ var waitForBucketExists = /* @__PURE__ */ __name(async (params, input2) => {
+ const serviceDefaults = { minDelay: 5, maxDelay: 120 };
+ return createWaiter({ ...serviceDefaults, ...params }, input2, checkState$3);
+ }, "waitForBucketExists");
+ var waitUntilBucketExists = /* @__PURE__ */ __name(async (params, input2) => {
+ const serviceDefaults = { minDelay: 5, maxDelay: 120 };
+ const result = await createWaiter({ ...serviceDefaults, ...params }, input2, checkState$3);
+ return checkExceptions(result);
+ }, "waitUntilBucketExists");
+ var checkState$2 = /* @__PURE__ */ __name(async (client, input2) => {
+ let reason;
+ try {
+ let result = await client.send(new HeadBucketCommand2(input2));
+ reason = result;
+ } catch (exception) {
+ reason = exception;
+ if (exception.name === "NotFound") {
+ return { state: WaiterState.SUCCESS, reason };
+ }
+ }
+ return { state: WaiterState.RETRY, reason };
+ }, "checkState$2");
+ var waitForBucketNotExists = /* @__PURE__ */ __name(async (params, input2) => {
+ const serviceDefaults = { minDelay: 5, maxDelay: 120 };
+ return createWaiter({ ...serviceDefaults, ...params }, input2, checkState$2);
+ }, "waitForBucketNotExists");
+ var waitUntilBucketNotExists = /* @__PURE__ */ __name(async (params, input2) => {
+ const serviceDefaults = { minDelay: 5, maxDelay: 120 };
+ const result = await createWaiter({ ...serviceDefaults, ...params }, input2, checkState$2);
+ return checkExceptions(result);
+ }, "waitUntilBucketNotExists");
+ var checkState$1 = /* @__PURE__ */ __name(async (client, input2) => {
+ let reason;
+ try {
+ let result = await client.send(new HeadObjectCommand(input2));
+ reason = result;
+ return { state: WaiterState.SUCCESS, reason };
+ } catch (exception) {
+ reason = exception;
+ if (exception.name === "NotFound") {
+ return { state: WaiterState.RETRY, reason };
+ }
+ }
+ return { state: WaiterState.RETRY, reason };
+ }, "checkState$1");
+ var waitForObjectExists = /* @__PURE__ */ __name(async (params, input2) => {
+ const serviceDefaults = { minDelay: 5, maxDelay: 120 };
+ return createWaiter({ ...serviceDefaults, ...params }, input2, checkState$1);
+ }, "waitForObjectExists");
+ var waitUntilObjectExists = /* @__PURE__ */ __name(async (params, input2) => {
+ const serviceDefaults = { minDelay: 5, maxDelay: 120 };
+ const result = await createWaiter({ ...serviceDefaults, ...params }, input2, checkState$1);
+ return checkExceptions(result);
+ }, "waitUntilObjectExists");
+ var checkState = /* @__PURE__ */ __name(async (client, input2) => {
+ let reason;
+ try {
+ let result = await client.send(new HeadObjectCommand(input2));
+ reason = result;
+ } catch (exception) {
+ reason = exception;
+ if (exception.name === "NotFound") {
+ return { state: WaiterState.SUCCESS, reason };
+ }
+ }
+ return { state: WaiterState.RETRY, reason };
+ }, "checkState");
+ var waitForObjectNotExists = /* @__PURE__ */ __name(async (params, input2) => {
+ const serviceDefaults = { minDelay: 5, maxDelay: 120 };
+ return createWaiter({ ...serviceDefaults, ...params }, input2, checkState);
+ }, "waitForObjectNotExists");
+ var waitUntilObjectNotExists = /* @__PURE__ */ __name(async (params, input2) => {
+ const serviceDefaults = { minDelay: 5, maxDelay: 120 };
+ const result = await createWaiter({ ...serviceDefaults, ...params }, input2, checkState);
+ return checkExceptions(result);
+ }, "waitUntilObjectNotExists");
+ var commands5 = {
+ AbortMultipartUploadCommand,
+ CompleteMultipartUploadCommand,
+ CopyObjectCommand,
+ CreateBucketCommand: CreateBucketCommand2,
+ CreateBucketMetadataConfigurationCommand,
+ CreateBucketMetadataTableConfigurationCommand,
+ CreateMultipartUploadCommand,
+ CreateSessionCommand,
+ DeleteBucketCommand,
+ DeleteBucketAnalyticsConfigurationCommand,
+ DeleteBucketCorsCommand,
+ DeleteBucketEncryptionCommand,
+ DeleteBucketIntelligentTieringConfigurationCommand,
+ DeleteBucketInventoryConfigurationCommand,
+ DeleteBucketLifecycleCommand,
+ DeleteBucketMetadataConfigurationCommand,
+ DeleteBucketMetadataTableConfigurationCommand,
+ DeleteBucketMetricsConfigurationCommand,
+ DeleteBucketOwnershipControlsCommand,
+ DeleteBucketPolicyCommand,
+ DeleteBucketReplicationCommand,
+ DeleteBucketTaggingCommand,
+ DeleteBucketWebsiteCommand,
+ DeleteObjectCommand: DeleteObjectCommand2,
+ DeleteObjectAnnotationCommand,
+ DeleteObjectsCommand,
+ DeleteObjectTaggingCommand,
+ DeletePublicAccessBlockCommand,
+ GetBucketAbacCommand,
+ GetBucketAccelerateConfigurationCommand,
+ GetBucketAclCommand,
+ GetBucketAnalyticsConfigurationCommand,
+ GetBucketCorsCommand,
+ GetBucketEncryptionCommand,
+ GetBucketIntelligentTieringConfigurationCommand,
+ GetBucketInventoryConfigurationCommand,
+ GetBucketLifecycleConfigurationCommand,
+ GetBucketLocationCommand,
+ GetBucketLoggingCommand,
+ GetBucketMetadataConfigurationCommand,
+ GetBucketMetadataTableConfigurationCommand,
+ GetBucketMetricsConfigurationCommand,
+ GetBucketNotificationConfigurationCommand,
+ GetBucketOwnershipControlsCommand,
+ GetBucketPolicyCommand,
+ GetBucketPolicyStatusCommand,
+ GetBucketReplicationCommand,
+ GetBucketRequestPaymentCommand,
+ GetBucketTaggingCommand,
+ GetBucketVersioningCommand,
+ GetBucketWebsiteCommand,
+ GetObjectCommand,
+ GetObjectAclCommand,
+ GetObjectAnnotationCommand,
+ GetObjectAttributesCommand,
+ GetObjectLegalHoldCommand,
+ GetObjectLockConfigurationCommand,
+ GetObjectRetentionCommand,
+ GetObjectTaggingCommand,
+ GetObjectTorrentCommand,
+ GetPublicAccessBlockCommand,
+ HeadBucketCommand: HeadBucketCommand2,
+ HeadObjectCommand,
+ ListBucketAnalyticsConfigurationsCommand,
+ ListBucketIntelligentTieringConfigurationsCommand,
+ ListBucketInventoryConfigurationsCommand,
+ ListBucketMetricsConfigurationsCommand,
+ ListBucketsCommand,
+ ListDirectoryBucketsCommand,
+ ListMultipartUploadsCommand,
+ ListObjectAnnotationsCommand,
+ ListObjectsCommand,
+ ListObjectsV2Command,
+ ListObjectVersionsCommand,
+ ListPartsCommand,
+ PutBucketAbacCommand,
+ PutBucketAccelerateConfigurationCommand,
+ PutBucketAclCommand,
+ PutBucketAnalyticsConfigurationCommand,
+ PutBucketCorsCommand,
+ PutBucketEncryptionCommand,
+ PutBucketIntelligentTieringConfigurationCommand,
+ PutBucketInventoryConfigurationCommand,
+ PutBucketLifecycleConfigurationCommand,
+ PutBucketLoggingCommand,
+ PutBucketMetricsConfigurationCommand,
+ PutBucketNotificationConfigurationCommand,
+ PutBucketOwnershipControlsCommand,
+ PutBucketPolicyCommand: PutBucketPolicyCommand2,
+ PutBucketReplicationCommand,
+ PutBucketRequestPaymentCommand,
+ PutBucketTaggingCommand,
+ PutBucketVersioningCommand,
+ PutBucketWebsiteCommand,
+ PutObjectCommand: PutObjectCommand2,
+ PutObjectAclCommand,
+ PutObjectAnnotationCommand,
+ PutObjectLegalHoldCommand,
+ PutObjectLockConfigurationCommand,
+ PutObjectRetentionCommand,
+ PutObjectTaggingCommand,
+ PutPublicAccessBlockCommand,
+ RenameObjectCommand,
+ RestoreObjectCommand,
+ SelectObjectContentCommand,
+ UpdateBucketMetadataAnnotationTableConfigurationCommand,
+ UpdateBucketMetadataInventoryTableConfigurationCommand,
+ UpdateBucketMetadataJournalTableConfigurationCommand,
+ UpdateObjectEncryptionCommand,
+ UploadPartCommand,
+ UploadPartCopyCommand,
+ WriteGetObjectResponseCommand
+ };
+ var paginators = {
+ paginateListBuckets,
+ paginateListDirectoryBuckets,
+ paginateListObjectAnnotations,
+ paginateListObjectsV2,
+ paginateListParts
+ };
+ var waiters = {
+ waitUntilBucketExists,
+ waitUntilBucketNotExists,
+ waitUntilObjectExists,
+ waitUntilObjectNotExists
+ };
+ var S3 = class extends S3Client2 {
+ static {
+ __name(this, "S3");
+ }
+ };
+ createAggregatedClient2(commands5, S3, { paginators, waiters });
+ var BucketAbacStatus = {
+ Disabled: "Disabled",
+ Enabled: "Enabled"
+ };
+ var RequestCharged = {
+ requester: "requester"
+ };
+ var RequestPayer = {
+ requester: "requester"
+ };
+ var BucketAccelerateStatus = {
+ Enabled: "Enabled",
+ Suspended: "Suspended"
+ };
+ var Type = {
+ AmazonCustomerByEmail: "AmazonCustomerByEmail",
+ CanonicalUser: "CanonicalUser",
+ Group: "Group"
+ };
+ var Permission = {
+ FULL_CONTROL: "FULL_CONTROL",
+ READ: "READ",
+ READ_ACP: "READ_ACP",
+ WRITE: "WRITE",
+ WRITE_ACP: "WRITE_ACP"
+ };
+ var OwnerOverride = {
+ Destination: "Destination"
+ };
+ var ChecksumType = {
+ COMPOSITE: "COMPOSITE",
+ FULL_OBJECT: "FULL_OBJECT"
+ };
+ var ServerSideEncryption = {
+ AES256: "AES256",
+ aws_backup: "aws:backup",
+ aws_fsx: "aws:fsx",
+ aws_kms: "aws:kms",
+ aws_kms_dsse: "aws:kms:dsse"
+ };
+ var ObjectCannedACL = {
+ authenticated_read: "authenticated-read",
+ aws_exec_read: "aws-exec-read",
+ bucket_owner_full_control: "bucket-owner-full-control",
+ bucket_owner_read: "bucket-owner-read",
+ private: "private",
+ public_read: "public-read",
+ public_read_write: "public-read-write"
+ };
+ var AnnotationDirective = {
+ COPY: "COPY",
+ EXCLUDE: "EXCLUDE"
+ };
+ var ChecksumAlgorithm2 = {
+ CRC32: "CRC32",
+ CRC32C: "CRC32C",
+ CRC64NVME: "CRC64NVME",
+ MD5: "MD5",
+ SHA1: "SHA1",
+ SHA256: "SHA256",
+ SHA512: "SHA512",
+ XXHASH128: "XXHASH128",
+ XXHASH3: "XXHASH3",
+ XXHASH64: "XXHASH64"
+ };
+ var MetadataDirective = {
+ COPY: "COPY",
+ REPLACE: "REPLACE"
+ };
+ var ObjectLockEventHold = {
+ OFF: "OFF",
+ ON: "ON"
+ };
+ var ObjectLockLegalHoldStatus = {
+ OFF: "OFF",
+ ON: "ON"
+ };
+ var ObjectLockMode = {
+ COMPLIANCE: "COMPLIANCE",
+ GOVERNANCE: "GOVERNANCE"
+ };
+ var StorageClass = {
+ AWS_BACKUP_LOW_COST_WARM: "AWS_BACKUP_LOW_COST_WARM",
+ AWS_BACKUP_WARM: "AWS_BACKUP_WARM",
+ DEEP_ARCHIVE: "DEEP_ARCHIVE",
+ EXPRESS_ONEZONE: "EXPRESS_ONEZONE",
+ FSX_ONTAP: "FSX_ONTAP",
+ FSX_OPENZFS: "FSX_OPENZFS",
+ GLACIER: "GLACIER",
+ GLACIER_IR: "GLACIER_IR",
+ INTELLIGENT_TIERING: "INTELLIGENT_TIERING",
+ ONEZONE_IA: "ONEZONE_IA",
+ OUTPOSTS: "OUTPOSTS",
+ REDUCED_REDUNDANCY: "REDUCED_REDUNDANCY",
+ SNOW: "SNOW",
+ STANDARD: "STANDARD",
+ STANDARD_IA: "STANDARD_IA"
+ };
+ var TaggingDirective = {
+ COPY: "COPY",
+ REPLACE: "REPLACE"
+ };
+ var BucketCannedACL = {
+ authenticated_read: "authenticated-read",
+ private: "private",
+ public_read: "public-read",
+ public_read_write: "public-read-write"
+ };
+ var BucketNamespace = {
+ ACCOUNT_REGIONAL: "account-regional",
+ GLOBAL: "global"
+ };
+ var DataRedundancy = {
+ SingleAvailabilityZone: "SingleAvailabilityZone",
+ SingleLocalZone: "SingleLocalZone"
+ };
+ var BucketType = {
+ Directory: "Directory"
+ };
+ var LocationType = {
+ AvailabilityZone: "AvailabilityZone",
+ LocalZone: "LocalZone"
+ };
+ var BucketLocationConstraint = {
+ EU: "EU",
+ af_south_1: "af-south-1",
+ ap_east_1: "ap-east-1",
+ ap_east_2: "ap-east-2",
+ ap_northeast_1: "ap-northeast-1",
+ ap_northeast_2: "ap-northeast-2",
+ ap_northeast_3: "ap-northeast-3",
+ ap_south_1: "ap-south-1",
+ ap_south_2: "ap-south-2",
+ ap_southeast_1: "ap-southeast-1",
+ ap_southeast_2: "ap-southeast-2",
+ ap_southeast_3: "ap-southeast-3",
+ ap_southeast_4: "ap-southeast-4",
+ ap_southeast_5: "ap-southeast-5",
+ ap_southeast_6: "ap-southeast-6",
+ ap_southeast_7: "ap-southeast-7",
+ ca_central_1: "ca-central-1",
+ ca_west_1: "ca-west-1",
+ cn_north_1: "cn-north-1",
+ cn_northwest_1: "cn-northwest-1",
+ eu_central_1: "eu-central-1",
+ eu_central_2: "eu-central-2",
+ eu_north_1: "eu-north-1",
+ eu_south_1: "eu-south-1",
+ eu_south_2: "eu-south-2",
+ eu_west_1: "eu-west-1",
+ eu_west_2: "eu-west-2",
+ eu_west_3: "eu-west-3",
+ il_central_1: "il-central-1",
+ me_central_1: "me-central-1",
+ me_south_1: "me-south-1",
+ mx_central_1: "mx-central-1",
+ sa_east_1: "sa-east-1",
+ us_east_2: "us-east-2",
+ us_gov_east_1: "us-gov-east-1",
+ us_gov_west_1: "us-gov-west-1",
+ us_west_1: "us-west-1",
+ us_west_2: "us-west-2"
+ };
+ var ObjectOwnership = {
+ BucketOwnerEnforced: "BucketOwnerEnforced",
+ BucketOwnerPreferred: "BucketOwnerPreferred",
+ ObjectWriter: "ObjectWriter"
+ };
+ var AnnotationConfigurationState = {
+ DISABLED: "DISABLED",
+ ENABLED: "ENABLED"
+ };
+ var TableSseAlgorithm = {
+ AES256: "AES256",
+ aws_kms: "aws:kms"
+ };
+ var InventoryConfigurationState = {
+ DISABLED: "DISABLED",
+ ENABLED: "ENABLED"
+ };
+ var ExpirationState = {
+ DISABLED: "DISABLED",
+ ENABLED: "ENABLED"
+ };
+ var SessionMode = {
+ ReadOnly: "ReadOnly",
+ ReadWrite: "ReadWrite"
+ };
+ var AnalyticsS3ExportFileFormat = {
+ CSV: "CSV"
+ };
+ var StorageClassAnalysisSchemaVersion = {
+ V_1: "V_1"
+ };
+ var EncryptionType = {
+ NONE: "NONE",
+ SSE_C: "SSE-C"
+ };
+ var IntelligentTieringStatus = {
+ Disabled: "Disabled",
+ Enabled: "Enabled"
+ };
+ var IntelligentTieringAccessTier = {
+ ARCHIVE_ACCESS: "ARCHIVE_ACCESS",
+ DEEP_ARCHIVE_ACCESS: "DEEP_ARCHIVE_ACCESS"
+ };
+ var InventoryFormat = {
+ CSV: "CSV",
+ ORC: "ORC",
+ Parquet: "Parquet"
+ };
+ var InventoryIncludedObjectVersions = {
+ All: "All",
+ Current: "Current"
+ };
+ var InventoryOptionalField = {
+ BucketKeyStatus: "BucketKeyStatus",
+ ChecksumAlgorithm: "ChecksumAlgorithm",
+ ETag: "ETag",
+ EncryptionStatus: "EncryptionStatus",
+ IntelligentTieringAccessTier: "IntelligentTieringAccessTier",
+ IntelligentTieringReferenceDate: "IntelligentTieringReferenceDate",
+ IsMultipartUploaded: "IsMultipartUploaded",
+ LastModifiedDate: "LastModifiedDate",
+ LifecycleExpirationDate: "LifecycleExpirationDate",
+ ObjectAccessControlList: "ObjectAccessControlList",
+ ObjectLockEventHoldDuration: "ObjectLockEventHoldDuration",
+ ObjectLockEventHoldStatus: "ObjectLockEventHoldStatus",
+ ObjectLockLegalHoldStatus: "ObjectLockLegalHoldStatus",
+ ObjectLockMode: "ObjectLockMode",
+ ObjectLockRetainUntilDate: "ObjectLockRetainUntilDate",
+ ObjectOwner: "ObjectOwner",
+ ReplicationStatus: "ReplicationStatus",
+ Size: "Size",
+ StorageClass: "StorageClass"
+ };
+ var InventoryFrequency = {
+ Daily: "Daily",
+ Weekly: "Weekly"
+ };
+ var TransitionStorageClass = {
+ DEEP_ARCHIVE: "DEEP_ARCHIVE",
+ GLACIER: "GLACIER",
+ GLACIER_IR: "GLACIER_IR",
+ INTELLIGENT_TIERING: "INTELLIGENT_TIERING",
+ ONEZONE_IA: "ONEZONE_IA",
+ STANDARD_IA: "STANDARD_IA"
+ };
+ var ExpirationStatus = {
+ Disabled: "Disabled",
+ Enabled: "Enabled"
+ };
+ var TransitionDefaultMinimumObjectSize = {
+ all_storage_classes_128K: "all_storage_classes_128K",
+ varies_by_storage_class: "varies_by_storage_class"
+ };
+ var BucketLogsPermission = {
+ FULL_CONTROL: "FULL_CONTROL",
+ READ: "READ",
+ WRITE: "WRITE"
+ };
+ var PartitionDateSource = {
+ DeliveryTime: "DeliveryTime",
+ EventTime: "EventTime"
+ };
+ var S3TablesBucketType = {
+ aws: "aws",
+ customer: "customer"
+ };
+ var Event = {
+ s3_IntelligentTiering: "s3:IntelligentTiering",
+ s3_LifecycleExpiration_: "s3:LifecycleExpiration:*",
+ s3_LifecycleExpiration_Delete: "s3:LifecycleExpiration:Delete",
+ s3_LifecycleExpiration_DeleteMarkerCreated: "s3:LifecycleExpiration:DeleteMarkerCreated",
+ s3_LifecycleTransition: "s3:LifecycleTransition",
+ s3_ObjectAcl_Put: "s3:ObjectAcl:Put",
+ s3_ObjectAnnotation_: "s3:ObjectAnnotation:*",
+ s3_ObjectAnnotation_Delete: "s3:ObjectAnnotation:Delete",
+ s3_ObjectAnnotation_Put: "s3:ObjectAnnotation:Put",
+ s3_ObjectCreated_: "s3:ObjectCreated:*",
+ s3_ObjectCreated_CompleteMultipartUpload: "s3:ObjectCreated:CompleteMultipartUpload",
+ s3_ObjectCreated_Copy: "s3:ObjectCreated:Copy",
+ s3_ObjectCreated_Post: "s3:ObjectCreated:Post",
+ s3_ObjectCreated_Put: "s3:ObjectCreated:Put",
+ s3_ObjectRemoved_: "s3:ObjectRemoved:*",
+ s3_ObjectRemoved_Delete: "s3:ObjectRemoved:Delete",
+ s3_ObjectRemoved_DeleteMarkerCreated: "s3:ObjectRemoved:DeleteMarkerCreated",
+ s3_ObjectRestore_: "s3:ObjectRestore:*",
+ s3_ObjectRestore_Completed: "s3:ObjectRestore:Completed",
+ s3_ObjectRestore_Delete: "s3:ObjectRestore:Delete",
+ s3_ObjectRestore_Post: "s3:ObjectRestore:Post",
+ s3_ObjectRetention_Put: "s3:ObjectRetention:Put",
+ s3_ObjectTagging_: "s3:ObjectTagging:*",
+ s3_ObjectTagging_Delete: "s3:ObjectTagging:Delete",
+ s3_ObjectTagging_Put: "s3:ObjectTagging:Put",
+ s3_ReducedRedundancyLostObject: "s3:ReducedRedundancyLostObject",
+ s3_Replication_: "s3:Replication:*",
+ s3_Replication_OperationFailedReplication: "s3:Replication:OperationFailedReplication",
+ s3_Replication_OperationMissedThreshold: "s3:Replication:OperationMissedThreshold",
+ s3_Replication_OperationNotTracked: "s3:Replication:OperationNotTracked",
+ s3_Replication_OperationReplicatedAfterThreshold: "s3:Replication:OperationReplicatedAfterThreshold"
+ };
+ var FilterRuleName = {
+ prefix: "prefix",
+ suffix: "suffix"
+ };
+ var DeleteMarkerReplicationStatus = {
+ Disabled: "Disabled",
+ Enabled: "Enabled"
+ };
+ var MetricsStatus = {
+ Disabled: "Disabled",
+ Enabled: "Enabled"
+ };
+ var ReplicationTimeStatus = {
+ Disabled: "Disabled",
+ Enabled: "Enabled"
+ };
+ var ExistingObjectReplicationStatus = {
+ Disabled: "Disabled",
+ Enabled: "Enabled"
+ };
+ var ReplicaModificationsStatus = {
+ Disabled: "Disabled",
+ Enabled: "Enabled"
+ };
+ var SseKmsEncryptedObjectsStatus = {
+ Disabled: "Disabled",
+ Enabled: "Enabled"
+ };
+ var ReplicationRuleStatus = {
+ Disabled: "Disabled",
+ Enabled: "Enabled"
+ };
+ var Payer = {
+ BucketOwner: "BucketOwner",
+ Requester: "Requester"
+ };
+ var MFADeleteStatus = {
+ Disabled: "Disabled",
+ Enabled: "Enabled"
+ };
+ var BucketVersioningStatus = {
+ Enabled: "Enabled",
+ Suspended: "Suspended"
+ };
+ var Protocol = {
+ http: "http",
+ https: "https"
+ };
+ var ReplicationStatus = {
+ COMPLETE: "COMPLETE",
+ COMPLETED: "COMPLETED",
+ FAILED: "FAILED",
+ PENDING: "PENDING",
+ REPLICA: "REPLICA"
+ };
+ var ChecksumMode = {
+ ENABLED: "ENABLED"
+ };
+ var ObjectAttributes = {
+ CHECKSUM: "Checksum",
+ ETAG: "ETag",
+ OBJECT_PARTS: "ObjectParts",
+ OBJECT_SIZE: "ObjectSize",
+ STORAGE_CLASS: "StorageClass"
+ };
+ var ObjectLockEnabled = {
+ Enabled: "Enabled"
+ };
+ var ObjectLockRetentionMode = {
+ COMPLIANCE: "COMPLIANCE",
+ GOVERNANCE: "GOVERNANCE"
+ };
+ var ArchiveStatus = {
+ ARCHIVE_ACCESS: "ARCHIVE_ACCESS",
+ DEEP_ARCHIVE_ACCESS: "DEEP_ARCHIVE_ACCESS"
+ };
+ var EncodingType = {
+ url: "url"
+ };
+ var ObjectStorageClass = {
+ AWS_BACKUP_LOW_COST_WARM: "AWS_BACKUP_LOW_COST_WARM",
+ AWS_BACKUP_WARM: "AWS_BACKUP_WARM",
+ DEEP_ARCHIVE: "DEEP_ARCHIVE",
+ EXPRESS_ONEZONE: "EXPRESS_ONEZONE",
+ FSX_ONTAP: "FSX_ONTAP",
+ FSX_OPENZFS: "FSX_OPENZFS",
+ GLACIER: "GLACIER",
+ GLACIER_IR: "GLACIER_IR",
+ INTELLIGENT_TIERING: "INTELLIGENT_TIERING",
+ ONEZONE_IA: "ONEZONE_IA",
+ OUTPOSTS: "OUTPOSTS",
+ REDUCED_REDUNDANCY: "REDUCED_REDUNDANCY",
+ SNOW: "SNOW",
+ STANDARD: "STANDARD",
+ STANDARD_IA: "STANDARD_IA"
+ };
+ var OptionalObjectAttributes = {
+ RESTORE_STATUS: "RestoreStatus"
+ };
+ var ObjectVersionStorageClass = {
+ STANDARD: "STANDARD"
+ };
+ var MFADelete = {
+ Disabled: "Disabled",
+ Enabled: "Enabled"
+ };
+ var Tier = {
+ Bulk: "Bulk",
+ Expedited: "Expedited",
+ Standard: "Standard"
+ };
+ var ExpressionType = {
+ SQL: "SQL"
+ };
+ var CompressionType = {
+ BZIP2: "BZIP2",
+ GZIP: "GZIP",
+ NONE: "NONE"
+ };
+ var FileHeaderInfo = {
+ IGNORE: "IGNORE",
+ NONE: "NONE",
+ USE: "USE"
+ };
+ var JSONType = {
+ DOCUMENT: "DOCUMENT",
+ LINES: "LINES"
+ };
+ var QuoteFields = {
+ ALWAYS: "ALWAYS",
+ ASNEEDED: "ASNEEDED"
+ };
+ var RestoreRequestType = {
+ SELECT: "SELECT"
+ };
+ exports.AbacStatus$ = AbacStatus$;
+ exports.AbortIncompleteMultipartUpload$ = AbortIncompleteMultipartUpload$;
+ exports.AbortMultipartUpload$ = AbortMultipartUpload$;
+ exports.AbortMultipartUploadCommand = AbortMultipartUploadCommand;
+ exports.AbortMultipartUploadOutput$ = AbortMultipartUploadOutput$;
+ exports.AbortMultipartUploadRequest$ = AbortMultipartUploadRequest$;
+ exports.AccelerateConfiguration$ = AccelerateConfiguration$;
+ exports.AccessControlPolicy$ = AccessControlPolicy$;
+ exports.AccessControlTranslation$ = AccessControlTranslation$;
+ exports.AccessDenied = AccessDenied;
+ exports.AccessDenied$ = AccessDenied$;
+ exports.AnalyticsAndOperator$ = AnalyticsAndOperator$;
+ exports.AnalyticsConfiguration$ = AnalyticsConfiguration$;
+ exports.AnalyticsExportDestination$ = AnalyticsExportDestination$;
+ exports.AnalyticsFilter$ = AnalyticsFilter$;
+ exports.AnalyticsS3BucketDestination$ = AnalyticsS3BucketDestination$;
+ exports.AnalyticsS3ExportFileFormat = AnalyticsS3ExportFileFormat;
+ exports.AnnotationConfigurationState = AnnotationConfigurationState;
+ exports.AnnotationDirective = AnnotationDirective;
+ exports.AnnotationEntry$ = AnnotationEntry$;
+ exports.AnnotationLimitExceeded = AnnotationLimitExceeded;
+ exports.AnnotationLimitExceeded$ = AnnotationLimitExceeded$;
+ exports.AnnotationNameTooLong = AnnotationNameTooLong;
+ exports.AnnotationNameTooLong$ = AnnotationNameTooLong$;
+ exports.AnnotationTableConfiguration$ = AnnotationTableConfiguration$;
+ exports.AnnotationTableConfigurationResult$ = AnnotationTableConfigurationResult$;
+ exports.AnnotationTableConfigurationUpdates$ = AnnotationTableConfigurationUpdates$;
+ exports.ArchiveStatus = ArchiveStatus;
+ exports.BlockedEncryptionTypes$ = BlockedEncryptionTypes$;
+ exports.Bucket$ = Bucket$;
+ exports.BucketAbacStatus = BucketAbacStatus;
+ exports.BucketAccelerateStatus = BucketAccelerateStatus;
+ exports.BucketAlreadyExists = BucketAlreadyExists;
+ exports.BucketAlreadyExists$ = BucketAlreadyExists$;
+ exports.BucketAlreadyOwnedByYou = BucketAlreadyOwnedByYou;
+ exports.BucketAlreadyOwnedByYou$ = BucketAlreadyOwnedByYou$;
+ exports.BucketCannedACL = BucketCannedACL;
+ exports.BucketInfo$ = BucketInfo$;
+ exports.BucketLifecycleConfiguration$ = BucketLifecycleConfiguration$;
+ exports.BucketLocationConstraint = BucketLocationConstraint;
+ exports.BucketLoggingStatus$ = BucketLoggingStatus$;
+ exports.BucketLogsPermission = BucketLogsPermission;
+ exports.BucketNamespace = BucketNamespace;
+ exports.BucketType = BucketType;
+ exports.BucketVersioningStatus = BucketVersioningStatus;
+ exports.CORSConfiguration$ = CORSConfiguration$;
+ exports.CORSRule$ = CORSRule$;
+ exports.CSVInput$ = CSVInput$;
+ exports.CSVOutput$ = CSVOutput$;
+ exports.Checksum$ = Checksum$;
+ exports.ChecksumAlgorithm = ChecksumAlgorithm2;
+ exports.ChecksumMode = ChecksumMode;
+ exports.ChecksumType = ChecksumType;
+ exports.CommonPrefix$ = CommonPrefix$;
+ exports.CompleteMultipartUpload$ = CompleteMultipartUpload$;
+ exports.CompleteMultipartUploadCommand = CompleteMultipartUploadCommand;
+ exports.CompleteMultipartUploadOutput$ = CompleteMultipartUploadOutput$;
+ exports.CompleteMultipartUploadRequest$ = CompleteMultipartUploadRequest$;
+ exports.CompletedMultipartUpload$ = CompletedMultipartUpload$;
+ exports.CompletedPart$ = CompletedPart$;
+ exports.CompressionType = CompressionType;
+ exports.Condition$ = Condition$;
+ exports.ContinuationEvent$ = ContinuationEvent$;
+ exports.CopyObject$ = CopyObject$;
+ exports.CopyObjectCommand = CopyObjectCommand;
+ exports.CopyObjectOutput$ = CopyObjectOutput$;
+ exports.CopyObjectRequest$ = CopyObjectRequest$;
+ exports.CopyObjectResult$ = CopyObjectResult$;
+ exports.CopyPartResult$ = CopyPartResult$;
+ exports.CreateBucket$ = CreateBucket$;
+ exports.CreateBucketCommand = CreateBucketCommand2;
+ exports.CreateBucketConfiguration$ = CreateBucketConfiguration$;
+ exports.CreateBucketMetadataConfiguration$ = CreateBucketMetadataConfiguration$;
+ exports.CreateBucketMetadataConfigurationCommand = CreateBucketMetadataConfigurationCommand;
+ exports.CreateBucketMetadataConfigurationRequest$ = CreateBucketMetadataConfigurationRequest$;
+ exports.CreateBucketMetadataTableConfiguration$ = CreateBucketMetadataTableConfiguration$;
+ exports.CreateBucketMetadataTableConfigurationCommand = CreateBucketMetadataTableConfigurationCommand;
+ exports.CreateBucketMetadataTableConfigurationRequest$ = CreateBucketMetadataTableConfigurationRequest$;
+ exports.CreateBucketOutput$ = CreateBucketOutput$;
+ exports.CreateBucketRequest$ = CreateBucketRequest$;
+ exports.CreateMultipartUpload$ = CreateMultipartUpload$;
+ exports.CreateMultipartUploadCommand = CreateMultipartUploadCommand;
+ exports.CreateMultipartUploadOutput$ = CreateMultipartUploadOutput$;
+ exports.CreateMultipartUploadRequest$ = CreateMultipartUploadRequest$;
+ exports.CreateSession$ = CreateSession$;
+ exports.CreateSessionCommand = CreateSessionCommand;
+ exports.CreateSessionOutput$ = CreateSessionOutput$;
+ exports.CreateSessionRequest$ = CreateSessionRequest$;
+ exports.DataRedundancy = DataRedundancy;
+ exports.DefaultRetention$ = DefaultRetention$;
+ exports.Delete$ = Delete$;
+ exports.DeleteBucket$ = DeleteBucket$;
+ exports.DeleteBucketAnalyticsConfiguration$ = DeleteBucketAnalyticsConfiguration$;
+ exports.DeleteBucketAnalyticsConfigurationCommand = DeleteBucketAnalyticsConfigurationCommand;
+ exports.DeleteBucketAnalyticsConfigurationRequest$ = DeleteBucketAnalyticsConfigurationRequest$;
+ exports.DeleteBucketCommand = DeleteBucketCommand;
+ exports.DeleteBucketCors$ = DeleteBucketCors$;
+ exports.DeleteBucketCorsCommand = DeleteBucketCorsCommand;
+ exports.DeleteBucketCorsRequest$ = DeleteBucketCorsRequest$;
+ exports.DeleteBucketEncryption$ = DeleteBucketEncryption$;
+ exports.DeleteBucketEncryptionCommand = DeleteBucketEncryptionCommand;
+ exports.DeleteBucketEncryptionRequest$ = DeleteBucketEncryptionRequest$;
+ exports.DeleteBucketIntelligentTieringConfiguration$ = DeleteBucketIntelligentTieringConfiguration$;
+ exports.DeleteBucketIntelligentTieringConfigurationCommand = DeleteBucketIntelligentTieringConfigurationCommand;
+ exports.DeleteBucketIntelligentTieringConfigurationRequest$ = DeleteBucketIntelligentTieringConfigurationRequest$;
+ exports.DeleteBucketInventoryConfiguration$ = DeleteBucketInventoryConfiguration$;
+ exports.DeleteBucketInventoryConfigurationCommand = DeleteBucketInventoryConfigurationCommand;
+ exports.DeleteBucketInventoryConfigurationRequest$ = DeleteBucketInventoryConfigurationRequest$;
+ exports.DeleteBucketLifecycle$ = DeleteBucketLifecycle$;
+ exports.DeleteBucketLifecycleCommand = DeleteBucketLifecycleCommand;
+ exports.DeleteBucketLifecycleRequest$ = DeleteBucketLifecycleRequest$;
+ exports.DeleteBucketMetadataConfiguration$ = DeleteBucketMetadataConfiguration$;
+ exports.DeleteBucketMetadataConfigurationCommand = DeleteBucketMetadataConfigurationCommand;
+ exports.DeleteBucketMetadataConfigurationRequest$ = DeleteBucketMetadataConfigurationRequest$;
+ exports.DeleteBucketMetadataTableConfiguration$ = DeleteBucketMetadataTableConfiguration$;
+ exports.DeleteBucketMetadataTableConfigurationCommand = DeleteBucketMetadataTableConfigurationCommand;
+ exports.DeleteBucketMetadataTableConfigurationRequest$ = DeleteBucketMetadataTableConfigurationRequest$;
+ exports.DeleteBucketMetricsConfiguration$ = DeleteBucketMetricsConfiguration$;
+ exports.DeleteBucketMetricsConfigurationCommand = DeleteBucketMetricsConfigurationCommand;
+ exports.DeleteBucketMetricsConfigurationRequest$ = DeleteBucketMetricsConfigurationRequest$;
+ exports.DeleteBucketOwnershipControls$ = DeleteBucketOwnershipControls$;
+ exports.DeleteBucketOwnershipControlsCommand = DeleteBucketOwnershipControlsCommand;
+ exports.DeleteBucketOwnershipControlsRequest$ = DeleteBucketOwnershipControlsRequest$;
+ exports.DeleteBucketPolicy$ = DeleteBucketPolicy$;
+ exports.DeleteBucketPolicyCommand = DeleteBucketPolicyCommand;
+ exports.DeleteBucketPolicyRequest$ = DeleteBucketPolicyRequest$;
+ exports.DeleteBucketReplication$ = DeleteBucketReplication$;
+ exports.DeleteBucketReplicationCommand = DeleteBucketReplicationCommand;
+ exports.DeleteBucketReplicationRequest$ = DeleteBucketReplicationRequest$;
+ exports.DeleteBucketRequest$ = DeleteBucketRequest$;
+ exports.DeleteBucketTagging$ = DeleteBucketTagging$;
+ exports.DeleteBucketTaggingCommand = DeleteBucketTaggingCommand;
+ exports.DeleteBucketTaggingRequest$ = DeleteBucketTaggingRequest$;
+ exports.DeleteBucketWebsite$ = DeleteBucketWebsite$;
+ exports.DeleteBucketWebsiteCommand = DeleteBucketWebsiteCommand;
+ exports.DeleteBucketWebsiteRequest$ = DeleteBucketWebsiteRequest$;
+ exports.DeleteMarkerEntry$ = DeleteMarkerEntry$;
+ exports.DeleteMarkerReplication$ = DeleteMarkerReplication$;
+ exports.DeleteMarkerReplicationStatus = DeleteMarkerReplicationStatus;
+ exports.DeleteObject$ = DeleteObject$;
+ exports.DeleteObjectAnnotation$ = DeleteObjectAnnotation$;
+ exports.DeleteObjectAnnotationCommand = DeleteObjectAnnotationCommand;
+ exports.DeleteObjectAnnotationOutput$ = DeleteObjectAnnotationOutput$;
+ exports.DeleteObjectAnnotationRequest$ = DeleteObjectAnnotationRequest$;
+ exports.DeleteObjectCommand = DeleteObjectCommand2;
+ exports.DeleteObjectOutput$ = DeleteObjectOutput$;
+ exports.DeleteObjectRequest$ = DeleteObjectRequest$;
+ exports.DeleteObjectTagging$ = DeleteObjectTagging$;
+ exports.DeleteObjectTaggingCommand = DeleteObjectTaggingCommand;
+ exports.DeleteObjectTaggingOutput$ = DeleteObjectTaggingOutput$;
+ exports.DeleteObjectTaggingRequest$ = DeleteObjectTaggingRequest$;
+ exports.DeleteObjects$ = DeleteObjects$;
+ exports.DeleteObjectsCommand = DeleteObjectsCommand;
+ exports.DeleteObjectsOutput$ = DeleteObjectsOutput$;
+ exports.DeleteObjectsRequest$ = DeleteObjectsRequest$;
+ exports.DeletePublicAccessBlock$ = DeletePublicAccessBlock$;
+ exports.DeletePublicAccessBlockCommand = DeletePublicAccessBlockCommand;
+ exports.DeletePublicAccessBlockRequest$ = DeletePublicAccessBlockRequest$;
+ exports.DeletedObject$ = DeletedObject$;
+ exports.Destination$ = Destination$;
+ exports.DestinationResult$ = DestinationResult$;
+ exports.EncodingType = EncodingType;
+ exports.Encryption$ = Encryption$;
+ exports.EncryptionConfiguration$ = EncryptionConfiguration$;
+ exports.EncryptionType = EncryptionType;
+ exports.EncryptionTypeMismatch = EncryptionTypeMismatch;
+ exports.EncryptionTypeMismatch$ = EncryptionTypeMismatch$;
+ exports.EndEvent$ = EndEvent$;
+ exports.ErrorDetails$ = ErrorDetails$;
+ exports.ErrorDocument$ = ErrorDocument$;
+ exports.Event = Event;
+ exports.EventBridgeConfiguration$ = EventBridgeConfiguration$;
+ exports.EventHoldDuration$ = EventHoldDuration$;
+ exports.ExistingObjectReplication$ = ExistingObjectReplication$;
+ exports.ExistingObjectReplicationStatus = ExistingObjectReplicationStatus;
+ exports.ExpirationState = ExpirationState;
+ exports.ExpirationStatus = ExpirationStatus;
+ exports.ExpressionType = ExpressionType;
+ exports.FileHeaderInfo = FileHeaderInfo;
+ exports.FilterRule$ = FilterRule$;
+ exports.FilterRuleName = FilterRuleName;
+ exports.GetBucketAbac$ = GetBucketAbac$;
+ exports.GetBucketAbacCommand = GetBucketAbacCommand;
+ exports.GetBucketAbacOutput$ = GetBucketAbacOutput$;
+ exports.GetBucketAbacRequest$ = GetBucketAbacRequest$;
+ exports.GetBucketAccelerateConfiguration$ = GetBucketAccelerateConfiguration$;
+ exports.GetBucketAccelerateConfigurationCommand = GetBucketAccelerateConfigurationCommand;
+ exports.GetBucketAccelerateConfigurationOutput$ = GetBucketAccelerateConfigurationOutput$;
+ exports.GetBucketAccelerateConfigurationRequest$ = GetBucketAccelerateConfigurationRequest$;
+ exports.GetBucketAcl$ = GetBucketAcl$;
+ exports.GetBucketAclCommand = GetBucketAclCommand;
+ exports.GetBucketAclOutput$ = GetBucketAclOutput$;
+ exports.GetBucketAclRequest$ = GetBucketAclRequest$;
+ exports.GetBucketAnalyticsConfiguration$ = GetBucketAnalyticsConfiguration$;
+ exports.GetBucketAnalyticsConfigurationCommand = GetBucketAnalyticsConfigurationCommand;
+ exports.GetBucketAnalyticsConfigurationOutput$ = GetBucketAnalyticsConfigurationOutput$;
+ exports.GetBucketAnalyticsConfigurationRequest$ = GetBucketAnalyticsConfigurationRequest$;
+ exports.GetBucketCors$ = GetBucketCors$;
+ exports.GetBucketCorsCommand = GetBucketCorsCommand;
+ exports.GetBucketCorsOutput$ = GetBucketCorsOutput$;
+ exports.GetBucketCorsRequest$ = GetBucketCorsRequest$;
+ exports.GetBucketEncryption$ = GetBucketEncryption$;
+ exports.GetBucketEncryptionCommand = GetBucketEncryptionCommand;
+ exports.GetBucketEncryptionOutput$ = GetBucketEncryptionOutput$;
+ exports.GetBucketEncryptionRequest$ = GetBucketEncryptionRequest$;
+ exports.GetBucketIntelligentTieringConfiguration$ = GetBucketIntelligentTieringConfiguration$;
+ exports.GetBucketIntelligentTieringConfigurationCommand = GetBucketIntelligentTieringConfigurationCommand;
+ exports.GetBucketIntelligentTieringConfigurationOutput$ = GetBucketIntelligentTieringConfigurationOutput$;
+ exports.GetBucketIntelligentTieringConfigurationRequest$ = GetBucketIntelligentTieringConfigurationRequest$;
+ exports.GetBucketInventoryConfiguration$ = GetBucketInventoryConfiguration$;
+ exports.GetBucketInventoryConfigurationCommand = GetBucketInventoryConfigurationCommand;
+ exports.GetBucketInventoryConfigurationOutput$ = GetBucketInventoryConfigurationOutput$;
+ exports.GetBucketInventoryConfigurationRequest$ = GetBucketInventoryConfigurationRequest$;
+ exports.GetBucketLifecycleConfiguration$ = GetBucketLifecycleConfiguration$;
+ exports.GetBucketLifecycleConfigurationCommand = GetBucketLifecycleConfigurationCommand;
+ exports.GetBucketLifecycleConfigurationOutput$ = GetBucketLifecycleConfigurationOutput$;
+ exports.GetBucketLifecycleConfigurationRequest$ = GetBucketLifecycleConfigurationRequest$;
+ exports.GetBucketLocation$ = GetBucketLocation$;
+ exports.GetBucketLocationCommand = GetBucketLocationCommand;
+ exports.GetBucketLocationOutput$ = GetBucketLocationOutput$;
+ exports.GetBucketLocationRequest$ = GetBucketLocationRequest$;
+ exports.GetBucketLogging$ = GetBucketLogging$;
+ exports.GetBucketLoggingCommand = GetBucketLoggingCommand;
+ exports.GetBucketLoggingOutput$ = GetBucketLoggingOutput$;
+ exports.GetBucketLoggingRequest$ = GetBucketLoggingRequest$;
+ exports.GetBucketMetadataConfiguration$ = GetBucketMetadataConfiguration$;
+ exports.GetBucketMetadataConfigurationCommand = GetBucketMetadataConfigurationCommand;
+ exports.GetBucketMetadataConfigurationOutput$ = GetBucketMetadataConfigurationOutput$;
+ exports.GetBucketMetadataConfigurationRequest$ = GetBucketMetadataConfigurationRequest$;
+ exports.GetBucketMetadataConfigurationResult$ = GetBucketMetadataConfigurationResult$;
+ exports.GetBucketMetadataTableConfiguration$ = GetBucketMetadataTableConfiguration$;
+ exports.GetBucketMetadataTableConfigurationCommand = GetBucketMetadataTableConfigurationCommand;
+ exports.GetBucketMetadataTableConfigurationOutput$ = GetBucketMetadataTableConfigurationOutput$;
+ exports.GetBucketMetadataTableConfigurationRequest$ = GetBucketMetadataTableConfigurationRequest$;
+ exports.GetBucketMetadataTableConfigurationResult$ = GetBucketMetadataTableConfigurationResult$;
+ exports.GetBucketMetricsConfiguration$ = GetBucketMetricsConfiguration$;
+ exports.GetBucketMetricsConfigurationCommand = GetBucketMetricsConfigurationCommand;
+ exports.GetBucketMetricsConfigurationOutput$ = GetBucketMetricsConfigurationOutput$;
+ exports.GetBucketMetricsConfigurationRequest$ = GetBucketMetricsConfigurationRequest$;
+ exports.GetBucketNotificationConfiguration$ = GetBucketNotificationConfiguration$;
+ exports.GetBucketNotificationConfigurationCommand = GetBucketNotificationConfigurationCommand;
+ exports.GetBucketNotificationConfigurationRequest$ = GetBucketNotificationConfigurationRequest$;
+ exports.GetBucketOwnershipControls$ = GetBucketOwnershipControls$;
+ exports.GetBucketOwnershipControlsCommand = GetBucketOwnershipControlsCommand;
+ exports.GetBucketOwnershipControlsOutput$ = GetBucketOwnershipControlsOutput$;
+ exports.GetBucketOwnershipControlsRequest$ = GetBucketOwnershipControlsRequest$;
+ exports.GetBucketPolicy$ = GetBucketPolicy$;
+ exports.GetBucketPolicyCommand = GetBucketPolicyCommand;
+ exports.GetBucketPolicyOutput$ = GetBucketPolicyOutput$;
+ exports.GetBucketPolicyRequest$ = GetBucketPolicyRequest$;
+ exports.GetBucketPolicyStatus$ = GetBucketPolicyStatus$;
+ exports.GetBucketPolicyStatusCommand = GetBucketPolicyStatusCommand;
+ exports.GetBucketPolicyStatusOutput$ = GetBucketPolicyStatusOutput$;
+ exports.GetBucketPolicyStatusRequest$ = GetBucketPolicyStatusRequest$;
+ exports.GetBucketReplication$ = GetBucketReplication$;
+ exports.GetBucketReplicationCommand = GetBucketReplicationCommand;
+ exports.GetBucketReplicationOutput$ = GetBucketReplicationOutput$;
+ exports.GetBucketReplicationRequest$ = GetBucketReplicationRequest$;
+ exports.GetBucketRequestPayment$ = GetBucketRequestPayment$;
+ exports.GetBucketRequestPaymentCommand = GetBucketRequestPaymentCommand;
+ exports.GetBucketRequestPaymentOutput$ = GetBucketRequestPaymentOutput$;
+ exports.GetBucketRequestPaymentRequest$ = GetBucketRequestPaymentRequest$;
+ exports.GetBucketTagging$ = GetBucketTagging$;
+ exports.GetBucketTaggingCommand = GetBucketTaggingCommand;
+ exports.GetBucketTaggingOutput$ = GetBucketTaggingOutput$;
+ exports.GetBucketTaggingRequest$ = GetBucketTaggingRequest$;
+ exports.GetBucketVersioning$ = GetBucketVersioning$;
+ exports.GetBucketVersioningCommand = GetBucketVersioningCommand;
+ exports.GetBucketVersioningOutput$ = GetBucketVersioningOutput$;
+ exports.GetBucketVersioningRequest$ = GetBucketVersioningRequest$;
+ exports.GetBucketWebsite$ = GetBucketWebsite$;
+ exports.GetBucketWebsiteCommand = GetBucketWebsiteCommand;
+ exports.GetBucketWebsiteOutput$ = GetBucketWebsiteOutput$;
+ exports.GetBucketWebsiteRequest$ = GetBucketWebsiteRequest$;
+ exports.GetObject$ = GetObject$;
+ exports.GetObjectAcl$ = GetObjectAcl$;
+ exports.GetObjectAclCommand = GetObjectAclCommand;
+ exports.GetObjectAclOutput$ = GetObjectAclOutput$;
+ exports.GetObjectAclRequest$ = GetObjectAclRequest$;
+ exports.GetObjectAnnotation$ = GetObjectAnnotation$;
+ exports.GetObjectAnnotationCommand = GetObjectAnnotationCommand;
+ exports.GetObjectAnnotationOutput$ = GetObjectAnnotationOutput$;
+ exports.GetObjectAnnotationRequest$ = GetObjectAnnotationRequest$;
+ exports.GetObjectAttributes$ = GetObjectAttributes$;
+ exports.GetObjectAttributesCommand = GetObjectAttributesCommand;
+ exports.GetObjectAttributesOutput$ = GetObjectAttributesOutput$;
+ exports.GetObjectAttributesParts$ = GetObjectAttributesParts$;
+ exports.GetObjectAttributesRequest$ = GetObjectAttributesRequest$;
+ exports.GetObjectCommand = GetObjectCommand;
+ exports.GetObjectLegalHold$ = GetObjectLegalHold$;
+ exports.GetObjectLegalHoldCommand = GetObjectLegalHoldCommand;
+ exports.GetObjectLegalHoldOutput$ = GetObjectLegalHoldOutput$;
+ exports.GetObjectLegalHoldRequest$ = GetObjectLegalHoldRequest$;
+ exports.GetObjectLockConfiguration$ = GetObjectLockConfiguration$;
+ exports.GetObjectLockConfigurationCommand = GetObjectLockConfigurationCommand;
+ exports.GetObjectLockConfigurationOutput$ = GetObjectLockConfigurationOutput$;
+ exports.GetObjectLockConfigurationRequest$ = GetObjectLockConfigurationRequest$;
+ exports.GetObjectOutput$ = GetObjectOutput$;
+ exports.GetObjectRequest$ = GetObjectRequest$;
+ exports.GetObjectRetention$ = GetObjectRetention$;
+ exports.GetObjectRetentionCommand = GetObjectRetentionCommand;
+ exports.GetObjectRetentionOutput$ = GetObjectRetentionOutput$;
+ exports.GetObjectRetentionRequest$ = GetObjectRetentionRequest$;
+ exports.GetObjectTagging$ = GetObjectTagging$;
+ exports.GetObjectTaggingCommand = GetObjectTaggingCommand;
+ exports.GetObjectTaggingOutput$ = GetObjectTaggingOutput$;
+ exports.GetObjectTaggingRequest$ = GetObjectTaggingRequest$;
+ exports.GetObjectTorrent$ = GetObjectTorrent$;
+ exports.GetObjectTorrentCommand = GetObjectTorrentCommand;
+ exports.GetObjectTorrentOutput$ = GetObjectTorrentOutput$;
+ exports.GetObjectTorrentRequest$ = GetObjectTorrentRequest$;
+ exports.GetPublicAccessBlock$ = GetPublicAccessBlock$;
+ exports.GetPublicAccessBlockCommand = GetPublicAccessBlockCommand;
+ exports.GetPublicAccessBlockOutput$ = GetPublicAccessBlockOutput$;
+ exports.GetPublicAccessBlockRequest$ = GetPublicAccessBlockRequest$;
+ exports.GlacierJobParameters$ = GlacierJobParameters$;
+ exports.Grant$ = Grant$;
+ exports.Grantee$ = Grantee$;
+ exports.HeadBucket$ = HeadBucket$;
+ exports.HeadBucketCommand = HeadBucketCommand2;
+ exports.HeadBucketOutput$ = HeadBucketOutput$;
+ exports.HeadBucketRequest$ = HeadBucketRequest$;
+ exports.HeadObject$ = HeadObject$;
+ exports.HeadObjectCommand = HeadObjectCommand;
+ exports.HeadObjectOutput$ = HeadObjectOutput$;
+ exports.HeadObjectRequest$ = HeadObjectRequest$;
+ exports.IdempotencyParameterMismatch = IdempotencyParameterMismatch;
+ exports.IdempotencyParameterMismatch$ = IdempotencyParameterMismatch$;
+ exports.IndexDocument$ = IndexDocument$;
+ exports.Initiator$ = Initiator$;
+ exports.InputSerialization$ = InputSerialization$;
+ exports.IntelligentTieringAccessTier = IntelligentTieringAccessTier;
+ exports.IntelligentTieringAndOperator$ = IntelligentTieringAndOperator$;
+ exports.IntelligentTieringConfiguration$ = IntelligentTieringConfiguration$;
+ exports.IntelligentTieringFilter$ = IntelligentTieringFilter$;
+ exports.IntelligentTieringStatus = IntelligentTieringStatus;
+ exports.InvalidAnnotationName = InvalidAnnotationName;
+ exports.InvalidAnnotationName$ = InvalidAnnotationName$;
+ exports.InvalidObjectState = InvalidObjectState;
+ exports.InvalidObjectState$ = InvalidObjectState$;
+ exports.InvalidPrefix = InvalidPrefix;
+ exports.InvalidPrefix$ = InvalidPrefix$;
+ exports.InvalidRequest = InvalidRequest;
+ exports.InvalidRequest$ = InvalidRequest$;
+ exports.InvalidWriteOffset = InvalidWriteOffset;
+ exports.InvalidWriteOffset$ = InvalidWriteOffset$;
+ exports.InventoryConfiguration$ = InventoryConfiguration$;
+ exports.InventoryConfigurationState = InventoryConfigurationState;
+ exports.InventoryDestination$ = InventoryDestination$;
+ exports.InventoryEncryption$ = InventoryEncryption$;
+ exports.InventoryFilter$ = InventoryFilter$;
+ exports.InventoryFormat = InventoryFormat;
+ exports.InventoryFrequency = InventoryFrequency;
+ exports.InventoryIncludedObjectVersions = InventoryIncludedObjectVersions;
+ exports.InventoryOptionalField = InventoryOptionalField;
+ exports.InventoryS3BucketDestination$ = InventoryS3BucketDestination$;
+ exports.InventorySchedule$ = InventorySchedule$;
+ exports.InventoryTableConfiguration$ = InventoryTableConfiguration$;
+ exports.InventoryTableConfigurationResult$ = InventoryTableConfigurationResult$;
+ exports.InventoryTableConfigurationUpdates$ = InventoryTableConfigurationUpdates$;
+ exports.JSONInput$ = JSONInput$;
+ exports.JSONOutput$ = JSONOutput$;
+ exports.JSONType = JSONType;
+ exports.JournalTableConfiguration$ = JournalTableConfiguration$;
+ exports.JournalTableConfigurationResult$ = JournalTableConfigurationResult$;
+ exports.JournalTableConfigurationUpdates$ = JournalTableConfigurationUpdates$;
+ exports.LambdaFunctionConfiguration$ = LambdaFunctionConfiguration$;
+ exports.LifecycleExpiration$ = LifecycleExpiration$;
+ exports.LifecycleRule$ = LifecycleRule$;
+ exports.LifecycleRuleAndOperator$ = LifecycleRuleAndOperator$;
+ exports.LifecycleRuleFilter$ = LifecycleRuleFilter$;
+ exports.ListBucketAnalyticsConfigurations$ = ListBucketAnalyticsConfigurations$;
+ exports.ListBucketAnalyticsConfigurationsCommand = ListBucketAnalyticsConfigurationsCommand;
+ exports.ListBucketAnalyticsConfigurationsOutput$ = ListBucketAnalyticsConfigurationsOutput$;
+ exports.ListBucketAnalyticsConfigurationsRequest$ = ListBucketAnalyticsConfigurationsRequest$;
+ exports.ListBucketIntelligentTieringConfigurations$ = ListBucketIntelligentTieringConfigurations$;
+ exports.ListBucketIntelligentTieringConfigurationsCommand = ListBucketIntelligentTieringConfigurationsCommand;
+ exports.ListBucketIntelligentTieringConfigurationsOutput$ = ListBucketIntelligentTieringConfigurationsOutput$;
+ exports.ListBucketIntelligentTieringConfigurationsRequest$ = ListBucketIntelligentTieringConfigurationsRequest$;
+ exports.ListBucketInventoryConfigurations$ = ListBucketInventoryConfigurations$;
+ exports.ListBucketInventoryConfigurationsCommand = ListBucketInventoryConfigurationsCommand;
+ exports.ListBucketInventoryConfigurationsOutput$ = ListBucketInventoryConfigurationsOutput$;
+ exports.ListBucketInventoryConfigurationsRequest$ = ListBucketInventoryConfigurationsRequest$;
+ exports.ListBucketMetricsConfigurations$ = ListBucketMetricsConfigurations$;
+ exports.ListBucketMetricsConfigurationsCommand = ListBucketMetricsConfigurationsCommand;
+ exports.ListBucketMetricsConfigurationsOutput$ = ListBucketMetricsConfigurationsOutput$;
+ exports.ListBucketMetricsConfigurationsRequest$ = ListBucketMetricsConfigurationsRequest$;
+ exports.ListBuckets$ = ListBuckets$;
+ exports.ListBucketsCommand = ListBucketsCommand;
+ exports.ListBucketsOutput$ = ListBucketsOutput$;
+ exports.ListBucketsRequest$ = ListBucketsRequest$;
+ exports.ListDirectoryBuckets$ = ListDirectoryBuckets$;
+ exports.ListDirectoryBucketsCommand = ListDirectoryBucketsCommand;
+ exports.ListDirectoryBucketsOutput$ = ListDirectoryBucketsOutput$;
+ exports.ListDirectoryBucketsRequest$ = ListDirectoryBucketsRequest$;
+ exports.ListMultipartUploads$ = ListMultipartUploads$;
+ exports.ListMultipartUploadsCommand = ListMultipartUploadsCommand;
+ exports.ListMultipartUploadsOutput$ = ListMultipartUploadsOutput$;
+ exports.ListMultipartUploadsRequest$ = ListMultipartUploadsRequest$;
+ exports.ListObjectAnnotations$ = ListObjectAnnotations$;
+ exports.ListObjectAnnotationsCommand = ListObjectAnnotationsCommand;
+ exports.ListObjectAnnotationsOutput$ = ListObjectAnnotationsOutput$;
+ exports.ListObjectAnnotationsRequest$ = ListObjectAnnotationsRequest$;
+ exports.ListObjectVersions$ = ListObjectVersions$;
+ exports.ListObjectVersionsCommand = ListObjectVersionsCommand;
+ exports.ListObjectVersionsOutput$ = ListObjectVersionsOutput$;
+ exports.ListObjectVersionsRequest$ = ListObjectVersionsRequest$;
+ exports.ListObjects$ = ListObjects$;
+ exports.ListObjectsCommand = ListObjectsCommand;
+ exports.ListObjectsOutput$ = ListObjectsOutput$;
+ exports.ListObjectsRequest$ = ListObjectsRequest$;
+ exports.ListObjectsV2$ = ListObjectsV2$;
+ exports.ListObjectsV2Command = ListObjectsV2Command;
+ exports.ListObjectsV2Output$ = ListObjectsV2Output$;
+ exports.ListObjectsV2Request$ = ListObjectsV2Request$;
+ exports.ListParts$ = ListParts$;
+ exports.ListPartsCommand = ListPartsCommand;
+ exports.ListPartsOutput$ = ListPartsOutput$;
+ exports.ListPartsRequest$ = ListPartsRequest$;
+ exports.LocationInfo$ = LocationInfo$;
+ exports.LocationType = LocationType;
+ exports.LoggingEnabled$ = LoggingEnabled$;
+ exports.MFADelete = MFADelete;
+ exports.MFADeleteStatus = MFADeleteStatus;
+ exports.MetadataConfiguration$ = MetadataConfiguration$;
+ exports.MetadataConfigurationResult$ = MetadataConfigurationResult$;
+ exports.MetadataDirective = MetadataDirective;
+ exports.MetadataEntry$ = MetadataEntry$;
+ exports.MetadataTableConfiguration$ = MetadataTableConfiguration$;
+ exports.MetadataTableConfigurationResult$ = MetadataTableConfigurationResult$;
+ exports.MetadataTableEncryptionConfiguration$ = MetadataTableEncryptionConfiguration$;
+ exports.Metrics$ = Metrics$;
+ exports.MetricsAndOperator$ = MetricsAndOperator$;
+ exports.MetricsConfiguration$ = MetricsConfiguration$;
+ exports.MetricsFilter$ = MetricsFilter$;
+ exports.MetricsStatus = MetricsStatus;
+ exports.MultipartUpload$ = MultipartUpload$;
+ exports.NoSuchAnnotation = NoSuchAnnotation;
+ exports.NoSuchAnnotation$ = NoSuchAnnotation$;
+ exports.NoSuchBucket = NoSuchBucket;
+ exports.NoSuchBucket$ = NoSuchBucket$;
+ exports.NoSuchKey = NoSuchKey;
+ exports.NoSuchKey$ = NoSuchKey$;
+ exports.NoSuchUpload = NoSuchUpload;
+ exports.NoSuchUpload$ = NoSuchUpload$;
+ exports.NoncurrentVersionExpiration$ = NoncurrentVersionExpiration$;
+ exports.NoncurrentVersionTransition$ = NoncurrentVersionTransition$;
+ exports.NotFound = NotFound;
+ exports.NotFound$ = NotFound$;
+ exports.NotificationConfiguration$ = NotificationConfiguration$;
+ exports.NotificationConfigurationFilter$ = NotificationConfigurationFilter$;
+ exports.ObjectAlreadyInActiveTierError = ObjectAlreadyInActiveTierError;
+ exports.ObjectAlreadyInActiveTierError$ = ObjectAlreadyInActiveTierError$;
+ exports.ObjectAttributes = ObjectAttributes;
+ exports.ObjectCannedACL = ObjectCannedACL;
+ exports.ObjectEncryption$ = ObjectEncryption$;
+ exports.ObjectIdentifier$ = ObjectIdentifier$;
+ exports.ObjectLockConfiguration$ = ObjectLockConfiguration$;
+ exports.ObjectLockEnabled = ObjectLockEnabled;
+ exports.ObjectLockEventHold = ObjectLockEventHold;
+ exports.ObjectLockLegalHold$ = ObjectLockLegalHold$;
+ exports.ObjectLockLegalHoldStatus = ObjectLockLegalHoldStatus;
+ exports.ObjectLockMode = ObjectLockMode;
+ exports.ObjectLockRetention$ = ObjectLockRetention$;
+ exports.ObjectLockRetentionMode = ObjectLockRetentionMode;
+ exports.ObjectLockRule$ = ObjectLockRule$;
+ exports.ObjectNotInActiveTierError = ObjectNotInActiveTierError;
+ exports.ObjectNotInActiveTierError$ = ObjectNotInActiveTierError$;
+ exports.ObjectOwnership = ObjectOwnership;
+ exports.ObjectPart$ = ObjectPart$;
+ exports.ObjectStorageClass = ObjectStorageClass;
+ exports.ObjectVersion$ = ObjectVersion$;
+ exports.ObjectVersionStorageClass = ObjectVersionStorageClass;
+ exports.OptionalObjectAttributes = OptionalObjectAttributes;
+ exports.OutputLocation$ = OutputLocation$;
+ exports.OutputSerialization$ = OutputSerialization$;
+ exports.Owner$ = Owner$;
+ exports.OwnerOverride = OwnerOverride;
+ exports.OwnershipControls$ = OwnershipControls$;
+ exports.OwnershipControlsRule$ = OwnershipControlsRule$;
+ exports.ParquetInput$ = ParquetInput$;
+ exports.Part$ = Part$;
+ exports.PartitionDateSource = PartitionDateSource;
+ exports.PartitionedPrefix$ = PartitionedPrefix$;
+ exports.Payer = Payer;
+ exports.Permission = Permission;
+ exports.PolicyStatus$ = PolicyStatus$;
+ exports.Progress$ = Progress$;
+ exports.ProgressEvent$ = ProgressEvent$;
+ exports.Protocol = Protocol;
+ exports.PublicAccessBlockConfiguration$ = PublicAccessBlockConfiguration$;
+ exports.PutBucketAbac$ = PutBucketAbac$;
+ exports.PutBucketAbacCommand = PutBucketAbacCommand;
+ exports.PutBucketAbacRequest$ = PutBucketAbacRequest$;
+ exports.PutBucketAccelerateConfiguration$ = PutBucketAccelerateConfiguration$;
+ exports.PutBucketAccelerateConfigurationCommand = PutBucketAccelerateConfigurationCommand;
+ exports.PutBucketAccelerateConfigurationRequest$ = PutBucketAccelerateConfigurationRequest$;
+ exports.PutBucketAcl$ = PutBucketAcl$;
+ exports.PutBucketAclCommand = PutBucketAclCommand;
+ exports.PutBucketAclRequest$ = PutBucketAclRequest$;
+ exports.PutBucketAnalyticsConfiguration$ = PutBucketAnalyticsConfiguration$;
+ exports.PutBucketAnalyticsConfigurationCommand = PutBucketAnalyticsConfigurationCommand;
+ exports.PutBucketAnalyticsConfigurationRequest$ = PutBucketAnalyticsConfigurationRequest$;
+ exports.PutBucketCors$ = PutBucketCors$;
+ exports.PutBucketCorsCommand = PutBucketCorsCommand;
+ exports.PutBucketCorsRequest$ = PutBucketCorsRequest$;
+ exports.PutBucketEncryption$ = PutBucketEncryption$;
+ exports.PutBucketEncryptionCommand = PutBucketEncryptionCommand;
+ exports.PutBucketEncryptionRequest$ = PutBucketEncryptionRequest$;
+ exports.PutBucketIntelligentTieringConfiguration$ = PutBucketIntelligentTieringConfiguration$;
+ exports.PutBucketIntelligentTieringConfigurationCommand = PutBucketIntelligentTieringConfigurationCommand;
+ exports.PutBucketIntelligentTieringConfigurationRequest$ = PutBucketIntelligentTieringConfigurationRequest$;
+ exports.PutBucketInventoryConfiguration$ = PutBucketInventoryConfiguration$;
+ exports.PutBucketInventoryConfigurationCommand = PutBucketInventoryConfigurationCommand;
+ exports.PutBucketInventoryConfigurationRequest$ = PutBucketInventoryConfigurationRequest$;
+ exports.PutBucketLifecycleConfiguration$ = PutBucketLifecycleConfiguration$;
+ exports.PutBucketLifecycleConfigurationCommand = PutBucketLifecycleConfigurationCommand;
+ exports.PutBucketLifecycleConfigurationOutput$ = PutBucketLifecycleConfigurationOutput$;
+ exports.PutBucketLifecycleConfigurationRequest$ = PutBucketLifecycleConfigurationRequest$;
+ exports.PutBucketLogging$ = PutBucketLogging$;
+ exports.PutBucketLoggingCommand = PutBucketLoggingCommand;
+ exports.PutBucketLoggingRequest$ = PutBucketLoggingRequest$;
+ exports.PutBucketMetricsConfiguration$ = PutBucketMetricsConfiguration$;
+ exports.PutBucketMetricsConfigurationCommand = PutBucketMetricsConfigurationCommand;
+ exports.PutBucketMetricsConfigurationRequest$ = PutBucketMetricsConfigurationRequest$;
+ exports.PutBucketNotificationConfiguration$ = PutBucketNotificationConfiguration$;
+ exports.PutBucketNotificationConfigurationCommand = PutBucketNotificationConfigurationCommand;
+ exports.PutBucketNotificationConfigurationRequest$ = PutBucketNotificationConfigurationRequest$;
+ exports.PutBucketOwnershipControls$ = PutBucketOwnershipControls$;
+ exports.PutBucketOwnershipControlsCommand = PutBucketOwnershipControlsCommand;
+ exports.PutBucketOwnershipControlsRequest$ = PutBucketOwnershipControlsRequest$;
+ exports.PutBucketPolicy$ = PutBucketPolicy$;
+ exports.PutBucketPolicyCommand = PutBucketPolicyCommand2;
+ exports.PutBucketPolicyRequest$ = PutBucketPolicyRequest$;
+ exports.PutBucketReplication$ = PutBucketReplication$;
+ exports.PutBucketReplicationCommand = PutBucketReplicationCommand;
+ exports.PutBucketReplicationRequest$ = PutBucketReplicationRequest$;
+ exports.PutBucketRequestPayment$ = PutBucketRequestPayment$;
+ exports.PutBucketRequestPaymentCommand = PutBucketRequestPaymentCommand;
+ exports.PutBucketRequestPaymentRequest$ = PutBucketRequestPaymentRequest$;
+ exports.PutBucketTagging$ = PutBucketTagging$;
+ exports.PutBucketTaggingCommand = PutBucketTaggingCommand;
+ exports.PutBucketTaggingRequest$ = PutBucketTaggingRequest$;
+ exports.PutBucketVersioning$ = PutBucketVersioning$;
+ exports.PutBucketVersioningCommand = PutBucketVersioningCommand;
+ exports.PutBucketVersioningRequest$ = PutBucketVersioningRequest$;
+ exports.PutBucketWebsite$ = PutBucketWebsite$;
+ exports.PutBucketWebsiteCommand = PutBucketWebsiteCommand;
+ exports.PutBucketWebsiteRequest$ = PutBucketWebsiteRequest$;
+ exports.PutObject$ = PutObject$;
+ exports.PutObjectAcl$ = PutObjectAcl$;
+ exports.PutObjectAclCommand = PutObjectAclCommand;
+ exports.PutObjectAclOutput$ = PutObjectAclOutput$;
+ exports.PutObjectAclRequest$ = PutObjectAclRequest$;
+ exports.PutObjectAnnotation$ = PutObjectAnnotation$;
+ exports.PutObjectAnnotationCommand = PutObjectAnnotationCommand;
+ exports.PutObjectAnnotationOutput$ = PutObjectAnnotationOutput$;
+ exports.PutObjectAnnotationRequest$ = PutObjectAnnotationRequest$;
+ exports.PutObjectCommand = PutObjectCommand2;
+ exports.PutObjectLegalHold$ = PutObjectLegalHold$;
+ exports.PutObjectLegalHoldCommand = PutObjectLegalHoldCommand;
+ exports.PutObjectLegalHoldOutput$ = PutObjectLegalHoldOutput$;
+ exports.PutObjectLegalHoldRequest$ = PutObjectLegalHoldRequest$;
+ exports.PutObjectLockConfiguration$ = PutObjectLockConfiguration$;
+ exports.PutObjectLockConfigurationCommand = PutObjectLockConfigurationCommand;
+ exports.PutObjectLockConfigurationOutput$ = PutObjectLockConfigurationOutput$;
+ exports.PutObjectLockConfigurationRequest$ = PutObjectLockConfigurationRequest$;
+ exports.PutObjectOutput$ = PutObjectOutput$;
+ exports.PutObjectRequest$ = PutObjectRequest$;
+ exports.PutObjectRetention$ = PutObjectRetention$;
+ exports.PutObjectRetentionCommand = PutObjectRetentionCommand;
+ exports.PutObjectRetentionOutput$ = PutObjectRetentionOutput$;
+ exports.PutObjectRetentionRequest$ = PutObjectRetentionRequest$;
+ exports.PutObjectTagging$ = PutObjectTagging$;
+ exports.PutObjectTaggingCommand = PutObjectTaggingCommand;
+ exports.PutObjectTaggingOutput$ = PutObjectTaggingOutput$;
+ exports.PutObjectTaggingRequest$ = PutObjectTaggingRequest$;
+ exports.PutPublicAccessBlock$ = PutPublicAccessBlock$;
+ exports.PutPublicAccessBlockCommand = PutPublicAccessBlockCommand;
+ exports.PutPublicAccessBlockRequest$ = PutPublicAccessBlockRequest$;
+ exports.QueueConfiguration$ = QueueConfiguration$;
+ exports.QuoteFields = QuoteFields;
+ exports.RecordExpiration$ = RecordExpiration$;
+ exports.RecordsEvent$ = RecordsEvent$;
+ exports.Redirect$ = Redirect$;
+ exports.RedirectAllRequestsTo$ = RedirectAllRequestsTo$;
+ exports.RenameObject$ = RenameObject$;
+ exports.RenameObjectCommand = RenameObjectCommand;
+ exports.RenameObjectOutput$ = RenameObjectOutput$;
+ exports.RenameObjectRequest$ = RenameObjectRequest$;
+ exports.ReplicaModifications$ = ReplicaModifications$;
+ exports.ReplicaModificationsStatus = ReplicaModificationsStatus;
+ exports.ReplicationConfiguration$ = ReplicationConfiguration$;
+ exports.ReplicationRule$ = ReplicationRule$;
+ exports.ReplicationRuleAndOperator$ = ReplicationRuleAndOperator$;
+ exports.ReplicationRuleFilter$ = ReplicationRuleFilter$;
+ exports.ReplicationRuleStatus = ReplicationRuleStatus;
+ exports.ReplicationStatus = ReplicationStatus;
+ exports.ReplicationTime$ = ReplicationTime$;
+ exports.ReplicationTimeStatus = ReplicationTimeStatus;
+ exports.ReplicationTimeValue$ = ReplicationTimeValue$;
+ exports.RequestCharged = RequestCharged;
+ exports.RequestPayer = RequestPayer;
+ exports.RequestPaymentConfiguration$ = RequestPaymentConfiguration$;
+ exports.RequestProgress$ = RequestProgress$;
+ exports.RestoreObject$ = RestoreObject$;
+ exports.RestoreObjectCommand = RestoreObjectCommand;
+ exports.RestoreObjectOutput$ = RestoreObjectOutput$;
+ exports.RestoreObjectRequest$ = RestoreObjectRequest$;
+ exports.RestoreRequest$ = RestoreRequest$;
+ exports.RestoreRequestType = RestoreRequestType;
+ exports.RestoreStatus$ = RestoreStatus$;
+ exports.RoutingRule$ = RoutingRule$;
+ exports.S3 = S3;
+ exports.S3Client = S3Client2;
+ exports.S3KeyFilter$ = S3KeyFilter$;
+ exports.S3Location$ = S3Location$;
+ exports.S3ServiceException = S3ServiceException;
+ exports.S3ServiceException$ = S3ServiceException$;
+ exports.S3TablesBucketType = S3TablesBucketType;
+ exports.S3TablesDestination$ = S3TablesDestination$;
+ exports.S3TablesDestinationResult$ = S3TablesDestinationResult$;
+ exports.SSEKMS$ = SSEKMS$;
+ exports.SSEKMSEncryption$ = SSEKMSEncryption$;
+ exports.SSES3$ = SSES3$;
+ exports.ScanRange$ = ScanRange$;
+ exports.SelectObjectContent$ = SelectObjectContent$;
+ exports.SelectObjectContentCommand = SelectObjectContentCommand;
+ exports.SelectObjectContentEventStream$ = SelectObjectContentEventStream$;
+ exports.SelectObjectContentOutput$ = SelectObjectContentOutput$;
+ exports.SelectObjectContentRequest$ = SelectObjectContentRequest$;
+ exports.SelectParameters$ = SelectParameters$;
+ exports.ServerSideEncryption = ServerSideEncryption;
+ exports.ServerSideEncryptionByDefault$ = ServerSideEncryptionByDefault$;
+ exports.ServerSideEncryptionConfiguration$ = ServerSideEncryptionConfiguration$;
+ exports.ServerSideEncryptionRule$ = ServerSideEncryptionRule$;
+ exports.SessionCredentials$ = SessionCredentials$;
+ exports.SessionMode = SessionMode;
+ exports.SimplePrefix$ = SimplePrefix$;
+ exports.SourceSelectionCriteria$ = SourceSelectionCriteria$;
+ exports.SseKmsEncryptedObjects$ = SseKmsEncryptedObjects$;
+ exports.SseKmsEncryptedObjectsStatus = SseKmsEncryptedObjectsStatus;
+ exports.Stats$ = Stats$;
+ exports.StatsEvent$ = StatsEvent$;
+ exports.StorageClass = StorageClass;
+ exports.StorageClassAnalysis$ = StorageClassAnalysis$;
+ exports.StorageClassAnalysisDataExport$ = StorageClassAnalysisDataExport$;
+ exports.StorageClassAnalysisSchemaVersion = StorageClassAnalysisSchemaVersion;
+ exports.TableSseAlgorithm = TableSseAlgorithm;
+ exports.Tag$ = Tag$2;
+ exports.Tagging$ = Tagging$;
+ exports.TaggingDirective = TaggingDirective;
+ exports.TargetGrant$ = TargetGrant$;
+ exports.TargetObjectKeyFormat$ = TargetObjectKeyFormat$;
+ exports.Tier = Tier;
+ exports.Tiering$ = Tiering$;
+ exports.TooManyParts = TooManyParts;
+ exports.TooManyParts$ = TooManyParts$;
+ exports.TopicConfiguration$ = TopicConfiguration$;
+ exports.Transition$ = Transition$;
+ exports.TransitionDefaultMinimumObjectSize = TransitionDefaultMinimumObjectSize;
+ exports.TransitionStorageClass = TransitionStorageClass;
+ exports.Type = Type;
+ exports.UnsupportedMediaType = UnsupportedMediaType;
+ exports.UnsupportedMediaType$ = UnsupportedMediaType$;
+ exports.UpdateBucketMetadataAnnotationTableConfiguration$ = UpdateBucketMetadataAnnotationTableConfiguration$;
+ exports.UpdateBucketMetadataAnnotationTableConfigurationCommand = UpdateBucketMetadataAnnotationTableConfigurationCommand;
+ exports.UpdateBucketMetadataAnnotationTableConfigurationRequest$ = UpdateBucketMetadataAnnotationTableConfigurationRequest$;
+ exports.UpdateBucketMetadataInventoryTableConfiguration$ = UpdateBucketMetadataInventoryTableConfiguration$;
+ exports.UpdateBucketMetadataInventoryTableConfigurationCommand = UpdateBucketMetadataInventoryTableConfigurationCommand;
+ exports.UpdateBucketMetadataInventoryTableConfigurationRequest$ = UpdateBucketMetadataInventoryTableConfigurationRequest$;
+ exports.UpdateBucketMetadataJournalTableConfiguration$ = UpdateBucketMetadataJournalTableConfiguration$;
+ exports.UpdateBucketMetadataJournalTableConfigurationCommand = UpdateBucketMetadataJournalTableConfigurationCommand;
+ exports.UpdateBucketMetadataJournalTableConfigurationRequest$ = UpdateBucketMetadataJournalTableConfigurationRequest$;
+ exports.UpdateObjectEncryption$ = UpdateObjectEncryption$;
+ exports.UpdateObjectEncryptionCommand = UpdateObjectEncryptionCommand;
+ exports.UpdateObjectEncryptionRequest$ = UpdateObjectEncryptionRequest$;
+ exports.UpdateObjectEncryptionResponse$ = UpdateObjectEncryptionResponse$;
+ exports.UploadPart$ = UploadPart$;
+ exports.UploadPartCommand = UploadPartCommand;
+ exports.UploadPartCopy$ = UploadPartCopy$;
+ exports.UploadPartCopyCommand = UploadPartCopyCommand;
+ exports.UploadPartCopyOutput$ = UploadPartCopyOutput$;
+ exports.UploadPartCopyRequest$ = UploadPartCopyRequest$;
+ exports.UploadPartOutput$ = UploadPartOutput$;
+ exports.UploadPartRequest$ = UploadPartRequest$;
+ exports.VersioningConfiguration$ = VersioningConfiguration$;
+ exports.WebsiteConfiguration$ = WebsiteConfiguration$;
+ exports.WriteGetObjectResponse$ = WriteGetObjectResponse$;
+ exports.WriteGetObjectResponseCommand = WriteGetObjectResponseCommand;
+ exports.WriteGetObjectResponseRequest$ = WriteGetObjectResponseRequest$;
+ exports._Error$ = _Error$;
+ exports._Object$ = _Object$;
+ exports.errorTypeRegistries = errorTypeRegistries5;
+ exports.paginateListBuckets = paginateListBuckets;
+ exports.paginateListDirectoryBuckets = paginateListDirectoryBuckets;
+ exports.paginateListObjectAnnotations = paginateListObjectAnnotations;
+ exports.paginateListObjectsV2 = paginateListObjectsV2;
+ exports.paginateListParts = paginateListParts;
+ exports.waitForBucketExists = waitForBucketExists;
+ exports.waitForBucketNotExists = waitForBucketNotExists;
+ exports.waitForObjectExists = waitForObjectExists;
+ exports.waitForObjectNotExists = waitForObjectNotExists;
+ exports.waitUntilBucketExists = waitUntilBucketExists;
+ exports.waitUntilBucketNotExists = waitUntilBucketNotExists;
+ exports.waitUntilObjectExists = waitUntilObjectExists;
+ exports.waitUntilObjectNotExists = waitUntilObjectNotExists;
+ }
+});
+
+// dist/config/env.js
+import { existsSync } from "node:fs";
+
+// ../../node_modules/.pnpm/zod@4.6.7/node_modules/zod/v4/classic/external.js
+var external_exports = {};
+__export(external_exports, {
+ $brand: () => $brand,
+ $input: () => $input,
+ $output: () => $output,
+ INVALID: () => INVALID,
+ NEVER: () => NEVER,
+ TimePrecision: () => TimePrecision,
+ ZodAny: () => ZodAny,
+ ZodArray: () => ZodArray,
+ ZodBase64: () => ZodBase64,
+ ZodBase64URL: () => ZodBase64URL,
+ ZodBigInt: () => ZodBigInt,
+ ZodBigIntFormat: () => ZodBigIntFormat,
+ ZodBoolean: () => ZodBoolean,
+ ZodCIDRv4: () => ZodCIDRv4,
+ ZodCIDRv6: () => ZodCIDRv6,
+ ZodCUID: () => ZodCUID,
+ ZodCUID2: () => ZodCUID2,
+ ZodCatch: () => ZodCatch,
+ ZodCodec: () => ZodCodec,
+ ZodCompileAsyncError: () => ZodCompileAsyncError,
+ ZodCompileUnsupportedError: () => ZodCompileUnsupportedError,
+ ZodCreditCard: () => ZodCreditCard,
+ ZodCustom: () => ZodCustom,
+ ZodCustomStringFormat: () => ZodCustomStringFormat,
+ ZodDate: () => ZodDate,
+ ZodDefault: () => ZodDefault,
+ ZodDiscriminatedUnion: () => ZodDiscriminatedUnion,
+ ZodE164: () => ZodE164,
+ ZodEmail: () => ZodEmail,
+ ZodEmoji: () => ZodEmoji,
+ ZodEnum: () => ZodEnum,
+ ZodError: () => ZodError,
+ ZodExactOptional: () => ZodExactOptional,
+ ZodFile: () => ZodFile,
+ ZodFirstPartyTypeKind: () => ZodFirstPartyTypeKind,
+ ZodFunction: () => ZodFunction,
+ ZodGUID: () => ZodGUID,
+ ZodIBAN: () => ZodIBAN,
+ ZodIPv4: () => ZodIPv4,
+ ZodIPv6: () => ZodIPv6,
+ ZodISODate: () => ZodISODate,
+ ZodISODateTime: () => ZodISODateTime,
+ ZodISODuration: () => ZodISODuration,
+ ZodISOTime: () => ZodISOTime,
+ ZodInstanceOf: () => ZodInstanceOf,
+ ZodIntersection: () => ZodIntersection,
+ ZodIssueCode: () => ZodIssueCode,
+ ZodJWT: () => ZodJWT,
+ ZodKSUID: () => ZodKSUID,
+ ZodLazy: () => ZodLazy,
+ ZodLiteral: () => ZodLiteral,
+ ZodMAC: () => ZodMAC,
+ ZodMap: () => ZodMap,
+ ZodNaN: () => ZodNaN,
+ ZodNanoID: () => ZodNanoID,
+ ZodNever: () => ZodNever,
+ ZodNonOptional: () => ZodNonOptional,
+ ZodNull: () => ZodNull,
+ ZodNullable: () => ZodNullable,
+ ZodNumber: () => ZodNumber,
+ ZodNumberFormat: () => ZodNumberFormat,
+ ZodObject: () => ZodObject,
+ ZodOptional: () => ZodOptional,
+ ZodPipe: () => ZodPipe,
+ ZodPrefault: () => ZodPrefault,
+ ZodPreprocess: () => ZodPreprocess,
+ ZodPromise: () => ZodPromise,
+ ZodReadonly: () => ZodReadonly,
+ ZodRealError: () => ZodRealError,
+ ZodRecord: () => ZodRecord,
+ ZodSet: () => ZodSet,
+ ZodString: () => ZodString,
+ ZodStringFormat: () => ZodStringFormat,
+ ZodSuccess: () => ZodSuccess,
+ ZodSymbol: () => ZodSymbol,
+ ZodTemplateLiteral: () => ZodTemplateLiteral,
+ ZodTransform: () => ZodTransform,
+ ZodTuple: () => ZodTuple,
+ ZodType: () => ZodType,
+ ZodULID: () => ZodULID,
+ ZodURL: () => ZodURL,
+ ZodUUID: () => ZodUUID,
+ ZodUndefined: () => ZodUndefined,
+ ZodUnion: () => ZodUnion,
+ ZodUnknown: () => ZodUnknown,
+ ZodVoid: () => ZodVoid,
+ ZodXID: () => ZodXID,
+ ZodXor: () => ZodXor,
+ _ZodString: () => _ZodString,
+ _default: () => _default2,
+ _function: () => _function,
+ any: () => any,
+ array: () => array,
+ base64: () => base642,
+ base64url: () => base64url2,
+ bigint: () => bigint2,
+ boolean: () => boolean2,
+ catch: () => _catch2,
+ check: () => check,
+ cidrv4: () => cidrv42,
+ cidrv6: () => cidrv62,
+ clone: () => clone,
+ codec: () => codec,
+ coerce: () => coerce_exports,
+ compile: () => compile,
+ config: () => config,
+ core: () => core_exports2,
+ creditCard: () => creditCard2,
+ cuid: () => cuid3,
+ cuid2: () => cuid22,
+ currencyCode: () => currencyCode2,
+ custom: () => custom,
+ date: () => date2,
+ decode: () => decode2,
+ decodeAsync: () => decodeAsync2,
+ deepPartial: () => deepPartial,
+ describe: () => describe2,
+ discriminatedUnion: () => discriminatedUnion,
+ e164: () => e1642,
+ email: () => email2,
+ emoji: () => emoji2,
+ encode: () => encode2,
+ encodeAsync: () => encodeAsync2,
+ endsWith: () => _endsWith,
+ enum: () => _enum2,
+ exactOptional: () => exactOptional,
+ file: () => file,
+ flattenError: () => flattenError,
+ float32: () => float32,
+ float64: () => float64,
+ formatError: () => formatError,
+ fromJSONSchema: () => fromJSONSchema,
+ function: () => _function,
+ getDiscriminatedOption: () => getDiscriminatedOption,
+ getErrorMap: () => getErrorMap,
+ globalRegistry: () => globalRegistry,
+ gt: () => _gt,
+ gte: () => _gte,
+ guid: () => guid2,
+ hash: () => hash,
+ hex: () => hex2,
+ hostname: () => hostname2,
+ httpUrl: () => httpUrl,
+ iban: () => iban2,
+ includes: () => _includes,
+ input: () => input,
+ instanceof: () => _instanceof,
+ int: () => int,
+ int32: () => int32,
+ int64: () => int64,
+ intersection: () => intersection,
+ invertCodec: () => invertCodec,
+ ipv4: () => ipv42,
+ ipv6: () => ipv62,
+ iso: () => iso_exports,
+ json: () => json,
+ jwt: () => jwt,
+ keyof: () => keyof,
+ ksuid: () => ksuid2,
+ lazy: () => lazy,
+ length: () => _length,
+ literal: () => literal,
+ locales: () => locales_exports,
+ looseObject: () => looseObject,
+ looseRecord: () => looseRecord,
+ lowercase: () => _lowercase,
+ lt: () => _lt,
+ lte: () => _lte,
+ mac: () => mac2,
+ map: () => map,
+ maxLength: () => _maxLength,
+ maxSize: () => _maxSize,
+ memoizer: () => memoizer,
+ meta: () => meta2,
+ mime: () => _mime,
+ minLength: () => _minLength,
+ minSize: () => _minSize,
+ multipleOf: () => _multipleOf,
+ nan: () => nan,
+ nanoid: () => nanoid2,
+ nativeEnum: () => nativeEnum,
+ negative: () => _negative,
+ never: () => never,
+ nonnegative: () => _nonnegative,
+ nonoptional: () => nonoptional,
+ nonpositive: () => _nonpositive,
+ normalize: () => _normalize,
+ null: () => _null3,
+ nullable: () => nullable,
+ nullish: () => nullish2,
+ number: () => number2,
+ object: () => object,
+ optional: () => optional,
+ output: () => output,
+ overwrite: () => _overwrite,
+ parse: () => parse2,
+ parseAsync: () => parseAsync2,
+ partialRecord: () => partialRecord,
+ pipe: () => pipe,
+ positive: () => _positive,
+ prefault: () => prefault,
+ preprocess: () => preprocess,
+ prettifyError: () => prettifyError,
+ promise: () => promise,
+ properties: () => _properties,
+ property: () => _property,
+ readonly: () => readonly,
+ record: () => record,
+ refine: () => refine,
+ regex: () => _regex,
+ regexes: () => regexes_exports,
+ registry: () => registry,
+ safeDecode: () => safeDecode2,
+ safeDecodeAsync: () => safeDecodeAsync2,
+ safeEncode: () => safeEncode2,
+ safeEncodeAsync: () => safeEncodeAsync2,
+ safeParse: () => safeParse2,
+ safeParseAsync: () => safeParseAsync2,
+ set: () => set,
+ setErrorMap: () => setErrorMap,
+ size: () => _size,
+ slugify: () => _slugify,
+ startsWith: () => _startsWith,
+ strictObject: () => strictObject,
+ string: () => string2,
+ stringFormat: () => stringFormat,
+ stringbool: () => stringbool,
+ success: () => success,
+ superRefine: () => superRefine,
+ symbol: () => symbol,
+ templateLiteral: () => templateLiteral,
+ toJSONSchema: () => toJSONSchema,
+ toLowerCase: () => _toLowerCase,
+ toUpperCase: () => _toUpperCase,
+ toZod: () => toZod,
+ transform: () => transform,
+ treeifyError: () => treeifyError,
+ trim: () => _trim,
+ tuple: () => tuple,
+ uint32: () => uint32,
+ uint64: () => uint64,
+ ulid: () => ulid2,
+ undefined: () => _undefined3,
+ union: () => union,
+ unknown: () => unknown,
+ uppercase: () => _uppercase,
+ url: () => url,
+ util: () => util_exports,
+ uuid: () => uuid2,
+ uuidv4: () => uuidv4,
+ uuidv6: () => uuidv6,
+ uuidv7: () => uuidv7,
+ validate: () => validate,
+ validateAsync: () => validateAsync,
+ void: () => _void2,
+ withParser: () => withParser,
+ xid: () => xid2,
+ xor: () => xor
+});
+
+// ../../node_modules/.pnpm/zod@4.6.7/node_modules/zod/v4/core/index.js
+var core_exports2 = {};
+__export(core_exports2, {
+ $ZodAny: () => $ZodAny,
+ $ZodArray: () => $ZodArray,
+ $ZodAsyncError: () => $ZodAsyncError,
+ $ZodBase64: () => $ZodBase64,
+ $ZodBase64URL: () => $ZodBase64URL,
+ $ZodBigInt: () => $ZodBigInt,
+ $ZodBigIntFormat: () => $ZodBigIntFormat,
+ $ZodBoolean: () => $ZodBoolean,
+ $ZodCIDRv4: () => $ZodCIDRv4,
+ $ZodCIDRv6: () => $ZodCIDRv6,
+ $ZodCUID: () => $ZodCUID,
+ $ZodCUID2: () => $ZodCUID2,
+ $ZodCatch: () => $ZodCatch,
+ $ZodCheck: () => $ZodCheck,
+ $ZodCheckBigIntFormat: () => $ZodCheckBigIntFormat,
+ $ZodCheckEndsWith: () => $ZodCheckEndsWith,
+ $ZodCheckGreaterThan: () => $ZodCheckGreaterThan,
+ $ZodCheckIncludes: () => $ZodCheckIncludes,
+ $ZodCheckLengthEquals: () => $ZodCheckLengthEquals,
+ $ZodCheckLessThan: () => $ZodCheckLessThan,
+ $ZodCheckLowerCase: () => $ZodCheckLowerCase,
+ $ZodCheckMaxLength: () => $ZodCheckMaxLength,
+ $ZodCheckMaxSize: () => $ZodCheckMaxSize,
+ $ZodCheckMimeType: () => $ZodCheckMimeType,
+ $ZodCheckMinLength: () => $ZodCheckMinLength,
+ $ZodCheckMinSize: () => $ZodCheckMinSize,
+ $ZodCheckMultipleOf: () => $ZodCheckMultipleOf,
+ $ZodCheckNumberFormat: () => $ZodCheckNumberFormat,
+ $ZodCheckOverwrite: () => $ZodCheckOverwrite,
+ $ZodCheckProperties: () => $ZodCheckProperties,
+ $ZodCheckProperty: () => $ZodCheckProperty,
+ $ZodCheckRegex: () => $ZodCheckRegex,
+ $ZodCheckSizeEquals: () => $ZodCheckSizeEquals,
+ $ZodCheckStartsWith: () => $ZodCheckStartsWith,
+ $ZodCheckStringFormat: () => $ZodCheckStringFormat,
+ $ZodCheckUpperCase: () => $ZodCheckUpperCase,
+ $ZodCodec: () => $ZodCodec,
+ $ZodCreditCard: () => $ZodCreditCard,
+ $ZodCustom: () => $ZodCustom,
+ $ZodCustomStringFormat: () => $ZodCustomStringFormat,
+ $ZodCyclicError: () => $ZodCyclicError,
+ $ZodDate: () => $ZodDate,
+ $ZodDefault: () => $ZodDefault,
+ $ZodDiscriminatedUnion: () => $ZodDiscriminatedUnion,
+ $ZodE164: () => $ZodE164,
+ $ZodEmail: () => $ZodEmail,
+ $ZodEmoji: () => $ZodEmoji,
+ $ZodEncodeError: () => $ZodEncodeError,
+ $ZodEnum: () => $ZodEnum,
+ $ZodError: () => $ZodError,
+ $ZodExactOptional: () => $ZodExactOptional,
+ $ZodFile: () => $ZodFile,
+ $ZodFunction: () => $ZodFunction,
+ $ZodGUID: () => $ZodGUID,
+ $ZodIBAN: () => $ZodIBAN,
+ $ZodIPv4: () => $ZodIPv4,
+ $ZodIPv6: () => $ZodIPv6,
+ $ZodISODate: () => $ZodISODate,
+ $ZodISODateTime: () => $ZodISODateTime,
+ $ZodISODuration: () => $ZodISODuration,
+ $ZodISOTime: () => $ZodISOTime,
+ $ZodIntersection: () => $ZodIntersection,
+ $ZodJWT: () => $ZodJWT,
+ $ZodKSUID: () => $ZodKSUID,
+ $ZodLazy: () => $ZodLazy,
+ $ZodLiteral: () => $ZodLiteral,
+ $ZodMAC: () => $ZodMAC,
+ $ZodMap: () => $ZodMap,
+ $ZodNaN: () => $ZodNaN,
+ $ZodNanoID: () => $ZodNanoID,
+ $ZodNever: () => $ZodNever,
+ $ZodNonOptional: () => $ZodNonOptional,
+ $ZodNull: () => $ZodNull,
+ $ZodNullable: () => $ZodNullable,
+ $ZodNumber: () => $ZodNumber,
+ $ZodNumberFormat: () => $ZodNumberFormat,
+ $ZodObject: () => $ZodObject,
+ $ZodObjectJIT: () => $ZodObjectJIT,
+ $ZodOptional: () => $ZodOptional,
+ $ZodPipe: () => $ZodPipe,
+ $ZodPrefault: () => $ZodPrefault,
+ $ZodPreprocess: () => $ZodPreprocess,
+ $ZodPromise: () => $ZodPromise,
+ $ZodReadonly: () => $ZodReadonly,
+ $ZodRealError: () => $ZodRealError,
+ $ZodRecord: () => $ZodRecord,
+ $ZodRegistry: () => $ZodRegistry,
+ $ZodSet: () => $ZodSet,
+ $ZodString: () => $ZodString,
+ $ZodStringFormat: () => $ZodStringFormat,
+ $ZodSuccess: () => $ZodSuccess,
+ $ZodSymbol: () => $ZodSymbol,
+ $ZodTemplateLiteral: () => $ZodTemplateLiteral,
+ $ZodTransform: () => $ZodTransform,
+ $ZodTuple: () => $ZodTuple,
+ $ZodType: () => $ZodType,
+ $ZodULID: () => $ZodULID,
+ $ZodURL: () => $ZodURL,
+ $ZodUUID: () => $ZodUUID,
+ $ZodUndefined: () => $ZodUndefined,
+ $ZodUnion: () => $ZodUnion,
+ $ZodUnknown: () => $ZodUnknown,
+ $ZodVoid: () => $ZodVoid,
+ $ZodXID: () => $ZodXID,
+ $ZodXor: () => $ZodXor,
+ $brand: () => $brand,
+ $constructor: () => $constructor,
+ $input: () => $input,
+ $output: () => $output,
+ Doc: () => Doc,
+ INVALID: () => INVALID,
+ JSONSchema: () => json_schema_exports,
+ JSONSchemaGenerator: () => JSONSchemaGenerator,
+ NEVER: () => NEVER,
+ TimePrecision: () => TimePrecision,
+ URL_BAD_FORMAT: () => URL_BAD_FORMAT,
+ URL_UNPARSEABLE: () => URL_UNPARSEABLE,
+ ZodCompileAsyncError: () => ZodCompileAsyncError,
+ ZodCompileUnsupportedError: () => ZodCompileUnsupportedError,
+ _any: () => _any,
+ _array: () => _array,
+ _base64: () => _base64,
+ _base64url: () => _base64url,
+ _bigint: () => _bigint,
+ _boolean: () => _boolean,
+ _catch: () => _catch,
+ _check: () => _check,
+ _cidrv4: () => _cidrv4,
+ _cidrv6: () => _cidrv6,
+ _coercedBigint: () => _coercedBigint,
+ _coercedBoolean: () => _coercedBoolean,
+ _coercedDate: () => _coercedDate,
+ _coercedNumber: () => _coercedNumber,
+ _coercedString: () => _coercedString,
+ _creditCard: () => _creditCard,
+ _cuid: () => _cuid,
+ _cuid2: () => _cuid2,
+ _custom: () => _custom,
+ _date: () => _date,
+ _decode: () => _decode,
+ _decodeAsync: () => _decodeAsync,
+ _default: () => _default,
+ _discriminatedUnion: () => _discriminatedUnion,
+ _e164: () => _e164,
+ _email: () => _email,
+ _emoji: () => _emoji2,
+ _encode: () => _encode,
+ _encodeAsync: () => _encodeAsync,
+ _endsWith: () => _endsWith,
+ _enum: () => _enum,
+ _file: () => _file,
+ _float32: () => _float32,
+ _float64: () => _float64,
+ _gt: () => _gt,
+ _gte: () => _gte,
+ _guid: () => _guid,
+ _iban: () => _iban,
+ _includes: () => _includes,
+ _int: () => _int,
+ _int32: () => _int32,
+ _int64: () => _int64,
+ _intersection: () => _intersection,
+ _ipv4: () => _ipv4,
+ _ipv6: () => _ipv6,
+ _isoDate: () => _isoDate,
+ _isoDateTime: () => _isoDateTime,
+ _isoDuration: () => _isoDuration,
+ _isoTime: () => _isoTime,
+ _jwt: () => _jwt,
+ _ksuid: () => _ksuid,
+ _lazy: () => _lazy,
+ _length: () => _length,
+ _literal: () => _literal,
+ _lowercase: () => _lowercase,
+ _lt: () => _lt,
+ _lte: () => _lte,
+ _mac: () => _mac,
+ _map: () => _map,
+ _max: () => _lte,
+ _maxLength: () => _maxLength,
+ _maxSize: () => _maxSize,
+ _mime: () => _mime,
+ _min: () => _gte,
+ _minLength: () => _minLength,
+ _minSize: () => _minSize,
+ _multipleOf: () => _multipleOf,
+ _nan: () => _nan,
+ _nanoid: () => _nanoid,
+ _nativeEnum: () => _nativeEnum,
+ _negative: () => _negative,
+ _never: () => _never,
+ _nonnegative: () => _nonnegative,
+ _nonoptional: () => _nonoptional,
+ _nonpositive: () => _nonpositive,
+ _normalize: () => _normalize,
+ _null: () => _null2,
+ _nullable: () => _nullable,
+ _number: () => _number,
+ _optional: () => _optional,
+ _overwrite: () => _overwrite,
+ _parse: () => _parse,
+ _parseAsync: () => _parseAsync,
+ _pipe: () => _pipe,
+ _positive: () => _positive,
+ _promise: () => _promise,
+ _properties: () => _properties,
+ _property: () => _property,
+ _readonly: () => _readonly,
+ _record: () => _record,
+ _refine: () => _refine,
+ _regex: () => _regex,
+ _safeDecode: () => _safeDecode,
+ _safeDecodeAsync: () => _safeDecodeAsync,
+ _safeEncode: () => _safeEncode,
+ _safeEncodeAsync: () => _safeEncodeAsync,
+ _safeParse: () => _safeParse,
+ _safeParseAsync: () => _safeParseAsync,
+ _set: () => _set,
+ _size: () => _size,
+ _slugify: () => _slugify,
+ _startsWith: () => _startsWith,
+ _string: () => _string,
+ _stringFormat: () => _stringFormat,
+ _stringbool: () => _stringbool,
+ _success: () => _success,
+ _superRefine: () => _superRefine,
+ _symbol: () => _symbol,
+ _templateLiteral: () => _templateLiteral,
+ _toLowerCase: () => _toLowerCase,
+ _toUpperCase: () => _toUpperCase,
+ _transform: () => _transform,
+ _trim: () => _trim,
+ _tuple: () => _tuple,
+ _uint32: () => _uint32,
+ _uint64: () => _uint64,
+ _ulid: () => _ulid,
+ _undefined: () => _undefined2,
+ _union: () => _union,
+ _unknown: () => _unknown,
+ _uppercase: () => _uppercase,
+ _url: () => _url,
+ _uuid: () => _uuid,
+ _uuidv4: () => _uuidv4,
+ _uuidv6: () => _uuidv6,
+ _uuidv7: () => _uuidv7,
+ _void: () => _void,
+ _xid: () => _xid,
+ _xor: () => _xor,
+ base64Charset: () => base64Charset,
+ base64urlCharset: () => base64urlCharset,
+ canParseURL: () => canParseURL,
+ clone: () => clone,
+ compile: () => compile,
+ compileFn: () => compileFn,
+ config: () => config,
+ createStandardJSONSchemaMethod: () => createStandardJSONSchemaMethod,
+ createToJSONSchemaMethod: () => createToJSONSchemaMethod,
+ decode: () => decode,
+ decodeAsync: () => decodeAsync,
+ describe: () => describe,
+ encode: () => encode,
+ encodeAsync: () => encodeAsync,
+ extractDefs: () => extractDefs,
+ finalize: () => finalize,
+ flattenError: () => flattenError,
+ formatError: () => formatError,
+ getDiscriminatedOption: () => getDiscriminatedOption,
+ globalConfig: () => globalConfig,
+ globalRegistry: () => globalRegistry,
+ handleUnrepresentable: () => handleUnrepresentable,
+ initializeContext: () => initializeContext,
+ isBackEdge: () => isBackEdge,
+ isRecursiveSchema: () => isRecursiveSchema,
+ isValidBase64: () => isValidBase64,
+ isValidBase64URL: () => isValidBase64URL,
+ isValidCIDRv6: () => isValidCIDRv6,
+ isValidCreditCard: () => isValidCreditCard,
+ isValidIBAN: () => isValidIBAN,
+ isValidIPv6: () => isValidIPv6,
+ isValidJWT: () => isValidJWT,
+ locales: () => locales_exports,
+ memoizer: () => memoizer,
+ mergeValues: () => mergeValues,
+ meta: () => meta,
+ parse: () => parse,
+ parseAsync: () => parseAsync,
+ parseURLObject: () => parseURLObject,
+ prettifyError: () => prettifyError,
+ process: () => processSchema,
+ processSchema: () => processSchema,
+ regexes: () => regexes_exports,
+ registry: () => registry,
+ safeDecode: () => safeDecode,
+ safeDecodeAsync: () => safeDecodeAsync,
+ safeEncode: () => safeEncode,
+ safeEncodeAsync: () => safeEncodeAsync,
+ safeParse: () => safeParse,
+ safeParseAsync: () => safeParseAsync,
+ standardProps: () => standardProps,
+ stripTabAndNewline: () => stripTabAndNewline,
+ toDotPath: () => toDotPath,
+ toJSONSchema: () => toJSONSchema,
+ toZod: () => toZod,
+ treeifyError: () => treeifyError,
+ urlHostnameOk: () => urlHostnameOk,
+ urlProtocolOk: () => urlProtocolOk,
+ util: () => util_exports,
+ validate: () => validate,
+ validateAsync: () => validateAsync,
+ validateURL: () => validateURL,
+ version: () => version,
+ withParser: () => withParser
+});
+
+// ../../node_modules/.pnpm/zod@4.6.7/node_modules/zod/v4/core/util.js
+var util_exports = {};
+__export(util_exports, {
+ BIGINT_FORMAT_RANGES: () => BIGINT_FORMAT_RANGES,
+ CONSTANT_CATCH: () => CONSTANT_CATCH,
+ Class: () => Class,
+ NUMBER_FORMAT_RANGES: () => NUMBER_FORMAT_RANGES,
+ aborted: () => aborted,
+ allowsEval: () => allowsEval,
+ assert: () => assert,
+ assertEqual: () => assertEqual,
+ assertIs: () => assertIs,
+ assertNever: () => assertNever,
+ assertNotEqual: () => assertNotEqual,
+ assignProp: () => assignProp,
+ attachSchema: () => attachSchema,
+ base64ToUint8Array: () => base64ToUint8Array,
+ base64urlToUint8Array: () => base64urlToUint8Array,
+ cached: () => cached,
+ captureStackTrace: () => captureStackTrace,
+ cleanEnum: () => cleanEnum,
+ cleanRegex: () => cleanRegex,
+ clone: () => clone,
+ cloneDef: () => cloneDef,
+ codePointLength: () => codePointLength,
+ constantCatch: () => constantCatch,
+ createTransparentProxy: () => createTransparentProxy,
+ defineLazy: () => defineLazy,
+ defineLazyInternal: () => defineLazyInternal,
+ derived: () => derived,
+ esc: () => esc,
+ escapeRegex: () => escapeRegex,
+ explicitlyAborted: () => explicitlyAborted,
+ extend: () => extend,
+ finalizeIssue: () => finalizeIssue,
+ floatSafeRemainder: () => floatSafeRemainder,
+ getElementAtPath: () => getElementAtPath,
+ getEnumValues: () => getEnumValues,
+ getLengthableOrigin: () => getLengthableOrigin,
+ getParsedType: () => getParsedType,
+ getSizableOrigin: () => getSizableOrigin,
+ hexToUint8Array: () => hexToUint8Array,
+ hide: () => hide,
+ installLazyProp: () => installLazyProp,
+ isObject: () => isObject,
+ isPlainObject: () => isPlainObject,
+ issue: () => issue,
+ joinValues: () => joinValues,
+ jsonStringifyReplacer: () => jsonStringifyReplacer,
+ members: () => members,
+ merge: () => merge,
+ mergeDefs: () => mergeDefs,
+ normalizeParams: () => normalizeParams,
+ nullish: () => nullish,
+ numKeys: () => numKeys,
+ objectClone: () => objectClone,
+ omit: () => omit,
+ optionalKeys: () => optionalKeys,
+ own: () => own,
+ parsedType: () => parsedType,
+ partial: () => partial,
+ pick: () => pick,
+ prefixIssues: () => prefixIssues,
+ primitiveTypes: () => primitiveTypes,
+ promiseAllObject: () => promiseAllObject,
+ propertyKeyTypes: () => propertyKeyTypes,
+ randomString: () => randomString,
+ rawShape: () => rawShape,
+ required: () => required,
+ safeExtend: () => safeExtend,
+ shallowClone: () => shallowClone,
+ sizeCaps: () => sizeCaps,
+ slugify: () => slugify,
+ stringifyPrimitive: () => stringifyPrimitive,
+ toZod: () => toZod,
+ uint8ArrayToBase64: () => uint8ArrayToBase64,
+ uint8ArrayToBase64url: () => uint8ArrayToBase64url,
+ uint8ArrayToHex: () => uint8ArrayToHex,
+ unwrapMessage: () => unwrapMessage
+});
+function assertEqual(val) {
+ return val;
+}
+__name(assertEqual, "assertEqual");
+function assertNotEqual(val) {
+ return val;
+}
+__name(assertNotEqual, "assertNotEqual");
+function toZod() {
+ return (schema2) => schema2;
+}
+__name(toZod, "toZod");
+function assertIs(_arg) {
+}
+__name(assertIs, "assertIs");
+function assertNever(_x) {
+ throw new Error("Unexpected value in exhaustive check");
+}
+__name(assertNever, "assertNever");
+function assert(_) {
+}
+__name(assert, "assert");
+function getEnumValues(entries) {
+ const numericValues = Object.values(entries).filter((v) => typeof v === "number");
+ const values = Object.entries(entries).filter(([k5, _]) => numericValues.indexOf(+k5) === -1).map(([_, v]) => v);
+ return values;
+}
+__name(getEnumValues, "getEnumValues");
+function joinValues(array2, separator = "|") {
+ return array2.map((val) => stringifyPrimitive(val)).join(separator);
+}
+__name(joinValues, "joinValues");
+function jsonStringifyReplacer(_, value) {
+ if (typeof value === "bigint")
+ return value.toString();
+ return value;
+}
+__name(jsonStringifyReplacer, "jsonStringifyReplacer");
+var Cached = class {
+ static {
+ __name(this, "Cached");
+ }
+ constructor(getter) {
+ this._getter = getter;
+ this._value = void 0;
+ }
+ get value() {
+ const getter = this._getter;
+ if (getter !== void 0) {
+ this._value = getter();
+ this._getter = void 0;
+ }
+ return this._value;
+ }
+};
+function cached(getter) {
+ return new Cached(getter);
+}
+__name(cached, "cached");
+function nullish(input2) {
+ return input2 === null || input2 === void 0;
+}
+__name(nullish, "nullish");
+function cleanRegex(source) {
+ const start = source.startsWith("^") ? 1 : 0;
+ const end = source.endsWith("$") ? source.length - 1 : source.length;
+ return source.slice(start, end);
+}
+__name(cleanRegex, "cleanRegex");
+function floatSafeRemainder(val, step) {
+ const ratio = val / step;
+ const roundedRatio = Math.round(ratio);
+ const tolerance = 4 * Number.EPSILON * Math.max(Math.abs(ratio), 1);
+ if (Math.abs(ratio - roundedRatio) < tolerance)
+ return 0;
+ return ratio - roundedRatio;
+}
+__name(floatSafeRemainder, "floatSafeRemainder");
+var EVALUATING = /* @__PURE__ */ Symbol("evaluating");
+function defineLazy(object2, key, getter) {
+ let value = void 0;
+ Object.defineProperty(object2, key, {
+ get() {
+ if (value === EVALUATING) {
+ return void 0;
+ }
+ if (value === void 0) {
+ value = EVALUATING;
+ value = getter();
+ }
+ return value;
+ },
+ set(v) {
+ Object.defineProperty(object2, key, {
+ value: v
+ // configurable: true,
+ });
+ },
+ configurable: true
+ });
+}
+__name(defineLazy, "defineLazy");
+function objectClone(obj) {
+ return Object.create(Object.getPrototypeOf(obj), Object.getOwnPropertyDescriptors(obj));
+}
+__name(objectClone, "objectClone");
+function assignProp(target, prop, value) {
+ Object.defineProperty(target, prop, {
+ value,
+ writable: true,
+ enumerable: true,
+ configurable: true
+ });
+}
+__name(assignProp, "assignProp");
+function rawShape(def) {
+ const desc = Object.getOwnPropertyDescriptor(def, "shape");
+ return desc?.get ? desc.get.raw : desc?.value;
+}
+__name(rawShape, "rawShape");
+function sourceShape(schema2) {
+ return rawShape(schema2._zod.def) ?? schema2._zod.def.shape;
+}
+__name(sourceShape, "sourceShape");
+function deferProp(target, key, getter) {
+ Object.defineProperty(target, key, {
+ get() {
+ const value = getter();
+ assignProp(this, key, value);
+ return value;
+ },
+ enumerable: true,
+ configurable: true
+ });
+}
+__name(deferProp, "deferProp");
+function putProp(target, key, value) {
+ if (key in target)
+ assignProp(target, key, value);
+ else
+ target[key] = value;
+}
+__name(putProp, "putProp");
+function mirrorShape(target, source, keys, wrap) {
+ const raw4 = sourceShape(source);
+ for (const key of keys) {
+ const desc = Object.getOwnPropertyDescriptor(raw4, key);
+ if (!desc.enumerable)
+ continue;
+ if (desc.get) {
+ deferProp(target, key, () => {
+ const value = source._zod.def.shape[key];
+ return wrap ? wrap(value, key) : value;
+ });
+ } else
+ putProp(target, key, wrap ? wrap(desc.value, key) : desc.value);
+ }
+}
+__name(mirrorShape, "mirrorShape");
+function mirrorProps(target, source) {
+ for (const key of Reflect.ownKeys(source)) {
+ const desc = Object.getOwnPropertyDescriptor(source, key);
+ if (!desc.enumerable)
+ continue;
+ if (desc.get)
+ deferProp(target, key, () => source[key]);
+ else
+ putProp(target, key, desc.value);
+ }
+}
+__name(mirrorProps, "mirrorProps");
+function mergeDefs(...defs) {
+ const mergedDescriptors = {};
+ for (const def of defs) {
+ const descriptors = Object.getOwnPropertyDescriptors(def);
+ Object.assign(mergedDescriptors, descriptors);
+ }
+ return Object.defineProperties({}, mergedDescriptors);
+}
+__name(mergeDefs, "mergeDefs");
+function cloneDef(schema2) {
+ return mergeDefs(schema2._zod.def);
+}
+__name(cloneDef, "cloneDef");
+function getElementAtPath(obj, path2) {
+ if (!path2)
+ return obj;
+ return path2.reduce((acc, key) => acc?.[key], obj);
+}
+__name(getElementAtPath, "getElementAtPath");
+function promiseAllObject(promisesObj) {
+ const keys = Object.keys(promisesObj);
+ const promises = keys.map((key) => promisesObj[key]);
+ return Promise.all(promises).then((results) => {
+ const resolvedObj = {};
+ for (let i5 = 0; i5 < keys.length; i5++) {
+ resolvedObj[keys[i5]] = results[i5];
+ }
+ return resolvedObj;
+ });
+}
+__name(promiseAllObject, "promiseAllObject");
+function randomString(length = 10) {
+ const chars = "abcdefghijklmnopqrstuvwxyz";
+ let str = "";
+ for (let i5 = 0; i5 < length; i5++) {
+ str += chars[Math.floor(Math.random() * chars.length)];
+ }
+ return str;
+}
+__name(randomString, "randomString");
+function esc(str) {
+ return JSON.stringify(str);
+}
+__name(esc, "esc");
+function slugify(input2) {
+ return input2.toLowerCase().trim().replace(/[^\w\s-]/g, "").replace(/[\s_-]+/g, "-").replace(/^-+|-+$/g, "");
+}
+__name(slugify, "slugify");
+var captureStackTrace = "captureStackTrace" in Error ? Error.captureStackTrace : (..._args) => {
+};
+function isObject(data) {
+ return typeof data === "object" && data !== null && !Array.isArray(data);
+}
+__name(isObject, "isObject");
+var allowsEval = /* @__PURE__ */ cached(() => {
+ if (globalConfig.jitless) {
+ return false;
+ }
+ if (typeof navigator !== "undefined" && navigator?.userAgent?.includes("Cloudflare")) {
+ return false;
+ }
+ try {
+ const F = Function;
+ new F("");
+ return true;
+ } catch (_) {
+ return false;
+ }
+});
+function isPlainObject(o3) {
+ if (isObject(o3) === false)
+ return false;
+ const ctor = o3.constructor;
+ if (ctor === void 0)
+ return true;
+ if (typeof ctor !== "function")
+ return true;
+ const prot = ctor.prototype;
+ if (isObject(prot) === false)
+ return false;
+ if (Object.prototype.hasOwnProperty.call(prot, "isPrototypeOf") === false) {
+ return false;
+ }
+ return true;
+}
+__name(isPlainObject, "isPlainObject");
+function shallowClone(o3) {
+ if (isPlainObject(o3))
+ return { ...o3 };
+ if (Array.isArray(o3))
+ return [...o3];
+ if (o3 instanceof Map)
+ return new Map(o3);
+ if (o3 instanceof Set)
+ return new Set(o3);
+ return o3;
+}
+__name(shallowClone, "shallowClone");
+function numKeys(data) {
+ let keyCount = 0;
+ for (const key in data) {
+ if (Object.prototype.hasOwnProperty.call(data, key)) {
+ keyCount++;
+ }
+ }
+ return keyCount;
+}
+__name(numKeys, "numKeys");
+var getParsedType = /* @__PURE__ */ __name((data) => {
+ const t = typeof data;
+ switch (t) {
+ case "undefined":
+ return "undefined";
+ case "string":
+ return "string";
+ case "number":
+ return Number.isNaN(data) ? "nan" : "number";
+ case "boolean":
+ return "boolean";
+ case "function":
+ return "function";
+ case "bigint":
+ return "bigint";
+ case "symbol":
+ return "symbol";
+ case "object":
+ if (Array.isArray(data)) {
+ return "array";
+ }
+ if (data === null) {
+ return "null";
+ }
+ if (data.then && typeof data.then === "function" && data.catch && typeof data.catch === "function") {
+ return "promise";
+ }
+ if (typeof Map !== "undefined" && data instanceof Map) {
+ return "map";
+ }
+ if (typeof Set !== "undefined" && data instanceof Set) {
+ return "set";
+ }
+ if (typeof Date !== "undefined" && data instanceof Date) {
+ return "date";
+ }
+ if (typeof File !== "undefined" && data instanceof File) {
+ return "file";
+ }
+ return "object";
+ default:
+ throw new Error(`Unknown data type: ${t}`);
+ }
+}, "getParsedType");
+var propertyKeyTypes = /* @__PURE__ */ new Set(["string", "number", "symbol"]);
+var primitiveTypes = /* @__PURE__ */ new Set([
+ "string",
+ "number",
+ "bigint",
+ "boolean",
+ "symbol",
+ "undefined"
+]);
+function escapeRegex(str) {
+ return str.replace(/[.*+?^${}()|[\]\\]/g, "\\$&");
+}
+__name(escapeRegex, "escapeRegex");
+function clone(inst, def, params) {
+ const cl = new inst._zod.constr(def ?? inst._zod.def);
+ if (!def || params?.parent)
+ cl._zod.parent = inst;
+ return cl;
+}
+__name(clone, "clone");
+function normalizeParams(_params) {
+ const params = _params;
+ if (!params)
+ return {};
+ if (typeof params === "string")
+ return { error: /* @__PURE__ */ __name(() => params, "error") };
+ if (params?.message !== void 0) {
+ if (params?.error !== void 0)
+ throw new Error("Cannot specify both `message` and `error` params");
+ params.error = params.message;
+ }
+ delete params.message;
+ if (typeof params.error === "string")
+ return { ...params, error: /* @__PURE__ */ __name(() => params.error, "error") };
+ return params;
+}
+__name(normalizeParams, "normalizeParams");
+function createTransparentProxy(getter) {
+ let target;
+ return new Proxy({}, {
+ get(_, prop, receiver) {
+ target ?? (target = getter());
+ return Reflect.get(target, prop, receiver);
+ },
+ set(_, prop, value, receiver) {
+ target ?? (target = getter());
+ return Reflect.set(target, prop, value, receiver);
+ },
+ has(_, prop) {
+ target ?? (target = getter());
+ return Reflect.has(target, prop);
+ },
+ deleteProperty(_, prop) {
+ target ?? (target = getter());
+ return Reflect.deleteProperty(target, prop);
+ },
+ ownKeys(_) {
+ target ?? (target = getter());
+ return Reflect.ownKeys(target);
+ },
+ getOwnPropertyDescriptor(_, prop) {
+ target ?? (target = getter());
+ return Reflect.getOwnPropertyDescriptor(target, prop);
+ },
+ defineProperty(_, prop, descriptor) {
+ target ?? (target = getter());
+ return Reflect.defineProperty(target, prop, descriptor);
+ }
+ });
+}
+__name(createTransparentProxy, "createTransparentProxy");
+function stringifyPrimitive(value) {
+ if (typeof value === "bigint")
+ return value.toString() + "n";
+ if (typeof value === "string")
+ return `"${value}"`;
+ return `${value}`;
+}
+__name(stringifyPrimitive, "stringifyPrimitive");
+function optionalKeys(shape) {
+ return Object.keys(shape).filter((k5) => {
+ return shape[k5]._zod.optin !== void 0 && shape[k5]._zod.optout === "optional";
+ });
+}
+__name(optionalKeys, "optionalKeys");
+var NUMBER_FORMAT_RANGES = /* @__PURE__ */ (() => ({
+ safeint: [Number.MIN_SAFE_INTEGER, Number.MAX_SAFE_INTEGER],
+ int32: [-2147483648, 2147483647],
+ uint32: [0, 4294967295],
+ float32: [-34028234663852886e22, 34028234663852886e22],
+ float64: [-Number.MAX_VALUE, Number.MAX_VALUE]
+}))();
+var BIGINT_FORMAT_RANGES = {
+ int64: [/* @__PURE__ */ BigInt("-9223372036854775808"), /* @__PURE__ */ BigInt("9223372036854775807")],
+ uint64: [/* @__PURE__ */ BigInt(0), /* @__PURE__ */ BigInt("18446744073709551615")]
+};
+function pick(schema2, mask) {
+ const currDef = schema2._zod.def;
+ const checks = currDef.checks;
+ const hasChecks = checks && checks.length > 0;
+ if (hasChecks) {
+ throw new Error(".pick() cannot be used on object schemas containing refinements");
+ }
+ const newShape = {};
+ mirrorShape(newShape, schema2, maskedKeys(schema2, mask));
+ return clone(schema2, mergeDefs(currDef, { shape: newShape, checks: [] }));
+}
+__name(pick, "pick");
+function maskedKeys(schema2, mask) {
+ const raw4 = sourceShape(schema2);
+ const keys = [];
+ for (const key of Reflect.ownKeys(mask)) {
+ if (!Object.getOwnPropertyDescriptor(raw4, key)?.enumerable) {
+ throw new Error(`Unrecognized key: "${String(key)}"`);
+ }
+ if (mask[key])
+ keys.push(key);
+ }
+ return keys;
+}
+__name(maskedKeys, "maskedKeys");
+function omit(schema2, mask) {
+ const currDef = schema2._zod.def;
+ const checks = currDef.checks;
+ const hasChecks = checks && checks.length > 0;
+ if (hasChecks) {
+ throw new Error(".omit() cannot be used on object schemas containing refinements");
+ }
+ const omitted = new Set(maskedKeys(schema2, mask));
+ const newShape = {};
+ mirrorShape(newShape, schema2, Reflect.ownKeys(sourceShape(schema2)).filter((key) => !omitted.has(key)));
+ return clone(schema2, mergeDefs(currDef, { shape: newShape, checks: [] }));
+}
+__name(omit, "omit");
+function extend(schema2, shape) {
+ if (!isPlainObject(shape)) {
+ throw new Error("Invalid input to extend: expected a plain object");
+ }
+ const checks = schema2._zod.def.checks;
+ const hasChecks = checks && checks.length > 0;
+ if (hasChecks) {
+ const existingShape = sourceShape(schema2);
+ for (const key of Reflect.ownKeys(shape)) {
+ if (Object.getOwnPropertyDescriptor(existingShape, key) !== void 0) {
+ throw new Error("Cannot overwrite keys on object schemas containing refinements. Use `.safeExtend()` instead.");
+ }
+ }
+ }
+ return clone(schema2, mergeDefs(schema2._zod.def, { shape: extended(schema2, shape) }));
+}
+__name(extend, "extend");
+function extended(schema2, shape) {
+ const newShape = {};
+ mirrorShape(newShape, schema2, Reflect.ownKeys(sourceShape(schema2)));
+ mirrorProps(newShape, shape);
+ return newShape;
+}
+__name(extended, "extended");
+function safeExtend(schema2, shape) {
+ if (!isPlainObject(shape)) {
+ throw new Error("Invalid input to safeExtend: expected a plain object");
+ }
+ return clone(schema2, mergeDefs(schema2._zod.def, { shape: extended(schema2, shape) }));
+}
+__name(safeExtend, "safeExtend");
+function merge(a5, b5) {
+ if (!b5?._zod?.def) {
+ throw new Error("Invalid input to merge: expected an object schema. To merge a plain shape, use `.extend()`.");
+ }
+ if (a5._zod.def.checks?.length) {
+ throw new Error(".merge() cannot be used on object schemas containing refinements. Use .safeExtend() instead.");
+ }
+ const newShape = {};
+ mirrorShape(newShape, a5, Reflect.ownKeys(sourceShape(a5)));
+ mirrorShape(newShape, b5, Reflect.ownKeys(sourceShape(b5)));
+ const def = mergeDefs(a5._zod.def, {
+ shape: newShape,
+ get catchall() {
+ return b5._zod.def.catchall;
+ },
+ checks: b5._zod.def.checks ?? []
+ });
+ return clone(a5, def);
+}
+__name(merge, "merge");
+function partial(Class2, schema2, mask, name2 = "partial") {
+ const currDef = schema2._zod.def;
+ const checks = currDef.checks;
+ const hasChecks = checks && checks.length > 0;
+ if (hasChecks) {
+ throw new Error(`.${name2}() cannot be used on object schemas containing refinements`);
+ }
+ const selected = mask ? new Set(maskedKeys(schema2, mask)) : void 0;
+ const newShape = {};
+ mirrorShape(newShape, schema2, Reflect.ownKeys(sourceShape(schema2)), Class2 && ((value, key) => selected && !selected.has(key) ? value : new Class2({ type: "optional", innerType: value })));
+ return clone(schema2, mergeDefs(schema2._zod.def, { shape: newShape, checks: [] }));
+}
+__name(partial, "partial");
+function required(Class2, schema2, mask) {
+ const selected = mask ? new Set(maskedKeys(schema2, mask)) : void 0;
+ const newShape = {};
+ mirrorShape(newShape, schema2, Reflect.ownKeys(sourceShape(schema2)), (value, key) => (
+ // overwrite with non-optional
+ selected && !selected.has(key) ? value : new Class2({ type: "nonoptional", innerType: value })
+ ));
+ return clone(schema2, mergeDefs(schema2._zod.def, { shape: newShape }));
+}
+__name(required, "required");
+function aborted(x, startIndex = 0) {
+ if (x.aborted === true)
+ return true;
+ for (let i5 = startIndex; i5 < x.issues.length; i5++) {
+ if (x.issues[i5]?.continue !== true) {
+ return true;
+ }
+ }
+ return false;
+}
+__name(aborted, "aborted");
+function explicitlyAborted(x, startIndex = 0) {
+ if (x.aborted === true)
+ return true;
+ for (let i5 = startIndex; i5 < x.issues.length; i5++) {
+ if (x.issues[i5]?.continue === false) {
+ return true;
+ }
+ }
+ return false;
+}
+__name(explicitlyAborted, "explicitlyAborted");
+function prefixIssues(path2, issues) {
+ return issues.map((iss) => {
+ var _a4;
+ (_a4 = iss).path ?? (_a4.path = []);
+ iss.path.unshift(path2);
+ return iss;
+ });
+}
+__name(prefixIssues, "prefixIssues");
+function unwrapMessage(message) {
+ return typeof message === "string" ? message : message?.message;
+}
+__name(unwrapMessage, "unwrapMessage");
+function sizeCaps(defChecks) {
+ const caps = [];
+ for (const ch of defChecks ?? []) {
+ const d5 = ch._zod.def;
+ if (!/_(length|size)$|_equals$/.test(d5.check))
+ break;
+ const max = d5.maximum ?? d5.length ?? d5.size;
+ if (max >= 0)
+ caps.push([max, ch]);
+ }
+ return caps;
+}
+__name(sizeCaps, "sizeCaps");
+function attachSchema(issues, start, inst) {
+ var _a4;
+ for (let i5 = start; i5 < issues.length; i5++) {
+ (_a4 = issues[i5]).schema ?? (_a4.schema = inst);
+ }
+}
+__name(attachSchema, "attachSchema");
+function finalizeIssue(iss, ctx, config3) {
+ var _a4;
+ const traits = iss.inst?._zod?.traits;
+ if (traits?.has("$ZodType")) {
+ if (traits.has("$ZodCheck"))
+ (_a4 = iss).schema ?? (_a4.schema = iss.inst);
+ else
+ iss.schema = iss.inst;
+ }
+ const schemaError = iss.schema !== iss.inst ? iss.schema?._zod.def?.error : void 0;
+ const message = iss.message ? iss.message : unwrapMessage(iss.inst?._zod.def?.error?.(iss)) ?? unwrapMessage(schemaError?.(iss)) ?? unwrapMessage(ctx?.error?.(iss)) ?? unwrapMessage(config3.customError?.(iss)) ?? unwrapMessage(config3.localeError?.(iss)) ?? "Invalid input";
+ const full = {};
+ for (const k5 of Object.keys(iss)) {
+ if (k5 === "inst" || k5 === "schema" || k5 === "continue" || k5 === "input" || k5 === "__proto__")
+ continue;
+ full[k5] = iss[k5];
+ }
+ full.path ?? (full.path = []);
+ full.message = message;
+ if (ctx?.reportInput) {
+ full.input = iss.input;
+ }
+ return full;
+}
+__name(finalizeIssue, "finalizeIssue");
+function getSizableOrigin(input2) {
+ if (input2 instanceof Set)
+ return "set";
+ if (input2 instanceof Map)
+ return "map";
+ if (input2 instanceof File)
+ return "file";
+ return "unknown";
+}
+__name(getSizableOrigin, "getSizableOrigin");
+var highSurrogate = /[\uD800-\uDBFF]/;
+function codePointLength(str) {
+ const units = str.length;
+ if (!highSurrogate.test(str))
+ return units;
+ let count = units;
+ for (let i5 = 0; i5 < units - 1; i5++) {
+ if ((str.charCodeAt(i5) & 64512) === 55296 && (str.charCodeAt(i5 + 1) & 64512) === 56320) {
+ count--;
+ i5++;
+ }
+ }
+ return count;
+}
+__name(codePointLength, "codePointLength");
+function getLengthableOrigin(input2) {
+ if (Array.isArray(input2))
+ return "array";
+ if (typeof input2 === "string")
+ return "string";
+ return "unknown";
+}
+__name(getLengthableOrigin, "getLengthableOrigin");
+function parsedType(data) {
+ const t = typeof data;
+ switch (t) {
+ case "number": {
+ return Number.isNaN(data) ? "nan" : "number";
+ }
+ case "object": {
+ if (data === null) {
+ return "null";
+ }
+ if (Array.isArray(data)) {
+ return "array";
+ }
+ const obj = data;
+ if (obj && Object.getPrototypeOf(obj) !== Object.prototype && "constructor" in obj && obj.constructor) {
+ return obj.constructor.name;
+ }
+ }
+ }
+ return t;
+}
+__name(parsedType, "parsedType");
+function issue(...args) {
+ const [iss, input2, inst] = args;
+ if (typeof iss === "string") {
+ return {
+ message: iss,
+ code: "custom",
+ input: input2,
+ inst
+ };
+ }
+ return { ...iss };
+}
+__name(issue, "issue");
+function cleanEnum(obj) {
+ return Object.entries(obj).filter(([k5, _]) => {
+ return Number.isNaN(Number.parseInt(k5, 10));
+ }).map((el) => el[1]);
+}
+__name(cleanEnum, "cleanEnum");
+function base64ToUint8Array(base643) {
+ const binaryString = atob(base643);
+ const bytes = new Uint8Array(binaryString.length);
+ for (let i5 = 0; i5 < binaryString.length; i5++) {
+ bytes[i5] = binaryString.charCodeAt(i5);
+ }
+ return bytes;
+}
+__name(base64ToUint8Array, "base64ToUint8Array");
+function uint8ArrayToBase64(bytes) {
+ let binaryString = "";
+ for (let i5 = 0; i5 < bytes.length; i5++) {
+ binaryString += String.fromCharCode(bytes[i5]);
+ }
+ return btoa(binaryString);
+}
+__name(uint8ArrayToBase64, "uint8ArrayToBase64");
+function base64urlToUint8Array(base64url3) {
+ const base643 = base64url3.replace(/-/g, "+").replace(/_/g, "/");
+ const padding = "=".repeat((4 - base643.length % 4) % 4);
+ return base64ToUint8Array(base643 + padding);
+}
+__name(base64urlToUint8Array, "base64urlToUint8Array");
+function uint8ArrayToBase64url(bytes) {
+ return uint8ArrayToBase64(bytes).replace(/\+/g, "-").replace(/\//g, "_").replace(/=/g, "");
+}
+__name(uint8ArrayToBase64url, "uint8ArrayToBase64url");
+function hexToUint8Array(hex3) {
+ const cleanHex = hex3.replace(/^0x/, "");
+ if (cleanHex.length % 2 !== 0) {
+ throw new Error("Invalid hex string length");
+ }
+ const bytes = new Uint8Array(cleanHex.length / 2);
+ for (let i5 = 0; i5 < cleanHex.length; i5 += 2) {
+ bytes[i5 / 2] = Number.parseInt(cleanHex.slice(i5, i5 + 2), 16);
+ }
+ return bytes;
+}
+__name(hexToUint8Array, "hexToUint8Array");
+function uint8ArrayToHex(bytes) {
+ return Array.from(bytes).map((b5) => b5.toString(16).padStart(2, "0")).join("");
+}
+__name(uint8ArrayToHex, "uint8ArrayToHex");
+var Class = class {
+ static {
+ __name(this, "Class");
+ }
+ constructor(..._args) {
+ }
+};
+function members(proto, table) {
+ for (const key in table) {
+ const desc = Object.getOwnPropertyDescriptor(table, key);
+ if (desc.get)
+ Object.defineProperty(proto, key, { ...desc, enumerable: false });
+ else
+ defineBound(proto, key, desc.value);
+ }
+}
+__name(members, "members");
+function own(inst, key, value, enumerable = true) {
+ Object.defineProperty(inst, key, { configurable: true, writable: true, enumerable, value });
+ return value;
+}
+__name(own, "own");
+function hide(inst, key, value) {
+ return own(inst, key, value, false);
+}
+__name(hide, "hide");
+// @__NO_SIDE_EFFECTS__
+function derived(computes, table) {
+ for (const key in computes) {
+ const compute = computes[key];
+ Object.defineProperty(table, key, {
+ configurable: true,
+ enumerable: true,
+ get() {
+ return own(this, key, compute(this));
+ },
+ set(value) {
+ own(this, key, value);
+ }
+ });
+ }
+ return table;
+}
+__name(derived, "derived");
+function defineBound(proto, key, fn) {
+ Object.defineProperty(proto, key, {
+ configurable: true,
+ get() {
+ return this == null ? fn : own(this, key, fn.bind(this));
+ },
+ set(value) {
+ own(this, key, value);
+ }
+ });
+}
+__name(defineBound, "defineBound");
+function claim(inst, sentinel) {
+ const proto = Object.getPrototypeOf(inst);
+ return sentinel in proto ? void 0 : proto;
+}
+__name(claim, "claim");
+var installing;
+var broke = false;
+var breaker = {
+ configurable: true,
+ get() {
+ broke = true;
+ return void 0;
+ }
+};
+function defineLazyInternal(inst, key, compute) {
+ const proto = Object.getPrototypeOf(inst._zod);
+ if (key in proto && installing !== inst._zod) {
+ installing = void 0;
+ return;
+ }
+ installing = inst._zod;
+ Object.defineProperty(proto, key, {
+ configurable: true,
+ get() {
+ Object.defineProperty(this, key, breaker);
+ const outer = broke;
+ broke = false;
+ try {
+ const value = compute(this);
+ if (broke)
+ delete this[key];
+ else
+ Object.defineProperty(this, key, { configurable: true, writable: true, value });
+ broke = broke || outer;
+ return value;
+ } catch (err) {
+ delete this[key];
+ broke = broke || outer;
+ throw err;
+ }
+ },
+ set(value) {
+ Object.defineProperty(this, key, { configurable: true, writable: true, value });
+ }
+ });
+}
+__name(defineLazyInternal, "defineLazyInternal");
+function installLazyProp(inst, key, make, enumerable) {
+ const proto = claim(inst, key);
+ if (!proto)
+ return;
+ Object.defineProperty(proto, key, {
+ configurable: true,
+ get() {
+ const desc = { configurable: true, writable: true, enumerable, value: void 0 };
+ Object.defineProperty(this, key, desc);
+ desc.value = make(this);
+ Object.defineProperty(this, key, desc);
+ return desc.value;
+ },
+ set(value) {
+ Object.defineProperty(this, key, { configurable: true, writable: true, enumerable, value });
+ }
+ });
+}
+__name(installLazyProp, "installLazyProp");
+var CONSTANT_CATCH = "~constantCatch";
+function constantCatch(value) {
+ const fn = /* @__PURE__ */ __name(() => value, "fn");
+ fn[CONSTANT_CATCH] = true;
+ return fn;
+}
+__name(constantCatch, "constantCatch");
+
+// ../../node_modules/.pnpm/zod@4.6.7/node_modules/zod/v4/core/core.js
+var _a;
+var NEVER = /* @__PURE__ */ Object.freeze({
+ status: "aborted"
+});
+var _zodDesc = { value: void 0, enumerable: false };
+var _E = "captureStackTrace" in Error ? Error : null;
+function newError(Definition) {
+ const E = _E;
+ if (E) {
+ const saved = E.stackTraceLimit;
+ if (typeof saved === "number") {
+ try {
+ E.stackTraceLimit = 0;
+ } catch {
+ _E = null;
+ return new Definition();
+ }
+ try {
+ return new Definition();
+ } finally {
+ E.stackTraceLimit = saved;
+ }
+ }
+ }
+ return new Definition();
+}
+__name(newError, "newError");
+// @__NO_SIDE_EFFECTS__
+function $constructor(name2, initializer3, proto, params) {
+ const zodProto = {};
+ function Internals(def) {
+ this.def = def;
+ this.constr = _;
+ this.traits = /* @__PURE__ */ new Set();
+ }
+ __name(Internals, "Internals");
+ Internals.prototype = zodProto;
+ const protoMembers = proto;
+ const initialized = protoMembers && /* @__PURE__ */ new WeakSet();
+ function init2(inst, def) {
+ if (!inst._zod) {
+ _zodDesc.value = new Internals(def);
+ try {
+ Object.defineProperty(inst, "_zod", _zodDesc);
+ } finally {
+ _zodDesc.value = void 0;
+ }
+ } else if (inst._zod.traits.has(name2)) {
+ return;
+ }
+ inst._zod.traits.add(name2);
+ initializer3(inst, def);
+ if (initialized) {
+ const own2 = Object.getPrototypeOf(inst);
+ const ctorProto = inst._zod.constr.prototype;
+ let up = own2;
+ while (up && up !== ctorProto)
+ up = Object.getPrototypeOf(up);
+ const target = up ?? own2;
+ if (!initialized.has(target)) {
+ initialized.add(target);
+ members(target, protoMembers);
+ }
+ }
+ const proto2 = _.prototype;
+ for (const k5 in proto2) {
+ if (!Object.prototype.hasOwnProperty.call(proto2, k5))
+ continue;
+ if (!(k5 in inst)) {
+ inst[k5] = proto2[k5].bind(inst);
+ }
+ }
+ }
+ __name(init2, "init");
+ const Parent = params?.Parent ?? Object;
+ class Definition extends Parent {
+ static {
+ __name(this, "Definition");
+ }
+ }
+ Object.defineProperty(Definition, "name", { value: name2 });
+ function _(def) {
+ const inst = params?.Parent ? newError(Definition) : this;
+ init2(inst, def);
+ const deferred = inst._zod.deferred;
+ if (deferred) {
+ for (const fn of deferred) {
+ fn();
+ }
+ inst._zod.deferred = void 0;
+ }
+ const pp = globalThis.__zod_globalConfig?.postProcessor;
+ if (pp)
+ pp(inst);
+ return inst;
+ }
+ __name(_, "_");
+ Object.defineProperty(_, "init", { value: init2 });
+ Object.defineProperty(_, Symbol.hasInstance, {
+ value: /* @__PURE__ */ __name((inst) => {
+ if (params?.Parent && inst instanceof params.Parent)
+ return true;
+ return inst?._zod?.traits?.has(name2);
+ }, "value")
+ });
+ Object.defineProperty(_, "name", { value: name2 });
+ return _;
+}
+__name($constructor, "$constructor");
+var $brand = /* @__PURE__ */ Symbol("zod_brand");
+var $ZodAsyncError = class extends Error {
+ static {
+ __name(this, "$ZodAsyncError");
+ }
+ constructor() {
+ super(`Encountered Promise during synchronous parse. Use .parseAsync() instead.`);
+ }
+};
+var $ZodEncodeError = class extends Error {
+ static {
+ __name(this, "$ZodEncodeError");
+ }
+ constructor(name2) {
+ super(`Encountered unidirectional transform during encode: ${name2}`);
+ this.name = "ZodEncodeError";
+ }
+};
+(_a = globalThis).__zod_globalConfig ?? (_a.__zod_globalConfig = {});
+var globalConfig = globalThis.__zod_globalConfig;
+function config(newConfig) {
+ if (newConfig)
+ Object.assign(globalConfig, newConfig);
+ return globalConfig;
+}
+__name(config, "config");
+
+// ../../node_modules/.pnpm/zod@4.6.7/node_modules/zod/v4/core/errors.js
+function _getMessage() {
+ const internals = this._zod;
+ internals.message ?? (internals.message = JSON.stringify(internals.def, jsonStringifyReplacer, 2));
+ return internals.message;
+}
+__name(_getMessage, "_getMessage");
+function _setMessage(value) {
+ this._zod.message = value;
+}
+__name(_setMessage, "_setMessage");
+var _messageDesc = {
+ get: _getMessage,
+ set: _setMessage,
+ enumerable: true,
+ configurable: true
+};
+var _issuesDesc = { value: void 0, enumerable: false };
+var _installedToString = /* @__PURE__ */ new WeakSet([Object.prototype, Error.prototype]);
+var initializer = /* @__PURE__ */ __name((inst, def) => {
+ inst.name = "$ZodError";
+ _issuesDesc.value = def;
+ Object.defineProperty(inst, "issues", _issuesDesc);
+ _issuesDesc.value = void 0;
+ Object.defineProperty(inst, "message", _messageDesc);
+ const proto = Object.getPrototypeOf(inst);
+ if (!_installedToString.has(proto)) {
+ _installedToString.add(proto);
+ Object.defineProperty(proto, "toString", {
+ configurable: true,
+ enumerable: false,
+ get() {
+ const value = /* @__PURE__ */ __name(() => this.message, "value");
+ Object.defineProperty(this, "toString", { value, configurable: true, writable: true });
+ return value;
+ },
+ set(value) {
+ Object.defineProperty(this, "toString", { value, configurable: true, writable: true });
+ }
+ });
+ }
+}, "initializer");
+var $ZodError = $constructor("$ZodError", initializer);
+var $ZodRealError = $constructor("$ZodError", initializer, void 0, {
+ Parent: Error
+});
+function node(obj, key, make) {
+ if (!Object.prototype.hasOwnProperty.call(obj, key)) {
+ if (key === "__proto__") {
+ Object.defineProperty(obj, key, { value: make(), writable: true, enumerable: true, configurable: true });
+ } else {
+ obj[key] = make();
+ }
+ }
+ return obj[key];
+}
+__name(node, "node");
+function flattenError(error62, mapper = (issue2) => issue2.message) {
+ const fieldErrors = {};
+ const formErrors = [];
+ for (const sub of error62.issues) {
+ if (sub.path.length > 0) {
+ node(fieldErrors, sub.path[0], () => []).push(mapper(sub));
+ } else {
+ formErrors.push(mapper(sub));
+ }
+ }
+ return { formErrors, fieldErrors };
+}
+__name(flattenError, "flattenError");
+function formatError(error62, mapper = (issue2) => issue2.message) {
+ const fieldErrors = { _errors: [] };
+ const processError = /* @__PURE__ */ __name((error63, path2 = []) => {
+ for (const issue2 of error63.issues) {
+ if (issue2.code === "invalid_union" && issue2.errors.length) {
+ issue2.errors.map((issues) => processError({ issues }, [...path2, ...issue2.path]));
+ } else if (issue2.code === "invalid_key") {
+ processError({ issues: issue2.issues }, [...path2, ...issue2.path]);
+ } else if (issue2.code === "invalid_element") {
+ processError({ issues: issue2.issues }, [...path2, ...issue2.path]);
+ } else {
+ const fullpath = [...path2, ...issue2.path];
+ if (fullpath.length === 0) {
+ fieldErrors._errors.push(mapper(issue2));
+ } else {
+ let curr = fieldErrors;
+ let i5 = 0;
+ while (i5 < fullpath.length) {
+ const el = fullpath[i5];
+ const terminal = i5 === fullpath.length - 1;
+ if (el === "_errors") {
+ if (terminal)
+ curr._errors.push(mapper(issue2));
+ i5++;
+ continue;
+ }
+ if (!Object.prototype.hasOwnProperty.call(curr, el)) {
+ Object.defineProperty(curr, el, {
+ value: { _errors: [] },
+ enumerable: true,
+ writable: true,
+ configurable: true
+ });
+ }
+ const node2 = curr[el];
+ if (terminal) {
+ node2._errors.push(mapper(issue2));
+ }
+ curr = node2;
+ i5++;
+ }
+ }
+ }
+ }
+ }, "processError");
+ processError(error62);
+ return fieldErrors;
+}
+__name(formatError, "formatError");
+function treeifyError(error62, mapper = (issue2) => issue2.message) {
+ const result = { errors: [] };
+ const processError = /* @__PURE__ */ __name((error63, path2 = []) => {
+ var _a4;
+ for (const issue2 of error63.issues) {
+ if (issue2.code === "invalid_union" && issue2.errors.length) {
+ issue2.errors.map((issues) => processError({ issues }, [...path2, ...issue2.path]));
+ } else if (issue2.code === "invalid_key") {
+ processError({ issues: issue2.issues }, [...path2, ...issue2.path]);
+ } else if (issue2.code === "invalid_element") {
+ processError({ issues: issue2.issues }, [...path2, ...issue2.path]);
+ } else {
+ const fullpath = [...path2, ...issue2.path];
+ if (fullpath.length === 0) {
+ result.errors.push(mapper(issue2));
+ continue;
+ }
+ let curr = result;
+ let i5 = 0;
+ while (i5 < fullpath.length) {
+ const el = fullpath[i5];
+ const terminal = i5 === fullpath.length - 1;
+ if (typeof el === "string") {
+ curr.properties ?? (curr.properties = {});
+ if (!Object.prototype.hasOwnProperty.call(curr.properties, el)) {
+ Object.defineProperty(curr.properties, el, {
+ value: { errors: [] },
+ enumerable: true,
+ writable: true,
+ configurable: true
+ });
+ }
+ curr = curr.properties[el];
+ } else {
+ curr.items ?? (curr.items = []);
+ (_a4 = curr.items)[el] ?? (_a4[el] = { errors: [] });
+ curr = curr.items[el];
+ }
+ if (terminal) {
+ curr.errors.push(mapper(issue2));
+ }
+ i5++;
+ }
+ }
+ }
+ }, "processError");
+ processError(error62);
+ return result;
+}
+__name(treeifyError, "treeifyError");
+function toDotPath(_path) {
+ const segs = [];
+ const path2 = _path.map((seg) => typeof seg === "object" ? seg.key : seg);
+ for (const seg of path2) {
+ if (typeof seg === "number")
+ segs.push(`[${seg}]`);
+ else if (typeof seg === "symbol")
+ segs.push(`[${JSON.stringify(String(seg))}]`);
+ else if (/[^\w$]/.test(seg))
+ segs.push(`[${JSON.stringify(seg)}]`);
+ else {
+ if (segs.length)
+ segs.push(".");
+ segs.push(seg);
+ }
+ }
+ return segs.join("");
+}
+__name(toDotPath, "toDotPath");
+function prettifyError(error62) {
+ const lines = [];
+ const issues = [...error62.issues].sort((a5, b5) => (a5.path ?? []).length - (b5.path ?? []).length);
+ for (const issue2 of issues) {
+ lines.push(`\u2716 ${issue2.message}`);
+ if (issue2.path?.length)
+ lines.push(` \u2192 at ${toDotPath(issue2.path)}`);
+ }
+ return lines.join("\n");
+}
+__name(prettifyError, "prettifyError");
+
+// ../../node_modules/.pnpm/zod@4.6.7/node_modules/zod/v4/core/parse.js
+function finalizeParams(callee, params) {
+ return { callee: params?.callee ?? callee, Err: params?.Err };
+}
+__name(finalizeParams, "finalizeParams");
+var _parse = /* @__PURE__ */ __name((_Err) => {
+ const fn = /* @__PURE__ */ __name((schema2, value, _ctx, _params) => {
+ const ctx = _ctx ? { ..._ctx, async: false } : { async: false };
+ const result = schema2._zod.run({ value, issues: [] }, ctx);
+ if (result instanceof Promise) {
+ throw new $ZodAsyncError();
+ }
+ if (result.issues.length) {
+ const e5 = new (_params?.Err ?? _Err)(result.issues.map((iss) => finalizeIssue(iss, ctx, config())));
+ captureStackTrace(e5, _params?.callee ?? fn);
+ throw e5;
+ }
+ return result.value;
+ }, "fn");
+ return fn;
+}, "_parse");
+var parse = /* @__PURE__ */ _parse($ZodRealError);
+var _parseAsync = /* @__PURE__ */ __name((_Err) => {
+ const fn = /* @__PURE__ */ __name(async (schema2, value, _ctx, params) => {
+ const ctx = _ctx ? { ..._ctx, async: true } : { async: true };
+ let result = schema2._zod.run({ value, issues: [] }, ctx);
+ if (result instanceof Promise)
+ result = await result;
+ if (result.issues.length) {
+ const e5 = new (params?.Err ?? _Err)(result.issues.map((iss) => finalizeIssue(iss, ctx, config())));
+ captureStackTrace(e5, params?.callee ?? fn);
+ throw e5;
+ }
+ return result.value;
+ }, "fn");
+ return fn;
+}, "_parseAsync");
+var parseAsync = /* @__PURE__ */ _parseAsync($ZodRealError);
+var _safeParse = /* @__PURE__ */ __name((_Err) => (schema2, value, _ctx) => {
+ const ctx = _ctx ? { ..._ctx, async: false } : { async: false };
+ const result = schema2._zod.run({ value, issues: [] }, ctx);
+ if (result instanceof Promise) {
+ throw new $ZodAsyncError();
+ }
+ return result.issues.length ? failure(_Err, result.issues, ctx) : { success: true, data: result.value };
+}, "_safeParse");
+var safeParse = /* @__PURE__ */ _safeParse($ZodRealError);
+function failure(Err, issues, ctx) {
+ let error62;
+ return {
+ success: false,
+ get error() {
+ if (!error62) {
+ error62 = new Err(issues.map((iss) => finalizeIssue(iss, ctx, config())));
+ issues = void 0;
+ ctx = void 0;
+ }
+ return error62;
+ },
+ set error(e5) {
+ error62 = e5;
+ issues = void 0;
+ ctx = void 0;
+ }
+ };
+}
+__name(failure, "failure");
+var _safeParseAsync = /* @__PURE__ */ __name((_Err) => async (schema2, value, _ctx) => {
+ const ctx = _ctx ? { ..._ctx, async: true } : { async: true };
+ let result = schema2._zod.run({ value, issues: [] }, ctx);
+ if (result instanceof Promise)
+ result = await result;
+ return result.issues.length ? failure(_Err, result.issues, ctx) : { success: true, data: result.value };
+}, "_safeParseAsync");
+var safeParseAsync = /* @__PURE__ */ _safeParseAsync($ZodRealError);
+var COMPILE_INVALID = /* @__PURE__ */ Symbol.for("zod.compile.invalid");
+var COMPILE_FALLBACK = /* @__PURE__ */ Symbol.for("zod.compile.fallback");
+var validate = /* @__PURE__ */ __name(((schema2, value, _ctx) => {
+ const validator = schema2._zod.bag.validator;
+ if (validator !== void 0) {
+ if (validator(value) !== COMPILE_INVALID)
+ return true;
+ if (validator.definite === true && _ctx === void 0)
+ return false;
+ }
+ return validateFallback(schema2, value, _ctx);
+}), "validate");
+function validateFallback(schema2, value, _ctx) {
+ const ctx = _ctx ? { ..._ctx, async: false, abortEarly: true } : { async: false, abortEarly: true };
+ const fallbackRun = schema2._zod.bag.fallbackRun;
+ let result;
+ if (fallbackRun) {
+ ctx[COMPILE_FALLBACK] = true;
+ result = fallbackRun({ value, issues: [] }, ctx);
+ } else {
+ result = schema2._zod.run({ value, issues: [] }, ctx);
+ }
+ if (result instanceof Promise) {
+ throw new $ZodAsyncError();
+ }
+ return result.issues.length === 0;
+}
+__name(validateFallback, "validateFallback");
+var validateAsync = /* @__PURE__ */ __name(async (schema2, value, _ctx) => {
+ const ctx = _ctx ? { ..._ctx, async: true, abortEarly: true } : { async: true, abortEarly: true };
+ let result = schema2._zod.run({ value, issues: [] }, ctx);
+ if (result instanceof Promise)
+ result = await result;
+ return result.issues.length === 0;
+}, "validateAsync");
+var _encode = /* @__PURE__ */ __name((_Err) => {
+ const parse4 = _parse(_Err);
+ const fn = /* @__PURE__ */ __name((schema2, value, _ctx, _params) => {
+ const ctx = _ctx ? { ..._ctx, direction: "backward" } : { direction: "backward" };
+ return parse4(schema2, value, ctx, finalizeParams(fn, _params));
+ }, "fn");
+ return fn;
+}, "_encode");
+var encode = /* @__PURE__ */ _encode($ZodRealError);
+var _decode = /* @__PURE__ */ __name((_Err) => {
+ const parse4 = _parse(_Err);
+ const fn = /* @__PURE__ */ __name((schema2, value, _ctx, _params) => {
+ return parse4(schema2, value, _ctx, finalizeParams(fn, _params));
+ }, "fn");
+ return fn;
+}, "_decode");
+var decode = /* @__PURE__ */ _decode($ZodRealError);
+var _encodeAsync = /* @__PURE__ */ __name((_Err) => {
+ const parseAsync3 = _parseAsync(_Err);
+ const fn = /* @__PURE__ */ __name(async (schema2, value, _ctx, _params) => {
+ const ctx = _ctx ? { ..._ctx, direction: "backward" } : { direction: "backward" };
+ return await parseAsync3(schema2, value, ctx, finalizeParams(fn, _params));
+ }, "fn");
+ return fn;
+}, "_encodeAsync");
+var encodeAsync = /* @__PURE__ */ _encodeAsync($ZodRealError);
+var _decodeAsync = /* @__PURE__ */ __name((_Err) => {
+ const parseAsync3 = _parseAsync(_Err);
+ const fn = /* @__PURE__ */ __name(async (schema2, value, _ctx, _params) => {
+ return await parseAsync3(schema2, value, _ctx, finalizeParams(fn, _params));
+ }, "fn");
+ return fn;
+}, "_decodeAsync");
+var decodeAsync = /* @__PURE__ */ _decodeAsync($ZodRealError);
+var _safeEncode = /* @__PURE__ */ __name((_Err) => (schema2, value, _ctx) => {
+ const ctx = _ctx ? { ..._ctx, direction: "backward" } : { direction: "backward" };
+ return _safeParse(_Err)(schema2, value, ctx);
+}, "_safeEncode");
+var safeEncode = /* @__PURE__ */ _safeEncode($ZodRealError);
+var _safeDecode = /* @__PURE__ */ __name((_Err) => (schema2, value, _ctx) => {
+ return _safeParse(_Err)(schema2, value, _ctx);
+}, "_safeDecode");
+var safeDecode = /* @__PURE__ */ _safeDecode($ZodRealError);
+var _safeEncodeAsync = /* @__PURE__ */ __name((_Err) => async (schema2, value, _ctx) => {
+ const ctx = _ctx ? { ..._ctx, direction: "backward" } : { direction: "backward" };
+ return _safeParseAsync(_Err)(schema2, value, ctx);
+}, "_safeEncodeAsync");
+var safeEncodeAsync = /* @__PURE__ */ _safeEncodeAsync($ZodRealError);
+var _safeDecodeAsync = /* @__PURE__ */ __name((_Err) => async (schema2, value, _ctx) => {
+ return _safeParseAsync(_Err)(schema2, value, _ctx);
+}, "_safeDecodeAsync");
+var safeDecodeAsync = /* @__PURE__ */ _safeDecodeAsync($ZodRealError);
+
+// ../../node_modules/.pnpm/zod@4.6.7/node_modules/zod/v4/core/regexes.js
+var regexes_exports = {};
+__export(regexes_exports, {
+ anyString: () => anyString,
+ base64: () => base64,
+ base64url: () => base64url,
+ bigint: () => bigint,
+ boolean: () => boolean,
+ browserEmail: () => browserEmail,
+ cidrv4: () => cidrv4,
+ cidrv6: () => cidrv6,
+ creditCard: () => creditCard,
+ cuid: () => cuid,
+ cuid2: () => cuid2,
+ currencyCode: () => currencyCode,
+ date: () => date,
+ datetime: () => datetime,
+ domain: () => domain,
+ duration: () => duration,
+ e164: () => e164,
+ email: () => email,
+ emoji: () => emoji,
+ extendedDuration: () => extendedDuration,
+ guid: () => guid,
+ hex: () => hex,
+ hostname: () => hostname,
+ html5Email: () => html5Email,
+ httpProtocol: () => httpProtocol,
+ iban: () => iban,
+ idnEmail: () => idnEmail,
+ integer: () => integer,
+ ipv4: () => ipv4,
+ ipv6: () => ipv6,
+ ksuid: () => ksuid,
+ lowercase: () => lowercase,
+ mac: () => mac,
+ md5_base64: () => md5_base64,
+ md5_base64url: () => md5_base64url,
+ md5_hex: () => md5_hex,
+ nanoid: () => nanoid,
+ nanoidOfLength: () => nanoidOfLength,
+ null: () => _null,
+ number: () => number,
+ rfc5322Email: () => rfc5322Email,
+ sha1_base64: () => sha1_base64,
+ sha1_base64url: () => sha1_base64url,
+ sha1_hex: () => sha1_hex,
+ sha256_base64: () => sha256_base64,
+ sha256_base64url: () => sha256_base64url,
+ sha256_hex: () => sha256_hex,
+ sha384_base64: () => sha384_base64,
+ sha384_base64url: () => sha384_base64url,
+ sha384_hex: () => sha384_hex,
+ sha512_base64: () => sha512_base64,
+ sha512_base64url: () => sha512_base64url,
+ sha512_hex: () => sha512_hex,
+ string: () => string,
+ time: () => time,
+ ulid: () => ulid,
+ undefined: () => _undefined,
+ unicodeEmail: () => unicodeEmail,
+ uppercase: () => uppercase,
+ uuid: () => uuid,
+ uuid4: () => uuid4,
+ uuid6: () => uuid6,
+ uuid7: () => uuid7,
+ xid: () => xid
+});
+var cuid = /^[cC][0-9a-z]{6,}$/;
+var cuid2 = /^[0-9a-z]+$/;
+var ulid = /^[0-7][0-9A-HJKMNP-TV-Za-hjkmnp-tv-z]{25}$/;
+var xid = /^[0-9a-vA-V]{20}$/;
+var ksuid = /^[A-Za-z0-9]{27}$/;
+var nanoid = /^[a-zA-Z0-9_-]{21}$/;
+function nanoidOfLength(length) {
+ return new RegExp(`^[a-zA-Z0-9_-]{${length}}$`);
+}
+__name(nanoidOfLength, "nanoidOfLength");
+var duration = /^P(?:(\d+W)|(?!.*W)(?=\d|T\d)(\d+Y)?(\d+M)?(\d+D)?(T(?=\d)(\d+H)?(\d+M)?(\d+([.,]\d+)?S)?)?)$/;
+var extendedDuration = /^[-+]?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)?)??$/;
+var guid = /^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12})$/;
+var uuid = /* @__PURE__ */ __name((version2) => {
+ if (!version2)
+ return /^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$/;
+ return new RegExp(`^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-${version2}[0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12})$`);
+}, "uuid");
+var uuid4 = /* @__PURE__ */ uuid(4);
+var uuid6 = /* @__PURE__ */ uuid(6);
+var uuid7 = /* @__PURE__ */ uuid(7);
+var email = /^(?:[A-Za-z0-9_'+\-]+\.)*[A-Za-z0-9_'+\-]*[A-Za-z0-9_+-]@(?:[A-Za-z0-9][A-Za-z0-9\-]*\.)+[A-Za-z]{2,}$/;
+var html5Email = /^[a-zA-Z0-9.!#$%&'*+/=?^_`{|}~-]+@[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?(?:\.[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?)*$/;
+var rfc5322Email = /^(([^<>()\[\]\\.,;:\s@"]+(\.[^<>()\[\]\\.,;:\s@"]+)*)|(".+"))@((\[[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}])|(([a-zA-Z\-0-9]+\.)+[a-zA-Z]{2,}))$/;
+var unicodeEmail = /^[^\s@"]{1,64}@[^\s@]{1,255}$/u;
+var idnEmail = unicodeEmail;
+var browserEmail = /^[a-zA-Z0-9.!#$%&'*+/=?^_`{|}~-]+@[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?(?:\.[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?)*$/;
+var _emoji = `^(?=[\\s\\S]*[\\p{Extended_Pictographic}\\p{Regional_Indicator}\\u20E3])[\\p{Extended_Pictographic}\\p{Emoji_Component}]+$`;
+function emoji() {
+ return new RegExp(_emoji, "u");
+}
+__name(emoji, "emoji");
+var ipv4 = /^(?:(?: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])$/;
+var ipv6 = /^(([0-9a-fA-F]{1,4}:){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}|:))$/;
+var mac = /* @__PURE__ */ __name((delimiter) => {
+ const escapedDelim = escapeRegex(delimiter ?? ":");
+ return new RegExp(`^(?:[0-9A-F]{2}${escapedDelim}){5}[0-9A-F]{2}$|^(?:[0-9a-f]{2}${escapedDelim}){5}[0-9a-f]{2}$`);
+}, "mac");
+var cidrv4 = /^((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])\/([0-9]|[1-2][0-9]|3[0-2])$/;
+var cidrv6 = /^(([0-9a-fA-F]{1,4}:){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}|:))\/(12[0-8]|1[01][0-9]|[1-9]?[0-9])$/;
+var base64 = /^$|^(?:[0-9a-zA-Z+/]{4})*(?:(?:[0-9a-zA-Z+/]{2}==)|(?:[0-9a-zA-Z+/]{3}=))?$/;
+var base64url = /^(?:[A-Za-z0-9_-]{4})*(?:[A-Za-z0-9_-]{2,3})?$/;
+var hostname = /^(?=.{1,253}\.?$)[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?(?:\.[a-zA-Z0-9](?:[-0-9a-zA-Z]{0,61}[0-9a-zA-Z])?)*\.?$/;
+var domain = /^(?=.{1,253}$)([a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?\.)+[a-zA-Z]{2,63}$/;
+var httpProtocol = /^https?$/;
+var e164 = /^\+[1-9]\d{6,14}$/;
+var creditCard = /^\d(?:[ -]?\d){11,18}$/;
+var currencyCode = /^(?:AED|AFN|ALL|AMD|AOA|ARS|AUD|AWG|AZN|BAM|BBD|BDT|BHD|BIF|BMD|BND|BOB|BOV|BRL|BSD|BTN|BWP|BYN|BZD|CAD|CDF|CHE|CHF|CHW|CLF|CLP|CNY|COP|COU|CRC|CUP|CVE|CZK|DJF|DKK|DOP|DZD|EGP|ERN|ETB|EUR|FJD|FKP|GBP|GEL|GHS|GIP|GMD|GNF|GTQ|GYD|HKD|HNL|HTG|HUF|IDR|ILS|INR|IQD|IRR|ISK|JMD|JOD|JPY|KES|KGS|KHR|KMF|KPW|KRW|KWD|KYD|KZT|LAK|LBP|LKR|LRD|LSL|LYD|MAD|MDL|MGA|MKD|MMK|MNT|MOP|MRU|MUR|MVR|MWK|MXN|MXV|MYR|MZN|NAD|NGN|NIO|NOK|NPR|NZD|OMR|PAB|PEN|PGK|PHP|PKR|PLN|PYG|QAR|RON|RSD|RUB|RWF|SAR|SBD|SCR|SDG|SEK|SGD|SHP|SLE|SOS|SRD|SSP|STN|SVC|SYP|SZL|THB|TJS|TMT|TND|TOP|TRY|TTD|TWD|TZS|UAH|UGX|USD|USN|UYI|UYU|UYW|UZS|VED|VES|VND|VUV|WST|XAD|XAF|XAG|XAU|XBA|XBB|XBC|XBD|XCD|XCG|XDR|XOF|XPD|XPF|XPT|XSU|XTS|XUA|XXX|YER|ZAR|ZMW|ZWG)$/;
+var iban = /^[A-Z]{2}(?!00|01|99)\d{2}[A-Z0-9]{11,30}$/;
+var dateSource = `(?:(?:\\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])))`;
+function anchor(source) {
+ return new RegExp(`^${source}$`);
+}
+__name(anchor, "anchor");
+var date = /* @__PURE__ */ anchor(dateSource);
+function timeSource(args) {
+ const hhmm = `(?:[01]\\d|2[0-3]):[0-5]\\d`;
+ const regex = typeof args.precision === "number" ? args.precision === -1 ? `${hhmm}` : args.precision === 0 ? `${hhmm}:[0-5]\\d` : `${hhmm}:[0-5]\\d\\.\\d{${args.precision}}` : args.seconds ? `${hhmm}:[0-5]\\d(?:\\.\\d+)?` : `${hhmm}(?::[0-5]\\d(?:\\.\\d+)?)?`;
+ return regex;
+}
+__name(timeSource, "timeSource");
+function time(args) {
+ return new RegExp(`^${timeSource(args)}$`);
+}
+__name(time, "time");
+function datetime(args) {
+ const opts = ["Z"];
+ if (args.offset)
+ opts.push(`([+-](?:[01]\\d|2[0-3]):[0-5]\\d)`);
+ const qualified = `${timeSource({ precision: args.precision, seconds: true })}(?:${opts.join("|")})`;
+ const timeRegex = args.local ? `${qualified}|${timeSource({ precision: args.precision })}` : qualified;
+ return new RegExp(`^${dateSource}T(?:${timeRegex})$`);
+}
+__name(datetime, "datetime");
+var anyString = /^[\s\S]{0,}$/;
+var string = /* @__PURE__ */ __name((params) => {
+ const regex = params ? `[\\s\\S]{${params?.minimum ?? 0},${params?.maximum ?? ""}}` : `[\\s\\S]*`;
+ return new RegExp(`^${regex}$`);
+}, "string");
+var bigint = /^-?\d+n?$/;
+var integer = /^-?\d+$/;
+var number = /^-?\d+(?:\.\d+)?$/;
+var boolean = /^(?:true|false)$/i;
+var _null = /^null$/i;
+var _undefined = /^undefined$/i;
+var lowercase = /^[^A-Z]*$/;
+var uppercase = /^[^a-z]*$/;
+var hex = /^[0-9a-fA-F]*$/;
+function fixedBase64(bodyLength, padding) {
+ return new RegExp(`^[A-Za-z0-9+/]{${bodyLength}}${padding}$`);
+}
+__name(fixedBase64, "fixedBase64");
+function fixedBase64url(length) {
+ return new RegExp(`^[A-Za-z0-9_-]{${length}}$`);
+}
+__name(fixedBase64url, "fixedBase64url");
+var md5_hex = /^[0-9a-fA-F]{32}$/;
+var md5_base64 = /* @__PURE__ */ fixedBase64(22, "==");
+var md5_base64url = /* @__PURE__ */ fixedBase64url(22);
+var sha1_hex = /^[0-9a-fA-F]{40}$/;
+var sha1_base64 = /* @__PURE__ */ fixedBase64(27, "=");
+var sha1_base64url = /* @__PURE__ */ fixedBase64url(27);
+var sha256_hex = /^[0-9a-fA-F]{64}$/;
+var sha256_base64 = /* @__PURE__ */ fixedBase64(43, "=");
+var sha256_base64url = /* @__PURE__ */ fixedBase64url(43);
+var sha384_hex = /^[0-9a-fA-F]{96}$/;
+var sha384_base64 = /* @__PURE__ */ fixedBase64(64, "");
+var sha384_base64url = /* @__PURE__ */ fixedBase64url(64);
+var sha512_hex = /^[0-9a-fA-F]{128}$/;
+var sha512_base64 = /* @__PURE__ */ fixedBase64(86, "==");
+var sha512_base64url = /* @__PURE__ */ fixedBase64url(86);
+
+// ../../node_modules/.pnpm/zod@4.6.7/node_modules/zod/v4/core/checks.js
+var $ZodCheck = /* @__PURE__ */ $constructor("$ZodCheck", (inst, def) => {
+ var _a4;
+ inst._zod ?? (inst._zod = {});
+ inst._zod.def = def;
+ (_a4 = inst._zod).onattach ?? (_a4.onattach = []);
+});
+var _whenHasSize = /* @__PURE__ */ __name((payload) => {
+ const val = payload.value;
+ return !nullish(val) && val.size !== void 0;
+}, "_whenHasSize");
+var _whenHasLength = /* @__PURE__ */ __name((payload) => {
+ const val = payload.value;
+ return !nullish(val) && val.length !== void 0;
+}, "_whenHasLength");
+var numericOriginMap = {
+ number: "number",
+ bigint: "bigint",
+ object: "date"
+};
+var $ZodCheckLessThan = /* @__PURE__ */ $constructor("$ZodCheckLessThan", (inst, def) => {
+ $ZodCheck.init(inst, def);
+ const origin = numericOriginMap[typeof def.value];
+ inst._zod.check = (payload) => {
+ if (def.inclusive ? payload.value <= def.value : payload.value < def.value) {
+ return;
+ }
+ payload.issues.push({
+ origin: numericOriginMap[typeof payload.value] ?? origin,
+ code: "too_big",
+ maximum: typeof def.value === "object" ? def.value.getTime() : def.value,
+ input: payload.value,
+ inclusive: def.inclusive,
+ inst,
+ continue: !def.abort
+ });
+ };
+});
+var $ZodCheckGreaterThan = /* @__PURE__ */ $constructor("$ZodCheckGreaterThan", (inst, def) => {
+ $ZodCheck.init(inst, def);
+ const origin = numericOriginMap[typeof def.value];
+ inst._zod.check = (payload) => {
+ if (def.inclusive ? payload.value >= def.value : payload.value > def.value) {
+ return;
+ }
+ payload.issues.push({
+ origin: numericOriginMap[typeof payload.value] ?? origin,
+ code: "too_small",
+ minimum: typeof def.value === "object" ? def.value.getTime() : def.value,
+ input: payload.value,
+ inclusive: def.inclusive,
+ inst,
+ continue: !def.abort
+ });
+ };
+});
+var $ZodCheckMultipleOf = /* @__PURE__ */ $constructor("$ZodCheckMultipleOf", (inst, def) => {
+ $ZodCheck.init(inst, def);
+ inst._zod.check = (payload) => {
+ if (typeof payload.value !== typeof def.value)
+ throw new Error("Cannot mix number and bigint in multiple_of check.");
+ const isMultiple = typeof payload.value === "bigint" ? (
+ // `value % 0n` throws, and nothing is a multiple of zero — the number branch already fails this way via NaN
+ def.value !== BigInt(0) && payload.value % def.value === BigInt(0)
+ ) : floatSafeRemainder(payload.value, def.value) === 0;
+ if (isMultiple)
+ return;
+ payload.issues.push({
+ origin: typeof payload.value,
+ code: "not_multiple_of",
+ divisor: def.value,
+ input: payload.value,
+ inst,
+ continue: !def.abort
+ });
+ };
+});
+var $ZodCheckNumberFormat = /* @__PURE__ */ $constructor("$ZodCheckNumberFormat", (inst, def) => {
+ $ZodCheck.init(inst, def);
+ def.format = def.format || "float64";
+ const isInt = def.format?.includes("int");
+ const origin = isInt ? "int" : "number";
+ const [minimum, maximum] = NUMBER_FORMAT_RANGES[def.format];
+ inst._zod.check = (payload) => {
+ const input2 = payload.value;
+ if (isInt) {
+ if (!Number.isInteger(input2)) {
+ payload.issues.push({
+ expected: origin,
+ format: def.format,
+ code: "invalid_type",
+ continue: false,
+ input: input2,
+ inst
+ });
+ return;
+ }
+ if (!Number.isSafeInteger(input2)) {
+ if (input2 > 0) {
+ payload.issues.push({
+ input: input2,
+ code: "too_big",
+ maximum: Number.MAX_SAFE_INTEGER,
+ note: "Integers must be within the safe integer range.",
+ inst,
+ origin,
+ inclusive: true,
+ continue: !def.abort
+ });
+ } else {
+ payload.issues.push({
+ input: input2,
+ code: "too_small",
+ minimum: Number.MIN_SAFE_INTEGER,
+ note: "Integers must be within the safe integer range.",
+ inst,
+ origin,
+ inclusive: true,
+ continue: !def.abort
+ });
+ }
+ return;
+ }
+ }
+ if (input2 < minimum) {
+ payload.issues.push({
+ origin: "number",
+ input: input2,
+ code: "too_small",
+ minimum,
+ inclusive: true,
+ inst,
+ continue: !def.abort
+ });
+ }
+ if (input2 > maximum) {
+ payload.issues.push({
+ origin: "number",
+ input: input2,
+ code: "too_big",
+ maximum,
+ inclusive: true,
+ inst,
+ continue: !def.abort
+ });
+ }
+ };
+});
+var $ZodCheckBigIntFormat = /* @__PURE__ */ $constructor("$ZodCheckBigIntFormat", (inst, def) => {
+ $ZodCheck.init(inst, def);
+ const [minimum, maximum] = BIGINT_FORMAT_RANGES[def.format];
+ inst._zod.check = (payload) => {
+ const input2 = payload.value;
+ if (input2 < minimum) {
+ payload.issues.push({
+ origin: "bigint",
+ input: input2,
+ code: "too_small",
+ minimum,
+ inclusive: true,
+ inst,
+ continue: !def.abort
+ });
+ }
+ if (input2 > maximum) {
+ payload.issues.push({
+ origin: "bigint",
+ input: input2,
+ code: "too_big",
+ maximum,
+ inclusive: true,
+ inst,
+ continue: !def.abort
+ });
+ }
+ };
+});
+var $ZodCheckMaxSize = /* @__PURE__ */ $constructor("$ZodCheckMaxSize", (inst, def) => {
+ var _a4;
+ $ZodCheck.init(inst, def);
+ (_a4 = inst._zod.def).when ?? (_a4.when = _whenHasSize);
+ inst._zod.check = (payload) => {
+ const input2 = payload.value;
+ const size = input2.size;
+ if (size <= def.maximum)
+ return;
+ payload.issues.push({
+ origin: getSizableOrigin(input2),
+ code: "too_big",
+ maximum: def.maximum,
+ inclusive: true,
+ input: input2,
+ inst,
+ continue: !def.abort
+ });
+ };
+});
+var $ZodCheckMinSize = /* @__PURE__ */ $constructor("$ZodCheckMinSize", (inst, def) => {
+ var _a4;
+ $ZodCheck.init(inst, def);
+ (_a4 = inst._zod.def).when ?? (_a4.when = _whenHasSize);
+ inst._zod.check = (payload) => {
+ const input2 = payload.value;
+ const size = input2.size;
+ if (size >= def.minimum)
+ return;
+ payload.issues.push({
+ origin: getSizableOrigin(input2),
+ code: "too_small",
+ minimum: def.minimum,
+ inclusive: true,
+ input: input2,
+ inst,
+ continue: !def.abort
+ });
+ };
+});
+var $ZodCheckSizeEquals = /* @__PURE__ */ $constructor("$ZodCheckSizeEquals", (inst, def) => {
+ var _a4;
+ $ZodCheck.init(inst, def);
+ (_a4 = inst._zod.def).when ?? (_a4.when = _whenHasSize);
+ inst._zod.check = (payload) => {
+ const input2 = payload.value;
+ const size = input2.size;
+ if (size === def.size)
+ return;
+ const tooBig = size > def.size;
+ payload.issues.push({
+ origin: getSizableOrigin(input2),
+ ...tooBig ? { code: "too_big", maximum: def.size } : { code: "too_small", minimum: def.size },
+ inclusive: true,
+ exact: true,
+ input: payload.value,
+ inst,
+ continue: !def.abort
+ });
+ };
+});
+var $ZodCheckMaxLength = /* @__PURE__ */ $constructor("$ZodCheckMaxLength", (inst, def) => {
+ var _a4;
+ $ZodCheck.init(inst, def);
+ (_a4 = inst._zod.def).when ?? (_a4.when = _whenHasLength);
+ inst._zod.check = (payload) => {
+ const input2 = payload.value;
+ const units = input2.length;
+ const length = typeof input2 === "string" && units > def.maximum ? codePointLength(input2) : units;
+ if (length <= def.maximum)
+ return;
+ const origin = getLengthableOrigin(input2);
+ payload.issues.push({
+ origin,
+ code: "too_big",
+ maximum: def.maximum,
+ inclusive: true,
+ input: input2,
+ inst,
+ continue: !def.abort
+ });
+ };
+});
+var $ZodCheckMinLength = /* @__PURE__ */ $constructor("$ZodCheckMinLength", (inst, def) => {
+ var _a4;
+ $ZodCheck.init(inst, def);
+ (_a4 = inst._zod.def).when ?? (_a4.when = _whenHasLength);
+ inst._zod.check = (payload) => {
+ const input2 = payload.value;
+ const units = input2.length;
+ const length = typeof input2 === "string" && units >= def.minimum && units < def.minimum * 2 ? codePointLength(input2) : units;
+ if (length >= def.minimum)
+ return;
+ const origin = getLengthableOrigin(input2);
+ payload.issues.push({
+ origin,
+ code: "too_small",
+ minimum: def.minimum,
+ inclusive: true,
+ input: input2,
+ inst,
+ continue: !def.abort
+ });
+ };
+});
+var $ZodCheckLengthEquals = /* @__PURE__ */ $constructor("$ZodCheckLengthEquals", (inst, def) => {
+ var _a4;
+ $ZodCheck.init(inst, def);
+ (_a4 = inst._zod.def).when ?? (_a4.when = _whenHasLength);
+ inst._zod.check = (payload) => {
+ const input2 = payload.value;
+ const units = input2.length;
+ const length = typeof input2 === "string" && units >= def.length && units <= def.length * 2 ? codePointLength(input2) : units;
+ if (length === def.length)
+ return;
+ const origin = getLengthableOrigin(input2);
+ const tooBig = length > def.length;
+ payload.issues.push({
+ origin,
+ ...tooBig ? { code: "too_big", maximum: def.length } : { code: "too_small", minimum: def.length },
+ inclusive: true,
+ exact: true,
+ input: payload.value,
+ inst,
+ continue: !def.abort
+ });
+ };
+});
+var $ZodCheckStringFormat = /* @__PURE__ */ $constructor("$ZodCheckStringFormat", (inst, def) => {
+ var _a4, _b;
+ $ZodCheck.init(inst, def);
+ if (def.pattern)
+ (_a4 = inst._zod).check ?? (_a4.check = (payload) => {
+ def.pattern.lastIndex = 0;
+ if (def.pattern.test(payload.value))
+ return;
+ payload.issues.push({
+ origin: "string",
+ code: "invalid_format",
+ format: def.format,
+ input: payload.value,
+ ...def.pattern ? { pattern: def.pattern.toString() } : {},
+ inst,
+ continue: !def.abort
+ });
+ });
+ else
+ (_b = inst._zod).check ?? (_b.check = () => {
+ });
+});
+var $ZodCheckRegex = /* @__PURE__ */ $constructor("$ZodCheckRegex", (inst, def) => {
+ $ZodCheckStringFormat.init(inst, def);
+ inst._zod.check = (payload) => {
+ def.pattern.lastIndex = 0;
+ if (def.pattern.test(payload.value))
+ return;
+ payload.issues.push({
+ origin: "string",
+ code: "invalid_format",
+ format: "regex",
+ input: payload.value,
+ pattern: def.pattern.toString(),
+ inst,
+ continue: !def.abort
+ });
+ };
+});
+var $ZodCheckLowerCase = /* @__PURE__ */ $constructor("$ZodCheckLowerCase", (inst, def) => {
+ def.pattern ?? (def.pattern = lowercase);
+ $ZodCheckStringFormat.init(inst, def);
+});
+var $ZodCheckUpperCase = /* @__PURE__ */ $constructor("$ZodCheckUpperCase", (inst, def) => {
+ def.pattern ?? (def.pattern = uppercase);
+ $ZodCheckStringFormat.init(inst, def);
+});
+var $ZodCheckIncludes = /* @__PURE__ */ $constructor("$ZodCheckIncludes", (inst, def) => {
+ $ZodCheck.init(inst, def);
+ const escapedRegex = escapeRegex(def.includes);
+ const pattern = new RegExp(typeof def.position === "number" ? `^.{${def.position},}${escapedRegex}` : escapedRegex);
+ def.pattern = pattern;
+ inst._zod.check = (payload) => {
+ if (payload.value.includes(def.includes, def.position))
+ return;
+ payload.issues.push({
+ origin: "string",
+ code: "invalid_format",
+ format: "includes",
+ includes: def.includes,
+ input: payload.value,
+ inst,
+ continue: !def.abort
+ });
+ };
+});
+var $ZodCheckStartsWith = /* @__PURE__ */ $constructor("$ZodCheckStartsWith", (inst, def) => {
+ $ZodCheck.init(inst, def);
+ const pattern = new RegExp(`^${escapeRegex(def.prefix)}.*`);
+ def.pattern ?? (def.pattern = pattern);
+ inst._zod.check = (payload) => {
+ if (payload.value.startsWith(def.prefix))
+ return;
+ payload.issues.push({
+ origin: "string",
+ code: "invalid_format",
+ format: "starts_with",
+ prefix: def.prefix,
+ input: payload.value,
+ inst,
+ continue: !def.abort
+ });
+ };
+});
+var $ZodCheckEndsWith = /* @__PURE__ */ $constructor("$ZodCheckEndsWith", (inst, def) => {
+ $ZodCheck.init(inst, def);
+ const pattern = new RegExp(`.*${escapeRegex(def.suffix)}$`);
+ def.pattern ?? (def.pattern = pattern);
+ inst._zod.check = (payload) => {
+ if (payload.value.endsWith(def.suffix))
+ return;
+ payload.issues.push({
+ origin: "string",
+ code: "invalid_format",
+ format: "ends_with",
+ suffix: def.suffix,
+ input: payload.value,
+ inst,
+ continue: !def.abort
+ });
+ };
+});
+function handleCheckPropertyResult(result, payload, property) {
+ if (result.issues.length) {
+ payload.issues.push(...prefixIssues(property, result.issues));
+ }
+}
+__name(handleCheckPropertyResult, "handleCheckPropertyResult");
+var $ZodCheckProperty = /* @__PURE__ */ $constructor("$ZodCheckProperty", (inst, def) => {
+ $ZodCheck.init(inst, def);
+ inst._zod.check = (payload) => {
+ const result = def.schema._zod.run({
+ value: payload.value[def.property],
+ issues: []
+ }, {});
+ if (result instanceof Promise) {
+ return result.then((result2) => handleCheckPropertyResult(result2, payload, def.property));
+ }
+ handleCheckPropertyResult(result, payload, def.property);
+ return;
+ };
+});
+var $ZodCheckProperties = /* @__PURE__ */ $constructor("$ZodCheckProperties", (inst, def) => {
+ $ZodCheck.init(inst, def);
+ hide(inst, Symbol.iterator, function* () {
+ yield inst;
+ });
+ let entries;
+ inst._zod.check = (payload) => {
+ if (payload.value == null) {
+ payload.issues.push({ expected: "object", code: "invalid_type", input: payload.value, inst });
+ return void 0;
+ }
+ entries ?? (entries = Reflect.ownKeys(def.shape).map((key) => [key, def.shape[key]]));
+ const input2 = payload.value;
+ let proms;
+ for (const [key, schema2] of entries) {
+ const result = schema2._zod.run({ value: input2[key], issues: [] }, {});
+ if (result instanceof Promise) {
+ proms ?? (proms = []);
+ proms.push(result.then((result2) => handleCheckPropertyResult(result2, payload, key)));
+ } else {
+ handleCheckPropertyResult(result, payload, key);
+ }
+ }
+ if (proms)
+ return Promise.all(proms).then(() => void 0);
+ return void 0;
+ };
+});
+var $ZodCheckMimeType = /* @__PURE__ */ $constructor("$ZodCheckMimeType", (inst, def) => {
+ $ZodCheck.init(inst, def);
+ const mimeSet = new Set(def.mime);
+ inst._zod.check = (payload) => {
+ if (mimeSet.has(payload.value.type))
+ return;
+ payload.issues.push({
+ code: "invalid_value",
+ values: def.mime,
+ input: payload.value.type,
+ inst,
+ continue: !def.abort
+ });
+ };
+});
+var $ZodCheckOverwrite = /* @__PURE__ */ $constructor("$ZodCheckOverwrite", (inst, def) => {
+ $ZodCheck.init(inst, def);
+ inst._zod.check = (payload) => {
+ payload.value = def.tx(payload.value);
+ };
+});
+
+// ../../node_modules/.pnpm/zod@4.6.7/node_modules/zod/v4/core/doc.js
+var Doc = class {
+ static {
+ __name(this, "Doc");
+ }
+ constructor(args = [], closed = {}) {
+ this.content = [];
+ this.indent = 0;
+ this.args = args;
+ this.closed = closed;
+ }
+ // the compiler catches a child's throw and keeps writing into this doc, so the indent has to unwind with it
+ indented(fn) {
+ this.indent += 1;
+ try {
+ fn(this);
+ } finally {
+ this.indent -= 1;
+ }
+ }
+ write(arg) {
+ if (typeof arg === "function") {
+ arg(this, { execution: "sync" });
+ arg(this, { execution: "async" });
+ return;
+ }
+ const content = arg;
+ const lines = content.split("\n").filter((x) => x);
+ const minIndent = Math.min(...lines.map((x) => x.length - x.trimStart().length));
+ const dedented = lines.map((x) => x.slice(minIndent)).map((x) => " ".repeat(this.indent * 2) + x);
+ for (const line of dedented) {
+ this.content.push(line);
+ }
+ }
+ compile() {
+ const F = Function;
+ const content = this?.content ?? [``];
+ const factory = new F(...Object.keys(this.closed), `return function (${this.args.join(", ")}) {
+${content.join("\n")}
+};`);
+ return factory(...Object.values(this.closed));
+ }
+};
+
+// ../../node_modules/.pnpm/zod@4.6.7/node_modules/zod/v4/core/versions.js
+var version = {
+ major: 4,
+ minor: 6,
+ patch: 7
+};
+
+// ../../node_modules/.pnpm/zod@4.6.7/node_modules/zod/v4/core/schemas.js
+var $ZodType = /* @__PURE__ */ $constructor("$ZodType", (inst, def) => {
+ var _a4;
+ inst ?? (inst = {});
+ inst._zod.def = def;
+ inst._zod.bag = inst._zod.bag || {};
+ inst._zod.version = version;
+ const defChecks = inst._zod.def.checks;
+ const checks = inst._zod.traits.has("$ZodCheck") ? [inst, ...defChecks ?? []] : defChecks?.length ? [...defChecks] : [];
+ for (const ch of checks) {
+ for (const fn of ch._zod.onattach) {
+ fn(inst);
+ }
+ }
+ if (checks.length === 0) {
+ (_a4 = inst._zod).deferred ?? (_a4.deferred = []);
+ inst._zod.deferred?.push(() => {
+ inst._zod.run = inst._zod.parse;
+ });
+ } else {
+ const runChecks = /* @__PURE__ */ __name((payload, checks2, ctx) => {
+ if (payload.memo)
+ return payload;
+ let isAborted = aborted(payload);
+ let asyncResult;
+ for (const ch of checks2) {
+ if (ch._zod.def.when) {
+ if (explicitlyAborted(payload))
+ continue;
+ const shouldRun = ch._zod.def.when(payload);
+ if (!shouldRun)
+ continue;
+ } else if (isAborted) {
+ continue;
+ }
+ const currLen = payload.issues.length;
+ const _ = ch._zod.check(payload);
+ if (_ instanceof Promise && ctx?.async === false) {
+ throw new $ZodAsyncError();
+ }
+ if (asyncResult || _ instanceof Promise) {
+ asyncResult = (asyncResult ?? Promise.resolve()).then(async () => {
+ await _;
+ const nextLen = payload.issues.length;
+ if (nextLen === currLen)
+ return;
+ attachSchema(payload.issues, currLen, inst);
+ if (!isAborted)
+ isAborted = aborted(payload, currLen);
+ });
+ } else {
+ const nextLen = payload.issues.length;
+ if (nextLen === currLen)
+ continue;
+ attachSchema(payload.issues, currLen, inst);
+ if (!isAborted)
+ isAborted = aborted(payload, currLen);
+ }
+ }
+ if (asyncResult) {
+ return asyncResult.then(() => {
+ return payload;
+ });
+ }
+ return payload;
+ }, "runChecks");
+ const handleCanaryResult = /* @__PURE__ */ __name((canary, payload, ctx) => {
+ if (aborted(canary)) {
+ canary.aborted = true;
+ return canary;
+ }
+ const checkResult = runChecks(payload, checks, ctx);
+ if (checkResult instanceof Promise) {
+ if (ctx.async === false)
+ throw new $ZodAsyncError();
+ return checkResult.then((checkResult2) => inst._zod.parse(checkResult2, ctx));
+ }
+ return inst._zod.parse(checkResult, ctx);
+ }, "handleCanaryResult");
+ inst._zod.run = (payload, ctx) => {
+ if (ctx.skipChecks) {
+ return inst._zod.parse(payload, ctx);
+ }
+ if (ctx.direction === "backward") {
+ const canary = inst._zod.parse({ value: payload.value, issues: [] }, { ...ctx, skipChecks: true });
+ if (canary instanceof Promise) {
+ return canary.then((canary2) => {
+ return handleCanaryResult(canary2, payload, ctx);
+ });
+ }
+ return handleCanaryResult(canary, payload, ctx);
+ }
+ const result = inst._zod.parse(payload, ctx);
+ if (result instanceof Promise) {
+ if (ctx.async === false)
+ throw new $ZodAsyncError();
+ return result.then((result2) => runChecks(result2, checks, ctx));
+ }
+ return runChecks(result, checks, ctx);
+ };
+ }
+}, {
+ // Wrappers extend this by installing a richer factory over it; reading it eagerly would defeat the laziness.
+ get "~standard"() {
+ return hide(this, "~standard", standardProps(this));
+ },
+ set "~standard"(value) {
+ own(this, "~standard", value);
+ }
+});
+var toStandardResult = /* @__PURE__ */ __name((r5, ctx) => r5.issues.length ? { issues: r5.issues.map((iss) => finalizeIssue(iss, ctx, config())) } : { value: r5.value }, "toStandardResult");
+async function validateAsync2(inst, value) {
+ const ctx = { async: true };
+ return toStandardResult(await inst._zod.run({ value, issues: [] }, ctx), ctx);
+}
+__name(validateAsync2, "validateAsync");
+function standardProps(inst) {
+ return {
+ validate: /* @__PURE__ */ __name((value) => {
+ const ctx = { async: false };
+ try {
+ const r5 = inst._zod.run({ value, issues: [] }, ctx);
+ if (!(r5 instanceof Promise))
+ return toStandardResult(r5, ctx);
+ } catch (_) {
+ }
+ return validateAsync2(inst, value);
+ }, "validate"),
+ vendor: "zod",
+ version: 1
+ };
+}
+__name(standardProps, "standardProps");
+var $ZodString = /* @__PURE__ */ $constructor("$ZodString", (inst, def) => {
+ $ZodType.init(inst, def);
+ inst._zod.pattern = def.pattern ?? anyString;
+ inst._zod.parse = (payload, _) => {
+ if (def.coerce)
+ try {
+ payload.value = String(payload.value);
+ } catch (_2) {
+ }
+ if (typeof payload.value === "string")
+ return payload;
+ payload.issues.push({
+ expected: "string",
+ code: "invalid_type",
+ input: payload.value,
+ inst
+ });
+ return payload;
+ };
+});
+var $ZodStringFormat = /* @__PURE__ */ $constructor("$ZodStringFormat", (inst, def) => {
+ $ZodCheckStringFormat.init(inst, def);
+ $ZodString.init(inst, def);
+});
+var $ZodGUID = /* @__PURE__ */ $constructor("$ZodGUID", (inst, def) => {
+ def.pattern ?? (def.pattern = guid);
+ $ZodStringFormat.init(inst, def);
+});
+var $ZodUUID = /* @__PURE__ */ $constructor("$ZodUUID", (inst, def) => {
+ if (def.version) {
+ const versionMap = {
+ v1: 1,
+ v2: 2,
+ v3: 3,
+ v4: 4,
+ v5: 5,
+ v6: 6,
+ v7: 7,
+ v8: 8
+ };
+ const v = versionMap[def.version];
+ if (v === void 0)
+ throw new Error(`Invalid UUID version: "${def.version}"`);
+ def.pattern ?? (def.pattern = uuid(v));
+ } else
+ def.pattern ?? (def.pattern = uuid());
+ $ZodStringFormat.init(inst, def);
+});
+var $ZodEmail = /* @__PURE__ */ $constructor("$ZodEmail", (inst, def) => {
+ def.pattern ?? (def.pattern = email);
+ $ZodStringFormat.init(inst, def);
+});
+var URL_BAD_FORMAT = 1;
+var URL_UNPARSEABLE = 2;
+function canParseURL(input2) {
+ try {
+ if (typeof URL !== "undefined" && typeof URL.canParse === "function")
+ return URL.canParse(input2);
+ new URL(input2);
+ return true;
+ } catch {
+ return false;
+ }
+}
+__name(canParseURL, "canParseURL");
+function validateURL(trimmed, def) {
+ if (!("normalize" in def) && !("hostname" in def) && !("protocol" in def)) {
+ return canParseURL(trimmed) || URL_UNPARSEABLE;
+ }
+ return parseURLObject(trimmed, def);
+}
+__name(validateURL, "validateURL");
+function parseURLObject(trimmed, def) {
+ if (!def.normalize && def.protocol?.source === httpProtocol.source && !/^https?:\/\//i.test(trimmed)) {
+ return URL_BAD_FORMAT;
+ }
+ try {
+ if (typeof URL !== "undefined") {
+ const URLStatic = URL;
+ if (typeof URLStatic.parse === "function")
+ return URLStatic.parse(trimmed) ?? URL_UNPARSEABLE;
+ }
+ return new URL(trimmed);
+ } catch {
+ return URL_UNPARSEABLE;
+ }
+}
+__name(parseURLObject, "parseURLObject");
+var asciiTabOrNewline = /[\t\n\r]/g;
+function stripTabAndNewline(value) {
+ return value.replace(asciiTabOrNewline, "");
+}
+__name(stripTabAndNewline, "stripTabAndNewline");
+function urlHostnameOk(url2, hostname3) {
+ hostname3.lastIndex = 0;
+ return hostname3.test(url2.hostname);
+}
+__name(urlHostnameOk, "urlHostnameOk");
+function urlProtocolOk(url2, protocol) {
+ protocol.lastIndex = 0;
+ return protocol.test(url2.protocol.endsWith(":") ? url2.protocol.slice(0, -1) : url2.protocol);
+}
+__name(urlProtocolOk, "urlProtocolOk");
+var $ZodURL = /* @__PURE__ */ $constructor("$ZodURL", (inst, def) => {
+ $ZodStringFormat.init(inst, def);
+ inst._zod.check = (payload) => {
+ try {
+ const trimmed = payload.value.trim();
+ const url2 = validateURL(trimmed, def);
+ if (url2 === URL_BAD_FORMAT) {
+ payload.issues.push({
+ code: "invalid_format",
+ format: "url",
+ note: "Invalid URL format",
+ input: payload.value,
+ inst,
+ continue: !def.abort
+ });
+ return;
+ }
+ if (url2 === URL_UNPARSEABLE) {
+ payload.issues.push({
+ code: "invalid_format",
+ format: "url",
+ input: payload.value,
+ inst,
+ continue: !def.abort
+ });
+ return;
+ }
+ if (url2 === true) {
+ payload.value = stripTabAndNewline(trimmed);
+ return;
+ }
+ if (def.hostname && !urlHostnameOk(url2, def.hostname)) {
+ payload.issues.push({
+ code: "invalid_format",
+ format: "url",
+ note: "Invalid hostname",
+ pattern: def.hostname.source,
+ input: payload.value,
+ inst,
+ continue: !def.abort
+ });
+ }
+ if (def.protocol && !urlProtocolOk(url2, def.protocol)) {
+ payload.issues.push({
+ code: "invalid_format",
+ format: "url",
+ note: "Invalid protocol",
+ pattern: def.protocol.source,
+ input: payload.value,
+ inst,
+ continue: !def.abort
+ });
+ }
+ payload.value = def.normalize ? url2.href : stripTabAndNewline(trimmed);
+ return;
+ } catch (_) {
+ payload.issues.push({
+ code: "invalid_format",
+ format: "url",
+ input: payload.value,
+ inst,
+ continue: !def.abort
+ });
+ }
+ };
+});
+var $ZodEmoji = /* @__PURE__ */ $constructor("$ZodEmoji", (inst, def) => {
+ def.pattern ?? (def.pattern = emoji());
+ $ZodStringFormat.init(inst, def);
+});
+var $ZodNanoID = /* @__PURE__ */ $constructor("$ZodNanoID", (inst, def) => {
+ if (def.length !== void 0 && (!Number.isInteger(def.length) || def.length < 1))
+ throw new Error(`Invalid nanoid length: ${def.length}`);
+ def.pattern ?? (def.pattern = def.length === void 0 ? nanoid : nanoidOfLength(def.length));
+ $ZodStringFormat.init(inst, def);
+});
+var $ZodCUID = /* @__PURE__ */ $constructor("$ZodCUID", (inst, def) => {
+ def.pattern ?? (def.pattern = cuid);
+ $ZodStringFormat.init(inst, def);
+});
+var $ZodCUID2 = /* @__PURE__ */ $constructor("$ZodCUID2", (inst, def) => {
+ def.pattern ?? (def.pattern = cuid2);
+ $ZodStringFormat.init(inst, def);
+});
+var $ZodULID = /* @__PURE__ */ $constructor("$ZodULID", (inst, def) => {
+ def.pattern ?? (def.pattern = ulid);
+ $ZodStringFormat.init(inst, def);
+});
+var $ZodXID = /* @__PURE__ */ $constructor("$ZodXID", (inst, def) => {
+ def.pattern ?? (def.pattern = xid);
+ $ZodStringFormat.init(inst, def);
+});
+var $ZodKSUID = /* @__PURE__ */ $constructor("$ZodKSUID", (inst, def) => {
+ def.pattern ?? (def.pattern = ksuid);
+ $ZodStringFormat.init(inst, def);
+});
+var $ZodISODateTime = /* @__PURE__ */ $constructor("$ZodISODateTime", (inst, def) => {
+ def.pattern ?? (def.pattern = datetime(def));
+ $ZodStringFormat.init(inst, def);
+});
+var $ZodISODate = /* @__PURE__ */ $constructor("$ZodISODate", (inst, def) => {
+ def.pattern ?? (def.pattern = date);
+ $ZodStringFormat.init(inst, def);
+});
+var $ZodISOTime = /* @__PURE__ */ $constructor("$ZodISOTime", (inst, def) => {
+ def.pattern ?? (def.pattern = time(def));
+ $ZodStringFormat.init(inst, def);
+});
+var $ZodISODuration = /* @__PURE__ */ $constructor("$ZodISODuration", (inst, def) => {
+ def.pattern ?? (def.pattern = duration);
+ $ZodStringFormat.init(inst, def);
+});
+var $ZodIPv4 = /* @__PURE__ */ $constructor("$ZodIPv4", (inst, def) => {
+ def.pattern ?? (def.pattern = ipv4);
+ $ZodStringFormat.init(inst, def);
+});
+var ipv6Alphabet = /^[0-9a-fA-F:.]+$/;
+function isValidIPv6(value) {
+ if (!ipv6Alphabet.test(value))
+ return false;
+ return canParseURL(`http://[${value}]`);
+}
+__name(isValidIPv6, "isValidIPv6");
+var $ZodIPv6 = /* @__PURE__ */ $constructor("$ZodIPv6", (inst, def) => {
+ def.pattern ?? (def.pattern = ipv6);
+ $ZodStringFormat.init(inst, def);
+ inst._zod.check = (payload) => {
+ if (!isValidIPv6(payload.value)) {
+ payload.issues.push({
+ code: "invalid_format",
+ format: "ipv6",
+ input: payload.value,
+ inst,
+ continue: !def.abort
+ });
+ }
+ };
+});
+var $ZodMAC = /* @__PURE__ */ $constructor("$ZodMAC", (inst, def) => {
+ def.pattern ?? (def.pattern = mac(def.delimiter));
+ $ZodStringFormat.init(inst, def);
+});
+var $ZodCIDRv4 = /* @__PURE__ */ $constructor("$ZodCIDRv4", (inst, def) => {
+ def.pattern ?? (def.pattern = cidrv4);
+ $ZodStringFormat.init(inst, def);
+});
+function isValidCIDRv6(value) {
+ const parts = value.split("/");
+ if (parts.length !== 2)
+ return false;
+ const [address, prefix] = parts;
+ if (!prefix)
+ return false;
+ const prefixNum = Number(prefix);
+ if (`${prefixNum}` !== prefix)
+ return false;
+ if (prefixNum < 0 || prefixNum > 128)
+ return false;
+ return isValidIPv6(address);
+}
+__name(isValidCIDRv6, "isValidCIDRv6");
+var $ZodCIDRv6 = /* @__PURE__ */ $constructor("$ZodCIDRv6", (inst, def) => {
+ def.pattern ?? (def.pattern = cidrv6);
+ $ZodStringFormat.init(inst, def);
+ inst._zod.check = (payload) => {
+ if (!isValidCIDRv6(payload.value)) {
+ payload.issues.push({
+ code: "invalid_format",
+ format: "cidrv6",
+ input: payload.value,
+ inst,
+ continue: !def.abort
+ });
+ }
+ };
+});
+function isValidBase64(data) {
+ if (data === "")
+ return true;
+ if (/\s/.test(data))
+ return false;
+ if (data.length % 4 !== 0)
+ return false;
+ try {
+ atob(data);
+ return true;
+ } catch {
+ return false;
+ }
+}
+__name(isValidBase64, "isValidBase64");
+var base64Charset = /^[0-9a-zA-Z+/]*={0,2}$/;
+var $ZodBase64 = /* @__PURE__ */ $constructor("$ZodBase64", (inst, def) => {
+ def.pattern ?? (def.pattern = base64Charset);
+ $ZodStringFormat.init(inst, def);
+ inst._zod.check = (payload) => {
+ if (isValidBase64(payload.value))
+ return;
+ payload.issues.push({
+ code: "invalid_format",
+ format: "base64",
+ input: payload.value,
+ inst,
+ continue: !def.abort
+ });
+ };
+});
+var base64urlCharset = /^[A-Za-z0-9_-]*$/;
+function isValidBase64URL(data) {
+ if (!base64urlCharset.test(data))
+ return false;
+ const base643 = data.replace(/[-_]/g, (c5) => c5 === "-" ? "+" : "/");
+ const padded = base643.padEnd(Math.ceil(base643.length / 4) * 4, "=");
+ return isValidBase64(padded);
+}
+__name(isValidBase64URL, "isValidBase64URL");
+var $ZodBase64URL = /* @__PURE__ */ $constructor("$ZodBase64URL", (inst, def) => {
+ def.pattern ?? (def.pattern = base64urlCharset);
+ $ZodStringFormat.init(inst, def);
+ inst._zod.check = (payload) => {
+ if (isValidBase64URL(payload.value))
+ return;
+ payload.issues.push({
+ code: "invalid_format",
+ format: "base64url",
+ input: payload.value,
+ inst,
+ continue: !def.abort
+ });
+ };
+});
+var $ZodE164 = /* @__PURE__ */ $constructor("$ZodE164", (inst, def) => {
+ def.pattern ?? (def.pattern = e164);
+ $ZodStringFormat.init(inst, def);
+});
+var CC_SANITIZE = /[- ]/g;
+function isLuhnAlgo(digits) {
+ let length = digits.length;
+ let bit = 1;
+ let sum = 0;
+ while (length) {
+ const value = digits.charCodeAt(--length) - 48;
+ bit ^= 1;
+ sum += bit ? [0, 2, 4, 6, 8, 1, 3, 5, 7, 9][value] : value;
+ }
+ return sum % 10 === 0;
+}
+__name(isLuhnAlgo, "isLuhnAlgo");
+function isValidCreditCard(input2) {
+ if (!creditCard.test(input2))
+ return false;
+ return isLuhnAlgo(input2.replace(CC_SANITIZE, ""));
+}
+__name(isValidCreditCard, "isValidCreditCard");
+var $ZodCreditCard = /* @__PURE__ */ $constructor("$ZodCreditCard", (inst, def) => {
+ def.pattern ?? (def.pattern = creditCard);
+ $ZodStringFormat.init(inst, def);
+ inst._zod.check = (payload) => {
+ if (isValidCreditCard(payload.value))
+ return;
+ payload.issues.push({
+ code: "invalid_format",
+ format: "credit_card",
+ input: payload.value,
+ inst,
+ continue: !def.abort
+ });
+ };
+});
+function isIso7064Mod97(iban3) {
+ let remainder = 0;
+ const len = iban3.length;
+ for (let i5 = 4; i5 < len; i5++) {
+ const code = iban3.charCodeAt(i5);
+ remainder = (code >= 65 ? remainder * 100 + (code - 55) : remainder * 10 + (code - 48)) % 97;
+ }
+ for (let i5 = 0; i5 < 4; i5++) {
+ const code = iban3.charCodeAt(i5);
+ remainder = (code >= 65 ? remainder * 100 + (code - 55) : remainder * 10 + (code - 48)) % 97;
+ }
+ return remainder === 1;
+}
+__name(isIso7064Mod97, "isIso7064Mod97");
+function isValidIBAN(input2) {
+ if (!iban.test(input2))
+ return false;
+ return isIso7064Mod97(input2);
+}
+__name(isValidIBAN, "isValidIBAN");
+var $ZodIBAN = /* @__PURE__ */ $constructor("$ZodIBAN", (inst, def) => {
+ def.pattern ?? (def.pattern = iban);
+ $ZodStringFormat.init(inst, def);
+ inst._zod.check = (payload) => {
+ if (isValidIBAN(payload.value))
+ return;
+ payload.issues.push({
+ code: "invalid_format",
+ format: "iban",
+ input: payload.value,
+ inst,
+ continue: !def.abort
+ });
+ };
+});
+function isValidJWT(token, algorithm = null) {
+ try {
+ const tokensParts = token.split(".");
+ if (tokensParts.length !== 3)
+ return false;
+ const [header] = tokensParts;
+ if (!header)
+ return false;
+ const parsedHeader = JSON.parse(atob(header));
+ if ("typ" in parsedHeader && parsedHeader?.typ !== "JWT")
+ return false;
+ if (!parsedHeader.alg)
+ return false;
+ if (algorithm && (!("alg" in parsedHeader) || parsedHeader.alg !== algorithm))
+ return false;
+ return true;
+ } catch {
+ return false;
+ }
+}
+__name(isValidJWT, "isValidJWT");
+var $ZodJWT = /* @__PURE__ */ $constructor("$ZodJWT", (inst, def) => {
+ $ZodStringFormat.init(inst, def);
+ inst._zod.check = (payload) => {
+ if (isValidJWT(payload.value, def.alg))
+ return;
+ payload.issues.push({
+ code: "invalid_format",
+ format: "jwt",
+ input: payload.value,
+ inst,
+ continue: !def.abort
+ });
+ };
+});
+var $ZodCustomStringFormat = /* @__PURE__ */ $constructor("$ZodCustomStringFormat", (inst, def) => {
+ $ZodStringFormat.init(inst, def);
+ inst._zod.check = (payload) => {
+ if (def.fn(payload.value))
+ return;
+ payload.issues.push({
+ code: "invalid_format",
+ format: def.format,
+ input: payload.value,
+ inst,
+ continue: !def.abort
+ });
+ };
+});
+var $ZodNumber = /* @__PURE__ */ $constructor("$ZodNumber", (inst, def) => {
+ $ZodType.init(inst, def);
+ inst._zod.pattern = number;
+ inst._zod.parse = (payload, _ctx) => {
+ if (def.coerce)
+ try {
+ payload.value = Number(payload.value);
+ } catch (_) {
+ }
+ const input2 = payload.value;
+ if (typeof input2 === "number" && !Number.isNaN(input2) && Number.isFinite(input2)) {
+ return payload;
+ }
+ const received = typeof input2 === "number" ? Number.isNaN(input2) ? "NaN" : !Number.isFinite(input2) ? String(input2) : void 0 : void 0;
+ payload.issues.push({
+ expected: "number",
+ code: "invalid_type",
+ input: input2,
+ inst,
+ ...received ? { received } : {}
+ });
+ return payload;
+ };
+});
+var $ZodNumberFormat = /* @__PURE__ */ $constructor("$ZodNumberFormat", (inst, def) => {
+ $ZodCheckNumberFormat.init(inst, def);
+ $ZodNumber.init(inst, def);
+});
+var $ZodBoolean = /* @__PURE__ */ $constructor("$ZodBoolean", (inst, def) => {
+ $ZodType.init(inst, def);
+ inst._zod.pattern = boolean;
+ inst._zod.parse = (payload, _ctx) => {
+ if (def.coerce)
+ try {
+ payload.value = Boolean(payload.value);
+ } catch (_) {
+ }
+ const input2 = payload.value;
+ if (typeof input2 === "boolean")
+ return payload;
+ payload.issues.push({
+ expected: "boolean",
+ code: "invalid_type",
+ input: input2,
+ inst
+ });
+ return payload;
+ };
+});
+var $ZodBigInt = /* @__PURE__ */ $constructor("$ZodBigInt", (inst, def) => {
+ $ZodType.init(inst, def);
+ inst._zod.pattern = bigint;
+ inst._zod.parse = (payload, _ctx) => {
+ if (def.coerce)
+ try {
+ payload.value = BigInt(payload.value);
+ } catch (_) {
+ }
+ if (typeof payload.value === "bigint")
+ return payload;
+ payload.issues.push({
+ expected: "bigint",
+ code: "invalid_type",
+ input: payload.value,
+ inst
+ });
+ return payload;
+ };
+});
+var $ZodBigIntFormat = /* @__PURE__ */ $constructor("$ZodBigIntFormat", (inst, def) => {
+ $ZodCheckBigIntFormat.init(inst, def);
+ $ZodBigInt.init(inst, def);
+});
+var $ZodSymbol = /* @__PURE__ */ $constructor("$ZodSymbol", (inst, def) => {
+ $ZodType.init(inst, def);
+ inst._zod.parse = (payload, _ctx) => {
+ const input2 = payload.value;
+ if (typeof input2 === "symbol")
+ return payload;
+ payload.issues.push({
+ expected: "symbol",
+ code: "invalid_type",
+ input: input2,
+ inst
+ });
+ return payload;
+ };
+});
+var $ZodUndefined = /* @__PURE__ */ $constructor("$ZodUndefined", (inst, def) => {
+ $ZodType.init(inst, def);
+ inst._zod.pattern = _undefined;
+ inst._zod.values = /* @__PURE__ */ new Set([void 0]);
+ inst._zod.parse = (payload, _ctx) => {
+ const input2 = payload.value;
+ if (typeof input2 === "undefined")
+ return payload;
+ payload.issues.push({
+ expected: "undefined",
+ code: "invalid_type",
+ input: input2,
+ inst
+ });
+ return payload;
+ };
+});
+var $ZodNull = /* @__PURE__ */ $constructor("$ZodNull", (inst, def) => {
+ $ZodType.init(inst, def);
+ inst._zod.pattern = _null;
+ inst._zod.values = /* @__PURE__ */ new Set([null]);
+ inst._zod.parse = (payload, _ctx) => {
+ const input2 = payload.value;
+ if (input2 === null)
+ return payload;
+ payload.issues.push({
+ expected: "null",
+ code: "invalid_type",
+ input: input2,
+ inst
+ });
+ return payload;
+ };
+});
+var $ZodAny = /* @__PURE__ */ $constructor("$ZodAny", (inst, def) => {
+ $ZodType.init(inst, def);
+ inst._zod.parse = (payload) => payload;
+});
+var $ZodUnknown = /* @__PURE__ */ $constructor("$ZodUnknown", (inst, def) => {
+ $ZodType.init(inst, def);
+ inst._zod.parse = (payload) => payload;
+});
+var $ZodNever = /* @__PURE__ */ $constructor("$ZodNever", (inst, def) => {
+ $ZodType.init(inst, def);
+ inst._zod.parse = (payload, _ctx) => {
+ payload.issues.push({
+ expected: "never",
+ code: "invalid_type",
+ input: payload.value,
+ inst
+ });
+ return payload;
+ };
+});
+var $ZodVoid = /* @__PURE__ */ $constructor("$ZodVoid", (inst, def) => {
+ $ZodType.init(inst, def);
+ inst._zod.parse = (payload, _ctx) => {
+ const input2 = payload.value;
+ if (typeof input2 === "undefined")
+ return payload;
+ payload.issues.push({
+ expected: "void",
+ code: "invalid_type",
+ input: input2,
+ inst
+ });
+ return payload;
+ };
+});
+var $ZodDate = /* @__PURE__ */ $constructor("$ZodDate", (inst, def) => {
+ $ZodType.init(inst, def);
+ inst._zod.parse = (payload, _ctx) => {
+ if (def.coerce) {
+ try {
+ payload.value = new Date(payload.value);
+ } catch (_err) {
+ }
+ }
+ const input2 = payload.value;
+ const isDate = input2 instanceof Date;
+ const isValidDate = isDate && !Number.isNaN(input2.getTime());
+ if (isValidDate)
+ return payload;
+ payload.issues.push({
+ expected: "date",
+ code: "invalid_type",
+ input: input2,
+ ...isDate ? { received: "Invalid Date" } : {},
+ inst
+ });
+ return payload;
+ };
+});
+function capSize(inst, size) {
+ const caps = sizeCaps(inst._zod.def.checks);
+ if (!caps.length)
+ return;
+ const cap = Math.min(...caps.map((c5) => c5[0]));
+ const parse4 = inst._zod.parse;
+ inst._zod.parse = (payload, ctx) => {
+ const n3 = size(payload.value);
+ if (n3 > cap && !ctx?.skipChecks && ctx?.direction !== "backward") {
+ for (const [max, ch] of sizeCaps(inst._zod.def.checks)) {
+ if (n3 > max && ch._zod.def.when(payload)) {
+ const start = payload.issues.length;
+ ch._zod.check(payload);
+ payload.issues[start].continue = false;
+ attachSchema(payload.issues, start, inst);
+ return payload;
+ }
+ }
+ }
+ return parse4(payload, ctx);
+ };
+}
+__name(capSize, "capSize");
+var arraySize = /* @__PURE__ */ __name((input2) => Array.isArray(input2) ? input2.length : -1, "arraySize");
+var mapSize = /* @__PURE__ */ __name((input2) => input2 instanceof Map ? input2.size : -1, "mapSize");
+var setSize = /* @__PURE__ */ __name((input2) => input2 instanceof Set ? input2.size : -1, "setSize");
+function handleArrayResult(result, final, index) {
+ if (result.issues.length) {
+ final.issues.push(...prefixIssues(index, result.issues));
+ }
+ final.value[index] = result.value;
+}
+__name(handleArrayResult, "handleArrayResult");
+var $ZodArray = /* @__PURE__ */ $constructor("$ZodArray", (inst, def) => {
+ $ZodType.init(inst, def);
+ const memo2 = globalConfig.memoizer;
+ memo2?.attach(inst);
+ inst._zod.parse = (payload, ctx) => {
+ const input2 = payload.value;
+ if (!Array.isArray(input2)) {
+ payload.issues.push({
+ expected: "array",
+ code: "invalid_type",
+ input: input2,
+ inst
+ });
+ return payload;
+ }
+ payload.value = memo2 ? memo2.alloc(inst, payload, Array(input2.length), ctx) : Array(input2.length);
+ const proms = [];
+ const abortEarly = ctx?.abortEarly;
+ for (let i5 = 0; i5 < input2.length; i5++) {
+ const item = input2[i5];
+ const result = def.element._zod.run({
+ value: item,
+ issues: []
+ }, ctx);
+ if (result instanceof Promise) {
+ proms.push(result.then((result2) => handleArrayResult(result2, payload, i5)));
+ } else {
+ handleArrayResult(result, payload, i5);
+ if (abortEarly && result.issues.length !== 0 && aborted(result))
+ break;
+ }
+ }
+ if (proms.length) {
+ return Promise.all(proms).then(() => payload);
+ }
+ return payload;
+ };
+ capSize(inst, arraySize);
+});
+function handlePropertyResult(result, final, key, input2, optin, optout) {
+ const isPresent = key in input2;
+ const isOptionalOut = optout === "optional";
+ if (!isPresent && isOptionalOut && optin === "optional") {
+ return;
+ }
+ if (result.issues.length) {
+ if (optin !== void 0 && isOptionalOut && !isPresent) {
+ return;
+ }
+ final.issues.push(...prefixIssues(key, result.issues));
+ }
+ if (!isPresent && optin === void 0) {
+ if (!result.issues.length) {
+ final.issues.push({
+ code: "invalid_type",
+ expected: "nonoptional",
+ input: void 0,
+ path: [key]
+ });
+ }
+ return;
+ }
+ if (result.value === void 0) {
+ if (isPresent || optin === "defaulted" && !isOptionalOut) {
+ final.value[key] = void 0;
+ }
+ } else {
+ final.value[key] = result.value;
+ }
+}
+__name(handlePropertyResult, "handlePropertyResult");
+var NO_SYMBOL_KEYS = [];
+function normalizeDef(def) {
+ const keys = Object.keys(def.shape);
+ const ownSymbols = Object.getOwnPropertySymbols(def.shape);
+ const symbolKeys = ownSymbols.length ? ownSymbols : NO_SYMBOL_KEYS;
+ const allKeys = symbolKeys.length ? [...keys, ...symbolKeys] : keys;
+ for (const k5 of allKeys) {
+ if (!def.shape?.[k5]?._zod?.traits?.has("$ZodType")) {
+ throw new Error(`Invalid element at key "${String(k5)}": expected a Zod schema`);
+ }
+ }
+ const okeys = optionalKeys(def.shape);
+ return {
+ ...def,
+ allKeys,
+ symbolKeys,
+ // string-only: handleCatchall matches it against `for...in`, which never yields a symbol
+ keySet: new Set(keys),
+ numKeys: keys.length,
+ optionalKeys: new Set(okeys)
+ };
+}
+__name(normalizeDef, "normalizeDef");
+function handleCatchall(proms, input2, payload, ctx, def, inst, abortEarly) {
+ const unrecognized = [];
+ const keySet = def.keySet;
+ const _catchall = def.catchall._zod;
+ const t = _catchall.def.type;
+ const optin = _catchall.optin;
+ const optout = _catchall.optout;
+ let seen = 0;
+ for (const key in input2) {
+ if (abortEarly && payload.issues.length !== seen) {
+ if (aborted(payload, seen))
+ break;
+ seen = payload.issues.length;
+ }
+ if (keySet.has(key))
+ continue;
+ if (key === "__proto__") {
+ if (t === "never")
+ unrecognized.push(key);
+ continue;
+ }
+ if (t === "never") {
+ unrecognized.push(key);
+ continue;
+ }
+ const r5 = _catchall.run({ value: input2[key], issues: [] }, ctx);
+ if (r5 instanceof Promise) {
+ proms.push(r5.then((r6) => handlePropertyResult(r6, payload, key, input2, optin, optout)));
+ } else {
+ handlePropertyResult(r5, payload, key, input2, optin, optout);
+ }
+ }
+ if (unrecognized.length) {
+ payload.issues.push({
+ code: "unrecognized_keys",
+ keys: unrecognized,
+ input: input2,
+ inst,
+ // Describes the shape of the input, not the validity of the parsed value, so it never aborts. The parse still fails; the schema's own checks just get to run first, and an enclosing intersection can reconcile the key against a sibling operand.
+ continue: true
+ });
+ }
+ if (!proms.length)
+ return payload;
+ return Promise.all(proms).then(() => {
+ return payload;
+ });
+}
+__name(handleCatchall, "handleCatchall");
+var $ZodObject = /* @__PURE__ */ $constructor("$ZodObject", (inst, def) => {
+ $ZodType.init(inst, def);
+ const desc = Object.getOwnPropertyDescriptor(def, "shape");
+ const sh = desc?.get ? desc.get.raw : def.shape ?? {};
+ if (sh) {
+ const get2 = /* @__PURE__ */ __name(() => {
+ const newSh = { ...sh };
+ Object.defineProperty(def, "shape", { value: newSh });
+ get2.raw = newSh;
+ return newSh;
+ }, "get");
+ get2.raw = sh;
+ Object.defineProperty(def, "shape", { get: get2 });
+ }
+ const _normalized = cached(() => normalizeDef(def));
+ defineLazyInternal(inst, "propValues", (zod) => {
+ const shape = zod.def.shape;
+ const propValues = {};
+ for (const key in shape) {
+ const field = shape[key]._zod;
+ if (field.values) {
+ if (!Object.prototype.hasOwnProperty.call(propValues, key)) {
+ assignProp(propValues, key, /* @__PURE__ */ new Set());
+ }
+ for (const v of field.values)
+ propValues[key].add(v);
+ if (field.optin !== void 0)
+ propValues[key].add(void 0);
+ }
+ }
+ return propValues;
+ });
+ const isObject2 = isObject;
+ const catchall = def.catchall;
+ let value;
+ const memo2 = globalConfig.memoizer;
+ memo2?.attach(inst);
+ inst._zod.parse = (payload, ctx) => {
+ value ?? (value = _normalized.value);
+ const input2 = payload.value;
+ if (!isObject2(input2)) {
+ payload.issues.push({
+ expected: "object",
+ code: "invalid_type",
+ input: input2,
+ inst
+ });
+ return payload;
+ }
+ payload.value = memo2 ? memo2.alloc(inst, payload, {}, ctx) : {};
+ const proms = [];
+ const shape = value.shape;
+ const abortEarly = ctx?.abortEarly;
+ let seen = payload.issues.length;
+ for (const key of value.allKeys) {
+ if (abortEarly && payload.issues.length !== seen) {
+ if (aborted(payload, seen))
+ break;
+ seen = payload.issues.length;
+ }
+ if (key === "__proto__")
+ continue;
+ const el = shape[key];
+ const optin = el._zod.optin;
+ const optout = el._zod.optout;
+ const r5 = el._zod.run({ value: input2[key], issues: [] }, ctx);
+ if (r5 instanceof Promise) {
+ proms.push(r5.then((r6) => handlePropertyResult(r6, payload, key, input2, optin, optout)));
+ } else {
+ handlePropertyResult(r5, payload, key, input2, optin, optout);
+ }
+ }
+ if (!catchall) {
+ return proms.length ? Promise.all(proms).then(() => payload) : payload;
+ }
+ return handleCatchall(proms, input2, payload, ctx, _normalized.value, inst, abortEarly === true);
+ };
+});
+var $ZodObjectJIT = /* @__PURE__ */ $constructor("$ZodObjectJIT", (inst, def) => {
+ $ZodObject.init(inst, def);
+ const superParse = inst._zod.parse;
+ const _normalized = cached(() => normalizeDef(def));
+ const memo2 = globalConfig.memoizer;
+ const generateFastpass = /* @__PURE__ */ __name((shape) => {
+ const normalized = _normalized.value;
+ const syms = normalized.symbolKeys;
+ const doc = new Doc(["payload", "ctx"], { shape, inst, memo: memo2, syms });
+ const parseStr = /* @__PURE__ */ __name((k5) => `shape[${k5}]._zod.run({ value: input[${k5}], issues: [] }, ctx)`, "parseStr");
+ const prefixStr = /* @__PURE__ */ __name((id, k5) => `
+ let ${id}_ab = false;
+ for (let i = 0; i < ${id}.issues.length; i++) {
+ const iss = ${id}.issues[i];
+ iss.path = iss.path ? [${k5}, ...iss.path] : [${k5}];
+ payload.issues.push(iss);
+ if (iss.continue !== true) ${id}_ab = true;
+ }
+ if (${id}_ab && ctx && ctx.abortEarly) {
+ payload.value = newResult;
+ return payload;
+ }`, "prefixStr");
+ doc.write(`const input = payload.value;`);
+ const ids = /* @__PURE__ */ Object.create(null);
+ let counter = 0;
+ for (const key of normalized.allKeys) {
+ ids[key] = `key_${counter++}`;
+ }
+ doc.write(memo2 ? `const newResult = memo.alloc(inst, payload, {}, ctx);` : `const newResult = {};`);
+ for (const key of normalized.allKeys) {
+ if (key === "__proto__")
+ continue;
+ const id = ids[key];
+ const k5 = typeof key === "symbol" ? `syms[${syms.indexOf(key)}]` : esc(key);
+ const isPresent = `${k5} in input`;
+ const schema2 = shape[key];
+ const optin = schema2?._zod?.optin;
+ const isOptionalIn = optin !== void 0;
+ const isOptionalOut = schema2?._zod?.optout === "optional";
+ doc.write(`const ${id} = ${parseStr(k5)};`);
+ if (isOptionalIn && isOptionalOut) {
+ const assign = optin === "optional" ? `${id}_present` : `${id}.value !== undefined || ${id}_present`;
+ doc.write(`
+ const ${id}_present = ${isPresent};
+ if (!${id}.issues.length || ${id}_present) {
+ if (${id}.issues.length) {${prefixStr(id, k5)}
+ }
+
+ if (${assign}) {
+ newResult[${k5}] = ${id}.value;
+ }
+ }
+
+ `);
+ } else if (!isOptionalIn) {
+ doc.write(`
+ const ${id}_present = ${isPresent};
+ if (${id}.issues.length) {${prefixStr(id, k5)}
+ }
+ if (!${id}_present && !${id}.issues.length) {
+ payload.issues.push({
+ code: "invalid_type",
+ expected: "nonoptional",
+ input: undefined,
+ path: [${k5}]
+ });
+ if (ctx && ctx.abortEarly) {
+ payload.value = newResult;
+ return payload;
+ }
+ }
+
+ if (${id}_present) {
+ newResult[${k5}] = ${id}.value;
+ }
+
+ `);
+ } else {
+ doc.write(`
+ if (${id}.issues.length) {${prefixStr(id, k5)}
+ }
+ `);
+ if (optin === "defaulted") {
+ doc.write(`newResult[${k5}] = ${id}.value;`);
+ } else {
+ doc.write(`
+ if (${id}.value !== undefined || ${isPresent}) {
+ newResult[${k5}] = ${id}.value;
+ }
+ `);
+ }
+ }
+ }
+ doc.write(`payload.value = newResult;`);
+ doc.write(`return payload;`);
+ return doc.compile();
+ }, "generateFastpass");
+ let fastpass;
+ const isObject2 = isObject;
+ const jit = !globalConfig.jitless;
+ const allowsEval2 = allowsEval;
+ const fastEnabled = jit && allowsEval2.value;
+ const catchall = def.catchall;
+ let value;
+ inst._zod.parse = (payload, ctx) => {
+ value ?? (value = _normalized.value);
+ const input2 = payload.value;
+ if (!isObject2(input2)) {
+ payload.issues.push({
+ expected: "object",
+ code: "invalid_type",
+ input: input2,
+ inst
+ });
+ return payload;
+ }
+ if (jit && fastEnabled && ctx?.async === false && ctx.jitless !== true) {
+ if (!fastpass)
+ fastpass = generateFastpass(def.shape);
+ payload = fastpass(payload, ctx);
+ if (!catchall)
+ return payload;
+ return handleCatchall([], input2, payload, ctx, value, inst, ctx?.abortEarly === true);
+ }
+ return superParse(payload, ctx);
+ };
+});
+function handleUnionResults(results, final, inst, ctx) {
+ for (const result of results) {
+ if (result.issues.length === 0) {
+ final.value = result.value;
+ return final;
+ }
+ }
+ const nonaborted = results.filter((r5) => !aborted(r5));
+ if (nonaborted.length === 1) {
+ final.value = nonaborted[0].value;
+ return nonaborted[0];
+ }
+ final.issues.push({
+ code: "invalid_union",
+ input: final.value,
+ inst,
+ errors: results.map((result) => result.issues.map((iss) => finalizeIssue(iss, ctx, config())))
+ });
+ return final;
+}
+__name(handleUnionResults, "handleUnionResults");
+var $ZodUnion = /* @__PURE__ */ $constructor("$ZodUnion", (inst, def) => {
+ $ZodType.init(inst, def);
+ defineLazyInternal(inst, "optin", (zod) => zod.def.options.some((o3) => o3._zod.optin === "defaulted") ? "defaulted" : zod.def.options.some((o3) => o3._zod.optin !== void 0) ? "optional" : void 0);
+ defineLazyInternal(inst, "optout", (zod) => zod.def.options.some((o3) => o3._zod.optout === "optional") ? "optional" : void 0);
+ defineLazyInternal(inst, "values", (zod) => {
+ if (zod.def.options.every((o3) => o3._zod.values)) {
+ return new Set(zod.def.options.flatMap((option) => Array.from(option._zod.values)));
+ }
+ return void 0;
+ });
+ defineLazyInternal(inst, "pattern", (zod) => {
+ if (zod.def.options.every((o3) => o3._zod.pattern)) {
+ const patterns = zod.def.options.map((o3) => o3._zod.pattern);
+ return new RegExp(`^(${patterns.map((p3) => cleanRegex(p3.source)).join("|")})$`);
+ }
+ return void 0;
+ });
+ const first = def.options.length === 1 ? def.options[0]._zod.run : null;
+ inst._zod.parse = (payload, ctx) => {
+ if (first) {
+ return first(payload, ctx);
+ }
+ let async = false;
+ const results = [];
+ for (const option of def.options) {
+ const result = option._zod.run({
+ value: payload.value,
+ issues: []
+ }, ctx);
+ if (result instanceof Promise) {
+ results.push(result);
+ async = true;
+ } else {
+ if (result.issues.length === 0)
+ return result;
+ results.push(result);
+ }
+ }
+ if (!async)
+ return handleUnionResults(results, payload, inst, ctx);
+ return Promise.all(results).then((results2) => {
+ return handleUnionResults(results2, payload, inst, ctx);
+ });
+ };
+});
+function handleExclusiveUnionResults(results, final, inst, ctx) {
+ const matches = [];
+ for (let i5 = 0; i5 < results.length; i5++) {
+ if (results[i5].issues.length === 0)
+ matches.push(i5);
+ }
+ if (matches.length === 1) {
+ final.value = results[matches[0]].value;
+ return final;
+ }
+ if (matches.length === 0) {
+ final.issues.push({
+ code: "invalid_union",
+ input: final.value,
+ inst,
+ errors: results.map((result) => result.issues.map((iss) => finalizeIssue(iss, ctx, config())))
+ });
+ } else {
+ final.issues.push({
+ code: "invalid_union",
+ input: final.value,
+ inst,
+ errors: [],
+ inclusive: false,
+ matches
+ });
+ }
+ return final;
+}
+__name(handleExclusiveUnionResults, "handleExclusiveUnionResults");
+var $ZodXor = /* @__PURE__ */ $constructor("$ZodXor", (inst, def) => {
+ $ZodUnion.init(inst, def);
+ def.inclusive = false;
+ const first = def.options.length === 1 ? def.options[0]._zod.run : null;
+ inst._zod.parse = (payload, ctx) => {
+ if (first) {
+ return first(payload, ctx);
+ }
+ let async = false;
+ const results = [];
+ for (const option of def.options) {
+ const result = option._zod.run({
+ value: payload.value,
+ issues: []
+ }, ctx);
+ if (result instanceof Promise) {
+ results.push(result);
+ async = true;
+ } else {
+ results.push(result);
+ }
+ }
+ if (!async)
+ return handleExclusiveUnionResults(results, payload, inst, ctx);
+ return Promise.all(results).then((results2) => {
+ return handleExclusiveUnionResults(results2, payload, inst, ctx);
+ });
+ };
+});
+function getDiscriminatedOption(union2, value) {
+ const internals = union2._zod;
+ let map2 = internals.bag.optionsMap;
+ if (!map2) {
+ map2 = discriminatorMap(internals.def);
+ internals.bag.optionsMap = map2;
+ }
+ const option = map2.get(value);
+ if (option === null)
+ throw new Error(`Ambiguous discriminator value "${String(value)}"`);
+ return option;
+}
+__name(getDiscriminatedOption, "getDiscriminatedOption");
+function discriminatorMap(def) {
+ const map2 = /* @__PURE__ */ new Map();
+ for (const option of def.options) {
+ const values = option._zod.propValues?.[def.discriminator];
+ if (!values || values.size === 0)
+ throw new Error(`Invalid discriminated union option at index "${def.options.indexOf(option)}"`);
+ for (const value of values) {
+ if (map2.has(value)) {
+ if (value !== void 0)
+ throw new Error(`Duplicate discriminator value "${String(value)}"`);
+ map2.set(value, null);
+ } else {
+ map2.set(value, option);
+ }
+ }
+ }
+ return map2;
+}
+__name(discriminatorMap, "discriminatorMap");
+var $ZodDiscriminatedUnion = /* @__PURE__ */ $constructor("$ZodDiscriminatedUnion", (inst, def) => {
+ def.inclusive = false;
+ $ZodUnion.init(inst, def);
+ const _super = inst._zod.parse;
+ defineLazyInternal(inst, "propValues", (zod) => {
+ const propValues = {};
+ let undefinedCount = 0;
+ for (const option of zod.def.options) {
+ const pv = option._zod.propValues;
+ if (!pv || Object.keys(pv).length === 0)
+ throw new Error(`Invalid discriminated union option at index "${zod.def.options.indexOf(option)}"`);
+ if (pv[zod.def.discriminator]?.has(void 0))
+ undefinedCount++;
+ for (const [k5, v] of Object.entries(pv)) {
+ if (!Object.prototype.hasOwnProperty.call(propValues, k5)) {
+ assignProp(propValues, k5, /* @__PURE__ */ new Set());
+ }
+ for (const val of v) {
+ propValues[k5].add(val);
+ }
+ }
+ }
+ if (!zod.def.unionFallback && undefinedCount > 1)
+ propValues[zod.def.discriminator]?.delete(void 0);
+ return propValues;
+ });
+ def.options.forEach((option, i5) => {
+ const propShape = rawShape(option._zod.def);
+ if (propShape && !Object.prototype.hasOwnProperty.call(propShape, def.discriminator)) {
+ throw new Error(`Invalid discriminated union option at index "${i5}"`);
+ }
+ });
+ const disc = cached(() => discriminatorMap(def));
+ inst._zod.parse = (payload, ctx) => {
+ const input2 = payload.value;
+ if (!isObject(input2)) {
+ payload.issues.push({
+ code: "invalid_type",
+ expected: "object",
+ input: input2,
+ inst
+ });
+ return payload;
+ }
+ const value = input2?.[def.discriminator];
+ const opt = disc.value.get(value);
+ if (opt && (value !== void 0 || ctx.direction !== "backward")) {
+ return opt._zod.run(payload, ctx);
+ }
+ if (def.unionFallback || ctx.direction === "backward") {
+ return _super(payload, ctx);
+ }
+ payload.issues.push({
+ code: "invalid_union",
+ errors: [],
+ note: "No matching discriminator",
+ discriminator: def.discriminator,
+ options: Array.from(disc.value.keys()).filter((value2) => disc.value.get(value2) !== null),
+ input: input2,
+ path: [def.discriminator],
+ inst
+ });
+ return payload;
+ };
+});
+var $ZodIntersection = /* @__PURE__ */ $constructor("$ZodIntersection", (inst, def) => {
+ $ZodType.init(inst, def);
+ inst._zod.parse = (payload, ctx) => {
+ const input2 = payload.value;
+ const left = def.left._zod.run({ value: input2, issues: [] }, ctx);
+ const right = def.right._zod.run({ value: input2, issues: [] }, ctx);
+ const async = left instanceof Promise || right instanceof Promise;
+ if (async) {
+ return Promise.all([left, right]).then(([left2, right2]) => {
+ return handleIntersectionResults(payload, left2, right2);
+ });
+ }
+ return handleIntersectionResults(payload, left, right);
+ };
+});
+function mergeValues(a5, b5) {
+ if (a5 === b5) {
+ return { valid: true, data: a5 };
+ }
+ if (a5 instanceof Date && b5 instanceof Date && +a5 === +b5) {
+ return { valid: true, data: a5 };
+ }
+ if (isPlainObject(a5) && isPlainObject(b5)) {
+ const bKeys = Object.keys(b5);
+ const sharedKeys = Object.keys(a5).filter((key) => bKeys.indexOf(key) !== -1);
+ const newObj = { ...a5, ...b5 };
+ if (Object.prototype.hasOwnProperty.call(newObj, "__proto__"))
+ delete newObj.__proto__;
+ for (const key of sharedKeys) {
+ if (key === "__proto__")
+ continue;
+ const sharedValue = mergeValues(a5[key], b5[key]);
+ if (!sharedValue.valid) {
+ return {
+ valid: false,
+ mergeErrorPath: [key, ...sharedValue.mergeErrorPath]
+ };
+ }
+ newObj[key] = sharedValue.data;
+ }
+ return { valid: true, data: newObj };
+ }
+ if (Array.isArray(a5) && Array.isArray(b5)) {
+ if (a5.length !== b5.length) {
+ return { valid: false, mergeErrorPath: [] };
+ }
+ const newArray = [];
+ for (let index = 0; index < a5.length; index++) {
+ const itemA = a5[index];
+ const itemB = b5[index];
+ const sharedValue = mergeValues(itemA, itemB);
+ if (!sharedValue.valid) {
+ return {
+ valid: false,
+ mergeErrorPath: [index, ...sharedValue.mergeErrorPath]
+ };
+ }
+ newArray.push(sharedValue.data);
+ }
+ return { valid: true, data: newArray };
+ }
+ return { valid: false, mergeErrorPath: [] };
+}
+__name(mergeValues, "mergeValues");
+function handleIntersectionResults(result, left, right) {
+ const unrecKeys = /* @__PURE__ */ new Map();
+ let unrecIssue;
+ const keyIssues = /* @__PURE__ */ new Map();
+ const collect = /* @__PURE__ */ __name((iss, side) => {
+ let keys;
+ if (iss.code === "unrecognized_keys" && !iss.path?.length) {
+ unrecIssue ?? (unrecIssue = iss);
+ keys = iss.keys;
+ } else if (iss.code === "invalid_key" && iss.origin === "record" && iss.path?.length === 1) {
+ const k5 = String(iss.path[0]);
+ if (!keyIssues.has(k5))
+ keyIssues.set(k5, iss);
+ keys = [k5];
+ } else {
+ return false;
+ }
+ for (const k5 of keys) {
+ if (!unrecKeys.has(k5))
+ unrecKeys.set(k5, {});
+ unrecKeys.get(k5)[side] = true;
+ }
+ return true;
+ }, "collect");
+ for (const iss of left.issues) {
+ if (!collect(iss, "l"))
+ result.issues.push(iss);
+ }
+ for (const iss of right.issues) {
+ if (!collect(iss, "r"))
+ result.issues.push(iss);
+ }
+ const bothKeys = [...unrecKeys].filter(([, f5]) => f5.l && f5.r).map(([k5]) => k5);
+ if (bothKeys.length) {
+ const aggregated = unrecIssue ? bothKeys.filter((k5) => unrecIssue.keys.includes(k5)) : [];
+ if (aggregated.length)
+ result.issues.push({ ...unrecIssue, keys: aggregated });
+ for (const k5 of bothKeys) {
+ if (!aggregated.includes(k5) && keyIssues.has(k5))
+ result.issues.push(keyIssues.get(k5));
+ }
+ }
+ const merged = mergeValues(left.value, right.value);
+ if (!merged.valid) {
+ if (aborted(result))
+ return result;
+ throw new Error(`Unmergable intersection. Error path: ${JSON.stringify(merged.mergeErrorPath)}`);
+ }
+ result.value = merged.data;
+ return result;
+}
+__name(handleIntersectionResults, "handleIntersectionResults");
+var $ZodTuple = /* @__PURE__ */ $constructor("$ZodTuple", (inst, def) => {
+ $ZodType.init(inst, def);
+ const items = def.items;
+ const memo2 = globalConfig.memoizer;
+ memo2?.attach(inst);
+ inst._zod.parse = (payload, ctx) => {
+ const input2 = payload.value;
+ if (!Array.isArray(input2)) {
+ payload.issues.push({
+ input: input2,
+ inst,
+ expected: "tuple",
+ code: "invalid_type"
+ });
+ return payload;
+ }
+ payload.value = memo2 ? memo2.alloc(inst, payload, [], ctx) : [];
+ const proms = [];
+ const optinStart = getTupleOptStart(items, "optin");
+ const optoutStart = getTupleOptStart(items, "optout");
+ if (!def.rest) {
+ if (input2.length < optinStart) {
+ payload.issues.push({
+ code: "too_small",
+ minimum: optinStart,
+ inclusive: true,
+ input: input2,
+ inst,
+ origin: "array"
+ });
+ return payload;
+ }
+ if (input2.length > items.length) {
+ payload.issues.push({
+ code: "too_big",
+ maximum: items.length,
+ inclusive: true,
+ input: input2,
+ inst,
+ origin: "array"
+ });
+ }
+ }
+ const itemResults = new Array(items.length);
+ const abortEarly = def.rest ? ctx?.abortEarly : void 0;
+ let itemAborted = false;
+ for (let i5 = 0; i5 < items.length; i5++) {
+ const r5 = items[i5]._zod.run({ value: input2[i5], issues: [] }, ctx);
+ if (r5 instanceof Promise) {
+ proms.push(r5.then((rr) => {
+ itemResults[i5] = rr;
+ }));
+ } else {
+ itemResults[i5] = r5;
+ if (abortEarly && !itemAborted && r5.issues.length)
+ itemAborted = aborted(r5);
+ }
+ }
+ if (def.rest && !itemAborted) {
+ let i5 = items.length - 1;
+ const rest = input2.slice(items.length);
+ let seen = payload.issues.length;
+ for (const el of rest) {
+ if (abortEarly && payload.issues.length !== seen) {
+ if (aborted(payload, seen))
+ break;
+ seen = payload.issues.length;
+ }
+ i5++;
+ const result = def.rest._zod.run({ value: el, issues: [] }, ctx);
+ if (result instanceof Promise) {
+ proms.push(result.then((r5) => handleTupleResult(r5, payload, i5)));
+ } else {
+ handleTupleResult(result, payload, i5);
+ }
+ }
+ }
+ if (proms.length) {
+ return Promise.all(proms).then(() => handleTupleResults(itemResults, payload, items, input2, optoutStart));
+ }
+ return handleTupleResults(itemResults, payload, items, input2, optoutStart);
+ };
+});
+function getTupleOptStart(items, key) {
+ for (let i5 = items.length - 1; i5 >= 0; i5--) {
+ const omittable = key === "optin" ? items[i5]._zod.optin !== void 0 : items[i5]._zod.optout === "optional";
+ if (!omittable)
+ return i5 + 1;
+ }
+ return 0;
+}
+__name(getTupleOptStart, "getTupleOptStart");
+function handleTupleResult(result, final, index) {
+ if (result.issues.length) {
+ final.issues.push(...prefixIssues(index, result.issues));
+ }
+ final.value[index] = result.value;
+}
+__name(handleTupleResult, "handleTupleResult");
+function handleTupleResults(itemResults, final, items, input2, optoutStart) {
+ for (let i5 = 0; i5 < items.length; i5++) {
+ const r5 = itemResults[i5];
+ const isPresent = i5 < input2.length;
+ if (!isPresent && i5 >= optoutStart && items[i5]._zod.optin === "optional") {
+ final.value.length = i5;
+ break;
+ }
+ if (r5.issues.length) {
+ if (!isPresent && i5 >= optoutStart) {
+ final.value.length = i5;
+ break;
+ }
+ final.issues.push(...prefixIssues(i5, r5.issues));
+ }
+ final.value[i5] = r5.value;
+ }
+ for (let i5 = final.value.length - 1; i5 >= input2.length; i5--) {
+ if (items[i5]._zod.optout === "optional" && final.value[i5] === void 0) {
+ final.value.length = i5;
+ } else {
+ break;
+ }
+ }
+ return final;
+}
+__name(handleTupleResults, "handleTupleResults");
+var $ZodRecord = /* @__PURE__ */ $constructor("$ZodRecord", (inst, def) => {
+ $ZodType.init(inst, def);
+ const memo2 = globalConfig.memoizer;
+ memo2?.attach(inst);
+ inst._zod.parse = (payload, ctx) => {
+ const input2 = payload.value;
+ if (!isPlainObject(input2)) {
+ payload.issues.push({
+ expected: "record",
+ code: "invalid_type",
+ input: input2,
+ inst
+ });
+ return payload;
+ }
+ const proms = [];
+ const values = def.keyType._zod.values;
+ if (values && !def.partial) {
+ payload.value = memo2 ? memo2.alloc(inst, payload, {}, ctx) : {};
+ const recordKeys = /* @__PURE__ */ new Set();
+ for (const key of values) {
+ if (typeof key === "string" || typeof key === "number" || typeof key === "symbol") {
+ recordKeys.add(typeof key === "number" ? key.toString() : key);
+ if (key === "__proto__")
+ continue;
+ const keyResult = def.keyType._zod.run({ value: key, issues: [] }, ctx);
+ if (keyResult instanceof Promise) {
+ throw new Error("Async schemas not supported in object keys currently");
+ }
+ if (keyResult.issues.length) {
+ payload.issues.push({
+ code: "invalid_key",
+ origin: "record",
+ issues: keyResult.issues.map((iss) => finalizeIssue(iss, ctx, config())),
+ input: key,
+ path: [key],
+ inst
+ });
+ continue;
+ }
+ const outKey = keyResult.value;
+ if (outKey === "__proto__")
+ continue;
+ const result = def.valueType._zod.run({ value: input2[key], issues: [] }, ctx);
+ if (result instanceof Promise) {
+ proms.push(result.then((result2) => {
+ if (result2.issues.length) {
+ payload.issues.push(...prefixIssues(key, result2.issues));
+ }
+ payload.value[outKey] = result2.value;
+ }));
+ } else {
+ if (result.issues.length) {
+ payload.issues.push(...prefixIssues(key, result.issues));
+ }
+ payload.value[outKey] = result.value;
+ }
+ }
+ }
+ let unrecognized;
+ for (const key in input2) {
+ if (!recordKeys.has(key)) {
+ if (def.mode === "loose") {
+ if (key === "__proto__")
+ continue;
+ payload.value[key] = input2[key];
+ } else {
+ unrecognized = unrecognized ?? [];
+ unrecognized.push(key);
+ }
+ }
+ }
+ if (unrecognized && unrecognized.length > 0) {
+ payload.issues.push({
+ code: "unrecognized_keys",
+ input: input2,
+ inst,
+ keys: unrecognized,
+ continue: true
+ });
+ }
+ } else {
+ payload.value = memo2 ? memo2.alloc(inst, payload, {}, ctx) : {};
+ let unrecognized;
+ for (const key of Reflect.ownKeys(input2)) {
+ if (key === "__proto__")
+ continue;
+ if (!Object.prototype.propertyIsEnumerable.call(input2, key))
+ continue;
+ let keyResult = def.keyType._zod.run({ value: key, issues: [] }, ctx);
+ if (keyResult instanceof Promise) {
+ throw new Error("Async schemas not supported in object keys currently");
+ }
+ const checkNumericKey = typeof key === "string" && number.test(key) && keyResult.issues.length;
+ if (checkNumericKey) {
+ const retryResult = def.keyType._zod.run({ value: Number(key), issues: [] }, ctx);
+ if (retryResult instanceof Promise) {
+ throw new Error("Async schemas not supported in object keys currently");
+ }
+ if (retryResult.issues.length === 0) {
+ keyResult = retryResult;
+ }
+ }
+ if (keyResult.issues.length) {
+ if (def.mode === "loose") {
+ payload.value[key] = input2[key];
+ } else if (values) {
+ unrecognized = unrecognized ?? [];
+ unrecognized.push(key);
+ } else {
+ payload.issues.push({
+ code: "invalid_key",
+ origin: "record",
+ issues: keyResult.issues.map((iss) => finalizeIssue(iss, ctx, config())),
+ input: key,
+ path: [key],
+ inst
+ });
+ }
+ continue;
+ }
+ const outKey = keyResult.value;
+ if (outKey === "__proto__")
+ continue;
+ const result = def.valueType._zod.run({ value: input2[key], issues: [] }, ctx);
+ if (result instanceof Promise) {
+ proms.push(result.then((result2) => {
+ if (result2.issues.length) {
+ payload.issues.push(...prefixIssues(key, result2.issues));
+ }
+ payload.value[outKey] = result2.value;
+ }));
+ } else {
+ if (result.issues.length) {
+ payload.issues.push(...prefixIssues(key, result.issues));
+ }
+ payload.value[outKey] = result.value;
+ }
+ }
+ if (unrecognized && unrecognized.length > 0) {
+ payload.issues.push({
+ code: "unrecognized_keys",
+ input: input2,
+ inst,
+ keys: unrecognized,
+ continue: true
+ });
+ }
+ }
+ if (proms.length) {
+ return Promise.all(proms).then(() => payload);
+ }
+ return payload;
+ };
+});
+var $ZodMap = /* @__PURE__ */ $constructor("$ZodMap", (inst, def) => {
+ $ZodType.init(inst, def);
+ const memo2 = globalConfig.memoizer;
+ memo2?.attach(inst);
+ inst._zod.parse = (payload, ctx) => {
+ const input2 = payload.value;
+ if (!(input2 instanceof Map)) {
+ payload.issues.push({
+ expected: "map",
+ code: "invalid_type",
+ input: input2,
+ inst
+ });
+ return payload;
+ }
+ const proms = [];
+ payload.value = memo2 ? memo2.alloc(inst, payload, /* @__PURE__ */ new Map(), ctx) : /* @__PURE__ */ new Map();
+ const abortEarly = ctx?.abortEarly;
+ let seen = payload.issues.length;
+ for (const [key, value] of input2) {
+ if (abortEarly && payload.issues.length !== seen) {
+ if (aborted(payload, seen))
+ break;
+ seen = payload.issues.length;
+ }
+ const keyResult = def.keyType._zod.run({ value: key, issues: [] }, ctx);
+ const valueResult = def.valueType._zod.run({ value, issues: [] }, ctx);
+ if (keyResult instanceof Promise || valueResult instanceof Promise) {
+ proms.push(Promise.all([keyResult, valueResult]).then(([keyResult2, valueResult2]) => {
+ handleMapResult(keyResult2, valueResult2, payload, key, input2, inst, ctx);
+ }));
+ } else {
+ handleMapResult(keyResult, valueResult, payload, key, input2, inst, ctx);
+ }
+ }
+ if (proms.length)
+ return Promise.all(proms).then(() => payload);
+ return payload;
+ };
+ capSize(inst, mapSize);
+});
+function handleMapResult(keyResult, valueResult, final, key, input2, inst, ctx) {
+ if (keyResult.issues.length) {
+ if (propertyKeyTypes.has(typeof key)) {
+ final.issues.push(...prefixIssues(key, keyResult.issues));
+ } else {
+ final.issues.push({
+ code: "invalid_key",
+ origin: "map",
+ input: input2,
+ inst,
+ issues: keyResult.issues.map((iss) => finalizeIssue(iss, ctx, config()))
+ });
+ }
+ }
+ if (valueResult.issues.length) {
+ if (propertyKeyTypes.has(typeof key)) {
+ final.issues.push(...prefixIssues(key, valueResult.issues));
+ } else {
+ final.issues.push({
+ origin: "map",
+ code: "invalid_element",
+ input: input2,
+ inst,
+ key,
+ issues: valueResult.issues.map((iss) => finalizeIssue(iss, ctx, config()))
+ });
+ }
+ }
+ final.value.set(keyResult.value, valueResult.value);
+}
+__name(handleMapResult, "handleMapResult");
+var $ZodSet = /* @__PURE__ */ $constructor("$ZodSet", (inst, def) => {
+ $ZodType.init(inst, def);
+ const memo2 = globalConfig.memoizer;
+ memo2?.attach(inst);
+ inst._zod.parse = (payload, ctx) => {
+ const input2 = payload.value;
+ if (!(input2 instanceof Set)) {
+ payload.issues.push({
+ input: input2,
+ inst,
+ expected: "set",
+ code: "invalid_type"
+ });
+ return payload;
+ }
+ const proms = [];
+ payload.value = memo2 ? memo2.alloc(inst, payload, /* @__PURE__ */ new Set(), ctx) : /* @__PURE__ */ new Set();
+ const abortEarly = ctx?.abortEarly;
+ let seen = payload.issues.length;
+ for (const item of input2) {
+ if (abortEarly && payload.issues.length !== seen) {
+ if (aborted(payload, seen))
+ break;
+ seen = payload.issues.length;
+ }
+ const result = def.valueType._zod.run({ value: item, issues: [] }, ctx);
+ if (result instanceof Promise) {
+ proms.push(result.then((result2) => handleSetResult(result2, payload)));
+ } else
+ handleSetResult(result, payload);
+ }
+ if (proms.length)
+ return Promise.all(proms).then(() => payload);
+ return payload;
+ };
+ capSize(inst, setSize);
+});
+function handleSetResult(result, final) {
+ if (result.issues.length) {
+ final.issues.push(...result.issues);
+ }
+ final.value.add(result.value);
+}
+__name(handleSetResult, "handleSetResult");
+var $ZodEnum = /* @__PURE__ */ $constructor("$ZodEnum", (inst, def) => {
+ $ZodType.init(inst, def);
+ const values = getEnumValues(def.entries);
+ const valuesSet = new Set(values);
+ inst._zod.values = valuesSet;
+ defineLazyInternal(inst, "pattern", (zod) => {
+ const patternValues = getEnumValues(zod.def.entries).filter((k5) => propertyKeyTypes.has(typeof k5));
+ return new RegExp(patternValues.length ? `^(${patternValues.map((o3) => escapeRegex(o3.toString())).join("|")})$` : "^[^\\s\\S]$");
+ });
+ inst._zod.parse = (payload, _ctx) => {
+ const input2 = payload.value;
+ if (valuesSet.has(input2)) {
+ return payload;
+ }
+ payload.issues.push({
+ code: "invalid_value",
+ values,
+ input: input2,
+ inst
+ });
+ return payload;
+ };
+});
+var $ZodLiteral = /* @__PURE__ */ $constructor("$ZodLiteral", (inst, def) => {
+ $ZodType.init(inst, def);
+ const values = new Set(def.values);
+ inst._zod.values = values;
+ defineLazyInternal(inst, "pattern", (zod) => {
+ const vals = zod.def.values;
+ return new RegExp(vals.length ? `^(${vals.map((o3) => typeof o3 === "string" ? escapeRegex(o3) : o3 ? escapeRegex(o3.toString()) : String(o3)).join("|")})$` : "^[^\\s\\S]$");
+ });
+ inst._zod.parse = (payload, _ctx) => {
+ const input2 = payload.value;
+ if (values.has(input2)) {
+ return payload;
+ }
+ payload.issues.push({
+ code: "invalid_value",
+ values: def.values,
+ input: input2,
+ inst
+ });
+ return payload;
+ };
+});
+var $ZodFile = /* @__PURE__ */ $constructor("$ZodFile", (inst, def) => {
+ $ZodType.init(inst, def);
+ inst._zod.parse = (payload, _ctx) => {
+ const input2 = payload.value;
+ if (input2 instanceof File)
+ return payload;
+ payload.issues.push({
+ expected: "file",
+ code: "invalid_type",
+ input: input2,
+ inst
+ });
+ return payload;
+ };
+});
+var $ZodTransform = /* @__PURE__ */ $constructor("$ZodTransform", (inst, def) => {
+ $ZodType.init(inst, def);
+ inst._zod.optin = "optional";
+ globalConfig.memoizer?.guard(inst);
+ inst._zod.parse = (payload, ctx) => {
+ if (ctx.direction === "backward") {
+ throw new $ZodEncodeError(inst.constructor.name);
+ }
+ const _out = def.transform(payload.value, payload);
+ if (ctx.async) {
+ const output2 = _out instanceof Promise ? _out : Promise.resolve(_out);
+ return output2.then((output3) => {
+ payload.value = output3;
+ return payload;
+ });
+ }
+ if (_out instanceof Promise) {
+ throw new $ZodAsyncError();
+ }
+ payload.value = _out;
+ return payload;
+ };
+});
+function handleOptionalResult(payload, result) {
+ payload.value = result.issues.length ? void 0 : result.value;
+ return payload;
+}
+__name(handleOptionalResult, "handleOptionalResult");
+var $ZodOptional = /* @__PURE__ */ $constructor("$ZodOptional", (inst, def) => {
+ $ZodType.init(inst, def);
+ defineLazyInternal(inst, "optin", (zod) => zod.def.innerType._zod.optin === "defaulted" ? "defaulted" : "optional");
+ inst._zod.optout = "optional";
+ defineLazyInternal(inst, "values", (zod) => {
+ const values = zod.def.innerType._zod.values;
+ return values ? /* @__PURE__ */ new Set([...values, void 0]) : void 0;
+ });
+ defineLazyInternal(inst, "pattern", (zod) => {
+ const pattern = zod.def.innerType._zod.pattern;
+ return pattern ? new RegExp(`^(${cleanRegex(pattern.source)})?$`) : void 0;
+ });
+ inst._zod.parse = (payload, ctx) => {
+ if (payload.value === void 0) {
+ if (def.innerType._zod.optin !== "defaulted")
+ return payload;
+ const result = def.innerType._zod.run({ value: payload.value, issues: [] }, ctx);
+ if (result instanceof Promise)
+ return result.then((result2) => handleOptionalResult(payload, result2));
+ return handleOptionalResult(payload, result);
+ }
+ return def.innerType._zod.run(payload, ctx);
+ };
+});
+var $ZodExactOptional = /* @__PURE__ */ $constructor("$ZodExactOptional", (inst, def) => {
+ $ZodOptional.init(inst, def);
+ defineLazyInternal(inst, "values", (zod) => zod.def.innerType._zod.values);
+ defineLazyInternal(inst, "pattern", (zod) => zod.def.innerType._zod.pattern);
+ inst._zod.parse = (payload, ctx) => {
+ return def.innerType._zod.run(payload, ctx);
+ };
+});
+var $ZodNullable = /* @__PURE__ */ $constructor("$ZodNullable", (inst, def) => {
+ $ZodType.init(inst, def);
+ defineLazyInternal(inst, "optin", (zod) => zod.def.innerType._zod.optin);
+ defineLazyInternal(inst, "optout", (zod) => zod.def.innerType._zod.optout);
+ defineLazyInternal(inst, "pattern", (zod) => {
+ const pattern = zod.def.innerType._zod.pattern;
+ return pattern ? new RegExp(`^(${cleanRegex(pattern.source)}|null)$`) : void 0;
+ });
+ defineLazyInternal(inst, "values", (zod) => {
+ return zod.def.innerType._zod.values ? /* @__PURE__ */ new Set([...zod.def.innerType._zod.values, null]) : void 0;
+ });
+ inst._zod.parse = (payload, ctx) => {
+ if (payload.value === null)
+ return payload;
+ return def.innerType._zod.run(payload, ctx);
+ };
+});
+var $ZodDefault = /* @__PURE__ */ $constructor("$ZodDefault", (inst, def) => {
+ $ZodType.init(inst, def);
+ inst._zod.optin = "defaulted";
+ defineLazyInternal(inst, "values", (zod) => zod.def.innerType._zod.values);
+ inst._zod.parse = (payload, ctx) => {
+ if (ctx.direction === "backward") {
+ return def.innerType._zod.run(payload, ctx);
+ }
+ if (payload.value === void 0) {
+ payload.value = def.defaultValue;
+ return payload;
+ }
+ const result = def.innerType._zod.run(payload, ctx);
+ if (result instanceof Promise) {
+ return result.then((result2) => handleDefaultResult(result2, def));
+ }
+ return handleDefaultResult(result, def);
+ };
+});
+function handleDefaultResult(payload, def) {
+ if (payload.value === void 0) {
+ payload.value = def.defaultValue;
+ }
+ return payload;
+}
+__name(handleDefaultResult, "handleDefaultResult");
+var $ZodPrefault = /* @__PURE__ */ $constructor("$ZodPrefault", (inst, def) => {
+ $ZodType.init(inst, def);
+ inst._zod.optin = "defaulted";
+ defineLazyInternal(inst, "values", (zod) => zod.def.innerType._zod.values);
+ inst._zod.parse = (payload, ctx) => {
+ if (ctx.direction === "backward") {
+ return def.innerType._zod.run(payload, ctx);
+ }
+ if (payload.value === void 0) {
+ payload.value = def.defaultValue;
+ }
+ return def.innerType._zod.run(payload, ctx);
+ };
+});
+var $ZodNonOptional = /* @__PURE__ */ $constructor("$ZodNonOptional", (inst, def) => {
+ $ZodType.init(inst, def);
+ defineLazyInternal(inst, "values", (zod) => {
+ const v = zod.def.innerType._zod.values;
+ return v ? new Set([...v].filter((x) => x !== void 0)) : void 0;
+ });
+ inst._zod.parse = (payload, ctx) => {
+ const result = def.innerType._zod.run(payload, ctx);
+ if (result instanceof Promise) {
+ return result.then((result2) => handleNonOptionalResult(result2, inst));
+ }
+ return handleNonOptionalResult(result, inst);
+ };
+});
+function handleNonOptionalResult(payload, inst) {
+ if (!payload.issues.length && payload.value === void 0) {
+ payload.issues.push({
+ code: "invalid_type",
+ expected: "nonoptional",
+ input: payload.value,
+ inst
+ });
+ }
+ return payload;
+}
+__name(handleNonOptionalResult, "handleNonOptionalResult");
+var $ZodSuccess = /* @__PURE__ */ $constructor("$ZodSuccess", (inst, def) => {
+ $ZodType.init(inst, def);
+ inst._zod.parse = (payload, ctx) => {
+ if (ctx.direction === "backward") {
+ throw new $ZodEncodeError("ZodSuccess");
+ }
+ const result = def.innerType._zod.run(payload, ctx);
+ if (result instanceof Promise) {
+ return result.then((result2) => {
+ payload.value = result2.issues.length === 0;
+ return payload;
+ });
+ }
+ payload.value = result.issues.length === 0;
+ return payload;
+ };
+});
+function handleCatchResult(payload, result, def, ctx) {
+ if (!result.issues.length) {
+ payload.value = result.value;
+ if (result.memo)
+ payload.memo = true;
+ return payload;
+ }
+ payload.value = def.catchValue({
+ ...result,
+ value: payload.value,
+ error: {
+ issues: result.issues.map((iss) => finalizeIssue(iss, ctx, config()))
+ },
+ input: payload.value
+ });
+ return payload;
+}
+__name(handleCatchResult, "handleCatchResult");
+var $ZodCatch = /* @__PURE__ */ $constructor("$ZodCatch", (inst, def) => {
+ $ZodType.init(inst, def);
+ defineLazyInternal(inst, "optin", (zod) => zod.def.innerType._zod.optin === "defaulted" ? "defaulted" : "optional");
+ defineLazyInternal(inst, "optout", (zod) => zod.def.innerType._zod.optout);
+ defineLazyInternal(inst, "values", (zod) => zod.def.innerType._zod.values);
+ inst._zod.parse = (payload, ctx) => {
+ if (ctx.direction === "backward") {
+ return def.innerType._zod.run(payload, ctx);
+ }
+ const result = def.innerType._zod.run({ value: payload.value, issues: [] }, ctx);
+ if (result instanceof Promise) {
+ return result.then((result2) => handleCatchResult(payload, result2, def, ctx));
+ }
+ return handleCatchResult(payload, result, def, ctx);
+ };
+});
+var $ZodNaN = /* @__PURE__ */ $constructor("$ZodNaN", (inst, def) => {
+ $ZodType.init(inst, def);
+ inst._zod.parse = (payload, _ctx) => {
+ if (typeof payload.value !== "number" || !Number.isNaN(payload.value)) {
+ payload.issues.push({
+ input: payload.value,
+ inst,
+ expected: "nan",
+ code: "invalid_type"
+ });
+ return payload;
+ }
+ return payload;
+ };
+});
+var $ZodPipe = /* @__PURE__ */ $constructor("$ZodPipe", (inst, def) => {
+ $ZodType.init(inst, def);
+ defineLazyInternal(inst, "values", (zod) => zod.def.in._zod.values);
+ defineLazyInternal(inst, "optin", (zod) => zod.def.in._zod.optin);
+ defineLazyInternal(inst, "optout", (zod) => zod.def.out._zod.optout);
+ defineLazyInternal(inst, "propValues", (zod) => zod.def.in._zod.propValues);
+ inst._zod.parse = (payload, ctx) => {
+ if (ctx.direction === "backward") {
+ const right = def.out._zod.run(payload, ctx);
+ if (right instanceof Promise) {
+ return right.then((right2) => handlePipeResult(right2, def.in, ctx));
+ }
+ return handlePipeResult(right, def.in, ctx);
+ }
+ const left = def.in._zod.run(payload, ctx);
+ if (left instanceof Promise) {
+ return left.then((left2) => handlePipeResult(left2, def.out, ctx));
+ }
+ return handlePipeResult(left, def.out, ctx);
+ };
+});
+function handlePipeResult(left, next, ctx) {
+ if (left.issues.some((iss) => iss.code !== "unrecognized_keys")) {
+ left.aborted = true;
+ return left;
+ }
+ return next._zod.run({ value: left.value, issues: left.issues }, ctx);
+}
+__name(handlePipeResult, "handlePipeResult");
+var $ZodCodec = /* @__PURE__ */ $constructor("$ZodCodec", (inst, def) => {
+ $ZodType.init(inst, def);
+ defineLazyInternal(inst, "values", (zod) => zod.def.in._zod.values);
+ defineLazyInternal(inst, "optin", (zod) => zod.def.in._zod.optin);
+ defineLazyInternal(inst, "optout", (zod) => zod.def.out._zod.optout);
+ defineLazyInternal(inst, "propValues", (zod) => zod.def.in._zod.propValues);
+ inst._zod.parse = (payload, ctx) => {
+ const direction = ctx.direction || "forward";
+ if (direction === "forward") {
+ const left = def.in._zod.run(payload, ctx);
+ if (left instanceof Promise) {
+ return left.then((left2) => handleCodecAResult(left2, def, ctx));
+ }
+ return handleCodecAResult(left, def, ctx);
+ } else {
+ const right = def.out._zod.run(payload, ctx);
+ if (right instanceof Promise) {
+ return right.then((right2) => handleCodecAResult(right2, def, ctx));
+ }
+ return handleCodecAResult(right, def, ctx);
+ }
+ };
+});
+function handleCodecAResult(result, def, ctx) {
+ if (result.issues.length) {
+ result.aborted = true;
+ return result;
+ }
+ const direction = ctx.direction || "forward";
+ if (direction === "forward") {
+ const transformed = def.transform(result.value, result);
+ if (transformed instanceof Promise) {
+ return transformed.then((value) => handleCodecTxResult(result, value, def.out, ctx));
+ }
+ return handleCodecTxResult(result, transformed, def.out, ctx);
+ } else {
+ const transformed = def.reverseTransform(result.value, result);
+ if (transformed instanceof Promise) {
+ return transformed.then((value) => handleCodecTxResult(result, value, def.in, ctx));
+ }
+ return handleCodecTxResult(result, transformed, def.in, ctx);
+ }
+}
+__name(handleCodecAResult, "handleCodecAResult");
+function handleCodecTxResult(left, value, nextSchema, ctx) {
+ if (left.issues.length) {
+ left.aborted = true;
+ return left;
+ }
+ return nextSchema._zod.run({ value, issues: left.issues }, ctx);
+}
+__name(handleCodecTxResult, "handleCodecTxResult");
+var $ZodPreprocess = /* @__PURE__ */ $constructor("$ZodPreprocess", (inst, def) => {
+ $ZodPipe.init(inst, def);
+});
+var $ZodReadonly = /* @__PURE__ */ $constructor("$ZodReadonly", (inst, def) => {
+ $ZodType.init(inst, def);
+ defineLazyInternal(inst, "propValues", (zod) => zod.def.innerType._zod.propValues);
+ defineLazyInternal(inst, "values", (zod) => zod.def.innerType._zod.values);
+ defineLazyInternal(inst, "optin", (zod) => zod.def.innerType?._zod?.optin);
+ defineLazyInternal(inst, "optout", (zod) => zod.def.innerType?._zod?.optout);
+ inst._zod.parse = (payload, ctx) => {
+ if (ctx.direction === "backward") {
+ return def.innerType._zod.run(payload, ctx);
+ }
+ const result = def.innerType._zod.run(payload, ctx);
+ if (result instanceof Promise) {
+ return result.then(handleReadonlyResult);
+ }
+ return handleReadonlyResult(result);
+ };
+});
+function handleReadonlyResult(payload) {
+ if (!payload.memo)
+ payload.value = Object.freeze(payload.value);
+ return payload;
+}
+__name(handleReadonlyResult, "handleReadonlyResult");
+function leafPattern(schema2) {
+ const def = schema2._zod.def;
+ let pattern = def.pattern;
+ let isInt = !!def.format?.includes("int");
+ let minimum;
+ let maximum;
+ for (const ch of def.checks ?? []) {
+ const d5 = ch._zod.def;
+ if (d5.pattern)
+ pattern = d5.pattern;
+ isInt || (isInt = !!d5.format?.includes("int"));
+ const lo = d5.minimum ?? d5.length;
+ const hi = d5.maximum ?? d5.length;
+ if (lo !== void 0 && (minimum === void 0 || lo > minimum))
+ minimum = lo;
+ if (hi !== void 0 && (maximum === void 0 || hi < maximum))
+ maximum = hi;
+ }
+ if (pattern)
+ return pattern.source;
+ if (minimum !== void 0 && maximum !== void 0 && minimum > maximum)
+ return "(?!)";
+ if (minimum !== void 0 || maximum !== void 0)
+ return string({ minimum, maximum }).source;
+ const own2 = schema2._zod.pattern;
+ return (isInt && own2 === number ? integer : own2)?.source;
+}
+__name(leafPattern, "leafPattern");
+function partPattern(schema2) {
+ const def = schema2._zod.def;
+ const own2 = schema2._zod.pattern?.source;
+ const inner = def.innerType ?? schema2._zod.innerType;
+ if (inner) {
+ const before = inner._zod.pattern?.source;
+ const after = partPattern(inner);
+ if (own2 && before && after && after !== before) {
+ return own2.replace(cleanRegex(before), () => cleanRegex(after));
+ }
+ return own2;
+ }
+ if (def.options) {
+ const sources = def.options.map(partPattern);
+ if (sources.every(Boolean))
+ return `^(${sources.map((s2) => cleanRegex(s2)).join("|")})$`;
+ }
+ return leafPattern(schema2);
+}
+__name(partPattern, "partPattern");
+var $ZodTemplateLiteral = /* @__PURE__ */ $constructor("$ZodTemplateLiteral", (inst, def) => {
+ $ZodType.init(inst, def);
+ const regexParts = [];
+ for (const part of def.parts) {
+ if (typeof part === "object" && part !== null) {
+ const source = partPattern(part);
+ if (!source) {
+ throw new Error(`Invalid template literal part, no pattern found: ${[...part._zod.traits].shift()}`);
+ }
+ regexParts.push(cleanRegex(source));
+ } else if (part === null || primitiveTypes.has(typeof part)) {
+ regexParts.push(escapeRegex(`${part}`));
+ } else {
+ throw new Error(`Invalid template literal part: ${part}`);
+ }
+ }
+ inst._zod.pattern = new RegExp(`^${regexParts.join("")}$`);
+ inst._zod.parse = (payload, _ctx) => {
+ if (typeof payload.value !== "string") {
+ payload.issues.push({
+ input: payload.value,
+ inst,
+ expected: "string",
+ code: "invalid_type"
+ });
+ return payload;
+ }
+ inst._zod.pattern.lastIndex = 0;
+ if (!inst._zod.pattern.test(payload.value)) {
+ payload.issues.push({
+ input: payload.value,
+ inst,
+ code: "invalid_format",
+ format: def.format ?? "template_literal",
+ pattern: inst._zod.pattern.source
+ });
+ return payload;
+ }
+ return payload;
+ };
+});
+var $ZodFunction = /* @__PURE__ */ $constructor("$ZodFunction", (inst, def) => {
+ $ZodType.init(inst, def);
+ Object.defineProperty(inst, "_def", { value: def });
+ inst._zod.def = def;
+ inst.implement = (func) => {
+ if (typeof func !== "function") {
+ throw new Error("implement() must be called with a function");
+ }
+ return Object.defineProperty(function(...args) {
+ const parsedArgs = inst._def.input ? parse(inst._def.input, args) : args;
+ const result = Reflect.apply(func, this, parsedArgs);
+ if (inst._def.output) {
+ return parse(inst._def.output, result);
+ }
+ return result;
+ }, "_zod", { value: inst._zod, enumerable: false });
+ };
+ inst.implementAsync = (func) => {
+ if (typeof func !== "function") {
+ throw new Error("implementAsync() must be called with a function");
+ }
+ return Object.defineProperty(async function(...args) {
+ const parsedArgs = inst._def.input ? await parseAsync(inst._def.input, args) : args;
+ const result = await Reflect.apply(func, this, parsedArgs);
+ if (inst._def.output) {
+ return await parseAsync(inst._def.output, result);
+ }
+ return result;
+ }, "_zod", { value: inst._zod, enumerable: false });
+ };
+ inst._zod.parse = (payload, _ctx) => {
+ if (typeof payload.value !== "function") {
+ payload.issues.push({
+ code: "invalid_type",
+ expected: "function",
+ input: payload.value,
+ inst
+ });
+ return payload;
+ }
+ const hasPromiseOutput = inst._def.output && inst._def.output._zod.def.type === "promise";
+ if (hasPromiseOutput) {
+ payload.value = inst.implementAsync(payload.value);
+ } else {
+ payload.value = inst.implement(payload.value);
+ }
+ return payload;
+ };
+ inst.input = (...args) => {
+ const F = inst.constructor;
+ if (Array.isArray(args[0])) {
+ return new F({
+ type: "function",
+ input: new $ZodTuple({
+ type: "tuple",
+ items: args[0],
+ rest: args[1]
+ }),
+ output: inst._def.output
+ });
+ }
+ return new F({
+ type: "function",
+ input: args[0],
+ output: inst._def.output
+ });
+ };
+ inst.output = (output2) => {
+ const F = inst.constructor;
+ return new F({
+ type: "function",
+ input: inst._def.input,
+ output: output2
+ });
+ };
+ return inst;
+});
+var $ZodPromise = /* @__PURE__ */ $constructor("$ZodPromise", (inst, def) => {
+ $ZodType.init(inst, def);
+ inst._zod.parse = (payload, ctx) => {
+ return Promise.resolve(payload.value).then((inner) => def.innerType._zod.run({ value: inner, issues: [] }, ctx));
+ };
+});
+var $ZodLazy = /* @__PURE__ */ $constructor("$ZodLazy", (inst, def) => {
+ $ZodType.init(inst, def);
+ defineLazy(inst._zod, "innerType", () => {
+ const d5 = def;
+ if (!d5._cachedInner)
+ d5._cachedInner = def.getter();
+ return d5._cachedInner;
+ });
+ defineLazyInternal(inst, "pattern", (zod) => zod.innerType?._zod?.pattern);
+ defineLazyInternal(inst, "propValues", (zod) => zod.innerType?._zod?.propValues);
+ defineLazyInternal(inst, "optin", (zod) => zod.innerType?._zod?.optin ?? void 0);
+ defineLazyInternal(inst, "optout", (zod) => zod.innerType?._zod?.optout ?? void 0);
+ inst._zod.parse = (payload, ctx) => {
+ const inner = inst._zod.innerType;
+ return inner._zod.run(payload, ctx);
+ };
+});
+var $ZodCustom = /* @__PURE__ */ $constructor("$ZodCustom", (inst, def) => {
+ $ZodCheck.init(inst, def);
+ $ZodType.init(inst, def);
+ inst._zod.parse = (payload, _) => {
+ return payload;
+ };
+ inst._zod.check = (payload) => {
+ const input2 = payload.value;
+ const r5 = def.fn(input2);
+ if (r5 instanceof Promise) {
+ return r5.then((r6) => handleRefineResult(r6, payload, input2, inst));
+ }
+ handleRefineResult(r5, payload, input2, inst);
+ return;
+ };
+});
+function handleRefineResult(result, payload, input2, inst) {
+ if (!result) {
+ const _iss = {
+ code: "custom",
+ input: input2,
+ inst,
+ // incorporates params.error into issue reporting
+ path: [...inst._zod.def.path ?? []],
+ // incorporates params.error into issue reporting
+ continue: !inst._zod.def.abort
+ // params: inst._zod.def.params,
+ };
+ if (inst._zod.def.params)
+ _iss.params = inst._zod.def.params;
+ payload.issues.push(issue(_iss));
+ }
+}
+__name(handleRefineResult, "handleRefineResult");
+
+// ../../node_modules/.pnpm/zod@4.6.7/node_modules/zod/v4/core/memoizer.js
+var $ZodCyclicError = class extends Error {
+ static {
+ __name(this, "$ZodCyclicError");
+ }
+ constructor() {
+ super(`Cannot parse a reference cycle that closes through a transform`);
+ this.name = "ZodCyclicError";
+ }
+};
+var STATE = "~memo";
+var NO_ISSUES = [];
+function isRef(value) {
+ return value !== null && typeof value === "object";
+}
+__name(isRef, "isRef");
+function cloneIssues(issues) {
+ return issues.map((iss) => iss.path ? { ...iss, path: iss.path.slice() } : { ...iss });
+}
+__name(cloneIssues, "cloneIssues");
+var recursive = /* @__PURE__ */ new WeakMap();
+var NONE = 0;
+var ASSUMED = 1;
+var PROVEN = 2;
+function isRecursive(inst, stack, resolve) {
+ const cached2 = recursive.get(inst);
+ if (cached2 !== void 0)
+ return cached2 ? PROVEN : NONE;
+ if (stack.has(inst))
+ return PROVEN;
+ stack.add(inst);
+ let result = NONE;
+ const check2 = /* @__PURE__ */ __name((child) => {
+ if (result !== PROVEN && child?._zod) {
+ const answer = isRecursive(child, stack, resolve);
+ if (answer > result)
+ result = answer;
+ }
+ }, "check");
+ const shape = /* @__PURE__ */ __name((sh, spread) => {
+ let answer = NONE;
+ for (const key of Reflect.ownKeys(sh)) {
+ const desc = Object.getOwnPropertyDescriptor(sh, key);
+ if (spread && !desc.enumerable)
+ continue;
+ const child = desc.get ? ASSUMED : desc.value?._zod ? isRecursive(desc.value, stack, resolve) : NONE;
+ if (child > answer)
+ answer = child;
+ }
+ return answer;
+ }, "shape");
+ const merge2 = /* @__PURE__ */ __name((answer) => {
+ if (answer > result)
+ result = answer;
+ }, "merge");
+ const def = inst._zod.def;
+ const kind = def.type;
+ switch (kind) {
+ case "object": {
+ const raw4 = rawShape(def);
+ merge2(raw4 ? shape(raw4, true) : ASSUMED);
+ check2(def.catchall);
+ break;
+ }
+ case "array":
+ check2(def.element);
+ break;
+ case "tuple":
+ for (const el of def.items)
+ check2(el);
+ check2(def.rest);
+ break;
+ case "record":
+ case "map":
+ check2(def.keyType);
+ check2(def.valueType);
+ break;
+ case "set":
+ check2(def.valueType);
+ break;
+ case "union":
+ for (const el of def.options)
+ check2(el);
+ break;
+ case "intersection":
+ check2(def.left);
+ check2(def.right);
+ break;
+ case "optional":
+ case "nullable":
+ case "default":
+ case "prefault":
+ case "catch":
+ case "readonly":
+ case "nonoptional":
+ case "promise":
+ case "success":
+ check2(def.innerType);
+ break;
+ case "pipe":
+ check2(def.in);
+ check2(def.out);
+ break;
+ case "function":
+ check2(def.input);
+ check2(def.output);
+ break;
+ // `$ZodLazy` caches its inner on the def, so a resolved edge is followed exactly
+ case "lazy": {
+ const inner = def._cachedInner ?? (resolve ? inst._zod.innerType : void 0);
+ merge2(inner ? isRecursive(inner, stack, false) : ASSUMED);
+ break;
+ }
+ // a leaf by choice: `parts` are regex fragments, not data positions
+ case "template_literal":
+ // leaves
+ case "string":
+ case "number":
+ case "int":
+ case "boolean":
+ case "bigint":
+ case "symbol":
+ case "undefined":
+ case "null":
+ case "void":
+ case "never":
+ case "any":
+ case "unknown":
+ case "date":
+ case "nan":
+ case "enum":
+ case "literal":
+ case "file":
+ case "transform":
+ case "custom":
+ break;
+ default: {
+ kind;
+ for (const key in def) {
+ const desc = Object.getOwnPropertyDescriptor(def, key);
+ if (!desc || desc.get)
+ continue;
+ const value = desc.value;
+ if (!value || typeof value !== "object")
+ continue;
+ if (value._zod)
+ check2(value);
+ else if (Array.isArray(value))
+ for (const el of value)
+ check2(el);
+ }
+ }
+ }
+ stack.delete(inst);
+ return settle(inst, result);
+}
+__name(isRecursive, "isRecursive");
+function settle(inst, answer) {
+ if (answer !== ASSUMED)
+ recursive.set(inst, answer === PROVEN);
+ return answer;
+}
+__name(settle, "settle");
+function isRecursiveSchema(inst) {
+ return isRecursive(inst, /* @__PURE__ */ new Set(), true) !== NONE;
+}
+__name(isRecursiveSchema, "isRecursiveSchema");
+function bucketFor(state2, inst) {
+ let bucket = state2.buckets.get(inst);
+ if (!bucket) {
+ bucket = /* @__PURE__ */ new WeakMap();
+ state2.buckets.set(inst, bucket);
+ }
+ return bucket;
+}
+__name(bucketFor, "bucketFor");
+var handoff;
+var open = [];
+var memo = {
+ alloc(_inst, payload, empty4) {
+ const bucket = handoff;
+ if (!bucket)
+ return empty4;
+ handoff = void 0;
+ const entry = { value: empty4, issues: null };
+ bucket.set(payload.value, entry);
+ open.push(entry);
+ return empty4;
+ },
+ guard(inst) {
+ var _a4;
+ (_a4 = inst._zod).deferred ?? (_a4.deferred = []);
+ inst._zod.deferred.push(() => {
+ const base = inst._zod.parse;
+ const wrapped = /* @__PURE__ */ __name((payload, ctx) => {
+ if (ctx.direction !== "backward" && isBackEdge(ctx, payload.value))
+ throw new $ZodCyclicError();
+ return base(payload, ctx);
+ }, "wrapped");
+ inst._zod.parse = wrapped;
+ if (inst._zod.run === base)
+ inst._zod.run = wrapped;
+ });
+ },
+ attach(inst) {
+ var _a4;
+ let isRecursiveInst;
+ let rechecked = false;
+ let lastCtx;
+ let lastBucket;
+ (_a4 = inst._zod).deferred ?? (_a4.deferred = []);
+ inst._zod.deferred.push(() => {
+ const base = inst._zod.parse;
+ const wrapped = /* @__PURE__ */ __name((payload, ctx) => {
+ if (isRecursiveInst === void 0) {
+ const walked = isRecursive(inst, /* @__PURE__ */ new Set(), false);
+ if (walked === NONE) {
+ inst._zod.parse = base;
+ if (inst._zod.run === wrapped)
+ inst._zod.run = base;
+ return base(payload, ctx);
+ }
+ if (walked === PROVEN || rechecked)
+ isRecursiveInst = true;
+ else
+ rechecked = true;
+ }
+ const input2 = payload.value;
+ if (!isRef(input2))
+ return base(payload, ctx);
+ let state2 = ctx[STATE];
+ if (!state2) {
+ state2 = { buckets: /* @__PURE__ */ new WeakMap(), backEdges: void 0 };
+ ctx[STATE] = state2;
+ }
+ let bucket;
+ if (lastCtx === ctx) {
+ bucket = lastBucket;
+ } else {
+ bucket = bucketFor(state2, inst);
+ lastCtx = ctx;
+ lastBucket = bucket;
+ }
+ const hit = bucket.get(input2);
+ if (hit) {
+ payload.value = hit.value;
+ if (hit.issues) {
+ if (hit.issues.length)
+ payload.issues.push(...cloneIssues(hit.issues));
+ } else {
+ payload.memo = true;
+ state2.backEdges ?? (state2.backEdges = /* @__PURE__ */ new WeakSet());
+ state2.backEdges.add(hit.value);
+ }
+ return payload;
+ }
+ handoff = bucket;
+ const depth = open.length;
+ const result = base(payload, ctx);
+ handoff = void 0;
+ const entry = open.length > depth ? open.pop() : void 0;
+ if (result instanceof Promise) {
+ return result.then((r5) => {
+ if (entry)
+ entry.issues = r5.issues.length ? cloneIssues(r5.issues) : NO_ISSUES;
+ return r5;
+ });
+ }
+ if (entry)
+ entry.issues = result.issues.length ? cloneIssues(result.issues) : NO_ISSUES;
+ return result;
+ }, "wrapped");
+ inst._zod.parse = wrapped;
+ if (inst._zod.run === base)
+ inst._zod.run = wrapped;
+ });
+ }
+};
+function memoizer() {
+ return memo;
+}
+__name(memoizer, "memoizer");
+function isBackEdge(ctx, value) {
+ const backEdges = ctx[STATE]?.backEdges;
+ return backEdges !== void 0 && isRef(value) && backEdges.has(value);
+}
+__name(isBackEdge, "isBackEdge");
+
+// ../../node_modules/.pnpm/zod@4.6.7/node_modules/zod/v4/locales/index.js
+var locales_exports = {};
+__export(locales_exports, {
+ ar: () => ar_default,
+ az: () => az_default,
+ be: () => be_default,
+ bg: () => bg_default,
+ bn: () => bn_default,
+ ca: () => ca_default,
+ ckb: () => ckb_default,
+ cs: () => cs_default,
+ da: () => da_default,
+ de: () => de_default,
+ el: () => el_default,
+ en: () => en_default,
+ eo: () => eo_default,
+ es: () => es_default,
+ fa: () => fa_default,
+ fi: () => fi_default,
+ fr: () => fr_default,
+ frCA: () => fr_CA_default,
+ gu: () => gu_default,
+ he: () => he_default,
+ hi: () => hi_default,
+ hr: () => hr_default,
+ hu: () => hu_default,
+ hy: () => hy_default,
+ id: () => id_default,
+ is: () => is_default,
+ it: () => it_default,
+ ja: () => ja_default,
+ ka: () => ka_default,
+ kh: () => kh_default,
+ km: () => km_default,
+ kn: () => kn_default,
+ ko: () => ko_default,
+ lt: () => lt_default,
+ mk: () => mk_default,
+ ms: () => ms_default,
+ ne: () => ne_default,
+ nl: () => nl_default,
+ nn: () => nn_default,
+ no: () => no_default,
+ ota: () => ota_default,
+ pl: () => pl_default,
+ ps: () => ps_default,
+ pt: () => pt_default,
+ ptBR: () => pt_BR_default,
+ ro: () => ro_default,
+ ru: () => ru_default,
+ sk: () => sk_default,
+ sl: () => sl_default,
+ sv: () => sv_default,
+ ta: () => ta_default,
+ tg: () => tg_default,
+ th: () => th_default,
+ tk: () => tk_default,
+ tr: () => tr_default,
+ ua: () => ua_default,
+ uk: () => uk_default,
+ ur: () => ur_default,
+ uz: () => uz_default,
+ vi: () => vi_default,
+ yo: () => yo_default,
+ zhCN: () => zh_CN_default,
+ zhTW: () => zh_TW_default
+});
+
+// ../../node_modules/.pnpm/zod@4.6.7/node_modules/zod/v4/locales/ar.js
+var error = /* @__PURE__ */ __name(() => {
+ const Sizable = {
+ string: { unit: "\u062D\u0631\u0641", verb: "\u0623\u0646 \u064A\u062D\u0648\u064A" },
+ file: { unit: "\u0628\u0627\u064A\u062A", verb: "\u0623\u0646 \u064A\u062D\u0648\u064A" },
+ array: { unit: "\u0639\u0646\u0635\u0631", verb: "\u0623\u0646 \u064A\u062D\u0648\u064A" },
+ set: { unit: "\u0639\u0646\u0635\u0631", verb: "\u0623\u0646 \u064A\u062D\u0648\u064A" },
+ map: { unit: "\u0639\u0646\u0635\u0631", verb: "\u0623\u0646 \u064A\u062D\u0648\u064A" }
+ };
+ function getSizing(origin) {
+ return Sizable[origin] ?? null;
+ }
+ __name(getSizing, "getSizing");
+ const FormatDictionary = {
+ regex: "\u0645\u062F\u062E\u0644",
+ email: "\u0628\u0631\u064A\u062F \u0625\u0644\u0643\u062A\u0631\u0648\u0646\u064A",
+ url: "\u0631\u0627\u0628\u0637",
+ emoji: "\u0625\u064A\u0645\u0648\u062C\u064A",
+ uuid: "UUID",
+ uuidv4: "UUIDv4",
+ uuidv6: "UUIDv6",
+ nanoid: "nanoid",
+ guid: "GUID",
+ cuid: "cuid",
+ cuid2: "cuid2",
+ ulid: "ULID",
+ xid: "XID",
+ ksuid: "KSUID",
+ datetime: "\u062A\u0627\u0631\u064A\u062E \u0648\u0648\u0642\u062A \u0628\u0645\u0639\u064A\u0627\u0631 ISO",
+ date: "\u062A\u0627\u0631\u064A\u062E \u0628\u0645\u0639\u064A\u0627\u0631 ISO",
+ time: "\u0648\u0642\u062A \u0628\u0645\u0639\u064A\u0627\u0631 ISO",
+ duration: "\u0645\u062F\u0629 \u0628\u0645\u0639\u064A\u0627\u0631 ISO",
+ ipv4: "\u0639\u0646\u0648\u0627\u0646 IPv4",
+ ipv6: "\u0639\u0646\u0648\u0627\u0646 IPv6",
+ mac: "\u0639\u0646\u0648\u0627\u0646 MAC",
+ cidrv4: "\u0645\u062F\u0649 \u0639\u0646\u0627\u0648\u064A\u0646 \u0628\u0635\u064A\u063A\u0629 IPv4",
+ cidrv6: "\u0645\u062F\u0649 \u0639\u0646\u0627\u0648\u064A\u0646 \u0628\u0635\u064A\u063A\u0629 IPv6",
+ base64: "\u0646\u064E\u0635 \u0628\u062A\u0631\u0645\u064A\u0632 base64-encoded",
+ base64url: "\u0646\u064E\u0635 \u0628\u062A\u0631\u0645\u064A\u0632 base64url-encoded",
+ json_string: "\u0646\u064E\u0635 \u0639\u0644\u0649 \u0647\u064A\u0626\u0629 JSON",
+ e164: "\u0631\u0642\u0645 \u0647\u0627\u062A\u0641 \u0628\u0645\u0639\u064A\u0627\u0631 E.164",
+ credit_card: "\u0631\u0642\u0645 \u0628\u0637\u0627\u0642\u0629 \u0627\u0644\u0627\u0626\u062A\u0645\u0627\u0646",
+ currency_code: "\u0631\u0645\u0632 \u0627\u0644\u0639\u0645\u0644\u0629",
+ iban: "IBAN",
+ jwt: "JWT",
+ template_literal: "\u0645\u062F\u062E\u0644"
+ };
+ const TypeDictionary = {
+ nan: "NaN"
+ };
+ return (issue2) => {
+ switch (issue2.code) {
+ case "invalid_type": {
+ const expected = TypeDictionary[issue2.expected] ?? issue2.expected;
+ const receivedType = parsedType(issue2.input);
+ const received = TypeDictionary[receivedType] ?? receivedType;
+ if (/^[A-Z]/.test(issue2.expected)) {
+ return `\u0645\u062F\u062E\u0644\u0627\u062A \u063A\u064A\u0631 \u0645\u0642\u0628\u0648\u0644\u0629: \u064A\u0641\u062A\u0631\u0636 \u0625\u062F\u062E\u0627\u0644 instanceof ${issue2.expected}\u060C \u0648\u0644\u0643\u0646 \u062A\u0645 \u0625\u062F\u062E\u0627\u0644 ${received}`;
+ }
+ return `\u0645\u062F\u062E\u0644\u0627\u062A \u063A\u064A\u0631 \u0645\u0642\u0628\u0648\u0644\u0629: \u064A\u0641\u062A\u0631\u0636 \u0625\u062F\u062E\u0627\u0644 ${expected}\u060C \u0648\u0644\u0643\u0646 \u062A\u0645 \u0625\u062F\u062E\u0627\u0644 ${received}`;
+ }
+ case "invalid_value":
+ if (issue2.values.length === 1)
+ return `\u0645\u062F\u062E\u0644\u0627\u062A \u063A\u064A\u0631 \u0645\u0642\u0628\u0648\u0644\u0629: \u064A\u0641\u062A\u0631\u0636 \u0625\u062F\u062E\u0627\u0644 ${stringifyPrimitive(issue2.values[0])}`;
+ return `\u0627\u062E\u062A\u064A\u0627\u0631 \u063A\u064A\u0631 \u0645\u0642\u0628\u0648\u0644: \u064A\u062A\u0648\u0642\u0639 \u0627\u0646\u062A\u0642\u0627\u0621 \u0623\u062D\u062F \u0647\u0630\u0647 \u0627\u0644\u062E\u064A\u0627\u0631\u0627\u062A: ${joinValues(issue2.values, "|")}`;
+ case "too_big": {
+ const adj = issue2.inclusive ? "<=" : "<";
+ const sizing = getSizing(issue2.origin);
+ if (sizing)
+ return ` \u0623\u0643\u0628\u0631 \u0645\u0646 \u0627\u0644\u0644\u0627\u0632\u0645: \u064A\u0641\u062A\u0631\u0636 \u0623\u0646 \u062A\u0643\u0648\u0646 ${issue2.origin ?? "\u0627\u0644\u0642\u064A\u0645\u0629"} ${adj} ${issue2.maximum.toString()} ${sizing.unit ?? "\u0639\u0646\u0635\u0631"}`;
+ return `\u0623\u0643\u0628\u0631 \u0645\u0646 \u0627\u0644\u0644\u0627\u0632\u0645: \u064A\u0641\u062A\u0631\u0636 \u0623\u0646 \u062A\u0643\u0648\u0646 ${issue2.origin ?? "\u0627\u0644\u0642\u064A\u0645\u0629"} ${adj} ${issue2.maximum.toString()}`;
+ }
+ case "too_small": {
+ const adj = issue2.inclusive ? ">=" : ">";
+ const sizing = getSizing(issue2.origin);
+ if (sizing) {
+ return `\u0623\u0635\u063A\u0631 \u0645\u0646 \u0627\u0644\u0644\u0627\u0632\u0645: \u064A\u0641\u062A\u0631\u0636 \u0644\u0640 ${issue2.origin} \u0623\u0646 \u064A\u0643\u0648\u0646 ${adj} ${issue2.minimum.toString()} ${sizing.unit}`;
+ }
+ return `\u0623\u0635\u063A\u0631 \u0645\u0646 \u0627\u0644\u0644\u0627\u0632\u0645: \u064A\u0641\u062A\u0631\u0636 \u0644\u0640 ${issue2.origin} \u0623\u0646 \u064A\u0643\u0648\u0646 ${adj} ${issue2.minimum.toString()}`;
+ }
+ case "invalid_format": {
+ const _issue = issue2;
+ if (_issue.format === "starts_with")
+ return `\u0646\u064E\u0635 \u063A\u064A\u0631 \u0645\u0642\u0628\u0648\u0644: \u064A\u062C\u0628 \u0623\u0646 \u064A\u0628\u062F\u0623 \u0628\u0640 "${issue2.prefix}"`;
+ if (_issue.format === "ends_with")
+ return `\u0646\u064E\u0635 \u063A\u064A\u0631 \u0645\u0642\u0628\u0648\u0644: \u064A\u062C\u0628 \u0623\u0646 \u064A\u0646\u062A\u0647\u064A \u0628\u0640 "${_issue.suffix}"`;
+ if (_issue.format === "includes")
+ return `\u0646\u064E\u0635 \u063A\u064A\u0631 \u0645\u0642\u0628\u0648\u0644: \u064A\u062C\u0628 \u0623\u0646 \u064A\u062A\u0636\u0645\u0651\u064E\u0646 "${_issue.includes}"`;
+ if (_issue.format === "regex")
+ return `\u0646\u064E\u0635 \u063A\u064A\u0631 \u0645\u0642\u0628\u0648\u0644: \u064A\u062C\u0628 \u0623\u0646 \u064A\u0637\u0627\u0628\u0642 \u0627\u0644\u0646\u0645\u0637 ${_issue.pattern}`;
+ return `${FormatDictionary[_issue.format] ?? issue2.format} \u063A\u064A\u0631 \u0645\u0642\u0628\u0648\u0644`;
+ }
+ case "not_multiple_of":
+ return `\u0631\u0642\u0645 \u063A\u064A\u0631 \u0645\u0642\u0628\u0648\u0644: \u064A\u062C\u0628 \u0623\u0646 \u064A\u0643\u0648\u0646 \u0645\u0646 \u0645\u0636\u0627\u0639\u0641\u0627\u062A ${issue2.divisor}`;
+ case "unrecognized_keys":
+ return `\u0645\u0639\u0631\u0641${issue2.keys.length > 1 ? "\u0627\u062A" : ""} \u063A\u0631\u064A\u0628${issue2.keys.length > 1 ? "\u0629" : ""}: ${joinValues(issue2.keys, "\u060C ")}`;
+ case "invalid_key":
+ return `\u0645\u0639\u0631\u0641 \u063A\u064A\u0631 \u0645\u0642\u0628\u0648\u0644 \u0641\u064A ${issue2.origin}`;
+ case "invalid_union":
+ return "\u0645\u062F\u062E\u0644 \u063A\u064A\u0631 \u0645\u0642\u0628\u0648\u0644";
+ case "invalid_element":
+ return `\u0645\u062F\u062E\u0644 \u063A\u064A\u0631 \u0645\u0642\u0628\u0648\u0644 \u0641\u064A ${issue2.origin}`;
+ default:
+ return "\u0645\u062F\u062E\u0644 \u063A\u064A\u0631 \u0645\u0642\u0628\u0648\u0644";
+ }
+ };
+}, "error");
+function ar_default() {
+ return {
+ localeError: error()
+ };
+}
+__name(ar_default, "default");
+
+// ../../node_modules/.pnpm/zod@4.6.7/node_modules/zod/v4/locales/az.js
+var error2 = /* @__PURE__ */ __name(() => {
+ const Sizable = {
+ string: { unit: "simvol", verb: "olmal\u0131d\u0131r" },
+ file: { unit: "bayt", verb: "olmal\u0131d\u0131r" },
+ array: { unit: "element", verb: "olmal\u0131d\u0131r" },
+ set: { unit: "element", verb: "olmal\u0131d\u0131r" },
+ map: { unit: "element", verb: "olmal\u0131d\u0131r" }
+ };
+ function getSizing(origin) {
+ return Sizable[origin] ?? null;
+ }
+ __name(getSizing, "getSizing");
+ const FormatDictionary = {
+ regex: "input",
+ email: "email address",
+ url: "URL",
+ emoji: "emoji",
+ uuid: "UUID",
+ uuidv4: "UUIDv4",
+ uuidv6: "UUIDv6",
+ nanoid: "nanoid",
+ guid: "GUID",
+ cuid: "cuid",
+ cuid2: "cuid2",
+ ulid: "ULID",
+ xid: "XID",
+ ksuid: "KSUID",
+ datetime: "ISO datetime",
+ date: "ISO date",
+ time: "ISO time",
+ duration: "ISO duration",
+ ipv4: "IPv4 address",
+ ipv6: "IPv6 address",
+ mac: "MAC address",
+ cidrv4: "IPv4 range",
+ cidrv6: "IPv6 range",
+ base64: "base64-encoded string",
+ base64url: "base64url-encoded string",
+ json_string: "JSON string",
+ e164: "E.164 number",
+ credit_card: "kredit kart\u0131 n\xF6mr\u0259si",
+ currency_code: "valyuta kodu",
+ iban: "IBAN",
+ jwt: "JWT",
+ template_literal: "input"
+ };
+ const TypeDictionary = {
+ nan: "NaN"
+ };
+ return (issue2) => {
+ switch (issue2.code) {
+ case "invalid_type": {
+ const expected = TypeDictionary[issue2.expected] ?? issue2.expected;
+ const receivedType = parsedType(issue2.input);
+ const received = TypeDictionary[receivedType] ?? receivedType;
+ if (/^[A-Z]/.test(issue2.expected)) {
+ return `Yanl\u0131\u015F d\u0259y\u0259r: g\xF6zl\u0259nil\u0259n instanceof ${issue2.expected}, daxil olan ${received}`;
+ }
+ return `Yanl\u0131\u015F d\u0259y\u0259r: g\xF6zl\u0259nil\u0259n ${expected}, daxil olan ${received}`;
+ }
+ case "invalid_value":
+ if (issue2.values.length === 1)
+ return `Yanl\u0131\u015F d\u0259y\u0259r: g\xF6zl\u0259nil\u0259n ${stringifyPrimitive(issue2.values[0])}`;
+ return `Yanl\u0131\u015F se\xE7im: a\u015Fa\u011F\u0131dak\u0131lardan biri olmal\u0131d\u0131r: ${joinValues(issue2.values, "|")}`;
+ case "too_big": {
+ const adj = issue2.inclusive ? "<=" : "<";
+ const sizing = getSizing(issue2.origin);
+ if (sizing)
+ return `\xC7ox b\xF6y\xFCk: g\xF6zl\u0259nil\u0259n ${issue2.origin ?? "d\u0259y\u0259r"} ${adj}${issue2.maximum.toString()} ${sizing.unit ?? "element"}`;
+ return `\xC7ox b\xF6y\xFCk: g\xF6zl\u0259nil\u0259n ${issue2.origin ?? "d\u0259y\u0259r"} ${adj}${issue2.maximum.toString()}`;
+ }
+ case "too_small": {
+ const adj = issue2.inclusive ? ">=" : ">";
+ const sizing = getSizing(issue2.origin);
+ if (sizing)
+ return `\xC7ox ki\xE7ik: g\xF6zl\u0259nil\u0259n ${issue2.origin} ${adj}${issue2.minimum.toString()} ${sizing.unit}`;
+ return `\xC7ox ki\xE7ik: g\xF6zl\u0259nil\u0259n ${issue2.origin} ${adj}${issue2.minimum.toString()}`;
+ }
+ case "invalid_format": {
+ const _issue = issue2;
+ if (_issue.format === "starts_with")
+ return `Yanl\u0131\u015F m\u0259tn: "${_issue.prefix}" il\u0259 ba\u015Flamal\u0131d\u0131r`;
+ if (_issue.format === "ends_with")
+ return `Yanl\u0131\u015F m\u0259tn: "${_issue.suffix}" il\u0259 bitm\u0259lidir`;
+ if (_issue.format === "includes")
+ return `Yanl\u0131\u015F m\u0259tn: "${_issue.includes}" daxil olmal\u0131d\u0131r`;
+ if (_issue.format === "regex")
+ return `Yanl\u0131\u015F m\u0259tn: ${_issue.pattern} \u015Fablonuna uy\u011Fun olmal\u0131d\u0131r`;
+ return `Yanl\u0131\u015F ${FormatDictionary[_issue.format] ?? issue2.format}`;
+ }
+ case "not_multiple_of":
+ return `Yanl\u0131\u015F \u0259d\u0259d: ${issue2.divisor} il\u0259 b\xF6l\xFCn\u0259 bil\u0259n olmal\u0131d\u0131r`;
+ case "unrecognized_keys":
+ return `Tan\u0131nmayan a\xE7ar${issue2.keys.length > 1 ? "lar" : ""}: ${joinValues(issue2.keys, ", ")}`;
+ case "invalid_key":
+ return `${issue2.origin} daxilind\u0259 yanl\u0131\u015F a\xE7ar`;
+ case "invalid_union":
+ return "Yanl\u0131\u015F d\u0259y\u0259r";
+ case "invalid_element":
+ return `${issue2.origin} daxilind\u0259 yanl\u0131\u015F d\u0259y\u0259r`;
+ default:
+ return `Yanl\u0131\u015F d\u0259y\u0259r`;
+ }
+ };
+}, "error");
+function az_default() {
+ return {
+ localeError: error2()
+ };
+}
+__name(az_default, "default");
+
+// ../../node_modules/.pnpm/zod@4.6.7/node_modules/zod/v4/locales/be.js
+function getBelarusianPlural(count, one, few, many) {
+ const absCount = Math.abs(count);
+ const lastDigit = absCount % 10;
+ const lastTwoDigits = absCount % 100;
+ if (lastTwoDigits >= 11 && lastTwoDigits <= 19) {
+ return many;
+ }
+ if (lastDigit === 1) {
+ return one;
+ }
+ if (lastDigit >= 2 && lastDigit <= 4) {
+ return few;
+ }
+ return many;
+}
+__name(getBelarusianPlural, "getBelarusianPlural");
+var error3 = /* @__PURE__ */ __name(() => {
+ const Sizable = {
+ string: {
+ unit: {
+ one: "\u0441\u0456\u043C\u0432\u0430\u043B",
+ few: "\u0441\u0456\u043C\u0432\u0430\u043B\u044B",
+ many: "\u0441\u0456\u043C\u0432\u0430\u043B\u0430\u045E"
+ },
+ verb: "\u043C\u0435\u0446\u044C"
+ },
+ array: {
+ unit: {
+ one: "\u044D\u043B\u0435\u043C\u0435\u043D\u0442",
+ few: "\u044D\u043B\u0435\u043C\u0435\u043D\u0442\u044B",
+ many: "\u044D\u043B\u0435\u043C\u0435\u043D\u0442\u0430\u045E"
+ },
+ verb: "\u043C\u0435\u0446\u044C"
+ },
+ set: {
+ unit: {
+ one: "\u044D\u043B\u0435\u043C\u0435\u043D\u0442",
+ few: "\u044D\u043B\u0435\u043C\u0435\u043D\u0442\u044B",
+ many: "\u044D\u043B\u0435\u043C\u0435\u043D\u0442\u0430\u045E"
+ },
+ verb: "\u043C\u0435\u0446\u044C"
+ },
+ map: {
+ unit: {
+ one: "\u044D\u043B\u0435\u043C\u0435\u043D\u0442",
+ few: "\u044D\u043B\u0435\u043C\u0435\u043D\u0442\u044B",
+ many: "\u044D\u043B\u0435\u043C\u0435\u043D\u0442\u0430\u045E"
+ },
+ verb: "\u043C\u0435\u0446\u044C"
+ },
+ file: {
+ unit: {
+ one: "\u0431\u0430\u0439\u0442",
+ few: "\u0431\u0430\u0439\u0442\u044B",
+ many: "\u0431\u0430\u0439\u0442\u0430\u045E"
+ },
+ verb: "\u043C\u0435\u0446\u044C"
+ }
+ };
+ function getSizing(origin) {
+ return Sizable[origin] ?? null;
+ }
+ __name(getSizing, "getSizing");
+ const FormatDictionary = {
+ regex: "\u0443\u0432\u043E\u0434",
+ email: "email \u0430\u0434\u0440\u0430\u0441",
+ url: "URL",
+ emoji: "\u044D\u043C\u043E\u0434\u0437\u0456",
+ uuid: "UUID",
+ uuidv4: "UUIDv4",
+ uuidv6: "UUIDv6",
+ nanoid: "nanoid",
+ guid: "GUID",
+ cuid: "cuid",
+ cuid2: "cuid2",
+ ulid: "ULID",
+ xid: "XID",
+ ksuid: "KSUID",
+ datetime: "ISO \u0434\u0430\u0442\u0430 \u0456 \u0447\u0430\u0441",
+ date: "ISO \u0434\u0430\u0442\u0430",
+ time: "ISO \u0447\u0430\u0441",
+ duration: "ISO \u043F\u0440\u0430\u0446\u044F\u0433\u043B\u0430\u0441\u0446\u044C",
+ ipv4: "IPv4 \u0430\u0434\u0440\u0430\u0441",
+ ipv6: "IPv6 \u0430\u0434\u0440\u0430\u0441",
+ mac: "MAC \u0430\u0434\u0440\u0430\u0441",
+ cidrv4: "IPv4 \u0434\u044B\u044F\u043F\u0430\u0437\u043E\u043D",
+ cidrv6: "IPv6 \u0434\u044B\u044F\u043F\u0430\u0437\u043E\u043D",
+ base64: "\u0440\u0430\u0434\u043E\u043A \u0443 \u0444\u0430\u0440\u043C\u0430\u0446\u0435 base64",
+ base64url: "\u0440\u0430\u0434\u043E\u043A \u0443 \u0444\u0430\u0440\u043C\u0430\u0446\u0435 base64url",
+ json_string: "JSON \u0440\u0430\u0434\u043E\u043A",
+ e164: "\u043D\u0443\u043C\u0430\u0440 E.164",
+ credit_card: "\u043D\u0443\u043C\u0430\u0440 \u043A\u0440\u044D\u0434\u044B\u0442\u043D\u0430\u0439 \u043A\u0430\u0440\u0442\u044B",
+ currency_code: "\u043A\u043E\u0434 \u0432\u0430\u043B\u044E\u0442\u044B",
+ iban: "IBAN",
+ jwt: "JWT",
+ template_literal: "\u0443\u0432\u043E\u0434"
+ };
+ const TypeDictionary = {
+ nan: "NaN",
+ number: "\u043B\u0456\u043A",
+ array: "\u043C\u0430\u0441\u0456\u045E"
+ };
+ return (issue2) => {
+ switch (issue2.code) {
+ case "invalid_type": {
+ const expected = TypeDictionary[issue2.expected] ?? issue2.expected;
+ const receivedType = parsedType(issue2.input);
+ const received = TypeDictionary[receivedType] ?? receivedType;
+ if (/^[A-Z]/.test(issue2.expected)) {
+ return `\u041D\u044F\u043F\u0440\u0430\u0432\u0456\u043B\u044C\u043D\u044B \u045E\u0432\u043E\u0434: \u0447\u0430\u043A\u0430\u045E\u0441\u044F instanceof ${issue2.expected}, \u0430\u0442\u0440\u044B\u043C\u0430\u043D\u0430 ${received}`;
+ }
+ return `\u041D\u044F\u043F\u0440\u0430\u0432\u0456\u043B\u044C\u043D\u044B \u045E\u0432\u043E\u0434: \u0447\u0430\u043A\u0430\u045E\u0441\u044F ${expected}, \u0430\u0442\u0440\u044B\u043C\u0430\u043D\u0430 ${received}`;
+ }
+ case "invalid_value":
+ if (issue2.values.length === 1)
+ return `\u041D\u044F\u043F\u0440\u0430\u0432\u0456\u043B\u044C\u043D\u044B \u045E\u0432\u043E\u0434: \u0447\u0430\u043A\u0430\u043B\u0430\u0441\u044F ${stringifyPrimitive(issue2.values[0])}`;
+ return `\u041D\u044F\u043F\u0440\u0430\u0432\u0456\u043B\u044C\u043D\u044B \u0432\u0430\u0440\u044B\u044F\u043D\u0442: \u0447\u0430\u043A\u0430\u045E\u0441\u044F \u0430\u0434\u0437\u0456\u043D \u0437 ${joinValues(issue2.values, "|")}`;
+ case "too_big": {
+ const adj = issue2.inclusive ? "<=" : "<";
+ const sizing = getSizing(issue2.origin);
+ if (sizing) {
+ const maxValue = Number(issue2.maximum);
+ const unit = getBelarusianPlural(maxValue, sizing.unit.one, sizing.unit.few, sizing.unit.many);
+ return `\u0417\u0430\u043D\u0430\u0434\u0442\u0430 \u0432\u044F\u043B\u0456\u043A\u0456: \u0447\u0430\u043A\u0430\u043B\u0430\u0441\u044F, \u0448\u0442\u043E ${issue2.origin ?? "\u0437\u043D\u0430\u0447\u044D\u043D\u043D\u0435"} \u043F\u0430\u0432\u0456\u043D\u043D\u0430 ${sizing.verb} ${adj}${issue2.maximum.toString()} ${unit}`;
+ }
+ return `\u0417\u0430\u043D\u0430\u0434\u0442\u0430 \u0432\u044F\u043B\u0456\u043A\u0456: \u0447\u0430\u043A\u0430\u043B\u0430\u0441\u044F, \u0448\u0442\u043E ${issue2.origin ?? "\u0437\u043D\u0430\u0447\u044D\u043D\u043D\u0435"} \u043F\u0430\u0432\u0456\u043D\u043D\u0430 \u0431\u044B\u0446\u044C ${adj}${issue2.maximum.toString()}`;
+ }
+ case "too_small": {
+ const adj = issue2.inclusive ? ">=" : ">";
+ const sizing = getSizing(issue2.origin);
+ if (sizing) {
+ const minValue = Number(issue2.minimum);
+ const unit = getBelarusianPlural(minValue, sizing.unit.one, sizing.unit.few, sizing.unit.many);
+ return `\u0417\u0430\u043D\u0430\u0434\u0442\u0430 \u043C\u0430\u043B\u044B: \u0447\u0430\u043A\u0430\u043B\u0430\u0441\u044F, \u0448\u0442\u043E ${issue2.origin} \u043F\u0430\u0432\u0456\u043D\u043D\u0430 ${sizing.verb} ${adj}${issue2.minimum.toString()} ${unit}`;
+ }
+ return `\u0417\u0430\u043D\u0430\u0434\u0442\u0430 \u043C\u0430\u043B\u044B: \u0447\u0430\u043A\u0430\u043B\u0430\u0441\u044F, \u0448\u0442\u043E ${issue2.origin} \u043F\u0430\u0432\u0456\u043D\u043D\u0430 \u0431\u044B\u0446\u044C ${adj}${issue2.minimum.toString()}`;
+ }
+ case "invalid_format": {
+ const _issue = issue2;
+ if (_issue.format === "starts_with")
+ return `\u041D\u044F\u043F\u0440\u0430\u0432\u0456\u043B\u044C\u043D\u044B \u0440\u0430\u0434\u043E\u043A: \u043F\u0430\u0432\u0456\u043D\u0435\u043D \u043F\u0430\u0447\u044B\u043D\u0430\u0446\u0446\u0430 \u0437 "${_issue.prefix}"`;
+ if (_issue.format === "ends_with")
+ return `\u041D\u044F\u043F\u0440\u0430\u0432\u0456\u043B\u044C\u043D\u044B \u0440\u0430\u0434\u043E\u043A: \u043F\u0430\u0432\u0456\u043D\u0435\u043D \u0437\u0430\u043A\u0430\u043D\u0447\u0432\u0430\u0446\u0446\u0430 \u043D\u0430 "${_issue.suffix}"`;
+ if (_issue.format === "includes")
+ return `\u041D\u044F\u043F\u0440\u0430\u0432\u0456\u043B\u044C\u043D\u044B \u0440\u0430\u0434\u043E\u043A: \u043F\u0430\u0432\u0456\u043D\u0435\u043D \u0437\u043C\u044F\u0448\u0447\u0430\u0446\u044C "${_issue.includes}"`;
+ if (_issue.format === "regex")
+ return `\u041D\u044F\u043F\u0440\u0430\u0432\u0456\u043B\u044C\u043D\u044B \u0440\u0430\u0434\u043E\u043A: \u043F\u0430\u0432\u0456\u043D\u0435\u043D \u0430\u0434\u043F\u0430\u0432\u044F\u0434\u0430\u0446\u044C \u0448\u0430\u0431\u043B\u043E\u043D\u0443 ${_issue.pattern}`;
+ return `\u041D\u044F\u043F\u0440\u0430\u0432\u0456\u043B\u044C\u043D\u044B ${FormatDictionary[_issue.format] ?? issue2.format}`;
+ }
+ case "not_multiple_of":
+ return `\u041D\u044F\u043F\u0440\u0430\u0432\u0456\u043B\u044C\u043D\u044B \u043B\u0456\u043A: \u043F\u0430\u0432\u0456\u043D\u0435\u043D \u0431\u044B\u0446\u044C \u043A\u0440\u0430\u0442\u043D\u044B\u043C ${issue2.divisor}`;
+ case "unrecognized_keys":
+ return `\u041D\u0435\u0440\u0430\u0441\u043F\u0430\u0437\u043D\u0430\u043D\u044B ${issue2.keys.length > 1 ? "\u043A\u043B\u044E\u0447\u044B" : "\u043A\u043B\u044E\u0447"}: ${joinValues(issue2.keys, ", ")}`;
+ case "invalid_key":
+ return `\u041D\u044F\u043F\u0440\u0430\u0432\u0456\u043B\u044C\u043D\u044B \u043A\u043B\u044E\u0447 \u0443 ${issue2.origin}`;
+ case "invalid_union":
+ return "\u041D\u044F\u043F\u0440\u0430\u0432\u0456\u043B\u044C\u043D\u044B \u045E\u0432\u043E\u0434";
+ case "invalid_element":
+ return `\u041D\u044F\u043F\u0440\u0430\u0432\u0456\u043B\u044C\u043D\u0430\u0435 \u0437\u043D\u0430\u0447\u044D\u043D\u043D\u0435 \u045E ${issue2.origin}`;
+ default:
+ return `\u041D\u044F\u043F\u0440\u0430\u0432\u0456\u043B\u044C\u043D\u044B \u045E\u0432\u043E\u0434`;
+ }
+ };
+}, "error");
+function be_default() {
+ return {
+ localeError: error3()
+ };
+}
+__name(be_default, "default");
+
+// ../../node_modules/.pnpm/zod@4.6.7/node_modules/zod/v4/locales/bg.js
+var error4 = /* @__PURE__ */ __name(() => {
+ const Sizable = {
+ string: { unit: "\u0441\u0438\u043C\u0432\u043E\u043B\u0430", verb: "\u0434\u0430 \u0441\u044A\u0434\u044A\u0440\u0436\u0430" },
+ file: { unit: "\u0431\u0430\u0439\u0442\u0430", verb: "\u0434\u0430 \u0441\u044A\u0434\u044A\u0440\u0436\u0430" },
+ array: { unit: "\u0435\u043B\u0435\u043C\u0435\u043D\u0442\u0430", verb: "\u0434\u0430 \u0441\u044A\u0434\u044A\u0440\u0436\u0430" },
+ set: { unit: "\u0435\u043B\u0435\u043C\u0435\u043D\u0442\u0430", verb: "\u0434\u0430 \u0441\u044A\u0434\u044A\u0440\u0436\u0430" },
+ map: { unit: "\u0435\u043B\u0435\u043C\u0435\u043D\u0442\u0430", verb: "\u0434\u0430 \u0441\u044A\u0434\u044A\u0440\u0436\u0430" }
+ };
+ function getSizing(origin) {
+ return Sizable[origin] ?? null;
+ }
+ __name(getSizing, "getSizing");
+ const FormatDictionary = {
+ regex: "\u0432\u0445\u043E\u0434",
+ email: "\u0438\u043C\u0435\u0439\u043B \u0430\u0434\u0440\u0435\u0441",
+ url: "URL",
+ emoji: "\u0435\u043C\u043E\u0434\u0436\u0438",
+ uuid: "UUID",
+ uuidv4: "UUIDv4",
+ uuidv6: "UUIDv6",
+ nanoid: "nanoid",
+ guid: "GUID",
+ cuid: "cuid",
+ cuid2: "cuid2",
+ ulid: "ULID",
+ xid: "XID",
+ ksuid: "KSUID",
+ datetime: "ISO \u0432\u0440\u0435\u043C\u0435",
+ date: "ISO \u0434\u0430\u0442\u0430",
+ time: "ISO \u0432\u0440\u0435\u043C\u0435",
+ duration: "ISO \u043F\u0440\u043E\u0434\u044A\u043B\u0436\u0438\u0442\u0435\u043B\u043D\u043E\u0441\u0442",
+ ipv4: "IPv4 \u0430\u0434\u0440\u0435\u0441",
+ ipv6: "IPv6 \u0430\u0434\u0440\u0435\u0441",
+ mac: "MAC \u0430\u0434\u0440\u0435\u0441",
+ cidrv4: "IPv4 \u0434\u0438\u0430\u043F\u0430\u0437\u043E\u043D",
+ cidrv6: "IPv6 \u0434\u0438\u0430\u043F\u0430\u0437\u043E\u043D",
+ base64: "base64-\u043A\u043E\u0434\u0438\u0440\u0430\u043D \u043D\u0438\u0437",
+ base64url: "base64url-\u043A\u043E\u0434\u0438\u0440\u0430\u043D \u043D\u0438\u0437",
+ json_string: "JSON \u043D\u0438\u0437",
+ e164: "E.164 \u043D\u043E\u043C\u0435\u0440",
+ credit_card: "\u043D\u043E\u043C\u0435\u0440 \u043D\u0430 \u043A\u0440\u0435\u0434\u0438\u0442\u043D\u0430 \u043A\u0430\u0440\u0442\u0430",
+ currency_code: "\u043A\u043E\u0434 \u043D\u0430 \u0432\u0430\u043B\u0443\u0442\u0430",
+ iban: "IBAN",
+ jwt: "JWT",
+ template_literal: "\u0432\u0445\u043E\u0434"
+ };
+ const TypeDictionary = {
+ nan: "NaN",
+ number: "\u0447\u0438\u0441\u043B\u043E",
+ array: "\u043C\u0430\u0441\u0438\u0432"
+ };
+ return (issue2) => {
+ switch (issue2.code) {
+ case "invalid_type": {
+ const expected = TypeDictionary[issue2.expected] ?? issue2.expected;
+ const receivedType = parsedType(issue2.input);
+ const received = TypeDictionary[receivedType] ?? receivedType;
+ if (/^[A-Z]/.test(issue2.expected)) {
+ return `\u041D\u0435\u0432\u0430\u043B\u0438\u0434\u0435\u043D \u0432\u0445\u043E\u0434: \u043E\u0447\u0430\u043A\u0432\u0430\u043D instanceof ${issue2.expected}, \u043F\u043E\u043B\u0443\u0447\u0435\u043D ${received}`;
+ }
+ return `\u041D\u0435\u0432\u0430\u043B\u0438\u0434\u0435\u043D \u0432\u0445\u043E\u0434: \u043E\u0447\u0430\u043A\u0432\u0430\u043D ${expected}, \u043F\u043E\u043B\u0443\u0447\u0435\u043D ${received}`;
+ }
+ case "invalid_value":
+ if (issue2.values.length === 1)
+ return `\u041D\u0435\u0432\u0430\u043B\u0438\u0434\u0435\u043D \u0432\u0445\u043E\u0434: \u043E\u0447\u0430\u043A\u0432\u0430\u043D ${stringifyPrimitive(issue2.values[0])}`;
+ return `\u041D\u0435\u0432\u0430\u043B\u0438\u0434\u043D\u0430 \u043E\u043F\u0446\u0438\u044F: \u043E\u0447\u0430\u043A\u0432\u0430\u043D\u043E \u0435\u0434\u043D\u043E \u043E\u0442 ${joinValues(issue2.values, "|")}`;
+ case "too_big": {
+ const adj = issue2.inclusive ? "<=" : "<";
+ const sizing = getSizing(issue2.origin);
+ if (sizing)
+ return `\u0422\u0432\u044A\u0440\u0434\u0435 \u0433\u043E\u043B\u044F\u043C\u043E: \u043E\u0447\u0430\u043A\u0432\u0430 \u0441\u0435 ${issue2.origin ?? "\u0441\u0442\u043E\u0439\u043D\u043E\u0441\u0442"} \u0434\u0430 \u0441\u044A\u0434\u044A\u0440\u0436\u0430 ${adj}${issue2.maximum.toString()} ${sizing.unit ?? "\u0435\u043B\u0435\u043C\u0435\u043D\u0442\u0430"}`;
+ return `\u0422\u0432\u044A\u0440\u0434\u0435 \u0433\u043E\u043B\u044F\u043C\u043E: \u043E\u0447\u0430\u043A\u0432\u0430 \u0441\u0435 ${issue2.origin ?? "\u0441\u0442\u043E\u0439\u043D\u043E\u0441\u0442"} \u0434\u0430 \u0431\u044A\u0434\u0435 ${adj}${issue2.maximum.toString()}`;
+ }
+ case "too_small": {
+ const adj = issue2.inclusive ? ">=" : ">";
+ const sizing = getSizing(issue2.origin);
+ if (sizing) {
+ return `\u0422\u0432\u044A\u0440\u0434\u0435 \u043C\u0430\u043B\u043A\u043E: \u043E\u0447\u0430\u043A\u0432\u0430 \u0441\u0435 ${issue2.origin} \u0434\u0430 \u0441\u044A\u0434\u044A\u0440\u0436\u0430 ${adj}${issue2.minimum.toString()} ${sizing.unit}`;
+ }
+ return `\u0422\u0432\u044A\u0440\u0434\u0435 \u043C\u0430\u043B\u043A\u043E: \u043E\u0447\u0430\u043A\u0432\u0430 \u0441\u0435 ${issue2.origin} \u0434\u0430 \u0431\u044A\u0434\u0435 ${adj}${issue2.minimum.toString()}`;
+ }
+ case "invalid_format": {
+ const _issue = issue2;
+ if (_issue.format === "starts_with") {
+ return `\u041D\u0435\u0432\u0430\u043B\u0438\u0434\u0435\u043D \u043D\u0438\u0437: \u0442\u0440\u044F\u0431\u0432\u0430 \u0434\u0430 \u0437\u0430\u043F\u043E\u0447\u0432\u0430 \u0441 "${_issue.prefix}"`;
+ }
+ if (_issue.format === "ends_with")
+ return `\u041D\u0435\u0432\u0430\u043B\u0438\u0434\u0435\u043D \u043D\u0438\u0437: \u0442\u0440\u044F\u0431\u0432\u0430 \u0434\u0430 \u0437\u0430\u0432\u044A\u0440\u0448\u0432\u0430 \u0441 "${_issue.suffix}"`;
+ if (_issue.format === "includes")
+ return `\u041D\u0435\u0432\u0430\u043B\u0438\u0434\u0435\u043D \u043D\u0438\u0437: \u0442\u0440\u044F\u0431\u0432\u0430 \u0434\u0430 \u0432\u043A\u043B\u044E\u0447\u0432\u0430 "${_issue.includes}"`;
+ if (_issue.format === "regex")
+ return `\u041D\u0435\u0432\u0430\u043B\u0438\u0434\u0435\u043D \u043D\u0438\u0437: \u0442\u0440\u044F\u0431\u0432\u0430 \u0434\u0430 \u0441\u044A\u0432\u043F\u0430\u0434\u0430 \u0441 ${_issue.pattern}`;
+ let invalid_adj = "\u041D\u0435\u0432\u0430\u043B\u0438\u0434\u0435\u043D";
+ if (_issue.format === "emoji")
+ invalid_adj = "\u041D\u0435\u0432\u0430\u043B\u0438\u0434\u043D\u043E";
+ if (_issue.format === "datetime")
+ invalid_adj = "\u041D\u0435\u0432\u0430\u043B\u0438\u0434\u043D\u043E";
+ if (_issue.format === "date")
+ invalid_adj = "\u041D\u0435\u0432\u0430\u043B\u0438\u0434\u043D\u0430";
+ if (_issue.format === "time")
+ invalid_adj = "\u041D\u0435\u0432\u0430\u043B\u0438\u0434\u043D\u043E";
+ if (_issue.format === "duration")
+ invalid_adj = "\u041D\u0435\u0432\u0430\u043B\u0438\u0434\u043D\u0430";
+ return `${invalid_adj} ${FormatDictionary[_issue.format] ?? issue2.format}`;
+ }
+ case "not_multiple_of":
+ return `\u041D\u0435\u0432\u0430\u043B\u0438\u0434\u043D\u043E \u0447\u0438\u0441\u043B\u043E: \u0442\u0440\u044F\u0431\u0432\u0430 \u0434\u0430 \u0431\u044A\u0434\u0435 \u043A\u0440\u0430\u0442\u043D\u043E \u043D\u0430 ${issue2.divisor}`;
+ case "unrecognized_keys":
+ return `\u041D\u0435\u0440\u0430\u0437\u043F\u043E\u0437\u043D\u0430\u0442${issue2.keys.length > 1 ? "\u0438" : ""} \u043A\u043B\u044E\u0447${issue2.keys.length > 1 ? "\u043E\u0432\u0435" : ""}: ${joinValues(issue2.keys, ", ")}`;
+ case "invalid_key":
+ return `\u041D\u0435\u0432\u0430\u043B\u0438\u0434\u0435\u043D \u043A\u043B\u044E\u0447 \u0432 ${issue2.origin}`;
+ case "invalid_union":
+ return "\u041D\u0435\u0432\u0430\u043B\u0438\u0434\u0435\u043D \u0432\u0445\u043E\u0434";
+ case "invalid_element":
+ return `\u041D\u0435\u0432\u0430\u043B\u0438\u0434\u043D\u0430 \u0441\u0442\u043E\u0439\u043D\u043E\u0441\u0442 \u0432 ${issue2.origin}`;
+ default:
+ return `\u041D\u0435\u0432\u0430\u043B\u0438\u0434\u0435\u043D \u0432\u0445\u043E\u0434`;
+ }
+ };
+}, "error");
+function bg_default() {
+ return {
+ localeError: error4()
+ };
+}
+__name(bg_default, "default");
+
+// ../../node_modules/.pnpm/zod@4.6.7/node_modules/zod/v4/locales/bn.js
+var error5 = /* @__PURE__ */ __name(() => {
+ const Sizable = {
+ string: { unit: "\u0985\u0995\u09CD\u09B7\u09B0", verb: "\u09A5\u09BE\u0995\u09A4\u09C7 \u09B9\u09AC\u09C7" },
+ file: { unit: "\u09AC\u09BE\u0987\u099F", verb: "\u09A5\u09BE\u0995\u09A4\u09C7 \u09B9\u09AC\u09C7" },
+ array: { unit: "\u0986\u0987\u099F\u09C7\u09AE", verb: "\u09A5\u09BE\u0995\u09A4\u09C7 \u09B9\u09AC\u09C7" },
+ set: { unit: "\u0986\u0987\u099F\u09C7\u09AE", verb: "\u09A5\u09BE\u0995\u09A4\u09C7 \u09B9\u09AC\u09C7" },
+ map: { unit: "\u098F\u09A8\u09CD\u099F\u09CD\u09B0\u09BF", verb: "\u09A5\u09BE\u0995\u09A4\u09C7 \u09B9\u09AC\u09C7" }
+ };
+ function getSizing(origin) {
+ return Sizable[origin] ?? null;
+ }
+ __name(getSizing, "getSizing");
+ const FormatDictionary = {
+ regex: "\u0987\u09A8\u09AA\u09C1\u099F",
+ email: "\u0987\u09AE\u09C7\u0987\u09B2 \u09A0\u09BF\u0995\u09BE\u09A8\u09BE",
+ url: "URL",
+ emoji: "\u0987\u09AE\u09CB\u099C\u09BF",
+ uuid: "UUID",
+ uuidv4: "UUIDv4",
+ uuidv6: "UUIDv6",
+ nanoid: "nanoid",
+ guid: "GUID",
+ cuid: "cuid",
+ cuid2: "cuid2",
+ ulid: "ULID",
+ xid: "XID",
+ ksuid: "KSUID",
+ datetime: "ISO \u09A4\u09BE\u09B0\u09BF\u0996 \u0993 \u09B8\u09AE\u09AF\u09BC",
+ date: "ISO \u09A4\u09BE\u09B0\u09BF\u0996",
+ time: "ISO \u09B8\u09AE\u09AF\u09BC",
+ duration: "ISO \u09B8\u09AE\u09AF\u09BC\u0995\u09BE\u09B2",
+ ipv4: "IPv4 \u09A0\u09BF\u0995\u09BE\u09A8\u09BE",
+ ipv6: "IPv6 \u09A0\u09BF\u0995\u09BE\u09A8\u09BE",
+ mac: "MAC \u09A0\u09BF\u0995\u09BE\u09A8\u09BE",
+ cidrv4: "IPv4 \u09B0\u09C7\u099E\u09CD\u099C",
+ cidrv6: "IPv6 \u09B0\u09C7\u099E\u09CD\u099C",
+ base64: "base64-\u098F\u09A8\u0995\u09CB\u09A1\u09C7\u09A1 \u09B8\u09CD\u099F\u09CD\u09B0\u09BF\u0982",
+ base64url: "base64url-\u098F\u09A8\u0995\u09CB\u09A1\u09C7\u09A1 \u09B8\u09CD\u099F\u09CD\u09B0\u09BF\u0982",
+ json_string: "JSON \u09B8\u09CD\u099F\u09CD\u09B0\u09BF\u0982",
+ e164: "E.164 \u09A8\u09AE\u09CD\u09AC\u09B0",
+ credit_card: "\u0995\u09CD\u09B0\u09C7\u09A1\u09BF\u099F \u0995\u09BE\u09B0\u09CD\u09A1 \u09A8\u09AE\u09CD\u09AC\u09B0",
+ currency_code: "\u09AE\u09C1\u09A6\u09CD\u09B0\u09BE \u0995\u09CB\u09A1",
+ iban: "IBAN",
+ jwt: "JWT",
+ template_literal: "\u0987\u09A8\u09AA\u09C1\u099F"
+ };
+ const TypeDictionary = {
+ nan: "NaN"
+ };
+ return (issue2) => {
+ switch (issue2.code) {
+ case "invalid_type": {
+ const expected = TypeDictionary[issue2.expected] ?? issue2.expected;
+ const receivedType = parsedType(issue2.input);
+ const received = TypeDictionary[receivedType] ?? receivedType;
+ return `\u0985\u09AC\u09C8\u09A7 \u0987\u09A8\u09AA\u09C1\u099F: \u09AA\u09CD\u09B0\u09A4\u09CD\u09AF\u09BE\u09B6\u09BF\u09A4 ${expected}, \u09AA\u09CD\u09B0\u09BE\u09AA\u09CD\u09A4 ${received}`;
+ }
+ case "invalid_value":
+ if (issue2.values.length === 1)
+ return `\u0985\u09AC\u09C8\u09A7 \u0987\u09A8\u09AA\u09C1\u099F: \u09AA\u09CD\u09B0\u09A4\u09CD\u09AF\u09BE\u09B6\u09BF\u09A4 ${stringifyPrimitive(issue2.values[0])}`;
+ return `\u0985\u09AC\u09C8\u09A7 \u0985\u09AA\u09B6\u09A8: ${joinValues(issue2.values, " | ")} \u098F\u09B0 \u09AE\u09A7\u09CD\u09AF\u09C7 \u098F\u0995\u099F\u09BF \u09AA\u09CD\u09B0\u09A4\u09CD\u09AF\u09BE\u09B6\u09BF\u09A4`;
+ case "too_big": {
+ const adj = issue2.inclusive ? "<=" : "<";
+ const sizing = getSizing(issue2.origin);
+ if (sizing)
+ return `\u0985\u09A8\u09C7\u0995 \u09AC\u09A1\u09BC: ${issue2.origin ?? "\u09AE\u09BE\u09A8"} ${adj}${issue2.maximum.toString()} ${sizing.unit ?? "\u098F\u09B2\u09BF\u09AE\u09C7\u09A8\u09CD\u099F"} \u09B9\u09A4\u09C7 \u09B9\u09AC\u09C7`;
+ return `\u0985\u09A8\u09C7\u0995 \u09AC\u09A1\u09BC: ${issue2.origin ?? "\u09AE\u09BE\u09A8"} ${adj}${issue2.maximum.toString()} \u09B9\u09A4\u09C7 \u09B9\u09AC\u09C7`;
+ }
+ case "too_small": {
+ const adj = issue2.inclusive ? ">=" : ">";
+ const sizing = getSizing(issue2.origin);
+ if (sizing) {
+ return `\u0985\u09A8\u09C7\u0995 \u099B\u09CB\u099F: ${issue2.origin} ${adj}${issue2.minimum.toString()} ${sizing.unit} \u09B9\u09A4\u09C7 \u09B9\u09AC\u09C7`;
+ }
+ return `\u0985\u09A8\u09C7\u0995 \u099B\u09CB\u099F: ${issue2.origin} ${adj}${issue2.minimum.toString()} \u09B9\u09A4\u09C7 \u09B9\u09AC\u09C7`;
+ }
+ case "invalid_format": {
+ const _issue = issue2;
+ if (_issue.format === "starts_with") {
+ return `\u0985\u09AC\u09C8\u09A7 \u09B8\u09CD\u099F\u09CD\u09B0\u09BF\u0982: "${_issue.prefix}" \u09A6\u09BF\u09AF\u09BC\u09C7 \u09B6\u09C1\u09B0\u09C1 \u09B9\u09A4\u09C7 \u09B9\u09AC\u09C7`;
+ }
+ if (_issue.format === "ends_with")
+ return `\u0985\u09AC\u09C8\u09A7 \u09B8\u09CD\u099F\u09CD\u09B0\u09BF\u0982: "${_issue.suffix}" \u09A6\u09BF\u09AF\u09BC\u09C7 \u09B6\u09C7\u09B7 \u09B9\u09A4\u09C7 \u09B9\u09AC\u09C7`;
+ if (_issue.format === "includes")
+ return `\u0985\u09AC\u09C8\u09A7 \u09B8\u09CD\u099F\u09CD\u09B0\u09BF\u0982: "${_issue.includes}" \u0985\u09A8\u09CD\u09A4\u09B0\u09CD\u09AD\u09C1\u0995\u09CD\u09A4 \u09A5\u09BE\u0995\u09A4\u09C7 \u09B9\u09AC\u09C7`;
+ if (_issue.format === "regex")
+ return `\u0985\u09AC\u09C8\u09A7 \u09B8\u09CD\u099F\u09CD\u09B0\u09BF\u0982: ${_issue.pattern} \u09AA\u09CD\u09AF\u09BE\u099F\u09BE\u09B0\u09CD\u09A8 \u09AE\u09BF\u09B2\u09A4\u09C7 \u09B9\u09AC\u09C7`;
+ return `\u0985\u09AC\u09C8\u09A7 ${FormatDictionary[_issue.format] ?? issue2.format}`;
+ }
+ case "not_multiple_of":
+ return `\u0985\u09AC\u09C8\u09A7 \u09A8\u09AE\u09CD\u09AC\u09B0: ${issue2.divisor} \u098F\u09B0 \u0997\u09C1\u09A3\u09BF\u09A4\u0995 \u09B9\u09A4\u09C7 \u09B9\u09AC\u09C7`;
+ case "unrecognized_keys":
+ return `\u0985\u099A\u09C7\u09A8\u09BE \u0995\u09C0${issue2.keys.length > 1 ? "\u0997\u09C1\u09B2\u09CB" : ""}: ${joinValues(issue2.keys, ", ")}`;
+ case "invalid_key":
+ return `${issue2.origin} \u098F \u0985\u09AC\u09C8\u09A7 \u0995\u09C0`;
+ case "invalid_union":
+ if (issue2.options && Array.isArray(issue2.options) && issue2.options.length > 0) {
+ const opts = issue2.options.map((o3) => `'${o3}'`).join(" | ");
+ return `\u0985\u09AC\u09C8\u09A7 \u09A1\u09BF\u09B8\u0995\u09CD\u09B0\u09BF\u09AE\u09BF\u09A8\u09C7\u099F\u09B0 \u09AE\u09BE\u09A8\u0964 \u09AA\u09CD\u09B0\u09A4\u09CD\u09AF\u09BE\u09B6\u09BF\u09A4 ${opts}`;
+ }
+ return "\u0985\u09AC\u09C8\u09A7 \u0987\u09A8\u09AA\u09C1\u099F";
+ case "invalid_element":
+ return `${issue2.origin} \u098F \u0985\u09AC\u09C8\u09A7 \u09AE\u09BE\u09A8`;
+ default:
+ return "\u0985\u09AC\u09C8\u09A7 \u0987\u09A8\u09AA\u09C1\u099F";
+ }
+ };
+}, "error");
+function bn_default() {
+ return {
+ localeError: error5()
+ };
+}
+__name(bn_default, "default");
+
+// ../../node_modules/.pnpm/zod@4.6.7/node_modules/zod/v4/locales/ca.js
+var error6 = /* @__PURE__ */ __name(() => {
+ const Sizable = {
+ string: { unit: "car\xE0cters", verb: "contenir" },
+ file: { unit: "bytes", verb: "contenir" },
+ array: { unit: "elements", verb: "contenir" },
+ set: { unit: "elements", verb: "contenir" },
+ map: { unit: "elements", verb: "contenir" }
+ };
+ function getSizing(origin) {
+ return Sizable[origin] ?? null;
+ }
+ __name(getSizing, "getSizing");
+ const FormatDictionary = {
+ regex: "entrada",
+ email: "adre\xE7a electr\xF2nica",
+ url: "URL",
+ emoji: "emoji",
+ uuid: "UUID",
+ uuidv4: "UUIDv4",
+ uuidv6: "UUIDv6",
+ nanoid: "nanoid",
+ guid: "GUID",
+ cuid: "cuid",
+ cuid2: "cuid2",
+ ulid: "ULID",
+ xid: "XID",
+ ksuid: "KSUID",
+ datetime: "data i hora ISO",
+ date: "data ISO",
+ time: "hora ISO",
+ duration: "durada ISO",
+ ipv4: "adre\xE7a IPv4",
+ ipv6: "adre\xE7a IPv6",
+ mac: "adre\xE7a MAC",
+ cidrv4: "rang IPv4",
+ cidrv6: "rang IPv6",
+ base64: "cadena codificada en base64",
+ base64url: "cadena codificada en base64url",
+ json_string: "cadena JSON",
+ e164: "n\xFAmero E.164",
+ credit_card: "n\xFAmero de targeta de cr\xE8dit",
+ currency_code: "codi de moneda",
+ iban: "IBAN",
+ jwt: "JWT",
+ template_literal: "entrada"
+ };
+ const TypeDictionary = {
+ nan: "NaN"
+ };
+ return (issue2) => {
+ switch (issue2.code) {
+ case "invalid_type": {
+ const expected = TypeDictionary[issue2.expected] ?? issue2.expected;
+ const receivedType = parsedType(issue2.input);
+ const received = TypeDictionary[receivedType] ?? receivedType;
+ if (/^[A-Z]/.test(issue2.expected)) {
+ return `Tipus inv\xE0lid: s'esperava instanceof ${issue2.expected}, s'ha rebut ${received}`;
+ }
+ return `Tipus inv\xE0lid: s'esperava ${expected}, s'ha rebut ${received}`;
+ }
+ case "invalid_value":
+ if (issue2.values.length === 1)
+ return `Valor inv\xE0lid: s'esperava ${stringifyPrimitive(issue2.values[0])}`;
+ return `Opci\xF3 inv\xE0lida: s'esperava una de ${joinValues(issue2.values, " o ")}`;
+ case "too_big": {
+ const adj = issue2.inclusive ? "com a m\xE0xim" : "menys de";
+ const sizing = getSizing(issue2.origin);
+ if (sizing)
+ return `Massa gran: s'esperava que ${issue2.origin ?? "el valor"} contingu\xE9s ${adj} ${issue2.maximum.toString()} ${sizing.unit ?? "elements"}`;
+ return `Massa gran: s'esperava que ${issue2.origin ?? "el valor"} fos ${adj} ${issue2.maximum.toString()}`;
+ }
+ case "too_small": {
+ const adj = issue2.inclusive ? "com a m\xEDnim" : "m\xE9s de";
+ const sizing = getSizing(issue2.origin);
+ if (sizing) {
+ return `Massa petit: s'esperava que ${issue2.origin} contingu\xE9s ${adj} ${issue2.minimum.toString()} ${sizing.unit}`;
+ }
+ return `Massa petit: s'esperava que ${issue2.origin} fos ${adj} ${issue2.minimum.toString()}`;
+ }
+ case "invalid_format": {
+ const _issue = issue2;
+ if (_issue.format === "starts_with") {
+ return `Format inv\xE0lid: ha de comen\xE7ar amb "${_issue.prefix}"`;
+ }
+ if (_issue.format === "ends_with")
+ return `Format inv\xE0lid: ha d'acabar amb "${_issue.suffix}"`;
+ if (_issue.format === "includes")
+ return `Format inv\xE0lid: ha d'incloure "${_issue.includes}"`;
+ if (_issue.format === "regex")
+ return `Format inv\xE0lid: ha de coincidir amb el patr\xF3 ${_issue.pattern}`;
+ return `Format inv\xE0lid per a ${FormatDictionary[_issue.format] ?? issue2.format}`;
+ }
+ case "not_multiple_of":
+ return `N\xFAmero inv\xE0lid: ha de ser m\xFAltiple de ${issue2.divisor}`;
+ case "unrecognized_keys":
+ return `Clau${issue2.keys.length > 1 ? "s" : ""} no reconeguda${issue2.keys.length > 1 ? "s" : ""}: ${joinValues(issue2.keys, ", ")}`;
+ case "invalid_key":
+ return `Clau inv\xE0lida a ${issue2.origin}`;
+ case "invalid_union":
+ return "Entrada inv\xE0lida";
+ // Could also be "Tipus d'unió invàlid" but "Entrada invàlida" is more general
+ case "invalid_element":
+ return `Element inv\xE0lid a ${issue2.origin}`;
+ default:
+ return `Entrada inv\xE0lida`;
+ }
+ };
+}, "error");
+function ca_default() {
+ return {
+ localeError: error6()
+ };
+}
+__name(ca_default, "default");
+
+// ../../node_modules/.pnpm/zod@4.6.7/node_modules/zod/v4/locales/ckb.js
+var error7 = /* @__PURE__ */ __name(() => {
+ const Sizable = {
+ string: { unit: "\u067E\u06CC\u062A", verb: "\u0628\u06CE\u062A" },
+ file: { unit: "\u0628\u0627\u06CC\u062A", verb: "\u0628\u06CE\u062A" },
+ array: { unit: "\u062F\u0627\u0646\u06D5", verb: "\u0628\u06CE\u062A" },
+ set: { unit: "\u062F\u0627\u0646\u06D5", verb: "\u0628\u06CE\u062A" },
+ map: { unit: "\u062F\u0627\u0646\u06D5", verb: "\u0628\u06CE\u062A" }
+ };
+ function getSizing(origin) {
+ return Sizable[origin] ?? null;
+ }
+ __name(getSizing, "getSizing");
+ const FormatDictionary = {
+ regex: "regex",
+ email: "\u0626\u06CC\u0645\u06D5\u06CC\u06B5",
+ url: "\u0628\u06D5\u0633\u062A\u06D5\u0631 (URL)",
+ emoji: "\u0626\u06CC\u0645\u06C6\u062C\u06CC",
+ uuid: "UUID",
+ uuidv4: "UUIDv4",
+ uuidv6: "UUIDv6",
+ nanoid: "nanoid",
+ guid: "GUID",
+ cuid: "cuid",
+ cuid2: "cuid2",
+ ulid: "ULID",
+ xid: "XID",
+ ksuid: "KSUID",
+ datetime: "\u0695\u06CE\u06A9\u06D5\u0648\u062A \u0648 \u06A9\u0627\u062A",
+ date: "\u0695\u06CE\u06A9\u06D5\u0648\u062A",
+ time: "\u06A9\u0627\u062A",
+ duration: "\u0645\u0627\u0648\u06D5",
+ ipv4: "\u0646\u0627\u0648\u0646\u06CC\u0634\u0627\u0646\u06CC IPv4",
+ ipv6: "\u0646\u0627\u0648\u0646\u06CC\u0634\u0627\u0646\u06CC IPv6",
+ mac: "\u0646\u0627\u0648\u0646\u06CC\u0634\u0627\u0646\u06CC MAC",
+ cidrv4: "\u0645\u06D5\u0648\u062F\u0627\u06CC IPv4",
+ cidrv6: "\u0645\u06D5\u0648\u062F\u0627\u06CC IPv6",
+ base64: "\u062F\u06D5\u0642\u06CC base64",
+ base64url: "\u062F\u06D5\u0642\u06CC base64url",
+ json_string: "\u062F\u06D5\u0642\u06CC JSON",
+ e164: "\u0698\u0645\u0627\u0631\u06D5\u06CC E.164",
+ credit_card: "\u0698\u0645\u0627\u0631\u06D5\u06CC \u06A9\u0627\u0631\u062A\u06CC \u06A9\u0631\u06CE\u062F\u06CC\u062A",
+ currency_code: "\u06A9\u06C6\u062F\u06CC \u062F\u0631\u0627\u0648",
+ iban: "IBAN",
+ jwt: "JWT",
+ template_literal: "\u062A\u06CE\u06A9\u0631\u062F\u06D5"
+ };
+ const TypeDictionary = {
+ nan: "NaN",
+ string: "\u0646\u0648\u0648\u0633\u06CC\u0646",
+ number: "\u0698\u0645\u0627\u0631\u06D5",
+ boolean: "boolean",
+ array: "array",
+ object: "object",
+ date: "\u0695\u06CE\u06A9\u06D5\u0648\u062A",
+ integer: "\u0698\u0645\u0627\u0631\u06D5",
+ float: "\u0698\u0645\u0627\u0631\u06D5",
+ null: "null",
+ undefined: "undefined",
+ function: "function",
+ symbol: "symbol",
+ unknown: "unknown",
+ promise: "promise",
+ void: "void",
+ never: "never",
+ map: "map",
+ set: "set"
+ };
+ return (issue2) => {
+ switch (issue2.code) {
+ case "invalid_type": {
+ const expected = TypeDictionary[issue2.expected] ?? issue2.expected;
+ const receivedType = parsedType(issue2.input);
+ const received = TypeDictionary[receivedType] ?? receivedType;
+ const postfix = ["\u0627", "\u0648", "\u06C6", "\u0648\u0648", "\u06D5", "\u06CC", "\u06CE"].some((p3) => received.endsWith(p3)) ? "\u06CC\u06D5" : "\u06D5";
+ const isEnglish = /^[a-zA-Z]+$/.test(received);
+ if (receivedType === "null" || receivedType === "undefined")
+ return `\u062F\u0627\u0648\u0627\u06A9\u0631\u0627\u0648\u06D5`;
+ return `\u0686\u0627\u0648\u06D5\u0695\u0648\u0627\u0646\u06A9\u0631\u0627\u0648\u06D5 ${expected} \u0628\u06CE\u062A\u060C \u0628\u06D5\u06B5\u0627\u0645 ${received}${isEnglish ? "" : postfix}`;
+ }
+ case "invalid_value":
+ if (issue2.values.length === 1)
+ return `\u0628\u06D5\u0647\u0627\u06A9\u06D5 \u0646\u0627\u062F\u0631\u0648\u0648\u0633\u062A\u06D5: \u0686\u0627\u0648\u06D5\u0695\u0648\u0627\u0646\u06A9\u0631\u0627\u0648\u06D5 ${stringifyPrimitive(issue2.values[0])} \u0628\u06CE\u062A`;
+ return `\u0647\u06D5\u06B5\u0628\u0698\u0627\u0631\u062F\u06D5\u06CC \u0646\u0627\u062F\u0631\u0648\u0633\u062A: \u0686\u0627\u0648\u06D5\u0695\u0648\u0627\u0646\u06A9\u0631\u0627\u0648\u06D5 \u06CC\u06D5\u06A9\u06CE\u06A9 \u0628\u06CE\u062A \u0644\u06D5 ${joinValues(issue2.values, "|")}`;
+ case "too_big": {
+ const sizing = getSizing(issue2.origin);
+ if (sizing)
+ return `\u067E\u06CE\u0648\u06CC\u0633\u062A\u06D5 \u0628\u06D5 \u0644\u0627\u06CC\u06D5\u0646\u06CC \u0632\u06C6\u0631\u06D5\u0648\u06D5 ${issue2.maximum.toString()} ${sizing.unit} ${sizing.verb}`;
+ return `\u067E\u06CE\u0648\u06CC\u0633\u062A\u06D5 \u0628\u06D5 \u0644\u0627\u06CC\u06D5\u0646\u06CC \u0632\u06C6\u0631\u06D5\u0648\u06D5 ${issue2.maximum.toString()} \u0628\u06CE\u062A`;
+ }
+ case "too_small": {
+ const sizing = getSizing(issue2.origin);
+ if (sizing)
+ return `\u067E\u06CE\u0648\u06CC\u0633\u062A\u06D5 \u0628\u06D5 \u0644\u0627\u06CC\u06D5\u0646\u06CC \u06A9\u06D5\u0645\u06D5\u0648\u06D5 ${issue2.minimum.toString()} ${sizing.unit} ${sizing.verb}`;
+ return `\u067E\u06CE\u0648\u06CC\u0633\u062A\u06D5 \u0628\u06D5 \u0644\u0627\u06CC\u06D5\u0646\u06CC \u06A9\u06D5\u0645\u06D5\u0648\u06D5 ${issue2.minimum.toString()} \u0628\u06CE\u062A`;
+ }
+ case "invalid_format": {
+ const _issue = issue2;
+ if (_issue.format === "starts_with") {
+ return `\u062F\u06D5\u0642\u06CC \u0646\u0627\u062F\u0631\u0648\u0633\u062A: \u067E\u06CE\u0648\u06CC\u0633\u062A\u06D5 \u062F\u06D5\u0633\u062A\u067E\u06CE\u0628\u06A9\u0627\u062A \u0628\u06D5 "${_issue.prefix}"`;
+ }
+ if (_issue.format === "ends_with")
+ return `\u062F\u06D5\u0642\u06CC \u0646\u0627\u062F\u0631\u0648\u0633\u062A: \u067E\u06CE\u0648\u06CC\u0633\u062A\u06D5 \u06A9\u06C6\u062A\u0627\u06CC\u06CC\u0628\u06CE\u062A \u0628\u06D5 "${_issue.suffix}"`;
+ if (_issue.format === "includes")
+ return `\u062F\u06D5\u0642\u06CC \u0646\u0627\u062F\u0631\u0648\u0633\u062A: \u067E\u06CE\u0648\u06CC\u0633\u062A\u06D5 "${_issue.includes}" \u0644\u06D5\u062E\u06C6\u0628\u06AF\u0631\u06CE\u062A`;
+ if (_issue.format === "regex")
+ return `\u062F\u06D5\u0642\u06CC \u0646\u0627\u062F\u0631\u0648\u0633\u062A: \u067E\u06CE\u0648\u06CC\u0633\u062A\u06D5 \u0644\u06D5\u06AF\u06D5\u06B5 \u067E\u0627\u062A\u06CE\u0631\u0646\u06CC ${_issue.pattern} \u0628\u06AF\u0648\u0646\u062C\u06CE\u062A`;
+ return `\u0628\u06D5\u0647\u0627\u06CC ${FormatDictionary[_issue.format] ?? issue2.format} \u0646\u0627\u062F\u0631\u0648\u0633\u062A\u06D5`;
+ }
+ case "not_multiple_of":
+ return `\u0698\u0645\u0627\u0631\u06D5\u06CC \u0646\u0627\u062F\u0631\u0648\u0633\u062A: \u062F\u06D5\u0628\u06CE\u062A \u0686\u06D5\u0646\u062F \u0647\u06CE\u0646\u062F\u06D5 \u0628\u06CE\u062A \u0628\u06C6 ${issue2.divisor}`;
+ case "unrecognized_keys":
+ return `\u06A9\u0644\u06CC\u0644\u06CC \u0646\u06D5\u0646\u0627\u0633\u0631\u0627\u0648: ${joinValues(issue2.keys, ", ")}`;
+ case "invalid_key":
+ return `\u06A9\u0644\u06CC\u0644\u06CC \u0646\u0627\u062F\u0631\u0648\u0633\u062A \u0644\u06D5 ${issue2.origin}`;
+ case "invalid_union":
+ if (issue2.options && Array.isArray(issue2.options) && issue2.options.length > 0) {
+ const opts = issue2.options.map((o3) => `'${o3}'`).join(" | ");
+ return `\u0628\u06D5\u0647\u0627\u06CC \u0646\u06D5\u0646\u0627\u0633\u0631\u0627\u0648 \u0647\u06D5\u06CC\u06D5. \u0628\u06D5\u0647\u0627\u06CC \u0686\u0627\u0648\u06D5\u0695\u0648\u0627\u0646\u06A9\u0631\u0627\u0648: ${opts}`;
+ }
+ return "\u06CC\u06D5\u06A9\u06AF\u0631\u062A\u0646\u06CC \u0646\u0627\u062F\u0631\u0648\u0633\u062A";
+ case "invalid_element":
+ return `${issue2.origin} \u0628\u06D5\u0647\u0627\u06A9\u06D5 \u0646\u0627\u062F\u0631\u0648\u0633\u062A\u06D5`;
+ default:
+ return `\u062A\u06CE\u06A9\u0631\u062F\u06D5\u06CC \u0646\u0627\u062F\u0631\u0648\u0633\u062A`;
+ }
+ };
+}, "error");
+function ckb_default() {
+ return {
+ localeError: error7()
+ };
+}
+__name(ckb_default, "default");
+
+// ../../node_modules/.pnpm/zod@4.6.7/node_modules/zod/v4/locales/cs.js
+var error8 = /* @__PURE__ */ __name(() => {
+ const Sizable = {
+ string: { unit: "znak\u016F", verb: "m\xEDt" },
+ file: { unit: "bajt\u016F", verb: "m\xEDt" },
+ array: { unit: "prvk\u016F", verb: "m\xEDt" },
+ set: { unit: "prvk\u016F", verb: "m\xEDt" },
+ map: { unit: "prvk\u016F", verb: "m\xEDt" }
+ };
+ function getSizing(origin) {
+ return Sizable[origin] ?? null;
+ }
+ __name(getSizing, "getSizing");
+ const FormatDictionary = {
+ regex: "regul\xE1rn\xED v\xFDraz",
+ email: "e-mailov\xE1 adresa",
+ url: "URL",
+ emoji: "emoji",
+ uuid: "UUID",
+ uuidv4: "UUIDv4",
+ uuidv6: "UUIDv6",
+ nanoid: "nanoid",
+ guid: "GUID",
+ cuid: "cuid",
+ cuid2: "cuid2",
+ ulid: "ULID",
+ xid: "XID",
+ ksuid: "KSUID",
+ datetime: "datum a \u010Das ve form\xE1tu ISO",
+ date: "datum ve form\xE1tu ISO",
+ time: "\u010Das ve form\xE1tu ISO",
+ duration: "doba trv\xE1n\xED ISO",
+ ipv4: "IPv4 adresa",
+ ipv6: "IPv6 adresa",
+ mac: "MAC adresa",
+ cidrv4: "rozsah IPv4",
+ cidrv6: "rozsah IPv6",
+ base64: "\u0159et\u011Bzec zak\xF3dovan\xFD ve form\xE1tu base64",
+ base64url: "\u0159et\u011Bzec zak\xF3dovan\xFD ve form\xE1tu base64url",
+ json_string: "\u0159et\u011Bzec ve form\xE1tu JSON",
+ e164: "\u010D\xEDslo E.164",
+ credit_card: "\u010D\xEDslo kreditn\xED karty",
+ currency_code: "k\xF3d m\u011Bny",
+ iban: "IBAN",
+ jwt: "JWT",
+ template_literal: "vstup"
+ };
+ const TypeDictionary = {
+ nan: "NaN",
+ number: "\u010D\xEDslo",
+ string: "\u0159et\u011Bzec",
+ function: "funkce",
+ array: "pole"
+ };
+ return (issue2) => {
+ switch (issue2.code) {
+ case "invalid_type": {
+ const expected = TypeDictionary[issue2.expected] ?? issue2.expected;
+ const receivedType = parsedType(issue2.input);
+ const received = TypeDictionary[receivedType] ?? receivedType;
+ if (/^[A-Z]/.test(issue2.expected)) {
+ return `Neplatn\xFD vstup: o\u010Dek\xE1v\xE1no instanceof ${issue2.expected}, obdr\u017Eeno ${received}`;
+ }
+ return `Neplatn\xFD vstup: o\u010Dek\xE1v\xE1no ${expected}, obdr\u017Eeno ${received}`;
+ }
+ case "invalid_value":
+ if (issue2.values.length === 1)
+ return `Neplatn\xFD vstup: o\u010Dek\xE1v\xE1no ${stringifyPrimitive(issue2.values[0])}`;
+ return `Neplatn\xE1 mo\u017Enost: o\u010Dek\xE1v\xE1na jedna z hodnot ${joinValues(issue2.values, "|")}`;
+ case "too_big": {
+ const adj = issue2.inclusive ? "<=" : "<";
+ const sizing = getSizing(issue2.origin);
+ if (sizing) {
+ return `Hodnota je p\u0159\xEDli\u0161 velk\xE1: ${issue2.origin ?? "hodnota"} mus\xED m\xEDt ${adj}${issue2.maximum.toString()} ${sizing.unit ?? "prvk\u016F"}`;
+ }
+ return `Hodnota je p\u0159\xEDli\u0161 velk\xE1: ${issue2.origin ?? "hodnota"} mus\xED b\xFDt ${adj}${issue2.maximum.toString()}`;
+ }
+ case "too_small": {
+ const adj = issue2.inclusive ? ">=" : ">";
+ const sizing = getSizing(issue2.origin);
+ if (sizing) {
+ return `Hodnota je p\u0159\xEDli\u0161 mal\xE1: ${issue2.origin ?? "hodnota"} mus\xED m\xEDt ${adj}${issue2.minimum.toString()} ${sizing.unit ?? "prvk\u016F"}`;
+ }
+ return `Hodnota je p\u0159\xEDli\u0161 mal\xE1: ${issue2.origin ?? "hodnota"} mus\xED b\xFDt ${adj}${issue2.minimum.toString()}`;
+ }
+ case "invalid_format": {
+ const _issue = issue2;
+ if (_issue.format === "starts_with")
+ return `Neplatn\xFD \u0159et\u011Bzec: mus\xED za\u010D\xEDnat na "${_issue.prefix}"`;
+ if (_issue.format === "ends_with")
+ return `Neplatn\xFD \u0159et\u011Bzec: mus\xED kon\u010Dit na "${_issue.suffix}"`;
+ if (_issue.format === "includes")
+ return `Neplatn\xFD \u0159et\u011Bzec: mus\xED obsahovat "${_issue.includes}"`;
+ if (_issue.format === "regex")
+ return `Neplatn\xFD \u0159et\u011Bzec: mus\xED odpov\xEDdat vzoru ${_issue.pattern}`;
+ return `Neplatn\xFD form\xE1t ${FormatDictionary[_issue.format] ?? issue2.format}`;
+ }
+ case "not_multiple_of":
+ return `Neplatn\xE9 \u010D\xEDslo: mus\xED b\xFDt n\xE1sobkem ${issue2.divisor}`;
+ case "unrecognized_keys":
+ return `Nezn\xE1m\xE9 kl\xED\u010De: ${joinValues(issue2.keys, ", ")}`;
+ case "invalid_key":
+ return `Neplatn\xFD kl\xED\u010D v ${issue2.origin}`;
+ case "invalid_union":
+ return "Neplatn\xFD vstup";
+ case "invalid_element":
+ return `Neplatn\xE1 hodnota v ${issue2.origin}`;
+ default:
+ return `Neplatn\xFD vstup`;
+ }
+ };
+}, "error");
+function cs_default() {
+ return {
+ localeError: error8()
+ };
+}
+__name(cs_default, "default");
+
+// ../../node_modules/.pnpm/zod@4.6.7/node_modules/zod/v4/locales/da.js
+var error9 = /* @__PURE__ */ __name(() => {
+ const Sizable = {
+ string: { unit: "tegn", verb: "havde" },
+ file: { unit: "bytes", verb: "havde" },
+ array: { unit: "elementer", verb: "indeholdt" },
+ set: { unit: "elementer", verb: "indeholdt" },
+ map: { unit: "elementer", verb: "indeholdt" }
+ };
+ function getSizing(origin) {
+ return Sizable[origin] ?? null;
+ }
+ __name(getSizing, "getSizing");
+ const FormatDictionary = {
+ regex: "input",
+ email: "e-mailadresse",
+ url: "URL",
+ emoji: "emoji",
+ uuid: "UUID",
+ uuidv4: "UUIDv4",
+ uuidv6: "UUIDv6",
+ nanoid: "nanoid",
+ guid: "GUID",
+ cuid: "cuid",
+ cuid2: "cuid2",
+ ulid: "ULID",
+ xid: "XID",
+ ksuid: "KSUID",
+ datetime: "ISO dato- og klokkesl\xE6t",
+ date: "ISO-dato",
+ time: "ISO-klokkesl\xE6t",
+ duration: "ISO-varighed",
+ ipv4: "IPv4-adresse",
+ ipv6: "IPv6-adresse",
+ mac: "MAC-adresse",
+ cidrv4: "IPv4-spektrum",
+ cidrv6: "IPv6-spektrum",
+ base64: "base64-kodet streng",
+ base64url: "base64url-kodet streng",
+ json_string: "JSON-streng",
+ e164: "E.164-nummer",
+ credit_card: "kreditkortnummer",
+ currency_code: "valutakode",
+ iban: "IBAN",
+ jwt: "JWT",
+ template_literal: "input"
+ };
+ const TypeDictionary = {
+ nan: "NaN",
+ string: "streng",
+ number: "tal",
+ boolean: "boolean",
+ array: "liste",
+ object: "objekt",
+ set: "s\xE6t",
+ file: "fil"
+ };
+ return (issue2) => {
+ switch (issue2.code) {
+ case "invalid_type": {
+ const expected = TypeDictionary[issue2.expected] ?? issue2.expected;
+ const receivedType = parsedType(issue2.input);
+ const received = TypeDictionary[receivedType] ?? receivedType;
+ if (/^[A-Z]/.test(issue2.expected)) {
+ return `Ugyldigt input: forventede instanceof ${issue2.expected}, fik ${received}`;
+ }
+ return `Ugyldigt input: forventede ${expected}, fik ${received}`;
+ }
+ case "invalid_value":
+ if (issue2.values.length === 1)
+ return `Ugyldig v\xE6rdi: forventede ${stringifyPrimitive(issue2.values[0])}`;
+ return `Ugyldigt valg: forventede en af f\xF8lgende ${joinValues(issue2.values, "|")}`;
+ case "too_big": {
+ const adj = issue2.inclusive ? "<=" : "<";
+ const sizing = getSizing(issue2.origin);
+ const origin = TypeDictionary[issue2.origin] ?? issue2.origin;
+ if (sizing)
+ return `For stor: forventede ${origin ?? "value"} ${sizing.verb} ${adj} ${issue2.maximum.toString()} ${sizing.unit ?? "elementer"}`;
+ return `For stor: forventede ${origin ?? "value"} havde ${adj} ${issue2.maximum.toString()}`;
+ }
+ case "too_small": {
+ const adj = issue2.inclusive ? ">=" : ">";
+ const sizing = getSizing(issue2.origin);
+ const origin = TypeDictionary[issue2.origin] ?? issue2.origin;
+ if (sizing) {
+ return `For lille: forventede ${origin} ${sizing.verb} ${adj} ${issue2.minimum.toString()} ${sizing.unit}`;
+ }
+ return `For lille: forventede ${origin} havde ${adj} ${issue2.minimum.toString()}`;
+ }
+ case "invalid_format": {
+ const _issue = issue2;
+ if (_issue.format === "starts_with")
+ return `Ugyldig streng: skal starte med "${_issue.prefix}"`;
+ if (_issue.format === "ends_with")
+ return `Ugyldig streng: skal ende med "${_issue.suffix}"`;
+ if (_issue.format === "includes")
+ return `Ugyldig streng: skal indeholde "${_issue.includes}"`;
+ if (_issue.format === "regex")
+ return `Ugyldig streng: skal matche m\xF8nsteret ${_issue.pattern}`;
+ return `Ugyldig ${FormatDictionary[_issue.format] ?? issue2.format}`;
+ }
+ case "not_multiple_of":
+ return `Ugyldigt tal: skal v\xE6re deleligt med ${issue2.divisor}`;
+ case "unrecognized_keys":
+ return `${issue2.keys.length > 1 ? "Ukendte n\xF8gler" : "Ukendt n\xF8gle"}: ${joinValues(issue2.keys, ", ")}`;
+ case "invalid_key":
+ return `Ugyldig n\xF8gle i ${issue2.origin}`;
+ case "invalid_union":
+ return "Ugyldigt input: matcher ingen af de tilladte typer";
+ case "invalid_element":
+ return `Ugyldig v\xE6rdi i ${issue2.origin}`;
+ default:
+ return `Ugyldigt input`;
+ }
+ };
+}, "error");
+function da_default() {
+ return {
+ localeError: error9()
+ };
+}
+__name(da_default, "default");
+
+// ../../node_modules/.pnpm/zod@4.6.7/node_modules/zod/v4/locales/de.js
+var error10 = /* @__PURE__ */ __name(() => {
+ const Sizable = {
+ string: { unit: "Zeichen", verb: "zu haben" },
+ file: { unit: "Bytes", verb: "zu haben" },
+ array: { unit: "Elemente", verb: "zu haben" },
+ set: { unit: "Elemente", verb: "zu haben" },
+ map: { unit: "Elemente", verb: "zu haben" }
+ };
+ function getSizing(origin) {
+ return Sizable[origin] ?? null;
+ }
+ __name(getSizing, "getSizing");
+ const FormatDictionary = {
+ regex: "Eingabe",
+ email: "E-Mail-Adresse",
+ url: "URL",
+ emoji: "Emoji",
+ uuid: "UUID",
+ uuidv4: "UUIDv4",
+ uuidv6: "UUIDv6",
+ nanoid: "nanoid",
+ guid: "GUID",
+ cuid: "cuid",
+ cuid2: "cuid2",
+ ulid: "ULID",
+ xid: "XID",
+ ksuid: "KSUID",
+ datetime: "ISO-Datum und -Uhrzeit",
+ date: "ISO-Datum",
+ time: "ISO-Uhrzeit",
+ duration: "ISO-Dauer",
+ ipv4: "IPv4-Adresse",
+ ipv6: "IPv6-Adresse",
+ mac: "MAC-Adresse",
+ cidrv4: "IPv4-Bereich",
+ cidrv6: "IPv6-Bereich",
+ base64: "Base64-codierter String",
+ base64url: "Base64-URL-codierter String",
+ json_string: "JSON-String",
+ e164: "E.164-Nummer",
+ credit_card: "Kreditkartennummer",
+ currency_code: "W\xE4hrungscode",
+ iban: "IBAN",
+ jwt: "JWT",
+ template_literal: "Eingabe"
+ };
+ const TypeDictionary = {
+ nan: "NaN",
+ number: "Zahl",
+ array: "Array"
+ };
+ return (issue2) => {
+ switch (issue2.code) {
+ case "invalid_type": {
+ const expected = TypeDictionary[issue2.expected] ?? issue2.expected;
+ const receivedType = parsedType(issue2.input);
+ const received = TypeDictionary[receivedType] ?? receivedType;
+ if (/^[A-Z]/.test(issue2.expected)) {
+ return `Ung\xFCltige Eingabe: erwartet instanceof ${issue2.expected}, erhalten ${received}`;
+ }
+ return `Ung\xFCltige Eingabe: erwartet ${expected}, erhalten ${received}`;
+ }
+ case "invalid_value":
+ if (issue2.values.length === 1)
+ return `Ung\xFCltige Eingabe: erwartet ${stringifyPrimitive(issue2.values[0])}`;
+ return `Ung\xFCltige Option: erwartet eine von ${joinValues(issue2.values, "|")}`;
+ case "too_big": {
+ const adj = issue2.inclusive ? "<=" : "<";
+ const sizing = getSizing(issue2.origin);
+ if (sizing)
+ return `Zu gro\xDF: erwartet, dass ${issue2.origin ?? "Wert"} ${adj}${issue2.maximum.toString()} ${sizing.unit ?? "Elemente"} hat`;
+ return `Zu gro\xDF: erwartet, dass ${issue2.origin ?? "Wert"} ${adj}${issue2.maximum.toString()} ist`;
+ }
+ case "too_small": {
+ const adj = issue2.inclusive ? ">=" : ">";
+ const sizing = getSizing(issue2.origin);
+ if (sizing) {
+ return `Zu klein: erwartet, dass ${issue2.origin} ${adj}${issue2.minimum.toString()} ${sizing.unit} hat`;
+ }
+ return `Zu klein: erwartet, dass ${issue2.origin} ${adj}${issue2.minimum.toString()} ist`;
+ }
+ case "invalid_format": {
+ const _issue = issue2;
+ if (_issue.format === "starts_with")
+ return `Ung\xFCltiger String: muss mit "${_issue.prefix}" beginnen`;
+ if (_issue.format === "ends_with")
+ return `Ung\xFCltiger String: muss mit "${_issue.suffix}" enden`;
+ if (_issue.format === "includes")
+ return `Ung\xFCltiger String: muss "${_issue.includes}" enthalten`;
+ if (_issue.format === "regex")
+ return `Ung\xFCltiger String: muss dem Muster ${_issue.pattern} entsprechen`;
+ return `Ung\xFCltig: ${FormatDictionary[_issue.format] ?? issue2.format}`;
+ }
+ case "not_multiple_of":
+ return `Ung\xFCltige Zahl: muss ein Vielfaches von ${issue2.divisor} sein`;
+ case "unrecognized_keys":
+ return `${issue2.keys.length > 1 ? "Unbekannte Schl\xFCssel" : "Unbekannter Schl\xFCssel"}: ${joinValues(issue2.keys, ", ")}`;
+ case "invalid_key":
+ return `Ung\xFCltiger Schl\xFCssel in ${issue2.origin}`;
+ case "invalid_union":
+ return "Ung\xFCltige Eingabe";
+ case "invalid_element":
+ return `Ung\xFCltiger Wert in ${issue2.origin}`;
+ default:
+ return `Ung\xFCltige Eingabe`;
+ }
+ };
+}, "error");
+function de_default() {
+ return {
+ localeError: error10()
+ };
+}
+__name(de_default, "default");
+
+// ../../node_modules/.pnpm/zod@4.6.7/node_modules/zod/v4/locales/el.js
+var error11 = /* @__PURE__ */ __name(() => {
+ const Sizable = {
+ string: { unit: "\u03C7\u03B1\u03C1\u03B1\u03BA\u03C4\u03AE\u03C1\u03B5\u03C2", verb: "\u03BD\u03B1 \u03AD\u03C7\u03B5\u03B9" },
+ file: { unit: "bytes", verb: "\u03BD\u03B1 \u03AD\u03C7\u03B5\u03B9" },
+ array: { unit: "\u03C3\u03C4\u03BF\u03B9\u03C7\u03B5\u03AF\u03B1", verb: "\u03BD\u03B1 \u03AD\u03C7\u03B5\u03B9" },
+ set: { unit: "\u03C3\u03C4\u03BF\u03B9\u03C7\u03B5\u03AF\u03B1", verb: "\u03BD\u03B1 \u03AD\u03C7\u03B5\u03B9" },
+ map: { unit: "\u03BA\u03B1\u03C4\u03B1\u03C7\u03C9\u03C1\u03AE\u03C3\u03B5\u03B9\u03C2", verb: "\u03BD\u03B1 \u03AD\u03C7\u03B5\u03B9" }
+ };
+ function getSizing(origin) {
+ return Sizable[origin] ?? null;
+ }
+ __name(getSizing, "getSizing");
+ const FormatDictionary = {
+ regex: "\u03B5\u03AF\u03C3\u03BF\u03B4\u03BF\u03C2",
+ email: "\u03B4\u03B9\u03B5\u03CD\u03B8\u03C5\u03BD\u03C3\u03B7 email",
+ url: "URL",
+ emoji: "emoji",
+ uuid: "UUID",
+ uuidv4: "UUIDv4",
+ uuidv6: "UUIDv6",
+ nanoid: "nanoid",
+ guid: "GUID",
+ cuid: "cuid",
+ cuid2: "cuid2",
+ ulid: "ULID",
+ xid: "XID",
+ ksuid: "KSUID",
+ datetime: "ISO \u03B7\u03BC\u03B5\u03C1\u03BF\u03BC\u03B7\u03BD\u03AF\u03B1 \u03BA\u03B1\u03B9 \u03CE\u03C1\u03B1",
+ date: "ISO \u03B7\u03BC\u03B5\u03C1\u03BF\u03BC\u03B7\u03BD\u03AF\u03B1",
+ time: "ISO \u03CE\u03C1\u03B1",
+ duration: "ISO \u03B4\u03B9\u03AC\u03C1\u03BA\u03B5\u03B9\u03B1",
+ ipv4: "\u03B4\u03B9\u03B5\u03CD\u03B8\u03C5\u03BD\u03C3\u03B7 IPv4",
+ ipv6: "\u03B4\u03B9\u03B5\u03CD\u03B8\u03C5\u03BD\u03C3\u03B7 IPv6",
+ mac: "\u03B4\u03B9\u03B5\u03CD\u03B8\u03C5\u03BD\u03C3\u03B7 MAC",
+ cidrv4: "\u03B5\u03CD\u03C1\u03BF\u03C2 IPv4",
+ cidrv6: "\u03B5\u03CD\u03C1\u03BF\u03C2 IPv6",
+ base64: "\u03C3\u03C5\u03BC\u03B2\u03BF\u03BB\u03BF\u03C3\u03B5\u03B9\u03C1\u03AC \u03BA\u03C9\u03B4\u03B9\u03BA\u03BF\u03C0\u03BF\u03B9\u03B7\u03BC\u03AD\u03BD\u03B7 \u03C3\u03B5 base64",
+ base64url: "\u03C3\u03C5\u03BC\u03B2\u03BF\u03BB\u03BF\u03C3\u03B5\u03B9\u03C1\u03AC \u03BA\u03C9\u03B4\u03B9\u03BA\u03BF\u03C0\u03BF\u03B9\u03B7\u03BC\u03AD\u03BD\u03B7 \u03C3\u03B5 base64url",
+ json_string: "\u03C3\u03C5\u03BC\u03B2\u03BF\u03BB\u03BF\u03C3\u03B5\u03B9\u03C1\u03AC JSON",
+ e164: "\u03B1\u03C1\u03B9\u03B8\u03BC\u03CC\u03C2 E.164",
+ credit_card: "\u03B1\u03C1\u03B9\u03B8\u03BC\u03CC\u03C2 \u03C0\u03B9\u03C3\u03C4\u03C9\u03C4\u03B9\u03BA\u03AE\u03C2 \u03BA\u03AC\u03C1\u03C4\u03B1\u03C2",
+ currency_code: "\u03BA\u03C9\u03B4\u03B9\u03BA\u03CC\u03C2 \u03BD\u03BF\u03BC\u03AF\u03C3\u03BC\u03B1\u03C4\u03BF\u03C2",
+ iban: "IBAN",
+ jwt: "JWT",
+ template_literal: "\u03B5\u03AF\u03C3\u03BF\u03B4\u03BF\u03C2"
+ };
+ const TypeDictionary = {
+ nan: "NaN"
+ };
+ return (issue2) => {
+ switch (issue2.code) {
+ case "invalid_type": {
+ const expected = TypeDictionary[issue2.expected] ?? issue2.expected;
+ const receivedType = parsedType(issue2.input);
+ const received = TypeDictionary[receivedType] ?? receivedType;
+ if (typeof issue2.expected === "string" && /^[A-Z]/.test(issue2.expected)) {
+ return `\u039C\u03B7 \u03AD\u03B3\u03BA\u03C5\u03C1\u03B7 \u03B5\u03AF\u03C3\u03BF\u03B4\u03BF\u03C2: \u03B1\u03BD\u03B1\u03BC\u03B5\u03BD\u03CC\u03C4\u03B1\u03BD instanceof ${issue2.expected}, \u03BB\u03AE\u03C6\u03B8\u03B7\u03BA\u03B5 ${received}`;
+ }
+ return `\u039C\u03B7 \u03AD\u03B3\u03BA\u03C5\u03C1\u03B7 \u03B5\u03AF\u03C3\u03BF\u03B4\u03BF\u03C2: \u03B1\u03BD\u03B1\u03BC\u03B5\u03BD\u03CC\u03C4\u03B1\u03BD ${expected}, \u03BB\u03AE\u03C6\u03B8\u03B7\u03BA\u03B5 ${received}`;
+ }
+ case "invalid_value":
+ if (issue2.values.length === 1)
+ return `\u039C\u03B7 \u03AD\u03B3\u03BA\u03C5\u03C1\u03B7 \u03B5\u03AF\u03C3\u03BF\u03B4\u03BF\u03C2: \u03B1\u03BD\u03B1\u03BC\u03B5\u03BD\u03CC\u03C4\u03B1\u03BD ${stringifyPrimitive(issue2.values[0])}`;
+ return `\u039C\u03B7 \u03AD\u03B3\u03BA\u03C5\u03C1\u03B7 \u03B5\u03C0\u03B9\u03BB\u03BF\u03B3\u03AE: \u03B1\u03BD\u03B1\u03BC\u03B5\u03BD\u03CC\u03C4\u03B1\u03BD \u03AD\u03BD\u03B1 \u03B1\u03C0\u03CC ${joinValues(issue2.values, "|")}`;
+ case "too_big": {
+ const adj = issue2.inclusive ? "<=" : "<";
+ const sizing = getSizing(issue2.origin);
+ if (sizing)
+ return `\u03A0\u03BF\u03BB\u03CD \u03BC\u03B5\u03B3\u03AC\u03BB\u03BF: \u03B1\u03BD\u03B1\u03BC\u03B5\u03BD\u03CC\u03C4\u03B1\u03BD ${issue2.origin ?? "\u03C4\u03B9\u03BC\u03AE"} \u03BD\u03B1 \u03AD\u03C7\u03B5\u03B9 ${adj}${issue2.maximum.toString()} ${sizing.unit ?? "\u03C3\u03C4\u03BF\u03B9\u03C7\u03B5\u03AF\u03B1"}`;
+ return `\u03A0\u03BF\u03BB\u03CD \u03BC\u03B5\u03B3\u03AC\u03BB\u03BF: \u03B1\u03BD\u03B1\u03BC\u03B5\u03BD\u03CC\u03C4\u03B1\u03BD ${issue2.origin ?? "\u03C4\u03B9\u03BC\u03AE"} \u03BD\u03B1 \u03B5\u03AF\u03BD\u03B1\u03B9 ${adj}${issue2.maximum.toString()}`;
+ }
+ case "too_small": {
+ const adj = issue2.inclusive ? ">=" : ">";
+ const sizing = getSizing(issue2.origin);
+ if (sizing) {
+ return `\u03A0\u03BF\u03BB\u03CD \u03BC\u03B9\u03BA\u03C1\u03CC: \u03B1\u03BD\u03B1\u03BC\u03B5\u03BD\u03CC\u03C4\u03B1\u03BD ${issue2.origin} \u03BD\u03B1 \u03AD\u03C7\u03B5\u03B9 ${adj}${issue2.minimum.toString()} ${sizing.unit}`;
+ }
+ return `\u03A0\u03BF\u03BB\u03CD \u03BC\u03B9\u03BA\u03C1\u03CC: \u03B1\u03BD\u03B1\u03BC\u03B5\u03BD\u03CC\u03C4\u03B1\u03BD ${issue2.origin} \u03BD\u03B1 \u03B5\u03AF\u03BD\u03B1\u03B9 ${adj}${issue2.minimum.toString()}`;
+ }
+ case "invalid_format": {
+ const _issue = issue2;
+ if (_issue.format === "starts_with") {
+ return `\u039C\u03B7 \u03AD\u03B3\u03BA\u03C5\u03C1\u03B7 \u03C3\u03C5\u03BC\u03B2\u03BF\u03BB\u03BF\u03C3\u03B5\u03B9\u03C1\u03AC: \u03C0\u03C1\u03AD\u03C0\u03B5\u03B9 \u03BD\u03B1 \u03BE\u03B5\u03BA\u03B9\u03BD\u03AC \u03BC\u03B5 "${_issue.prefix}"`;
+ }
+ if (_issue.format === "ends_with")
+ return `\u039C\u03B7 \u03AD\u03B3\u03BA\u03C5\u03C1\u03B7 \u03C3\u03C5\u03BC\u03B2\u03BF\u03BB\u03BF\u03C3\u03B5\u03B9\u03C1\u03AC: \u03C0\u03C1\u03AD\u03C0\u03B5\u03B9 \u03BD\u03B1 \u03C4\u03B5\u03BB\u03B5\u03B9\u03CE\u03BD\u03B5\u03B9 \u03BC\u03B5 "${_issue.suffix}"`;
+ if (_issue.format === "includes")
+ return `\u039C\u03B7 \u03AD\u03B3\u03BA\u03C5\u03C1\u03B7 \u03C3\u03C5\u03BC\u03B2\u03BF\u03BB\u03BF\u03C3\u03B5\u03B9\u03C1\u03AC: \u03C0\u03C1\u03AD\u03C0\u03B5\u03B9 \u03BD\u03B1 \u03C0\u03B5\u03C1\u03B9\u03AD\u03C7\u03B5\u03B9 "${_issue.includes}"`;
+ if (_issue.format === "regex")
+ return `\u039C\u03B7 \u03AD\u03B3\u03BA\u03C5\u03C1\u03B7 \u03C3\u03C5\u03BC\u03B2\u03BF\u03BB\u03BF\u03C3\u03B5\u03B9\u03C1\u03AC: \u03C0\u03C1\u03AD\u03C0\u03B5\u03B9 \u03BD\u03B1 \u03C4\u03B1\u03B9\u03C1\u03B9\u03AC\u03B6\u03B5\u03B9 \u03BC\u03B5 \u03C4\u03BF \u03BC\u03BF\u03C4\u03AF\u03B2\u03BF ${_issue.pattern}`;
+ return `\u039C\u03B7 \u03AD\u03B3\u03BA\u03C5\u03C1\u03BF: ${FormatDictionary[_issue.format] ?? issue2.format}`;
+ }
+ case "not_multiple_of":
+ return `\u039C\u03B7 \u03AD\u03B3\u03BA\u03C5\u03C1\u03BF\u03C2 \u03B1\u03C1\u03B9\u03B8\u03BC\u03CC\u03C2: \u03C0\u03C1\u03AD\u03C0\u03B5\u03B9 \u03BD\u03B1 \u03B5\u03AF\u03BD\u03B1\u03B9 \u03C0\u03BF\u03BB\u03BB\u03B1\u03C0\u03BB\u03AC\u03C3\u03B9\u03BF \u03C4\u03BF\u03C5 ${issue2.divisor}`;
+ case "unrecognized_keys":
+ return `\u0386\u03B3\u03BD\u03C9\u03C3\u03C4${issue2.keys.length > 1 ? "\u03B1" : "\u03BF"} \u03BA\u03BB\u03B5\u03B9\u03B4${issue2.keys.length > 1 ? "\u03B9\u03AC" : "\u03AF"}: ${joinValues(issue2.keys, ", ")}`;
+ case "invalid_key":
+ return `\u039C\u03B7 \u03AD\u03B3\u03BA\u03C5\u03C1\u03BF \u03BA\u03BB\u03B5\u03B9\u03B4\u03AF \u03C3\u03C4\u03BF ${issue2.origin}`;
+ case "invalid_union":
+ return "\u039C\u03B7 \u03AD\u03B3\u03BA\u03C5\u03C1\u03B7 \u03B5\u03AF\u03C3\u03BF\u03B4\u03BF\u03C2";
+ case "invalid_element":
+ return `\u039C\u03B7 \u03AD\u03B3\u03BA\u03C5\u03C1\u03B7 \u03C4\u03B9\u03BC\u03AE \u03C3\u03C4\u03BF ${issue2.origin}`;
+ default:
+ return `\u039C\u03B7 \u03AD\u03B3\u03BA\u03C5\u03C1\u03B7 \u03B5\u03AF\u03C3\u03BF\u03B4\u03BF\u03C2`;
+ }
+ };
+}, "error");
+function el_default() {
+ return {
+ localeError: error11()
+ };
+}
+__name(el_default, "default");
+
+// ../../node_modules/.pnpm/zod@4.6.7/node_modules/zod/v4/locales/en.js
+var error12 = /* @__PURE__ */ __name(() => {
+ const Sizable = {
+ string: { unit: "characters", verb: "to have" },
+ file: { unit: "bytes", verb: "to have" },
+ array: { unit: "items", verb: "to have" },
+ set: { unit: "items", verb: "to have" },
+ map: { unit: "entries", verb: "to have" }
+ };
+ function getSizing(origin) {
+ return Sizable[origin] ?? null;
+ }
+ __name(getSizing, "getSizing");
+ const FormatDictionary = {
+ regex: "input",
+ email: "email address",
+ url: "URL",
+ emoji: "emoji",
+ uuid: "UUID",
+ uuidv4: "UUIDv4",
+ uuidv6: "UUIDv6",
+ nanoid: "nanoid",
+ guid: "GUID",
+ cuid: "cuid",
+ cuid2: "cuid2",
+ ulid: "ULID",
+ xid: "XID",
+ ksuid: "KSUID",
+ datetime: "ISO datetime",
+ date: "ISO date",
+ time: "ISO time",
+ duration: "ISO duration",
+ ipv4: "IPv4 address",
+ ipv6: "IPv6 address",
+ mac: "MAC address",
+ cidrv4: "IPv4 range",
+ cidrv6: "IPv6 range",
+ base64: "base64-encoded string",
+ base64url: "base64url-encoded string",
+ json_string: "JSON string",
+ e164: "E.164 number",
+ currency_code: "currency code",
+ credit_card: "credit card number",
+ iban: "IBAN",
+ jwt: "JWT",
+ template_literal: "input"
+ };
+ const TypeDictionary = {
+ // Compatibility: "nan" -> "NaN" for display
+ nan: "NaN"
+ // All other type names omitted - they fall back to raw values via ?? operator
+ };
+ function getTypeName(type, input2) {
+ if (type === "number" && typeof input2 === "number" && !Number.isFinite(input2)) {
+ return String(input2);
+ }
+ return TypeDictionary[type] ?? type;
+ }
+ __name(getTypeName, "getTypeName");
+ return (issue2) => {
+ switch (issue2.code) {
+ case "invalid_type": {
+ const expected = getTypeName(issue2.expected);
+ const receivedType = parsedType(issue2.input);
+ const received = getTypeName(receivedType, issue2.input);
+ return `Invalid input: expected ${expected}, received ${received}`;
+ }
+ case "invalid_value":
+ if (issue2.values.length === 1)
+ return `Invalid input: expected ${stringifyPrimitive(issue2.values[0])}`;
+ return `Invalid option: expected one of ${joinValues(issue2.values, "|")}`;
+ case "too_big": {
+ const adj = issue2.exact ? "exactly " : issue2.inclusive ? "<=" : "<";
+ const sizing = getSizing(issue2.origin);
+ if (sizing)
+ return `Too big: expected ${issue2.origin ?? "value"} to have ${adj}${issue2.maximum.toString()} ${sizing.unit ?? "elements"}`;
+ return `Too big: expected ${issue2.origin ?? "value"} to be ${adj}${issue2.maximum.toString()}`;
+ }
+ case "too_small": {
+ const adj = issue2.exact ? "exactly " : issue2.inclusive ? ">=" : ">";
+ const sizing = getSizing(issue2.origin);
+ if (sizing) {
+ return `Too small: expected ${issue2.origin} to have ${adj}${issue2.minimum.toString()} ${sizing.unit}`;
+ }
+ return `Too small: expected ${issue2.origin} to be ${adj}${issue2.minimum.toString()}`;
+ }
+ case "invalid_format": {
+ const _issue = issue2;
+ if (_issue.format === "starts_with") {
+ return `Invalid string: must start with "${_issue.prefix}"`;
+ }
+ if (_issue.format === "ends_with")
+ return `Invalid string: must end with "${_issue.suffix}"`;
+ if (_issue.format === "includes")
+ return `Invalid string: must include "${_issue.includes}"`;
+ if (_issue.format === "regex")
+ return `Invalid string: must match pattern ${_issue.pattern}`;
+ return `Invalid ${FormatDictionary[_issue.format] ?? issue2.format}`;
+ }
+ case "not_multiple_of":
+ return `Invalid number: must be a multiple of ${issue2.divisor}`;
+ case "unrecognized_keys":
+ return `Unrecognized key${issue2.keys.length > 1 ? "s" : ""}: ${joinValues(issue2.keys, ", ")}`;
+ case "invalid_key":
+ return `Invalid key in ${issue2.origin}`;
+ case "invalid_union":
+ if (issue2.options && Array.isArray(issue2.options) && issue2.options.length > 0) {
+ const opts = issue2.options.map((o3) => `'${o3}'`).join(" | ");
+ return `Invalid discriminator value. Expected ${opts}`;
+ }
+ if (issue2.inclusive === false) {
+ return "Invalid input: more than one option matched";
+ }
+ return "Invalid input";
+ case "invalid_element":
+ return `Invalid value in ${issue2.origin}`;
+ default:
+ return `Invalid input`;
+ }
+ };
+}, "error");
+function en_default() {
+ return {
+ localeError: error12()
+ };
+}
+__name(en_default, "default");
+
+// ../../node_modules/.pnpm/zod@4.6.7/node_modules/zod/v4/locales/eo.js
+var error13 = /* @__PURE__ */ __name(() => {
+ const Sizable = {
+ string: { unit: "karaktrojn", verb: "havi" },
+ file: { unit: "bajtojn", verb: "havi" },
+ array: { unit: "elementojn", verb: "havi" },
+ set: { unit: "elementojn", verb: "havi" },
+ map: { unit: "elementojn", verb: "havi" }
+ };
+ function getSizing(origin) {
+ return Sizable[origin] ?? null;
+ }
+ __name(getSizing, "getSizing");
+ const FormatDictionary = {
+ regex: "enigo",
+ email: "retadreso",
+ url: "URL",
+ emoji: "emo\u011Dio",
+ uuid: "UUID",
+ uuidv4: "UUIDv4",
+ uuidv6: "UUIDv6",
+ nanoid: "nanoid",
+ guid: "GUID",
+ cuid: "cuid",
+ cuid2: "cuid2",
+ ulid: "ULID",
+ xid: "XID",
+ ksuid: "KSUID",
+ datetime: "ISO-datotempo",
+ date: "ISO-dato",
+ time: "ISO-tempo",
+ duration: "ISO-da\u016Dro",
+ ipv4: "IPv4-adreso",
+ ipv6: "IPv6-adreso",
+ mac: "MAC-adreso",
+ cidrv4: "IPv4-rango",
+ cidrv6: "IPv6-rango",
+ base64: "64-ume kodita karaktraro",
+ base64url: "URL-64-ume kodita karaktraro",
+ json_string: "JSON-karaktraro",
+ e164: "E.164-nombro",
+ credit_card: "kreditkarta numero",
+ currency_code: "valuta kodo",
+ iban: "IBAN",
+ jwt: "JWT",
+ template_literal: "enigo"
+ };
+ const TypeDictionary = {
+ nan: "NaN",
+ number: "nombro",
+ array: "tabelo",
+ null: "senvalora"
+ };
+ return (issue2) => {
+ switch (issue2.code) {
+ case "invalid_type": {
+ const expected = TypeDictionary[issue2.expected] ?? issue2.expected;
+ const receivedType = parsedType(issue2.input);
+ const received = TypeDictionary[receivedType] ?? receivedType;
+ if (/^[A-Z]/.test(issue2.expected)) {
+ return `Nevalida enigo: atendi\u011Dis instanceof ${issue2.expected}, ricevi\u011Dis ${received}`;
+ }
+ return `Nevalida enigo: atendi\u011Dis ${expected}, ricevi\u011Dis ${received}`;
+ }
+ case "invalid_value":
+ if (issue2.values.length === 1)
+ return `Nevalida enigo: atendi\u011Dis ${stringifyPrimitive(issue2.values[0])}`;
+ return `Nevalida opcio: atendi\u011Dis unu el ${joinValues(issue2.values, "|")}`;
+ case "too_big": {
+ const adj = issue2.inclusive ? "<=" : "<";
+ const sizing = getSizing(issue2.origin);
+ if (sizing)
+ return `Tro granda: atendi\u011Dis ke ${issue2.origin ?? "valoro"} havu ${adj}${issue2.maximum.toString()} ${sizing.unit ?? "elementojn"}`;
+ return `Tro granda: atendi\u011Dis ke ${issue2.origin ?? "valoro"} havu ${adj}${issue2.maximum.toString()}`;
+ }
+ case "too_small": {
+ const adj = issue2.inclusive ? ">=" : ">";
+ const sizing = getSizing(issue2.origin);
+ if (sizing) {
+ return `Tro malgranda: atendi\u011Dis ke ${issue2.origin} havu ${adj}${issue2.minimum.toString()} ${sizing.unit}`;
+ }
+ return `Tro malgranda: atendi\u011Dis ke ${issue2.origin} estu ${adj}${issue2.minimum.toString()}`;
+ }
+ case "invalid_format": {
+ const _issue = issue2;
+ if (_issue.format === "starts_with")
+ return `Nevalida karaktraro: devas komenci\u011Di per "${_issue.prefix}"`;
+ if (_issue.format === "ends_with")
+ return `Nevalida karaktraro: devas fini\u011Di per "${_issue.suffix}"`;
+ if (_issue.format === "includes")
+ return `Nevalida karaktraro: devas inkluzivi "${_issue.includes}"`;
+ if (_issue.format === "regex")
+ return `Nevalida karaktraro: devas kongrui kun la modelo ${_issue.pattern}`;
+ return `Nevalida ${FormatDictionary[_issue.format] ?? issue2.format}`;
+ }
+ case "not_multiple_of":
+ return `Nevalida nombro: devas esti oblo de ${issue2.divisor}`;
+ case "unrecognized_keys":
+ return `Nekonata${issue2.keys.length > 1 ? "j" : ""} \u015Dlosilo${issue2.keys.length > 1 ? "j" : ""}: ${joinValues(issue2.keys, ", ")}`;
+ case "invalid_key":
+ return `Nevalida \u015Dlosilo en ${issue2.origin}`;
+ case "invalid_union":
+ return "Nevalida enigo";
+ case "invalid_element":
+ return `Nevalida valoro en ${issue2.origin}`;
+ default:
+ return `Nevalida enigo`;
+ }
+ };
+}, "error");
+function eo_default() {
+ return {
+ localeError: error13()
+ };
+}
+__name(eo_default, "default");
+
+// ../../node_modules/.pnpm/zod@4.6.7/node_modules/zod/v4/locales/es.js
+var error14 = /* @__PURE__ */ __name(() => {
+ const Sizable = {
+ string: { unit: "caracteres", verb: "tener" },
+ file: { unit: "bytes", verb: "tener" },
+ array: { unit: "elementos", verb: "tener" },
+ set: { unit: "elementos", verb: "tener" }
+ };
+ function getSizing(origin) {
+ return Sizable[origin] ?? null;
+ }
+ __name(getSizing, "getSizing");
+ const FormatDictionary = {
+ regex: "entrada",
+ email: "direcci\xF3n de correo electr\xF3nico",
+ url: "URL",
+ emoji: "emoji",
+ uuid: "UUID",
+ uuidv4: "UUIDv4",
+ uuidv6: "UUIDv6",
+ nanoid: "nanoid",
+ guid: "GUID",
+ cuid: "cuid",
+ cuid2: "cuid2",
+ ulid: "ULID",
+ xid: "XID",
+ ksuid: "KSUID",
+ datetime: "fecha y hora ISO",
+ date: "fecha ISO",
+ time: "hora ISO",
+ duration: "duraci\xF3n ISO",
+ ipv4: "direcci\xF3n IPv4",
+ ipv6: "direcci\xF3n IPv6",
+ mac: "direcci\xF3n MAC",
+ cidrv4: "rango IPv4",
+ cidrv6: "rango IPv6",
+ base64: "cadena codificada en base64",
+ base64url: "URL codificada en base64",
+ json_string: "cadena JSON",
+ e164: "n\xFAmero E.164",
+ credit_card: "n\xFAmero de tarjeta de cr\xE9dito",
+ currency_code: "c\xF3digo de moneda",
+ iban: "IBAN",
+ jwt: "JWT",
+ template_literal: "entrada"
+ };
+ const TypeDictionary = {
+ nan: "NaN",
+ string: "texto",
+ number: "n\xFAmero",
+ boolean: "booleano",
+ array: "arreglo",
+ object: "objeto",
+ set: "conjunto",
+ file: "archivo",
+ date: "fecha",
+ bigint: "n\xFAmero grande",
+ symbol: "s\xEDmbolo",
+ undefined: "indefinido",
+ null: "nulo",
+ function: "funci\xF3n",
+ map: "mapa",
+ record: "registro",
+ tuple: "tupla",
+ enum: "enumeraci\xF3n",
+ union: "uni\xF3n",
+ literal: "literal",
+ promise: "promesa",
+ void: "vac\xEDo",
+ never: "nunca",
+ unknown: "desconocido",
+ any: "cualquiera"
+ };
+ return (issue2) => {
+ switch (issue2.code) {
+ case "invalid_type": {
+ const expected = TypeDictionary[issue2.expected] ?? issue2.expected;
+ const receivedType = parsedType(issue2.input);
+ const received = TypeDictionary[receivedType] ?? receivedType;
+ if (/^[A-Z]/.test(issue2.expected)) {
+ return `Entrada inv\xE1lida: se esperaba instanceof ${issue2.expected}, recibido ${received}`;
+ }
+ return `Entrada inv\xE1lida: se esperaba ${expected}, recibido ${received}`;
+ }
+ case "invalid_value":
+ if (issue2.values.length === 1)
+ return `Entrada inv\xE1lida: se esperaba ${stringifyPrimitive(issue2.values[0])}`;
+ return `Opci\xF3n inv\xE1lida: se esperaba una de ${joinValues(issue2.values, "|")}`;
+ case "too_big": {
+ const adj = issue2.inclusive ? "<=" : "<";
+ const sizing = getSizing(issue2.origin);
+ const origin = TypeDictionary[issue2.origin] ?? issue2.origin;
+ if (sizing)
+ return `Demasiado grande: se esperaba que ${origin ?? "valor"} tuviera ${adj}${issue2.maximum.toString()} ${sizing.unit ?? "elementos"}`;
+ return `Demasiado grande: se esperaba que ${origin ?? "valor"} fuera ${adj}${issue2.maximum.toString()}`;
+ }
+ case "too_small": {
+ const adj = issue2.inclusive ? ">=" : ">";
+ const sizing = getSizing(issue2.origin);
+ const origin = TypeDictionary[issue2.origin] ?? issue2.origin;
+ if (sizing) {
+ return `Demasiado peque\xF1o: se esperaba que ${origin} tuviera ${adj}${issue2.minimum.toString()} ${sizing.unit}`;
+ }
+ return `Demasiado peque\xF1o: se esperaba que ${origin} fuera ${adj}${issue2.minimum.toString()}`;
+ }
+ case "invalid_format": {
+ const _issue = issue2;
+ if (_issue.format === "starts_with")
+ return `Cadena inv\xE1lida: debe comenzar con "${_issue.prefix}"`;
+ if (_issue.format === "ends_with")
+ return `Cadena inv\xE1lida: debe terminar en "${_issue.suffix}"`;
+ if (_issue.format === "includes")
+ return `Cadena inv\xE1lida: debe incluir "${_issue.includes}"`;
+ if (_issue.format === "regex")
+ return `Cadena inv\xE1lida: debe coincidir con el patr\xF3n ${_issue.pattern}`;
+ return `Inv\xE1lido ${FormatDictionary[_issue.format] ?? issue2.format}`;
+ }
+ case "not_multiple_of":
+ return `N\xFAmero inv\xE1lido: debe ser m\xFAltiplo de ${issue2.divisor}`;
+ case "unrecognized_keys":
+ return `Llave${issue2.keys.length > 1 ? "s" : ""} desconocida${issue2.keys.length > 1 ? "s" : ""}: ${joinValues(issue2.keys, ", ")}`;
+ case "invalid_key":
+ return `Llave inv\xE1lida en ${TypeDictionary[issue2.origin] ?? issue2.origin}`;
+ case "invalid_union":
+ return "Entrada inv\xE1lida";
+ case "invalid_element":
+ return `Valor inv\xE1lido en ${TypeDictionary[issue2.origin] ?? issue2.origin}`;
+ default:
+ return `Entrada inv\xE1lida`;
+ }
+ };
+}, "error");
+function es_default() {
+ return {
+ localeError: error14()
+ };
+}
+__name(es_default, "default");
+
+// ../../node_modules/.pnpm/zod@4.6.7/node_modules/zod/v4/locales/fa.js
+var error15 = /* @__PURE__ */ __name(() => {
+ const Sizable = {
+ string: { unit: "\u06A9\u0627\u0631\u0627\u06A9\u062A\u0631", verb: "\u062F\u0627\u0634\u062A\u0647 \u0628\u0627\u0634\u062F" },
+ file: { unit: "\u0628\u0627\u06CC\u062A", verb: "\u062F\u0627\u0634\u062A\u0647 \u0628\u0627\u0634\u062F" },
+ array: { unit: "\u0622\u06CC\u062A\u0645", verb: "\u062F\u0627\u0634\u062A\u0647 \u0628\u0627\u0634\u062F" },
+ set: { unit: "\u0622\u06CC\u062A\u0645", verb: "\u062F\u0627\u0634\u062A\u0647 \u0628\u0627\u0634\u062F" },
+ map: { unit: "\u0622\u06CC\u062A\u0645", verb: "\u062F\u0627\u0634\u062A\u0647 \u0628\u0627\u0634\u062F" }
+ };
+ function getSizing(origin) {
+ return Sizable[origin] ?? null;
+ }
+ __name(getSizing, "getSizing");
+ const FormatDictionary = {
+ regex: "\u0648\u0631\u0648\u062F\u06CC",
+ email: "\u0622\u062F\u0631\u0633 \u0627\u06CC\u0645\u06CC\u0644",
+ url: "URL",
+ emoji: "\u0627\u06CC\u0645\u0648\u062C\u06CC",
+ uuid: "UUID",
+ uuidv4: "UUIDv4",
+ uuidv6: "UUIDv6",
+ nanoid: "nanoid",
+ guid: "GUID",
+ cuid: "cuid",
+ cuid2: "cuid2",
+ ulid: "ULID",
+ xid: "XID",
+ ksuid: "KSUID",
+ datetime: "\u062A\u0627\u0631\u06CC\u062E \u0648 \u0632\u0645\u0627\u0646 \u0627\u06CC\u0632\u0648",
+ date: "\u062A\u0627\u0631\u06CC\u062E \u0627\u06CC\u0632\u0648",
+ time: "\u0632\u0645\u0627\u0646 \u0627\u06CC\u0632\u0648",
+ duration: "\u0645\u062F\u062A \u0632\u0645\u0627\u0646 \u0627\u06CC\u0632\u0648",
+ ipv4: "IPv4 \u0622\u062F\u0631\u0633",
+ ipv6: "IPv6 \u0622\u062F\u0631\u0633",
+ mac: "MAC \u0622\u062F\u0631\u0633",
+ cidrv4: "IPv4 \u062F\u0627\u0645\u0646\u0647",
+ cidrv6: "IPv6 \u062F\u0627\u0645\u0646\u0647",
+ base64: "base64-encoded \u0631\u0634\u062A\u0647",
+ base64url: "base64url-encoded \u0631\u0634\u062A\u0647",
+ json_string: "JSON \u0631\u0634\u062A\u0647",
+ e164: "E.164 \u0639\u062F\u062F",
+ credit_card: "\u0634\u0645\u0627\u0631\u0647 \u06A9\u0627\u0631\u062A \u0627\u0639\u062A\u0628\u0627\u0631\u06CC",
+ currency_code: "\u06A9\u062F \u0627\u0631\u0632",
+ iban: "IBAN",
+ jwt: "JWT",
+ template_literal: "\u0648\u0631\u0648\u062F\u06CC"
+ };
+ const TypeDictionary = {
+ nan: "NaN",
+ number: "\u0639\u062F\u062F",
+ array: "\u0622\u0631\u0627\u06CC\u0647"
+ };
+ return (issue2) => {
+ switch (issue2.code) {
+ case "invalid_type": {
+ const expected = TypeDictionary[issue2.expected] ?? issue2.expected;
+ const receivedType = parsedType(issue2.input);
+ const received = TypeDictionary[receivedType] ?? receivedType;
+ if (/^[A-Z]/.test(issue2.expected)) {
+ return `\u0648\u0631\u0648\u062F\u06CC \u0646\u0627\u0645\u0639\u062A\u0628\u0631: \u0645\u06CC\u200C\u0628\u0627\u06CC\u0633\u062A instanceof ${issue2.expected} \u0645\u06CC\u200C\u0628\u0648\u062F\u060C ${received} \u062F\u0631\u06CC\u0627\u0641\u062A \u0634\u062F`;
+ }
+ return `\u0648\u0631\u0648\u062F\u06CC \u0646\u0627\u0645\u0639\u062A\u0628\u0631: \u0645\u06CC\u200C\u0628\u0627\u06CC\u0633\u062A ${expected} \u0645\u06CC\u200C\u0628\u0648\u062F\u060C ${received} \u062F\u0631\u06CC\u0627\u0641\u062A \u0634\u062F`;
+ }
+ case "invalid_value":
+ if (issue2.values.length === 1) {
+ return `\u0648\u0631\u0648\u062F\u06CC \u0646\u0627\u0645\u0639\u062A\u0628\u0631: \u0645\u06CC\u200C\u0628\u0627\u06CC\u0633\u062A ${stringifyPrimitive(issue2.values[0])} \u0645\u06CC\u200C\u0628\u0648\u062F`;
+ }
+ return `\u06AF\u0632\u06CC\u0646\u0647 \u0646\u0627\u0645\u0639\u062A\u0628\u0631: \u0645\u06CC\u200C\u0628\u0627\u06CC\u0633\u062A \u06CC\u06A9\u06CC \u0627\u0632 ${joinValues(issue2.values, "|")} \u0645\u06CC\u200C\u0628\u0648\u062F`;
+ case "too_big": {
+ const adj = issue2.inclusive ? "<=" : "<";
+ const sizing = getSizing(issue2.origin);
+ if (sizing) {
+ return `\u062E\u06CC\u0644\u06CC \u0628\u0632\u0631\u06AF: ${issue2.origin ?? "\u0645\u0642\u062F\u0627\u0631"} \u0628\u0627\u06CC\u062F ${adj}${issue2.maximum.toString()} ${sizing.unit ?? "\u0639\u0646\u0635\u0631"} \u0628\u0627\u0634\u062F`;
+ }
+ return `\u062E\u06CC\u0644\u06CC \u0628\u0632\u0631\u06AF: ${issue2.origin ?? "\u0645\u0642\u062F\u0627\u0631"} \u0628\u0627\u06CC\u062F ${adj}${issue2.maximum.toString()} \u0628\u0627\u0634\u062F`;
+ }
+ case "too_small": {
+ const adj = issue2.inclusive ? ">=" : ">";
+ const sizing = getSizing(issue2.origin);
+ if (sizing) {
+ return `\u062E\u06CC\u0644\u06CC \u06A9\u0648\u0686\u06A9: ${issue2.origin} \u0628\u0627\u06CC\u062F ${adj}${issue2.minimum.toString()} ${sizing.unit} \u0628\u0627\u0634\u062F`;
+ }
+ return `\u062E\u06CC\u0644\u06CC \u06A9\u0648\u0686\u06A9: ${issue2.origin} \u0628\u0627\u06CC\u062F ${adj}${issue2.minimum.toString()} \u0628\u0627\u0634\u062F`;
+ }
+ case "invalid_format": {
+ const _issue = issue2;
+ if (_issue.format === "starts_with") {
+ return `\u0631\u0634\u062A\u0647 \u0646\u0627\u0645\u0639\u062A\u0628\u0631: \u0628\u0627\u06CC\u062F \u0628\u0627 "${_issue.prefix}" \u0634\u0631\u0648\u0639 \u0634\u0648\u062F`;
+ }
+ if (_issue.format === "ends_with") {
+ return `\u0631\u0634\u062A\u0647 \u0646\u0627\u0645\u0639\u062A\u0628\u0631: \u0628\u0627\u06CC\u062F \u0628\u0627 "${_issue.suffix}" \u062A\u0645\u0627\u0645 \u0634\u0648\u062F`;
+ }
+ if (_issue.format === "includes") {
+ return `\u0631\u0634\u062A\u0647 \u0646\u0627\u0645\u0639\u062A\u0628\u0631: \u0628\u0627\u06CC\u062F \u0634\u0627\u0645\u0644 "${_issue.includes}" \u0628\u0627\u0634\u062F`;
+ }
+ if (_issue.format === "regex") {
+ return `\u0631\u0634\u062A\u0647 \u0646\u0627\u0645\u0639\u062A\u0628\u0631: \u0628\u0627\u06CC\u062F \u0628\u0627 \u0627\u0644\u06AF\u0648\u06CC ${_issue.pattern} \u0645\u0637\u0627\u0628\u0642\u062A \u062F\u0627\u0634\u062A\u0647 \u0628\u0627\u0634\u062F`;
+ }
+ return `${FormatDictionary[_issue.format] ?? issue2.format} \u0646\u0627\u0645\u0639\u062A\u0628\u0631`;
+ }
+ case "not_multiple_of":
+ return `\u0639\u062F\u062F \u0646\u0627\u0645\u0639\u062A\u0628\u0631: \u0628\u0627\u06CC\u062F \u0645\u0636\u0631\u0628 ${issue2.divisor} \u0628\u0627\u0634\u062F`;
+ case "unrecognized_keys":
+ return `\u06A9\u0644\u06CC\u062F${issue2.keys.length > 1 ? "\u0647\u0627\u06CC" : ""} \u0646\u0627\u0634\u0646\u0627\u0633: ${joinValues(issue2.keys, ", ")}`;
+ case "invalid_key":
+ return `\u06A9\u0644\u06CC\u062F \u0646\u0627\u0634\u0646\u0627\u0633 \u062F\u0631 ${issue2.origin}`;
+ case "invalid_union":
+ return `\u0648\u0631\u0648\u062F\u06CC \u0646\u0627\u0645\u0639\u062A\u0628\u0631`;
+ case "invalid_element":
+ return `\u0645\u0642\u062F\u0627\u0631 \u0646\u0627\u0645\u0639\u062A\u0628\u0631 \u062F\u0631 ${issue2.origin}`;
+ default:
+ return `\u0648\u0631\u0648\u062F\u06CC \u0646\u0627\u0645\u0639\u062A\u0628\u0631`;
+ }
+ };
+}, "error");
+function fa_default() {
+ return {
+ localeError: error15()
+ };
+}
+__name(fa_default, "default");
+
+// ../../node_modules/.pnpm/zod@4.6.7/node_modules/zod/v4/locales/fi.js
+var error16 = /* @__PURE__ */ __name(() => {
+ const Sizable = {
+ string: { unit: "merkki\xE4", subject: "merkkijonon" },
+ file: { unit: "tavua", subject: "tiedoston" },
+ array: { unit: "alkiota", subject: "listan" },
+ set: { unit: "alkiota", subject: "joukon" },
+ map: { unit: "alkiota", subject: "kuvauksen" },
+ number: { unit: "", subject: "luvun" },
+ bigint: { unit: "", subject: "suuren kokonaisluvun" },
+ int: { unit: "", subject: "kokonaisluvun" },
+ date: { unit: "", subject: "p\xE4iv\xE4m\xE4\xE4r\xE4n" }
+ };
+ function getSizing(origin) {
+ return Sizable[origin] ?? null;
+ }
+ __name(getSizing, "getSizing");
+ const FormatDictionary = {
+ regex: "s\xE4\xE4nn\xF6llinen lauseke",
+ email: "s\xE4hk\xF6postiosoite",
+ url: "URL-osoite",
+ emoji: "emoji",
+ uuid: "UUID",
+ uuidv4: "UUIDv4",
+ uuidv6: "UUIDv6",
+ nanoid: "nanoid",
+ guid: "GUID",
+ cuid: "cuid",
+ cuid2: "cuid2",
+ ulid: "ULID",
+ xid: "XID",
+ ksuid: "KSUID",
+ datetime: "ISO-aikaleima",
+ date: "ISO-p\xE4iv\xE4m\xE4\xE4r\xE4",
+ time: "ISO-aika",
+ duration: "ISO-kesto",
+ ipv4: "IPv4-osoite",
+ ipv6: "IPv6-osoite",
+ mac: "MAC-osoite",
+ cidrv4: "IPv4-alue",
+ cidrv6: "IPv6-alue",
+ base64: "base64-koodattu merkkijono",
+ base64url: "base64url-koodattu merkkijono",
+ json_string: "JSON-merkkijono",
+ e164: "E.164-luku",
+ credit_card: "luottokortin numero",
+ currency_code: "valuuttakoodi",
+ iban: "IBAN",
+ jwt: "JWT",
+ template_literal: "templaattimerkkijono"
+ };
+ const TypeDictionary = {
+ nan: "NaN"
+ };
+ return (issue2) => {
+ switch (issue2.code) {
+ case "invalid_type": {
+ const expected = TypeDictionary[issue2.expected] ?? issue2.expected;
+ const receivedType = parsedType(issue2.input);
+ const received = TypeDictionary[receivedType] ?? receivedType;
+ if (/^[A-Z]/.test(issue2.expected)) {
+ return `Virheellinen tyyppi: odotettiin instanceof ${issue2.expected}, oli ${received}`;
+ }
+ return `Virheellinen tyyppi: odotettiin ${expected}, oli ${received}`;
+ }
+ case "invalid_value":
+ if (issue2.values.length === 1)
+ return `Virheellinen sy\xF6te: t\xE4ytyy olla ${stringifyPrimitive(issue2.values[0])}`;
+ return `Virheellinen valinta: t\xE4ytyy olla yksi seuraavista: ${joinValues(issue2.values, "|")}`;
+ case "too_big": {
+ const adj = issue2.inclusive ? "<=" : "<";
+ const sizing = getSizing(issue2.origin);
+ if (sizing) {
+ return `Liian suuri: ${sizing.subject} t\xE4ytyy olla ${adj}${issue2.maximum.toString()} ${sizing.unit}`.trim();
+ }
+ return `Liian suuri: arvon t\xE4ytyy olla ${adj}${issue2.maximum.toString()}`;
+ }
+ case "too_small": {
+ const adj = issue2.inclusive ? ">=" : ">";
+ const sizing = getSizing(issue2.origin);
+ if (sizing) {
+ return `Liian pieni: ${sizing.subject} t\xE4ytyy olla ${adj}${issue2.minimum.toString()} ${sizing.unit}`.trim();
+ }
+ return `Liian pieni: arvon t\xE4ytyy olla ${adj}${issue2.minimum.toString()}`;
+ }
+ case "invalid_format": {
+ const _issue = issue2;
+ if (_issue.format === "starts_with")
+ return `Virheellinen sy\xF6te: t\xE4ytyy alkaa "${_issue.prefix}"`;
+ if (_issue.format === "ends_with")
+ return `Virheellinen sy\xF6te: t\xE4ytyy loppua "${_issue.suffix}"`;
+ if (_issue.format === "includes")
+ return `Virheellinen sy\xF6te: t\xE4ytyy sis\xE4lt\xE4\xE4 "${_issue.includes}"`;
+ if (_issue.format === "regex") {
+ return `Virheellinen sy\xF6te: t\xE4ytyy vastata s\xE4\xE4nn\xF6llist\xE4 lauseketta ${_issue.pattern}`;
+ }
+ return `Virheellinen ${FormatDictionary[_issue.format] ?? issue2.format}`;
+ }
+ case "not_multiple_of":
+ return `Virheellinen luku: t\xE4ytyy olla luvun ${issue2.divisor} monikerta`;
+ case "unrecognized_keys":
+ return `${issue2.keys.length > 1 ? "Tuntemattomat avaimet" : "Tuntematon avain"}: ${joinValues(issue2.keys, ", ")}`;
+ case "invalid_key":
+ return "Virheellinen avain tietueessa";
+ case "invalid_union":
+ return "Virheellinen unioni";
+ case "invalid_element":
+ return "Virheellinen arvo joukossa";
+ default:
+ return `Virheellinen sy\xF6te`;
+ }
+ };
+}, "error");
+function fi_default() {
+ return {
+ localeError: error16()
+ };
+}
+__name(fi_default, "default");
+
+// ../../node_modules/.pnpm/zod@4.6.7/node_modules/zod/v4/locales/fr.js
+var error17 = /* @__PURE__ */ __name(() => {
+ const Sizable = {
+ string: { unit: "caract\xE8res", verb: "avoir" },
+ file: { unit: "octets", verb: "avoir" },
+ array: { unit: "\xE9l\xE9ments", verb: "avoir" },
+ set: { unit: "\xE9l\xE9ments", verb: "avoir" }
+ };
+ function getSizing(origin) {
+ return Sizable[origin] ?? null;
+ }
+ __name(getSizing, "getSizing");
+ const FormatDictionary = {
+ regex: "expression r\xE9guli\xE8re",
+ email: "adresse e-mail",
+ url: "URL",
+ emoji: "emoji",
+ uuid: "UUID",
+ uuidv4: "UUIDv4",
+ uuidv6: "UUIDv6",
+ nanoid: "nanoid",
+ guid: "GUID",
+ cuid: "cuid",
+ cuid2: "cuid2",
+ ulid: "ULID",
+ xid: "XID",
+ ksuid: "KSUID",
+ datetime: "date et heure ISO",
+ date: "date ISO",
+ time: "heure ISO",
+ duration: "dur\xE9e ISO",
+ ipv4: "adresse IPv4",
+ ipv6: "adresse IPv6",
+ mac: "adresse MAC",
+ cidrv4: "plage IPv4",
+ cidrv6: "plage IPv6",
+ base64: "cha\xEEne de caract\xE8res encod\xE9e en base64",
+ base64url: "cha\xEEne de caract\xE8res encod\xE9e en base64url",
+ json_string: "cha\xEEne de caract\xE8res JSON",
+ e164: "num\xE9ro au format E.164",
+ credit_card: "num\xE9ro de carte de cr\xE9dit",
+ currency_code: "code de devise",
+ iban: "IBAN",
+ jwt: "JWT",
+ template_literal: "entr\xE9e"
+ };
+ const TypeDictionary = {
+ string: "cha\xEEne de caract\xE8res",
+ number: "nombre",
+ int: "entier",
+ boolean: "bool\xE9en",
+ bigint: "grand entier",
+ symbol: "symbole",
+ undefined: "ind\xE9fini",
+ null: "null",
+ never: "jamais",
+ void: "vide",
+ date: "date",
+ array: "tableau",
+ object: "objet",
+ tuple: "tuple",
+ record: "record",
+ map: "map",
+ set: "ensemble",
+ file: "fichier",
+ nonoptional: "non optionnel",
+ nan: "NaN",
+ function: "fonction"
+ };
+ return (issue2) => {
+ switch (issue2.code) {
+ case "invalid_type": {
+ const expected = TypeDictionary[issue2.expected] ?? issue2.expected;
+ const receivedType = parsedType(issue2.input);
+ const received = TypeDictionary[receivedType] ?? receivedType;
+ if (/^[A-Z]/.test(issue2.expected)) {
+ return `Entr\xE9e invalide : instance de ${issue2.expected} attendu, ${received} re\xE7u`;
+ }
+ return `Entr\xE9e invalide : ${expected} attendu, ${received} re\xE7u`;
+ }
+ case "invalid_value":
+ if (issue2.values.length === 1)
+ return `Entr\xE9e invalide : ${stringifyPrimitive(issue2.values[0])} attendu`;
+ return `Option invalide : une valeur parmi ${joinValues(issue2.values, "|")} attendue`;
+ case "too_big": {
+ const adj = issue2.inclusive ? "<=" : "<";
+ const sizing = getSizing(issue2.origin);
+ if (sizing)
+ return `Trop grand : ${TypeDictionary[issue2.origin] ?? "valeur"} doit ${sizing.verb} ${adj}${issue2.maximum.toString()} ${sizing.unit ?? "\xE9l\xE9ment(s)"}`;
+ return `Trop grand : ${TypeDictionary[issue2.origin] ?? "valeur"} doit \xEAtre ${adj}${issue2.maximum.toString()}`;
+ }
+ case "too_small": {
+ const adj = issue2.inclusive ? ">=" : ">";
+ const sizing = getSizing(issue2.origin);
+ if (sizing)
+ return `Trop petit : ${TypeDictionary[issue2.origin] ?? "valeur"} doit ${sizing.verb} ${adj}${issue2.minimum.toString()} ${sizing.unit}`;
+ return `Trop petit : ${TypeDictionary[issue2.origin] ?? "valeur"} doit \xEAtre ${adj}${issue2.minimum.toString()}`;
+ }
+ case "invalid_format": {
+ const _issue = issue2;
+ if (_issue.format === "starts_with")
+ return `Cha\xEEne de caract\xE8res invalide : doit commencer par "${_issue.prefix}"`;
+ if (_issue.format === "ends_with")
+ return `Cha\xEEne de caract\xE8res invalide : doit se terminer par "${_issue.suffix}"`;
+ if (_issue.format === "includes")
+ return `Cha\xEEne de caract\xE8res invalide : doit inclure "${_issue.includes}"`;
+ if (_issue.format === "regex")
+ return `Cha\xEEne de caract\xE8res invalide : doit correspondre au motif ${_issue.pattern}`;
+ return `${FormatDictionary[_issue.format] ?? issue2.format} invalide`;
+ }
+ case "not_multiple_of":
+ return `Nombre invalide : doit \xEAtre un multiple de ${issue2.divisor}`;
+ case "unrecognized_keys":
+ return `Cl\xE9${issue2.keys.length > 1 ? "s" : ""} non reconnue${issue2.keys.length > 1 ? "s" : ""} : ${joinValues(issue2.keys, ", ")}`;
+ case "invalid_key":
+ return `Cl\xE9 invalide dans ${issue2.origin}`;
+ case "invalid_union":
+ return "Entr\xE9e invalide";
+ case "invalid_element":
+ return `Valeur invalide dans ${issue2.origin}`;
+ default:
+ return `Entr\xE9e invalide`;
+ }
+ };
+}, "error");
+function fr_default() {
+ return {
+ localeError: error17()
+ };
+}
+__name(fr_default, "default");
+
+// ../../node_modules/.pnpm/zod@4.6.7/node_modules/zod/v4/locales/fr-CA.js
+var error18 = /* @__PURE__ */ __name(() => {
+ const Sizable = {
+ string: { unit: "caract\xE8res", verb: "avoir" },
+ file: { unit: "octets", verb: "avoir" },
+ array: { unit: "\xE9l\xE9ments", verb: "avoir" },
+ set: { unit: "\xE9l\xE9ments", verb: "avoir" },
+ map: { unit: "\xE9l\xE9ments", verb: "avoir" }
+ };
+ function getSizing(origin) {
+ return Sizable[origin] ?? null;
+ }
+ __name(getSizing, "getSizing");
+ const FormatDictionary = {
+ regex: "entr\xE9e",
+ email: "adresse courriel",
+ url: "URL",
+ emoji: "emoji",
+ uuid: "UUID",
+ uuidv4: "UUIDv4",
+ uuidv6: "UUIDv6",
+ nanoid: "nanoid",
+ guid: "GUID",
+ cuid: "cuid",
+ cuid2: "cuid2",
+ ulid: "ULID",
+ xid: "XID",
+ ksuid: "KSUID",
+ datetime: "date-heure ISO",
+ date: "date ISO",
+ time: "heure ISO",
+ duration: "dur\xE9e ISO",
+ ipv4: "adresse IPv4",
+ ipv6: "adresse IPv6",
+ mac: "adresse MAC",
+ cidrv4: "plage IPv4",
+ cidrv6: "plage IPv6",
+ base64: "cha\xEEne encod\xE9e en base64",
+ base64url: "cha\xEEne encod\xE9e en base64url",
+ json_string: "cha\xEEne JSON",
+ e164: "num\xE9ro E.164",
+ credit_card: "num\xE9ro de carte de cr\xE9dit",
+ currency_code: "code de devise",
+ iban: "IBAN",
+ jwt: "JWT",
+ template_literal: "entr\xE9e"
+ };
+ const TypeDictionary = {
+ nan: "NaN"
+ };
+ return (issue2) => {
+ switch (issue2.code) {
+ case "invalid_type": {
+ const expected = TypeDictionary[issue2.expected] ?? issue2.expected;
+ const receivedType = parsedType(issue2.input);
+ const received = TypeDictionary[receivedType] ?? receivedType;
+ if (/^[A-Z]/.test(issue2.expected)) {
+ return `Entr\xE9e invalide : attendu instanceof ${issue2.expected}, re\xE7u ${received}`;
+ }
+ return `Entr\xE9e invalide : attendu ${expected}, re\xE7u ${received}`;
+ }
+ case "invalid_value":
+ if (issue2.values.length === 1)
+ return `Entr\xE9e invalide : attendu ${stringifyPrimitive(issue2.values[0])}`;
+ return `Option invalide : attendu l'une des valeurs suivantes ${joinValues(issue2.values, "|")}`;
+ case "too_big": {
+ const adj = issue2.inclusive ? "\u2264" : "<";
+ const sizing = getSizing(issue2.origin);
+ if (sizing)
+ return `Trop grand : attendu que ${issue2.origin ?? "la valeur"} ait ${adj}${issue2.maximum.toString()} ${sizing.unit}`;
+ return `Trop grand : attendu que ${issue2.origin ?? "la valeur"} soit ${adj}${issue2.maximum.toString()}`;
+ }
+ case "too_small": {
+ const adj = issue2.inclusive ? "\u2265" : ">";
+ const sizing = getSizing(issue2.origin);
+ if (sizing) {
+ return `Trop petit : attendu que ${issue2.origin} ait ${adj}${issue2.minimum.toString()} ${sizing.unit}`;
+ }
+ return `Trop petit : attendu que ${issue2.origin} soit ${adj}${issue2.minimum.toString()}`;
+ }
+ case "invalid_format": {
+ const _issue = issue2;
+ if (_issue.format === "starts_with") {
+ return `Cha\xEEne invalide : doit commencer par "${_issue.prefix}"`;
+ }
+ if (_issue.format === "ends_with")
+ return `Cha\xEEne invalide : doit se terminer par "${_issue.suffix}"`;
+ if (_issue.format === "includes")
+ return `Cha\xEEne invalide : doit inclure "${_issue.includes}"`;
+ if (_issue.format === "regex")
+ return `Cha\xEEne invalide : doit correspondre au motif ${_issue.pattern}`;
+ return `${FormatDictionary[_issue.format] ?? issue2.format} invalide`;
+ }
+ case "not_multiple_of":
+ return `Nombre invalide : doit \xEAtre un multiple de ${issue2.divisor}`;
+ case "unrecognized_keys":
+ return `Cl\xE9${issue2.keys.length > 1 ? "s" : ""} non reconnue${issue2.keys.length > 1 ? "s" : ""} : ${joinValues(issue2.keys, ", ")}`;
+ case "invalid_key":
+ return `Cl\xE9 invalide dans ${issue2.origin}`;
+ case "invalid_union":
+ return "Entr\xE9e invalide";
+ case "invalid_element":
+ return `Valeur invalide dans ${issue2.origin}`;
+ default:
+ return `Entr\xE9e invalide`;
+ }
+ };
+}, "error");
+function fr_CA_default() {
+ return {
+ localeError: error18()
+ };
+}
+__name(fr_CA_default, "default");
+
+// ../../node_modules/.pnpm/zod@4.6.7/node_modules/zod/v4/locales/gu.js
+var error19 = /* @__PURE__ */ __name(() => {
+ const Sizable = {
+ string: { unit: "\u0A85\u0A95\u0ACD\u0AB7\u0AB0", verb: "\u0AB9\u0ACB\u0AB5\u0ABE \u0A9C\u0ACB\u0A88\u0A8F" },
+ file: { unit: "\u0AAC\u0ABE\u0AAF\u0A9F", verb: "\u0AB9\u0ACB\u0AB5\u0ABE \u0A9C\u0ACB\u0A88\u0A8F" },
+ array: { unit: "\u0A86\u0A87\u0A9F\u0AAE", verb: "\u0AB9\u0ACB\u0AB5\u0ABE \u0A9C\u0ACB\u0A88\u0A8F" },
+ set: { unit: "\u0A86\u0A87\u0A9F\u0AAE", verb: "\u0AB9\u0ACB\u0AB5\u0ABE \u0A9C\u0ACB\u0A88\u0A8F" },
+ map: { unit: "\u0A8F\u0AA8\u0ACD\u0A9F\u0ACD\u0AB0\u0AC0", verb: "\u0AB9\u0ACB\u0AB5\u0ABE \u0A9C\u0ACB\u0A88\u0A8F" }
+ };
+ function getSizing(origin) {
+ return Sizable[origin] ?? null;
+ }
+ __name(getSizing, "getSizing");
+ const FormatDictionary = {
+ regex: "\u0A87\u0AA8\u0AAA\u0AC1\u0A9F",
+ email: "\u0A88\u0AAE\u0AC7\u0A87\u0AB2 \u0A8F\u0AA1\u0ACD\u0AB0\u0AC7\u0AB8",
+ url: "URL",
+ emoji: "\u0A87\u0AAE\u0ACB\u0A9C\u0AC0",
+ uuid: "UUID",
+ uuidv4: "UUIDv4",
+ uuidv6: "UUIDv6",
+ nanoid: "nanoid",
+ guid: "GUID",
+ cuid: "cuid",
+ cuid2: "cuid2",
+ ulid: "ULID",
+ xid: "XID",
+ ksuid: "KSUID",
+ datetime: "ISO \u0AA4\u0ABE\u0AB0\u0AC0\u0A96 \u0A85\u0AA8\u0AC7 \u0AB8\u0AAE\u0AAF",
+ date: "ISO \u0AA4\u0ABE\u0AB0\u0AC0\u0A96",
+ time: "ISO \u0AB8\u0AAE\u0AAF",
+ duration: "ISO \u0A85\u0AB5\u0AA7\u0ABF",
+ ipv4: "IPv4 \u0A8F\u0AA1\u0ACD\u0AB0\u0AC7\u0AB8",
+ ipv6: "IPv6 \u0A8F\u0AA1\u0ACD\u0AB0\u0AC7\u0AB8",
+ mac: "MAC \u0A8F\u0AA1\u0ACD\u0AB0\u0AC7\u0AB8",
+ cidrv4: "IPv4 \u0AB6\u0ACD\u0AB0\u0AC7\u0AA3\u0AC0",
+ cidrv6: "IPv6 \u0AB6\u0ACD\u0AB0\u0AC7\u0AA3\u0AC0",
+ base64: "base64-\u0A8F\u0AA8\u0ACD\u0A95\u0ACB\u0AA1\u0AC7\u0AA1 \u0AB8\u0ACD\u0A9F\u0ACD\u0AB0\u0ABF\u0A82\u0A97",
+ base64url: "base64url-\u0A8F\u0AA8\u0ACD\u0A95\u0ACB\u0AA1\u0AC7\u0AA1 \u0AB8\u0ACD\u0A9F\u0ACD\u0AB0\u0ABF\u0A82\u0A97",
+ json_string: "JSON \u0AB8\u0ACD\u0A9F\u0ACD\u0AB0\u0ABF\u0A82\u0A97",
+ e164: "E.164 \u0AA8\u0A82\u0AAC\u0AB0",
+ credit_card: "\u0A95\u0ACD\u0AB0\u0AC7\u0AA1\u0ABF\u0A9F \u0A95\u0ABE\u0AB0\u0ACD\u0AA1 \u0AA8\u0A82\u0AAC\u0AB0",
+ currency_code: "\u0A9A\u0AB2\u0AA3 \u0A95\u0ACB\u0AA1",
+ iban: "IBAN",
+ jwt: "JWT",
+ template_literal: "\u0A87\u0AA8\u0AAA\u0AC1\u0A9F"
+ };
+ const TypeDictionary = {
+ nan: "NaN"
+ };
+ return (issue2) => {
+ switch (issue2.code) {
+ case "invalid_type": {
+ const expected = TypeDictionary[issue2.expected] ?? issue2.expected;
+ const receivedType = parsedType(issue2.input);
+ const received = TypeDictionary[receivedType] ?? receivedType;
+ return `\u0A85\u0AAE\u0ABE\u0AA8\u0ACD\u0AAF \u0A87\u0AA8\u0AAA\u0AC1\u0A9F: \u0A85\u0AAA\u0AC7\u0A95\u0ACD\u0AB7\u0ABF\u0AA4 ${expected}, \u0AAA\u0ACD\u0AB0\u0ABE\u0AAA\u0ACD\u0AA4 ${received}`;
+ }
+ case "invalid_value":
+ if (issue2.values.length === 1)
+ return `\u0A85\u0AAE\u0ABE\u0AA8\u0ACD\u0AAF \u0A87\u0AA8\u0AAA\u0AC1\u0A9F: \u0A85\u0AAA\u0AC7\u0A95\u0ACD\u0AB7\u0ABF\u0AA4 ${stringifyPrimitive(issue2.values[0])}`;
+ return `\u0A85\u0AAE\u0ABE\u0AA8\u0ACD\u0AAF \u0AB5\u0ABF\u0A95\u0AB2\u0ACD\u0AAA: ${joinValues(issue2.values, " | ")} \u0AAE\u0ABE\u0AA7\u0ACD\u0AAF\u0AAE\u0AA5\u0AC0 \u0A8F\u0A95 \u0A85\u0AAA\u0AC7\u0A95\u0ACD\u0AB7\u0ABF\u0AA4`;
+ case "too_big": {
+ const adj = issue2.inclusive ? "<=" : "<";
+ const sizing = getSizing(issue2.origin);
+ if (sizing)
+ return `\u0A96\u0AC2\u0AAC \u0AAE\u0ACB\u0A9F\u0AC1\u0A82: ${issue2.origin ?? "\u0AAE\u0AC2\u0AB2\u0ACD\u0AAF"} ${adj}${issue2.maximum.toString()} ${sizing.unit ?? "\u0A8F\u0AB2\u0ABF\u0AAE\u0AC7\u0AA8\u0ACD\u0A9F"} \u0AB9\u0ACB\u0AB5\u0ABE \u0A9C\u0ACB\u0A88\u0A8F`;
+ return `\u0A96\u0AC2\u0AAC \u0AAE\u0ACB\u0A9F\u0AC1\u0A82: ${issue2.origin ?? "\u0AAE\u0AC2\u0AB2\u0ACD\u0AAF"} ${adj}${issue2.maximum.toString()} \u0AB9\u0ACB\u0AB5\u0AC1\u0A82 \u0A9C\u0ACB\u0A88\u0A8F`;
+ }
+ case "too_small": {
+ const adj = issue2.inclusive ? ">=" : ">";
+ const sizing = getSizing(issue2.origin);
+ if (sizing) {
+ return `\u0A96\u0AC2\u0AAC \u0AA8\u0ABE\u0AA8\u0AC1\u0A82: ${issue2.origin} ${adj}${issue2.minimum.toString()} ${sizing.unit} \u0AB9\u0ACB\u0AB5\u0ABE \u0A9C\u0ACB\u0A88\u0A8F`;
+ }
+ return `\u0A96\u0AC2\u0AAC \u0AA8\u0ABE\u0AA8\u0AC1\u0A82: ${issue2.origin} ${adj}${issue2.minimum.toString()} \u0AB9\u0ACB\u0AB5\u0AC1\u0A82 \u0A9C\u0ACB\u0A88\u0A8F`;
+ }
+ case "invalid_format": {
+ const _issue = issue2;
+ if (_issue.format === "starts_with") {
+ return `\u0A85\u0AAE\u0ABE\u0AA8\u0ACD\u0AAF \u0AB8\u0ACD\u0A9F\u0ACD\u0AB0\u0ABF\u0A82\u0A97: "${_issue.prefix}" \u0AA5\u0AC0 \u0AB6\u0AB0\u0AC2 \u0AA5\u0AB5\u0AC1\u0A82 \u0A9C\u0ACB\u0A88\u0A8F`;
+ }
+ if (_issue.format === "ends_with")
+ return `\u0A85\u0AAE\u0ABE\u0AA8\u0ACD\u0AAF \u0AB8\u0ACD\u0A9F\u0ACD\u0AB0\u0ABF\u0A82\u0A97: "${_issue.suffix}" \u0AAA\u0AB0 \u0AB8\u0AAE\u0ABE\u0AAA\u0ACD\u0AA4 \u0AA5\u0AB5\u0AC1\u0A82 \u0A9C\u0ACB\u0A88\u0A8F`;
+ if (_issue.format === "includes")
+ return `\u0A85\u0AAE\u0ABE\u0AA8\u0ACD\u0AAF \u0AB8\u0ACD\u0A9F\u0ACD\u0AB0\u0ABF\u0A82\u0A97: "${_issue.includes}" \u0AB6\u0ABE\u0AAE\u0AC7\u0AB2 \u0AB9\u0ACB\u0AB5\u0AC1\u0A82 \u0A9C\u0ACB\u0A88\u0A8F`;
+ if (_issue.format === "regex")
+ return `\u0A85\u0AAE\u0ABE\u0AA8\u0ACD\u0AAF \u0AB8\u0ACD\u0A9F\u0ACD\u0AB0\u0ABF\u0A82\u0A97: \u0AAA\u0AC7\u0A9F\u0AB0\u0ACD\u0AA8 ${_issue.pattern} \u0AB8\u0ABE\u0AA5\u0AC7 \u0AAE\u0AC7\u0AB3 \u0A96\u0ABE\u0AB5\u0AC1\u0A82 \u0A9C\u0ACB\u0A88\u0A8F`;
+ return `\u0A85\u0AAE\u0ABE\u0AA8\u0ACD\u0AAF ${FormatDictionary[_issue.format] ?? issue2.format}`;
+ }
+ case "not_multiple_of":
+ return `\u0A85\u0AAE\u0ABE\u0AA8\u0ACD\u0AAF \u0AA8\u0A82\u0AAC\u0AB0: ${issue2.divisor} \u0AA8\u0ACB \u0A97\u0AC1\u0AA3\u0ABE\u0A82\u0A95 \u0AB9\u0ACB\u0AB5\u0ACB \u0A9C\u0ACB\u0A88\u0A8F`;
+ case "unrecognized_keys":
+ return `\u0A93\u0AB3\u0A96\u0AC0 \u0AB6\u0A95\u0ABE\u0AA4\u0ABE \u0AA8\u0AB9\u0AC0\u0A82 \u0AA4\u0AC7 \u0A95\u0AC0${issue2.keys.length > 1 ? "\u0A93" : ""}: ${joinValues(issue2.keys, ", ")}`;
+ case "invalid_key":
+ return `${issue2.origin} \u0AAE\u0ABE\u0A82 \u0A85\u0AAE\u0ABE\u0AA8\u0ACD\u0AAF \u0A95\u0AC0`;
+ case "invalid_union":
+ if (issue2.options && Array.isArray(issue2.options) && issue2.options.length > 0) {
+ const opts = issue2.options.map((o3) => `'${o3}'`).join(" | ");
+ return `\u0A85\u0AAE\u0ABE\u0AA8\u0ACD\u0AAF \u0AA1\u0ABF\u0AB8\u0ACD\u0A95\u0ACD\u0AB0\u0ABF\u0AAE\u0ABF\u0AA8\u0AC7\u0A9F\u0AB0 \u0AAE\u0AC2\u0AB2\u0ACD\u0AAF. \u0A85\u0AAA\u0AC7\u0A95\u0ACD\u0AB7\u0ABF\u0AA4 ${opts}`;
+ }
+ return "\u0A85\u0AAE\u0ABE\u0AA8\u0ACD\u0AAF \u0A87\u0AA8\u0AAA\u0AC1\u0A9F";
+ case "invalid_element":
+ return `${issue2.origin} \u0AAE\u0ABE\u0A82 \u0A85\u0AAE\u0ABE\u0AA8\u0ACD\u0AAF \u0AAE\u0AC2\u0AB2\u0ACD\u0AAF`;
+ default:
+ return "\u0A85\u0AAE\u0ABE\u0AA8\u0ACD\u0AAF \u0A87\u0AA8\u0AAA\u0AC1\u0A9F";
+ }
+ };
+}, "error");
+function gu_default() {
+ return {
+ localeError: error19()
+ };
+}
+__name(gu_default, "default");
+
+// ../../node_modules/.pnpm/zod@4.6.7/node_modules/zod/v4/locales/he.js
+var error20 = /* @__PURE__ */ __name(() => {
+ const TypeNames = {
+ string: { label: "\u05DE\u05D7\u05E8\u05D5\u05D6\u05EA", gender: "f" },
+ number: { label: "\u05DE\u05E1\u05E4\u05E8", gender: "m" },
+ boolean: { label: "\u05E2\u05E8\u05DA \u05D1\u05D5\u05DC\u05D9\u05D0\u05E0\u05D9", gender: "m" },
+ bigint: { label: "BigInt", gender: "m" },
+ date: { label: "\u05EA\u05D0\u05E8\u05D9\u05DA", gender: "m" },
+ array: { label: "\u05DE\u05E2\u05E8\u05DA", gender: "m" },
+ object: { label: "\u05D0\u05D5\u05D1\u05D9\u05D9\u05E7\u05D8", gender: "m" },
+ null: { label: "\u05E2\u05E8\u05DA \u05E8\u05D9\u05E7 (null)", gender: "m" },
+ undefined: { label: "\u05E2\u05E8\u05DA \u05DC\u05D0 \u05DE\u05D5\u05D2\u05D3\u05E8 (undefined)", gender: "m" },
+ symbol: { label: "\u05E1\u05D9\u05DE\u05D1\u05D5\u05DC (Symbol)", gender: "m" },
+ function: { label: "\u05E4\u05D5\u05E0\u05E7\u05E6\u05D9\u05D4", gender: "f" },
+ map: { label: "\u05DE\u05E4\u05D4 (Map)", gender: "f" },
+ set: { label: "\u05E7\u05D1\u05D5\u05E6\u05D4 (Set)", gender: "f" },
+ file: { label: "\u05E7\u05D5\u05D1\u05E5", gender: "m" },
+ promise: { label: "Promise", gender: "m" },
+ NaN: { label: "NaN", gender: "m" },
+ unknown: { label: "\u05E2\u05E8\u05DA \u05DC\u05D0 \u05D9\u05D3\u05D5\u05E2", gender: "m" },
+ value: { label: "\u05E2\u05E8\u05DA", gender: "m" }
+ };
+ const Sizable = {
+ string: { unit: "\u05EA\u05D5\u05D5\u05D9\u05DD", shortLabel: "\u05E7\u05E6\u05E8", longLabel: "\u05D0\u05E8\u05D5\u05DA" },
+ file: { unit: "\u05D1\u05D9\u05D9\u05D8\u05D9\u05DD", shortLabel: "\u05E7\u05D8\u05DF", longLabel: "\u05D2\u05D3\u05D5\u05DC" },
+ array: { unit: "\u05E4\u05E8\u05D9\u05D8\u05D9\u05DD", shortLabel: "\u05E7\u05D8\u05DF", longLabel: "\u05D2\u05D3\u05D5\u05DC" },
+ set: { unit: "\u05E4\u05E8\u05D9\u05D8\u05D9\u05DD", shortLabel: "\u05E7\u05D8\u05DF", longLabel: "\u05D2\u05D3\u05D5\u05DC" },
+ number: { unit: "", shortLabel: "\u05E7\u05D8\u05DF", longLabel: "\u05D2\u05D3\u05D5\u05DC" }
+ // no unit
+ };
+ const typeEntry = /* @__PURE__ */ __name((t) => t ? TypeNames[t] : void 0, "typeEntry");
+ const typeLabel = /* @__PURE__ */ __name((t) => {
+ const e5 = typeEntry(t);
+ if (e5)
+ return e5.label;
+ return t ?? TypeNames.unknown.label;
+ }, "typeLabel");
+ const withDefinite = /* @__PURE__ */ __name((t) => `\u05D4${typeLabel(t)}`, "withDefinite");
+ const verbFor = /* @__PURE__ */ __name((t) => {
+ const e5 = typeEntry(t);
+ const gender = e5?.gender ?? "m";
+ return gender === "f" ? "\u05E6\u05E8\u05D9\u05DB\u05D4 \u05DC\u05D4\u05D9\u05D5\u05EA" : "\u05E6\u05E8\u05D9\u05DA \u05DC\u05D4\u05D9\u05D5\u05EA";
+ }, "verbFor");
+ const getSizing = /* @__PURE__ */ __name((origin) => {
+ if (!origin)
+ return null;
+ return Sizable[origin] ?? null;
+ }, "getSizing");
+ const FormatDictionary = {
+ regex: { label: "\u05E7\u05DC\u05D8", gender: "m" },
+ email: { label: "\u05DB\u05EA\u05D5\u05D1\u05EA \u05D0\u05D9\u05DE\u05D9\u05D9\u05DC", gender: "f" },
+ url: { label: "\u05DB\u05EA\u05D5\u05D1\u05EA \u05E8\u05E9\u05EA", gender: "f" },
+ emoji: { label: "\u05D0\u05D9\u05DE\u05D5\u05D2'\u05D9", gender: "m" },
+ uuid: { label: "UUID", gender: "m" },
+ uuidv4: { label: "UUIDv4", gender: "m" },
+ uuidv6: { label: "UUIDv6", gender: "m" },
+ nanoid: { label: "nanoid", gender: "m" },
+ guid: { label: "GUID", gender: "m" },
+ cuid: { label: "cuid", gender: "m" },
+ cuid2: { label: "cuid2", gender: "m" },
+ ulid: { label: "ULID", gender: "m" },
+ xid: { label: "XID", gender: "m" },
+ ksuid: { label: "KSUID", gender: "m" },
+ datetime: { label: "\u05EA\u05D0\u05E8\u05D9\u05DA \u05D5\u05D6\u05DE\u05DF ISO", gender: "m" },
+ date: { label: "\u05EA\u05D0\u05E8\u05D9\u05DA ISO", gender: "m" },
+ time: { label: "\u05D6\u05DE\u05DF ISO", gender: "m" },
+ duration: { label: "\u05DE\u05E9\u05DA \u05D6\u05DE\u05DF ISO", gender: "m" },
+ ipv4: { label: "\u05DB\u05EA\u05D5\u05D1\u05EA IPv4", gender: "f" },
+ ipv6: { label: "\u05DB\u05EA\u05D5\u05D1\u05EA IPv6", gender: "f" },
+ mac: { label: "\u05DB\u05EA\u05D5\u05D1\u05EA MAC", gender: "f" },
+ cidrv4: { label: "\u05D8\u05D5\u05D5\u05D7 IPv4", gender: "m" },
+ cidrv6: { label: "\u05D8\u05D5\u05D5\u05D7 IPv6", gender: "m" },
+ base64: { label: "\u05DE\u05D7\u05E8\u05D5\u05D6\u05EA \u05D1\u05D1\u05E1\u05D9\u05E1 64", gender: "f" },
+ base64url: { label: "\u05DE\u05D7\u05E8\u05D5\u05D6\u05EA \u05D1\u05D1\u05E1\u05D9\u05E1 64 \u05DC\u05DB\u05EA\u05D5\u05D1\u05D5\u05EA \u05E8\u05E9\u05EA", gender: "f" },
+ json_string: { label: "\u05DE\u05D7\u05E8\u05D5\u05D6\u05EA JSON", gender: "f" },
+ e164: { label: "\u05DE\u05E1\u05E4\u05E8 E.164", gender: "m" },
+ credit_card: { label: "\u05DE\u05E1\u05E4\u05E8 \u05DB\u05E8\u05D8\u05D9\u05E1 \u05D0\u05E9\u05E8\u05D0\u05D9", gender: "m" },
+ currency_code: { label: "\u05E7\u05D5\u05D3 \u05DE\u05D8\u05D1\u05E2", gender: "m" },
+ iban: { label: "IBAN", gender: "m" },
+ jwt: { label: "JWT", gender: "m" },
+ template_literal: { label: "\u05E7\u05DC\u05D8", gender: "m" },
+ ends_with: { label: "\u05E7\u05DC\u05D8", gender: "m" },
+ includes: { label: "\u05E7\u05DC\u05D8", gender: "m" },
+ lowercase: { label: "\u05E7\u05DC\u05D8", gender: "m" },
+ starts_with: { label: "\u05E7\u05DC\u05D8", gender: "m" },
+ uppercase: { label: "\u05E7\u05DC\u05D8", gender: "m" }
+ };
+ const TypeDictionary = {
+ nan: "NaN"
+ };
+ return (issue2) => {
+ switch (issue2.code) {
+ case "invalid_type": {
+ const expectedKey = issue2.expected;
+ const expected = TypeDictionary[expectedKey ?? ""] ?? typeLabel(expectedKey);
+ const receivedType = parsedType(issue2.input);
+ const received = TypeDictionary[receivedType] ?? TypeNames[receivedType]?.label ?? receivedType;
+ if (/^[A-Z]/.test(issue2.expected)) {
+ return `\u05E7\u05DC\u05D8 \u05DC\u05D0 \u05EA\u05E7\u05D9\u05DF: \u05E6\u05E8\u05D9\u05DA \u05DC\u05D4\u05D9\u05D5\u05EA instanceof ${issue2.expected}, \u05D4\u05EA\u05E7\u05D1\u05DC ${received}`;
+ }
+ return `\u05E7\u05DC\u05D8 \u05DC\u05D0 \u05EA\u05E7\u05D9\u05DF: \u05E6\u05E8\u05D9\u05DA \u05DC\u05D4\u05D9\u05D5\u05EA ${expected}, \u05D4\u05EA\u05E7\u05D1\u05DC ${received}`;
+ }
+ case "invalid_value": {
+ if (issue2.values.length === 1) {
+ return `\u05E2\u05E8\u05DA \u05DC\u05D0 \u05EA\u05E7\u05D9\u05DF: \u05D4\u05E2\u05E8\u05DA \u05D7\u05D9\u05D9\u05D1 \u05DC\u05D4\u05D9\u05D5\u05EA ${stringifyPrimitive(issue2.values[0])}`;
+ }
+ const stringified = issue2.values.map((v) => stringifyPrimitive(v));
+ if (issue2.values.length === 2) {
+ return `\u05E2\u05E8\u05DA \u05DC\u05D0 \u05EA\u05E7\u05D9\u05DF: \u05D4\u05D0\u05E4\u05E9\u05E8\u05D5\u05D9\u05D5\u05EA \u05D4\u05DE\u05EA\u05D0\u05D9\u05DE\u05D5\u05EA \u05D4\u05DF ${stringified[0]} \u05D0\u05D5 ${stringified[1]}`;
+ }
+ const lastValue = stringified[stringified.length - 1];
+ const restValues = stringified.slice(0, -1).join(", ");
+ return `\u05E2\u05E8\u05DA \u05DC\u05D0 \u05EA\u05E7\u05D9\u05DF: \u05D4\u05D0\u05E4\u05E9\u05E8\u05D5\u05D9\u05D5\u05EA \u05D4\u05DE\u05EA\u05D0\u05D9\u05DE\u05D5\u05EA \u05D4\u05DF ${restValues} \u05D0\u05D5 ${lastValue}`;
+ }
+ case "too_big": {
+ const sizing = getSizing(issue2.origin);
+ const subject = withDefinite(issue2.origin ?? "value");
+ if (issue2.origin === "string") {
+ return `${sizing?.longLabel ?? "\u05D0\u05E8\u05D5\u05DA"} \u05DE\u05D3\u05D9: ${subject} \u05E6\u05E8\u05D9\u05DB\u05D4 \u05DC\u05D4\u05DB\u05D9\u05DC ${issue2.maximum.toString()} ${sizing?.unit ?? ""} ${issue2.inclusive ? "\u05D0\u05D5 \u05E4\u05D7\u05D5\u05EA" : "\u05DC\u05DB\u05DC \u05D4\u05D9\u05D5\u05EA\u05E8"}`.trim();
+ }
+ if (issue2.origin === "number") {
+ const comparison = issue2.inclusive ? `\u05E7\u05D8\u05DF \u05D0\u05D5 \u05E9\u05D5\u05D5\u05D4 \u05DC-${issue2.maximum}` : `\u05E7\u05D8\u05DF \u05DE-${issue2.maximum}`;
+ return `\u05D2\u05D3\u05D5\u05DC \u05DE\u05D3\u05D9: ${subject} \u05E6\u05E8\u05D9\u05DA \u05DC\u05D4\u05D9\u05D5\u05EA ${comparison}`;
+ }
+ if (issue2.origin === "array" || issue2.origin === "set") {
+ const verb = issue2.origin === "set" ? "\u05E6\u05E8\u05D9\u05DB\u05D4" : "\u05E6\u05E8\u05D9\u05DA";
+ const comparison = issue2.inclusive ? `${issue2.maximum} ${sizing?.unit ?? ""} \u05D0\u05D5 \u05E4\u05D7\u05D5\u05EA` : `\u05E4\u05D7\u05D5\u05EA \u05DE-${issue2.maximum} ${sizing?.unit ?? ""}`;
+ return `\u05D2\u05D3\u05D5\u05DC \u05DE\u05D3\u05D9: ${subject} ${verb} \u05DC\u05D4\u05DB\u05D9\u05DC ${comparison}`.trim();
+ }
+ const adj = issue2.inclusive ? "<=" : "<";
+ const be = verbFor(issue2.origin ?? "value");
+ if (sizing?.unit) {
+ return `${sizing.longLabel} \u05DE\u05D3\u05D9: ${subject} ${be} ${adj}${issue2.maximum.toString()} ${sizing.unit}`;
+ }
+ return `${sizing?.longLabel ?? "\u05D2\u05D3\u05D5\u05DC"} \u05DE\u05D3\u05D9: ${subject} ${be} ${adj}${issue2.maximum.toString()}`;
+ }
+ case "too_small": {
+ const sizing = getSizing(issue2.origin);
+ const subject = withDefinite(issue2.origin ?? "value");
+ if (issue2.origin === "string") {
+ return `${sizing?.shortLabel ?? "\u05E7\u05E6\u05E8"} \u05DE\u05D3\u05D9: ${subject} \u05E6\u05E8\u05D9\u05DB\u05D4 \u05DC\u05D4\u05DB\u05D9\u05DC ${issue2.minimum.toString()} ${sizing?.unit ?? ""} ${issue2.inclusive ? "\u05D0\u05D5 \u05D9\u05D5\u05EA\u05E8" : "\u05DC\u05E4\u05D7\u05D5\u05EA"}`.trim();
+ }
+ if (issue2.origin === "number") {
+ const comparison = issue2.inclusive ? `\u05D2\u05D3\u05D5\u05DC \u05D0\u05D5 \u05E9\u05D5\u05D5\u05D4 \u05DC-${issue2.minimum}` : `\u05D2\u05D3\u05D5\u05DC \u05DE-${issue2.minimum}`;
+ return `\u05E7\u05D8\u05DF \u05DE\u05D3\u05D9: ${subject} \u05E6\u05E8\u05D9\u05DA \u05DC\u05D4\u05D9\u05D5\u05EA ${comparison}`;
+ }
+ if (issue2.origin === "array" || issue2.origin === "set") {
+ const verb = issue2.origin === "set" ? "\u05E6\u05E8\u05D9\u05DB\u05D4" : "\u05E6\u05E8\u05D9\u05DA";
+ if (issue2.minimum === 1 && issue2.inclusive) {
+ const singularPhrase = issue2.origin === "set" ? "\u05DC\u05E4\u05D7\u05D5\u05EA \u05E4\u05E8\u05D9\u05D8 \u05D0\u05D7\u05D3" : "\u05DC\u05E4\u05D7\u05D5\u05EA \u05E4\u05E8\u05D9\u05D8 \u05D0\u05D7\u05D3";
+ return `\u05E7\u05D8\u05DF \u05DE\u05D3\u05D9: ${subject} ${verb} \u05DC\u05D4\u05DB\u05D9\u05DC ${singularPhrase}`;
+ }
+ const comparison = issue2.inclusive ? `${issue2.minimum} ${sizing?.unit ?? ""} \u05D0\u05D5 \u05D9\u05D5\u05EA\u05E8` : `\u05D9\u05D5\u05EA\u05E8 \u05DE-${issue2.minimum} ${sizing?.unit ?? ""}`;
+ return `\u05E7\u05D8\u05DF \u05DE\u05D3\u05D9: ${subject} ${verb} \u05DC\u05D4\u05DB\u05D9\u05DC ${comparison}`.trim();
+ }
+ const adj = issue2.inclusive ? ">=" : ">";
+ const be = verbFor(issue2.origin ?? "value");
+ if (sizing?.unit) {
+ return `${sizing.shortLabel} \u05DE\u05D3\u05D9: ${subject} ${be} ${adj}${issue2.minimum.toString()} ${sizing.unit}`;
+ }
+ return `${sizing?.shortLabel ?? "\u05E7\u05D8\u05DF"} \u05DE\u05D3\u05D9: ${subject} ${be} ${adj}${issue2.minimum.toString()}`;
+ }
+ case "invalid_format": {
+ const _issue = issue2;
+ if (_issue.format === "starts_with")
+ return `\u05D4\u05DE\u05D7\u05E8\u05D5\u05D6\u05EA \u05D7\u05D9\u05D9\u05D1\u05EA \u05DC\u05D4\u05EA\u05D7\u05D9\u05DC \u05D1 "${_issue.prefix}"`;
+ if (_issue.format === "ends_with")
+ return `\u05D4\u05DE\u05D7\u05E8\u05D5\u05D6\u05EA \u05D7\u05D9\u05D9\u05D1\u05EA \u05DC\u05D4\u05E1\u05EA\u05D9\u05D9\u05DD \u05D1 "${_issue.suffix}"`;
+ if (_issue.format === "includes")
+ return `\u05D4\u05DE\u05D7\u05E8\u05D5\u05D6\u05EA \u05D7\u05D9\u05D9\u05D1\u05EA \u05DC\u05DB\u05DC\u05D5\u05DC "${_issue.includes}"`;
+ if (_issue.format === "regex")
+ return `\u05D4\u05DE\u05D7\u05E8\u05D5\u05D6\u05EA \u05D7\u05D9\u05D9\u05D1\u05EA \u05DC\u05D4\u05EA\u05D0\u05D9\u05DD \u05DC\u05EA\u05D1\u05E0\u05D9\u05EA ${_issue.pattern}`;
+ const nounEntry = FormatDictionary[_issue.format];
+ const noun = nounEntry?.label ?? _issue.format;
+ const gender = nounEntry?.gender ?? "m";
+ const adjective = gender === "f" ? "\u05EA\u05E7\u05D9\u05E0\u05D4" : "\u05EA\u05E7\u05D9\u05DF";
+ return `${noun} \u05DC\u05D0 ${adjective}`;
+ }
+ case "not_multiple_of":
+ return `\u05DE\u05E1\u05E4\u05E8 \u05DC\u05D0 \u05EA\u05E7\u05D9\u05DF: \u05D7\u05D9\u05D9\u05D1 \u05DC\u05D4\u05D9\u05D5\u05EA \u05DE\u05DB\u05E4\u05DC\u05D4 \u05E9\u05DC ${issue2.divisor}`;
+ case "unrecognized_keys":
+ return `\u05DE\u05E4\u05EA\u05D7${issue2.keys.length > 1 ? "\u05D5\u05EA" : ""} \u05DC\u05D0 \u05DE\u05D6\u05D5\u05D4${issue2.keys.length > 1 ? "\u05D9\u05DD" : "\u05D4"}: ${joinValues(issue2.keys, ", ")}`;
+ case "invalid_key": {
+ return `\u05E9\u05D3\u05D4 \u05DC\u05D0 \u05EA\u05E7\u05D9\u05DF \u05D1\u05D0\u05D5\u05D1\u05D9\u05D9\u05E7\u05D8`;
+ }
+ case "invalid_union":
+ return "\u05E7\u05DC\u05D8 \u05DC\u05D0 \u05EA\u05E7\u05D9\u05DF";
+ case "invalid_element": {
+ const place = withDefinite(issue2.origin ?? "array");
+ return `\u05E2\u05E8\u05DA \u05DC\u05D0 \u05EA\u05E7\u05D9\u05DF \u05D1${place}`;
+ }
+ default:
+ return `\u05E7\u05DC\u05D8 \u05DC\u05D0 \u05EA\u05E7\u05D9\u05DF`;
+ }
+ };
+}, "error");
+function he_default() {
+ return {
+ localeError: error20()
+ };
+}
+__name(he_default, "default");
+
+// ../../node_modules/.pnpm/zod@4.6.7/node_modules/zod/v4/locales/hi.js
+var error21 = /* @__PURE__ */ __name(() => {
+ const Sizable = {
+ string: { unit: "\u0905\u0915\u094D\u0937\u0930", verb: "\u0930\u0916\u0928\u0947 \u0915\u0947 \u0932\u093F\u090F" },
+ file: { unit: "\u092C\u093E\u0907\u091F\u094D\u0938", verb: "\u0930\u0916\u0928\u0947 \u0915\u0947 \u0932\u093F\u090F" },
+ array: { unit: "\u0924\u0924\u094D\u0935", verb: "\u0930\u0916\u0928\u0947 \u0915\u0947 \u0932\u093F\u090F" },
+ set: { unit: "\u0924\u0924\u094D\u0935", verb: "\u0930\u0916\u0928\u0947 \u0915\u0947 \u0932\u093F\u090F" },
+ map: { unit: "\u092A\u094D\u0930\u0935\u093F\u0937\u094D\u091F\u093F\u092F\u093E\u0901", verb: "\u0930\u0916\u0928\u0947 \u0915\u0947 \u0932\u093F\u090F" }
+ };
+ function getSizing(origin) {
+ return Sizable[origin] ?? null;
+ }
+ __name(getSizing, "getSizing");
+ const FormatDictionary = {
+ regex: "\u0907\u0928\u092A\u0941\u091F",
+ email: "\u0908\u092E\u0947\u0932 \u092A\u0924\u093E",
+ url: "URL",
+ emoji: "\u0907\u092E\u094B\u091C\u0940",
+ uuid: "UUID",
+ uuidv4: "UUIDv4",
+ uuidv6: "UUIDv6",
+ nanoid: "nanoid",
+ guid: "GUID",
+ cuid: "cuid",
+ cuid2: "cuid2",
+ ulid: "ULID",
+ xid: "XID",
+ ksuid: "KSUID",
+ datetime: "ISO \u0924\u093F\u0925\u093F \u0914\u0930 \u0938\u092E\u092F",
+ date: "ISO \u0924\u093F\u0925\u093F",
+ time: "ISO \u0938\u092E\u092F",
+ duration: "ISO \u0905\u0935\u0927\u093F",
+ ipv4: "IPv4 \u092A\u0924\u093E",
+ ipv6: "IPv6 \u092A\u0924\u093E",
+ mac: "MAC \u092A\u0924\u093E",
+ cidrv4: "IPv4 \u0936\u094D\u0930\u0947\u0923\u0940",
+ cidrv6: "IPv6 \u0936\u094D\u0930\u0947\u0923\u0940",
+ base64: "Base64-\u090F\u0928\u094D\u0915\u094B\u0921\u0947\u0921 \u0938\u094D\u091F\u094D\u0930\u093F\u0902\u0917",
+ base64url: "Base64URL-\u090F\u0928\u094D\u0915\u094B\u0921\u0947\u0921 \u0938\u094D\u091F\u094D\u0930\u093F\u0902\u0917",
+ json_string: "JSON \u0938\u094D\u091F\u094D\u0930\u093F\u0902\u0917",
+ e164: "E.164 \u0938\u0902\u0916\u094D\u092F\u093E",
+ credit_card: "\u0915\u094D\u0930\u0947\u0921\u093F\u091F \u0915\u093E\u0930\u094D\u0921 \u0938\u0902\u0916\u094D\u092F\u093E",
+ currency_code: "\u092E\u0941\u0926\u094D\u0930\u093E \u0915\u094B\u0921",
+ iban: "IBAN",
+ jwt: "JWT",
+ template_literal: "\u0907\u0928\u092A\u0941\u091F"
+ };
+ const TypeDictionary = {
+ nan: "NaN"
+ };
+ return (issue2) => {
+ switch (issue2.code) {
+ case "invalid_type": {
+ const expected = TypeDictionary[issue2.expected] ?? issue2.expected;
+ const receivedType = parsedType(issue2.input);
+ const received = TypeDictionary[receivedType] ?? receivedType;
+ return `\u0905\u092E\u093E\u0928\u094D\u092F \u0907\u0928\u092A\u0941\u091F: \u0905\u092A\u0947\u0915\u094D\u0937\u093F\u0924 ${expected}, \u092A\u094D\u0930\u093E\u092A\u094D\u0924 ${received}`;
+ }
+ case "invalid_value":
+ if (issue2.values.length === 1)
+ return `\u0905\u092E\u093E\u0928\u094D\u092F \u0907\u0928\u092A\u0941\u091F: \u0905\u092A\u0947\u0915\u094D\u0937\u093F\u0924 ${stringifyPrimitive(issue2.values[0])}`;
+ return `\u0905\u092E\u093E\u0928\u094D\u092F \u0935\u093F\u0915\u0932\u094D\u092A: \u0905\u092A\u0947\u0915\u094D\u0937\u093F\u0924 \u092E\u093E\u0928\u094B\u0902 \u092E\u0947\u0902 \u0938\u0947 \u090F\u0915 ${joinValues(issue2.values, "|")}`;
+ case "too_big": {
+ const adj = issue2.inclusive ? "<=" : "<";
+ const sizing = getSizing(issue2.origin);
+ if (sizing)
+ return `\u092C\u0939\u0941\u0924 \u092C\u0921\u093C\u093E: \u0905\u092A\u0947\u0915\u094D\u0937\u093F\u0924 \u0925\u093E \u0915\u093F ${issue2.origin ?? "\u092E\u093E\u0928"} \u092E\u0947\u0902 ${adj}${issue2.maximum} ${sizing.unit} \u0939\u094B\u0902`;
+ return `\u092C\u0939\u0941\u0924 \u092C\u0921\u093C\u093E: \u0905\u092A\u0947\u0915\u094D\u0937\u093F\u0924 \u0925\u093E \u0915\u093F ${issue2.origin ?? "\u092E\u093E\u0928"} ${adj}${issue2.maximum} \u0939\u094B`;
+ }
+ case "too_small": {
+ const adj = issue2.inclusive ? ">=" : ">";
+ const sizing = getSizing(issue2.origin);
+ if (sizing)
+ return `\u092C\u0939\u0941\u0924 \u091B\u094B\u091F\u093E: \u0905\u092A\u0947\u0915\u094D\u0937\u093F\u0924 \u0925\u093E \u0915\u093F ${issue2.origin} \u092E\u0947\u0902 ${adj}${issue2.minimum} ${sizing.unit} \u0939\u094B\u0902`;
+ return `\u092C\u0939\u0941\u0924 \u091B\u094B\u091F\u093E: \u0905\u092A\u0947\u0915\u094D\u0937\u093F\u0924 \u0925\u093E \u0915\u093F ${issue2.origin} ${adj}${issue2.minimum} \u0939\u094B`;
+ }
+ case "invalid_format": {
+ const _issue = issue2;
+ if (_issue.format === "starts_with")
+ return `\u0905\u092E\u093E\u0928\u094D\u092F \u0938\u094D\u091F\u094D\u0930\u093F\u0902\u0917: "${_issue.prefix}" \u0938\u0947 \u0936\u0941\u0930\u0942 \u0939\u094B\u0928\u093E \u091A\u093E\u0939\u093F\u090F`;
+ if (_issue.format === "ends_with")
+ return `\u0905\u092E\u093E\u0928\u094D\u092F \u0938\u094D\u091F\u094D\u0930\u093F\u0902\u0917: "${_issue.suffix}" \u092A\u0930 \u0938\u092E\u093E\u092A\u094D\u0924 \u0939\u094B\u0928\u093E \u091A\u093E\u0939\u093F\u090F`;
+ if (_issue.format === "includes")
+ return `\u0905\u092E\u093E\u0928\u094D\u092F \u0938\u094D\u091F\u094D\u0930\u093F\u0902\u0917: \u0907\u0938\u092E\u0947\u0902 "${_issue.includes}" \u0936\u093E\u092E\u093F\u0932 \u0939\u094B\u0928\u093E \u091A\u093E\u0939\u093F\u090F`;
+ if (_issue.format === "regex")
+ return `\u0905\u092E\u093E\u0928\u094D\u092F \u0938\u094D\u091F\u094D\u0930\u093F\u0902\u0917: \u092A\u0948\u091F\u0930\u094D\u0928 ${_issue.pattern} \u0938\u0947 \u092E\u0947\u0932 \u0916\u093E\u0928\u093E \u091A\u093E\u0939\u093F\u090F`;
+ return `\u0905\u092E\u093E\u0928\u094D\u092F ${FormatDictionary[_issue.format] ?? issue2.format}`;
+ }
+ case "not_multiple_of":
+ return `\u0905\u092E\u093E\u0928\u094D\u092F \u0938\u0902\u0916\u094D\u092F\u093E: \u092F\u0939 ${issue2.divisor} \u0915\u093E \u0917\u0941\u0923\u091C \u0939\u094B\u0928\u093E \u091A\u093E\u0939\u093F\u090F`;
+ case "unrecognized_keys":
+ return `\u0905\u092A\u0930\u093F\u091A\u093F\u0924 \u0915\u0941\u0902\u091C\u0940${issue2.keys.length > 1 ? "\u092F\u093E\u0901" : ""}: ${joinValues(issue2.keys, ", ")}`;
+ case "invalid_key":
+ return `\u0905\u092E\u093E\u0928\u094D\u092F \u0915\u0941\u0902\u091C\u0940: ${issue2.origin} \u092E\u0947\u0902`;
+ case "invalid_union":
+ if (issue2.options && Array.isArray(issue2.options) && issue2.options.length > 0) {
+ const opts = issue2.options.map((o3) => `'${o3}'`).join(" | ");
+ return `\u0905\u092E\u093E\u0928\u094D\u092F \u0921\u093F\u0938\u094D\u0915\u094D\u0930\u093F\u092E\u093F\u0928\u0947\u091F\u0930 \u092E\u093E\u0928: \u0905\u092A\u0947\u0915\u094D\u0937\u093F\u0924 ${opts}`;
+ }
+ return "\u0905\u092E\u093E\u0928\u094D\u092F \u0907\u0928\u092A\u0941\u091F";
+ case "invalid_element":
+ return `\u0905\u092E\u093E\u0928\u094D\u092F \u092E\u093E\u0928: ${issue2.origin} \u092E\u0947\u0902`;
+ default:
+ return `\u0905\u092E\u093E\u0928\u094D\u092F \u0907\u0928\u092A\u0941\u091F`;
+ }
+ };
+}, "error");
+function hi_default() {
+ return {
+ localeError: error21()
+ };
+}
+__name(hi_default, "default");
+
+// ../../node_modules/.pnpm/zod@4.6.7/node_modules/zod/v4/locales/hr.js
+var error22 = /* @__PURE__ */ __name(() => {
+ const Sizable = {
+ string: { unit: "znakova", verb: "imati" },
+ file: { unit: "bajtova", verb: "imati" },
+ array: { unit: "stavki", verb: "imati" },
+ set: { unit: "stavki", verb: "imati" }
+ };
+ function getSizing(origin) {
+ return Sizable[origin] ?? null;
+ }
+ __name(getSizing, "getSizing");
+ const FormatDictionary = {
+ regex: "unos",
+ email: "email adresa",
+ url: "URL",
+ emoji: "emoji",
+ uuid: "UUID",
+ uuidv4: "UUIDv4",
+ uuidv6: "UUIDv6",
+ nanoid: "nanoid",
+ guid: "GUID",
+ cuid: "cuid",
+ cuid2: "cuid2",
+ ulid: "ULID",
+ xid: "XID",
+ ksuid: "KSUID",
+ datetime: "ISO datum i vrijeme",
+ date: "ISO datum",
+ time: "ISO vrijeme",
+ duration: "ISO trajanje",
+ ipv4: "IPv4 adresa",
+ ipv6: "IPv6 adresa",
+ mac: "MAC adresa",
+ cidrv4: "IPv4 raspon",
+ cidrv6: "IPv6 raspon",
+ base64: "base64 kodirani tekst",
+ base64url: "base64url kodirani tekst",
+ json_string: "JSON tekst",
+ e164: "E.164 broj",
+ credit_card: "broj kreditne kartice",
+ currency_code: "kod valute",
+ iban: "IBAN",
+ jwt: "JWT",
+ template_literal: "unos"
+ };
+ const TypeDictionary = {
+ nan: "NaN",
+ string: "tekst",
+ number: "broj",
+ boolean: "boolean",
+ array: "niz",
+ object: "objekt",
+ set: "skup",
+ file: "datoteka",
+ date: "datum",
+ bigint: "bigint",
+ symbol: "simbol",
+ undefined: "undefined",
+ null: "null",
+ function: "funkcija",
+ map: "mapa"
+ };
+ return (issue2) => {
+ switch (issue2.code) {
+ case "invalid_type": {
+ const expected = TypeDictionary[issue2.expected] ?? issue2.expected;
+ const receivedType = parsedType(issue2.input);
+ const received = TypeDictionary[receivedType] ?? receivedType;
+ if (/^[A-Z]/.test(issue2.expected)) {
+ return `Neispravan unos: o\u010Dekuje se instanceof ${issue2.expected}, a primljeno je ${received}`;
+ }
+ return `Neispravan unos: o\u010Dekuje se ${expected}, a primljeno je ${received}`;
+ }
+ case "invalid_value":
+ if (issue2.values.length === 1)
+ return `Neispravna vrijednost: o\u010Dekivano ${stringifyPrimitive(issue2.values[0])}`;
+ return `Neispravna opcija: o\u010Dekivano jedno od ${joinValues(issue2.values, "|")}`;
+ case "too_big": {
+ const adj = issue2.inclusive ? "<=" : "<";
+ const sizing = getSizing(issue2.origin);
+ const origin = TypeDictionary[issue2.origin] ?? issue2.origin;
+ if (sizing)
+ return `Preveliko: o\u010Dekivano da ${origin ?? "vrijednost"} ima ${adj}${issue2.maximum.toString()} ${sizing.unit ?? "elemenata"}`;
+ return `Preveliko: o\u010Dekivano da ${origin ?? "vrijednost"} bude ${adj}${issue2.maximum.toString()}`;
+ }
+ case "too_small": {
+ const adj = issue2.inclusive ? ">=" : ">";
+ const sizing = getSizing(issue2.origin);
+ const origin = TypeDictionary[issue2.origin] ?? issue2.origin;
+ if (sizing) {
+ return `Premalo: o\u010Dekivano da ${origin} ima ${adj}${issue2.minimum.toString()} ${sizing.unit}`;
+ }
+ return `Premalo: o\u010Dekivano da ${origin} bude ${adj}${issue2.minimum.toString()}`;
+ }
+ case "invalid_format": {
+ const _issue = issue2;
+ if (_issue.format === "starts_with")
+ return `Neispravan tekst: mora zapo\u010Dinjati s "${_issue.prefix}"`;
+ if (_issue.format === "ends_with")
+ return `Neispravan tekst: mora zavr\u0161avati s "${_issue.suffix}"`;
+ if (_issue.format === "includes")
+ return `Neispravan tekst: mora sadr\u017Eavati "${_issue.includes}"`;
+ if (_issue.format === "regex")
+ return `Neispravan tekst: mora odgovarati uzorku ${_issue.pattern}`;
+ return `Neispravna ${FormatDictionary[_issue.format] ?? issue2.format}`;
+ }
+ case "not_multiple_of":
+ return `Neispravan broj: mora biti vi\u0161ekratnik od ${issue2.divisor}`;
+ case "unrecognized_keys":
+ return `Neprepoznat${issue2.keys.length > 1 ? "i klju\u010Devi" : " klju\u010D"}: ${joinValues(issue2.keys, ", ")}`;
+ case "invalid_key":
+ return `Neispravan klju\u010D u ${TypeDictionary[issue2.origin] ?? issue2.origin}`;
+ case "invalid_union":
+ return "Neispravan unos";
+ case "invalid_element":
+ return `Neispravna vrijednost u ${TypeDictionary[issue2.origin] ?? issue2.origin}`;
+ default:
+ return `Neispravan unos`;
+ }
+ };
+}, "error");
+function hr_default() {
+ return {
+ localeError: error22()
+ };
+}
+__name(hr_default, "default");
+
+// ../../node_modules/.pnpm/zod@4.6.7/node_modules/zod/v4/locales/hu.js
+var error23 = /* @__PURE__ */ __name(() => {
+ const Sizable = {
+ string: { unit: "karakter", verb: "legyen" },
+ file: { unit: "byte", verb: "legyen" },
+ array: { unit: "elem", verb: "legyen" },
+ set: { unit: "elem", verb: "legyen" },
+ map: { unit: "elem", verb: "legyen" }
+ };
+ function getSizing(origin) {
+ return Sizable[origin] ?? null;
+ }
+ __name(getSizing, "getSizing");
+ const FormatDictionary = {
+ regex: "bemenet",
+ email: "email c\xEDm",
+ url: "URL",
+ emoji: "emoji",
+ uuid: "UUID",
+ uuidv4: "UUIDv4",
+ uuidv6: "UUIDv6",
+ nanoid: "nanoid",
+ guid: "GUID",
+ cuid: "cuid",
+ cuid2: "cuid2",
+ ulid: "ULID",
+ xid: "XID",
+ ksuid: "KSUID",
+ datetime: "ISO id\u0151b\xE9lyeg",
+ date: "ISO d\xE1tum",
+ time: "ISO id\u0151",
+ duration: "ISO id\u0151intervallum",
+ ipv4: "IPv4 c\xEDm",
+ ipv6: "IPv6 c\xEDm",
+ mac: "MAC c\xEDm",
+ cidrv4: "IPv4 tartom\xE1ny",
+ cidrv6: "IPv6 tartom\xE1ny",
+ base64: "base64-k\xF3dolt string",
+ base64url: "base64url-k\xF3dolt string",
+ json_string: "JSON string",
+ e164: "E.164 sz\xE1m",
+ credit_card: "hitelk\xE1rtyasz\xE1m",
+ currency_code: "p\xE9nznemk\xF3d",
+ iban: "IBAN",
+ jwt: "JWT",
+ template_literal: "bemenet"
+ };
+ const TypeDictionary = {
+ nan: "NaN",
+ number: "sz\xE1m",
+ array: "t\xF6mb"
+ };
+ return (issue2) => {
+ switch (issue2.code) {
+ case "invalid_type": {
+ const expected = TypeDictionary[issue2.expected] ?? issue2.expected;
+ const receivedType = parsedType(issue2.input);
+ const received = TypeDictionary[receivedType] ?? receivedType;
+ if (/^[A-Z]/.test(issue2.expected)) {
+ return `\xC9rv\xE9nytelen bemenet: a v\xE1rt \xE9rt\xE9k instanceof ${issue2.expected}, a kapott \xE9rt\xE9k ${received}`;
+ }
+ return `\xC9rv\xE9nytelen bemenet: a v\xE1rt \xE9rt\xE9k ${expected}, a kapott \xE9rt\xE9k ${received}`;
+ }
+ case "invalid_value":
+ if (issue2.values.length === 1)
+ return `\xC9rv\xE9nytelen bemenet: a v\xE1rt \xE9rt\xE9k ${stringifyPrimitive(issue2.values[0])}`;
+ return `\xC9rv\xE9nytelen opci\xF3: valamelyik \xE9rt\xE9k v\xE1rt ${joinValues(issue2.values, "|")}`;
+ case "too_big": {
+ const adj = issue2.inclusive ? "<=" : "<";
+ const sizing = getSizing(issue2.origin);
+ if (sizing)
+ return `T\xFAl nagy: ${issue2.origin ?? "\xE9rt\xE9k"} m\xE9rete t\xFAl nagy ${adj}${issue2.maximum.toString()} ${sizing.unit ?? "elem"}`;
+ return `T\xFAl nagy: a bemeneti \xE9rt\xE9k ${issue2.origin ?? "\xE9rt\xE9k"} t\xFAl nagy: ${adj}${issue2.maximum.toString()}`;
+ }
+ case "too_small": {
+ const adj = issue2.inclusive ? ">=" : ">";
+ const sizing = getSizing(issue2.origin);
+ if (sizing) {
+ return `T\xFAl kicsi: a bemeneti \xE9rt\xE9k ${issue2.origin} m\xE9rete t\xFAl kicsi ${adj}${issue2.minimum.toString()} ${sizing.unit}`;
+ }
+ return `T\xFAl kicsi: a bemeneti \xE9rt\xE9k ${issue2.origin} t\xFAl kicsi ${adj}${issue2.minimum.toString()}`;
+ }
+ case "invalid_format": {
+ const _issue = issue2;
+ if (_issue.format === "starts_with")
+ return `\xC9rv\xE9nytelen string: "${_issue.prefix}" \xE9rt\xE9kkel kell kezd\u0151dnie`;
+ if (_issue.format === "ends_with")
+ return `\xC9rv\xE9nytelen string: "${_issue.suffix}" \xE9rt\xE9kkel kell v\xE9gz\u0151dnie`;
+ if (_issue.format === "includes")
+ return `\xC9rv\xE9nytelen string: "${_issue.includes}" \xE9rt\xE9ket kell tartalmaznia`;
+ if (_issue.format === "regex")
+ return `\xC9rv\xE9nytelen string: ${_issue.pattern} mint\xE1nak kell megfelelnie`;
+ return `\xC9rv\xE9nytelen ${FormatDictionary[_issue.format] ?? issue2.format}`;
+ }
+ case "not_multiple_of":
+ return `\xC9rv\xE9nytelen sz\xE1m: ${issue2.divisor} t\xF6bbsz\xF6r\xF6s\xE9nek kell lennie`;
+ case "unrecognized_keys":
+ return `Ismeretlen kulcs${issue2.keys.length > 1 ? "s" : ""}: ${joinValues(issue2.keys, ", ")}`;
+ case "invalid_key":
+ return `\xC9rv\xE9nytelen kulcs ${issue2.origin}`;
+ case "invalid_union":
+ return "\xC9rv\xE9nytelen bemenet";
+ case "invalid_element":
+ return `\xC9rv\xE9nytelen \xE9rt\xE9k: ${issue2.origin}`;
+ default:
+ return `\xC9rv\xE9nytelen bemenet`;
+ }
+ };
+}, "error");
+function hu_default() {
+ return {
+ localeError: error23()
+ };
+}
+__name(hu_default, "default");
+
+// ../../node_modules/.pnpm/zod@4.6.7/node_modules/zod/v4/locales/hy.js
+function getArmenianPlural(count, one, many) {
+ return Math.abs(count) === 1 ? one : many;
+}
+__name(getArmenianPlural, "getArmenianPlural");
+function withDefiniteArticle(word) {
+ if (!word)
+ return "";
+ const vowels = ["\u0561", "\u0565", "\u0568", "\u056B", "\u0578", "\u0578\u0582", "\u0585"];
+ const lastChar = word[word.length - 1];
+ return word + (vowels.includes(lastChar) ? "\u0576" : "\u0568");
+}
+__name(withDefiniteArticle, "withDefiniteArticle");
+var error24 = /* @__PURE__ */ __name(() => {
+ const Sizable = {
+ string: {
+ unit: {
+ one: "\u0576\u0577\u0561\u0576",
+ many: "\u0576\u0577\u0561\u0576\u0576\u0565\u0580"
+ },
+ verb: "\u0578\u0582\u0576\u0565\u0576\u0561\u056C"
+ },
+ file: {
+ unit: {
+ one: "\u0562\u0561\u0575\u0569",
+ many: "\u0562\u0561\u0575\u0569\u0565\u0580"
+ },
+ verb: "\u0578\u0582\u0576\u0565\u0576\u0561\u056C"
+ },
+ array: {
+ unit: {
+ one: "\u057F\u0561\u0580\u0580",
+ many: "\u057F\u0561\u0580\u0580\u0565\u0580"
+ },
+ verb: "\u0578\u0582\u0576\u0565\u0576\u0561\u056C"
+ },
+ set: {
+ unit: {
+ one: "\u057F\u0561\u0580\u0580",
+ many: "\u057F\u0561\u0580\u0580\u0565\u0580"
+ },
+ verb: "\u0578\u0582\u0576\u0565\u0576\u0561\u056C"
+ },
+ map: {
+ unit: {
+ one: "\u057F\u0561\u0580\u0580",
+ many: "\u057F\u0561\u0580\u0580\u0565\u0580"
+ },
+ verb: "\u0578\u0582\u0576\u0565\u0576\u0561\u056C"
+ }
+ };
+ function getSizing(origin) {
+ return Sizable[origin] ?? null;
+ }
+ __name(getSizing, "getSizing");
+ const FormatDictionary = {
+ regex: "\u0574\u0578\u0582\u057F\u0584",
+ email: "\u0567\u056C. \u0570\u0561\u057D\u0581\u0565",
+ url: "URL",
+ emoji: "\u0567\u0574\u0578\u057B\u056B",
+ uuid: "UUID",
+ uuidv4: "UUIDv4",
+ uuidv6: "UUIDv6",
+ nanoid: "nanoid",
+ guid: "GUID",
+ cuid: "cuid",
+ cuid2: "cuid2",
+ ulid: "ULID",
+ xid: "XID",
+ ksuid: "KSUID",
+ datetime: "ISO \u0561\u0574\u057D\u0561\u0569\u056B\u057E \u0587 \u056A\u0561\u0574",
+ date: "ISO \u0561\u0574\u057D\u0561\u0569\u056B\u057E",
+ time: "ISO \u056A\u0561\u0574",
+ duration: "ISO \u057F\u0587\u0578\u0572\u0578\u0582\u0569\u0575\u0578\u0582\u0576",
+ ipv4: "IPv4 \u0570\u0561\u057D\u0581\u0565",
+ ipv6: "IPv6 \u0570\u0561\u057D\u0581\u0565",
+ mac: "MAC \u0570\u0561\u057D\u0581\u0565",
+ cidrv4: "IPv4 \u0574\u056B\u057B\u0561\u056F\u0561\u0575\u0584",
+ cidrv6: "IPv6 \u0574\u056B\u057B\u0561\u056F\u0561\u0575\u0584",
+ base64: "base64 \u0571\u0587\u0561\u0579\u0561\u0583\u0578\u057E \u057F\u0578\u0572",
+ base64url: "base64url \u0571\u0587\u0561\u0579\u0561\u0583\u0578\u057E \u057F\u0578\u0572",
+ json_string: "JSON \u057F\u0578\u0572",
+ e164: "E.164 \u0570\u0561\u0574\u0561\u0580",
+ credit_card: "\u056F\u0580\u0565\u0564\u056B\u057F \u0584\u0561\u0580\u057F\u056B \u0570\u0561\u0574\u0561\u0580",
+ currency_code: "\u0561\u0580\u056A\u0578\u0582\u0575\u0569\u056B \u056F\u0578\u0564",
+ iban: "IBAN",
+ jwt: "JWT",
+ template_literal: "\u0574\u0578\u0582\u057F\u0584"
+ };
+ const TypeDictionary = {
+ nan: "NaN",
+ number: "\u0569\u056B\u057E",
+ array: "\u0566\u0561\u0576\u0563\u057E\u0561\u056E"
+ };
+ return (issue2) => {
+ switch (issue2.code) {
+ case "invalid_type": {
+ const expected = TypeDictionary[issue2.expected] ?? issue2.expected;
+ const receivedType = parsedType(issue2.input);
+ const received = TypeDictionary[receivedType] ?? receivedType;
+ if (/^[A-Z]/.test(issue2.expected)) {
+ return `\u054D\u056D\u0561\u056C \u0574\u0578\u0582\u057F\u0584\u0561\u0563\u0580\u0578\u0582\u0574\u2024 \u057D\u057A\u0561\u057D\u057E\u0578\u0582\u0574 \u0567\u0580 instanceof ${issue2.expected}, \u057D\u057F\u0561\u0581\u057E\u0565\u056C \u0567 ${received}`;
+ }
+ return `\u054D\u056D\u0561\u056C \u0574\u0578\u0582\u057F\u0584\u0561\u0563\u0580\u0578\u0582\u0574\u2024 \u057D\u057A\u0561\u057D\u057E\u0578\u0582\u0574 \u0567\u0580 ${expected}, \u057D\u057F\u0561\u0581\u057E\u0565\u056C \u0567 ${received}`;
+ }
+ case "invalid_value":
+ if (issue2.values.length === 1)
+ return `\u054D\u056D\u0561\u056C \u0574\u0578\u0582\u057F\u0584\u0561\u0563\u0580\u0578\u0582\u0574\u2024 \u057D\u057A\u0561\u057D\u057E\u0578\u0582\u0574 \u0567\u0580 ${stringifyPrimitive(issue2.values[1])}`;
+ return `\u054D\u056D\u0561\u056C \u057F\u0561\u0580\u0562\u0565\u0580\u0561\u056F\u2024 \u057D\u057A\u0561\u057D\u057E\u0578\u0582\u0574 \u0567\u0580 \u0570\u0565\u057F\u0587\u0575\u0561\u056C\u0576\u0565\u0580\u056B\u0581 \u0574\u0565\u056F\u0568\u055D ${joinValues(issue2.values, "|")}`;
+ case "too_big": {
+ const adj = issue2.inclusive ? "<=" : "<";
+ const sizing = getSizing(issue2.origin);
+ if (sizing) {
+ const maxValue = Number(issue2.maximum);
+ const unit = getArmenianPlural(maxValue, sizing.unit.one, sizing.unit.many);
+ return `\u0549\u0561\u0583\u0561\u0566\u0561\u0576\u0581 \u0574\u0565\u056E \u0561\u0580\u056A\u0565\u0584\u2024 \u057D\u057A\u0561\u057D\u057E\u0578\u0582\u0574 \u0567, \u0578\u0580 ${withDefiniteArticle(issue2.origin ?? "\u0561\u0580\u056A\u0565\u0584")} \u056F\u0578\u0582\u0576\u0565\u0576\u0561 ${adj}${issue2.maximum.toString()} ${unit}`;
+ }
+ return `\u0549\u0561\u0583\u0561\u0566\u0561\u0576\u0581 \u0574\u0565\u056E \u0561\u0580\u056A\u0565\u0584\u2024 \u057D\u057A\u0561\u057D\u057E\u0578\u0582\u0574 \u0567, \u0578\u0580 ${withDefiniteArticle(issue2.origin ?? "\u0561\u0580\u056A\u0565\u0584")} \u056C\u056B\u0576\u056B ${adj}${issue2.maximum.toString()}`;
+ }
+ case "too_small": {
+ const adj = issue2.inclusive ? ">=" : ">";
+ const sizing = getSizing(issue2.origin);
+ if (sizing) {
+ const minValue = Number(issue2.minimum);
+ const unit = getArmenianPlural(minValue, sizing.unit.one, sizing.unit.many);
+ return `\u0549\u0561\u0583\u0561\u0566\u0561\u0576\u0581 \u0583\u0578\u0584\u0580 \u0561\u0580\u056A\u0565\u0584\u2024 \u057D\u057A\u0561\u057D\u057E\u0578\u0582\u0574 \u0567, \u0578\u0580 ${withDefiniteArticle(issue2.origin)} \u056F\u0578\u0582\u0576\u0565\u0576\u0561 ${adj}${issue2.minimum.toString()} ${unit}`;
+ }
+ return `\u0549\u0561\u0583\u0561\u0566\u0561\u0576\u0581 \u0583\u0578\u0584\u0580 \u0561\u0580\u056A\u0565\u0584\u2024 \u057D\u057A\u0561\u057D\u057E\u0578\u0582\u0574 \u0567, \u0578\u0580 ${withDefiniteArticle(issue2.origin)} \u056C\u056B\u0576\u056B ${adj}${issue2.minimum.toString()}`;
+ }
+ case "invalid_format": {
+ const _issue = issue2;
+ if (_issue.format === "starts_with")
+ return `\u054D\u056D\u0561\u056C \u057F\u0578\u0572\u2024 \u057A\u0565\u057F\u0584 \u0567 \u057D\u056F\u057D\u057E\u056B "${_issue.prefix}"-\u0578\u057E`;
+ if (_issue.format === "ends_with")
+ return `\u054D\u056D\u0561\u056C \u057F\u0578\u0572\u2024 \u057A\u0565\u057F\u0584 \u0567 \u0561\u057E\u0561\u0580\u057F\u057E\u056B "${_issue.suffix}"-\u0578\u057E`;
+ if (_issue.format === "includes")
+ return `\u054D\u056D\u0561\u056C \u057F\u0578\u0572\u2024 \u057A\u0565\u057F\u0584 \u0567 \u057A\u0561\u0580\u0578\u0582\u0576\u0561\u056F\u056B "${_issue.includes}"`;
+ if (_issue.format === "regex")
+ return `\u054D\u056D\u0561\u056C \u057F\u0578\u0572\u2024 \u057A\u0565\u057F\u0584 \u0567 \u0570\u0561\u0574\u0561\u057A\u0561\u057F\u0561\u057D\u056D\u0561\u0576\u056B ${_issue.pattern} \u0571\u0587\u0561\u0579\u0561\u0583\u056B\u0576`;
+ return `\u054D\u056D\u0561\u056C ${FormatDictionary[_issue.format] ?? issue2.format}`;
+ }
+ case "not_multiple_of":
+ return `\u054D\u056D\u0561\u056C \u0569\u056B\u057E\u2024 \u057A\u0565\u057F\u0584 \u0567 \u0562\u0561\u0566\u0574\u0561\u057A\u0561\u057F\u056B\u056F \u056C\u056B\u0576\u056B ${issue2.divisor}-\u056B`;
+ case "unrecognized_keys":
+ return `\u0549\u0573\u0561\u0576\u0561\u0579\u057E\u0561\u056E \u0562\u0561\u0576\u0561\u056C\u056B${issue2.keys.length > 1 ? "\u0576\u0565\u0580" : ""}. ${joinValues(issue2.keys, ", ")}`;
+ case "invalid_key":
+ return `\u054D\u056D\u0561\u056C \u0562\u0561\u0576\u0561\u056C\u056B ${withDefiniteArticle(issue2.origin)}-\u0578\u0582\u0574`;
+ case "invalid_union":
+ return "\u054D\u056D\u0561\u056C \u0574\u0578\u0582\u057F\u0584\u0561\u0563\u0580\u0578\u0582\u0574";
+ case "invalid_element":
+ return `\u054D\u056D\u0561\u056C \u0561\u0580\u056A\u0565\u0584 ${withDefiniteArticle(issue2.origin)}-\u0578\u0582\u0574`;
+ default:
+ return `\u054D\u056D\u0561\u056C \u0574\u0578\u0582\u057F\u0584\u0561\u0563\u0580\u0578\u0582\u0574`;
+ }
+ };
+}, "error");
+function hy_default() {
+ return {
+ localeError: error24()
+ };
+}
+__name(hy_default, "default");
+
+// ../../node_modules/.pnpm/zod@4.6.7/node_modules/zod/v4/locales/id.js
+var error25 = /* @__PURE__ */ __name(() => {
+ const Sizable = {
+ string: { unit: "karakter", verb: "memiliki" },
+ file: { unit: "byte", verb: "memiliki" },
+ array: { unit: "item", verb: "memiliki" },
+ set: { unit: "item", verb: "memiliki" },
+ map: { unit: "item", verb: "memiliki" }
+ };
+ function getSizing(origin) {
+ return Sizable[origin] ?? null;
+ }
+ __name(getSizing, "getSizing");
+ const FormatDictionary = {
+ regex: "input",
+ email: "alamat email",
+ url: "URL",
+ emoji: "emoji",
+ uuid: "UUID",
+ uuidv4: "UUIDv4",
+ uuidv6: "UUIDv6",
+ nanoid: "nanoid",
+ guid: "GUID",
+ cuid: "cuid",
+ cuid2: "cuid2",
+ ulid: "ULID",
+ xid: "XID",
+ ksuid: "KSUID",
+ datetime: "tanggal dan waktu format ISO",
+ date: "tanggal format ISO",
+ time: "jam format ISO",
+ duration: "durasi format ISO",
+ ipv4: "alamat IPv4",
+ ipv6: "alamat IPv6",
+ mac: "alamat MAC",
+ cidrv4: "rentang alamat IPv4",
+ cidrv6: "rentang alamat IPv6",
+ base64: "string dengan enkode base64",
+ base64url: "string dengan enkode base64url",
+ json_string: "string JSON",
+ e164: "angka E.164",
+ credit_card: "nomor kartu kredit",
+ currency_code: "kode mata uang",
+ iban: "IBAN",
+ jwt: "JWT",
+ template_literal: "input"
+ };
+ const TypeDictionary = {
+ nan: "NaN"
+ };
+ return (issue2) => {
+ switch (issue2.code) {
+ case "invalid_type": {
+ const expected = TypeDictionary[issue2.expected] ?? issue2.expected;
+ const receivedType = parsedType(issue2.input);
+ const received = TypeDictionary[receivedType] ?? receivedType;
+ if (/^[A-Z]/.test(issue2.expected)) {
+ return `Input tidak valid: diharapkan instanceof ${issue2.expected}, diterima ${received}`;
+ }
+ return `Input tidak valid: diharapkan ${expected}, diterima ${received}`;
+ }
+ case "invalid_value":
+ if (issue2.values.length === 1)
+ return `Input tidak valid: diharapkan ${stringifyPrimitive(issue2.values[0])}`;
+ return `Pilihan tidak valid: diharapkan salah satu dari ${joinValues(issue2.values, "|")}`;
+ case "too_big": {
+ const adj = issue2.inclusive ? "<=" : "<";
+ const sizing = getSizing(issue2.origin);
+ if (sizing)
+ return `Terlalu besar: diharapkan ${issue2.origin ?? "value"} memiliki ${adj}${issue2.maximum.toString()} ${sizing.unit ?? "elemen"}`;
+ return `Terlalu besar: diharapkan ${issue2.origin ?? "value"} menjadi ${adj}${issue2.maximum.toString()}`;
+ }
+ case "too_small": {
+ const adj = issue2.inclusive ? ">=" : ">";
+ const sizing = getSizing(issue2.origin);
+ if (sizing) {
+ return `Terlalu kecil: diharapkan ${issue2.origin} memiliki ${adj}${issue2.minimum.toString()} ${sizing.unit}`;
+ }
+ return `Terlalu kecil: diharapkan ${issue2.origin} menjadi ${adj}${issue2.minimum.toString()}`;
+ }
+ case "invalid_format": {
+ const _issue = issue2;
+ if (_issue.format === "starts_with")
+ return `String tidak valid: harus dimulai dengan "${_issue.prefix}"`;
+ if (_issue.format === "ends_with")
+ return `String tidak valid: harus berakhir dengan "${_issue.suffix}"`;
+ if (_issue.format === "includes")
+ return `String tidak valid: harus menyertakan "${_issue.includes}"`;
+ if (_issue.format === "regex")
+ return `String tidak valid: harus sesuai pola ${_issue.pattern}`;
+ return `${FormatDictionary[_issue.format] ?? issue2.format} tidak valid`;
+ }
+ case "not_multiple_of":
+ return `Angka tidak valid: harus kelipatan dari ${issue2.divisor}`;
+ case "unrecognized_keys":
+ return `Kunci tidak dikenali ${issue2.keys.length > 1 ? "s" : ""}: ${joinValues(issue2.keys, ", ")}`;
+ case "invalid_key":
+ return `Kunci tidak valid di ${issue2.origin}`;
+ case "invalid_union":
+ return "Input tidak valid";
+ case "invalid_element":
+ return `Nilai tidak valid di ${issue2.origin}`;
+ default:
+ return `Input tidak valid`;
+ }
+ };
+}, "error");
+function id_default() {
+ return {
+ localeError: error25()
+ };
+}
+__name(id_default, "default");
+
+// ../../node_modules/.pnpm/zod@4.6.7/node_modules/zod/v4/locales/is.js
+var error26 = /* @__PURE__ */ __name(() => {
+ const Sizable = {
+ string: { unit: "stafi", verb: "a\xF0 hafa" },
+ file: { unit: "b\xE6ti", verb: "a\xF0 hafa" },
+ array: { unit: "hluti", verb: "a\xF0 hafa" },
+ set: { unit: "hluti", verb: "a\xF0 hafa" },
+ map: { unit: "hluti", verb: "a\xF0 hafa" }
+ };
+ function getSizing(origin) {
+ return Sizable[origin] ?? null;
+ }
+ __name(getSizing, "getSizing");
+ const FormatDictionary = {
+ regex: "gildi",
+ email: "netfang",
+ url: "vefsl\xF3\xF0",
+ emoji: "emoji",
+ uuid: "UUID",
+ uuidv4: "UUIDv4",
+ uuidv6: "UUIDv6",
+ nanoid: "nanoid",
+ guid: "GUID",
+ cuid: "cuid",
+ cuid2: "cuid2",
+ ulid: "ULID",
+ xid: "XID",
+ ksuid: "KSUID",
+ datetime: "ISO dagsetning og t\xEDmi",
+ date: "ISO dagsetning",
+ time: "ISO t\xEDmi",
+ duration: "ISO t\xEDmalengd",
+ ipv4: "IPv4 address",
+ ipv6: "IPv6 address",
+ mac: "MAC address",
+ cidrv4: "IPv4 range",
+ cidrv6: "IPv6 range",
+ base64: "base64-encoded strengur",
+ base64url: "base64url-encoded strengur",
+ json_string: "JSON strengur",
+ e164: "E.164 t\xF6lugildi",
+ credit_card: "kreditkortan\xFAmer",
+ currency_code: "gjaldmi\xF0ilsk\xF3\xF0i",
+ iban: "IBAN",
+ jwt: "JWT",
+ template_literal: "gildi"
+ };
+ const TypeDictionary = {
+ nan: "NaN",
+ number: "n\xFAmer",
+ array: "fylki"
+ };
+ return (issue2) => {
+ switch (issue2.code) {
+ case "invalid_type": {
+ const expected = TypeDictionary[issue2.expected] ?? issue2.expected;
+ const receivedType = parsedType(issue2.input);
+ const received = TypeDictionary[receivedType] ?? receivedType;
+ if (/^[A-Z]/.test(issue2.expected)) {
+ return `Rangt gildi: \xDE\xFA sl\xF3st inn ${received} \xFEar sem \xE1 a\xF0 vera instanceof ${issue2.expected}`;
+ }
+ return `Rangt gildi: \xDE\xFA sl\xF3st inn ${received} \xFEar sem \xE1 a\xF0 vera ${expected}`;
+ }
+ case "invalid_value":
+ if (issue2.values.length === 1)
+ return `Rangt gildi: gert r\xE1\xF0 fyrir ${stringifyPrimitive(issue2.values[0])}`;
+ return `\xD3gilt val: m\xE1 vera eitt af eftirfarandi ${joinValues(issue2.values, "|")}`;
+ case "too_big": {
+ const adj = issue2.inclusive ? "<=" : "<";
+ const sizing = getSizing(issue2.origin);
+ if (sizing)
+ return `Of st\xF3rt: gert er r\xE1\xF0 fyrir a\xF0 ${issue2.origin ?? "gildi"} hafi ${adj}${issue2.maximum.toString()} ${sizing.unit ?? "hluti"}`;
+ return `Of st\xF3rt: gert er r\xE1\xF0 fyrir a\xF0 ${issue2.origin ?? "gildi"} s\xE9 ${adj}${issue2.maximum.toString()}`;
+ }
+ case "too_small": {
+ const adj = issue2.inclusive ? ">=" : ">";
+ const sizing = getSizing(issue2.origin);
+ if (sizing) {
+ return `Of l\xEDti\xF0: gert er r\xE1\xF0 fyrir a\xF0 ${issue2.origin} hafi ${adj}${issue2.minimum.toString()} ${sizing.unit}`;
+ }
+ return `Of l\xEDti\xF0: gert er r\xE1\xF0 fyrir a\xF0 ${issue2.origin} s\xE9 ${adj}${issue2.minimum.toString()}`;
+ }
+ case "invalid_format": {
+ const _issue = issue2;
+ if (_issue.format === "starts_with") {
+ return `\xD3gildur strengur: ver\xF0ur a\xF0 byrja \xE1 "${_issue.prefix}"`;
+ }
+ if (_issue.format === "ends_with")
+ return `\xD3gildur strengur: ver\xF0ur a\xF0 enda \xE1 "${_issue.suffix}"`;
+ if (_issue.format === "includes")
+ return `\xD3gildur strengur: ver\xF0ur a\xF0 innihalda "${_issue.includes}"`;
+ if (_issue.format === "regex")
+ return `\xD3gildur strengur: ver\xF0ur a\xF0 fylgja mynstri ${_issue.pattern}`;
+ return `Rangt ${FormatDictionary[_issue.format] ?? issue2.format}`;
+ }
+ case "not_multiple_of":
+ return `R\xF6ng tala: ver\xF0ur a\xF0 vera margfeldi af ${issue2.divisor}`;
+ case "unrecognized_keys":
+ return `\xD3\xFEekkt ${issue2.keys.length > 1 ? "ir lyklar" : "ur lykill"}: ${joinValues(issue2.keys, ", ")}`;
+ case "invalid_key":
+ return `Rangur lykill \xED ${issue2.origin}`;
+ case "invalid_union":
+ return "Rangt gildi";
+ case "invalid_element":
+ return `Rangt gildi \xED ${issue2.origin}`;
+ default:
+ return `Rangt gildi`;
+ }
+ };
+}, "error");
+function is_default() {
+ return {
+ localeError: error26()
+ };
+}
+__name(is_default, "default");
+
+// ../../node_modules/.pnpm/zod@4.6.7/node_modules/zod/v4/locales/it.js
+var error27 = /* @__PURE__ */ __name(() => {
+ const Sizable = {
+ string: { unit: "caratteri", verb: "avere" },
+ file: { unit: "byte", verb: "avere" },
+ array: { unit: "elementi", verb: "avere" },
+ set: { unit: "elementi", verb: "avere" },
+ map: { unit: "elementi", verb: "avere" }
+ };
+ function getSizing(origin) {
+ return Sizable[origin] ?? null;
+ }
+ __name(getSizing, "getSizing");
+ const FormatDictionary = {
+ regex: "input",
+ email: "indirizzo email",
+ url: "URL",
+ emoji: "emoji",
+ uuid: "UUID",
+ uuidv4: "UUIDv4",
+ uuidv6: "UUIDv6",
+ nanoid: "nanoid",
+ guid: "GUID",
+ cuid: "cuid",
+ cuid2: "cuid2",
+ ulid: "ULID",
+ xid: "XID",
+ ksuid: "KSUID",
+ datetime: "data e ora ISO",
+ date: "data ISO",
+ time: "ora ISO",
+ duration: "durata ISO",
+ ipv4: "indirizzo IPv4",
+ ipv6: "indirizzo IPv6",
+ mac: "indirizzo MAC",
+ cidrv4: "intervallo IPv4",
+ cidrv6: "intervallo IPv6",
+ base64: "stringa codificata in base64",
+ base64url: "URL codificata in base64",
+ json_string: "stringa JSON",
+ e164: "numero E.164",
+ credit_card: "numero di carta di credito",
+ currency_code: "codice valuta",
+ iban: "IBAN",
+ jwt: "JWT",
+ template_literal: "input"
+ };
+ const TypeDictionary = {
+ nan: "NaN",
+ number: "numero",
+ array: "vettore"
+ };
+ return (issue2) => {
+ switch (issue2.code) {
+ case "invalid_type": {
+ const expected = TypeDictionary[issue2.expected] ?? issue2.expected;
+ const receivedType = parsedType(issue2.input);
+ const received = TypeDictionary[receivedType] ?? receivedType;
+ if (/^[A-Z]/.test(issue2.expected)) {
+ return `Input non valido: atteso instanceof ${issue2.expected}, ricevuto ${received}`;
+ }
+ return `Input non valido: atteso ${expected}, ricevuto ${received}`;
+ }
+ case "invalid_value":
+ if (issue2.values.length === 1)
+ return `Input non valido: atteso ${stringifyPrimitive(issue2.values[0])}`;
+ return `Opzione non valida: atteso uno tra ${joinValues(issue2.values, "|")}`;
+ case "too_big": {
+ const adj = issue2.inclusive ? "<=" : "<";
+ const sizing = getSizing(issue2.origin);
+ if (sizing)
+ return `Troppo grande: ${issue2.origin ?? "valore"} deve avere ${adj}${issue2.maximum.toString()} ${sizing.unit ?? "elementi"}`;
+ return `Troppo grande: ${issue2.origin ?? "valore"} deve essere ${adj}${issue2.maximum.toString()}`;
+ }
+ case "too_small": {
+ const adj = issue2.inclusive ? ">=" : ">";
+ const sizing = getSizing(issue2.origin);
+ if (sizing) {
+ return `Troppo piccolo: ${issue2.origin} deve avere ${adj}${issue2.minimum.toString()} ${sizing.unit}`;
+ }
+ return `Troppo piccolo: ${issue2.origin} deve essere ${adj}${issue2.minimum.toString()}`;
+ }
+ case "invalid_format": {
+ const _issue = issue2;
+ if (_issue.format === "starts_with")
+ return `Stringa non valida: deve iniziare con "${_issue.prefix}"`;
+ if (_issue.format === "ends_with")
+ return `Stringa non valida: deve terminare con "${_issue.suffix}"`;
+ if (_issue.format === "includes")
+ return `Stringa non valida: deve includere "${_issue.includes}"`;
+ if (_issue.format === "regex")
+ return `Stringa non valida: deve corrispondere al pattern ${_issue.pattern}`;
+ return `Input non valido: ${FormatDictionary[_issue.format] ?? issue2.format}`;
+ }
+ case "not_multiple_of":
+ return `Numero non valido: deve essere un multiplo di ${issue2.divisor}`;
+ case "unrecognized_keys":
+ return `Chiav${issue2.keys.length > 1 ? "i" : "e"} non riconosciut${issue2.keys.length > 1 ? "e" : "a"}: ${joinValues(issue2.keys, ", ")}`;
+ case "invalid_key":
+ return `Chiave non valida in ${issue2.origin}`;
+ case "invalid_union":
+ return "Input non valido";
+ case "invalid_element":
+ return `Valore non valido in ${issue2.origin}`;
+ default:
+ return `Input non valido`;
+ }
+ };
+}, "error");
+function it_default() {
+ return {
+ localeError: error27()
+ };
+}
+__name(it_default, "default");
+
+// ../../node_modules/.pnpm/zod@4.6.7/node_modules/zod/v4/locales/ja.js
+var error28 = /* @__PURE__ */ __name(() => {
+ const Sizable = {
+ string: { unit: "\u6587\u5B57", verb: "\u3067\u3042\u308B" },
+ file: { unit: "\u30D0\u30A4\u30C8", verb: "\u3067\u3042\u308B" },
+ array: { unit: "\u8981\u7D20", verb: "\u3067\u3042\u308B" },
+ set: { unit: "\u8981\u7D20", verb: "\u3067\u3042\u308B" },
+ map: { unit: "\u8981\u7D20", verb: "\u3067\u3042\u308B" }
+ };
+ function getSizing(origin) {
+ return Sizable[origin] ?? null;
+ }
+ __name(getSizing, "getSizing");
+ const FormatDictionary = {
+ regex: "\u5165\u529B\u5024",
+ email: "\u30E1\u30FC\u30EB\u30A2\u30C9\u30EC\u30B9",
+ url: "URL",
+ emoji: "\u7D75\u6587\u5B57",
+ uuid: "UUID",
+ uuidv4: "UUIDv4",
+ uuidv6: "UUIDv6",
+ nanoid: "nanoid",
+ guid: "GUID",
+ cuid: "cuid",
+ cuid2: "cuid2",
+ ulid: "ULID",
+ xid: "XID",
+ ksuid: "KSUID",
+ datetime: "ISO\u65E5\u6642",
+ date: "ISO\u65E5\u4ED8",
+ time: "ISO\u6642\u523B",
+ duration: "ISO\u671F\u9593",
+ ipv4: "IPv4\u30A2\u30C9\u30EC\u30B9",
+ ipv6: "IPv6\u30A2\u30C9\u30EC\u30B9",
+ mac: "MAC\u30A2\u30C9\u30EC\u30B9",
+ cidrv4: "IPv4\u7BC4\u56F2",
+ cidrv6: "IPv6\u7BC4\u56F2",
+ base64: "base64\u30A8\u30F3\u30B3\u30FC\u30C9\u6587\u5B57\u5217",
+ base64url: "base64url\u30A8\u30F3\u30B3\u30FC\u30C9\u6587\u5B57\u5217",
+ json_string: "JSON\u6587\u5B57\u5217",
+ e164: "E.164\u756A\u53F7",
+ credit_card: "\u30AF\u30EC\u30B8\u30C3\u30C8\u30AB\u30FC\u30C9\u756A\u53F7",
+ currency_code: "\u901A\u8CA8\u30B3\u30FC\u30C9",
+ iban: "IBAN",
+ jwt: "JWT",
+ template_literal: "\u5165\u529B\u5024"
+ };
+ const TypeDictionary = {
+ nan: "NaN",
+ number: "\u6570\u5024",
+ array: "\u914D\u5217"
+ };
+ return (issue2) => {
+ switch (issue2.code) {
+ case "invalid_type": {
+ const expected = TypeDictionary[issue2.expected] ?? issue2.expected;
+ const receivedType = parsedType(issue2.input);
+ const received = TypeDictionary[receivedType] ?? receivedType;
+ if (/^[A-Z]/.test(issue2.expected)) {
+ return `\u7121\u52B9\u306A\u5165\u529B: instanceof ${issue2.expected}\u304C\u671F\u5F85\u3055\u308C\u307E\u3057\u305F\u304C\u3001${received}\u304C\u5165\u529B\u3055\u308C\u307E\u3057\u305F`;
+ }
+ return `\u7121\u52B9\u306A\u5165\u529B: ${expected}\u304C\u671F\u5F85\u3055\u308C\u307E\u3057\u305F\u304C\u3001${received}\u304C\u5165\u529B\u3055\u308C\u307E\u3057\u305F`;
+ }
+ case "invalid_value":
+ if (issue2.values.length === 1)
+ return `\u7121\u52B9\u306A\u5165\u529B: ${stringifyPrimitive(issue2.values[0])}\u304C\u671F\u5F85\u3055\u308C\u307E\u3057\u305F`;
+ return `\u7121\u52B9\u306A\u9078\u629E: ${joinValues(issue2.values, "\u3001")}\u306E\u3044\u305A\u308C\u304B\u3067\u3042\u308B\u5FC5\u8981\u304C\u3042\u308A\u307E\u3059`;
+ case "too_big": {
+ const adj = issue2.inclusive ? "\u4EE5\u4E0B\u3067\u3042\u308B" : "\u3088\u308A\u5C0F\u3055\u3044";
+ const sizing = getSizing(issue2.origin);
+ if (sizing)
+ return `\u5927\u304D\u3059\u304E\u308B\u5024: ${issue2.origin ?? "\u5024"}\u306F${issue2.maximum.toString()}${sizing.unit ?? "\u8981\u7D20"}${adj}\u5FC5\u8981\u304C\u3042\u308A\u307E\u3059`;
+ return `\u5927\u304D\u3059\u304E\u308B\u5024: ${issue2.origin ?? "\u5024"}\u306F${issue2.maximum.toString()}${adj}\u5FC5\u8981\u304C\u3042\u308A\u307E\u3059`;
+ }
+ case "too_small": {
+ const adj = issue2.inclusive ? "\u4EE5\u4E0A\u3067\u3042\u308B" : "\u3088\u308A\u5927\u304D\u3044";
+ const sizing = getSizing(issue2.origin);
+ if (sizing)
+ return `\u5C0F\u3055\u3059\u304E\u308B\u5024: ${issue2.origin}\u306F${issue2.minimum.toString()}${sizing.unit}${adj}\u5FC5\u8981\u304C\u3042\u308A\u307E\u3059`;
+ return `\u5C0F\u3055\u3059\u304E\u308B\u5024: ${issue2.origin}\u306F${issue2.minimum.toString()}${adj}\u5FC5\u8981\u304C\u3042\u308A\u307E\u3059`;
+ }
+ case "invalid_format": {
+ const _issue = issue2;
+ if (_issue.format === "starts_with")
+ return `\u7121\u52B9\u306A\u6587\u5B57\u5217: "${_issue.prefix}"\u3067\u59CB\u307E\u308B\u5FC5\u8981\u304C\u3042\u308A\u307E\u3059`;
+ if (_issue.format === "ends_with")
+ return `\u7121\u52B9\u306A\u6587\u5B57\u5217: "${_issue.suffix}"\u3067\u7D42\u308F\u308B\u5FC5\u8981\u304C\u3042\u308A\u307E\u3059`;
+ if (_issue.format === "includes")
+ return `\u7121\u52B9\u306A\u6587\u5B57\u5217: "${_issue.includes}"\u3092\u542B\u3080\u5FC5\u8981\u304C\u3042\u308A\u307E\u3059`;
+ if (_issue.format === "regex")
+ return `\u7121\u52B9\u306A\u6587\u5B57\u5217: \u30D1\u30BF\u30FC\u30F3${_issue.pattern}\u306B\u4E00\u81F4\u3059\u308B\u5FC5\u8981\u304C\u3042\u308A\u307E\u3059`;
+ return `\u7121\u52B9\u306A${FormatDictionary[_issue.format] ?? issue2.format}`;
+ }
+ case "not_multiple_of":
+ return `\u7121\u52B9\u306A\u6570\u5024: ${issue2.divisor}\u306E\u500D\u6570\u3067\u3042\u308B\u5FC5\u8981\u304C\u3042\u308A\u307E\u3059`;
+ case "unrecognized_keys":
+ return `\u8A8D\u8B58\u3055\u308C\u3066\u3044\u306A\u3044\u30AD\u30FC${issue2.keys.length > 1 ? "\u7FA4" : ""}: ${joinValues(issue2.keys, "\u3001")}`;
+ case "invalid_key":
+ return `${issue2.origin}\u5185\u306E\u7121\u52B9\u306A\u30AD\u30FC`;
+ case "invalid_union":
+ return "\u7121\u52B9\u306A\u5165\u529B";
+ case "invalid_element":
+ return `${issue2.origin}\u5185\u306E\u7121\u52B9\u306A\u5024`;
+ default:
+ return `\u7121\u52B9\u306A\u5165\u529B`;
+ }
+ };
+}, "error");
+function ja_default() {
+ return {
+ localeError: error28()
+ };
+}
+__name(ja_default, "default");
+
+// ../../node_modules/.pnpm/zod@4.6.7/node_modules/zod/v4/locales/ka.js
+var error29 = /* @__PURE__ */ __name(() => {
+ const Sizable = {
+ string: { unit: "\u10E1\u10D8\u10DB\u10D1\u10DD\u10DA\u10DD", verb: "\u10E3\u10DC\u10D3\u10D0 \u10E8\u10D4\u10D8\u10EA\u10D0\u10D5\u10D3\u10D4\u10E1" },
+ file: { unit: "\u10D1\u10D0\u10D8\u10E2\u10D8", verb: "\u10E3\u10DC\u10D3\u10D0 \u10E8\u10D4\u10D8\u10EA\u10D0\u10D5\u10D3\u10D4\u10E1" },
+ array: { unit: "\u10D4\u10DA\u10D4\u10DB\u10D4\u10DC\u10E2\u10D8", verb: "\u10E3\u10DC\u10D3\u10D0 \u10E8\u10D4\u10D8\u10EA\u10D0\u10D5\u10D3\u10D4\u10E1" },
+ set: { unit: "\u10D4\u10DA\u10D4\u10DB\u10D4\u10DC\u10E2\u10D8", verb: "\u10E3\u10DC\u10D3\u10D0 \u10E8\u10D4\u10D8\u10EA\u10D0\u10D5\u10D3\u10D4\u10E1" },
+ map: { unit: "\u10D4\u10DA\u10D4\u10DB\u10D4\u10DC\u10E2\u10D8", verb: "\u10E3\u10DC\u10D3\u10D0 \u10E8\u10D4\u10D8\u10EA\u10D0\u10D5\u10D3\u10D4\u10E1" }
+ };
+ function getSizing(origin) {
+ return Sizable[origin] ?? null;
+ }
+ __name(getSizing, "getSizing");
+ const FormatDictionary = {
+ regex: "\u10E8\u10D4\u10E7\u10D5\u10D0\u10DC\u10D0",
+ email: "\u10D4\u10DA-\u10E4\u10DD\u10E1\u10E2\u10D8\u10E1 \u10DB\u10D8\u10E1\u10D0\u10DB\u10D0\u10E0\u10D7\u10D8",
+ url: "URL",
+ emoji: "\u10D4\u10DB\u10DD\u10EF\u10D8",
+ uuid: "UUID",
+ uuidv4: "UUIDv4",
+ uuidv6: "UUIDv6",
+ nanoid: "nanoid",
+ guid: "GUID",
+ cuid: "cuid",
+ cuid2: "cuid2",
+ ulid: "ULID",
+ xid: "XID",
+ ksuid: "KSUID",
+ datetime: "\u10D7\u10D0\u10E0\u10D8\u10E6\u10D8-\u10D3\u10E0\u10DD",
+ date: "\u10D7\u10D0\u10E0\u10D8\u10E6\u10D8",
+ time: "\u10D3\u10E0\u10DD",
+ duration: "\u10EE\u10D0\u10DC\u10D2\u10E0\u10EB\u10DA\u10D8\u10D5\u10DD\u10D1\u10D0",
+ ipv4: "IPv4 \u10DB\u10D8\u10E1\u10D0\u10DB\u10D0\u10E0\u10D7\u10D8",
+ ipv6: "IPv6 \u10DB\u10D8\u10E1\u10D0\u10DB\u10D0\u10E0\u10D7\u10D8",
+ mac: "MAC \u10DB\u10D8\u10E1\u10D0\u10DB\u10D0\u10E0\u10D7\u10D8",
+ cidrv4: "IPv4 \u10D3\u10D8\u10D0\u10DE\u10D0\u10D6\u10DD\u10DC\u10D8",
+ cidrv6: "IPv6 \u10D3\u10D8\u10D0\u10DE\u10D0\u10D6\u10DD\u10DC\u10D8",
+ base64: "base64-\u10D9\u10DD\u10D3\u10D8\u10E0\u10D4\u10D1\u10E3\u10DA\u10D8 \u10D5\u10D4\u10DA\u10D8",
+ base64url: "base64url-\u10D9\u10DD\u10D3\u10D8\u10E0\u10D4\u10D1\u10E3\u10DA\u10D8 \u10D5\u10D4\u10DA\u10D8",
+ json_string: "JSON \u10D5\u10D4\u10DA\u10D8",
+ e164: "E.164 \u10DC\u10DD\u10DB\u10D4\u10E0\u10D8",
+ credit_card: "\u10E1\u10D0\u10D9\u10E0\u10D4\u10D3\u10D8\u10E2\u10DD \u10D1\u10D0\u10E0\u10D0\u10D7\u10D8\u10E1 \u10DC\u10DD\u10DB\u10D4\u10E0\u10D8",
+ currency_code: "\u10D5\u10D0\u10DA\u10E3\u10E2\u10D8\u10E1 \u10D9\u10DD\u10D3\u10D8",
+ iban: "IBAN",
+ jwt: "JWT",
+ template_literal: "\u10E8\u10D4\u10E7\u10D5\u10D0\u10DC\u10D0"
+ };
+ const TypeDictionary = {
+ nan: "NaN",
+ number: "\u10E0\u10D8\u10EA\u10EE\u10D5\u10D8",
+ string: "\u10D5\u10D4\u10DA\u10D8",
+ boolean: "\u10D1\u10E3\u10DA\u10D4\u10D0\u10DC\u10D8",
+ function: "\u10E4\u10E3\u10DC\u10E5\u10EA\u10D8\u10D0",
+ array: "\u10DB\u10D0\u10E1\u10D8\u10D5\u10D8"
+ };
+ return (issue2) => {
+ switch (issue2.code) {
+ case "invalid_type": {
+ const expected = TypeDictionary[issue2.expected] ?? issue2.expected;
+ const receivedType = parsedType(issue2.input);
+ const received = TypeDictionary[receivedType] ?? receivedType;
+ if (/^[A-Z]/.test(issue2.expected)) {
+ return `\u10D0\u10E0\u10D0\u10E1\u10EC\u10DD\u10E0\u10D8 \u10E8\u10D4\u10E7\u10D5\u10D0\u10DC\u10D0: \u10DB\u10DD\u10E1\u10D0\u10DA\u10DD\u10D3\u10DC\u10D4\u10DA\u10D8 instanceof ${issue2.expected}, \u10DB\u10D8\u10E6\u10D4\u10D1\u10E3\u10DA\u10D8 ${received}`;
+ }
+ return `\u10D0\u10E0\u10D0\u10E1\u10EC\u10DD\u10E0\u10D8 \u10E8\u10D4\u10E7\u10D5\u10D0\u10DC\u10D0: \u10DB\u10DD\u10E1\u10D0\u10DA\u10DD\u10D3\u10DC\u10D4\u10DA\u10D8 ${expected}, \u10DB\u10D8\u10E6\u10D4\u10D1\u10E3\u10DA\u10D8 ${received}`;
+ }
+ case "invalid_value":
+ if (issue2.values.length === 1)
+ return `\u10D0\u10E0\u10D0\u10E1\u10EC\u10DD\u10E0\u10D8 \u10E8\u10D4\u10E7\u10D5\u10D0\u10DC\u10D0: \u10DB\u10DD\u10E1\u10D0\u10DA\u10DD\u10D3\u10DC\u10D4\u10DA\u10D8 ${stringifyPrimitive(issue2.values[0])}`;
+ return `\u10D0\u10E0\u10D0\u10E1\u10EC\u10DD\u10E0\u10D8 \u10D5\u10D0\u10E0\u10D8\u10D0\u10DC\u10E2\u10D8: \u10DB\u10DD\u10E1\u10D0\u10DA\u10DD\u10D3\u10DC\u10D4\u10DA\u10D8\u10D0 \u10D4\u10E0\u10D7-\u10D4\u10E0\u10D7\u10D8 ${joinValues(issue2.values, "|")}-\u10D3\u10D0\u10DC`;
+ case "too_big": {
+ const adj = issue2.inclusive ? "<=" : "<";
+ const sizing = getSizing(issue2.origin);
+ if (sizing)
+ return `\u10D6\u10D4\u10D3\u10DB\u10D4\u10E2\u10D0\u10D3 \u10D3\u10D8\u10D3\u10D8: \u10DB\u10DD\u10E1\u10D0\u10DA\u10DD\u10D3\u10DC\u10D4\u10DA\u10D8 ${issue2.origin ?? "\u10DB\u10DC\u10D8\u10E8\u10D5\u10DC\u10D4\u10DA\u10DD\u10D1\u10D0"} ${sizing.verb} ${adj}${issue2.maximum.toString()} ${sizing.unit}`;
+ return `\u10D6\u10D4\u10D3\u10DB\u10D4\u10E2\u10D0\u10D3 \u10D3\u10D8\u10D3\u10D8: \u10DB\u10DD\u10E1\u10D0\u10DA\u10DD\u10D3\u10DC\u10D4\u10DA\u10D8 ${issue2.origin ?? "\u10DB\u10DC\u10D8\u10E8\u10D5\u10DC\u10D4\u10DA\u10DD\u10D1\u10D0"} \u10D8\u10E7\u10DD\u10E1 ${adj}${issue2.maximum.toString()}`;
+ }
+ case "too_small": {
+ const adj = issue2.inclusive ? ">=" : ">";
+ const sizing = getSizing(issue2.origin);
+ if (sizing) {
+ return `\u10D6\u10D4\u10D3\u10DB\u10D4\u10E2\u10D0\u10D3 \u10DE\u10D0\u10E2\u10D0\u10E0\u10D0: \u10DB\u10DD\u10E1\u10D0\u10DA\u10DD\u10D3\u10DC\u10D4\u10DA\u10D8 ${issue2.origin} ${sizing.verb} ${adj}${issue2.minimum.toString()} ${sizing.unit}`;
+ }
+ return `\u10D6\u10D4\u10D3\u10DB\u10D4\u10E2\u10D0\u10D3 \u10DE\u10D0\u10E2\u10D0\u10E0\u10D0: \u10DB\u10DD\u10E1\u10D0\u10DA\u10DD\u10D3\u10DC\u10D4\u10DA\u10D8 ${issue2.origin} \u10D8\u10E7\u10DD\u10E1 ${adj}${issue2.minimum.toString()}`;
+ }
+ case "invalid_format": {
+ const _issue = issue2;
+ if (_issue.format === "starts_with") {
+ return `\u10D0\u10E0\u10D0\u10E1\u10EC\u10DD\u10E0\u10D8 \u10D5\u10D4\u10DA\u10D8: \u10E3\u10DC\u10D3\u10D0 \u10D8\u10EC\u10E7\u10D4\u10D1\u10DD\u10D3\u10D4\u10E1 "${_issue.prefix}"-\u10D8\u10D7`;
+ }
+ if (_issue.format === "ends_with")
+ return `\u10D0\u10E0\u10D0\u10E1\u10EC\u10DD\u10E0\u10D8 \u10D5\u10D4\u10DA\u10D8: \u10E3\u10DC\u10D3\u10D0 \u10DB\u10D7\u10D0\u10D5\u10E0\u10D3\u10D4\u10D1\u10DD\u10D3\u10D4\u10E1 "${_issue.suffix}"-\u10D8\u10D7`;
+ if (_issue.format === "includes")
+ return `\u10D0\u10E0\u10D0\u10E1\u10EC\u10DD\u10E0\u10D8 \u10D5\u10D4\u10DA\u10D8: \u10E3\u10DC\u10D3\u10D0 \u10E8\u10D4\u10D8\u10EA\u10D0\u10D5\u10D3\u10D4\u10E1 "${_issue.includes}"-\u10E1`;
+ if (_issue.format === "regex")
+ return `\u10D0\u10E0\u10D0\u10E1\u10EC\u10DD\u10E0\u10D8 \u10D5\u10D4\u10DA\u10D8: \u10E3\u10DC\u10D3\u10D0 \u10E8\u10D4\u10D4\u10E1\u10D0\u10D1\u10D0\u10DB\u10D4\u10D1\u10DD\u10D3\u10D4\u10E1 \u10E8\u10D0\u10D1\u10DA\u10DD\u10DC\u10E1 ${_issue.pattern}`;
+ return `\u10D0\u10E0\u10D0\u10E1\u10EC\u10DD\u10E0\u10D8 ${FormatDictionary[_issue.format] ?? issue2.format}`;
+ }
+ case "not_multiple_of":
+ return `\u10D0\u10E0\u10D0\u10E1\u10EC\u10DD\u10E0\u10D8 \u10E0\u10D8\u10EA\u10EE\u10D5\u10D8: \u10E3\u10DC\u10D3\u10D0 \u10D8\u10E7\u10DD\u10E1 ${issue2.divisor}-\u10D8\u10E1 \u10EF\u10D4\u10E0\u10D0\u10D3\u10D8`;
+ case "unrecognized_keys":
+ return `\u10E3\u10EA\u10DC\u10DD\u10D1\u10D8 \u10D2\u10D0\u10E1\u10D0\u10E6\u10D4\u10D1${issue2.keys.length > 1 ? "\u10D4\u10D1\u10D8" : "\u10D8"}: ${joinValues(issue2.keys, ", ")}`;
+ case "invalid_key":
+ return `\u10D0\u10E0\u10D0\u10E1\u10EC\u10DD\u10E0\u10D8 \u10D2\u10D0\u10E1\u10D0\u10E6\u10D4\u10D1\u10D8 ${issue2.origin}-\u10E8\u10D8`;
+ case "invalid_union":
+ return "\u10D0\u10E0\u10D0\u10E1\u10EC\u10DD\u10E0\u10D8 \u10E8\u10D4\u10E7\u10D5\u10D0\u10DC\u10D0";
+ case "invalid_element":
+ return `\u10D0\u10E0\u10D0\u10E1\u10EC\u10DD\u10E0\u10D8 \u10DB\u10DC\u10D8\u10E8\u10D5\u10DC\u10D4\u10DA\u10DD\u10D1\u10D0 ${issue2.origin}-\u10E8\u10D8`;
+ default:
+ return `\u10D0\u10E0\u10D0\u10E1\u10EC\u10DD\u10E0\u10D8 \u10E8\u10D4\u10E7\u10D5\u10D0\u10DC\u10D0`;
+ }
+ };
+}, "error");
+function ka_default() {
+ return {
+ localeError: error29()
+ };
+}
+__name(ka_default, "default");
+
+// ../../node_modules/.pnpm/zod@4.6.7/node_modules/zod/v4/locales/km.js
+var error30 = /* @__PURE__ */ __name(() => {
+ const Sizable = {
+ string: { unit: "\u178F\u17BD\u17A2\u1780\u17D2\u179F\u179A", verb: "\u1782\u17BD\u179A\u1798\u17B6\u1793" },
+ file: { unit: "\u1794\u17C3", verb: "\u1782\u17BD\u179A\u1798\u17B6\u1793" },
+ array: { unit: "\u1792\u17B6\u178F\u17BB", verb: "\u1782\u17BD\u179A\u1798\u17B6\u1793" },
+ set: { unit: "\u1792\u17B6\u178F\u17BB", verb: "\u1782\u17BD\u179A\u1798\u17B6\u1793" },
+ map: { unit: "\u1792\u17B6\u178F\u17BB", verb: "\u1782\u17BD\u179A\u1798\u17B6\u1793" }
+ };
+ function getSizing(origin) {
+ return Sizable[origin] ?? null;
+ }
+ __name(getSizing, "getSizing");
+ const FormatDictionary = {
+ regex: "\u1791\u17B7\u1793\u17D2\u1793\u1793\u17D0\u1799\u1794\u1789\u17D2\u1785\u17BC\u179B",
+ email: "\u17A2\u17B6\u179F\u1799\u178A\u17D2\u178B\u17B6\u1793\u17A2\u17CA\u17B8\u1798\u17C2\u179B",
+ url: "URL",
+ emoji: "\u179F\u1789\u17D2\u1789\u17B6\u17A2\u17B6\u179A\u1798\u17D2\u1798\u178E\u17CD",
+ uuid: "UUID",
+ uuidv4: "UUIDv4",
+ uuidv6: "UUIDv6",
+ nanoid: "nanoid",
+ guid: "GUID",
+ cuid: "cuid",
+ cuid2: "cuid2",
+ ulid: "ULID",
+ xid: "XID",
+ ksuid: "KSUID",
+ datetime: "\u1780\u17B6\u179B\u1794\u179A\u17B7\u1785\u17D2\u1786\u17C1\u1791 \u1793\u17B7\u1784\u1798\u17C9\u17C4\u1784 ISO",
+ date: "\u1780\u17B6\u179B\u1794\u179A\u17B7\u1785\u17D2\u1786\u17C1\u1791 ISO",
+ time: "\u1798\u17C9\u17C4\u1784 ISO",
+ duration: "\u179A\u1799\u17C8\u1796\u17C1\u179B ISO",
+ ipv4: "\u17A2\u17B6\u179F\u1799\u178A\u17D2\u178B\u17B6\u1793 IPv4",
+ ipv6: "\u17A2\u17B6\u179F\u1799\u178A\u17D2\u178B\u17B6\u1793 IPv6",
+ mac: "\u17A2\u17B6\u179F\u1799\u178A\u17D2\u178B\u17B6\u1793 MAC",
+ cidrv4: "\u178A\u17C2\u1793\u17A2\u17B6\u179F\u1799\u178A\u17D2\u178B\u17B6\u1793 IPv4",
+ cidrv6: "\u178A\u17C2\u1793\u17A2\u17B6\u179F\u1799\u178A\u17D2\u178B\u17B6\u1793 IPv6",
+ base64: "\u1781\u17D2\u179F\u17C2\u17A2\u1780\u17D2\u179F\u179A\u17A2\u17CA\u17B7\u1780\u17BC\u178A base64",
+ base64url: "\u1781\u17D2\u179F\u17C2\u17A2\u1780\u17D2\u179F\u179A\u17A2\u17CA\u17B7\u1780\u17BC\u178A base64url",
+ json_string: "\u1781\u17D2\u179F\u17C2\u17A2\u1780\u17D2\u179F\u179A JSON",
+ e164: "\u179B\u17C1\u1781 E.164",
+ credit_card: "\u179B\u17C1\u1781\u1794\u17D0\u178E\u17D2\u178E\u17A5\u178E\u1791\u17B6\u1793",
+ currency_code: "\u1780\u17BC\u178A\u179A\u17BC\u1794\u17B7\u1799\u1794\u17D0\u178E\u17D2\u178E",
+ iban: "IBAN",
+ jwt: "JWT",
+ template_literal: "\u1791\u17B7\u1793\u17D2\u1793\u1793\u17D0\u1799\u1794\u1789\u17D2\u1785\u17BC\u179B"
+ };
+ const TypeDictionary = {
+ nan: "NaN",
+ number: "\u179B\u17C1\u1781",
+ array: "\u17A2\u17B6\u179A\u17C1 (Array)",
+ null: "\u1782\u17D2\u1798\u17B6\u1793\u178F\u1798\u17D2\u179B\u17C3 (null)"
+ };
+ return (issue2) => {
+ switch (issue2.code) {
+ case "invalid_type": {
+ const expected = TypeDictionary[issue2.expected] ?? issue2.expected;
+ const receivedType = parsedType(issue2.input);
+ const received = TypeDictionary[receivedType] ?? receivedType;
+ if (/^[A-Z]/.test(issue2.expected)) {
+ return `\u1791\u17B7\u1793\u17D2\u1793\u1793\u17D0\u1799\u1794\u1789\u17D2\u1785\u17BC\u179B\u1798\u17B7\u1793\u178F\u17D2\u179A\u17B9\u1798\u178F\u17D2\u179A\u17BC\u179C\u17D6 \u178F\u17D2\u179A\u17BC\u179C\u1780\u17B6\u179A instanceof ${issue2.expected} \u1794\u17C9\u17BB\u1793\u17D2\u178F\u17C2\u1791\u1791\u17BD\u179B\u1794\u17B6\u1793 ${received}`;
+ }
+ return `\u1791\u17B7\u1793\u17D2\u1793\u1793\u17D0\u1799\u1794\u1789\u17D2\u1785\u17BC\u179B\u1798\u17B7\u1793\u178F\u17D2\u179A\u17B9\u1798\u178F\u17D2\u179A\u17BC\u179C\u17D6 \u178F\u17D2\u179A\u17BC\u179C\u1780\u17B6\u179A ${expected} \u1794\u17C9\u17BB\u1793\u17D2\u178F\u17C2\u1791\u1791\u17BD\u179B\u1794\u17B6\u1793 ${received}`;
+ }
+ case "invalid_value":
+ if (issue2.values.length === 1)
+ return `\u1791\u17B7\u1793\u17D2\u1793\u1793\u17D0\u1799\u1794\u1789\u17D2\u1785\u17BC\u179B\u1798\u17B7\u1793\u178F\u17D2\u179A\u17B9\u1798\u178F\u17D2\u179A\u17BC\u179C\u17D6 \u178F\u17D2\u179A\u17BC\u179C\u1780\u17B6\u179A ${stringifyPrimitive(issue2.values[0])}`;
+ return `\u1787\u1798\u17D2\u179A\u17BE\u179F\u1798\u17B7\u1793\u178F\u17D2\u179A\u17B9\u1798\u178F\u17D2\u179A\u17BC\u179C\u17D6 \u178F\u17D2\u179A\u17BC\u179C\u1787\u17B6\u1798\u17BD\u1799\u1780\u17D2\u1793\u17BB\u1784\u1785\u17C6\u178E\u17C4\u1798 ${joinValues(issue2.values, "|")}`;
+ case "too_big": {
+ const adj = issue2.inclusive ? "<=" : "<";
+ const sizing = getSizing(issue2.origin);
+ if (sizing)
+ return `\u1792\u17C6\u1796\u17C1\u1780\u17D6 \u178F\u17D2\u179A\u17BC\u179C\u1780\u17B6\u179A ${issue2.origin ?? "\u178F\u1798\u17D2\u179B\u17C3"} ${adj} ${issue2.maximum.toString()} ${sizing.unit ?? "\u1792\u17B6\u178F\u17BB"}`;
+ return `\u1792\u17C6\u1796\u17C1\u1780\u17D6 \u178F\u17D2\u179A\u17BC\u179C\u1780\u17B6\u179A ${issue2.origin ?? "\u178F\u1798\u17D2\u179B\u17C3"} ${adj} ${issue2.maximum.toString()}`;
+ }
+ case "too_small": {
+ const adj = issue2.inclusive ? ">=" : ">";
+ const sizing = getSizing(issue2.origin);
+ if (sizing) {
+ return `\u178F\u17BC\u1785\u1796\u17C1\u1780\u17D6 \u178F\u17D2\u179A\u17BC\u179C\u1780\u17B6\u179A ${issue2.origin} ${adj} ${issue2.minimum.toString()} ${sizing.unit}`;
+ }
+ return `\u178F\u17BC\u1785\u1796\u17C1\u1780\u17D6 \u178F\u17D2\u179A\u17BC\u179C\u1780\u17B6\u179A ${issue2.origin} ${adj} ${issue2.minimum.toString()}`;
+ }
+ case "invalid_format": {
+ const _issue = issue2;
+ if (_issue.format === "starts_with") {
+ return `\u1781\u17D2\u179F\u17C2\u17A2\u1780\u17D2\u179F\u179A\u1798\u17B7\u1793\u178F\u17D2\u179A\u17B9\u1798\u178F\u17D2\u179A\u17BC\u179C\u17D6 \u178F\u17D2\u179A\u17BC\u179C\u1785\u17B6\u1794\u17CB\u1795\u17D2\u178F\u17BE\u1798\u178A\u17C4\u1799 "${_issue.prefix}"`;
+ }
+ if (_issue.format === "ends_with")
+ return `\u1781\u17D2\u179F\u17C2\u17A2\u1780\u17D2\u179F\u179A\u1798\u17B7\u1793\u178F\u17D2\u179A\u17B9\u1798\u178F\u17D2\u179A\u17BC\u179C\u17D6 \u178F\u17D2\u179A\u17BC\u179C\u1794\u1789\u17D2\u1785\u1794\u17CB\u178A\u17C4\u1799 "${_issue.suffix}"`;
+ if (_issue.format === "includes")
+ return `\u1781\u17D2\u179F\u17C2\u17A2\u1780\u17D2\u179F\u179A\u1798\u17B7\u1793\u178F\u17D2\u179A\u17B9\u1798\u178F\u17D2\u179A\u17BC\u179C\u17D6 \u178F\u17D2\u179A\u17BC\u179C\u1798\u17B6\u1793 "${_issue.includes}"`;
+ if (_issue.format === "regex")
+ return `\u1781\u17D2\u179F\u17C2\u17A2\u1780\u17D2\u179F\u179A\u1798\u17B7\u1793\u178F\u17D2\u179A\u17B9\u1798\u178F\u17D2\u179A\u17BC\u179C\u17D6 \u178F\u17D2\u179A\u17BC\u179C\u178F\u17C2\u1795\u17D2\u1782\u17BC\u1795\u17D2\u1782\u1784\u1793\u17B9\u1784\u1791\u1798\u17D2\u179A\u1784\u17CB\u178A\u17C2\u179B\u1794\u17B6\u1793\u1780\u17C6\u178E\u178F\u17CB ${_issue.pattern}`;
+ return `\u1798\u17B7\u1793\u178F\u17D2\u179A\u17B9\u1798\u178F\u17D2\u179A\u17BC\u179C\u17D6 ${FormatDictionary[_issue.format] ?? issue2.format}`;
+ }
+ case "not_multiple_of":
+ return `\u179B\u17C1\u1781\u1798\u17B7\u1793\u178F\u17D2\u179A\u17B9\u1798\u178F\u17D2\u179A\u17BC\u179C\u17D6 \u178F\u17D2\u179A\u17BC\u179C\u178F\u17C2\u1787\u17B6\u1796\u17A0\u17BB\u1782\u17BB\u178E\u1793\u17C3 ${issue2.divisor}`;
+ case "unrecognized_keys":
+ return `\u179A\u1780\u1783\u17BE\u1789\u179F\u17C4\u1798\u17B7\u1793\u179F\u17D2\u1782\u17B6\u179B\u17CB\u17D6 ${joinValues(issue2.keys, ", ")}`;
+ case "invalid_key":
+ return `\u179F\u17C4\u1798\u17B7\u1793\u178F\u17D2\u179A\u17B9\u1798\u178F\u17D2\u179A\u17BC\u179C\u1793\u17C5\u1780\u17D2\u1793\u17BB\u1784 ${issue2.origin}`;
+ case "invalid_union":
+ return `\u1791\u17B7\u1793\u17D2\u1793\u1793\u17D0\u1799\u1798\u17B7\u1793\u178F\u17D2\u179A\u17B9\u1798\u178F\u17D2\u179A\u17BC\u179C`;
+ case "invalid_element":
+ return `\u1791\u17B7\u1793\u17D2\u1793\u1793\u17D0\u1799\u1798\u17B7\u1793\u178F\u17D2\u179A\u17B9\u1798\u178F\u17D2\u179A\u17BC\u179C\u1793\u17C5\u1780\u17D2\u1793\u17BB\u1784 ${issue2.origin}`;
+ default:
+ return `\u1791\u17B7\u1793\u17D2\u1793\u1793\u17D0\u1799\u1798\u17B7\u1793\u178F\u17D2\u179A\u17B9\u1798\u178F\u17D2\u179A\u17BC\u179C`;
+ }
+ };
+}, "error");
+function km_default() {
+ return {
+ localeError: error30()
+ };
+}
+__name(km_default, "default");
+
+// ../../node_modules/.pnpm/zod@4.6.7/node_modules/zod/v4/locales/kh.js
+function kh_default() {
+ return km_default();
+}
+__name(kh_default, "default");
+
+// ../../node_modules/.pnpm/zod@4.6.7/node_modules/zod/v4/locales/kn.js
+var error31 = /* @__PURE__ */ __name(() => {
+ const Sizable = {
+ string: { unit: "\u0C85\u0C95\u0CCD\u0CB7\u0CB0\u0C97\u0CB3\u0CC1", verb: "\u0CB9\u0CCA\u0C82\u0CA6\u0CB2\u0CC1" },
+ file: { unit: "\u0CAC\u0CC8\u0C9F\u0CCD\u200C\u0C97\u0CB3\u0CC1", verb: "\u0CB9\u0CCA\u0C82\u0CA6\u0CB2\u0CC1" },
+ array: { unit: "\u0CB5\u0CB8\u0CCD\u0CA4\u0CC1\u0C97\u0CB3\u0CC1", verb: "\u0CB9\u0CCA\u0C82\u0CA6\u0CB2\u0CC1" },
+ set: { unit: "\u0CB5\u0CB8\u0CCD\u0CA4\u0CC1\u0C97\u0CB3\u0CC1", verb: "\u0CB9\u0CCA\u0C82\u0CA6\u0CB2\u0CC1" },
+ map: { unit: "entries", verb: "\u0CB9\u0CCA\u0C82\u0CA6\u0CB2\u0CC1" }
+ };
+ function getSizing(origin) {
+ return Sizable[origin] ?? null;
+ }
+ __name(getSizing, "getSizing");
+ const FormatDictionary = {
+ regex: "\u0C87\u0CA8\u0CCD\u0CAA\u0CC1\u0C9F\u0CCD",
+ email: "email \u0CB5\u0CBF\u0CB3\u0CBE\u0CB8",
+ url: "URL",
+ emoji: "emoji",
+ uuid: "UUID",
+ uuidv4: "UUIDv4",
+ uuidv6: "UUIDv6",
+ nanoid: "nanoid",
+ guid: "GUID",
+ cuid: "cuid",
+ cuid2: "cuid2",
+ ulid: "ULID",
+ xid: "XID",
+ ksuid: "KSUID",
+ datetime: "ISO \u0CA6\u0CBF\u0CA8\u0CBE\u0C82\u0C95\u0CA6 \u0CB8\u0CAE\u0CAF",
+ date: "ISO \u0CA6\u0CBF\u0CA8\u0CBE\u0C82\u0C95",
+ time: "ISO \u0CB8\u0CAE\u0CAF",
+ duration: "ISO \u0C85\u0CB5\u0CA7\u0CBF",
+ ipv4: "IPv4 \u0CB5\u0CBF\u0CB3\u0CBE\u0CB8",
+ ipv6: "IPv6 \u0CB5\u0CBF\u0CB3\u0CBE\u0CB8",
+ mac: "MAC \u0CB5\u0CBF\u0CB3\u0CBE\u0CB8",
+ cidrv4: "IPv4 \u0CB5\u0CCD\u0CAF\u0CBE\u0CAA\u0CCD\u0CA4\u0CBF\u0CAF",
+ cidrv6: "IPv6 \u0CB5\u0CCD\u0CAF\u0CBE\u0CAA\u0CCD\u0CA4\u0CBF\u0CAF",
+ base64: "base64-encoded\u0CB8\u0CCD\u0C9F\u0CCD\u0CB0\u0CBF\u0C82\u0C97\u0CCD",
+ base64url: "base64url-encoded\u0CB8\u0CCD\u0C9F\u0CCD\u0CB0\u0CBF\u0C82\u0C97\u0CCD",
+ json_string: "JSON\u0CB8\u0CCD\u0C9F\u0CCD\u0CB0\u0CBF\u0C82\u0C97\u0CCD",
+ e164: "E.164 \u0CB8\u0C82\u0C96\u0CCD\u0CAF\u0CC6",
+ credit_card: "\u0C95\u0CCD\u0CB0\u0CC6\u0CA1\u0CBF\u0C9F\u0CCD \u0C95\u0CBE\u0CB0\u0CCD\u0CA1\u0CCD \u0CB8\u0C82\u0C96\u0CCD\u0CAF\u0CC6",
+ currency_code: "\u0C95\u0CB0\u0CC6\u0CA8\u0CCD\u0CB8\u0CBF \u0C95\u0CCB\u0CA1\u0CCD",
+ iban: "IBAN",
+ jwt: "JWT",
+ template_literal: "\u0C87\u0CA8\u0CCD\u0CAA\u0CC1\u0C9F\u0CCD"
+ };
+ const TypeDictionary = {
+ // Compatibility: "nan" -> "NaN" for display
+ nan: "NaN"
+ // All other type names omitted - they fall back to raw values via ?? operator
+ };
+ return (issue2) => {
+ switch (issue2.code) {
+ case "invalid_type": {
+ const expected = TypeDictionary[issue2.expected] ?? issue2.expected;
+ const receivedType = parsedType(issue2.input);
+ const received = TypeDictionary[receivedType] ?? receivedType;
+ return `\u0C85\u0CAE\u0CBE\u0CA8\u0CCD\u0CAF \u0C87\u0CA8\u0CCD\u200C\u0CAA\u0CC1\u0C9F\u0CCD: \u0CA8\u0CBF\u0CB0\u0CC0\u0C95\u0CCD\u0CB7\u0CBF\u0CB8\u0CB2\u0CBE\u0C97\u0CBF\u0CA6\u0CC6 ${expected}, \u0CB8\u0CCD\u0CB5\u0CC0\u0C95\u0CB0\u0CBF\u0CB8\u0CBF\u0CA6\u0CA8\u0CC1 ${received}`;
+ }
+ case "invalid_value":
+ if (issue2.values.length === 1)
+ return `\u0C85\u0CAE\u0CBE\u0CA8\u0CCD\u0CAF \u0C87\u0CA8\u0CCD\u200C\u0CAA\u0CC1\u0C9F\u0CCD: \u0CA8\u0CBF\u0CB0\u0CC0\u0C95\u0CCD\u0CB7\u0CBF\u0CB8\u0CB2\u0CBE\u0C97\u0CBF\u0CA6\u0CC6 ${stringifyPrimitive(issue2.values[0])}`;
+ return `\u0C85\u0CAE\u0CBE\u0CA8\u0CCD\u0CAF \u0C86\u0CAF\u0CCD\u0C95\u0CC6: \u0C87\u0CB5\u0CC1\u0C97\u0CB3\u0CB2\u0CCD\u0CB2\u0CBF \u0C92\u0C82\u0CA6\u0CA8\u0CCD\u0CA8\u0CC1 \u0CA8\u0CBF\u0CB0\u0CC0\u0C95\u0CCD\u0CB7\u0CBF\u0CB8\u0CB2\u0CBE\u0C97\u0CBF\u0CA6\u0CC6 ${joinValues(issue2.values, "|")}`;
+ case "too_big": {
+ const adj = issue2.inclusive ? "<=" : "<";
+ const sizing = getSizing(issue2.origin);
+ if (sizing)
+ return `\u0CA4\u0CC1\u0C82\u0CAC\u0CBE \u0CA6\u0CCA\u0CA1\u0CCD\u0CA1\u0CA6\u0CC1: \u0CA8\u0CBF\u0CB0\u0CC0\u0C95\u0CCD\u0CB7\u0CBF\u0CB8\u0CB2\u0CBE\u0C97\u0CBF\u0CA6\u0CC6 ${issue2.origin ?? "value"} \u0CB9\u0CCA\u0C82\u0CA6\u0CB2\u0CC1 ${adj}${issue2.maximum.toString()} ${sizing.unit ?? "\u0C85\u0C82\u0CB6\u0C97\u0CB3\u0CC1"}`;
+ return `\u0CA4\u0CC1\u0C82\u0CAC\u0CBE \u0CA6\u0CCA\u0CA1\u0CCD\u0CA1\u0CA6\u0CC1: \u0CA8\u0CBF\u0CB0\u0CC0\u0C95\u0CCD\u0CB7\u0CBF\u0CB8\u0CB2\u0CBE\u0C97\u0CBF\u0CA6\u0CC6 ${issue2.origin ?? "value"} \u0C8E\u0C82\u0CA6\u0CC1 ${adj}${issue2.maximum.toString()}`;
+ }
+ case "too_small": {
+ const adj = issue2.inclusive ? ">=" : ">";
+ const sizing = getSizing(issue2.origin);
+ if (sizing) {
+ return `\u0CA4\u0CC1\u0C82\u0CAC\u0CBE \u0C9A\u0CBF\u0C95\u0CCD\u0C95\u0CA6\u0CC1: \u0CA8\u0CBF\u0CB0\u0CC0\u0C95\u0CCD\u0CB7\u0CBF\u0CB8\u0CB2\u0CBE\u0C97\u0CBF\u0CA6\u0CC6 ${issue2.origin} \u0CB9\u0CCA\u0C82\u0CA6\u0CB2\u0CC1 ${adj}${issue2.minimum.toString()} ${sizing.unit}`;
+ }
+ return `\u0CA4\u0CC1\u0C82\u0CAC\u0CBE \u0C9A\u0CBF\u0C95\u0CCD\u0C95\u0CA6\u0CC1: \u0CA8\u0CBF\u0CB0\u0CC0\u0C95\u0CCD\u0CB7\u0CBF\u0CB8\u0CB2\u0CBE\u0C97\u0CBF\u0CA6\u0CC6 ${issue2.origin} \u0C8E\u0C82\u0CA6\u0CC1 ${adj}${issue2.minimum.toString()}`;
+ }
+ case "invalid_format": {
+ const _issue = issue2;
+ if (_issue.format === "starts_with") {
+ return `\u0C85\u0CAE\u0CBE\u0CA8\u0CCD\u0CAF\u0CB5\u0CBE\u0CA6 \u0CB8\u0CCD\u0C9F\u0CCD\u0CB0\u0CBF\u0C82\u0C97\u0CCD: \u0C87\u0CA6\u0CB0\u0CCA\u0C82\u0CA6\u0CBF\u0C97\u0CC6 \u0CAA\u0CCD\u0CB0\u0CBE\u0CB0\u0C82\u0CAD\u0CBF\u0CB8\u0CAC\u0CC7\u0C95\u0CC1 "${_issue.prefix}"`;
+ }
+ if (_issue.format === "ends_with")
+ return `\u0C85\u0CAE\u0CBE\u0CA8\u0CCD\u0CAF\u0CB5\u0CBE\u0CA6 \u0CB8\u0CCD\u0C9F\u0CCD\u0CB0\u0CBF\u0C82\u0C97\u0CCD: \u0C87\u0CA6\u0CB0\u0CCA\u0C82\u0CA6\u0CBF\u0C97\u0CC6 \u0C95\u0CCA\u0CA8\u0CC6\u0C97\u0CCA\u0CB3\u0CCD\u0CB3\u0CAC\u0CC7\u0C95\u0CC1 "${_issue.suffix}"`;
+ if (_issue.format === "includes")
+ return `\u0C85\u0CAE\u0CBE\u0CA8\u0CCD\u0CAF \u0CB8\u0CCD\u0C9F\u0CCD\u0CB0\u0CBF\u0C82\u0C97\u0CCD: \u0C92\u0CB3\u0C97\u0CCA\u0C82\u0CA1\u0CBF\u0CB0\u0CAC\u0CC7\u0C95\u0CC1 "${_issue.includes}"`;
+ if (_issue.format === "regex")
+ return `\u0C85\u0CAE\u0CBE\u0CA8\u0CCD\u0CAF\u0CB5\u0CBE\u0CA6 \u0CB8\u0CCD\u0C9F\u0CCD\u0CB0\u0CBF\u0C82\u0C97\u0CCD: \u0CAE\u0CBE\u0CA6\u0CB0\u0CBF\u0C97\u0CC6 \u0CB9\u0CCA\u0C82\u0CA6\u0CBF\u0C95\u0CC6\u0CAF\u0CBE\u0C97\u0CAC\u0CC7\u0C95\u0CC1 ${_issue.pattern}`;
+ return `\u0C85\u0CAE\u0CBE\u0CA8\u0CCD\u0CAF ${FormatDictionary[_issue.format] ?? issue2.format}`;
+ }
+ case "not_multiple_of":
+ return `\u0C85\u0CAE\u0CBE\u0CA8\u0CCD\u0CAF \u0CB8\u0C82\u0C96\u0CCD\u0CAF\u0CC6: \u0CAC\u0CB9\u0CC1\u0CB8\u0C82\u0C96\u0CCD\u0CAF\u0CC6\u0CAF\u0CBE\u0C97\u0CBF\u0CB0\u0CAC\u0CC7\u0C95\u0CC1 ${issue2.divisor}`;
+ case "unrecognized_keys":
+ return `\u0C97\u0CC1\u0CB0\u0CC1\u0CA4\u0CBF\u0CB8\u0CB2\u0CBE\u0C97\u0CA6 \u0C95\u0CC0 ${issue2.keys.length > 1 ? "s" : ""}: ${joinValues(issue2.keys, ", ")}`;
+ case "invalid_key":
+ return `\u0C85\u0CAE\u0CBE\u0CA8\u0CCD\u0CAF\u0CB5\u0CBE\u0CA6 \u0C95\u0CC0 \u0C87\u0CA8\u0CCD ${issue2.origin}`;
+ case "invalid_union":
+ if (issue2.options && Array.isArray(issue2.options) && issue2.options.length > 0) {
+ const opts = issue2.options.map((o3) => `'${o3}'`).join(" | ");
+ return `\u0C85\u0CAE\u0CBE\u0CA8\u0CCD\u0CAF \u0CA4\u0CBE\u0CB0\u0CA4\u0CAE\u0CCD\u0CAF \u0CAE\u0CCC\u0CB2\u0CCD\u0CAF. \u0CA8\u0CBF\u0CB0\u0CC0\u0C95\u0CCD\u0CB7\u0CBF\u0CB8\u0CB2\u0CBE\u0C97\u0CBF\u0CA6\u0CC6 ${opts}`;
+ }
+ return "\u0C85\u0CAE\u0CBE\u0CA8\u0CCD\u0CAF \u0C87\u0CA8\u0CCD\u200C\u0CAA\u0CC1\u0C9F\u0CCD";
+ case "invalid_element":
+ return `\u0CB0\u0CB2\u0CCD\u0CB2\u0CBF \u0C85\u0CAE\u0CBE\u0CA8\u0CCD\u0CAF \u0CAE\u0CCC\u0CB2\u0CCD\u0CAF ${issue2.origin}`;
+ default:
+ return `\u0C85\u0CAE\u0CBE\u0CA8\u0CCD\u0CAF \u0C87\u0CA8\u0CCD\u200C\u0CAA\u0CC1\u0C9F\u0CCD`;
+ }
+ };
+}, "error");
+function kn_default() {
+ return {
+ localeError: error31()
+ };
+}
+__name(kn_default, "default");
+
+// ../../node_modules/.pnpm/zod@4.6.7/node_modules/zod/v4/locales/ko.js
+var error32 = /* @__PURE__ */ __name(() => {
+ const Sizable = {
+ string: { unit: "\uBB38\uC790", verb: "to have" },
+ file: { unit: "\uBC14\uC774\uD2B8", verb: "to have" },
+ array: { unit: "\uAC1C", verb: "to have" },
+ set: { unit: "\uAC1C", verb: "to have" },
+ map: { unit: "\uAC1C", verb: "to have" }
+ };
+ function getSizing(origin) {
+ return Sizable[origin] ?? null;
+ }
+ __name(getSizing, "getSizing");
+ const FormatDictionary = {
+ regex: "\uC785\uB825",
+ email: "\uC774\uBA54\uC77C \uC8FC\uC18C",
+ url: "URL",
+ emoji: "\uC774\uBAA8\uC9C0",
+ uuid: "UUID",
+ uuidv4: "UUIDv4",
+ uuidv6: "UUIDv6",
+ nanoid: "nanoid",
+ guid: "GUID",
+ cuid: "cuid",
+ cuid2: "cuid2",
+ ulid: "ULID",
+ xid: "XID",
+ ksuid: "KSUID",
+ datetime: "ISO \uB0A0\uC9DC\uC2DC\uAC04",
+ date: "ISO \uB0A0\uC9DC",
+ time: "ISO \uC2DC\uAC04",
+ duration: "ISO \uAE30\uAC04",
+ ipv4: "IPv4 \uC8FC\uC18C",
+ ipv6: "IPv6 \uC8FC\uC18C",
+ mac: "MAC \uC8FC\uC18C",
+ cidrv4: "IPv4 \uBC94\uC704",
+ cidrv6: "IPv6 \uBC94\uC704",
+ base64: "base64 \uC778\uCF54\uB529 \uBB38\uC790\uC5F4",
+ base64url: "base64url \uC778\uCF54\uB529 \uBB38\uC790\uC5F4",
+ json_string: "JSON \uBB38\uC790\uC5F4",
+ e164: "E.164 \uBC88\uD638",
+ credit_card: "\uC2E0\uC6A9\uCE74\uB4DC \uBC88\uD638",
+ currency_code: "\uD1B5\uD654 \uCF54\uB4DC",
+ iban: "IBAN",
+ jwt: "JWT",
+ template_literal: "\uC785\uB825"
+ };
+ const TypeDictionary = {
+ nan: "NaN"
+ };
+ return (issue2) => {
+ switch (issue2.code) {
+ case "invalid_type": {
+ const expected = TypeDictionary[issue2.expected] ?? issue2.expected;
+ const receivedType = parsedType(issue2.input);
+ const received = TypeDictionary[receivedType] ?? receivedType;
+ if (/^[A-Z]/.test(issue2.expected)) {
+ return `\uC798\uBABB\uB41C \uC785\uB825: \uC608\uC0C1 \uD0C0\uC785\uC740 instanceof ${issue2.expected}, \uBC1B\uC740 \uD0C0\uC785\uC740 ${received}\uC785\uB2C8\uB2E4`;
+ }
+ return `\uC798\uBABB\uB41C \uC785\uB825: \uC608\uC0C1 \uD0C0\uC785\uC740 ${expected}, \uBC1B\uC740 \uD0C0\uC785\uC740 ${received}\uC785\uB2C8\uB2E4`;
+ }
+ case "invalid_value":
+ if (issue2.values.length === 1)
+ return `\uC798\uBABB\uB41C \uC785\uB825: \uAC12\uC740 ${stringifyPrimitive(issue2.values[0])} \uC774\uC5B4\uC57C \uD569\uB2C8\uB2E4`;
+ return `\uC798\uBABB\uB41C \uC635\uC158: ${joinValues(issue2.values, "\uB610\uB294 ")} \uC911 \uD558\uB098\uC5EC\uC57C \uD569\uB2C8\uB2E4`;
+ case "too_big": {
+ const adj = issue2.inclusive ? "\uC774\uD558" : "\uBBF8\uB9CC";
+ const suffix = adj === "\uBBF8\uB9CC" ? "\uC774\uC5B4\uC57C \uD569\uB2C8\uB2E4" : "\uC5EC\uC57C \uD569\uB2C8\uB2E4";
+ const sizing = getSizing(issue2.origin);
+ const unit = sizing?.unit ?? "\uC694\uC18C";
+ if (sizing)
+ return `${issue2.origin ?? "\uAC12"}\uC774 \uB108\uBB34 \uD07D\uB2C8\uB2E4: ${issue2.maximum.toString()}${unit} ${adj}${suffix}`;
+ return `${issue2.origin ?? "\uAC12"}\uC774 \uB108\uBB34 \uD07D\uB2C8\uB2E4: ${issue2.maximum.toString()} ${adj}${suffix}`;
+ }
+ case "too_small": {
+ const adj = issue2.inclusive ? "\uC774\uC0C1" : "\uCD08\uACFC";
+ const suffix = adj === "\uC774\uC0C1" ? "\uC774\uC5B4\uC57C \uD569\uB2C8\uB2E4" : "\uC5EC\uC57C \uD569\uB2C8\uB2E4";
+ const sizing = getSizing(issue2.origin);
+ const unit = sizing?.unit ?? "\uC694\uC18C";
+ if (sizing) {
+ return `${issue2.origin ?? "\uAC12"}\uC774 \uB108\uBB34 \uC791\uC2B5\uB2C8\uB2E4: ${issue2.minimum.toString()}${unit} ${adj}${suffix}`;
+ }
+ return `${issue2.origin ?? "\uAC12"}\uC774 \uB108\uBB34 \uC791\uC2B5\uB2C8\uB2E4: ${issue2.minimum.toString()} ${adj}${suffix}`;
+ }
+ case "invalid_format": {
+ const _issue = issue2;
+ if (_issue.format === "starts_with") {
+ return `\uC798\uBABB\uB41C \uBB38\uC790\uC5F4: "${_issue.prefix}"(\uC73C)\uB85C \uC2DC\uC791\uD574\uC57C \uD569\uB2C8\uB2E4`;
+ }
+ if (_issue.format === "ends_with")
+ return `\uC798\uBABB\uB41C \uBB38\uC790\uC5F4: "${_issue.suffix}"(\uC73C)\uB85C \uB05D\uB098\uC57C \uD569\uB2C8\uB2E4`;
+ if (_issue.format === "includes")
+ return `\uC798\uBABB\uB41C \uBB38\uC790\uC5F4: "${_issue.includes}"\uC744(\uB97C) \uD3EC\uD568\uD574\uC57C \uD569\uB2C8\uB2E4`;
+ if (_issue.format === "regex")
+ return `\uC798\uBABB\uB41C \uBB38\uC790\uC5F4: \uC815\uADDC\uC2DD ${_issue.pattern} \uD328\uD134\uACFC \uC77C\uCE58\uD574\uC57C \uD569\uB2C8\uB2E4`;
+ return `\uC798\uBABB\uB41C ${FormatDictionary[_issue.format] ?? issue2.format}`;
+ }
+ case "not_multiple_of":
+ return `\uC798\uBABB\uB41C \uC22B\uC790: ${issue2.divisor}\uC758 \uBC30\uC218\uC5EC\uC57C \uD569\uB2C8\uB2E4`;
+ case "unrecognized_keys":
+ return `\uC778\uC2DD\uD560 \uC218 \uC5C6\uB294 \uD0A4: ${joinValues(issue2.keys, ", ")}`;
+ case "invalid_key":
+ return `\uC798\uBABB\uB41C \uD0A4: ${issue2.origin}`;
+ case "invalid_union":
+ return `\uC798\uBABB\uB41C \uC785\uB825`;
+ case "invalid_element":
+ return `\uC798\uBABB\uB41C \uAC12: ${issue2.origin}`;
+ default:
+ return `\uC798\uBABB\uB41C \uC785\uB825`;
+ }
+ };
+}, "error");
+function ko_default() {
+ return {
+ localeError: error32()
+ };
+}
+__name(ko_default, "default");
+
+// ../../node_modules/.pnpm/zod@4.6.7/node_modules/zod/v4/locales/lt.js
+var capitalizeFirstCharacter = /* @__PURE__ */ __name((text2) => {
+ return text2.charAt(0).toUpperCase() + text2.slice(1);
+}, "capitalizeFirstCharacter");
+function getUnitTypeFromNumber(number4) {
+ const abs = Math.abs(number4);
+ const last = abs % 10;
+ const last2 = abs % 100;
+ if (last2 >= 11 && last2 <= 19 || last === 0)
+ return "many";
+ if (last === 1)
+ return "one";
+ return "few";
+}
+__name(getUnitTypeFromNumber, "getUnitTypeFromNumber");
+var error33 = /* @__PURE__ */ __name(() => {
+ const Sizable = {
+ string: {
+ unit: {
+ one: "simbolis",
+ few: "simboliai",
+ many: "simboli\u0173"
+ },
+ verb: {
+ smaller: {
+ inclusive: "turi b\u016Bti ne ilgesn\u0117 kaip",
+ notInclusive: "turi b\u016Bti trumpesn\u0117 kaip"
+ },
+ bigger: {
+ inclusive: "turi b\u016Bti ne trumpesn\u0117 kaip",
+ notInclusive: "turi b\u016Bti ilgesn\u0117 kaip"
+ }
+ }
+ },
+ file: {
+ unit: {
+ one: "baitas",
+ few: "baitai",
+ many: "bait\u0173"
+ },
+ verb: {
+ smaller: {
+ inclusive: "turi b\u016Bti ne didesnis kaip",
+ notInclusive: "turi b\u016Bti ma\u017Eesnis kaip"
+ },
+ bigger: {
+ inclusive: "turi b\u016Bti ne ma\u017Eesnis kaip",
+ notInclusive: "turi b\u016Bti didesnis kaip"
+ }
+ }
+ },
+ array: {
+ unit: {
+ one: "element\u0105",
+ few: "elementus",
+ many: "element\u0173"
+ },
+ verb: {
+ smaller: {
+ inclusive: "turi tur\u0117ti ne daugiau kaip",
+ notInclusive: "turi tur\u0117ti ma\u017Eiau kaip"
+ },
+ bigger: {
+ inclusive: "turi tur\u0117ti ne ma\u017Eiau kaip",
+ notInclusive: "turi tur\u0117ti daugiau kaip"
+ }
+ }
+ },
+ set: {
+ unit: {
+ one: "element\u0105",
+ few: "elementus",
+ many: "element\u0173"
+ },
+ verb: {
+ smaller: {
+ inclusive: "turi tur\u0117ti ne daugiau kaip",
+ notInclusive: "turi tur\u0117ti ma\u017Eiau kaip"
+ },
+ bigger: {
+ inclusive: "turi tur\u0117ti ne ma\u017Eiau kaip",
+ notInclusive: "turi tur\u0117ti daugiau kaip"
+ }
+ }
+ }
+ };
+ function getSizing(origin, unitType, inclusive, targetShouldBe) {
+ const result = Sizable[origin] ?? null;
+ if (result === null)
+ return result;
+ return {
+ unit: result.unit[unitType],
+ verb: result.verb[targetShouldBe][inclusive ? "inclusive" : "notInclusive"]
+ };
+ }
+ __name(getSizing, "getSizing");
+ const FormatDictionary = {
+ regex: "\u012Fvestis",
+ email: "el. pa\u0161to adresas",
+ url: "URL",
+ emoji: "jaustukas",
+ uuid: "UUID",
+ uuidv4: "UUIDv4",
+ uuidv6: "UUIDv6",
+ nanoid: "nanoid",
+ guid: "GUID",
+ cuid: "cuid",
+ cuid2: "cuid2",
+ ulid: "ULID",
+ xid: "XID",
+ ksuid: "KSUID",
+ datetime: "ISO data ir laikas",
+ date: "ISO data",
+ time: "ISO laikas",
+ duration: "ISO trukm\u0117",
+ ipv4: "IPv4 adresas",
+ ipv6: "IPv6 adresas",
+ mac: "MAC adresas",
+ cidrv4: "IPv4 tinklo prefiksas (CIDR)",
+ cidrv6: "IPv6 tinklo prefiksas (CIDR)",
+ base64: "base64 u\u017Ekoduota eilut\u0117",
+ base64url: "base64url u\u017Ekoduota eilut\u0117",
+ json_string: "JSON eilut\u0117",
+ e164: "E.164 numeris",
+ credit_card: "kredito kortel\u0117s numeris",
+ currency_code: "valiutos kodas",
+ iban: "IBAN",
+ jwt: "JWT",
+ template_literal: "\u012Fvestis"
+ };
+ const TypeDictionary = {
+ nan: "NaN",
+ number: "skai\u010Dius",
+ bigint: "sveikasis skai\u010Dius",
+ string: "eilut\u0117",
+ boolean: "login\u0117 reik\u0161m\u0117",
+ undefined: "neapibr\u0117\u017Eta reik\u0161m\u0117",
+ function: "funkcija",
+ symbol: "simbolis",
+ array: "masyvas",
+ object: "objektas",
+ null: "nulin\u0117 reik\u0161m\u0117"
+ };
+ return (issue2) => {
+ switch (issue2.code) {
+ case "invalid_type": {
+ const expected = TypeDictionary[issue2.expected] ?? issue2.expected;
+ const receivedType = parsedType(issue2.input);
+ const received = TypeDictionary[receivedType] ?? receivedType;
+ if (/^[A-Z]/.test(issue2.expected)) {
+ return `Gautas tipas ${received}, o tik\u0117tasi - instanceof ${issue2.expected}`;
+ }
+ return `Gautas tipas ${received}, o tik\u0117tasi - ${expected}`;
+ }
+ case "invalid_value":
+ if (issue2.values.length === 1)
+ return `Privalo b\u016Bti ${stringifyPrimitive(issue2.values[0])}`;
+ return `Privalo b\u016Bti vienas i\u0161 ${joinValues(issue2.values, "|")} pasirinkim\u0173`;
+ case "too_big": {
+ const origin = TypeDictionary[issue2.origin] ?? issue2.origin;
+ const sizing = getSizing(issue2.origin, getUnitTypeFromNumber(Number(issue2.maximum)), issue2.inclusive ?? false, "smaller");
+ if (sizing?.verb)
+ return `${capitalizeFirstCharacter(origin ?? issue2.origin ?? "reik\u0161m\u0117")} ${sizing.verb} ${issue2.maximum.toString()} ${sizing.unit ?? "element\u0173"}`;
+ const adj = issue2.inclusive ? "ne didesnis kaip" : "ma\u017Eesnis kaip";
+ return `${capitalizeFirstCharacter(origin ?? issue2.origin ?? "reik\u0161m\u0117")} turi b\u016Bti ${adj} ${issue2.maximum.toString()} ${sizing?.unit}`;
+ }
+ case "too_small": {
+ const origin = TypeDictionary[issue2.origin] ?? issue2.origin;
+ const sizing = getSizing(issue2.origin, getUnitTypeFromNumber(Number(issue2.minimum)), issue2.inclusive ?? false, "bigger");
+ if (sizing?.verb)
+ return `${capitalizeFirstCharacter(origin ?? issue2.origin ?? "reik\u0161m\u0117")} ${sizing.verb} ${issue2.minimum.toString()} ${sizing.unit ?? "element\u0173"}`;
+ const adj = issue2.inclusive ? "ne ma\u017Eesnis kaip" : "didesnis kaip";
+ return `${capitalizeFirstCharacter(origin ?? issue2.origin ?? "reik\u0161m\u0117")} turi b\u016Bti ${adj} ${issue2.minimum.toString()} ${sizing?.unit}`;
+ }
+ case "invalid_format": {
+ const _issue = issue2;
+ if (_issue.format === "starts_with") {
+ return `Eilut\u0117 privalo prasid\u0117ti "${_issue.prefix}"`;
+ }
+ if (_issue.format === "ends_with")
+ return `Eilut\u0117 privalo pasibaigti "${_issue.suffix}"`;
+ if (_issue.format === "includes")
+ return `Eilut\u0117 privalo \u012Ftraukti "${_issue.includes}"`;
+ if (_issue.format === "regex")
+ return `Eilut\u0117 privalo atitikti ${_issue.pattern}`;
+ return `Neteisingas ${FormatDictionary[_issue.format] ?? issue2.format}`;
+ }
+ case "not_multiple_of":
+ return `Skai\u010Dius privalo b\u016Bti ${issue2.divisor} kartotinis.`;
+ case "unrecognized_keys":
+ return `Neatpa\u017Eint${issue2.keys.length > 1 ? "i" : "as"} rakt${issue2.keys.length > 1 ? "ai" : "as"}: ${joinValues(issue2.keys, ", ")}`;
+ case "invalid_key":
+ return "Rastas klaidingas raktas";
+ case "invalid_union":
+ return "Klaidinga \u012Fvestis";
+ case "invalid_element": {
+ const origin = TypeDictionary[issue2.origin] ?? issue2.origin;
+ return `${capitalizeFirstCharacter(origin ?? issue2.origin ?? "reik\u0161m\u0117")} turi klaiding\u0105 \u012Fvest\u012F`;
+ }
+ default:
+ return "Klaidinga \u012Fvestis";
+ }
+ };
+}, "error");
+function lt_default() {
+ return {
+ localeError: error33()
+ };
+}
+__name(lt_default, "default");
+
+// ../../node_modules/.pnpm/zod@4.6.7/node_modules/zod/v4/locales/mk.js
+var error34 = /* @__PURE__ */ __name(() => {
+ const Sizable = {
+ string: { unit: "\u0437\u043D\u0430\u0446\u0438", verb: "\u0434\u0430 \u0438\u043C\u0430\u0430\u0442" },
+ file: { unit: "\u0431\u0430\u0458\u0442\u0438", verb: "\u0434\u0430 \u0438\u043C\u0430\u0430\u0442" },
+ array: { unit: "\u0441\u0442\u0430\u0432\u043A\u0438", verb: "\u0434\u0430 \u0438\u043C\u0430\u0430\u0442" },
+ set: { unit: "\u0441\u0442\u0430\u0432\u043A\u0438", verb: "\u0434\u0430 \u0438\u043C\u0430\u0430\u0442" },
+ map: { unit: "\u0441\u0442\u0430\u0432\u043A\u0438", verb: "\u0434\u0430 \u0438\u043C\u0430\u0430\u0442" }
+ };
+ function getSizing(origin) {
+ return Sizable[origin] ?? null;
+ }
+ __name(getSizing, "getSizing");
+ const FormatDictionary = {
+ regex: "\u0432\u043D\u0435\u0441",
+ email: "\u0430\u0434\u0440\u0435\u0441\u0430 \u043D\u0430 \u0435-\u043F\u043E\u0448\u0442\u0430",
+ url: "URL",
+ emoji: "\u0435\u043C\u043E\u045F\u0438",
+ uuid: "UUID",
+ uuidv4: "UUIDv4",
+ uuidv6: "UUIDv6",
+ nanoid: "nanoid",
+ guid: "GUID",
+ cuid: "cuid",
+ cuid2: "cuid2",
+ ulid: "ULID",
+ xid: "XID",
+ ksuid: "KSUID",
+ datetime: "ISO \u0434\u0430\u0442\u0443\u043C \u0438 \u0432\u0440\u0435\u043C\u0435",
+ date: "ISO \u0434\u0430\u0442\u0443\u043C",
+ time: "ISO \u0432\u0440\u0435\u043C\u0435",
+ duration: "ISO \u0432\u0440\u0435\u043C\u0435\u0442\u0440\u0430\u0435\u045A\u0435",
+ ipv4: "IPv4 \u0430\u0434\u0440\u0435\u0441\u0430",
+ ipv6: "IPv6 \u0430\u0434\u0440\u0435\u0441\u0430",
+ mac: "MAC \u0430\u0434\u0440\u0435\u0441\u0430",
+ cidrv4: "IPv4 \u043E\u043F\u0441\u0435\u0433",
+ cidrv6: "IPv6 \u043E\u043F\u0441\u0435\u0433",
+ base64: "base64-\u0435\u043D\u043A\u043E\u0434\u0438\u0440\u0430\u043D\u0430 \u043D\u0438\u0437\u0430",
+ base64url: "base64url-\u0435\u043D\u043A\u043E\u0434\u0438\u0440\u0430\u043D\u0430 \u043D\u0438\u0437\u0430",
+ json_string: "JSON \u043D\u0438\u0437\u0430",
+ e164: "E.164 \u0431\u0440\u043E\u0458",
+ credit_card: "\u0431\u0440\u043E\u0458 \u043D\u0430 \u043A\u0440\u0435\u0434\u0438\u0442\u043D\u0430 \u043A\u0430\u0440\u0442\u0438\u0447\u043A\u0430",
+ currency_code: "\u043A\u043E\u0434 \u043D\u0430 \u0432\u0430\u043B\u0443\u0442\u0430",
+ iban: "IBAN",
+ jwt: "JWT",
+ template_literal: "\u0432\u043D\u0435\u0441"
+ };
+ const TypeDictionary = {
+ nan: "NaN",
+ number: "\u0431\u0440\u043E\u0458",
+ array: "\u043D\u0438\u0437\u0430"
+ };
+ return (issue2) => {
+ switch (issue2.code) {
+ case "invalid_type": {
+ const expected = TypeDictionary[issue2.expected] ?? issue2.expected;
+ const receivedType = parsedType(issue2.input);
+ const received = TypeDictionary[receivedType] ?? receivedType;
+ if (/^[A-Z]/.test(issue2.expected)) {
+ return `\u0413\u0440\u0435\u0448\u0435\u043D \u0432\u043D\u0435\u0441: \u0441\u0435 \u043E\u0447\u0435\u043A\u0443\u0432\u0430 instanceof ${issue2.expected}, \u043F\u0440\u0438\u043C\u0435\u043D\u043E ${received}`;
+ }
+ return `\u0413\u0440\u0435\u0448\u0435\u043D \u0432\u043D\u0435\u0441: \u0441\u0435 \u043E\u0447\u0435\u043A\u0443\u0432\u0430 ${expected}, \u043F\u0440\u0438\u043C\u0435\u043D\u043E ${received}`;
+ }
+ case "invalid_value":
+ if (issue2.values.length === 1)
+ return `Invalid input: expected ${stringifyPrimitive(issue2.values[0])}`;
+ return `\u0413\u0440\u0435\u0448\u0430\u043D\u0430 \u043E\u043F\u0446\u0438\u0458\u0430: \u0441\u0435 \u043E\u0447\u0435\u043A\u0443\u0432\u0430 \u0435\u0434\u043D\u0430 ${joinValues(issue2.values, "|")}`;
+ case "too_big": {
+ const adj = issue2.inclusive ? "<=" : "<";
+ const sizing = getSizing(issue2.origin);
+ if (sizing)
+ return `\u041F\u0440\u0435\u043C\u043D\u043E\u0433\u0443 \u0433\u043E\u043B\u0435\u043C: \u0441\u0435 \u043E\u0447\u0435\u043A\u0443\u0432\u0430 ${issue2.origin ?? "\u0432\u0440\u0435\u0434\u043D\u043E\u0441\u0442\u0430"} \u0434\u0430 \u0438\u043C\u0430 ${adj}${issue2.maximum.toString()} ${sizing.unit ?? "\u0435\u043B\u0435\u043C\u0435\u043D\u0442\u0438"}`;
+ return `\u041F\u0440\u0435\u043C\u043D\u043E\u0433\u0443 \u0433\u043E\u043B\u0435\u043C: \u0441\u0435 \u043E\u0447\u0435\u043A\u0443\u0432\u0430 ${issue2.origin ?? "\u0432\u0440\u0435\u0434\u043D\u043E\u0441\u0442\u0430"} \u0434\u0430 \u0431\u0438\u0434\u0435 ${adj}${issue2.maximum.toString()}`;
+ }
+ case "too_small": {
+ const adj = issue2.inclusive ? ">=" : ">";
+ const sizing = getSizing(issue2.origin);
+ if (sizing) {
+ return `\u041F\u0440\u0435\u043C\u043D\u043E\u0433\u0443 \u043C\u0430\u043B: \u0441\u0435 \u043E\u0447\u0435\u043A\u0443\u0432\u0430 ${issue2.origin} \u0434\u0430 \u0438\u043C\u0430 ${adj}${issue2.minimum.toString()} ${sizing.unit}`;
+ }
+ return `\u041F\u0440\u0435\u043C\u043D\u043E\u0433\u0443 \u043C\u0430\u043B: \u0441\u0435 \u043E\u0447\u0435\u043A\u0443\u0432\u0430 ${issue2.origin} \u0434\u0430 \u0431\u0438\u0434\u0435 ${adj}${issue2.minimum.toString()}`;
+ }
+ case "invalid_format": {
+ const _issue = issue2;
+ if (_issue.format === "starts_with") {
+ return `\u041D\u0435\u0432\u0430\u0436\u0435\u0447\u043A\u0430 \u043D\u0438\u0437\u0430: \u043C\u043E\u0440\u0430 \u0434\u0430 \u0437\u0430\u043F\u043E\u0447\u043D\u0443\u0432\u0430 \u0441\u043E "${_issue.prefix}"`;
+ }
+ if (_issue.format === "ends_with")
+ return `\u041D\u0435\u0432\u0430\u0436\u0435\u0447\u043A\u0430 \u043D\u0438\u0437\u0430: \u043C\u043E\u0440\u0430 \u0434\u0430 \u0437\u0430\u0432\u0440\u0448\u0443\u0432\u0430 \u0441\u043E "${_issue.suffix}"`;
+ if (_issue.format === "includes")
+ return `\u041D\u0435\u0432\u0430\u0436\u0435\u0447\u043A\u0430 \u043D\u0438\u0437\u0430: \u043C\u043E\u0440\u0430 \u0434\u0430 \u0432\u043A\u043B\u0443\u0447\u0443\u0432\u0430 "${_issue.includes}"`;
+ if (_issue.format === "regex")
+ return `\u041D\u0435\u0432\u0430\u0436\u0435\u0447\u043A\u0430 \u043D\u0438\u0437\u0430: \u043C\u043E\u0440\u0430 \u0434\u0430 \u043E\u0434\u0433\u043E\u0430\u0440\u0430 \u043D\u0430 \u043F\u0430\u0442\u0435\u0440\u043D\u043E\u0442 ${_issue.pattern}`;
+ return `Invalid ${FormatDictionary[_issue.format] ?? issue2.format}`;
+ }
+ case "not_multiple_of":
+ return `\u0413\u0440\u0435\u0448\u0435\u043D \u0431\u0440\u043E\u0458: \u043C\u043E\u0440\u0430 \u0434\u0430 \u0431\u0438\u0434\u0435 \u0434\u0435\u043B\u0438\u0432 \u0441\u043E ${issue2.divisor}`;
+ case "unrecognized_keys":
+ return `${issue2.keys.length > 1 ? "\u041D\u0435\u043F\u0440\u0435\u043F\u043E\u0437\u043D\u0430\u0435\u043D\u0438 \u043A\u043B\u0443\u0447\u0435\u0432\u0438" : "\u041D\u0435\u043F\u0440\u0435\u043F\u043E\u0437\u043D\u0430\u0435\u043D \u043A\u043B\u0443\u0447"}: ${joinValues(issue2.keys, ", ")}`;
+ case "invalid_key":
+ return `\u0413\u0440\u0435\u0448\u0435\u043D \u043A\u043B\u0443\u0447 \u0432\u043E ${issue2.origin}`;
+ case "invalid_union":
+ return "\u0413\u0440\u0435\u0448\u0435\u043D \u0432\u043D\u0435\u0441";
+ case "invalid_element":
+ return `\u0413\u0440\u0435\u0448\u043D\u0430 \u0432\u0440\u0435\u0434\u043D\u043E\u0441\u0442 \u0432\u043E ${issue2.origin}`;
+ default:
+ return `\u0413\u0440\u0435\u0448\u0435\u043D \u0432\u043D\u0435\u0441`;
+ }
+ };
+}, "error");
+function mk_default() {
+ return {
+ localeError: error34()
+ };
+}
+__name(mk_default, "default");
+
+// ../../node_modules/.pnpm/zod@4.6.7/node_modules/zod/v4/locales/ms.js
+var error35 = /* @__PURE__ */ __name(() => {
+ const Sizable = {
+ string: { unit: "aksara", verb: "mempunyai" },
+ file: { unit: "bait", verb: "mempunyai" },
+ array: { unit: "elemen", verb: "mempunyai" },
+ set: { unit: "elemen", verb: "mempunyai" },
+ map: { unit: "elemen", verb: "mempunyai" }
+ };
+ function getSizing(origin) {
+ return Sizable[origin] ?? null;
+ }
+ __name(getSizing, "getSizing");
+ const FormatDictionary = {
+ regex: "input",
+ email: "alamat e-mel",
+ url: "URL",
+ emoji: "emoji",
+ uuid: "UUID",
+ uuidv4: "UUIDv4",
+ uuidv6: "UUIDv6",
+ nanoid: "nanoid",
+ guid: "GUID",
+ cuid: "cuid",
+ cuid2: "cuid2",
+ ulid: "ULID",
+ xid: "XID",
+ ksuid: "KSUID",
+ datetime: "tarikh masa ISO",
+ date: "tarikh ISO",
+ time: "masa ISO",
+ duration: "tempoh ISO",
+ ipv4: "alamat IPv4",
+ ipv6: "alamat IPv6",
+ mac: "alamat MAC",
+ cidrv4: "julat IPv4",
+ cidrv6: "julat IPv6",
+ base64: "string dikodkan base64",
+ base64url: "string dikodkan base64url",
+ json_string: "string JSON",
+ e164: "nombor E.164",
+ credit_card: "nombor kad kredit",
+ currency_code: "kod mata wang",
+ iban: "IBAN",
+ jwt: "JWT",
+ template_literal: "input"
+ };
+ const TypeDictionary = {
+ nan: "NaN",
+ number: "nombor"
+ };
+ return (issue2) => {
+ switch (issue2.code) {
+ case "invalid_type": {
+ const expected = TypeDictionary[issue2.expected] ?? issue2.expected;
+ const receivedType = parsedType(issue2.input);
+ const received = TypeDictionary[receivedType] ?? receivedType;
+ if (/^[A-Z]/.test(issue2.expected)) {
+ return `Input tidak sah: dijangka instanceof ${issue2.expected}, diterima ${received}`;
+ }
+ return `Input tidak sah: dijangka ${expected}, diterima ${received}`;
+ }
+ case "invalid_value":
+ if (issue2.values.length === 1)
+ return `Input tidak sah: dijangka ${stringifyPrimitive(issue2.values[0])}`;
+ return `Pilihan tidak sah: dijangka salah satu daripada ${joinValues(issue2.values, "|")}`;
+ case "too_big": {
+ const adj = issue2.inclusive ? "<=" : "<";
+ const sizing = getSizing(issue2.origin);
+ if (sizing)
+ return `Terlalu besar: dijangka ${issue2.origin ?? "nilai"} ${sizing.verb} ${adj}${issue2.maximum.toString()} ${sizing.unit ?? "elemen"}`;
+ return `Terlalu besar: dijangka ${issue2.origin ?? "nilai"} adalah ${adj}${issue2.maximum.toString()}`;
+ }
+ case "too_small": {
+ const adj = issue2.inclusive ? ">=" : ">";
+ const sizing = getSizing(issue2.origin);
+ if (sizing) {
+ return `Terlalu kecil: dijangka ${issue2.origin} ${sizing.verb} ${adj}${issue2.minimum.toString()} ${sizing.unit}`;
+ }
+ return `Terlalu kecil: dijangka ${issue2.origin} adalah ${adj}${issue2.minimum.toString()}`;
+ }
+ case "invalid_format": {
+ const _issue = issue2;
+ if (_issue.format === "starts_with")
+ return `String tidak sah: mesti bermula dengan "${_issue.prefix}"`;
+ if (_issue.format === "ends_with")
+ return `String tidak sah: mesti berakhir dengan "${_issue.suffix}"`;
+ if (_issue.format === "includes")
+ return `String tidak sah: mesti mengandungi "${_issue.includes}"`;
+ if (_issue.format === "regex")
+ return `String tidak sah: mesti sepadan dengan corak ${_issue.pattern}`;
+ return `${FormatDictionary[_issue.format] ?? issue2.format} tidak sah`;
+ }
+ case "not_multiple_of":
+ return `Nombor tidak sah: perlu gandaan ${issue2.divisor}`;
+ case "unrecognized_keys":
+ return `Kunci tidak dikenali: ${joinValues(issue2.keys, ", ")}`;
+ case "invalid_key":
+ return `Kunci tidak sah dalam ${issue2.origin}`;
+ case "invalid_union":
+ return "Input tidak sah";
+ case "invalid_element":
+ return `Nilai tidak sah dalam ${issue2.origin}`;
+ default:
+ return `Input tidak sah`;
+ }
+ };
+}, "error");
+function ms_default() {
+ return {
+ localeError: error35()
+ };
+}
+__name(ms_default, "default");
+
+// ../../node_modules/.pnpm/zod@4.6.7/node_modules/zod/v4/locales/ne.js
+var error36 = /* @__PURE__ */ __name(() => {
+ const Sizable = {
+ string: { unit: "\u0905\u0915\u094D\u0937\u0930", verb: "\u0939\u0941\u0928\u0941\u092A\u0930\u094D\u091B" },
+ file: { unit: "\u092C\u093E\u0907\u091F", verb: "\u0939\u0941\u0928\u0941\u092A\u0930\u094D\u091B" },
+ array: { unit: "\u0924\u0924\u094D\u0935", verb: "\u0939\u0941\u0928\u0941\u092A\u0930\u094D\u091B" },
+ set: { unit: "\u0924\u0924\u094D\u0935", verb: "\u0939\u0941\u0928\u0941\u092A\u0930\u094D\u091B" },
+ map: { unit: "\u092A\u094D\u0930\u0935\u093F\u0937\u094D\u091F\u093F", verb: "\u0939\u0941\u0928\u0941\u092A\u0930\u094D\u091B" }
+ };
+ function getSizing(origin) {
+ return Sizable[origin] ?? null;
+ }
+ __name(getSizing, "getSizing");
+ const FormatDictionary = {
+ regex: "\u0907\u0928\u092A\u0941\u091F",
+ email: "\u0907\u092E\u0947\u0932 \u0920\u0947\u0917\u093E\u0928\u093E",
+ url: "URL",
+ emoji: "\u0907\u092E\u094B\u091C\u0940",
+ uuid: "UUID",
+ uuidv4: "UUIDv4",
+ uuidv6: "UUIDv6",
+ nanoid: "nanoid",
+ guid: "GUID",
+ cuid: "cuid",
+ cuid2: "cuid2",
+ ulid: "ULID",
+ xid: "XID",
+ ksuid: "KSUID",
+ datetime: "ISO \u092E\u093F\u0924\u093F \u0930 \u0938\u092E\u092F",
+ date: "ISO \u092E\u093F\u0924\u093F",
+ time: "ISO \u0938\u092E\u092F",
+ duration: "ISO \u0905\u0935\u0927\u093F",
+ ipv4: "IPv4 \u0920\u0947\u0917\u093E\u0928\u093E",
+ ipv6: "IPv6 \u0920\u0947\u0917\u093E\u0928\u093E",
+ mac: "MAC \u0920\u0947\u0917\u093E\u0928\u093E",
+ cidrv4: "IPv4 \u0926\u093E\u092F\u0930\u093E",
+ cidrv6: "IPv6 \u0926\u093E\u092F\u0930\u093E",
+ base64: "base64-\u0907\u0928\u094D\u0915\u094B\u0921 \u0917\u0930\u093F\u090F\u0915\u094B \u0938\u094D\u091F\u094D\u0930\u093F\u0919",
+ base64url: "base64url-\u0907\u0928\u094D\u0915\u094B\u0921 \u0917\u0930\u093F\u090F\u0915\u094B \u0938\u094D\u091F\u094D\u0930\u093F\u0919",
+ json_string: "JSON \u0938\u094D\u091F\u094D\u0930\u093F\u0919",
+ e164: "E.164 \u0928\u092E\u094D\u092C\u0930",
+ credit_card: "\u0915\u094D\u0930\u0947\u0921\u093F\u091F \u0915\u093E\u0930\u094D\u0921 \u0928\u092E\u094D\u092C\u0930",
+ currency_code: "\u092E\u0941\u0926\u094D\u0930\u093E \u0915\u094B\u0921",
+ iban: "IBAN",
+ jwt: "JWT",
+ template_literal: "\u0907\u0928\u092A\u0941\u091F"
+ };
+ const TypeDictionary = {
+ nan: "NaN"
+ };
+ return (issue2) => {
+ switch (issue2.code) {
+ case "invalid_type": {
+ const expected = TypeDictionary[issue2.expected] ?? issue2.expected;
+ const receivedType = parsedType(issue2.input);
+ const received = TypeDictionary[receivedType] ?? receivedType;
+ return `\u0905\u092E\u093E\u0928\u094D\u092F \u0907\u0928\u092A\u0941\u091F: \u0905\u092A\u0947\u0915\u094D\u0937\u093F\u0924 ${expected}, \u092A\u094D\u0930\u093E\u092A\u094D\u0924 ${received}`;
+ }
+ case "invalid_value":
+ if (issue2.values.length === 1)
+ return `\u0905\u092E\u093E\u0928\u094D\u092F \u0907\u0928\u092A\u0941\u091F: \u0905\u092A\u0947\u0915\u094D\u0937\u093F\u0924 ${stringifyPrimitive(issue2.values[0])}`;
+ return `\u0905\u092E\u093E\u0928\u094D\u092F \u0935\u093F\u0915\u0932\u094D\u092A: \u0905\u092A\u0947\u0915\u094D\u0937\u093F\u0924 \u092E\u093E\u0928\u0939\u0930\u0942 \u092E\u0927\u094D\u092F\u0947 \u090F\u0915 ${joinValues(issue2.values, "|")}`;
+ case "too_big": {
+ const adj = issue2.inclusive ? "<=" : "<";
+ const sizing = getSizing(issue2.origin);
+ if (sizing)
+ return `\u0927\u0947\u0930\u0948 \u0920\u0942\u0932\u094B: ${issue2.origin ?? "\u092E\u093E\u0928"} \u092E\u093E ${adj}${issue2.maximum.toString()} ${sizing.unit} ${sizing.verb}`;
+ return `\u0927\u0947\u0930\u0948 \u0920\u0942\u0932\u094B: ${issue2.origin ?? "\u092E\u093E\u0928"} ${adj}${issue2.maximum.toString()} \u0939\u0941\u0928\u0941\u092A\u0930\u094D\u091B`;
+ }
+ case "too_small": {
+ const adj = issue2.inclusive ? ">=" : ">";
+ const sizing = getSizing(issue2.origin);
+ if (sizing)
+ return `\u0927\u0947\u0930\u0948 \u0938\u093E\u0928\u094B: ${issue2.origin} \u092E\u093E ${adj}${issue2.minimum.toString()} ${sizing.unit} ${sizing.verb}`;
+ return `\u0927\u0947\u0930\u0948 \u0938\u093E\u0928\u094B: ${issue2.origin} ${adj}${issue2.minimum.toString()} \u0939\u0941\u0928\u0941\u092A\u0930\u094D\u091B`;
+ }
+ case "invalid_format": {
+ const _issue = issue2;
+ if (_issue.format === "starts_with")
+ return `\u0905\u092E\u093E\u0928\u094D\u092F \u0938\u094D\u091F\u094D\u0930\u093F\u0919: "${_issue.prefix}" \u092C\u093E\u091F \u0938\u0941\u0930\u0941 \u0939\u0941\u0928\u0941\u092A\u0930\u094D\u091B`;
+ if (_issue.format === "ends_with")
+ return `\u0905\u092E\u093E\u0928\u094D\u092F \u0938\u094D\u091F\u094D\u0930\u093F\u0919: "${_issue.suffix}" \u092E\u093E \u0938\u092E\u093E\u092A\u094D\u0924 \u0939\u0941\u0928\u0941\u092A\u0930\u094D\u091B`;
+ if (_issue.format === "includes")
+ return `\u0905\u092E\u093E\u0928\u094D\u092F \u0938\u094D\u091F\u094D\u0930\u093F\u0919: "${_issue.includes}" \u0938\u092E\u093E\u0935\u0947\u0936 \u0939\u0941\u0928\u0941\u092A\u0930\u094D\u091B`;
+ if (_issue.format === "regex")
+ return `\u0905\u092E\u093E\u0928\u094D\u092F \u0938\u094D\u091F\u094D\u0930\u093F\u0919: \u0922\u093E\u0901\u091A\u093E ${_issue.pattern} \u0938\u0901\u0917 \u092E\u0947\u0932 \u0916\u093E\u0928\u0941\u092A\u0930\u094D\u091B`;
+ return `\u0905\u092E\u093E\u0928\u094D\u092F ${FormatDictionary[_issue.format] ?? issue2.format}`;
+ }
+ case "not_multiple_of":
+ return `\u0905\u092E\u093E\u0928\u094D\u092F \u0938\u0902\u0916\u094D\u092F\u093E: ${issue2.divisor} \u0915\u094B \u0917\u0941\u0923\u091C \u0939\u0941\u0928\u0941\u092A\u0930\u094D\u091B`;
+ case "unrecognized_keys":
+ return `\u0905\u092A\u0930\u093F\u091A\u093F\u0924 \u0915\u0941\u091E\u094D\u091C\u0940${issue2.keys.length > 1 ? "\u0939\u0930\u0942" : ""}: ${joinValues(issue2.keys, ", ")}`;
+ case "invalid_key":
+ return `\u0905\u092E\u093E\u0928\u094D\u092F \u0915\u0941\u091E\u094D\u091C\u0940: ${issue2.origin} \u092E\u093E`;
+ case "invalid_union":
+ if (issue2.options && Array.isArray(issue2.options) && issue2.options.length > 0) {
+ const opts = issue2.options.map((o3) => `'${o3}'`).join(" | ");
+ return `\u0905\u092E\u093E\u0928\u094D\u092F \u0921\u093F\u0938\u094D\u0915\u094D\u0930\u093F\u092E\u093F\u0928\u0947\u091F\u0930 \u092E\u093E\u0928: \u0905\u092A\u0947\u0915\u094D\u0937\u093F\u0924 ${opts}`;
+ }
+ return "\u0905\u092E\u093E\u0928\u094D\u092F \u0907\u0928\u092A\u0941\u091F";
+ case "invalid_element":
+ return `\u0905\u092E\u093E\u0928\u094D\u092F \u092E\u093E\u0928: ${issue2.origin} \u092E\u093E`;
+ default:
+ return `\u0905\u092E\u093E\u0928\u094D\u092F \u0907\u0928\u092A\u0941\u091F`;
+ }
+ };
+}, "error");
+function ne_default() {
+ return {
+ localeError: error36()
+ };
+}
+__name(ne_default, "default");
+
+// ../../node_modules/.pnpm/zod@4.6.7/node_modules/zod/v4/locales/nl.js
+var error37 = /* @__PURE__ */ __name(() => {
+ const Sizable = {
+ string: { unit: "tekens", verb: "heeft" },
+ file: { unit: "bytes", verb: "heeft" },
+ array: { unit: "elementen", verb: "heeft" },
+ set: { unit: "elementen", verb: "heeft" },
+ map: { unit: "elementen", verb: "heeft" }
+ };
+ function getSizing(origin) {
+ return Sizable[origin] ?? null;
+ }
+ __name(getSizing, "getSizing");
+ const FormatDictionary = {
+ regex: "invoer",
+ email: "emailadres",
+ url: "URL",
+ emoji: "emoji",
+ uuid: "UUID",
+ uuidv4: "UUIDv4",
+ uuidv6: "UUIDv6",
+ nanoid: "nanoid",
+ guid: "GUID",
+ cuid: "cuid",
+ cuid2: "cuid2",
+ ulid: "ULID",
+ xid: "XID",
+ ksuid: "KSUID",
+ datetime: "ISO datum en tijd",
+ date: "ISO datum",
+ time: "ISO tijd",
+ duration: "ISO duur",
+ ipv4: "IPv4-adres",
+ ipv6: "IPv6-adres",
+ mac: "MAC-adres",
+ cidrv4: "IPv4-bereik",
+ cidrv6: "IPv6-bereik",
+ base64: "base64-gecodeerde tekst",
+ base64url: "base64 URL-gecodeerde tekst",
+ json_string: "JSON string",
+ e164: "E.164-nummer",
+ credit_card: "creditcardnummer",
+ currency_code: "valutacode",
+ iban: "IBAN",
+ jwt: "JWT",
+ template_literal: "invoer"
+ };
+ const TypeDictionary = {
+ nan: "NaN",
+ number: "getal"
+ };
+ return (issue2) => {
+ switch (issue2.code) {
+ case "invalid_type": {
+ const expected = TypeDictionary[issue2.expected] ?? issue2.expected;
+ const receivedType = parsedType(issue2.input);
+ const received = TypeDictionary[receivedType] ?? receivedType;
+ if (/^[A-Z]/.test(issue2.expected)) {
+ return `Ongeldige invoer: verwacht instanceof ${issue2.expected}, ontving ${received}`;
+ }
+ return `Ongeldige invoer: verwacht ${expected}, ontving ${received}`;
+ }
+ case "invalid_value":
+ if (issue2.values.length === 1)
+ return `Ongeldige invoer: verwacht ${stringifyPrimitive(issue2.values[0])}`;
+ return `Ongeldige optie: verwacht \xE9\xE9n van ${joinValues(issue2.values, "|")}`;
+ case "too_big": {
+ const adj = issue2.inclusive ? "<=" : "<";
+ const sizing = getSizing(issue2.origin);
+ const longName = issue2.origin === "date" ? "laat" : issue2.origin === "string" ? "lang" : "groot";
+ if (sizing)
+ return `Te ${longName}: verwacht dat ${issue2.origin ?? "waarde"} ${adj}${issue2.maximum.toString()} ${sizing.unit ?? "elementen"} ${sizing.verb}`;
+ return `Te ${longName}: verwacht dat ${issue2.origin ?? "waarde"} ${adj}${issue2.maximum.toString()} is`;
+ }
+ case "too_small": {
+ const adj = issue2.inclusive ? ">=" : ">";
+ const sizing = getSizing(issue2.origin);
+ const shortName = issue2.origin === "date" ? "vroeg" : issue2.origin === "string" ? "kort" : "klein";
+ if (sizing) {
+ return `Te ${shortName}: verwacht dat ${issue2.origin} ${adj}${issue2.minimum.toString()} ${sizing.unit} ${sizing.verb}`;
+ }
+ return `Te ${shortName}: verwacht dat ${issue2.origin} ${adj}${issue2.minimum.toString()} is`;
+ }
+ case "invalid_format": {
+ const _issue = issue2;
+ if (_issue.format === "starts_with") {
+ return `Ongeldige tekst: moet met "${_issue.prefix}" beginnen`;
+ }
+ if (_issue.format === "ends_with")
+ return `Ongeldige tekst: moet op "${_issue.suffix}" eindigen`;
+ if (_issue.format === "includes")
+ return `Ongeldige tekst: moet "${_issue.includes}" bevatten`;
+ if (_issue.format === "regex")
+ return `Ongeldige tekst: moet overeenkomen met patroon ${_issue.pattern}`;
+ return `Ongeldig: ${FormatDictionary[_issue.format] ?? issue2.format}`;
+ }
+ case "not_multiple_of":
+ return `Ongeldig getal: moet een veelvoud van ${issue2.divisor} zijn`;
+ case "unrecognized_keys":
+ return `Onbekende key${issue2.keys.length > 1 ? "s" : ""}: ${joinValues(issue2.keys, ", ")}`;
+ case "invalid_key":
+ return `Ongeldige key in ${issue2.origin}`;
+ case "invalid_union":
+ return "Ongeldige invoer";
+ case "invalid_element":
+ return `Ongeldige waarde in ${issue2.origin}`;
+ default:
+ return `Ongeldige invoer`;
+ }
+ };
+}, "error");
+function nl_default() {
+ return {
+ localeError: error37()
+ };
+}
+__name(nl_default, "default");
+
+// ../../node_modules/.pnpm/zod@4.6.7/node_modules/zod/v4/locales/nn.js
+var error38 = /* @__PURE__ */ __name(() => {
+ const Sizable = {
+ string: { unit: "teikn", verb: "\xE5 ha" },
+ file: { unit: "bytes", verb: "\xE5 ha" },
+ array: { unit: "element", verb: "\xE5 innehalde" },
+ set: { unit: "element", verb: "\xE5 innehalde" },
+ map: { unit: "element", verb: "\xE5 innehalde" }
+ };
+ function getSizing(origin) {
+ return Sizable[origin] ?? null;
+ }
+ __name(getSizing, "getSizing");
+ const FormatDictionary = {
+ regex: "input",
+ email: "e-postadresse",
+ url: "URL",
+ emoji: "emoji",
+ uuid: "UUID",
+ uuidv4: "UUIDv4",
+ uuidv6: "UUIDv6",
+ nanoid: "nanoid",
+ guid: "GUID",
+ cuid: "cuid",
+ cuid2: "cuid2",
+ ulid: "ULID",
+ xid: "XID",
+ ksuid: "KSUID",
+ datetime: "ISO dato- og klokkeslett",
+ date: "ISO-dato",
+ time: "ISO-klokkeslett",
+ duration: "ISO-varigheit",
+ ipv4: "IPv4-adresse",
+ ipv6: "IPv6-adresse",
+ mac: "MAC-adresse",
+ cidrv4: "IPv4-spekter",
+ cidrv6: "IPv6-spekter",
+ base64: "base64-enkoda streng",
+ base64url: "base64url-enkoda streng",
+ json_string: "JSON-streng",
+ e164: "E.164-nummer",
+ credit_card: "kredittkortnummer",
+ currency_code: "valutakode",
+ iban: "IBAN",
+ jwt: "JWT",
+ template_literal: "input"
+ };
+ const TypeDictionary = {
+ nan: "NaN",
+ number: "tal",
+ array: "liste"
+ };
+ return (issue2) => {
+ switch (issue2.code) {
+ case "invalid_type": {
+ const expected = TypeDictionary[issue2.expected] ?? issue2.expected;
+ const receivedType = parsedType(issue2.input);
+ const received = TypeDictionary[receivedType] ?? receivedType;
+ if (/^[A-Z]/.test(issue2.expected)) {
+ return `Ugyldig input: forventa instanceof ${issue2.expected}, fekk ${received}`;
+ }
+ return `Ugyldig input: forventa ${expected}, fekk ${received}`;
+ }
+ case "invalid_value":
+ if (issue2.values.length === 1)
+ return `Ugyldig verdi: forventa ${stringifyPrimitive(issue2.values[0])}`;
+ return `Ugyldig val: forventa eitt av ${joinValues(issue2.values, "|")}`;
+ case "too_big": {
+ const adj = issue2.inclusive ? "<=" : "<";
+ const sizing = getSizing(issue2.origin);
+ if (sizing)
+ return `For stor(t): forventa ${issue2.origin ?? "value"} til \xE5 ha ${adj}${issue2.maximum.toString()} ${sizing.unit ?? "element"}`;
+ return `For stor(t): forventa ${issue2.origin ?? "value"} til \xE5 ha ${adj}${issue2.maximum.toString()}`;
+ }
+ case "too_small": {
+ const adj = issue2.inclusive ? ">=" : ">";
+ const sizing = getSizing(issue2.origin);
+ if (sizing) {
+ return `For lite(n): forventa ${issue2.origin} til \xE5 ha ${adj}${issue2.minimum.toString()} ${sizing.unit}`;
+ }
+ return `For lite(n): forventa ${issue2.origin} til \xE5 ha ${adj}${issue2.minimum.toString()}`;
+ }
+ case "invalid_format": {
+ const _issue = issue2;
+ if (_issue.format === "starts_with")
+ return `Ugyldig streng: m\xE5 starte med "${_issue.prefix}"`;
+ if (_issue.format === "ends_with")
+ return `Ugyldig streng: m\xE5 slutte med "${_issue.suffix}"`;
+ if (_issue.format === "includes")
+ return `Ugyldig streng: m\xE5 innehalde "${_issue.includes}"`;
+ if (_issue.format === "regex")
+ return `Ugyldig streng: m\xE5 matche m\xF8nsteret ${_issue.pattern}`;
+ return `Ugyldig ${FormatDictionary[_issue.format] ?? issue2.format}`;
+ }
+ case "not_multiple_of":
+ return `Ugyldig tal: m\xE5 vere eit multiplum av ${issue2.divisor}`;
+ case "unrecognized_keys":
+ return `${issue2.keys.length > 1 ? "Ukjende n\xF8klar" : "Ukjend n\xF8kkel"}: ${joinValues(issue2.keys, ", ")}`;
+ case "invalid_key":
+ return `Ugyldig n\xF8kkel i ${issue2.origin}`;
+ case "invalid_union":
+ return "Ugyldig input";
+ case "invalid_element":
+ return `Ugyldig verdi i ${issue2.origin}`;
+ default:
+ return `Ugyldig input`;
+ }
+ };
+}, "error");
+function nn_default() {
+ return {
+ localeError: error38()
+ };
+}
+__name(nn_default, "default");
+
+// ../../node_modules/.pnpm/zod@4.6.7/node_modules/zod/v4/locales/no.js
+var error39 = /* @__PURE__ */ __name(() => {
+ const Sizable = {
+ string: { unit: "tegn", verb: "\xE5 ha" },
+ file: { unit: "bytes", verb: "\xE5 ha" },
+ array: { unit: "elementer", verb: "\xE5 inneholde" },
+ set: { unit: "elementer", verb: "\xE5 inneholde" },
+ map: { unit: "elementer", verb: "\xE5 inneholde" }
+ };
+ function getSizing(origin) {
+ return Sizable[origin] ?? null;
+ }
+ __name(getSizing, "getSizing");
+ const FormatDictionary = {
+ regex: "input",
+ email: "e-postadresse",
+ url: "URL",
+ emoji: "emoji",
+ uuid: "UUID",
+ uuidv4: "UUIDv4",
+ uuidv6: "UUIDv6",
+ nanoid: "nanoid",
+ guid: "GUID",
+ cuid: "cuid",
+ cuid2: "cuid2",
+ ulid: "ULID",
+ xid: "XID",
+ ksuid: "KSUID",
+ datetime: "ISO dato- og klokkeslett",
+ date: "ISO-dato",
+ time: "ISO-klokkeslett",
+ duration: "ISO-varighet",
+ ipv4: "IPv4-adresse",
+ ipv6: "IPv6-adresse",
+ mac: "MAC-adresse",
+ cidrv4: "IPv4-spekter",
+ cidrv6: "IPv6-spekter",
+ base64: "base64-enkodet streng",
+ base64url: "base64url-enkodet streng",
+ json_string: "JSON-streng",
+ e164: "E.164-nummer",
+ credit_card: "kredittkortnummer",
+ currency_code: "valutakode",
+ iban: "IBAN",
+ jwt: "JWT",
+ template_literal: "input"
+ };
+ const TypeDictionary = {
+ nan: "NaN",
+ number: "tall",
+ array: "liste"
+ };
+ return (issue2) => {
+ switch (issue2.code) {
+ case "invalid_type": {
+ const expected = TypeDictionary[issue2.expected] ?? issue2.expected;
+ const receivedType = parsedType(issue2.input);
+ const received = TypeDictionary[receivedType] ?? receivedType;
+ if (/^[A-Z]/.test(issue2.expected)) {
+ return `Ugyldig input: forventet instanceof ${issue2.expected}, fikk ${received}`;
+ }
+ return `Ugyldig input: forventet ${expected}, fikk ${received}`;
+ }
+ case "invalid_value":
+ if (issue2.values.length === 1)
+ return `Ugyldig verdi: forventet ${stringifyPrimitive(issue2.values[0])}`;
+ return `Ugyldig valg: forventet en av ${joinValues(issue2.values, "|")}`;
+ case "too_big": {
+ const adj = issue2.inclusive ? "<=" : "<";
+ const sizing = getSizing(issue2.origin);
+ if (sizing)
+ return `For stor(t): forventet ${issue2.origin ?? "value"} til \xE5 ha ${adj}${issue2.maximum.toString()} ${sizing.unit ?? "elementer"}`;
+ return `For stor(t): forventet ${issue2.origin ?? "value"} til \xE5 ha ${adj}${issue2.maximum.toString()}`;
+ }
+ case "too_small": {
+ const adj = issue2.inclusive ? ">=" : ">";
+ const sizing = getSizing(issue2.origin);
+ if (sizing) {
+ return `For lite(n): forventet ${issue2.origin} til \xE5 ha ${adj}${issue2.minimum.toString()} ${sizing.unit}`;
+ }
+ return `For lite(n): forventet ${issue2.origin} til \xE5 ha ${adj}${issue2.minimum.toString()}`;
+ }
+ case "invalid_format": {
+ const _issue = issue2;
+ if (_issue.format === "starts_with")
+ return `Ugyldig streng: m\xE5 starte med "${_issue.prefix}"`;
+ if (_issue.format === "ends_with")
+ return `Ugyldig streng: m\xE5 ende med "${_issue.suffix}"`;
+ if (_issue.format === "includes")
+ return `Ugyldig streng: m\xE5 inneholde "${_issue.includes}"`;
+ if (_issue.format === "regex")
+ return `Ugyldig streng: m\xE5 matche m\xF8nsteret ${_issue.pattern}`;
+ return `Ugyldig ${FormatDictionary[_issue.format] ?? issue2.format}`;
+ }
+ case "not_multiple_of":
+ return `Ugyldig tall: m\xE5 v\xE6re et multiplum av ${issue2.divisor}`;
+ case "unrecognized_keys":
+ return `${issue2.keys.length > 1 ? "Ukjente n\xF8kler" : "Ukjent n\xF8kkel"}: ${joinValues(issue2.keys, ", ")}`;
+ case "invalid_key":
+ return `Ugyldig n\xF8kkel i ${issue2.origin}`;
+ case "invalid_union":
+ return "Ugyldig input";
+ case "invalid_element":
+ return `Ugyldig verdi i ${issue2.origin}`;
+ default:
+ return `Ugyldig input`;
+ }
+ };
+}, "error");
+function no_default() {
+ return {
+ localeError: error39()
+ };
+}
+__name(no_default, "default");
+
+// ../../node_modules/.pnpm/zod@4.6.7/node_modules/zod/v4/locales/ota.js
+var error40 = /* @__PURE__ */ __name(() => {
+ const Sizable = {
+ string: { unit: "harf", verb: "olmal\u0131d\u0131r" },
+ file: { unit: "bayt", verb: "olmal\u0131d\u0131r" },
+ array: { unit: "unsur", verb: "olmal\u0131d\u0131r" },
+ set: { unit: "unsur", verb: "olmal\u0131d\u0131r" },
+ map: { unit: "unsur", verb: "olmal\u0131d\u0131r" }
+ };
+ function getSizing(origin) {
+ return Sizable[origin] ?? null;
+ }
+ __name(getSizing, "getSizing");
+ const FormatDictionary = {
+ regex: "giren",
+ email: "epostag\xE2h",
+ url: "URL",
+ emoji: "emoji",
+ uuid: "UUID",
+ uuidv4: "UUIDv4",
+ uuidv6: "UUIDv6",
+ nanoid: "nanoid",
+ guid: "GUID",
+ cuid: "cuid",
+ cuid2: "cuid2",
+ ulid: "ULID",
+ xid: "XID",
+ ksuid: "KSUID",
+ datetime: "ISO heng\xE2m\u0131",
+ date: "ISO tarihi",
+ time: "ISO zaman\u0131",
+ duration: "ISO m\xFCddeti",
+ ipv4: "IPv4 ni\u015F\xE2n\u0131",
+ ipv6: "IPv6 ni\u015F\xE2n\u0131",
+ mac: "MAC ni\u015F\xE2n\u0131",
+ cidrv4: "IPv4 menzili",
+ cidrv6: "IPv6 menzili",
+ base64: "base64-\u015Fifreli metin",
+ base64url: "base64url-\u015Fifreli metin",
+ json_string: "JSON metin",
+ e164: "E.164 say\u0131s\u0131",
+ credit_card: "i'tib\xE2r kart\u0131 numaras\u0131",
+ currency_code: "para birimi kodu",
+ iban: "IBAN",
+ jwt: "JWT",
+ template_literal: "giren"
+ };
+ const TypeDictionary = {
+ nan: "NaN",
+ number: "numara",
+ array: "saf",
+ null: "gayb"
+ };
+ return (issue2) => {
+ switch (issue2.code) {
+ case "invalid_type": {
+ const expected = TypeDictionary[issue2.expected] ?? issue2.expected;
+ const receivedType = parsedType(issue2.input);
+ const received = TypeDictionary[receivedType] ?? receivedType;
+ if (/^[A-Z]/.test(issue2.expected)) {
+ return `F\xE2sit giren: umulan instanceof ${issue2.expected}, al\u0131nan ${received}`;
+ }
+ return `F\xE2sit giren: umulan ${expected}, al\u0131nan ${received}`;
+ }
+ case "invalid_value":
+ if (issue2.values.length === 1)
+ return `F\xE2sit giren: umulan ${stringifyPrimitive(issue2.values[0])}`;
+ return `F\xE2sit tercih: m\xFBteberler ${joinValues(issue2.values, "|")}`;
+ case "too_big": {
+ const adj = issue2.inclusive ? "<=" : "<";
+ const sizing = getSizing(issue2.origin);
+ if (sizing)
+ return `Fazla b\xFCy\xFCk: ${issue2.origin ?? "value"}, ${adj}${issue2.maximum.toString()} ${sizing.unit ?? "elements"} sahip olmal\u0131yd\u0131.`;
+ return `Fazla b\xFCy\xFCk: ${issue2.origin ?? "value"}, ${adj}${issue2.maximum.toString()} olmal\u0131yd\u0131.`;
+ }
+ case "too_small": {
+ const adj = issue2.inclusive ? ">=" : ">";
+ const sizing = getSizing(issue2.origin);
+ if (sizing) {
+ return `Fazla k\xFC\xE7\xFCk: ${issue2.origin}, ${adj}${issue2.minimum.toString()} ${sizing.unit} sahip olmal\u0131yd\u0131.`;
+ }
+ return `Fazla k\xFC\xE7\xFCk: ${issue2.origin}, ${adj}${issue2.minimum.toString()} olmal\u0131yd\u0131.`;
+ }
+ case "invalid_format": {
+ const _issue = issue2;
+ if (_issue.format === "starts_with")
+ return `F\xE2sit metin: "${_issue.prefix}" ile ba\u015Flamal\u0131.`;
+ if (_issue.format === "ends_with")
+ return `F\xE2sit metin: "${_issue.suffix}" ile bitmeli.`;
+ if (_issue.format === "includes")
+ return `F\xE2sit metin: "${_issue.includes}" ihtiv\xE2 etmeli.`;
+ if (_issue.format === "regex")
+ return `F\xE2sit metin: ${_issue.pattern} nak\u015F\u0131na uymal\u0131.`;
+ return `F\xE2sit ${FormatDictionary[_issue.format] ?? issue2.format}`;
+ }
+ case "not_multiple_of":
+ return `F\xE2sit say\u0131: ${issue2.divisor} kat\u0131 olmal\u0131yd\u0131.`;
+ case "unrecognized_keys":
+ return `Tan\u0131nmayan anahtar ${issue2.keys.length > 1 ? "s" : ""}: ${joinValues(issue2.keys, ", ")}`;
+ case "invalid_key":
+ return `${issue2.origin} i\xE7in tan\u0131nmayan anahtar var.`;
+ case "invalid_union":
+ return "Giren tan\u0131namad\u0131.";
+ case "invalid_element":
+ return `${issue2.origin} i\xE7in tan\u0131nmayan k\u0131ymet var.`;
+ default:
+ return `K\u0131ymet tan\u0131namad\u0131.`;
+ }
+ };
+}, "error");
+function ota_default() {
+ return {
+ localeError: error40()
+ };
+}
+__name(ota_default, "default");
+
+// ../../node_modules/.pnpm/zod@4.6.7/node_modules/zod/v4/locales/ps.js
+var error41 = /* @__PURE__ */ __name(() => {
+ const Sizable = {
+ string: { unit: "\u062A\u0648\u06A9\u064A", verb: "\u0648\u0644\u0631\u064A" },
+ file: { unit: "\u0628\u0627\u06CC\u067C\u0633", verb: "\u0648\u0644\u0631\u064A" },
+ array: { unit: "\u062A\u0648\u06A9\u064A", verb: "\u0648\u0644\u0631\u064A" },
+ set: { unit: "\u062A\u0648\u06A9\u064A", verb: "\u0648\u0644\u0631\u064A" },
+ map: { unit: "\u062A\u0648\u06A9\u064A", verb: "\u0648\u0644\u0631\u064A" }
+ };
+ function getSizing(origin) {
+ return Sizable[origin] ?? null;
+ }
+ __name(getSizing, "getSizing");
+ const FormatDictionary = {
+ regex: "\u0648\u0631\u0648\u062F\u064A",
+ email: "\u0628\u0631\u06CC\u069A\u0646\u0627\u0644\u06CC\u06A9",
+ url: "\u06CC\u0648 \u0622\u0631 \u0627\u0644",
+ emoji: "\u0627\u06CC\u0645\u0648\u062C\u064A",
+ uuid: "UUID",
+ uuidv4: "UUIDv4",
+ uuidv6: "UUIDv6",
+ nanoid: "nanoid",
+ guid: "GUID",
+ cuid: "cuid",
+ cuid2: "cuid2",
+ ulid: "ULID",
+ xid: "XID",
+ ksuid: "KSUID",
+ datetime: "\u0646\u06CC\u067C\u0647 \u0627\u0648 \u0648\u062E\u062A",
+ date: "\u0646\u06D0\u067C\u0647",
+ time: "\u0648\u062E\u062A",
+ duration: "\u0645\u0648\u062F\u0647",
+ ipv4: "\u062F IPv4 \u067E\u062A\u0647",
+ ipv6: "\u062F IPv6 \u067E\u062A\u0647",
+ mac: "\u062F MAC \u067E\u062A\u0647",
+ cidrv4: "\u062F IPv4 \u0633\u0627\u062D\u0647",
+ cidrv6: "\u062F IPv6 \u0633\u0627\u062D\u0647",
+ base64: "base64-encoded \u0645\u062A\u0646",
+ base64url: "base64url-encoded \u0645\u062A\u0646",
+ json_string: "JSON \u0645\u062A\u0646",
+ e164: "\u062F E.164 \u0634\u0645\u06D0\u0631\u0647",
+ credit_card: "\u062F \u06A9\u0631\u06CC\u0689\u06CC\u067C \u06A9\u0627\u0631\u062A \u0634\u0645\u06CC\u0631\u0647",
+ currency_code: "\u062F \u0627\u0633\u0639\u0627\u0631\u0648 \u06A9\u0648\u0689",
+ iban: "IBAN",
+ jwt: "JWT",
+ template_literal: "\u0648\u0631\u0648\u062F\u064A"
+ };
+ const TypeDictionary = {
+ nan: "NaN",
+ number: "\u0639\u062F\u062F",
+ array: "\u0627\u0631\u06D0"
+ };
+ return (issue2) => {
+ switch (issue2.code) {
+ case "invalid_type": {
+ const expected = TypeDictionary[issue2.expected] ?? issue2.expected;
+ const receivedType = parsedType(issue2.input);
+ const received = TypeDictionary[receivedType] ?? receivedType;
+ if (/^[A-Z]/.test(issue2.expected)) {
+ return `\u0646\u0627\u0633\u0645 \u0648\u0631\u0648\u062F\u064A: \u0628\u0627\u06CC\u062F instanceof ${issue2.expected} \u0648\u0627\u06CC, \u0645\u06AB\u0631 ${received} \u062A\u0631\u0644\u0627\u0633\u0647 \u0634\u0648`;
+ }
+ return `\u0646\u0627\u0633\u0645 \u0648\u0631\u0648\u062F\u064A: \u0628\u0627\u06CC\u062F ${expected} \u0648\u0627\u06CC, \u0645\u06AB\u0631 ${received} \u062A\u0631\u0644\u0627\u0633\u0647 \u0634\u0648`;
+ }
+ case "invalid_value":
+ if (issue2.values.length === 1) {
+ return `\u0646\u0627\u0633\u0645 \u0648\u0631\u0648\u062F\u064A: \u0628\u0627\u06CC\u062F ${stringifyPrimitive(issue2.values[0])} \u0648\u0627\u06CC`;
+ }
+ return `\u0646\u0627\u0633\u0645 \u0627\u0646\u062A\u062E\u0627\u0628: \u0628\u0627\u06CC\u062F \u06CC\u0648 \u0644\u0647 ${joinValues(issue2.values, "|")} \u0685\u062E\u0647 \u0648\u0627\u06CC`;
+ case "too_big": {
+ const adj = issue2.inclusive ? "<=" : "<";
+ const sizing = getSizing(issue2.origin);
+ if (sizing) {
+ return `\u0689\u06CC\u0631 \u0644\u0648\u06CC: ${issue2.origin ?? "\u0627\u0631\u0632\u069A\u062A"} \u0628\u0627\u06CC\u062F ${adj}${issue2.maximum.toString()} ${sizing.unit ?? "\u0639\u0646\u0635\u0631\u0648\u0646\u0647"} \u0648\u0644\u0631\u064A`;
+ }
+ return `\u0689\u06CC\u0631 \u0644\u0648\u06CC: ${issue2.origin ?? "\u0627\u0631\u0632\u069A\u062A"} \u0628\u0627\u06CC\u062F ${adj}${issue2.maximum.toString()} \u0648\u064A`;
+ }
+ case "too_small": {
+ const adj = issue2.inclusive ? ">=" : ">";
+ const sizing = getSizing(issue2.origin);
+ if (sizing) {
+ return `\u0689\u06CC\u0631 \u06A9\u0648\u0686\u0646\u06CC: ${issue2.origin} \u0628\u0627\u06CC\u062F ${adj}${issue2.minimum.toString()} ${sizing.unit} \u0648\u0644\u0631\u064A`;
+ }
+ return `\u0689\u06CC\u0631 \u06A9\u0648\u0686\u0646\u06CC: ${issue2.origin} \u0628\u0627\u06CC\u062F ${adj}${issue2.minimum.toString()} \u0648\u064A`;
+ }
+ case "invalid_format": {
+ const _issue = issue2;
+ if (_issue.format === "starts_with") {
+ return `\u0646\u0627\u0633\u0645 \u0645\u062A\u0646: \u0628\u0627\u06CC\u062F \u062F "${_issue.prefix}" \u0633\u0631\u0647 \u067E\u06CC\u0644 \u0634\u064A`;
+ }
+ if (_issue.format === "ends_with") {
+ return `\u0646\u0627\u0633\u0645 \u0645\u062A\u0646: \u0628\u0627\u06CC\u062F \u062F "${_issue.suffix}" \u0633\u0631\u0647 \u067E\u0627\u06CC \u062A\u0647 \u0648\u0631\u0633\u064A\u0696\u064A`;
+ }
+ if (_issue.format === "includes") {
+ return `\u0646\u0627\u0633\u0645 \u0645\u062A\u0646: \u0628\u0627\u06CC\u062F "${_issue.includes}" \u0648\u0644\u0631\u064A`;
+ }
+ if (_issue.format === "regex") {
+ return `\u0646\u0627\u0633\u0645 \u0645\u062A\u0646: \u0628\u0627\u06CC\u062F \u062F ${_issue.pattern} \u0633\u0631\u0647 \u0645\u0637\u0627\u0628\u0642\u062A \u0648\u0644\u0631\u064A`;
+ }
+ return `${FormatDictionary[_issue.format] ?? issue2.format} \u0646\u0627\u0633\u0645 \u062F\u06CC`;
+ }
+ case "not_multiple_of":
+ return `\u0646\u0627\u0633\u0645 \u0639\u062F\u062F: \u0628\u0627\u06CC\u062F \u062F ${issue2.divisor} \u0645\u0636\u0631\u0628 \u0648\u064A`;
+ case "unrecognized_keys":
+ return `\u0646\u0627\u0633\u0645 ${issue2.keys.length > 1 ? "\u06A9\u0644\u06CC\u0689\u0648\u0646\u0647" : "\u06A9\u0644\u06CC\u0689"}: ${joinValues(issue2.keys, ", ")}`;
+ case "invalid_key":
+ return `\u0646\u0627\u0633\u0645 \u06A9\u0644\u06CC\u0689 \u067E\u0647 ${issue2.origin} \u06A9\u06D0`;
+ case "invalid_union":
+ return `\u0646\u0627\u0633\u0645\u0647 \u0648\u0631\u0648\u062F\u064A`;
+ case "invalid_element":
+ return `\u0646\u0627\u0633\u0645 \u0639\u0646\u0635\u0631 \u067E\u0647 ${issue2.origin} \u06A9\u06D0`;
+ default:
+ return `\u0646\u0627\u0633\u0645\u0647 \u0648\u0631\u0648\u062F\u064A`;
+ }
+ };
+}, "error");
+function ps_default() {
+ return {
+ localeError: error41()
+ };
+}
+__name(ps_default, "default");
+
+// ../../node_modules/.pnpm/zod@4.6.7/node_modules/zod/v4/locales/pl.js
+var error42 = /* @__PURE__ */ __name(() => {
+ const Sizable = {
+ string: { unit: "znak\xF3w", verb: "mie\u0107" },
+ file: { unit: "bajt\xF3w", verb: "mie\u0107" },
+ array: { unit: "element\xF3w", verb: "mie\u0107" },
+ set: { unit: "element\xF3w", verb: "mie\u0107" },
+ map: { unit: "element\xF3w", verb: "mie\u0107" }
+ };
+ function getSizing(origin) {
+ return Sizable[origin] ?? null;
+ }
+ __name(getSizing, "getSizing");
+ const FormatDictionary = {
+ regex: "wyra\u017Cenie",
+ email: "adres email",
+ url: "URL",
+ emoji: "emoji",
+ uuid: "UUID",
+ uuidv4: "UUIDv4",
+ uuidv6: "UUIDv6",
+ nanoid: "nanoid",
+ guid: "GUID",
+ cuid: "cuid",
+ cuid2: "cuid2",
+ ulid: "ULID",
+ xid: "XID",
+ ksuid: "KSUID",
+ datetime: "data i godzina w formacie ISO",
+ date: "data w formacie ISO",
+ time: "godzina w formacie ISO",
+ duration: "czas trwania ISO",
+ ipv4: "adres IPv4",
+ ipv6: "adres IPv6",
+ mac: "adres MAC",
+ cidrv4: "zakres IPv4",
+ cidrv6: "zakres IPv6",
+ base64: "ci\u0105g znak\xF3w zakodowany w formacie base64",
+ base64url: "ci\u0105g znak\xF3w zakodowany w formacie base64url",
+ json_string: "ci\u0105g znak\xF3w w formacie JSON",
+ e164: "liczba E.164",
+ credit_card: "numer karty kredytowej",
+ currency_code: "kod waluty",
+ iban: "IBAN",
+ jwt: "JWT",
+ template_literal: "wej\u015Bcie"
+ };
+ const TypeDictionary = {
+ nan: "NaN",
+ number: "liczba",
+ array: "tablica"
+ };
+ return (issue2) => {
+ switch (issue2.code) {
+ case "invalid_type": {
+ const expected = TypeDictionary[issue2.expected] ?? issue2.expected;
+ const receivedType = parsedType(issue2.input);
+ const received = TypeDictionary[receivedType] ?? receivedType;
+ if (/^[A-Z]/.test(issue2.expected)) {
+ return `Nieprawid\u0142owe dane wej\u015Bciowe: oczekiwano instanceof ${issue2.expected}, otrzymano ${received}`;
+ }
+ return `Nieprawid\u0142owe dane wej\u015Bciowe: oczekiwano ${expected}, otrzymano ${received}`;
+ }
+ case "invalid_value":
+ if (issue2.values.length === 1)
+ return `Nieprawid\u0142owe dane wej\u015Bciowe: oczekiwano ${stringifyPrimitive(issue2.values[0])}`;
+ return `Nieprawid\u0142owa opcja: oczekiwano jednej z warto\u015Bci ${joinValues(issue2.values, "|")}`;
+ case "too_big": {
+ const adj = issue2.inclusive ? "<=" : "<";
+ const sizing = getSizing(issue2.origin);
+ if (sizing) {
+ return `Za du\u017Ca warto\u015B\u0107: oczekiwano, \u017Ce ${issue2.origin ?? "warto\u015B\u0107"} b\u0119dzie mie\u0107 ${adj}${issue2.maximum.toString()} ${sizing.unit ?? "element\xF3w"}`;
+ }
+ return `Zbyt du\u017C(y/a/e): oczekiwano, \u017Ce ${issue2.origin ?? "warto\u015B\u0107"} b\u0119dzie wynosi\u0107 ${adj}${issue2.maximum.toString()}`;
+ }
+ case "too_small": {
+ const adj = issue2.inclusive ? ">=" : ">";
+ const sizing = getSizing(issue2.origin);
+ if (sizing) {
+ return `Za ma\u0142a warto\u015B\u0107: oczekiwano, \u017Ce ${issue2.origin ?? "warto\u015B\u0107"} b\u0119dzie mie\u0107 ${adj}${issue2.minimum.toString()} ${sizing.unit ?? "element\xF3w"}`;
+ }
+ return `Zbyt ma\u0142(y/a/e): oczekiwano, \u017Ce ${issue2.origin ?? "warto\u015B\u0107"} b\u0119dzie wynosi\u0107 ${adj}${issue2.minimum.toString()}`;
+ }
+ case "invalid_format": {
+ const _issue = issue2;
+ if (_issue.format === "starts_with")
+ return `Nieprawid\u0142owy ci\u0105g znak\xF3w: musi zaczyna\u0107 si\u0119 od "${_issue.prefix}"`;
+ if (_issue.format === "ends_with")
+ return `Nieprawid\u0142owy ci\u0105g znak\xF3w: musi ko\u0144czy\u0107 si\u0119 na "${_issue.suffix}"`;
+ if (_issue.format === "includes")
+ return `Nieprawid\u0142owy ci\u0105g znak\xF3w: musi zawiera\u0107 "${_issue.includes}"`;
+ if (_issue.format === "regex")
+ return `Nieprawid\u0142owy ci\u0105g znak\xF3w: musi odpowiada\u0107 wzorcowi ${_issue.pattern}`;
+ return `Nieprawid\u0142ow(y/a/e) ${FormatDictionary[_issue.format] ?? issue2.format}`;
+ }
+ case "not_multiple_of":
+ return `Nieprawid\u0142owa liczba: musi by\u0107 wielokrotno\u015Bci\u0105 ${issue2.divisor}`;
+ case "unrecognized_keys":
+ return `Nierozpoznane klucze${issue2.keys.length > 1 ? "s" : ""}: ${joinValues(issue2.keys, ", ")}`;
+ case "invalid_key":
+ return `Nieprawid\u0142owy klucz w ${issue2.origin}`;
+ case "invalid_union":
+ return "Nieprawid\u0142owe dane wej\u015Bciowe";
+ case "invalid_element":
+ return `Nieprawid\u0142owa warto\u015B\u0107 w ${issue2.origin}`;
+ default:
+ return `Nieprawid\u0142owe dane wej\u015Bciowe`;
+ }
+ };
+}, "error");
+function pl_default() {
+ return {
+ localeError: error42()
+ };
+}
+__name(pl_default, "default");
+
+// ../../node_modules/.pnpm/zod@4.6.7/node_modules/zod/v4/locales/pt.js
+var error43 = /* @__PURE__ */ __name(() => {
+ const Sizable = {
+ string: { unit: "caracteres" },
+ file: { unit: "bytes" },
+ array: { unit: "elementos" },
+ set: { unit: "elementos" },
+ map: { unit: "entradas" }
+ };
+ function getSizing(origin) {
+ return Sizable[origin] ?? null;
+ }
+ __name(getSizing, "getSizing");
+ const FormatDictionary = {
+ regex: "a entrada",
+ email: "o endere\xE7o de e-mail",
+ url: "o URL",
+ emoji: "o emoji",
+ uuid: "o UUID",
+ uuidv4: "o UUIDv4",
+ uuidv6: "o UUIDv6",
+ nanoid: "o nanoid",
+ guid: "o GUID",
+ cuid: "o cuid",
+ cuid2: "o cuid2",
+ ulid: "o ULID",
+ xid: "o XID",
+ ksuid: "o KSUID",
+ datetime: "a data e hora ISO",
+ date: "a data ISO",
+ time: "a hora ISO",
+ duration: "a dura\xE7\xE3o ISO",
+ ipv4: "o endere\xE7o IPv4",
+ ipv6: "o endere\xE7o IPv6",
+ mac: "o endere\xE7o MAC",
+ cidrv4: "o intervalo de endere\xE7os IPv4",
+ cidrv6: "o intervalo de endere\xE7os IPv6",
+ base64: "o texto codificado em base64",
+ base64url: "o texto codificado em base64url",
+ json_string: "o texto JSON",
+ e164: "o n\xFAmero E.164",
+ credit_card: "o n\xFAmero de cart\xE3o de cr\xE9dito",
+ currency_code: "o c\xF3digo de moeda",
+ iban: "o IBAN",
+ jwt: "o JWT",
+ template_literal: "a entrada"
+ };
+ const Gender = {
+ masculine: { definite: "o", indefinite: "um" },
+ feminine: { definite: "a", indefinite: "uma" }
+ };
+ const TypeDictionary = {
+ string: { name: "texto", articles: Gender.masculine },
+ number: { name: "n\xFAmero", articles: Gender.masculine },
+ int: { name: "n\xFAmero inteiro", articles: Gender.masculine },
+ boolean: { name: "valor booleano", articles: Gender.masculine },
+ bigint: { name: "n\xFAmero bigint", articles: Gender.masculine },
+ symbol: { name: "s\xEDmbolo", articles: Gender.masculine },
+ undefined: { name: 'valor "undefined"', articles: Gender.masculine },
+ null: { name: 'valor "nulo"', articles: Gender.masculine },
+ never: { name: 'valor "never"', articles: Gender.masculine },
+ void: { name: 'valor "void"', articles: Gender.masculine },
+ date: { name: "data", articles: Gender.feminine },
+ array: { name: "vetor", articles: Gender.masculine },
+ object: { name: "objeto", articles: Gender.masculine },
+ tuple: { name: "tuplo", articles: Gender.masculine },
+ record: { name: "registo", articles: Gender.masculine },
+ map: { name: "mapa", articles: Gender.masculine },
+ set: { name: "conjunto", articles: Gender.masculine },
+ file: { name: "ficheiro", articles: Gender.masculine },
+ nonoptional: { name: "valor n\xE3o opcional", articles: Gender.masculine },
+ nan: { name: 'valor "NaN"', articles: Gender.masculine },
+ // Compatibility: "nan" -> "NaN" for display
+ function: { name: "fun\xE7\xE3o", articles: Gender.feminine }
+ };
+ function translateOriginWithArticle(type, articleType) {
+ const translatedValue = TypeDictionary[type] ?? { name: `valor "${type}"`, articles: Gender.masculine };
+ return `${translatedValue.articles[articleType]} ${translatedValue.name}`;
+ }
+ __name(translateOriginWithArticle, "translateOriginWithArticle");
+ return (issue2) => {
+ switch (issue2.code) {
+ case "invalid_type": {
+ const expected = translateOriginWithArticle(issue2.expected, "indefinite");
+ const receivedType = parsedType(issue2.input);
+ const received = translateOriginWithArticle(receivedType, "indefinite");
+ return `Entrada inv\xE1lida: esperava ${expected}, recebeu ${received}`;
+ }
+ case "invalid_value":
+ if (issue2.values.length === 1)
+ return `Entrada inv\xE1lida: esperava ${stringifyPrimitive(issue2.values[0])}`;
+ return `Op\xE7\xE3o inv\xE1lida: esperava uma das seguintes op\xE7\xF5es: ${joinValues(issue2.values, "|")}`;
+ case "too_big": {
+ const adj = issue2.inclusive ? "<=" : "<";
+ const sizing = getSizing(issue2.origin);
+ if (sizing)
+ return `Demasiado grande: esperava que ${translateOriginWithArticle(issue2.origin, "definite")} tivesse ${adj} ${issue2.maximum.toString()} ${sizing.unit ?? "elementos"}`;
+ return `Demasiado grande: esperava que ${translateOriginWithArticle(issue2.origin, "definite")} fosse ${adj} ${issue2.maximum.toString()}`;
+ }
+ case "too_small": {
+ const adj = issue2.inclusive ? ">=" : ">";
+ const sizing = getSizing(issue2.origin);
+ if (sizing) {
+ return `Demasiado pequeno: esperava que ${translateOriginWithArticle(issue2.origin, "definite")} tivesse ${adj} ${issue2.minimum.toString()} ${sizing.unit ?? "elementos"}`;
+ }
+ return `Demasiado pequeno: esperava que ${translateOriginWithArticle(issue2.origin, "definite")} fosse ${adj} ${issue2.minimum.toString()}`;
+ }
+ case "invalid_format": {
+ const _issue = issue2;
+ if (_issue.format === "starts_with")
+ return `Texto inv\xE1lido: deve come\xE7ar por "${_issue.prefix}"`;
+ if (_issue.format === "ends_with")
+ return `Texto inv\xE1lido: deve terminar em "${_issue.suffix}"`;
+ if (_issue.format === "includes")
+ return `Texto inv\xE1lido: deve incluir "${_issue.includes}"`;
+ if (_issue.format === "regex")
+ return `Texto inv\xE1lido: deve corresponder ao padr\xE3o ${_issue.pattern}`;
+ return `Formato d${FormatDictionary[_issue.format] ?? issue2.format} inv\xE1lido`;
+ }
+ case "not_multiple_of":
+ return `N\xFAmero inv\xE1lido: deve ser m\xFAltiplo de ${issue2.divisor}`;
+ case "unrecognized_keys": {
+ const plural2 = issue2.keys.length > 1 ? "s" : "";
+ return `Chave${plural2} inv\xE1lida${plural2}: ${joinValues(issue2.keys, ", ")}`;
+ }
+ case "invalid_key":
+ return `Entrada inv\xE1lida n${translateOriginWithArticle(issue2.origin, "definite")}`;
+ case "invalid_union":
+ if (issue2.options && Array.isArray(issue2.options) && issue2.options.length > 0) {
+ const opts = issue2.options.map((o3) => `'${o3}'`).join(" | ");
+ return `Valor de discrimina\xE7\xE3o inv\xE1lido. Esperava ${opts}`;
+ }
+ return "Entrada inv\xE1lida";
+ case "invalid_element":
+ return `Entrada inv\xE1lida n${translateOriginWithArticle(issue2.origin, "definite")}`;
+ default:
+ return `Entrada inv\xE1lida`;
+ }
+ };
+}, "error");
+function pt_default() {
+ return {
+ localeError: error43()
+ };
+}
+__name(pt_default, "default");
+
+// ../../node_modules/.pnpm/zod@4.6.7/node_modules/zod/v4/locales/pt-BR.js
+var error44 = /* @__PURE__ */ __name(() => {
+ const Sizable = {
+ string: { unit: "caracteres" },
+ file: { unit: "bytes" },
+ array: { unit: "elementos" },
+ set: { unit: "elementos" },
+ map: { unit: "entradas" }
+ };
+ function getSizing(origin) {
+ return Sizable[origin] ?? null;
+ }
+ __name(getSizing, "getSizing");
+ const FormatDictionary = {
+ regex: "a entrada",
+ email: "o endere\xE7o de e-mail",
+ url: "o URL",
+ emoji: "o emoji",
+ uuid: "o UUID",
+ uuidv4: "o UUIDv4",
+ uuidv6: "o UUIDv6",
+ nanoid: "o nanoid",
+ guid: "o GUID",
+ cuid: "o cuid",
+ cuid2: "o cuid2",
+ ulid: "o ULID",
+ xid: "o XID",
+ ksuid: "o KSUID",
+ datetime: "a data e hora ISO",
+ date: "a data ISO",
+ time: "a hora ISO",
+ duration: "a dura\xE7\xE3o ISO",
+ ipv4: "o endere\xE7o IPv4",
+ ipv6: "o endere\xE7o IPv6",
+ mac: "o endere\xE7o MAC",
+ cidrv4: "a faixa de endere\xE7os IPv4",
+ cidrv6: "a faixa de endere\xE7os IPv6",
+ base64: "o texto codificado em base64",
+ base64url: "o texto codificado em base64url",
+ json_string: "o texto JSON",
+ e164: "o n\xFAmero E.164",
+ credit_card: "o n\xFAmero de cart\xE3o de cr\xE9dito",
+ currency_code: "o c\xF3digo de moeda",
+ iban: "o IBAN",
+ jwt: "o JWT",
+ template_literal: "a entrada"
+ };
+ const Gender = {
+ masculine: { definite: "o", indefinite: "um" },
+ feminine: { definite: "a", indefinite: "uma" }
+ };
+ const TypeDictionary = {
+ string: { name: "texto", articles: Gender.masculine },
+ number: { name: "n\xFAmero", articles: Gender.masculine },
+ int: { name: "n\xFAmero inteiro", articles: Gender.masculine },
+ boolean: { name: "valor booleano", articles: Gender.masculine },
+ bigint: { name: "n\xFAmero bigint", articles: Gender.masculine },
+ symbol: { name: "s\xEDmbolo", articles: Gender.masculine },
+ undefined: { name: 'valor "undefined"', articles: Gender.masculine },
+ null: { name: 'valor "nulo"', articles: Gender.masculine },
+ never: { name: 'valor "never"', articles: Gender.masculine },
+ void: { name: 'valor "void"', articles: Gender.masculine },
+ date: { name: "data", articles: Gender.feminine },
+ array: { name: "vetor", articles: Gender.masculine },
+ object: { name: "objeto", articles: Gender.masculine },
+ tuple: { name: "tupla", articles: Gender.feminine },
+ record: { name: "registro", articles: Gender.masculine },
+ map: { name: "mapa", articles: Gender.masculine },
+ set: { name: "conjunto", articles: Gender.masculine },
+ file: { name: "arquivo", articles: Gender.masculine },
+ nonoptional: { name: "valor n\xE3o opcional", articles: Gender.masculine },
+ nan: { name: 'valor "NaN"', articles: Gender.masculine },
+ // Compatibility: "nan" -> "NaN" for display
+ function: { name: "fun\xE7\xE3o", articles: Gender.feminine }
+ };
+ function translateOriginWithArticle(type, articleType) {
+ const translatedValue = TypeDictionary[type] ?? { name: `valor "${type}"`, articles: Gender.masculine };
+ return `${translatedValue.articles[articleType]} ${translatedValue.name}`;
+ }
+ __name(translateOriginWithArticle, "translateOriginWithArticle");
+ return (issue2) => {
+ switch (issue2.code) {
+ case "invalid_type": {
+ const expected = translateOriginWithArticle(issue2.expected, "indefinite");
+ const receivedType = parsedType(issue2.input);
+ const received = translateOriginWithArticle(receivedType, "indefinite");
+ return `Entrada inv\xE1lida: esperava ${expected}, recebeu ${received}`;
+ }
+ case "invalid_value":
+ if (issue2.values.length === 1)
+ return `Entrada inv\xE1lida: esperava ${stringifyPrimitive(issue2.values[0])}`;
+ return `Op\xE7\xE3o inv\xE1lida: esperava uma das seguintes op\xE7\xF5es: ${joinValues(issue2.values, "|")}`;
+ case "too_big": {
+ const adj = issue2.inclusive ? "<=" : "<";
+ const sizing = getSizing(issue2.origin);
+ if (sizing)
+ return `Grande demais: esperava que ${translateOriginWithArticle(issue2.origin, "definite")} tivesse ${adj} ${issue2.maximum.toString()} ${sizing.unit ?? "elementos"}`;
+ return `Grande demais: esperava que ${translateOriginWithArticle(issue2.origin, "definite")} fosse ${adj} ${issue2.maximum.toString()}`;
+ }
+ case "too_small": {
+ const adj = issue2.inclusive ? ">=" : ">";
+ const sizing = getSizing(issue2.origin);
+ if (sizing) {
+ return `Pequeno demais: esperava que ${translateOriginWithArticle(issue2.origin, "definite")} tivesse ${adj} ${issue2.minimum.toString()} ${sizing.unit ?? "elementos"}`;
+ }
+ return `Pequeno demais: esperava que ${translateOriginWithArticle(issue2.origin, "definite")} fosse ${adj} ${issue2.minimum.toString()}`;
+ }
+ case "invalid_format": {
+ const _issue = issue2;
+ if (_issue.format === "starts_with") {
+ return `Texto inv\xE1lido: deve come\xE7ar com "${_issue.prefix}"`;
+ }
+ if (_issue.format === "ends_with")
+ return `Texto inv\xE1lido: deve terminar com "${_issue.suffix}"`;
+ if (_issue.format === "includes")
+ return `Texto inv\xE1lido: deve incluir "${_issue.includes}"`;
+ if (_issue.format === "regex")
+ return `Texto inv\xE1lido: deve corresponder ao padr\xE3o ${_issue.pattern}`;
+ return `Formato d${FormatDictionary[_issue.format] ?? issue2.format} inv\xE1lido`;
+ }
+ case "not_multiple_of":
+ return `N\xFAmero inv\xE1lido: deve ser m\xFAltiplo de ${issue2.divisor}`;
+ case "unrecognized_keys": {
+ const plural2 = issue2.keys.length > 1 ? "s" : "";
+ return `Chave${plural2} inv\xE1lida${plural2}: ${joinValues(issue2.keys, ", ")}`;
+ }
+ case "invalid_key":
+ return `Entrada inv\xE1lida n${translateOriginWithArticle(issue2.origin, "definite")}`;
+ case "invalid_union":
+ if (issue2.options && Array.isArray(issue2.options) && issue2.options.length > 0) {
+ const opts = issue2.options.map((o3) => `'${o3}'`).join(" | ");
+ return `Valor de discrimina\xE7\xE3o inv\xE1lido. Esperava ${opts}`;
+ }
+ return "Entrada inv\xE1lida";
+ case "invalid_element":
+ return `Entrada inv\xE1lida n${translateOriginWithArticle(issue2.origin, "definite")}`;
+ default:
+ return `Entrada inv\xE1lida`;
+ }
+ };
+}, "error");
+function pt_BR_default() {
+ return {
+ localeError: error44()
+ };
+}
+__name(pt_BR_default, "default");
+
+// ../../node_modules/.pnpm/zod@4.6.7/node_modules/zod/v4/locales/ro.js
+var error45 = /* @__PURE__ */ __name(() => {
+ const Sizable = {
+ string: { unit: "caractere", verb: "s\u0103 aib\u0103" },
+ file: { unit: "octe\u021Bi", verb: "s\u0103 aib\u0103" },
+ array: { unit: "elemente", verb: "s\u0103 aib\u0103" },
+ set: { unit: "elemente", verb: "s\u0103 aib\u0103" },
+ map: { unit: "intr\u0103ri", verb: "s\u0103 aib\u0103" }
+ };
+ function getSizing(origin) {
+ return Sizable[origin] ?? null;
+ }
+ __name(getSizing, "getSizing");
+ const FormatDictionary = {
+ regex: "intrare",
+ email: "adres\u0103 de email",
+ url: "URL",
+ emoji: "emoji",
+ uuid: "UUID",
+ uuidv4: "UUIDv4",
+ uuidv6: "UUIDv6",
+ nanoid: "nanoid",
+ guid: "GUID",
+ cuid: "cuid",
+ cuid2: "cuid2",
+ ulid: "ULID",
+ xid: "XID",
+ ksuid: "KSUID",
+ datetime: "dat\u0103 \u0219i or\u0103 ISO",
+ date: "dat\u0103 ISO",
+ time: "or\u0103 ISO",
+ duration: "durat\u0103 ISO",
+ ipv4: "adres\u0103 IPv4",
+ ipv6: "adres\u0103 IPv6",
+ mac: "adres\u0103 MAC",
+ cidrv4: "interval IPv4",
+ cidrv6: "interval IPv6",
+ base64: "\u0219ir codat base64",
+ base64url: "\u0219ir codat base64url",
+ json_string: "\u0219ir JSON",
+ e164: "num\u0103r E.164",
+ credit_card: "num\u0103r de card de credit",
+ currency_code: "cod valutar",
+ iban: "IBAN",
+ jwt: "JWT",
+ template_literal: "intrare"
+ };
+ const TypeDictionary = {
+ nan: "NaN",
+ string: "\u0219ir",
+ number: "num\u0103r",
+ boolean: "boolean",
+ function: "func\u021Bie",
+ array: "matrice",
+ object: "obiect",
+ undefined: "nedefinit",
+ symbol: "simbol",
+ bigint: "num\u0103r mare",
+ void: "void",
+ never: "never",
+ map: "hart\u0103",
+ set: "set"
+ };
+ return (issue2) => {
+ switch (issue2.code) {
+ case "invalid_type": {
+ const expected = TypeDictionary[issue2.expected] ?? issue2.expected;
+ const receivedType = parsedType(issue2.input);
+ const received = TypeDictionary[receivedType] ?? receivedType;
+ return `Intrare invalid\u0103: a\u0219teptat ${expected}, primit ${received}`;
+ }
+ case "invalid_value":
+ if (issue2.values.length === 1)
+ return `Intrare invalid\u0103: a\u0219teptat ${stringifyPrimitive(issue2.values[0])}`;
+ return `Op\u021Biune invalid\u0103: a\u0219teptat una dintre ${joinValues(issue2.values, "|")}`;
+ case "too_big": {
+ const adj = issue2.inclusive ? "<=" : "<";
+ const sizing = getSizing(issue2.origin);
+ if (sizing)
+ return `Prea mare: a\u0219teptat ca ${issue2.origin ?? "valoarea"} ${sizing.verb} ${adj}${issue2.maximum.toString()} ${sizing.unit ?? "elemente"}`;
+ return `Prea mare: a\u0219teptat ca ${issue2.origin ?? "valoarea"} s\u0103 fie ${adj}${issue2.maximum.toString()}`;
+ }
+ case "too_small": {
+ const adj = issue2.inclusive ? ">=" : ">";
+ const sizing = getSizing(issue2.origin);
+ if (sizing) {
+ return `Prea mic: a\u0219teptat ca ${issue2.origin} ${sizing.verb} ${adj}${issue2.minimum.toString()} ${sizing.unit}`;
+ }
+ return `Prea mic: a\u0219teptat ca ${issue2.origin} s\u0103 fie ${adj}${issue2.minimum.toString()}`;
+ }
+ case "invalid_format": {
+ const _issue = issue2;
+ if (_issue.format === "starts_with") {
+ return `\u0218ir invalid: trebuie s\u0103 \xEEnceap\u0103 cu "${_issue.prefix}"`;
+ }
+ if (_issue.format === "ends_with")
+ return `\u0218ir invalid: trebuie s\u0103 se termine cu "${_issue.suffix}"`;
+ if (_issue.format === "includes")
+ return `\u0218ir invalid: trebuie s\u0103 includ\u0103 "${_issue.includes}"`;
+ if (_issue.format === "regex")
+ return `\u0218ir invalid: trebuie s\u0103 se potriveasc\u0103 cu modelul ${_issue.pattern}`;
+ return `Format invalid: ${FormatDictionary[_issue.format] ?? issue2.format}`;
+ }
+ case "not_multiple_of":
+ return `Num\u0103r invalid: trebuie s\u0103 fie multiplu de ${issue2.divisor}`;
+ case "unrecognized_keys":
+ return `Chei nerecunoscute: ${joinValues(issue2.keys, ", ")}`;
+ case "invalid_key":
+ return `Cheie invalid\u0103 \xEEn ${issue2.origin}`;
+ case "invalid_union":
+ return "Intrare invalid\u0103";
+ case "invalid_element":
+ return `Valoare invalid\u0103 \xEEn ${issue2.origin}`;
+ default:
+ return `Intrare invalid\u0103`;
+ }
+ };
+}, "error");
+function ro_default() {
+ return {
+ localeError: error45()
+ };
+}
+__name(ro_default, "default");
+
+// ../../node_modules/.pnpm/zod@4.6.7/node_modules/zod/v4/locales/ru.js
+function getRussianPlural(count, one, few, many) {
+ const absCount = Math.abs(count);
+ const lastDigit = absCount % 10;
+ const lastTwoDigits = absCount % 100;
+ if (lastTwoDigits >= 11 && lastTwoDigits <= 19) {
+ return many;
+ }
+ if (lastDigit === 1) {
+ return one;
+ }
+ if (lastDigit >= 2 && lastDigit <= 4) {
+ return few;
+ }
+ return many;
+}
+__name(getRussianPlural, "getRussianPlural");
+var error46 = /* @__PURE__ */ __name(() => {
+ const Sizable = {
+ string: {
+ unit: {
+ one: "\u0441\u0438\u043C\u0432\u043E\u043B",
+ few: "\u0441\u0438\u043C\u0432\u043E\u043B\u0430",
+ many: "\u0441\u0438\u043C\u0432\u043E\u043B\u043E\u0432"
+ },
+ verb: "\u0438\u043C\u0435\u0442\u044C"
+ },
+ file: {
+ unit: {
+ one: "\u0431\u0430\u0439\u0442",
+ few: "\u0431\u0430\u0439\u0442\u0430",
+ many: "\u0431\u0430\u0439\u0442"
+ },
+ verb: "\u0438\u043C\u0435\u0442\u044C"
+ },
+ array: {
+ unit: {
+ one: "\u044D\u043B\u0435\u043C\u0435\u043D\u0442",
+ few: "\u044D\u043B\u0435\u043C\u0435\u043D\u0442\u0430",
+ many: "\u044D\u043B\u0435\u043C\u0435\u043D\u0442\u043E\u0432"
+ },
+ verb: "\u0438\u043C\u0435\u0442\u044C"
+ },
+ set: {
+ unit: {
+ one: "\u044D\u043B\u0435\u043C\u0435\u043D\u0442",
+ few: "\u044D\u043B\u0435\u043C\u0435\u043D\u0442\u0430",
+ many: "\u044D\u043B\u0435\u043C\u0435\u043D\u0442\u043E\u0432"
+ },
+ verb: "\u0438\u043C\u0435\u0442\u044C"
+ },
+ map: {
+ unit: {
+ one: "\u044D\u043B\u0435\u043C\u0435\u043D\u0442",
+ few: "\u044D\u043B\u0435\u043C\u0435\u043D\u0442\u0430",
+ many: "\u044D\u043B\u0435\u043C\u0435\u043D\u0442\u043E\u0432"
+ },
+ verb: "\u0438\u043C\u0435\u0442\u044C"
+ }
+ };
+ function getSizing(origin) {
+ return Sizable[origin] ?? null;
+ }
+ __name(getSizing, "getSizing");
+ const FormatDictionary = {
+ regex: "\u0432\u0432\u043E\u0434",
+ email: "email \u0430\u0434\u0440\u0435\u0441",
+ url: "URL",
+ emoji: "\u044D\u043C\u043E\u0434\u0437\u0438",
+ uuid: "UUID",
+ uuidv4: "UUIDv4",
+ uuidv6: "UUIDv6",
+ nanoid: "nanoid",
+ guid: "GUID",
+ cuid: "cuid",
+ cuid2: "cuid2",
+ ulid: "ULID",
+ xid: "XID",
+ ksuid: "KSUID",
+ datetime: "ISO \u0434\u0430\u0442\u0430 \u0438 \u0432\u0440\u0435\u043C\u044F",
+ date: "ISO \u0434\u0430\u0442\u0430",
+ time: "ISO \u0432\u0440\u0435\u043C\u044F",
+ duration: "ISO \u0434\u043B\u0438\u0442\u0435\u043B\u044C\u043D\u043E\u0441\u0442\u044C",
+ ipv4: "IPv4 \u0430\u0434\u0440\u0435\u0441",
+ ipv6: "IPv6 \u0430\u0434\u0440\u0435\u0441",
+ mac: "MAC \u0430\u0434\u0440\u0435\u0441",
+ cidrv4: "IPv4 \u0434\u0438\u0430\u043F\u0430\u0437\u043E\u043D",
+ cidrv6: "IPv6 \u0434\u0438\u0430\u043F\u0430\u0437\u043E\u043D",
+ base64: "\u0441\u0442\u0440\u043E\u043A\u0430 \u0432 \u0444\u043E\u0440\u043C\u0430\u0442\u0435 base64",
+ base64url: "\u0441\u0442\u0440\u043E\u043A\u0430 \u0432 \u0444\u043E\u0440\u043C\u0430\u0442\u0435 base64url",
+ json_string: "JSON \u0441\u0442\u0440\u043E\u043A\u0430",
+ e164: "\u043D\u043E\u043C\u0435\u0440 E.164",
+ credit_card: "\u043D\u043E\u043C\u0435\u0440 \u043A\u0440\u0435\u0434\u0438\u0442\u043D\u043E\u0439 \u043A\u0430\u0440\u0442\u044B",
+ currency_code: "\u043A\u043E\u0434 \u0432\u0430\u043B\u044E\u0442\u044B",
+ iban: "IBAN",
+ jwt: "JWT",
+ template_literal: "\u0432\u0432\u043E\u0434"
+ };
+ const TypeDictionary = {
+ nan: "NaN",
+ number: "\u0447\u0438\u0441\u043B\u043E",
+ array: "\u043C\u0430\u0441\u0441\u0438\u0432"
+ };
+ return (issue2) => {
+ switch (issue2.code) {
+ case "invalid_type": {
+ const expected = TypeDictionary[issue2.expected] ?? issue2.expected;
+ const receivedType = parsedType(issue2.input);
+ const received = TypeDictionary[receivedType] ?? receivedType;
+ if (/^[A-Z]/.test(issue2.expected)) {
+ return `\u041D\u0435\u0432\u0435\u0440\u043D\u044B\u0439 \u0432\u0432\u043E\u0434: \u043E\u0436\u0438\u0434\u0430\u043B\u043E\u0441\u044C instanceof ${issue2.expected}, \u043F\u043E\u043B\u0443\u0447\u0435\u043D\u043E ${received}`;
+ }
+ return `\u041D\u0435\u0432\u0435\u0440\u043D\u044B\u0439 \u0432\u0432\u043E\u0434: \u043E\u0436\u0438\u0434\u0430\u043B\u043E\u0441\u044C ${expected}, \u043F\u043E\u043B\u0443\u0447\u0435\u043D\u043E ${received}`;
+ }
+ case "invalid_value":
+ if (issue2.values.length === 1)
+ return `\u041D\u0435\u0432\u0435\u0440\u043D\u044B\u0439 \u0432\u0432\u043E\u0434: \u043E\u0436\u0438\u0434\u0430\u043B\u043E\u0441\u044C ${stringifyPrimitive(issue2.values[0])}`;
+ return `\u041D\u0435\u0432\u0435\u0440\u043D\u044B\u0439 \u0432\u0430\u0440\u0438\u0430\u043D\u0442: \u043E\u0436\u0438\u0434\u0430\u043B\u043E\u0441\u044C \u043E\u0434\u043D\u043E \u0438\u0437 ${joinValues(issue2.values, "|")}`;
+ case "too_big": {
+ const adj = issue2.inclusive ? "<=" : "<";
+ const sizing = getSizing(issue2.origin);
+ if (sizing) {
+ const maxValue = Number(issue2.maximum);
+ const unit = getRussianPlural(maxValue, sizing.unit.one, sizing.unit.few, sizing.unit.many);
+ return `\u0421\u043B\u0438\u0448\u043A\u043E\u043C \u0431\u043E\u043B\u044C\u0448\u043E\u0435 \u0437\u043D\u0430\u0447\u0435\u043D\u0438\u0435: \u043E\u0436\u0438\u0434\u0430\u043B\u043E\u0441\u044C, \u0447\u0442\u043E ${issue2.origin ?? "\u0437\u043D\u0430\u0447\u0435\u043D\u0438\u0435"} \u0431\u0443\u0434\u0435\u0442 \u0438\u043C\u0435\u0442\u044C ${adj}${issue2.maximum.toString()} ${unit}`;
+ }
+ return `\u0421\u043B\u0438\u0448\u043A\u043E\u043C \u0431\u043E\u043B\u044C\u0448\u043E\u0435 \u0437\u043D\u0430\u0447\u0435\u043D\u0438\u0435: \u043E\u0436\u0438\u0434\u0430\u043B\u043E\u0441\u044C, \u0447\u0442\u043E ${issue2.origin ?? "\u0437\u043D\u0430\u0447\u0435\u043D\u0438\u0435"} \u0431\u0443\u0434\u0435\u0442 ${adj}${issue2.maximum.toString()}`;
+ }
+ case "too_small": {
+ const adj = issue2.inclusive ? ">=" : ">";
+ const sizing = getSizing(issue2.origin);
+ if (sizing) {
+ const minValue = Number(issue2.minimum);
+ const unit = getRussianPlural(minValue, sizing.unit.one, sizing.unit.few, sizing.unit.many);
+ return `\u0421\u043B\u0438\u0448\u043A\u043E\u043C \u043C\u0430\u043B\u0435\u043D\u044C\u043A\u043E\u0435 \u0437\u043D\u0430\u0447\u0435\u043D\u0438\u0435: \u043E\u0436\u0438\u0434\u0430\u043B\u043E\u0441\u044C, \u0447\u0442\u043E ${issue2.origin} \u0431\u0443\u0434\u0435\u0442 \u0438\u043C\u0435\u0442\u044C ${adj}${issue2.minimum.toString()} ${unit}`;
+ }
+ return `\u0421\u043B\u0438\u0448\u043A\u043E\u043C \u043C\u0430\u043B\u0435\u043D\u044C\u043A\u043E\u0435 \u0437\u043D\u0430\u0447\u0435\u043D\u0438\u0435: \u043E\u0436\u0438\u0434\u0430\u043B\u043E\u0441\u044C, \u0447\u0442\u043E ${issue2.origin} \u0431\u0443\u0434\u0435\u0442 ${adj}${issue2.minimum.toString()}`;
+ }
+ case "invalid_format": {
+ const _issue = issue2;
+ if (_issue.format === "starts_with")
+ return `\u041D\u0435\u0432\u0435\u0440\u043D\u0430\u044F \u0441\u0442\u0440\u043E\u043A\u0430: \u0434\u043E\u043B\u0436\u043D\u0430 \u043D\u0430\u0447\u0438\u043D\u0430\u0442\u044C\u0441\u044F \u0441 "${_issue.prefix}"`;
+ if (_issue.format === "ends_with")
+ return `\u041D\u0435\u0432\u0435\u0440\u043D\u0430\u044F \u0441\u0442\u0440\u043E\u043A\u0430: \u0434\u043E\u043B\u0436\u043D\u0430 \u0437\u0430\u043A\u0430\u043D\u0447\u0438\u0432\u0430\u0442\u044C\u0441\u044F \u043D\u0430 "${_issue.suffix}"`;
+ if (_issue.format === "includes")
+ return `\u041D\u0435\u0432\u0435\u0440\u043D\u0430\u044F \u0441\u0442\u0440\u043E\u043A\u0430: \u0434\u043E\u043B\u0436\u043D\u0430 \u0441\u043E\u0434\u0435\u0440\u0436\u0430\u0442\u044C "${_issue.includes}"`;
+ if (_issue.format === "regex")
+ return `\u041D\u0435\u0432\u0435\u0440\u043D\u0430\u044F \u0441\u0442\u0440\u043E\u043A\u0430: \u0434\u043E\u043B\u0436\u043D\u0430 \u0441\u043E\u043E\u0442\u0432\u0435\u0442\u0441\u0442\u0432\u043E\u0432\u0430\u0442\u044C \u0448\u0430\u0431\u043B\u043E\u043D\u0443 ${_issue.pattern}`;
+ return `\u041D\u0435\u0432\u0435\u0440\u043D\u044B\u0439 ${FormatDictionary[_issue.format] ?? issue2.format}`;
+ }
+ case "not_multiple_of":
+ return `\u041D\u0435\u0432\u0435\u0440\u043D\u043E\u0435 \u0447\u0438\u0441\u043B\u043E: \u0434\u043E\u043B\u0436\u043D\u043E \u0431\u044B\u0442\u044C \u043A\u0440\u0430\u0442\u043D\u044B\u043C ${issue2.divisor}`;
+ case "unrecognized_keys":
+ return `\u041D\u0435\u0440\u0430\u0441\u043F\u043E\u0437\u043D\u0430\u043D\u043D${issue2.keys.length > 1 ? "\u044B\u0435" : "\u044B\u0439"} \u043A\u043B\u044E\u0447${issue2.keys.length > 1 ? "\u0438" : ""}: ${joinValues(issue2.keys, ", ")}`;
+ case "invalid_key":
+ return `\u041D\u0435\u0432\u0435\u0440\u043D\u044B\u0439 \u043A\u043B\u044E\u0447 \u0432 ${issue2.origin}`;
+ case "invalid_union":
+ return "\u041D\u0435\u0432\u0435\u0440\u043D\u044B\u0435 \u0432\u0445\u043E\u0434\u043D\u044B\u0435 \u0434\u0430\u043D\u043D\u044B\u0435";
+ case "invalid_element":
+ return `\u041D\u0435\u0432\u0435\u0440\u043D\u043E\u0435 \u0437\u043D\u0430\u0447\u0435\u043D\u0438\u0435 \u0432 ${issue2.origin}`;
+ default:
+ return `\u041D\u0435\u0432\u0435\u0440\u043D\u044B\u0435 \u0432\u0445\u043E\u0434\u043D\u044B\u0435 \u0434\u0430\u043D\u043D\u044B\u0435`;
+ }
+ };
+}, "error");
+function ru_default() {
+ return {
+ localeError: error46()
+ };
+}
+__name(ru_default, "default");
+
+// ../../node_modules/.pnpm/zod@4.6.7/node_modules/zod/v4/locales/sk.js
+var error47 = /* @__PURE__ */ __name(() => {
+ const Sizable = {
+ string: { unit: "znakov", verb: "ma\u0165" },
+ file: { unit: "bajtov", verb: "ma\u0165" },
+ array: { unit: "prvkov", verb: "ma\u0165" },
+ set: { unit: "prvkov", verb: "ma\u0165" },
+ map: { unit: "polo\u017Eiek", verb: "ma\u0165" }
+ };
+ function getSizing(origin) {
+ return Sizable[origin] ?? null;
+ }
+ __name(getSizing, "getSizing");
+ const FormatDictionary = {
+ regex: "regul\xE1rny v\xFDraz",
+ email: "e-mailov\xE1 adresa",
+ url: "URL",
+ emoji: "emoji",
+ uuid: "UUID",
+ uuidv4: "UUIDv4",
+ uuidv6: "UUIDv6",
+ nanoid: "nanoid",
+ guid: "GUID",
+ cuid: "cuid",
+ cuid2: "cuid2",
+ ulid: "ULID",
+ xid: "XID",
+ ksuid: "KSUID",
+ datetime: "d\xE1tum a \u010Das vo form\xE1te ISO",
+ date: "d\xE1tum vo form\xE1te ISO",
+ time: "\u010Das vo form\xE1te ISO",
+ duration: "doba trvania ISO",
+ ipv4: "IPv4 adresa",
+ ipv6: "IPv6 adresa",
+ mac: "MAC adresa",
+ cidrv4: "rozsah IPv4",
+ cidrv6: "rozsah IPv6",
+ base64: "re\u0165azec zak\xF3dovan\xFD vo form\xE1te base64",
+ base64url: "re\u0165azec zak\xF3dovan\xFD vo form\xE1te base64url",
+ json_string: "re\u0165azec vo form\xE1te JSON",
+ e164: "\u010D\xEDslo E.164",
+ credit_card: "\u010D\xEDslo kreditnej karty",
+ currency_code: "k\xF3d meny",
+ iban: "IBAN",
+ jwt: "JWT",
+ template_literal: "vstup"
+ };
+ const TypeDictionary = {
+ nan: "NaN",
+ number: "\u010D\xEDslo",
+ string: "re\u0165azec",
+ function: "funkcia",
+ array: "pole"
+ };
+ return (issue2) => {
+ switch (issue2.code) {
+ case "invalid_type": {
+ const expected = TypeDictionary[issue2.expected] ?? issue2.expected;
+ const receivedType = parsedType(issue2.input);
+ const received = TypeDictionary[receivedType] ?? receivedType;
+ if (/^[A-Z]/.test(issue2.expected)) {
+ return `Neplatn\xFD vstup: o\u010Dak\xE1van\xE9 instanceof ${issue2.expected}, obdr\u017Ean\xE9 ${received}`;
+ }
+ return `Neplatn\xFD vstup: o\u010Dak\xE1van\xE9 ${expected}, obdr\u017Ean\xE9 ${received}`;
+ }
+ case "invalid_value":
+ if (issue2.values.length === 1)
+ return `Neplatn\xFD vstup: o\u010Dak\xE1van\xE9 ${stringifyPrimitive(issue2.values[0])}`;
+ return `Neplatn\xFD vstup: o\u010Dak\xE1van\xE1 jedna z hodn\xF4t ${joinValues(issue2.values, "|")}`;
+ case "too_big": {
+ const adj = issue2.inclusive ? "<=" : "<";
+ const sizing = getSizing(issue2.origin);
+ if (sizing) {
+ return `Hodnota je pr\xEDli\u0161 ve\u013Ek\xE1: ${issue2.origin ?? "hodnota"} mus\xED ma\u0165 ${adj}${issue2.maximum.toString()} ${sizing.unit ?? "prvkov"}`;
+ }
+ return `Hodnota je pr\xEDli\u0161 ve\u013Ek\xE1: ${issue2.origin ?? "hodnota"} mus\xED by\u0165 ${adj}${issue2.maximum.toString()}`;
+ }
+ case "too_small": {
+ const adj = issue2.inclusive ? ">=" : ">";
+ const sizing = getSizing(issue2.origin);
+ if (sizing) {
+ return `Hodnota je pr\xEDli\u0161 mal\xE1: ${issue2.origin ?? "hodnota"} mus\xED ma\u0165 ${adj}${issue2.minimum.toString()} ${sizing.unit ?? "prvkov"}`;
+ }
+ return `Hodnota je pr\xEDli\u0161 mal\xE1: ${issue2.origin ?? "hodnota"} mus\xED by\u0165 ${adj}${issue2.minimum.toString()}`;
+ }
+ case "invalid_format": {
+ const _issue = issue2;
+ if (_issue.format === "starts_with")
+ return `Neplatn\xFD re\u0165azec: mus\xED za\u010D\xEDna\u0165 na "${_issue.prefix}"`;
+ if (_issue.format === "ends_with")
+ return `Neplatn\xFD re\u0165azec: mus\xED kon\u010Di\u0165 na "${_issue.suffix}"`;
+ if (_issue.format === "includes")
+ return `Neplatn\xFD re\u0165azec: mus\xED obsahova\u0165 "${_issue.includes}"`;
+ if (_issue.format === "regex")
+ return `Neplatn\xFD re\u0165azec: mus\xED zodpoveda\u0165 vzoru ${_issue.pattern}`;
+ return `Neplatn\xFD form\xE1t ${FormatDictionary[_issue.format] ?? issue2.format}`;
+ }
+ case "not_multiple_of":
+ return `Neplatn\xE9 \u010D\xEDslo: mus\xED by\u0165 n\xE1sobkom ${issue2.divisor}`;
+ case "unrecognized_keys":
+ return `Nezn\xE1me kl\xFA\u010De: ${joinValues(issue2.keys, ", ")}`;
+ case "invalid_key":
+ return `Neplatn\xFD kl\xFA\u010D v ${issue2.origin}`;
+ case "invalid_union":
+ return "Neplatn\xFD vstup";
+ case "invalid_element":
+ return `Neplatn\xE1 hodnota v ${issue2.origin}`;
+ default:
+ return `Neplatn\xFD vstup`;
+ }
+ };
+}, "error");
+function sk_default() {
+ return {
+ localeError: error47()
+ };
+}
+__name(sk_default, "default");
+
+// ../../node_modules/.pnpm/zod@4.6.7/node_modules/zod/v4/locales/sl.js
+var error48 = /* @__PURE__ */ __name(() => {
+ const Sizable = {
+ string: { unit: "znakov", verb: "imeti" },
+ file: { unit: "bajtov", verb: "imeti" },
+ array: { unit: "elementov", verb: "imeti" },
+ set: { unit: "elementov", verb: "imeti" },
+ map: { unit: "elementov", verb: "imeti" }
+ };
+ function getSizing(origin) {
+ return Sizable[origin] ?? null;
+ }
+ __name(getSizing, "getSizing");
+ const FormatDictionary = {
+ regex: "vnos",
+ email: "e-po\u0161tni naslov",
+ url: "URL",
+ emoji: "emoji",
+ uuid: "UUID",
+ uuidv4: "UUIDv4",
+ uuidv6: "UUIDv6",
+ nanoid: "nanoid",
+ guid: "GUID",
+ cuid: "cuid",
+ cuid2: "cuid2",
+ ulid: "ULID",
+ xid: "XID",
+ ksuid: "KSUID",
+ datetime: "ISO datum in \u010Das",
+ date: "ISO datum",
+ time: "ISO \u010Das",
+ duration: "ISO trajanje",
+ ipv4: "IPv4 naslov",
+ ipv6: "IPv6 naslov",
+ mac: "MAC naslov",
+ cidrv4: "obseg IPv4",
+ cidrv6: "obseg IPv6",
+ base64: "base64 kodiran niz",
+ base64url: "base64url kodiran niz",
+ json_string: "JSON niz",
+ e164: "E.164 \u0161tevilka",
+ credit_card: "\u0161tevilka kreditne kartice",
+ currency_code: "koda valute",
+ iban: "IBAN",
+ jwt: "JWT",
+ template_literal: "vnos"
+ };
+ const TypeDictionary = {
+ nan: "NaN",
+ number: "\u0161tevilo",
+ array: "tabela"
+ };
+ return (issue2) => {
+ switch (issue2.code) {
+ case "invalid_type": {
+ const expected = TypeDictionary[issue2.expected] ?? issue2.expected;
+ const receivedType = parsedType(issue2.input);
+ const received = TypeDictionary[receivedType] ?? receivedType;
+ if (/^[A-Z]/.test(issue2.expected)) {
+ return `Neveljaven vnos: pri\u010Dakovano instanceof ${issue2.expected}, prejeto ${received}`;
+ }
+ return `Neveljaven vnos: pri\u010Dakovano ${expected}, prejeto ${received}`;
+ }
+ case "invalid_value":
+ if (issue2.values.length === 1)
+ return `Neveljaven vnos: pri\u010Dakovano ${stringifyPrimitive(issue2.values[0])}`;
+ return `Neveljavna mo\u017Enost: pri\u010Dakovano eno izmed ${joinValues(issue2.values, "|")}`;
+ case "too_big": {
+ const adj = issue2.inclusive ? "<=" : "<";
+ const sizing = getSizing(issue2.origin);
+ if (sizing)
+ return `Preveliko: pri\u010Dakovano, da bo ${issue2.origin ?? "vrednost"} imelo ${adj}${issue2.maximum.toString()} ${sizing.unit ?? "elementov"}`;
+ return `Preveliko: pri\u010Dakovano, da bo ${issue2.origin ?? "vrednost"} ${adj}${issue2.maximum.toString()}`;
+ }
+ case "too_small": {
+ const adj = issue2.inclusive ? ">=" : ">";
+ const sizing = getSizing(issue2.origin);
+ if (sizing) {
+ return `Premajhno: pri\u010Dakovano, da bo ${issue2.origin} imelo ${adj}${issue2.minimum.toString()} ${sizing.unit}`;
+ }
+ return `Premajhno: pri\u010Dakovano, da bo ${issue2.origin} ${adj}${issue2.minimum.toString()}`;
+ }
+ case "invalid_format": {
+ const _issue = issue2;
+ if (_issue.format === "starts_with") {
+ return `Neveljaven niz: mora se za\u010Deti z "${_issue.prefix}"`;
+ }
+ if (_issue.format === "ends_with")
+ return `Neveljaven niz: mora se kon\u010Dati z "${_issue.suffix}"`;
+ if (_issue.format === "includes")
+ return `Neveljaven niz: mora vsebovati "${_issue.includes}"`;
+ if (_issue.format === "regex")
+ return `Neveljaven niz: mora ustrezati vzorcu ${_issue.pattern}`;
+ return `Neveljaven ${FormatDictionary[_issue.format] ?? issue2.format}`;
+ }
+ case "not_multiple_of":
+ return `Neveljavno \u0161tevilo: mora biti ve\u010Dkratnik ${issue2.divisor}`;
+ case "unrecognized_keys":
+ return `Neprepoznan${issue2.keys.length > 1 ? "i klju\u010Di" : " klju\u010D"}: ${joinValues(issue2.keys, ", ")}`;
+ case "invalid_key":
+ return `Neveljaven klju\u010D v ${issue2.origin}`;
+ case "invalid_union":
+ return "Neveljaven vnos";
+ case "invalid_element":
+ return `Neveljavna vrednost v ${issue2.origin}`;
+ default:
+ return "Neveljaven vnos";
+ }
+ };
+}, "error");
+function sl_default() {
+ return {
+ localeError: error48()
+ };
+}
+__name(sl_default, "default");
+
+// ../../node_modules/.pnpm/zod@4.6.7/node_modules/zod/v4/locales/sv.js
+var error49 = /* @__PURE__ */ __name(() => {
+ const Sizable = {
+ string: { unit: "tecken", verb: "att ha" },
+ file: { unit: "bytes", verb: "att ha" },
+ array: { unit: "objekt", verb: "att inneh\xE5lla" },
+ set: { unit: "objekt", verb: "att inneh\xE5lla" },
+ map: { unit: "objekt", verb: "att inneh\xE5lla" }
+ };
+ function getSizing(origin) {
+ return Sizable[origin] ?? null;
+ }
+ __name(getSizing, "getSizing");
+ const FormatDictionary = {
+ regex: "regulj\xE4rt uttryck",
+ email: "e-postadress",
+ url: "URL",
+ emoji: "emoji",
+ uuid: "UUID",
+ uuidv4: "UUIDv4",
+ uuidv6: "UUIDv6",
+ nanoid: "nanoid",
+ guid: "GUID",
+ cuid: "cuid",
+ cuid2: "cuid2",
+ ulid: "ULID",
+ xid: "XID",
+ ksuid: "KSUID",
+ datetime: "ISO-datum och tid",
+ date: "ISO-datum",
+ time: "ISO-tid",
+ duration: "ISO-varaktighet",
+ ipv4: "IPv4-adress",
+ ipv6: "IPv6-adress",
+ mac: "MAC-adress",
+ cidrv4: "IPv4-spektrum",
+ cidrv6: "IPv6-spektrum",
+ base64: "base64-kodad str\xE4ng",
+ base64url: "base64url-kodad str\xE4ng",
+ json_string: "JSON-str\xE4ng",
+ e164: "E.164-nummer",
+ credit_card: "kreditkortsnummer",
+ currency_code: "valutakod",
+ iban: "IBAN",
+ jwt: "JWT",
+ template_literal: "mall-literal"
+ };
+ const TypeDictionary = {
+ nan: "NaN",
+ number: "antal",
+ array: "lista"
+ };
+ return (issue2) => {
+ switch (issue2.code) {
+ case "invalid_type": {
+ const expected = TypeDictionary[issue2.expected] ?? issue2.expected;
+ const receivedType = parsedType(issue2.input);
+ const received = TypeDictionary[receivedType] ?? receivedType;
+ if (/^[A-Z]/.test(issue2.expected)) {
+ return `Ogiltig inmatning: f\xF6rv\xE4ntat instanceof ${issue2.expected}, fick ${received}`;
+ }
+ return `Ogiltig inmatning: f\xF6rv\xE4ntat ${expected}, fick ${received}`;
+ }
+ case "invalid_value":
+ if (issue2.values.length === 1)
+ return `Ogiltig inmatning: f\xF6rv\xE4ntat ${stringifyPrimitive(issue2.values[0])}`;
+ return `Ogiltigt val: f\xF6rv\xE4ntade en av ${joinValues(issue2.values, "|")}`;
+ case "too_big": {
+ const adj = issue2.inclusive ? "<=" : "<";
+ const sizing = getSizing(issue2.origin);
+ if (sizing) {
+ return `F\xF6r stor(t): f\xF6rv\xE4ntade ${issue2.origin ?? "v\xE4rdet"} att ha ${adj}${issue2.maximum.toString()} ${sizing.unit ?? "element"}`;
+ }
+ return `F\xF6r stor(t): f\xF6rv\xE4ntat ${issue2.origin ?? "v\xE4rdet"} att ha ${adj}${issue2.maximum.toString()}`;
+ }
+ case "too_small": {
+ const adj = issue2.inclusive ? ">=" : ">";
+ const sizing = getSizing(issue2.origin);
+ if (sizing) {
+ return `F\xF6r lite(t): f\xF6rv\xE4ntade ${issue2.origin ?? "v\xE4rdet"} att ha ${adj}${issue2.minimum.toString()} ${sizing.unit}`;
+ }
+ return `F\xF6r lite(t): f\xF6rv\xE4ntade ${issue2.origin ?? "v\xE4rdet"} att ha ${adj}${issue2.minimum.toString()}`;
+ }
+ case "invalid_format": {
+ const _issue = issue2;
+ if (_issue.format === "starts_with") {
+ return `Ogiltig str\xE4ng: m\xE5ste b\xF6rja med "${_issue.prefix}"`;
+ }
+ if (_issue.format === "ends_with")
+ return `Ogiltig str\xE4ng: m\xE5ste sluta med "${_issue.suffix}"`;
+ if (_issue.format === "includes")
+ return `Ogiltig str\xE4ng: m\xE5ste inneh\xE5lla "${_issue.includes}"`;
+ if (_issue.format === "regex")
+ return `Ogiltig str\xE4ng: m\xE5ste matcha m\xF6nstret "${_issue.pattern}"`;
+ return `Ogiltig(t) ${FormatDictionary[_issue.format] ?? issue2.format}`;
+ }
+ case "not_multiple_of":
+ return `Ogiltigt tal: m\xE5ste vara en multipel av ${issue2.divisor}`;
+ case "unrecognized_keys":
+ return `${issue2.keys.length > 1 ? "Ok\xE4nda nycklar" : "Ok\xE4nd nyckel"}: ${joinValues(issue2.keys, ", ")}`;
+ case "invalid_key":
+ return `Ogiltig nyckel i ${issue2.origin ?? "v\xE4rdet"}`;
+ case "invalid_union":
+ return "Ogiltig input";
+ case "invalid_element":
+ return `Ogiltigt v\xE4rde i ${issue2.origin ?? "v\xE4rdet"}`;
+ default:
+ return `Ogiltig input`;
+ }
+ };
+}, "error");
+function sv_default() {
+ return {
+ localeError: error49()
+ };
+}
+__name(sv_default, "default");
+
+// ../../node_modules/.pnpm/zod@4.6.7/node_modules/zod/v4/locales/ta.js
+var error50 = /* @__PURE__ */ __name(() => {
+ const Sizable = {
+ string: { unit: "\u0B8E\u0BB4\u0BC1\u0BA4\u0BCD\u0BA4\u0BC1\u0B95\u0BCD\u0B95\u0BB3\u0BCD", verb: "\u0B95\u0BCA\u0BA3\u0BCD\u0B9F\u0BBF\u0BB0\u0BC1\u0B95\u0BCD\u0B95 \u0BB5\u0BC7\u0BA3\u0BCD\u0B9F\u0BC1\u0BAE\u0BCD" },
+ file: { unit: "\u0BAA\u0BC8\u0B9F\u0BCD\u0B9F\u0BC1\u0B95\u0BB3\u0BCD", verb: "\u0B95\u0BCA\u0BA3\u0BCD\u0B9F\u0BBF\u0BB0\u0BC1\u0B95\u0BCD\u0B95 \u0BB5\u0BC7\u0BA3\u0BCD\u0B9F\u0BC1\u0BAE\u0BCD" },
+ array: { unit: "\u0B89\u0BB1\u0BC1\u0BAA\u0BCD\u0BAA\u0BC1\u0B95\u0BB3\u0BCD", verb: "\u0B95\u0BCA\u0BA3\u0BCD\u0B9F\u0BBF\u0BB0\u0BC1\u0B95\u0BCD\u0B95 \u0BB5\u0BC7\u0BA3\u0BCD\u0B9F\u0BC1\u0BAE\u0BCD" },
+ set: { unit: "\u0B89\u0BB1\u0BC1\u0BAA\u0BCD\u0BAA\u0BC1\u0B95\u0BB3\u0BCD", verb: "\u0B95\u0BCA\u0BA3\u0BCD\u0B9F\u0BBF\u0BB0\u0BC1\u0B95\u0BCD\u0B95 \u0BB5\u0BC7\u0BA3\u0BCD\u0B9F\u0BC1\u0BAE\u0BCD" },
+ map: { unit: "\u0B89\u0BB1\u0BC1\u0BAA\u0BCD\u0BAA\u0BC1\u0B95\u0BB3\u0BCD", verb: "\u0B95\u0BCA\u0BA3\u0BCD\u0B9F\u0BBF\u0BB0\u0BC1\u0B95\u0BCD\u0B95 \u0BB5\u0BC7\u0BA3\u0BCD\u0B9F\u0BC1\u0BAE\u0BCD" }
+ };
+ function getSizing(origin) {
+ return Sizable[origin] ?? null;
+ }
+ __name(getSizing, "getSizing");
+ const FormatDictionary = {
+ regex: "\u0B89\u0BB3\u0BCD\u0BB3\u0BC0\u0B9F\u0BC1",
+ email: "\u0BAE\u0BBF\u0BA9\u0BCD\u0BA9\u0B9E\u0BCD\u0B9A\u0BB2\u0BCD \u0BAE\u0BC1\u0B95\u0BB5\u0BB0\u0BBF",
+ url: "URL",
+ emoji: "emoji",
+ uuid: "UUID",
+ uuidv4: "UUIDv4",
+ uuidv6: "UUIDv6",
+ nanoid: "nanoid",
+ guid: "GUID",
+ cuid: "cuid",
+ cuid2: "cuid2",
+ ulid: "ULID",
+ xid: "XID",
+ ksuid: "KSUID",
+ datetime: "ISO \u0BA4\u0BC7\u0BA4\u0BBF \u0BA8\u0BC7\u0BB0\u0BAE\u0BCD",
+ date: "ISO \u0BA4\u0BC7\u0BA4\u0BBF",
+ time: "ISO \u0BA8\u0BC7\u0BB0\u0BAE\u0BCD",
+ duration: "ISO \u0B95\u0BBE\u0BB2 \u0B85\u0BB3\u0BB5\u0BC1",
+ ipv4: "IPv4 \u0BAE\u0BC1\u0B95\u0BB5\u0BB0\u0BBF",
+ ipv6: "IPv6 \u0BAE\u0BC1\u0B95\u0BB5\u0BB0\u0BBF",
+ mac: "MAC \u0BAE\u0BC1\u0B95\u0BB5\u0BB0\u0BBF",
+ cidrv4: "IPv4 \u0BB5\u0BB0\u0BAE\u0BCD\u0BAA\u0BC1",
+ cidrv6: "IPv6 \u0BB5\u0BB0\u0BAE\u0BCD\u0BAA\u0BC1",
+ base64: "base64-encoded \u0B9A\u0BB0\u0BAE\u0BCD",
+ base64url: "base64url-encoded \u0B9A\u0BB0\u0BAE\u0BCD",
+ json_string: "JSON \u0B9A\u0BB0\u0BAE\u0BCD",
+ e164: "E.164 \u0B8E\u0BA3\u0BCD",
+ credit_card: "\u0B95\u0B9F\u0BA9\u0BCD \u0B85\u0B9F\u0BCD\u0B9F\u0BC8 \u0B8E\u0BA3\u0BCD",
+ currency_code: "\u0BA8\u0BBE\u0BA3\u0BAF\u0B95\u0BCD \u0B95\u0BC1\u0BB1\u0BBF\u0BAF\u0BC0\u0B9F\u0BC1",
+ iban: "IBAN",
+ jwt: "JWT",
+ template_literal: "input"
+ };
+ const TypeDictionary = {
+ nan: "NaN",
+ number: "\u0B8E\u0BA3\u0BCD",
+ array: "\u0B85\u0BA3\u0BBF",
+ null: "\u0BB5\u0BC6\u0BB1\u0BC1\u0BAE\u0BC8"
+ };
+ return (issue2) => {
+ switch (issue2.code) {
+ case "invalid_type": {
+ const expected = TypeDictionary[issue2.expected] ?? issue2.expected;
+ const receivedType = parsedType(issue2.input);
+ const received = TypeDictionary[receivedType] ?? receivedType;
+ if (/^[A-Z]/.test(issue2.expected)) {
+ return `\u0BA4\u0BB5\u0BB1\u0BBE\u0BA9 \u0B89\u0BB3\u0BCD\u0BB3\u0BC0\u0B9F\u0BC1: \u0B8E\u0BA4\u0BBF\u0BB0\u0BCD\u0BAA\u0BBE\u0BB0\u0BCD\u0B95\u0BCD\u0B95\u0BAA\u0BCD\u0BAA\u0B9F\u0BCD\u0B9F\u0BA4\u0BC1 instanceof ${issue2.expected}, \u0BAA\u0BC6\u0BB1\u0BAA\u0BCD\u0BAA\u0B9F\u0BCD\u0B9F\u0BA4\u0BC1 ${received}`;
+ }
+ return `\u0BA4\u0BB5\u0BB1\u0BBE\u0BA9 \u0B89\u0BB3\u0BCD\u0BB3\u0BC0\u0B9F\u0BC1: \u0B8E\u0BA4\u0BBF\u0BB0\u0BCD\u0BAA\u0BBE\u0BB0\u0BCD\u0B95\u0BCD\u0B95\u0BAA\u0BCD\u0BAA\u0B9F\u0BCD\u0B9F\u0BA4\u0BC1 ${expected}, \u0BAA\u0BC6\u0BB1\u0BAA\u0BCD\u0BAA\u0B9F\u0BCD\u0B9F\u0BA4\u0BC1 ${received}`;
+ }
+ case "invalid_value":
+ if (issue2.values.length === 1)
+ return `\u0BA4\u0BB5\u0BB1\u0BBE\u0BA9 \u0B89\u0BB3\u0BCD\u0BB3\u0BC0\u0B9F\u0BC1: \u0B8E\u0BA4\u0BBF\u0BB0\u0BCD\u0BAA\u0BBE\u0BB0\u0BCD\u0B95\u0BCD\u0B95\u0BAA\u0BCD\u0BAA\u0B9F\u0BCD\u0B9F\u0BA4\u0BC1 ${stringifyPrimitive(issue2.values[0])}`;
+ return `\u0BA4\u0BB5\u0BB1\u0BBE\u0BA9 \u0BB5\u0BBF\u0BB0\u0BC1\u0BAA\u0BCD\u0BAA\u0BAE\u0BCD: \u0B8E\u0BA4\u0BBF\u0BB0\u0BCD\u0BAA\u0BBE\u0BB0\u0BCD\u0B95\u0BCD\u0B95\u0BAA\u0BCD\u0BAA\u0B9F\u0BCD\u0B9F\u0BA4\u0BC1 ${joinValues(issue2.values, "|")} \u0B87\u0BB2\u0BCD \u0B92\u0BA9\u0BCD\u0BB1\u0BC1`;
+ case "too_big": {
+ const adj = issue2.inclusive ? "<=" : "<";
+ const sizing = getSizing(issue2.origin);
+ if (sizing) {
+ return `\u0BAE\u0BBF\u0B95 \u0BAA\u0BC6\u0BB0\u0BBF\u0BAF\u0BA4\u0BC1: \u0B8E\u0BA4\u0BBF\u0BB0\u0BCD\u0BAA\u0BBE\u0BB0\u0BCD\u0B95\u0BCD\u0B95\u0BAA\u0BCD\u0BAA\u0B9F\u0BCD\u0B9F\u0BA4\u0BC1 ${issue2.origin ?? "\u0BAE\u0BA4\u0BBF\u0BAA\u0BCD\u0BAA\u0BC1"} ${adj}${issue2.maximum.toString()} ${sizing.unit ?? "\u0B89\u0BB1\u0BC1\u0BAA\u0BCD\u0BAA\u0BC1\u0B95\u0BB3\u0BCD"} \u0B86\u0B95 \u0B87\u0BB0\u0BC1\u0B95\u0BCD\u0B95 \u0BB5\u0BC7\u0BA3\u0BCD\u0B9F\u0BC1\u0BAE\u0BCD`;
+ }
+ return `\u0BAE\u0BBF\u0B95 \u0BAA\u0BC6\u0BB0\u0BBF\u0BAF\u0BA4\u0BC1: \u0B8E\u0BA4\u0BBF\u0BB0\u0BCD\u0BAA\u0BBE\u0BB0\u0BCD\u0B95\u0BCD\u0B95\u0BAA\u0BCD\u0BAA\u0B9F\u0BCD\u0B9F\u0BA4\u0BC1 ${issue2.origin ?? "\u0BAE\u0BA4\u0BBF\u0BAA\u0BCD\u0BAA\u0BC1"} ${adj}${issue2.maximum.toString()} \u0B86\u0B95 \u0B87\u0BB0\u0BC1\u0B95\u0BCD\u0B95 \u0BB5\u0BC7\u0BA3\u0BCD\u0B9F\u0BC1\u0BAE\u0BCD`;
+ }
+ case "too_small": {
+ const adj = issue2.inclusive ? ">=" : ">";
+ const sizing = getSizing(issue2.origin);
+ if (sizing) {
+ return `\u0BAE\u0BBF\u0B95\u0B9A\u0BCD \u0B9A\u0BBF\u0BB1\u0BBF\u0BAF\u0BA4\u0BC1: \u0B8E\u0BA4\u0BBF\u0BB0\u0BCD\u0BAA\u0BBE\u0BB0\u0BCD\u0B95\u0BCD\u0B95\u0BAA\u0BCD\u0BAA\u0B9F\u0BCD\u0B9F\u0BA4\u0BC1 ${issue2.origin} ${adj}${issue2.minimum.toString()} ${sizing.unit} \u0B86\u0B95 \u0B87\u0BB0\u0BC1\u0B95\u0BCD\u0B95 \u0BB5\u0BC7\u0BA3\u0BCD\u0B9F\u0BC1\u0BAE\u0BCD`;
+ }
+ return `\u0BAE\u0BBF\u0B95\u0B9A\u0BCD \u0B9A\u0BBF\u0BB1\u0BBF\u0BAF\u0BA4\u0BC1: \u0B8E\u0BA4\u0BBF\u0BB0\u0BCD\u0BAA\u0BBE\u0BB0\u0BCD\u0B95\u0BCD\u0B95\u0BAA\u0BCD\u0BAA\u0B9F\u0BCD\u0B9F\u0BA4\u0BC1 ${issue2.origin} ${adj}${issue2.minimum.toString()} \u0B86\u0B95 \u0B87\u0BB0\u0BC1\u0B95\u0BCD\u0B95 \u0BB5\u0BC7\u0BA3\u0BCD\u0B9F\u0BC1\u0BAE\u0BCD`;
+ }
+ case "invalid_format": {
+ const _issue = issue2;
+ if (_issue.format === "starts_with")
+ return `\u0BA4\u0BB5\u0BB1\u0BBE\u0BA9 \u0B9A\u0BB0\u0BAE\u0BCD: "${_issue.prefix}" \u0B87\u0BB2\u0BCD \u0BA4\u0BCA\u0B9F\u0B99\u0BCD\u0B95 \u0BB5\u0BC7\u0BA3\u0BCD\u0B9F\u0BC1\u0BAE\u0BCD`;
+ if (_issue.format === "ends_with")
+ return `\u0BA4\u0BB5\u0BB1\u0BBE\u0BA9 \u0B9A\u0BB0\u0BAE\u0BCD: "${_issue.suffix}" \u0B87\u0BB2\u0BCD \u0BAE\u0BC1\u0B9F\u0BBF\u0BB5\u0B9F\u0BC8\u0BAF \u0BB5\u0BC7\u0BA3\u0BCD\u0B9F\u0BC1\u0BAE\u0BCD`;
+ if (_issue.format === "includes")
+ return `\u0BA4\u0BB5\u0BB1\u0BBE\u0BA9 \u0B9A\u0BB0\u0BAE\u0BCD: "${_issue.includes}" \u0B90 \u0B89\u0BB3\u0BCD\u0BB3\u0B9F\u0B95\u0BCD\u0B95 \u0BB5\u0BC7\u0BA3\u0BCD\u0B9F\u0BC1\u0BAE\u0BCD`;
+ if (_issue.format === "regex")
+ return `\u0BA4\u0BB5\u0BB1\u0BBE\u0BA9 \u0B9A\u0BB0\u0BAE\u0BCD: ${_issue.pattern} \u0BAE\u0BC1\u0BB1\u0BC8\u0BAA\u0BBE\u0B9F\u0BCD\u0B9F\u0BC1\u0B9F\u0BA9\u0BCD \u0BAA\u0BCA\u0BB0\u0BC1\u0BA8\u0BCD\u0BA4 \u0BB5\u0BC7\u0BA3\u0BCD\u0B9F\u0BC1\u0BAE\u0BCD`;
+ return `\u0BA4\u0BB5\u0BB1\u0BBE\u0BA9 ${FormatDictionary[_issue.format] ?? issue2.format}`;
+ }
+ case "not_multiple_of":
+ return `\u0BA4\u0BB5\u0BB1\u0BBE\u0BA9 \u0B8E\u0BA3\u0BCD: ${issue2.divisor} \u0B87\u0BA9\u0BCD \u0BAA\u0BB2\u0BAE\u0BBE\u0B95 \u0B87\u0BB0\u0BC1\u0B95\u0BCD\u0B95 \u0BB5\u0BC7\u0BA3\u0BCD\u0B9F\u0BC1\u0BAE\u0BCD`;
+ case "unrecognized_keys":
+ return `\u0B85\u0B9F\u0BC8\u0BAF\u0BBE\u0BB3\u0BAE\u0BCD \u0BA4\u0BC6\u0BB0\u0BBF\u0BAF\u0BBE\u0BA4 \u0BB5\u0BBF\u0B9A\u0BC8${issue2.keys.length > 1 ? "\u0B95\u0BB3\u0BCD" : ""}: ${joinValues(issue2.keys, ", ")}`;
+ case "invalid_key":
+ return `${issue2.origin} \u0B87\u0BB2\u0BCD \u0BA4\u0BB5\u0BB1\u0BBE\u0BA9 \u0BB5\u0BBF\u0B9A\u0BC8`;
+ case "invalid_union":
+ return "\u0BA4\u0BB5\u0BB1\u0BBE\u0BA9 \u0B89\u0BB3\u0BCD\u0BB3\u0BC0\u0B9F\u0BC1";
+ case "invalid_element":
+ return `${issue2.origin} \u0B87\u0BB2\u0BCD \u0BA4\u0BB5\u0BB1\u0BBE\u0BA9 \u0BAE\u0BA4\u0BBF\u0BAA\u0BCD\u0BAA\u0BC1`;
+ default:
+ return `\u0BA4\u0BB5\u0BB1\u0BBE\u0BA9 \u0B89\u0BB3\u0BCD\u0BB3\u0BC0\u0B9F\u0BC1`;
+ }
+ };
+}, "error");
+function ta_default() {
+ return {
+ localeError: error50()
+ };
+}
+__name(ta_default, "default");
+
+// ../../node_modules/.pnpm/zod@4.6.7/node_modules/zod/v4/locales/tg.js
+var error51 = /* @__PURE__ */ __name(() => {
+ const Sizable = {
+ string: { unit: "\u0430\u043B\u043E\u043C\u0430\u0442", verb: "\u0434\u043E\u0448\u0442\u0430 \u0431\u043E\u0448\u0430\u0434" },
+ file: { unit: "\u0431\u0430\u0439\u0442", verb: "\u0434\u043E\u0448\u0442\u0430 \u0431\u043E\u0448\u0430\u0434" },
+ array: { unit: "\u0443\u043D\u0441\u0443\u0440", verb: "\u0434\u043E\u0448\u0442\u0430 \u0431\u043E\u0448\u0430\u0434" },
+ set: { unit: "\u0443\u043D\u0441\u0443\u0440", verb: "\u0434\u043E\u0448\u0442\u0430 \u0431\u043E\u0448\u0430\u0434" },
+ map: { unit: "\u0441\u0430\u0431\u0442", verb: "\u0434\u043E\u0448\u0442\u0430 \u0431\u043E\u0448\u0430\u0434" }
+ };
+ function getSizing(origin) {
+ return Sizable[origin] ?? null;
+ }
+ __name(getSizing, "getSizing");
+ const FormatDictionary = {
+ regex: "\u0432\u0443\u0440\u0443\u0434",
+ email: "\u0441\u0443\u0440\u043E\u0493\u0430\u0438 email",
+ url: "URL",
+ emoji: "\u044D\u043C\u043E\u04B7\u0438",
+ uuid: "UUID",
+ uuidv4: "UUIDv4",
+ uuidv6: "UUIDv6",
+ nanoid: "nanoid",
+ guid: "GUID",
+ cuid: "cuid",
+ cuid2: "cuid2",
+ ulid: "ULID",
+ xid: "XID",
+ ksuid: "KSUID",
+ datetime: "\u0441\u0430\u043D\u0430\u0432\u0443 \u0432\u0430\u049B\u0442\u0438 ISO",
+ date: "\u0441\u0430\u043D\u0430\u0438 ISO",
+ time: "\u0432\u0430\u049B\u0442\u0438 ISO",
+ duration: "\u0434\u0430\u0432\u043E\u043C\u043D\u043E\u043A\u0438\u0438 ISO",
+ ipv4: "\u0441\u0443\u0440\u043E\u0493\u0430\u0438 IPv4",
+ ipv6: "\u0441\u0443\u0440\u043E\u0493\u0430\u0438 IPv6",
+ mac: "\u0441\u0443\u0440\u043E\u0493\u0430\u0438 MAC",
+ cidrv4: "\u043C\u0430\u04B3\u0434\u0443\u0434\u0430\u0438 IPv4",
+ cidrv6: "\u043C\u0430\u04B3\u0434\u0443\u0434\u0430\u0438 IPv6",
+ base64: "\u0441\u0430\u0442\u0440\u0438 \u0434\u0430\u0440 \u0444\u043E\u0440\u043C\u0430\u0442\u0438 base64",
+ base64url: "\u0441\u0430\u0442\u0440\u0438 \u0434\u0430\u0440 \u0444\u043E\u0440\u043C\u0430\u0442\u0438 base64url",
+ json_string: "\u0441\u0430\u0442\u0440\u0438 JSON",
+ e164: "\u0440\u0430\u049B\u0430\u043C\u0438 E.164",
+ credit_card: "\u0440\u0430\u049B\u0430\u043C\u0438 \u043A\u043E\u0440\u0442\u0438 \u043A\u0440\u0435\u0434\u0438\u0442\u04E3",
+ currency_code: "\u0440\u0430\u043C\u0437\u0438 \u0430\u0441\u044A\u043E\u0440",
+ iban: "IBAN",
+ jwt: "JWT",
+ template_literal: "\u0432\u0443\u0440\u0443\u0434"
+ };
+ const TypeDictionary = {
+ nan: "NaN",
+ number: "\u0440\u0430\u049B\u0430\u043C",
+ string: "\u0441\u0430\u0442\u0440",
+ array: "\u043C\u0430\u0441\u0441\u0438\u0432",
+ object: "\u043E\u0431\u044A\u0435\u043A\u0442",
+ date: "\u0441\u0430\u043D\u0430"
+ };
+ return (issue2) => {
+ switch (issue2.code) {
+ case "invalid_type": {
+ const expected = TypeDictionary[issue2.expected] ?? issue2.expected;
+ const receivedType = parsedType(issue2.input);
+ const received = TypeDictionary[receivedType] ?? receivedType;
+ return `\u0412\u0443\u0440\u0443\u0434\u0438 \u043D\u043E\u0434\u0443\u0440\u0443\u0441\u0442: ${expected} \u0438\u043D\u0442\u0438\u0437\u043E\u0440 \u043C\u0435\u0440\u0430\u0444\u0442, ${received} \u0433\u0438\u0440\u0438\u0444\u0442\u0430 \u0448\u0443\u0434`;
+ }
+ case "invalid_value":
+ if (issue2.values.length === 1)
+ return `\u0412\u0443\u0440\u0443\u0434\u0438 \u043D\u043E\u0434\u0443\u0440\u0443\u0441\u0442: ${stringifyPrimitive(issue2.values[0])} \u0438\u043D\u0442\u0438\u0437\u043E\u0440 \u043C\u0435\u0440\u0430\u0444\u0442`;
+ return `\u0418\u043D\u0442\u0438\u0445\u043E\u0431\u0438 \u043D\u043E\u0434\u0443\u0440\u0443\u0441\u0442: \u044F\u043A\u0435 \u0430\u0437 ${joinValues(issue2.values, "|")} \u0438\u043D\u0442\u0438\u0437\u043E\u0440 \u043C\u0435\u0440\u0430\u0444\u0442`;
+ case "too_big": {
+ const adj = issue2.inclusive ? "<=" : "<";
+ const sizing = getSizing(issue2.origin);
+ if (sizing)
+ return `\u0425\u0435\u043B\u0435 \u043A\u0430\u043B\u043E\u043D: ${issue2.origin ?? "\u049B\u0438\u043C\u0430\u0442"} \u0431\u043E\u044F\u0434 ${adj}${issue2.maximum.toString()} ${sizing.unit} ${sizing.verb}`;
+ return `\u0425\u0435\u043B\u0435 \u043A\u0430\u043B\u043E\u043D: ${issue2.origin ?? "\u049B\u0438\u043C\u0430\u0442"} \u0431\u043E\u044F\u0434 ${adj}${issue2.maximum.toString()} \u0431\u043E\u0448\u0430\u0434`;
+ }
+ case "too_small": {
+ const adj = issue2.inclusive ? ">=" : ">";
+ const sizing = getSizing(issue2.origin);
+ if (sizing)
+ return `\u0425\u0435\u043B\u0435 \u0445\u0443\u0440\u0434: ${issue2.origin} \u0431\u043E\u044F\u0434 ${adj}${issue2.minimum.toString()} ${sizing.unit} ${sizing.verb}`;
+ return `\u0425\u0435\u043B\u0435 \u0445\u0443\u0440\u0434: ${issue2.origin} \u0431\u043E\u044F\u0434 ${adj}${issue2.minimum.toString()} \u0431\u043E\u0448\u0430\u0434`;
+ }
+ case "invalid_format": {
+ const _issue = issue2;
+ if (_issue.format === "starts_with")
+ return `\u0421\u0430\u0442\u0440\u0438 \u043D\u043E\u0434\u0443\u0440\u0443\u0441\u0442: \u0431\u043E\u044F\u0434 \u0431\u043E "${_issue.prefix}" \u043E\u0493\u043E\u0437 \u0448\u0430\u0432\u0430\u0434`;
+ if (_issue.format === "ends_with")
+ return `\u0421\u0430\u0442\u0440\u0438 \u043D\u043E\u0434\u0443\u0440\u0443\u0441\u0442: \u0431\u043E\u044F\u0434 \u0431\u043E "${_issue.suffix}" \u0430\u043D\u04B7\u043E\u043C \u0451\u0431\u0430\u0434`;
+ if (_issue.format === "includes")
+ return `\u0421\u0430\u0442\u0440\u0438 \u043D\u043E\u0434\u0443\u0440\u0443\u0441\u0442: \u0431\u043E\u044F\u0434 "${_issue.includes}"-\u0440\u043E \u0434\u0430\u0440 \u0431\u0430\u0440 \u0433\u0438\u0440\u0430\u0434`;
+ if (_issue.format === "regex")
+ return `\u0421\u0430\u0442\u0440\u0438 \u043D\u043E\u0434\u0443\u0440\u0443\u0441\u0442: \u0431\u043E\u044F\u0434 \u0431\u0430 \u043D\u0430\u043C\u0443\u043D\u0430\u0438 ${_issue.pattern} \u043C\u0443\u0432\u043E\u0444\u0438\u049B\u0430\u0442 \u043A\u0443\u043D\u0430\u0434`;
+ return `${FormatDictionary[_issue.format] ?? issue2.format}-\u0438 \u043D\u043E\u0434\u0443\u0440\u0443\u0441\u0442`;
+ }
+ case "not_multiple_of":
+ return `\u0420\u0430\u049B\u0430\u043C\u0438 \u043D\u043E\u0434\u0443\u0440\u0443\u0441\u0442: \u0431\u043E\u044F\u0434 \u0431\u0430 ${issue2.divisor} \u0431\u0435 \u0431\u0430\u049B\u0438\u044F \u0442\u0430\u049B\u0441\u0438\u043C \u0448\u0430\u0432\u0430\u0434`;
+ case "unrecognized_keys":
+ return `\u041A\u0430\u043B\u0438\u0434${issue2.keys.length > 1 ? "\u04B3\u043E\u0438" : "\u0438"} \u043D\u043E\u043C\u0430\u044A\u043B\u0443\u043C: ${joinValues(issue2.keys, ", ")}`;
+ case "invalid_key":
+ return `\u041A\u0430\u043B\u0438\u0434\u0438 \u043D\u043E\u0434\u0443\u0440\u0443\u0441\u0442 \u0434\u0430\u0440 ${issue2.origin}`;
+ case "invalid_union":
+ if (issue2.options && Array.isArray(issue2.options) && issue2.options.length > 0) {
+ const opts = issue2.options.map((o3) => `'${o3}'`).join(" | ");
+ return `\u049A\u0438\u043C\u0430\u0442\u0438 \u043D\u043E\u0434\u0443\u0440\u0443\u0441\u0442\u0438 \u0434\u0438\u0441\u043A\u0440\u0438\u043C\u0438\u043D\u0430\u0442\u043E\u0440: ${opts} \u0438\u043D\u0442\u0438\u0437\u043E\u0440 \u043C\u0435\u0440\u0430\u0444\u0442`;
+ }
+ return "\u0412\u0443\u0440\u0443\u0434\u0438 \u043D\u043E\u0434\u0443\u0440\u0443\u0441\u0442";
+ case "invalid_element":
+ return `\u049A\u0438\u043C\u0430\u0442\u0438 \u043D\u043E\u0434\u0443\u0440\u0443\u0441\u0442 \u0434\u0430\u0440 ${issue2.origin}`;
+ default:
+ return `\u0412\u0443\u0440\u0443\u0434\u0438 \u043D\u043E\u0434\u0443\u0440\u0443\u0441\u0442`;
+ }
+ };
+}, "error");
+function tg_default() {
+ return {
+ localeError: error51()
+ };
+}
+__name(tg_default, "default");
+
+// ../../node_modules/.pnpm/zod@4.6.7/node_modules/zod/v4/locales/th.js
+var error52 = /* @__PURE__ */ __name(() => {
+ const Sizable = {
+ string: { unit: "\u0E15\u0E31\u0E27\u0E2D\u0E31\u0E01\u0E29\u0E23", verb: "\u0E04\u0E27\u0E23\u0E21\u0E35" },
+ file: { unit: "\u0E44\u0E1A\u0E15\u0E4C", verb: "\u0E04\u0E27\u0E23\u0E21\u0E35" },
+ array: { unit: "\u0E23\u0E32\u0E22\u0E01\u0E32\u0E23", verb: "\u0E04\u0E27\u0E23\u0E21\u0E35" },
+ set: { unit: "\u0E23\u0E32\u0E22\u0E01\u0E32\u0E23", verb: "\u0E04\u0E27\u0E23\u0E21\u0E35" },
+ map: { unit: "\u0E23\u0E32\u0E22\u0E01\u0E32\u0E23", verb: "\u0E04\u0E27\u0E23\u0E21\u0E35" }
+ };
+ function getSizing(origin) {
+ return Sizable[origin] ?? null;
+ }
+ __name(getSizing, "getSizing");
+ const FormatDictionary = {
+ regex: "\u0E02\u0E49\u0E2D\u0E21\u0E39\u0E25\u0E17\u0E35\u0E48\u0E1B\u0E49\u0E2D\u0E19",
+ email: "\u0E17\u0E35\u0E48\u0E2D\u0E22\u0E39\u0E48\u0E2D\u0E35\u0E40\u0E21\u0E25",
+ url: "URL",
+ emoji: "\u0E2D\u0E34\u0E42\u0E21\u0E08\u0E34",
+ uuid: "UUID",
+ uuidv4: "UUIDv4",
+ uuidv6: "UUIDv6",
+ nanoid: "nanoid",
+ guid: "GUID",
+ cuid: "cuid",
+ cuid2: "cuid2",
+ ulid: "ULID",
+ xid: "XID",
+ ksuid: "KSUID",
+ datetime: "\u0E27\u0E31\u0E19\u0E17\u0E35\u0E48\u0E40\u0E27\u0E25\u0E32\u0E41\u0E1A\u0E1A ISO",
+ date: "\u0E27\u0E31\u0E19\u0E17\u0E35\u0E48\u0E41\u0E1A\u0E1A ISO",
+ time: "\u0E40\u0E27\u0E25\u0E32\u0E41\u0E1A\u0E1A ISO",
+ duration: "\u0E0A\u0E48\u0E27\u0E07\u0E40\u0E27\u0E25\u0E32\u0E41\u0E1A\u0E1A ISO",
+ ipv4: "\u0E17\u0E35\u0E48\u0E2D\u0E22\u0E39\u0E48 IPv4",
+ ipv6: "\u0E17\u0E35\u0E48\u0E2D\u0E22\u0E39\u0E48 IPv6",
+ mac: "\u0E17\u0E35\u0E48\u0E2D\u0E22\u0E39\u0E48 MAC",
+ cidrv4: "\u0E0A\u0E48\u0E27\u0E07 IP \u0E41\u0E1A\u0E1A IPv4",
+ cidrv6: "\u0E0A\u0E48\u0E27\u0E07 IP \u0E41\u0E1A\u0E1A IPv6",
+ base64: "\u0E02\u0E49\u0E2D\u0E04\u0E27\u0E32\u0E21\u0E41\u0E1A\u0E1A Base64",
+ base64url: "\u0E02\u0E49\u0E2D\u0E04\u0E27\u0E32\u0E21\u0E41\u0E1A\u0E1A Base64 \u0E2A\u0E33\u0E2B\u0E23\u0E31\u0E1A URL",
+ json_string: "\u0E02\u0E49\u0E2D\u0E04\u0E27\u0E32\u0E21\u0E41\u0E1A\u0E1A JSON",
+ e164: "\u0E40\u0E1A\u0E2D\u0E23\u0E4C\u0E42\u0E17\u0E23\u0E28\u0E31\u0E1E\u0E17\u0E4C\u0E23\u0E30\u0E2B\u0E27\u0E48\u0E32\u0E07\u0E1B\u0E23\u0E30\u0E40\u0E17\u0E28 (E.164)",
+ credit_card: "\u0E2B\u0E21\u0E32\u0E22\u0E40\u0E25\u0E02\u0E1A\u0E31\u0E15\u0E23\u0E40\u0E04\u0E23\u0E14\u0E34\u0E15",
+ currency_code: "\u0E23\u0E2B\u0E31\u0E2A\u0E2A\u0E01\u0E38\u0E25\u0E40\u0E07\u0E34\u0E19",
+ iban: "IBAN",
+ jwt: "\u0E42\u0E17\u0E40\u0E04\u0E19 JWT",
+ template_literal: "\u0E02\u0E49\u0E2D\u0E21\u0E39\u0E25\u0E17\u0E35\u0E48\u0E1B\u0E49\u0E2D\u0E19"
+ };
+ const TypeDictionary = {
+ nan: "NaN",
+ number: "\u0E15\u0E31\u0E27\u0E40\u0E25\u0E02",
+ array: "\u0E2D\u0E32\u0E23\u0E4C\u0E40\u0E23\u0E22\u0E4C (Array)",
+ null: "\u0E44\u0E21\u0E48\u0E21\u0E35\u0E04\u0E48\u0E32 (null)"
+ };
+ return (issue2) => {
+ switch (issue2.code) {
+ case "invalid_type": {
+ const expected = TypeDictionary[issue2.expected] ?? issue2.expected;
+ const receivedType = parsedType(issue2.input);
+ const received = TypeDictionary[receivedType] ?? receivedType;
+ if (/^[A-Z]/.test(issue2.expected)) {
+ return `\u0E1B\u0E23\u0E30\u0E40\u0E20\u0E17\u0E02\u0E49\u0E2D\u0E21\u0E39\u0E25\u0E44\u0E21\u0E48\u0E16\u0E39\u0E01\u0E15\u0E49\u0E2D\u0E07: \u0E04\u0E27\u0E23\u0E40\u0E1B\u0E47\u0E19 instanceof ${issue2.expected} \u0E41\u0E15\u0E48\u0E44\u0E14\u0E49\u0E23\u0E31\u0E1A ${received}`;
+ }
+ return `\u0E1B\u0E23\u0E30\u0E40\u0E20\u0E17\u0E02\u0E49\u0E2D\u0E21\u0E39\u0E25\u0E44\u0E21\u0E48\u0E16\u0E39\u0E01\u0E15\u0E49\u0E2D\u0E07: \u0E04\u0E27\u0E23\u0E40\u0E1B\u0E47\u0E19 ${expected} \u0E41\u0E15\u0E48\u0E44\u0E14\u0E49\u0E23\u0E31\u0E1A ${received}`;
+ }
+ case "invalid_value":
+ if (issue2.values.length === 1)
+ return `\u0E04\u0E48\u0E32\u0E44\u0E21\u0E48\u0E16\u0E39\u0E01\u0E15\u0E49\u0E2D\u0E07: \u0E04\u0E27\u0E23\u0E40\u0E1B\u0E47\u0E19 ${stringifyPrimitive(issue2.values[0])}`;
+ return `\u0E15\u0E31\u0E27\u0E40\u0E25\u0E37\u0E2D\u0E01\u0E44\u0E21\u0E48\u0E16\u0E39\u0E01\u0E15\u0E49\u0E2D\u0E07: \u0E04\u0E27\u0E23\u0E40\u0E1B\u0E47\u0E19\u0E2B\u0E19\u0E36\u0E48\u0E07\u0E43\u0E19 ${joinValues(issue2.values, "|")}`;
+ case "too_big": {
+ const adj = issue2.inclusive ? "\u0E44\u0E21\u0E48\u0E40\u0E01\u0E34\u0E19" : "\u0E19\u0E49\u0E2D\u0E22\u0E01\u0E27\u0E48\u0E32";
+ const sizing = getSizing(issue2.origin);
+ if (sizing)
+ return `\u0E40\u0E01\u0E34\u0E19\u0E01\u0E33\u0E2B\u0E19\u0E14: ${issue2.origin ?? "\u0E04\u0E48\u0E32"} \u0E04\u0E27\u0E23\u0E21\u0E35${adj} ${issue2.maximum.toString()} ${sizing.unit ?? "\u0E23\u0E32\u0E22\u0E01\u0E32\u0E23"}`;
+ return `\u0E40\u0E01\u0E34\u0E19\u0E01\u0E33\u0E2B\u0E19\u0E14: ${issue2.origin ?? "\u0E04\u0E48\u0E32"} \u0E04\u0E27\u0E23\u0E21\u0E35${adj} ${issue2.maximum.toString()}`;
+ }
+ case "too_small": {
+ const adj = issue2.inclusive ? "\u0E2D\u0E22\u0E48\u0E32\u0E07\u0E19\u0E49\u0E2D\u0E22" : "\u0E21\u0E32\u0E01\u0E01\u0E27\u0E48\u0E32";
+ const sizing = getSizing(issue2.origin);
+ if (sizing) {
+ return `\u0E19\u0E49\u0E2D\u0E22\u0E01\u0E27\u0E48\u0E32\u0E01\u0E33\u0E2B\u0E19\u0E14: ${issue2.origin} \u0E04\u0E27\u0E23\u0E21\u0E35${adj} ${issue2.minimum.toString()} ${sizing.unit}`;
+ }
+ return `\u0E19\u0E49\u0E2D\u0E22\u0E01\u0E27\u0E48\u0E32\u0E01\u0E33\u0E2B\u0E19\u0E14: ${issue2.origin} \u0E04\u0E27\u0E23\u0E21\u0E35${adj} ${issue2.minimum.toString()}`;
+ }
+ case "invalid_format": {
+ const _issue = issue2;
+ if (_issue.format === "starts_with") {
+ return `\u0E23\u0E39\u0E1B\u0E41\u0E1A\u0E1A\u0E44\u0E21\u0E48\u0E16\u0E39\u0E01\u0E15\u0E49\u0E2D\u0E07: \u0E02\u0E49\u0E2D\u0E04\u0E27\u0E32\u0E21\u0E15\u0E49\u0E2D\u0E07\u0E02\u0E36\u0E49\u0E19\u0E15\u0E49\u0E19\u0E14\u0E49\u0E27\u0E22 "${_issue.prefix}"`;
+ }
+ if (_issue.format === "ends_with")
+ return `\u0E23\u0E39\u0E1B\u0E41\u0E1A\u0E1A\u0E44\u0E21\u0E48\u0E16\u0E39\u0E01\u0E15\u0E49\u0E2D\u0E07: \u0E02\u0E49\u0E2D\u0E04\u0E27\u0E32\u0E21\u0E15\u0E49\u0E2D\u0E07\u0E25\u0E07\u0E17\u0E49\u0E32\u0E22\u0E14\u0E49\u0E27\u0E22 "${_issue.suffix}"`;
+ if (_issue.format === "includes")
+ return `\u0E23\u0E39\u0E1B\u0E41\u0E1A\u0E1A\u0E44\u0E21\u0E48\u0E16\u0E39\u0E01\u0E15\u0E49\u0E2D\u0E07: \u0E02\u0E49\u0E2D\u0E04\u0E27\u0E32\u0E21\u0E15\u0E49\u0E2D\u0E07\u0E21\u0E35 "${_issue.includes}" \u0E2D\u0E22\u0E39\u0E48\u0E43\u0E19\u0E02\u0E49\u0E2D\u0E04\u0E27\u0E32\u0E21`;
+ if (_issue.format === "regex")
+ return `\u0E23\u0E39\u0E1B\u0E41\u0E1A\u0E1A\u0E44\u0E21\u0E48\u0E16\u0E39\u0E01\u0E15\u0E49\u0E2D\u0E07: \u0E15\u0E49\u0E2D\u0E07\u0E15\u0E23\u0E07\u0E01\u0E31\u0E1A\u0E23\u0E39\u0E1B\u0E41\u0E1A\u0E1A\u0E17\u0E35\u0E48\u0E01\u0E33\u0E2B\u0E19\u0E14 ${_issue.pattern}`;
+ return `\u0E23\u0E39\u0E1B\u0E41\u0E1A\u0E1A\u0E44\u0E21\u0E48\u0E16\u0E39\u0E01\u0E15\u0E49\u0E2D\u0E07: ${FormatDictionary[_issue.format] ?? issue2.format}`;
+ }
+ case "not_multiple_of":
+ return `\u0E15\u0E31\u0E27\u0E40\u0E25\u0E02\u0E44\u0E21\u0E48\u0E16\u0E39\u0E01\u0E15\u0E49\u0E2D\u0E07: \u0E15\u0E49\u0E2D\u0E07\u0E40\u0E1B\u0E47\u0E19\u0E08\u0E33\u0E19\u0E27\u0E19\u0E17\u0E35\u0E48\u0E2B\u0E32\u0E23\u0E14\u0E49\u0E27\u0E22 ${issue2.divisor} \u0E44\u0E14\u0E49\u0E25\u0E07\u0E15\u0E31\u0E27`;
+ case "unrecognized_keys":
+ return `\u0E1E\u0E1A\u0E04\u0E35\u0E22\u0E4C\u0E17\u0E35\u0E48\u0E44\u0E21\u0E48\u0E23\u0E39\u0E49\u0E08\u0E31\u0E01: ${joinValues(issue2.keys, ", ")}`;
+ case "invalid_key":
+ return `\u0E04\u0E35\u0E22\u0E4C\u0E44\u0E21\u0E48\u0E16\u0E39\u0E01\u0E15\u0E49\u0E2D\u0E07\u0E43\u0E19 ${issue2.origin}`;
+ case "invalid_union":
+ return "\u0E02\u0E49\u0E2D\u0E21\u0E39\u0E25\u0E44\u0E21\u0E48\u0E16\u0E39\u0E01\u0E15\u0E49\u0E2D\u0E07: \u0E44\u0E21\u0E48\u0E15\u0E23\u0E07\u0E01\u0E31\u0E1A\u0E23\u0E39\u0E1B\u0E41\u0E1A\u0E1A\u0E22\u0E39\u0E40\u0E19\u0E35\u0E22\u0E19\u0E17\u0E35\u0E48\u0E01\u0E33\u0E2B\u0E19\u0E14\u0E44\u0E27\u0E49";
+ case "invalid_element":
+ return `\u0E02\u0E49\u0E2D\u0E21\u0E39\u0E25\u0E44\u0E21\u0E48\u0E16\u0E39\u0E01\u0E15\u0E49\u0E2D\u0E07\u0E43\u0E19 ${issue2.origin}`;
+ default:
+ return `\u0E02\u0E49\u0E2D\u0E21\u0E39\u0E25\u0E44\u0E21\u0E48\u0E16\u0E39\u0E01\u0E15\u0E49\u0E2D\u0E07`;
+ }
+ };
+}, "error");
+function th_default() {
+ return {
+ localeError: error52()
+ };
+}
+__name(th_default, "default");
+
+// ../../node_modules/.pnpm/zod@4.6.7/node_modules/zod/v4/locales/tk.js
+var error53 = /* @__PURE__ */ __name(() => {
+ const Sizable = {
+ string: { unit: "simwol", verb: "bolmaly" },
+ file: { unit: "ba\xFDt", verb: "bolmaly" },
+ array: { unit: "elementler", verb: "bolmaly" },
+ set: { unit: "elementler", verb: "bolmaly" },
+ map: { unit: "elementler", verb: "bolmaly" }
+ };
+ function getSizing(origin) {
+ return Sizable[origin] ?? null;
+ }
+ __name(getSizing, "getSizing");
+ const FormatDictionary = {
+ regex: "giri\u015F",
+ email: "e-po\xE7ta salgysy",
+ url: "URL",
+ emoji: "emoji",
+ uuid: "UUID",
+ uuidv4: "UUIDv4",
+ uuidv6: "UUIDv6",
+ nanoid: "nanoid",
+ guid: "GUID",
+ cuid: "cuid",
+ cuid2: "cuid2",
+ ulid: "ULID",
+ xid: "XID",
+ ksuid: "KSUID",
+ datetime: "ISO sene we wagt",
+ date: "ISO sene",
+ time: "ISO wagt",
+ duration: "ISO wagt aralygy",
+ ipv4: "IPv4 salgysy",
+ ipv6: "IPv6 salgysy",
+ mac: "MAC salgysy",
+ cidrv4: "IPv4 aralygy",
+ cidrv6: "IPv6 aralygy",
+ base64: "base64 bilen \u015Fifrlenen setir",
+ base64url: "base64url bilen \u015Fifrlenen setir",
+ json_string: "JSON setiri",
+ e164: "E.164 nomeri",
+ credit_card: "kredit kartyny\u0148 nomeri",
+ currency_code: "wal\xFDuta kody",
+ iban: "IBAN",
+ jwt: "JWT",
+ template_literal: "\u015Fablon"
+ };
+ const TypeDictionary = {
+ nan: "NaN"
+ };
+ return (issue2) => {
+ switch (issue2.code) {
+ case "invalid_type": {
+ const expected = TypeDictionary[issue2.expected] ?? issue2.expected;
+ const receivedType = parsedType(issue2.input);
+ const received = TypeDictionary[receivedType] ?? receivedType;
+ return `N\xE4dogry baha: gara\u015Fylan ${expected} \xFDerine ${received} alyndy`;
+ }
+ case "invalid_value":
+ if (issue2.values.length === 1)
+ return `N\xE4dogry baha: ${stringifyPrimitive(issue2.values[0])} bolmaly`;
+ return `N\xE4dogry sa\xFDlaw: a\u015Fakdakylardan biri bolmaly: ${joinValues(issue2.values, "|")}`;
+ case "too_big": {
+ const adj = issue2.inclusive ? "<=" : "<";
+ const sizing = getSizing(issue2.origin);
+ if (sizing)
+ return `Has uly: gara\u015Fyl\xFDan ${issue2.origin ?? "baha"} ${adj} ${issue2.maximum.toString()} ${sizing.unit ?? "element"}`;
+ return `Has uly: gara\u015Fyl\xFDan ${issue2.origin ?? "baha"} ${adj} ${issue2.maximum.toString()}`;
+ }
+ case "too_small": {
+ const adj = issue2.inclusive ? ">=" : ">";
+ const sizing = getSizing(issue2.origin);
+ if (sizing)
+ return `Has ki\xE7i: gara\u015Fyl\xFDan ${issue2.origin} ${adj} ${issue2.minimum.toString()} ${sizing.unit}`;
+ return `Has ki\xE7i: gara\u015Fyl\xFDan ${issue2.origin} ${adj} ${issue2.minimum.toString()}`;
+ }
+ case "invalid_format": {
+ const _issue = issue2;
+ if (_issue.format === "starts_with")
+ return `N\xE4dogry setir: "${_issue.prefix}" bilen ba\u015Flamaly`;
+ if (_issue.format === "ends_with")
+ return `N\xE4dogry setir: "${_issue.suffix}" bilen gutarmaly`;
+ if (_issue.format === "includes")
+ return `N\xE4dogry setir: "${_issue.includes}" saklamaly`;
+ if (_issue.format === "regex")
+ return `N\xE4dogry setir: ${_issue.pattern} nusga la\xFDyk bolmaly`;
+ return `N\xE4dogry ${FormatDictionary[_issue.format] ?? issue2.format}`;
+ }
+ case "not_multiple_of":
+ return `N\xE4dogry san: ${issue2.divisor} bilen galyndysyz b\xF6l\xFCnmeli`;
+ case "unrecognized_keys":
+ return `Tanalma\xFDan a\xE7ar${issue2.keys.length > 1 ? "lar" : ""}: ${joinValues(issue2.keys, ", ")}`;
+ case "invalid_key":
+ return `${issue2.origin} i\xE7inde n\xE4dogry a\xE7ar`;
+ case "invalid_union":
+ return "N\xE4dogry baha";
+ case "invalid_element":
+ return `${issue2.origin} i\xE7inde n\xE4dogry baha`;
+ default:
+ return `N\xE4dogry baha`;
+ }
+ };
+}, "error");
+function tk_default() {
+ return {
+ localeError: error53()
+ };
+}
+__name(tk_default, "default");
+
+// ../../node_modules/.pnpm/zod@4.6.7/node_modules/zod/v4/locales/tr.js
+var error54 = /* @__PURE__ */ __name(() => {
+ const Sizable = {
+ string: { unit: "karakter", verb: "olmal\u0131" },
+ file: { unit: "bayt", verb: "olmal\u0131" },
+ array: { unit: "\xF6\u011Fe", verb: "olmal\u0131" },
+ set: { unit: "\xF6\u011Fe", verb: "olmal\u0131" },
+ map: { unit: "\xF6\u011Fe", verb: "olmal\u0131" }
+ };
+ function getSizing(origin) {
+ return Sizable[origin] ?? null;
+ }
+ __name(getSizing, "getSizing");
+ const FormatDictionary = {
+ regex: "girdi",
+ email: "e-posta adresi",
+ url: "URL",
+ emoji: "emoji",
+ uuid: "UUID",
+ uuidv4: "UUIDv4",
+ uuidv6: "UUIDv6",
+ nanoid: "nanoid",
+ guid: "GUID",
+ cuid: "cuid",
+ cuid2: "cuid2",
+ ulid: "ULID",
+ xid: "XID",
+ ksuid: "KSUID",
+ datetime: "ISO tarih ve saat",
+ date: "ISO tarih",
+ time: "ISO saat",
+ duration: "ISO s\xFCre",
+ ipv4: "IPv4 adresi",
+ ipv6: "IPv6 adresi",
+ mac: "MAC adresi",
+ cidrv4: "IPv4 aral\u0131\u011F\u0131",
+ cidrv6: "IPv6 aral\u0131\u011F\u0131",
+ base64: "base64 ile \u015Fifrelenmi\u015F metin",
+ base64url: "base64url ile \u015Fifrelenmi\u015F metin",
+ json_string: "JSON dizesi",
+ e164: "E.164 say\u0131s\u0131",
+ credit_card: "kredi kart\u0131 numaras\u0131",
+ currency_code: "para birimi kodu",
+ iban: "IBAN",
+ jwt: "JWT",
+ template_literal: "\u015Eablon dizesi"
+ };
+ const TypeDictionary = {
+ nan: "NaN"
+ };
+ return (issue2) => {
+ switch (issue2.code) {
+ case "invalid_type": {
+ const expected = TypeDictionary[issue2.expected] ?? issue2.expected;
+ const receivedType = parsedType(issue2.input);
+ const received = TypeDictionary[receivedType] ?? receivedType;
+ if (/^[A-Z]/.test(issue2.expected)) {
+ return `Ge\xE7ersiz de\u011Fer: beklenen instanceof ${issue2.expected}, al\u0131nan ${received}`;
+ }
+ return `Ge\xE7ersiz de\u011Fer: beklenen ${expected}, al\u0131nan ${received}`;
+ }
+ case "invalid_value":
+ if (issue2.values.length === 1)
+ return `Ge\xE7ersiz de\u011Fer: beklenen ${stringifyPrimitive(issue2.values[0])}`;
+ return `Ge\xE7ersiz se\xE7enek: a\u015Fa\u011F\u0131dakilerden biri olmal\u0131: ${joinValues(issue2.values, "|")}`;
+ case "too_big": {
+ const adj = issue2.inclusive ? "<=" : "<";
+ const sizing = getSizing(issue2.origin);
+ if (sizing)
+ return `\xC7ok b\xFCy\xFCk: beklenen ${issue2.origin ?? "de\u011Fer"} ${adj}${issue2.maximum.toString()} ${sizing.unit ?? "\xF6\u011Fe"}`;
+ return `\xC7ok b\xFCy\xFCk: beklenen ${issue2.origin ?? "de\u011Fer"} ${adj}${issue2.maximum.toString()}`;
+ }
+ case "too_small": {
+ const adj = issue2.inclusive ? ">=" : ">";
+ const sizing = getSizing(issue2.origin);
+ if (sizing)
+ return `\xC7ok k\xFC\xE7\xFCk: beklenen ${issue2.origin} ${adj}${issue2.minimum.toString()} ${sizing.unit}`;
+ return `\xC7ok k\xFC\xE7\xFCk: beklenen ${issue2.origin} ${adj}${issue2.minimum.toString()}`;
+ }
+ case "invalid_format": {
+ const _issue = issue2;
+ if (_issue.format === "starts_with")
+ return `Ge\xE7ersiz metin: "${_issue.prefix}" ile ba\u015Flamal\u0131`;
+ if (_issue.format === "ends_with")
+ return `Ge\xE7ersiz metin: "${_issue.suffix}" ile bitmeli`;
+ if (_issue.format === "includes")
+ return `Ge\xE7ersiz metin: "${_issue.includes}" i\xE7ermeli`;
+ if (_issue.format === "regex")
+ return `Ge\xE7ersiz metin: ${_issue.pattern} desenine uymal\u0131`;
+ return `Ge\xE7ersiz ${FormatDictionary[_issue.format] ?? issue2.format}`;
+ }
+ case "not_multiple_of":
+ return `Ge\xE7ersiz say\u0131: ${issue2.divisor} ile tam b\xF6l\xFCnebilmeli`;
+ case "unrecognized_keys":
+ return `Tan\u0131nmayan anahtar${issue2.keys.length > 1 ? "lar" : ""}: ${joinValues(issue2.keys, ", ")}`;
+ case "invalid_key":
+ return `${issue2.origin} i\xE7inde ge\xE7ersiz anahtar`;
+ case "invalid_union":
+ return "Ge\xE7ersiz de\u011Fer";
+ case "invalid_element":
+ return `${issue2.origin} i\xE7inde ge\xE7ersiz de\u011Fer`;
+ default:
+ return `Ge\xE7ersiz de\u011Fer`;
+ }
+ };
+}, "error");
+function tr_default() {
+ return {
+ localeError: error54()
+ };
+}
+__name(tr_default, "default");
+
+// ../../node_modules/.pnpm/zod@4.6.7/node_modules/zod/v4/locales/uk.js
+var error55 = /* @__PURE__ */ __name(() => {
+ const Sizable = {
+ string: { unit: "\u0441\u0438\u043C\u0432\u043E\u043B\u0456\u0432", verb: "\u043C\u0430\u0442\u0438\u043C\u0435" },
+ file: { unit: "\u0431\u0430\u0439\u0442\u0456\u0432", verb: "\u043C\u0430\u0442\u0438\u043C\u0435" },
+ array: { unit: "\u0435\u043B\u0435\u043C\u0435\u043D\u0442\u0456\u0432", verb: "\u043C\u0430\u0442\u0438\u043C\u0435" },
+ set: { unit: "\u0435\u043B\u0435\u043C\u0435\u043D\u0442\u0456\u0432", verb: "\u043C\u0430\u0442\u0438\u043C\u0435" },
+ map: { unit: "\u0435\u043B\u0435\u043C\u0435\u043D\u0442\u0456\u0432", verb: "\u043C\u0430\u0442\u0438\u043C\u0435" }
+ };
+ function getSizing(origin) {
+ return Sizable[origin] ?? null;
+ }
+ __name(getSizing, "getSizing");
+ const FormatDictionary = {
+ regex: "\u0432\u0445\u0456\u0434\u043D\u0456 \u0434\u0430\u043D\u0456",
+ email: "\u0430\u0434\u0440\u0435\u0441\u0430 \u0435\u043B\u0435\u043A\u0442\u0440\u043E\u043D\u043D\u043E\u0457 \u043F\u043E\u0448\u0442\u0438",
+ url: "URL",
+ emoji: "\u0435\u043C\u043E\u0434\u0437\u0456",
+ uuid: "UUID",
+ uuidv4: "UUIDv4",
+ uuidv6: "UUIDv6",
+ nanoid: "nanoid",
+ guid: "GUID",
+ cuid: "cuid",
+ cuid2: "cuid2",
+ ulid: "ULID",
+ xid: "XID",
+ ksuid: "KSUID",
+ datetime: "\u0434\u0430\u0442\u0430 \u0442\u0430 \u0447\u0430\u0441 ISO",
+ date: "\u0434\u0430\u0442\u0430 ISO",
+ time: "\u0447\u0430\u0441 ISO",
+ duration: "\u0442\u0440\u0438\u0432\u0430\u043B\u0456\u0441\u0442\u044C ISO",
+ ipv4: "\u0430\u0434\u0440\u0435\u0441\u0430 IPv4",
+ ipv6: "\u0430\u0434\u0440\u0435\u0441\u0430 IPv6",
+ mac: "\u0430\u0434\u0440\u0435\u0441\u0430 MAC",
+ cidrv4: "\u0434\u0456\u0430\u043F\u0430\u0437\u043E\u043D IPv4",
+ cidrv6: "\u0434\u0456\u0430\u043F\u0430\u0437\u043E\u043D IPv6",
+ base64: "\u0440\u044F\u0434\u043E\u043A \u0443 \u043A\u043E\u0434\u0443\u0432\u0430\u043D\u043D\u0456 base64",
+ base64url: "\u0440\u044F\u0434\u043E\u043A \u0443 \u043A\u043E\u0434\u0443\u0432\u0430\u043D\u043D\u0456 base64url",
+ json_string: "\u0440\u044F\u0434\u043E\u043A JSON",
+ e164: "\u043D\u043E\u043C\u0435\u0440 E.164",
+ credit_card: "\u043D\u043E\u043C\u0435\u0440 \u043A\u0440\u0435\u0434\u0438\u0442\u043D\u043E\u0457 \u043A\u0430\u0440\u0442\u043A\u0438",
+ currency_code: "\u043A\u043E\u0434 \u0432\u0430\u043B\u044E\u0442\u0438",
+ iban: "IBAN",
+ jwt: "JWT",
+ template_literal: "\u0432\u0445\u0456\u0434\u043D\u0456 \u0434\u0430\u043D\u0456"
+ };
+ const TypeDictionary = {
+ nan: "NaN",
+ number: "\u0447\u0438\u0441\u043B\u043E",
+ array: "\u043C\u0430\u0441\u0438\u0432"
+ };
+ return (issue2) => {
+ switch (issue2.code) {
+ case "invalid_type": {
+ const expected = TypeDictionary[issue2.expected] ?? issue2.expected;
+ const receivedType = parsedType(issue2.input);
+ const received = TypeDictionary[receivedType] ?? receivedType;
+ if (/^[A-Z]/.test(issue2.expected)) {
+ return `\u041D\u0435\u043F\u0440\u0430\u0432\u0438\u043B\u044C\u043D\u0456 \u0432\u0445\u0456\u0434\u043D\u0456 \u0434\u0430\u043D\u0456: \u043E\u0447\u0456\u043A\u0443\u0454\u0442\u044C\u0441\u044F instanceof ${issue2.expected}, \u043E\u0442\u0440\u0438\u043C\u0430\u043D\u043E ${received}`;
+ }
+ return `\u041D\u0435\u043F\u0440\u0430\u0432\u0438\u043B\u044C\u043D\u0456 \u0432\u0445\u0456\u0434\u043D\u0456 \u0434\u0430\u043D\u0456: \u043E\u0447\u0456\u043A\u0443\u0454\u0442\u044C\u0441\u044F ${expected}, \u043E\u0442\u0440\u0438\u043C\u0430\u043D\u043E ${received}`;
+ }
+ case "invalid_value":
+ if (issue2.values.length === 1)
+ return `\u041D\u0435\u043F\u0440\u0430\u0432\u0438\u043B\u044C\u043D\u0456 \u0432\u0445\u0456\u0434\u043D\u0456 \u0434\u0430\u043D\u0456: \u043E\u0447\u0456\u043A\u0443\u0454\u0442\u044C\u0441\u044F ${stringifyPrimitive(issue2.values[0])}`;
+ return `\u041D\u0435\u043F\u0440\u0430\u0432\u0438\u043B\u044C\u043D\u0430 \u043E\u043F\u0446\u0456\u044F: \u043E\u0447\u0456\u043A\u0443\u0454\u0442\u044C\u0441\u044F \u043E\u0434\u043D\u0435 \u0437 ${joinValues(issue2.values, "|")}`;
+ case "too_big": {
+ const adj = issue2.inclusive ? "<=" : "<";
+ const sizing = getSizing(issue2.origin);
+ if (sizing)
+ return `\u0417\u0430\u043D\u0430\u0434\u0442\u043E \u0432\u0435\u043B\u0438\u043A\u0435: \u043E\u0447\u0456\u043A\u0443\u0454\u0442\u044C\u0441\u044F, \u0449\u043E ${issue2.origin ?? "\u0437\u043D\u0430\u0447\u0435\u043D\u043D\u044F"} ${sizing.verb} ${adj}${issue2.maximum.toString()} ${sizing.unit ?? "\u0435\u043B\u0435\u043C\u0435\u043D\u0442\u0456\u0432"}`;
+ return `\u0417\u0430\u043D\u0430\u0434\u0442\u043E \u0432\u0435\u043B\u0438\u043A\u0435: \u043E\u0447\u0456\u043A\u0443\u0454\u0442\u044C\u0441\u044F, \u0449\u043E ${issue2.origin ?? "\u0437\u043D\u0430\u0447\u0435\u043D\u043D\u044F"} \u0431\u0443\u0434\u0435 ${adj}${issue2.maximum.toString()}`;
+ }
+ case "too_small": {
+ const adj = issue2.inclusive ? ">=" : ">";
+ const sizing = getSizing(issue2.origin);
+ if (sizing) {
+ return `\u0417\u0430\u043D\u0430\u0434\u0442\u043E \u043C\u0430\u043B\u0435: \u043E\u0447\u0456\u043A\u0443\u0454\u0442\u044C\u0441\u044F, \u0449\u043E ${issue2.origin} ${sizing.verb} ${adj}${issue2.minimum.toString()} ${sizing.unit}`;
+ }
+ return `\u0417\u0430\u043D\u0430\u0434\u0442\u043E \u043C\u0430\u043B\u0435: \u043E\u0447\u0456\u043A\u0443\u0454\u0442\u044C\u0441\u044F, \u0449\u043E ${issue2.origin} \u0431\u0443\u0434\u0435 ${adj}${issue2.minimum.toString()}`;
+ }
+ case "invalid_format": {
+ const _issue = issue2;
+ if (_issue.format === "starts_with")
+ return `\u041D\u0435\u043F\u0440\u0430\u0432\u0438\u043B\u044C\u043D\u0438\u0439 \u0440\u044F\u0434\u043E\u043A: \u043F\u043E\u0432\u0438\u043D\u0435\u043D \u043F\u043E\u0447\u0438\u043D\u0430\u0442\u0438\u0441\u044F \u0437 "${_issue.prefix}"`;
+ if (_issue.format === "ends_with")
+ return `\u041D\u0435\u043F\u0440\u0430\u0432\u0438\u043B\u044C\u043D\u0438\u0439 \u0440\u044F\u0434\u043E\u043A: \u043F\u043E\u0432\u0438\u043D\u0435\u043D \u0437\u0430\u043A\u0456\u043D\u0447\u0443\u0432\u0430\u0442\u0438\u0441\u044F \u043D\u0430 "${_issue.suffix}"`;
+ if (_issue.format === "includes")
+ return `\u041D\u0435\u043F\u0440\u0430\u0432\u0438\u043B\u044C\u043D\u0438\u0439 \u0440\u044F\u0434\u043E\u043A: \u043F\u043E\u0432\u0438\u043D\u0435\u043D \u043C\u0456\u0441\u0442\u0438\u0442\u0438 "${_issue.includes}"`;
+ if (_issue.format === "regex")
+ return `\u041D\u0435\u043F\u0440\u0430\u0432\u0438\u043B\u044C\u043D\u0438\u0439 \u0440\u044F\u0434\u043E\u043A: \u043F\u043E\u0432\u0438\u043D\u0435\u043D \u0432\u0456\u0434\u043F\u043E\u0432\u0456\u0434\u0430\u0442\u0438 \u0448\u0430\u0431\u043B\u043E\u043D\u0443 ${_issue.pattern}`;
+ return `\u041D\u0435\u043F\u0440\u0430\u0432\u0438\u043B\u044C\u043D\u0438\u0439 ${FormatDictionary[_issue.format] ?? issue2.format}`;
+ }
+ case "not_multiple_of":
+ return `\u041D\u0435\u043F\u0440\u0430\u0432\u0438\u043B\u044C\u043D\u0435 \u0447\u0438\u0441\u043B\u043E: \u043F\u043E\u0432\u0438\u043D\u043D\u043E \u0431\u0443\u0442\u0438 \u043A\u0440\u0430\u0442\u043D\u0438\u043C ${issue2.divisor}`;
+ case "unrecognized_keys":
+ return `\u041D\u0435\u0440\u043E\u0437\u043F\u0456\u0437\u043D\u0430\u043D\u0438\u0439 \u043A\u043B\u044E\u0447${issue2.keys.length > 1 ? "\u0456" : ""}: ${joinValues(issue2.keys, ", ")}`;
+ case "invalid_key":
+ return `\u041D\u0435\u043F\u0440\u0430\u0432\u0438\u043B\u044C\u043D\u0438\u0439 \u043A\u043B\u044E\u0447 \u0443 ${issue2.origin}`;
+ case "invalid_union":
+ return "\u041D\u0435\u043F\u0440\u0430\u0432\u0438\u043B\u044C\u043D\u0456 \u0432\u0445\u0456\u0434\u043D\u0456 \u0434\u0430\u043D\u0456";
+ case "invalid_element":
+ return `\u041D\u0435\u043F\u0440\u0430\u0432\u0438\u043B\u044C\u043D\u0435 \u0437\u043D\u0430\u0447\u0435\u043D\u043D\u044F \u0443 ${issue2.origin}`;
+ default:
+ return `\u041D\u0435\u043F\u0440\u0430\u0432\u0438\u043B\u044C\u043D\u0456 \u0432\u0445\u0456\u0434\u043D\u0456 \u0434\u0430\u043D\u0456`;
+ }
+ };
+}, "error");
+function uk_default() {
+ return {
+ localeError: error55()
+ };
+}
+__name(uk_default, "default");
+
+// ../../node_modules/.pnpm/zod@4.6.7/node_modules/zod/v4/locales/ua.js
+function ua_default() {
+ return uk_default();
+}
+__name(ua_default, "default");
+
+// ../../node_modules/.pnpm/zod@4.6.7/node_modules/zod/v4/locales/ur.js
+var error56 = /* @__PURE__ */ __name(() => {
+ const Sizable = {
+ string: { unit: "\u062D\u0631\u0648\u0641", verb: "\u06C1\u0648\u0646\u0627" },
+ file: { unit: "\u0628\u0627\u0626\u0679\u0633", verb: "\u06C1\u0648\u0646\u0627" },
+ array: { unit: "\u0622\u0626\u0679\u0645\u0632", verb: "\u06C1\u0648\u0646\u0627" },
+ set: { unit: "\u0622\u0626\u0679\u0645\u0632", verb: "\u06C1\u0648\u0646\u0627" },
+ map: { unit: "\u0622\u0626\u0679\u0645\u0632", verb: "\u06C1\u0648\u0646\u0627" }
+ };
+ function getSizing(origin) {
+ return Sizable[origin] ?? null;
+ }
+ __name(getSizing, "getSizing");
+ const FormatDictionary = {
+ regex: "\u0627\u0646 \u067E\u0679",
+ email: "\u0627\u06CC \u0645\u06CC\u0644 \u0627\u06CC\u0688\u0631\u06CC\u0633",
+ url: "\u06CC\u0648 \u0622\u0631 \u0627\u06CC\u0644",
+ emoji: "\u0627\u06CC\u0645\u0648\u062C\u06CC",
+ uuid: "\u06CC\u0648 \u06CC\u0648 \u0622\u0626\u06CC \u0688\u06CC",
+ uuidv4: "\u06CC\u0648 \u06CC\u0648 \u0622\u0626\u06CC \u0688\u06CC \u0648\u06CC 4",
+ uuidv6: "\u06CC\u0648 \u06CC\u0648 \u0622\u0626\u06CC \u0688\u06CC \u0648\u06CC 6",
+ nanoid: "\u0646\u06CC\u0646\u0648 \u0622\u0626\u06CC \u0688\u06CC",
+ guid: "\u062C\u06CC \u06CC\u0648 \u0622\u0626\u06CC \u0688\u06CC",
+ cuid: "\u0633\u06CC \u06CC\u0648 \u0622\u0626\u06CC \u0688\u06CC",
+ cuid2: "\u0633\u06CC \u06CC\u0648 \u0622\u0626\u06CC \u0688\u06CC 2",
+ ulid: "\u06CC\u0648 \u0627\u06CC\u0644 \u0622\u0626\u06CC \u0688\u06CC",
+ xid: "\u0627\u06CC\u06A9\u0633 \u0622\u0626\u06CC \u0688\u06CC",
+ ksuid: "\u06A9\u06D2 \u0627\u06CC\u0633 \u06CC\u0648 \u0622\u0626\u06CC \u0688\u06CC",
+ datetime: "\u0622\u0626\u06CC \u0627\u06CC\u0633 \u0627\u0648 \u0688\u06CC\u0679 \u0679\u0627\u0626\u0645",
+ date: "\u0622\u0626\u06CC \u0627\u06CC\u0633 \u0627\u0648 \u062A\u0627\u0631\u06CC\u062E",
+ time: "\u0622\u0626\u06CC \u0627\u06CC\u0633 \u0627\u0648 \u0648\u0642\u062A",
+ duration: "\u0622\u0626\u06CC \u0627\u06CC\u0633 \u0627\u0648 \u0645\u062F\u062A",
+ ipv4: "\u0622\u0626\u06CC \u067E\u06CC \u0648\u06CC 4 \u0627\u06CC\u0688\u0631\u06CC\u0633",
+ ipv6: "\u0622\u0626\u06CC \u067E\u06CC \u0648\u06CC 6 \u0627\u06CC\u0688\u0631\u06CC\u0633",
+ mac: "\u0627\u06CC\u0645 \u0627\u06D2 \u0633\u06CC \u0627\u06CC\u0688\u0631\u06CC\u0633",
+ cidrv4: "\u0622\u0626\u06CC \u067E\u06CC \u0648\u06CC 4 \u0631\u06CC\u0646\u062C",
+ cidrv6: "\u0622\u0626\u06CC \u067E\u06CC \u0648\u06CC 6 \u0631\u06CC\u0646\u062C",
+ base64: "\u0628\u06CC\u0633 64 \u0627\u0646 \u06A9\u0648\u0688\u0688 \u0633\u0679\u0631\u0646\u06AF",
+ base64url: "\u0628\u06CC\u0633 64 \u06CC\u0648 \u0622\u0631 \u0627\u06CC\u0644 \u0627\u0646 \u06A9\u0648\u0688\u0688 \u0633\u0679\u0631\u0646\u06AF",
+ json_string: "\u062C\u06D2 \u0627\u06CC\u0633 \u0627\u0648 \u0627\u06CC\u0646 \u0633\u0679\u0631\u0646\u06AF",
+ e164: "\u0627\u06CC 164 \u0646\u0645\u0628\u0631",
+ credit_card: "\u06A9\u0631\u06CC\u0688\u0679 \u06A9\u0627\u0631\u0688 \u0646\u0645\u0628\u0631",
+ currency_code: "\u06A9\u0631\u0646\u0633\u06CC \u06A9\u0648\u0688",
+ iban: "IBAN",
+ jwt: "\u062C\u06D2 \u0688\u0628\u0644\u06CC\u0648 \u0679\u06CC",
+ template_literal: "\u0627\u0646 \u067E\u0679"
+ };
+ const TypeDictionary = {
+ nan: "NaN",
+ number: "\u0646\u0645\u0628\u0631",
+ array: "\u0622\u0631\u06D2",
+ null: "\u0646\u0644"
+ };
+ return (issue2) => {
+ switch (issue2.code) {
+ case "invalid_type": {
+ const expected = TypeDictionary[issue2.expected] ?? issue2.expected;
+ const receivedType = parsedType(issue2.input);
+ const received = TypeDictionary[receivedType] ?? receivedType;
+ if (/^[A-Z]/.test(issue2.expected)) {
+ return `\u063A\u0644\u0637 \u0627\u0646 \u067E\u0679: instanceof ${issue2.expected} \u0645\u062A\u0648\u0642\u0639 \u062A\u06BE\u0627\u060C ${received} \u0645\u0648\u0635\u0648\u0644 \u06C1\u0648\u0627`;
+ }
+ return `\u063A\u0644\u0637 \u0627\u0646 \u067E\u0679: ${expected} \u0645\u062A\u0648\u0642\u0639 \u062A\u06BE\u0627\u060C ${received} \u0645\u0648\u0635\u0648\u0644 \u06C1\u0648\u0627`;
+ }
+ case "invalid_value":
+ if (issue2.values.length === 1)
+ return `\u063A\u0644\u0637 \u0627\u0646 \u067E\u0679: ${stringifyPrimitive(issue2.values[0])} \u0645\u062A\u0648\u0642\u0639 \u062A\u06BE\u0627`;
+ return `\u063A\u0644\u0637 \u0622\u067E\u0634\u0646: ${joinValues(issue2.values, "|")} \u0645\u06CC\u06BA \u0633\u06D2 \u0627\u06CC\u06A9 \u0645\u062A\u0648\u0642\u0639 \u062A\u06BE\u0627`;
+ case "too_big": {
+ const adj = issue2.inclusive ? "<=" : "<";
+ const sizing = getSizing(issue2.origin);
+ if (sizing)
+ return `\u0628\u06C1\u062A \u0628\u0691\u0627: ${issue2.origin ?? "\u0648\u06CC\u0644\u06CC\u0648"} \u06A9\u06D2 ${adj}${issue2.maximum.toString()} ${sizing.unit ?? "\u0639\u0646\u0627\u0635\u0631"} \u06C1\u0648\u0646\u06D2 \u0645\u062A\u0648\u0642\u0639 \u062A\u06BE\u06D2`;
+ return `\u0628\u06C1\u062A \u0628\u0691\u0627: ${issue2.origin ?? "\u0648\u06CC\u0644\u06CC\u0648"} \u06A9\u0627 ${adj}${issue2.maximum.toString()} \u06C1\u0648\u0646\u0627 \u0645\u062A\u0648\u0642\u0639 \u062A\u06BE\u0627`;
+ }
+ case "too_small": {
+ const adj = issue2.inclusive ? ">=" : ">";
+ const sizing = getSizing(issue2.origin);
+ if (sizing) {
+ return `\u0628\u06C1\u062A \u0686\u06BE\u0648\u0679\u0627: ${issue2.origin} \u06A9\u06D2 ${adj}${issue2.minimum.toString()} ${sizing.unit} \u06C1\u0648\u0646\u06D2 \u0645\u062A\u0648\u0642\u0639 \u062A\u06BE\u06D2`;
+ }
+ return `\u0628\u06C1\u062A \u0686\u06BE\u0648\u0679\u0627: ${issue2.origin} \u06A9\u0627 ${adj}${issue2.minimum.toString()} \u06C1\u0648\u0646\u0627 \u0645\u062A\u0648\u0642\u0639 \u062A\u06BE\u0627`;
+ }
+ case "invalid_format": {
+ const _issue = issue2;
+ if (_issue.format === "starts_with") {
+ return `\u063A\u0644\u0637 \u0633\u0679\u0631\u0646\u06AF: "${_issue.prefix}" \u0633\u06D2 \u0634\u0631\u0648\u0639 \u06C1\u0648\u0646\u0627 \u0686\u0627\u06C1\u06CC\u06D2`;
+ }
+ if (_issue.format === "ends_with")
+ return `\u063A\u0644\u0637 \u0633\u0679\u0631\u0646\u06AF: "${_issue.suffix}" \u067E\u0631 \u062E\u062A\u0645 \u06C1\u0648\u0646\u0627 \u0686\u0627\u06C1\u06CC\u06D2`;
+ if (_issue.format === "includes")
+ return `\u063A\u0644\u0637 \u0633\u0679\u0631\u0646\u06AF: "${_issue.includes}" \u0634\u0627\u0645\u0644 \u06C1\u0648\u0646\u0627 \u0686\u0627\u06C1\u06CC\u06D2`;
+ if (_issue.format === "regex")
+ return `\u063A\u0644\u0637 \u0633\u0679\u0631\u0646\u06AF: \u067E\u06CC\u0679\u0631\u0646 ${_issue.pattern} \u0633\u06D2 \u0645\u06CC\u0686 \u06C1\u0648\u0646\u0627 \u0686\u0627\u06C1\u06CC\u06D2`;
+ return `\u063A\u0644\u0637 ${FormatDictionary[_issue.format] ?? issue2.format}`;
+ }
+ case "not_multiple_of":
+ return `\u063A\u0644\u0637 \u0646\u0645\u0628\u0631: ${issue2.divisor} \u06A9\u0627 \u0645\u0636\u0627\u0639\u0641 \u06C1\u0648\u0646\u0627 \u0686\u0627\u06C1\u06CC\u06D2`;
+ case "unrecognized_keys":
+ return `\u063A\u06CC\u0631 \u062A\u0633\u0644\u06CC\u0645 \u0634\u062F\u06C1 \u06A9\u06CC${issue2.keys.length > 1 ? "\u0632" : ""}: ${joinValues(issue2.keys, "\u060C ")}`;
+ case "invalid_key":
+ return `${issue2.origin} \u0645\u06CC\u06BA \u063A\u0644\u0637 \u06A9\u06CC`;
+ case "invalid_union":
+ return "\u063A\u0644\u0637 \u0627\u0646 \u067E\u0679";
+ case "invalid_element":
+ return `${issue2.origin} \u0645\u06CC\u06BA \u063A\u0644\u0637 \u0648\u06CC\u0644\u06CC\u0648`;
+ default:
+ return `\u063A\u0644\u0637 \u0627\u0646 \u067E\u0679`;
+ }
+ };
+}, "error");
+function ur_default() {
+ return {
+ localeError: error56()
+ };
+}
+__name(ur_default, "default");
+
+// ../../node_modules/.pnpm/zod@4.6.7/node_modules/zod/v4/locales/uz.js
+var error57 = /* @__PURE__ */ __name(() => {
+ const Sizable = {
+ string: { unit: "belgi", verb: "bo\u2018lishi kerak" },
+ file: { unit: "bayt", verb: "bo\u2018lishi kerak" },
+ array: { unit: "element", verb: "bo\u2018lishi kerak" },
+ set: { unit: "element", verb: "bo\u2018lishi kerak" },
+ map: { unit: "yozuv", verb: "bo\u2018lishi kerak" }
+ };
+ function getSizing(origin) {
+ return Sizable[origin] ?? null;
+ }
+ __name(getSizing, "getSizing");
+ const FormatDictionary = {
+ regex: "kirish",
+ email: "elektron pochta manzili",
+ url: "URL",
+ emoji: "emoji",
+ uuid: "UUID",
+ uuidv4: "UUIDv4",
+ uuidv6: "UUIDv6",
+ nanoid: "nanoid",
+ guid: "GUID",
+ cuid: "cuid",
+ cuid2: "cuid2",
+ ulid: "ULID",
+ xid: "XID",
+ ksuid: "KSUID",
+ datetime: "ISO sana va vaqti",
+ date: "ISO sana",
+ time: "ISO vaqt",
+ duration: "ISO davomiylik",
+ ipv4: "IPv4 manzil",
+ ipv6: "IPv6 manzil",
+ mac: "MAC manzil",
+ cidrv4: "IPv4 diapazon",
+ cidrv6: "IPv6 diapazon",
+ base64: "base64 kodlangan satr",
+ base64url: "base64url kodlangan satr",
+ json_string: "JSON satr",
+ e164: "E.164 raqam",
+ credit_card: "kredit karta raqami",
+ currency_code: "valyuta kodi",
+ iban: "IBAN",
+ jwt: "JWT",
+ template_literal: "kirish"
+ };
+ const TypeDictionary = {
+ nan: "NaN",
+ number: "raqam",
+ array: "massiv"
+ };
+ return (issue2) => {
+ switch (issue2.code) {
+ case "invalid_type": {
+ const expected = TypeDictionary[issue2.expected] ?? issue2.expected;
+ const receivedType = parsedType(issue2.input);
+ const received = TypeDictionary[receivedType] ?? receivedType;
+ if (/^[A-Z]/.test(issue2.expected)) {
+ return `Noto\u2018g\u2018ri kirish: kutilgan instanceof ${issue2.expected}, qabul qilingan ${received}`;
+ }
+ return `Noto\u2018g\u2018ri kirish: kutilgan ${expected}, qabul qilingan ${received}`;
+ }
+ case "invalid_value":
+ if (issue2.values.length === 1)
+ return `Noto\u2018g\u2018ri kirish: kutilgan ${stringifyPrimitive(issue2.values[0])}`;
+ return `Noto\u2018g\u2018ri variant: quyidagilardan biri kutilgan ${joinValues(issue2.values, "|")}`;
+ case "too_big": {
+ const adj = issue2.inclusive ? "<=" : "<";
+ const sizing = getSizing(issue2.origin);
+ if (sizing)
+ return `Juda katta: kutilgan ${issue2.origin ?? "qiymat"} ${adj}${issue2.maximum.toString()} ${sizing.unit} ${sizing.verb}`;
+ return `Juda katta: kutilgan ${issue2.origin ?? "qiymat"} ${adj}${issue2.maximum.toString()}`;
+ }
+ case "too_small": {
+ const adj = issue2.inclusive ? ">=" : ">";
+ const sizing = getSizing(issue2.origin);
+ if (sizing) {
+ return `Juda kichik: kutilgan ${issue2.origin} ${adj}${issue2.minimum.toString()} ${sizing.unit} ${sizing.verb}`;
+ }
+ return `Juda kichik: kutilgan ${issue2.origin} ${adj}${issue2.minimum.toString()}`;
+ }
+ case "invalid_format": {
+ const _issue = issue2;
+ if (_issue.format === "starts_with")
+ return `Noto\u2018g\u2018ri satr: "${_issue.prefix}" bilan boshlanishi kerak`;
+ if (_issue.format === "ends_with")
+ return `Noto\u2018g\u2018ri satr: "${_issue.suffix}" bilan tugashi kerak`;
+ if (_issue.format === "includes")
+ return `Noto\u2018g\u2018ri satr: "${_issue.includes}" ni o\u2018z ichiga olishi kerak`;
+ if (_issue.format === "regex")
+ return `Noto\u2018g\u2018ri satr: ${_issue.pattern} shabloniga mos kelishi kerak`;
+ return `Noto\u2018g\u2018ri ${FormatDictionary[_issue.format] ?? issue2.format}`;
+ }
+ case "not_multiple_of":
+ return `Noto\u2018g\u2018ri raqam: ${issue2.divisor} ning karralisi bo\u2018lishi kerak`;
+ case "unrecognized_keys":
+ return `Noma\u2019lum kalit${issue2.keys.length > 1 ? "lar" : ""}: ${joinValues(issue2.keys, ", ")}`;
+ case "invalid_key":
+ return `${issue2.origin} dagi kalit noto\u2018g\u2018ri`;
+ case "invalid_union":
+ return "Noto\u2018g\u2018ri kirish";
+ case "invalid_element":
+ return `${issue2.origin} da noto\u2018g\u2018ri qiymat`;
+ default:
+ return `Noto\u2018g\u2018ri kirish`;
+ }
+ };
+}, "error");
+function uz_default() {
+ return {
+ localeError: error57()
+ };
+}
+__name(uz_default, "default");
+
+// ../../node_modules/.pnpm/zod@4.6.7/node_modules/zod/v4/locales/vi.js
+var error58 = /* @__PURE__ */ __name(() => {
+ const Sizable = {
+ string: { unit: "k\xFD t\u1EF1", verb: "c\xF3" },
+ file: { unit: "byte", verb: "c\xF3" },
+ array: { unit: "ph\u1EA7n t\u1EED", verb: "c\xF3" },
+ set: { unit: "ph\u1EA7n t\u1EED", verb: "c\xF3" },
+ map: { unit: "ph\u1EA7n t\u1EED", verb: "c\xF3" }
+ };
+ function getSizing(origin) {
+ return Sizable[origin] ?? null;
+ }
+ __name(getSizing, "getSizing");
+ const FormatDictionary = {
+ regex: "\u0111\u1EA7u v\xE0o",
+ email: "\u0111\u1ECBa ch\u1EC9 email",
+ url: "URL",
+ emoji: "emoji",
+ uuid: "UUID",
+ uuidv4: "UUIDv4",
+ uuidv6: "UUIDv6",
+ nanoid: "nanoid",
+ guid: "GUID",
+ cuid: "cuid",
+ cuid2: "cuid2",
+ ulid: "ULID",
+ xid: "XID",
+ ksuid: "KSUID",
+ datetime: "ng\xE0y gi\u1EDD ISO",
+ date: "ng\xE0y ISO",
+ time: "gi\u1EDD ISO",
+ duration: "kho\u1EA3ng th\u1EDDi gian ISO",
+ ipv4: "\u0111\u1ECBa ch\u1EC9 IPv4",
+ ipv6: "\u0111\u1ECBa ch\u1EC9 IPv6",
+ mac: "\u0111\u1ECBa ch\u1EC9 MAC",
+ cidrv4: "d\u1EA3i IPv4",
+ cidrv6: "d\u1EA3i IPv6",
+ base64: "chu\u1ED7i m\xE3 h\xF3a base64",
+ base64url: "chu\u1ED7i m\xE3 h\xF3a base64url",
+ json_string: "chu\u1ED7i JSON",
+ e164: "s\u1ED1 E.164",
+ credit_card: "s\u1ED1 th\u1EBB t\xEDn d\u1EE5ng",
+ currency_code: "m\xE3 ti\u1EC1n t\u1EC7",
+ iban: "IBAN",
+ jwt: "JWT",
+ template_literal: "\u0111\u1EA7u v\xE0o"
+ };
+ const TypeDictionary = {
+ nan: "NaN",
+ number: "s\u1ED1",
+ array: "m\u1EA3ng"
+ };
+ return (issue2) => {
+ switch (issue2.code) {
+ case "invalid_type": {
+ const expected = TypeDictionary[issue2.expected] ?? issue2.expected;
+ const receivedType = parsedType(issue2.input);
+ const received = TypeDictionary[receivedType] ?? receivedType;
+ if (/^[A-Z]/.test(issue2.expected)) {
+ return `\u0110\u1EA7u v\xE0o kh\xF4ng h\u1EE3p l\u1EC7: mong \u0111\u1EE3i instanceof ${issue2.expected}, nh\u1EADn \u0111\u01B0\u1EE3c ${received}`;
+ }
+ return `\u0110\u1EA7u v\xE0o kh\xF4ng h\u1EE3p l\u1EC7: mong \u0111\u1EE3i ${expected}, nh\u1EADn \u0111\u01B0\u1EE3c ${received}`;
+ }
+ case "invalid_value":
+ if (issue2.values.length === 1)
+ return `\u0110\u1EA7u v\xE0o kh\xF4ng h\u1EE3p l\u1EC7: mong \u0111\u1EE3i ${stringifyPrimitive(issue2.values[0])}`;
+ return `T\xF9y ch\u1ECDn kh\xF4ng h\u1EE3p l\u1EC7: mong \u0111\u1EE3i m\u1ED9t trong c\xE1c gi\xE1 tr\u1ECB ${joinValues(issue2.values, "|")}`;
+ case "too_big": {
+ const adj = issue2.inclusive ? "<=" : "<";
+ const sizing = getSizing(issue2.origin);
+ if (sizing)
+ return `Qu\xE1 l\u1EDBn: mong \u0111\u1EE3i ${issue2.origin ?? "gi\xE1 tr\u1ECB"} ${sizing.verb} ${adj}${issue2.maximum.toString()} ${sizing.unit ?? "ph\u1EA7n t\u1EED"}`;
+ return `Qu\xE1 l\u1EDBn: mong \u0111\u1EE3i ${issue2.origin ?? "gi\xE1 tr\u1ECB"} ${adj}${issue2.maximum.toString()}`;
+ }
+ case "too_small": {
+ const adj = issue2.inclusive ? ">=" : ">";
+ const sizing = getSizing(issue2.origin);
+ if (sizing) {
+ return `Qu\xE1 nh\u1ECF: mong \u0111\u1EE3i ${issue2.origin} ${sizing.verb} ${adj}${issue2.minimum.toString()} ${sizing.unit}`;
+ }
+ return `Qu\xE1 nh\u1ECF: mong \u0111\u1EE3i ${issue2.origin} ${adj}${issue2.minimum.toString()}`;
+ }
+ case "invalid_format": {
+ const _issue = issue2;
+ if (_issue.format === "starts_with")
+ return `Chu\u1ED7i kh\xF4ng h\u1EE3p l\u1EC7: ph\u1EA3i b\u1EAFt \u0111\u1EA7u b\u1EB1ng "${_issue.prefix}"`;
+ if (_issue.format === "ends_with")
+ return `Chu\u1ED7i kh\xF4ng h\u1EE3p l\u1EC7: ph\u1EA3i k\u1EBFt th\xFAc b\u1EB1ng "${_issue.suffix}"`;
+ if (_issue.format === "includes")
+ return `Chu\u1ED7i kh\xF4ng h\u1EE3p l\u1EC7: ph\u1EA3i bao g\u1ED3m "${_issue.includes}"`;
+ if (_issue.format === "regex")
+ return `Chu\u1ED7i kh\xF4ng h\u1EE3p l\u1EC7: ph\u1EA3i kh\u1EDBp v\u1EDBi m\u1EABu ${_issue.pattern}`;
+ return `${FormatDictionary[_issue.format] ?? issue2.format} kh\xF4ng h\u1EE3p l\u1EC7`;
+ }
+ case "not_multiple_of":
+ return `S\u1ED1 kh\xF4ng h\u1EE3p l\u1EC7: ph\u1EA3i l\xE0 b\u1ED9i s\u1ED1 c\u1EE7a ${issue2.divisor}`;
+ case "unrecognized_keys":
+ return `Kh\xF3a kh\xF4ng \u0111\u01B0\u1EE3c nh\u1EADn d\u1EA1ng: ${joinValues(issue2.keys, ", ")}`;
+ case "invalid_key":
+ return `Kh\xF3a kh\xF4ng h\u1EE3p l\u1EC7 trong ${issue2.origin}`;
+ case "invalid_union":
+ return "\u0110\u1EA7u v\xE0o kh\xF4ng h\u1EE3p l\u1EC7";
+ case "invalid_element":
+ return `Gi\xE1 tr\u1ECB kh\xF4ng h\u1EE3p l\u1EC7 trong ${issue2.origin}`;
+ default:
+ return `\u0110\u1EA7u v\xE0o kh\xF4ng h\u1EE3p l\u1EC7`;
+ }
+ };
+}, "error");
+function vi_default() {
+ return {
+ localeError: error58()
+ };
+}
+__name(vi_default, "default");
+
+// ../../node_modules/.pnpm/zod@4.6.7/node_modules/zod/v4/locales/zh-CN.js
+var error59 = /* @__PURE__ */ __name(() => {
+ const Sizable = {
+ string: { unit: "\u5B57\u7B26", verb: "\u5305\u542B" },
+ file: { unit: "\u5B57\u8282", verb: "\u5305\u542B" },
+ array: { unit: "\u9879", verb: "\u5305\u542B" },
+ set: { unit: "\u9879", verb: "\u5305\u542B" },
+ map: { unit: "\u9879", verb: "\u5305\u542B" }
+ };
+ function getSizing(origin) {
+ return Sizable[origin] ?? null;
+ }
+ __name(getSizing, "getSizing");
+ const FormatDictionary = {
+ regex: "\u8F93\u5165",
+ email: "\u7535\u5B50\u90AE\u4EF6",
+ url: "URL",
+ emoji: "\u8868\u60C5\u7B26\u53F7",
+ uuid: "UUID",
+ uuidv4: "UUIDv4",
+ uuidv6: "UUIDv6",
+ nanoid: "nanoid",
+ guid: "GUID",
+ cuid: "cuid",
+ cuid2: "cuid2",
+ ulid: "ULID",
+ xid: "XID",
+ ksuid: "KSUID",
+ datetime: "ISO\u65E5\u671F\u65F6\u95F4",
+ date: "ISO\u65E5\u671F",
+ time: "ISO\u65F6\u95F4",
+ duration: "ISO\u65F6\u957F",
+ ipv4: "IPv4\u5730\u5740",
+ ipv6: "IPv6\u5730\u5740",
+ mac: "MAC\u5730\u5740",
+ cidrv4: "IPv4\u7F51\u6BB5",
+ cidrv6: "IPv6\u7F51\u6BB5",
+ base64: "base64\u7F16\u7801\u5B57\u7B26\u4E32",
+ base64url: "base64url\u7F16\u7801\u5B57\u7B26\u4E32",
+ json_string: "JSON\u5B57\u7B26\u4E32",
+ e164: "E.164\u53F7\u7801",
+ credit_card: "\u4FE1\u7528\u5361\u53F7",
+ currency_code: "\u8D27\u5E01\u4EE3\u7801",
+ iban: "IBAN",
+ jwt: "JWT",
+ template_literal: "\u8F93\u5165"
+ };
+ const TypeDictionary = {
+ nan: "NaN",
+ number: "\u6570\u5B57",
+ array: "\u6570\u7EC4",
+ null: "\u7A7A\u503C(null)"
+ };
+ return (issue2) => {
+ switch (issue2.code) {
+ case "invalid_type": {
+ const expected = TypeDictionary[issue2.expected] ?? issue2.expected;
+ const receivedType = parsedType(issue2.input);
+ const received = TypeDictionary[receivedType] ?? receivedType;
+ if (/^[A-Z]/.test(issue2.expected)) {
+ return `\u65E0\u6548\u8F93\u5165\uFF1A\u671F\u671B instanceof ${issue2.expected}\uFF0C\u5B9E\u9645\u63A5\u6536 ${received}`;
+ }
+ return `\u65E0\u6548\u8F93\u5165\uFF1A\u671F\u671B ${expected}\uFF0C\u5B9E\u9645\u63A5\u6536 ${received}`;
+ }
+ case "invalid_value":
+ if (issue2.values.length === 1)
+ return `\u65E0\u6548\u8F93\u5165\uFF1A\u671F\u671B ${stringifyPrimitive(issue2.values[0])}`;
+ return `\u65E0\u6548\u9009\u9879\uFF1A\u671F\u671B\u4EE5\u4E0B\u4E4B\u4E00 ${joinValues(issue2.values, "|")}`;
+ case "too_big": {
+ const adj = issue2.inclusive ? "<=" : "<";
+ const sizing = getSizing(issue2.origin);
+ if (sizing)
+ return `\u6570\u503C\u8FC7\u5927\uFF1A\u671F\u671B ${issue2.origin ?? "\u503C"} ${adj}${issue2.maximum.toString()} ${sizing.unit ?? "\u4E2A\u5143\u7D20"}`;
+ return `\u6570\u503C\u8FC7\u5927\uFF1A\u671F\u671B ${issue2.origin ?? "\u503C"} ${adj}${issue2.maximum.toString()}`;
+ }
+ case "too_small": {
+ const adj = issue2.inclusive ? ">=" : ">";
+ const sizing = getSizing(issue2.origin);
+ if (sizing) {
+ return `\u6570\u503C\u8FC7\u5C0F\uFF1A\u671F\u671B ${issue2.origin} ${adj}${issue2.minimum.toString()} ${sizing.unit}`;
+ }
+ return `\u6570\u503C\u8FC7\u5C0F\uFF1A\u671F\u671B ${issue2.origin} ${adj}${issue2.minimum.toString()}`;
+ }
+ case "invalid_format": {
+ const _issue = issue2;
+ if (_issue.format === "starts_with")
+ return `\u65E0\u6548\u5B57\u7B26\u4E32\uFF1A\u5FC5\u987B\u4EE5 "${_issue.prefix}" \u5F00\u5934`;
+ if (_issue.format === "ends_with")
+ return `\u65E0\u6548\u5B57\u7B26\u4E32\uFF1A\u5FC5\u987B\u4EE5 "${_issue.suffix}" \u7ED3\u5C3E`;
+ if (_issue.format === "includes")
+ return `\u65E0\u6548\u5B57\u7B26\u4E32\uFF1A\u5FC5\u987B\u5305\u542B "${_issue.includes}"`;
+ if (_issue.format === "regex")
+ return `\u65E0\u6548\u5B57\u7B26\u4E32\uFF1A\u5FC5\u987B\u6EE1\u8DB3\u6B63\u5219\u8868\u8FBE\u5F0F ${_issue.pattern}`;
+ return `\u65E0\u6548${FormatDictionary[_issue.format] ?? issue2.format}`;
+ }
+ case "not_multiple_of":
+ return `\u65E0\u6548\u6570\u5B57\uFF1A\u5FC5\u987B\u662F ${issue2.divisor} \u7684\u500D\u6570`;
+ case "unrecognized_keys":
+ return `\u51FA\u73B0\u672A\u77E5\u7684\u952E(key): ${joinValues(issue2.keys, ", ")}`;
+ case "invalid_key":
+ return `${issue2.origin} \u4E2D\u7684\u952E(key)\u65E0\u6548`;
+ case "invalid_union":
+ return "\u65E0\u6548\u8F93\u5165";
+ case "invalid_element":
+ return `${issue2.origin} \u4E2D\u5305\u542B\u65E0\u6548\u503C(value)`;
+ default:
+ return `\u65E0\u6548\u8F93\u5165`;
+ }
+ };
+}, "error");
+function zh_CN_default() {
+ return {
+ localeError: error59()
+ };
+}
+__name(zh_CN_default, "default");
+
+// ../../node_modules/.pnpm/zod@4.6.7/node_modules/zod/v4/locales/zh-TW.js
+var error60 = /* @__PURE__ */ __name(() => {
+ const Sizable = {
+ string: { unit: "\u5B57\u5143", verb: "\u64C1\u6709" },
+ file: { unit: "\u4F4D\u5143\u7D44", verb: "\u64C1\u6709" },
+ array: { unit: "\u9805\u76EE", verb: "\u64C1\u6709" },
+ set: { unit: "\u9805\u76EE", verb: "\u64C1\u6709" },
+ map: { unit: "\u9805\u76EE", verb: "\u64C1\u6709" }
+ };
+ function getSizing(origin) {
+ return Sizable[origin] ?? null;
+ }
+ __name(getSizing, "getSizing");
+ const FormatDictionary = {
+ regex: "\u8F38\u5165",
+ email: "\u90F5\u4EF6\u5730\u5740",
+ url: "URL",
+ emoji: "emoji",
+ uuid: "UUID",
+ uuidv4: "UUIDv4",
+ uuidv6: "UUIDv6",
+ nanoid: "nanoid",
+ guid: "GUID",
+ cuid: "cuid",
+ cuid2: "cuid2",
+ ulid: "ULID",
+ xid: "XID",
+ ksuid: "KSUID",
+ datetime: "ISO \u65E5\u671F\u6642\u9593",
+ date: "ISO \u65E5\u671F",
+ time: "ISO \u6642\u9593",
+ duration: "ISO \u671F\u9593",
+ ipv4: "IPv4 \u4F4D\u5740",
+ ipv6: "IPv6 \u4F4D\u5740",
+ mac: "MAC \u4F4D\u5740",
+ cidrv4: "IPv4 \u7BC4\u570D",
+ cidrv6: "IPv6 \u7BC4\u570D",
+ base64: "base64 \u7DE8\u78BC\u5B57\u4E32",
+ base64url: "base64url \u7DE8\u78BC\u5B57\u4E32",
+ json_string: "JSON \u5B57\u4E32",
+ e164: "E.164 \u6578\u503C",
+ credit_card: "\u4FE1\u7528\u5361\u865F",
+ currency_code: "\u8CA8\u5E63\u4EE3\u78BC",
+ iban: "IBAN",
+ jwt: "JWT",
+ template_literal: "\u8F38\u5165"
+ };
+ const TypeDictionary = {
+ nan: "NaN"
+ };
+ return (issue2) => {
+ switch (issue2.code) {
+ case "invalid_type": {
+ const expected = TypeDictionary[issue2.expected] ?? issue2.expected;
+ const receivedType = parsedType(issue2.input);
+ const received = TypeDictionary[receivedType] ?? receivedType;
+ if (/^[A-Z]/.test(issue2.expected)) {
+ return `\u7121\u6548\u7684\u8F38\u5165\u503C\uFF1A\u9810\u671F\u70BA instanceof ${issue2.expected}\uFF0C\u4F46\u6536\u5230 ${received}`;
+ }
+ return `\u7121\u6548\u7684\u8F38\u5165\u503C\uFF1A\u9810\u671F\u70BA ${expected}\uFF0C\u4F46\u6536\u5230 ${received}`;
+ }
+ case "invalid_value":
+ if (issue2.values.length === 1)
+ return `\u7121\u6548\u7684\u8F38\u5165\u503C\uFF1A\u9810\u671F\u70BA ${stringifyPrimitive(issue2.values[0])}`;
+ return `\u7121\u6548\u7684\u9078\u9805\uFF1A\u9810\u671F\u70BA\u4EE5\u4E0B\u5176\u4E2D\u4E4B\u4E00 ${joinValues(issue2.values, "|")}`;
+ case "too_big": {
+ const adj = issue2.inclusive ? "<=" : "<";
+ const sizing = getSizing(issue2.origin);
+ if (sizing)
+ return `\u6578\u503C\u904E\u5927\uFF1A\u9810\u671F ${issue2.origin ?? "\u503C"} \u61C9\u70BA ${adj}${issue2.maximum.toString()} ${sizing.unit ?? "\u500B\u5143\u7D20"}`;
+ return `\u6578\u503C\u904E\u5927\uFF1A\u9810\u671F ${issue2.origin ?? "\u503C"} \u61C9\u70BA ${adj}${issue2.maximum.toString()}`;
+ }
+ case "too_small": {
+ const adj = issue2.inclusive ? ">=" : ">";
+ const sizing = getSizing(issue2.origin);
+ if (sizing) {
+ return `\u6578\u503C\u904E\u5C0F\uFF1A\u9810\u671F ${issue2.origin} \u61C9\u70BA ${adj}${issue2.minimum.toString()} ${sizing.unit}`;
+ }
+ return `\u6578\u503C\u904E\u5C0F\uFF1A\u9810\u671F ${issue2.origin} \u61C9\u70BA ${adj}${issue2.minimum.toString()}`;
+ }
+ case "invalid_format": {
+ const _issue = issue2;
+ if (_issue.format === "starts_with") {
+ return `\u7121\u6548\u7684\u5B57\u4E32\uFF1A\u5FC5\u9808\u4EE5 "${_issue.prefix}" \u958B\u982D`;
+ }
+ if (_issue.format === "ends_with")
+ return `\u7121\u6548\u7684\u5B57\u4E32\uFF1A\u5FC5\u9808\u4EE5 "${_issue.suffix}" \u7D50\u5C3E`;
+ if (_issue.format === "includes")
+ return `\u7121\u6548\u7684\u5B57\u4E32\uFF1A\u5FC5\u9808\u5305\u542B "${_issue.includes}"`;
+ if (_issue.format === "regex")
+ return `\u7121\u6548\u7684\u5B57\u4E32\uFF1A\u5FC5\u9808\u7B26\u5408\u683C\u5F0F ${_issue.pattern}`;
+ return `\u7121\u6548\u7684 ${FormatDictionary[_issue.format] ?? issue2.format}`;
+ }
+ case "not_multiple_of":
+ return `\u7121\u6548\u7684\u6578\u5B57\uFF1A\u5FC5\u9808\u70BA ${issue2.divisor} \u7684\u500D\u6578`;
+ case "unrecognized_keys":
+ return `\u7121\u6CD5\u8B58\u5225\u7684\u9375\u503C${issue2.keys.length > 1 ? "\u5011" : ""}\uFF1A${joinValues(issue2.keys, "\u3001")}`;
+ case "invalid_key":
+ return `${issue2.origin} \u4E2D\u6709\u7121\u6548\u7684\u9375\u503C`;
+ case "invalid_union":
+ return "\u7121\u6548\u7684\u8F38\u5165\u503C";
+ case "invalid_element":
+ return `${issue2.origin} \u4E2D\u6709\u7121\u6548\u7684\u503C`;
+ default:
+ return `\u7121\u6548\u7684\u8F38\u5165\u503C`;
+ }
+ };
+}, "error");
+function zh_TW_default() {
+ return {
+ localeError: error60()
+ };
+}
+__name(zh_TW_default, "default");
+
+// ../../node_modules/.pnpm/zod@4.6.7/node_modules/zod/v4/locales/yo.js
+var error61 = /* @__PURE__ */ __name(() => {
+ const Sizable = {
+ string: { unit: "\xE0mi", verb: "n\xED" },
+ file: { unit: "bytes", verb: "n\xED" },
+ array: { unit: "nkan", verb: "n\xED" },
+ set: { unit: "nkan", verb: "n\xED" },
+ map: { unit: "nkan", verb: "n\xED" }
+ };
+ function getSizing(origin) {
+ return Sizable[origin] ?? null;
+ }
+ __name(getSizing, "getSizing");
+ const FormatDictionary = {
+ regex: "\u1EB9\u0300r\u1ECD \xECb\xE1w\u1ECDl\xE9",
+ email: "\xE0d\xEDr\u1EB9\u0301s\xEC \xECm\u1EB9\u0301l\xEC",
+ url: "URL",
+ emoji: "emoji",
+ uuid: "UUID",
+ uuidv4: "UUIDv4",
+ uuidv6: "UUIDv6",
+ nanoid: "nanoid",
+ guid: "GUID",
+ cuid: "cuid",
+ cuid2: "cuid2",
+ ulid: "ULID",
+ xid: "XID",
+ ksuid: "KSUID",
+ datetime: "\xE0k\xF3k\xF2 ISO",
+ date: "\u1ECDj\u1ECD\u0301 ISO",
+ time: "\xE0k\xF3k\xF2 ISO",
+ duration: "\xE0k\xF3k\xF2 t\xF3 p\xE9 ISO",
+ ipv4: "\xE0d\xEDr\u1EB9\u0301s\xEC IPv4",
+ ipv6: "\xE0d\xEDr\u1EB9\u0301s\xEC IPv6",
+ mac: "\xE0d\xEDr\u1EB9\u0301s\xEC MAC",
+ cidrv4: "\xE0gb\xE8gb\xE8 IPv4",
+ cidrv6: "\xE0gb\xE8gb\xE8 IPv6",
+ base64: "\u1ECD\u0300r\u1ECD\u0300 t\xED a k\u1ECD\u0301 n\xED base64",
+ base64url: "\u1ECD\u0300r\u1ECD\u0300 base64url",
+ json_string: "\u1ECD\u0300r\u1ECD\u0300 JSON",
+ e164: "n\u1ECD\u0301mb\xE0 E.164",
+ credit_card: "n\u1ECDmba kaadi gbese",
+ currency_code: "koodu ow\xF3",
+ iban: "IBAN",
+ jwt: "JWT",
+ template_literal: "\u1EB9\u0300r\u1ECD \xECb\xE1w\u1ECDl\xE9"
+ };
+ const TypeDictionary = {
+ nan: "NaN",
+ number: "n\u1ECD\u0301mb\xE0",
+ array: "akop\u1ECD"
+ };
+ return (issue2) => {
+ switch (issue2.code) {
+ case "invalid_type": {
+ const expected = TypeDictionary[issue2.expected] ?? issue2.expected;
+ const receivedType = parsedType(issue2.input);
+ const received = TypeDictionary[receivedType] ?? receivedType;
+ if (/^[A-Z]/.test(issue2.expected)) {
+ return `\xCCb\xE1w\u1ECDl\xE9 a\u1E63\xEC\u1E63e: a n\xED l\xE1ti fi instanceof ${issue2.expected}, \xE0m\u1ECD\u0300 a r\xED ${received}`;
+ }
+ return `\xCCb\xE1w\u1ECDl\xE9 a\u1E63\xEC\u1E63e: a n\xED l\xE1ti fi ${expected}, \xE0m\u1ECD\u0300 a r\xED ${received}`;
+ }
+ case "invalid_value":
+ if (issue2.values.length === 1)
+ return `\xCCb\xE1w\u1ECDl\xE9 a\u1E63\xEC\u1E63e: a n\xED l\xE1ti fi ${stringifyPrimitive(issue2.values[0])}`;
+ return `\xC0\u1E63\xE0y\xE0n a\u1E63\xEC\u1E63e: yan \u1ECD\u0300kan l\xE1ra ${joinValues(issue2.values, "|")}`;
+ case "too_big": {
+ const adj = issue2.inclusive ? "<=" : "<";
+ const sizing = getSizing(issue2.origin);
+ if (sizing)
+ return `T\xF3 p\u1ECD\u0300 j\xF9: a n\xED l\xE1ti j\u1EB9\u0301 p\xE9 ${issue2.origin ?? "iye"} ${sizing.verb} ${adj}${issue2.maximum} ${sizing.unit}`;
+ return `T\xF3 p\u1ECD\u0300 j\xF9: a n\xED l\xE1ti j\u1EB9\u0301 ${adj}${issue2.maximum}`;
+ }
+ case "too_small": {
+ const adj = issue2.inclusive ? ">=" : ">";
+ const sizing = getSizing(issue2.origin);
+ if (sizing)
+ return `K\xE9r\xE9 ju: a n\xED l\xE1ti j\u1EB9\u0301 p\xE9 ${issue2.origin} ${sizing.verb} ${adj}${issue2.minimum} ${sizing.unit}`;
+ return `K\xE9r\xE9 ju: a n\xED l\xE1ti j\u1EB9\u0301 ${adj}${issue2.minimum}`;
+ }
+ case "invalid_format": {
+ const _issue = issue2;
+ if (_issue.format === "starts_with")
+ return `\u1ECC\u0300r\u1ECD\u0300 a\u1E63\xEC\u1E63e: gb\u1ECD\u0301d\u1ECD\u0300 b\u1EB9\u0300r\u1EB9\u0300 p\u1EB9\u0300l\xFA "${_issue.prefix}"`;
+ if (_issue.format === "ends_with")
+ return `\u1ECC\u0300r\u1ECD\u0300 a\u1E63\xEC\u1E63e: gb\u1ECD\u0301d\u1ECD\u0300 par\xED p\u1EB9\u0300l\xFA "${_issue.suffix}"`;
+ if (_issue.format === "includes")
+ return `\u1ECC\u0300r\u1ECD\u0300 a\u1E63\xEC\u1E63e: gb\u1ECD\u0301d\u1ECD\u0300 n\xED "${_issue.includes}"`;
+ if (_issue.format === "regex")
+ return `\u1ECC\u0300r\u1ECD\u0300 a\u1E63\xEC\u1E63e: gb\u1ECD\u0301d\u1ECD\u0300 b\xE1 \xE0p\u1EB9\u1EB9r\u1EB9 mu ${_issue.pattern}`;
+ return `A\u1E63\xEC\u1E63e: ${FormatDictionary[_issue.format] ?? issue2.format}`;
+ }
+ case "not_multiple_of":
+ return `N\u1ECD\u0301mb\xE0 a\u1E63\xEC\u1E63e: gb\u1ECD\u0301d\u1ECD\u0300 j\u1EB9\u0301 \xE8y\xE0 p\xEDp\xEDn ti ${issue2.divisor}`;
+ case "unrecognized_keys":
+ return `B\u1ECDt\xECn\xEC \xE0\xECm\u1ECD\u0300: ${joinValues(issue2.keys, ", ")}`;
+ case "invalid_key":
+ return `B\u1ECDt\xECn\xEC a\u1E63\xEC\u1E63e n\xEDn\xFA ${issue2.origin}`;
+ case "invalid_union":
+ return "\xCCb\xE1w\u1ECDl\xE9 a\u1E63\xEC\u1E63e";
+ case "invalid_element":
+ return `Iye a\u1E63\xEC\u1E63e n\xEDn\xFA ${issue2.origin}`;
+ default:
+ return "\xCCb\xE1w\u1ECDl\xE9 a\u1E63\xEC\u1E63e";
+ }
+ };
+}, "error");
+function yo_default() {
+ return {
+ localeError: error61()
+ };
+}
+__name(yo_default, "default");
+
+// ../../node_modules/.pnpm/zod@4.6.7/node_modules/zod/v4/core/registries.js
+var _a2;
+var $output = /* @__PURE__ */ Symbol("ZodOutput");
+var $input = /* @__PURE__ */ Symbol("ZodInput");
+var $ZodRegistry = class {
+ static {
+ __name(this, "$ZodRegistry");
+ }
+ constructor() {
+ this._map = /* @__PURE__ */ new WeakMap();
+ this._idmap = /* @__PURE__ */ new Map();
+ }
+ add(schema2, ..._meta) {
+ const meta3 = _meta[0];
+ this._map.set(schema2, meta3);
+ if (meta3 && typeof meta3 === "object" && "id" in meta3) {
+ this._idmap.set(meta3.id, schema2);
+ }
+ return this;
+ }
+ clear() {
+ this._map = /* @__PURE__ */ new WeakMap();
+ this._idmap = /* @__PURE__ */ new Map();
+ return this;
+ }
+ remove(schema2) {
+ const meta3 = this._map.get(schema2);
+ if (meta3 && typeof meta3 === "object" && "id" in meta3) {
+ this._idmap.delete(meta3.id);
+ }
+ this._map.delete(schema2);
+ return this;
+ }
+ get(schema2) {
+ const p3 = schema2._zod.parent;
+ if (p3) {
+ const pm = { ...this.get(p3) ?? {} };
+ delete pm.id;
+ const f5 = { ...pm, ...this._map.get(schema2) };
+ return Object.keys(f5).length ? f5 : void 0;
+ }
+ return this._map.get(schema2);
+ }
+ has(schema2) {
+ return this._map.has(schema2);
+ }
+};
+function registry() {
+ return new $ZodRegistry();
+}
+__name(registry, "registry");
+(_a2 = globalThis).__zod_globalRegistry ?? (_a2.__zod_globalRegistry = registry());
+var globalRegistry = globalThis.__zod_globalRegistry;
+
+// ../../node_modules/.pnpm/zod@4.6.7/node_modules/zod/v4/core/compile.js
+var INVALID = /* @__PURE__ */ Symbol.for("zod.compile.invalid");
+var FALLBACK_FLAG = /* @__PURE__ */ Symbol.for("zod.compile.fallback");
+var ZodCompileAsyncError = class extends Error {
+ static {
+ __name(this, "ZodCompileAsyncError");
+ }
+ constructor(message = "z.compile does not support async refinements, transforms, or checks") {
+ super(message);
+ this.name = "ZodCompileAsyncError";
+ }
+};
+var ZodCompileUnsupportedError = class extends Error {
+ static {
+ __name(this, "ZodCompileUnsupportedError");
+ }
+ constructor(feature, islandable = true) {
+ super(`z.compile does not support ${feature}; this schema must use the runtime parser`);
+ this.name = "ZodCompileUnsupportedError";
+ this.islandable = islandable;
+ }
+};
+function compileValidator(schema2, parser) {
+ try {
+ return compileFn(schema2, { assertOnly: true });
+ } catch {
+ return parser;
+ }
+}
+__name(compileValidator, "compileValidator");
+function compile(schema2, options) {
+ try {
+ const parser = compileFn(schema2);
+ const clone2 = withParser(schema2, parser);
+ clone2._zod.bag.validator = compileValidator(schema2, parser);
+ return clone2;
+ } catch (err) {
+ if (options?.strict)
+ throw err;
+ return schema2;
+ }
+}
+__name(compile, "compile");
+function withParser(schema2, parser) {
+ if (isRecursiveSchema(schema2)) {
+ throw new ZodCompileUnsupportedError("a schema whose subtree contains a reference cycle");
+ }
+ const clone2 = clone(schema2);
+ const liveRun = schema2._zod.run;
+ const originalRun = liveRun.__originalRun ?? liveRun;
+ const wrapped = /* @__PURE__ */ __name((payload, ctx) => {
+ if (ctx?.async || ctx?.direction === "backward" || ctx?.skipChecks || ctx?.[FALLBACK_FLAG]) {
+ return originalRun(payload, ctx);
+ }
+ if (ctx && isBackEdge(ctx, payload.value)) {
+ return originalRun(payload, ctx);
+ }
+ const out = parser(payload.value);
+ if (out !== INVALID) {
+ payload.value = out;
+ return payload;
+ }
+ if (ctx)
+ ctx[FALLBACK_FLAG] = true;
+ return originalRun(payload, ctx);
+ }, "wrapped");
+ wrapped.__originalRun = originalRun;
+ clone2._zod.bag.fallbackRun = originalRun;
+ clone2._zod.bag.validator = parser;
+ clone2._zod.run = wrapped;
+ if (!liveRun.__originalRun)
+ installCompiledUserMethods(clone2, schema2, parser);
+ return clone2;
+}
+__name(withParser, "withParser");
+function installCompiledUserMethods(target, source, parser) {
+ const targetAny = target;
+ const sourceAny = source;
+ if (typeof sourceAny.safeParse === "function") {
+ const originalSafeParse = sourceAny.safeParse;
+ targetAny.safeParse = (data, params) => {
+ const out = parser(data);
+ if (out !== INVALID) {
+ return { success: true, data: out };
+ }
+ return originalSafeParse(data, params);
+ };
+ }
+ if (typeof sourceAny.parse === "function") {
+ const originalParse = sourceAny.parse;
+ targetAny.parse = (data, params) => {
+ const out = parser(data);
+ if (out !== INVALID) {
+ return out;
+ }
+ return originalParse(data, params);
+ };
+ }
+}
+__name(installCompiledUserMethods, "installCompiledUserMethods");
+function compileFn(schema2, options) {
+ let recursive2 = true;
+ try {
+ recursive2 = isRecursiveSchema(schema2);
+ } catch {
+ }
+ if (recursive2) {
+ throw new ZodCompileUnsupportedError("a schema whose subtree contains a reference cycle");
+ }
+ const ctx = {
+ constants: /* @__PURE__ */ new Map(),
+ constantCounter: 0,
+ varCounter: 0,
+ definite: true
+ };
+ const doc = new Doc(["input"]);
+ const outputAccessor = generateCheck(doc, ctx, schema2, "input", !options?.assertOnly);
+ doc.write(outputAccessor === null ? `return true;` : `return ${outputAccessor};`);
+ const constantNames = ["INVALID", ...ctx.constants.keys()];
+ const constantValues = [INVALID, ...ctx.constants.values()];
+ const code = doc.content.join("\n");
+ const fullCode = options?.debug ? constantNames.length > 0 ? `// Constants: ${constantNames.join(", ")}
+${code}` : code : "";
+ const F = Function;
+ const factoryCode = `return (input) => {
+${code}
+}`;
+ let fn;
+ try {
+ const factory = new F(...constantNames, factoryCode);
+ fn = factory(...constantValues);
+ } catch (err) {
+ throw new ZodCompileUnsupportedError(`this schema (generated code failed to evaluate: ${err.message})`);
+ }
+ if (options?.debug) {
+ fn.code = fullCode;
+ }
+ fn.definite = ctx.definite;
+ return fn;
+}
+__name(compileFn, "compileFn");
+function addConstant(ctx, value) {
+ for (const [name3, v] of ctx.constants) {
+ if (v === value)
+ return name3;
+ }
+ const name2 = `c${ctx.constantCounter++}`;
+ ctx.constants.set(name2, value);
+ return name2;
+}
+__name(addConstant, "addConstant");
+function addUserConstant(ctx, fn) {
+ ctx.definite = false;
+ return addConstant(ctx, fn);
+}
+__name(addUserConstant, "addUserConstant");
+function newVar(ctx) {
+ return `v${ctx.varCounter++}`;
+}
+__name(newVar, "newVar");
+function runtimeRun(schema2, value) {
+ const result = schema2._zod.run({ value, issues: [] }, {});
+ if (result && typeof result.then === "function")
+ return INVALID;
+ const r5 = result;
+ return r5.issues.length === 0 ? r5.value : INVALID;
+}
+__name(runtimeRun, "runtimeRun");
+function compileChild(doc, ctx, schema2, accessor, needsValue = true) {
+ const contentLen = doc.content.length;
+ const constantCount = ctx.constants.size;
+ const constantCounter = ctx.constantCounter;
+ const varCounter = ctx.varCounter;
+ try {
+ return generateCheck(doc, ctx, schema2, accessor, needsValue);
+ } catch (err) {
+ if (!(err instanceof ZodCompileUnsupportedError) || !err.islandable)
+ throw err;
+ doc.content.length = contentLen;
+ if (ctx.constants.size > constantCount) {
+ const trailing = Array.from(ctx.constants.keys()).slice(constantCount);
+ for (const k5 of trailing)
+ ctx.constants.delete(k5);
+ }
+ ctx.constantCounter = constantCounter;
+ ctx.varCounter = varCounter;
+ return emitRuntimeIsland(doc, ctx, schema2, accessor);
+ }
+}
+__name(compileChild, "compileChild");
+function emitRuntimeIsland(doc, ctx, schema2, accessor) {
+ ctx.definite = false;
+ const schemaConst = addConstant(ctx, schema2);
+ const runConst = addConstant(ctx, runtimeRun);
+ const outVar = newVar(ctx);
+ doc.write(`const ${outVar} = ${runConst}(${schemaConst}, ${accessor});`);
+ doc.write(`if (${outVar} === INVALID) return INVALID;`);
+ return outVar;
+}
+__name(emitRuntimeIsland, "emitRuntimeIsland");
+var WHEN_DEFAULTED_CHECKS = /* @__PURE__ */ new Set([
+ "max_size",
+ "min_size",
+ "size_equals",
+ "max_length",
+ "min_length",
+ "length_equals"
+]);
+function generateChecks(doc, ctx, schema2, accessor) {
+ const schemaChecks = schema2._zod.def.checks;
+ if (!schemaChecks || schemaChecks.length === 0)
+ return accessor;
+ let currentAccessor = accessor;
+ for (const check2 of schemaChecks) {
+ const def = check2._zod.def;
+ if (def.when && !WHEN_DEFAULTED_CHECKS.has(def.check)) {
+ throw new ZodCompileUnsupportedError(`check with a custom "when" condition`);
+ }
+ switch (def.check) {
+ case "greater_than":
+ generateGreaterThanCheck(doc, ctx, def, currentAccessor);
+ break;
+ case "less_than":
+ generateLessThanCheck(doc, ctx, def, currentAccessor);
+ break;
+ case "multiple_of":
+ generateMultipleOfCheck(doc, ctx, def, currentAccessor);
+ break;
+ case "number_format":
+ generateNumberFormatCheck(doc, def, currentAccessor);
+ break;
+ case "min_length": {
+ const min = numericOperand(def.minimum, "min_length");
+ const len = codePointLengthVar(doc, ctx, currentAccessor, `${currentAccessor}.length >= ${min} && ${currentAccessor}.length < ${def.minimum * 2}`);
+ doc.write(`if (${len} < ${min}) return INVALID;`);
+ break;
+ }
+ case "max_length": {
+ const max = numericOperand(def.maximum, "max_length");
+ const len = codePointLengthVar(doc, ctx, currentAccessor, `${currentAccessor}.length > ${max}`);
+ doc.write(`if (${len} > ${max}) return INVALID;`);
+ break;
+ }
+ case "length_equals": {
+ const exact = numericOperand(def.length, "length_equals");
+ const len = codePointLengthVar(doc, ctx, currentAccessor, `${currentAccessor}.length >= ${exact} && ${currentAccessor}.length <= ${def.length * 2}`);
+ doc.write(`if (${len} !== ${exact}) return INVALID;`);
+ break;
+ }
+ case "min_size":
+ doc.write(`if (${currentAccessor}.size < ${numericOperand(def.minimum, "min_size")}) return INVALID;`);
+ break;
+ case "max_size":
+ doc.write(`if (${currentAccessor}.size > ${numericOperand(def.maximum, "max_size")}) return INVALID;`);
+ break;
+ case "size_equals":
+ doc.write(`if (${currentAccessor}.size !== ${numericOperand(def.size, "size_equals")}) return INVALID;`);
+ break;
+ case "string_format":
+ currentAccessor = generateStringFormatCheck(doc, ctx, def, currentAccessor);
+ break;
+ case "custom":
+ currentAccessor = generateCustomRefineCheck(doc, ctx, check2, currentAccessor);
+ break;
+ case "bigint_format":
+ generateBigIntFormatCheck(doc, def, currentAccessor);
+ break;
+ case "mime_type":
+ generateMimeTypeCheck(doc, ctx, def, currentAccessor);
+ break;
+ case "property":
+ generatePropertyCheck(doc, ctx, def, currentAccessor);
+ break;
+ case "properties":
+ generatePropertiesChecks(doc, ctx, def, currentAccessor);
+ break;
+ case "overwrite": {
+ const newAccessor = newVar(ctx);
+ generateOverwriteCheck(doc, ctx, check2, currentAccessor, newAccessor);
+ currentAccessor = newAccessor;
+ break;
+ }
+ default: {
+ void def;
+ throw new ZodCompileUnsupportedError(`check type ${def.check}`);
+ }
+ }
+ }
+ return currentAccessor;
+}
+__name(generateChecks, "generateChecks");
+function codePointLengthVar(doc, ctx, accessor, inDoubt) {
+ const cpLen = addConstant(ctx, codePointLength);
+ const v = newVar(ctx);
+ doc.write(`const ${v} = typeof ${accessor} === "string" && ${inDoubt} ? ${cpLen}(${accessor}) : ${accessor}.length;`);
+ return v;
+}
+__name(codePointLengthVar, "codePointLengthVar");
+function numericOperand(value, label) {
+ if (typeof value !== "number" || !Number.isFinite(value)) {
+ throw new ZodCompileUnsupportedError(`${label} bound of type ${typeof value}`);
+ }
+ return `${value}`;
+}
+__name(numericOperand, "numericOperand");
+function comparisonOperand(ctx, value) {
+ if (typeof value === "bigint")
+ return `${value}n`;
+ if (typeof value === "number") {
+ if (Number.isNaN(value))
+ throw new ZodCompileUnsupportedError("comparison check with NaN bound");
+ return `${value}`;
+ }
+ if (value instanceof Date) {
+ if (Number.isNaN(value.getTime())) {
+ throw new ZodCompileUnsupportedError("comparison check with Invalid Date bound");
+ }
+ return addConstant(ctx, value);
+ }
+ throw new ZodCompileUnsupportedError(`comparison check bound of type ${typeof value}`);
+}
+__name(comparisonOperand, "comparisonOperand");
+function generateGreaterThanCheck(doc, ctx, def, accessor) {
+ const op = def.inclusive ? "<" : "<=";
+ doc.write(`if (${accessor} ${op} ${comparisonOperand(ctx, def.value)}) return INVALID;`);
+}
+__name(generateGreaterThanCheck, "generateGreaterThanCheck");
+function generateLessThanCheck(doc, ctx, def, accessor) {
+ const op = def.inclusive ? ">" : ">=";
+ doc.write(`if (${accessor} ${op} ${comparisonOperand(ctx, def.value)}) return INVALID;`);
+}
+__name(generateLessThanCheck, "generateLessThanCheck");
+function generateMultipleOfCheck(doc, ctx, def, accessor) {
+ if (typeof def.value === "bigint") {
+ if (def.value === BigInt(0))
+ throw new ZodCompileUnsupportedError("multiple_of check with a zero divisor");
+ doc.write(`if (${accessor} % ${def.value}n !== 0n) return INVALID;`);
+ } else {
+ const remainder = addConstant(ctx, floatSafeRemainder);
+ doc.write(`if (${remainder}(${accessor}, ${numericOperand(def.value, "multiple_of")}) !== 0) return INVALID;`);
+ }
+}
+__name(generateMultipleOfCheck, "generateMultipleOfCheck");
+function generateNumberFormatCheck(doc, def, accessor) {
+ const format = def.format;
+ switch (format) {
+ case "safeint":
+ doc.write(`if (!Number.isSafeInteger(${accessor})) return INVALID;`);
+ break;
+ case "int32":
+ doc.write(`if (!Number.isInteger(${accessor}) || ${accessor} < -2147483648 || ${accessor} > 2147483647) return INVALID;`);
+ break;
+ case "uint32":
+ doc.write(`if (!Number.isInteger(${accessor}) || ${accessor} < 0 || ${accessor} > 4294967295) return INVALID;`);
+ break;
+ case "float32":
+ doc.write(`if (!Number.isFinite(${accessor}) || ${accessor} < -3.4028234663852886e38 || ${accessor} > 3.4028234663852886e38) return INVALID;`);
+ break;
+ case "float64":
+ doc.write(`if (!Number.isFinite(${accessor})) return INVALID;`);
+ break;
+ default: {
+ void format;
+ throw new ZodCompileUnsupportedError(`number format ${format}`);
+ }
+ }
+}
+__name(generateNumberFormatCheck, "generateNumberFormatCheck");
+function generateBigIntFormatCheck(doc, def, accessor) {
+ const format = def.format;
+ if (!format)
+ return;
+ switch (format) {
+ case "int64":
+ doc.write(`if (${accessor} < -9223372036854775808n || ${accessor} > 9223372036854775807n) return INVALID;`);
+ break;
+ case "uint64":
+ doc.write(`if (${accessor} < 0n || ${accessor} > 18446744073709551615n) return INVALID;`);
+ break;
+ default: {
+ void format;
+ throw new ZodCompileUnsupportedError(`bigint format ${format}`);
+ }
+ }
+}
+__name(generateBigIntFormatCheck, "generateBigIntFormatCheck");
+function generateMimeTypeCheck(doc, ctx, def, accessor) {
+ const mimeTypes = def.mime;
+ if (mimeTypes && mimeTypes.length > 0) {
+ const mimeSet = addConstant(ctx, new Set(mimeTypes));
+ doc.write(`if (!${mimeSet}.has(${accessor}.type)) return INVALID;`);
+ }
+}
+__name(generateMimeTypeCheck, "generateMimeTypeCheck");
+function generatePropertiesChecks(doc, ctx, def, accessor) {
+ if (def.when) {
+ throw new ZodCompileUnsupportedError(`check with a custom "when" condition`);
+ }
+ doc.write(`if (${accessor} == null) return INVALID;`);
+ const shape = def.shape;
+ for (const key of Reflect.ownKeys(shape)) {
+ const keyExpr = typeof key === "symbol" ? addConstant(ctx, key) : esc(key);
+ const inputVar = newVar(ctx);
+ doc.write(`const ${inputVar} = ${accessor}[${keyExpr}];`);
+ compileChild(doc, ctx, shape[key], inputVar, false);
+ }
+}
+__name(generatePropertiesChecks, "generatePropertiesChecks");
+function generatePropertyCheck(doc, ctx, def, accessor) {
+ const propAccessor = `${accessor}[${JSON.stringify(def.property)}]`;
+ generateCheck(doc, ctx, def.schema, propAccessor);
+}
+__name(generatePropertyCheck, "generatePropertyCheck");
+function generateOverwriteCheck(doc, ctx, check2, currentAccessor, newAccessor) {
+ const tx = check2._zod.def.tx;
+ if (!tx) {
+ throw new ZodCompileUnsupportedError("overwrite check without a transform function");
+ }
+ if (isAsyncFunction(tx)) {
+ throw new ZodCompileAsyncError("z.compile: async overwrite transforms are not supported");
+ }
+ const txConst = addConstant(ctx, tx);
+ doc.write(`const ${newAccessor} = ${txConst}(${currentAccessor});`);
+}
+__name(generateOverwriteCheck, "generateOverwriteCheck");
+function throwAsync() {
+ throw new $ZodAsyncError();
+}
+__name(throwAsync, "throwAsync");
+function pushIssue(issue2) {
+ this.issues.push(issue2);
+}
+__name(pushIssue, "pushIssue");
+function generateCustomRefineCheck(doc, ctx, check2, accessor) {
+ const def = check2._zod.def;
+ if (def.fn) {
+ if (isAsyncFunction(def.fn)) {
+ throw new ZodCompileAsyncError("z.compile: async .refine() predicates are not supported");
+ }
+ const fnConst = addUserConstant(ctx, def.fn);
+ const throwAsyncConst = addConstant(ctx, throwAsync);
+ const resVar = newVar(ctx);
+ doc.write(`const ${resVar} = ${fnConst}(${accessor});`);
+ doc.write(`if (${resVar} instanceof Promise) ${throwAsyncConst}();`);
+ doc.write(`if (!${resVar}) return INVALID;`);
+ return accessor;
+ }
+ if (check2._zod.check) {
+ if (isAsyncFunction(check2._zod.check)) {
+ throw new ZodCompileAsyncError("z.compile: async .superRefine() / check functions are not supported");
+ }
+ const checkFn = check2._zod.check;
+ const helperFn = /* @__PURE__ */ __name((value) => {
+ const fakePayload = { value, issues: [], addIssue: pushIssue };
+ const result = checkFn(fakePayload);
+ if (result instanceof Promise)
+ throwAsync();
+ return fakePayload.issues.length === 0 ? fakePayload.value : INVALID;
+ }, "helperFn");
+ const helperConst = addUserConstant(ctx, helperFn);
+ const outVar = newVar(ctx);
+ doc.write(`const ${outVar} = ${helperConst}(${accessor});`);
+ doc.write(`if (${outVar} === INVALID) return INVALID;`);
+ return outVar;
+ }
+ throw new ZodCompileUnsupportedError("custom check without a predicate or check function");
+}
+__name(generateCustomRefineCheck, "generateCustomRefineCheck");
+var PATTERN_IS_COMPLETE = /* @__PURE__ */ new Set([
+ "cidrv4",
+ "cuid",
+ "cuid2",
+ "date",
+ "datetime",
+ "duration",
+ "e164",
+ "email",
+ "emoji",
+ "ends_with",
+ "guid",
+ "includes",
+ "ipv4",
+ "ksuid",
+ "lowercase",
+ "mac",
+ "nanoid",
+ "regex",
+ "starts_with",
+ "time",
+ "ulid",
+ "uppercase",
+ "uuid",
+ "xid"
+]);
+function generateStringFormatCheck(doc, ctx, def, accessor, needsValue = true) {
+ const fmt = def.format;
+ if (fmt === "base64") {
+ const validator = addConstant(ctx, isValidBase64);
+ doc.write(`if (!${validator}(${accessor})) return INVALID;`);
+ return accessor;
+ }
+ if (fmt === "base64url") {
+ const validator = addConstant(ctx, isValidBase64URL);
+ doc.write(`if (!${validator}(${accessor})) return INVALID;`);
+ return accessor;
+ }
+ if (fmt === "jwt") {
+ const validator = addConstant(ctx, isValidJWT);
+ const alg = addConstant(ctx, def.alg ?? null);
+ doc.write(`if (!${validator}(${accessor}, ${alg})) return INVALID;`);
+ return accessor;
+ }
+ if (fmt === "ipv6") {
+ const validator = addConstant(ctx, isValidIPv6);
+ doc.write(`if (!${validator}(${accessor})) return INVALID;`);
+ return accessor;
+ }
+ if (fmt === "cidrv6") {
+ const validator = addConstant(ctx, isValidCIDRv6);
+ doc.write(`if (!${validator}(${accessor})) return INVALID;`);
+ return accessor;
+ }
+ if (fmt === "credit_card") {
+ const validator = addConstant(ctx, isValidCreditCard);
+ doc.write(`if (!${validator}(${accessor})) return INVALID;`);
+ return accessor;
+ }
+ if (fmt === "iban") {
+ const validator = addConstant(ctx, isValidIBAN);
+ doc.write(`if (!${validator}(${accessor})) return INVALID;`);
+ return accessor;
+ }
+ const formatDef = def;
+ if (fmt === "url" || fmt === "httpurl" || formatDef.normalize || formatDef.hostname !== void 0 || formatDef.protocol !== void 0) {
+ const parseConst = addConstant(ctx, validateURL);
+ const defConst = addConstant(ctx, def);
+ const trimVar = newVar(ctx);
+ const urlVar = newVar(ctx);
+ doc.write(`const ${trimVar} = ${accessor}.trim();`);
+ doc.write(`const ${urlVar} = ${parseConst}(${trimVar}, ${defConst});`);
+ doc.write(`if (typeof ${urlVar} === "number") return INVALID;`);
+ if (formatDef.hostname !== void 0) {
+ const hostnameConst = addConstant(ctx, urlHostnameOk);
+ doc.write(`if (!${hostnameConst}(${urlVar}, ${defConst}.hostname)) return INVALID;`);
+ }
+ if (formatDef.protocol !== void 0) {
+ const protocolConst = addConstant(ctx, urlProtocolOk);
+ doc.write(`if (!${protocolConst}(${urlVar}, ${defConst}.protocol)) return INVALID;`);
+ }
+ if (!needsValue)
+ return null;
+ const outputVar = newVar(ctx);
+ const outputExpr = formatDef.normalize ? `${urlVar}.href` : `${addConstant(ctx, stripTabAndNewline)}(${trimVar})`;
+ doc.write(`const ${outputVar} = ${outputExpr};`);
+ return outputVar;
+ }
+ const customFn = def.fn;
+ if (customFn) {
+ if (isAsyncFunction(customFn))
+ throw new ZodCompileUnsupportedError(`async string format ${fmt}`);
+ const fnConst = addConstant(ctx, customFn);
+ doc.write(`if (!${fnConst}(${accessor})) return INVALID;`);
+ return accessor;
+ }
+ if (PATTERN_IS_COMPLETE.has(fmt) && def.pattern) {
+ const patternConst = addConstant(ctx, def.pattern);
+ doc.write(`${patternConst}.lastIndex = 0;`);
+ doc.write(`if (!${patternConst}.test(${accessor})) return INVALID;`);
+ return accessor;
+ }
+ const format = def.format;
+ switch (format) {
+ case "regex":
+ throw new ZodCompileUnsupportedError("regex format without a pattern");
+ case "lowercase":
+ doc.write(`if (${accessor} !== ${accessor}.toLowerCase()) return INVALID;`);
+ break;
+ case "uppercase":
+ doc.write(`if (${accessor} !== ${accessor}.toUpperCase()) return INVALID;`);
+ break;
+ case "includes":
+ doc.write(`if (!${accessor}.includes(${esc(def.includes)})) return INVALID;`);
+ break;
+ case "starts_with": {
+ const prefix = def.prefix;
+ doc.write(`if (${accessor}.slice(0, ${prefix.length}) !== ${esc(prefix)}) return INVALID;`);
+ break;
+ }
+ case "ends_with": {
+ const suffix = def.suffix;
+ doc.write(`if (${accessor}.slice(-${suffix.length}) !== ${esc(suffix)}) return INVALID;`);
+ break;
+ }
+ default: {
+ void format;
+ throw new ZodCompileUnsupportedError(`string format ${format}`);
+ }
+ }
+ return accessor;
+}
+__name(generateStringFormatCheck, "generateStringFormatCheck");
+function generateCheck(doc, ctx, schema2, accessor, needsValue = true) {
+ const def = schema2._zod.def;
+ const type = def.type;
+ if (def.coerce) {
+ throw new ZodCompileUnsupportedError(`coercion (z.coerce.${type}())`);
+ }
+ const buildsValue = needsValue || !!def.checks?.length;
+ let typeAccessor;
+ switch (type) {
+ case "string":
+ typeAccessor = generateStringCheck(doc, ctx, schema2, accessor, buildsValue);
+ break;
+ case "number":
+ typeAccessor = generateNumberCheck(doc, schema2, accessor);
+ break;
+ case "boolean":
+ typeAccessor = generateBooleanCheck(doc, accessor);
+ break;
+ case "bigint":
+ typeAccessor = generateBigIntCheck(doc, schema2, accessor);
+ break;
+ case "symbol":
+ typeAccessor = generateSymbolCheck(doc, accessor);
+ break;
+ case "undefined":
+ typeAccessor = generateUndefinedCheck(doc, accessor);
+ break;
+ case "null":
+ typeAccessor = generateNullCheck(doc, accessor);
+ break;
+ case "any":
+ case "unknown":
+ typeAccessor = accessor;
+ break;
+ case "never":
+ doc.write("return INVALID;");
+ typeAccessor = accessor;
+ break;
+ case "void":
+ typeAccessor = generateVoidCheck(doc, accessor);
+ break;
+ case "nan":
+ typeAccessor = generateNaNCheck(doc, accessor);
+ break;
+ case "date":
+ typeAccessor = generateDateCheck(doc, accessor);
+ break;
+ case "object":
+ typeAccessor = generateObjectCheck(doc, ctx, schema2, accessor, buildsValue);
+ break;
+ case "optional":
+ typeAccessor = generateOptionalCheck(doc, ctx, schema2, accessor, buildsValue);
+ break;
+ case "nullable":
+ typeAccessor = generateNullableCheck(doc, ctx, schema2, accessor, buildsValue);
+ break;
+ case "array":
+ typeAccessor = generateArrayCheck(doc, ctx, schema2, accessor, buildsValue);
+ break;
+ case "literal":
+ typeAccessor = generateLiteralCheck(doc, ctx, schema2, accessor);
+ break;
+ case "enum":
+ typeAccessor = generateEnumCheck(doc, ctx, schema2, accessor);
+ break;
+ case "readonly": {
+ const innerOut = generateWrapperCheck(doc, ctx, schema2, accessor);
+ const frozenVar = newVar(ctx);
+ doc.write(`const ${frozenVar} = Object.freeze(${innerOut});`);
+ typeAccessor = frozenVar;
+ break;
+ }
+ case "success":
+ generateWrapperCheck(doc, ctx, schema2, accessor);
+ typeAccessor = "true";
+ break;
+ case "default":
+ case "prefault":
+ typeAccessor = generateDefaultCheck(doc, ctx, schema2, accessor);
+ break;
+ case "nonoptional":
+ typeAccessor = generateNonOptionalCheck(doc, ctx, schema2, accessor);
+ break;
+ case "tuple":
+ typeAccessor = generateTupleCheck(doc, ctx, schema2, accessor);
+ break;
+ case "union":
+ typeAccessor = generateUnionCheck(doc, ctx, schema2, accessor);
+ break;
+ case "intersection":
+ typeAccessor = generateIntersectionCheck(doc, ctx, schema2, accessor);
+ break;
+ case "record":
+ typeAccessor = generateRecordCheck(doc, ctx, schema2, accessor);
+ break;
+ case "map":
+ typeAccessor = generateMapCheck(doc, ctx, schema2, accessor);
+ break;
+ case "set":
+ typeAccessor = generateSetCheck(doc, ctx, schema2, accessor);
+ break;
+ case "file":
+ typeAccessor = generateFileCheck(doc, accessor);
+ break;
+ case "template_literal":
+ typeAccessor = generateTemplateLiteralCheck(doc, ctx, schema2, accessor);
+ break;
+ case "lazy":
+ typeAccessor = generateLazyCheck(doc, ctx, schema2, accessor);
+ break;
+ case "pipe":
+ typeAccessor = generatePipeCheck(doc, ctx, schema2, accessor);
+ break;
+ case "custom":
+ typeAccessor = generateCustomCheck(doc, ctx, schema2, accessor);
+ break;
+ case "transform":
+ typeAccessor = generateTransformCheck(doc, ctx, schema2, accessor);
+ break;
+ case "catch":
+ typeAccessor = generateCatchCheck(doc, ctx, schema2, accessor);
+ break;
+ default: {
+ void type;
+ throw new ZodCompileUnsupportedError(`schema type ${type}`);
+ }
+ }
+ if (typeAccessor === null)
+ return null;
+ return generateChecks(doc, ctx, schema2, typeAccessor);
+}
+__name(generateCheck, "generateCheck");
+function generateStringCheck(doc, ctx, schema2, accessor, needsValue = true) {
+ doc.write(`if (typeof ${accessor} !== "string") return INVALID;`);
+ const def = schema2._zod.def;
+ if (def.format === void 0)
+ return accessor;
+ return generateStringFormatCheck(doc, ctx, def, accessor, needsValue);
+}
+__name(generateStringCheck, "generateStringCheck");
+function generateNumberCheck(doc, schema2, accessor) {
+ doc.write(`if (typeof ${accessor} !== "number" || !Number.isFinite(${accessor})) return INVALID;`);
+ const def = schema2._zod.def;
+ if (def.check === "number_format" && def.format) {
+ generateNumberFormatCheck(doc, { format: def.format }, accessor);
+ }
+ return accessor;
+}
+__name(generateNumberCheck, "generateNumberCheck");
+function generateBooleanCheck(doc, accessor) {
+ doc.write(`if (typeof ${accessor} !== "boolean") return INVALID;`);
+ return accessor;
+}
+__name(generateBooleanCheck, "generateBooleanCheck");
+function generateBigIntCheck(doc, schema2, accessor) {
+ doc.write(`if (typeof ${accessor} !== "bigint") return INVALID;`);
+ const def = schema2._zod.def;
+ if (def.format) {
+ switch (def.format) {
+ case "int64":
+ doc.write(`if (${accessor} < -9223372036854775808n || ${accessor} > 9223372036854775807n) return INVALID;`);
+ break;
+ case "uint64":
+ doc.write(`if (${accessor} < 0n || ${accessor} > 18446744073709551615n) return INVALID;`);
+ break;
+ }
+ }
+ return accessor;
+}
+__name(generateBigIntCheck, "generateBigIntCheck");
+function generateSymbolCheck(doc, accessor) {
+ doc.write(`if (typeof ${accessor} !== "symbol") return INVALID;`);
+ return accessor;
+}
+__name(generateSymbolCheck, "generateSymbolCheck");
+function generateUndefinedCheck(doc, accessor) {
+ doc.write(`if (${accessor} !== undefined) return INVALID;`);
+ return accessor;
+}
+__name(generateUndefinedCheck, "generateUndefinedCheck");
+function generateNullCheck(doc, accessor) {
+ doc.write(`if (${accessor} !== null) return INVALID;`);
+ return accessor;
+}
+__name(generateNullCheck, "generateNullCheck");
+function generateVoidCheck(doc, accessor) {
+ doc.write(`if (${accessor} !== undefined) return INVALID;`);
+ return accessor;
+}
+__name(generateVoidCheck, "generateVoidCheck");
+function generateNaNCheck(doc, accessor) {
+ doc.write(`if (typeof ${accessor} !== "number" || !Number.isNaN(${accessor})) return INVALID;`);
+ return accessor;
+}
+__name(generateNaNCheck, "generateNaNCheck");
+function generateDateCheck(doc, accessor) {
+ doc.write(`if (!(${accessor} instanceof Date) || Number.isNaN(${accessor}.getTime())) return INVALID;`);
+ return accessor;
+}
+__name(generateDateCheck, "generateDateCheck");
+function generateObjectCheck(doc, ctx, schema2, accessor, buildsValue = true) {
+ const def = schema2._zod.def;
+ doc.write(`if (typeof ${accessor} !== "object" || ${accessor} === null || Array.isArray(${accessor})) return INVALID;`);
+ const shape = def.shape;
+ const keys = Object.keys(shape);
+ const symbolKeys = Object.getOwnPropertySymbols(shape);
+ const allKeys = symbolKeys.length ? [...keys, ...symbolKeys] : keys;
+ const keyExpr = /* @__PURE__ */ __name((k5) => typeof k5 === "symbol" ? addConstant(ctx, k5) : esc(k5), "keyExpr");
+ const propKey = /* @__PURE__ */ __name((k5) => typeof k5 === "symbol" ? `[${keyExpr(k5)}]` : esc(k5), "propKey");
+ const propShape = shape;
+ if (keys.includes("__proto__")) {
+ throw new ZodCompileUnsupportedError('object shape key "__proto__"');
+ }
+ const propOutputs = /* @__PURE__ */ new Map();
+ for (const key of allKeys) {
+ const propSchema = propShape[key];
+ const kx = keyExpr(key);
+ const inputVar = newVar(ctx);
+ doc.write(`const ${inputVar} = ${accessor}[${kx}];`);
+ if (propSchema._zod.optin !== void 0) {
+ const outputVar2 = newVar(ctx);
+ doc.write(`let ${outputVar2} = (() => {`);
+ doc.indented((d5) => {
+ const outputAccessor = compileChild(d5, ctx, propSchema, inputVar);
+ d5.write(`return ${outputAccessor};`);
+ });
+ doc.write(`})();`);
+ if (propSchema._zod.optout === "optional") {
+ doc.write(`if (${outputVar2} === INVALID) {`);
+ doc.indented((d5) => {
+ d5.write(`if (${kx} in ${accessor}) return INVALID;`);
+ d5.write(`${outputVar2} = undefined;`);
+ });
+ doc.write(`}`);
+ } else {
+ doc.write(`if (${outputVar2} === INVALID) return INVALID;`);
+ }
+ propOutputs.set(key, outputVar2);
+ } else {
+ if (requiresPresenceCheck(propSchema)) {
+ doc.write(`if (!(${kx} in ${accessor})) return INVALID;`);
+ }
+ const outputAccessor = compileChild(doc, ctx, propSchema, inputVar, buildsValue);
+ if (outputAccessor !== null)
+ propOutputs.set(key, outputAccessor);
+ }
+ }
+ const catchall = def.catchall;
+ let unknownKeysMode = "none";
+ if (catchall) {
+ const catchallType = catchall._zod.def.type;
+ if (catchallType === "never") {
+ const condition = keys.map((k5) => `k !== ${esc(k5)}`).join(" && ") || "true";
+ doc.write(`for (const k in ${accessor}) {`);
+ doc.indented((d5) => {
+ d5.write(`if (${condition}) return INVALID;`);
+ });
+ doc.write(`}`);
+ } else if ((catchallType === "unknown" || catchallType === "any") && !catchall._zod.def.checks?.length) {
+ unknownKeysMode = "passthrough";
+ } else {
+ unknownKeysMode = "schema";
+ }
+ }
+ const outputVar = newVar(ctx);
+ const hasConditionalKeys = allKeys.some((k5) => mayOmitUndefined(propShape[k5]) || dropsWhenAbsent(propShape[k5]));
+ if (!buildsValue) {
+ if (unknownKeysMode === "schema") {
+ const knownSet = keys.length > 0 ? addConstant(ctx, new Set(keys)) : null;
+ doc.write(`for (const k in ${accessor}) {`);
+ doc.indented((d5) => {
+ d5.write(`if (k === "__proto__") continue;`);
+ if (knownSet)
+ d5.write(`if (${knownSet}.has(k)) continue;`);
+ const valVar = newVar(ctx);
+ d5.write(`const ${valVar} = ${accessor}[k];`);
+ compileChild(d5, ctx, catchall, valVar, false);
+ });
+ doc.write(`}`);
+ }
+ return null;
+ }
+ if (!hasConditionalKeys) {
+ const propLiterals = allKeys.map((k5) => `${propKey(k5)}: ${propOutputs.get(k5)}`).join(", ");
+ doc.write(`const ${outputVar} = { ${propLiterals} };`);
+ } else {
+ doc.write(`const ${outputVar} = {};`);
+ for (const k5 of allKeys) {
+ const kx = keyExpr(k5);
+ const out = propOutputs.get(k5);
+ if (dropsWhenAbsent(propShape[k5])) {
+ doc.write(`if (${kx} in ${accessor}) ${outputVar}[${kx}] = ${out};`);
+ } else if (mayOmitUndefined(propShape[k5])) {
+ doc.write(`if (${out} !== undefined || ${kx} in ${accessor}) ${outputVar}[${kx}] = ${out};`);
+ } else {
+ doc.write(`${outputVar}[${kx}] = ${out};`);
+ }
+ }
+ }
+ if (unknownKeysMode !== "none") {
+ const knownSet = keys.length > 0 ? addConstant(ctx, new Set(keys)) : null;
+ doc.write(`for (const k in ${accessor}) {`);
+ doc.indented((d5) => {
+ d5.write(`if (k === "__proto__") continue;`);
+ if (knownSet)
+ d5.write(`if (${knownSet}.has(k)) continue;`);
+ if (unknownKeysMode === "passthrough") {
+ d5.write(`${outputVar}[k] = ${accessor}[k];`);
+ } else {
+ const valVar = newVar(ctx);
+ d5.write(`const ${valVar} = ${accessor}[k];`);
+ const catchallOut = compileChild(d5, ctx, catchall, valVar);
+ d5.write(`${outputVar}[k] = ${catchallOut};`);
+ }
+ });
+ doc.write(`}`);
+ }
+ return outputVar;
+}
+__name(generateObjectCheck, "generateObjectCheck");
+function generateOptionalCheck(doc, ctx, schema2, accessor, buildsValue = true) {
+ const def = schema2._zod.def;
+ if (isExactOptional(schema2)) {
+ return generateCheck(doc, ctx, def.innerType, accessor, buildsValue);
+ }
+ if (def.innerType._zod.optin === "defaulted") {
+ const outputVar2 = newVar(ctx);
+ const branchVar = newVar(ctx);
+ doc.write(`let ${outputVar2};`);
+ doc.write(`if (${accessor} === undefined) {`);
+ doc.indented((d5) => {
+ d5.write(`const ${branchVar} = (() => {`);
+ d5.indented((d22) => {
+ const innerOutput = generateCheck(d22, ctx, def.innerType, accessor);
+ d22.write(`return ${innerOutput};`);
+ });
+ d5.write(`})();`);
+ d5.write(`if (${branchVar} !== INVALID) ${outputVar2} = ${branchVar};`);
+ });
+ doc.write(`} else {`);
+ doc.indented((d5) => {
+ const innerOutput = generateCheck(d5, ctx, def.innerType, accessor);
+ d5.write(`${outputVar2} = ${innerOutput};`);
+ });
+ doc.write(`}`);
+ return outputVar2;
+ }
+ const outputVar = buildsValue ? newVar(ctx) : null;
+ if (outputVar)
+ doc.write(`let ${outputVar};`);
+ doc.write(`if (${accessor} !== undefined) {`);
+ doc.indented((d5) => {
+ const innerOutput = generateCheck(d5, ctx, def.innerType, accessor, buildsValue);
+ if (outputVar && innerOutput !== null)
+ d5.write(`${outputVar} = ${innerOutput};`);
+ });
+ doc.write(`}`);
+ return outputVar;
+}
+__name(generateOptionalCheck, "generateOptionalCheck");
+function isExactOptional(schema2) {
+ return schema2._zod.traits?.has("$ZodExactOptional") === true;
+}
+__name(isExactOptional, "isExactOptional");
+function requiresPresenceCheck(schema2) {
+ return schema2._zod.optin === void 0 && fastPathAcceptsAbsence(schema2);
+}
+__name(requiresPresenceCheck, "requiresPresenceCheck");
+function fastPathAcceptsAbsence(schema2) {
+ if (schema2._zod.def.coerce)
+ return true;
+ const def = schema2._zod.def;
+ switch (def.type) {
+ case "any":
+ case "unknown":
+ case "undefined":
+ case "void":
+ case "default":
+ case "prefault":
+ case "transform":
+ case "custom":
+ case "lazy":
+ return true;
+ case "string":
+ case "number":
+ case "boolean":
+ case "bigint":
+ case "symbol":
+ case "null":
+ case "never":
+ case "nan":
+ case "date":
+ case "object":
+ case "array":
+ case "tuple":
+ case "record":
+ case "map":
+ case "set":
+ case "file":
+ case "template_literal":
+ return false;
+ case "nonoptional":
+ return def.innerType ? fastPathAcceptsAbsence(def.innerType) : false;
+ case "literal":
+ return !!def.values?.includes(void 0);
+ case "enum":
+ return !!schema2._zod.values?.has(void 0);
+ case "optional":
+ case "nullable":
+ case "readonly":
+ case "success":
+ return def.innerType ? fastPathAcceptsAbsence(def.innerType) : true;
+ case "catch":
+ return true;
+ case "union":
+ return def.options ? def.options.some(fastPathAcceptsAbsence) : true;
+ case "intersection":
+ if (!def.left || !def.right)
+ return true;
+ return fastPathAcceptsAbsence(def.left) && fastPathAcceptsAbsence(def.right);
+ case "pipe":
+ return def.in ? fastPathAcceptsAbsence(def.in) : true;
+ default:
+ return true;
+ }
+}
+__name(fastPathAcceptsAbsence, "fastPathAcceptsAbsence");
+function dropsWhenAbsent(schema2) {
+ return schema2._zod.optin === "optional" && schema2._zod.optout === "optional";
+}
+__name(dropsWhenAbsent, "dropsWhenAbsent");
+function mayOmitUndefined(schema2) {
+ return (schema2._zod.optin !== "defaulted" || schema2._zod.optout === "optional") && mayOutputUndefined(schema2);
+}
+__name(mayOmitUndefined, "mayOmitUndefined");
+function mayOutputUndefined(schema2) {
+ const def = schema2._zod.def;
+ switch (def.type) {
+ case "string":
+ case "number":
+ case "boolean":
+ case "bigint":
+ case "symbol":
+ case "null":
+ case "nan":
+ case "date":
+ case "object":
+ case "array":
+ case "tuple":
+ case "record":
+ case "map":
+ case "set":
+ case "file":
+ case "template_literal":
+ case "never":
+ case "success":
+ return false;
+ case "literal":
+ return !!def.values?.includes(void 0);
+ case "enum":
+ return !!schema2._zod.values?.has(void 0);
+ case "optional":
+ return true;
+ case "nullable":
+ case "readonly":
+ case "nonoptional":
+ return def.innerType ? mayOutputUndefined(def.innerType) : true;
+ case "union":
+ return def.options ? def.options.some(mayOutputUndefined) : true;
+ case "intersection":
+ return !def.left || !def.right || mayOutputUndefined(def.left) || mayOutputUndefined(def.right);
+ case "pipe":
+ return def.out ? mayOutputUndefined(def.out) : true;
+ default:
+ return true;
+ }
+}
+__name(mayOutputUndefined, "mayOutputUndefined");
+function generateNullableCheck(doc, ctx, schema2, accessor, buildsValue = true) {
+ const def = schema2._zod.def;
+ const outputVar = buildsValue ? newVar(ctx) : null;
+ if (outputVar)
+ doc.write(`let ${outputVar} = null;`);
+ doc.write(`if (${accessor} !== null) {`);
+ doc.indented((d5) => {
+ const innerOutput = generateCheck(d5, ctx, def.innerType, accessor, buildsValue);
+ if (outputVar && innerOutput !== null)
+ d5.write(`${outputVar} = ${innerOutput};`);
+ });
+ doc.write(`}`);
+ return outputVar;
+}
+__name(generateNullableCheck, "generateNullableCheck");
+function generateSizeGate(doc, schema2, size) {
+ for (const [max, check2] of sizeCaps(schema2._zod.def.checks)) {
+ doc.write(`if (${size} > ${numericOperand(max, check2._zod.def.check)}) return INVALID;`);
+ }
+}
+__name(generateSizeGate, "generateSizeGate");
+function generateArrayCheck(doc, ctx, schema2, accessor, buildsValue = true) {
+ const def = schema2._zod.def;
+ doc.write(`if (!Array.isArray(${accessor})) return INVALID;`);
+ generateSizeGate(doc, schema2, `${accessor}.length`);
+ const outputVar = buildsValue ? newVar(ctx) : null;
+ const iVar = newVar(ctx);
+ const elemVar = newVar(ctx);
+ if (outputVar)
+ doc.write(`const ${outputVar} = new Array(${accessor}.length);`);
+ doc.write(`for (let ${iVar} = 0; ${iVar} < ${accessor}.length; ${iVar}++) {`);
+ doc.indented((d5) => {
+ d5.write(`const ${elemVar} = ${accessor}[${iVar}];`);
+ const elemOutput = compileChild(d5, ctx, def.element, elemVar, buildsValue);
+ if (outputVar && elemOutput !== null)
+ d5.write(`${outputVar}[${iVar}] = ${elemOutput};`);
+ });
+ doc.write(`}`);
+ return outputVar;
+}
+__name(generateArrayCheck, "generateArrayCheck");
+function generateLiteralCheck(doc, ctx, schema2, accessor) {
+ const def = schema2._zod.def;
+ const values = def.values;
+ if (values.length !== 1) {
+ const literalSet = addConstant(ctx, new Set(values));
+ doc.write(`if (!${literalSet}.has(${accessor})) return INVALID;`);
+ return accessor;
+ }
+ const value = values[0];
+ if (typeof value === "number" && Number.isNaN(value)) {
+ const literalSet = addConstant(ctx, new Set(values));
+ doc.write(`if (!${literalSet}.has(${accessor})) return INVALID;`);
+ return accessor;
+ }
+ if (typeof value === "string") {
+ doc.write(`if (${accessor} !== ${esc(value)}) return INVALID;`);
+ } else if (typeof value === "number" || typeof value === "boolean") {
+ doc.write(`if (${accessor} !== ${value}) return INVALID;`);
+ } else if (value === null) {
+ doc.write(`if (${accessor} !== null) return INVALID;`);
+ } else if (value === void 0) {
+ doc.write(`if (${accessor} !== undefined) return INVALID;`);
+ } else if (typeof value === "bigint") {
+ doc.write(`if (${accessor} !== ${value}n) return INVALID;`);
+ } else {
+ throw new ZodCompileUnsupportedError(`literal type ${typeof value}`);
+ }
+ return accessor;
+}
+__name(generateLiteralCheck, "generateLiteralCheck");
+function generateEnumCheck(doc, ctx, schema2, accessor) {
+ const values = schema2._zod.values;
+ if (!values) {
+ throw new ZodCompileUnsupportedError("enum schema without enumerated values");
+ }
+ const enumSet = addConstant(ctx, values);
+ doc.write(`if (!${enumSet}.has(${accessor})) return INVALID;`);
+ return accessor;
+}
+__name(generateEnumCheck, "generateEnumCheck");
+function generateWrapperCheck(doc, ctx, schema2, accessor) {
+ const def = schema2._zod.def;
+ return generateCheck(doc, ctx, def.innerType, accessor);
+}
+__name(generateWrapperCheck, "generateWrapperCheck");
+function generateDefaultCheck(doc, ctx, schema2, accessor) {
+ const def = schema2._zod.def;
+ const descriptor = Object.getOwnPropertyDescriptor(schema2._zod.def, "defaultValue");
+ const defaultGetter = descriptor ? () => schema2._zod.def.defaultValue : void 0;
+ if (schema2._zod.def.type === "prefault") {
+ if (!defaultGetter) {
+ return generateCheck(doc, ctx, def.innerType, accessor);
+ }
+ const defaultFn = addConstant(ctx, defaultGetter);
+ const inputVar = newVar(ctx);
+ doc.write(`let ${inputVar} = ${accessor};`);
+ doc.write(`if (${accessor} === undefined) ${inputVar} = ${defaultFn}();`);
+ return generateCheck(doc, ctx, def.innerType, inputVar);
+ }
+ const outputVar = newVar(ctx);
+ if (defaultGetter) {
+ const defaultFn = addConstant(ctx, defaultGetter);
+ const cloneFn = addConstant(ctx, shallowClone);
+ doc.write(`let ${outputVar};`);
+ doc.write(`if (${accessor} === undefined) {`);
+ doc.indented((d5) => {
+ d5.write(`${outputVar} = ${cloneFn}(${defaultFn}());`);
+ });
+ doc.write(`} else {`);
+ doc.indented((d5) => {
+ const innerOutput = generateCheck(d5, ctx, def.innerType, accessor);
+ d5.write(`${outputVar} = ${innerOutput} === undefined ? ${cloneFn}(${defaultFn}()) : ${innerOutput};`);
+ });
+ doc.write(`}`);
+ } else {
+ doc.write(`let ${outputVar};`);
+ doc.write(`if (${accessor} !== undefined) {`);
+ doc.indented((d5) => {
+ const innerOutput = generateCheck(d5, ctx, def.innerType, accessor);
+ d5.write(`${outputVar} = ${innerOutput};`);
+ });
+ doc.write(`}`);
+ }
+ return outputVar;
+}
+__name(generateDefaultCheck, "generateDefaultCheck");
+function generateNonOptionalCheck(doc, ctx, schema2, accessor) {
+ const def = schema2._zod.def;
+ const innerOutput = generateCheck(doc, ctx, def.innerType, accessor);
+ const outputVar = newVar(ctx);
+ doc.write(`const ${outputVar} = ${innerOutput};`);
+ doc.write(`if (${outputVar} === undefined) return INVALID;`);
+ return outputVar;
+}
+__name(generateNonOptionalCheck, "generateNonOptionalCheck");
+function generateTupleCheck(doc, ctx, schema2, accessor) {
+ const def = schema2._zod.def;
+ const items = def.items;
+ const rest = def.rest;
+ doc.write(`if (!Array.isArray(${accessor})) return INVALID;`);
+ const optinStart = getTupleOptStart2(items, "optin");
+ const optoutStart = getTupleOptStart2(items, "optout");
+ if (rest) {
+ doc.write(`if (${accessor}.length < ${optinStart}) return INVALID;`);
+ } else {
+ doc.write(`if (${accessor}.length < ${optinStart} || ${accessor}.length > ${items.length}) return INVALID;`);
+ }
+ const outputVar = newVar(ctx);
+ doc.write(`const ${outputVar} = [];`);
+ for (let i5 = 0; i5 < items.length; i5++) {
+ const itemSchema = items[i5];
+ if (i5 >= optoutStart) {
+ doc.write(`if (${outputVar}.length === ${i5}) {`);
+ doc.indented((d5) => {
+ d5.write(`if (${i5} < ${accessor}.length) {`);
+ d5.indented((d22) => {
+ const elemVar = newVar(ctx);
+ d22.write(`const ${elemVar} = ${accessor}[${i5}];`);
+ const elemOutput = compileChild(d22, ctx, itemSchema, elemVar);
+ d22.write(`${outputVar}[${i5}] = ${elemOutput};`);
+ });
+ d5.write(`} else {`);
+ d5.indented((d22) => {
+ if (dropsWhenAbsent(itemSchema)) {
+ d22.write(`${outputVar}.length = ${i5};`);
+ return;
+ }
+ const elemVar = newVar(ctx);
+ const branchVar = newVar(ctx);
+ d22.write(`const ${elemVar} = undefined;`);
+ d22.write(`const ${branchVar} = (() => {`);
+ d22.indented((d32) => {
+ const elemOutput = compileChild(d32, ctx, itemSchema, elemVar);
+ d32.write(`return ${elemOutput};`);
+ });
+ d22.write(`})();`);
+ d22.write(`if (${branchVar} === INVALID || ${branchVar} === undefined) ${outputVar}.length = ${i5};`);
+ d22.write(`else ${outputVar}[${i5}] = ${branchVar};`);
+ });
+ d5.write(`}`);
+ });
+ doc.write(`}`);
+ } else {
+ const elemVar = newVar(ctx);
+ doc.write(`const ${elemVar} = ${accessor}[${i5}];`);
+ const elemOutput = compileChild(doc, ctx, itemSchema, elemVar);
+ doc.write(`${outputVar}[${i5}] = ${elemOutput};`);
+ }
+ }
+ if (rest) {
+ const iVar = newVar(ctx);
+ const elemVar = newVar(ctx);
+ doc.write(`for (let ${iVar} = ${items.length}; ${iVar} < ${accessor}.length; ${iVar}++) {`);
+ doc.indented((d5) => {
+ d5.write(`const ${elemVar} = ${accessor}[${iVar}];`);
+ const elemOutput = compileChild(d5, ctx, rest, elemVar);
+ d5.write(`${outputVar}[${iVar}] = ${elemOutput};`);
+ });
+ doc.write(`}`);
+ }
+ return outputVar;
+}
+__name(generateTupleCheck, "generateTupleCheck");
+function getTupleOptStart2(items, key) {
+ for (let i5 = items.length - 1; i5 >= 0; i5--) {
+ const omittable = key === "optin" ? items[i5]._zod.optin !== void 0 : items[i5]._zod.optout === "optional";
+ if (!omittable)
+ return i5 + 1;
+ }
+ return 0;
+}
+__name(getTupleOptStart2, "getTupleOptStart");
+function generateUnionCheck(doc, ctx, schema2, accessor) {
+ const def = schema2._zod.def;
+ const options = def.options;
+ if (def.discriminator) {
+ return generateDiscriminatedUnionCheck(doc, ctx, def, accessor);
+ }
+ if (def.inclusive === false) {
+ throw new ZodCompileUnsupportedError("exclusive unions (z.xor)");
+ }
+ if (options.length === 0) {
+ doc.write("return INVALID;");
+ return accessor;
+ }
+ if (options.length === 1) {
+ return generateCheck(doc, ctx, options[0], accessor);
+ }
+ const allLiterals = options.every((opt) => opt._zod.def.type === "literal" && !opt._zod.def.checks?.length);
+ if (allLiterals) {
+ const values = new Set(options.flatMap((opt) => opt._zod.def.values));
+ const valuesConst = addConstant(ctx, values);
+ doc.write(`if (!${valuesConst}.has(${accessor})) return INVALID;`);
+ return accessor;
+ }
+ const outputVar = newVar(ctx);
+ doc.write(`let ${outputVar};`);
+ for (let i5 = 0; i5 < options.length; i5++) {
+ const opt = options[i5];
+ if (i5 === 0) {
+ doc.write(`${outputVar} = (() => {`);
+ } else {
+ doc.write(`if (${outputVar} === INVALID) ${outputVar} = (() => {`);
+ }
+ doc.indented((d5) => {
+ const branchOutput = generateCheck(d5, ctx, opt, accessor);
+ d5.write(`return ${branchOutput};`);
+ });
+ doc.write(`})();`);
+ }
+ doc.write(`if (${outputVar} === INVALID) return INVALID;`);
+ return outputVar;
+}
+__name(generateUnionCheck, "generateUnionCheck");
+function generateDiscriminatedUnionCheck(doc, ctx, def, accessor) {
+ if (def.unionFallback) {
+ throw new ZodCompileUnsupportedError("discriminated union with unionFallback");
+ }
+ if (def.options.length === 0) {
+ doc.write("return INVALID;");
+ return accessor;
+ }
+ const discVar = newVar(ctx);
+ const outputVar = newVar(ctx);
+ doc.write(`const ${discVar} = ${accessor}?.[${esc(def.discriminator)}];`);
+ doc.write(`let ${outputVar};`);
+ let firstBranch = true;
+ const claimed = /* @__PURE__ */ new Set();
+ for (const option of def.options) {
+ const values = option._zod.propValues?.[def.discriminator];
+ if (!values || values.size === 0) {
+ throw new ZodCompileUnsupportedError("discriminated union option without static discriminator values");
+ }
+ for (const value of values) {
+ if (claimed.has(value)) {
+ throw new ZodCompileUnsupportedError(`duplicate discriminator value ${String(value)}`);
+ }
+ claimed.add(value);
+ }
+ const conditions = Array.from(values, (value) => literalEquality(ctx, discVar, value));
+ const prefix = firstBranch ? "if" : "else if";
+ doc.write(`${prefix} (${conditions.join(" || ")}) {`);
+ doc.indented((d5) => {
+ const branchOutput = generateCheck(d5, ctx, option, accessor);
+ d5.write(`${outputVar} = ${branchOutput};`);
+ });
+ doc.write(`}`);
+ firstBranch = false;
+ }
+ doc.write(`else { return INVALID; }`);
+ return outputVar;
+}
+__name(generateDiscriminatedUnionCheck, "generateDiscriminatedUnionCheck");
+function literalEquality(ctx, accessor, value) {
+ if (typeof value === "string")
+ return `${accessor} === ${esc(value)}`;
+ if (typeof value === "number") {
+ if (Number.isNaN(value))
+ return `Number.isNaN(${accessor})`;
+ return `${accessor} === ${value}`;
+ }
+ if (typeof value === "boolean")
+ return `${accessor} === ${value}`;
+ if (value === null)
+ return `${accessor} === null`;
+ if (value === void 0)
+ return `${accessor} === undefined`;
+ if (typeof value === "bigint")
+ return `${accessor} === ${value}n`;
+ if (typeof value === "symbol") {
+ const symbolConst = addConstant(ctx, value);
+ return `${accessor} === ${symbolConst}`;
+ }
+ throw new ZodCompileUnsupportedError(`literal discriminator value ${String(value)}`);
+}
+__name(literalEquality, "literalEquality");
+function generateIntersectionCheck(doc, ctx, schema2, accessor) {
+ const def = schema2._zod.def;
+ ctx.definite = false;
+ const leftOutput = compileChild(doc, ctx, def.left, accessor);
+ const rightOutput = compileChild(doc, ctx, def.right, accessor);
+ const mergeConst = addConstant(ctx, mergeValues);
+ const mergedVar = newVar(ctx);
+ doc.write(`const ${mergedVar} = ${mergeConst}(${leftOutput}, ${rightOutput});`);
+ doc.write(`if (!${mergedVar}.valid) return INVALID;`);
+ return `${mergedVar}.data`;
+}
+__name(generateIntersectionCheck, "generateIntersectionCheck");
+function generateRecordCheck(doc, ctx, schema2, accessor) {
+ const def = schema2._zod.def;
+ const isPlainObjectConst = addConstant(ctx, isPlainObject);
+ doc.write(`if (!${isPlainObjectConst}(${accessor})) return INVALID;`);
+ const outputVar = newVar(ctx);
+ const kVar = newVar(ctx);
+ const valVar = newVar(ctx);
+ doc.write(`const ${outputVar} = {};`);
+ const recordDef = def;
+ const keyValues = recordDef.partial ? void 0 : def.keyType._zod.values;
+ if (keyValues) {
+ const inputKeys = [];
+ for (const key of keyValues) {
+ if (!(typeof key === "string" || typeof key === "number" || typeof key === "symbol")) {
+ throw new ZodCompileUnsupportedError(`record key value ${String(key)}`);
+ }
+ const inputKey = typeof key === "number" ? key.toString() : key;
+ if (inputKey === "__proto__") {
+ throw new ZodCompileUnsupportedError('record key "__proto__"');
+ }
+ inputKeys.push(inputKey);
+ const keyConst = addConstant(ctx, key);
+ const outKey = generateCheck(doc, ctx, def.keyType, keyConst);
+ const valueVar = newVar(ctx);
+ doc.write(`const ${valueVar} = ${accessor}[${literalPropertyKey(ctx, inputKey)}];`);
+ const valOutput = compileChild(doc, ctx, def.valueType, valueVar);
+ doc.write(`${outputVar}[${outKey}] = ${valOutput};`);
+ }
+ const knownKeysConst = addConstant(ctx, new Set(inputKeys));
+ doc.write(`for (const ${kVar} in ${accessor}) {`);
+ doc.indented((d5) => {
+ d5.write(`if (${knownKeysConst}.has(${kVar})) continue;`);
+ if (recordDef.mode === "loose") {
+ d5.write(`if (${kVar} !== "__proto__") ${outputVar}[${kVar}] = ${accessor}[${kVar}];`);
+ } else {
+ d5.write(`return INVALID;`);
+ }
+ });
+ doc.write(`}`);
+ return outputVar;
+ }
+ const keyDef = def.keyType._zod.def;
+ const keyIsBareString = keyDef.type === "string" && keyDef.format === void 0 && !keyDef.coerce && (keyDef.checks?.length ?? 0) === 0;
+ if (!keyIsBareString) {
+ const isLoose = def.mode === "loose";
+ const keyFn = compileFn(def.keyType);
+ if (keyFn.definite === false)
+ ctx.definite = false;
+ const keyFast = addConstant(ctx, keyFn);
+ const numericConst = addConstant(ctx, number);
+ const outKeyVar = newVar(ctx);
+ emitOwnKeys(doc, ctx, accessor, kVar, (d5) => {
+ d5.write(`let ${outKeyVar} = ${keyFast}(${kVar});`);
+ d5.write(`if (${outKeyVar} === INVALID && typeof ${kVar} === "string" && ${numericConst}.test(${kVar})) ${outKeyVar} = ${keyFast}(Number(${kVar}));`);
+ if (isLoose) {
+ d5.write(`if (${outKeyVar} === INVALID) { ${outputVar}[${kVar}] = ${accessor}[${kVar}]; continue; }`);
+ } else {
+ d5.write(`if (${outKeyVar} === INVALID) return INVALID;`);
+ }
+ d5.write(`if (${outKeyVar} === "__proto__") continue;`);
+ const valueVar = newVar(ctx);
+ d5.write(`const ${valueVar} = ${accessor}[${kVar}];`);
+ const valOutput = compileChild(d5, ctx, def.valueType, valueVar);
+ d5.write(`${outputVar}[${outKeyVar}] = ${valOutput};`);
+ });
+ return outputVar;
+ }
+ emitOwnKeys(doc, ctx, accessor, kVar, (d5) => {
+ d5.write(`const ${valVar} = ${accessor}[${kVar}];`);
+ const valOutput = compileChild(d5, ctx, def.valueType, valVar);
+ d5.write(`${outputVar}[${kVar}] = ${valOutput};`);
+ }, `return INVALID;`);
+ return outputVar;
+}
+__name(generateRecordCheck, "generateRecordCheck");
+function emitOwnKeys(doc, ctx, accessor, kVar, body, onSymbol) {
+ const propIsEnumerableConst = addConstant(ctx, Object.prototype.propertyIsEnumerable);
+ const symsVar = newVar(ctx);
+ const keysVar = newVar(ctx);
+ const iVar = newVar(ctx);
+ doc.write(`const ${symsVar} = Object.getOwnPropertySymbols(${accessor});`);
+ doc.write(`const ${keysVar} = Object.getOwnPropertyNames(${accessor});`);
+ doc.write(`for (let ${iVar} = 0; ${iVar} < ${keysVar}.length; ${iVar}++) {`);
+ doc.indented((d5) => {
+ d5.write(`const ${kVar} = ${keysVar}[${iVar}];`);
+ d5.write(`if (${kVar} === "__proto__" || !${propIsEnumerableConst}.call(${accessor}, ${kVar})) continue;`);
+ body(d5);
+ });
+ doc.write(`}`);
+ doc.write(`for (let ${iVar} = 0; ${iVar} < ${symsVar}.length; ${iVar}++) {`);
+ doc.indented((d5) => {
+ d5.write(`const ${kVar} = ${symsVar}[${iVar}];`);
+ d5.write(`if (!${propIsEnumerableConst}.call(${accessor}, ${kVar})) continue;`);
+ if (onSymbol)
+ d5.write(onSymbol);
+ else
+ body(d5);
+ });
+ doc.write(`}`);
+}
+__name(emitOwnKeys, "emitOwnKeys");
+function literalPropertyKey(ctx, key) {
+ if (typeof key === "string")
+ return esc(key);
+ return addConstant(ctx, key);
+}
+__name(literalPropertyKey, "literalPropertyKey");
+function generateMapCheck(doc, ctx, schema2, accessor) {
+ const def = schema2._zod.def;
+ doc.write(`if (!(${accessor} instanceof Map)) return INVALID;`);
+ generateSizeGate(doc, schema2, `${accessor}.size`);
+ const outputVar = newVar(ctx);
+ const kVar = newVar(ctx);
+ const valVar = newVar(ctx);
+ doc.write(`const ${outputVar} = new Map();`);
+ doc.write(`for (const [${kVar}, ${valVar}] of ${accessor}) {`);
+ doc.indented((d5) => {
+ const keyOutput = generateCheck(d5, ctx, def.keyType, kVar);
+ const valOutput = generateCheck(d5, ctx, def.valueType, valVar);
+ d5.write(`${outputVar}.set(${keyOutput}, ${valOutput});`);
+ });
+ doc.write(`}`);
+ return outputVar;
+}
+__name(generateMapCheck, "generateMapCheck");
+function generateSetCheck(doc, ctx, schema2, accessor) {
+ const def = schema2._zod.def;
+ doc.write(`if (!(${accessor} instanceof Set)) return INVALID;`);
+ generateSizeGate(doc, schema2, `${accessor}.size`);
+ const outputVar = newVar(ctx);
+ const valVar = newVar(ctx);
+ doc.write(`const ${outputVar} = new Set();`);
+ doc.write(`for (const ${valVar} of ${accessor}) {`);
+ doc.indented((d5) => {
+ const valOutput = generateCheck(d5, ctx, def.valueType, valVar);
+ d5.write(`${outputVar}.add(${valOutput});`);
+ });
+ doc.write(`}`);
+ return outputVar;
+}
+__name(generateSetCheck, "generateSetCheck");
+function generateFileCheck(doc, accessor) {
+ doc.write(`if (!(${accessor} instanceof File)) return INVALID;`);
+ return accessor;
+}
+__name(generateFileCheck, "generateFileCheck");
+function generateTemplateLiteralCheck(doc, ctx, schema2, accessor) {
+ doc.write(`if (typeof ${accessor} !== "string") return INVALID;`);
+ const pattern = schema2._zod.pattern;
+ if (pattern) {
+ const patternConst = addConstant(ctx, pattern);
+ doc.write(`${patternConst}.lastIndex = 0;`);
+ doc.write(`if (!${patternConst}.test(${accessor})) return INVALID;`);
+ }
+ return accessor;
+}
+__name(generateTemplateLiteralCheck, "generateTemplateLiteralCheck");
+function generateLazyCheck(doc, ctx, schema2, accessor) {
+ const def = schema2._zod.def;
+ const getterConst = addUserConstant(ctx, def.getter);
+ const cacheConst = addConstant(ctx, { parser: null });
+ doc.write(`if (!${cacheConst}.parser) {`);
+ doc.indented((d5) => {
+ d5.write(`const inner = ${getterConst}();`);
+ d5.write(`${cacheConst}.parser = function(input) {`);
+ d5.indented((d22) => {
+ d22.write(`const result = inner._zod.run({ value: input, issues: [] }, {});`);
+ d22.write(`return result.issues.length === 0 ? result.value : INVALID;`);
+ });
+ d5.write(`};`);
+ });
+ doc.write(`}`);
+ const outputVar = newVar(ctx);
+ doc.write(`const ${outputVar} = ${cacheConst}.parser(${accessor});`);
+ doc.write(`if (${outputVar} === INVALID) return INVALID;`);
+ return outputVar;
+}
+__name(generateLazyCheck, "generateLazyCheck");
+function generatePipeCheck(doc, ctx, schema2, accessor) {
+ const def = schema2._zod.def;
+ const inputOutput = generateCheck(doc, ctx, def.in, accessor);
+ if (def.transform) {
+ if (isAsyncFunction(def.transform)) {
+ throw new ZodCompileAsyncError("z.compile: async transforms in pipes are not supported");
+ }
+ const transformFn = def.transform;
+ const helperFn = /* @__PURE__ */ __name((value) => {
+ const fakePayload = { value, issues: [], addIssue: pushIssue };
+ const result = transformFn(value, fakePayload);
+ if (result instanceof Promise)
+ return INVALID;
+ return fakePayload.issues.length === 0 ? result : INVALID;
+ }, "helperFn");
+ const helperConst = addUserConstant(ctx, helperFn);
+ const transformedVar = newVar(ctx);
+ doc.write(`const ${transformedVar} = ${helperConst}(${inputOutput});`);
+ doc.write(`if (${transformedVar} === INVALID) return INVALID;`);
+ return generateCheck(doc, ctx, def.out, transformedVar);
+ } else {
+ return generateCheck(doc, ctx, def.out, inputOutput);
+ }
+}
+__name(generatePipeCheck, "generatePipeCheck");
+function isAsyncFunction(fn) {
+ return typeof fn === "function" && (fn.constructor.name === "AsyncFunction" || fn[Symbol.toStringTag] === "AsyncFunction");
+}
+__name(isAsyncFunction, "isAsyncFunction");
+function generateCustomCheck(doc, ctx, schema2, accessor) {
+ const def = schema2._zod.def;
+ if (def.fn) {
+ if (isAsyncFunction(def.fn)) {
+ throw new ZodCompileAsyncError("z.compile: async custom predicates are not supported");
+ }
+ const fnConst = addUserConstant(ctx, def.fn);
+ const throwAsyncConst = addConstant(ctx, throwAsync);
+ const resVar = newVar(ctx);
+ doc.write(`const ${resVar} = ${fnConst}(${accessor});`);
+ doc.write(`if (${resVar} instanceof Promise) ${throwAsyncConst}();`);
+ doc.write(`if (!${resVar}) return INVALID;`);
+ } else {
+ throw new ZodCompileUnsupportedError("custom schema without a predicate function");
+ }
+ return accessor;
+}
+__name(generateCustomCheck, "generateCustomCheck");
+function runtimeCatch(innerSchema, catchValue, value) {
+ const result = innerSchema._zod.run({ value, issues: [] }, {});
+ if (result && typeof result.then === "function")
+ return INVALID;
+ const r5 = result;
+ if (r5.issues.length === 0)
+ return r5.value;
+ return catchValue();
+}
+__name(runtimeCatch, "runtimeCatch");
+function generateCatchCheck(doc, ctx, schema2, accessor) {
+ const def = schema2._zod.def;
+ if (!def.catchValue[CONSTANT_CATCH]) {
+ throw new ZodCompileUnsupportedError("catch with a callback (only a constant catch value compiles)", false);
+ }
+ const outputVar = newVar(ctx);
+ doc.write(`let ${outputVar} = (() => {`);
+ doc.indented((d5) => {
+ const innerOut = compileChild(d5, ctx, def.innerType, accessor);
+ d5.write(`return ${innerOut};`);
+ });
+ doc.write(`})();`);
+ const innerConst = addConstant(ctx, def.innerType);
+ const catchConst = addUserConstant(ctx, def.catchValue);
+ const catchHelperConst = addConstant(ctx, runtimeCatch);
+ doc.write(`if (${outputVar} === INVALID) {`);
+ doc.indented((d5) => {
+ d5.write(`${outputVar} = ${catchHelperConst}(${innerConst}, ${catchConst}, ${accessor});`);
+ d5.write(`if (${outputVar} === INVALID) return INVALID;`);
+ });
+ doc.write(`}`);
+ return outputVar;
+}
+__name(generateCatchCheck, "generateCatchCheck");
+function generateTransformCheck(doc, ctx, schema2, accessor) {
+ const def = schema2._zod.def;
+ if (def.transform) {
+ if (isAsyncFunction(def.transform)) {
+ throw new ZodCompileAsyncError("z.compile: async transforms are not supported");
+ }
+ const transformFn = def.transform;
+ const helperFn = /* @__PURE__ */ __name((value) => {
+ const fakePayload = { value, issues: [], addIssue: pushIssue };
+ const result = transformFn(value, fakePayload);
+ if (result instanceof Promise)
+ return INVALID;
+ return fakePayload.issues.length === 0 ? result : INVALID;
+ }, "helperFn");
+ const helperConst = addUserConstant(ctx, helperFn);
+ const outputVar = newVar(ctx);
+ doc.write(`const ${outputVar} = ${helperConst}(${accessor});`);
+ doc.write(`if (${outputVar} === INVALID) return INVALID;`);
+ return outputVar;
+ }
+ return accessor;
+}
+__name(generateTransformCheck, "generateTransformCheck");
+
+// ../../node_modules/.pnpm/zod@4.6.7/node_modules/zod/v4/core/api.js
+function snapshotChecks(def) {
+ if (def.checks)
+ def.checks = [...def.checks];
+ return def;
+}
+__name(snapshotChecks, "snapshotChecks");
+// @__NO_SIDE_EFFECTS__
+function _string(Class2, params) {
+ return new Class2(snapshotChecks({ type: "string", ...normalizeParams(params) }));
+}
+__name(_string, "_string");
+// @__NO_SIDE_EFFECTS__
+function _coercedString(Class2, params) {
+ return new Class2(snapshotChecks({ type: "string", coerce: true, ...normalizeParams(params) }));
+}
+__name(_coercedString, "_coercedString");
+// @__NO_SIDE_EFFECTS__
+function _email(Class2, params) {
+ return new Class2({
+ type: "string",
+ format: "email",
+ check: "string_format",
+ abort: false,
+ ...normalizeParams(params)
+ });
+}
+__name(_email, "_email");
+// @__NO_SIDE_EFFECTS__
+function _guid(Class2, params) {
+ return new Class2({
+ type: "string",
+ format: "guid",
+ check: "string_format",
+ abort: false,
+ ...normalizeParams(params)
+ });
+}
+__name(_guid, "_guid");
+// @__NO_SIDE_EFFECTS__
+function _uuid(Class2, params) {
+ return new Class2({
+ type: "string",
+ format: "uuid",
+ check: "string_format",
+ abort: false,
+ ...normalizeParams(params)
+ });
+}
+__name(_uuid, "_uuid");
+// @__NO_SIDE_EFFECTS__
+function _uuidv4(Class2, params) {
+ return new Class2({
+ type: "string",
+ format: "uuid",
+ check: "string_format",
+ abort: false,
+ version: "v4",
+ ...normalizeParams(params)
+ });
+}
+__name(_uuidv4, "_uuidv4");
+// @__NO_SIDE_EFFECTS__
+function _uuidv6(Class2, params) {
+ return new Class2({
+ type: "string",
+ format: "uuid",
+ check: "string_format",
+ abort: false,
+ version: "v6",
+ ...normalizeParams(params)
+ });
+}
+__name(_uuidv6, "_uuidv6");
+// @__NO_SIDE_EFFECTS__
+function _uuidv7(Class2, params) {
+ return new Class2({
+ type: "string",
+ format: "uuid",
+ check: "string_format",
+ abort: false,
+ version: "v7",
+ ...normalizeParams(params)
+ });
+}
+__name(_uuidv7, "_uuidv7");
+// @__NO_SIDE_EFFECTS__
+function _url(Class2, params) {
+ return new Class2({
+ type: "string",
+ format: "url",
+ check: "string_format",
+ abort: false,
+ ...normalizeParams(params)
+ });
+}
+__name(_url, "_url");
+// @__NO_SIDE_EFFECTS__
+function _emoji2(Class2, params) {
+ return new Class2({
+ type: "string",
+ format: "emoji",
+ check: "string_format",
+ abort: false,
+ ...normalizeParams(params)
+ });
+}
+__name(_emoji2, "_emoji");
+// @__NO_SIDE_EFFECTS__
+function _nanoid(Class2, params) {
+ return new Class2({
+ type: "string",
+ format: "nanoid",
+ check: "string_format",
+ abort: false,
+ ...normalizeParams(params)
+ });
+}
+__name(_nanoid, "_nanoid");
+// @__NO_SIDE_EFFECTS__
+function _cuid(Class2, params) {
+ return new Class2({
+ type: "string",
+ format: "cuid",
+ check: "string_format",
+ abort: false,
+ ...normalizeParams(params)
+ });
+}
+__name(_cuid, "_cuid");
+// @__NO_SIDE_EFFECTS__
+function _cuid2(Class2, params) {
+ return new Class2({
+ type: "string",
+ format: "cuid2",
+ check: "string_format",
+ abort: false,
+ ...normalizeParams(params)
+ });
+}
+__name(_cuid2, "_cuid2");
+// @__NO_SIDE_EFFECTS__
+function _ulid(Class2, params) {
+ return new Class2({
+ type: "string",
+ format: "ulid",
+ check: "string_format",
+ abort: false,
+ ...normalizeParams(params)
+ });
+}
+__name(_ulid, "_ulid");
+// @__NO_SIDE_EFFECTS__
+function _xid(Class2, params) {
+ return new Class2({
+ type: "string",
+ format: "xid",
+ check: "string_format",
+ abort: false,
+ ...normalizeParams(params)
+ });
+}
+__name(_xid, "_xid");
+// @__NO_SIDE_EFFECTS__
+function _ksuid(Class2, params) {
+ return new Class2({
+ type: "string",
+ format: "ksuid",
+ check: "string_format",
+ abort: false,
+ ...normalizeParams(params)
+ });
+}
+__name(_ksuid, "_ksuid");
+// @__NO_SIDE_EFFECTS__
+function _ipv4(Class2, params) {
+ return new Class2({
+ type: "string",
+ format: "ipv4",
+ check: "string_format",
+ abort: false,
+ ...normalizeParams(params)
+ });
+}
+__name(_ipv4, "_ipv4");
+// @__NO_SIDE_EFFECTS__
+function _ipv6(Class2, params) {
+ return new Class2({
+ type: "string",
+ format: "ipv6",
+ check: "string_format",
+ abort: false,
+ ...normalizeParams(params)
+ });
+}
+__name(_ipv6, "_ipv6");
+// @__NO_SIDE_EFFECTS__
+function _mac(Class2, params) {
+ return new Class2({
+ type: "string",
+ format: "mac",
+ check: "string_format",
+ abort: false,
+ ...normalizeParams(params)
+ });
+}
+__name(_mac, "_mac");
+// @__NO_SIDE_EFFECTS__
+function _cidrv4(Class2, params) {
+ return new Class2({
+ type: "string",
+ format: "cidrv4",
+ check: "string_format",
+ abort: false,
+ ...normalizeParams(params)
+ });
+}
+__name(_cidrv4, "_cidrv4");
+// @__NO_SIDE_EFFECTS__
+function _cidrv6(Class2, params) {
+ return new Class2({
+ type: "string",
+ format: "cidrv6",
+ check: "string_format",
+ abort: false,
+ ...normalizeParams(params)
+ });
+}
+__name(_cidrv6, "_cidrv6");
+// @__NO_SIDE_EFFECTS__
+function _base64(Class2, params) {
+ return new Class2({
+ type: "string",
+ format: "base64",
+ check: "string_format",
+ abort: false,
+ ...normalizeParams(params)
+ });
+}
+__name(_base64, "_base64");
+// @__NO_SIDE_EFFECTS__
+function _base64url(Class2, params) {
+ return new Class2({
+ type: "string",
+ format: "base64url",
+ check: "string_format",
+ abort: false,
+ ...normalizeParams(params)
+ });
+}
+__name(_base64url, "_base64url");
+// @__NO_SIDE_EFFECTS__
+function _e164(Class2, params) {
+ return new Class2({
+ type: "string",
+ format: "e164",
+ check: "string_format",
+ abort: false,
+ ...normalizeParams(params)
+ });
+}
+__name(_e164, "_e164");
+// @__NO_SIDE_EFFECTS__
+function _creditCard(Class2, params) {
+ return new Class2({
+ type: "string",
+ format: "credit_card",
+ check: "string_format",
+ abort: false,
+ ...normalizeParams(params)
+ });
+}
+__name(_creditCard, "_creditCard");
+// @__NO_SIDE_EFFECTS__
+function _iban(Class2, params) {
+ return new Class2({
+ type: "string",
+ format: "iban",
+ check: "string_format",
+ abort: false,
+ ...normalizeParams(params)
+ });
+}
+__name(_iban, "_iban");
+// @__NO_SIDE_EFFECTS__
+function _jwt(Class2, params) {
+ return new Class2({
+ type: "string",
+ format: "jwt",
+ check: "string_format",
+ abort: false,
+ ...normalizeParams(params)
+ });
+}
+__name(_jwt, "_jwt");
+var TimePrecision = {
+ Any: null,
+ Minute: -1,
+ Second: 0,
+ Millisecond: 3,
+ Microsecond: 6
+};
+// @__NO_SIDE_EFFECTS__
+function _isoDateTime(Class2, params) {
+ return new Class2({
+ type: "string",
+ format: "datetime",
+ check: "string_format",
+ offset: false,
+ local: false,
+ precision: null,
+ ...normalizeParams(params)
+ });
+}
+__name(_isoDateTime, "_isoDateTime");
+// @__NO_SIDE_EFFECTS__
+function _isoDate(Class2, params) {
+ return new Class2({
+ type: "string",
+ format: "date",
+ check: "string_format",
+ ...normalizeParams(params)
+ });
+}
+__name(_isoDate, "_isoDate");
+// @__NO_SIDE_EFFECTS__
+function _isoTime(Class2, params) {
+ return new Class2({
+ type: "string",
+ format: "time",
+ check: "string_format",
+ precision: null,
+ ...normalizeParams(params)
+ });
+}
+__name(_isoTime, "_isoTime");
+// @__NO_SIDE_EFFECTS__
+function _isoDuration(Class2, params) {
+ return new Class2({
+ type: "string",
+ format: "duration",
+ check: "string_format",
+ ...normalizeParams(params)
+ });
+}
+__name(_isoDuration, "_isoDuration");
+// @__NO_SIDE_EFFECTS__
+function _number(Class2, params) {
+ return new Class2(snapshotChecks({ type: "number", checks: [], ...normalizeParams(params) }));
+}
+__name(_number, "_number");
+// @__NO_SIDE_EFFECTS__
+function _coercedNumber(Class2, params) {
+ return new Class2(snapshotChecks({ type: "number", coerce: true, checks: [], ...normalizeParams(params) }));
+}
+__name(_coercedNumber, "_coercedNumber");
+// @__NO_SIDE_EFFECTS__
+function _int(Class2, params) {
+ return new Class2({
+ type: "number",
+ check: "number_format",
+ abort: false,
+ format: "safeint",
+ ...normalizeParams(params)
+ });
+}
+__name(_int, "_int");
+// @__NO_SIDE_EFFECTS__
+function _float32(Class2, params) {
+ return new Class2({
+ type: "number",
+ check: "number_format",
+ abort: false,
+ format: "float32",
+ ...normalizeParams(params)
+ });
+}
+__name(_float32, "_float32");
+// @__NO_SIDE_EFFECTS__
+function _float64(Class2, params) {
+ return new Class2({
+ type: "number",
+ check: "number_format",
+ abort: false,
+ format: "float64",
+ ...normalizeParams(params)
+ });
+}
+__name(_float64, "_float64");
+// @__NO_SIDE_EFFECTS__
+function _int32(Class2, params) {
+ return new Class2({
+ type: "number",
+ check: "number_format",
+ abort: false,
+ format: "int32",
+ ...normalizeParams(params)
+ });
+}
+__name(_int32, "_int32");
+// @__NO_SIDE_EFFECTS__
+function _uint32(Class2, params) {
+ return new Class2({
+ type: "number",
+ check: "number_format",
+ abort: false,
+ format: "uint32",
+ ...normalizeParams(params)
+ });
+}
+__name(_uint32, "_uint32");
+// @__NO_SIDE_EFFECTS__
+function _boolean(Class2, params) {
+ return new Class2({
+ type: "boolean",
+ ...normalizeParams(params)
+ });
+}
+__name(_boolean, "_boolean");
+// @__NO_SIDE_EFFECTS__
+function _coercedBoolean(Class2, params) {
+ return new Class2({
+ type: "boolean",
+ coerce: true,
+ ...normalizeParams(params)
+ });
+}
+__name(_coercedBoolean, "_coercedBoolean");
+// @__NO_SIDE_EFFECTS__
+function _bigint(Class2, params) {
+ return new Class2({
+ type: "bigint",
+ ...normalizeParams(params)
+ });
+}
+__name(_bigint, "_bigint");
+// @__NO_SIDE_EFFECTS__
+function _coercedBigint(Class2, params) {
+ return new Class2({
+ type: "bigint",
+ coerce: true,
+ ...normalizeParams(params)
+ });
+}
+__name(_coercedBigint, "_coercedBigint");
+// @__NO_SIDE_EFFECTS__
+function _int64(Class2, params) {
+ return new Class2({
+ type: "bigint",
+ check: "bigint_format",
+ abort: false,
+ format: "int64",
+ ...normalizeParams(params)
+ });
+}
+__name(_int64, "_int64");
+// @__NO_SIDE_EFFECTS__
+function _uint64(Class2, params) {
+ return new Class2({
+ type: "bigint",
+ check: "bigint_format",
+ abort: false,
+ format: "uint64",
+ ...normalizeParams(params)
+ });
+}
+__name(_uint64, "_uint64");
+// @__NO_SIDE_EFFECTS__
+function _symbol(Class2, params) {
+ return new Class2({
+ type: "symbol",
+ ...normalizeParams(params)
+ });
+}
+__name(_symbol, "_symbol");
+// @__NO_SIDE_EFFECTS__
+function _undefined2(Class2, params) {
+ return new Class2({
+ type: "undefined",
+ ...normalizeParams(params)
+ });
+}
+__name(_undefined2, "_undefined");
+// @__NO_SIDE_EFFECTS__
+function _null2(Class2, params) {
+ return new Class2({
+ type: "null",
+ ...normalizeParams(params)
+ });
+}
+__name(_null2, "_null");
+// @__NO_SIDE_EFFECTS__
+function _any(Class2) {
+ return new Class2({
+ type: "any"
+ });
+}
+__name(_any, "_any");
+// @__NO_SIDE_EFFECTS__
+function _unknown(Class2) {
+ return new Class2({
+ type: "unknown"
+ });
+}
+__name(_unknown, "_unknown");
+// @__NO_SIDE_EFFECTS__
+function _never(Class2, params) {
+ return new Class2({
+ type: "never",
+ ...normalizeParams(params)
+ });
+}
+__name(_never, "_never");
+// @__NO_SIDE_EFFECTS__
+function _void(Class2, params) {
+ return new Class2({
+ type: "void",
+ ...normalizeParams(params)
+ });
+}
+__name(_void, "_void");
+// @__NO_SIDE_EFFECTS__
+function _date(Class2, params) {
+ return new Class2({
+ type: "date",
+ ...normalizeParams(params)
+ });
+}
+__name(_date, "_date");
+// @__NO_SIDE_EFFECTS__
+function _coercedDate(Class2, params) {
+ return new Class2({
+ type: "date",
+ coerce: true,
+ ...normalizeParams(params)
+ });
+}
+__name(_coercedDate, "_coercedDate");
+// @__NO_SIDE_EFFECTS__
+function _nan(Class2, params) {
+ return new Class2({
+ type: "nan",
+ ...normalizeParams(params)
+ });
+}
+__name(_nan, "_nan");
+// @__NO_SIDE_EFFECTS__
+function _lt(value, params) {
+ return new $ZodCheckLessThan({
+ check: "less_than",
+ ...normalizeParams(params),
+ value,
+ inclusive: false
+ });
+}
+__name(_lt, "_lt");
+// @__NO_SIDE_EFFECTS__
+function _lte(value, params) {
+ return new $ZodCheckLessThan({
+ check: "less_than",
+ ...normalizeParams(params),
+ value,
+ inclusive: true
+ });
+}
+__name(_lte, "_lte");
+// @__NO_SIDE_EFFECTS__
+function _gt(value, params) {
+ return new $ZodCheckGreaterThan({
+ check: "greater_than",
+ ...normalizeParams(params),
+ value,
+ inclusive: false
+ });
+}
+__name(_gt, "_gt");
+// @__NO_SIDE_EFFECTS__
+function _gte(value, params) {
+ return new $ZodCheckGreaterThan({
+ check: "greater_than",
+ ...normalizeParams(params),
+ value,
+ inclusive: true
+ });
+}
+__name(_gte, "_gte");
+// @__NO_SIDE_EFFECTS__
+function _positive(params) {
+ return /* @__PURE__ */ _gt(0, params);
+}
+__name(_positive, "_positive");
+// @__NO_SIDE_EFFECTS__
+function _negative(params) {
+ return /* @__PURE__ */ _lt(0, params);
+}
+__name(_negative, "_negative");
+// @__NO_SIDE_EFFECTS__
+function _nonpositive(params) {
+ return /* @__PURE__ */ _lte(0, params);
+}
+__name(_nonpositive, "_nonpositive");
+// @__NO_SIDE_EFFECTS__
+function _nonnegative(params) {
+ return /* @__PURE__ */ _gte(0, params);
+}
+__name(_nonnegative, "_nonnegative");
+// @__NO_SIDE_EFFECTS__
+function _multipleOf(value, params) {
+ return new $ZodCheckMultipleOf({
+ check: "multiple_of",
+ ...normalizeParams(params),
+ value
+ });
+}
+__name(_multipleOf, "_multipleOf");
+// @__NO_SIDE_EFFECTS__
+function _maxSize(maximum, params) {
+ return new $ZodCheckMaxSize({
+ check: "max_size",
+ ...normalizeParams(params),
+ maximum
+ });
+}
+__name(_maxSize, "_maxSize");
+// @__NO_SIDE_EFFECTS__
+function _minSize(minimum, params) {
+ return new $ZodCheckMinSize({
+ check: "min_size",
+ ...normalizeParams(params),
+ minimum
+ });
+}
+__name(_minSize, "_minSize");
+// @__NO_SIDE_EFFECTS__
+function _size(size, params) {
+ return new $ZodCheckSizeEquals({
+ check: "size_equals",
+ ...normalizeParams(params),
+ size
+ });
+}
+__name(_size, "_size");
+// @__NO_SIDE_EFFECTS__
+function _maxLength(maximum, params) {
+ const ch = new $ZodCheckMaxLength({
+ check: "max_length",
+ ...normalizeParams(params),
+ maximum
+ });
+ return ch;
+}
+__name(_maxLength, "_maxLength");
+// @__NO_SIDE_EFFECTS__
+function _minLength(minimum, params) {
+ return new $ZodCheckMinLength({
+ check: "min_length",
+ ...normalizeParams(params),
+ minimum
+ });
+}
+__name(_minLength, "_minLength");
+// @__NO_SIDE_EFFECTS__
+function _length(length, params) {
+ return new $ZodCheckLengthEquals({
+ check: "length_equals",
+ ...normalizeParams(params),
+ length
+ });
+}
+__name(_length, "_length");
+// @__NO_SIDE_EFFECTS__
+function _regex(pattern, params) {
+ return new $ZodCheckRegex({
+ check: "string_format",
+ format: "regex",
+ ...normalizeParams(params),
+ pattern
+ });
+}
+__name(_regex, "_regex");
+// @__NO_SIDE_EFFECTS__
+function _lowercase(params) {
+ return new $ZodCheckLowerCase({
+ check: "string_format",
+ format: "lowercase",
+ ...normalizeParams(params)
+ });
+}
+__name(_lowercase, "_lowercase");
+// @__NO_SIDE_EFFECTS__
+function _uppercase(params) {
+ return new $ZodCheckUpperCase({
+ check: "string_format",
+ format: "uppercase",
+ ...normalizeParams(params)
+ });
+}
+__name(_uppercase, "_uppercase");
+// @__NO_SIDE_EFFECTS__
+function _includes(includes, params) {
+ return new $ZodCheckIncludes({
+ check: "string_format",
+ format: "includes",
+ ...normalizeParams(params),
+ includes
+ });
+}
+__name(_includes, "_includes");
+// @__NO_SIDE_EFFECTS__
+function _startsWith(prefix, params) {
+ return new $ZodCheckStartsWith({
+ check: "string_format",
+ format: "starts_with",
+ ...normalizeParams(params),
+ prefix
+ });
+}
+__name(_startsWith, "_startsWith");
+// @__NO_SIDE_EFFECTS__
+function _endsWith(suffix, params) {
+ return new $ZodCheckEndsWith({
+ check: "string_format",
+ format: "ends_with",
+ ...normalizeParams(params),
+ suffix
+ });
+}
+__name(_endsWith, "_endsWith");
+// @__NO_SIDE_EFFECTS__
+function _property(property, schema2, params) {
+ return new $ZodCheckProperty({
+ check: "property",
+ property,
+ schema: schema2,
+ ...normalizeParams(params)
+ });
+}
+__name(_property, "_property");
+// @__NO_SIDE_EFFECTS__
+function _properties(shape, params) {
+ return new $ZodCheckProperties({
+ check: "properties",
+ shape,
+ ...normalizeParams(params)
+ });
+}
+__name(_properties, "_properties");
+// @__NO_SIDE_EFFECTS__
+function _mime(types3, params) {
+ return new $ZodCheckMimeType({
+ check: "mime_type",
+ mime: types3,
+ ...normalizeParams(params)
+ });
+}
+__name(_mime, "_mime");
+// @__NO_SIDE_EFFECTS__
+function _overwrite(tx) {
+ return new $ZodCheckOverwrite({
+ check: "overwrite",
+ tx
+ });
+}
+__name(_overwrite, "_overwrite");
+// @__NO_SIDE_EFFECTS__
+function _normalize(form) {
+ return /* @__PURE__ */ _overwrite((input2) => input2.normalize(form));
+}
+__name(_normalize, "_normalize");
+// @__NO_SIDE_EFFECTS__
+function _trim() {
+ return /* @__PURE__ */ _overwrite((input2) => input2.trim());
+}
+__name(_trim, "_trim");
+// @__NO_SIDE_EFFECTS__
+function _toLowerCase() {
+ return /* @__PURE__ */ _overwrite((input2) => input2.toLowerCase());
+}
+__name(_toLowerCase, "_toLowerCase");
+// @__NO_SIDE_EFFECTS__
+function _toUpperCase() {
+ return /* @__PURE__ */ _overwrite((input2) => input2.toUpperCase());
+}
+__name(_toUpperCase, "_toUpperCase");
+// @__NO_SIDE_EFFECTS__
+function _slugify() {
+ return /* @__PURE__ */ _overwrite((input2) => slugify(input2));
+}
+__name(_slugify, "_slugify");
+// @__NO_SIDE_EFFECTS__
+function _array(Class2, element, params) {
+ return new Class2({
+ type: "array",
+ element,
+ // get element() {
+ // return element;
+ // },
+ ...normalizeParams(params)
+ });
+}
+__name(_array, "_array");
+// @__NO_SIDE_EFFECTS__
+function _union(Class2, options, params) {
+ return new Class2({
+ type: "union",
+ options,
+ ...normalizeParams(params)
+ });
+}
+__name(_union, "_union");
+function _xor(Class2, options, params) {
+ return new Class2({
+ type: "union",
+ options,
+ inclusive: false,
+ ...normalizeParams(params)
+ });
+}
+__name(_xor, "_xor");
+// @__NO_SIDE_EFFECTS__
+function _discriminatedUnion(Class2, discriminator, options, params) {
+ return new Class2({
+ type: "union",
+ options,
+ discriminator,
+ ...normalizeParams(params)
+ });
+}
+__name(_discriminatedUnion, "_discriminatedUnion");
+// @__NO_SIDE_EFFECTS__
+function _intersection(Class2, left, right) {
+ return new Class2({
+ type: "intersection",
+ left,
+ right
+ });
+}
+__name(_intersection, "_intersection");
+// @__NO_SIDE_EFFECTS__
+function _tuple(Class2, items, _paramsOrRest, _params) {
+ const hasRest = _paramsOrRest instanceof $ZodType;
+ const params = hasRest ? _params : _paramsOrRest;
+ const rest = hasRest ? _paramsOrRest : null;
+ return new Class2({
+ type: "tuple",
+ items,
+ rest,
+ ...normalizeParams(params)
+ });
+}
+__name(_tuple, "_tuple");
+// @__NO_SIDE_EFFECTS__
+function _record(Class2, keyType, valueType, params) {
+ return new Class2({
+ type: "record",
+ keyType,
+ valueType,
+ ...normalizeParams(params)
+ });
+}
+__name(_record, "_record");
+// @__NO_SIDE_EFFECTS__
+function _map(Class2, keyType, valueType, params) {
+ return new Class2({
+ type: "map",
+ keyType,
+ valueType,
+ ...normalizeParams(params)
+ });
+}
+__name(_map, "_map");
+// @__NO_SIDE_EFFECTS__
+function _set(Class2, valueType, params) {
+ return new Class2({
+ type: "set",
+ valueType,
+ ...normalizeParams(params)
+ });
+}
+__name(_set, "_set");
+// @__NO_SIDE_EFFECTS__
+function _enum(Class2, values, params) {
+ const entries = Array.isArray(values) ? Object.fromEntries(values.map((v) => [v, v])) : values;
+ return new Class2({
+ type: "enum",
+ entries,
+ ...normalizeParams(params)
+ });
+}
+__name(_enum, "_enum");
+// @__NO_SIDE_EFFECTS__
+function _nativeEnum(Class2, entries, params) {
+ return new Class2({
+ type: "enum",
+ entries,
+ ...normalizeParams(params)
+ });
+}
+__name(_nativeEnum, "_nativeEnum");
+// @__NO_SIDE_EFFECTS__
+function _literal(Class2, value, params) {
+ return new Class2({
+ type: "literal",
+ values: Array.isArray(value) ? value : [value],
+ ...normalizeParams(params)
+ });
+}
+__name(_literal, "_literal");
+// @__NO_SIDE_EFFECTS__
+function _file(Class2, params) {
+ return new Class2({
+ type: "file",
+ ...normalizeParams(params)
+ });
+}
+__name(_file, "_file");
+// @__NO_SIDE_EFFECTS__
+function _transform(Class2, fn) {
+ return new Class2({
+ type: "transform",
+ transform: fn
+ });
+}
+__name(_transform, "_transform");
+// @__NO_SIDE_EFFECTS__
+function _optional(Class2, innerType) {
+ return new Class2({
+ type: "optional",
+ innerType
+ });
+}
+__name(_optional, "_optional");
+// @__NO_SIDE_EFFECTS__
+function _nullable(Class2, innerType) {
+ return new Class2({
+ type: "nullable",
+ innerType
+ });
+}
+__name(_nullable, "_nullable");
+// @__NO_SIDE_EFFECTS__
+function _default(Class2, innerType, defaultValue) {
+ return new Class2({
+ type: "default",
+ innerType,
+ get defaultValue() {
+ return typeof defaultValue === "function" ? defaultValue() : shallowClone(defaultValue);
+ }
+ });
+}
+__name(_default, "_default");
+// @__NO_SIDE_EFFECTS__
+function _nonoptional(Class2, innerType, params) {
+ return new Class2({
+ type: "nonoptional",
+ innerType,
+ ...normalizeParams(params)
+ });
+}
+__name(_nonoptional, "_nonoptional");
+// @__NO_SIDE_EFFECTS__
+function _success(Class2, innerType) {
+ return new Class2({
+ type: "success",
+ innerType
+ });
+}
+__name(_success, "_success");
+// @__NO_SIDE_EFFECTS__
+function _catch(Class2, innerType, catchValue) {
+ return new Class2({
+ type: "catch",
+ innerType,
+ catchValue: typeof catchValue === "function" ? catchValue : constantCatch(catchValue)
+ });
+}
+__name(_catch, "_catch");
+// @__NO_SIDE_EFFECTS__
+function _pipe(Class2, in_, out) {
+ return new Class2({
+ type: "pipe",
+ in: in_,
+ out
+ });
+}
+__name(_pipe, "_pipe");
+// @__NO_SIDE_EFFECTS__
+function _readonly(Class2, innerType) {
+ return new Class2({
+ type: "readonly",
+ innerType
+ });
+}
+__name(_readonly, "_readonly");
+// @__NO_SIDE_EFFECTS__
+function _templateLiteral(Class2, parts, params) {
+ return new Class2({
+ type: "template_literal",
+ parts,
+ ...normalizeParams(params)
+ });
+}
+__name(_templateLiteral, "_templateLiteral");
+// @__NO_SIDE_EFFECTS__
+function _lazy(Class2, getter) {
+ return new Class2({
+ type: "lazy",
+ getter
+ });
+}
+__name(_lazy, "_lazy");
+// @__NO_SIDE_EFFECTS__
+function _promise(Class2, innerType) {
+ return new Class2({
+ type: "promise",
+ innerType
+ });
+}
+__name(_promise, "_promise");
+// @__NO_SIDE_EFFECTS__
+function _custom(Class2, fn, _params) {
+ const norm = normalizeParams(_params);
+ norm.abort ?? (norm.abort = true);
+ const schema2 = new Class2({
+ type: "custom",
+ check: "custom",
+ fn,
+ ...norm
+ });
+ return schema2;
+}
+__name(_custom, "_custom");
+// @__NO_SIDE_EFFECTS__
+function _refine(Class2, fn, _params) {
+ const schema2 = new Class2({
+ type: "custom",
+ check: "custom",
+ fn,
+ ...normalizeParams(_params)
+ });
+ return schema2;
+}
+__name(_refine, "_refine");
+// @__NO_SIDE_EFFECTS__
+function _superRefine(fn, params) {
+ const ch = /* @__PURE__ */ _check((payload) => {
+ payload.addIssue = (issue2) => {
+ if (typeof issue2 === "string") {
+ payload.issues.push(issue(issue2, payload.value, ch._zod.def));
+ } else {
+ const _issue = issue2;
+ if (_issue.fatal)
+ _issue.continue = false;
+ _issue.code ?? (_issue.code = "custom");
+ if (!("input" in _issue))
+ _issue.input = payload.value;
+ _issue.inst ?? (_issue.inst = ch);
+ _issue.continue ?? (_issue.continue = !ch._zod.def.abort);
+ payload.issues.push(issue(_issue));
+ }
+ };
+ return fn(payload.value, payload);
+ }, params);
+ return ch;
+}
+__name(_superRefine, "_superRefine");
+// @__NO_SIDE_EFFECTS__
+function _check(fn, params) {
+ const ch = new $ZodCheck({
+ check: "custom",
+ ...normalizeParams(params)
+ });
+ ch._zod.check = fn;
+ return ch;
+}
+__name(_check, "_check");
+// @__NO_SIDE_EFFECTS__
+function describe(description) {
+ const ch = new $ZodCheck({ check: "describe" });
+ ch._zod.onattach = [
+ (inst) => {
+ const existing = globalRegistry.get(inst) ?? {};
+ globalRegistry.add(inst, { ...existing, description });
+ }
+ ];
+ ch._zod.check = () => {
+ };
+ return ch;
+}
+__name(describe, "describe");
+// @__NO_SIDE_EFFECTS__
+function meta(metadata) {
+ const ch = new $ZodCheck({ check: "meta" });
+ ch._zod.onattach = [
+ (inst) => {
+ const existing = globalRegistry.get(inst) ?? {};
+ globalRegistry.add(inst, { ...existing, ...metadata });
+ }
+ ];
+ ch._zod.check = () => {
+ };
+ return ch;
+}
+__name(meta, "meta");
+// @__NO_SIDE_EFFECTS__
+function _stringbool(Classes, _params) {
+ const params = normalizeParams(_params);
+ let truthyArray = params.truthy ?? ["true", "1", "yes", "on", "y", "enabled"];
+ let falsyArray = params.falsy ?? ["false", "0", "no", "off", "n", "disabled"];
+ if (params.case !== "sensitive") {
+ truthyArray = truthyArray.map((v) => typeof v === "string" ? v.toLowerCase() : v);
+ falsyArray = falsyArray.map((v) => typeof v === "string" ? v.toLowerCase() : v);
+ }
+ const truthySet = new Set(truthyArray);
+ const falsySet = new Set(falsyArray);
+ const _Codec = Classes.Codec ?? $ZodCodec;
+ const _Boolean = Classes.Boolean ?? $ZodBoolean;
+ const _String = Classes.String ?? $ZodString;
+ const stringSchema = new _String({ type: "string", error: params.error });
+ const booleanSchema = new _Boolean({ type: "boolean", error: params.error });
+ const codec2 = new _Codec({
+ type: "pipe",
+ in: stringSchema,
+ out: booleanSchema,
+ transform: /* @__PURE__ */ __name(((input2, payload) => {
+ let data = input2;
+ if (params.case !== "sensitive")
+ data = data.toLowerCase();
+ if (truthySet.has(data)) {
+ return true;
+ } else if (falsySet.has(data)) {
+ return false;
+ } else {
+ payload.issues.push({
+ code: "invalid_value",
+ expected: "stringbool",
+ values: [...truthySet, ...falsySet],
+ input: payload.value,
+ inst: codec2,
+ continue: false
+ });
+ return {};
+ }
+ }), "transform"),
+ reverseTransform: /* @__PURE__ */ __name(((input2, _payload) => {
+ if (input2 === true) {
+ return truthyArray[0] || "true";
+ } else {
+ return falsyArray[0] || "false";
+ }
+ }), "reverseTransform"),
+ error: params.error
+ });
+ codec2._zod.bag.truthy = truthyArray;
+ codec2._zod.bag.falsy = falsyArray;
+ codec2._zod.bag.case = params.case ?? "insensitive";
+ return codec2;
+}
+__name(_stringbool, "_stringbool");
+// @__NO_SIDE_EFFECTS__
+function _stringFormat(Class2, format, fnOrRegex, _params = {}) {
+ const params = normalizeParams(_params);
+ const def = {
+ check: "string_format",
+ type: "string",
+ format,
+ fn: typeof fnOrRegex === "function" ? fnOrRegex : (val) => fnOrRegex.test(val),
+ ...params
+ };
+ if (fnOrRegex instanceof RegExp) {
+ def.pattern = fnOrRegex;
+ }
+ const inst = new Class2(def);
+ return inst;
+}
+__name(_stringFormat, "_stringFormat");
+
+// ../../node_modules/.pnpm/zod@4.6.7/node_modules/zod/v4/core/to-json-schema.js
+function assignProps(target, ...sources) {
+ for (const source of sources) {
+ for (const key of Reflect.ownKeys(source)) {
+ if (Object.prototype.propertyIsEnumerable.call(source, key)) {
+ assignProp(target, key, source[key]);
+ }
+ }
+ }
+ return target;
+}
+__name(assignProps, "assignProps");
+function initializeContext(params) {
+ let target = params?.target ?? "draft-2020-12";
+ if (target === "draft-4")
+ target = "draft-04";
+ if (target === "draft-7")
+ target = "draft-07";
+ return {
+ processors: params.processors ?? {},
+ metadataRegistry: params?.metadata ?? globalRegistry,
+ target,
+ unrepresentable: params?.unrepresentable ?? "throw",
+ override: params?.override ?? (() => {
+ }),
+ io: params?.io ?? "output",
+ counter: 0,
+ seen: /* @__PURE__ */ new Map(),
+ sharedDefsExtractedFor: void 0,
+ sharedEmitDoneFor: void 0,
+ cycles: params?.cycles ?? "ref",
+ reused: params?.reused ?? "inline",
+ intersections: [],
+ deferred: [],
+ external: params?.external ?? void 0
+ };
+}
+__name(initializeContext, "initializeContext");
+function handleUnrepresentable(schema2, ctx, json2, params, message) {
+ const result = typeof ctx.unrepresentable === "function" ? ctx.unrepresentable({ zodSchema: schema2, path: params.path, message }) : ctx.unrepresentable;
+ if (result === "any")
+ return false;
+ if (result === void 0 || result === "throw")
+ throw new Error(message);
+ Object.assign(json2, result);
+ return true;
+}
+__name(handleUnrepresentable, "handleUnrepresentable");
+function processSchema(schema2, ctx, _params = { path: [], schemaPath: [] }) {
+ var _a4;
+ const def = schema2._zod.def;
+ const seen = ctx.seen.get(schema2);
+ if (seen) {
+ seen.count++;
+ const isCycle = _params.schemaPath.includes(schema2);
+ if (isCycle) {
+ seen.cycle = _params.path;
+ }
+ return seen.schema;
+ }
+ const result = { schema: {}, count: 1, cycle: void 0, path: _params.path };
+ ctx.seen.set(schema2, result);
+ ctx.sharedDefsExtractedFor = void 0;
+ ctx.sharedEmitDoneFor = void 0;
+ const overrideSchema = schema2._zod.toJSONSchema?.();
+ if (overrideSchema) {
+ result.schema = overrideSchema;
+ } else {
+ const params = {
+ ..._params,
+ schemaPath: [..._params.schemaPath, schema2],
+ path: _params.path
+ };
+ if (schema2._zod.processJSONSchema) {
+ schema2._zod.processJSONSchema(ctx, result.schema, params);
+ } else {
+ const _json = result.schema;
+ const processor = ctx.processors[def.type];
+ if (!processor) {
+ throw new Error(`[toJSONSchema]: Non-representable type encountered: ${def.type}`);
+ }
+ processor(schema2, ctx, _json, params);
+ }
+ const parent = schema2._zod.parent;
+ if (parent) {
+ if (!result.ref)
+ result.ref = parent;
+ processSchema(parent, ctx, params);
+ ctx.seen.get(parent).isParent = true;
+ }
+ }
+ const meta3 = ctx.metadataRegistry.get(schema2);
+ if (meta3)
+ assignProps(result.schema, meta3);
+ if (ctx.io === "input" && isTransforming(schema2)) {
+ delete result.schema.examples;
+ delete result.schema.default;
+ }
+ if (ctx.io === "input" && "_prefault" in result.schema)
+ (_a4 = result.schema).default ?? (_a4.default = result.schema._prefault);
+ delete result.schema._prefault;
+ const _result = ctx.seen.get(schema2);
+ return _result.schema;
+}
+__name(processSchema, "processSchema");
+function encodeJSONPointerSegment(segment) {
+ return segment.replace(/~/g, "~0").replace(/\//g, "~1");
+}
+__name(encodeJSONPointerSegment, "encodeJSONPointerSegment");
+function extractDefs(ctx, schema2) {
+ const root5 = ctx.seen.get(schema2);
+ if (!root5)
+ throw new Error("Unprocessed schema. This is a bug in Zod.");
+ if (ctx.external && ctx.sharedDefsExtractedFor === ctx.external)
+ return;
+ const idToSchema = /* @__PURE__ */ new Map();
+ for (const entry of ctx.seen.entries()) {
+ const id = ctx.metadataRegistry.get(entry[0])?.id;
+ if (id) {
+ const existing = idToSchema.get(id);
+ if (existing && existing !== entry[0]) {
+ throw new Error(`Duplicate schema id "${id}" detected during JSON Schema conversion. Two different schemas cannot share the same id when converted together.`);
+ }
+ idToSchema.set(id, entry[0]);
+ }
+ }
+ const makeURI = /* @__PURE__ */ __name((entry) => {
+ const defsSegment = ctx.target === "draft-2020-12" ? "$defs" : "definitions";
+ if (ctx.external) {
+ const externalId = ctx.external.registry.get(entry[0])?.id;
+ const uriGenerator = ctx.external.uri ?? ((id2) => id2);
+ if (externalId) {
+ return { ref: uriGenerator(externalId) };
+ }
+ const id = entry[1].defId ?? entry[1].schema.id ?? `schema${ctx.counter++}`;
+ entry[1].defId = id;
+ return { defId: id, ref: `${uriGenerator("__shared")}#/${defsSegment}/${encodeJSONPointerSegment(id)}` };
+ }
+ const uriPrefix = `#`;
+ const defUriPrefix = `${uriPrefix}/${defsSegment}/`;
+ if (entry[1] === root5 && !entry[1].schema.id) {
+ return { ref: uriPrefix };
+ }
+ const defId = entry[1].schema.id ?? `__schema${ctx.counter++}`;
+ return { defId, ref: defUriPrefix + encodeJSONPointerSegment(defId) };
+ }, "makeURI");
+ const extractToDef = /* @__PURE__ */ __name((entry) => {
+ if (entry[1].schema.$ref) {
+ return;
+ }
+ const seen = entry[1];
+ const { ref, defId } = makeURI(entry);
+ seen.def = { ...seen.schema };
+ if (defId)
+ seen.defId = defId;
+ const schema3 = seen.schema;
+ for (const key in schema3) {
+ delete schema3[key];
+ }
+ schema3.$ref = ref;
+ }, "extractToDef");
+ if (ctx.cycles === "throw") {
+ for (const entry of ctx.seen.entries()) {
+ const seen = entry[1];
+ if (seen.cycle) {
+ throw new Error(`Cycle detected: #/${seen.cycle?.join("/")}/
+
+Set the \`cycles\` parameter to \`"ref"\` to resolve cyclical schemas with defs.`);
+ }
+ }
+ }
+ for (const entry of ctx.seen.entries()) {
+ const seen = entry[1];
+ if (schema2 === entry[0]) {
+ extractToDef(entry);
+ continue;
+ }
+ if (ctx.external) {
+ const ext = ctx.external.registry.get(entry[0])?.id;
+ if (schema2 !== entry[0] && ext) {
+ extractToDef(entry);
+ continue;
+ }
+ }
+ const id = ctx.metadataRegistry.get(entry[0])?.id;
+ if (id) {
+ extractToDef(entry);
+ continue;
+ }
+ if (seen.cycle) {
+ extractToDef(entry);
+ continue;
+ }
+ if (seen.count > 1) {
+ if (ctx.reused === "ref") {
+ extractToDef(entry);
+ }
+ }
+ }
+ if (ctx.external)
+ ctx.sharedDefsExtractedFor = ctx.external;
+}
+__name(extractDefs, "extractDefs");
+function compactTypeUnion(schema2) {
+ const options = schema2.anyOf;
+ if (!Array.isArray(options) || options.length === 0 || schema2.type !== void 0)
+ return;
+ const types3 = [];
+ for (const option of options) {
+ if (!option || typeof option !== "object")
+ return;
+ compactTypeUnion(option);
+ const keys = Object.keys(option);
+ if (keys.length !== 1 || keys[0] !== "type")
+ return;
+ const type = option.type;
+ for (const member of Array.isArray(type) ? type : [type]) {
+ if (typeof member !== "string")
+ return;
+ if (!types3.includes(member))
+ types3.push(member);
+ }
+ }
+ delete schema2.anyOf;
+ schema2.type = types3.length === 1 ? types3[0] : types3;
+}
+__name(compactTypeUnion, "compactTypeUnion");
+var FOLDABLE_KEYS = /* @__PURE__ */ new Set(["type", "properties", "required", "additionalProperties"]);
+var UNION_KEYS = ["oneOf", "anyOf"];
+function undeclaredConstraint(member) {
+ const extra = member.additionalProperties;
+ if (extra === void 0 || extra === false || typeof extra !== "object" || extra === null)
+ return null;
+ return Object.keys(extra).length ? extra : null;
+}
+__name(undeclaredConstraint, "undeclaredConstraint");
+function foldObjects(members2) {
+ const objects = [];
+ for (const member of members2) {
+ if (typeof member !== "object" || member.type !== "object")
+ return null;
+ for (const key in member) {
+ if (!FOLDABLE_KEYS.has(key))
+ return null;
+ }
+ objects.push(member);
+ }
+ const properties = {};
+ const required2 = /* @__PURE__ */ new Set();
+ for (const object2 of objects) {
+ for (const key in object2.properties) {
+ if (Object.prototype.hasOwnProperty.call(properties, key))
+ continue;
+ const parts = [];
+ for (const other of objects) {
+ const part = other.properties?.[key] ?? undeclaredConstraint(other);
+ if (part === null || part === void 0)
+ continue;
+ if (!parts.some((seen) => JSON.stringify(seen) === JSON.stringify(part)))
+ parts.push(part);
+ }
+ const merged = parts.length === 1 ? parts[0] : foldObjects(parts) ?? { allOf: parts };
+ assignProp(properties, key, merged);
+ }
+ for (const key of object2.required ?? [])
+ required2.add(key);
+ }
+ const folded = { type: "object", properties };
+ if (required2.size)
+ folded.required = [...required2];
+ if (objects.every((object2) => object2.additionalProperties === false)) {
+ folded.additionalProperties = false;
+ } else {
+ const constraints = [];
+ for (const object2 of objects) {
+ const constraint = undeclaredConstraint(object2);
+ if (constraint && !constraints.some((seen) => JSON.stringify(seen) === JSON.stringify(constraint)))
+ constraints.push(constraint);
+ }
+ if (constraints.length === 1)
+ folded.additionalProperties = constraints[0];
+ else if (constraints.length > 1)
+ folded.additionalProperties = { allOf: constraints };
+ }
+ return folded;
+}
+__name(foldObjects, "foldObjects");
+function foldIntersection(json2) {
+ const allOf = json2.allOf;
+ if (!Array.isArray(allOf) || allOf.length < 2)
+ return;
+ for (const key of FOLDABLE_KEYS)
+ if (key in json2)
+ return;
+ const unions = allOf.filter((m3) => UNION_KEYS.some((k5) => Array.isArray(m3[k5])));
+ let folded = null;
+ if (!unions.length) {
+ folded = foldObjects(allOf);
+ } else {
+ const union2 = unions[0];
+ const keyword = UNION_KEYS.find((k5) => Array.isArray(union2[k5]));
+ if (Object.keys(union2).length !== 1)
+ return;
+ const rest = allOf.filter((m3) => m3 !== union2);
+ const branches = union2[keyword].map((branch) => foldObjects([...rest, branch]));
+ if (branches.some((b5) => !b5))
+ return;
+ folded = { [keyword]: branches };
+ }
+ if (!folded)
+ return;
+ delete json2.allOf;
+ assignProps(json2, folded);
+}
+__name(foldIntersection, "foldIntersection");
+function finalize(ctx, schema2) {
+ const root5 = ctx.seen.get(schema2);
+ if (!root5)
+ throw new Error("Unprocessed schema. This is a bug in Zod.");
+ const flattenRef = /* @__PURE__ */ __name((zodSchema) => {
+ const seen = ctx.seen.get(zodSchema);
+ if (seen.ref === null)
+ return;
+ const schema3 = seen.def ?? seen.schema;
+ const _cached = { ...schema3 };
+ const ref = seen.ref;
+ seen.ref = null;
+ if (ref) {
+ flattenRef(ref);
+ const refSeen = ctx.seen.get(ref);
+ const refSchema = refSeen.schema;
+ if (refSchema.$ref && (ctx.target === "draft-07" || ctx.target === "draft-04" || ctx.target === "openapi-3.0")) {
+ schema3.allOf = schema3.allOf ?? [];
+ schema3.allOf.push(refSchema);
+ } else {
+ assignProps(schema3, refSchema);
+ }
+ assignProps(schema3, _cached);
+ const isParentRef = zodSchema._zod.parent === ref;
+ if (isParentRef) {
+ for (const key in schema3) {
+ if (key === "$ref" || key === "allOf")
+ continue;
+ if (!(key in _cached)) {
+ delete schema3[key];
+ }
+ }
+ }
+ if (refSchema.$ref && refSeen.def) {
+ for (const key in schema3) {
+ if (key === "$ref" || key === "allOf")
+ continue;
+ if (key in refSeen.def && JSON.stringify(schema3[key]) === JSON.stringify(refSeen.def[key])) {
+ delete schema3[key];
+ }
+ }
+ }
+ }
+ const parent = zodSchema._zod.parent;
+ if (parent && parent !== ref) {
+ flattenRef(parent);
+ const parentSeen = ctx.seen.get(parent);
+ if (parentSeen?.schema.$ref) {
+ schema3.$ref = parentSeen.schema.$ref;
+ if (parentSeen.def) {
+ for (const key in schema3) {
+ if (key === "$ref" || key === "allOf")
+ continue;
+ if (key in parentSeen.def && JSON.stringify(schema3[key]) === JSON.stringify(parentSeen.def[key])) {
+ delete schema3[key];
+ }
+ }
+ }
+ }
+ }
+ ctx.override({
+ zodSchema,
+ jsonSchema: schema3,
+ path: seen.path ?? []
+ });
+ }, "flattenRef");
+ if (!ctx.external || ctx.sharedEmitDoneFor !== ctx.external) {
+ for (const entry of [...ctx.seen.entries()].reverse()) {
+ flattenRef(entry[0]);
+ }
+ if (ctx.target !== "openapi-3.0") {
+ for (const entry of ctx.seen.entries()) {
+ compactTypeUnion(entry[1].def ?? entry[1].schema);
+ }
+ }
+ for (const rewrite of ctx.deferred)
+ rewrite();
+ if (ctx.intersections.length) {
+ const carriers = /* @__PURE__ */ new Map();
+ for (const seen of ctx.seen.values()) {
+ for (const json2 of [seen.schema, seen.def]) {
+ const allOf = json2?.allOf;
+ if (!Array.isArray(allOf))
+ continue;
+ const existing = carriers.get(allOf);
+ if (existing)
+ existing.push(json2);
+ else
+ carriers.set(allOf, [json2]);
+ }
+ }
+ for (const allOf of ctx.intersections) {
+ for (const json2 of carriers.get(allOf) ?? [])
+ foldIntersection(json2);
+ }
+ }
+ }
+ const result = {};
+ if (ctx.target === "draft-2020-12") {
+ result.$schema = "https://json-schema.org/draft/2020-12/schema";
+ } else if (ctx.target === "draft-07") {
+ result.$schema = "http://json-schema.org/draft-07/schema#";
+ } else if (ctx.target === "draft-04") {
+ result.$schema = "http://json-schema.org/draft-04/schema#";
+ } else if (ctx.target === "openapi-3.0") {
+ } else {
+ }
+ if (ctx.external?.uri) {
+ const id = ctx.external.registry.get(schema2)?.id;
+ if (!id)
+ throw new Error("Schema is missing an `id` property");
+ result.$id = ctx.external.uri(id);
+ }
+ assignProps(result, root5.defId ? root5.schema : root5.def ?? root5.schema);
+ const rootMetaId = ctx.metadataRegistry.get(schema2)?.id;
+ if (rootMetaId !== void 0 && result.id === rootMetaId)
+ delete result.id;
+ const defs = ctx.external?.defs ?? {};
+ if (!ctx.external || ctx.sharedEmitDoneFor !== ctx.external) {
+ for (const entry of ctx.seen.entries()) {
+ const seen = entry[1];
+ if (seen.def && seen.defId) {
+ if (seen.def.id === seen.defId)
+ delete seen.def.id;
+ assignProp(defs, seen.defId, seen.def);
+ }
+ }
+ }
+ if (ctx.external)
+ ctx.sharedEmitDoneFor = ctx.external;
+ if (ctx.external) {
+ } else {
+ if (Object.keys(defs).length > 0) {
+ if (ctx.target === "draft-2020-12") {
+ result.$defs = defs;
+ } else {
+ result.definitions = defs;
+ }
+ }
+ }
+ try {
+ const finalized = JSON.parse(JSON.stringify(result));
+ Object.defineProperty(finalized, "~standard", {
+ value: {
+ ...schema2["~standard"],
+ jsonSchema: {
+ input: createStandardJSONSchemaMethod(schema2, "input", ctx.processors),
+ output: createStandardJSONSchemaMethod(schema2, "output", ctx.processors)
+ }
+ },
+ enumerable: false,
+ writable: false
+ });
+ return finalized;
+ } catch (_err) {
+ throw new Error("Error converting schema to JSON.");
+ }
+}
+__name(finalize, "finalize");
+function isTransforming(_schema, _ctx) {
+ const ctx = _ctx ?? { seen: /* @__PURE__ */ new Set() };
+ if (ctx.seen.has(_schema))
+ return false;
+ ctx.seen.add(_schema);
+ const def = _schema._zod.def;
+ if (def.type === "transform")
+ return true;
+ if (def.type === "array")
+ return isTransforming(def.element, ctx);
+ if (def.type === "set")
+ return isTransforming(def.valueType, ctx);
+ if (def.type === "lazy")
+ return isTransforming(def.getter(), ctx);
+ if (def.type === "promise" || def.type === "optional" || def.type === "nonoptional" || def.type === "nullable" || def.type === "readonly" || def.type === "default" || def.type === "prefault" || def.type === "catch") {
+ return isTransforming(def.innerType, ctx);
+ }
+ if (def.type === "intersection") {
+ return isTransforming(def.left, ctx) || isTransforming(def.right, ctx);
+ }
+ if (def.type === "record" || def.type === "map") {
+ return isTransforming(def.keyType, ctx) || isTransforming(def.valueType, ctx);
+ }
+ if (def.type === "pipe") {
+ if (_schema._zod.traits.has("$ZodCodec"))
+ return true;
+ return isTransforming(def.in, ctx) || isTransforming(def.out, ctx);
+ }
+ if (def.type === "object") {
+ for (const key in def.shape) {
+ if (isTransforming(def.shape[key], ctx))
+ return true;
+ }
+ return false;
+ }
+ if (def.type === "union") {
+ for (const option of def.options) {
+ if (isTransforming(option, ctx))
+ return true;
+ }
+ return false;
+ }
+ if (def.type === "tuple") {
+ for (const item of def.items) {
+ if (isTransforming(item, ctx))
+ return true;
+ }
+ if (def.rest && isTransforming(def.rest, ctx))
+ return true;
+ return false;
+ }
+ return false;
+}
+__name(isTransforming, "isTransforming");
+var createToJSONSchemaMethod = /* @__PURE__ */ __name((schema2, processors = {}) => (params) => {
+ const ctx = initializeContext({ ...params, processors });
+ processSchema(schema2, ctx);
+ extractDefs(ctx, schema2);
+ return finalize(ctx, schema2);
+}, "createToJSONSchemaMethod");
+var createStandardJSONSchemaMethod = /* @__PURE__ */ __name((schema2, io, processors = {}) => (params) => {
+ const { libraryOptions, target } = params ?? {};
+ const ctx = initializeContext({ ...libraryOptions ?? {}, target, io, processors });
+ processSchema(schema2, ctx);
+ extractDefs(ctx, schema2);
+ return finalize(ctx, schema2);
+}, "createStandardJSONSchemaMethod");
+
+// ../../node_modules/.pnpm/zod@4.6.7/node_modules/zod/v4/core/json-schema-processors.js
+var narrowMin = /* @__PURE__ */ __name((agg, key, value) => {
+ if (agg[key] === void 0 || value > agg[key])
+ agg[key] = value;
+}, "narrowMin");
+var narrowMax = /* @__PURE__ */ __name((agg, key, value) => {
+ if (agg[key] === void 0 || value < agg[key])
+ agg[key] = value;
+}, "narrowMax");
+var narrowBoth = /* @__PURE__ */ __name((agg, value) => {
+ narrowMin(agg, "minimum", value);
+ narrowMax(agg, "maximum", value);
+}, "narrowBoth");
+var addDivisor = /* @__PURE__ */ __name((agg, value) => {
+ agg.multipleOf ?? (agg.multipleOf = []);
+ if (!agg.multipleOf.includes(value))
+ agg.multipleOf.push(value);
+}, "addDivisor");
+var addPattern = /* @__PURE__ */ __name((agg, pattern) => {
+ agg.patterns ?? (agg.patterns = /* @__PURE__ */ new Set());
+ agg.patterns.add(pattern);
+}, "addPattern");
+var intersectMime = /* @__PURE__ */ __name((agg, mime) => {
+ agg.mime = agg.mime ? agg.mime.filter((m3) => mime.includes(m3)) : [...mime];
+}, "intersectMime");
+var setFormat = /* @__PURE__ */ __name((agg, format) => {
+ agg.format = format;
+ if (format.includes("int"))
+ agg.isInt = true;
+}, "setFormat");
+var minContributor = /* @__PURE__ */ __name((agg, def) => narrowMin(agg, "minimum", def.minimum), "minContributor");
+var maxContributor = /* @__PURE__ */ __name((agg, def) => narrowMax(agg, "maximum", def.maximum), "maxContributor");
+var formatContributor = /* @__PURE__ */ __name((ranges) => (agg, def) => {
+ setFormat(agg, def.format);
+ const [minimum, maximum] = ranges[def.format];
+ narrowMin(agg, "minimum", minimum);
+ narrowMax(agg, "maximum", maximum);
+}, "formatContributor");
+var contributors = {
+ greater_than: /* @__PURE__ */ __name((agg, def) => narrowMin(agg, def.inclusive ? "minimum" : "exclusiveMinimum", def.value), "greater_than"),
+ less_than: /* @__PURE__ */ __name((agg, def) => narrowMax(agg, def.inclusive ? "maximum" : "exclusiveMaximum", def.value), "less_than"),
+ multiple_of: /* @__PURE__ */ __name((agg, def) => addDivisor(agg, def.value), "multiple_of"),
+ number_format: formatContributor(NUMBER_FORMAT_RANGES),
+ bigint_format: formatContributor(BIGINT_FORMAT_RANGES),
+ min_length: minContributor,
+ max_length: maxContributor,
+ length_equals: /* @__PURE__ */ __name((agg, def) => narrowBoth(agg, def.length), "length_equals"),
+ min_size: minContributor,
+ max_size: maxContributor,
+ size_equals: /* @__PURE__ */ __name((agg, def) => narrowBoth(agg, def.size), "size_equals"),
+ string_format: /* @__PURE__ */ __name((agg, def) => {
+ setFormat(agg, def.format);
+ if (def.pattern)
+ addPattern(agg, def.pattern);
+ if (def.format === "base64" || def.format === "base64url")
+ agg.contentEncoding = def.format;
+ if (def.local || def.precision === -1)
+ agg.laxFormat = true;
+ }, "string_format"),
+ mime_type: /* @__PURE__ */ __name((agg, def) => intersectMime(agg, def.mime), "mime_type")
+};
+function aggregateChecks(schema2) {
+ const agg = {};
+ const def = schema2._zod.def;
+ const list = schema2._zod.traits.has("$ZodCheck") ? [schema2, ...def.checks ?? []] : def.checks ?? [];
+ for (const ch of list)
+ contributors[ch._zod.def.check]?.(agg, ch._zod.def);
+ const bag = schema2._zod.bag;
+ if (bag.minimum !== void 0)
+ narrowMin(agg, "minimum", bag.minimum);
+ if (bag.exclusiveMinimum !== void 0)
+ narrowMin(agg, "exclusiveMinimum", bag.exclusiveMinimum);
+ if (bag.maximum !== void 0)
+ narrowMax(agg, "maximum", bag.maximum);
+ if (bag.exclusiveMaximum !== void 0)
+ narrowMax(agg, "exclusiveMaximum", bag.exclusiveMaximum);
+ if (bag.multipleOf !== void 0)
+ addDivisor(agg, bag.multipleOf);
+ if (bag.format !== void 0) {
+ agg.format ?? (agg.format = bag.format);
+ if (bag.format.includes("int"))
+ agg.isInt = true;
+ }
+ if (bag.mime)
+ intersectMime(agg, bag.mime);
+ for (const pattern of bag.patterns ?? [])
+ addPattern(agg, pattern);
+ return agg;
+}
+__name(aggregateChecks, "aggregateChecks");
+var formatMap = {
+ guid: "uuid",
+ url: "uri",
+ datetime: "date-time",
+ json_string: "json-string",
+ regex: ""
+ // do not set
+};
+var exactPatterns = /* @__PURE__ */ new Map([
+ [base64Charset, base64],
+ [base64urlCharset, base64url]
+]);
+var exactPattern = /* @__PURE__ */ __name((p3) => exactPatterns.get(p3) ?? p3, "exactPattern");
+var stringProcessor = /* @__PURE__ */ __name((schema2, ctx, _json, _params) => {
+ const json2 = _json;
+ json2.type = "string";
+ const { minimum, maximum, format, patterns, contentEncoding, laxFormat } = aggregateChecks(schema2);
+ if (typeof minimum === "number")
+ json2.minLength = minimum;
+ if (typeof maximum === "number")
+ json2.maxLength = maximum;
+ if (format) {
+ json2.format = formatMap[format] ?? format;
+ if (json2.format === "")
+ delete json2.format;
+ if (format === "time" || laxFormat) {
+ delete json2.format;
+ }
+ }
+ if (contentEncoding)
+ json2.contentEncoding = contentEncoding;
+ if (patterns && patterns.size > 0) {
+ const patternList = [...patterns].map(exactPattern);
+ if (patternList.length === 1)
+ json2.pattern = patternList[0].source;
+ else if (patternList.length > 1) {
+ json2.allOf = [
+ ...patternList.map((regex) => ({
+ ...ctx.target === "draft-07" || ctx.target === "draft-04" || ctx.target === "openapi-3.0" ? { type: "string" } : {},
+ pattern: regex.source
+ }))
+ ];
+ }
+ }
+}, "stringProcessor");
+var numberProcessor = /* @__PURE__ */ __name((schema2, ctx, _json, params) => {
+ const json2 = _json;
+ const { minimum, maximum, multipleOf, exclusiveMaximum, exclusiveMinimum, isInt } = aggregateChecks(schema2);
+ json2.type = isInt ? "integer" : "number";
+ const exMin = typeof exclusiveMinimum === "number" && exclusiveMinimum >= (minimum ?? Number.NEGATIVE_INFINITY);
+ const exMax = typeof exclusiveMaximum === "number" && exclusiveMaximum <= (maximum ?? Number.POSITIVE_INFINITY);
+ const legacy = ctx.target === "draft-04" || ctx.target === "openapi-3.0";
+ if (exMin) {
+ if (legacy) {
+ json2.minimum = exclusiveMinimum;
+ json2.exclusiveMinimum = true;
+ } else {
+ json2.exclusiveMinimum = exclusiveMinimum;
+ }
+ } else if (typeof minimum === "number") {
+ json2.minimum = minimum;
+ }
+ if (exMax) {
+ if (legacy) {
+ json2.maximum = exclusiveMaximum;
+ json2.exclusiveMaximum = true;
+ } else {
+ json2.exclusiveMaximum = exclusiveMaximum;
+ }
+ } else if (typeof maximum === "number") {
+ json2.maximum = maximum;
+ }
+ if (multipleOf) {
+ const divisors = /* @__PURE__ */ new Set();
+ for (const divisor of multipleOf) {
+ if (Number.isFinite(divisor) && divisor !== 0)
+ divisors.add(Math.abs(divisor));
+ else
+ handleUnrepresentable(schema2, ctx, json2, params, `A multipleOf divisor of ${divisor} cannot be represented in JSON Schema`);
+ }
+ const [first, ...rest] = divisors;
+ if (first !== void 0)
+ json2.multipleOf = first;
+ if (rest.length)
+ json2.allOf = [...json2.allOf ?? [], ...rest.map((m3) => ({ multipleOf: m3 }))];
+ }
+}, "numberProcessor");
+var booleanProcessor = /* @__PURE__ */ __name((_schema, _ctx, json2, _params) => {
+ json2.type = "boolean";
+}, "booleanProcessor");
+var bigintProcessor = /* @__PURE__ */ __name((schema2, ctx, json2, params) => {
+ handleUnrepresentable(schema2, ctx, json2, params, "BigInt cannot be represented in JSON Schema");
+}, "bigintProcessor");
+var symbolProcessor = /* @__PURE__ */ __name((schema2, ctx, json2, params) => {
+ handleUnrepresentable(schema2, ctx, json2, params, "Symbols cannot be represented in JSON Schema");
+}, "symbolProcessor");
+var nullProcessor = /* @__PURE__ */ __name((_schema, ctx, json2, _params) => {
+ if (ctx.target === "openapi-3.0") {
+ json2.type = "string";
+ json2.nullable = true;
+ json2.enum = [null];
+ } else {
+ json2.type = "null";
+ }
+}, "nullProcessor");
+var undefinedProcessor = /* @__PURE__ */ __name((schema2, ctx, json2, params) => {
+ handleUnrepresentable(schema2, ctx, json2, params, "Undefined cannot be represented in JSON Schema");
+}, "undefinedProcessor");
+var voidProcessor = /* @__PURE__ */ __name((schema2, ctx, json2, params) => {
+ handleUnrepresentable(schema2, ctx, json2, params, "Void cannot be represented in JSON Schema");
+}, "voidProcessor");
+var neverProcessor = /* @__PURE__ */ __name((_schema, _ctx, json2, _params) => {
+ json2.not = {};
+}, "neverProcessor");
+var anyProcessor = /* @__PURE__ */ __name((_schema, _ctx, _json, _params) => {
+}, "anyProcessor");
+var unknownProcessor = /* @__PURE__ */ __name((_schema, _ctx, _json, _params) => {
+}, "unknownProcessor");
+var dateProcessor = /* @__PURE__ */ __name((schema2, ctx, json2, params) => {
+ handleUnrepresentable(schema2, ctx, json2, params, "Date cannot be represented in JSON Schema");
+}, "dateProcessor");
+var enumProcessor = /* @__PURE__ */ __name((schema2, _ctx, json2, _params) => {
+ const def = schema2._zod.def;
+ const values = getEnumValues(def.entries);
+ if (values.length === 0) {
+ json2.not = {};
+ return;
+ }
+ if (values.every((v) => typeof v === "number"))
+ json2.type = "number";
+ if (values.every((v) => typeof v === "string"))
+ json2.type = "string";
+ json2.enum = values;
+}, "enumProcessor");
+var literalProcessor = /* @__PURE__ */ __name((schema2, ctx, json2, params) => {
+ const def = schema2._zod.def;
+ if (def.values.length === 0) {
+ json2.not = {};
+ return;
+ }
+ const vals = [];
+ for (const val of def.values) {
+ if (val === void 0) {
+ if (handleUnrepresentable(schema2, ctx, json2, params, "Literal `undefined` cannot be represented in JSON Schema"))
+ return;
+ } else if (typeof val === "bigint") {
+ if (handleUnrepresentable(schema2, ctx, json2, params, "BigInt literals cannot be represented in JSON Schema"))
+ return;
+ vals.push(Number(val));
+ } else {
+ vals.push(val);
+ }
+ }
+ if (vals.length === 0) {
+ } else if (vals.length === 1) {
+ const val = vals[0];
+ json2.type = val === null ? "null" : typeof val;
+ if (ctx.target === "draft-04" || ctx.target === "openapi-3.0") {
+ json2.enum = [val];
+ } else {
+ json2.const = val;
+ }
+ } else {
+ if (vals.every((v) => typeof v === "number"))
+ json2.type = "number";
+ if (vals.every((v) => typeof v === "string"))
+ json2.type = "string";
+ if (vals.every((v) => typeof v === "boolean"))
+ json2.type = "boolean";
+ if (vals.every((v) => v === null))
+ json2.type = "null";
+ json2.enum = vals;
+ }
+}, "literalProcessor");
+var nanProcessor = /* @__PURE__ */ __name((schema2, ctx, json2, params) => {
+ handleUnrepresentable(schema2, ctx, json2, params, "NaN cannot be represented in JSON Schema");
+}, "nanProcessor");
+var templateLiteralProcessor = /* @__PURE__ */ __name((schema2, _ctx, json2, _params) => {
+ const _json = json2;
+ const pattern = schema2._zod.pattern;
+ if (!pattern)
+ throw new Error("Pattern not found in template literal");
+ _json.type = "string";
+ _json.pattern = pattern.source;
+}, "templateLiteralProcessor");
+var fileProcessor = /* @__PURE__ */ __name((schema2, _ctx, json2, _params) => {
+ const _json = json2;
+ _json.type = "string";
+ _json.format = "binary";
+ _json.contentEncoding = "binary";
+ const { minimum, maximum, mime } = aggregateChecks(schema2);
+ if (minimum !== void 0)
+ _json.minLength = minimum;
+ if (maximum !== void 0)
+ _json.maxLength = maximum;
+ if (!mime)
+ return;
+ if (mime.length === 0)
+ _json.not = {};
+ else if (mime.length === 1)
+ _json.contentMediaType = mime[0];
+ else
+ _json.anyOf = mime.map((m3) => ({ contentMediaType: m3 }));
+}, "fileProcessor");
+var successProcessor = /* @__PURE__ */ __name((_schema, _ctx, json2, _params) => {
+ json2.type = "boolean";
+}, "successProcessor");
+var customProcessor = /* @__PURE__ */ __name((schema2, ctx, json2, params) => {
+ handleUnrepresentable(schema2, ctx, json2, params, "Custom types cannot be represented in JSON Schema");
+}, "customProcessor");
+var functionProcessor = /* @__PURE__ */ __name((schema2, ctx, json2, params) => {
+ handleUnrepresentable(schema2, ctx, json2, params, "Function types cannot be represented in JSON Schema");
+}, "functionProcessor");
+var transformProcessor = /* @__PURE__ */ __name((schema2, ctx, json2, params) => {
+ handleUnrepresentable(schema2, ctx, json2, params, "Transforms cannot be represented in JSON Schema");
+}, "transformProcessor");
+var mapProcessor = /* @__PURE__ */ __name((schema2, ctx, json2, params) => {
+ handleUnrepresentable(schema2, ctx, json2, params, "Map cannot be represented in JSON Schema");
+}, "mapProcessor");
+var setProcessor = /* @__PURE__ */ __name((schema2, ctx, json2, params) => {
+ handleUnrepresentable(schema2, ctx, json2, params, "Set cannot be represented in JSON Schema");
+}, "setProcessor");
+var arrayProcessor = /* @__PURE__ */ __name((schema2, ctx, _json, params) => {
+ const json2 = _json;
+ const def = schema2._zod.def;
+ const { minimum, maximum } = aggregateChecks(schema2);
+ if (typeof minimum === "number")
+ json2.minItems = minimum;
+ if (typeof maximum === "number")
+ json2.maxItems = maximum;
+ json2.type = "array";
+ json2.items = processSchema(def.element, ctx, {
+ ...params,
+ path: [...params.path, "items"]
+ });
+}, "arrayProcessor");
+function inputOptin(schema2) {
+ const def = schema2._zod.def;
+ if (def.type === "pipe" && def.in._zod.traits.has("$ZodTransform")) {
+ return inputOptin(def.out);
+ }
+ if (def.type === "catch") {
+ return inputOptin(def.innerType);
+ }
+ return schema2._zod.optin;
+}
+__name(inputOptin, "inputOptin");
+var objectProcessor = /* @__PURE__ */ __name((schema2, ctx, _json, params) => {
+ const json2 = _json;
+ const def = schema2._zod.def;
+ const shape = def.shape;
+ const symbolKeys = Object.getOwnPropertySymbols(shape);
+ if (symbolKeys.length && handleUnrepresentable(schema2, ctx, json2, params, "Symbol keys cannot be represented in JSON Schema")) {
+ return;
+ }
+ json2.type = "object";
+ json2.properties = {};
+ for (const key in shape) {
+ assignProp(json2.properties, key, processSchema(shape[key], ctx, {
+ ...params,
+ path: [...params.path, "properties", key]
+ }));
+ }
+ const requiredKeys = [];
+ for (const key of Object.keys(shape)) {
+ const field = def.shape[key];
+ if (ctx.io === "input" ? inputOptin(field) === void 0 : field._zod.optout === void 0) {
+ requiredKeys.push(key);
+ }
+ }
+ if (requiredKeys.length > 0) {
+ json2.required = requiredKeys;
+ }
+ if (def.catchall?._zod.def.type === "never") {
+ json2.additionalProperties = false;
+ } else if (!def.catchall) {
+ if (ctx.io === "output")
+ json2.additionalProperties = false;
+ } else if (def.catchall) {
+ json2.additionalProperties = processSchema(def.catchall, ctx, {
+ ...params,
+ path: [...params.path, "additionalProperties"]
+ });
+ }
+}, "objectProcessor");
+var unionProcessor = /* @__PURE__ */ __name((schema2, ctx, json2, params) => {
+ const def = schema2._zod.def;
+ const isExclusive = def.inclusive === false;
+ const options = def.options.map((x, i5) => processSchema(x, ctx, {
+ ...params,
+ path: [...params.path, isExclusive ? "oneOf" : "anyOf", i5]
+ }));
+ if (isExclusive) {
+ json2.oneOf = options;
+ } else {
+ json2.anyOf = options;
+ }
+}, "unionProcessor");
+var intersectionProcessor = /* @__PURE__ */ __name((schema2, ctx, json2, params) => {
+ const def = schema2._zod.def;
+ const a5 = processSchema(def.left, ctx, {
+ ...params,
+ path: [...params.path, "allOf", 0]
+ });
+ const b5 = processSchema(def.right, ctx, {
+ ...params,
+ path: [...params.path, "allOf", 1]
+ });
+ const isSimpleIntersection = /* @__PURE__ */ __name((val) => "allOf" in val && Object.keys(val).length === 1, "isSimpleIntersection");
+ const allOf = [
+ ...isSimpleIntersection(a5) ? a5.allOf : [a5],
+ ...isSimpleIntersection(b5) ? b5.allOf : [b5]
+ ];
+ json2.allOf = allOf;
+ ctx.intersections.push(allOf);
+}, "intersectionProcessor");
+var tupleProcessor = /* @__PURE__ */ __name((schema2, ctx, _json, params) => {
+ const json2 = _json;
+ const def = schema2._zod.def;
+ json2.type = "array";
+ const prefixPath = ctx.target === "draft-2020-12" ? "prefixItems" : "items";
+ const restPath = ctx.target === "draft-2020-12" ? "items" : ctx.target === "openapi-3.0" ? "items" : "additionalItems";
+ const prefixItems = def.items.map((x, i5) => processSchema(x, ctx, {
+ ...params,
+ path: [...params.path, prefixPath, i5]
+ }));
+ const rest = def.rest ? processSchema(def.rest, ctx, {
+ ...params,
+ path: [...params.path, restPath, ...ctx.target === "openapi-3.0" ? [def.items.length] : []]
+ }) : null;
+ let minItems = def.items.length;
+ while (minItems > 0) {
+ const item = def.items[minItems - 1];
+ const optional2 = ctx.io === "input" ? inputOptin(item) !== void 0 : item._zod.optout === "optional";
+ if (!optional2)
+ break;
+ minItems--;
+ }
+ const maxItems = def.items.length;
+ const isClosed = !def.rest;
+ if (ctx.target === "draft-2020-12") {
+ json2.prefixItems = prefixItems;
+ if (isClosed) {
+ json2.items = false;
+ } else if (rest) {
+ json2.items = rest;
+ }
+ if (minItems > 0)
+ json2.minItems = minItems;
+ if (isClosed)
+ json2.maxItems = maxItems;
+ } else if (ctx.target === "openapi-3.0") {
+ json2.items = {
+ anyOf: prefixItems
+ };
+ if (rest) {
+ json2.items.anyOf.push(rest);
+ }
+ if (minItems > 0)
+ json2.minItems = minItems;
+ if (isClosed)
+ json2.maxItems = maxItems;
+ } else {
+ json2.items = prefixItems;
+ if (isClosed) {
+ json2.additionalItems = false;
+ } else if (rest) {
+ json2.additionalItems = rest;
+ }
+ if (minItems > 0)
+ json2.minItems = minItems;
+ if (isClosed)
+ json2.maxItems = maxItems;
+ }
+ const { minimum, maximum } = aggregateChecks(schema2);
+ if (typeof minimum === "number")
+ json2.minItems = minimum;
+ if (typeof maximum === "number")
+ json2.maxItems = maximum;
+}, "tupleProcessor");
+function stringifyKeyNames(bySchema, json2, visited) {
+ if (json2.$ref) {
+ if (visited.has(json2))
+ return json2;
+ visited.add(json2);
+ const def = bySchema.get(json2)?.def;
+ if (!def)
+ return json2;
+ const inlined = stringifyKeyNames(bySchema, def, visited);
+ return inlined === def ? json2 : inlined;
+ }
+ for (const keyword of ["anyOf", "oneOf"]) {
+ const branches = json2[keyword];
+ if (!Array.isArray(branches))
+ continue;
+ const mapped = branches.map((branch) => stringifyKeyNames(bySchema, branch, visited));
+ if (mapped.some((branch, i5) => branch !== branches[i5]))
+ json2 = { ...json2, [keyword]: mapped };
+ }
+ const types3 = Array.isArray(json2.type) ? json2.type : [json2.type];
+ const numericType = !types3.includes("string") && types3.some((t) => t === "number" || t === "integer");
+ const values = json2.enum ?? (json2.const !== void 0 ? [json2.const] : void 0);
+ if (!numericType && !values?.some((v) => typeof v === "number"))
+ return json2;
+ const { minimum, maximum, exclusiveMinimum, exclusiveMaximum, multipleOf, format, id, ...rest } = json2;
+ if (rest.enum)
+ rest.enum = rest.enum.map((v) => typeof v === "number" ? String(v) : v);
+ else if (typeof rest.const === "number")
+ rest.const = String(rest.const);
+ if (!numericType)
+ return rest;
+ rest.type = "string";
+ if (!values)
+ rest.pattern = (types3.includes("number") ? number : integer).source;
+ return rest;
+}
+__name(stringifyKeyNames, "stringifyKeyNames");
+var pendingRecords = /* @__PURE__ */ new WeakMap();
+function rewriteKeyNames(ctx) {
+ const bySchema = /* @__PURE__ */ new Map();
+ for (const entry of ctx.seen.values()) {
+ if (entry.def && !bySchema.has(entry.schema))
+ bySchema.set(entry.schema, entry);
+ }
+ const rewrites = /* @__PURE__ */ new Map();
+ for (const record2 of pendingRecords.get(ctx) ?? []) {
+ const seen = ctx.seen.get(record2);
+ const names = (seen?.def ?? seen?.schema)?.propertyNames;
+ if (!names || names === true || rewrites.has(names))
+ continue;
+ const rewritten = stringifyKeyNames(bySchema, names, /* @__PURE__ */ new Set());
+ if (rewritten !== names)
+ rewrites.set(names, rewritten);
+ }
+ if (!rewrites.size)
+ return;
+ for (const entry of ctx.seen.values()) {
+ for (const carrier of [entry.schema, entry.def]) {
+ const rewritten = carrier && rewrites.get(carrier.propertyNames);
+ if (rewritten)
+ carrier.propertyNames = rewritten;
+ }
+ }
+}
+__name(rewriteKeyNames, "rewriteKeyNames");
+var recordProcessor = /* @__PURE__ */ __name((schema2, ctx, _json, params) => {
+ const json2 = _json;
+ const def = schema2._zod.def;
+ json2.type = "object";
+ const keyType = def.keyType;
+ const patterns = aggregateChecks(keyType).patterns;
+ if (def.mode === "loose" && patterns && patterns.size > 0) {
+ const valueSchema = processSchema(def.valueType, ctx, {
+ ...params,
+ path: [...params.path, "patternProperties", "*"]
+ });
+ json2.patternProperties = {};
+ for (const pattern of patterns) {
+ assignProp(json2.patternProperties, exactPattern(pattern).source, valueSchema);
+ }
+ } else {
+ if (ctx.target === "draft-07" || ctx.target === "draft-2020-12") {
+ json2.propertyNames = processSchema(def.keyType, ctx, {
+ ...params,
+ path: [...params.path, "propertyNames"]
+ });
+ let pending = pendingRecords.get(ctx);
+ if (!pending) {
+ pending = [];
+ pendingRecords.set(ctx, pending);
+ ctx.deferred.push(() => rewriteKeyNames(ctx));
+ }
+ pending.push(schema2);
+ }
+ json2.additionalProperties = processSchema(def.valueType, ctx, {
+ ...params,
+ path: [...params.path, "additionalProperties"]
+ });
+ }
+ const keyValues = keyType._zod.values;
+ const omittableOnInput = ctx.io === "input" && inputOptin(def.valueType) !== void 0;
+ if (keyValues && !def.partial && !omittableOnInput) {
+ const validKeyValues = [...keyValues].filter((v) => typeof v === "string" || typeof v === "number");
+ if (validKeyValues.length > 0) {
+ json2.required = validKeyValues.map(String);
+ }
+ }
+}, "recordProcessor");
+var nullableProcessor = /* @__PURE__ */ __name((schema2, ctx, json2, params) => {
+ const def = schema2._zod.def;
+ const inner = processSchema(def.innerType, ctx, params);
+ const seen = ctx.seen.get(schema2);
+ if (ctx.target === "openapi-3.0") {
+ seen.ref = def.innerType;
+ json2.nullable = true;
+ } else {
+ json2.anyOf = [inner, { type: "null" }];
+ }
+}, "nullableProcessor");
+var nonoptionalProcessor = /* @__PURE__ */ __name((schema2, ctx, _json, params) => {
+ const def = schema2._zod.def;
+ processSchema(def.innerType, ctx, params);
+ const seen = ctx.seen.get(schema2);
+ seen.ref = def.innerType;
+}, "nonoptionalProcessor");
+var UNREPRESENTABLE_DEFAULT = /* @__PURE__ */ Symbol();
+function serializeDefaultValue(value, schema2, ctx, json2, params) {
+ let unrepresentable = false;
+ const serialized = JSON.stringify(value, (_, val) => {
+ if (typeof val !== "bigint")
+ return val;
+ unrepresentable = true;
+ return null;
+ });
+ if (!unrepresentable)
+ return JSON.parse(serialized);
+ handleUnrepresentable(schema2, ctx, json2, params, "BigInt defaults cannot be represented in JSON Schema");
+ return UNREPRESENTABLE_DEFAULT;
+}
+__name(serializeDefaultValue, "serializeDefaultValue");
+var defaultProcessor = /* @__PURE__ */ __name((schema2, ctx, json2, params) => {
+ const def = schema2._zod.def;
+ processSchema(def.innerType, ctx, params);
+ const seen = ctx.seen.get(schema2);
+ seen.ref = def.innerType;
+ const value = serializeDefaultValue(def.defaultValue, schema2, ctx, json2, params);
+ if (value !== UNREPRESENTABLE_DEFAULT)
+ json2.default = value;
+}, "defaultProcessor");
+var prefaultProcessor = /* @__PURE__ */ __name((schema2, ctx, json2, params) => {
+ const def = schema2._zod.def;
+ processSchema(def.innerType, ctx, params);
+ const seen = ctx.seen.get(schema2);
+ seen.ref = def.innerType;
+ if (ctx.io !== "input")
+ return;
+ const value = serializeDefaultValue(def.defaultValue, schema2, ctx, json2, params);
+ if (value !== UNREPRESENTABLE_DEFAULT)
+ json2._prefault = value;
+}, "prefaultProcessor");
+var catchProcessor = /* @__PURE__ */ __name((schema2, ctx, json2, params) => {
+ const def = schema2._zod.def;
+ processSchema(def.innerType, ctx, params);
+ const seen = ctx.seen.get(schema2);
+ seen.ref = def.innerType;
+ let catchValue;
+ try {
+ catchValue = def.catchValue(void 0);
+ } catch {
+ handleUnrepresentable(schema2, ctx, json2, params, "Dynamic catch values are not supported in JSON Schema");
+ return;
+ }
+ json2.default = catchValue;
+}, "catchProcessor");
+var pipeProcessor = /* @__PURE__ */ __name((schema2, ctx, _json, params) => {
+ const def = schema2._zod.def;
+ const inIsTransform = def.in._zod.traits.has("$ZodTransform");
+ const innerType = ctx.io === "input" ? inIsTransform ? def.out : def.in : def.out;
+ processSchema(innerType, ctx, params);
+ const seen = ctx.seen.get(schema2);
+ seen.ref = innerType;
+}, "pipeProcessor");
+var readonlyProcessor = /* @__PURE__ */ __name((schema2, ctx, json2, params) => {
+ const def = schema2._zod.def;
+ processSchema(def.innerType, ctx, params);
+ const seen = ctx.seen.get(schema2);
+ seen.ref = def.innerType;
+ json2.readOnly = true;
+}, "readonlyProcessor");
+var promiseProcessor = /* @__PURE__ */ __name((schema2, ctx, _json, params) => {
+ const def = schema2._zod.def;
+ processSchema(def.innerType, ctx, params);
+ const seen = ctx.seen.get(schema2);
+ seen.ref = def.innerType;
+}, "promiseProcessor");
+var optionalProcessor = /* @__PURE__ */ __name((schema2, ctx, _json, params) => {
+ const def = schema2._zod.def;
+ processSchema(def.innerType, ctx, params);
+ const seen = ctx.seen.get(schema2);
+ seen.ref = def.innerType;
+}, "optionalProcessor");
+var lazyProcessor = /* @__PURE__ */ __name((schema2, ctx, _json, params) => {
+ const innerType = schema2._zod.innerType;
+ processSchema(innerType, ctx, params);
+ const seen = ctx.seen.get(schema2);
+ seen.ref = innerType;
+}, "lazyProcessor");
+var allProcessors = {
+ string: stringProcessor,
+ number: numberProcessor,
+ boolean: booleanProcessor,
+ bigint: bigintProcessor,
+ symbol: symbolProcessor,
+ null: nullProcessor,
+ undefined: undefinedProcessor,
+ void: voidProcessor,
+ never: neverProcessor,
+ any: anyProcessor,
+ unknown: unknownProcessor,
+ date: dateProcessor,
+ enum: enumProcessor,
+ literal: literalProcessor,
+ nan: nanProcessor,
+ template_literal: templateLiteralProcessor,
+ file: fileProcessor,
+ success: successProcessor,
+ custom: customProcessor,
+ function: functionProcessor,
+ transform: transformProcessor,
+ map: mapProcessor,
+ set: setProcessor,
+ array: arrayProcessor,
+ object: objectProcessor,
+ union: unionProcessor,
+ intersection: intersectionProcessor,
+ tuple: tupleProcessor,
+ record: recordProcessor,
+ nullable: nullableProcessor,
+ nonoptional: nonoptionalProcessor,
+ default: defaultProcessor,
+ prefault: prefaultProcessor,
+ catch: catchProcessor,
+ pipe: pipeProcessor,
+ readonly: readonlyProcessor,
+ promise: promiseProcessor,
+ optional: optionalProcessor,
+ lazy: lazyProcessor
+};
+function toJSONSchema(input2, params) {
+ if ("_idmap" in input2) {
+ const registry2 = input2;
+ const ctx2 = initializeContext({ ...params, processors: allProcessors });
+ const defs = {};
+ for (const entry of registry2._idmap.entries()) {
+ const [_, schema2] = entry;
+ processSchema(schema2, ctx2);
+ }
+ const schemas = {};
+ const external = {
+ registry: registry2,
+ uri: params?.uri,
+ defs
+ };
+ ctx2.external = external;
+ for (const entry of registry2._idmap.entries()) {
+ const [key, schema2] = entry;
+ extractDefs(ctx2, schema2);
+ assignProp(schemas, key, finalize(ctx2, schema2));
+ }
+ if (Object.keys(defs).length > 0) {
+ const defsSegment = ctx2.target === "draft-2020-12" ? "$defs" : "definitions";
+ schemas.__shared = {
+ [defsSegment]: defs
+ };
+ }
+ return { schemas };
+ }
+ const ctx = initializeContext({ ...params, processors: allProcessors });
+ processSchema(input2, ctx);
+ extractDefs(ctx, input2);
+ return finalize(ctx, input2);
+}
+__name(toJSONSchema, "toJSONSchema");
+
+// ../../node_modules/.pnpm/zod@4.6.7/node_modules/zod/v4/core/json-schema-generator.js
+var JSONSchemaGenerator = class {
+ static {
+ __name(this, "JSONSchemaGenerator");
+ }
+ /** @deprecated Access via ctx instead */
+ get metadataRegistry() {
+ return this.ctx.metadataRegistry;
+ }
+ /** @deprecated Access via ctx instead */
+ get target() {
+ return this.ctx.target;
+ }
+ // annotated so the .d.cts emits an indexed access rather than an inline `import()` of an ESM path
+ /** @deprecated Access via ctx instead */
+ get unrepresentable() {
+ return this.ctx.unrepresentable;
+ }
+ /** @deprecated Access via ctx instead */
+ get override() {
+ return this.ctx.override;
+ }
+ /** @deprecated Access via ctx instead */
+ get io() {
+ return this.ctx.io;
+ }
+ /** @deprecated Access via ctx instead */
+ get counter() {
+ return this.ctx.counter;
+ }
+ set counter(value) {
+ this.ctx.counter = value;
+ }
+ /** @deprecated Access via ctx instead */
+ get seen() {
+ return this.ctx.seen;
+ }
+ constructor(params) {
+ let normalizedTarget = params?.target ?? "draft-2020-12";
+ if (normalizedTarget === "draft-4")
+ normalizedTarget = "draft-04";
+ if (normalizedTarget === "draft-7")
+ normalizedTarget = "draft-07";
+ this.ctx = initializeContext({
+ processors: allProcessors,
+ target: normalizedTarget,
+ ...params?.metadata && { metadata: params.metadata },
+ ...params?.unrepresentable && { unrepresentable: params.unrepresentable },
+ ...params?.override && { override: params.override },
+ ...params?.io && { io: params.io }
+ });
+ }
+ /**
+ * Process a schema to prepare it for JSON Schema generation.
+ * This must be called before emit().
+ */
+ process(schema2, _params = { path: [], schemaPath: [] }) {
+ return processSchema(schema2, this.ctx, _params);
+ }
+ /**
+ * Emit the final JSON Schema after processing.
+ * Must call process() first.
+ */
+ emit(schema2, _params) {
+ if (_params) {
+ if (_params.cycles)
+ this.ctx.cycles = _params.cycles;
+ if (_params.reused)
+ this.ctx.reused = _params.reused;
+ if (_params.external)
+ this.ctx.external = _params.external;
+ }
+ this.ctx.sharedDefsExtractedFor = void 0;
+ this.ctx.sharedEmitDoneFor = void 0;
+ extractDefs(this.ctx, schema2);
+ const result = finalize(this.ctx, schema2);
+ const { "~standard": _, ...plainResult } = result;
+ return plainResult;
+ }
+};
+
+// ../../node_modules/.pnpm/zod@4.6.7/node_modules/zod/v4/core/json-schema.js
+var json_schema_exports = {};
+
+// ../../node_modules/.pnpm/zod@4.6.7/node_modules/zod/v4/classic/schemas.js
+var schemas_exports2 = {};
+__export(schemas_exports2, {
+ ZodAny: () => ZodAny,
+ ZodArray: () => ZodArray,
+ ZodBase64: () => ZodBase64,
+ ZodBase64URL: () => ZodBase64URL,
+ ZodBigInt: () => ZodBigInt,
+ ZodBigIntFormat: () => ZodBigIntFormat,
+ ZodBoolean: () => ZodBoolean,
+ ZodCIDRv4: () => ZodCIDRv4,
+ ZodCIDRv6: () => ZodCIDRv6,
+ ZodCUID: () => ZodCUID,
+ ZodCUID2: () => ZodCUID2,
+ ZodCatch: () => ZodCatch,
+ ZodCodec: () => ZodCodec,
+ ZodCreditCard: () => ZodCreditCard,
+ ZodCustom: () => ZodCustom,
+ ZodCustomStringFormat: () => ZodCustomStringFormat,
+ ZodDate: () => ZodDate,
+ ZodDefault: () => ZodDefault,
+ ZodDiscriminatedUnion: () => ZodDiscriminatedUnion,
+ ZodE164: () => ZodE164,
+ ZodEmail: () => ZodEmail,
+ ZodEmoji: () => ZodEmoji,
+ ZodEnum: () => ZodEnum,
+ ZodExactOptional: () => ZodExactOptional,
+ ZodFile: () => ZodFile,
+ ZodFunction: () => ZodFunction,
+ ZodGUID: () => ZodGUID,
+ ZodIBAN: () => ZodIBAN,
+ ZodIPv4: () => ZodIPv4,
+ ZodIPv6: () => ZodIPv6,
+ ZodISODate: () => ZodISODate,
+ ZodISODateTime: () => ZodISODateTime,
+ ZodISODuration: () => ZodISODuration,
+ ZodISOTime: () => ZodISOTime,
+ ZodInstanceOf: () => ZodInstanceOf,
+ ZodIntersection: () => ZodIntersection,
+ ZodJWT: () => ZodJWT,
+ ZodKSUID: () => ZodKSUID,
+ ZodLazy: () => ZodLazy,
+ ZodLiteral: () => ZodLiteral,
+ ZodMAC: () => ZodMAC,
+ ZodMap: () => ZodMap,
+ ZodNaN: () => ZodNaN,
+ ZodNanoID: () => ZodNanoID,
+ ZodNever: () => ZodNever,
+ ZodNonOptional: () => ZodNonOptional,
+ ZodNull: () => ZodNull,
+ ZodNullable: () => ZodNullable,
+ ZodNumber: () => ZodNumber,
+ ZodNumberFormat: () => ZodNumberFormat,
+ ZodObject: () => ZodObject,
+ ZodOptional: () => ZodOptional,
+ ZodPipe: () => ZodPipe,
+ ZodPrefault: () => ZodPrefault,
+ ZodPreprocess: () => ZodPreprocess,
+ ZodPromise: () => ZodPromise,
+ ZodReadonly: () => ZodReadonly,
+ ZodRecord: () => ZodRecord,
+ ZodSet: () => ZodSet,
+ ZodString: () => ZodString,
+ ZodStringFormat: () => ZodStringFormat,
+ ZodSuccess: () => ZodSuccess,
+ ZodSymbol: () => ZodSymbol,
+ ZodTemplateLiteral: () => ZodTemplateLiteral,
+ ZodTransform: () => ZodTransform,
+ ZodTuple: () => ZodTuple,
+ ZodType: () => ZodType,
+ ZodULID: () => ZodULID,
+ ZodURL: () => ZodURL,
+ ZodUUID: () => ZodUUID,
+ ZodUndefined: () => ZodUndefined,
+ ZodUnion: () => ZodUnion,
+ ZodUnknown: () => ZodUnknown,
+ ZodVoid: () => ZodVoid,
+ ZodXID: () => ZodXID,
+ ZodXor: () => ZodXor,
+ _ZodString: () => _ZodString,
+ _default: () => _default2,
+ _function: () => _function,
+ any: () => any,
+ array: () => array,
+ base64: () => base642,
+ base64url: () => base64url2,
+ bigint: () => bigint2,
+ boolean: () => boolean2,
+ catch: () => _catch2,
+ check: () => check,
+ cidrv4: () => cidrv42,
+ cidrv6: () => cidrv62,
+ codec: () => codec,
+ creditCard: () => creditCard2,
+ cuid: () => cuid3,
+ cuid2: () => cuid22,
+ currencyCode: () => currencyCode2,
+ custom: () => custom,
+ date: () => date2,
+ describe: () => describe2,
+ discriminatedUnion: () => discriminatedUnion,
+ e164: () => e1642,
+ email: () => email2,
+ emoji: () => emoji2,
+ enum: () => _enum2,
+ exactOptional: () => exactOptional,
+ file: () => file,
+ float32: () => float32,
+ float64: () => float64,
+ function: () => _function,
+ guid: () => guid2,
+ hash: () => hash,
+ hex: () => hex2,
+ hostname: () => hostname2,
+ httpUrl: () => httpUrl,
+ iban: () => iban2,
+ instanceof: () => _instanceof,
+ int: () => int,
+ int32: () => int32,
+ int64: () => int64,
+ intersection: () => intersection,
+ invertCodec: () => invertCodec,
+ ipv4: () => ipv42,
+ ipv6: () => ipv62,
+ json: () => json,
+ jwt: () => jwt,
+ keyof: () => keyof,
+ ksuid: () => ksuid2,
+ lazy: () => lazy,
+ literal: () => literal,
+ looseObject: () => looseObject,
+ looseRecord: () => looseRecord,
+ mac: () => mac2,
+ map: () => map,
+ meta: () => meta2,
+ nan: () => nan,
+ nanoid: () => nanoid2,
+ nativeEnum: () => nativeEnum,
+ never: () => never,
+ nonoptional: () => nonoptional,
+ null: () => _null3,
+ nullable: () => nullable,
+ nullish: () => nullish2,
+ number: () => number2,
+ object: () => object,
+ optional: () => optional,
+ partialRecord: () => partialRecord,
+ pipe: () => pipe,
+ prefault: () => prefault,
+ preprocess: () => preprocess,
+ promise: () => promise,
+ readonly: () => readonly,
+ record: () => record,
+ refine: () => refine,
+ set: () => set,
+ strictObject: () => strictObject,
+ string: () => string2,
+ stringFormat: () => stringFormat,
+ stringbool: () => stringbool,
+ success: () => success,
+ superRefine: () => superRefine,
+ symbol: () => symbol,
+ templateLiteral: () => templateLiteral,
+ transform: () => transform,
+ tuple: () => tuple,
+ uint32: () => uint32,
+ uint64: () => uint64,
+ ulid: () => ulid2,
+ undefined: () => _undefined3,
+ union: () => union,
+ unknown: () => unknown,
+ url: () => url,
+ uuid: () => uuid2,
+ uuidv4: () => uuidv4,
+ uuidv6: () => uuidv6,
+ uuidv7: () => uuidv7,
+ void: () => _void2,
+ xid: () => xid2,
+ xor: () => xor
+});
+
+// ../../node_modules/.pnpm/zod@4.6.7/node_modules/zod/v4/classic/checks.js
+var checks_exports2 = {};
+__export(checks_exports2, {
+ endsWith: () => _endsWith,
+ gt: () => _gt,
+ gte: () => _gte,
+ includes: () => _includes,
+ length: () => _length,
+ lowercase: () => _lowercase,
+ lt: () => _lt,
+ lte: () => _lte,
+ maxLength: () => _maxLength,
+ maxSize: () => _maxSize,
+ mime: () => _mime,
+ minLength: () => _minLength,
+ minSize: () => _minSize,
+ multipleOf: () => _multipleOf,
+ negative: () => _negative,
+ nonnegative: () => _nonnegative,
+ nonpositive: () => _nonpositive,
+ normalize: () => _normalize,
+ overwrite: () => _overwrite,
+ positive: () => _positive,
+ properties: () => _properties,
+ property: () => _property,
+ regex: () => _regex,
+ size: () => _size,
+ slugify: () => _slugify,
+ startsWith: () => _startsWith,
+ toLowerCase: () => _toLowerCase,
+ toUpperCase: () => _toUpperCase,
+ trim: () => _trim,
+ uppercase: () => _uppercase
+});
+
+// ../../node_modules/.pnpm/zod@4.6.7/node_modules/zod/v4/classic/errors.js
+var _installedErrorProtos = /* @__PURE__ */ new WeakSet([Object.prototype, Error.prototype]);
+function _lazyMethod(proto, key, make) {
+ Object.defineProperty(proto, key, {
+ configurable: true,
+ enumerable: false,
+ get() {
+ const value = make(this);
+ Object.defineProperty(this, key, { value, configurable: true, writable: true });
+ return value;
+ },
+ set(value) {
+ Object.defineProperty(this, key, { value, configurable: true, writable: true });
+ }
+ });
+}
+__name(_lazyMethod, "_lazyMethod");
+var initializer2 = /* @__PURE__ */ __name((inst, issues) => {
+ $ZodError.init(inst, issues);
+ inst.name = "ZodError";
+ const proto = Object.getPrototypeOf(inst);
+ if (_installedErrorProtos.has(proto))
+ return;
+ _installedErrorProtos.add(proto);
+ _lazyMethod(proto, "format", (self2) => (mapper) => formatError(self2, mapper));
+ _lazyMethod(proto, "flatten", (self2) => (mapper) => flattenError(self2, mapper));
+ _lazyMethod(proto, "addIssue", (self2) => (issue2) => {
+ self2.issues.push(issue2);
+ self2.message = JSON.stringify(self2.issues, jsonStringifyReplacer, 2);
+ });
+ _lazyMethod(proto, "addIssues", (self2) => (issues2) => {
+ self2.issues.push(...issues2);
+ self2.message = JSON.stringify(self2.issues, jsonStringifyReplacer, 2);
+ });
+ Object.defineProperty(proto, "isEmpty", {
+ configurable: true,
+ enumerable: false,
+ get() {
+ return this.issues.length === 0;
+ }
+ });
+}, "initializer");
+var ZodError = /* @__PURE__ */ $constructor("ZodError", initializer2);
+var ZodRealError = /* @__PURE__ */ $constructor("ZodError", initializer2, void 0, {
+ Parent: Error
+});
+
+// ../../node_modules/.pnpm/zod@4.6.7/node_modules/zod/v4/classic/parse.js
+var parse2 = /* @__PURE__ */ _parse(ZodRealError);
+var parseAsync2 = /* @__PURE__ */ _parseAsync(ZodRealError);
+var safeParse2 = /* @__PURE__ */ _safeParse(ZodRealError);
+var safeParseAsync2 = /* @__PURE__ */ _safeParseAsync(ZodRealError);
+var encode2 = /* @__PURE__ */ _encode(ZodRealError);
+var decode2 = /* @__PURE__ */ _decode(ZodRealError);
+var encodeAsync2 = /* @__PURE__ */ _encodeAsync(ZodRealError);
+var decodeAsync2 = /* @__PURE__ */ _decodeAsync(ZodRealError);
+var safeEncode2 = /* @__PURE__ */ _safeEncode(ZodRealError);
+var safeDecode2 = /* @__PURE__ */ _safeDecode(ZodRealError);
+var safeEncodeAsync2 = /* @__PURE__ */ _safeEncodeAsync(ZodRealError);
+var safeDecodeAsync2 = /* @__PURE__ */ _safeDecodeAsync(ZodRealError);
+
+// ../../node_modules/.pnpm/zod@4.6.7/node_modules/zod/v4/classic/schemas.js
+function _ensureDefaultLocale() {
+ if (!globalConfig.localeError)
+ config(en_default());
+}
+__name(_ensureDefaultLocale, "_ensureDefaultLocale");
+function _ensureDefaultMemoizer() {
+ if (!globalConfig.memoizer)
+ config({ memoizer: memoizer() });
+}
+__name(_ensureDefaultMemoizer, "_ensureDefaultMemoizer");
+var ZodType = /* @__PURE__ */ $constructor("ZodType", (inst, def) => {
+ _ensureDefaultLocale();
+ $ZodType.init(inst, def);
+ inst.def = def;
+ inst.type = def.type;
+ return inst;
+}, {
+ check(...chks) {
+ const def = this.def;
+ return this.clone(util_exports.mergeDefs(def, {
+ checks: [
+ ...def.checks ?? [],
+ ...chks.map((ch) => typeof ch === "function" ? { _zod: { check: ch, def: { check: "custom" }, onattach: [] } } : ch)
+ ]
+ }), { parent: true });
+ },
+ with(...chks) {
+ return this.check(...chks);
+ },
+ clone(def, params) {
+ return clone(this, def, params);
+ },
+ brand() {
+ return this;
+ },
+ register(reg, meta3) {
+ reg.add(this, meta3);
+ return this;
+ },
+ refine(check2, params) {
+ return this.check(refine(check2, params));
+ },
+ superRefine(refinement, params) {
+ return this.check(superRefine(refinement, params));
+ },
+ overwrite(fn) {
+ return this.check(_overwrite(fn));
+ },
+ optional() {
+ return optional(this);
+ },
+ exactOptional() {
+ return exactOptional(this);
+ },
+ nullable() {
+ return nullable(this);
+ },
+ nullish() {
+ return optional(nullable(this));
+ },
+ nonoptional(params) {
+ return nonoptional(this, params);
+ },
+ array() {
+ return array(this);
+ },
+ or(arg) {
+ return union([this, arg]);
+ },
+ and(arg) {
+ return intersection(this, arg);
+ },
+ transform(tx) {
+ return pipe(this, transform(tx));
+ },
+ default(d5) {
+ return _default2(this, d5);
+ },
+ prefault(d5) {
+ return prefault(this, d5);
+ },
+ catch(params) {
+ return _catch2(this, params);
+ },
+ pipe(target) {
+ return pipe(this, target);
+ },
+ readonly() {
+ return readonly(this);
+ },
+ describe(description) {
+ const cl = this.clone();
+ globalRegistry.add(cl, { description });
+ return cl;
+ },
+ meta(...args) {
+ if (args.length === 0)
+ return globalRegistry.get(this);
+ const cl = this.clone();
+ globalRegistry.add(cl, args[0]);
+ return cl;
+ },
+ isOptional() {
+ return this.safeParse(void 0).success;
+ },
+ isNullable() {
+ return this.safeParse(null).success;
+ },
+ apply(fn, ...args) {
+ return args.length === 0 ? fn(this) : fn(this, ...args);
+ },
+ // Overrides core's `~standard` to add `jsonSchema`. Must stay a prototype entry: redefining it per instance demotes instances to dictionary mode.
+ get "~standard"() {
+ return util_exports.hide(this, "~standard", {
+ ...standardProps(this),
+ jsonSchema: {
+ input: createStandardJSONSchemaMethod(this, "input"),
+ output: createStandardJSONSchemaMethod(this, "output")
+ }
+ });
+ },
+ set "~standard"(value) {
+ util_exports.own(this, "~standard", value);
+ },
+ parse: /* @__PURE__ */ __name(function _parse2(data, params) {
+ return parse2(this, data, params, { callee: _parse2 });
+ }, "_parse"),
+ parseAsync: /* @__PURE__ */ __name(async function _parseAsync2(data, params) {
+ return await parseAsync2(this, data, params, { callee: _parseAsync2 });
+ }, "_parseAsync"),
+ safeParse(data, params) {
+ return safeParse2(this, data, params);
+ },
+ async safeParseAsync(data, params) {
+ return safeParseAsync2(this, data, params);
+ },
+ // `spa` is an alias: same function object as `safeParseAsync`, as before.
+ get spa() {
+ return this?.safeParseAsync;
+ },
+ set spa(value) {
+ util_exports.own(this, "spa", value);
+ },
+ validate(data, params) {
+ return validate(this, data, params);
+ },
+ validateAsync(data, params) {
+ return validateAsync(this, data, params);
+ },
+ encode: /* @__PURE__ */ __name(function _encode2(data, params) {
+ return encode2(this, data, params, { callee: _encode2 });
+ }, "_encode"),
+ decode: /* @__PURE__ */ __name(function _decode2(data, params) {
+ return decode2(this, data, params, { callee: _decode2 });
+ }, "_decode"),
+ encodeAsync: /* @__PURE__ */ __name(async function _encodeAsync2(data, params) {
+ return await encodeAsync2(this, data, params, { callee: _encodeAsync2 });
+ }, "_encodeAsync"),
+ decodeAsync: /* @__PURE__ */ __name(async function _decodeAsync2(data, params) {
+ return await decodeAsync2(this, data, params, { callee: _decodeAsync2 });
+ }, "_decodeAsync"),
+ safeEncode(data, params) {
+ return safeEncode2(this, data, params);
+ },
+ safeDecode(data, params) {
+ return safeDecode2(this, data, params);
+ },
+ async safeEncodeAsync(data, params) {
+ return safeEncodeAsync2(this, data, params);
+ },
+ async safeDecodeAsync(data, params) {
+ return safeDecodeAsync2(this, data, params);
+ },
+ toJSONSchema(params) {
+ return createToJSONSchemaMethod(this, {})(params);
+ },
+ // Reads through to the registry on every access, so it must not cache.
+ get description() {
+ return globalRegistry.get(this)?.description;
+ },
+ // No setter: `schema._def = x` throws, as it did when `_def` was a non-writable own property.
+ get _def() {
+ return this._zod.def;
+ }
+});
+var _ZodString = /* @__PURE__ */ $constructor(
+ "_ZodString",
+ (inst, def) => {
+ $ZodString.init(inst, def);
+ ZodType.init(inst, def);
+ inst._zod.processJSONSchema = (ctx, json2, params) => stringProcessor(inst, ctx, json2, params);
+ },
+ /* @__PURE__ */ util_exports.derived({
+ format: /* @__PURE__ */ __name((inst) => aggregateChecks(inst).format ?? null, "format"),
+ minLength: /* @__PURE__ */ __name((inst) => aggregateChecks(inst).minimum ?? null, "minLength"),
+ maxLength: /* @__PURE__ */ __name((inst) => aggregateChecks(inst).maximum ?? null, "maxLength")
+ }, {
+ regex(...args) {
+ return this.check(_regex(...args));
+ },
+ includes(...args) {
+ return this.check(_includes(...args));
+ },
+ startsWith(...args) {
+ return this.check(_startsWith(...args));
+ },
+ endsWith(...args) {
+ return this.check(_endsWith(...args));
+ },
+ min(...args) {
+ return this.check(_minLength(...args));
+ },
+ max(...args) {
+ return this.check(_maxLength(...args));
+ },
+ length(...args) {
+ return this.check(_length(...args));
+ },
+ nonempty(...args) {
+ return this.check(_minLength(1, ...args));
+ },
+ lowercase(params) {
+ return this.check(_lowercase(params));
+ },
+ uppercase(params) {
+ return this.check(_uppercase(params));
+ },
+ trim() {
+ return this.check(_trim());
+ },
+ normalize(...args) {
+ return this.check(_normalize(...args));
+ },
+ toLowerCase() {
+ return this.check(_toLowerCase());
+ },
+ toUpperCase() {
+ return this.check(_toUpperCase());
+ },
+ slugify() {
+ return this.check(_slugify());
+ }
+ })
+);
+var ZodString = /* @__PURE__ */ $constructor("ZodString", (inst, def) => {
+ $ZodString.init(inst, def);
+ _ZodString.init(inst, def);
+}, {
+ email(params) {
+ return this.check(_email(ZodEmail, params));
+ },
+ url(params) {
+ return this.check(_url(ZodURL, params));
+ },
+ jwt(params) {
+ return this.check(_jwt(ZodJWT, params));
+ },
+ emoji(params) {
+ return this.check(_emoji2(ZodEmoji, params));
+ },
+ guid(params) {
+ return this.check(_guid(ZodGUID, params));
+ },
+ uuid(params) {
+ return this.check(_uuid(ZodUUID, params));
+ },
+ uuidv4(params) {
+ return this.check(_uuidv4(ZodUUID, params));
+ },
+ uuidv6(params) {
+ return this.check(_uuidv6(ZodUUID, params));
+ },
+ uuidv7(params) {
+ return this.check(_uuidv7(ZodUUID, params));
+ },
+ nanoid(params) {
+ return this.check(_nanoid(ZodNanoID, params));
+ },
+ cuid(params) {
+ return this.check(_cuid(ZodCUID, params));
+ },
+ cuid2(params) {
+ return this.check(_cuid2(ZodCUID2, params));
+ },
+ ulid(params) {
+ return this.check(_ulid(ZodULID, params));
+ },
+ base64(params) {
+ return this.check(_base64(ZodBase64, params));
+ },
+ base64url(params) {
+ return this.check(_base64url(ZodBase64URL, params));
+ },
+ xid(params) {
+ return this.check(_xid(ZodXID, params));
+ },
+ ksuid(params) {
+ return this.check(_ksuid(ZodKSUID, params));
+ },
+ ipv4(params) {
+ return this.check(_ipv4(ZodIPv4, params));
+ },
+ ipv6(params) {
+ return this.check(_ipv6(ZodIPv6, params));
+ },
+ cidrv4(params) {
+ return this.check(_cidrv4(ZodCIDRv4, params));
+ },
+ cidrv6(params) {
+ return this.check(_cidrv6(ZodCIDRv6, params));
+ },
+ e164(params) {
+ return this.check(_e164(ZodE164, params));
+ },
+ datetime(params) {
+ return this.check(_isoDateTime(ZodISODateTime, params));
+ },
+ date(params) {
+ return this.check(_isoDate(ZodISODate, params));
+ },
+ time(params) {
+ return this.check(_isoTime(ZodISOTime, params));
+ },
+ duration(params) {
+ return this.check(_isoDuration(ZodISODuration, params));
+ }
+});
+function string2(params) {
+ return _string(ZodString, params);
+}
+__name(string2, "string");
+var ZodStringFormat = /* @__PURE__ */ $constructor("ZodStringFormat", (inst, def) => {
+ $ZodStringFormat.init(inst, def);
+ _ZodString.init(inst, def);
+});
+var ZodISODateTime = /* @__PURE__ */ $constructor("ZodISODateTime", (inst, def) => {
+ $ZodISODateTime.init(inst, def);
+ ZodStringFormat.init(inst, def);
+});
+var ZodISODate = /* @__PURE__ */ $constructor("ZodISODate", (inst, def) => {
+ $ZodISODate.init(inst, def);
+ ZodStringFormat.init(inst, def);
+});
+var ZodISOTime = /* @__PURE__ */ $constructor("ZodISOTime", (inst, def) => {
+ $ZodISOTime.init(inst, def);
+ ZodStringFormat.init(inst, def);
+});
+var ZodISODuration = /* @__PURE__ */ $constructor("ZodISODuration", (inst, def) => {
+ $ZodISODuration.init(inst, def);
+ ZodStringFormat.init(inst, def);
+});
+var ZodEmail = /* @__PURE__ */ $constructor("ZodEmail", (inst, def) => {
+ $ZodEmail.init(inst, def);
+ ZodStringFormat.init(inst, def);
+});
+function email2(params) {
+ return _email(ZodEmail, params);
+}
+__name(email2, "email");
+var ZodGUID = /* @__PURE__ */ $constructor("ZodGUID", (inst, def) => {
+ $ZodGUID.init(inst, def);
+ ZodStringFormat.init(inst, def);
+});
+function guid2(params) {
+ return _guid(ZodGUID, params);
+}
+__name(guid2, "guid");
+var ZodUUID = /* @__PURE__ */ $constructor("ZodUUID", (inst, def) => {
+ $ZodUUID.init(inst, def);
+ ZodStringFormat.init(inst, def);
+});
+function uuid2(params) {
+ return _uuid(ZodUUID, params);
+}
+__name(uuid2, "uuid");
+function uuidv4(params) {
+ return _uuidv4(ZodUUID, params);
+}
+__name(uuidv4, "uuidv4");
+function uuidv6(params) {
+ return _uuidv6(ZodUUID, params);
+}
+__name(uuidv6, "uuidv6");
+function uuidv7(params) {
+ return _uuidv7(ZodUUID, params);
+}
+__name(uuidv7, "uuidv7");
+var ZodURL = /* @__PURE__ */ $constructor("ZodURL", (inst, def) => {
+ $ZodURL.init(inst, def);
+ ZodStringFormat.init(inst, def);
+});
+function url(params) {
+ return _url(ZodURL, params);
+}
+__name(url, "url");
+function httpUrl(params) {
+ return _url(ZodURL, {
+ protocol: httpProtocol,
+ hostname: domain,
+ ...util_exports.normalizeParams(params)
+ });
+}
+__name(httpUrl, "httpUrl");
+var ZodEmoji = /* @__PURE__ */ $constructor("ZodEmoji", (inst, def) => {
+ $ZodEmoji.init(inst, def);
+ ZodStringFormat.init(inst, def);
+});
+function emoji2(params) {
+ return _emoji2(ZodEmoji, params);
+}
+__name(emoji2, "emoji");
+var ZodNanoID = /* @__PURE__ */ $constructor("ZodNanoID", (inst, def) => {
+ $ZodNanoID.init(inst, def);
+ ZodStringFormat.init(inst, def);
+});
+function nanoid2(params) {
+ return _nanoid(ZodNanoID, params);
+}
+__name(nanoid2, "nanoid");
+var ZodCUID = /* @__PURE__ */ $constructor("ZodCUID", (inst, def) => {
+ $ZodCUID.init(inst, def);
+ ZodStringFormat.init(inst, def);
+});
+function cuid3(params) {
+ return _cuid(ZodCUID, params);
+}
+__name(cuid3, "cuid");
+var ZodCUID2 = /* @__PURE__ */ $constructor("ZodCUID2", (inst, def) => {
+ $ZodCUID2.init(inst, def);
+ ZodStringFormat.init(inst, def);
+});
+function cuid22(params) {
+ return _cuid2(ZodCUID2, params);
+}
+__name(cuid22, "cuid2");
+var ZodULID = /* @__PURE__ */ $constructor("ZodULID", (inst, def) => {
+ $ZodULID.init(inst, def);
+ ZodStringFormat.init(inst, def);
+});
+function ulid2(params) {
+ return _ulid(ZodULID, params);
+}
+__name(ulid2, "ulid");
+var ZodXID = /* @__PURE__ */ $constructor("ZodXID", (inst, def) => {
+ $ZodXID.init(inst, def);
+ ZodStringFormat.init(inst, def);
+});
+function xid2(params) {
+ return _xid(ZodXID, params);
+}
+__name(xid2, "xid");
+var ZodKSUID = /* @__PURE__ */ $constructor("ZodKSUID", (inst, def) => {
+ $ZodKSUID.init(inst, def);
+ ZodStringFormat.init(inst, def);
+});
+function ksuid2(params) {
+ return _ksuid(ZodKSUID, params);
+}
+__name(ksuid2, "ksuid");
+var ZodIPv4 = /* @__PURE__ */ $constructor("ZodIPv4", (inst, def) => {
+ $ZodIPv4.init(inst, def);
+ ZodStringFormat.init(inst, def);
+});
+function ipv42(params) {
+ return _ipv4(ZodIPv4, params);
+}
+__name(ipv42, "ipv4");
+var ZodMAC = /* @__PURE__ */ $constructor("ZodMAC", (inst, def) => {
+ $ZodMAC.init(inst, def);
+ ZodStringFormat.init(inst, def);
+});
+function mac2(params) {
+ return _mac(ZodMAC, params);
+}
+__name(mac2, "mac");
+var ZodIPv6 = /* @__PURE__ */ $constructor("ZodIPv6", (inst, def) => {
+ $ZodIPv6.init(inst, def);
+ ZodStringFormat.init(inst, def);
+});
+function ipv62(params) {
+ return _ipv6(ZodIPv6, params);
+}
+__name(ipv62, "ipv6");
+var ZodCIDRv4 = /* @__PURE__ */ $constructor("ZodCIDRv4", (inst, def) => {
+ $ZodCIDRv4.init(inst, def);
+ ZodStringFormat.init(inst, def);
+});
+function cidrv42(params) {
+ return _cidrv4(ZodCIDRv4, params);
+}
+__name(cidrv42, "cidrv4");
+var ZodCIDRv6 = /* @__PURE__ */ $constructor("ZodCIDRv6", (inst, def) => {
+ $ZodCIDRv6.init(inst, def);
+ ZodStringFormat.init(inst, def);
+});
+function cidrv62(params) {
+ return _cidrv6(ZodCIDRv6, params);
+}
+__name(cidrv62, "cidrv6");
+var ZodBase64 = /* @__PURE__ */ $constructor("ZodBase64", (inst, def) => {
+ $ZodBase64.init(inst, def);
+ ZodStringFormat.init(inst, def);
+});
+function base642(params) {
+ return _base64(ZodBase64, params);
+}
+__name(base642, "base64");
+var ZodBase64URL = /* @__PURE__ */ $constructor("ZodBase64URL", (inst, def) => {
+ $ZodBase64URL.init(inst, def);
+ ZodStringFormat.init(inst, def);
+});
+function base64url2(params) {
+ return _base64url(ZodBase64URL, params);
+}
+__name(base64url2, "base64url");
+var ZodE164 = /* @__PURE__ */ $constructor("ZodE164", (inst, def) => {
+ $ZodE164.init(inst, def);
+ ZodStringFormat.init(inst, def);
+});
+function e1642(params) {
+ return _e164(ZodE164, params);
+}
+__name(e1642, "e164");
+var ZodCreditCard = /* @__PURE__ */ $constructor("ZodCreditCard", (inst, def) => {
+ $ZodCreditCard.init(inst, def);
+ ZodStringFormat.init(inst, def);
+});
+function creditCard2(params) {
+ return _creditCard(ZodCreditCard, params);
+}
+__name(creditCard2, "creditCard");
+var ZodIBAN = /* @__PURE__ */ $constructor("ZodIBAN", (inst, def) => {
+ $ZodIBAN.init(inst, def);
+ ZodStringFormat.init(inst, def);
+});
+function iban2(params) {
+ return _iban(ZodIBAN, params);
+}
+__name(iban2, "iban");
+var ZodJWT = /* @__PURE__ */ $constructor("ZodJWT", (inst, def) => {
+ $ZodJWT.init(inst, def);
+ ZodStringFormat.init(inst, def);
+});
+function jwt(params) {
+ return _jwt(ZodJWT, params);
+}
+__name(jwt, "jwt");
+var ZodCustomStringFormat = /* @__PURE__ */ $constructor("ZodCustomStringFormat", (inst, def) => {
+ $ZodCustomStringFormat.init(inst, def);
+ ZodStringFormat.init(inst, def);
+});
+function stringFormat(format, fnOrRegex, _params = {}) {
+ return _stringFormat(ZodCustomStringFormat, format, fnOrRegex, _params);
+}
+__name(stringFormat, "stringFormat");
+function hostname2(_params) {
+ return _stringFormat(ZodCustomStringFormat, "hostname", hostname, _params);
+}
+__name(hostname2, "hostname");
+function hex2(_params) {
+ return _stringFormat(ZodCustomStringFormat, "hex", hex, _params);
+}
+__name(hex2, "hex");
+function currencyCode2(_params) {
+ return _stringFormat(ZodCustomStringFormat, "currency_code", currencyCode, _params);
+}
+__name(currencyCode2, "currencyCode");
+function hash(alg, params) {
+ const enc = params?.enc ?? "hex";
+ const format = `${alg}_${enc}`;
+ const regex = regexes_exports[format];
+ if (!regex)
+ throw new Error(`Unrecognized hash format: ${format}`);
+ return _stringFormat(ZodCustomStringFormat, format, regex, params);
+}
+__name(hash, "hash");
+var ZodNumber = /* @__PURE__ */ $constructor(
+ "ZodNumber",
+ (inst, def) => {
+ $ZodNumber.init(inst, def);
+ ZodType.init(inst, def);
+ inst._zod.processJSONSchema = (ctx, json2, params) => numberProcessor(inst, ctx, json2, params);
+ inst.isFinite = true;
+ },
+ /* @__PURE__ */ util_exports.derived({
+ minValue: /* @__PURE__ */ __name((inst) => {
+ const { minimum, exclusiveMinimum } = aggregateChecks(inst);
+ return Math.max(minimum ?? Number.NEGATIVE_INFINITY, exclusiveMinimum ?? Number.NEGATIVE_INFINITY);
+ }, "minValue"),
+ maxValue: /* @__PURE__ */ __name((inst) => {
+ const { maximum, exclusiveMaximum } = aggregateChecks(inst);
+ return Math.min(maximum ?? Number.POSITIVE_INFINITY, exclusiveMaximum ?? Number.POSITIVE_INFINITY);
+ }, "maxValue"),
+ isInt: /* @__PURE__ */ __name((inst) => {
+ const { isInt, multipleOf } = aggregateChecks(inst);
+ return !!isInt || !!multipleOf?.some(Number.isSafeInteger);
+ }, "isInt"),
+ format: /* @__PURE__ */ __name((inst) => aggregateChecks(inst).format ?? null, "format")
+ }, {
+ gt(value, params) {
+ return this.check(_gt(value, params));
+ },
+ gte(value, params) {
+ return this.check(_gte(value, params));
+ },
+ min(value, params) {
+ return this.check(_gte(value, params));
+ },
+ lt(value, params) {
+ return this.check(_lt(value, params));
+ },
+ lte(value, params) {
+ return this.check(_lte(value, params));
+ },
+ max(value, params) {
+ return this.check(_lte(value, params));
+ },
+ int(params) {
+ return this.check(int(params));
+ },
+ safe(params) {
+ return this.check(int(params));
+ },
+ positive(params) {
+ return this.check(_gt(0, params));
+ },
+ nonnegative(params) {
+ return this.check(_gte(0, params));
+ },
+ negative(params) {
+ return this.check(_lt(0, params));
+ },
+ nonpositive(params) {
+ return this.check(_lte(0, params));
+ },
+ multipleOf(value, params) {
+ return this.check(_multipleOf(value, params));
+ },
+ step(value, params) {
+ return this.check(_multipleOf(value, params));
+ },
+ finite() {
+ return this;
+ }
+ })
+);
+function number2(params) {
+ return _number(ZodNumber, params);
+}
+__name(number2, "number");
+var ZodNumberFormat = /* @__PURE__ */ $constructor("ZodNumberFormat", (inst, def) => {
+ $ZodNumberFormat.init(inst, def);
+ ZodNumber.init(inst, def);
+});
+function int(params) {
+ return _int(ZodNumberFormat, params);
+}
+__name(int, "int");
+function float32(params) {
+ return _float32(ZodNumberFormat, params);
+}
+__name(float32, "float32");
+function float64(params) {
+ return _float64(ZodNumberFormat, params);
+}
+__name(float64, "float64");
+function int32(params) {
+ return _int32(ZodNumberFormat, params);
+}
+__name(int32, "int32");
+function uint32(params) {
+ return _uint32(ZodNumberFormat, params);
+}
+__name(uint32, "uint32");
+var ZodBoolean = /* @__PURE__ */ $constructor("ZodBoolean", (inst, def) => {
+ $ZodBoolean.init(inst, def);
+ ZodType.init(inst, def);
+ inst._zod.processJSONSchema = (ctx, json2, params) => booleanProcessor(inst, ctx, json2, params);
+});
+function boolean2(params) {
+ return _boolean(ZodBoolean, params);
+}
+__name(boolean2, "boolean");
+var ZodBigInt = /* @__PURE__ */ $constructor(
+ "ZodBigInt",
+ (inst, def) => {
+ $ZodBigInt.init(inst, def);
+ ZodType.init(inst, def);
+ inst._zod.processJSONSchema = (ctx, json2, params) => bigintProcessor(inst, ctx, json2, params);
+ },
+ /* @__PURE__ */ util_exports.derived({
+ minValue: /* @__PURE__ */ __name((inst) => aggregateChecks(inst).minimum ?? null, "minValue"),
+ maxValue: /* @__PURE__ */ __name((inst) => aggregateChecks(inst).maximum ?? null, "maxValue"),
+ format: /* @__PURE__ */ __name((inst) => aggregateChecks(inst).format ?? null, "format")
+ }, {
+ gte(value, params) {
+ return this.check(_gte(value, params));
+ },
+ min(value, params) {
+ return this.check(_gte(value, params));
+ },
+ gt(value, params) {
+ return this.check(_gt(value, params));
+ },
+ lt(value, params) {
+ return this.check(_lt(value, params));
+ },
+ lte(value, params) {
+ return this.check(_lte(value, params));
+ },
+ max(value, params) {
+ return this.check(_lte(value, params));
+ },
+ positive(params) {
+ return this.check(_gt(BigInt(0), params));
+ },
+ negative(params) {
+ return this.check(_lt(BigInt(0), params));
+ },
+ nonpositive(params) {
+ return this.check(_lte(BigInt(0), params));
+ },
+ nonnegative(params) {
+ return this.check(_gte(BigInt(0), params));
+ },
+ multipleOf(value, params) {
+ return this.check(_multipleOf(value, params));
+ }
+ })
+);
+function bigint2(params) {
+ return _bigint(ZodBigInt, params);
+}
+__name(bigint2, "bigint");
+var ZodBigIntFormat = /* @__PURE__ */ $constructor("ZodBigIntFormat", (inst, def) => {
+ $ZodBigIntFormat.init(inst, def);
+ ZodBigInt.init(inst, def);
+});
+function int64(params) {
+ return _int64(ZodBigIntFormat, params);
+}
+__name(int64, "int64");
+function uint64(params) {
+ return _uint64(ZodBigIntFormat, params);
+}
+__name(uint64, "uint64");
+var ZodSymbol = /* @__PURE__ */ $constructor("ZodSymbol", (inst, def) => {
+ $ZodSymbol.init(inst, def);
+ ZodType.init(inst, def);
+ inst._zod.processJSONSchema = (ctx, json2, params) => symbolProcessor(inst, ctx, json2, params);
+});
+function symbol(params) {
+ return _symbol(ZodSymbol, params);
+}
+__name(symbol, "symbol");
+var ZodUndefined = /* @__PURE__ */ $constructor("ZodUndefined", (inst, def) => {
+ $ZodUndefined.init(inst, def);
+ ZodType.init(inst, def);
+ inst._zod.processJSONSchema = (ctx, json2, params) => undefinedProcessor(inst, ctx, json2, params);
+});
+function _undefined3(params) {
+ return _undefined2(ZodUndefined, params);
+}
+__name(_undefined3, "_undefined");
+var ZodNull = /* @__PURE__ */ $constructor("ZodNull", (inst, def) => {
+ $ZodNull.init(inst, def);
+ ZodType.init(inst, def);
+ inst._zod.processJSONSchema = (ctx, json2, params) => nullProcessor(inst, ctx, json2, params);
+});
+function _null3(params) {
+ return _null2(ZodNull, params);
+}
+__name(_null3, "_null");
+var ZodAny = /* @__PURE__ */ $constructor("ZodAny", (inst, def) => {
+ $ZodAny.init(inst, def);
+ ZodType.init(inst, def);
+ inst._zod.processJSONSchema = (ctx, json2, params) => anyProcessor(inst, ctx, json2, params);
+});
+function any() {
+ return _any(ZodAny);
+}
+__name(any, "any");
+var ZodUnknown = /* @__PURE__ */ $constructor("ZodUnknown", (inst, def) => {
+ $ZodUnknown.init(inst, def);
+ ZodType.init(inst, def);
+ inst._zod.processJSONSchema = (ctx, json2, params) => unknownProcessor(inst, ctx, json2, params);
+});
+function unknown() {
+ return _unknown(ZodUnknown);
+}
+__name(unknown, "unknown");
+var ZodNever = /* @__PURE__ */ $constructor("ZodNever", (inst, def) => {
+ $ZodNever.init(inst, def);
+ ZodType.init(inst, def);
+ inst._zod.processJSONSchema = (ctx, json2, params) => neverProcessor(inst, ctx, json2, params);
+});
+function never(params) {
+ return _never(ZodNever, params);
+}
+__name(never, "never");
+var ZodVoid = /* @__PURE__ */ $constructor("ZodVoid", (inst, def) => {
+ $ZodVoid.init(inst, def);
+ ZodType.init(inst, def);
+ inst._zod.processJSONSchema = (ctx, json2, params) => voidProcessor(inst, ctx, json2, params);
+});
+function _void2(params) {
+ return _void(ZodVoid, params);
+}
+__name(_void2, "_void");
+var ZodDate = /* @__PURE__ */ $constructor(
+ "ZodDate",
+ (inst, def) => {
+ $ZodDate.init(inst, def);
+ ZodType.init(inst, def);
+ inst._zod.processJSONSchema = (ctx, json2, params) => dateProcessor(inst, ctx, json2, params);
+ inst.min = (value, params) => inst.check(_gte(value, params));
+ inst.max = (value, params) => inst.check(_lte(value, params));
+ },
+ /* @__PURE__ */ util_exports.derived({
+ minDate: /* @__PURE__ */ __name((inst) => {
+ const { minimum } = aggregateChecks(inst);
+ return minimum ? new Date(minimum) : null;
+ }, "minDate"),
+ maxDate: /* @__PURE__ */ __name((inst) => {
+ const { maximum } = aggregateChecks(inst);
+ return maximum ? new Date(maximum) : null;
+ }, "maxDate")
+ }, {})
+);
+function date2(params) {
+ return _date(ZodDate, params);
+}
+__name(date2, "date");
+var ZodArray = /* @__PURE__ */ $constructor("ZodArray", (inst, def) => {
+ _ensureDefaultMemoizer();
+ $ZodArray.init(inst, def);
+ ZodType.init(inst, def);
+ inst._zod.processJSONSchema = (ctx, json2, params) => arrayProcessor(inst, ctx, json2, params);
+ inst.element = def.element;
+}, {
+ min(n3, params) {
+ return this.check(_minLength(n3, params));
+ },
+ nonempty(params) {
+ return this.check(_minLength(1, params));
+ },
+ max(n3, params) {
+ return this.check(_maxLength(n3, params));
+ },
+ length(n3, params) {
+ return this.check(_length(n3, params));
+ },
+ unwrap() {
+ return this.element;
+ }
+});
+function array(element, params) {
+ return _array(ZodArray, element, params);
+}
+__name(array, "array");
+function keyof(schema2) {
+ const shape = schema2._zod.def.shape;
+ return _enum2(Object.keys(shape));
+}
+__name(keyof, "keyof");
+var ZodObject = /* @__PURE__ */ $constructor("ZodObject", (inst, def) => {
+ _ensureDefaultMemoizer();
+ $ZodObjectJIT.init(inst, def);
+ ZodType.init(inst, def);
+ inst._zod.processJSONSchema = (ctx, json2, params) => objectProcessor(inst, ctx, json2, params);
+ util_exports.installLazyProp(inst, "shape", (self2) => self2._zod.def.shape, false);
+}, {
+ keyof() {
+ return _enum2(Object.keys(this._zod.def.shape));
+ },
+ catchall(catchall) {
+ return this.clone(util_exports.mergeDefs(this._zod.def, { catchall }));
+ },
+ passthrough() {
+ return this.clone(util_exports.mergeDefs(this._zod.def, { catchall: unknown() }));
+ },
+ loose() {
+ return this.clone(util_exports.mergeDefs(this._zod.def, { catchall: unknown() }));
+ },
+ strict() {
+ return this.clone(util_exports.mergeDefs(this._zod.def, { catchall: never() }));
+ },
+ strip() {
+ return this.clone(util_exports.mergeDefs(this._zod.def, { catchall: void 0 }));
+ },
+ extend(incoming) {
+ return util_exports.extend(this, incoming);
+ },
+ safeExtend(incoming) {
+ return util_exports.safeExtend(this, incoming);
+ },
+ merge(other) {
+ return util_exports.merge(this, other);
+ },
+ pick(mask) {
+ return util_exports.pick(this, mask);
+ },
+ omit(mask) {
+ return util_exports.omit(this, mask);
+ },
+ partial(...args) {
+ return util_exports.partial(ZodOptional, this, args[0]);
+ },
+ exactPartial(...args) {
+ return util_exports.partial(ZodExactOptional, this, args[0], "exactPartial");
+ },
+ required(...args) {
+ return util_exports.required(ZodNonOptional, this, args[0]);
+ }
+});
+function object(shape, params) {
+ const def = {
+ type: "object",
+ shape: shape ?? {},
+ ...util_exports.normalizeParams(params)
+ };
+ return new ZodObject(def);
+}
+__name(object, "object");
+function strictObject(shape, params) {
+ return new ZodObject({
+ type: "object",
+ shape,
+ catchall: never(),
+ ...util_exports.normalizeParams(params)
+ });
+}
+__name(strictObject, "strictObject");
+function looseObject(shape, params) {
+ return new ZodObject({
+ type: "object",
+ shape,
+ catchall: unknown(),
+ ...util_exports.normalizeParams(params)
+ });
+}
+__name(looseObject, "looseObject");
+var ZodUnion = /* @__PURE__ */ $constructor("ZodUnion", (inst, def) => {
+ $ZodUnion.init(inst, def);
+ ZodType.init(inst, def);
+ inst._zod.processJSONSchema = (ctx, json2, params) => unionProcessor(inst, ctx, json2, params);
+ inst.options = def.options;
+});
+function union(options, params) {
+ return new ZodUnion({
+ type: "union",
+ options,
+ ...util_exports.normalizeParams(params)
+ });
+}
+__name(union, "union");
+var ZodXor = /* @__PURE__ */ $constructor("ZodXor", (inst, def) => {
+ ZodUnion.init(inst, def);
+ $ZodXor.init(inst, def);
+ inst._zod.processJSONSchema = (ctx, json2, params) => unionProcessor(inst, ctx, json2, params);
+ inst.options = def.options;
+});
+function xor(options, params) {
+ return new ZodXor({
+ type: "union",
+ options,
+ inclusive: false,
+ ...util_exports.normalizeParams(params)
+ });
+}
+__name(xor, "xor");
+var ZodDiscriminatedUnion = /* @__PURE__ */ $constructor("ZodDiscriminatedUnion", (inst, def) => {
+ ZodUnion.init(inst, def);
+ $ZodDiscriminatedUnion.init(inst, def);
+});
+function discriminatedUnion(discriminator, options, params) {
+ return new ZodDiscriminatedUnion({
+ type: "union",
+ options,
+ discriminator,
+ ...util_exports.normalizeParams(params)
+ });
+}
+__name(discriminatedUnion, "discriminatedUnion");
+var ZodIntersection = /* @__PURE__ */ $constructor("ZodIntersection", (inst, def) => {
+ $ZodIntersection.init(inst, def);
+ ZodType.init(inst, def);
+ inst._zod.processJSONSchema = (ctx, json2, params) => intersectionProcessor(inst, ctx, json2, params);
+});
+function intersection(left, right) {
+ return new ZodIntersection({
+ type: "intersection",
+ left,
+ right
+ });
+}
+__name(intersection, "intersection");
+var ZodTuple = /* @__PURE__ */ $constructor("ZodTuple", (inst, def) => {
+ _ensureDefaultMemoizer();
+ $ZodTuple.init(inst, def);
+ ZodType.init(inst, def);
+ inst._zod.processJSONSchema = (ctx, json2, params) => tupleProcessor(inst, ctx, json2, params);
+}, {
+ rest(rest) {
+ return this.clone({
+ ...this._zod.def,
+ rest
+ });
+ },
+ partial() {
+ const def = this._zod.def;
+ if (def.checks?.length)
+ throw new Error(".partial() cannot be used on tuple schemas containing refinements");
+ return this.clone({
+ ...def,
+ items: def.items.map((item) => new ZodOptional({ type: "optional", innerType: item }))
+ });
+ }
+});
+function tuple(items, _paramsOrRest, _params) {
+ const hasRest = _paramsOrRest instanceof $ZodType;
+ const params = hasRest ? _params : _paramsOrRest;
+ const rest = hasRest ? _paramsOrRest : null;
+ return new ZodTuple({
+ type: "tuple",
+ items,
+ rest,
+ ...util_exports.normalizeParams(params)
+ });
+}
+__name(tuple, "tuple");
+var ZodRecord = /* @__PURE__ */ $constructor("ZodRecord", (inst, def) => {
+ _ensureDefaultMemoizer();
+ $ZodRecord.init(inst, def);
+ ZodType.init(inst, def);
+ inst._zod.processJSONSchema = (ctx, json2, params) => recordProcessor(inst, ctx, json2, params);
+ inst.keyType = def.keyType;
+ inst.valueType = def.valueType;
+});
+function record(keyType, valueType, params) {
+ if (!valueType || !valueType._zod) {
+ return new ZodRecord({
+ type: "record",
+ keyType: string2(),
+ valueType: keyType,
+ ...util_exports.normalizeParams(valueType)
+ });
+ }
+ return new ZodRecord({
+ type: "record",
+ keyType,
+ valueType,
+ ...util_exports.normalizeParams(params)
+ });
+}
+__name(record, "record");
+function partialRecord(keyType, valueType, params) {
+ return new ZodRecord({
+ type: "record",
+ keyType,
+ valueType,
+ ...util_exports.normalizeParams(params),
+ partial: true
+ });
+}
+__name(partialRecord, "partialRecord");
+function looseRecord(keyType, valueType, params) {
+ return new ZodRecord({
+ type: "record",
+ keyType,
+ valueType,
+ mode: "loose",
+ ...util_exports.normalizeParams(params)
+ });
+}
+__name(looseRecord, "looseRecord");
+var ZodMap = /* @__PURE__ */ $constructor("ZodMap", (inst, def) => {
+ _ensureDefaultMemoizer();
+ $ZodMap.init(inst, def);
+ ZodType.init(inst, def);
+ inst._zod.processJSONSchema = (ctx, json2, params) => mapProcessor(inst, ctx, json2, params);
+ inst.keyType = def.keyType;
+ inst.valueType = def.valueType;
+ inst.min = (...args) => inst.check(_minSize(...args));
+ inst.nonempty = (params) => inst.check(_minSize(1, params));
+ inst.max = (...args) => inst.check(_maxSize(...args));
+ inst.size = (...args) => inst.check(_size(...args));
+});
+function map(keyType, valueType, params) {
+ return new ZodMap({
+ type: "map",
+ keyType,
+ valueType,
+ ...util_exports.normalizeParams(params)
+ });
+}
+__name(map, "map");
+var ZodSet = /* @__PURE__ */ $constructor("ZodSet", (inst, def) => {
+ _ensureDefaultMemoizer();
+ $ZodSet.init(inst, def);
+ ZodType.init(inst, def);
+ inst._zod.processJSONSchema = (ctx, json2, params) => setProcessor(inst, ctx, json2, params);
+ inst.min = (...args) => inst.check(_minSize(...args));
+ inst.nonempty = (params) => inst.check(_minSize(1, params));
+ inst.max = (...args) => inst.check(_maxSize(...args));
+ inst.size = (...args) => inst.check(_size(...args));
+});
+function set(valueType, params) {
+ return new ZodSet({
+ type: "set",
+ valueType,
+ ...util_exports.normalizeParams(params)
+ });
+}
+__name(set, "set");
+var ZodEnum = /* @__PURE__ */ $constructor("ZodEnum", (inst, def) => {
+ $ZodEnum.init(inst, def);
+ ZodType.init(inst, def);
+ inst._zod.processJSONSchema = (ctx, json2, params) => enumProcessor(inst, ctx, json2, params);
+ inst.enum = def.entries;
+ inst.options = [...inst._zod.values];
+ const keys = new Set(Object.keys(def.entries));
+ inst.extract = (values, params) => {
+ const newEntries = {};
+ for (const value of values) {
+ if (keys.has(value)) {
+ newEntries[value] = def.entries[value];
+ } else
+ throw new Error(`Key ${value} not found in enum`);
+ }
+ return new ZodEnum({
+ ...def,
+ checks: [],
+ ...util_exports.normalizeParams(params),
+ entries: newEntries
+ });
+ };
+ inst.exclude = (values, params) => {
+ const newEntries = { ...def.entries };
+ for (const value of values) {
+ if (keys.has(value)) {
+ delete newEntries[value];
+ } else
+ throw new Error(`Key ${value} not found in enum`);
+ }
+ return new ZodEnum({
+ ...def,
+ checks: [],
+ ...util_exports.normalizeParams(params),
+ entries: newEntries
+ });
+ };
+});
+function _enum2(values, params) {
+ const entries = Array.isArray(values) ? Object.fromEntries(values.map((v) => [v, v])) : values;
+ return new ZodEnum({
+ type: "enum",
+ entries,
+ ...util_exports.normalizeParams(params)
+ });
+}
+__name(_enum2, "_enum");
+function nativeEnum(entries, params) {
+ return new ZodEnum({
+ type: "enum",
+ entries,
+ ...util_exports.normalizeParams(params)
+ });
+}
+__name(nativeEnum, "nativeEnum");
+var ZodLiteral = /* @__PURE__ */ $constructor("ZodLiteral", (inst, def) => {
+ $ZodLiteral.init(inst, def);
+ ZodType.init(inst, def);
+ inst._zod.processJSONSchema = (ctx, json2, params) => literalProcessor(inst, ctx, json2, params);
+ inst.values = new Set(def.values);
+ Object.defineProperty(inst, "value", {
+ get() {
+ if (def.values.length > 1) {
+ throw new Error("This schema contains multiple valid literal values. Use `.values` instead.");
+ }
+ return def.values[0];
+ }
+ });
+});
+function literal(value, params) {
+ return new ZodLiteral({
+ type: "literal",
+ values: Array.isArray(value) ? value : [value],
+ ...util_exports.normalizeParams(params)
+ });
+}
+__name(literal, "literal");
+var ZodFile = /* @__PURE__ */ $constructor("ZodFile", (inst, def) => {
+ $ZodFile.init(inst, def);
+ ZodType.init(inst, def);
+ inst._zod.processJSONSchema = (ctx, json2, params) => fileProcessor(inst, ctx, json2, params);
+ inst.min = (size, params) => inst.check(_minSize(size, params));
+ inst.max = (size, params) => inst.check(_maxSize(size, params));
+ inst.mime = (types3, params) => inst.check(_mime(Array.isArray(types3) ? types3 : [types3], params));
+});
+function file(params) {
+ return _file(ZodFile, params);
+}
+__name(file, "file");
+var ZodTransform = /* @__PURE__ */ $constructor("ZodTransform", (inst, def) => {
+ _ensureDefaultMemoizer();
+ $ZodTransform.init(inst, def);
+ ZodType.init(inst, def);
+ inst._zod.processJSONSchema = (ctx, json2, params) => transformProcessor(inst, ctx, json2, params);
+ inst._zod.parse = (payload, _ctx) => {
+ if (_ctx.direction === "backward") {
+ throw new $ZodEncodeError(inst.constructor.name);
+ }
+ payload.addIssue = (issue2) => {
+ if (typeof issue2 === "string") {
+ payload.issues.push(util_exports.issue(issue2, payload.value, def));
+ } else {
+ const _issue = issue2;
+ if (_issue.fatal)
+ _issue.continue = false;
+ _issue.code ?? (_issue.code = "custom");
+ if (!("input" in _issue))
+ _issue.input = payload.value;
+ _issue.inst ?? (_issue.inst = inst);
+ payload.issues.push(util_exports.issue(_issue));
+ }
+ };
+ const output2 = def.transform(payload.value, payload);
+ if (output2 instanceof Promise) {
+ return output2.then((output3) => {
+ payload.value = output3;
+ return payload;
+ });
+ }
+ payload.value = output2;
+ return payload;
+ };
+});
+function transform(fn) {
+ return new ZodTransform({
+ type: "transform",
+ transform: fn
+ });
+}
+__name(transform, "transform");
+var ZodOptional = /* @__PURE__ */ $constructor("ZodOptional", (inst, def) => {
+ $ZodOptional.init(inst, def);
+ ZodType.init(inst, def);
+ inst._zod.processJSONSchema = (ctx, json2, params) => optionalProcessor(inst, ctx, json2, params);
+ inst.unwrap = () => inst._zod.def.innerType;
+});
+function optional(innerType) {
+ return new ZodOptional({
+ type: "optional",
+ innerType
+ });
+}
+__name(optional, "optional");
+var ZodExactOptional = /* @__PURE__ */ $constructor("ZodExactOptional", (inst, def) => {
+ $ZodExactOptional.init(inst, def);
+ ZodType.init(inst, def);
+ inst._zod.processJSONSchema = (ctx, json2, params) => optionalProcessor(inst, ctx, json2, params);
+ inst.unwrap = () => inst._zod.def.innerType;
+});
+function exactOptional(innerType) {
+ return new ZodExactOptional({
+ type: "optional",
+ innerType
+ });
+}
+__name(exactOptional, "exactOptional");
+var ZodNullable = /* @__PURE__ */ $constructor("ZodNullable", (inst, def) => {
+ $ZodNullable.init(inst, def);
+ ZodType.init(inst, def);
+ inst._zod.processJSONSchema = (ctx, json2, params) => nullableProcessor(inst, ctx, json2, params);
+ inst.unwrap = () => inst._zod.def.innerType;
+});
+function nullable(innerType) {
+ return new ZodNullable({
+ type: "nullable",
+ innerType
+ });
+}
+__name(nullable, "nullable");
+function nullish2(innerType) {
+ return optional(nullable(innerType));
+}
+__name(nullish2, "nullish");
+var ZodDefault = /* @__PURE__ */ $constructor("ZodDefault", (inst, def) => {
+ $ZodDefault.init(inst, def);
+ ZodType.init(inst, def);
+ inst._zod.processJSONSchema = (ctx, json2, params) => defaultProcessor(inst, ctx, json2, params);
+ inst.unwrap = () => inst._zod.def.innerType;
+ inst.removeDefault = inst.unwrap;
+});
+function _default2(innerType, defaultValue) {
+ return new ZodDefault({
+ type: "default",
+ innerType,
+ get defaultValue() {
+ return typeof defaultValue === "function" ? defaultValue() : util_exports.shallowClone(defaultValue);
+ }
+ });
+}
+__name(_default2, "_default");
+var ZodPrefault = /* @__PURE__ */ $constructor("ZodPrefault", (inst, def) => {
+ $ZodPrefault.init(inst, def);
+ ZodType.init(inst, def);
+ inst._zod.processJSONSchema = (ctx, json2, params) => prefaultProcessor(inst, ctx, json2, params);
+ inst.unwrap = () => inst._zod.def.innerType;
+});
+function prefault(innerType, defaultValue) {
+ return new ZodPrefault({
+ type: "prefault",
+ innerType,
+ get defaultValue() {
+ return typeof defaultValue === "function" ? defaultValue() : util_exports.shallowClone(defaultValue);
+ }
+ });
+}
+__name(prefault, "prefault");
+var ZodNonOptional = /* @__PURE__ */ $constructor("ZodNonOptional", (inst, def) => {
+ $ZodNonOptional.init(inst, def);
+ ZodType.init(inst, def);
+ inst._zod.processJSONSchema = (ctx, json2, params) => nonoptionalProcessor(inst, ctx, json2, params);
+ inst.unwrap = () => inst._zod.def.innerType;
+});
+function nonoptional(innerType, params) {
+ return new ZodNonOptional({
+ type: "nonoptional",
+ innerType,
+ ...util_exports.normalizeParams(params)
+ });
+}
+__name(nonoptional, "nonoptional");
+var ZodSuccess = /* @__PURE__ */ $constructor("ZodSuccess", (inst, def) => {
+ $ZodSuccess.init(inst, def);
+ ZodType.init(inst, def);
+ inst._zod.processJSONSchema = (ctx, json2, params) => successProcessor(inst, ctx, json2, params);
+ inst.unwrap = () => inst._zod.def.innerType;
+});
+function success(innerType) {
+ return new ZodSuccess({
+ type: "success",
+ innerType
+ });
+}
+__name(success, "success");
+var ZodCatch = /* @__PURE__ */ $constructor("ZodCatch", (inst, def) => {
+ $ZodCatch.init(inst, def);
+ ZodType.init(inst, def);
+ inst._zod.processJSONSchema = (ctx, json2, params) => catchProcessor(inst, ctx, json2, params);
+ inst.unwrap = () => inst._zod.def.innerType;
+ inst.removeCatch = inst.unwrap;
+});
+function _catch2(innerType, catchValue) {
+ return new ZodCatch({
+ type: "catch",
+ innerType,
+ catchValue: typeof catchValue === "function" ? catchValue : util_exports.constantCatch(catchValue)
+ });
+}
+__name(_catch2, "_catch");
+var ZodNaN = /* @__PURE__ */ $constructor("ZodNaN", (inst, def) => {
+ $ZodNaN.init(inst, def);
+ ZodType.init(inst, def);
+ inst._zod.processJSONSchema = (ctx, json2, params) => nanProcessor(inst, ctx, json2, params);
+});
+function nan(params) {
+ return _nan(ZodNaN, params);
+}
+__name(nan, "nan");
+var ZodPipe = /* @__PURE__ */ $constructor("ZodPipe", (inst, def) => {
+ $ZodPipe.init(inst, def);
+ ZodType.init(inst, def);
+ inst._zod.processJSONSchema = (ctx, json2, params) => pipeProcessor(inst, ctx, json2, params);
+ inst.in = def.in;
+ inst.out = def.out;
+});
+function pipe(in_, out) {
+ return new ZodPipe({
+ type: "pipe",
+ in: in_,
+ out
+ // ...util.normalizeParams(params),
+ });
+}
+__name(pipe, "pipe");
+var ZodCodec = /* @__PURE__ */ $constructor("ZodCodec", (inst, def) => {
+ ZodPipe.init(inst, def);
+ $ZodCodec.init(inst, def);
+});
+function codec(in_, out, params) {
+ return new ZodCodec({
+ type: "pipe",
+ in: in_,
+ out,
+ transform: params.decode,
+ reverseTransform: params.encode
+ });
+}
+__name(codec, "codec");
+function invertCodec(codec2) {
+ const def = codec2._zod.def;
+ return new ZodCodec({
+ type: "pipe",
+ in: def.out,
+ out: def.in,
+ transform: def.reverseTransform,
+ reverseTransform: def.transform
+ });
+}
+__name(invertCodec, "invertCodec");
+var ZodPreprocess = /* @__PURE__ */ $constructor("ZodPreprocess", (inst, def) => {
+ ZodPipe.init(inst, def);
+ $ZodPreprocess.init(inst, def);
+});
+var ZodReadonly = /* @__PURE__ */ $constructor("ZodReadonly", (inst, def) => {
+ $ZodReadonly.init(inst, def);
+ ZodType.init(inst, def);
+ inst._zod.processJSONSchema = (ctx, json2, params) => readonlyProcessor(inst, ctx, json2, params);
+ inst.unwrap = () => inst._zod.def.innerType;
+});
+function readonly(innerType) {
+ return new ZodReadonly({
+ type: "readonly",
+ innerType
+ });
+}
+__name(readonly, "readonly");
+var ZodTemplateLiteral = /* @__PURE__ */ $constructor("ZodTemplateLiteral", (inst, def) => {
+ $ZodTemplateLiteral.init(inst, def);
+ ZodType.init(inst, def);
+ inst._zod.processJSONSchema = (ctx, json2, params) => templateLiteralProcessor(inst, ctx, json2, params);
+});
+function templateLiteral(parts, params) {
+ return new ZodTemplateLiteral({
+ type: "template_literal",
+ parts,
+ ...util_exports.normalizeParams(params)
+ });
+}
+__name(templateLiteral, "templateLiteral");
+var ZodLazy = /* @__PURE__ */ $constructor("ZodLazy", (inst, def) => {
+ $ZodLazy.init(inst, def);
+ ZodType.init(inst, def);
+ inst._zod.processJSONSchema = (ctx, json2, params) => lazyProcessor(inst, ctx, json2, params);
+ inst.unwrap = () => inst._zod.def.getter();
+});
+function lazy(getter) {
+ return new ZodLazy({
+ type: "lazy",
+ getter
+ });
+}
+__name(lazy, "lazy");
+var ZodPromise = /* @__PURE__ */ $constructor("ZodPromise", (inst, def) => {
+ $ZodPromise.init(inst, def);
+ ZodType.init(inst, def);
+ inst._zod.processJSONSchema = (ctx, json2, params) => promiseProcessor(inst, ctx, json2, params);
+ inst.unwrap = () => inst._zod.def.innerType;
+});
+function promise(innerType) {
+ return new ZodPromise({
+ type: "promise",
+ innerType
+ });
+}
+__name(promise, "promise");
+var ZodFunction = /* @__PURE__ */ $constructor("ZodFunction", (inst, def) => {
+ $ZodFunction.init(inst, def);
+ ZodType.init(inst, def);
+ inst._zod.processJSONSchema = (ctx, json2, params) => functionProcessor(inst, ctx, json2, params);
+});
+function _function(params) {
+ return new ZodFunction({
+ type: "function",
+ input: Array.isArray(params?.input) ? tuple(params?.input) : params?.input ?? array(unknown()),
+ output: params?.output ?? unknown()
+ });
+}
+__name(_function, "_function");
+var ZodCustom = /* @__PURE__ */ $constructor("ZodCustom", (inst, def) => {
+ $ZodCustom.init(inst, def);
+ ZodType.init(inst, def);
+ inst._zod.processJSONSchema = (ctx, json2, params) => customProcessor(inst, ctx, json2, params);
+});
+function check(fn) {
+ const ch = new $ZodCheck({
+ check: "custom"
+ // ...util.normalizeParams(params),
+ });
+ ch._zod.check = fn;
+ return ch;
+}
+__name(check, "check");
+function custom(fn, _params) {
+ return _custom(ZodCustom, fn ?? (() => true), _params);
+}
+__name(custom, "custom");
+function refine(fn, _params = {}) {
+ return _refine(ZodCustom, fn, _params);
+}
+__name(refine, "refine");
+function superRefine(fn, params) {
+ return _superRefine(fn, params);
+}
+__name(superRefine, "superRefine");
+var describe2 = describe;
+var meta2 = meta;
+var ZodInstanceOf = /* @__PURE__ */ $constructor("ZodInstanceOf", (inst, def) => {
+ ZodCustom.init(inst, def);
+}, {
+ properties(shape, params) {
+ return this.check(_properties(shape, params));
+ }
+});
+function _instanceof(cls, params = {}) {
+ const inst = new ZodInstanceOf({
+ type: "custom",
+ check: "custom",
+ fn: /* @__PURE__ */ __name((data) => data instanceof cls, "fn"),
+ abort: true,
+ ...util_exports.normalizeParams(params)
+ });
+ inst._zod.bag.Class = cls;
+ inst._zod.check = (payload) => {
+ if (!(payload.value instanceof cls)) {
+ payload.issues.push({
+ code: "invalid_type",
+ expected: cls.name,
+ input: payload.value,
+ inst,
+ path: [...inst._zod.def.path ?? []]
+ });
+ }
+ };
+ return inst;
+}
+__name(_instanceof, "_instanceof");
+var stringbool = /* @__PURE__ */ __name((...args) => _stringbool({
+ Codec: ZodCodec,
+ Boolean: ZodBoolean,
+ String: ZodString
+}, ...args), "stringbool");
+function json(params) {
+ const jsonSchema = lazy(() => {
+ return union([string2(params), number2(), boolean2(), _null3(), array(jsonSchema), record(string2(), jsonSchema)]);
+ });
+ return jsonSchema;
+}
+__name(json, "json");
+function preprocess(fn, schema2) {
+ return new ZodPreprocess({
+ type: "pipe",
+ in: transform(fn),
+ out: schema2
+ });
+}
+__name(preprocess, "preprocess");
+
+// ../../node_modules/.pnpm/zod@4.6.7/node_modules/zod/v4/classic/compat.js
+var ZodIssueCode = {
+ invalid_type: "invalid_type",
+ too_big: "too_big",
+ too_small: "too_small",
+ invalid_format: "invalid_format",
+ not_multiple_of: "not_multiple_of",
+ unrecognized_keys: "unrecognized_keys",
+ invalid_union: "invalid_union",
+ invalid_key: "invalid_key",
+ invalid_element: "invalid_element",
+ invalid_value: "invalid_value",
+ custom: "custom"
+};
+function setErrorMap(map2) {
+ config({
+ customError: map2
+ });
+}
+__name(setErrorMap, "setErrorMap");
+function getErrorMap() {
+ return config().customError;
+}
+__name(getErrorMap, "getErrorMap");
+var ZodFirstPartyTypeKind;
+/* @__PURE__ */ (function(ZodFirstPartyTypeKind2) {
+})(ZodFirstPartyTypeKind || (ZodFirstPartyTypeKind = {}));
+
+// ../../node_modules/.pnpm/zod@4.6.7/node_modules/zod/v4/classic/iso.js
+var iso_exports = {};
+__export(iso_exports, {
+ ZodISODate: () => ZodISODate,
+ ZodISODateTime: () => ZodISODateTime,
+ ZodISODuration: () => ZodISODuration,
+ ZodISOTime: () => ZodISOTime,
+ date: () => date3,
+ datetime: () => datetime2,
+ duration: () => duration2,
+ time: () => time2
+});
+function datetime2(params) {
+ return _isoDateTime(ZodISODateTime, params);
+}
+__name(datetime2, "datetime");
+function date3(params) {
+ return _isoDate(ZodISODate, params);
+}
+__name(date3, "date");
+function time2(params) {
+ return _isoTime(ZodISOTime, params);
+}
+__name(time2, "time");
+function duration2(params) {
+ return _isoDuration(ZodISODuration, params);
+}
+__name(duration2, "duration");
+
+// ../../node_modules/.pnpm/zod@4.6.7/node_modules/zod/v4/classic/from-json-schema.js
+var z = {
+ ...schemas_exports2,
+ ...checks_exports2,
+ iso: iso_exports
+};
+var RECOGNIZED_KEYS = /* @__PURE__ */ new Set([
+ // Schema identification
+ "$schema",
+ "$ref",
+ "$defs",
+ "definitions",
+ // Core schema keywords
+ "$id",
+ "id",
+ "$comment",
+ "$anchor",
+ "$vocabulary",
+ "$dynamicRef",
+ "$dynamicAnchor",
+ // Type
+ "type",
+ "enum",
+ "const",
+ // Composition
+ "anyOf",
+ "oneOf",
+ "allOf",
+ "not",
+ // Object
+ "properties",
+ "required",
+ "additionalProperties",
+ "patternProperties",
+ "propertyNames",
+ "minProperties",
+ "maxProperties",
+ // Array
+ "items",
+ "prefixItems",
+ "additionalItems",
+ "minItems",
+ "maxItems",
+ "uniqueItems",
+ "contains",
+ "minContains",
+ "maxContains",
+ // String
+ "minLength",
+ "maxLength",
+ "pattern",
+ "format",
+ // Number
+ "minimum",
+ "maximum",
+ "exclusiveMinimum",
+ "exclusiveMaximum",
+ "multipleOf",
+ // Already handled metadata
+ "description",
+ "default",
+ // Content
+ "contentEncoding",
+ "contentMediaType",
+ "contentSchema",
+ // Unsupported (error-throwing)
+ "unevaluatedItems",
+ "unevaluatedProperties",
+ "if",
+ "then",
+ "else",
+ "dependentSchemas",
+ "dependentRequired",
+ // OpenAPI
+ "nullable",
+ "readOnly"
+]);
+function detectVersion(schema2, defaultTarget) {
+ const $schema = schema2.$schema;
+ if ($schema === "https://json-schema.org/draft/2020-12/schema") {
+ return "draft-2020-12";
+ }
+ if ($schema === "http://json-schema.org/draft-07/schema#") {
+ return "draft-7";
+ }
+ if ($schema === "http://json-schema.org/draft-04/schema#") {
+ return "draft-4";
+ }
+ return defaultTarget ?? "draft-2020-12";
+}
+__name(detectVersion, "detectVersion");
+function applyMinItems(items, minItems) {
+ return items.map((item, index) => index < minItems ? item : item.optional());
+}
+__name(applyMinItems, "applyMinItems");
+function decodeJSONPointerSegment(segment) {
+ return segment.replace(/~1/g, "/").replace(/~0/g, "~");
+}
+__name(decodeJSONPointerSegment, "decodeJSONPointerSegment");
+function resolveRef(ref, ctx) {
+ if (!ref.startsWith("#")) {
+ throw new Error("External $ref is not supported, only local refs (#/...) are allowed");
+ }
+ const path2 = ref.slice(1).split("/").filter(Boolean);
+ if (path2.length === 0) {
+ return ctx.rootSchema;
+ }
+ const defsKey = ctx.version === "draft-2020-12" ? "$defs" : "definitions";
+ if (path2[0] === defsKey) {
+ const key = path2[1] === void 0 ? void 0 : decodeJSONPointerSegment(path2[1]);
+ if (!key || !ctx.defs[key]) {
+ throw new Error(`Reference not found: ${ref}`);
+ }
+ return ctx.defs[key];
+ }
+ throw new Error(`Reference not found: ${ref}`);
+}
+__name(resolveRef, "resolveRef");
+function checkObjectGuards(objectSchema, guards) {
+ const guard = z.transform((value) => value).check((payload) => {
+ const value = payload.value;
+ if (typeof value !== "object" || value === null || Array.isArray(value))
+ return;
+ const keys = Object.getOwnPropertyNames(value);
+ if (guards.minProperties !== void 0 && keys.length < guards.minProperties) {
+ payload.issues.push({
+ origin: "object",
+ code: "too_small",
+ minimum: guards.minProperties,
+ inclusive: true,
+ message: `Too small: expected object to have >=${guards.minProperties} properties`,
+ input: value,
+ inst: objectSchema,
+ continue: true
+ });
+ }
+ if (guards.maxProperties !== void 0 && keys.length > guards.maxProperties) {
+ payload.issues.push({
+ origin: "object",
+ code: "too_big",
+ maximum: guards.maxProperties,
+ inclusive: true,
+ message: `Too big: expected object to have <=${guards.maxProperties} properties`,
+ input: value,
+ inst: objectSchema,
+ continue: true
+ });
+ }
+ if (guards.keySchema) {
+ for (const key of keys) {
+ const result = guards.keySchema.safeParse(key);
+ if (result.success)
+ continue;
+ payload.issues.push({
+ code: "invalid_key",
+ origin: "record",
+ issues: result.error.issues,
+ input: key,
+ path: [key],
+ continue: true
+ });
+ }
+ }
+ });
+ return guard.pipe(objectSchema);
+}
+__name(checkObjectGuards, "checkObjectGuards");
+function canonicalKey(value, seen) {
+ if (value === null)
+ return "z";
+ const type = typeof value;
+ if (type !== "object") {
+ if (type === "number" && Number.isNaN(value))
+ return null;
+ const raw4 = String(value);
+ return `${type[0]}${raw4.length}:${raw4}`;
+ }
+ if (seen.has(value))
+ return null;
+ seen.add(value);
+ try {
+ if (Array.isArray(value)) {
+ const parts2 = [];
+ for (const item of value) {
+ const key = canonicalKey(item, seen);
+ if (key === null)
+ return null;
+ parts2.push(key);
+ }
+ return `a${parts2.length}:[${parts2.join(",")}]`;
+ }
+ const keys = Object.keys(value).sort();
+ const parts = [];
+ for (const k5 of keys) {
+ const key = canonicalKey(value[k5], seen);
+ if (key === null)
+ return null;
+ parts.push(`${k5.length}:${k5}=${key}`);
+ }
+ return `o${parts.length}:{${parts.join(",")}}`;
+ } finally {
+ seen.delete(value);
+ }
+}
+__name(canonicalKey, "canonicalKey");
+var SCHEMA_KEYWORDS = /* @__PURE__ */ new Set([
+ "items",
+ "prefixItems",
+ "additionalItems",
+ "additionalProperties",
+ "contains",
+ "propertyNames",
+ "not",
+ "if",
+ "then",
+ "else",
+ "allOf",
+ "anyOf",
+ "oneOf",
+ "unevaluatedItems",
+ "unevaluatedProperties",
+ "contentSchema"
+]);
+var SCHEMA_MAP_KEYWORDS = /* @__PURE__ */ new Set([
+ "properties",
+ "patternProperties",
+ "dependentSchemas",
+ "dependencies",
+ "$defs",
+ "definitions"
+]);
+function containsRef(value) {
+ if (typeof value !== "object" || value === null)
+ return false;
+ if (Array.isArray(value))
+ return value.some(containsRef);
+ if (typeof value.$ref === "string")
+ return true;
+ return Object.entries(value).some(([key, sub]) => {
+ if (SCHEMA_KEYWORDS.has(key))
+ return containsRef(sub);
+ if (!SCHEMA_MAP_KEYWORDS.has(key) || typeof sub !== "object" || sub === null)
+ return false;
+ return Object.values(sub).some(containsRef);
+ });
+}
+__name(containsRef, "containsRef");
+function plural(n3) {
+ return n3 === 1 ? "element" : "elements";
+}
+__name(plural, "plural");
+function checkArrayGuards(arraySchema, guards) {
+ const guard = z.transform((value) => value).check((payload) => {
+ const items = payload.value;
+ if (!Array.isArray(items))
+ return;
+ if (guards.uniqueItems === true) {
+ const firstSeen = /* @__PURE__ */ new Map();
+ for (let i5 = 0; i5 < items.length; i5++) {
+ const key = canonicalKey(items[i5], /* @__PURE__ */ new Set());
+ if (key === null)
+ continue;
+ const first = firstSeen.get(key);
+ if (first === void 0) {
+ firstSeen.set(key, i5);
+ continue;
+ }
+ payload.issues.push({
+ code: "custom",
+ message: `Array items must be unique: element at index ${i5} duplicates the one at index ${first}`,
+ input: items,
+ path: [i5],
+ continue: true
+ });
+ }
+ }
+ if (guards.containsSchema) {
+ const minContains = guards.minContains ?? 1;
+ const ceiling = guards.maxContains !== void 0 ? guards.maxContains + 1 : Number.POSITIVE_INFINITY;
+ let matches = 0;
+ for (const item of items) {
+ if (guards.containsSchema.safeParse(item).success && ++matches >= ceiling)
+ break;
+ }
+ if (matches < minContains) {
+ payload.issues.push({
+ code: "custom",
+ message: `Array must contain at least ${minContains} matching ${plural(minContains)}; found ${matches}`,
+ input: items,
+ continue: true
+ });
+ }
+ if (guards.maxContains !== void 0 && matches > guards.maxContains) {
+ payload.issues.push({
+ code: "custom",
+ message: `Array must contain at most ${guards.maxContains} matching ${plural(guards.maxContains)}`,
+ input: items,
+ continue: true
+ });
+ }
+ }
+ });
+ return guard.pipe(arraySchema);
+}
+__name(checkArrayGuards, "checkArrayGuards");
+function getTupleRest(restSchema, ctx) {
+ if (restSchema === false) {
+ return void 0;
+ }
+ if (restSchema === void 0 || restSchema === true) {
+ return z.any();
+ }
+ return convertSchema(restSchema, ctx);
+}
+__name(getTupleRest, "getTupleRest");
+var fullTime = /^(?:[01]\d|2[0-3]):[0-5]\d:[0-5]\d(?:\.\d+)?(?:Z|[+-](?:[01]\d|2[0-3]):[0-5]\d)$/;
+function convertBaseSchema(schema2, ctx) {
+ if (schema2.not !== void 0) {
+ if (typeof schema2.not === "object" && Object.keys(schema2.not).length === 0) {
+ return z.never();
+ }
+ throw new Error("not is not supported in Zod (except { not: {} } for never)");
+ }
+ if (schema2.unevaluatedItems !== void 0) {
+ throw new Error("unevaluatedItems is not supported");
+ }
+ if (schema2.unevaluatedProperties !== void 0) {
+ throw new Error("unevaluatedProperties is not supported");
+ }
+ if (schema2.if !== void 0 || schema2.then !== void 0 || schema2.else !== void 0) {
+ throw new Error("Conditional schemas (if/then/else) are not supported");
+ }
+ if (schema2.dependentSchemas !== void 0 || schema2.dependentRequired !== void 0) {
+ throw new Error("dependentSchemas and dependentRequired are not supported");
+ }
+ if (schema2.$ref) {
+ const refPath = schema2.$ref;
+ if (ctx.refs.has(refPath)) {
+ return ctx.refs.get(refPath);
+ }
+ if (ctx.processing.has(refPath)) {
+ return z.lazy(() => {
+ if (!ctx.refs.has(refPath)) {
+ throw new Error(`Circular reference not resolved: ${refPath}`);
+ }
+ return ctx.refs.get(refPath);
+ });
+ }
+ ctx.processing.add(refPath);
+ const resolved = resolveRef(refPath, ctx);
+ const zodSchema2 = convertSchema(resolved, ctx);
+ ctx.refs.set(refPath, zodSchema2);
+ ctx.processing.delete(refPath);
+ return zodSchema2;
+ }
+ if (schema2.enum !== void 0) {
+ const enumValues = schema2.enum;
+ if (ctx.version === "openapi-3.0" && schema2.nullable === true && enumValues.length === 1 && enumValues[0] === null) {
+ return z.null();
+ }
+ if (enumValues.length === 0) {
+ return z.never();
+ }
+ if (enumValues.length === 1) {
+ return z.literal(enumValues[0]);
+ }
+ if (enumValues.every((v) => typeof v === "string")) {
+ return z.enum(enumValues);
+ }
+ const literalSchemas = enumValues.map((v) => z.literal(v));
+ if (literalSchemas.length < 2) {
+ return literalSchemas[0];
+ }
+ return z.union([literalSchemas[0], literalSchemas[1], ...literalSchemas.slice(2)]);
+ }
+ if (schema2.const !== void 0) {
+ return z.literal(schema2.const);
+ }
+ const type = schema2.type;
+ if (Array.isArray(type)) {
+ const typeSchemas = type.map((t) => {
+ const typeSchema = { ...schema2, type: t };
+ return convertBaseSchema(typeSchema, ctx);
+ });
+ if (typeSchemas.length === 0) {
+ return z.never();
+ }
+ if (typeSchemas.length === 1) {
+ return typeSchemas[0];
+ }
+ return z.union(typeSchemas);
+ }
+ if (!type) {
+ return z.any();
+ }
+ let zodSchema;
+ switch (type) {
+ case "string": {
+ let stringSchema = z.string();
+ if (schema2.format) {
+ const format = schema2.format;
+ if (format === "email") {
+ stringSchema = stringSchema.check(z.email());
+ } else if (format === "uri" || format === "uri-reference") {
+ stringSchema = stringSchema.check(z.url());
+ } else if (format === "uuid" || format === "guid") {
+ stringSchema = stringSchema.check(z.uuid());
+ } else if (format === "date-time") {
+ stringSchema = stringSchema.check(z.iso.datetime({ offset: true }));
+ } else if (format === "date") {
+ stringSchema = stringSchema.check(z.iso.date());
+ } else if (format === "time") {
+ stringSchema = stringSchema.check(z.regex(fullTime));
+ } else if (format === "duration") {
+ stringSchema = stringSchema.check(z.iso.duration());
+ } else if (format === "hostname") {
+ stringSchema = stringSchema.check(z.hostname());
+ } else if (format === "ipv4") {
+ stringSchema = stringSchema.check(z.ipv4());
+ } else if (format === "ipv6") {
+ stringSchema = stringSchema.check(z.ipv6());
+ } else if (format === "mac") {
+ stringSchema = stringSchema.check(z.mac());
+ } else if (format === "cidr") {
+ stringSchema = stringSchema.check(z.cidrv4());
+ } else if (format === "cidr-v6") {
+ stringSchema = stringSchema.check(z.cidrv6());
+ } else if (format === "base64") {
+ stringSchema = stringSchema.check(z.base64());
+ } else if (format === "base64url") {
+ stringSchema = stringSchema.check(z.base64url());
+ } else if (format === "e164") {
+ stringSchema = stringSchema.check(z.e164());
+ } else if (format === "credit_card") {
+ stringSchema = stringSchema.check(z.creditCard());
+ } else if (format === "iban") {
+ stringSchema = stringSchema.check(z.iban());
+ } else if (format === "jwt") {
+ stringSchema = stringSchema.check(z.jwt());
+ } else if (format === "emoji") {
+ stringSchema = stringSchema.check(z.emoji());
+ } else if (format === "nanoid") {
+ stringSchema = stringSchema.check(z.nanoid());
+ } else if (format === "cuid") {
+ stringSchema = stringSchema.check(z.cuid());
+ } else if (format === "cuid2") {
+ stringSchema = stringSchema.check(z.cuid2());
+ } else if (format === "ulid") {
+ stringSchema = stringSchema.check(z.ulid());
+ } else if (format === "xid") {
+ stringSchema = stringSchema.check(z.xid());
+ } else if (format === "ksuid") {
+ stringSchema = stringSchema.check(z.ksuid());
+ }
+ }
+ if (typeof schema2.minLength === "number") {
+ stringSchema = stringSchema.min(schema2.minLength);
+ }
+ if (typeof schema2.maxLength === "number") {
+ stringSchema = stringSchema.max(schema2.maxLength);
+ }
+ if (schema2.pattern) {
+ stringSchema = stringSchema.regex(new RegExp(schema2.pattern));
+ }
+ zodSchema = stringSchema;
+ break;
+ }
+ case "number":
+ case "integer": {
+ let numberSchema = type === "integer" ? z.number().int() : z.number();
+ if (typeof schema2.minimum === "number" && schema2.exclusiveMinimum !== true) {
+ numberSchema = numberSchema.min(schema2.minimum);
+ }
+ if (typeof schema2.maximum === "number" && schema2.exclusiveMaximum !== true) {
+ numberSchema = numberSchema.max(schema2.maximum);
+ }
+ if (typeof schema2.exclusiveMinimum === "number") {
+ numberSchema = numberSchema.gt(schema2.exclusiveMinimum);
+ } else if (schema2.exclusiveMinimum === true && typeof schema2.minimum === "number") {
+ numberSchema = numberSchema.gt(schema2.minimum);
+ }
+ if (typeof schema2.exclusiveMaximum === "number") {
+ numberSchema = numberSchema.lt(schema2.exclusiveMaximum);
+ } else if (schema2.exclusiveMaximum === true && typeof schema2.maximum === "number") {
+ numberSchema = numberSchema.lt(schema2.maximum);
+ }
+ if (typeof schema2.multipleOf === "number") {
+ numberSchema = numberSchema.multipleOf(schema2.multipleOf);
+ }
+ zodSchema = numberSchema;
+ break;
+ }
+ case "boolean": {
+ zodSchema = z.boolean();
+ break;
+ }
+ case "null": {
+ zodSchema = z.null();
+ break;
+ }
+ case "object": {
+ const shape = {};
+ const properties = schema2.properties || {};
+ const requiredSet = new Set(schema2.required || []);
+ const additionalSchema = typeof schema2.additionalProperties === "object" ? convertSchema(schema2.additionalProperties, ctx) : void 0;
+ for (const [key, propSchema] of Object.entries(properties)) {
+ const propZodSchema = convertSchema(propSchema, ctx);
+ assignProp(shape, key, requiredSet.has(key) ? propZodSchema : propZodSchema.optional());
+ }
+ if (schema2.patternProperties) {
+ const patternProps = schema2.patternProperties;
+ const patternKeys = Object.keys(patternProps);
+ const looseRecords = [];
+ for (const pattern of patternKeys) {
+ const patternValue = convertSchema(patternProps[pattern], ctx);
+ const keySchema = z.string().regex(new RegExp(pattern));
+ looseRecords.push(z.looseRecord(keySchema, patternValue));
+ }
+ const schemasToIntersect = [];
+ if (Object.keys(shape).length > 0) {
+ schemasToIntersect.push(z.object(shape).passthrough());
+ }
+ schemasToIntersect.push(...looseRecords);
+ if (schemasToIntersect.length === 0) {
+ zodSchema = z.object({}).passthrough();
+ } else if (schemasToIntersect.length === 1) {
+ zodSchema = schemasToIntersect[0];
+ } else {
+ let result = z.intersection(schemasToIntersect[0], schemasToIntersect[1]);
+ for (let i5 = 2; i5 < schemasToIntersect.length; i5++) {
+ result = z.intersection(result, schemasToIntersect[i5]);
+ }
+ zodSchema = result;
+ }
+ if (schema2.additionalProperties === false) {
+ const propertyKeys = Object.keys(shape);
+ const patterns = patternKeys.map((p3) => new RegExp(p3));
+ const basePatternSchema = zodSchema;
+ zodSchema = zodSchema.check((payload) => {
+ if (!isPlainObject(payload.value))
+ return;
+ const unrecognized = [];
+ for (const key of Object.keys(payload.value)) {
+ if (propertyKeys.includes(key))
+ continue;
+ if (patterns.some((regex) => regex.test(key)))
+ continue;
+ unrecognized.push(key);
+ }
+ if (unrecognized.length) {
+ payload.issues.push({
+ code: "unrecognized_keys",
+ keys: unrecognized,
+ input: payload.value,
+ inst: basePatternSchema
+ });
+ }
+ });
+ }
+ } else {
+ const objectSchema = z.object(shape);
+ if (schema2.additionalProperties === false) {
+ zodSchema = objectSchema.strict();
+ } else if (additionalSchema) {
+ zodSchema = objectSchema.catchall(additionalSchema);
+ } else {
+ zodSchema = objectSchema.passthrough();
+ }
+ }
+ const hasKeyGuard = schema2.propertyNames !== void 0 && schema2.propertyNames !== true;
+ const minProperties = typeof schema2.minProperties === "number" ? schema2.minProperties : void 0;
+ const maxProperties = typeof schema2.maxProperties === "number" ? schema2.maxProperties : void 0;
+ if (hasKeyGuard || minProperties !== void 0 || maxProperties !== void 0) {
+ let keySchema;
+ if (hasKeyGuard) {
+ const keyJSONSchema = typeof schema2.propertyNames === "object" && schema2.propertyNames.type === void 0 ? { type: "string", ...schema2.propertyNames } : schema2.propertyNames;
+ keySchema = convertSchema(keyJSONSchema, ctx);
+ }
+ zodSchema = checkObjectGuards(zodSchema, { keySchema, minProperties, maxProperties });
+ }
+ break;
+ }
+ case "array": {
+ const prefixItems = schema2.prefixItems;
+ const items = schema2.items;
+ if (prefixItems && Array.isArray(prefixItems)) {
+ const minItems = typeof schema2.minItems === "number" ? schema2.minItems : 0;
+ const tupleItems = prefixItems.map((item) => convertSchema(item, ctx));
+ const positionalItems = applyMinItems(tupleItems, minItems);
+ const rest = !Array.isArray(items) ? getTupleRest(items, ctx) : void 0;
+ const tupleSchema = z.tuple(positionalItems);
+ zodSchema = rest ? tupleSchema.rest(rest) : tupleSchema;
+ if (typeof schema2.minItems === "number") {
+ zodSchema = zodSchema.check(z.minLength(schema2.minItems));
+ }
+ if (typeof schema2.maxItems === "number") {
+ zodSchema = zodSchema.check(z.maxLength(schema2.maxItems));
+ }
+ } else if (Array.isArray(items)) {
+ const minItems = typeof schema2.minItems === "number" ? schema2.minItems : 0;
+ const tupleItems = items.map((item) => convertSchema(item, ctx));
+ const positionalItems = applyMinItems(tupleItems, minItems);
+ const rest = getTupleRest(schema2.additionalItems, ctx);
+ const tupleSchema = z.tuple(positionalItems);
+ zodSchema = rest ? tupleSchema.rest(rest) : tupleSchema;
+ if (typeof schema2.minItems === "number") {
+ zodSchema = zodSchema.check(z.minLength(schema2.minItems));
+ }
+ if (typeof schema2.maxItems === "number") {
+ zodSchema = zodSchema.check(z.maxLength(schema2.maxItems));
+ }
+ } else if (items !== void 0) {
+ const element = convertSchema(items, ctx);
+ let arraySchema = z.array(element);
+ if (typeof schema2.minItems === "number") {
+ arraySchema = arraySchema.min(schema2.minItems);
+ }
+ if (typeof schema2.maxItems === "number") {
+ arraySchema = arraySchema.max(schema2.maxItems);
+ }
+ zodSchema = arraySchema;
+ } else {
+ zodSchema = z.array(z.any());
+ }
+ if (schema2.uniqueItems === true || schema2.contains !== void 0) {
+ zodSchema = checkArrayGuards(zodSchema, {
+ uniqueItems: schema2.uniqueItems === true,
+ containsSchema: schema2.contains !== void 0 ? convertSchema(schema2.contains, ctx) : void 0,
+ minContains: typeof schema2.minContains === "number" ? schema2.minContains : void 0,
+ maxContains: typeof schema2.maxContains === "number" ? schema2.maxContains : void 0
+ });
+ }
+ break;
+ }
+ default:
+ throw new Error(`Unsupported type: ${type}`);
+ }
+ return zodSchema;
+}
+__name(convertBaseSchema, "convertBaseSchema");
+function convertSchema(schema2, ctx) {
+ if (typeof schema2 === "boolean") {
+ return schema2 ? z.any() : z.never();
+ }
+ let baseSchema = convertBaseSchema(schema2, ctx);
+ const hasExplicitType = schema2.type || schema2.enum !== void 0 || schema2.const !== void 0;
+ if (schema2.anyOf && Array.isArray(schema2.anyOf)) {
+ const options = schema2.anyOf.map((s2) => convertSchema(s2, ctx));
+ const anyOfUnion = z.union(options);
+ baseSchema = hasExplicitType ? z.intersection(baseSchema, anyOfUnion) : anyOfUnion;
+ }
+ if (schema2.oneOf && Array.isArray(schema2.oneOf)) {
+ const options = schema2.oneOf.map((s2) => convertSchema(s2, ctx));
+ const oneOfUnion = z.xor(options);
+ baseSchema = hasExplicitType ? z.intersection(baseSchema, oneOfUnion) : oneOfUnion;
+ }
+ if (schema2.allOf && Array.isArray(schema2.allOf)) {
+ if (schema2.allOf.length === 0) {
+ baseSchema = hasExplicitType ? baseSchema : z.any();
+ } else {
+ let result = hasExplicitType ? baseSchema : convertSchema(schema2.allOf[0], ctx);
+ const startIdx = hasExplicitType ? 0 : 1;
+ for (let i5 = startIdx; i5 < schema2.allOf.length; i5++) {
+ result = z.intersection(result, convertSchema(schema2.allOf[i5], ctx));
+ }
+ baseSchema = result;
+ }
+ }
+ if (schema2.nullable === true && ctx.version === "openapi-3.0") {
+ baseSchema = z.nullable(baseSchema);
+ }
+ if (schema2.readOnly === true) {
+ baseSchema = z.readonly(baseSchema);
+ }
+ if (schema2.default !== void 0) {
+ baseSchema = baseSchema.default(schema2.default);
+ }
+ const extraMeta = {};
+ const coreMetadataKeys = ["$id", "id", "$comment", "$anchor", "$vocabulary", "$dynamicRef", "$dynamicAnchor"];
+ for (const key of coreMetadataKeys) {
+ if (key in schema2) {
+ extraMeta[key] = schema2[key];
+ }
+ }
+ const contentMetadataKeys = ["contentEncoding", "contentMediaType", "contentSchema"];
+ for (const key of contentMetadataKeys) {
+ if (key in schema2) {
+ extraMeta[key] = schema2[key];
+ }
+ }
+ if (schema2.type === "object" && schema2.$ref === void 0) {
+ if (schema2.propertyNames !== void 0 && !containsRef(schema2.propertyNames)) {
+ extraMeta.propertyNames = schema2.propertyNames;
+ }
+ for (const key of ["minProperties", "maxProperties"]) {
+ if (schema2[key] !== void 0)
+ extraMeta[key] = schema2[key];
+ }
+ }
+ if (schema2.type === "array" && schema2.$ref === void 0) {
+ if (schema2.contains !== void 0 && !containsRef(schema2.contains)) {
+ extraMeta.contains = schema2.contains;
+ }
+ for (const key of ["uniqueItems", "minContains", "maxContains"]) {
+ if (schema2[key] !== void 0)
+ extraMeta[key] = schema2[key];
+ }
+ }
+ for (const key of Object.keys(schema2)) {
+ if (!RECOGNIZED_KEYS.has(key)) {
+ assignProp(extraMeta, key, schema2[key]);
+ }
+ }
+ if (Object.keys(extraMeta).length > 0) {
+ ctx.registry.add(baseSchema, extraMeta);
+ }
+ if (schema2.description) {
+ baseSchema = baseSchema.describe(schema2.description);
+ }
+ return baseSchema;
+}
+__name(convertSchema, "convertSchema");
+function fromJSONSchema(schema2, params) {
+ if (typeof schema2 === "boolean") {
+ return schema2 ? z.any() : z.never();
+ }
+ let normalized;
+ try {
+ normalized = JSON.parse(JSON.stringify(schema2));
+ } catch {
+ throw new Error("fromJSONSchema input is not valid JSON (possibly cyclic); use $defs/$ref for recursive schemas");
+ }
+ const version2 = detectVersion(normalized, params?.defaultTarget);
+ const defs = normalized.$defs || normalized.definitions || {};
+ const ctx = {
+ version: version2,
+ defs,
+ refs: /* @__PURE__ */ new Map(),
+ processing: /* @__PURE__ */ new Set(),
+ rootSchema: normalized,
+ registry: params?.registry ?? globalRegistry
+ };
+ return convertSchema(normalized, ctx);
+}
+__name(fromJSONSchema, "fromJSONSchema");
+
+// ../../node_modules/.pnpm/zod@4.6.7/node_modules/zod/v4/core/visit.js
+var RESOLVING = /* @__PURE__ */ Symbol("z.visit/resolving");
+function visit(schema2, fnOrHandlers) {
+ const fn = typeof fnOrHandlers === "function" ? fnOrHandlers : (node2, rewritten) => {
+ const h5 = fnOrHandlers[node2._zod.def.type];
+ return h5 ? h5(node2, rewritten) : node2;
+ };
+ const cache5 = /* @__PURE__ */ new Map();
+ function run(s2) {
+ const cached2 = cache5.get(s2);
+ if (cached2 === RESOLVING) {
+ return new $ZodLazy({
+ type: "lazy",
+ getter: /* @__PURE__ */ __name(() => cache5.get(s2), "getter")
+ });
+ }
+ if (cached2 !== void 0)
+ return cached2;
+ cache5.set(s2, RESOLVING);
+ const inner = mapInner(s2);
+ const mapped = fn(inner, inner !== s2);
+ cache5.set(s2, mapped);
+ return mapped;
+ }
+ __name(run, "run");
+ function mapInner(s2) {
+ const def = s2._zod.def;
+ const kind = def.type;
+ switch (kind) {
+ case "object": {
+ const oldShape = def.shape;
+ const keys = Object.keys(oldShape);
+ let changed = false;
+ const newShape = {};
+ for (const k5 of keys) {
+ const mapped = run(oldShape[k5]);
+ if (mapped !== oldShape[k5])
+ changed = true;
+ newShape[k5] = mapped;
+ }
+ let newCatchall = def.catchall;
+ if (def.catchall) {
+ newCatchall = run(def.catchall);
+ if (newCatchall !== def.catchall)
+ changed = true;
+ }
+ return changed ? clone(s2, { ...def, shape: newShape, catchall: newCatchall }) : s2;
+ }
+ case "array": {
+ const mapped = run(def.element);
+ return mapped === def.element ? s2 : clone(s2, { ...def, element: mapped });
+ }
+ case "tuple": {
+ const oldItems = def.items;
+ let changed = false;
+ const newItems = [];
+ for (const item of oldItems) {
+ const mapped = run(item);
+ if (mapped !== item)
+ changed = true;
+ newItems.push(mapped);
+ }
+ let newRest = def.rest;
+ if (def.rest) {
+ newRest = run(def.rest);
+ if (newRest !== def.rest)
+ changed = true;
+ }
+ return changed ? clone(s2, { ...def, items: newItems, rest: newRest }) : s2;
+ }
+ case "record":
+ case "map": {
+ const newKey = run(def.keyType);
+ const newVal = run(def.valueType);
+ return newKey === def.keyType && newVal === def.valueType ? s2 : clone(s2, { ...def, keyType: newKey, valueType: newVal });
+ }
+ case "set": {
+ const newVal = run(def.valueType);
+ return newVal === def.valueType ? s2 : clone(s2, { ...def, valueType: newVal });
+ }
+ case "union": {
+ const oldOptions = def.options;
+ let changed = false;
+ const newOptions = [];
+ for (const opt of oldOptions) {
+ const mapped = run(opt);
+ if (mapped !== opt)
+ changed = true;
+ newOptions.push(mapped);
+ }
+ return changed ? clone(s2, { ...def, options: newOptions }) : s2;
+ }
+ case "intersection": {
+ const newLeft = run(def.left);
+ const newRight = run(def.right);
+ return newLeft === def.left && newRight === def.right ? s2 : clone(s2, { ...def, left: newLeft, right: newRight });
+ }
+ case "optional":
+ case "nullable":
+ case "default":
+ case "prefault":
+ case "catch":
+ case "readonly":
+ case "nonoptional":
+ case "promise":
+ case "success": {
+ const newInner = run(def.innerType);
+ return newInner === def.innerType ? s2 : clone(s2, { ...def, innerType: newInner });
+ }
+ case "pipe": {
+ const newIn = run(def.in);
+ const newOut = run(def.out);
+ return newIn === def.in && newOut === def.out ? s2 : clone(s2, { ...def, in: newIn, out: newOut });
+ }
+ case "function": {
+ const newInput = run(def.input);
+ const newOutput = run(def.output);
+ return newInput === def.input && newOutput === def.output ? s2 : clone(s2, { ...def, input: newInput, output: newOutput });
+ }
+ case "lazy": {
+ const original = def.getter;
+ const { _cachedInner, ...rest } = def;
+ return clone(s2, { ...rest, getter: /* @__PURE__ */ __name(() => run(original()), "getter") });
+ }
+ // A leaf by choice: `parts` are regex fragments, not data positions.
+ case "template_literal":
+ // Leaves.
+ case "string":
+ case "number":
+ case "int":
+ case "boolean":
+ case "bigint":
+ case "symbol":
+ case "undefined":
+ case "null":
+ case "void":
+ case "never":
+ case "any":
+ case "unknown":
+ case "date":
+ case "nan":
+ case "enum":
+ case "literal":
+ case "file":
+ case "transform":
+ case "custom":
+ return s2;
+ default: {
+ kind;
+ return s2;
+ }
+ }
+ }
+ __name(mapInner, "mapInner");
+ return run(schema2);
+}
+__name(visit, "visit");
+
+// ../../node_modules/.pnpm/zod@4.6.7/node_modules/zod/v4/classic/deep-partial.js
+function deepPartial(schema2) {
+ return visit(schema2, {
+ object: /* @__PURE__ */ __name((s2) => s2.partial(), "object"),
+ // Every partialed option now admits `undefined`, which the constructor rejects as a duplicate.
+ union: /* @__PURE__ */ __name((s2) => {
+ const def = s2._zod.def;
+ return def.discriminator === void 0 ? s2 : union(def.options);
+ }, "union")
+ });
+}
+__name(deepPartial, "deepPartial");
+
+// ../../node_modules/.pnpm/zod@4.6.7/node_modules/zod/v4/classic/in-out.js
+function withChecks(side, checks) {
+ if (!checks?.length)
+ return side;
+ const def = side._zod.def;
+ return clone(side, mergeDefs(def, { checks: [...def.checks ?? [], ...checks] }), { parent: true });
+}
+__name(withChecks, "withChecks");
+function outSide(def) {
+ return withChecks(def.out, def.checks);
+}
+__name(outSide, "outSide");
+function inSide(def) {
+ return def.in._zod.traits.has("$ZodTransform") ? outSide(def) : def.in;
+}
+__name(inSide, "inSide");
+function input(schema2) {
+ return visit(schema2, {
+ pipe: /* @__PURE__ */ __name((s2) => inSide(s2._zod.def), "pipe"),
+ // A default value belongs to the output side, so a rewritten inner type leaves it stranded. `.default()` widens the declared input type with `undefined`, and `optional` is what carries that across.
+ default: /* @__PURE__ */ __name((s2, rewritten) => rewritten ? optional(s2._zod.def.innerType) : s2, "default"),
+ // A catch value is output-side too, but `.catch()` leaves the declared input type alone, so the inner schema stands on its own.
+ catch: /* @__PURE__ */ __name((s2, rewritten) => rewritten ? s2._zod.def.innerType : s2, "catch")
+ });
+}
+__name(input, "input");
+function output(schema2) {
+ return visit(schema2, {
+ pipe: /* @__PURE__ */ __name((s2) => outSide(s2._zod.def), "pipe"),
+ // A prefault value is fed through the schema, which makes it input-side, so a rewritten inner type leaves it stranded.
+ prefault: /* @__PURE__ */ __name((s2, rewritten) => rewritten ? s2._zod.def.innerType : s2, "prefault")
+ });
+}
+__name(output, "output");
+
+// ../../node_modules/.pnpm/zod@4.6.7/node_modules/zod/v4/classic/coerce.js
+var coerce_exports = {};
+__export(coerce_exports, {
+ bigint: () => bigint3,
+ boolean: () => boolean3,
+ date: () => date4,
+ number: () => number3,
+ string: () => string3
+});
+function string3(params) {
+ return _coercedString(ZodString, params);
+}
+__name(string3, "string");
+function number3(params) {
+ return _coercedNumber(ZodNumber, params);
+}
+__name(number3, "number");
+function boolean3(params) {
+ return _coercedBoolean(ZodBoolean, params);
+}
+__name(boolean3, "boolean");
+function bigint3(params) {
+ return _coercedBigint(ZodBigInt, params);
+}
+__name(bigint3, "bigint");
+function date4(params) {
+ return _coercedDate(ZodDate, params);
+}
+__name(date4, "date");
+
+// dist/config/env.js
+if (existsSync(".env"))
+ process.loadEnvFile(".env");
+var bool = /* @__PURE__ */ __name((fallback2) => external_exports.enum(["true", "false", "1", "0"]).optional().transform((v) => v === void 0 ? fallback2 : v === "true" || v === "1"), "bool");
+var schema = external_exports.object({
+ NODE_ENV: external_exports.enum(["development", "production", "test"]).default("development"),
+ PORT: external_exports.coerce.number().int().default(4e3),
+ CORS_ORIGINS: external_exports.string().default(""),
+ TRUST_PROXY: external_exports.coerce.number().int().min(0).default(1),
+ DATABASE_URL: external_exports.string().min(1),
+ JWT_SECRET: external_exports.string().min(32, "JWT_SECRET must be at least 32 characters"),
+ JWT_ACCESS_TTL: external_exports.string().default("15m"),
+ REFRESH_TTL_DAYS: external_exports.coerce.number().int().positive().default(30),
+ COOKIE_SECURE: bool(true),
+ S3_ENDPOINT: external_exports.string().optional(),
+ S3_REGION: external_exports.string().default("us-east-1"),
+ S3_BUCKET: external_exports.string().default("imen-media"),
+ S3_ACCESS_KEY: external_exports.string().default(""),
+ S3_SECRET_KEY: external_exports.string().default(""),
+ S3_FORCE_PATH_STYLE: bool(true),
+ S3_ENSURE_BUCKET: bool(false),
+ MEDIA_PUBLIC_URL: external_exports.string().default("/media").transform((v) => v.replace(/\/+$/, "")),
+ WEB_REVALIDATE_URL: external_exports.string().optional(),
+ REVALIDATE_SECRET: external_exports.string().optional(),
+ ADMIN_PHONE: external_exports.string().optional(),
+ ADMIN_PASSWORD: external_exports.string().optional(),
+ ADMIN_NAME: external_exports.string().default("\u0645\u062F\u06CC\u0631 \u0633\u0627\u06CC\u062A")
+});
+var parsed = schema.safeParse(process.env);
+if (!parsed.success) {
+ console.error("Invalid environment variables:\n" + external_exports.prettifyError(parsed.error));
+ process.exit(1);
+}
+var env = parsed.data;
+var isProd = env.NODE_ENV === "production";
+
+// ../../packages/shared/dist/common.js
+var req = /* @__PURE__ */ __name((max = 300) => external_exports.string().trim().min(1, "\u0627\u06CC\u0646 \u0641\u06CC\u0644\u062F \u0627\u0644\u0632\u0627\u0645\u06CC \u0627\u0633\u062A").max(max), "req");
+var text = /* @__PURE__ */ __name((max = 300) => external_exports.string().trim().max(max).default(""), "text");
+var idSchema = external_exports.coerce.number().int().positive();
+var slugSchema = external_exports.string().trim().min(1, "\u0627\u06CC\u0646 \u0641\u06CC\u0644\u062F \u0627\u0644\u0632\u0627\u0645\u06CC \u0627\u0633\u062A").max(80).regex(/^[a-z0-9]+(?:-[a-z0-9]+)*$/, "\u0641\u0642\u0637 \u062D\u0631\u0648\u0641 \u06A9\u0648\u0686\u06A9 \u0627\u0646\u06AF\u0644\u06CC\u0633\u06CC\u060C \u0639\u062F\u062F \u0648 \u062E\u0637 \u062A\u06CC\u0631\u0647 (\u0645\u062B\u0644\u0627\u064B safety-shoes)");
+var iconNameSchema = external_exports.string().trim().min(1).max(80);
+var imageRefSchema = external_exports.object({
+ url: req(500),
+ alt: text(200)
+});
+var linkSchema = external_exports.object({
+ label: req(60),
+ href: req(300)
+});
+var toIssues = /* @__PURE__ */ __name((error62) => error62.issues.map((i5) => ({ path: i5.path.map(String).join("."), message: i5.message })), "toIssues");
+
+// ../../packages/shared/dist/sections.js
+var WEEK_DAYS = [
+ "Saturday",
+ "Sunday",
+ "Monday",
+ "Tuesday",
+ "Wednesday",
+ "Thursday",
+ "Friday"
+];
+var SOCIAL_TYPES = [
+ "website",
+ "telegram",
+ "instagram",
+ "linkedin",
+ "whatsapp",
+ "bale",
+ "eitaa",
+ "aparat",
+ "youtube",
+ "email",
+ "phone"
+];
+var iconLabel = external_exports.object({ icon: iconNameSchema, label: req(80) });
+var iconCard = external_exports.object({ icon: iconNameSchema, title: req(80), desc: text(300) });
+var sectionHeadSchema = external_exports.object({
+ tag: req(80),
+ title: req(200),
+ /** optional accented last line of the title */
+ highlight: text(120),
+ desc: text(500)
+});
+var settingsSectionSchema = external_exports.object({
+ name: req(80),
+ nameEn: req(120),
+ /** default and og:title */
+ title: req(120),
+ /** default meta description */
+ description: req(400),
+ /** machine-readable phone for tel: links and schema.org, e.g. +98-21-91008800 */
+ phone: req(30),
+ phoneDisplay: req(40),
+ email: external_exports.email("\u0627\u06CC\u0645\u06CC\u0644 \u0645\u0639\u062A\u0628\u0631 \u0646\u06CC\u0633\u062A"),
+ address: external_exports.object({
+ street: req(200),
+ locality: req(80),
+ country: external_exports.string().trim().length(2).default("IR")
+ }),
+ /** human-readable working hours, e.g. «شنبه تا پنجشنبه — ۸:۰۰ تا ۱۷:۰۰» */
+ workingHours: req(120),
+ openingHours: external_exports.object({
+ days: external_exports.array(external_exports.enum(WEEK_DAYS)).max(7),
+ opens: external_exports.string().regex(/^\d{2}:\d{2}$/, "\u0642\u0627\u0644\u0628 \u0633\u0627\u0639\u062A \u0628\u0627\u06CC\u062F HH:MM \u0628\u0627\u0634\u062F"),
+ closes: external_exports.string().regex(/^\d{2}:\d{2}$/, "\u0642\u0627\u0644\u0628 \u0633\u0627\u0639\u062A \u0628\u0627\u06CC\u062F HH:MM \u0628\u0627\u0634\u062F")
+ }),
+ foundingDate: external_exports.string().regex(/^\d{4}$/, "\u0633\u0627\u0644 \u0645\u06CC\u0644\u0627\u062F\u06CC \u0686\u0647\u0627\u0631\u0631\u0642\u0645\u06CC"),
+ socials: external_exports.array(external_exports.object({ type: external_exports.enum(SOCIAL_TYPES), url: req(300) })).max(12),
+ ogImage: imageRefSchema.extend({
+ width: external_exports.number().int().positive().nullable().default(null),
+ height: external_exports.number().int().positive().nullable().default(null)
+ })
+});
+var heroSectionSchema = external_exports.object({
+ enabled: external_exports.boolean().default(true),
+ badge: req(120),
+ title: req(80),
+ titleHighlight: req(80),
+ intro: req(600),
+ primaryCta: linkSchema,
+ secondaryCta: linkSchema,
+ chips: external_exports.array(iconLabel).max(6),
+ miniStats: external_exports.array(external_exports.object({ value: req(20), label: req(80) })).max(4),
+ image: imageRefSchema,
+ /** «آخرین بازرسی» date shown on the status card */
+ lastInspection: text(20)
+});
+var tapeSectionSchema = external_exports.object({
+ enabled: external_exports.boolean().default(true),
+ items: external_exports.array(req(80)).min(1).max(20)
+});
+var statsSectionSchema = external_exports.object({
+ enabled: external_exports.boolean().default(true),
+ items: external_exports.array(external_exports.object({
+ end: external_exports.number().int().min(0).max(1e9),
+ suffix: text(5),
+ label: req(80),
+ note: text(40)
+ })).max(8)
+});
+var productsIntroSectionSchema = external_exports.object({
+ enabled: external_exports.boolean().default(true),
+ head: sectionHeadSchema,
+ ctaLabel: req(60),
+ trust: external_exports.array(iconCard).max(6)
+});
+var aboutSectionSchema = external_exports.object({
+ enabled: external_exports.boolean().default(true),
+ head: sectionHeadSchema,
+ body: req(2e3),
+ image: imageRefSchema,
+ badge: external_exports.object({ value: req(20), label: req(80) }),
+ timeline: external_exports.array(external_exports.object({ year: req(10), text: req(200) })).max(12),
+ features: external_exports.array(iconLabel).max(6)
+});
+var servicesSectionSchema = external_exports.object({
+ enabled: external_exports.boolean().default(true),
+ head: sectionHeadSchema,
+ items: external_exports.array(external_exports.object({
+ icon: iconNameSchema,
+ title: req(80),
+ desc: req(600),
+ items: external_exports.array(req(120)).max(8)
+ })).max(10)
+});
+var standardsSectionSchema = external_exports.object({
+ enabled: external_exports.boolean().default(true),
+ head: sectionHeadSchema,
+ note: text(500),
+ ctaLabel: req(80),
+ items: external_exports.array(external_exports.object({ code: req(30), label: req(80) })).max(12)
+});
+var industriesSectionSchema = external_exports.object({
+ enabled: external_exports.boolean().default(true),
+ head: sectionHeadSchema,
+ items: external_exports.array(external_exports.object({
+ name: req(60),
+ nameEn: text(60),
+ count: text(20),
+ image: imageRefSchema
+ })).max(12)
+});
+var testimonialsSectionSchema = external_exports.object({
+ enabled: external_exports.boolean().default(true),
+ head: sectionHeadSchema,
+ items: external_exports.array(external_exports.object({ text: req(600), name: req(80), role: text(160) })).max(12)
+});
+var contactSectionSchema = external_exports.object({
+ enabled: external_exports.boolean().default(true),
+ head: sectionHeadSchema,
+ emergencyTitle: req(80),
+ emergencyText: req(400),
+ formTag: text(80),
+ formTitle: req(160),
+ successTitle: req(80),
+ successText: req(300)
+});
+var footerSectionSchema = external_exports.object({
+ enabled: external_exports.boolean().default(true),
+ about: req(500),
+ copyright: req(160),
+ certLine: text(160),
+ emergencyNote: text(80)
+});
+var sectionSchemas = {
+ settings: settingsSectionSchema,
+ hero: heroSectionSchema,
+ tape: tapeSectionSchema,
+ stats: statsSectionSchema,
+ productsIntro: productsIntroSectionSchema,
+ about: aboutSectionSchema,
+ services: servicesSectionSchema,
+ standards: standardsSectionSchema,
+ industries: industriesSectionSchema,
+ testimonials: testimonialsSectionSchema,
+ contact: contactSectionSchema,
+ footer: footerSectionSchema
+};
+var SECTION_KEYS = Object.keys(sectionSchemas);
+var isSectionKey = /* @__PURE__ */ __name((key) => key in sectionSchemas, "isSectionKey");
+
+// ../../packages/shared/dist/admin.js
+var ROLES = ["ADMIN", "EDITOR"];
+var password = external_exports.string().min(8, "\u0631\u0645\u0632 \u0639\u0628\u0648\u0631 \u0628\u0627\u06CC\u062F \u062D\u062F\u0627\u0642\u0644 \u06F8 \u06A9\u0627\u0631\u0627\u06A9\u062A\u0631 \u0628\u0627\u0634\u062F").max(128);
+var FA_DIGITS = "\u06F0\u06F1\u06F2\u06F3\u06F4\u06F5\u06F6\u06F7\u06F8\u06F9";
+var AR_DIGITS = "\u0660\u0661\u0662\u0663\u0664\u0665\u0666\u0667\u0668\u0669";
+function normalizeIrMobile(raw4) {
+ let s2 = raw4.trim().replace(/[\s\-()]/g, "");
+ s2 = s2.replace(/[۰-۹٠-٩]/g, (d5) => {
+ const fa = FA_DIGITS.indexOf(d5);
+ if (fa >= 0)
+ return String(fa);
+ const ar = AR_DIGITS.indexOf(d5);
+ return ar >= 0 ? String(ar) : d5;
+ });
+ if (s2.startsWith("+98"))
+ s2 = `0${s2.slice(3)}`;
+ else if (s2.startsWith("0098"))
+ s2 = `0${s2.slice(4)}`;
+ else if (s2.startsWith("98") && s2.length === 12)
+ s2 = `0${s2.slice(2)}`;
+ return s2;
+}
+__name(normalizeIrMobile, "normalizeIrMobile");
+var irMobileSchema = external_exports.string().trim().min(1, "\u0634\u0645\u0627\u0631\u0647 \u0645\u0648\u0628\u0627\u06CC\u0644 \u0631\u0627 \u0648\u0627\u0631\u062F \u06A9\u0646\u06CC\u062F").transform(normalizeIrMobile).pipe(external_exports.string().regex(/^09\d{9}$/, "\u0634\u0645\u0627\u0631\u0647 \u0645\u0648\u0628\u0627\u06CC\u0644 \u0645\u0639\u062A\u0628\u0631 \u0646\u06CC\u0633\u062A (\u0645\u062B\u0644\u0627\u064B \u06F0\u06F9\u06F1\u06F2\u06F1\u06F2\u06F3\u06F4\u06F5\u06F6\u06F7)"));
+var loginSchema = external_exports.object({
+ phone: irMobileSchema,
+ password: external_exports.string().min(1, "\u0631\u0645\u0632 \u0639\u0628\u0648\u0631 \u0631\u0627 \u0648\u0627\u0631\u062F \u06A9\u0646\u06CC\u062F").max(128)
+});
+var changePasswordSchema = external_exports.object({
+ currentPassword: external_exports.string().min(1, "\u0631\u0645\u0632 \u0641\u0639\u0644\u06CC \u0631\u0627 \u0648\u0627\u0631\u062F \u06A9\u0646\u06CC\u062F").max(128),
+ newPassword: password
+});
+var userCreateSchema = external_exports.object({
+ phone: irMobileSchema,
+ name: req(80),
+ role: external_exports.enum(ROLES),
+ password
+});
+var userUpdateSchema = external_exports.object({
+ name: req(80),
+ role: external_exports.enum(ROLES),
+ isActive: external_exports.boolean(),
+ /** set only when resetting the password */
+ password: password.optional()
+});
+var MESSAGE_STATUSES = ["NEW", "READ", "ARCHIVED"];
+var contactInputSchema = external_exports.object({
+ name: req(80),
+ org: req(120),
+ phone: external_exports.string().trim().min(1, "\u0627\u06CC\u0646 \u0641\u06CC\u0644\u062F \u0627\u0644\u0632\u0627\u0645\u06CC \u0627\u0633\u062A").max(30).regex(/^[0-9۰-۹+\-\s()]{5,30}$/, "\u0634\u0645\u0627\u0631\u0647 \u062A\u0645\u0627\u0633 \u0645\u0639\u062A\u0628\u0631 \u0646\u06CC\u0633\u062A"),
+ message: text(2e3),
+ /** honeypot — real visitors never fill it */
+ website: external_exports.string().max(200).optional()
+});
+var messageUpdateSchema = external_exports.object({
+ status: external_exports.enum(MESSAGE_STATUSES)
+});
+var mediaUpdateSchema = external_exports.object({ alt: text(200) });
+
+// ../../packages/shared/dist/icons.js
+var ICON_ALIASES = {
+ // Navigation & Actions
+ ArrowLeft: "arrow-left",
+ ArrowRight: "arrow-right",
+ ArrowUp: "arrow-up",
+ ArrowDown: "arrow-down",
+ ChevronDown: "arrow-down-1",
+ ChevronUp: "arrow-up-1",
+ ChevronLeft: "arrow-left-1",
+ ChevronRight: "arrow-right-1",
+ Menu: "menu",
+ X: "close-circle",
+ Plus: "add",
+ Trash: "trash",
+ Edit: "edit-2",
+ Copy: "copy",
+ Check: "tick-circle",
+ Search: "search-normal",
+ Filter: "filter",
+ Eye: "eye",
+ EyeOff: "eye-slash",
+ ImageOff: "gallery-slash",
+ Quote: "quote-up",
+ // Contact & Social
+ Phone: "call",
+ Mail: "sms",
+ MapPin: "location",
+ Clock: "clock",
+ Globe: "global",
+ Send: "send-2",
+ Instagram: "instagram",
+ Linkedin: "link",
+ MessageCircle: "messages-2",
+ Youtube: "video-play",
+ AtSign: "sms",
+ // Equipment & Safety Categories
+ HardHat: "security-safe",
+ Glasses: "glass",
+ Shirt: "tag",
+ Footprints: "routing-2",
+ Hand: "shield-tick",
+ Ear: "volume-high",
+ Wind: "wind-2",
+ TriangleAlert: "danger",
+ Siren: "lamp-on",
+ TrafficCone: "danger",
+ Construction: "setting-2",
+ Factory: "building-4",
+ Building2: "buildings-2",
+ Fuel: "gas-station",
+ Pickaxe: "hierarchy",
+ Flame: "flash",
+ Zap: "flash-circle",
+ Leaf: "tree",
+ HeartPulse: "heart-tick",
+ Star: "star",
+ ThumbsUp: "like-1",
+ Target: "radar-2",
+ Lock: "lock",
+ // Trust, Certifications & Standards
+ ShieldCheck: "shield-tick",
+ ShieldPlus: "shield-security",
+ ShieldAlert: "shield-cross",
+ BadgeCheck: "verify",
+ Award: "award",
+ Medal: "medal-star",
+ PackageCheck: "box-tick",
+ Package: "box",
+ Truck: "truck-time",
+ Warehouse: "buildings",
+ Users: "people",
+ Handshake: "user-tag",
+ Headset: "24-support",
+ ClipboardCheck: "clipboard-tick",
+ FileCheck: "document-text",
+ FileSearch: "document-filter",
+ GraduationCap: "teacher",
+ Gauge: "status",
+ Microscope: "search-status",
+ Wrench: "setting-4"
+};
+var RECOMMENDED_ICONS = [
+ "shield-tick",
+ "shield-security",
+ "shield-cross",
+ "security-safe",
+ "security-user",
+ "verify",
+ "award",
+ "medal-star",
+ "box-tick",
+ "box",
+ "truck-time",
+ "buildings",
+ "building-4",
+ "buildings-2",
+ "global",
+ "people",
+ "user-tag",
+ "24-support",
+ "call",
+ "sms",
+ "location",
+ "clock",
+ "clipboard-tick",
+ "document-text",
+ "document-filter",
+ "teacher",
+ "status",
+ "search-status",
+ "setting-2",
+ "setting-4",
+ "glass",
+ "tag",
+ "routing-2",
+ "volume-high",
+ "wind-2",
+ "danger",
+ "lamp-on",
+ "gas-station",
+ "hierarchy",
+ "flash",
+ "flash-circle",
+ "tree",
+ "heart-tick",
+ "star",
+ "like-1",
+ "radar-2",
+ "lock",
+ "eye",
+ "gallery",
+ "video-play"
+];
+var ICON_NAMES = [
+ ...RECOMMENDED_ICONS,
+ ...Object.keys(ICON_ALIASES)
+];
+
+// ../../packages/shared/dist/catalog.js
+var shortList = external_exports.array(external_exports.string().trim().min(1).max(120)).max(20).default([]);
+var productAttributeSchema = external_exports.object({
+ name: req(80),
+ value: req(300)
+});
+var productGroupInputSchema = external_exports.object({
+ /** present when editing an existing group */
+ id: idSchema.optional(),
+ slug: slugSchema,
+ name: req(120),
+ desc: text(1e3)
+});
+var categoryInputSchema = external_exports.object({
+ slug: slugSchema,
+ code: req(20),
+ name: req(120),
+ nameEn: text(120),
+ shortDesc: text(500),
+ fullDesc: text(3e3),
+ icon: text(40),
+ coverImageId: idSchema.nullable().default(null),
+ isPublished: external_exports.boolean().default(true),
+ seoTitle: text(120),
+ seoDescription: text(300),
+ groups: external_exports.array(productGroupInputSchema).max(30).default([])
+});
+var productInputSchema = external_exports.object({
+ categoryId: idSchema,
+ groupId: idSchema.nullable().default(null),
+ code: req(30),
+ slug: slugSchema,
+ name: req(160),
+ nameEn: text(160),
+ desc: text(2e3),
+ specs: shortList,
+ variants: shortList,
+ details: text(8e3),
+ brand: text(80),
+ origin: text(80),
+ sizes: shortList,
+ standards: shortList,
+ features: external_exports.array(external_exports.string().trim().min(1).max(300)).max(30).default([]),
+ applications: shortList,
+ attributes: external_exports.array(productAttributeSchema).max(40).default([]),
+ packaging: text(200),
+ minOrder: text(120),
+ seoTitle: text(120),
+ seoDescription: text(300),
+ imageId: idSchema.nullable().default(null),
+ galleryIds: external_exports.array(idSchema).max(12).default([]),
+ isPublished: external_exports.boolean().default(true)
+});
+var reorderSchema = external_exports.object({
+ ids: external_exports.array(idSchema).min(1).max(1e3)
+});
+var productListQuerySchema = external_exports.object({
+ categoryId: idSchema.optional(),
+ groupId: idSchema.optional(),
+ q: external_exports.string().trim().max(100).optional(),
+ status: external_exports.enum(["published", "draft"]).optional(),
+ page: external_exports.coerce.number().int().min(1).default(1),
+ pageSize: external_exports.coerce.number().int().min(1).max(200).default(50)
+});
+
+// dist/prisma/prisma.service.js
+init_common();
+
+// ../../node_modules/.pnpm/@prisma+debug@7.10.1/node_modules/@prisma/debug/dist/index.mjs
+var __defProp = Object.defineProperty;
+var __export2 = /* @__PURE__ */ __name((target, all) => {
+ for (var name2 in all)
+ __defProp(target, name2, { get: all[name2], enumerable: true });
+}, "__export");
+var colors_exports = {};
+__export2(colors_exports, {
+ $: /* @__PURE__ */ __name(() => $, "$"),
+ bgBlack: /* @__PURE__ */ __name(() => bgBlack, "bgBlack"),
+ bgBlue: /* @__PURE__ */ __name(() => bgBlue, "bgBlue"),
+ bgCyan: /* @__PURE__ */ __name(() => bgCyan, "bgCyan"),
+ bgGreen: /* @__PURE__ */ __name(() => bgGreen, "bgGreen"),
+ bgMagenta: /* @__PURE__ */ __name(() => bgMagenta, "bgMagenta"),
+ bgRed: /* @__PURE__ */ __name(() => bgRed, "bgRed"),
+ bgWhite: /* @__PURE__ */ __name(() => bgWhite, "bgWhite"),
+ bgYellow: /* @__PURE__ */ __name(() => bgYellow, "bgYellow"),
+ black: /* @__PURE__ */ __name(() => black, "black"),
+ blue: /* @__PURE__ */ __name(() => blue, "blue"),
+ bold: /* @__PURE__ */ __name(() => bold, "bold"),
+ cyan: /* @__PURE__ */ __name(() => cyan, "cyan"),
+ dim: /* @__PURE__ */ __name(() => dim, "dim"),
+ gray: /* @__PURE__ */ __name(() => gray, "gray"),
+ green: /* @__PURE__ */ __name(() => green, "green"),
+ grey: /* @__PURE__ */ __name(() => grey, "grey"),
+ hidden: /* @__PURE__ */ __name(() => hidden, "hidden"),
+ inverse: /* @__PURE__ */ __name(() => inverse, "inverse"),
+ italic: /* @__PURE__ */ __name(() => italic, "italic"),
+ magenta: /* @__PURE__ */ __name(() => magenta, "magenta"),
+ red: /* @__PURE__ */ __name(() => red, "red"),
+ reset: /* @__PURE__ */ __name(() => reset, "reset"),
+ strikethrough: /* @__PURE__ */ __name(() => strikethrough, "strikethrough"),
+ underline: /* @__PURE__ */ __name(() => underline, "underline"),
+ white: /* @__PURE__ */ __name(() => white, "white"),
+ yellow: /* @__PURE__ */ __name(() => yellow, "yellow")
+});
+var FORCE_COLOR;
+var NODE_DISABLE_COLORS;
+var NO_COLOR;
+var TERM;
+var isTTY = true;
+if (typeof process !== "undefined") {
+ ({ FORCE_COLOR, NODE_DISABLE_COLORS, NO_COLOR, TERM } = process.env || {});
+ isTTY = process.stdout && process.stdout.isTTY;
+}
+var $ = {
+ enabled: !NODE_DISABLE_COLORS && NO_COLOR == null && TERM !== "dumb" && (FORCE_COLOR != null && FORCE_COLOR !== "0" || isTTY)
+};
+function init(x, y) {
+ let rgx = new RegExp(`\\x1b\\[${y}m`, "g");
+ let open2 = `\x1B[${x}m`, close = `\x1B[${y}m`;
+ return function(txt) {
+ if (!$.enabled || txt == null) return txt;
+ return open2 + (!!~("" + txt).indexOf(close) ? txt.replace(rgx, close + open2) : txt) + close;
+ };
+}
+__name(init, "init");
+var reset = init(0, 0);
+var bold = init(1, 22);
+var dim = init(2, 22);
+var italic = init(3, 23);
+var underline = init(4, 24);
+var inverse = init(7, 27);
+var hidden = init(8, 28);
+var strikethrough = init(9, 29);
+var black = init(30, 39);
+var red = init(31, 39);
+var green = init(32, 39);
+var yellow = init(33, 39);
+var blue = init(34, 39);
+var magenta = init(35, 39);
+var cyan = init(36, 39);
+var white = init(37, 39);
+var gray = init(90, 39);
+var grey = init(90, 39);
+var bgBlack = init(40, 49);
+var bgRed = init(41, 49);
+var bgGreen = init(42, 49);
+var bgYellow = init(43, 49);
+var bgBlue = init(44, 49);
+var bgMagenta = init(45, 49);
+var bgCyan = init(46, 49);
+var bgWhite = init(47, 49);
+var MAX_ARGS_HISTORY = 100;
+var COLORS = ["green", "yellow", "blue", "magenta", "cyan", "red"];
+var argsHistory = [];
+var lastTimestamp = Date.now();
+var lastColor = 0;
+var processEnv = typeof process !== "undefined" ? process.env : {};
+globalThis.DEBUG ??= processEnv.DEBUG ?? "";
+globalThis.DEBUG_COLORS ??= processEnv.DEBUG_COLORS ? processEnv.DEBUG_COLORS === "true" : true;
+var topProps = {
+ enable(namespace) {
+ if (typeof namespace === "string") {
+ globalThis.DEBUG = namespace;
+ }
+ },
+ disable() {
+ const prev = globalThis.DEBUG;
+ globalThis.DEBUG = "";
+ return prev;
+ },
+ // this is the core logic to check if logging should happen or not
+ enabled(namespace) {
+ const listenedNamespaces = globalThis.DEBUG.split(",").map((s2) => {
+ return s2.replace(/[.+?^${}()|[\]\\]/g, "\\$&");
+ });
+ const isListened = listenedNamespaces.some((listenedNamespace) => {
+ if (listenedNamespace === "" || listenedNamespace[0] === "-") return false;
+ return namespace.match(RegExp(listenedNamespace.split("*").join(".*") + "$"));
+ });
+ const isExcluded = listenedNamespaces.some((listenedNamespace) => {
+ if (listenedNamespace === "" || listenedNamespace[0] !== "-") return false;
+ return namespace.match(RegExp(listenedNamespace.slice(1).split("*").join(".*") + "$"));
+ });
+ return isListened && !isExcluded;
+ },
+ log: /* @__PURE__ */ __name((...args) => {
+ const [namespace, format, ...rest] = args;
+ const logWithFormatting = console.warn ?? console.log;
+ logWithFormatting(`${namespace} ${format}`, ...rest);
+ }, "log"),
+ formatters: {}
+ // not implemented
+};
+function debugCreate(namespace) {
+ const instanceProps = {
+ color: COLORS[lastColor++ % COLORS.length],
+ enabled: topProps.enabled(namespace),
+ namespace,
+ log: topProps.log,
+ extend: /* @__PURE__ */ __name(() => {
+ }, "extend")
+ // not implemented
+ };
+ const debugCall = /* @__PURE__ */ __name((...args) => {
+ const { enabled, namespace: namespace2, color, log } = instanceProps;
+ if (args.length !== 0) {
+ argsHistory.push([namespace2, ...args]);
+ }
+ if (argsHistory.length > MAX_ARGS_HISTORY) {
+ argsHistory.shift();
+ }
+ if (topProps.enabled(namespace2) || enabled) {
+ const stringArgs = args.map((arg) => {
+ if (typeof arg === "string") {
+ return arg;
+ }
+ return safeStringify(arg);
+ });
+ const ms = `+${Date.now() - lastTimestamp}ms`;
+ lastTimestamp = Date.now();
+ if (globalThis.DEBUG_COLORS) {
+ log(colors_exports[color](bold(namespace2)), ...stringArgs, colors_exports[color](ms));
+ } else {
+ log(namespace2, ...stringArgs, ms);
+ }
+ }
+ }, "debugCall");
+ return new Proxy(debugCall, {
+ get: /* @__PURE__ */ __name((_, prop) => instanceProps[prop], "get"),
+ set: /* @__PURE__ */ __name((_, prop, value) => instanceProps[prop] = value, "set")
+ });
+}
+__name(debugCreate, "debugCreate");
+var Debug2 = new Proxy(debugCreate, {
+ get: /* @__PURE__ */ __name((_, prop) => topProps[prop], "get"),
+ set: /* @__PURE__ */ __name((_, prop, value) => topProps[prop] = value, "set")
+});
+function safeStringify(value, indent = 2) {
+ const cache5 = /* @__PURE__ */ new Set();
+ return JSON.stringify(
+ value,
+ (key, value2) => {
+ if (typeof value2 === "object" && value2 !== null) {
+ if (cache5.has(value2)) {
+ return `[Circular *]`;
+ }
+ cache5.add(value2);
+ } else if (typeof value2 === "bigint") {
+ return value2.toString();
+ }
+ return value2;
+ },
+ indent
+ );
+}
+__name(safeStringify, "safeStringify");
+
+// ../../node_modules/.pnpm/@prisma+driver-adapter-utils@7.10.1/node_modules/@prisma/driver-adapter-utils/dist/index.mjs
+var DriverAdapterError = class extends Error {
+ static {
+ __name(this, "DriverAdapterError");
+ }
+ name = "DriverAdapterError";
+ cause;
+ constructor(payload) {
+ super(typeof payload["message"] === "string" ? payload["message"] : payload.kind);
+ this.cause = payload;
+ }
+};
+var debug = Debug2("driver-adapter-utils");
+var ColumnTypeEnum = {
+ // Scalars
+ Int32: 0,
+ Int64: 1,
+ Float: 2,
+ Double: 3,
+ Numeric: 4,
+ Boolean: 5,
+ Character: 6,
+ Text: 7,
+ Date: 8,
+ Time: 9,
+ DateTime: 10,
+ Json: 11,
+ Enum: 12,
+ Bytes: 13,
+ Set: 14,
+ Uuid: 15,
+ // Arrays
+ Int32Array: 64,
+ Int64Array: 65,
+ FloatArray: 66,
+ DoubleArray: 67,
+ NumericArray: 68,
+ BooleanArray: 69,
+ CharacterArray: 70,
+ TextArray: 71,
+ DateArray: 72,
+ TimeArray: 73,
+ DateTimeArray: 74,
+ JsonArray: 75,
+ EnumArray: 76,
+ BytesArray: 77,
+ UuidArray: 78,
+ // Custom
+ UnknownNumber: 128
+};
+var mockAdapterErrors = {
+ queryRaw: new Error("Not implemented: queryRaw"),
+ executeRaw: new Error("Not implemented: executeRaw"),
+ startTransaction: new Error("Not implemented: startTransaction"),
+ executeScript: new Error("Not implemented: executeScript"),
+ dispose: new Error("Not implemented: dispose")
+};
+
+// ../../node_modules/.pnpm/@prisma+adapter-pg@7.10.1/node_modules/@prisma/adapter-pg/dist/index.mjs
+var import_postgres_array = __toESM(require_postgres_array(), 1);
+var name = "@prisma/adapter-pg";
+var FIRST_NORMAL_OBJECT_ID = 16384;
+var { types } = esm_default;
+var { builtins: ScalarColumnType, getTypeParser } = types;
+var AdditionalScalarColumnType = {
+ NAME: 19
+};
+var ArrayColumnType = {
+ BIT_ARRAY: 1561,
+ BOOL_ARRAY: 1e3,
+ BYTEA_ARRAY: 1001,
+ BPCHAR_ARRAY: 1014,
+ CHAR_ARRAY: 1002,
+ CIDR_ARRAY: 651,
+ DATE_ARRAY: 1182,
+ FLOAT4_ARRAY: 1021,
+ FLOAT8_ARRAY: 1022,
+ INET_ARRAY: 1041,
+ INT2_ARRAY: 1005,
+ INT4_ARRAY: 1007,
+ INT8_ARRAY: 1016,
+ JSONB_ARRAY: 3807,
+ JSON_ARRAY: 199,
+ MONEY_ARRAY: 791,
+ NUMERIC_ARRAY: 1231,
+ OID_ARRAY: 1028,
+ TEXT_ARRAY: 1009,
+ TIMESTAMP_ARRAY: 1115,
+ TIMESTAMPTZ_ARRAY: 1185,
+ TIME_ARRAY: 1183,
+ UUID_ARRAY: 2951,
+ VARBIT_ARRAY: 1563,
+ VARCHAR_ARRAY: 1015,
+ XML_ARRAY: 143
+};
+var UnsupportedNativeDataType = class _UnsupportedNativeDataType extends Error {
+ static {
+ __name(this, "_UnsupportedNativeDataType");
+ }
+ // map of type codes to type names
+ static typeNames = {
+ 16: "bool",
+ 17: "bytea",
+ 18: "char",
+ 19: "name",
+ 20: "int8",
+ 21: "int2",
+ 22: "int2vector",
+ 23: "int4",
+ 24: "regproc",
+ 25: "text",
+ 26: "oid",
+ 27: "tid",
+ 28: "xid",
+ 29: "cid",
+ 30: "oidvector",
+ 32: "pg_ddl_command",
+ 71: "pg_type",
+ 75: "pg_attribute",
+ 81: "pg_proc",
+ 83: "pg_class",
+ 114: "json",
+ 142: "xml",
+ 194: "pg_node_tree",
+ 269: "table_am_handler",
+ 325: "index_am_handler",
+ 600: "point",
+ 601: "lseg",
+ 602: "path",
+ 603: "box",
+ 604: "polygon",
+ 628: "line",
+ 650: "cidr",
+ 700: "float4",
+ 701: "float8",
+ 705: "unknown",
+ 718: "circle",
+ 774: "macaddr8",
+ 790: "money",
+ 829: "macaddr",
+ 869: "inet",
+ 1033: "aclitem",
+ 1042: "bpchar",
+ 1043: "varchar",
+ 1082: "date",
+ 1083: "time",
+ 1114: "timestamp",
+ 1184: "timestamptz",
+ 1186: "interval",
+ 1266: "timetz",
+ 1560: "bit",
+ 1562: "varbit",
+ 1700: "numeric",
+ 1790: "refcursor",
+ 2202: "regprocedure",
+ 2203: "regoper",
+ 2204: "regoperator",
+ 2205: "regclass",
+ 2206: "regtype",
+ 2249: "record",
+ 2275: "cstring",
+ 2276: "any",
+ 2277: "anyarray",
+ 2278: "void",
+ 2279: "trigger",
+ 2280: "language_handler",
+ 2281: "internal",
+ 2283: "anyelement",
+ 2287: "_record",
+ 2776: "anynonarray",
+ 2950: "uuid",
+ 2970: "txid_snapshot",
+ 3115: "fdw_handler",
+ 3220: "pg_lsn",
+ 3310: "tsm_handler",
+ 3361: "pg_ndistinct",
+ 3402: "pg_dependencies",
+ 3500: "anyenum",
+ 3614: "tsvector",
+ 3615: "tsquery",
+ 3642: "gtsvector",
+ 3734: "regconfig",
+ 3769: "regdictionary",
+ 3802: "jsonb",
+ 3831: "anyrange",
+ 3838: "event_trigger",
+ 3904: "int4range",
+ 3906: "numrange",
+ 3908: "tsrange",
+ 3910: "tstzrange",
+ 3912: "daterange",
+ 3926: "int8range",
+ 4072: "jsonpath",
+ 4089: "regnamespace",
+ 4096: "regrole",
+ 4191: "regcollation",
+ 4451: "int4multirange",
+ 4532: "nummultirange",
+ 4533: "tsmultirange",
+ 4534: "tstzmultirange",
+ 4535: "datemultirange",
+ 4536: "int8multirange",
+ 4537: "anymultirange",
+ 4538: "anycompatiblemultirange",
+ 4600: "pg_brin_bloom_summary",
+ 4601: "pg_brin_minmax_multi_summary",
+ 5017: "pg_mcv_list",
+ 5038: "pg_snapshot",
+ 5069: "xid8",
+ 5077: "anycompatible",
+ 5078: "anycompatiblearray",
+ 5079: "anycompatiblenonarray",
+ 5080: "anycompatiblerange"
+ };
+ type;
+ constructor(code) {
+ super();
+ this.type = _UnsupportedNativeDataType.typeNames[code] || "Unknown";
+ this.message = `Unsupported column type ${this.type}`;
+ }
+};
+function fieldToColumnType(fieldTypeId) {
+ switch (fieldTypeId) {
+ case ScalarColumnType.INT2:
+ case ScalarColumnType.INT4:
+ return ColumnTypeEnum.Int32;
+ case ScalarColumnType.INT8:
+ return ColumnTypeEnum.Int64;
+ case ScalarColumnType.FLOAT4:
+ return ColumnTypeEnum.Float;
+ case ScalarColumnType.FLOAT8:
+ return ColumnTypeEnum.Double;
+ case ScalarColumnType.BOOL:
+ return ColumnTypeEnum.Boolean;
+ case ScalarColumnType.DATE:
+ return ColumnTypeEnum.Date;
+ case ScalarColumnType.TIME:
+ case ScalarColumnType.TIMETZ:
+ return ColumnTypeEnum.Time;
+ case ScalarColumnType.TIMESTAMP:
+ case ScalarColumnType.TIMESTAMPTZ:
+ return ColumnTypeEnum.DateTime;
+ case ScalarColumnType.NUMERIC:
+ case ScalarColumnType.MONEY:
+ return ColumnTypeEnum.Numeric;
+ case ScalarColumnType.JSON:
+ case ScalarColumnType.JSONB:
+ return ColumnTypeEnum.Json;
+ case ScalarColumnType.UUID:
+ return ColumnTypeEnum.Uuid;
+ case ScalarColumnType.OID:
+ return ColumnTypeEnum.Int64;
+ case ScalarColumnType.BPCHAR:
+ case ScalarColumnType.TEXT:
+ case ScalarColumnType.VARCHAR:
+ case ScalarColumnType.BIT:
+ case ScalarColumnType.VARBIT:
+ case ScalarColumnType.INET:
+ case ScalarColumnType.CIDR:
+ case ScalarColumnType.XML:
+ case AdditionalScalarColumnType.NAME:
+ return ColumnTypeEnum.Text;
+ case ScalarColumnType.BYTEA:
+ return ColumnTypeEnum.Bytes;
+ case ArrayColumnType.INT2_ARRAY:
+ case ArrayColumnType.INT4_ARRAY:
+ return ColumnTypeEnum.Int32Array;
+ case ArrayColumnType.FLOAT4_ARRAY:
+ return ColumnTypeEnum.FloatArray;
+ case ArrayColumnType.FLOAT8_ARRAY:
+ return ColumnTypeEnum.DoubleArray;
+ case ArrayColumnType.NUMERIC_ARRAY:
+ case ArrayColumnType.MONEY_ARRAY:
+ return ColumnTypeEnum.NumericArray;
+ case ArrayColumnType.BOOL_ARRAY:
+ return ColumnTypeEnum.BooleanArray;
+ case ArrayColumnType.CHAR_ARRAY:
+ return ColumnTypeEnum.CharacterArray;
+ case ArrayColumnType.BPCHAR_ARRAY:
+ case ArrayColumnType.TEXT_ARRAY:
+ case ArrayColumnType.VARCHAR_ARRAY:
+ case ArrayColumnType.VARBIT_ARRAY:
+ case ArrayColumnType.BIT_ARRAY:
+ case ArrayColumnType.INET_ARRAY:
+ case ArrayColumnType.CIDR_ARRAY:
+ case ArrayColumnType.XML_ARRAY:
+ return ColumnTypeEnum.TextArray;
+ case ArrayColumnType.DATE_ARRAY:
+ return ColumnTypeEnum.DateArray;
+ case ArrayColumnType.TIME_ARRAY:
+ return ColumnTypeEnum.TimeArray;
+ case ArrayColumnType.TIMESTAMP_ARRAY:
+ return ColumnTypeEnum.DateTimeArray;
+ case ArrayColumnType.TIMESTAMPTZ_ARRAY:
+ return ColumnTypeEnum.DateTimeArray;
+ case ArrayColumnType.JSON_ARRAY:
+ case ArrayColumnType.JSONB_ARRAY:
+ return ColumnTypeEnum.JsonArray;
+ case ArrayColumnType.BYTEA_ARRAY:
+ return ColumnTypeEnum.BytesArray;
+ case ArrayColumnType.UUID_ARRAY:
+ return ColumnTypeEnum.UuidArray;
+ case ArrayColumnType.INT8_ARRAY:
+ case ArrayColumnType.OID_ARRAY:
+ return ColumnTypeEnum.Int64Array;
+ default:
+ if (fieldTypeId >= FIRST_NORMAL_OBJECT_ID) {
+ return ColumnTypeEnum.Text;
+ }
+ throw new UnsupportedNativeDataType(fieldTypeId);
+ }
+}
+__name(fieldToColumnType, "fieldToColumnType");
+function normalize_array(element_normalizer) {
+ return (str) => (0, import_postgres_array.parse)(str, element_normalizer);
+}
+__name(normalize_array, "normalize_array");
+function normalize_numeric(numeric) {
+ return numeric;
+}
+__name(normalize_numeric, "normalize_numeric");
+function normalize_date(date5) {
+ return date5;
+}
+__name(normalize_date, "normalize_date");
+function normalize_timestamp(time3) {
+ return `${time3.replace(" ", "T")}+00:00`;
+}
+__name(normalize_timestamp, "normalize_timestamp");
+function normalize_timestamptz(time3) {
+ return time3.replace(" ", "T").replace(/[+-]\d{2}(:\d{2})?$/, "+00:00");
+}
+__name(normalize_timestamptz, "normalize_timestamptz");
+function normalize_time(time3) {
+ return time3;
+}
+__name(normalize_time, "normalize_time");
+function normalize_timez(time3) {
+ return time3.replace(/[+-]\d{2}(:\d{2})?$/, "");
+}
+__name(normalize_timez, "normalize_timez");
+function normalize_money(money) {
+ return money.slice(1);
+}
+__name(normalize_money, "normalize_money");
+function normalize_xml(xml) {
+ return xml;
+}
+__name(normalize_xml, "normalize_xml");
+function toJson(json2) {
+ return json2;
+}
+__name(toJson, "toJson");
+var parsePgBytes = getTypeParser(ScalarColumnType.BYTEA);
+var normalizeByteaArray = getTypeParser(ArrayColumnType.BYTEA_ARRAY);
+function convertBytes(serializedBytes) {
+ return parsePgBytes(serializedBytes);
+}
+__name(convertBytes, "convertBytes");
+function normalizeBit(bit) {
+ return bit;
+}
+__name(normalizeBit, "normalizeBit");
+var customParsers = {
+ [ScalarColumnType.NUMERIC]: normalize_numeric,
+ [ArrayColumnType.NUMERIC_ARRAY]: normalize_array(normalize_numeric),
+ [ScalarColumnType.TIME]: normalize_time,
+ [ArrayColumnType.TIME_ARRAY]: normalize_array(normalize_time),
+ [ScalarColumnType.TIMETZ]: normalize_timez,
+ [ScalarColumnType.DATE]: normalize_date,
+ [ArrayColumnType.DATE_ARRAY]: normalize_array(normalize_date),
+ [ScalarColumnType.TIMESTAMP]: normalize_timestamp,
+ [ArrayColumnType.TIMESTAMP_ARRAY]: normalize_array(normalize_timestamp),
+ [ScalarColumnType.TIMESTAMPTZ]: normalize_timestamptz,
+ [ArrayColumnType.TIMESTAMPTZ_ARRAY]: normalize_array(normalize_timestamptz),
+ [ScalarColumnType.MONEY]: normalize_money,
+ [ArrayColumnType.MONEY_ARRAY]: normalize_array(normalize_money),
+ [ScalarColumnType.JSON]: toJson,
+ [ArrayColumnType.JSON_ARRAY]: normalize_array(toJson),
+ [ScalarColumnType.JSONB]: toJson,
+ [ArrayColumnType.JSONB_ARRAY]: normalize_array(toJson),
+ [ScalarColumnType.BYTEA]: convertBytes,
+ [ArrayColumnType.BYTEA_ARRAY]: normalizeByteaArray,
+ [ArrayColumnType.BIT_ARRAY]: normalize_array(normalizeBit),
+ [ArrayColumnType.VARBIT_ARRAY]: normalize_array(normalizeBit),
+ [ArrayColumnType.XML_ARRAY]: normalize_array(normalize_xml)
+};
+function mapArg(arg, argType) {
+ if (arg === null) {
+ return null;
+ }
+ if (Array.isArray(arg) && argType.arity === "list") {
+ return arg.map((value) => mapArg(value, argType));
+ }
+ if (typeof arg === "string" && argType.scalarType === "datetime") {
+ arg = new Date(arg);
+ }
+ if (arg instanceof Date) {
+ switch (argType.dbType) {
+ case "TIME":
+ case "TIMETZ":
+ return formatTime(arg);
+ case "DATE":
+ return formatDate(arg);
+ default:
+ return formatDateTime(arg);
+ }
+ }
+ if (typeof arg === "string" && argType.scalarType === "bytes") {
+ return Buffer.from(arg, "base64");
+ }
+ if (ArrayBuffer.isView(arg)) {
+ return new Uint8Array(arg.buffer, arg.byteOffset, arg.byteLength);
+ }
+ return arg;
+}
+__name(mapArg, "mapArg");
+function formatDateTime(date5) {
+ const pad = /* @__PURE__ */ __name((n3, z2 = 2) => String(n3).padStart(z2, "0"), "pad");
+ const ms = date5.getUTCMilliseconds();
+ return pad(date5.getUTCFullYear(), 4) + "-" + pad(date5.getUTCMonth() + 1) + "-" + pad(date5.getUTCDate()) + " " + pad(date5.getUTCHours()) + ":" + pad(date5.getUTCMinutes()) + ":" + pad(date5.getUTCSeconds()) + (ms ? "." + String(ms).padStart(3, "0") : "");
+}
+__name(formatDateTime, "formatDateTime");
+function formatDate(date5) {
+ const pad = /* @__PURE__ */ __name((n3, z2 = 2) => String(n3).padStart(z2, "0"), "pad");
+ return pad(date5.getUTCFullYear(), 4) + "-" + pad(date5.getUTCMonth() + 1) + "-" + pad(date5.getUTCDate());
+}
+__name(formatDate, "formatDate");
+function formatTime(date5) {
+ const pad = /* @__PURE__ */ __name((n3, z2 = 2) => String(n3).padStart(z2, "0"), "pad");
+ const ms = date5.getUTCMilliseconds();
+ return pad(date5.getUTCHours()) + ":" + pad(date5.getUTCMinutes()) + ":" + pad(date5.getUTCSeconds()) + (ms ? "." + String(ms).padStart(3, "0") : "");
+}
+__name(formatTime, "formatTime");
+var TLS_ERRORS = /* @__PURE__ */ new Set([
+ "UNABLE_TO_GET_ISSUER_CERT",
+ "UNABLE_TO_GET_CRL",
+ "UNABLE_TO_DECRYPT_CERT_SIGNATURE",
+ "UNABLE_TO_DECRYPT_CRL_SIGNATURE",
+ "UNABLE_TO_DECODE_ISSUER_PUBLIC_KEY",
+ "CERT_SIGNATURE_FAILURE",
+ "CRL_SIGNATURE_FAILURE",
+ "CERT_NOT_YET_VALID",
+ "CERT_HAS_EXPIRED",
+ "CRL_NOT_YET_VALID",
+ "CRL_HAS_EXPIRED",
+ "ERROR_IN_CERT_NOT_BEFORE_FIELD",
+ "ERROR_IN_CERT_NOT_AFTER_FIELD",
+ "ERROR_IN_CRL_LAST_UPDATE_FIELD",
+ "ERROR_IN_CRL_NEXT_UPDATE_FIELD",
+ "DEPTH_ZERO_SELF_SIGNED_CERT",
+ "SELF_SIGNED_CERT_IN_CHAIN",
+ "UNABLE_TO_GET_ISSUER_CERT_LOCALLY",
+ "UNABLE_TO_VERIFY_LEAF_SIGNATURE",
+ "CERT_CHAIN_TOO_LONG",
+ "CERT_REVOKED",
+ "INVALID_CA",
+ "INVALID_PURPOSE",
+ "CERT_UNTRUSTED",
+ "CERT_REJECTED",
+ "HOSTNAME_MISMATCH",
+ "ERR_TLS_CERT_ALTNAME_FORMAT",
+ "ERR_TLS_CERT_ALTNAME_INVALID"
+]);
+var SOCKET_ERRORS = /* @__PURE__ */ new Set(["ENOTFOUND", "ECONNREFUSED", "ECONNRESET", "ETIMEDOUT"]);
+function convertDriverError(error62) {
+ if (isSocketError(error62)) {
+ return mapSocketError(error62);
+ }
+ if (isTlsError(error62)) {
+ return {
+ kind: "TlsConnectionError",
+ reason: error62.message
+ };
+ }
+ if (isDriverError(error62)) {
+ return {
+ originalCode: error62.code,
+ originalMessage: error62.message,
+ ...mapDriverError(error62)
+ };
+ }
+ throw error62;
+}
+__name(convertDriverError, "convertDriverError");
+function mapDriverError(error62) {
+ switch (error62.code) {
+ case "22001":
+ return {
+ kind: "LengthMismatch",
+ column: error62.column
+ };
+ case "22003":
+ return {
+ kind: "ValueOutOfRange",
+ cause: error62.message
+ };
+ case "22P02":
+ return {
+ kind: "InvalidInputValue",
+ message: error62.message
+ };
+ case "23505": {
+ const fields = error62.detail?.match(/Key \(([^)]+)\)/)?.at(1)?.split(", ");
+ let constraint;
+ if (error62.constraint) {
+ constraint = { index: error62.constraint };
+ } else if (fields !== void 0) {
+ constraint = { fields };
+ }
+ let table = error62.table;
+ if (table === void 0 && fields !== void 0 && fields.length > 0) {
+ const suffix = `_${fields.join("_")}_key`;
+ if (error62.constraint?.endsWith(suffix)) {
+ table = error62.constraint.slice(0, -suffix.length);
+ }
+ }
+ return {
+ kind: "UniqueConstraintViolation",
+ constraint,
+ table
+ };
+ }
+ case "23502": {
+ const fields = error62.detail?.match(/Key \(([^)]+)\)/)?.at(1)?.split(", ");
+ return {
+ kind: "NullConstraintViolation",
+ constraint: fields !== void 0 ? { fields } : void 0
+ };
+ }
+ case "23503": {
+ let constraint;
+ if (error62.column) {
+ constraint = { fields: [error62.column] };
+ } else if (error62.constraint) {
+ constraint = { index: error62.constraint };
+ }
+ return {
+ kind: "ForeignKeyConstraintViolation",
+ constraint
+ };
+ }
+ case "23001": {
+ let constraint;
+ if (error62.column) {
+ constraint = { fields: [error62.column] };
+ } else if (error62.constraint) {
+ constraint = { index: error62.constraint };
+ }
+ return {
+ kind: "RestrictViolation",
+ constraint
+ };
+ }
+ case "3D000":
+ return {
+ kind: "DatabaseDoesNotExist",
+ db: error62.message.split(" ").at(1)?.split('"').at(1)
+ };
+ case "28000":
+ return {
+ kind: "DatabaseAccessDenied",
+ db: error62.message.split(",").find((s2) => s2.startsWith(" database"))?.split('"').at(1)
+ };
+ case "28P01":
+ return {
+ kind: "AuthenticationFailed",
+ user: error62.message.split(" ").pop()?.split('"').at(1)
+ };
+ case "40001":
+ case "40P01":
+ return {
+ kind: "TransactionWriteConflict"
+ };
+ case "42P01":
+ return {
+ kind: "TableDoesNotExist",
+ table: error62.message.split(" ").at(1)?.split('"').at(1)
+ };
+ case "42703": {
+ const rawColumn = error62.message.match(/^column (.+) does not exist$/)?.at(1);
+ return {
+ kind: "ColumnNotFound",
+ column: rawColumn?.replace(/"((?:""|[^"])*)"/g, (_, id) => id.replaceAll('""', '"'))
+ };
+ }
+ case "42P04":
+ return {
+ kind: "DatabaseAlreadyExists",
+ db: error62.message.split(" ").at(1)?.split('"').at(1)
+ };
+ case "53300":
+ return {
+ kind: "TooManyConnections",
+ cause: error62.message
+ };
+ default:
+ return {
+ kind: "postgres",
+ code: error62.code ?? "N/A",
+ severity: error62.severity ?? "N/A",
+ message: error62.message,
+ detail: error62.detail,
+ column: error62.column,
+ hint: error62.hint
+ };
+ }
+}
+__name(mapDriverError, "mapDriverError");
+function isDriverError(error62) {
+ return typeof error62.code === "string" && typeof error62.message === "string" && typeof error62.severity === "string" && (typeof error62.detail === "string" || error62.detail === void 0) && (typeof error62.column === "string" || error62.column === void 0) && (typeof error62.hint === "string" || error62.hint === void 0);
+}
+__name(isDriverError, "isDriverError");
+function mapSocketError(error62) {
+ switch (error62.code) {
+ case "ENOTFOUND":
+ case "ECONNREFUSED":
+ return {
+ kind: "DatabaseNotReachable",
+ host: error62.address ?? error62.hostname,
+ port: error62.port
+ };
+ case "ECONNRESET":
+ return {
+ kind: "ConnectionClosed"
+ };
+ case "ETIMEDOUT":
+ return {
+ kind: "SocketTimeout"
+ };
+ }
+}
+__name(mapSocketError, "mapSocketError");
+function isSocketError(error62) {
+ return typeof error62.code === "string" && typeof error62.syscall === "string" && typeof error62.errno === "number" && SOCKET_ERRORS.has(error62.code);
+}
+__name(isSocketError, "isSocketError");
+function isTlsError(error62) {
+ if (typeof error62.code === "string") {
+ return TLS_ERRORS.has(error62.code);
+ }
+ switch (error62.message) {
+ case "The server does not support SSL connections":
+ case "There was an error establishing an SSL connection":
+ return true;
+ }
+ return false;
+}
+__name(isTlsError, "isTlsError");
+var types2 = esm_default.types;
+var debug2 = Debug2("prisma:driver-adapter:pg");
+var PgQueryable = class {
+ static {
+ __name(this, "PgQueryable");
+ }
+ constructor(client, pgOptions) {
+ this.client = client;
+ this.pgOptions = pgOptions;
+ }
+ provider = "postgres";
+ adapterName = name;
+ /**
+ * Execute a query given as SQL, interpolating the given parameters.
+ */
+ async queryRaw(query) {
+ const tag = "[js::query_raw]";
+ debug2(`${tag} %O`, query);
+ const { fields, rows } = await this.performIO(query);
+ const columnNames = fields.map((field) => field.name);
+ let columnTypes = [];
+ try {
+ columnTypes = fields.map((field) => fieldToColumnType(field.dataTypeID));
+ } catch (e5) {
+ if (e5 instanceof UnsupportedNativeDataType) {
+ throw new DriverAdapterError({
+ kind: "UnsupportedNativeDataType",
+ type: e5.type
+ });
+ }
+ throw e5;
+ }
+ const udtParser = this.pgOptions?.userDefinedTypeParser;
+ if (udtParser) {
+ for (let i5 = 0; i5 < fields.length; i5++) {
+ const field = fields[i5];
+ if (field.dataTypeID >= FIRST_NORMAL_OBJECT_ID && !Object.hasOwn(customParsers, field.dataTypeID)) {
+ for (let j5 = 0; j5 < rows.length; j5++) {
+ rows[j5][i5] = await udtParser(field.dataTypeID, rows[j5][i5], this);
+ }
+ }
+ }
+ }
+ return {
+ columnNames,
+ columnTypes,
+ rows
+ };
+ }
+ /**
+ * Execute a query given as SQL, interpolating the given parameters and
+ * returning the number of affected rows.
+ * Note: Queryable expects a u64, but napi.rs only supports u32.
+ */
+ async executeRaw(query) {
+ const tag = "[js::execute_raw]";
+ debug2(`${tag} %O`, query);
+ return (await this.performIO(query)).rowCount ?? 0;
+ }
+ /**
+ * Run a query against the database, returning the result set.
+ * Should the query fail due to a connection error, the connection is
+ * marked as unhealthy.
+ */
+ async performIO(query) {
+ const { sql: sql2, args } = query;
+ const values = args.map((arg, i5) => mapArg(arg, query.argTypes[i5]));
+ try {
+ const result = await this.client.query({
+ name: this.pgOptions?.statementNameGenerator?.(query),
+ text: sql2,
+ values,
+ rowMode: "array",
+ types: {
+ getTypeParser: /* @__PURE__ */ __name((oid, format) => {
+ if (format === "text" && customParsers[oid]) {
+ return customParsers[oid];
+ }
+ return types2.getTypeParser(oid, format);
+ }, "getTypeParser")
+ }
+ });
+ return result;
+ } catch (e5) {
+ this.onError(e5);
+ }
+ }
+ onError(error62) {
+ debug2("Error in performIO: %O", error62);
+ throw new DriverAdapterError(convertDriverError(error62));
+ }
+};
+var PgTransaction = class extends PgQueryable {
+ static {
+ __name(this, "PgTransaction");
+ }
+ constructor(client, options, pgOptions, cleanup) {
+ super(client, pgOptions);
+ this.options = options;
+ this.pgOptions = pgOptions;
+ this.cleanup = cleanup;
+ }
+ async commit() {
+ debug2(`[js::commit]`);
+ this.cleanup?.();
+ this.client.release();
+ }
+ async rollback() {
+ debug2(`[js::rollback]`);
+ this.cleanup?.();
+ this.client.release();
+ }
+ async createSavepoint(name2) {
+ await this.executeRaw({ sql: `SAVEPOINT ${name2}`, args: [], argTypes: [] });
+ }
+ async rollbackToSavepoint(name2) {
+ await this.executeRaw({ sql: `ROLLBACK TO SAVEPOINT ${name2}`, args: [], argTypes: [] });
+ }
+ async releaseSavepoint(name2) {
+ await this.executeRaw({ sql: `RELEASE SAVEPOINT ${name2}`, args: [], argTypes: [] });
+ }
+};
+var PrismaPgAdapter = class extends PgQueryable {
+ static {
+ __name(this, "PrismaPgAdapter");
+ }
+ constructor(client, pgOptions, release2) {
+ super(client);
+ this.pgOptions = pgOptions;
+ this.release = release2;
+ }
+ async startTransaction(isolationLevel) {
+ const options = {
+ usePhantomQuery: false
+ };
+ const tag = "[js::startTransaction]";
+ debug2("%s options: %O", tag, options);
+ const conn = await this.client.connect().catch((error62) => this.onError(error62));
+ const onError = /* @__PURE__ */ __name((err) => {
+ debug2(`Error from pool connection: ${err.message} %O`, err);
+ this.pgOptions?.onConnectionError?.(err);
+ }, "onError");
+ conn.on("error", onError);
+ const cleanup = /* @__PURE__ */ __name(() => {
+ conn.removeListener("error", onError);
+ }, "cleanup");
+ try {
+ const tx = new PgTransaction(conn, options, this.pgOptions, cleanup);
+ await tx.executeRaw({ sql: "BEGIN", args: [], argTypes: [] });
+ if (isolationLevel) {
+ await tx.executeRaw({
+ sql: `SET TRANSACTION ISOLATION LEVEL ${isolationLevel}`,
+ args: [],
+ argTypes: []
+ });
+ }
+ return tx;
+ } catch (error62) {
+ cleanup();
+ conn.release(error62);
+ this.onError(error62);
+ }
+ }
+ async executeScript(script) {
+ const statements = script.split(";").map((stmt) => stmt.trim()).filter((stmt) => stmt.length > 0);
+ for (const stmt of statements) {
+ try {
+ await this.client.query(stmt);
+ } catch (error62) {
+ this.onError(error62);
+ }
+ }
+ }
+ getConnectionInfo() {
+ return {
+ schemaName: this.pgOptions?.schema,
+ supportsRelationJoins: true
+ };
+ }
+ async dispose() {
+ return this.release?.();
+ }
+ underlyingDriver() {
+ return this.client;
+ }
+};
+var PrismaPgAdapterFactory = class {
+ static {
+ __name(this, "PrismaPgAdapterFactory");
+ }
+ constructor(poolOrConfig, options) {
+ this.options = options;
+ if (poolOrConfig instanceof esm_default.Pool) {
+ this.externalPool = poolOrConfig;
+ this.config = poolOrConfig.options;
+ } else if (typeof poolOrConfig === "string") {
+ this.externalPool = null;
+ this.config = { connectionString: poolOrConfig };
+ } else {
+ this.externalPool = null;
+ this.config = poolOrConfig;
+ }
+ }
+ provider = "postgres";
+ adapterName = name;
+ config;
+ externalPool;
+ async connect() {
+ const client = this.externalPool ?? new esm_default.Pool(this.config);
+ const onIdleClientError = /* @__PURE__ */ __name((err) => {
+ debug2(`Error from idle pool client: ${err.message} %O`, err);
+ this.options?.onPoolError?.(err);
+ }, "onIdleClientError");
+ client.on("error", onIdleClientError);
+ return new PrismaPgAdapter(client, this.options, async () => {
+ if (this.externalPool) {
+ if (this.options?.disposeExternalPool) {
+ await this.externalPool.end();
+ this.externalPool = null;
+ } else {
+ this.externalPool.removeListener("error", onIdleClientError);
+ }
+ } else {
+ await client.end();
+ }
+ });
+ }
+ async connectToShadowDb() {
+ const conn = await this.connect();
+ const database = `prisma_migrate_shadow_db_${globalThis.crypto.randomUUID()}`;
+ await conn.executeScript(`CREATE DATABASE "${database}"`);
+ const client = new esm_default.Pool({ ...this.config, database });
+ return new PrismaPgAdapter(client, void 0, async () => {
+ await conn.executeScript(`DROP DATABASE "${database}"`);
+ await client.end();
+ });
+ }
+};
+
+// dist/generated/prisma/client.js
+import * as path from "node:path";
+import { fileURLToPath } from "node:url";
+
+// dist/generated/prisma/internal/class.js
+var runtime = __toESM(require_client(), 1);
+var config2 = {
+ "previewFeatures": [],
+ "clientVersion": "7.10.1",
+ "engineVersion": "d1b3f377ca835d73fd50954a5e22128b9ebdd6b8",
+ "activeProvider": "postgresql",
+ "inlineSchema": 'generator client {\n provider = "prisma-client"\n output = "../src/generated/prisma"\n moduleFormat = "esm"\n importFileExtension = "js"\n}\n\ndatasource db {\n provider = "postgresql"\n}\n\nenum Role {\n ADMIN\n EDITOR\n}\n\nenum MessageStatus {\n NEW\n READ\n ARCHIVED\n}\n\nmodel AdminUser {\n id Int @id @default(autoincrement())\n phone String @unique\n name String\n passwordHash String\n role Role @default(EDITOR)\n isActive Boolean @default(true)\n lastLoginAt DateTime?\n createdAt DateTime @default(now())\n updatedAt DateTime @updatedAt\n refreshTokens RefreshToken[]\n auditLogs AuditLog[]\n}\n\nmodel RefreshToken {\n id Int @id @default(autoincrement())\n userId Int\n user AdminUser @relation(fields: [userId], references: [id], onDelete: Cascade)\n /// sha256 of the opaque token stored in the httpOnly cookie\n tokenHash String @unique\n expiresAt DateTime\n revokedAt DateTime?\n userAgent String @default("")\n createdAt DateTime @default(now())\n\n @@index([userId])\n}\n\nmodel Media {\n id Int @id @default(autoincrement())\n /// object key in the S3 bucket; the public URL is MEDIA_PUBLIC_URL + "/" + key\n key String @unique\n mime String\n size Int\n width Int?\n height Int?\n alt String @default("")\n originalName String @default("")\n createdAt DateTime @default(now())\n categoryCovers Category[] @relation("CategoryCover")\n productImages Product[] @relation("ProductImage")\n productGallery ProductImage[]\n}\n\nmodel Category {\n id Int @id @default(autoincrement())\n slug String @unique\n code String\n name String\n nameEn String @default("")\n shortDesc String @default("")\n fullDesc String @default("")\n /// Lucide icon name\n icon String @default("")\n coverImageId Int?\n coverImage Media? @relation("CategoryCover", fields: [coverImageId], references: [id], onDelete: SetNull)\n sortOrder Int @default(0)\n isPublished Boolean @default(true)\n seoTitle String @default("")\n seoDescription String @default("")\n groups ProductGroup[]\n products Product[]\n createdAt DateTime @default(now())\n updatedAt DateTime @updatedAt\n\n @@index([sortOrder])\n}\n\nmodel ProductGroup {\n id Int @id @default(autoincrement())\n categoryId Int\n category Category @relation(fields: [categoryId], references: [id], onDelete: Cascade)\n slug String\n name String\n desc String @default("")\n sortOrder Int @default(0)\n products Product[]\n\n @@unique([categoryId, slug])\n}\n\nmodel Product {\n id Int @id @default(autoincrement())\n categoryId Int\n category Category @relation(fields: [categoryId], references: [id], onDelete: Restrict)\n groupId Int?\n group ProductGroup? @relation(fields: [groupId], references: [id], onDelete: SetNull)\n code String @unique\n slug String @unique\n name String\n nameEn String @default("")\n desc String @default("")\n specs String[]\n variants String[]\n /// long description for the product page; a blank line starts a new paragraph\n details String @default("")\n brand String @default("")\n /// country of manufacture\n origin String @default("")\n sizes String[] @default([])\n standards String[] @default([])\n features String[] @default([])\n applications String[] @default([])\n /// technical specification table: [{ "name": "...", "value": "..." }]\n attributes Json @default("[]")\n packaging String @default("")\n minOrder String @default("")\n seoTitle String @default("")\n seoDescription String @default("")\n imageId Int?\n image Media? @relation("ProductImage", fields: [imageId], references: [id], onDelete: SetNull)\n gallery ProductImage[]\n sortOrder Int @default(0)\n isPublished Boolean @default(true)\n createdAt DateTime @default(now())\n updatedAt DateTime @updatedAt\n\n @@index([categoryId, sortOrder])\n}\n\nmodel ProductImage {\n productId Int\n mediaId Int\n sortOrder Int @default(0)\n product Product @relation(fields: [productId], references: [id], onDelete: Cascade)\n media Media @relation(fields: [mediaId], references: [id], onDelete: Cascade)\n\n @@id([productId, mediaId])\n}\n\n/// One row per editable website section; `data` is validated by the zod schema for `key` (@imen/shared)\nmodel SiteSection {\n key String @id\n data Json\n updatedById Int?\n updatedAt DateTime @updatedAt\n}\n\nmodel ContactMessage {\n id Int @id @default(autoincrement())\n name String\n org String\n phone String\n message String @default("")\n status MessageStatus @default(NEW)\n ip String @default("")\n userAgent String @default("")\n createdAt DateTime @default(now())\n\n @@index([status, createdAt])\n}\n\nmodel AuditLog {\n id Int @id @default(autoincrement())\n userId Int?\n user AdminUser? @relation(fields: [userId], references: [id], onDelete: SetNull)\n /// create | update | delete | login ...\n action String\n /// product | category | section | media | user | message\n entity String\n entityId String @default("")\n summary String @default("")\n createdAt DateTime @default(now())\n\n @@index([createdAt])\n}\n',
+ "runtimeDataModel": {
+ "models": {},
+ "enums": {},
+ "types": {}
+ },
+ "parameterizationSchema": {
+ "strings": [],
+ "graph": ""
+ }
+};
+config2.runtimeDataModel = JSON.parse('{"models":{"AdminUser":{"fields":[{"name":"id","kind":"scalar","type":"Int"},{"name":"phone","kind":"scalar","type":"String"},{"name":"name","kind":"scalar","type":"String"},{"name":"passwordHash","kind":"scalar","type":"String"},{"name":"role","kind":"enum","type":"Role"},{"name":"isActive","kind":"scalar","type":"Boolean"},{"name":"lastLoginAt","kind":"scalar","type":"DateTime"},{"name":"createdAt","kind":"scalar","type":"DateTime"},{"name":"updatedAt","kind":"scalar","type":"DateTime"},{"name":"refreshTokens","kind":"object","type":"RefreshToken","relationName":"AdminUserToRefreshToken"},{"name":"auditLogs","kind":"object","type":"AuditLog","relationName":"AdminUserToAuditLog"}],"dbName":null,"schema":null},"RefreshToken":{"fields":[{"name":"id","kind":"scalar","type":"Int"},{"name":"userId","kind":"scalar","type":"Int"},{"name":"user","kind":"object","type":"AdminUser","relationName":"AdminUserToRefreshToken"},{"name":"tokenHash","kind":"scalar","type":"String"},{"name":"expiresAt","kind":"scalar","type":"DateTime"},{"name":"revokedAt","kind":"scalar","type":"DateTime"},{"name":"userAgent","kind":"scalar","type":"String"},{"name":"createdAt","kind":"scalar","type":"DateTime"}],"dbName":null,"schema":null},"Media":{"fields":[{"name":"id","kind":"scalar","type":"Int"},{"name":"key","kind":"scalar","type":"String"},{"name":"mime","kind":"scalar","type":"String"},{"name":"size","kind":"scalar","type":"Int"},{"name":"width","kind":"scalar","type":"Int"},{"name":"height","kind":"scalar","type":"Int"},{"name":"alt","kind":"scalar","type":"String"},{"name":"originalName","kind":"scalar","type":"String"},{"name":"createdAt","kind":"scalar","type":"DateTime"},{"name":"categoryCovers","kind":"object","type":"Category","relationName":"CategoryCover"},{"name":"productImages","kind":"object","type":"Product","relationName":"ProductImage"},{"name":"productGallery","kind":"object","type":"ProductImage","relationName":"MediaToProductImage"}],"dbName":null,"schema":null},"Category":{"fields":[{"name":"id","kind":"scalar","type":"Int"},{"name":"slug","kind":"scalar","type":"String"},{"name":"code","kind":"scalar","type":"String"},{"name":"name","kind":"scalar","type":"String"},{"name":"nameEn","kind":"scalar","type":"String"},{"name":"shortDesc","kind":"scalar","type":"String"},{"name":"fullDesc","kind":"scalar","type":"String"},{"name":"icon","kind":"scalar","type":"String"},{"name":"coverImageId","kind":"scalar","type":"Int"},{"name":"coverImage","kind":"object","type":"Media","relationName":"CategoryCover"},{"name":"sortOrder","kind":"scalar","type":"Int"},{"name":"isPublished","kind":"scalar","type":"Boolean"},{"name":"seoTitle","kind":"scalar","type":"String"},{"name":"seoDescription","kind":"scalar","type":"String"},{"name":"groups","kind":"object","type":"ProductGroup","relationName":"CategoryToProductGroup"},{"name":"products","kind":"object","type":"Product","relationName":"CategoryToProduct"},{"name":"createdAt","kind":"scalar","type":"DateTime"},{"name":"updatedAt","kind":"scalar","type":"DateTime"}],"dbName":null,"schema":null},"ProductGroup":{"fields":[{"name":"id","kind":"scalar","type":"Int"},{"name":"categoryId","kind":"scalar","type":"Int"},{"name":"category","kind":"object","type":"Category","relationName":"CategoryToProductGroup"},{"name":"slug","kind":"scalar","type":"String"},{"name":"name","kind":"scalar","type":"String"},{"name":"desc","kind":"scalar","type":"String"},{"name":"sortOrder","kind":"scalar","type":"Int"},{"name":"products","kind":"object","type":"Product","relationName":"ProductToProductGroup"}],"dbName":null,"schema":null},"Product":{"fields":[{"name":"id","kind":"scalar","type":"Int"},{"name":"categoryId","kind":"scalar","type":"Int"},{"name":"category","kind":"object","type":"Category","relationName":"CategoryToProduct"},{"name":"groupId","kind":"scalar","type":"Int"},{"name":"group","kind":"object","type":"ProductGroup","relationName":"ProductToProductGroup"},{"name":"code","kind":"scalar","type":"String"},{"name":"slug","kind":"scalar","type":"String"},{"name":"name","kind":"scalar","type":"String"},{"name":"nameEn","kind":"scalar","type":"String"},{"name":"desc","kind":"scalar","type":"String"},{"name":"specs","kind":"scalar","type":"String"},{"name":"variants","kind":"scalar","type":"String"},{"name":"details","kind":"scalar","type":"String"},{"name":"brand","kind":"scalar","type":"String"},{"name":"origin","kind":"scalar","type":"String"},{"name":"sizes","kind":"scalar","type":"String"},{"name":"standards","kind":"scalar","type":"String"},{"name":"features","kind":"scalar","type":"String"},{"name":"applications","kind":"scalar","type":"String"},{"name":"attributes","kind":"scalar","type":"Json"},{"name":"packaging","kind":"scalar","type":"String"},{"name":"minOrder","kind":"scalar","type":"String"},{"name":"seoTitle","kind":"scalar","type":"String"},{"name":"seoDescription","kind":"scalar","type":"String"},{"name":"imageId","kind":"scalar","type":"Int"},{"name":"image","kind":"object","type":"Media","relationName":"ProductImage"},{"name":"gallery","kind":"object","type":"ProductImage","relationName":"ProductToProductImage"},{"name":"sortOrder","kind":"scalar","type":"Int"},{"name":"isPublished","kind":"scalar","type":"Boolean"},{"name":"createdAt","kind":"scalar","type":"DateTime"},{"name":"updatedAt","kind":"scalar","type":"DateTime"}],"dbName":null,"schema":null},"ProductImage":{"fields":[{"name":"productId","kind":"scalar","type":"Int"},{"name":"mediaId","kind":"scalar","type":"Int"},{"name":"sortOrder","kind":"scalar","type":"Int"},{"name":"product","kind":"object","type":"Product","relationName":"ProductToProductImage"},{"name":"media","kind":"object","type":"Media","relationName":"MediaToProductImage"}],"dbName":null,"schema":null},"SiteSection":{"fields":[{"name":"key","kind":"scalar","type":"String"},{"name":"data","kind":"scalar","type":"Json"},{"name":"updatedById","kind":"scalar","type":"Int"},{"name":"updatedAt","kind":"scalar","type":"DateTime"}],"dbName":null,"schema":null},"ContactMessage":{"fields":[{"name":"id","kind":"scalar","type":"Int"},{"name":"name","kind":"scalar","type":"String"},{"name":"org","kind":"scalar","type":"String"},{"name":"phone","kind":"scalar","type":"String"},{"name":"message","kind":"scalar","type":"String"},{"name":"status","kind":"enum","type":"MessageStatus"},{"name":"ip","kind":"scalar","type":"String"},{"name":"userAgent","kind":"scalar","type":"String"},{"name":"createdAt","kind":"scalar","type":"DateTime"}],"dbName":null,"schema":null},"AuditLog":{"fields":[{"name":"id","kind":"scalar","type":"Int"},{"name":"userId","kind":"scalar","type":"Int"},{"name":"user","kind":"object","type":"AdminUser","relationName":"AdminUserToAuditLog"},{"name":"action","kind":"scalar","type":"String"},{"name":"entity","kind":"scalar","type":"String"},{"name":"entityId","kind":"scalar","type":"String"},{"name":"summary","kind":"scalar","type":"String"},{"name":"createdAt","kind":"scalar","type":"DateTime"}],"dbName":null,"schema":null}},"enums":{},"types":{}}');
+config2.parameterizationSchema = {
+ strings: JSON.parse('["where","orderBy","cursor","user","refreshTokens","auditLogs","_count","AdminUser.findUnique","AdminUser.findUniqueOrThrow","AdminUser.findFirst","AdminUser.findFirstOrThrow","AdminUser.findMany","data","AdminUser.createOne","AdminUser.createMany","AdminUser.createManyAndReturn","AdminUser.updateOne","AdminUser.updateMany","AdminUser.updateManyAndReturn","create","update","AdminUser.upsertOne","AdminUser.deleteOne","AdminUser.deleteMany","having","_avg","_sum","_min","_max","AdminUser.groupBy","AdminUser.aggregate","RefreshToken.findUnique","RefreshToken.findUniqueOrThrow","RefreshToken.findFirst","RefreshToken.findFirstOrThrow","RefreshToken.findMany","RefreshToken.createOne","RefreshToken.createMany","RefreshToken.createManyAndReturn","RefreshToken.updateOne","RefreshToken.updateMany","RefreshToken.updateManyAndReturn","RefreshToken.upsertOne","RefreshToken.deleteOne","RefreshToken.deleteMany","RefreshToken.groupBy","RefreshToken.aggregate","coverImage","category","group","image","product","media","gallery","products","groups","categoryCovers","productImages","productGallery","Media.findUnique","Media.findUniqueOrThrow","Media.findFirst","Media.findFirstOrThrow","Media.findMany","Media.createOne","Media.createMany","Media.createManyAndReturn","Media.updateOne","Media.updateMany","Media.updateManyAndReturn","Media.upsertOne","Media.deleteOne","Media.deleteMany","Media.groupBy","Media.aggregate","Category.findUnique","Category.findUniqueOrThrow","Category.findFirst","Category.findFirstOrThrow","Category.findMany","Category.createOne","Category.createMany","Category.createManyAndReturn","Category.updateOne","Category.updateMany","Category.updateManyAndReturn","Category.upsertOne","Category.deleteOne","Category.deleteMany","Category.groupBy","Category.aggregate","ProductGroup.findUnique","ProductGroup.findUniqueOrThrow","ProductGroup.findFirst","ProductGroup.findFirstOrThrow","ProductGroup.findMany","ProductGroup.createOne","ProductGroup.createMany","ProductGroup.createManyAndReturn","ProductGroup.updateOne","ProductGroup.updateMany","ProductGroup.updateManyAndReturn","ProductGroup.upsertOne","ProductGroup.deleteOne","ProductGroup.deleteMany","ProductGroup.groupBy","ProductGroup.aggregate","Product.findUnique","Product.findUniqueOrThrow","Product.findFirst","Product.findFirstOrThrow","Product.findMany","Product.createOne","Product.createMany","Product.createManyAndReturn","Product.updateOne","Product.updateMany","Product.updateManyAndReturn","Product.upsertOne","Product.deleteOne","Product.deleteMany","Product.groupBy","Product.aggregate","ProductImage.findUnique","ProductImage.findUniqueOrThrow","ProductImage.findFirst","ProductImage.findFirstOrThrow","ProductImage.findMany","ProductImage.createOne","ProductImage.createMany","ProductImage.createManyAndReturn","ProductImage.updateOne","ProductImage.updateMany","ProductImage.updateManyAndReturn","ProductImage.upsertOne","ProductImage.deleteOne","ProductImage.deleteMany","ProductImage.groupBy","ProductImage.aggregate","SiteSection.findUnique","SiteSection.findUniqueOrThrow","SiteSection.findFirst","SiteSection.findFirstOrThrow","SiteSection.findMany","SiteSection.createOne","SiteSection.createMany","SiteSection.createManyAndReturn","SiteSection.updateOne","SiteSection.updateMany","SiteSection.updateManyAndReturn","SiteSection.upsertOne","SiteSection.deleteOne","SiteSection.deleteMany","SiteSection.groupBy","SiteSection.aggregate","ContactMessage.findUnique","ContactMessage.findUniqueOrThrow","ContactMessage.findFirst","ContactMessage.findFirstOrThrow","ContactMessage.findMany","ContactMessage.createOne","ContactMessage.createMany","ContactMessage.createManyAndReturn","ContactMessage.updateOne","ContactMessage.updateMany","ContactMessage.updateManyAndReturn","ContactMessage.upsertOne","ContactMessage.deleteOne","ContactMessage.deleteMany","ContactMessage.groupBy","ContactMessage.aggregate","AuditLog.findUnique","AuditLog.findUniqueOrThrow","AuditLog.findFirst","AuditLog.findFirstOrThrow","AuditLog.findMany","AuditLog.createOne","AuditLog.createMany","AuditLog.createManyAndReturn","AuditLog.updateOne","AuditLog.updateMany","AuditLog.updateManyAndReturn","AuditLog.upsertOne","AuditLog.deleteOne","AuditLog.deleteMany","AuditLog.groupBy","AuditLog.aggregate","AND","OR","NOT","id","userId","action","entity","entityId","summary","createdAt","equals","in","notIn","lt","lte","gt","gte","not","contains","startsWith","endsWith","name","org","phone","message","MessageStatus","status","ip","userAgent","key","updatedById","updatedAt","string_contains","string_starts_with","string_ends_with","array_starts_with","array_ends_with","array_contains","productId","mediaId","sortOrder","categoryId","groupId","code","slug","nameEn","desc","specs","variants","details","brand","origin","sizes","standards","features","applications","attributes","packaging","minOrder","seoTitle","seoDescription","imageId","isPublished","has","hasEvery","hasSome","shortDesc","fullDesc","icon","coverImageId","mime","size","width","height","alt","originalName","productId_mediaId","every","some","none","categoryId_slug","tokenHash","expiresAt","revokedAt","passwordHash","Role","role","isActive","lastLoginAt","is","isNot","connectOrCreate","upsert","createMany","set","disconnect","delete","connect","updateMany","deleteMany","push","increment","decrement","multiply","divide"]'),
+ graph: "8ARqoAEOBAAA3AIAIAUAAN0CACC7AQAA2QIAMLwBAAALABC9AQAA2QIAML4BAgAAAAHEAUAAsAIAIdABAQCuAgAh0gEBAAAAAdoBQACwAgAhjwIBAK4CACGRAgAA2gKRAiKSAiAAxQIAIZMCQADbAgAhAQAAAAEAIAsDAADhAgAguwEAAOACADC8AQAAAwAQvQEAAOACADC-AQIArQIAIb8BAgCtAgAhxAFAALACACHXAQEArgIAIYwCAQCuAgAhjQJAALACACGOAkAA2wIAIQIDAAC6BAAgjgIAAOICACALAwAA4QIAILsBAADgAgAwvAEAAAMAEL0BAADgAgAwvgECAAAAAb8BAgCtAgAhxAFAALACACHXAQEArgIAIYwCAQAAAAGNAkAAsAIAIY4CQADbAgAhAwAAAAMAIAEAAAQAMAIAAAUAIAsDAADfAgAguwEAAN4CADC8AQAABwAQvQEAAN4CADC-AQIArQIAIb8BAgC2AgAhwAEBAK4CACHBAQEArgIAIcIBAQCuAgAhwwEBAK4CACHEAUAAsAIAIQIDAAC6BAAgvwEAAOICACALAwAA3wIAILsBAADeAgAwvAEAAAcAEL0BAADeAgAwvgECAAAAAb8BAgC2AgAhwAEBAK4CACHBAQEArgIAIcIBAQCuAgAhwwEBAK4CACHEAUAAsAIAIQMAAAAHACABAAAIADACAAAJACAOBAAA3AIAIAUAAN0CACC7AQAA2QIAMLwBAAALABC9AQAA2QIAML4BAgCtAgAhxAFAALACACHQAQEArgIAIdIBAQCuAgAh2gFAALACACGPAgEArgIAIZECAADaApECIpICIADFAgAhkwJAANsCACEBAAAACwAgAQAAAAMAIAEAAAAHACABAAAAAQAgAwQAALgEACAFAAC5BAAgkwIAAOICACADAAAACwAgAQAAEAAwAgAAAQAgAwAAAAsAIAEAABAAMAIAAAEAIAMAAAALACABAAAQADACAAABACALBAAAtgQAIAUAALcEACC-AQIAAAABxAFAAAAAAdABAQAAAAHSAQEAAAAB2gFAAAAAAY8CAQAAAAGRAgAAAJECApICIAAAAAGTAkAAAAABAQwAABQAIAm-AQIAAAABxAFAAAAAAdABAQAAAAHSAQEAAAAB2gFAAAAAAY8CAQAAAAGRAgAAAJECApICIAAAAAGTAkAAAAABAQwAABYAMAEMAAAWADALBAAAnAQAIAUAAJ0EACC-AQIA6gIAIcQBQADpAgAh0AEBAOgCACHSAQEA6AIAIdoBQADpAgAhjwIBAOgCACGRAgAAmwSRAiKSAiAAjQMAIZMCQACTBAAhAgAAAAEAIAwAABkAIAm-AQIA6gIAIcQBQADpAgAh0AEBAOgCACHSAQEA6AIAIdoBQADpAgAhjwIBAOgCACGRAgAAmwSRAiKSAiAAjQMAIZMCQACTBAAhAgAAAAsAIAwAABsAIAIAAAALACAMAAAbACADAAAAAQAgEwAAFAAgFAAAGQAgAQAAAAEAIAEAAAALACAGBgAAlgQAIBkAAJcEACAaAACaBAAgGwAAmQQAIBwAAJgEACCTAgAA4gIAIAy7AQAA1QIAMLwBAAAiABC9AQAA1QIAML4BAgCaAgAhxAFAAJ0CACHQAQEAnAIAIdIBAQCcAgAh2gFAAJ0CACGPAgEAnAIAIZECAADWApECIpICIAC6AgAhkwJAANICACEDAAAACwAgAQAAIQAwGAAAIgAgAwAAAAsAIAEAABAAMAIAAAEAIAEAAAAFACABAAAABQAgAwAAAAMAIAEAAAQAMAIAAAUAIAMAAAADACABAAAEADACAAAFACADAAAAAwAgAQAABAAwAgAABQAgCAMAAJUEACC-AQIAAAABvwECAAAAAcQBQAAAAAHXAQEAAAABjAIBAAAAAY0CQAAAAAGOAkAAAAABAQwAACoAIAe-AQIAAAABvwECAAAAAcQBQAAAAAHXAQEAAAABjAIBAAAAAY0CQAAAAAGOAkAAAAABAQwAACwAMAEMAAAsADAIAwAAlAQAIL4BAgDqAgAhvwECAOoCACHEAUAA6QIAIdcBAQDoAgAhjAIBAOgCACGNAkAA6QIAIY4CQACTBAAhAgAAAAUAIAwAAC8AIAe-AQIA6gIAIb8BAgDqAgAhxAFAAOkCACHXAQEA6AIAIYwCAQDoAgAhjQJAAOkCACGOAkAAkwQAIQIAAAADACAMAAAxACACAAAAAwAgDAAAMQAgAwAAAAUAIBMAACoAIBQAAC8AIAEAAAAFACABAAAAAwAgBgYAAI4EACAZAACPBAAgGgAAkgQAIBsAAJEEACAcAACQBAAgjgIAAOICACAKuwEAANECADC8AQAAOAAQvQEAANECADC-AQIAmgIAIb8BAgCaAgAhxAFAAJ0CACHXAQEAnAIAIYwCAQCcAgAhjQJAAJ0CACGOAkAA0gIAIQMAAAADACABAAA3ADAYAAA4ACADAAAAAwAgAQAABAAwAgAABQAgDzgAAM4CACA5AADMAgAgOgAAyQIAILsBAADNAgAwvAEAAEEAEL0BAADNAgAwvgECAAAAAcQBQACwAgAh2AEBAAAAAYECAQCuAgAhggICAK0CACGDAgIAtgIAIYQCAgC2AgAhhQIBAK4CACGGAgEArgIAIQEAAAA7ACAVLwAAyAIAIDYAAMwCACA3AADQAgAguwEAAM8CADC8AQAAPQAQvQEAAM8CADC-AQIArQIAIcQBQACwAgAh0AEBAK4CACHaAUAAsAIAIeMBAgCtAgAh5gEBAK4CACHnAQEArgIAIegBAQCuAgAh9gEBAK4CACH3AQEArgIAIfkBIADFAgAh_QEBAK4CACH-AQEArgIAIf8BAQCuAgAhgAICALYCACEELwAAigQAIDYAAIcEACA3AACNBAAggAIAAOICACAVLwAAyAIAIDYAAMwCACA3AADQAgAguwEAAM8CADC8AQAAPQAQvQEAAM8CADC-AQIAAAABxAFAALACACHQAQEArgIAIdoBQACwAgAh4wECAK0CACHmAQEArgIAIecBAQAAAAHoAQEArgIAIfYBAQCuAgAh9wEBAK4CACH5ASAAxQIAIf0BAQCuAgAh_gEBAK4CACH_AQEArgIAIYACAgC2AgAhAwAAAD0AIAEAAD4AMAIAAD8AIA84AADOAgAgOQAAzAIAIDoAAMkCACC7AQAAzQIAMLwBAABBABC9AQAAzQIAML4BAgCtAgAhxAFAALACACHYAQEArgIAIYECAQCuAgAhggICAK0CACGDAgIAtgIAIYQCAgC2AgAhhQIBAK4CACGGAgEArgIAIQEAAABBACALMAAAxgIAIDYAAMwCACC7AQAAywIAMLwBAABDABC9AQAAywIAML4BAgCtAgAh0AEBAK4CACHjAQIArQIAIeQBAgCtAgAh5wEBAK4CACHpAQEArgIAIQIwAACLBAAgNgAAhwQAIAwwAADGAgAgNgAAzAIAILsBAADLAgAwvAEAAEMAEL0BAADLAgAwvgECAAAAAdABAQCuAgAh4wECAK0CACHkAQIArQIAIecBAQCuAgAh6QEBAK4CACGLAgAAygIAIAMAAABDACABAABEADACAABFACAiMAAAxgIAIDEAAMcCACAyAADIAgAgNQAAyQIAILsBAADEAgAwvAEAAEcAEL0BAADEAgAwvgECAK0CACHEAUAAsAIAIdABAQCuAgAh2gFAALACACHjAQIArQIAIeQBAgCtAgAh5QECALYCACHmAQEArgIAIecBAQCuAgAh6AEBAK4CACHpAQEArgIAIeoBAAC5AgAg6wEAALkCACDsAQEArgIAIe0BAQCuAgAh7gEBAK4CACHvAQAAuQIAIPABAAC5AgAg8QEAALkCACDyAQAAuQIAIPMBAAC1AgAg9AEBAK4CACH1AQEArgIAIfYBAQCuAgAh9wEBAK4CACH4AQIAtgIAIfkBIADFAgAhBjAAAIsEACAxAACMBAAgMgAAigQAIDUAAIgEACDlAQAA4gIAIPgBAADiAgAgIjAAAMYCACAxAADHAgAgMgAAyAIAIDUAAMkCACC7AQAAxAIAMLwBAABHABC9AQAAxAIAML4BAgAAAAHEAUAAsAIAIdABAQCuAgAh2gFAALACACHjAQIArQIAIeQBAgCtAgAh5QECALYCACHmAQEAAAAB5wEBAAAAAegBAQCuAgAh6QEBAK4CACHqAQAAuQIAIOsBAAC5AgAg7AEBAK4CACHtAQEArgIAIe4BAQCuAgAh7wEAALkCACDwAQAAuQIAIPEBAAC5AgAg8gEAALkCACDzAQAAtQIAIPQBAQCuAgAh9QEBAK4CACH2AQEArgIAIfcBAQCuAgAh-AECALYCACH5ASAAxQIAIQMAAABHACABAABIADACAABJACABAAAAQwAgAQAAAEEAIAgzAADCAgAgNAAAwwIAILsBAADBAgAwvAEAAE0AEL0BAADBAgAw4QECAK0CACHiAQIArQIAIeMBAgCtAgAhAjMAAIkEACA0AACKBAAgCTMAAMICACA0AADDAgAguwEAAMECADC8AQAATQAQvQEAAMECADDhAQIArQIAIeIBAgCtAgAh4wECAK0CACGHAgAAwAIAIAMAAABNACABAABOADACAABPACABAAAATQAgAQAAAEcAIAMAAABHACABAABIADACAABJACABAAAAQwAgAQAAAEcAIAMAAABHACABAABIADACAABJACADAAAATQAgAQAATgAwAgAATwAgAQAAAD0AIAEAAABHACABAAAATQAgAQAAADsAIAU4AACGBAAgOQAAhwQAIDoAAIgEACCDAgAA4gIAIIQCAADiAgAgAwAAAEEAIAEAAFwAMAIAADsAIAMAAABBACABAABcADACAAA7ACADAAAAQQAgAQAAXAAwAgAAOwAgDDgAAIMEACA5AACEBAAgOgAAhQQAIL4BAgAAAAHEAUAAAAAB2AEBAAAAAYECAQAAAAGCAgIAAAABgwICAAAAAYQCAgAAAAGFAgEAAAABhgIBAAAAAQEMAABgACAJvgECAAAAAcQBQAAAAAHYAQEAAAABgQIBAAAAAYICAgAAAAGDAgIAAAABhAICAAAAAYUCAQAAAAGGAgEAAAABAQwAAGIAMAEMAABiADAMOAAA4gMAIDkAAOMDACA6AADkAwAgvgECAOoCACHEAUAA6QIAIdgBAQDoAgAhgQIBAOgCACGCAgIA6gIAIYMCAgDrAgAhhAICAOsCACGFAgEA6AIAIYYCAQDoAgAhAgAAADsAIAwAAGUAIAm-AQIA6gIAIcQBQADpAgAh2AEBAOgCACGBAgEA6AIAIYICAgDqAgAhgwICAOsCACGEAgIA6wIAIYUCAQDoAgAhhgIBAOgCACECAAAAQQAgDAAAZwAgAgAAAEEAIAwAAGcAIAMAAAA7ACATAABgACAUAABlACABAAAAOwAgAQAAAEEAIAcGAADdAwAgGQAA3gMAIBoAAOEDACAbAADgAwAgHAAA3wMAIIMCAADiAgAghAIAAOICACAMuwEAAL8CADC8AQAAbgAQvQEAAL8CADC-AQIAmgIAIcQBQACdAgAh2AEBAJwCACGBAgEAnAIAIYICAgCaAgAhgwICAJsCACGEAgIAmwIAIYUCAQCcAgAhhgIBAJwCACEDAAAAQQAgAQAAbQAwGAAAbgAgAwAAAEEAIAEAAFwAMAIAADsAIAEAAAA_ACABAAAAPwAgAwAAAD0AIAEAAD4AMAIAAD8AIAMAAAA9ACABAAA-ADACAAA_ACADAAAAPQAgAQAAPgAwAgAAPwAgEi8AANoDACA2AADcAwAgNwAA2wMAIL4BAgAAAAHEAUAAAAAB0AEBAAAAAdoBQAAAAAHjAQIAAAAB5gEBAAAAAecBAQAAAAHoAQEAAAAB9gEBAAAAAfcBAQAAAAH5ASAAAAAB_QEBAAAAAf4BAQAAAAH_AQEAAAABgAICAAAAAQEMAAB2ACAPvgECAAAAAcQBQAAAAAHQAQEAAAAB2gFAAAAAAeMBAgAAAAHmAQEAAAAB5wEBAAAAAegBAQAAAAH2AQEAAAAB9wEBAAAAAfkBIAAAAAH9AQEAAAAB_gEBAAAAAf8BAQAAAAGAAgIAAAABAQwAAHgAMAEMAAB4ADABAAAAQQAgEi8AAMIDACA2AADEAwAgNwAAwwMAIL4BAgDqAgAhxAFAAOkCACHQAQEA6AIAIdoBQADpAgAh4wECAOoCACHmAQEA6AIAIecBAQDoAgAh6AEBAOgCACH2AQEA6AIAIfcBAQDoAgAh-QEgAI0DACH9AQEA6AIAIf4BAQDoAgAh_wEBAOgCACGAAgIA6wIAIQIAAAA_ACAMAAB8ACAPvgECAOoCACHEAUAA6QIAIdABAQDoAgAh2gFAAOkCACHjAQIA6gIAIeYBAQDoAgAh5wEBAOgCACHoAQEA6AIAIfYBAQDoAgAh9wEBAOgCACH5ASAAjQMAIf0BAQDoAgAh_gEBAOgCACH_AQEA6AIAIYACAgDrAgAhAgAAAD0AIAwAAH4AIAIAAAA9ACAMAAB-ACABAAAAQQAgAwAAAD8AIBMAAHYAIBQAAHwAIAEAAAA_ACABAAAAPQAgBgYAAL0DACAZAAC-AwAgGgAAwQMAIBsAAMADACAcAAC_AwAggAIAAOICACASuwEAAL4CADC8AQAAhgEAEL0BAAC-AgAwvgECAJoCACHEAUAAnQIAIdABAQCcAgAh2gFAAJ0CACHjAQIAmgIAIeYBAQCcAgAh5wEBAJwCACHoAQEAnAIAIfYBAQCcAgAh9wEBAJwCACH5ASAAugIAIf0BAQCcAgAh_gEBAJwCACH_AQEAnAIAIYACAgCbAgAhAwAAAD0AIAEAAIUBADAYAACGAQAgAwAAAD0AIAEAAD4AMAIAAD8AIAEAAABFACABAAAARQAgAwAAAEMAIAEAAEQAMAIAAEUAIAMAAABDACABAABEADACAABFACADAAAAQwAgAQAARAAwAgAARQAgCDAAALsDACA2AAC8AwAgvgECAAAAAdABAQAAAAHjAQIAAAAB5AECAAAAAecBAQAAAAHpAQEAAAABAQwAAI4BACAGvgECAAAAAdABAQAAAAHjAQIAAAAB5AECAAAAAecBAQAAAAHpAQEAAAABAQwAAJABADABDAAAkAEAMAgwAACtAwAgNgAArgMAIL4BAgDqAgAh0AEBAOgCACHjAQIA6gIAIeQBAgDqAgAh5wEBAOgCACHpAQEA6AIAIQIAAABFACAMAACTAQAgBr4BAgDqAgAh0AEBAOgCACHjAQIA6gIAIeQBAgDqAgAh5wEBAOgCACHpAQEA6AIAIQIAAABDACAMAACVAQAgAgAAAEMAIAwAAJUBACADAAAARQAgEwAAjgEAIBQAAJMBACABAAAARQAgAQAAAEMAIAUGAACoAwAgGQAAqQMAIBoAAKwDACAbAACrAwAgHAAAqgMAIAm7AQAAvQIAMLwBAACcAQAQvQEAAL0CADC-AQIAmgIAIdABAQCcAgAh4wECAJoCACHkAQIAmgIAIecBAQCcAgAh6QEBAJwCACEDAAAAQwAgAQAAmwEAMBgAAJwBACADAAAAQwAgAQAARAAwAgAARQAgAQAAAEkAIAEAAABJACADAAAARwAgAQAASAAwAgAASQAgAwAAAEcAIAEAAEgAMAIAAEkAIAMAAABHACABAABIADACAABJACAfMAAApAMAIDEAAKUDACAyAACmAwAgNQAApwMAIL4BAgAAAAHEAUAAAAAB0AEBAAAAAdoBQAAAAAHjAQIAAAAB5AECAAAAAeUBAgAAAAHmAQEAAAAB5wEBAAAAAegBAQAAAAHpAQEAAAAB6gEAAJ4DACDrAQAAnwMAIOwBAQAAAAHtAQEAAAAB7gEBAAAAAe8BAACgAwAg8AEAAKEDACDxAQAAogMAIPIBAACjAwAg8wGAAAAAAfQBAQAAAAH1AQEAAAAB9gEBAAAAAfcBAQAAAAH4AQIAAAAB-QEgAAAAAQEMAACkAQAgG74BAgAAAAHEAUAAAAAB0AEBAAAAAdoBQAAAAAHjAQIAAAAB5AECAAAAAeUBAgAAAAHmAQEAAAAB5wEBAAAAAegBAQAAAAHpAQEAAAAB6gEAAJ4DACDrAQAAnwMAIOwBAQAAAAHtAQEAAAAB7gEBAAAAAe8BAACgAwAg8AEAAKEDACDxAQAAogMAIPIBAACjAwAg8wGAAAAAAfQBAQAAAAH1AQEAAAAB9gEBAAAAAfcBAQAAAAH4AQIAAAAB-QEgAAAAAQEMAACmAQAwAQwAAKYBADABAAAAQwAgAQAAAEEAIB8wAACOAwAgMQAAjwMAIDIAAJADACA1AACRAwAgvgECAOoCACHEAUAA6QIAIdABAQDoAgAh2gFAAOkCACHjAQIA6gIAIeQBAgDqAgAh5QECAOsCACHmAQEA6AIAIecBAQDoAgAh6AEBAOgCACHpAQEA6AIAIeoBAACHAwAg6wEAAIgDACDsAQEA6AIAIe0BAQDoAgAh7gEBAOgCACHvAQAAiQMAIPABAACKAwAg8QEAAIsDACDyAQAAjAMAIPMBgAAAAAH0AQEA6AIAIfUBAQDoAgAh9gEBAOgCACH3AQEA6AIAIfgBAgDrAgAh-QEgAI0DACECAAAASQAgDAAAqwEAIBu-AQIA6gIAIcQBQADpAgAh0AEBAOgCACHaAUAA6QIAIeMBAgDqAgAh5AECAOoCACHlAQIA6wIAIeYBAQDoAgAh5wEBAOgCACHoAQEA6AIAIekBAQDoAgAh6gEAAIcDACDrAQAAiAMAIOwBAQDoAgAh7QEBAOgCACHuAQEA6AIAIe8BAACJAwAg8AEAAIoDACDxAQAAiwMAIPIBAACMAwAg8wGAAAAAAfQBAQDoAgAh9QEBAOgCACH2AQEA6AIAIfcBAQDoAgAh-AECAOsCACH5ASAAjQMAIQIAAABHACAMAACtAQAgAgAAAEcAIAwAAK0BACABAAAAQwAgAQAAAEEAIAMAAABJACATAACkAQAgFAAAqwEAIAEAAABJACABAAAARwAgBwYAAIIDACAZAACDAwAgGgAAhgMAIBsAAIUDACAcAACEAwAg5QEAAOICACD4AQAA4gIAIB67AQAAuAIAMLwBAAC2AQAQvQEAALgCADC-AQIAmgIAIcQBQACdAgAh0AEBAJwCACHaAUAAnQIAIeMBAgCaAgAh5AECAJoCACHlAQIAmwIAIeYBAQCcAgAh5wEBAJwCACHoAQEAnAIAIekBAQCcAgAh6gEAALkCACDrAQAAuQIAIOwBAQCcAgAh7QEBAJwCACHuAQEAnAIAIe8BAAC5AgAg8AEAALkCACDxAQAAuQIAIPIBAAC5AgAg8wEAALICACD0AQEAnAIAIfUBAQCcAgAh9gEBAJwCACH3AQEAnAIAIfgBAgCbAgAh-QEgALoCACEDAAAARwAgAQAAtQEAMBgAALYBACADAAAARwAgAQAASAAwAgAASQAgAQAAAE8AIAEAAABPACADAAAATQAgAQAATgAwAgAATwAgAwAAAE0AIAEAAE4AMAIAAE8AIAMAAABNACABAABOADACAABPACAFMwAAgAMAIDQAAIEDACDhAQIAAAAB4gECAAAAAeMBAgAAAAEBDAAAvgEAIAPhAQIAAAAB4gECAAAAAeMBAgAAAAEBDAAAwAEAMAEMAADAAQAwBTMAAP4CACA0AAD_AgAg4QECAOoCACHiAQIA6gIAIeMBAgDqAgAhAgAAAE8AIAwAAMMBACAD4QECAOoCACHiAQIA6gIAIeMBAgDqAgAhAgAAAE0AIAwAAMUBACACAAAATQAgDAAAxQEAIAMAAABPACATAAC-AQAgFAAAwwEAIAEAAABPACABAAAATQAgBQYAAPkCACAZAAD6AgAgGgAA_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_gEAEL0BAACoAgAwvgECAJoCACHEAUAAnQIAIdABAQCcAgAh0QEBAJwCACHSAQEAnAIAIdMBAQCcAgAh1QEAAKkC1QEi1gEBAJwCACHXAQEAnAIAIQcGAACfAgAgGwAAqwIAIBwAAKsCACDFAQAAANUBAsYBAAAA1QEIxwEAAADVAQjMAQAAqgLVASIHBgAAnwIAIBsAAKsCACAcAACrAgAgxQEAAADVAQLGAQAAANUBCMcBAAAA1QEIzAEAAKoC1QEiBMUBAAAA1QECxgEAAADVAQjHAQAAANUBCMwBAACrAtUBIgy7AQAArAIAMLwBAADrAQAQvQEAAKwCADC-AQIArQIAIcQBQACwAgAh0AEBAK4CACHRAQEArgIAIdIBAQCuAgAh0wEBAK4CACHVAQAArwLVASLWAQEArgIAIdcBAQCuAgAhCMUBAgAAAAHGAQIAAAAExwECAAAABMgBAgAAAAHJAQIAAAABygECAAAAAcsBAgAAAAHMAQIAnwIAIQvFAQEAAAABxgEBAAAABMcBAQAAAATIAQEAAAAByQEBAAAAAcoBAQAAAAHLAQEAAAABzAEBAKICACHNAQEAAAABzgEBAAAAAc8BAQAAAAEExQEAAADVAQLGAQAAANUBCMcBAAAA1QEIzAEAAKsC1QEiCMUBQAAAAAHGAUAAAAAExwFAAAAABMgBQAAAAAHJAUAAAAABygFAAAAAAcsBQAAAAAHMAUAAoAIAIQcMAACyAgAguwEAALECADC8AQAA5QEAEL0BAACxAgAw2AEBAJwCACHZAQIAmwIAIdoBQACdAgAhDwYAAJ8CACAbAACzAgAgHAAAswIAIMUBgAAAAAHIAYAAAAAByQGAAAAAAcoBgAAAAAHLAYAAAAABzAGAAAAAAdsBAQAAAAHcAQEAAAAB3QEBAAAAAd4BgAAAAAHfAYAAAAAB4AGAAAAAAQzFAYAAAAAByAGAAAAAAckBgAAAAAHKAYAAAAABywGAAAAAAcwBgAAAAAHbAQEAAAAB3AEBAAAAAd0BAQAAAAHeAYAAAAAB3wGAAAAAAeABgAAAAAEHDAAAtQIAILsBAAC0AgAwvAEAANIBABC9AQAAtAIAMNgBAQCuAgAh2QECALYCACHaAUAAsAIAIQzFAYAAAAAByAGAAAAAAckBgAAAAAHKAYAAAAABywGAAAAAAcwBgAAAAAHbAQEAAAAB3AEBAAAAAd0BAQAAAAHeAYAAAAAB3wGAAAAAAeABgAAAAAEIxQECAAAAAcYBAgAAAAXHAQIAAAAFyAECAAAAAckBAgAAAAHKAQIAAAABywECAAAAAcwBAgCkAgAhBrsBAAC3AgAwvAEAAMwBABC9AQAAtwIAMOEBAgCaAgAh4gECAJoCACHjAQIAmgIAIR67AQAAuAIAMLwBAAC2AQAQvQEAALgCADC-AQIAmgIAIcQBQACdAgAh0AEBAJwCACHaAUAAnQIAIeMBAgCaAgAh5AECAJoCACHlAQIAmwIAIeYBAQCcAgAh5wEBAJwCACHoAQEAnAIAIekBAQCcAgAh6gEAALkCACDrAQAAuQIAIOwBAQCcAgAh7QEBAJwCACHuAQEAnAIAIe8BAAC5AgAg8AEAALkCACDxAQAAuQIAIPIBAAC5AgAg8wEAALICACD0AQEAnAIAIfUBAQCcAgAh9gEBAJwCACH3AQEAnAIAIfgBAgCbAgAh-QEgALoCACEExQEBAAAABfoBAQAAAAH7AQEAAAAE_AEBAAAABAUGAACfAgAgGwAAvAIAIBwAALwCACDFASAAAAABzAEgALsCACEFBgAAnwIAIBsAALwCACAcAAC8AgAgxQEgAAAAAcwBIAC7AgAhAsUBIAAAAAHMASAAvAIAIQm7AQAAvQIAMLwBAACcAQAQvQEAAL0CADC-AQIAmgIAIdABAQCcAgAh4wECAJoCACHkAQIAmgIAIecBAQCcAgAh6QEBAJwCACESuwEAAL4CADC8AQAAhgEAEL0BAAC-AgAwvgECAJoCACHEAUAAnQIAIdABAQCcAgAh2gFAAJ0CACHjAQIAmgIAIeYBAQCcAgAh5wEBAJwCACHoAQEAnAIAIfYBAQCcAgAh9wEBAJwCACH5ASAAugIAIf0BAQCcAgAh_gEBAJwCACH_AQEAnAIAIYACAgCbAgAhDLsBAAC_AgAwvAEAAG4AEL0BAAC_AgAwvgECAJoCACHEAUAAnQIAIdgBAQCcAgAhgQIBAJwCACGCAgIAmgIAIYMCAgCbAgAhhAICAJsCACGFAgEAnAIAIYYCAQCcAgAhAuEBAgAAAAHiAQIAAAABCDMAAMICACA0AADDAgAguwEAAMECADC8AQAATQAQvQEAAMECADDhAQIArQIAIeIBAgCtAgAh4wECAK0CACEkMAAAxgIAIDEAAMcCACAyAADIAgAgNQAAyQIAILsBAADEAgAwvAEAAEcAEL0BAADEAgAwvgECAK0CACHEAUAAsAIAIdABAQCuAgAh2gFAALACACHjAQIArQIAIeQBAgCtAgAh5QECALYCACHmAQEArgIAIecBAQCuAgAh6AEBAK4CACHpAQEArgIAIeoBAAC5AgAg6wEAALkCACDsAQEArgIAIe0BAQCuAgAh7gEBAK4CACHvAQAAuQIAIPABAAC5AgAg8QEAALkCACDyAQAAuQIAIPMBAAC1AgAg9AEBAK4CACH1AQEArgIAIfYBAQCuAgAh9wEBAK4CACH4AQIAtgIAIfkBIADFAgAhlAIAAEcAIJUCAABHACAROAAAzgIAIDkAAMwCACA6AADJAgAguwEAAM0CADC8AQAAQQAQvQEAAM0CADC-AQIArQIAIcQBQACwAgAh2AEBAK4CACGBAgEArgIAIYICAgCtAgAhgwICALYCACGEAgIAtgIAIYUCAQCuAgAhhgIBAK4CACGUAgAAQQAglQIAAEEAICIwAADGAgAgMQAAxwIAIDIAAMgCACA1AADJAgAguwEAAMQCADC8AQAARwAQvQEAAMQCADC-AQIArQIAIcQBQACwAgAh0AEBAK4CACHaAUAAsAIAIeMBAgCtAgAh5AECAK0CACHlAQIAtgIAIeYBAQCuAgAh5wEBAK4CACHoAQEArgIAIekBAQCuAgAh6gEAALkCACDrAQAAuQIAIOwBAQCuAgAh7QEBAK4CACHuAQEArgIAIe8BAAC5AgAg8AEAALkCACDxAQAAuQIAIPIBAAC5AgAg8wEAALUCACD0AQEArgIAIfUBAQCuAgAh9gEBAK4CACH3AQEArgIAIfgBAgC2AgAh-QEgAMUCACECxQEgAAAAAcwBIAC8AgAhFy8AAMgCACA2AADMAgAgNwAA0AIAILsBAADPAgAwvAEAAD0AEL0BAADPAgAwvgECAK0CACHEAUAAsAIAIdABAQCuAgAh2gFAALACACHjAQIArQIAIeYBAQCuAgAh5wEBAK4CACHoAQEArgIAIfYBAQCuAgAh9wEBAK4CACH5ASAAxQIAIf0BAQCuAgAh_gEBAK4CACH_AQEArgIAIYACAgC2AgAhlAIAAD0AIJUCAAA9ACANMAAAxgIAIDYAAMwCACC7AQAAywIAMLwBAABDABC9AQAAywIAML4BAgCtAgAh0AEBAK4CACHjAQIArQIAIeQBAgCtAgAh5wEBAK4CACHpAQEArgIAIZQCAABDACCVAgAAQwAgETgAAM4CACA5AADMAgAgOgAAyQIAILsBAADNAgAwvAEAAEEAEL0BAADNAgAwvgECAK0CACHEAUAAsAIAIdgBAQCuAgAhgQIBAK4CACGCAgIArQIAIYMCAgC2AgAhhAICALYCACGFAgEArgIAIYYCAQCuAgAhlAIAAEEAIJUCAABBACADiAIAAE0AIIkCAABNACCKAgAATQAgAuQBAgAAAAHnAQEAAAABCzAAAMYCACA2AADMAgAguwEAAMsCADC8AQAAQwAQvQEAAMsCADC-AQIArQIAIdABAQCuAgAh4wECAK0CACHkAQIArQIAIecBAQCuAgAh6QEBAK4CACEDiAIAAEcAIIkCAABHACCKAgAARwAgDzgAAM4CACA5AADMAgAgOgAAyQIAILsBAADNAgAwvAEAAEEAEL0BAADNAgAwvgECAK0CACHEAUAAsAIAIdgBAQCuAgAhgQIBAK4CACGCAgIArQIAIYMCAgC2AgAhhAICALYCACGFAgEArgIAIYYCAQCuAgAhA4gCAAA9ACCJAgAAPQAgigIAAD0AIBUvAADIAgAgNgAAzAIAIDcAANACACC7AQAAzwIAMLwBAAA9ABC9AQAAzwIAML4BAgCtAgAhxAFAALACACHQAQEArgIAIdoBQACwAgAh4wECAK0CACHmAQEArgIAIecBAQCuAgAh6AEBAK4CACH2AQEArgIAIfcBAQCuAgAh-QEgAMUCACH9AQEArgIAIf4BAQCuAgAh_wEBAK4CACGAAgIAtgIAIQOIAgAAQwAgiQIAAEMAIIoCAABDACAKuwEAANECADC8AQAAOAAQvQEAANECADC-AQIAmgIAIb8BAgCaAgAhxAFAAJ0CACHXAQEAnAIAIYwCAQCcAgAhjQJAAJ0CACGOAkAA0gIAIQsGAACkAgAgGwAA1AIAIBwAANQCACDFAUAAAAABxgFAAAAABccBQAAAAAXIAUAAAAAByQFAAAAAAcoBQAAAAAHLAUAAAAABzAFAANMCACELBgAApAIAIBsAANQCACAcAADUAgAgxQFAAAAAAcYBQAAAAAXHAUAAAAAFyAFAAAAAAckBQAAAAAHKAUAAAAABywFAAAAAAcwBQADTAgAhCMUBQAAAAAHGAUAAAAAFxwFAAAAABcgBQAAAAAHJAUAAAAABygFAAAAAAcsBQAAAAAHMAUAA1AIAIQy7AQAA1QIAMLwBAAAiABC9AQAA1QIAML4BAgCaAgAhxAFAAJ0CACHQAQEAnAIAIdIBAQCcAgAh2gFAAJ0CACGPAgEAnAIAIZECAADWApECIpICIAC6AgAhkwJAANICACEHBgAAnwIAIBsAANgCACAcAADYAgAgxQEAAACRAgLGAQAAAJECCMcBAAAAkQIIzAEAANcCkQIiBwYAAJ8CACAbAADYAgAgHAAA2AIAIMUBAAAAkQICxgEAAACRAgjHAQAAAJECCMwBAADXApECIgTFAQAAAJECAsYBAAAAkQIIxwEAAACRAgjMAQAA2AKRAiIOBAAA3AIAIAUAAN0CACC7AQAA2QIAMLwBAAALABC9AQAA2QIAML4BAgCtAgAhxAFAALACACHQAQEArgIAIdIBAQCuAgAh2gFAALACACGPAgEArgIAIZECAADaApECIpICIADFAgAhkwJAANsCACEExQEAAACRAgLGAQAAAJECCMcBAAAAkQIIzAEAANgCkQIiCMUBQAAAAAHGAUAAAAAFxwFAAAAABcgBQAAAAAHJAUAAAAABygFAAAAAAcsBQAAAAAHMAUAA1AIAIQOIAgAAAwAgiQIAAAMAIIoCAAADACADiAIAAAcAIIkCAAAHACCKAgAABwAgCwMAAN8CACC7AQAA3gIAMLwBAAAHABC9AQAA3gIAML4BAgCtAgAhvwECALYCACHAAQEArgIAIcEBAQCuAgAhwgEBAK4CACHDAQEArgIAIcQBQACwAgAhEAQAANwCACAFAADdAgAguwEAANkCADC8AQAACwAQvQEAANkCADC-AQIArQIAIcQBQACwAgAh0AEBAK4CACHSAQEArgIAIdoBQACwAgAhjwIBAK4CACGRAgAA2gKRAiKSAiAAxQIAIZMCQADbAgAhlAIAAAsAIJUCAAALACALAwAA4QIAILsBAADgAgAwvAEAAAMAEL0BAADgAgAwvgECAK0CACG_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-AECALYCACH5ASAAxQIAIRq-AQIA6gIAIcQBQADpAgAh0AEBAOgCACHaAUAA6QIAIeMBAgDqAgAh5AECAOoCACHmAQEA6AIAIecBAQDoAgAh6AEBAOgCACHpAQEA6AIAIeoBAACHAwAg6wEAAIgDACDsAQEA6AIAIe0BAQDoAgAh7gEBAOgCACHvAQAAiQMAIPABAACKAwAg8QEAAIsDACDyAQAAjAMAIPMBgAAAAAH0AQEA6AIAIfUBAQDoAgAh9gEBAOgCACH3AQEA6AIAIfgBAgDrAgAh-QEgAI0DACEdMAAAjgMAIDIAAJADACA1AACRAwAgvgECAOoCACHEAUAA6QIAIdABAQDoAgAh2gFAAOkCACHjAQIA6gIAIeQBAgDqAgAh5gEBAOgCACHnAQEA6AIAIegBAQDoAgAh6QEBAOgCACHqAQAAhwMAIOsBAACIAwAg7AEBAOgCACHtAQEA6AIAIe4BAQDoAgAh7wEAAIkDACDwAQAAigMAIPEBAACLAwAg8gEAAIwDACDzAYAAAAAB9AEBAOgCACH1AQEA6AIAIfYBAQDoAgAh9wEBAOgCACH4AQIA6wIAIfkBIACNAwAhHTAAAKQDACAyAACmAwAgNQAApwMAIL4BAgAAAAHEAUAAAAAB0AEBAAAAAdoBQAAAAAHjAQIAAAAB5AECAAAAAeYBAQAAAAHnAQEAAAAB6AEBAAAAAekBAQAAAAHqAQAAngMAIOsBAACfAwAg7AEBAAAAAe0BAQAAAAHuAQEAAAAB7wEAAKADACDwAQAAoQMAIPEBAACiAwAg8gEAAKMDACDzAYAAAAAB9AEBAAAAAfUBAQAAAAH2AQEAAAAB9wEBAAAAAfgBAgAAAAH5ASAAAAABAxMAAMwEACCWAgAAzQQAIJwCAAA_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-AMAMJcCAAD5AwAwmAIAAPoDACCZAgAA-wMAMJoCAAD7AwAwmwIAAPsDADCcAgAA-wMAMJ0CAAD9AwAwngIAAP4DADALEwAA7gMAMBQAAPIDADCWAgAA7wMAMJcCAADwAwAwmAIAAPEDACCZAgAAswMAMJoCAACzAwAwmwIAALMDADCcAgAAswMAMJ0CAADzAwAwngIAALYDADALEwAA5QMAMBQAAOkDADCWAgAA5gMAMJcCAADnAwAwmAIAAOgDACCZAgAAlgMAMJoCAACWAwAwmwIAAJYDADCcAgAAlgMAMJ0CAADqAwAwngIAAJkDADADMwAAgAMAIOEBAgAAAAHjAQIAAAABAgAAAE8AIBMAAO0DACADAAAATwAgEwAA7QMAIBQAAOwDACABDAAAxAQAMAIAAABPACAMAADsAwAgAgAAAJoDACAMAADrAwAgAuEBAgDqAgAh4wECAOoCACEDMwAA_gIAIOEBAgDqAgAh4wECAOoCACEDMwAAgAMAIOEBAgAAAAHjAQIAAAABHTAAAKQDACAxAAClAwAgNQAApwMAIL4BAgAAAAHEAUAAAAAB0AEBAAAAAdoBQAAAAAHjAQIAAAAB5AECAAAAAeUBAgAAAAHmAQEAAAAB5wEBAAAAAegBAQAAAAHpAQEAAAAB6gEAAJ4DACDrAQAAnwMAIOwBAQAAAAHtAQEAAAAB7gEBAAAAAe8BAACgAwAg8AEAAKEDACDxAQAAogMAIPIBAACjAwAg8wGAAAAAAfQBAQAAAAH1AQEAAAAB9gEBAAAAAfcBAQAAAAH5ASAAAAABAgAAAEkAIBMAAPYDACADAAAASQAgEwAA9gMAIBQAAPUDACABDAAAwwQAMAIAAABJACAMAAD1AwAgAgAAALcDACAMAAD0AwAgGr4BAgDqAgAhxAFAAOkCACHQAQEA6AIAIdoBQADpAgAh4wECAOoCACHkAQIA6gIAIeUBAgDrAgAh5gEBAOgCACHnAQEA6AIAIegBAQDoAgAh6QEBAOgCACHqAQAAhwMAIOsBAACIAwAg7AEBAOgCACHtAQEA6AIAIe4BAQDoAgAh7wEAAIkDACDwAQAAigMAIPEBAACLAwAg8gEAAIwDACDzAYAAAAAB9AEBAOgCACH1AQEA6AIAIfYBAQDoAgAh9wEBAOgCACH5ASAAjQMAIR0wAACOAwAgMQAAjwMAIDUAAJEDACC-AQIA6gIAIcQBQADpAgAh0AEBAOgCACHaAUAA6QIAIeMBAgDqAgAh5AECAOoCACHlAQIA6wIAIeYBAQDoAgAh5wEBAOgCACHoAQEA6AIAIekBAQDoAgAh6gEAAIcDACDrAQAAiAMAIOwBAQDoAgAh7QEBAOgCACHuAQEA6AIAIe8BAACJAwAg8AEAAIoDACDxAQAAiwMAIPIBAACMAwAg8wGAAAAAAfQBAQDoAgAh9QEBAOgCACH2AQEA6AIAIfcBAQDoAgAh-QEgAI0DACEdMAAApAMAIDEAAKUDACA1AACnAwAgvgECAAAAAcQBQAAAAAHQAQEAAAAB2gFAAAAAAeMBAgAAAAHkAQIAAAAB5QECAAAAAeYBAQAAAAHnAQEAAAAB6AEBAAAAAekBAQAAAAHqAQAAngMAIOsBAACfAwAg7AEBAAAAAe0BAQAAAAHuAQEAAAAB7wEAAKADACDwAQAAoQMAIPEBAACiAwAg8gEAAKMDACDzAYAAAAAB9AEBAAAAAfUBAQAAAAH2AQEAAAAB9wEBAAAAAfkBIAAAAAEQNgAA3AMAIDcAANsDACC-AQIAAAABxAFAAAAAAdABAQAAAAHaAUAAAAAB4wECAAAAAeYBAQAAAAHnAQEAAAAB6AEBAAAAAfYBAQAAAAH3AQEAAAAB-QEgAAAAAf0BAQAAAAH-AQEAAAAB_wEBAAAAAQIAAAA_ACATAACCBAAgAwAAAD8AIBMAAIIEACAUAACBBAAgAQwAAMIEADAVLwAAyAIAIDYAAMwCACA3AADQAgAguwEAAM8CADC8AQAAPQAQvQEAAM8CADC-AQIAAAABxAFAALACACHQAQEArgIAIdoBQACwAgAh4wECAK0CACHmAQEArgIAIecBAQAAAAHoAQEArgIAIfYBAQCuAgAh9wEBAK4CACH5ASAAxQIAIf0BAQCuAgAh_gEBAK4CACH_AQEArgIAIYACAgC2AgAhAgAAAD8AIAwAAIEEACACAAAA_wMAIAwAAIAEACASuwEAAP4DADC8AQAA_wMAEL0BAAD-AwAwvgECAK0CACHEAUAAsAIAIdABAQCuAgAh2gFAALACACHjAQIArQIAIeYBAQCuAgAh5wEBAK4CACHoAQEArgIAIfYBAQCuAgAh9wEBAK4CACH5ASAAxQIAIf0BAQCuAgAh_gEBAK4CACH_AQEArgIAIYACAgC2AgAhErsBAAD-AwAwvAEAAP8DABC9AQAA_gMAML4BAgCtAgAhxAFAALACACHQAQEArgIAIdoBQACwAgAh4wECAK0CACHmAQEArgIAIecBAQCuAgAh6AEBAK4CACH2AQEArgIAIfcBAQCuAgAh-QEgAMUCACH9AQEArgIAIf4BAQCuAgAh_wEBAK4CACGAAgIAtgIAIQ6-AQIA6gIAIcQBQADpAgAh0AEBAOgCACHaAUAA6QIAIeMBAgDqAgAh5gEBAOgCACHnAQEA6AIAIegBAQDoAgAh9gEBAOgCACH3AQEA6AIAIfkBIACNAwAh_QEBAOgCACH-AQEA6AIAIf8BAQDoAgAhEDYAAMQDACA3AADDAwAgvgECAOoCACHEAUAA6QIAIdABAQDoAgAh2gFAAOkCACHjAQIA6gIAIeYBAQDoAgAh5wEBAOgCACHoAQEA6AIAIfYBAQDoAgAh9wEBAOgCACH5ASAAjQMAIf0BAQDoAgAh_gEBAOgCACH_AQEA6AIAIRA2AADcAwAgNwAA2wMAIL4BAgAAAAHEAUAAAAAB0AEBAAAAAdoBQAAAAAHjAQIAAAAB5gEBAAAAAecBAQAAAAHoAQEAAAAB9gEBAAAAAfcBAQAAAAH5ASAAAAAB_QEBAAAAAf4BAQAAAAH_AQEAAAABBBMAAPcDADCWAgAA-AMAMJgCAAD6AwAgnAIAAPsDADAEEwAA7gMAMJYCAADvAwAwmAIAAPEDACCcAgAAswMAMAQTAADlAwAwlgIAAOYDADCYAgAA6AMAIJwCAACWAwAwAAAABjAAAIsEACAxAACMBAAgMgAAigQAIDUAAIgEACDlAQAA4gIAIPgBAADiAgAgBTgAAIYEACA5AACHBAAgOgAAiAQAIIMCAADiAgAghAIAAOICACAELwAAigQAIDYAAIcEACA3AACNBAAggAIAAOICACACMAAAiwQAIDYAAIcEACAAAAAAAAABmQJAAAAAAQUTAAC9BAAgFAAAwAQAIJYCAAC-BAAglwIAAL8EACCcAgAAAQAgAxMAAL0EACCWAgAAvgQAIJwCAAABACAAAAAAAAGZAgAAAJECAgsTAACqBAAwFAAArwQAMJYCAACrBAAwlwIAAKwEADCYAgAArQQAIJkCAACuBAAwmgIAAK4EADCbAgAArgQAMJwCAACuBAAwnQIAALAEADCeAgAAsQQAMAsTAACeBAAwFAAAowQAMJYCAACfBAAwlwIAAKAEADCYAgAAoQQAIJkCAACiBAAwmgIAAKIEADCbAgAAogQAMJwCAACiBAAwnQIAAKQEADCeAgAApQQAMAa-AQIAAAABwAEBAAAAAcEBAQAAAAHCAQEAAAABwwEBAAAAAcQBQAAAAAECAAAACQAgEwAAqQQAIAMAAAAJACATAACpBAAgFAAAqAQAIAEMAAC8BAAwCwMAAN8CACC7AQAA3gIAMLwBAAAHABC9AQAA3gIAML4BAgAAAAG_AQIAtgIAIcABAQCuAgAhwQEBAK4CACHCAQEArgIAIcMBAQCuAgAhxAFAALACACECAAAACQAgDAAAqAQAIAIAAACmBAAgDAAApwQAIAq7AQAApQQAMLwBAACmBAAQvQEAAKUEADC-AQIArQIAIb8BAgC2AgAhwAEBAK4CACHBAQEArgIAIcIBAQCuAgAhwwEBAK4CACHEAUAAsAIAIQq7AQAApQQAMLwBAACmBAAQvQEAAKUEADC-AQIArQIAIb8BAgC2AgAhwAEBAK4CACHBAQEArgIAIcIBAQCuAgAhwwEBAK4CACHEAUAAsAIAIQa-AQIA6gIAIcABAQDoAgAhwQEBAOgCACHCAQEA6AIAIcMBAQDoAgAhxAFAAOkCACEGvgECAOoCACHAAQEA6AIAIcEBAQDoAgAhwgEBAOgCACHDAQEA6AIAIcQBQADpAgAhBr4BAgAAAAHAAQEAAAABwQEBAAAAAcIBAQAAAAHDAQEAAAABxAFAAAAAAQa-AQIAAAABxAFAAAAAAdcBAQAAAAGMAgEAAAABjQJAAAAAAY4CQAAAAAECAAAABQAgEwAAtQQAIAMAAAAFACATAAC1BAAgFAAAtAQAIAEMAAC7BAAwCwMAAOECACC7AQAA4AIAMLwBAAADABC9AQAA4AIAML4BAgAAAAG_AQIArQIAIcQBQACwAgAh1wEBAK4CACGMAgEAAAABjQJAALACACGOAkAA2wIAIQIAAAAFACAMAAC0BAAgAgAAALIEACAMAACzBAAgCrsBAACxBAAwvAEAALIEABC9AQAAsQQAML4BAgCtAgAhvwECAK0CACHEAUAAsAIAIdcBAQCuAgAhjAIBAK4CACGNAkAAsAIAIY4CQADbAgAhCrsBAACxBAAwvAEAALIEABC9AQAAsQQAML4BAgCtAgAhvwECAK0CACHEAUAAsAIAIdcBAQCuAgAhjAIBAK4CACGNAkAAsAIAIY4CQADbAgAhBr4BAgDqAgAhxAFAAOkCACHXAQEA6AIAIYwCAQDoAgAhjQJAAOkCACGOAkAAkwQAIQa-AQIA6gIAIcQBQADpAgAh1wEBAOgCACGMAgEA6AIAIY0CQADpAgAhjgJAAJMEACEGvgECAAAAAcQBQAAAAAHXAQEAAAABjAIBAAAAAY0CQAAAAAGOAkAAAAABBBMAAKoEADCWAgAAqwQAMJgCAACtBAAgnAIAAK4EADAEEwAAngQAMJYCAACfBAAwmAIAAKEEACCcAgAAogQAMAAAAwQAALgEACAFAAC5BAAgkwIAAOICACAGvgECAAAAAcQBQAAAAAHXAQEAAAABjAIBAAAAAY0CQAAAAAGOAkAAAAABBr4BAgAAAAHAAQEAAAABwQEBAAAAAcIBAQAAAAHDAQEAAAABxAFAAAAAAQoFAAC3BAAgvgECAAAAAcQBQAAAAAHQAQEAAAAB0gEBAAAAAdoBQAAAAAGPAgEAAAABkQIAAACRAgKSAiAAAAABkwJAAAAAAQIAAAABACATAAC9BAAgAwAAAAsAIBMAAL0EACAUAADBBAAgDAAAAAsAIAUAAJ0EACAMAADBBAAgvgECAOoCACHEAUAA6QIAIdABAQDoAgAh0gEBAOgCACHaAUAA6QIAIY8CAQDoAgAhkQIAAJsEkQIikgIgAI0DACGTAkAAkwQAIQoFAACdBAAgvgECAOoCACHEAUAA6QIAIdABAQDoAgAh0gEBAOgCACHaAUAA6QIAIY8CAQDoAgAhkQIAAJsEkQIikgIgAI0DACGTAkAAkwQAIQ6-AQIAAAABxAFAAAAAAdABAQAAAAHaAUAAAAAB4wECAAAAAeYBAQAAAAHnAQEAAAAB6AEBAAAAAfYBAQAAAAH3AQEAAAAB-QEgAAAAAf0BAQAAAAH-AQEAAAAB_wEBAAAAARq-AQIAAAABxAFAAAAAAdABAQAAAAHaAUAAAAAB4wECAAAAAeQBAgAAAAHlAQIAAAAB5gEBAAAAAecBAQAAAAHoAQEAAAAB6QEBAAAAAeoBAACeAwAg6wEAAJ8DACDsAQEAAAAB7QEBAAAAAe4BAQAAAAHvAQAAoAMAIPABAAChAwAg8QEAAKIDACDyAQAAowMAIPMBgAAAAAH0AQEAAAAB9QEBAAAAAfYBAQAAAAH3AQEAAAAB-QEgAAAAAQLhAQIAAAAB4wECAAAAAQs5AACEBAAgOgAAhQQAIL4BAgAAAAHEAUAAAAAB2AEBAAAAAYECAQAAAAGCAgIAAAABgwICAAAAAYQCAgAAAAGFAgEAAAABhgIBAAAAAQIAAAA7ACATAADFBAAgBb4BAgAAAAHQAQEAAAAB4wECAAAAAecBAQAAAAHpAQEAAAABGr4BAgAAAAHEAUAAAAAB0AEBAAAAAdoBQAAAAAHjAQIAAAAB5QECAAAAAeYBAQAAAAHnAQEAAAAB6AEBAAAAAekBAQAAAAHqAQAAngMAIOsBAACfAwAg7AEBAAAAAe0BAQAAAAHuAQEAAAAB7wEAAKADACDwAQAAoQMAIPEBAACiAwAg8gEAAKMDACDzAYAAAAAB9AEBAAAAAfUBAQAAAAH2AQEAAAAB9wEBAAAAAfgBAgAAAAH5ASAAAAABAwAAAEEAIBMAAMUEACAUAADLBAAgDQAAAEEAIAwAAMsEACA5AADjAwAgOgAA5AMAIL4BAgDqAgAhxAFAAOkCACHYAQEA6AIAIYECAQDoAgAhggICAOoCACGDAgIA6wIAIYQCAgDrAgAhhQIBAOgCACGGAgEA6AIAIQs5AADjAwAgOgAA5AMAIL4BAgDqAgAhxAFAAOkCACHYAQEA6AIAIYECAQDoAgAhggICAOoCACGDAgIA6wIAIYQCAgDrAgAhhQIBAOgCACGGAgEA6AIAIREvAADaAwAgNgAA3AMAIL4BAgAAAAHEAUAAAAAB0AEBAAAAAdoBQAAAAAHjAQIAAAAB5gEBAAAAAecBAQAAAAHoAQEAAAAB9gEBAAAAAfcBAQAAAAH5ASAAAAAB_QEBAAAAAf4BAQAAAAH_AQEAAAABgAICAAAAAQIAAAA_ACATAADMBAAgGr4BAgAAAAHEAUAAAAAB0AEBAAAAAdoBQAAAAAHjAQIAAAAB5AECAAAAAeYBAQAAAAHnAQEAAAAB6AEBAAAAAekBAQAAAAHqAQAAngMAIOsBAACfAwAg7AEBAAAAAe0BAQAAAAHuAQEAAAAB7wEAAKADACDwAQAAoQMAIPEBAACiAwAg8gEAAKMDACDzAYAAAAAB9AEBAAAAAfUBAQAAAAH2AQEAAAAB9wEBAAAAAfgBAgAAAAH5ASAAAAABAwAAAD0AIBMAAMwEACAUAADRBAAgEwAAAD0AIAwAANEEACAvAADCAwAgNgAAxAMAIL4BAgDqAgAhxAFAAOkCACHQAQEA6AIAIdoBQADpAgAh4wECAOoCACHmAQEA6AIAIecBAQDoAgAh6AEBAOgCACH2AQEA6AIAIfcBAQDoAgAh-QEgAI0DACH9AQEA6AIAIf4BAQDoAgAh_wEBAOgCACGAAgIA6wIAIREvAADCAwAgNgAAxAMAIL4BAgDqAgAhxAFAAOkCACHQAQEA6AIAIdoBQADpAgAh4wECAOoCACHmAQEA6AIAIecBAQDoAgAh6AEBAOgCACH2AQEA6AIAIfcBAQDoAgAh-QEgAI0DACH9AQEA6AIAIf4BAQDoAgAh_wEBAOgCACGAAgIA6wIAIQs4AACDBAAgOgAAhQQAIL4BAgAAAAHEAUAAAAAB2AEBAAAAAYECAQAAAAGCAgIAAAABgwICAAAAAYQCAgAAAAGFAgEAAAABhgIBAAAAAQIAAAA7ACATAADSBAAgBzAAALsDACC-AQIAAAAB0AEBAAAAAeMBAgAAAAHkAQIAAAAB5wEBAAAAAekBAQAAAAECAAAARQAgEwAA1AQAIBEvAADaAwAgNwAA2wMAIL4BAgAAAAHEAUAAAAAB0AEBAAAAAdoBQAAAAAHjAQIAAAAB5gEBAAAAAecBAQAAAAHoAQEAAAAB9gEBAAAAAfcBAQAAAAH5ASAAAAAB_QEBAAAAAf4BAQAAAAH_AQEAAAABgAICAAAAAQIAAAA_ACATAADWBAAgAuIBAgAAAAHjAQIAAAABAwAAAEEAIBMAANIEACAUAADbBAAgDQAAAEEAIAwAANsEACA4AADiAwAgOgAA5AMAIL4BAgDqAgAhxAFAAOkCACHYAQEA6AIAIYECAQDoAgAhggICAOoCACGDAgIA6wIAIYQCAgDrAgAhhQIBAOgCACGGAgEA6AIAIQs4AADiAwAgOgAA5AMAIL4BAgDqAgAhxAFAAOkCACHYAQEA6AIAIYECAQDoAgAhggICAOoCACGDAgIA6wIAIYQCAgDrAgAhhQIBAOgCACGGAgEA6AIAIQMAAABDACATAADUBAAgFAAA3gQAIAkAAABDACAMAADeBAAgMAAArQMAIL4BAgDqAgAh0AEBAOgCACHjAQIA6gIAIeQBAgDqAgAh5wEBAOgCACHpAQEA6AIAIQcwAACtAwAgvgECAOoCACHQAQEA6AIAIeMBAgDqAgAh5AECAOoCACHnAQEA6AIAIekBAQDoAgAhAwAAAD0AIBMAANYEACAUAADhBAAgEwAAAD0AIAwAAOEEACAvAADCAwAgNwAAwwMAIL4BAgDqAgAhxAFAAOkCACHQAQEA6AIAIdoBQADpAgAh4wECAOoCACHmAQEA6AIAIecBAQDoAgAh6AEBAOgCACH2AQEA6AIAIfcBAQDoAgAh-QEgAI0DACH9AQEA6AIAIf4BAQDoAgAh_wEBAOgCACGAAgIA6wIAIREvAADCAwAgNwAAwwMAIL4BAgDqAgAhxAFAAOkCACHQAQEA6AIAIdoBQADpAgAh4wECAOoCACHmAQEA6AIAIecBAQDoAgAh6AEBAOgCACH2AQEA6AIAIfcBAQDoAgAh-QEgAI0DACH9AQEA6AIAIf4BAQDoAgAh_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_GQBAGgBBGwBCHABDAAAAAAAFBgA_GQBAGgBBGwBCHABDAjMAGzQAGAIzABs0ABgFBgBIGQBJGgBKGwBLHABMAAAAAAAFBgBIGQBJGgBKGwBLHABMAAAABQYAUhkAUxoAVBsAVRwAVgAAAAAABQYAUhkAUxoAVBsAVRwAVgAAAAUGAFwZAF0aAF4bAF8cAGAAAAAAAAUGAFwZAF0aAF4bAF8cAGABA4sCAQEDkQIBBQYAZRkAZhoAZxsAaBwAaQAAAAAABQYAZRkAZhoAZxsAaBwAaQcCAQgPAQkRAQoSAQsTAQ0VAQ4XBQ8YBhAaAREcBRIdBxUeARYfARcgBR0jCB4kDh8lAiAmAiEnAiIoAiMpAiQrAiUtBSYuDycwAigyBSkzECo0Ais1Aiw2BS05ES46Fzs8GDxbGD1dGD5eGD9fGEBhGEFjBUJkIUNmGERoBUVpIkZqGEdrGEhsBUlvI0pwKUtxGUxyGU1zGU50GU91GVB3GVF5BVJ6KlN9GVR_BVWAAStWggEZV4MBGViEAQVZhwEsWogBMluJARpcigEaXYsBGl6MARpfjQEaYI8BGmGRAQVikgEzY5QBGmSWAQVllwE0ZpgBGmeZARpomgEFaZ0BNWqeATtrnwEbbKABG22hARtuogEbb6MBG3ClARtxpwEFcqgBPHOsARt0rgEFda8BPXayARt3swEbeLQBBXm3AT56uAFEe7kBHHy6ARx9uwEcfrwBHH-9ARyAAb8BHIEBwQEFggHCAUWDAcQBHIQBxgEFhQHHAUaGAcgBHIcByQEciAHKAQWJAc0BR4oBzgFNiwHQAU6MAdEBTo0B1AFOjgHVAU6PAdYBTpAB2AFOkQHaAQWSAdsBT5MB3QFOlAHfAQWVAeABUJYB4QFOlwHiAU6YAeMBBZkB5gFRmgHnAVebAekBWJwB6gFYnQHtAVieAe4BWJ8B7wFYoAHxAVihAfMBBaIB9AFZowH2AVikAfgBBaUB-QFapgH6AVinAfsBWKgB_AEFqQH_AVuqAYACYasBgQIDrAGCAgOtAYMCA64BhAIDrwGFAgOwAYcCA7EBiQIFsgGKAmKzAY0CA7QBjwIFtQGQAmO2AZICA7cBkwIDuAGUAgW5AZcCZLoBmAJq"
+};
+async function decodeBase64AsWasm(wasmBase64) {
+ const { Buffer: Buffer2 } = await import("node:buffer");
+ const wasmArray = Buffer2.from(wasmBase64, "base64");
+ return new WebAssembly.Module(wasmArray);
+}
+__name(decodeBase64AsWasm, "decodeBase64AsWasm");
+config2.compilerWasm = {
+ getRuntime: /* @__PURE__ */ __name(async () => await import("./query_compiler_fast_bg.postgresql-RWS5SSGB.js"), "getRuntime"),
+ getQueryCompilerWasmModule: /* @__PURE__ */ __name(async () => {
+ const { wasm } = await import("./query_compiler_fast_bg.postgresql.wasm-base64-5YP3ZLAU.js");
+ return await decodeBase64AsWasm(wasm);
+ }, "getQueryCompilerWasmModule"),
+ importName: "./query_compiler_fast_bg.js"
+};
+function getPrismaClientClass() {
+ return runtime.getPrismaClient(config2);
+}
+__name(getPrismaClientClass, "getPrismaClientClass");
+
+// dist/generated/prisma/internal/prismaNamespace.js
+var prismaNamespace_exports = {};
+__export(prismaNamespace_exports, {
+ AdminUserScalarFieldEnum: () => AdminUserScalarFieldEnum,
+ AnyNull: () => AnyNull3,
+ AuditLogScalarFieldEnum: () => AuditLogScalarFieldEnum,
+ CategoryScalarFieldEnum: () => CategoryScalarFieldEnum,
+ ContactMessageScalarFieldEnum: () => ContactMessageScalarFieldEnum,
+ DbNull: () => DbNull3,
+ Decimal: () => Decimal3,
+ JsonNull: () => JsonNull3,
+ JsonNullValueFilter: () => JsonNullValueFilter,
+ JsonNullValueInput: () => JsonNullValueInput,
+ MediaScalarFieldEnum: () => MediaScalarFieldEnum,
+ ModelName: () => ModelName,
+ NullTypes: () => NullTypes3,
+ NullsOrder: () => NullsOrder,
+ PrismaClientInitializationError: () => PrismaClientInitializationError3,
+ PrismaClientKnownRequestError: () => PrismaClientKnownRequestError3,
+ PrismaClientRustPanicError: () => PrismaClientRustPanicError3,
+ PrismaClientUnknownRequestError: () => PrismaClientUnknownRequestError3,
+ PrismaClientValidationError: () => PrismaClientValidationError3,
+ ProductGroupScalarFieldEnum: () => ProductGroupScalarFieldEnum,
+ ProductImageScalarFieldEnum: () => ProductImageScalarFieldEnum,
+ ProductScalarFieldEnum: () => ProductScalarFieldEnum,
+ QueryMode: () => QueryMode,
+ RefreshTokenScalarFieldEnum: () => RefreshTokenScalarFieldEnum,
+ SiteSectionScalarFieldEnum: () => SiteSectionScalarFieldEnum,
+ SortOrder: () => SortOrder,
+ Sql: () => Sql3,
+ TransactionIsolationLevel: () => TransactionIsolationLevel,
+ defineExtension: () => defineExtension,
+ empty: () => empty3,
+ getExtensionContext: () => getExtensionContext,
+ join: () => join3,
+ prismaVersion: () => prismaVersion,
+ raw: () => raw3,
+ sql: () => sql
+});
+var runtime2 = __toESM(require_client(), 1);
+var PrismaClientKnownRequestError3 = runtime2.PrismaClientKnownRequestError;
+var PrismaClientUnknownRequestError3 = runtime2.PrismaClientUnknownRequestError;
+var PrismaClientRustPanicError3 = runtime2.PrismaClientRustPanicError;
+var PrismaClientInitializationError3 = runtime2.PrismaClientInitializationError;
+var PrismaClientValidationError3 = runtime2.PrismaClientValidationError;
+var sql = runtime2.sqltag;
+var empty3 = runtime2.empty;
+var join3 = runtime2.join;
+var raw3 = runtime2.raw;
+var Sql3 = runtime2.Sql;
+var Decimal3 = runtime2.Decimal;
+var getExtensionContext = runtime2.Extensions.getExtensionContext;
+var prismaVersion = {
+ client: "7.10.1",
+ engine: "d1b3f377ca835d73fd50954a5e22128b9ebdd6b8"
+};
+var NullTypes3 = {
+ DbNull: runtime2.NullTypes.DbNull,
+ JsonNull: runtime2.NullTypes.JsonNull,
+ AnyNull: runtime2.NullTypes.AnyNull
+};
+var DbNull3 = runtime2.DbNull;
+var JsonNull3 = runtime2.JsonNull;
+var AnyNull3 = runtime2.AnyNull;
+var ModelName = {
+ AdminUser: "AdminUser",
+ RefreshToken: "RefreshToken",
+ Media: "Media",
+ Category: "Category",
+ ProductGroup: "ProductGroup",
+ Product: "Product",
+ ProductImage: "ProductImage",
+ SiteSection: "SiteSection",
+ ContactMessage: "ContactMessage",
+ AuditLog: "AuditLog"
+};
+var TransactionIsolationLevel = runtime2.makeStrictEnum({
+ ReadUncommitted: "ReadUncommitted",
+ ReadCommitted: "ReadCommitted",
+ RepeatableRead: "RepeatableRead",
+ Serializable: "Serializable"
+});
+var AdminUserScalarFieldEnum = {
+ id: "id",
+ phone: "phone",
+ name: "name",
+ passwordHash: "passwordHash",
+ role: "role",
+ isActive: "isActive",
+ lastLoginAt: "lastLoginAt",
+ createdAt: "createdAt",
+ updatedAt: "updatedAt"
+};
+var RefreshTokenScalarFieldEnum = {
+ id: "id",
+ userId: "userId",
+ tokenHash: "tokenHash",
+ expiresAt: "expiresAt",
+ revokedAt: "revokedAt",
+ userAgent: "userAgent",
+ createdAt: "createdAt"
+};
+var MediaScalarFieldEnum = {
+ id: "id",
+ key: "key",
+ mime: "mime",
+ size: "size",
+ width: "width",
+ height: "height",
+ alt: "alt",
+ originalName: "originalName",
+ createdAt: "createdAt"
+};
+var CategoryScalarFieldEnum = {
+ id: "id",
+ slug: "slug",
+ code: "code",
+ name: "name",
+ nameEn: "nameEn",
+ shortDesc: "shortDesc",
+ fullDesc: "fullDesc",
+ icon: "icon",
+ coverImageId: "coverImageId",
+ sortOrder: "sortOrder",
+ isPublished: "isPublished",
+ seoTitle: "seoTitle",
+ seoDescription: "seoDescription",
+ createdAt: "createdAt",
+ updatedAt: "updatedAt"
+};
+var ProductGroupScalarFieldEnum = {
+ id: "id",
+ categoryId: "categoryId",
+ slug: "slug",
+ name: "name",
+ desc: "desc",
+ sortOrder: "sortOrder"
+};
+var ProductScalarFieldEnum = {
+ id: "id",
+ categoryId: "categoryId",
+ groupId: "groupId",
+ code: "code",
+ slug: "slug",
+ name: "name",
+ nameEn: "nameEn",
+ desc: "desc",
+ specs: "specs",
+ variants: "variants",
+ details: "details",
+ brand: "brand",
+ origin: "origin",
+ sizes: "sizes",
+ standards: "standards",
+ features: "features",
+ applications: "applications",
+ attributes: "attributes",
+ packaging: "packaging",
+ minOrder: "minOrder",
+ seoTitle: "seoTitle",
+ seoDescription: "seoDescription",
+ imageId: "imageId",
+ sortOrder: "sortOrder",
+ isPublished: "isPublished",
+ createdAt: "createdAt",
+ updatedAt: "updatedAt"
+};
+var ProductImageScalarFieldEnum = {
+ productId: "productId",
+ mediaId: "mediaId",
+ sortOrder: "sortOrder"
+};
+var SiteSectionScalarFieldEnum = {
+ key: "key",
+ data: "data",
+ updatedById: "updatedById",
+ updatedAt: "updatedAt"
+};
+var ContactMessageScalarFieldEnum = {
+ id: "id",
+ name: "name",
+ org: "org",
+ phone: "phone",
+ message: "message",
+ status: "status",
+ ip: "ip",
+ userAgent: "userAgent",
+ createdAt: "createdAt"
+};
+var AuditLogScalarFieldEnum = {
+ id: "id",
+ userId: "userId",
+ action: "action",
+ entity: "entity",
+ entityId: "entityId",
+ summary: "summary",
+ createdAt: "createdAt"
+};
+var SortOrder = {
+ asc: "asc",
+ desc: "desc"
+};
+var JsonNullValueInput = {
+ JsonNull: JsonNull3
+};
+var QueryMode = {
+ default: "default",
+ insensitive: "insensitive"
+};
+var NullsOrder = {
+ first: "first",
+ last: "last"
+};
+var JsonNullValueFilter = {
+ DbNull: DbNull3,
+ JsonNull: JsonNull3,
+ AnyNull: AnyNull3
+};
+var defineExtension = runtime2.Extensions.defineExtension;
+
+// dist/generated/prisma/client.js
+globalThis["__dirname"] = path.dirname(fileURLToPath(import.meta.url));
+var PrismaClient = getPrismaClientClass();
+
+// dist/prisma/prisma.service.js
+var __decorate = function(decorators, target, key, desc) {
+ var c5 = arguments.length, r5 = c5 < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d5;
+ if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r5 = Reflect.decorate(decorators, target, key, desc);
+ else for (var i5 = decorators.length - 1; i5 >= 0; i5--) if (d5 = decorators[i5]) r5 = (c5 < 3 ? d5(r5) : c5 > 3 ? d5(target, key, r5) : d5(target, key)) || r5;
+ return c5 > 3 && r5 && Object.defineProperty(target, key, r5), r5;
+};
+var __metadata = function(k5, v) {
+ if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k5, v);
+};
+var createPrismaClient = /* @__PURE__ */ __name(() => new PrismaClient({ adapter: new PrismaPgAdapterFactory({ connectionString: env.DATABASE_URL }) }), "createPrismaClient");
+var PrismaService = class PrismaService2 extends PrismaClient {
+ static {
+ __name(this, "PrismaService");
+ }
+ constructor() {
+ super({ adapter: new PrismaPgAdapterFactory({ connectionString: env.DATABASE_URL }) });
+ }
+ async onModuleDestroy() {
+ await this.$disconnect();
+ }
+};
+PrismaService = __decorate([
+ Injectable(),
+ __metadata("design:paramtypes", [])
+], PrismaService);
+var PrismaModule = class PrismaModule2 {
+ static {
+ __name(this, "PrismaModule");
+ }
+};
+PrismaModule = __decorate([
+ Global(),
+ Module({ providers: [PrismaService], exports: [PrismaService] })
+], PrismaModule);
+
+// dist/auth/auth.service.js
+init_common();
+import { createHash, randomBytes } from "node:crypto";
+
+// ../../node_modules/.pnpm/@nestjs+jwt@12.0.3_@nestjs+_facab28c43df169ee1a851fa7198ecfe/node_modules/@nestjs/jwt/dist/index.js
+var import_jsonwebtoken2 = __toESM(require_jsonwebtoken(), 1);
+
+// ../../node_modules/.pnpm/@nestjs+jwt@12.0.3_@nestjs+_facab28c43df169ee1a851fa7198ecfe/node_modules/@nestjs/jwt/dist/interfaces/jwt-module-options.interface.js
+var JwtSecretRequestType;
+(function(JwtSecretRequestType2) {
+ JwtSecretRequestType2[JwtSecretRequestType2["SIGN"] = 0] = "SIGN";
+ JwtSecretRequestType2[JwtSecretRequestType2["VERIFY"] = 1] = "VERIFY";
+})(JwtSecretRequestType || (JwtSecretRequestType = {}));
+
+// ../../node_modules/.pnpm/@nestjs+jwt@12.0.3_@nestjs+_facab28c43df169ee1a851fa7198ecfe/node_modules/@nestjs/jwt/dist/jwt.errors.js
+var WrongSecretProviderError = class extends Error {
+ static {
+ __name(this, "WrongSecretProviderError");
+ }
+};
+
+// ../../node_modules/.pnpm/@nestjs+jwt@12.0.3_@nestjs+_facab28c43df169ee1a851fa7198ecfe/node_modules/@nestjs/jwt/dist/jwt.module.js
+init_common();
+
+// ../../node_modules/.pnpm/@nestjs+jwt@12.0.3_@nestjs+_facab28c43df169ee1a851fa7198ecfe/node_modules/@nestjs/jwt/dist/jwt.constants.js
+var JWT_MODULE_OPTIONS = "JWT_MODULE_OPTIONS";
+
+// ../../node_modules/.pnpm/@nestjs+jwt@12.0.3_@nestjs+_facab28c43df169ee1a851fa7198ecfe/node_modules/@nestjs/jwt/dist/jwt.providers.js
+function createJwtProvider(options) {
+ return [{ provide: JWT_MODULE_OPTIONS, useValue: options || {} }];
+}
+__name(createJwtProvider, "createJwtProvider");
+
+// ../../node_modules/.pnpm/@nestjs+jwt@12.0.3_@nestjs+_facab28c43df169ee1a851fa7198ecfe/node_modules/@nestjs/jwt/dist/jwt.service.js
+init_common();
+var import_jsonwebtoken = __toESM(require_jsonwebtoken(), 1);
+var __decorate2 = function(decorators, target, key, desc) {
+ var c5 = arguments.length, r5 = c5 < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d5;
+ if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r5 = Reflect.decorate(decorators, target, key, desc);
+ else for (var i5 = decorators.length - 1; i5 >= 0; i5--) if (d5 = decorators[i5]) r5 = (c5 < 3 ? d5(r5) : c5 > 3 ? d5(target, key, r5) : d5(target, key)) || r5;
+ return c5 > 3 && r5 && Object.defineProperty(target, key, r5), r5;
+};
+var __metadata2 = function(k5, v) {
+ if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k5, v);
+};
+var __param = function(paramIndex, decorator) {
+ return function(target, key) {
+ decorator(target, key, paramIndex);
+ };
+};
+var JwtService = class JwtService2 {
+ static {
+ __name(this, "JwtService");
+ }
+ constructor(options = {}) {
+ this.options = options;
+ this.logger = new Logger("JwtService");
+ }
+ sign(payload, options) {
+ const signOptions = this.mergeJwtOptions({ ...options }, "signOptions");
+ const secret = this.getSecretKey(payload, options, "privateKey", JwtSecretRequestType.SIGN);
+ if (secret instanceof Promise) {
+ secret.catch(() => {
+ });
+ this.logger.warn('For async version of "secretOrKeyProvider", please use "signAsync".');
+ throw new WrongSecretProviderError();
+ }
+ const allowedSignOptKeys = ["secret", "privateKey"];
+ const signOptKeys = Object.keys(signOptions);
+ if (typeof payload === "string" && signOptKeys.some((k5) => !allowedSignOptKeys.includes(k5))) {
+ throw new Error("Payload as string is not allowed with the following sign options: " + signOptKeys.join(", "));
+ }
+ return import_jsonwebtoken.default.sign(payload, secret, signOptions);
+ }
+ signAsync(payload, options) {
+ const signOptions = this.mergeJwtOptions({ ...options }, "signOptions");
+ const secret = this.getSecretKey(payload, options, "privateKey", JwtSecretRequestType.SIGN);
+ const allowedSignOptKeys = ["secret", "privateKey"];
+ const signOptKeys = Object.keys(signOptions);
+ if (typeof payload === "string" && signOptKeys.some((k5) => !allowedSignOptKeys.includes(k5))) {
+ if (secret instanceof Promise) {
+ secret.catch(() => {
+ });
+ }
+ throw new Error("Payload as string is not allowed with the following sign options: " + signOptKeys.join(", "));
+ }
+ return new Promise((resolve, reject) => Promise.resolve().then(() => secret).then((scrt) => {
+ import_jsonwebtoken.default.sign(payload, scrt, signOptions, (err, encoded) => err ? reject(err) : resolve(encoded));
+ }).catch(reject));
+ }
+ verify(token, options) {
+ const verifyOptions = this.mergeJwtOptions({ ...options }, "verifyOptions");
+ const secret = this.getSecretKey(token, options, "publicKey", JwtSecretRequestType.VERIFY);
+ if (secret instanceof Promise) {
+ secret.catch(() => {
+ });
+ this.logger.warn('For async version of "secretOrKeyProvider", please use "verifyAsync".');
+ throw new WrongSecretProviderError();
+ }
+ return import_jsonwebtoken.default.verify(token, secret, verifyOptions);
+ }
+ verifyAsync(token, options) {
+ const verifyOptions = this.mergeJwtOptions({ ...options }, "verifyOptions");
+ const secret = this.getSecretKey(token, options, "publicKey", JwtSecretRequestType.VERIFY);
+ return new Promise((resolve, reject) => Promise.resolve().then(() => secret).then((scrt) => {
+ import_jsonwebtoken.default.verify(token, scrt, verifyOptions, (err, decoded) => err ? reject(err) : resolve(decoded));
+ }).catch(reject));
+ }
+ decode(token, options) {
+ return import_jsonwebtoken.default.decode(token, options);
+ }
+ mergeJwtOptions(options, key) {
+ delete options.secret;
+ if (key === "signOptions") {
+ delete options.privateKey;
+ } else {
+ delete options.publicKey;
+ }
+ return options ? { ...this.options[key] || {}, ...options } : this.options[key];
+ }
+ overrideSecretFromOptions(secret) {
+ if (this.options.secretOrPrivateKey) {
+ this.logger.warn(`"secretOrPrivateKey" has been deprecated, please use the new explicit "secret" or use "secretOrKeyProvider" or "privateKey"/"publicKey" exclusively.`);
+ secret = this.options.secretOrPrivateKey;
+ }
+ return secret;
+ }
+ getSecretKey(token, options, key, secretRequestType) {
+ const secret = this.options.secretOrKeyProvider ? this.options.secretOrKeyProvider(secretRequestType, token, options) : options?.secret || this.options.secret || (key === "privateKey" ? options?.privateKey || this.options.privateKey : options?.publicKey || this.options.publicKey) || this.options[key];
+ return secret instanceof Promise ? secret.then((sec) => this.overrideSecretFromOptions(sec)) : this.overrideSecretFromOptions(secret);
+ }
+};
+JwtService = __decorate2([
+ Injectable(),
+ __param(0, Optional()),
+ __param(0, Inject(JWT_MODULE_OPTIONS)),
+ __metadata2("design:paramtypes", [Object])
+], JwtService);
+
+// ../../node_modules/.pnpm/@nestjs+jwt@12.0.3_@nestjs+_facab28c43df169ee1a851fa7198ecfe/node_modules/@nestjs/jwt/dist/jwt.module.js
+var __decorate3 = function(decorators, target, key, desc) {
+ var c5 = arguments.length, r5 = c5 < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d5;
+ if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r5 = Reflect.decorate(decorators, target, key, desc);
+ else for (var i5 = decorators.length - 1; i5 >= 0; i5--) if (d5 = decorators[i5]) r5 = (c5 < 3 ? d5(r5) : c5 > 3 ? d5(target, key, r5) : d5(target, key)) || r5;
+ return c5 > 3 && r5 && Object.defineProperty(target, key, r5), r5;
+};
+var JwtModule_1;
+var JwtModule = JwtModule_1 = class JwtModule2 {
+ static {
+ __name(this, "JwtModule");
+ }
+ static register(options) {
+ return {
+ module: JwtModule_1,
+ global: options.global,
+ providers: createJwtProvider(options)
+ };
+ }
+ static registerAsync(options) {
+ return {
+ module: JwtModule_1,
+ global: options.global,
+ imports: options.imports || [],
+ providers: [
+ ...this.createAsyncProviders(options),
+ ...options.extraProviders ?? []
+ ]
+ };
+ }
+ static createAsyncProviders(options) {
+ if (options.useExisting || options.useFactory) {
+ return [this.createAsyncOptionsProvider(options)];
+ }
+ return [
+ this.createAsyncOptionsProvider(options),
+ {
+ provide: options.useClass,
+ useClass: options.useClass
+ }
+ ];
+ }
+ static createAsyncOptionsProvider(options) {
+ if (options.useFactory) {
+ return {
+ provide: JWT_MODULE_OPTIONS,
+ useFactory: options.useFactory,
+ inject: options.inject || []
+ };
+ }
+ return {
+ provide: JWT_MODULE_OPTIONS,
+ useFactory: /* @__PURE__ */ __name(async (optionsFactory) => await optionsFactory.createJwtOptions(), "useFactory"),
+ inject: [options.useExisting || options.useClass]
+ };
+ }
+};
+JwtModule = JwtModule_1 = __decorate3([
+ Module({
+ providers: [JwtService],
+ exports: [JwtService]
+ })
+], JwtModule);
+
+// ../../node_modules/.pnpm/@nestjs+jwt@12.0.3_@nestjs+_facab28c43df169ee1a851fa7198ecfe/node_modules/@nestjs/jwt/dist/index.js
+var TokenExpiredError = import_jsonwebtoken2.default.TokenExpiredError;
+var NotBeforeError = import_jsonwebtoken2.default.NotBeforeError;
+var JsonWebTokenError = import_jsonwebtoken2.default.JsonWebTokenError;
+
+// dist/auth/auth.service.js
+import { hash as hash2, verify } from "@node-rs/argon2";
+
+// dist/common/common.module.js
+init_common();
+var __decorate4 = function(decorators, target, key, desc) {
+ var c5 = arguments.length, r5 = c5 < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d5;
+ if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r5 = Reflect.decorate(decorators, target, key, desc);
+ else for (var i5 = decorators.length - 1; i5 >= 0; i5--) if (d5 = decorators[i5]) r5 = (c5 < 3 ? d5(r5) : c5 > 3 ? d5(target, key, r5) : d5(target, key)) || r5;
+ return c5 > 3 && r5 && Object.defineProperty(target, key, r5), r5;
+};
+var __metadata3 = function(k5, v) {
+ if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k5, v);
+};
+var AuditService_1;
+var RevalidateService_1;
+var AuditService = AuditService_1 = class AuditService2 {
+ static {
+ __name(this, "AuditService");
+ }
+ prisma;
+ logger = new Logger(AuditService_1.name);
+ constructor(prisma) {
+ this.prisma = prisma;
+ }
+ log(userId, action, entity, entityId = "", summary = "") {
+ this.prisma.auditLog.create({ data: { userId, action, entity, entityId: String(entityId), summary } }).catch((e5) => this.logger.warn(`audit log failed: ${String(e5)}`));
+ }
+};
+AuditService = AuditService_1 = __decorate4([
+ Injectable(),
+ __metadata3("design:paramtypes", [PrismaService])
+], AuditService);
+var RevalidateService = RevalidateService_1 = class RevalidateService2 {
+ static {
+ __name(this, "RevalidateService");
+ }
+ logger = new Logger(RevalidateService_1.name);
+ timer;
+ trigger() {
+ if (!env.WEB_REVALIDATE_URL)
+ return;
+ clearTimeout(this.timer);
+ this.timer = setTimeout(() => void this.run(), 1500);
+ this.timer.unref();
+ }
+ async run() {
+ try {
+ const res = await fetch(env.WEB_REVALIDATE_URL, {
+ method: "POST",
+ headers: { "x-revalidate-secret": env.REVALIDATE_SECRET ?? "" },
+ signal: AbortSignal.timeout(5e3)
+ });
+ if (!res.ok)
+ this.logger.warn(`site revalidation returned ${res.status}`);
+ } catch (e5) {
+ this.logger.warn(`site revalidation failed: ${String(e5)}`);
+ }
+ }
+};
+RevalidateService = RevalidateService_1 = __decorate4([
+ Injectable()
+], RevalidateService);
+var CommonModule = class CommonModule2 {
+ static {
+ __name(this, "CommonModule");
+ }
+};
+CommonModule = __decorate4([
+ Global(),
+ Module({
+ providers: [AuditService, RevalidateService],
+ exports: [AuditService, RevalidateService]
+ })
+], CommonModule);
+
+// dist/auth/auth.service.js
+var __decorate5 = function(decorators, target, key, desc) {
+ var c5 = arguments.length, r5 = c5 < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d5;
+ if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r5 = Reflect.decorate(decorators, target, key, desc);
+ else for (var i5 = decorators.length - 1; i5 >= 0; i5--) if (d5 = decorators[i5]) r5 = (c5 < 3 ? d5(r5) : c5 > 3 ? d5(target, key, r5) : d5(target, key)) || r5;
+ return c5 > 3 && r5 && Object.defineProperty(target, key, r5), r5;
+};
+var __metadata4 = function(k5, v) {
+ if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k5, v);
+};
+var hashPassword = /* @__PURE__ */ __name((password2) => hash2(password2), "hashPassword");
+var sha256 = /* @__PURE__ */ __name((v) => createHash("sha256").update(v).digest("hex"), "sha256");
+var toUserDto = /* @__PURE__ */ __name((u) => ({
+ id: u.id,
+ phone: u.phone,
+ name: u.name,
+ role: u.role,
+ isActive: u.isActive,
+ lastLoginAt: u.lastLoginAt?.toISOString() ?? null,
+ createdAt: u.createdAt.toISOString()
+}), "toUserDto");
+var INVALID_LOGIN = "\u0634\u0645\u0627\u0631\u0647 \u0645\u0648\u0628\u0627\u06CC\u0644 \u06CC\u0627 \u0631\u0645\u0632 \u0639\u0628\u0648\u0631 \u0627\u0634\u062A\u0628\u0627\u0647 \u0627\u0633\u062A";
+var DUMMY_HASH = hashPassword(randomBytes(16).toString("hex"));
+var AuthService = class AuthService2 {
+ static {
+ __name(this, "AuthService");
+ }
+ prisma;
+ jwt;
+ audit;
+ constructor(prisma, jwt2, audit) {
+ this.prisma = prisma;
+ this.jwt = jwt2;
+ this.audit = audit;
+ }
+ async login(input2, userAgent) {
+ const user = await this.prisma.adminUser.findUnique({ where: { phone: input2.phone } });
+ const ok = await verify(user?.passwordHash ?? await DUMMY_HASH, input2.password).catch(() => false);
+ if (!user || !ok || !user.isActive)
+ throw new UnauthorizedException(INVALID_LOGIN);
+ const updated = await this.prisma.adminUser.update({
+ where: { id: user.id },
+ data: { lastLoginAt: /* @__PURE__ */ new Date() }
+ });
+ this.audit.log(user.id, "login", "user", user.id, user.phone);
+ return this.issue(updated, userAgent);
+ }
+ async refresh(token, userAgent) {
+ if (!token)
+ throw new UnauthorizedException("\u0646\u0634\u0633\u062A \u0634\u0645\u0627 \u0645\u0646\u0642\u0636\u06CC \u0634\u062F\u0647 \u0627\u0633\u062A");
+ const stored = await this.prisma.refreshToken.findUnique({
+ where: { tokenHash: sha256(token) },
+ include: { user: true }
+ });
+ if (!stored)
+ throw new UnauthorizedException("\u0646\u0634\u0633\u062A \u0634\u0645\u0627 \u0645\u0646\u0642\u0636\u06CC \u0634\u062F\u0647 \u0627\u0633\u062A");
+ if (stored.revokedAt) {
+ await this.revokeAll(stored.userId);
+ throw new UnauthorizedException("\u0646\u0634\u0633\u062A \u0634\u0645\u0627 \u0645\u0646\u0642\u0636\u06CC \u0634\u062F\u0647 \u0627\u0633\u062A");
+ }
+ if (stored.expiresAt < /* @__PURE__ */ new Date() || !stored.user.isActive) {
+ throw new UnauthorizedException("\u0646\u0634\u0633\u062A \u0634\u0645\u0627 \u0645\u0646\u0642\u0636\u06CC \u0634\u062F\u0647 \u0627\u0633\u062A");
+ }
+ await this.prisma.refreshToken.update({
+ where: { id: stored.id },
+ data: { revokedAt: /* @__PURE__ */ new Date() }
+ });
+ return this.issue(stored.user, userAgent);
+ }
+ async logout(token) {
+ if (!token)
+ return;
+ await this.prisma.refreshToken.updateMany({
+ where: { tokenHash: sha256(token), revokedAt: null },
+ data: { revokedAt: /* @__PURE__ */ new Date() }
+ });
+ }
+ async changePassword(userId, input2) {
+ const user = await this.prisma.adminUser.findUniqueOrThrow({ where: { id: userId } });
+ if (!await verify(user.passwordHash, input2.currentPassword).catch(() => false)) {
+ throw new BadRequestException("\u0631\u0645\u0632 \u0639\u0628\u0648\u0631 \u0641\u0639\u0644\u06CC \u0627\u0634\u062A\u0628\u0627\u0647 \u0627\u0633\u062A");
+ }
+ await this.prisma.adminUser.update({
+ where: { id: userId },
+ data: { passwordHash: await hashPassword(input2.newPassword) }
+ });
+ this.audit.log(userId, "change-password", "user", userId, user.phone);
+ }
+ async me(userId) {
+ return toUserDto(await this.prisma.adminUser.findUniqueOrThrow({ where: { id: userId } }));
+ }
+ revokeAll(userId) {
+ return this.prisma.refreshToken.updateMany({
+ where: { userId, revokedAt: null },
+ data: { revokedAt: /* @__PURE__ */ new Date() }
+ });
+ }
+ async issue(user, userAgent) {
+ const payload = { sub: user.id, role: user.role };
+ const accessToken = await this.jwt.signAsync(payload);
+ const refreshToken = randomBytes(48).toString("base64url");
+ const refreshExpiresAt = new Date(Date.now() + env.REFRESH_TTL_DAYS * 864e5);
+ await this.prisma.refreshToken.create({
+ data: {
+ userId: user.id,
+ tokenHash: sha256(refreshToken),
+ expiresAt: refreshExpiresAt,
+ userAgent: userAgent.slice(0, 300)
+ }
+ });
+ void this.prisma.refreshToken.deleteMany({ where: { expiresAt: { lt: new Date(Date.now() - 864e5) } } }).catch(() => void 0);
+ return { accessToken, refreshToken, refreshExpiresAt, user: toUserDto(user) };
+ }
+};
+AuthService = __decorate5([
+ Injectable(),
+ __metadata4("design:paramtypes", [
+ PrismaService,
+ JwtService,
+ AuditService
+ ])
+], AuthService);
+
+// dist/media/s3-storage.js
+var import_client_s3 = __toESM(require_dist_cjs16(), 1);
+import sharp from "sharp";
+var S3Storage = class {
+ static {
+ __name(this, "S3Storage");
+ }
+ client = new import_client_s3.S3Client({
+ endpoint: env.S3_ENDPOINT,
+ region: env.S3_REGION,
+ forcePathStyle: env.S3_FORCE_PATH_STYLE,
+ credentials: { accessKeyId: env.S3_ACCESS_KEY, secretAccessKey: env.S3_SECRET_KEY }
+ });
+ bucket = env.S3_BUCKET;
+ publicUrl(key) {
+ return `${env.MEDIA_PUBLIC_URL}/${key}`;
+ }
+ async put(key, body, contentType) {
+ await this.client.send(new import_client_s3.PutObjectCommand({
+ Bucket: this.bucket,
+ Key: key,
+ Body: body,
+ ContentType: contentType,
+ CacheControl: "public, max-age=31536000, immutable"
+ }));
+ }
+ async remove(key) {
+ await this.client.send(new import_client_s3.DeleteObjectCommand({ Bucket: this.bucket, Key: key }));
+ }
+ async ensureBucket() {
+ try {
+ await this.client.send(new import_client_s3.HeadBucketCommand({ Bucket: this.bucket }));
+ } catch {
+ await this.client.send(new import_client_s3.CreateBucketCommand({ Bucket: this.bucket }));
+ }
+ try {
+ await this.client.send(new import_client_s3.PutBucketPolicyCommand({
+ Bucket: this.bucket,
+ Policy: JSON.stringify({
+ Version: "2012-10-17",
+ Statement: [
+ {
+ Effect: "Allow",
+ Principal: { AWS: ["*"] },
+ Action: ["s3:GetObject"],
+ Resource: [`arn:aws:s3:::${this.bucket}/*`]
+ }
+ ]
+ })
+ }));
+ } catch {
+ }
+ }
+};
+var ACCEPTED_IMAGE_TYPES = [
+ "image/jpeg",
+ "image/png",
+ "image/webp",
+ "image/avif",
+ "image/gif"
+];
+async function toWebp(input2) {
+ const { data, info } = await sharp(input2).rotate().resize({ width: 2e3, height: 2e3, fit: "inside", withoutEnlargement: true }).webp({ quality: 82 }).toBuffer({ resolveWithObject: true });
+ return { data, width: info.width, height: info.height, size: info.size };
+}
+__name(toWebp, "toWebp");
+
+export {
+ external_exports,
+ env,
+ isProd,
+ JwtService,
+ JwtModule,
+ toIssues,
+ categoryInputSchema,
+ productInputSchema,
+ reorderSchema,
+ productListQuerySchema,
+ sectionSchemas,
+ SECTION_KEYS,
+ isSectionKey,
+ normalizeIrMobile,
+ loginSchema,
+ changePasswordSchema,
+ userCreateSchema,
+ userUpdateSchema,
+ MESSAGE_STATUSES,
+ contactInputSchema,
+ messageUpdateSchema,
+ mediaUpdateSchema,
+ prismaNamespace_exports,
+ createPrismaClient,
+ PrismaService,
+ PrismaModule,
+ AuditService,
+ RevalidateService,
+ CommonModule,
+ hashPassword,
+ toUserDto,
+ AuthService,
+ S3Storage,
+ ACCEPTED_IMAGE_TYPES,
+ toWebp
+};
diff --git a/apps/api/.output/dist/chunks/chunk-XSOBN2CI.js b/apps/api/.output/dist/chunks/chunk-XSOBN2CI.js
new file mode 100644
index 0000000..5526423
--- /dev/null
+++ b/apps/api/.output/dist/chunks/chunk-XSOBN2CI.js
@@ -0,0 +1,53629 @@
+import { createRequire as __bundleCreateRequire } from "node:module"; const require = __bundleCreateRequire(import.meta.url);
+import {
+ BadRequestException,
+ CATCH_WATERMARK,
+ CONTROLLER_WATERMARK,
+ CUSTOM_ROUTE_ARGS_METADATA,
+ ConsoleLogger,
+ ENHANCER_KEY_TO_SUBTYPE_MAP,
+ ENTRY_PROVIDER_WATERMARK,
+ EXCEPTION_FILTERS_METADATA,
+ FILTER_CATCH_EXCEPTIONS,
+ ForbiddenException,
+ GLOBAL_MODULE_METADATA,
+ GUARDS_METADATA,
+ Global,
+ HEADERS_METADATA,
+ HOST_METADATA,
+ HTTP_CODE_METADATA,
+ HttpException,
+ HttpStatus,
+ INJECTABLE_WATERMARK,
+ INTERCEPTORS_METADATA,
+ Inject,
+ Injectable,
+ InternalServerErrorException,
+ IntrinsicException,
+ Logger,
+ METHOD_METADATA,
+ MODULE_METADATA,
+ MODULE_PATH,
+ Module,
+ NotFoundException,
+ OPTIONAL_DEPS_METADATA,
+ OPTIONAL_PROPERTY_DEPS_METADATA,
+ Optional,
+ PARAMTYPES_METADATA,
+ PATH_METADATA,
+ PIPES_METADATA,
+ PROPERTY_DEPS_METADATA,
+ PayloadTooLargeException,
+ REDIRECT_METADATA,
+ RENDER_METADATA,
+ RESPONSE_PASSTHROUGH_METADATA,
+ ROUTE_ARGS_METADATA,
+ RequestMethod,
+ RouteParamtypes,
+ SCOPE_OPTIONS_METADATA,
+ SELF_DECLARED_DEPS_METADATA,
+ SSE_ABORT_CONTROLLER,
+ SSE_METADATA,
+ SSE_OPTIONS_METADATA,
+ Scope,
+ SetMetadata,
+ ShutdownSignal,
+ StreamableFile,
+ VERSION_METADATA,
+ VERSION_NEUTRAL,
+ VersioningType,
+ __decorate,
+ __metadata,
+ __param,
+ addLeadingSlash,
+ clc,
+ flatten,
+ init_cli_colors_util,
+ init_common,
+ init_constants,
+ init_dist,
+ init_load_package_util,
+ init_parameter_decorator_options_util,
+ init_random_string_generator_util,
+ init_route_params_decorator,
+ init_route_paramtypes_enum,
+ init_shared_utils,
+ init_tslib_es6,
+ isConstructor,
+ isEmpty,
+ isEmptyArray,
+ isFunction,
+ isNil,
+ isObject,
+ isPlainObject,
+ isString,
+ isSymbol,
+ isUndefined,
+ loadPackage,
+ loadPackageCached,
+ mixin,
+ normalizePath,
+ randomStringGenerator,
+ require_ArgumentOutOfRangeError,
+ require_AsyncAction,
+ require_AsyncScheduler,
+ require_AsyncSubject,
+ require_BehaviorSubject,
+ require_ConnectableObservable,
+ require_EmptyError,
+ require_NotFoundError,
+ require_Notification,
+ require_ObjectUnsubscribedError,
+ require_Observable,
+ require_OperatorSubscriber,
+ require_Reflect,
+ require_ReplaySubject,
+ require_Scheduler,
+ require_SequenceError,
+ require_Subject,
+ require_Subscriber,
+ require_Subscription,
+ require_UnsubscriptionError,
+ require_args,
+ require_argsArgArrayOrObject,
+ require_async,
+ require_audit,
+ require_auditTime,
+ require_buffer,
+ require_bufferCount,
+ require_bufferTime,
+ require_bufferToggle,
+ require_bufferWhen,
+ require_catchError,
+ require_combineAll,
+ require_combineLatest,
+ require_combineLatestAll,
+ require_combineLatestWith,
+ require_concat,
+ require_concatAll,
+ require_concatMap,
+ require_concatMapTo,
+ require_concatWith,
+ require_config,
+ require_connect,
+ require_count,
+ require_createObject,
+ require_debounce,
+ require_debounceTime,
+ require_defaultIfEmpty,
+ require_delay,
+ require_delayWhen,
+ require_dematerialize,
+ require_distinct,
+ require_distinctUntilChanged,
+ require_distinctUntilKeyChanged,
+ require_elementAt,
+ require_empty,
+ require_endWith,
+ require_every,
+ require_exhaust,
+ require_exhaustAll,
+ require_exhaustMap,
+ require_expand,
+ require_filter,
+ require_finalize,
+ require_find,
+ require_findIndex,
+ require_first,
+ require_flatMap,
+ require_from,
+ require_groupBy,
+ require_identity,
+ require_ignoreElements,
+ require_innerFrom,
+ require_interval,
+ require_isArrayLike,
+ require_isEmpty,
+ require_isFunction,
+ require_isScheduler,
+ require_last,
+ require_lib,
+ require_map,
+ require_mapOneOrManyArgs,
+ require_mapTo,
+ require_materialize,
+ require_max,
+ require_mergeAll,
+ require_mergeMap,
+ require_mergeMapTo,
+ require_mergeScan,
+ require_mergeWith,
+ require_min,
+ require_multicast,
+ require_noop,
+ require_not,
+ require_observable,
+ require_observeOn,
+ require_of,
+ require_onErrorResumeNext,
+ require_onErrorResumeNextWith,
+ require_operators,
+ require_pairwise,
+ require_pipe,
+ require_pluck,
+ require_publish,
+ require_publishBehavior,
+ require_publishLast,
+ require_publishReplay,
+ require_race,
+ require_raceWith,
+ require_reduce,
+ require_refCount,
+ require_repeat,
+ require_repeatWhen,
+ require_retry,
+ require_retryWhen,
+ require_sample,
+ require_sampleTime,
+ require_scan,
+ require_scheduleIterable,
+ require_scheduled,
+ require_sequenceEqual,
+ require_share,
+ require_shareReplay,
+ require_single,
+ require_skip,
+ require_skipLast,
+ require_skipUntil,
+ require_skipWhile,
+ require_startWith,
+ require_subscribeOn,
+ require_switchAll,
+ require_switchMap,
+ require_switchMapTo,
+ require_switchScan,
+ require_take,
+ require_takeLast,
+ require_takeUntil,
+ require_takeWhile,
+ require_tap,
+ require_throttle,
+ require_throttleTime,
+ require_throwError,
+ require_throwIfEmpty,
+ require_timeInterval,
+ require_timeout,
+ require_timeoutWith,
+ require_timer,
+ require_timestamp,
+ require_toArray,
+ require_window,
+ require_windowCount,
+ require_windowTime,
+ require_windowToggle,
+ require_windowWhen,
+ require_withLatestFrom,
+ require_zip,
+ require_zipAll,
+ require_zipWith,
+ stripEndSlash,
+ tryLoadPackage,
+ uid
+} from "./chunk-BX2ML7LW.js";
+import {
+ require_src
+} from "./chunk-C4DYPKAN.js";
+import {
+ require_ms
+} from "./chunk-A34KYKJP.js";
+import {
+ __commonJS,
+ __esm,
+ __export,
+ __name,
+ __require,
+ __toESM
+} from "./chunk-T6GW54FI.js";
+
+// ../../node_modules/.pnpm/object-assign@4.1.1/node_modules/object-assign/index.js
+var require_object_assign = __commonJS({
+ "../../node_modules/.pnpm/object-assign@4.1.1/node_modules/object-assign/index.js"(exports, module) {
+ "use strict";
+ var getOwnPropertySymbols = Object.getOwnPropertySymbols;
+ var hasOwnProperty = Object.prototype.hasOwnProperty;
+ var propIsEnumerable = Object.prototype.propertyIsEnumerable;
+ function toObject(val) {
+ if (val === null || val === void 0) {
+ throw new TypeError("Object.assign cannot be called with null or undefined");
+ }
+ return Object(val);
+ }
+ __name(toObject, "toObject");
+ function shouldUseNative() {
+ try {
+ if (!Object.assign) {
+ return false;
+ }
+ var test1 = new String("abc");
+ test1[5] = "de";
+ if (Object.getOwnPropertyNames(test1)[0] === "5") {
+ return false;
+ }
+ var test2 = {};
+ for (var i = 0; i < 10; i++) {
+ test2["_" + String.fromCharCode(i)] = i;
+ }
+ var order2 = Object.getOwnPropertyNames(test2).map(function(n) {
+ return test2[n];
+ });
+ if (order2.join("") !== "0123456789") {
+ return false;
+ }
+ var test3 = {};
+ "abcdefghijklmnopqrst".split("").forEach(function(letter) {
+ test3[letter] = letter;
+ });
+ if (Object.keys(Object.assign({}, test3)).join("") !== "abcdefghijklmnopqrst") {
+ return false;
+ }
+ return true;
+ } catch (err) {
+ return false;
+ }
+ }
+ __name(shouldUseNative, "shouldUseNative");
+ module.exports = shouldUseNative() ? Object.assign : function(target, source) {
+ var from2;
+ var to = toObject(target);
+ var symbols;
+ for (var s = 1; s < arguments.length; s++) {
+ from2 = Object(arguments[s]);
+ for (var key in from2) {
+ if (hasOwnProperty.call(from2, key)) {
+ to[key] = from2[key];
+ }
+ }
+ if (getOwnPropertySymbols) {
+ symbols = getOwnPropertySymbols(from2);
+ for (var i = 0; i < symbols.length; i++) {
+ if (propIsEnumerable.call(from2, symbols[i])) {
+ to[symbols[i]] = from2[symbols[i]];
+ }
+ }
+ }
+ }
+ return to;
+ };
+ }
+});
+
+// ../../node_modules/.pnpm/vary@1.1.2/node_modules/vary/index.js
+var require_vary = __commonJS({
+ "../../node_modules/.pnpm/vary@1.1.2/node_modules/vary/index.js"(exports, module) {
+ "use strict";
+ module.exports = vary;
+ module.exports.append = append;
+ var FIELD_NAME_REGEXP = /^[!#$%&'*+\-.^_`|~0-9A-Za-z]+$/;
+ function append(header, field) {
+ if (typeof header !== "string") {
+ throw new TypeError("header argument is required");
+ }
+ if (!field) {
+ throw new TypeError("field argument is required");
+ }
+ var fields = !Array.isArray(field) ? parse(String(field)) : field;
+ for (var j = 0; j < fields.length; j++) {
+ if (!FIELD_NAME_REGEXP.test(fields[j])) {
+ throw new TypeError("field argument contains an invalid header name");
+ }
+ }
+ if (header === "*") {
+ return header;
+ }
+ var val = header;
+ var vals = parse(header.toLowerCase());
+ if (fields.indexOf("*") !== -1 || vals.indexOf("*") !== -1) {
+ return "*";
+ }
+ for (var i = 0; i < fields.length; i++) {
+ var fld = fields[i].toLowerCase();
+ if (vals.indexOf(fld) === -1) {
+ vals.push(fld);
+ val = val ? val + ", " + fields[i] : fields[i];
+ }
+ }
+ return val;
+ }
+ __name(append, "append");
+ function parse(header) {
+ var end = 0;
+ var list = [];
+ var start = 0;
+ for (var i = 0, len = header.length; i < len; i++) {
+ switch (header.charCodeAt(i)) {
+ case 32:
+ if (start === end) {
+ start = end = i + 1;
+ }
+ break;
+ case 44:
+ list.push(header.substring(start, end));
+ start = end = i + 1;
+ break;
+ default:
+ end = i + 1;
+ break;
+ }
+ }
+ list.push(header.substring(start, end));
+ return list;
+ }
+ __name(parse, "parse");
+ function vary(res, field) {
+ if (!res || !res.getHeader || !res.setHeader) {
+ throw new TypeError("res argument is required");
+ }
+ var val = res.getHeader("Vary") || "";
+ var header = Array.isArray(val) ? val.join(", ") : String(val);
+ if (val = append(header, field)) {
+ res.setHeader("Vary", val);
+ }
+ }
+ __name(vary, "vary");
+ }
+});
+
+// ../../node_modules/.pnpm/cors@2.8.6/node_modules/cors/lib/index.js
+var require_lib2 = __commonJS({
+ "../../node_modules/.pnpm/cors@2.8.6/node_modules/cors/lib/index.js"(exports, module) {
+ (function() {
+ "use strict";
+ var assign = require_object_assign();
+ var vary = require_vary();
+ var defaults = {
+ origin: "*",
+ methods: "GET,HEAD,PUT,PATCH,POST,DELETE",
+ preflightContinue: false,
+ optionsSuccessStatus: 204
+ };
+ function isString2(s) {
+ return typeof s === "string" || s instanceof String;
+ }
+ __name(isString2, "isString");
+ function isOriginAllowed(origin, allowedOrigin) {
+ if (Array.isArray(allowedOrigin)) {
+ for (var i = 0; i < allowedOrigin.length; ++i) {
+ if (isOriginAllowed(origin, allowedOrigin[i])) {
+ return true;
+ }
+ }
+ return false;
+ } else if (isString2(allowedOrigin)) {
+ return origin === allowedOrigin;
+ } else if (allowedOrigin instanceof RegExp) {
+ return allowedOrigin.test(origin);
+ } else {
+ return !!allowedOrigin;
+ }
+ }
+ __name(isOriginAllowed, "isOriginAllowed");
+ function configureOrigin(options, req) {
+ var requestOrigin = req.headers.origin, headers = [], isAllowed;
+ if (!options.origin || options.origin === "*") {
+ headers.push([{
+ key: "Access-Control-Allow-Origin",
+ value: "*"
+ }]);
+ } else if (isString2(options.origin)) {
+ headers.push([{
+ key: "Access-Control-Allow-Origin",
+ value: options.origin
+ }]);
+ headers.push([{
+ key: "Vary",
+ value: "Origin"
+ }]);
+ } else {
+ isAllowed = isOriginAllowed(requestOrigin, options.origin);
+ headers.push([{
+ key: "Access-Control-Allow-Origin",
+ value: isAllowed ? requestOrigin : false
+ }]);
+ headers.push([{
+ key: "Vary",
+ value: "Origin"
+ }]);
+ }
+ return headers;
+ }
+ __name(configureOrigin, "configureOrigin");
+ function configureMethods(options) {
+ var methods = options.methods;
+ if (methods.join) {
+ methods = options.methods.join(",");
+ }
+ return {
+ key: "Access-Control-Allow-Methods",
+ value: methods
+ };
+ }
+ __name(configureMethods, "configureMethods");
+ function configureCredentials(options) {
+ if (options.credentials === true) {
+ return {
+ key: "Access-Control-Allow-Credentials",
+ value: "true"
+ };
+ }
+ return null;
+ }
+ __name(configureCredentials, "configureCredentials");
+ function configureAllowedHeaders(options, req) {
+ var allowedHeaders = options.allowedHeaders || options.headers;
+ var headers = [];
+ if (!allowedHeaders) {
+ allowedHeaders = req.headers["access-control-request-headers"];
+ headers.push([{
+ key: "Vary",
+ value: "Access-Control-Request-Headers"
+ }]);
+ } else if (allowedHeaders.join) {
+ allowedHeaders = allowedHeaders.join(",");
+ }
+ if (allowedHeaders && allowedHeaders.length) {
+ headers.push([{
+ key: "Access-Control-Allow-Headers",
+ value: allowedHeaders
+ }]);
+ }
+ return headers;
+ }
+ __name(configureAllowedHeaders, "configureAllowedHeaders");
+ function configureExposedHeaders(options) {
+ var headers = options.exposedHeaders;
+ if (!headers) {
+ return null;
+ } else if (headers.join) {
+ headers = headers.join(",");
+ }
+ if (headers && headers.length) {
+ return {
+ key: "Access-Control-Expose-Headers",
+ value: headers
+ };
+ }
+ return null;
+ }
+ __name(configureExposedHeaders, "configureExposedHeaders");
+ function configureMaxAge(options) {
+ var maxAge = (typeof options.maxAge === "number" || options.maxAge) && options.maxAge.toString();
+ if (maxAge && maxAge.length) {
+ return {
+ key: "Access-Control-Max-Age",
+ value: maxAge
+ };
+ }
+ return null;
+ }
+ __name(configureMaxAge, "configureMaxAge");
+ function applyHeaders(headers, res) {
+ for (var i = 0, n = headers.length; i < n; i++) {
+ var header = headers[i];
+ if (header) {
+ if (Array.isArray(header)) {
+ applyHeaders(header, res);
+ } else if (header.key === "Vary" && header.value) {
+ vary(res, header.value);
+ } else if (header.value) {
+ res.setHeader(header.key, header.value);
+ }
+ }
+ }
+ }
+ __name(applyHeaders, "applyHeaders");
+ function cors2(options, req, res, next) {
+ var headers = [], method = req.method && req.method.toUpperCase && req.method.toUpperCase();
+ if (method === "OPTIONS") {
+ headers.push(configureOrigin(options, req));
+ headers.push(configureCredentials(options));
+ headers.push(configureMethods(options));
+ headers.push(configureAllowedHeaders(options, req));
+ headers.push(configureMaxAge(options));
+ headers.push(configureExposedHeaders(options));
+ applyHeaders(headers, res);
+ if (options.preflightContinue) {
+ next();
+ } else {
+ res.statusCode = options.optionsSuccessStatus;
+ res.setHeader("Content-Length", "0");
+ res.end();
+ }
+ } else {
+ headers.push(configureOrigin(options, req));
+ headers.push(configureCredentials(options));
+ headers.push(configureExposedHeaders(options));
+ applyHeaders(headers, res);
+ next();
+ }
+ }
+ __name(cors2, "cors");
+ function middlewareWrapper(o) {
+ var optionsCallback = null;
+ if (typeof o === "function") {
+ optionsCallback = o;
+ } else {
+ optionsCallback = /* @__PURE__ */ __name(function(req, cb) {
+ cb(null, o);
+ }, "optionsCallback");
+ }
+ return /* @__PURE__ */ __name(function corsMiddleware(req, res, next) {
+ optionsCallback(req, function(err, options) {
+ if (err) {
+ next(err);
+ } else {
+ var corsOptions = assign({}, defaults, options);
+ var originCallback = null;
+ if (corsOptions.origin && typeof corsOptions.origin === "function") {
+ originCallback = corsOptions.origin;
+ } else if (corsOptions.origin) {
+ originCallback = /* @__PURE__ */ __name(function(origin, cb) {
+ cb(null, corsOptions.origin);
+ }, "originCallback");
+ }
+ if (originCallback) {
+ originCallback(req.headers.origin, function(err2, origin) {
+ if (err2 || !origin) {
+ next(err2);
+ } else {
+ corsOptions.origin = origin;
+ cors2(corsOptions, req, res, next);
+ }
+ });
+ } else {
+ next();
+ }
+ }
+ });
+ }, "corsMiddleware");
+ }
+ __name(middlewareWrapper, "middlewareWrapper");
+ module.exports = middlewareWrapper;
+ })();
+ }
+});
+
+// ../../node_modules/.pnpm/depd@2.0.0/node_modules/depd/index.js
+var require_depd = __commonJS({
+ "../../node_modules/.pnpm/depd@2.0.0/node_modules/depd/index.js"(exports, module) {
+ var relative = __require("path").relative;
+ module.exports = depd;
+ var basePath = process.cwd();
+ function containsNamespace(str, namespace) {
+ var vals = str.split(/[ ,]+/);
+ var ns = String(namespace).toLowerCase();
+ for (var i = 0; i < vals.length; i++) {
+ var val = vals[i];
+ if (val && (val === "*" || val.toLowerCase() === ns)) {
+ return true;
+ }
+ }
+ return false;
+ }
+ __name(containsNamespace, "containsNamespace");
+ function convertDataDescriptorToAccessor(obj, prop, message) {
+ var descriptor = Object.getOwnPropertyDescriptor(obj, prop);
+ var value = descriptor.value;
+ descriptor.get = /* @__PURE__ */ __name(function getter() {
+ return value;
+ }, "getter");
+ if (descriptor.writable) {
+ descriptor.set = /* @__PURE__ */ __name(function setter(val) {
+ return value = val;
+ }, "setter");
+ }
+ delete descriptor.value;
+ delete descriptor.writable;
+ Object.defineProperty(obj, prop, descriptor);
+ return descriptor;
+ }
+ __name(convertDataDescriptorToAccessor, "convertDataDescriptorToAccessor");
+ function createArgumentsString(arity) {
+ var str = "";
+ for (var i = 0; i < arity; i++) {
+ str += ", arg" + i;
+ }
+ return str.substr(2);
+ }
+ __name(createArgumentsString, "createArgumentsString");
+ function createStackString(stack) {
+ var str = this.name + ": " + this.namespace;
+ if (this.message) {
+ str += " deprecated " + this.message;
+ }
+ for (var i = 0; i < stack.length; i++) {
+ str += "\n at " + stack[i].toString();
+ }
+ return str;
+ }
+ __name(createStackString, "createStackString");
+ function depd(namespace) {
+ if (!namespace) {
+ throw new TypeError("argument namespace is required");
+ }
+ var stack = getStack();
+ var site = callSiteLocation(stack[1]);
+ var file = site[0];
+ function deprecate(message) {
+ log.call(deprecate, message);
+ }
+ __name(deprecate, "deprecate");
+ deprecate._file = file;
+ deprecate._ignored = isignored(namespace);
+ deprecate._namespace = namespace;
+ deprecate._traced = istraced(namespace);
+ deprecate._warned = /* @__PURE__ */ Object.create(null);
+ deprecate.function = wrapfunction;
+ deprecate.property = wrapproperty;
+ return deprecate;
+ }
+ __name(depd, "depd");
+ function eehaslisteners(emitter, type) {
+ var count = typeof emitter.listenerCount !== "function" ? emitter.listeners(type).length : emitter.listenerCount(type);
+ return count > 0;
+ }
+ __name(eehaslisteners, "eehaslisteners");
+ function isignored(namespace) {
+ if (process.noDeprecation) {
+ return true;
+ }
+ var str = process.env.NO_DEPRECATION || "";
+ return containsNamespace(str, namespace);
+ }
+ __name(isignored, "isignored");
+ function istraced(namespace) {
+ if (process.traceDeprecation) {
+ return true;
+ }
+ var str = process.env.TRACE_DEPRECATION || "";
+ return containsNamespace(str, namespace);
+ }
+ __name(istraced, "istraced");
+ function log(message, site) {
+ var haslisteners = eehaslisteners(process, "deprecation");
+ if (!haslisteners && this._ignored) {
+ return;
+ }
+ var caller;
+ var callFile;
+ var callSite;
+ var depSite;
+ var i = 0;
+ var seen = false;
+ var stack = getStack();
+ var file = this._file;
+ if (site) {
+ depSite = site;
+ callSite = callSiteLocation(stack[1]);
+ callSite.name = depSite.name;
+ file = callSite[0];
+ } else {
+ i = 2;
+ depSite = callSiteLocation(stack[i]);
+ callSite = depSite;
+ }
+ for (; i < stack.length; i++) {
+ caller = callSiteLocation(stack[i]);
+ callFile = caller[0];
+ if (callFile === file) {
+ seen = true;
+ } else if (callFile === this._file) {
+ file = this._file;
+ } else if (seen) {
+ break;
+ }
+ }
+ var key = caller ? depSite.join(":") + "__" + caller.join(":") : void 0;
+ if (key !== void 0 && key in this._warned) {
+ return;
+ }
+ this._warned[key] = true;
+ var msg = message;
+ if (!msg) {
+ msg = callSite === depSite || !callSite.name ? defaultMessage(depSite) : defaultMessage(callSite);
+ }
+ if (haslisteners) {
+ var err = DeprecationError(this._namespace, msg, stack.slice(i));
+ process.emit("deprecation", err);
+ return;
+ }
+ var format = process.stderr.isTTY ? formatColor : formatPlain;
+ var output = format.call(this, msg, caller, stack.slice(i));
+ process.stderr.write(output + "\n", "utf8");
+ }
+ __name(log, "log");
+ function callSiteLocation(callSite) {
+ var file = callSite.getFileName() || "";
+ var line = callSite.getLineNumber();
+ var colm = callSite.getColumnNumber();
+ if (callSite.isEval()) {
+ file = callSite.getEvalOrigin() + ", " + file;
+ }
+ var site = [file, line, colm];
+ site.callSite = callSite;
+ site.name = callSite.getFunctionName();
+ return site;
+ }
+ __name(callSiteLocation, "callSiteLocation");
+ function defaultMessage(site) {
+ var callSite = site.callSite;
+ var funcName = site.name;
+ if (!funcName) {
+ funcName = "";
+ }
+ var context = callSite.getThis();
+ var typeName = context && callSite.getTypeName();
+ if (typeName === "Object") {
+ typeName = void 0;
+ }
+ if (typeName === "Function") {
+ typeName = context.name || typeName;
+ }
+ return typeName && callSite.getMethodName() ? typeName + "." + funcName : funcName;
+ }
+ __name(defaultMessage, "defaultMessage");
+ function formatPlain(msg, caller, stack) {
+ var timestamp = (/* @__PURE__ */ new Date()).toUTCString();
+ var formatted = timestamp + " " + this._namespace + " deprecated " + msg;
+ if (this._traced) {
+ for (var i = 0; i < stack.length; i++) {
+ formatted += "\n at " + stack[i].toString();
+ }
+ return formatted;
+ }
+ if (caller) {
+ formatted += " at " + formatLocation(caller);
+ }
+ return formatted;
+ }
+ __name(formatPlain, "formatPlain");
+ function formatColor(msg, caller, stack) {
+ var formatted = "\x1B[36;1m" + this._namespace + "\x1B[22;39m \x1B[33;1mdeprecated\x1B[22;39m \x1B[0m" + msg + "\x1B[39m";
+ if (this._traced) {
+ for (var i = 0; i < stack.length; i++) {
+ formatted += "\n \x1B[36mat " + stack[i].toString() + "\x1B[39m";
+ }
+ return formatted;
+ }
+ if (caller) {
+ formatted += " \x1B[36m" + formatLocation(caller) + "\x1B[39m";
+ }
+ return formatted;
+ }
+ __name(formatColor, "formatColor");
+ function formatLocation(callSite) {
+ return relative(basePath, callSite[0]) + ":" + callSite[1] + ":" + callSite[2];
+ }
+ __name(formatLocation, "formatLocation");
+ function getStack() {
+ var limit = Error.stackTraceLimit;
+ var obj = {};
+ var prep = Error.prepareStackTrace;
+ Error.prepareStackTrace = prepareObjectStackTrace;
+ Error.stackTraceLimit = Math.max(10, limit);
+ Error.captureStackTrace(obj);
+ var stack = obj.stack.slice(1);
+ Error.prepareStackTrace = prep;
+ Error.stackTraceLimit = limit;
+ return stack;
+ }
+ __name(getStack, "getStack");
+ function prepareObjectStackTrace(obj, stack) {
+ return stack;
+ }
+ __name(prepareObjectStackTrace, "prepareObjectStackTrace");
+ function wrapfunction(fn, message) {
+ if (typeof fn !== "function") {
+ throw new TypeError("argument fn must be a function");
+ }
+ var args = createArgumentsString(fn.length);
+ var stack = getStack();
+ var site = callSiteLocation(stack[1]);
+ site.name = fn.name;
+ var deprecatedfn = new Function(
+ "fn",
+ "log",
+ "deprecate",
+ "message",
+ "site",
+ '"use strict"\nreturn function (' + args + ") {log.call(deprecate, message, site)\nreturn fn.apply(this, arguments)\n}"
+ )(fn, log, this, message, site);
+ return deprecatedfn;
+ }
+ __name(wrapfunction, "wrapfunction");
+ function wrapproperty(obj, prop, message) {
+ if (!obj || typeof obj !== "object" && typeof obj !== "function") {
+ throw new TypeError("argument obj must be object");
+ }
+ var descriptor = Object.getOwnPropertyDescriptor(obj, prop);
+ if (!descriptor) {
+ throw new TypeError("must call property on owner object");
+ }
+ if (!descriptor.configurable) {
+ throw new TypeError("property must be configurable");
+ }
+ var deprecate = this;
+ var stack = getStack();
+ var site = callSiteLocation(stack[1]);
+ site.name = prop;
+ if ("value" in descriptor) {
+ descriptor = convertDataDescriptorToAccessor(obj, prop, message);
+ }
+ var get = descriptor.get;
+ var set = descriptor.set;
+ if (typeof get === "function") {
+ descriptor.get = /* @__PURE__ */ __name(function getter() {
+ log.call(deprecate, message, site);
+ return get.apply(this, arguments);
+ }, "getter");
+ }
+ if (typeof set === "function") {
+ descriptor.set = /* @__PURE__ */ __name(function setter() {
+ log.call(deprecate, message, site);
+ return set.apply(this, arguments);
+ }, "setter");
+ }
+ Object.defineProperty(obj, prop, descriptor);
+ }
+ __name(wrapproperty, "wrapproperty");
+ function DeprecationError(namespace, message, stack) {
+ var error = new Error();
+ var stackString;
+ Object.defineProperty(error, "constructor", {
+ value: DeprecationError
+ });
+ Object.defineProperty(error, "message", {
+ configurable: true,
+ enumerable: false,
+ value: message,
+ writable: true
+ });
+ Object.defineProperty(error, "name", {
+ enumerable: false,
+ configurable: true,
+ value: "DeprecationError",
+ writable: true
+ });
+ Object.defineProperty(error, "namespace", {
+ configurable: true,
+ enumerable: false,
+ value: namespace,
+ writable: true
+ });
+ Object.defineProperty(error, "stack", {
+ configurable: true,
+ enumerable: false,
+ get: /* @__PURE__ */ __name(function() {
+ if (stackString !== void 0) {
+ return stackString;
+ }
+ return stackString = createStackString.call(this, stack);
+ }, "get"),
+ set: /* @__PURE__ */ __name(function setter(val) {
+ stackString = val;
+ }, "setter")
+ });
+ return error;
+ }
+ __name(DeprecationError, "DeprecationError");
+ }
+});
+
+// ../../node_modules/.pnpm/setprototypeof@1.2.0/node_modules/setprototypeof/index.js
+var require_setprototypeof = __commonJS({
+ "../../node_modules/.pnpm/setprototypeof@1.2.0/node_modules/setprototypeof/index.js"(exports, module) {
+ "use strict";
+ module.exports = Object.setPrototypeOf || ({ __proto__: [] } instanceof Array ? setProtoOf : mixinProperties);
+ function setProtoOf(obj, proto) {
+ obj.__proto__ = proto;
+ return obj;
+ }
+ __name(setProtoOf, "setProtoOf");
+ function mixinProperties(obj, proto) {
+ for (var prop in proto) {
+ if (!Object.prototype.hasOwnProperty.call(obj, prop)) {
+ obj[prop] = proto[prop];
+ }
+ }
+ return obj;
+ }
+ __name(mixinProperties, "mixinProperties");
+ }
+});
+
+// ../../node_modules/.pnpm/statuses@2.0.2/node_modules/statuses/codes.json
+var require_codes = __commonJS({
+ "../../node_modules/.pnpm/statuses@2.0.2/node_modules/statuses/codes.json"(exports, module) {
+ module.exports = {
+ "100": "Continue",
+ "101": "Switching Protocols",
+ "102": "Processing",
+ "103": "Early Hints",
+ "200": "OK",
+ "201": "Created",
+ "202": "Accepted",
+ "203": "Non-Authoritative Information",
+ "204": "No Content",
+ "205": "Reset Content",
+ "206": "Partial Content",
+ "207": "Multi-Status",
+ "208": "Already Reported",
+ "226": "IM Used",
+ "300": "Multiple Choices",
+ "301": "Moved Permanently",
+ "302": "Found",
+ "303": "See Other",
+ "304": "Not Modified",
+ "305": "Use Proxy",
+ "307": "Temporary Redirect",
+ "308": "Permanent Redirect",
+ "400": "Bad Request",
+ "401": "Unauthorized",
+ "402": "Payment Required",
+ "403": "Forbidden",
+ "404": "Not Found",
+ "405": "Method Not Allowed",
+ "406": "Not Acceptable",
+ "407": "Proxy Authentication Required",
+ "408": "Request Timeout",
+ "409": "Conflict",
+ "410": "Gone",
+ "411": "Length Required",
+ "412": "Precondition Failed",
+ "413": "Payload Too Large",
+ "414": "URI Too Long",
+ "415": "Unsupported Media Type",
+ "416": "Range Not Satisfiable",
+ "417": "Expectation Failed",
+ "418": "I'm a Teapot",
+ "421": "Misdirected Request",
+ "422": "Unprocessable Entity",
+ "423": "Locked",
+ "424": "Failed Dependency",
+ "425": "Too Early",
+ "426": "Upgrade Required",
+ "428": "Precondition Required",
+ "429": "Too Many Requests",
+ "431": "Request Header Fields Too Large",
+ "451": "Unavailable For Legal Reasons",
+ "500": "Internal Server Error",
+ "501": "Not Implemented",
+ "502": "Bad Gateway",
+ "503": "Service Unavailable",
+ "504": "Gateway Timeout",
+ "505": "HTTP Version Not Supported",
+ "506": "Variant Also Negotiates",
+ "507": "Insufficient Storage",
+ "508": "Loop Detected",
+ "509": "Bandwidth Limit Exceeded",
+ "510": "Not Extended",
+ "511": "Network Authentication Required"
+ };
+ }
+});
+
+// ../../node_modules/.pnpm/statuses@2.0.2/node_modules/statuses/index.js
+var require_statuses = __commonJS({
+ "../../node_modules/.pnpm/statuses@2.0.2/node_modules/statuses/index.js"(exports, module) {
+ "use strict";
+ var codes = require_codes();
+ module.exports = status;
+ status.message = codes;
+ status.code = createMessageToStatusCodeMap(codes);
+ status.codes = createStatusCodeList(codes);
+ status.redirect = {
+ 300: true,
+ 301: true,
+ 302: true,
+ 303: true,
+ 305: true,
+ 307: true,
+ 308: true
+ };
+ status.empty = {
+ 204: true,
+ 205: true,
+ 304: true
+ };
+ status.retry = {
+ 502: true,
+ 503: true,
+ 504: true
+ };
+ function createMessageToStatusCodeMap(codes2) {
+ var map2 = {};
+ Object.keys(codes2).forEach(/* @__PURE__ */ __name(function forEachCode(code) {
+ var message = codes2[code];
+ var status2 = Number(code);
+ map2[message.toLowerCase()] = status2;
+ }, "forEachCode"));
+ return map2;
+ }
+ __name(createMessageToStatusCodeMap, "createMessageToStatusCodeMap");
+ function createStatusCodeList(codes2) {
+ return Object.keys(codes2).map(/* @__PURE__ */ __name(function mapCode(code) {
+ return Number(code);
+ }, "mapCode"));
+ }
+ __name(createStatusCodeList, "createStatusCodeList");
+ function getStatusCode(message) {
+ var msg = message.toLowerCase();
+ if (!Object.prototype.hasOwnProperty.call(status.code, msg)) {
+ throw new Error('invalid status message: "' + message + '"');
+ }
+ return status.code[msg];
+ }
+ __name(getStatusCode, "getStatusCode");
+ function getStatusMessage(code) {
+ if (!Object.prototype.hasOwnProperty.call(status.message, code)) {
+ throw new Error("invalid status code: " + code);
+ }
+ return status.message[code];
+ }
+ __name(getStatusMessage, "getStatusMessage");
+ function status(code) {
+ if (typeof code === "number") {
+ return getStatusMessage(code);
+ }
+ if (typeof code !== "string") {
+ throw new TypeError("code must be a number or string");
+ }
+ var n = parseInt(code, 10);
+ if (!isNaN(n)) {
+ return getStatusMessage(n);
+ }
+ return getStatusCode(code);
+ }
+ __name(status, "status");
+ }
+});
+
+// ../../node_modules/.pnpm/inherits@2.0.4/node_modules/inherits/inherits_browser.js
+var require_inherits_browser = __commonJS({
+ "../../node_modules/.pnpm/inherits@2.0.4/node_modules/inherits/inherits_browser.js"(exports, module) {
+ if (typeof Object.create === "function") {
+ module.exports = /* @__PURE__ */ __name(function inherits(ctor, superCtor) {
+ if (superCtor) {
+ ctor.super_ = superCtor;
+ ctor.prototype = Object.create(superCtor.prototype, {
+ constructor: {
+ value: ctor,
+ enumerable: false,
+ writable: true,
+ configurable: true
+ }
+ });
+ }
+ }, "inherits");
+ } else {
+ module.exports = /* @__PURE__ */ __name(function inherits(ctor, superCtor) {
+ if (superCtor) {
+ ctor.super_ = superCtor;
+ var TempCtor = /* @__PURE__ */ __name(function() {
+ }, "TempCtor");
+ TempCtor.prototype = superCtor.prototype;
+ ctor.prototype = new TempCtor();
+ ctor.prototype.constructor = ctor;
+ }
+ }, "inherits");
+ }
+ }
+});
+
+// ../../node_modules/.pnpm/inherits@2.0.4/node_modules/inherits/inherits.js
+var require_inherits = __commonJS({
+ "../../node_modules/.pnpm/inherits@2.0.4/node_modules/inherits/inherits.js"(exports, module) {
+ try {
+ util = __require("util");
+ if (typeof util.inherits !== "function") throw "";
+ module.exports = util.inherits;
+ } catch (e) {
+ module.exports = require_inherits_browser();
+ }
+ var util;
+ }
+});
+
+// ../../node_modules/.pnpm/toidentifier@1.0.1/node_modules/toidentifier/index.js
+var require_toidentifier = __commonJS({
+ "../../node_modules/.pnpm/toidentifier@1.0.1/node_modules/toidentifier/index.js"(exports, module) {
+ "use strict";
+ module.exports = toIdentifier;
+ function toIdentifier(str) {
+ return str.split(" ").map(function(token) {
+ return token.slice(0, 1).toUpperCase() + token.slice(1);
+ }).join("").replace(/[^ _0-9a-z]/gi, "");
+ }
+ __name(toIdentifier, "toIdentifier");
+ }
+});
+
+// ../../node_modules/.pnpm/http-errors@2.0.1/node_modules/http-errors/index.js
+var require_http_errors = __commonJS({
+ "../../node_modules/.pnpm/http-errors@2.0.1/node_modules/http-errors/index.js"(exports, module) {
+ "use strict";
+ var deprecate = require_depd()("http-errors");
+ var setPrototypeOf = require_setprototypeof();
+ var statuses = require_statuses();
+ var inherits = require_inherits();
+ var toIdentifier = require_toidentifier();
+ module.exports = createError;
+ module.exports.HttpError = createHttpErrorConstructor();
+ module.exports.isHttpError = createIsHttpErrorFunction(module.exports.HttpError);
+ populateConstructorExports(module.exports, statuses.codes, module.exports.HttpError);
+ function codeClass(status) {
+ return Number(String(status).charAt(0) + "00");
+ }
+ __name(codeClass, "codeClass");
+ function createError() {
+ var err;
+ var msg;
+ var status = 500;
+ var props = {};
+ for (var i = 0; i < arguments.length; i++) {
+ var arg = arguments[i];
+ var type = typeof arg;
+ if (type === "object" && arg instanceof Error) {
+ err = arg;
+ status = err.status || err.statusCode || status;
+ } else if (type === "number" && i === 0) {
+ status = arg;
+ } else if (type === "string") {
+ msg = arg;
+ } else if (type === "object") {
+ props = arg;
+ } else {
+ throw new TypeError("argument #" + (i + 1) + " unsupported type " + type);
+ }
+ }
+ if (typeof status === "number" && (status < 400 || status >= 600)) {
+ deprecate("non-error status code; use only 4xx or 5xx status codes");
+ }
+ if (typeof status !== "number" || !statuses.message[status] && (status < 400 || status >= 600)) {
+ status = 500;
+ }
+ var HttpError = createError[status] || createError[codeClass(status)];
+ if (!err) {
+ err = HttpError ? new HttpError(msg) : new Error(msg || statuses.message[status]);
+ Error.captureStackTrace(err, createError);
+ }
+ if (!HttpError || !(err instanceof HttpError) || err.status !== status) {
+ err.expose = status < 500;
+ err.status = err.statusCode = status;
+ }
+ for (var key in props) {
+ if (key !== "status" && key !== "statusCode") {
+ err[key] = props[key];
+ }
+ }
+ return err;
+ }
+ __name(createError, "createError");
+ function createHttpErrorConstructor() {
+ function HttpError() {
+ throw new TypeError("cannot construct abstract class");
+ }
+ __name(HttpError, "HttpError");
+ inherits(HttpError, Error);
+ return HttpError;
+ }
+ __name(createHttpErrorConstructor, "createHttpErrorConstructor");
+ function createClientErrorConstructor(HttpError, name, code) {
+ var className = toClassName(name);
+ function ClientError(message) {
+ var msg = message != null ? message : statuses.message[code];
+ var err = new Error(msg);
+ Error.captureStackTrace(err, ClientError);
+ setPrototypeOf(err, ClientError.prototype);
+ Object.defineProperty(err, "message", {
+ enumerable: true,
+ configurable: true,
+ value: msg,
+ writable: true
+ });
+ Object.defineProperty(err, "name", {
+ enumerable: false,
+ configurable: true,
+ value: className,
+ writable: true
+ });
+ return err;
+ }
+ __name(ClientError, "ClientError");
+ inherits(ClientError, HttpError);
+ nameFunc(ClientError, className);
+ ClientError.prototype.status = code;
+ ClientError.prototype.statusCode = code;
+ ClientError.prototype.expose = true;
+ return ClientError;
+ }
+ __name(createClientErrorConstructor, "createClientErrorConstructor");
+ function createIsHttpErrorFunction(HttpError) {
+ return /* @__PURE__ */ __name(function isHttpError(val) {
+ if (!val || typeof val !== "object") {
+ return false;
+ }
+ if (val instanceof HttpError) {
+ return true;
+ }
+ return val instanceof Error && typeof val.expose === "boolean" && typeof val.statusCode === "number" && val.status === val.statusCode;
+ }, "isHttpError");
+ }
+ __name(createIsHttpErrorFunction, "createIsHttpErrorFunction");
+ function createServerErrorConstructor(HttpError, name, code) {
+ var className = toClassName(name);
+ function ServerError(message) {
+ var msg = message != null ? message : statuses.message[code];
+ var err = new Error(msg);
+ Error.captureStackTrace(err, ServerError);
+ setPrototypeOf(err, ServerError.prototype);
+ Object.defineProperty(err, "message", {
+ enumerable: true,
+ configurable: true,
+ value: msg,
+ writable: true
+ });
+ Object.defineProperty(err, "name", {
+ enumerable: false,
+ configurable: true,
+ value: className,
+ writable: true
+ });
+ return err;
+ }
+ __name(ServerError, "ServerError");
+ inherits(ServerError, HttpError);
+ nameFunc(ServerError, className);
+ ServerError.prototype.status = code;
+ ServerError.prototype.statusCode = code;
+ ServerError.prototype.expose = false;
+ return ServerError;
+ }
+ __name(createServerErrorConstructor, "createServerErrorConstructor");
+ function nameFunc(func, name) {
+ var desc = Object.getOwnPropertyDescriptor(func, "name");
+ if (desc && desc.configurable) {
+ desc.value = name;
+ Object.defineProperty(func, "name", desc);
+ }
+ }
+ __name(nameFunc, "nameFunc");
+ function populateConstructorExports(exports2, codes, HttpError) {
+ codes.forEach(/* @__PURE__ */ __name(function forEachCode(code) {
+ var CodeError;
+ var name = toIdentifier(statuses.message[code]);
+ switch (codeClass(code)) {
+ case 400:
+ CodeError = createClientErrorConstructor(HttpError, name, code);
+ break;
+ case 500:
+ CodeError = createServerErrorConstructor(HttpError, name, code);
+ break;
+ }
+ if (CodeError) {
+ exports2[code] = CodeError;
+ exports2[name] = CodeError;
+ }
+ }, "forEachCode"));
+ }
+ __name(populateConstructorExports, "populateConstructorExports");
+ function toClassName(name) {
+ return name.slice(-5) === "Error" ? name : name + "Error";
+ }
+ __name(toClassName, "toClassName");
+ }
+});
+
+// ../../node_modules/.pnpm/bytes@3.1.2/node_modules/bytes/index.js
+var require_bytes = __commonJS({
+ "../../node_modules/.pnpm/bytes@3.1.2/node_modules/bytes/index.js"(exports, module) {
+ "use strict";
+ module.exports = bytes;
+ module.exports.format = format;
+ module.exports.parse = parse;
+ var formatThousandsRegExp = /\B(?=(\d{3})+(?!\d))/g;
+ var formatDecimalsRegExp = /(?:\.0*|(\.[^0]+)0+)$/;
+ var map2 = {
+ b: 1,
+ kb: 1 << 10,
+ mb: 1 << 20,
+ gb: 1 << 30,
+ tb: Math.pow(1024, 4),
+ pb: Math.pow(1024, 5)
+ };
+ var parseRegExp = /^((-|\+)?(\d+(?:\.\d+)?)) *(kb|mb|gb|tb|pb)$/i;
+ function bytes(value, options) {
+ if (typeof value === "string") {
+ return parse(value);
+ }
+ if (typeof value === "number") {
+ return format(value, options);
+ }
+ return null;
+ }
+ __name(bytes, "bytes");
+ function format(value, options) {
+ if (!Number.isFinite(value)) {
+ return null;
+ }
+ var mag = Math.abs(value);
+ var thousandsSeparator = options && options.thousandsSeparator || "";
+ var unitSeparator = options && options.unitSeparator || "";
+ var decimalPlaces = options && options.decimalPlaces !== void 0 ? options.decimalPlaces : 2;
+ var fixedDecimals = Boolean(options && options.fixedDecimals);
+ var unit = options && options.unit || "";
+ if (!unit || !map2[unit.toLowerCase()]) {
+ if (mag >= map2.pb) {
+ unit = "PB";
+ } else if (mag >= map2.tb) {
+ unit = "TB";
+ } else if (mag >= map2.gb) {
+ unit = "GB";
+ } else if (mag >= map2.mb) {
+ unit = "MB";
+ } else if (mag >= map2.kb) {
+ unit = "KB";
+ } else {
+ unit = "B";
+ }
+ }
+ var val = value / map2[unit.toLowerCase()];
+ var str = val.toFixed(decimalPlaces);
+ if (!fixedDecimals) {
+ str = str.replace(formatDecimalsRegExp, "$1");
+ }
+ if (thousandsSeparator) {
+ str = str.split(".").map(function(s, i) {
+ return i === 0 ? s.replace(formatThousandsRegExp, thousandsSeparator) : s;
+ }).join(".");
+ }
+ return str + unitSeparator + unit;
+ }
+ __name(format, "format");
+ function parse(val) {
+ if (typeof val === "number" && !isNaN(val)) {
+ return val;
+ }
+ if (typeof val !== "string") {
+ return null;
+ }
+ var results = parseRegExp.exec(val);
+ var floatValue;
+ var unit = "b";
+ if (!results) {
+ floatValue = parseInt(val, 10);
+ unit = "b";
+ } else {
+ floatValue = parseFloat(results[1]);
+ unit = results[4].toLowerCase();
+ }
+ if (isNaN(floatValue)) {
+ return null;
+ }
+ return Math.floor(map2[unit] * floatValue);
+ }
+ __name(parse, "parse");
+ }
+});
+
+// ../../node_modules/.pnpm/safer-buffer@2.1.2/node_modules/safer-buffer/safer.js
+var require_safer = __commonJS({
+ "../../node_modules/.pnpm/safer-buffer@2.1.2/node_modules/safer-buffer/safer.js"(exports, module) {
+ "use strict";
+ var buffer = __require("buffer");
+ var Buffer2 = buffer.Buffer;
+ var safer = {};
+ var key;
+ for (key in buffer) {
+ if (!buffer.hasOwnProperty(key)) continue;
+ if (key === "SlowBuffer" || key === "Buffer") continue;
+ safer[key] = buffer[key];
+ }
+ var Safer = safer.Buffer = {};
+ for (key in Buffer2) {
+ if (!Buffer2.hasOwnProperty(key)) continue;
+ if (key === "allocUnsafe" || key === "allocUnsafeSlow") continue;
+ Safer[key] = Buffer2[key];
+ }
+ safer.Buffer.prototype = Buffer2.prototype;
+ if (!Safer.from || Safer.from === Uint8Array.from) {
+ Safer.from = function(value, encodingOrOffset, length) {
+ if (typeof value === "number") {
+ throw new TypeError('The "value" argument must not be of type number. Received type ' + typeof value);
+ }
+ if (value && typeof value.length === "undefined") {
+ throw new TypeError("The first argument must be one of type string, Buffer, ArrayBuffer, Array, or Array-like Object. Received type " + typeof value);
+ }
+ return Buffer2(value, encodingOrOffset, length);
+ };
+ }
+ if (!Safer.alloc) {
+ Safer.alloc = function(size, fill, encoding) {
+ if (typeof size !== "number") {
+ throw new TypeError('The "size" argument must be of type number. Received type ' + typeof size);
+ }
+ if (size < 0 || size >= 2 * (1 << 30)) {
+ throw new RangeError('The value "' + size + '" is invalid for option "size"');
+ }
+ var buf = Buffer2(size);
+ if (!fill || fill.length === 0) {
+ buf.fill(0);
+ } else if (typeof encoding === "string") {
+ buf.fill(fill, encoding);
+ } else {
+ buf.fill(fill);
+ }
+ return buf;
+ };
+ }
+ if (!safer.kStringMaxLength) {
+ try {
+ safer.kStringMaxLength = process.binding("buffer").kStringMaxLength;
+ } catch (e) {
+ }
+ }
+ if (!safer.constants) {
+ safer.constants = {
+ MAX_LENGTH: safer.kMaxLength
+ };
+ if (safer.kStringMaxLength) {
+ safer.constants.MAX_STRING_LENGTH = safer.kStringMaxLength;
+ }
+ }
+ module.exports = safer;
+ }
+});
+
+// ../../node_modules/.pnpm/iconv-lite@0.7.3/node_modules/iconv-lite/lib/bom-handling.js
+var require_bom_handling = __commonJS({
+ "../../node_modules/.pnpm/iconv-lite@0.7.3/node_modules/iconv-lite/lib/bom-handling.js"(exports) {
+ "use strict";
+ var BOMChar = "\uFEFF";
+ exports.PrependBOM = PrependBOMWrapper;
+ function PrependBOMWrapper(encoder, options) {
+ this.encoder = encoder;
+ this.addBOM = true;
+ }
+ __name(PrependBOMWrapper, "PrependBOMWrapper");
+ PrependBOMWrapper.prototype.write = function(str) {
+ if (this.addBOM) {
+ str = BOMChar + str;
+ this.addBOM = false;
+ }
+ return this.encoder.write(str);
+ };
+ PrependBOMWrapper.prototype.end = function() {
+ return this.encoder.end();
+ };
+ exports.StripBOM = StripBOMWrapper;
+ function StripBOMWrapper(decoder, options) {
+ this.decoder = decoder;
+ this.pass = false;
+ this.options = options || {};
+ }
+ __name(StripBOMWrapper, "StripBOMWrapper");
+ StripBOMWrapper.prototype.write = function(buf) {
+ var res = this.decoder.write(buf);
+ if (this.pass || !res) {
+ return res;
+ }
+ if (res[0] === BOMChar) {
+ res = res.slice(1);
+ if (typeof this.options.stripBOM === "function") {
+ this.options.stripBOM();
+ }
+ }
+ this.pass = true;
+ return res;
+ };
+ StripBOMWrapper.prototype.end = function() {
+ return this.decoder.end();
+ };
+ }
+});
+
+// ../../node_modules/.pnpm/iconv-lite@0.7.3/node_modules/iconv-lite/lib/helpers/merge-exports.js
+var require_merge_exports = __commonJS({
+ "../../node_modules/.pnpm/iconv-lite@0.7.3/node_modules/iconv-lite/lib/helpers/merge-exports.js"(exports, module) {
+ "use strict";
+ var hasOwn = typeof Object.hasOwn === "undefined" ? Function.call.bind(Object.prototype.hasOwnProperty) : Object.hasOwn;
+ function mergeModules(target, module2) {
+ for (var key in module2) {
+ if (hasOwn(module2, key)) {
+ target[key] = module2[key];
+ }
+ }
+ }
+ __name(mergeModules, "mergeModules");
+ module.exports = mergeModules;
+ }
+});
+
+// ../../node_modules/.pnpm/iconv-lite@0.7.3/node_modules/iconv-lite/encodings/internal.js
+var require_internal = __commonJS({
+ "../../node_modules/.pnpm/iconv-lite@0.7.3/node_modules/iconv-lite/encodings/internal.js"(exports, module) {
+ "use strict";
+ var Buffer2 = require_safer().Buffer;
+ module.exports = {
+ // Encodings
+ utf8: { type: "_internal", bomAware: true },
+ cesu8: { type: "_internal", bomAware: true },
+ unicode11utf8: "utf8",
+ ucs2: { type: "_internal", bomAware: true },
+ utf16le: "ucs2",
+ binary: { type: "_internal" },
+ base64: { type: "_internal" },
+ hex: { type: "_internal" },
+ // Codec.
+ _internal: InternalCodec
+ };
+ function InternalCodec(codecOptions, iconv) {
+ this.enc = codecOptions.encodingName;
+ this.bomAware = codecOptions.bomAware;
+ if (this.enc === "base64") {
+ this.encoder = InternalEncoderBase64;
+ } else if (this.enc === "utf8") {
+ this.encoder = InternalEncoderUtf8;
+ } else if (this.enc === "cesu8") {
+ this.enc = "utf8";
+ this.encoder = InternalEncoderCesu8;
+ if (Buffer2.from("eda0bdedb2a9", "hex").toString() !== "\u{1F4A9}") {
+ this.decoder = InternalDecoderCesu8;
+ this.defaultCharUnicode = iconv.defaultCharUnicode;
+ }
+ }
+ }
+ __name(InternalCodec, "InternalCodec");
+ InternalCodec.prototype.encoder = InternalEncoder;
+ InternalCodec.prototype.decoder = InternalDecoder;
+ var StringDecoder = __require("string_decoder").StringDecoder;
+ function InternalDecoder(options, codec) {
+ this.decoder = new StringDecoder(codec.enc);
+ }
+ __name(InternalDecoder, "InternalDecoder");
+ InternalDecoder.prototype.write = function(buf) {
+ if (!Buffer2.isBuffer(buf)) {
+ buf = Buffer2.from(buf);
+ }
+ return this.decoder.write(buf);
+ };
+ InternalDecoder.prototype.end = function() {
+ return this.decoder.end();
+ };
+ function InternalEncoder(options, codec) {
+ this.enc = codec.enc;
+ }
+ __name(InternalEncoder, "InternalEncoder");
+ InternalEncoder.prototype.write = function(str) {
+ return Buffer2.from(str, this.enc);
+ };
+ InternalEncoder.prototype.end = function() {
+ };
+ function InternalEncoderBase64(options, codec) {
+ this.prevStr = "";
+ }
+ __name(InternalEncoderBase64, "InternalEncoderBase64");
+ InternalEncoderBase64.prototype.write = function(str) {
+ str = this.prevStr + str;
+ var completeQuads = str.length - str.length % 4;
+ this.prevStr = str.slice(completeQuads);
+ str = str.slice(0, completeQuads);
+ return Buffer2.from(str, "base64");
+ };
+ InternalEncoderBase64.prototype.end = function() {
+ return Buffer2.from(this.prevStr, "base64");
+ };
+ function InternalEncoderCesu8(options, codec) {
+ }
+ __name(InternalEncoderCesu8, "InternalEncoderCesu8");
+ InternalEncoderCesu8.prototype.write = function(str) {
+ var buf = Buffer2.alloc(str.length * 3);
+ var bufIdx = 0;
+ for (var i = 0; i < str.length; i++) {
+ var charCode = str.charCodeAt(i);
+ if (charCode < 128) {
+ buf[bufIdx++] = charCode;
+ } else if (charCode < 2048) {
+ buf[bufIdx++] = 192 + (charCode >>> 6);
+ buf[bufIdx++] = 128 + (charCode & 63);
+ } else {
+ buf[bufIdx++] = 224 + (charCode >>> 12);
+ buf[bufIdx++] = 128 + (charCode >>> 6 & 63);
+ buf[bufIdx++] = 128 + (charCode & 63);
+ }
+ }
+ return buf.slice(0, bufIdx);
+ };
+ InternalEncoderCesu8.prototype.end = function() {
+ };
+ function InternalDecoderCesu8(options, codec) {
+ this.acc = 0;
+ this.contBytes = 0;
+ this.accBytes = 0;
+ this.defaultCharUnicode = codec.defaultCharUnicode;
+ }
+ __name(InternalDecoderCesu8, "InternalDecoderCesu8");
+ InternalDecoderCesu8.prototype.write = function(buf) {
+ var acc = this.acc;
+ var contBytes = this.contBytes;
+ var accBytes = this.accBytes;
+ var res = "";
+ for (var i = 0; i < buf.length; i++) {
+ var curByte = buf[i];
+ if ((curByte & 192) !== 128) {
+ if (contBytes > 0) {
+ res += this.defaultCharUnicode;
+ contBytes = 0;
+ }
+ if (curByte < 128) {
+ res += String.fromCharCode(curByte);
+ } else if (curByte < 224) {
+ acc = curByte & 31;
+ contBytes = 1;
+ accBytes = 1;
+ } else if (curByte < 240) {
+ acc = curByte & 15;
+ contBytes = 2;
+ accBytes = 1;
+ } else {
+ res += this.defaultCharUnicode;
+ }
+ } else {
+ if (contBytes > 0) {
+ acc = acc << 6 | curByte & 63;
+ contBytes--;
+ accBytes++;
+ if (contBytes === 0) {
+ if (accBytes === 2 && acc < 128 && acc > 0) {
+ res += this.defaultCharUnicode;
+ } else if (accBytes === 3 && acc < 2048) {
+ res += this.defaultCharUnicode;
+ } else {
+ res += String.fromCharCode(acc);
+ }
+ }
+ } else {
+ res += this.defaultCharUnicode;
+ }
+ }
+ }
+ this.acc = acc;
+ this.contBytes = contBytes;
+ this.accBytes = accBytes;
+ return res;
+ };
+ InternalDecoderCesu8.prototype.end = function() {
+ var res = 0;
+ if (this.contBytes > 0) {
+ res += this.defaultCharUnicode;
+ }
+ return res;
+ };
+ function InternalEncoderUtf8(options, codec) {
+ this.highSurrogate = "";
+ }
+ __name(InternalEncoderUtf8, "InternalEncoderUtf8");
+ InternalEncoderUtf8.prototype.write = function(str) {
+ if (this.highSurrogate) {
+ str = this.highSurrogate + str;
+ this.highSurrogate = "";
+ }
+ if (str.length > 0) {
+ var charCode = str.charCodeAt(str.length - 1);
+ if (charCode >= 55296 && charCode < 56320) {
+ this.highSurrogate = str[str.length - 1];
+ str = str.slice(0, str.length - 1);
+ }
+ }
+ return Buffer2.from(str, this.enc);
+ };
+ InternalEncoderUtf8.prototype.end = function() {
+ if (this.highSurrogate) {
+ var str = this.highSurrogate;
+ this.highSurrogate = "";
+ return Buffer2.from(str, this.enc);
+ }
+ };
+ }
+});
+
+// ../../node_modules/.pnpm/iconv-lite@0.7.3/node_modules/iconv-lite/encodings/utf32.js
+var require_utf32 = __commonJS({
+ "../../node_modules/.pnpm/iconv-lite@0.7.3/node_modules/iconv-lite/encodings/utf32.js"(exports) {
+ "use strict";
+ var Buffer2 = require_safer().Buffer;
+ exports._utf32 = Utf32Codec;
+ function Utf32Codec(codecOptions, iconv) {
+ this.iconv = iconv;
+ this.bomAware = true;
+ this.isLE = codecOptions.isLE;
+ }
+ __name(Utf32Codec, "Utf32Codec");
+ exports.utf32le = { type: "_utf32", isLE: true };
+ exports.utf32be = { type: "_utf32", isLE: false };
+ exports.ucs4le = "utf32le";
+ exports.ucs4be = "utf32be";
+ Utf32Codec.prototype.encoder = Utf32Encoder;
+ Utf32Codec.prototype.decoder = Utf32Decoder;
+ function Utf32Encoder(options, codec) {
+ this.isLE = codec.isLE;
+ this.highSurrogate = 0;
+ }
+ __name(Utf32Encoder, "Utf32Encoder");
+ Utf32Encoder.prototype.write = function(str) {
+ var src = Buffer2.from(str, "ucs2");
+ var dst = Buffer2.alloc(src.length * 2 + 4);
+ var write32 = this.isLE ? dst.writeUInt32LE : dst.writeUInt32BE;
+ var offset = 0;
+ for (var i = 0; i < src.length; i += 2) {
+ var code = src.readUInt16LE(i);
+ var isHighSurrogate = code >= 55296 && code < 56320;
+ var isLowSurrogate = code >= 56320 && code < 57344;
+ if (this.highSurrogate) {
+ if (isHighSurrogate || !isLowSurrogate) {
+ write32.call(dst, this.highSurrogate, offset);
+ offset += 4;
+ } else {
+ var codepoint = (this.highSurrogate - 55296 << 10 | code - 56320) + 65536;
+ write32.call(dst, codepoint, offset);
+ offset += 4;
+ this.highSurrogate = 0;
+ continue;
+ }
+ }
+ if (isHighSurrogate) {
+ this.highSurrogate = code;
+ } else {
+ write32.call(dst, code, offset);
+ offset += 4;
+ this.highSurrogate = 0;
+ }
+ }
+ if (offset < dst.length) {
+ dst = dst.slice(0, offset);
+ }
+ return dst;
+ };
+ Utf32Encoder.prototype.end = function() {
+ if (!this.highSurrogate) {
+ return;
+ }
+ var buf = Buffer2.alloc(4);
+ if (this.isLE) {
+ buf.writeUInt32LE(this.highSurrogate, 0);
+ } else {
+ buf.writeUInt32BE(this.highSurrogate, 0);
+ }
+ this.highSurrogate = 0;
+ return buf;
+ };
+ function Utf32Decoder(options, codec) {
+ this.isLE = codec.isLE;
+ this.badChar = codec.iconv.defaultCharUnicode.charCodeAt(0);
+ this.overflow = [];
+ }
+ __name(Utf32Decoder, "Utf32Decoder");
+ Utf32Decoder.prototype.write = function(src) {
+ if (src.length === 0) {
+ return "";
+ }
+ var i = 0;
+ var codepoint = 0;
+ var dst = Buffer2.alloc(src.length + 4);
+ var offset = 0;
+ var isLE = this.isLE;
+ var overflow = this.overflow;
+ var badChar = this.badChar;
+ if (overflow.length > 0) {
+ for (; i < src.length && overflow.length < 4; i++) {
+ overflow.push(src[i]);
+ }
+ if (overflow.length === 4) {
+ if (isLE) {
+ codepoint = overflow[0] | overflow[1] << 8 | overflow[2] << 16 | overflow[3] << 24;
+ } else {
+ codepoint = overflow[3] | overflow[2] << 8 | overflow[1] << 16 | overflow[0] << 24;
+ }
+ overflow.length = 0;
+ offset = _writeCodepoint(dst, offset, codepoint, badChar);
+ }
+ }
+ for (; i < src.length - 3; i += 4) {
+ if (isLE) {
+ codepoint = src[i] | src[i + 1] << 8 | src[i + 2] << 16 | src[i + 3] << 24;
+ } else {
+ codepoint = src[i + 3] | src[i + 2] << 8 | src[i + 1] << 16 | src[i] << 24;
+ }
+ offset = _writeCodepoint(dst, offset, codepoint, badChar);
+ }
+ for (; i < src.length; i++) {
+ overflow.push(src[i]);
+ }
+ return dst.slice(0, offset).toString("ucs2");
+ };
+ function _writeCodepoint(dst, offset, codepoint, badChar) {
+ if (codepoint < 0 || codepoint > 1114111) {
+ codepoint = badChar;
+ }
+ if (codepoint >= 65536) {
+ codepoint -= 65536;
+ var high = 55296 | codepoint >> 10;
+ dst[offset++] = high & 255;
+ dst[offset++] = high >> 8;
+ var codepoint = 56320 | codepoint & 1023;
+ }
+ dst[offset++] = codepoint & 255;
+ dst[offset++] = codepoint >> 8;
+ return offset;
+ }
+ __name(_writeCodepoint, "_writeCodepoint");
+ Utf32Decoder.prototype.end = function() {
+ if (this.overflow.length === 0) {
+ return;
+ }
+ this.overflow.length = 0;
+ return String.fromCharCode(this.badChar);
+ };
+ exports.utf32 = Utf32AutoCodec;
+ exports.ucs4 = "utf32";
+ function Utf32AutoCodec(options, iconv) {
+ this.iconv = iconv;
+ }
+ __name(Utf32AutoCodec, "Utf32AutoCodec");
+ Utf32AutoCodec.prototype.encoder = Utf32AutoEncoder;
+ Utf32AutoCodec.prototype.decoder = Utf32AutoDecoder;
+ function Utf32AutoEncoder(options, codec) {
+ options = options || {};
+ if (options.addBOM === void 0) {
+ options.addBOM = true;
+ }
+ this.encoder = codec.iconv.getEncoder(options.defaultEncoding || "utf-32le", options);
+ }
+ __name(Utf32AutoEncoder, "Utf32AutoEncoder");
+ Utf32AutoEncoder.prototype.write = function(str) {
+ return this.encoder.write(str);
+ };
+ Utf32AutoEncoder.prototype.end = function() {
+ return this.encoder.end();
+ };
+ function Utf32AutoDecoder(options, codec) {
+ this.decoder = null;
+ this.initialBufs = [];
+ this.initialBufsLen = 0;
+ this.options = options || {};
+ this.iconv = codec.iconv;
+ }
+ __name(Utf32AutoDecoder, "Utf32AutoDecoder");
+ Utf32AutoDecoder.prototype.write = function(buf) {
+ if (!this.decoder) {
+ this.initialBufs.push(buf);
+ this.initialBufsLen += buf.length;
+ if (this.initialBufsLen < 32) {
+ return "";
+ }
+ var encoding = detectEncoding(this.initialBufs, this.options.defaultEncoding);
+ this.decoder = this.iconv.getDecoder(encoding, this.options);
+ var resStr = "";
+ for (var i = 0; i < this.initialBufs.length; i++) {
+ resStr += this.decoder.write(this.initialBufs[i]);
+ }
+ this.initialBufs.length = this.initialBufsLen = 0;
+ return resStr;
+ }
+ return this.decoder.write(buf);
+ };
+ Utf32AutoDecoder.prototype.end = function() {
+ if (!this.decoder) {
+ var encoding = detectEncoding(this.initialBufs, this.options.defaultEncoding);
+ this.decoder = this.iconv.getDecoder(encoding, this.options);
+ var resStr = "";
+ for (var i = 0; i < this.initialBufs.length; i++) {
+ resStr += this.decoder.write(this.initialBufs[i]);
+ }
+ var trail = this.decoder.end();
+ if (trail) {
+ resStr += trail;
+ }
+ this.initialBufs.length = this.initialBufsLen = 0;
+ return resStr;
+ }
+ return this.decoder.end();
+ };
+ function detectEncoding(bufs, defaultEncoding) {
+ var b = [];
+ var charsProcessed = 0;
+ var invalidLE = 0;
+ var invalidBE = 0;
+ var bmpCharsLE = 0;
+ var bmpCharsBE = 0;
+ outerLoop:
+ for (var i = 0; i < bufs.length; i++) {
+ var buf = bufs[i];
+ for (var j = 0; j < buf.length; j++) {
+ b.push(buf[j]);
+ if (b.length === 4) {
+ if (charsProcessed === 0) {
+ if (b[0] === 255 && b[1] === 254 && b[2] === 0 && b[3] === 0) {
+ return "utf-32le";
+ }
+ if (b[0] === 0 && b[1] === 0 && b[2] === 254 && b[3] === 255) {
+ return "utf-32be";
+ }
+ }
+ if (b[0] !== 0 || b[1] > 16) invalidBE++;
+ if (b[3] !== 0 || b[2] > 16) invalidLE++;
+ if (b[0] === 0 && b[1] === 0 && (b[2] !== 0 || b[3] !== 0)) bmpCharsBE++;
+ if ((b[0] !== 0 || b[1] !== 0) && b[2] === 0 && b[3] === 0) bmpCharsLE++;
+ b.length = 0;
+ charsProcessed++;
+ if (charsProcessed >= 100) {
+ break outerLoop;
+ }
+ }
+ }
+ }
+ if (bmpCharsBE - invalidBE > bmpCharsLE - invalidLE) return "utf-32be";
+ if (bmpCharsBE - invalidBE < bmpCharsLE - invalidLE) return "utf-32le";
+ return defaultEncoding || "utf-32le";
+ }
+ __name(detectEncoding, "detectEncoding");
+ }
+});
+
+// ../../node_modules/.pnpm/iconv-lite@0.7.3/node_modules/iconv-lite/encodings/utf16.js
+var require_utf16 = __commonJS({
+ "../../node_modules/.pnpm/iconv-lite@0.7.3/node_modules/iconv-lite/encodings/utf16.js"(exports) {
+ "use strict";
+ var Buffer2 = require_safer().Buffer;
+ exports.utf16be = Utf16BECodec;
+ function Utf16BECodec() {
+ }
+ __name(Utf16BECodec, "Utf16BECodec");
+ Utf16BECodec.prototype.encoder = Utf16BEEncoder;
+ Utf16BECodec.prototype.decoder = Utf16BEDecoder;
+ Utf16BECodec.prototype.bomAware = true;
+ function Utf16BEEncoder() {
+ }
+ __name(Utf16BEEncoder, "Utf16BEEncoder");
+ Utf16BEEncoder.prototype.write = function(str) {
+ var buf = Buffer2.from(str, "ucs2");
+ for (var i = 0; i < buf.length; i += 2) {
+ var tmp = buf[i];
+ buf[i] = buf[i + 1];
+ buf[i + 1] = tmp;
+ }
+ return buf;
+ };
+ Utf16BEEncoder.prototype.end = function() {
+ };
+ function Utf16BEDecoder() {
+ this.overflowByte = -1;
+ }
+ __name(Utf16BEDecoder, "Utf16BEDecoder");
+ Utf16BEDecoder.prototype.write = function(buf) {
+ if (buf.length == 0) {
+ return "";
+ }
+ var buf2 = Buffer2.alloc(buf.length + 1);
+ var i = 0;
+ var j = 0;
+ if (this.overflowByte !== -1) {
+ buf2[0] = buf[0];
+ buf2[1] = this.overflowByte;
+ i = 1;
+ j = 2;
+ }
+ for (; i < buf.length - 1; i += 2, j += 2) {
+ buf2[j] = buf[i + 1];
+ buf2[j + 1] = buf[i];
+ }
+ this.overflowByte = i == buf.length - 1 ? buf[buf.length - 1] : -1;
+ return buf2.slice(0, j).toString("ucs2");
+ };
+ Utf16BEDecoder.prototype.end = function() {
+ this.overflowByte = -1;
+ };
+ exports.utf16 = Utf16Codec;
+ function Utf16Codec(codecOptions, iconv) {
+ this.iconv = iconv;
+ }
+ __name(Utf16Codec, "Utf16Codec");
+ Utf16Codec.prototype.encoder = Utf16Encoder;
+ Utf16Codec.prototype.decoder = Utf16Decoder;
+ function Utf16Encoder(options, codec) {
+ options = options || {};
+ if (options.addBOM === void 0) {
+ options.addBOM = true;
+ }
+ this.encoder = codec.iconv.getEncoder("utf-16le", options);
+ }
+ __name(Utf16Encoder, "Utf16Encoder");
+ Utf16Encoder.prototype.write = function(str) {
+ return this.encoder.write(str);
+ };
+ Utf16Encoder.prototype.end = function() {
+ return this.encoder.end();
+ };
+ function Utf16Decoder(options, codec) {
+ this.decoder = null;
+ this.initialBufs = [];
+ this.initialBufsLen = 0;
+ this.options = options || {};
+ this.iconv = codec.iconv;
+ }
+ __name(Utf16Decoder, "Utf16Decoder");
+ Utf16Decoder.prototype.write = function(buf) {
+ if (!this.decoder) {
+ this.initialBufs.push(buf);
+ this.initialBufsLen += buf.length;
+ if (this.initialBufsLen < 16) {
+ return "";
+ }
+ var encoding = detectEncoding(this.initialBufs, this.options.defaultEncoding);
+ this.decoder = this.iconv.getDecoder(encoding, this.options);
+ var resStr = "";
+ for (var i = 0; i < this.initialBufs.length; i++) {
+ resStr += this.decoder.write(this.initialBufs[i]);
+ }
+ this.initialBufs.length = this.initialBufsLen = 0;
+ return resStr;
+ }
+ return this.decoder.write(buf);
+ };
+ Utf16Decoder.prototype.end = function() {
+ if (!this.decoder) {
+ var encoding = detectEncoding(this.initialBufs, this.options.defaultEncoding);
+ this.decoder = this.iconv.getDecoder(encoding, this.options);
+ var resStr = "";
+ for (var i = 0; i < this.initialBufs.length; i++) {
+ resStr += this.decoder.write(this.initialBufs[i]);
+ }
+ var trail = this.decoder.end();
+ if (trail) {
+ resStr += trail;
+ }
+ this.initialBufs.length = this.initialBufsLen = 0;
+ return resStr;
+ }
+ return this.decoder.end();
+ };
+ function detectEncoding(bufs, defaultEncoding) {
+ var b = [];
+ var charsProcessed = 0;
+ var asciiCharsLE = 0;
+ var asciiCharsBE = 0;
+ outerLoop:
+ for (var i = 0; i < bufs.length; i++) {
+ var buf = bufs[i];
+ for (var j = 0; j < buf.length; j++) {
+ b.push(buf[j]);
+ if (b.length === 2) {
+ if (charsProcessed === 0) {
+ if (b[0] === 255 && b[1] === 254) return "utf-16le";
+ if (b[0] === 254 && b[1] === 255) return "utf-16be";
+ }
+ if (b[0] === 0 && b[1] !== 0) asciiCharsBE++;
+ if (b[0] !== 0 && b[1] === 0) asciiCharsLE++;
+ b.length = 0;
+ charsProcessed++;
+ if (charsProcessed >= 100) {
+ break outerLoop;
+ }
+ }
+ }
+ }
+ if (asciiCharsBE > asciiCharsLE) return "utf-16be";
+ if (asciiCharsBE < asciiCharsLE) return "utf-16le";
+ return defaultEncoding || "utf-16le";
+ }
+ __name(detectEncoding, "detectEncoding");
+ }
+});
+
+// ../../node_modules/.pnpm/iconv-lite@0.7.3/node_modules/iconv-lite/encodings/utf7.js
+var require_utf7 = __commonJS({
+ "../../node_modules/.pnpm/iconv-lite@0.7.3/node_modules/iconv-lite/encodings/utf7.js"(exports) {
+ "use strict";
+ var Buffer2 = require_safer().Buffer;
+ exports.utf7 = Utf7Codec;
+ exports.unicode11utf7 = "utf7";
+ function Utf7Codec(codecOptions, iconv) {
+ this.iconv = iconv;
+ }
+ __name(Utf7Codec, "Utf7Codec");
+ Utf7Codec.prototype.encoder = Utf7Encoder;
+ Utf7Codec.prototype.decoder = Utf7Decoder;
+ Utf7Codec.prototype.bomAware = true;
+ var nonDirectChars = /[^A-Za-z0-9'\(\),-\.\/:\? \n\r\t]+/g;
+ function Utf7Encoder(options, codec) {
+ this.iconv = codec.iconv;
+ }
+ __name(Utf7Encoder, "Utf7Encoder");
+ Utf7Encoder.prototype.write = function(str) {
+ return Buffer2.from(str.replace(nonDirectChars, function(chunk) {
+ return "+" + (chunk === "+" ? "" : this.iconv.encode(chunk, "utf16-be").toString("base64").replace(/=+$/, "")) + "-";
+ }.bind(this)));
+ };
+ Utf7Encoder.prototype.end = function() {
+ };
+ function Utf7Decoder(options, codec) {
+ this.iconv = codec.iconv;
+ this.inBase64 = false;
+ this.base64Accum = "";
+ }
+ __name(Utf7Decoder, "Utf7Decoder");
+ var base64Regex = /[A-Za-z0-9\/+]/;
+ var base64Chars = [];
+ for (i = 0; i < 256; i++) {
+ base64Chars[i] = base64Regex.test(String.fromCharCode(i));
+ }
+ var i;
+ var plusChar = "+".charCodeAt(0);
+ var minusChar = "-".charCodeAt(0);
+ var andChar = "&".charCodeAt(0);
+ Utf7Decoder.prototype.write = function(buf) {
+ var res = "";
+ var lastI = 0;
+ var inBase64 = this.inBase64;
+ var base64Accum = this.base64Accum;
+ for (var i2 = 0; i2 < buf.length; i2++) {
+ if (!inBase64) {
+ if (buf[i2] == plusChar) {
+ res += this.iconv.decode(buf.slice(lastI, i2), "ascii");
+ lastI = i2 + 1;
+ inBase64 = true;
+ }
+ } else {
+ if (!base64Chars[buf[i2]]) {
+ if (i2 == lastI && buf[i2] == minusChar) {
+ res += "+";
+ } else {
+ var b64str = base64Accum + this.iconv.decode(buf.slice(lastI, i2), "ascii");
+ res += this.iconv.decode(Buffer2.from(b64str, "base64"), "utf16-be");
+ }
+ if (buf[i2] != minusChar) {
+ i2--;
+ }
+ lastI = i2 + 1;
+ inBase64 = false;
+ base64Accum = "";
+ }
+ }
+ }
+ if (!inBase64) {
+ res += this.iconv.decode(buf.slice(lastI), "ascii");
+ } else {
+ var b64str = base64Accum + this.iconv.decode(buf.slice(lastI), "ascii");
+ var canBeDecoded = b64str.length - b64str.length % 8;
+ base64Accum = b64str.slice(canBeDecoded);
+ b64str = b64str.slice(0, canBeDecoded);
+ res += this.iconv.decode(Buffer2.from(b64str, "base64"), "utf16-be");
+ }
+ this.inBase64 = inBase64;
+ this.base64Accum = base64Accum;
+ return res;
+ };
+ Utf7Decoder.prototype.end = function() {
+ var res = "";
+ if (this.inBase64 && this.base64Accum.length > 0) {
+ res = this.iconv.decode(Buffer2.from(this.base64Accum, "base64"), "utf16-be");
+ }
+ this.inBase64 = false;
+ this.base64Accum = "";
+ return res;
+ };
+ exports.utf7imap = Utf7IMAPCodec;
+ function Utf7IMAPCodec(codecOptions, iconv) {
+ this.iconv = iconv;
+ }
+ __name(Utf7IMAPCodec, "Utf7IMAPCodec");
+ Utf7IMAPCodec.prototype.encoder = Utf7IMAPEncoder;
+ Utf7IMAPCodec.prototype.decoder = Utf7IMAPDecoder;
+ Utf7IMAPCodec.prototype.bomAware = true;
+ function Utf7IMAPEncoder(options, codec) {
+ this.iconv = codec.iconv;
+ this.inBase64 = false;
+ this.base64Accum = Buffer2.alloc(6);
+ this.base64AccumIdx = 0;
+ }
+ __name(Utf7IMAPEncoder, "Utf7IMAPEncoder");
+ Utf7IMAPEncoder.prototype.write = function(str) {
+ var inBase64 = this.inBase64;
+ var base64Accum = this.base64Accum;
+ var base64AccumIdx = this.base64AccumIdx;
+ var buf = Buffer2.alloc(str.length * 5 + 10);
+ var bufIdx = 0;
+ for (var i2 = 0; i2 < str.length; i2++) {
+ var uChar = str.charCodeAt(i2);
+ if (uChar >= 32 && uChar <= 126) {
+ if (inBase64) {
+ if (base64AccumIdx > 0) {
+ bufIdx += buf.write(base64Accum.slice(0, base64AccumIdx).toString("base64").replace(/\//g, ",").replace(/=+$/, ""), bufIdx);
+ base64AccumIdx = 0;
+ }
+ buf[bufIdx++] = minusChar;
+ inBase64 = false;
+ }
+ if (!inBase64) {
+ buf[bufIdx++] = uChar;
+ if (uChar === andChar) {
+ buf[bufIdx++] = minusChar;
+ }
+ }
+ } else {
+ if (!inBase64) {
+ buf[bufIdx++] = andChar;
+ inBase64 = true;
+ }
+ if (inBase64) {
+ base64Accum[base64AccumIdx++] = uChar >> 8;
+ base64Accum[base64AccumIdx++] = uChar & 255;
+ if (base64AccumIdx == base64Accum.length) {
+ bufIdx += buf.write(base64Accum.toString("base64").replace(/\//g, ","), bufIdx);
+ base64AccumIdx = 0;
+ }
+ }
+ }
+ }
+ this.inBase64 = inBase64;
+ this.base64AccumIdx = base64AccumIdx;
+ return buf.slice(0, bufIdx);
+ };
+ Utf7IMAPEncoder.prototype.end = function() {
+ var buf = Buffer2.alloc(10);
+ var bufIdx = 0;
+ if (this.inBase64) {
+ if (this.base64AccumIdx > 0) {
+ bufIdx += buf.write(this.base64Accum.slice(0, this.base64AccumIdx).toString("base64").replace(/\//g, ",").replace(/=+$/, ""), bufIdx);
+ this.base64AccumIdx = 0;
+ }
+ buf[bufIdx++] = minusChar;
+ this.inBase64 = false;
+ }
+ return buf.slice(0, bufIdx);
+ };
+ function Utf7IMAPDecoder(options, codec) {
+ this.iconv = codec.iconv;
+ this.inBase64 = false;
+ this.base64Accum = "";
+ }
+ __name(Utf7IMAPDecoder, "Utf7IMAPDecoder");
+ var base64IMAPChars = base64Chars.slice();
+ base64IMAPChars[",".charCodeAt(0)] = true;
+ Utf7IMAPDecoder.prototype.write = function(buf) {
+ var res = "";
+ var lastI = 0;
+ var inBase64 = this.inBase64;
+ var base64Accum = this.base64Accum;
+ for (var i2 = 0; i2 < buf.length; i2++) {
+ if (!inBase64) {
+ if (buf[i2] == andChar) {
+ res += this.iconv.decode(buf.slice(lastI, i2), "ascii");
+ lastI = i2 + 1;
+ inBase64 = true;
+ }
+ } else {
+ if (!base64IMAPChars[buf[i2]]) {
+ if (i2 == lastI && buf[i2] == minusChar) {
+ res += "&";
+ } else {
+ var b64str = base64Accum + this.iconv.decode(buf.slice(lastI, i2), "ascii").replace(/,/g, "/");
+ res += this.iconv.decode(Buffer2.from(b64str, "base64"), "utf16-be");
+ }
+ if (buf[i2] != minusChar) {
+ i2--;
+ }
+ lastI = i2 + 1;
+ inBase64 = false;
+ base64Accum = "";
+ }
+ }
+ }
+ if (!inBase64) {
+ res += this.iconv.decode(buf.slice(lastI), "ascii");
+ } else {
+ var b64str = base64Accum + this.iconv.decode(buf.slice(lastI), "ascii").replace(/,/g, "/");
+ var canBeDecoded = b64str.length - b64str.length % 8;
+ base64Accum = b64str.slice(canBeDecoded);
+ b64str = b64str.slice(0, canBeDecoded);
+ res += this.iconv.decode(Buffer2.from(b64str, "base64"), "utf16-be");
+ }
+ this.inBase64 = inBase64;
+ this.base64Accum = base64Accum;
+ return res;
+ };
+ Utf7IMAPDecoder.prototype.end = function() {
+ var res = "";
+ if (this.inBase64 && this.base64Accum.length > 0) {
+ res = this.iconv.decode(Buffer2.from(this.base64Accum, "base64"), "utf16-be");
+ }
+ this.inBase64 = false;
+ this.base64Accum = "";
+ return res;
+ };
+ }
+});
+
+// ../../node_modules/.pnpm/iconv-lite@0.7.3/node_modules/iconv-lite/encodings/sbcs-codec.js
+var require_sbcs_codec = __commonJS({
+ "../../node_modules/.pnpm/iconv-lite@0.7.3/node_modules/iconv-lite/encodings/sbcs-codec.js"(exports) {
+ "use strict";
+ var Buffer2 = require_safer().Buffer;
+ exports._sbcs = SBCSCodec;
+ function SBCSCodec(codecOptions, iconv) {
+ if (!codecOptions) {
+ throw new Error("SBCS codec is called without the data.");
+ }
+ if (!codecOptions.chars || codecOptions.chars.length !== 128 && codecOptions.chars.length !== 256) {
+ throw new Error("Encoding '" + codecOptions.type + "' has incorrect 'chars' (must be of len 128 or 256)");
+ }
+ if (codecOptions.chars.length === 128) {
+ var asciiString = "";
+ for (var i = 0; i < 128; i++) {
+ asciiString += String.fromCharCode(i);
+ }
+ codecOptions.chars = asciiString + codecOptions.chars;
+ }
+ this.decodeBuf = Buffer2.from(codecOptions.chars, "ucs2");
+ var encodeBuf = Buffer2.alloc(65536, iconv.defaultCharSingleByte.charCodeAt(0));
+ for (var i = 0; i < codecOptions.chars.length; i++) {
+ encodeBuf[codecOptions.chars.charCodeAt(i)] = i;
+ }
+ this.encodeBuf = encodeBuf;
+ }
+ __name(SBCSCodec, "SBCSCodec");
+ SBCSCodec.prototype.encoder = SBCSEncoder;
+ SBCSCodec.prototype.decoder = SBCSDecoder;
+ function SBCSEncoder(options, codec) {
+ this.encodeBuf = codec.encodeBuf;
+ }
+ __name(SBCSEncoder, "SBCSEncoder");
+ SBCSEncoder.prototype.write = function(str) {
+ var buf = Buffer2.alloc(str.length);
+ for (var i = 0; i < str.length; i++) {
+ buf[i] = this.encodeBuf[str.charCodeAt(i)];
+ }
+ return buf;
+ };
+ SBCSEncoder.prototype.end = function() {
+ };
+ function SBCSDecoder(options, codec) {
+ this.decodeBuf = codec.decodeBuf;
+ }
+ __name(SBCSDecoder, "SBCSDecoder");
+ SBCSDecoder.prototype.write = function(buf) {
+ var decodeBuf = this.decodeBuf;
+ var newBuf = Buffer2.alloc(buf.length * 2);
+ var idx1 = 0;
+ var idx2 = 0;
+ for (var i = 0; i < buf.length; i++) {
+ idx1 = buf[i] * 2;
+ idx2 = i * 2;
+ newBuf[idx2] = decodeBuf[idx1];
+ newBuf[idx2 + 1] = decodeBuf[idx1 + 1];
+ }
+ return newBuf.toString("ucs2");
+ };
+ SBCSDecoder.prototype.end = function() {
+ };
+ }
+});
+
+// ../../node_modules/.pnpm/iconv-lite@0.7.3/node_modules/iconv-lite/encodings/sbcs-data.js
+var require_sbcs_data = __commonJS({
+ "../../node_modules/.pnpm/iconv-lite@0.7.3/node_modules/iconv-lite/encodings/sbcs-data.js"(exports, module) {
+ "use strict";
+ module.exports = {
+ // Not supported by iconv, not sure why.
+ 10029: "maccenteuro",
+ maccenteuro: {
+ type: "_sbcs",
+ chars: "\xC4\u0100\u0101\xC9\u0104\xD6\xDC\xE1\u0105\u010C\xE4\u010D\u0106\u0107\xE9\u0179\u017A\u010E\xED\u010F\u0112\u0113\u0116\xF3\u0117\xF4\xF6\xF5\xFA\u011A\u011B\xFC\u2020\xB0\u0118\xA3\xA7\u2022\xB6\xDF\xAE\xA9\u2122\u0119\xA8\u2260\u0123\u012E\u012F\u012A\u2264\u2265\u012B\u0136\u2202\u2211\u0142\u013B\u013C\u013D\u013E\u0139\u013A\u0145\u0146\u0143\xAC\u221A\u0144\u0147\u2206\xAB\xBB\u2026\xA0\u0148\u0150\xD5\u0151\u014C\u2013\u2014\u201C\u201D\u2018\u2019\xF7\u25CA\u014D\u0154\u0155\u0158\u2039\u203A\u0159\u0156\u0157\u0160\u201A\u201E\u0161\u015A\u015B\xC1\u0164\u0165\xCD\u017D\u017E\u016A\xD3\xD4\u016B\u016E\xDA\u016F\u0170\u0171\u0172\u0173\xDD\xFD\u0137\u017B\u0141\u017C\u0122\u02C7"
+ },
+ 808: "cp808",
+ ibm808: "cp808",
+ cp808: {
+ type: "_sbcs",
+ chars: "\u0410\u0411\u0412\u0413\u0414\u0415\u0416\u0417\u0418\u0419\u041A\u041B\u041C\u041D\u041E\u041F\u0420\u0421\u0422\u0423\u0424\u0425\u0426\u0427\u0428\u0429\u042A\u042B\u042C\u042D\u042E\u042F\u0430\u0431\u0432\u0433\u0434\u0435\u0436\u0437\u0438\u0439\u043A\u043B\u043C\u043D\u043E\u043F\u2591\u2592\u2593\u2502\u2524\u2561\u2562\u2556\u2555\u2563\u2551\u2557\u255D\u255C\u255B\u2510\u2514\u2534\u252C\u251C\u2500\u253C\u255E\u255F\u255A\u2554\u2569\u2566\u2560\u2550\u256C\u2567\u2568\u2564\u2565\u2559\u2558\u2552\u2553\u256B\u256A\u2518\u250C\u2588\u2584\u258C\u2590\u2580\u0440\u0441\u0442\u0443\u0444\u0445\u0446\u0447\u0448\u0449\u044A\u044B\u044C\u044D\u044E\u044F\u0401\u0451\u0404\u0454\u0407\u0457\u040E\u045E\xB0\u2219\xB7\u221A\u2116\u20AC\u25A0\xA0"
+ },
+ mik: {
+ type: "_sbcs",
+ chars: "\u0410\u0411\u0412\u0413\u0414\u0415\u0416\u0417\u0418\u0419\u041A\u041B\u041C\u041D\u041E\u041F\u0420\u0421\u0422\u0423\u0424\u0425\u0426\u0427\u0428\u0429\u042A\u042B\u042C\u042D\u042E\u042F\u0430\u0431\u0432\u0433\u0434\u0435\u0436\u0437\u0438\u0439\u043A\u043B\u043C\u043D\u043E\u043F\u0440\u0441\u0442\u0443\u0444\u0445\u0446\u0447\u0448\u0449\u044A\u044B\u044C\u044D\u044E\u044F\u2514\u2534\u252C\u251C\u2500\u253C\u2563\u2551\u255A\u2554\u2569\u2566\u2560\u2550\u256C\u2510\u2591\u2592\u2593\u2502\u2524\u2116\xA7\u2557\u255D\u2518\u250C\u2588\u2584\u258C\u2590\u2580\u03B1\xDF\u0393\u03C0\u03A3\u03C3\xB5\u03C4\u03A6\u0398\u03A9\u03B4\u221E\u03C6\u03B5\u2229\u2261\xB1\u2265\u2264\u2320\u2321\xF7\u2248\xB0\u2219\xB7\u221A\u207F\xB2\u25A0\xA0"
+ },
+ cp720: {
+ type: "_sbcs",
+ chars: "\x80\x81\xE9\xE2\x84\xE0\x86\xE7\xEA\xEB\xE8\xEF\xEE\x8D\x8E\x8F\x90\u0651\u0652\xF4\xA4\u0640\xFB\xF9\u0621\u0622\u0623\u0624\xA3\u0625\u0626\u0627\u0628\u0629\u062A\u062B\u062C\u062D\u062E\u062F\u0630\u0631\u0632\u0633\u0634\u0635\xAB\xBB\u2591\u2592\u2593\u2502\u2524\u2561\u2562\u2556\u2555\u2563\u2551\u2557\u255D\u255C\u255B\u2510\u2514\u2534\u252C\u251C\u2500\u253C\u255E\u255F\u255A\u2554\u2569\u2566\u2560\u2550\u256C\u2567\u2568\u2564\u2565\u2559\u2558\u2552\u2553\u256B\u256A\u2518\u250C\u2588\u2584\u258C\u2590\u2580\u0636\u0637\u0638\u0639\u063A\u0641\xB5\u0642\u0643\u0644\u0645\u0646\u0647\u0648\u0649\u064A\u2261\u064B\u064C\u064D\u064E\u064F\u0650\u2248\xB0\u2219\xB7\u221A\u207F\xB2\u25A0\xA0"
+ },
+ // Aliases of generated encodings.
+ ascii8bit: "ascii",
+ usascii: "ascii",
+ ansix34: "ascii",
+ ansix341968: "ascii",
+ ansix341986: "ascii",
+ csascii: "ascii",
+ cp367: "ascii",
+ ibm367: "ascii",
+ isoir6: "ascii",
+ iso646us: "ascii",
+ iso646irv: "ascii",
+ us: "ascii",
+ latin1: "iso88591",
+ latin2: "iso88592",
+ latin3: "iso88593",
+ latin4: "iso88594",
+ latin5: "iso88599",
+ latin6: "iso885910",
+ latin7: "iso885913",
+ latin8: "iso885914",
+ latin9: "iso885915",
+ latin10: "iso885916",
+ csisolatin1: "iso88591",
+ csisolatin2: "iso88592",
+ csisolatin3: "iso88593",
+ csisolatin4: "iso88594",
+ csisolatincyrillic: "iso88595",
+ csisolatinarabic: "iso88596",
+ csisolatingreek: "iso88597",
+ csisolatinhebrew: "iso88598",
+ csisolatin5: "iso88599",
+ csisolatin6: "iso885910",
+ l1: "iso88591",
+ l2: "iso88592",
+ l3: "iso88593",
+ l4: "iso88594",
+ l5: "iso88599",
+ l6: "iso885910",
+ l7: "iso885913",
+ l8: "iso885914",
+ l9: "iso885915",
+ l10: "iso885916",
+ isoir14: "iso646jp",
+ isoir57: "iso646cn",
+ isoir100: "iso88591",
+ isoir101: "iso88592",
+ isoir109: "iso88593",
+ isoir110: "iso88594",
+ isoir144: "iso88595",
+ isoir127: "iso88596",
+ isoir126: "iso88597",
+ isoir138: "iso88598",
+ isoir148: "iso88599",
+ isoir157: "iso885910",
+ isoir166: "tis620",
+ isoir179: "iso885913",
+ isoir199: "iso885914",
+ isoir203: "iso885915",
+ isoir226: "iso885916",
+ cp819: "iso88591",
+ ibm819: "iso88591",
+ cyrillic: "iso88595",
+ arabic: "iso88596",
+ arabic8: "iso88596",
+ ecma114: "iso88596",
+ asmo708: "iso88596",
+ greek: "iso88597",
+ greek8: "iso88597",
+ ecma118: "iso88597",
+ elot928: "iso88597",
+ hebrew: "iso88598",
+ hebrew8: "iso88598",
+ iso88598i: "iso88598",
+ iso88598e: "iso88598",
+ turkish: "iso88599",
+ turkish8: "iso88599",
+ thai: "iso885911",
+ thai8: "iso885911",
+ celtic: "iso885914",
+ celtic8: "iso885914",
+ isoceltic: "iso885914",
+ tis6200: "tis620",
+ tis62025291: "tis620",
+ tis62025330: "tis620",
+ 1e4: "macroman",
+ 10006: "macgreek",
+ 10007: "maccyrillic",
+ 10079: "maciceland",
+ 10081: "macturkish",
+ cspc8codepage437: "cp437",
+ cspc775baltic: "cp775",
+ cspc850multilingual: "cp850",
+ cspcp852: "cp852",
+ cspc862latinhebrew: "cp862",
+ cpgr: "cp869",
+ msee: "cp1250",
+ mscyrl: "cp1251",
+ msansi: "cp1252",
+ msgreek: "cp1253",
+ msturk: "cp1254",
+ mshebr: "cp1255",
+ msarab: "cp1256",
+ winbaltrim: "cp1257",
+ cp20866: "koi8r",
+ 20866: "koi8r",
+ ibm878: "koi8r",
+ cskoi8r: "koi8r",
+ cp21866: "koi8u",
+ 21866: "koi8u",
+ ibm1168: "koi8u",
+ strk10482002: "rk1048",
+ tcvn5712: "tcvn",
+ tcvn57121: "tcvn",
+ gb198880: "iso646cn",
+ cn: "iso646cn",
+ csiso14jisc6220ro: "iso646jp",
+ jisc62201969ro: "iso646jp",
+ jp: "iso646jp",
+ cshproman8: "hproman8",
+ r8: "hproman8",
+ roman8: "hproman8",
+ xroman8: "hproman8",
+ ibm1051: "hproman8",
+ mac: "macintosh",
+ csmacintosh: "macintosh"
+ };
+ }
+});
+
+// ../../node_modules/.pnpm/iconv-lite@0.7.3/node_modules/iconv-lite/encodings/sbcs-data-generated.js
+var require_sbcs_data_generated = __commonJS({
+ "../../node_modules/.pnpm/iconv-lite@0.7.3/node_modules/iconv-lite/encodings/sbcs-data-generated.js"(exports, module) {
+ "use strict";
+ module.exports = {
+ "437": "cp437",
+ "737": "cp737",
+ "775": "cp775",
+ "850": "cp850",
+ "852": "cp852",
+ "855": "cp855",
+ "856": "cp856",
+ "857": "cp857",
+ "858": "cp858",
+ "860": "cp860",
+ "861": "cp861",
+ "862": "cp862",
+ "863": "cp863",
+ "864": "cp864",
+ "865": "cp865",
+ "866": "cp866",
+ "869": "cp869",
+ "874": "windows874",
+ "922": "cp922",
+ "1046": "cp1046",
+ "1124": "cp1124",
+ "1125": "cp1125",
+ "1129": "cp1129",
+ "1133": "cp1133",
+ "1161": "cp1161",
+ "1162": "cp1162",
+ "1163": "cp1163",
+ "1250": "windows1250",
+ "1251": "windows1251",
+ "1252": "windows1252",
+ "1253": "windows1253",
+ "1254": "windows1254",
+ "1255": "windows1255",
+ "1256": "windows1256",
+ "1257": "windows1257",
+ "1258": "windows1258",
+ "28591": "iso88591",
+ "28592": "iso88592",
+ "28593": "iso88593",
+ "28594": "iso88594",
+ "28595": "iso88595",
+ "28596": "iso88596",
+ "28597": "iso88597",
+ "28598": "iso88598",
+ "28599": "iso88599",
+ "28600": "iso885910",
+ "28601": "iso885911",
+ "28603": "iso885913",
+ "28604": "iso885914",
+ "28605": "iso885915",
+ "28606": "iso885916",
+ "windows874": {
+ "type": "_sbcs",
+ "chars": "\u20AC\uFFFD\uFFFD\uFFFD\uFFFD\u2026\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\u2018\u2019\u201C\u201D\u2022\u2013\u2014\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\xA0\u0E01\u0E02\u0E03\u0E04\u0E05\u0E06\u0E07\u0E08\u0E09\u0E0A\u0E0B\u0E0C\u0E0D\u0E0E\u0E0F\u0E10\u0E11\u0E12\u0E13\u0E14\u0E15\u0E16\u0E17\u0E18\u0E19\u0E1A\u0E1B\u0E1C\u0E1D\u0E1E\u0E1F\u0E20\u0E21\u0E22\u0E23\u0E24\u0E25\u0E26\u0E27\u0E28\u0E29\u0E2A\u0E2B\u0E2C\u0E2D\u0E2E\u0E2F\u0E30\u0E31\u0E32\u0E33\u0E34\u0E35\u0E36\u0E37\u0E38\u0E39\u0E3A\uFFFD\uFFFD\uFFFD\uFFFD\u0E3F\u0E40\u0E41\u0E42\u0E43\u0E44\u0E45\u0E46\u0E47\u0E48\u0E49\u0E4A\u0E4B\u0E4C\u0E4D\u0E4E\u0E4F\u0E50\u0E51\u0E52\u0E53\u0E54\u0E55\u0E56\u0E57\u0E58\u0E59\u0E5A\u0E5B\uFFFD\uFFFD\uFFFD\uFFFD"
+ },
+ "win874": "windows874",
+ "cp874": "windows874",
+ "windows1250": {
+ "type": "_sbcs",
+ "chars": "\u20AC\uFFFD\u201A\uFFFD\u201E\u2026\u2020\u2021\uFFFD\u2030\u0160\u2039\u015A\u0164\u017D\u0179\uFFFD\u2018\u2019\u201C\u201D\u2022\u2013\u2014\uFFFD\u2122\u0161\u203A\u015B\u0165\u017E\u017A\xA0\u02C7\u02D8\u0141\xA4\u0104\xA6\xA7\xA8\xA9\u015E\xAB\xAC\xAD\xAE\u017B\xB0\xB1\u02DB\u0142\xB4\xB5\xB6\xB7\xB8\u0105\u015F\xBB\u013D\u02DD\u013E\u017C\u0154\xC1\xC2\u0102\xC4\u0139\u0106\xC7\u010C\xC9\u0118\xCB\u011A\xCD\xCE\u010E\u0110\u0143\u0147\xD3\xD4\u0150\xD6\xD7\u0158\u016E\xDA\u0170\xDC\xDD\u0162\xDF\u0155\xE1\xE2\u0103\xE4\u013A\u0107\xE7\u010D\xE9\u0119\xEB\u011B\xED\xEE\u010F\u0111\u0144\u0148\xF3\xF4\u0151\xF6\xF7\u0159\u016F\xFA\u0171\xFC\xFD\u0163\u02D9"
+ },
+ "win1250": "windows1250",
+ "cp1250": "windows1250",
+ "windows1251": {
+ "type": "_sbcs",
+ "chars": "\u0402\u0403\u201A\u0453\u201E\u2026\u2020\u2021\u20AC\u2030\u0409\u2039\u040A\u040C\u040B\u040F\u0452\u2018\u2019\u201C\u201D\u2022\u2013\u2014\uFFFD\u2122\u0459\u203A\u045A\u045C\u045B\u045F\xA0\u040E\u045E\u0408\xA4\u0490\xA6\xA7\u0401\xA9\u0404\xAB\xAC\xAD\xAE\u0407\xB0\xB1\u0406\u0456\u0491\xB5\xB6\xB7\u0451\u2116\u0454\xBB\u0458\u0405\u0455\u0457\u0410\u0411\u0412\u0413\u0414\u0415\u0416\u0417\u0418\u0419\u041A\u041B\u041C\u041D\u041E\u041F\u0420\u0421\u0422\u0423\u0424\u0425\u0426\u0427\u0428\u0429\u042A\u042B\u042C\u042D\u042E\u042F\u0430\u0431\u0432\u0433\u0434\u0435\u0436\u0437\u0438\u0439\u043A\u043B\u043C\u043D\u043E\u043F\u0440\u0441\u0442\u0443\u0444\u0445\u0446\u0447\u0448\u0449\u044A\u044B\u044C\u044D\u044E\u044F"
+ },
+ "win1251": "windows1251",
+ "cp1251": "windows1251",
+ "windows1252": {
+ "type": "_sbcs",
+ "chars": "\u20AC\uFFFD\u201A\u0192\u201E\u2026\u2020\u2021\u02C6\u2030\u0160\u2039\u0152\uFFFD\u017D\uFFFD\uFFFD\u2018\u2019\u201C\u201D\u2022\u2013\u2014\u02DC\u2122\u0161\u203A\u0153\uFFFD\u017E\u0178\xA0\xA1\xA2\xA3\xA4\xA5\xA6\xA7\xA8\xA9\xAA\xAB\xAC\xAD\xAE\xAF\xB0\xB1\xB2\xB3\xB4\xB5\xB6\xB7\xB8\xB9\xBA\xBB\xBC\xBD\xBE\xBF\xC0\xC1\xC2\xC3\xC4\xC5\xC6\xC7\xC8\xC9\xCA\xCB\xCC\xCD\xCE\xCF\xD0\xD1\xD2\xD3\xD4\xD5\xD6\xD7\xD8\xD9\xDA\xDB\xDC\xDD\xDE\xDF\xE0\xE1\xE2\xE3\xE4\xE5\xE6\xE7\xE8\xE9\xEA\xEB\xEC\xED\xEE\xEF\xF0\xF1\xF2\xF3\xF4\xF5\xF6\xF7\xF8\xF9\xFA\xFB\xFC\xFD\xFE\xFF"
+ },
+ "win1252": "windows1252",
+ "cp1252": "windows1252",
+ "windows1253": {
+ "type": "_sbcs",
+ "chars": "\u20AC\uFFFD\u201A\u0192\u201E\u2026\u2020\u2021\uFFFD\u2030\uFFFD\u2039\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\u2018\u2019\u201C\u201D\u2022\u2013\u2014\uFFFD\u2122\uFFFD\u203A\uFFFD\uFFFD\uFFFD\uFFFD\xA0\u0385\u0386\xA3\xA4\xA5\xA6\xA7\xA8\xA9\uFFFD\xAB\xAC\xAD\xAE\u2015\xB0\xB1\xB2\xB3\u0384\xB5\xB6\xB7\u0388\u0389\u038A\xBB\u038C\xBD\u038E\u038F\u0390\u0391\u0392\u0393\u0394\u0395\u0396\u0397\u0398\u0399\u039A\u039B\u039C\u039D\u039E\u039F\u03A0\u03A1\uFFFD\u03A3\u03A4\u03A5\u03A6\u03A7\u03A8\u03A9\u03AA\u03AB\u03AC\u03AD\u03AE\u03AF\u03B0\u03B1\u03B2\u03B3\u03B4\u03B5\u03B6\u03B7\u03B8\u03B9\u03BA\u03BB\u03BC\u03BD\u03BE\u03BF\u03C0\u03C1\u03C2\u03C3\u03C4\u03C5\u03C6\u03C7\u03C8\u03C9\u03CA\u03CB\u03CC\u03CD\u03CE\uFFFD"
+ },
+ "win1253": "windows1253",
+ "cp1253": "windows1253",
+ "windows1254": {
+ "type": "_sbcs",
+ "chars": "\u20AC\uFFFD\u201A\u0192\u201E\u2026\u2020\u2021\u02C6\u2030\u0160\u2039\u0152\uFFFD\uFFFD\uFFFD\uFFFD\u2018\u2019\u201C\u201D\u2022\u2013\u2014\u02DC\u2122\u0161\u203A\u0153\uFFFD\uFFFD\u0178\xA0\xA1\xA2\xA3\xA4\xA5\xA6\xA7\xA8\xA9\xAA\xAB\xAC\xAD\xAE\xAF\xB0\xB1\xB2\xB3\xB4\xB5\xB6\xB7\xB8\xB9\xBA\xBB\xBC\xBD\xBE\xBF\xC0\xC1\xC2\xC3\xC4\xC5\xC6\xC7\xC8\xC9\xCA\xCB\xCC\xCD\xCE\xCF\u011E\xD1\xD2\xD3\xD4\xD5\xD6\xD7\xD8\xD9\xDA\xDB\xDC\u0130\u015E\xDF\xE0\xE1\xE2\xE3\xE4\xE5\xE6\xE7\xE8\xE9\xEA\xEB\xEC\xED\xEE\xEF\u011F\xF1\xF2\xF3\xF4\xF5\xF6\xF7\xF8\xF9\xFA\xFB\xFC\u0131\u015F\xFF"
+ },
+ "win1254": "windows1254",
+ "cp1254": "windows1254",
+ "windows1255": {
+ "type": "_sbcs",
+ "chars": "\u20AC\uFFFD\u201A\u0192\u201E\u2026\u2020\u2021\u02C6\u2030\uFFFD\u2039\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\u2018\u2019\u201C\u201D\u2022\u2013\u2014\u02DC\u2122\uFFFD\u203A\uFFFD\uFFFD\uFFFD\uFFFD\xA0\xA1\xA2\xA3\u20AA\xA5\xA6\xA7\xA8\xA9\xD7\xAB\xAC\xAD\xAE\xAF\xB0\xB1\xB2\xB3\xB4\xB5\xB6\xB7\xB8\xB9\xF7\xBB\xBC\xBD\xBE\xBF\u05B0\u05B1\u05B2\u05B3\u05B4\u05B5\u05B6\u05B7\u05B8\u05B9\u05BA\u05BB\u05BC\u05BD\u05BE\u05BF\u05C0\u05C1\u05C2\u05C3\u05F0\u05F1\u05F2\u05F3\u05F4\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\u05D0\u05D1\u05D2\u05D3\u05D4\u05D5\u05D6\u05D7\u05D8\u05D9\u05DA\u05DB\u05DC\u05DD\u05DE\u05DF\u05E0\u05E1\u05E2\u05E3\u05E4\u05E5\u05E6\u05E7\u05E8\u05E9\u05EA\uFFFD\uFFFD\u200E\u200F\uFFFD"
+ },
+ "win1255": "windows1255",
+ "cp1255": "windows1255",
+ "windows1256": {
+ "type": "_sbcs",
+ "chars": "\u20AC\u067E\u201A\u0192\u201E\u2026\u2020\u2021\u02C6\u2030\u0679\u2039\u0152\u0686\u0698\u0688\u06AF\u2018\u2019\u201C\u201D\u2022\u2013\u2014\u06A9\u2122\u0691\u203A\u0153\u200C\u200D\u06BA\xA0\u060C\xA2\xA3\xA4\xA5\xA6\xA7\xA8\xA9\u06BE\xAB\xAC\xAD\xAE\xAF\xB0\xB1\xB2\xB3\xB4\xB5\xB6\xB7\xB8\xB9\u061B\xBB\xBC\xBD\xBE\u061F\u06C1\u0621\u0622\u0623\u0624\u0625\u0626\u0627\u0628\u0629\u062A\u062B\u062C\u062D\u062E\u062F\u0630\u0631\u0632\u0633\u0634\u0635\u0636\xD7\u0637\u0638\u0639\u063A\u0640\u0641\u0642\u0643\xE0\u0644\xE2\u0645\u0646\u0647\u0648\xE7\xE8\xE9\xEA\xEB\u0649\u064A\xEE\xEF\u064B\u064C\u064D\u064E\xF4\u064F\u0650\xF7\u0651\xF9\u0652\xFB\xFC\u200E\u200F\u06D2"
+ },
+ "win1256": "windows1256",
+ "cp1256": "windows1256",
+ "windows1257": {
+ "type": "_sbcs",
+ "chars": "\u20AC\uFFFD\u201A\uFFFD\u201E\u2026\u2020\u2021\uFFFD\u2030\uFFFD\u2039\uFFFD\xA8\u02C7\xB8\uFFFD\u2018\u2019\u201C\u201D\u2022\u2013\u2014\uFFFD\u2122\uFFFD\u203A\uFFFD\xAF\u02DB\uFFFD\xA0\uFFFD\xA2\xA3\xA4\uFFFD\xA6\xA7\xD8\xA9\u0156\xAB\xAC\xAD\xAE\xC6\xB0\xB1\xB2\xB3\xB4\xB5\xB6\xB7\xF8\xB9\u0157\xBB\xBC\xBD\xBE\xE6\u0104\u012E\u0100\u0106\xC4\xC5\u0118\u0112\u010C\xC9\u0179\u0116\u0122\u0136\u012A\u013B\u0160\u0143\u0145\xD3\u014C\xD5\xD6\xD7\u0172\u0141\u015A\u016A\xDC\u017B\u017D\xDF\u0105\u012F\u0101\u0107\xE4\xE5\u0119\u0113\u010D\xE9\u017A\u0117\u0123\u0137\u012B\u013C\u0161\u0144\u0146\xF3\u014D\xF5\xF6\xF7\u0173\u0142\u015B\u016B\xFC\u017C\u017E\u02D9"
+ },
+ "win1257": "windows1257",
+ "cp1257": "windows1257",
+ "windows1258": {
+ "type": "_sbcs",
+ "chars": "\u20AC\uFFFD\u201A\u0192\u201E\u2026\u2020\u2021\u02C6\u2030\uFFFD\u2039\u0152\uFFFD\uFFFD\uFFFD\uFFFD\u2018\u2019\u201C\u201D\u2022\u2013\u2014\u02DC\u2122\uFFFD\u203A\u0153\uFFFD\uFFFD\u0178\xA0\xA1\xA2\xA3\xA4\xA5\xA6\xA7\xA8\xA9\xAA\xAB\xAC\xAD\xAE\xAF\xB0\xB1\xB2\xB3\xB4\xB5\xB6\xB7\xB8\xB9\xBA\xBB\xBC\xBD\xBE\xBF\xC0\xC1\xC2\u0102\xC4\xC5\xC6\xC7\xC8\xC9\xCA\xCB\u0300\xCD\xCE\xCF\u0110\xD1\u0309\xD3\xD4\u01A0\xD6\xD7\xD8\xD9\xDA\xDB\xDC\u01AF\u0303\xDF\xE0\xE1\xE2\u0103\xE4\xE5\xE6\xE7\xE8\xE9\xEA\xEB\u0301\xED\xEE\xEF\u0111\xF1\u0323\xF3\xF4\u01A1\xF6\xF7\xF8\xF9\xFA\xFB\xFC\u01B0\u20AB\xFF"
+ },
+ "win1258": "windows1258",
+ "cp1258": "windows1258",
+ "iso88591": {
+ "type": "_sbcs",
+ "chars": "\x80\x81\x82\x83\x84\x85\x86\x87\x88\x89\x8A\x8B\x8C\x8D\x8E\x8F\x90\x91\x92\x93\x94\x95\x96\x97\x98\x99\x9A\x9B\x9C\x9D\x9E\x9F\xA0\xA1\xA2\xA3\xA4\xA5\xA6\xA7\xA8\xA9\xAA\xAB\xAC\xAD\xAE\xAF\xB0\xB1\xB2\xB3\xB4\xB5\xB6\xB7\xB8\xB9\xBA\xBB\xBC\xBD\xBE\xBF\xC0\xC1\xC2\xC3\xC4\xC5\xC6\xC7\xC8\xC9\xCA\xCB\xCC\xCD\xCE\xCF\xD0\xD1\xD2\xD3\xD4\xD5\xD6\xD7\xD8\xD9\xDA\xDB\xDC\xDD\xDE\xDF\xE0\xE1\xE2\xE3\xE4\xE5\xE6\xE7\xE8\xE9\xEA\xEB\xEC\xED\xEE\xEF\xF0\xF1\xF2\xF3\xF4\xF5\xF6\xF7\xF8\xF9\xFA\xFB\xFC\xFD\xFE\xFF"
+ },
+ "cp28591": "iso88591",
+ "iso88592": {
+ "type": "_sbcs",
+ "chars": "\x80\x81\x82\x83\x84\x85\x86\x87\x88\x89\x8A\x8B\x8C\x8D\x8E\x8F\x90\x91\x92\x93\x94\x95\x96\x97\x98\x99\x9A\x9B\x9C\x9D\x9E\x9F\xA0\u0104\u02D8\u0141\xA4\u013D\u015A\xA7\xA8\u0160\u015E\u0164\u0179\xAD\u017D\u017B\xB0\u0105\u02DB\u0142\xB4\u013E\u015B\u02C7\xB8\u0161\u015F\u0165\u017A\u02DD\u017E\u017C\u0154\xC1\xC2\u0102\xC4\u0139\u0106\xC7\u010C\xC9\u0118\xCB\u011A\xCD\xCE\u010E\u0110\u0143\u0147\xD3\xD4\u0150\xD6\xD7\u0158\u016E\xDA\u0170\xDC\xDD\u0162\xDF\u0155\xE1\xE2\u0103\xE4\u013A\u0107\xE7\u010D\xE9\u0119\xEB\u011B\xED\xEE\u010F\u0111\u0144\u0148\xF3\xF4\u0151\xF6\xF7\u0159\u016F\xFA\u0171\xFC\xFD\u0163\u02D9"
+ },
+ "cp28592": "iso88592",
+ "iso88593": {
+ "type": "_sbcs",
+ "chars": "\x80\x81\x82\x83\x84\x85\x86\x87\x88\x89\x8A\x8B\x8C\x8D\x8E\x8F\x90\x91\x92\x93\x94\x95\x96\x97\x98\x99\x9A\x9B\x9C\x9D\x9E\x9F\xA0\u0126\u02D8\xA3\xA4\uFFFD\u0124\xA7\xA8\u0130\u015E\u011E\u0134\xAD\uFFFD\u017B\xB0\u0127\xB2\xB3\xB4\xB5\u0125\xB7\xB8\u0131\u015F\u011F\u0135\xBD\uFFFD\u017C\xC0\xC1\xC2\uFFFD\xC4\u010A\u0108\xC7\xC8\xC9\xCA\xCB\xCC\xCD\xCE\xCF\uFFFD\xD1\xD2\xD3\xD4\u0120\xD6\xD7\u011C\xD9\xDA\xDB\xDC\u016C\u015C\xDF\xE0\xE1\xE2\uFFFD\xE4\u010B\u0109\xE7\xE8\xE9\xEA\xEB\xEC\xED\xEE\xEF\uFFFD\xF1\xF2\xF3\xF4\u0121\xF6\xF7\u011D\xF9\xFA\xFB\xFC\u016D\u015D\u02D9"
+ },
+ "cp28593": "iso88593",
+ "iso88594": {
+ "type": "_sbcs",
+ "chars": "\x80\x81\x82\x83\x84\x85\x86\x87\x88\x89\x8A\x8B\x8C\x8D\x8E\x8F\x90\x91\x92\x93\x94\x95\x96\x97\x98\x99\x9A\x9B\x9C\x9D\x9E\x9F\xA0\u0104\u0138\u0156\xA4\u0128\u013B\xA7\xA8\u0160\u0112\u0122\u0166\xAD\u017D\xAF\xB0\u0105\u02DB\u0157\xB4\u0129\u013C\u02C7\xB8\u0161\u0113\u0123\u0167\u014A\u017E\u014B\u0100\xC1\xC2\xC3\xC4\xC5\xC6\u012E\u010C\xC9\u0118\xCB\u0116\xCD\xCE\u012A\u0110\u0145\u014C\u0136\xD4\xD5\xD6\xD7\xD8\u0172\xDA\xDB\xDC\u0168\u016A\xDF\u0101\xE1\xE2\xE3\xE4\xE5\xE6\u012F\u010D\xE9\u0119\xEB\u0117\xED\xEE\u012B\u0111\u0146\u014D\u0137\xF4\xF5\xF6\xF7\xF8\u0173\xFA\xFB\xFC\u0169\u016B\u02D9"
+ },
+ "cp28594": "iso88594",
+ "iso88595": {
+ "type": "_sbcs",
+ "chars": "\x80\x81\x82\x83\x84\x85\x86\x87\x88\x89\x8A\x8B\x8C\x8D\x8E\x8F\x90\x91\x92\x93\x94\x95\x96\x97\x98\x99\x9A\x9B\x9C\x9D\x9E\x9F\xA0\u0401\u0402\u0403\u0404\u0405\u0406\u0407\u0408\u0409\u040A\u040B\u040C\xAD\u040E\u040F\u0410\u0411\u0412\u0413\u0414\u0415\u0416\u0417\u0418\u0419\u041A\u041B\u041C\u041D\u041E\u041F\u0420\u0421\u0422\u0423\u0424\u0425\u0426\u0427\u0428\u0429\u042A\u042B\u042C\u042D\u042E\u042F\u0430\u0431\u0432\u0433\u0434\u0435\u0436\u0437\u0438\u0439\u043A\u043B\u043C\u043D\u043E\u043F\u0440\u0441\u0442\u0443\u0444\u0445\u0446\u0447\u0448\u0449\u044A\u044B\u044C\u044D\u044E\u044F\u2116\u0451\u0452\u0453\u0454\u0455\u0456\u0457\u0458\u0459\u045A\u045B\u045C\xA7\u045E\u045F"
+ },
+ "cp28595": "iso88595",
+ "iso88596": {
+ "type": "_sbcs",
+ "chars": "\x80\x81\x82\x83\x84\x85\x86\x87\x88\x89\x8A\x8B\x8C\x8D\x8E\x8F\x90\x91\x92\x93\x94\x95\x96\x97\x98\x99\x9A\x9B\x9C\x9D\x9E\x9F\xA0\uFFFD\uFFFD\uFFFD\xA4\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\u060C\xAD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\u061B\uFFFD\uFFFD\uFFFD\u061F\uFFFD\u0621\u0622\u0623\u0624\u0625\u0626\u0627\u0628\u0629\u062A\u062B\u062C\u062D\u062E\u062F\u0630\u0631\u0632\u0633\u0634\u0635\u0636\u0637\u0638\u0639\u063A\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\u0640\u0641\u0642\u0643\u0644\u0645\u0646\u0647\u0648\u0649\u064A\u064B\u064C\u064D\u064E\u064F\u0650\u0651\u0652\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD"
+ },
+ "cp28596": "iso88596",
+ "iso88597": {
+ "type": "_sbcs",
+ "chars": "\x80\x81\x82\x83\x84\x85\x86\x87\x88\x89\x8A\x8B\x8C\x8D\x8E\x8F\x90\x91\x92\x93\x94\x95\x96\x97\x98\x99\x9A\x9B\x9C\x9D\x9E\x9F\xA0\u2018\u2019\xA3\u20AC\u20AF\xA6\xA7\xA8\xA9\u037A\xAB\xAC\xAD\uFFFD\u2015\xB0\xB1\xB2\xB3\u0384\u0385\u0386\xB7\u0388\u0389\u038A\xBB\u038C\xBD\u038E\u038F\u0390\u0391\u0392\u0393\u0394\u0395\u0396\u0397\u0398\u0399\u039A\u039B\u039C\u039D\u039E\u039F\u03A0\u03A1\uFFFD\u03A3\u03A4\u03A5\u03A6\u03A7\u03A8\u03A9\u03AA\u03AB\u03AC\u03AD\u03AE\u03AF\u03B0\u03B1\u03B2\u03B3\u03B4\u03B5\u03B6\u03B7\u03B8\u03B9\u03BA\u03BB\u03BC\u03BD\u03BE\u03BF\u03C0\u03C1\u03C2\u03C3\u03C4\u03C5\u03C6\u03C7\u03C8\u03C9\u03CA\u03CB\u03CC\u03CD\u03CE\uFFFD"
+ },
+ "cp28597": "iso88597",
+ "iso88598": {
+ "type": "_sbcs",
+ "chars": "\x80\x81\x82\x83\x84\x85\x86\x87\x88\x89\x8A\x8B\x8C\x8D\x8E\x8F\x90\x91\x92\x93\x94\x95\x96\x97\x98\x99\x9A\x9B\x9C\x9D\x9E\x9F\xA0\uFFFD\xA2\xA3\xA4\xA5\xA6\xA7\xA8\xA9\xD7\xAB\xAC\xAD\xAE\xAF\xB0\xB1\xB2\xB3\xB4\xB5\xB6\xB7\xB8\xB9\xF7\xBB\xBC\xBD\xBE\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\u2017\u05D0\u05D1\u05D2\u05D3\u05D4\u05D5\u05D6\u05D7\u05D8\u05D9\u05DA\u05DB\u05DC\u05DD\u05DE\u05DF\u05E0\u05E1\u05E2\u05E3\u05E4\u05E5\u05E6\u05E7\u05E8\u05E9\u05EA\uFFFD\uFFFD\u200E\u200F\uFFFD"
+ },
+ "cp28598": "iso88598",
+ "iso88599": {
+ "type": "_sbcs",
+ "chars": "\x80\x81\x82\x83\x84\x85\x86\x87\x88\x89\x8A\x8B\x8C\x8D\x8E\x8F\x90\x91\x92\x93\x94\x95\x96\x97\x98\x99\x9A\x9B\x9C\x9D\x9E\x9F\xA0\xA1\xA2\xA3\xA4\xA5\xA6\xA7\xA8\xA9\xAA\xAB\xAC\xAD\xAE\xAF\xB0\xB1\xB2\xB3\xB4\xB5\xB6\xB7\xB8\xB9\xBA\xBB\xBC\xBD\xBE\xBF\xC0\xC1\xC2\xC3\xC4\xC5\xC6\xC7\xC8\xC9\xCA\xCB\xCC\xCD\xCE\xCF\u011E\xD1\xD2\xD3\xD4\xD5\xD6\xD7\xD8\xD9\xDA\xDB\xDC\u0130\u015E\xDF\xE0\xE1\xE2\xE3\xE4\xE5\xE6\xE7\xE8\xE9\xEA\xEB\xEC\xED\xEE\xEF\u011F\xF1\xF2\xF3\xF4\xF5\xF6\xF7\xF8\xF9\xFA\xFB\xFC\u0131\u015F\xFF"
+ },
+ "cp28599": "iso88599",
+ "iso885910": {
+ "type": "_sbcs",
+ "chars": "\x80\x81\x82\x83\x84\x85\x86\x87\x88\x89\x8A\x8B\x8C\x8D\x8E\x8F\x90\x91\x92\x93\x94\x95\x96\x97\x98\x99\x9A\x9B\x9C\x9D\x9E\x9F\xA0\u0104\u0112\u0122\u012A\u0128\u0136\xA7\u013B\u0110\u0160\u0166\u017D\xAD\u016A\u014A\xB0\u0105\u0113\u0123\u012B\u0129\u0137\xB7\u013C\u0111\u0161\u0167\u017E\u2015\u016B\u014B\u0100\xC1\xC2\xC3\xC4\xC5\xC6\u012E\u010C\xC9\u0118\xCB\u0116\xCD\xCE\xCF\xD0\u0145\u014C\xD3\xD4\xD5\xD6\u0168\xD8\u0172\xDA\xDB\xDC\xDD\xDE\xDF\u0101\xE1\xE2\xE3\xE4\xE5\xE6\u012F\u010D\xE9\u0119\xEB\u0117\xED\xEE\xEF\xF0\u0146\u014D\xF3\xF4\xF5\xF6\u0169\xF8\u0173\xFA\xFB\xFC\xFD\xFE\u0138"
+ },
+ "cp28600": "iso885910",
+ "iso885911": {
+ "type": "_sbcs",
+ "chars": "\x80\x81\x82\x83\x84\x85\x86\x87\x88\x89\x8A\x8B\x8C\x8D\x8E\x8F\x90\x91\x92\x93\x94\x95\x96\x97\x98\x99\x9A\x9B\x9C\x9D\x9E\x9F\xA0\u0E01\u0E02\u0E03\u0E04\u0E05\u0E06\u0E07\u0E08\u0E09\u0E0A\u0E0B\u0E0C\u0E0D\u0E0E\u0E0F\u0E10\u0E11\u0E12\u0E13\u0E14\u0E15\u0E16\u0E17\u0E18\u0E19\u0E1A\u0E1B\u0E1C\u0E1D\u0E1E\u0E1F\u0E20\u0E21\u0E22\u0E23\u0E24\u0E25\u0E26\u0E27\u0E28\u0E29\u0E2A\u0E2B\u0E2C\u0E2D\u0E2E\u0E2F\u0E30\u0E31\u0E32\u0E33\u0E34\u0E35\u0E36\u0E37\u0E38\u0E39\u0E3A\uFFFD\uFFFD\uFFFD\uFFFD\u0E3F\u0E40\u0E41\u0E42\u0E43\u0E44\u0E45\u0E46\u0E47\u0E48\u0E49\u0E4A\u0E4B\u0E4C\u0E4D\u0E4E\u0E4F\u0E50\u0E51\u0E52\u0E53\u0E54\u0E55\u0E56\u0E57\u0E58\u0E59\u0E5A\u0E5B\uFFFD\uFFFD\uFFFD\uFFFD"
+ },
+ "cp28601": "iso885911",
+ "iso885913": {
+ "type": "_sbcs",
+ "chars": "\x80\x81\x82\x83\x84\x85\x86\x87\x88\x89\x8A\x8B\x8C\x8D\x8E\x8F\x90\x91\x92\x93\x94\x95\x96\x97\x98\x99\x9A\x9B\x9C\x9D\x9E\x9F\xA0\u201D\xA2\xA3\xA4\u201E\xA6\xA7\xD8\xA9\u0156\xAB\xAC\xAD\xAE\xC6\xB0\xB1\xB2\xB3\u201C\xB5\xB6\xB7\xF8\xB9\u0157\xBB\xBC\xBD\xBE\xE6\u0104\u012E\u0100\u0106\xC4\xC5\u0118\u0112\u010C\xC9\u0179\u0116\u0122\u0136\u012A\u013B\u0160\u0143\u0145\xD3\u014C\xD5\xD6\xD7\u0172\u0141\u015A\u016A\xDC\u017B\u017D\xDF\u0105\u012F\u0101\u0107\xE4\xE5\u0119\u0113\u010D\xE9\u017A\u0117\u0123\u0137\u012B\u013C\u0161\u0144\u0146\xF3\u014D\xF5\xF6\xF7\u0173\u0142\u015B\u016B\xFC\u017C\u017E\u2019"
+ },
+ "cp28603": "iso885913",
+ "iso885914": {
+ "type": "_sbcs",
+ "chars": "\x80\x81\x82\x83\x84\x85\x86\x87\x88\x89\x8A\x8B\x8C\x8D\x8E\x8F\x90\x91\x92\x93\x94\x95\x96\x97\x98\x99\x9A\x9B\x9C\x9D\x9E\x9F\xA0\u1E02\u1E03\xA3\u010A\u010B\u1E0A\xA7\u1E80\xA9\u1E82\u1E0B\u1EF2\xAD\xAE\u0178\u1E1E\u1E1F\u0120\u0121\u1E40\u1E41\xB6\u1E56\u1E81\u1E57\u1E83\u1E60\u1EF3\u1E84\u1E85\u1E61\xC0\xC1\xC2\xC3\xC4\xC5\xC6\xC7\xC8\xC9\xCA\xCB\xCC\xCD\xCE\xCF\u0174\xD1\xD2\xD3\xD4\xD5\xD6\u1E6A\xD8\xD9\xDA\xDB\xDC\xDD\u0176\xDF\xE0\xE1\xE2\xE3\xE4\xE5\xE6\xE7\xE8\xE9\xEA\xEB\xEC\xED\xEE\xEF\u0175\xF1\xF2\xF3\xF4\xF5\xF6\u1E6B\xF8\xF9\xFA\xFB\xFC\xFD\u0177\xFF"
+ },
+ "cp28604": "iso885914",
+ "iso885915": {
+ "type": "_sbcs",
+ "chars": "\x80\x81\x82\x83\x84\x85\x86\x87\x88\x89\x8A\x8B\x8C\x8D\x8E\x8F\x90\x91\x92\x93\x94\x95\x96\x97\x98\x99\x9A\x9B\x9C\x9D\x9E\x9F\xA0\xA1\xA2\xA3\u20AC\xA5\u0160\xA7\u0161\xA9\xAA\xAB\xAC\xAD\xAE\xAF\xB0\xB1\xB2\xB3\u017D\xB5\xB6\xB7\u017E\xB9\xBA\xBB\u0152\u0153\u0178\xBF\xC0\xC1\xC2\xC3\xC4\xC5\xC6\xC7\xC8\xC9\xCA\xCB\xCC\xCD\xCE\xCF\xD0\xD1\xD2\xD3\xD4\xD5\xD6\xD7\xD8\xD9\xDA\xDB\xDC\xDD\xDE\xDF\xE0\xE1\xE2\xE3\xE4\xE5\xE6\xE7\xE8\xE9\xEA\xEB\xEC\xED\xEE\xEF\xF0\xF1\xF2\xF3\xF4\xF5\xF6\xF7\xF8\xF9\xFA\xFB\xFC\xFD\xFE\xFF"
+ },
+ "cp28605": "iso885915",
+ "iso885916": {
+ "type": "_sbcs",
+ "chars": "\x80\x81\x82\x83\x84\x85\x86\x87\x88\x89\x8A\x8B\x8C\x8D\x8E\x8F\x90\x91\x92\x93\x94\x95\x96\x97\x98\x99\x9A\x9B\x9C\x9D\x9E\x9F\xA0\u0104\u0105\u0141\u20AC\u201E\u0160\xA7\u0161\xA9\u0218\xAB\u0179\xAD\u017A\u017B\xB0\xB1\u010C\u0142\u017D\u201D\xB6\xB7\u017E\u010D\u0219\xBB\u0152\u0153\u0178\u017C\xC0\xC1\xC2\u0102\xC4\u0106\xC6\xC7\xC8\xC9\xCA\xCB\xCC\xCD\xCE\xCF\u0110\u0143\xD2\xD3\xD4\u0150\xD6\u015A\u0170\xD9\xDA\xDB\xDC\u0118\u021A\xDF\xE0\xE1\xE2\u0103\xE4\u0107\xE6\xE7\xE8\xE9\xEA\xEB\xEC\xED\xEE\xEF\u0111\u0144\xF2\xF3\xF4\u0151\xF6\u015B\u0171\xF9\xFA\xFB\xFC\u0119\u021B\xFF"
+ },
+ "cp28606": "iso885916",
+ "cp437": {
+ "type": "_sbcs",
+ "chars": "\xC7\xFC\xE9\xE2\xE4\xE0\xE5\xE7\xEA\xEB\xE8\xEF\xEE\xEC\xC4\xC5\xC9\xE6\xC6\xF4\xF6\xF2\xFB\xF9\xFF\xD6\xDC\xA2\xA3\xA5\u20A7\u0192\xE1\xED\xF3\xFA\xF1\xD1\xAA\xBA\xBF\u2310\xAC\xBD\xBC\xA1\xAB\xBB\u2591\u2592\u2593\u2502\u2524\u2561\u2562\u2556\u2555\u2563\u2551\u2557\u255D\u255C\u255B\u2510\u2514\u2534\u252C\u251C\u2500\u253C\u255E\u255F\u255A\u2554\u2569\u2566\u2560\u2550\u256C\u2567\u2568\u2564\u2565\u2559\u2558\u2552\u2553\u256B\u256A\u2518\u250C\u2588\u2584\u258C\u2590\u2580\u03B1\xDF\u0393\u03C0\u03A3\u03C3\xB5\u03C4\u03A6\u0398\u03A9\u03B4\u221E\u03C6\u03B5\u2229\u2261\xB1\u2265\u2264\u2320\u2321\xF7\u2248\xB0\u2219\xB7\u221A\u207F\xB2\u25A0\xA0"
+ },
+ "ibm437": "cp437",
+ "csibm437": "cp437",
+ "cp737": {
+ "type": "_sbcs",
+ "chars": "\u0391\u0392\u0393\u0394\u0395\u0396\u0397\u0398\u0399\u039A\u039B\u039C\u039D\u039E\u039F\u03A0\u03A1\u03A3\u03A4\u03A5\u03A6\u03A7\u03A8\u03A9\u03B1\u03B2\u03B3\u03B4\u03B5\u03B6\u03B7\u03B8\u03B9\u03BA\u03BB\u03BC\u03BD\u03BE\u03BF\u03C0\u03C1\u03C3\u03C2\u03C4\u03C5\u03C6\u03C7\u03C8\u2591\u2592\u2593\u2502\u2524\u2561\u2562\u2556\u2555\u2563\u2551\u2557\u255D\u255C\u255B\u2510\u2514\u2534\u252C\u251C\u2500\u253C\u255E\u255F\u255A\u2554\u2569\u2566\u2560\u2550\u256C\u2567\u2568\u2564\u2565\u2559\u2558\u2552\u2553\u256B\u256A\u2518\u250C\u2588\u2584\u258C\u2590\u2580\u03C9\u03AC\u03AD\u03AE\u03CA\u03AF\u03CC\u03CD\u03CB\u03CE\u0386\u0388\u0389\u038A\u038C\u038E\u038F\xB1\u2265\u2264\u03AA\u03AB\xF7\u2248\xB0\u2219\xB7\u221A\u207F\xB2\u25A0\xA0"
+ },
+ "ibm737": "cp737",
+ "csibm737": "cp737",
+ "cp775": {
+ "type": "_sbcs",
+ "chars": "\u0106\xFC\xE9\u0101\xE4\u0123\xE5\u0107\u0142\u0113\u0156\u0157\u012B\u0179\xC4\xC5\xC9\xE6\xC6\u014D\xF6\u0122\xA2\u015A\u015B\xD6\xDC\xF8\xA3\xD8\xD7\xA4\u0100\u012A\xF3\u017B\u017C\u017A\u201D\xA6\xA9\xAE\xAC\xBD\xBC\u0141\xAB\xBB\u2591\u2592\u2593\u2502\u2524\u0104\u010C\u0118\u0116\u2563\u2551\u2557\u255D\u012E\u0160\u2510\u2514\u2534\u252C\u251C\u2500\u253C\u0172\u016A\u255A\u2554\u2569\u2566\u2560\u2550\u256C\u017D\u0105\u010D\u0119\u0117\u012F\u0161\u0173\u016B\u017E\u2518\u250C\u2588\u2584\u258C\u2590\u2580\xD3\xDF\u014C\u0143\xF5\xD5\xB5\u0144\u0136\u0137\u013B\u013C\u0146\u0112\u0145\u2019\xAD\xB1\u201C\xBE\xB6\xA7\xF7\u201E\xB0\u2219\xB7\xB9\xB3\xB2\u25A0\xA0"
+ },
+ "ibm775": "cp775",
+ "csibm775": "cp775",
+ "cp850": {
+ "type": "_sbcs",
+ "chars": "\xC7\xFC\xE9\xE2\xE4\xE0\xE5\xE7\xEA\xEB\xE8\xEF\xEE\xEC\xC4\xC5\xC9\xE6\xC6\xF4\xF6\xF2\xFB\xF9\xFF\xD6\xDC\xF8\xA3\xD8\xD7\u0192\xE1\xED\xF3\xFA\xF1\xD1\xAA\xBA\xBF\xAE\xAC\xBD\xBC\xA1\xAB\xBB\u2591\u2592\u2593\u2502\u2524\xC1\xC2\xC0\xA9\u2563\u2551\u2557\u255D\xA2\xA5\u2510\u2514\u2534\u252C\u251C\u2500\u253C\xE3\xC3\u255A\u2554\u2569\u2566\u2560\u2550\u256C\xA4\xF0\xD0\xCA\xCB\xC8\u0131\xCD\xCE\xCF\u2518\u250C\u2588\u2584\xA6\xCC\u2580\xD3\xDF\xD4\xD2\xF5\xD5\xB5\xFE\xDE\xDA\xDB\xD9\xFD\xDD\xAF\xB4\xAD\xB1\u2017\xBE\xB6\xA7\xF7\xB8\xB0\xA8\xB7\xB9\xB3\xB2\u25A0\xA0"
+ },
+ "ibm850": "cp850",
+ "csibm850": "cp850",
+ "cp852": {
+ "type": "_sbcs",
+ "chars": "\xC7\xFC\xE9\xE2\xE4\u016F\u0107\xE7\u0142\xEB\u0150\u0151\xEE\u0179\xC4\u0106\xC9\u0139\u013A\xF4\xF6\u013D\u013E\u015A\u015B\xD6\xDC\u0164\u0165\u0141\xD7\u010D\xE1\xED\xF3\xFA\u0104\u0105\u017D\u017E\u0118\u0119\xAC\u017A\u010C\u015F\xAB\xBB\u2591\u2592\u2593\u2502\u2524\xC1\xC2\u011A\u015E\u2563\u2551\u2557\u255D\u017B\u017C\u2510\u2514\u2534\u252C\u251C\u2500\u253C\u0102\u0103\u255A\u2554\u2569\u2566\u2560\u2550\u256C\xA4\u0111\u0110\u010E\xCB\u010F\u0147\xCD\xCE\u011B\u2518\u250C\u2588\u2584\u0162\u016E\u2580\xD3\xDF\xD4\u0143\u0144\u0148\u0160\u0161\u0154\xDA\u0155\u0170\xFD\xDD\u0163\xB4\xAD\u02DD\u02DB\u02C7\u02D8\xA7\xF7\xB8\xB0\xA8\u02D9\u0171\u0158\u0159\u25A0\xA0"
+ },
+ "ibm852": "cp852",
+ "csibm852": "cp852",
+ "cp855": {
+ "type": "_sbcs",
+ "chars": "\u0452\u0402\u0453\u0403\u0451\u0401\u0454\u0404\u0455\u0405\u0456\u0406\u0457\u0407\u0458\u0408\u0459\u0409\u045A\u040A\u045B\u040B\u045C\u040C\u045E\u040E\u045F\u040F\u044E\u042E\u044A\u042A\u0430\u0410\u0431\u0411\u0446\u0426\u0434\u0414\u0435\u0415\u0444\u0424\u0433\u0413\xAB\xBB\u2591\u2592\u2593\u2502\u2524\u0445\u0425\u0438\u0418\u2563\u2551\u2557\u255D\u0439\u0419\u2510\u2514\u2534\u252C\u251C\u2500\u253C\u043A\u041A\u255A\u2554\u2569\u2566\u2560\u2550\u256C\xA4\u043B\u041B\u043C\u041C\u043D\u041D\u043E\u041E\u043F\u2518\u250C\u2588\u2584\u041F\u044F\u2580\u042F\u0440\u0420\u0441\u0421\u0442\u0422\u0443\u0423\u0436\u0416\u0432\u0412\u044C\u042C\u2116\xAD\u044B\u042B\u0437\u0417\u0448\u0428\u044D\u042D\u0449\u0429\u0447\u0427\xA7\u25A0\xA0"
+ },
+ "ibm855": "cp855",
+ "csibm855": "cp855",
+ "cp856": {
+ "type": "_sbcs",
+ "chars": "\u05D0\u05D1\u05D2\u05D3\u05D4\u05D5\u05D6\u05D7\u05D8\u05D9\u05DA\u05DB\u05DC\u05DD\u05DE\u05DF\u05E0\u05E1\u05E2\u05E3\u05E4\u05E5\u05E6\u05E7\u05E8\u05E9\u05EA\uFFFD\xA3\uFFFD\xD7\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\xAE\xAC\xBD\xBC\uFFFD\xAB\xBB\u2591\u2592\u2593\u2502\u2524\uFFFD\uFFFD\uFFFD\xA9\u2563\u2551\u2557\u255D\xA2\xA5\u2510\u2514\u2534\u252C\u251C\u2500\u253C\uFFFD\uFFFD\u255A\u2554\u2569\u2566\u2560\u2550\u256C\xA4\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\u2518\u250C\u2588\u2584\xA6\uFFFD\u2580\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\xB5\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\xAF\xB4\xAD\xB1\u2017\xBE\xB6\xA7\xF7\xB8\xB0\xA8\xB7\xB9\xB3\xB2\u25A0\xA0"
+ },
+ "ibm856": "cp856",
+ "csibm856": "cp856",
+ "cp857": {
+ "type": "_sbcs",
+ "chars": "\xC7\xFC\xE9\xE2\xE4\xE0\xE5\xE7\xEA\xEB\xE8\xEF\xEE\u0131\xC4\xC5\xC9\xE6\xC6\xF4\xF6\xF2\xFB\xF9\u0130\xD6\xDC\xF8\xA3\xD8\u015E\u015F\xE1\xED\xF3\xFA\xF1\xD1\u011E\u011F\xBF\xAE\xAC\xBD\xBC\xA1\xAB\xBB\u2591\u2592\u2593\u2502\u2524\xC1\xC2\xC0\xA9\u2563\u2551\u2557\u255D\xA2\xA5\u2510\u2514\u2534\u252C\u251C\u2500\u253C\xE3\xC3\u255A\u2554\u2569\u2566\u2560\u2550\u256C\xA4\xBA\xAA\xCA\xCB\xC8\uFFFD\xCD\xCE\xCF\u2518\u250C\u2588\u2584\xA6\xCC\u2580\xD3\xDF\xD4\xD2\xF5\xD5\xB5\uFFFD\xD7\xDA\xDB\xD9\xEC\xFF\xAF\xB4\xAD\xB1\uFFFD\xBE\xB6\xA7\xF7\xB8\xB0\xA8\xB7\xB9\xB3\xB2\u25A0\xA0"
+ },
+ "ibm857": "cp857",
+ "csibm857": "cp857",
+ "cp858": {
+ "type": "_sbcs",
+ "chars": "\xC7\xFC\xE9\xE2\xE4\xE0\xE5\xE7\xEA\xEB\xE8\xEF\xEE\xEC\xC4\xC5\xC9\xE6\xC6\xF4\xF6\xF2\xFB\xF9\xFF\xD6\xDC\xF8\xA3\xD8\xD7\u0192\xE1\xED\xF3\xFA\xF1\xD1\xAA\xBA\xBF\xAE\xAC\xBD\xBC\xA1\xAB\xBB\u2591\u2592\u2593\u2502\u2524\xC1\xC2\xC0\xA9\u2563\u2551\u2557\u255D\xA2\xA5\u2510\u2514\u2534\u252C\u251C\u2500\u253C\xE3\xC3\u255A\u2554\u2569\u2566\u2560\u2550\u256C\xA4\xF0\xD0\xCA\xCB\xC8\u20AC\xCD\xCE\xCF\u2518\u250C\u2588\u2584\xA6\xCC\u2580\xD3\xDF\xD4\xD2\xF5\xD5\xB5\xFE\xDE\xDA\xDB\xD9\xFD\xDD\xAF\xB4\xAD\xB1\u2017\xBE\xB6\xA7\xF7\xB8\xB0\xA8\xB7\xB9\xB3\xB2\u25A0\xA0"
+ },
+ "ibm858": "cp858",
+ "csibm858": "cp858",
+ "cp860": {
+ "type": "_sbcs",
+ "chars": "\xC7\xFC\xE9\xE2\xE3\xE0\xC1\xE7\xEA\xCA\xE8\xCD\xD4\xEC\xC3\xC2\xC9\xC0\xC8\xF4\xF5\xF2\xDA\xF9\xCC\xD5\xDC\xA2\xA3\xD9\u20A7\xD3\xE1\xED\xF3\xFA\xF1\xD1\xAA\xBA\xBF\xD2\xAC\xBD\xBC\xA1\xAB\xBB\u2591\u2592\u2593\u2502\u2524\u2561\u2562\u2556\u2555\u2563\u2551\u2557\u255D\u255C\u255B\u2510\u2514\u2534\u252C\u251C\u2500\u253C\u255E\u255F\u255A\u2554\u2569\u2566\u2560\u2550\u256C\u2567\u2568\u2564\u2565\u2559\u2558\u2552\u2553\u256B\u256A\u2518\u250C\u2588\u2584\u258C\u2590\u2580\u03B1\xDF\u0393\u03C0\u03A3\u03C3\xB5\u03C4\u03A6\u0398\u03A9\u03B4\u221E\u03C6\u03B5\u2229\u2261\xB1\u2265\u2264\u2320\u2321\xF7\u2248\xB0\u2219\xB7\u221A\u207F\xB2\u25A0\xA0"
+ },
+ "ibm860": "cp860",
+ "csibm860": "cp860",
+ "cp861": {
+ "type": "_sbcs",
+ "chars": "\xC7\xFC\xE9\xE2\xE4\xE0\xE5\xE7\xEA\xEB\xE8\xD0\xF0\xDE\xC4\xC5\xC9\xE6\xC6\xF4\xF6\xFE\xFB\xDD\xFD\xD6\xDC\xF8\xA3\xD8\u20A7\u0192\xE1\xED\xF3\xFA\xC1\xCD\xD3\xDA\xBF\u2310\xAC\xBD\xBC\xA1\xAB\xBB\u2591\u2592\u2593\u2502\u2524\u2561\u2562\u2556\u2555\u2563\u2551\u2557\u255D\u255C\u255B\u2510\u2514\u2534\u252C\u251C\u2500\u253C\u255E\u255F\u255A\u2554\u2569\u2566\u2560\u2550\u256C\u2567\u2568\u2564\u2565\u2559\u2558\u2552\u2553\u256B\u256A\u2518\u250C\u2588\u2584\u258C\u2590\u2580\u03B1\xDF\u0393\u03C0\u03A3\u03C3\xB5\u03C4\u03A6\u0398\u03A9\u03B4\u221E\u03C6\u03B5\u2229\u2261\xB1\u2265\u2264\u2320\u2321\xF7\u2248\xB0\u2219\xB7\u221A\u207F\xB2\u25A0\xA0"
+ },
+ "ibm861": "cp861",
+ "csibm861": "cp861",
+ "cp862": {
+ "type": "_sbcs",
+ "chars": "\u05D0\u05D1\u05D2\u05D3\u05D4\u05D5\u05D6\u05D7\u05D8\u05D9\u05DA\u05DB\u05DC\u05DD\u05DE\u05DF\u05E0\u05E1\u05E2\u05E3\u05E4\u05E5\u05E6\u05E7\u05E8\u05E9\u05EA\xA2\xA3\xA5\u20A7\u0192\xE1\xED\xF3\xFA\xF1\xD1\xAA\xBA\xBF\u2310\xAC\xBD\xBC\xA1\xAB\xBB\u2591\u2592\u2593\u2502\u2524\u2561\u2562\u2556\u2555\u2563\u2551\u2557\u255D\u255C\u255B\u2510\u2514\u2534\u252C\u251C\u2500\u253C\u255E\u255F\u255A\u2554\u2569\u2566\u2560\u2550\u256C\u2567\u2568\u2564\u2565\u2559\u2558\u2552\u2553\u256B\u256A\u2518\u250C\u2588\u2584\u258C\u2590\u2580\u03B1\xDF\u0393\u03C0\u03A3\u03C3\xB5\u03C4\u03A6\u0398\u03A9\u03B4\u221E\u03C6\u03B5\u2229\u2261\xB1\u2265\u2264\u2320\u2321\xF7\u2248\xB0\u2219\xB7\u221A\u207F\xB2\u25A0\xA0"
+ },
+ "ibm862": "cp862",
+ "csibm862": "cp862",
+ "cp863": {
+ "type": "_sbcs",
+ "chars": "\xC7\xFC\xE9\xE2\xC2\xE0\xB6\xE7\xEA\xEB\xE8\xEF\xEE\u2017\xC0\xA7\xC9\xC8\xCA\xF4\xCB\xCF\xFB\xF9\xA4\xD4\xDC\xA2\xA3\xD9\xDB\u0192\xA6\xB4\xF3\xFA\xA8\xB8\xB3\xAF\xCE\u2310\xAC\xBD\xBC\xBE\xAB\xBB\u2591\u2592\u2593\u2502\u2524\u2561\u2562\u2556\u2555\u2563\u2551\u2557\u255D\u255C\u255B\u2510\u2514\u2534\u252C\u251C\u2500\u253C\u255E\u255F\u255A\u2554\u2569\u2566\u2560\u2550\u256C\u2567\u2568\u2564\u2565\u2559\u2558\u2552\u2553\u256B\u256A\u2518\u250C\u2588\u2584\u258C\u2590\u2580\u03B1\xDF\u0393\u03C0\u03A3\u03C3\xB5\u03C4\u03A6\u0398\u03A9\u03B4\u221E\u03C6\u03B5\u2229\u2261\xB1\u2265\u2264\u2320\u2321\xF7\u2248\xB0\u2219\xB7\u221A\u207F\xB2\u25A0\xA0"
+ },
+ "ibm863": "cp863",
+ "csibm863": "cp863",
+ "cp864": {
+ "type": "_sbcs",
+ "chars": "\0\x07\b \n\v\f\r\x1B !\"#$\u066A&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\\]^_`abcdefghijklmnopqrstuvwxyz{|}~\x7F\xB0\xB7\u2219\u221A\u2592\u2500\u2502\u253C\u2524\u252C\u251C\u2534\u2510\u250C\u2514\u2518\u03B2\u221E\u03C6\xB1\xBD\xBC\u2248\xAB\xBB\uFEF7\uFEF8\uFFFD\uFFFD\uFEFB\uFEFC\uFFFD\xA0\xAD\uFE82\xA3\xA4\uFE84\uFFFD\uFFFD\uFE8E\uFE8F\uFE95\uFE99\u060C\uFE9D\uFEA1\uFEA5\u0660\u0661\u0662\u0663\u0664\u0665\u0666\u0667\u0668\u0669\uFED1\u061B\uFEB1\uFEB5\uFEB9\u061F\xA2\uFE80\uFE81\uFE83\uFE85\uFECA\uFE8B\uFE8D\uFE91\uFE93\uFE97\uFE9B\uFE9F\uFEA3\uFEA7\uFEA9\uFEAB\uFEAD\uFEAF\uFEB3\uFEB7\uFEBB\uFEBF\uFEC1\uFEC5\uFECB\uFECF\xA6\xAC\xF7\xD7\uFEC9\u0640\uFED3\uFED7\uFEDB\uFEDF\uFEE3\uFEE7\uFEEB\uFEED\uFEEF\uFEF3\uFEBD\uFECC\uFECE\uFECD\uFEE1\uFE7D\u0651\uFEE5\uFEE9\uFEEC\uFEF0\uFEF2\uFED0\uFED5\uFEF5\uFEF6\uFEDD\uFED9\uFEF1\u25A0\uFFFD"
+ },
+ "ibm864": "cp864",
+ "csibm864": "cp864",
+ "cp865": {
+ "type": "_sbcs",
+ "chars": "\xC7\xFC\xE9\xE2\xE4\xE0\xE5\xE7\xEA\xEB\xE8\xEF\xEE\xEC\xC4\xC5\xC9\xE6\xC6\xF4\xF6\xF2\xFB\xF9\xFF\xD6\xDC\xF8\xA3\xD8\u20A7\u0192\xE1\xED\xF3\xFA\xF1\xD1\xAA\xBA\xBF\u2310\xAC\xBD\xBC\xA1\xAB\xA4\u2591\u2592\u2593\u2502\u2524\u2561\u2562\u2556\u2555\u2563\u2551\u2557\u255D\u255C\u255B\u2510\u2514\u2534\u252C\u251C\u2500\u253C\u255E\u255F\u255A\u2554\u2569\u2566\u2560\u2550\u256C\u2567\u2568\u2564\u2565\u2559\u2558\u2552\u2553\u256B\u256A\u2518\u250C\u2588\u2584\u258C\u2590\u2580\u03B1\xDF\u0393\u03C0\u03A3\u03C3\xB5\u03C4\u03A6\u0398\u03A9\u03B4\u221E\u03C6\u03B5\u2229\u2261\xB1\u2265\u2264\u2320\u2321\xF7\u2248\xB0\u2219\xB7\u221A\u207F\xB2\u25A0\xA0"
+ },
+ "ibm865": "cp865",
+ "csibm865": "cp865",
+ "cp866": {
+ "type": "_sbcs",
+ "chars": "\u0410\u0411\u0412\u0413\u0414\u0415\u0416\u0417\u0418\u0419\u041A\u041B\u041C\u041D\u041E\u041F\u0420\u0421\u0422\u0423\u0424\u0425\u0426\u0427\u0428\u0429\u042A\u042B\u042C\u042D\u042E\u042F\u0430\u0431\u0432\u0433\u0434\u0435\u0436\u0437\u0438\u0439\u043A\u043B\u043C\u043D\u043E\u043F\u2591\u2592\u2593\u2502\u2524\u2561\u2562\u2556\u2555\u2563\u2551\u2557\u255D\u255C\u255B\u2510\u2514\u2534\u252C\u251C\u2500\u253C\u255E\u255F\u255A\u2554\u2569\u2566\u2560\u2550\u256C\u2567\u2568\u2564\u2565\u2559\u2558\u2552\u2553\u256B\u256A\u2518\u250C\u2588\u2584\u258C\u2590\u2580\u0440\u0441\u0442\u0443\u0444\u0445\u0446\u0447\u0448\u0449\u044A\u044B\u044C\u044D\u044E\u044F\u0401\u0451\u0404\u0454\u0407\u0457\u040E\u045E\xB0\u2219\xB7\u221A\u2116\xA4\u25A0\xA0"
+ },
+ "ibm866": "cp866",
+ "csibm866": "cp866",
+ "cp869": {
+ "type": "_sbcs",
+ "chars": "\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\u0386\uFFFD\xB7\xAC\xA6\u2018\u2019\u0388\u2015\u0389\u038A\u03AA\u038C\uFFFD\uFFFD\u038E\u03AB\xA9\u038F\xB2\xB3\u03AC\xA3\u03AD\u03AE\u03AF\u03CA\u0390\u03CC\u03CD\u0391\u0392\u0393\u0394\u0395\u0396\u0397\xBD\u0398\u0399\xAB\xBB\u2591\u2592\u2593\u2502\u2524\u039A\u039B\u039C\u039D\u2563\u2551\u2557\u255D\u039E\u039F\u2510\u2514\u2534\u252C\u251C\u2500\u253C\u03A0\u03A1\u255A\u2554\u2569\u2566\u2560\u2550\u256C\u03A3\u03A4\u03A5\u03A6\u03A7\u03A8\u03A9\u03B1\u03B2\u03B3\u2518\u250C\u2588\u2584\u03B4\u03B5\u2580\u03B6\u03B7\u03B8\u03B9\u03BA\u03BB\u03BC\u03BD\u03BE\u03BF\u03C0\u03C1\u03C3\u03C2\u03C4\u0384\xAD\xB1\u03C5\u03C6\u03C7\xA7\u03C8\u0385\xB0\xA8\u03C9\u03CB\u03B0\u03CE\u25A0\xA0"
+ },
+ "ibm869": "cp869",
+ "csibm869": "cp869",
+ "cp922": {
+ "type": "_sbcs",
+ "chars": "\x80\x81\x82\x83\x84\x85\x86\x87\x88\x89\x8A\x8B\x8C\x8D\x8E\x8F\x90\x91\x92\x93\x94\x95\x96\x97\x98\x99\x9A\x9B\x9C\x9D\x9E\x9F\xA0\xA1\xA2\xA3\xA4\xA5\xA6\xA7\xA8\xA9\xAA\xAB\xAC\xAD\xAE\u203E\xB0\xB1\xB2\xB3\xB4\xB5\xB6\xB7\xB8\xB9\xBA\xBB\xBC\xBD\xBE\xBF\xC0\xC1\xC2\xC3\xC4\xC5\xC6\xC7\xC8\xC9\xCA\xCB\xCC\xCD\xCE\xCF\u0160\xD1\xD2\xD3\xD4\xD5\xD6\xD7\xD8\xD9\xDA\xDB\xDC\xDD\u017D\xDF\xE0\xE1\xE2\xE3\xE4\xE5\xE6\xE7\xE8\xE9\xEA\xEB\xEC\xED\xEE\xEF\u0161\xF1\xF2\xF3\xF4\xF5\xF6\xF7\xF8\xF9\xFA\xFB\xFC\xFD\u017E\xFF"
+ },
+ "ibm922": "cp922",
+ "csibm922": "cp922",
+ "cp1046": {
+ "type": "_sbcs",
+ "chars": "\uFE88\xD7\xF7\uF8F6\uF8F5\uF8F4\uF8F7\uFE71\x88\u25A0\u2502\u2500\u2510\u250C\u2514\u2518\uFE79\uFE7B\uFE7D\uFE7F\uFE77\uFE8A\uFEF0\uFEF3\uFEF2\uFECE\uFECF\uFED0\uFEF6\uFEF8\uFEFA\uFEFC\xA0\uF8FA\uF8F9\uF8F8\xA4\uF8FB\uFE8B\uFE91\uFE97\uFE9B\uFE9F\uFEA3\u060C\xAD\uFEA7\uFEB3\u0660\u0661\u0662\u0663\u0664\u0665\u0666\u0667\u0668\u0669\uFEB7\u061B\uFEBB\uFEBF\uFECA\u061F\uFECB\u0621\u0622\u0623\u0624\u0625\u0626\u0627\u0628\u0629\u062A\u062B\u062C\u062D\u062E\u062F\u0630\u0631\u0632\u0633\u0634\u0635\u0636\u0637\uFEC7\u0639\u063A\uFECC\uFE82\uFE84\uFE8E\uFED3\u0640\u0641\u0642\u0643\u0644\u0645\u0646\u0647\u0648\u0649\u064A\u064B\u064C\u064D\u064E\u064F\u0650\u0651\u0652\uFED7\uFEDB\uFEDF\uF8FC\uFEF5\uFEF7\uFEF9\uFEFB\uFEE3\uFEE7\uFEEC\uFEE9\uFFFD"
+ },
+ "ibm1046": "cp1046",
+ "csibm1046": "cp1046",
+ "cp1124": {
+ "type": "_sbcs",
+ "chars": "\x80\x81\x82\x83\x84\x85\x86\x87\x88\x89\x8A\x8B\x8C\x8D\x8E\x8F\x90\x91\x92\x93\x94\x95\x96\x97\x98\x99\x9A\x9B\x9C\x9D\x9E\x9F\xA0\u0401\u0402\u0490\u0404\u0405\u0406\u0407\u0408\u0409\u040A\u040B\u040C\xAD\u040E\u040F\u0410\u0411\u0412\u0413\u0414\u0415\u0416\u0417\u0418\u0419\u041A\u041B\u041C\u041D\u041E\u041F\u0420\u0421\u0422\u0423\u0424\u0425\u0426\u0427\u0428\u0429\u042A\u042B\u042C\u042D\u042E\u042F\u0430\u0431\u0432\u0433\u0434\u0435\u0436\u0437\u0438\u0439\u043A\u043B\u043C\u043D\u043E\u043F\u0440\u0441\u0442\u0443\u0444\u0445\u0446\u0447\u0448\u0449\u044A\u044B\u044C\u044D\u044E\u044F\u2116\u0451\u0452\u0491\u0454\u0455\u0456\u0457\u0458\u0459\u045A\u045B\u045C\xA7\u045E\u045F"
+ },
+ "ibm1124": "cp1124",
+ "csibm1124": "cp1124",
+ "cp1125": {
+ "type": "_sbcs",
+ "chars": "\u0410\u0411\u0412\u0413\u0414\u0415\u0416\u0417\u0418\u0419\u041A\u041B\u041C\u041D\u041E\u041F\u0420\u0421\u0422\u0423\u0424\u0425\u0426\u0427\u0428\u0429\u042A\u042B\u042C\u042D\u042E\u042F\u0430\u0431\u0432\u0433\u0434\u0435\u0436\u0437\u0438\u0439\u043A\u043B\u043C\u043D\u043E\u043F\u2591\u2592\u2593\u2502\u2524\u2561\u2562\u2556\u2555\u2563\u2551\u2557\u255D\u255C\u255B\u2510\u2514\u2534\u252C\u251C\u2500\u253C\u255E\u255F\u255A\u2554\u2569\u2566\u2560\u2550\u256C\u2567\u2568\u2564\u2565\u2559\u2558\u2552\u2553\u256B\u256A\u2518\u250C\u2588\u2584\u258C\u2590\u2580\u0440\u0441\u0442\u0443\u0444\u0445\u0446\u0447\u0448\u0449\u044A\u044B\u044C\u044D\u044E\u044F\u0401\u0451\u0490\u0491\u0404\u0454\u0406\u0456\u0407\u0457\xB7\u221A\u2116\xA4\u25A0\xA0"
+ },
+ "ibm1125": "cp1125",
+ "csibm1125": "cp1125",
+ "cp1129": {
+ "type": "_sbcs",
+ "chars": "\x80\x81\x82\x83\x84\x85\x86\x87\x88\x89\x8A\x8B\x8C\x8D\x8E\x8F\x90\x91\x92\x93\x94\x95\x96\x97\x98\x99\x9A\x9B\x9C\x9D\x9E\x9F\xA0\xA1\xA2\xA3\xA4\xA5\xA6\xA7\u0153\xA9\xAA\xAB\xAC\xAD\xAE\xAF\xB0\xB1\xB2\xB3\u0178\xB5\xB6\xB7\u0152\xB9\xBA\xBB\xBC\xBD\xBE\xBF\xC0\xC1\xC2\u0102\xC4\xC5\xC6\xC7\xC8\xC9\xCA\xCB\u0300\xCD\xCE\xCF\u0110\xD1\u0309\xD3\xD4\u01A0\xD6\xD7\xD8\xD9\xDA\xDB\xDC\u01AF\u0303\xDF\xE0\xE1\xE2\u0103\xE4\xE5\xE6\xE7\xE8\xE9\xEA\xEB\u0301\xED\xEE\xEF\u0111\xF1\u0323\xF3\xF4\u01A1\xF6\xF7\xF8\xF9\xFA\xFB\xFC\u01B0\u20AB\xFF"
+ },
+ "ibm1129": "cp1129",
+ "csibm1129": "cp1129",
+ "cp1133": {
+ "type": "_sbcs",
+ "chars": "\x80\x81\x82\x83\x84\x85\x86\x87\x88\x89\x8A\x8B\x8C\x8D\x8E\x8F\x90\x91\x92\x93\x94\x95\x96\x97\x98\x99\x9A\x9B\x9C\x9D\x9E\x9F\xA0\u0E81\u0E82\u0E84\u0E87\u0E88\u0EAA\u0E8A\u0E8D\u0E94\u0E95\u0E96\u0E97\u0E99\u0E9A\u0E9B\u0E9C\u0E9D\u0E9E\u0E9F\u0EA1\u0EA2\u0EA3\u0EA5\u0EA7\u0EAB\u0EAD\u0EAE\uFFFD\uFFFD\uFFFD\u0EAF\u0EB0\u0EB2\u0EB3\u0EB4\u0EB5\u0EB6\u0EB7\u0EB8\u0EB9\u0EBC\u0EB1\u0EBB\u0EBD\uFFFD\uFFFD\uFFFD\u0EC0\u0EC1\u0EC2\u0EC3\u0EC4\u0EC8\u0EC9\u0ECA\u0ECB\u0ECC\u0ECD\u0EC6\uFFFD\u0EDC\u0EDD\u20AD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\u0ED0\u0ED1\u0ED2\u0ED3\u0ED4\u0ED5\u0ED6\u0ED7\u0ED8\u0ED9\uFFFD\uFFFD\xA2\xAC\xA6\uFFFD"
+ },
+ "ibm1133": "cp1133",
+ "csibm1133": "cp1133",
+ "cp1161": {
+ "type": "_sbcs",
+ "chars": "\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\u0E48\u0E01\u0E02\u0E03\u0E04\u0E05\u0E06\u0E07\u0E08\u0E09\u0E0A\u0E0B\u0E0C\u0E0D\u0E0E\u0E0F\u0E10\u0E11\u0E12\u0E13\u0E14\u0E15\u0E16\u0E17\u0E18\u0E19\u0E1A\u0E1B\u0E1C\u0E1D\u0E1E\u0E1F\u0E20\u0E21\u0E22\u0E23\u0E24\u0E25\u0E26\u0E27\u0E28\u0E29\u0E2A\u0E2B\u0E2C\u0E2D\u0E2E\u0E2F\u0E30\u0E31\u0E32\u0E33\u0E34\u0E35\u0E36\u0E37\u0E38\u0E39\u0E3A\u0E49\u0E4A\u0E4B\u20AC\u0E3F\u0E40\u0E41\u0E42\u0E43\u0E44\u0E45\u0E46\u0E47\u0E48\u0E49\u0E4A\u0E4B\u0E4C\u0E4D\u0E4E\u0E4F\u0E50\u0E51\u0E52\u0E53\u0E54\u0E55\u0E56\u0E57\u0E58\u0E59\u0E5A\u0E5B\xA2\xAC\xA6\xA0"
+ },
+ "ibm1161": "cp1161",
+ "csibm1161": "cp1161",
+ "cp1162": {
+ "type": "_sbcs",
+ "chars": "\u20AC\x81\x82\x83\x84\u2026\x86\x87\x88\x89\x8A\x8B\x8C\x8D\x8E\x8F\x90\u2018\u2019\u201C\u201D\u2022\u2013\u2014\x98\x99\x9A\x9B\x9C\x9D\x9E\x9F\xA0\u0E01\u0E02\u0E03\u0E04\u0E05\u0E06\u0E07\u0E08\u0E09\u0E0A\u0E0B\u0E0C\u0E0D\u0E0E\u0E0F\u0E10\u0E11\u0E12\u0E13\u0E14\u0E15\u0E16\u0E17\u0E18\u0E19\u0E1A\u0E1B\u0E1C\u0E1D\u0E1E\u0E1F\u0E20\u0E21\u0E22\u0E23\u0E24\u0E25\u0E26\u0E27\u0E28\u0E29\u0E2A\u0E2B\u0E2C\u0E2D\u0E2E\u0E2F\u0E30\u0E31\u0E32\u0E33\u0E34\u0E35\u0E36\u0E37\u0E38\u0E39\u0E3A\uFFFD\uFFFD\uFFFD\uFFFD\u0E3F\u0E40\u0E41\u0E42\u0E43\u0E44\u0E45\u0E46\u0E47\u0E48\u0E49\u0E4A\u0E4B\u0E4C\u0E4D\u0E4E\u0E4F\u0E50\u0E51\u0E52\u0E53\u0E54\u0E55\u0E56\u0E57\u0E58\u0E59\u0E5A\u0E5B\uFFFD\uFFFD\uFFFD\uFFFD"
+ },
+ "ibm1162": "cp1162",
+ "csibm1162": "cp1162",
+ "cp1163": {
+ "type": "_sbcs",
+ "chars": "\x80\x81\x82\x83\x84\x85\x86\x87\x88\x89\x8A\x8B\x8C\x8D\x8E\x8F\x90\x91\x92\x93\x94\x95\x96\x97\x98\x99\x9A\x9B\x9C\x9D\x9E\x9F\xA0\xA1\xA2\xA3\u20AC\xA5\xA6\xA7\u0153\xA9\xAA\xAB\xAC\xAD\xAE\xAF\xB0\xB1\xB2\xB3\u0178\xB5\xB6\xB7\u0152\xB9\xBA\xBB\xBC\xBD\xBE\xBF\xC0\xC1\xC2\u0102\xC4\xC5\xC6\xC7\xC8\xC9\xCA\xCB\u0300\xCD\xCE\xCF\u0110\xD1\u0309\xD3\xD4\u01A0\xD6\xD7\xD8\xD9\xDA\xDB\xDC\u01AF\u0303\xDF\xE0\xE1\xE2\u0103\xE4\xE5\xE6\xE7\xE8\xE9\xEA\xEB\u0301\xED\xEE\xEF\u0111\xF1\u0323\xF3\xF4\u01A1\xF6\xF7\xF8\xF9\xFA\xFB\xFC\u01B0\u20AB\xFF"
+ },
+ "ibm1163": "cp1163",
+ "csibm1163": "cp1163",
+ "maccroatian": {
+ "type": "_sbcs",
+ "chars": "\xC4\xC5\xC7\xC9\xD1\xD6\xDC\xE1\xE0\xE2\xE4\xE3\xE5\xE7\xE9\xE8\xEA\xEB\xED\xEC\xEE\xEF\xF1\xF3\xF2\xF4\xF6\xF5\xFA\xF9\xFB\xFC\u2020\xB0\xA2\xA3\xA7\u2022\xB6\xDF\xAE\u0160\u2122\xB4\xA8\u2260\u017D\xD8\u221E\xB1\u2264\u2265\u2206\xB5\u2202\u2211\u220F\u0161\u222B\xAA\xBA\u2126\u017E\xF8\xBF\xA1\xAC\u221A\u0192\u2248\u0106\xAB\u010C\u2026\xA0\xC0\xC3\xD5\u0152\u0153\u0110\u2014\u201C\u201D\u2018\u2019\xF7\u25CA\uFFFD\xA9\u2044\xA4\u2039\u203A\xC6\xBB\u2013\xB7\u201A\u201E\u2030\xC2\u0107\xC1\u010D\xC8\xCD\xCE\xCF\xCC\xD3\xD4\u0111\xD2\xDA\xDB\xD9\u0131\u02C6\u02DC\xAF\u03C0\xCB\u02DA\xB8\xCA\xE6\u02C7"
+ },
+ "maccyrillic": {
+ "type": "_sbcs",
+ "chars": "\u0410\u0411\u0412\u0413\u0414\u0415\u0416\u0417\u0418\u0419\u041A\u041B\u041C\u041D\u041E\u041F\u0420\u0421\u0422\u0423\u0424\u0425\u0426\u0427\u0428\u0429\u042A\u042B\u042C\u042D\u042E\u042F\u2020\xB0\xA2\xA3\xA7\u2022\xB6\u0406\xAE\xA9\u2122\u0402\u0452\u2260\u0403\u0453\u221E\xB1\u2264\u2265\u0456\xB5\u2202\u0408\u0404\u0454\u0407\u0457\u0409\u0459\u040A\u045A\u0458\u0405\xAC\u221A\u0192\u2248\u2206\xAB\xBB\u2026\xA0\u040B\u045B\u040C\u045C\u0455\u2013\u2014\u201C\u201D\u2018\u2019\xF7\u201E\u040E\u045E\u040F\u045F\u2116\u0401\u0451\u044F\u0430\u0431\u0432\u0433\u0434\u0435\u0436\u0437\u0438\u0439\u043A\u043B\u043C\u043D\u043E\u043F\u0440\u0441\u0442\u0443\u0444\u0445\u0446\u0447\u0448\u0449\u044A\u044B\u044C\u044D\u044E\xA4"
+ },
+ "macgreek": {
+ "type": "_sbcs",
+ "chars": "\xC4\xB9\xB2\xC9\xB3\xD6\xDC\u0385\xE0\xE2\xE4\u0384\xA8\xE7\xE9\xE8\xEA\xEB\xA3\u2122\xEE\xEF\u2022\xBD\u2030\xF4\xF6\xA6\xAD\xF9\xFB\xFC\u2020\u0393\u0394\u0398\u039B\u039E\u03A0\xDF\xAE\xA9\u03A3\u03AA\xA7\u2260\xB0\u0387\u0391\xB1\u2264\u2265\xA5\u0392\u0395\u0396\u0397\u0399\u039A\u039C\u03A6\u03AB\u03A8\u03A9\u03AC\u039D\xAC\u039F\u03A1\u2248\u03A4\xAB\xBB\u2026\xA0\u03A5\u03A7\u0386\u0388\u0153\u2013\u2015\u201C\u201D\u2018\u2019\xF7\u0389\u038A\u038C\u038E\u03AD\u03AE\u03AF\u03CC\u038F\u03CD\u03B1\u03B2\u03C8\u03B4\u03B5\u03C6\u03B3\u03B7\u03B9\u03BE\u03BA\u03BB\u03BC\u03BD\u03BF\u03C0\u03CE\u03C1\u03C3\u03C4\u03B8\u03C9\u03C2\u03C7\u03C5\u03B6\u03CA\u03CB\u0390\u03B0\uFFFD"
+ },
+ "maciceland": {
+ "type": "_sbcs",
+ "chars": "\xC4\xC5\xC7\xC9\xD1\xD6\xDC\xE1\xE0\xE2\xE4\xE3\xE5\xE7\xE9\xE8\xEA\xEB\xED\xEC\xEE\xEF\xF1\xF3\xF2\xF4\xF6\xF5\xFA\xF9\xFB\xFC\xDD\xB0\xA2\xA3\xA7\u2022\xB6\xDF\xAE\xA9\u2122\xB4\xA8\u2260\xC6\xD8\u221E\xB1\u2264\u2265\xA5\xB5\u2202\u2211\u220F\u03C0\u222B\xAA\xBA\u2126\xE6\xF8\xBF\xA1\xAC\u221A\u0192\u2248\u2206\xAB\xBB\u2026\xA0\xC0\xC3\xD5\u0152\u0153\u2013\u2014\u201C\u201D\u2018\u2019\xF7\u25CA\xFF\u0178\u2044\xA4\xD0\xF0\xDE\xFE\xFD\xB7\u201A\u201E\u2030\xC2\xCA\xC1\xCB\xC8\xCD\xCE\xCF\xCC\xD3\xD4\uFFFD\xD2\xDA\xDB\xD9\u0131\u02C6\u02DC\xAF\u02D8\u02D9\u02DA\xB8\u02DD\u02DB\u02C7"
+ },
+ "macroman": {
+ "type": "_sbcs",
+ "chars": "\xC4\xC5\xC7\xC9\xD1\xD6\xDC\xE1\xE0\xE2\xE4\xE3\xE5\xE7\xE9\xE8\xEA\xEB\xED\xEC\xEE\xEF\xF1\xF3\xF2\xF4\xF6\xF5\xFA\xF9\xFB\xFC\u2020\xB0\xA2\xA3\xA7\u2022\xB6\xDF\xAE\xA9\u2122\xB4\xA8\u2260\xC6\xD8\u221E\xB1\u2264\u2265\xA5\xB5\u2202\u2211\u220F\u03C0\u222B\xAA\xBA\u2126\xE6\xF8\xBF\xA1\xAC\u221A\u0192\u2248\u2206\xAB\xBB\u2026\xA0\xC0\xC3\xD5\u0152\u0153\u2013\u2014\u201C\u201D\u2018\u2019\xF7\u25CA\xFF\u0178\u2044\xA4\u2039\u203A\uFB01\uFB02\u2021\xB7\u201A\u201E\u2030\xC2\xCA\xC1\xCB\xC8\xCD\xCE\xCF\xCC\xD3\xD4\uFFFD\xD2\xDA\xDB\xD9\u0131\u02C6\u02DC\xAF\u02D8\u02D9\u02DA\xB8\u02DD\u02DB\u02C7"
+ },
+ "macromania": {
+ "type": "_sbcs",
+ "chars": "\xC4\xC5\xC7\xC9\xD1\xD6\xDC\xE1\xE0\xE2\xE4\xE3\xE5\xE7\xE9\xE8\xEA\xEB\xED\xEC\xEE\xEF\xF1\xF3\xF2\xF4\xF6\xF5\xFA\xF9\xFB\xFC\u2020\xB0\xA2\xA3\xA7\u2022\xB6\xDF\xAE\xA9\u2122\xB4\xA8\u2260\u0102\u015E\u221E\xB1\u2264\u2265\xA5\xB5\u2202\u2211\u220F\u03C0\u222B\xAA\xBA\u2126\u0103\u015F\xBF\xA1\xAC\u221A\u0192\u2248\u2206\xAB\xBB\u2026\xA0\xC0\xC3\xD5\u0152\u0153\u2013\u2014\u201C\u201D\u2018\u2019\xF7\u25CA\xFF\u0178\u2044\xA4\u2039\u203A\u0162\u0163\u2021\xB7\u201A\u201E\u2030\xC2\xCA\xC1\xCB\xC8\xCD\xCE\xCF\xCC\xD3\xD4\uFFFD\xD2\xDA\xDB\xD9\u0131\u02C6\u02DC\xAF\u02D8\u02D9\u02DA\xB8\u02DD\u02DB\u02C7"
+ },
+ "macthai": {
+ "type": "_sbcs",
+ "chars": "\xAB\xBB\u2026\uF88C\uF88F\uF892\uF895\uF898\uF88B\uF88E\uF891\uF894\uF897\u201C\u201D\uF899\uFFFD\u2022\uF884\uF889\uF885\uF886\uF887\uF888\uF88A\uF88D\uF890\uF893\uF896\u2018\u2019\uFFFD\xA0\u0E01\u0E02\u0E03\u0E04\u0E05\u0E06\u0E07\u0E08\u0E09\u0E0A\u0E0B\u0E0C\u0E0D\u0E0E\u0E0F\u0E10\u0E11\u0E12\u0E13\u0E14\u0E15\u0E16\u0E17\u0E18\u0E19\u0E1A\u0E1B\u0E1C\u0E1D\u0E1E\u0E1F\u0E20\u0E21\u0E22\u0E23\u0E24\u0E25\u0E26\u0E27\u0E28\u0E29\u0E2A\u0E2B\u0E2C\u0E2D\u0E2E\u0E2F\u0E30\u0E31\u0E32\u0E33\u0E34\u0E35\u0E36\u0E37\u0E38\u0E39\u0E3A\uFEFF\u200B\u2013\u2014\u0E3F\u0E40\u0E41\u0E42\u0E43\u0E44\u0E45\u0E46\u0E47\u0E48\u0E49\u0E4A\u0E4B\u0E4C\u0E4D\u2122\u0E4F\u0E50\u0E51\u0E52\u0E53\u0E54\u0E55\u0E56\u0E57\u0E58\u0E59\xAE\xA9\uFFFD\uFFFD\uFFFD\uFFFD"
+ },
+ "macturkish": {
+ "type": "_sbcs",
+ "chars": "\xC4\xC5\xC7\xC9\xD1\xD6\xDC\xE1\xE0\xE2\xE4\xE3\xE5\xE7\xE9\xE8\xEA\xEB\xED\xEC\xEE\xEF\xF1\xF3\xF2\xF4\xF6\xF5\xFA\xF9\xFB\xFC\u2020\xB0\xA2\xA3\xA7\u2022\xB6\xDF\xAE\xA9\u2122\xB4\xA8\u2260\xC6\xD8\u221E\xB1\u2264\u2265\xA5\xB5\u2202\u2211\u220F\u03C0\u222B\xAA\xBA\u2126\xE6\xF8\xBF\xA1\xAC\u221A\u0192\u2248\u2206\xAB\xBB\u2026\xA0\xC0\xC3\xD5\u0152\u0153\u2013\u2014\u201C\u201D\u2018\u2019\xF7\u25CA\xFF\u0178\u011E\u011F\u0130\u0131\u015E\u015F\u2021\xB7\u201A\u201E\u2030\xC2\xCA\xC1\xCB\xC8\xCD\xCE\xCF\xCC\xD3\xD4\uFFFD\xD2\xDA\xDB\xD9\uFFFD\u02C6\u02DC\xAF\u02D8\u02D9\u02DA\xB8\u02DD\u02DB\u02C7"
+ },
+ "macukraine": {
+ "type": "_sbcs",
+ "chars": "\u0410\u0411\u0412\u0413\u0414\u0415\u0416\u0417\u0418\u0419\u041A\u041B\u041C\u041D\u041E\u041F\u0420\u0421\u0422\u0423\u0424\u0425\u0426\u0427\u0428\u0429\u042A\u042B\u042C\u042D\u042E\u042F\u2020\xB0\u0490\xA3\xA7\u2022\xB6\u0406\xAE\xA9\u2122\u0402\u0452\u2260\u0403\u0453\u221E\xB1\u2264\u2265\u0456\xB5\u0491\u0408\u0404\u0454\u0407\u0457\u0409\u0459\u040A\u045A\u0458\u0405\xAC\u221A\u0192\u2248\u2206\xAB\xBB\u2026\xA0\u040B\u045B\u040C\u045C\u0455\u2013\u2014\u201C\u201D\u2018\u2019\xF7\u201E\u040E\u045E\u040F\u045F\u2116\u0401\u0451\u044F\u0430\u0431\u0432\u0433\u0434\u0435\u0436\u0437\u0438\u0439\u043A\u043B\u043C\u043D\u043E\u043F\u0440\u0441\u0442\u0443\u0444\u0445\u0446\u0447\u0448\u0449\u044A\u044B\u044C\u044D\u044E\xA4"
+ },
+ "koi8r": {
+ "type": "_sbcs",
+ "chars": "\u2500\u2502\u250C\u2510\u2514\u2518\u251C\u2524\u252C\u2534\u253C\u2580\u2584\u2588\u258C\u2590\u2591\u2592\u2593\u2320\u25A0\u2219\u221A\u2248\u2264\u2265\xA0\u2321\xB0\xB2\xB7\xF7\u2550\u2551\u2552\u0451\u2553\u2554\u2555\u2556\u2557\u2558\u2559\u255A\u255B\u255C\u255D\u255E\u255F\u2560\u2561\u0401\u2562\u2563\u2564\u2565\u2566\u2567\u2568\u2569\u256A\u256B\u256C\xA9\u044E\u0430\u0431\u0446\u0434\u0435\u0444\u0433\u0445\u0438\u0439\u043A\u043B\u043C\u043D\u043E\u043F\u044F\u0440\u0441\u0442\u0443\u0436\u0432\u044C\u044B\u0437\u0448\u044D\u0449\u0447\u044A\u042E\u0410\u0411\u0426\u0414\u0415\u0424\u0413\u0425\u0418\u0419\u041A\u041B\u041C\u041D\u041E\u041F\u042F\u0420\u0421\u0422\u0423\u0416\u0412\u042C\u042B\u0417\u0428\u042D\u0429\u0427\u042A"
+ },
+ "koi8u": {
+ "type": "_sbcs",
+ "chars": "\u2500\u2502\u250C\u2510\u2514\u2518\u251C\u2524\u252C\u2534\u253C\u2580\u2584\u2588\u258C\u2590\u2591\u2592\u2593\u2320\u25A0\u2219\u221A\u2248\u2264\u2265\xA0\u2321\xB0\xB2\xB7\xF7\u2550\u2551\u2552\u0451\u0454\u2554\u0456\u0457\u2557\u2558\u2559\u255A\u255B\u0491\u255D\u255E\u255F\u2560\u2561\u0401\u0404\u2563\u0406\u0407\u2566\u2567\u2568\u2569\u256A\u0490\u256C\xA9\u044E\u0430\u0431\u0446\u0434\u0435\u0444\u0433\u0445\u0438\u0439\u043A\u043B\u043C\u043D\u043E\u043F\u044F\u0440\u0441\u0442\u0443\u0436\u0432\u044C\u044B\u0437\u0448\u044D\u0449\u0447\u044A\u042E\u0410\u0411\u0426\u0414\u0415\u0424\u0413\u0425\u0418\u0419\u041A\u041B\u041C\u041D\u041E\u041F\u042F\u0420\u0421\u0422\u0423\u0416\u0412\u042C\u042B\u0417\u0428\u042D\u0429\u0427\u042A"
+ },
+ "koi8ru": {
+ "type": "_sbcs",
+ "chars": "\u2500\u2502\u250C\u2510\u2514\u2518\u251C\u2524\u252C\u2534\u253C\u2580\u2584\u2588\u258C\u2590\u2591\u2592\u2593\u2320\u25A0\u2219\u221A\u2248\u2264\u2265\xA0\u2321\xB0\xB2\xB7\xF7\u2550\u2551\u2552\u0451\u0454\u2554\u0456\u0457\u2557\u2558\u2559\u255A\u255B\u0491\u045E\u255E\u255F\u2560\u2561\u0401\u0404\u2563\u0406\u0407\u2566\u2567\u2568\u2569\u256A\u0490\u040E\xA9\u044E\u0430\u0431\u0446\u0434\u0435\u0444\u0433\u0445\u0438\u0439\u043A\u043B\u043C\u043D\u043E\u043F\u044F\u0440\u0441\u0442\u0443\u0436\u0432\u044C\u044B\u0437\u0448\u044D\u0449\u0447\u044A\u042E\u0410\u0411\u0426\u0414\u0415\u0424\u0413\u0425\u0418\u0419\u041A\u041B\u041C\u041D\u041E\u041F\u042F\u0420\u0421\u0422\u0423\u0416\u0412\u042C\u042B\u0417\u0428\u042D\u0429\u0427\u042A"
+ },
+ "koi8t": {
+ "type": "_sbcs",
+ "chars": "\u049B\u0493\u201A\u0492\u201E\u2026\u2020\u2021\uFFFD\u2030\u04B3\u2039\u04B2\u04B7\u04B6\uFFFD\u049A\u2018\u2019\u201C\u201D\u2022\u2013\u2014\uFFFD\u2122\uFFFD\u203A\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\u04EF\u04EE\u0451\xA4\u04E3\xA6\xA7\uFFFD\uFFFD\uFFFD\xAB\xAC\xAD\xAE\uFFFD\xB0\xB1\xB2\u0401\uFFFD\u04E2\xB6\xB7\uFFFD\u2116\uFFFD\xBB\uFFFD\uFFFD\uFFFD\xA9\u044E\u0430\u0431\u0446\u0434\u0435\u0444\u0433\u0445\u0438\u0439\u043A\u043B\u043C\u043D\u043E\u043F\u044F\u0440\u0441\u0442\u0443\u0436\u0432\u044C\u044B\u0437\u0448\u044D\u0449\u0447\u044A\u042E\u0410\u0411\u0426\u0414\u0415\u0424\u0413\u0425\u0418\u0419\u041A\u041B\u041C\u041D\u041E\u041F\u042F\u0420\u0421\u0422\u0423\u0416\u0412\u042C\u042B\u0417\u0428\u042D\u0429\u0427\u042A"
+ },
+ "armscii8": {
+ "type": "_sbcs",
+ "chars": "\x80\x81\x82\x83\x84\x85\x86\x87\x88\x89\x8A\x8B\x8C\x8D\x8E\x8F\x90\x91\x92\x93\x94\x95\x96\x97\x98\x99\x9A\x9B\x9C\x9D\x9E\x9F\xA0\uFFFD\u0587\u0589)(\xBB\xAB\u2014.\u055D,-\u058A\u2026\u055C\u055B\u055E\u0531\u0561\u0532\u0562\u0533\u0563\u0534\u0564\u0535\u0565\u0536\u0566\u0537\u0567\u0538\u0568\u0539\u0569\u053A\u056A\u053B\u056B\u053C\u056C\u053D\u056D\u053E\u056E\u053F\u056F\u0540\u0570\u0541\u0571\u0542\u0572\u0543\u0573\u0544\u0574\u0545\u0575\u0546\u0576\u0547\u0577\u0548\u0578\u0549\u0579\u054A\u057A\u054B\u057B\u054C\u057C\u054D\u057D\u054E\u057E\u054F\u057F\u0550\u0580\u0551\u0581\u0552\u0582\u0553\u0583\u0554\u0584\u0555\u0585\u0556\u0586\u055A\uFFFD"
+ },
+ "rk1048": {
+ "type": "_sbcs",
+ "chars": "\u0402\u0403\u201A\u0453\u201E\u2026\u2020\u2021\u20AC\u2030\u0409\u2039\u040A\u049A\u04BA\u040F\u0452\u2018\u2019\u201C\u201D\u2022\u2013\u2014\uFFFD\u2122\u0459\u203A\u045A\u049B\u04BB\u045F\xA0\u04B0\u04B1\u04D8\xA4\u04E8\xA6\xA7\u0401\xA9\u0492\xAB\xAC\xAD\xAE\u04AE\xB0\xB1\u0406\u0456\u04E9\xB5\xB6\xB7\u0451\u2116\u0493\xBB\u04D9\u04A2\u04A3\u04AF\u0410\u0411\u0412\u0413\u0414\u0415\u0416\u0417\u0418\u0419\u041A\u041B\u041C\u041D\u041E\u041F\u0420\u0421\u0422\u0423\u0424\u0425\u0426\u0427\u0428\u0429\u042A\u042B\u042C\u042D\u042E\u042F\u0430\u0431\u0432\u0433\u0434\u0435\u0436\u0437\u0438\u0439\u043A\u043B\u043C\u043D\u043E\u043F\u0440\u0441\u0442\u0443\u0444\u0445\u0446\u0447\u0448\u0449\u044A\u044B\u044C\u044D\u044E\u044F"
+ },
+ "tcvn": {
+ "type": "_sbcs",
+ "chars": "\0\xDA\u1EE4\u1EEA\u1EEC\u1EEE\x07\b \n\v\f\r\u1EE8\u1EF0\u1EF2\u1EF6\u1EF8\xDD\u1EF4\x1B !\"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\\]^_`abcdefghijklmnopqrstuvwxyz{|}~\x7F\xC0\u1EA2\xC3\xC1\u1EA0\u1EB6\u1EAC\xC8\u1EBA\u1EBC\xC9\u1EB8\u1EC6\xCC\u1EC8\u0128\xCD\u1ECA\xD2\u1ECE\xD5\xD3\u1ECC\u1ED8\u1EDC\u1EDE\u1EE0\u1EDA\u1EE2\xD9\u1EE6\u0168\xA0\u0102\xC2\xCA\xD4\u01A0\u01AF\u0110\u0103\xE2\xEA\xF4\u01A1\u01B0\u0111\u1EB0\u0300\u0309\u0303\u0301\u0323\xE0\u1EA3\xE3\xE1\u1EA1\u1EB2\u1EB1\u1EB3\u1EB5\u1EAF\u1EB4\u1EAE\u1EA6\u1EA8\u1EAA\u1EA4\u1EC0\u1EB7\u1EA7\u1EA9\u1EAB\u1EA5\u1EAD\xE8\u1EC2\u1EBB\u1EBD\xE9\u1EB9\u1EC1\u1EC3\u1EC5\u1EBF\u1EC7\xEC\u1EC9\u1EC4\u1EBE\u1ED2\u0129\xED\u1ECB\xF2\u1ED4\u1ECF\xF5\xF3\u1ECD\u1ED3\u1ED5\u1ED7\u1ED1\u1ED9\u1EDD\u1EDF\u1EE1\u1EDB\u1EE3\xF9\u1ED6\u1EE7\u0169\xFA\u1EE5\u1EEB\u1EED\u1EEF\u1EE9\u1EF1\u1EF3\u1EF7\u1EF9\xFD\u1EF5\u1ED0"
+ },
+ "georgianacademy": {
+ "type": "_sbcs",
+ "chars": "\x80\x81\u201A\u0192\u201E\u2026\u2020\u2021\u02C6\u2030\u0160\u2039\u0152\x8D\x8E\x8F\x90\u2018\u2019\u201C\u201D\u2022\u2013\u2014\u02DC\u2122\u0161\u203A\u0153\x9D\x9E\u0178\xA0\xA1\xA2\xA3\xA4\xA5\xA6\xA7\xA8\xA9\xAA\xAB\xAC\xAD\xAE\xAF\xB0\xB1\xB2\xB3\xB4\xB5\xB6\xB7\xB8\xB9\xBA\xBB\xBC\xBD\xBE\xBF\u10D0\u10D1\u10D2\u10D3\u10D4\u10D5\u10D6\u10D7\u10D8\u10D9\u10DA\u10DB\u10DC\u10DD\u10DE\u10DF\u10E0\u10E1\u10E2\u10E3\u10E4\u10E5\u10E6\u10E7\u10E8\u10E9\u10EA\u10EB\u10EC\u10ED\u10EE\u10EF\u10F0\u10F1\u10F2\u10F3\u10F4\u10F5\u10F6\xE7\xE8\xE9\xEA\xEB\xEC\xED\xEE\xEF\xF0\xF1\xF2\xF3\xF4\xF5\xF6\xF7\xF8\xF9\xFA\xFB\xFC\xFD\xFE\xFF"
+ },
+ "georgianps": {
+ "type": "_sbcs",
+ "chars": "\x80\x81\u201A\u0192\u201E\u2026\u2020\u2021\u02C6\u2030\u0160\u2039\u0152\x8D\x8E\x8F\x90\u2018\u2019\u201C\u201D\u2022\u2013\u2014\u02DC\u2122\u0161\u203A\u0153\x9D\x9E\u0178\xA0\xA1\xA2\xA3\xA4\xA5\xA6\xA7\xA8\xA9\xAA\xAB\xAC\xAD\xAE\xAF\xB0\xB1\xB2\xB3\xB4\xB5\xB6\xB7\xB8\xB9\xBA\xBB\xBC\xBD\xBE\xBF\u10D0\u10D1\u10D2\u10D3\u10D4\u10D5\u10D6\u10F1\u10D7\u10D8\u10D9\u10DA\u10DB\u10DC\u10F2\u10DD\u10DE\u10DF\u10E0\u10E1\u10E2\u10F3\u10E3\u10E4\u10E5\u10E6\u10E7\u10E8\u10E9\u10EA\u10EB\u10EC\u10ED\u10EE\u10F4\u10EF\u10F0\u10F5\xE6\xE7\xE8\xE9\xEA\xEB\xEC\xED\xEE\xEF\xF0\xF1\xF2\xF3\xF4\xF5\xF6\xF7\xF8\xF9\xFA\xFB\xFC\xFD\xFE\xFF"
+ },
+ "pt154": {
+ "type": "_sbcs",
+ "chars": "\u0496\u0492\u04EE\u0493\u201E\u2026\u04B6\u04AE\u04B2\u04AF\u04A0\u04E2\u04A2\u049A\u04BA\u04B8\u0497\u2018\u2019\u201C\u201D\u2022\u2013\u2014\u04B3\u04B7\u04A1\u04E3\u04A3\u049B\u04BB\u04B9\xA0\u040E\u045E\u0408\u04E8\u0498\u04B0\xA7\u0401\xA9\u04D8\xAB\xAC\u04EF\xAE\u049C\xB0\u04B1\u0406\u0456\u0499\u04E9\xB6\xB7\u0451\u2116\u04D9\xBB\u0458\u04AA\u04AB\u049D\u0410\u0411\u0412\u0413\u0414\u0415\u0416\u0417\u0418\u0419\u041A\u041B\u041C\u041D\u041E\u041F\u0420\u0421\u0422\u0423\u0424\u0425\u0426\u0427\u0428\u0429\u042A\u042B\u042C\u042D\u042E\u042F\u0430\u0431\u0432\u0433\u0434\u0435\u0436\u0437\u0438\u0439\u043A\u043B\u043C\u043D\u043E\u043F\u0440\u0441\u0442\u0443\u0444\u0445\u0446\u0447\u0448\u0449\u044A\u044B\u044C\u044D\u044E\u044F"
+ },
+ "viscii": {
+ "type": "_sbcs",
+ "chars": "\0\u1EB2\u1EB4\u1EAA\x07\b \n\v\f\r\u1EF6\u1EF8\x1B\u1EF4 !\"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\\]^_`abcdefghijklmnopqrstuvwxyz{|}~\x7F\u1EA0\u1EAE\u1EB0\u1EB6\u1EA4\u1EA6\u1EA8\u1EAC\u1EBC\u1EB8\u1EBE\u1EC0\u1EC2\u1EC4\u1EC6\u1ED0\u1ED2\u1ED4\u1ED6\u1ED8\u1EE2\u1EDA\u1EDC\u1EDE\u1ECA\u1ECE\u1ECC\u1EC8\u1EE6\u0168\u1EE4\u1EF2\xD5\u1EAF\u1EB1\u1EB7\u1EA5\u1EA7\u1EA9\u1EAD\u1EBD\u1EB9\u1EBF\u1EC1\u1EC3\u1EC5\u1EC7\u1ED1\u1ED3\u1ED5\u1ED7\u1EE0\u01A0\u1ED9\u1EDD\u1EDF\u1ECB\u1EF0\u1EE8\u1EEA\u1EEC\u01A1\u1EDB\u01AF\xC0\xC1\xC2\xC3\u1EA2\u0102\u1EB3\u1EB5\xC8\xC9\xCA\u1EBA\xCC\xCD\u0128\u1EF3\u0110\u1EE9\xD2\xD3\xD4\u1EA1\u1EF7\u1EEB\u1EED\xD9\xDA\u1EF9\u1EF5\xDD\u1EE1\u01B0\xE0\xE1\xE2\xE3\u1EA3\u0103\u1EEF\u1EAB\xE8\xE9\xEA\u1EBB\xEC\xED\u0129\u1EC9\u0111\u1EF1\xF2\xF3\xF4\xF5\u1ECF\u1ECD\u1EE5\xF9\xFA\u0169\u1EE7\xFD\u1EE3\u1EEE"
+ },
+ "iso646cn": {
+ "type": "_sbcs",
+ "chars": "\0\x07\b \n\v\f\r\x1B !\"#\xA5%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\\]^_`abcdefghijklmnopqrstuvwxyz{|}\u203E\x7F\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD"
+ },
+ "iso646jp": {
+ "type": "_sbcs",
+ "chars": "\0\x07\b \n\v\f\r\x1B !\"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\xA5]^_`abcdefghijklmnopqrstuvwxyz{|}\u203E\x7F\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD"
+ },
+ "hproman8": {
+ "type": "_sbcs",
+ "chars": "\x80\x81\x82\x83\x84\x85\x86\x87\x88\x89\x8A\x8B\x8C\x8D\x8E\x8F\x90\x91\x92\x93\x94\x95\x96\x97\x98\x99\x9A\x9B\x9C\x9D\x9E\x9F\xA0\xC0\xC2\xC8\xCA\xCB\xCE\xCF\xB4\u02CB\u02C6\xA8\u02DC\xD9\xDB\u20A4\xAF\xDD\xFD\xB0\xC7\xE7\xD1\xF1\xA1\xBF\xA4\xA3\xA5\xA7\u0192\xA2\xE2\xEA\xF4\xFB\xE1\xE9\xF3\xFA\xE0\xE8\xF2\xF9\xE4\xEB\xF6\xFC\xC5\xEE\xD8\xC6\xE5\xED\xF8\xE6\xC4\xEC\xD6\xDC\xC9\xEF\xDF\xD4\xC1\xC3\xE3\xD0\xF0\xCD\xCC\xD3\xD2\xD5\xF5\u0160\u0161\xDA\u0178\xFF\xDE\xFE\xB7\xB5\xB6\xBE\u2014\xBC\xBD\xAA\xBA\xAB\u25A0\xBB\xB1\uFFFD"
+ },
+ "macintosh": {
+ "type": "_sbcs",
+ "chars": "\xC4\xC5\xC7\xC9\xD1\xD6\xDC\xE1\xE0\xE2\xE4\xE3\xE5\xE7\xE9\xE8\xEA\xEB\xED\xEC\xEE\xEF\xF1\xF3\xF2\xF4\xF6\xF5\xFA\xF9\xFB\xFC\u2020\xB0\xA2\xA3\xA7\u2022\xB6\xDF\xAE\xA9\u2122\xB4\xA8\u2260\xC6\xD8\u221E\xB1\u2264\u2265\xA5\xB5\u2202\u2211\u220F\u03C0\u222B\xAA\xBA\u2126\xE6\xF8\xBF\xA1\xAC\u221A\u0192\u2248\u2206\xAB\xBB\u2026\xA0\xC0\xC3\xD5\u0152\u0153\u2013\u2014\u201C\u201D\u2018\u2019\xF7\u25CA\xFF\u0178\u2044\xA4\u2039\u203A\uFB01\uFB02\u2021\xB7\u201A\u201E\u2030\xC2\xCA\xC1\xCB\xC8\xCD\xCE\xCF\xCC\xD3\xD4\uFFFD\xD2\xDA\xDB\xD9\u0131\u02C6\u02DC\xAF\u02D8\u02D9\u02DA\xB8\u02DD\u02DB\u02C7"
+ },
+ "ascii": {
+ "type": "_sbcs",
+ "chars": "\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD"
+ },
+ "tis620": {
+ "type": "_sbcs",
+ "chars": "\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\u0E01\u0E02\u0E03\u0E04\u0E05\u0E06\u0E07\u0E08\u0E09\u0E0A\u0E0B\u0E0C\u0E0D\u0E0E\u0E0F\u0E10\u0E11\u0E12\u0E13\u0E14\u0E15\u0E16\u0E17\u0E18\u0E19\u0E1A\u0E1B\u0E1C\u0E1D\u0E1E\u0E1F\u0E20\u0E21\u0E22\u0E23\u0E24\u0E25\u0E26\u0E27\u0E28\u0E29\u0E2A\u0E2B\u0E2C\u0E2D\u0E2E\u0E2F\u0E30\u0E31\u0E32\u0E33\u0E34\u0E35\u0E36\u0E37\u0E38\u0E39\u0E3A\uFFFD\uFFFD\uFFFD\uFFFD\u0E3F\u0E40\u0E41\u0E42\u0E43\u0E44\u0E45\u0E46\u0E47\u0E48\u0E49\u0E4A\u0E4B\u0E4C\u0E4D\u0E4E\u0E4F\u0E50\u0E51\u0E52\u0E53\u0E54\u0E55\u0E56\u0E57\u0E58\u0E59\u0E5A\u0E5B\uFFFD\uFFFD\uFFFD\uFFFD"
+ }
+ };
+ }
+});
+
+// ../../node_modules/.pnpm/iconv-lite@0.7.3/node_modules/iconv-lite/encodings/dbcs-codec.js
+var require_dbcs_codec = __commonJS({
+ "../../node_modules/.pnpm/iconv-lite@0.7.3/node_modules/iconv-lite/encodings/dbcs-codec.js"(exports) {
+ "use strict";
+ var Buffer2 = require_safer().Buffer;
+ exports._dbcs = DBCSCodec;
+ var UNASSIGNED = -1;
+ var GB18030_CODE = -2;
+ var SEQ_START = -10;
+ var NODE_START = -1e3;
+ var UNASSIGNED_NODE = new Array(256);
+ var DEF_CHAR = -1;
+ for (i = 0; i < 256; i++) {
+ UNASSIGNED_NODE[i] = UNASSIGNED;
+ }
+ var i;
+ function DBCSCodec(codecOptions, iconv) {
+ this.encodingName = codecOptions.encodingName;
+ if (!codecOptions) {
+ throw new Error("DBCS codec is called without the data.");
+ }
+ if (!codecOptions.table) {
+ throw new Error("Encoding '" + this.encodingName + "' has no data.");
+ }
+ var mappingTable = codecOptions.table();
+ this.decodeTables = [];
+ this.decodeTables[0] = UNASSIGNED_NODE.slice(0);
+ this.decodeTableSeq = [];
+ for (var i2 = 0; i2 < mappingTable.length; i2++) {
+ this._addDecodeChunk(mappingTable[i2]);
+ }
+ if (typeof codecOptions.gb18030 === "function") {
+ this.gb18030 = codecOptions.gb18030();
+ var commonThirdByteNodeIdx = this.decodeTables.length;
+ this.decodeTables.push(UNASSIGNED_NODE.slice(0));
+ var commonFourthByteNodeIdx = this.decodeTables.length;
+ this.decodeTables.push(UNASSIGNED_NODE.slice(0));
+ var firstByteNode = this.decodeTables[0];
+ for (var i2 = 129; i2 <= 254; i2++) {
+ var secondByteNode = this.decodeTables[NODE_START - firstByteNode[i2]];
+ for (var j = 48; j <= 57; j++) {
+ if (secondByteNode[j] === UNASSIGNED) {
+ secondByteNode[j] = NODE_START - commonThirdByteNodeIdx;
+ } else if (secondByteNode[j] > NODE_START) {
+ throw new Error("gb18030 decode tables conflict at byte 2");
+ }
+ var thirdByteNode = this.decodeTables[NODE_START - secondByteNode[j]];
+ for (var k = 129; k <= 254; k++) {
+ if (thirdByteNode[k] === UNASSIGNED) {
+ thirdByteNode[k] = NODE_START - commonFourthByteNodeIdx;
+ } else if (thirdByteNode[k] === NODE_START - commonFourthByteNodeIdx) {
+ continue;
+ } else if (thirdByteNode[k] > NODE_START) {
+ throw new Error("gb18030 decode tables conflict at byte 3");
+ }
+ var fourthByteNode = this.decodeTables[NODE_START - thirdByteNode[k]];
+ for (var l = 48; l <= 57; l++) {
+ if (fourthByteNode[l] === UNASSIGNED) {
+ fourthByteNode[l] = GB18030_CODE;
+ }
+ }
+ }
+ }
+ }
+ }
+ this.defaultCharUnicode = iconv.defaultCharUnicode;
+ this.encodeTable = [];
+ this.encodeTableSeq = [];
+ var skipEncodeChars = {};
+ if (codecOptions.encodeSkipVals) {
+ for (var i2 = 0; i2 < codecOptions.encodeSkipVals.length; i2++) {
+ var val = codecOptions.encodeSkipVals[i2];
+ if (typeof val === "number") {
+ skipEncodeChars[val] = true;
+ } else {
+ for (var j = val.from; j <= val.to; j++) {
+ skipEncodeChars[j] = true;
+ }
+ }
+ }
+ }
+ this._fillEncodeTable(0, 0, skipEncodeChars);
+ if (codecOptions.encodeAdd) {
+ for (var uChar in codecOptions.encodeAdd) {
+ if (Object.prototype.hasOwnProperty.call(codecOptions.encodeAdd, uChar)) {
+ this._setEncodeChar(uChar.charCodeAt(0), codecOptions.encodeAdd[uChar]);
+ }
+ }
+ }
+ this.defCharSB = this.encodeTable[0][iconv.defaultCharSingleByte.charCodeAt(0)];
+ if (this.defCharSB === UNASSIGNED) this.defCharSB = this.encodeTable[0]["?"];
+ if (this.defCharSB === UNASSIGNED) this.defCharSB = "?".charCodeAt(0);
+ }
+ __name(DBCSCodec, "DBCSCodec");
+ DBCSCodec.prototype.encoder = DBCSEncoder;
+ DBCSCodec.prototype.decoder = DBCSDecoder;
+ DBCSCodec.prototype._getDecodeTrieNode = function(addr) {
+ var bytes = [];
+ for (; addr > 0; addr >>>= 8) {
+ bytes.push(addr & 255);
+ }
+ if (bytes.length == 0) {
+ bytes.push(0);
+ }
+ var node = this.decodeTables[0];
+ for (var i2 = bytes.length - 1; i2 > 0; i2--) {
+ var val = node[bytes[i2]];
+ if (val == UNASSIGNED) {
+ node[bytes[i2]] = NODE_START - this.decodeTables.length;
+ this.decodeTables.push(node = UNASSIGNED_NODE.slice(0));
+ } else if (val <= NODE_START) {
+ node = this.decodeTables[NODE_START - val];
+ } else {
+ throw new Error("Overwrite byte in " + this.encodingName + ", addr: " + addr.toString(16));
+ }
+ }
+ return node;
+ };
+ DBCSCodec.prototype._addDecodeChunk = function(chunk) {
+ var curAddr = parseInt(chunk[0], 16);
+ var writeTable = this._getDecodeTrieNode(curAddr);
+ curAddr = curAddr & 255;
+ for (var k = 1; k < chunk.length; k++) {
+ var part = chunk[k];
+ if (typeof part === "string") {
+ for (var l = 0; l < part.length; ) {
+ var code = part.charCodeAt(l++);
+ if (code >= 55296 && code < 56320) {
+ var codeTrail = part.charCodeAt(l++);
+ if (codeTrail >= 56320 && codeTrail < 57344) {
+ writeTable[curAddr++] = 65536 + (code - 55296) * 1024 + (codeTrail - 56320);
+ } else {
+ throw new Error("Incorrect surrogate pair in " + this.encodingName + " at chunk " + chunk[0]);
+ }
+ } else if (code > 4080 && code <= 4095) {
+ var len = 4095 - code + 2;
+ var seq = [];
+ for (var m = 0; m < len; m++) {
+ seq.push(part.charCodeAt(l++));
+ }
+ writeTable[curAddr++] = SEQ_START - this.decodeTableSeq.length;
+ this.decodeTableSeq.push(seq);
+ } else {
+ writeTable[curAddr++] = code;
+ }
+ }
+ } else if (typeof part === "number") {
+ var charCode = writeTable[curAddr - 1] + 1;
+ for (var l = 0; l < part; l++) {
+ writeTable[curAddr++] = charCode++;
+ }
+ } else {
+ throw new Error("Incorrect type '" + typeof part + "' given in " + this.encodingName + " at chunk " + chunk[0]);
+ }
+ }
+ if (curAddr > 255) {
+ throw new Error("Incorrect chunk in " + this.encodingName + " at addr " + chunk[0] + ": too long" + curAddr);
+ }
+ };
+ DBCSCodec.prototype._getEncodeBucket = function(uCode) {
+ var high = uCode >> 8;
+ if (this.encodeTable[high] === void 0) {
+ this.encodeTable[high] = UNASSIGNED_NODE.slice(0);
+ }
+ return this.encodeTable[high];
+ };
+ DBCSCodec.prototype._setEncodeChar = function(uCode, dbcsCode) {
+ var bucket = this._getEncodeBucket(uCode);
+ var low = uCode & 255;
+ if (bucket[low] <= SEQ_START) {
+ this.encodeTableSeq[SEQ_START - bucket[low]][DEF_CHAR] = dbcsCode;
+ } else if (bucket[low] == UNASSIGNED) {
+ bucket[low] = dbcsCode;
+ }
+ };
+ DBCSCodec.prototype._setEncodeSequence = function(seq, dbcsCode) {
+ var uCode = seq[0];
+ var bucket = this._getEncodeBucket(uCode);
+ var low = uCode & 255;
+ var node;
+ if (bucket[low] <= SEQ_START) {
+ node = this.encodeTableSeq[SEQ_START - bucket[low]];
+ } else {
+ node = {};
+ if (bucket[low] !== UNASSIGNED) node[DEF_CHAR] = bucket[low];
+ bucket[low] = SEQ_START - this.encodeTableSeq.length;
+ this.encodeTableSeq.push(node);
+ }
+ for (var j = 1; j < seq.length - 1; j++) {
+ var oldVal = node[uCode];
+ if (typeof oldVal === "object") {
+ node = oldVal;
+ } else {
+ node = node[uCode] = {};
+ if (oldVal !== void 0) {
+ node[DEF_CHAR] = oldVal;
+ }
+ }
+ }
+ uCode = seq[seq.length - 1];
+ node[uCode] = dbcsCode;
+ };
+ DBCSCodec.prototype._fillEncodeTable = function(nodeIdx, prefix, skipEncodeChars) {
+ var node = this.decodeTables[nodeIdx];
+ var hasValues = false;
+ var subNodeEmpty = {};
+ for (var i2 = 0; i2 < 256; i2++) {
+ var uCode = node[i2];
+ var mbCode = prefix + i2;
+ if (skipEncodeChars[mbCode]) {
+ continue;
+ }
+ if (uCode >= 0) {
+ this._setEncodeChar(uCode, mbCode);
+ hasValues = true;
+ } else if (uCode <= NODE_START) {
+ var subNodeIdx = NODE_START - uCode;
+ if (!subNodeEmpty[subNodeIdx]) {
+ var newPrefix = mbCode << 8 >>> 0;
+ if (this._fillEncodeTable(subNodeIdx, newPrefix, skipEncodeChars)) {
+ hasValues = true;
+ } else {
+ subNodeEmpty[subNodeIdx] = true;
+ }
+ }
+ } else if (uCode <= SEQ_START) {
+ this._setEncodeSequence(this.decodeTableSeq[SEQ_START - uCode], mbCode);
+ hasValues = true;
+ }
+ }
+ return hasValues;
+ };
+ function DBCSEncoder(options, codec) {
+ this.leadSurrogate = -1;
+ this.seqObj = void 0;
+ this.encodeTable = codec.encodeTable;
+ this.encodeTableSeq = codec.encodeTableSeq;
+ this.defaultCharSingleByte = codec.defCharSB;
+ this.gb18030 = codec.gb18030;
+ }
+ __name(DBCSEncoder, "DBCSEncoder");
+ DBCSEncoder.prototype.write = function(str) {
+ var newBuf = Buffer2.alloc(str.length * (this.gb18030 ? 4 : 3));
+ var leadSurrogate = this.leadSurrogate;
+ var seqObj = this.seqObj;
+ var nextChar = -1;
+ var i2 = 0;
+ var j = 0;
+ while (true) {
+ if (nextChar === -1) {
+ if (i2 == str.length) break;
+ var uCode = str.charCodeAt(i2++);
+ } else {
+ var uCode = nextChar;
+ nextChar = -1;
+ }
+ if (uCode >= 55296 && uCode < 57344) {
+ if (uCode < 56320) {
+ if (leadSurrogate === -1) {
+ leadSurrogate = uCode;
+ continue;
+ } else {
+ leadSurrogate = uCode;
+ uCode = UNASSIGNED;
+ }
+ } else {
+ if (leadSurrogate !== -1) {
+ uCode = 65536 + (leadSurrogate - 55296) * 1024 + (uCode - 56320);
+ leadSurrogate = -1;
+ } else {
+ uCode = UNASSIGNED;
+ }
+ }
+ } else if (leadSurrogate !== -1) {
+ nextChar = uCode;
+ uCode = UNASSIGNED;
+ leadSurrogate = -1;
+ }
+ var dbcsCode = UNASSIGNED;
+ if (seqObj !== void 0 && uCode != UNASSIGNED) {
+ var resCode = seqObj[uCode];
+ if (typeof resCode === "object") {
+ seqObj = resCode;
+ continue;
+ } else if (typeof resCode === "number") {
+ dbcsCode = resCode;
+ } else if (resCode == void 0) {
+ resCode = seqObj[DEF_CHAR];
+ if (resCode !== void 0) {
+ dbcsCode = resCode;
+ nextChar = uCode;
+ } else {
+ }
+ }
+ seqObj = void 0;
+ } else if (uCode >= 0) {
+ var subtable = this.encodeTable[uCode >> 8];
+ if (subtable !== void 0) {
+ dbcsCode = subtable[uCode & 255];
+ }
+ if (dbcsCode <= SEQ_START) {
+ seqObj = this.encodeTableSeq[SEQ_START - dbcsCode];
+ continue;
+ }
+ if (dbcsCode == UNASSIGNED && this.gb18030) {
+ var idx = findIdx(this.gb18030.uChars, uCode);
+ if (idx != -1) {
+ var dbcsCode = this.gb18030.gbChars[idx] + (uCode - this.gb18030.uChars[idx]);
+ newBuf[j++] = 129 + Math.floor(dbcsCode / 12600);
+ dbcsCode = dbcsCode % 12600;
+ newBuf[j++] = 48 + Math.floor(dbcsCode / 1260);
+ dbcsCode = dbcsCode % 1260;
+ newBuf[j++] = 129 + Math.floor(dbcsCode / 10);
+ dbcsCode = dbcsCode % 10;
+ newBuf[j++] = 48 + dbcsCode;
+ continue;
+ }
+ }
+ }
+ if (dbcsCode === UNASSIGNED) {
+ dbcsCode = this.defaultCharSingleByte;
+ }
+ if (dbcsCode < 256) {
+ newBuf[j++] = dbcsCode;
+ } else if (dbcsCode < 65536) {
+ newBuf[j++] = dbcsCode >> 8;
+ newBuf[j++] = dbcsCode & 255;
+ } else if (dbcsCode < 16777216) {
+ newBuf[j++] = dbcsCode >> 16;
+ newBuf[j++] = dbcsCode >> 8 & 255;
+ newBuf[j++] = dbcsCode & 255;
+ } else {
+ newBuf[j++] = dbcsCode >>> 24;
+ newBuf[j++] = dbcsCode >>> 16 & 255;
+ newBuf[j++] = dbcsCode >>> 8 & 255;
+ newBuf[j++] = dbcsCode & 255;
+ }
+ }
+ this.seqObj = seqObj;
+ this.leadSurrogate = leadSurrogate;
+ return newBuf.slice(0, j);
+ };
+ DBCSEncoder.prototype.end = function() {
+ if (this.leadSurrogate === -1 && this.seqObj === void 0) {
+ return;
+ }
+ var newBuf = Buffer2.alloc(10);
+ var j = 0;
+ if (this.seqObj) {
+ var dbcsCode = this.seqObj[DEF_CHAR];
+ if (dbcsCode !== void 0) {
+ if (dbcsCode < 256) {
+ newBuf[j++] = dbcsCode;
+ } else {
+ newBuf[j++] = dbcsCode >> 8;
+ newBuf[j++] = dbcsCode & 255;
+ }
+ } else {
+ }
+ this.seqObj = void 0;
+ }
+ if (this.leadSurrogate !== -1) {
+ newBuf[j++] = this.defaultCharSingleByte;
+ this.leadSurrogate = -1;
+ }
+ return newBuf.slice(0, j);
+ };
+ DBCSEncoder.prototype.findIdx = findIdx;
+ function DBCSDecoder(options, codec) {
+ this.nodeIdx = 0;
+ this.prevBytes = [];
+ this.decodeTables = codec.decodeTables;
+ this.decodeTableSeq = codec.decodeTableSeq;
+ this.defaultCharUnicode = codec.defaultCharUnicode;
+ this.gb18030 = codec.gb18030;
+ }
+ __name(DBCSDecoder, "DBCSDecoder");
+ DBCSDecoder.prototype.write = function(buf) {
+ var newBuf = Buffer2.alloc(buf.length * 2);
+ var nodeIdx = this.nodeIdx;
+ var prevBytes = this.prevBytes;
+ var prevOffset = this.prevBytes.length;
+ var seqStart = -this.prevBytes.length;
+ var uCode;
+ for (var i2 = 0, j = 0; i2 < buf.length; i2++) {
+ var curByte = i2 >= 0 ? buf[i2] : prevBytes[i2 + prevOffset];
+ var uCode = this.decodeTables[nodeIdx][curByte];
+ if (uCode >= 0) {
+ } else if (uCode === UNASSIGNED) {
+ uCode = this.defaultCharUnicode.charCodeAt(0);
+ i2 = seqStart;
+ } else if (uCode === GB18030_CODE) {
+ if (i2 >= 3) {
+ var ptr = (buf[i2 - 3] - 129) * 12600 + (buf[i2 - 2] - 48) * 1260 + (buf[i2 - 1] - 129) * 10 + (curByte - 48);
+ } else {
+ var ptr = (prevBytes[i2 - 3 + prevOffset] - 129) * 12600 + ((i2 - 2 >= 0 ? buf[i2 - 2] : prevBytes[i2 - 2 + prevOffset]) - 48) * 1260 + ((i2 - 1 >= 0 ? buf[i2 - 1] : prevBytes[i2 - 1 + prevOffset]) - 129) * 10 + (curByte - 48);
+ }
+ var idx = findIdx(this.gb18030.gbChars, ptr);
+ uCode = this.gb18030.uChars[idx] + ptr - this.gb18030.gbChars[idx];
+ } else if (uCode <= NODE_START) {
+ nodeIdx = NODE_START - uCode;
+ continue;
+ } else if (uCode <= SEQ_START) {
+ var seq = this.decodeTableSeq[SEQ_START - uCode];
+ for (var k = 0; k < seq.length - 1; k++) {
+ uCode = seq[k];
+ newBuf[j++] = uCode & 255;
+ newBuf[j++] = uCode >> 8;
+ }
+ uCode = seq[seq.length - 1];
+ } else {
+ throw new Error("iconv-lite internal error: invalid decoding table value " + uCode + " at " + nodeIdx + "/" + curByte);
+ }
+ if (uCode >= 65536) {
+ uCode -= 65536;
+ var uCodeLead = 55296 | uCode >> 10;
+ newBuf[j++] = uCodeLead & 255;
+ newBuf[j++] = uCodeLead >> 8;
+ uCode = 56320 | uCode & 1023;
+ }
+ newBuf[j++] = uCode & 255;
+ newBuf[j++] = uCode >> 8;
+ nodeIdx = 0;
+ seqStart = i2 + 1;
+ }
+ this.nodeIdx = nodeIdx;
+ this.prevBytes = seqStart >= 0 ? Array.prototype.slice.call(buf, seqStart) : prevBytes.slice(seqStart + prevOffset).concat(Array.prototype.slice.call(buf));
+ return newBuf.slice(0, j).toString("ucs2");
+ };
+ DBCSDecoder.prototype.end = function() {
+ var ret = "";
+ while (this.prevBytes.length > 0) {
+ ret += this.defaultCharUnicode;
+ var bytesArr = this.prevBytes.slice(1);
+ this.prevBytes = [];
+ this.nodeIdx = 0;
+ if (bytesArr.length > 0) {
+ ret += this.write(bytesArr);
+ }
+ }
+ this.prevBytes = [];
+ this.nodeIdx = 0;
+ return ret;
+ };
+ function findIdx(table, val) {
+ if (table[0] > val) {
+ return -1;
+ }
+ var l = 0;
+ var r = table.length;
+ while (l < r - 1) {
+ var mid = l + (r - l + 1 >> 1);
+ if (table[mid] <= val) {
+ l = mid;
+ } else {
+ r = mid;
+ }
+ }
+ return l;
+ }
+ __name(findIdx, "findIdx");
+ }
+});
+
+// ../../node_modules/.pnpm/iconv-lite@0.7.3/node_modules/iconv-lite/encodings/tables/shiftjis.json
+var require_shiftjis = __commonJS({
+ "../../node_modules/.pnpm/iconv-lite@0.7.3/node_modules/iconv-lite/encodings/tables/shiftjis.json"(exports, module) {
+ module.exports = [
+ ["0", "\0", 128],
+ ["a1", "\uFF61", 62],
+ ["8140", "\u3000\u3001\u3002\uFF0C\uFF0E\u30FB\uFF1A\uFF1B\uFF1F\uFF01\u309B\u309C\xB4\uFF40\xA8\uFF3E\uFFE3\uFF3F\u30FD\u30FE\u309D\u309E\u3003\u4EDD\u3005\u3006\u3007\u30FC\u2015\u2010\uFF0F\uFF3C\uFF5E\u2225\uFF5C\u2026\u2025\u2018\u2019\u201C\u201D\uFF08\uFF09\u3014\u3015\uFF3B\uFF3D\uFF5B\uFF5D\u3008", 9, "\uFF0B\uFF0D\xB1\xD7"],
+ ["8180", "\xF7\uFF1D\u2260\uFF1C\uFF1E\u2266\u2267\u221E\u2234\u2642\u2640\xB0\u2032\u2033\u2103\uFFE5\uFF04\uFFE0\uFFE1\uFF05\uFF03\uFF06\uFF0A\uFF20\xA7\u2606\u2605\u25CB\u25CF\u25CE\u25C7\u25C6\u25A1\u25A0\u25B3\u25B2\u25BD\u25BC\u203B\u3012\u2192\u2190\u2191\u2193\u3013"],
+ ["81b8", "\u2208\u220B\u2286\u2287\u2282\u2283\u222A\u2229"],
+ ["81c8", "\u2227\u2228\uFFE2\u21D2\u21D4\u2200\u2203"],
+ ["81da", "\u2220\u22A5\u2312\u2202\u2207\u2261\u2252\u226A\u226B\u221A\u223D\u221D\u2235\u222B\u222C"],
+ ["81f0", "\u212B\u2030\u266F\u266D\u266A\u2020\u2021\xB6"],
+ ["81fc", "\u25EF"],
+ ["824f", "\uFF10", 9],
+ ["8260", "\uFF21", 25],
+ ["8281", "\uFF41", 25],
+ ["829f", "\u3041", 82],
+ ["8340", "\u30A1", 62],
+ ["8380", "\u30E0", 22],
+ ["839f", "\u0391", 16, "\u03A3", 6],
+ ["83bf", "\u03B1", 16, "\u03C3", 6],
+ ["8440", "\u0410", 5, "\u0401\u0416", 25],
+ ["8470", "\u0430", 5, "\u0451\u0436", 7],
+ ["8480", "\u043E", 17],
+ ["849f", "\u2500\u2502\u250C\u2510\u2518\u2514\u251C\u252C\u2524\u2534\u253C\u2501\u2503\u250F\u2513\u251B\u2517\u2523\u2533\u252B\u253B\u254B\u2520\u252F\u2528\u2537\u253F\u251D\u2530\u2525\u2538\u2542"],
+ ["8740", "\u2460", 19, "\u2160", 9],
+ ["875f", "\u3349\u3314\u3322\u334D\u3318\u3327\u3303\u3336\u3351\u3357\u330D\u3326\u3323\u332B\u334A\u333B\u339C\u339D\u339E\u338E\u338F\u33C4\u33A1"],
+ ["877e", "\u337B"],
+ ["8780", "\u301D\u301F\u2116\u33CD\u2121\u32A4", 4, "\u3231\u3232\u3239\u337E\u337D\u337C\u2252\u2261\u222B\u222E\u2211\u221A\u22A5\u2220\u221F\u22BF\u2235\u2229\u222A"],
+ ["889f", "\u4E9C\u5516\u5A03\u963F\u54C0\u611B\u6328\u59F6\u9022\u8475\u831C\u7A50\u60AA\u63E1\u6E25\u65ED\u8466\u82A6\u9BF5\u6893\u5727\u65A1\u6271\u5B9B\u59D0\u867B\u98F4\u7D62\u7DBE\u9B8E\u6216\u7C9F\u88B7\u5B89\u5EB5\u6309\u6697\u6848\u95C7\u978D\u674F\u4EE5\u4F0A\u4F4D\u4F9D\u5049\u56F2\u5937\u59D4\u5A01\u5C09\u60DF\u610F\u6170\u6613\u6905\u70BA\u754F\u7570\u79FB\u7DAD\u7DEF\u80C3\u840E\u8863\u8B02\u9055\u907A\u533B\u4E95\u4EA5\u57DF\u80B2\u90C1\u78EF\u4E00\u58F1\u6EA2\u9038\u7A32\u8328\u828B\u9C2F\u5141\u5370\u54BD\u54E1\u56E0\u59FB\u5F15\u98F2\u6DEB\u80E4\u852D"],
+ ["8940", "\u9662\u9670\u96A0\u97FB\u540B\u53F3\u5B87\u70CF\u7FBD\u8FC2\u96E8\u536F\u9D5C\u7ABA\u4E11\u7893\u81FC\u6E26\u5618\u5504\u6B1D\u851A\u9C3B\u59E5\u53A9\u6D66\u74DC\u958F\u5642\u4E91\u904B\u96F2\u834F\u990C\u53E1\u55B6\u5B30\u5F71\u6620\u66F3\u6804\u6C38\u6CF3\u6D29\u745B\u76C8\u7A4E\u9834\u82F1\u885B\u8A60\u92ED\u6DB2\u75AB\u76CA\u99C5\u60A6\u8B01\u8D8A\u95B2\u698E\u53AD\u5186"],
+ ["8980", "\u5712\u5830\u5944\u5BB4\u5EF6\u6028\u63A9\u63F4\u6CBF\u6F14\u708E\u7114\u7159\u71D5\u733F\u7E01\u8276\u82D1\u8597\u9060\u925B\u9D1B\u5869\u65BC\u6C5A\u7525\u51F9\u592E\u5965\u5F80\u5FDC\u62BC\u65FA\u6A2A\u6B27\u6BB4\u738B\u7FC1\u8956\u9D2C\u9D0E\u9EC4\u5CA1\u6C96\u837B\u5104\u5C4B\u61B6\u81C6\u6876\u7261\u4E59\u4FFA\u5378\u6069\u6E29\u7A4F\u97F3\u4E0B\u5316\u4EEE\u4F55\u4F3D\u4FA1\u4F73\u52A0\u53EF\u5609\u590F\u5AC1\u5BB6\u5BE1\u79D1\u6687\u679C\u67B6\u6B4C\u6CB3\u706B\u73C2\u798D\u79BE\u7A3C\u7B87\u82B1\u82DB\u8304\u8377\u83EF\u83D3\u8766\u8AB2\u5629\u8CA8\u8FE6\u904E\u971E\u868A\u4FC4\u5CE8\u6211\u7259\u753B\u81E5\u82BD\u86FE\u8CC0\u96C5\u9913\u99D5\u4ECB\u4F1A\u89E3\u56DE\u584A\u58CA\u5EFB\u5FEB\u602A\u6094\u6062\u61D0\u6212\u62D0\u6539"],
+ ["8a40", "\u9B41\u6666\u68B0\u6D77\u7070\u754C\u7686\u7D75\u82A5\u87F9\u958B\u968E\u8C9D\u51F1\u52BE\u5916\u54B3\u5BB3\u5D16\u6168\u6982\u6DAF\u788D\u84CB\u8857\u8A72\u93A7\u9AB8\u6D6C\u99A8\u86D9\u57A3\u67FF\u86CE\u920E\u5283\u5687\u5404\u5ED3\u62E1\u64B9\u683C\u6838\u6BBB\u7372\u78BA\u7A6B\u899A\u89D2\u8D6B\u8F03\u90ED\u95A3\u9694\u9769\u5B66\u5CB3\u697D\u984D\u984E\u639B\u7B20\u6A2B"],
+ ["8a80", "\u6A7F\u68B6\u9C0D\u6F5F\u5272\u559D\u6070\u62EC\u6D3B\u6E07\u6ED1\u845B\u8910\u8F44\u4E14\u9C39\u53F6\u691B\u6A3A\u9784\u682A\u515C\u7AC3\u84B2\u91DC\u938C\u565B\u9D28\u6822\u8305\u8431\u7CA5\u5208\u82C5\u74E6\u4E7E\u4F83\u51A0\u5BD2\u520A\u52D8\u52E7\u5DFB\u559A\u582A\u59E6\u5B8C\u5B98\u5BDB\u5E72\u5E79\u60A3\u611F\u6163\u61BE\u63DB\u6562\u67D1\u6853\u68FA\u6B3E\u6B53\u6C57\u6F22\u6F97\u6F45\u74B0\u7518\u76E3\u770B\u7AFF\u7BA1\u7C21\u7DE9\u7F36\u7FF0\u809D\u8266\u839E\u89B3\u8ACC\u8CAB\u9084\u9451\u9593\u9591\u95A2\u9665\u97D3\u9928\u8218\u4E38\u542B\u5CB8\u5DCC\u73A9\u764C\u773C\u5CA9\u7FEB\u8D0B\u96C1\u9811\u9854\u9858\u4F01\u4F0E\u5371\u559C\u5668\u57FA\u5947\u5B09\u5BC4\u5C90\u5E0C\u5E7E\u5FCC\u63EE\u673A\u65D7\u65E2\u671F\u68CB\u68C4"],
+ ["8b40", "\u6A5F\u5E30\u6BC5\u6C17\u6C7D\u757F\u7948\u5B63\u7A00\u7D00\u5FBD\u898F\u8A18\u8CB4\u8D77\u8ECC\u8F1D\u98E2\u9A0E\u9B3C\u4E80\u507D\u5100\u5993\u5B9C\u622F\u6280\u64EC\u6B3A\u72A0\u7591\u7947\u7FA9\u87FB\u8ABC\u8B70\u63AC\u83CA\u97A0\u5409\u5403\u55AB\u6854\u6A58\u8A70\u7827\u6775\u9ECD\u5374\u5BA2\u811A\u8650\u9006\u4E18\u4E45\u4EC7\u4F11\u53CA\u5438\u5BAE\u5F13\u6025\u6551"],
+ ["8b80", "\u673D\u6C42\u6C72\u6CE3\u7078\u7403\u7A76\u7AAE\u7B08\u7D1A\u7CFE\u7D66\u65E7\u725B\u53BB\u5C45\u5DE8\u62D2\u62E0\u6319\u6E20\u865A\u8A31\u8DDD\u92F8\u6F01\u79A6\u9B5A\u4EA8\u4EAB\u4EAC\u4F9B\u4FA0\u50D1\u5147\u7AF6\u5171\u51F6\u5354\u5321\u537F\u53EB\u55AC\u5883\u5CE1\u5F37\u5F4A\u602F\u6050\u606D\u631F\u6559\u6A4B\u6CC1\u72C2\u72ED\u77EF\u80F8\u8105\u8208\u854E\u90F7\u93E1\u97FF\u9957\u9A5A\u4EF0\u51DD\u5C2D\u6681\u696D\u5C40\u66F2\u6975\u7389\u6850\u7C81\u50C5\u52E4\u5747\u5DFE\u9326\u65A4\u6B23\u6B3D\u7434\u7981\u79BD\u7B4B\u7DCA\u82B9\u83CC\u887F\u895F\u8B39\u8FD1\u91D1\u541F\u9280\u4E5D\u5036\u53E5\u533A\u72D7\u7396\u77E9\u82E6\u8EAF\u99C6\u99C8\u99D2\u5177\u611A\u865E\u55B0\u7A7A\u5076\u5BD3\u9047\u9685\u4E32\u6ADB\u91E7\u5C51\u5C48"],
+ ["8c40", "\u6398\u7A9F\u6C93\u9774\u8F61\u7AAA\u718A\u9688\u7C82\u6817\u7E70\u6851\u936C\u52F2\u541B\u85AB\u8A13\u7FA4\u8ECD\u90E1\u5366\u8888\u7941\u4FC2\u50BE\u5211\u5144\u5553\u572D\u73EA\u578B\u5951\u5F62\u5F84\u6075\u6176\u6167\u61A9\u63B2\u643A\u656C\u666F\u6842\u6E13\u7566\u7A3D\u7CFB\u7D4C\u7D99\u7E4B\u7F6B\u830E\u834A\u86CD\u8A08\u8A63\u8B66\u8EFD\u981A\u9D8F\u82B8\u8FCE\u9BE8"],
+ ["8c80", "\u5287\u621F\u6483\u6FC0\u9699\u6841\u5091\u6B20\u6C7A\u6F54\u7A74\u7D50\u8840\u8A23\u6708\u4EF6\u5039\u5026\u5065\u517C\u5238\u5263\u55A7\u570F\u5805\u5ACC\u5EFA\u61B2\u61F8\u62F3\u6372\u691C\u6A29\u727D\u72AC\u732E\u7814\u786F\u7D79\u770C\u80A9\u898B\u8B19\u8CE2\u8ED2\u9063\u9375\u967A\u9855\u9A13\u9E78\u5143\u539F\u53B3\u5E7B\u5F26\u6E1B\u6E90\u7384\u73FE\u7D43\u8237\u8A00\u8AFA\u9650\u4E4E\u500B\u53E4\u547C\u56FA\u59D1\u5B64\u5DF1\u5EAB\u5F27\u6238\u6545\u67AF\u6E56\u72D0\u7CCA\u88B4\u80A1\u80E1\u83F0\u864E\u8A87\u8DE8\u9237\u96C7\u9867\u9F13\u4E94\u4E92\u4F0D\u5348\u5449\u543E\u5A2F\u5F8C\u5FA1\u609F\u68A7\u6A8E\u745A\u7881\u8A9E\u8AA4\u8B77\u9190\u4E5E\u9BC9\u4EA4\u4F7C\u4FAF\u5019\u5016\u5149\u516C\u529F\u52B9\u52FE\u539A\u53E3\u5411"],
+ ["8d40", "\u540E\u5589\u5751\u57A2\u597D\u5B54\u5B5D\u5B8F\u5DE5\u5DE7\u5DF7\u5E78\u5E83\u5E9A\u5EB7\u5F18\u6052\u614C\u6297\u62D8\u63A7\u653B\u6602\u6643\u66F4\u676D\u6821\u6897\u69CB\u6C5F\u6D2A\u6D69\u6E2F\u6E9D\u7532\u7687\u786C\u7A3F\u7CE0\u7D05\u7D18\u7D5E\u7DB1\u8015\u8003\u80AF\u80B1\u8154\u818F\u822A\u8352\u884C\u8861\u8B1B\u8CA2\u8CFC\u90CA\u9175\u9271\u783F\u92FC\u95A4\u964D"],
+ ["8d80", "\u9805\u9999\u9AD8\u9D3B\u525B\u52AB\u53F7\u5408\u58D5\u62F7\u6FE0\u8C6A\u8F5F\u9EB9\u514B\u523B\u544A\u56FD\u7A40\u9177\u9D60\u9ED2\u7344\u6F09\u8170\u7511\u5FFD\u60DA\u9AA8\u72DB\u8FBC\u6B64\u9803\u4ECA\u56F0\u5764\u58BE\u5A5A\u6068\u61C7\u660F\u6606\u6839\u68B1\u6DF7\u75D5\u7D3A\u826E\u9B42\u4E9B\u4F50\u53C9\u5506\u5D6F\u5DE6\u5DEE\u67FB\u6C99\u7473\u7802\u8A50\u9396\u88DF\u5750\u5EA7\u632B\u50B5\u50AC\u518D\u6700\u54C9\u585E\u59BB\u5BB0\u5F69\u624D\u63A1\u683D\u6B73\u6E08\u707D\u91C7\u7280\u7815\u7826\u796D\u658E\u7D30\u83DC\u88C1\u8F09\u969B\u5264\u5728\u6750\u7F6A\u8CA1\u51B4\u5742\u962A\u583A\u698A\u80B4\u54B2\u5D0E\u57FC\u7895\u9DFA\u4F5C\u524A\u548B\u643E\u6628\u6714\u67F5\u7A84\u7B56\u7D22\u932F\u685C\u9BAD\u7B39\u5319\u518A\u5237"],
+ ["8e40", "\u5BDF\u62F6\u64AE\u64E6\u672D\u6BBA\u85A9\u96D1\u7690\u9BD6\u634C\u9306\u9BAB\u76BF\u6652\u4E09\u5098\u53C2\u5C71\u60E8\u6492\u6563\u685F\u71E6\u73CA\u7523\u7B97\u7E82\u8695\u8B83\u8CDB\u9178\u9910\u65AC\u66AB\u6B8B\u4ED5\u4ED4\u4F3A\u4F7F\u523A\u53F8\u53F2\u55E3\u56DB\u58EB\u59CB\u59C9\u59FF\u5B50\u5C4D\u5E02\u5E2B\u5FD7\u601D\u6307\u652F\u5B5C\u65AF\u65BD\u65E8\u679D\u6B62"],
+ ["8e80", "\u6B7B\u6C0F\u7345\u7949\u79C1\u7CF8\u7D19\u7D2B\u80A2\u8102\u81F3\u8996\u8A5E\u8A69\u8A66\u8A8C\u8AEE\u8CC7\u8CDC\u96CC\u98FC\u6B6F\u4E8B\u4F3C\u4F8D\u5150\u5B57\u5BFA\u6148\u6301\u6642\u6B21\u6ECB\u6CBB\u723E\u74BD\u75D4\u78C1\u793A\u800C\u8033\u81EA\u8494\u8F9E\u6C50\u9E7F\u5F0F\u8B58\u9D2B\u7AFA\u8EF8\u5B8D\u96EB\u4E03\u53F1\u57F7\u5931\u5AC9\u5BA4\u6089\u6E7F\u6F06\u75BE\u8CEA\u5B9F\u8500\u7BE0\u5072\u67F4\u829D\u5C61\u854A\u7E1E\u820E\u5199\u5C04\u6368\u8D66\u659C\u716E\u793E\u7D17\u8005\u8B1D\u8ECA\u906E\u86C7\u90AA\u501F\u52FA\u5C3A\u6753\u707C\u7235\u914C\u91C8\u932B\u82E5\u5BC2\u5F31\u60F9\u4E3B\u53D6\u5B88\u624B\u6731\u6B8A\u72E9\u73E0\u7A2E\u816B\u8DA3\u9152\u9996\u5112\u53D7\u546A\u5BFF\u6388\u6A39\u7DAC\u9700\u56DA\u53CE\u5468"],
+ ["8f40", "\u5B97\u5C31\u5DDE\u4FEE\u6101\u62FE\u6D32\u79C0\u79CB\u7D42\u7E4D\u7FD2\u81ED\u821F\u8490\u8846\u8972\u8B90\u8E74\u8F2F\u9031\u914B\u916C\u96C6\u919C\u4EC0\u4F4F\u5145\u5341\u5F93\u620E\u67D4\u6C41\u6E0B\u7363\u7E26\u91CD\u9283\u53D4\u5919\u5BBF\u6DD1\u795D\u7E2E\u7C9B\u587E\u719F\u51FA\u8853\u8FF0\u4FCA\u5CFB\u6625\u77AC\u7AE3\u821C\u99FF\u51C6\u5FAA\u65EC\u696F\u6B89\u6DF3"],
+ ["8f80", "\u6E96\u6F64\u76FE\u7D14\u5DE1\u9075\u9187\u9806\u51E6\u521D\u6240\u6691\u66D9\u6E1A\u5EB6\u7DD2\u7F72\u66F8\u85AF\u85F7\u8AF8\u52A9\u53D9\u5973\u5E8F\u5F90\u6055\u92E4\u9664\u50B7\u511F\u52DD\u5320\u5347\u53EC\u54E8\u5546\u5531\u5617\u5968\u59BE\u5A3C\u5BB5\u5C06\u5C0F\u5C11\u5C1A\u5E84\u5E8A\u5EE0\u5F70\u627F\u6284\u62DB\u638C\u6377\u6607\u660C\u662D\u6676\u677E\u68A2\u6A1F\u6A35\u6CBC\u6D88\u6E09\u6E58\u713C\u7126\u7167\u75C7\u7701\u785D\u7901\u7965\u79F0\u7AE0\u7B11\u7CA7\u7D39\u8096\u83D6\u848B\u8549\u885D\u88F3\u8A1F\u8A3C\u8A54\u8A73\u8C61\u8CDE\u91A4\u9266\u937E\u9418\u969C\u9798\u4E0A\u4E08\u4E1E\u4E57\u5197\u5270\u57CE\u5834\u58CC\u5B22\u5E38\u60C5\u64FE\u6761\u6756\u6D44\u72B6\u7573\u7A63\u84B8\u8B72\u91B8\u9320\u5631\u57F4\u98FE"],
+ ["9040", "\u62ED\u690D\u6B96\u71ED\u7E54\u8077\u8272\u89E6\u98DF\u8755\u8FB1\u5C3B\u4F38\u4FE1\u4FB5\u5507\u5A20\u5BDD\u5BE9\u5FC3\u614E\u632F\u65B0\u664B\u68EE\u699B\u6D78\u6DF1\u7533\u75B9\u771F\u795E\u79E6\u7D33\u81E3\u82AF\u85AA\u89AA\u8A3A\u8EAB\u8F9B\u9032\u91DD\u9707\u4EBA\u4EC1\u5203\u5875\u58EC\u5C0B\u751A\u5C3D\u814E\u8A0A\u8FC5\u9663\u976D\u7B25\u8ACF\u9808\u9162\u56F3\u53A8"],
+ ["9080", "\u9017\u5439\u5782\u5E25\u63A8\u6C34\u708A\u7761\u7C8B\u7FE0\u8870\u9042\u9154\u9310\u9318\u968F\u745E\u9AC4\u5D07\u5D69\u6570\u67A2\u8DA8\u96DB\u636E\u6749\u6919\u83C5\u9817\u96C0\u88FE\u6F84\u647A\u5BF8\u4E16\u702C\u755D\u662F\u51C4\u5236\u52E2\u59D3\u5F81\u6027\u6210\u653F\u6574\u661F\u6674\u68F2\u6816\u6B63\u6E05\u7272\u751F\u76DB\u7CBE\u8056\u58F0\u88FD\u897F\u8AA0\u8A93\u8ACB\u901D\u9192\u9752\u9759\u6589\u7A0E\u8106\u96BB\u5E2D\u60DC\u621A\u65A5\u6614\u6790\u77F3\u7A4D\u7C4D\u7E3E\u810A\u8CAC\u8D64\u8DE1\u8E5F\u78A9\u5207\u62D9\u63A5\u6442\u6298\u8A2D\u7A83\u7BC0\u8AAC\u96EA\u7D76\u820C\u8749\u4ED9\u5148\u5343\u5360\u5BA3\u5C02\u5C16\u5DDD\u6226\u6247\u64B0\u6813\u6834\u6CC9\u6D45\u6D17\u67D3\u6F5C\u714E\u717D\u65CB\u7A7F\u7BAD\u7DDA"],
+ ["9140", "\u7E4A\u7FA8\u817A\u821B\u8239\u85A6\u8A6E\u8CCE\u8DF5\u9078\u9077\u92AD\u9291\u9583\u9BAE\u524D\u5584\u6F38\u7136\u5168\u7985\u7E55\u81B3\u7CCE\u564C\u5851\u5CA8\u63AA\u66FE\u66FD\u695A\u72D9\u758F\u758E\u790E\u7956\u79DF\u7C97\u7D20\u7D44\u8607\u8A34\u963B\u9061\u9F20\u50E7\u5275\u53CC\u53E2\u5009\u55AA\u58EE\u594F\u723D\u5B8B\u5C64\u531D\u60E3\u60F3\u635C\u6383\u633F\u63BB"],
+ ["9180", "\u64CD\u65E9\u66F9\u5DE3\u69CD\u69FD\u6F15\u71E5\u4E89\u75E9\u76F8\u7A93\u7CDF\u7DCF\u7D9C\u8061\u8349\u8358\u846C\u84BC\u85FB\u88C5\u8D70\u9001\u906D\u9397\u971C\u9A12\u50CF\u5897\u618E\u81D3\u8535\u8D08\u9020\u4FC3\u5074\u5247\u5373\u606F\u6349\u675F\u6E2C\u8DB3\u901F\u4FD7\u5C5E\u8CCA\u65CF\u7D9A\u5352\u8896\u5176\u63C3\u5B58\u5B6B\u5C0A\u640D\u6751\u905C\u4ED6\u591A\u592A\u6C70\u8A51\u553E\u5815\u59A5\u60F0\u6253\u67C1\u8235\u6955\u9640\u99C4\u9A28\u4F53\u5806\u5BFE\u8010\u5CB1\u5E2F\u5F85\u6020\u614B\u6234\u66FF\u6CF0\u6EDE\u80CE\u817F\u82D4\u888B\u8CB8\u9000\u902E\u968A\u9EDB\u9BDB\u4EE3\u53F0\u5927\u7B2C\u918D\u984C\u9DF9\u6EDD\u7027\u5353\u5544\u5B85\u6258\u629E\u62D3\u6CA2\u6FEF\u7422\u8A17\u9438\u6FC1\u8AFE\u8338\u51E7\u86F8\u53EA"],
+ ["9240", "\u53E9\u4F46\u9054\u8FB0\u596A\u8131\u5DFD\u7AEA\u8FBF\u68DA\u8C37\u72F8\u9C48\u6A3D\u8AB0\u4E39\u5358\u5606\u5766\u62C5\u63A2\u65E6\u6B4E\u6DE1\u6E5B\u70AD\u77ED\u7AEF\u7BAA\u7DBB\u803D\u80C6\u86CB\u8A95\u935B\u56E3\u58C7\u5F3E\u65AD\u6696\u6A80\u6BB5\u7537\u8AC7\u5024\u77E5\u5730\u5F1B\u6065\u667A\u6C60\u75F4\u7A1A\u7F6E\u81F4\u8718\u9045\u99B3\u7BC9\u755C\u7AF9\u7B51\u84C4"],
+ ["9280", "\u9010\u79E9\u7A92\u8336\u5AE1\u7740\u4E2D\u4EF2\u5B99\u5FE0\u62BD\u663C\u67F1\u6CE8\u866B\u8877\u8A3B\u914E\u92F3\u99D0\u6A17\u7026\u732A\u82E7\u8457\u8CAF\u4E01\u5146\u51CB\u558B\u5BF5\u5E16\u5E33\u5E81\u5F14\u5F35\u5F6B\u5FB4\u61F2\u6311\u66A2\u671D\u6F6E\u7252\u753A\u773A\u8074\u8139\u8178\u8776\u8ABF\u8ADC\u8D85\u8DF3\u929A\u9577\u9802\u9CE5\u52C5\u6357\u76F4\u6715\u6C88\u73CD\u8CC3\u93AE\u9673\u6D25\u589C\u690E\u69CC\u8FFD\u939A\u75DB\u901A\u585A\u6802\u63B4\u69FB\u4F43\u6F2C\u67D8\u8FBB\u8526\u7DB4\u9354\u693F\u6F70\u576A\u58F7\u5B2C\u7D2C\u722A\u540A\u91E3\u9DB4\u4EAD\u4F4E\u505C\u5075\u5243\u8C9E\u5448\u5824\u5B9A\u5E1D\u5E95\u5EAD\u5EF7\u5F1F\u608C\u62B5\u633A\u63D0\u68AF\u6C40\u7887\u798E\u7A0B\u7DE0\u8247\u8A02\u8AE6\u8E44\u9013"],
+ ["9340", "\u90B8\u912D\u91D8\u9F0E\u6CE5\u6458\u64E2\u6575\u6EF4\u7684\u7B1B\u9069\u93D1\u6EBA\u54F2\u5FB9\u64A4\u8F4D\u8FED\u9244\u5178\u586B\u5929\u5C55\u5E97\u6DFB\u7E8F\u751C\u8CBC\u8EE2\u985B\u70B9\u4F1D\u6BBF\u6FB1\u7530\u96FB\u514E\u5410\u5835\u5857\u59AC\u5C60\u5F92\u6597\u675C\u6E21\u767B\u83DF\u8CED\u9014\u90FD\u934D\u7825\u783A\u52AA\u5EA6\u571F\u5974\u6012\u5012\u515A\u51AC"],
+ ["9380", "\u51CD\u5200\u5510\u5854\u5858\u5957\u5B95\u5CF6\u5D8B\u60BC\u6295\u642D\u6771\u6843\u68BC\u68DF\u76D7\u6DD8\u6E6F\u6D9B\u706F\u71C8\u5F53\u75D8\u7977\u7B49\u7B54\u7B52\u7CD6\u7D71\u5230\u8463\u8569\u85E4\u8A0E\u8B04\u8C46\u8E0F\u9003\u900F\u9419\u9676\u982D\u9A30\u95D8\u50CD\u52D5\u540C\u5802\u5C0E\u61A7\u649E\u6D1E\u77B3\u7AE5\u80F4\u8404\u9053\u9285\u5CE0\u9D07\u533F\u5F97\u5FB3\u6D9C\u7279\u7763\u79BF\u7BE4\u6BD2\u72EC\u8AAD\u6803\u6A61\u51F8\u7A81\u6934\u5C4A\u9CF6\u82EB\u5BC5\u9149\u701E\u5678\u5C6F\u60C7\u6566\u6C8C\u8C5A\u9041\u9813\u5451\u66C7\u920D\u5948\u90A3\u5185\u4E4D\u51EA\u8599\u8B0E\u7058\u637A\u934B\u6962\u99B4\u7E04\u7577\u5357\u6960\u8EDF\u96E3\u6C5D\u4E8C\u5C3C\u5F10\u8FE9\u5302\u8CD1\u8089\u8679\u5EFF\u65E5\u4E73\u5165"],
+ ["9440", "\u5982\u5C3F\u97EE\u4EFB\u598A\u5FCD\u8A8D\u6FE1\u79B0\u7962\u5BE7\u8471\u732B\u71B1\u5E74\u5FF5\u637B\u649A\u71C3\u7C98\u4E43\u5EFC\u4E4B\u57DC\u56A2\u60A9\u6FC3\u7D0D\u80FD\u8133\u81BF\u8FB2\u8997\u86A4\u5DF4\u628A\u64AD\u8987\u6777\u6CE2\u6D3E\u7436\u7834\u5A46\u7F75\u82AD\u99AC\u4FF3\u5EC3\u62DD\u6392\u6557\u676F\u76C3\u724C\u80CC\u80BA\u8F29\u914D\u500D\u57F9\u5A92\u6885"],
+ ["9480", "\u6973\u7164\u72FD\u8CB7\u58F2\u8CE0\u966A\u9019\u877F\u79E4\u77E7\u8429\u4F2F\u5265\u535A\u62CD\u67CF\u6CCA\u767D\u7B94\u7C95\u8236\u8584\u8FEB\u66DD\u6F20\u7206\u7E1B\u83AB\u99C1\u9EA6\u51FD\u7BB1\u7872\u7BB8\u8087\u7B48\u6AE8\u5E61\u808C\u7551\u7560\u516B\u9262\u6E8C\u767A\u9197\u9AEA\u4F10\u7F70\u629C\u7B4F\u95A5\u9CE9\u567A\u5859\u86E4\u96BC\u4F34\u5224\u534A\u53CD\u53DB\u5E06\u642C\u6591\u677F\u6C3E\u6C4E\u7248\u72AF\u73ED\u7554\u7E41\u822C\u85E9\u8CA9\u7BC4\u91C6\u7169\u9812\u98EF\u633D\u6669\u756A\u76E4\u78D0\u8543\u86EE\u532A\u5351\u5426\u5983\u5E87\u5F7C\u60B2\u6249\u6279\u62AB\u6590\u6BD4\u6CCC\u75B2\u76AE\u7891\u79D8\u7DCB\u7F77\u80A5\u88AB\u8AB9\u8CBB\u907F\u975E\u98DB\u6A0B\u7C38\u5099\u5C3E\u5FAE\u6787\u6BD8\u7435\u7709\u7F8E"],
+ ["9540", "\u9F3B\u67CA\u7A17\u5339\u758B\u9AED\u5F66\u819D\u83F1\u8098\u5F3C\u5FC5\u7562\u7B46\u903C\u6867\u59EB\u5A9B\u7D10\u767E\u8B2C\u4FF5\u5F6A\u6A19\u6C37\u6F02\u74E2\u7968\u8868\u8A55\u8C79\u5EDF\u63CF\u75C5\u79D2\u82D7\u9328\u92F2\u849C\u86ED\u9C2D\u54C1\u5F6C\u658C\u6D5C\u7015\u8CA7\u8CD3\u983B\u654F\u74F6\u4E0D\u4ED8\u57E0\u592B\u5A66\u5BCC\u51A8\u5E03\u5E9C\u6016\u6276\u6577"],
+ ["9580", "\u65A7\u666E\u6D6E\u7236\u7B26\u8150\u819A\u8299\u8B5C\u8CA0\u8CE6\u8D74\u961C\u9644\u4FAE\u64AB\u6B66\u821E\u8461\u856A\u90E8\u5C01\u6953\u98A8\u847A\u8557\u4F0F\u526F\u5FA9\u5E45\u670D\u798F\u8179\u8907\u8986\u6DF5\u5F17\u6255\u6CB8\u4ECF\u7269\u9B92\u5206\u543B\u5674\u58B3\u61A4\u626E\u711A\u596E\u7C89\u7CDE\u7D1B\u96F0\u6587\u805E\u4E19\u4F75\u5175\u5840\u5E63\u5E73\u5F0A\u67C4\u4E26\u853D\u9589\u965B\u7C73\u9801\u50FB\u58C1\u7656\u78A7\u5225\u77A5\u8511\u7B86\u504F\u5909\u7247\u7BC7\u7DE8\u8FBA\u8FD4\u904D\u4FBF\u52C9\u5A29\u5F01\u97AD\u4FDD\u8217\u92EA\u5703\u6355\u6B69\u752B\u88DC\u8F14\u7A42\u52DF\u5893\u6155\u620A\u66AE\u6BCD\u7C3F\u83E9\u5023\u4FF8\u5305\u5446\u5831\u5949\u5B9D\u5CF0\u5CEF\u5D29\u5E96\u62B1\u6367\u653E\u65B9\u670B"],
+ ["9640", "\u6CD5\u6CE1\u70F9\u7832\u7E2B\u80DE\u82B3\u840C\u84EC\u8702\u8912\u8A2A\u8C4A\u90A6\u92D2\u98FD\u9CF3\u9D6C\u4E4F\u4EA1\u508D\u5256\u574A\u59A8\u5E3D\u5FD8\u5FD9\u623F\u66B4\u671B\u67D0\u68D2\u5192\u7D21\u80AA\u81A8\u8B00\u8C8C\u8CBF\u927E\u9632\u5420\u982C\u5317\u50D5\u535C\u58A8\u64B2\u6734\u7267\u7766\u7A46\u91E6\u52C3\u6CA1\u6B86\u5800\u5E4C\u5954\u672C\u7FFB\u51E1\u76C6"],
+ ["9680", "\u6469\u78E8\u9B54\u9EBB\u57CB\u59B9\u6627\u679A\u6BCE\u54E9\u69D9\u5E55\u819C\u6795\u9BAA\u67FE\u9C52\u685D\u4EA6\u4FE3\u53C8\u62B9\u672B\u6CAB\u8FC4\u4FAD\u7E6D\u9EBF\u4E07\u6162\u6E80\u6F2B\u8513\u5473\u672A\u9B45\u5DF3\u7B95\u5CAC\u5BC6\u871C\u6E4A\u84D1\u7A14\u8108\u5999\u7C8D\u6C11\u7720\u52D9\u5922\u7121\u725F\u77DB\u9727\u9D61\u690B\u5A7F\u5A18\u51A5\u540D\u547D\u660E\u76DF\u8FF7\u9298\u9CF4\u59EA\u725D\u6EC5\u514D\u68C9\u7DBF\u7DEC\u9762\u9EBA\u6478\u6A21\u8302\u5984\u5B5F\u6BDB\u731B\u76F2\u7DB2\u8017\u8499\u5132\u6728\u9ED9\u76EE\u6762\u52FF\u9905\u5C24\u623B\u7C7E\u8CB0\u554F\u60B6\u7D0B\u9580\u5301\u4E5F\u51B6\u591C\u723A\u8036\u91CE\u5F25\u77E2\u5384\u5F79\u7D04\u85AC\u8A33\u8E8D\u9756\u67F3\u85AE\u9453\u6109\u6108\u6CB9\u7652"],
+ ["9740", "\u8AED\u8F38\u552F\u4F51\u512A\u52C7\u53CB\u5BA5\u5E7D\u60A0\u6182\u63D6\u6709\u67DA\u6E67\u6D8C\u7336\u7337\u7531\u7950\u88D5\u8A98\u904A\u9091\u90F5\u96C4\u878D\u5915\u4E88\u4F59\u4E0E\u8A89\u8F3F\u9810\u50AD\u5E7C\u5996\u5BB9\u5EB8\u63DA\u63FA\u64C1\u66DC\u694A\u69D8\u6D0B\u6EB6\u7194\u7528\u7AAF\u7F8A\u8000\u8449\u84C9\u8981\u8B21\u8E0A\u9065\u967D\u990A\u617E\u6291\u6B32"],
+ ["9780", "\u6C83\u6D74\u7FCC\u7FFC\u6DC0\u7F85\u87BA\u88F8\u6765\u83B1\u983C\u96F7\u6D1B\u7D61\u843D\u916A\u4E71\u5375\u5D50\u6B04\u6FEB\u85CD\u862D\u89A7\u5229\u540F\u5C65\u674E\u68A8\u7406\u7483\u75E2\u88CF\u88E1\u91CC\u96E2\u9678\u5F8B\u7387\u7ACB\u844E\u63A0\u7565\u5289\u6D41\u6E9C\u7409\u7559\u786B\u7C92\u9686\u7ADC\u9F8D\u4FB6\u616E\u65C5\u865C\u4E86\u4EAE\u50DA\u4E21\u51CC\u5BEE\u6599\u6881\u6DBC\u731F\u7642\u77AD\u7A1C\u7CE7\u826F\u8AD2\u907C\u91CF\u9675\u9818\u529B\u7DD1\u502B\u5398\u6797\u6DCB\u71D0\u7433\u81E8\u8F2A\u96A3\u9C57\u9E9F\u7460\u5841\u6D99\u7D2F\u985E\u4EE4\u4F36\u4F8B\u51B7\u52B1\u5DBA\u601C\u73B2\u793C\u82D3\u9234\u96B7\u96F6\u970A\u9E97\u9F62\u66A6\u6B74\u5217\u52A3\u70C8\u88C2\u5EC9\u604B\u6190\u6F23\u7149\u7C3E\u7DF4\u806F"],
+ ["9840", "\u84EE\u9023\u932C\u5442\u9B6F\u6AD3\u7089\u8CC2\u8DEF\u9732\u52B4\u5A41\u5ECA\u5F04\u6717\u697C\u6994\u6D6A\u6F0F\u7262\u72FC\u7BED\u8001\u807E\u874B\u90CE\u516D\u9E93\u7984\u808B\u9332\u8AD6\u502D\u548C\u8A71\u6B6A\u8CC4\u8107\u60D1\u67A0\u9DF2\u4E99\u4E98\u9C10\u8A6B\u85C1\u8568\u6900\u6E7E\u7897\u8155"],
+ ["989f", "\u5F0C\u4E10\u4E15\u4E2A\u4E31\u4E36\u4E3C\u4E3F\u4E42\u4E56\u4E58\u4E82\u4E85\u8C6B\u4E8A\u8212\u5F0D\u4E8E\u4E9E\u4E9F\u4EA0\u4EA2\u4EB0\u4EB3\u4EB6\u4ECE\u4ECD\u4EC4\u4EC6\u4EC2\u4ED7\u4EDE\u4EED\u4EDF\u4EF7\u4F09\u4F5A\u4F30\u4F5B\u4F5D\u4F57\u4F47\u4F76\u4F88\u4F8F\u4F98\u4F7B\u4F69\u4F70\u4F91\u4F6F\u4F86\u4F96\u5118\u4FD4\u4FDF\u4FCE\u4FD8\u4FDB\u4FD1\u4FDA\u4FD0\u4FE4\u4FE5\u501A\u5028\u5014\u502A\u5025\u5005\u4F1C\u4FF6\u5021\u5029\u502C\u4FFE\u4FEF\u5011\u5006\u5043\u5047\u6703\u5055\u5050\u5048\u505A\u5056\u506C\u5078\u5080\u509A\u5085\u50B4\u50B2"],
+ ["9940", "\u50C9\u50CA\u50B3\u50C2\u50D6\u50DE\u50E5\u50ED\u50E3\u50EE\u50F9\u50F5\u5109\u5101\u5102\u5116\u5115\u5114\u511A\u5121\u513A\u5137\u513C\u513B\u513F\u5140\u5152\u514C\u5154\u5162\u7AF8\u5169\u516A\u516E\u5180\u5182\u56D8\u518C\u5189\u518F\u5191\u5193\u5195\u5196\u51A4\u51A6\u51A2\u51A9\u51AA\u51AB\u51B3\u51B1\u51B2\u51B0\u51B5\u51BD\u51C5\u51C9\u51DB\u51E0\u8655\u51E9\u51ED"],
+ ["9980", "\u51F0\u51F5\u51FE\u5204\u520B\u5214\u520E\u5227\u522A\u522E\u5233\u5239\u524F\u5244\u524B\u524C\u525E\u5254\u526A\u5274\u5269\u5273\u527F\u527D\u528D\u5294\u5292\u5271\u5288\u5291\u8FA8\u8FA7\u52AC\u52AD\u52BC\u52B5\u52C1\u52CD\u52D7\u52DE\u52E3\u52E6\u98ED\u52E0\u52F3\u52F5\u52F8\u52F9\u5306\u5308\u7538\u530D\u5310\u530F\u5315\u531A\u5323\u532F\u5331\u5333\u5338\u5340\u5346\u5345\u4E17\u5349\u534D\u51D6\u535E\u5369\u536E\u5918\u537B\u5377\u5382\u5396\u53A0\u53A6\u53A5\u53AE\u53B0\u53B6\u53C3\u7C12\u96D9\u53DF\u66FC\u71EE\u53EE\u53E8\u53ED\u53FA\u5401\u543D\u5440\u542C\u542D\u543C\u542E\u5436\u5429\u541D\u544E\u548F\u5475\u548E\u545F\u5471\u5477\u5470\u5492\u547B\u5480\u5476\u5484\u5490\u5486\u54C7\u54A2\u54B8\u54A5\u54AC\u54C4\u54C8\u54A8"],
+ ["9a40", "\u54AB\u54C2\u54A4\u54BE\u54BC\u54D8\u54E5\u54E6\u550F\u5514\u54FD\u54EE\u54ED\u54FA\u54E2\u5539\u5540\u5563\u554C\u552E\u555C\u5545\u5556\u5557\u5538\u5533\u555D\u5599\u5580\u54AF\u558A\u559F\u557B\u557E\u5598\u559E\u55AE\u557C\u5583\u55A9\u5587\u55A8\u55DA\u55C5\u55DF\u55C4\u55DC\u55E4\u55D4\u5614\u55F7\u5616\u55FE\u55FD\u561B\u55F9\u564E\u5650\u71DF\u5634\u5636\u5632\u5638"],
+ ["9a80", "\u566B\u5664\u562F\u566C\u566A\u5686\u5680\u568A\u56A0\u5694\u568F\u56A5\u56AE\u56B6\u56B4\u56C2\u56BC\u56C1\u56C3\u56C0\u56C8\u56CE\u56D1\u56D3\u56D7\u56EE\u56F9\u5700\u56FF\u5704\u5709\u5708\u570B\u570D\u5713\u5718\u5716\u55C7\u571C\u5726\u5737\u5738\u574E\u573B\u5740\u574F\u5769\u57C0\u5788\u5761\u577F\u5789\u5793\u57A0\u57B3\u57A4\u57AA\u57B0\u57C3\u57C6\u57D4\u57D2\u57D3\u580A\u57D6\u57E3\u580B\u5819\u581D\u5872\u5821\u5862\u584B\u5870\u6BC0\u5852\u583D\u5879\u5885\u58B9\u589F\u58AB\u58BA\u58DE\u58BB\u58B8\u58AE\u58C5\u58D3\u58D1\u58D7\u58D9\u58D8\u58E5\u58DC\u58E4\u58DF\u58EF\u58FA\u58F9\u58FB\u58FC\u58FD\u5902\u590A\u5910\u591B\u68A6\u5925\u592C\u592D\u5932\u5938\u593E\u7AD2\u5955\u5950\u594E\u595A\u5958\u5962\u5960\u5967\u596C\u5969"],
+ ["9b40", "\u5978\u5981\u599D\u4F5E\u4FAB\u59A3\u59B2\u59C6\u59E8\u59DC\u598D\u59D9\u59DA\u5A25\u5A1F\u5A11\u5A1C\u5A09\u5A1A\u5A40\u5A6C\u5A49\u5A35\u5A36\u5A62\u5A6A\u5A9A\u5ABC\u5ABE\u5ACB\u5AC2\u5ABD\u5AE3\u5AD7\u5AE6\u5AE9\u5AD6\u5AFA\u5AFB\u5B0C\u5B0B\u5B16\u5B32\u5AD0\u5B2A\u5B36\u5B3E\u5B43\u5B45\u5B40\u5B51\u5B55\u5B5A\u5B5B\u5B65\u5B69\u5B70\u5B73\u5B75\u5B78\u6588\u5B7A\u5B80"],
+ ["9b80", "\u5B83\u5BA6\u5BB8\u5BC3\u5BC7\u5BC9\u5BD4\u5BD0\u5BE4\u5BE6\u5BE2\u5BDE\u5BE5\u5BEB\u5BF0\u5BF6\u5BF3\u5C05\u5C07\u5C08\u5C0D\u5C13\u5C20\u5C22\u5C28\u5C38\u5C39\u5C41\u5C46\u5C4E\u5C53\u5C50\u5C4F\u5B71\u5C6C\u5C6E\u4E62\u5C76\u5C79\u5C8C\u5C91\u5C94\u599B\u5CAB\u5CBB\u5CB6\u5CBC\u5CB7\u5CC5\u5CBE\u5CC7\u5CD9\u5CE9\u5CFD\u5CFA\u5CED\u5D8C\u5CEA\u5D0B\u5D15\u5D17\u5D5C\u5D1F\u5D1B\u5D11\u5D14\u5D22\u5D1A\u5D19\u5D18\u5D4C\u5D52\u5D4E\u5D4B\u5D6C\u5D73\u5D76\u5D87\u5D84\u5D82\u5DA2\u5D9D\u5DAC\u5DAE\u5DBD\u5D90\u5DB7\u5DBC\u5DC9\u5DCD\u5DD3\u5DD2\u5DD6\u5DDB\u5DEB\u5DF2\u5DF5\u5E0B\u5E1A\u5E19\u5E11\u5E1B\u5E36\u5E37\u5E44\u5E43\u5E40\u5E4E\u5E57\u5E54\u5E5F\u5E62\u5E64\u5E47\u5E75\u5E76\u5E7A\u9EBC\u5E7F\u5EA0\u5EC1\u5EC2\u5EC8\u5ED0\u5ECF"],
+ ["9c40", "\u5ED6\u5EE3\u5EDD\u5EDA\u5EDB\u5EE2\u5EE1\u5EE8\u5EE9\u5EEC\u5EF1\u5EF3\u5EF0\u5EF4\u5EF8\u5EFE\u5F03\u5F09\u5F5D\u5F5C\u5F0B\u5F11\u5F16\u5F29\u5F2D\u5F38\u5F41\u5F48\u5F4C\u5F4E\u5F2F\u5F51\u5F56\u5F57\u5F59\u5F61\u5F6D\u5F73\u5F77\u5F83\u5F82\u5F7F\u5F8A\u5F88\u5F91\u5F87\u5F9E\u5F99\u5F98\u5FA0\u5FA8\u5FAD\u5FBC\u5FD6\u5FFB\u5FE4\u5FF8\u5FF1\u5FDD\u60B3\u5FFF\u6021\u6060"],
+ ["9c80", "\u6019\u6010\u6029\u600E\u6031\u601B\u6015\u602B\u6026\u600F\u603A\u605A\u6041\u606A\u6077\u605F\u604A\u6046\u604D\u6063\u6043\u6064\u6042\u606C\u606B\u6059\u6081\u608D\u60E7\u6083\u609A\u6084\u609B\u6096\u6097\u6092\u60A7\u608B\u60E1\u60B8\u60E0\u60D3\u60B4\u5FF0\u60BD\u60C6\u60B5\u60D8\u614D\u6115\u6106\u60F6\u60F7\u6100\u60F4\u60FA\u6103\u6121\u60FB\u60F1\u610D\u610E\u6147\u613E\u6128\u6127\u614A\u613F\u613C\u612C\u6134\u613D\u6142\u6144\u6173\u6177\u6158\u6159\u615A\u616B\u6174\u616F\u6165\u6171\u615F\u615D\u6153\u6175\u6199\u6196\u6187\u61AC\u6194\u619A\u618A\u6191\u61AB\u61AE\u61CC\u61CA\u61C9\u61F7\u61C8\u61C3\u61C6\u61BA\u61CB\u7F79\u61CD\u61E6\u61E3\u61F6\u61FA\u61F4\u61FF\u61FD\u61FC\u61FE\u6200\u6208\u6209\u620D\u620C\u6214\u621B"],
+ ["9d40", "\u621E\u6221\u622A\u622E\u6230\u6232\u6233\u6241\u624E\u625E\u6263\u625B\u6260\u6268\u627C\u6282\u6289\u627E\u6292\u6293\u6296\u62D4\u6283\u6294\u62D7\u62D1\u62BB\u62CF\u62FF\u62C6\u64D4\u62C8\u62DC\u62CC\u62CA\u62C2\u62C7\u629B\u62C9\u630C\u62EE\u62F1\u6327\u6302\u6308\u62EF\u62F5\u6350\u633E\u634D\u641C\u634F\u6396\u638E\u6380\u63AB\u6376\u63A3\u638F\u6389\u639F\u63B5\u636B"],
+ ["9d80", "\u6369\u63BE\u63E9\u63C0\u63C6\u63E3\u63C9\u63D2\u63F6\u63C4\u6416\u6434\u6406\u6413\u6426\u6436\u651D\u6417\u6428\u640F\u6467\u646F\u6476\u644E\u652A\u6495\u6493\u64A5\u64A9\u6488\u64BC\u64DA\u64D2\u64C5\u64C7\u64BB\u64D8\u64C2\u64F1\u64E7\u8209\u64E0\u64E1\u62AC\u64E3\u64EF\u652C\u64F6\u64F4\u64F2\u64FA\u6500\u64FD\u6518\u651C\u6505\u6524\u6523\u652B\u6534\u6535\u6537\u6536\u6538\u754B\u6548\u6556\u6555\u654D\u6558\u655E\u655D\u6572\u6578\u6582\u6583\u8B8A\u659B\u659F\u65AB\u65B7\u65C3\u65C6\u65C1\u65C4\u65CC\u65D2\u65DB\u65D9\u65E0\u65E1\u65F1\u6772\u660A\u6603\u65FB\u6773\u6635\u6636\u6634\u661C\u664F\u6644\u6649\u6641\u665E\u665D\u6664\u6667\u6668\u665F\u6662\u6670\u6683\u6688\u668E\u6689\u6684\u6698\u669D\u66C1\u66B9\u66C9\u66BE\u66BC"],
+ ["9e40", "\u66C4\u66B8\u66D6\u66DA\u66E0\u663F\u66E6\u66E9\u66F0\u66F5\u66F7\u670F\u6716\u671E\u6726\u6727\u9738\u672E\u673F\u6736\u6741\u6738\u6737\u6746\u675E\u6760\u6759\u6763\u6764\u6789\u6770\u67A9\u677C\u676A\u678C\u678B\u67A6\u67A1\u6785\u67B7\u67EF\u67B4\u67EC\u67B3\u67E9\u67B8\u67E4\u67DE\u67DD\u67E2\u67EE\u67B9\u67CE\u67C6\u67E7\u6A9C\u681E\u6846\u6829\u6840\u684D\u6832\u684E"],
+ ["9e80", "\u68B3\u682B\u6859\u6863\u6877\u687F\u689F\u688F\u68AD\u6894\u689D\u689B\u6883\u6AAE\u68B9\u6874\u68B5\u68A0\u68BA\u690F\u688D\u687E\u6901\u68CA\u6908\u68D8\u6922\u6926\u68E1\u690C\u68CD\u68D4\u68E7\u68D5\u6936\u6912\u6904\u68D7\u68E3\u6925\u68F9\u68E0\u68EF\u6928\u692A\u691A\u6923\u6921\u68C6\u6979\u6977\u695C\u6978\u696B\u6954\u697E\u696E\u6939\u6974\u693D\u6959\u6930\u6961\u695E\u695D\u6981\u696A\u69B2\u69AE\u69D0\u69BF\u69C1\u69D3\u69BE\u69CE\u5BE8\u69CA\u69DD\u69BB\u69C3\u69A7\u6A2E\u6991\u69A0\u699C\u6995\u69B4\u69DE\u69E8\u6A02\u6A1B\u69FF\u6B0A\u69F9\u69F2\u69E7\u6A05\u69B1\u6A1E\u69ED\u6A14\u69EB\u6A0A\u6A12\u6AC1\u6A23\u6A13\u6A44\u6A0C\u6A72\u6A36\u6A78\u6A47\u6A62\u6A59\u6A66\u6A48\u6A38\u6A22\u6A90\u6A8D\u6AA0\u6A84\u6AA2\u6AA3"],
+ ["9f40", "\u6A97\u8617\u6ABB\u6AC3\u6AC2\u6AB8\u6AB3\u6AAC\u6ADE\u6AD1\u6ADF\u6AAA\u6ADA\u6AEA\u6AFB\u6B05\u8616\u6AFA\u6B12\u6B16\u9B31\u6B1F\u6B38\u6B37\u76DC\u6B39\u98EE\u6B47\u6B43\u6B49\u6B50\u6B59\u6B54\u6B5B\u6B5F\u6B61\u6B78\u6B79\u6B7F\u6B80\u6B84\u6B83\u6B8D\u6B98\u6B95\u6B9E\u6BA4\u6BAA\u6BAB\u6BAF\u6BB2\u6BB1\u6BB3\u6BB7\u6BBC\u6BC6\u6BCB\u6BD3\u6BDF\u6BEC\u6BEB\u6BF3\u6BEF"],
+ ["9f80", "\u9EBE\u6C08\u6C13\u6C14\u6C1B\u6C24\u6C23\u6C5E\u6C55\u6C62\u6C6A\u6C82\u6C8D\u6C9A\u6C81\u6C9B\u6C7E\u6C68\u6C73\u6C92\u6C90\u6CC4\u6CF1\u6CD3\u6CBD\u6CD7\u6CC5\u6CDD\u6CAE\u6CB1\u6CBE\u6CBA\u6CDB\u6CEF\u6CD9\u6CEA\u6D1F\u884D\u6D36\u6D2B\u6D3D\u6D38\u6D19\u6D35\u6D33\u6D12\u6D0C\u6D63\u6D93\u6D64\u6D5A\u6D79\u6D59\u6D8E\u6D95\u6FE4\u6D85\u6DF9\u6E15\u6E0A\u6DB5\u6DC7\u6DE6\u6DB8\u6DC6\u6DEC\u6DDE\u6DCC\u6DE8\u6DD2\u6DC5\u6DFA\u6DD9\u6DE4\u6DD5\u6DEA\u6DEE\u6E2D\u6E6E\u6E2E\u6E19\u6E72\u6E5F\u6E3E\u6E23\u6E6B\u6E2B\u6E76\u6E4D\u6E1F\u6E43\u6E3A\u6E4E\u6E24\u6EFF\u6E1D\u6E38\u6E82\u6EAA\u6E98\u6EC9\u6EB7\u6ED3\u6EBD\u6EAF\u6EC4\u6EB2\u6ED4\u6ED5\u6E8F\u6EA5\u6EC2\u6E9F\u6F41\u6F11\u704C\u6EEC\u6EF8\u6EFE\u6F3F\u6EF2\u6F31\u6EEF\u6F32\u6ECC"],
+ ["e040", "\u6F3E\u6F13\u6EF7\u6F86\u6F7A\u6F78\u6F81\u6F80\u6F6F\u6F5B\u6FF3\u6F6D\u6F82\u6F7C\u6F58\u6F8E\u6F91\u6FC2\u6F66\u6FB3\u6FA3\u6FA1\u6FA4\u6FB9\u6FC6\u6FAA\u6FDF\u6FD5\u6FEC\u6FD4\u6FD8\u6FF1\u6FEE\u6FDB\u7009\u700B\u6FFA\u7011\u7001\u700F\u6FFE\u701B\u701A\u6F74\u701D\u7018\u701F\u7030\u703E\u7032\u7051\u7063\u7099\u7092\u70AF\u70F1\u70AC\u70B8\u70B3\u70AE\u70DF\u70CB\u70DD"],
+ ["e080", "\u70D9\u7109\u70FD\u711C\u7119\u7165\u7155\u7188\u7166\u7162\u714C\u7156\u716C\u718F\u71FB\u7184\u7195\u71A8\u71AC\u71D7\u71B9\u71BE\u71D2\u71C9\u71D4\u71CE\u71E0\u71EC\u71E7\u71F5\u71FC\u71F9\u71FF\u720D\u7210\u721B\u7228\u722D\u722C\u7230\u7232\u723B\u723C\u723F\u7240\u7246\u724B\u7258\u7274\u727E\u7282\u7281\u7287\u7292\u7296\u72A2\u72A7\u72B9\u72B2\u72C3\u72C6\u72C4\u72CE\u72D2\u72E2\u72E0\u72E1\u72F9\u72F7\u500F\u7317\u730A\u731C\u7316\u731D\u7334\u732F\u7329\u7325\u733E\u734E\u734F\u9ED8\u7357\u736A\u7368\u7370\u7378\u7375\u737B\u737A\u73C8\u73B3\u73CE\u73BB\u73C0\u73E5\u73EE\u73DE\u74A2\u7405\u746F\u7425\u73F8\u7432\u743A\u7455\u743F\u745F\u7459\u7441\u745C\u7469\u7470\u7463\u746A\u7476\u747E\u748B\u749E\u74A7\u74CA\u74CF\u74D4\u73F1"],
+ ["e140", "\u74E0\u74E3\u74E7\u74E9\u74EE\u74F2\u74F0\u74F1\u74F8\u74F7\u7504\u7503\u7505\u750C\u750E\u750D\u7515\u7513\u751E\u7526\u752C\u753C\u7544\u754D\u754A\u7549\u755B\u7546\u755A\u7569\u7564\u7567\u756B\u756D\u7578\u7576\u7586\u7587\u7574\u758A\u7589\u7582\u7594\u759A\u759D\u75A5\u75A3\u75C2\u75B3\u75C3\u75B5\u75BD\u75B8\u75BC\u75B1\u75CD\u75CA\u75D2\u75D9\u75E3\u75DE\u75FE\u75FF"],
+ ["e180", "\u75FC\u7601\u75F0\u75FA\u75F2\u75F3\u760B\u760D\u7609\u761F\u7627\u7620\u7621\u7622\u7624\u7634\u7630\u763B\u7647\u7648\u7646\u765C\u7658\u7661\u7662\u7668\u7669\u766A\u7667\u766C\u7670\u7672\u7676\u7678\u767C\u7680\u7683\u7688\u768B\u768E\u7696\u7693\u7699\u769A\u76B0\u76B4\u76B8\u76B9\u76BA\u76C2\u76CD\u76D6\u76D2\u76DE\u76E1\u76E5\u76E7\u76EA\u862F\u76FB\u7708\u7707\u7704\u7729\u7724\u771E\u7725\u7726\u771B\u7737\u7738\u7747\u775A\u7768\u776B\u775B\u7765\u777F\u777E\u7779\u778E\u778B\u7791\u77A0\u779E\u77B0\u77B6\u77B9\u77BF\u77BC\u77BD\u77BB\u77C7\u77CD\u77D7\u77DA\u77DC\u77E3\u77EE\u77FC\u780C\u7812\u7926\u7820\u792A\u7845\u788E\u7874\u7886\u787C\u789A\u788C\u78A3\u78B5\u78AA\u78AF\u78D1\u78C6\u78CB\u78D4\u78BE\u78BC\u78C5\u78CA\u78EC"],
+ ["e240", "\u78E7\u78DA\u78FD\u78F4\u7907\u7912\u7911\u7919\u792C\u792B\u7940\u7960\u7957\u795F\u795A\u7955\u7953\u797A\u797F\u798A\u799D\u79A7\u9F4B\u79AA\u79AE\u79B3\u79B9\u79BA\u79C9\u79D5\u79E7\u79EC\u79E1\u79E3\u7A08\u7A0D\u7A18\u7A19\u7A20\u7A1F\u7980\u7A31\u7A3B\u7A3E\u7A37\u7A43\u7A57\u7A49\u7A61\u7A62\u7A69\u9F9D\u7A70\u7A79\u7A7D\u7A88\u7A97\u7A95\u7A98\u7A96\u7AA9\u7AC8\u7AB0"],
+ ["e280", "\u7AB6\u7AC5\u7AC4\u7ABF\u9083\u7AC7\u7ACA\u7ACD\u7ACF\u7AD5\u7AD3\u7AD9\u7ADA\u7ADD\u7AE1\u7AE2\u7AE6\u7AED\u7AF0\u7B02\u7B0F\u7B0A\u7B06\u7B33\u7B18\u7B19\u7B1E\u7B35\u7B28\u7B36\u7B50\u7B7A\u7B04\u7B4D\u7B0B\u7B4C\u7B45\u7B75\u7B65\u7B74\u7B67\u7B70\u7B71\u7B6C\u7B6E\u7B9D\u7B98\u7B9F\u7B8D\u7B9C\u7B9A\u7B8B\u7B92\u7B8F\u7B5D\u7B99\u7BCB\u7BC1\u7BCC\u7BCF\u7BB4\u7BC6\u7BDD\u7BE9\u7C11\u7C14\u7BE6\u7BE5\u7C60\u7C00\u7C07\u7C13\u7BF3\u7BF7\u7C17\u7C0D\u7BF6\u7C23\u7C27\u7C2A\u7C1F\u7C37\u7C2B\u7C3D\u7C4C\u7C43\u7C54\u7C4F\u7C40\u7C50\u7C58\u7C5F\u7C64\u7C56\u7C65\u7C6C\u7C75\u7C83\u7C90\u7CA4\u7CAD\u7CA2\u7CAB\u7CA1\u7CA8\u7CB3\u7CB2\u7CB1\u7CAE\u7CB9\u7CBD\u7CC0\u7CC5\u7CC2\u7CD8\u7CD2\u7CDC\u7CE2\u9B3B\u7CEF\u7CF2\u7CF4\u7CF6\u7CFA\u7D06"],
+ ["e340", "\u7D02\u7D1C\u7D15\u7D0A\u7D45\u7D4B\u7D2E\u7D32\u7D3F\u7D35\u7D46\u7D73\u7D56\u7D4E\u7D72\u7D68\u7D6E\u7D4F\u7D63\u7D93\u7D89\u7D5B\u7D8F\u7D7D\u7D9B\u7DBA\u7DAE\u7DA3\u7DB5\u7DC7\u7DBD\u7DAB\u7E3D\u7DA2\u7DAF\u7DDC\u7DB8\u7D9F\u7DB0\u7DD8\u7DDD\u7DE4\u7DDE\u7DFB\u7DF2\u7DE1\u7E05\u7E0A\u7E23\u7E21\u7E12\u7E31\u7E1F\u7E09\u7E0B\u7E22\u7E46\u7E66\u7E3B\u7E35\u7E39\u7E43\u7E37"],
+ ["e380", "\u7E32\u7E3A\u7E67\u7E5D\u7E56\u7E5E\u7E59\u7E5A\u7E79\u7E6A\u7E69\u7E7C\u7E7B\u7E83\u7DD5\u7E7D\u8FAE\u7E7F\u7E88\u7E89\u7E8C\u7E92\u7E90\u7E93\u7E94\u7E96\u7E8E\u7E9B\u7E9C\u7F38\u7F3A\u7F45\u7F4C\u7F4D\u7F4E\u7F50\u7F51\u7F55\u7F54\u7F58\u7F5F\u7F60\u7F68\u7F69\u7F67\u7F78\u7F82\u7F86\u7F83\u7F88\u7F87\u7F8C\u7F94\u7F9E\u7F9D\u7F9A\u7FA3\u7FAF\u7FB2\u7FB9\u7FAE\u7FB6\u7FB8\u8B71\u7FC5\u7FC6\u7FCA\u7FD5\u7FD4\u7FE1\u7FE6\u7FE9\u7FF3\u7FF9\u98DC\u8006\u8004\u800B\u8012\u8018\u8019\u801C\u8021\u8028\u803F\u803B\u804A\u8046\u8052\u8058\u805A\u805F\u8062\u8068\u8073\u8072\u8070\u8076\u8079\u807D\u807F\u8084\u8086\u8085\u809B\u8093\u809A\u80AD\u5190\u80AC\u80DB\u80E5\u80D9\u80DD\u80C4\u80DA\u80D6\u8109\u80EF\u80F1\u811B\u8129\u8123\u812F\u814B"],
+ ["e440", "\u968B\u8146\u813E\u8153\u8151\u80FC\u8171\u816E\u8165\u8166\u8174\u8183\u8188\u818A\u8180\u8182\u81A0\u8195\u81A4\u81A3\u815F\u8193\u81A9\u81B0\u81B5\u81BE\u81B8\u81BD\u81C0\u81C2\u81BA\u81C9\u81CD\u81D1\u81D9\u81D8\u81C8\u81DA\u81DF\u81E0\u81E7\u81FA\u81FB\u81FE\u8201\u8202\u8205\u8207\u820A\u820D\u8210\u8216\u8229\u822B\u8238\u8233\u8240\u8259\u8258\u825D\u825A\u825F\u8264"],
+ ["e480", "\u8262\u8268\u826A\u826B\u822E\u8271\u8277\u8278\u827E\u828D\u8292\u82AB\u829F\u82BB\u82AC\u82E1\u82E3\u82DF\u82D2\u82F4\u82F3\u82FA\u8393\u8303\u82FB\u82F9\u82DE\u8306\u82DC\u8309\u82D9\u8335\u8334\u8316\u8332\u8331\u8340\u8339\u8350\u8345\u832F\u832B\u8317\u8318\u8385\u839A\u83AA\u839F\u83A2\u8396\u8323\u838E\u8387\u838A\u837C\u83B5\u8373\u8375\u83A0\u8389\u83A8\u83F4\u8413\u83EB\u83CE\u83FD\u8403\u83D8\u840B\u83C1\u83F7\u8407\u83E0\u83F2\u840D\u8422\u8420\u83BD\u8438\u8506\u83FB\u846D\u842A\u843C\u855A\u8484\u8477\u846B\u84AD\u846E\u8482\u8469\u8446\u842C\u846F\u8479\u8435\u84CA\u8462\u84B9\u84BF\u849F\u84D9\u84CD\u84BB\u84DA\u84D0\u84C1\u84C6\u84D6\u84A1\u8521\u84FF\u84F4\u8517\u8518\u852C\u851F\u8515\u8514\u84FC\u8540\u8563\u8558\u8548"],
+ ["e540", "\u8541\u8602\u854B\u8555\u8580\u85A4\u8588\u8591\u858A\u85A8\u856D\u8594\u859B\u85EA\u8587\u859C\u8577\u857E\u8590\u85C9\u85BA\u85CF\u85B9\u85D0\u85D5\u85DD\u85E5\u85DC\u85F9\u860A\u8613\u860B\u85FE\u85FA\u8606\u8622\u861A\u8630\u863F\u864D\u4E55\u8654\u865F\u8667\u8671\u8693\u86A3\u86A9\u86AA\u868B\u868C\u86B6\u86AF\u86C4\u86C6\u86B0\u86C9\u8823\u86AB\u86D4\u86DE\u86E9\u86EC"],
+ ["e580", "\u86DF\u86DB\u86EF\u8712\u8706\u8708\u8700\u8703\u86FB\u8711\u8709\u870D\u86F9\u870A\u8734\u873F\u8737\u873B\u8725\u8729\u871A\u8760\u875F\u8778\u874C\u874E\u8774\u8757\u8768\u876E\u8759\u8753\u8763\u876A\u8805\u87A2\u879F\u8782\u87AF\u87CB\u87BD\u87C0\u87D0\u96D6\u87AB\u87C4\u87B3\u87C7\u87C6\u87BB\u87EF\u87F2\u87E0\u880F\u880D\u87FE\u87F6\u87F7\u880E\u87D2\u8811\u8816\u8815\u8822\u8821\u8831\u8836\u8839\u8827\u883B\u8844\u8842\u8852\u8859\u885E\u8862\u886B\u8881\u887E\u889E\u8875\u887D\u88B5\u8872\u8882\u8897\u8892\u88AE\u8899\u88A2\u888D\u88A4\u88B0\u88BF\u88B1\u88C3\u88C4\u88D4\u88D8\u88D9\u88DD\u88F9\u8902\u88FC\u88F4\u88E8\u88F2\u8904\u890C\u890A\u8913\u8943\u891E\u8925\u892A\u892B\u8941\u8944\u893B\u8936\u8938\u894C\u891D\u8960\u895E"],
+ ["e640", "\u8966\u8964\u896D\u896A\u896F\u8974\u8977\u897E\u8983\u8988\u898A\u8993\u8998\u89A1\u89A9\u89A6\u89AC\u89AF\u89B2\u89BA\u89BD\u89BF\u89C0\u89DA\u89DC\u89DD\u89E7\u89F4\u89F8\u8A03\u8A16\u8A10\u8A0C\u8A1B\u8A1D\u8A25\u8A36\u8A41\u8A5B\u8A52\u8A46\u8A48\u8A7C\u8A6D\u8A6C\u8A62\u8A85\u8A82\u8A84\u8AA8\u8AA1\u8A91\u8AA5\u8AA6\u8A9A\u8AA3\u8AC4\u8ACD\u8AC2\u8ADA\u8AEB\u8AF3\u8AE7"],
+ ["e680", "\u8AE4\u8AF1\u8B14\u8AE0\u8AE2\u8AF7\u8ADE\u8ADB\u8B0C\u8B07\u8B1A\u8AE1\u8B16\u8B10\u8B17\u8B20\u8B33\u97AB\u8B26\u8B2B\u8B3E\u8B28\u8B41\u8B4C\u8B4F\u8B4E\u8B49\u8B56\u8B5B\u8B5A\u8B6B\u8B5F\u8B6C\u8B6F\u8B74\u8B7D\u8B80\u8B8C\u8B8E\u8B92\u8B93\u8B96\u8B99\u8B9A\u8C3A\u8C41\u8C3F\u8C48\u8C4C\u8C4E\u8C50\u8C55\u8C62\u8C6C\u8C78\u8C7A\u8C82\u8C89\u8C85\u8C8A\u8C8D\u8C8E\u8C94\u8C7C\u8C98\u621D\u8CAD\u8CAA\u8CBD\u8CB2\u8CB3\u8CAE\u8CB6\u8CC8\u8CC1\u8CE4\u8CE3\u8CDA\u8CFD\u8CFA\u8CFB\u8D04\u8D05\u8D0A\u8D07\u8D0F\u8D0D\u8D10\u9F4E\u8D13\u8CCD\u8D14\u8D16\u8D67\u8D6D\u8D71\u8D73\u8D81\u8D99\u8DC2\u8DBE\u8DBA\u8DCF\u8DDA\u8DD6\u8DCC\u8DDB\u8DCB\u8DEA\u8DEB\u8DDF\u8DE3\u8DFC\u8E08\u8E09\u8DFF\u8E1D\u8E1E\u8E10\u8E1F\u8E42\u8E35\u8E30\u8E34\u8E4A"],
+ ["e740", "\u8E47\u8E49\u8E4C\u8E50\u8E48\u8E59\u8E64\u8E60\u8E2A\u8E63\u8E55\u8E76\u8E72\u8E7C\u8E81\u8E87\u8E85\u8E84\u8E8B\u8E8A\u8E93\u8E91\u8E94\u8E99\u8EAA\u8EA1\u8EAC\u8EB0\u8EC6\u8EB1\u8EBE\u8EC5\u8EC8\u8ECB\u8EDB\u8EE3\u8EFC\u8EFB\u8EEB\u8EFE\u8F0A\u8F05\u8F15\u8F12\u8F19\u8F13\u8F1C\u8F1F\u8F1B\u8F0C\u8F26\u8F33\u8F3B\u8F39\u8F45\u8F42\u8F3E\u8F4C\u8F49\u8F46\u8F4E\u8F57\u8F5C"],
+ ["e780", "\u8F62\u8F63\u8F64\u8F9C\u8F9F\u8FA3\u8FAD\u8FAF\u8FB7\u8FDA\u8FE5\u8FE2\u8FEA\u8FEF\u9087\u8FF4\u9005\u8FF9\u8FFA\u9011\u9015\u9021\u900D\u901E\u9016\u900B\u9027\u9036\u9035\u9039\u8FF8\u904F\u9050\u9051\u9052\u900E\u9049\u903E\u9056\u9058\u905E\u9068\u906F\u9076\u96A8\u9072\u9082\u907D\u9081\u9080\u908A\u9089\u908F\u90A8\u90AF\u90B1\u90B5\u90E2\u90E4\u6248\u90DB\u9102\u9112\u9119\u9132\u9130\u914A\u9156\u9158\u9163\u9165\u9169\u9173\u9172\u918B\u9189\u9182\u91A2\u91AB\u91AF\u91AA\u91B5\u91B4\u91BA\u91C0\u91C1\u91C9\u91CB\u91D0\u91D6\u91DF\u91E1\u91DB\u91FC\u91F5\u91F6\u921E\u91FF\u9214\u922C\u9215\u9211\u925E\u9257\u9245\u9249\u9264\u9248\u9295\u923F\u924B\u9250\u929C\u9296\u9293\u929B\u925A\u92CF\u92B9\u92B7\u92E9\u930F\u92FA\u9344\u932E"],
+ ["e840", "\u9319\u9322\u931A\u9323\u933A\u9335\u933B\u935C\u9360\u937C\u936E\u9356\u93B0\u93AC\u93AD\u9394\u93B9\u93D6\u93D7\u93E8\u93E5\u93D8\u93C3\u93DD\u93D0\u93C8\u93E4\u941A\u9414\u9413\u9403\u9407\u9410\u9436\u942B\u9435\u9421\u943A\u9441\u9452\u9444\u945B\u9460\u9462\u945E\u946A\u9229\u9470\u9475\u9477\u947D\u945A\u947C\u947E\u9481\u947F\u9582\u9587\u958A\u9594\u9596\u9598\u9599"],
+ ["e880", "\u95A0\u95A8\u95A7\u95AD\u95BC\u95BB\u95B9\u95BE\u95CA\u6FF6\u95C3\u95CD\u95CC\u95D5\u95D4\u95D6\u95DC\u95E1\u95E5\u95E2\u9621\u9628\u962E\u962F\u9642\u964C\u964F\u964B\u9677\u965C\u965E\u965D\u965F\u9666\u9672\u966C\u968D\u9698\u9695\u9697\u96AA\u96A7\u96B1\u96B2\u96B0\u96B4\u96B6\u96B8\u96B9\u96CE\u96CB\u96C9\u96CD\u894D\u96DC\u970D\u96D5\u96F9\u9704\u9706\u9708\u9713\u970E\u9711\u970F\u9716\u9719\u9724\u972A\u9730\u9739\u973D\u973E\u9744\u9746\u9748\u9742\u9749\u975C\u9760\u9764\u9766\u9768\u52D2\u976B\u9771\u9779\u9785\u977C\u9781\u977A\u9786\u978B\u978F\u9790\u979C\u97A8\u97A6\u97A3\u97B3\u97B4\u97C3\u97C6\u97C8\u97CB\u97DC\u97ED\u9F4F\u97F2\u7ADF\u97F6\u97F5\u980F\u980C\u9838\u9824\u9821\u9837\u983D\u9846\u984F\u984B\u986B\u986F\u9870"],
+ ["e940", "\u9871\u9874\u9873\u98AA\u98AF\u98B1\u98B6\u98C4\u98C3\u98C6\u98E9\u98EB\u9903\u9909\u9912\u9914\u9918\u9921\u991D\u991E\u9924\u9920\u992C\u992E\u993D\u993E\u9942\u9949\u9945\u9950\u994B\u9951\u9952\u994C\u9955\u9997\u9998\u99A5\u99AD\u99AE\u99BC\u99DF\u99DB\u99DD\u99D8\u99D1\u99ED\u99EE\u99F1\u99F2\u99FB\u99F8\u9A01\u9A0F\u9A05\u99E2\u9A19\u9A2B\u9A37\u9A45\u9A42\u9A40\u9A43"],
+ ["e980", "\u9A3E\u9A55\u9A4D\u9A5B\u9A57\u9A5F\u9A62\u9A65\u9A64\u9A69\u9A6B\u9A6A\u9AAD\u9AB0\u9ABC\u9AC0\u9ACF\u9AD1\u9AD3\u9AD4\u9ADE\u9ADF\u9AE2\u9AE3\u9AE6\u9AEF\u9AEB\u9AEE\u9AF4\u9AF1\u9AF7\u9AFB\u9B06\u9B18\u9B1A\u9B1F\u9B22\u9B23\u9B25\u9B27\u9B28\u9B29\u9B2A\u9B2E\u9B2F\u9B32\u9B44\u9B43\u9B4F\u9B4D\u9B4E\u9B51\u9B58\u9B74\u9B93\u9B83\u9B91\u9B96\u9B97\u9B9F\u9BA0\u9BA8\u9BB4\u9BC0\u9BCA\u9BB9\u9BC6\u9BCF\u9BD1\u9BD2\u9BE3\u9BE2\u9BE4\u9BD4\u9BE1\u9C3A\u9BF2\u9BF1\u9BF0\u9C15\u9C14\u9C09\u9C13\u9C0C\u9C06\u9C08\u9C12\u9C0A\u9C04\u9C2E\u9C1B\u9C25\u9C24\u9C21\u9C30\u9C47\u9C32\u9C46\u9C3E\u9C5A\u9C60\u9C67\u9C76\u9C78\u9CE7\u9CEC\u9CF0\u9D09\u9D08\u9CEB\u9D03\u9D06\u9D2A\u9D26\u9DAF\u9D23\u9D1F\u9D44\u9D15\u9D12\u9D41\u9D3F\u9D3E\u9D46\u9D48"],
+ ["ea40", "\u9D5D\u9D5E\u9D64\u9D51\u9D50\u9D59\u9D72\u9D89\u9D87\u9DAB\u9D6F\u9D7A\u9D9A\u9DA4\u9DA9\u9DB2\u9DC4\u9DC1\u9DBB\u9DB8\u9DBA\u9DC6\u9DCF\u9DC2\u9DD9\u9DD3\u9DF8\u9DE6\u9DED\u9DEF\u9DFD\u9E1A\u9E1B\u9E1E\u9E75\u9E79\u9E7D\u9E81\u9E88\u9E8B\u9E8C\u9E92\u9E95\u9E91\u9E9D\u9EA5\u9EA9\u9EB8\u9EAA\u9EAD\u9761\u9ECC\u9ECE\u9ECF\u9ED0\u9ED4\u9EDC\u9EDE\u9EDD\u9EE0\u9EE5\u9EE8\u9EEF"],
+ ["ea80", "\u9EF4\u9EF6\u9EF7\u9EF9\u9EFB\u9EFC\u9EFD\u9F07\u9F08\u76B7\u9F15\u9F21\u9F2C\u9F3E\u9F4A\u9F52\u9F54\u9F63\u9F5F\u9F60\u9F61\u9F66\u9F67\u9F6C\u9F6A\u9F77\u9F72\u9F76\u9F95\u9F9C\u9FA0\u582F\u69C7\u9059\u7464\u51DC\u7199"],
+ ["ed40", "\u7E8A\u891C\u9348\u9288\u84DC\u4FC9\u70BB\u6631\u68C8\u92F9\u66FB\u5F45\u4E28\u4EE1\u4EFC\u4F00\u4F03\u4F39\u4F56\u4F92\u4F8A\u4F9A\u4F94\u4FCD\u5040\u5022\u4FFF\u501E\u5046\u5070\u5042\u5094\u50F4\u50D8\u514A\u5164\u519D\u51BE\u51EC\u5215\u529C\u52A6\u52C0\u52DB\u5300\u5307\u5324\u5372\u5393\u53B2\u53DD\uFA0E\u549C\u548A\u54A9\u54FF\u5586\u5759\u5765\u57AC\u57C8\u57C7\uFA0F"],
+ ["ed80", "\uFA10\u589E\u58B2\u590B\u5953\u595B\u595D\u5963\u59A4\u59BA\u5B56\u5BC0\u752F\u5BD8\u5BEC\u5C1E\u5CA6\u5CBA\u5CF5\u5D27\u5D53\uFA11\u5D42\u5D6D\u5DB8\u5DB9\u5DD0\u5F21\u5F34\u5F67\u5FB7\u5FDE\u605D\u6085\u608A\u60DE\u60D5\u6120\u60F2\u6111\u6137\u6130\u6198\u6213\u62A6\u63F5\u6460\u649D\u64CE\u654E\u6600\u6615\u663B\u6609\u662E\u661E\u6624\u6665\u6657\u6659\uFA12\u6673\u6699\u66A0\u66B2\u66BF\u66FA\u670E\uF929\u6766\u67BB\u6852\u67C0\u6801\u6844\u68CF\uFA13\u6968\uFA14\u6998\u69E2\u6A30\u6A6B\u6A46\u6A73\u6A7E\u6AE2\u6AE4\u6BD6\u6C3F\u6C5C\u6C86\u6C6F\u6CDA\u6D04\u6D87\u6D6F\u6D96\u6DAC\u6DCF\u6DF8\u6DF2\u6DFC\u6E39\u6E5C\u6E27\u6E3C\u6EBF\u6F88\u6FB5\u6FF5\u7005\u7007\u7028\u7085\u70AB\u710F\u7104\u715C\u7146\u7147\uFA15\u71C1\u71FE\u72B1"],
+ ["ee40", "\u72BE\u7324\uFA16\u7377\u73BD\u73C9\u73D6\u73E3\u73D2\u7407\u73F5\u7426\u742A\u7429\u742E\u7462\u7489\u749F\u7501\u756F\u7682\u769C\u769E\u769B\u76A6\uFA17\u7746\u52AF\u7821\u784E\u7864\u787A\u7930\uFA18\uFA19\uFA1A\u7994\uFA1B\u799B\u7AD1\u7AE7\uFA1C\u7AEB\u7B9E\uFA1D\u7D48\u7D5C\u7DB7\u7DA0\u7DD6\u7E52\u7F47\u7FA1\uFA1E\u8301\u8362\u837F\u83C7\u83F6\u8448\u84B4\u8553\u8559"],
+ ["ee80", "\u856B\uFA1F\u85B0\uFA20\uFA21\u8807\u88F5\u8A12\u8A37\u8A79\u8AA7\u8ABE\u8ADF\uFA22\u8AF6\u8B53\u8B7F\u8CF0\u8CF4\u8D12\u8D76\uFA23\u8ECF\uFA24\uFA25\u9067\u90DE\uFA26\u9115\u9127\u91DA\u91D7\u91DE\u91ED\u91EE\u91E4\u91E5\u9206\u9210\u920A\u923A\u9240\u923C\u924E\u9259\u9251\u9239\u9267\u92A7\u9277\u9278\u92E7\u92D7\u92D9\u92D0\uFA27\u92D5\u92E0\u92D3\u9325\u9321\u92FB\uFA28\u931E\u92FF\u931D\u9302\u9370\u9357\u93A4\u93C6\u93DE\u93F8\u9431\u9445\u9448\u9592\uF9DC\uFA29\u969D\u96AF\u9733\u973B\u9743\u974D\u974F\u9751\u9755\u9857\u9865\uFA2A\uFA2B\u9927\uFA2C\u999E\u9A4E\u9AD9\u9ADC\u9B75\u9B72\u9B8F\u9BB1\u9BBB\u9C00\u9D70\u9D6B\uFA2D\u9E19\u9ED1"],
+ ["eeef", "\u2170", 9, "\uFFE2\uFFE4\uFF07\uFF02"],
+ ["f040", "\uE000", 62],
+ ["f080", "\uE03F", 124],
+ ["f140", "\uE0BC", 62],
+ ["f180", "\uE0FB", 124],
+ ["f240", "\uE178", 62],
+ ["f280", "\uE1B7", 124],
+ ["f340", "\uE234", 62],
+ ["f380", "\uE273", 124],
+ ["f440", "\uE2F0", 62],
+ ["f480", "\uE32F", 124],
+ ["f540", "\uE3AC", 62],
+ ["f580", "\uE3EB", 124],
+ ["f640", "\uE468", 62],
+ ["f680", "\uE4A7", 124],
+ ["f740", "\uE524", 62],
+ ["f780", "\uE563", 124],
+ ["f840", "\uE5E0", 62],
+ ["f880", "\uE61F", 124],
+ ["f940", "\uE69C"],
+ ["fa40", "\u2170", 9, "\u2160", 9, "\uFFE2\uFFE4\uFF07\uFF02\u3231\u2116\u2121\u2235\u7E8A\u891C\u9348\u9288\u84DC\u4FC9\u70BB\u6631\u68C8\u92F9\u66FB\u5F45\u4E28\u4EE1\u4EFC\u4F00\u4F03\u4F39\u4F56\u4F92\u4F8A\u4F9A\u4F94\u4FCD\u5040\u5022\u4FFF\u501E\u5046\u5070\u5042\u5094\u50F4\u50D8\u514A"],
+ ["fa80", "\u5164\u519D\u51BE\u51EC\u5215\u529C\u52A6\u52C0\u52DB\u5300\u5307\u5324\u5372\u5393\u53B2\u53DD\uFA0E\u549C\u548A\u54A9\u54FF\u5586\u5759\u5765\u57AC\u57C8\u57C7\uFA0F\uFA10\u589E\u58B2\u590B\u5953\u595B\u595D\u5963\u59A4\u59BA\u5B56\u5BC0\u752F\u5BD8\u5BEC\u5C1E\u5CA6\u5CBA\u5CF5\u5D27\u5D53\uFA11\u5D42\u5D6D\u5DB8\u5DB9\u5DD0\u5F21\u5F34\u5F67\u5FB7\u5FDE\u605D\u6085\u608A\u60DE\u60D5\u6120\u60F2\u6111\u6137\u6130\u6198\u6213\u62A6\u63F5\u6460\u649D\u64CE\u654E\u6600\u6615\u663B\u6609\u662E\u661E\u6624\u6665\u6657\u6659\uFA12\u6673\u6699\u66A0\u66B2\u66BF\u66FA\u670E\uF929\u6766\u67BB\u6852\u67C0\u6801\u6844\u68CF\uFA13\u6968\uFA14\u6998\u69E2\u6A30\u6A6B\u6A46\u6A73\u6A7E\u6AE2\u6AE4\u6BD6\u6C3F\u6C5C\u6C86\u6C6F\u6CDA\u6D04\u6D87\u6D6F"],
+ ["fb40", "\u6D96\u6DAC\u6DCF\u6DF8\u6DF2\u6DFC\u6E39\u6E5C\u6E27\u6E3C\u6EBF\u6F88\u6FB5\u6FF5\u7005\u7007\u7028\u7085\u70AB\u710F\u7104\u715C\u7146\u7147\uFA15\u71C1\u71FE\u72B1\u72BE\u7324\uFA16\u7377\u73BD\u73C9\u73D6\u73E3\u73D2\u7407\u73F5\u7426\u742A\u7429\u742E\u7462\u7489\u749F\u7501\u756F\u7682\u769C\u769E\u769B\u76A6\uFA17\u7746\u52AF\u7821\u784E\u7864\u787A\u7930\uFA18\uFA19"],
+ ["fb80", "\uFA1A\u7994\uFA1B\u799B\u7AD1\u7AE7\uFA1C\u7AEB\u7B9E\uFA1D\u7D48\u7D5C\u7DB7\u7DA0\u7DD6\u7E52\u7F47\u7FA1\uFA1E\u8301\u8362\u837F\u83C7\u83F6\u8448\u84B4\u8553\u8559\u856B\uFA1F\u85B0\uFA20\uFA21\u8807\u88F5\u8A12\u8A37\u8A79\u8AA7\u8ABE\u8ADF\uFA22\u8AF6\u8B53\u8B7F\u8CF0\u8CF4\u8D12\u8D76\uFA23\u8ECF\uFA24\uFA25\u9067\u90DE\uFA26\u9115\u9127\u91DA\u91D7\u91DE\u91ED\u91EE\u91E4\u91E5\u9206\u9210\u920A\u923A\u9240\u923C\u924E\u9259\u9251\u9239\u9267\u92A7\u9277\u9278\u92E7\u92D7\u92D9\u92D0\uFA27\u92D5\u92E0\u92D3\u9325\u9321\u92FB\uFA28\u931E\u92FF\u931D\u9302\u9370\u9357\u93A4\u93C6\u93DE\u93F8\u9431\u9445\u9448\u9592\uF9DC\uFA29\u969D\u96AF\u9733\u973B\u9743\u974D\u974F\u9751\u9755\u9857\u9865\uFA2A\uFA2B\u9927\uFA2C\u999E\u9A4E\u9AD9"],
+ ["fc40", "\u9ADC\u9B75\u9B72\u9B8F\u9BB1\u9BBB\u9C00\u9D70\u9D6B\uFA2D\u9E19\u9ED1"]
+ ];
+ }
+});
+
+// ../../node_modules/.pnpm/iconv-lite@0.7.3/node_modules/iconv-lite/encodings/tables/eucjp.json
+var require_eucjp = __commonJS({
+ "../../node_modules/.pnpm/iconv-lite@0.7.3/node_modules/iconv-lite/encodings/tables/eucjp.json"(exports, module) {
+ module.exports = [
+ ["0", "\0", 127],
+ ["8ea1", "\uFF61", 62],
+ ["a1a1", "\u3000\u3001\u3002\uFF0C\uFF0E\u30FB\uFF1A\uFF1B\uFF1F\uFF01\u309B\u309C\xB4\uFF40\xA8\uFF3E\uFFE3\uFF3F\u30FD\u30FE\u309D\u309E\u3003\u4EDD\u3005\u3006\u3007\u30FC\u2015\u2010\uFF0F\uFF3C\uFF5E\u2225\uFF5C\u2026\u2025\u2018\u2019\u201C\u201D\uFF08\uFF09\u3014\u3015\uFF3B\uFF3D\uFF5B\uFF5D\u3008", 9, "\uFF0B\uFF0D\xB1\xD7\xF7\uFF1D\u2260\uFF1C\uFF1E\u2266\u2267\u221E\u2234\u2642\u2640\xB0\u2032\u2033\u2103\uFFE5\uFF04\uFFE0\uFFE1\uFF05\uFF03\uFF06\uFF0A\uFF20\xA7\u2606\u2605\u25CB\u25CF\u25CE\u25C7"],
+ ["a2a1", "\u25C6\u25A1\u25A0\u25B3\u25B2\u25BD\u25BC\u203B\u3012\u2192\u2190\u2191\u2193\u3013"],
+ ["a2ba", "\u2208\u220B\u2286\u2287\u2282\u2283\u222A\u2229"],
+ ["a2ca", "\u2227\u2228\uFFE2\u21D2\u21D4\u2200\u2203"],
+ ["a2dc", "\u2220\u22A5\u2312\u2202\u2207\u2261\u2252\u226A\u226B\u221A\u223D\u221D\u2235\u222B\u222C"],
+ ["a2f2", "\u212B\u2030\u266F\u266D\u266A\u2020\u2021\xB6"],
+ ["a2fe", "\u25EF"],
+ ["a3b0", "\uFF10", 9],
+ ["a3c1", "\uFF21", 25],
+ ["a3e1", "\uFF41", 25],
+ ["a4a1", "\u3041", 82],
+ ["a5a1", "\u30A1", 85],
+ ["a6a1", "\u0391", 16, "\u03A3", 6],
+ ["a6c1", "\u03B1", 16, "\u03C3", 6],
+ ["a7a1", "\u0410", 5, "\u0401\u0416", 25],
+ ["a7d1", "\u0430", 5, "\u0451\u0436", 25],
+ ["a8a1", "\u2500\u2502\u250C\u2510\u2518\u2514\u251C\u252C\u2524\u2534\u253C\u2501\u2503\u250F\u2513\u251B\u2517\u2523\u2533\u252B\u253B\u254B\u2520\u252F\u2528\u2537\u253F\u251D\u2530\u2525\u2538\u2542"],
+ ["ada1", "\u2460", 19, "\u2160", 9],
+ ["adc0", "\u3349\u3314\u3322\u334D\u3318\u3327\u3303\u3336\u3351\u3357\u330D\u3326\u3323\u332B\u334A\u333B\u339C\u339D\u339E\u338E\u338F\u33C4\u33A1"],
+ ["addf", "\u337B\u301D\u301F\u2116\u33CD\u2121\u32A4", 4, "\u3231\u3232\u3239\u337E\u337D\u337C\u2252\u2261\u222B\u222E\u2211\u221A\u22A5\u2220\u221F\u22BF\u2235\u2229\u222A"],
+ ["b0a1", "\u4E9C\u5516\u5A03\u963F\u54C0\u611B\u6328\u59F6\u9022\u8475\u831C\u7A50\u60AA\u63E1\u6E25\u65ED\u8466\u82A6\u9BF5\u6893\u5727\u65A1\u6271\u5B9B\u59D0\u867B\u98F4\u7D62\u7DBE\u9B8E\u6216\u7C9F\u88B7\u5B89\u5EB5\u6309\u6697\u6848\u95C7\u978D\u674F\u4EE5\u4F0A\u4F4D\u4F9D\u5049\u56F2\u5937\u59D4\u5A01\u5C09\u60DF\u610F\u6170\u6613\u6905\u70BA\u754F\u7570\u79FB\u7DAD\u7DEF\u80C3\u840E\u8863\u8B02\u9055\u907A\u533B\u4E95\u4EA5\u57DF\u80B2\u90C1\u78EF\u4E00\u58F1\u6EA2\u9038\u7A32\u8328\u828B\u9C2F\u5141\u5370\u54BD\u54E1\u56E0\u59FB\u5F15\u98F2\u6DEB\u80E4\u852D"],
+ ["b1a1", "\u9662\u9670\u96A0\u97FB\u540B\u53F3\u5B87\u70CF\u7FBD\u8FC2\u96E8\u536F\u9D5C\u7ABA\u4E11\u7893\u81FC\u6E26\u5618\u5504\u6B1D\u851A\u9C3B\u59E5\u53A9\u6D66\u74DC\u958F\u5642\u4E91\u904B\u96F2\u834F\u990C\u53E1\u55B6\u5B30\u5F71\u6620\u66F3\u6804\u6C38\u6CF3\u6D29\u745B\u76C8\u7A4E\u9834\u82F1\u885B\u8A60\u92ED\u6DB2\u75AB\u76CA\u99C5\u60A6\u8B01\u8D8A\u95B2\u698E\u53AD\u5186\u5712\u5830\u5944\u5BB4\u5EF6\u6028\u63A9\u63F4\u6CBF\u6F14\u708E\u7114\u7159\u71D5\u733F\u7E01\u8276\u82D1\u8597\u9060\u925B\u9D1B\u5869\u65BC\u6C5A\u7525\u51F9\u592E\u5965\u5F80\u5FDC"],
+ ["b2a1", "\u62BC\u65FA\u6A2A\u6B27\u6BB4\u738B\u7FC1\u8956\u9D2C\u9D0E\u9EC4\u5CA1\u6C96\u837B\u5104\u5C4B\u61B6\u81C6\u6876\u7261\u4E59\u4FFA\u5378\u6069\u6E29\u7A4F\u97F3\u4E0B\u5316\u4EEE\u4F55\u4F3D\u4FA1\u4F73\u52A0\u53EF\u5609\u590F\u5AC1\u5BB6\u5BE1\u79D1\u6687\u679C\u67B6\u6B4C\u6CB3\u706B\u73C2\u798D\u79BE\u7A3C\u7B87\u82B1\u82DB\u8304\u8377\u83EF\u83D3\u8766\u8AB2\u5629\u8CA8\u8FE6\u904E\u971E\u868A\u4FC4\u5CE8\u6211\u7259\u753B\u81E5\u82BD\u86FE\u8CC0\u96C5\u9913\u99D5\u4ECB\u4F1A\u89E3\u56DE\u584A\u58CA\u5EFB\u5FEB\u602A\u6094\u6062\u61D0\u6212\u62D0\u6539"],
+ ["b3a1", "\u9B41\u6666\u68B0\u6D77\u7070\u754C\u7686\u7D75\u82A5\u87F9\u958B\u968E\u8C9D\u51F1\u52BE\u5916\u54B3\u5BB3\u5D16\u6168\u6982\u6DAF\u788D\u84CB\u8857\u8A72\u93A7\u9AB8\u6D6C\u99A8\u86D9\u57A3\u67FF\u86CE\u920E\u5283\u5687\u5404\u5ED3\u62E1\u64B9\u683C\u6838\u6BBB\u7372\u78BA\u7A6B\u899A\u89D2\u8D6B\u8F03\u90ED\u95A3\u9694\u9769\u5B66\u5CB3\u697D\u984D\u984E\u639B\u7B20\u6A2B\u6A7F\u68B6\u9C0D\u6F5F\u5272\u559D\u6070\u62EC\u6D3B\u6E07\u6ED1\u845B\u8910\u8F44\u4E14\u9C39\u53F6\u691B\u6A3A\u9784\u682A\u515C\u7AC3\u84B2\u91DC\u938C\u565B\u9D28\u6822\u8305\u8431"],
+ ["b4a1", "\u7CA5\u5208\u82C5\u74E6\u4E7E\u4F83\u51A0\u5BD2\u520A\u52D8\u52E7\u5DFB\u559A\u582A\u59E6\u5B8C\u5B98\u5BDB\u5E72\u5E79\u60A3\u611F\u6163\u61BE\u63DB\u6562\u67D1\u6853\u68FA\u6B3E\u6B53\u6C57\u6F22\u6F97\u6F45\u74B0\u7518\u76E3\u770B\u7AFF\u7BA1\u7C21\u7DE9\u7F36\u7FF0\u809D\u8266\u839E\u89B3\u8ACC\u8CAB\u9084\u9451\u9593\u9591\u95A2\u9665\u97D3\u9928\u8218\u4E38\u542B\u5CB8\u5DCC\u73A9\u764C\u773C\u5CA9\u7FEB\u8D0B\u96C1\u9811\u9854\u9858\u4F01\u4F0E\u5371\u559C\u5668\u57FA\u5947\u5B09\u5BC4\u5C90\u5E0C\u5E7E\u5FCC\u63EE\u673A\u65D7\u65E2\u671F\u68CB\u68C4"],
+ ["b5a1", "\u6A5F\u5E30\u6BC5\u6C17\u6C7D\u757F\u7948\u5B63\u7A00\u7D00\u5FBD\u898F\u8A18\u8CB4\u8D77\u8ECC\u8F1D\u98E2\u9A0E\u9B3C\u4E80\u507D\u5100\u5993\u5B9C\u622F\u6280\u64EC\u6B3A\u72A0\u7591\u7947\u7FA9\u87FB\u8ABC\u8B70\u63AC\u83CA\u97A0\u5409\u5403\u55AB\u6854\u6A58\u8A70\u7827\u6775\u9ECD\u5374\u5BA2\u811A\u8650\u9006\u4E18\u4E45\u4EC7\u4F11\u53CA\u5438\u5BAE\u5F13\u6025\u6551\u673D\u6C42\u6C72\u6CE3\u7078\u7403\u7A76\u7AAE\u7B08\u7D1A\u7CFE\u7D66\u65E7\u725B\u53BB\u5C45\u5DE8\u62D2\u62E0\u6319\u6E20\u865A\u8A31\u8DDD\u92F8\u6F01\u79A6\u9B5A\u4EA8\u4EAB\u4EAC"],
+ ["b6a1", "\u4F9B\u4FA0\u50D1\u5147\u7AF6\u5171\u51F6\u5354\u5321\u537F\u53EB\u55AC\u5883\u5CE1\u5F37\u5F4A\u602F\u6050\u606D\u631F\u6559\u6A4B\u6CC1\u72C2\u72ED\u77EF\u80F8\u8105\u8208\u854E\u90F7\u93E1\u97FF\u9957\u9A5A\u4EF0\u51DD\u5C2D\u6681\u696D\u5C40\u66F2\u6975\u7389\u6850\u7C81\u50C5\u52E4\u5747\u5DFE\u9326\u65A4\u6B23\u6B3D\u7434\u7981\u79BD\u7B4B\u7DCA\u82B9\u83CC\u887F\u895F\u8B39\u8FD1\u91D1\u541F\u9280\u4E5D\u5036\u53E5\u533A\u72D7\u7396\u77E9\u82E6\u8EAF\u99C6\u99C8\u99D2\u5177\u611A\u865E\u55B0\u7A7A\u5076\u5BD3\u9047\u9685\u4E32\u6ADB\u91E7\u5C51\u5C48"],
+ ["b7a1", "\u6398\u7A9F\u6C93\u9774\u8F61\u7AAA\u718A\u9688\u7C82\u6817\u7E70\u6851\u936C\u52F2\u541B\u85AB\u8A13\u7FA4\u8ECD\u90E1\u5366\u8888\u7941\u4FC2\u50BE\u5211\u5144\u5553\u572D\u73EA\u578B\u5951\u5F62\u5F84\u6075\u6176\u6167\u61A9\u63B2\u643A\u656C\u666F\u6842\u6E13\u7566\u7A3D\u7CFB\u7D4C\u7D99\u7E4B\u7F6B\u830E\u834A\u86CD\u8A08\u8A63\u8B66\u8EFD\u981A\u9D8F\u82B8\u8FCE\u9BE8\u5287\u621F\u6483\u6FC0\u9699\u6841\u5091\u6B20\u6C7A\u6F54\u7A74\u7D50\u8840\u8A23\u6708\u4EF6\u5039\u5026\u5065\u517C\u5238\u5263\u55A7\u570F\u5805\u5ACC\u5EFA\u61B2\u61F8\u62F3\u6372"],
+ ["b8a1", "\u691C\u6A29\u727D\u72AC\u732E\u7814\u786F\u7D79\u770C\u80A9\u898B\u8B19\u8CE2\u8ED2\u9063\u9375\u967A\u9855\u9A13\u9E78\u5143\u539F\u53B3\u5E7B\u5F26\u6E1B\u6E90\u7384\u73FE\u7D43\u8237\u8A00\u8AFA\u9650\u4E4E\u500B\u53E4\u547C\u56FA\u59D1\u5B64\u5DF1\u5EAB\u5F27\u6238\u6545\u67AF\u6E56\u72D0\u7CCA\u88B4\u80A1\u80E1\u83F0\u864E\u8A87\u8DE8\u9237\u96C7\u9867\u9F13\u4E94\u4E92\u4F0D\u5348\u5449\u543E\u5A2F\u5F8C\u5FA1\u609F\u68A7\u6A8E\u745A\u7881\u8A9E\u8AA4\u8B77\u9190\u4E5E\u9BC9\u4EA4\u4F7C\u4FAF\u5019\u5016\u5149\u516C\u529F\u52B9\u52FE\u539A\u53E3\u5411"],
+ ["b9a1", "\u540E\u5589\u5751\u57A2\u597D\u5B54\u5B5D\u5B8F\u5DE5\u5DE7\u5DF7\u5E78\u5E83\u5E9A\u5EB7\u5F18\u6052\u614C\u6297\u62D8\u63A7\u653B\u6602\u6643\u66F4\u676D\u6821\u6897\u69CB\u6C5F\u6D2A\u6D69\u6E2F\u6E9D\u7532\u7687\u786C\u7A3F\u7CE0\u7D05\u7D18\u7D5E\u7DB1\u8015\u8003\u80AF\u80B1\u8154\u818F\u822A\u8352\u884C\u8861\u8B1B\u8CA2\u8CFC\u90CA\u9175\u9271\u783F\u92FC\u95A4\u964D\u9805\u9999\u9AD8\u9D3B\u525B\u52AB\u53F7\u5408\u58D5\u62F7\u6FE0\u8C6A\u8F5F\u9EB9\u514B\u523B\u544A\u56FD\u7A40\u9177\u9D60\u9ED2\u7344\u6F09\u8170\u7511\u5FFD\u60DA\u9AA8\u72DB\u8FBC"],
+ ["baa1", "\u6B64\u9803\u4ECA\u56F0\u5764\u58BE\u5A5A\u6068\u61C7\u660F\u6606\u6839\u68B1\u6DF7\u75D5\u7D3A\u826E\u9B42\u4E9B\u4F50\u53C9\u5506\u5D6F\u5DE6\u5DEE\u67FB\u6C99\u7473\u7802\u8A50\u9396\u88DF\u5750\u5EA7\u632B\u50B5\u50AC\u518D\u6700\u54C9\u585E\u59BB\u5BB0\u5F69\u624D\u63A1\u683D\u6B73\u6E08\u707D\u91C7\u7280\u7815\u7826\u796D\u658E\u7D30\u83DC\u88C1\u8F09\u969B\u5264\u5728\u6750\u7F6A\u8CA1\u51B4\u5742\u962A\u583A\u698A\u80B4\u54B2\u5D0E\u57FC\u7895\u9DFA\u4F5C\u524A\u548B\u643E\u6628\u6714\u67F5\u7A84\u7B56\u7D22\u932F\u685C\u9BAD\u7B39\u5319\u518A\u5237"],
+ ["bba1", "\u5BDF\u62F6\u64AE\u64E6\u672D\u6BBA\u85A9\u96D1\u7690\u9BD6\u634C\u9306\u9BAB\u76BF\u6652\u4E09\u5098\u53C2\u5C71\u60E8\u6492\u6563\u685F\u71E6\u73CA\u7523\u7B97\u7E82\u8695\u8B83\u8CDB\u9178\u9910\u65AC\u66AB\u6B8B\u4ED5\u4ED4\u4F3A\u4F7F\u523A\u53F8\u53F2\u55E3\u56DB\u58EB\u59CB\u59C9\u59FF\u5B50\u5C4D\u5E02\u5E2B\u5FD7\u601D\u6307\u652F\u5B5C\u65AF\u65BD\u65E8\u679D\u6B62\u6B7B\u6C0F\u7345\u7949\u79C1\u7CF8\u7D19\u7D2B\u80A2\u8102\u81F3\u8996\u8A5E\u8A69\u8A66\u8A8C\u8AEE\u8CC7\u8CDC\u96CC\u98FC\u6B6F\u4E8B\u4F3C\u4F8D\u5150\u5B57\u5BFA\u6148\u6301\u6642"],
+ ["bca1", "\u6B21\u6ECB\u6CBB\u723E\u74BD\u75D4\u78C1\u793A\u800C\u8033\u81EA\u8494\u8F9E\u6C50\u9E7F\u5F0F\u8B58\u9D2B\u7AFA\u8EF8\u5B8D\u96EB\u4E03\u53F1\u57F7\u5931\u5AC9\u5BA4\u6089\u6E7F\u6F06\u75BE\u8CEA\u5B9F\u8500\u7BE0\u5072\u67F4\u829D\u5C61\u854A\u7E1E\u820E\u5199\u5C04\u6368\u8D66\u659C\u716E\u793E\u7D17\u8005\u8B1D\u8ECA\u906E\u86C7\u90AA\u501F\u52FA\u5C3A\u6753\u707C\u7235\u914C\u91C8\u932B\u82E5\u5BC2\u5F31\u60F9\u4E3B\u53D6\u5B88\u624B\u6731\u6B8A\u72E9\u73E0\u7A2E\u816B\u8DA3\u9152\u9996\u5112\u53D7\u546A\u5BFF\u6388\u6A39\u7DAC\u9700\u56DA\u53CE\u5468"],
+ ["bda1", "\u5B97\u5C31\u5DDE\u4FEE\u6101\u62FE\u6D32\u79C0\u79CB\u7D42\u7E4D\u7FD2\u81ED\u821F\u8490\u8846\u8972\u8B90\u8E74\u8F2F\u9031\u914B\u916C\u96C6\u919C\u4EC0\u4F4F\u5145\u5341\u5F93\u620E\u67D4\u6C41\u6E0B\u7363\u7E26\u91CD\u9283\u53D4\u5919\u5BBF\u6DD1\u795D\u7E2E\u7C9B\u587E\u719F\u51FA\u8853\u8FF0\u4FCA\u5CFB\u6625\u77AC\u7AE3\u821C\u99FF\u51C6\u5FAA\u65EC\u696F\u6B89\u6DF3\u6E96\u6F64\u76FE\u7D14\u5DE1\u9075\u9187\u9806\u51E6\u521D\u6240\u6691\u66D9\u6E1A\u5EB6\u7DD2\u7F72\u66F8\u85AF\u85F7\u8AF8\u52A9\u53D9\u5973\u5E8F\u5F90\u6055\u92E4\u9664\u50B7\u511F"],
+ ["bea1", "\u52DD\u5320\u5347\u53EC\u54E8\u5546\u5531\u5617\u5968\u59BE\u5A3C\u5BB5\u5C06\u5C0F\u5C11\u5C1A\u5E84\u5E8A\u5EE0\u5F70\u627F\u6284\u62DB\u638C\u6377\u6607\u660C\u662D\u6676\u677E\u68A2\u6A1F\u6A35\u6CBC\u6D88\u6E09\u6E58\u713C\u7126\u7167\u75C7\u7701\u785D\u7901\u7965\u79F0\u7AE0\u7B11\u7CA7\u7D39\u8096\u83D6\u848B\u8549\u885D\u88F3\u8A1F\u8A3C\u8A54\u8A73\u8C61\u8CDE\u91A4\u9266\u937E\u9418\u969C\u9798\u4E0A\u4E08\u4E1E\u4E57\u5197\u5270\u57CE\u5834\u58CC\u5B22\u5E38\u60C5\u64FE\u6761\u6756\u6D44\u72B6\u7573\u7A63\u84B8\u8B72\u91B8\u9320\u5631\u57F4\u98FE"],
+ ["bfa1", "\u62ED\u690D\u6B96\u71ED\u7E54\u8077\u8272\u89E6\u98DF\u8755\u8FB1\u5C3B\u4F38\u4FE1\u4FB5\u5507\u5A20\u5BDD\u5BE9\u5FC3\u614E\u632F\u65B0\u664B\u68EE\u699B\u6D78\u6DF1\u7533\u75B9\u771F\u795E\u79E6\u7D33\u81E3\u82AF\u85AA\u89AA\u8A3A\u8EAB\u8F9B\u9032\u91DD\u9707\u4EBA\u4EC1\u5203\u5875\u58EC\u5C0B\u751A\u5C3D\u814E\u8A0A\u8FC5\u9663\u976D\u7B25\u8ACF\u9808\u9162\u56F3\u53A8\u9017\u5439\u5782\u5E25\u63A8\u6C34\u708A\u7761\u7C8B\u7FE0\u8870\u9042\u9154\u9310\u9318\u968F\u745E\u9AC4\u5D07\u5D69\u6570\u67A2\u8DA8\u96DB\u636E\u6749\u6919\u83C5\u9817\u96C0\u88FE"],
+ ["c0a1", "\u6F84\u647A\u5BF8\u4E16\u702C\u755D\u662F\u51C4\u5236\u52E2\u59D3\u5F81\u6027\u6210\u653F\u6574\u661F\u6674\u68F2\u6816\u6B63\u6E05\u7272\u751F\u76DB\u7CBE\u8056\u58F0\u88FD\u897F\u8AA0\u8A93\u8ACB\u901D\u9192\u9752\u9759\u6589\u7A0E\u8106\u96BB\u5E2D\u60DC\u621A\u65A5\u6614\u6790\u77F3\u7A4D\u7C4D\u7E3E\u810A\u8CAC\u8D64\u8DE1\u8E5F\u78A9\u5207\u62D9\u63A5\u6442\u6298\u8A2D\u7A83\u7BC0\u8AAC\u96EA\u7D76\u820C\u8749\u4ED9\u5148\u5343\u5360\u5BA3\u5C02\u5C16\u5DDD\u6226\u6247\u64B0\u6813\u6834\u6CC9\u6D45\u6D17\u67D3\u6F5C\u714E\u717D\u65CB\u7A7F\u7BAD\u7DDA"],
+ ["c1a1", "\u7E4A\u7FA8\u817A\u821B\u8239\u85A6\u8A6E\u8CCE\u8DF5\u9078\u9077\u92AD\u9291\u9583\u9BAE\u524D\u5584\u6F38\u7136\u5168\u7985\u7E55\u81B3\u7CCE\u564C\u5851\u5CA8\u63AA\u66FE\u66FD\u695A\u72D9\u758F\u758E\u790E\u7956\u79DF\u7C97\u7D20\u7D44\u8607\u8A34\u963B\u9061\u9F20\u50E7\u5275\u53CC\u53E2\u5009\u55AA\u58EE\u594F\u723D\u5B8B\u5C64\u531D\u60E3\u60F3\u635C\u6383\u633F\u63BB\u64CD\u65E9\u66F9\u5DE3\u69CD\u69FD\u6F15\u71E5\u4E89\u75E9\u76F8\u7A93\u7CDF\u7DCF\u7D9C\u8061\u8349\u8358\u846C\u84BC\u85FB\u88C5\u8D70\u9001\u906D\u9397\u971C\u9A12\u50CF\u5897\u618E"],
+ ["c2a1", "\u81D3\u8535\u8D08\u9020\u4FC3\u5074\u5247\u5373\u606F\u6349\u675F\u6E2C\u8DB3\u901F\u4FD7\u5C5E\u8CCA\u65CF\u7D9A\u5352\u8896\u5176\u63C3\u5B58\u5B6B\u5C0A\u640D\u6751\u905C\u4ED6\u591A\u592A\u6C70\u8A51\u553E\u5815\u59A5\u60F0\u6253\u67C1\u8235\u6955\u9640\u99C4\u9A28\u4F53\u5806\u5BFE\u8010\u5CB1\u5E2F\u5F85\u6020\u614B\u6234\u66FF\u6CF0\u6EDE\u80CE\u817F\u82D4\u888B\u8CB8\u9000\u902E\u968A\u9EDB\u9BDB\u4EE3\u53F0\u5927\u7B2C\u918D\u984C\u9DF9\u6EDD\u7027\u5353\u5544\u5B85\u6258\u629E\u62D3\u6CA2\u6FEF\u7422\u8A17\u9438\u6FC1\u8AFE\u8338\u51E7\u86F8\u53EA"],
+ ["c3a1", "\u53E9\u4F46\u9054\u8FB0\u596A\u8131\u5DFD\u7AEA\u8FBF\u68DA\u8C37\u72F8\u9C48\u6A3D\u8AB0\u4E39\u5358\u5606\u5766\u62C5\u63A2\u65E6\u6B4E\u6DE1\u6E5B\u70AD\u77ED\u7AEF\u7BAA\u7DBB\u803D\u80C6\u86CB\u8A95\u935B\u56E3\u58C7\u5F3E\u65AD\u6696\u6A80\u6BB5\u7537\u8AC7\u5024\u77E5\u5730\u5F1B\u6065\u667A\u6C60\u75F4\u7A1A\u7F6E\u81F4\u8718\u9045\u99B3\u7BC9\u755C\u7AF9\u7B51\u84C4\u9010\u79E9\u7A92\u8336\u5AE1\u7740\u4E2D\u4EF2\u5B99\u5FE0\u62BD\u663C\u67F1\u6CE8\u866B\u8877\u8A3B\u914E\u92F3\u99D0\u6A17\u7026\u732A\u82E7\u8457\u8CAF\u4E01\u5146\u51CB\u558B\u5BF5"],
+ ["c4a1", "\u5E16\u5E33\u5E81\u5F14\u5F35\u5F6B\u5FB4\u61F2\u6311\u66A2\u671D\u6F6E\u7252\u753A\u773A\u8074\u8139\u8178\u8776\u8ABF\u8ADC\u8D85\u8DF3\u929A\u9577\u9802\u9CE5\u52C5\u6357\u76F4\u6715\u6C88\u73CD\u8CC3\u93AE\u9673\u6D25\u589C\u690E\u69CC\u8FFD\u939A\u75DB\u901A\u585A\u6802\u63B4\u69FB\u4F43\u6F2C\u67D8\u8FBB\u8526\u7DB4\u9354\u693F\u6F70\u576A\u58F7\u5B2C\u7D2C\u722A\u540A\u91E3\u9DB4\u4EAD\u4F4E\u505C\u5075\u5243\u8C9E\u5448\u5824\u5B9A\u5E1D\u5E95\u5EAD\u5EF7\u5F1F\u608C\u62B5\u633A\u63D0\u68AF\u6C40\u7887\u798E\u7A0B\u7DE0\u8247\u8A02\u8AE6\u8E44\u9013"],
+ ["c5a1", "\u90B8\u912D\u91D8\u9F0E\u6CE5\u6458\u64E2\u6575\u6EF4\u7684\u7B1B\u9069\u93D1\u6EBA\u54F2\u5FB9\u64A4\u8F4D\u8FED\u9244\u5178\u586B\u5929\u5C55\u5E97\u6DFB\u7E8F\u751C\u8CBC\u8EE2\u985B\u70B9\u4F1D\u6BBF\u6FB1\u7530\u96FB\u514E\u5410\u5835\u5857\u59AC\u5C60\u5F92\u6597\u675C\u6E21\u767B\u83DF\u8CED\u9014\u90FD\u934D\u7825\u783A\u52AA\u5EA6\u571F\u5974\u6012\u5012\u515A\u51AC\u51CD\u5200\u5510\u5854\u5858\u5957\u5B95\u5CF6\u5D8B\u60BC\u6295\u642D\u6771\u6843\u68BC\u68DF\u76D7\u6DD8\u6E6F\u6D9B\u706F\u71C8\u5F53\u75D8\u7977\u7B49\u7B54\u7B52\u7CD6\u7D71\u5230"],
+ ["c6a1", "\u8463\u8569\u85E4\u8A0E\u8B04\u8C46\u8E0F\u9003\u900F\u9419\u9676\u982D\u9A30\u95D8\u50CD\u52D5\u540C\u5802\u5C0E\u61A7\u649E\u6D1E\u77B3\u7AE5\u80F4\u8404\u9053\u9285\u5CE0\u9D07\u533F\u5F97\u5FB3\u6D9C\u7279\u7763\u79BF\u7BE4\u6BD2\u72EC\u8AAD\u6803\u6A61\u51F8\u7A81\u6934\u5C4A\u9CF6\u82EB\u5BC5\u9149\u701E\u5678\u5C6F\u60C7\u6566\u6C8C\u8C5A\u9041\u9813\u5451\u66C7\u920D\u5948\u90A3\u5185\u4E4D\u51EA\u8599\u8B0E\u7058\u637A\u934B\u6962\u99B4\u7E04\u7577\u5357\u6960\u8EDF\u96E3\u6C5D\u4E8C\u5C3C\u5F10\u8FE9\u5302\u8CD1\u8089\u8679\u5EFF\u65E5\u4E73\u5165"],
+ ["c7a1", "\u5982\u5C3F\u97EE\u4EFB\u598A\u5FCD\u8A8D\u6FE1\u79B0\u7962\u5BE7\u8471\u732B\u71B1\u5E74\u5FF5\u637B\u649A\u71C3\u7C98\u4E43\u5EFC\u4E4B\u57DC\u56A2\u60A9\u6FC3\u7D0D\u80FD\u8133\u81BF\u8FB2\u8997\u86A4\u5DF4\u628A\u64AD\u8987\u6777\u6CE2\u6D3E\u7436\u7834\u5A46\u7F75\u82AD\u99AC\u4FF3\u5EC3\u62DD\u6392\u6557\u676F\u76C3\u724C\u80CC\u80BA\u8F29\u914D\u500D\u57F9\u5A92\u6885\u6973\u7164\u72FD\u8CB7\u58F2\u8CE0\u966A\u9019\u877F\u79E4\u77E7\u8429\u4F2F\u5265\u535A\u62CD\u67CF\u6CCA\u767D\u7B94\u7C95\u8236\u8584\u8FEB\u66DD\u6F20\u7206\u7E1B\u83AB\u99C1\u9EA6"],
+ ["c8a1", "\u51FD\u7BB1\u7872\u7BB8\u8087\u7B48\u6AE8\u5E61\u808C\u7551\u7560\u516B\u9262\u6E8C\u767A\u9197\u9AEA\u4F10\u7F70\u629C\u7B4F\u95A5\u9CE9\u567A\u5859\u86E4\u96BC\u4F34\u5224\u534A\u53CD\u53DB\u5E06\u642C\u6591\u677F\u6C3E\u6C4E\u7248\u72AF\u73ED\u7554\u7E41\u822C\u85E9\u8CA9\u7BC4\u91C6\u7169\u9812\u98EF\u633D\u6669\u756A\u76E4\u78D0\u8543\u86EE\u532A\u5351\u5426\u5983\u5E87\u5F7C\u60B2\u6249\u6279\u62AB\u6590\u6BD4\u6CCC\u75B2\u76AE\u7891\u79D8\u7DCB\u7F77\u80A5\u88AB\u8AB9\u8CBB\u907F\u975E\u98DB\u6A0B\u7C38\u5099\u5C3E\u5FAE\u6787\u6BD8\u7435\u7709\u7F8E"],
+ ["c9a1", "\u9F3B\u67CA\u7A17\u5339\u758B\u9AED\u5F66\u819D\u83F1\u8098\u5F3C\u5FC5\u7562\u7B46\u903C\u6867\u59EB\u5A9B\u7D10\u767E\u8B2C\u4FF5\u5F6A\u6A19\u6C37\u6F02\u74E2\u7968\u8868\u8A55\u8C79\u5EDF\u63CF\u75C5\u79D2\u82D7\u9328\u92F2\u849C\u86ED\u9C2D\u54C1\u5F6C\u658C\u6D5C\u7015\u8CA7\u8CD3\u983B\u654F\u74F6\u4E0D\u4ED8\u57E0\u592B\u5A66\u5BCC\u51A8\u5E03\u5E9C\u6016\u6276\u6577\u65A7\u666E\u6D6E\u7236\u7B26\u8150\u819A\u8299\u8B5C\u8CA0\u8CE6\u8D74\u961C\u9644\u4FAE\u64AB\u6B66\u821E\u8461\u856A\u90E8\u5C01\u6953\u98A8\u847A\u8557\u4F0F\u526F\u5FA9\u5E45\u670D"],
+ ["caa1", "\u798F\u8179\u8907\u8986\u6DF5\u5F17\u6255\u6CB8\u4ECF\u7269\u9B92\u5206\u543B\u5674\u58B3\u61A4\u626E\u711A\u596E\u7C89\u7CDE\u7D1B\u96F0\u6587\u805E\u4E19\u4F75\u5175\u5840\u5E63\u5E73\u5F0A\u67C4\u4E26\u853D\u9589\u965B\u7C73\u9801\u50FB\u58C1\u7656\u78A7\u5225\u77A5\u8511\u7B86\u504F\u5909\u7247\u7BC7\u7DE8\u8FBA\u8FD4\u904D\u4FBF\u52C9\u5A29\u5F01\u97AD\u4FDD\u8217\u92EA\u5703\u6355\u6B69\u752B\u88DC\u8F14\u7A42\u52DF\u5893\u6155\u620A\u66AE\u6BCD\u7C3F\u83E9\u5023\u4FF8\u5305\u5446\u5831\u5949\u5B9D\u5CF0\u5CEF\u5D29\u5E96\u62B1\u6367\u653E\u65B9\u670B"],
+ ["cba1", "\u6CD5\u6CE1\u70F9\u7832\u7E2B\u80DE\u82B3\u840C\u84EC\u8702\u8912\u8A2A\u8C4A\u90A6\u92D2\u98FD\u9CF3\u9D6C\u4E4F\u4EA1\u508D\u5256\u574A\u59A8\u5E3D\u5FD8\u5FD9\u623F\u66B4\u671B\u67D0\u68D2\u5192\u7D21\u80AA\u81A8\u8B00\u8C8C\u8CBF\u927E\u9632\u5420\u982C\u5317\u50D5\u535C\u58A8\u64B2\u6734\u7267\u7766\u7A46\u91E6\u52C3\u6CA1\u6B86\u5800\u5E4C\u5954\u672C\u7FFB\u51E1\u76C6\u6469\u78E8\u9B54\u9EBB\u57CB\u59B9\u6627\u679A\u6BCE\u54E9\u69D9\u5E55\u819C\u6795\u9BAA\u67FE\u9C52\u685D\u4EA6\u4FE3\u53C8\u62B9\u672B\u6CAB\u8FC4\u4FAD\u7E6D\u9EBF\u4E07\u6162\u6E80"],
+ ["cca1", "\u6F2B\u8513\u5473\u672A\u9B45\u5DF3\u7B95\u5CAC\u5BC6\u871C\u6E4A\u84D1\u7A14\u8108\u5999\u7C8D\u6C11\u7720\u52D9\u5922\u7121\u725F\u77DB\u9727\u9D61\u690B\u5A7F\u5A18\u51A5\u540D\u547D\u660E\u76DF\u8FF7\u9298\u9CF4\u59EA\u725D\u6EC5\u514D\u68C9\u7DBF\u7DEC\u9762\u9EBA\u6478\u6A21\u8302\u5984\u5B5F\u6BDB\u731B\u76F2\u7DB2\u8017\u8499\u5132\u6728\u9ED9\u76EE\u6762\u52FF\u9905\u5C24\u623B\u7C7E\u8CB0\u554F\u60B6\u7D0B\u9580\u5301\u4E5F\u51B6\u591C\u723A\u8036\u91CE\u5F25\u77E2\u5384\u5F79\u7D04\u85AC\u8A33\u8E8D\u9756\u67F3\u85AE\u9453\u6109\u6108\u6CB9\u7652"],
+ ["cda1", "\u8AED\u8F38\u552F\u4F51\u512A\u52C7\u53CB\u5BA5\u5E7D\u60A0\u6182\u63D6\u6709\u67DA\u6E67\u6D8C\u7336\u7337\u7531\u7950\u88D5\u8A98\u904A\u9091\u90F5\u96C4\u878D\u5915\u4E88\u4F59\u4E0E\u8A89\u8F3F\u9810\u50AD\u5E7C\u5996\u5BB9\u5EB8\u63DA\u63FA\u64C1\u66DC\u694A\u69D8\u6D0B\u6EB6\u7194\u7528\u7AAF\u7F8A\u8000\u8449\u84C9\u8981\u8B21\u8E0A\u9065\u967D\u990A\u617E\u6291\u6B32\u6C83\u6D74\u7FCC\u7FFC\u6DC0\u7F85\u87BA\u88F8\u6765\u83B1\u983C\u96F7\u6D1B\u7D61\u843D\u916A\u4E71\u5375\u5D50\u6B04\u6FEB\u85CD\u862D\u89A7\u5229\u540F\u5C65\u674E\u68A8\u7406\u7483"],
+ ["cea1", "\u75E2\u88CF\u88E1\u91CC\u96E2\u9678\u5F8B\u7387\u7ACB\u844E\u63A0\u7565\u5289\u6D41\u6E9C\u7409\u7559\u786B\u7C92\u9686\u7ADC\u9F8D\u4FB6\u616E\u65C5\u865C\u4E86\u4EAE\u50DA\u4E21\u51CC\u5BEE\u6599\u6881\u6DBC\u731F\u7642\u77AD\u7A1C\u7CE7\u826F\u8AD2\u907C\u91CF\u9675\u9818\u529B\u7DD1\u502B\u5398\u6797\u6DCB\u71D0\u7433\u81E8\u8F2A\u96A3\u9C57\u9E9F\u7460\u5841\u6D99\u7D2F\u985E\u4EE4\u4F36\u4F8B\u51B7\u52B1\u5DBA\u601C\u73B2\u793C\u82D3\u9234\u96B7\u96F6\u970A\u9E97\u9F62\u66A6\u6B74\u5217\u52A3\u70C8\u88C2\u5EC9\u604B\u6190\u6F23\u7149\u7C3E\u7DF4\u806F"],
+ ["cfa1", "\u84EE\u9023\u932C\u5442\u9B6F\u6AD3\u7089\u8CC2\u8DEF\u9732\u52B4\u5A41\u5ECA\u5F04\u6717\u697C\u6994\u6D6A\u6F0F\u7262\u72FC\u7BED\u8001\u807E\u874B\u90CE\u516D\u9E93\u7984\u808B\u9332\u8AD6\u502D\u548C\u8A71\u6B6A\u8CC4\u8107\u60D1\u67A0\u9DF2\u4E99\u4E98\u9C10\u8A6B\u85C1\u8568\u6900\u6E7E\u7897\u8155"],
+ ["d0a1", "\u5F0C\u4E10\u4E15\u4E2A\u4E31\u4E36\u4E3C\u4E3F\u4E42\u4E56\u4E58\u4E82\u4E85\u8C6B\u4E8A\u8212\u5F0D\u4E8E\u4E9E\u4E9F\u4EA0\u4EA2\u4EB0\u4EB3\u4EB6\u4ECE\u4ECD\u4EC4\u4EC6\u4EC2\u4ED7\u4EDE\u4EED\u4EDF\u4EF7\u4F09\u4F5A\u4F30\u4F5B\u4F5D\u4F57\u4F47\u4F76\u4F88\u4F8F\u4F98\u4F7B\u4F69\u4F70\u4F91\u4F6F\u4F86\u4F96\u5118\u4FD4\u4FDF\u4FCE\u4FD8\u4FDB\u4FD1\u4FDA\u4FD0\u4FE4\u4FE5\u501A\u5028\u5014\u502A\u5025\u5005\u4F1C\u4FF6\u5021\u5029\u502C\u4FFE\u4FEF\u5011\u5006\u5043\u5047\u6703\u5055\u5050\u5048\u505A\u5056\u506C\u5078\u5080\u509A\u5085\u50B4\u50B2"],
+ ["d1a1", "\u50C9\u50CA\u50B3\u50C2\u50D6\u50DE\u50E5\u50ED\u50E3\u50EE\u50F9\u50F5\u5109\u5101\u5102\u5116\u5115\u5114\u511A\u5121\u513A\u5137\u513C\u513B\u513F\u5140\u5152\u514C\u5154\u5162\u7AF8\u5169\u516A\u516E\u5180\u5182\u56D8\u518C\u5189\u518F\u5191\u5193\u5195\u5196\u51A4\u51A6\u51A2\u51A9\u51AA\u51AB\u51B3\u51B1\u51B2\u51B0\u51B5\u51BD\u51C5\u51C9\u51DB\u51E0\u8655\u51E9\u51ED\u51F0\u51F5\u51FE\u5204\u520B\u5214\u520E\u5227\u522A\u522E\u5233\u5239\u524F\u5244\u524B\u524C\u525E\u5254\u526A\u5274\u5269\u5273\u527F\u527D\u528D\u5294\u5292\u5271\u5288\u5291\u8FA8"],
+ ["d2a1", "\u8FA7\u52AC\u52AD\u52BC\u52B5\u52C1\u52CD\u52D7\u52DE\u52E3\u52E6\u98ED\u52E0\u52F3\u52F5\u52F8\u52F9\u5306\u5308\u7538\u530D\u5310\u530F\u5315\u531A\u5323\u532F\u5331\u5333\u5338\u5340\u5346\u5345\u4E17\u5349\u534D\u51D6\u535E\u5369\u536E\u5918\u537B\u5377\u5382\u5396\u53A0\u53A6\u53A5\u53AE\u53B0\u53B6\u53C3\u7C12\u96D9\u53DF\u66FC\u71EE\u53EE\u53E8\u53ED\u53FA\u5401\u543D\u5440\u542C\u542D\u543C\u542E\u5436\u5429\u541D\u544E\u548F\u5475\u548E\u545F\u5471\u5477\u5470\u5492\u547B\u5480\u5476\u5484\u5490\u5486\u54C7\u54A2\u54B8\u54A5\u54AC\u54C4\u54C8\u54A8"],
+ ["d3a1", "\u54AB\u54C2\u54A4\u54BE\u54BC\u54D8\u54E5\u54E6\u550F\u5514\u54FD\u54EE\u54ED\u54FA\u54E2\u5539\u5540\u5563\u554C\u552E\u555C\u5545\u5556\u5557\u5538\u5533\u555D\u5599\u5580\u54AF\u558A\u559F\u557B\u557E\u5598\u559E\u55AE\u557C\u5583\u55A9\u5587\u55A8\u55DA\u55C5\u55DF\u55C4\u55DC\u55E4\u55D4\u5614\u55F7\u5616\u55FE\u55FD\u561B\u55F9\u564E\u5650\u71DF\u5634\u5636\u5632\u5638\u566B\u5664\u562F\u566C\u566A\u5686\u5680\u568A\u56A0\u5694\u568F\u56A5\u56AE\u56B6\u56B4\u56C2\u56BC\u56C1\u56C3\u56C0\u56C8\u56CE\u56D1\u56D3\u56D7\u56EE\u56F9\u5700\u56FF\u5704\u5709"],
+ ["d4a1", "\u5708\u570B\u570D\u5713\u5718\u5716\u55C7\u571C\u5726\u5737\u5738\u574E\u573B\u5740\u574F\u5769\u57C0\u5788\u5761\u577F\u5789\u5793\u57A0\u57B3\u57A4\u57AA\u57B0\u57C3\u57C6\u57D4\u57D2\u57D3\u580A\u57D6\u57E3\u580B\u5819\u581D\u5872\u5821\u5862\u584B\u5870\u6BC0\u5852\u583D\u5879\u5885\u58B9\u589F\u58AB\u58BA\u58DE\u58BB\u58B8\u58AE\u58C5\u58D3\u58D1\u58D7\u58D9\u58D8\u58E5\u58DC\u58E4\u58DF\u58EF\u58FA\u58F9\u58FB\u58FC\u58FD\u5902\u590A\u5910\u591B\u68A6\u5925\u592C\u592D\u5932\u5938\u593E\u7AD2\u5955\u5950\u594E\u595A\u5958\u5962\u5960\u5967\u596C\u5969"],
+ ["d5a1", "\u5978\u5981\u599D\u4F5E\u4FAB\u59A3\u59B2\u59C6\u59E8\u59DC\u598D\u59D9\u59DA\u5A25\u5A1F\u5A11\u5A1C\u5A09\u5A1A\u5A40\u5A6C\u5A49\u5A35\u5A36\u5A62\u5A6A\u5A9A\u5ABC\u5ABE\u5ACB\u5AC2\u5ABD\u5AE3\u5AD7\u5AE6\u5AE9\u5AD6\u5AFA\u5AFB\u5B0C\u5B0B\u5B16\u5B32\u5AD0\u5B2A\u5B36\u5B3E\u5B43\u5B45\u5B40\u5B51\u5B55\u5B5A\u5B5B\u5B65\u5B69\u5B70\u5B73\u5B75\u5B78\u6588\u5B7A\u5B80\u5B83\u5BA6\u5BB8\u5BC3\u5BC7\u5BC9\u5BD4\u5BD0\u5BE4\u5BE6\u5BE2\u5BDE\u5BE5\u5BEB\u5BF0\u5BF6\u5BF3\u5C05\u5C07\u5C08\u5C0D\u5C13\u5C20\u5C22\u5C28\u5C38\u5C39\u5C41\u5C46\u5C4E\u5C53"],
+ ["d6a1", "\u5C50\u5C4F\u5B71\u5C6C\u5C6E\u4E62\u5C76\u5C79\u5C8C\u5C91\u5C94\u599B\u5CAB\u5CBB\u5CB6\u5CBC\u5CB7\u5CC5\u5CBE\u5CC7\u5CD9\u5CE9\u5CFD\u5CFA\u5CED\u5D8C\u5CEA\u5D0B\u5D15\u5D17\u5D5C\u5D1F\u5D1B\u5D11\u5D14\u5D22\u5D1A\u5D19\u5D18\u5D4C\u5D52\u5D4E\u5D4B\u5D6C\u5D73\u5D76\u5D87\u5D84\u5D82\u5DA2\u5D9D\u5DAC\u5DAE\u5DBD\u5D90\u5DB7\u5DBC\u5DC9\u5DCD\u5DD3\u5DD2\u5DD6\u5DDB\u5DEB\u5DF2\u5DF5\u5E0B\u5E1A\u5E19\u5E11\u5E1B\u5E36\u5E37\u5E44\u5E43\u5E40\u5E4E\u5E57\u5E54\u5E5F\u5E62\u5E64\u5E47\u5E75\u5E76\u5E7A\u9EBC\u5E7F\u5EA0\u5EC1\u5EC2\u5EC8\u5ED0\u5ECF"],
+ ["d7a1", "\u5ED6\u5EE3\u5EDD\u5EDA\u5EDB\u5EE2\u5EE1\u5EE8\u5EE9\u5EEC\u5EF1\u5EF3\u5EF0\u5EF4\u5EF8\u5EFE\u5F03\u5F09\u5F5D\u5F5C\u5F0B\u5F11\u5F16\u5F29\u5F2D\u5F38\u5F41\u5F48\u5F4C\u5F4E\u5F2F\u5F51\u5F56\u5F57\u5F59\u5F61\u5F6D\u5F73\u5F77\u5F83\u5F82\u5F7F\u5F8A\u5F88\u5F91\u5F87\u5F9E\u5F99\u5F98\u5FA0\u5FA8\u5FAD\u5FBC\u5FD6\u5FFB\u5FE4\u5FF8\u5FF1\u5FDD\u60B3\u5FFF\u6021\u6060\u6019\u6010\u6029\u600E\u6031\u601B\u6015\u602B\u6026\u600F\u603A\u605A\u6041\u606A\u6077\u605F\u604A\u6046\u604D\u6063\u6043\u6064\u6042\u606C\u606B\u6059\u6081\u608D\u60E7\u6083\u609A"],
+ ["d8a1", "\u6084\u609B\u6096\u6097\u6092\u60A7\u608B\u60E1\u60B8\u60E0\u60D3\u60B4\u5FF0\u60BD\u60C6\u60B5\u60D8\u614D\u6115\u6106\u60F6\u60F7\u6100\u60F4\u60FA\u6103\u6121\u60FB\u60F1\u610D\u610E\u6147\u613E\u6128\u6127\u614A\u613F\u613C\u612C\u6134\u613D\u6142\u6144\u6173\u6177\u6158\u6159\u615A\u616B\u6174\u616F\u6165\u6171\u615F\u615D\u6153\u6175\u6199\u6196\u6187\u61AC\u6194\u619A\u618A\u6191\u61AB\u61AE\u61CC\u61CA\u61C9\u61F7\u61C8\u61C3\u61C6\u61BA\u61CB\u7F79\u61CD\u61E6\u61E3\u61F6\u61FA\u61F4\u61FF\u61FD\u61FC\u61FE\u6200\u6208\u6209\u620D\u620C\u6214\u621B"],
+ ["d9a1", "\u621E\u6221\u622A\u622E\u6230\u6232\u6233\u6241\u624E\u625E\u6263\u625B\u6260\u6268\u627C\u6282\u6289\u627E\u6292\u6293\u6296\u62D4\u6283\u6294\u62D7\u62D1\u62BB\u62CF\u62FF\u62C6\u64D4\u62C8\u62DC\u62CC\u62CA\u62C2\u62C7\u629B\u62C9\u630C\u62EE\u62F1\u6327\u6302\u6308\u62EF\u62F5\u6350\u633E\u634D\u641C\u634F\u6396\u638E\u6380\u63AB\u6376\u63A3\u638F\u6389\u639F\u63B5\u636B\u6369\u63BE\u63E9\u63C0\u63C6\u63E3\u63C9\u63D2\u63F6\u63C4\u6416\u6434\u6406\u6413\u6426\u6436\u651D\u6417\u6428\u640F\u6467\u646F\u6476\u644E\u652A\u6495\u6493\u64A5\u64A9\u6488\u64BC"],
+ ["daa1", "\u64DA\u64D2\u64C5\u64C7\u64BB\u64D8\u64C2\u64F1\u64E7\u8209\u64E0\u64E1\u62AC\u64E3\u64EF\u652C\u64F6\u64F4\u64F2\u64FA\u6500\u64FD\u6518\u651C\u6505\u6524\u6523\u652B\u6534\u6535\u6537\u6536\u6538\u754B\u6548\u6556\u6555\u654D\u6558\u655E\u655D\u6572\u6578\u6582\u6583\u8B8A\u659B\u659F\u65AB\u65B7\u65C3\u65C6\u65C1\u65C4\u65CC\u65D2\u65DB\u65D9\u65E0\u65E1\u65F1\u6772\u660A\u6603\u65FB\u6773\u6635\u6636\u6634\u661C\u664F\u6644\u6649\u6641\u665E\u665D\u6664\u6667\u6668\u665F\u6662\u6670\u6683\u6688\u668E\u6689\u6684\u6698\u669D\u66C1\u66B9\u66C9\u66BE\u66BC"],
+ ["dba1", "\u66C4\u66B8\u66D6\u66DA\u66E0\u663F\u66E6\u66E9\u66F0\u66F5\u66F7\u670F\u6716\u671E\u6726\u6727\u9738\u672E\u673F\u6736\u6741\u6738\u6737\u6746\u675E\u6760\u6759\u6763\u6764\u6789\u6770\u67A9\u677C\u676A\u678C\u678B\u67A6\u67A1\u6785\u67B7\u67EF\u67B4\u67EC\u67B3\u67E9\u67B8\u67E4\u67DE\u67DD\u67E2\u67EE\u67B9\u67CE\u67C6\u67E7\u6A9C\u681E\u6846\u6829\u6840\u684D\u6832\u684E\u68B3\u682B\u6859\u6863\u6877\u687F\u689F\u688F\u68AD\u6894\u689D\u689B\u6883\u6AAE\u68B9\u6874\u68B5\u68A0\u68BA\u690F\u688D\u687E\u6901\u68CA\u6908\u68D8\u6922\u6926\u68E1\u690C\u68CD"],
+ ["dca1", "\u68D4\u68E7\u68D5\u6936\u6912\u6904\u68D7\u68E3\u6925\u68F9\u68E0\u68EF\u6928\u692A\u691A\u6923\u6921\u68C6\u6979\u6977\u695C\u6978\u696B\u6954\u697E\u696E\u6939\u6974\u693D\u6959\u6930\u6961\u695E\u695D\u6981\u696A\u69B2\u69AE\u69D0\u69BF\u69C1\u69D3\u69BE\u69CE\u5BE8\u69CA\u69DD\u69BB\u69C3\u69A7\u6A2E\u6991\u69A0\u699C\u6995\u69B4\u69DE\u69E8\u6A02\u6A1B\u69FF\u6B0A\u69F9\u69F2\u69E7\u6A05\u69B1\u6A1E\u69ED\u6A14\u69EB\u6A0A\u6A12\u6AC1\u6A23\u6A13\u6A44\u6A0C\u6A72\u6A36\u6A78\u6A47\u6A62\u6A59\u6A66\u6A48\u6A38\u6A22\u6A90\u6A8D\u6AA0\u6A84\u6AA2\u6AA3"],
+ ["dda1", "\u6A97\u8617\u6ABB\u6AC3\u6AC2\u6AB8\u6AB3\u6AAC\u6ADE\u6AD1\u6ADF\u6AAA\u6ADA\u6AEA\u6AFB\u6B05\u8616\u6AFA\u6B12\u6B16\u9B31\u6B1F\u6B38\u6B37\u76DC\u6B39\u98EE\u6B47\u6B43\u6B49\u6B50\u6B59\u6B54\u6B5B\u6B5F\u6B61\u6B78\u6B79\u6B7F\u6B80\u6B84\u6B83\u6B8D\u6B98\u6B95\u6B9E\u6BA4\u6BAA\u6BAB\u6BAF\u6BB2\u6BB1\u6BB3\u6BB7\u6BBC\u6BC6\u6BCB\u6BD3\u6BDF\u6BEC\u6BEB\u6BF3\u6BEF\u9EBE\u6C08\u6C13\u6C14\u6C1B\u6C24\u6C23\u6C5E\u6C55\u6C62\u6C6A\u6C82\u6C8D\u6C9A\u6C81\u6C9B\u6C7E\u6C68\u6C73\u6C92\u6C90\u6CC4\u6CF1\u6CD3\u6CBD\u6CD7\u6CC5\u6CDD\u6CAE\u6CB1\u6CBE"],
+ ["dea1", "\u6CBA\u6CDB\u6CEF\u6CD9\u6CEA\u6D1F\u884D\u6D36\u6D2B\u6D3D\u6D38\u6D19\u6D35\u6D33\u6D12\u6D0C\u6D63\u6D93\u6D64\u6D5A\u6D79\u6D59\u6D8E\u6D95\u6FE4\u6D85\u6DF9\u6E15\u6E0A\u6DB5\u6DC7\u6DE6\u6DB8\u6DC6\u6DEC\u6DDE\u6DCC\u6DE8\u6DD2\u6DC5\u6DFA\u6DD9\u6DE4\u6DD5\u6DEA\u6DEE\u6E2D\u6E6E\u6E2E\u6E19\u6E72\u6E5F\u6E3E\u6E23\u6E6B\u6E2B\u6E76\u6E4D\u6E1F\u6E43\u6E3A\u6E4E\u6E24\u6EFF\u6E1D\u6E38\u6E82\u6EAA\u6E98\u6EC9\u6EB7\u6ED3\u6EBD\u6EAF\u6EC4\u6EB2\u6ED4\u6ED5\u6E8F\u6EA5\u6EC2\u6E9F\u6F41\u6F11\u704C\u6EEC\u6EF8\u6EFE\u6F3F\u6EF2\u6F31\u6EEF\u6F32\u6ECC"],
+ ["dfa1", "\u6F3E\u6F13\u6EF7\u6F86\u6F7A\u6F78\u6F81\u6F80\u6F6F\u6F5B\u6FF3\u6F6D\u6F82\u6F7C\u6F58\u6F8E\u6F91\u6FC2\u6F66\u6FB3\u6FA3\u6FA1\u6FA4\u6FB9\u6FC6\u6FAA\u6FDF\u6FD5\u6FEC\u6FD4\u6FD8\u6FF1\u6FEE\u6FDB\u7009\u700B\u6FFA\u7011\u7001\u700F\u6FFE\u701B\u701A\u6F74\u701D\u7018\u701F\u7030\u703E\u7032\u7051\u7063\u7099\u7092\u70AF\u70F1\u70AC\u70B8\u70B3\u70AE\u70DF\u70CB\u70DD\u70D9\u7109\u70FD\u711C\u7119\u7165\u7155\u7188\u7166\u7162\u714C\u7156\u716C\u718F\u71FB\u7184\u7195\u71A8\u71AC\u71D7\u71B9\u71BE\u71D2\u71C9\u71D4\u71CE\u71E0\u71EC\u71E7\u71F5\u71FC"],
+ ["e0a1", "\u71F9\u71FF\u720D\u7210\u721B\u7228\u722D\u722C\u7230\u7232\u723B\u723C\u723F\u7240\u7246\u724B\u7258\u7274\u727E\u7282\u7281\u7287\u7292\u7296\u72A2\u72A7\u72B9\u72B2\u72C3\u72C6\u72C4\u72CE\u72D2\u72E2\u72E0\u72E1\u72F9\u72F7\u500F\u7317\u730A\u731C\u7316\u731D\u7334\u732F\u7329\u7325\u733E\u734E\u734F\u9ED8\u7357\u736A\u7368\u7370\u7378\u7375\u737B\u737A\u73C8\u73B3\u73CE\u73BB\u73C0\u73E5\u73EE\u73DE\u74A2\u7405\u746F\u7425\u73F8\u7432\u743A\u7455\u743F\u745F\u7459\u7441\u745C\u7469\u7470\u7463\u746A\u7476\u747E\u748B\u749E\u74A7\u74CA\u74CF\u74D4\u73F1"],
+ ["e1a1", "\u74E0\u74E3\u74E7\u74E9\u74EE\u74F2\u74F0\u74F1\u74F8\u74F7\u7504\u7503\u7505\u750C\u750E\u750D\u7515\u7513\u751E\u7526\u752C\u753C\u7544\u754D\u754A\u7549\u755B\u7546\u755A\u7569\u7564\u7567\u756B\u756D\u7578\u7576\u7586\u7587\u7574\u758A\u7589\u7582\u7594\u759A\u759D\u75A5\u75A3\u75C2\u75B3\u75C3\u75B5\u75BD\u75B8\u75BC\u75B1\u75CD\u75CA\u75D2\u75D9\u75E3\u75DE\u75FE\u75FF\u75FC\u7601\u75F0\u75FA\u75F2\u75F3\u760B\u760D\u7609\u761F\u7627\u7620\u7621\u7622\u7624\u7634\u7630\u763B\u7647\u7648\u7646\u765C\u7658\u7661\u7662\u7668\u7669\u766A\u7667\u766C\u7670"],
+ ["e2a1", "\u7672\u7676\u7678\u767C\u7680\u7683\u7688\u768B\u768E\u7696\u7693\u7699\u769A\u76B0\u76B4\u76B8\u76B9\u76BA\u76C2\u76CD\u76D6\u76D2\u76DE\u76E1\u76E5\u76E7\u76EA\u862F\u76FB\u7708\u7707\u7704\u7729\u7724\u771E\u7725\u7726\u771B\u7737\u7738\u7747\u775A\u7768\u776B\u775B\u7765\u777F\u777E\u7779\u778E\u778B\u7791\u77A0\u779E\u77B0\u77B6\u77B9\u77BF\u77BC\u77BD\u77BB\u77C7\u77CD\u77D7\u77DA\u77DC\u77E3\u77EE\u77FC\u780C\u7812\u7926\u7820\u792A\u7845\u788E\u7874\u7886\u787C\u789A\u788C\u78A3\u78B5\u78AA\u78AF\u78D1\u78C6\u78CB\u78D4\u78BE\u78BC\u78C5\u78CA\u78EC"],
+ ["e3a1", "\u78E7\u78DA\u78FD\u78F4\u7907\u7912\u7911\u7919\u792C\u792B\u7940\u7960\u7957\u795F\u795A\u7955\u7953\u797A\u797F\u798A\u799D\u79A7\u9F4B\u79AA\u79AE\u79B3\u79B9\u79BA\u79C9\u79D5\u79E7\u79EC\u79E1\u79E3\u7A08\u7A0D\u7A18\u7A19\u7A20\u7A1F\u7980\u7A31\u7A3B\u7A3E\u7A37\u7A43\u7A57\u7A49\u7A61\u7A62\u7A69\u9F9D\u7A70\u7A79\u7A7D\u7A88\u7A97\u7A95\u7A98\u7A96\u7AA9\u7AC8\u7AB0\u7AB6\u7AC5\u7AC4\u7ABF\u9083\u7AC7\u7ACA\u7ACD\u7ACF\u7AD5\u7AD3\u7AD9\u7ADA\u7ADD\u7AE1\u7AE2\u7AE6\u7AED\u7AF0\u7B02\u7B0F\u7B0A\u7B06\u7B33\u7B18\u7B19\u7B1E\u7B35\u7B28\u7B36\u7B50"],
+ ["e4a1", "\u7B7A\u7B04\u7B4D\u7B0B\u7B4C\u7B45\u7B75\u7B65\u7B74\u7B67\u7B70\u7B71\u7B6C\u7B6E\u7B9D\u7B98\u7B9F\u7B8D\u7B9C\u7B9A\u7B8B\u7B92\u7B8F\u7B5D\u7B99\u7BCB\u7BC1\u7BCC\u7BCF\u7BB4\u7BC6\u7BDD\u7BE9\u7C11\u7C14\u7BE6\u7BE5\u7C60\u7C00\u7C07\u7C13\u7BF3\u7BF7\u7C17\u7C0D\u7BF6\u7C23\u7C27\u7C2A\u7C1F\u7C37\u7C2B\u7C3D\u7C4C\u7C43\u7C54\u7C4F\u7C40\u7C50\u7C58\u7C5F\u7C64\u7C56\u7C65\u7C6C\u7C75\u7C83\u7C90\u7CA4\u7CAD\u7CA2\u7CAB\u7CA1\u7CA8\u7CB3\u7CB2\u7CB1\u7CAE\u7CB9\u7CBD\u7CC0\u7CC5\u7CC2\u7CD8\u7CD2\u7CDC\u7CE2\u9B3B\u7CEF\u7CF2\u7CF4\u7CF6\u7CFA\u7D06"],
+ ["e5a1", "\u7D02\u7D1C\u7D15\u7D0A\u7D45\u7D4B\u7D2E\u7D32\u7D3F\u7D35\u7D46\u7D73\u7D56\u7D4E\u7D72\u7D68\u7D6E\u7D4F\u7D63\u7D93\u7D89\u7D5B\u7D8F\u7D7D\u7D9B\u7DBA\u7DAE\u7DA3\u7DB5\u7DC7\u7DBD\u7DAB\u7E3D\u7DA2\u7DAF\u7DDC\u7DB8\u7D9F\u7DB0\u7DD8\u7DDD\u7DE4\u7DDE\u7DFB\u7DF2\u7DE1\u7E05\u7E0A\u7E23\u7E21\u7E12\u7E31\u7E1F\u7E09\u7E0B\u7E22\u7E46\u7E66\u7E3B\u7E35\u7E39\u7E43\u7E37\u7E32\u7E3A\u7E67\u7E5D\u7E56\u7E5E\u7E59\u7E5A\u7E79\u7E6A\u7E69\u7E7C\u7E7B\u7E83\u7DD5\u7E7D\u8FAE\u7E7F\u7E88\u7E89\u7E8C\u7E92\u7E90\u7E93\u7E94\u7E96\u7E8E\u7E9B\u7E9C\u7F38\u7F3A"],
+ ["e6a1", "\u7F45\u7F4C\u7F4D\u7F4E\u7F50\u7F51\u7F55\u7F54\u7F58\u7F5F\u7F60\u7F68\u7F69\u7F67\u7F78\u7F82\u7F86\u7F83\u7F88\u7F87\u7F8C\u7F94\u7F9E\u7F9D\u7F9A\u7FA3\u7FAF\u7FB2\u7FB9\u7FAE\u7FB6\u7FB8\u8B71\u7FC5\u7FC6\u7FCA\u7FD5\u7FD4\u7FE1\u7FE6\u7FE9\u7FF3\u7FF9\u98DC\u8006\u8004\u800B\u8012\u8018\u8019\u801C\u8021\u8028\u803F\u803B\u804A\u8046\u8052\u8058\u805A\u805F\u8062\u8068\u8073\u8072\u8070\u8076\u8079\u807D\u807F\u8084\u8086\u8085\u809B\u8093\u809A\u80AD\u5190\u80AC\u80DB\u80E5\u80D9\u80DD\u80C4\u80DA\u80D6\u8109\u80EF\u80F1\u811B\u8129\u8123\u812F\u814B"],
+ ["e7a1", "\u968B\u8146\u813E\u8153\u8151\u80FC\u8171\u816E\u8165\u8166\u8174\u8183\u8188\u818A\u8180\u8182\u81A0\u8195\u81A4\u81A3\u815F\u8193\u81A9\u81B0\u81B5\u81BE\u81B8\u81BD\u81C0\u81C2\u81BA\u81C9\u81CD\u81D1\u81D9\u81D8\u81C8\u81DA\u81DF\u81E0\u81E7\u81FA\u81FB\u81FE\u8201\u8202\u8205\u8207\u820A\u820D\u8210\u8216\u8229\u822B\u8238\u8233\u8240\u8259\u8258\u825D\u825A\u825F\u8264\u8262\u8268\u826A\u826B\u822E\u8271\u8277\u8278\u827E\u828D\u8292\u82AB\u829F\u82BB\u82AC\u82E1\u82E3\u82DF\u82D2\u82F4\u82F3\u82FA\u8393\u8303\u82FB\u82F9\u82DE\u8306\u82DC\u8309\u82D9"],
+ ["e8a1", "\u8335\u8334\u8316\u8332\u8331\u8340\u8339\u8350\u8345\u832F\u832B\u8317\u8318\u8385\u839A\u83AA\u839F\u83A2\u8396\u8323\u838E\u8387\u838A\u837C\u83B5\u8373\u8375\u83A0\u8389\u83A8\u83F4\u8413\u83EB\u83CE\u83FD\u8403\u83D8\u840B\u83C1\u83F7\u8407\u83E0\u83F2\u840D\u8422\u8420\u83BD\u8438\u8506\u83FB\u846D\u842A\u843C\u855A\u8484\u8477\u846B\u84AD\u846E\u8482\u8469\u8446\u842C\u846F\u8479\u8435\u84CA\u8462\u84B9\u84BF\u849F\u84D9\u84CD\u84BB\u84DA\u84D0\u84C1\u84C6\u84D6\u84A1\u8521\u84FF\u84F4\u8517\u8518\u852C\u851F\u8515\u8514\u84FC\u8540\u8563\u8558\u8548"],
+ ["e9a1", "\u8541\u8602\u854B\u8555\u8580\u85A4\u8588\u8591\u858A\u85A8\u856D\u8594\u859B\u85EA\u8587\u859C\u8577\u857E\u8590\u85C9\u85BA\u85CF\u85B9\u85D0\u85D5\u85DD\u85E5\u85DC\u85F9\u860A\u8613\u860B\u85FE\u85FA\u8606\u8622\u861A\u8630\u863F\u864D\u4E55\u8654\u865F\u8667\u8671\u8693\u86A3\u86A9\u86AA\u868B\u868C\u86B6\u86AF\u86C4\u86C6\u86B0\u86C9\u8823\u86AB\u86D4\u86DE\u86E9\u86EC\u86DF\u86DB\u86EF\u8712\u8706\u8708\u8700\u8703\u86FB\u8711\u8709\u870D\u86F9\u870A\u8734\u873F\u8737\u873B\u8725\u8729\u871A\u8760\u875F\u8778\u874C\u874E\u8774\u8757\u8768\u876E\u8759"],
+ ["eaa1", "\u8753\u8763\u876A\u8805\u87A2\u879F\u8782\u87AF\u87CB\u87BD\u87C0\u87D0\u96D6\u87AB\u87C4\u87B3\u87C7\u87C6\u87BB\u87EF\u87F2\u87E0\u880F\u880D\u87FE\u87F6\u87F7\u880E\u87D2\u8811\u8816\u8815\u8822\u8821\u8831\u8836\u8839\u8827\u883B\u8844\u8842\u8852\u8859\u885E\u8862\u886B\u8881\u887E\u889E\u8875\u887D\u88B5\u8872\u8882\u8897\u8892\u88AE\u8899\u88A2\u888D\u88A4\u88B0\u88BF\u88B1\u88C3\u88C4\u88D4\u88D8\u88D9\u88DD\u88F9\u8902\u88FC\u88F4\u88E8\u88F2\u8904\u890C\u890A\u8913\u8943\u891E\u8925\u892A\u892B\u8941\u8944\u893B\u8936\u8938\u894C\u891D\u8960\u895E"],
+ ["eba1", "\u8966\u8964\u896D\u896A\u896F\u8974\u8977\u897E\u8983\u8988\u898A\u8993\u8998\u89A1\u89A9\u89A6\u89AC\u89AF\u89B2\u89BA\u89BD\u89BF\u89C0\u89DA\u89DC\u89DD\u89E7\u89F4\u89F8\u8A03\u8A16\u8A10\u8A0C\u8A1B\u8A1D\u8A25\u8A36\u8A41\u8A5B\u8A52\u8A46\u8A48\u8A7C\u8A6D\u8A6C\u8A62\u8A85\u8A82\u8A84\u8AA8\u8AA1\u8A91\u8AA5\u8AA6\u8A9A\u8AA3\u8AC4\u8ACD\u8AC2\u8ADA\u8AEB\u8AF3\u8AE7\u8AE4\u8AF1\u8B14\u8AE0\u8AE2\u8AF7\u8ADE\u8ADB\u8B0C\u8B07\u8B1A\u8AE1\u8B16\u8B10\u8B17\u8B20\u8B33\u97AB\u8B26\u8B2B\u8B3E\u8B28\u8B41\u8B4C\u8B4F\u8B4E\u8B49\u8B56\u8B5B\u8B5A\u8B6B"],
+ ["eca1", "\u8B5F\u8B6C\u8B6F\u8B74\u8B7D\u8B80\u8B8C\u8B8E\u8B92\u8B93\u8B96\u8B99\u8B9A\u8C3A\u8C41\u8C3F\u8C48\u8C4C\u8C4E\u8C50\u8C55\u8C62\u8C6C\u8C78\u8C7A\u8C82\u8C89\u8C85\u8C8A\u8C8D\u8C8E\u8C94\u8C7C\u8C98\u621D\u8CAD\u8CAA\u8CBD\u8CB2\u8CB3\u8CAE\u8CB6\u8CC8\u8CC1\u8CE4\u8CE3\u8CDA\u8CFD\u8CFA\u8CFB\u8D04\u8D05\u8D0A\u8D07\u8D0F\u8D0D\u8D10\u9F4E\u8D13\u8CCD\u8D14\u8D16\u8D67\u8D6D\u8D71\u8D73\u8D81\u8D99\u8DC2\u8DBE\u8DBA\u8DCF\u8DDA\u8DD6\u8DCC\u8DDB\u8DCB\u8DEA\u8DEB\u8DDF\u8DE3\u8DFC\u8E08\u8E09\u8DFF\u8E1D\u8E1E\u8E10\u8E1F\u8E42\u8E35\u8E30\u8E34\u8E4A"],
+ ["eda1", "\u8E47\u8E49\u8E4C\u8E50\u8E48\u8E59\u8E64\u8E60\u8E2A\u8E63\u8E55\u8E76\u8E72\u8E7C\u8E81\u8E87\u8E85\u8E84\u8E8B\u8E8A\u8E93\u8E91\u8E94\u8E99\u8EAA\u8EA1\u8EAC\u8EB0\u8EC6\u8EB1\u8EBE\u8EC5\u8EC8\u8ECB\u8EDB\u8EE3\u8EFC\u8EFB\u8EEB\u8EFE\u8F0A\u8F05\u8F15\u8F12\u8F19\u8F13\u8F1C\u8F1F\u8F1B\u8F0C\u8F26\u8F33\u8F3B\u8F39\u8F45\u8F42\u8F3E\u8F4C\u8F49\u8F46\u8F4E\u8F57\u8F5C\u8F62\u8F63\u8F64\u8F9C\u8F9F\u8FA3\u8FAD\u8FAF\u8FB7\u8FDA\u8FE5\u8FE2\u8FEA\u8FEF\u9087\u8FF4\u9005\u8FF9\u8FFA\u9011\u9015\u9021\u900D\u901E\u9016\u900B\u9027\u9036\u9035\u9039\u8FF8"],
+ ["eea1", "\u904F\u9050\u9051\u9052\u900E\u9049\u903E\u9056\u9058\u905E\u9068\u906F\u9076\u96A8\u9072\u9082\u907D\u9081\u9080\u908A\u9089\u908F\u90A8\u90AF\u90B1\u90B5\u90E2\u90E4\u6248\u90DB\u9102\u9112\u9119\u9132\u9130\u914A\u9156\u9158\u9163\u9165\u9169\u9173\u9172\u918B\u9189\u9182\u91A2\u91AB\u91AF\u91AA\u91B5\u91B4\u91BA\u91C0\u91C1\u91C9\u91CB\u91D0\u91D6\u91DF\u91E1\u91DB\u91FC\u91F5\u91F6\u921E\u91FF\u9214\u922C\u9215\u9211\u925E\u9257\u9245\u9249\u9264\u9248\u9295\u923F\u924B\u9250\u929C\u9296\u9293\u929B\u925A\u92CF\u92B9\u92B7\u92E9\u930F\u92FA\u9344\u932E"],
+ ["efa1", "\u9319\u9322\u931A\u9323\u933A\u9335\u933B\u935C\u9360\u937C\u936E\u9356\u93B0\u93AC\u93AD\u9394\u93B9\u93D6\u93D7\u93E8\u93E5\u93D8\u93C3\u93DD\u93D0\u93C8\u93E4\u941A\u9414\u9413\u9403\u9407\u9410\u9436\u942B\u9435\u9421\u943A\u9441\u9452\u9444\u945B\u9460\u9462\u945E\u946A\u9229\u9470\u9475\u9477\u947D\u945A\u947C\u947E\u9481\u947F\u9582\u9587\u958A\u9594\u9596\u9598\u9599\u95A0\u95A8\u95A7\u95AD\u95BC\u95BB\u95B9\u95BE\u95CA\u6FF6\u95C3\u95CD\u95CC\u95D5\u95D4\u95D6\u95DC\u95E1\u95E5\u95E2\u9621\u9628\u962E\u962F\u9642\u964C\u964F\u964B\u9677\u965C\u965E"],
+ ["f0a1", "\u965D\u965F\u9666\u9672\u966C\u968D\u9698\u9695\u9697\u96AA\u96A7\u96B1\u96B2\u96B0\u96B4\u96B6\u96B8\u96B9\u96CE\u96CB\u96C9\u96CD\u894D\u96DC\u970D\u96D5\u96F9\u9704\u9706\u9708\u9713\u970E\u9711\u970F\u9716\u9719\u9724\u972A\u9730\u9739\u973D\u973E\u9744\u9746\u9748\u9742\u9749\u975C\u9760\u9764\u9766\u9768\u52D2\u976B\u9771\u9779\u9785\u977C\u9781\u977A\u9786\u978B\u978F\u9790\u979C\u97A8\u97A6\u97A3\u97B3\u97B4\u97C3\u97C6\u97C8\u97CB\u97DC\u97ED\u9F4F\u97F2\u7ADF\u97F6\u97F5\u980F\u980C\u9838\u9824\u9821\u9837\u983D\u9846\u984F\u984B\u986B\u986F\u9870"],
+ ["f1a1", "\u9871\u9874\u9873\u98AA\u98AF\u98B1\u98B6\u98C4\u98C3\u98C6\u98E9\u98EB\u9903\u9909\u9912\u9914\u9918\u9921\u991D\u991E\u9924\u9920\u992C\u992E\u993D\u993E\u9942\u9949\u9945\u9950\u994B\u9951\u9952\u994C\u9955\u9997\u9998\u99A5\u99AD\u99AE\u99BC\u99DF\u99DB\u99DD\u99D8\u99D1\u99ED\u99EE\u99F1\u99F2\u99FB\u99F8\u9A01\u9A0F\u9A05\u99E2\u9A19\u9A2B\u9A37\u9A45\u9A42\u9A40\u9A43\u9A3E\u9A55\u9A4D\u9A5B\u9A57\u9A5F\u9A62\u9A65\u9A64\u9A69\u9A6B\u9A6A\u9AAD\u9AB0\u9ABC\u9AC0\u9ACF\u9AD1\u9AD3\u9AD4\u9ADE\u9ADF\u9AE2\u9AE3\u9AE6\u9AEF\u9AEB\u9AEE\u9AF4\u9AF1\u9AF7"],
+ ["f2a1", "\u9AFB\u9B06\u9B18\u9B1A\u9B1F\u9B22\u9B23\u9B25\u9B27\u9B28\u9B29\u9B2A\u9B2E\u9B2F\u9B32\u9B44\u9B43\u9B4F\u9B4D\u9B4E\u9B51\u9B58\u9B74\u9B93\u9B83\u9B91\u9B96\u9B97\u9B9F\u9BA0\u9BA8\u9BB4\u9BC0\u9BCA\u9BB9\u9BC6\u9BCF\u9BD1\u9BD2\u9BE3\u9BE2\u9BE4\u9BD4\u9BE1\u9C3A\u9BF2\u9BF1\u9BF0\u9C15\u9C14\u9C09\u9C13\u9C0C\u9C06\u9C08\u9C12\u9C0A\u9C04\u9C2E\u9C1B\u9C25\u9C24\u9C21\u9C30\u9C47\u9C32\u9C46\u9C3E\u9C5A\u9C60\u9C67\u9C76\u9C78\u9CE7\u9CEC\u9CF0\u9D09\u9D08\u9CEB\u9D03\u9D06\u9D2A\u9D26\u9DAF\u9D23\u9D1F\u9D44\u9D15\u9D12\u9D41\u9D3F\u9D3E\u9D46\u9D48"],
+ ["f3a1", "\u9D5D\u9D5E\u9D64\u9D51\u9D50\u9D59\u9D72\u9D89\u9D87\u9DAB\u9D6F\u9D7A\u9D9A\u9DA4\u9DA9\u9DB2\u9DC4\u9DC1\u9DBB\u9DB8\u9DBA\u9DC6\u9DCF\u9DC2\u9DD9\u9DD3\u9DF8\u9DE6\u9DED\u9DEF\u9DFD\u9E1A\u9E1B\u9E1E\u9E75\u9E79\u9E7D\u9E81\u9E88\u9E8B\u9E8C\u9E92\u9E95\u9E91\u9E9D\u9EA5\u9EA9\u9EB8\u9EAA\u9EAD\u9761\u9ECC\u9ECE\u9ECF\u9ED0\u9ED4\u9EDC\u9EDE\u9EDD\u9EE0\u9EE5\u9EE8\u9EEF\u9EF4\u9EF6\u9EF7\u9EF9\u9EFB\u9EFC\u9EFD\u9F07\u9F08\u76B7\u9F15\u9F21\u9F2C\u9F3E\u9F4A\u9F52\u9F54\u9F63\u9F5F\u9F60\u9F61\u9F66\u9F67\u9F6C\u9F6A\u9F77\u9F72\u9F76\u9F95\u9F9C\u9FA0"],
+ ["f4a1", "\u582F\u69C7\u9059\u7464\u51DC\u7199"],
+ ["f9a1", "\u7E8A\u891C\u9348\u9288\u84DC\u4FC9\u70BB\u6631\u68C8\u92F9\u66FB\u5F45\u4E28\u4EE1\u4EFC\u4F00\u4F03\u4F39\u4F56\u4F92\u4F8A\u4F9A\u4F94\u4FCD\u5040\u5022\u4FFF\u501E\u5046\u5070\u5042\u5094\u50F4\u50D8\u514A\u5164\u519D\u51BE\u51EC\u5215\u529C\u52A6\u52C0\u52DB\u5300\u5307\u5324\u5372\u5393\u53B2\u53DD\uFA0E\u549C\u548A\u54A9\u54FF\u5586\u5759\u5765\u57AC\u57C8\u57C7\uFA0F\uFA10\u589E\u58B2\u590B\u5953\u595B\u595D\u5963\u59A4\u59BA\u5B56\u5BC0\u752F\u5BD8\u5BEC\u5C1E\u5CA6\u5CBA\u5CF5\u5D27\u5D53\uFA11\u5D42\u5D6D\u5DB8\u5DB9\u5DD0\u5F21\u5F34\u5F67\u5FB7"],
+ ["faa1", "\u5FDE\u605D\u6085\u608A\u60DE\u60D5\u6120\u60F2\u6111\u6137\u6130\u6198\u6213\u62A6\u63F5\u6460\u649D\u64CE\u654E\u6600\u6615\u663B\u6609\u662E\u661E\u6624\u6665\u6657\u6659\uFA12\u6673\u6699\u66A0\u66B2\u66BF\u66FA\u670E\uF929\u6766\u67BB\u6852\u67C0\u6801\u6844\u68CF\uFA13\u6968\uFA14\u6998\u69E2\u6A30\u6A6B\u6A46\u6A73\u6A7E\u6AE2\u6AE4\u6BD6\u6C3F\u6C5C\u6C86\u6C6F\u6CDA\u6D04\u6D87\u6D6F\u6D96\u6DAC\u6DCF\u6DF8\u6DF2\u6DFC\u6E39\u6E5C\u6E27\u6E3C\u6EBF\u6F88\u6FB5\u6FF5\u7005\u7007\u7028\u7085\u70AB\u710F\u7104\u715C\u7146\u7147\uFA15\u71C1\u71FE\u72B1"],
+ ["fba1", "\u72BE\u7324\uFA16\u7377\u73BD\u73C9\u73D6\u73E3\u73D2\u7407\u73F5\u7426\u742A\u7429\u742E\u7462\u7489\u749F\u7501\u756F\u7682\u769C\u769E\u769B\u76A6\uFA17\u7746\u52AF\u7821\u784E\u7864\u787A\u7930\uFA18\uFA19\uFA1A\u7994\uFA1B\u799B\u7AD1\u7AE7\uFA1C\u7AEB\u7B9E\uFA1D\u7D48\u7D5C\u7DB7\u7DA0\u7DD6\u7E52\u7F47\u7FA1\uFA1E\u8301\u8362\u837F\u83C7\u83F6\u8448\u84B4\u8553\u8559\u856B\uFA1F\u85B0\uFA20\uFA21\u8807\u88F5\u8A12\u8A37\u8A79\u8AA7\u8ABE\u8ADF\uFA22\u8AF6\u8B53\u8B7F\u8CF0\u8CF4\u8D12\u8D76\uFA23\u8ECF\uFA24\uFA25\u9067\u90DE\uFA26\u9115\u9127\u91DA"],
+ ["fca1", "\u91D7\u91DE\u91ED\u91EE\u91E4\u91E5\u9206\u9210\u920A\u923A\u9240\u923C\u924E\u9259\u9251\u9239\u9267\u92A7\u9277\u9278\u92E7\u92D7\u92D9\u92D0\uFA27\u92D5\u92E0\u92D3\u9325\u9321\u92FB\uFA28\u931E\u92FF\u931D\u9302\u9370\u9357\u93A4\u93C6\u93DE\u93F8\u9431\u9445\u9448\u9592\uF9DC\uFA29\u969D\u96AF\u9733\u973B\u9743\u974D\u974F\u9751\u9755\u9857\u9865\uFA2A\uFA2B\u9927\uFA2C\u999E\u9A4E\u9AD9\u9ADC\u9B75\u9B72\u9B8F\u9BB1\u9BBB\u9C00\u9D70\u9D6B\uFA2D\u9E19\u9ED1"],
+ ["fcf1", "\u2170", 9, "\uFFE2\uFFE4\uFF07\uFF02"],
+ ["8fa2af", "\u02D8\u02C7\xB8\u02D9\u02DD\xAF\u02DB\u02DA\uFF5E\u0384\u0385"],
+ ["8fa2c2", "\xA1\xA6\xBF"],
+ ["8fa2eb", "\xBA\xAA\xA9\xAE\u2122\xA4\u2116"],
+ ["8fa6e1", "\u0386\u0388\u0389\u038A\u03AA"],
+ ["8fa6e7", "\u038C"],
+ ["8fa6e9", "\u038E\u03AB"],
+ ["8fa6ec", "\u038F"],
+ ["8fa6f1", "\u03AC\u03AD\u03AE\u03AF\u03CA\u0390\u03CC\u03C2\u03CD\u03CB\u03B0\u03CE"],
+ ["8fa7c2", "\u0402", 10, "\u040E\u040F"],
+ ["8fa7f2", "\u0452", 10, "\u045E\u045F"],
+ ["8fa9a1", "\xC6\u0110"],
+ ["8fa9a4", "\u0126"],
+ ["8fa9a6", "\u0132"],
+ ["8fa9a8", "\u0141\u013F"],
+ ["8fa9ab", "\u014A\xD8\u0152"],
+ ["8fa9af", "\u0166\xDE"],
+ ["8fa9c1", "\xE6\u0111\xF0\u0127\u0131\u0133\u0138\u0142\u0140\u0149\u014B\xF8\u0153\xDF\u0167\xFE"],
+ ["8faaa1", "\xC1\xC0\xC4\xC2\u0102\u01CD\u0100\u0104\xC5\xC3\u0106\u0108\u010C\xC7\u010A\u010E\xC9\xC8\xCB\xCA\u011A\u0116\u0112\u0118"],
+ ["8faaba", "\u011C\u011E\u0122\u0120\u0124\xCD\xCC\xCF\xCE\u01CF\u0130\u012A\u012E\u0128\u0134\u0136\u0139\u013D\u013B\u0143\u0147\u0145\xD1\xD3\xD2\xD6\xD4\u01D1\u0150\u014C\xD5\u0154\u0158\u0156\u015A\u015C\u0160\u015E\u0164\u0162\xDA\xD9\xDC\xDB\u016C\u01D3\u0170\u016A\u0172\u016E\u0168\u01D7\u01DB\u01D9\u01D5\u0174\xDD\u0178\u0176\u0179\u017D\u017B"],
+ ["8faba1", "\xE1\xE0\xE4\xE2\u0103\u01CE\u0101\u0105\xE5\xE3\u0107\u0109\u010D\xE7\u010B\u010F\xE9\xE8\xEB\xEA\u011B\u0117\u0113\u0119\u01F5\u011D\u011F"],
+ ["8fabbd", "\u0121\u0125\xED\xEC\xEF\xEE\u01D0"],
+ ["8fabc5", "\u012B\u012F\u0129\u0135\u0137\u013A\u013E\u013C\u0144\u0148\u0146\xF1\xF3\xF2\xF6\xF4\u01D2\u0151\u014D\xF5\u0155\u0159\u0157\u015B\u015D\u0161\u015F\u0165\u0163\xFA\xF9\xFC\xFB\u016D\u01D4\u0171\u016B\u0173\u016F\u0169\u01D8\u01DC\u01DA\u01D6\u0175\xFD\xFF\u0177\u017A\u017E\u017C"],
+ ["8fb0a1", "\u4E02\u4E04\u4E05\u4E0C\u4E12\u4E1F\u4E23\u4E24\u4E28\u4E2B\u4E2E\u4E2F\u4E30\u4E35\u4E40\u4E41\u4E44\u4E47\u4E51\u4E5A\u4E5C\u4E63\u4E68\u4E69\u4E74\u4E75\u4E79\u4E7F\u4E8D\u4E96\u4E97\u4E9D\u4EAF\u4EB9\u4EC3\u4ED0\u4EDA\u4EDB\u4EE0\u4EE1\u4EE2\u4EE8\u4EEF\u4EF1\u4EF3\u4EF5\u4EFD\u4EFE\u4EFF\u4F00\u4F02\u4F03\u4F08\u4F0B\u4F0C\u4F12\u4F15\u4F16\u4F17\u4F19\u4F2E\u4F31\u4F60\u4F33\u4F35\u4F37\u4F39\u4F3B\u4F3E\u4F40\u4F42\u4F48\u4F49\u4F4B\u4F4C\u4F52\u4F54\u4F56\u4F58\u4F5F\u4F63\u4F6A\u4F6C\u4F6E\u4F71\u4F77\u4F78\u4F79\u4F7A\u4F7D\u4F7E\u4F81\u4F82\u4F84"],
+ ["8fb1a1", "\u4F85\u4F89\u4F8A\u4F8C\u4F8E\u4F90\u4F92\u4F93\u4F94\u4F97\u4F99\u4F9A\u4F9E\u4F9F\u4FB2\u4FB7\u4FB9\u4FBB\u4FBC\u4FBD\u4FBE\u4FC0\u4FC1\u4FC5\u4FC6\u4FC8\u4FC9\u4FCB\u4FCC\u4FCD\u4FCF\u4FD2\u4FDC\u4FE0\u4FE2\u4FF0\u4FF2\u4FFC\u4FFD\u4FFF\u5000\u5001\u5004\u5007\u500A\u500C\u500E\u5010\u5013\u5017\u5018\u501B\u501C\u501D\u501E\u5022\u5027\u502E\u5030\u5032\u5033\u5035\u5040\u5041\u5042\u5045\u5046\u504A\u504C\u504E\u5051\u5052\u5053\u5057\u5059\u505F\u5060\u5062\u5063\u5066\u5067\u506A\u506D\u5070\u5071\u503B\u5081\u5083\u5084\u5086\u508A\u508E\u508F\u5090"],
+ ["8fb2a1", "\u5092\u5093\u5094\u5096\u509B\u509C\u509E", 4, "\u50AA\u50AF\u50B0\u50B9\u50BA\u50BD\u50C0\u50C3\u50C4\u50C7\u50CC\u50CE\u50D0\u50D3\u50D4\u50D8\u50DC\u50DD\u50DF\u50E2\u50E4\u50E6\u50E8\u50E9\u50EF\u50F1\u50F6\u50FA\u50FE\u5103\u5106\u5107\u5108\u510B\u510C\u510D\u510E\u50F2\u5110\u5117\u5119\u511B\u511C\u511D\u511E\u5123\u5127\u5128\u512C\u512D\u512F\u5131\u5133\u5134\u5135\u5138\u5139\u5142\u514A\u514F\u5153\u5155\u5157\u5158\u515F\u5164\u5166\u517E\u5183\u5184\u518B\u518E\u5198\u519D\u51A1\u51A3\u51AD\u51B8\u51BA\u51BC\u51BE\u51BF\u51C2"],
+ ["8fb3a1", "\u51C8\u51CF\u51D1\u51D2\u51D3\u51D5\u51D8\u51DE\u51E2\u51E5\u51EE\u51F2\u51F3\u51F4\u51F7\u5201\u5202\u5205\u5212\u5213\u5215\u5216\u5218\u5222\u5228\u5231\u5232\u5235\u523C\u5245\u5249\u5255\u5257\u5258\u525A\u525C\u525F\u5260\u5261\u5266\u526E\u5277\u5278\u5279\u5280\u5282\u5285\u528A\u528C\u5293\u5295\u5296\u5297\u5298\u529A\u529C\u52A4\u52A5\u52A6\u52A7\u52AF\u52B0\u52B6\u52B7\u52B8\u52BA\u52BB\u52BD\u52C0\u52C4\u52C6\u52C8\u52CC\u52CF\u52D1\u52D4\u52D6\u52DB\u52DC\u52E1\u52E5\u52E8\u52E9\u52EA\u52EC\u52F0\u52F1\u52F4\u52F6\u52F7\u5300\u5303\u530A\u530B"],
+ ["8fb4a1", "\u530C\u5311\u5313\u5318\u531B\u531C\u531E\u531F\u5325\u5327\u5328\u5329\u532B\u532C\u532D\u5330\u5332\u5335\u533C\u533D\u533E\u5342\u534C\u534B\u5359\u535B\u5361\u5363\u5365\u536C\u536D\u5372\u5379\u537E\u5383\u5387\u5388\u538E\u5393\u5394\u5399\u539D\u53A1\u53A4\u53AA\u53AB\u53AF\u53B2\u53B4\u53B5\u53B7\u53B8\u53BA\u53BD\u53C0\u53C5\u53CF\u53D2\u53D3\u53D5\u53DA\u53DD\u53DE\u53E0\u53E6\u53E7\u53F5\u5402\u5413\u541A\u5421\u5427\u5428\u542A\u542F\u5431\u5434\u5435\u5443\u5444\u5447\u544D\u544F\u545E\u5462\u5464\u5466\u5467\u5469\u546B\u546D\u546E\u5474\u547F"],
+ ["8fb5a1", "\u5481\u5483\u5485\u5488\u5489\u548D\u5491\u5495\u5496\u549C\u549F\u54A1\u54A6\u54A7\u54A9\u54AA\u54AD\u54AE\u54B1\u54B7\u54B9\u54BA\u54BB\u54BF\u54C6\u54CA\u54CD\u54CE\u54E0\u54EA\u54EC\u54EF\u54F6\u54FC\u54FE\u54FF\u5500\u5501\u5505\u5508\u5509\u550C\u550D\u550E\u5515\u552A\u552B\u5532\u5535\u5536\u553B\u553C\u553D\u5541\u5547\u5549\u554A\u554D\u5550\u5551\u5558\u555A\u555B\u555E\u5560\u5561\u5564\u5566\u557F\u5581\u5582\u5586\u5588\u558E\u558F\u5591\u5592\u5593\u5594\u5597\u55A3\u55A4\u55AD\u55B2\u55BF\u55C1\u55C3\u55C6\u55C9\u55CB\u55CC\u55CE\u55D1\u55D2"],
+ ["8fb6a1", "\u55D3\u55D7\u55D8\u55DB\u55DE\u55E2\u55E9\u55F6\u55FF\u5605\u5608\u560A\u560D", 5, "\u5619\u562C\u5630\u5633\u5635\u5637\u5639\u563B\u563C\u563D\u563F\u5640\u5641\u5643\u5644\u5646\u5649\u564B\u564D\u564F\u5654\u565E\u5660\u5661\u5662\u5663\u5666\u5669\u566D\u566F\u5671\u5672\u5675\u5684\u5685\u5688\u568B\u568C\u5695\u5699\u569A\u569D\u569E\u569F\u56A6\u56A7\u56A8\u56A9\u56AB\u56AC\u56AD\u56B1\u56B3\u56B7\u56BE\u56C5\u56C9\u56CA\u56CB\u56CF\u56D0\u56CC\u56CD\u56D9\u56DC\u56DD\u56DF\u56E1\u56E4", 4, "\u56F1\u56EB\u56ED"],
+ ["8fb7a1", "\u56F6\u56F7\u5701\u5702\u5707\u570A\u570C\u5711\u5715\u571A\u571B\u571D\u5720\u5722\u5723\u5724\u5725\u5729\u572A\u572C\u572E\u572F\u5733\u5734\u573D\u573E\u573F\u5745\u5746\u574C\u574D\u5752\u5762\u5765\u5767\u5768\u576B\u576D", 4, "\u5773\u5774\u5775\u5777\u5779\u577A\u577B\u577C\u577E\u5781\u5783\u578C\u5794\u5797\u5799\u579A\u579C\u579D\u579E\u579F\u57A1\u5795\u57A7\u57A8\u57A9\u57AC\u57B8\u57BD\u57C7\u57C8\u57CC\u57CF\u57D5\u57DD\u57DE\u57E4\u57E6\u57E7\u57E9\u57ED\u57F0\u57F5\u57F6\u57F8\u57FD\u57FE\u57FF\u5803\u5804\u5808\u5809\u57E1"],
+ ["8fb8a1", "\u580C\u580D\u581B\u581E\u581F\u5820\u5826\u5827\u582D\u5832\u5839\u583F\u5849\u584C\u584D\u584F\u5850\u5855\u585F\u5861\u5864\u5867\u5868\u5878\u587C\u587F\u5880\u5881\u5887\u5888\u5889\u588A\u588C\u588D\u588F\u5890\u5894\u5896\u589D\u58A0\u58A1\u58A2\u58A6\u58A9\u58B1\u58B2\u58C4\u58BC\u58C2\u58C8\u58CD\u58CE\u58D0\u58D2\u58D4\u58D6\u58DA\u58DD\u58E1\u58E2\u58E9\u58F3\u5905\u5906\u590B\u590C\u5912\u5913\u5914\u8641\u591D\u5921\u5923\u5924\u5928\u592F\u5930\u5933\u5935\u5936\u593F\u5943\u5946\u5952\u5953\u5959\u595B\u595D\u595E\u595F\u5961\u5963\u596B\u596D"],
+ ["8fb9a1", "\u596F\u5972\u5975\u5976\u5979\u597B\u597C\u598B\u598C\u598E\u5992\u5995\u5997\u599F\u59A4\u59A7\u59AD\u59AE\u59AF\u59B0\u59B3\u59B7\u59BA\u59BC\u59C1\u59C3\u59C4\u59C8\u59CA\u59CD\u59D2\u59DD\u59DE\u59DF\u59E3\u59E4\u59E7\u59EE\u59EF\u59F1\u59F2\u59F4\u59F7\u5A00\u5A04\u5A0C\u5A0D\u5A0E\u5A12\u5A13\u5A1E\u5A23\u5A24\u5A27\u5A28\u5A2A\u5A2D\u5A30\u5A44\u5A45\u5A47\u5A48\u5A4C\u5A50\u5A55\u5A5E\u5A63\u5A65\u5A67\u5A6D\u5A77\u5A7A\u5A7B\u5A7E\u5A8B\u5A90\u5A93\u5A96\u5A99\u5A9C\u5A9E\u5A9F\u5AA0\u5AA2\u5AA7\u5AAC\u5AB1\u5AB2\u5AB3\u5AB5\u5AB8\u5ABA\u5ABB\u5ABF"],
+ ["8fbaa1", "\u5AC4\u5AC6\u5AC8\u5ACF\u5ADA\u5ADC\u5AE0\u5AE5\u5AEA\u5AEE\u5AF5\u5AF6\u5AFD\u5B00\u5B01\u5B08\u5B17\u5B34\u5B19\u5B1B\u5B1D\u5B21\u5B25\u5B2D\u5B38\u5B41\u5B4B\u5B4C\u5B52\u5B56\u5B5E\u5B68\u5B6E\u5B6F\u5B7C\u5B7D\u5B7E\u5B7F\u5B81\u5B84\u5B86\u5B8A\u5B8E\u5B90\u5B91\u5B93\u5B94\u5B96\u5BA8\u5BA9\u5BAC\u5BAD\u5BAF\u5BB1\u5BB2\u5BB7\u5BBA\u5BBC\u5BC0\u5BC1\u5BCD\u5BCF\u5BD6", 4, "\u5BE0\u5BEF\u5BF1\u5BF4\u5BFD\u5C0C\u5C17\u5C1E\u5C1F\u5C23\u5C26\u5C29\u5C2B\u5C2C\u5C2E\u5C30\u5C32\u5C35\u5C36\u5C59\u5C5A\u5C5C\u5C62\u5C63\u5C67\u5C68\u5C69"],
+ ["8fbba1", "\u5C6D\u5C70\u5C74\u5C75\u5C7A\u5C7B\u5C7C\u5C7D\u5C87\u5C88\u5C8A\u5C8F\u5C92\u5C9D\u5C9F\u5CA0\u5CA2\u5CA3\u5CA6\u5CAA\u5CB2\u5CB4\u5CB5\u5CBA\u5CC9\u5CCB\u5CD2\u5CDD\u5CD7\u5CEE\u5CF1\u5CF2\u5CF4\u5D01\u5D06\u5D0D\u5D12\u5D2B\u5D23\u5D24\u5D26\u5D27\u5D31\u5D34\u5D39\u5D3D\u5D3F\u5D42\u5D43\u5D46\u5D48\u5D55\u5D51\u5D59\u5D4A\u5D5F\u5D60\u5D61\u5D62\u5D64\u5D6A\u5D6D\u5D70\u5D79\u5D7A\u5D7E\u5D7F\u5D81\u5D83\u5D88\u5D8A\u5D92\u5D93\u5D94\u5D95\u5D99\u5D9B\u5D9F\u5DA0\u5DA7\u5DAB\u5DB0\u5DB4\u5DB8\u5DB9\u5DC3\u5DC7\u5DCB\u5DD0\u5DCE\u5DD8\u5DD9\u5DE0\u5DE4"],
+ ["8fbca1", "\u5DE9\u5DF8\u5DF9\u5E00\u5E07\u5E0D\u5E12\u5E14\u5E15\u5E18\u5E1F\u5E20\u5E2E\u5E28\u5E32\u5E35\u5E3E\u5E4B\u5E50\u5E49\u5E51\u5E56\u5E58\u5E5B\u5E5C\u5E5E\u5E68\u5E6A", 4, "\u5E70\u5E80\u5E8B\u5E8E\u5EA2\u5EA4\u5EA5\u5EA8\u5EAA\u5EAC\u5EB1\u5EB3\u5EBD\u5EBE\u5EBF\u5EC6\u5ECC\u5ECB\u5ECE\u5ED1\u5ED2\u5ED4\u5ED5\u5EDC\u5EDE\u5EE5\u5EEB\u5F02\u5F06\u5F07\u5F08\u5F0E\u5F19\u5F1C\u5F1D\u5F21\u5F22\u5F23\u5F24\u5F28\u5F2B\u5F2C\u5F2E\u5F30\u5F34\u5F36\u5F3B\u5F3D\u5F3F\u5F40\u5F44\u5F45\u5F47\u5F4D\u5F50\u5F54\u5F58\u5F5B\u5F60\u5F63\u5F64\u5F67"],
+ ["8fbda1", "\u5F6F\u5F72\u5F74\u5F75\u5F78\u5F7A\u5F7D\u5F7E\u5F89\u5F8D\u5F8F\u5F96\u5F9C\u5F9D\u5FA2\u5FA7\u5FAB\u5FA4\u5FAC\u5FAF\u5FB0\u5FB1\u5FB8\u5FC4\u5FC7\u5FC8\u5FC9\u5FCB\u5FD0", 4, "\u5FDE\u5FE1\u5FE2\u5FE8\u5FE9\u5FEA\u5FEC\u5FED\u5FEE\u5FEF\u5FF2\u5FF3\u5FF6\u5FFA\u5FFC\u6007\u600A\u600D\u6013\u6014\u6017\u6018\u601A\u601F\u6024\u602D\u6033\u6035\u6040\u6047\u6048\u6049\u604C\u6051\u6054\u6056\u6057\u605D\u6061\u6067\u6071\u607E\u607F\u6082\u6086\u6088\u608A\u608E\u6091\u6093\u6095\u6098\u609D\u609E\u60A2\u60A4\u60A5\u60A8\u60B0\u60B1\u60B7"],
+ ["8fbea1", "\u60BB\u60BE\u60C2\u60C4\u60C8\u60C9\u60CA\u60CB\u60CE\u60CF\u60D4\u60D5\u60D9\u60DB\u60DD\u60DE\u60E2\u60E5\u60F2\u60F5\u60F8\u60FC\u60FD\u6102\u6107\u610A\u610C\u6110", 4, "\u6116\u6117\u6119\u611C\u611E\u6122\u612A\u612B\u6130\u6131\u6135\u6136\u6137\u6139\u6141\u6145\u6146\u6149\u615E\u6160\u616C\u6172\u6178\u617B\u617C\u617F\u6180\u6181\u6183\u6184\u618B\u618D\u6192\u6193\u6197\u6198\u619C\u619D\u619F\u61A0\u61A5\u61A8\u61AA\u61AD\u61B8\u61B9\u61BC\u61C0\u61C1\u61C2\u61CE\u61CF\u61D5\u61DC\u61DD\u61DE\u61DF\u61E1\u61E2\u61E7\u61E9\u61E5"],
+ ["8fbfa1", "\u61EC\u61ED\u61EF\u6201\u6203\u6204\u6207\u6213\u6215\u621C\u6220\u6222\u6223\u6227\u6229\u622B\u6239\u623D\u6242\u6243\u6244\u6246\u624C\u6250\u6251\u6252\u6254\u6256\u625A\u625C\u6264\u626D\u626F\u6273\u627A\u627D\u628D\u628E\u628F\u6290\u62A6\u62A8\u62B3\u62B6\u62B7\u62BA\u62BE\u62BF\u62C4\u62CE\u62D5\u62D6\u62DA\u62EA\u62F2\u62F4\u62FC\u62FD\u6303\u6304\u630A\u630B\u630D\u6310\u6313\u6316\u6318\u6329\u632A\u632D\u6335\u6336\u6339\u633C\u6341\u6342\u6343\u6344\u6346\u634A\u634B\u634E\u6352\u6353\u6354\u6358\u635B\u6365\u6366\u636C\u636D\u6371\u6374\u6375"],
+ ["8fc0a1", "\u6378\u637C\u637D\u637F\u6382\u6384\u6387\u638A\u6390\u6394\u6395\u6399\u639A\u639E\u63A4\u63A6\u63AD\u63AE\u63AF\u63BD\u63C1\u63C5\u63C8\u63CE\u63D1\u63D3\u63D4\u63D5\u63DC\u63E0\u63E5\u63EA\u63EC\u63F2\u63F3\u63F5\u63F8\u63F9\u6409\u640A\u6410\u6412\u6414\u6418\u641E\u6420\u6422\u6424\u6425\u6429\u642A\u642F\u6430\u6435\u643D\u643F\u644B\u644F\u6451\u6452\u6453\u6454\u645A\u645B\u645C\u645D\u645F\u6460\u6461\u6463\u646D\u6473\u6474\u647B\u647D\u6485\u6487\u648F\u6490\u6491\u6498\u6499\u649B\u649D\u649F\u64A1\u64A3\u64A6\u64A8\u64AC\u64B3\u64BD\u64BE\u64BF"],
+ ["8fc1a1", "\u64C4\u64C9\u64CA\u64CB\u64CC\u64CE\u64D0\u64D1\u64D5\u64D7\u64E4\u64E5\u64E9\u64EA\u64ED\u64F0\u64F5\u64F7\u64FB\u64FF\u6501\u6504\u6508\u6509\u650A\u650F\u6513\u6514\u6516\u6519\u651B\u651E\u651F\u6522\u6526\u6529\u652E\u6531\u653A\u653C\u653D\u6543\u6547\u6549\u6550\u6552\u6554\u655F\u6560\u6567\u656B\u657A\u657D\u6581\u6585\u658A\u6592\u6595\u6598\u659D\u65A0\u65A3\u65A6\u65AE\u65B2\u65B3\u65B4\u65BF\u65C2\u65C8\u65C9\u65CE\u65D0\u65D4\u65D6\u65D8\u65DF\u65F0\u65F2\u65F4\u65F5\u65F9\u65FE\u65FF\u6600\u6604\u6608\u6609\u660D\u6611\u6612\u6615\u6616\u661D"],
+ ["8fc2a1", "\u661E\u6621\u6622\u6623\u6624\u6626\u6629\u662A\u662B\u662C\u662E\u6630\u6631\u6633\u6639\u6637\u6640\u6645\u6646\u664A\u664C\u6651\u664E\u6657\u6658\u6659\u665B\u665C\u6660\u6661\u66FB\u666A\u666B\u666C\u667E\u6673\u6675\u667F\u6677\u6678\u6679\u667B\u6680\u667C\u668B\u668C\u668D\u6690\u6692\u6699\u669A\u669B\u669C\u669F\u66A0\u66A4\u66AD\u66B1\u66B2\u66B5\u66BB\u66BF\u66C0\u66C2\u66C3\u66C8\u66CC\u66CE\u66CF\u66D4\u66DB\u66DF\u66E8\u66EB\u66EC\u66EE\u66FA\u6705\u6707\u670E\u6713\u6719\u671C\u6720\u6722\u6733\u673E\u6745\u6747\u6748\u674C\u6754\u6755\u675D"],
+ ["8fc3a1", "\u6766\u676C\u676E\u6774\u6776\u677B\u6781\u6784\u678E\u678F\u6791\u6793\u6796\u6798\u6799\u679B\u67B0\u67B1\u67B2\u67B5\u67BB\u67BC\u67BD\u67F9\u67C0\u67C2\u67C3\u67C5\u67C8\u67C9\u67D2\u67D7\u67D9\u67DC\u67E1\u67E6\u67F0\u67F2\u67F6\u67F7\u6852\u6814\u6819\u681D\u681F\u6828\u6827\u682C\u682D\u682F\u6830\u6831\u6833\u683B\u683F\u6844\u6845\u684A\u684C\u6855\u6857\u6858\u685B\u686B\u686E", 4, "\u6875\u6879\u687A\u687B\u687C\u6882\u6884\u6886\u6888\u6896\u6898\u689A\u689C\u68A1\u68A3\u68A5\u68A9\u68AA\u68AE\u68B2\u68BB\u68C5\u68C8\u68CC\u68CF"],
+ ["8fc4a1", "\u68D0\u68D1\u68D3\u68D6\u68D9\u68DC\u68DD\u68E5\u68E8\u68EA\u68EB\u68EC\u68ED\u68F0\u68F1\u68F5\u68F6\u68FB\u68FC\u68FD\u6906\u6909\u690A\u6910\u6911\u6913\u6916\u6917\u6931\u6933\u6935\u6938\u693B\u6942\u6945\u6949\u694E\u6957\u695B\u6963\u6964\u6965\u6966\u6968\u6969\u696C\u6970\u6971\u6972\u697A\u697B\u697F\u6980\u698D\u6992\u6996\u6998\u69A1\u69A5\u69A6\u69A8\u69AB\u69AD\u69AF\u69B7\u69B8\u69BA\u69BC\u69C5\u69C8\u69D1\u69D6\u69D7\u69E2\u69E5\u69EE\u69EF\u69F1\u69F3\u69F5\u69FE\u6A00\u6A01\u6A03\u6A0F\u6A11\u6A15\u6A1A\u6A1D\u6A20\u6A24\u6A28\u6A30\u6A32"],
+ ["8fc5a1", "\u6A34\u6A37\u6A3B\u6A3E\u6A3F\u6A45\u6A46\u6A49\u6A4A\u6A4E\u6A50\u6A51\u6A52\u6A55\u6A56\u6A5B\u6A64\u6A67\u6A6A\u6A71\u6A73\u6A7E\u6A81\u6A83\u6A86\u6A87\u6A89\u6A8B\u6A91\u6A9B\u6A9D\u6A9E\u6A9F\u6AA5\u6AAB\u6AAF\u6AB0\u6AB1\u6AB4\u6ABD\u6ABE\u6ABF\u6AC6\u6AC9\u6AC8\u6ACC\u6AD0\u6AD4\u6AD5\u6AD6\u6ADC\u6ADD\u6AE4\u6AE7\u6AEC\u6AF0\u6AF1\u6AF2\u6AFC\u6AFD\u6B02\u6B03\u6B06\u6B07\u6B09\u6B0F\u6B10\u6B11\u6B17\u6B1B\u6B1E\u6B24\u6B28\u6B2B\u6B2C\u6B2F\u6B35\u6B36\u6B3B\u6B3F\u6B46\u6B4A\u6B4D\u6B52\u6B56\u6B58\u6B5D\u6B60\u6B67\u6B6B\u6B6E\u6B70\u6B75\u6B7D"],
+ ["8fc6a1", "\u6B7E\u6B82\u6B85\u6B97\u6B9B\u6B9F\u6BA0\u6BA2\u6BA3\u6BA8\u6BA9\u6BAC\u6BAD\u6BAE\u6BB0\u6BB8\u6BB9\u6BBD\u6BBE\u6BC3\u6BC4\u6BC9\u6BCC\u6BD6\u6BDA\u6BE1\u6BE3\u6BE6\u6BE7\u6BEE\u6BF1\u6BF7\u6BF9\u6BFF\u6C02\u6C04\u6C05\u6C09\u6C0D\u6C0E\u6C10\u6C12\u6C19\u6C1F\u6C26\u6C27\u6C28\u6C2C\u6C2E\u6C33\u6C35\u6C36\u6C3A\u6C3B\u6C3F\u6C4A\u6C4B\u6C4D\u6C4F\u6C52\u6C54\u6C59\u6C5B\u6C5C\u6C6B\u6C6D\u6C6F\u6C74\u6C76\u6C78\u6C79\u6C7B\u6C85\u6C86\u6C87\u6C89\u6C94\u6C95\u6C97\u6C98\u6C9C\u6C9F\u6CB0\u6CB2\u6CB4\u6CC2\u6CC6\u6CCD\u6CCF\u6CD0\u6CD1\u6CD2\u6CD4\u6CD6"],
+ ["8fc7a1", "\u6CDA\u6CDC\u6CE0\u6CE7\u6CE9\u6CEB\u6CEC\u6CEE\u6CF2\u6CF4\u6D04\u6D07\u6D0A\u6D0E\u6D0F\u6D11\u6D13\u6D1A\u6D26\u6D27\u6D28\u6C67\u6D2E\u6D2F\u6D31\u6D39\u6D3C\u6D3F\u6D57\u6D5E\u6D5F\u6D61\u6D65\u6D67\u6D6F\u6D70\u6D7C\u6D82\u6D87\u6D91\u6D92\u6D94\u6D96\u6D97\u6D98\u6DAA\u6DAC\u6DB4\u6DB7\u6DB9\u6DBD\u6DBF\u6DC4\u6DC8\u6DCA\u6DCE\u6DCF\u6DD6\u6DDB\u6DDD\u6DDF\u6DE0\u6DE2\u6DE5\u6DE9\u6DEF\u6DF0\u6DF4\u6DF6\u6DFC\u6E00\u6E04\u6E1E\u6E22\u6E27\u6E32\u6E36\u6E39\u6E3B\u6E3C\u6E44\u6E45\u6E48\u6E49\u6E4B\u6E4F\u6E51\u6E52\u6E53\u6E54\u6E57\u6E5C\u6E5D\u6E5E"],
+ ["8fc8a1", "\u6E62\u6E63\u6E68\u6E73\u6E7B\u6E7D\u6E8D\u6E93\u6E99\u6EA0\u6EA7\u6EAD\u6EAE\u6EB1\u6EB3\u6EBB\u6EBF\u6EC0\u6EC1\u6EC3\u6EC7\u6EC8\u6ECA\u6ECD\u6ECE\u6ECF\u6EEB\u6EED\u6EEE\u6EF9\u6EFB\u6EFD\u6F04\u6F08\u6F0A\u6F0C\u6F0D\u6F16\u6F18\u6F1A\u6F1B\u6F26\u6F29\u6F2A\u6F2F\u6F30\u6F33\u6F36\u6F3B\u6F3C\u6F2D\u6F4F\u6F51\u6F52\u6F53\u6F57\u6F59\u6F5A\u6F5D\u6F5E\u6F61\u6F62\u6F68\u6F6C\u6F7D\u6F7E\u6F83\u6F87\u6F88\u6F8B\u6F8C\u6F8D\u6F90\u6F92\u6F93\u6F94\u6F96\u6F9A\u6F9F\u6FA0\u6FA5\u6FA6\u6FA7\u6FA8\u6FAE\u6FAF\u6FB0\u6FB5\u6FB6\u6FBC\u6FC5\u6FC7\u6FC8\u6FCA"],
+ ["8fc9a1", "\u6FDA\u6FDE\u6FE8\u6FE9\u6FF0\u6FF5\u6FF9\u6FFC\u6FFD\u7000\u7005\u7006\u7007\u700D\u7017\u7020\u7023\u702F\u7034\u7037\u7039\u703C\u7043\u7044\u7048\u7049\u704A\u704B\u7054\u7055\u705D\u705E\u704E\u7064\u7065\u706C\u706E\u7075\u7076\u707E\u7081\u7085\u7086\u7094", 4, "\u709B\u70A4\u70AB\u70B0\u70B1\u70B4\u70B7\u70CA\u70D1\u70D3\u70D4\u70D5\u70D6\u70D8\u70DC\u70E4\u70FA\u7103", 4, "\u710B\u710C\u710F\u711E\u7120\u712B\u712D\u712F\u7130\u7131\u7138\u7141\u7145\u7146\u7147\u714A\u714B\u7150\u7152\u7157\u715A\u715C\u715E\u7160"],
+ ["8fcaa1", "\u7168\u7179\u7180\u7185\u7187\u718C\u7192\u719A\u719B\u71A0\u71A2\u71AF\u71B0\u71B2\u71B3\u71BA\u71BF\u71C0\u71C1\u71C4\u71CB\u71CC\u71D3\u71D6\u71D9\u71DA\u71DC\u71F8\u71FE\u7200\u7207\u7208\u7209\u7213\u7217\u721A\u721D\u721F\u7224\u722B\u722F\u7234\u7238\u7239\u7241\u7242\u7243\u7245\u724E\u724F\u7250\u7253\u7255\u7256\u725A\u725C\u725E\u7260\u7263\u7268\u726B\u726E\u726F\u7271\u7277\u7278\u727B\u727C\u727F\u7284\u7289\u728D\u728E\u7293\u729B\u72A8\u72AD\u72AE\u72B1\u72B4\u72BE\u72C1\u72C7\u72C9\u72CC\u72D5\u72D6\u72D8\u72DF\u72E5\u72F3\u72F4\u72FA\u72FB"],
+ ["8fcba1", "\u72FE\u7302\u7304\u7305\u7307\u730B\u730D\u7312\u7313\u7318\u7319\u731E\u7322\u7324\u7327\u7328\u732C\u7331\u7332\u7335\u733A\u733B\u733D\u7343\u734D\u7350\u7352\u7356\u7358\u735D\u735E\u735F\u7360\u7366\u7367\u7369\u736B\u736C\u736E\u736F\u7371\u7377\u7379\u737C\u7380\u7381\u7383\u7385\u7386\u738E\u7390\u7393\u7395\u7397\u7398\u739C\u739E\u739F\u73A0\u73A2\u73A5\u73A6\u73AA\u73AB\u73AD\u73B5\u73B7\u73B9\u73BC\u73BD\u73BF\u73C5\u73C6\u73C9\u73CB\u73CC\u73CF\u73D2\u73D3\u73D6\u73D9\u73DD\u73E1\u73E3\u73E6\u73E7\u73E9\u73F4\u73F5\u73F7\u73F9\u73FA\u73FB\u73FD"],
+ ["8fcca1", "\u73FF\u7400\u7401\u7404\u7407\u740A\u7411\u741A\u741B\u7424\u7426\u7428", 9, "\u7439\u7440\u7443\u7444\u7446\u7447\u744B\u744D\u7451\u7452\u7457\u745D\u7462\u7466\u7467\u7468\u746B\u746D\u746E\u7471\u7472\u7480\u7481\u7485\u7486\u7487\u7489\u748F\u7490\u7491\u7492\u7498\u7499\u749A\u749C\u749F\u74A0\u74A1\u74A3\u74A6\u74A8\u74A9\u74AA\u74AB\u74AE\u74AF\u74B1\u74B2\u74B5\u74B9\u74BB\u74BF\u74C8\u74C9\u74CC\u74D0\u74D3\u74D8\u74DA\u74DB\u74DE\u74DF\u74E4\u74E8\u74EA\u74EB\u74EF\u74F4\u74FA\u74FB\u74FC\u74FF\u7506"],
+ ["8fcda1", "\u7512\u7516\u7517\u7520\u7521\u7524\u7527\u7529\u752A\u752F\u7536\u7539\u753D\u753E\u753F\u7540\u7543\u7547\u7548\u754E\u7550\u7552\u7557\u755E\u755F\u7561\u756F\u7571\u7579", 5, "\u7581\u7585\u7590\u7592\u7593\u7595\u7599\u759C\u75A2\u75A4\u75B4\u75BA\u75BF\u75C0\u75C1\u75C4\u75C6\u75CC\u75CE\u75CF\u75D7\u75DC\u75DF\u75E0\u75E1\u75E4\u75E7\u75EC\u75EE\u75EF\u75F1\u75F9\u7600\u7602\u7603\u7604\u7607\u7608\u760A\u760C\u760F\u7612\u7613\u7615\u7616\u7619\u761B\u761C\u761D\u761E\u7623\u7625\u7626\u7629\u762D\u7632\u7633\u7635\u7638\u7639"],
+ ["8fcea1", "\u763A\u763C\u764A\u7640\u7641\u7643\u7644\u7645\u7649\u764B\u7655\u7659\u765F\u7664\u7665\u766D\u766E\u766F\u7671\u7674\u7681\u7685\u768C\u768D\u7695\u769B\u769C\u769D\u769F\u76A0\u76A2", 6, "\u76AA\u76AD\u76BD\u76C1\u76C5\u76C9\u76CB\u76CC\u76CE\u76D4\u76D9\u76E0\u76E6\u76E8\u76EC\u76F0\u76F1\u76F6\u76F9\u76FC\u7700\u7706\u770A\u770E\u7712\u7714\u7715\u7717\u7719\u771A\u771C\u7722\u7728\u772D\u772E\u772F\u7734\u7735\u7736\u7739\u773D\u773E\u7742\u7745\u7746\u774A\u774D\u774E\u774F\u7752\u7756\u7757\u775C\u775E\u775F\u7760\u7762"],
+ ["8fcfa1", "\u7764\u7767\u776A\u776C\u7770\u7772\u7773\u7774\u777A\u777D\u7780\u7784\u778C\u778D\u7794\u7795\u7796\u779A\u779F\u77A2\u77A7\u77AA\u77AE\u77AF\u77B1\u77B5\u77BE\u77C3\u77C9\u77D1\u77D2\u77D5\u77D9\u77DE\u77DF\u77E0\u77E4\u77E6\u77EA\u77EC\u77F0\u77F1\u77F4\u77F8\u77FB\u7805\u7806\u7809\u780D\u780E\u7811\u781D\u7821\u7822\u7823\u782D\u782E\u7830\u7835\u7837\u7843\u7844\u7847\u7848\u784C\u784E\u7852\u785C\u785E\u7860\u7861\u7863\u7864\u7868\u786A\u786E\u787A\u787E\u788A\u788F\u7894\u7898\u78A1\u789D\u789E\u789F\u78A4\u78A8\u78AC\u78AD\u78B0\u78B1\u78B2\u78B3"],
+ ["8fd0a1", "\u78BB\u78BD\u78BF\u78C7\u78C8\u78C9\u78CC\u78CE\u78D2\u78D3\u78D5\u78D6\u78E4\u78DB\u78DF\u78E0\u78E1\u78E6\u78EA\u78F2\u78F3\u7900\u78F6\u78F7\u78FA\u78FB\u78FF\u7906\u790C\u7910\u791A\u791C\u791E\u791F\u7920\u7925\u7927\u7929\u792D\u7931\u7934\u7935\u793B\u793D\u793F\u7944\u7945\u7946\u794A\u794B\u794F\u7951\u7954\u7958\u795B\u795C\u7967\u7969\u796B\u7972\u7979\u797B\u797C\u797E\u798B\u798C\u7991\u7993\u7994\u7995\u7996\u7998\u799B\u799C\u79A1\u79A8\u79A9\u79AB\u79AF\u79B1\u79B4\u79B8\u79BB\u79C2\u79C4\u79C7\u79C8\u79CA\u79CF\u79D4\u79D6\u79DA\u79DD\u79DE"],
+ ["8fd1a1", "\u79E0\u79E2\u79E5\u79EA\u79EB\u79ED\u79F1\u79F8\u79FC\u7A02\u7A03\u7A07\u7A09\u7A0A\u7A0C\u7A11\u7A15\u7A1B\u7A1E\u7A21\u7A27\u7A2B\u7A2D\u7A2F\u7A30\u7A34\u7A35\u7A38\u7A39\u7A3A\u7A44\u7A45\u7A47\u7A48\u7A4C\u7A55\u7A56\u7A59\u7A5C\u7A5D\u7A5F\u7A60\u7A65\u7A67\u7A6A\u7A6D\u7A75\u7A78\u7A7E\u7A80\u7A82\u7A85\u7A86\u7A8A\u7A8B\u7A90\u7A91\u7A94\u7A9E\u7AA0\u7AA3\u7AAC\u7AB3\u7AB5\u7AB9\u7ABB\u7ABC\u7AC6\u7AC9\u7ACC\u7ACE\u7AD1\u7ADB\u7AE8\u7AE9\u7AEB\u7AEC\u7AF1\u7AF4\u7AFB\u7AFD\u7AFE\u7B07\u7B14\u7B1F\u7B23\u7B27\u7B29\u7B2A\u7B2B\u7B2D\u7B2E\u7B2F\u7B30"],
+ ["8fd2a1", "\u7B31\u7B34\u7B3D\u7B3F\u7B40\u7B41\u7B47\u7B4E\u7B55\u7B60\u7B64\u7B66\u7B69\u7B6A\u7B6D\u7B6F\u7B72\u7B73\u7B77\u7B84\u7B89\u7B8E\u7B90\u7B91\u7B96\u7B9B\u7B9E\u7BA0\u7BA5\u7BAC\u7BAF\u7BB0\u7BB2\u7BB5\u7BB6\u7BBA\u7BBB\u7BBC\u7BBD\u7BC2\u7BC5\u7BC8\u7BCA\u7BD4\u7BD6\u7BD7\u7BD9\u7BDA\u7BDB\u7BE8\u7BEA\u7BF2\u7BF4\u7BF5\u7BF8\u7BF9\u7BFA\u7BFC\u7BFE\u7C01\u7C02\u7C03\u7C04\u7C06\u7C09\u7C0B\u7C0C\u7C0E\u7C0F\u7C19\u7C1B\u7C20\u7C25\u7C26\u7C28\u7C2C\u7C31\u7C33\u7C34\u7C36\u7C39\u7C3A\u7C46\u7C4A\u7C55\u7C51\u7C52\u7C53\u7C59", 5],
+ ["8fd3a1", "\u7C61\u7C63\u7C67\u7C69\u7C6D\u7C6E\u7C70\u7C72\u7C79\u7C7C\u7C7D\u7C86\u7C87\u7C8F\u7C94\u7C9E\u7CA0\u7CA6\u7CB0\u7CB6\u7CB7\u7CBA\u7CBB\u7CBC\u7CBF\u7CC4\u7CC7\u7CC8\u7CC9\u7CCD\u7CCF\u7CD3\u7CD4\u7CD5\u7CD7\u7CD9\u7CDA\u7CDD\u7CE6\u7CE9\u7CEB\u7CF5\u7D03\u7D07\u7D08\u7D09\u7D0F\u7D11\u7D12\u7D13\u7D16\u7D1D\u7D1E\u7D23\u7D26\u7D2A\u7D2D\u7D31\u7D3C\u7D3D\u7D3E\u7D40\u7D41\u7D47\u7D48\u7D4D\u7D51\u7D53\u7D57\u7D59\u7D5A\u7D5C\u7D5D\u7D65\u7D67\u7D6A\u7D70\u7D78\u7D7A\u7D7B\u7D7F\u7D81\u7D82\u7D83\u7D85\u7D86\u7D88\u7D8B\u7D8C\u7D8D\u7D91\u7D96\u7D97\u7D9D"],
+ ["8fd4a1", "\u7D9E\u7DA6\u7DA7\u7DAA\u7DB3\u7DB6\u7DB7\u7DB9\u7DC2", 4, "\u7DCC\u7DCD\u7DCE\u7DD7\u7DD9\u7E00\u7DE2\u7DE5\u7DE6\u7DEA\u7DEB\u7DED\u7DF1\u7DF5\u7DF6\u7DF9\u7DFA\u7E08\u7E10\u7E11\u7E15\u7E17\u7E1C\u7E1D\u7E20\u7E27\u7E28\u7E2C\u7E2D\u7E2F\u7E33\u7E36\u7E3F\u7E44\u7E45\u7E47\u7E4E\u7E50\u7E52\u7E58\u7E5F\u7E61\u7E62\u7E65\u7E6B\u7E6E\u7E6F\u7E73\u7E78\u7E7E\u7E81\u7E86\u7E87\u7E8A\u7E8D\u7E91\u7E95\u7E98\u7E9A\u7E9D\u7E9E\u7F3C\u7F3B\u7F3D\u7F3E\u7F3F\u7F43\u7F44\u7F47\u7F4F\u7F52\u7F53\u7F5B\u7F5C\u7F5D\u7F61\u7F63\u7F64\u7F65\u7F66\u7F6D"],
+ ["8fd5a1", "\u7F71\u7F7D\u7F7E\u7F7F\u7F80\u7F8B\u7F8D\u7F8F\u7F90\u7F91\u7F96\u7F97\u7F9C\u7FA1\u7FA2\u7FA6\u7FAA\u7FAD\u7FB4\u7FBC\u7FBF\u7FC0\u7FC3\u7FC8\u7FCE\u7FCF\u7FDB\u7FDF\u7FE3\u7FE5\u7FE8\u7FEC\u7FEE\u7FEF\u7FF2\u7FFA\u7FFD\u7FFE\u7FFF\u8007\u8008\u800A\u800D\u800E\u800F\u8011\u8013\u8014\u8016\u801D\u801E\u801F\u8020\u8024\u8026\u802C\u802E\u8030\u8034\u8035\u8037\u8039\u803A\u803C\u803E\u8040\u8044\u8060\u8064\u8066\u806D\u8071\u8075\u8081\u8088\u808E\u809C\u809E\u80A6\u80A7\u80AB\u80B8\u80B9\u80C8\u80CD\u80CF\u80D2\u80D4\u80D5\u80D7\u80D8\u80E0\u80ED\u80EE"],
+ ["8fd6a1", "\u80F0\u80F2\u80F3\u80F6\u80F9\u80FA\u80FE\u8103\u810B\u8116\u8117\u8118\u811C\u811E\u8120\u8124\u8127\u812C\u8130\u8135\u813A\u813C\u8145\u8147\u814A\u814C\u8152\u8157\u8160\u8161\u8167\u8168\u8169\u816D\u816F\u8177\u8181\u8190\u8184\u8185\u8186\u818B\u818E\u8196\u8198\u819B\u819E\u81A2\u81AE\u81B2\u81B4\u81BB\u81CB\u81C3\u81C5\u81CA\u81CE\u81CF\u81D5\u81D7\u81DB\u81DD\u81DE\u81E1\u81E4\u81EB\u81EC\u81F0\u81F1\u81F2\u81F5\u81F6\u81F8\u81F9\u81FD\u81FF\u8200\u8203\u820F\u8213\u8214\u8219\u821A\u821D\u8221\u8222\u8228\u8232\u8234\u823A\u8243\u8244\u8245\u8246"],
+ ["8fd7a1", "\u824B\u824E\u824F\u8251\u8256\u825C\u8260\u8263\u8267\u826D\u8274\u827B\u827D\u827F\u8280\u8281\u8283\u8284\u8287\u8289\u828A\u828E\u8291\u8294\u8296\u8298\u829A\u829B\u82A0\u82A1\u82A3\u82A4\u82A7\u82A8\u82A9\u82AA\u82AE\u82B0\u82B2\u82B4\u82B7\u82BA\u82BC\u82BE\u82BF\u82C6\u82D0\u82D5\u82DA\u82E0\u82E2\u82E4\u82E8\u82EA\u82ED\u82EF\u82F6\u82F7\u82FD\u82FE\u8300\u8301\u8307\u8308\u830A\u830B\u8354\u831B\u831D\u831E\u831F\u8321\u8322\u832C\u832D\u832E\u8330\u8333\u8337\u833A\u833C\u833D\u8342\u8343\u8344\u8347\u834D\u834E\u8351\u8355\u8356\u8357\u8370\u8378"],
+ ["8fd8a1", "\u837D\u837F\u8380\u8382\u8384\u8386\u838D\u8392\u8394\u8395\u8398\u8399\u839B\u839C\u839D\u83A6\u83A7\u83A9\u83AC\u83BE\u83BF\u83C0\u83C7\u83C9\u83CF\u83D0\u83D1\u83D4\u83DD\u8353\u83E8\u83EA\u83F6\u83F8\u83F9\u83FC\u8401\u8406\u840A\u840F\u8411\u8415\u8419\u83AD\u842F\u8439\u8445\u8447\u8448\u844A\u844D\u844F\u8451\u8452\u8456\u8458\u8459\u845A\u845C\u8460\u8464\u8465\u8467\u846A\u8470\u8473\u8474\u8476\u8478\u847C\u847D\u8481\u8485\u8492\u8493\u8495\u849E\u84A6\u84A8\u84A9\u84AA\u84AF\u84B1\u84B4\u84BA\u84BD\u84BE\u84C0\u84C2\u84C7\u84C8\u84CC\u84CF\u84D3"],
+ ["8fd9a1", "\u84DC\u84E7\u84EA\u84EF\u84F0\u84F1\u84F2\u84F7\u8532\u84FA\u84FB\u84FD\u8502\u8503\u8507\u850C\u850E\u8510\u851C\u851E\u8522\u8523\u8524\u8525\u8527\u852A\u852B\u852F\u8533\u8534\u8536\u853F\u8546\u854F", 4, "\u8556\u8559\u855C", 6, "\u8564\u856B\u856F\u8579\u857A\u857B\u857D\u857F\u8581\u8585\u8586\u8589\u858B\u858C\u858F\u8593\u8598\u859D\u859F\u85A0\u85A2\u85A5\u85A7\u85B4\u85B6\u85B7\u85B8\u85BC\u85BD\u85BE\u85BF\u85C2\u85C7\u85CA\u85CB\u85CE\u85AD\u85D8\u85DA\u85DF\u85E0\u85E6\u85E8\u85ED\u85F3\u85F6\u85FC"],
+ ["8fdaa1", "\u85FF\u8600\u8604\u8605\u860D\u860E\u8610\u8611\u8612\u8618\u8619\u861B\u861E\u8621\u8627\u8629\u8636\u8638\u863A\u863C\u863D\u8640\u8642\u8646\u8652\u8653\u8656\u8657\u8658\u8659\u865D\u8660", 4, "\u8669\u866C\u866F\u8675\u8676\u8677\u867A\u868D\u8691\u8696\u8698\u869A\u869C\u86A1\u86A6\u86A7\u86A8\u86AD\u86B1\u86B3\u86B4\u86B5\u86B7\u86B8\u86B9\u86BF\u86C0\u86C1\u86C3\u86C5\u86D1\u86D2\u86D5\u86D7\u86DA\u86DC\u86E0\u86E3\u86E5\u86E7\u8688\u86FA\u86FC\u86FD\u8704\u8705\u8707\u870B\u870E\u870F\u8710\u8713\u8714\u8719\u871E\u871F\u8721\u8723"],
+ ["8fdba1", "\u8728\u872E\u872F\u8731\u8732\u8739\u873A\u873C\u873D\u873E\u8740\u8743\u8745\u874D\u8758\u875D\u8761\u8764\u8765\u876F\u8771\u8772\u877B\u8783", 6, "\u878B\u878C\u8790\u8793\u8795\u8797\u8798\u8799\u879E\u87A0\u87A3\u87A7\u87AC\u87AD\u87AE\u87B1\u87B5\u87BE\u87BF\u87C1\u87C8\u87C9\u87CA\u87CE\u87D5\u87D6\u87D9\u87DA\u87DC\u87DF\u87E2\u87E3\u87E4\u87EA\u87EB\u87ED\u87F1\u87F3\u87F8\u87FA\u87FF\u8801\u8803\u8806\u8809\u880A\u880B\u8810\u8819\u8812\u8813\u8814\u8818\u881A\u881B\u881C\u881E\u881F\u8828\u882D\u882E\u8830\u8832\u8835"],
+ ["8fdca1", "\u883A\u883C\u8841\u8843\u8845\u8848\u8849\u884A\u884B\u884E\u8851\u8855\u8856\u8858\u885A\u885C\u885F\u8860\u8864\u8869\u8871\u8879\u887B\u8880\u8898\u889A\u889B\u889C\u889F\u88A0\u88A8\u88AA\u88BA\u88BD\u88BE\u88C0\u88CA", 4, "\u88D1\u88D2\u88D3\u88DB\u88DE\u88E7\u88EF\u88F0\u88F1\u88F5\u88F7\u8901\u8906\u890D\u890E\u890F\u8915\u8916\u8918\u8919\u891A\u891C\u8920\u8926\u8927\u8928\u8930\u8931\u8932\u8935\u8939\u893A\u893E\u8940\u8942\u8945\u8946\u8949\u894F\u8952\u8957\u895A\u895B\u895C\u8961\u8962\u8963\u896B\u896E\u8970\u8973\u8975\u897A"],
+ ["8fdda1", "\u897B\u897C\u897D\u8989\u898D\u8990\u8994\u8995\u899B\u899C\u899F\u89A0\u89A5\u89B0\u89B4\u89B5\u89B6\u89B7\u89BC\u89D4", 4, "\u89E5\u89E9\u89EB\u89ED\u89F1\u89F3\u89F6\u89F9\u89FD\u89FF\u8A04\u8A05\u8A07\u8A0F\u8A11\u8A12\u8A14\u8A15\u8A1E\u8A20\u8A22\u8A24\u8A26\u8A2B\u8A2C\u8A2F\u8A35\u8A37\u8A3D\u8A3E\u8A40\u8A43\u8A45\u8A47\u8A49\u8A4D\u8A4E\u8A53\u8A56\u8A57\u8A58\u8A5C\u8A5D\u8A61\u8A65\u8A67\u8A75\u8A76\u8A77\u8A79\u8A7A\u8A7B\u8A7E\u8A7F\u8A80\u8A83\u8A86\u8A8B\u8A8F\u8A90\u8A92\u8A96\u8A97\u8A99\u8A9F\u8AA7\u8AA9\u8AAE\u8AAF\u8AB3"],
+ ["8fdea1", "\u8AB6\u8AB7\u8ABB\u8ABE\u8AC3\u8AC6\u8AC8\u8AC9\u8ACA\u8AD1\u8AD3\u8AD4\u8AD5\u8AD7\u8ADD\u8ADF\u8AEC\u8AF0\u8AF4\u8AF5\u8AF6\u8AFC\u8AFF\u8B05\u8B06\u8B0B\u8B11\u8B1C\u8B1E\u8B1F\u8B0A\u8B2D\u8B30\u8B37\u8B3C\u8B42", 4, "\u8B48\u8B52\u8B53\u8B54\u8B59\u8B4D\u8B5E\u8B63\u8B6D\u8B76\u8B78\u8B79\u8B7C\u8B7E\u8B81\u8B84\u8B85\u8B8B\u8B8D\u8B8F\u8B94\u8B95\u8B9C\u8B9E\u8B9F\u8C38\u8C39\u8C3D\u8C3E\u8C45\u8C47\u8C49\u8C4B\u8C4F\u8C51\u8C53\u8C54\u8C57\u8C58\u8C5B\u8C5D\u8C59\u8C63\u8C64\u8C66\u8C68\u8C69\u8C6D\u8C73\u8C75\u8C76\u8C7B\u8C7E\u8C86"],
+ ["8fdfa1", "\u8C87\u8C8B\u8C90\u8C92\u8C93\u8C99\u8C9B\u8C9C\u8CA4\u8CB9\u8CBA\u8CC5\u8CC6\u8CC9\u8CCB\u8CCF\u8CD6\u8CD5\u8CD9\u8CDD\u8CE1\u8CE8\u8CEC\u8CEF\u8CF0\u8CF2\u8CF5\u8CF7\u8CF8\u8CFE\u8CFF\u8D01\u8D03\u8D09\u8D12\u8D17\u8D1B\u8D65\u8D69\u8D6C\u8D6E\u8D7F\u8D82\u8D84\u8D88\u8D8D\u8D90\u8D91\u8D95\u8D9E\u8D9F\u8DA0\u8DA6\u8DAB\u8DAC\u8DAF\u8DB2\u8DB5\u8DB7\u8DB9\u8DBB\u8DC0\u8DC5\u8DC6\u8DC7\u8DC8\u8DCA\u8DCE\u8DD1\u8DD4\u8DD5\u8DD7\u8DD9\u8DE4\u8DE5\u8DE7\u8DEC\u8DF0\u8DBC\u8DF1\u8DF2\u8DF4\u8DFD\u8E01\u8E04\u8E05\u8E06\u8E0B\u8E11\u8E14\u8E16\u8E20\u8E21\u8E22"],
+ ["8fe0a1", "\u8E23\u8E26\u8E27\u8E31\u8E33\u8E36\u8E37\u8E38\u8E39\u8E3D\u8E40\u8E41\u8E4B\u8E4D\u8E4E\u8E4F\u8E54\u8E5B\u8E5C\u8E5D\u8E5E\u8E61\u8E62\u8E69\u8E6C\u8E6D\u8E6F\u8E70\u8E71\u8E79\u8E7A\u8E7B\u8E82\u8E83\u8E89\u8E90\u8E92\u8E95\u8E9A\u8E9B\u8E9D\u8E9E\u8EA2\u8EA7\u8EA9\u8EAD\u8EAE\u8EB3\u8EB5\u8EBA\u8EBB\u8EC0\u8EC1\u8EC3\u8EC4\u8EC7\u8ECF\u8ED1\u8ED4\u8EDC\u8EE8\u8EEE\u8EF0\u8EF1\u8EF7\u8EF9\u8EFA\u8EED\u8F00\u8F02\u8F07\u8F08\u8F0F\u8F10\u8F16\u8F17\u8F18\u8F1E\u8F20\u8F21\u8F23\u8F25\u8F27\u8F28\u8F2C\u8F2D\u8F2E\u8F34\u8F35\u8F36\u8F37\u8F3A\u8F40\u8F41"],
+ ["8fe1a1", "\u8F43\u8F47\u8F4F\u8F51", 4, "\u8F58\u8F5D\u8F5E\u8F65\u8F9D\u8FA0\u8FA1\u8FA4\u8FA5\u8FA6\u8FB5\u8FB6\u8FB8\u8FBE\u8FC0\u8FC1\u8FC6\u8FCA\u8FCB\u8FCD\u8FD0\u8FD2\u8FD3\u8FD5\u8FE0\u8FE3\u8FE4\u8FE8\u8FEE\u8FF1\u8FF5\u8FF6\u8FFB\u8FFE\u9002\u9004\u9008\u900C\u9018\u901B\u9028\u9029\u902F\u902A\u902C\u902D\u9033\u9034\u9037\u903F\u9043\u9044\u904C\u905B\u905D\u9062\u9066\u9067\u906C\u9070\u9074\u9079\u9085\u9088\u908B\u908C\u908E\u9090\u9095\u9097\u9098\u9099\u909B\u90A0\u90A1\u90A2\u90A5\u90B0\u90B2\u90B3\u90B4\u90B6\u90BD\u90CC\u90BE\u90C3"],
+ ["8fe2a1", "\u90C4\u90C5\u90C7\u90C8\u90D5\u90D7\u90D8\u90D9\u90DC\u90DD\u90DF\u90E5\u90D2\u90F6\u90EB\u90EF\u90F0\u90F4\u90FE\u90FF\u9100\u9104\u9105\u9106\u9108\u910D\u9110\u9114\u9116\u9117\u9118\u911A\u911C\u911E\u9120\u9125\u9122\u9123\u9127\u9129\u912E\u912F\u9131\u9134\u9136\u9137\u9139\u913A\u913C\u913D\u9143\u9147\u9148\u914F\u9153\u9157\u9159\u915A\u915B\u9161\u9164\u9167\u916D\u9174\u9179\u917A\u917B\u9181\u9183\u9185\u9186\u918A\u918E\u9191\u9193\u9194\u9195\u9198\u919E\u91A1\u91A6\u91A8\u91AC\u91AD\u91AE\u91B0\u91B1\u91B2\u91B3\u91B6\u91BB\u91BC\u91BD\u91BF"],
+ ["8fe3a1", "\u91C2\u91C3\u91C5\u91D3\u91D4\u91D7\u91D9\u91DA\u91DE\u91E4\u91E5\u91E9\u91EA\u91EC", 5, "\u91F7\u91F9\u91FB\u91FD\u9200\u9201\u9204\u9205\u9206\u9207\u9209\u920A\u920C\u9210\u9212\u9213\u9216\u9218\u921C\u921D\u9223\u9224\u9225\u9226\u9228\u922E\u922F\u9230\u9233\u9235\u9236\u9238\u9239\u923A\u923C\u923E\u9240\u9242\u9243\u9246\u9247\u924A\u924D\u924E\u924F\u9251\u9258\u9259\u925C\u925D\u9260\u9261\u9265\u9267\u9268\u9269\u926E\u926F\u9270\u9275", 4, "\u927B\u927C\u927D\u927F\u9288\u9289\u928A\u928D\u928E\u9292\u9297"],
+ ["8fe4a1", "\u9299\u929F\u92A0\u92A4\u92A5\u92A7\u92A8\u92AB\u92AF\u92B2\u92B6\u92B8\u92BA\u92BB\u92BC\u92BD\u92BF", 4, "\u92C5\u92C6\u92C7\u92C8\u92CB\u92CC\u92CD\u92CE\u92D0\u92D3\u92D5\u92D7\u92D8\u92D9\u92DC\u92DD\u92DF\u92E0\u92E1\u92E3\u92E5\u92E7\u92E8\u92EC\u92EE\u92F0\u92F9\u92FB\u92FF\u9300\u9302\u9308\u930D\u9311\u9314\u9315\u931C\u931D\u931E\u931F\u9321\u9324\u9325\u9327\u9329\u932A\u9333\u9334\u9336\u9337\u9347\u9348\u9349\u9350\u9351\u9352\u9355\u9357\u9358\u935A\u935E\u9364\u9365\u9367\u9369\u936A\u936D\u936F\u9370\u9371\u9373\u9374\u9376"],
+ ["8fe5a1", "\u937A\u937D\u937F\u9380\u9381\u9382\u9388\u938A\u938B\u938D\u938F\u9392\u9395\u9398\u939B\u939E\u93A1\u93A3\u93A4\u93A6\u93A8\u93AB\u93B4\u93B5\u93B6\u93BA\u93A9\u93C1\u93C4\u93C5\u93C6\u93C7\u93C9", 4, "\u93D3\u93D9\u93DC\u93DE\u93DF\u93E2\u93E6\u93E7\u93F9\u93F7\u93F8\u93FA\u93FB\u93FD\u9401\u9402\u9404\u9408\u9409\u940D\u940E\u940F\u9415\u9416\u9417\u941F\u942E\u942F\u9431\u9432\u9433\u9434\u943B\u943F\u943D\u9443\u9445\u9448\u944A\u944C\u9455\u9459\u945C\u945F\u9461\u9463\u9468\u946B\u946D\u946E\u946F\u9471\u9472\u9484\u9483\u9578\u9579"],
+ ["8fe6a1", "\u957E\u9584\u9588\u958C\u958D\u958E\u959D\u959E\u959F\u95A1\u95A6\u95A9\u95AB\u95AC\u95B4\u95B6\u95BA\u95BD\u95BF\u95C6\u95C8\u95C9\u95CB\u95D0\u95D1\u95D2\u95D3\u95D9\u95DA\u95DD\u95DE\u95DF\u95E0\u95E4\u95E6\u961D\u961E\u9622\u9624\u9625\u9626\u962C\u9631\u9633\u9637\u9638\u9639\u963A\u963C\u963D\u9641\u9652\u9654\u9656\u9657\u9658\u9661\u966E\u9674\u967B\u967C\u967E\u967F\u9681\u9682\u9683\u9684\u9689\u9691\u9696\u969A\u969D\u969F\u96A4\u96A5\u96A6\u96A9\u96AE\u96AF\u96B3\u96BA\u96CA\u96D2\u5DB2\u96D8\u96DA\u96DD\u96DE\u96DF\u96E9\u96EF\u96F1\u96FA\u9702"],
+ ["8fe7a1", "\u9703\u9705\u9709\u971A\u971B\u971D\u9721\u9722\u9723\u9728\u9731\u9733\u9741\u9743\u974A\u974E\u974F\u9755\u9757\u9758\u975A\u975B\u9763\u9767\u976A\u976E\u9773\u9776\u9777\u9778\u977B\u977D\u977F\u9780\u9789\u9795\u9796\u9797\u9799\u979A\u979E\u979F\u97A2\u97AC\u97AE\u97B1\u97B2\u97B5\u97B6\u97B8\u97B9\u97BA\u97BC\u97BE\u97BF\u97C1\u97C4\u97C5\u97C7\u97C9\u97CA\u97CC\u97CD\u97CE\u97D0\u97D1\u97D4\u97D7\u97D8\u97D9\u97DD\u97DE\u97E0\u97DB\u97E1\u97E4\u97EF\u97F1\u97F4\u97F7\u97F8\u97FA\u9807\u980A\u9819\u980D\u980E\u9814\u9816\u981C\u981E\u9820\u9823\u9826"],
+ ["8fe8a1", "\u982B\u982E\u982F\u9830\u9832\u9833\u9835\u9825\u983E\u9844\u9847\u984A\u9851\u9852\u9853\u9856\u9857\u9859\u985A\u9862\u9863\u9865\u9866\u986A\u986C\u98AB\u98AD\u98AE\u98B0\u98B4\u98B7\u98B8\u98BA\u98BB\u98BF\u98C2\u98C5\u98C8\u98CC\u98E1\u98E3\u98E5\u98E6\u98E7\u98EA\u98F3\u98F6\u9902\u9907\u9908\u9911\u9915\u9916\u9917\u991A\u991B\u991C\u991F\u9922\u9926\u9927\u992B\u9931", 4, "\u9939\u993A\u993B\u993C\u9940\u9941\u9946\u9947\u9948\u994D\u994E\u9954\u9958\u9959\u995B\u995C\u995E\u995F\u9960\u999B\u999D\u999F\u99A6\u99B0\u99B1\u99B2\u99B5"],
+ ["8fe9a1", "\u99B9\u99BA\u99BD\u99BF\u99C3\u99C9\u99D3\u99D4\u99D9\u99DA\u99DC\u99DE\u99E7\u99EA\u99EB\u99EC\u99F0\u99F4\u99F5\u99F9\u99FD\u99FE\u9A02\u9A03\u9A04\u9A0B\u9A0C\u9A10\u9A11\u9A16\u9A1E\u9A20\u9A22\u9A23\u9A24\u9A27\u9A2D\u9A2E\u9A33\u9A35\u9A36\u9A38\u9A47\u9A41\u9A44\u9A4A\u9A4B\u9A4C\u9A4E\u9A51\u9A54\u9A56\u9A5D\u9AAA\u9AAC\u9AAE\u9AAF\u9AB2\u9AB4\u9AB5\u9AB6\u9AB9\u9ABB\u9ABE\u9ABF\u9AC1\u9AC3\u9AC6\u9AC8\u9ACE\u9AD0\u9AD2\u9AD5\u9AD6\u9AD7\u9ADB\u9ADC\u9AE0\u9AE4\u9AE5\u9AE7\u9AE9\u9AEC\u9AF2\u9AF3\u9AF5\u9AF9\u9AFA\u9AFD\u9AFF", 4],
+ ["8feaa1", "\u9B04\u9B05\u9B08\u9B09\u9B0B\u9B0C\u9B0D\u9B0E\u9B10\u9B12\u9B16\u9B19\u9B1B\u9B1C\u9B20\u9B26\u9B2B\u9B2D\u9B33\u9B34\u9B35\u9B37\u9B39\u9B3A\u9B3D\u9B48\u9B4B\u9B4C\u9B55\u9B56\u9B57\u9B5B\u9B5E\u9B61\u9B63\u9B65\u9B66\u9B68\u9B6A", 4, "\u9B73\u9B75\u9B77\u9B78\u9B79\u9B7F\u9B80\u9B84\u9B85\u9B86\u9B87\u9B89\u9B8A\u9B8B\u9B8D\u9B8F\u9B90\u9B94\u9B9A\u9B9D\u9B9E\u9BA6\u9BA7\u9BA9\u9BAC\u9BB0\u9BB1\u9BB2\u9BB7\u9BB8\u9BBB\u9BBC\u9BBE\u9BBF\u9BC1\u9BC7\u9BC8\u9BCE\u9BD0\u9BD7\u9BD8\u9BDD\u9BDF\u9BE5\u9BE7\u9BEA\u9BEB\u9BEF\u9BF3\u9BF7\u9BF8"],
+ ["8feba1", "\u9BF9\u9BFA\u9BFD\u9BFF\u9C00\u9C02\u9C0B\u9C0F\u9C11\u9C16\u9C18\u9C19\u9C1A\u9C1C\u9C1E\u9C22\u9C23\u9C26", 4, "\u9C31\u9C35\u9C36\u9C37\u9C3D\u9C41\u9C43\u9C44\u9C45\u9C49\u9C4A\u9C4E\u9C4F\u9C50\u9C53\u9C54\u9C56\u9C58\u9C5B\u9C5D\u9C5E\u9C5F\u9C63\u9C69\u9C6A\u9C5C\u9C6B\u9C68\u9C6E\u9C70\u9C72\u9C75\u9C77\u9C7B\u9CE6\u9CF2\u9CF7\u9CF9\u9D0B\u9D02\u9D11\u9D17\u9D18\u9D1C\u9D1D\u9D1E\u9D2F\u9D30\u9D32\u9D33\u9D34\u9D3A\u9D3C\u9D45\u9D3D\u9D42\u9D43\u9D47\u9D4A\u9D53\u9D54\u9D5F\u9D63\u9D62\u9D65\u9D69\u9D6A\u9D6B\u9D70\u9D76\u9D77\u9D7B"],
+ ["8feca1", "\u9D7C\u9D7E\u9D83\u9D84\u9D86\u9D8A\u9D8D\u9D8E\u9D92\u9D93\u9D95\u9D96\u9D97\u9D98\u9DA1\u9DAA\u9DAC\u9DAE\u9DB1\u9DB5\u9DB9\u9DBC\u9DBF\u9DC3\u9DC7\u9DC9\u9DCA\u9DD4\u9DD5\u9DD6\u9DD7\u9DDA\u9DDE\u9DDF\u9DE0\u9DE5\u9DE7\u9DE9\u9DEB\u9DEE\u9DF0\u9DF3\u9DF4\u9DFE\u9E0A\u9E02\u9E07\u9E0E\u9E10\u9E11\u9E12\u9E15\u9E16\u9E19\u9E1C\u9E1D\u9E7A\u9E7B\u9E7C\u9E80\u9E82\u9E83\u9E84\u9E85\u9E87\u9E8E\u9E8F\u9E96\u9E98\u9E9B\u9E9E\u9EA4\u9EA8\u9EAC\u9EAE\u9EAF\u9EB0\u9EB3\u9EB4\u9EB5\u9EC6\u9EC8\u9ECB\u9ED5\u9EDF\u9EE4\u9EE7\u9EEC\u9EED\u9EEE\u9EF0\u9EF1\u9EF2\u9EF5"],
+ ["8feda1", "\u9EF8\u9EFF\u9F02\u9F03\u9F09\u9F0F\u9F10\u9F11\u9F12\u9F14\u9F16\u9F17\u9F19\u9F1A\u9F1B\u9F1F\u9F22\u9F26\u9F2A\u9F2B\u9F2F\u9F31\u9F32\u9F34\u9F37\u9F39\u9F3A\u9F3C\u9F3D\u9F3F\u9F41\u9F43", 4, "\u9F53\u9F55\u9F56\u9F57\u9F58\u9F5A\u9F5D\u9F5E\u9F68\u9F69\u9F6D", 4, "\u9F73\u9F75\u9F7A\u9F7D\u9F8F\u9F90\u9F91\u9F92\u9F94\u9F96\u9F97\u9F9E\u9FA1\u9FA2\u9FA3\u9FA5"]
+ ];
+ }
+});
+
+// ../../node_modules/.pnpm/iconv-lite@0.7.3/node_modules/iconv-lite/encodings/tables/cp936.json
+var require_cp936 = __commonJS({
+ "../../node_modules/.pnpm/iconv-lite@0.7.3/node_modules/iconv-lite/encodings/tables/cp936.json"(exports, module) {
+ module.exports = [
+ ["0", "\0", 127, "\u20AC"],
+ ["8140", "\u4E02\u4E04\u4E05\u4E06\u4E0F\u4E12\u4E17\u4E1F\u4E20\u4E21\u4E23\u4E26\u4E29\u4E2E\u4E2F\u4E31\u4E33\u4E35\u4E37\u4E3C\u4E40\u4E41\u4E42\u4E44\u4E46\u4E4A\u4E51\u4E55\u4E57\u4E5A\u4E5B\u4E62\u4E63\u4E64\u4E65\u4E67\u4E68\u4E6A", 5, "\u4E72\u4E74", 9, "\u4E7F", 6, "\u4E87\u4E8A"],
+ ["8180", "\u4E90\u4E96\u4E97\u4E99\u4E9C\u4E9D\u4E9E\u4EA3\u4EAA\u4EAF\u4EB0\u4EB1\u4EB4\u4EB6\u4EB7\u4EB8\u4EB9\u4EBC\u4EBD\u4EBE\u4EC8\u4ECC\u4ECF\u4ED0\u4ED2\u4EDA\u4EDB\u4EDC\u4EE0\u4EE2\u4EE6\u4EE7\u4EE9\u4EED\u4EEE\u4EEF\u4EF1\u4EF4\u4EF8\u4EF9\u4EFA\u4EFC\u4EFE\u4F00\u4F02", 6, "\u4F0B\u4F0C\u4F12", 4, "\u4F1C\u4F1D\u4F21\u4F23\u4F28\u4F29\u4F2C\u4F2D\u4F2E\u4F31\u4F33\u4F35\u4F37\u4F39\u4F3B\u4F3E", 4, "\u4F44\u4F45\u4F47", 5, "\u4F52\u4F54\u4F56\u4F61\u4F62\u4F66\u4F68\u4F6A\u4F6B\u4F6D\u4F6E\u4F71\u4F72\u4F75\u4F77\u4F78\u4F79\u4F7A\u4F7D\u4F80\u4F81\u4F82\u4F85\u4F86\u4F87\u4F8A\u4F8C\u4F8E\u4F90\u4F92\u4F93\u4F95\u4F96\u4F98\u4F99\u4F9A\u4F9C\u4F9E\u4F9F\u4FA1\u4FA2"],
+ ["8240", "\u4FA4\u4FAB\u4FAD\u4FB0", 4, "\u4FB6", 8, "\u4FC0\u4FC1\u4FC2\u4FC6\u4FC7\u4FC8\u4FC9\u4FCB\u4FCC\u4FCD\u4FD2", 4, "\u4FD9\u4FDB\u4FE0\u4FE2\u4FE4\u4FE5\u4FE7\u4FEB\u4FEC\u4FF0\u4FF2\u4FF4\u4FF5\u4FF6\u4FF7\u4FF9\u4FFB\u4FFC\u4FFD\u4FFF", 11],
+ ["8280", "\u500B\u500E\u5010\u5011\u5013\u5015\u5016\u5017\u501B\u501D\u501E\u5020\u5022\u5023\u5024\u5027\u502B\u502F", 10, "\u503B\u503D\u503F\u5040\u5041\u5042\u5044\u5045\u5046\u5049\u504A\u504B\u504D\u5050", 4, "\u5056\u5057\u5058\u5059\u505B\u505D", 7, "\u5066", 5, "\u506D", 8, "\u5078\u5079\u507A\u507C\u507D\u5081\u5082\u5083\u5084\u5086\u5087\u5089\u508A\u508B\u508C\u508E", 20, "\u50A4\u50A6\u50AA\u50AB\u50AD", 4, "\u50B3", 6, "\u50BC"],
+ ["8340", "\u50BD", 17, "\u50D0", 5, "\u50D7\u50D8\u50D9\u50DB", 10, "\u50E8\u50E9\u50EA\u50EB\u50EF\u50F0\u50F1\u50F2\u50F4\u50F6", 4, "\u50FC", 9, "\u5108"],
+ ["8380", "\u5109\u510A\u510C", 5, "\u5113", 13, "\u5122", 28, "\u5142\u5147\u514A\u514C\u514E\u514F\u5150\u5152\u5153\u5157\u5158\u5159\u515B\u515D", 4, "\u5163\u5164\u5166\u5167\u5169\u516A\u516F\u5172\u517A\u517E\u517F\u5183\u5184\u5186\u5187\u518A\u518B\u518E\u518F\u5190\u5191\u5193\u5194\u5198\u519A\u519D\u519E\u519F\u51A1\u51A3\u51A6", 4, "\u51AD\u51AE\u51B4\u51B8\u51B9\u51BA\u51BE\u51BF\u51C1\u51C2\u51C3\u51C5\u51C8\u51CA\u51CD\u51CE\u51D0\u51D2", 5],
+ ["8440", "\u51D8\u51D9\u51DA\u51DC\u51DE\u51DF\u51E2\u51E3\u51E5", 5, "\u51EC\u51EE\u51F1\u51F2\u51F4\u51F7\u51FE\u5204\u5205\u5209\u520B\u520C\u520F\u5210\u5213\u5214\u5215\u521C\u521E\u521F\u5221\u5222\u5223\u5225\u5226\u5227\u522A\u522C\u522F\u5231\u5232\u5234\u5235\u523C\u523E\u5244", 5, "\u524B\u524E\u524F\u5252\u5253\u5255\u5257\u5258"],
+ ["8480", "\u5259\u525A\u525B\u525D\u525F\u5260\u5262\u5263\u5264\u5266\u5268\u526B\u526C\u526D\u526E\u5270\u5271\u5273", 9, "\u527E\u5280\u5283", 4, "\u5289", 6, "\u5291\u5292\u5294", 6, "\u529C\u52A4\u52A5\u52A6\u52A7\u52AE\u52AF\u52B0\u52B4", 9, "\u52C0\u52C1\u52C2\u52C4\u52C5\u52C6\u52C8\u52CA\u52CC\u52CD\u52CE\u52CF\u52D1\u52D3\u52D4\u52D5\u52D7\u52D9", 5, "\u52E0\u52E1\u52E2\u52E3\u52E5", 10, "\u52F1", 7, "\u52FB\u52FC\u52FD\u5301\u5302\u5303\u5304\u5307\u5309\u530A\u530B\u530C\u530E"],
+ ["8540", "\u5311\u5312\u5313\u5314\u5318\u531B\u531C\u531E\u531F\u5322\u5324\u5325\u5327\u5328\u5329\u532B\u532C\u532D\u532F", 9, "\u533C\u533D\u5340\u5342\u5344\u5346\u534B\u534C\u534D\u5350\u5354\u5358\u5359\u535B\u535D\u5365\u5368\u536A\u536C\u536D\u5372\u5376\u5379\u537B\u537C\u537D\u537E\u5380\u5381\u5383\u5387\u5388\u538A\u538E\u538F"],
+ ["8580", "\u5390", 4, "\u5396\u5397\u5399\u539B\u539C\u539E\u53A0\u53A1\u53A4\u53A7\u53AA\u53AB\u53AC\u53AD\u53AF", 6, "\u53B7\u53B8\u53B9\u53BA\u53BC\u53BD\u53BE\u53C0\u53C3", 4, "\u53CE\u53CF\u53D0\u53D2\u53D3\u53D5\u53DA\u53DC\u53DD\u53DE\u53E1\u53E2\u53E7\u53F4\u53FA\u53FE\u53FF\u5400\u5402\u5405\u5407\u540B\u5414\u5418\u5419\u541A\u541C\u5422\u5424\u5425\u542A\u5430\u5433\u5436\u5437\u543A\u543D\u543F\u5441\u5442\u5444\u5445\u5447\u5449\u544C\u544D\u544E\u544F\u5451\u545A\u545D", 4, "\u5463\u5465\u5467\u5469", 7, "\u5474\u5479\u547A\u547E\u547F\u5481\u5483\u5485\u5487\u5488\u5489\u548A\u548D\u5491\u5493\u5497\u5498\u549C\u549E\u549F\u54A0\u54A1"],
+ ["8640", "\u54A2\u54A5\u54AE\u54B0\u54B2\u54B5\u54B6\u54B7\u54B9\u54BA\u54BC\u54BE\u54C3\u54C5\u54CA\u54CB\u54D6\u54D8\u54DB\u54E0", 4, "\u54EB\u54EC\u54EF\u54F0\u54F1\u54F4", 5, "\u54FB\u54FE\u5500\u5502\u5503\u5504\u5505\u5508\u550A", 4, "\u5512\u5513\u5515", 5, "\u551C\u551D\u551E\u551F\u5521\u5525\u5526"],
+ ["8680", "\u5528\u5529\u552B\u552D\u5532\u5534\u5535\u5536\u5538\u5539\u553A\u553B\u553D\u5540\u5542\u5545\u5547\u5548\u554B", 4, "\u5551\u5552\u5553\u5554\u5557", 4, "\u555D\u555E\u555F\u5560\u5562\u5563\u5568\u5569\u556B\u556F", 5, "\u5579\u557A\u557D\u557F\u5585\u5586\u558C\u558D\u558E\u5590\u5592\u5593\u5595\u5596\u5597\u559A\u559B\u559E\u55A0", 6, "\u55A8", 8, "\u55B2\u55B4\u55B6\u55B8\u55BA\u55BC\u55BF", 4, "\u55C6\u55C7\u55C8\u55CA\u55CB\u55CE\u55CF\u55D0\u55D5\u55D7", 4, "\u55DE\u55E0\u55E2\u55E7\u55E9\u55ED\u55EE\u55F0\u55F1\u55F4\u55F6\u55F8", 4, "\u55FF\u5602\u5603\u5604\u5605"],
+ ["8740", "\u5606\u5607\u560A\u560B\u560D\u5610", 7, "\u5619\u561A\u561C\u561D\u5620\u5621\u5622\u5625\u5626\u5628\u5629\u562A\u562B\u562E\u562F\u5630\u5633\u5635\u5637\u5638\u563A\u563C\u563D\u563E\u5640", 11, "\u564F", 4, "\u5655\u5656\u565A\u565B\u565D", 4],
+ ["8780", "\u5663\u5665\u5666\u5667\u566D\u566E\u566F\u5670\u5672\u5673\u5674\u5675\u5677\u5678\u5679\u567A\u567D", 7, "\u5687", 6, "\u5690\u5691\u5692\u5694", 14, "\u56A4", 10, "\u56B0", 6, "\u56B8\u56B9\u56BA\u56BB\u56BD", 12, "\u56CB", 8, "\u56D5\u56D6\u56D8\u56D9\u56DC\u56E3\u56E5", 5, "\u56EC\u56EE\u56EF\u56F2\u56F3\u56F6\u56F7\u56F8\u56FB\u56FC\u5700\u5701\u5702\u5705\u5707\u570B", 6],
+ ["8840", "\u5712", 9, "\u571D\u571E\u5720\u5721\u5722\u5724\u5725\u5726\u5727\u572B\u5731\u5732\u5734", 4, "\u573C\u573D\u573F\u5741\u5743\u5744\u5745\u5746\u5748\u5749\u574B\u5752", 4, "\u5758\u5759\u5762\u5763\u5765\u5767\u576C\u576E\u5770\u5771\u5772\u5774\u5775\u5778\u5779\u577A\u577D\u577E\u577F\u5780"],
+ ["8880", "\u5781\u5787\u5788\u5789\u578A\u578D", 4, "\u5794", 6, "\u579C\u579D\u579E\u579F\u57A5\u57A8\u57AA\u57AC\u57AF\u57B0\u57B1\u57B3\u57B5\u57B6\u57B7\u57B9", 8, "\u57C4", 6, "\u57CC\u57CD\u57D0\u57D1\u57D3\u57D6\u57D7\u57DB\u57DC\u57DE\u57E1\u57E2\u57E3\u57E5", 7, "\u57EE\u57F0\u57F1\u57F2\u57F3\u57F5\u57F6\u57F7\u57FB\u57FC\u57FE\u57FF\u5801\u5803\u5804\u5805\u5808\u5809\u580A\u580C\u580E\u580F\u5810\u5812\u5813\u5814\u5816\u5817\u5818\u581A\u581B\u581C\u581D\u581F\u5822\u5823\u5825", 4, "\u582B", 4, "\u5831\u5832\u5833\u5834\u5836", 7],
+ ["8940", "\u583E", 5, "\u5845", 6, "\u584E\u584F\u5850\u5852\u5853\u5855\u5856\u5857\u5859", 4, "\u585F", 5, "\u5866", 4, "\u586D", 16, "\u587F\u5882\u5884\u5886\u5887\u5888\u588A\u588B\u588C"],
+ ["8980", "\u588D", 4, "\u5894", 4, "\u589B\u589C\u589D\u58A0", 7, "\u58AA", 17, "\u58BD\u58BE\u58BF\u58C0\u58C2\u58C3\u58C4\u58C6", 10, "\u58D2\u58D3\u58D4\u58D6", 13, "\u58E5", 5, "\u58ED\u58EF\u58F1\u58F2\u58F4\u58F5\u58F7\u58F8\u58FA", 7, "\u5903\u5905\u5906\u5908", 4, "\u590E\u5910\u5911\u5912\u5913\u5917\u5918\u591B\u591D\u591E\u5920\u5921\u5922\u5923\u5926\u5928\u592C\u5930\u5932\u5933\u5935\u5936\u593B"],
+ ["8a40", "\u593D\u593E\u593F\u5940\u5943\u5945\u5946\u594A\u594C\u594D\u5950\u5952\u5953\u5959\u595B", 4, "\u5961\u5963\u5964\u5966", 12, "\u5975\u5977\u597A\u597B\u597C\u597E\u597F\u5980\u5985\u5989\u598B\u598C\u598E\u598F\u5990\u5991\u5994\u5995\u5998\u599A\u599B\u599C\u599D\u599F\u59A0\u59A1\u59A2\u59A6"],
+ ["8a80", "\u59A7\u59AC\u59AD\u59B0\u59B1\u59B3", 5, "\u59BA\u59BC\u59BD\u59BF", 6, "\u59C7\u59C8\u59C9\u59CC\u59CD\u59CE\u59CF\u59D5\u59D6\u59D9\u59DB\u59DE", 4, "\u59E4\u59E6\u59E7\u59E9\u59EA\u59EB\u59ED", 11, "\u59FA\u59FC\u59FD\u59FE\u5A00\u5A02\u5A0A\u5A0B\u5A0D\u5A0E\u5A0F\u5A10\u5A12\u5A14\u5A15\u5A16\u5A17\u5A19\u5A1A\u5A1B\u5A1D\u5A1E\u5A21\u5A22\u5A24\u5A26\u5A27\u5A28\u5A2A", 6, "\u5A33\u5A35\u5A37", 4, "\u5A3D\u5A3E\u5A3F\u5A41", 4, "\u5A47\u5A48\u5A4B", 9, "\u5A56\u5A57\u5A58\u5A59\u5A5B", 5],
+ ["8b40", "\u5A61\u5A63\u5A64\u5A65\u5A66\u5A68\u5A69\u5A6B", 8, "\u5A78\u5A79\u5A7B\u5A7C\u5A7D\u5A7E\u5A80", 17, "\u5A93", 6, "\u5A9C", 13, "\u5AAB\u5AAC"],
+ ["8b80", "\u5AAD", 4, "\u5AB4\u5AB6\u5AB7\u5AB9", 4, "\u5ABF\u5AC0\u5AC3", 5, "\u5ACA\u5ACB\u5ACD", 4, "\u5AD3\u5AD5\u5AD7\u5AD9\u5ADA\u5ADB\u5ADD\u5ADE\u5ADF\u5AE2\u5AE4\u5AE5\u5AE7\u5AE8\u5AEA\u5AEC", 4, "\u5AF2", 22, "\u5B0A", 11, "\u5B18", 25, "\u5B33\u5B35\u5B36\u5B38", 7, "\u5B41", 6],
+ ["8c40", "\u5B48", 7, "\u5B52\u5B56\u5B5E\u5B60\u5B61\u5B67\u5B68\u5B6B\u5B6D\u5B6E\u5B6F\u5B72\u5B74\u5B76\u5B77\u5B78\u5B79\u5B7B\u5B7C\u5B7E\u5B7F\u5B82\u5B86\u5B8A\u5B8D\u5B8E\u5B90\u5B91\u5B92\u5B94\u5B96\u5B9F\u5BA7\u5BA8\u5BA9\u5BAC\u5BAD\u5BAE\u5BAF\u5BB1\u5BB2\u5BB7\u5BBA\u5BBB\u5BBC\u5BC0\u5BC1\u5BC3\u5BC8\u5BC9\u5BCA\u5BCB\u5BCD\u5BCE\u5BCF"],
+ ["8c80", "\u5BD1\u5BD4", 8, "\u5BE0\u5BE2\u5BE3\u5BE6\u5BE7\u5BE9", 4, "\u5BEF\u5BF1", 6, "\u5BFD\u5BFE\u5C00\u5C02\u5C03\u5C05\u5C07\u5C08\u5C0B\u5C0C\u5C0D\u5C0E\u5C10\u5C12\u5C13\u5C17\u5C19\u5C1B\u5C1E\u5C1F\u5C20\u5C21\u5C23\u5C26\u5C28\u5C29\u5C2A\u5C2B\u5C2D\u5C2E\u5C2F\u5C30\u5C32\u5C33\u5C35\u5C36\u5C37\u5C43\u5C44\u5C46\u5C47\u5C4C\u5C4D\u5C52\u5C53\u5C54\u5C56\u5C57\u5C58\u5C5A\u5C5B\u5C5C\u5C5D\u5C5F\u5C62\u5C64\u5C67", 6, "\u5C70\u5C72", 6, "\u5C7B\u5C7C\u5C7D\u5C7E\u5C80\u5C83", 4, "\u5C89\u5C8A\u5C8B\u5C8E\u5C8F\u5C92\u5C93\u5C95\u5C9D", 4, "\u5CA4", 4],
+ ["8d40", "\u5CAA\u5CAE\u5CAF\u5CB0\u5CB2\u5CB4\u5CB6\u5CB9\u5CBA\u5CBB\u5CBC\u5CBE\u5CC0\u5CC2\u5CC3\u5CC5", 5, "\u5CCC", 5, "\u5CD3", 5, "\u5CDA", 6, "\u5CE2\u5CE3\u5CE7\u5CE9\u5CEB\u5CEC\u5CEE\u5CEF\u5CF1", 9, "\u5CFC", 4],
+ ["8d80", "\u5D01\u5D04\u5D05\u5D08", 5, "\u5D0F", 4, "\u5D15\u5D17\u5D18\u5D19\u5D1A\u5D1C\u5D1D\u5D1F", 4, "\u5D25\u5D28\u5D2A\u5D2B\u5D2C\u5D2F", 4, "\u5D35", 7, "\u5D3F", 7, "\u5D48\u5D49\u5D4D", 10, "\u5D59\u5D5A\u5D5C\u5D5E", 10, "\u5D6A\u5D6D\u5D6E\u5D70\u5D71\u5D72\u5D73\u5D75", 12, "\u5D83", 21, "\u5D9A\u5D9B\u5D9C\u5D9E\u5D9F\u5DA0"],
+ ["8e40", "\u5DA1", 21, "\u5DB8", 12, "\u5DC6", 6, "\u5DCE", 12, "\u5DDC\u5DDF\u5DE0\u5DE3\u5DE4\u5DEA\u5DEC\u5DED"],
+ ["8e80", "\u5DF0\u5DF5\u5DF6\u5DF8", 4, "\u5DFF\u5E00\u5E04\u5E07\u5E09\u5E0A\u5E0B\u5E0D\u5E0E\u5E12\u5E13\u5E17\u5E1E", 7, "\u5E28", 4, "\u5E2F\u5E30\u5E32", 4, "\u5E39\u5E3A\u5E3E\u5E3F\u5E40\u5E41\u5E43\u5E46", 5, "\u5E4D", 6, "\u5E56", 4, "\u5E5C\u5E5D\u5E5F\u5E60\u5E63", 14, "\u5E75\u5E77\u5E79\u5E7E\u5E81\u5E82\u5E83\u5E85\u5E88\u5E89\u5E8C\u5E8D\u5E8E\u5E92\u5E98\u5E9B\u5E9D\u5EA1\u5EA2\u5EA3\u5EA4\u5EA8", 4, "\u5EAE", 4, "\u5EB4\u5EBA\u5EBB\u5EBC\u5EBD\u5EBF", 6],
+ ["8f40", "\u5EC6\u5EC7\u5EC8\u5ECB", 5, "\u5ED4\u5ED5\u5ED7\u5ED8\u5ED9\u5EDA\u5EDC", 11, "\u5EE9\u5EEB", 8, "\u5EF5\u5EF8\u5EF9\u5EFB\u5EFC\u5EFD\u5F05\u5F06\u5F07\u5F09\u5F0C\u5F0D\u5F0E\u5F10\u5F12\u5F14\u5F16\u5F19\u5F1A\u5F1C\u5F1D\u5F1E\u5F21\u5F22\u5F23\u5F24"],
+ ["8f80", "\u5F28\u5F2B\u5F2C\u5F2E\u5F30\u5F32", 6, "\u5F3B\u5F3D\u5F3E\u5F3F\u5F41", 14, "\u5F51\u5F54\u5F59\u5F5A\u5F5B\u5F5C\u5F5E\u5F5F\u5F60\u5F63\u5F65\u5F67\u5F68\u5F6B\u5F6E\u5F6F\u5F72\u5F74\u5F75\u5F76\u5F78\u5F7A\u5F7D\u5F7E\u5F7F\u5F83\u5F86\u5F8D\u5F8E\u5F8F\u5F91\u5F93\u5F94\u5F96\u5F9A\u5F9B\u5F9D\u5F9E\u5F9F\u5FA0\u5FA2", 5, "\u5FA9\u5FAB\u5FAC\u5FAF", 5, "\u5FB6\u5FB8\u5FB9\u5FBA\u5FBB\u5FBE", 4, "\u5FC7\u5FC8\u5FCA\u5FCB\u5FCE\u5FD3\u5FD4\u5FD5\u5FDA\u5FDB\u5FDC\u5FDE\u5FDF\u5FE2\u5FE3\u5FE5\u5FE6\u5FE8\u5FE9\u5FEC\u5FEF\u5FF0\u5FF2\u5FF3\u5FF4\u5FF6\u5FF7\u5FF9\u5FFA\u5FFC\u6007"],
+ ["9040", "\u6008\u6009\u600B\u600C\u6010\u6011\u6013\u6017\u6018\u601A\u601E\u601F\u6022\u6023\u6024\u602C\u602D\u602E\u6030", 4, "\u6036", 4, "\u603D\u603E\u6040\u6044", 6, "\u604C\u604E\u604F\u6051\u6053\u6054\u6056\u6057\u6058\u605B\u605C\u605E\u605F\u6060\u6061\u6065\u6066\u606E\u6071\u6072\u6074\u6075\u6077\u607E\u6080"],
+ ["9080", "\u6081\u6082\u6085\u6086\u6087\u6088\u608A\u608B\u608E\u608F\u6090\u6091\u6093\u6095\u6097\u6098\u6099\u609C\u609E\u60A1\u60A2\u60A4\u60A5\u60A7\u60A9\u60AA\u60AE\u60B0\u60B3\u60B5\u60B6\u60B7\u60B9\u60BA\u60BD", 7, "\u60C7\u60C8\u60C9\u60CC", 4, "\u60D2\u60D3\u60D4\u60D6\u60D7\u60D9\u60DB\u60DE\u60E1", 4, "\u60EA\u60F1\u60F2\u60F5\u60F7\u60F8\u60FB", 4, "\u6102\u6103\u6104\u6105\u6107\u610A\u610B\u610C\u6110", 4, "\u6116\u6117\u6118\u6119\u611B\u611C\u611D\u611E\u6121\u6122\u6125\u6128\u6129\u612A\u612C", 18, "\u6140", 6],
+ ["9140", "\u6147\u6149\u614B\u614D\u614F\u6150\u6152\u6153\u6154\u6156", 6, "\u615E\u615F\u6160\u6161\u6163\u6164\u6165\u6166\u6169", 6, "\u6171\u6172\u6173\u6174\u6176\u6178", 18, "\u618C\u618D\u618F", 4, "\u6195"],
+ ["9180", "\u6196", 6, "\u619E", 8, "\u61AA\u61AB\u61AD", 9, "\u61B8", 5, "\u61BF\u61C0\u61C1\u61C3", 4, "\u61C9\u61CC", 4, "\u61D3\u61D5", 16, "\u61E7", 13, "\u61F6", 8, "\u6200", 5, "\u6207\u6209\u6213\u6214\u6219\u621C\u621D\u621E\u6220\u6223\u6226\u6227\u6228\u6229\u622B\u622D\u622F\u6230\u6231\u6232\u6235\u6236\u6238", 4, "\u6242\u6244\u6245\u6246\u624A"],
+ ["9240", "\u624F\u6250\u6255\u6256\u6257\u6259\u625A\u625C", 6, "\u6264\u6265\u6268\u6271\u6272\u6274\u6275\u6277\u6278\u627A\u627B\u627D\u6281\u6282\u6283\u6285\u6286\u6287\u6288\u628B", 5, "\u6294\u6299\u629C\u629D\u629E\u62A3\u62A6\u62A7\u62A9\u62AA\u62AD\u62AE\u62AF\u62B0\u62B2\u62B3\u62B4\u62B6\u62B7\u62B8\u62BA\u62BE\u62C0\u62C1"],
+ ["9280", "\u62C3\u62CB\u62CF\u62D1\u62D5\u62DD\u62DE\u62E0\u62E1\u62E4\u62EA\u62EB\u62F0\u62F2\u62F5\u62F8\u62F9\u62FA\u62FB\u6300\u6303\u6304\u6305\u6306\u630A\u630B\u630C\u630D\u630F\u6310\u6312\u6313\u6314\u6315\u6317\u6318\u6319\u631C\u6326\u6327\u6329\u632C\u632D\u632E\u6330\u6331\u6333", 5, "\u633B\u633C\u633E\u633F\u6340\u6341\u6344\u6347\u6348\u634A\u6351\u6352\u6353\u6354\u6356", 7, "\u6360\u6364\u6365\u6366\u6368\u636A\u636B\u636C\u636F\u6370\u6372\u6373\u6374\u6375\u6378\u6379\u637C\u637D\u637E\u637F\u6381\u6383\u6384\u6385\u6386\u638B\u638D\u6391\u6393\u6394\u6395\u6397\u6399", 6, "\u63A1\u63A4\u63A6\u63AB\u63AF\u63B1\u63B2\u63B5\u63B6\u63B9\u63BB\u63BD\u63BF\u63C0"],
+ ["9340", "\u63C1\u63C2\u63C3\u63C5\u63C7\u63C8\u63CA\u63CB\u63CC\u63D1\u63D3\u63D4\u63D5\u63D7", 6, "\u63DF\u63E2\u63E4", 4, "\u63EB\u63EC\u63EE\u63EF\u63F0\u63F1\u63F3\u63F5\u63F7\u63F9\u63FA\u63FB\u63FC\u63FE\u6403\u6404\u6406", 4, "\u640D\u640E\u6411\u6412\u6415", 5, "\u641D\u641F\u6422\u6423\u6424"],
+ ["9380", "\u6425\u6427\u6428\u6429\u642B\u642E", 5, "\u6435", 4, "\u643B\u643C\u643E\u6440\u6442\u6443\u6449\u644B", 6, "\u6453\u6455\u6456\u6457\u6459", 4, "\u645F", 7, "\u6468\u646A\u646B\u646C\u646E", 9, "\u647B", 6, "\u6483\u6486\u6488", 8, "\u6493\u6494\u6497\u6498\u649A\u649B\u649C\u649D\u649F", 4, "\u64A5\u64A6\u64A7\u64A8\u64AA\u64AB\u64AF\u64B1\u64B2\u64B3\u64B4\u64B6\u64B9\u64BB\u64BD\u64BE\u64BF\u64C1\u64C3\u64C4\u64C6", 6, "\u64CF\u64D1\u64D3\u64D4\u64D5\u64D6\u64D9\u64DA"],
+ ["9440", "\u64DB\u64DC\u64DD\u64DF\u64E0\u64E1\u64E3\u64E5\u64E7", 24, "\u6501", 7, "\u650A", 7, "\u6513", 4, "\u6519", 8],
+ ["9480", "\u6522\u6523\u6524\u6526", 4, "\u652C\u652D\u6530\u6531\u6532\u6533\u6537\u653A\u653C\u653D\u6540", 4, "\u6546\u6547\u654A\u654B\u654D\u654E\u6550\u6552\u6553\u6554\u6557\u6558\u655A\u655C\u655F\u6560\u6561\u6564\u6565\u6567\u6568\u6569\u656A\u656D\u656E\u656F\u6571\u6573\u6575\u6576\u6578", 14, "\u6588\u6589\u658A\u658D\u658E\u658F\u6592\u6594\u6595\u6596\u6598\u659A\u659D\u659E\u65A0\u65A2\u65A3\u65A6\u65A8\u65AA\u65AC\u65AE\u65B1", 7, "\u65BA\u65BB\u65BE\u65BF\u65C0\u65C2\u65C7\u65C8\u65C9\u65CA\u65CD\u65D0\u65D1\u65D3\u65D4\u65D5\u65D8", 7, "\u65E1\u65E3\u65E4\u65EA\u65EB"],
+ ["9540", "\u65F2\u65F3\u65F4\u65F5\u65F8\u65F9\u65FB", 4, "\u6601\u6604\u6605\u6607\u6608\u6609\u660B\u660D\u6610\u6611\u6612\u6616\u6617\u6618\u661A\u661B\u661C\u661E\u6621\u6622\u6623\u6624\u6626\u6629\u662A\u662B\u662C\u662E\u6630\u6632\u6633\u6637", 4, "\u663D\u663F\u6640\u6642\u6644", 6, "\u664D\u664E\u6650\u6651\u6658"],
+ ["9580", "\u6659\u665B\u665C\u665D\u665E\u6660\u6662\u6663\u6665\u6667\u6669", 4, "\u6671\u6672\u6673\u6675\u6678\u6679\u667B\u667C\u667D\u667F\u6680\u6681\u6683\u6685\u6686\u6688\u6689\u668A\u668B\u668D\u668E\u668F\u6690\u6692\u6693\u6694\u6695\u6698", 4, "\u669E", 8, "\u66A9", 4, "\u66AF", 4, "\u66B5\u66B6\u66B7\u66B8\u66BA\u66BB\u66BC\u66BD\u66BF", 25, "\u66DA\u66DE", 7, "\u66E7\u66E8\u66EA", 5, "\u66F1\u66F5\u66F6\u66F8\u66FA\u66FB\u66FD\u6701\u6702\u6703"],
+ ["9640", "\u6704\u6705\u6706\u6707\u670C\u670E\u670F\u6711\u6712\u6713\u6716\u6718\u6719\u671A\u671C\u671E\u6720", 5, "\u6727\u6729\u672E\u6730\u6732\u6733\u6736\u6737\u6738\u6739\u673B\u673C\u673E\u673F\u6741\u6744\u6745\u6747\u674A\u674B\u674D\u6752\u6754\u6755\u6757", 4, "\u675D\u6762\u6763\u6764\u6766\u6767\u676B\u676C\u676E\u6771\u6774\u6776"],
+ ["9680", "\u6778\u6779\u677A\u677B\u677D\u6780\u6782\u6783\u6785\u6786\u6788\u678A\u678C\u678D\u678E\u678F\u6791\u6792\u6793\u6794\u6796\u6799\u679B\u679F\u67A0\u67A1\u67A4\u67A6\u67A9\u67AC\u67AE\u67B1\u67B2\u67B4\u67B9", 7, "\u67C2\u67C5", 9, "\u67D5\u67D6\u67D7\u67DB\u67DF\u67E1\u67E3\u67E4\u67E6\u67E7\u67E8\u67EA\u67EB\u67ED\u67EE\u67F2\u67F5", 7, "\u67FE\u6801\u6802\u6803\u6804\u6806\u680D\u6810\u6812\u6814\u6815\u6818", 4, "\u681E\u681F\u6820\u6822", 6, "\u682B", 6, "\u6834\u6835\u6836\u683A\u683B\u683F\u6847\u684B\u684D\u684F\u6852\u6856", 5],
+ ["9740", "\u685C\u685D\u685E\u685F\u686A\u686C", 7, "\u6875\u6878", 8, "\u6882\u6884\u6887", 7, "\u6890\u6891\u6892\u6894\u6895\u6896\u6898", 9, "\u68A3\u68A4\u68A5\u68A9\u68AA\u68AB\u68AC\u68AE\u68B1\u68B2\u68B4\u68B6\u68B7\u68B8"],
+ ["9780", "\u68B9", 6, "\u68C1\u68C3", 5, "\u68CA\u68CC\u68CE\u68CF\u68D0\u68D1\u68D3\u68D4\u68D6\u68D7\u68D9\u68DB", 4, "\u68E1\u68E2\u68E4", 9, "\u68EF\u68F2\u68F3\u68F4\u68F6\u68F7\u68F8\u68FB\u68FD\u68FE\u68FF\u6900\u6902\u6903\u6904\u6906", 4, "\u690C\u690F\u6911\u6913", 11, "\u6921\u6922\u6923\u6925", 7, "\u692E\u692F\u6931\u6932\u6933\u6935\u6936\u6937\u6938\u693A\u693B\u693C\u693E\u6940\u6941\u6943", 16, "\u6955\u6956\u6958\u6959\u695B\u695C\u695F"],
+ ["9840", "\u6961\u6962\u6964\u6965\u6967\u6968\u6969\u696A\u696C\u696D\u696F\u6970\u6972", 4, "\u697A\u697B\u697D\u697E\u697F\u6981\u6983\u6985\u698A\u698B\u698C\u698E", 5, "\u6996\u6997\u6999\u699A\u699D", 9, "\u69A9\u69AA\u69AC\u69AE\u69AF\u69B0\u69B2\u69B3\u69B5\u69B6\u69B8\u69B9\u69BA\u69BC\u69BD"],
+ ["9880", "\u69BE\u69BF\u69C0\u69C2", 7, "\u69CB\u69CD\u69CF\u69D1\u69D2\u69D3\u69D5", 5, "\u69DC\u69DD\u69DE\u69E1", 11, "\u69EE\u69EF\u69F0\u69F1\u69F3", 9, "\u69FE\u6A00", 9, "\u6A0B", 11, "\u6A19", 5, "\u6A20\u6A22", 5, "\u6A29\u6A2B\u6A2C\u6A2D\u6A2E\u6A30\u6A32\u6A33\u6A34\u6A36", 6, "\u6A3F", 4, "\u6A45\u6A46\u6A48", 7, "\u6A51", 6, "\u6A5A"],
+ ["9940", "\u6A5C", 4, "\u6A62\u6A63\u6A64\u6A66", 10, "\u6A72", 6, "\u6A7A\u6A7B\u6A7D\u6A7E\u6A7F\u6A81\u6A82\u6A83\u6A85", 8, "\u6A8F\u6A92", 4, "\u6A98", 7, "\u6AA1", 5],
+ ["9980", "\u6AA7\u6AA8\u6AAA\u6AAD", 114, "\u6B25\u6B26\u6B28", 6],
+ ["9a40", "\u6B2F\u6B30\u6B31\u6B33\u6B34\u6B35\u6B36\u6B38\u6B3B\u6B3C\u6B3D\u6B3F\u6B40\u6B41\u6B42\u6B44\u6B45\u6B48\u6B4A\u6B4B\u6B4D", 11, "\u6B5A", 7, "\u6B68\u6B69\u6B6B", 13, "\u6B7A\u6B7D\u6B7E\u6B7F\u6B80\u6B85\u6B88"],
+ ["9a80", "\u6B8C\u6B8E\u6B8F\u6B90\u6B91\u6B94\u6B95\u6B97\u6B98\u6B99\u6B9C", 4, "\u6BA2", 7, "\u6BAB", 7, "\u6BB6\u6BB8", 6, "\u6BC0\u6BC3\u6BC4\u6BC6", 4, "\u6BCC\u6BCE\u6BD0\u6BD1\u6BD8\u6BDA\u6BDC", 4, "\u6BE2", 7, "\u6BEC\u6BED\u6BEE\u6BF0\u6BF1\u6BF2\u6BF4\u6BF6\u6BF7\u6BF8\u6BFA\u6BFB\u6BFC\u6BFE", 6, "\u6C08", 4, "\u6C0E\u6C12\u6C17\u6C1C\u6C1D\u6C1E\u6C20\u6C23\u6C25\u6C2B\u6C2C\u6C2D\u6C31\u6C33\u6C36\u6C37\u6C39\u6C3A\u6C3B\u6C3C\u6C3E\u6C3F\u6C43\u6C44\u6C45\u6C48\u6C4B", 4, "\u6C51\u6C52\u6C53\u6C56\u6C58"],
+ ["9b40", "\u6C59\u6C5A\u6C62\u6C63\u6C65\u6C66\u6C67\u6C6B", 4, "\u6C71\u6C73\u6C75\u6C77\u6C78\u6C7A\u6C7B\u6C7C\u6C7F\u6C80\u6C84\u6C87\u6C8A\u6C8B\u6C8D\u6C8E\u6C91\u6C92\u6C95\u6C96\u6C97\u6C98\u6C9A\u6C9C\u6C9D\u6C9E\u6CA0\u6CA2\u6CA8\u6CAC\u6CAF\u6CB0\u6CB4\u6CB5\u6CB6\u6CB7\u6CBA\u6CC0\u6CC1\u6CC2\u6CC3\u6CC6\u6CC7\u6CC8\u6CCB\u6CCD\u6CCE\u6CCF\u6CD1\u6CD2\u6CD8"],
+ ["9b80", "\u6CD9\u6CDA\u6CDC\u6CDD\u6CDF\u6CE4\u6CE6\u6CE7\u6CE9\u6CEC\u6CED\u6CF2\u6CF4\u6CF9\u6CFF\u6D00\u6D02\u6D03\u6D05\u6D06\u6D08\u6D09\u6D0A\u6D0D\u6D0F\u6D10\u6D11\u6D13\u6D14\u6D15\u6D16\u6D18\u6D1C\u6D1D\u6D1F", 5, "\u6D26\u6D28\u6D29\u6D2C\u6D2D\u6D2F\u6D30\u6D34\u6D36\u6D37\u6D38\u6D3A\u6D3F\u6D40\u6D42\u6D44\u6D49\u6D4C\u6D50\u6D55\u6D56\u6D57\u6D58\u6D5B\u6D5D\u6D5F\u6D61\u6D62\u6D64\u6D65\u6D67\u6D68\u6D6B\u6D6C\u6D6D\u6D70\u6D71\u6D72\u6D73\u6D75\u6D76\u6D79\u6D7A\u6D7B\u6D7D", 4, "\u6D83\u6D84\u6D86\u6D87\u6D8A\u6D8B\u6D8D\u6D8F\u6D90\u6D92\u6D96", 4, "\u6D9C\u6DA2\u6DA5\u6DAC\u6DAD\u6DB0\u6DB1\u6DB3\u6DB4\u6DB6\u6DB7\u6DB9", 5, "\u6DC1\u6DC2\u6DC3\u6DC8\u6DC9\u6DCA"],
+ ["9c40", "\u6DCD\u6DCE\u6DCF\u6DD0\u6DD2\u6DD3\u6DD4\u6DD5\u6DD7\u6DDA\u6DDB\u6DDC\u6DDF\u6DE2\u6DE3\u6DE5\u6DE7\u6DE8\u6DE9\u6DEA\u6DED\u6DEF\u6DF0\u6DF2\u6DF4\u6DF5\u6DF6\u6DF8\u6DFA\u6DFD", 7, "\u6E06\u6E07\u6E08\u6E09\u6E0B\u6E0F\u6E12\u6E13\u6E15\u6E18\u6E19\u6E1B\u6E1C\u6E1E\u6E1F\u6E22\u6E26\u6E27\u6E28\u6E2A\u6E2C\u6E2E\u6E30\u6E31\u6E33\u6E35"],
+ ["9c80", "\u6E36\u6E37\u6E39\u6E3B", 7, "\u6E45", 7, "\u6E4F\u6E50\u6E51\u6E52\u6E55\u6E57\u6E59\u6E5A\u6E5C\u6E5D\u6E5E\u6E60", 10, "\u6E6C\u6E6D\u6E6F", 14, "\u6E80\u6E81\u6E82\u6E84\u6E87\u6E88\u6E8A", 4, "\u6E91", 6, "\u6E99\u6E9A\u6E9B\u6E9D\u6E9E\u6EA0\u6EA1\u6EA3\u6EA4\u6EA6\u6EA8\u6EA9\u6EAB\u6EAC\u6EAD\u6EAE\u6EB0\u6EB3\u6EB5\u6EB8\u6EB9\u6EBC\u6EBE\u6EBF\u6EC0\u6EC3\u6EC4\u6EC5\u6EC6\u6EC8\u6EC9\u6ECA\u6ECC\u6ECD\u6ECE\u6ED0\u6ED2\u6ED6\u6ED8\u6ED9\u6EDB\u6EDC\u6EDD\u6EE3\u6EE7\u6EEA", 5],
+ ["9d40", "\u6EF0\u6EF1\u6EF2\u6EF3\u6EF5\u6EF6\u6EF7\u6EF8\u6EFA", 7, "\u6F03\u6F04\u6F05\u6F07\u6F08\u6F0A", 4, "\u6F10\u6F11\u6F12\u6F16", 9, "\u6F21\u6F22\u6F23\u6F25\u6F26\u6F27\u6F28\u6F2C\u6F2E\u6F30\u6F32\u6F34\u6F35\u6F37", 6, "\u6F3F\u6F40\u6F41\u6F42"],
+ ["9d80", "\u6F43\u6F44\u6F45\u6F48\u6F49\u6F4A\u6F4C\u6F4E", 9, "\u6F59\u6F5A\u6F5B\u6F5D\u6F5F\u6F60\u6F61\u6F63\u6F64\u6F65\u6F67", 5, "\u6F6F\u6F70\u6F71\u6F73\u6F75\u6F76\u6F77\u6F79\u6F7B\u6F7D", 6, "\u6F85\u6F86\u6F87\u6F8A\u6F8B\u6F8F", 12, "\u6F9D\u6F9E\u6F9F\u6FA0\u6FA2", 4, "\u6FA8", 10, "\u6FB4\u6FB5\u6FB7\u6FB8\u6FBA", 5, "\u6FC1\u6FC3", 5, "\u6FCA", 6, "\u6FD3", 10, "\u6FDF\u6FE2\u6FE3\u6FE4\u6FE5"],
+ ["9e40", "\u6FE6", 7, "\u6FF0", 32, "\u7012", 7, "\u701C", 6, "\u7024", 6],
+ ["9e80", "\u702B", 9, "\u7036\u7037\u7038\u703A", 17, "\u704D\u704E\u7050", 13, "\u705F", 11, "\u706E\u7071\u7072\u7073\u7074\u7077\u7079\u707A\u707B\u707D\u7081\u7082\u7083\u7084\u7086\u7087\u7088\u708B\u708C\u708D\u708F\u7090\u7091\u7093\u7097\u7098\u709A\u709B\u709E", 12, "\u70B0\u70B2\u70B4\u70B5\u70B6\u70BA\u70BE\u70BF\u70C4\u70C5\u70C6\u70C7\u70C9\u70CB", 12, "\u70DA"],
+ ["9f40", "\u70DC\u70DD\u70DE\u70E0\u70E1\u70E2\u70E3\u70E5\u70EA\u70EE\u70F0", 6, "\u70F8\u70FA\u70FB\u70FC\u70FE", 10, "\u710B", 4, "\u7111\u7112\u7114\u7117\u711B", 10, "\u7127", 7, "\u7132\u7133\u7134"],
+ ["9f80", "\u7135\u7137", 13, "\u7146\u7147\u7148\u7149\u714B\u714D\u714F", 12, "\u715D\u715F", 4, "\u7165\u7169", 4, "\u716F\u7170\u7171\u7174\u7175\u7176\u7177\u7179\u717B\u717C\u717E", 5, "\u7185", 4, "\u718B\u718C\u718D\u718E\u7190\u7191\u7192\u7193\u7195\u7196\u7197\u719A", 4, "\u71A1", 6, "\u71A9\u71AA\u71AB\u71AD", 5, "\u71B4\u71B6\u71B7\u71B8\u71BA", 8, "\u71C4", 9, "\u71CF", 4],
+ ["a040", "\u71D6", 9, "\u71E1\u71E2\u71E3\u71E4\u71E6\u71E8", 5, "\u71EF", 9, "\u71FA", 11, "\u7207", 19],
+ ["a080", "\u721B\u721C\u721E", 9, "\u7229\u722B\u722D\u722E\u722F\u7232\u7233\u7234\u723A\u723C\u723E\u7240", 6, "\u7249\u724A\u724B\u724E\u724F\u7250\u7251\u7253\u7254\u7255\u7257\u7258\u725A\u725C\u725E\u7260\u7263\u7264\u7265\u7268\u726A\u726B\u726C\u726D\u7270\u7271\u7273\u7274\u7276\u7277\u7278\u727B\u727C\u727D\u7282\u7283\u7285", 4, "\u728C\u728E\u7290\u7291\u7293", 11, "\u72A0", 11, "\u72AE\u72B1\u72B2\u72B3\u72B5\u72BA", 6, "\u72C5\u72C6\u72C7\u72C9\u72CA\u72CB\u72CC\u72CF\u72D1\u72D3\u72D4\u72D5\u72D6\u72D8\u72DA\u72DB"],
+ ["a1a1", "\u3000\u3001\u3002\xB7\u02C9\u02C7\xA8\u3003\u3005\u2014\uFF5E\u2016\u2026\u2018\u2019\u201C\u201D\u3014\u3015\u3008", 7, "\u3016\u3017\u3010\u3011\xB1\xD7\xF7\u2236\u2227\u2228\u2211\u220F\u222A\u2229\u2208\u2237\u221A\u22A5\u2225\u2220\u2312\u2299\u222B\u222E\u2261\u224C\u2248\u223D\u221D\u2260\u226E\u226F\u2264\u2265\u221E\u2235\u2234\u2642\u2640\xB0\u2032\u2033\u2103\uFF04\xA4\uFFE0\uFFE1\u2030\xA7\u2116\u2606\u2605\u25CB\u25CF\u25CE\u25C7\u25C6\u25A1\u25A0\u25B3\u25B2\u203B\u2192\u2190\u2191\u2193\u3013"],
+ ["a2a1", "\u2170", 9],
+ ["a2b1", "\u2488", 19, "\u2474", 19, "\u2460", 9],
+ ["a2e5", "\u3220", 9],
+ ["a2f1", "\u2160", 11],
+ ["a3a1", "\uFF01\uFF02\uFF03\uFFE5\uFF05", 88, "\uFFE3"],
+ ["a4a1", "\u3041", 82],
+ ["a5a1", "\u30A1", 85],
+ ["a6a1", "\u0391", 16, "\u03A3", 6],
+ ["a6c1", "\u03B1", 16, "\u03C3", 6],
+ ["a6e0", "\uFE35\uFE36\uFE39\uFE3A\uFE3F\uFE40\uFE3D\uFE3E\uFE41\uFE42\uFE43\uFE44"],
+ ["a6ee", "\uFE3B\uFE3C\uFE37\uFE38\uFE31"],
+ ["a6f4", "\uFE33\uFE34"],
+ ["a7a1", "\u0410", 5, "\u0401\u0416", 25],
+ ["a7d1", "\u0430", 5, "\u0451\u0436", 25],
+ ["a840", "\u02CA\u02CB\u02D9\u2013\u2015\u2025\u2035\u2105\u2109\u2196\u2197\u2198\u2199\u2215\u221F\u2223\u2252\u2266\u2267\u22BF\u2550", 35, "\u2581", 6],
+ ["a880", "\u2588", 7, "\u2593\u2594\u2595\u25BC\u25BD\u25E2\u25E3\u25E4\u25E5\u2609\u2295\u3012\u301D\u301E"],
+ ["a8a1", "\u0101\xE1\u01CE\xE0\u0113\xE9\u011B\xE8\u012B\xED\u01D0\xEC\u014D\xF3\u01D2\xF2\u016B\xFA\u01D4\xF9\u01D6\u01D8\u01DA\u01DC\xFC\xEA\u0251"],
+ ["a8bd", "\u0144\u0148"],
+ ["a8c0", "\u0261"],
+ ["a8c5", "\u3105", 36],
+ ["a940", "\u3021", 8, "\u32A3\u338E\u338F\u339C\u339D\u339E\u33A1\u33C4\u33CE\u33D1\u33D2\u33D5\uFE30\uFFE2\uFFE4"],
+ ["a959", "\u2121\u3231"],
+ ["a95c", "\u2010"],
+ ["a960", "\u30FC\u309B\u309C\u30FD\u30FE\u3006\u309D\u309E\uFE49", 9, "\uFE54\uFE55\uFE56\uFE57\uFE59", 8],
+ ["a980", "\uFE62", 4, "\uFE68\uFE69\uFE6A\uFE6B"],
+ ["a996", "\u3007"],
+ ["a9a4", "\u2500", 75],
+ ["aa40", "\u72DC\u72DD\u72DF\u72E2", 5, "\u72EA\u72EB\u72F5\u72F6\u72F9\u72FD\u72FE\u72FF\u7300\u7302\u7304", 5, "\u730B\u730C\u730D\u730F\u7310\u7311\u7312\u7314\u7318\u7319\u731A\u731F\u7320\u7323\u7324\u7326\u7327\u7328\u732D\u732F\u7330\u7332\u7333\u7335\u7336\u733A\u733B\u733C\u733D\u7340", 8],
+ ["aa80", "\u7349\u734A\u734B\u734C\u734E\u734F\u7351\u7353\u7354\u7355\u7356\u7358", 7, "\u7361", 10, "\u736E\u7370\u7371"],
+ ["ab40", "\u7372", 11, "\u737F", 4, "\u7385\u7386\u7388\u738A\u738C\u738D\u738F\u7390\u7392\u7393\u7394\u7395\u7397\u7398\u7399\u739A\u739C\u739D\u739E\u73A0\u73A1\u73A3", 5, "\u73AA\u73AC\u73AD\u73B1\u73B4\u73B5\u73B6\u73B8\u73B9\u73BC\u73BD\u73BE\u73BF\u73C1\u73C3", 4],
+ ["ab80", "\u73CB\u73CC\u73CE\u73D2", 6, "\u73DA\u73DB\u73DC\u73DD\u73DF\u73E1\u73E2\u73E3\u73E4\u73E6\u73E8\u73EA\u73EB\u73EC\u73EE\u73EF\u73F0\u73F1\u73F3", 4],
+ ["ac40", "\u73F8", 10, "\u7404\u7407\u7408\u740B\u740C\u740D\u740E\u7411", 8, "\u741C", 5, "\u7423\u7424\u7427\u7429\u742B\u742D\u742F\u7431\u7432\u7437", 4, "\u743D\u743E\u743F\u7440\u7442", 11],
+ ["ac80", "\u744E", 6, "\u7456\u7458\u745D\u7460", 12, "\u746E\u746F\u7471", 4, "\u7478\u7479\u747A"],
+ ["ad40", "\u747B\u747C\u747D\u747F\u7482\u7484\u7485\u7486\u7488\u7489\u748A\u748C\u748D\u748F\u7491", 10, "\u749D\u749F", 7, "\u74AA", 15, "\u74BB", 12],
+ ["ad80", "\u74C8", 9, "\u74D3", 8, "\u74DD\u74DF\u74E1\u74E5\u74E7", 6, "\u74F0\u74F1\u74F2"],
+ ["ae40", "\u74F3\u74F5\u74F8", 6, "\u7500\u7501\u7502\u7503\u7505", 7, "\u750E\u7510\u7512\u7514\u7515\u7516\u7517\u751B\u751D\u751E\u7520", 4, "\u7526\u7527\u752A\u752E\u7534\u7536\u7539\u753C\u753D\u753F\u7541\u7542\u7543\u7544\u7546\u7547\u7549\u754A\u754D\u7550\u7551\u7552\u7553\u7555\u7556\u7557\u7558"],
+ ["ae80", "\u755D", 7, "\u7567\u7568\u7569\u756B", 6, "\u7573\u7575\u7576\u7577\u757A", 4, "\u7580\u7581\u7582\u7584\u7585\u7587"],
+ ["af40", "\u7588\u7589\u758A\u758C\u758D\u758E\u7590\u7593\u7595\u7598\u759B\u759C\u759E\u75A2\u75A6", 4, "\u75AD\u75B6\u75B7\u75BA\u75BB\u75BF\u75C0\u75C1\u75C6\u75CB\u75CC\u75CE\u75CF\u75D0\u75D1\u75D3\u75D7\u75D9\u75DA\u75DC\u75DD\u75DF\u75E0\u75E1\u75E5\u75E9\u75EC\u75ED\u75EE\u75EF\u75F2\u75F3\u75F5\u75F6\u75F7\u75F8\u75FA\u75FB\u75FD\u75FE\u7602\u7604\u7606\u7607"],
+ ["af80", "\u7608\u7609\u760B\u760D\u760E\u760F\u7611\u7612\u7613\u7614\u7616\u761A\u761C\u761D\u761E\u7621\u7623\u7627\u7628\u762C\u762E\u762F\u7631\u7632\u7636\u7637\u7639\u763A\u763B\u763D\u7641\u7642\u7644"],
+ ["b040", "\u7645", 6, "\u764E", 5, "\u7655\u7657", 4, "\u765D\u765F\u7660\u7661\u7662\u7664", 6, "\u766C\u766D\u766E\u7670", 7, "\u7679\u767A\u767C\u767F\u7680\u7681\u7683\u7685\u7689\u768A\u768C\u768D\u768F\u7690\u7692\u7694\u7695\u7697\u7698\u769A\u769B"],
+ ["b080", "\u769C", 7, "\u76A5", 8, "\u76AF\u76B0\u76B3\u76B5", 9, "\u76C0\u76C1\u76C3\u554A\u963F\u57C3\u6328\u54CE\u5509\u54C0\u7691\u764C\u853C\u77EE\u827E\u788D\u7231\u9698\u978D\u6C28\u5B89\u4FFA\u6309\u6697\u5CB8\u80FA\u6848\u80AE\u6602\u76CE\u51F9\u6556\u71AC\u7FF1\u8884\u50B2\u5965\u61CA\u6FB3\u82AD\u634C\u6252\u53ED\u5427\u7B06\u516B\u75A4\u5DF4\u62D4\u8DCB\u9776\u628A\u8019\u575D\u9738\u7F62\u7238\u767D\u67CF\u767E\u6446\u4F70\u8D25\u62DC\u7A17\u6591\u73ED\u642C\u6273\u822C\u9881\u677F\u7248\u626E\u62CC\u4F34\u74E3\u534A\u529E\u7ECA\u90A6\u5E2E\u6886\u699C\u8180\u7ED1\u68D2\u78C5\u868C\u9551\u508D\u8C24\u82DE\u80DE\u5305\u8912\u5265"],
+ ["b140", "\u76C4\u76C7\u76C9\u76CB\u76CC\u76D3\u76D5\u76D9\u76DA\u76DC\u76DD\u76DE\u76E0", 4, "\u76E6", 7, "\u76F0\u76F3\u76F5\u76F6\u76F7\u76FA\u76FB\u76FD\u76FF\u7700\u7702\u7703\u7705\u7706\u770A\u770C\u770E", 10, "\u771B\u771C\u771D\u771E\u7721\u7723\u7724\u7725\u7727\u772A\u772B"],
+ ["b180", "\u772C\u772E\u7730", 4, "\u7739\u773B\u773D\u773E\u773F\u7742\u7744\u7745\u7746\u7748", 7, "\u7752", 7, "\u775C\u8584\u96F9\u4FDD\u5821\u9971\u5B9D\u62B1\u62A5\u66B4\u8C79\u9C8D\u7206\u676F\u7891\u60B2\u5351\u5317\u8F88\u80CC\u8D1D\u94A1\u500D\u72C8\u5907\u60EB\u7119\u88AB\u5954\u82EF\u672C\u7B28\u5D29\u7EF7\u752D\u6CF5\u8E66\u8FF8\u903C\u9F3B\u6BD4\u9119\u7B14\u5F7C\u78A7\u84D6\u853D\u6BD5\u6BD9\u6BD6\u5E01\u5E87\u75F9\u95ED\u655D\u5F0A\u5FC5\u8F9F\u58C1\u81C2\u907F\u965B\u97AD\u8FB9\u7F16\u8D2C\u6241\u4FBF\u53D8\u535E\u8FA8\u8FA9\u8FAB\u904D\u6807\u5F6A\u8198\u8868\u9CD6\u618B\u522B\u762A\u5F6C\u658C\u6FD2\u6EE8\u5BBE\u6448\u5175\u51B0\u67C4\u4E19\u79C9\u997C\u70B3"],
+ ["b240", "\u775D\u775E\u775F\u7760\u7764\u7767\u7769\u776A\u776D", 11, "\u777A\u777B\u777C\u7781\u7782\u7783\u7786", 5, "\u778F\u7790\u7793", 11, "\u77A1\u77A3\u77A4\u77A6\u77A8\u77AB\u77AD\u77AE\u77AF\u77B1\u77B2\u77B4\u77B6", 4],
+ ["b280", "\u77BC\u77BE\u77C0", 12, "\u77CE", 8, "\u77D8\u77D9\u77DA\u77DD", 4, "\u77E4\u75C5\u5E76\u73BB\u83E0\u64AD\u62E8\u94B5\u6CE2\u535A\u52C3\u640F\u94C2\u7B94\u4F2F\u5E1B\u8236\u8116\u818A\u6E24\u6CCA\u9A73\u6355\u535C\u54FA\u8865\u57E0\u4E0D\u5E03\u6B65\u7C3F\u90E8\u6016\u64E6\u731C\u88C1\u6750\u624D\u8D22\u776C\u8E29\u91C7\u5F69\u83DC\u8521\u9910\u53C2\u8695\u6B8B\u60ED\u60E8\u707F\u82CD\u8231\u4ED3\u6CA7\u85CF\u64CD\u7CD9\u69FD\u66F9\u8349\u5395\u7B56\u4FA7\u518C\u6D4B\u5C42\u8E6D\u63D2\u53C9\u832C\u8336\u67E5\u78B4\u643D\u5BDF\u5C94\u5DEE\u8BE7\u62C6\u67F4\u8C7A\u6400\u63BA\u8749\u998B\u8C17\u7F20\u94F2\u4EA7\u9610\u98A4\u660C\u7316"],
+ ["b340", "\u77E6\u77E8\u77EA\u77EF\u77F0\u77F1\u77F2\u77F4\u77F5\u77F7\u77F9\u77FA\u77FB\u77FC\u7803", 5, "\u780A\u780B\u780E\u780F\u7810\u7813\u7815\u7819\u781B\u781E\u7820\u7821\u7822\u7824\u7828\u782A\u782B\u782E\u782F\u7831\u7832\u7833\u7835\u7836\u783D\u783F\u7841\u7842\u7843\u7844\u7846\u7848\u7849\u784A\u784B\u784D\u784F\u7851\u7853\u7854\u7858\u7859\u785A"],
+ ["b380", "\u785B\u785C\u785E", 11, "\u786F", 7, "\u7878\u7879\u787A\u787B\u787D", 6, "\u573A\u5C1D\u5E38\u957F\u507F\u80A0\u5382\u655E\u7545\u5531\u5021\u8D85\u6284\u949E\u671D\u5632\u6F6E\u5DE2\u5435\u7092\u8F66\u626F\u64A4\u63A3\u5F7B\u6F88\u90F4\u81E3\u8FB0\u5C18\u6668\u5FF1\u6C89\u9648\u8D81\u886C\u6491\u79F0\u57CE\u6A59\u6210\u5448\u4E58\u7A0B\u60E9\u6F84\u8BDA\u627F\u901E\u9A8B\u79E4\u5403\u75F4\u6301\u5319\u6C60\u8FDF\u5F1B\u9A70\u803B\u9F7F\u4F88\u5C3A\u8D64\u7FC5\u65A5\u70BD\u5145\u51B2\u866B\u5D07\u5BA0\u62BD\u916C\u7574\u8E0C\u7A20\u6101\u7B79\u4EC7\u7EF8\u7785\u4E11\u81ED\u521D\u51FA\u6A71\u53A8\u8E87\u9504\u96CF\u6EC1\u9664\u695A"],
+ ["b440", "\u7884\u7885\u7886\u7888\u788A\u788B\u788F\u7890\u7892\u7894\u7895\u7896\u7899\u789D\u789E\u78A0\u78A2\u78A4\u78A6\u78A8", 7, "\u78B5\u78B6\u78B7\u78B8\u78BA\u78BB\u78BC\u78BD\u78BF\u78C0\u78C2\u78C3\u78C4\u78C6\u78C7\u78C8\u78CC\u78CD\u78CE\u78CF\u78D1\u78D2\u78D3\u78D6\u78D7\u78D8\u78DA", 9],
+ ["b480", "\u78E4\u78E5\u78E6\u78E7\u78E9\u78EA\u78EB\u78ED", 4, "\u78F3\u78F5\u78F6\u78F8\u78F9\u78FB", 5, "\u7902\u7903\u7904\u7906", 6, "\u7840\u50A8\u77D7\u6410\u89E6\u5904\u63E3\u5DDD\u7A7F\u693D\u4F20\u8239\u5598\u4E32\u75AE\u7A97\u5E62\u5E8A\u95EF\u521B\u5439\u708A\u6376\u9524\u5782\u6625\u693F\u9187\u5507\u6DF3\u7EAF\u8822\u6233\u7EF0\u75B5\u8328\u78C1\u96CC\u8F9E\u6148\u74F7\u8BCD\u6B64\u523A\u8D50\u6B21\u806A\u8471\u56F1\u5306\u4ECE\u4E1B\u51D1\u7C97\u918B\u7C07\u4FC3\u8E7F\u7BE1\u7A9C\u6467\u5D14\u50AC\u8106\u7601\u7CB9\u6DEC\u7FE0\u6751\u5B58\u5BF8\u78CB\u64AE\u6413\u63AA\u632B\u9519\u642D\u8FBE\u7B54\u7629\u6253\u5927\u5446\u6B79\u50A3\u6234\u5E26\u6B86\u4EE3\u8D37\u888B\u5F85\u902E"],
+ ["b540", "\u790D", 5, "\u7914", 9, "\u791F", 4, "\u7925", 14, "\u7935", 4, "\u793D\u793F\u7942\u7943\u7944\u7945\u7947\u794A", 8, "\u7954\u7955\u7958\u7959\u7961\u7963"],
+ ["b580", "\u7964\u7966\u7969\u796A\u796B\u796C\u796E\u7970", 6, "\u7979\u797B", 4, "\u7982\u7983\u7986\u7987\u7988\u7989\u798B\u798C\u798D\u798E\u7990\u7991\u7992\u6020\u803D\u62C5\u4E39\u5355\u90F8\u63B8\u80C6\u65E6\u6C2E\u4F46\u60EE\u6DE1\u8BDE\u5F39\u86CB\u5F53\u6321\u515A\u8361\u6863\u5200\u6363\u8E48\u5012\u5C9B\u7977\u5BFC\u5230\u7A3B\u60BC\u9053\u76D7\u5FB7\u5F97\u7684\u8E6C\u706F\u767B\u7B49\u77AA\u51F3\u9093\u5824\u4F4E\u6EF4\u8FEA\u654C\u7B1B\u72C4\u6DA4\u7FDF\u5AE1\u62B5\u5E95\u5730\u8482\u7B2C\u5E1D\u5F1F\u9012\u7F14\u98A0\u6382\u6EC7\u7898\u70B9\u5178\u975B\u57AB\u7535\u4F43\u7538\u5E97\u60E6\u5960\u6DC0\u6BBF\u7889\u53FC\u96D5\u51CB\u5201\u6389\u540A\u9493\u8C03\u8DCC\u7239\u789F\u8776\u8FED\u8C0D\u53E0"],
+ ["b640", "\u7993", 6, "\u799B", 11, "\u79A8", 10, "\u79B4", 4, "\u79BC\u79BF\u79C2\u79C4\u79C5\u79C7\u79C8\u79CA\u79CC\u79CE\u79CF\u79D0\u79D3\u79D4\u79D6\u79D7\u79D9", 5, "\u79E0\u79E1\u79E2\u79E5\u79E8\u79EA"],
+ ["b680", "\u79EC\u79EE\u79F1", 6, "\u79F9\u79FA\u79FC\u79FE\u79FF\u7A01\u7A04\u7A05\u7A07\u7A08\u7A09\u7A0A\u7A0C\u7A0F", 4, "\u7A15\u7A16\u7A18\u7A19\u7A1B\u7A1C\u4E01\u76EF\u53EE\u9489\u9876\u9F0E\u952D\u5B9A\u8BA2\u4E22\u4E1C\u51AC\u8463\u61C2\u52A8\u680B\u4F97\u606B\u51BB\u6D1E\u515C\u6296\u6597\u9661\u8C46\u9017\u75D8\u90FD\u7763\u6BD2\u728A\u72EC\u8BFB\u5835\u7779\u8D4C\u675C\u9540\u809A\u5EA6\u6E21\u5992\u7AEF\u77ED\u953B\u6BB5\u65AD\u7F0E\u5806\u5151\u961F\u5BF9\u58A9\u5428\u8E72\u6566\u987F\u56E4\u949D\u76FE\u9041\u6387\u54C6\u591A\u593A\u579B\u8EB2\u6735\u8DFA\u8235\u5241\u60F0\u5815\u86FE\u5CE8\u9E45\u4FC4\u989D\u8BB9\u5A25\u6076\u5384\u627C\u904F\u9102\u997F\u6069\u800C\u513F\u8033\u5C14\u9975\u6D31\u4E8C"],
+ ["b740", "\u7A1D\u7A1F\u7A21\u7A22\u7A24", 14, "\u7A34\u7A35\u7A36\u7A38\u7A3A\u7A3E\u7A40", 5, "\u7A47", 9, "\u7A52", 4, "\u7A58", 16],
+ ["b780", "\u7A69", 6, "\u7A71\u7A72\u7A73\u7A75\u7A7B\u7A7C\u7A7D\u7A7E\u7A82\u7A85\u7A87\u7A89\u7A8A\u7A8B\u7A8C\u7A8E\u7A8F\u7A90\u7A93\u7A94\u7A99\u7A9A\u7A9B\u7A9E\u7AA1\u7AA2\u8D30\u53D1\u7F5A\u7B4F\u4F10\u4E4F\u9600\u6CD5\u73D0\u85E9\u5E06\u756A\u7FFB\u6A0A\u77FE\u9492\u7E41\u51E1\u70E6\u53CD\u8FD4\u8303\u8D29\u72AF\u996D\u6CDB\u574A\u82B3\u65B9\u80AA\u623F\u9632\u59A8\u4EFF\u8BBF\u7EBA\u653E\u83F2\u975E\u5561\u98DE\u80A5\u532A\u8BFD\u5420\u80BA\u5E9F\u6CB8\u8D39\u82AC\u915A\u5429\u6C1B\u5206\u7EB7\u575F\u711A\u6C7E\u7C89\u594B\u4EFD\u5FFF\u6124\u7CAA\u4E30\u5C01\u67AB\u8702\u5CF0\u950B\u98CE\u75AF\u70FD\u9022\u51AF\u7F1D\u8BBD\u5949\u51E4\u4F5B\u5426\u592B\u6577\u80A4\u5B75\u6276\u62C2\u8F90\u5E45\u6C1F\u7B26\u4F0F\u4FD8\u670D"],
+ ["b840", "\u7AA3\u7AA4\u7AA7\u7AA9\u7AAA\u7AAB\u7AAE", 4, "\u7AB4", 10, "\u7AC0", 10, "\u7ACC", 9, "\u7AD7\u7AD8\u7ADA\u7ADB\u7ADC\u7ADD\u7AE1\u7AE2\u7AE4\u7AE7", 5, "\u7AEE\u7AF0\u7AF1\u7AF2\u7AF3"],
+ ["b880", "\u7AF4", 4, "\u7AFB\u7AFC\u7AFE\u7B00\u7B01\u7B02\u7B05\u7B07\u7B09\u7B0C\u7B0D\u7B0E\u7B10\u7B12\u7B13\u7B16\u7B17\u7B18\u7B1A\u7B1C\u7B1D\u7B1F\u7B21\u7B22\u7B23\u7B27\u7B29\u7B2D\u6D6E\u6DAA\u798F\u88B1\u5F17\u752B\u629A\u8F85\u4FEF\u91DC\u65A7\u812F\u8151\u5E9C\u8150\u8D74\u526F\u8986\u8D4B\u590D\u5085\u4ED8\u961C\u7236\u8179\u8D1F\u5BCC\u8BA3\u9644\u5987\u7F1A\u5490\u5676\u560E\u8BE5\u6539\u6982\u9499\u76D6\u6E89\u5E72\u7518\u6746\u67D1\u7AFF\u809D\u8D76\u611F\u79C6\u6562\u8D63\u5188\u521A\u94A2\u7F38\u809B\u7EB2\u5C97\u6E2F\u6760\u7BD9\u768B\u9AD8\u818F\u7F94\u7CD5\u641E\u9550\u7A3F\u544A\u54E5\u6B4C\u6401\u6208\u9E3D\u80F3\u7599\u5272\u9769\u845B\u683C\u86E4\u9601\u9694\u94EC\u4E2A\u5404\u7ED9\u6839\u8DDF\u8015\u66F4\u5E9A\u7FB9"],
+ ["b940", "\u7B2F\u7B30\u7B32\u7B34\u7B35\u7B36\u7B37\u7B39\u7B3B\u7B3D\u7B3F", 5, "\u7B46\u7B48\u7B4A\u7B4D\u7B4E\u7B53\u7B55\u7B57\u7B59\u7B5C\u7B5E\u7B5F\u7B61\u7B63", 10, "\u7B6F\u7B70\u7B73\u7B74\u7B76\u7B78\u7B7A\u7B7C\u7B7D\u7B7F\u7B81\u7B82\u7B83\u7B84\u7B86", 6, "\u7B8E\u7B8F"],
+ ["b980", "\u7B91\u7B92\u7B93\u7B96\u7B98\u7B99\u7B9A\u7B9B\u7B9E\u7B9F\u7BA0\u7BA3\u7BA4\u7BA5\u7BAE\u7BAF\u7BB0\u7BB2\u7BB3\u7BB5\u7BB6\u7BB7\u7BB9", 7, "\u7BC2\u7BC3\u7BC4\u57C2\u803F\u6897\u5DE5\u653B\u529F\u606D\u9F9A\u4F9B\u8EAC\u516C\u5BAB\u5F13\u5DE9\u6C5E\u62F1\u8D21\u5171\u94A9\u52FE\u6C9F\u82DF\u72D7\u57A2\u6784\u8D2D\u591F\u8F9C\u83C7\u5495\u7B8D\u4F30\u6CBD\u5B64\u59D1\u9F13\u53E4\u86CA\u9AA8\u8C37\u80A1\u6545\u987E\u56FA\u96C7\u522E\u74DC\u5250\u5BE1\u6302\u8902\u4E56\u62D0\u602A\u68FA\u5173\u5B98\u51A0\u89C2\u7BA1\u9986\u7F50\u60EF\u704C\u8D2F\u5149\u5E7F\u901B\u7470\u89C4\u572D\u7845\u5F52\u9F9F\u95FA\u8F68\u9B3C\u8BE1\u7678\u6842\u67DC\u8DEA\u8D35\u523D\u8F8A\u6EDA\u68CD\u9505\u90ED\u56FD\u679C\u88F9\u8FC7\u54C8"],
+ ["ba40", "\u7BC5\u7BC8\u7BC9\u7BCA\u7BCB\u7BCD\u7BCE\u7BCF\u7BD0\u7BD2\u7BD4", 4, "\u7BDB\u7BDC\u7BDE\u7BDF\u7BE0\u7BE2\u7BE3\u7BE4\u7BE7\u7BE8\u7BE9\u7BEB\u7BEC\u7BED\u7BEF\u7BF0\u7BF2", 4, "\u7BF8\u7BF9\u7BFA\u7BFB\u7BFD\u7BFF", 7, "\u7C08\u7C09\u7C0A\u7C0D\u7C0E\u7C10", 5, "\u7C17\u7C18\u7C19"],
+ ["ba80", "\u7C1A", 4, "\u7C20", 5, "\u7C28\u7C29\u7C2B", 12, "\u7C39", 5, "\u7C42\u9AB8\u5B69\u6D77\u6C26\u4EA5\u5BB3\u9A87\u9163\u61A8\u90AF\u97E9\u542B\u6DB5\u5BD2\u51FD\u558A\u7F55\u7FF0\u64BC\u634D\u65F1\u61BE\u608D\u710A\u6C57\u6C49\u592F\u676D\u822A\u58D5\u568E\u8C6A\u6BEB\u90DD\u597D\u8017\u53F7\u6D69\u5475\u559D\u8377\u83CF\u6838\u79BE\u548C\u4F55\u5408\u76D2\u8C89\u9602\u6CB3\u6DB8\u8D6B\u8910\u9E64\u8D3A\u563F\u9ED1\u75D5\u5F88\u72E0\u6068\u54FC\u4EA8\u6A2A\u8861\u6052\u8F70\u54C4\u70D8\u8679\u9E3F\u6D2A\u5B8F\u5F18\u7EA2\u5589\u4FAF\u7334\u543C\u539A\u5019\u540E\u547C\u4E4E\u5FFD\u745A\u58F6\u846B\u80E1\u8774\u72D0\u7CCA\u6E56"],
+ ["bb40", "\u7C43", 9, "\u7C4E", 36, "\u7C75", 5, "\u7C7E", 9],
+ ["bb80", "\u7C88\u7C8A", 6, "\u7C93\u7C94\u7C96\u7C99\u7C9A\u7C9B\u7CA0\u7CA1\u7CA3\u7CA6\u7CA7\u7CA8\u7CA9\u7CAB\u7CAC\u7CAD\u7CAF\u7CB0\u7CB4", 4, "\u7CBA\u7CBB\u5F27\u864E\u552C\u62A4\u4E92\u6CAA\u6237\u82B1\u54D7\u534E\u733E\u6ED1\u753B\u5212\u5316\u8BDD\u69D0\u5F8A\u6000\u6DEE\u574F\u6B22\u73AF\u6853\u8FD8\u7F13\u6362\u60A3\u5524\u75EA\u8C62\u7115\u6DA3\u5BA6\u5E7B\u8352\u614C\u9EC4\u78FA\u8757\u7C27\u7687\u51F0\u60F6\u714C\u6643\u5E4C\u604D\u8C0E\u7070\u6325\u8F89\u5FBD\u6062\u86D4\u56DE\u6BC1\u6094\u6167\u5349\u60E0\u6666\u8D3F\u79FD\u4F1A\u70E9\u6C47\u8BB3\u8BF2\u7ED8\u8364\u660F\u5A5A\u9B42\u6D51\u6DF7\u8C41\u6D3B\u4F19\u706B\u83B7\u6216\u60D1\u970D\u8D27\u7978\u51FB\u573E\u57FA\u673A\u7578\u7A3D\u79EF\u7B95"],
+ ["bc40", "\u7CBF\u7CC0\u7CC2\u7CC3\u7CC4\u7CC6\u7CC9\u7CCB\u7CCE", 6, "\u7CD8\u7CDA\u7CDB\u7CDD\u7CDE\u7CE1", 6, "\u7CE9", 5, "\u7CF0", 7, "\u7CF9\u7CFA\u7CFC", 13, "\u7D0B", 5],
+ ["bc80", "\u7D11", 14, "\u7D21\u7D23\u7D24\u7D25\u7D26\u7D28\u7D29\u7D2A\u7D2C\u7D2D\u7D2E\u7D30", 6, "\u808C\u9965\u8FF9\u6FC0\u8BA5\u9E21\u59EC\u7EE9\u7F09\u5409\u6781\u68D8\u8F91\u7C4D\u96C6\u53CA\u6025\u75BE\u6C72\u5373\u5AC9\u7EA7\u6324\u51E0\u810A\u5DF1\u84DF\u6280\u5180\u5B63\u4F0E\u796D\u5242\u60B8\u6D4E\u5BC4\u5BC2\u8BA1\u8BB0\u65E2\u5FCC\u9645\u5993\u7EE7\u7EAA\u5609\u67B7\u5939\u4F73\u5BB6\u52A0\u835A\u988A\u8D3E\u7532\u94BE\u5047\u7A3C\u4EF7\u67B6\u9A7E\u5AC1\u6B7C\u76D1\u575A\u5C16\u7B3A\u95F4\u714E\u517C\u80A9\u8270\u5978\u7F04\u8327\u68C0\u67EC\u78B1\u7877\u62E3\u6361\u7B80\u4FED\u526A\u51CF\u8350\u69DB\u9274\u8DF5\u8D31\u89C1\u952E\u7BAD\u4EF6"],
+ ["bd40", "\u7D37", 54, "\u7D6F", 7],
+ ["bd80", "\u7D78", 32, "\u5065\u8230\u5251\u996F\u6E10\u6E85\u6DA7\u5EFA\u50F5\u59DC\u5C06\u6D46\u6C5F\u7586\u848B\u6868\u5956\u8BB2\u5320\u9171\u964D\u8549\u6912\u7901\u7126\u80F6\u4EA4\u90CA\u6D47\u9A84\u5A07\u56BC\u6405\u94F0\u77EB\u4FA5\u811A\u72E1\u89D2\u997A\u7F34\u7EDE\u527F\u6559\u9175\u8F7F\u8F83\u53EB\u7A96\u63ED\u63A5\u7686\u79F8\u8857\u9636\u622A\u52AB\u8282\u6854\u6770\u6377\u776B\u7AED\u6D01\u7ED3\u89E3\u59D0\u6212\u85C9\u82A5\u754C\u501F\u4ECB\u75A5\u8BEB\u5C4A\u5DFE\u7B4B\u65A4\u91D1\u4ECA\u6D25\u895F\u7D27\u9526\u4EC5\u8C28\u8FDB\u9773\u664B\u7981\u8FD1\u70EC\u6D78"],
+ ["be40", "\u7D99", 12, "\u7DA7", 6, "\u7DAF", 42],
+ ["be80", "\u7DDA", 32, "\u5C3D\u52B2\u8346\u5162\u830E\u775B\u6676\u9CB8\u4EAC\u60CA\u7CBE\u7CB3\u7ECF\u4E95\u8B66\u666F\u9888\u9759\u5883\u656C\u955C\u5F84\u75C9\u9756\u7ADF\u7ADE\u51C0\u70AF\u7A98\u63EA\u7A76\u7EA0\u7396\u97ED\u4E45\u7078\u4E5D\u9152\u53A9\u6551\u65E7\u81FC\u8205\u548E\u5C31\u759A\u97A0\u62D8\u72D9\u75BD\u5C45\u9A79\u83CA\u5C40\u5480\u77E9\u4E3E\u6CAE\u805A\u62D2\u636E\u5DE8\u5177\u8DDD\u8E1E\u952F\u4FF1\u53E5\u60E7\u70AC\u5267\u6350\u9E43\u5A1F\u5026\u7737\u5377\u7EE2\u6485\u652B\u6289\u6398\u5014\u7235\u89C9\u51B3\u8BC0\u7EDD\u5747\u83CC\u94A7\u519B\u541B\u5CFB"],
+ ["bf40", "\u7DFB", 62],
+ ["bf80", "\u7E3A\u7E3C", 4, "\u7E42", 4, "\u7E48", 21, "\u4FCA\u7AE3\u6D5A\u90E1\u9A8F\u5580\u5496\u5361\u54AF\u5F00\u63E9\u6977\u51EF\u6168\u520A\u582A\u52D8\u574E\u780D\u770B\u5EB7\u6177\u7CE0\u625B\u6297\u4EA2\u7095\u8003\u62F7\u70E4\u9760\u5777\u82DB\u67EF\u68F5\u78D5\u9897\u79D1\u58F3\u54B3\u53EF\u6E34\u514B\u523B\u5BA2\u8BFE\u80AF\u5543\u57A6\u6073\u5751\u542D\u7A7A\u6050\u5B54\u63A7\u62A0\u53E3\u6263\u5BC7\u67AF\u54ED\u7A9F\u82E6\u9177\u5E93\u88E4\u5938\u57AE\u630E\u8DE8\u80EF\u5757\u7B77\u4FA9\u5FEB\u5BBD\u6B3E\u5321\u7B50\u72C2\u6846\u77FF\u7736\u65F7\u51B5\u4E8F\u76D4\u5CBF\u7AA5\u8475\u594E\u9B41\u5080"],
+ ["c040", "\u7E5E", 35, "\u7E83", 23, "\u7E9C\u7E9D\u7E9E"],
+ ["c080", "\u7EAE\u7EB4\u7EBB\u7EBC\u7ED6\u7EE4\u7EEC\u7EF9\u7F0A\u7F10\u7F1E\u7F37\u7F39\u7F3B", 6, "\u7F43\u7F46", 9, "\u7F52\u7F53\u9988\u6127\u6E83\u5764\u6606\u6346\u56F0\u62EC\u6269\u5ED3\u9614\u5783\u62C9\u5587\u8721\u814A\u8FA3\u5566\u83B1\u6765\u8D56\u84DD\u5A6A\u680F\u62E6\u7BEE\u9611\u5170\u6F9C\u8C30\u63FD\u89C8\u61D2\u7F06\u70C2\u6EE5\u7405\u6994\u72FC\u5ECA\u90CE\u6717\u6D6A\u635E\u52B3\u7262\u8001\u4F6C\u59E5\u916A\u70D9\u6D9D\u52D2\u4E50\u96F7\u956D\u857E\u78CA\u7D2F\u5121\u5792\u64C2\u808B\u7C7B\u6CEA\u68F1\u695E\u51B7\u5398\u68A8\u7281\u9ECE\u7BF1\u72F8\u79BB\u6F13\u7406\u674E\u91CC\u9CA4\u793C\u8389\u8354\u540F\u6817\u4E3D\u5389\u52B1\u783E\u5386\u5229\u5088\u4F8B\u4FD0"],
+ ["c140", "\u7F56\u7F59\u7F5B\u7F5C\u7F5D\u7F5E\u7F60\u7F63", 4, "\u7F6B\u7F6C\u7F6D\u7F6F\u7F70\u7F73\u7F75\u7F76\u7F77\u7F78\u7F7A\u7F7B\u7F7C\u7F7D\u7F7F\u7F80\u7F82", 7, "\u7F8B\u7F8D\u7F8F", 4, "\u7F95", 4, "\u7F9B\u7F9C\u7FA0\u7FA2\u7FA3\u7FA5\u7FA6\u7FA8", 6, "\u7FB1"],
+ ["c180", "\u7FB3", 4, "\u7FBA\u7FBB\u7FBE\u7FC0\u7FC2\u7FC3\u7FC4\u7FC6\u7FC7\u7FC8\u7FC9\u7FCB\u7FCD\u7FCF", 4, "\u7FD6\u7FD7\u7FD9", 5, "\u7FE2\u7FE3\u75E2\u7ACB\u7C92\u6CA5\u96B6\u529B\u7483\u54E9\u4FE9\u8054\u83B2\u8FDE\u9570\u5EC9\u601C\u6D9F\u5E18\u655B\u8138\u94FE\u604B\u70BC\u7EC3\u7CAE\u51C9\u6881\u7CB1\u826F\u4E24\u8F86\u91CF\u667E\u4EAE\u8C05\u64A9\u804A\u50DA\u7597\u71CE\u5BE5\u8FBD\u6F66\u4E86\u6482\u9563\u5ED6\u6599\u5217\u88C2\u70C8\u52A3\u730E\u7433\u6797\u78F7\u9716\u4E34\u90BB\u9CDE\u6DCB\u51DB\u8D41\u541D\u62CE\u73B2\u83F1\u96F6\u9F84\u94C3\u4F36\u7F9A\u51CC\u7075\u9675\u5CAD\u9886\u53E6\u4EE4\u6E9C\u7409\u69B4\u786B\u998F\u7559\u5218\u7624\u6D41\u67F3\u516D\u9F99\u804B\u5499\u7B3C\u7ABF"],
+ ["c240", "\u7FE4\u7FE7\u7FE8\u7FEA\u7FEB\u7FEC\u7FED\u7FEF\u7FF2\u7FF4", 6, "\u7FFD\u7FFE\u7FFF\u8002\u8007\u8008\u8009\u800A\u800E\u800F\u8011\u8013\u801A\u801B\u801D\u801E\u801F\u8021\u8023\u8024\u802B", 5, "\u8032\u8034\u8039\u803A\u803C\u803E\u8040\u8041\u8044\u8045\u8047\u8048\u8049\u804E\u804F\u8050\u8051\u8053\u8055\u8056\u8057"],
+ ["c280", "\u8059\u805B", 13, "\u806B", 5, "\u8072", 11, "\u9686\u5784\u62E2\u9647\u697C\u5A04\u6402\u7BD3\u6F0F\u964B\u82A6\u5362\u9885\u5E90\u7089\u63B3\u5364\u864F\u9C81\u9E93\u788C\u9732\u8DEF\u8D42\u9E7F\u6F5E\u7984\u5F55\u9646\u622E\u9A74\u5415\u94DD\u4FA3\u65C5\u5C65\u5C61\u7F15\u8651\u6C2F\u5F8B\u7387\u6EE4\u7EFF\u5CE6\u631B\u5B6A\u6EE6\u5375\u4E71\u63A0\u7565\u62A1\u8F6E\u4F26\u4ED1\u6CA6\u7EB6\u8BBA\u841D\u87BA\u7F57\u903B\u9523\u7BA9\u9AA1\u88F8\u843D\u6D1B\u9A86\u7EDC\u5988\u9EBB\u739B\u7801\u8682\u9A6C\u9A82\u561B\u5417\u57CB\u4E70\u9EA6\u5356\u8FC8\u8109\u7792\u9992\u86EE\u6EE1\u8513\u66FC\u6162\u6F2B"],
+ ["c340", "\u807E\u8081\u8082\u8085\u8088\u808A\u808D", 5, "\u8094\u8095\u8097\u8099\u809E\u80A3\u80A6\u80A7\u80A8\u80AC\u80B0\u80B3\u80B5\u80B6\u80B8\u80B9\u80BB\u80C5\u80C7", 4, "\u80CF", 6, "\u80D8\u80DF\u80E0\u80E2\u80E3\u80E6\u80EE\u80F5\u80F7\u80F9\u80FB\u80FE\u80FF\u8100\u8101\u8103\u8104\u8105\u8107\u8108\u810B"],
+ ["c380", "\u810C\u8115\u8117\u8119\u811B\u811C\u811D\u811F", 12, "\u812D\u812E\u8130\u8133\u8134\u8135\u8137\u8139", 4, "\u813F\u8C29\u8292\u832B\u76F2\u6C13\u5FD9\u83BD\u732B\u8305\u951A\u6BDB\u77DB\u94C6\u536F\u8302\u5192\u5E3D\u8C8C\u8D38\u4E48\u73AB\u679A\u6885\u9176\u9709\u7164\u6CA1\u7709\u5A92\u9541\u6BCF\u7F8E\u6627\u5BD0\u59B9\u5A9A\u95E8\u95F7\u4EEC\u840C\u8499\u6AAC\u76DF\u9530\u731B\u68A6\u5B5F\u772F\u919A\u9761\u7CDC\u8FF7\u8C1C\u5F25\u7C73\u79D8\u89C5\u6CCC\u871C\u5BC6\u5E42\u68C9\u7720\u7EF5\u5195\u514D\u52C9\u5A29\u7F05\u9762\u82D7\u63CF\u7784\u85D0\u79D2\u6E3A\u5E99\u5999\u8511\u706D\u6C11\u62BF\u76BF\u654F\u60AF\u95FD\u660E\u879F\u9E23\u94ED\u540D\u547D\u8C2C\u6478"],
+ ["c440", "\u8140", 5, "\u8147\u8149\u814D\u814E\u814F\u8152\u8156\u8157\u8158\u815B", 4, "\u8161\u8162\u8163\u8164\u8166\u8168\u816A\u816B\u816C\u816F\u8172\u8173\u8175\u8176\u8177\u8178\u8181\u8183", 4, "\u8189\u818B\u818C\u818D\u818E\u8190\u8192", 5, "\u8199\u819A\u819E", 4, "\u81A4\u81A5"],
+ ["c480", "\u81A7\u81A9\u81AB", 7, "\u81B4", 5, "\u81BC\u81BD\u81BE\u81BF\u81C4\u81C5\u81C7\u81C8\u81C9\u81CB\u81CD", 6, "\u6479\u8611\u6A21\u819C\u78E8\u6469\u9B54\u62B9\u672B\u83AB\u58A8\u9ED8\u6CAB\u6F20\u5BDE\u964C\u8C0B\u725F\u67D0\u62C7\u7261\u4EA9\u59C6\u6BCD\u5893\u66AE\u5E55\u52DF\u6155\u6728\u76EE\u7766\u7267\u7A46\u62FF\u54EA\u5450\u94A0\u90A3\u5A1C\u7EB3\u6C16\u4E43\u5976\u8010\u5948\u5357\u7537\u96BE\u56CA\u6320\u8111\u607C\u95F9\u6DD6\u5462\u9981\u5185\u5AE9\u80FD\u59AE\u9713\u502A\u6CE5\u5C3C\u62DF\u4F60\u533F\u817B\u9006\u6EBA\u852B\u62C8\u5E74\u78BE\u64B5\u637B\u5FF5\u5A18\u917F\u9E1F\u5C3F\u634F\u8042\u5B7D\u556E\u954A\u954D\u6D85\u60A8\u67E0\u72DE\u51DD\u5B81"],
+ ["c540", "\u81D4", 14, "\u81E4\u81E5\u81E6\u81E8\u81E9\u81EB\u81EE", 4, "\u81F5", 5, "\u81FD\u81FF\u8203\u8207", 4, "\u820E\u820F\u8211\u8213\u8215", 5, "\u821D\u8220\u8224\u8225\u8226\u8227\u8229\u822E\u8232\u823A\u823C\u823D\u823F"],
+ ["c580", "\u8240\u8241\u8242\u8243\u8245\u8246\u8248\u824A\u824C\u824D\u824E\u8250", 7, "\u8259\u825B\u825C\u825D\u825E\u8260", 7, "\u8269\u62E7\u6CDE\u725B\u626D\u94AE\u7EBD\u8113\u6D53\u519C\u5F04\u5974\u52AA\u6012\u5973\u6696\u8650\u759F\u632A\u61E6\u7CEF\u8BFA\u54E6\u6B27\u9E25\u6BB4\u85D5\u5455\u5076\u6CA4\u556A\u8DB4\u722C\u5E15\u6015\u7436\u62CD\u6392\u724C\u5F98\u6E43\u6D3E\u6500\u6F58\u76D8\u78D0\u76FC\u7554\u5224\u53DB\u4E53\u5E9E\u65C1\u802A\u80D6\u629B\u5486\u5228\u70AE\u888D\u8DD1\u6CE1\u5478\u80DA\u57F9\u88F4\u8D54\u966A\u914D\u4F69\u6C9B\u55B7\u76C6\u7830\u62A8\u70F9\u6F8E\u5F6D\u84EC\u68DA\u787C\u7BF7\u81A8\u670B\u9E4F\u6367\u78B0\u576F\u7812\u9739\u6279\u62AB\u5288\u7435\u6BD7"],
+ ["c640", "\u826A\u826B\u826C\u826D\u8271\u8275\u8276\u8277\u8278\u827B\u827C\u8280\u8281\u8283\u8285\u8286\u8287\u8289\u828C\u8290\u8293\u8294\u8295\u8296\u829A\u829B\u829E\u82A0\u82A2\u82A3\u82A7\u82B2\u82B5\u82B6\u82BA\u82BB\u82BC\u82BF\u82C0\u82C2\u82C3\u82C5\u82C6\u82C9\u82D0\u82D6\u82D9\u82DA\u82DD\u82E2\u82E7\u82E8\u82E9\u82EA\u82EC\u82ED\u82EE\u82F0\u82F2\u82F3\u82F5\u82F6\u82F8"],
+ ["c680", "\u82FA\u82FC", 4, "\u830A\u830B\u830D\u8310\u8312\u8313\u8316\u8318\u8319\u831D", 9, "\u8329\u832A\u832E\u8330\u8332\u8337\u833B\u833D\u5564\u813E\u75B2\u76AE\u5339\u75DE\u50FB\u5C41\u8B6C\u7BC7\u504F\u7247\u9A97\u98D8\u6F02\u74E2\u7968\u6487\u77A5\u62FC\u9891\u8D2B\u54C1\u8058\u4E52\u576A\u82F9\u840D\u5E73\u51ED\u74F6\u8BC4\u5C4F\u5761\u6CFC\u9887\u5A46\u7834\u9B44\u8FEB\u7C95\u5256\u6251\u94FA\u4EC6\u8386\u8461\u83E9\u84B2\u57D4\u6734\u5703\u666E\u6D66\u8C31\u66DD\u7011\u671F\u6B3A\u6816\u621A\u59BB\u4E03\u51C4\u6F06\u67D2\u6C8F\u5176\u68CB\u5947\u6B67\u7566\u5D0E\u8110\u9F50\u65D7\u7948\u7941\u9A91\u8D77\u5C82\u4E5E\u4F01\u542F\u5951\u780C\u5668\u6C14\u8FC4\u5F03\u6C7D\u6CE3\u8BAB\u6390"],
+ ["c740", "\u833E\u833F\u8341\u8342\u8344\u8345\u8348\u834A", 4, "\u8353\u8355", 4, "\u835D\u8362\u8370", 6, "\u8379\u837A\u837E", 6, "\u8387\u8388\u838A\u838B\u838C\u838D\u838F\u8390\u8391\u8394\u8395\u8396\u8397\u8399\u839A\u839D\u839F\u83A1", 6, "\u83AC\u83AD\u83AE"],
+ ["c780", "\u83AF\u83B5\u83BB\u83BE\u83BF\u83C2\u83C3\u83C4\u83C6\u83C8\u83C9\u83CB\u83CD\u83CE\u83D0\u83D1\u83D2\u83D3\u83D5\u83D7\u83D9\u83DA\u83DB\u83DE\u83E2\u83E3\u83E4\u83E6\u83E7\u83E8\u83EB\u83EC\u83ED\u6070\u6D3D\u7275\u6266\u948E\u94C5\u5343\u8FC1\u7B7E\u4EDF\u8C26\u4E7E\u9ED4\u94B1\u94B3\u524D\u6F5C\u9063\u6D45\u8C34\u5811\u5D4C\u6B20\u6B49\u67AA\u545B\u8154\u7F8C\u5899\u8537\u5F3A\u62A2\u6A47\u9539\u6572\u6084\u6865\u77A7\u4E54\u4FA8\u5DE7\u9798\u64AC\u7FD8\u5CED\u4FCF\u7A8D\u5207\u8304\u4E14\u602F\u7A83\u94A6\u4FB5\u4EB2\u79E6\u7434\u52E4\u82B9\u64D2\u79BD\u5BDD\u6C81\u9752\u8F7B\u6C22\u503E\u537F\u6E05\u64CE\u6674\u6C30\u60C5\u9877\u8BF7\u5E86\u743C\u7A77\u79CB\u4E18\u90B1\u7403\u6C42\u56DA\u914B\u6CC5\u8D8B\u533A\u86C6\u66F2\u8EAF\u5C48\u9A71\u6E20"],
+ ["c840", "\u83EE\u83EF\u83F3", 4, "\u83FA\u83FB\u83FC\u83FE\u83FF\u8400\u8402\u8405\u8407\u8408\u8409\u840A\u8410\u8412", 5, "\u8419\u841A\u841B\u841E", 5, "\u8429", 7, "\u8432", 5, "\u8439\u843A\u843B\u843E", 7, "\u8447\u8448\u8449"],
+ ["c880", "\u844A", 6, "\u8452", 4, "\u8458\u845D\u845E\u845F\u8460\u8462\u8464", 4, "\u846A\u846E\u846F\u8470\u8472\u8474\u8477\u8479\u847B\u847C\u53D6\u5A36\u9F8B\u8DA3\u53BB\u5708\u98A7\u6743\u919B\u6CC9\u5168\u75CA\u62F3\u72AC\u5238\u529D\u7F3A\u7094\u7638\u5374\u9E4A\u69B7\u786E\u96C0\u88D9\u7FA4\u7136\u71C3\u5189\u67D3\u74E4\u58E4\u6518\u56B7\u8BA9\u9976\u6270\u7ED5\u60F9\u70ED\u58EC\u4EC1\u4EBA\u5FCD\u97E7\u4EFB\u8BA4\u5203\u598A\u7EAB\u6254\u4ECD\u65E5\u620E\u8338\u84C9\u8363\u878D\u7194\u6EB6\u5BB9\u7ED2\u5197\u63C9\u67D4\u8089\u8339\u8815\u5112\u5B7A\u5982\u8FB1\u4E73\u6C5D\u5165\u8925\u8F6F\u962E\u854A\u745E\u9510\u95F0\u6DA6\u82E5\u5F31\u6492\u6D12\u8428\u816E\u9CC3\u585E\u8D5B\u4E09\u53C1"],
+ ["c940", "\u847D", 4, "\u8483\u8484\u8485\u8486\u848A\u848D\u848F", 7, "\u8498\u849A\u849B\u849D\u849E\u849F\u84A0\u84A2", 12, "\u84B0\u84B1\u84B3\u84B5\u84B6\u84B7\u84BB\u84BC\u84BE\u84C0\u84C2\u84C3\u84C5\u84C6\u84C7\u84C8\u84CB\u84CC\u84CE\u84CF\u84D2\u84D4\u84D5\u84D7"],
+ ["c980", "\u84D8", 4, "\u84DE\u84E1\u84E2\u84E4\u84E7", 4, "\u84ED\u84EE\u84EF\u84F1", 10, "\u84FD\u84FE\u8500\u8501\u8502\u4F1E\u6563\u6851\u55D3\u4E27\u6414\u9A9A\u626B\u5AC2\u745F\u8272\u6DA9\u68EE\u50E7\u838E\u7802\u6740\u5239\u6C99\u7EB1\u50BB\u5565\u715E\u7B5B\u6652\u73CA\u82EB\u6749\u5C71\u5220\u717D\u886B\u95EA\u9655\u64C5\u8D61\u81B3\u5584\u6C55\u6247\u7F2E\u5892\u4F24\u5546\u8D4F\u664C\u4E0A\u5C1A\u88F3\u68A2\u634E\u7A0D\u70E7\u828D\u52FA\u97F6\u5C11\u54E8\u90B5\u7ECD\u5962\u8D4A\u86C7\u820C\u820D\u8D66\u6444\u5C04\u6151\u6D89\u793E\u8BBE\u7837\u7533\u547B\u4F38\u8EAB\u6DF1\u5A20\u7EC5\u795E\u6C88\u5BA1\u5A76\u751A\u80BE\u614E\u6E17\u58F0\u751F\u7525\u7272\u5347\u7EF3"],
+ ["ca40", "\u8503", 8, "\u850D\u850E\u850F\u8510\u8512\u8514\u8515\u8516\u8518\u8519\u851B\u851C\u851D\u851E\u8520\u8522", 8, "\u852D", 9, "\u853E", 4, "\u8544\u8545\u8546\u8547\u854B", 10],
+ ["ca80", "\u8557\u8558\u855A\u855B\u855C\u855D\u855F", 4, "\u8565\u8566\u8567\u8569", 8, "\u8573\u8575\u8576\u8577\u8578\u857C\u857D\u857F\u8580\u8581\u7701\u76DB\u5269\u80DC\u5723\u5E08\u5931\u72EE\u65BD\u6E7F\u8BD7\u5C38\u8671\u5341\u77F3\u62FE\u65F6\u4EC0\u98DF\u8680\u5B9E\u8BC6\u53F2\u77E2\u4F7F\u5C4E\u9A76\u59CB\u5F0F\u793A\u58EB\u4E16\u67FF\u4E8B\u62ED\u8A93\u901D\u52BF\u662F\u55DC\u566C\u9002\u4ED5\u4F8D\u91CA\u9970\u6C0F\u5E02\u6043\u5BA4\u89C6\u8BD5\u6536\u624B\u9996\u5B88\u5BFF\u6388\u552E\u53D7\u7626\u517D\u852C\u67A2\u68B3\u6B8A\u6292\u8F93\u53D4\u8212\u6DD1\u758F\u4E66\u8D4E\u5B70\u719F\u85AF\u6691\u66D9\u7F72\u8700\u9ECD\u9F20\u5C5E\u672F\u8FF0\u6811\u675F\u620D\u7AD6\u5885\u5EB6\u6570\u6F31"],
+ ["cb40", "\u8582\u8583\u8586\u8588", 6, "\u8590", 10, "\u859D", 6, "\u85A5\u85A6\u85A7\u85A9\u85AB\u85AC\u85AD\u85B1", 5, "\u85B8\u85BA", 6, "\u85C2", 6, "\u85CA", 4, "\u85D1\u85D2"],
+ ["cb80", "\u85D4\u85D6", 5, "\u85DD", 6, "\u85E5\u85E6\u85E7\u85E8\u85EA", 14, "\u6055\u5237\u800D\u6454\u8870\u7529\u5E05\u6813\u62F4\u971C\u53CC\u723D\u8C01\u6C34\u7761\u7A0E\u542E\u77AC\u987A\u821C\u8BF4\u7855\u6714\u70C1\u65AF\u6495\u5636\u601D\u79C1\u53F8\u4E1D\u6B7B\u8086\u5BFA\u55E3\u56DB\u4F3A\u4F3C\u9972\u5DF3\u677E\u8038\u6002\u9882\u9001\u5B8B\u8BBC\u8BF5\u641C\u8258\u64DE\u55FD\u82CF\u9165\u4FD7\u7D20\u901F\u7C9F\u50F3\u5851\u6EAF\u5BBF\u8BC9\u8083\u9178\u849C\u7B97\u867D\u968B\u968F\u7EE5\u9AD3\u788E\u5C81\u7A57\u9042\u96A7\u795F\u5B59\u635F\u7B0B\u84D1\u68AD\u5506\u7F29\u7410\u7D22\u9501\u6240\u584C\u4ED6\u5B83\u5979\u5854"],
+ ["cc40", "\u85F9\u85FA\u85FC\u85FD\u85FE\u8600", 4, "\u8606", 10, "\u8612\u8613\u8614\u8615\u8617", 15, "\u8628\u862A", 13, "\u8639\u863A\u863B\u863D\u863E\u863F\u8640"],
+ ["cc80", "\u8641", 11, "\u8652\u8653\u8655", 4, "\u865B\u865C\u865D\u865F\u8660\u8661\u8663", 7, "\u736D\u631E\u8E4B\u8E0F\u80CE\u82D4\u62AC\u53F0\u6CF0\u915E\u592A\u6001\u6C70\u574D\u644A\u8D2A\u762B\u6EE9\u575B\u6A80\u75F0\u6F6D\u8C2D\u8C08\u5766\u6BEF\u8892\u78B3\u63A2\u53F9\u70AD\u6C64\u5858\u642A\u5802\u68E0\u819B\u5510\u7CD6\u5018\u8EBA\u6DCC\u8D9F\u70EB\u638F\u6D9B\u6ED4\u7EE6\u8404\u6843\u9003\u6DD8\u9676\u8BA8\u5957\u7279\u85E4\u817E\u75BC\u8A8A\u68AF\u5254\u8E22\u9511\u63D0\u9898\u8E44\u557C\u4F53\u66FF\u568F\u60D5\u6D95\u5243\u5C49\u5929\u6DFB\u586B\u7530\u751C\u606C\u8214\u8146\u6311\u6761\u8FE2\u773A\u8DF3\u8D34\u94C1\u5E16\u5385\u542C\u70C3"],
+ ["cd40", "\u866D\u866F\u8670\u8672", 6, "\u8683", 6, "\u868E", 4, "\u8694\u8696", 5, "\u869E", 4, "\u86A5\u86A6\u86AB\u86AD\u86AE\u86B2\u86B3\u86B7\u86B8\u86B9\u86BB", 4, "\u86C1\u86C2\u86C3\u86C5\u86C8\u86CC\u86CD\u86D2\u86D3\u86D5\u86D6\u86D7\u86DA\u86DC"],
+ ["cd80", "\u86DD\u86E0\u86E1\u86E2\u86E3\u86E5\u86E6\u86E7\u86E8\u86EA\u86EB\u86EC\u86EF\u86F5\u86F6\u86F7\u86FA\u86FB\u86FC\u86FD\u86FF\u8701\u8704\u8705\u8706\u870B\u870C\u870E\u870F\u8710\u8711\u8714\u8716\u6C40\u5EF7\u505C\u4EAD\u5EAD\u633A\u8247\u901A\u6850\u916E\u77B3\u540C\u94DC\u5F64\u7AE5\u6876\u6345\u7B52\u7EDF\u75DB\u5077\u6295\u5934\u900F\u51F8\u79C3\u7A81\u56FE\u5F92\u9014\u6D82\u5C60\u571F\u5410\u5154\u6E4D\u56E2\u63A8\u9893\u817F\u8715\u892A\u9000\u541E\u5C6F\u81C0\u62D6\u6258\u8131\u9E35\u9640\u9A6E\u9A7C\u692D\u59A5\u62D3\u553E\u6316\u54C7\u86D9\u6D3C\u5A03\u74E6\u889C\u6B6A\u5916\u8C4C\u5F2F\u6E7E\u73A9\u987D\u4E38\u70F7\u5B8C\u7897\u633D\u665A\u7696\u60CB\u5B9B\u5A49\u4E07\u8155\u6C6A\u738B\u4EA1\u6789\u7F51\u5F80\u65FA\u671B\u5FD8\u5984\u5A01"],
+ ["ce40", "\u8719\u871B\u871D\u871F\u8720\u8724\u8726\u8727\u8728\u872A\u872B\u872C\u872D\u872F\u8730\u8732\u8733\u8735\u8736\u8738\u8739\u873A\u873C\u873D\u8740", 6, "\u874A\u874B\u874D\u874F\u8750\u8751\u8752\u8754\u8755\u8756\u8758\u875A", 5, "\u8761\u8762\u8766", 7, "\u876F\u8771\u8772\u8773\u8775"],
+ ["ce80", "\u8777\u8778\u8779\u877A\u877F\u8780\u8781\u8784\u8786\u8787\u8789\u878A\u878C\u878E", 4, "\u8794\u8795\u8796\u8798", 6, "\u87A0", 4, "\u5DCD\u5FAE\u5371\u97E6\u8FDD\u6845\u56F4\u552F\u60DF\u4E3A\u6F4D\u7EF4\u82C7\u840E\u59D4\u4F1F\u4F2A\u5C3E\u7EAC\u672A\u851A\u5473\u754F\u80C3\u5582\u9B4F\u4F4D\u6E2D\u8C13\u5C09\u6170\u536B\u761F\u6E29\u868A\u6587\u95FB\u7EB9\u543B\u7A33\u7D0A\u95EE\u55E1\u7FC1\u74EE\u631D\u8717\u6DA1\u7A9D\u6211\u65A1\u5367\u63E1\u6C83\u5DEB\u545C\u94A8\u4E4C\u6C61\u8BEC\u5C4B\u65E0\u829C\u68A7\u543E\u5434\u6BCB\u6B66\u4E94\u6342\u5348\u821E\u4F0D\u4FAE\u575E\u620A\u96FE\u6664\u7269\u52FF\u52A1\u609F\u8BEF\u6614\u7199\u6790\u897F\u7852\u77FD\u6670\u563B\u5438\u9521\u727A"],
+ ["cf40", "\u87A5\u87A6\u87A7\u87A9\u87AA\u87AE\u87B0\u87B1\u87B2\u87B4\u87B6\u87B7\u87B8\u87B9\u87BB\u87BC\u87BE\u87BF\u87C1", 4, "\u87C7\u87C8\u87C9\u87CC", 4, "\u87D4", 6, "\u87DC\u87DD\u87DE\u87DF\u87E1\u87E2\u87E3\u87E4\u87E6\u87E7\u87E8\u87E9\u87EB\u87EC\u87ED\u87EF", 9],
+ ["cf80", "\u87FA\u87FB\u87FC\u87FD\u87FF\u8800\u8801\u8802\u8804", 5, "\u880B", 7, "\u8814\u8817\u8818\u8819\u881A\u881C", 4, "\u8823\u7A00\u606F\u5E0C\u6089\u819D\u5915\u60DC\u7184\u70EF\u6EAA\u6C50\u7280\u6A84\u88AD\u5E2D\u4E60\u5AB3\u559C\u94E3\u6D17\u7CFB\u9699\u620F\u7EC6\u778E\u867E\u5323\u971E\u8F96\u6687\u5CE1\u4FA0\u72ED\u4E0B\u53A6\u590F\u5413\u6380\u9528\u5148\u4ED9\u9C9C\u7EA4\u54B8\u8D24\u8854\u8237\u95F2\u6D8E\u5F26\u5ACC\u663E\u9669\u73B0\u732E\u53BF\u817A\u9985\u7FA1\u5BAA\u9677\u9650\u7EBF\u76F8\u53A2\u9576\u9999\u7BB1\u8944\u6E58\u4E61\u7FD4\u7965\u8BE6\u60F3\u54CD\u4EAB\u9879\u5DF7\u6A61\u50CF\u5411\u8C61\u8427\u785D\u9704\u524A\u54EE\u56A3\u9500\u6D88\u5BB5\u6DC6\u6653"],
+ ["d040", "\u8824", 13, "\u8833", 5, "\u883A\u883B\u883D\u883E\u883F\u8841\u8842\u8843\u8846", 5, "\u884E", 5, "\u8855\u8856\u8858\u885A", 6, "\u8866\u8867\u886A\u886D\u886F\u8871\u8873\u8874\u8875\u8876\u8878\u8879\u887A"],
+ ["d080", "\u887B\u887C\u8880\u8883\u8886\u8887\u8889\u888A\u888C\u888E\u888F\u8890\u8891\u8893\u8894\u8895\u8897", 4, "\u889D", 4, "\u88A3\u88A5", 5, "\u5C0F\u5B5D\u6821\u8096\u5578\u7B11\u6548\u6954\u4E9B\u6B47\u874E\u978B\u534F\u631F\u643A\u90AA\u659C\u80C1\u8C10\u5199\u68B0\u5378\u87F9\u61C8\u6CC4\u6CFB\u8C22\u5C51\u85AA\u82AF\u950C\u6B23\u8F9B\u65B0\u5FFB\u5FC3\u4FE1\u8845\u661F\u8165\u7329\u60FA\u5174\u5211\u578B\u5F62\u90A2\u884C\u9192\u5E78\u674F\u6027\u59D3\u5144\u51F6\u80F8\u5308\u6C79\u96C4\u718A\u4F11\u4FEE\u7F9E\u673D\u55C5\u9508\u79C0\u8896\u7EE3\u589F\u620C\u9700\u865A\u5618\u987B\u5F90\u8BB8\u84C4\u9157\u53D9\u65ED\u5E8F\u755C\u6064\u7D6E\u5A7F\u7EEA\u7EED\u8F69\u55A7\u5BA3\u60AC\u65CB\u7384"],
+ ["d140", "\u88AC\u88AE\u88AF\u88B0\u88B2", 4, "\u88B8\u88B9\u88BA\u88BB\u88BD\u88BE\u88BF\u88C0\u88C3\u88C4\u88C7\u88C8\u88CA\u88CB\u88CC\u88CD\u88CF\u88D0\u88D1\u88D3\u88D6\u88D7\u88DA", 4, "\u88E0\u88E1\u88E6\u88E7\u88E9", 6, "\u88F2\u88F5\u88F6\u88F7\u88FA\u88FB\u88FD\u88FF\u8900\u8901\u8903", 5],
+ ["d180", "\u8909\u890B", 4, "\u8911\u8914", 4, "\u891C", 4, "\u8922\u8923\u8924\u8926\u8927\u8928\u8929\u892C\u892D\u892E\u892F\u8931\u8932\u8933\u8935\u8937\u9009\u7663\u7729\u7EDA\u9774\u859B\u5B66\u7A74\u96EA\u8840\u52CB\u718F\u5FAA\u65EC\u8BE2\u5BFB\u9A6F\u5DE1\u6B89\u6C5B\u8BAD\u8BAF\u900A\u8FC5\u538B\u62BC\u9E26\u9E2D\u5440\u4E2B\u82BD\u7259\u869C\u5D16\u8859\u6DAF\u96C5\u54D1\u4E9A\u8BB6\u7109\u54BD\u9609\u70DF\u6DF9\u76D0\u4E25\u7814\u8712\u5CA9\u5EF6\u8A00\u989C\u960E\u708E\u6CBF\u5944\u63A9\u773C\u884D\u6F14\u8273\u5830\u71D5\u538C\u781A\u96C1\u5501\u5F66\u7130\u5BB4\u8C1A\u9A8C\u6B83\u592E\u9E2F\u79E7\u6768\u626C\u4F6F\u75A1\u7F8A\u6D0B\u9633\u6C27\u4EF0\u75D2\u517B\u6837\u6F3E\u9080\u8170\u5996\u7476"],
+ ["d240", "\u8938", 8, "\u8942\u8943\u8945", 24, "\u8960", 5, "\u8967", 19, "\u897C"],
+ ["d280", "\u897D\u897E\u8980\u8982\u8984\u8985\u8987", 26, "\u6447\u5C27\u9065\u7A91\u8C23\u59DA\u54AC\u8200\u836F\u8981\u8000\u6930\u564E\u8036\u7237\u91CE\u51B6\u4E5F\u9875\u6396\u4E1A\u53F6\u66F3\u814B\u591C\u6DB2\u4E00\u58F9\u533B\u63D6\u94F1\u4F9D\u4F0A\u8863\u9890\u5937\u9057\u79FB\u4EEA\u80F0\u7591\u6C82\u5B9C\u59E8\u5F5D\u6905\u8681\u501A\u5DF2\u4E59\u77E3\u4EE5\u827A\u6291\u6613\u9091\u5C79\u4EBF\u5F79\u81C6\u9038\u8084\u75AB\u4EA6\u88D4\u610F\u6BC5\u5FC6\u4E49\u76CA\u6EA2\u8BE3\u8BAE\u8C0A\u8BD1\u5F02\u7FFC\u7FCC\u7ECE\u8335\u836B\u56E0\u6BB7\u97F3\u9634\u59FB\u541F\u94F6\u6DEB\u5BC5\u996E\u5C39\u5F15\u9690"],
+ ["d340", "\u89A2", 30, "\u89C3\u89CD\u89D3\u89D4\u89D5\u89D7\u89D8\u89D9\u89DB\u89DD\u89DF\u89E0\u89E1\u89E2\u89E4\u89E7\u89E8\u89E9\u89EA\u89EC\u89ED\u89EE\u89F0\u89F1\u89F2\u89F4", 6],
+ ["d380", "\u89FB", 4, "\u8A01", 5, "\u8A08", 21, "\u5370\u82F1\u6A31\u5A74\u9E70\u5E94\u7F28\u83B9\u8424\u8425\u8367\u8747\u8FCE\u8D62\u76C8\u5F71\u9896\u786C\u6620\u54DF\u62E5\u4F63\u81C3\u75C8\u5EB8\u96CD\u8E0A\u86F9\u548F\u6CF3\u6D8C\u6C38\u607F\u52C7\u7528\u5E7D\u4F18\u60A0\u5FE7\u5C24\u7531\u90AE\u94C0\u72B9\u6CB9\u6E38\u9149\u6709\u53CB\u53F3\u4F51\u91C9\u8BF1\u53C8\u5E7C\u8FC2\u6DE4\u4E8E\u76C2\u6986\u865E\u611A\u8206\u4F59\u4FDE\u903E\u9C7C\u6109\u6E1D\u6E14\u9685\u4E88\u5A31\u96E8\u4E0E\u5C7F\u79B9\u5B87\u8BED\u7FBD\u7389\u57DF\u828B\u90C1\u5401\u9047\u55BB\u5CEA\u5FA1\u6108\u6B32\u72F1\u80B2\u8A89"],
+ ["d440", "\u8A1E", 31, "\u8A3F", 8, "\u8A49", 21],
+ ["d480", "\u8A5F", 25, "\u8A7A", 6, "\u6D74\u5BD3\u88D5\u9884\u8C6B\u9A6D\u9E33\u6E0A\u51A4\u5143\u57A3\u8881\u539F\u63F4\u8F95\u56ED\u5458\u5706\u733F\u6E90\u7F18\u8FDC\u82D1\u613F\u6028\u9662\u66F0\u7EA6\u8D8A\u8DC3\u94A5\u5CB3\u7CA4\u6708\u60A6\u9605\u8018\u4E91\u90E7\u5300\u9668\u5141\u8FD0\u8574\u915D\u6655\u97F5\u5B55\u531D\u7838\u6742\u683D\u54C9\u707E\u5BB0\u8F7D\u518D\u5728\u54B1\u6512\u6682\u8D5E\u8D43\u810F\u846C\u906D\u7CDF\u51FF\u85FB\u67A3\u65E9\u6FA1\u86A4\u8E81\u566A\u9020\u7682\u7076\u71E5\u8D23\u62E9\u5219\u6CFD\u8D3C\u600E\u589E\u618E\u66FE\u8D60\u624E\u55B3\u6E23\u672D\u8F67"],
+ ["d540", "\u8A81", 7, "\u8A8B", 7, "\u8A94", 46],
+ ["d580", "\u8AC3", 32, "\u94E1\u95F8\u7728\u6805\u69A8\u548B\u4E4D\u70B8\u8BC8\u6458\u658B\u5B85\u7A84\u503A\u5BE8\u77BB\u6BE1\u8A79\u7C98\u6CBE\u76CF\u65A9\u8F97\u5D2D\u5C55\u8638\u6808\u5360\u6218\u7AD9\u6E5B\u7EFD\u6A1F\u7AE0\u5F70\u6F33\u5F20\u638C\u6DA8\u6756\u4E08\u5E10\u8D26\u4ED7\u80C0\u7634\u969C\u62DB\u662D\u627E\u6CBC\u8D75\u7167\u7F69\u5146\u8087\u53EC\u906E\u6298\u54F2\u86F0\u8F99\u8005\u9517\u8517\u8FD9\u6D59\u73CD\u659F\u771F\u7504\u7827\u81FB\u8D1E\u9488\u4FA6\u6795\u75B9\u8BCA\u9707\u632F\u9547\u9635\u84B8\u6323\u7741\u5F81\u72F0\u4E89\u6014\u6574\u62EF\u6B63\u653F"],
+ ["d640", "\u8AE4", 34, "\u8B08", 27],
+ ["d680", "\u8B24\u8B25\u8B27", 30, "\u5E27\u75C7\u90D1\u8BC1\u829D\u679D\u652F\u5431\u8718\u77E5\u80A2\u8102\u6C41\u4E4B\u7EC7\u804C\u76F4\u690D\u6B96\u6267\u503C\u4F84\u5740\u6307\u6B62\u8DBE\u53EA\u65E8\u7EB8\u5FD7\u631A\u63B7\u81F3\u81F4\u7F6E\u5E1C\u5CD9\u5236\u667A\u79E9\u7A1A\u8D28\u7099\u75D4\u6EDE\u6CBB\u7A92\u4E2D\u76C5\u5FE0\u949F\u8877\u7EC8\u79CD\u80BF\u91CD\u4EF2\u4F17\u821F\u5468\u5DDE\u6D32\u8BCC\u7CA5\u8F74\u8098\u5E1A\u5492\u76B1\u5B99\u663C\u9AA4\u73E0\u682A\u86DB\u6731\u732A\u8BF8\u8BDB\u9010\u7AF9\u70DB\u716E\u62C4\u77A9\u5631\u4E3B\u8457\u67F1\u52A9\u86C0\u8D2E\u94F8\u7B51"],
+ ["d740", "\u8B46", 31, "\u8B67", 4, "\u8B6D", 25],
+ ["d780", "\u8B87", 24, "\u8BAC\u8BB1\u8BBB\u8BC7\u8BD0\u8BEA\u8C09\u8C1E\u4F4F\u6CE8\u795D\u9A7B\u6293\u722A\u62FD\u4E13\u7816\u8F6C\u64B0\u8D5A\u7BC6\u6869\u5E84\u88C5\u5986\u649E\u58EE\u72B6\u690E\u9525\u8FFD\u8D58\u5760\u7F00\u8C06\u51C6\u6349\u62D9\u5353\u684C\u7422\u8301\u914C\u5544\u7740\u707C\u6D4A\u5179\u54A8\u8D44\u59FF\u6ECB\u6DC4\u5B5C\u7D2B\u4ED4\u7C7D\u6ED3\u5B50\u81EA\u6E0D\u5B57\u9B03\u68D5\u8E2A\u5B97\u7EFC\u603B\u7EB5\u90B9\u8D70\u594F\u63CD\u79DF\u8DB3\u5352\u65CF\u7956\u8BC5\u963B\u7EC4\u94BB\u7E82\u5634\u9189\u6700\u7F6A\u5C0A\u9075\u6628\u5DE6\u4F50\u67DE\u505A\u4F5C\u5750\u5EA7"],
+ ["d840", "\u8C38", 8, "\u8C42\u8C43\u8C44\u8C45\u8C48\u8C4A\u8C4B\u8C4D", 7, "\u8C56\u8C57\u8C58\u8C59\u8C5B", 5, "\u8C63", 6, "\u8C6C", 6, "\u8C74\u8C75\u8C76\u8C77\u8C7B", 6, "\u8C83\u8C84\u8C86\u8C87"],
+ ["d880", "\u8C88\u8C8B\u8C8D", 6, "\u8C95\u8C96\u8C97\u8C99", 20, "\u4E8D\u4E0C\u5140\u4E10\u5EFF\u5345\u4E15\u4E98\u4E1E\u9B32\u5B6C\u5669\u4E28\u79BA\u4E3F\u5315\u4E47\u592D\u723B\u536E\u6C10\u56DF\u80E4\u9997\u6BD3\u777E\u9F17\u4E36\u4E9F\u9F10\u4E5C\u4E69\u4E93\u8288\u5B5B\u556C\u560F\u4EC4\u538D\u539D\u53A3\u53A5\u53AE\u9765\u8D5D\u531A\u53F5\u5326\u532E\u533E\u8D5C\u5366\u5363\u5202\u5208\u520E\u522D\u5233\u523F\u5240\u524C\u525E\u5261\u525C\u84AF\u527D\u5282\u5281\u5290\u5293\u5182\u7F54\u4EBB\u4EC3\u4EC9\u4EC2\u4EE8\u4EE1\u4EEB\u4EDE\u4F1B\u4EF3\u4F22\u4F64\u4EF5\u4F25\u4F27\u4F09\u4F2B\u4F5E\u4F67\u6538\u4F5A\u4F5D"],
+ ["d940", "\u8CAE", 62],
+ ["d980", "\u8CED", 32, "\u4F5F\u4F57\u4F32\u4F3D\u4F76\u4F74\u4F91\u4F89\u4F83\u4F8F\u4F7E\u4F7B\u4FAA\u4F7C\u4FAC\u4F94\u4FE6\u4FE8\u4FEA\u4FC5\u4FDA\u4FE3\u4FDC\u4FD1\u4FDF\u4FF8\u5029\u504C\u4FF3\u502C\u500F\u502E\u502D\u4FFE\u501C\u500C\u5025\u5028\u507E\u5043\u5055\u5048\u504E\u506C\u507B\u50A5\u50A7\u50A9\u50BA\u50D6\u5106\u50ED\u50EC\u50E6\u50EE\u5107\u510B\u4EDD\u6C3D\u4F58\u4F65\u4FCE\u9FA0\u6C46\u7C74\u516E\u5DFD\u9EC9\u9998\u5181\u5914\u52F9\u530D\u8A07\u5310\u51EB\u5919\u5155\u4EA0\u5156\u4EB3\u886E\u88A4\u4EB5\u8114\u88D2\u7980\u5B34\u8803\u7FB8\u51AB\u51B1\u51BD\u51BC"],
+ ["da40", "\u8D0E", 14, "\u8D20\u8D51\u8D52\u8D57\u8D5F\u8D65\u8D68\u8D69\u8D6A\u8D6C\u8D6E\u8D6F\u8D71\u8D72\u8D78", 8, "\u8D82\u8D83\u8D86\u8D87\u8D88\u8D89\u8D8C", 4, "\u8D92\u8D93\u8D95", 9, "\u8DA0\u8DA1"],
+ ["da80", "\u8DA2\u8DA4", 12, "\u8DB2\u8DB6\u8DB7\u8DB9\u8DBB\u8DBD\u8DC0\u8DC1\u8DC2\u8DC5\u8DC7\u8DC8\u8DC9\u8DCA\u8DCD\u8DD0\u8DD2\u8DD3\u8DD4\u51C7\u5196\u51A2\u51A5\u8BA0\u8BA6\u8BA7\u8BAA\u8BB4\u8BB5\u8BB7\u8BC2\u8BC3\u8BCB\u8BCF\u8BCE\u8BD2\u8BD3\u8BD4\u8BD6\u8BD8\u8BD9\u8BDC\u8BDF\u8BE0\u8BE4\u8BE8\u8BE9\u8BEE\u8BF0\u8BF3\u8BF6\u8BF9\u8BFC\u8BFF\u8C00\u8C02\u8C04\u8C07\u8C0C\u8C0F\u8C11\u8C12\u8C14\u8C15\u8C16\u8C19\u8C1B\u8C18\u8C1D\u8C1F\u8C20\u8C21\u8C25\u8C27\u8C2A\u8C2B\u8C2E\u8C2F\u8C32\u8C33\u8C35\u8C36\u5369\u537A\u961D\u9622\u9621\u9631\u962A\u963D\u963C\u9642\u9649\u9654\u965F\u9667\u966C\u9672\u9674\u9688\u968D\u9697\u96B0\u9097\u909B\u909D\u9099\u90AC\u90A1\u90B4\u90B3\u90B6\u90BA"],
+ ["db40", "\u8DD5\u8DD8\u8DD9\u8DDC\u8DE0\u8DE1\u8DE2\u8DE5\u8DE6\u8DE7\u8DE9\u8DED\u8DEE\u8DF0\u8DF1\u8DF2\u8DF4\u8DF6\u8DFC\u8DFE", 6, "\u8E06\u8E07\u8E08\u8E0B\u8E0D\u8E0E\u8E10\u8E11\u8E12\u8E13\u8E15", 7, "\u8E20\u8E21\u8E24", 4, "\u8E2B\u8E2D\u8E30\u8E32\u8E33\u8E34\u8E36\u8E37\u8E38\u8E3B\u8E3C\u8E3E"],
+ ["db80", "\u8E3F\u8E43\u8E45\u8E46\u8E4C", 4, "\u8E53", 5, "\u8E5A", 11, "\u8E67\u8E68\u8E6A\u8E6B\u8E6E\u8E71\u90B8\u90B0\u90CF\u90C5\u90BE\u90D0\u90C4\u90C7\u90D3\u90E6\u90E2\u90DC\u90D7\u90DB\u90EB\u90EF\u90FE\u9104\u9122\u911E\u9123\u9131\u912F\u9139\u9143\u9146\u520D\u5942\u52A2\u52AC\u52AD\u52BE\u54FF\u52D0\u52D6\u52F0\u53DF\u71EE\u77CD\u5EF4\u51F5\u51FC\u9B2F\u53B6\u5F01\u755A\u5DEF\u574C\u57A9\u57A1\u587E\u58BC\u58C5\u58D1\u5729\u572C\u572A\u5733\u5739\u572E\u572F\u575C\u573B\u5742\u5769\u5785\u576B\u5786\u577C\u577B\u5768\u576D\u5776\u5773\u57AD\u57A4\u578C\u57B2\u57CF\u57A7\u57B4\u5793\u57A0\u57D5\u57D8\u57DA\u57D9\u57D2\u57B8\u57F4\u57EF\u57F8\u57E4\u57DD"],
+ ["dc40", "\u8E73\u8E75\u8E77", 4, "\u8E7D\u8E7E\u8E80\u8E82\u8E83\u8E84\u8E86\u8E88", 6, "\u8E91\u8E92\u8E93\u8E95", 6, "\u8E9D\u8E9F", 11, "\u8EAD\u8EAE\u8EB0\u8EB1\u8EB3", 6, "\u8EBB", 7],
+ ["dc80", "\u8EC3", 10, "\u8ECF", 21, "\u580B\u580D\u57FD\u57ED\u5800\u581E\u5819\u5844\u5820\u5865\u586C\u5881\u5889\u589A\u5880\u99A8\u9F19\u61FF\u8279\u827D\u827F\u828F\u828A\u82A8\u8284\u828E\u8291\u8297\u8299\u82AB\u82B8\u82BE\u82B0\u82C8\u82CA\u82E3\u8298\u82B7\u82AE\u82CB\u82CC\u82C1\u82A9\u82B4\u82A1\u82AA\u829F\u82C4\u82CE\u82A4\u82E1\u8309\u82F7\u82E4\u830F\u8307\u82DC\u82F4\u82D2\u82D8\u830C\u82FB\u82D3\u8311\u831A\u8306\u8314\u8315\u82E0\u82D5\u831C\u8351\u835B\u835C\u8308\u8392\u833C\u8334\u8331\u839B\u835E\u832F\u834F\u8347\u8343\u835F\u8340\u8317\u8360\u832D\u833A\u8333\u8366\u8365"],
+ ["dd40", "\u8EE5", 62],
+ ["dd80", "\u8F24", 32, "\u8368\u831B\u8369\u836C\u836A\u836D\u836E\u83B0\u8378\u83B3\u83B4\u83A0\u83AA\u8393\u839C\u8385\u837C\u83B6\u83A9\u837D\u83B8\u837B\u8398\u839E\u83A8\u83BA\u83BC\u83C1\u8401\u83E5\u83D8\u5807\u8418\u840B\u83DD\u83FD\u83D6\u841C\u8438\u8411\u8406\u83D4\u83DF\u840F\u8403\u83F8\u83F9\u83EA\u83C5\u83C0\u8426\u83F0\u83E1\u845C\u8451\u845A\u8459\u8473\u8487\u8488\u847A\u8489\u8478\u843C\u8446\u8469\u8476\u848C\u848E\u8431\u846D\u84C1\u84CD\u84D0\u84E6\u84BD\u84D3\u84CA\u84BF\u84BA\u84E0\u84A1\u84B9\u84B4\u8497\u84E5\u84E3\u850C\u750D\u8538\u84F0\u8539\u851F\u853A"],
+ ["de40", "\u8F45", 32, "\u8F6A\u8F80\u8F8C\u8F92\u8F9D\u8FA0\u8FA1\u8FA2\u8FA4\u8FA5\u8FA6\u8FA7\u8FAA\u8FAC\u8FAD\u8FAE\u8FAF\u8FB2\u8FB3\u8FB4\u8FB5\u8FB7\u8FB8\u8FBA\u8FBB\u8FBC\u8FBF\u8FC0\u8FC3\u8FC6"],
+ ["de80", "\u8FC9", 4, "\u8FCF\u8FD2\u8FD6\u8FD7\u8FDA\u8FE0\u8FE1\u8FE3\u8FE7\u8FEC\u8FEF\u8FF1\u8FF2\u8FF4\u8FF5\u8FF6\u8FFA\u8FFB\u8FFC\u8FFE\u8FFF\u9007\u9008\u900C\u900E\u9013\u9015\u9018\u8556\u853B\u84FF\u84FC\u8559\u8548\u8568\u8564\u855E\u857A\u77A2\u8543\u8572\u857B\u85A4\u85A8\u8587\u858F\u8579\u85AE\u859C\u8585\u85B9\u85B7\u85B0\u85D3\u85C1\u85DC\u85FF\u8627\u8605\u8629\u8616\u863C\u5EFE\u5F08\u593C\u5941\u8037\u5955\u595A\u5958\u530F\u5C22\u5C25\u5C2C\u5C34\u624C\u626A\u629F\u62BB\u62CA\u62DA\u62D7\u62EE\u6322\u62F6\u6339\u634B\u6343\u63AD\u63F6\u6371\u637A\u638E\u63B4\u636D\u63AC\u638A\u6369\u63AE\u63BC\u63F2\u63F8\u63E0\u63FF\u63C4\u63DE\u63CE\u6452\u63C6\u63BE\u6445\u6441\u640B\u641B\u6420\u640C\u6426\u6421\u645E\u6484\u646D\u6496"],
+ ["df40", "\u9019\u901C\u9023\u9024\u9025\u9027", 5, "\u9030", 4, "\u9037\u9039\u903A\u903D\u903F\u9040\u9043\u9045\u9046\u9048", 4, "\u904E\u9054\u9055\u9056\u9059\u905A\u905C", 5, "\u9064\u9066\u9067\u9069\u906A\u906B\u906C\u906F", 4, "\u9076", 6, "\u907E\u9081"],
+ ["df80", "\u9084\u9085\u9086\u9087\u9089\u908A\u908C", 4, "\u9092\u9094\u9096\u9098\u909A\u909C\u909E\u909F\u90A0\u90A4\u90A5\u90A7\u90A8\u90A9\u90AB\u90AD\u90B2\u90B7\u90BC\u90BD\u90BF\u90C0\u647A\u64B7\u64B8\u6499\u64BA\u64C0\u64D0\u64D7\u64E4\u64E2\u6509\u6525\u652E\u5F0B\u5FD2\u7519\u5F11\u535F\u53F1\u53FD\u53E9\u53E8\u53FB\u5412\u5416\u5406\u544B\u5452\u5453\u5454\u5456\u5443\u5421\u5457\u5459\u5423\u5432\u5482\u5494\u5477\u5471\u5464\u549A\u549B\u5484\u5476\u5466\u549D\u54D0\u54AD\u54C2\u54B4\u54D2\u54A7\u54A6\u54D3\u54D4\u5472\u54A3\u54D5\u54BB\u54BF\u54CC\u54D9\u54DA\u54DC\u54A9\u54AA\u54A4\u54DD\u54CF\u54DE\u551B\u54E7\u5520\u54FD\u5514\u54F3\u5522\u5523\u550F\u5511\u5527\u552A\u5567\u558F\u55B5\u5549\u556D\u5541\u5555\u553F\u5550\u553C"],
+ ["e040", "\u90C2\u90C3\u90C6\u90C8\u90C9\u90CB\u90CC\u90CD\u90D2\u90D4\u90D5\u90D6\u90D8\u90D9\u90DA\u90DE\u90DF\u90E0\u90E3\u90E4\u90E5\u90E9\u90EA\u90EC\u90EE\u90F0\u90F1\u90F2\u90F3\u90F5\u90F6\u90F7\u90F9\u90FA\u90FB\u90FC\u90FF\u9100\u9101\u9103\u9105", 19, "\u911A\u911B\u911C"],
+ ["e080", "\u911D\u911F\u9120\u9121\u9124", 10, "\u9130\u9132", 6, "\u913A", 8, "\u9144\u5537\u5556\u5575\u5576\u5577\u5533\u5530\u555C\u558B\u55D2\u5583\u55B1\u55B9\u5588\u5581\u559F\u557E\u55D6\u5591\u557B\u55DF\u55BD\u55BE\u5594\u5599\u55EA\u55F7\u55C9\u561F\u55D1\u55EB\u55EC\u55D4\u55E6\u55DD\u55C4\u55EF\u55E5\u55F2\u55F3\u55CC\u55CD\u55E8\u55F5\u55E4\u8F94\u561E\u5608\u560C\u5601\u5624\u5623\u55FE\u5600\u5627\u562D\u5658\u5639\u5657\u562C\u564D\u5662\u5659\u565C\u564C\u5654\u5686\u5664\u5671\u566B\u567B\u567C\u5685\u5693\u56AF\u56D4\u56D7\u56DD\u56E1\u56F5\u56EB\u56F9\u56FF\u5704\u570A\u5709\u571C\u5E0F\u5E19\u5E14\u5E11\u5E31\u5E3B\u5E3C"],
+ ["e140", "\u9145\u9147\u9148\u9151\u9153\u9154\u9155\u9156\u9158\u9159\u915B\u915C\u915F\u9160\u9166\u9167\u9168\u916B\u916D\u9173\u917A\u917B\u917C\u9180", 4, "\u9186\u9188\u918A\u918E\u918F\u9193", 6, "\u919C", 5, "\u91A4", 5, "\u91AB\u91AC\u91B0\u91B1\u91B2\u91B3\u91B6\u91B7\u91B8\u91B9\u91BB"],
+ ["e180", "\u91BC", 10, "\u91C8\u91CB\u91D0\u91D2", 9, "\u91DD", 8, "\u5E37\u5E44\u5E54\u5E5B\u5E5E\u5E61\u5C8C\u5C7A\u5C8D\u5C90\u5C96\u5C88\u5C98\u5C99\u5C91\u5C9A\u5C9C\u5CB5\u5CA2\u5CBD\u5CAC\u5CAB\u5CB1\u5CA3\u5CC1\u5CB7\u5CC4\u5CD2\u5CE4\u5CCB\u5CE5\u5D02\u5D03\u5D27\u5D26\u5D2E\u5D24\u5D1E\u5D06\u5D1B\u5D58\u5D3E\u5D34\u5D3D\u5D6C\u5D5B\u5D6F\u5D5D\u5D6B\u5D4B\u5D4A\u5D69\u5D74\u5D82\u5D99\u5D9D\u8C73\u5DB7\u5DC5\u5F73\u5F77\u5F82\u5F87\u5F89\u5F8C\u5F95\u5F99\u5F9C\u5FA8\u5FAD\u5FB5\u5FBC\u8862\u5F61\u72AD\u72B0\u72B4\u72B7\u72B8\u72C3\u72C1\u72CE\u72CD\u72D2\u72E8\u72EF\u72E9\u72F2\u72F4\u72F7\u7301\u72F3\u7303\u72FA"],
+ ["e240", "\u91E6", 62],
+ ["e280", "\u9225", 32, "\u72FB\u7317\u7313\u7321\u730A\u731E\u731D\u7315\u7322\u7339\u7325\u732C\u7338\u7331\u7350\u734D\u7357\u7360\u736C\u736F\u737E\u821B\u5925\u98E7\u5924\u5902\u9963\u9967", 5, "\u9974\u9977\u997D\u9980\u9984\u9987\u998A\u998D\u9990\u9991\u9993\u9994\u9995\u5E80\u5E91\u5E8B\u5E96\u5EA5\u5EA0\u5EB9\u5EB5\u5EBE\u5EB3\u8D53\u5ED2\u5ED1\u5EDB\u5EE8\u5EEA\u81BA\u5FC4\u5FC9\u5FD6\u5FCF\u6003\u5FEE\u6004\u5FE1\u5FE4\u5FFE\u6005\u6006\u5FEA\u5FED\u5FF8\u6019\u6035\u6026\u601B\u600F\u600D\u6029\u602B\u600A\u603F\u6021\u6078\u6079\u607B\u607A\u6042"],
+ ["e340", "\u9246", 45, "\u9275", 16],
+ ["e380", "\u9286", 7, "\u928F", 24, "\u606A\u607D\u6096\u609A\u60AD\u609D\u6083\u6092\u608C\u609B\u60EC\u60BB\u60B1\u60DD\u60D8\u60C6\u60DA\u60B4\u6120\u6126\u6115\u6123\u60F4\u6100\u610E\u612B\u614A\u6175\u61AC\u6194\u61A7\u61B7\u61D4\u61F5\u5FDD\u96B3\u95E9\u95EB\u95F1\u95F3\u95F5\u95F6\u95FC\u95FE\u9603\u9604\u9606\u9608\u960A\u960B\u960C\u960D\u960F\u9612\u9615\u9616\u9617\u9619\u961A\u4E2C\u723F\u6215\u6C35\u6C54\u6C5C\u6C4A\u6CA3\u6C85\u6C90\u6C94\u6C8C\u6C68\u6C69\u6C74\u6C76\u6C86\u6CA9\u6CD0\u6CD4\u6CAD\u6CF7\u6CF8\u6CF1\u6CD7\u6CB2\u6CE0\u6CD6\u6CFA\u6CEB\u6CEE\u6CB1\u6CD3\u6CEF\u6CFE"],
+ ["e440", "\u92A8", 5, "\u92AF", 24, "\u92C9", 31],
+ ["e480", "\u92E9", 32, "\u6D39\u6D27\u6D0C\u6D43\u6D48\u6D07\u6D04\u6D19\u6D0E\u6D2B\u6D4D\u6D2E\u6D35\u6D1A\u6D4F\u6D52\u6D54\u6D33\u6D91\u6D6F\u6D9E\u6DA0\u6D5E\u6D93\u6D94\u6D5C\u6D60\u6D7C\u6D63\u6E1A\u6DC7\u6DC5\u6DDE\u6E0E\u6DBF\u6DE0\u6E11\u6DE6\u6DDD\u6DD9\u6E16\u6DAB\u6E0C\u6DAE\u6E2B\u6E6E\u6E4E\u6E6B\u6EB2\u6E5F\u6E86\u6E53\u6E54\u6E32\u6E25\u6E44\u6EDF\u6EB1\u6E98\u6EE0\u6F2D\u6EE2\u6EA5\u6EA7\u6EBD\u6EBB\u6EB7\u6ED7\u6EB4\u6ECF\u6E8F\u6EC2\u6E9F\u6F62\u6F46\u6F47\u6F24\u6F15\u6EF9\u6F2F\u6F36\u6F4B\u6F74\u6F2A\u6F09\u6F29\u6F89\u6F8D\u6F8C\u6F78\u6F72\u6F7C\u6F7A\u6FD1"],
+ ["e540", "\u930A", 51, "\u933F", 10],
+ ["e580", "\u934A", 31, "\u936B\u6FC9\u6FA7\u6FB9\u6FB6\u6FC2\u6FE1\u6FEE\u6FDE\u6FE0\u6FEF\u701A\u7023\u701B\u7039\u7035\u704F\u705E\u5B80\u5B84\u5B95\u5B93\u5BA5\u5BB8\u752F\u9A9E\u6434\u5BE4\u5BEE\u8930\u5BF0\u8E47\u8B07\u8FB6\u8FD3\u8FD5\u8FE5\u8FEE\u8FE4\u8FE9\u8FE6\u8FF3\u8FE8\u9005\u9004\u900B\u9026\u9011\u900D\u9016\u9021\u9035\u9036\u902D\u902F\u9044\u9051\u9052\u9050\u9068\u9058\u9062\u905B\u66B9\u9074\u907D\u9082\u9088\u9083\u908B\u5F50\u5F57\u5F56\u5F58\u5C3B\u54AB\u5C50\u5C59\u5B71\u5C63\u5C66\u7FBC\u5F2A\u5F29\u5F2D\u8274\u5F3C\u9B3B\u5C6E\u5981\u5983\u598D\u59A9\u59AA\u59A3"],
+ ["e640", "\u936C", 34, "\u9390", 27],
+ ["e680", "\u93AC", 29, "\u93CB\u93CC\u93CD\u5997\u59CA\u59AB\u599E\u59A4\u59D2\u59B2\u59AF\u59D7\u59BE\u5A05\u5A06\u59DD\u5A08\u59E3\u59D8\u59F9\u5A0C\u5A09\u5A32\u5A34\u5A11\u5A23\u5A13\u5A40\u5A67\u5A4A\u5A55\u5A3C\u5A62\u5A75\u80EC\u5AAA\u5A9B\u5A77\u5A7A\u5ABE\u5AEB\u5AB2\u5AD2\u5AD4\u5AB8\u5AE0\u5AE3\u5AF1\u5AD6\u5AE6\u5AD8\u5ADC\u5B09\u5B17\u5B16\u5B32\u5B37\u5B40\u5C15\u5C1C\u5B5A\u5B65\u5B73\u5B51\u5B53\u5B62\u9A75\u9A77\u9A78\u9A7A\u9A7F\u9A7D\u9A80\u9A81\u9A85\u9A88\u9A8A\u9A90\u9A92\u9A93\u9A96\u9A98\u9A9B\u9A9C\u9A9D\u9A9F\u9AA0\u9AA2\u9AA3\u9AA5\u9AA7\u7E9F\u7EA1\u7EA3\u7EA5\u7EA8\u7EA9"],
+ ["e740", "\u93CE", 7, "\u93D7", 54],
+ ["e780", "\u940E", 32, "\u7EAD\u7EB0\u7EBE\u7EC0\u7EC1\u7EC2\u7EC9\u7ECB\u7ECC\u7ED0\u7ED4\u7ED7\u7EDB\u7EE0\u7EE1\u7EE8\u7EEB\u7EEE\u7EEF\u7EF1\u7EF2\u7F0D\u7EF6\u7EFA\u7EFB\u7EFE\u7F01\u7F02\u7F03\u7F07\u7F08\u7F0B\u7F0C\u7F0F\u7F11\u7F12\u7F17\u7F19\u7F1C\u7F1B\u7F1F\u7F21", 6, "\u7F2A\u7F2B\u7F2C\u7F2D\u7F2F", 4, "\u7F35\u5E7A\u757F\u5DDB\u753E\u9095\u738E\u7391\u73AE\u73A2\u739F\u73CF\u73C2\u73D1\u73B7\u73B3\u73C0\u73C9\u73C8\u73E5\u73D9\u987C\u740A\u73E9\u73E7\u73DE\u73BA\u73F2\u740F\u742A\u745B\u7426\u7425\u7428\u7430\u742E\u742C"],
+ ["e840", "\u942F", 14, "\u943F", 43, "\u946C\u946D\u946E\u946F"],
+ ["e880", "\u9470", 20, "\u9491\u9496\u9498\u94C7\u94CF\u94D3\u94D4\u94DA\u94E6\u94FB\u951C\u9520\u741B\u741A\u7441\u745C\u7457\u7455\u7459\u7477\u746D\u747E\u749C\u748E\u7480\u7481\u7487\u748B\u749E\u74A8\u74A9\u7490\u74A7\u74D2\u74BA\u97EA\u97EB\u97EC\u674C\u6753\u675E\u6748\u6769\u67A5\u6787\u676A\u6773\u6798\u67A7\u6775\u67A8\u679E\u67AD\u678B\u6777\u677C\u67F0\u6809\u67D8\u680A\u67E9\u67B0\u680C\u67D9\u67B5\u67DA\u67B3\u67DD\u6800\u67C3\u67B8\u67E2\u680E\u67C1\u67FD\u6832\u6833\u6860\u6861\u684E\u6862\u6844\u6864\u6883\u681D\u6855\u6866\u6841\u6867\u6840\u683E\u684A\u6849\u6829\u68B5\u688F\u6874\u6877\u6893\u686B\u68C2\u696E\u68FC\u691F\u6920\u68F9"],
+ ["e940", "\u9527\u9533\u953D\u9543\u9548\u954B\u9555\u955A\u9560\u956E\u9574\u9575\u9577", 7, "\u9580", 42],
+ ["e980", "\u95AB", 32, "\u6924\u68F0\u690B\u6901\u6957\u68E3\u6910\u6971\u6939\u6960\u6942\u695D\u6984\u696B\u6980\u6998\u6978\u6934\u69CC\u6987\u6988\u69CE\u6989\u6966\u6963\u6979\u699B\u69A7\u69BB\u69AB\u69AD\u69D4\u69B1\u69C1\u69CA\u69DF\u6995\u69E0\u698D\u69FF\u6A2F\u69ED\u6A17\u6A18\u6A65\u69F2\u6A44\u6A3E\u6AA0\u6A50\u6A5B\u6A35\u6A8E\u6A79\u6A3D\u6A28\u6A58\u6A7C\u6A91\u6A90\u6AA9\u6A97\u6AAB\u7337\u7352\u6B81\u6B82\u6B87\u6B84\u6B92\u6B93\u6B8D\u6B9A\u6B9B\u6BA1\u6BAA\u8F6B\u8F6D\u8F71\u8F72\u8F73\u8F75\u8F76\u8F78\u8F77\u8F79\u8F7A\u8F7C\u8F7E\u8F81\u8F82\u8F84\u8F87\u8F8B"],
+ ["ea40", "\u95CC", 27, "\u95EC\u95FF\u9607\u9613\u9618\u961B\u961E\u9620\u9623", 6, "\u962B\u962C\u962D\u962F\u9630\u9637\u9638\u9639\u963A\u963E\u9641\u9643\u964A\u964E\u964F\u9651\u9652\u9653\u9656\u9657"],
+ ["ea80", "\u9658\u9659\u965A\u965C\u965D\u965E\u9660\u9663\u9665\u9666\u966B\u966D", 4, "\u9673\u9678", 12, "\u9687\u9689\u968A\u8F8D\u8F8E\u8F8F\u8F98\u8F9A\u8ECE\u620B\u6217\u621B\u621F\u6222\u6221\u6225\u6224\u622C\u81E7\u74EF\u74F4\u74FF\u750F\u7511\u7513\u6534\u65EE\u65EF\u65F0\u660A\u6619\u6772\u6603\u6615\u6600\u7085\u66F7\u661D\u6634\u6631\u6636\u6635\u8006\u665F\u6654\u6641\u664F\u6656\u6661\u6657\u6677\u6684\u668C\u66A7\u669D\u66BE\u66DB\u66DC\u66E6\u66E9\u8D32\u8D33\u8D36\u8D3B\u8D3D\u8D40\u8D45\u8D46\u8D48\u8D49\u8D47\u8D4D\u8D55\u8D59\u89C7\u89CA\u89CB\u89CC\u89CE\u89CF\u89D0\u89D1\u726E\u729F\u725D\u7266\u726F\u727E\u727F\u7284\u728B\u728D\u728F\u7292\u6308\u6332\u63B0"],
+ ["eb40", "\u968C\u968E\u9691\u9692\u9693\u9695\u9696\u969A\u969B\u969D", 9, "\u96A8", 7, "\u96B1\u96B2\u96B4\u96B5\u96B7\u96B8\u96BA\u96BB\u96BF\u96C2\u96C3\u96C8\u96CA\u96CB\u96D0\u96D1\u96D3\u96D4\u96D6", 9, "\u96E1", 6, "\u96EB"],
+ ["eb80", "\u96EC\u96ED\u96EE\u96F0\u96F1\u96F2\u96F4\u96F5\u96F8\u96FA\u96FB\u96FC\u96FD\u96FF\u9702\u9703\u9705\u970A\u970B\u970C\u9710\u9711\u9712\u9714\u9715\u9717", 4, "\u971D\u971F\u9720\u643F\u64D8\u8004\u6BEA\u6BF3\u6BFD\u6BF5\u6BF9\u6C05\u6C07\u6C06\u6C0D\u6C15\u6C18\u6C19\u6C1A\u6C21\u6C29\u6C24\u6C2A\u6C32\u6535\u6555\u656B\u724D\u7252\u7256\u7230\u8662\u5216\u809F\u809C\u8093\u80BC\u670A\u80BD\u80B1\u80AB\u80AD\u80B4\u80B7\u80E7\u80E8\u80E9\u80EA\u80DB\u80C2\u80C4\u80D9\u80CD\u80D7\u6710\u80DD\u80EB\u80F1\u80F4\u80ED\u810D\u810E\u80F2\u80FC\u6715\u8112\u8C5A\u8136\u811E\u812C\u8118\u8132\u8148\u814C\u8153\u8174\u8159\u815A\u8171\u8160\u8169\u817C\u817D\u816D\u8167\u584D\u5AB5\u8188\u8182\u8191\u6ED5\u81A3\u81AA\u81CC\u6726\u81CA\u81BB"],
+ ["ec40", "\u9721", 8, "\u972B\u972C\u972E\u972F\u9731\u9733", 4, "\u973A\u973B\u973C\u973D\u973F", 18, "\u9754\u9755\u9757\u9758\u975A\u975C\u975D\u975F\u9763\u9764\u9766\u9767\u9768\u976A", 7],
+ ["ec80", "\u9772\u9775\u9777", 4, "\u977D", 7, "\u9786", 4, "\u978C\u978E\u978F\u9790\u9793\u9795\u9796\u9797\u9799", 4, "\u81C1\u81A6\u6B24\u6B37\u6B39\u6B43\u6B46\u6B59\u98D1\u98D2\u98D3\u98D5\u98D9\u98DA\u6BB3\u5F40\u6BC2\u89F3\u6590\u9F51\u6593\u65BC\u65C6\u65C4\u65C3\u65CC\u65CE\u65D2\u65D6\u7080\u709C\u7096\u709D\u70BB\u70C0\u70B7\u70AB\u70B1\u70E8\u70CA\u7110\u7113\u7116\u712F\u7131\u7173\u715C\u7168\u7145\u7172\u714A\u7178\u717A\u7198\u71B3\u71B5\u71A8\u71A0\u71E0\u71D4\u71E7\u71F9\u721D\u7228\u706C\u7118\u7166\u71B9\u623E\u623D\u6243\u6248\u6249\u793B\u7940\u7946\u7949\u795B\u795C\u7953\u795A\u7962\u7957\u7960\u796F\u7967\u797A\u7985\u798A\u799A\u79A7\u79B3\u5FD1\u5FD0"],
+ ["ed40", "\u979E\u979F\u97A1\u97A2\u97A4", 6, "\u97AC\u97AE\u97B0\u97B1\u97B3\u97B5", 46],
+ ["ed80", "\u97E4\u97E5\u97E8\u97EE", 4, "\u97F4\u97F7", 23, "\u603C\u605D\u605A\u6067\u6041\u6059\u6063\u60AB\u6106\u610D\u615D\u61A9\u619D\u61CB\u61D1\u6206\u8080\u807F\u6C93\u6CF6\u6DFC\u77F6\u77F8\u7800\u7809\u7817\u7818\u7811\u65AB\u782D\u781C\u781D\u7839\u783A\u783B\u781F\u783C\u7825\u782C\u7823\u7829\u784E\u786D\u7856\u7857\u7826\u7850\u7847\u784C\u786A\u789B\u7893\u789A\u7887\u789C\u78A1\u78A3\u78B2\u78B9\u78A5\u78D4\u78D9\u78C9\u78EC\u78F2\u7905\u78F4\u7913\u7924\u791E\u7934\u9F9B\u9EF9\u9EFB\u9EFC\u76F1\u7704\u770D\u76F9\u7707\u7708\u771A\u7722\u7719\u772D\u7726\u7735\u7738\u7750\u7751\u7747\u7743\u775A\u7768"],
+ ["ee40", "\u980F", 62],
+ ["ee80", "\u984E", 32, "\u7762\u7765\u777F\u778D\u777D\u7780\u778C\u7791\u779F\u77A0\u77B0\u77B5\u77BD\u753A\u7540\u754E\u754B\u7548\u755B\u7572\u7579\u7583\u7F58\u7F61\u7F5F\u8A48\u7F68\u7F74\u7F71\u7F79\u7F81\u7F7E\u76CD\u76E5\u8832\u9485\u9486\u9487\u948B\u948A\u948C\u948D\u948F\u9490\u9494\u9497\u9495\u949A\u949B\u949C\u94A3\u94A4\u94AB\u94AA\u94AD\u94AC\u94AF\u94B0\u94B2\u94B4\u94B6", 4, "\u94BC\u94BD\u94BF\u94C4\u94C8", 6, "\u94D0\u94D1\u94D2\u94D5\u94D6\u94D7\u94D9\u94D8\u94DB\u94DE\u94DF\u94E0\u94E2\u94E4\u94E5\u94E7\u94E8\u94EA"],
+ ["ef40", "\u986F", 5, "\u988B\u988E\u9892\u9895\u9899\u98A3\u98A8", 37, "\u98CF\u98D0\u98D4\u98D6\u98D7\u98DB\u98DC\u98DD\u98E0", 4],
+ ["ef80", "\u98E5\u98E6\u98E9", 30, "\u94E9\u94EB\u94EE\u94EF\u94F3\u94F4\u94F5\u94F7\u94F9\u94FC\u94FD\u94FF\u9503\u9502\u9506\u9507\u9509\u950A\u950D\u950E\u950F\u9512", 4, "\u9518\u951B\u951D\u951E\u951F\u9522\u952A\u952B\u9529\u952C\u9531\u9532\u9534\u9536\u9537\u9538\u953C\u953E\u953F\u9542\u9535\u9544\u9545\u9546\u9549\u954C\u954E\u954F\u9552\u9553\u9554\u9556\u9557\u9558\u9559\u955B\u955E\u955F\u955D\u9561\u9562\u9564", 8, "\u956F\u9571\u9572\u9573\u953A\u77E7\u77EC\u96C9\u79D5\u79ED\u79E3\u79EB\u7A06\u5D47\u7A03\u7A02\u7A1E\u7A14"],
+ ["f040", "\u9908", 4, "\u990E\u990F\u9911", 28, "\u992F", 26],
+ ["f080", "\u994A", 9, "\u9956", 12, "\u9964\u9966\u9973\u9978\u9979\u997B\u997E\u9982\u9983\u9989\u7A39\u7A37\u7A51\u9ECF\u99A5\u7A70\u7688\u768E\u7693\u7699\u76A4\u74DE\u74E0\u752C\u9E20\u9E22\u9E28", 4, "\u9E32\u9E31\u9E36\u9E38\u9E37\u9E39\u9E3A\u9E3E\u9E41\u9E42\u9E44\u9E46\u9E47\u9E48\u9E49\u9E4B\u9E4C\u9E4E\u9E51\u9E55\u9E57\u9E5A\u9E5B\u9E5C\u9E5E\u9E63\u9E66", 6, "\u9E71\u9E6D\u9E73\u7592\u7594\u7596\u75A0\u759D\u75AC\u75A3\u75B3\u75B4\u75B8\u75C4\u75B1\u75B0\u75C3\u75C2\u75D6\u75CD\u75E3\u75E8\u75E6\u75E4\u75EB\u75E7\u7603\u75F1\u75FC\u75FF\u7610\u7600\u7605\u760C\u7617\u760A\u7625\u7618\u7615\u7619"],
+ ["f140", "\u998C\u998E\u999A", 10, "\u99A6\u99A7\u99A9", 47],
+ ["f180", "\u99D9", 32, "\u761B\u763C\u7622\u7620\u7640\u762D\u7630\u763F\u7635\u7643\u763E\u7633\u764D\u765E\u7654\u765C\u7656\u766B\u766F\u7FCA\u7AE6\u7A78\u7A79\u7A80\u7A86\u7A88\u7A95\u7AA6\u7AA0\u7AAC\u7AA8\u7AAD\u7AB3\u8864\u8869\u8872\u887D\u887F\u8882\u88A2\u88C6\u88B7\u88BC\u88C9\u88E2\u88CE\u88E3\u88E5\u88F1\u891A\u88FC\u88E8\u88FE\u88F0\u8921\u8919\u8913\u891B\u890A\u8934\u892B\u8936\u8941\u8966\u897B\u758B\u80E5\u76B2\u76B4\u77DC\u8012\u8014\u8016\u801C\u8020\u8022\u8025\u8026\u8027\u8029\u8028\u8031\u800B\u8035\u8043\u8046\u804D\u8052\u8069\u8071\u8983\u9878\u9880\u9883"],
+ ["f240", "\u99FA", 62],
+ ["f280", "\u9A39", 32, "\u9889\u988C\u988D\u988F\u9894\u989A\u989B\u989E\u989F\u98A1\u98A2\u98A5\u98A6\u864D\u8654\u866C\u866E\u867F\u867A\u867C\u867B\u86A8\u868D\u868B\u86AC\u869D\u86A7\u86A3\u86AA\u8693\u86A9\u86B6\u86C4\u86B5\u86CE\u86B0\u86BA\u86B1\u86AF\u86C9\u86CF\u86B4\u86E9\u86F1\u86F2\u86ED\u86F3\u86D0\u8713\u86DE\u86F4\u86DF\u86D8\u86D1\u8703\u8707\u86F8\u8708\u870A\u870D\u8709\u8723\u873B\u871E\u8725\u872E\u871A\u873E\u8748\u8734\u8731\u8729\u8737\u873F\u8782\u8722\u877D\u877E\u877B\u8760\u8770\u874C\u876E\u878B\u8753\u8763\u877C\u8764\u8759\u8765\u8793\u87AF\u87A8\u87D2"],
+ ["f340", "\u9A5A", 17, "\u9A72\u9A83\u9A89\u9A8D\u9A8E\u9A94\u9A95\u9A99\u9AA6\u9AA9", 6, "\u9AB2\u9AB3\u9AB4\u9AB5\u9AB9\u9ABB\u9ABD\u9ABE\u9ABF\u9AC3\u9AC4\u9AC6", 4, "\u9ACD\u9ACE\u9ACF\u9AD0\u9AD2\u9AD4\u9AD5\u9AD6\u9AD7\u9AD9\u9ADA\u9ADB\u9ADC"],
+ ["f380", "\u9ADD\u9ADE\u9AE0\u9AE2\u9AE3\u9AE4\u9AE5\u9AE7\u9AE8\u9AE9\u9AEA\u9AEC\u9AEE\u9AF0", 8, "\u9AFA\u9AFC", 6, "\u9B04\u9B05\u9B06\u87C6\u8788\u8785\u87AD\u8797\u8783\u87AB\u87E5\u87AC\u87B5\u87B3\u87CB\u87D3\u87BD\u87D1\u87C0\u87CA\u87DB\u87EA\u87E0\u87EE\u8816\u8813\u87FE\u880A\u881B\u8821\u8839\u883C\u7F36\u7F42\u7F44\u7F45\u8210\u7AFA\u7AFD\u7B08\u7B03\u7B04\u7B15\u7B0A\u7B2B\u7B0F\u7B47\u7B38\u7B2A\u7B19\u7B2E\u7B31\u7B20\u7B25\u7B24\u7B33\u7B3E\u7B1E\u7B58\u7B5A\u7B45\u7B75\u7B4C\u7B5D\u7B60\u7B6E\u7B7B\u7B62\u7B72\u7B71\u7B90\u7BA6\u7BA7\u7BB8\u7BAC\u7B9D\u7BA8\u7B85\u7BAA\u7B9C\u7BA2\u7BAB\u7BB4\u7BD1\u7BC1\u7BCC\u7BDD\u7BDA\u7BE5\u7BE6\u7BEA\u7C0C\u7BFE\u7BFC\u7C0F\u7C16\u7C0B"],
+ ["f440", "\u9B07\u9B09", 5, "\u9B10\u9B11\u9B12\u9B14", 10, "\u9B20\u9B21\u9B22\u9B24", 10, "\u9B30\u9B31\u9B33", 7, "\u9B3D\u9B3E\u9B3F\u9B40\u9B46\u9B4A\u9B4B\u9B4C\u9B4E\u9B50\u9B52\u9B53\u9B55", 5],
+ ["f480", "\u9B5B", 32, "\u7C1F\u7C2A\u7C26\u7C38\u7C41\u7C40\u81FE\u8201\u8202\u8204\u81EC\u8844\u8221\u8222\u8223\u822D\u822F\u8228\u822B\u8238\u823B\u8233\u8234\u823E\u8244\u8249\u824B\u824F\u825A\u825F\u8268\u887E\u8885\u8888\u88D8\u88DF\u895E\u7F9D\u7F9F\u7FA7\u7FAF\u7FB0\u7FB2\u7C7C\u6549\u7C91\u7C9D\u7C9C\u7C9E\u7CA2\u7CB2\u7CBC\u7CBD\u7CC1\u7CC7\u7CCC\u7CCD\u7CC8\u7CC5\u7CD7\u7CE8\u826E\u66A8\u7FBF\u7FCE\u7FD5\u7FE5\u7FE1\u7FE6\u7FE9\u7FEE\u7FF3\u7CF8\u7D77\u7DA6\u7DAE\u7E47\u7E9B\u9EB8\u9EB4\u8D73\u8D84\u8D94\u8D91\u8DB1\u8D67\u8D6D\u8C47\u8C49\u914A\u9150\u914E\u914F\u9164"],
+ ["f540", "\u9B7C", 62],
+ ["f580", "\u9BBB", 32, "\u9162\u9161\u9170\u9169\u916F\u917D\u917E\u9172\u9174\u9179\u918C\u9185\u9190\u918D\u9191\u91A2\u91A3\u91AA\u91AD\u91AE\u91AF\u91B5\u91B4\u91BA\u8C55\u9E7E\u8DB8\u8DEB\u8E05\u8E59\u8E69\u8DB5\u8DBF\u8DBC\u8DBA\u8DC4\u8DD6\u8DD7\u8DDA\u8DDE\u8DCE\u8DCF\u8DDB\u8DC6\u8DEC\u8DF7\u8DF8\u8DE3\u8DF9\u8DFB\u8DE4\u8E09\u8DFD\u8E14\u8E1D\u8E1F\u8E2C\u8E2E\u8E23\u8E2F\u8E3A\u8E40\u8E39\u8E35\u8E3D\u8E31\u8E49\u8E41\u8E42\u8E51\u8E52\u8E4A\u8E70\u8E76\u8E7C\u8E6F\u8E74\u8E85\u8E8F\u8E94\u8E90\u8E9C\u8E9E\u8C78\u8C82\u8C8A\u8C85\u8C98\u8C94\u659B\u89D6\u89DE\u89DA\u89DC"],
+ ["f640", "\u9BDC", 62],
+ ["f680", "\u9C1B", 32, "\u89E5\u89EB\u89EF\u8A3E\u8B26\u9753\u96E9\u96F3\u96EF\u9706\u9701\u9708\u970F\u970E\u972A\u972D\u9730\u973E\u9F80\u9F83\u9F85", 5, "\u9F8C\u9EFE\u9F0B\u9F0D\u96B9\u96BC\u96BD\u96CE\u96D2\u77BF\u96E0\u928E\u92AE\u92C8\u933E\u936A\u93CA\u938F\u943E\u946B\u9C7F\u9C82\u9C85\u9C86\u9C87\u9C88\u7A23\u9C8B\u9C8E\u9C90\u9C91\u9C92\u9C94\u9C95\u9C9A\u9C9B\u9C9E", 5, "\u9CA5", 4, "\u9CAB\u9CAD\u9CAE\u9CB0", 7, "\u9CBA\u9CBB\u9CBC\u9CBD\u9CC4\u9CC5\u9CC6\u9CC7\u9CCA\u9CCB"],
+ ["f740", "\u9C3C", 62],
+ ["f780", "\u9C7B\u9C7D\u9C7E\u9C80\u9C83\u9C84\u9C89\u9C8A\u9C8C\u9C8F\u9C93\u9C96\u9C97\u9C98\u9C99\u9C9D\u9CAA\u9CAC\u9CAF\u9CB9\u9CBE", 4, "\u9CC8\u9CC9\u9CD1\u9CD2\u9CDA\u9CDB\u9CE0\u9CE1\u9CCC", 4, "\u9CD3\u9CD4\u9CD5\u9CD7\u9CD8\u9CD9\u9CDC\u9CDD\u9CDF\u9CE2\u977C\u9785\u9791\u9792\u9794\u97AF\u97AB\u97A3\u97B2\u97B4\u9AB1\u9AB0\u9AB7\u9E58\u9AB6\u9ABA\u9ABC\u9AC1\u9AC0\u9AC5\u9AC2\u9ACB\u9ACC\u9AD1\u9B45\u9B43\u9B47\u9B49\u9B48\u9B4D\u9B51\u98E8\u990D\u992E\u9955\u9954\u9ADF\u9AE1\u9AE6\u9AEF\u9AEB\u9AFB\u9AED\u9AF9\u9B08\u9B0F\u9B13\u9B1F\u9B23\u9EBD\u9EBE\u7E3B\u9E82\u9E87\u9E88\u9E8B\u9E92\u93D6\u9E9D\u9E9F\u9EDB\u9EDC\u9EDD\u9EE0\u9EDF\u9EE2\u9EE9\u9EE7\u9EE5\u9EEA\u9EEF\u9F22\u9F2C\u9F2F\u9F39\u9F37\u9F3D\u9F3E\u9F44"],
+ ["f840", "\u9CE3", 62],
+ ["f880", "\u9D22", 32],
+ ["f940", "\u9D43", 62],
+ ["f980", "\u9D82", 32],
+ ["fa40", "\u9DA3", 62],
+ ["fa80", "\u9DE2", 32],
+ ["fb40", "\u9E03", 27, "\u9E24\u9E27\u9E2E\u9E30\u9E34\u9E3B\u9E3C\u9E40\u9E4D\u9E50\u9E52\u9E53\u9E54\u9E56\u9E59\u9E5D\u9E5F\u9E60\u9E61\u9E62\u9E65\u9E6E\u9E6F\u9E72\u9E74", 9, "\u9E80"],
+ ["fb80", "\u9E81\u9E83\u9E84\u9E85\u9E86\u9E89\u9E8A\u9E8C", 5, "\u9E94", 8, "\u9E9E\u9EA0", 5, "\u9EA7\u9EA8\u9EA9\u9EAA"],
+ ["fc40", "\u9EAB", 8, "\u9EB5\u9EB6\u9EB7\u9EB9\u9EBA\u9EBC\u9EBF", 4, "\u9EC5\u9EC6\u9EC7\u9EC8\u9ECA\u9ECB\u9ECC\u9ED0\u9ED2\u9ED3\u9ED5\u9ED6\u9ED7\u9ED9\u9EDA\u9EDE\u9EE1\u9EE3\u9EE4\u9EE6\u9EE8\u9EEB\u9EEC\u9EED\u9EEE\u9EF0", 8, "\u9EFA\u9EFD\u9EFF", 6],
+ ["fc80", "\u9F06", 4, "\u9F0C\u9F0F\u9F11\u9F12\u9F14\u9F15\u9F16\u9F18\u9F1A", 5, "\u9F21\u9F23", 8, "\u9F2D\u9F2E\u9F30\u9F31"],
+ ["fd40", "\u9F32", 4, "\u9F38\u9F3A\u9F3C\u9F3F", 4, "\u9F45", 10, "\u9F52", 38],
+ ["fd80", "\u9F79", 5, "\u9F81\u9F82\u9F8D", 11, "\u9F9C\u9F9D\u9F9E\u9FA1", 4, "\uF92C\uF979\uF995\uF9E7\uF9F1"],
+ ["fe40", "\uFA0C\uFA0D\uFA0E\uFA0F\uFA11\uFA13\uFA14\uFA18\uFA1F\uFA20\uFA21\uFA23\uFA24\uFA27\uFA28\uFA29"]
+ ];
+ }
+});
+
+// ../../node_modules/.pnpm/iconv-lite@0.7.3/node_modules/iconv-lite/encodings/tables/gbk-added.json
+var require_gbk_added = __commonJS({
+ "../../node_modules/.pnpm/iconv-lite@0.7.3/node_modules/iconv-lite/encodings/tables/gbk-added.json"(exports, module) {
+ module.exports = [
+ ["a140", "\uE4C6", 62],
+ ["a180", "\uE505", 32],
+ ["a240", "\uE526", 62],
+ ["a280", "\uE565", 32],
+ ["a2ab", "\uE766", 5],
+ ["a2e3", "\u20AC\uE76D"],
+ ["a2ef", "\uE76E\uE76F"],
+ ["a2fd", "\uE770\uE771"],
+ ["a340", "\uE586", 62],
+ ["a380", "\uE5C5", 31, "\u3000"],
+ ["a440", "\uE5E6", 62],
+ ["a480", "\uE625", 32],
+ ["a4f4", "\uE772", 10],
+ ["a540", "\uE646", 62],
+ ["a580", "\uE685", 32],
+ ["a5f7", "\uE77D", 7],
+ ["a640", "\uE6A6", 62],
+ ["a680", "\uE6E5", 32],
+ ["a6b9", "\uE785", 7],
+ ["a6d9", "\uE78D", 6],
+ ["a6ec", "\uE794\uE795"],
+ ["a6f3", "\uE796"],
+ ["a6f6", "\uE797", 8],
+ ["a740", "\uE706", 62],
+ ["a780", "\uE745", 32],
+ ["a7c2", "\uE7A0", 14],
+ ["a7f2", "\uE7AF", 12],
+ ["a896", "\uE7BC", 10],
+ ["a8bc", "\u1E3F"],
+ ["a8bf", "\u01F9"],
+ ["a8c1", "\uE7C9\uE7CA\uE7CB\uE7CC"],
+ ["a8ea", "\uE7CD", 20],
+ ["a958", "\uE7E2"],
+ ["a95b", "\uE7E3"],
+ ["a95d", "\uE7E4\uE7E5\uE7E6"],
+ ["a989", "\u303E\u2FF0", 11],
+ ["a997", "\uE7F4", 12],
+ ["a9f0", "\uE801", 14],
+ ["aaa1", "\uE000", 93],
+ ["aba1", "\uE05E", 93],
+ ["aca1", "\uE0BC", 93],
+ ["ada1", "\uE11A", 93],
+ ["aea1", "\uE178", 93],
+ ["afa1", "\uE1D6", 93],
+ ["d7fa", "\uE810", 4],
+ ["f8a1", "\uE234", 93],
+ ["f9a1", "\uE292", 93],
+ ["faa1", "\uE2F0", 93],
+ ["fba1", "\uE34E", 93],
+ ["fca1", "\uE3AC", 93],
+ ["fda1", "\uE40A", 93],
+ ["fe50", "\u2E81\uE816\uE817\uE818\u2E84\u3473\u3447\u2E88\u2E8B\uE81E\u359E\u361A\u360E\u2E8C\u2E97\u396E\u3918\uE826\u39CF\u39DF\u3A73\u39D0\uE82B\uE82C\u3B4E\u3C6E\u3CE0\u2EA7\uE831\uE832\u2EAA\u4056\u415F\u2EAE\u4337\u2EB3\u2EB6\u2EB7\uE83B\u43B1\u43AC\u2EBB\u43DD\u44D6\u4661\u464C\uE843"],
+ ["fe80", "\u4723\u4729\u477C\u478D\u2ECA\u4947\u497A\u497D\u4982\u4983\u4985\u4986\u499F\u499B\u49B7\u49B6\uE854\uE855\u4CA3\u4C9F\u4CA0\u4CA1\u4C77\u4CA2\u4D13", 6, "\u4DAE\uE864\uE468", 93],
+ ["8135f437", "\uE7C7"]
+ ];
+ }
+});
+
+// ../../node_modules/.pnpm/iconv-lite@0.7.3/node_modules/iconv-lite/encodings/tables/gb18030-ranges.json
+var require_gb18030_ranges = __commonJS({
+ "../../node_modules/.pnpm/iconv-lite@0.7.3/node_modules/iconv-lite/encodings/tables/gb18030-ranges.json"(exports, module) {
+ module.exports = { uChars: [128, 165, 169, 178, 184, 216, 226, 235, 238, 244, 248, 251, 253, 258, 276, 284, 300, 325, 329, 334, 364, 463, 465, 467, 469, 471, 473, 475, 477, 506, 594, 610, 712, 716, 730, 930, 938, 962, 970, 1026, 1104, 1106, 8209, 8215, 8218, 8222, 8231, 8241, 8244, 8246, 8252, 8365, 8452, 8454, 8458, 8471, 8482, 8556, 8570, 8596, 8602, 8713, 8720, 8722, 8726, 8731, 8737, 8740, 8742, 8748, 8751, 8760, 8766, 8777, 8781, 8787, 8802, 8808, 8816, 8854, 8858, 8870, 8896, 8979, 9322, 9372, 9548, 9588, 9616, 9622, 9634, 9652, 9662, 9672, 9676, 9680, 9702, 9735, 9738, 9793, 9795, 11906, 11909, 11913, 11917, 11928, 11944, 11947, 11951, 11956, 11960, 11964, 11979, 12284, 12292, 12312, 12319, 12330, 12351, 12436, 12447, 12535, 12543, 12586, 12842, 12850, 12964, 13200, 13215, 13218, 13253, 13263, 13267, 13270, 13384, 13428, 13727, 13839, 13851, 14617, 14703, 14801, 14816, 14964, 15183, 15471, 15585, 16471, 16736, 17208, 17325, 17330, 17374, 17623, 17997, 18018, 18212, 18218, 18301, 18318, 18760, 18811, 18814, 18820, 18823, 18844, 18848, 18872, 19576, 19620, 19738, 19887, 40870, 59244, 59336, 59367, 59413, 59417, 59423, 59431, 59437, 59443, 59452, 59460, 59478, 59493, 63789, 63866, 63894, 63976, 63986, 64016, 64018, 64021, 64025, 64034, 64037, 64042, 65074, 65093, 65107, 65112, 65127, 65132, 65375, 65510, 65536], gbChars: [0, 36, 38, 45, 50, 81, 89, 95, 96, 100, 103, 104, 105, 109, 126, 133, 148, 172, 175, 179, 208, 306, 307, 308, 309, 310, 311, 312, 313, 341, 428, 443, 544, 545, 558, 741, 742, 749, 750, 805, 819, 820, 7922, 7924, 7925, 7927, 7934, 7943, 7944, 7945, 7950, 8062, 8148, 8149, 8152, 8164, 8174, 8236, 8240, 8262, 8264, 8374, 8380, 8381, 8384, 8388, 8390, 8392, 8393, 8394, 8396, 8401, 8406, 8416, 8419, 8424, 8437, 8439, 8445, 8482, 8485, 8496, 8521, 8603, 8936, 8946, 9046, 9050, 9063, 9066, 9076, 9092, 9100, 9108, 9111, 9113, 9131, 9162, 9164, 9218, 9219, 11329, 11331, 11334, 11336, 11346, 11361, 11363, 11366, 11370, 11372, 11375, 11389, 11682, 11686, 11687, 11692, 11694, 11714, 11716, 11723, 11725, 11730, 11736, 11982, 11989, 12102, 12336, 12348, 12350, 12384, 12393, 12395, 12397, 12510, 12553, 12851, 12962, 12973, 13738, 13823, 13919, 13933, 14080, 14298, 14585, 14698, 15583, 15847, 16318, 16434, 16438, 16481, 16729, 17102, 17122, 17315, 17320, 17402, 17418, 17859, 17909, 17911, 17915, 17916, 17936, 17939, 17961, 18664, 18703, 18814, 18962, 19043, 33469, 33470, 33471, 33484, 33485, 33490, 33497, 33501, 33505, 33513, 33520, 33536, 33550, 37845, 37921, 37948, 38029, 38038, 38064, 38065, 38066, 38069, 38075, 38076, 38078, 39108, 39109, 39113, 39114, 39115, 39116, 39265, 39394, 189e3] };
+ }
+});
+
+// ../../node_modules/.pnpm/iconv-lite@0.7.3/node_modules/iconv-lite/encodings/tables/cp949.json
+var require_cp949 = __commonJS({
+ "../../node_modules/.pnpm/iconv-lite@0.7.3/node_modules/iconv-lite/encodings/tables/cp949.json"(exports, module) {
+ module.exports = [
+ ["0", "\0", 127],
+ ["8141", "\uAC02\uAC03\uAC05\uAC06\uAC0B", 4, "\uAC18\uAC1E\uAC1F\uAC21\uAC22\uAC23\uAC25", 6, "\uAC2E\uAC32\uAC33\uAC34"],
+ ["8161", "\uAC35\uAC36\uAC37\uAC3A\uAC3B\uAC3D\uAC3E\uAC3F\uAC41", 9, "\uAC4C\uAC4E", 5, "\uAC55"],
+ ["8181", "\uAC56\uAC57\uAC59\uAC5A\uAC5B\uAC5D", 18, "\uAC72\uAC73\uAC75\uAC76\uAC79\uAC7B", 4, "\uAC82\uAC87\uAC88\uAC8D\uAC8E\uAC8F\uAC91\uAC92\uAC93\uAC95", 6, "\uAC9E\uACA2", 5, "\uACAB\uACAD\uACAE\uACB1", 6, "\uACBA\uACBE\uACBF\uACC0\uACC2\uACC3\uACC5\uACC6\uACC7\uACC9\uACCA\uACCB\uACCD", 7, "\uACD6\uACD8", 7, "\uACE2\uACE3\uACE5\uACE6\uACE9\uACEB\uACED\uACEE\uACF2\uACF4\uACF7", 4, "\uACFE\uACFF\uAD01\uAD02\uAD03\uAD05\uAD07", 4, "\uAD0E\uAD10\uAD12\uAD13"],
+ ["8241", "\uAD14\uAD15\uAD16\uAD17\uAD19\uAD1A\uAD1B\uAD1D\uAD1E\uAD1F\uAD21", 7, "\uAD2A\uAD2B\uAD2E", 5],
+ ["8261", "\uAD36\uAD37\uAD39\uAD3A\uAD3B\uAD3D", 6, "\uAD46\uAD48\uAD4A", 5, "\uAD51\uAD52\uAD53\uAD55\uAD56\uAD57"],
+ ["8281", "\uAD59", 7, "\uAD62\uAD64", 7, "\uAD6E\uAD6F\uAD71\uAD72\uAD77\uAD78\uAD79\uAD7A\uAD7E\uAD80\uAD83", 4, "\uAD8A\uAD8B\uAD8D\uAD8E\uAD8F\uAD91", 10, "\uAD9E", 5, "\uADA5", 17, "\uADB8", 7, "\uADC2\uADC3\uADC5\uADC6\uADC7\uADC9", 6, "\uADD2\uADD4", 7, "\uADDD\uADDE\uADDF\uADE1\uADE2\uADE3\uADE5", 18],
+ ["8341", "\uADFA\uADFB\uADFD\uADFE\uAE02", 5, "\uAE0A\uAE0C\uAE0E", 5, "\uAE15", 7],
+ ["8361", "\uAE1D", 18, "\uAE32\uAE33\uAE35\uAE36\uAE39\uAE3B\uAE3C"],
+ ["8381", "\uAE3D\uAE3E\uAE3F\uAE42\uAE44\uAE47\uAE48\uAE49\uAE4B\uAE4F\uAE51\uAE52\uAE53\uAE55\uAE57", 4, "\uAE5E\uAE62\uAE63\uAE64\uAE66\uAE67\uAE6A\uAE6B\uAE6D\uAE6E\uAE6F\uAE71", 6, "\uAE7A\uAE7E", 5, "\uAE86", 5, "\uAE8D", 46, "\uAEBF\uAEC1\uAEC2\uAEC3\uAEC5", 6, "\uAECE\uAED2", 5, "\uAEDA\uAEDB\uAEDD", 8],
+ ["8441", "\uAEE6\uAEE7\uAEE9\uAEEA\uAEEC\uAEEE", 5, "\uAEF5\uAEF6\uAEF7\uAEF9\uAEFA\uAEFB\uAEFD", 8],
+ ["8461", "\uAF06\uAF09\uAF0A\uAF0B\uAF0C\uAF0E\uAF0F\uAF11", 18],
+ ["8481", "\uAF24", 7, "\uAF2E\uAF2F\uAF31\uAF33\uAF35", 6, "\uAF3E\uAF40\uAF44\uAF45\uAF46\uAF47\uAF4A", 5, "\uAF51", 10, "\uAF5E", 5, "\uAF66", 18, "\uAF7A", 5, "\uAF81\uAF82\uAF83\uAF85\uAF86\uAF87\uAF89", 6, "\uAF92\uAF93\uAF94\uAF96", 5, "\uAF9D", 26, "\uAFBA\uAFBB\uAFBD\uAFBE"],
+ ["8541", "\uAFBF\uAFC1", 5, "\uAFCA\uAFCC\uAFCF", 4, "\uAFD5", 6, "\uAFDD", 4],
+ ["8561", "\uAFE2", 5, "\uAFEA", 5, "\uAFF2\uAFF3\uAFF5\uAFF6\uAFF7\uAFF9", 6, "\uB002\uB003"],
+ ["8581", "\uB005", 6, "\uB00D\uB00E\uB00F\uB011\uB012\uB013\uB015", 6, "\uB01E", 9, "\uB029", 26, "\uB046\uB047\uB049\uB04B\uB04D\uB04F\uB050\uB051\uB052\uB056\uB058\uB05A\uB05B\uB05C\uB05E", 29, "\uB07E\uB07F\uB081\uB082\uB083\uB085", 6, "\uB08E\uB090\uB092", 5, "\uB09B\uB09D\uB09E\uB0A3\uB0A4"],
+ ["8641", "\uB0A5\uB0A6\uB0A7\uB0AA\uB0B0\uB0B2\uB0B6\uB0B7\uB0B9\uB0BA\uB0BB\uB0BD", 6, "\uB0C6\uB0CA", 5, "\uB0D2"],
+ ["8661", "\uB0D3\uB0D5\uB0D6\uB0D7\uB0D9", 6, "\uB0E1\uB0E2\uB0E3\uB0E4\uB0E6", 10],
+ ["8681", "\uB0F1", 22, "\uB10A\uB10D\uB10E\uB10F\uB111\uB114\uB115\uB116\uB117\uB11A\uB11E", 4, "\uB126\uB127\uB129\uB12A\uB12B\uB12D", 6, "\uB136\uB13A", 5, "\uB142\uB143\uB145\uB146\uB147\uB149", 6, "\uB152\uB153\uB156\uB157\uB159\uB15A\uB15B\uB15D\uB15E\uB15F\uB161", 22, "\uB17A\uB17B\uB17D\uB17E\uB17F\uB181\uB183", 4, "\uB18A\uB18C\uB18E\uB18F\uB190\uB191\uB195\uB196\uB197\uB199\uB19A\uB19B\uB19D"],
+ ["8741", "\uB19E", 9, "\uB1A9", 15],
+ ["8761", "\uB1B9", 18, "\uB1CD\uB1CE\uB1CF\uB1D1\uB1D2\uB1D3\uB1D5"],
+ ["8781", "\uB1D6", 5, "\uB1DE\uB1E0", 7, "\uB1EA\uB1EB\uB1ED\uB1EE\uB1EF\uB1F1", 7, "\uB1FA\uB1FC\uB1FE", 5, "\uB206\uB207\uB209\uB20A\uB20D", 6, "\uB216\uB218\uB21A", 5, "\uB221", 18, "\uB235", 6, "\uB23D", 26, "\uB259\uB25A\uB25B\uB25D\uB25E\uB25F\uB261", 6, "\uB26A", 4],
+ ["8841", "\uB26F", 4, "\uB276", 5, "\uB27D", 6, "\uB286\uB287\uB288\uB28A", 4],
+ ["8861", "\uB28F\uB292\uB293\uB295\uB296\uB297\uB29B", 4, "\uB2A2\uB2A4\uB2A7\uB2A8\uB2A9\uB2AB\uB2AD\uB2AE\uB2AF\uB2B1\uB2B2\uB2B3\uB2B5\uB2B6\uB2B7"],
+ ["8881", "\uB2B8", 15, "\uB2CA\uB2CB\uB2CD\uB2CE\uB2CF\uB2D1\uB2D3", 4, "\uB2DA\uB2DC\uB2DE\uB2DF\uB2E0\uB2E1\uB2E3\uB2E7\uB2E9\uB2EA\uB2F0\uB2F1\uB2F2\uB2F6\uB2FC\uB2FD\uB2FE\uB302\uB303\uB305\uB306\uB307\uB309", 6, "\uB312\uB316", 5, "\uB31D", 54, "\uB357\uB359\uB35A\uB35D\uB360\uB361\uB362\uB363"],
+ ["8941", "\uB366\uB368\uB36A\uB36C\uB36D\uB36F\uB372\uB373\uB375\uB376\uB377\uB379", 6, "\uB382\uB386", 5, "\uB38D"],
+ ["8961", "\uB38E\uB38F\uB391\uB392\uB393\uB395", 10, "\uB3A2", 5, "\uB3A9\uB3AA\uB3AB\uB3AD"],
+ ["8981", "\uB3AE", 21, "\uB3C6\uB3C7\uB3C9\uB3CA\uB3CD\uB3CF\uB3D1\uB3D2\uB3D3\uB3D6\uB3D8\uB3DA\uB3DC\uB3DE\uB3DF\uB3E1\uB3E2\uB3E3\uB3E5\uB3E6\uB3E7\uB3E9", 18, "\uB3FD", 18, "\uB411", 6, "\uB419\uB41A\uB41B\uB41D\uB41E\uB41F\uB421", 6, "\uB42A\uB42C", 7, "\uB435", 15],
+ ["8a41", "\uB445", 10, "\uB452\uB453\uB455\uB456\uB457\uB459", 6, "\uB462\uB464\uB466"],
+ ["8a61", "\uB467", 4, "\uB46D", 18, "\uB481\uB482"],
+ ["8a81", "\uB483", 4, "\uB489", 19, "\uB49E", 5, "\uB4A5\uB4A6\uB4A7\uB4A9\uB4AA\uB4AB\uB4AD", 7, "\uB4B6\uB4B8\uB4BA", 5, "\uB4C1\uB4C2\uB4C3\uB4C5\uB4C6\uB4C7\uB4C9", 6, "\uB4D1\uB4D2\uB4D3\uB4D4\uB4D6", 5, "\uB4DE\uB4DF\uB4E1\uB4E2\uB4E5\uB4E7", 4, "\uB4EE\uB4F0\uB4F2", 5, "\uB4F9", 26, "\uB516\uB517\uB519\uB51A\uB51D"],
+ ["8b41", "\uB51E", 5, "\uB526\uB52B", 4, "\uB532\uB533\uB535\uB536\uB537\uB539", 6, "\uB542\uB546"],
+ ["8b61", "\uB547\uB548\uB549\uB54A\uB54E\uB54F\uB551\uB552\uB553\uB555", 6, "\uB55E\uB562", 8],
+ ["8b81", "\uB56B", 52, "\uB5A2\uB5A3\uB5A5\uB5A6\uB5A7\uB5A9\uB5AC\uB5AD\uB5AE\uB5AF\uB5B2\uB5B6", 4, "\uB5BE\uB5BF\uB5C1\uB5C2\uB5C3\uB5C5", 6, "\uB5CE\uB5D2", 5, "\uB5D9", 18, "\uB5ED", 18],
+ ["8c41", "\uB600", 15, "\uB612\uB613\uB615\uB616\uB617\uB619", 4],
+ ["8c61", "\uB61E", 6, "\uB626", 5, "\uB62D", 6, "\uB635", 5],
+ ["8c81", "\uB63B", 12, "\uB649", 26, "\uB665\uB666\uB667\uB669", 50, "\uB69E\uB69F\uB6A1\uB6A2\uB6A3\uB6A5", 5, "\uB6AD\uB6AE\uB6AF\uB6B0\uB6B2", 16],
+ ["8d41", "\uB6C3", 16, "\uB6D5", 8],
+ ["8d61", "\uB6DE", 17, "\uB6F1\uB6F2\uB6F3\uB6F5\uB6F6\uB6F7\uB6F9\uB6FA"],
+ ["8d81", "\uB6FB", 4, "\uB702\uB703\uB704\uB706", 33, "\uB72A\uB72B\uB72D\uB72E\uB731", 6, "\uB73A\uB73C", 7, "\uB745\uB746\uB747\uB749\uB74A\uB74B\uB74D", 6, "\uB756", 9, "\uB761\uB762\uB763\uB765\uB766\uB767\uB769", 6, "\uB772\uB774\uB776", 5, "\uB77E\uB77F\uB781\uB782\uB783\uB785", 6, "\uB78E\uB793\uB794\uB795\uB79A\uB79B\uB79D\uB79E"],
+ ["8e41", "\uB79F\uB7A1", 6, "\uB7AA\uB7AE", 5, "\uB7B6\uB7B7\uB7B9", 8],
+ ["8e61", "\uB7C2", 4, "\uB7C8\uB7CA", 19],
+ ["8e81", "\uB7DE", 13, "\uB7EE\uB7EF\uB7F1\uB7F2\uB7F3\uB7F5", 6, "\uB7FE\uB802", 4, "\uB80A\uB80B\uB80D\uB80E\uB80F\uB811", 6, "\uB81A\uB81C\uB81E", 5, "\uB826\uB827\uB829\uB82A\uB82B\uB82D", 6, "\uB836\uB83A", 5, "\uB841\uB842\uB843\uB845", 11, "\uB852\uB854", 7, "\uB85E\uB85F\uB861\uB862\uB863\uB865", 6, "\uB86E\uB870\uB872", 5, "\uB879\uB87A\uB87B\uB87D", 7],
+ ["8f41", "\uB885", 7, "\uB88E", 17],
+ ["8f61", "\uB8A0", 7, "\uB8A9", 6, "\uB8B1\uB8B2\uB8B3\uB8B5\uB8B6\uB8B7\uB8B9", 4],
+ ["8f81", "\uB8BE\uB8BF\uB8C2\uB8C4\uB8C6", 5, "\uB8CD\uB8CE\uB8CF\uB8D1\uB8D2\uB8D3\uB8D5", 7, "\uB8DE\uB8E0\uB8E2", 5, "\uB8EA\uB8EB\uB8ED\uB8EE\uB8EF\uB8F1", 6, "\uB8FA\uB8FC\uB8FE", 5, "\uB905", 18, "\uB919", 6, "\uB921", 26, "\uB93E\uB93F\uB941\uB942\uB943\uB945", 6, "\uB94D\uB94E\uB950\uB952", 5],
+ ["9041", "\uB95A\uB95B\uB95D\uB95E\uB95F\uB961", 6, "\uB96A\uB96C\uB96E", 5, "\uB976\uB977\uB979\uB97A\uB97B\uB97D"],
+ ["9061", "\uB97E", 5, "\uB986\uB988\uB98B\uB98C\uB98F", 15],
+ ["9081", "\uB99F", 12, "\uB9AE\uB9AF\uB9B1\uB9B2\uB9B3\uB9B5", 6, "\uB9BE\uB9C0\uB9C2", 5, "\uB9CA\uB9CB\uB9CD\uB9D3", 4, "\uB9DA\uB9DC\uB9DF\uB9E0\uB9E2\uB9E6\uB9E7\uB9E9\uB9EA\uB9EB\uB9ED", 6, "\uB9F6\uB9FB", 4, "\uBA02", 5, "\uBA09", 11, "\uBA16", 33, "\uBA3A\uBA3B\uBA3D\uBA3E\uBA3F\uBA41\uBA43\uBA44\uBA45\uBA46"],
+ ["9141", "\uBA47\uBA4A\uBA4C\uBA4F\uBA50\uBA51\uBA52\uBA56\uBA57\uBA59\uBA5A\uBA5B\uBA5D", 6, "\uBA66\uBA6A", 5],
+ ["9161", "\uBA72\uBA73\uBA75\uBA76\uBA77\uBA79", 9, "\uBA86\uBA88\uBA89\uBA8A\uBA8B\uBA8D", 5],
+ ["9181", "\uBA93", 20, "\uBAAA\uBAAD\uBAAE\uBAAF\uBAB1\uBAB3", 4, "\uBABA\uBABC\uBABE", 5, "\uBAC5\uBAC6\uBAC7\uBAC9", 14, "\uBADA", 33, "\uBAFD\uBAFE\uBAFF\uBB01\uBB02\uBB03\uBB05", 7, "\uBB0E\uBB10\uBB12", 5, "\uBB19\uBB1A\uBB1B\uBB1D\uBB1E\uBB1F\uBB21", 6],
+ ["9241", "\uBB28\uBB2A\uBB2C", 7, "\uBB37\uBB39\uBB3A\uBB3F", 4, "\uBB46\uBB48\uBB4A\uBB4B\uBB4C\uBB4E\uBB51\uBB52"],
+ ["9261", "\uBB53\uBB55\uBB56\uBB57\uBB59", 7, "\uBB62\uBB64", 7, "\uBB6D", 4],
+ ["9281", "\uBB72", 21, "\uBB89\uBB8A\uBB8B\uBB8D\uBB8E\uBB8F\uBB91", 18, "\uBBA5\uBBA6\uBBA7\uBBA9\uBBAA\uBBAB\uBBAD", 6, "\uBBB5\uBBB6\uBBB8", 7, "\uBBC1\uBBC2\uBBC3\uBBC5\uBBC6\uBBC7\uBBC9", 6, "\uBBD1\uBBD2\uBBD4", 35, "\uBBFA\uBBFB\uBBFD\uBBFE\uBC01"],
+ ["9341", "\uBC03", 4, "\uBC0A\uBC0E\uBC10\uBC12\uBC13\uBC19\uBC1A\uBC20\uBC21\uBC22\uBC23\uBC26\uBC28\uBC2A\uBC2B\uBC2C\uBC2E\uBC2F\uBC32\uBC33\uBC35"],
+ ["9361", "\uBC36\uBC37\uBC39", 6, "\uBC42\uBC46\uBC47\uBC48\uBC4A\uBC4B\uBC4E\uBC4F\uBC51", 8],
+ ["9381", "\uBC5A\uBC5B\uBC5C\uBC5E", 37, "\uBC86\uBC87\uBC89\uBC8A\uBC8D\uBC8F", 4, "\uBC96\uBC98\uBC9B", 4, "\uBCA2\uBCA3\uBCA5\uBCA6\uBCA9", 6, "\uBCB2\uBCB6", 5, "\uBCBE\uBCBF\uBCC1\uBCC2\uBCC3\uBCC5", 7, "\uBCCE\uBCD2\uBCD3\uBCD4\uBCD6\uBCD7\uBCD9\uBCDA\uBCDB\uBCDD", 22, "\uBCF7\uBCF9\uBCFA\uBCFB\uBCFD"],
+ ["9441", "\uBCFE", 5, "\uBD06\uBD08\uBD0A", 5, "\uBD11\uBD12\uBD13\uBD15", 8],
+ ["9461", "\uBD1E", 5, "\uBD25", 6, "\uBD2D", 12],
+ ["9481", "\uBD3A", 5, "\uBD41", 6, "\uBD4A\uBD4B\uBD4D\uBD4E\uBD4F\uBD51", 6, "\uBD5A", 9, "\uBD65\uBD66\uBD67\uBD69", 22, "\uBD82\uBD83\uBD85\uBD86\uBD8B", 4, "\uBD92\uBD94\uBD96\uBD97\uBD98\uBD9B\uBD9D", 6, "\uBDA5", 10, "\uBDB1", 6, "\uBDB9", 24],
+ ["9541", "\uBDD2\uBDD3\uBDD6\uBDD7\uBDD9\uBDDA\uBDDB\uBDDD", 11, "\uBDEA", 5, "\uBDF1"],
+ ["9561", "\uBDF2\uBDF3\uBDF5\uBDF6\uBDF7\uBDF9", 6, "\uBE01\uBE02\uBE04\uBE06", 5, "\uBE0E\uBE0F\uBE11\uBE12\uBE13"],
+ ["9581", "\uBE15", 6, "\uBE1E\uBE20", 35, "\uBE46\uBE47\uBE49\uBE4A\uBE4B\uBE4D\uBE4F", 4, "\uBE56\uBE58\uBE5C\uBE5D\uBE5E\uBE5F\uBE62\uBE63\uBE65\uBE66\uBE67\uBE69\uBE6B", 4, "\uBE72\uBE76", 4, "\uBE7E\uBE7F\uBE81\uBE82\uBE83\uBE85", 6, "\uBE8E\uBE92", 5, "\uBE9A", 13, "\uBEA9", 14],
+ ["9641", "\uBEB8", 23, "\uBED2\uBED3"],
+ ["9661", "\uBED5\uBED6\uBED9", 6, "\uBEE1\uBEE2\uBEE6", 5, "\uBEED", 8],
+ ["9681", "\uBEF6", 10, "\uBF02", 5, "\uBF0A", 13, "\uBF1A\uBF1E", 33, "\uBF42\uBF43\uBF45\uBF46\uBF47\uBF49", 6, "\uBF52\uBF53\uBF54\uBF56", 44],
+ ["9741", "\uBF83", 16, "\uBF95", 8],
+ ["9761", "\uBF9E", 17, "\uBFB1", 7],
+ ["9781", "\uBFB9", 11, "\uBFC6", 5, "\uBFCE\uBFCF\uBFD1\uBFD2\uBFD3\uBFD5", 6, "\uBFDD\uBFDE\uBFE0\uBFE2", 89, "\uC03D\uC03E\uC03F"],
+ ["9841", "\uC040", 16, "\uC052", 5, "\uC059\uC05A\uC05B"],
+ ["9861", "\uC05D\uC05E\uC05F\uC061", 6, "\uC06A", 15],
+ ["9881", "\uC07A", 21, "\uC092\uC093\uC095\uC096\uC097\uC099", 6, "\uC0A2\uC0A4\uC0A6", 5, "\uC0AE\uC0B1\uC0B2\uC0B7", 4, "\uC0BE\uC0C2\uC0C3\uC0C4\uC0C6\uC0C7\uC0CA\uC0CB\uC0CD\uC0CE\uC0CF\uC0D1", 6, "\uC0DA\uC0DE", 5, "\uC0E6\uC0E7\uC0E9\uC0EA\uC0EB\uC0ED", 6, "\uC0F6\uC0F8\uC0FA", 5, "\uC101\uC102\uC103\uC105\uC106\uC107\uC109", 6, "\uC111\uC112\uC113\uC114\uC116", 5, "\uC121\uC122\uC125\uC128\uC129\uC12A\uC12B\uC12E"],
+ ["9941", "\uC132\uC133\uC134\uC135\uC137\uC13A\uC13B\uC13D\uC13E\uC13F\uC141", 6, "\uC14A\uC14E", 5, "\uC156\uC157"],
+ ["9961", "\uC159\uC15A\uC15B\uC15D", 6, "\uC166\uC16A", 5, "\uC171\uC172\uC173\uC175\uC176\uC177\uC179\uC17A\uC17B"],
+ ["9981", "\uC17C", 8, "\uC186", 5, "\uC18F\uC191\uC192\uC193\uC195\uC197", 4, "\uC19E\uC1A0\uC1A2\uC1A3\uC1A4\uC1A6\uC1A7\uC1AA\uC1AB\uC1AD\uC1AE\uC1AF\uC1B1", 11, "\uC1BE", 5, "\uC1C5\uC1C6\uC1C7\uC1C9\uC1CA\uC1CB\uC1CD", 6, "\uC1D5\uC1D6\uC1D9", 6, "\uC1E1\uC1E2\uC1E3\uC1E5\uC1E6\uC1E7\uC1E9", 6, "\uC1F2\uC1F4", 7, "\uC1FE\uC1FF\uC201\uC202\uC203\uC205", 6, "\uC20E\uC210\uC212", 5, "\uC21A\uC21B\uC21D\uC21E\uC221\uC222\uC223"],
+ ["9a41", "\uC224\uC225\uC226\uC227\uC22A\uC22C\uC22E\uC230\uC233\uC235", 16],
+ ["9a61", "\uC246\uC247\uC249", 6, "\uC252\uC253\uC255\uC256\uC257\uC259", 6, "\uC261\uC262\uC263\uC264\uC266"],
+ ["9a81", "\uC267", 4, "\uC26E\uC26F\uC271\uC272\uC273\uC275", 6, "\uC27E\uC280\uC282", 5, "\uC28A", 5, "\uC291", 6, "\uC299\uC29A\uC29C\uC29E", 5, "\uC2A6\uC2A7\uC2A9\uC2AA\uC2AB\uC2AE", 5, "\uC2B6\uC2B8\uC2BA", 33, "\uC2DE\uC2DF\uC2E1\uC2E2\uC2E5", 5, "\uC2EE\uC2F0\uC2F2\uC2F3\uC2F4\uC2F5\uC2F7\uC2FA\uC2FD\uC2FE\uC2FF\uC301", 6, "\uC30A\uC30B\uC30E\uC30F"],
+ ["9b41", "\uC310\uC311\uC312\uC316\uC317\uC319\uC31A\uC31B\uC31D", 6, "\uC326\uC327\uC32A", 8],
+ ["9b61", "\uC333", 17, "\uC346", 7],
+ ["9b81", "\uC34E", 25, "\uC36A\uC36B\uC36D\uC36E\uC36F\uC371\uC373", 4, "\uC37A\uC37B\uC37E", 5, "\uC385\uC386\uC387\uC389\uC38A\uC38B\uC38D", 50, "\uC3C1", 22, "\uC3DA"],
+ ["9c41", "\uC3DB\uC3DD\uC3DE\uC3E1\uC3E3", 4, "\uC3EA\uC3EB\uC3EC\uC3EE", 5, "\uC3F6\uC3F7\uC3F9", 5],
+ ["9c61", "\uC3FF", 8, "\uC409", 6, "\uC411", 9],
+ ["9c81", "\uC41B", 8, "\uC425", 6, "\uC42D\uC42E\uC42F\uC431\uC432\uC433\uC435", 6, "\uC43E", 9, "\uC449", 26, "\uC466\uC467\uC469\uC46A\uC46B\uC46D", 6, "\uC476\uC477\uC478\uC47A", 5, "\uC481", 18, "\uC495", 6, "\uC49D", 12],
+ ["9d41", "\uC4AA", 13, "\uC4B9\uC4BA\uC4BB\uC4BD", 8],
+ ["9d61", "\uC4C6", 25],
+ ["9d81", "\uC4E0", 8, "\uC4EA", 5, "\uC4F2\uC4F3\uC4F5\uC4F6\uC4F7\uC4F9\uC4FB\uC4FC\uC4FD\uC4FE\uC502", 9, "\uC50D\uC50E\uC50F\uC511\uC512\uC513\uC515", 6, "\uC51D", 10, "\uC52A\uC52B\uC52D\uC52E\uC52F\uC531", 6, "\uC53A\uC53C\uC53E", 5, "\uC546\uC547\uC54B\uC54F\uC550\uC551\uC552\uC556\uC55A\uC55B\uC55C\uC55F\uC562\uC563\uC565\uC566\uC567\uC569", 6, "\uC572\uC576", 5, "\uC57E\uC57F\uC581\uC582\uC583\uC585\uC586\uC588\uC589\uC58A\uC58B\uC58E\uC590\uC592\uC593\uC594"],
+ ["9e41", "\uC596\uC599\uC59A\uC59B\uC59D\uC59E\uC59F\uC5A1", 7, "\uC5AA", 9, "\uC5B6"],
+ ["9e61", "\uC5B7\uC5BA\uC5BF", 4, "\uC5CB\uC5CD\uC5CF\uC5D2\uC5D3\uC5D5\uC5D6\uC5D7\uC5D9", 6, "\uC5E2\uC5E4\uC5E6\uC5E7"],
+ ["9e81", "\uC5E8\uC5E9\uC5EA\uC5EB\uC5EF\uC5F1\uC5F2\uC5F3\uC5F5\uC5F8\uC5F9\uC5FA\uC5FB\uC602\uC603\uC604\uC609\uC60A\uC60B\uC60D\uC60E\uC60F\uC611", 6, "\uC61A\uC61D", 6, "\uC626\uC627\uC629\uC62A\uC62B\uC62F\uC631\uC632\uC636\uC638\uC63A\uC63C\uC63D\uC63E\uC63F\uC642\uC643\uC645\uC646\uC647\uC649", 6, "\uC652\uC656", 5, "\uC65E\uC65F\uC661", 10, "\uC66D\uC66E\uC670\uC672", 5, "\uC67A\uC67B\uC67D\uC67E\uC67F\uC681", 6, "\uC68A\uC68C\uC68E", 5, "\uC696\uC697\uC699\uC69A\uC69B\uC69D", 6, "\uC6A6"],
+ ["9f41", "\uC6A8\uC6AA", 5, "\uC6B2\uC6B3\uC6B5\uC6B6\uC6B7\uC6BB", 4, "\uC6C2\uC6C4\uC6C6", 5, "\uC6CE"],
+ ["9f61", "\uC6CF\uC6D1\uC6D2\uC6D3\uC6D5", 6, "\uC6DE\uC6DF\uC6E2", 5, "\uC6EA\uC6EB\uC6ED\uC6EE\uC6EF\uC6F1\uC6F2"],
+ ["9f81", "\uC6F3", 4, "\uC6FA\uC6FB\uC6FC\uC6FE", 5, "\uC706\uC707\uC709\uC70A\uC70B\uC70D", 6, "\uC716\uC718\uC71A", 5, "\uC722\uC723\uC725\uC726\uC727\uC729", 6, "\uC732\uC734\uC736\uC738\uC739\uC73A\uC73B\uC73E\uC73F\uC741\uC742\uC743\uC745", 4, "\uC74B\uC74E\uC750\uC759\uC75A\uC75B\uC75D\uC75E\uC75F\uC761", 6, "\uC769\uC76A\uC76C", 7, "\uC776\uC777\uC779\uC77A\uC77B\uC77F\uC780\uC781\uC782\uC786\uC78B\uC78C\uC78D\uC78F\uC792\uC793\uC795\uC799\uC79B", 4, "\uC7A2\uC7A7", 4, "\uC7AE\uC7AF\uC7B1\uC7B2\uC7B3\uC7B5\uC7B6\uC7B7"],
+ ["a041", "\uC7B8\uC7B9\uC7BA\uC7BB\uC7BE\uC7C2", 5, "\uC7CA\uC7CB\uC7CD\uC7CF\uC7D1", 6, "\uC7D9\uC7DA\uC7DB\uC7DC"],
+ ["a061", "\uC7DE", 5, "\uC7E5\uC7E6\uC7E7\uC7E9\uC7EA\uC7EB\uC7ED", 13],
+ ["a081", "\uC7FB", 4, "\uC802\uC803\uC805\uC806\uC807\uC809\uC80B", 4, "\uC812\uC814\uC817", 4, "\uC81E\uC81F\uC821\uC822\uC823\uC825", 6, "\uC82E\uC830\uC832", 5, "\uC839\uC83A\uC83B\uC83D\uC83E\uC83F\uC841", 6, "\uC84A\uC84B\uC84E", 5, "\uC855", 26, "\uC872\uC873\uC875\uC876\uC877\uC879\uC87B", 4, "\uC882\uC884\uC888\uC889\uC88A\uC88E", 5, "\uC895", 7, "\uC89E\uC8A0\uC8A2\uC8A3\uC8A4"],
+ ["a141", "\uC8A5\uC8A6\uC8A7\uC8A9", 18, "\uC8BE\uC8BF\uC8C0\uC8C1"],
+ ["a161", "\uC8C2\uC8C3\uC8C5\uC8C6\uC8C7\uC8C9\uC8CA\uC8CB\uC8CD", 6, "\uC8D6\uC8D8\uC8DA", 5, "\uC8E2\uC8E3\uC8E5"],
+ ["a181", "\uC8E6", 14, "\uC8F6", 5, "\uC8FE\uC8FF\uC901\uC902\uC903\uC907", 4, "\uC90E\u3000\u3001\u3002\xB7\u2025\u2026\xA8\u3003\xAD\u2015\u2225\uFF3C\u223C\u2018\u2019\u201C\u201D\u3014\u3015\u3008", 9, "\xB1\xD7\xF7\u2260\u2264\u2265\u221E\u2234\xB0\u2032\u2033\u2103\u212B\uFFE0\uFFE1\uFFE5\u2642\u2640\u2220\u22A5\u2312\u2202\u2207\u2261\u2252\xA7\u203B\u2606\u2605\u25CB\u25CF\u25CE\u25C7\u25C6\u25A1\u25A0\u25B3\u25B2\u25BD\u25BC\u2192\u2190\u2191\u2193\u2194\u3013\u226A\u226B\u221A\u223D\u221D\u2235\u222B\u222C\u2208\u220B\u2286\u2287\u2282\u2283\u222A\u2229\u2227\u2228\uFFE2"],
+ ["a241", "\uC910\uC912", 5, "\uC919", 18],
+ ["a261", "\uC92D", 6, "\uC935", 18],
+ ["a281", "\uC948", 7, "\uC952\uC953\uC955\uC956\uC957\uC959", 6, "\uC962\uC964", 7, "\uC96D\uC96E\uC96F\u21D2\u21D4\u2200\u2203\xB4\uFF5E\u02C7\u02D8\u02DD\u02DA\u02D9\xB8\u02DB\xA1\xBF\u02D0\u222E\u2211\u220F\xA4\u2109\u2030\u25C1\u25C0\u25B7\u25B6\u2664\u2660\u2661\u2665\u2667\u2663\u2299\u25C8\u25A3\u25D0\u25D1\u2592\u25A4\u25A5\u25A8\u25A7\u25A6\u25A9\u2668\u260F\u260E\u261C\u261E\xB6\u2020\u2021\u2195\u2197\u2199\u2196\u2198\u266D\u2669\u266A\u266C\u327F\u321C\u2116\u33C7\u2122\u33C2\u33D8\u2121\u20AC\xAE"],
+ ["a341", "\uC971\uC972\uC973\uC975", 6, "\uC97D", 10, "\uC98A\uC98B\uC98D\uC98E\uC98F"],
+ ["a361", "\uC991", 6, "\uC99A\uC99C\uC99E", 16],
+ ["a381", "\uC9AF", 16, "\uC9C2\uC9C3\uC9C5\uC9C6\uC9C9\uC9CB", 4, "\uC9D2\uC9D4\uC9D7\uC9D8\uC9DB\uFF01", 58, "\uFFE6\uFF3D", 32, "\uFFE3"],
+ ["a441", "\uC9DE\uC9DF\uC9E1\uC9E3\uC9E5\uC9E6\uC9E8\uC9E9\uC9EA\uC9EB\uC9EE\uC9F2", 5, "\uC9FA\uC9FB\uC9FD\uC9FE\uC9FF\uCA01\uCA02\uCA03\uCA04"],
+ ["a461", "\uCA05\uCA06\uCA07\uCA0A\uCA0E", 5, "\uCA15\uCA16\uCA17\uCA19", 12],
+ ["a481", "\uCA26\uCA27\uCA28\uCA2A", 28, "\u3131", 93],
+ ["a541", "\uCA47", 4, "\uCA4E\uCA4F\uCA51\uCA52\uCA53\uCA55", 6, "\uCA5E\uCA62", 5, "\uCA69\uCA6A"],
+ ["a561", "\uCA6B", 17, "\uCA7E", 5, "\uCA85\uCA86"],
+ ["a581", "\uCA87", 16, "\uCA99", 14, "\u2170", 9],
+ ["a5b0", "\u2160", 9],
+ ["a5c1", "\u0391", 16, "\u03A3", 6],
+ ["a5e1", "\u03B1", 16, "\u03C3", 6],
+ ["a641", "\uCAA8", 19, "\uCABE\uCABF\uCAC1\uCAC2\uCAC3\uCAC5"],
+ ["a661", "\uCAC6", 5, "\uCACE\uCAD0\uCAD2\uCAD4\uCAD5\uCAD6\uCAD7\uCADA", 5, "\uCAE1", 6],
+ ["a681", "\uCAE8\uCAE9\uCAEA\uCAEB\uCAED", 6, "\uCAF5", 18, "\uCB09\uCB0A\u2500\u2502\u250C\u2510\u2518\u2514\u251C\u252C\u2524\u2534\u253C\u2501\u2503\u250F\u2513\u251B\u2517\u2523\u2533\u252B\u253B\u254B\u2520\u252F\u2528\u2537\u253F\u251D\u2530\u2525\u2538\u2542\u2512\u2511\u251A\u2519\u2516\u2515\u250E\u250D\u251E\u251F\u2521\u2522\u2526\u2527\u2529\u252A\u252D\u252E\u2531\u2532\u2535\u2536\u2539\u253A\u253D\u253E\u2540\u2541\u2543", 7],
+ ["a741", "\uCB0B", 4, "\uCB11\uCB12\uCB13\uCB15\uCB16\uCB17\uCB19", 6, "\uCB22", 7],
+ ["a761", "\uCB2A", 22, "\uCB42\uCB43\uCB44"],
+ ["a781", "\uCB45\uCB46\uCB47\uCB4A\uCB4B\uCB4D\uCB4E\uCB4F\uCB51", 6, "\uCB5A\uCB5B\uCB5C\uCB5E", 5, "\uCB65", 7, "\u3395\u3396\u3397\u2113\u3398\u33C4\u33A3\u33A4\u33A5\u33A6\u3399", 9, "\u33CA\u338D\u338E\u338F\u33CF\u3388\u3389\u33C8\u33A7\u33A8\u33B0", 9, "\u3380", 4, "\u33BA", 5, "\u3390", 4, "\u2126\u33C0\u33C1\u338A\u338B\u338C\u33D6\u33C5\u33AD\u33AE\u33AF\u33DB\u33A9\u33AA\u33AB\u33AC\u33DD\u33D0\u33D3\u33C3\u33C9\u33DC\u33C6"],
+ ["a841", "\uCB6D", 10, "\uCB7A", 14],
+ ["a861", "\uCB89", 18, "\uCB9D", 6],
+ ["a881", "\uCBA4", 19, "\uCBB9", 11, "\xC6\xD0\xAA\u0126"],
+ ["a8a6", "\u0132"],
+ ["a8a8", "\u013F\u0141\xD8\u0152\xBA\xDE\u0166\u014A"],
+ ["a8b1", "\u3260", 27, "\u24D0", 25, "\u2460", 14, "\xBD\u2153\u2154\xBC\xBE\u215B\u215C\u215D\u215E"],
+ ["a941", "\uCBC5", 14, "\uCBD5", 10],
+ ["a961", "\uCBE0\uCBE1\uCBE2\uCBE3\uCBE5\uCBE6\uCBE8\uCBEA", 18],
+ ["a981", "\uCBFD", 14, "\uCC0E\uCC0F\uCC11\uCC12\uCC13\uCC15", 6, "\uCC1E\uCC1F\uCC20\uCC23\uCC24\xE6\u0111\xF0\u0127\u0131\u0133\u0138\u0140\u0142\xF8\u0153\xDF\xFE\u0167\u014B\u0149\u3200", 27, "\u249C", 25, "\u2474", 14, "\xB9\xB2\xB3\u2074\u207F\u2081\u2082\u2083\u2084"],
+ ["aa41", "\uCC25\uCC26\uCC2A\uCC2B\uCC2D\uCC2F\uCC31", 6, "\uCC3A\uCC3F", 4, "\uCC46\uCC47\uCC49\uCC4A\uCC4B\uCC4D\uCC4E"],
+ ["aa61", "\uCC4F", 4, "\uCC56\uCC5A", 5, "\uCC61\uCC62\uCC63\uCC65\uCC67\uCC69", 6, "\uCC71\uCC72"],
+ ["aa81", "\uCC73\uCC74\uCC76", 29, "\u3041", 82],
+ ["ab41", "\uCC94\uCC95\uCC96\uCC97\uCC9A\uCC9B\uCC9D\uCC9E\uCC9F\uCCA1", 6, "\uCCAA\uCCAE", 5, "\uCCB6\uCCB7\uCCB9"],
+ ["ab61", "\uCCBA\uCCBB\uCCBD", 6, "\uCCC6\uCCC8\uCCCA", 5, "\uCCD1\uCCD2\uCCD3\uCCD5", 5],
+ ["ab81", "\uCCDB", 8, "\uCCE5", 6, "\uCCED\uCCEE\uCCEF\uCCF1", 12, "\u30A1", 85],
+ ["ac41", "\uCCFE\uCCFF\uCD00\uCD02", 5, "\uCD0A\uCD0B\uCD0D\uCD0E\uCD0F\uCD11", 6, "\uCD1A\uCD1C\uCD1E\uCD1F\uCD20"],
+ ["ac61", "\uCD21\uCD22\uCD23\uCD25\uCD26\uCD27\uCD29\uCD2A\uCD2B\uCD2D", 11, "\uCD3A", 4],
+ ["ac81", "\uCD3F", 28, "\uCD5D\uCD5E\uCD5F\u0410", 5, "\u0401\u0416", 25],
+ ["acd1", "\u0430", 5, "\u0451\u0436", 25],
+ ["ad41", "\uCD61\uCD62\uCD63\uCD65", 6, "\uCD6E\uCD70\uCD72", 5, "\uCD79", 7],
+ ["ad61", "\uCD81", 6, "\uCD89", 10, "\uCD96\uCD97\uCD99\uCD9A\uCD9B\uCD9D\uCD9E\uCD9F"],
+ ["ad81", "\uCDA0\uCDA1\uCDA2\uCDA3\uCDA6\uCDA8\uCDAA", 5, "\uCDB1", 18, "\uCDC5"],
+ ["ae41", "\uCDC6", 5, "\uCDCD\uCDCE\uCDCF\uCDD1", 16],
+ ["ae61", "\uCDE2", 5, "\uCDE9\uCDEA\uCDEB\uCDED\uCDEE\uCDEF\uCDF1", 6, "\uCDFA\uCDFC\uCDFE", 4],
+ ["ae81", "\uCE03\uCE05\uCE06\uCE07\uCE09\uCE0A\uCE0B\uCE0D", 6, "\uCE15\uCE16\uCE17\uCE18\uCE1A", 5, "\uCE22\uCE23\uCE25\uCE26\uCE27\uCE29\uCE2A\uCE2B"],
+ ["af41", "\uCE2C\uCE2D\uCE2E\uCE2F\uCE32\uCE34\uCE36", 19],
+ ["af61", "\uCE4A", 13, "\uCE5A\uCE5B\uCE5D\uCE5E\uCE62", 5, "\uCE6A\uCE6C"],
+ ["af81", "\uCE6E", 5, "\uCE76\uCE77\uCE79\uCE7A\uCE7B\uCE7D", 6, "\uCE86\uCE88\uCE8A", 5, "\uCE92\uCE93\uCE95\uCE96\uCE97\uCE99"],
+ ["b041", "\uCE9A", 5, "\uCEA2\uCEA6", 5, "\uCEAE", 12],
+ ["b061", "\uCEBB", 5, "\uCEC2", 19],
+ ["b081", "\uCED6", 13, "\uCEE6\uCEE7\uCEE9\uCEEA\uCEED", 6, "\uCEF6\uCEFA", 5, "\uAC00\uAC01\uAC04\uAC07\uAC08\uAC09\uAC0A\uAC10", 7, "\uAC19", 4, "\uAC20\uAC24\uAC2C\uAC2D\uAC2F\uAC30\uAC31\uAC38\uAC39\uAC3C\uAC40\uAC4B\uAC4D\uAC54\uAC58\uAC5C\uAC70\uAC71\uAC74\uAC77\uAC78\uAC7A\uAC80\uAC81\uAC83\uAC84\uAC85\uAC86\uAC89\uAC8A\uAC8B\uAC8C\uAC90\uAC94\uAC9C\uAC9D\uAC9F\uACA0\uACA1\uACA8\uACA9\uACAA\uACAC\uACAF\uACB0\uACB8\uACB9\uACBB\uACBC\uACBD\uACC1\uACC4\uACC8\uACCC\uACD5\uACD7\uACE0\uACE1\uACE4\uACE7\uACE8\uACEA\uACEC\uACEF\uACF0\uACF1\uACF3\uACF5\uACF6\uACFC\uACFD\uAD00\uAD04\uAD06"],
+ ["b141", "\uCF02\uCF03\uCF05\uCF06\uCF07\uCF09", 6, "\uCF12\uCF14\uCF16", 5, "\uCF1D\uCF1E\uCF1F\uCF21\uCF22\uCF23"],
+ ["b161", "\uCF25", 6, "\uCF2E\uCF32", 5, "\uCF39", 11],
+ ["b181", "\uCF45", 14, "\uCF56\uCF57\uCF59\uCF5A\uCF5B\uCF5D", 6, "\uCF66\uCF68\uCF6A\uCF6B\uCF6C\uAD0C\uAD0D\uAD0F\uAD11\uAD18\uAD1C\uAD20\uAD29\uAD2C\uAD2D\uAD34\uAD35\uAD38\uAD3C\uAD44\uAD45\uAD47\uAD49\uAD50\uAD54\uAD58\uAD61\uAD63\uAD6C\uAD6D\uAD70\uAD73\uAD74\uAD75\uAD76\uAD7B\uAD7C\uAD7D\uAD7F\uAD81\uAD82\uAD88\uAD89\uAD8C\uAD90\uAD9C\uAD9D\uADA4\uADB7\uADC0\uADC1\uADC4\uADC8\uADD0\uADD1\uADD3\uADDC\uADE0\uADE4\uADF8\uADF9\uADFC\uADFF\uAE00\uAE01\uAE08\uAE09\uAE0B\uAE0D\uAE14\uAE30\uAE31\uAE34\uAE37\uAE38\uAE3A\uAE40\uAE41\uAE43\uAE45\uAE46\uAE4A\uAE4C\uAE4D\uAE4E\uAE50\uAE54\uAE56\uAE5C\uAE5D\uAE5F\uAE60\uAE61\uAE65\uAE68\uAE69\uAE6C\uAE70\uAE78"],
+ ["b241", "\uCF6D\uCF6E\uCF6F\uCF72\uCF73\uCF75\uCF76\uCF77\uCF79", 6, "\uCF81\uCF82\uCF83\uCF84\uCF86", 5, "\uCF8D"],
+ ["b261", "\uCF8E", 18, "\uCFA2", 5, "\uCFA9"],
+ ["b281", "\uCFAA", 5, "\uCFB1", 18, "\uCFC5", 6, "\uAE79\uAE7B\uAE7C\uAE7D\uAE84\uAE85\uAE8C\uAEBC\uAEBD\uAEBE\uAEC0\uAEC4\uAECC\uAECD\uAECF\uAED0\uAED1\uAED8\uAED9\uAEDC\uAEE8\uAEEB\uAEED\uAEF4\uAEF8\uAEFC\uAF07\uAF08\uAF0D\uAF10\uAF2C\uAF2D\uAF30\uAF32\uAF34\uAF3C\uAF3D\uAF3F\uAF41\uAF42\uAF43\uAF48\uAF49\uAF50\uAF5C\uAF5D\uAF64\uAF65\uAF79\uAF80\uAF84\uAF88\uAF90\uAF91\uAF95\uAF9C\uAFB8\uAFB9\uAFBC\uAFC0\uAFC7\uAFC8\uAFC9\uAFCB\uAFCD\uAFCE\uAFD4\uAFDC\uAFE8\uAFE9\uAFF0\uAFF1\uAFF4\uAFF8\uB000\uB001\uB004\uB00C\uB010\uB014\uB01C\uB01D\uB028\uB044\uB045\uB048\uB04A\uB04C\uB04E\uB053\uB054\uB055\uB057\uB059"],
+ ["b341", "\uCFCC", 19, "\uCFE2\uCFE3\uCFE5\uCFE6\uCFE7\uCFE9"],
+ ["b361", "\uCFEA", 5, "\uCFF2\uCFF4\uCFF6", 5, "\uCFFD\uCFFE\uCFFF\uD001\uD002\uD003\uD005", 5],
+ ["b381", "\uD00B", 5, "\uD012", 5, "\uD019", 19, "\uB05D\uB07C\uB07D\uB080\uB084\uB08C\uB08D\uB08F\uB091\uB098\uB099\uB09A\uB09C\uB09F\uB0A0\uB0A1\uB0A2\uB0A8\uB0A9\uB0AB", 4, "\uB0B1\uB0B3\uB0B4\uB0B5\uB0B8\uB0BC\uB0C4\uB0C5\uB0C7\uB0C8\uB0C9\uB0D0\uB0D1\uB0D4\uB0D8\uB0E0\uB0E5\uB108\uB109\uB10B\uB10C\uB110\uB112\uB113\uB118\uB119\uB11B\uB11C\uB11D\uB123\uB124\uB125\uB128\uB12C\uB134\uB135\uB137\uB138\uB139\uB140\uB141\uB144\uB148\uB150\uB151\uB154\uB155\uB158\uB15C\uB160\uB178\uB179\uB17C\uB180\uB182\uB188\uB189\uB18B\uB18D\uB192\uB193\uB194\uB198\uB19C\uB1A8\uB1CC\uB1D0\uB1D4\uB1DC\uB1DD"],
+ ["b441", "\uD02E", 5, "\uD036\uD037\uD039\uD03A\uD03B\uD03D", 6, "\uD046\uD048\uD04A", 5],
+ ["b461", "\uD051\uD052\uD053\uD055\uD056\uD057\uD059", 6, "\uD061", 10, "\uD06E\uD06F"],
+ ["b481", "\uD071\uD072\uD073\uD075", 6, "\uD07E\uD07F\uD080\uD082", 18, "\uB1DF\uB1E8\uB1E9\uB1EC\uB1F0\uB1F9\uB1FB\uB1FD\uB204\uB205\uB208\uB20B\uB20C\uB214\uB215\uB217\uB219\uB220\uB234\uB23C\uB258\uB25C\uB260\uB268\uB269\uB274\uB275\uB27C\uB284\uB285\uB289\uB290\uB291\uB294\uB298\uB299\uB29A\uB2A0\uB2A1\uB2A3\uB2A5\uB2A6\uB2AA\uB2AC\uB2B0\uB2B4\uB2C8\uB2C9\uB2CC\uB2D0\uB2D2\uB2D8\uB2D9\uB2DB\uB2DD\uB2E2\uB2E4\uB2E5\uB2E6\uB2E8\uB2EB", 4, "\uB2F3\uB2F4\uB2F5\uB2F7", 4, "\uB2FF\uB300\uB301\uB304\uB308\uB310\uB311\uB313\uB314\uB315\uB31C\uB354\uB355\uB356\uB358\uB35B\uB35C\uB35E\uB35F\uB364\uB365"],
+ ["b541", "\uD095", 14, "\uD0A6\uD0A7\uD0A9\uD0AA\uD0AB\uD0AD", 5],
+ ["b561", "\uD0B3\uD0B6\uD0B8\uD0BA", 5, "\uD0C2\uD0C3\uD0C5\uD0C6\uD0C7\uD0CA", 5, "\uD0D2\uD0D6", 4],
+ ["b581", "\uD0DB\uD0DE\uD0DF\uD0E1\uD0E2\uD0E3\uD0E5", 6, "\uD0EE\uD0F2", 5, "\uD0F9", 11, "\uB367\uB369\uB36B\uB36E\uB370\uB371\uB374\uB378\uB380\uB381\uB383\uB384\uB385\uB38C\uB390\uB394\uB3A0\uB3A1\uB3A8\uB3AC\uB3C4\uB3C5\uB3C8\uB3CB\uB3CC\uB3CE\uB3D0\uB3D4\uB3D5\uB3D7\uB3D9\uB3DB\uB3DD\uB3E0\uB3E4\uB3E8\uB3FC\uB410\uB418\uB41C\uB420\uB428\uB429\uB42B\uB434\uB450\uB451\uB454\uB458\uB460\uB461\uB463\uB465\uB46C\uB480\uB488\uB49D\uB4A4\uB4A8\uB4AC\uB4B5\uB4B7\uB4B9\uB4C0\uB4C4\uB4C8\uB4D0\uB4D5\uB4DC\uB4DD\uB4E0\uB4E3\uB4E4\uB4E6\uB4EC\uB4ED\uB4EF\uB4F1\uB4F8\uB514\uB515\uB518\uB51B\uB51C\uB524\uB525\uB527\uB528\uB529\uB52A\uB530\uB531\uB534\uB538"],
+ ["b641", "\uD105", 7, "\uD10E", 17],
+ ["b661", "\uD120", 15, "\uD132\uD133\uD135\uD136\uD137\uD139\uD13B\uD13C\uD13D\uD13E"],
+ ["b681", "\uD13F\uD142\uD146", 5, "\uD14E\uD14F\uD151\uD152\uD153\uD155", 6, "\uD15E\uD160\uD162", 5, "\uD169\uD16A\uD16B\uD16D\uB540\uB541\uB543\uB544\uB545\uB54B\uB54C\uB54D\uB550\uB554\uB55C\uB55D\uB55F\uB560\uB561\uB5A0\uB5A1\uB5A4\uB5A8\uB5AA\uB5AB\uB5B0\uB5B1\uB5B3\uB5B4\uB5B5\uB5BB\uB5BC\uB5BD\uB5C0\uB5C4\uB5CC\uB5CD\uB5CF\uB5D0\uB5D1\uB5D8\uB5EC\uB610\uB611\uB614\uB618\uB625\uB62C\uB634\uB648\uB664\uB668\uB69C\uB69D\uB6A0\uB6A4\uB6AB\uB6AC\uB6B1\uB6D4\uB6F0\uB6F4\uB6F8\uB700\uB701\uB705\uB728\uB729\uB72C\uB72F\uB730\uB738\uB739\uB73B\uB744\uB748\uB74C\uB754\uB755\uB760\uB764\uB768\uB770\uB771\uB773\uB775\uB77C\uB77D\uB780\uB784\uB78C\uB78D\uB78F\uB790\uB791\uB792\uB796\uB797"],
+ ["b741", "\uD16E", 13, "\uD17D", 6, "\uD185\uD186\uD187\uD189\uD18A"],
+ ["b761", "\uD18B", 20, "\uD1A2\uD1A3\uD1A5\uD1A6\uD1A7"],
+ ["b781", "\uD1A9", 6, "\uD1B2\uD1B4\uD1B6\uD1B7\uD1B8\uD1B9\uD1BB\uD1BD\uD1BE\uD1BF\uD1C1", 14, "\uB798\uB799\uB79C\uB7A0\uB7A8\uB7A9\uB7AB\uB7AC\uB7AD\uB7B4\uB7B5\uB7B8\uB7C7\uB7C9\uB7EC\uB7ED\uB7F0\uB7F4\uB7FC\uB7FD\uB7FF\uB800\uB801\uB807\uB808\uB809\uB80C\uB810\uB818\uB819\uB81B\uB81D\uB824\uB825\uB828\uB82C\uB834\uB835\uB837\uB838\uB839\uB840\uB844\uB851\uB853\uB85C\uB85D\uB860\uB864\uB86C\uB86D\uB86F\uB871\uB878\uB87C\uB88D\uB8A8\uB8B0\uB8B4\uB8B8\uB8C0\uB8C1\uB8C3\uB8C5\uB8CC\uB8D0\uB8D4\uB8DD\uB8DF\uB8E1\uB8E8\uB8E9\uB8EC\uB8F0\uB8F8\uB8F9\uB8FB\uB8FD\uB904\uB918\uB920\uB93C\uB93D\uB940\uB944\uB94C\uB94F\uB951\uB958\uB959\uB95C\uB960\uB968\uB969"],
+ ["b841", "\uD1D0", 7, "\uD1D9", 17],
+ ["b861", "\uD1EB", 8, "\uD1F5\uD1F6\uD1F7\uD1F9", 13],
+ ["b881", "\uD208\uD20A", 5, "\uD211", 24, "\uB96B\uB96D\uB974\uB975\uB978\uB97C\uB984\uB985\uB987\uB989\uB98A\uB98D\uB98E\uB9AC\uB9AD\uB9B0\uB9B4\uB9BC\uB9BD\uB9BF\uB9C1\uB9C8\uB9C9\uB9CC\uB9CE", 4, "\uB9D8\uB9D9\uB9DB\uB9DD\uB9DE\uB9E1\uB9E3\uB9E4\uB9E5\uB9E8\uB9EC\uB9F4\uB9F5\uB9F7\uB9F8\uB9F9\uB9FA\uBA00\uBA01\uBA08\uBA15\uBA38\uBA39\uBA3C\uBA40\uBA42\uBA48\uBA49\uBA4B\uBA4D\uBA4E\uBA53\uBA54\uBA55\uBA58\uBA5C\uBA64\uBA65\uBA67\uBA68\uBA69\uBA70\uBA71\uBA74\uBA78\uBA83\uBA84\uBA85\uBA87\uBA8C\uBAA8\uBAA9\uBAAB\uBAAC\uBAB0\uBAB2\uBAB8\uBAB9\uBABB\uBABD\uBAC4\uBAC8\uBAD8\uBAD9\uBAFC"],
+ ["b941", "\uD22A\uD22B\uD22E\uD22F\uD231\uD232\uD233\uD235", 6, "\uD23E\uD240\uD242", 5, "\uD249\uD24A\uD24B\uD24C"],
+ ["b961", "\uD24D", 14, "\uD25D", 6, "\uD265\uD266\uD267\uD268"],
+ ["b981", "\uD269", 22, "\uD282\uD283\uD285\uD286\uD287\uD289\uD28A\uD28B\uD28C\uBB00\uBB04\uBB0D\uBB0F\uBB11\uBB18\uBB1C\uBB20\uBB29\uBB2B\uBB34\uBB35\uBB36\uBB38\uBB3B\uBB3C\uBB3D\uBB3E\uBB44\uBB45\uBB47\uBB49\uBB4D\uBB4F\uBB50\uBB54\uBB58\uBB61\uBB63\uBB6C\uBB88\uBB8C\uBB90\uBBA4\uBBA8\uBBAC\uBBB4\uBBB7\uBBC0\uBBC4\uBBC8\uBBD0\uBBD3\uBBF8\uBBF9\uBBFC\uBBFF\uBC00\uBC02\uBC08\uBC09\uBC0B\uBC0C\uBC0D\uBC0F\uBC11\uBC14", 4, "\uBC1B", 4, "\uBC24\uBC25\uBC27\uBC29\uBC2D\uBC30\uBC31\uBC34\uBC38\uBC40\uBC41\uBC43\uBC44\uBC45\uBC49\uBC4C\uBC4D\uBC50\uBC5D\uBC84\uBC85\uBC88\uBC8B\uBC8C\uBC8E\uBC94\uBC95\uBC97"],
+ ["ba41", "\uD28D\uD28E\uD28F\uD292\uD293\uD294\uD296", 5, "\uD29D\uD29E\uD29F\uD2A1\uD2A2\uD2A3\uD2A5", 6, "\uD2AD"],
+ ["ba61", "\uD2AE\uD2AF\uD2B0\uD2B2", 5, "\uD2BA\uD2BB\uD2BD\uD2BE\uD2C1\uD2C3", 4, "\uD2CA\uD2CC", 5],
+ ["ba81", "\uD2D2\uD2D3\uD2D5\uD2D6\uD2D7\uD2D9\uD2DA\uD2DB\uD2DD", 6, "\uD2E6", 9, "\uD2F2\uD2F3\uD2F5\uD2F6\uD2F7\uD2F9\uD2FA\uBC99\uBC9A\uBCA0\uBCA1\uBCA4\uBCA7\uBCA8\uBCB0\uBCB1\uBCB3\uBCB4\uBCB5\uBCBC\uBCBD\uBCC0\uBCC4\uBCCD\uBCCF\uBCD0\uBCD1\uBCD5\uBCD8\uBCDC\uBCF4\uBCF5\uBCF6\uBCF8\uBCFC\uBD04\uBD05\uBD07\uBD09\uBD10\uBD14\uBD24\uBD2C\uBD40\uBD48\uBD49\uBD4C\uBD50\uBD58\uBD59\uBD64\uBD68\uBD80\uBD81\uBD84\uBD87\uBD88\uBD89\uBD8A\uBD90\uBD91\uBD93\uBD95\uBD99\uBD9A\uBD9C\uBDA4\uBDB0\uBDB8\uBDD4\uBDD5\uBDD8\uBDDC\uBDE9\uBDF0\uBDF4\uBDF8\uBE00\uBE03\uBE05\uBE0C\uBE0D\uBE10\uBE14\uBE1C\uBE1D\uBE1F\uBE44\uBE45\uBE48\uBE4C\uBE4E\uBE54\uBE55\uBE57\uBE59\uBE5A\uBE5B\uBE60\uBE61\uBE64"],
+ ["bb41", "\uD2FB", 4, "\uD302\uD304\uD306", 5, "\uD30F\uD311\uD312\uD313\uD315\uD317", 4, "\uD31E\uD322\uD323"],
+ ["bb61", "\uD324\uD326\uD327\uD32A\uD32B\uD32D\uD32E\uD32F\uD331", 6, "\uD33A\uD33E", 5, "\uD346\uD347\uD348\uD349"],
+ ["bb81", "\uD34A", 31, "\uBE68\uBE6A\uBE70\uBE71\uBE73\uBE74\uBE75\uBE7B\uBE7C\uBE7D\uBE80\uBE84\uBE8C\uBE8D\uBE8F\uBE90\uBE91\uBE98\uBE99\uBEA8\uBED0\uBED1\uBED4\uBED7\uBED8\uBEE0\uBEE3\uBEE4\uBEE5\uBEEC\uBF01\uBF08\uBF09\uBF18\uBF19\uBF1B\uBF1C\uBF1D\uBF40\uBF41\uBF44\uBF48\uBF50\uBF51\uBF55\uBF94\uBFB0\uBFC5\uBFCC\uBFCD\uBFD0\uBFD4\uBFDC\uBFDF\uBFE1\uC03C\uC051\uC058\uC05C\uC060\uC068\uC069\uC090\uC091\uC094\uC098\uC0A0\uC0A1\uC0A3\uC0A5\uC0AC\uC0AD\uC0AF\uC0B0\uC0B3\uC0B4\uC0B5\uC0B6\uC0BC\uC0BD\uC0BF\uC0C0\uC0C1\uC0C5\uC0C8\uC0C9\uC0CC\uC0D0\uC0D8\uC0D9\uC0DB\uC0DC\uC0DD\uC0E4"],
+ ["bc41", "\uD36A", 17, "\uD37E\uD37F\uD381\uD382\uD383\uD385\uD386\uD387"],
+ ["bc61", "\uD388\uD389\uD38A\uD38B\uD38E\uD392", 5, "\uD39A\uD39B\uD39D\uD39E\uD39F\uD3A1", 6, "\uD3AA\uD3AC\uD3AE"],
+ ["bc81", "\uD3AF", 4, "\uD3B5\uD3B6\uD3B7\uD3B9\uD3BA\uD3BB\uD3BD", 6, "\uD3C6\uD3C7\uD3CA", 5, "\uD3D1", 5, "\uC0E5\uC0E8\uC0EC\uC0F4\uC0F5\uC0F7\uC0F9\uC100\uC104\uC108\uC110\uC115\uC11C", 4, "\uC123\uC124\uC126\uC127\uC12C\uC12D\uC12F\uC130\uC131\uC136\uC138\uC139\uC13C\uC140\uC148\uC149\uC14B\uC14C\uC14D\uC154\uC155\uC158\uC15C\uC164\uC165\uC167\uC168\uC169\uC170\uC174\uC178\uC185\uC18C\uC18D\uC18E\uC190\uC194\uC196\uC19C\uC19D\uC19F\uC1A1\uC1A5\uC1A8\uC1A9\uC1AC\uC1B0\uC1BD\uC1C4\uC1C8\uC1CC\uC1D4\uC1D7\uC1D8\uC1E0\uC1E4\uC1E8\uC1F0\uC1F1\uC1F3\uC1FC\uC1FD\uC200\uC204\uC20C\uC20D\uC20F\uC211\uC218\uC219\uC21C\uC21F\uC220\uC228\uC229\uC22B\uC22D"],
+ ["bd41", "\uD3D7\uD3D9", 7, "\uD3E2\uD3E4", 7, "\uD3EE\uD3EF\uD3F1\uD3F2\uD3F3\uD3F5\uD3F6\uD3F7"],
+ ["bd61", "\uD3F8\uD3F9\uD3FA\uD3FB\uD3FE\uD400\uD402", 5, "\uD409", 13],
+ ["bd81", "\uD417", 5, "\uD41E", 25, "\uC22F\uC231\uC232\uC234\uC248\uC250\uC251\uC254\uC258\uC260\uC265\uC26C\uC26D\uC270\uC274\uC27C\uC27D\uC27F\uC281\uC288\uC289\uC290\uC298\uC29B\uC29D\uC2A4\uC2A5\uC2A8\uC2AC\uC2AD\uC2B4\uC2B5\uC2B7\uC2B9\uC2DC\uC2DD\uC2E0\uC2E3\uC2E4\uC2EB\uC2EC\uC2ED\uC2EF\uC2F1\uC2F6\uC2F8\uC2F9\uC2FB\uC2FC\uC300\uC308\uC309\uC30C\uC30D\uC313\uC314\uC315\uC318\uC31C\uC324\uC325\uC328\uC329\uC345\uC368\uC369\uC36C\uC370\uC372\uC378\uC379\uC37C\uC37D\uC384\uC388\uC38C\uC3C0\uC3D8\uC3D9\uC3DC\uC3DF\uC3E0\uC3E2\uC3E8\uC3E9\uC3ED\uC3F4\uC3F5\uC3F8\uC408\uC410\uC424\uC42C\uC430"],
+ ["be41", "\uD438", 7, "\uD441\uD442\uD443\uD445", 14],
+ ["be61", "\uD454", 7, "\uD45D\uD45E\uD45F\uD461\uD462\uD463\uD465", 7, "\uD46E\uD470\uD471\uD472"],
+ ["be81", "\uD473", 4, "\uD47A\uD47B\uD47D\uD47E\uD481\uD483", 4, "\uD48A\uD48C\uD48E", 5, "\uD495", 8, "\uC434\uC43C\uC43D\uC448\uC464\uC465\uC468\uC46C\uC474\uC475\uC479\uC480\uC494\uC49C\uC4B8\uC4BC\uC4E9\uC4F0\uC4F1\uC4F4\uC4F8\uC4FA\uC4FF\uC500\uC501\uC50C\uC510\uC514\uC51C\uC528\uC529\uC52C\uC530\uC538\uC539\uC53B\uC53D\uC544\uC545\uC548\uC549\uC54A\uC54C\uC54D\uC54E\uC553\uC554\uC555\uC557\uC558\uC559\uC55D\uC55E\uC560\uC561\uC564\uC568\uC570\uC571\uC573\uC574\uC575\uC57C\uC57D\uC580\uC584\uC587\uC58C\uC58D\uC58F\uC591\uC595\uC597\uC598\uC59C\uC5A0\uC5A9\uC5B4\uC5B5\uC5B8\uC5B9\uC5BB\uC5BC\uC5BD\uC5BE\uC5C4", 6, "\uC5CC\uC5CE"],
+ ["bf41", "\uD49E", 10, "\uD4AA", 14],
+ ["bf61", "\uD4B9", 18, "\uD4CD\uD4CE\uD4CF\uD4D1\uD4D2\uD4D3\uD4D5"],
+ ["bf81", "\uD4D6", 5, "\uD4DD\uD4DE\uD4E0", 7, "\uD4E9\uD4EA\uD4EB\uD4ED\uD4EE\uD4EF\uD4F1", 6, "\uD4F9\uD4FA\uD4FC\uC5D0\uC5D1\uC5D4\uC5D8\uC5E0\uC5E1\uC5E3\uC5E5\uC5EC\uC5ED\uC5EE\uC5F0\uC5F4\uC5F6\uC5F7\uC5FC", 5, "\uC605\uC606\uC607\uC608\uC60C\uC610\uC618\uC619\uC61B\uC61C\uC624\uC625\uC628\uC62C\uC62D\uC62E\uC630\uC633\uC634\uC635\uC637\uC639\uC63B\uC640\uC641\uC644\uC648\uC650\uC651\uC653\uC654\uC655\uC65C\uC65D\uC660\uC66C\uC66F\uC671\uC678\uC679\uC67C\uC680\uC688\uC689\uC68B\uC68D\uC694\uC695\uC698\uC69C\uC6A4\uC6A5\uC6A7\uC6A9\uC6B0\uC6B1\uC6B4\uC6B8\uC6B9\uC6BA\uC6C0\uC6C1\uC6C3\uC6C5\uC6CC\uC6CD\uC6D0\uC6D4\uC6DC\uC6DD\uC6E0\uC6E1\uC6E8"],
+ ["c041", "\uD4FE", 5, "\uD505\uD506\uD507\uD509\uD50A\uD50B\uD50D", 6, "\uD516\uD518", 5],
+ ["c061", "\uD51E", 25],
+ ["c081", "\uD538\uD539\uD53A\uD53B\uD53E\uD53F\uD541\uD542\uD543\uD545", 6, "\uD54E\uD550\uD552", 5, "\uD55A\uD55B\uD55D\uD55E\uD55F\uD561\uD562\uD563\uC6E9\uC6EC\uC6F0\uC6F8\uC6F9\uC6FD\uC704\uC705\uC708\uC70C\uC714\uC715\uC717\uC719\uC720\uC721\uC724\uC728\uC730\uC731\uC733\uC735\uC737\uC73C\uC73D\uC740\uC744\uC74A\uC74C\uC74D\uC74F\uC751", 7, "\uC75C\uC760\uC768\uC76B\uC774\uC775\uC778\uC77C\uC77D\uC77E\uC783\uC784\uC785\uC787\uC788\uC789\uC78A\uC78E\uC790\uC791\uC794\uC796\uC797\uC798\uC79A\uC7A0\uC7A1\uC7A3\uC7A4\uC7A5\uC7A6\uC7AC\uC7AD\uC7B0\uC7B4\uC7BC\uC7BD\uC7BF\uC7C0\uC7C1\uC7C8\uC7C9\uC7CC\uC7CE\uC7D0\uC7D8\uC7DD\uC7E4\uC7E8\uC7EC\uC800\uC801\uC804\uC808\uC80A"],
+ ["c141", "\uD564\uD566\uD567\uD56A\uD56C\uD56E", 5, "\uD576\uD577\uD579\uD57A\uD57B\uD57D", 6, "\uD586\uD58A\uD58B"],
+ ["c161", "\uD58C\uD58D\uD58E\uD58F\uD591", 19, "\uD5A6\uD5A7"],
+ ["c181", "\uD5A8", 31, "\uC810\uC811\uC813\uC815\uC816\uC81C\uC81D\uC820\uC824\uC82C\uC82D\uC82F\uC831\uC838\uC83C\uC840\uC848\uC849\uC84C\uC84D\uC854\uC870\uC871\uC874\uC878\uC87A\uC880\uC881\uC883\uC885\uC886\uC887\uC88B\uC88C\uC88D\uC894\uC89D\uC89F\uC8A1\uC8A8\uC8BC\uC8BD\uC8C4\uC8C8\uC8CC\uC8D4\uC8D5\uC8D7\uC8D9\uC8E0\uC8E1\uC8E4\uC8F5\uC8FC\uC8FD\uC900\uC904\uC905\uC906\uC90C\uC90D\uC90F\uC911\uC918\uC92C\uC934\uC950\uC951\uC954\uC958\uC960\uC961\uC963\uC96C\uC970\uC974\uC97C\uC988\uC989\uC98C\uC990\uC998\uC999\uC99B\uC99D\uC9C0\uC9C1\uC9C4\uC9C7\uC9C8\uC9CA\uC9D0\uC9D1\uC9D3"],
+ ["c241", "\uD5CA\uD5CB\uD5CD\uD5CE\uD5CF\uD5D1\uD5D3", 4, "\uD5DA\uD5DC\uD5DE", 5, "\uD5E6\uD5E7\uD5E9\uD5EA\uD5EB\uD5ED\uD5EE"],
+ ["c261", "\uD5EF", 4, "\uD5F6\uD5F8\uD5FA", 5, "\uD602\uD603\uD605\uD606\uD607\uD609", 6, "\uD612"],
+ ["c281", "\uD616", 5, "\uD61D\uD61E\uD61F\uD621\uD622\uD623\uD625", 7, "\uD62E", 9, "\uD63A\uD63B\uC9D5\uC9D6\uC9D9\uC9DA\uC9DC\uC9DD\uC9E0\uC9E2\uC9E4\uC9E7\uC9EC\uC9ED\uC9EF\uC9F0\uC9F1\uC9F8\uC9F9\uC9FC\uCA00\uCA08\uCA09\uCA0B\uCA0C\uCA0D\uCA14\uCA18\uCA29\uCA4C\uCA4D\uCA50\uCA54\uCA5C\uCA5D\uCA5F\uCA60\uCA61\uCA68\uCA7D\uCA84\uCA98\uCABC\uCABD\uCAC0\uCAC4\uCACC\uCACD\uCACF\uCAD1\uCAD3\uCAD8\uCAD9\uCAE0\uCAEC\uCAF4\uCB08\uCB10\uCB14\uCB18\uCB20\uCB21\uCB41\uCB48\uCB49\uCB4C\uCB50\uCB58\uCB59\uCB5D\uCB64\uCB78\uCB79\uCB9C\uCBB8\uCBD4\uCBE4\uCBE7\uCBE9\uCC0C\uCC0D\uCC10\uCC14\uCC1C\uCC1D\uCC21\uCC22\uCC27\uCC28\uCC29\uCC2C\uCC2E\uCC30\uCC38\uCC39\uCC3B"],
+ ["c341", "\uD63D\uD63E\uD63F\uD641\uD642\uD643\uD644\uD646\uD647\uD64A\uD64C\uD64E\uD64F\uD650\uD652\uD653\uD656\uD657\uD659\uD65A\uD65B\uD65D", 4],
+ ["c361", "\uD662", 4, "\uD668\uD66A", 5, "\uD672\uD673\uD675", 11],
+ ["c381", "\uD681\uD682\uD684\uD686", 5, "\uD68E\uD68F\uD691\uD692\uD693\uD695", 7, "\uD69E\uD6A0\uD6A2", 5, "\uD6A9\uD6AA\uCC3C\uCC3D\uCC3E\uCC44\uCC45\uCC48\uCC4C\uCC54\uCC55\uCC57\uCC58\uCC59\uCC60\uCC64\uCC66\uCC68\uCC70\uCC75\uCC98\uCC99\uCC9C\uCCA0\uCCA8\uCCA9\uCCAB\uCCAC\uCCAD\uCCB4\uCCB5\uCCB8\uCCBC\uCCC4\uCCC5\uCCC7\uCCC9\uCCD0\uCCD4\uCCE4\uCCEC\uCCF0\uCD01\uCD08\uCD09\uCD0C\uCD10\uCD18\uCD19\uCD1B\uCD1D\uCD24\uCD28\uCD2C\uCD39\uCD5C\uCD60\uCD64\uCD6C\uCD6D\uCD6F\uCD71\uCD78\uCD88\uCD94\uCD95\uCD98\uCD9C\uCDA4\uCDA5\uCDA7\uCDA9\uCDB0\uCDC4\uCDCC\uCDD0\uCDE8\uCDEC\uCDF0\uCDF8\uCDF9\uCDFB\uCDFD\uCE04\uCE08\uCE0C\uCE14\uCE19\uCE20\uCE21\uCE24\uCE28\uCE30\uCE31\uCE33\uCE35"],
+ ["c441", "\uD6AB\uD6AD\uD6AE\uD6AF\uD6B1", 7, "\uD6BA\uD6BC", 7, "\uD6C6\uD6C7\uD6C9\uD6CA\uD6CB"],
+ ["c461", "\uD6CD\uD6CE\uD6CF\uD6D0\uD6D2\uD6D3\uD6D5\uD6D6\uD6D8\uD6DA", 5, "\uD6E1\uD6E2\uD6E3\uD6E5\uD6E6\uD6E7\uD6E9", 4],
+ ["c481", "\uD6EE\uD6EF\uD6F1\uD6F2\uD6F3\uD6F4\uD6F6", 5, "\uD6FE\uD6FF\uD701\uD702\uD703\uD705", 11, "\uD712\uD713\uD714\uCE58\uCE59\uCE5C\uCE5F\uCE60\uCE61\uCE68\uCE69\uCE6B\uCE6D\uCE74\uCE75\uCE78\uCE7C\uCE84\uCE85\uCE87\uCE89\uCE90\uCE91\uCE94\uCE98\uCEA0\uCEA1\uCEA3\uCEA4\uCEA5\uCEAC\uCEAD\uCEC1\uCEE4\uCEE5\uCEE8\uCEEB\uCEEC\uCEF4\uCEF5\uCEF7\uCEF8\uCEF9\uCF00\uCF01\uCF04\uCF08\uCF10\uCF11\uCF13\uCF15\uCF1C\uCF20\uCF24\uCF2C\uCF2D\uCF2F\uCF30\uCF31\uCF38\uCF54\uCF55\uCF58\uCF5C\uCF64\uCF65\uCF67\uCF69\uCF70\uCF71\uCF74\uCF78\uCF80\uCF85\uCF8C\uCFA1\uCFA8\uCFB0\uCFC4\uCFE0\uCFE1\uCFE4\uCFE8\uCFF0\uCFF1\uCFF3\uCFF5\uCFFC\uD000\uD004\uD011\uD018\uD02D\uD034\uD035\uD038\uD03C"],
+ ["c541", "\uD715\uD716\uD717\uD71A\uD71B\uD71D\uD71E\uD71F\uD721", 6, "\uD72A\uD72C\uD72E", 5, "\uD736\uD737\uD739"],
+ ["c561", "\uD73A\uD73B\uD73D", 6, "\uD745\uD746\uD748\uD74A", 5, "\uD752\uD753\uD755\uD75A", 4],
+ ["c581", "\uD75F\uD762\uD764\uD766\uD767\uD768\uD76A\uD76B\uD76D\uD76E\uD76F\uD771\uD772\uD773\uD775", 6, "\uD77E\uD77F\uD780\uD782", 5, "\uD78A\uD78B\uD044\uD045\uD047\uD049\uD050\uD054\uD058\uD060\uD06C\uD06D\uD070\uD074\uD07C\uD07D\uD081\uD0A4\uD0A5\uD0A8\uD0AC\uD0B4\uD0B5\uD0B7\uD0B9\uD0C0\uD0C1\uD0C4\uD0C8\uD0C9\uD0D0\uD0D1\uD0D3\uD0D4\uD0D5\uD0DC\uD0DD\uD0E0\uD0E4\uD0EC\uD0ED\uD0EF\uD0F0\uD0F1\uD0F8\uD10D\uD130\uD131\uD134\uD138\uD13A\uD140\uD141\uD143\uD144\uD145\uD14C\uD14D\uD150\uD154\uD15C\uD15D\uD15F\uD161\uD168\uD16C\uD17C\uD184\uD188\uD1A0\uD1A1\uD1A4\uD1A8\uD1B0\uD1B1\uD1B3\uD1B5\uD1BA\uD1BC\uD1C0\uD1D8\uD1F4\uD1F8\uD207\uD209\uD210\uD22C\uD22D\uD230\uD234\uD23C\uD23D\uD23F\uD241\uD248\uD25C"],
+ ["c641", "\uD78D\uD78E\uD78F\uD791", 6, "\uD79A\uD79C\uD79E", 5],
+ ["c6a1", "\uD264\uD280\uD281\uD284\uD288\uD290\uD291\uD295\uD29C\uD2A0\uD2A4\uD2AC\uD2B1\uD2B8\uD2B9\uD2BC\uD2BF\uD2C0\uD2C2\uD2C8\uD2C9\uD2CB\uD2D4\uD2D8\uD2DC\uD2E4\uD2E5\uD2F0\uD2F1\uD2F4\uD2F8\uD300\uD301\uD303\uD305\uD30C\uD30D\uD30E\uD310\uD314\uD316\uD31C\uD31D\uD31F\uD320\uD321\uD325\uD328\uD329\uD32C\uD330\uD338\uD339\uD33B\uD33C\uD33D\uD344\uD345\uD37C\uD37D\uD380\uD384\uD38C\uD38D\uD38F\uD390\uD391\uD398\uD399\uD39C\uD3A0\uD3A8\uD3A9\uD3AB\uD3AD\uD3B4\uD3B8\uD3BC\uD3C4\uD3C5\uD3C8\uD3C9\uD3D0\uD3D8\uD3E1\uD3E3\uD3EC\uD3ED\uD3F0\uD3F4\uD3FC\uD3FD\uD3FF\uD401"],
+ ["c7a1", "\uD408\uD41D\uD440\uD444\uD45C\uD460\uD464\uD46D\uD46F\uD478\uD479\uD47C\uD47F\uD480\uD482\uD488\uD489\uD48B\uD48D\uD494\uD4A9\uD4CC\uD4D0\uD4D4\uD4DC\uD4DF\uD4E8\uD4EC\uD4F0\uD4F8\uD4FB\uD4FD\uD504\uD508\uD50C\uD514\uD515\uD517\uD53C\uD53D\uD540\uD544\uD54C\uD54D\uD54F\uD551\uD558\uD559\uD55C\uD560\uD565\uD568\uD569\uD56B\uD56D\uD574\uD575\uD578\uD57C\uD584\uD585\uD587\uD588\uD589\uD590\uD5A5\uD5C8\uD5C9\uD5CC\uD5D0\uD5D2\uD5D8\uD5D9\uD5DB\uD5DD\uD5E4\uD5E5\uD5E8\uD5EC\uD5F4\uD5F5\uD5F7\uD5F9\uD600\uD601\uD604\uD608\uD610\uD611\uD613\uD614\uD615\uD61C\uD620"],
+ ["c8a1", "\uD624\uD62D\uD638\uD639\uD63C\uD640\uD645\uD648\uD649\uD64B\uD64D\uD651\uD654\uD655\uD658\uD65C\uD667\uD669\uD670\uD671\uD674\uD683\uD685\uD68C\uD68D\uD690\uD694\uD69D\uD69F\uD6A1\uD6A8\uD6AC\uD6B0\uD6B9\uD6BB\uD6C4\uD6C5\uD6C8\uD6CC\uD6D1\uD6D4\uD6D7\uD6D9\uD6E0\uD6E4\uD6E8\uD6F0\uD6F5\uD6FC\uD6FD\uD700\uD704\uD711\uD718\uD719\uD71C\uD720\uD728\uD729\uD72B\uD72D\uD734\uD735\uD738\uD73C\uD744\uD747\uD749\uD750\uD751\uD754\uD756\uD757\uD758\uD759\uD760\uD761\uD763\uD765\uD769\uD76C\uD770\uD774\uD77C\uD77D\uD781\uD788\uD789\uD78C\uD790\uD798\uD799\uD79B\uD79D"],
+ ["caa1", "\u4F3D\u4F73\u5047\u50F9\u52A0\u53EF\u5475\u54E5\u5609\u5AC1\u5BB6\u6687\u67B6\u67B7\u67EF\u6B4C\u73C2\u75C2\u7A3C\u82DB\u8304\u8857\u8888\u8A36\u8CC8\u8DCF\u8EFB\u8FE6\u99D5\u523B\u5374\u5404\u606A\u6164\u6BBC\u73CF\u811A\u89BA\u89D2\u95A3\u4F83\u520A\u58BE\u5978\u59E6\u5E72\u5E79\u61C7\u63C0\u6746\u67EC\u687F\u6F97\u764E\u770B\u78F5\u7A08\u7AFF\u7C21\u809D\u826E\u8271\u8AEB\u9593\u4E6B\u559D\u66F7\u6E34\u78A3\u7AED\u845B\u8910\u874E\u97A8\u52D8\u574E\u582A\u5D4C\u611F\u61BE\u6221\u6562\u67D1\u6A44\u6E1B\u7518\u75B3\u76E3\u77B0\u7D3A\u90AF\u9451\u9452\u9F95"],
+ ["cba1", "\u5323\u5CAC\u7532\u80DB\u9240\u9598\u525B\u5808\u59DC\u5CA1\u5D17\u5EB7\u5F3A\u5F4A\u6177\u6C5F\u757A\u7586\u7CE0\u7D73\u7DB1\u7F8C\u8154\u8221\u8591\u8941\u8B1B\u92FC\u964D\u9C47\u4ECB\u4EF7\u500B\u51F1\u584F\u6137\u613E\u6168\u6539\u69EA\u6F11\u75A5\u7686\u76D6\u7B87\u82A5\u84CB\uF900\u93A7\u958B\u5580\u5BA2\u5751\uF901\u7CB3\u7FB9\u91B5\u5028\u53BB\u5C45\u5DE8\u62D2\u636E\u64DA\u64E7\u6E20\u70AC\u795B\u8DDD\u8E1E\uF902\u907D\u9245\u92F8\u4E7E\u4EF6\u5065\u5DFE\u5EFA\u6106\u6957\u8171\u8654\u8E47\u9375\u9A2B\u4E5E\u5091\u6770\u6840\u5109\u528D\u5292\u6AA2"],
+ ["cca1", "\u77BC\u9210\u9ED4\u52AB\u602F\u8FF2\u5048\u61A9\u63ED\u64CA\u683C\u6A84\u6FC0\u8188\u89A1\u9694\u5805\u727D\u72AC\u7504\u7D79\u7E6D\u80A9\u898B\u8B74\u9063\u9D51\u6289\u6C7A\u6F54\u7D50\u7F3A\u8A23\u517C\u614A\u7B9D\u8B19\u9257\u938C\u4EAC\u4FD3\u501E\u50BE\u5106\u52C1\u52CD\u537F\u5770\u5883\u5E9A\u5F91\u6176\u61AC\u64CE\u656C\u666F\u66BB\u66F4\u6897\u6D87\u7085\u70F1\u749F\u74A5\u74CA\u75D9\u786C\u78EC\u7ADF\u7AF6\u7D45\u7D93\u8015\u803F\u811B\u8396\u8B66\u8F15\u9015\u93E1\u9803\u9838\u9A5A\u9BE8\u4FC2\u5553\u583A\u5951\u5B63\u5C46\u60B8\u6212\u6842\u68B0"],
+ ["cda1", "\u68E8\u6EAA\u754C\u7678\u78CE\u7A3D\u7CFB\u7E6B\u7E7C\u8A08\u8AA1\u8C3F\u968E\u9DC4\u53E4\u53E9\u544A\u5471\u56FA\u59D1\u5B64\u5C3B\u5EAB\u62F7\u6537\u6545\u6572\u66A0\u67AF\u69C1\u6CBD\u75FC\u7690\u777E\u7A3F\u7F94\u8003\u80A1\u818F\u82E6\u82FD\u83F0\u85C1\u8831\u88B4\u8AA5\uF903\u8F9C\u932E\u96C7\u9867\u9AD8\u9F13\u54ED\u659B\u66F2\u688F\u7A40\u8C37\u9D60\u56F0\u5764\u5D11\u6606\u68B1\u68CD\u6EFE\u7428\u889E\u9BE4\u6C68\uF904\u9AA8\u4F9B\u516C\u5171\u529F\u5B54\u5DE5\u6050\u606D\u62F1\u63A7\u653B\u73D9\u7A7A\u86A3\u8CA2\u978F\u4E32\u5BE1\u6208\u679C\u74DC"],
+ ["cea1", "\u79D1\u83D3\u8A87\u8AB2\u8DE8\u904E\u934B\u9846\u5ED3\u69E8\u85FF\u90ED\uF905\u51A0\u5B98\u5BEC\u6163\u68FA\u6B3E\u704C\u742F\u74D8\u7BA1\u7F50\u83C5\u89C0\u8CAB\u95DC\u9928\u522E\u605D\u62EC\u9002\u4F8A\u5149\u5321\u58D9\u5EE3\u66E0\u6D38\u709A\u72C2\u73D6\u7B50\u80F1\u945B\u5366\u639B\u7F6B\u4E56\u5080\u584A\u58DE\u602A\u6127\u62D0\u69D0\u9B41\u5B8F\u7D18\u80B1\u8F5F\u4EA4\u50D1\u54AC\u55AC\u5B0C\u5DA0\u5DE7\u652A\u654E\u6821\u6A4B\u72E1\u768E\u77EF\u7D5E\u7FF9\u81A0\u854E\u86DF\u8F03\u8F4E\u90CA\u9903\u9A55\u9BAB\u4E18\u4E45\u4E5D\u4EC7\u4FF1\u5177\u52FE"],
+ ["cfa1", "\u5340\u53E3\u53E5\u548E\u5614\u5775\u57A2\u5BC7\u5D87\u5ED0\u61FC\u62D8\u6551\u67B8\u67E9\u69CB\u6B50\u6BC6\u6BEC\u6C42\u6E9D\u7078\u72D7\u7396\u7403\u77BF\u77E9\u7A76\u7D7F\u8009\u81FC\u8205\u820A\u82DF\u8862\u8B33\u8CFC\u8EC0\u9011\u90B1\u9264\u92B6\u99D2\u9A45\u9CE9\u9DD7\u9F9C\u570B\u5C40\u83CA\u97A0\u97AB\u9EB4\u541B\u7A98\u7FA4\u88D9\u8ECD\u90E1\u5800\u5C48\u6398\u7A9F\u5BAE\u5F13\u7A79\u7AAE\u828E\u8EAC\u5026\u5238\u52F8\u5377\u5708\u62F3\u6372\u6B0A\u6DC3\u7737\u53A5\u7357\u8568\u8E76\u95D5\u673A\u6AC3\u6F70\u8A6D\u8ECC\u994B\uF906\u6677\u6B78\u8CB4"],
+ ["d0a1", "\u9B3C\uF907\u53EB\u572D\u594E\u63C6\u69FB\u73EA\u7845\u7ABA\u7AC5\u7CFE\u8475\u898F\u8D73\u9035\u95A8\u52FB\u5747\u7547\u7B60\u83CC\u921E\uF908\u6A58\u514B\u524B\u5287\u621F\u68D8\u6975\u9699\u50C5\u52A4\u52E4\u61C3\u65A4\u6839\u69FF\u747E\u7B4B\u82B9\u83EB\u89B2\u8B39\u8FD1\u9949\uF909\u4ECA\u5997\u64D2\u6611\u6A8E\u7434\u7981\u79BD\u82A9\u887E\u887F\u895F\uF90A\u9326\u4F0B\u53CA\u6025\u6271\u6C72\u7D1A\u7D66\u4E98\u5162\u77DC\u80AF\u4F01\u4F0E\u5176\u5180\u55DC\u5668\u573B\u57FA\u57FC\u5914\u5947\u5993\u5BC4\u5C90\u5D0E\u5DF1\u5E7E\u5FCC\u6280\u65D7\u65E3"],
+ ["d1a1", "\u671E\u671F\u675E\u68CB\u68C4\u6A5F\u6B3A\u6C23\u6C7D\u6C82\u6DC7\u7398\u7426\u742A\u7482\u74A3\u7578\u757F\u7881\u78EF\u7941\u7947\u7948\u797A\u7B95\u7D00\u7DBA\u7F88\u8006\u802D\u808C\u8A18\u8B4F\u8C48\u8D77\u9321\u9324\u98E2\u9951\u9A0E\u9A0F\u9A65\u9E92\u7DCA\u4F76\u5409\u62EE\u6854\u91D1\u55AB\u513A\uF90B\uF90C\u5A1C\u61E6\uF90D\u62CF\u62FF\uF90E", 5, "\u90A3\uF914", 4, "\u8AFE\uF919\uF91A\uF91B\uF91C\u6696\uF91D\u7156\uF91E\uF91F\u96E3\uF920\u634F\u637A\u5357\uF921\u678F\u6960\u6E73\uF922\u7537\uF923\uF924\uF925"],
+ ["d2a1", "\u7D0D\uF926\uF927\u8872\u56CA\u5A18\uF928", 4, "\u4E43\uF92D\u5167\u5948\u67F0\u8010\uF92E\u5973\u5E74\u649A\u79CA\u5FF5\u606C\u62C8\u637B\u5BE7\u5BD7\u52AA\uF92F\u5974\u5F29\u6012\uF930\uF931\uF932\u7459\uF933", 5, "\u99D1\uF939", 10, "\u6FC3\uF944\uF945\u81BF\u8FB2\u60F1\uF946\uF947\u8166\uF948\uF949\u5C3F\uF94A", 7, "\u5AE9\u8A25\u677B\u7D10\uF952", 5, "\u80FD\uF958\uF959\u5C3C\u6CE5\u533F\u6EBA\u591A\u8336"],
+ ["d3a1", "\u4E39\u4EB6\u4F46\u55AE\u5718\u58C7\u5F56\u65B7\u65E6\u6A80\u6BB5\u6E4D\u77ED\u7AEF\u7C1E\u7DDE\u86CB\u8892\u9132\u935B\u64BB\u6FBE\u737A\u75B8\u9054\u5556\u574D\u61BA\u64D4\u66C7\u6DE1\u6E5B\u6F6D\u6FB9\u75F0\u8043\u81BD\u8541\u8983\u8AC7\u8B5A\u931F\u6C93\u7553\u7B54\u8E0F\u905D\u5510\u5802\u5858\u5E62\u6207\u649E\u68E0\u7576\u7CD6\u87B3\u9EE8\u4EE3\u5788\u576E\u5927\u5C0D\u5CB1\u5E36\u5F85\u6234\u64E1\u73B3\u81FA\u888B\u8CB8\u968A\u9EDB\u5B85\u5FB7\u60B3\u5012\u5200\u5230\u5716\u5835\u5857\u5C0E\u5C60\u5CF6\u5D8B\u5EA6\u5F92\u60BC\u6311\u6389\u6417\u6843"],
+ ["d4a1", "\u68F9\u6AC2\u6DD8\u6E21\u6ED4\u6FE4\u71FE\u76DC\u7779\u79B1\u7A3B\u8404\u89A9\u8CED\u8DF3\u8E48\u9003\u9014\u9053\u90FD\u934D\u9676\u97DC\u6BD2\u7006\u7258\u72A2\u7368\u7763\u79BF\u7BE4\u7E9B\u8B80\u58A9\u60C7\u6566\u65FD\u66BE\u6C8C\u711E\u71C9\u8C5A\u9813\u4E6D\u7A81\u4EDD\u51AC\u51CD\u52D5\u540C\u61A7\u6771\u6850\u68DF\u6D1E\u6F7C\u75BC\u77B3\u7AE5\u80F4\u8463\u9285\u515C\u6597\u675C\u6793\u75D8\u7AC7\u8373\uF95A\u8C46\u9017\u982D\u5C6F\u81C0\u829A\u9041\u906F\u920D\u5F97\u5D9D\u6A59\u71C8\u767B\u7B49\u85E4\u8B04\u9127\u9A30\u5587\u61F6\uF95B\u7669\u7F85"],
+ ["d5a1", "\u863F\u87BA\u88F8\u908F\uF95C\u6D1B\u70D9\u73DE\u7D61\u843D\uF95D\u916A\u99F1\uF95E\u4E82\u5375\u6B04\u6B12\u703E\u721B\u862D\u9E1E\u524C\u8FA3\u5D50\u64E5\u652C\u6B16\u6FEB\u7C43\u7E9C\u85CD\u8964\u89BD\u62C9\u81D8\u881F\u5ECA\u6717\u6D6A\u72FC\u7405\u746F\u8782\u90DE\u4F86\u5D0D\u5FA0\u840A\u51B7\u63A0\u7565\u4EAE\u5006\u5169\u51C9\u6881\u6A11\u7CAE\u7CB1\u7CE7\u826F\u8AD2\u8F1B\u91CF\u4FB6\u5137\u52F5\u5442\u5EEC\u616E\u623E\u65C5\u6ADA\u6FFE\u792A\u85DC\u8823\u95AD\u9A62\u9A6A\u9E97\u9ECE\u529B\u66C6\u6B77\u701D\u792B\u8F62\u9742\u6190\u6200\u6523\u6F23"],
+ ["d6a1", "\u7149\u7489\u7DF4\u806F\u84EE\u8F26\u9023\u934A\u51BD\u5217\u52A3\u6D0C\u70C8\u88C2\u5EC9\u6582\u6BAE\u6FC2\u7C3E\u7375\u4EE4\u4F36\u56F9\uF95F\u5CBA\u5DBA\u601C\u73B2\u7B2D\u7F9A\u7FCE\u8046\u901E\u9234\u96F6\u9748\u9818\u9F61\u4F8B\u6FA7\u79AE\u91B4\u96B7\u52DE\uF960\u6488\u64C4\u6AD3\u6F5E\u7018\u7210\u76E7\u8001\u8606\u865C\u8DEF\u8F05\u9732\u9B6F\u9DFA\u9E75\u788C\u797F\u7DA0\u83C9\u9304\u9E7F\u9E93\u8AD6\u58DF\u5F04\u6727\u7027\u74CF\u7C60\u807E\u5121\u7028\u7262\u78CA\u8CC2\u8CDA\u8CF4\u96F7\u4E86\u50DA\u5BEE\u5ED6\u6599\u71CE\u7642\u77AD\u804A\u84FC"],
+ ["d7a1", "\u907C\u9B27\u9F8D\u58D8\u5A41\u5C62\u6A13\u6DDA\u6F0F\u763B\u7D2F\u7E37\u851E\u8938\u93E4\u964B\u5289\u65D2\u67F3\u69B4\u6D41\u6E9C\u700F\u7409\u7460\u7559\u7624\u786B\u8B2C\u985E\u516D\u622E\u9678\u4F96\u502B\u5D19\u6DEA\u7DB8\u8F2A\u5F8B\u6144\u6817\uF961\u9686\u52D2\u808B\u51DC\u51CC\u695E\u7A1C\u7DBE\u83F1\u9675\u4FDA\u5229\u5398\u540F\u550E\u5C65\u60A7\u674E\u68A8\u6D6C\u7281\u72F8\u7406\u7483\uF962\u75E2\u7C6C\u7F79\u7FB8\u8389\u88CF\u88E1\u91CC\u91D0\u96E2\u9BC9\u541D\u6F7E\u71D0\u7498\u85FA\u8EAA\u96A3\u9C57\u9E9F\u6797\u6DCB\u7433\u81E8\u9716\u782C"],
+ ["d8a1", "\u7ACB\u7B20\u7C92\u6469\u746A\u75F2\u78BC\u78E8\u99AC\u9B54\u9EBB\u5BDE\u5E55\u6F20\u819C\u83AB\u9088\u4E07\u534D\u5A29\u5DD2\u5F4E\u6162\u633D\u6669\u66FC\u6EFF\u6F2B\u7063\u779E\u842C\u8513\u883B\u8F13\u9945\u9C3B\u551C\u62B9\u672B\u6CAB\u8309\u896A\u977A\u4EA1\u5984\u5FD8\u5FD9\u671B\u7DB2\u7F54\u8292\u832B\u83BD\u8F1E\u9099\u57CB\u59B9\u5A92\u5BD0\u6627\u679A\u6885\u6BCF\u7164\u7F75\u8CB7\u8CE3\u9081\u9B45\u8108\u8C8A\u964C\u9A40\u9EA5\u5B5F\u6C13\u731B\u76F2\u76DF\u840C\u51AA\u8993\u514D\u5195\u52C9\u68C9\u6C94\u7704\u7720\u7DBF\u7DEC\u9762\u9EB5\u6EC5"],
+ ["d9a1", "\u8511\u51A5\u540D\u547D\u660E\u669D\u6927\u6E9F\u76BF\u7791\u8317\u84C2\u879F\u9169\u9298\u9CF4\u8882\u4FAE\u5192\u52DF\u59C6\u5E3D\u6155\u6478\u6479\u66AE\u67D0\u6A21\u6BCD\u6BDB\u725F\u7261\u7441\u7738\u77DB\u8017\u82BC\u8305\u8B00\u8B28\u8C8C\u6728\u6C90\u7267\u76EE\u7766\u7A46\u9DA9\u6B7F\u6C92\u5922\u6726\u8499\u536F\u5893\u5999\u5EDF\u63CF\u6634\u6773\u6E3A\u732B\u7AD7\u82D7\u9328\u52D9\u5DEB\u61AE\u61CB\u620A\u62C7\u64AB\u65E0\u6959\u6B66\u6BCB\u7121\u73F7\u755D\u7E46\u821E\u8302\u856A\u8AA3\u8CBF\u9727\u9D61\u58A8\u9ED8\u5011\u520E\u543B\u554F\u6587"],
+ ["daa1", "\u6C76\u7D0A\u7D0B\u805E\u868A\u9580\u96EF\u52FF\u6C95\u7269\u5473\u5A9A\u5C3E\u5D4B\u5F4C\u5FAE\u672A\u68B6\u6963\u6E3C\u6E44\u7709\u7C73\u7F8E\u8587\u8B0E\u8FF7\u9761\u9EF4\u5CB7\u60B6\u610D\u61AB\u654F\u65FB\u65FC\u6C11\u6CEF\u739F\u73C9\u7DE1\u9594\u5BC6\u871C\u8B10\u525D\u535A\u62CD\u640F\u64B2\u6734\u6A38\u6CCA\u73C0\u749E\u7B94\u7C95\u7E1B\u818A\u8236\u8584\u8FEB\u96F9\u99C1\u4F34\u534A\u53CD\u53DB\u62CC\u642C\u6500\u6591\u69C3\u6CEE\u6F58\u73ED\u7554\u7622\u76E4\u76FC\u78D0\u78FB\u792C\u7D46\u822C\u87E0\u8FD4\u9812\u98EF\u52C3\u62D4\u64A5\u6E24\u6F51"],
+ ["dba1", "\u767C\u8DCB\u91B1\u9262\u9AEE\u9B43\u5023\u508D\u574A\u59A8\u5C28\u5E47\u5F77\u623F\u653E\u65B9\u65C1\u6609\u678B\u699C\u6EC2\u78C5\u7D21\u80AA\u8180\u822B\u82B3\u84A1\u868C\u8A2A\u8B17\u90A6\u9632\u9F90\u500D\u4FF3\uF963\u57F9\u5F98\u62DC\u6392\u676F\u6E43\u7119\u76C3\u80CC\u80DA\u88F4\u88F5\u8919\u8CE0\u8F29\u914D\u966A\u4F2F\u4F70\u5E1B\u67CF\u6822\u767D\u767E\u9B44\u5E61\u6A0A\u7169\u71D4\u756A\uF964\u7E41\u8543\u85E9\u98DC\u4F10\u7B4F\u7F70\u95A5\u51E1\u5E06\u68B5\u6C3E\u6C4E\u6CDB\u72AF\u7BC4\u8303\u6CD5\u743A\u50FB\u5288\u58C1\u64D8\u6A97\u74A7\u7656"],
+ ["dca1", "\u78A7\u8617\u95E2\u9739\uF965\u535E\u5F01\u8B8A\u8FA8\u8FAF\u908A\u5225\u77A5\u9C49\u9F08\u4E19\u5002\u5175\u5C5B\u5E77\u661E\u663A\u67C4\u68C5\u70B3\u7501\u75C5\u79C9\u7ADD\u8F27\u9920\u9A08\u4FDD\u5821\u5831\u5BF6\u666E\u6B65\u6D11\u6E7A\u6F7D\u73E4\u752B\u83E9\u88DC\u8913\u8B5C\u8F14\u4F0F\u50D5\u5310\u535C\u5B93\u5FA9\u670D\u798F\u8179\u832F\u8514\u8907\u8986\u8F39\u8F3B\u99A5\u9C12\u672C\u4E76\u4FF8\u5949\u5C01\u5CEF\u5CF0\u6367\u68D2\u70FD\u71A2\u742B\u7E2B\u84EC\u8702\u9022\u92D2\u9CF3\u4E0D\u4ED8\u4FEF\u5085\u5256\u526F\u5426\u5490\u57E0\u592B\u5A66"],
+ ["dda1", "\u5B5A\u5B75\u5BCC\u5E9C\uF966\u6276\u6577\u65A7\u6D6E\u6EA5\u7236\u7B26\u7C3F\u7F36\u8150\u8151\u819A\u8240\u8299\u83A9\u8A03\u8CA0\u8CE6\u8CFB\u8D74\u8DBA\u90E8\u91DC\u961C\u9644\u99D9\u9CE7\u5317\u5206\u5429\u5674\u58B3\u5954\u596E\u5FFF\u61A4\u626E\u6610\u6C7E\u711A\u76C6\u7C89\u7CDE\u7D1B\u82AC\u8CC1\u96F0\uF967\u4F5B\u5F17\u5F7F\u62C2\u5D29\u670B\u68DA\u787C\u7E43\u9D6C\u4E15\u5099\u5315\u532A\u5351\u5983\u5A62\u5E87\u60B2\u618A\u6249\u6279\u6590\u6787\u69A7\u6BD4\u6BD6\u6BD7\u6BD8\u6CB8\uF968\u7435\u75FA\u7812\u7891\u79D5\u79D8\u7C83\u7DCB\u7FE1\u80A5"],
+ ["dea1", "\u813E\u81C2\u83F2\u871A\u88E8\u8AB9\u8B6C\u8CBB\u9119\u975E\u98DB\u9F3B\u56AC\u5B2A\u5F6C\u658C\u6AB3\u6BAF\u6D5C\u6FF1\u7015\u725D\u73AD\u8CA7\u8CD3\u983B\u6191\u6C37\u8058\u9A01\u4E4D\u4E8B\u4E9B\u4ED5\u4F3A\u4F3C\u4F7F\u4FDF\u50FF\u53F2\u53F8\u5506\u55E3\u56DB\u58EB\u5962\u5A11\u5BEB\u5BFA\u5C04\u5DF3\u5E2B\u5F99\u601D\u6368\u659C\u65AF\u67F6\u67FB\u68AD\u6B7B\u6C99\u6CD7\u6E23\u7009\u7345\u7802\u793E\u7940\u7960\u79C1\u7BE9\u7D17\u7D72\u8086\u820D\u838E\u84D1\u86C7\u88DF\u8A50\u8A5E\u8B1D\u8CDC\u8D66\u8FAD\u90AA\u98FC\u99DF\u9E9D\u524A\uF969\u6714\uF96A"],
+ ["dfa1", "\u5098\u522A\u5C71\u6563\u6C55\u73CA\u7523\u759D\u7B97\u849C\u9178\u9730\u4E77\u6492\u6BBA\u715E\u85A9\u4E09\uF96B\u6749\u68EE\u6E17\u829F\u8518\u886B\u63F7\u6F81\u9212\u98AF\u4E0A\u50B7\u50CF\u511F\u5546\u55AA\u5617\u5B40\u5C19\u5CE0\u5E38\u5E8A\u5EA0\u5EC2\u60F3\u6851\u6A61\u6E58\u723D\u7240\u72C0\u76F8\u7965\u7BB1\u7FD4\u88F3\u89F4\u8A73\u8C61\u8CDE\u971C\u585E\u74BD\u8CFD\u55C7\uF96C\u7A61\u7D22\u8272\u7272\u751F\u7525\uF96D\u7B19\u5885\u58FB\u5DBC\u5E8F\u5EB6\u5F90\u6055\u6292\u637F\u654D\u6691\u66D9\u66F8\u6816\u68F2\u7280\u745E\u7B6E\u7D6E\u7DD6\u7F72"],
+ ["e0a1", "\u80E5\u8212\u85AF\u897F\u8A93\u901D\u92E4\u9ECD\u9F20\u5915\u596D\u5E2D\u60DC\u6614\u6673\u6790\u6C50\u6DC5\u6F5F\u77F3\u78A9\u84C6\u91CB\u932B\u4ED9\u50CA\u5148\u5584\u5B0B\u5BA3\u6247\u657E\u65CB\u6E32\u717D\u7401\u7444\u7487\u74BF\u766C\u79AA\u7DDA\u7E55\u7FA8\u817A\u81B3\u8239\u861A\u87EC\u8A75\u8DE3\u9078\u9291\u9425\u994D\u9BAE\u5368\u5C51\u6954\u6CC4\u6D29\u6E2B\u820C\u859B\u893B\u8A2D\u8AAA\u96EA\u9F67\u5261\u66B9\u6BB2\u7E96\u87FE\u8D0D\u9583\u965D\u651D\u6D89\u71EE\uF96E\u57CE\u59D3\u5BAC\u6027\u60FA\u6210\u661F\u665F\u7329\u73F9\u76DB\u7701\u7B6C"],
+ ["e1a1", "\u8056\u8072\u8165\u8AA0\u9192\u4E16\u52E2\u6B72\u6D17\u7A05\u7B39\u7D30\uF96F\u8CB0\u53EC\u562F\u5851\u5BB5\u5C0F\u5C11\u5DE2\u6240\u6383\u6414\u662D\u68B3\u6CBC\u6D88\u6EAF\u701F\u70A4\u71D2\u7526\u758F\u758E\u7619\u7B11\u7BE0\u7C2B\u7D20\u7D39\u852C\u856D\u8607\u8A34\u900D\u9061\u90B5\u92B7\u97F6\u9A37\u4FD7\u5C6C\u675F\u6D91\u7C9F\u7E8C\u8B16\u8D16\u901F\u5B6B\u5DFD\u640D\u84C0\u905C\u98E1\u7387\u5B8B\u609A\u677E\u6DDE\u8A1F\u8AA6\u9001\u980C\u5237\uF970\u7051\u788E\u9396\u8870\u91D7\u4FEE\u53D7\u55FD\u56DA\u5782\u58FD\u5AC2\u5B88\u5CAB\u5CC0\u5E25\u6101"],
+ ["e2a1", "\u620D\u624B\u6388\u641C\u6536\u6578\u6A39\u6B8A\u6C34\u6D19\u6F31\u71E7\u72E9\u7378\u7407\u74B2\u7626\u7761\u79C0\u7A57\u7AEA\u7CB9\u7D8F\u7DAC\u7E61\u7F9E\u8129\u8331\u8490\u84DA\u85EA\u8896\u8AB0\u8B90\u8F38\u9042\u9083\u916C\u9296\u92B9\u968B\u96A7\u96A8\u96D6\u9700\u9808\u9996\u9AD3\u9B1A\u53D4\u587E\u5919\u5B70\u5BBF\u6DD1\u6F5A\u719F\u7421\u74B9\u8085\u83FD\u5DE1\u5F87\u5FAA\u6042\u65EC\u6812\u696F\u6A53\u6B89\u6D35\u6DF3\u73E3\u76FE\u77AC\u7B4D\u7D14\u8123\u821C\u8340\u84F4\u8563\u8A62\u8AC4\u9187\u931E\u9806\u99B4\u620C\u8853\u8FF0\u9265\u5D07\u5D27"],
+ ["e3a1", "\u5D69\u745F\u819D\u8768\u6FD5\u62FE\u7FD2\u8936\u8972\u4E1E\u4E58\u50E7\u52DD\u5347\u627F\u6607\u7E69\u8805\u965E\u4F8D\u5319\u5636\u59CB\u5AA4\u5C38\u5C4E\u5C4D\u5E02\u5F11\u6043\u65BD\u662F\u6642\u67BE\u67F4\u731C\u77E2\u793A\u7FC5\u8494\u84CD\u8996\u8A66\u8A69\u8AE1\u8C55\u8C7A\u57F4\u5BD4\u5F0F\u606F\u62ED\u690D\u6B96\u6E5C\u7184\u7BD2\u8755\u8B58\u8EFE\u98DF\u98FE\u4F38\u4F81\u4FE1\u547B\u5A20\u5BB8\u613C\u65B0\u6668\u71FC\u7533\u795E\u7D33\u814E\u81E3\u8398\u85AA\u85CE\u8703\u8A0A\u8EAB\u8F9B\uF971\u8FC5\u5931\u5BA4\u5BE6\u6089\u5BE9\u5C0B\u5FC3\u6C81"],
+ ["e4a1", "\uF972\u6DF1\u700B\u751A\u82AF\u8AF6\u4EC0\u5341\uF973\u96D9\u6C0F\u4E9E\u4FC4\u5152\u555E\u5A25\u5CE8\u6211\u7259\u82BD\u83AA\u86FE\u8859\u8A1D\u963F\u96C5\u9913\u9D09\u9D5D\u580A\u5CB3\u5DBD\u5E44\u60E1\u6115\u63E1\u6A02\u6E25\u9102\u9354\u984E\u9C10\u9F77\u5B89\u5CB8\u6309\u664F\u6848\u773C\u96C1\u978D\u9854\u9B9F\u65A1\u8B01\u8ECB\u95BC\u5535\u5CA9\u5DD6\u5EB5\u6697\u764C\u83F4\u95C7\u58D3\u62BC\u72CE\u9D28\u4EF0\u592E\u600F\u663B\u6B83\u79E7\u9D26\u5393\u54C0\u57C3\u5D16\u611B\u66D6\u6DAF\u788D\u827E\u9698\u9744\u5384\u627C\u6396\u6DB2\u7E0A\u814B\u984D"],
+ ["e5a1", "\u6AFB\u7F4C\u9DAF\u9E1A\u4E5F\u503B\u51B6\u591C\u60F9\u63F6\u6930\u723A\u8036\uF974\u91CE\u5F31\uF975\uF976\u7D04\u82E5\u846F\u84BB\u85E5\u8E8D\uF977\u4F6F\uF978\uF979\u58E4\u5B43\u6059\u63DA\u6518\u656D\u6698\uF97A\u694A\u6A23\u6D0B\u7001\u716C\u75D2\u760D\u79B3\u7A70\uF97B\u7F8A\uF97C\u8944\uF97D\u8B93\u91C0\u967D\uF97E\u990A\u5704\u5FA1\u65BC\u6F01\u7600\u79A6\u8A9E\u99AD\u9B5A\u9F6C\u5104\u61B6\u6291\u6A8D\u81C6\u5043\u5830\u5F66\u7109\u8A00\u8AFA\u5B7C\u8616\u4FFA\u513C\u56B4\u5944\u63A9\u6DF9\u5DAA\u696D\u5186\u4E88\u4F59\uF97F\uF980\uF981\u5982\uF982"],
+ ["e6a1", "\uF983\u6B5F\u6C5D\uF984\u74B5\u7916\uF985\u8207\u8245\u8339\u8F3F\u8F5D\uF986\u9918\uF987\uF988\uF989\u4EA6\uF98A\u57DF\u5F79\u6613\uF98B\uF98C\u75AB\u7E79\u8B6F\uF98D\u9006\u9A5B\u56A5\u5827\u59F8\u5A1F\u5BB4\uF98E\u5EF6\uF98F\uF990\u6350\u633B\uF991\u693D\u6C87\u6CBF\u6D8E\u6D93\u6DF5\u6F14\uF992\u70DF\u7136\u7159\uF993\u71C3\u71D5\uF994\u784F\u786F\uF995\u7B75\u7DE3\uF996\u7E2F\uF997\u884D\u8EDF\uF998\uF999\uF99A\u925B\uF99B\u9CF6\uF99C\uF99D\uF99E\u6085\u6D85\uF99F\u71B1\uF9A0\uF9A1\u95B1\u53AD\uF9A2\uF9A3\uF9A4\u67D3\uF9A5\u708E\u7130\u7430\u8276\u82D2"],
+ ["e7a1", "\uF9A6\u95BB\u9AE5\u9E7D\u66C4\uF9A7\u71C1\u8449\uF9A8\uF9A9\u584B\uF9AA\uF9AB\u5DB8\u5F71\uF9AC\u6620\u668E\u6979\u69AE\u6C38\u6CF3\u6E36\u6F41\u6FDA\u701B\u702F\u7150\u71DF\u7370\uF9AD\u745B\uF9AE\u74D4\u76C8\u7A4E\u7E93\uF9AF\uF9B0\u82F1\u8A60\u8FCE\uF9B1\u9348\uF9B2\u9719\uF9B3\uF9B4\u4E42\u502A\uF9B5\u5208\u53E1\u66F3\u6C6D\u6FCA\u730A\u777F\u7A62\u82AE\u85DD\u8602\uF9B6\u88D4\u8A63\u8B7D\u8C6B\uF9B7\u92B3\uF9B8\u9713\u9810\u4E94\u4F0D\u4FC9\u50B2\u5348\u543E\u5433\u55DA\u5862\u58BA\u5967\u5A1B\u5BE4\u609F\uF9B9\u61CA\u6556\u65FF\u6664\u68A7\u6C5A\u6FB3"],
+ ["e8a1", "\u70CF\u71AC\u7352\u7B7D\u8708\u8AA4\u9C32\u9F07\u5C4B\u6C83\u7344\u7389\u923A\u6EAB\u7465\u761F\u7A69\u7E15\u860A\u5140\u58C5\u64C1\u74EE\u7515\u7670\u7FC1\u9095\u96CD\u9954\u6E26\u74E6\u7AA9\u7AAA\u81E5\u86D9\u8778\u8A1B\u5A49\u5B8C\u5B9B\u68A1\u6900\u6D63\u73A9\u7413\u742C\u7897\u7DE9\u7FEB\u8118\u8155\u839E\u8C4C\u962E\u9811\u66F0\u5F80\u65FA\u6789\u6C6A\u738B\u502D\u5A03\u6B6A\u77EE\u5916\u5D6C\u5DCD\u7325\u754F\uF9BA\uF9BB\u50E5\u51F9\u582F\u592D\u5996\u59DA\u5BE5\uF9BC\uF9BD\u5DA2\u62D7\u6416\u6493\u64FE\uF9BE\u66DC\uF9BF\u6A48\uF9C0\u71FF\u7464\uF9C1"],
+ ["e9a1", "\u7A88\u7AAF\u7E47\u7E5E\u8000\u8170\uF9C2\u87EF\u8981\u8B20\u9059\uF9C3\u9080\u9952\u617E\u6B32\u6D74\u7E1F\u8925\u8FB1\u4FD1\u50AD\u5197\u52C7\u57C7\u5889\u5BB9\u5EB8\u6142\u6995\u6D8C\u6E67\u6EB6\u7194\u7462\u7528\u752C\u8073\u8338\u84C9\u8E0A\u9394\u93DE\uF9C4\u4E8E\u4F51\u5076\u512A\u53C8\u53CB\u53F3\u5B87\u5BD3\u5C24\u611A\u6182\u65F4\u725B\u7397\u7440\u76C2\u7950\u7991\u79B9\u7D06\u7FBD\u828B\u85D5\u865E\u8FC2\u9047\u90F5\u91EA\u9685\u96E8\u96E9\u52D6\u5F67\u65ED\u6631\u682F\u715C\u7A36\u90C1\u980A\u4E91\uF9C5\u6A52\u6B9E\u6F90\u7189\u8018\u82B8\u8553"],
+ ["eaa1", "\u904B\u9695\u96F2\u97FB\u851A\u9B31\u4E90\u718A\u96C4\u5143\u539F\u54E1\u5713\u5712\u57A3\u5A9B\u5AC4\u5BC3\u6028\u613F\u63F4\u6C85\u6D39\u6E72\u6E90\u7230\u733F\u7457\u82D1\u8881\u8F45\u9060\uF9C6\u9662\u9858\u9D1B\u6708\u8D8A\u925E\u4F4D\u5049\u50DE\u5371\u570D\u59D4\u5A01\u5C09\u6170\u6690\u6E2D\u7232\u744B\u7DEF\u80C3\u840E\u8466\u853F\u875F\u885B\u8918\u8B02\u9055\u97CB\u9B4F\u4E73\u4F91\u5112\u516A\uF9C7\u552F\u55A9\u5B7A\u5BA5\u5E7C\u5E7D\u5EBE\u60A0\u60DF\u6108\u6109\u63C4\u6538\u6709\uF9C8\u67D4\u67DA\uF9C9\u6961\u6962\u6CB9\u6D27\uF9CA\u6E38\uF9CB"],
+ ["eba1", "\u6FE1\u7336\u7337\uF9CC\u745C\u7531\uF9CD\u7652\uF9CE\uF9CF\u7DAD\u81FE\u8438\u88D5\u8A98\u8ADB\u8AED\u8E30\u8E42\u904A\u903E\u907A\u9149\u91C9\u936E\uF9D0\uF9D1\u5809\uF9D2\u6BD3\u8089\u80B2\uF9D3\uF9D4\u5141\u596B\u5C39\uF9D5\uF9D6\u6F64\u73A7\u80E4\u8D07\uF9D7\u9217\u958F\uF9D8\uF9D9\uF9DA\uF9DB\u807F\u620E\u701C\u7D68\u878D\uF9DC\u57A0\u6069\u6147\u6BB7\u8ABE\u9280\u96B1\u4E59\u541F\u6DEB\u852D\u9670\u97F3\u98EE\u63D6\u6CE3\u9091\u51DD\u61C9\u81BA\u9DF9\u4F9D\u501A\u5100\u5B9C\u610F\u61FF\u64EC\u6905\u6BC5\u7591\u77E3\u7FA9\u8264\u858F\u87FB\u8863\u8ABC"],
+ ["eca1", "\u8B70\u91AB\u4E8C\u4EE5\u4F0A\uF9DD\uF9DE\u5937\u59E8\uF9DF\u5DF2\u5F1B\u5F5B\u6021\uF9E0\uF9E1\uF9E2\uF9E3\u723E\u73E5\uF9E4\u7570\u75CD\uF9E5\u79FB\uF9E6\u800C\u8033\u8084\u82E1\u8351\uF9E7\uF9E8\u8CBD\u8CB3\u9087\uF9E9\uF9EA\u98F4\u990C\uF9EB\uF9EC\u7037\u76CA\u7FCA\u7FCC\u7FFC\u8B1A\u4EBA\u4EC1\u5203\u5370\uF9ED\u54BD\u56E0\u59FB\u5BC5\u5F15\u5FCD\u6E6E\uF9EE\uF9EF\u7D6A\u8335\uF9F0\u8693\u8A8D\uF9F1\u976D\u9777\uF9F2\uF9F3\u4E00\u4F5A\u4F7E\u58F9\u65E5\u6EA2\u9038\u93B0\u99B9\u4EFB\u58EC\u598A\u59D9\u6041\uF9F4\uF9F5\u7A14\uF9F6\u834F\u8CC3\u5165\u5344"],
+ ["eda1", "\uF9F7\uF9F8\uF9F9\u4ECD\u5269\u5B55\u82BF\u4ED4\u523A\u54A8\u59C9\u59FF\u5B50\u5B57\u5B5C\u6063\u6148\u6ECB\u7099\u716E\u7386\u74F7\u75B5\u78C1\u7D2B\u8005\u81EA\u8328\u8517\u85C9\u8AEE\u8CC7\u96CC\u4F5C\u52FA\u56BC\u65AB\u6628\u707C\u70B8\u7235\u7DBD\u828D\u914C\u96C0\u9D72\u5B71\u68E7\u6B98\u6F7A\u76DE\u5C91\u66AB\u6F5B\u7BB4\u7C2A\u8836\u96DC\u4E08\u4ED7\u5320\u5834\u58BB\u58EF\u596C\u5C07\u5E33\u5E84\u5F35\u638C\u66B2\u6756\u6A1F\u6AA3\u6B0C\u6F3F\u7246\uF9FA\u7350\u748B\u7AE0\u7CA7\u8178\u81DF\u81E7\u838A\u846C\u8523\u8594\u85CF\u88DD\u8D13\u91AC\u9577"],
+ ["eea1", "\u969C\u518D\u54C9\u5728\u5BB0\u624D\u6750\u683D\u6893\u6E3D\u6ED3\u707D\u7E21\u88C1\u8CA1\u8F09\u9F4B\u9F4E\u722D\u7B8F\u8ACD\u931A\u4F47\u4F4E\u5132\u5480\u59D0\u5E95\u62B5\u6775\u696E\u6A17\u6CAE\u6E1A\u72D9\u732A\u75BD\u7BB8\u7D35\u82E7\u83F9\u8457\u85F7\u8A5B\u8CAF\u8E87\u9019\u90B8\u96CE\u9F5F\u52E3\u540A\u5AE1\u5BC2\u6458\u6575\u6EF4\u72C4\uF9FB\u7684\u7A4D\u7B1B\u7C4D\u7E3E\u7FDF\u837B\u8B2B\u8CCA\u8D64\u8DE1\u8E5F\u8FEA\u8FF9\u9069\u93D1\u4F43\u4F7A\u50B3\u5168\u5178\u524D\u526A\u5861\u587C\u5960\u5C08\u5C55\u5EDB\u609B\u6230\u6813\u6BBF\u6C08\u6FB1"],
+ ["efa1", "\u714E\u7420\u7530\u7538\u7551\u7672\u7B4C\u7B8B\u7BAD\u7BC6\u7E8F\u8A6E\u8F3E\u8F49\u923F\u9293\u9322\u942B\u96FB\u985A\u986B\u991E\u5207\u622A\u6298\u6D59\u7664\u7ACA\u7BC0\u7D76\u5360\u5CBE\u5E97\u6F38\u70B9\u7C98\u9711\u9B8E\u9EDE\u63A5\u647A\u8776\u4E01\u4E95\u4EAD\u505C\u5075\u5448\u59C3\u5B9A\u5E40\u5EAD\u5EF7\u5F81\u60C5\u633A\u653F\u6574\u65CC\u6676\u6678\u67FE\u6968\u6A89\u6B63\u6C40\u6DC0\u6DE8\u6E1F\u6E5E\u701E\u70A1\u738E\u73FD\u753A\u775B\u7887\u798E\u7A0B\u7A7D\u7CBE\u7D8E\u8247\u8A02\u8AEA\u8C9E\u912D\u914A\u91D8\u9266\u92CC\u9320\u9706\u9756"],
+ ["f0a1", "\u975C\u9802\u9F0E\u5236\u5291\u557C\u5824\u5E1D\u5F1F\u608C\u63D0\u68AF\u6FDF\u796D\u7B2C\u81CD\u85BA\u88FD\u8AF8\u8E44\u918D\u9664\u969B\u973D\u984C\u9F4A\u4FCE\u5146\u51CB\u52A9\u5632\u5F14\u5F6B\u63AA\u64CD\u65E9\u6641\u66FA\u66F9\u671D\u689D\u68D7\u69FD\u6F15\u6F6E\u7167\u71E5\u722A\u74AA\u773A\u7956\u795A\u79DF\u7A20\u7A95\u7C97\u7CDF\u7D44\u7E70\u8087\u85FB\u86A4\u8A54\u8ABF\u8D99\u8E81\u9020\u906D\u91E3\u963B\u96D5\u9CE5\u65CF\u7C07\u8DB3\u93C3\u5B58\u5C0A\u5352\u62D9\u731D\u5027\u5B97\u5F9E\u60B0\u616B\u68D5\u6DD9\u742E\u7A2E\u7D42\u7D9C\u7E31\u816B"],
+ ["f1a1", "\u8E2A\u8E35\u937E\u9418\u4F50\u5750\u5DE6\u5EA7\u632B\u7F6A\u4E3B\u4F4F\u4F8F\u505A\u59DD\u80C4\u546A\u5468\u55FE\u594F\u5B99\u5DDE\u5EDA\u665D\u6731\u67F1\u682A\u6CE8\u6D32\u6E4A\u6F8D\u70B7\u73E0\u7587\u7C4C\u7D02\u7D2C\u7DA2\u821F\u86DB\u8A3B\u8A85\u8D70\u8E8A\u8F33\u9031\u914E\u9152\u9444\u99D0\u7AF9\u7CA5\u4FCA\u5101\u51C6\u57C8\u5BEF\u5CFB\u6659\u6A3D\u6D5A\u6E96\u6FEC\u710C\u756F\u7AE3\u8822\u9021\u9075\u96CB\u99FF\u8301\u4E2D\u4EF2\u8846\u91CD\u537D\u6ADB\u696B\u6C41\u847A\u589E\u618E\u66FE\u62EF\u70DD\u7511\u75C7\u7E52\u84B8\u8B49\u8D08\u4E4B\u53EA"],
+ ["f2a1", "\u54AB\u5730\u5740\u5FD7\u6301\u6307\u646F\u652F\u65E8\u667A\u679D\u67B3\u6B62\u6C60\u6C9A\u6F2C\u77E5\u7825\u7949\u7957\u7D19\u80A2\u8102\u81F3\u829D\u82B7\u8718\u8A8C\uF9FC\u8D04\u8DBE\u9072\u76F4\u7A19\u7A37\u7E54\u8077\u5507\u55D4\u5875\u632F\u6422\u6649\u664B\u686D\u699B\u6B84\u6D25\u6EB1\u73CD\u7468\u74A1\u755B\u75B9\u76E1\u771E\u778B\u79E6\u7E09\u7E1D\u81FB\u852F\u8897\u8A3A\u8CD1\u8EEB\u8FB0\u9032\u93AD\u9663\u9673\u9707\u4F84\u53F1\u59EA\u5AC9\u5E19\u684E\u74C6\u75BE\u79E9\u7A92\u81A3\u86ED\u8CEA\u8DCC\u8FED\u659F\u6715\uF9FD\u57F7\u6F57\u7DDD\u8F2F"],
+ ["f3a1", "\u93F6\u96C6\u5FB5\u61F2\u6F84\u4E14\u4F98\u501F\u53C9\u55DF\u5D6F\u5DEE\u6B21\u6B64\u78CB\u7B9A\uF9FE\u8E49\u8ECA\u906E\u6349\u643E\u7740\u7A84\u932F\u947F\u9F6A\u64B0\u6FAF\u71E6\u74A8\u74DA\u7AC4\u7C12\u7E82\u7CB2\u7E98\u8B9A\u8D0A\u947D\u9910\u994C\u5239\u5BDF\u64E6\u672D\u7D2E\u50ED\u53C3\u5879\u6158\u6159\u61FA\u65AC\u7AD9\u8B92\u8B96\u5009\u5021\u5275\u5531\u5A3C\u5EE0\u5F70\u6134\u655E\u660C\u6636\u66A2\u69CD\u6EC4\u6F32\u7316\u7621\u7A93\u8139\u8259\u83D6\u84BC\u50B5\u57F0\u5BC0\u5BE8\u5F69\u63A1\u7826\u7DB5\u83DC\u8521\u91C7\u91F5\u518A\u67F5\u7B56"],
+ ["f4a1", "\u8CAC\u51C4\u59BB\u60BD\u8655\u501C\uF9FF\u5254\u5C3A\u617D\u621A\u62D3\u64F2\u65A5\u6ECC\u7620\u810A\u8E60\u965F\u96BB\u4EDF\u5343\u5598\u5929\u5DDD\u64C5\u6CC9\u6DFA\u7394\u7A7F\u821B\u85A6\u8CE4\u8E10\u9077\u91E7\u95E1\u9621\u97C6\u51F8\u54F2\u5586\u5FB9\u64A4\u6F88\u7DB4\u8F1F\u8F4D\u9435\u50C9\u5C16\u6CBE\u6DFB\u751B\u77BB\u7C3D\u7C64\u8A79\u8AC2\u581E\u59BE\u5E16\u6377\u7252\u758A\u776B\u8ADC\u8CBC\u8F12\u5EF3\u6674\u6DF8\u807D\u83C1\u8ACB\u9751\u9BD6\uFA00\u5243\u66FF\u6D95\u6EEF\u7DE0\u8AE6\u902E\u905E\u9AD4\u521D\u527F\u54E8\u6194\u6284\u62DB\u68A2"],
+ ["f5a1", "\u6912\u695A\u6A35\u7092\u7126\u785D\u7901\u790E\u79D2\u7A0D\u8096\u8278\u82D5\u8349\u8549\u8C82\u8D85\u9162\u918B\u91AE\u4FC3\u56D1\u71ED\u77D7\u8700\u89F8\u5BF8\u5FD6\u6751\u90A8\u53E2\u585A\u5BF5\u60A4\u6181\u6460\u7E3D\u8070\u8525\u9283\u64AE\u50AC\u5D14\u6700\u589C\u62BD\u63A8\u690E\u6978\u6A1E\u6E6B\u76BA\u79CB\u82BB\u8429\u8ACF\u8DA8\u8FFD\u9112\u914B\u919C\u9310\u9318\u939A\u96DB\u9A36\u9C0D\u4E11\u755C\u795D\u7AFA\u7B51\u7BC9\u7E2E\u84C4\u8E59\u8E74\u8EF8\u9010\u6625\u693F\u7443\u51FA\u672E\u9EDC\u5145\u5FE0\u6C96\u87F2\u885D\u8877\u60B4\u81B5\u8403"],
+ ["f6a1", "\u8D05\u53D6\u5439\u5634\u5A36\u5C31\u708A\u7FE0\u805A\u8106\u81ED\u8DA3\u9189\u9A5F\u9DF2\u5074\u4EC4\u53A0\u60FB\u6E2C\u5C64\u4F88\u5024\u55E4\u5CD9\u5E5F\u6065\u6894\u6CBB\u6DC4\u71BE\u75D4\u75F4\u7661\u7A1A\u7A49\u7DC7\u7DFB\u7F6E\u81F4\u86A9\u8F1C\u96C9\u99B3\u9F52\u5247\u52C5\u98ED\u89AA\u4E03\u67D2\u6F06\u4FB5\u5BE2\u6795\u6C88\u6D78\u741B\u7827\u91DD\u937C\u87C4\u79E4\u7A31\u5FEB\u4ED6\u54A4\u553E\u58AE\u59A5\u60F0\u6253\u62D6\u6736\u6955\u8235\u9640\u99B1\u99DD\u502C\u5353\u5544\u577C\uFA01\u6258\uFA02\u64E2\u666B\u67DD\u6FC1\u6FEF\u7422\u7438\u8A17"],
+ ["f7a1", "\u9438\u5451\u5606\u5766\u5F48\u619A\u6B4E\u7058\u70AD\u7DBB\u8A95\u596A\u812B\u63A2\u7708\u803D\u8CAA\u5854\u642D\u69BB\u5B95\u5E11\u6E6F\uFA03\u8569\u514C\u53F0\u592A\u6020\u614B\u6B86\u6C70\u6CF0\u7B1E\u80CE\u82D4\u8DC6\u90B0\u98B1\uFA04\u64C7\u6FA4\u6491\u6504\u514E\u5410\u571F\u8A0E\u615F\u6876\uFA05\u75DB\u7B52\u7D71\u901A\u5806\u69CC\u817F\u892A\u9000\u9839\u5078\u5957\u59AC\u6295\u900F\u9B2A\u615D\u7279\u95D6\u5761\u5A46\u5DF4\u628A\u64AD\u64FA\u6777\u6CE2\u6D3E\u722C\u7436\u7834\u7F77\u82AD\u8DDB\u9817\u5224\u5742\u677F\u7248\u74E3\u8CA9\u8FA6\u9211"],
+ ["f8a1", "\u962A\u516B\u53ED\u634C\u4F69\u5504\u6096\u6557\u6C9B\u6D7F\u724C\u72FD\u7A17\u8987\u8C9D\u5F6D\u6F8E\u70F9\u81A8\u610E\u4FBF\u504F\u6241\u7247\u7BC7\u7DE8\u7FE9\u904D\u97AD\u9A19\u8CB6\u576A\u5E73\u67B0\u840D\u8A55\u5420\u5B16\u5E63\u5EE2\u5F0A\u6583\u80BA\u853D\u9589\u965B\u4F48\u5305\u530D\u530F\u5486\u54FA\u5703\u5E03\u6016\u629B\u62B1\u6355\uFA06\u6CE1\u6D66\u75B1\u7832\u80DE\u812F\u82DE\u8461\u84B2\u888D\u8912\u900B\u92EA\u98FD\u9B91\u5E45\u66B4\u66DD\u7011\u7206\uFA07\u4FF5\u527D\u5F6A\u6153\u6753\u6A19\u6F02\u74E2\u7968\u8868\u8C79\u98C7\u98C4\u9A43"],
+ ["f9a1", "\u54C1\u7A1F\u6953\u8AF7\u8C4A\u98A8\u99AE\u5F7C\u62AB\u75B2\u76AE\u88AB\u907F\u9642\u5339\u5F3C\u5FC5\u6CCC\u73CC\u7562\u758B\u7B46\u82FE\u999D\u4E4F\u903C\u4E0B\u4F55\u53A6\u590F\u5EC8\u6630\u6CB3\u7455\u8377\u8766\u8CC0\u9050\u971E\u9C15\u58D1\u5B78\u8650\u8B14\u9DB4\u5BD2\u6068\u608D\u65F1\u6C57\u6F22\u6FA3\u701A\u7F55\u7FF0\u9591\u9592\u9650\u97D3\u5272\u8F44\u51FD\u542B\u54B8\u5563\u558A\u6ABB\u6DB5\u7DD8\u8266\u929C\u9677\u9E79\u5408\u54C8\u76D2\u86E4\u95A4\u95D4\u965C\u4EA2\u4F09\u59EE\u5AE6\u5DF7\u6052\u6297\u676D\u6841\u6C86\u6E2F\u7F38\u809B\u822A"],
+ ["faa1", "\uFA08\uFA09\u9805\u4EA5\u5055\u54B3\u5793\u595A\u5B69\u5BB3\u61C8\u6977\u6D77\u7023\u87F9\u89E3\u8A72\u8AE7\u9082\u99ED\u9AB8\u52BE\u6838\u5016\u5E78\u674F\u8347\u884C\u4EAB\u5411\u56AE\u73E6\u9115\u97FF\u9909\u9957\u9999\u5653\u589F\u865B\u8A31\u61B2\u6AF6\u737B\u8ED2\u6B47\u96AA\u9A57\u5955\u7200\u8D6B\u9769\u4FD4\u5CF4\u5F26\u61F8\u665B\u6CEB\u70AB\u7384\u73B9\u73FE\u7729\u774D\u7D43\u7D62\u7E23\u8237\u8852\uFA0A\u8CE2\u9249\u986F\u5B51\u7A74\u8840\u9801\u5ACC\u4FE0\u5354\u593E\u5CFD\u633E\u6D79\u72F9\u8105\u8107\u83A2\u92CF\u9830\u4EA8\u5144\u5211\u578B"],
+ ["fba1", "\u5F62\u6CC2\u6ECE\u7005\u7050\u70AF\u7192\u73E9\u7469\u834A\u87A2\u8861\u9008\u90A2\u93A3\u99A8\u516E\u5F57\u60E0\u6167\u66B3\u8559\u8E4A\u91AF\u978B\u4E4E\u4E92\u547C\u58D5\u58FA\u597D\u5CB5\u5F27\u6236\u6248\u660A\u6667\u6BEB\u6D69\u6DCF\u6E56\u6EF8\u6F94\u6FE0\u6FE9\u705D\u72D0\u7425\u745A\u74E0\u7693\u795C\u7CCA\u7E1E\u80E1\u82A6\u846B\u84BF\u864E\u865F\u8774\u8B77\u8C6A\u93AC\u9800\u9865\u60D1\u6216\u9177\u5A5A\u660F\u6DF7\u6E3E\u743F\u9B42\u5FFD\u60DA\u7B0F\u54C4\u5F18\u6C5E\u6CD3\u6D2A\u70D8\u7D05\u8679\u8A0C\u9D3B\u5316\u548C\u5B05\u6A3A\u706B\u7575"],
+ ["fca1", "\u798D\u79BE\u82B1\u83EF\u8A71\u8B41\u8CA8\u9774\uFA0B\u64F4\u652B\u78BA\u78BB\u7A6B\u4E38\u559A\u5950\u5BA6\u5E7B\u60A3\u63DB\u6B61\u6665\u6853\u6E19\u7165\u74B0\u7D08\u9084\u9A69\u9C25\u6D3B\u6ED1\u733E\u8C41\u95CA\u51F0\u5E4C\u5FA8\u604D\u60F6\u6130\u614C\u6643\u6644\u69A5\u6CC1\u6E5F\u6EC9\u6F62\u714C\u749C\u7687\u7BC1\u7C27\u8352\u8757\u9051\u968D\u9EC3\u532F\u56DE\u5EFB\u5F8A\u6062\u6094\u61F7\u6666\u6703\u6A9C\u6DEE\u6FAE\u7070\u736A\u7E6A\u81BE\u8334\u86D4\u8AA8\u8CC4\u5283\u7372\u5B96\u6A6B\u9404\u54EE\u5686\u5B5D\u6548\u6585\u66C9\u689F\u6D8D\u6DC6"],
+ ["fda1", "\u723B\u80B4\u9175\u9A4D\u4FAF\u5019\u539A\u540E\u543C\u5589\u55C5\u5E3F\u5F8C\u673D\u7166\u73DD\u9005\u52DB\u52F3\u5864\u58CE\u7104\u718F\u71FB\u85B0\u8A13\u6688\u85A8\u55A7\u6684\u714A\u8431\u5349\u5599\u6BC1\u5F59\u5FBD\u63EE\u6689\u7147\u8AF1\u8F1D\u9EBE\u4F11\u643A\u70CB\u7566\u8667\u6064\u8B4E\u9DF8\u5147\u51F6\u5308\u6D36\u80F8\u9ED1\u6615\u6B23\u7098\u75D5\u5403\u5C79\u7D07\u8A16\u6B20\u6B3D\u6B46\u5438\u6070\u6D3D\u7FD5\u8208\u50D6\u51DE\u559C\u566B\u56CD\u59EC\u5B09\u5E0C\u6199\u6198\u6231\u665E\u66E6\u7199\u71B9\u71BA\u72A7\u79A7\u7A00\u7FB2\u8A70"]
+ ];
+ }
+});
+
+// ../../node_modules/.pnpm/iconv-lite@0.7.3/node_modules/iconv-lite/encodings/tables/cp950.json
+var require_cp950 = __commonJS({
+ "../../node_modules/.pnpm/iconv-lite@0.7.3/node_modules/iconv-lite/encodings/tables/cp950.json"(exports, module) {
+ module.exports = [
+ ["0", "\0", 127],
+ ["a140", "\u3000\uFF0C\u3001\u3002\uFF0E\u2027\uFF1B\uFF1A\uFF1F\uFF01\uFE30\u2026\u2025\uFE50\uFE51\uFE52\xB7\uFE54\uFE55\uFE56\uFE57\uFF5C\u2013\uFE31\u2014\uFE33\u2574\uFE34\uFE4F\uFF08\uFF09\uFE35\uFE36\uFF5B\uFF5D\uFE37\uFE38\u3014\u3015\uFE39\uFE3A\u3010\u3011\uFE3B\uFE3C\u300A\u300B\uFE3D\uFE3E\u3008\u3009\uFE3F\uFE40\u300C\u300D\uFE41\uFE42\u300E\u300F\uFE43\uFE44\uFE59\uFE5A"],
+ ["a1a1", "\uFE5B\uFE5C\uFE5D\uFE5E\u2018\u2019\u201C\u201D\u301D\u301E\u2035\u2032\uFF03\uFF06\uFF0A\u203B\xA7\u3003\u25CB\u25CF\u25B3\u25B2\u25CE\u2606\u2605\u25C7\u25C6\u25A1\u25A0\u25BD\u25BC\u32A3\u2105\xAF\uFFE3\uFF3F\u02CD\uFE49\uFE4A\uFE4D\uFE4E\uFE4B\uFE4C\uFE5F\uFE60\uFE61\uFF0B\uFF0D\xD7\xF7\xB1\u221A\uFF1C\uFF1E\uFF1D\u2266\u2267\u2260\u221E\u2252\u2261\uFE62", 4, "\uFF5E\u2229\u222A\u22A5\u2220\u221F\u22BF\u33D2\u33D1\u222B\u222E\u2235\u2234\u2640\u2642\u2295\u2299\u2191\u2193\u2190\u2192\u2196\u2197\u2199\u2198\u2225\u2223\uFF0F"],
+ ["a240", "\uFF3C\u2215\uFE68\uFF04\uFFE5\u3012\uFFE0\uFFE1\uFF05\uFF20\u2103\u2109\uFE69\uFE6A\uFE6B\u33D5\u339C\u339D\u339E\u33CE\u33A1\u338E\u338F\u33C4\xB0\u5159\u515B\u515E\u515D\u5161\u5163\u55E7\u74E9\u7CCE\u2581", 7, "\u258F\u258E\u258D\u258C\u258B\u258A\u2589\u253C\u2534\u252C\u2524\u251C\u2594\u2500\u2502\u2595\u250C\u2510\u2514\u2518\u256D"],
+ ["a2a1", "\u256E\u2570\u256F\u2550\u255E\u256A\u2561\u25E2\u25E3\u25E5\u25E4\u2571\u2572\u2573\uFF10", 9, "\u2160", 9, "\u3021", 8, "\u5341\u5344\u5345\uFF21", 25, "\uFF41", 21],
+ ["a340", "\uFF57\uFF58\uFF59\uFF5A\u0391", 16, "\u03A3", 6, "\u03B1", 16, "\u03C3", 6, "\u3105", 10],
+ ["a3a1", "\u3110", 25, "\u02D9\u02C9\u02CA\u02C7\u02CB"],
+ ["a3e1", "\u20AC"],
+ ["a440", "\u4E00\u4E59\u4E01\u4E03\u4E43\u4E5D\u4E86\u4E8C\u4EBA\u513F\u5165\u516B\u51E0\u5200\u5201\u529B\u5315\u5341\u535C\u53C8\u4E09\u4E0B\u4E08\u4E0A\u4E2B\u4E38\u51E1\u4E45\u4E48\u4E5F\u4E5E\u4E8E\u4EA1\u5140\u5203\u52FA\u5343\u53C9\u53E3\u571F\u58EB\u5915\u5927\u5973\u5B50\u5B51\u5B53\u5BF8\u5C0F\u5C22\u5C38\u5C71\u5DDD\u5DE5\u5DF1\u5DF2\u5DF3\u5DFE\u5E72\u5EFE\u5F0B\u5F13\u624D"],
+ ["a4a1", "\u4E11\u4E10\u4E0D\u4E2D\u4E30\u4E39\u4E4B\u5C39\u4E88\u4E91\u4E95\u4E92\u4E94\u4EA2\u4EC1\u4EC0\u4EC3\u4EC6\u4EC7\u4ECD\u4ECA\u4ECB\u4EC4\u5143\u5141\u5167\u516D\u516E\u516C\u5197\u51F6\u5206\u5207\u5208\u52FB\u52FE\u52FF\u5316\u5339\u5348\u5347\u5345\u535E\u5384\u53CB\u53CA\u53CD\u58EC\u5929\u592B\u592A\u592D\u5B54\u5C11\u5C24\u5C3A\u5C6F\u5DF4\u5E7B\u5EFF\u5F14\u5F15\u5FC3\u6208\u6236\u624B\u624E\u652F\u6587\u6597\u65A4\u65B9\u65E5\u66F0\u6708\u6728\u6B20\u6B62\u6B79\u6BCB\u6BD4\u6BDB\u6C0F\u6C34\u706B\u722A\u7236\u723B\u7247\u7259\u725B\u72AC\u738B\u4E19"],
+ ["a540", "\u4E16\u4E15\u4E14\u4E18\u4E3B\u4E4D\u4E4F\u4E4E\u4EE5\u4ED8\u4ED4\u4ED5\u4ED6\u4ED7\u4EE3\u4EE4\u4ED9\u4EDE\u5145\u5144\u5189\u518A\u51AC\u51F9\u51FA\u51F8\u520A\u52A0\u529F\u5305\u5306\u5317\u531D\u4EDF\u534A\u5349\u5361\u5360\u536F\u536E\u53BB\u53EF\u53E4\u53F3\u53EC\u53EE\u53E9\u53E8\u53FC\u53F8\u53F5\u53EB\u53E6\u53EA\u53F2\u53F1\u53F0\u53E5\u53ED\u53FB\u56DB\u56DA\u5916"],
+ ["a5a1", "\u592E\u5931\u5974\u5976\u5B55\u5B83\u5C3C\u5DE8\u5DE7\u5DE6\u5E02\u5E03\u5E73\u5E7C\u5F01\u5F18\u5F17\u5FC5\u620A\u6253\u6254\u6252\u6251\u65A5\u65E6\u672E\u672C\u672A\u672B\u672D\u6B63\u6BCD\u6C11\u6C10\u6C38\u6C41\u6C40\u6C3E\u72AF\u7384\u7389\u74DC\u74E6\u7518\u751F\u7528\u7529\u7530\u7531\u7532\u7533\u758B\u767D\u76AE\u76BF\u76EE\u77DB\u77E2\u77F3\u793A\u79BE\u7A74\u7ACB\u4E1E\u4E1F\u4E52\u4E53\u4E69\u4E99\u4EA4\u4EA6\u4EA5\u4EFF\u4F09\u4F19\u4F0A\u4F15\u4F0D\u4F10\u4F11\u4F0F\u4EF2\u4EF6\u4EFB\u4EF0\u4EF3\u4EFD\u4F01\u4F0B\u5149\u5147\u5146\u5148\u5168"],
+ ["a640", "\u5171\u518D\u51B0\u5217\u5211\u5212\u520E\u5216\u52A3\u5308\u5321\u5320\u5370\u5371\u5409\u540F\u540C\u540A\u5410\u5401\u540B\u5404\u5411\u540D\u5408\u5403\u540E\u5406\u5412\u56E0\u56DE\u56DD\u5733\u5730\u5728\u572D\u572C\u572F\u5729\u5919\u591A\u5937\u5938\u5984\u5978\u5983\u597D\u5979\u5982\u5981\u5B57\u5B58\u5B87\u5B88\u5B85\u5B89\u5BFA\u5C16\u5C79\u5DDE\u5E06\u5E76\u5E74"],
+ ["a6a1", "\u5F0F\u5F1B\u5FD9\u5FD6\u620E\u620C\u620D\u6210\u6263\u625B\u6258\u6536\u65E9\u65E8\u65EC\u65ED\u66F2\u66F3\u6709\u673D\u6734\u6731\u6735\u6B21\u6B64\u6B7B\u6C16\u6C5D\u6C57\u6C59\u6C5F\u6C60\u6C50\u6C55\u6C61\u6C5B\u6C4D\u6C4E\u7070\u725F\u725D\u767E\u7AF9\u7C73\u7CF8\u7F36\u7F8A\u7FBD\u8001\u8003\u800C\u8012\u8033\u807F\u8089\u808B\u808C\u81E3\u81EA\u81F3\u81FC\u820C\u821B\u821F\u826E\u8272\u827E\u866B\u8840\u884C\u8863\u897F\u9621\u4E32\u4EA8\u4F4D\u4F4F\u4F47\u4F57\u4F5E\u4F34\u4F5B\u4F55\u4F30\u4F50\u4F51\u4F3D\u4F3A\u4F38\u4F43\u4F54\u4F3C\u4F46\u4F63"],
+ ["a740", "\u4F5C\u4F60\u4F2F\u4F4E\u4F36\u4F59\u4F5D\u4F48\u4F5A\u514C\u514B\u514D\u5175\u51B6\u51B7\u5225\u5224\u5229\u522A\u5228\u52AB\u52A9\u52AA\u52AC\u5323\u5373\u5375\u541D\u542D\u541E\u543E\u5426\u544E\u5427\u5446\u5443\u5433\u5448\u5442\u541B\u5429\u544A\u5439\u543B\u5438\u542E\u5435\u5436\u5420\u543C\u5440\u5431\u542B\u541F\u542C\u56EA\u56F0\u56E4\u56EB\u574A\u5751\u5740\u574D"],
+ ["a7a1", "\u5747\u574E\u573E\u5750\u574F\u573B\u58EF\u593E\u599D\u5992\u59A8\u599E\u59A3\u5999\u5996\u598D\u59A4\u5993\u598A\u59A5\u5B5D\u5B5C\u5B5A\u5B5B\u5B8C\u5B8B\u5B8F\u5C2C\u5C40\u5C41\u5C3F\u5C3E\u5C90\u5C91\u5C94\u5C8C\u5DEB\u5E0C\u5E8F\u5E87\u5E8A\u5EF7\u5F04\u5F1F\u5F64\u5F62\u5F77\u5F79\u5FD8\u5FCC\u5FD7\u5FCD\u5FF1\u5FEB\u5FF8\u5FEA\u6212\u6211\u6284\u6297\u6296\u6280\u6276\u6289\u626D\u628A\u627C\u627E\u6279\u6273\u6292\u626F\u6298\u626E\u6295\u6293\u6291\u6286\u6539\u653B\u6538\u65F1\u66F4\u675F\u674E\u674F\u6750\u6751\u675C\u6756\u675E\u6749\u6746\u6760"],
+ ["a840", "\u6753\u6757\u6B65\u6BCF\u6C42\u6C5E\u6C99\u6C81\u6C88\u6C89\u6C85\u6C9B\u6C6A\u6C7A\u6C90\u6C70\u6C8C\u6C68\u6C96\u6C92\u6C7D\u6C83\u6C72\u6C7E\u6C74\u6C86\u6C76\u6C8D\u6C94\u6C98\u6C82\u7076\u707C\u707D\u7078\u7262\u7261\u7260\u72C4\u72C2\u7396\u752C\u752B\u7537\u7538\u7682\u76EF\u77E3\u79C1\u79C0\u79BF\u7A76\u7CFB\u7F55\u8096\u8093\u809D\u8098\u809B\u809A\u80B2\u826F\u8292"],
+ ["a8a1", "\u828B\u828D\u898B\u89D2\u8A00\u8C37\u8C46\u8C55\u8C9D\u8D64\u8D70\u8DB3\u8EAB\u8ECA\u8F9B\u8FB0\u8FC2\u8FC6\u8FC5\u8FC4\u5DE1\u9091\u90A2\u90AA\u90A6\u90A3\u9149\u91C6\u91CC\u9632\u962E\u9631\u962A\u962C\u4E26\u4E56\u4E73\u4E8B\u4E9B\u4E9E\u4EAB\u4EAC\u4F6F\u4F9D\u4F8D\u4F73\u4F7F\u4F6C\u4F9B\u4F8B\u4F86\u4F83\u4F70\u4F75\u4F88\u4F69\u4F7B\u4F96\u4F7E\u4F8F\u4F91\u4F7A\u5154\u5152\u5155\u5169\u5177\u5176\u5178\u51BD\u51FD\u523B\u5238\u5237\u523A\u5230\u522E\u5236\u5241\u52BE\u52BB\u5352\u5354\u5353\u5351\u5366\u5377\u5378\u5379\u53D6\u53D4\u53D7\u5473\u5475"],
+ ["a940", "\u5496\u5478\u5495\u5480\u547B\u5477\u5484\u5492\u5486\u547C\u5490\u5471\u5476\u548C\u549A\u5462\u5468\u548B\u547D\u548E\u56FA\u5783\u5777\u576A\u5769\u5761\u5766\u5764\u577C\u591C\u5949\u5947\u5948\u5944\u5954\u59BE\u59BB\u59D4\u59B9\u59AE\u59D1\u59C6\u59D0\u59CD\u59CB\u59D3\u59CA\u59AF\u59B3\u59D2\u59C5\u5B5F\u5B64\u5B63\u5B97\u5B9A\u5B98\u5B9C\u5B99\u5B9B\u5C1A\u5C48\u5C45"],
+ ["a9a1", "\u5C46\u5CB7\u5CA1\u5CB8\u5CA9\u5CAB\u5CB1\u5CB3\u5E18\u5E1A\u5E16\u5E15\u5E1B\u5E11\u5E78\u5E9A\u5E97\u5E9C\u5E95\u5E96\u5EF6\u5F26\u5F27\u5F29\u5F80\u5F81\u5F7F\u5F7C\u5FDD\u5FE0\u5FFD\u5FF5\u5FFF\u600F\u6014\u602F\u6035\u6016\u602A\u6015\u6021\u6027\u6029\u602B\u601B\u6216\u6215\u623F\u623E\u6240\u627F\u62C9\u62CC\u62C4\u62BF\u62C2\u62B9\u62D2\u62DB\u62AB\u62D3\u62D4\u62CB\u62C8\u62A8\u62BD\u62BC\u62D0\u62D9\u62C7\u62CD\u62B5\u62DA\u62B1\u62D8\u62D6\u62D7\u62C6\u62AC\u62CE\u653E\u65A7\u65BC\u65FA\u6614\u6613\u660C\u6606\u6602\u660E\u6600\u660F\u6615\u660A"],
+ ["aa40", "\u6607\u670D\u670B\u676D\u678B\u6795\u6771\u679C\u6773\u6777\u6787\u679D\u6797\u676F\u6770\u677F\u6789\u677E\u6790\u6775\u679A\u6793\u677C\u676A\u6772\u6B23\u6B66\u6B67\u6B7F\u6C13\u6C1B\u6CE3\u6CE8\u6CF3\u6CB1\u6CCC\u6CE5\u6CB3\u6CBD\u6CBE\u6CBC\u6CE2\u6CAB\u6CD5\u6CD3\u6CB8\u6CC4\u6CB9\u6CC1\u6CAE\u6CD7\u6CC5\u6CF1\u6CBF\u6CBB\u6CE1\u6CDB\u6CCA\u6CAC\u6CEF\u6CDC\u6CD6\u6CE0"],
+ ["aaa1", "\u7095\u708E\u7092\u708A\u7099\u722C\u722D\u7238\u7248\u7267\u7269\u72C0\u72CE\u72D9\u72D7\u72D0\u73A9\u73A8\u739F\u73AB\u73A5\u753D\u759D\u7599\u759A\u7684\u76C2\u76F2\u76F4\u77E5\u77FD\u793E\u7940\u7941\u79C9\u79C8\u7A7A\u7A79\u7AFA\u7CFE\u7F54\u7F8C\u7F8B\u8005\u80BA\u80A5\u80A2\u80B1\u80A1\u80AB\u80A9\u80B4\u80AA\u80AF\u81E5\u81FE\u820D\u82B3\u829D\u8299\u82AD\u82BD\u829F\u82B9\u82B1\u82AC\u82A5\u82AF\u82B8\u82A3\u82B0\u82BE\u82B7\u864E\u8671\u521D\u8868\u8ECB\u8FCE\u8FD4\u8FD1\u90B5\u90B8\u90B1\u90B6\u91C7\u91D1\u9577\u9580\u961C\u9640\u963F\u963B\u9644"],
+ ["ab40", "\u9642\u96B9\u96E8\u9752\u975E\u4E9F\u4EAD\u4EAE\u4FE1\u4FB5\u4FAF\u4FBF\u4FE0\u4FD1\u4FCF\u4FDD\u4FC3\u4FB6\u4FD8\u4FDF\u4FCA\u4FD7\u4FAE\u4FD0\u4FC4\u4FC2\u4FDA\u4FCE\u4FDE\u4FB7\u5157\u5192\u5191\u51A0\u524E\u5243\u524A\u524D\u524C\u524B\u5247\u52C7\u52C9\u52C3\u52C1\u530D\u5357\u537B\u539A\u53DB\u54AC\u54C0\u54A8\u54CE\u54C9\u54B8\u54A6\u54B3\u54C7\u54C2\u54BD\u54AA\u54C1"],
+ ["aba1", "\u54C4\u54C8\u54AF\u54AB\u54B1\u54BB\u54A9\u54A7\u54BF\u56FF\u5782\u578B\u57A0\u57A3\u57A2\u57CE\u57AE\u5793\u5955\u5951\u594F\u594E\u5950\u59DC\u59D8\u59FF\u59E3\u59E8\u5A03\u59E5\u59EA\u59DA\u59E6\u5A01\u59FB\u5B69\u5BA3\u5BA6\u5BA4\u5BA2\u5BA5\u5C01\u5C4E\u5C4F\u5C4D\u5C4B\u5CD9\u5CD2\u5DF7\u5E1D\u5E25\u5E1F\u5E7D\u5EA0\u5EA6\u5EFA\u5F08\u5F2D\u5F65\u5F88\u5F85\u5F8A\u5F8B\u5F87\u5F8C\u5F89\u6012\u601D\u6020\u6025\u600E\u6028\u604D\u6070\u6068\u6062\u6046\u6043\u606C\u606B\u606A\u6064\u6241\u62DC\u6316\u6309\u62FC\u62ED\u6301\u62EE\u62FD\u6307\u62F1\u62F7"],
+ ["ac40", "\u62EF\u62EC\u62FE\u62F4\u6311\u6302\u653F\u6545\u65AB\u65BD\u65E2\u6625\u662D\u6620\u6627\u662F\u661F\u6628\u6631\u6624\u66F7\u67FF\u67D3\u67F1\u67D4\u67D0\u67EC\u67B6\u67AF\u67F5\u67E9\u67EF\u67C4\u67D1\u67B4\u67DA\u67E5\u67B8\u67CF\u67DE\u67F3\u67B0\u67D9\u67E2\u67DD\u67D2\u6B6A\u6B83\u6B86\u6BB5\u6BD2\u6BD7\u6C1F\u6CC9\u6D0B\u6D32\u6D2A\u6D41\u6D25\u6D0C\u6D31\u6D1E\u6D17"],
+ ["aca1", "\u6D3B\u6D3D\u6D3E\u6D36\u6D1B\u6CF5\u6D39\u6D27\u6D38\u6D29\u6D2E\u6D35\u6D0E\u6D2B\u70AB\u70BA\u70B3\u70AC\u70AF\u70AD\u70B8\u70AE\u70A4\u7230\u7272\u726F\u7274\u72E9\u72E0\u72E1\u73B7\u73CA\u73BB\u73B2\u73CD\u73C0\u73B3\u751A\u752D\u754F\u754C\u754E\u754B\u75AB\u75A4\u75A5\u75A2\u75A3\u7678\u7686\u7687\u7688\u76C8\u76C6\u76C3\u76C5\u7701\u76F9\u76F8\u7709\u770B\u76FE\u76FC\u7707\u77DC\u7802\u7814\u780C\u780D\u7946\u7949\u7948\u7947\u79B9\u79BA\u79D1\u79D2\u79CB\u7A7F\u7A81\u7AFF\u7AFD\u7C7D\u7D02\u7D05\u7D00\u7D09\u7D07\u7D04\u7D06\u7F38\u7F8E\u7FBF\u8004"],
+ ["ad40", "\u8010\u800D\u8011\u8036\u80D6\u80E5\u80DA\u80C3\u80C4\u80CC\u80E1\u80DB\u80CE\u80DE\u80E4\u80DD\u81F4\u8222\u82E7\u8303\u8305\u82E3\u82DB\u82E6\u8304\u82E5\u8302\u8309\u82D2\u82D7\u82F1\u8301\u82DC\u82D4\u82D1\u82DE\u82D3\u82DF\u82EF\u8306\u8650\u8679\u867B\u867A\u884D\u886B\u8981\u89D4\u8A08\u8A02\u8A03\u8C9E\u8CA0\u8D74\u8D73\u8DB4\u8ECD\u8ECC\u8FF0\u8FE6\u8FE2\u8FEA\u8FE5"],
+ ["ada1", "\u8FED\u8FEB\u8FE4\u8FE8\u90CA\u90CE\u90C1\u90C3\u914B\u914A\u91CD\u9582\u9650\u964B\u964C\u964D\u9762\u9769\u97CB\u97ED\u97F3\u9801\u98A8\u98DB\u98DF\u9996\u9999\u4E58\u4EB3\u500C\u500D\u5023\u4FEF\u5026\u5025\u4FF8\u5029\u5016\u5006\u503C\u501F\u501A\u5012\u5011\u4FFA\u5000\u5014\u5028\u4FF1\u5021\u500B\u5019\u5018\u4FF3\u4FEE\u502D\u502A\u4FFE\u502B\u5009\u517C\u51A4\u51A5\u51A2\u51CD\u51CC\u51C6\u51CB\u5256\u525C\u5254\u525B\u525D\u532A\u537F\u539F\u539D\u53DF\u54E8\u5510\u5501\u5537\u54FC\u54E5\u54F2\u5506\u54FA\u5514\u54E9\u54ED\u54E1\u5509\u54EE\u54EA"],
+ ["ae40", "\u54E6\u5527\u5507\u54FD\u550F\u5703\u5704\u57C2\u57D4\u57CB\u57C3\u5809\u590F\u5957\u5958\u595A\u5A11\u5A18\u5A1C\u5A1F\u5A1B\u5A13\u59EC\u5A20\u5A23\u5A29\u5A25\u5A0C\u5A09\u5B6B\u5C58\u5BB0\u5BB3\u5BB6\u5BB4\u5BAE\u5BB5\u5BB9\u5BB8\u5C04\u5C51\u5C55\u5C50\u5CED\u5CFD\u5CFB\u5CEA\u5CE8\u5CF0\u5CF6\u5D01\u5CF4\u5DEE\u5E2D\u5E2B\u5EAB\u5EAD\u5EA7\u5F31\u5F92\u5F91\u5F90\u6059"],
+ ["aea1", "\u6063\u6065\u6050\u6055\u606D\u6069\u606F\u6084\u609F\u609A\u608D\u6094\u608C\u6085\u6096\u6247\u62F3\u6308\u62FF\u634E\u633E\u632F\u6355\u6342\u6346\u634F\u6349\u633A\u6350\u633D\u632A\u632B\u6328\u634D\u634C\u6548\u6549\u6599\u65C1\u65C5\u6642\u6649\u664F\u6643\u6652\u664C\u6645\u6641\u66F8\u6714\u6715\u6717\u6821\u6838\u6848\u6846\u6853\u6839\u6842\u6854\u6829\u68B3\u6817\u684C\u6851\u683D\u67F4\u6850\u6840\u683C\u6843\u682A\u6845\u6813\u6818\u6841\u6B8A\u6B89\u6BB7\u6C23\u6C27\u6C28\u6C26\u6C24\u6CF0\u6D6A\u6D95\u6D88\u6D87\u6D66\u6D78\u6D77\u6D59\u6D93"],
+ ["af40", "\u6D6C\u6D89\u6D6E\u6D5A\u6D74\u6D69\u6D8C\u6D8A\u6D79\u6D85\u6D65\u6D94\u70CA\u70D8\u70E4\u70D9\u70C8\u70CF\u7239\u7279\u72FC\u72F9\u72FD\u72F8\u72F7\u7386\u73ED\u7409\u73EE\u73E0\u73EA\u73DE\u7554\u755D\u755C\u755A\u7559\u75BE\u75C5\u75C7\u75B2\u75B3\u75BD\u75BC\u75B9\u75C2\u75B8\u768B\u76B0\u76CA\u76CD\u76CE\u7729\u771F\u7720\u7728\u77E9\u7830\u7827\u7838\u781D\u7834\u7837"],
+ ["afa1", "\u7825\u782D\u7820\u781F\u7832\u7955\u7950\u7960\u795F\u7956\u795E\u795D\u7957\u795A\u79E4\u79E3\u79E7\u79DF\u79E6\u79E9\u79D8\u7A84\u7A88\u7AD9\u7B06\u7B11\u7C89\u7D21\u7D17\u7D0B\u7D0A\u7D20\u7D22\u7D14\u7D10\u7D15\u7D1A\u7D1C\u7D0D\u7D19\u7D1B\u7F3A\u7F5F\u7F94\u7FC5\u7FC1\u8006\u8018\u8015\u8019\u8017\u803D\u803F\u80F1\u8102\u80F0\u8105\u80ED\u80F4\u8106\u80F8\u80F3\u8108\u80FD\u810A\u80FC\u80EF\u81ED\u81EC\u8200\u8210\u822A\u822B\u8228\u822C\u82BB\u832B\u8352\u8354\u834A\u8338\u8350\u8349\u8335\u8334\u834F\u8332\u8339\u8336\u8317\u8340\u8331\u8328\u8343"],
+ ["b040", "\u8654\u868A\u86AA\u8693\u86A4\u86A9\u868C\u86A3\u869C\u8870\u8877\u8881\u8882\u887D\u8879\u8A18\u8A10\u8A0E\u8A0C\u8A15\u8A0A\u8A17\u8A13\u8A16\u8A0F\u8A11\u8C48\u8C7A\u8C79\u8CA1\u8CA2\u8D77\u8EAC\u8ED2\u8ED4\u8ECF\u8FB1\u9001\u9006\u8FF7\u9000\u8FFA\u8FF4\u9003\u8FFD\u9005\u8FF8\u9095\u90E1\u90DD\u90E2\u9152\u914D\u914C\u91D8\u91DD\u91D7\u91DC\u91D9\u9583\u9662\u9663\u9661"],
+ ["b0a1", "\u965B\u965D\u9664\u9658\u965E\u96BB\u98E2\u99AC\u9AA8\u9AD8\u9B25\u9B32\u9B3C\u4E7E\u507A\u507D\u505C\u5047\u5043\u504C\u505A\u5049\u5065\u5076\u504E\u5055\u5075\u5074\u5077\u504F\u500F\u506F\u506D\u515C\u5195\u51F0\u526A\u526F\u52D2\u52D9\u52D8\u52D5\u5310\u530F\u5319\u533F\u5340\u533E\u53C3\u66FC\u5546\u556A\u5566\u5544\u555E\u5561\u5543\u554A\u5531\u5556\u554F\u5555\u552F\u5564\u5538\u552E\u555C\u552C\u5563\u5533\u5541\u5557\u5708\u570B\u5709\u57DF\u5805\u580A\u5806\u57E0\u57E4\u57FA\u5802\u5835\u57F7\u57F9\u5920\u5962\u5A36\u5A41\u5A49\u5A66\u5A6A\u5A40"],
+ ["b140", "\u5A3C\u5A62\u5A5A\u5A46\u5A4A\u5B70\u5BC7\u5BC5\u5BC4\u5BC2\u5BBF\u5BC6\u5C09\u5C08\u5C07\u5C60\u5C5C\u5C5D\u5D07\u5D06\u5D0E\u5D1B\u5D16\u5D22\u5D11\u5D29\u5D14\u5D19\u5D24\u5D27\u5D17\u5DE2\u5E38\u5E36\u5E33\u5E37\u5EB7\u5EB8\u5EB6\u5EB5\u5EBE\u5F35\u5F37\u5F57\u5F6C\u5F69\u5F6B\u5F97\u5F99\u5F9E\u5F98\u5FA1\u5FA0\u5F9C\u607F\u60A3\u6089\u60A0\u60A8\u60CB\u60B4\u60E6\u60BD"],
+ ["b1a1", "\u60C5\u60BB\u60B5\u60DC\u60BC\u60D8\u60D5\u60C6\u60DF\u60B8\u60DA\u60C7\u621A\u621B\u6248\u63A0\u63A7\u6372\u6396\u63A2\u63A5\u6377\u6367\u6398\u63AA\u6371\u63A9\u6389\u6383\u639B\u636B\u63A8\u6384\u6388\u6399\u63A1\u63AC\u6392\u638F\u6380\u637B\u6369\u6368\u637A\u655D\u6556\u6551\u6559\u6557\u555F\u654F\u6558\u6555\u6554\u659C\u659B\u65AC\u65CF\u65CB\u65CC\u65CE\u665D\u665A\u6664\u6668\u6666\u665E\u66F9\u52D7\u671B\u6881\u68AF\u68A2\u6893\u68B5\u687F\u6876\u68B1\u68A7\u6897\u68B0\u6883\u68C4\u68AD\u6886\u6885\u6894\u689D\u68A8\u689F\u68A1\u6882\u6B32\u6BBA"],
+ ["b240", "\u6BEB\u6BEC\u6C2B\u6D8E\u6DBC\u6DF3\u6DD9\u6DB2\u6DE1\u6DCC\u6DE4\u6DFB\u6DFA\u6E05\u6DC7\u6DCB\u6DAF\u6DD1\u6DAE\u6DDE\u6DF9\u6DB8\u6DF7\u6DF5\u6DC5\u6DD2\u6E1A\u6DB5\u6DDA\u6DEB\u6DD8\u6DEA\u6DF1\u6DEE\u6DE8\u6DC6\u6DC4\u6DAA\u6DEC\u6DBF\u6DE6\u70F9\u7109\u710A\u70FD\u70EF\u723D\u727D\u7281\u731C\u731B\u7316\u7313\u7319\u7387\u7405\u740A\u7403\u7406\u73FE\u740D\u74E0\u74F6"],
+ ["b2a1", "\u74F7\u751C\u7522\u7565\u7566\u7562\u7570\u758F\u75D4\u75D5\u75B5\u75CA\u75CD\u768E\u76D4\u76D2\u76DB\u7737\u773E\u773C\u7736\u7738\u773A\u786B\u7843\u784E\u7965\u7968\u796D\u79FB\u7A92\u7A95\u7B20\u7B28\u7B1B\u7B2C\u7B26\u7B19\u7B1E\u7B2E\u7C92\u7C97\u7C95\u7D46\u7D43\u7D71\u7D2E\u7D39\u7D3C\u7D40\u7D30\u7D33\u7D44\u7D2F\u7D42\u7D32\u7D31\u7F3D\u7F9E\u7F9A\u7FCC\u7FCE\u7FD2\u801C\u804A\u8046\u812F\u8116\u8123\u812B\u8129\u8130\u8124\u8202\u8235\u8237\u8236\u8239\u838E\u839E\u8398\u8378\u83A2\u8396\u83BD\u83AB\u8392\u838A\u8393\u8389\u83A0\u8377\u837B\u837C"],
+ ["b340", "\u8386\u83A7\u8655\u5F6A\u86C7\u86C0\u86B6\u86C4\u86B5\u86C6\u86CB\u86B1\u86AF\u86C9\u8853\u889E\u8888\u88AB\u8892\u8896\u888D\u888B\u8993\u898F\u8A2A\u8A1D\u8A23\u8A25\u8A31\u8A2D\u8A1F\u8A1B\u8A22\u8C49\u8C5A\u8CA9\u8CAC\u8CAB\u8CA8\u8CAA\u8CA7\u8D67\u8D66\u8DBE\u8DBA\u8EDB\u8EDF\u9019\u900D\u901A\u9017\u9023\u901F\u901D\u9010\u9015\u901E\u9020\u900F\u9022\u9016\u901B\u9014"],
+ ["b3a1", "\u90E8\u90ED\u90FD\u9157\u91CE\u91F5\u91E6\u91E3\u91E7\u91ED\u91E9\u9589\u966A\u9675\u9673\u9678\u9670\u9674\u9676\u9677\u966C\u96C0\u96EA\u96E9\u7AE0\u7ADF\u9802\u9803\u9B5A\u9CE5\u9E75\u9E7F\u9EA5\u9EBB\u50A2\u508D\u5085\u5099\u5091\u5080\u5096\u5098\u509A\u6700\u51F1\u5272\u5274\u5275\u5269\u52DE\u52DD\u52DB\u535A\u53A5\u557B\u5580\u55A7\u557C\u558A\u559D\u5598\u5582\u559C\u55AA\u5594\u5587\u558B\u5583\u55B3\u55AE\u559F\u553E\u55B2\u559A\u55BB\u55AC\u55B1\u557E\u5589\u55AB\u5599\u570D\u582F\u582A\u5834\u5824\u5830\u5831\u5821\u581D\u5820\u58F9\u58FA\u5960"],
+ ["b440", "\u5A77\u5A9A\u5A7F\u5A92\u5A9B\u5AA7\u5B73\u5B71\u5BD2\u5BCC\u5BD3\u5BD0\u5C0A\u5C0B\u5C31\u5D4C\u5D50\u5D34\u5D47\u5DFD\u5E45\u5E3D\u5E40\u5E43\u5E7E\u5ECA\u5EC1\u5EC2\u5EC4\u5F3C\u5F6D\u5FA9\u5FAA\u5FA8\u60D1\u60E1\u60B2\u60B6\u60E0\u611C\u6123\u60FA\u6115\u60F0\u60FB\u60F4\u6168\u60F1\u610E\u60F6\u6109\u6100\u6112\u621F\u6249\u63A3\u638C\u63CF\u63C0\u63E9\u63C9\u63C6\u63CD"],
+ ["b4a1", "\u63D2\u63E3\u63D0\u63E1\u63D6\u63ED\u63EE\u6376\u63F4\u63EA\u63DB\u6452\u63DA\u63F9\u655E\u6566\u6562\u6563\u6591\u6590\u65AF\u666E\u6670\u6674\u6676\u666F\u6691\u667A\u667E\u6677\u66FE\u66FF\u671F\u671D\u68FA\u68D5\u68E0\u68D8\u68D7\u6905\u68DF\u68F5\u68EE\u68E7\u68F9\u68D2\u68F2\u68E3\u68CB\u68CD\u690D\u6912\u690E\u68C9\u68DA\u696E\u68FB\u6B3E\u6B3A\u6B3D\u6B98\u6B96\u6BBC\u6BEF\u6C2E\u6C2F\u6C2C\u6E2F\u6E38\u6E54\u6E21\u6E32\u6E67\u6E4A\u6E20\u6E25\u6E23\u6E1B\u6E5B\u6E58\u6E24\u6E56\u6E6E\u6E2D\u6E26\u6E6F\u6E34\u6E4D\u6E3A\u6E2C\u6E43\u6E1D\u6E3E\u6ECB"],
+ ["b540", "\u6E89\u6E19\u6E4E\u6E63\u6E44\u6E72\u6E69\u6E5F\u7119\u711A\u7126\u7130\u7121\u7136\u716E\u711C\u724C\u7284\u7280\u7336\u7325\u7334\u7329\u743A\u742A\u7433\u7422\u7425\u7435\u7436\u7434\u742F\u741B\u7426\u7428\u7525\u7526\u756B\u756A\u75E2\u75DB\u75E3\u75D9\u75D8\u75DE\u75E0\u767B\u767C\u7696\u7693\u76B4\u76DC\u774F\u77ED\u785D\u786C\u786F\u7A0D\u7A08\u7A0B\u7A05\u7A00\u7A98"],
+ ["b5a1", "\u7A97\u7A96\u7AE5\u7AE3\u7B49\u7B56\u7B46\u7B50\u7B52\u7B54\u7B4D\u7B4B\u7B4F\u7B51\u7C9F\u7CA5\u7D5E\u7D50\u7D68\u7D55\u7D2B\u7D6E\u7D72\u7D61\u7D66\u7D62\u7D70\u7D73\u5584\u7FD4\u7FD5\u800B\u8052\u8085\u8155\u8154\u814B\u8151\u814E\u8139\u8146\u813E\u814C\u8153\u8174\u8212\u821C\u83E9\u8403\u83F8\u840D\u83E0\u83C5\u840B\u83C1\u83EF\u83F1\u83F4\u8457\u840A\u83F0\u840C\u83CC\u83FD\u83F2\u83CA\u8438\u840E\u8404\u83DC\u8407\u83D4\u83DF\u865B\u86DF\u86D9\u86ED\u86D4\u86DB\u86E4\u86D0\u86DE\u8857\u88C1\u88C2\u88B1\u8983\u8996\u8A3B\u8A60\u8A55\u8A5E\u8A3C\u8A41"],
+ ["b640", "\u8A54\u8A5B\u8A50\u8A46\u8A34\u8A3A\u8A36\u8A56\u8C61\u8C82\u8CAF\u8CBC\u8CB3\u8CBD\u8CC1\u8CBB\u8CC0\u8CB4\u8CB7\u8CB6\u8CBF\u8CB8\u8D8A\u8D85\u8D81\u8DCE\u8DDD\u8DCB\u8DDA\u8DD1\u8DCC\u8DDB\u8DC6\u8EFB\u8EF8\u8EFC\u8F9C\u902E\u9035\u9031\u9038\u9032\u9036\u9102\u90F5\u9109\u90FE\u9163\u9165\u91CF\u9214\u9215\u9223\u9209\u921E\u920D\u9210\u9207\u9211\u9594\u958F\u958B\u9591"],
+ ["b6a1", "\u9593\u9592\u958E\u968A\u968E\u968B\u967D\u9685\u9686\u968D\u9672\u9684\u96C1\u96C5\u96C4\u96C6\u96C7\u96EF\u96F2\u97CC\u9805\u9806\u9808\u98E7\u98EA\u98EF\u98E9\u98F2\u98ED\u99AE\u99AD\u9EC3\u9ECD\u9ED1\u4E82\u50AD\u50B5\u50B2\u50B3\u50C5\u50BE\u50AC\u50B7\u50BB\u50AF\u50C7\u527F\u5277\u527D\u52DF\u52E6\u52E4\u52E2\u52E3\u532F\u55DF\u55E8\u55D3\u55E6\u55CE\u55DC\u55C7\u55D1\u55E3\u55E4\u55EF\u55DA\u55E1\u55C5\u55C6\u55E5\u55C9\u5712\u5713\u585E\u5851\u5858\u5857\u585A\u5854\u586B\u584C\u586D\u584A\u5862\u5852\u584B\u5967\u5AC1\u5AC9\u5ACC\u5ABE\u5ABD\u5ABC"],
+ ["b740", "\u5AB3\u5AC2\u5AB2\u5D69\u5D6F\u5E4C\u5E79\u5EC9\u5EC8\u5F12\u5F59\u5FAC\u5FAE\u611A\u610F\u6148\u611F\u60F3\u611B\u60F9\u6101\u6108\u614E\u614C\u6144\u614D\u613E\u6134\u6127\u610D\u6106\u6137\u6221\u6222\u6413\u643E\u641E\u642A\u642D\u643D\u642C\u640F\u641C\u6414\u640D\u6436\u6416\u6417\u6406\u656C\u659F\u65B0\u6697\u6689\u6687\u6688\u6696\u6684\u6698\u668D\u6703\u6994\u696D"],
+ ["b7a1", "\u695A\u6977\u6960\u6954\u6975\u6930\u6982\u694A\u6968\u696B\u695E\u6953\u6979\u6986\u695D\u6963\u695B\u6B47\u6B72\u6BC0\u6BBF\u6BD3\u6BFD\u6EA2\u6EAF\u6ED3\u6EB6\u6EC2\u6E90\u6E9D\u6EC7\u6EC5\u6EA5\u6E98\u6EBC\u6EBA\u6EAB\u6ED1\u6E96\u6E9C\u6EC4\u6ED4\u6EAA\u6EA7\u6EB4\u714E\u7159\u7169\u7164\u7149\u7167\u715C\u716C\u7166\u714C\u7165\u715E\u7146\u7168\u7156\u723A\u7252\u7337\u7345\u733F\u733E\u746F\u745A\u7455\u745F\u745E\u7441\u743F\u7459\u745B\u745C\u7576\u7578\u7600\u75F0\u7601\u75F2\u75F1\u75FA\u75FF\u75F4\u75F3\u76DE\u76DF\u775B\u776B\u7766\u775E\u7763"],
+ ["b840", "\u7779\u776A\u776C\u775C\u7765\u7768\u7762\u77EE\u788E\u78B0\u7897\u7898\u788C\u7889\u787C\u7891\u7893\u787F\u797A\u797F\u7981\u842C\u79BD\u7A1C\u7A1A\u7A20\u7A14\u7A1F\u7A1E\u7A9F\u7AA0\u7B77\u7BC0\u7B60\u7B6E\u7B67\u7CB1\u7CB3\u7CB5\u7D93\u7D79\u7D91\u7D81\u7D8F\u7D5B\u7F6E\u7F69\u7F6A\u7F72\u7FA9\u7FA8\u7FA4\u8056\u8058\u8086\u8084\u8171\u8170\u8178\u8165\u816E\u8173\u816B"],
+ ["b8a1", "\u8179\u817A\u8166\u8205\u8247\u8482\u8477\u843D\u8431\u8475\u8466\u846B\u8449\u846C\u845B\u843C\u8435\u8461\u8463\u8469\u846D\u8446\u865E\u865C\u865F\u86F9\u8713\u8708\u8707\u8700\u86FE\u86FB\u8702\u8703\u8706\u870A\u8859\u88DF\u88D4\u88D9\u88DC\u88D8\u88DD\u88E1\u88CA\u88D5\u88D2\u899C\u89E3\u8A6B\u8A72\u8A73\u8A66\u8A69\u8A70\u8A87\u8A7C\u8A63\u8AA0\u8A71\u8A85\u8A6D\u8A62\u8A6E\u8A6C\u8A79\u8A7B\u8A3E\u8A68\u8C62\u8C8A\u8C89\u8CCA\u8CC7\u8CC8\u8CC4\u8CB2\u8CC3\u8CC2\u8CC5\u8DE1\u8DDF\u8DE8\u8DEF\u8DF3\u8DFA\u8DEA\u8DE4\u8DE6\u8EB2\u8F03\u8F09\u8EFE\u8F0A"],
+ ["b940", "\u8F9F\u8FB2\u904B\u904A\u9053\u9042\u9054\u903C\u9055\u9050\u9047\u904F\u904E\u904D\u9051\u903E\u9041\u9112\u9117\u916C\u916A\u9169\u91C9\u9237\u9257\u9238\u923D\u9240\u923E\u925B\u924B\u9264\u9251\u9234\u9249\u924D\u9245\u9239\u923F\u925A\u9598\u9698\u9694\u9695\u96CD\u96CB\u96C9\u96CA\u96F7\u96FB\u96F9\u96F6\u9756\u9774\u9776\u9810\u9811\u9813\u980A\u9812\u980C\u98FC\u98F4"],
+ ["b9a1", "\u98FD\u98FE\u99B3\u99B1\u99B4\u9AE1\u9CE9\u9E82\u9F0E\u9F13\u9F20\u50E7\u50EE\u50E5\u50D6\u50ED\u50DA\u50D5\u50CF\u50D1\u50F1\u50CE\u50E9\u5162\u51F3\u5283\u5282\u5331\u53AD\u55FE\u5600\u561B\u5617\u55FD\u5614\u5606\u5609\u560D\u560E\u55F7\u5616\u561F\u5608\u5610\u55F6\u5718\u5716\u5875\u587E\u5883\u5893\u588A\u5879\u5885\u587D\u58FD\u5925\u5922\u5924\u596A\u5969\u5AE1\u5AE6\u5AE9\u5AD7\u5AD6\u5AD8\u5AE3\u5B75\u5BDE\u5BE7\u5BE1\u5BE5\u5BE6\u5BE8\u5BE2\u5BE4\u5BDF\u5C0D\u5C62\u5D84\u5D87\u5E5B\u5E63\u5E55\u5E57\u5E54\u5ED3\u5ED6\u5F0A\u5F46\u5F70\u5FB9\u6147"],
+ ["ba40", "\u613F\u614B\u6177\u6162\u6163\u615F\u615A\u6158\u6175\u622A\u6487\u6458\u6454\u64A4\u6478\u645F\u647A\u6451\u6467\u6434\u646D\u647B\u6572\u65A1\u65D7\u65D6\u66A2\u66A8\u669D\u699C\u69A8\u6995\u69C1\u69AE\u69D3\u69CB\u699B\u69B7\u69BB\u69AB\u69B4\u69D0\u69CD\u69AD\u69CC\u69A6\u69C3\u69A3\u6B49\u6B4C\u6C33\u6F33\u6F14\u6EFE\u6F13\u6EF4\u6F29\u6F3E\u6F20\u6F2C\u6F0F\u6F02\u6F22"],
+ ["baa1", "\u6EFF\u6EEF\u6F06\u6F31\u6F38\u6F32\u6F23\u6F15\u6F2B\u6F2F\u6F88\u6F2A\u6EEC\u6F01\u6EF2\u6ECC\u6EF7\u7194\u7199\u717D\u718A\u7184\u7192\u723E\u7292\u7296\u7344\u7350\u7464\u7463\u746A\u7470\u746D\u7504\u7591\u7627\u760D\u760B\u7609\u7613\u76E1\u76E3\u7784\u777D\u777F\u7761\u78C1\u789F\u78A7\u78B3\u78A9\u78A3\u798E\u798F\u798D\u7A2E\u7A31\u7AAA\u7AA9\u7AED\u7AEF\u7BA1\u7B95\u7B8B\u7B75\u7B97\u7B9D\u7B94\u7B8F\u7BB8\u7B87\u7B84\u7CB9\u7CBD\u7CBE\u7DBB\u7DB0\u7D9C\u7DBD\u7DBE\u7DA0\u7DCA\u7DB4\u7DB2\u7DB1\u7DBA\u7DA2\u7DBF\u7DB5\u7DB8\u7DAD\u7DD2\u7DC7\u7DAC"],
+ ["bb40", "\u7F70\u7FE0\u7FE1\u7FDF\u805E\u805A\u8087\u8150\u8180\u818F\u8188\u818A\u817F\u8182\u81E7\u81FA\u8207\u8214\u821E\u824B\u84C9\u84BF\u84C6\u84C4\u8499\u849E\u84B2\u849C\u84CB\u84B8\u84C0\u84D3\u8490\u84BC\u84D1\u84CA\u873F\u871C\u873B\u8722\u8725\u8734\u8718\u8755\u8737\u8729\u88F3\u8902\u88F4\u88F9\u88F8\u88FD\u88E8\u891A\u88EF\u8AA6\u8A8C\u8A9E\u8AA3\u8A8D\u8AA1\u8A93\u8AA4"],
+ ["bba1", "\u8AAA\u8AA5\u8AA8\u8A98\u8A91\u8A9A\u8AA7\u8C6A\u8C8D\u8C8C\u8CD3\u8CD1\u8CD2\u8D6B\u8D99\u8D95\u8DFC\u8F14\u8F12\u8F15\u8F13\u8FA3\u9060\u9058\u905C\u9063\u9059\u905E\u9062\u905D\u905B\u9119\u9118\u911E\u9175\u9178\u9177\u9174\u9278\u9280\u9285\u9298\u9296\u927B\u9293\u929C\u92A8\u927C\u9291\u95A1\u95A8\u95A9\u95A3\u95A5\u95A4\u9699\u969C\u969B\u96CC\u96D2\u9700\u977C\u9785\u97F6\u9817\u9818\u98AF\u98B1\u9903\u9905\u990C\u9909\u99C1\u9AAF\u9AB0\u9AE6\u9B41\u9B42\u9CF4\u9CF6\u9CF3\u9EBC\u9F3B\u9F4A\u5104\u5100\u50FB\u50F5\u50F9\u5102\u5108\u5109\u5105\u51DC"],
+ ["bc40", "\u5287\u5288\u5289\u528D\u528A\u52F0\u53B2\u562E\u563B\u5639\u5632\u563F\u5634\u5629\u5653\u564E\u5657\u5674\u5636\u562F\u5630\u5880\u589F\u589E\u58B3\u589C\u58AE\u58A9\u58A6\u596D\u5B09\u5AFB\u5B0B\u5AF5\u5B0C\u5B08\u5BEE\u5BEC\u5BE9\u5BEB\u5C64\u5C65\u5D9D\u5D94\u5E62\u5E5F\u5E61\u5EE2\u5EDA\u5EDF\u5EDD\u5EE3\u5EE0\u5F48\u5F71\u5FB7\u5FB5\u6176\u6167\u616E\u615D\u6155\u6182"],
+ ["bca1", "\u617C\u6170\u616B\u617E\u61A7\u6190\u61AB\u618E\u61AC\u619A\u61A4\u6194\u61AE\u622E\u6469\u646F\u6479\u649E\u64B2\u6488\u6490\u64B0\u64A5\u6493\u6495\u64A9\u6492\u64AE\u64AD\u64AB\u649A\u64AC\u6499\u64A2\u64B3\u6575\u6577\u6578\u66AE\u66AB\u66B4\u66B1\u6A23\u6A1F\u69E8\u6A01\u6A1E\u6A19\u69FD\u6A21\u6A13\u6A0A\u69F3\u6A02\u6A05\u69ED\u6A11\u6B50\u6B4E\u6BA4\u6BC5\u6BC6\u6F3F\u6F7C\u6F84\u6F51\u6F66\u6F54\u6F86\u6F6D\u6F5B\u6F78\u6F6E\u6F8E\u6F7A\u6F70\u6F64\u6F97\u6F58\u6ED5\u6F6F\u6F60\u6F5F\u719F\u71AC\u71B1\u71A8\u7256\u729B\u734E\u7357\u7469\u748B\u7483"],
+ ["bd40", "\u747E\u7480\u757F\u7620\u7629\u761F\u7624\u7626\u7621\u7622\u769A\u76BA\u76E4\u778E\u7787\u778C\u7791\u778B\u78CB\u78C5\u78BA\u78CA\u78BE\u78D5\u78BC\u78D0\u7A3F\u7A3C\u7A40\u7A3D\u7A37\u7A3B\u7AAF\u7AAE\u7BAD\u7BB1\u7BC4\u7BB4\u7BC6\u7BC7\u7BC1\u7BA0\u7BCC\u7CCA\u7DE0\u7DF4\u7DEF\u7DFB\u7DD8\u7DEC\u7DDD\u7DE8\u7DE3\u7DDA\u7DDE\u7DE9\u7D9E\u7DD9\u7DF2\u7DF9\u7F75\u7F77\u7FAF"],
+ ["bda1", "\u7FE9\u8026\u819B\u819C\u819D\u81A0\u819A\u8198\u8517\u853D\u851A\u84EE\u852C\u852D\u8513\u8511\u8523\u8521\u8514\u84EC\u8525\u84FF\u8506\u8782\u8774\u8776\u8760\u8766\u8778\u8768\u8759\u8757\u874C\u8753\u885B\u885D\u8910\u8907\u8912\u8913\u8915\u890A\u8ABC\u8AD2\u8AC7\u8AC4\u8A95\u8ACB\u8AF8\u8AB2\u8AC9\u8AC2\u8ABF\u8AB0\u8AD6\u8ACD\u8AB6\u8AB9\u8ADB\u8C4C\u8C4E\u8C6C\u8CE0\u8CDE\u8CE6\u8CE4\u8CEC\u8CED\u8CE2\u8CE3\u8CDC\u8CEA\u8CE1\u8D6D\u8D9F\u8DA3\u8E2B\u8E10\u8E1D\u8E22\u8E0F\u8E29\u8E1F\u8E21\u8E1E\u8EBA\u8F1D\u8F1B\u8F1F\u8F29\u8F26\u8F2A\u8F1C\u8F1E"],
+ ["be40", "\u8F25\u9069\u906E\u9068\u906D\u9077\u9130\u912D\u9127\u9131\u9187\u9189\u918B\u9183\u92C5\u92BB\u92B7\u92EA\u92AC\u92E4\u92C1\u92B3\u92BC\u92D2\u92C7\u92F0\u92B2\u95AD\u95B1\u9704\u9706\u9707\u9709\u9760\u978D\u978B\u978F\u9821\u982B\u981C\u98B3\u990A\u9913\u9912\u9918\u99DD\u99D0\u99DF\u99DB\u99D1\u99D5\u99D2\u99D9\u9AB7\u9AEE\u9AEF\u9B27\u9B45\u9B44\u9B77\u9B6F\u9D06\u9D09"],
+ ["bea1", "\u9D03\u9EA9\u9EBE\u9ECE\u58A8\u9F52\u5112\u5118\u5114\u5110\u5115\u5180\u51AA\u51DD\u5291\u5293\u52F3\u5659\u566B\u5679\u5669\u5664\u5678\u566A\u5668\u5665\u5671\u566F\u566C\u5662\u5676\u58C1\u58BE\u58C7\u58C5\u596E\u5B1D\u5B34\u5B78\u5BF0\u5C0E\u5F4A\u61B2\u6191\u61A9\u618A\u61CD\u61B6\u61BE\u61CA\u61C8\u6230\u64C5\u64C1\u64CB\u64BB\u64BC\u64DA\u64C4\u64C7\u64C2\u64CD\u64BF\u64D2\u64D4\u64BE\u6574\u66C6\u66C9\u66B9\u66C4\u66C7\u66B8\u6A3D\u6A38\u6A3A\u6A59\u6A6B\u6A58\u6A39\u6A44\u6A62\u6A61\u6A4B\u6A47\u6A35\u6A5F\u6A48\u6B59\u6B77\u6C05\u6FC2\u6FB1\u6FA1"],
+ ["bf40", "\u6FC3\u6FA4\u6FC1\u6FA7\u6FB3\u6FC0\u6FB9\u6FB6\u6FA6\u6FA0\u6FB4\u71BE\u71C9\u71D0\u71D2\u71C8\u71D5\u71B9\u71CE\u71D9\u71DC\u71C3\u71C4\u7368\u749C\u74A3\u7498\u749F\u749E\u74E2\u750C\u750D\u7634\u7638\u763A\u76E7\u76E5\u77A0\u779E\u779F\u77A5\u78E8\u78DA\u78EC\u78E7\u79A6\u7A4D\u7A4E\u7A46\u7A4C\u7A4B\u7ABA\u7BD9\u7C11\u7BC9\u7BE4\u7BDB\u7BE1\u7BE9\u7BE6\u7CD5\u7CD6\u7E0A"],
+ ["bfa1", "\u7E11\u7E08\u7E1B\u7E23\u7E1E\u7E1D\u7E09\u7E10\u7F79\u7FB2\u7FF0\u7FF1\u7FEE\u8028\u81B3\u81A9\u81A8\u81FB\u8208\u8258\u8259\u854A\u8559\u8548\u8568\u8569\u8543\u8549\u856D\u856A\u855E\u8783\u879F\u879E\u87A2\u878D\u8861\u892A\u8932\u8925\u892B\u8921\u89AA\u89A6\u8AE6\u8AFA\u8AEB\u8AF1\u8B00\u8ADC\u8AE7\u8AEE\u8AFE\u8B01\u8B02\u8AF7\u8AED\u8AF3\u8AF6\u8AFC\u8C6B\u8C6D\u8C93\u8CF4\u8E44\u8E31\u8E34\u8E42\u8E39\u8E35\u8F3B\u8F2F\u8F38\u8F33\u8FA8\u8FA6\u9075\u9074\u9078\u9072\u907C\u907A\u9134\u9192\u9320\u9336\u92F8\u9333\u932F\u9322\u92FC\u932B\u9304\u931A"],
+ ["c040", "\u9310\u9326\u9321\u9315\u932E\u9319\u95BB\u96A7\u96A8\u96AA\u96D5\u970E\u9711\u9716\u970D\u9713\u970F\u975B\u975C\u9766\u9798\u9830\u9838\u983B\u9837\u982D\u9839\u9824\u9910\u9928\u991E\u991B\u9921\u991A\u99ED\u99E2\u99F1\u9AB8\u9ABC\u9AFB\u9AED\u9B28\u9B91\u9D15\u9D23\u9D26\u9D28\u9D12\u9D1B\u9ED8\u9ED4\u9F8D\u9F9C\u512A\u511F\u5121\u5132\u52F5\u568E\u5680\u5690\u5685\u5687"],
+ ["c0a1", "\u568F\u58D5\u58D3\u58D1\u58CE\u5B30\u5B2A\u5B24\u5B7A\u5C37\u5C68\u5DBC\u5DBA\u5DBD\u5DB8\u5E6B\u5F4C\u5FBD\u61C9\u61C2\u61C7\u61E6\u61CB\u6232\u6234\u64CE\u64CA\u64D8\u64E0\u64F0\u64E6\u64EC\u64F1\u64E2\u64ED\u6582\u6583\u66D9\u66D6\u6A80\u6A94\u6A84\u6AA2\u6A9C\u6ADB\u6AA3\u6A7E\u6A97\u6A90\u6AA0\u6B5C\u6BAE\u6BDA\u6C08\u6FD8\u6FF1\u6FDF\u6FE0\u6FDB\u6FE4\u6FEB\u6FEF\u6F80\u6FEC\u6FE1\u6FE9\u6FD5\u6FEE\u6FF0\u71E7\u71DF\u71EE\u71E6\u71E5\u71ED\u71EC\u71F4\u71E0\u7235\u7246\u7370\u7372\u74A9\u74B0\u74A6\u74A8\u7646\u7642\u764C\u76EA\u77B3\u77AA\u77B0\u77AC"],
+ ["c140", "\u77A7\u77AD\u77EF\u78F7\u78FA\u78F4\u78EF\u7901\u79A7\u79AA\u7A57\u7ABF\u7C07\u7C0D\u7BFE\u7BF7\u7C0C\u7BE0\u7CE0\u7CDC\u7CDE\u7CE2\u7CDF\u7CD9\u7CDD\u7E2E\u7E3E\u7E46\u7E37\u7E32\u7E43\u7E2B\u7E3D\u7E31\u7E45\u7E41\u7E34\u7E39\u7E48\u7E35\u7E3F\u7E2F\u7F44\u7FF3\u7FFC\u8071\u8072\u8070\u806F\u8073\u81C6\u81C3\u81BA\u81C2\u81C0\u81BF\u81BD\u81C9\u81BE\u81E8\u8209\u8271\u85AA"],
+ ["c1a1", "\u8584\u857E\u859C\u8591\u8594\u85AF\u859B\u8587\u85A8\u858A\u8667\u87C0\u87D1\u87B3\u87D2\u87C6\u87AB\u87BB\u87BA\u87C8\u87CB\u893B\u8936\u8944\u8938\u893D\u89AC\u8B0E\u8B17\u8B19\u8B1B\u8B0A\u8B20\u8B1D\u8B04\u8B10\u8C41\u8C3F\u8C73\u8CFA\u8CFD\u8CFC\u8CF8\u8CFB\u8DA8\u8E49\u8E4B\u8E48\u8E4A\u8F44\u8F3E\u8F42\u8F45\u8F3F\u907F\u907D\u9084\u9081\u9082\u9080\u9139\u91A3\u919E\u919C\u934D\u9382\u9328\u9375\u934A\u9365\u934B\u9318\u937E\u936C\u935B\u9370\u935A\u9354\u95CA\u95CB\u95CC\u95C8\u95C6\u96B1\u96B8\u96D6\u971C\u971E\u97A0\u97D3\u9846\u98B6\u9935\u9A01"],
+ ["c240", "\u99FF\u9BAE\u9BAB\u9BAA\u9BAD\u9D3B\u9D3F\u9E8B\u9ECF\u9EDE\u9EDC\u9EDD\u9EDB\u9F3E\u9F4B\u53E2\u5695\u56AE\u58D9\u58D8\u5B38\u5F5D\u61E3\u6233\u64F4\u64F2\u64FE\u6506\u64FA\u64FB\u64F7\u65B7\u66DC\u6726\u6AB3\u6AAC\u6AC3\u6ABB\u6AB8\u6AC2\u6AAE\u6AAF\u6B5F\u6B78\u6BAF\u7009\u700B\u6FFE\u7006\u6FFA\u7011\u700F\u71FB\u71FC\u71FE\u71F8\u7377\u7375\u74A7\u74BF\u7515\u7656\u7658"],
+ ["c2a1", "\u7652\u77BD\u77BF\u77BB\u77BC\u790E\u79AE\u7A61\u7A62\u7A60\u7AC4\u7AC5\u7C2B\u7C27\u7C2A\u7C1E\u7C23\u7C21\u7CE7\u7E54\u7E55\u7E5E\u7E5A\u7E61\u7E52\u7E59\u7F48\u7FF9\u7FFB\u8077\u8076\u81CD\u81CF\u820A\u85CF\u85A9\u85CD\u85D0\u85C9\u85B0\u85BA\u85B9\u85A6\u87EF\u87EC\u87F2\u87E0\u8986\u89B2\u89F4\u8B28\u8B39\u8B2C\u8B2B\u8C50\u8D05\u8E59\u8E63\u8E66\u8E64\u8E5F\u8E55\u8EC0\u8F49\u8F4D\u9087\u9083\u9088\u91AB\u91AC\u91D0\u9394\u938A\u9396\u93A2\u93B3\u93AE\u93AC\u93B0\u9398\u939A\u9397\u95D4\u95D6\u95D0\u95D5\u96E2\u96DC\u96D9\u96DB\u96DE\u9724\u97A3\u97A6"],
+ ["c340", "\u97AD\u97F9\u984D\u984F\u984C\u984E\u9853\u98BA\u993E\u993F\u993D\u992E\u99A5\u9A0E\u9AC1\u9B03\u9B06\u9B4F\u9B4E\u9B4D\u9BCA\u9BC9\u9BFD\u9BC8\u9BC0\u9D51\u9D5D\u9D60\u9EE0\u9F15\u9F2C\u5133\u56A5\u58DE\u58DF\u58E2\u5BF5\u9F90\u5EEC\u61F2\u61F7\u61F6\u61F5\u6500\u650F\u66E0\u66DD\u6AE5\u6ADD\u6ADA\u6AD3\u701B\u701F\u7028\u701A\u701D\u7015\u7018\u7206\u720D\u7258\u72A2\u7378"],
+ ["c3a1", "\u737A\u74BD\u74CA\u74E3\u7587\u7586\u765F\u7661\u77C7\u7919\u79B1\u7A6B\u7A69\u7C3E\u7C3F\u7C38\u7C3D\u7C37\u7C40\u7E6B\u7E6D\u7E79\u7E69\u7E6A\u7F85\u7E73\u7FB6\u7FB9\u7FB8\u81D8\u85E9\u85DD\u85EA\u85D5\u85E4\u85E5\u85F7\u87FB\u8805\u880D\u87F9\u87FE\u8960\u895F\u8956\u895E\u8B41\u8B5C\u8B58\u8B49\u8B5A\u8B4E\u8B4F\u8B46\u8B59\u8D08\u8D0A\u8E7C\u8E72\u8E87\u8E76\u8E6C\u8E7A\u8E74\u8F54\u8F4E\u8FAD\u908A\u908B\u91B1\u91AE\u93E1\u93D1\u93DF\u93C3\u93C8\u93DC\u93DD\u93D6\u93E2\u93CD\u93D8\u93E4\u93D7\u93E8\u95DC\u96B4\u96E3\u972A\u9727\u9761\u97DC\u97FB\u985E"],
+ ["c440", "\u9858\u985B\u98BC\u9945\u9949\u9A16\u9A19\u9B0D\u9BE8\u9BE7\u9BD6\u9BDB\u9D89\u9D61\u9D72\u9D6A\u9D6C\u9E92\u9E97\u9E93\u9EB4\u52F8\u56A8\u56B7\u56B6\u56B4\u56BC\u58E4\u5B40\u5B43\u5B7D\u5BF6\u5DC9\u61F8\u61FA\u6518\u6514\u6519\u66E6\u6727\u6AEC\u703E\u7030\u7032\u7210\u737B\u74CF\u7662\u7665\u7926\u792A\u792C\u792B\u7AC7\u7AF6\u7C4C\u7C43\u7C4D\u7CEF\u7CF0\u8FAE\u7E7D\u7E7C"],
+ ["c4a1", "\u7E82\u7F4C\u8000\u81DA\u8266\u85FB\u85F9\u8611\u85FA\u8606\u860B\u8607\u860A\u8814\u8815\u8964\u89BA\u89F8\u8B70\u8B6C\u8B66\u8B6F\u8B5F\u8B6B\u8D0F\u8D0D\u8E89\u8E81\u8E85\u8E82\u91B4\u91CB\u9418\u9403\u93FD\u95E1\u9730\u98C4\u9952\u9951\u99A8\u9A2B\u9A30\u9A37\u9A35\u9C13\u9C0D\u9E79\u9EB5\u9EE8\u9F2F\u9F5F\u9F63\u9F61\u5137\u5138\u56C1\u56C0\u56C2\u5914\u5C6C\u5DCD\u61FC\u61FE\u651D\u651C\u6595\u66E9\u6AFB\u6B04\u6AFA\u6BB2\u704C\u721B\u72A7\u74D6\u74D4\u7669\u77D3\u7C50\u7E8F\u7E8C\u7FBC\u8617\u862D\u861A\u8823\u8822\u8821\u881F\u896A\u896C\u89BD\u8B74"],
+ ["c540", "\u8B77\u8B7D\u8D13\u8E8A\u8E8D\u8E8B\u8F5F\u8FAF\u91BA\u942E\u9433\u9435\u943A\u9438\u9432\u942B\u95E2\u9738\u9739\u9732\u97FF\u9867\u9865\u9957\u9A45\u9A43\u9A40\u9A3E\u9ACF\u9B54\u9B51\u9C2D\u9C25\u9DAF\u9DB4\u9DC2\u9DB8\u9E9D\u9EEF\u9F19\u9F5C\u9F66\u9F67\u513C\u513B\u56C8\u56CA\u56C9\u5B7F\u5DD4\u5DD2\u5F4E\u61FF\u6524\u6B0A\u6B61\u7051\u7058\u7380\u74E4\u758A\u766E\u766C"],
+ ["c5a1", "\u79B3\u7C60\u7C5F\u807E\u807D\u81DF\u8972\u896F\u89FC\u8B80\u8D16\u8D17\u8E91\u8E93\u8F61\u9148\u9444\u9451\u9452\u973D\u973E\u97C3\u97C1\u986B\u9955\u9A55\u9A4D\u9AD2\u9B1A\u9C49\u9C31\u9C3E\u9C3B\u9DD3\u9DD7\u9F34\u9F6C\u9F6A\u9F94\u56CC\u5DD6\u6200\u6523\u652B\u652A\u66EC\u6B10\u74DA\u7ACA\u7C64\u7C63\u7C65\u7E93\u7E96\u7E94\u81E2\u8638\u863F\u8831\u8B8A\u9090\u908F\u9463\u9460\u9464\u9768\u986F\u995C\u9A5A\u9A5B\u9A57\u9AD3\u9AD4\u9AD1\u9C54\u9C57\u9C56\u9DE5\u9E9F\u9EF4\u56D1\u58E9\u652C\u705E\u7671\u7672\u77D7\u7F50\u7F88\u8836\u8839\u8862\u8B93\u8B92"],
+ ["c640", "\u8B96\u8277\u8D1B\u91C0\u946A\u9742\u9748\u9744\u97C6\u9870\u9A5F\u9B22\u9B58\u9C5F\u9DF9\u9DFA\u9E7C\u9E7D\u9F07\u9F77\u9F72\u5EF3\u6B16\u7063\u7C6C\u7C6E\u883B\u89C0\u8EA1\u91C1\u9472\u9470\u9871\u995E\u9AD6\u9B23\u9ECC\u7064\u77DA\u8B9A\u9477\u97C9\u9A62\u9A65\u7E9C\u8B9C\u8EAA\u91C5\u947D\u947E\u947C\u9C77\u9C78\u9EF7\u8C54\u947F\u9E1A\u7228\u9A6A\u9B31\u9E1B\u9E1E\u7C72"],
+ ["c940", "\u4E42\u4E5C\u51F5\u531A\u5382\u4E07\u4E0C\u4E47\u4E8D\u56D7\uFA0C\u5C6E\u5F73\u4E0F\u5187\u4E0E\u4E2E\u4E93\u4EC2\u4EC9\u4EC8\u5198\u52FC\u536C\u53B9\u5720\u5903\u592C\u5C10\u5DFF\u65E1\u6BB3\u6BCC\u6C14\u723F\u4E31\u4E3C\u4EE8\u4EDC\u4EE9\u4EE1\u4EDD\u4EDA\u520C\u531C\u534C\u5722\u5723\u5917\u592F\u5B81\u5B84\u5C12\u5C3B\u5C74\u5C73\u5E04\u5E80\u5E82\u5FC9\u6209\u6250\u6C15"],
+ ["c9a1", "\u6C36\u6C43\u6C3F\u6C3B\u72AE\u72B0\u738A\u79B8\u808A\u961E\u4F0E\u4F18\u4F2C\u4EF5\u4F14\u4EF1\u4F00\u4EF7\u4F08\u4F1D\u4F02\u4F05\u4F22\u4F13\u4F04\u4EF4\u4F12\u51B1\u5213\u5209\u5210\u52A6\u5322\u531F\u534D\u538A\u5407\u56E1\u56DF\u572E\u572A\u5734\u593C\u5980\u597C\u5985\u597B\u597E\u5977\u597F\u5B56\u5C15\u5C25\u5C7C\u5C7A\u5C7B\u5C7E\u5DDF\u5E75\u5E84\u5F02\u5F1A\u5F74\u5FD5\u5FD4\u5FCF\u625C\u625E\u6264\u6261\u6266\u6262\u6259\u6260\u625A\u6265\u65EF\u65EE\u673E\u6739\u6738\u673B\u673A\u673F\u673C\u6733\u6C18\u6C46\u6C52\u6C5C\u6C4F\u6C4A\u6C54\u6C4B"],
+ ["ca40", "\u6C4C\u7071\u725E\u72B4\u72B5\u738E\u752A\u767F\u7A75\u7F51\u8278\u827C\u8280\u827D\u827F\u864D\u897E\u9099\u9097\u9098\u909B\u9094\u9622\u9624\u9620\u9623\u4F56\u4F3B\u4F62\u4F49\u4F53\u4F64\u4F3E\u4F67\u4F52\u4F5F\u4F41\u4F58\u4F2D\u4F33\u4F3F\u4F61\u518F\u51B9\u521C\u521E\u5221\u52AD\u52AE\u5309\u5363\u5372\u538E\u538F\u5430\u5437\u542A\u5454\u5445\u5419\u541C\u5425\u5418"],
+ ["caa1", "\u543D\u544F\u5441\u5428\u5424\u5447\u56EE\u56E7\u56E5\u5741\u5745\u574C\u5749\u574B\u5752\u5906\u5940\u59A6\u5998\u59A0\u5997\u598E\u59A2\u5990\u598F\u59A7\u59A1\u5B8E\u5B92\u5C28\u5C2A\u5C8D\u5C8F\u5C88\u5C8B\u5C89\u5C92\u5C8A\u5C86\u5C93\u5C95\u5DE0\u5E0A\u5E0E\u5E8B\u5E89\u5E8C\u5E88\u5E8D\u5F05\u5F1D\u5F78\u5F76\u5FD2\u5FD1\u5FD0\u5FED\u5FE8\u5FEE\u5FF3\u5FE1\u5FE4\u5FE3\u5FFA\u5FEF\u5FF7\u5FFB\u6000\u5FF4\u623A\u6283\u628C\u628E\u628F\u6294\u6287\u6271\u627B\u627A\u6270\u6281\u6288\u6277\u627D\u6272\u6274\u6537\u65F0\u65F4\u65F3\u65F2\u65F5\u6745\u6747"],
+ ["cb40", "\u6759\u6755\u674C\u6748\u675D\u674D\u675A\u674B\u6BD0\u6C19\u6C1A\u6C78\u6C67\u6C6B\u6C84\u6C8B\u6C8F\u6C71\u6C6F\u6C69\u6C9A\u6C6D\u6C87\u6C95\u6C9C\u6C66\u6C73\u6C65\u6C7B\u6C8E\u7074\u707A\u7263\u72BF\u72BD\u72C3\u72C6\u72C1\u72BA\u72C5\u7395\u7397\u7393\u7394\u7392\u753A\u7539\u7594\u7595\u7681\u793D\u8034\u8095\u8099\u8090\u8092\u809C\u8290\u828F\u8285\u828E\u8291\u8293"],
+ ["cba1", "\u828A\u8283\u8284\u8C78\u8FC9\u8FBF\u909F\u90A1\u90A5\u909E\u90A7\u90A0\u9630\u9628\u962F\u962D\u4E33\u4F98\u4F7C\u4F85\u4F7D\u4F80\u4F87\u4F76\u4F74\u4F89\u4F84\u4F77\u4F4C\u4F97\u4F6A\u4F9A\u4F79\u4F81\u4F78\u4F90\u4F9C\u4F94\u4F9E\u4F92\u4F82\u4F95\u4F6B\u4F6E\u519E\u51BC\u51BE\u5235\u5232\u5233\u5246\u5231\u52BC\u530A\u530B\u533C\u5392\u5394\u5487\u547F\u5481\u5491\u5482\u5488\u546B\u547A\u547E\u5465\u546C\u5474\u5466\u548D\u546F\u5461\u5460\u5498\u5463\u5467\u5464\u56F7\u56F9\u576F\u5772\u576D\u576B\u5771\u5770\u5776\u5780\u5775\u577B\u5773\u5774\u5762"],
+ ["cc40", "\u5768\u577D\u590C\u5945\u59B5\u59BA\u59CF\u59CE\u59B2\u59CC\u59C1\u59B6\u59BC\u59C3\u59D6\u59B1\u59BD\u59C0\u59C8\u59B4\u59C7\u5B62\u5B65\u5B93\u5B95\u5C44\u5C47\u5CAE\u5CA4\u5CA0\u5CB5\u5CAF\u5CA8\u5CAC\u5C9F\u5CA3\u5CAD\u5CA2\u5CAA\u5CA7\u5C9D\u5CA5\u5CB6\u5CB0\u5CA6\u5E17\u5E14\u5E19\u5F28\u5F22\u5F23\u5F24\u5F54\u5F82\u5F7E\u5F7D\u5FDE\u5FE5\u602D\u6026\u6019\u6032\u600B"],
+ ["cca1", "\u6034\u600A\u6017\u6033\u601A\u601E\u602C\u6022\u600D\u6010\u602E\u6013\u6011\u600C\u6009\u601C\u6214\u623D\u62AD\u62B4\u62D1\u62BE\u62AA\u62B6\u62CA\u62AE\u62B3\u62AF\u62BB\u62A9\u62B0\u62B8\u653D\u65A8\u65BB\u6609\u65FC\u6604\u6612\u6608\u65FB\u6603\u660B\u660D\u6605\u65FD\u6611\u6610\u66F6\u670A\u6785\u676C\u678E\u6792\u6776\u677B\u6798\u6786\u6784\u6774\u678D\u678C\u677A\u679F\u6791\u6799\u6783\u677D\u6781\u6778\u6779\u6794\u6B25\u6B80\u6B7E\u6BDE\u6C1D\u6C93\u6CEC\u6CEB\u6CEE\u6CD9\u6CB6\u6CD4\u6CAD\u6CE7\u6CB7\u6CD0\u6CC2\u6CBA\u6CC3\u6CC6\u6CED\u6CF2"],
+ ["cd40", "\u6CD2\u6CDD\u6CB4\u6C8A\u6C9D\u6C80\u6CDE\u6CC0\u6D30\u6CCD\u6CC7\u6CB0\u6CF9\u6CCF\u6CE9\u6CD1\u7094\u7098\u7085\u7093\u7086\u7084\u7091\u7096\u7082\u709A\u7083\u726A\u72D6\u72CB\u72D8\u72C9\u72DC\u72D2\u72D4\u72DA\u72CC\u72D1\u73A4\u73A1\u73AD\u73A6\u73A2\u73A0\u73AC\u739D\u74DD\u74E8\u753F\u7540\u753E\u758C\u7598\u76AF\u76F3\u76F1\u76F0\u76F5\u77F8\u77FC\u77F9\u77FB\u77FA"],
+ ["cda1", "\u77F7\u7942\u793F\u79C5\u7A78\u7A7B\u7AFB\u7C75\u7CFD\u8035\u808F\u80AE\u80A3\u80B8\u80B5\u80AD\u8220\u82A0\u82C0\u82AB\u829A\u8298\u829B\u82B5\u82A7\u82AE\u82BC\u829E\u82BA\u82B4\u82A8\u82A1\u82A9\u82C2\u82A4\u82C3\u82B6\u82A2\u8670\u866F\u866D\u866E\u8C56\u8FD2\u8FCB\u8FD3\u8FCD\u8FD6\u8FD5\u8FD7\u90B2\u90B4\u90AF\u90B3\u90B0\u9639\u963D\u963C\u963A\u9643\u4FCD\u4FC5\u4FD3\u4FB2\u4FC9\u4FCB\u4FC1\u4FD4\u4FDC\u4FD9\u4FBB\u4FB3\u4FDB\u4FC7\u4FD6\u4FBA\u4FC0\u4FB9\u4FEC\u5244\u5249\u52C0\u52C2\u533D\u537C\u5397\u5396\u5399\u5398\u54BA\u54A1\u54AD\u54A5\u54CF"],
+ ["ce40", "\u54C3\u830D\u54B7\u54AE\u54D6\u54B6\u54C5\u54C6\u54A0\u5470\u54BC\u54A2\u54BE\u5472\u54DE\u54B0\u57B5\u579E\u579F\u57A4\u578C\u5797\u579D\u579B\u5794\u5798\u578F\u5799\u57A5\u579A\u5795\u58F4\u590D\u5953\u59E1\u59DE\u59EE\u5A00\u59F1\u59DD\u59FA\u59FD\u59FC\u59F6\u59E4\u59F2\u59F7\u59DB\u59E9\u59F3\u59F5\u59E0\u59FE\u59F4\u59ED\u5BA8\u5C4C\u5CD0\u5CD8\u5CCC\u5CD7\u5CCB\u5CDB"],
+ ["cea1", "\u5CDE\u5CDA\u5CC9\u5CC7\u5CCA\u5CD6\u5CD3\u5CD4\u5CCF\u5CC8\u5CC6\u5CCE\u5CDF\u5CF8\u5DF9\u5E21\u5E22\u5E23\u5E20\u5E24\u5EB0\u5EA4\u5EA2\u5E9B\u5EA3\u5EA5\u5F07\u5F2E\u5F56\u5F86\u6037\u6039\u6054\u6072\u605E\u6045\u6053\u6047\u6049\u605B\u604C\u6040\u6042\u605F\u6024\u6044\u6058\u6066\u606E\u6242\u6243\u62CF\u630D\u630B\u62F5\u630E\u6303\u62EB\u62F9\u630F\u630C\u62F8\u62F6\u6300\u6313\u6314\u62FA\u6315\u62FB\u62F0\u6541\u6543\u65AA\u65BF\u6636\u6621\u6632\u6635\u661C\u6626\u6622\u6633\u662B\u663A\u661D\u6634\u6639\u662E\u670F\u6710\u67C1\u67F2\u67C8\u67BA"],
+ ["cf40", "\u67DC\u67BB\u67F8\u67D8\u67C0\u67B7\u67C5\u67EB\u67E4\u67DF\u67B5\u67CD\u67B3\u67F7\u67F6\u67EE\u67E3\u67C2\u67B9\u67CE\u67E7\u67F0\u67B2\u67FC\u67C6\u67ED\u67CC\u67AE\u67E6\u67DB\u67FA\u67C9\u67CA\u67C3\u67EA\u67CB\u6B28\u6B82\u6B84\u6BB6\u6BD6\u6BD8\u6BE0\u6C20\u6C21\u6D28\u6D34\u6D2D\u6D1F\u6D3C\u6D3F\u6D12\u6D0A\u6CDA\u6D33\u6D04\u6D19\u6D3A\u6D1A\u6D11\u6D00\u6D1D\u6D42"],
+ ["cfa1", "\u6D01\u6D18\u6D37\u6D03\u6D0F\u6D40\u6D07\u6D20\u6D2C\u6D08\u6D22\u6D09\u6D10\u70B7\u709F\u70BE\u70B1\u70B0\u70A1\u70B4\u70B5\u70A9\u7241\u7249\u724A\u726C\u7270\u7273\u726E\u72CA\u72E4\u72E8\u72EB\u72DF\u72EA\u72E6\u72E3\u7385\u73CC\u73C2\u73C8\u73C5\u73B9\u73B6\u73B5\u73B4\u73EB\u73BF\u73C7\u73BE\u73C3\u73C6\u73B8\u73CB\u74EC\u74EE\u752E\u7547\u7548\u75A7\u75AA\u7679\u76C4\u7708\u7703\u7704\u7705\u770A\u76F7\u76FB\u76FA\u77E7\u77E8\u7806\u7811\u7812\u7805\u7810\u780F\u780E\u7809\u7803\u7813\u794A\u794C\u794B\u7945\u7944\u79D5\u79CD\u79CF\u79D6\u79CE\u7A80"],
+ ["d040", "\u7A7E\u7AD1\u7B00\u7B01\u7C7A\u7C78\u7C79\u7C7F\u7C80\u7C81\u7D03\u7D08\u7D01\u7F58\u7F91\u7F8D\u7FBE\u8007\u800E\u800F\u8014\u8037\u80D8\u80C7\u80E0\u80D1\u80C8\u80C2\u80D0\u80C5\u80E3\u80D9\u80DC\u80CA\u80D5\u80C9\u80CF\u80D7\u80E6\u80CD\u81FF\u8221\u8294\u82D9\u82FE\u82F9\u8307\u82E8\u8300\u82D5\u833A\u82EB\u82D6\u82F4\u82EC\u82E1\u82F2\u82F5\u830C\u82FB\u82F6\u82F0\u82EA"],
+ ["d0a1", "\u82E4\u82E0\u82FA\u82F3\u82ED\u8677\u8674\u867C\u8673\u8841\u884E\u8867\u886A\u8869\u89D3\u8A04\u8A07\u8D72\u8FE3\u8FE1\u8FEE\u8FE0\u90F1\u90BD\u90BF\u90D5\u90C5\u90BE\u90C7\u90CB\u90C8\u91D4\u91D3\u9654\u964F\u9651\u9653\u964A\u964E\u501E\u5005\u5007\u5013\u5022\u5030\u501B\u4FF5\u4FF4\u5033\u5037\u502C\u4FF6\u4FF7\u5017\u501C\u5020\u5027\u5035\u502F\u5031\u500E\u515A\u5194\u5193\u51CA\u51C4\u51C5\u51C8\u51CE\u5261\u525A\u5252\u525E\u525F\u5255\u5262\u52CD\u530E\u539E\u5526\u54E2\u5517\u5512\u54E7\u54F3\u54E4\u551A\u54FF\u5504\u5508\u54EB\u5511\u5505\u54F1"],
+ ["d140", "\u550A\u54FB\u54F7\u54F8\u54E0\u550E\u5503\u550B\u5701\u5702\u57CC\u5832\u57D5\u57D2\u57BA\u57C6\u57BD\u57BC\u57B8\u57B6\u57BF\u57C7\u57D0\u57B9\u57C1\u590E\u594A\u5A19\u5A16\u5A2D\u5A2E\u5A15\u5A0F\u5A17\u5A0A\u5A1E\u5A33\u5B6C\u5BA7\u5BAD\u5BAC\u5C03\u5C56\u5C54\u5CEC\u5CFF\u5CEE\u5CF1\u5CF7\u5D00\u5CF9\u5E29\u5E28\u5EA8\u5EAE\u5EAA\u5EAC\u5F33\u5F30\u5F67\u605D\u605A\u6067"],
+ ["d1a1", "\u6041\u60A2\u6088\u6080\u6092\u6081\u609D\u6083\u6095\u609B\u6097\u6087\u609C\u608E\u6219\u6246\u62F2\u6310\u6356\u632C\u6344\u6345\u6336\u6343\u63E4\u6339\u634B\u634A\u633C\u6329\u6341\u6334\u6358\u6354\u6359\u632D\u6347\u6333\u635A\u6351\u6338\u6357\u6340\u6348\u654A\u6546\u65C6\u65C3\u65C4\u65C2\u664A\u665F\u6647\u6651\u6712\u6713\u681F\u681A\u6849\u6832\u6833\u683B\u684B\u684F\u6816\u6831\u681C\u6835\u682B\u682D\u682F\u684E\u6844\u6834\u681D\u6812\u6814\u6826\u6828\u682E\u684D\u683A\u6825\u6820\u6B2C\u6B2F\u6B2D\u6B31\u6B34\u6B6D\u8082\u6B88\u6BE6\u6BE4"],
+ ["d240", "\u6BE8\u6BE3\u6BE2\u6BE7\u6C25\u6D7A\u6D63\u6D64\u6D76\u6D0D\u6D61\u6D92\u6D58\u6D62\u6D6D\u6D6F\u6D91\u6D8D\u6DEF\u6D7F\u6D86\u6D5E\u6D67\u6D60\u6D97\u6D70\u6D7C\u6D5F\u6D82\u6D98\u6D2F\u6D68\u6D8B\u6D7E\u6D80\u6D84\u6D16\u6D83\u6D7B\u6D7D\u6D75\u6D90\u70DC\u70D3\u70D1\u70DD\u70CB\u7F39\u70E2\u70D7\u70D2\u70DE\u70E0\u70D4\u70CD\u70C5\u70C6\u70C7\u70DA\u70CE\u70E1\u7242\u7278"],
+ ["d2a1", "\u7277\u7276\u7300\u72FA\u72F4\u72FE\u72F6\u72F3\u72FB\u7301\u73D3\u73D9\u73E5\u73D6\u73BC\u73E7\u73E3\u73E9\u73DC\u73D2\u73DB\u73D4\u73DD\u73DA\u73D7\u73D8\u73E8\u74DE\u74DF\u74F4\u74F5\u7521\u755B\u755F\u75B0\u75C1\u75BB\u75C4\u75C0\u75BF\u75B6\u75BA\u768A\u76C9\u771D\u771B\u7710\u7713\u7712\u7723\u7711\u7715\u7719\u771A\u7722\u7727\u7823\u782C\u7822\u7835\u782F\u7828\u782E\u782B\u7821\u7829\u7833\u782A\u7831\u7954\u795B\u794F\u795C\u7953\u7952\u7951\u79EB\u79EC\u79E0\u79EE\u79ED\u79EA\u79DC\u79DE\u79DD\u7A86\u7A89\u7A85\u7A8B\u7A8C\u7A8A\u7A87\u7AD8\u7B10"],
+ ["d340", "\u7B04\u7B13\u7B05\u7B0F\u7B08\u7B0A\u7B0E\u7B09\u7B12\u7C84\u7C91\u7C8A\u7C8C\u7C88\u7C8D\u7C85\u7D1E\u7D1D\u7D11\u7D0E\u7D18\u7D16\u7D13\u7D1F\u7D12\u7D0F\u7D0C\u7F5C\u7F61\u7F5E\u7F60\u7F5D\u7F5B\u7F96\u7F92\u7FC3\u7FC2\u7FC0\u8016\u803E\u8039\u80FA\u80F2\u80F9\u80F5\u8101\u80FB\u8100\u8201\u822F\u8225\u8333\u832D\u8344\u8319\u8351\u8325\u8356\u833F\u8341\u8326\u831C\u8322"],
+ ["d3a1", "\u8342\u834E\u831B\u832A\u8308\u833C\u834D\u8316\u8324\u8320\u8337\u832F\u8329\u8347\u8345\u834C\u8353\u831E\u832C\u834B\u8327\u8348\u8653\u8652\u86A2\u86A8\u8696\u868D\u8691\u869E\u8687\u8697\u8686\u868B\u869A\u8685\u86A5\u8699\u86A1\u86A7\u8695\u8698\u868E\u869D\u8690\u8694\u8843\u8844\u886D\u8875\u8876\u8872\u8880\u8871\u887F\u886F\u8883\u887E\u8874\u887C\u8A12\u8C47\u8C57\u8C7B\u8CA4\u8CA3\u8D76\u8D78\u8DB5\u8DB7\u8DB6\u8ED1\u8ED3\u8FFE\u8FF5\u9002\u8FFF\u8FFB\u9004\u8FFC\u8FF6\u90D6\u90E0\u90D9\u90DA\u90E3\u90DF\u90E5\u90D8\u90DB\u90D7\u90DC\u90E4\u9150"],
+ ["d440", "\u914E\u914F\u91D5\u91E2\u91DA\u965C\u965F\u96BC\u98E3\u9ADF\u9B2F\u4E7F\u5070\u506A\u5061\u505E\u5060\u5053\u504B\u505D\u5072\u5048\u504D\u5041\u505B\u504A\u5062\u5015\u5045\u505F\u5069\u506B\u5063\u5064\u5046\u5040\u506E\u5073\u5057\u5051\u51D0\u526B\u526D\u526C\u526E\u52D6\u52D3\u532D\u539C\u5575\u5576\u553C\u554D\u5550\u5534\u552A\u5551\u5562\u5536\u5535\u5530\u5552\u5545"],
+ ["d4a1", "\u550C\u5532\u5565\u554E\u5539\u5548\u552D\u553B\u5540\u554B\u570A\u5707\u57FB\u5814\u57E2\u57F6\u57DC\u57F4\u5800\u57ED\u57FD\u5808\u57F8\u580B\u57F3\u57CF\u5807\u57EE\u57E3\u57F2\u57E5\u57EC\u57E1\u580E\u57FC\u5810\u57E7\u5801\u580C\u57F1\u57E9\u57F0\u580D\u5804\u595C\u5A60\u5A58\u5A55\u5A67\u5A5E\u5A38\u5A35\u5A6D\u5A50\u5A5F\u5A65\u5A6C\u5A53\u5A64\u5A57\u5A43\u5A5D\u5A52\u5A44\u5A5B\u5A48\u5A8E\u5A3E\u5A4D\u5A39\u5A4C\u5A70\u5A69\u5A47\u5A51\u5A56\u5A42\u5A5C\u5B72\u5B6E\u5BC1\u5BC0\u5C59\u5D1E\u5D0B\u5D1D\u5D1A\u5D20\u5D0C\u5D28\u5D0D\u5D26\u5D25\u5D0F"],
+ ["d540", "\u5D30\u5D12\u5D23\u5D1F\u5D2E\u5E3E\u5E34\u5EB1\u5EB4\u5EB9\u5EB2\u5EB3\u5F36\u5F38\u5F9B\u5F96\u5F9F\u608A\u6090\u6086\u60BE\u60B0\u60BA\u60D3\u60D4\u60CF\u60E4\u60D9\u60DD\u60C8\u60B1\u60DB\u60B7\u60CA\u60BF\u60C3\u60CD\u60C0\u6332\u6365\u638A\u6382\u637D\u63BD\u639E\u63AD\u639D\u6397\u63AB\u638E\u636F\u6387\u6390\u636E\u63AF\u6375\u639C\u636D\u63AE\u637C\u63A4\u633B\u639F"],
+ ["d5a1", "\u6378\u6385\u6381\u6391\u638D\u6370\u6553\u65CD\u6665\u6661\u665B\u6659\u665C\u6662\u6718\u6879\u6887\u6890\u689C\u686D\u686E\u68AE\u68AB\u6956\u686F\u68A3\u68AC\u68A9\u6875\u6874\u68B2\u688F\u6877\u6892\u687C\u686B\u6872\u68AA\u6880\u6871\u687E\u689B\u6896\u688B\u68A0\u6889\u68A4\u6878\u687B\u6891\u688C\u688A\u687D\u6B36\u6B33\u6B37\u6B38\u6B91\u6B8F\u6B8D\u6B8E\u6B8C\u6C2A\u6DC0\u6DAB\u6DB4\u6DB3\u6E74\u6DAC\u6DE9\u6DE2\u6DB7\u6DF6\u6DD4\u6E00\u6DC8\u6DE0\u6DDF\u6DD6\u6DBE\u6DE5\u6DDC\u6DDD\u6DDB\u6DF4\u6DCA\u6DBD\u6DED\u6DF0\u6DBA\u6DD5\u6DC2\u6DCF\u6DC9"],
+ ["d640", "\u6DD0\u6DF2\u6DD3\u6DFD\u6DD7\u6DCD\u6DE3\u6DBB\u70FA\u710D\u70F7\u7117\u70F4\u710C\u70F0\u7104\u70F3\u7110\u70FC\u70FF\u7106\u7113\u7100\u70F8\u70F6\u710B\u7102\u710E\u727E\u727B\u727C\u727F\u731D\u7317\u7307\u7311\u7318\u730A\u7308\u72FF\u730F\u731E\u7388\u73F6\u73F8\u73F5\u7404\u7401\u73FD\u7407\u7400\u73FA\u73FC\u73FF\u740C\u740B\u73F4\u7408\u7564\u7563\u75CE\u75D2\u75CF"],
+ ["d6a1", "\u75CB\u75CC\u75D1\u75D0\u768F\u7689\u76D3\u7739\u772F\u772D\u7731\u7732\u7734\u7733\u773D\u7725\u773B\u7735\u7848\u7852\u7849\u784D\u784A\u784C\u7826\u7845\u7850\u7964\u7967\u7969\u796A\u7963\u796B\u7961\u79BB\u79FA\u79F8\u79F6\u79F7\u7A8F\u7A94\u7A90\u7B35\u7B47\u7B34\u7B25\u7B30\u7B22\u7B24\u7B33\u7B18\u7B2A\u7B1D\u7B31\u7B2B\u7B2D\u7B2F\u7B32\u7B38\u7B1A\u7B23\u7C94\u7C98\u7C96\u7CA3\u7D35\u7D3D\u7D38\u7D36\u7D3A\u7D45\u7D2C\u7D29\u7D41\u7D47\u7D3E\u7D3F\u7D4A\u7D3B\u7D28\u7F63\u7F95\u7F9C\u7F9D\u7F9B\u7FCA\u7FCB\u7FCD\u7FD0\u7FD1\u7FC7\u7FCF\u7FC9\u801F"],
+ ["d740", "\u801E\u801B\u8047\u8043\u8048\u8118\u8125\u8119\u811B\u812D\u811F\u812C\u811E\u8121\u8115\u8127\u811D\u8122\u8211\u8238\u8233\u823A\u8234\u8232\u8274\u8390\u83A3\u83A8\u838D\u837A\u8373\u83A4\u8374\u838F\u8381\u8395\u8399\u8375\u8394\u83A9\u837D\u8383\u838C\u839D\u839B\u83AA\u838B\u837E\u83A5\u83AF\u8388\u8397\u83B0\u837F\u83A6\u8387\u83AE\u8376\u839A\u8659\u8656\u86BF\u86B7"],
+ ["d7a1", "\u86C2\u86C1\u86C5\u86BA\u86B0\u86C8\u86B9\u86B3\u86B8\u86CC\u86B4\u86BB\u86BC\u86C3\u86BD\u86BE\u8852\u8889\u8895\u88A8\u88A2\u88AA\u889A\u8891\u88A1\u889F\u8898\u88A7\u8899\u889B\u8897\u88A4\u88AC\u888C\u8893\u888E\u8982\u89D6\u89D9\u89D5\u8A30\u8A27\u8A2C\u8A1E\u8C39\u8C3B\u8C5C\u8C5D\u8C7D\u8CA5\u8D7D\u8D7B\u8D79\u8DBC\u8DC2\u8DB9\u8DBF\u8DC1\u8ED8\u8EDE\u8EDD\u8EDC\u8ED7\u8EE0\u8EE1\u9024\u900B\u9011\u901C\u900C\u9021\u90EF\u90EA\u90F0\u90F4\u90F2\u90F3\u90D4\u90EB\u90EC\u90E9\u9156\u9158\u915A\u9153\u9155\u91EC\u91F4\u91F1\u91F3\u91F8\u91E4\u91F9\u91EA"],
+ ["d840", "\u91EB\u91F7\u91E8\u91EE\u957A\u9586\u9588\u967C\u966D\u966B\u9671\u966F\u96BF\u976A\u9804\u98E5\u9997\u509B\u5095\u5094\u509E\u508B\u50A3\u5083\u508C\u508E\u509D\u5068\u509C\u5092\u5082\u5087\u515F\u51D4\u5312\u5311\u53A4\u53A7\u5591\u55A8\u55A5\u55AD\u5577\u5645\u55A2\u5593\u5588\u558F\u55B5\u5581\u55A3\u5592\u55A4\u557D\u558C\u55A6\u557F\u5595\u55A1\u558E\u570C\u5829\u5837"],
+ ["d8a1", "\u5819\u581E\u5827\u5823\u5828\u57F5\u5848\u5825\u581C\u581B\u5833\u583F\u5836\u582E\u5839\u5838\u582D\u582C\u583B\u5961\u5AAF\u5A94\u5A9F\u5A7A\u5AA2\u5A9E\u5A78\u5AA6\u5A7C\u5AA5\u5AAC\u5A95\u5AAE\u5A37\u5A84\u5A8A\u5A97\u5A83\u5A8B\u5AA9\u5A7B\u5A7D\u5A8C\u5A9C\u5A8F\u5A93\u5A9D\u5BEA\u5BCD\u5BCB\u5BD4\u5BD1\u5BCA\u5BCE\u5C0C\u5C30\u5D37\u5D43\u5D6B\u5D41\u5D4B\u5D3F\u5D35\u5D51\u5D4E\u5D55\u5D33\u5D3A\u5D52\u5D3D\u5D31\u5D59\u5D42\u5D39\u5D49\u5D38\u5D3C\u5D32\u5D36\u5D40\u5D45\u5E44\u5E41\u5F58\u5FA6\u5FA5\u5FAB\u60C9\u60B9\u60CC\u60E2\u60CE\u60C4\u6114"],
+ ["d940", "\u60F2\u610A\u6116\u6105\u60F5\u6113\u60F8\u60FC\u60FE\u60C1\u6103\u6118\u611D\u6110\u60FF\u6104\u610B\u624A\u6394\u63B1\u63B0\u63CE\u63E5\u63E8\u63EF\u63C3\u649D\u63F3\u63CA\u63E0\u63F6\u63D5\u63F2\u63F5\u6461\u63DF\u63BE\u63DD\u63DC\u63C4\u63D8\u63D3\u63C2\u63C7\u63CC\u63CB\u63C8\u63F0\u63D7\u63D9\u6532\u6567\u656A\u6564\u655C\u6568\u6565\u658C\u659D\u659E\u65AE\u65D0\u65D2"],
+ ["d9a1", "\u667C\u666C\u667B\u6680\u6671\u6679\u666A\u6672\u6701\u690C\u68D3\u6904\u68DC\u692A\u68EC\u68EA\u68F1\u690F\u68D6\u68F7\u68EB\u68E4\u68F6\u6913\u6910\u68F3\u68E1\u6907\u68CC\u6908\u6970\u68B4\u6911\u68EF\u68C6\u6914\u68F8\u68D0\u68FD\u68FC\u68E8\u690B\u690A\u6917\u68CE\u68C8\u68DD\u68DE\u68E6\u68F4\u68D1\u6906\u68D4\u68E9\u6915\u6925\u68C7\u6B39\u6B3B\u6B3F\u6B3C\u6B94\u6B97\u6B99\u6B95\u6BBD\u6BF0\u6BF2\u6BF3\u6C30\u6DFC\u6E46\u6E47\u6E1F\u6E49\u6E88\u6E3C\u6E3D\u6E45\u6E62\u6E2B\u6E3F\u6E41\u6E5D\u6E73\u6E1C\u6E33\u6E4B\u6E40\u6E51\u6E3B\u6E03\u6E2E\u6E5E"],
+ ["da40", "\u6E68\u6E5C\u6E61\u6E31\u6E28\u6E60\u6E71\u6E6B\u6E39\u6E22\u6E30\u6E53\u6E65\u6E27\u6E78\u6E64\u6E77\u6E55\u6E79\u6E52\u6E66\u6E35\u6E36\u6E5A\u7120\u711E\u712F\u70FB\u712E\u7131\u7123\u7125\u7122\u7132\u711F\u7128\u713A\u711B\u724B\u725A\u7288\u7289\u7286\u7285\u728B\u7312\u730B\u7330\u7322\u7331\u7333\u7327\u7332\u732D\u7326\u7323\u7335\u730C\u742E\u742C\u7430\u742B\u7416"],
+ ["daa1", "\u741A\u7421\u742D\u7431\u7424\u7423\u741D\u7429\u7420\u7432\u74FB\u752F\u756F\u756C\u75E7\u75DA\u75E1\u75E6\u75DD\u75DF\u75E4\u75D7\u7695\u7692\u76DA\u7746\u7747\u7744\u774D\u7745\u774A\u774E\u774B\u774C\u77DE\u77EC\u7860\u7864\u7865\u785C\u786D\u7871\u786A\u786E\u7870\u7869\u7868\u785E\u7862\u7974\u7973\u7972\u7970\u7A02\u7A0A\u7A03\u7A0C\u7A04\u7A99\u7AE6\u7AE4\u7B4A\u7B3B\u7B44\u7B48\u7B4C\u7B4E\u7B40\u7B58\u7B45\u7CA2\u7C9E\u7CA8\u7CA1\u7D58\u7D6F\u7D63\u7D53\u7D56\u7D67\u7D6A\u7D4F\u7D6D\u7D5C\u7D6B\u7D52\u7D54\u7D69\u7D51\u7D5F\u7D4E\u7F3E\u7F3F\u7F65"],
+ ["db40", "\u7F66\u7FA2\u7FA0\u7FA1\u7FD7\u8051\u804F\u8050\u80FE\u80D4\u8143\u814A\u8152\u814F\u8147\u813D\u814D\u813A\u81E6\u81EE\u81F7\u81F8\u81F9\u8204\u823C\u823D\u823F\u8275\u833B\u83CF\u83F9\u8423\u83C0\u83E8\u8412\u83E7\u83E4\u83FC\u83F6\u8410\u83C6\u83C8\u83EB\u83E3\u83BF\u8401\u83DD\u83E5\u83D8\u83FF\u83E1\u83CB\u83CE\u83D6\u83F5\u83C9\u8409\u840F\u83DE\u8411\u8406\u83C2\u83F3"],
+ ["dba1", "\u83D5\u83FA\u83C7\u83D1\u83EA\u8413\u83C3\u83EC\u83EE\u83C4\u83FB\u83D7\u83E2\u841B\u83DB\u83FE\u86D8\u86E2\u86E6\u86D3\u86E3\u86DA\u86EA\u86DD\u86EB\u86DC\u86EC\u86E9\u86D7\u86E8\u86D1\u8848\u8856\u8855\u88BA\u88D7\u88B9\u88B8\u88C0\u88BE\u88B6\u88BC\u88B7\u88BD\u88B2\u8901\u88C9\u8995\u8998\u8997\u89DD\u89DA\u89DB\u8A4E\u8A4D\u8A39\u8A59\u8A40\u8A57\u8A58\u8A44\u8A45\u8A52\u8A48\u8A51\u8A4A\u8A4C\u8A4F\u8C5F\u8C81\u8C80\u8CBA\u8CBE\u8CB0\u8CB9\u8CB5\u8D84\u8D80\u8D89\u8DD8\u8DD3\u8DCD\u8DC7\u8DD6\u8DDC\u8DCF\u8DD5\u8DD9\u8DC8\u8DD7\u8DC5\u8EEF\u8EF7\u8EFA"],
+ ["dc40", "\u8EF9\u8EE6\u8EEE\u8EE5\u8EF5\u8EE7\u8EE8\u8EF6\u8EEB\u8EF1\u8EEC\u8EF4\u8EE9\u902D\u9034\u902F\u9106\u912C\u9104\u90FF\u90FC\u9108\u90F9\u90FB\u9101\u9100\u9107\u9105\u9103\u9161\u9164\u915F\u9162\u9160\u9201\u920A\u9225\u9203\u921A\u9226\u920F\u920C\u9200\u9212\u91FF\u91FD\u9206\u9204\u9227\u9202\u921C\u9224\u9219\u9217\u9205\u9216\u957B\u958D\u958C\u9590\u9687\u967E\u9688"],
+ ["dca1", "\u9689\u9683\u9680\u96C2\u96C8\u96C3\u96F1\u96F0\u976C\u9770\u976E\u9807\u98A9\u98EB\u9CE6\u9EF9\u4E83\u4E84\u4EB6\u50BD\u50BF\u50C6\u50AE\u50C4\u50CA\u50B4\u50C8\u50C2\u50B0\u50C1\u50BA\u50B1\u50CB\u50C9\u50B6\u50B8\u51D7\u527A\u5278\u527B\u527C\u55C3\u55DB\u55CC\u55D0\u55CB\u55CA\u55DD\u55C0\u55D4\u55C4\u55E9\u55BF\u55D2\u558D\u55CF\u55D5\u55E2\u55D6\u55C8\u55F2\u55CD\u55D9\u55C2\u5714\u5853\u5868\u5864\u584F\u584D\u5849\u586F\u5855\u584E\u585D\u5859\u5865\u585B\u583D\u5863\u5871\u58FC\u5AC7\u5AC4\u5ACB\u5ABA\u5AB8\u5AB1\u5AB5\u5AB0\u5ABF\u5AC8\u5ABB\u5AC6"],
+ ["dd40", "\u5AB7\u5AC0\u5ACA\u5AB4\u5AB6\u5ACD\u5AB9\u5A90\u5BD6\u5BD8\u5BD9\u5C1F\u5C33\u5D71\u5D63\u5D4A\u5D65\u5D72\u5D6C\u5D5E\u5D68\u5D67\u5D62\u5DF0\u5E4F\u5E4E\u5E4A\u5E4D\u5E4B\u5EC5\u5ECC\u5EC6\u5ECB\u5EC7\u5F40\u5FAF\u5FAD\u60F7\u6149\u614A\u612B\u6145\u6136\u6132\u612E\u6146\u612F\u614F\u6129\u6140\u6220\u9168\u6223\u6225\u6224\u63C5\u63F1\u63EB\u6410\u6412\u6409\u6420\u6424"],
+ ["dda1", "\u6433\u6443\u641F\u6415\u6418\u6439\u6437\u6422\u6423\u640C\u6426\u6430\u6428\u6441\u6435\u642F\u640A\u641A\u6440\u6425\u6427\u640B\u63E7\u641B\u642E\u6421\u640E\u656F\u6592\u65D3\u6686\u668C\u6695\u6690\u668B\u668A\u6699\u6694\u6678\u6720\u6966\u695F\u6938\u694E\u6962\u6971\u693F\u6945\u696A\u6939\u6942\u6957\u6959\u697A\u6948\u6949\u6935\u696C\u6933\u693D\u6965\u68F0\u6978\u6934\u6969\u6940\u696F\u6944\u6976\u6958\u6941\u6974\u694C\u693B\u694B\u6937\u695C\u694F\u6951\u6932\u6952\u692F\u697B\u693C\u6B46\u6B45\u6B43\u6B42\u6B48\u6B41\u6B9B\uFA0D\u6BFB\u6BFC"],
+ ["de40", "\u6BF9\u6BF7\u6BF8\u6E9B\u6ED6\u6EC8\u6E8F\u6EC0\u6E9F\u6E93\u6E94\u6EA0\u6EB1\u6EB9\u6EC6\u6ED2\u6EBD\u6EC1\u6E9E\u6EC9\u6EB7\u6EB0\u6ECD\u6EA6\u6ECF\u6EB2\u6EBE\u6EC3\u6EDC\u6ED8\u6E99\u6E92\u6E8E\u6E8D\u6EA4\u6EA1\u6EBF\u6EB3\u6ED0\u6ECA\u6E97\u6EAE\u6EA3\u7147\u7154\u7152\u7163\u7160\u7141\u715D\u7162\u7172\u7178\u716A\u7161\u7142\u7158\u7143\u714B\u7170\u715F\u7150\u7153"],
+ ["dea1", "\u7144\u714D\u715A\u724F\u728D\u728C\u7291\u7290\u728E\u733C\u7342\u733B\u733A\u7340\u734A\u7349\u7444\u744A\u744B\u7452\u7451\u7457\u7440\u744F\u7450\u744E\u7442\u7446\u744D\u7454\u74E1\u74FF\u74FE\u74FD\u751D\u7579\u7577\u6983\u75EF\u760F\u7603\u75F7\u75FE\u75FC\u75F9\u75F8\u7610\u75FB\u75F6\u75ED\u75F5\u75FD\u7699\u76B5\u76DD\u7755\u775F\u7760\u7752\u7756\u775A\u7769\u7767\u7754\u7759\u776D\u77E0\u7887\u789A\u7894\u788F\u7884\u7895\u7885\u7886\u78A1\u7883\u7879\u7899\u7880\u7896\u787B\u797C\u7982\u797D\u7979\u7A11\u7A18\u7A19\u7A12\u7A17\u7A15\u7A22\u7A13"],
+ ["df40", "\u7A1B\u7A10\u7AA3\u7AA2\u7A9E\u7AEB\u7B66\u7B64\u7B6D\u7B74\u7B69\u7B72\u7B65\u7B73\u7B71\u7B70\u7B61\u7B78\u7B76\u7B63\u7CB2\u7CB4\u7CAF\u7D88\u7D86\u7D80\u7D8D\u7D7F\u7D85\u7D7A\u7D8E\u7D7B\u7D83\u7D7C\u7D8C\u7D94\u7D84\u7D7D\u7D92\u7F6D\u7F6B\u7F67\u7F68\u7F6C\u7FA6\u7FA5\u7FA7\u7FDB\u7FDC\u8021\u8164\u8160\u8177\u815C\u8169\u815B\u8162\u8172\u6721\u815E\u8176\u8167\u816F"],
+ ["dfa1", "\u8144\u8161\u821D\u8249\u8244\u8240\u8242\u8245\u84F1\u843F\u8456\u8476\u8479\u848F\u848D\u8465\u8451\u8440\u8486\u8467\u8430\u844D\u847D\u845A\u8459\u8474\u8473\u845D\u8507\u845E\u8437\u843A\u8434\u847A\u8443\u8478\u8432\u8445\u8429\u83D9\u844B\u842F\u8442\u842D\u845F\u8470\u8439\u844E\u844C\u8452\u846F\u84C5\u848E\u843B\u8447\u8436\u8433\u8468\u847E\u8444\u842B\u8460\u8454\u846E\u8450\u870B\u8704\u86F7\u870C\u86FA\u86D6\u86F5\u874D\u86F8\u870E\u8709\u8701\u86F6\u870D\u8705\u88D6\u88CB\u88CD\u88CE\u88DE\u88DB\u88DA\u88CC\u88D0\u8985\u899B\u89DF\u89E5\u89E4"],
+ ["e040", "\u89E1\u89E0\u89E2\u89DC\u89E6\u8A76\u8A86\u8A7F\u8A61\u8A3F\u8A77\u8A82\u8A84\u8A75\u8A83\u8A81\u8A74\u8A7A\u8C3C\u8C4B\u8C4A\u8C65\u8C64\u8C66\u8C86\u8C84\u8C85\u8CCC\u8D68\u8D69\u8D91\u8D8C\u8D8E\u8D8F\u8D8D\u8D93\u8D94\u8D90\u8D92\u8DF0\u8DE0\u8DEC\u8DF1\u8DEE\u8DD0\u8DE9\u8DE3\u8DE2\u8DE7\u8DF2\u8DEB\u8DF4\u8F06\u8EFF\u8F01\u8F00\u8F05\u8F07\u8F08\u8F02\u8F0B\u9052\u903F"],
+ ["e0a1", "\u9044\u9049\u903D\u9110\u910D\u910F\u9111\u9116\u9114\u910B\u910E\u916E\u916F\u9248\u9252\u9230\u923A\u9266\u9233\u9265\u925E\u9283\u922E\u924A\u9246\u926D\u926C\u924F\u9260\u9267\u926F\u9236\u9261\u9270\u9231\u9254\u9263\u9250\u9272\u924E\u9253\u924C\u9256\u9232\u959F\u959C\u959E\u959B\u9692\u9693\u9691\u9697\u96CE\u96FA\u96FD\u96F8\u96F5\u9773\u9777\u9778\u9772\u980F\u980D\u980E\u98AC\u98F6\u98F9\u99AF\u99B2\u99B0\u99B5\u9AAD\u9AAB\u9B5B\u9CEA\u9CED\u9CE7\u9E80\u9EFD\u50E6\u50D4\u50D7\u50E8\u50F3\u50DB\u50EA\u50DD\u50E4\u50D3\u50EC\u50F0\u50EF\u50E3\u50E0"],
+ ["e140", "\u51D8\u5280\u5281\u52E9\u52EB\u5330\u53AC\u5627\u5615\u560C\u5612\u55FC\u560F\u561C\u5601\u5613\u5602\u55FA\u561D\u5604\u55FF\u55F9\u5889\u587C\u5890\u5898\u5886\u5881\u587F\u5874\u588B\u587A\u5887\u5891\u588E\u5876\u5882\u5888\u587B\u5894\u588F\u58FE\u596B\u5ADC\u5AEE\u5AE5\u5AD5\u5AEA\u5ADA\u5AED\u5AEB\u5AF3\u5AE2\u5AE0\u5ADB\u5AEC\u5ADE\u5ADD\u5AD9\u5AE8\u5ADF\u5B77\u5BE0"],
+ ["e1a1", "\u5BE3\u5C63\u5D82\u5D80\u5D7D\u5D86\u5D7A\u5D81\u5D77\u5D8A\u5D89\u5D88\u5D7E\u5D7C\u5D8D\u5D79\u5D7F\u5E58\u5E59\u5E53\u5ED8\u5ED1\u5ED7\u5ECE\u5EDC\u5ED5\u5ED9\u5ED2\u5ED4\u5F44\u5F43\u5F6F\u5FB6\u612C\u6128\u6141\u615E\u6171\u6173\u6152\u6153\u6172\u616C\u6180\u6174\u6154\u617A\u615B\u6165\u613B\u616A\u6161\u6156\u6229\u6227\u622B\u642B\u644D\u645B\u645D\u6474\u6476\u6472\u6473\u647D\u6475\u6466\u64A6\u644E\u6482\u645E\u645C\u644B\u6453\u6460\u6450\u647F\u643F\u646C\u646B\u6459\u6465\u6477\u6573\u65A0\u66A1\u66A0\u669F\u6705\u6704\u6722\u69B1\u69B6\u69C9"],
+ ["e240", "\u69A0\u69CE\u6996\u69B0\u69AC\u69BC\u6991\u6999\u698E\u69A7\u698D\u69A9\u69BE\u69AF\u69BF\u69C4\u69BD\u69A4\u69D4\u69B9\u69CA\u699A\u69CF\u69B3\u6993\u69AA\u69A1\u699E\u69D9\u6997\u6990\u69C2\u69B5\u69A5\u69C6\u6B4A\u6B4D\u6B4B\u6B9E\u6B9F\u6BA0\u6BC3\u6BC4\u6BFE\u6ECE\u6EF5\u6EF1\u6F03\u6F25\u6EF8\u6F37\u6EFB\u6F2E\u6F09\u6F4E\u6F19\u6F1A\u6F27\u6F18\u6F3B\u6F12\u6EED\u6F0A"],
+ ["e2a1", "\u6F36\u6F73\u6EF9\u6EEE\u6F2D\u6F40\u6F30\u6F3C\u6F35\u6EEB\u6F07\u6F0E\u6F43\u6F05\u6EFD\u6EF6\u6F39\u6F1C\u6EFC\u6F3A\u6F1F\u6F0D\u6F1E\u6F08\u6F21\u7187\u7190\u7189\u7180\u7185\u7182\u718F\u717B\u7186\u7181\u7197\u7244\u7253\u7297\u7295\u7293\u7343\u734D\u7351\u734C\u7462\u7473\u7471\u7475\u7472\u7467\u746E\u7500\u7502\u7503\u757D\u7590\u7616\u7608\u760C\u7615\u7611\u760A\u7614\u76B8\u7781\u777C\u7785\u7782\u776E\u7780\u776F\u777E\u7783\u78B2\u78AA\u78B4\u78AD\u78A8\u787E\u78AB\u789E\u78A5\u78A0\u78AC\u78A2\u78A4\u7998\u798A\u798B\u7996\u7995\u7994\u7993"],
+ ["e340", "\u7997\u7988\u7992\u7990\u7A2B\u7A4A\u7A30\u7A2F\u7A28\u7A26\u7AA8\u7AAB\u7AAC\u7AEE\u7B88\u7B9C\u7B8A\u7B91\u7B90\u7B96\u7B8D\u7B8C\u7B9B\u7B8E\u7B85\u7B98\u5284\u7B99\u7BA4\u7B82\u7CBB\u7CBF\u7CBC\u7CBA\u7DA7\u7DB7\u7DC2\u7DA3\u7DAA\u7DC1\u7DC0\u7DC5\u7D9D\u7DCE\u7DC4\u7DC6\u7DCB\u7DCC\u7DAF\u7DB9\u7D96\u7DBC\u7D9F\u7DA6\u7DAE\u7DA9\u7DA1\u7DC9\u7F73\u7FE2\u7FE3\u7FE5\u7FDE"],
+ ["e3a1", "\u8024\u805D\u805C\u8189\u8186\u8183\u8187\u818D\u818C\u818B\u8215\u8497\u84A4\u84A1\u849F\u84BA\u84CE\u84C2\u84AC\u84AE\u84AB\u84B9\u84B4\u84C1\u84CD\u84AA\u849A\u84B1\u84D0\u849D\u84A7\u84BB\u84A2\u8494\u84C7\u84CC\u849B\u84A9\u84AF\u84A8\u84D6\u8498\u84B6\u84CF\u84A0\u84D7\u84D4\u84D2\u84DB\u84B0\u8491\u8661\u8733\u8723\u8728\u876B\u8740\u872E\u871E\u8721\u8719\u871B\u8743\u872C\u8741\u873E\u8746\u8720\u8732\u872A\u872D\u873C\u8712\u873A\u8731\u8735\u8742\u8726\u8727\u8738\u8724\u871A\u8730\u8711\u88F7\u88E7\u88F1\u88F2\u88FA\u88FE\u88EE\u88FC\u88F6\u88FB"],
+ ["e440", "\u88F0\u88EC\u88EB\u899D\u89A1\u899F\u899E\u89E9\u89EB\u89E8\u8AAB\u8A99\u8A8B\u8A92\u8A8F\u8A96\u8C3D\u8C68\u8C69\u8CD5\u8CCF\u8CD7\u8D96\u8E09\u8E02\u8DFF\u8E0D\u8DFD\u8E0A\u8E03\u8E07\u8E06\u8E05\u8DFE\u8E00\u8E04\u8F10\u8F11\u8F0E\u8F0D\u9123\u911C\u9120\u9122\u911F\u911D\u911A\u9124\u9121\u911B\u917A\u9172\u9179\u9173\u92A5\u92A4\u9276\u929B\u927A\u92A0\u9294\u92AA\u928D"],
+ ["e4a1", "\u92A6\u929A\u92AB\u9279\u9297\u927F\u92A3\u92EE\u928E\u9282\u9295\u92A2\u927D\u9288\u92A1\u928A\u9286\u928C\u9299\u92A7\u927E\u9287\u92A9\u929D\u928B\u922D\u969E\u96A1\u96FF\u9758\u977D\u977A\u977E\u9783\u9780\u9782\u977B\u9784\u9781\u977F\u97CE\u97CD\u9816\u98AD\u98AE\u9902\u9900\u9907\u999D\u999C\u99C3\u99B9\u99BB\u99BA\u99C2\u99BD\u99C7\u9AB1\u9AE3\u9AE7\u9B3E\u9B3F\u9B60\u9B61\u9B5F\u9CF1\u9CF2\u9CF5\u9EA7\u50FF\u5103\u5130\u50F8\u5106\u5107\u50F6\u50FE\u510B\u510C\u50FD\u510A\u528B\u528C\u52F1\u52EF\u5648\u5642\u564C\u5635\u5641\u564A\u5649\u5646\u5658"],
+ ["e540", "\u565A\u5640\u5633\u563D\u562C\u563E\u5638\u562A\u563A\u571A\u58AB\u589D\u58B1\u58A0\u58A3\u58AF\u58AC\u58A5\u58A1\u58FF\u5AFF\u5AF4\u5AFD\u5AF7\u5AF6\u5B03\u5AF8\u5B02\u5AF9\u5B01\u5B07\u5B05\u5B0F\u5C67\u5D99\u5D97\u5D9F\u5D92\u5DA2\u5D93\u5D95\u5DA0\u5D9C\u5DA1\u5D9A\u5D9E\u5E69\u5E5D\u5E60\u5E5C\u7DF3\u5EDB\u5EDE\u5EE1\u5F49\u5FB2\u618B\u6183\u6179\u61B1\u61B0\u61A2\u6189"],
+ ["e5a1", "\u619B\u6193\u61AF\u61AD\u619F\u6192\u61AA\u61A1\u618D\u6166\u61B3\u622D\u646E\u6470\u6496\u64A0\u6485\u6497\u649C\u648F\u648B\u648A\u648C\u64A3\u649F\u6468\u64B1\u6498\u6576\u657A\u6579\u657B\u65B2\u65B3\u66B5\u66B0\u66A9\u66B2\u66B7\u66AA\u66AF\u6A00\u6A06\u6A17\u69E5\u69F8\u6A15\u69F1\u69E4\u6A20\u69FF\u69EC\u69E2\u6A1B\u6A1D\u69FE\u6A27\u69F2\u69EE\u6A14\u69F7\u69E7\u6A40\u6A08\u69E6\u69FB\u6A0D\u69FC\u69EB\u6A09\u6A04\u6A18\u6A25\u6A0F\u69F6\u6A26\u6A07\u69F4\u6A16\u6B51\u6BA5\u6BA3\u6BA2\u6BA6\u6C01\u6C00\u6BFF\u6C02\u6F41\u6F26\u6F7E\u6F87\u6FC6\u6F92"],
+ ["e640", "\u6F8D\u6F89\u6F8C\u6F62\u6F4F\u6F85\u6F5A\u6F96\u6F76\u6F6C\u6F82\u6F55\u6F72\u6F52\u6F50\u6F57\u6F94\u6F93\u6F5D\u6F00\u6F61\u6F6B\u6F7D\u6F67\u6F90\u6F53\u6F8B\u6F69\u6F7F\u6F95\u6F63\u6F77\u6F6A\u6F7B\u71B2\u71AF\u719B\u71B0\u71A0\u719A\u71A9\u71B5\u719D\u71A5\u719E\u71A4\u71A1\u71AA\u719C\u71A7\u71B3\u7298\u729A\u7358\u7352\u735E\u735F\u7360\u735D\u735B\u7361\u735A\u7359"],
+ ["e6a1", "\u7362\u7487\u7489\u748A\u7486\u7481\u747D\u7485\u7488\u747C\u7479\u7508\u7507\u757E\u7625\u761E\u7619\u761D\u761C\u7623\u761A\u7628\u761B\u769C\u769D\u769E\u769B\u778D\u778F\u7789\u7788\u78CD\u78BB\u78CF\u78CC\u78D1\u78CE\u78D4\u78C8\u78C3\u78C4\u78C9\u799A\u79A1\u79A0\u799C\u79A2\u799B\u6B76\u7A39\u7AB2\u7AB4\u7AB3\u7BB7\u7BCB\u7BBE\u7BAC\u7BCE\u7BAF\u7BB9\u7BCA\u7BB5\u7CC5\u7CC8\u7CCC\u7CCB\u7DF7\u7DDB\u7DEA\u7DE7\u7DD7\u7DE1\u7E03\u7DFA\u7DE6\u7DF6\u7DF1\u7DF0\u7DEE\u7DDF\u7F76\u7FAC\u7FB0\u7FAD\u7FED\u7FEB\u7FEA\u7FEC\u7FE6\u7FE8\u8064\u8067\u81A3\u819F"],
+ ["e740", "\u819E\u8195\u81A2\u8199\u8197\u8216\u824F\u8253\u8252\u8250\u824E\u8251\u8524\u853B\u850F\u8500\u8529\u850E\u8509\u850D\u851F\u850A\u8527\u851C\u84FB\u852B\u84FA\u8508\u850C\u84F4\u852A\u84F2\u8515\u84F7\u84EB\u84F3\u84FC\u8512\u84EA\u84E9\u8516\u84FE\u8528\u851D\u852E\u8502\u84FD\u851E\u84F6\u8531\u8526\u84E7\u84E8\u84F0\u84EF\u84F9\u8518\u8520\u8530\u850B\u8519\u852F\u8662"],
+ ["e7a1", "\u8756\u8763\u8764\u8777\u87E1\u8773\u8758\u8754\u875B\u8752\u8761\u875A\u8751\u875E\u876D\u876A\u8750\u874E\u875F\u875D\u876F\u876C\u877A\u876E\u875C\u8765\u874F\u877B\u8775\u8762\u8767\u8769\u885A\u8905\u890C\u8914\u890B\u8917\u8918\u8919\u8906\u8916\u8911\u890E\u8909\u89A2\u89A4\u89A3\u89ED\u89F0\u89EC\u8ACF\u8AC6\u8AB8\u8AD3\u8AD1\u8AD4\u8AD5\u8ABB\u8AD7\u8ABE\u8AC0\u8AC5\u8AD8\u8AC3\u8ABA\u8ABD\u8AD9\u8C3E\u8C4D\u8C8F\u8CE5\u8CDF\u8CD9\u8CE8\u8CDA\u8CDD\u8CE7\u8DA0\u8D9C\u8DA1\u8D9B\u8E20\u8E23\u8E25\u8E24\u8E2E\u8E15\u8E1B\u8E16\u8E11\u8E19\u8E26\u8E27"],
+ ["e840", "\u8E14\u8E12\u8E18\u8E13\u8E1C\u8E17\u8E1A\u8F2C\u8F24\u8F18\u8F1A\u8F20\u8F23\u8F16\u8F17\u9073\u9070\u906F\u9067\u906B\u912F\u912B\u9129\u912A\u9132\u9126\u912E\u9185\u9186\u918A\u9181\u9182\u9184\u9180\u92D0\u92C3\u92C4\u92C0\u92D9\u92B6\u92CF\u92F1\u92DF\u92D8\u92E9\u92D7\u92DD\u92CC\u92EF\u92C2\u92E8\u92CA\u92C8\u92CE\u92E6\u92CD\u92D5\u92C9\u92E0\u92DE\u92E7\u92D1\u92D3"],
+ ["e8a1", "\u92B5\u92E1\u92C6\u92B4\u957C\u95AC\u95AB\u95AE\u95B0\u96A4\u96A2\u96D3\u9705\u9708\u9702\u975A\u978A\u978E\u9788\u97D0\u97CF\u981E\u981D\u9826\u9829\u9828\u9820\u981B\u9827\u98B2\u9908\u98FA\u9911\u9914\u9916\u9917\u9915\u99DC\u99CD\u99CF\u99D3\u99D4\u99CE\u99C9\u99D6\u99D8\u99CB\u99D7\u99CC\u9AB3\u9AEC\u9AEB\u9AF3\u9AF2\u9AF1\u9B46\u9B43\u9B67\u9B74\u9B71\u9B66\u9B76\u9B75\u9B70\u9B68\u9B64\u9B6C\u9CFC\u9CFA\u9CFD\u9CFF\u9CF7\u9D07\u9D00\u9CF9\u9CFB\u9D08\u9D05\u9D04\u9E83\u9ED3\u9F0F\u9F10\u511C\u5113\u5117\u511A\u5111\u51DE\u5334\u53E1\u5670\u5660\u566E"],
+ ["e940", "\u5673\u5666\u5663\u566D\u5672\u565E\u5677\u571C\u571B\u58C8\u58BD\u58C9\u58BF\u58BA\u58C2\u58BC\u58C6\u5B17\u5B19\u5B1B\u5B21\u5B14\u5B13\u5B10\u5B16\u5B28\u5B1A\u5B20\u5B1E\u5BEF\u5DAC\u5DB1\u5DA9\u5DA7\u5DB5\u5DB0\u5DAE\u5DAA\u5DA8\u5DB2\u5DAD\u5DAF\u5DB4\u5E67\u5E68\u5E66\u5E6F\u5EE9\u5EE7\u5EE6\u5EE8\u5EE5\u5F4B\u5FBC\u619D\u61A8\u6196\u61C5\u61B4\u61C6\u61C1\u61CC\u61BA"],
+ ["e9a1", "\u61BF\u61B8\u618C\u64D7\u64D6\u64D0\u64CF\u64C9\u64BD\u6489\u64C3\u64DB\u64F3\u64D9\u6533\u657F\u657C\u65A2\u66C8\u66BE\u66C0\u66CA\u66CB\u66CF\u66BD\u66BB\u66BA\u66CC\u6723\u6A34\u6A66\u6A49\u6A67\u6A32\u6A68\u6A3E\u6A5D\u6A6D\u6A76\u6A5B\u6A51\u6A28\u6A5A\u6A3B\u6A3F\u6A41\u6A6A\u6A64\u6A50\u6A4F\u6A54\u6A6F\u6A69\u6A60\u6A3C\u6A5E\u6A56\u6A55\u6A4D\u6A4E\u6A46\u6B55\u6B54\u6B56\u6BA7\u6BAA\u6BAB\u6BC8\u6BC7\u6C04\u6C03\u6C06\u6FAD\u6FCB\u6FA3\u6FC7\u6FBC\u6FCE\u6FC8\u6F5E\u6FC4\u6FBD\u6F9E\u6FCA\u6FA8\u7004\u6FA5\u6FAE\u6FBA\u6FAC\u6FAA\u6FCF\u6FBF\u6FB8"],
+ ["ea40", "\u6FA2\u6FC9\u6FAB\u6FCD\u6FAF\u6FB2\u6FB0\u71C5\u71C2\u71BF\u71B8\u71D6\u71C0\u71C1\u71CB\u71D4\u71CA\u71C7\u71CF\u71BD\u71D8\u71BC\u71C6\u71DA\u71DB\u729D\u729E\u7369\u7366\u7367\u736C\u7365\u736B\u736A\u747F\u749A\u74A0\u7494\u7492\u7495\u74A1\u750B\u7580\u762F\u762D\u7631\u763D\u7633\u763C\u7635\u7632\u7630\u76BB\u76E6\u779A\u779D\u77A1\u779C\u779B\u77A2\u77A3\u7795\u7799"],
+ ["eaa1", "\u7797\u78DD\u78E9\u78E5\u78EA\u78DE\u78E3\u78DB\u78E1\u78E2\u78ED\u78DF\u78E0\u79A4\u7A44\u7A48\u7A47\u7AB6\u7AB8\u7AB5\u7AB1\u7AB7\u7BDE\u7BE3\u7BE7\u7BDD\u7BD5\u7BE5\u7BDA\u7BE8\u7BF9\u7BD4\u7BEA\u7BE2\u7BDC\u7BEB\u7BD8\u7BDF\u7CD2\u7CD4\u7CD7\u7CD0\u7CD1\u7E12\u7E21\u7E17\u7E0C\u7E1F\u7E20\u7E13\u7E0E\u7E1C\u7E15\u7E1A\u7E22\u7E0B\u7E0F\u7E16\u7E0D\u7E14\u7E25\u7E24\u7F43\u7F7B\u7F7C\u7F7A\u7FB1\u7FEF\u802A\u8029\u806C\u81B1\u81A6\u81AE\u81B9\u81B5\u81AB\u81B0\u81AC\u81B4\u81B2\u81B7\u81A7\u81F2\u8255\u8256\u8257\u8556\u8545\u856B\u854D\u8553\u8561\u8558"],
+ ["eb40", "\u8540\u8546\u8564\u8541\u8562\u8544\u8551\u8547\u8563\u853E\u855B\u8571\u854E\u856E\u8575\u8555\u8567\u8560\u858C\u8566\u855D\u8554\u8565\u856C\u8663\u8665\u8664\u879B\u878F\u8797\u8793\u8792\u8788\u8781\u8796\u8798\u8779\u8787\u87A3\u8785\u8790\u8791\u879D\u8784\u8794\u879C\u879A\u8789\u891E\u8926\u8930\u892D\u892E\u8927\u8931\u8922\u8929\u8923\u892F\u892C\u891F\u89F1\u8AE0"],
+ ["eba1", "\u8AE2\u8AF2\u8AF4\u8AF5\u8ADD\u8B14\u8AE4\u8ADF\u8AF0\u8AC8\u8ADE\u8AE1\u8AE8\u8AFF\u8AEF\u8AFB\u8C91\u8C92\u8C90\u8CF5\u8CEE\u8CF1\u8CF0\u8CF3\u8D6C\u8D6E\u8DA5\u8DA7\u8E33\u8E3E\u8E38\u8E40\u8E45\u8E36\u8E3C\u8E3D\u8E41\u8E30\u8E3F\u8EBD\u8F36\u8F2E\u8F35\u8F32\u8F39\u8F37\u8F34\u9076\u9079\u907B\u9086\u90FA\u9133\u9135\u9136\u9193\u9190\u9191\u918D\u918F\u9327\u931E\u9308\u931F\u9306\u930F\u937A\u9338\u933C\u931B\u9323\u9312\u9301\u9346\u932D\u930E\u930D\u92CB\u931D\u92FA\u9325\u9313\u92F9\u92F7\u9334\u9302\u9324\u92FF\u9329\u9339\u9335\u932A\u9314\u930C"],
+ ["ec40", "\u930B\u92FE\u9309\u9300\u92FB\u9316\u95BC\u95CD\u95BE\u95B9\u95BA\u95B6\u95BF\u95B5\u95BD\u96A9\u96D4\u970B\u9712\u9710\u9799\u9797\u9794\u97F0\u97F8\u9835\u982F\u9832\u9924\u991F\u9927\u9929\u999E\u99EE\u99EC\u99E5\u99E4\u99F0\u99E3\u99EA\u99E9\u99E7\u9AB9\u9ABF\u9AB4\u9ABB\u9AF6\u9AFA\u9AF9\u9AF7\u9B33\u9B80\u9B85\u9B87\u9B7C\u9B7E\u9B7B\u9B82\u9B93\u9B92\u9B90\u9B7A\u9B95"],
+ ["eca1", "\u9B7D\u9B88\u9D25\u9D17\u9D20\u9D1E\u9D14\u9D29\u9D1D\u9D18\u9D22\u9D10\u9D19\u9D1F\u9E88\u9E86\u9E87\u9EAE\u9EAD\u9ED5\u9ED6\u9EFA\u9F12\u9F3D\u5126\u5125\u5122\u5124\u5120\u5129\u52F4\u5693\u568C\u568D\u5686\u5684\u5683\u567E\u5682\u567F\u5681\u58D6\u58D4\u58CF\u58D2\u5B2D\u5B25\u5B32\u5B23\u5B2C\u5B27\u5B26\u5B2F\u5B2E\u5B7B\u5BF1\u5BF2\u5DB7\u5E6C\u5E6A\u5FBE\u5FBB\u61C3\u61B5\u61BC\u61E7\u61E0\u61E5\u61E4\u61E8\u61DE\u64EF\u64E9\u64E3\u64EB\u64E4\u64E8\u6581\u6580\u65B6\u65DA\u66D2\u6A8D\u6A96\u6A81\u6AA5\u6A89\u6A9F\u6A9B\u6AA1\u6A9E\u6A87\u6A93\u6A8E"],
+ ["ed40", "\u6A95\u6A83\u6AA8\u6AA4\u6A91\u6A7F\u6AA6\u6A9A\u6A85\u6A8C\u6A92\u6B5B\u6BAD\u6C09\u6FCC\u6FA9\u6FF4\u6FD4\u6FE3\u6FDC\u6FED\u6FE7\u6FE6\u6FDE\u6FF2\u6FDD\u6FE2\u6FE8\u71E1\u71F1\u71E8\u71F2\u71E4\u71F0\u71E2\u7373\u736E\u736F\u7497\u74B2\u74AB\u7490\u74AA\u74AD\u74B1\u74A5\u74AF\u7510\u7511\u7512\u750F\u7584\u7643\u7648\u7649\u7647\u76A4\u76E9\u77B5\u77AB\u77B2\u77B7\u77B6"],
+ ["eda1", "\u77B4\u77B1\u77A8\u77F0\u78F3\u78FD\u7902\u78FB\u78FC\u78F2\u7905\u78F9\u78FE\u7904\u79AB\u79A8\u7A5C\u7A5B\u7A56\u7A58\u7A54\u7A5A\u7ABE\u7AC0\u7AC1\u7C05\u7C0F\u7BF2\u7C00\u7BFF\u7BFB\u7C0E\u7BF4\u7C0B\u7BF3\u7C02\u7C09\u7C03\u7C01\u7BF8\u7BFD\u7C06\u7BF0\u7BF1\u7C10\u7C0A\u7CE8\u7E2D\u7E3C\u7E42\u7E33\u9848\u7E38\u7E2A\u7E49\u7E40\u7E47\u7E29\u7E4C\u7E30\u7E3B\u7E36\u7E44\u7E3A\u7F45\u7F7F\u7F7E\u7F7D\u7FF4\u7FF2\u802C\u81BB\u81C4\u81CC\u81CA\u81C5\u81C7\u81BC\u81E9\u825B\u825A\u825C\u8583\u8580\u858F\u85A7\u8595\u85A0\u858B\u85A3\u857B\u85A4\u859A\u859E"],
+ ["ee40", "\u8577\u857C\u8589\u85A1\u857A\u8578\u8557\u858E\u8596\u8586\u858D\u8599\u859D\u8581\u85A2\u8582\u8588\u8585\u8579\u8576\u8598\u8590\u859F\u8668\u87BE\u87AA\u87AD\u87C5\u87B0\u87AC\u87B9\u87B5\u87BC\u87AE\u87C9\u87C3\u87C2\u87CC\u87B7\u87AF\u87C4\u87CA\u87B4\u87B6\u87BF\u87B8\u87BD\u87DE\u87B2\u8935\u8933\u893C\u893E\u8941\u8952\u8937\u8942\u89AD\u89AF\u89AE\u89F2\u89F3\u8B1E"],
+ ["eea1", "\u8B18\u8B16\u8B11\u8B05\u8B0B\u8B22\u8B0F\u8B12\u8B15\u8B07\u8B0D\u8B08\u8B06\u8B1C\u8B13\u8B1A\u8C4F\u8C70\u8C72\u8C71\u8C6F\u8C95\u8C94\u8CF9\u8D6F\u8E4E\u8E4D\u8E53\u8E50\u8E4C\u8E47\u8F43\u8F40\u9085\u907E\u9138\u919A\u91A2\u919B\u9199\u919F\u91A1\u919D\u91A0\u93A1\u9383\u93AF\u9364\u9356\u9347\u937C\u9358\u935C\u9376\u9349\u9350\u9351\u9360\u936D\u938F\u934C\u936A\u9379\u9357\u9355\u9352\u934F\u9371\u9377\u937B\u9361\u935E\u9363\u9367\u9380\u934E\u9359\u95C7\u95C0\u95C9\u95C3\u95C5\u95B7\u96AE\u96B0\u96AC\u9720\u971F\u9718\u971D\u9719\u979A\u97A1\u979C"],
+ ["ef40", "\u979E\u979D\u97D5\u97D4\u97F1\u9841\u9844\u984A\u9849\u9845\u9843\u9925\u992B\u992C\u992A\u9933\u9932\u992F\u992D\u9931\u9930\u9998\u99A3\u99A1\u9A02\u99FA\u99F4\u99F7\u99F9\u99F8\u99F6\u99FB\u99FD\u99FE\u99FC\u9A03\u9ABE\u9AFE\u9AFD\u9B01\u9AFC\u9B48\u9B9A\u9BA8\u9B9E\u9B9B\u9BA6\u9BA1\u9BA5\u9BA4\u9B86\u9BA2\u9BA0\u9BAF\u9D33\u9D41\u9D67\u9D36\u9D2E\u9D2F\u9D31\u9D38\u9D30"],
+ ["efa1", "\u9D45\u9D42\u9D43\u9D3E\u9D37\u9D40\u9D3D\u7FF5\u9D2D\u9E8A\u9E89\u9E8D\u9EB0\u9EC8\u9EDA\u9EFB\u9EFF\u9F24\u9F23\u9F22\u9F54\u9FA0\u5131\u512D\u512E\u5698\u569C\u5697\u569A\u569D\u5699\u5970\u5B3C\u5C69\u5C6A\u5DC0\u5E6D\u5E6E\u61D8\u61DF\u61ED\u61EE\u61F1\u61EA\u61F0\u61EB\u61D6\u61E9\u64FF\u6504\u64FD\u64F8\u6501\u6503\u64FC\u6594\u65DB\u66DA\u66DB\u66D8\u6AC5\u6AB9\u6ABD\u6AE1\u6AC6\u6ABA\u6AB6\u6AB7\u6AC7\u6AB4\u6AAD\u6B5E\u6BC9\u6C0B\u7007\u700C\u700D\u7001\u7005\u7014\u700E\u6FFF\u7000\u6FFB\u7026\u6FFC\u6FF7\u700A\u7201\u71FF\u71F9\u7203\u71FD\u7376"],
+ ["f040", "\u74B8\u74C0\u74B5\u74C1\u74BE\u74B6\u74BB\u74C2\u7514\u7513\u765C\u7664\u7659\u7650\u7653\u7657\u765A\u76A6\u76BD\u76EC\u77C2\u77BA\u78FF\u790C\u7913\u7914\u7909\u7910\u7912\u7911\u79AD\u79AC\u7A5F\u7C1C\u7C29\u7C19\u7C20\u7C1F\u7C2D\u7C1D\u7C26\u7C28\u7C22\u7C25\u7C30\u7E5C\u7E50\u7E56\u7E63\u7E58\u7E62\u7E5F\u7E51\u7E60\u7E57\u7E53\u7FB5\u7FB3\u7FF7\u7FF8\u8075\u81D1\u81D2"],
+ ["f0a1", "\u81D0\u825F\u825E\u85B4\u85C6\u85C0\u85C3\u85C2\u85B3\u85B5\u85BD\u85C7\u85C4\u85BF\u85CB\u85CE\u85C8\u85C5\u85B1\u85B6\u85D2\u8624\u85B8\u85B7\u85BE\u8669\u87E7\u87E6\u87E2\u87DB\u87EB\u87EA\u87E5\u87DF\u87F3\u87E4\u87D4\u87DC\u87D3\u87ED\u87D8\u87E3\u87A4\u87D7\u87D9\u8801\u87F4\u87E8\u87DD\u8953\u894B\u894F\u894C\u8946\u8950\u8951\u8949\u8B2A\u8B27\u8B23\u8B33\u8B30\u8B35\u8B47\u8B2F\u8B3C\u8B3E\u8B31\u8B25\u8B37\u8B26\u8B36\u8B2E\u8B24\u8B3B\u8B3D\u8B3A\u8C42\u8C75\u8C99\u8C98\u8C97\u8CFE\u8D04\u8D02\u8D00\u8E5C\u8E62\u8E60\u8E57\u8E56\u8E5E\u8E65\u8E67"],
+ ["f140", "\u8E5B\u8E5A\u8E61\u8E5D\u8E69\u8E54\u8F46\u8F47\u8F48\u8F4B\u9128\u913A\u913B\u913E\u91A8\u91A5\u91A7\u91AF\u91AA\u93B5\u938C\u9392\u93B7\u939B\u939D\u9389\u93A7\u938E\u93AA\u939E\u93A6\u9395\u9388\u9399\u939F\u938D\u93B1\u9391\u93B2\u93A4\u93A8\u93B4\u93A3\u93A5\u95D2\u95D3\u95D1\u96B3\u96D7\u96DA\u5DC2\u96DF\u96D8\u96DD\u9723\u9722\u9725\u97AC\u97AE\u97A8\u97AB\u97A4\u97AA"],
+ ["f1a1", "\u97A2\u97A5\u97D7\u97D9\u97D6\u97D8\u97FA\u9850\u9851\u9852\u98B8\u9941\u993C\u993A\u9A0F\u9A0B\u9A09\u9A0D\u9A04\u9A11\u9A0A\u9A05\u9A07\u9A06\u9AC0\u9ADC\u9B08\u9B04\u9B05\u9B29\u9B35\u9B4A\u9B4C\u9B4B\u9BC7\u9BC6\u9BC3\u9BBF\u9BC1\u9BB5\u9BB8\u9BD3\u9BB6\u9BC4\u9BB9\u9BBD\u9D5C\u9D53\u9D4F\u9D4A\u9D5B\u9D4B\u9D59\u9D56\u9D4C\u9D57\u9D52\u9D54\u9D5F\u9D58\u9D5A\u9E8E\u9E8C\u9EDF\u9F01\u9F00\u9F16\u9F25\u9F2B\u9F2A\u9F29\u9F28\u9F4C\u9F55\u5134\u5135\u5296\u52F7\u53B4\u56AB\u56AD\u56A6\u56A7\u56AA\u56AC\u58DA\u58DD\u58DB\u5912\u5B3D\u5B3E\u5B3F\u5DC3\u5E70"],
+ ["f240", "\u5FBF\u61FB\u6507\u6510\u650D\u6509\u650C\u650E\u6584\u65DE\u65DD\u66DE\u6AE7\u6AE0\u6ACC\u6AD1\u6AD9\u6ACB\u6ADF\u6ADC\u6AD0\u6AEB\u6ACF\u6ACD\u6ADE\u6B60\u6BB0\u6C0C\u7019\u7027\u7020\u7016\u702B\u7021\u7022\u7023\u7029\u7017\u7024\u701C\u702A\u720C\u720A\u7207\u7202\u7205\u72A5\u72A6\u72A4\u72A3\u72A1\u74CB\u74C5\u74B7\u74C3\u7516\u7660\u77C9\u77CA\u77C4\u77F1\u791D\u791B"],
+ ["f2a1", "\u7921\u791C\u7917\u791E\u79B0\u7A67\u7A68\u7C33\u7C3C\u7C39\u7C2C\u7C3B\u7CEC\u7CEA\u7E76\u7E75\u7E78\u7E70\u7E77\u7E6F\u7E7A\u7E72\u7E74\u7E68\u7F4B\u7F4A\u7F83\u7F86\u7FB7\u7FFD\u7FFE\u8078\u81D7\u81D5\u8264\u8261\u8263\u85EB\u85F1\u85ED\u85D9\u85E1\u85E8\u85DA\u85D7\u85EC\u85F2\u85F8\u85D8\u85DF\u85E3\u85DC\u85D1\u85F0\u85E6\u85EF\u85DE\u85E2\u8800\u87FA\u8803\u87F6\u87F7\u8809\u880C\u880B\u8806\u87FC\u8808\u87FF\u880A\u8802\u8962\u895A\u895B\u8957\u8961\u895C\u8958\u895D\u8959\u8988\u89B7\u89B6\u89F6\u8B50\u8B48\u8B4A\u8B40\u8B53\u8B56\u8B54\u8B4B\u8B55"],
+ ["f340", "\u8B51\u8B42\u8B52\u8B57\u8C43\u8C77\u8C76\u8C9A\u8D06\u8D07\u8D09\u8DAC\u8DAA\u8DAD\u8DAB\u8E6D\u8E78\u8E73\u8E6A\u8E6F\u8E7B\u8EC2\u8F52\u8F51\u8F4F\u8F50\u8F53\u8FB4\u9140\u913F\u91B0\u91AD\u93DE\u93C7\u93CF\u93C2\u93DA\u93D0\u93F9\u93EC\u93CC\u93D9\u93A9\u93E6\u93CA\u93D4\u93EE\u93E3\u93D5\u93C4\u93CE\u93C0\u93D2\u93E7\u957D\u95DA\u95DB\u96E1\u9729\u972B\u972C\u9728\u9726"],
+ ["f3a1", "\u97B3\u97B7\u97B6\u97DD\u97DE\u97DF\u985C\u9859\u985D\u9857\u98BF\u98BD\u98BB\u98BE\u9948\u9947\u9943\u99A6\u99A7\u9A1A\u9A15\u9A25\u9A1D\u9A24\u9A1B\u9A22\u9A20\u9A27\u9A23\u9A1E\u9A1C\u9A14\u9AC2\u9B0B\u9B0A\u9B0E\u9B0C\u9B37\u9BEA\u9BEB\u9BE0\u9BDE\u9BE4\u9BE6\u9BE2\u9BF0\u9BD4\u9BD7\u9BEC\u9BDC\u9BD9\u9BE5\u9BD5\u9BE1\u9BDA\u9D77\u9D81\u9D8A\u9D84\u9D88\u9D71\u9D80\u9D78\u9D86\u9D8B\u9D8C\u9D7D\u9D6B\u9D74\u9D75\u9D70\u9D69\u9D85\u9D73\u9D7B\u9D82\u9D6F\u9D79\u9D7F\u9D87\u9D68\u9E94\u9E91\u9EC0\u9EFC\u9F2D\u9F40\u9F41\u9F4D\u9F56\u9F57\u9F58\u5337\u56B2"],
+ ["f440", "\u56B5\u56B3\u58E3\u5B45\u5DC6\u5DC7\u5EEE\u5EEF\u5FC0\u5FC1\u61F9\u6517\u6516\u6515\u6513\u65DF\u66E8\u66E3\u66E4\u6AF3\u6AF0\u6AEA\u6AE8\u6AF9\u6AF1\u6AEE\u6AEF\u703C\u7035\u702F\u7037\u7034\u7031\u7042\u7038\u703F\u703A\u7039\u7040\u703B\u7033\u7041\u7213\u7214\u72A8\u737D\u737C\u74BA\u76AB\u76AA\u76BE\u76ED\u77CC\u77CE\u77CF\u77CD\u77F2\u7925\u7923\u7927\u7928\u7924\u7929"],
+ ["f4a1", "\u79B2\u7A6E\u7A6C\u7A6D\u7AF7\u7C49\u7C48\u7C4A\u7C47\u7C45\u7CEE\u7E7B\u7E7E\u7E81\u7E80\u7FBA\u7FFF\u8079\u81DB\u81D9\u820B\u8268\u8269\u8622\u85FF\u8601\u85FE\u861B\u8600\u85F6\u8604\u8609\u8605\u860C\u85FD\u8819\u8810\u8811\u8817\u8813\u8816\u8963\u8966\u89B9\u89F7\u8B60\u8B6A\u8B5D\u8B68\u8B63\u8B65\u8B67\u8B6D\u8DAE\u8E86\u8E88\u8E84\u8F59\u8F56\u8F57\u8F55\u8F58\u8F5A\u908D\u9143\u9141\u91B7\u91B5\u91B2\u91B3\u940B\u9413\u93FB\u9420\u940F\u9414\u93FE\u9415\u9410\u9428\u9419\u940D\u93F5\u9400\u93F7\u9407\u940E\u9416\u9412\u93FA\u9409\u93F8\u940A\u93FF"],
+ ["f540", "\u93FC\u940C\u93F6\u9411\u9406\u95DE\u95E0\u95DF\u972E\u972F\u97B9\u97BB\u97FD\u97FE\u9860\u9862\u9863\u985F\u98C1\u98C2\u9950\u994E\u9959\u994C\u994B\u9953\u9A32\u9A34\u9A31\u9A2C\u9A2A\u9A36\u9A29\u9A2E\u9A38\u9A2D\u9AC7\u9ACA\u9AC6\u9B10\u9B12\u9B11\u9C0B\u9C08\u9BF7\u9C05\u9C12\u9BF8\u9C40\u9C07\u9C0E\u9C06\u9C17\u9C14\u9C09\u9D9F\u9D99\u9DA4\u9D9D\u9D92\u9D98\u9D90\u9D9B"],
+ ["f5a1", "\u9DA0\u9D94\u9D9C\u9DAA\u9D97\u9DA1\u9D9A\u9DA2\u9DA8\u9D9E\u9DA3\u9DBF\u9DA9\u9D96\u9DA6\u9DA7\u9E99\u9E9B\u9E9A\u9EE5\u9EE4\u9EE7\u9EE6\u9F30\u9F2E\u9F5B\u9F60\u9F5E\u9F5D\u9F59\u9F91\u513A\u5139\u5298\u5297\u56C3\u56BD\u56BE\u5B48\u5B47\u5DCB\u5DCF\u5EF1\u61FD\u651B\u6B02\u6AFC\u6B03\u6AF8\u6B00\u7043\u7044\u704A\u7048\u7049\u7045\u7046\u721D\u721A\u7219\u737E\u7517\u766A\u77D0\u792D\u7931\u792F\u7C54\u7C53\u7CF2\u7E8A\u7E87\u7E88\u7E8B\u7E86\u7E8D\u7F4D\u7FBB\u8030\u81DD\u8618\u862A\u8626\u861F\u8623\u861C\u8619\u8627\u862E\u8621\u8620\u8629\u861E\u8625"],
+ ["f640", "\u8829\u881D\u881B\u8820\u8824\u881C\u882B\u884A\u896D\u8969\u896E\u896B\u89FA\u8B79\u8B78\u8B45\u8B7A\u8B7B\u8D10\u8D14\u8DAF\u8E8E\u8E8C\u8F5E\u8F5B\u8F5D\u9146\u9144\u9145\u91B9\u943F\u943B\u9436\u9429\u943D\u943C\u9430\u9439\u942A\u9437\u942C\u9440\u9431\u95E5\u95E4\u95E3\u9735\u973A\u97BF\u97E1\u9864\u98C9\u98C6\u98C0\u9958\u9956\u9A39\u9A3D\u9A46\u9A44\u9A42\u9A41\u9A3A"],
+ ["f6a1", "\u9A3F\u9ACD\u9B15\u9B17\u9B18\u9B16\u9B3A\u9B52\u9C2B\u9C1D\u9C1C\u9C2C\u9C23\u9C28\u9C29\u9C24\u9C21\u9DB7\u9DB6\u9DBC\u9DC1\u9DC7\u9DCA\u9DCF\u9DBE\u9DC5\u9DC3\u9DBB\u9DB5\u9DCE\u9DB9\u9DBA\u9DAC\u9DC8\u9DB1\u9DAD\u9DCC\u9DB3\u9DCD\u9DB2\u9E7A\u9E9C\u9EEB\u9EEE\u9EED\u9F1B\u9F18\u9F1A\u9F31\u9F4E\u9F65\u9F64\u9F92\u4EB9\u56C6\u56C5\u56CB\u5971\u5B4B\u5B4C\u5DD5\u5DD1\u5EF2\u6521\u6520\u6526\u6522\u6B0B\u6B08\u6B09\u6C0D\u7055\u7056\u7057\u7052\u721E\u721F\u72A9\u737F\u74D8\u74D5\u74D9\u74D7\u766D\u76AD\u7935\u79B4\u7A70\u7A71\u7C57\u7C5C\u7C59\u7C5B\u7C5A"],
+ ["f740", "\u7CF4\u7CF1\u7E91\u7F4F\u7F87\u81DE\u826B\u8634\u8635\u8633\u862C\u8632\u8636\u882C\u8828\u8826\u882A\u8825\u8971\u89BF\u89BE\u89FB\u8B7E\u8B84\u8B82\u8B86\u8B85\u8B7F\u8D15\u8E95\u8E94\u8E9A\u8E92\u8E90\u8E96\u8E97\u8F60\u8F62\u9147\u944C\u9450\u944A\u944B\u944F\u9447\u9445\u9448\u9449\u9446\u973F\u97E3\u986A\u9869\u98CB\u9954\u995B\u9A4E\u9A53\u9A54\u9A4C\u9A4F\u9A48\u9A4A"],
+ ["f7a1", "\u9A49\u9A52\u9A50\u9AD0\u9B19\u9B2B\u9B3B\u9B56\u9B55\u9C46\u9C48\u9C3F\u9C44\u9C39\u9C33\u9C41\u9C3C\u9C37\u9C34\u9C32\u9C3D\u9C36\u9DDB\u9DD2\u9DDE\u9DDA\u9DCB\u9DD0\u9DDC\u9DD1\u9DDF\u9DE9\u9DD9\u9DD8\u9DD6\u9DF5\u9DD5\u9DDD\u9EB6\u9EF0\u9F35\u9F33\u9F32\u9F42\u9F6B\u9F95\u9FA2\u513D\u5299\u58E8\u58E7\u5972\u5B4D\u5DD8\u882F\u5F4F\u6201\u6203\u6204\u6529\u6525\u6596\u66EB\u6B11\u6B12\u6B0F\u6BCA\u705B\u705A\u7222\u7382\u7381\u7383\u7670\u77D4\u7C67\u7C66\u7E95\u826C\u863A\u8640\u8639\u863C\u8631\u863B\u863E\u8830\u8832\u882E\u8833\u8976\u8974\u8973\u89FE"],
+ ["f840", "\u8B8C\u8B8E\u8B8B\u8B88\u8C45\u8D19\u8E98\u8F64\u8F63\u91BC\u9462\u9455\u945D\u9457\u945E\u97C4\u97C5\u9800\u9A56\u9A59\u9B1E\u9B1F\u9B20\u9C52\u9C58\u9C50\u9C4A\u9C4D\u9C4B\u9C55\u9C59\u9C4C\u9C4E\u9DFB\u9DF7\u9DEF\u9DE3\u9DEB\u9DF8\u9DE4\u9DF6\u9DE1\u9DEE\u9DE6\u9DF2\u9DF0\u9DE2\u9DEC\u9DF4\u9DF3\u9DE8\u9DED\u9EC2\u9ED0\u9EF2\u9EF3\u9F06\u9F1C\u9F38\u9F37\u9F36\u9F43\u9F4F"],
+ ["f8a1", "\u9F71\u9F70\u9F6E\u9F6F\u56D3\u56CD\u5B4E\u5C6D\u652D\u66ED\u66EE\u6B13\u705F\u7061\u705D\u7060\u7223\u74DB\u74E5\u77D5\u7938\u79B7\u79B6\u7C6A\u7E97\u7F89\u826D\u8643\u8838\u8837\u8835\u884B\u8B94\u8B95\u8E9E\u8E9F\u8EA0\u8E9D\u91BE\u91BD\u91C2\u946B\u9468\u9469\u96E5\u9746\u9743\u9747\u97C7\u97E5\u9A5E\u9AD5\u9B59\u9C63\u9C67\u9C66\u9C62\u9C5E\u9C60\u9E02\u9DFE\u9E07\u9E03\u9E06\u9E05\u9E00\u9E01\u9E09\u9DFF\u9DFD\u9E04\u9EA0\u9F1E\u9F46\u9F74\u9F75\u9F76\u56D4\u652E\u65B8\u6B18\u6B19\u6B17\u6B1A\u7062\u7226\u72AA\u77D8\u77D9\u7939\u7C69\u7C6B\u7CF6\u7E9A"],
+ ["f940", "\u7E98\u7E9B\u7E99\u81E0\u81E1\u8646\u8647\u8648\u8979\u897A\u897C\u897B\u89FF\u8B98\u8B99\u8EA5\u8EA4\u8EA3\u946E\u946D\u946F\u9471\u9473\u9749\u9872\u995F\u9C68\u9C6E\u9C6D\u9E0B\u9E0D\u9E10\u9E0F\u9E12\u9E11\u9EA1\u9EF5\u9F09\u9F47\u9F78\u9F7B\u9F7A\u9F79\u571E\u7066\u7C6F\u883C\u8DB2\u8EA6\u91C3\u9474\u9478\u9476\u9475\u9A60\u9C74\u9C73\u9C71\u9C75\u9E14\u9E13\u9EF6\u9F0A"],
+ ["f9a1", "\u9FA4\u7068\u7065\u7CF7\u866A\u883E\u883D\u883F\u8B9E\u8C9C\u8EA9\u8EC9\u974B\u9873\u9874\u98CC\u9961\u99AB\u9A64\u9A66\u9A67\u9B24\u9E15\u9E17\u9F48\u6207\u6B1E\u7227\u864C\u8EA8\u9482\u9480\u9481\u9A69\u9A68\u9B2E\u9E19\u7229\u864B\u8B9F\u9483\u9C79\u9EB7\u7675\u9A6B\u9C7A\u9E1D\u7069\u706A\u9EA4\u9F7E\u9F49\u9F98\u7881\u92B9\u88CF\u58BB\u6052\u7CA7\u5AFA\u2554\u2566\u2557\u2560\u256C\u2563\u255A\u2569\u255D\u2552\u2564\u2555\u255E\u256A\u2561\u2558\u2567\u255B\u2553\u2565\u2556\u255F\u256B\u2562\u2559\u2568\u255C\u2551\u2550\u256D\u256E\u2570\u256F\u2593"]
+ ];
+ }
+});
+
+// ../../node_modules/.pnpm/iconv-lite@0.7.3/node_modules/iconv-lite/encodings/tables/big5-added.json
+var require_big5_added = __commonJS({
+ "../../node_modules/.pnpm/iconv-lite@0.7.3/node_modules/iconv-lite/encodings/tables/big5-added.json"(exports, module) {
+ module.exports = [
+ ["8740", "\u43F0\u4C32\u4603\u45A6\u4578\u{27267}\u4D77\u45B3\u{27CB1}\u4CE2\u{27CC5}\u3B95\u4736\u4744\u4C47\u4C40\u{242BF}\u{23617}\u{27352}\u{26E8B}\u{270D2}\u4C57\u{2A351}\u474F\u45DA\u4C85\u{27C6C}\u4D07\u4AA4\u46A1\u{26B23}\u7225\u{25A54}\u{21A63}\u{23E06}\u{23F61}\u664D\u56FB"],
+ ["8767", "\u7D95\u591D\u{28BB9}\u3DF4\u9734\u{27BEF}\u5BDB\u{21D5E}\u5AA4\u3625\u{29EB0}\u5AD1\u5BB7\u5CFC\u676E\u8593\u{29945}\u7461\u749D\u3875\u{21D53}\u{2369E}\u{26021}\u3EEC"],
+ ["87a1", "\u{258DE}\u3AF5\u7AFC\u9F97\u{24161}\u{2890D}\u{231EA}\u{20A8A}\u{2325E}\u430A\u8484\u9F96\u942F\u4930\u8613\u5896\u974A\u9218\u79D0\u7A32\u6660\u6A29\u889D\u744C\u7BC5\u6782\u7A2C\u524F\u9046\u34E6\u73C4\u{25DB9}\u74C6\u9FC7\u57B3\u492F\u544C\u4131\u{2368E}\u5818\u7A72\u{27B65}\u8B8F\u46AE\u{26E88}\u4181\u{25D99}\u7BAE\u{224BC}\u9FC8\u{224C1}\u{224C9}\u{224CC}\u9FC9\u8504\u{235BB}\u40B4\u9FCA\u44E1\u{2ADFF}\u62C1\u706E\u9FCB"],
+ ["8840", "\u31C0", 4, "\u{2010C}\u31C5\u{200D1}\u{200CD}\u31C6\u31C7\u{200CB}\u{21FE8}\u31C8\u{200CA}\u31C9\u31CA\u31CB\u31CC\u{2010E}\u31CD\u31CE\u0100\xC1\u01CD\xC0\u0112\xC9\u011A\xC8\u014C\xD3\u01D1\xD2\u0FFF\xCA\u0304\u1EBE\u0FFF\xCA\u030C\u1EC0\xCA\u0101\xE1\u01CE\xE0\u0251\u0113\xE9\u011B\xE8\u012B\xED\u01D0\xEC\u014D\xF3\u01D2\xF2\u016B\xFA\u01D4\xF9\u01D6\u01D8\u01DA"],
+ ["88a1", "\u01DC\xFC\u0FFF\xEA\u0304\u1EBF\u0FFF\xEA\u030C\u1EC1\xEA\u0261\u23DA\u23DB"],
+ ["8940", "\u{2A3A9}\u{21145}"],
+ ["8943", "\u650A"],
+ ["8946", "\u4E3D\u6EDD\u9D4E\u91DF"],
+ ["894c", "\u{27735}\u6491\u4F1A\u4F28\u4FA8\u5156\u5174\u519C\u51E4\u52A1\u52A8\u533B\u534E\u53D1\u53D8\u56E2\u58F0\u5904\u5907\u5932\u5934\u5B66\u5B9E\u5B9F\u5C9A\u5E86\u603B\u6589\u67FE\u6804\u6865\u6D4E\u70BC\u7535\u7EA4\u7EAC\u7EBA\u7EC7\u7ECF\u7EDF\u7F06\u7F37\u827A\u82CF\u836F\u89C6\u8BBE\u8BE2\u8F66\u8F67\u8F6E"],
+ ["89a1", "\u7411\u7CFC\u7DCD\u6946\u7AC9\u5227"],
+ ["89ab", "\u918C\u78B8\u915E\u80BC"],
+ ["89b0", "\u8D0B\u80F6\u{209E7}"],
+ ["89b5", "\u809F\u9EC7\u4CCD\u9DC9\u9E0C\u4C3E\u{29DF6}\u{2700E}\u9E0A\u{2A133}\u35C1"],
+ ["89c1", "\u6E9A\u823E\u7519"],
+ ["89c5", "\u4911\u9A6C\u9A8F\u9F99\u7987\u{2846C}\u{21DCA}\u{205D0}\u{22AE6}\u4E24\u4E81\u4E80\u4E87\u4EBF\u4EEB\u4F37\u344C\u4FBD\u3E48\u5003\u5088\u347D\u3493\u34A5\u5186\u5905\u51DB\u51FC\u5205\u4E89\u5279\u5290\u5327\u35C7\u53A9\u3551\u53B0\u3553\u53C2\u5423\u356D\u3572\u3681\u5493\u54A3\u54B4\u54B9\u54D0\u54EF\u5518\u5523\u5528\u3598\u553F\u35A5\u35BF\u55D7\u35C5"],
+ ["8a40", "\u{27D84}\u5525"],
+ ["8a43", "\u{20C42}\u{20D15}\u{2512B}\u5590\u{22CC6}\u39EC\u{20341}\u8E46\u{24DB8}\u{294E5}\u4053\u{280BE}\u777A\u{22C38}\u3A34\u47D5\u{2815D}\u{269F2}\u{24DEA}\u64DD\u{20D7C}\u{20FB4}\u{20CD5}\u{210F4}\u648D\u8E7E\u{20E96}\u{20C0B}\u{20F64}\u{22CA9}\u{28256}\u{244D3}"],
+ ["8a64", "\u{20D46}\u{29A4D}\u{280E9}\u47F4\u{24EA7}\u{22CC2}\u9AB2\u3A67\u{295F4}\u3FED\u3506\u{252C7}\u{297D4}\u{278C8}\u{22D44}\u9D6E\u9815"],
+ ["8a76", "\u43D9\u{260A5}\u64B4\u54E3\u{22D4C}\u{22BCA}\u{21077}\u39FB\u{2106F}"],
+ ["8aa1", "\u{266DA}\u{26716}\u{279A0}\u64EA\u{25052}\u{20C43}\u8E68\u{221A1}\u{28B4C}\u{20731}"],
+ ["8aac", "\u480B\u{201A9}\u3FFA\u5873\u{22D8D}"],
+ ["8ab2", "\u{245C8}\u{204FC}\u{26097}\u{20F4C}\u{20D96}\u5579\u40BB\u43BA"],
+ ["8abb", "\u4AB4\u{22A66}\u{2109D}\u81AA\u98F5\u{20D9C}\u6379\u39FE\u{22775}\u8DC0\u56A1\u647C\u3E43"],
+ ["8ac9", "\u{2A601}\u{20E09}\u{22ACF}\u{22CC9}"],
+ ["8ace", "\u{210C8}\u{239C2}\u3992\u3A06\u{2829B}\u3578\u{25E49}\u{220C7}\u5652\u{20F31}\u{22CB2}\u{29720}\u34BC\u6C3D\u{24E3B}"],
+ ["8adf", "\u{27574}\u{22E8B}\u{22208}\u{2A65B}\u{28CCD}\u{20E7A}\u{20C34}\u{2681C}\u7F93\u{210CF}\u{22803}\u{22939}\u35FB\u{251E3}\u{20E8C}\u{20F8D}\u{20EAA}\u3F93\u{20F30}\u{20D47}\u{2114F}\u{20E4C}"],
+ ["8af6", "\u{20EAB}\u{20BA9}\u{20D48}\u{210C0}\u{2113D}\u3FF9\u{22696}\u6432\u{20FAD}"],
+ ["8b40", "\u{233F4}\u{27639}\u{22BCE}\u{20D7E}\u{20D7F}\u{22C51}\u{22C55}\u3A18\u{20E98}\u{210C7}\u{20F2E}\u{2A632}\u{26B50}\u{28CD2}\u{28D99}\u{28CCA}\u95AA\u54CC\u82C4\u55B9"],
+ ["8b55", "\u{29EC3}\u9C26\u9AB6\u{2775E}\u{22DEE}\u7140\u816D\u80EC\u5C1C\u{26572}\u8134\u3797\u535F\u{280BD}\u91B6\u{20EFA}\u{20E0F}\u{20E77}\u{20EFB}\u35DD\u{24DEB}\u3609\u{20CD6}\u56AF\u{227B5}\u{210C9}\u{20E10}\u{20E78}\u{21078}\u{21148}\u{28207}\u{21455}\u{20E79}\u{24E50}\u{22DA4}\u5A54\u{2101D}\u{2101E}\u{210F5}\u{210F6}\u579C\u{20E11}"],
+ ["8ba1", "\u{27694}\u{282CD}\u{20FB5}\u{20E7B}\u{2517E}\u3703\u{20FB6}\u{21180}\u{252D8}\u{2A2BD}\u{249DA}\u{2183A}\u{24177}\u{2827C}\u5899\u5268\u361A\u{2573D}\u7BB2\u5B68\u4800\u4B2C\u9F27\u49E7\u9C1F\u9B8D\u{25B74}\u{2313D}\u55FB\u35F2\u5689\u4E28\u5902\u{21BC1}\u{2F878}\u9751\u{20086}\u4E5B\u4EBB\u353E\u5C23\u5F51\u5FC4\u38FA\u624C\u6535\u6B7A\u6C35\u6C3A\u706C\u722B\u4E2C\u72AD\u{248E9}\u7F52\u793B\u7CF9\u7F53\u{2626A}\u34C1"],
+ ["8bde", "\u{2634B}\u8002\u8080\u{26612}\u{26951}\u535D\u8864\u89C1\u{278B2}\u8BA0\u8D1D\u9485\u9578\u957F\u95E8\u{28E0F}\u97E6\u9875\u98CE\u98DE\u9963\u{29810}\u9C7C\u9E1F\u9EC4\u6B6F\uF907\u4E37\u{20087}\u961D\u6237\u94A2"],
+ ["8c40", "\u503B\u6DFE\u{29C73}\u9FA6\u3DC9\u888F\u{2414E}\u7077\u5CF5\u4B20\u{251CD}\u3559\u{25D30}\u6122\u{28A32}\u8FA7\u91F6\u7191\u6719\u73BA\u{23281}\u{2A107}\u3C8B\u{21980}\u4B10\u78E4\u7402\u51AE\u{2870F}\u4009\u6A63\u{2A2BA}\u4223\u860F\u{20A6F}\u7A2A\u{29947}\u{28AEA}\u9755\u704D\u5324\u{2207E}\u93F4\u76D9\u{289E3}\u9FA7\u77DD\u4EA3\u4FF0\u50BC\u4E2F\u4F17\u9FA8\u5434\u7D8B\u5892\u58D0\u{21DB6}\u5E92\u5E99\u5FC2\u{22712}\u658B"],
+ ["8ca1", "\u{233F9}\u6919\u6A43\u{23C63}\u6CFF"],
+ ["8ca7", "\u7200\u{24505}\u738C\u3EDB\u{24A13}\u5B15\u74B9\u8B83\u{25CA4}\u{25695}\u7A93\u7BEC\u7CC3\u7E6C\u82F8\u8597\u9FA9\u8890\u9FAA\u8EB9\u9FAB\u8FCF\u855F\u99E0\u9221\u9FAC\u{28DB9}\u{2143F}\u4071\u42A2\u5A1A"],
+ ["8cc9", "\u9868\u676B\u4276\u573D"],
+ ["8cce", "\u85D6\u{2497B}\u82BF\u{2710D}\u4C81\u{26D74}\u5D7B\u{26B15}\u{26FBE}\u9FAD\u9FAE\u5B96\u9FAF\u66E7\u7E5B\u6E57\u79CA\u3D88\u44C3\u{23256}\u{22796}\u439A\u4536"],
+ ["8ce6", "\u5CD5\u{23B1A}\u8AF9\u5C78\u3D12\u{23551}\u5D78\u9FB2\u7157\u4558\u{240EC}\u{21E23}\u4C77\u3978\u344A\u{201A4}\u{26C41}\u8ACC\u4FB4\u{20239}\u59BF\u816C\u9856\u{298FA}\u5F3B"],
+ ["8d40", "\u{20B9F}"],
+ ["8d42", "\u{221C1}\u{2896D}\u4102\u46BB\u{29079}\u3F07\u9FB3\u{2A1B5}\u40F8\u37D6\u46F7\u{26C46}\u417C\u{286B2}\u{273FF}\u456D\u38D4\u{2549A}\u4561\u451B\u4D89\u4C7B\u4D76\u45EA\u3FC8\u{24B0F}\u3661\u44DE\u44BD\u41ED\u5D3E\u5D48\u5D56\u3DFC\u380F\u5DA4\u5DB9\u3820\u3838\u5E42\u5EBD\u5F25\u5F83\u3908\u3914\u393F\u394D\u60D7\u613D\u5CE5\u3989\u61B7\u61B9\u61CF\u39B8\u622C\u6290\u62E5\u6318\u39F8\u56B1"],
+ ["8da1", "\u3A03\u63E2\u63FB\u6407\u645A\u3A4B\u64C0\u5D15\u5621\u9F9F\u3A97\u6586\u3ABD\u65FF\u6653\u3AF2\u6692\u3B22\u6716\u3B42\u67A4\u6800\u3B58\u684A\u6884\u3B72\u3B71\u3B7B\u6909\u6943\u725C\u6964\u699F\u6985\u3BBC\u69D6\u3BDD\u6A65\u6A74\u6A71\u6A82\u3BEC\u6A99\u3BF2\u6AAB\u6AB5\u6AD4\u6AF6\u6B81\u6BC1\u6BEA\u6C75\u6CAA\u3CCB\u6D02\u6D06\u6D26\u6D81\u3CEF\u6DA4\u6DB1\u6E15\u6E18\u6E29\u6E86\u{289C0}\u6EBB\u6EE2\u6EDA\u9F7F\u6EE8\u6EE9\u6F24\u6F34\u3D46\u{23F41}\u6F81\u6FBE\u3D6A\u3D75\u71B7\u5C99\u3D8A\u702C\u3D91\u7050\u7054\u706F\u707F\u7089\u{20325}\u43C1\u35F1\u{20ED8}"],
+ ["8e40", "\u{23ED7}\u57BE\u{26ED3}\u713E\u{257E0}\u364E\u69A2\u{28BE9}\u5B74\u7A49\u{258E1}\u{294D9}\u7A65\u7A7D\u{259AC}\u7ABB\u7AB0\u7AC2\u7AC3\u71D1\u{2648D}\u41CA\u7ADA\u7ADD\u7AEA\u41EF\u54B2\u{25C01}\u7B0B\u7B55\u7B29\u{2530E}\u{25CFE}\u7BA2\u7B6F\u839C\u{25BB4}\u{26C7F}\u7BD0\u8421\u7B92\u7BB8\u{25D20}\u3DAD\u{25C65}\u8492\u7BFA\u7C06\u7C35\u{25CC1}\u7C44\u7C83\u{24882}\u7CA6\u667D\u{24578}\u7CC9\u7CC7\u7CE6\u7C74\u7CF3\u7CF5\u7CCE"],
+ ["8ea1", "\u7E67\u451D\u{26E44}\u7D5D\u{26ED6}\u748D\u7D89\u7DAB\u7135\u7DB3\u7DD2\u{24057}\u{26029}\u7DE4\u3D13\u7DF5\u{217F9}\u7DE5\u{2836D}\u7E1D\u{26121}\u{2615A}\u7E6E\u7E92\u432B\u946C\u7E27\u7F40\u7F41\u7F47\u7936\u{262D0}\u99E1\u7F97\u{26351}\u7FA3\u{21661}\u{20068}\u455C\u{23766}\u4503\u{2833A}\u7FFA\u{26489}\u8005\u8008\u801D\u8028\u802F\u{2A087}\u{26CC3}\u803B\u803C\u8061\u{22714}\u4989\u{26626}\u{23DE3}\u{266E8}\u6725\u80A7\u{28A48}\u8107\u811A\u58B0\u{226F6}\u6C7F\u{26498}\u{24FB8}\u64E7\u{2148A}\u8218\u{2185E}\u6A53\u{24A65}\u{24A95}\u447A\u8229\u{20B0D}\u{26A52}\u{23D7E}\u4FF9\u{214FD}\u84E2\u8362\u{26B0A}\u{249A7}\u{23530}\u{21773}\u{23DF8}\u82AA\u691B\u{2F994}\u41DB"],
+ ["8f40", "\u854B\u82D0\u831A\u{20E16}\u{217B4}\u36C1\u{2317D}\u{2355A}\u827B\u82E2\u8318\u{23E8B}\u{26DA3}\u{26B05}\u{26B97}\u{235CE}\u3DBF\u831D\u55EC\u8385\u450B\u{26DA5}\u83AC\u83C1\u83D3\u347E\u{26ED4}\u6A57\u855A\u3496\u{26E42}\u{22EEF}\u8458\u{25BE4}\u8471\u3DD3\u44E4\u6AA7\u844A\u{23CB5}\u7958\u84A8\u{26B96}\u{26E77}\u{26E43}\u84DE\u840F\u8391\u44A0\u8493\u84E4\u{25C91}\u4240\u{25CC0}\u4543\u8534\u5AF2\u{26E99}\u4527\u8573\u4516\u67BF\u8616"],
+ ["8fa1", "\u{28625}\u{2863B}\u85C1\u{27088}\u8602\u{21582}\u{270CD}\u{2F9B2}\u456A\u8628\u3648\u{218A2}\u53F7\u{2739A}\u867E\u8771\u{2A0F8}\u87EE\u{22C27}\u87B1\u87DA\u880F\u5661\u866C\u6856\u460F\u8845\u8846\u{275E0}\u{23DB9}\u{275E4}\u885E\u889C\u465B\u88B4\u88B5\u63C1\u88C5\u7777\u{2770F}\u8987\u898A\u89A6\u89A9\u89A7\u89BC\u{28A25}\u89E7\u{27924}\u{27ABD}\u8A9C\u7793\u91FE\u8A90\u{27A59}\u7AE9\u{27B3A}\u{23F8F}\u4713\u{27B38}\u717C\u8B0C\u8B1F\u{25430}\u{25565}\u8B3F\u8B4C\u8B4D\u8AA9\u{24A7A}\u8B90\u8B9B\u8AAF\u{216DF}\u4615\u884F\u8C9B\u{27D54}\u{27D8F}\u{2F9D4}\u3725\u{27D53}\u8CD6\u{27D98}\u{27DBD}\u8D12\u8D03\u{21910}\u8CDB\u705C\u8D11\u{24CC9}\u3ED0\u8D77"],
+ ["9040", "\u8DA9\u{28002}\u{21014}\u{2498A}\u3B7C\u{281BC}\u{2710C}\u7AE7\u8EAD\u8EB6\u8EC3\u92D4\u8F19\u8F2D\u{28365}\u{28412}\u8FA5\u9303\u{2A29F}\u{20A50}\u8FB3\u492A\u{289DE}\u{2853D}\u{23DBB}\u5EF8\u{23262}\u8FF9\u{2A014}\u{286BC}\u{28501}\u{22325}\u3980\u{26ED7}\u9037\u{2853C}\u{27ABE}\u9061\u{2856C}\u{2860B}\u90A8\u{28713}\u90C4\u{286E6}\u90AE\u90FD\u9167\u3AF0\u91A9\u91C4\u7CAC\u{28933}\u{21E89}\u920E\u6C9F\u9241\u9262\u{255B9}\u92B9\u{28AC6}\u{23C9B}\u{28B0C}\u{255DB}"],
+ ["90a1", "\u{20D31}\u932C\u936B\u{28AE1}\u{28BEB}\u708F\u5AC3\u{28AE2}\u{28AE5}\u4965\u9244\u{28BEC}\u{28C39}\u{28BFF}\u9373\u945B\u8EBC\u9585\u95A6\u9426\u95A0\u6FF6\u42B9\u{2267A}\u{286D8}\u{2127C}\u{23E2E}\u49DF\u6C1C\u967B\u9696\u416C\u96A3\u{26ED5}\u61DA\u96B6\u78F5\u{28AE0}\u96BD\u53CC\u49A1\u{26CB8}\u{20274}\u{26410}\u{290AF}\u{290E5}\u{24AD1}\u{21915}\u{2330A}\u9731\u8642\u9736\u4A0F\u453D\u4585\u{24AE9}\u7075\u5B41\u971B\u975C\u{291D5}\u9757\u5B4A\u{291EB}\u975F\u9425\u50D0\u{230B7}\u{230BC}\u9789\u979F\u97B1\u97BE\u97C0\u97D2\u97E0\u{2546C}\u97EE\u741C\u{29433}\u97FF\u97F5\u{2941D}\u{2797A}\u4AD1\u9834\u9833\u984B\u9866\u3B0E\u{27175}\u3D51\u{20630}\u{2415C}"],
+ ["9140", "\u{25706}\u98CA\u98B7\u98C8\u98C7\u4AFF\u{26D27}\u{216D3}\u55B0\u98E1\u98E6\u98EC\u9378\u9939\u{24A29}\u4B72\u{29857}\u{29905}\u99F5\u9A0C\u9A3B\u9A10\u9A58\u{25725}\u36C4\u{290B1}\u{29BD5}\u9AE0\u9AE2\u{29B05}\u9AF4\u4C0E\u9B14\u9B2D\u{28600}\u5034\u9B34\u{269A8}\u38C3\u{2307D}\u9B50\u9B40\u{29D3E}\u5A45\u{21863}\u9B8E\u{2424B}\u9C02\u9BFF\u9C0C\u{29E68}\u9DD4\u{29FB7}\u{2A192}\u{2A1AB}\u{2A0E1}\u{2A123}\u{2A1DF}\u9D7E\u9D83\u{2A134}\u9E0E\u6888"],
+ ["91a1", "\u9DC4\u{2215B}\u{2A193}\u{2A220}\u{2193B}\u{2A233}\u9D39\u{2A0B9}\u{2A2B4}\u9E90\u9E95\u9E9E\u9EA2\u4D34\u9EAA\u9EAF\u{24364}\u9EC1\u3B60\u39E5\u3D1D\u4F32\u37BE\u{28C2B}\u9F02\u9F08\u4B96\u9424\u{26DA2}\u9F17\u9F16\u9F39\u569F\u568A\u9F45\u99B8\u{2908B}\u97F2\u847F\u9F62\u9F69\u7ADC\u9F8E\u7216\u4BBE\u{24975}\u{249BB}\u7177\u{249F8}\u{24348}\u{24A51}\u739E\u{28BDA}\u{218FA}\u799F\u{2897E}\u{28E36}\u9369\u93F3\u{28A44}\u92EC\u9381\u93CB\u{2896C}\u{244B9}\u7217\u3EEB\u7772\u7A43\u70D0\u{24473}\u{243F8}\u717E\u{217EF}\u70A3\u{218BE}\u{23599}\u3EC7\u{21885}\u{2542F}\u{217F8}\u3722\u{216FB}\u{21839}\u36E1\u{21774}\u{218D1}\u{25F4B}\u3723\u{216C0}\u575B\u{24A25}\u{213FE}\u{212A8}"],
+ ["9240", "\u{213C6}\u{214B6}\u8503\u{236A6}\u8503\u8455\u{24994}\u{27165}\u{23E31}\u{2555C}\u{23EFB}\u{27052}\u44F4\u{236EE}\u{2999D}\u{26F26}\u67F9\u3733\u3C15\u3DE7\u586C\u{21922}\u6810\u4057\u{2373F}\u{240E1}\u{2408B}\u{2410F}\u{26C21}\u54CB\u569E\u{266B1}\u5692\u{20FDF}\u{20BA8}\u{20E0D}\u93C6\u{28B13}\u939C\u4EF8\u512B\u3819\u{24436}\u4EBC\u{20465}\u{2037F}\u4F4B\u4F8A\u{25651}\u5A68\u{201AB}\u{203CB}\u3999\u{2030A}\u{20414}\u3435\u4F29\u{202C0}\u{28EB3}\u{20275}\u8ADA\u{2020C}\u4E98"],
+ ["92a1", "\u50CD\u510D\u4FA2\u4F03\u{24A0E}\u{23E8A}\u4F42\u502E\u506C\u5081\u4FCC\u4FE5\u5058\u50FC\u5159\u515B\u515D\u515E\u6E76\u{23595}\u{23E39}\u{23EBF}\u6D72\u{21884}\u{23E89}\u51A8\u51C3\u{205E0}\u44DD\u{204A3}\u{20492}\u{20491}\u8D7A\u{28A9C}\u{2070E}\u5259\u52A4\u{20873}\u52E1\u936E\u467A\u718C\u{2438C}\u{20C20}\u{249AC}\u{210E4}\u69D1\u{20E1D}\u7479\u3EDE\u7499\u7414\u7456\u7398\u4B8E\u{24ABC}\u{2408D}\u53D0\u3584\u720F\u{240C9}\u55B4\u{20345}\u54CD\u{20BC6}\u571D\u925D\u96F4\u9366\u57DD\u578D\u577F\u363E\u58CB\u5A99\u{28A46}\u{216FA}\u{2176F}\u{21710}\u5A2C\u59B8\u928F\u5A7E\u5ACF\u5A12\u{25946}\u{219F3}\u{21861}\u{24295}\u36F5\u6D05\u7443\u5A21\u{25E83}"],
+ ["9340", "\u5A81\u{28BD7}\u{20413}\u93E0\u748C\u{21303}\u7105\u4972\u9408\u{289FB}\u93BD\u37A0\u5C1E\u5C9E\u5E5E\u5E48\u{21996}\u{2197C}\u{23AEE}\u5ECD\u5B4F\u{21903}\u{21904}\u3701\u{218A0}\u36DD\u{216FE}\u36D3\u812A\u{28A47}\u{21DBA}\u{23472}\u{289A8}\u5F0C\u5F0E\u{21927}\u{217AB}\u5A6B\u{2173B}\u5B44\u8614\u{275FD}\u8860\u607E\u{22860}\u{2262B}\u5FDB\u3EB8\u{225AF}\u{225BE}\u{29088}\u{26F73}\u61C0\u{2003E}\u{20046}\u{2261B}\u6199\u6198\u6075\u{22C9B}\u{22D07}\u{246D4}\u{2914D}"],
+ ["93a1", "\u6471\u{24665}\u{22B6A}\u3A29\u{22B22}\u{23450}\u{298EA}\u{22E78}\u6337\u{2A45B}\u64B6\u6331\u63D1\u{249E3}\u{22D67}\u62A4\u{22CA1}\u643B\u656B\u6972\u3BF4\u{2308E}\u{232AD}\u{24989}\u{232AB}\u550D\u{232E0}\u{218D9}\u{2943F}\u66CE\u{23289}\u{231B3}\u3AE0\u4190\u{25584}\u{28B22}\u{2558F}\u{216FC}\u{2555B}\u{25425}\u78EE\u{23103}\u{2182A}\u{23234}\u3464\u{2320F}\u{23182}\u{242C9}\u668E\u{26D24}\u666B\u4B93\u6630\u{27870}\u{21DEB}\u6663\u{232D2}\u{232E1}\u661E\u{25872}\u38D1\u{2383A}\u{237BC}\u3B99\u{237A2}\u{233FE}\u74D0\u3B96\u678F\u{2462A}\u68B6\u681E\u3BC4\u6ABE\u3863\u{237D5}\u{24487}\u6A33\u6A52\u6AC9\u6B05\u{21912}\u6511\u6898\u6A4C\u3BD7\u6A7A\u6B57\u{23FC0}\u{23C9A}\u93A0\u92F2\u{28BEA}\u{28ACB}"],
+ ["9440", "\u9289\u{2801E}\u{289DC}\u9467\u6DA5\u6F0B\u{249EC}\u6D67\u{23F7F}\u3D8F\u6E04\u{2403C}\u5A3D\u6E0A\u5847\u6D24\u7842\u713B\u{2431A}\u{24276}\u70F1\u7250\u7287\u7294\u{2478F}\u{24725}\u5179\u{24AA4}\u{205EB}\u747A\u{23EF8}\u{2365F}\u{24A4A}\u{24917}\u{25FE1}\u3F06\u3EB1\u{24ADF}\u{28C23}\u{23F35}\u60A7\u3EF3\u74CC\u743C\u9387\u7437\u449F\u{26DEA}\u4551\u7583\u3F63\u{24CD9}\u{24D06}\u3F58\u7555\u7673\u{2A5C6}\u3B19\u7468\u{28ACC}\u{249AB}\u{2498E}\u3AFB"],
+ ["94a1", "\u3DCD\u{24A4E}\u3EFF\u{249C5}\u{248F3}\u91FA\u5732\u9342\u{28AE3}\u{21864}\u50DF\u{25221}\u{251E7}\u7778\u{23232}\u770E\u770F\u777B\u{24697}\u{23781}\u3A5E\u{248F0}\u7438\u749B\u3EBF\u{24ABA}\u{24AC7}\u40C8\u{24A96}\u{261AE}\u9307\u{25581}\u781E\u788D\u7888\u78D2\u73D0\u7959\u{27741}\u{256E3}\u410E\u799B\u8496\u79A5\u6A2D\u{23EFA}\u7A3A\u79F4\u416E\u{216E6}\u4132\u9235\u79F1\u{20D4C}\u{2498C}\u{20299}\u{23DBA}\u{2176E}\u3597\u556B\u3570\u36AA\u{201D4}\u{20C0D}\u7AE2\u5A59\u{226F5}\u{25AAF}\u{25A9C}\u5A0D\u{2025B}\u78F0\u5A2A\u{25BC6}\u7AFE\u41F9\u7C5D\u7C6D\u4211\u{25BB3}\u{25EBC}\u{25EA6}\u7CCD\u{249F9}\u{217B0}\u7C8E\u7C7C\u7CAE\u6AB2\u7DDC\u7E07\u7DD3\u7F4E\u{26261}"],
+ ["9540", "\u{2615C}\u{27B48}\u7D97\u{25E82}\u426A\u{26B75}\u{20916}\u67D6\u{2004E}\u{235CF}\u57C4\u{26412}\u{263F8}\u{24962}\u7FDD\u7B27\u{2082C}\u{25AE9}\u{25D43}\u7B0C\u{25E0E}\u99E6\u8645\u9A63\u6A1C\u{2343F}\u39E2\u{249F7}\u{265AD}\u9A1F\u{265A0}\u8480\u{27127}\u{26CD1}\u44EA\u8137\u4402\u80C6\u8109\u8142\u{267B4}\u98C3\u{26A42}\u8262\u8265\u{26A51}\u8453\u{26DA7}\u8610\u{2721B}\u5A86\u417F\u{21840}\u5B2B\u{218A1}\u5AE4\u{218D8}\u86A0\u{2F9BC}\u{23D8F}\u882D\u{27422}\u5A02"],
+ ["95a1", "\u886E\u4F45\u8887\u88BF\u88E6\u8965\u894D\u{25683}\u8954\u{27785}\u{27784}\u{28BF5}\u{28BD9}\u{28B9C}\u{289F9}\u3EAD\u84A3\u46F5\u46CF\u37F2\u8A3D\u8A1C\u{29448}\u5F4D\u922B\u{24284}\u65D4\u7129\u70C4\u{21845}\u9D6D\u8C9F\u8CE9\u{27DDC}\u599A\u77C3\u59F0\u436E\u36D4\u8E2A\u8EA7\u{24C09}\u8F30\u8F4A\u42F4\u6C58\u6FBB\u{22321}\u489B\u6F79\u6E8B\u{217DA}\u9BE9\u36B5\u{2492F}\u90BB\u9097\u5571\u4906\u91BB\u9404\u{28A4B}\u4062\u{28AFC}\u9427\u{28C1D}\u{28C3B}\u84E5\u8A2B\u9599\u95A7\u9597\u9596\u{28D34}\u7445\u3EC2\u{248FF}\u{24A42}\u{243EA}\u3EE7\u{23225}\u968F\u{28EE7}\u{28E66}\u{28E65}\u3ECC\u{249ED}\u{24A78}\u{23FEE}\u7412\u746B\u3EFC\u9741\u{290B0}"],
+ ["9640", "\u6847\u4A1D\u{29093}\u{257DF}\u975D\u9368\u{28989}\u{28C26}\u{28B2F}\u{263BE}\u92BA\u5B11\u8B69\u493C\u73F9\u{2421B}\u979B\u9771\u9938\u{20F26}\u5DC1\u{28BC5}\u{24AB2}\u981F\u{294DA}\u92F6\u{295D7}\u91E5\u44C0\u{28B50}\u{24A67}\u{28B64}\u98DC\u{28A45}\u3F00\u922A\u4925\u8414\u993B\u994D\u{27B06}\u3DFD\u999B\u4B6F\u99AA\u9A5C\u{28B65}\u{258C8}\u6A8F\u9A21\u5AFE\u9A2F\u{298F1}\u4B90\u{29948}\u99BC\u4BBD\u4B97\u937D\u5872\u{21302}\u5822\u{249B8}"],
+ ["96a1", "\u{214E8}\u7844\u{2271F}\u{23DB8}\u68C5\u3D7D\u9458\u3927\u6150\u{22781}\u{2296B}\u6107\u9C4F\u9C53\u9C7B\u9C35\u9C10\u9B7F\u9BCF\u{29E2D}\u9B9F\u{2A1F5}\u{2A0FE}\u9D21\u4CAE\u{24104}\u9E18\u4CB0\u9D0C\u{2A1B4}\u{2A0ED}\u{2A0F3}\u{2992F}\u9DA5\u84BD\u{26E12}\u{26FDF}\u{26B82}\u85FC\u4533\u{26DA4}\u{26E84}\u{26DF0}\u8420\u85EE\u{26E00}\u{237D7}\u{26064}\u79E2\u{2359C}\u{23640}\u492D\u{249DE}\u3D62\u93DB\u92BE\u9348\u{202BF}\u78B9\u9277\u944D\u4FE4\u3440\u9064\u{2555D}\u783D\u7854\u78B6\u784B\u{21757}\u{231C9}\u{24941}\u369A\u4F72\u6FDA\u6FD9\u701E\u701E\u5414\u{241B5}\u57BB\u58F3\u578A\u9D16\u57D7\u7134\u34AF\u{241AC}\u71EB\u{26C40}\u{24F97}\u5B28\u{217B5}\u{28A49}"],
+ ["9740", "\u610C\u5ACE\u5A0B\u42BC\u{24488}\u372C\u4B7B\u{289FC}\u93BB\u93B8\u{218D6}\u{20F1D}\u8472\u{26CC0}\u{21413}\u{242FA}\u{22C26}\u{243C1}\u5994\u{23DB7}\u{26741}\u7DA8\u{2615B}\u{260A4}\u{249B9}\u{2498B}\u{289FA}\u92E5\u73E2\u3EE9\u74B4\u{28B63}\u{2189F}\u3EE1\u{24AB3}\u6AD8\u73F3\u73FB\u3ED6\u{24A3E}\u{24A94}\u{217D9}\u{24A66}\u{203A7}\u{21424}\u{249E5}\u7448\u{24916}\u70A5\u{24976}\u9284\u73E6\u935F\u{204FE}\u9331\u{28ACE}\u{28A16}\u9386\u{28BE7}\u{255D5}\u4935\u{28A82}\u716B"],
+ ["97a1", "\u{24943}\u{20CFF}\u56A4\u{2061A}\u{20BEB}\u{20CB8}\u5502\u79C4\u{217FA}\u7DFE\u{216C2}\u{24A50}\u{21852}\u452E\u9401\u370A\u{28AC0}\u{249AD}\u59B0\u{218BF}\u{21883}\u{27484}\u5AA1\u36E2\u{23D5B}\u36B0\u925F\u5A79\u{28A81}\u{21862}\u9374\u3CCD\u{20AB4}\u4A96\u398A\u50F4\u3D69\u3D4C\u{2139C}\u7175\u42FB\u{28218}\u6E0F\u{290E4}\u44EB\u6D57\u{27E4F}\u7067\u6CAF\u3CD6\u{23FED}\u{23E2D}\u6E02\u6F0C\u3D6F\u{203F5}\u7551\u36BC\u34C8\u4680\u3EDA\u4871\u59C4\u926E\u493E\u8F41\u{28C1C}\u{26BC0}\u5812\u57C8\u36D6\u{21452}\u70FE\u{24362}\u{24A71}\u{22FE3}\u{212B0}\u{223BD}\u68B9\u6967\u{21398}\u{234E5}\u{27BF4}\u{236DF}\u{28A83}\u{237D6}\u{233FA}\u{24C9F}\u6A1A\u{236AD}\u{26CB7}\u843E\u44DF\u44CE"],
+ ["9840", "\u{26D26}\u{26D51}\u{26C82}\u{26FDE}\u6F17\u{27109}\u833D\u{2173A}\u83ED\u{26C80}\u{27053}\u{217DB}\u5989\u5A82\u{217B3}\u5A61\u5A71\u{21905}\u{241FC}\u372D\u59EF\u{2173C}\u36C7\u718E\u9390\u669A\u{242A5}\u5A6E\u5A2B\u{24293}\u6A2B\u{23EF9}\u{27736}\u{2445B}\u{242CA}\u711D\u{24259}\u{289E1}\u4FB0\u{26D28}\u5CC2\u{244CE}\u{27E4D}\u{243BD}\u6A0C\u{24256}\u{21304}\u70A6\u7133\u{243E9}\u3DA5\u6CDF\u{2F825}\u{24A4F}\u7E65\u59EB\u5D2F\u3DF3\u5F5C\u{24A5D}\u{217DF}\u7DA4\u8426"],
+ ["98a1", "\u5485\u{23AFA}\u{23300}\u{20214}\u577E\u{208D5}\u{20619}\u3FE5\u{21F9E}\u{2A2B6}\u7003\u{2915B}\u5D70\u738F\u7CD3\u{28A59}\u{29420}\u4FC8\u7FE7\u72CD\u7310\u{27AF4}\u7338\u7339\u{256F6}\u7341\u7348\u3EA9\u{27B18}\u906C\u71F5\u{248F2}\u73E1\u81F6\u3ECA\u770C\u3ED1\u6CA2\u56FD\u7419\u741E\u741F\u3EE2\u3EF0\u3EF4\u3EFA\u74D3\u3F0E\u3F53\u7542\u756D\u7572\u758D\u3F7C\u75C8\u75DC\u3FC0\u764D\u3FD7\u7674\u3FDC\u767A\u{24F5C}\u7188\u5623\u8980\u5869\u401D\u7743\u4039\u6761\u4045\u35DB\u7798\u406A\u406F\u5C5E\u77BE\u77CB\u58F2\u7818\u70B9\u781C\u40A8\u7839\u7847\u7851\u7866\u8448\u{25535}\u7933\u6803\u7932\u4103"],
+ ["9940", "\u4109\u7991\u7999\u8FBB\u7A06\u8FBC\u4167\u7A91\u41B2\u7ABC\u8279\u41C4\u7ACF\u7ADB\u41CF\u4E21\u7B62\u7B6C\u7B7B\u7C12\u7C1B\u4260\u427A\u7C7B\u7C9C\u428C\u7CB8\u4294\u7CED\u8F93\u70C0\u{20CCF}\u7DCF\u7DD4\u7DD0\u7DFD\u7FAE\u7FB4\u729F\u4397\u8020\u8025\u7B39\u802E\u8031\u8054\u3DCC\u57B4\u70A0\u80B7\u80E9\u43ED\u810C\u732A\u810E\u8112\u7560\u8114\u4401\u3B39\u8156\u8159\u815A"],
+ ["99a1", "\u4413\u583A\u817C\u8184\u4425\u8193\u442D\u81A5\u57EF\u81C1\u81E4\u8254\u448F\u82A6\u8276\u82CA\u82D8\u82FF\u44B0\u8357\u9669\u698A\u8405\u70F5\u8464\u60E3\u8488\u4504\u84BE\u84E1\u84F8\u8510\u8538\u8552\u453B\u856F\u8570\u85E0\u4577\u8672\u8692\u86B2\u86EF\u9645\u878B\u4606\u4617\u88AE\u88FF\u8924\u8947\u8991\u{27967}\u8A29\u8A38\u8A94\u8AB4\u8C51\u8CD4\u8CF2\u8D1C\u4798\u585F\u8DC3\u47ED\u4EEE\u8E3A\u55D8\u5754\u8E71\u55F5\u8EB0\u4837\u8ECE\u8EE2\u8EE4\u8EED\u8EF2\u8FB7\u8FC1\u8FCA\u8FCC\u9033\u99C4\u48AD\u98E0\u9213\u491E\u9228\u9258\u926B\u92B1\u92AE\u92BF"],
+ ["9a40", "\u92E3\u92EB\u92F3\u92F4\u92FD\u9343\u9384\u93AD\u4945\u4951\u9EBF\u9417\u5301\u941D\u942D\u943E\u496A\u9454\u9479\u952D\u95A2\u49A7\u95F4\u9633\u49E5\u67A0\u4A24\u9740\u4A35\u97B2\u97C2\u5654\u4AE4\u60E8\u98B9\u4B19\u98F1\u5844\u990E\u9919\u51B4\u991C\u9937\u9942\u995D\u9962\u4B70\u99C5\u4B9D\u9A3C\u9B0F\u7A83\u9B69\u9B81\u9BDD\u9BF1\u9BF4\u4C6D\u9C20\u376F\u{21BC2}\u9D49\u9C3A"],
+ ["9aa1", "\u9EFE\u5650\u9D93\u9DBD\u9DC0\u9DFC\u94F6\u8FB6\u9E7B\u9EAC\u9EB1\u9EBD\u9EC6\u94DC\u9EE2\u9EF1\u9EF8\u7AC8\u9F44\u{20094}\u{202B7}\u{203A0}\u691A\u94C3\u59AC\u{204D7}\u5840\u94C1\u37B9\u{205D5}\u{20615}\u{20676}\u{216BA}\u5757\u7173\u{20AC2}\u{20ACD}\u{20BBF}\u546A\u{2F83B}\u{20BCB}\u549E\u{20BFB}\u{20C3B}\u{20C53}\u{20C65}\u{20C7C}\u60E7\u{20C8D}\u567A\u{20CB5}\u{20CDD}\u{20CED}\u{20D6F}\u{20DB2}\u{20DC8}\u6955\u9C2F\u87A5\u{20E04}\u{20E0E}\u{20ED7}\u{20F90}\u{20F2D}\u{20E73}\u5C20\u{20FBC}\u5E0B\u{2105C}\u{2104F}\u{21076}\u671E\u{2107B}\u{21088}\u{21096}\u3647\u{210BF}\u{210D3}\u{2112F}\u{2113B}\u5364\u84AD\u{212E3}\u{21375}\u{21336}\u8B81\u{21577}\u{21619}\u{217C3}\u{217C7}\u4E78\u70BB\u{2182D}\u{2196A}"],
+ ["9b40", "\u{21A2D}\u{21A45}\u{21C2A}\u{21C70}\u{21CAC}\u{21EC8}\u62C3\u{21ED5}\u{21F15}\u7198\u6855\u{22045}\u69E9\u36C8\u{2227C}\u{223D7}\u{223FA}\u{2272A}\u{22871}\u{2294F}\u82FD\u{22967}\u{22993}\u{22AD5}\u89A5\u{22AE8}\u8FA0\u{22B0E}\u97B8\u{22B3F}\u9847\u9ABD\u{22C4C}"],
+ ["9b62", "\u{22C88}\u{22CB7}\u{25BE8}\u{22D08}\u{22D12}\u{22DB7}\u{22D95}\u{22E42}\u{22F74}\u{22FCC}\u{23033}\u{23066}\u{2331F}\u{233DE}\u5FB1\u6648\u66BF\u{27A79}\u{23567}\u{235F3}\u7201\u{249BA}\u77D7\u{2361A}\u{23716}\u7E87\u{20346}\u58B5\u670E"],
+ ["9ba1", "\u6918\u{23AA7}\u{27657}\u{25FE2}\u{23E11}\u{23EB9}\u{275FE}\u{2209A}\u48D0\u4AB8\u{24119}\u{28A9A}\u{242EE}\u{2430D}\u{2403B}\u{24334}\u{24396}\u{24A45}\u{205CA}\u51D2\u{20611}\u599F\u{21EA8}\u3BBE\u{23CFF}\u{24404}\u{244D6}\u5788\u{24674}\u399B\u{2472F}\u{285E8}\u{299C9}\u3762\u{221C3}\u8B5E\u{28B4E}\u99D6\u{24812}\u{248FB}\u{24A15}\u7209\u{24AC0}\u{20C78}\u5965\u{24EA5}\u{24F86}\u{20779}\u8EDA\u{2502C}\u528F\u573F\u7171\u{25299}\u{25419}\u{23F4A}\u{24AA7}\u55BC\u{25446}\u{2546E}\u{26B52}\u91D4\u3473\u{2553F}\u{27632}\u{2555E}\u4718\u{25562}\u{25566}\u{257C7}\u{2493F}\u{2585D}\u5066\u34FB\u{233CC}\u60DE\u{25903}\u477C\u{28948}\u{25AAE}\u{25B89}\u{25C06}\u{21D90}\u57A1\u7151\u6FB6\u{26102}\u{27C12}\u9056\u{261B2}\u{24F9A}\u8B62\u{26402}\u{2644A}"],
+ ["9c40", "\u5D5B\u{26BF7}\u8F36\u{26484}\u{2191C}\u8AEA\u{249F6}\u{26488}\u{23FEF}\u{26512}\u4BC0\u{265BF}\u{266B5}\u{2271B}\u9465\u{257E1}\u6195\u5A27\u{2F8CD}\u4FBB\u56B9\u{24521}\u{266FC}\u4E6A\u{24934}\u9656\u6D8F\u{26CBD}\u3618\u8977\u{26799}\u{2686E}\u{26411}\u{2685E}\u71DF\u{268C7}\u7B42\u{290C0}\u{20A11}\u{26926}\u9104\u{26939}\u7A45\u9DF0\u{269FA}\u9A26\u{26A2D}\u365F\u{26469}\u{20021}\u7983\u{26A34}\u{26B5B}\u5D2C\u{23519}\u83CF\u{26B9D}\u46D0\u{26CA4}\u753B\u8865\u{26DAE}\u58B6"],
+ ["9ca1", "\u371C\u{2258D}\u{2704B}\u{271CD}\u3C54\u{27280}\u{27285}\u9281\u{2217A}\u{2728B}\u9330\u{272E6}\u{249D0}\u6C39\u949F\u{27450}\u{20EF8}\u8827\u88F5\u{22926}\u{28473}\u{217B1}\u6EB8\u{24A2A}\u{21820}\u39A4\u36B9\u5C10\u79E3\u453F\u66B6\u{29CAD}\u{298A4}\u8943\u{277CC}\u{27858}\u56D6\u40DF\u{2160A}\u39A1\u{2372F}\u{280E8}\u{213C5}\u71AD\u8366\u{279DD}\u{291A8}\u5A67\u4CB7\u{270AF}\u{289AB}\u{279FD}\u{27A0A}\u{27B0B}\u{27D66}\u{2417A}\u7B43\u797E\u{28009}\u6FB5\u{2A2DF}\u6A03\u{28318}\u53A2\u{26E07}\u93BF\u6836\u975D\u{2816F}\u{28023}\u{269B5}\u{213ED}\u{2322F}\u{28048}\u5D85\u{28C30}\u{28083}\u5715\u9823\u{28949}\u5DAB\u{24988}\u65BE\u69D5\u53D2\u{24AA5}\u{23F81}\u3C11\u6736\u{28090}\u{280F4}\u{2812E}\u{21FA1}\u{2814F}"],
+ ["9d40", "\u{28189}\u{281AF}\u{2821A}\u{28306}\u{2832F}\u{2838A}\u35CA\u{28468}\u{286AA}\u48FA\u63E6\u{28956}\u7808\u9255\u{289B8}\u43F2\u{289E7}\u43DF\u{289E8}\u{28B46}\u{28BD4}\u59F8\u{28C09}\u8F0B\u{28FC5}\u{290EC}\u7B51\u{29110}\u{2913C}\u3DF7\u{2915E}\u{24ACA}\u8FD0\u728F\u568B\u{294E7}\u{295E9}\u{295B0}\u{295B8}\u{29732}\u{298D1}\u{29949}\u{2996A}\u{299C3}\u{29A28}\u{29B0E}\u{29D5A}\u{29D9B}\u7E9F\u{29EF8}\u{29F23}\u4CA4\u9547\u{2A293}\u71A2\u{2A2FF}\u4D91\u9012\u{2A5CB}\u4D9C\u{20C9C}\u8FBE\u55C1"],
+ ["9da1", "\u8FBA\u{224B0}\u8FB9\u{24A93}\u4509\u7E7F\u6F56\u6AB1\u4EEA\u34E4\u{28B2C}\u{2789D}\u373A\u8E80\u{217F5}\u{28024}\u{28B6C}\u{28B99}\u{27A3E}\u{266AF}\u3DEB\u{27655}\u{23CB7}\u{25635}\u{25956}\u4E9A\u{25E81}\u{26258}\u56BF\u{20E6D}\u8E0E\u5B6D\u{23E88}\u{24C9E}\u63DE\u62D0\u{217F6}\u{2187B}\u6530\u562D\u{25C4A}\u541A\u{25311}\u3DC6\u{29D98}\u4C7D\u5622\u561E\u7F49\u{25ED8}\u5975\u{23D40}\u8770\u4E1C\u{20FEA}\u{20D49}\u{236BA}\u8117\u9D5E\u8D18\u763B\u9C45\u764E\u77B9\u9345\u5432\u8148\u82F7\u5625\u8132\u8418\u80BD\u55EA\u7962\u5643\u5416\u{20E9D}\u35CE\u5605\u55F1\u66F1\u{282E2}\u362D\u7534\u55F0\u55BA\u5497\u5572\u{20C41}\u{20C96}\u5ED0\u{25148}\u{20E76}\u{22C62}"],
+ ["9e40", "\u{20EA2}\u9EAB\u7D5A\u55DE\u{21075}\u629D\u976D\u5494\u8CCD\u71F6\u9176\u63FC\u63B9\u63FE\u5569\u{22B43}\u9C72\u{22EB3}\u519A\u34DF\u{20DA7}\u51A7\u544D\u551E\u5513\u7666\u8E2D\u{2688A}\u75B1\u80B6\u8804\u8786\u88C7\u81B6\u841C\u{210C1}\u44EC\u7304\u{24706}\u5B90\u830B\u{26893}\u567B\u{226F4}\u{27D2F}\u{241A3}\u{27D73}\u{26ED0}\u{272B6}\u9170\u{211D9}\u9208\u{23CFC}\u{2A6A9}\u{20EAC}\u{20EF9}\u7266\u{21CA2}\u474E\u{24FC2}\u{27FF9}\u{20FEB}\u40FA"],
+ ["9ea1", "\u9C5D\u651F\u{22DA0}\u48F3\u{247E0}\u{29D7C}\u{20FEC}\u{20E0A}\u6062\u{275A3}\u{20FED}"],
+ ["9ead", "\u{26048}\u{21187}\u71A3\u7E8E\u9D50\u4E1A\u4E04\u3577\u5B0D\u6CB2\u5367\u36AC\u39DC\u537D\u36A5\u{24618}\u589A\u{24B6E}\u822D\u544B\u57AA\u{25A95}\u{20979}"],
+ ["9ec5", "\u3A52\u{22465}\u7374\u{29EAC}\u4D09\u9BED\u{23CFE}\u{29F30}\u4C5B\u{24FA9}\u{2959E}\u{29FDE}\u845C\u{23DB6}\u{272B2}\u{267B3}\u{23720}\u632E\u7D25\u{23EF7}\u{23E2C}\u3A2A\u9008\u52CC\u3E74\u367A\u45E9\u{2048E}\u7640\u5AF0\u{20EB6}\u787A\u{27F2E}\u58A7\u40BF\u567C\u9B8B\u5D74\u7654\u{2A434}\u9E85\u4CE1\u75F9\u37FB\u6119\u{230DA}\u{243F2}"],
+ ["9ef5", "\u565D\u{212A9}\u57A7\u{24963}\u{29E06}\u5234\u{270AE}\u35AD\u6C4A\u9D7C"],
+ ["9f40", "\u7C56\u9B39\u57DE\u{2176C}\u5C53\u64D3\u{294D0}\u{26335}\u{27164}\u86AD\u{20D28}\u{26D22}\u{24AE2}\u{20D71}"],
+ ["9f4f", "\u51FE\u{21F0F}\u5D8E\u9703\u{21DD1}\u9E81\u904C\u7B1F\u9B02\u5CD1\u7BA3\u6268\u6335\u9AFF\u7BCF\u9B2A\u7C7E\u9B2E\u7C42\u7C86\u9C15\u7BFC\u9B09\u9F17\u9C1B\u{2493E}\u9F5A\u5573\u5BC3\u4FFD\u9E98\u4FF2\u5260\u3E06\u52D1\u5767\u5056\u59B7\u5E12\u97C8\u9DAB\u8F5C\u5469\u97B4\u9940\u97BA\u532C\u6130"],
+ ["9fa1", "\u692C\u53DA\u9C0A\u9D02\u4C3B\u9641\u6980\u50A6\u7546\u{2176D}\u99DA\u5273"],
+ ["9fae", "\u9159\u9681\u915C"],
+ ["9fb2", "\u9151\u{28E97}\u637F\u{26D23}\u6ACA\u5611\u918E\u757A\u6285\u{203FC}\u734F\u7C70\u{25C21}\u{23CFD}"],
+ ["9fc1", "\u{24919}\u76D6\u9B9D\u4E2A\u{20CD4}\u83BE\u8842"],
+ ["9fc9", "\u5C4A\u69C0\u50ED\u577A\u521F\u5DF5\u4ECE\u6C31\u{201F2}\u4F39\u549C\u54DA\u529A\u8D82\u35FE\u5F0C\u35F3"],
+ ["9fdb", "\u6B52\u917C\u9FA5\u9B97\u982E\u98B4\u9ABA\u9EA8\u9E84\u717A\u7B14"],
+ ["9fe7", "\u6BFA\u8818\u7F78"],
+ ["9feb", "\u5620\u{2A64A}\u8E77\u9F53"],
+ ["9ff0", "\u8DD4\u8E4F\u9E1C\u8E01\u6282\u{2837D}\u8E28\u8E75\u7AD3\u{24A77}\u7A3E\u78D8\u6CEA\u8A67\u7607"],
+ ["a040", "\u{28A5A}\u9F26\u6CCE\u87D6\u75C3\u{2A2B2}\u7853\u{2F840}\u8D0C\u72E2\u7371\u8B2D\u7302\u74F1\u8CEB\u{24ABB}\u862F\u5FBA\u88A0\u44B7"],
+ ["a055", "\u{2183B}\u{26E05}"],
+ ["a058", "\u8A7E\u{2251B}"],
+ ["a05b", "\u60FD\u7667\u9AD7\u9D44\u936E\u9B8F\u87F5"],
+ ["a063", "\u880F\u8CF7\u732C\u9721\u9BB0\u35D6\u72B2\u4C07\u7C51\u994A\u{26159}\u6159\u4C04\u9E96\u617D"],
+ ["a073", "\u575F\u616F\u62A6\u6239\u62CE\u3A5C\u61E2\u53AA\u{233F5}\u6364\u6802\u35D2"],
+ ["a0a1", "\u5D57\u{28BC2}\u8FDA\u{28E39}"],
+ ["a0a6", "\u50D9\u{21D46}\u7906\u5332\u9638\u{20F3B}\u4065"],
+ ["a0ae", "\u77FE"],
+ ["a0b0", "\u7CC2\u{25F1A}\u7CDA\u7A2D\u8066\u8063\u7D4D\u7505\u74F2\u8994\u821A\u670C\u8062\u{27486}\u805B\u74F0\u8103\u7724\u8989\u{267CC}\u7553\u{26ED1}\u87A9\u87CE\u81C8\u878C\u8A49\u8CAD\u8B43\u772B\u74F8\u84DA\u3635\u69B2\u8DA6"],
+ ["a0d4", "\u89A9\u7468\u6DB9\u87C1\u{24011}\u74E7\u3DDB\u7176\u60A4\u619C\u3CD1\u7162\u6077"],
+ ["a0e2", "\u7F71\u{28B2D}\u7250\u60E9\u4B7E\u5220\u3C18\u{23CC7}\u{25ED7}\u{27656}\u{25531}\u{21944}\u{212FE}\u{29903}\u{26DDC}\u{270AD}\u5CC1\u{261AD}\u{28A0F}\u{23677}\u{200EE}\u{26846}\u{24F0E}\u4562\u5B1F\u{2634C}\u9F50\u9EA6\u{2626B}"],
+ ["a3c0", "\u2400", 31, "\u2421"],
+ ["c6a1", "\u2460", 9, "\u2474", 9, "\u2170", 9, "\u4E36\u4E3F\u4E85\u4EA0\u5182\u5196\u51AB\u52F9\u5338\u5369\u53B6\u590A\u5B80\u5DDB\u2F33\u5E7F\u5EF4\u5F50\u5F61\u6534\u65E0\u7592\u7676\u8FB5\u96B6\xA8\u02C6\u30FD\u30FE\u309D\u309E\u3003\u4EDD\u3005\u3006\u3007\u30FC\uFF3B\uFF3D\u273D\u3041", 23],
+ ["c740", "\u3059", 58, "\u30A1\u30A2\u30A3\u30A4"],
+ ["c7a1", "\u30A5", 81, "\u0410", 5, "\u0401\u0416", 4],
+ ["c840", "\u041B", 26, "\u0451\u0436", 25, "\u21E7\u21B8\u21B9\u31CF\u{200CC}\u4E5A\u{2008A}\u5202\u4491"],
+ ["c8a1", "\u9FB0\u5188\u9FB1\u{27607}"],
+ ["c8cd", "\uFFE2\uFFE4\uFF07\uFF02\u3231\u2116\u2121\u309B\u309C\u2E80\u2E84\u2E86\u2E87\u2E88\u2E8A\u2E8C\u2E8D\u2E95\u2E9C\u2E9D\u2EA5\u2EA7\u2EAA\u2EAC\u2EAE\u2EB6\u2EBC\u2EBE\u2EC6\u2ECA\u2ECC\u2ECD\u2ECF\u2ED6\u2ED7\u2EDE\u2EE3"],
+ ["c8f5", "\u0283\u0250\u025B\u0254\u0275\u0153\xF8\u014B\u028A\u026A"],
+ ["f9fe", "\uFFED"],
+ ["fa40", "\u{20547}\u92DB\u{205DF}\u{23FC5}\u854C\u42B5\u73EF\u51B5\u3649\u{24942}\u{289E4}\u9344\u{219DB}\u82EE\u{23CC8}\u783C\u6744\u62DF\u{24933}\u{289AA}\u{202A0}\u{26BB3}\u{21305}\u4FAB\u{224ED}\u5008\u{26D29}\u{27A84}\u{23600}\u{24AB1}\u{22513}\u5029\u{2037E}\u5FA4\u{20380}\u{20347}\u6EDB\u{2041F}\u507D\u5101\u347A\u510E\u986C\u3743\u8416\u{249A4}\u{20487}\u5160\u{233B4}\u516A\u{20BFF}\u{220FC}\u{202E5}\u{22530}\u{2058E}\u{23233}\u{21983}\u5B82\u877D\u{205B3}\u{23C99}\u51B2\u51B8"],
+ ["faa1", "\u9D34\u51C9\u51CF\u51D1\u3CDC\u51D3\u{24AA6}\u51B3\u51E2\u5342\u51ED\u83CD\u693E\u{2372D}\u5F7B\u520B\u5226\u523C\u52B5\u5257\u5294\u52B9\u52C5\u7C15\u8542\u52E0\u860D\u{26B13}\u5305\u{28ADE}\u5549\u6ED9\u{23F80}\u{20954}\u{23FEC}\u5333\u5344\u{20BE2}\u6CCB\u{21726}\u681B\u73D5\u604A\u3EAA\u38CC\u{216E8}\u71DD\u44A2\u536D\u5374\u{286AB}\u537E\u537F\u{21596}\u{21613}\u77E6\u5393\u{28A9B}\u53A0\u53AB\u53AE\u73A7\u{25772}\u3F59\u739C\u53C1\u53C5\u6C49\u4E49\u57FE\u53D9\u3AAB\u{20B8F}\u53E0\u{23FEB}\u{22DA3}\u53F6\u{20C77}\u5413\u7079\u552B\u6657\u6D5B\u546D\u{26B53}\u{20D74}\u555D\u548F\u54A4\u47A6\u{2170D}\u{20EDD}\u3DB4\u{20D4D}"],
+ ["fb40", "\u{289BC}\u{22698}\u5547\u4CED\u542F\u7417\u5586\u55A9\u5605\u{218D7}\u{2403A}\u4552\u{24435}\u66B3\u{210B4}\u5637\u66CD\u{2328A}\u66A4\u66AD\u564D\u564F\u78F1\u56F1\u9787\u53FE\u5700\u56EF\u56ED\u{28B66}\u3623\u{2124F}\u5746\u{241A5}\u6C6E\u708B\u5742\u36B1\u{26C7E}\u57E6\u{21416}\u5803\u{21454}\u{24363}\u5826\u{24BF5}\u585C\u58AA\u3561\u58E0\u58DC\u{2123C}\u58FB\u5BFF\u5743\u{2A150}\u{24278}\u93D3\u35A1\u591F\u68A6\u36C3\u6E59"],
+ ["fba1", "\u{2163E}\u5A24\u5553\u{21692}\u8505\u59C9\u{20D4E}\u{26C81}\u{26D2A}\u{217DC}\u59D9\u{217FB}\u{217B2}\u{26DA6}\u6D71\u{21828}\u{216D5}\u59F9\u{26E45}\u5AAB\u5A63\u36E6\u{249A9}\u5A77\u3708\u5A96\u7465\u5AD3\u{26FA1}\u{22554}\u3D85\u{21911}\u3732\u{216B8}\u5E83\u52D0\u5B76\u6588\u5B7C\u{27A0E}\u4004\u485D\u{20204}\u5BD5\u6160\u{21A34}\u{259CC}\u{205A5}\u5BF3\u5B9D\u4D10\u5C05\u{21B44}\u5C13\u73CE\u5C14\u{21CA5}\u{26B28}\u5C49\u48DD\u5C85\u5CE9\u5CEF\u5D8B\u{21DF9}\u{21E37}\u5D10\u5D18\u5D46\u{21EA4}\u5CBA\u5DD7\u82FC\u382D\u{24901}\u{22049}\u{22173}\u8287\u3836\u3BC2\u5E2E\u6A8A\u5E75\u5E7A\u{244BC}\u{20CD3}\u53A6\u4EB7\u5ED0\u53A8\u{21771}\u5E09\u5EF4\u{28482}"],
+ ["fc40", "\u5EF9\u5EFB\u38A0\u5EFC\u683E\u941B\u5F0D\u{201C1}\u{2F894}\u3ADE\u48AE\u{2133A}\u5F3A\u{26888}\u{223D0}\u5F58\u{22471}\u5F63\u97BD\u{26E6E}\u5F72\u9340\u{28A36}\u5FA7\u5DB6\u3D5F\u{25250}\u{21F6A}\u{270F8}\u{22668}\u91D6\u{2029E}\u{28A29}\u6031\u6685\u{21877}\u3963\u3DC7\u3639\u5790\u{227B4}\u7971\u3E40\u609E\u60A4\u60B3\u{24982}\u{2498F}\u{27A53}\u74A4\u50E1\u5AA0\u6164\u8424\u6142\u{2F8A6}\u{26ED2}\u6181\u51F4\u{20656}\u6187\u5BAA\u{23FB7}"],
+ ["fca1", "\u{2285F}\u61D3\u{28B9D}\u{2995D}\u61D0\u3932\u{22980}\u{228C1}\u6023\u615C\u651E\u638B\u{20118}\u62C5\u{21770}\u62D5\u{22E0D}\u636C\u{249DF}\u3A17\u6438\u63F8\u{2138E}\u{217FC}\u6490\u6F8A\u{22E36}\u9814\u{2408C}\u{2571D}\u64E1\u64E5\u947B\u3A66\u643A\u3A57\u654D\u6F16\u{24A28}\u{24A23}\u6585\u656D\u655F\u{2307E}\u65B5\u{24940}\u4B37\u65D1\u40D8\u{21829}\u65E0\u65E3\u5FDF\u{23400}\u6618\u{231F7}\u{231F8}\u6644\u{231A4}\u{231A5}\u664B\u{20E75}\u6667\u{251E6}\u6673\u6674\u{21E3D}\u{23231}\u{285F4}\u{231C8}\u{25313}\u77C5\u{228F7}\u99A4\u6702\u{2439C}\u{24A21}\u3B2B\u69FA\u{237C2}\u675E\u6767\u6762\u{241CD}\u{290ED}\u67D7\u44E9\u6822\u6E50\u923C\u6801\u{233E6}\u{26DA0}\u685D"],
+ ["fd40", "\u{2346F}\u69E1\u6A0B\u{28ADF}\u6973\u68C3\u{235CD}\u6901\u6900\u3D32\u3A01\u{2363C}\u3B80\u67AC\u6961\u{28A4A}\u42FC\u6936\u6998\u3BA1\u{203C9}\u8363\u5090\u69F9\u{23659}\u{2212A}\u6A45\u{23703}\u6A9D\u3BF3\u67B1\u6AC8\u{2919C}\u3C0D\u6B1D\u{20923}\u60DE\u6B35\u6B74\u{227CD}\u6EB5\u{23ADB}\u{203B5}\u{21958}\u3740\u5421\u{23B5A}\u6BE1\u{23EFC}\u6BDC\u6C37\u{2248B}\u{248F1}\u{26B51}\u6C5A\u8226\u6C79\u{23DBC}\u44C5\u{23DBD}\u{241A4}\u{2490C}\u{24900}"],
+ ["fda1", "\u{23CC9}\u36E5\u3CEB\u{20D32}\u9B83\u{231F9}\u{22491}\u7F8F\u6837\u{26D25}\u{26DA1}\u{26DEB}\u6D96\u6D5C\u6E7C\u6F04\u{2497F}\u{24085}\u{26E72}\u8533\u{26F74}\u51C7\u6C9C\u6E1D\u842E\u{28B21}\u6E2F\u{23E2F}\u7453\u{23F82}\u79CC\u6E4F\u5A91\u{2304B}\u6FF8\u370D\u6F9D\u{23E30}\u6EFA\u{21497}\u{2403D}\u4555\u93F0\u6F44\u6F5C\u3D4E\u6F74\u{29170}\u3D3B\u6F9F\u{24144}\u6FD3\u{24091}\u{24155}\u{24039}\u{23FF0}\u{23FB4}\u{2413F}\u51DF\u{24156}\u{24157}\u{24140}\u{261DD}\u704B\u707E\u70A7\u7081\u70CC\u70D5\u70D6\u70DF\u4104\u3DE8\u71B4\u7196\u{24277}\u712B\u7145\u5A88\u714A\u716E\u5C9C\u{24365}\u714F\u9362\u{242C1}\u712C\u{2445A}\u{24A27}\u{24A22}\u71BA\u{28BE8}\u70BD\u720E"],
+ ["fe40", "\u9442\u7215\u5911\u9443\u7224\u9341\u{25605}\u722E\u7240\u{24974}\u68BD\u7255\u7257\u3E55\u{23044}\u680D\u6F3D\u7282\u732A\u732B\u{24823}\u{2882B}\u48ED\u{28804}\u7328\u732E\u73CF\u73AA\u{20C3A}\u{26A2E}\u73C9\u7449\u{241E2}\u{216E7}\u{24A24}\u6623\u36C5\u{249B7}\u{2498D}\u{249FB}\u73F7\u7415\u6903\u{24A26}\u7439\u{205C3}\u3ED7\u745C\u{228AD}\u7460\u{28EB2}\u7447\u73E4\u7476\u83B9\u746C\u3730\u7474\u93F1\u6A2C\u7482\u4953\u{24A8C}"],
+ ["fea1", "\u{2415F}\u{24A79}\u{28B8F}\u5B46\u{28C03}\u{2189E}\u74C8\u{21988}\u750E\u74E9\u751E\u{28ED9}\u{21A4B}\u5BD7\u{28EAC}\u9385\u754D\u754A\u7567\u756E\u{24F82}\u3F04\u{24D13}\u758E\u745D\u759E\u75B4\u7602\u762C\u7651\u764F\u766F\u7676\u{263F5}\u7690\u81EF\u37F8\u{26911}\u{2690E}\u76A1\u76A5\u76B7\u76CC\u{26F9F}\u8462\u{2509D}\u{2517D}\u{21E1C}\u771E\u7726\u7740\u64AF\u{25220}\u7758\u{232AC}\u77AF\u{28964}\u{28968}\u{216C1}\u77F4\u7809\u{21376}\u{24A12}\u68CA\u78AF\u78C7\u78D3\u96A5\u792E\u{255E0}\u78D7\u7934\u78B1\u{2760C}\u8FB8\u8884\u{28B2B}\u{26083}\u{2261C}\u7986\u8900\u6902\u7980\u{25857}\u799D\u{27B39}\u793C\u79A9\u6E2A\u{27126}\u3EA8\u79C6\u{2910D}\u79D4"]
+ ];
+ }
+});
+
+// ../../node_modules/.pnpm/iconv-lite@0.7.3/node_modules/iconv-lite/encodings/dbcs-data.js
+var require_dbcs_data = __commonJS({
+ "../../node_modules/.pnpm/iconv-lite@0.7.3/node_modules/iconv-lite/encodings/dbcs-data.js"(exports, module) {
+ "use strict";
+ module.exports = {
+ // == Japanese/ShiftJIS ====================================================
+ // All japanese encodings are based on JIS X set of standards:
+ // JIS X 0201 - Single-byte encoding of ASCII + ¥ + Kana chars at 0xA1-0xDF.
+ // JIS X 0208 - Main set of 6879 characters, placed in 94x94 plane, to be encoded by 2 bytes.
+ // Has several variations in 1978, 1983, 1990 and 1997.
+ // JIS X 0212 - Supplementary plane of 6067 chars in 94x94 plane. 1990. Effectively dead.
+ // JIS X 0213 - Extension and modern replacement of 0208 and 0212. Total chars: 11233.
+ // 2 planes, first is superset of 0208, second - revised 0212.
+ // Introduced in 2000, revised 2004. Some characters are in Unicode Plane 2 (0x2xxxx)
+ // Byte encodings are:
+ // * Shift_JIS: Compatible with 0201, uses not defined chars in top half as lead bytes for double-byte
+ // encoding of 0208. Lead byte ranges: 0x81-0x9F, 0xE0-0xEF; Trail byte ranges: 0x40-0x7E, 0x80-0x9E, 0x9F-0xFC.
+ // Windows CP932 is a superset of Shift_JIS. Some companies added more chars, notably KDDI.
+ // * EUC-JP: Up to 3 bytes per character. Used mostly on *nixes.
+ // 0x00-0x7F - lower part of 0201
+ // 0x8E, 0xA1-0xDF - upper part of 0201
+ // (0xA1-0xFE)x2 - 0208 plane (94x94).
+ // 0x8F, (0xA1-0xFE)x2 - 0212 plane (94x94).
+ // * JIS X 208: 7-bit, direct encoding of 0208. Byte ranges: 0x21-0x7E (94 values). Uncommon.
+ // Used as-is in ISO2022 family.
+ // * ISO2022-JP: Stateful encoding, with escape sequences to switch between ASCII,
+ // 0201-1976 Roman, 0208-1978, 0208-1983.
+ // * ISO2022-JP-1: Adds esc seq for 0212-1990.
+ // * ISO2022-JP-2: Adds esc seq for GB2313-1980, KSX1001-1992, ISO8859-1, ISO8859-7.
+ // * ISO2022-JP-3: Adds esc seq for 0201-1976 Kana set, 0213-2000 Planes 1, 2.
+ // * ISO2022-JP-2004: Adds 0213-2004 Plane 1.
+ //
+ // After JIS X 0213 appeared, Shift_JIS-2004, EUC-JISX0213 and ISO2022-JP-2004 followed, with just changing the planes.
+ //
+ // Overall, it seems that it's a mess :( http://www8.plala.or.jp/tkubota1/unicode-symbols-map2.html
+ shiftjis: {
+ type: "_dbcs",
+ table: /* @__PURE__ */ __name(function() {
+ return require_shiftjis();
+ }, "table"),
+ encodeAdd: { "\xA5": 92, "\u203E": 126 },
+ encodeSkipVals: [{ from: 60736, to: 63808 }]
+ },
+ csshiftjis: "shiftjis",
+ mskanji: "shiftjis",
+ sjis: "shiftjis",
+ windows31j: "shiftjis",
+ ms31j: "shiftjis",
+ xsjis: "shiftjis",
+ windows932: "shiftjis",
+ ms932: "shiftjis",
+ 932: "shiftjis",
+ cp932: "shiftjis",
+ eucjp: {
+ type: "_dbcs",
+ table: /* @__PURE__ */ __name(function() {
+ return require_eucjp();
+ }, "table"),
+ encodeAdd: { "\xA5": 92, "\u203E": 126 }
+ },
+ // TODO: KDDI extension to Shift_JIS
+ // TODO: IBM CCSID 942 = CP932, but F0-F9 custom chars and other char changes.
+ // TODO: IBM CCSID 943 = Shift_JIS = CP932 with original Shift_JIS lower 128 chars.
+ // == Chinese/GBK ==========================================================
+ // http://en.wikipedia.org/wiki/GBK
+ // We mostly implement W3C recommendation: https://www.w3.org/TR/encoding/#gbk-encoder
+ // Oldest GB2312 (1981, ~7600 chars) is a subset of CP936
+ gb2312: "cp936",
+ gb231280: "cp936",
+ gb23121980: "cp936",
+ csgb2312: "cp936",
+ csiso58gb231280: "cp936",
+ euccn: "cp936",
+ // Microsoft's CP936 is a subset and approximation of GBK.
+ windows936: "cp936",
+ ms936: "cp936",
+ 936: "cp936",
+ cp936: {
+ type: "_dbcs",
+ table: /* @__PURE__ */ __name(function() {
+ return require_cp936();
+ }, "table")
+ },
+ // GBK (~22000 chars) is an extension of CP936 that added user-mapped chars and some other.
+ gbk: {
+ type: "_dbcs",
+ table: /* @__PURE__ */ __name(function() {
+ return require_cp936().concat(require_gbk_added());
+ }, "table")
+ },
+ xgbk: "gbk",
+ isoir58: "gbk",
+ // GB18030 is an algorithmic extension of GBK.
+ // Main source: https://www.w3.org/TR/encoding/#gbk-encoder
+ // http://icu-project.org/docs/papers/gb18030.html
+ // http://source.icu-project.org/repos/icu/data/trunk/charset/data/xml/gb-18030-2000.xml
+ // http://www.khngai.com/chinese/charmap/tblgbk.php?page=0
+ gb18030: {
+ type: "_dbcs",
+ table: /* @__PURE__ */ __name(function() {
+ return require_cp936().concat(require_gbk_added());
+ }, "table"),
+ gb18030: /* @__PURE__ */ __name(function() {
+ return require_gb18030_ranges();
+ }, "gb18030"),
+ encodeSkipVals: [128],
+ encodeAdd: { "\u20AC": 41699 }
+ },
+ chinese: "gb18030",
+ // == Korean ===============================================================
+ // EUC-KR, KS_C_5601 and KS X 1001 are exactly the same.
+ windows949: "cp949",
+ ms949: "cp949",
+ 949: "cp949",
+ cp949: {
+ type: "_dbcs",
+ table: /* @__PURE__ */ __name(function() {
+ return require_cp949();
+ }, "table")
+ },
+ cseuckr: "cp949",
+ csksc56011987: "cp949",
+ euckr: "cp949",
+ isoir149: "cp949",
+ korean: "cp949",
+ ksc56011987: "cp949",
+ ksc56011989: "cp949",
+ ksc5601: "cp949",
+ // == Big5/Taiwan/Hong Kong ================================================
+ // There are lots of tables for Big5 and cp950. Please see the following links for history:
+ // http://moztw.org/docs/big5/ http://www.haible.de/bruno/charsets/conversion-tables/Big5.html
+ // Variations, in roughly number of defined chars:
+ // * Windows CP 950: Microsoft variant of Big5. Canonical: http://www.unicode.org/Public/MAPPINGS/VENDORS/MICSFT/WINDOWS/CP950.TXT
+ // * Windows CP 951: Microsoft variant of Big5-HKSCS-2001. Seems to be never public. http://me.abelcheung.org/articles/research/what-is-cp951/
+ // * Big5-2003 (Taiwan standard) almost superset of cp950.
+ // * Unicode-at-on (UAO) / Mozilla 1.8. Falling out of use on the Web. Not supported by other browsers.
+ // * Big5-HKSCS (-2001, -2004, -2008). Hong Kong standard.
+ // many unicode code points moved from PUA to Supplementary plane (U+2XXXX) over the years.
+ // Plus, it has 4 combining sequences.
+ // Seems that Mozilla refused to support it for 10 yrs. https://bugzilla.mozilla.org/show_bug.cgi?id=162431 https://bugzilla.mozilla.org/show_bug.cgi?id=310299
+ // because big5-hkscs is the only encoding to include astral characters in non-algorithmic way.
+ // Implementations are not consistent within browsers; sometimes labeled as just big5.
+ // MS Internet Explorer switches from big5 to big5-hkscs when a patch applied.
+ // Great discussion & recap of what's going on https://bugzilla.mozilla.org/show_bug.cgi?id=912470#c31
+ // In the encoder, it might make sense to support encoding old PUA mappings to Big5 bytes seq-s.
+ // Official spec: http://www.ogcio.gov.hk/en/business/tech_promotion/ccli/terms/doc/2003cmp_2008.txt
+ // http://www.ogcio.gov.hk/tc/business/tech_promotion/ccli/terms/doc/hkscs-2008-big5-iso.txt
+ //
+ // Current understanding of how to deal with Big5(-HKSCS) is in the Encoding Standard, http://encoding.spec.whatwg.org/#big5-encoder
+ // Unicode mapping (http://www.unicode.org/Public/MAPPINGS/OBSOLETE/EASTASIA/OTHER/BIG5.TXT) is said to be wrong.
+ windows950: "cp950",
+ ms950: "cp950",
+ 950: "cp950",
+ cp950: {
+ type: "_dbcs",
+ table: /* @__PURE__ */ __name(function() {
+ return require_cp950();
+ }, "table")
+ },
+ // Big5 has many variations and is an extension of cp950. We use Encoding Standard's as a consensus.
+ big5: "big5hkscs",
+ big5hkscs: {
+ type: "_dbcs",
+ table: /* @__PURE__ */ __name(function() {
+ return require_cp950().concat(require_big5_added());
+ }, "table"),
+ encodeSkipVals: [
+ // Although Encoding Standard says we should avoid encoding to HKSCS area (See Step 1 of
+ // https://encoding.spec.whatwg.org/#index-big5-pointer), we still do it to increase compatibility with ICU.
+ // But if a single unicode point can be encoded both as HKSCS and regular Big5, we prefer the latter.
+ 36457,
+ 36463,
+ 36478,
+ 36523,
+ 36532,
+ 36557,
+ 36560,
+ 36695,
+ 36713,
+ 36718,
+ 36811,
+ 36862,
+ 36973,
+ 36986,
+ 37060,
+ 37084,
+ 37105,
+ 37311,
+ 37551,
+ 37552,
+ 37553,
+ 37554,
+ 37585,
+ 37959,
+ 38090,
+ 38361,
+ 38652,
+ 39285,
+ 39798,
+ 39800,
+ 39803,
+ 39878,
+ 39902,
+ 39916,
+ 39926,
+ 40002,
+ 40019,
+ 40034,
+ 40040,
+ 40043,
+ 40055,
+ 40124,
+ 40125,
+ 40144,
+ 40279,
+ 40282,
+ 40388,
+ 40431,
+ 40443,
+ 40617,
+ 40687,
+ 40701,
+ 40800,
+ 40907,
+ 41079,
+ 41180,
+ 41183,
+ 36812,
+ 37576,
+ 38468,
+ 38637,
+ // Step 2 of https://encoding.spec.whatwg.org/#index-big5-pointer: Use last pointer for U+2550, U+255E, U+2561, U+256A, U+5341, or U+5345
+ 41636,
+ 41637,
+ 41639,
+ 41638,
+ 41676,
+ 41678
+ ]
+ },
+ cnbig5: "big5hkscs",
+ csbig5: "big5hkscs",
+ xxbig5: "big5hkscs"
+ };
+ }
+});
+
+// ../../node_modules/.pnpm/iconv-lite@0.7.3/node_modules/iconv-lite/encodings/index.js
+var require_encodings = __commonJS({
+ "../../node_modules/.pnpm/iconv-lite@0.7.3/node_modules/iconv-lite/encodings/index.js"(exports, module) {
+ "use strict";
+ var mergeModules = require_merge_exports();
+ var modules = [
+ require_internal(),
+ require_utf32(),
+ require_utf16(),
+ require_utf7(),
+ require_sbcs_codec(),
+ require_sbcs_data(),
+ require_sbcs_data_generated(),
+ require_dbcs_codec(),
+ require_dbcs_data()
+ ];
+ for (i = 0; i < modules.length; i++) {
+ module = modules[i];
+ mergeModules(exports, module);
+ }
+ var module;
+ var i;
+ }
+});
+
+// ../../node_modules/.pnpm/iconv-lite@0.7.3/node_modules/iconv-lite/lib/streams.js
+var require_streams = __commonJS({
+ "../../node_modules/.pnpm/iconv-lite@0.7.3/node_modules/iconv-lite/lib/streams.js"(exports, module) {
+ "use strict";
+ var Buffer2 = require_safer().Buffer;
+ module.exports = function(streamModule) {
+ var Transform2 = streamModule.Transform;
+ function IconvLiteEncoderStream(conv, options) {
+ this.conv = conv;
+ options = options || {};
+ options.decodeStrings = false;
+ Transform2.call(this, options);
+ }
+ __name(IconvLiteEncoderStream, "IconvLiteEncoderStream");
+ IconvLiteEncoderStream.prototype = Object.create(Transform2.prototype, {
+ constructor: { value: IconvLiteEncoderStream }
+ });
+ IconvLiteEncoderStream.prototype._transform = function(chunk, encoding, done) {
+ if (typeof chunk !== "string") {
+ return done(new Error("Iconv encoding stream needs strings as its input."));
+ }
+ try {
+ var res = this.conv.write(chunk);
+ if (res && res.length) this.push(res);
+ done();
+ } catch (e) {
+ done(e);
+ }
+ };
+ IconvLiteEncoderStream.prototype._flush = function(done) {
+ try {
+ var res = this.conv.end();
+ if (res && res.length) this.push(res);
+ done();
+ } catch (e) {
+ done(e);
+ }
+ };
+ IconvLiteEncoderStream.prototype.collect = function(cb) {
+ var chunks = [];
+ this.on("error", cb);
+ this.on("data", function(chunk) {
+ chunks.push(chunk);
+ });
+ this.on("end", function() {
+ cb(null, Buffer2.concat(chunks));
+ });
+ return this;
+ };
+ function IconvLiteDecoderStream(conv, options) {
+ this.conv = conv;
+ options = options || {};
+ options.encoding = this.encoding = "utf8";
+ Transform2.call(this, options);
+ }
+ __name(IconvLiteDecoderStream, "IconvLiteDecoderStream");
+ IconvLiteDecoderStream.prototype = Object.create(Transform2.prototype, {
+ constructor: { value: IconvLiteDecoderStream }
+ });
+ IconvLiteDecoderStream.prototype._transform = function(chunk, encoding, done) {
+ if (!Buffer2.isBuffer(chunk) && !(chunk instanceof Uint8Array)) {
+ return done(new Error("Iconv decoding stream needs buffers as its input."));
+ }
+ try {
+ var res = this.conv.write(chunk);
+ if (res && res.length) this.push(res, this.encoding);
+ done();
+ } catch (e) {
+ done(e);
+ }
+ };
+ IconvLiteDecoderStream.prototype._flush = function(done) {
+ try {
+ var res = this.conv.end();
+ if (res && res.length) this.push(res, this.encoding);
+ done();
+ } catch (e) {
+ done(e);
+ }
+ };
+ IconvLiteDecoderStream.prototype.collect = function(cb) {
+ var res = "";
+ this.on("error", cb);
+ this.on("data", function(chunk) {
+ res += chunk;
+ });
+ this.on("end", function() {
+ cb(null, res);
+ });
+ return this;
+ };
+ return {
+ IconvLiteEncoderStream,
+ IconvLiteDecoderStream
+ };
+ };
+ }
+});
+
+// ../../node_modules/.pnpm/iconv-lite@0.7.3/node_modules/iconv-lite/lib/index.js
+var require_lib3 = __commonJS({
+ "../../node_modules/.pnpm/iconv-lite@0.7.3/node_modules/iconv-lite/lib/index.js"(exports, module) {
+ "use strict";
+ var Buffer2 = require_safer().Buffer;
+ var bomHandling = require_bom_handling();
+ var mergeModules = require_merge_exports();
+ module.exports.encodings = null;
+ module.exports.defaultCharUnicode = "\uFFFD";
+ module.exports.defaultCharSingleByte = "?";
+ module.exports.encode = /* @__PURE__ */ __name(function encode(str, encoding, options) {
+ str = "" + (str || "");
+ var encoder = module.exports.getEncoder(encoding, options);
+ var res = encoder.write(str);
+ var trail = encoder.end();
+ return trail && trail.length > 0 ? Buffer2.concat([res, trail]) : res;
+ }, "encode");
+ module.exports.decode = /* @__PURE__ */ __name(function decode(buf, encoding, options) {
+ if (typeof buf === "string") {
+ if (!module.exports.skipDecodeWarning) {
+ console.error("Iconv-lite warning: decode()-ing strings is deprecated. Refer to https://github.com/ashtuchkin/iconv-lite/wiki/Use-Buffers-when-decoding");
+ module.exports.skipDecodeWarning = true;
+ }
+ buf = Buffer2.from("" + (buf || ""), "binary");
+ }
+ var decoder = module.exports.getDecoder(encoding, options);
+ var res = decoder.write(buf);
+ var trail = decoder.end();
+ return trail ? res + trail : res;
+ }, "decode");
+ module.exports.encodingExists = /* @__PURE__ */ __name(function encodingExists(enc) {
+ try {
+ module.exports.getCodec(enc);
+ return true;
+ } catch (e) {
+ return false;
+ }
+ }, "encodingExists");
+ module.exports.toEncoding = module.exports.encode;
+ module.exports.fromEncoding = module.exports.decode;
+ module.exports._codecDataCache = { __proto__: null };
+ module.exports.getCodec = /* @__PURE__ */ __name(function getCodec(encoding) {
+ if (!module.exports.encodings) {
+ var raw = require_encodings();
+ module.exports.encodings = { __proto__: null };
+ mergeModules(module.exports.encodings, raw);
+ }
+ var enc = module.exports._canonicalizeEncoding(encoding);
+ var codecOptions = {};
+ while (true) {
+ var codec = module.exports._codecDataCache[enc];
+ if (codec) {
+ return codec;
+ }
+ var codecDef = module.exports.encodings[enc];
+ switch (typeof codecDef) {
+ case "string":
+ enc = codecDef;
+ break;
+ case "object":
+ for (var key in codecDef) {
+ codecOptions[key] = codecDef[key];
+ }
+ if (!codecOptions.encodingName) {
+ codecOptions.encodingName = enc;
+ }
+ enc = codecDef.type;
+ break;
+ case "function":
+ if (!codecOptions.encodingName) {
+ codecOptions.encodingName = enc;
+ }
+ codec = new codecDef(codecOptions, module.exports);
+ module.exports._codecDataCache[codecOptions.encodingName] = codec;
+ return codec;
+ default:
+ throw new Error("Encoding not recognized: '" + encoding + "' (searched as: '" + enc + "')");
+ }
+ }
+ }, "getCodec");
+ module.exports._canonicalizeEncoding = function(encoding) {
+ return ("" + encoding).toLowerCase().replace(/:\d{4}$|[^0-9a-z]/g, "");
+ };
+ module.exports.getEncoder = /* @__PURE__ */ __name(function getEncoder(encoding, options) {
+ var codec = module.exports.getCodec(encoding);
+ var encoder = new codec.encoder(options, codec);
+ if (codec.bomAware && options && options.addBOM) {
+ encoder = new bomHandling.PrependBOM(encoder, options);
+ }
+ return encoder;
+ }, "getEncoder");
+ module.exports.getDecoder = /* @__PURE__ */ __name(function getDecoder(encoding, options) {
+ var codec = module.exports.getCodec(encoding);
+ var decoder = new codec.decoder(options, codec);
+ if (codec.bomAware && !(options && options.stripBOM === false)) {
+ decoder = new bomHandling.StripBOM(decoder, options);
+ }
+ return decoder;
+ }, "getDecoder");
+ module.exports.enableStreamingAPI = /* @__PURE__ */ __name(function enableStreamingAPI(streamModule2) {
+ if (module.exports.supportsStreams) {
+ return;
+ }
+ var streams = require_streams()(streamModule2);
+ module.exports.IconvLiteEncoderStream = streams.IconvLiteEncoderStream;
+ module.exports.IconvLiteDecoderStream = streams.IconvLiteDecoderStream;
+ module.exports.encodeStream = /* @__PURE__ */ __name(function encodeStream(encoding, options) {
+ return new module.exports.IconvLiteEncoderStream(module.exports.getEncoder(encoding, options), options);
+ }, "encodeStream");
+ module.exports.decodeStream = /* @__PURE__ */ __name(function decodeStream(encoding, options) {
+ return new module.exports.IconvLiteDecoderStream(module.exports.getDecoder(encoding, options), options);
+ }, "decodeStream");
+ module.exports.supportsStreams = true;
+ }, "enableStreamingAPI");
+ var streamModule;
+ try {
+ streamModule = __require("stream");
+ } catch (e) {
+ }
+ if (streamModule && streamModule.Transform) {
+ module.exports.enableStreamingAPI(streamModule);
+ } else {
+ module.exports.encodeStream = module.exports.decodeStream = function() {
+ throw new Error("iconv-lite Streaming API is not enabled. Use iconv.enableStreamingAPI(require('stream')); to enable it.");
+ };
+ }
+ if (false) {
+ console.error("iconv-lite warning: js files use non-utf8 encoding. See https://github.com/ashtuchkin/iconv-lite/wiki/Javascript-source-file-encodings for more info.");
+ }
+ }
+});
+
+// ../../node_modules/.pnpm/unpipe@1.0.0/node_modules/unpipe/index.js
+var require_unpipe = __commonJS({
+ "../../node_modules/.pnpm/unpipe@1.0.0/node_modules/unpipe/index.js"(exports, module) {
+ "use strict";
+ module.exports = unpipe;
+ function hasPipeDataListeners(stream) {
+ var listeners = stream.listeners("data");
+ for (var i = 0; i < listeners.length; i++) {
+ if (listeners[i].name === "ondata") {
+ return true;
+ }
+ }
+ return false;
+ }
+ __name(hasPipeDataListeners, "hasPipeDataListeners");
+ function unpipe(stream) {
+ if (!stream) {
+ throw new TypeError("argument stream is required");
+ }
+ if (typeof stream.unpipe === "function") {
+ stream.unpipe();
+ return;
+ }
+ if (!hasPipeDataListeners(stream)) {
+ return;
+ }
+ var listener;
+ var listeners = stream.listeners("close");
+ for (var i = 0; i < listeners.length; i++) {
+ listener = listeners[i];
+ if (listener.name !== "cleanup" && listener.name !== "onclose") {
+ continue;
+ }
+ listener.call(stream);
+ }
+ }
+ __name(unpipe, "unpipe");
+ }
+});
+
+// ../../node_modules/.pnpm/raw-body@3.0.2/node_modules/raw-body/index.js
+var require_raw_body = __commonJS({
+ "../../node_modules/.pnpm/raw-body@3.0.2/node_modules/raw-body/index.js"(exports, module) {
+ "use strict";
+ var asyncHooks = tryRequireAsyncHooks();
+ var bytes = require_bytes();
+ var createError = require_http_errors();
+ var iconv = require_lib3();
+ var unpipe = require_unpipe();
+ module.exports = getRawBody;
+ var ICONV_ENCODING_MESSAGE_REGEXP = /^Encoding not recognized: /;
+ function getDecoder(encoding) {
+ if (!encoding) return null;
+ try {
+ return iconv.getDecoder(encoding);
+ } catch (e) {
+ if (!ICONV_ENCODING_MESSAGE_REGEXP.test(e.message)) throw e;
+ throw createError(415, "specified encoding unsupported", {
+ encoding,
+ type: "encoding.unsupported"
+ });
+ }
+ }
+ __name(getDecoder, "getDecoder");
+ function getRawBody(stream, options, callback) {
+ var done = callback;
+ var opts = options || {};
+ if (stream === void 0) {
+ throw new TypeError("argument stream is required");
+ } else if (typeof stream !== "object" || stream === null || typeof stream.on !== "function") {
+ throw new TypeError("argument stream must be a stream");
+ }
+ if (options === true || typeof options === "string") {
+ opts = {
+ encoding: options
+ };
+ }
+ if (typeof options === "function") {
+ done = options;
+ opts = {};
+ }
+ if (done !== void 0 && typeof done !== "function") {
+ throw new TypeError("argument callback must be a function");
+ }
+ if (!done && !global.Promise) {
+ throw new TypeError("argument callback is required");
+ }
+ var encoding = opts.encoding !== true ? opts.encoding : "utf-8";
+ var limit = bytes.parse(opts.limit);
+ var length = opts.length != null && !isNaN(opts.length) ? parseInt(opts.length, 10) : null;
+ if (done) {
+ return readStream(stream, encoding, length, limit, wrap(done));
+ }
+ return new Promise(/* @__PURE__ */ __name(function executor(resolve, reject) {
+ readStream(stream, encoding, length, limit, /* @__PURE__ */ __name(function onRead(err, buf) {
+ if (err) return reject(err);
+ resolve(buf);
+ }, "onRead"));
+ }, "executor"));
+ }
+ __name(getRawBody, "getRawBody");
+ function halt(stream) {
+ unpipe(stream);
+ if (typeof stream.pause === "function") {
+ stream.pause();
+ }
+ }
+ __name(halt, "halt");
+ function readStream(stream, encoding, length, limit, callback) {
+ var complete = false;
+ var sync = true;
+ if (limit !== null && length !== null && length > limit) {
+ return done(createError(413, "request entity too large", {
+ expected: length,
+ length,
+ limit,
+ type: "entity.too.large"
+ }));
+ }
+ var state = stream._readableState;
+ if (stream._decoder || state && (state.encoding || state.decoder)) {
+ return done(createError(500, "stream encoding should not be set", {
+ type: "stream.encoding.set"
+ }));
+ }
+ if (typeof stream.readable !== "undefined" && !stream.readable) {
+ return done(createError(500, "stream is not readable", {
+ type: "stream.not.readable"
+ }));
+ }
+ var received = 0;
+ var decoder;
+ try {
+ decoder = getDecoder(encoding);
+ } catch (err) {
+ return done(err);
+ }
+ var buffer = decoder ? "" : [];
+ stream.on("aborted", onAborted);
+ stream.on("close", cleanup);
+ stream.on("data", onData);
+ stream.on("end", onEnd);
+ stream.on("error", onEnd);
+ sync = false;
+ function done() {
+ var args = new Array(arguments.length);
+ for (var i = 0; i < args.length; i++) {
+ args[i] = arguments[i];
+ }
+ complete = true;
+ if (sync) {
+ process.nextTick(invokeCallback);
+ } else {
+ invokeCallback();
+ }
+ function invokeCallback() {
+ cleanup();
+ if (args[0]) {
+ halt(stream);
+ }
+ callback.apply(null, args);
+ }
+ __name(invokeCallback, "invokeCallback");
+ }
+ __name(done, "done");
+ function onAborted() {
+ if (complete) return;
+ done(createError(400, "request aborted", {
+ code: "ECONNABORTED",
+ expected: length,
+ length,
+ received,
+ type: "request.aborted"
+ }));
+ }
+ __name(onAborted, "onAborted");
+ function onData(chunk) {
+ if (complete) return;
+ received += chunk.length;
+ if (limit !== null && received > limit) {
+ done(createError(413, "request entity too large", {
+ limit,
+ received,
+ type: "entity.too.large"
+ }));
+ } else if (decoder) {
+ buffer += decoder.write(chunk);
+ } else {
+ buffer.push(chunk);
+ }
+ }
+ __name(onData, "onData");
+ function onEnd(err) {
+ if (complete) return;
+ if (err) return done(err);
+ if (length !== null && received !== length) {
+ done(createError(400, "request size did not match content length", {
+ expected: length,
+ length,
+ received,
+ type: "request.size.invalid"
+ }));
+ } else {
+ var string = decoder ? buffer + (decoder.end() || "") : Buffer.concat(buffer);
+ done(null, string);
+ }
+ }
+ __name(onEnd, "onEnd");
+ function cleanup() {
+ buffer = null;
+ stream.removeListener("aborted", onAborted);
+ stream.removeListener("data", onData);
+ stream.removeListener("end", onEnd);
+ stream.removeListener("error", onEnd);
+ stream.removeListener("close", cleanup);
+ }
+ __name(cleanup, "cleanup");
+ }
+ __name(readStream, "readStream");
+ function tryRequireAsyncHooks() {
+ try {
+ return __require("async_hooks");
+ } catch (e) {
+ return {};
+ }
+ }
+ __name(tryRequireAsyncHooks, "tryRequireAsyncHooks");
+ function wrap(fn) {
+ var res;
+ if (asyncHooks.AsyncResource) {
+ res = new asyncHooks.AsyncResource(fn.name || "bound-anonymous-fn");
+ }
+ if (!res || !res.runInAsyncScope) {
+ return fn;
+ }
+ return res.runInAsyncScope.bind(res, fn, null);
+ }
+ __name(wrap, "wrap");
+ }
+});
+
+// ../../node_modules/.pnpm/ee-first@1.1.1/node_modules/ee-first/index.js
+var require_ee_first = __commonJS({
+ "../../node_modules/.pnpm/ee-first@1.1.1/node_modules/ee-first/index.js"(exports, module) {
+ "use strict";
+ module.exports = first;
+ function first(stuff, done) {
+ if (!Array.isArray(stuff))
+ throw new TypeError("arg must be an array of [ee, events...] arrays");
+ var cleanups = [];
+ for (var i = 0; i < stuff.length; i++) {
+ var arr = stuff[i];
+ if (!Array.isArray(arr) || arr.length < 2)
+ throw new TypeError("each array member must be [ee, events...]");
+ var ee = arr[0];
+ for (var j = 1; j < arr.length; j++) {
+ var event = arr[j];
+ var fn = listener(event, callback);
+ ee.on(event, fn);
+ cleanups.push({
+ ee,
+ event,
+ fn
+ });
+ }
+ }
+ function callback() {
+ cleanup();
+ done.apply(null, arguments);
+ }
+ __name(callback, "callback");
+ function cleanup() {
+ var x;
+ for (var i2 = 0; i2 < cleanups.length; i2++) {
+ x = cleanups[i2];
+ x.ee.removeListener(x.event, x.fn);
+ }
+ }
+ __name(cleanup, "cleanup");
+ function thunk(fn2) {
+ done = fn2;
+ }
+ __name(thunk, "thunk");
+ thunk.cancel = cleanup;
+ return thunk;
+ }
+ __name(first, "first");
+ function listener(event, done) {
+ return /* @__PURE__ */ __name(function onevent(arg1) {
+ var args = new Array(arguments.length);
+ var ee = this;
+ var err = event === "error" ? arg1 : null;
+ for (var i = 0; i < args.length; i++) {
+ args[i] = arguments[i];
+ }
+ done(err, ee, event, args);
+ }, "onevent");
+ }
+ __name(listener, "listener");
+ }
+});
+
+// ../../node_modules/.pnpm/on-finished@2.4.1/node_modules/on-finished/index.js
+var require_on_finished = __commonJS({
+ "../../node_modules/.pnpm/on-finished@2.4.1/node_modules/on-finished/index.js"(exports, module) {
+ "use strict";
+ module.exports = onFinished;
+ module.exports.isFinished = isFinished;
+ var asyncHooks = tryRequireAsyncHooks();
+ var first = require_ee_first();
+ var defer2 = typeof setImmediate === "function" ? setImmediate : function(fn) {
+ process.nextTick(fn.bind.apply(fn, arguments));
+ };
+ function onFinished(msg, listener) {
+ if (isFinished(msg) !== false) {
+ defer2(listener, null, msg);
+ return msg;
+ }
+ attachListener(msg, wrap(listener));
+ return msg;
+ }
+ __name(onFinished, "onFinished");
+ function isFinished(msg) {
+ var socket = msg.socket;
+ if (typeof msg.finished === "boolean") {
+ return Boolean(msg.finished || socket && !socket.writable);
+ }
+ if (typeof msg.complete === "boolean") {
+ return Boolean(msg.upgrade || !socket || !socket.readable || msg.complete && !msg.readable);
+ }
+ return void 0;
+ }
+ __name(isFinished, "isFinished");
+ function attachFinishedListener(msg, callback) {
+ var eeMsg;
+ var eeSocket;
+ var finished3 = false;
+ function onFinish(error) {
+ eeMsg.cancel();
+ eeSocket.cancel();
+ finished3 = true;
+ callback(error);
+ }
+ __name(onFinish, "onFinish");
+ eeMsg = eeSocket = first([[msg, "end", "finish"]], onFinish);
+ function onSocket(socket) {
+ msg.removeListener("socket", onSocket);
+ if (finished3) return;
+ if (eeMsg !== eeSocket) return;
+ eeSocket = first([[socket, "error", "close"]], onFinish);
+ }
+ __name(onSocket, "onSocket");
+ if (msg.socket) {
+ onSocket(msg.socket);
+ return;
+ }
+ msg.on("socket", onSocket);
+ if (msg.socket === void 0) {
+ patchAssignSocket(msg, onSocket);
+ }
+ }
+ __name(attachFinishedListener, "attachFinishedListener");
+ function attachListener(msg, listener) {
+ var attached = msg.__onFinished;
+ if (!attached || !attached.queue) {
+ attached = msg.__onFinished = createListener(msg);
+ attachFinishedListener(msg, attached);
+ }
+ attached.queue.push(listener);
+ }
+ __name(attachListener, "attachListener");
+ function createListener(msg) {
+ function listener(err) {
+ if (msg.__onFinished === listener) msg.__onFinished = null;
+ if (!listener.queue) return;
+ var queue = listener.queue;
+ listener.queue = null;
+ for (var i = 0; i < queue.length; i++) {
+ queue[i](err, msg);
+ }
+ }
+ __name(listener, "listener");
+ listener.queue = [];
+ return listener;
+ }
+ __name(createListener, "createListener");
+ function patchAssignSocket(res, callback) {
+ var assignSocket = res.assignSocket;
+ if (typeof assignSocket !== "function") return;
+ res.assignSocket = /* @__PURE__ */ __name(function _assignSocket(socket) {
+ assignSocket.call(this, socket);
+ callback(socket);
+ }, "_assignSocket");
+ }
+ __name(patchAssignSocket, "patchAssignSocket");
+ function tryRequireAsyncHooks() {
+ try {
+ return __require("async_hooks");
+ } catch (e) {
+ return {};
+ }
+ }
+ __name(tryRequireAsyncHooks, "tryRequireAsyncHooks");
+ function wrap(fn) {
+ var res;
+ if (asyncHooks.AsyncResource) {
+ res = new asyncHooks.AsyncResource(fn.name || "bound-anonymous-fn");
+ }
+ if (!res || !res.runInAsyncScope) {
+ return fn;
+ }
+ return res.runInAsyncScope.bind(res, fn, null);
+ }
+ __name(wrap, "wrap");
+ }
+});
+
+// ../../node_modules/.pnpm/content-type@2.1.0/node_modules/content-type/dist/index.js
+var require_dist = __commonJS({
+ "../../node_modules/.pnpm/content-type@2.1.0/node_modules/content-type/dist/index.js"(exports) {
+ "use strict";
+ Object.defineProperty(exports, "__esModule", { value: true });
+ exports.format = format;
+ exports.parse = parse;
+ var TEXT_REGEXP = /^[\u0009\u0020-\u007e\u0080-\u00ff]*$/;
+ var TOKEN_REGEXP = /^[!#$%&'*+.^_`|~0-9A-Za-z-]+$/;
+ var QUOTE_REGEXP = /[\\"]/g;
+ var TYPE_REGEXP = /^[!#$%&'*+.^_`|~0-9A-Za-z-]+\/[!#$%&'*+.^_`|~0-9A-Za-z-]+$/;
+ var NullObject = /* @__PURE__ */ (() => {
+ const C = /* @__PURE__ */ __name(function() {
+ }, "C");
+ C.prototype = /* @__PURE__ */ Object.create(null);
+ return C;
+ })();
+ function format(obj) {
+ const { type, parameters } = obj;
+ if (!type || !TYPE_REGEXP.test(type)) {
+ throw new TypeError(`Invalid type: ${type}`);
+ }
+ let result = type;
+ if (parameters) {
+ for (const param of Object.keys(parameters)) {
+ if (!TOKEN_REGEXP.test(param)) {
+ throw new TypeError(`Invalid parameter name: ${param}`);
+ }
+ result += `; ${param}=${qstring(parameters[param])}`;
+ }
+ }
+ return result;
+ }
+ __name(format, "format");
+ function parse(header, options) {
+ const stopChar = options?.comma === true ? COMMA : 65536;
+ const len = header.length;
+ let index = skipOWS(header, options?.start ?? 0, len);
+ const valueStart = index;
+ index = skipValue(header, index, len, stopChar);
+ const valueEnd = trailingOWS(header, valueStart, index);
+ const type = header.slice(valueStart, valueEnd).toLowerCase();
+ if (options?.parameters === false) {
+ return { type, index, parameters: new NullObject() };
+ }
+ return parseParameters(header, type, index, len, stopChar);
+ }
+ __name(parse, "parse");
+ var SP = 32;
+ var HTAB = 9;
+ var SEMI = 59;
+ var EQ = 61;
+ var DQUOTE = 34;
+ var BSLASH = 92;
+ var COMMA = 44;
+ function parseParameters(header, type, index, len, stopChar) {
+ const parameters = new NullObject();
+ parameter: while (index < len) {
+ if (header.charCodeAt(index) === stopChar)
+ break;
+ index = skipOWS(header, index + 1, len);
+ const keyStart = index;
+ while (index < len) {
+ const code = header.charCodeAt(index);
+ if (code === stopChar)
+ break parameter;
+ if (code === SEMI)
+ continue parameter;
+ if (code === EQ) {
+ const keyEnd = trailingOWS(header, keyStart, index);
+ const key = header.slice(keyStart, keyEnd).toLowerCase();
+ index = skipOWS(header, index + 1, len);
+ if (index < len && header.charCodeAt(index) === DQUOTE) {
+ index++;
+ let value = "";
+ while (index < len) {
+ const code2 = header.charCodeAt(index++);
+ if (code2 === DQUOTE) {
+ index = skipValue(header, index, len, stopChar);
+ if (parameters[key] === void 0)
+ parameters[key] = value;
+ break;
+ }
+ if (code2 === BSLASH && index < len) {
+ value += header[index++];
+ continue;
+ }
+ value += String.fromCharCode(code2);
+ }
+ continue parameter;
+ }
+ const valueStart = index;
+ index = skipValue(header, index, len, stopChar);
+ if (parameters[key] === void 0) {
+ const valueEnd = trailingOWS(header, valueStart, index);
+ parameters[key] = header.slice(valueStart, valueEnd);
+ }
+ continue parameter;
+ }
+ index++;
+ }
+ }
+ return { type, index, parameters };
+ }
+ __name(parseParameters, "parseParameters");
+ function skipValue(str, index, len, stopChar) {
+ while (index < len) {
+ const code = str.charCodeAt(index);
+ if (code === SEMI || code === stopChar)
+ break;
+ index++;
+ }
+ return index;
+ }
+ __name(skipValue, "skipValue");
+ function skipOWS(header, index, len) {
+ while (index < len) {
+ const char = header.charCodeAt(index);
+ if (char !== SP && char !== HTAB)
+ break;
+ index++;
+ }
+ return index;
+ }
+ __name(skipOWS, "skipOWS");
+ function trailingOWS(header, start, end) {
+ while (end > start) {
+ const char = header.charCodeAt(end - 1);
+ if (char !== SP && char !== HTAB)
+ break;
+ end--;
+ }
+ return end;
+ }
+ __name(trailingOWS, "trailingOWS");
+ function qstring(str) {
+ if (TOKEN_REGEXP.test(str))
+ return str;
+ if (TEXT_REGEXP.test(str))
+ return `"${str.replace(QUOTE_REGEXP, "\\$&")}"`;
+ throw new TypeError(`Invalid parameter value: ${str}`);
+ }
+ __name(qstring, "qstring");
+ }
+});
+
+// ../../node_modules/.pnpm/mime-db@1.54.0/node_modules/mime-db/db.json
+var require_db = __commonJS({
+ "../../node_modules/.pnpm/mime-db@1.54.0/node_modules/mime-db/db.json"(exports, module) {
+ module.exports = {
+ "application/1d-interleaved-parityfec": {
+ source: "iana"
+ },
+ "application/3gpdash-qoe-report+xml": {
+ source: "iana",
+ charset: "UTF-8",
+ compressible: true
+ },
+ "application/3gpp-ims+xml": {
+ source: "iana",
+ compressible: true
+ },
+ "application/3gpphal+json": {
+ source: "iana",
+ compressible: true
+ },
+ "application/3gpphalforms+json": {
+ source: "iana",
+ compressible: true
+ },
+ "application/a2l": {
+ source: "iana"
+ },
+ "application/ace+cbor": {
+ source: "iana"
+ },
+ "application/ace+json": {
+ source: "iana",
+ compressible: true
+ },
+ "application/ace-groupcomm+cbor": {
+ source: "iana"
+ },
+ "application/ace-trl+cbor": {
+ source: "iana"
+ },
+ "application/activemessage": {
+ source: "iana"
+ },
+ "application/activity+json": {
+ source: "iana",
+ compressible: true
+ },
+ "application/aif+cbor": {
+ source: "iana"
+ },
+ "application/aif+json": {
+ source: "iana",
+ compressible: true
+ },
+ "application/alto-cdni+json": {
+ source: "iana",
+ compressible: true
+ },
+ "application/alto-cdnifilter+json": {
+ source: "iana",
+ compressible: true
+ },
+ "application/alto-costmap+json": {
+ source: "iana",
+ compressible: true
+ },
+ "application/alto-costmapfilter+json": {
+ source: "iana",
+ compressible: true
+ },
+ "application/alto-directory+json": {
+ source: "iana",
+ compressible: true
+ },
+ "application/alto-endpointcost+json": {
+ source: "iana",
+ compressible: true
+ },
+ "application/alto-endpointcostparams+json": {
+ source: "iana",
+ compressible: true
+ },
+ "application/alto-endpointprop+json": {
+ source: "iana",
+ compressible: true
+ },
+ "application/alto-endpointpropparams+json": {
+ source: "iana",
+ compressible: true
+ },
+ "application/alto-error+json": {
+ source: "iana",
+ compressible: true
+ },
+ "application/alto-networkmap+json": {
+ source: "iana",
+ compressible: true
+ },
+ "application/alto-networkmapfilter+json": {
+ source: "iana",
+ compressible: true
+ },
+ "application/alto-propmap+json": {
+ source: "iana",
+ compressible: true
+ },
+ "application/alto-propmapparams+json": {
+ source: "iana",
+ compressible: true
+ },
+ "application/alto-tips+json": {
+ source: "iana",
+ compressible: true
+ },
+ "application/alto-tipsparams+json": {
+ source: "iana",
+ compressible: true
+ },
+ "application/alto-updatestreamcontrol+json": {
+ source: "iana",
+ compressible: true
+ },
+ "application/alto-updatestreamparams+json": {
+ source: "iana",
+ compressible: true
+ },
+ "application/aml": {
+ source: "iana"
+ },
+ "application/andrew-inset": {
+ source: "iana",
+ extensions: ["ez"]
+ },
+ "application/appinstaller": {
+ compressible: false,
+ extensions: ["appinstaller"]
+ },
+ "application/applefile": {
+ source: "iana"
+ },
+ "application/applixware": {
+ source: "apache",
+ extensions: ["aw"]
+ },
+ "application/appx": {
+ compressible: false,
+ extensions: ["appx"]
+ },
+ "application/appxbundle": {
+ compressible: false,
+ extensions: ["appxbundle"]
+ },
+ "application/at+jwt": {
+ source: "iana"
+ },
+ "application/atf": {
+ source: "iana"
+ },
+ "application/atfx": {
+ source: "iana"
+ },
+ "application/atom+xml": {
+ source: "iana",
+ compressible: true,
+ extensions: ["atom"]
+ },
+ "application/atomcat+xml": {
+ source: "iana",
+ compressible: true,
+ extensions: ["atomcat"]
+ },
+ "application/atomdeleted+xml": {
+ source: "iana",
+ compressible: true,
+ extensions: ["atomdeleted"]
+ },
+ "application/atomicmail": {
+ source: "iana"
+ },
+ "application/atomsvc+xml": {
+ source: "iana",
+ compressible: true,
+ extensions: ["atomsvc"]
+ },
+ "application/atsc-dwd+xml": {
+ source: "iana",
+ compressible: true,
+ extensions: ["dwd"]
+ },
+ "application/atsc-dynamic-event-message": {
+ source: "iana"
+ },
+ "application/atsc-held+xml": {
+ source: "iana",
+ compressible: true,
+ extensions: ["held"]
+ },
+ "application/atsc-rdt+json": {
+ source: "iana",
+ compressible: true
+ },
+ "application/atsc-rsat+xml": {
+ source: "iana",
+ compressible: true,
+ extensions: ["rsat"]
+ },
+ "application/atxml": {
+ source: "iana"
+ },
+ "application/auth-policy+xml": {
+ source: "iana",
+ compressible: true
+ },
+ "application/automationml-aml+xml": {
+ source: "iana",
+ compressible: true,
+ extensions: ["aml"]
+ },
+ "application/automationml-amlx+zip": {
+ source: "iana",
+ compressible: false,
+ extensions: ["amlx"]
+ },
+ "application/bacnet-xdd+zip": {
+ source: "iana",
+ compressible: false
+ },
+ "application/batch-smtp": {
+ source: "iana"
+ },
+ "application/bdoc": {
+ compressible: false,
+ extensions: ["bdoc"]
+ },
+ "application/beep+xml": {
+ source: "iana",
+ charset: "UTF-8",
+ compressible: true
+ },
+ "application/bufr": {
+ source: "iana"
+ },
+ "application/c2pa": {
+ source: "iana"
+ },
+ "application/calendar+json": {
+ source: "iana",
+ compressible: true
+ },
+ "application/calendar+xml": {
+ source: "iana",
+ compressible: true,
+ extensions: ["xcs"]
+ },
+ "application/call-completion": {
+ source: "iana"
+ },
+ "application/cals-1840": {
+ source: "iana"
+ },
+ "application/captive+json": {
+ source: "iana",
+ compressible: true
+ },
+ "application/cbor": {
+ source: "iana"
+ },
+ "application/cbor-seq": {
+ source: "iana"
+ },
+ "application/cccex": {
+ source: "iana"
+ },
+ "application/ccmp+xml": {
+ source: "iana",
+ compressible: true
+ },
+ "application/ccxml+xml": {
+ source: "iana",
+ compressible: true,
+ extensions: ["ccxml"]
+ },
+ "application/cda+xml": {
+ source: "iana",
+ charset: "UTF-8",
+ compressible: true
+ },
+ "application/cdfx+xml": {
+ source: "iana",
+ compressible: true,
+ extensions: ["cdfx"]
+ },
+ "application/cdmi-capability": {
+ source: "iana",
+ extensions: ["cdmia"]
+ },
+ "application/cdmi-container": {
+ source: "iana",
+ extensions: ["cdmic"]
+ },
+ "application/cdmi-domain": {
+ source: "iana",
+ extensions: ["cdmid"]
+ },
+ "application/cdmi-object": {
+ source: "iana",
+ extensions: ["cdmio"]
+ },
+ "application/cdmi-queue": {
+ source: "iana",
+ extensions: ["cdmiq"]
+ },
+ "application/cdni": {
+ source: "iana"
+ },
+ "application/ce+cbor": {
+ source: "iana"
+ },
+ "application/cea": {
+ source: "iana"
+ },
+ "application/cea-2018+xml": {
+ source: "iana",
+ compressible: true
+ },
+ "application/cellml+xml": {
+ source: "iana",
+ compressible: true
+ },
+ "application/cfw": {
+ source: "iana"
+ },
+ "application/cid-edhoc+cbor-seq": {
+ source: "iana"
+ },
+ "application/city+json": {
+ source: "iana",
+ compressible: true
+ },
+ "application/city+json-seq": {
+ source: "iana"
+ },
+ "application/clr": {
+ source: "iana"
+ },
+ "application/clue+xml": {
+ source: "iana",
+ compressible: true
+ },
+ "application/clue_info+xml": {
+ source: "iana",
+ compressible: true
+ },
+ "application/cms": {
+ source: "iana"
+ },
+ "application/cnrp+xml": {
+ source: "iana",
+ compressible: true
+ },
+ "application/coap-eap": {
+ source: "iana"
+ },
+ "application/coap-group+json": {
+ source: "iana",
+ compressible: true
+ },
+ "application/coap-payload": {
+ source: "iana"
+ },
+ "application/commonground": {
+ source: "iana"
+ },
+ "application/concise-problem-details+cbor": {
+ source: "iana"
+ },
+ "application/conference-info+xml": {
+ source: "iana",
+ compressible: true
+ },
+ "application/cose": {
+ source: "iana"
+ },
+ "application/cose-key": {
+ source: "iana"
+ },
+ "application/cose-key-set": {
+ source: "iana"
+ },
+ "application/cose-x509": {
+ source: "iana"
+ },
+ "application/cpl+xml": {
+ source: "iana",
+ compressible: true,
+ extensions: ["cpl"]
+ },
+ "application/csrattrs": {
+ source: "iana"
+ },
+ "application/csta+xml": {
+ source: "iana",
+ compressible: true
+ },
+ "application/cstadata+xml": {
+ source: "iana",
+ compressible: true
+ },
+ "application/csvm+json": {
+ source: "iana",
+ compressible: true
+ },
+ "application/cu-seeme": {
+ source: "apache",
+ extensions: ["cu"]
+ },
+ "application/cwl": {
+ source: "iana",
+ extensions: ["cwl"]
+ },
+ "application/cwl+json": {
+ source: "iana",
+ compressible: true
+ },
+ "application/cwl+yaml": {
+ source: "iana"
+ },
+ "application/cwt": {
+ source: "iana"
+ },
+ "application/cybercash": {
+ source: "iana"
+ },
+ "application/dart": {
+ compressible: true
+ },
+ "application/dash+xml": {
+ source: "iana",
+ compressible: true,
+ extensions: ["mpd"]
+ },
+ "application/dash-patch+xml": {
+ source: "iana",
+ compressible: true,
+ extensions: ["mpp"]
+ },
+ "application/dashdelta": {
+ source: "iana"
+ },
+ "application/davmount+xml": {
+ source: "iana",
+ compressible: true,
+ extensions: ["davmount"]
+ },
+ "application/dca-rft": {
+ source: "iana"
+ },
+ "application/dcd": {
+ source: "iana"
+ },
+ "application/dec-dx": {
+ source: "iana"
+ },
+ "application/dialog-info+xml": {
+ source: "iana",
+ compressible: true
+ },
+ "application/dicom": {
+ source: "iana",
+ extensions: ["dcm"]
+ },
+ "application/dicom+json": {
+ source: "iana",
+ compressible: true
+ },
+ "application/dicom+xml": {
+ source: "iana",
+ compressible: true
+ },
+ "application/dii": {
+ source: "iana"
+ },
+ "application/dit": {
+ source: "iana"
+ },
+ "application/dns": {
+ source: "iana"
+ },
+ "application/dns+json": {
+ source: "iana",
+ compressible: true
+ },
+ "application/dns-message": {
+ source: "iana"
+ },
+ "application/docbook+xml": {
+ source: "apache",
+ compressible: true,
+ extensions: ["dbk"]
+ },
+ "application/dots+cbor": {
+ source: "iana"
+ },
+ "application/dpop+jwt": {
+ source: "iana"
+ },
+ "application/dskpp+xml": {
+ source: "iana",
+ compressible: true
+ },
+ "application/dssc+der": {
+ source: "iana",
+ extensions: ["dssc"]
+ },
+ "application/dssc+xml": {
+ source: "iana",
+ compressible: true,
+ extensions: ["xdssc"]
+ },
+ "application/dvcs": {
+ source: "iana"
+ },
+ "application/eat+cwt": {
+ source: "iana"
+ },
+ "application/eat+jwt": {
+ source: "iana"
+ },
+ "application/eat-bun+cbor": {
+ source: "iana"
+ },
+ "application/eat-bun+json": {
+ source: "iana",
+ compressible: true
+ },
+ "application/eat-ucs+cbor": {
+ source: "iana"
+ },
+ "application/eat-ucs+json": {
+ source: "iana",
+ compressible: true
+ },
+ "application/ecmascript": {
+ source: "apache",
+ compressible: true,
+ extensions: ["ecma"]
+ },
+ "application/edhoc+cbor-seq": {
+ source: "iana"
+ },
+ "application/edi-consent": {
+ source: "iana"
+ },
+ "application/edi-x12": {
+ source: "iana",
+ compressible: false
+ },
+ "application/edifact": {
+ source: "iana",
+ compressible: false
+ },
+ "application/efi": {
+ source: "iana"
+ },
+ "application/elm+json": {
+ source: "iana",
+ charset: "UTF-8",
+ compressible: true
+ },
+ "application/elm+xml": {
+ source: "iana",
+ compressible: true
+ },
+ "application/emergencycalldata.cap+xml": {
+ source: "iana",
+ charset: "UTF-8",
+ compressible: true
+ },
+ "application/emergencycalldata.comment+xml": {
+ source: "iana",
+ compressible: true
+ },
+ "application/emergencycalldata.control+xml": {
+ source: "iana",
+ compressible: true
+ },
+ "application/emergencycalldata.deviceinfo+xml": {
+ source: "iana",
+ compressible: true
+ },
+ "application/emergencycalldata.ecall.msd": {
+ source: "iana"
+ },
+ "application/emergencycalldata.legacyesn+json": {
+ source: "iana",
+ compressible: true
+ },
+ "application/emergencycalldata.providerinfo+xml": {
+ source: "iana",
+ compressible: true
+ },
+ "application/emergencycalldata.serviceinfo+xml": {
+ source: "iana",
+ compressible: true
+ },
+ "application/emergencycalldata.subscriberinfo+xml": {
+ source: "iana",
+ compressible: true
+ },
+ "application/emergencycalldata.veds+xml": {
+ source: "iana",
+ compressible: true
+ },
+ "application/emma+xml": {
+ source: "iana",
+ compressible: true,
+ extensions: ["emma"]
+ },
+ "application/emotionml+xml": {
+ source: "iana",
+ compressible: true,
+ extensions: ["emotionml"]
+ },
+ "application/encaprtp": {
+ source: "iana"
+ },
+ "application/entity-statement+jwt": {
+ source: "iana"
+ },
+ "application/epp+xml": {
+ source: "iana",
+ compressible: true
+ },
+ "application/epub+zip": {
+ source: "iana",
+ compressible: false,
+ extensions: ["epub"]
+ },
+ "application/eshop": {
+ source: "iana"
+ },
+ "application/exi": {
+ source: "iana",
+ extensions: ["exi"]
+ },
+ "application/expect-ct-report+json": {
+ source: "iana",
+ compressible: true
+ },
+ "application/express": {
+ source: "iana",
+ extensions: ["exp"]
+ },
+ "application/fastinfoset": {
+ source: "iana"
+ },
+ "application/fastsoap": {
+ source: "iana"
+ },
+ "application/fdf": {
+ source: "iana",
+ extensions: ["fdf"]
+ },
+ "application/fdt+xml": {
+ source: "iana",
+ compressible: true,
+ extensions: ["fdt"]
+ },
+ "application/fhir+json": {
+ source: "iana",
+ charset: "UTF-8",
+ compressible: true
+ },
+ "application/fhir+xml": {
+ source: "iana",
+ charset: "UTF-8",
+ compressible: true
+ },
+ "application/fido.trusted-apps+json": {
+ compressible: true
+ },
+ "application/fits": {
+ source: "iana"
+ },
+ "application/flexfec": {
+ source: "iana"
+ },
+ "application/font-sfnt": {
+ source: "iana"
+ },
+ "application/font-tdpfr": {
+ source: "iana",
+ extensions: ["pfr"]
+ },
+ "application/font-woff": {
+ source: "iana",
+ compressible: false
+ },
+ "application/framework-attributes+xml": {
+ source: "iana",
+ compressible: true
+ },
+ "application/geo+json": {
+ source: "iana",
+ compressible: true,
+ extensions: ["geojson"]
+ },
+ "application/geo+json-seq": {
+ source: "iana"
+ },
+ "application/geopackage+sqlite3": {
+ source: "iana"
+ },
+ "application/geopose+json": {
+ source: "iana",
+ compressible: true
+ },
+ "application/geoxacml+json": {
+ source: "iana",
+ compressible: true
+ },
+ "application/geoxacml+xml": {
+ source: "iana",
+ compressible: true
+ },
+ "application/gltf-buffer": {
+ source: "iana"
+ },
+ "application/gml+xml": {
+ source: "iana",
+ compressible: true,
+ extensions: ["gml"]
+ },
+ "application/gnap-binding-jws": {
+ source: "iana"
+ },
+ "application/gnap-binding-jwsd": {
+ source: "iana"
+ },
+ "application/gnap-binding-rotation-jws": {
+ source: "iana"
+ },
+ "application/gnap-binding-rotation-jwsd": {
+ source: "iana"
+ },
+ "application/gpx+xml": {
+ source: "apache",
+ compressible: true,
+ extensions: ["gpx"]
+ },
+ "application/grib": {
+ source: "iana"
+ },
+ "application/gxf": {
+ source: "apache",
+ extensions: ["gxf"]
+ },
+ "application/gzip": {
+ source: "iana",
+ compressible: false,
+ extensions: ["gz"]
+ },
+ "application/h224": {
+ source: "iana"
+ },
+ "application/held+xml": {
+ source: "iana",
+ compressible: true
+ },
+ "application/hjson": {
+ extensions: ["hjson"]
+ },
+ "application/hl7v2+xml": {
+ source: "iana",
+ charset: "UTF-8",
+ compressible: true
+ },
+ "application/http": {
+ source: "iana"
+ },
+ "application/hyperstudio": {
+ source: "iana",
+ extensions: ["stk"]
+ },
+ "application/ibe-key-request+xml": {
+ source: "iana",
+ compressible: true
+ },
+ "application/ibe-pkg-reply+xml": {
+ source: "iana",
+ compressible: true
+ },
+ "application/ibe-pp-data": {
+ source: "iana"
+ },
+ "application/iges": {
+ source: "iana"
+ },
+ "application/im-iscomposing+xml": {
+ source: "iana",
+ charset: "UTF-8",
+ compressible: true
+ },
+ "application/index": {
+ source: "iana"
+ },
+ "application/index.cmd": {
+ source: "iana"
+ },
+ "application/index.obj": {
+ source: "iana"
+ },
+ "application/index.response": {
+ source: "iana"
+ },
+ "application/index.vnd": {
+ source: "iana"
+ },
+ "application/inkml+xml": {
+ source: "iana",
+ compressible: true,
+ extensions: ["ink", "inkml"]
+ },
+ "application/iotp": {
+ source: "iana"
+ },
+ "application/ipfix": {
+ source: "iana",
+ extensions: ["ipfix"]
+ },
+ "application/ipp": {
+ source: "iana"
+ },
+ "application/isup": {
+ source: "iana"
+ },
+ "application/its+xml": {
+ source: "iana",
+ compressible: true,
+ extensions: ["its"]
+ },
+ "application/java-archive": {
+ source: "iana",
+ compressible: false,
+ extensions: ["jar", "war", "ear"]
+ },
+ "application/java-serialized-object": {
+ source: "apache",
+ compressible: false,
+ extensions: ["ser"]
+ },
+ "application/java-vm": {
+ source: "apache",
+ compressible: false,
+ extensions: ["class"]
+ },
+ "application/javascript": {
+ source: "apache",
+ charset: "UTF-8",
+ compressible: true,
+ extensions: ["js"]
+ },
+ "application/jf2feed+json": {
+ source: "iana",
+ compressible: true
+ },
+ "application/jose": {
+ source: "iana"
+ },
+ "application/jose+json": {
+ source: "iana",
+ compressible: true
+ },
+ "application/jrd+json": {
+ source: "iana",
+ compressible: true
+ },
+ "application/jscalendar+json": {
+ source: "iana",
+ compressible: true
+ },
+ "application/jscontact+json": {
+ source: "iana",
+ compressible: true
+ },
+ "application/json": {
+ source: "iana",
+ charset: "UTF-8",
+ compressible: true,
+ extensions: ["json", "map"]
+ },
+ "application/json-patch+json": {
+ source: "iana",
+ compressible: true
+ },
+ "application/json-seq": {
+ source: "iana"
+ },
+ "application/json5": {
+ extensions: ["json5"]
+ },
+ "application/jsonml+json": {
+ source: "apache",
+ compressible: true,
+ extensions: ["jsonml"]
+ },
+ "application/jsonpath": {
+ source: "iana"
+ },
+ "application/jwk+json": {
+ source: "iana",
+ compressible: true
+ },
+ "application/jwk-set+json": {
+ source: "iana",
+ compressible: true
+ },
+ "application/jwk-set+jwt": {
+ source: "iana"
+ },
+ "application/jwt": {
+ source: "iana"
+ },
+ "application/kpml-request+xml": {
+ source: "iana",
+ compressible: true
+ },
+ "application/kpml-response+xml": {
+ source: "iana",
+ compressible: true
+ },
+ "application/ld+json": {
+ source: "iana",
+ compressible: true,
+ extensions: ["jsonld"]
+ },
+ "application/lgr+xml": {
+ source: "iana",
+ compressible: true,
+ extensions: ["lgr"]
+ },
+ "application/link-format": {
+ source: "iana"
+ },
+ "application/linkset": {
+ source: "iana"
+ },
+ "application/linkset+json": {
+ source: "iana",
+ compressible: true
+ },
+ "application/load-control+xml": {
+ source: "iana",
+ compressible: true
+ },
+ "application/logout+jwt": {
+ source: "iana"
+ },
+ "application/lost+xml": {
+ source: "iana",
+ compressible: true,
+ extensions: ["lostxml"]
+ },
+ "application/lostsync+xml": {
+ source: "iana",
+ compressible: true
+ },
+ "application/lpf+zip": {
+ source: "iana",
+ compressible: false
+ },
+ "application/lxf": {
+ source: "iana"
+ },
+ "application/mac-binhex40": {
+ source: "iana",
+ extensions: ["hqx"]
+ },
+ "application/mac-compactpro": {
+ source: "apache",
+ extensions: ["cpt"]
+ },
+ "application/macwriteii": {
+ source: "iana"
+ },
+ "application/mads+xml": {
+ source: "iana",
+ compressible: true,
+ extensions: ["mads"]
+ },
+ "application/manifest+json": {
+ source: "iana",
+ charset: "UTF-8",
+ compressible: true,
+ extensions: ["webmanifest"]
+ },
+ "application/marc": {
+ source: "iana",
+ extensions: ["mrc"]
+ },
+ "application/marcxml+xml": {
+ source: "iana",
+ compressible: true,
+ extensions: ["mrcx"]
+ },
+ "application/mathematica": {
+ source: "iana",
+ extensions: ["ma", "nb", "mb"]
+ },
+ "application/mathml+xml": {
+ source: "iana",
+ compressible: true,
+ extensions: ["mathml"]
+ },
+ "application/mathml-content+xml": {
+ source: "iana",
+ compressible: true
+ },
+ "application/mathml-presentation+xml": {
+ source: "iana",
+ compressible: true
+ },
+ "application/mbms-associated-procedure-description+xml": {
+ source: "iana",
+ compressible: true
+ },
+ "application/mbms-deregister+xml": {
+ source: "iana",
+ compressible: true
+ },
+ "application/mbms-envelope+xml": {
+ source: "iana",
+ compressible: true
+ },
+ "application/mbms-msk+xml": {
+ source: "iana",
+ compressible: true
+ },
+ "application/mbms-msk-response+xml": {
+ source: "iana",
+ compressible: true
+ },
+ "application/mbms-protection-description+xml": {
+ source: "iana",
+ compressible: true
+ },
+ "application/mbms-reception-report+xml": {
+ source: "iana",
+ compressible: true
+ },
+ "application/mbms-register+xml": {
+ source: "iana",
+ compressible: true
+ },
+ "application/mbms-register-response+xml": {
+ source: "iana",
+ compressible: true
+ },
+ "application/mbms-schedule+xml": {
+ source: "iana",
+ compressible: true
+ },
+ "application/mbms-user-service-description+xml": {
+ source: "iana",
+ compressible: true
+ },
+ "application/mbox": {
+ source: "iana",
+ extensions: ["mbox"]
+ },
+ "application/media-policy-dataset+xml": {
+ source: "iana",
+ compressible: true,
+ extensions: ["mpf"]
+ },
+ "application/media_control+xml": {
+ source: "iana",
+ compressible: true
+ },
+ "application/mediaservercontrol+xml": {
+ source: "iana",
+ compressible: true,
+ extensions: ["mscml"]
+ },
+ "application/merge-patch+json": {
+ source: "iana",
+ compressible: true
+ },
+ "application/metalink+xml": {
+ source: "apache",
+ compressible: true,
+ extensions: ["metalink"]
+ },
+ "application/metalink4+xml": {
+ source: "iana",
+ compressible: true,
+ extensions: ["meta4"]
+ },
+ "application/mets+xml": {
+ source: "iana",
+ compressible: true,
+ extensions: ["mets"]
+ },
+ "application/mf4": {
+ source: "iana"
+ },
+ "application/mikey": {
+ source: "iana"
+ },
+ "application/mipc": {
+ source: "iana"
+ },
+ "application/missing-blocks+cbor-seq": {
+ source: "iana"
+ },
+ "application/mmt-aei+xml": {
+ source: "iana",
+ compressible: true,
+ extensions: ["maei"]
+ },
+ "application/mmt-usd+xml": {
+ source: "iana",
+ compressible: true,
+ extensions: ["musd"]
+ },
+ "application/mods+xml": {
+ source: "iana",
+ compressible: true,
+ extensions: ["mods"]
+ },
+ "application/moss-keys": {
+ source: "iana"
+ },
+ "application/moss-signature": {
+ source: "iana"
+ },
+ "application/mosskey-data": {
+ source: "iana"
+ },
+ "application/mosskey-request": {
+ source: "iana"
+ },
+ "application/mp21": {
+ source: "iana",
+ extensions: ["m21", "mp21"]
+ },
+ "application/mp4": {
+ source: "iana",
+ extensions: ["mp4", "mpg4", "mp4s", "m4p"]
+ },
+ "application/mpeg4-generic": {
+ source: "iana"
+ },
+ "application/mpeg4-iod": {
+ source: "iana"
+ },
+ "application/mpeg4-iod-xmt": {
+ source: "iana"
+ },
+ "application/mrb-consumer+xml": {
+ source: "iana",
+ compressible: true
+ },
+ "application/mrb-publish+xml": {
+ source: "iana",
+ compressible: true
+ },
+ "application/msc-ivr+xml": {
+ source: "iana",
+ charset: "UTF-8",
+ compressible: true
+ },
+ "application/msc-mixer+xml": {
+ source: "iana",
+ charset: "UTF-8",
+ compressible: true
+ },
+ "application/msix": {
+ compressible: false,
+ extensions: ["msix"]
+ },
+ "application/msixbundle": {
+ compressible: false,
+ extensions: ["msixbundle"]
+ },
+ "application/msword": {
+ source: "iana",
+ compressible: false,
+ extensions: ["doc", "dot"]
+ },
+ "application/mud+json": {
+ source: "iana",
+ compressible: true
+ },
+ "application/multipart-core": {
+ source: "iana"
+ },
+ "application/mxf": {
+ source: "iana",
+ extensions: ["mxf"]
+ },
+ "application/n-quads": {
+ source: "iana",
+ extensions: ["nq"]
+ },
+ "application/n-triples": {
+ source: "iana",
+ extensions: ["nt"]
+ },
+ "application/nasdata": {
+ source: "iana"
+ },
+ "application/news-checkgroups": {
+ source: "iana",
+ charset: "US-ASCII"
+ },
+ "application/news-groupinfo": {
+ source: "iana",
+ charset: "US-ASCII"
+ },
+ "application/news-transmission": {
+ source: "iana"
+ },
+ "application/nlsml+xml": {
+ source: "iana",
+ compressible: true
+ },
+ "application/node": {
+ source: "iana",
+ extensions: ["cjs"]
+ },
+ "application/nss": {
+ source: "iana"
+ },
+ "application/oauth-authz-req+jwt": {
+ source: "iana"
+ },
+ "application/oblivious-dns-message": {
+ source: "iana"
+ },
+ "application/ocsp-request": {
+ source: "iana"
+ },
+ "application/ocsp-response": {
+ source: "iana"
+ },
+ "application/octet-stream": {
+ source: "iana",
+ compressible: true,
+ extensions: ["bin", "dms", "lrf", "mar", "so", "dist", "distz", "pkg", "bpk", "dump", "elc", "deploy", "exe", "dll", "deb", "dmg", "iso", "img", "msi", "msp", "msm", "buffer"]
+ },
+ "application/oda": {
+ source: "iana",
+ extensions: ["oda"]
+ },
+ "application/odm+xml": {
+ source: "iana",
+ compressible: true
+ },
+ "application/odx": {
+ source: "iana"
+ },
+ "application/oebps-package+xml": {
+ source: "iana",
+ compressible: true,
+ extensions: ["opf"]
+ },
+ "application/ogg": {
+ source: "iana",
+ compressible: false,
+ extensions: ["ogx"]
+ },
+ "application/ohttp-keys": {
+ source: "iana"
+ },
+ "application/omdoc+xml": {
+ source: "apache",
+ compressible: true,
+ extensions: ["omdoc"]
+ },
+ "application/onenote": {
+ source: "apache",
+ extensions: ["onetoc", "onetoc2", "onetmp", "onepkg", "one", "onea"]
+ },
+ "application/opc-nodeset+xml": {
+ source: "iana",
+ compressible: true
+ },
+ "application/oscore": {
+ source: "iana"
+ },
+ "application/oxps": {
+ source: "iana",
+ extensions: ["oxps"]
+ },
+ "application/p21": {
+ source: "iana"
+ },
+ "application/p21+zip": {
+ source: "iana",
+ compressible: false
+ },
+ "application/p2p-overlay+xml": {
+ source: "iana",
+ compressible: true,
+ extensions: ["relo"]
+ },
+ "application/parityfec": {
+ source: "iana"
+ },
+ "application/passport": {
+ source: "iana"
+ },
+ "application/patch-ops-error+xml": {
+ source: "iana",
+ compressible: true,
+ extensions: ["xer"]
+ },
+ "application/pdf": {
+ source: "iana",
+ compressible: false,
+ extensions: ["pdf"]
+ },
+ "application/pdx": {
+ source: "iana"
+ },
+ "application/pem-certificate-chain": {
+ source: "iana"
+ },
+ "application/pgp-encrypted": {
+ source: "iana",
+ compressible: false,
+ extensions: ["pgp"]
+ },
+ "application/pgp-keys": {
+ source: "iana",
+ extensions: ["asc"]
+ },
+ "application/pgp-signature": {
+ source: "iana",
+ extensions: ["sig", "asc"]
+ },
+ "application/pics-rules": {
+ source: "apache",
+ extensions: ["prf"]
+ },
+ "application/pidf+xml": {
+ source: "iana",
+ charset: "UTF-8",
+ compressible: true
+ },
+ "application/pidf-diff+xml": {
+ source: "iana",
+ charset: "UTF-8",
+ compressible: true
+ },
+ "application/pkcs10": {
+ source: "iana",
+ extensions: ["p10"]
+ },
+ "application/pkcs12": {
+ source: "iana"
+ },
+ "application/pkcs7-mime": {
+ source: "iana",
+ extensions: ["p7m", "p7c"]
+ },
+ "application/pkcs7-signature": {
+ source: "iana",
+ extensions: ["p7s"]
+ },
+ "application/pkcs8": {
+ source: "iana",
+ extensions: ["p8"]
+ },
+ "application/pkcs8-encrypted": {
+ source: "iana"
+ },
+ "application/pkix-attr-cert": {
+ source: "iana",
+ extensions: ["ac"]
+ },
+ "application/pkix-cert": {
+ source: "iana",
+ extensions: ["cer"]
+ },
+ "application/pkix-crl": {
+ source: "iana",
+ extensions: ["crl"]
+ },
+ "application/pkix-pkipath": {
+ source: "iana",
+ extensions: ["pkipath"]
+ },
+ "application/pkixcmp": {
+ source: "iana",
+ extensions: ["pki"]
+ },
+ "application/pls+xml": {
+ source: "iana",
+ compressible: true,
+ extensions: ["pls"]
+ },
+ "application/poc-settings+xml": {
+ source: "iana",
+ charset: "UTF-8",
+ compressible: true
+ },
+ "application/postscript": {
+ source: "iana",
+ compressible: true,
+ extensions: ["ai", "eps", "ps"]
+ },
+ "application/ppsp-tracker+json": {
+ source: "iana",
+ compressible: true
+ },
+ "application/private-token-issuer-directory": {
+ source: "iana"
+ },
+ "application/private-token-request": {
+ source: "iana"
+ },
+ "application/private-token-response": {
+ source: "iana"
+ },
+ "application/problem+json": {
+ source: "iana",
+ compressible: true
+ },
+ "application/problem+xml": {
+ source: "iana",
+ compressible: true
+ },
+ "application/provenance+xml": {
+ source: "iana",
+ compressible: true,
+ extensions: ["provx"]
+ },
+ "application/provided-claims+jwt": {
+ source: "iana"
+ },
+ "application/prs.alvestrand.titrax-sheet": {
+ source: "iana"
+ },
+ "application/prs.cww": {
+ source: "iana",
+ extensions: ["cww"]
+ },
+ "application/prs.cyn": {
+ source: "iana",
+ charset: "7-BIT"
+ },
+ "application/prs.hpub+zip": {
+ source: "iana",
+ compressible: false
+ },
+ "application/prs.implied-document+xml": {
+ source: "iana",
+ compressible: true
+ },
+ "application/prs.implied-executable": {
+ source: "iana"
+ },
+ "application/prs.implied-object+json": {
+ source: "iana",
+ compressible: true
+ },
+ "application/prs.implied-object+json-seq": {
+ source: "iana"
+ },
+ "application/prs.implied-object+yaml": {
+ source: "iana"
+ },
+ "application/prs.implied-structure": {
+ source: "iana"
+ },
+ "application/prs.mayfile": {
+ source: "iana"
+ },
+ "application/prs.nprend": {
+ source: "iana"
+ },
+ "application/prs.plucker": {
+ source: "iana"
+ },
+ "application/prs.rdf-xml-crypt": {
+ source: "iana"
+ },
+ "application/prs.vcfbzip2": {
+ source: "iana"
+ },
+ "application/prs.xsf+xml": {
+ source: "iana",
+ compressible: true,
+ extensions: ["xsf"]
+ },
+ "application/pskc+xml": {
+ source: "iana",
+ compressible: true,
+ extensions: ["pskcxml"]
+ },
+ "application/pvd+json": {
+ source: "iana",
+ compressible: true
+ },
+ "application/qsig": {
+ source: "iana"
+ },
+ "application/raml+yaml": {
+ compressible: true,
+ extensions: ["raml"]
+ },
+ "application/raptorfec": {
+ source: "iana"
+ },
+ "application/rdap+json": {
+ source: "iana",
+ compressible: true
+ },
+ "application/rdf+xml": {
+ source: "iana",
+ compressible: true,
+ extensions: ["rdf", "owl"]
+ },
+ "application/reginfo+xml": {
+ source: "iana",
+ compressible: true,
+ extensions: ["rif"]
+ },
+ "application/relax-ng-compact-syntax": {
+ source: "iana",
+ extensions: ["rnc"]
+ },
+ "application/remote-printing": {
+ source: "apache"
+ },
+ "application/reputon+json": {
+ source: "iana",
+ compressible: true
+ },
+ "application/resolve-response+jwt": {
+ source: "iana"
+ },
+ "application/resource-lists+xml": {
+ source: "iana",
+ compressible: true,
+ extensions: ["rl"]
+ },
+ "application/resource-lists-diff+xml": {
+ source: "iana",
+ compressible: true,
+ extensions: ["rld"]
+ },
+ "application/rfc+xml": {
+ source: "iana",
+ compressible: true
+ },
+ "application/riscos": {
+ source: "iana"
+ },
+ "application/rlmi+xml": {
+ source: "iana",
+ compressible: true
+ },
+ "application/rls-services+xml": {
+ source: "iana",
+ compressible: true,
+ extensions: ["rs"]
+ },
+ "application/route-apd+xml": {
+ source: "iana",
+ compressible: true,
+ extensions: ["rapd"]
+ },
+ "application/route-s-tsid+xml": {
+ source: "iana",
+ compressible: true,
+ extensions: ["sls"]
+ },
+ "application/route-usd+xml": {
+ source: "iana",
+ compressible: true,
+ extensions: ["rusd"]
+ },
+ "application/rpki-checklist": {
+ source: "iana"
+ },
+ "application/rpki-ghostbusters": {
+ source: "iana",
+ extensions: ["gbr"]
+ },
+ "application/rpki-manifest": {
+ source: "iana",
+ extensions: ["mft"]
+ },
+ "application/rpki-publication": {
+ source: "iana"
+ },
+ "application/rpki-roa": {
+ source: "iana",
+ extensions: ["roa"]
+ },
+ "application/rpki-signed-tal": {
+ source: "iana"
+ },
+ "application/rpki-updown": {
+ source: "iana"
+ },
+ "application/rsd+xml": {
+ source: "apache",
+ compressible: true,
+ extensions: ["rsd"]
+ },
+ "application/rss+xml": {
+ source: "apache",
+ compressible: true,
+ extensions: ["rss"]
+ },
+ "application/rtf": {
+ source: "iana",
+ compressible: true,
+ extensions: ["rtf"]
+ },
+ "application/rtploopback": {
+ source: "iana"
+ },
+ "application/rtx": {
+ source: "iana"
+ },
+ "application/samlassertion+xml": {
+ source: "iana",
+ compressible: true
+ },
+ "application/samlmetadata+xml": {
+ source: "iana",
+ compressible: true
+ },
+ "application/sarif+json": {
+ source: "iana",
+ compressible: true
+ },
+ "application/sarif-external-properties+json": {
+ source: "iana",
+ compressible: true
+ },
+ "application/sbe": {
+ source: "iana"
+ },
+ "application/sbml+xml": {
+ source: "iana",
+ compressible: true,
+ extensions: ["sbml"]
+ },
+ "application/scaip+xml": {
+ source: "iana",
+ compressible: true
+ },
+ "application/scim+json": {
+ source: "iana",
+ compressible: true
+ },
+ "application/scvp-cv-request": {
+ source: "iana",
+ extensions: ["scq"]
+ },
+ "application/scvp-cv-response": {
+ source: "iana",
+ extensions: ["scs"]
+ },
+ "application/scvp-vp-request": {
+ source: "iana",
+ extensions: ["spq"]
+ },
+ "application/scvp-vp-response": {
+ source: "iana",
+ extensions: ["spp"]
+ },
+ "application/sdp": {
+ source: "iana",
+ extensions: ["sdp"]
+ },
+ "application/secevent+jwt": {
+ source: "iana"
+ },
+ "application/senml+cbor": {
+ source: "iana"
+ },
+ "application/senml+json": {
+ source: "iana",
+ compressible: true
+ },
+ "application/senml+xml": {
+ source: "iana",
+ compressible: true,
+ extensions: ["senmlx"]
+ },
+ "application/senml-etch+cbor": {
+ source: "iana"
+ },
+ "application/senml-etch+json": {
+ source: "iana",
+ compressible: true
+ },
+ "application/senml-exi": {
+ source: "iana"
+ },
+ "application/sensml+cbor": {
+ source: "iana"
+ },
+ "application/sensml+json": {
+ source: "iana",
+ compressible: true
+ },
+ "application/sensml+xml": {
+ source: "iana",
+ compressible: true,
+ extensions: ["sensmlx"]
+ },
+ "application/sensml-exi": {
+ source: "iana"
+ },
+ "application/sep+xml": {
+ source: "iana",
+ compressible: true
+ },
+ "application/sep-exi": {
+ source: "iana"
+ },
+ "application/session-info": {
+ source: "iana"
+ },
+ "application/set-payment": {
+ source: "iana"
+ },
+ "application/set-payment-initiation": {
+ source: "iana",
+ extensions: ["setpay"]
+ },
+ "application/set-registration": {
+ source: "iana"
+ },
+ "application/set-registration-initiation": {
+ source: "iana",
+ extensions: ["setreg"]
+ },
+ "application/sgml": {
+ source: "iana"
+ },
+ "application/sgml-open-catalog": {
+ source: "iana"
+ },
+ "application/shf+xml": {
+ source: "iana",
+ compressible: true,
+ extensions: ["shf"]
+ },
+ "application/sieve": {
+ source: "iana",
+ extensions: ["siv", "sieve"]
+ },
+ "application/simple-filter+xml": {
+ source: "iana",
+ compressible: true
+ },
+ "application/simple-message-summary": {
+ source: "iana"
+ },
+ "application/simplesymbolcontainer": {
+ source: "iana"
+ },
+ "application/sipc": {
+ source: "iana"
+ },
+ "application/slate": {
+ source: "iana"
+ },
+ "application/smil": {
+ source: "apache"
+ },
+ "application/smil+xml": {
+ source: "iana",
+ compressible: true,
+ extensions: ["smi", "smil"]
+ },
+ "application/smpte336m": {
+ source: "iana"
+ },
+ "application/soap+fastinfoset": {
+ source: "iana"
+ },
+ "application/soap+xml": {
+ source: "iana",
+ compressible: true
+ },
+ "application/sparql-query": {
+ source: "iana",
+ extensions: ["rq"]
+ },
+ "application/sparql-results+xml": {
+ source: "iana",
+ compressible: true,
+ extensions: ["srx"]
+ },
+ "application/spdx+json": {
+ source: "iana",
+ compressible: true
+ },
+ "application/spirits-event+xml": {
+ source: "iana",
+ compressible: true
+ },
+ "application/sql": {
+ source: "iana",
+ extensions: ["sql"]
+ },
+ "application/srgs": {
+ source: "iana",
+ extensions: ["gram"]
+ },
+ "application/srgs+xml": {
+ source: "iana",
+ compressible: true,
+ extensions: ["grxml"]
+ },
+ "application/sru+xml": {
+ source: "iana",
+ compressible: true,
+ extensions: ["sru"]
+ },
+ "application/ssdl+xml": {
+ source: "apache",
+ compressible: true,
+ extensions: ["ssdl"]
+ },
+ "application/sslkeylogfile": {
+ source: "iana"
+ },
+ "application/ssml+xml": {
+ source: "iana",
+ compressible: true,
+ extensions: ["ssml"]
+ },
+ "application/st2110-41": {
+ source: "iana"
+ },
+ "application/stix+json": {
+ source: "iana",
+ compressible: true
+ },
+ "application/stratum": {
+ source: "iana"
+ },
+ "application/swid+cbor": {
+ source: "iana"
+ },
+ "application/swid+xml": {
+ source: "iana",
+ compressible: true,
+ extensions: ["swidtag"]
+ },
+ "application/tamp-apex-update": {
+ source: "iana"
+ },
+ "application/tamp-apex-update-confirm": {
+ source: "iana"
+ },
+ "application/tamp-community-update": {
+ source: "iana"
+ },
+ "application/tamp-community-update-confirm": {
+ source: "iana"
+ },
+ "application/tamp-error": {
+ source: "iana"
+ },
+ "application/tamp-sequence-adjust": {
+ source: "iana"
+ },
+ "application/tamp-sequence-adjust-confirm": {
+ source: "iana"
+ },
+ "application/tamp-status-query": {
+ source: "iana"
+ },
+ "application/tamp-status-response": {
+ source: "iana"
+ },
+ "application/tamp-update": {
+ source: "iana"
+ },
+ "application/tamp-update-confirm": {
+ source: "iana"
+ },
+ "application/tar": {
+ compressible: true
+ },
+ "application/taxii+json": {
+ source: "iana",
+ compressible: true
+ },
+ "application/td+json": {
+ source: "iana",
+ compressible: true
+ },
+ "application/tei+xml": {
+ source: "iana",
+ compressible: true,
+ extensions: ["tei", "teicorpus"]
+ },
+ "application/tetra_isi": {
+ source: "iana"
+ },
+ "application/thraud+xml": {
+ source: "iana",
+ compressible: true,
+ extensions: ["tfi"]
+ },
+ "application/timestamp-query": {
+ source: "iana"
+ },
+ "application/timestamp-reply": {
+ source: "iana"
+ },
+ "application/timestamped-data": {
+ source: "iana",
+ extensions: ["tsd"]
+ },
+ "application/tlsrpt+gzip": {
+ source: "iana"
+ },
+ "application/tlsrpt+json": {
+ source: "iana",
+ compressible: true
+ },
+ "application/tm+json": {
+ source: "iana",
+ compressible: true
+ },
+ "application/tnauthlist": {
+ source: "iana"
+ },
+ "application/toc+cbor": {
+ source: "iana"
+ },
+ "application/token-introspection+jwt": {
+ source: "iana"
+ },
+ "application/toml": {
+ source: "iana",
+ compressible: true,
+ extensions: ["toml"]
+ },
+ "application/trickle-ice-sdpfrag": {
+ source: "iana"
+ },
+ "application/trig": {
+ source: "iana",
+ extensions: ["trig"]
+ },
+ "application/trust-chain+json": {
+ source: "iana",
+ compressible: true
+ },
+ "application/trust-mark+jwt": {
+ source: "iana"
+ },
+ "application/trust-mark-delegation+jwt": {
+ source: "iana"
+ },
+ "application/ttml+xml": {
+ source: "iana",
+ compressible: true,
+ extensions: ["ttml"]
+ },
+ "application/tve-trigger": {
+ source: "iana"
+ },
+ "application/tzif": {
+ source: "iana"
+ },
+ "application/tzif-leap": {
+ source: "iana"
+ },
+ "application/ubjson": {
+ compressible: false,
+ extensions: ["ubj"]
+ },
+ "application/uccs+cbor": {
+ source: "iana"
+ },
+ "application/ujcs+json": {
+ source: "iana",
+ compressible: true
+ },
+ "application/ulpfec": {
+ source: "iana"
+ },
+ "application/urc-grpsheet+xml": {
+ source: "iana",
+ compressible: true
+ },
+ "application/urc-ressheet+xml": {
+ source: "iana",
+ compressible: true,
+ extensions: ["rsheet"]
+ },
+ "application/urc-targetdesc+xml": {
+ source: "iana",
+ compressible: true,
+ extensions: ["td"]
+ },
+ "application/urc-uisocketdesc+xml": {
+ source: "iana",
+ compressible: true
+ },
+ "application/vc": {
+ source: "iana"
+ },
+ "application/vc+cose": {
+ source: "iana"
+ },
+ "application/vc+jwt": {
+ source: "iana"
+ },
+ "application/vcard+json": {
+ source: "iana",
+ compressible: true
+ },
+ "application/vcard+xml": {
+ source: "iana",
+ compressible: true
+ },
+ "application/vemmi": {
+ source: "iana"
+ },
+ "application/vividence.scriptfile": {
+ source: "apache"
+ },
+ "application/vnd.1000minds.decision-model+xml": {
+ source: "iana",
+ compressible: true,
+ extensions: ["1km"]
+ },
+ "application/vnd.1ob": {
+ source: "iana"
+ },
+ "application/vnd.3gpp-prose+xml": {
+ source: "iana",
+ compressible: true
+ },
+ "application/vnd.3gpp-prose-pc3a+xml": {
+ source: "iana",
+ compressible: true
+ },
+ "application/vnd.3gpp-prose-pc3ach+xml": {
+ source: "iana",
+ compressible: true
+ },
+ "application/vnd.3gpp-prose-pc3ch+xml": {
+ source: "iana",
+ compressible: true
+ },
+ "application/vnd.3gpp-prose-pc8+xml": {
+ source: "iana",
+ compressible: true
+ },
+ "application/vnd.3gpp-v2x-local-service-information": {
+ source: "iana"
+ },
+ "application/vnd.3gpp.5gnas": {
+ source: "iana"
+ },
+ "application/vnd.3gpp.5gsa2x": {
+ source: "iana"
+ },
+ "application/vnd.3gpp.5gsa2x-local-service-information": {
+ source: "iana"
+ },
+ "application/vnd.3gpp.5gsv2x": {
+ source: "iana"
+ },
+ "application/vnd.3gpp.5gsv2x-local-service-information": {
+ source: "iana"
+ },
+ "application/vnd.3gpp.access-transfer-events+xml": {
+ source: "iana",
+ compressible: true
+ },
+ "application/vnd.3gpp.bsf+xml": {
+ source: "iana",
+ compressible: true
+ },
+ "application/vnd.3gpp.crs+xml": {
+ source: "iana",
+ compressible: true
+ },
+ "application/vnd.3gpp.current-location-discovery+xml": {
+ source: "iana",
+ compressible: true
+ },
+ "application/vnd.3gpp.gmop+xml": {
+ source: "iana",
+ compressible: true
+ },
+ "application/vnd.3gpp.gtpc": {
+ source: "iana"
+ },
+ "application/vnd.3gpp.interworking-data": {
+ source: "iana"
+ },
+ "application/vnd.3gpp.lpp": {
+ source: "iana"
+ },
+ "application/vnd.3gpp.mc-signalling-ear": {
+ source: "iana"
+ },
+ "application/vnd.3gpp.mcdata-affiliation-command+xml": {
+ source: "iana",
+ compressible: true
+ },
+ "application/vnd.3gpp.mcdata-info+xml": {
+ source: "iana",
+ compressible: true
+ },
+ "application/vnd.3gpp.mcdata-msgstore-ctrl-request+xml": {
+ source: "iana",
+ compressible: true
+ },
+ "application/vnd.3gpp.mcdata-payload": {
+ source: "iana"
+ },
+ "application/vnd.3gpp.mcdata-regroup+xml": {
+ source: "iana",
+ compressible: true
+ },
+ "application/vnd.3gpp.mcdata-service-config+xml": {
+ source: "iana",
+ compressible: true
+ },
+ "application/vnd.3gpp.mcdata-signalling": {
+ source: "iana"
+ },
+ "application/vnd.3gpp.mcdata-ue-config+xml": {
+ source: "iana",
+ compressible: true
+ },
+ "application/vnd.3gpp.mcdata-user-profile+xml": {
+ source: "iana",
+ compressible: true
+ },
+ "application/vnd.3gpp.mcptt-affiliation-command+xml": {
+ source: "iana",
+ compressible: true
+ },
+ "application/vnd.3gpp.mcptt-floor-request+xml": {
+ source: "iana",
+ compressible: true
+ },
+ "application/vnd.3gpp.mcptt-info+xml": {
+ source: "iana",
+ compressible: true
+ },
+ "application/vnd.3gpp.mcptt-location-info+xml": {
+ source: "iana",
+ compressible: true
+ },
+ "application/vnd.3gpp.mcptt-mbms-usage-info+xml": {
+ source: "iana",
+ compressible: true
+ },
+ "application/vnd.3gpp.mcptt-regroup+xml": {
+ source: "iana",
+ compressible: true
+ },
+ "application/vnd.3gpp.mcptt-service-config+xml": {
+ source: "iana",
+ compressible: true
+ },
+ "application/vnd.3gpp.mcptt-signed+xml": {
+ source: "iana",
+ compressible: true
+ },
+ "application/vnd.3gpp.mcptt-ue-config+xml": {
+ source: "iana",
+ compressible: true
+ },
+ "application/vnd.3gpp.mcptt-ue-init-config+xml": {
+ source: "iana",
+ compressible: true
+ },
+ "application/vnd.3gpp.mcptt-user-profile+xml": {
+ source: "iana",
+ compressible: true
+ },
+ "application/vnd.3gpp.mcvideo-affiliation-command+xml": {
+ source: "iana",
+ compressible: true
+ },
+ "application/vnd.3gpp.mcvideo-info+xml": {
+ source: "iana",
+ compressible: true
+ },
+ "application/vnd.3gpp.mcvideo-location-info+xml": {
+ source: "iana",
+ compressible: true
+ },
+ "application/vnd.3gpp.mcvideo-mbms-usage-info+xml": {
+ source: "iana",
+ compressible: true
+ },
+ "application/vnd.3gpp.mcvideo-regroup+xml": {
+ source: "iana",
+ compressible: true
+ },
+ "application/vnd.3gpp.mcvideo-service-config+xml": {
+ source: "iana",
+ compressible: true
+ },
+ "application/vnd.3gpp.mcvideo-transmission-request+xml": {
+ source: "iana",
+ compressible: true
+ },
+ "application/vnd.3gpp.mcvideo-ue-config+xml": {
+ source: "iana",
+ compressible: true
+ },
+ "application/vnd.3gpp.mcvideo-user-profile+xml": {
+ source: "iana",
+ compressible: true
+ },
+ "application/vnd.3gpp.mid-call+xml": {
+ source: "iana",
+ compressible: true
+ },
+ "application/vnd.3gpp.ngap": {
+ source: "iana"
+ },
+ "application/vnd.3gpp.pfcp": {
+ source: "iana"
+ },
+ "application/vnd.3gpp.pic-bw-large": {
+ source: "iana",
+ extensions: ["plb"]
+ },
+ "application/vnd.3gpp.pic-bw-small": {
+ source: "iana",
+ extensions: ["psb"]
+ },
+ "application/vnd.3gpp.pic-bw-var": {
+ source: "iana",
+ extensions: ["pvb"]
+ },
+ "application/vnd.3gpp.pinapp-info+xml": {
+ source: "iana",
+ compressible: true
+ },
+ "application/vnd.3gpp.s1ap": {
+ source: "iana"
+ },
+ "application/vnd.3gpp.seal-group-doc+xml": {
+ source: "iana",
+ compressible: true
+ },
+ "application/vnd.3gpp.seal-info+xml": {
+ source: "iana",
+ compressible: true
+ },
+ "application/vnd.3gpp.seal-location-info+xml": {
+ source: "iana",
+ compressible: true
+ },
+ "application/vnd.3gpp.seal-mbms-usage-info+xml": {
+ source: "iana",
+ compressible: true
+ },
+ "application/vnd.3gpp.seal-network-qos-management-info+xml": {
+ source: "iana",
+ compressible: true
+ },
+ "application/vnd.3gpp.seal-ue-config-info+xml": {
+ source: "iana",
+ compressible: true
+ },
+ "application/vnd.3gpp.seal-unicast-info+xml": {
+ source: "iana",
+ compressible: true
+ },
+ "application/vnd.3gpp.seal-user-profile-info+xml": {
+ source: "iana",
+ compressible: true
+ },
+ "application/vnd.3gpp.sms": {
+ source: "iana"
+ },
+ "application/vnd.3gpp.sms+xml": {
+ source: "iana",
+ compressible: true
+ },
+ "application/vnd.3gpp.srvcc-ext+xml": {
+ source: "iana",
+ compressible: true
+ },
+ "application/vnd.3gpp.srvcc-info+xml": {
+ source: "iana",
+ compressible: true
+ },
+ "application/vnd.3gpp.state-and-event-info+xml": {
+ source: "iana",
+ compressible: true
+ },
+ "application/vnd.3gpp.ussd+xml": {
+ source: "iana",
+ compressible: true
+ },
+ "application/vnd.3gpp.v2x": {
+ source: "iana"
+ },
+ "application/vnd.3gpp.vae-info+xml": {
+ source: "iana",
+ compressible: true
+ },
+ "application/vnd.3gpp2.bcmcsinfo+xml": {
+ source: "iana",
+ compressible: true
+ },
+ "application/vnd.3gpp2.sms": {
+ source: "iana"
+ },
+ "application/vnd.3gpp2.tcap": {
+ source: "iana",
+ extensions: ["tcap"]
+ },
+ "application/vnd.3lightssoftware.imagescal": {
+ source: "iana"
+ },
+ "application/vnd.3m.post-it-notes": {
+ source: "iana",
+ extensions: ["pwn"]
+ },
+ "application/vnd.accpac.simply.aso": {
+ source: "iana",
+ extensions: ["aso"]
+ },
+ "application/vnd.accpac.simply.imp": {
+ source: "iana",
+ extensions: ["imp"]
+ },
+ "application/vnd.acm.addressxfer+json": {
+ source: "iana",
+ compressible: true
+ },
+ "application/vnd.acm.chatbot+json": {
+ source: "iana",
+ compressible: true
+ },
+ "application/vnd.acucobol": {
+ source: "iana",
+ extensions: ["acu"]
+ },
+ "application/vnd.acucorp": {
+ source: "iana",
+ extensions: ["atc", "acutc"]
+ },
+ "application/vnd.adobe.air-application-installer-package+zip": {
+ source: "apache",
+ compressible: false,
+ extensions: ["air"]
+ },
+ "application/vnd.adobe.flash.movie": {
+ source: "iana"
+ },
+ "application/vnd.adobe.formscentral.fcdt": {
+ source: "iana",
+ extensions: ["fcdt"]
+ },
+ "application/vnd.adobe.fxp": {
+ source: "iana",
+ extensions: ["fxp", "fxpl"]
+ },
+ "application/vnd.adobe.partial-upload": {
+ source: "iana"
+ },
+ "application/vnd.adobe.xdp+xml": {
+ source: "iana",
+ compressible: true,
+ extensions: ["xdp"]
+ },
+ "application/vnd.adobe.xfdf": {
+ source: "apache",
+ extensions: ["xfdf"]
+ },
+ "application/vnd.aether.imp": {
+ source: "iana"
+ },
+ "application/vnd.afpc.afplinedata": {
+ source: "iana"
+ },
+ "application/vnd.afpc.afplinedata-pagedef": {
+ source: "iana"
+ },
+ "application/vnd.afpc.cmoca-cmresource": {
+ source: "iana"
+ },
+ "application/vnd.afpc.foca-charset": {
+ source: "iana"
+ },
+ "application/vnd.afpc.foca-codedfont": {
+ source: "iana"
+ },
+ "application/vnd.afpc.foca-codepage": {
+ source: "iana"
+ },
+ "application/vnd.afpc.modca": {
+ source: "iana"
+ },
+ "application/vnd.afpc.modca-cmtable": {
+ source: "iana"
+ },
+ "application/vnd.afpc.modca-formdef": {
+ source: "iana"
+ },
+ "application/vnd.afpc.modca-mediummap": {
+ source: "iana"
+ },
+ "application/vnd.afpc.modca-objectcontainer": {
+ source: "iana"
+ },
+ "application/vnd.afpc.modca-overlay": {
+ source: "iana"
+ },
+ "application/vnd.afpc.modca-pagesegment": {
+ source: "iana"
+ },
+ "application/vnd.age": {
+ source: "iana",
+ extensions: ["age"]
+ },
+ "application/vnd.ah-barcode": {
+ source: "apache"
+ },
+ "application/vnd.ahead.space": {
+ source: "iana",
+ extensions: ["ahead"]
+ },
+ "application/vnd.airzip.filesecure.azf": {
+ source: "iana",
+ extensions: ["azf"]
+ },
+ "application/vnd.airzip.filesecure.azs": {
+ source: "iana",
+ extensions: ["azs"]
+ },
+ "application/vnd.amadeus+json": {
+ source: "iana",
+ compressible: true
+ },
+ "application/vnd.amazon.ebook": {
+ source: "apache",
+ extensions: ["azw"]
+ },
+ "application/vnd.amazon.mobi8-ebook": {
+ source: "iana"
+ },
+ "application/vnd.americandynamics.acc": {
+ source: "iana",
+ extensions: ["acc"]
+ },
+ "application/vnd.amiga.ami": {
+ source: "iana",
+ extensions: ["ami"]
+ },
+ "application/vnd.amundsen.maze+xml": {
+ source: "iana",
+ compressible: true
+ },
+ "application/vnd.android.ota": {
+ source: "iana"
+ },
+ "application/vnd.android.package-archive": {
+ source: "apache",
+ compressible: false,
+ extensions: ["apk"]
+ },
+ "application/vnd.anki": {
+ source: "iana"
+ },
+ "application/vnd.anser-web-certificate-issue-initiation": {
+ source: "iana",
+ extensions: ["cii"]
+ },
+ "application/vnd.anser-web-funds-transfer-initiation": {
+ source: "apache",
+ extensions: ["fti"]
+ },
+ "application/vnd.antix.game-component": {
+ source: "iana",
+ extensions: ["atx"]
+ },
+ "application/vnd.apache.arrow.file": {
+ source: "iana"
+ },
+ "application/vnd.apache.arrow.stream": {
+ source: "iana"
+ },
+ "application/vnd.apache.parquet": {
+ source: "iana"
+ },
+ "application/vnd.apache.thrift.binary": {
+ source: "iana"
+ },
+ "application/vnd.apache.thrift.compact": {
+ source: "iana"
+ },
+ "application/vnd.apache.thrift.json": {
+ source: "iana"
+ },
+ "application/vnd.apexlang": {
+ source: "iana"
+ },
+ "application/vnd.api+json": {
+ source: "iana",
+ compressible: true
+ },
+ "application/vnd.aplextor.warrp+json": {
+ source: "iana",
+ compressible: true
+ },
+ "application/vnd.apothekende.reservation+json": {
+ source: "iana",
+ compressible: true
+ },
+ "application/vnd.apple.installer+xml": {
+ source: "iana",
+ compressible: true,
+ extensions: ["mpkg"]
+ },
+ "application/vnd.apple.keynote": {
+ source: "iana",
+ extensions: ["key"]
+ },
+ "application/vnd.apple.mpegurl": {
+ source: "iana",
+ extensions: ["m3u8"]
+ },
+ "application/vnd.apple.numbers": {
+ source: "iana",
+ extensions: ["numbers"]
+ },
+ "application/vnd.apple.pages": {
+ source: "iana",
+ extensions: ["pages"]
+ },
+ "application/vnd.apple.pkpass": {
+ compressible: false,
+ extensions: ["pkpass"]
+ },
+ "application/vnd.arastra.swi": {
+ source: "apache"
+ },
+ "application/vnd.aristanetworks.swi": {
+ source: "iana",
+ extensions: ["swi"]
+ },
+ "application/vnd.artisan+json": {
+ source: "iana",
+ compressible: true
+ },
+ "application/vnd.artsquare": {
+ source: "iana"
+ },
+ "application/vnd.astraea-software.iota": {
+ source: "iana",
+ extensions: ["iota"]
+ },
+ "application/vnd.audiograph": {
+ source: "iana",
+ extensions: ["aep"]
+ },
+ "application/vnd.autodesk.fbx": {
+ extensions: ["fbx"]
+ },
+ "application/vnd.autopackage": {
+ source: "iana"
+ },
+ "application/vnd.avalon+json": {
+ source: "iana",
+ compressible: true
+ },
+ "application/vnd.avistar+xml": {
+ source: "iana",
+ compressible: true
+ },
+ "application/vnd.balsamiq.bmml+xml": {
+ source: "iana",
+ compressible: true,
+ extensions: ["bmml"]
+ },
+ "application/vnd.balsamiq.bmpr": {
+ source: "iana"
+ },
+ "application/vnd.banana-accounting": {
+ source: "iana"
+ },
+ "application/vnd.bbf.usp.error": {
+ source: "iana"
+ },
+ "application/vnd.bbf.usp.msg": {
+ source: "iana"
+ },
+ "application/vnd.bbf.usp.msg+json": {
+ source: "iana",
+ compressible: true
+ },
+ "application/vnd.bekitzur-stech+json": {
+ source: "iana",
+ compressible: true
+ },
+ "application/vnd.belightsoft.lhzd+zip": {
+ source: "iana",
+ compressible: false
+ },
+ "application/vnd.belightsoft.lhzl+zip": {
+ source: "iana",
+ compressible: false
+ },
+ "application/vnd.bint.med-content": {
+ source: "iana"
+ },
+ "application/vnd.biopax.rdf+xml": {
+ source: "iana",
+ compressible: true
+ },
+ "application/vnd.blink-idb-value-wrapper": {
+ source: "iana"
+ },
+ "application/vnd.blueice.multipass": {
+ source: "iana",
+ extensions: ["mpm"]
+ },
+ "application/vnd.bluetooth.ep.oob": {
+ source: "iana"
+ },
+ "application/vnd.bluetooth.le.oob": {
+ source: "iana"
+ },
+ "application/vnd.bmi": {
+ source: "iana",
+ extensions: ["bmi"]
+ },
+ "application/vnd.bpf": {
+ source: "iana"
+ },
+ "application/vnd.bpf3": {
+ source: "iana"
+ },
+ "application/vnd.businessobjects": {
+ source: "iana",
+ extensions: ["rep"]
+ },
+ "application/vnd.byu.uapi+json": {
+ source: "iana",
+ compressible: true
+ },
+ "application/vnd.bzip3": {
+ source: "iana"
+ },
+ "application/vnd.c3voc.schedule+xml": {
+ source: "iana",
+ compressible: true
+ },
+ "application/vnd.cab-jscript": {
+ source: "iana"
+ },
+ "application/vnd.canon-cpdl": {
+ source: "iana"
+ },
+ "application/vnd.canon-lips": {
+ source: "iana"
+ },
+ "application/vnd.capasystems-pg+json": {
+ source: "iana",
+ compressible: true
+ },
+ "application/vnd.cendio.thinlinc.clientconf": {
+ source: "iana"
+ },
+ "application/vnd.century-systems.tcp_stream": {
+ source: "iana"
+ },
+ "application/vnd.chemdraw+xml": {
+ source: "iana",
+ compressible: true,
+ extensions: ["cdxml"]
+ },
+ "application/vnd.chess-pgn": {
+ source: "iana"
+ },
+ "application/vnd.chipnuts.karaoke-mmd": {
+ source: "iana",
+ extensions: ["mmd"]
+ },
+ "application/vnd.ciedi": {
+ source: "iana"
+ },
+ "application/vnd.cinderella": {
+ source: "iana",
+ extensions: ["cdy"]
+ },
+ "application/vnd.cirpack.isdn-ext": {
+ source: "iana"
+ },
+ "application/vnd.citationstyles.style+xml": {
+ source: "iana",
+ compressible: true,
+ extensions: ["csl"]
+ },
+ "application/vnd.claymore": {
+ source: "iana",
+ extensions: ["cla"]
+ },
+ "application/vnd.cloanto.rp9": {
+ source: "iana",
+ extensions: ["rp9"]
+ },
+ "application/vnd.clonk.c4group": {
+ source: "iana",
+ extensions: ["c4g", "c4d", "c4f", "c4p", "c4u"]
+ },
+ "application/vnd.cluetrust.cartomobile-config": {
+ source: "iana",
+ extensions: ["c11amc"]
+ },
+ "application/vnd.cluetrust.cartomobile-config-pkg": {
+ source: "iana",
+ extensions: ["c11amz"]
+ },
+ "application/vnd.cncf.helm.chart.content.v1.tar+gzip": {
+ source: "iana"
+ },
+ "application/vnd.cncf.helm.chart.provenance.v1.prov": {
+ source: "iana"
+ },
+ "application/vnd.cncf.helm.config.v1+json": {
+ source: "iana",
+ compressible: true
+ },
+ "application/vnd.coffeescript": {
+ source: "iana"
+ },
+ "application/vnd.collabio.xodocuments.document": {
+ source: "iana"
+ },
+ "application/vnd.collabio.xodocuments.document-template": {
+ source: "iana"
+ },
+ "application/vnd.collabio.xodocuments.presentation": {
+ source: "iana"
+ },
+ "application/vnd.collabio.xodocuments.presentation-template": {
+ source: "iana"
+ },
+ "application/vnd.collabio.xodocuments.spreadsheet": {
+ source: "iana"
+ },
+ "application/vnd.collabio.xodocuments.spreadsheet-template": {
+ source: "iana"
+ },
+ "application/vnd.collection+json": {
+ source: "iana",
+ compressible: true
+ },
+ "application/vnd.collection.doc+json": {
+ source: "iana",
+ compressible: true
+ },
+ "application/vnd.collection.next+json": {
+ source: "iana",
+ compressible: true
+ },
+ "application/vnd.comicbook+zip": {
+ source: "iana",
+ compressible: false
+ },
+ "application/vnd.comicbook-rar": {
+ source: "iana"
+ },
+ "application/vnd.commerce-battelle": {
+ source: "iana"
+ },
+ "application/vnd.commonspace": {
+ source: "iana",
+ extensions: ["csp"]
+ },
+ "application/vnd.contact.cmsg": {
+ source: "iana",
+ extensions: ["cdbcmsg"]
+ },
+ "application/vnd.coreos.ignition+json": {
+ source: "iana",
+ compressible: true
+ },
+ "application/vnd.cosmocaller": {
+ source: "iana",
+ extensions: ["cmc"]
+ },
+ "application/vnd.crick.clicker": {
+ source: "iana",
+ extensions: ["clkx"]
+ },
+ "application/vnd.crick.clicker.keyboard": {
+ source: "iana",
+ extensions: ["clkk"]
+ },
+ "application/vnd.crick.clicker.palette": {
+ source: "iana",
+ extensions: ["clkp"]
+ },
+ "application/vnd.crick.clicker.template": {
+ source: "iana",
+ extensions: ["clkt"]
+ },
+ "application/vnd.crick.clicker.wordbank": {
+ source: "iana",
+ extensions: ["clkw"]
+ },
+ "application/vnd.criticaltools.wbs+xml": {
+ source: "iana",
+ compressible: true,
+ extensions: ["wbs"]
+ },
+ "application/vnd.cryptii.pipe+json": {
+ source: "iana",
+ compressible: true
+ },
+ "application/vnd.crypto-shade-file": {
+ source: "iana"
+ },
+ "application/vnd.cryptomator.encrypted": {
+ source: "iana"
+ },
+ "application/vnd.cryptomator.vault": {
+ source: "iana"
+ },
+ "application/vnd.ctc-posml": {
+ source: "iana",
+ extensions: ["pml"]
+ },
+ "application/vnd.ctct.ws+xml": {
+ source: "iana",
+ compressible: true
+ },
+ "application/vnd.cups-pdf": {
+ source: "iana"
+ },
+ "application/vnd.cups-postscript": {
+ source: "iana"
+ },
+ "application/vnd.cups-ppd": {
+ source: "iana",
+ extensions: ["ppd"]
+ },
+ "application/vnd.cups-raster": {
+ source: "iana"
+ },
+ "application/vnd.cups-raw": {
+ source: "iana"
+ },
+ "application/vnd.curl": {
+ source: "iana"
+ },
+ "application/vnd.curl.car": {
+ source: "apache",
+ extensions: ["car"]
+ },
+ "application/vnd.curl.pcurl": {
+ source: "apache",
+ extensions: ["pcurl"]
+ },
+ "application/vnd.cyan.dean.root+xml": {
+ source: "iana",
+ compressible: true
+ },
+ "application/vnd.cybank": {
+ source: "iana"
+ },
+ "application/vnd.cyclonedx+json": {
+ source: "iana",
+ compressible: true
+ },
+ "application/vnd.cyclonedx+xml": {
+ source: "iana",
+ compressible: true
+ },
+ "application/vnd.d2l.coursepackage1p0+zip": {
+ source: "iana",
+ compressible: false
+ },
+ "application/vnd.d3m-dataset": {
+ source: "iana"
+ },
+ "application/vnd.d3m-problem": {
+ source: "iana"
+ },
+ "application/vnd.dart": {
+ source: "iana",
+ compressible: true,
+ extensions: ["dart"]
+ },
+ "application/vnd.data-vision.rdz": {
+ source: "iana",
+ extensions: ["rdz"]
+ },
+ "application/vnd.datalog": {
+ source: "iana"
+ },
+ "application/vnd.datapackage+json": {
+ source: "iana",
+ compressible: true
+ },
+ "application/vnd.dataresource+json": {
+ source: "iana",
+ compressible: true
+ },
+ "application/vnd.dbf": {
+ source: "iana",
+ extensions: ["dbf"]
+ },
+ "application/vnd.dcmp+xml": {
+ source: "iana",
+ compressible: true,
+ extensions: ["dcmp"]
+ },
+ "application/vnd.debian.binary-package": {
+ source: "iana"
+ },
+ "application/vnd.dece.data": {
+ source: "iana",
+ extensions: ["uvf", "uvvf", "uvd", "uvvd"]
+ },
+ "application/vnd.dece.ttml+xml": {
+ source: "iana",
+ compressible: true,
+ extensions: ["uvt", "uvvt"]
+ },
+ "application/vnd.dece.unspecified": {
+ source: "iana",
+ extensions: ["uvx", "uvvx"]
+ },
+ "application/vnd.dece.zip": {
+ source: "iana",
+ extensions: ["uvz", "uvvz"]
+ },
+ "application/vnd.denovo.fcselayout-link": {
+ source: "iana",
+ extensions: ["fe_launch"]
+ },
+ "application/vnd.desmume.movie": {
+ source: "iana"
+ },
+ "application/vnd.dir-bi.plate-dl-nosuffix": {
+ source: "iana"
+ },
+ "application/vnd.dm.delegation+xml": {
+ source: "iana",
+ compressible: true
+ },
+ "application/vnd.dna": {
+ source: "iana",
+ extensions: ["dna"]
+ },
+ "application/vnd.document+json": {
+ source: "iana",
+ compressible: true
+ },
+ "application/vnd.dolby.mlp": {
+ source: "apache",
+ extensions: ["mlp"]
+ },
+ "application/vnd.dolby.mobile.1": {
+ source: "iana"
+ },
+ "application/vnd.dolby.mobile.2": {
+ source: "iana"
+ },
+ "application/vnd.doremir.scorecloud-binary-document": {
+ source: "iana"
+ },
+ "application/vnd.dpgraph": {
+ source: "iana",
+ extensions: ["dpg"]
+ },
+ "application/vnd.dreamfactory": {
+ source: "iana",
+ extensions: ["dfac"]
+ },
+ "application/vnd.drive+json": {
+ source: "iana",
+ compressible: true
+ },
+ "application/vnd.ds-keypoint": {
+ source: "apache",
+ extensions: ["kpxx"]
+ },
+ "application/vnd.dtg.local": {
+ source: "iana"
+ },
+ "application/vnd.dtg.local.flash": {
+ source: "iana"
+ },
+ "application/vnd.dtg.local.html": {
+ source: "iana"
+ },
+ "application/vnd.dvb.ait": {
+ source: "iana",
+ extensions: ["ait"]
+ },
+ "application/vnd.dvb.dvbisl+xml": {
+ source: "iana",
+ compressible: true
+ },
+ "application/vnd.dvb.dvbj": {
+ source: "iana"
+ },
+ "application/vnd.dvb.esgcontainer": {
+ source: "iana"
+ },
+ "application/vnd.dvb.ipdcdftnotifaccess": {
+ source: "iana"
+ },
+ "application/vnd.dvb.ipdcesgaccess": {
+ source: "iana"
+ },
+ "application/vnd.dvb.ipdcesgaccess2": {
+ source: "iana"
+ },
+ "application/vnd.dvb.ipdcesgpdd": {
+ source: "iana"
+ },
+ "application/vnd.dvb.ipdcroaming": {
+ source: "iana"
+ },
+ "application/vnd.dvb.iptv.alfec-base": {
+ source: "iana"
+ },
+ "application/vnd.dvb.iptv.alfec-enhancement": {
+ source: "iana"
+ },
+ "application/vnd.dvb.notif-aggregate-root+xml": {
+ source: "iana",
+ compressible: true
+ },
+ "application/vnd.dvb.notif-container+xml": {
+ source: "iana",
+ compressible: true
+ },
+ "application/vnd.dvb.notif-generic+xml": {
+ source: "iana",
+ compressible: true
+ },
+ "application/vnd.dvb.notif-ia-msglist+xml": {
+ source: "iana",
+ compressible: true
+ },
+ "application/vnd.dvb.notif-ia-registration-request+xml": {
+ source: "iana",
+ compressible: true
+ },
+ "application/vnd.dvb.notif-ia-registration-response+xml": {
+ source: "iana",
+ compressible: true
+ },
+ "application/vnd.dvb.notif-init+xml": {
+ source: "iana",
+ compressible: true
+ },
+ "application/vnd.dvb.pfr": {
+ source: "iana"
+ },
+ "application/vnd.dvb.service": {
+ source: "iana",
+ extensions: ["svc"]
+ },
+ "application/vnd.dxr": {
+ source: "iana"
+ },
+ "application/vnd.dynageo": {
+ source: "iana",
+ extensions: ["geo"]
+ },
+ "application/vnd.dzr": {
+ source: "iana"
+ },
+ "application/vnd.easykaraoke.cdgdownload": {
+ source: "iana"
+ },
+ "application/vnd.ecdis-update": {
+ source: "iana"
+ },
+ "application/vnd.ecip.rlp": {
+ source: "iana"
+ },
+ "application/vnd.eclipse.ditto+json": {
+ source: "iana",
+ compressible: true
+ },
+ "application/vnd.ecowin.chart": {
+ source: "iana",
+ extensions: ["mag"]
+ },
+ "application/vnd.ecowin.filerequest": {
+ source: "iana"
+ },
+ "application/vnd.ecowin.fileupdate": {
+ source: "iana"
+ },
+ "application/vnd.ecowin.series": {
+ source: "iana"
+ },
+ "application/vnd.ecowin.seriesrequest": {
+ source: "iana"
+ },
+ "application/vnd.ecowin.seriesupdate": {
+ source: "iana"
+ },
+ "application/vnd.efi.img": {
+ source: "iana"
+ },
+ "application/vnd.efi.iso": {
+ source: "iana"
+ },
+ "application/vnd.eln+zip": {
+ source: "iana",
+ compressible: false
+ },
+ "application/vnd.emclient.accessrequest+xml": {
+ source: "iana",
+ compressible: true
+ },
+ "application/vnd.enliven": {
+ source: "iana",
+ extensions: ["nml"]
+ },
+ "application/vnd.enphase.envoy": {
+ source: "iana"
+ },
+ "application/vnd.eprints.data+xml": {
+ source: "iana",
+ compressible: true
+ },
+ "application/vnd.epson.esf": {
+ source: "iana",
+ extensions: ["esf"]
+ },
+ "application/vnd.epson.msf": {
+ source: "iana",
+ extensions: ["msf"]
+ },
+ "application/vnd.epson.quickanime": {
+ source: "iana",
+ extensions: ["qam"]
+ },
+ "application/vnd.epson.salt": {
+ source: "iana",
+ extensions: ["slt"]
+ },
+ "application/vnd.epson.ssf": {
+ source: "iana",
+ extensions: ["ssf"]
+ },
+ "application/vnd.ericsson.quickcall": {
+ source: "iana"
+ },
+ "application/vnd.erofs": {
+ source: "iana"
+ },
+ "application/vnd.espass-espass+zip": {
+ source: "iana",
+ compressible: false
+ },
+ "application/vnd.eszigno3+xml": {
+ source: "iana",
+ compressible: true,
+ extensions: ["es3", "et3"]
+ },
+ "application/vnd.etsi.aoc+xml": {
+ source: "iana",
+ compressible: true
+ },
+ "application/vnd.etsi.asic-e+zip": {
+ source: "iana",
+ compressible: false
+ },
+ "application/vnd.etsi.asic-s+zip": {
+ source: "iana",
+ compressible: false
+ },
+ "application/vnd.etsi.cug+xml": {
+ source: "iana",
+ compressible: true
+ },
+ "application/vnd.etsi.iptvcommand+xml": {
+ source: "iana",
+ compressible: true
+ },
+ "application/vnd.etsi.iptvdiscovery+xml": {
+ source: "iana",
+ compressible: true
+ },
+ "application/vnd.etsi.iptvprofile+xml": {
+ source: "iana",
+ compressible: true
+ },
+ "application/vnd.etsi.iptvsad-bc+xml": {
+ source: "iana",
+ compressible: true
+ },
+ "application/vnd.etsi.iptvsad-cod+xml": {
+ source: "iana",
+ compressible: true
+ },
+ "application/vnd.etsi.iptvsad-npvr+xml": {
+ source: "iana",
+ compressible: true
+ },
+ "application/vnd.etsi.iptvservice+xml": {
+ source: "iana",
+ compressible: true
+ },
+ "application/vnd.etsi.iptvsync+xml": {
+ source: "iana",
+ compressible: true
+ },
+ "application/vnd.etsi.iptvueprofile+xml": {
+ source: "iana",
+ compressible: true
+ },
+ "application/vnd.etsi.mcid+xml": {
+ source: "iana",
+ compressible: true
+ },
+ "application/vnd.etsi.mheg5": {
+ source: "iana"
+ },
+ "application/vnd.etsi.overload-control-policy-dataset+xml": {
+ source: "iana",
+ compressible: true
+ },
+ "application/vnd.etsi.pstn+xml": {
+ source: "iana",
+ compressible: true
+ },
+ "application/vnd.etsi.sci+xml": {
+ source: "iana",
+ compressible: true
+ },
+ "application/vnd.etsi.simservs+xml": {
+ source: "iana",
+ compressible: true
+ },
+ "application/vnd.etsi.timestamp-token": {
+ source: "iana"
+ },
+ "application/vnd.etsi.tsl+xml": {
+ source: "iana",
+ compressible: true
+ },
+ "application/vnd.etsi.tsl.der": {
+ source: "iana"
+ },
+ "application/vnd.eu.kasparian.car+json": {
+ source: "iana",
+ compressible: true
+ },
+ "application/vnd.eudora.data": {
+ source: "iana"
+ },
+ "application/vnd.evolv.ecig.profile": {
+ source: "iana"
+ },
+ "application/vnd.evolv.ecig.settings": {
+ source: "iana"
+ },
+ "application/vnd.evolv.ecig.theme": {
+ source: "iana"
+ },
+ "application/vnd.exstream-empower+zip": {
+ source: "iana",
+ compressible: false
+ },
+ "application/vnd.exstream-package": {
+ source: "iana"
+ },
+ "application/vnd.ezpix-album": {
+ source: "iana",
+ extensions: ["ez2"]
+ },
+ "application/vnd.ezpix-package": {
+ source: "iana",
+ extensions: ["ez3"]
+ },
+ "application/vnd.f-secure.mobile": {
+ source: "iana"
+ },
+ "application/vnd.familysearch.gedcom+zip": {
+ source: "iana",
+ compressible: false
+ },
+ "application/vnd.fastcopy-disk-image": {
+ source: "iana"
+ },
+ "application/vnd.fdf": {
+ source: "apache",
+ extensions: ["fdf"]
+ },
+ "application/vnd.fdsn.mseed": {
+ source: "iana",
+ extensions: ["mseed"]
+ },
+ "application/vnd.fdsn.seed": {
+ source: "iana",
+ extensions: ["seed", "dataless"]
+ },
+ "application/vnd.fdsn.stationxml+xml": {
+ source: "iana",
+ charset: "XML-BASED",
+ compressible: true
+ },
+ "application/vnd.ffsns": {
+ source: "iana"
+ },
+ "application/vnd.ficlab.flb+zip": {
+ source: "iana",
+ compressible: false
+ },
+ "application/vnd.filmit.zfc": {
+ source: "iana"
+ },
+ "application/vnd.fints": {
+ source: "iana"
+ },
+ "application/vnd.firemonkeys.cloudcell": {
+ source: "iana"
+ },
+ "application/vnd.flographit": {
+ source: "iana",
+ extensions: ["gph"]
+ },
+ "application/vnd.fluxtime.clip": {
+ source: "iana",
+ extensions: ["ftc"]
+ },
+ "application/vnd.font-fontforge-sfd": {
+ source: "iana"
+ },
+ "application/vnd.framemaker": {
+ source: "iana",
+ extensions: ["fm", "frame", "maker", "book"]
+ },
+ "application/vnd.freelog.comic": {
+ source: "iana"
+ },
+ "application/vnd.frogans.fnc": {
+ source: "apache",
+ extensions: ["fnc"]
+ },
+ "application/vnd.frogans.ltf": {
+ source: "apache",
+ extensions: ["ltf"]
+ },
+ "application/vnd.fsc.weblaunch": {
+ source: "iana",
+ extensions: ["fsc"]
+ },
+ "application/vnd.fujifilm.fb.docuworks": {
+ source: "iana"
+ },
+ "application/vnd.fujifilm.fb.docuworks.binder": {
+ source: "iana"
+ },
+ "application/vnd.fujifilm.fb.docuworks.container": {
+ source: "iana"
+ },
+ "application/vnd.fujifilm.fb.jfi+xml": {
+ source: "iana",
+ compressible: true
+ },
+ "application/vnd.fujitsu.oasys": {
+ source: "iana",
+ extensions: ["oas"]
+ },
+ "application/vnd.fujitsu.oasys2": {
+ source: "iana",
+ extensions: ["oa2"]
+ },
+ "application/vnd.fujitsu.oasys3": {
+ source: "iana",
+ extensions: ["oa3"]
+ },
+ "application/vnd.fujitsu.oasysgp": {
+ source: "iana",
+ extensions: ["fg5"]
+ },
+ "application/vnd.fujitsu.oasysprs": {
+ source: "iana",
+ extensions: ["bh2"]
+ },
+ "application/vnd.fujixerox.art-ex": {
+ source: "iana"
+ },
+ "application/vnd.fujixerox.art4": {
+ source: "iana"
+ },
+ "application/vnd.fujixerox.ddd": {
+ source: "iana",
+ extensions: ["ddd"]
+ },
+ "application/vnd.fujixerox.docuworks": {
+ source: "iana",
+ extensions: ["xdw"]
+ },
+ "application/vnd.fujixerox.docuworks.binder": {
+ source: "iana",
+ extensions: ["xbd"]
+ },
+ "application/vnd.fujixerox.docuworks.container": {
+ source: "iana"
+ },
+ "application/vnd.fujixerox.hbpl": {
+ source: "iana"
+ },
+ "application/vnd.fut-misnet": {
+ source: "iana"
+ },
+ "application/vnd.futoin+cbor": {
+ source: "iana"
+ },
+ "application/vnd.futoin+json": {
+ source: "iana",
+ compressible: true
+ },
+ "application/vnd.fuzzysheet": {
+ source: "iana",
+ extensions: ["fzs"]
+ },
+ "application/vnd.ga4gh.passport+jwt": {
+ source: "iana"
+ },
+ "application/vnd.genomatix.tuxedo": {
+ source: "iana",
+ extensions: ["txd"]
+ },
+ "application/vnd.genozip": {
+ source: "iana"
+ },
+ "application/vnd.gentics.grd+json": {
+ source: "iana",
+ compressible: true
+ },
+ "application/vnd.gentoo.catmetadata+xml": {
+ source: "iana",
+ compressible: true
+ },
+ "application/vnd.gentoo.ebuild": {
+ source: "iana"
+ },
+ "application/vnd.gentoo.eclass": {
+ source: "iana"
+ },
+ "application/vnd.gentoo.gpkg": {
+ source: "iana"
+ },
+ "application/vnd.gentoo.manifest": {
+ source: "iana"
+ },
+ "application/vnd.gentoo.pkgmetadata+xml": {
+ source: "iana",
+ compressible: true
+ },
+ "application/vnd.gentoo.xpak": {
+ source: "iana"
+ },
+ "application/vnd.geo+json": {
+ source: "apache",
+ compressible: true
+ },
+ "application/vnd.geocube+xml": {
+ source: "apache",
+ compressible: true
+ },
+ "application/vnd.geogebra.file": {
+ source: "iana",
+ extensions: ["ggb"]
+ },
+ "application/vnd.geogebra.pinboard": {
+ source: "iana"
+ },
+ "application/vnd.geogebra.slides": {
+ source: "iana",
+ extensions: ["ggs"]
+ },
+ "application/vnd.geogebra.tool": {
+ source: "iana",
+ extensions: ["ggt"]
+ },
+ "application/vnd.geometry-explorer": {
+ source: "iana",
+ extensions: ["gex", "gre"]
+ },
+ "application/vnd.geonext": {
+ source: "iana",
+ extensions: ["gxt"]
+ },
+ "application/vnd.geoplan": {
+ source: "iana",
+ extensions: ["g2w"]
+ },
+ "application/vnd.geospace": {
+ source: "iana",
+ extensions: ["g3w"]
+ },
+ "application/vnd.gerber": {
+ source: "iana"
+ },
+ "application/vnd.globalplatform.card-content-mgt": {
+ source: "iana"
+ },
+ "application/vnd.globalplatform.card-content-mgt-response": {
+ source: "iana"
+ },
+ "application/vnd.gmx": {
+ source: "iana",
+ extensions: ["gmx"]
+ },
+ "application/vnd.gnu.taler.exchange+json": {
+ source: "iana",
+ compressible: true
+ },
+ "application/vnd.gnu.taler.merchant+json": {
+ source: "iana",
+ compressible: true
+ },
+ "application/vnd.google-apps.audio": {},
+ "application/vnd.google-apps.document": {
+ compressible: false,
+ extensions: ["gdoc"]
+ },
+ "application/vnd.google-apps.drawing": {
+ compressible: false,
+ extensions: ["gdraw"]
+ },
+ "application/vnd.google-apps.drive-sdk": {
+ compressible: false
+ },
+ "application/vnd.google-apps.file": {},
+ "application/vnd.google-apps.folder": {
+ compressible: false
+ },
+ "application/vnd.google-apps.form": {
+ compressible: false,
+ extensions: ["gform"]
+ },
+ "application/vnd.google-apps.fusiontable": {},
+ "application/vnd.google-apps.jam": {
+ compressible: false,
+ extensions: ["gjam"]
+ },
+ "application/vnd.google-apps.mail-layout": {},
+ "application/vnd.google-apps.map": {
+ compressible: false,
+ extensions: ["gmap"]
+ },
+ "application/vnd.google-apps.photo": {},
+ "application/vnd.google-apps.presentation": {
+ compressible: false,
+ extensions: ["gslides"]
+ },
+ "application/vnd.google-apps.script": {
+ compressible: false,
+ extensions: ["gscript"]
+ },
+ "application/vnd.google-apps.shortcut": {},
+ "application/vnd.google-apps.site": {
+ compressible: false,
+ extensions: ["gsite"]
+ },
+ "application/vnd.google-apps.spreadsheet": {
+ compressible: false,
+ extensions: ["gsheet"]
+ },
+ "application/vnd.google-apps.unknown": {},
+ "application/vnd.google-apps.video": {},
+ "application/vnd.google-earth.kml+xml": {
+ source: "iana",
+ compressible: true,
+ extensions: ["kml"]
+ },
+ "application/vnd.google-earth.kmz": {
+ source: "iana",
+ compressible: false,
+ extensions: ["kmz"]
+ },
+ "application/vnd.gov.sk.e-form+xml": {
+ source: "apache",
+ compressible: true
+ },
+ "application/vnd.gov.sk.e-form+zip": {
+ source: "iana",
+ compressible: false
+ },
+ "application/vnd.gov.sk.xmldatacontainer+xml": {
+ source: "iana",
+ compressible: true,
+ extensions: ["xdcf"]
+ },
+ "application/vnd.gpxsee.map+xml": {
+ source: "iana",
+ compressible: true
+ },
+ "application/vnd.grafeq": {
+ source: "iana",
+ extensions: ["gqf", "gqs"]
+ },
+ "application/vnd.gridmp": {
+ source: "iana"
+ },
+ "application/vnd.groove-account": {
+ source: "iana",
+ extensions: ["gac"]
+ },
+ "application/vnd.groove-help": {
+ source: "iana",
+ extensions: ["ghf"]
+ },
+ "application/vnd.groove-identity-message": {
+ source: "iana",
+ extensions: ["gim"]
+ },
+ "application/vnd.groove-injector": {
+ source: "iana",
+ extensions: ["grv"]
+ },
+ "application/vnd.groove-tool-message": {
+ source: "iana",
+ extensions: ["gtm"]
+ },
+ "application/vnd.groove-tool-template": {
+ source: "iana",
+ extensions: ["tpl"]
+ },
+ "application/vnd.groove-vcard": {
+ source: "iana",
+ extensions: ["vcg"]
+ },
+ "application/vnd.hal+json": {
+ source: "iana",
+ compressible: true
+ },
+ "application/vnd.hal+xml": {
+ source: "iana",
+ compressible: true,
+ extensions: ["hal"]
+ },
+ "application/vnd.handheld-entertainment+xml": {
+ source: "iana",
+ compressible: true,
+ extensions: ["zmm"]
+ },
+ "application/vnd.hbci": {
+ source: "iana",
+ extensions: ["hbci"]
+ },
+ "application/vnd.hc+json": {
+ source: "iana",
+ compressible: true
+ },
+ "application/vnd.hcl-bireports": {
+ source: "iana"
+ },
+ "application/vnd.hdt": {
+ source: "iana"
+ },
+ "application/vnd.heroku+json": {
+ source: "iana",
+ compressible: true
+ },
+ "application/vnd.hhe.lesson-player": {
+ source: "iana",
+ extensions: ["les"]
+ },
+ "application/vnd.hp-hpgl": {
+ source: "iana",
+ extensions: ["hpgl"]
+ },
+ "application/vnd.hp-hpid": {
+ source: "iana",
+ extensions: ["hpid"]
+ },
+ "application/vnd.hp-hps": {
+ source: "iana",
+ extensions: ["hps"]
+ },
+ "application/vnd.hp-jlyt": {
+ source: "iana",
+ extensions: ["jlt"]
+ },
+ "application/vnd.hp-pcl": {
+ source: "iana",
+ extensions: ["pcl"]
+ },
+ "application/vnd.hp-pclxl": {
+ source: "iana",
+ extensions: ["pclxl"]
+ },
+ "application/vnd.hsl": {
+ source: "iana"
+ },
+ "application/vnd.httphone": {
+ source: "iana"
+ },
+ "application/vnd.hydrostatix.sof-data": {
+ source: "iana",
+ extensions: ["sfd-hdstx"]
+ },
+ "application/vnd.hyper+json": {
+ source: "iana",
+ compressible: true
+ },
+ "application/vnd.hyper-item+json": {
+ source: "iana",
+ compressible: true
+ },
+ "application/vnd.hyperdrive+json": {
+ source: "iana",
+ compressible: true
+ },
+ "application/vnd.hzn-3d-crossword": {
+ source: "iana"
+ },
+ "application/vnd.ibm.afplinedata": {
+ source: "apache"
+ },
+ "application/vnd.ibm.electronic-media": {
+ source: "iana"
+ },
+ "application/vnd.ibm.minipay": {
+ source: "iana",
+ extensions: ["mpy"]
+ },
+ "application/vnd.ibm.modcap": {
+ source: "apache",
+ extensions: ["afp", "listafp", "list3820"]
+ },
+ "application/vnd.ibm.rights-management": {
+ source: "iana",
+ extensions: ["irm"]
+ },
+ "application/vnd.ibm.secure-container": {
+ source: "iana",
+ extensions: ["sc"]
+ },
+ "application/vnd.iccprofile": {
+ source: "iana",
+ extensions: ["icc", "icm"]
+ },
+ "application/vnd.ieee.1905": {
+ source: "iana"
+ },
+ "application/vnd.igloader": {
+ source: "iana",
+ extensions: ["igl"]
+ },
+ "application/vnd.imagemeter.folder+zip": {
+ source: "iana",
+ compressible: false
+ },
+ "application/vnd.imagemeter.image+zip": {
+ source: "iana",
+ compressible: false
+ },
+ "application/vnd.immervision-ivp": {
+ source: "iana",
+ extensions: ["ivp"]
+ },
+ "application/vnd.immervision-ivu": {
+ source: "iana",
+ extensions: ["ivu"]
+ },
+ "application/vnd.ims.imsccv1p1": {
+ source: "iana"
+ },
+ "application/vnd.ims.imsccv1p2": {
+ source: "iana"
+ },
+ "application/vnd.ims.imsccv1p3": {
+ source: "iana"
+ },
+ "application/vnd.ims.lis.v2.result+json": {
+ source: "iana",
+ compressible: true
+ },
+ "application/vnd.ims.lti.v2.toolconsumerprofile+json": {
+ source: "iana",
+ compressible: true
+ },
+ "application/vnd.ims.lti.v2.toolproxy+json": {
+ source: "iana",
+ compressible: true
+ },
+ "application/vnd.ims.lti.v2.toolproxy.id+json": {
+ source: "iana",
+ compressible: true
+ },
+ "application/vnd.ims.lti.v2.toolsettings+json": {
+ source: "iana",
+ compressible: true
+ },
+ "application/vnd.ims.lti.v2.toolsettings.simple+json": {
+ source: "iana",
+ compressible: true
+ },
+ "application/vnd.informedcontrol.rms+xml": {
+ source: "iana",
+ compressible: true
+ },
+ "application/vnd.informix-visionary": {
+ source: "apache"
+ },
+ "application/vnd.infotech.project": {
+ source: "iana"
+ },
+ "application/vnd.infotech.project+xml": {
+ source: "iana",
+ compressible: true
+ },
+ "application/vnd.innopath.wamp.notification": {
+ source: "iana"
+ },
+ "application/vnd.insors.igm": {
+ source: "iana",
+ extensions: ["igm"]
+ },
+ "application/vnd.intercon.formnet": {
+ source: "iana",
+ extensions: ["xpw", "xpx"]
+ },
+ "application/vnd.intergeo": {
+ source: "iana",
+ extensions: ["i2g"]
+ },
+ "application/vnd.intertrust.digibox": {
+ source: "iana"
+ },
+ "application/vnd.intertrust.nncp": {
+ source: "iana"
+ },
+ "application/vnd.intu.qbo": {
+ source: "iana",
+ extensions: ["qbo"]
+ },
+ "application/vnd.intu.qfx": {
+ source: "iana",
+ extensions: ["qfx"]
+ },
+ "application/vnd.ipfs.ipns-record": {
+ source: "iana"
+ },
+ "application/vnd.ipld.car": {
+ source: "iana"
+ },
+ "application/vnd.ipld.dag-cbor": {
+ source: "iana"
+ },
+ "application/vnd.ipld.dag-json": {
+ source: "iana"
+ },
+ "application/vnd.ipld.raw": {
+ source: "iana"
+ },
+ "application/vnd.iptc.g2.catalogitem+xml": {
+ source: "iana",
+ compressible: true
+ },
+ "application/vnd.iptc.g2.conceptitem+xml": {
+ source: "iana",
+ compressible: true
+ },
+ "application/vnd.iptc.g2.knowledgeitem+xml": {
+ source: "iana",
+ compressible: true
+ },
+ "application/vnd.iptc.g2.newsitem+xml": {
+ source: "iana",
+ compressible: true
+ },
+ "application/vnd.iptc.g2.newsmessage+xml": {
+ source: "iana",
+ compressible: true
+ },
+ "application/vnd.iptc.g2.packageitem+xml": {
+ source: "iana",
+ compressible: true
+ },
+ "application/vnd.iptc.g2.planningitem+xml": {
+ source: "iana",
+ compressible: true
+ },
+ "application/vnd.ipunplugged.rcprofile": {
+ source: "iana",
+ extensions: ["rcprofile"]
+ },
+ "application/vnd.irepository.package+xml": {
+ source: "iana",
+ compressible: true,
+ extensions: ["irp"]
+ },
+ "application/vnd.is-xpr": {
+ source: "iana",
+ extensions: ["xpr"]
+ },
+ "application/vnd.isac.fcs": {
+ source: "iana",
+ extensions: ["fcs"]
+ },
+ "application/vnd.iso11783-10+zip": {
+ source: "iana",
+ compressible: false
+ },
+ "application/vnd.jam": {
+ source: "iana",
+ extensions: ["jam"]
+ },
+ "application/vnd.japannet-directory-service": {
+ source: "iana"
+ },
+ "application/vnd.japannet-jpnstore-wakeup": {
+ source: "iana"
+ },
+ "application/vnd.japannet-payment-wakeup": {
+ source: "iana"
+ },
+ "application/vnd.japannet-registration": {
+ source: "iana"
+ },
+ "application/vnd.japannet-registration-wakeup": {
+ source: "iana"
+ },
+ "application/vnd.japannet-setstore-wakeup": {
+ source: "iana"
+ },
+ "application/vnd.japannet-verification": {
+ source: "iana"
+ },
+ "application/vnd.japannet-verification-wakeup": {
+ source: "iana"
+ },
+ "application/vnd.jcp.javame.midlet-rms": {
+ source: "iana",
+ extensions: ["rms"]
+ },
+ "application/vnd.jisp": {
+ source: "iana",
+ extensions: ["jisp"]
+ },
+ "application/vnd.joost.joda-archive": {
+ source: "iana",
+ extensions: ["joda"]
+ },
+ "application/vnd.jsk.isdn-ngn": {
+ source: "iana"
+ },
+ "application/vnd.kahootz": {
+ source: "iana",
+ extensions: ["ktz", "ktr"]
+ },
+ "application/vnd.kde.karbon": {
+ source: "iana",
+ extensions: ["karbon"]
+ },
+ "application/vnd.kde.kchart": {
+ source: "iana",
+ extensions: ["chrt"]
+ },
+ "application/vnd.kde.kformula": {
+ source: "iana",
+ extensions: ["kfo"]
+ },
+ "application/vnd.kde.kivio": {
+ source: "iana",
+ extensions: ["flw"]
+ },
+ "application/vnd.kde.kontour": {
+ source: "iana",
+ extensions: ["kon"]
+ },
+ "application/vnd.kde.kpresenter": {
+ source: "iana",
+ extensions: ["kpr", "kpt"]
+ },
+ "application/vnd.kde.kspread": {
+ source: "iana",
+ extensions: ["ksp"]
+ },
+ "application/vnd.kde.kword": {
+ source: "iana",
+ extensions: ["kwd", "kwt"]
+ },
+ "application/vnd.kdl": {
+ source: "iana"
+ },
+ "application/vnd.kenameaapp": {
+ source: "iana",
+ extensions: ["htke"]
+ },
+ "application/vnd.keyman.kmp+zip": {
+ source: "iana",
+ compressible: false
+ },
+ "application/vnd.keyman.kmx": {
+ source: "iana"
+ },
+ "application/vnd.kidspiration": {
+ source: "iana",
+ extensions: ["kia"]
+ },
+ "application/vnd.kinar": {
+ source: "iana",
+ extensions: ["kne", "knp"]
+ },
+ "application/vnd.koan": {
+ source: "iana",
+ extensions: ["skp", "skd", "skt", "skm"]
+ },
+ "application/vnd.kodak-descriptor": {
+ source: "iana",
+ extensions: ["sse"]
+ },
+ "application/vnd.las": {
+ source: "iana"
+ },
+ "application/vnd.las.las+json": {
+ source: "iana",
+ compressible: true
+ },
+ "application/vnd.las.las+xml": {
+ source: "iana",
+ compressible: true,
+ extensions: ["lasxml"]
+ },
+ "application/vnd.laszip": {
+ source: "iana"
+ },
+ "application/vnd.ldev.productlicensing": {
+ source: "iana"
+ },
+ "application/vnd.leap+json": {
+ source: "iana",
+ compressible: true
+ },
+ "application/vnd.liberty-request+xml": {
+ source: "iana",
+ compressible: true
+ },
+ "application/vnd.llamagraphics.life-balance.desktop": {
+ source: "iana",
+ extensions: ["lbd"]
+ },
+ "application/vnd.llamagraphics.life-balance.exchange+xml": {
+ source: "iana",
+ compressible: true,
+ extensions: ["lbe"]
+ },
+ "application/vnd.logipipe.circuit+zip": {
+ source: "iana",
+ compressible: false
+ },
+ "application/vnd.loom": {
+ source: "iana"
+ },
+ "application/vnd.lotus-1-2-3": {
+ source: "iana",
+ extensions: ["123"]
+ },
+ "application/vnd.lotus-approach": {
+ source: "iana",
+ extensions: ["apr"]
+ },
+ "application/vnd.lotus-freelance": {
+ source: "iana",
+ extensions: ["pre"]
+ },
+ "application/vnd.lotus-notes": {
+ source: "iana",
+ extensions: ["nsf"]
+ },
+ "application/vnd.lotus-organizer": {
+ source: "iana",
+ extensions: ["org"]
+ },
+ "application/vnd.lotus-screencam": {
+ source: "iana",
+ extensions: ["scm"]
+ },
+ "application/vnd.lotus-wordpro": {
+ source: "iana",
+ extensions: ["lwp"]
+ },
+ "application/vnd.macports.portpkg": {
+ source: "iana",
+ extensions: ["portpkg"]
+ },
+ "application/vnd.mapbox-vector-tile": {
+ source: "iana",
+ extensions: ["mvt"]
+ },
+ "application/vnd.marlin.drm.actiontoken+xml": {
+ source: "iana",
+ compressible: true
+ },
+ "application/vnd.marlin.drm.conftoken+xml": {
+ source: "iana",
+ compressible: true
+ },
+ "application/vnd.marlin.drm.license+xml": {
+ source: "iana",
+ compressible: true
+ },
+ "application/vnd.marlin.drm.mdcf": {
+ source: "iana"
+ },
+ "application/vnd.mason+json": {
+ source: "iana",
+ compressible: true
+ },
+ "application/vnd.maxar.archive.3tz+zip": {
+ source: "iana",
+ compressible: false
+ },
+ "application/vnd.maxmind.maxmind-db": {
+ source: "iana"
+ },
+ "application/vnd.mcd": {
+ source: "iana",
+ extensions: ["mcd"]
+ },
+ "application/vnd.mdl": {
+ source: "iana"
+ },
+ "application/vnd.mdl-mbsdf": {
+ source: "iana"
+ },
+ "application/vnd.medcalcdata": {
+ source: "iana",
+ extensions: ["mc1"]
+ },
+ "application/vnd.mediastation.cdkey": {
+ source: "iana",
+ extensions: ["cdkey"]
+ },
+ "application/vnd.medicalholodeck.recordxr": {
+ source: "iana"
+ },
+ "application/vnd.meridian-slingshot": {
+ source: "iana"
+ },
+ "application/vnd.mermaid": {
+ source: "iana"
+ },
+ "application/vnd.mfer": {
+ source: "iana",
+ extensions: ["mwf"]
+ },
+ "application/vnd.mfmp": {
+ source: "iana",
+ extensions: ["mfm"]
+ },
+ "application/vnd.micro+json": {
+ source: "iana",
+ compressible: true
+ },
+ "application/vnd.micrografx.flo": {
+ source: "iana",
+ extensions: ["flo"]
+ },
+ "application/vnd.micrografx.igx": {
+ source: "iana",
+ extensions: ["igx"]
+ },
+ "application/vnd.microsoft.portable-executable": {
+ source: "iana"
+ },
+ "application/vnd.microsoft.windows.thumbnail-cache": {
+ source: "iana"
+ },
+ "application/vnd.miele+json": {
+ source: "iana",
+ compressible: true
+ },
+ "application/vnd.mif": {
+ source: "iana",
+ extensions: ["mif"]
+ },
+ "application/vnd.minisoft-hp3000-save": {
+ source: "iana"
+ },
+ "application/vnd.mitsubishi.misty-guard.trustweb": {
+ source: "iana"
+ },
+ "application/vnd.mobius.daf": {
+ source: "iana",
+ extensions: ["daf"]
+ },
+ "application/vnd.mobius.dis": {
+ source: "iana",
+ extensions: ["dis"]
+ },
+ "application/vnd.mobius.mbk": {
+ source: "iana",
+ extensions: ["mbk"]
+ },
+ "application/vnd.mobius.mqy": {
+ source: "iana",
+ extensions: ["mqy"]
+ },
+ "application/vnd.mobius.msl": {
+ source: "iana",
+ extensions: ["msl"]
+ },
+ "application/vnd.mobius.plc": {
+ source: "iana",
+ extensions: ["plc"]
+ },
+ "application/vnd.mobius.txf": {
+ source: "iana",
+ extensions: ["txf"]
+ },
+ "application/vnd.modl": {
+ source: "iana"
+ },
+ "application/vnd.mophun.application": {
+ source: "iana",
+ extensions: ["mpn"]
+ },
+ "application/vnd.mophun.certificate": {
+ source: "iana",
+ extensions: ["mpc"]
+ },
+ "application/vnd.motorola.flexsuite": {
+ source: "iana"
+ },
+ "application/vnd.motorola.flexsuite.adsi": {
+ source: "iana"
+ },
+ "application/vnd.motorola.flexsuite.fis": {
+ source: "iana"
+ },
+ "application/vnd.motorola.flexsuite.gotap": {
+ source: "iana"
+ },
+ "application/vnd.motorola.flexsuite.kmr": {
+ source: "iana"
+ },
+ "application/vnd.motorola.flexsuite.ttc": {
+ source: "iana"
+ },
+ "application/vnd.motorola.flexsuite.wem": {
+ source: "iana"
+ },
+ "application/vnd.motorola.iprm": {
+ source: "iana"
+ },
+ "application/vnd.mozilla.xul+xml": {
+ source: "iana",
+ compressible: true,
+ extensions: ["xul"]
+ },
+ "application/vnd.ms-3mfdocument": {
+ source: "iana"
+ },
+ "application/vnd.ms-artgalry": {
+ source: "iana",
+ extensions: ["cil"]
+ },
+ "application/vnd.ms-asf": {
+ source: "iana"
+ },
+ "application/vnd.ms-cab-compressed": {
+ source: "iana",
+ extensions: ["cab"]
+ },
+ "application/vnd.ms-color.iccprofile": {
+ source: "apache"
+ },
+ "application/vnd.ms-excel": {
+ source: "iana",
+ compressible: false,
+ extensions: ["xls", "xlm", "xla", "xlc", "xlt", "xlw"]
+ },
+ "application/vnd.ms-excel.addin.macroenabled.12": {
+ source: "iana",
+ extensions: ["xlam"]
+ },
+ "application/vnd.ms-excel.sheet.binary.macroenabled.12": {
+ source: "iana",
+ extensions: ["xlsb"]
+ },
+ "application/vnd.ms-excel.sheet.macroenabled.12": {
+ source: "iana",
+ extensions: ["xlsm"]
+ },
+ "application/vnd.ms-excel.template.macroenabled.12": {
+ source: "iana",
+ extensions: ["xltm"]
+ },
+ "application/vnd.ms-fontobject": {
+ source: "iana",
+ compressible: true,
+ extensions: ["eot"]
+ },
+ "application/vnd.ms-htmlhelp": {
+ source: "iana",
+ extensions: ["chm"]
+ },
+ "application/vnd.ms-ims": {
+ source: "iana",
+ extensions: ["ims"]
+ },
+ "application/vnd.ms-lrm": {
+ source: "iana",
+ extensions: ["lrm"]
+ },
+ "application/vnd.ms-office.activex+xml": {
+ source: "iana",
+ compressible: true
+ },
+ "application/vnd.ms-officetheme": {
+ source: "iana",
+ extensions: ["thmx"]
+ },
+ "application/vnd.ms-opentype": {
+ source: "apache",
+ compressible: true
+ },
+ "application/vnd.ms-outlook": {
+ compressible: false,
+ extensions: ["msg"]
+ },
+ "application/vnd.ms-package.obfuscated-opentype": {
+ source: "apache"
+ },
+ "application/vnd.ms-pki.seccat": {
+ source: "apache",
+ extensions: ["cat"]
+ },
+ "application/vnd.ms-pki.stl": {
+ source: "apache",
+ extensions: ["stl"]
+ },
+ "application/vnd.ms-playready.initiator+xml": {
+ source: "iana",
+ compressible: true
+ },
+ "application/vnd.ms-powerpoint": {
+ source: "iana",
+ compressible: false,
+ extensions: ["ppt", "pps", "pot"]
+ },
+ "application/vnd.ms-powerpoint.addin.macroenabled.12": {
+ source: "iana",
+ extensions: ["ppam"]
+ },
+ "application/vnd.ms-powerpoint.presentation.macroenabled.12": {
+ source: "iana",
+ extensions: ["pptm"]
+ },
+ "application/vnd.ms-powerpoint.slide.macroenabled.12": {
+ source: "iana",
+ extensions: ["sldm"]
+ },
+ "application/vnd.ms-powerpoint.slideshow.macroenabled.12": {
+ source: "iana",
+ extensions: ["ppsm"]
+ },
+ "application/vnd.ms-powerpoint.template.macroenabled.12": {
+ source: "iana",
+ extensions: ["potm"]
+ },
+ "application/vnd.ms-printdevicecapabilities+xml": {
+ source: "iana",
+ compressible: true
+ },
+ "application/vnd.ms-printing.printticket+xml": {
+ source: "apache",
+ compressible: true
+ },
+ "application/vnd.ms-printschematicket+xml": {
+ source: "iana",
+ compressible: true
+ },
+ "application/vnd.ms-project": {
+ source: "iana",
+ extensions: ["mpp", "mpt"]
+ },
+ "application/vnd.ms-tnef": {
+ source: "iana"
+ },
+ "application/vnd.ms-visio.viewer": {
+ extensions: ["vdx"]
+ },
+ "application/vnd.ms-windows.devicepairing": {
+ source: "iana"
+ },
+ "application/vnd.ms-windows.nwprinting.oob": {
+ source: "iana"
+ },
+ "application/vnd.ms-windows.printerpairing": {
+ source: "iana"
+ },
+ "application/vnd.ms-windows.wsd.oob": {
+ source: "iana"
+ },
+ "application/vnd.ms-wmdrm.lic-chlg-req": {
+ source: "iana"
+ },
+ "application/vnd.ms-wmdrm.lic-resp": {
+ source: "iana"
+ },
+ "application/vnd.ms-wmdrm.meter-chlg-req": {
+ source: "iana"
+ },
+ "application/vnd.ms-wmdrm.meter-resp": {
+ source: "iana"
+ },
+ "application/vnd.ms-word.document.macroenabled.12": {
+ source: "iana",
+ extensions: ["docm"]
+ },
+ "application/vnd.ms-word.template.macroenabled.12": {
+ source: "iana",
+ extensions: ["dotm"]
+ },
+ "application/vnd.ms-works": {
+ source: "iana",
+ extensions: ["wps", "wks", "wcm", "wdb"]
+ },
+ "application/vnd.ms-wpl": {
+ source: "iana",
+ extensions: ["wpl"]
+ },
+ "application/vnd.ms-xpsdocument": {
+ source: "iana",
+ compressible: false,
+ extensions: ["xps"]
+ },
+ "application/vnd.msa-disk-image": {
+ source: "iana"
+ },
+ "application/vnd.mseq": {
+ source: "iana",
+ extensions: ["mseq"]
+ },
+ "application/vnd.msgpack": {
+ source: "iana"
+ },
+ "application/vnd.msign": {
+ source: "iana"
+ },
+ "application/vnd.multiad.creator": {
+ source: "iana"
+ },
+ "application/vnd.multiad.creator.cif": {
+ source: "iana"
+ },
+ "application/vnd.music-niff": {
+ source: "iana"
+ },
+ "application/vnd.musician": {
+ source: "iana",
+ extensions: ["mus"]
+ },
+ "application/vnd.muvee.style": {
+ source: "iana",
+ extensions: ["msty"]
+ },
+ "application/vnd.mynfc": {
+ source: "iana",
+ extensions: ["taglet"]
+ },
+ "application/vnd.nacamar.ybrid+json": {
+ source: "iana",
+ compressible: true
+ },
+ "application/vnd.nato.bindingdataobject+cbor": {
+ source: "iana"
+ },
+ "application/vnd.nato.bindingdataobject+json": {
+ source: "iana",
+ compressible: true
+ },
+ "application/vnd.nato.bindingdataobject+xml": {
+ source: "iana",
+ compressible: true,
+ extensions: ["bdo"]
+ },
+ "application/vnd.nato.openxmlformats-package.iepd+zip": {
+ source: "iana",
+ compressible: false
+ },
+ "application/vnd.ncd.control": {
+ source: "iana"
+ },
+ "application/vnd.ncd.reference": {
+ source: "iana"
+ },
+ "application/vnd.nearst.inv+json": {
+ source: "iana",
+ compressible: true
+ },
+ "application/vnd.nebumind.line": {
+ source: "iana"
+ },
+ "application/vnd.nervana": {
+ source: "iana"
+ },
+ "application/vnd.netfpx": {
+ source: "iana"
+ },
+ "application/vnd.neurolanguage.nlu": {
+ source: "iana",
+ extensions: ["nlu"]
+ },
+ "application/vnd.nimn": {
+ source: "iana"
+ },
+ "application/vnd.nintendo.nitro.rom": {
+ source: "iana"
+ },
+ "application/vnd.nintendo.snes.rom": {
+ source: "iana"
+ },
+ "application/vnd.nitf": {
+ source: "iana",
+ extensions: ["ntf", "nitf"]
+ },
+ "application/vnd.noblenet-directory": {
+ source: "iana",
+ extensions: ["nnd"]
+ },
+ "application/vnd.noblenet-sealer": {
+ source: "iana",
+ extensions: ["nns"]
+ },
+ "application/vnd.noblenet-web": {
+ source: "iana",
+ extensions: ["nnw"]
+ },
+ "application/vnd.nokia.catalogs": {
+ source: "iana"
+ },
+ "application/vnd.nokia.conml+wbxml": {
+ source: "iana"
+ },
+ "application/vnd.nokia.conml+xml": {
+ source: "iana",
+ compressible: true
+ },
+ "application/vnd.nokia.iptv.config+xml": {
+ source: "iana",
+ compressible: true
+ },
+ "application/vnd.nokia.isds-radio-presets": {
+ source: "iana"
+ },
+ "application/vnd.nokia.landmark+wbxml": {
+ source: "iana"
+ },
+ "application/vnd.nokia.landmark+xml": {
+ source: "iana",
+ compressible: true
+ },
+ "application/vnd.nokia.landmarkcollection+xml": {
+ source: "iana",
+ compressible: true
+ },
+ "application/vnd.nokia.n-gage.ac+xml": {
+ source: "iana",
+ compressible: true,
+ extensions: ["ac"]
+ },
+ "application/vnd.nokia.n-gage.data": {
+ source: "iana",
+ extensions: ["ngdat"]
+ },
+ "application/vnd.nokia.n-gage.symbian.install": {
+ source: "apache",
+ extensions: ["n-gage"]
+ },
+ "application/vnd.nokia.ncd": {
+ source: "iana"
+ },
+ "application/vnd.nokia.pcd+wbxml": {
+ source: "iana"
+ },
+ "application/vnd.nokia.pcd+xml": {
+ source: "iana",
+ compressible: true
+ },
+ "application/vnd.nokia.radio-preset": {
+ source: "iana",
+ extensions: ["rpst"]
+ },
+ "application/vnd.nokia.radio-presets": {
+ source: "iana",
+ extensions: ["rpss"]
+ },
+ "application/vnd.novadigm.edm": {
+ source: "iana",
+ extensions: ["edm"]
+ },
+ "application/vnd.novadigm.edx": {
+ source: "iana",
+ extensions: ["edx"]
+ },
+ "application/vnd.novadigm.ext": {
+ source: "iana",
+ extensions: ["ext"]
+ },
+ "application/vnd.ntt-local.content-share": {
+ source: "iana"
+ },
+ "application/vnd.ntt-local.file-transfer": {
+ source: "iana"
+ },
+ "application/vnd.ntt-local.ogw_remote-access": {
+ source: "iana"
+ },
+ "application/vnd.ntt-local.sip-ta_remote": {
+ source: "iana"
+ },
+ "application/vnd.ntt-local.sip-ta_tcp_stream": {
+ source: "iana"
+ },
+ "application/vnd.oai.workflows": {
+ source: "iana"
+ },
+ "application/vnd.oai.workflows+json": {
+ source: "iana",
+ compressible: true
+ },
+ "application/vnd.oai.workflows+yaml": {
+ source: "iana"
+ },
+ "application/vnd.oasis.opendocument.base": {
+ source: "iana"
+ },
+ "application/vnd.oasis.opendocument.chart": {
+ source: "iana",
+ extensions: ["odc"]
+ },
+ "application/vnd.oasis.opendocument.chart-template": {
+ source: "iana",
+ extensions: ["otc"]
+ },
+ "application/vnd.oasis.opendocument.database": {
+ source: "apache",
+ extensions: ["odb"]
+ },
+ "application/vnd.oasis.opendocument.formula": {
+ source: "iana",
+ extensions: ["odf"]
+ },
+ "application/vnd.oasis.opendocument.formula-template": {
+ source: "iana",
+ extensions: ["odft"]
+ },
+ "application/vnd.oasis.opendocument.graphics": {
+ source: "iana",
+ compressible: false,
+ extensions: ["odg"]
+ },
+ "application/vnd.oasis.opendocument.graphics-template": {
+ source: "iana",
+ extensions: ["otg"]
+ },
+ "application/vnd.oasis.opendocument.image": {
+ source: "iana",
+ extensions: ["odi"]
+ },
+ "application/vnd.oasis.opendocument.image-template": {
+ source: "iana",
+ extensions: ["oti"]
+ },
+ "application/vnd.oasis.opendocument.presentation": {
+ source: "iana",
+ compressible: false,
+ extensions: ["odp"]
+ },
+ "application/vnd.oasis.opendocument.presentation-template": {
+ source: "iana",
+ extensions: ["otp"]
+ },
+ "application/vnd.oasis.opendocument.spreadsheet": {
+ source: "iana",
+ compressible: false,
+ extensions: ["ods"]
+ },
+ "application/vnd.oasis.opendocument.spreadsheet-template": {
+ source: "iana",
+ extensions: ["ots"]
+ },
+ "application/vnd.oasis.opendocument.text": {
+ source: "iana",
+ compressible: false,
+ extensions: ["odt"]
+ },
+ "application/vnd.oasis.opendocument.text-master": {
+ source: "iana",
+ extensions: ["odm"]
+ },
+ "application/vnd.oasis.opendocument.text-master-template": {
+ source: "iana"
+ },
+ "application/vnd.oasis.opendocument.text-template": {
+ source: "iana",
+ extensions: ["ott"]
+ },
+ "application/vnd.oasis.opendocument.text-web": {
+ source: "iana",
+ extensions: ["oth"]
+ },
+ "application/vnd.obn": {
+ source: "iana"
+ },
+ "application/vnd.ocf+cbor": {
+ source: "iana"
+ },
+ "application/vnd.oci.image.manifest.v1+json": {
+ source: "iana",
+ compressible: true
+ },
+ "application/vnd.oftn.l10n+json": {
+ source: "iana",
+ compressible: true
+ },
+ "application/vnd.oipf.contentaccessdownload+xml": {
+ source: "iana",
+ compressible: true
+ },
+ "application/vnd.oipf.contentaccessstreaming+xml": {
+ source: "iana",
+ compressible: true
+ },
+ "application/vnd.oipf.cspg-hexbinary": {
+ source: "iana"
+ },
+ "application/vnd.oipf.dae.svg+xml": {
+ source: "iana",
+ compressible: true
+ },
+ "application/vnd.oipf.dae.xhtml+xml": {
+ source: "iana",
+ compressible: true
+ },
+ "application/vnd.oipf.mippvcontrolmessage+xml": {
+ source: "iana",
+ compressible: true
+ },
+ "application/vnd.oipf.pae.gem": {
+ source: "iana"
+ },
+ "application/vnd.oipf.spdiscovery+xml": {
+ source: "iana",
+ compressible: true
+ },
+ "application/vnd.oipf.spdlist+xml": {
+ source: "iana",
+ compressible: true
+ },
+ "application/vnd.oipf.ueprofile+xml": {
+ source: "iana",
+ compressible: true
+ },
+ "application/vnd.oipf.userprofile+xml": {
+ source: "iana",
+ compressible: true
+ },
+ "application/vnd.olpc-sugar": {
+ source: "iana",
+ extensions: ["xo"]
+ },
+ "application/vnd.oma-scws-config": {
+ source: "iana"
+ },
+ "application/vnd.oma-scws-http-request": {
+ source: "iana"
+ },
+ "application/vnd.oma-scws-http-response": {
+ source: "iana"
+ },
+ "application/vnd.oma.bcast.associated-procedure-parameter+xml": {
+ source: "iana",
+ compressible: true
+ },
+ "application/vnd.oma.bcast.drm-trigger+xml": {
+ source: "apache",
+ compressible: true
+ },
+ "application/vnd.oma.bcast.imd+xml": {
+ source: "iana",
+ compressible: true
+ },
+ "application/vnd.oma.bcast.ltkm": {
+ source: "iana"
+ },
+ "application/vnd.oma.bcast.notification+xml": {
+ source: "iana",
+ compressible: true
+ },
+ "application/vnd.oma.bcast.provisioningtrigger": {
+ source: "iana"
+ },
+ "application/vnd.oma.bcast.sgboot": {
+ source: "iana"
+ },
+ "application/vnd.oma.bcast.sgdd+xml": {
+ source: "iana",
+ compressible: true
+ },
+ "application/vnd.oma.bcast.sgdu": {
+ source: "iana"
+ },
+ "application/vnd.oma.bcast.simple-symbol-container": {
+ source: "iana"
+ },
+ "application/vnd.oma.bcast.smartcard-trigger+xml": {
+ source: "apache",
+ compressible: true
+ },
+ "application/vnd.oma.bcast.sprov+xml": {
+ source: "iana",
+ compressible: true
+ },
+ "application/vnd.oma.bcast.stkm": {
+ source: "iana"
+ },
+ "application/vnd.oma.cab-address-book+xml": {
+ source: "iana",
+ compressible: true
+ },
+ "application/vnd.oma.cab-feature-handler+xml": {
+ source: "iana",
+ compressible: true
+ },
+ "application/vnd.oma.cab-pcc+xml": {
+ source: "iana",
+ compressible: true
+ },
+ "application/vnd.oma.cab-subs-invite+xml": {
+ source: "iana",
+ compressible: true
+ },
+ "application/vnd.oma.cab-user-prefs+xml": {
+ source: "iana",
+ compressible: true
+ },
+ "application/vnd.oma.dcd": {
+ source: "iana"
+ },
+ "application/vnd.oma.dcdc": {
+ source: "iana"
+ },
+ "application/vnd.oma.dd2+xml": {
+ source: "iana",
+ compressible: true,
+ extensions: ["dd2"]
+ },
+ "application/vnd.oma.drm.risd+xml": {
+ source: "iana",
+ compressible: true
+ },
+ "application/vnd.oma.group-usage-list+xml": {
+ source: "iana",
+ compressible: true
+ },
+ "application/vnd.oma.lwm2m+cbor": {
+ source: "iana"
+ },
+ "application/vnd.oma.lwm2m+json": {
+ source: "iana",
+ compressible: true
+ },
+ "application/vnd.oma.lwm2m+tlv": {
+ source: "iana"
+ },
+ "application/vnd.oma.pal+xml": {
+ source: "iana",
+ compressible: true
+ },
+ "application/vnd.oma.poc.detailed-progress-report+xml": {
+ source: "iana",
+ compressible: true
+ },
+ "application/vnd.oma.poc.final-report+xml": {
+ source: "iana",
+ compressible: true
+ },
+ "application/vnd.oma.poc.groups+xml": {
+ source: "iana",
+ compressible: true
+ },
+ "application/vnd.oma.poc.invocation-descriptor+xml": {
+ source: "iana",
+ compressible: true
+ },
+ "application/vnd.oma.poc.optimized-progress-report+xml": {
+ source: "iana",
+ compressible: true
+ },
+ "application/vnd.oma.push": {
+ source: "iana"
+ },
+ "application/vnd.oma.scidm.messages+xml": {
+ source: "iana",
+ compressible: true
+ },
+ "application/vnd.oma.xcap-directory+xml": {
+ source: "iana",
+ compressible: true
+ },
+ "application/vnd.omads-email+xml": {
+ source: "iana",
+ charset: "UTF-8",
+ compressible: true
+ },
+ "application/vnd.omads-file+xml": {
+ source: "iana",
+ charset: "UTF-8",
+ compressible: true
+ },
+ "application/vnd.omads-folder+xml": {
+ source: "iana",
+ charset: "UTF-8",
+ compressible: true
+ },
+ "application/vnd.omaloc-supl-init": {
+ source: "iana"
+ },
+ "application/vnd.onepager": {
+ source: "iana"
+ },
+ "application/vnd.onepagertamp": {
+ source: "iana"
+ },
+ "application/vnd.onepagertamx": {
+ source: "iana"
+ },
+ "application/vnd.onepagertat": {
+ source: "iana"
+ },
+ "application/vnd.onepagertatp": {
+ source: "iana"
+ },
+ "application/vnd.onepagertatx": {
+ source: "iana"
+ },
+ "application/vnd.onvif.metadata": {
+ source: "iana"
+ },
+ "application/vnd.openblox.game+xml": {
+ source: "iana",
+ compressible: true,
+ extensions: ["obgx"]
+ },
+ "application/vnd.openblox.game-binary": {
+ source: "iana"
+ },
+ "application/vnd.openeye.oeb": {
+ source: "iana"
+ },
+ "application/vnd.openofficeorg.extension": {
+ source: "apache",
+ extensions: ["oxt"]
+ },
+ "application/vnd.openstreetmap.data+xml": {
+ source: "iana",
+ compressible: true,
+ extensions: ["osm"]
+ },
+ "application/vnd.opentimestamps.ots": {
+ source: "iana"
+ },
+ "application/vnd.openvpi.dspx+json": {
+ source: "iana",
+ compressible: true
+ },
+ "application/vnd.openxmlformats-officedocument.custom-properties+xml": {
+ source: "iana",
+ compressible: true
+ },
+ "application/vnd.openxmlformats-officedocument.customxmlproperties+xml": {
+ source: "iana",
+ compressible: true
+ },
+ "application/vnd.openxmlformats-officedocument.drawing+xml": {
+ source: "iana",
+ compressible: true
+ },
+ "application/vnd.openxmlformats-officedocument.drawingml.chart+xml": {
+ source: "iana",
+ compressible: true
+ },
+ "application/vnd.openxmlformats-officedocument.drawingml.chartshapes+xml": {
+ source: "iana",
+ compressible: true
+ },
+ "application/vnd.openxmlformats-officedocument.drawingml.diagramcolors+xml": {
+ source: "iana",
+ compressible: true
+ },
+ "application/vnd.openxmlformats-officedocument.drawingml.diagramdata+xml": {
+ source: "iana",
+ compressible: true
+ },
+ "application/vnd.openxmlformats-officedocument.drawingml.diagramlayout+xml": {
+ source: "iana",
+ compressible: true
+ },
+ "application/vnd.openxmlformats-officedocument.drawingml.diagramstyle+xml": {
+ source: "iana",
+ compressible: true
+ },
+ "application/vnd.openxmlformats-officedocument.extended-properties+xml": {
+ source: "iana",
+ compressible: true
+ },
+ "application/vnd.openxmlformats-officedocument.presentationml.commentauthors+xml": {
+ source: "iana",
+ compressible: true
+ },
+ "application/vnd.openxmlformats-officedocument.presentationml.comments+xml": {
+ source: "iana",
+ compressible: true
+ },
+ "application/vnd.openxmlformats-officedocument.presentationml.handoutmaster+xml": {
+ source: "iana",
+ compressible: true
+ },
+ "application/vnd.openxmlformats-officedocument.presentationml.notesmaster+xml": {
+ source: "iana",
+ compressible: true
+ },
+ "application/vnd.openxmlformats-officedocument.presentationml.notesslide+xml": {
+ source: "iana",
+ compressible: true
+ },
+ "application/vnd.openxmlformats-officedocument.presentationml.presentation": {
+ source: "iana",
+ compressible: false,
+ extensions: ["pptx"]
+ },
+ "application/vnd.openxmlformats-officedocument.presentationml.presentation.main+xml": {
+ source: "iana",
+ compressible: true
+ },
+ "application/vnd.openxmlformats-officedocument.presentationml.presprops+xml": {
+ source: "iana",
+ compressible: true
+ },
+ "application/vnd.openxmlformats-officedocument.presentationml.slide": {
+ source: "iana",
+ extensions: ["sldx"]
+ },
+ "application/vnd.openxmlformats-officedocument.presentationml.slide+xml": {
+ source: "iana",
+ compressible: true
+ },
+ "application/vnd.openxmlformats-officedocument.presentationml.slidelayout+xml": {
+ source: "iana",
+ compressible: true
+ },
+ "application/vnd.openxmlformats-officedocument.presentationml.slidemaster+xml": {
+ source: "iana",
+ compressible: true
+ },
+ "application/vnd.openxmlformats-officedocument.presentationml.slideshow": {
+ source: "iana",
+ extensions: ["ppsx"]
+ },
+ "application/vnd.openxmlformats-officedocument.presentationml.slideshow.main+xml": {
+ source: "iana",
+ compressible: true
+ },
+ "application/vnd.openxmlformats-officedocument.presentationml.slideupdateinfo+xml": {
+ source: "iana",
+ compressible: true
+ },
+ "application/vnd.openxmlformats-officedocument.presentationml.tablestyles+xml": {
+ source: "iana",
+ compressible: true
+ },
+ "application/vnd.openxmlformats-officedocument.presentationml.tags+xml": {
+ source: "iana",
+ compressible: true
+ },
+ "application/vnd.openxmlformats-officedocument.presentationml.template": {
+ source: "iana",
+ extensions: ["potx"]
+ },
+ "application/vnd.openxmlformats-officedocument.presentationml.template.main+xml": {
+ source: "iana",
+ compressible: true
+ },
+ "application/vnd.openxmlformats-officedocument.presentationml.viewprops+xml": {
+ source: "iana",
+ compressible: true
+ },
+ "application/vnd.openxmlformats-officedocument.spreadsheetml.calcchain+xml": {
+ source: "iana",
+ compressible: true
+ },
+ "application/vnd.openxmlformats-officedocument.spreadsheetml.chartsheet+xml": {
+ source: "iana",
+ compressible: true
+ },
+ "application/vnd.openxmlformats-officedocument.spreadsheetml.comments+xml": {
+ source: "iana",
+ compressible: true
+ },
+ "application/vnd.openxmlformats-officedocument.spreadsheetml.connections+xml": {
+ source: "iana",
+ compressible: true
+ },
+ "application/vnd.openxmlformats-officedocument.spreadsheetml.dialogsheet+xml": {
+ source: "iana",
+ compressible: true
+ },
+ "application/vnd.openxmlformats-officedocument.spreadsheetml.externallink+xml": {
+ source: "iana",
+ compressible: true
+ },
+ "application/vnd.openxmlformats-officedocument.spreadsheetml.pivotcachedefinition+xml": {
+ source: "iana",
+ compressible: true
+ },
+ "application/vnd.openxmlformats-officedocument.spreadsheetml.pivotcacherecords+xml": {
+ source: "iana",
+ compressible: true
+ },
+ "application/vnd.openxmlformats-officedocument.spreadsheetml.pivottable+xml": {
+ source: "iana",
+ compressible: true
+ },
+ "application/vnd.openxmlformats-officedocument.spreadsheetml.querytable+xml": {
+ source: "iana",
+ compressible: true
+ },
+ "application/vnd.openxmlformats-officedocument.spreadsheetml.revisionheaders+xml": {
+ source: "iana",
+ compressible: true
+ },
+ "application/vnd.openxmlformats-officedocument.spreadsheetml.revisionlog+xml": {
+ source: "iana",
+ compressible: true
+ },
+ "application/vnd.openxmlformats-officedocument.spreadsheetml.sharedstrings+xml": {
+ source: "iana",
+ compressible: true
+ },
+ "application/vnd.openxmlformats-officedocument.spreadsheetml.sheet": {
+ source: "iana",
+ compressible: false,
+ extensions: ["xlsx"]
+ },
+ "application/vnd.openxmlformats-officedocument.spreadsheetml.sheet.main+xml": {
+ source: "iana",
+ compressible: true
+ },
+ "application/vnd.openxmlformats-officedocument.spreadsheetml.sheetmetadata+xml": {
+ source: "iana",
+ compressible: true
+ },
+ "application/vnd.openxmlformats-officedocument.spreadsheetml.styles+xml": {
+ source: "iana",
+ compressible: true
+ },
+ "application/vnd.openxmlformats-officedocument.spreadsheetml.table+xml": {
+ source: "iana",
+ compressible: true
+ },
+ "application/vnd.openxmlformats-officedocument.spreadsheetml.tablesinglecells+xml": {
+ source: "iana",
+ compressible: true
+ },
+ "application/vnd.openxmlformats-officedocument.spreadsheetml.template": {
+ source: "iana",
+ extensions: ["xltx"]
+ },
+ "application/vnd.openxmlformats-officedocument.spreadsheetml.template.main+xml": {
+ source: "iana",
+ compressible: true
+ },
+ "application/vnd.openxmlformats-officedocument.spreadsheetml.usernames+xml": {
+ source: "iana",
+ compressible: true
+ },
+ "application/vnd.openxmlformats-officedocument.spreadsheetml.volatiledependencies+xml": {
+ source: "iana",
+ compressible: true
+ },
+ "application/vnd.openxmlformats-officedocument.spreadsheetml.worksheet+xml": {
+ source: "iana",
+ compressible: true
+ },
+ "application/vnd.openxmlformats-officedocument.theme+xml": {
+ source: "iana",
+ compressible: true
+ },
+ "application/vnd.openxmlformats-officedocument.themeoverride+xml": {
+ source: "iana",
+ compressible: true
+ },
+ "application/vnd.openxmlformats-officedocument.vmldrawing": {
+ source: "iana"
+ },
+ "application/vnd.openxmlformats-officedocument.wordprocessingml.comments+xml": {
+ source: "iana",
+ compressible: true
+ },
+ "application/vnd.openxmlformats-officedocument.wordprocessingml.document": {
+ source: "iana",
+ compressible: false,
+ extensions: ["docx"]
+ },
+ "application/vnd.openxmlformats-officedocument.wordprocessingml.document.glossary+xml": {
+ source: "iana",
+ compressible: true
+ },
+ "application/vnd.openxmlformats-officedocument.wordprocessingml.document.main+xml": {
+ source: "iana",
+ compressible: true
+ },
+ "application/vnd.openxmlformats-officedocument.wordprocessingml.endnotes+xml": {
+ source: "iana",
+ compressible: true
+ },
+ "application/vnd.openxmlformats-officedocument.wordprocessingml.fonttable+xml": {
+ source: "iana",
+ compressible: true
+ },
+ "application/vnd.openxmlformats-officedocument.wordprocessingml.footer+xml": {
+ source: "iana",
+ compressible: true
+ },
+ "application/vnd.openxmlformats-officedocument.wordprocessingml.footnotes+xml": {
+ source: "iana",
+ compressible: true
+ },
+ "application/vnd.openxmlformats-officedocument.wordprocessingml.numbering+xml": {
+ source: "iana",
+ compressible: true
+ },
+ "application/vnd.openxmlformats-officedocument.wordprocessingml.settings+xml": {
+ source: "iana",
+ compressible: true
+ },
+ "application/vnd.openxmlformats-officedocument.wordprocessingml.styles+xml": {
+ source: "iana",
+ compressible: true
+ },
+ "application/vnd.openxmlformats-officedocument.wordprocessingml.template": {
+ source: "iana",
+ extensions: ["dotx"]
+ },
+ "application/vnd.openxmlformats-officedocument.wordprocessingml.template.main+xml": {
+ source: "iana",
+ compressible: true
+ },
+ "application/vnd.openxmlformats-officedocument.wordprocessingml.websettings+xml": {
+ source: "iana",
+ compressible: true
+ },
+ "application/vnd.openxmlformats-package.core-properties+xml": {
+ source: "iana",
+ compressible: true
+ },
+ "application/vnd.openxmlformats-package.digital-signature-xmlsignature+xml": {
+ source: "iana",
+ compressible: true
+ },
+ "application/vnd.openxmlformats-package.relationships+xml": {
+ source: "iana",
+ compressible: true
+ },
+ "application/vnd.oracle.resource+json": {
+ source: "iana",
+ compressible: true
+ },
+ "application/vnd.orange.indata": {
+ source: "iana"
+ },
+ "application/vnd.osa.netdeploy": {
+ source: "iana"
+ },
+ "application/vnd.osgeo.mapguide.package": {
+ source: "iana",
+ extensions: ["mgp"]
+ },
+ "application/vnd.osgi.bundle": {
+ source: "iana"
+ },
+ "application/vnd.osgi.dp": {
+ source: "iana",
+ extensions: ["dp"]
+ },
+ "application/vnd.osgi.subsystem": {
+ source: "iana",
+ extensions: ["esa"]
+ },
+ "application/vnd.otps.ct-kip+xml": {
+ source: "iana",
+ compressible: true
+ },
+ "application/vnd.oxli.countgraph": {
+ source: "iana"
+ },
+ "application/vnd.pagerduty+json": {
+ source: "iana",
+ compressible: true
+ },
+ "application/vnd.palm": {
+ source: "iana",
+ extensions: ["pdb", "pqa", "oprc"]
+ },
+ "application/vnd.panoply": {
+ source: "iana"
+ },
+ "application/vnd.paos.xml": {
+ source: "iana"
+ },
+ "application/vnd.patentdive": {
+ source: "iana"
+ },
+ "application/vnd.patientecommsdoc": {
+ source: "iana"
+ },
+ "application/vnd.pawaafile": {
+ source: "iana",
+ extensions: ["paw"]
+ },
+ "application/vnd.pcos": {
+ source: "iana"
+ },
+ "application/vnd.pg.format": {
+ source: "iana",
+ extensions: ["str"]
+ },
+ "application/vnd.pg.osasli": {
+ source: "iana",
+ extensions: ["ei6"]
+ },
+ "application/vnd.piaccess.application-licence": {
+ source: "iana"
+ },
+ "application/vnd.picsel": {
+ source: "iana",
+ extensions: ["efif"]
+ },
+ "application/vnd.pmi.widget": {
+ source: "iana",
+ extensions: ["wg"]
+ },
+ "application/vnd.poc.group-advertisement+xml": {
+ source: "iana",
+ compressible: true
+ },
+ "application/vnd.pocketlearn": {
+ source: "iana",
+ extensions: ["plf"]
+ },
+ "application/vnd.powerbuilder6": {
+ source: "iana",
+ extensions: ["pbd"]
+ },
+ "application/vnd.powerbuilder6-s": {
+ source: "iana"
+ },
+ "application/vnd.powerbuilder7": {
+ source: "iana"
+ },
+ "application/vnd.powerbuilder7-s": {
+ source: "iana"
+ },
+ "application/vnd.powerbuilder75": {
+ source: "iana"
+ },
+ "application/vnd.powerbuilder75-s": {
+ source: "iana"
+ },
+ "application/vnd.preminet": {
+ source: "iana"
+ },
+ "application/vnd.previewsystems.box": {
+ source: "iana",
+ extensions: ["box"]
+ },
+ "application/vnd.procrate.brushset": {
+ extensions: ["brushset"]
+ },
+ "application/vnd.procreate.brush": {
+ extensions: ["brush"]
+ },
+ "application/vnd.procreate.dream": {
+ extensions: ["drm"]
+ },
+ "application/vnd.proteus.magazine": {
+ source: "iana",
+ extensions: ["mgz"]
+ },
+ "application/vnd.psfs": {
+ source: "iana"
+ },
+ "application/vnd.pt.mundusmundi": {
+ source: "iana"
+ },
+ "application/vnd.publishare-delta-tree": {
+ source: "iana",
+ extensions: ["qps"]
+ },
+ "application/vnd.pvi.ptid1": {
+ source: "iana",
+ extensions: ["ptid"]
+ },
+ "application/vnd.pwg-multiplexed": {
+ source: "iana"
+ },
+ "application/vnd.pwg-xhtml-print+xml": {
+ source: "iana",
+ compressible: true,
+ extensions: ["xhtm"]
+ },
+ "application/vnd.qualcomm.brew-app-res": {
+ source: "iana"
+ },
+ "application/vnd.quarantainenet": {
+ source: "iana"
+ },
+ "application/vnd.quark.quarkxpress": {
+ source: "iana",
+ extensions: ["qxd", "qxt", "qwd", "qwt", "qxl", "qxb"]
+ },
+ "application/vnd.quobject-quoxdocument": {
+ source: "iana"
+ },
+ "application/vnd.radisys.moml+xml": {
+ source: "iana",
+ compressible: true
+ },
+ "application/vnd.radisys.msml+xml": {
+ source: "iana",
+ compressible: true
+ },
+ "application/vnd.radisys.msml-audit+xml": {
+ source: "iana",
+ compressible: true
+ },
+ "application/vnd.radisys.msml-audit-conf+xml": {
+ source: "iana",
+ compressible: true
+ },
+ "application/vnd.radisys.msml-audit-conn+xml": {
+ source: "iana",
+ compressible: true
+ },
+ "application/vnd.radisys.msml-audit-dialog+xml": {
+ source: "iana",
+ compressible: true
+ },
+ "application/vnd.radisys.msml-audit-stream+xml": {
+ source: "iana",
+ compressible: true
+ },
+ "application/vnd.radisys.msml-conf+xml": {
+ source: "iana",
+ compressible: true
+ },
+ "application/vnd.radisys.msml-dialog+xml": {
+ source: "iana",
+ compressible: true
+ },
+ "application/vnd.radisys.msml-dialog-base+xml": {
+ source: "iana",
+ compressible: true
+ },
+ "application/vnd.radisys.msml-dialog-fax-detect+xml": {
+ source: "iana",
+ compressible: true
+ },
+ "application/vnd.radisys.msml-dialog-fax-sendrecv+xml": {
+ source: "iana",
+ compressible: true
+ },
+ "application/vnd.radisys.msml-dialog-group+xml": {
+ source: "iana",
+ compressible: true
+ },
+ "application/vnd.radisys.msml-dialog-speech+xml": {
+ source: "iana",
+ compressible: true
+ },
+ "application/vnd.radisys.msml-dialog-transform+xml": {
+ source: "iana",
+ compressible: true
+ },
+ "application/vnd.rainstor.data": {
+ source: "iana"
+ },
+ "application/vnd.rapid": {
+ source: "iana"
+ },
+ "application/vnd.rar": {
+ source: "iana",
+ extensions: ["rar"]
+ },
+ "application/vnd.realvnc.bed": {
+ source: "iana",
+ extensions: ["bed"]
+ },
+ "application/vnd.recordare.musicxml": {
+ source: "iana",
+ extensions: ["mxl"]
+ },
+ "application/vnd.recordare.musicxml+xml": {
+ source: "iana",
+ compressible: true,
+ extensions: ["musicxml"]
+ },
+ "application/vnd.relpipe": {
+ source: "iana"
+ },
+ "application/vnd.renlearn.rlprint": {
+ source: "iana"
+ },
+ "application/vnd.resilient.logic": {
+ source: "iana"
+ },
+ "application/vnd.restful+json": {
+ source: "iana",
+ compressible: true
+ },
+ "application/vnd.rig.cryptonote": {
+ source: "iana",
+ extensions: ["cryptonote"]
+ },
+ "application/vnd.rim.cod": {
+ source: "apache",
+ extensions: ["cod"]
+ },
+ "application/vnd.rn-realmedia": {
+ source: "apache",
+ extensions: ["rm"]
+ },
+ "application/vnd.rn-realmedia-vbr": {
+ source: "apache",
+ extensions: ["rmvb"]
+ },
+ "application/vnd.route66.link66+xml": {
+ source: "iana",
+ compressible: true,
+ extensions: ["link66"]
+ },
+ "application/vnd.rs-274x": {
+ source: "iana"
+ },
+ "application/vnd.ruckus.download": {
+ source: "iana"
+ },
+ "application/vnd.s3sms": {
+ source: "iana"
+ },
+ "application/vnd.sailingtracker.track": {
+ source: "iana",
+ extensions: ["st"]
+ },
+ "application/vnd.sar": {
+ source: "iana"
+ },
+ "application/vnd.sbm.cid": {
+ source: "iana"
+ },
+ "application/vnd.sbm.mid2": {
+ source: "iana"
+ },
+ "application/vnd.scribus": {
+ source: "iana"
+ },
+ "application/vnd.sealed.3df": {
+ source: "iana"
+ },
+ "application/vnd.sealed.csf": {
+ source: "iana"
+ },
+ "application/vnd.sealed.doc": {
+ source: "iana"
+ },
+ "application/vnd.sealed.eml": {
+ source: "iana"
+ },
+ "application/vnd.sealed.mht": {
+ source: "iana"
+ },
+ "application/vnd.sealed.net": {
+ source: "iana"
+ },
+ "application/vnd.sealed.ppt": {
+ source: "iana"
+ },
+ "application/vnd.sealed.tiff": {
+ source: "iana"
+ },
+ "application/vnd.sealed.xls": {
+ source: "iana"
+ },
+ "application/vnd.sealedmedia.softseal.html": {
+ source: "iana"
+ },
+ "application/vnd.sealedmedia.softseal.pdf": {
+ source: "iana"
+ },
+ "application/vnd.seemail": {
+ source: "iana",
+ extensions: ["see"]
+ },
+ "application/vnd.seis+json": {
+ source: "iana",
+ compressible: true
+ },
+ "application/vnd.sema": {
+ source: "iana",
+ extensions: ["sema"]
+ },
+ "application/vnd.semd": {
+ source: "iana",
+ extensions: ["semd"]
+ },
+ "application/vnd.semf": {
+ source: "iana",
+ extensions: ["semf"]
+ },
+ "application/vnd.shade-save-file": {
+ source: "iana"
+ },
+ "application/vnd.shana.informed.formdata": {
+ source: "iana",
+ extensions: ["ifm"]
+ },
+ "application/vnd.shana.informed.formtemplate": {
+ source: "iana",
+ extensions: ["itp"]
+ },
+ "application/vnd.shana.informed.interchange": {
+ source: "iana",
+ extensions: ["iif"]
+ },
+ "application/vnd.shana.informed.package": {
+ source: "iana",
+ extensions: ["ipk"]
+ },
+ "application/vnd.shootproof+json": {
+ source: "iana",
+ compressible: true
+ },
+ "application/vnd.shopkick+json": {
+ source: "iana",
+ compressible: true
+ },
+ "application/vnd.shp": {
+ source: "iana"
+ },
+ "application/vnd.shx": {
+ source: "iana"
+ },
+ "application/vnd.sigrok.session": {
+ source: "iana"
+ },
+ "application/vnd.simtech-mindmapper": {
+ source: "iana",
+ extensions: ["twd", "twds"]
+ },
+ "application/vnd.siren+json": {
+ source: "iana",
+ compressible: true
+ },
+ "application/vnd.sketchometry": {
+ source: "iana"
+ },
+ "application/vnd.smaf": {
+ source: "iana",
+ extensions: ["mmf"]
+ },
+ "application/vnd.smart.notebook": {
+ source: "iana"
+ },
+ "application/vnd.smart.teacher": {
+ source: "iana",
+ extensions: ["teacher"]
+ },
+ "application/vnd.smintio.portals.archive": {
+ source: "iana"
+ },
+ "application/vnd.snesdev-page-table": {
+ source: "iana"
+ },
+ "application/vnd.software602.filler.form+xml": {
+ source: "iana",
+ compressible: true,
+ extensions: ["fo"]
+ },
+ "application/vnd.software602.filler.form-xml-zip": {
+ source: "iana"
+ },
+ "application/vnd.solent.sdkm+xml": {
+ source: "iana",
+ compressible: true,
+ extensions: ["sdkm", "sdkd"]
+ },
+ "application/vnd.spotfire.dxp": {
+ source: "iana",
+ extensions: ["dxp"]
+ },
+ "application/vnd.spotfire.sfs": {
+ source: "iana",
+ extensions: ["sfs"]
+ },
+ "application/vnd.sqlite3": {
+ source: "iana"
+ },
+ "application/vnd.sss-cod": {
+ source: "iana"
+ },
+ "application/vnd.sss-dtf": {
+ source: "iana"
+ },
+ "application/vnd.sss-ntf": {
+ source: "iana"
+ },
+ "application/vnd.stardivision.calc": {
+ source: "apache",
+ extensions: ["sdc"]
+ },
+ "application/vnd.stardivision.draw": {
+ source: "apache",
+ extensions: ["sda"]
+ },
+ "application/vnd.stardivision.impress": {
+ source: "apache",
+ extensions: ["sdd"]
+ },
+ "application/vnd.stardivision.math": {
+ source: "apache",
+ extensions: ["smf"]
+ },
+ "application/vnd.stardivision.writer": {
+ source: "apache",
+ extensions: ["sdw", "vor"]
+ },
+ "application/vnd.stardivision.writer-global": {
+ source: "apache",
+ extensions: ["sgl"]
+ },
+ "application/vnd.stepmania.package": {
+ source: "iana",
+ extensions: ["smzip"]
+ },
+ "application/vnd.stepmania.stepchart": {
+ source: "iana",
+ extensions: ["sm"]
+ },
+ "application/vnd.street-stream": {
+ source: "iana"
+ },
+ "application/vnd.sun.wadl+xml": {
+ source: "iana",
+ compressible: true,
+ extensions: ["wadl"]
+ },
+ "application/vnd.sun.xml.calc": {
+ source: "apache",
+ extensions: ["sxc"]
+ },
+ "application/vnd.sun.xml.calc.template": {
+ source: "apache",
+ extensions: ["stc"]
+ },
+ "application/vnd.sun.xml.draw": {
+ source: "apache",
+ extensions: ["sxd"]
+ },
+ "application/vnd.sun.xml.draw.template": {
+ source: "apache",
+ extensions: ["std"]
+ },
+ "application/vnd.sun.xml.impress": {
+ source: "apache",
+ extensions: ["sxi"]
+ },
+ "application/vnd.sun.xml.impress.template": {
+ source: "apache",
+ extensions: ["sti"]
+ },
+ "application/vnd.sun.xml.math": {
+ source: "apache",
+ extensions: ["sxm"]
+ },
+ "application/vnd.sun.xml.writer": {
+ source: "apache",
+ extensions: ["sxw"]
+ },
+ "application/vnd.sun.xml.writer.global": {
+ source: "apache",
+ extensions: ["sxg"]
+ },
+ "application/vnd.sun.xml.writer.template": {
+ source: "apache",
+ extensions: ["stw"]
+ },
+ "application/vnd.sus-calendar": {
+ source: "iana",
+ extensions: ["sus", "susp"]
+ },
+ "application/vnd.svd": {
+ source: "iana",
+ extensions: ["svd"]
+ },
+ "application/vnd.swiftview-ics": {
+ source: "iana"
+ },
+ "application/vnd.sybyl.mol2": {
+ source: "iana"
+ },
+ "application/vnd.sycle+xml": {
+ source: "iana",
+ compressible: true
+ },
+ "application/vnd.syft+json": {
+ source: "iana",
+ compressible: true
+ },
+ "application/vnd.symbian.install": {
+ source: "apache",
+ extensions: ["sis", "sisx"]
+ },
+ "application/vnd.syncml+xml": {
+ source: "iana",
+ charset: "UTF-8",
+ compressible: true,
+ extensions: ["xsm"]
+ },
+ "application/vnd.syncml.dm+wbxml": {
+ source: "iana",
+ charset: "UTF-8",
+ extensions: ["bdm"]
+ },
+ "application/vnd.syncml.dm+xml": {
+ source: "iana",
+ charset: "UTF-8",
+ compressible: true,
+ extensions: ["xdm"]
+ },
+ "application/vnd.syncml.dm.notification": {
+ source: "iana"
+ },
+ "application/vnd.syncml.dmddf+wbxml": {
+ source: "iana"
+ },
+ "application/vnd.syncml.dmddf+xml": {
+ source: "iana",
+ charset: "UTF-8",
+ compressible: true,
+ extensions: ["ddf"]
+ },
+ "application/vnd.syncml.dmtnds+wbxml": {
+ source: "iana"
+ },
+ "application/vnd.syncml.dmtnds+xml": {
+ source: "iana",
+ charset: "UTF-8",
+ compressible: true
+ },
+ "application/vnd.syncml.ds.notification": {
+ source: "iana"
+ },
+ "application/vnd.tableschema+json": {
+ source: "iana",
+ compressible: true
+ },
+ "application/vnd.tao.intent-module-archive": {
+ source: "iana",
+ extensions: ["tao"]
+ },
+ "application/vnd.tcpdump.pcap": {
+ source: "iana",
+ extensions: ["pcap", "cap", "dmp"]
+ },
+ "application/vnd.think-cell.ppttc+json": {
+ source: "iana",
+ compressible: true
+ },
+ "application/vnd.tmd.mediaflex.api+xml": {
+ source: "iana",
+ compressible: true
+ },
+ "application/vnd.tml": {
+ source: "iana"
+ },
+ "application/vnd.tmobile-livetv": {
+ source: "iana",
+ extensions: ["tmo"]
+ },
+ "application/vnd.tri.onesource": {
+ source: "iana"
+ },
+ "application/vnd.trid.tpt": {
+ source: "iana",
+ extensions: ["tpt"]
+ },
+ "application/vnd.triscape.mxs": {
+ source: "iana",
+ extensions: ["mxs"]
+ },
+ "application/vnd.trueapp": {
+ source: "iana",
+ extensions: ["tra"]
+ },
+ "application/vnd.truedoc": {
+ source: "iana"
+ },
+ "application/vnd.ubisoft.webplayer": {
+ source: "iana"
+ },
+ "application/vnd.ufdl": {
+ source: "iana",
+ extensions: ["ufd", "ufdl"]
+ },
+ "application/vnd.uic.osdm+json": {
+ source: "iana",
+ compressible: true
+ },
+ "application/vnd.uiq.theme": {
+ source: "iana",
+ extensions: ["utz"]
+ },
+ "application/vnd.umajin": {
+ source: "iana",
+ extensions: ["umj"]
+ },
+ "application/vnd.unity": {
+ source: "iana",
+ extensions: ["unityweb"]
+ },
+ "application/vnd.uoml+xml": {
+ source: "iana",
+ compressible: true,
+ extensions: ["uoml", "uo"]
+ },
+ "application/vnd.uplanet.alert": {
+ source: "iana"
+ },
+ "application/vnd.uplanet.alert-wbxml": {
+ source: "iana"
+ },
+ "application/vnd.uplanet.bearer-choice": {
+ source: "iana"
+ },
+ "application/vnd.uplanet.bearer-choice-wbxml": {
+ source: "iana"
+ },
+ "application/vnd.uplanet.cacheop": {
+ source: "iana"
+ },
+ "application/vnd.uplanet.cacheop-wbxml": {
+ source: "iana"
+ },
+ "application/vnd.uplanet.channel": {
+ source: "iana"
+ },
+ "application/vnd.uplanet.channel-wbxml": {
+ source: "iana"
+ },
+ "application/vnd.uplanet.list": {
+ source: "iana"
+ },
+ "application/vnd.uplanet.list-wbxml": {
+ source: "iana"
+ },
+ "application/vnd.uplanet.listcmd": {
+ source: "iana"
+ },
+ "application/vnd.uplanet.listcmd-wbxml": {
+ source: "iana"
+ },
+ "application/vnd.uplanet.signal": {
+ source: "iana"
+ },
+ "application/vnd.uri-map": {
+ source: "iana"
+ },
+ "application/vnd.valve.source.material": {
+ source: "iana"
+ },
+ "application/vnd.vcx": {
+ source: "iana",
+ extensions: ["vcx"]
+ },
+ "application/vnd.vd-study": {
+ source: "iana"
+ },
+ "application/vnd.vectorworks": {
+ source: "iana"
+ },
+ "application/vnd.vel+json": {
+ source: "iana",
+ compressible: true
+ },
+ "application/vnd.veraison.tsm-report+cbor": {
+ source: "iana"
+ },
+ "application/vnd.veraison.tsm-report+json": {
+ source: "iana",
+ compressible: true
+ },
+ "application/vnd.verimatrix.vcas": {
+ source: "iana"
+ },
+ "application/vnd.veritone.aion+json": {
+ source: "iana",
+ compressible: true
+ },
+ "application/vnd.veryant.thin": {
+ source: "iana"
+ },
+ "application/vnd.ves.encrypted": {
+ source: "iana"
+ },
+ "application/vnd.vidsoft.vidconference": {
+ source: "iana"
+ },
+ "application/vnd.visio": {
+ source: "iana",
+ extensions: ["vsd", "vst", "vss", "vsw", "vsdx", "vtx"]
+ },
+ "application/vnd.visionary": {
+ source: "iana",
+ extensions: ["vis"]
+ },
+ "application/vnd.vividence.scriptfile": {
+ source: "iana"
+ },
+ "application/vnd.vocalshaper.vsp4": {
+ source: "iana"
+ },
+ "application/vnd.vsf": {
+ source: "iana",
+ extensions: ["vsf"]
+ },
+ "application/vnd.wap.sic": {
+ source: "iana"
+ },
+ "application/vnd.wap.slc": {
+ source: "iana"
+ },
+ "application/vnd.wap.wbxml": {
+ source: "iana",
+ charset: "UTF-8",
+ extensions: ["wbxml"]
+ },
+ "application/vnd.wap.wmlc": {
+ source: "iana",
+ extensions: ["wmlc"]
+ },
+ "application/vnd.wap.wmlscriptc": {
+ source: "iana",
+ extensions: ["wmlsc"]
+ },
+ "application/vnd.wasmflow.wafl": {
+ source: "iana"
+ },
+ "application/vnd.webturbo": {
+ source: "iana",
+ extensions: ["wtb"]
+ },
+ "application/vnd.wfa.dpp": {
+ source: "iana"
+ },
+ "application/vnd.wfa.p2p": {
+ source: "iana"
+ },
+ "application/vnd.wfa.wsc": {
+ source: "iana"
+ },
+ "application/vnd.windows.devicepairing": {
+ source: "iana"
+ },
+ "application/vnd.wmc": {
+ source: "iana"
+ },
+ "application/vnd.wmf.bootstrap": {
+ source: "iana"
+ },
+ "application/vnd.wolfram.mathematica": {
+ source: "iana"
+ },
+ "application/vnd.wolfram.mathematica.package": {
+ source: "iana"
+ },
+ "application/vnd.wolfram.player": {
+ source: "iana",
+ extensions: ["nbp"]
+ },
+ "application/vnd.wordlift": {
+ source: "iana"
+ },
+ "application/vnd.wordperfect": {
+ source: "iana",
+ extensions: ["wpd"]
+ },
+ "application/vnd.wqd": {
+ source: "iana",
+ extensions: ["wqd"]
+ },
+ "application/vnd.wrq-hp3000-labelled": {
+ source: "iana"
+ },
+ "application/vnd.wt.stf": {
+ source: "iana",
+ extensions: ["stf"]
+ },
+ "application/vnd.wv.csp+wbxml": {
+ source: "iana"
+ },
+ "application/vnd.wv.csp+xml": {
+ source: "iana",
+ compressible: true
+ },
+ "application/vnd.wv.ssp+xml": {
+ source: "iana",
+ compressible: true
+ },
+ "application/vnd.xacml+json": {
+ source: "iana",
+ compressible: true
+ },
+ "application/vnd.xara": {
+ source: "iana",
+ extensions: ["xar"]
+ },
+ "application/vnd.xarin.cpj": {
+ source: "iana"
+ },
+ "application/vnd.xecrets-encrypted": {
+ source: "iana"
+ },
+ "application/vnd.xfdl": {
+ source: "iana",
+ extensions: ["xfdl"]
+ },
+ "application/vnd.xfdl.webform": {
+ source: "iana"
+ },
+ "application/vnd.xmi+xml": {
+ source: "iana",
+ compressible: true
+ },
+ "application/vnd.xmpie.cpkg": {
+ source: "iana"
+ },
+ "application/vnd.xmpie.dpkg": {
+ source: "iana"
+ },
+ "application/vnd.xmpie.plan": {
+ source: "iana"
+ },
+ "application/vnd.xmpie.ppkg": {
+ source: "iana"
+ },
+ "application/vnd.xmpie.xlim": {
+ source: "iana"
+ },
+ "application/vnd.yamaha.hv-dic": {
+ source: "iana",
+ extensions: ["hvd"]
+ },
+ "application/vnd.yamaha.hv-script": {
+ source: "iana",
+ extensions: ["hvs"]
+ },
+ "application/vnd.yamaha.hv-voice": {
+ source: "iana",
+ extensions: ["hvp"]
+ },
+ "application/vnd.yamaha.openscoreformat": {
+ source: "iana",
+ extensions: ["osf"]
+ },
+ "application/vnd.yamaha.openscoreformat.osfpvg+xml": {
+ source: "iana",
+ compressible: true,
+ extensions: ["osfpvg"]
+ },
+ "application/vnd.yamaha.remote-setup": {
+ source: "iana"
+ },
+ "application/vnd.yamaha.smaf-audio": {
+ source: "iana",
+ extensions: ["saf"]
+ },
+ "application/vnd.yamaha.smaf-phrase": {
+ source: "iana",
+ extensions: ["spf"]
+ },
+ "application/vnd.yamaha.through-ngn": {
+ source: "iana"
+ },
+ "application/vnd.yamaha.tunnel-udpencap": {
+ source: "iana"
+ },
+ "application/vnd.yaoweme": {
+ source: "iana"
+ },
+ "application/vnd.yellowriver-custom-menu": {
+ source: "iana",
+ extensions: ["cmp"]
+ },
+ "application/vnd.zul": {
+ source: "iana",
+ extensions: ["zir", "zirz"]
+ },
+ "application/vnd.zzazz.deck+xml": {
+ source: "iana",
+ compressible: true,
+ extensions: ["zaz"]
+ },
+ "application/voicexml+xml": {
+ source: "iana",
+ compressible: true,
+ extensions: ["vxml"]
+ },
+ "application/voucher-cms+json": {
+ source: "iana",
+ compressible: true
+ },
+ "application/voucher-jws+json": {
+ source: "iana",
+ compressible: true
+ },
+ "application/vp": {
+ source: "iana"
+ },
+ "application/vp+cose": {
+ source: "iana"
+ },
+ "application/vp+jwt": {
+ source: "iana"
+ },
+ "application/vq-rtcpxr": {
+ source: "iana"
+ },
+ "application/wasm": {
+ source: "iana",
+ compressible: true,
+ extensions: ["wasm"]
+ },
+ "application/watcherinfo+xml": {
+ source: "iana",
+ compressible: true,
+ extensions: ["wif"]
+ },
+ "application/webpush-options+json": {
+ source: "iana",
+ compressible: true
+ },
+ "application/whoispp-query": {
+ source: "iana"
+ },
+ "application/whoispp-response": {
+ source: "iana"
+ },
+ "application/widget": {
+ source: "iana",
+ extensions: ["wgt"]
+ },
+ "application/winhlp": {
+ source: "apache",
+ extensions: ["hlp"]
+ },
+ "application/wita": {
+ source: "iana"
+ },
+ "application/wordperfect5.1": {
+ source: "iana"
+ },
+ "application/wsdl+xml": {
+ source: "iana",
+ compressible: true,
+ extensions: ["wsdl"]
+ },
+ "application/wspolicy+xml": {
+ source: "iana",
+ compressible: true,
+ extensions: ["wspolicy"]
+ },
+ "application/x-7z-compressed": {
+ source: "apache",
+ compressible: false,
+ extensions: ["7z"]
+ },
+ "application/x-abiword": {
+ source: "apache",
+ extensions: ["abw"]
+ },
+ "application/x-ace-compressed": {
+ source: "apache",
+ extensions: ["ace"]
+ },
+ "application/x-amf": {
+ source: "apache"
+ },
+ "application/x-apple-diskimage": {
+ source: "apache",
+ extensions: ["dmg"]
+ },
+ "application/x-arj": {
+ compressible: false,
+ extensions: ["arj"]
+ },
+ "application/x-authorware-bin": {
+ source: "apache",
+ extensions: ["aab", "x32", "u32", "vox"]
+ },
+ "application/x-authorware-map": {
+ source: "apache",
+ extensions: ["aam"]
+ },
+ "application/x-authorware-seg": {
+ source: "apache",
+ extensions: ["aas"]
+ },
+ "application/x-bcpio": {
+ source: "apache",
+ extensions: ["bcpio"]
+ },
+ "application/x-bdoc": {
+ compressible: false,
+ extensions: ["bdoc"]
+ },
+ "application/x-bittorrent": {
+ source: "apache",
+ extensions: ["torrent"]
+ },
+ "application/x-blender": {
+ extensions: ["blend"]
+ },
+ "application/x-blorb": {
+ source: "apache",
+ extensions: ["blb", "blorb"]
+ },
+ "application/x-bzip": {
+ source: "apache",
+ compressible: false,
+ extensions: ["bz"]
+ },
+ "application/x-bzip2": {
+ source: "apache",
+ compressible: false,
+ extensions: ["bz2", "boz"]
+ },
+ "application/x-cbr": {
+ source: "apache",
+ extensions: ["cbr", "cba", "cbt", "cbz", "cb7"]
+ },
+ "application/x-cdlink": {
+ source: "apache",
+ extensions: ["vcd"]
+ },
+ "application/x-cfs-compressed": {
+ source: "apache",
+ extensions: ["cfs"]
+ },
+ "application/x-chat": {
+ source: "apache",
+ extensions: ["chat"]
+ },
+ "application/x-chess-pgn": {
+ source: "apache",
+ extensions: ["pgn"]
+ },
+ "application/x-chrome-extension": {
+ extensions: ["crx"]
+ },
+ "application/x-cocoa": {
+ source: "nginx",
+ extensions: ["cco"]
+ },
+ "application/x-compress": {
+ source: "apache"
+ },
+ "application/x-compressed": {
+ extensions: ["rar"]
+ },
+ "application/x-conference": {
+ source: "apache",
+ extensions: ["nsc"]
+ },
+ "application/x-cpio": {
+ source: "apache",
+ extensions: ["cpio"]
+ },
+ "application/x-csh": {
+ source: "apache",
+ extensions: ["csh"]
+ },
+ "application/x-deb": {
+ compressible: false
+ },
+ "application/x-debian-package": {
+ source: "apache",
+ extensions: ["deb", "udeb"]
+ },
+ "application/x-dgc-compressed": {
+ source: "apache",
+ extensions: ["dgc"]
+ },
+ "application/x-director": {
+ source: "apache",
+ extensions: ["dir", "dcr", "dxr", "cst", "cct", "cxt", "w3d", "fgd", "swa"]
+ },
+ "application/x-doom": {
+ source: "apache",
+ extensions: ["wad"]
+ },
+ "application/x-dtbncx+xml": {
+ source: "apache",
+ compressible: true,
+ extensions: ["ncx"]
+ },
+ "application/x-dtbook+xml": {
+ source: "apache",
+ compressible: true,
+ extensions: ["dtb"]
+ },
+ "application/x-dtbresource+xml": {
+ source: "apache",
+ compressible: true,
+ extensions: ["res"]
+ },
+ "application/x-dvi": {
+ source: "apache",
+ compressible: false,
+ extensions: ["dvi"]
+ },
+ "application/x-envoy": {
+ source: "apache",
+ extensions: ["evy"]
+ },
+ "application/x-eva": {
+ source: "apache",
+ extensions: ["eva"]
+ },
+ "application/x-font-bdf": {
+ source: "apache",
+ extensions: ["bdf"]
+ },
+ "application/x-font-dos": {
+ source: "apache"
+ },
+ "application/x-font-framemaker": {
+ source: "apache"
+ },
+ "application/x-font-ghostscript": {
+ source: "apache",
+ extensions: ["gsf"]
+ },
+ "application/x-font-libgrx": {
+ source: "apache"
+ },
+ "application/x-font-linux-psf": {
+ source: "apache",
+ extensions: ["psf"]
+ },
+ "application/x-font-pcf": {
+ source: "apache",
+ extensions: ["pcf"]
+ },
+ "application/x-font-snf": {
+ source: "apache",
+ extensions: ["snf"]
+ },
+ "application/x-font-speedo": {
+ source: "apache"
+ },
+ "application/x-font-sunos-news": {
+ source: "apache"
+ },
+ "application/x-font-type1": {
+ source: "apache",
+ extensions: ["pfa", "pfb", "pfm", "afm"]
+ },
+ "application/x-font-vfont": {
+ source: "apache"
+ },
+ "application/x-freearc": {
+ source: "apache",
+ extensions: ["arc"]
+ },
+ "application/x-futuresplash": {
+ source: "apache",
+ extensions: ["spl"]
+ },
+ "application/x-gca-compressed": {
+ source: "apache",
+ extensions: ["gca"]
+ },
+ "application/x-glulx": {
+ source: "apache",
+ extensions: ["ulx"]
+ },
+ "application/x-gnumeric": {
+ source: "apache",
+ extensions: ["gnumeric"]
+ },
+ "application/x-gramps-xml": {
+ source: "apache",
+ extensions: ["gramps"]
+ },
+ "application/x-gtar": {
+ source: "apache",
+ extensions: ["gtar"]
+ },
+ "application/x-gzip": {
+ source: "apache"
+ },
+ "application/x-hdf": {
+ source: "apache",
+ extensions: ["hdf"]
+ },
+ "application/x-httpd-php": {
+ compressible: true,
+ extensions: ["php"]
+ },
+ "application/x-install-instructions": {
+ source: "apache",
+ extensions: ["install"]
+ },
+ "application/x-ipynb+json": {
+ compressible: true,
+ extensions: ["ipynb"]
+ },
+ "application/x-iso9660-image": {
+ source: "apache",
+ extensions: ["iso"]
+ },
+ "application/x-iwork-keynote-sffkey": {
+ extensions: ["key"]
+ },
+ "application/x-iwork-numbers-sffnumbers": {
+ extensions: ["numbers"]
+ },
+ "application/x-iwork-pages-sffpages": {
+ extensions: ["pages"]
+ },
+ "application/x-java-archive-diff": {
+ source: "nginx",
+ extensions: ["jardiff"]
+ },
+ "application/x-java-jnlp-file": {
+ source: "apache",
+ compressible: false,
+ extensions: ["jnlp"]
+ },
+ "application/x-javascript": {
+ compressible: true
+ },
+ "application/x-keepass2": {
+ extensions: ["kdbx"]
+ },
+ "application/x-latex": {
+ source: "apache",
+ compressible: false,
+ extensions: ["latex"]
+ },
+ "application/x-lua-bytecode": {
+ extensions: ["luac"]
+ },
+ "application/x-lzh-compressed": {
+ source: "apache",
+ extensions: ["lzh", "lha"]
+ },
+ "application/x-makeself": {
+ source: "nginx",
+ extensions: ["run"]
+ },
+ "application/x-mie": {
+ source: "apache",
+ extensions: ["mie"]
+ },
+ "application/x-mobipocket-ebook": {
+ source: "apache",
+ extensions: ["prc", "mobi"]
+ },
+ "application/x-mpegurl": {
+ compressible: false
+ },
+ "application/x-ms-application": {
+ source: "apache",
+ extensions: ["application"]
+ },
+ "application/x-ms-shortcut": {
+ source: "apache",
+ extensions: ["lnk"]
+ },
+ "application/x-ms-wmd": {
+ source: "apache",
+ extensions: ["wmd"]
+ },
+ "application/x-ms-wmz": {
+ source: "apache",
+ extensions: ["wmz"]
+ },
+ "application/x-ms-xbap": {
+ source: "apache",
+ extensions: ["xbap"]
+ },
+ "application/x-msaccess": {
+ source: "apache",
+ extensions: ["mdb"]
+ },
+ "application/x-msbinder": {
+ source: "apache",
+ extensions: ["obd"]
+ },
+ "application/x-mscardfile": {
+ source: "apache",
+ extensions: ["crd"]
+ },
+ "application/x-msclip": {
+ source: "apache",
+ extensions: ["clp"]
+ },
+ "application/x-msdos-program": {
+ extensions: ["exe"]
+ },
+ "application/x-msdownload": {
+ source: "apache",
+ extensions: ["exe", "dll", "com", "bat", "msi"]
+ },
+ "application/x-msmediaview": {
+ source: "apache",
+ extensions: ["mvb", "m13", "m14"]
+ },
+ "application/x-msmetafile": {
+ source: "apache",
+ extensions: ["wmf", "wmz", "emf", "emz"]
+ },
+ "application/x-msmoney": {
+ source: "apache",
+ extensions: ["mny"]
+ },
+ "application/x-mspublisher": {
+ source: "apache",
+ extensions: ["pub"]
+ },
+ "application/x-msschedule": {
+ source: "apache",
+ extensions: ["scd"]
+ },
+ "application/x-msterminal": {
+ source: "apache",
+ extensions: ["trm"]
+ },
+ "application/x-mswrite": {
+ source: "apache",
+ extensions: ["wri"]
+ },
+ "application/x-netcdf": {
+ source: "apache",
+ extensions: ["nc", "cdf"]
+ },
+ "application/x-ns-proxy-autoconfig": {
+ compressible: true,
+ extensions: ["pac"]
+ },
+ "application/x-nzb": {
+ source: "apache",
+ extensions: ["nzb"]
+ },
+ "application/x-perl": {
+ source: "nginx",
+ extensions: ["pl", "pm"]
+ },
+ "application/x-pilot": {
+ source: "nginx",
+ extensions: ["prc", "pdb"]
+ },
+ "application/x-pkcs12": {
+ source: "apache",
+ compressible: false,
+ extensions: ["p12", "pfx"]
+ },
+ "application/x-pkcs7-certificates": {
+ source: "apache",
+ extensions: ["p7b", "spc"]
+ },
+ "application/x-pkcs7-certreqresp": {
+ source: "apache",
+ extensions: ["p7r"]
+ },
+ "application/x-pki-message": {
+ source: "iana"
+ },
+ "application/x-rar-compressed": {
+ source: "apache",
+ compressible: false,
+ extensions: ["rar"]
+ },
+ "application/x-redhat-package-manager": {
+ source: "nginx",
+ extensions: ["rpm"]
+ },
+ "application/x-research-info-systems": {
+ source: "apache",
+ extensions: ["ris"]
+ },
+ "application/x-sea": {
+ source: "nginx",
+ extensions: ["sea"]
+ },
+ "application/x-sh": {
+ source: "apache",
+ compressible: true,
+ extensions: ["sh"]
+ },
+ "application/x-shar": {
+ source: "apache",
+ extensions: ["shar"]
+ },
+ "application/x-shockwave-flash": {
+ source: "apache",
+ compressible: false,
+ extensions: ["swf"]
+ },
+ "application/x-silverlight-app": {
+ source: "apache",
+ extensions: ["xap"]
+ },
+ "application/x-sql": {
+ source: "apache",
+ extensions: ["sql"]
+ },
+ "application/x-stuffit": {
+ source: "apache",
+ compressible: false,
+ extensions: ["sit"]
+ },
+ "application/x-stuffitx": {
+ source: "apache",
+ extensions: ["sitx"]
+ },
+ "application/x-subrip": {
+ source: "apache",
+ extensions: ["srt"]
+ },
+ "application/x-sv4cpio": {
+ source: "apache",
+ extensions: ["sv4cpio"]
+ },
+ "application/x-sv4crc": {
+ source: "apache",
+ extensions: ["sv4crc"]
+ },
+ "application/x-t3vm-image": {
+ source: "apache",
+ extensions: ["t3"]
+ },
+ "application/x-tads": {
+ source: "apache",
+ extensions: ["gam"]
+ },
+ "application/x-tar": {
+ source: "apache",
+ compressible: true,
+ extensions: ["tar"]
+ },
+ "application/x-tcl": {
+ source: "apache",
+ extensions: ["tcl", "tk"]
+ },
+ "application/x-tex": {
+ source: "apache",
+ extensions: ["tex"]
+ },
+ "application/x-tex-tfm": {
+ source: "apache",
+ extensions: ["tfm"]
+ },
+ "application/x-texinfo": {
+ source: "apache",
+ extensions: ["texinfo", "texi"]
+ },
+ "application/x-tgif": {
+ source: "apache",
+ extensions: ["obj"]
+ },
+ "application/x-ustar": {
+ source: "apache",
+ extensions: ["ustar"]
+ },
+ "application/x-virtualbox-hdd": {
+ compressible: true,
+ extensions: ["hdd"]
+ },
+ "application/x-virtualbox-ova": {
+ compressible: true,
+ extensions: ["ova"]
+ },
+ "application/x-virtualbox-ovf": {
+ compressible: true,
+ extensions: ["ovf"]
+ },
+ "application/x-virtualbox-vbox": {
+ compressible: true,
+ extensions: ["vbox"]
+ },
+ "application/x-virtualbox-vbox-extpack": {
+ compressible: false,
+ extensions: ["vbox-extpack"]
+ },
+ "application/x-virtualbox-vdi": {
+ compressible: true,
+ extensions: ["vdi"]
+ },
+ "application/x-virtualbox-vhd": {
+ compressible: true,
+ extensions: ["vhd"]
+ },
+ "application/x-virtualbox-vmdk": {
+ compressible: true,
+ extensions: ["vmdk"]
+ },
+ "application/x-wais-source": {
+ source: "apache",
+ extensions: ["src"]
+ },
+ "application/x-web-app-manifest+json": {
+ compressible: true,
+ extensions: ["webapp"]
+ },
+ "application/x-www-form-urlencoded": {
+ source: "iana",
+ compressible: true
+ },
+ "application/x-x509-ca-cert": {
+ source: "iana",
+ extensions: ["der", "crt", "pem"]
+ },
+ "application/x-x509-ca-ra-cert": {
+ source: "iana"
+ },
+ "application/x-x509-next-ca-cert": {
+ source: "iana"
+ },
+ "application/x-xfig": {
+ source: "apache",
+ extensions: ["fig"]
+ },
+ "application/x-xliff+xml": {
+ source: "apache",
+ compressible: true,
+ extensions: ["xlf"]
+ },
+ "application/x-xpinstall": {
+ source: "apache",
+ compressible: false,
+ extensions: ["xpi"]
+ },
+ "application/x-xz": {
+ source: "apache",
+ extensions: ["xz"]
+ },
+ "application/x-zip-compressed": {
+ extensions: ["zip"]
+ },
+ "application/x-zmachine": {
+ source: "apache",
+ extensions: ["z1", "z2", "z3", "z4", "z5", "z6", "z7", "z8"]
+ },
+ "application/x400-bp": {
+ source: "iana"
+ },
+ "application/xacml+xml": {
+ source: "iana",
+ compressible: true
+ },
+ "application/xaml+xml": {
+ source: "apache",
+ compressible: true,
+ extensions: ["xaml"]
+ },
+ "application/xcap-att+xml": {
+ source: "iana",
+ compressible: true,
+ extensions: ["xav"]
+ },
+ "application/xcap-caps+xml": {
+ source: "iana",
+ compressible: true,
+ extensions: ["xca"]
+ },
+ "application/xcap-diff+xml": {
+ source: "iana",
+ compressible: true,
+ extensions: ["xdf"]
+ },
+ "application/xcap-el+xml": {
+ source: "iana",
+ compressible: true,
+ extensions: ["xel"]
+ },
+ "application/xcap-error+xml": {
+ source: "iana",
+ compressible: true
+ },
+ "application/xcap-ns+xml": {
+ source: "iana",
+ compressible: true,
+ extensions: ["xns"]
+ },
+ "application/xcon-conference-info+xml": {
+ source: "iana",
+ compressible: true
+ },
+ "application/xcon-conference-info-diff+xml": {
+ source: "iana",
+ compressible: true
+ },
+ "application/xenc+xml": {
+ source: "iana",
+ compressible: true,
+ extensions: ["xenc"]
+ },
+ "application/xfdf": {
+ source: "iana",
+ extensions: ["xfdf"]
+ },
+ "application/xhtml+xml": {
+ source: "iana",
+ compressible: true,
+ extensions: ["xhtml", "xht"]
+ },
+ "application/xhtml-voice+xml": {
+ source: "apache",
+ compressible: true
+ },
+ "application/xliff+xml": {
+ source: "iana",
+ compressible: true,
+ extensions: ["xlf"]
+ },
+ "application/xml": {
+ source: "iana",
+ compressible: true,
+ extensions: ["xml", "xsl", "xsd", "rng"]
+ },
+ "application/xml-dtd": {
+ source: "iana",
+ compressible: true,
+ extensions: ["dtd"]
+ },
+ "application/xml-external-parsed-entity": {
+ source: "iana"
+ },
+ "application/xml-patch+xml": {
+ source: "iana",
+ compressible: true
+ },
+ "application/xmpp+xml": {
+ source: "iana",
+ compressible: true
+ },
+ "application/xop+xml": {
+ source: "iana",
+ compressible: true,
+ extensions: ["xop"]
+ },
+ "application/xproc+xml": {
+ source: "apache",
+ compressible: true,
+ extensions: ["xpl"]
+ },
+ "application/xslt+xml": {
+ source: "iana",
+ compressible: true,
+ extensions: ["xsl", "xslt"]
+ },
+ "application/xspf+xml": {
+ source: "apache",
+ compressible: true,
+ extensions: ["xspf"]
+ },
+ "application/xv+xml": {
+ source: "iana",
+ compressible: true,
+ extensions: ["mxml", "xhvml", "xvml", "xvm"]
+ },
+ "application/yaml": {
+ source: "iana"
+ },
+ "application/yang": {
+ source: "iana",
+ extensions: ["yang"]
+ },
+ "application/yang-data+cbor": {
+ source: "iana"
+ },
+ "application/yang-data+json": {
+ source: "iana",
+ compressible: true
+ },
+ "application/yang-data+xml": {
+ source: "iana",
+ compressible: true
+ },
+ "application/yang-patch+json": {
+ source: "iana",
+ compressible: true
+ },
+ "application/yang-patch+xml": {
+ source: "iana",
+ compressible: true
+ },
+ "application/yang-sid+json": {
+ source: "iana",
+ compressible: true
+ },
+ "application/yin+xml": {
+ source: "iana",
+ compressible: true,
+ extensions: ["yin"]
+ },
+ "application/zip": {
+ source: "iana",
+ compressible: false,
+ extensions: ["zip"]
+ },
+ "application/zip+dotlottie": {
+ extensions: ["lottie"]
+ },
+ "application/zlib": {
+ source: "iana"
+ },
+ "application/zstd": {
+ source: "iana"
+ },
+ "audio/1d-interleaved-parityfec": {
+ source: "iana"
+ },
+ "audio/32kadpcm": {
+ source: "iana"
+ },
+ "audio/3gpp": {
+ source: "iana",
+ compressible: false,
+ extensions: ["3gpp"]
+ },
+ "audio/3gpp2": {
+ source: "iana"
+ },
+ "audio/aac": {
+ source: "iana",
+ extensions: ["adts", "aac"]
+ },
+ "audio/ac3": {
+ source: "iana"
+ },
+ "audio/adpcm": {
+ source: "apache",
+ extensions: ["adp"]
+ },
+ "audio/amr": {
+ source: "iana",
+ extensions: ["amr"]
+ },
+ "audio/amr-wb": {
+ source: "iana"
+ },
+ "audio/amr-wb+": {
+ source: "iana"
+ },
+ "audio/aptx": {
+ source: "iana"
+ },
+ "audio/asc": {
+ source: "iana"
+ },
+ "audio/atrac-advanced-lossless": {
+ source: "iana"
+ },
+ "audio/atrac-x": {
+ source: "iana"
+ },
+ "audio/atrac3": {
+ source: "iana"
+ },
+ "audio/basic": {
+ source: "iana",
+ compressible: false,
+ extensions: ["au", "snd"]
+ },
+ "audio/bv16": {
+ source: "iana"
+ },
+ "audio/bv32": {
+ source: "iana"
+ },
+ "audio/clearmode": {
+ source: "iana"
+ },
+ "audio/cn": {
+ source: "iana"
+ },
+ "audio/dat12": {
+ source: "iana"
+ },
+ "audio/dls": {
+ source: "iana"
+ },
+ "audio/dsr-es201108": {
+ source: "iana"
+ },
+ "audio/dsr-es202050": {
+ source: "iana"
+ },
+ "audio/dsr-es202211": {
+ source: "iana"
+ },
+ "audio/dsr-es202212": {
+ source: "iana"
+ },
+ "audio/dv": {
+ source: "iana"
+ },
+ "audio/dvi4": {
+ source: "iana"
+ },
+ "audio/eac3": {
+ source: "iana"
+ },
+ "audio/encaprtp": {
+ source: "iana"
+ },
+ "audio/evrc": {
+ source: "iana"
+ },
+ "audio/evrc-qcp": {
+ source: "iana"
+ },
+ "audio/evrc0": {
+ source: "iana"
+ },
+ "audio/evrc1": {
+ source: "iana"
+ },
+ "audio/evrcb": {
+ source: "iana"
+ },
+ "audio/evrcb0": {
+ source: "iana"
+ },
+ "audio/evrcb1": {
+ source: "iana"
+ },
+ "audio/evrcnw": {
+ source: "iana"
+ },
+ "audio/evrcnw0": {
+ source: "iana"
+ },
+ "audio/evrcnw1": {
+ source: "iana"
+ },
+ "audio/evrcwb": {
+ source: "iana"
+ },
+ "audio/evrcwb0": {
+ source: "iana"
+ },
+ "audio/evrcwb1": {
+ source: "iana"
+ },
+ "audio/evs": {
+ source: "iana"
+ },
+ "audio/flac": {
+ source: "iana"
+ },
+ "audio/flexfec": {
+ source: "iana"
+ },
+ "audio/fwdred": {
+ source: "iana"
+ },
+ "audio/g711-0": {
+ source: "iana"
+ },
+ "audio/g719": {
+ source: "iana"
+ },
+ "audio/g722": {
+ source: "iana"
+ },
+ "audio/g7221": {
+ source: "iana"
+ },
+ "audio/g723": {
+ source: "iana"
+ },
+ "audio/g726-16": {
+ source: "iana"
+ },
+ "audio/g726-24": {
+ source: "iana"
+ },
+ "audio/g726-32": {
+ source: "iana"
+ },
+ "audio/g726-40": {
+ source: "iana"
+ },
+ "audio/g728": {
+ source: "iana"
+ },
+ "audio/g729": {
+ source: "iana"
+ },
+ "audio/g7291": {
+ source: "iana"
+ },
+ "audio/g729d": {
+ source: "iana"
+ },
+ "audio/g729e": {
+ source: "iana"
+ },
+ "audio/gsm": {
+ source: "iana"
+ },
+ "audio/gsm-efr": {
+ source: "iana"
+ },
+ "audio/gsm-hr-08": {
+ source: "iana"
+ },
+ "audio/ilbc": {
+ source: "iana"
+ },
+ "audio/ip-mr_v2.5": {
+ source: "iana"
+ },
+ "audio/isac": {
+ source: "apache"
+ },
+ "audio/l16": {
+ source: "iana"
+ },
+ "audio/l20": {
+ source: "iana"
+ },
+ "audio/l24": {
+ source: "iana",
+ compressible: false
+ },
+ "audio/l8": {
+ source: "iana"
+ },
+ "audio/lpc": {
+ source: "iana"
+ },
+ "audio/matroska": {
+ source: "iana"
+ },
+ "audio/melp": {
+ source: "iana"
+ },
+ "audio/melp1200": {
+ source: "iana"
+ },
+ "audio/melp2400": {
+ source: "iana"
+ },
+ "audio/melp600": {
+ source: "iana"
+ },
+ "audio/mhas": {
+ source: "iana"
+ },
+ "audio/midi": {
+ source: "apache",
+ extensions: ["mid", "midi", "kar", "rmi"]
+ },
+ "audio/midi-clip": {
+ source: "iana"
+ },
+ "audio/mobile-xmf": {
+ source: "iana",
+ extensions: ["mxmf"]
+ },
+ "audio/mp3": {
+ compressible: false,
+ extensions: ["mp3"]
+ },
+ "audio/mp4": {
+ source: "iana",
+ compressible: false,
+ extensions: ["m4a", "mp4a", "m4b"]
+ },
+ "audio/mp4a-latm": {
+ source: "iana"
+ },
+ "audio/mpa": {
+ source: "iana"
+ },
+ "audio/mpa-robust": {
+ source: "iana"
+ },
+ "audio/mpeg": {
+ source: "iana",
+ compressible: false,
+ extensions: ["mpga", "mp2", "mp2a", "mp3", "m2a", "m3a"]
+ },
+ "audio/mpeg4-generic": {
+ source: "iana"
+ },
+ "audio/musepack": {
+ source: "apache"
+ },
+ "audio/ogg": {
+ source: "iana",
+ compressible: false,
+ extensions: ["oga", "ogg", "spx", "opus"]
+ },
+ "audio/opus": {
+ source: "iana"
+ },
+ "audio/parityfec": {
+ source: "iana"
+ },
+ "audio/pcma": {
+ source: "iana"
+ },
+ "audio/pcma-wb": {
+ source: "iana"
+ },
+ "audio/pcmu": {
+ source: "iana"
+ },
+ "audio/pcmu-wb": {
+ source: "iana"
+ },
+ "audio/prs.sid": {
+ source: "iana"
+ },
+ "audio/qcelp": {
+ source: "iana"
+ },
+ "audio/raptorfec": {
+ source: "iana"
+ },
+ "audio/red": {
+ source: "iana"
+ },
+ "audio/rtp-enc-aescm128": {
+ source: "iana"
+ },
+ "audio/rtp-midi": {
+ source: "iana"
+ },
+ "audio/rtploopback": {
+ source: "iana"
+ },
+ "audio/rtx": {
+ source: "iana"
+ },
+ "audio/s3m": {
+ source: "apache",
+ extensions: ["s3m"]
+ },
+ "audio/scip": {
+ source: "iana"
+ },
+ "audio/silk": {
+ source: "apache",
+ extensions: ["sil"]
+ },
+ "audio/smv": {
+ source: "iana"
+ },
+ "audio/smv-qcp": {
+ source: "iana"
+ },
+ "audio/smv0": {
+ source: "iana"
+ },
+ "audio/sofa": {
+ source: "iana"
+ },
+ "audio/sp-midi": {
+ source: "iana"
+ },
+ "audio/speex": {
+ source: "iana"
+ },
+ "audio/t140c": {
+ source: "iana"
+ },
+ "audio/t38": {
+ source: "iana"
+ },
+ "audio/telephone-event": {
+ source: "iana"
+ },
+ "audio/tetra_acelp": {
+ source: "iana"
+ },
+ "audio/tetra_acelp_bb": {
+ source: "iana"
+ },
+ "audio/tone": {
+ source: "iana"
+ },
+ "audio/tsvcis": {
+ source: "iana"
+ },
+ "audio/uemclip": {
+ source: "iana"
+ },
+ "audio/ulpfec": {
+ source: "iana"
+ },
+ "audio/usac": {
+ source: "iana"
+ },
+ "audio/vdvi": {
+ source: "iana"
+ },
+ "audio/vmr-wb": {
+ source: "iana"
+ },
+ "audio/vnd.3gpp.iufp": {
+ source: "iana"
+ },
+ "audio/vnd.4sb": {
+ source: "iana"
+ },
+ "audio/vnd.audiokoz": {
+ source: "iana"
+ },
+ "audio/vnd.celp": {
+ source: "iana"
+ },
+ "audio/vnd.cisco.nse": {
+ source: "iana"
+ },
+ "audio/vnd.cmles.radio-events": {
+ source: "iana"
+ },
+ "audio/vnd.cns.anp1": {
+ source: "iana"
+ },
+ "audio/vnd.cns.inf1": {
+ source: "iana"
+ },
+ "audio/vnd.dece.audio": {
+ source: "iana",
+ extensions: ["uva", "uvva"]
+ },
+ "audio/vnd.digital-winds": {
+ source: "iana",
+ extensions: ["eol"]
+ },
+ "audio/vnd.dlna.adts": {
+ source: "iana"
+ },
+ "audio/vnd.dolby.heaac.1": {
+ source: "iana"
+ },
+ "audio/vnd.dolby.heaac.2": {
+ source: "iana"
+ },
+ "audio/vnd.dolby.mlp": {
+ source: "iana"
+ },
+ "audio/vnd.dolby.mps": {
+ source: "iana"
+ },
+ "audio/vnd.dolby.pl2": {
+ source: "iana"
+ },
+ "audio/vnd.dolby.pl2x": {
+ source: "iana"
+ },
+ "audio/vnd.dolby.pl2z": {
+ source: "iana"
+ },
+ "audio/vnd.dolby.pulse.1": {
+ source: "iana"
+ },
+ "audio/vnd.dra": {
+ source: "iana",
+ extensions: ["dra"]
+ },
+ "audio/vnd.dts": {
+ source: "iana",
+ extensions: ["dts"]
+ },
+ "audio/vnd.dts.hd": {
+ source: "iana",
+ extensions: ["dtshd"]
+ },
+ "audio/vnd.dts.uhd": {
+ source: "iana"
+ },
+ "audio/vnd.dvb.file": {
+ source: "iana"
+ },
+ "audio/vnd.everad.plj": {
+ source: "iana"
+ },
+ "audio/vnd.hns.audio": {
+ source: "iana"
+ },
+ "audio/vnd.lucent.voice": {
+ source: "iana",
+ extensions: ["lvp"]
+ },
+ "audio/vnd.ms-playready.media.pya": {
+ source: "iana",
+ extensions: ["pya"]
+ },
+ "audio/vnd.nokia.mobile-xmf": {
+ source: "iana"
+ },
+ "audio/vnd.nortel.vbk": {
+ source: "iana"
+ },
+ "audio/vnd.nuera.ecelp4800": {
+ source: "iana",
+ extensions: ["ecelp4800"]
+ },
+ "audio/vnd.nuera.ecelp7470": {
+ source: "iana",
+ extensions: ["ecelp7470"]
+ },
+ "audio/vnd.nuera.ecelp9600": {
+ source: "iana",
+ extensions: ["ecelp9600"]
+ },
+ "audio/vnd.octel.sbc": {
+ source: "iana"
+ },
+ "audio/vnd.presonus.multitrack": {
+ source: "iana"
+ },
+ "audio/vnd.qcelp": {
+ source: "apache"
+ },
+ "audio/vnd.rhetorex.32kadpcm": {
+ source: "iana"
+ },
+ "audio/vnd.rip": {
+ source: "iana",
+ extensions: ["rip"]
+ },
+ "audio/vnd.rn-realaudio": {
+ compressible: false
+ },
+ "audio/vnd.sealedmedia.softseal.mpeg": {
+ source: "iana"
+ },
+ "audio/vnd.vmx.cvsd": {
+ source: "iana"
+ },
+ "audio/vnd.wave": {
+ compressible: false
+ },
+ "audio/vorbis": {
+ source: "iana",
+ compressible: false
+ },
+ "audio/vorbis-config": {
+ source: "iana"
+ },
+ "audio/wav": {
+ compressible: false,
+ extensions: ["wav"]
+ },
+ "audio/wave": {
+ compressible: false,
+ extensions: ["wav"]
+ },
+ "audio/webm": {
+ source: "apache",
+ compressible: false,
+ extensions: ["weba"]
+ },
+ "audio/x-aac": {
+ source: "apache",
+ compressible: false,
+ extensions: ["aac"]
+ },
+ "audio/x-aiff": {
+ source: "apache",
+ extensions: ["aif", "aiff", "aifc"]
+ },
+ "audio/x-caf": {
+ source: "apache",
+ compressible: false,
+ extensions: ["caf"]
+ },
+ "audio/x-flac": {
+ source: "apache",
+ extensions: ["flac"]
+ },
+ "audio/x-m4a": {
+ source: "nginx",
+ extensions: ["m4a"]
+ },
+ "audio/x-matroska": {
+ source: "apache",
+ extensions: ["mka"]
+ },
+ "audio/x-mpegurl": {
+ source: "apache",
+ extensions: ["m3u"]
+ },
+ "audio/x-ms-wax": {
+ source: "apache",
+ extensions: ["wax"]
+ },
+ "audio/x-ms-wma": {
+ source: "apache",
+ extensions: ["wma"]
+ },
+ "audio/x-pn-realaudio": {
+ source: "apache",
+ extensions: ["ram", "ra"]
+ },
+ "audio/x-pn-realaudio-plugin": {
+ source: "apache",
+ extensions: ["rmp"]
+ },
+ "audio/x-realaudio": {
+ source: "nginx",
+ extensions: ["ra"]
+ },
+ "audio/x-tta": {
+ source: "apache"
+ },
+ "audio/x-wav": {
+ source: "apache",
+ extensions: ["wav"]
+ },
+ "audio/xm": {
+ source: "apache",
+ extensions: ["xm"]
+ },
+ "chemical/x-cdx": {
+ source: "apache",
+ extensions: ["cdx"]
+ },
+ "chemical/x-cif": {
+ source: "apache",
+ extensions: ["cif"]
+ },
+ "chemical/x-cmdf": {
+ source: "apache",
+ extensions: ["cmdf"]
+ },
+ "chemical/x-cml": {
+ source: "apache",
+ extensions: ["cml"]
+ },
+ "chemical/x-csml": {
+ source: "apache",
+ extensions: ["csml"]
+ },
+ "chemical/x-pdb": {
+ source: "apache"
+ },
+ "chemical/x-xyz": {
+ source: "apache",
+ extensions: ["xyz"]
+ },
+ "font/collection": {
+ source: "iana",
+ extensions: ["ttc"]
+ },
+ "font/otf": {
+ source: "iana",
+ compressible: true,
+ extensions: ["otf"]
+ },
+ "font/sfnt": {
+ source: "iana"
+ },
+ "font/ttf": {
+ source: "iana",
+ compressible: true,
+ extensions: ["ttf"]
+ },
+ "font/woff": {
+ source: "iana",
+ extensions: ["woff"]
+ },
+ "font/woff2": {
+ source: "iana",
+ extensions: ["woff2"]
+ },
+ "image/aces": {
+ source: "iana",
+ extensions: ["exr"]
+ },
+ "image/apng": {
+ source: "iana",
+ compressible: false,
+ extensions: ["apng"]
+ },
+ "image/avci": {
+ source: "iana",
+ extensions: ["avci"]
+ },
+ "image/avcs": {
+ source: "iana",
+ extensions: ["avcs"]
+ },
+ "image/avif": {
+ source: "iana",
+ compressible: false,
+ extensions: ["avif"]
+ },
+ "image/bmp": {
+ source: "iana",
+ compressible: true,
+ extensions: ["bmp", "dib"]
+ },
+ "image/cgm": {
+ source: "iana",
+ extensions: ["cgm"]
+ },
+ "image/dicom-rle": {
+ source: "iana",
+ extensions: ["drle"]
+ },
+ "image/dpx": {
+ source: "iana",
+ extensions: ["dpx"]
+ },
+ "image/emf": {
+ source: "iana",
+ extensions: ["emf"]
+ },
+ "image/fits": {
+ source: "iana",
+ extensions: ["fits"]
+ },
+ "image/g3fax": {
+ source: "iana",
+ extensions: ["g3"]
+ },
+ "image/gif": {
+ source: "iana",
+ compressible: false,
+ extensions: ["gif"]
+ },
+ "image/heic": {
+ source: "iana",
+ extensions: ["heic"]
+ },
+ "image/heic-sequence": {
+ source: "iana",
+ extensions: ["heics"]
+ },
+ "image/heif": {
+ source: "iana",
+ extensions: ["heif"]
+ },
+ "image/heif-sequence": {
+ source: "iana",
+ extensions: ["heifs"]
+ },
+ "image/hej2k": {
+ source: "iana",
+ extensions: ["hej2"]
+ },
+ "image/ief": {
+ source: "iana",
+ extensions: ["ief"]
+ },
+ "image/j2c": {
+ source: "iana"
+ },
+ "image/jaii": {
+ source: "iana",
+ extensions: ["jaii"]
+ },
+ "image/jais": {
+ source: "iana",
+ extensions: ["jais"]
+ },
+ "image/jls": {
+ source: "iana",
+ extensions: ["jls"]
+ },
+ "image/jp2": {
+ source: "iana",
+ compressible: false,
+ extensions: ["jp2", "jpg2"]
+ },
+ "image/jpeg": {
+ source: "iana",
+ compressible: false,
+ extensions: ["jpg", "jpeg", "jpe"]
+ },
+ "image/jph": {
+ source: "iana",
+ extensions: ["jph"]
+ },
+ "image/jphc": {
+ source: "iana",
+ extensions: ["jhc"]
+ },
+ "image/jpm": {
+ source: "iana",
+ compressible: false,
+ extensions: ["jpm", "jpgm"]
+ },
+ "image/jpx": {
+ source: "iana",
+ compressible: false,
+ extensions: ["jpx", "jpf"]
+ },
+ "image/jxl": {
+ source: "iana",
+ extensions: ["jxl"]
+ },
+ "image/jxr": {
+ source: "iana",
+ extensions: ["jxr"]
+ },
+ "image/jxra": {
+ source: "iana",
+ extensions: ["jxra"]
+ },
+ "image/jxrs": {
+ source: "iana",
+ extensions: ["jxrs"]
+ },
+ "image/jxs": {
+ source: "iana",
+ extensions: ["jxs"]
+ },
+ "image/jxsc": {
+ source: "iana",
+ extensions: ["jxsc"]
+ },
+ "image/jxsi": {
+ source: "iana",
+ extensions: ["jxsi"]
+ },
+ "image/jxss": {
+ source: "iana",
+ extensions: ["jxss"]
+ },
+ "image/ktx": {
+ source: "iana",
+ extensions: ["ktx"]
+ },
+ "image/ktx2": {
+ source: "iana",
+ extensions: ["ktx2"]
+ },
+ "image/naplps": {
+ source: "iana"
+ },
+ "image/pjpeg": {
+ compressible: false,
+ extensions: ["jfif"]
+ },
+ "image/png": {
+ source: "iana",
+ compressible: false,
+ extensions: ["png"]
+ },
+ "image/prs.btif": {
+ source: "iana",
+ extensions: ["btif", "btf"]
+ },
+ "image/prs.pti": {
+ source: "iana",
+ extensions: ["pti"]
+ },
+ "image/pwg-raster": {
+ source: "iana"
+ },
+ "image/sgi": {
+ source: "apache",
+ extensions: ["sgi"]
+ },
+ "image/svg+xml": {
+ source: "iana",
+ compressible: true,
+ extensions: ["svg", "svgz"]
+ },
+ "image/t38": {
+ source: "iana",
+ extensions: ["t38"]
+ },
+ "image/tiff": {
+ source: "iana",
+ compressible: false,
+ extensions: ["tif", "tiff"]
+ },
+ "image/tiff-fx": {
+ source: "iana",
+ extensions: ["tfx"]
+ },
+ "image/vnd.adobe.photoshop": {
+ source: "iana",
+ compressible: true,
+ extensions: ["psd"]
+ },
+ "image/vnd.airzip.accelerator.azv": {
+ source: "iana",
+ extensions: ["azv"]
+ },
+ "image/vnd.clip": {
+ source: "iana"
+ },
+ "image/vnd.cns.inf2": {
+ source: "iana"
+ },
+ "image/vnd.dece.graphic": {
+ source: "iana",
+ extensions: ["uvi", "uvvi", "uvg", "uvvg"]
+ },
+ "image/vnd.djvu": {
+ source: "iana",
+ extensions: ["djvu", "djv"]
+ },
+ "image/vnd.dvb.subtitle": {
+ source: "iana",
+ extensions: ["sub"]
+ },
+ "image/vnd.dwg": {
+ source: "iana",
+ extensions: ["dwg"]
+ },
+ "image/vnd.dxf": {
+ source: "iana",
+ extensions: ["dxf"]
+ },
+ "image/vnd.fastbidsheet": {
+ source: "iana",
+ extensions: ["fbs"]
+ },
+ "image/vnd.fpx": {
+ source: "iana",
+ extensions: ["fpx"]
+ },
+ "image/vnd.fst": {
+ source: "iana",
+ extensions: ["fst"]
+ },
+ "image/vnd.fujixerox.edmics-mmr": {
+ source: "iana",
+ extensions: ["mmr"]
+ },
+ "image/vnd.fujixerox.edmics-rlc": {
+ source: "iana",
+ extensions: ["rlc"]
+ },
+ "image/vnd.globalgraphics.pgb": {
+ source: "iana"
+ },
+ "image/vnd.microsoft.icon": {
+ source: "iana",
+ compressible: true,
+ extensions: ["ico"]
+ },
+ "image/vnd.mix": {
+ source: "iana"
+ },
+ "image/vnd.mozilla.apng": {
+ source: "iana"
+ },
+ "image/vnd.ms-dds": {
+ compressible: true,
+ extensions: ["dds"]
+ },
+ "image/vnd.ms-modi": {
+ source: "iana",
+ extensions: ["mdi"]
+ },
+ "image/vnd.ms-photo": {
+ source: "apache",
+ extensions: ["wdp"]
+ },
+ "image/vnd.net-fpx": {
+ source: "iana",
+ extensions: ["npx"]
+ },
+ "image/vnd.pco.b16": {
+ source: "iana",
+ extensions: ["b16"]
+ },
+ "image/vnd.radiance": {
+ source: "iana"
+ },
+ "image/vnd.sealed.png": {
+ source: "iana"
+ },
+ "image/vnd.sealedmedia.softseal.gif": {
+ source: "iana"
+ },
+ "image/vnd.sealedmedia.softseal.jpg": {
+ source: "iana"
+ },
+ "image/vnd.svf": {
+ source: "iana"
+ },
+ "image/vnd.tencent.tap": {
+ source: "iana",
+ extensions: ["tap"]
+ },
+ "image/vnd.valve.source.texture": {
+ source: "iana",
+ extensions: ["vtf"]
+ },
+ "image/vnd.wap.wbmp": {
+ source: "iana",
+ extensions: ["wbmp"]
+ },
+ "image/vnd.xiff": {
+ source: "iana",
+ extensions: ["xif"]
+ },
+ "image/vnd.zbrush.pcx": {
+ source: "iana",
+ extensions: ["pcx"]
+ },
+ "image/webp": {
+ source: "iana",
+ extensions: ["webp"]
+ },
+ "image/wmf": {
+ source: "iana",
+ extensions: ["wmf"]
+ },
+ "image/x-3ds": {
+ source: "apache",
+ extensions: ["3ds"]
+ },
+ "image/x-adobe-dng": {
+ extensions: ["dng"]
+ },
+ "image/x-cmu-raster": {
+ source: "apache",
+ extensions: ["ras"]
+ },
+ "image/x-cmx": {
+ source: "apache",
+ extensions: ["cmx"]
+ },
+ "image/x-emf": {
+ source: "iana"
+ },
+ "image/x-freehand": {
+ source: "apache",
+ extensions: ["fh", "fhc", "fh4", "fh5", "fh7"]
+ },
+ "image/x-icon": {
+ source: "apache",
+ compressible: true,
+ extensions: ["ico"]
+ },
+ "image/x-jng": {
+ source: "nginx",
+ extensions: ["jng"]
+ },
+ "image/x-mrsid-image": {
+ source: "apache",
+ extensions: ["sid"]
+ },
+ "image/x-ms-bmp": {
+ source: "nginx",
+ compressible: true,
+ extensions: ["bmp"]
+ },
+ "image/x-pcx": {
+ source: "apache",
+ extensions: ["pcx"]
+ },
+ "image/x-pict": {
+ source: "apache",
+ extensions: ["pic", "pct"]
+ },
+ "image/x-portable-anymap": {
+ source: "apache",
+ extensions: ["pnm"]
+ },
+ "image/x-portable-bitmap": {
+ source: "apache",
+ extensions: ["pbm"]
+ },
+ "image/x-portable-graymap": {
+ source: "apache",
+ extensions: ["pgm"]
+ },
+ "image/x-portable-pixmap": {
+ source: "apache",
+ extensions: ["ppm"]
+ },
+ "image/x-rgb": {
+ source: "apache",
+ extensions: ["rgb"]
+ },
+ "image/x-tga": {
+ source: "apache",
+ extensions: ["tga"]
+ },
+ "image/x-wmf": {
+ source: "iana"
+ },
+ "image/x-xbitmap": {
+ source: "apache",
+ extensions: ["xbm"]
+ },
+ "image/x-xcf": {
+ compressible: false
+ },
+ "image/x-xpixmap": {
+ source: "apache",
+ extensions: ["xpm"]
+ },
+ "image/x-xwindowdump": {
+ source: "apache",
+ extensions: ["xwd"]
+ },
+ "message/bhttp": {
+ source: "iana"
+ },
+ "message/cpim": {
+ source: "iana"
+ },
+ "message/delivery-status": {
+ source: "iana"
+ },
+ "message/disposition-notification": {
+ source: "iana",
+ extensions: [
+ "disposition-notification"
+ ]
+ },
+ "message/external-body": {
+ source: "iana"
+ },
+ "message/feedback-report": {
+ source: "iana"
+ },
+ "message/global": {
+ source: "iana",
+ extensions: ["u8msg"]
+ },
+ "message/global-delivery-status": {
+ source: "iana",
+ extensions: ["u8dsn"]
+ },
+ "message/global-disposition-notification": {
+ source: "iana",
+ extensions: ["u8mdn"]
+ },
+ "message/global-headers": {
+ source: "iana",
+ extensions: ["u8hdr"]
+ },
+ "message/http": {
+ source: "iana",
+ compressible: false
+ },
+ "message/imdn+xml": {
+ source: "iana",
+ compressible: true
+ },
+ "message/mls": {
+ source: "iana"
+ },
+ "message/news": {
+ source: "apache"
+ },
+ "message/ohttp-req": {
+ source: "iana"
+ },
+ "message/ohttp-res": {
+ source: "iana"
+ },
+ "message/partial": {
+ source: "iana",
+ compressible: false
+ },
+ "message/rfc822": {
+ source: "iana",
+ compressible: true,
+ extensions: ["eml", "mime", "mht", "mhtml"]
+ },
+ "message/s-http": {
+ source: "apache"
+ },
+ "message/sip": {
+ source: "iana"
+ },
+ "message/sipfrag": {
+ source: "iana"
+ },
+ "message/tracking-status": {
+ source: "iana"
+ },
+ "message/vnd.si.simp": {
+ source: "apache"
+ },
+ "message/vnd.wfa.wsc": {
+ source: "iana",
+ extensions: ["wsc"]
+ },
+ "model/3mf": {
+ source: "iana",
+ extensions: ["3mf"]
+ },
+ "model/e57": {
+ source: "iana"
+ },
+ "model/gltf+json": {
+ source: "iana",
+ compressible: true,
+ extensions: ["gltf"]
+ },
+ "model/gltf-binary": {
+ source: "iana",
+ compressible: true,
+ extensions: ["glb"]
+ },
+ "model/iges": {
+ source: "iana",
+ compressible: false,
+ extensions: ["igs", "iges"]
+ },
+ "model/jt": {
+ source: "iana",
+ extensions: ["jt"]
+ },
+ "model/mesh": {
+ source: "iana",
+ compressible: false,
+ extensions: ["msh", "mesh", "silo"]
+ },
+ "model/mtl": {
+ source: "iana",
+ extensions: ["mtl"]
+ },
+ "model/obj": {
+ source: "iana",
+ extensions: ["obj"]
+ },
+ "model/prc": {
+ source: "iana",
+ extensions: ["prc"]
+ },
+ "model/step": {
+ source: "iana",
+ extensions: ["step", "stp", "stpnc", "p21", "210"]
+ },
+ "model/step+xml": {
+ source: "iana",
+ compressible: true,
+ extensions: ["stpx"]
+ },
+ "model/step+zip": {
+ source: "iana",
+ compressible: false,
+ extensions: ["stpz"]
+ },
+ "model/step-xml+zip": {
+ source: "iana",
+ compressible: false,
+ extensions: ["stpxz"]
+ },
+ "model/stl": {
+ source: "iana",
+ extensions: ["stl"]
+ },
+ "model/u3d": {
+ source: "iana",
+ extensions: ["u3d"]
+ },
+ "model/vnd.bary": {
+ source: "iana",
+ extensions: ["bary"]
+ },
+ "model/vnd.cld": {
+ source: "iana",
+ extensions: ["cld"]
+ },
+ "model/vnd.collada+xml": {
+ source: "iana",
+ compressible: true,
+ extensions: ["dae"]
+ },
+ "model/vnd.dwf": {
+ source: "iana",
+ extensions: ["dwf"]
+ },
+ "model/vnd.flatland.3dml": {
+ source: "iana"
+ },
+ "model/vnd.gdl": {
+ source: "iana",
+ extensions: ["gdl"]
+ },
+ "model/vnd.gs-gdl": {
+ source: "apache"
+ },
+ "model/vnd.gs.gdl": {
+ source: "iana"
+ },
+ "model/vnd.gtw": {
+ source: "iana",
+ extensions: ["gtw"]
+ },
+ "model/vnd.moml+xml": {
+ source: "iana",
+ compressible: true
+ },
+ "model/vnd.mts": {
+ source: "iana",
+ extensions: ["mts"]
+ },
+ "model/vnd.opengex": {
+ source: "iana",
+ extensions: ["ogex"]
+ },
+ "model/vnd.parasolid.transmit.binary": {
+ source: "iana",
+ extensions: ["x_b"]
+ },
+ "model/vnd.parasolid.transmit.text": {
+ source: "iana",
+ extensions: ["x_t"]
+ },
+ "model/vnd.pytha.pyox": {
+ source: "iana",
+ extensions: ["pyo", "pyox"]
+ },
+ "model/vnd.rosette.annotated-data-model": {
+ source: "iana"
+ },
+ "model/vnd.sap.vds": {
+ source: "iana",
+ extensions: ["vds"]
+ },
+ "model/vnd.usda": {
+ source: "iana",
+ extensions: ["usda"]
+ },
+ "model/vnd.usdz+zip": {
+ source: "iana",
+ compressible: false,
+ extensions: ["usdz"]
+ },
+ "model/vnd.valve.source.compiled-map": {
+ source: "iana",
+ extensions: ["bsp"]
+ },
+ "model/vnd.vtu": {
+ source: "iana",
+ extensions: ["vtu"]
+ },
+ "model/vrml": {
+ source: "iana",
+ compressible: false,
+ extensions: ["wrl", "vrml"]
+ },
+ "model/x3d+binary": {
+ source: "apache",
+ compressible: false,
+ extensions: ["x3db", "x3dbz"]
+ },
+ "model/x3d+fastinfoset": {
+ source: "iana",
+ extensions: ["x3db"]
+ },
+ "model/x3d+vrml": {
+ source: "apache",
+ compressible: false,
+ extensions: ["x3dv", "x3dvz"]
+ },
+ "model/x3d+xml": {
+ source: "iana",
+ compressible: true,
+ extensions: ["x3d", "x3dz"]
+ },
+ "model/x3d-vrml": {
+ source: "iana",
+ extensions: ["x3dv"]
+ },
+ "multipart/alternative": {
+ source: "iana",
+ compressible: false
+ },
+ "multipart/appledouble": {
+ source: "iana"
+ },
+ "multipart/byteranges": {
+ source: "iana"
+ },
+ "multipart/digest": {
+ source: "iana"
+ },
+ "multipart/encrypted": {
+ source: "iana",
+ compressible: false
+ },
+ "multipart/form-data": {
+ source: "iana",
+ compressible: false
+ },
+ "multipart/header-set": {
+ source: "iana"
+ },
+ "multipart/mixed": {
+ source: "iana"
+ },
+ "multipart/multilingual": {
+ source: "iana"
+ },
+ "multipart/parallel": {
+ source: "iana"
+ },
+ "multipart/related": {
+ source: "iana",
+ compressible: false
+ },
+ "multipart/report": {
+ source: "iana"
+ },
+ "multipart/signed": {
+ source: "iana",
+ compressible: false
+ },
+ "multipart/vnd.bint.med-plus": {
+ source: "iana"
+ },
+ "multipart/voice-message": {
+ source: "iana"
+ },
+ "multipart/x-mixed-replace": {
+ source: "iana"
+ },
+ "text/1d-interleaved-parityfec": {
+ source: "iana"
+ },
+ "text/cache-manifest": {
+ source: "iana",
+ compressible: true,
+ extensions: ["appcache", "manifest"]
+ },
+ "text/calendar": {
+ source: "iana",
+ extensions: ["ics", "ifb"]
+ },
+ "text/calender": {
+ compressible: true
+ },
+ "text/cmd": {
+ compressible: true
+ },
+ "text/coffeescript": {
+ extensions: ["coffee", "litcoffee"]
+ },
+ "text/cql": {
+ source: "iana"
+ },
+ "text/cql-expression": {
+ source: "iana"
+ },
+ "text/cql-identifier": {
+ source: "iana"
+ },
+ "text/css": {
+ source: "iana",
+ charset: "UTF-8",
+ compressible: true,
+ extensions: ["css"]
+ },
+ "text/csv": {
+ source: "iana",
+ compressible: true,
+ extensions: ["csv"]
+ },
+ "text/csv-schema": {
+ source: "iana"
+ },
+ "text/directory": {
+ source: "iana"
+ },
+ "text/dns": {
+ source: "iana"
+ },
+ "text/ecmascript": {
+ source: "apache"
+ },
+ "text/encaprtp": {
+ source: "iana"
+ },
+ "text/enriched": {
+ source: "iana"
+ },
+ "text/fhirpath": {
+ source: "iana"
+ },
+ "text/flexfec": {
+ source: "iana"
+ },
+ "text/fwdred": {
+ source: "iana"
+ },
+ "text/gff3": {
+ source: "iana"
+ },
+ "text/grammar-ref-list": {
+ source: "iana"
+ },
+ "text/hl7v2": {
+ source: "iana"
+ },
+ "text/html": {
+ source: "iana",
+ compressible: true,
+ extensions: ["html", "htm", "shtml"]
+ },
+ "text/jade": {
+ extensions: ["jade"]
+ },
+ "text/javascript": {
+ source: "iana",
+ charset: "UTF-8",
+ compressible: true,
+ extensions: ["js", "mjs"]
+ },
+ "text/jcr-cnd": {
+ source: "iana"
+ },
+ "text/jsx": {
+ compressible: true,
+ extensions: ["jsx"]
+ },
+ "text/less": {
+ compressible: true,
+ extensions: ["less"]
+ },
+ "text/markdown": {
+ source: "iana",
+ compressible: true,
+ extensions: ["md", "markdown"]
+ },
+ "text/mathml": {
+ source: "nginx",
+ extensions: ["mml"]
+ },
+ "text/mdx": {
+ compressible: true,
+ extensions: ["mdx"]
+ },
+ "text/mizar": {
+ source: "iana"
+ },
+ "text/n3": {
+ source: "iana",
+ charset: "UTF-8",
+ compressible: true,
+ extensions: ["n3"]
+ },
+ "text/parameters": {
+ source: "iana",
+ charset: "UTF-8"
+ },
+ "text/parityfec": {
+ source: "iana"
+ },
+ "text/plain": {
+ source: "iana",
+ compressible: true,
+ extensions: ["txt", "text", "conf", "def", "list", "log", "in", "ini"]
+ },
+ "text/provenance-notation": {
+ source: "iana",
+ charset: "UTF-8"
+ },
+ "text/prs.fallenstein.rst": {
+ source: "iana"
+ },
+ "text/prs.lines.tag": {
+ source: "iana",
+ extensions: ["dsc"]
+ },
+ "text/prs.prop.logic": {
+ source: "iana"
+ },
+ "text/prs.texi": {
+ source: "iana"
+ },
+ "text/raptorfec": {
+ source: "iana"
+ },
+ "text/red": {
+ source: "iana"
+ },
+ "text/rfc822-headers": {
+ source: "iana"
+ },
+ "text/richtext": {
+ source: "iana",
+ compressible: true,
+ extensions: ["rtx"]
+ },
+ "text/rtf": {
+ source: "iana",
+ compressible: true,
+ extensions: ["rtf"]
+ },
+ "text/rtp-enc-aescm128": {
+ source: "iana"
+ },
+ "text/rtploopback": {
+ source: "iana"
+ },
+ "text/rtx": {
+ source: "iana"
+ },
+ "text/sgml": {
+ source: "iana",
+ extensions: ["sgml", "sgm"]
+ },
+ "text/shaclc": {
+ source: "iana"
+ },
+ "text/shex": {
+ source: "iana",
+ extensions: ["shex"]
+ },
+ "text/slim": {
+ extensions: ["slim", "slm"]
+ },
+ "text/spdx": {
+ source: "iana",
+ extensions: ["spdx"]
+ },
+ "text/strings": {
+ source: "iana"
+ },
+ "text/stylus": {
+ extensions: ["stylus", "styl"]
+ },
+ "text/t140": {
+ source: "iana"
+ },
+ "text/tab-separated-values": {
+ source: "iana",
+ compressible: true,
+ extensions: ["tsv"]
+ },
+ "text/troff": {
+ source: "iana",
+ extensions: ["t", "tr", "roff", "man", "me", "ms"]
+ },
+ "text/turtle": {
+ source: "iana",
+ charset: "UTF-8",
+ extensions: ["ttl"]
+ },
+ "text/ulpfec": {
+ source: "iana"
+ },
+ "text/uri-list": {
+ source: "iana",
+ compressible: true,
+ extensions: ["uri", "uris", "urls"]
+ },
+ "text/vcard": {
+ source: "iana",
+ compressible: true,
+ extensions: ["vcard"]
+ },
+ "text/vnd.a": {
+ source: "iana"
+ },
+ "text/vnd.abc": {
+ source: "iana"
+ },
+ "text/vnd.ascii-art": {
+ source: "iana"
+ },
+ "text/vnd.curl": {
+ source: "iana",
+ extensions: ["curl"]
+ },
+ "text/vnd.curl.dcurl": {
+ source: "apache",
+ extensions: ["dcurl"]
+ },
+ "text/vnd.curl.mcurl": {
+ source: "apache",
+ extensions: ["mcurl"]
+ },
+ "text/vnd.curl.scurl": {
+ source: "apache",
+ extensions: ["scurl"]
+ },
+ "text/vnd.debian.copyright": {
+ source: "iana",
+ charset: "UTF-8"
+ },
+ "text/vnd.dmclientscript": {
+ source: "iana"
+ },
+ "text/vnd.dvb.subtitle": {
+ source: "iana",
+ extensions: ["sub"]
+ },
+ "text/vnd.esmertec.theme-descriptor": {
+ source: "iana",
+ charset: "UTF-8"
+ },
+ "text/vnd.exchangeable": {
+ source: "iana"
+ },
+ "text/vnd.familysearch.gedcom": {
+ source: "iana",
+ extensions: ["ged"]
+ },
+ "text/vnd.ficlab.flt": {
+ source: "iana"
+ },
+ "text/vnd.fly": {
+ source: "iana",
+ extensions: ["fly"]
+ },
+ "text/vnd.fmi.flexstor": {
+ source: "iana",
+ extensions: ["flx"]
+ },
+ "text/vnd.gml": {
+ source: "iana"
+ },
+ "text/vnd.graphviz": {
+ source: "iana",
+ extensions: ["gv"]
+ },
+ "text/vnd.hans": {
+ source: "iana"
+ },
+ "text/vnd.hgl": {
+ source: "iana"
+ },
+ "text/vnd.in3d.3dml": {
+ source: "iana",
+ extensions: ["3dml"]
+ },
+ "text/vnd.in3d.spot": {
+ source: "iana",
+ extensions: ["spot"]
+ },
+ "text/vnd.iptc.newsml": {
+ source: "iana"
+ },
+ "text/vnd.iptc.nitf": {
+ source: "iana"
+ },
+ "text/vnd.latex-z": {
+ source: "iana"
+ },
+ "text/vnd.motorola.reflex": {
+ source: "iana"
+ },
+ "text/vnd.ms-mediapackage": {
+ source: "iana"
+ },
+ "text/vnd.net2phone.commcenter.command": {
+ source: "iana"
+ },
+ "text/vnd.radisys.msml-basic-layout": {
+ source: "iana"
+ },
+ "text/vnd.senx.warpscript": {
+ source: "iana"
+ },
+ "text/vnd.si.uricatalogue": {
+ source: "apache"
+ },
+ "text/vnd.sosi": {
+ source: "iana"
+ },
+ "text/vnd.sun.j2me.app-descriptor": {
+ source: "iana",
+ charset: "UTF-8",
+ extensions: ["jad"]
+ },
+ "text/vnd.trolltech.linguist": {
+ source: "iana",
+ charset: "UTF-8"
+ },
+ "text/vnd.vcf": {
+ source: "iana"
+ },
+ "text/vnd.wap.si": {
+ source: "iana"
+ },
+ "text/vnd.wap.sl": {
+ source: "iana"
+ },
+ "text/vnd.wap.wml": {
+ source: "iana",
+ extensions: ["wml"]
+ },
+ "text/vnd.wap.wmlscript": {
+ source: "iana",
+ extensions: ["wmls"]
+ },
+ "text/vnd.zoo.kcl": {
+ source: "iana"
+ },
+ "text/vtt": {
+ source: "iana",
+ charset: "UTF-8",
+ compressible: true,
+ extensions: ["vtt"]
+ },
+ "text/wgsl": {
+ source: "iana",
+ extensions: ["wgsl"]
+ },
+ "text/x-asm": {
+ source: "apache",
+ extensions: ["s", "asm"]
+ },
+ "text/x-c": {
+ source: "apache",
+ extensions: ["c", "cc", "cxx", "cpp", "h", "hh", "dic"]
+ },
+ "text/x-component": {
+ source: "nginx",
+ extensions: ["htc"]
+ },
+ "text/x-fortran": {
+ source: "apache",
+ extensions: ["f", "for", "f77", "f90"]
+ },
+ "text/x-gwt-rpc": {
+ compressible: true
+ },
+ "text/x-handlebars-template": {
+ extensions: ["hbs"]
+ },
+ "text/x-java-source": {
+ source: "apache",
+ extensions: ["java"]
+ },
+ "text/x-jquery-tmpl": {
+ compressible: true
+ },
+ "text/x-lua": {
+ extensions: ["lua"]
+ },
+ "text/x-markdown": {
+ compressible: true,
+ extensions: ["mkd"]
+ },
+ "text/x-nfo": {
+ source: "apache",
+ extensions: ["nfo"]
+ },
+ "text/x-opml": {
+ source: "apache",
+ extensions: ["opml"]
+ },
+ "text/x-org": {
+ compressible: true,
+ extensions: ["org"]
+ },
+ "text/x-pascal": {
+ source: "apache",
+ extensions: ["p", "pas"]
+ },
+ "text/x-processing": {
+ compressible: true,
+ extensions: ["pde"]
+ },
+ "text/x-sass": {
+ extensions: ["sass"]
+ },
+ "text/x-scss": {
+ extensions: ["scss"]
+ },
+ "text/x-setext": {
+ source: "apache",
+ extensions: ["etx"]
+ },
+ "text/x-sfv": {
+ source: "apache",
+ extensions: ["sfv"]
+ },
+ "text/x-suse-ymp": {
+ compressible: true,
+ extensions: ["ymp"]
+ },
+ "text/x-uuencode": {
+ source: "apache",
+ extensions: ["uu"]
+ },
+ "text/x-vcalendar": {
+ source: "apache",
+ extensions: ["vcs"]
+ },
+ "text/x-vcard": {
+ source: "apache",
+ extensions: ["vcf"]
+ },
+ "text/xml": {
+ source: "iana",
+ compressible: true,
+ extensions: ["xml"]
+ },
+ "text/xml-external-parsed-entity": {
+ source: "iana"
+ },
+ "text/yaml": {
+ compressible: true,
+ extensions: ["yaml", "yml"]
+ },
+ "video/1d-interleaved-parityfec": {
+ source: "iana"
+ },
+ "video/3gpp": {
+ source: "iana",
+ extensions: ["3gp", "3gpp"]
+ },
+ "video/3gpp-tt": {
+ source: "iana"
+ },
+ "video/3gpp2": {
+ source: "iana",
+ extensions: ["3g2"]
+ },
+ "video/av1": {
+ source: "iana"
+ },
+ "video/bmpeg": {
+ source: "iana"
+ },
+ "video/bt656": {
+ source: "iana"
+ },
+ "video/celb": {
+ source: "iana"
+ },
+ "video/dv": {
+ source: "iana"
+ },
+ "video/encaprtp": {
+ source: "iana"
+ },
+ "video/evc": {
+ source: "iana"
+ },
+ "video/ffv1": {
+ source: "iana"
+ },
+ "video/flexfec": {
+ source: "iana"
+ },
+ "video/h261": {
+ source: "iana",
+ extensions: ["h261"]
+ },
+ "video/h263": {
+ source: "iana",
+ extensions: ["h263"]
+ },
+ "video/h263-1998": {
+ source: "iana"
+ },
+ "video/h263-2000": {
+ source: "iana"
+ },
+ "video/h264": {
+ source: "iana",
+ extensions: ["h264"]
+ },
+ "video/h264-rcdo": {
+ source: "iana"
+ },
+ "video/h264-svc": {
+ source: "iana"
+ },
+ "video/h265": {
+ source: "iana"
+ },
+ "video/h266": {
+ source: "iana"
+ },
+ "video/iso.segment": {
+ source: "iana",
+ extensions: ["m4s"]
+ },
+ "video/jpeg": {
+ source: "iana",
+ extensions: ["jpgv"]
+ },
+ "video/jpeg2000": {
+ source: "iana"
+ },
+ "video/jpm": {
+ source: "apache",
+ extensions: ["jpm", "jpgm"]
+ },
+ "video/jxsv": {
+ source: "iana"
+ },
+ "video/lottie+json": {
+ source: "iana",
+ compressible: true
+ },
+ "video/matroska": {
+ source: "iana"
+ },
+ "video/matroska-3d": {
+ source: "iana"
+ },
+ "video/mj2": {
+ source: "iana",
+ extensions: ["mj2", "mjp2"]
+ },
+ "video/mp1s": {
+ source: "iana"
+ },
+ "video/mp2p": {
+ source: "iana"
+ },
+ "video/mp2t": {
+ source: "iana",
+ extensions: ["ts", "m2t", "m2ts", "mts"]
+ },
+ "video/mp4": {
+ source: "iana",
+ compressible: false,
+ extensions: ["mp4", "mp4v", "mpg4"]
+ },
+ "video/mp4v-es": {
+ source: "iana"
+ },
+ "video/mpeg": {
+ source: "iana",
+ compressible: false,
+ extensions: ["mpeg", "mpg", "mpe", "m1v", "m2v"]
+ },
+ "video/mpeg4-generic": {
+ source: "iana"
+ },
+ "video/mpv": {
+ source: "iana"
+ },
+ "video/nv": {
+ source: "iana"
+ },
+ "video/ogg": {
+ source: "iana",
+ compressible: false,
+ extensions: ["ogv"]
+ },
+ "video/parityfec": {
+ source: "iana"
+ },
+ "video/pointer": {
+ source: "iana"
+ },
+ "video/quicktime": {
+ source: "iana",
+ compressible: false,
+ extensions: ["qt", "mov"]
+ },
+ "video/raptorfec": {
+ source: "iana"
+ },
+ "video/raw": {
+ source: "iana"
+ },
+ "video/rtp-enc-aescm128": {
+ source: "iana"
+ },
+ "video/rtploopback": {
+ source: "iana"
+ },
+ "video/rtx": {
+ source: "iana"
+ },
+ "video/scip": {
+ source: "iana"
+ },
+ "video/smpte291": {
+ source: "iana"
+ },
+ "video/smpte292m": {
+ source: "iana"
+ },
+ "video/ulpfec": {
+ source: "iana"
+ },
+ "video/vc1": {
+ source: "iana"
+ },
+ "video/vc2": {
+ source: "iana"
+ },
+ "video/vnd.cctv": {
+ source: "iana"
+ },
+ "video/vnd.dece.hd": {
+ source: "iana",
+ extensions: ["uvh", "uvvh"]
+ },
+ "video/vnd.dece.mobile": {
+ source: "iana",
+ extensions: ["uvm", "uvvm"]
+ },
+ "video/vnd.dece.mp4": {
+ source: "iana"
+ },
+ "video/vnd.dece.pd": {
+ source: "iana",
+ extensions: ["uvp", "uvvp"]
+ },
+ "video/vnd.dece.sd": {
+ source: "iana",
+ extensions: ["uvs", "uvvs"]
+ },
+ "video/vnd.dece.video": {
+ source: "iana",
+ extensions: ["uvv", "uvvv"]
+ },
+ "video/vnd.directv.mpeg": {
+ source: "iana"
+ },
+ "video/vnd.directv.mpeg-tts": {
+ source: "iana"
+ },
+ "video/vnd.dlna.mpeg-tts": {
+ source: "iana"
+ },
+ "video/vnd.dvb.file": {
+ source: "iana",
+ extensions: ["dvb"]
+ },
+ "video/vnd.fvt": {
+ source: "iana",
+ extensions: ["fvt"]
+ },
+ "video/vnd.hns.video": {
+ source: "iana"
+ },
+ "video/vnd.iptvforum.1dparityfec-1010": {
+ source: "iana"
+ },
+ "video/vnd.iptvforum.1dparityfec-2005": {
+ source: "iana"
+ },
+ "video/vnd.iptvforum.2dparityfec-1010": {
+ source: "iana"
+ },
+ "video/vnd.iptvforum.2dparityfec-2005": {
+ source: "iana"
+ },
+ "video/vnd.iptvforum.ttsavc": {
+ source: "iana"
+ },
+ "video/vnd.iptvforum.ttsmpeg2": {
+ source: "iana"
+ },
+ "video/vnd.motorola.video": {
+ source: "iana"
+ },
+ "video/vnd.motorola.videop": {
+ source: "iana"
+ },
+ "video/vnd.mpegurl": {
+ source: "iana",
+ extensions: ["mxu", "m4u"]
+ },
+ "video/vnd.ms-playready.media.pyv": {
+ source: "iana",
+ extensions: ["pyv"]
+ },
+ "video/vnd.nokia.interleaved-multimedia": {
+ source: "iana"
+ },
+ "video/vnd.nokia.mp4vr": {
+ source: "iana"
+ },
+ "video/vnd.nokia.videovoip": {
+ source: "iana"
+ },
+ "video/vnd.objectvideo": {
+ source: "iana"
+ },
+ "video/vnd.planar": {
+ source: "iana"
+ },
+ "video/vnd.radgamettools.bink": {
+ source: "iana"
+ },
+ "video/vnd.radgamettools.smacker": {
+ source: "apache"
+ },
+ "video/vnd.sealed.mpeg1": {
+ source: "iana"
+ },
+ "video/vnd.sealed.mpeg4": {
+ source: "iana"
+ },
+ "video/vnd.sealed.swf": {
+ source: "iana"
+ },
+ "video/vnd.sealedmedia.softseal.mov": {
+ source: "iana"
+ },
+ "video/vnd.uvvu.mp4": {
+ source: "iana",
+ extensions: ["uvu", "uvvu"]
+ },
+ "video/vnd.vivo": {
+ source: "iana",
+ extensions: ["viv"]
+ },
+ "video/vnd.youtube.yt": {
+ source: "iana"
+ },
+ "video/vp8": {
+ source: "iana"
+ },
+ "video/vp9": {
+ source: "iana"
+ },
+ "video/webm": {
+ source: "apache",
+ compressible: false,
+ extensions: ["webm"]
+ },
+ "video/x-f4v": {
+ source: "apache",
+ extensions: ["f4v"]
+ },
+ "video/x-fli": {
+ source: "apache",
+ extensions: ["fli"]
+ },
+ "video/x-flv": {
+ source: "apache",
+ compressible: false,
+ extensions: ["flv"]
+ },
+ "video/x-m4v": {
+ source: "apache",
+ extensions: ["m4v"]
+ },
+ "video/x-matroska": {
+ source: "apache",
+ compressible: false,
+ extensions: ["mkv", "mk3d", "mks"]
+ },
+ "video/x-mng": {
+ source: "apache",
+ extensions: ["mng"]
+ },
+ "video/x-ms-asf": {
+ source: "apache",
+ extensions: ["asf", "asx"]
+ },
+ "video/x-ms-vob": {
+ source: "apache",
+ extensions: ["vob"]
+ },
+ "video/x-ms-wm": {
+ source: "apache",
+ extensions: ["wm"]
+ },
+ "video/x-ms-wmv": {
+ source: "apache",
+ compressible: false,
+ extensions: ["wmv"]
+ },
+ "video/x-ms-wmx": {
+ source: "apache",
+ extensions: ["wmx"]
+ },
+ "video/x-ms-wvx": {
+ source: "apache",
+ extensions: ["wvx"]
+ },
+ "video/x-msvideo": {
+ source: "apache",
+ extensions: ["avi"]
+ },
+ "video/x-sgi-movie": {
+ source: "apache",
+ extensions: ["movie"]
+ },
+ "video/x-smv": {
+ source: "apache",
+ extensions: ["smv"]
+ },
+ "x-conference/x-cooltalk": {
+ source: "apache",
+ extensions: ["ice"]
+ },
+ "x-shader/x-fragment": {
+ compressible: true
+ },
+ "x-shader/x-vertex": {
+ compressible: true
+ }
+ };
+ }
+});
+
+// ../../node_modules/.pnpm/mime-db@1.54.0/node_modules/mime-db/index.js
+var require_mime_db = __commonJS({
+ "../../node_modules/.pnpm/mime-db@1.54.0/node_modules/mime-db/index.js"(exports, module) {
+ module.exports = require_db();
+ }
+});
+
+// ../../node_modules/.pnpm/mime-types@3.0.2/node_modules/mime-types/mimeScore.js
+var require_mimeScore = __commonJS({
+ "../../node_modules/.pnpm/mime-types@3.0.2/node_modules/mime-types/mimeScore.js"(exports, module) {
+ var FACET_SCORES = {
+ "prs.": 100,
+ "x-": 200,
+ "x.": 300,
+ "vnd.": 400,
+ default: 900
+ };
+ var SOURCE_SCORES = {
+ nginx: 10,
+ apache: 20,
+ iana: 40,
+ default: 30
+ // definitions added by `jshttp/mime-db` project?
+ };
+ var TYPE_SCORES = {
+ // prefer application/xml over text/xml
+ // prefer application/rtf over text/rtf
+ application: 1,
+ // prefer font/woff over application/font-woff
+ font: 2,
+ // prefer video/mp4 over audio/mp4 over application/mp4
+ // See https://www.rfc-editor.org/rfc/rfc4337.html#section-2
+ audio: 2,
+ video: 3,
+ default: 0
+ };
+ module.exports = /* @__PURE__ */ __name(function mimeScore(mimeType, source = "default") {
+ if (mimeType === "application/octet-stream") {
+ return 0;
+ }
+ const [type, subtype] = mimeType.split("/");
+ const facet = subtype.replace(/(\.|x-).*/, "$1");
+ const facetScore = FACET_SCORES[facet] || FACET_SCORES.default;
+ const sourceScore = SOURCE_SCORES[source] || SOURCE_SCORES.default;
+ const typeScore = TYPE_SCORES[type] || TYPE_SCORES.default;
+ const lengthScore = 1 - mimeType.length / 100;
+ return facetScore + sourceScore + typeScore + lengthScore;
+ }, "mimeScore");
+ }
+});
+
+// ../../node_modules/.pnpm/mime-types@3.0.2/node_modules/mime-types/index.js
+var require_mime_types = __commonJS({
+ "../../node_modules/.pnpm/mime-types@3.0.2/node_modules/mime-types/index.js"(exports) {
+ "use strict";
+ var db = require_mime_db();
+ var extname = __require("path").extname;
+ var mimeScore = require_mimeScore();
+ var EXTRACT_TYPE_REGEXP = /^\s*([^;\s]*)(?:;|\s|$)/;
+ var TEXT_TYPE_REGEXP = /^text\//i;
+ exports.charset = charset;
+ exports.charsets = { lookup: charset };
+ exports.contentType = contentType;
+ exports.extension = extension;
+ exports.extensions = /* @__PURE__ */ Object.create(null);
+ exports.lookup = lookup;
+ exports.types = /* @__PURE__ */ Object.create(null);
+ exports._extensionConflicts = [];
+ populateMaps(exports.extensions, exports.types);
+ function charset(type) {
+ if (!type || typeof type !== "string") {
+ return false;
+ }
+ var match = EXTRACT_TYPE_REGEXP.exec(type);
+ var mime = match && db[match[1].toLowerCase()];
+ if (mime && mime.charset) {
+ return mime.charset;
+ }
+ if (match && TEXT_TYPE_REGEXP.test(match[1])) {
+ return "UTF-8";
+ }
+ return false;
+ }
+ __name(charset, "charset");
+ function contentType(str) {
+ if (!str || typeof str !== "string") {
+ return false;
+ }
+ var mime = str.indexOf("/") === -1 ? exports.lookup(str) : str;
+ if (!mime) {
+ return false;
+ }
+ if (mime.indexOf("charset") === -1) {
+ var charset2 = exports.charset(mime);
+ if (charset2) mime += "; charset=" + charset2.toLowerCase();
+ }
+ return mime;
+ }
+ __name(contentType, "contentType");
+ function extension(type) {
+ if (!type || typeof type !== "string") {
+ return false;
+ }
+ var match = EXTRACT_TYPE_REGEXP.exec(type);
+ var exts = match && exports.extensions[match[1].toLowerCase()];
+ if (!exts || !exts.length) {
+ return false;
+ }
+ return exts[0];
+ }
+ __name(extension, "extension");
+ function lookup(path) {
+ if (!path || typeof path !== "string") {
+ return false;
+ }
+ var extension2 = extname("x." + path).toLowerCase().slice(1);
+ if (!extension2) {
+ return false;
+ }
+ return exports.types[extension2] || false;
+ }
+ __name(lookup, "lookup");
+ function populateMaps(extensions, types) {
+ Object.keys(db).forEach(/* @__PURE__ */ __name(function forEachMimeType(type) {
+ var mime = db[type];
+ var exts = mime.extensions;
+ if (!exts || !exts.length) {
+ return;
+ }
+ extensions[type] = exts;
+ for (var i = 0; i < exts.length; i++) {
+ var extension2 = exts[i];
+ types[extension2] = _preferredType(extension2, types[extension2], type);
+ const legacyType = _preferredTypeLegacy(
+ extension2,
+ types[extension2],
+ type
+ );
+ if (legacyType !== types[extension2]) {
+ exports._extensionConflicts.push([extension2, legacyType, types[extension2]]);
+ }
+ }
+ }, "forEachMimeType"));
+ }
+ __name(populateMaps, "populateMaps");
+ function _preferredType(ext, type0, type1) {
+ var score0 = type0 ? mimeScore(type0, db[type0].source) : 0;
+ var score1 = type1 ? mimeScore(type1, db[type1].source) : 0;
+ return score0 > score1 ? type0 : type1;
+ }
+ __name(_preferredType, "_preferredType");
+ function _preferredTypeLegacy(ext, type0, type1) {
+ var SOURCE_RANK = ["nginx", "apache", void 0, "iana"];
+ var score0 = type0 ? SOURCE_RANK.indexOf(db[type0].source) : 0;
+ var score1 = type1 ? SOURCE_RANK.indexOf(db[type1].source) : 0;
+ if (exports.types[extension] !== "application/octet-stream" && (score0 > score1 || score0 === score1 && exports.types[extension]?.slice(0, 12) === "application/")) {
+ return type0;
+ }
+ return score0 > score1 ? type0 : type1;
+ }
+ __name(_preferredTypeLegacy, "_preferredTypeLegacy");
+ }
+});
+
+// ../../node_modules/.pnpm/media-typer@1.1.1/node_modules/media-typer/index.js
+var require_media_typer = __commonJS({
+ "../../node_modules/.pnpm/media-typer@1.1.1/node_modules/media-typer/index.js"(exports) {
+ "use strict";
+ var SUBTYPE_NAME_REGEXP = /^[A-Za-z0-9][A-Za-z0-9!#$&^_.-]{0,126}$/;
+ var TYPE_NAME_REGEXP = /^[A-Za-z0-9][A-Za-z0-9!#$&^_-]{0,126}$/;
+ var TYPE_REGEXP = /^ *([A-Za-z0-9][A-Za-z0-9!#$&^_-]{0,126})\/([A-Za-z0-9][A-Za-z0-9!#$&^_.+-]{0,126}) *$/;
+ exports.format = format;
+ exports.parse = parse;
+ exports.test = test;
+ function format(obj) {
+ if (!obj || typeof obj !== "object") {
+ throw new TypeError("argument obj is required");
+ }
+ var subtype = obj.subtype;
+ var suffix = obj.suffix;
+ var type = obj.type;
+ if (!type || !TYPE_NAME_REGEXP.test(type)) {
+ throw new TypeError("invalid type");
+ }
+ if (!subtype || !SUBTYPE_NAME_REGEXP.test(subtype)) {
+ throw new TypeError("invalid subtype");
+ }
+ var string = type + "/" + subtype;
+ if (suffix) {
+ if (!TYPE_NAME_REGEXP.test(suffix)) {
+ throw new TypeError("invalid suffix");
+ }
+ string += "+" + suffix;
+ }
+ return string;
+ }
+ __name(format, "format");
+ function test(string) {
+ if (typeof string !== "string") {
+ throw new TypeError("argument string is required to be a string");
+ }
+ return TYPE_REGEXP.test(string.toLowerCase());
+ }
+ __name(test, "test");
+ function parse(string) {
+ if (typeof string !== "string") {
+ throw new TypeError("argument string is required to be a string");
+ }
+ var match = TYPE_REGEXP.exec(string.toLowerCase());
+ if (!match) {
+ throw new TypeError("invalid media type");
+ }
+ var type = match[1];
+ var subtype = match[2];
+ var suffix;
+ var index = subtype.lastIndexOf("+");
+ if (index !== -1) {
+ suffix = subtype.substr(index + 1);
+ subtype = subtype.substr(0, index);
+ }
+ return new MediaType(type, subtype, suffix);
+ }
+ __name(parse, "parse");
+ function MediaType(type, subtype, suffix) {
+ this.type = type;
+ this.subtype = subtype;
+ this.suffix = suffix;
+ }
+ __name(MediaType, "MediaType");
+ }
+});
+
+// ../../node_modules/.pnpm/type-is@2.1.0/node_modules/type-is/index.js
+var require_type_is = __commonJS({
+ "../../node_modules/.pnpm/type-is@2.1.0/node_modules/type-is/index.js"(exports, module) {
+ "use strict";
+ var contentType = require_dist();
+ var mime = require_mime_types();
+ var typer = require_media_typer();
+ module.exports = typeofrequest;
+ module.exports.is = typeis;
+ module.exports.hasBody = hasbody;
+ module.exports.normalize = normalize;
+ module.exports.match = mimeMatch;
+ function typeis(value, types_) {
+ if (value && typeof value === "object") {
+ value = value.headers["content-type"];
+ }
+ var i;
+ var types = types_;
+ var val = normalizeType(value);
+ if (!val) {
+ return false;
+ }
+ if (types && !Array.isArray(types)) {
+ types = new Array(arguments.length - 1);
+ for (i = 0; i < types.length; i++) {
+ types[i] = arguments[i + 1];
+ }
+ }
+ if (!types || !types.length) {
+ return val;
+ }
+ var type;
+ for (i = 0; i < types.length; i++) {
+ if (mimeMatch(normalize(type = types[i]), val)) {
+ return type[0] === "+" || type.indexOf("*") !== -1 ? val : type;
+ }
+ }
+ return false;
+ }
+ __name(typeis, "typeis");
+ function hasbody(req) {
+ return req.headers["transfer-encoding"] !== void 0 || !isNaN(req.headers["content-length"]);
+ }
+ __name(hasbody, "hasbody");
+ function typeofrequest(req, types_) {
+ if (!hasbody(req)) return null;
+ var types = arguments.length > 2 ? Array.prototype.slice.call(arguments, 1) : types_;
+ var value = req.headers["content-type"];
+ return typeis(value, types);
+ }
+ __name(typeofrequest, "typeofrequest");
+ function normalize(type) {
+ if (typeof type !== "string") {
+ return false;
+ }
+ switch (type) {
+ case "urlencoded":
+ return "application/x-www-form-urlencoded";
+ case "multipart":
+ return "multipart/*";
+ }
+ if (type[0] === "+") {
+ return "*/*" + type;
+ }
+ return type.indexOf("/") === -1 ? mime.lookup(type) : type;
+ }
+ __name(normalize, "normalize");
+ function mimeMatch(expected, actual) {
+ if (expected === false) {
+ return false;
+ }
+ var actualParts = actual.split("/");
+ var expectedParts = expected.split("/");
+ if (actualParts.length !== 2 || expectedParts.length !== 2) {
+ return false;
+ }
+ if (expectedParts[0] !== "*" && expectedParts[0] !== actualParts[0]) {
+ return false;
+ }
+ if (expectedParts[1].slice(0, 2) === "*+") {
+ return expectedParts[1].length <= actualParts[1].length + 1 && expectedParts[1].slice(1) === actualParts[1].slice(1 - expectedParts[1].length);
+ }
+ if (expectedParts[1] !== "*" && expectedParts[1] !== actualParts[1]) {
+ return false;
+ }
+ return true;
+ }
+ __name(mimeMatch, "mimeMatch");
+ function normalizeType(value) {
+ if (!value) return null;
+ var type = contentType.parse(value, { parameters: false }).type;
+ return typer.test(type) ? type : null;
+ }
+ __name(normalizeType, "normalizeType");
+ }
+});
+
+// ../../node_modules/.pnpm/body-parser@2.3.0/node_modules/body-parser/lib/utils.js
+var require_utils = __commonJS({
+ "../../node_modules/.pnpm/body-parser@2.3.0/node_modules/body-parser/lib/utils.js"(exports, module) {
+ "use strict";
+ var bytes = require_bytes();
+ var contentType = require_dist();
+ var typeis = require_type_is();
+ module.exports = {
+ getCharset,
+ normalizeOptions,
+ passthrough
+ };
+ function getCharset(req) {
+ const header = req.headers["content-type"];
+ if (!header) return void 0;
+ return contentType.parse(header).parameters.charset?.toLowerCase();
+ }
+ __name(getCharset, "getCharset");
+ function typeChecker(type) {
+ return /* @__PURE__ */ __name(function checkType(req) {
+ return Boolean(typeis(req, type));
+ }, "checkType");
+ }
+ __name(typeChecker, "typeChecker");
+ function normalizeOptions(options, defaultType) {
+ if (!defaultType) {
+ throw new TypeError("defaultType must be provided");
+ }
+ const inflate = options?.inflate !== false;
+ const limit = typeof options?.limit === "undefined" || options?.limit === null ? 102400 : bytes.parse(options.limit);
+ const type = options?.type || defaultType;
+ const verify = options?.verify || false;
+ const defaultCharset = options?.defaultCharset || "utf-8";
+ if (limit === null) {
+ throw new TypeError(`option limit "${String(options.limit)}" is invalid`);
+ }
+ if (verify !== false && typeof verify !== "function") {
+ throw new TypeError("option verify must be function");
+ }
+ const shouldParse = typeof type !== "function" ? typeChecker(type) : type;
+ return {
+ inflate,
+ limit,
+ verify,
+ defaultCharset,
+ shouldParse
+ };
+ }
+ __name(normalizeOptions, "normalizeOptions");
+ function passthrough(value) {
+ return value;
+ }
+ __name(passthrough, "passthrough");
+ }
+});
+
+// ../../node_modules/.pnpm/body-parser@2.3.0/node_modules/body-parser/lib/read.js
+var require_read = __commonJS({
+ "../../node_modules/.pnpm/body-parser@2.3.0/node_modules/body-parser/lib/read.js"(exports, module) {
+ "use strict";
+ var createError = require_http_errors();
+ var getBody = require_raw_body();
+ var iconv = require_lib3();
+ var onFinished = require_on_finished();
+ var zlib = __require("node:zlib");
+ var hasBody = require_type_is().hasBody;
+ var { getCharset } = require_utils();
+ module.exports = read;
+ function read(req, res, next, parse, debug, options) {
+ if (onFinished.isFinished(req)) {
+ debug("body already parsed");
+ next();
+ return;
+ }
+ if (!("body" in req)) {
+ req.body = void 0;
+ }
+ if (!hasBody(req)) {
+ debug("skip empty body");
+ next();
+ return;
+ }
+ debug("content-type %j", req.headers["content-type"]);
+ if (!options.shouldParse(req)) {
+ debug("skip parsing");
+ next();
+ return;
+ }
+ let encoding = null;
+ if (options?.skipCharset !== true) {
+ encoding = getCharset(req) || options.defaultCharset;
+ if (!!options?.isValidCharset && !options.isValidCharset(encoding)) {
+ debug("invalid charset");
+ next(createError(415, 'unsupported charset "' + encoding.toUpperCase() + '"', {
+ charset: encoding,
+ type: "charset.unsupported"
+ }));
+ return;
+ }
+ }
+ let length;
+ const opts = options;
+ let stream;
+ const verify = opts.verify;
+ try {
+ stream = contentstream(req, debug, opts.inflate);
+ length = stream.length;
+ stream.length = void 0;
+ } catch (err) {
+ return next(err);
+ }
+ opts.length = length;
+ opts.encoding = verify ? null : encoding;
+ if (opts.encoding === null && encoding !== null && !iconv.encodingExists(encoding)) {
+ return next(createError(415, 'unsupported charset "' + encoding.toUpperCase() + '"', {
+ charset: encoding.toLowerCase(),
+ type: "charset.unsupported"
+ }));
+ }
+ debug("read body");
+ getBody(stream, opts, function(error, body) {
+ if (error) {
+ let _error;
+ if (error.type === "encoding.unsupported") {
+ _error = createError(415, 'unsupported charset "' + encoding.toUpperCase() + '"', {
+ charset: encoding.toLowerCase(),
+ type: "charset.unsupported"
+ });
+ } else {
+ _error = createError(400, error);
+ }
+ if (stream !== req) {
+ req.unpipe();
+ stream.destroy();
+ }
+ dump(req, /* @__PURE__ */ __name(function onfinished() {
+ next(createError(400, _error));
+ }, "onfinished"));
+ return;
+ }
+ if (verify) {
+ try {
+ debug("verify body");
+ verify(req, res, body, encoding);
+ } catch (err) {
+ next(createError(403, err, {
+ body,
+ type: err.type || "entity.verify.failed"
+ }));
+ return;
+ }
+ }
+ let str = body;
+ try {
+ debug("parse body");
+ str = typeof body !== "string" && encoding !== null ? iconv.decode(body, encoding) : body;
+ req.body = parse(str, encoding);
+ } catch (err) {
+ next(createError(400, err, {
+ body: str,
+ type: err.type || "entity.parse.failed"
+ }));
+ return;
+ }
+ next();
+ });
+ }
+ __name(read, "read");
+ function contentstream(req, debug, inflate) {
+ const encoding = (req.headers["content-encoding"] || "identity").toLowerCase();
+ const length = req.headers["content-length"];
+ debug('content-encoding "%s"', encoding);
+ if (inflate === false && encoding !== "identity") {
+ throw createError(415, "content encoding unsupported", {
+ encoding,
+ type: "encoding.unsupported"
+ });
+ }
+ if (encoding === "identity") {
+ req.length = length;
+ return req;
+ }
+ const stream = createDecompressionStream(encoding, debug);
+ req.pipe(stream);
+ return stream;
+ }
+ __name(contentstream, "contentstream");
+ function createDecompressionStream(encoding, debug) {
+ switch (encoding) {
+ case "deflate":
+ debug("inflate body");
+ return zlib.createInflate();
+ case "gzip":
+ debug("gunzip body");
+ return zlib.createGunzip();
+ case "br":
+ debug("brotli decompress body");
+ return zlib.createBrotliDecompress();
+ default:
+ throw createError(415, 'unsupported content encoding "' + encoding + '"', {
+ encoding,
+ type: "encoding.unsupported"
+ });
+ }
+ }
+ __name(createDecompressionStream, "createDecompressionStream");
+ function dump(req, callback) {
+ if (onFinished.isFinished(req)) {
+ callback(null);
+ } else {
+ onFinished(req, callback);
+ req.resume();
+ }
+ }
+ __name(dump, "dump");
+ }
+});
+
+// ../../node_modules/.pnpm/body-parser@2.3.0/node_modules/body-parser/lib/types/json.js
+var require_json = __commonJS({
+ "../../node_modules/.pnpm/body-parser@2.3.0/node_modules/body-parser/lib/types/json.js"(exports, module) {
+ "use strict";
+ var debug = require_src()("body-parser:json");
+ var read = require_read();
+ var { normalizeOptions } = require_utils();
+ module.exports = json;
+ var FIRST_CHAR_REGEXP = /^[\x20\x09\x0a\x0d]*([^\x20\x09\x0a\x0d])/;
+ var JSON_SYNTAX_CHAR = "#";
+ var JSON_SYNTAX_REGEXP = /#+/g;
+ function json(options) {
+ const normalizedOptions = normalizeOptions(options, "application/json");
+ const parse = createJsonParser(options);
+ const readOptions = {
+ ...normalizedOptions,
+ // assert charset per RFC 7159 sec 8.1
+ isValidCharset: /* @__PURE__ */ __name((charset) => charset.slice(0, 4) === "utf-", "isValidCharset")
+ };
+ return /* @__PURE__ */ __name(function jsonParser(req, res, next) {
+ read(req, res, next, parse, debug, readOptions);
+ }, "jsonParser");
+ }
+ __name(json, "json");
+ function createJsonParser(options) {
+ const reviver = options?.reviver;
+ const strict = options?.strict !== false;
+ if (strict) {
+ return /* @__PURE__ */ __name(function parse(body) {
+ if (body.length === 0) {
+ return {};
+ }
+ const first = firstchar(body);
+ if (first !== "{" && first !== "[") {
+ debug("strict violation");
+ throw createStrictSyntaxError(body, first);
+ }
+ try {
+ debug("parse json");
+ return JSON.parse(body, reviver);
+ } catch (e) {
+ throw normalizeJsonSyntaxError(e, {
+ message: e.message,
+ stack: e.stack
+ });
+ }
+ }, "parse");
+ }
+ return /* @__PURE__ */ __name(function parse(body) {
+ if (body.length === 0) {
+ return {};
+ }
+ try {
+ debug("parse json");
+ return JSON.parse(body, reviver);
+ } catch (e) {
+ throw normalizeJsonSyntaxError(e, {
+ message: e.message,
+ stack: e.stack
+ });
+ }
+ }, "parse");
+ }
+ __name(createJsonParser, "createJsonParser");
+ function createStrictSyntaxError(str, char) {
+ const index = str.indexOf(char);
+ let partial = "";
+ if (index !== -1) {
+ partial = str.substring(0, index) + JSON_SYNTAX_CHAR.repeat(str.length - index);
+ }
+ try {
+ JSON.parse(partial);
+ throw new SyntaxError("strict violation");
+ } catch (e) {
+ return normalizeJsonSyntaxError(e, {
+ message: e.message.replace(JSON_SYNTAX_REGEXP, function(placeholder) {
+ return str.substring(index, index + placeholder.length);
+ }),
+ stack: e.stack
+ });
+ }
+ }
+ __name(createStrictSyntaxError, "createStrictSyntaxError");
+ function firstchar(str) {
+ const match = FIRST_CHAR_REGEXP.exec(str);
+ return match ? match[1] : void 0;
+ }
+ __name(firstchar, "firstchar");
+ function normalizeJsonSyntaxError(error, obj) {
+ const keys = Object.getOwnPropertyNames(error);
+ for (let i = 0; i < keys.length; i++) {
+ const key = keys[i];
+ if (key !== "stack" && key !== "message") {
+ delete error[key];
+ }
+ }
+ error.stack = obj.stack.replace(error.message, obj.message);
+ error.message = obj.message;
+ return error;
+ }
+ __name(normalizeJsonSyntaxError, "normalizeJsonSyntaxError");
+ }
+});
+
+// ../../node_modules/.pnpm/body-parser@2.3.0/node_modules/body-parser/lib/types/raw.js
+var require_raw = __commonJS({
+ "../../node_modules/.pnpm/body-parser@2.3.0/node_modules/body-parser/lib/types/raw.js"(exports, module) {
+ "use strict";
+ var debug = require_src()("body-parser:raw");
+ var read = require_read();
+ var { normalizeOptions, passthrough } = require_utils();
+ module.exports = raw;
+ function raw(options) {
+ const normalizedOptions = normalizeOptions(options, "application/octet-stream");
+ const readOptions = {
+ ...normalizedOptions,
+ // Skip charset validation and parse the body as is
+ skipCharset: true
+ };
+ return /* @__PURE__ */ __name(function rawParser(req, res, next) {
+ read(req, res, next, passthrough, debug, readOptions);
+ }, "rawParser");
+ }
+ __name(raw, "raw");
+ }
+});
+
+// ../../node_modules/.pnpm/body-parser@2.3.0/node_modules/body-parser/lib/types/text.js
+var require_text = __commonJS({
+ "../../node_modules/.pnpm/body-parser@2.3.0/node_modules/body-parser/lib/types/text.js"(exports, module) {
+ "use strict";
+ var debug = require_src()("body-parser:text");
+ var read = require_read();
+ var { normalizeOptions, passthrough } = require_utils();
+ module.exports = text;
+ function text(options) {
+ const normalizedOptions = normalizeOptions(options, "text/plain");
+ return /* @__PURE__ */ __name(function textParser(req, res, next) {
+ read(req, res, next, passthrough, debug, normalizedOptions);
+ }, "textParser");
+ }
+ __name(text, "text");
+ }
+});
+
+// ../../node_modules/.pnpm/es-errors@1.3.0/node_modules/es-errors/type.js
+var require_type = __commonJS({
+ "../../node_modules/.pnpm/es-errors@1.3.0/node_modules/es-errors/type.js"(exports, module) {
+ "use strict";
+ module.exports = TypeError;
+ }
+});
+
+// ../../node_modules/.pnpm/object-inspect@1.13.4/node_modules/object-inspect/util.inspect.js
+var require_util_inspect = __commonJS({
+ "../../node_modules/.pnpm/object-inspect@1.13.4/node_modules/object-inspect/util.inspect.js"(exports, module) {
+ module.exports = __require("util").inspect;
+ }
+});
+
+// ../../node_modules/.pnpm/object-inspect@1.13.4/node_modules/object-inspect/index.js
+var require_object_inspect = __commonJS({
+ "../../node_modules/.pnpm/object-inspect@1.13.4/node_modules/object-inspect/index.js"(exports, module) {
+ var hasMap = typeof Map === "function" && Map.prototype;
+ var mapSizeDescriptor = Object.getOwnPropertyDescriptor && hasMap ? Object.getOwnPropertyDescriptor(Map.prototype, "size") : null;
+ var mapSize = hasMap && mapSizeDescriptor && typeof mapSizeDescriptor.get === "function" ? mapSizeDescriptor.get : null;
+ var mapForEach = hasMap && Map.prototype.forEach;
+ var hasSet = typeof Set === "function" && Set.prototype;
+ var setSizeDescriptor = Object.getOwnPropertyDescriptor && hasSet ? Object.getOwnPropertyDescriptor(Set.prototype, "size") : null;
+ var setSize = hasSet && setSizeDescriptor && typeof setSizeDescriptor.get === "function" ? setSizeDescriptor.get : null;
+ var setForEach = hasSet && Set.prototype.forEach;
+ var hasWeakMap = typeof WeakMap === "function" && WeakMap.prototype;
+ var weakMapHas = hasWeakMap ? WeakMap.prototype.has : null;
+ var hasWeakSet = typeof WeakSet === "function" && WeakSet.prototype;
+ var weakSetHas = hasWeakSet ? WeakSet.prototype.has : null;
+ var hasWeakRef = typeof WeakRef === "function" && WeakRef.prototype;
+ var weakRefDeref = hasWeakRef ? WeakRef.prototype.deref : null;
+ var booleanValueOf = Boolean.prototype.valueOf;
+ var objectToString = Object.prototype.toString;
+ var functionToString = Function.prototype.toString;
+ var $match = String.prototype.match;
+ var $slice = String.prototype.slice;
+ var $replace = String.prototype.replace;
+ var $toUpperCase = String.prototype.toUpperCase;
+ var $toLowerCase = String.prototype.toLowerCase;
+ var $test = RegExp.prototype.test;
+ var $concat = Array.prototype.concat;
+ var $join = Array.prototype.join;
+ var $arrSlice = Array.prototype.slice;
+ var $floor = Math.floor;
+ var bigIntValueOf = typeof BigInt === "function" ? BigInt.prototype.valueOf : null;
+ var gOPS = Object.getOwnPropertySymbols;
+ var symToString = typeof Symbol === "function" && typeof Symbol.iterator === "symbol" ? Symbol.prototype.toString : null;
+ var hasShammedSymbols = typeof Symbol === "function" && typeof Symbol.iterator === "object";
+ var toStringTag = typeof Symbol === "function" && Symbol.toStringTag && (typeof Symbol.toStringTag === hasShammedSymbols ? "object" : "symbol") ? Symbol.toStringTag : null;
+ var isEnumerable = Object.prototype.propertyIsEnumerable;
+ var gPO = (typeof Reflect === "function" ? Reflect.getPrototypeOf : Object.getPrototypeOf) || ([].__proto__ === Array.prototype ? function(O) {
+ return O.__proto__;
+ } : null);
+ function addNumericSeparator(num, str) {
+ if (num === Infinity || num === -Infinity || num !== num || num && num > -1e3 && num < 1e3 || $test.call(/e/, str)) {
+ return str;
+ }
+ var sepRegex = /[0-9](?=(?:[0-9]{3})+(?![0-9]))/g;
+ if (typeof num === "number") {
+ var int = num < 0 ? -$floor(-num) : $floor(num);
+ if (int !== num) {
+ var intStr = String(int);
+ var dec = $slice.call(str, intStr.length + 1);
+ return $replace.call(intStr, sepRegex, "$&_") + "." + $replace.call($replace.call(dec, /([0-9]{3})/g, "$&_"), /_$/, "");
+ }
+ }
+ return $replace.call(str, sepRegex, "$&_");
+ }
+ __name(addNumericSeparator, "addNumericSeparator");
+ var utilInspect = require_util_inspect();
+ var inspectCustom = utilInspect.custom;
+ var inspectSymbol = isSymbol2(inspectCustom) ? inspectCustom : null;
+ var quotes = {
+ __proto__: null,
+ "double": '"',
+ single: "'"
+ };
+ var quoteREs = {
+ __proto__: null,
+ "double": /(["\\])/g,
+ single: /(['\\])/g
+ };
+ module.exports = /* @__PURE__ */ __name(function inspect_(obj, options, depth, seen) {
+ var opts = options || {};
+ if (has(opts, "quoteStyle") && !has(quotes, opts.quoteStyle)) {
+ throw new TypeError('option "quoteStyle" must be "single" or "double"');
+ }
+ if (has(opts, "maxStringLength") && (typeof opts.maxStringLength === "number" ? opts.maxStringLength < 0 && opts.maxStringLength !== Infinity : opts.maxStringLength !== null)) {
+ throw new TypeError('option "maxStringLength", if provided, must be a positive integer, Infinity, or `null`');
+ }
+ var customInspect = has(opts, "customInspect") ? opts.customInspect : true;
+ if (typeof customInspect !== "boolean" && customInspect !== "symbol") {
+ throw new TypeError("option \"customInspect\", if provided, must be `true`, `false`, or `'symbol'`");
+ }
+ if (has(opts, "indent") && opts.indent !== null && opts.indent !== " " && !(parseInt(opts.indent, 10) === opts.indent && opts.indent > 0)) {
+ throw new TypeError('option "indent" must be "\\t", an integer > 0, or `null`');
+ }
+ if (has(opts, "numericSeparator") && typeof opts.numericSeparator !== "boolean") {
+ throw new TypeError('option "numericSeparator", if provided, must be `true` or `false`');
+ }
+ var numericSeparator = opts.numericSeparator;
+ if (typeof obj === "undefined") {
+ return "undefined";
+ }
+ if (obj === null) {
+ return "null";
+ }
+ if (typeof obj === "boolean") {
+ return obj ? "true" : "false";
+ }
+ if (typeof obj === "string") {
+ return inspectString(obj, opts);
+ }
+ if (typeof obj === "number") {
+ if (obj === 0) {
+ return Infinity / obj > 0 ? "0" : "-0";
+ }
+ var str = String(obj);
+ return numericSeparator ? addNumericSeparator(obj, str) : str;
+ }
+ if (typeof obj === "bigint") {
+ var bigIntStr = String(obj) + "n";
+ return numericSeparator ? addNumericSeparator(obj, bigIntStr) : bigIntStr;
+ }
+ var maxDepth = typeof opts.depth === "undefined" ? 5 : opts.depth;
+ if (typeof depth === "undefined") {
+ depth = 0;
+ }
+ if (depth >= maxDepth && maxDepth > 0 && typeof obj === "object") {
+ return isArray(obj) ? "[Array]" : "[Object]";
+ }
+ var indent = getIndent(opts, depth);
+ if (typeof seen === "undefined") {
+ seen = [];
+ } else if (indexOf(seen, obj) >= 0) {
+ return "[Circular]";
+ }
+ function inspect(value, from2, noIndent) {
+ if (from2) {
+ seen = $arrSlice.call(seen);
+ seen.push(from2);
+ }
+ if (noIndent) {
+ var newOpts = {
+ depth: opts.depth
+ };
+ if (has(opts, "quoteStyle")) {
+ newOpts.quoteStyle = opts.quoteStyle;
+ }
+ return inspect_(value, newOpts, depth + 1, seen);
+ }
+ return inspect_(value, opts, depth + 1, seen);
+ }
+ __name(inspect, "inspect");
+ if (typeof obj === "function" && !isRegExp(obj)) {
+ var name = nameOf(obj);
+ var keys = arrObjKeys(obj, inspect);
+ return "[Function" + (name ? ": " + name : " (anonymous)") + "]" + (keys.length > 0 ? " { " + $join.call(keys, ", ") + " }" : "");
+ }
+ if (isSymbol2(obj)) {
+ var symString = hasShammedSymbols ? $replace.call(String(obj), /^(Symbol\(.*\))_[^)]*$/, "$1") : symToString.call(obj);
+ return typeof obj === "object" && !hasShammedSymbols ? markBoxed(symString) : symString;
+ }
+ if (isElement(obj)) {
+ var s = "<" + $toLowerCase.call(String(obj.nodeName));
+ var attrs = obj.attributes || [];
+ for (var i = 0; i < attrs.length; i++) {
+ s += " " + attrs[i].name + "=" + wrapQuotes(quote(attrs[i].value), "double", opts);
+ }
+ s += ">";
+ if (obj.childNodes && obj.childNodes.length) {
+ s += "...";
+ }
+ s += "" + $toLowerCase.call(String(obj.nodeName)) + ">";
+ return s;
+ }
+ if (isArray(obj)) {
+ if (obj.length === 0) {
+ return "[]";
+ }
+ var xs = arrObjKeys(obj, inspect);
+ if (indent && !singleLineValues(xs)) {
+ return "[" + indentedJoin(xs, indent) + "]";
+ }
+ return "[ " + $join.call(xs, ", ") + " ]";
+ }
+ if (isError(obj)) {
+ var parts = arrObjKeys(obj, inspect);
+ if (!("cause" in Error.prototype) && "cause" in obj && !isEnumerable.call(obj, "cause")) {
+ return "{ [" + String(obj) + "] " + $join.call($concat.call("[cause]: " + inspect(obj.cause), parts), ", ") + " }";
+ }
+ if (parts.length === 0) {
+ return "[" + String(obj) + "]";
+ }
+ return "{ [" + String(obj) + "] " + $join.call(parts, ", ") + " }";
+ }
+ if (typeof obj === "object" && customInspect) {
+ if (inspectSymbol && typeof obj[inspectSymbol] === "function" && utilInspect) {
+ return utilInspect(obj, { depth: maxDepth - depth });
+ } else if (customInspect !== "symbol" && typeof obj.inspect === "function") {
+ return obj.inspect();
+ }
+ }
+ if (isMap(obj)) {
+ var mapParts = [];
+ if (mapForEach) {
+ mapForEach.call(obj, function(value, key) {
+ mapParts.push(inspect(key, obj, true) + " => " + inspect(value, obj));
+ });
+ }
+ return collectionOf("Map", mapSize.call(obj), mapParts, indent);
+ }
+ if (isSet(obj)) {
+ var setParts = [];
+ if (setForEach) {
+ setForEach.call(obj, function(value) {
+ setParts.push(inspect(value, obj));
+ });
+ }
+ return collectionOf("Set", setSize.call(obj), setParts, indent);
+ }
+ if (isWeakMap(obj)) {
+ return weakCollectionOf("WeakMap");
+ }
+ if (isWeakSet(obj)) {
+ return weakCollectionOf("WeakSet");
+ }
+ if (isWeakRef(obj)) {
+ return weakCollectionOf("WeakRef");
+ }
+ if (isNumber(obj)) {
+ return markBoxed(inspect(Number(obj)));
+ }
+ if (isBigInt(obj)) {
+ return markBoxed(inspect(bigIntValueOf.call(obj)));
+ }
+ if (isBoolean(obj)) {
+ return markBoxed(booleanValueOf.call(obj));
+ }
+ if (isString2(obj)) {
+ return markBoxed(inspect(String(obj)));
+ }
+ if (typeof window !== "undefined" && obj === window) {
+ return "{ [object Window] }";
+ }
+ if (typeof globalThis !== "undefined" && obj === globalThis || typeof global !== "undefined" && obj === global) {
+ return "{ [object globalThis] }";
+ }
+ if (!isDate(obj) && !isRegExp(obj)) {
+ var ys = arrObjKeys(obj, inspect);
+ var isPlainObject2 = gPO ? gPO(obj) === Object.prototype : obj instanceof Object || obj.constructor === Object;
+ var protoTag = obj instanceof Object ? "" : "null prototype";
+ var stringTag = !isPlainObject2 && toStringTag && Object(obj) === obj && toStringTag in obj ? $slice.call(toStr(obj), 8, -1) : protoTag ? "Object" : "";
+ var constructorTag = isPlainObject2 || typeof obj.constructor !== "function" ? "" : obj.constructor.name ? obj.constructor.name + " " : "";
+ var tag = constructorTag + (stringTag || protoTag ? "[" + $join.call($concat.call([], stringTag || [], protoTag || []), ": ") + "] " : "");
+ if (ys.length === 0) {
+ return tag + "{}";
+ }
+ if (indent) {
+ return tag + "{" + indentedJoin(ys, indent) + "}";
+ }
+ return tag + "{ " + $join.call(ys, ", ") + " }";
+ }
+ return String(obj);
+ }, "inspect_");
+ function wrapQuotes(s, defaultStyle, opts) {
+ var style = opts.quoteStyle || defaultStyle;
+ var quoteChar = quotes[style];
+ return quoteChar + s + quoteChar;
+ }
+ __name(wrapQuotes, "wrapQuotes");
+ function quote(s) {
+ return $replace.call(String(s), /"/g, """);
+ }
+ __name(quote, "quote");
+ function canTrustToString(obj) {
+ return !toStringTag || !(typeof obj === "object" && (toStringTag in obj || typeof obj[toStringTag] !== "undefined"));
+ }
+ __name(canTrustToString, "canTrustToString");
+ function isArray(obj) {
+ return toStr(obj) === "[object Array]" && canTrustToString(obj);
+ }
+ __name(isArray, "isArray");
+ function isDate(obj) {
+ return toStr(obj) === "[object Date]" && canTrustToString(obj);
+ }
+ __name(isDate, "isDate");
+ function isRegExp(obj) {
+ return toStr(obj) === "[object RegExp]" && canTrustToString(obj);
+ }
+ __name(isRegExp, "isRegExp");
+ function isError(obj) {
+ return toStr(obj) === "[object Error]" && canTrustToString(obj);
+ }
+ __name(isError, "isError");
+ function isString2(obj) {
+ return toStr(obj) === "[object String]" && canTrustToString(obj);
+ }
+ __name(isString2, "isString");
+ function isNumber(obj) {
+ return toStr(obj) === "[object Number]" && canTrustToString(obj);
+ }
+ __name(isNumber, "isNumber");
+ function isBoolean(obj) {
+ return toStr(obj) === "[object Boolean]" && canTrustToString(obj);
+ }
+ __name(isBoolean, "isBoolean");
+ function isSymbol2(obj) {
+ if (hasShammedSymbols) {
+ return obj && typeof obj === "object" && obj instanceof Symbol;
+ }
+ if (typeof obj === "symbol") {
+ return true;
+ }
+ if (!obj || typeof obj !== "object" || !symToString) {
+ return false;
+ }
+ try {
+ symToString.call(obj);
+ return true;
+ } catch (e) {
+ }
+ return false;
+ }
+ __name(isSymbol2, "isSymbol");
+ function isBigInt(obj) {
+ if (!obj || typeof obj !== "object" || !bigIntValueOf) {
+ return false;
+ }
+ try {
+ bigIntValueOf.call(obj);
+ return true;
+ } catch (e) {
+ }
+ return false;
+ }
+ __name(isBigInt, "isBigInt");
+ var hasOwn = Object.prototype.hasOwnProperty || function(key) {
+ return key in this;
+ };
+ function has(obj, key) {
+ return hasOwn.call(obj, key);
+ }
+ __name(has, "has");
+ function toStr(obj) {
+ return objectToString.call(obj);
+ }
+ __name(toStr, "toStr");
+ function nameOf(f) {
+ if (f.name) {
+ return f.name;
+ }
+ var m = $match.call(functionToString.call(f), /^function\s*([\w$]+)/);
+ if (m) {
+ return m[1];
+ }
+ return null;
+ }
+ __name(nameOf, "nameOf");
+ function indexOf(xs, x) {
+ if (xs.indexOf) {
+ return xs.indexOf(x);
+ }
+ for (var i = 0, l = xs.length; i < l; i++) {
+ if (xs[i] === x) {
+ return i;
+ }
+ }
+ return -1;
+ }
+ __name(indexOf, "indexOf");
+ function isMap(x) {
+ if (!mapSize || !x || typeof x !== "object") {
+ return false;
+ }
+ try {
+ mapSize.call(x);
+ try {
+ setSize.call(x);
+ } catch (s) {
+ return true;
+ }
+ return x instanceof Map;
+ } catch (e) {
+ }
+ return false;
+ }
+ __name(isMap, "isMap");
+ function isWeakMap(x) {
+ if (!weakMapHas || !x || typeof x !== "object") {
+ return false;
+ }
+ try {
+ weakMapHas.call(x, weakMapHas);
+ try {
+ weakSetHas.call(x, weakSetHas);
+ } catch (s) {
+ return true;
+ }
+ return x instanceof WeakMap;
+ } catch (e) {
+ }
+ return false;
+ }
+ __name(isWeakMap, "isWeakMap");
+ function isWeakRef(x) {
+ if (!weakRefDeref || !x || typeof x !== "object") {
+ return false;
+ }
+ try {
+ weakRefDeref.call(x);
+ return true;
+ } catch (e) {
+ }
+ return false;
+ }
+ __name(isWeakRef, "isWeakRef");
+ function isSet(x) {
+ if (!setSize || !x || typeof x !== "object") {
+ return false;
+ }
+ try {
+ setSize.call(x);
+ try {
+ mapSize.call(x);
+ } catch (m) {
+ return true;
+ }
+ return x instanceof Set;
+ } catch (e) {
+ }
+ return false;
+ }
+ __name(isSet, "isSet");
+ function isWeakSet(x) {
+ if (!weakSetHas || !x || typeof x !== "object") {
+ return false;
+ }
+ try {
+ weakSetHas.call(x, weakSetHas);
+ try {
+ weakMapHas.call(x, weakMapHas);
+ } catch (s) {
+ return true;
+ }
+ return x instanceof WeakSet;
+ } catch (e) {
+ }
+ return false;
+ }
+ __name(isWeakSet, "isWeakSet");
+ function isElement(x) {
+ if (!x || typeof x !== "object") {
+ return false;
+ }
+ if (typeof HTMLElement !== "undefined" && x instanceof HTMLElement) {
+ return true;
+ }
+ return typeof x.nodeName === "string" && typeof x.getAttribute === "function";
+ }
+ __name(isElement, "isElement");
+ function inspectString(str, opts) {
+ if (str.length > opts.maxStringLength) {
+ var remaining = str.length - opts.maxStringLength;
+ var trailer = "... " + remaining + " more character" + (remaining > 1 ? "s" : "");
+ return inspectString($slice.call(str, 0, opts.maxStringLength), opts) + trailer;
+ }
+ var quoteRE = quoteREs[opts.quoteStyle || "single"];
+ quoteRE.lastIndex = 0;
+ var s = $replace.call($replace.call(str, quoteRE, "\\$1"), /[\x00-\x1f]/g, lowbyte);
+ return wrapQuotes(s, "single", opts);
+ }
+ __name(inspectString, "inspectString");
+ function lowbyte(c) {
+ var n = c.charCodeAt(0);
+ var x = {
+ 8: "b",
+ 9: "t",
+ 10: "n",
+ 12: "f",
+ 13: "r"
+ }[n];
+ if (x) {
+ return "\\" + x;
+ }
+ return "\\x" + (n < 16 ? "0" : "") + $toUpperCase.call(n.toString(16));
+ }
+ __name(lowbyte, "lowbyte");
+ function markBoxed(str) {
+ return "Object(" + str + ")";
+ }
+ __name(markBoxed, "markBoxed");
+ function weakCollectionOf(type) {
+ return type + " { ? }";
+ }
+ __name(weakCollectionOf, "weakCollectionOf");
+ function collectionOf(type, size, entries, indent) {
+ var joinedEntries = indent ? indentedJoin(entries, indent) : $join.call(entries, ", ");
+ return type + " (" + size + ") {" + joinedEntries + "}";
+ }
+ __name(collectionOf, "collectionOf");
+ function singleLineValues(xs) {
+ for (var i = 0; i < xs.length; i++) {
+ if (indexOf(xs[i], "\n") >= 0) {
+ return false;
+ }
+ }
+ return true;
+ }
+ __name(singleLineValues, "singleLineValues");
+ function getIndent(opts, depth) {
+ var baseIndent;
+ if (opts.indent === " ") {
+ baseIndent = " ";
+ } else if (typeof opts.indent === "number" && opts.indent > 0) {
+ baseIndent = $join.call(Array(opts.indent + 1), " ");
+ } else {
+ return null;
+ }
+ return {
+ base: baseIndent,
+ prev: $join.call(Array(depth + 1), baseIndent)
+ };
+ }
+ __name(getIndent, "getIndent");
+ function indentedJoin(xs, indent) {
+ if (xs.length === 0) {
+ return "";
+ }
+ var lineJoiner = "\n" + indent.prev + indent.base;
+ return lineJoiner + $join.call(xs, "," + lineJoiner) + "\n" + indent.prev;
+ }
+ __name(indentedJoin, "indentedJoin");
+ function arrObjKeys(obj, inspect) {
+ var isArr = isArray(obj);
+ var xs = [];
+ if (isArr) {
+ xs.length = obj.length;
+ for (var i = 0; i < obj.length; i++) {
+ xs[i] = has(obj, i) ? inspect(obj[i], obj) : "";
+ }
+ }
+ var syms = typeof gOPS === "function" ? gOPS(obj) : [];
+ var symMap;
+ if (hasShammedSymbols) {
+ symMap = {};
+ for (var k = 0; k < syms.length; k++) {
+ symMap["$" + syms[k]] = syms[k];
+ }
+ }
+ for (var key in obj) {
+ if (!has(obj, key)) {
+ continue;
+ }
+ if (isArr && String(Number(key)) === key && key < obj.length) {
+ continue;
+ }
+ if (hasShammedSymbols && symMap["$" + key] instanceof Symbol) {
+ continue;
+ } else if ($test.call(/[^\w$]/, key)) {
+ xs.push(inspect(key, obj) + ": " + inspect(obj[key], obj));
+ } else {
+ xs.push(key + ": " + inspect(obj[key], obj));
+ }
+ }
+ if (typeof gOPS === "function") {
+ for (var j = 0; j < syms.length; j++) {
+ if (isEnumerable.call(obj, syms[j])) {
+ xs.push("[" + inspect(syms[j]) + "]: " + inspect(obj[syms[j]], obj));
+ }
+ }
+ }
+ return xs;
+ }
+ __name(arrObjKeys, "arrObjKeys");
+ }
+});
+
+// ../../node_modules/.pnpm/side-channel-list@1.0.1/node_modules/side-channel-list/index.js
+var require_side_channel_list = __commonJS({
+ "../../node_modules/.pnpm/side-channel-list@1.0.1/node_modules/side-channel-list/index.js"(exports, module) {
+ "use strict";
+ var inspect = require_object_inspect();
+ var $TypeError = require_type();
+ var listGetNode = /* @__PURE__ */ __name(function(list, key, isDelete) {
+ var prev = list;
+ var curr;
+ for (; (curr = prev.next) != null; prev = curr) {
+ if (curr.key === key) {
+ prev.next = curr.next;
+ if (!isDelete) {
+ curr.next = /** @type {NonNullable} */
+ list.next;
+ list.next = curr;
+ }
+ return curr;
+ }
+ }
+ }, "listGetNode");
+ var listGet = /* @__PURE__ */ __name(function(objects, key) {
+ if (!objects) {
+ return void 0;
+ }
+ var node = listGetNode(objects, key);
+ return node && node.value;
+ }, "listGet");
+ var listSet = /* @__PURE__ */ __name(function(objects, key, value) {
+ var node = listGetNode(objects, key);
+ if (node) {
+ node.value = value;
+ } else {
+ objects.next = /** @type {import('./list.d.ts').ListNode} */
+ {
+ // eslint-disable-line no-param-reassign, no-extra-parens
+ key,
+ next: objects.next,
+ value
+ };
+ }
+ }, "listSet");
+ var listHas = /* @__PURE__ */ __name(function(objects, key) {
+ if (!objects) {
+ return false;
+ }
+ return !!listGetNode(objects, key);
+ }, "listHas");
+ var listDelete = /* @__PURE__ */ __name(function(objects, key) {
+ if (objects) {
+ return listGetNode(objects, key, true);
+ }
+ }, "listDelete");
+ module.exports = /* @__PURE__ */ __name(function getSideChannelList() {
+ var $o;
+ var channel = {
+ assert: /* @__PURE__ */ __name(function(key) {
+ if (!channel.has(key)) {
+ throw new $TypeError("Side channel does not contain " + inspect(key));
+ }
+ }, "assert"),
+ "delete": /* @__PURE__ */ __name(function(key) {
+ var deletedNode = listDelete($o, key);
+ if (deletedNode && $o && !$o.next) {
+ $o = void 0;
+ }
+ return !!deletedNode;
+ }, "delete"),
+ get: /* @__PURE__ */ __name(function(key) {
+ return listGet($o, key);
+ }, "get"),
+ has: /* @__PURE__ */ __name(function(key) {
+ return listHas($o, key);
+ }, "has"),
+ set: /* @__PURE__ */ __name(function(key, value) {
+ if (!$o) {
+ $o = {
+ next: void 0
+ };
+ }
+ listSet(
+ /** @type {NonNullable} */
+ $o,
+ key,
+ value
+ );
+ }, "set")
+ };
+ return channel;
+ }, "getSideChannelList");
+ }
+});
+
+// ../../node_modules/.pnpm/es-object-atoms@1.1.2/node_modules/es-object-atoms/index.js
+var require_es_object_atoms = __commonJS({
+ "../../node_modules/.pnpm/es-object-atoms@1.1.2/node_modules/es-object-atoms/index.js"(exports, module) {
+ "use strict";
+ module.exports = Object;
+ }
+});
+
+// ../../node_modules/.pnpm/es-errors@1.3.0/node_modules/es-errors/index.js
+var require_es_errors = __commonJS({
+ "../../node_modules/.pnpm/es-errors@1.3.0/node_modules/es-errors/index.js"(exports, module) {
+ "use strict";
+ module.exports = Error;
+ }
+});
+
+// ../../node_modules/.pnpm/es-errors@1.3.0/node_modules/es-errors/eval.js
+var require_eval = __commonJS({
+ "../../node_modules/.pnpm/es-errors@1.3.0/node_modules/es-errors/eval.js"(exports, module) {
+ "use strict";
+ module.exports = EvalError;
+ }
+});
+
+// ../../node_modules/.pnpm/es-errors@1.3.0/node_modules/es-errors/range.js
+var require_range = __commonJS({
+ "../../node_modules/.pnpm/es-errors@1.3.0/node_modules/es-errors/range.js"(exports, module) {
+ "use strict";
+ module.exports = RangeError;
+ }
+});
+
+// ../../node_modules/.pnpm/es-errors@1.3.0/node_modules/es-errors/ref.js
+var require_ref = __commonJS({
+ "../../node_modules/.pnpm/es-errors@1.3.0/node_modules/es-errors/ref.js"(exports, module) {
+ "use strict";
+ module.exports = ReferenceError;
+ }
+});
+
+// ../../node_modules/.pnpm/es-errors@1.3.0/node_modules/es-errors/syntax.js
+var require_syntax = __commonJS({
+ "../../node_modules/.pnpm/es-errors@1.3.0/node_modules/es-errors/syntax.js"(exports, module) {
+ "use strict";
+ module.exports = SyntaxError;
+ }
+});
+
+// ../../node_modules/.pnpm/es-errors@1.3.0/node_modules/es-errors/uri.js
+var require_uri = __commonJS({
+ "../../node_modules/.pnpm/es-errors@1.3.0/node_modules/es-errors/uri.js"(exports, module) {
+ "use strict";
+ module.exports = URIError;
+ }
+});
+
+// ../../node_modules/.pnpm/math-intrinsics@1.1.0/node_modules/math-intrinsics/abs.js
+var require_abs = __commonJS({
+ "../../node_modules/.pnpm/math-intrinsics@1.1.0/node_modules/math-intrinsics/abs.js"(exports, module) {
+ "use strict";
+ module.exports = Math.abs;
+ }
+});
+
+// ../../node_modules/.pnpm/math-intrinsics@1.1.0/node_modules/math-intrinsics/floor.js
+var require_floor = __commonJS({
+ "../../node_modules/.pnpm/math-intrinsics@1.1.0/node_modules/math-intrinsics/floor.js"(exports, module) {
+ "use strict";
+ module.exports = Math.floor;
+ }
+});
+
+// ../../node_modules/.pnpm/math-intrinsics@1.1.0/node_modules/math-intrinsics/max.js
+var require_max2 = __commonJS({
+ "../../node_modules/.pnpm/math-intrinsics@1.1.0/node_modules/math-intrinsics/max.js"(exports, module) {
+ "use strict";
+ module.exports = Math.max;
+ }
+});
+
+// ../../node_modules/.pnpm/math-intrinsics@1.1.0/node_modules/math-intrinsics/min.js
+var require_min2 = __commonJS({
+ "../../node_modules/.pnpm/math-intrinsics@1.1.0/node_modules/math-intrinsics/min.js"(exports, module) {
+ "use strict";
+ module.exports = Math.min;
+ }
+});
+
+// ../../node_modules/.pnpm/math-intrinsics@1.1.0/node_modules/math-intrinsics/pow.js
+var require_pow = __commonJS({
+ "../../node_modules/.pnpm/math-intrinsics@1.1.0/node_modules/math-intrinsics/pow.js"(exports, module) {
+ "use strict";
+ module.exports = Math.pow;
+ }
+});
+
+// ../../node_modules/.pnpm/math-intrinsics@1.1.0/node_modules/math-intrinsics/round.js
+var require_round = __commonJS({
+ "../../node_modules/.pnpm/math-intrinsics@1.1.0/node_modules/math-intrinsics/round.js"(exports, module) {
+ "use strict";
+ module.exports = Math.round;
+ }
+});
+
+// ../../node_modules/.pnpm/math-intrinsics@1.1.0/node_modules/math-intrinsics/isNaN.js
+var require_isNaN = __commonJS({
+ "../../node_modules/.pnpm/math-intrinsics@1.1.0/node_modules/math-intrinsics/isNaN.js"(exports, module) {
+ "use strict";
+ module.exports = Number.isNaN || /* @__PURE__ */ __name(function isNaN2(a) {
+ return a !== a;
+ }, "isNaN");
+ }
+});
+
+// ../../node_modules/.pnpm/math-intrinsics@1.1.0/node_modules/math-intrinsics/sign.js
+var require_sign = __commonJS({
+ "../../node_modules/.pnpm/math-intrinsics@1.1.0/node_modules/math-intrinsics/sign.js"(exports, module) {
+ "use strict";
+ var $isNaN = require_isNaN();
+ module.exports = /* @__PURE__ */ __name(function sign(number) {
+ if ($isNaN(number) || number === 0) {
+ return number;
+ }
+ return number < 0 ? -1 : 1;
+ }, "sign");
+ }
+});
+
+// ../../node_modules/.pnpm/gopd@1.2.0/node_modules/gopd/gOPD.js
+var require_gOPD = __commonJS({
+ "../../node_modules/.pnpm/gopd@1.2.0/node_modules/gopd/gOPD.js"(exports, module) {
+ "use strict";
+ module.exports = Object.getOwnPropertyDescriptor;
+ }
+});
+
+// ../../node_modules/.pnpm/gopd@1.2.0/node_modules/gopd/index.js
+var require_gopd = __commonJS({
+ "../../node_modules/.pnpm/gopd@1.2.0/node_modules/gopd/index.js"(exports, module) {
+ "use strict";
+ var $gOPD = require_gOPD();
+ if ($gOPD) {
+ try {
+ $gOPD([], "length");
+ } catch (e) {
+ $gOPD = null;
+ }
+ }
+ module.exports = $gOPD;
+ }
+});
+
+// ../../node_modules/.pnpm/es-define-property@1.0.1/node_modules/es-define-property/index.js
+var require_es_define_property = __commonJS({
+ "../../node_modules/.pnpm/es-define-property@1.0.1/node_modules/es-define-property/index.js"(exports, module) {
+ "use strict";
+ var $defineProperty = Object.defineProperty || false;
+ if ($defineProperty) {
+ try {
+ $defineProperty({}, "a", { value: 1 });
+ } catch (e) {
+ $defineProperty = false;
+ }
+ }
+ module.exports = $defineProperty;
+ }
+});
+
+// ../../node_modules/.pnpm/has-symbols@1.1.0/node_modules/has-symbols/shams.js
+var require_shams = __commonJS({
+ "../../node_modules/.pnpm/has-symbols@1.1.0/node_modules/has-symbols/shams.js"(exports, module) {
+ "use strict";
+ module.exports = /* @__PURE__ */ __name(function hasSymbols() {
+ if (typeof Symbol !== "function" || typeof Object.getOwnPropertySymbols !== "function") {
+ return false;
+ }
+ if (typeof Symbol.iterator === "symbol") {
+ return true;
+ }
+ var obj = {};
+ var sym = /* @__PURE__ */ Symbol("test");
+ var symObj = Object(sym);
+ if (typeof sym === "string") {
+ return false;
+ }
+ if (Object.prototype.toString.call(sym) !== "[object Symbol]") {
+ return false;
+ }
+ if (Object.prototype.toString.call(symObj) !== "[object Symbol]") {
+ return false;
+ }
+ var symVal = 42;
+ obj[sym] = symVal;
+ for (var _ in obj) {
+ return false;
+ }
+ if (typeof Object.keys === "function" && Object.keys(obj).length !== 0) {
+ return false;
+ }
+ if (typeof Object.getOwnPropertyNames === "function" && Object.getOwnPropertyNames(obj).length !== 0) {
+ return false;
+ }
+ var syms = Object.getOwnPropertySymbols(obj);
+ if (syms.length !== 1 || syms[0] !== sym) {
+ return false;
+ }
+ if (!Object.prototype.propertyIsEnumerable.call(obj, sym)) {
+ return false;
+ }
+ if (typeof Object.getOwnPropertyDescriptor === "function") {
+ var descriptor = (
+ /** @type {PropertyDescriptor} */
+ Object.getOwnPropertyDescriptor(obj, sym)
+ );
+ if (descriptor.value !== symVal || descriptor.enumerable !== true) {
+ return false;
+ }
+ }
+ return true;
+ }, "hasSymbols");
+ }
+});
+
+// ../../node_modules/.pnpm/has-symbols@1.1.0/node_modules/has-symbols/index.js
+var require_has_symbols = __commonJS({
+ "../../node_modules/.pnpm/has-symbols@1.1.0/node_modules/has-symbols/index.js"(exports, module) {
+ "use strict";
+ var origSymbol = typeof Symbol !== "undefined" && Symbol;
+ var hasSymbolSham = require_shams();
+ module.exports = /* @__PURE__ */ __name(function hasNativeSymbols() {
+ if (typeof origSymbol !== "function") {
+ return false;
+ }
+ if (typeof Symbol !== "function") {
+ return false;
+ }
+ if (typeof origSymbol("foo") !== "symbol") {
+ return false;
+ }
+ if (typeof /* @__PURE__ */ Symbol("bar") !== "symbol") {
+ return false;
+ }
+ return hasSymbolSham();
+ }, "hasNativeSymbols");
+ }
+});
+
+// ../../node_modules/.pnpm/get-proto@1.0.1/node_modules/get-proto/Reflect.getPrototypeOf.js
+var require_Reflect_getPrototypeOf = __commonJS({
+ "../../node_modules/.pnpm/get-proto@1.0.1/node_modules/get-proto/Reflect.getPrototypeOf.js"(exports, module) {
+ "use strict";
+ module.exports = typeof Reflect !== "undefined" && Reflect.getPrototypeOf || null;
+ }
+});
+
+// ../../node_modules/.pnpm/get-proto@1.0.1/node_modules/get-proto/Object.getPrototypeOf.js
+var require_Object_getPrototypeOf = __commonJS({
+ "../../node_modules/.pnpm/get-proto@1.0.1/node_modules/get-proto/Object.getPrototypeOf.js"(exports, module) {
+ "use strict";
+ var $Object = require_es_object_atoms();
+ module.exports = $Object.getPrototypeOf || null;
+ }
+});
+
+// ../../node_modules/.pnpm/function-bind@1.1.2/node_modules/function-bind/implementation.js
+var require_implementation = __commonJS({
+ "../../node_modules/.pnpm/function-bind@1.1.2/node_modules/function-bind/implementation.js"(exports, module) {
+ "use strict";
+ var ERROR_MESSAGE = "Function.prototype.bind called on incompatible ";
+ var toStr = Object.prototype.toString;
+ var max = Math.max;
+ var funcType = "[object Function]";
+ var concatty = /* @__PURE__ */ __name(function concatty2(a, b) {
+ var arr = [];
+ for (var i = 0; i < a.length; i += 1) {
+ arr[i] = a[i];
+ }
+ for (var j = 0; j < b.length; j += 1) {
+ arr[j + a.length] = b[j];
+ }
+ return arr;
+ }, "concatty");
+ var slicy = /* @__PURE__ */ __name(function slicy2(arrLike, offset) {
+ var arr = [];
+ for (var i = offset || 0, j = 0; i < arrLike.length; i += 1, j += 1) {
+ arr[j] = arrLike[i];
+ }
+ return arr;
+ }, "slicy");
+ var joiny = /* @__PURE__ */ __name(function(arr, joiner) {
+ var str = "";
+ for (var i = 0; i < arr.length; i += 1) {
+ str += arr[i];
+ if (i + 1 < arr.length) {
+ str += joiner;
+ }
+ }
+ return str;
+ }, "joiny");
+ module.exports = /* @__PURE__ */ __name(function bind(that) {
+ var target = this;
+ if (typeof target !== "function" || toStr.apply(target) !== funcType) {
+ throw new TypeError(ERROR_MESSAGE + target);
+ }
+ var args = slicy(arguments, 1);
+ var bound;
+ var binder = /* @__PURE__ */ __name(function() {
+ if (this instanceof bound) {
+ var result = target.apply(
+ this,
+ concatty(args, arguments)
+ );
+ if (Object(result) === result) {
+ return result;
+ }
+ return this;
+ }
+ return target.apply(
+ that,
+ concatty(args, arguments)
+ );
+ }, "binder");
+ var boundLength = max(0, target.length - args.length);
+ var boundArgs = [];
+ for (var i = 0; i < boundLength; i++) {
+ boundArgs[i] = "$" + i;
+ }
+ bound = Function("binder", "return function (" + joiny(boundArgs, ",") + "){ return binder.apply(this,arguments); }")(binder);
+ if (target.prototype) {
+ var Empty = /* @__PURE__ */ __name(function Empty2() {
+ }, "Empty");
+ Empty.prototype = target.prototype;
+ bound.prototype = new Empty();
+ Empty.prototype = null;
+ }
+ return bound;
+ }, "bind");
+ }
+});
+
+// ../../node_modules/.pnpm/function-bind@1.1.2/node_modules/function-bind/index.js
+var require_function_bind = __commonJS({
+ "../../node_modules/.pnpm/function-bind@1.1.2/node_modules/function-bind/index.js"(exports, module) {
+ "use strict";
+ var implementation = require_implementation();
+ module.exports = Function.prototype.bind || implementation;
+ }
+});
+
+// ../../node_modules/.pnpm/call-bind-apply-helpers@1.0.2/node_modules/call-bind-apply-helpers/functionCall.js
+var require_functionCall = __commonJS({
+ "../../node_modules/.pnpm/call-bind-apply-helpers@1.0.2/node_modules/call-bind-apply-helpers/functionCall.js"(exports, module) {
+ "use strict";
+ module.exports = Function.prototype.call;
+ }
+});
+
+// ../../node_modules/.pnpm/call-bind-apply-helpers@1.0.2/node_modules/call-bind-apply-helpers/functionApply.js
+var require_functionApply = __commonJS({
+ "../../node_modules/.pnpm/call-bind-apply-helpers@1.0.2/node_modules/call-bind-apply-helpers/functionApply.js"(exports, module) {
+ "use strict";
+ module.exports = Function.prototype.apply;
+ }
+});
+
+// ../../node_modules/.pnpm/call-bind-apply-helpers@1.0.2/node_modules/call-bind-apply-helpers/reflectApply.js
+var require_reflectApply = __commonJS({
+ "../../node_modules/.pnpm/call-bind-apply-helpers@1.0.2/node_modules/call-bind-apply-helpers/reflectApply.js"(exports, module) {
+ "use strict";
+ module.exports = typeof Reflect !== "undefined" && Reflect && Reflect.apply;
+ }
+});
+
+// ../../node_modules/.pnpm/call-bind-apply-helpers@1.0.2/node_modules/call-bind-apply-helpers/actualApply.js
+var require_actualApply = __commonJS({
+ "../../node_modules/.pnpm/call-bind-apply-helpers@1.0.2/node_modules/call-bind-apply-helpers/actualApply.js"(exports, module) {
+ "use strict";
+ var bind = require_function_bind();
+ var $apply = require_functionApply();
+ var $call = require_functionCall();
+ var $reflectApply = require_reflectApply();
+ module.exports = $reflectApply || bind.call($call, $apply);
+ }
+});
+
+// ../../node_modules/.pnpm/call-bind-apply-helpers@1.0.2/node_modules/call-bind-apply-helpers/index.js
+var require_call_bind_apply_helpers = __commonJS({
+ "../../node_modules/.pnpm/call-bind-apply-helpers@1.0.2/node_modules/call-bind-apply-helpers/index.js"(exports, module) {
+ "use strict";
+ var bind = require_function_bind();
+ var $TypeError = require_type();
+ var $call = require_functionCall();
+ var $actualApply = require_actualApply();
+ module.exports = /* @__PURE__ */ __name(function callBindBasic(args) {
+ if (args.length < 1 || typeof args[0] !== "function") {
+ throw new $TypeError("a function is required");
+ }
+ return $actualApply(bind, $call, args);
+ }, "callBindBasic");
+ }
+});
+
+// ../../node_modules/.pnpm/dunder-proto@1.0.1/node_modules/dunder-proto/get.js
+var require_get = __commonJS({
+ "../../node_modules/.pnpm/dunder-proto@1.0.1/node_modules/dunder-proto/get.js"(exports, module) {
+ "use strict";
+ var callBind = require_call_bind_apply_helpers();
+ var gOPD = require_gopd();
+ var hasProtoAccessor;
+ try {
+ hasProtoAccessor = /** @type {{ __proto__?: typeof Array.prototype }} */
+ [].__proto__ === Array.prototype;
+ } catch (e) {
+ if (!e || typeof e !== "object" || !("code" in e) || e.code !== "ERR_PROTO_ACCESS") {
+ throw e;
+ }
+ }
+ var desc = !!hasProtoAccessor && gOPD && gOPD(
+ Object.prototype,
+ /** @type {keyof typeof Object.prototype} */
+ "__proto__"
+ );
+ var $Object = Object;
+ var $getPrototypeOf = $Object.getPrototypeOf;
+ module.exports = desc && typeof desc.get === "function" ? callBind([desc.get]) : typeof $getPrototypeOf === "function" ? (
+ /** @type {import('./get')} */
+ /* @__PURE__ */ __name(function getDunder(value) {
+ return $getPrototypeOf(value == null ? value : $Object(value));
+ }, "getDunder")
+ ) : false;
+ }
+});
+
+// ../../node_modules/.pnpm/get-proto@1.0.1/node_modules/get-proto/index.js
+var require_get_proto = __commonJS({
+ "../../node_modules/.pnpm/get-proto@1.0.1/node_modules/get-proto/index.js"(exports, module) {
+ "use strict";
+ var reflectGetProto = require_Reflect_getPrototypeOf();
+ var originalGetProto = require_Object_getPrototypeOf();
+ var getDunderProto = require_get();
+ module.exports = reflectGetProto ? /* @__PURE__ */ __name(function getProto(O) {
+ return reflectGetProto(O);
+ }, "getProto") : originalGetProto ? /* @__PURE__ */ __name(function getProto(O) {
+ if (!O || typeof O !== "object" && typeof O !== "function") {
+ throw new TypeError("getProto: not an object");
+ }
+ return originalGetProto(O);
+ }, "getProto") : getDunderProto ? /* @__PURE__ */ __name(function getProto(O) {
+ return getDunderProto(O);
+ }, "getProto") : null;
+ }
+});
+
+// ../../node_modules/.pnpm/hasown@2.0.4/node_modules/hasown/index.js
+var require_hasown = __commonJS({
+ "../../node_modules/.pnpm/hasown@2.0.4/node_modules/hasown/index.js"(exports, module) {
+ "use strict";
+ var call = Function.prototype.call;
+ var $hasOwn = Object.prototype.hasOwnProperty;
+ var bind = require_function_bind();
+ module.exports = bind.call(call, $hasOwn);
+ }
+});
+
+// ../../node_modules/.pnpm/get-intrinsic@1.3.0/node_modules/get-intrinsic/index.js
+var require_get_intrinsic = __commonJS({
+ "../../node_modules/.pnpm/get-intrinsic@1.3.0/node_modules/get-intrinsic/index.js"(exports, module) {
+ "use strict";
+ var undefined2;
+ var $Object = require_es_object_atoms();
+ var $Error = require_es_errors();
+ var $EvalError = require_eval();
+ var $RangeError = require_range();
+ var $ReferenceError = require_ref();
+ var $SyntaxError = require_syntax();
+ var $TypeError = require_type();
+ var $URIError = require_uri();
+ var abs = require_abs();
+ var floor = require_floor();
+ var max = require_max2();
+ var min = require_min2();
+ var pow = require_pow();
+ var round = require_round();
+ var sign = require_sign();
+ var $Function = Function;
+ var getEvalledConstructor = /* @__PURE__ */ __name(function(expressionSyntax) {
+ try {
+ return $Function('"use strict"; return (' + expressionSyntax + ").constructor;")();
+ } catch (e) {
+ }
+ }, "getEvalledConstructor");
+ var $gOPD = require_gopd();
+ var $defineProperty = require_es_define_property();
+ var throwTypeError = /* @__PURE__ */ __name(function() {
+ throw new $TypeError();
+ }, "throwTypeError");
+ var ThrowTypeError = $gOPD ? (function() {
+ try {
+ arguments.callee;
+ return throwTypeError;
+ } catch (calleeThrows) {
+ try {
+ return $gOPD(arguments, "callee").get;
+ } catch (gOPDthrows) {
+ return throwTypeError;
+ }
+ }
+ })() : throwTypeError;
+ var hasSymbols = require_has_symbols()();
+ var getProto = require_get_proto();
+ var $ObjectGPO = require_Object_getPrototypeOf();
+ var $ReflectGPO = require_Reflect_getPrototypeOf();
+ var $apply = require_functionApply();
+ var $call = require_functionCall();
+ var needsEval = {};
+ var TypedArray = typeof Uint8Array === "undefined" || !getProto ? undefined2 : getProto(Uint8Array);
+ var INTRINSICS = {
+ __proto__: null,
+ "%AggregateError%": typeof AggregateError === "undefined" ? undefined2 : AggregateError,
+ "%Array%": Array,
+ "%ArrayBuffer%": typeof ArrayBuffer === "undefined" ? undefined2 : ArrayBuffer,
+ "%ArrayIteratorPrototype%": hasSymbols && getProto ? getProto([][Symbol.iterator]()) : undefined2,
+ "%AsyncFromSyncIteratorPrototype%": undefined2,
+ "%AsyncFunction%": needsEval,
+ "%AsyncGenerator%": needsEval,
+ "%AsyncGeneratorFunction%": needsEval,
+ "%AsyncIteratorPrototype%": needsEval,
+ "%Atomics%": typeof Atomics === "undefined" ? undefined2 : Atomics,
+ "%BigInt%": typeof BigInt === "undefined" ? undefined2 : BigInt,
+ "%BigInt64Array%": typeof BigInt64Array === "undefined" ? undefined2 : BigInt64Array,
+ "%BigUint64Array%": typeof BigUint64Array === "undefined" ? undefined2 : BigUint64Array,
+ "%Boolean%": Boolean,
+ "%DataView%": typeof DataView === "undefined" ? undefined2 : DataView,
+ "%Date%": Date,
+ "%decodeURI%": decodeURI,
+ "%decodeURIComponent%": decodeURIComponent,
+ "%encodeURI%": encodeURI,
+ "%encodeURIComponent%": encodeURIComponent,
+ "%Error%": $Error,
+ "%eval%": eval,
+ // eslint-disable-line no-eval
+ "%EvalError%": $EvalError,
+ "%Float16Array%": typeof Float16Array === "undefined" ? undefined2 : Float16Array,
+ "%Float32Array%": typeof Float32Array === "undefined" ? undefined2 : Float32Array,
+ "%Float64Array%": typeof Float64Array === "undefined" ? undefined2 : Float64Array,
+ "%FinalizationRegistry%": typeof FinalizationRegistry === "undefined" ? undefined2 : FinalizationRegistry,
+ "%Function%": $Function,
+ "%GeneratorFunction%": needsEval,
+ "%Int8Array%": typeof Int8Array === "undefined" ? undefined2 : Int8Array,
+ "%Int16Array%": typeof Int16Array === "undefined" ? undefined2 : Int16Array,
+ "%Int32Array%": typeof Int32Array === "undefined" ? undefined2 : Int32Array,
+ "%isFinite%": isFinite,
+ "%isNaN%": isNaN,
+ "%IteratorPrototype%": hasSymbols && getProto ? getProto(getProto([][Symbol.iterator]())) : undefined2,
+ "%JSON%": typeof JSON === "object" ? JSON : undefined2,
+ "%Map%": typeof Map === "undefined" ? undefined2 : Map,
+ "%MapIteratorPrototype%": typeof Map === "undefined" || !hasSymbols || !getProto ? undefined2 : getProto((/* @__PURE__ */ new Map())[Symbol.iterator]()),
+ "%Math%": Math,
+ "%Number%": Number,
+ "%Object%": $Object,
+ "%Object.getOwnPropertyDescriptor%": $gOPD,
+ "%parseFloat%": parseFloat,
+ "%parseInt%": parseInt,
+ "%Promise%": typeof Promise === "undefined" ? undefined2 : Promise,
+ "%Proxy%": typeof Proxy === "undefined" ? undefined2 : Proxy,
+ "%RangeError%": $RangeError,
+ "%ReferenceError%": $ReferenceError,
+ "%Reflect%": typeof Reflect === "undefined" ? undefined2 : Reflect,
+ "%RegExp%": RegExp,
+ "%Set%": typeof Set === "undefined" ? undefined2 : Set,
+ "%SetIteratorPrototype%": typeof Set === "undefined" || !hasSymbols || !getProto ? undefined2 : getProto((/* @__PURE__ */ new Set())[Symbol.iterator]()),
+ "%SharedArrayBuffer%": typeof SharedArrayBuffer === "undefined" ? undefined2 : SharedArrayBuffer,
+ "%String%": String,
+ "%StringIteratorPrototype%": hasSymbols && getProto ? getProto(""[Symbol.iterator]()) : undefined2,
+ "%Symbol%": hasSymbols ? Symbol : undefined2,
+ "%SyntaxError%": $SyntaxError,
+ "%ThrowTypeError%": ThrowTypeError,
+ "%TypedArray%": TypedArray,
+ "%TypeError%": $TypeError,
+ "%Uint8Array%": typeof Uint8Array === "undefined" ? undefined2 : Uint8Array,
+ "%Uint8ClampedArray%": typeof Uint8ClampedArray === "undefined" ? undefined2 : Uint8ClampedArray,
+ "%Uint16Array%": typeof Uint16Array === "undefined" ? undefined2 : Uint16Array,
+ "%Uint32Array%": typeof Uint32Array === "undefined" ? undefined2 : Uint32Array,
+ "%URIError%": $URIError,
+ "%WeakMap%": typeof WeakMap === "undefined" ? undefined2 : WeakMap,
+ "%WeakRef%": typeof WeakRef === "undefined" ? undefined2 : WeakRef,
+ "%WeakSet%": typeof WeakSet === "undefined" ? undefined2 : WeakSet,
+ "%Function.prototype.call%": $call,
+ "%Function.prototype.apply%": $apply,
+ "%Object.defineProperty%": $defineProperty,
+ "%Object.getPrototypeOf%": $ObjectGPO,
+ "%Math.abs%": abs,
+ "%Math.floor%": floor,
+ "%Math.max%": max,
+ "%Math.min%": min,
+ "%Math.pow%": pow,
+ "%Math.round%": round,
+ "%Math.sign%": sign,
+ "%Reflect.getPrototypeOf%": $ReflectGPO
+ };
+ if (getProto) {
+ try {
+ null.error;
+ } catch (e) {
+ errorProto = getProto(getProto(e));
+ INTRINSICS["%Error.prototype%"] = errorProto;
+ }
+ }
+ var errorProto;
+ var doEval = /* @__PURE__ */ __name(function doEval2(name) {
+ var value;
+ if (name === "%AsyncFunction%") {
+ value = getEvalledConstructor("async function () {}");
+ } else if (name === "%GeneratorFunction%") {
+ value = getEvalledConstructor("function* () {}");
+ } else if (name === "%AsyncGeneratorFunction%") {
+ value = getEvalledConstructor("async function* () {}");
+ } else if (name === "%AsyncGenerator%") {
+ var fn = doEval2("%AsyncGeneratorFunction%");
+ if (fn) {
+ value = fn.prototype;
+ }
+ } else if (name === "%AsyncIteratorPrototype%") {
+ var gen = doEval2("%AsyncGenerator%");
+ if (gen && getProto) {
+ value = getProto(gen.prototype);
+ }
+ }
+ INTRINSICS[name] = value;
+ return value;
+ }, "doEval");
+ var LEGACY_ALIASES = {
+ __proto__: null,
+ "%ArrayBufferPrototype%": ["ArrayBuffer", "prototype"],
+ "%ArrayPrototype%": ["Array", "prototype"],
+ "%ArrayProto_entries%": ["Array", "prototype", "entries"],
+ "%ArrayProto_forEach%": ["Array", "prototype", "forEach"],
+ "%ArrayProto_keys%": ["Array", "prototype", "keys"],
+ "%ArrayProto_values%": ["Array", "prototype", "values"],
+ "%AsyncFunctionPrototype%": ["AsyncFunction", "prototype"],
+ "%AsyncGenerator%": ["AsyncGeneratorFunction", "prototype"],
+ "%AsyncGeneratorPrototype%": ["AsyncGeneratorFunction", "prototype", "prototype"],
+ "%BooleanPrototype%": ["Boolean", "prototype"],
+ "%DataViewPrototype%": ["DataView", "prototype"],
+ "%DatePrototype%": ["Date", "prototype"],
+ "%ErrorPrototype%": ["Error", "prototype"],
+ "%EvalErrorPrototype%": ["EvalError", "prototype"],
+ "%Float32ArrayPrototype%": ["Float32Array", "prototype"],
+ "%Float64ArrayPrototype%": ["Float64Array", "prototype"],
+ "%FunctionPrototype%": ["Function", "prototype"],
+ "%Generator%": ["GeneratorFunction", "prototype"],
+ "%GeneratorPrototype%": ["GeneratorFunction", "prototype", "prototype"],
+ "%Int8ArrayPrototype%": ["Int8Array", "prototype"],
+ "%Int16ArrayPrototype%": ["Int16Array", "prototype"],
+ "%Int32ArrayPrototype%": ["Int32Array", "prototype"],
+ "%JSONParse%": ["JSON", "parse"],
+ "%JSONStringify%": ["JSON", "stringify"],
+ "%MapPrototype%": ["Map", "prototype"],
+ "%NumberPrototype%": ["Number", "prototype"],
+ "%ObjectPrototype%": ["Object", "prototype"],
+ "%ObjProto_toString%": ["Object", "prototype", "toString"],
+ "%ObjProto_valueOf%": ["Object", "prototype", "valueOf"],
+ "%PromisePrototype%": ["Promise", "prototype"],
+ "%PromiseProto_then%": ["Promise", "prototype", "then"],
+ "%Promise_all%": ["Promise", "all"],
+ "%Promise_reject%": ["Promise", "reject"],
+ "%Promise_resolve%": ["Promise", "resolve"],
+ "%RangeErrorPrototype%": ["RangeError", "prototype"],
+ "%ReferenceErrorPrototype%": ["ReferenceError", "prototype"],
+ "%RegExpPrototype%": ["RegExp", "prototype"],
+ "%SetPrototype%": ["Set", "prototype"],
+ "%SharedArrayBufferPrototype%": ["SharedArrayBuffer", "prototype"],
+ "%StringPrototype%": ["String", "prototype"],
+ "%SymbolPrototype%": ["Symbol", "prototype"],
+ "%SyntaxErrorPrototype%": ["SyntaxError", "prototype"],
+ "%TypedArrayPrototype%": ["TypedArray", "prototype"],
+ "%TypeErrorPrototype%": ["TypeError", "prototype"],
+ "%Uint8ArrayPrototype%": ["Uint8Array", "prototype"],
+ "%Uint8ClampedArrayPrototype%": ["Uint8ClampedArray", "prototype"],
+ "%Uint16ArrayPrototype%": ["Uint16Array", "prototype"],
+ "%Uint32ArrayPrototype%": ["Uint32Array", "prototype"],
+ "%URIErrorPrototype%": ["URIError", "prototype"],
+ "%WeakMapPrototype%": ["WeakMap", "prototype"],
+ "%WeakSetPrototype%": ["WeakSet", "prototype"]
+ };
+ var bind = require_function_bind();
+ var hasOwn = require_hasown();
+ var $concat = bind.call($call, Array.prototype.concat);
+ var $spliceApply = bind.call($apply, Array.prototype.splice);
+ var $replace = bind.call($call, String.prototype.replace);
+ var $strSlice = bind.call($call, String.prototype.slice);
+ var $exec = bind.call($call, RegExp.prototype.exec);
+ var rePropName = /[^%.[\]]+|\[(?:(-?\d+(?:\.\d+)?)|(["'])((?:(?!\2)[^\\]|\\.)*?)\2)\]|(?=(?:\.|\[\])(?:\.|\[\]|%$))/g;
+ var reEscapeChar = /\\(\\)?/g;
+ var stringToPath = /* @__PURE__ */ __name(function stringToPath2(string) {
+ var first = $strSlice(string, 0, 1);
+ var last = $strSlice(string, -1);
+ if (first === "%" && last !== "%") {
+ throw new $SyntaxError("invalid intrinsic syntax, expected closing `%`");
+ } else if (last === "%" && first !== "%") {
+ throw new $SyntaxError("invalid intrinsic syntax, expected opening `%`");
+ }
+ var result = [];
+ $replace(string, rePropName, function(match, number, quote, subString) {
+ result[result.length] = quote ? $replace(subString, reEscapeChar, "$1") : number || match;
+ });
+ return result;
+ }, "stringToPath");
+ var getBaseIntrinsic = /* @__PURE__ */ __name(function getBaseIntrinsic2(name, allowMissing) {
+ var intrinsicName = name;
+ var alias;
+ if (hasOwn(LEGACY_ALIASES, intrinsicName)) {
+ alias = LEGACY_ALIASES[intrinsicName];
+ intrinsicName = "%" + alias[0] + "%";
+ }
+ if (hasOwn(INTRINSICS, intrinsicName)) {
+ var value = INTRINSICS[intrinsicName];
+ if (value === needsEval) {
+ value = doEval(intrinsicName);
+ }
+ if (typeof value === "undefined" && !allowMissing) {
+ throw new $TypeError("intrinsic " + name + " exists, but is not available. Please file an issue!");
+ }
+ return {
+ alias,
+ name: intrinsicName,
+ value
+ };
+ }
+ throw new $SyntaxError("intrinsic " + name + " does not exist!");
+ }, "getBaseIntrinsic");
+ module.exports = /* @__PURE__ */ __name(function GetIntrinsic(name, allowMissing) {
+ if (typeof name !== "string" || name.length === 0) {
+ throw new $TypeError("intrinsic name must be a non-empty string");
+ }
+ if (arguments.length > 1 && typeof allowMissing !== "boolean") {
+ throw new $TypeError('"allowMissing" argument must be a boolean');
+ }
+ if ($exec(/^%?[^%]*%?$/, name) === null) {
+ throw new $SyntaxError("`%` may not be present anywhere but at the beginning and end of the intrinsic name");
+ }
+ var parts = stringToPath(name);
+ var intrinsicBaseName = parts.length > 0 ? parts[0] : "";
+ var intrinsic = getBaseIntrinsic("%" + intrinsicBaseName + "%", allowMissing);
+ var intrinsicRealName = intrinsic.name;
+ var value = intrinsic.value;
+ var skipFurtherCaching = false;
+ var alias = intrinsic.alias;
+ if (alias) {
+ intrinsicBaseName = alias[0];
+ $spliceApply(parts, $concat([0, 1], alias));
+ }
+ for (var i = 1, isOwn = true; i < parts.length; i += 1) {
+ var part = parts[i];
+ var first = $strSlice(part, 0, 1);
+ var last = $strSlice(part, -1);
+ if ((first === '"' || first === "'" || first === "`" || (last === '"' || last === "'" || last === "`")) && first !== last) {
+ throw new $SyntaxError("property names with quotes must have matching quotes");
+ }
+ if (part === "constructor" || !isOwn) {
+ skipFurtherCaching = true;
+ }
+ intrinsicBaseName += "." + part;
+ intrinsicRealName = "%" + intrinsicBaseName + "%";
+ if (hasOwn(INTRINSICS, intrinsicRealName)) {
+ value = INTRINSICS[intrinsicRealName];
+ } else if (value != null) {
+ if (!(part in value)) {
+ if (!allowMissing) {
+ throw new $TypeError("base intrinsic for " + name + " exists, but the property is not available.");
+ }
+ return void undefined2;
+ }
+ if ($gOPD && i + 1 >= parts.length) {
+ var desc = $gOPD(value, part);
+ isOwn = !!desc;
+ if (isOwn && "get" in desc && !("originalValue" in desc.get)) {
+ value = desc.get;
+ } else {
+ value = value[part];
+ }
+ } else {
+ isOwn = hasOwn(value, part);
+ value = value[part];
+ }
+ if (isOwn && !skipFurtherCaching) {
+ INTRINSICS[intrinsicRealName] = value;
+ }
+ }
+ }
+ return value;
+ }, "GetIntrinsic");
+ }
+});
+
+// ../../node_modules/.pnpm/call-bound@1.0.4/node_modules/call-bound/index.js
+var require_call_bound = __commonJS({
+ "../../node_modules/.pnpm/call-bound@1.0.4/node_modules/call-bound/index.js"(exports, module) {
+ "use strict";
+ var GetIntrinsic = require_get_intrinsic();
+ var callBindBasic = require_call_bind_apply_helpers();
+ var $indexOf = callBindBasic([GetIntrinsic("%String.prototype.indexOf%")]);
+ module.exports = /* @__PURE__ */ __name(function callBoundIntrinsic(name, allowMissing) {
+ var intrinsic = (
+ /** @type {(this: unknown, ...args: unknown[]) => unknown} */
+ GetIntrinsic(name, !!allowMissing)
+ );
+ if (typeof intrinsic === "function" && $indexOf(name, ".prototype.") > -1) {
+ return callBindBasic(
+ /** @type {const} */
+ [intrinsic]
+ );
+ }
+ return intrinsic;
+ }, "callBoundIntrinsic");
+ }
+});
+
+// ../../node_modules/.pnpm/side-channel-map@1.0.1/node_modules/side-channel-map/index.js
+var require_side_channel_map = __commonJS({
+ "../../node_modules/.pnpm/side-channel-map@1.0.1/node_modules/side-channel-map/index.js"(exports, module) {
+ "use strict";
+ var GetIntrinsic = require_get_intrinsic();
+ var callBound = require_call_bound();
+ var inspect = require_object_inspect();
+ var $TypeError = require_type();
+ var $Map = GetIntrinsic("%Map%", true);
+ var $mapGet = callBound("Map.prototype.get", true);
+ var $mapSet = callBound("Map.prototype.set", true);
+ var $mapHas = callBound("Map.prototype.has", true);
+ var $mapDelete = callBound("Map.prototype.delete", true);
+ var $mapSize = callBound("Map.prototype.size", true);
+ module.exports = !!$Map && /** @type {Exclude} */
+ /* @__PURE__ */ __name(function getSideChannelMap() {
+ var $m;
+ var channel = {
+ assert: /* @__PURE__ */ __name(function(key) {
+ if (!channel.has(key)) {
+ throw new $TypeError("Side channel does not contain " + inspect(key));
+ }
+ }, "assert"),
+ "delete": /* @__PURE__ */ __name(function(key) {
+ if ($m) {
+ var result = $mapDelete($m, key);
+ if ($mapSize($m) === 0) {
+ $m = void 0;
+ }
+ return result;
+ }
+ return false;
+ }, "delete"),
+ get: /* @__PURE__ */ __name(function(key) {
+ if ($m) {
+ return $mapGet($m, key);
+ }
+ }, "get"),
+ has: /* @__PURE__ */ __name(function(key) {
+ if ($m) {
+ return $mapHas($m, key);
+ }
+ return false;
+ }, "has"),
+ set: /* @__PURE__ */ __name(function(key, value) {
+ if (!$m) {
+ $m = new $Map();
+ }
+ $mapSet($m, key, value);
+ }, "set")
+ };
+ return channel;
+ }, "getSideChannelMap");
+ }
+});
+
+// ../../node_modules/.pnpm/side-channel-weakmap@1.0.2/node_modules/side-channel-weakmap/index.js
+var require_side_channel_weakmap = __commonJS({
+ "../../node_modules/.pnpm/side-channel-weakmap@1.0.2/node_modules/side-channel-weakmap/index.js"(exports, module) {
+ "use strict";
+ var GetIntrinsic = require_get_intrinsic();
+ var callBound = require_call_bound();
+ var inspect = require_object_inspect();
+ var getSideChannelMap = require_side_channel_map();
+ var $TypeError = require_type();
+ var $WeakMap = GetIntrinsic("%WeakMap%", true);
+ var $weakMapGet = callBound("WeakMap.prototype.get", true);
+ var $weakMapSet = callBound("WeakMap.prototype.set", true);
+ var $weakMapHas = callBound("WeakMap.prototype.has", true);
+ var $weakMapDelete = callBound("WeakMap.prototype.delete", true);
+ module.exports = $WeakMap ? (
+ /** @type {Exclude} */
+ /* @__PURE__ */ __name(function getSideChannelWeakMap() {
+ var $wm;
+ var $m;
+ var channel = {
+ assert: /* @__PURE__ */ __name(function(key) {
+ if (!channel.has(key)) {
+ throw new $TypeError("Side channel does not contain " + inspect(key));
+ }
+ }, "assert"),
+ "delete": /* @__PURE__ */ __name(function(key) {
+ if ($WeakMap && key && (typeof key === "object" || typeof key === "function")) {
+ if ($wm) {
+ return $weakMapDelete($wm, key);
+ }
+ } else if (getSideChannelMap) {
+ if ($m) {
+ return $m["delete"](key);
+ }
+ }
+ return false;
+ }, "delete"),
+ get: /* @__PURE__ */ __name(function(key) {
+ if ($WeakMap && key && (typeof key === "object" || typeof key === "function")) {
+ if ($wm) {
+ return $weakMapGet($wm, key);
+ }
+ }
+ return $m && $m.get(key);
+ }, "get"),
+ has: /* @__PURE__ */ __name(function(key) {
+ if ($WeakMap && key && (typeof key === "object" || typeof key === "function")) {
+ if ($wm) {
+ return $weakMapHas($wm, key);
+ }
+ }
+ return !!$m && $m.has(key);
+ }, "has"),
+ set: /* @__PURE__ */ __name(function(key, value) {
+ if ($WeakMap && key && (typeof key === "object" || typeof key === "function")) {
+ if (!$wm) {
+ $wm = new $WeakMap();
+ }
+ $weakMapSet($wm, key, value);
+ } else if (getSideChannelMap) {
+ if (!$m) {
+ $m = getSideChannelMap();
+ }
+ $m.set(key, value);
+ }
+ }, "set")
+ };
+ return channel;
+ }, "getSideChannelWeakMap")
+ ) : getSideChannelMap;
+ }
+});
+
+// ../../node_modules/.pnpm/side-channel@1.1.1/node_modules/side-channel/index.js
+var require_side_channel = __commonJS({
+ "../../node_modules/.pnpm/side-channel@1.1.1/node_modules/side-channel/index.js"(exports, module) {
+ "use strict";
+ var $TypeError = require_type();
+ var inspect = require_object_inspect();
+ var getSideChannelList = require_side_channel_list();
+ var getSideChannelMap = require_side_channel_map();
+ var getSideChannelWeakMap = require_side_channel_weakmap();
+ var makeChannel = getSideChannelWeakMap || getSideChannelMap || getSideChannelList;
+ module.exports = /* @__PURE__ */ __name(function getSideChannel() {
+ var $channelData;
+ var channel = {
+ assert: /* @__PURE__ */ __name(function(key) {
+ if (!channel.has(key)) {
+ var keyDesc = key && Object(key) === key ? "the given object key" : inspect(key);
+ throw new $TypeError("Side channel does not contain " + keyDesc);
+ }
+ }, "assert"),
+ "delete": /* @__PURE__ */ __name(function(key) {
+ return !!$channelData && $channelData["delete"](key);
+ }, "delete"),
+ get: /* @__PURE__ */ __name(function(key) {
+ return $channelData && $channelData.get(key);
+ }, "get"),
+ has: /* @__PURE__ */ __name(function(key) {
+ return !!$channelData && $channelData.has(key);
+ }, "has"),
+ set: /* @__PURE__ */ __name(function(key, value) {
+ if (!$channelData) {
+ $channelData = makeChannel();
+ }
+ $channelData.set(key, value);
+ }, "set")
+ };
+ return channel;
+ }, "getSideChannel");
+ }
+});
+
+// ../../node_modules/.pnpm/qs@6.16.1/node_modules/qs/lib/formats.js
+var require_formats = __commonJS({
+ "../../node_modules/.pnpm/qs@6.16.1/node_modules/qs/lib/formats.js"(exports, module) {
+ "use strict";
+ var replace = String.prototype.replace;
+ var percentTwenties = /%20/g;
+ var Format = {
+ RFC1738: "RFC1738",
+ RFC3986: "RFC3986"
+ };
+ module.exports = {
+ "default": Format.RFC3986,
+ formatters: {
+ RFC1738: /* @__PURE__ */ __name(function(value) {
+ return replace.call(value, percentTwenties, "+");
+ }, "RFC1738"),
+ RFC3986: /* @__PURE__ */ __name(function(value) {
+ return String(value);
+ }, "RFC3986")
+ },
+ RFC1738: Format.RFC1738,
+ RFC3986: Format.RFC3986
+ };
+ }
+});
+
+// ../../node_modules/.pnpm/qs@6.16.1/node_modules/qs/lib/utils.js
+var require_utils2 = __commonJS({
+ "../../node_modules/.pnpm/qs@6.16.1/node_modules/qs/lib/utils.js"(exports, module) {
+ "use strict";
+ var formats = require_formats();
+ var getSideChannel = require_side_channel();
+ var defineProperty = require_es_define_property();
+ var has = Object.prototype.hasOwnProperty;
+ var isArray = Array.isArray;
+ var overflowChannel = getSideChannel();
+ var markOverflow = /* @__PURE__ */ __name(function markOverflow2(obj, maxIndex) {
+ overflowChannel.set(obj, maxIndex);
+ return obj;
+ }, "markOverflow");
+ var isOverflow = /* @__PURE__ */ __name(function isOverflow2(obj) {
+ return overflowChannel.has(obj);
+ }, "isOverflow");
+ var getMaxIndex = /* @__PURE__ */ __name(function getMaxIndex2(obj) {
+ return overflowChannel.get(obj);
+ }, "getMaxIndex");
+ var setMaxIndex = /* @__PURE__ */ __name(function setMaxIndex2(obj, maxIndex) {
+ overflowChannel.set(obj, maxIndex);
+ }, "setMaxIndex");
+ var conflictChannel = getSideChannel();
+ var markConflict = /* @__PURE__ */ __name(function markConflict2(obj, maxIndex) {
+ conflictChannel.set(obj, maxIndex);
+ return obj;
+ }, "markConflict");
+ var isConflict = /* @__PURE__ */ __name(function isConflict2(obj) {
+ return conflictChannel.has(obj);
+ }, "isConflict");
+ var getConflictIndex = /* @__PURE__ */ __name(function getConflictIndex2(obj) {
+ return conflictChannel.get(obj);
+ }, "getConflictIndex");
+ var hexTable = (function() {
+ var array = [];
+ for (var i = 0; i < 256; ++i) {
+ array[array.length] = "%" + ((i < 16 ? "0" : "") + i.toString(16)).toUpperCase();
+ }
+ return array;
+ })();
+ var compactQueue = /* @__PURE__ */ __name(function compactQueue2(queue) {
+ while (queue.length > 1) {
+ var item = queue.pop();
+ var obj = item.obj[item.prop];
+ if (isArray(obj)) {
+ var compacted = [];
+ for (var j = 0; j < obj.length; ++j) {
+ if (typeof obj[j] !== "undefined") {
+ compacted[compacted.length] = obj[j];
+ }
+ }
+ item.obj[item.prop] = compacted;
+ }
+ }
+ }, "compactQueue");
+ var arrayToObject = /* @__PURE__ */ __name(function arrayToObject2(source, options) {
+ var obj = options && options.plainObjects ? { __proto__: null } : {};
+ for (var i = 0; i < source.length; ++i) {
+ if (typeof source[i] !== "undefined") {
+ obj[i] = source[i];
+ }
+ }
+ return obj;
+ }, "arrayToObject");
+ var setProperty = /* @__PURE__ */ __name(function setProperty2(obj, key, value) {
+ if (key === "__proto__" && defineProperty) {
+ defineProperty(obj, key, {
+ configurable: true,
+ enumerable: true,
+ value,
+ writable: true
+ });
+ } else {
+ obj[key] = value;
+ }
+ }, "setProperty");
+ var maxNumericIndex = /* @__PURE__ */ __name(function maxNumericIndex2(obj, min) {
+ var max = min;
+ var keys = Object.keys(obj);
+ for (var i = 0; i < keys.length; ++i) {
+ var num = parseInt(keys[i], 10);
+ if (String(num) === keys[i] && num > max) {
+ max = num;
+ }
+ }
+ return max;
+ }, "maxNumericIndex");
+ var limitedPair = /* @__PURE__ */ __name(function limitedPair2(first, second, options) {
+ var pair = [first, second];
+ if (options && typeof options.arrayLimit === "number" && pair.length > options.arrayLimit) {
+ if (options.throwOnLimitExceeded) {
+ throw new RangeError("Array limit exceeded. Only " + options.arrayLimit + " element" + (options.arrayLimit === 1 ? "" : "s") + " allowed in an array.");
+ }
+ return markOverflow(arrayToObject(pair, options), 1);
+ }
+ return pair;
+ }, "limitedPair");
+ var merge = /* @__PURE__ */ __name(function merge2(target, source, options) {
+ if (!source) {
+ return target;
+ }
+ if (typeof source !== "object" && typeof source !== "function") {
+ if (isArray(target)) {
+ var nextIndex = target.length;
+ if (options && typeof options.arrayLimit === "number" && nextIndex >= options.arrayLimit) {
+ if (options.throwOnLimitExceeded) {
+ throw new RangeError("Array limit exceeded. Only " + options.arrayLimit + " element" + (options.arrayLimit === 1 ? "" : "s") + " allowed in an array.");
+ }
+ return markOverflow(arrayToObject(target.concat(source), options), nextIndex);
+ }
+ target[nextIndex] = source;
+ } else if (target && typeof target === "object") {
+ if (isOverflow(target)) {
+ var newIndex = getMaxIndex(target) + 1;
+ target[newIndex] = source;
+ setMaxIndex(target, newIndex);
+ } else if (options && options.strictMerge && isConflict(target)) {
+ var nextConflict = getConflictIndex(target) + 1;
+ if (options.throwOnLimitExceeded && typeof options.arrayLimit === "number" && nextConflict >= options.arrayLimit) {
+ throw new RangeError("Array limit exceeded. Only " + options.arrayLimit + " element" + (options.arrayLimit === 1 ? "" : "s") + " allowed in an array.");
+ }
+ target[nextConflict] = source;
+ markConflict(target, nextConflict);
+ } else if (options && options.strictMerge) {
+ var conflict = limitedPair(target, source, options);
+ return isArray(conflict) ? markConflict(conflict, 1) : conflict;
+ } else if (options && (options.plainObjects || options.allowPrototypes) || !has.call(Object.prototype, source)) {
+ target[source] = true;
+ }
+ } else {
+ return limitedPair(target, source, options);
+ }
+ return target;
+ }
+ if (!target || typeof target !== "object") {
+ if (isOverflow(source)) {
+ var sourceKeys = Object.keys(source);
+ var result = options && options.plainObjects ? { __proto__: null, 0: target } : { 0: target };
+ for (var m = 0; m < sourceKeys.length; m++) {
+ var oldKey = parseInt(sourceKeys[m], 10);
+ result[oldKey + 1] = source[sourceKeys[m]];
+ }
+ return markOverflow(result, getMaxIndex(source) + 1);
+ }
+ var combined = [target].concat(source);
+ if (options && typeof options.arrayLimit === "number" && combined.length > options.arrayLimit) {
+ if (options.throwOnLimitExceeded) {
+ throw new RangeError("Array limit exceeded. Only " + options.arrayLimit + " element" + (options.arrayLimit === 1 ? "" : "s") + " allowed in an array.");
+ }
+ return markOverflow(arrayToObject(combined, options), combined.length - 1);
+ }
+ return combined;
+ }
+ var mergeTarget = target;
+ if (isArray(target) && !isArray(source)) {
+ mergeTarget = arrayToObject(target, options);
+ if (isConflict(target)) {
+ markConflict(mergeTarget, target.length - 1);
+ }
+ }
+ if (isArray(target) && isArray(source)) {
+ source.forEach(function(item, i) {
+ if (has.call(target, i)) {
+ var targetItem = target[i];
+ if (targetItem && typeof targetItem === "object" && item && typeof item === "object") {
+ target[i] = merge2(targetItem, item, options);
+ } else {
+ target[target.length] = item;
+ }
+ } else {
+ target[i] = item;
+ }
+ });
+ if (options && typeof options.arrayLimit === "number" && target.length > options.arrayLimit) {
+ if (options.throwOnLimitExceeded) {
+ throw new RangeError("Array limit exceeded. Only " + options.arrayLimit + " element" + (options.arrayLimit === 1 ? "" : "s") + " allowed in an array.");
+ }
+ return markOverflow(arrayToObject(target, options), target.length - 1);
+ }
+ return target;
+ }
+ return Object.keys(source).reduce(function(acc, key) {
+ var value = source[key];
+ if (has.call(acc, key)) {
+ setProperty(acc, key, merge2(acc[key], value, options));
+ } else {
+ setProperty(acc, key, value);
+ }
+ if (isOverflow(source) && !isOverflow(acc)) {
+ markOverflow(acc, maxNumericIndex(acc, getMaxIndex(source)));
+ }
+ if (isOverflow(acc)) {
+ var keyNum = parseInt(key, 10);
+ if (String(keyNum) === key && keyNum >= 0 && keyNum > getMaxIndex(acc)) {
+ setMaxIndex(acc, keyNum);
+ }
+ }
+ if (isConflict(acc)) {
+ var conflictKey = parseInt(key, 10);
+ if (String(conflictKey) === key && conflictKey > getConflictIndex(acc)) {
+ markConflict(acc, conflictKey);
+ }
+ }
+ return acc;
+ }, mergeTarget);
+ }, "merge");
+ var assign = /* @__PURE__ */ __name(function assignSingleSource(target, source) {
+ return Object.keys(source).reduce(function(acc, key) {
+ setProperty(acc, key, source[key]);
+ return acc;
+ }, target);
+ }, "assignSingleSource");
+ var decode = /* @__PURE__ */ __name(function(str, defaultDecoder, charset) {
+ if (typeof str === "string" && str.indexOf("%") === -1) {
+ return str.indexOf("+") === -1 ? str : str.replace(/\+/g, " ");
+ }
+ var strWithoutPlus = str.replace(/\+/g, " ");
+ if (charset === "iso-8859-1") {
+ return strWithoutPlus.replace(/%[0-9a-f]{2}/gi, unescape);
+ }
+ try {
+ return decodeURIComponent(strWithoutPlus);
+ } catch (e) {
+ return strWithoutPlus;
+ }
+ }, "decode");
+ var hasToPrimitive = typeof Symbol === "function" && typeof Symbol.toPrimitive === "symbol";
+ var arrayJoin = Array.prototype.join;
+ var arrayToString = Array.prototype.toString;
+ var objectToString = Object.prototype.toString;
+ var toCoercible = /* @__PURE__ */ __name(function toCoercible2(value, joining) {
+ if (!value || typeof value !== "object" && typeof value !== "function") {
+ return value;
+ }
+ if (hasToPrimitive && value[Symbol.toPrimitive] != null) {
+ return value;
+ }
+ if (isArray(value) && value.toString === arrayToString && value.join === arrayJoin) {
+ var ancestors = joining || getSideChannel();
+ if (ancestors.has(value)) {
+ return "";
+ }
+ ancestors.set(value, true);
+ var copy;
+ for (var i = 0; i < value.length; i += 1) {
+ var item = value[i];
+ var coerced = toCoercible2(item, ancestors);
+ if (!copy && coerced !== item) {
+ copy = [];
+ for (var j = 0; j < i; j += 1) {
+ copy[j] = value[j];
+ }
+ }
+ if (copy) {
+ copy[i] = coerced;
+ }
+ }
+ ancestors["delete"](value);
+ return copy || value;
+ }
+ if (typeof value.toString === "function") {
+ return value;
+ }
+ var valueOf = value.valueOf;
+ if (typeof valueOf === "function") {
+ var primitive = valueOf.call(value);
+ if (!primitive || typeof primitive !== "object" && typeof primitive !== "function") {
+ return String(primitive);
+ }
+ }
+ return objectToString.call(value);
+ }, "toCoercible");
+ var limit = 1024;
+ var encode = /* @__PURE__ */ __name(function encode2(str, defaultEncoder, charset, kind, format) {
+ if (str.length === 0) {
+ return str;
+ }
+ var string = str;
+ if (typeof str === "symbol") {
+ string = Symbol.prototype.toString.call(str);
+ } else if (typeof str !== "string") {
+ string = String(toCoercible(str));
+ }
+ if (charset === "iso-8859-1") {
+ return escape(string).replace(/%u[0-9a-f]{4}/gi, function($0) {
+ return "%26%23" + parseInt($0.slice(2), 16) + "%3B";
+ }).replace(/\+/g, "%2B");
+ }
+ var out = "";
+ for (var j = 0; j < string.length; j += limit) {
+ var segment = string.length >= limit ? string.slice(j, j + limit) : string;
+ if (j + limit < string.length) {
+ var last = segment.charCodeAt(segment.length - 1);
+ if (last >= 55296 && last <= 56319) {
+ segment = segment.slice(0, -1);
+ j -= 1;
+ }
+ }
+ var arr = [];
+ for (var i = 0; i < segment.length; ++i) {
+ var c = segment.charCodeAt(i);
+ if (c === 45 || c === 46 || c === 95 || c === 126 || c >= 48 && c <= 57 || c >= 65 && c <= 90 || c >= 97 && c <= 122 || format === formats.RFC1738 && (c === 40 || c === 41)) {
+ arr[arr.length] = segment.charAt(i);
+ continue;
+ }
+ if (c < 128) {
+ arr[arr.length] = hexTable[c];
+ continue;
+ }
+ if (c < 2048) {
+ arr[arr.length] = hexTable[192 | c >> 6] + hexTable[128 | c & 63];
+ continue;
+ }
+ if (c < 55296 || c >= 57344) {
+ arr[arr.length] = hexTable[224 | c >> 12] + hexTable[128 | c >> 6 & 63] + hexTable[128 | c & 63];
+ continue;
+ }
+ i += 1;
+ c = 65536 + ((c & 1023) << 10 | segment.charCodeAt(i) & 1023);
+ arr[arr.length] = hexTable[240 | c >> 18] + hexTable[128 | c >> 12 & 63] + hexTable[128 | c >> 6 & 63] + hexTable[128 | c & 63];
+ }
+ out += arr.join("");
+ }
+ return out;
+ }, "encode");
+ var compact = /* @__PURE__ */ __name(function compact2(value) {
+ var queue = [{ obj: { o: value }, prop: "o" }];
+ var refs = getSideChannel();
+ for (var i = 0; i < queue.length; ++i) {
+ var item = queue[i];
+ var obj = item.obj[item.prop];
+ var keys = Object.keys(obj);
+ for (var j = 0; j < keys.length; ++j) {
+ var key = keys[j];
+ var val = obj[key];
+ if (typeof val === "object" && val !== null && !refs.has(val)) {
+ queue[queue.length] = { obj, prop: key };
+ refs.set(val, true);
+ }
+ }
+ }
+ compactQueue(queue);
+ return value;
+ }, "compact");
+ var isRegExp = /* @__PURE__ */ __name(function isRegExp2(obj) {
+ return Object.prototype.toString.call(obj) === "[object RegExp]";
+ }, "isRegExp");
+ var isBuffer = /* @__PURE__ */ __name(function isBuffer2(obj) {
+ if (!obj || typeof obj !== "object") {
+ return false;
+ }
+ return !!(obj.constructor && typeof obj.constructor.isBuffer === "function" && obj.constructor.isBuffer(obj));
+ }, "isBuffer");
+ var combine = /* @__PURE__ */ __name(function combine2(a, b, arrayLimit, plainObjects, throwOnLimitExceeded) {
+ if (isOverflow(a)) {
+ if (throwOnLimitExceeded) {
+ throw new RangeError("Array limit exceeded. Only " + arrayLimit + " element" + (arrayLimit === 1 ? "" : "s") + " allowed in an array.");
+ }
+ var bValues = isArray(b) ? b : [b];
+ var newIndex = getMaxIndex(a);
+ for (var i = 0; i < bValues.length; ++i) {
+ newIndex += 1;
+ a[newIndex] = bValues[i];
+ }
+ setMaxIndex(a, newIndex);
+ return a;
+ }
+ var result = [].concat(a, b);
+ if (result.length > arrayLimit) {
+ if (throwOnLimitExceeded) {
+ throw new RangeError("Array limit exceeded. Only " + arrayLimit + " element" + (arrayLimit === 1 ? "" : "s") + " allowed in an array.");
+ }
+ return markOverflow(arrayToObject(result, { plainObjects }), result.length - 1);
+ }
+ return result;
+ }, "combine");
+ var maybeMap = /* @__PURE__ */ __name(function maybeMap2(val, fn) {
+ if (isArray(val)) {
+ var mapped = [];
+ for (var i = 0; i < val.length; i += 1) {
+ mapped[mapped.length] = fn(val[i]);
+ }
+ return mapped;
+ }
+ return fn(val);
+ }, "maybeMap");
+ module.exports = {
+ arrayToObject,
+ assign,
+ combine,
+ compact,
+ decode,
+ encode,
+ isBuffer,
+ isOverflow,
+ isRegExp,
+ markOverflow,
+ maybeMap,
+ merge,
+ toCoercible
+ };
+ }
+});
+
+// ../../node_modules/.pnpm/qs@6.16.1/node_modules/qs/lib/stringify.js
+var require_stringify = __commonJS({
+ "../../node_modules/.pnpm/qs@6.16.1/node_modules/qs/lib/stringify.js"(exports, module) {
+ "use strict";
+ var getSideChannel = require_side_channel();
+ var utils = require_utils2();
+ var formats = require_formats();
+ var has = Object.prototype.hasOwnProperty;
+ var arrayPrefixGenerators = {
+ brackets: /* @__PURE__ */ __name(function brackets(prefix) {
+ return prefix + "[]";
+ }, "brackets"),
+ comma: "comma",
+ indices: /* @__PURE__ */ __name(function indices(prefix, key) {
+ return prefix + "[" + key + "]";
+ }, "indices"),
+ repeat: /* @__PURE__ */ __name(function repeat(prefix) {
+ return prefix;
+ }, "repeat")
+ };
+ var isArray = Array.isArray;
+ var push = Array.prototype.push;
+ var pushToArray = /* @__PURE__ */ __name(function(arr, valueOrArray) {
+ push.apply(arr, isArray(valueOrArray) ? valueOrArray : [valueOrArray]);
+ }, "pushToArray");
+ var toISO = Date.prototype.toISOString;
+ var defaultFormat = formats["default"];
+ var defaults = {
+ addQueryPrefix: false,
+ allowDots: false,
+ allowEmptyArrays: false,
+ arrayFormat: "indices",
+ charset: "utf-8",
+ charsetSentinel: false,
+ commaRoundTrip: false,
+ delimiter: "&",
+ depth: Infinity,
+ encode: true,
+ encodeDotInKeys: false,
+ encoder: utils.encode,
+ encodeValuesOnly: false,
+ filter: void 0,
+ format: defaultFormat,
+ formatter: formats.formatters[defaultFormat],
+ // deprecated
+ indices: false,
+ serializeDate: /* @__PURE__ */ __name(function serializeDate(date) {
+ return toISO.call(date);
+ }, "serializeDate"),
+ skipNulls: false,
+ strictNullHandling: false
+ };
+ var isNonNullishPrimitive = /* @__PURE__ */ __name(function isNonNullishPrimitive2(v) {
+ return typeof v === "string" || typeof v === "number" || typeof v === "boolean" || typeof v === "symbol" || typeof v === "bigint";
+ }, "isNonNullishPrimitive");
+ var sentinel = {};
+ var stringify2 = /* @__PURE__ */ __name(function stringify3(object, prefix, generateArrayPrefix, commaRoundTrip, allowEmptyArrays, strictNullHandling, skipNulls, encodeDotInKeys, encoder, filter, sort, allowDots, serializeDate, format, formatter, encodeValuesOnly, charset, sideChannel, depth, currentDepth) {
+ var obj = object;
+ if (currentDepth > depth) {
+ throw new RangeError("Input depth exceeded depth option of " + depth);
+ }
+ var tmpSc = sideChannel;
+ var step = 0;
+ var findFlag = false;
+ while ((tmpSc = tmpSc.get(sentinel)) !== void 0 && !findFlag) {
+ var pos = tmpSc.get(object);
+ step += 1;
+ if (typeof pos !== "undefined") {
+ if (pos === step) {
+ throw new RangeError("Cyclic object value");
+ } else {
+ findFlag = true;
+ }
+ }
+ if (typeof tmpSc.get(sentinel) === "undefined") {
+ step = 0;
+ }
+ }
+ obj = typeof filter === "function" ? filter(prefix, obj) : obj;
+ if (obj instanceof Date) {
+ obj = serializeDate(obj);
+ } else if (generateArrayPrefix === "comma" && isArray(obj)) {
+ obj = utils.maybeMap(obj, function(value2) {
+ if (value2 instanceof Date) {
+ return serializeDate(value2);
+ }
+ return value2;
+ });
+ }
+ if (obj === null) {
+ if (strictNullHandling) {
+ return formatter(encoder && !encodeValuesOnly ? encoder(prefix, defaults.encoder, charset, "key", format) : prefix);
+ }
+ obj = "";
+ }
+ if (isNonNullishPrimitive(obj) || utils.isBuffer(obj)) {
+ if (encoder) {
+ var keyValue = encodeValuesOnly ? prefix : encoder(prefix, defaults.encoder, charset, "key", format);
+ return [formatter(keyValue) + "=" + formatter(encoder(obj, defaults.encoder, charset, "value", format))];
+ }
+ return [formatter(prefix) + "=" + formatter(String(obj))];
+ }
+ var values = [];
+ if (typeof obj === "undefined") {
+ return values;
+ }
+ var objKeys;
+ if (generateArrayPrefix === "comma" && isArray(obj)) {
+ if (encodeValuesOnly && encoder) {
+ obj = utils.maybeMap(obj, function(v) {
+ return v == null ? v : encoder(v, defaults.encoder, charset, "value", format);
+ });
+ }
+ objKeys = [{ value: obj.length > 0 ? utils.toCoercible(obj).join(",") || null : void 0 }];
+ } else if (isArray(filter)) {
+ objKeys = filter;
+ } else {
+ var keys = Object.keys(obj);
+ objKeys = sort ? keys.sort(sort) : keys;
+ }
+ var encodedPrefix = String(prefix);
+ var adjustedPrefix = commaRoundTrip && isArray(obj) && obj.length === 1 ? encodedPrefix + "[]" : encodedPrefix;
+ if (allowEmptyArrays && isArray(obj) && obj.length === 0 && Object.keys(obj).length === 0) {
+ return adjustedPrefix + "[]";
+ }
+ for (var j = 0; j < objKeys.length; ++j) {
+ var key = objKeys[j];
+ var value = typeof key === "object" && key && typeof key.value !== "undefined" ? key.value : obj[key];
+ if (skipNulls && value === null) {
+ continue;
+ }
+ var encodedKey = allowDots && encodeDotInKeys ? String(key).replace(/\./g, "%2E") : String(key);
+ var keyPrefix = isArray(obj) ? typeof generateArrayPrefix === "function" ? generateArrayPrefix(adjustedPrefix, encodedKey) : adjustedPrefix : adjustedPrefix + (allowDots ? "." + encodedKey : "[" + encodedKey + "]");
+ sideChannel.set(object, step);
+ var valueSideChannel = getSideChannel();
+ valueSideChannel.set(sentinel, sideChannel);
+ pushToArray(values, stringify3(
+ value,
+ keyPrefix,
+ generateArrayPrefix,
+ commaRoundTrip,
+ allowEmptyArrays,
+ strictNullHandling,
+ skipNulls,
+ encodeDotInKeys,
+ generateArrayPrefix === "comma" && encodeValuesOnly && isArray(obj) ? null : encoder,
+ filter,
+ sort,
+ allowDots,
+ serializeDate,
+ format,
+ formatter,
+ encodeValuesOnly,
+ charset,
+ valueSideChannel,
+ depth,
+ currentDepth + 1
+ ));
+ }
+ return values;
+ }, "stringify");
+ var normalizeStringifyOptions = /* @__PURE__ */ __name(function normalizeStringifyOptions2(opts) {
+ if (!opts) {
+ return defaults;
+ }
+ if (typeof opts.allowEmptyArrays !== "undefined" && typeof opts.allowEmptyArrays !== "boolean") {
+ throw new TypeError("`allowEmptyArrays` option can only be `true` or `false`, when provided");
+ }
+ if (typeof opts.encodeDotInKeys !== "undefined" && typeof opts.encodeDotInKeys !== "boolean") {
+ throw new TypeError("`encodeDotInKeys` option can only be `true` or `false`, when provided");
+ }
+ if (opts.encoder !== null && typeof opts.encoder !== "undefined" && typeof opts.encoder !== "function") {
+ throw new TypeError("Encoder has to be a function.");
+ }
+ var charset = opts.charset || defaults.charset;
+ if (typeof opts.charset !== "undefined" && opts.charset !== "utf-8" && opts.charset !== "iso-8859-1") {
+ throw new TypeError("The charset option must be either utf-8, iso-8859-1, or undefined");
+ }
+ var format = formats["default"];
+ if (typeof opts.format !== "undefined") {
+ if (!has.call(formats.formatters, opts.format)) {
+ throw new TypeError("Unknown format option provided.");
+ }
+ format = opts.format;
+ }
+ var formatter = formats.formatters[format];
+ var filter = defaults.filter;
+ if (typeof opts.filter === "function" || isArray(opts.filter)) {
+ filter = opts.filter;
+ }
+ var arrayFormat;
+ if (has.call(arrayPrefixGenerators, opts.arrayFormat)) {
+ arrayFormat = opts.arrayFormat;
+ } else if ("indices" in opts) {
+ arrayFormat = opts.indices ? "indices" : "repeat";
+ } else {
+ arrayFormat = defaults.arrayFormat;
+ }
+ if ("commaRoundTrip" in opts && typeof opts.commaRoundTrip !== "boolean") {
+ throw new TypeError("`commaRoundTrip` must be a boolean, or absent");
+ }
+ var allowDots = typeof opts.allowDots === "undefined" ? opts.encodeDotInKeys === true ? true : defaults.allowDots : !!opts.allowDots;
+ return {
+ addQueryPrefix: typeof opts.addQueryPrefix === "boolean" ? opts.addQueryPrefix : defaults.addQueryPrefix,
+ allowDots,
+ allowEmptyArrays: typeof opts.allowEmptyArrays === "boolean" ? !!opts.allowEmptyArrays : defaults.allowEmptyArrays,
+ arrayFormat,
+ charset,
+ charsetSentinel: typeof opts.charsetSentinel === "boolean" ? opts.charsetSentinel : defaults.charsetSentinel,
+ commaRoundTrip: !!opts.commaRoundTrip,
+ delimiter: typeof opts.delimiter === "undefined" ? defaults.delimiter : opts.delimiter,
+ depth: typeof opts.depth === "number" ? opts.depth : defaults.depth,
+ encode: typeof opts.encode === "boolean" ? opts.encode : defaults.encode,
+ encodeDotInKeys: typeof opts.encodeDotInKeys === "boolean" ? opts.encodeDotInKeys : defaults.encodeDotInKeys,
+ encoder: typeof opts.encoder === "function" ? opts.encoder : defaults.encoder,
+ encodeValuesOnly: typeof opts.encodeValuesOnly === "boolean" ? opts.encodeValuesOnly : defaults.encodeValuesOnly,
+ filter,
+ format,
+ formatter,
+ serializeDate: typeof opts.serializeDate === "function" ? opts.serializeDate : defaults.serializeDate,
+ skipNulls: typeof opts.skipNulls === "boolean" ? opts.skipNulls : defaults.skipNulls,
+ sort: typeof opts.sort === "function" ? opts.sort : null,
+ strictNullHandling: typeof opts.strictNullHandling === "boolean" ? opts.strictNullHandling : defaults.strictNullHandling
+ };
+ }, "normalizeStringifyOptions");
+ module.exports = function(object, opts) {
+ var obj = object;
+ var options = normalizeStringifyOptions(opts);
+ var objKeys;
+ var filter;
+ if (typeof options.filter === "function") {
+ filter = options.filter;
+ obj = filter("", obj);
+ } else if (isArray(options.filter)) {
+ filter = options.filter;
+ objKeys = filter;
+ }
+ var keys = [];
+ if (typeof obj !== "object" || obj === null) {
+ return "";
+ }
+ var generateArrayPrefix = arrayPrefixGenerators[options.arrayFormat];
+ var commaRoundTrip = generateArrayPrefix === "comma" && options.commaRoundTrip;
+ if (!objKeys) {
+ objKeys = Object.keys(obj);
+ }
+ if (options.sort) {
+ objKeys.sort(options.sort);
+ }
+ var sideChannel = getSideChannel();
+ for (var i = 0; i < objKeys.length; ++i) {
+ var key = objKeys[i];
+ if (typeof key === "undefined" || key === null) {
+ continue;
+ }
+ var value = obj[key];
+ if (options.skipNulls && value === null) {
+ continue;
+ }
+ var encodedKey = options.encodeDotInKeys ? String(key).replace(/\./g, "%2E") : String(key);
+ pushToArray(keys, stringify2(
+ value,
+ encodedKey,
+ generateArrayPrefix,
+ commaRoundTrip,
+ options.allowEmptyArrays,
+ options.strictNullHandling,
+ options.skipNulls,
+ options.encodeDotInKeys,
+ options.encode ? options.encoder : null,
+ options.filter,
+ options.sort,
+ options.allowDots,
+ options.serializeDate,
+ options.format,
+ options.formatter,
+ options.encodeValuesOnly,
+ options.charset,
+ sideChannel,
+ options.depth,
+ 0
+ ));
+ }
+ var joined = keys.join(options.delimiter);
+ var prefix = options.addQueryPrefix === true ? "?" : "";
+ if (options.charsetSentinel) {
+ if (options.charset === "iso-8859-1") {
+ prefix += "utf8=%26%2310003%3B" + options.delimiter;
+ } else {
+ prefix += "utf8=%E2%9C%93" + options.delimiter;
+ }
+ }
+ return joined.length > 0 ? prefix + joined : "";
+ };
+ }
+});
+
+// ../../node_modules/.pnpm/qs@6.16.1/node_modules/qs/lib/parse.js
+var require_parse = __commonJS({
+ "../../node_modules/.pnpm/qs@6.16.1/node_modules/qs/lib/parse.js"(exports, module) {
+ "use strict";
+ var getSideChannel = require_side_channel();
+ var utils = require_utils2();
+ var has = Object.prototype.hasOwnProperty;
+ var isArray = Array.isArray;
+ var getPrototypeOf = Object.getPrototypeOf;
+ var isPlainContainer = /* @__PURE__ */ __name(function isPlainContainer2(value) {
+ if (!value || typeof value !== "object") {
+ return false;
+ }
+ if (isArray(value)) {
+ return true;
+ }
+ var proto = getPrototypeOf(value);
+ return proto === Object.prototype || proto === null;
+ }, "isPlainContainer");
+ var emptyCopyOf = /* @__PURE__ */ __name(function emptyCopyOf2(value) {
+ if (isArray(value)) {
+ var arr = [];
+ arr.length = value.length;
+ return arr;
+ }
+ return getPrototypeOf(value) === null ? { __proto__: null } : {};
+ }, "emptyCopyOf");
+ var copyInput = /* @__PURE__ */ __name(function copyInput2(input) {
+ var copies = getSideChannel();
+ var result = {};
+ var queue = [{ source: input, target: result }];
+ for (var i = 0; i < queue.length; ++i) {
+ var source = queue[i].source;
+ var target = queue[i].target;
+ var keys = Object.keys(source);
+ for (var j = 0; j < keys.length; ++j) {
+ var value = source[keys[j]];
+ if (isPlainContainer(value)) {
+ if (!copies.has(value)) {
+ var copy = emptyCopyOf(value);
+ copies.set(value, copy);
+ queue[queue.length] = { source: value, target: copy };
+ }
+ target[keys[j]] = copies.get(value);
+ } else {
+ target[keys[j]] = value;
+ }
+ }
+ }
+ return result;
+ }, "copyInput");
+ var defaults = {
+ allowDots: false,
+ allowEmptyArrays: false,
+ allowPrototypes: false,
+ allowSparse: false,
+ arrayLimit: 20,
+ charset: "utf-8",
+ charsetSentinel: false,
+ comma: false,
+ decodeDotInKeys: false,
+ decoder: utils.decode,
+ delimiter: "&",
+ depth: 5,
+ duplicates: "combine",
+ ignoreQueryPrefix: false,
+ interpretNumericEntities: false,
+ parameterLimit: 1e3,
+ parseArrays: true,
+ plainObjects: false,
+ strictDepth: false,
+ strictMerge: true,
+ strictNullHandling: false,
+ throwOnLimitExceeded: false
+ };
+ var interpretNumericEntities = /* @__PURE__ */ __name(function(str) {
+ return str.replace(/(\d+);/g, function($0, numberStr) {
+ return String.fromCharCode(parseInt(numberStr, 10));
+ });
+ }, "interpretNumericEntities");
+ var parseArrayValue = /* @__PURE__ */ __name(function(val, options, currentArrayLength) {
+ if (val && typeof val === "string" && options.comma && val.indexOf(",") > -1) {
+ if (options.throwOnLimitExceeded) {
+ var commaCount = 0;
+ var commaIndex = val.indexOf(",");
+ while (commaIndex > -1) {
+ commaCount += 1;
+ if (commaCount >= options.arrayLimit) {
+ throw new RangeError("Array limit exceeded. Only " + options.arrayLimit + " element" + (options.arrayLimit === 1 ? "" : "s") + " allowed in an array.");
+ }
+ commaIndex = val.indexOf(",", commaIndex + 1);
+ }
+ }
+ return val.split(",");
+ }
+ if (options.throwOnLimitExceeded && currentArrayLength >= options.arrayLimit) {
+ throw new RangeError("Array limit exceeded. Only " + options.arrayLimit + " element" + (options.arrayLimit === 1 ? "" : "s") + " allowed in an array.");
+ }
+ return val;
+ }, "parseArrayValue");
+ var isoSentinel = "utf8=%26%2310003%3B";
+ var charsetSentinel = "utf8=%E2%9C%93";
+ var parseValues = /* @__PURE__ */ __name(function parseQueryStringValues(str, options) {
+ var obj = { __proto__: null };
+ var cleanStr = options.ignoreQueryPrefix ? str.replace(/^\?/, "") : str;
+ cleanStr = cleanStr.replace(/%5B/gi, "[").replace(/%5D/gi, "]");
+ var limit = options.parameterLimit === Infinity ? void 0 : options.parameterLimit;
+ var parts = cleanStr.split(
+ options.delimiter,
+ options.throwOnLimitExceeded && typeof limit !== "undefined" ? limit + 1 : limit
+ );
+ if (options.throwOnLimitExceeded && typeof limit !== "undefined" && parts.length > limit) {
+ throw new RangeError("Parameter limit exceeded. Only " + limit + " parameter" + (limit === 1 ? "" : "s") + " allowed.");
+ }
+ var skipIndex = -1;
+ var i;
+ var charset = options.charset;
+ if (options.charsetSentinel) {
+ for (i = 0; i < parts.length; ++i) {
+ if (parts[i].indexOf("utf8=") === 0) {
+ if (parts[i] === charsetSentinel) {
+ charset = "utf-8";
+ } else if (parts[i] === isoSentinel) {
+ charset = "iso-8859-1";
+ }
+ skipIndex = i;
+ i = parts.length;
+ }
+ }
+ }
+ for (i = 0; i < parts.length; ++i) {
+ if (i === skipIndex) {
+ continue;
+ }
+ var part = parts[i];
+ var bracketEqualsPos = part.indexOf("]=");
+ var pos = bracketEqualsPos === -1 ? part.indexOf("=") : bracketEqualsPos + 1;
+ var isEmptyBracketKey = pos > 1 && part.slice(pos - 2, pos) === "[]";
+ var key;
+ var val;
+ if (pos === -1) {
+ key = options.decoder(part, defaults.decoder, charset, "key");
+ val = options.strictNullHandling ? null : "";
+ } else {
+ key = options.decoder(part.slice(0, pos), defaults.decoder, charset, "key");
+ if (key !== null) {
+ val = utils.maybeMap(
+ parseArrayValue(
+ part.slice(pos + 1),
+ options,
+ isArray(obj[key]) ? obj[key].length : 0
+ ),
+ function(encodedVal) {
+ return options.decoder(encodedVal, defaults.decoder, charset, "value");
+ }
+ );
+ }
+ }
+ if (val && options.interpretNumericEntities && charset === "iso-8859-1") {
+ val = interpretNumericEntities(String(val));
+ }
+ if (isEmptyBracketKey) {
+ val = isArray(val) ? [val] : val;
+ }
+ if (options.comma && isArray(val) && val.length > options.arrayLimit) {
+ val = utils.combine([], val, options.arrayLimit, options.plainObjects, options.throwOnLimitExceeded);
+ }
+ if (key !== null) {
+ var existing = has.call(obj, key);
+ if (existing && (options.duplicates === "combine" || isEmptyBracketKey)) {
+ obj[key] = utils.combine(
+ obj[key],
+ val,
+ options.arrayLimit,
+ options.plainObjects,
+ options.throwOnLimitExceeded
+ );
+ } else if (!existing || options.duplicates === "last") {
+ obj[key] = val;
+ }
+ }
+ }
+ return obj;
+ }, "parseQueryStringValues");
+ var parseObject = /* @__PURE__ */ __name(function(chain, val, options, valuesParsed) {
+ var currentArrayLength = 0;
+ if (chain.length > 0 && chain[chain.length - 1] === "[]") {
+ var parentKey = chain.slice(0, -1).join("");
+ currentArrayLength = Array.isArray(val) && val[parentKey] ? val[parentKey].length : 0;
+ }
+ var leaf = valuesParsed ? val : parseArrayValue(val, options, currentArrayLength);
+ for (var i = chain.length - 1; i >= 0; --i) {
+ var obj;
+ var root = chain[i];
+ if (root === "[]" && options.parseArrays) {
+ if (utils.isOverflow(leaf)) {
+ obj = leaf;
+ } else {
+ obj = options.allowEmptyArrays && (leaf === "" || options.strictNullHandling && leaf === null) ? [] : utils.combine(
+ [],
+ leaf,
+ options.arrayLimit,
+ options.plainObjects,
+ options.throwOnLimitExceeded
+ );
+ }
+ } else {
+ obj = options.plainObjects ? { __proto__: null } : {};
+ var cleanRoot = root.charAt(0) === "[" && root.charAt(root.length - 1) === "]" ? root.slice(1, -1) : root;
+ var decodedRoot = options.decodeDotInKeys ? cleanRoot.replace(/%2E/g, ".") : cleanRoot;
+ var index = parseInt(decodedRoot, 10);
+ var isValidArrayIndex = !isNaN(index) && root !== decodedRoot && String(index) === decodedRoot && index >= 0 && options.parseArrays;
+ if (!options.parseArrays && decodedRoot === "") {
+ obj = { 0: leaf };
+ } else if (isValidArrayIndex && index < options.arrayLimit) {
+ obj = [];
+ obj[index] = leaf;
+ } else if (isValidArrayIndex && options.throwOnLimitExceeded) {
+ throw new RangeError("Array limit exceeded. Only " + options.arrayLimit + " element" + (options.arrayLimit === 1 ? "" : "s") + " allowed in an array.");
+ } else if (isValidArrayIndex) {
+ obj[index] = leaf;
+ utils.markOverflow(obj, index);
+ } else if (decodedRoot !== "__proto__") {
+ obj[decodedRoot] = leaf;
+ }
+ }
+ leaf = obj;
+ }
+ return leaf;
+ }, "parseObject");
+ var topLevelDotsToBrackets = /* @__PURE__ */ __name(function topLevelDotsToBrackets2(key) {
+ var result = "";
+ var depth = 0;
+ for (var i = 0; i < key.length; i += 1) {
+ var cu = key.charCodeAt(i);
+ if (cu === 91) {
+ depth += 1;
+ result += "[";
+ } else if (cu === 93) {
+ if (depth > 0) {
+ depth -= 1;
+ }
+ result += "]";
+ } else if (cu === 46 && depth === 0 && i + 1 < key.length && key.charCodeAt(i + 1) !== 46 && key.charCodeAt(i + 1) !== 91) {
+ var start = i + 1;
+ var j = start;
+ while (j < key.length && key.charCodeAt(j) !== 46 && key.charCodeAt(j) !== 91) {
+ j += 1;
+ }
+ result += "[" + key.slice(start, j) + "]";
+ i = j - 1;
+ } else {
+ result += key.charAt(i);
+ }
+ }
+ return result;
+ }, "topLevelDotsToBrackets");
+ var splitKeyIntoSegments = /* @__PURE__ */ __name(function splitKeyIntoSegments2(originalKey, options) {
+ var key = options.allowDots ? topLevelDotsToBrackets(originalKey) : originalKey;
+ if (options.depth <= 0) {
+ if (!options.plainObjects && has.call(Object.prototype, key)) {
+ if (!options.allowPrototypes) {
+ return;
+ }
+ }
+ return [key];
+ }
+ var segments = [];
+ var first = key.indexOf("[");
+ var parent = first >= 0 ? key.slice(0, first) : key;
+ if (parent) {
+ if (!options.plainObjects && has.call(Object.prototype, parent)) {
+ if (!options.allowPrototypes) {
+ return;
+ }
+ }
+ segments[segments.length] = parent;
+ }
+ var n = key.length;
+ var open = first;
+ var collected = 0;
+ while (open >= 0 && collected < options.depth) {
+ var level = 1;
+ var i = open + 1;
+ var close = -1;
+ while (i < n && close < 0) {
+ var cu = key.charCodeAt(i);
+ if (cu === 91) {
+ level += 1;
+ } else if (cu === 93) {
+ level -= 1;
+ if (level === 0) {
+ close = i;
+ }
+ }
+ i += 1;
+ }
+ if (close < 0) {
+ segments[segments.length] = "[" + key.slice(open) + "]";
+ return segments;
+ }
+ var seg = key.slice(open, close + 1);
+ var content = seg.slice(1, -1);
+ if (!options.plainObjects && has.call(Object.prototype, content) && !options.allowPrototypes) {
+ return;
+ }
+ segments[segments.length] = seg;
+ collected += 1;
+ open = key.indexOf("[", close + 1);
+ }
+ if (open >= 0) {
+ if (options.strictDepth === true) {
+ throw new RangeError("Input depth exceeded depth option of " + options.depth + " and strictDepth is true");
+ }
+ segments[segments.length] = "[" + key.slice(open) + "]";
+ }
+ return segments;
+ }, "splitKeyIntoSegments");
+ var parseKeys = /* @__PURE__ */ __name(function parseQueryStringKeys(givenKey, val, options, valuesParsed) {
+ if (!givenKey) {
+ return;
+ }
+ var keys = splitKeyIntoSegments(givenKey, options);
+ if (!keys) {
+ return;
+ }
+ return parseObject(keys, val, options, valuesParsed);
+ }, "parseQueryStringKeys");
+ var normalizeParseOptions = /* @__PURE__ */ __name(function normalizeParseOptions2(opts) {
+ if (!opts) {
+ return defaults;
+ }
+ if (typeof opts.allowEmptyArrays !== "undefined" && typeof opts.allowEmptyArrays !== "boolean") {
+ throw new TypeError("`allowEmptyArrays` option can only be `true` or `false`, when provided");
+ }
+ if (typeof opts.decodeDotInKeys !== "undefined" && typeof opts.decodeDotInKeys !== "boolean") {
+ throw new TypeError("`decodeDotInKeys` option can only be `true` or `false`, when provided");
+ }
+ if (opts.decoder !== null && typeof opts.decoder !== "undefined" && typeof opts.decoder !== "function") {
+ throw new TypeError("Decoder has to be a function.");
+ }
+ if (typeof opts.charset !== "undefined" && opts.charset !== "utf-8" && opts.charset !== "iso-8859-1") {
+ throw new TypeError("The charset option must be either utf-8, iso-8859-1, or undefined");
+ }
+ if (typeof opts.throwOnLimitExceeded !== "undefined" && typeof opts.throwOnLimitExceeded !== "boolean") {
+ throw new TypeError("`throwOnLimitExceeded` option must be a boolean");
+ }
+ var charset = typeof opts.charset === "undefined" ? defaults.charset : opts.charset;
+ var duplicates = typeof opts.duplicates === "undefined" ? defaults.duplicates : opts.duplicates;
+ if (duplicates !== "combine" && duplicates !== "first" && duplicates !== "last") {
+ throw new TypeError("The duplicates option must be either combine, first, or last");
+ }
+ var allowDots = typeof opts.allowDots === "undefined" ? opts.decodeDotInKeys === true ? true : defaults.allowDots : !!opts.allowDots;
+ return {
+ allowDots,
+ allowEmptyArrays: typeof opts.allowEmptyArrays === "boolean" ? !!opts.allowEmptyArrays : defaults.allowEmptyArrays,
+ allowPrototypes: typeof opts.allowPrototypes === "boolean" ? opts.allowPrototypes : defaults.allowPrototypes,
+ allowSparse: typeof opts.allowSparse === "boolean" ? opts.allowSparse : defaults.allowSparse,
+ arrayLimit: typeof opts.arrayLimit === "number" ? opts.arrayLimit : defaults.arrayLimit,
+ charset,
+ charsetSentinel: typeof opts.charsetSentinel === "boolean" ? opts.charsetSentinel : defaults.charsetSentinel,
+ comma: typeof opts.comma === "boolean" ? opts.comma : defaults.comma,
+ decodeDotInKeys: typeof opts.decodeDotInKeys === "boolean" ? opts.decodeDotInKeys : defaults.decodeDotInKeys,
+ decoder: typeof opts.decoder === "function" ? opts.decoder : defaults.decoder,
+ delimiter: typeof opts.delimiter === "string" || utils.isRegExp(opts.delimiter) ? opts.delimiter : defaults.delimiter,
+ // eslint-disable-next-line no-implicit-coercion, no-extra-parens
+ depth: typeof opts.depth === "number" || opts.depth === false ? +opts.depth : defaults.depth,
+ duplicates,
+ ignoreQueryPrefix: opts.ignoreQueryPrefix === true,
+ interpretNumericEntities: typeof opts.interpretNumericEntities === "boolean" ? opts.interpretNumericEntities : defaults.interpretNumericEntities,
+ parameterLimit: typeof opts.parameterLimit === "number" ? opts.parameterLimit : defaults.parameterLimit,
+ parseArrays: opts.parseArrays !== false,
+ plainObjects: typeof opts.plainObjects === "boolean" ? opts.plainObjects : defaults.plainObjects,
+ strictDepth: typeof opts.strictDepth === "boolean" ? !!opts.strictDepth : defaults.strictDepth,
+ strictMerge: typeof opts.strictMerge === "boolean" ? !!opts.strictMerge : defaults.strictMerge,
+ strictNullHandling: typeof opts.strictNullHandling === "boolean" ? opts.strictNullHandling : defaults.strictNullHandling,
+ throwOnLimitExceeded: typeof opts.throwOnLimitExceeded === "boolean" ? opts.throwOnLimitExceeded : false
+ };
+ }, "normalizeParseOptions");
+ module.exports = function(str, opts) {
+ var options = normalizeParseOptions(opts);
+ if (str === "" || str === null || typeof str === "undefined") {
+ return options.plainObjects ? { __proto__: null } : {};
+ }
+ var tempObj = typeof str === "string" ? parseValues(str, options) : copyInput(str);
+ var obj = options.plainObjects ? { __proto__: null } : {};
+ var keys = Object.keys(tempObj);
+ for (var i = 0; i < keys.length; ++i) {
+ var key = keys[i];
+ var newObj = parseKeys(key, tempObj[key], options, typeof str === "string");
+ obj = utils.merge(obj, newObj, options);
+ }
+ if (options.allowSparse === true) {
+ return obj;
+ }
+ return utils.compact(obj);
+ };
+ }
+});
+
+// ../../node_modules/.pnpm/qs@6.16.1/node_modules/qs/lib/index.js
+var require_lib4 = __commonJS({
+ "../../node_modules/.pnpm/qs@6.16.1/node_modules/qs/lib/index.js"(exports, module) {
+ "use strict";
+ var stringify2 = require_stringify();
+ var parse = require_parse();
+ var formats = require_formats();
+ module.exports = {
+ formats,
+ parse,
+ stringify: stringify2
+ };
+ }
+});
+
+// ../../node_modules/.pnpm/body-parser@2.3.0/node_modules/body-parser/lib/types/urlencoded.js
+var require_urlencoded = __commonJS({
+ "../../node_modules/.pnpm/body-parser@2.3.0/node_modules/body-parser/lib/types/urlencoded.js"(exports, module) {
+ "use strict";
+ var createError = require_http_errors();
+ var debug = require_src()("body-parser:urlencoded");
+ var read = require_read();
+ var qs = require_lib4();
+ var { normalizeOptions } = require_utils();
+ module.exports = urlencoded;
+ function urlencoded(options) {
+ const normalizedOptions = normalizeOptions(options, "application/x-www-form-urlencoded");
+ if (normalizedOptions.defaultCharset !== "utf-8" && normalizedOptions.defaultCharset !== "iso-8859-1") {
+ throw new TypeError("option defaultCharset must be either utf-8 or iso-8859-1");
+ }
+ const parse = createQueryParser(options);
+ const readOptions = {
+ ...normalizedOptions,
+ // assert charset
+ isValidCharset: /* @__PURE__ */ __name((charset) => charset === "utf-8" || charset === "iso-8859-1", "isValidCharset")
+ };
+ return /* @__PURE__ */ __name(function urlencodedParser(req, res, next) {
+ read(req, res, next, parse, debug, readOptions);
+ }, "urlencodedParser");
+ }
+ __name(urlencoded, "urlencoded");
+ function createQueryParser(options) {
+ const extended = Boolean(options?.extended);
+ let parameterLimit = options?.parameterLimit !== void 0 ? options?.parameterLimit : 1e3;
+ const charsetSentinel = options?.charsetSentinel;
+ const interpretNumericEntities = options?.interpretNumericEntities;
+ const depth = extended ? options?.depth !== void 0 ? options?.depth : 32 : 0;
+ if (isNaN(parameterLimit) || parameterLimit < 1) {
+ throw new TypeError("option parameterLimit must be a positive number");
+ }
+ if (isNaN(depth) || depth < 0) {
+ throw new TypeError("option depth must be a zero or a positive number");
+ }
+ if (isFinite(parameterLimit)) {
+ parameterLimit = parameterLimit | 0;
+ }
+ return /* @__PURE__ */ __name(function parse(body, encoding) {
+ if (!body.length) return {};
+ const paramCount = parameterCount(body, parameterLimit);
+ if (paramCount === void 0) {
+ debug("too many parameters");
+ throw createError(413, "too many parameters", {
+ type: "parameters.too.many"
+ });
+ }
+ const arrayLimit = extended ? Math.max(100, paramCount) : paramCount;
+ debug("parse " + (extended ? "extended " : "") + "urlencoding");
+ try {
+ return qs.parse(body, {
+ allowPrototypes: true,
+ arrayLimit,
+ depth,
+ charsetSentinel,
+ interpretNumericEntities,
+ charset: encoding,
+ parameterLimit,
+ strictDepth: true
+ });
+ } catch (err) {
+ if (err instanceof RangeError) {
+ throw createError(400, "The input exceeded the depth", {
+ type: "querystring.parse.rangeError"
+ });
+ } else {
+ throw err;
+ }
+ }
+ }, "parse");
+ }
+ __name(createQueryParser, "createQueryParser");
+ function parameterCount(body, limit) {
+ let count = 0;
+ let index = -1;
+ do {
+ count++;
+ if (count > limit) return void 0;
+ index = body.indexOf("&", index + 1);
+ } while (index !== -1);
+ return count;
+ }
+ __name(parameterCount, "parameterCount");
+ }
+});
+
+// ../../node_modules/.pnpm/body-parser@2.3.0/node_modules/body-parser/index.js
+var require_body_parser = __commonJS({
+ "../../node_modules/.pnpm/body-parser@2.3.0/node_modules/body-parser/index.js"(exports, module) {
+ "use strict";
+ exports = module.exports = bodyParser;
+ exports.json = require_json();
+ exports.raw = require_raw();
+ exports.text = require_text();
+ exports.urlencoded = require_urlencoded();
+ function bodyParser() {
+ throw new Error("The bodyParser() generic has been split into individual middleware to use instead.");
+ }
+ __name(bodyParser, "bodyParser");
+ }
+});
+
+// ../../node_modules/.pnpm/merge-descriptors@2.0.0/node_modules/merge-descriptors/index.js
+var require_merge_descriptors = __commonJS({
+ "../../node_modules/.pnpm/merge-descriptors@2.0.0/node_modules/merge-descriptors/index.js"(exports, module) {
+ "use strict";
+ function mergeDescriptors(destination, source, overwrite = true) {
+ if (!destination) {
+ throw new TypeError("The `destination` argument is required.");
+ }
+ if (!source) {
+ throw new TypeError("The `source` argument is required.");
+ }
+ for (const name of Object.getOwnPropertyNames(source)) {
+ if (!overwrite && Object.hasOwn(destination, name)) {
+ continue;
+ }
+ const descriptor = Object.getOwnPropertyDescriptor(source, name);
+ Object.defineProperty(destination, name, descriptor);
+ }
+ return destination;
+ }
+ __name(mergeDescriptors, "mergeDescriptors");
+ module.exports = mergeDescriptors;
+ }
+});
+
+// ../../node_modules/.pnpm/encodeurl@2.0.0/node_modules/encodeurl/index.js
+var require_encodeurl = __commonJS({
+ "../../node_modules/.pnpm/encodeurl@2.0.0/node_modules/encodeurl/index.js"(exports, module) {
+ "use strict";
+ module.exports = encodeUrl;
+ var ENCODE_CHARS_REGEXP = /(?:[^\x21\x23-\x3B\x3D\x3F-\x5F\x61-\x7A\x7C\x7E]|%(?:[^0-9A-Fa-f]|[0-9A-Fa-f][^0-9A-Fa-f]|$))+/g;
+ var UNMATCHED_SURROGATE_PAIR_REGEXP = /(^|[^\uD800-\uDBFF])[\uDC00-\uDFFF]|[\uD800-\uDBFF]([^\uDC00-\uDFFF]|$)/g;
+ var UNMATCHED_SURROGATE_PAIR_REPLACE = "$1\uFFFD$2";
+ function encodeUrl(url) {
+ return String(url).replace(UNMATCHED_SURROGATE_PAIR_REGEXP, UNMATCHED_SURROGATE_PAIR_REPLACE).replace(ENCODE_CHARS_REGEXP, encodeURI);
+ }
+ __name(encodeUrl, "encodeUrl");
+ }
+});
+
+// ../../node_modules/.pnpm/escape-html@1.0.3/node_modules/escape-html/index.js
+var require_escape_html = __commonJS({
+ "../../node_modules/.pnpm/escape-html@1.0.3/node_modules/escape-html/index.js"(exports, module) {
+ "use strict";
+ var matchHtmlRegExp = /["'&<>]/;
+ module.exports = escapeHtml;
+ function escapeHtml(string) {
+ var str = "" + string;
+ var match = matchHtmlRegExp.exec(str);
+ if (!match) {
+ return str;
+ }
+ var escape2;
+ var html = "";
+ var index = 0;
+ var lastIndex = 0;
+ for (index = match.index; index < str.length; index++) {
+ switch (str.charCodeAt(index)) {
+ case 34:
+ escape2 = """;
+ break;
+ case 38:
+ escape2 = "&";
+ break;
+ case 39:
+ escape2 = "'";
+ break;
+ case 60:
+ escape2 = "<";
+ break;
+ case 62:
+ escape2 = ">";
+ break;
+ default:
+ continue;
+ }
+ if (lastIndex !== index) {
+ html += str.substring(lastIndex, index);
+ }
+ lastIndex = index + 1;
+ html += escape2;
+ }
+ return lastIndex !== index ? html + str.substring(lastIndex, index) : html;
+ }
+ __name(escapeHtml, "escapeHtml");
+ }
+});
+
+// ../../node_modules/.pnpm/parseurl@1.3.3/node_modules/parseurl/index.js
+var require_parseurl = __commonJS({
+ "../../node_modules/.pnpm/parseurl@1.3.3/node_modules/parseurl/index.js"(exports, module) {
+ "use strict";
+ var url = __require("url");
+ var parse = url.parse;
+ var Url = url.Url;
+ module.exports = parseurl;
+ module.exports.original = originalurl;
+ function parseurl(req) {
+ var url2 = req.url;
+ if (url2 === void 0) {
+ return void 0;
+ }
+ var parsed = req._parsedUrl;
+ if (fresh(url2, parsed)) {
+ return parsed;
+ }
+ parsed = fastparse(url2);
+ parsed._raw = url2;
+ return req._parsedUrl = parsed;
+ }
+ __name(parseurl, "parseurl");
+ function originalurl(req) {
+ var url2 = req.originalUrl;
+ if (typeof url2 !== "string") {
+ return parseurl(req);
+ }
+ var parsed = req._parsedOriginalUrl;
+ if (fresh(url2, parsed)) {
+ return parsed;
+ }
+ parsed = fastparse(url2);
+ parsed._raw = url2;
+ return req._parsedOriginalUrl = parsed;
+ }
+ __name(originalurl, "originalurl");
+ function fastparse(str) {
+ if (typeof str !== "string" || str.charCodeAt(0) !== 47) {
+ return parse(str);
+ }
+ var pathname = str;
+ var query = null;
+ var search = null;
+ for (var i = 1; i < str.length; i++) {
+ switch (str.charCodeAt(i)) {
+ case 63:
+ if (search === null) {
+ pathname = str.substring(0, i);
+ query = str.substring(i + 1);
+ search = str.substring(i);
+ }
+ break;
+ case 9:
+ /* \t */
+ case 10:
+ /* \n */
+ case 12:
+ /* \f */
+ case 13:
+ /* \r */
+ case 32:
+ /* */
+ case 35:
+ /* # */
+ case 160:
+ case 65279:
+ return parse(str);
+ }
+ }
+ var url2 = Url !== void 0 ? new Url() : {};
+ url2.path = str;
+ url2.href = str;
+ url2.pathname = pathname;
+ if (search !== null) {
+ url2.query = query;
+ url2.search = search;
+ }
+ return url2;
+ }
+ __name(fastparse, "fastparse");
+ function fresh(url2, parsedUrl) {
+ return typeof parsedUrl === "object" && parsedUrl !== null && (Url === void 0 || parsedUrl instanceof Url) && parsedUrl._raw === url2;
+ }
+ __name(fresh, "fresh");
+ }
+});
+
+// ../../node_modules/.pnpm/finalhandler@2.1.1/node_modules/finalhandler/index.js
+var require_finalhandler = __commonJS({
+ "../../node_modules/.pnpm/finalhandler@2.1.1/node_modules/finalhandler/index.js"(exports, module) {
+ "use strict";
+ var debug = require_src()("finalhandler");
+ var encodeUrl = require_encodeurl();
+ var escapeHtml = require_escape_html();
+ var onFinished = require_on_finished();
+ var parseUrl = require_parseurl();
+ var statuses = require_statuses();
+ var isFinished = onFinished.isFinished;
+ function createHtmlDocument(message) {
+ var body = escapeHtml(message).replaceAll("\n", " ").replaceAll(" ", " ");
+ return '\n\n\n \nError \n\n\n' + body + " \n\n\n";
+ }
+ __name(createHtmlDocument, "createHtmlDocument");
+ module.exports = finalhandler;
+ function finalhandler(req, res, options) {
+ var opts = options || {};
+ var env = opts.env || process.env.NODE_ENV || "development";
+ var onerror = opts.onerror;
+ return function(err) {
+ var headers;
+ var msg;
+ var status;
+ if (!err && res.headersSent) {
+ debug("cannot 404 after headers sent");
+ return;
+ }
+ if (err) {
+ status = getErrorStatusCode(err);
+ if (status === void 0) {
+ status = getResponseStatusCode(res);
+ } else {
+ headers = getErrorHeaders(err);
+ }
+ msg = getErrorMessage(err, status, env);
+ } else {
+ status = 404;
+ msg = "Cannot " + req.method + " " + encodeUrl(getResourceName(req));
+ }
+ debug("default %s", status);
+ if (err && onerror) {
+ setImmediate(onerror, err, req, res);
+ }
+ if (res.headersSent) {
+ debug("cannot %d after headers sent", status);
+ if (req.socket) {
+ req.socket.destroy();
+ }
+ return;
+ }
+ send(req, res, status, headers, msg);
+ };
+ }
+ __name(finalhandler, "finalhandler");
+ function getErrorHeaders(err) {
+ if (!err.headers || typeof err.headers !== "object") {
+ return void 0;
+ }
+ return { ...err.headers };
+ }
+ __name(getErrorHeaders, "getErrorHeaders");
+ function getErrorMessage(err, status, env) {
+ var msg;
+ if (env !== "production") {
+ msg = err.stack;
+ if (!msg && typeof err.toString === "function") {
+ msg = err.toString();
+ }
+ }
+ return msg || statuses.message[status];
+ }
+ __name(getErrorMessage, "getErrorMessage");
+ function getErrorStatusCode(err) {
+ if (typeof err.status === "number" && err.status >= 400 && err.status < 600) {
+ return err.status;
+ }
+ if (typeof err.statusCode === "number" && err.statusCode >= 400 && err.statusCode < 600) {
+ return err.statusCode;
+ }
+ return void 0;
+ }
+ __name(getErrorStatusCode, "getErrorStatusCode");
+ function getResourceName(req) {
+ try {
+ return parseUrl.original(req).pathname;
+ } catch (e) {
+ return "resource";
+ }
+ }
+ __name(getResourceName, "getResourceName");
+ function getResponseStatusCode(res) {
+ var status = res.statusCode;
+ if (typeof status !== "number" || status < 400 || status > 599) {
+ status = 500;
+ }
+ return status;
+ }
+ __name(getResponseStatusCode, "getResponseStatusCode");
+ function send(req, res, status, headers, message) {
+ function write() {
+ var body = createHtmlDocument(message);
+ res.statusCode = status;
+ if (req.httpVersionMajor < 2) {
+ res.statusMessage = statuses.message[status];
+ }
+ res.removeHeader("Content-Encoding");
+ res.removeHeader("Content-Language");
+ res.removeHeader("Content-Range");
+ for (const [key, value] of Object.entries(headers ?? {})) {
+ res.setHeader(key, value);
+ }
+ res.setHeader("Content-Security-Policy", "default-src 'none'");
+ res.setHeader("X-Content-Type-Options", "nosniff");
+ res.setHeader("Content-Type", "text/html; charset=utf-8");
+ res.setHeader("Content-Length", Buffer.byteLength(body, "utf8"));
+ if (req.method === "HEAD") {
+ res.end();
+ return;
+ }
+ res.end(body, "utf8");
+ }
+ __name(write, "write");
+ if (isFinished(req)) {
+ write();
+ return;
+ }
+ req.unpipe();
+ onFinished(req, write);
+ req.resume();
+ }
+ __name(send, "send");
+ }
+});
+
+// ../../node_modules/.pnpm/express@5.3.0/node_modules/express/lib/view.js
+var require_view = __commonJS({
+ "../../node_modules/.pnpm/express@5.3.0/node_modules/express/lib/view.js"(exports, module) {
+ "use strict";
+ var debug = require_src()("express:view");
+ var path = __require("node:path");
+ var fs = __require("node:fs");
+ var dirname = path.dirname;
+ var basename = path.basename;
+ var extname = path.extname;
+ var join = path.join;
+ var resolve = path.resolve;
+ module.exports = View;
+ function View(name, options) {
+ var opts = options || {};
+ this.defaultEngine = opts.defaultEngine;
+ this.ext = extname(name);
+ this.name = name;
+ this.root = opts.root;
+ if (!this.ext && !this.defaultEngine) {
+ throw new Error("No default engine was specified and no extension was provided.");
+ }
+ var fileName = name;
+ if (!this.ext) {
+ this.ext = this.defaultEngine[0] !== "." ? "." + this.defaultEngine : this.defaultEngine;
+ fileName += this.ext;
+ }
+ if (!opts.engines[this.ext]) {
+ var mod = this.ext.slice(1);
+ debug('require "%s"', mod);
+ var fn = __require(mod).__express;
+ if (typeof fn !== "function") {
+ throw new Error('Module "' + mod + '" does not provide a view engine.');
+ }
+ opts.engines[this.ext] = fn;
+ }
+ this.engine = opts.engines[this.ext];
+ this.path = this.lookup(fileName);
+ }
+ __name(View, "View");
+ View.prototype.lookup = /* @__PURE__ */ __name(function lookup(name) {
+ var path2;
+ var roots = [].concat(this.root);
+ debug('lookup "%s"', name);
+ for (var i = 0; i < roots.length && !path2; i++) {
+ var root = roots[i];
+ var loc = resolve(root, name);
+ var dir = dirname(loc);
+ var file = basename(loc);
+ path2 = this.resolve(dir, file);
+ }
+ return path2;
+ }, "lookup");
+ View.prototype.render = /* @__PURE__ */ __name(function render(options, callback) {
+ var sync = true;
+ debug('render "%s"', this.path);
+ this.engine(this.path, options, /* @__PURE__ */ __name(function onRender() {
+ if (!sync) {
+ return callback.apply(this, arguments);
+ }
+ var args = new Array(arguments.length);
+ var cntx = this;
+ for (var i = 0; i < arguments.length; i++) {
+ args[i] = arguments[i];
+ }
+ return process.nextTick(/* @__PURE__ */ __name(function renderTick() {
+ return callback.apply(cntx, args);
+ }, "renderTick"));
+ }, "onRender"));
+ sync = false;
+ }, "render");
+ View.prototype.resolve = /* @__PURE__ */ __name(function resolve2(dir, file) {
+ var ext = this.ext;
+ var path2 = join(dir, file);
+ var stat = tryStat(path2);
+ if (stat && stat.isFile()) {
+ return path2;
+ }
+ path2 = join(dir, basename(file, ext), "index" + ext);
+ stat = tryStat(path2);
+ if (stat && stat.isFile()) {
+ return path2;
+ }
+ }, "resolve");
+ function tryStat(path2) {
+ debug('stat "%s"', path2);
+ try {
+ return fs.statSync(path2);
+ } catch (e) {
+ return void 0;
+ }
+ }
+ __name(tryStat, "tryStat");
+ }
+});
+
+// ../../node_modules/.pnpm/etag@1.8.1/node_modules/etag/index.js
+var require_etag = __commonJS({
+ "../../node_modules/.pnpm/etag@1.8.1/node_modules/etag/index.js"(exports, module) {
+ "use strict";
+ module.exports = etag;
+ var crypto = __require("crypto");
+ var Stats = __require("fs").Stats;
+ var toString = Object.prototype.toString;
+ function entitytag(entity) {
+ if (entity.length === 0) {
+ return '"0-2jmj7l5rSw0yVb/vlWAYkK/YBwk"';
+ }
+ var hash = crypto.createHash("sha1").update(entity, "utf8").digest("base64").substring(0, 27);
+ var len = typeof entity === "string" ? Buffer.byteLength(entity, "utf8") : entity.length;
+ return '"' + len.toString(16) + "-" + hash + '"';
+ }
+ __name(entitytag, "entitytag");
+ function etag(entity, options) {
+ if (entity == null) {
+ throw new TypeError("argument entity is required");
+ }
+ var isStats = isstats(entity);
+ var weak = options && typeof options.weak === "boolean" ? options.weak : isStats;
+ if (!isStats && typeof entity !== "string" && !Buffer.isBuffer(entity)) {
+ throw new TypeError("argument entity must be string, Buffer, or fs.Stats");
+ }
+ var tag = isStats ? stattag(entity) : entitytag(entity);
+ return weak ? "W/" + tag : tag;
+ }
+ __name(etag, "etag");
+ function isstats(obj) {
+ if (typeof Stats === "function" && obj instanceof Stats) {
+ return true;
+ }
+ return obj && typeof obj === "object" && "ctime" in obj && toString.call(obj.ctime) === "[object Date]" && "mtime" in obj && toString.call(obj.mtime) === "[object Date]" && "ino" in obj && typeof obj.ino === "number" && "size" in obj && typeof obj.size === "number";
+ }
+ __name(isstats, "isstats");
+ function stattag(stat) {
+ var mtime = stat.mtime.getTime().toString(16);
+ var size = stat.size.toString(16);
+ return '"' + size + "-" + mtime + '"';
+ }
+ __name(stattag, "stattag");
+ }
+});
+
+// ../../node_modules/.pnpm/forwarded@0.2.0/node_modules/forwarded/index.js
+var require_forwarded = __commonJS({
+ "../../node_modules/.pnpm/forwarded@0.2.0/node_modules/forwarded/index.js"(exports, module) {
+ "use strict";
+ module.exports = forwarded;
+ function forwarded(req) {
+ if (!req) {
+ throw new TypeError("argument req is required");
+ }
+ var proxyAddrs = parse(req.headers["x-forwarded-for"] || "");
+ var socketAddr = getSocketAddr(req);
+ var addrs = [socketAddr].concat(proxyAddrs);
+ return addrs;
+ }
+ __name(forwarded, "forwarded");
+ function getSocketAddr(req) {
+ return req.socket ? req.socket.remoteAddress : req.connection.remoteAddress;
+ }
+ __name(getSocketAddr, "getSocketAddr");
+ function parse(header) {
+ var end = header.length;
+ var list = [];
+ var start = header.length;
+ for (var i = header.length - 1; i >= 0; i--) {
+ switch (header.charCodeAt(i)) {
+ case 32:
+ if (start === end) {
+ start = end = i;
+ }
+ break;
+ case 44:
+ if (start !== end) {
+ list.push(header.substring(start, end));
+ }
+ start = end = i;
+ break;
+ default:
+ start = i;
+ break;
+ }
+ }
+ if (start !== end) {
+ list.push(header.substring(start, end));
+ }
+ return list;
+ }
+ __name(parse, "parse");
+ }
+});
+
+// ../../node_modules/.pnpm/ipaddr.js@1.9.1/node_modules/ipaddr.js/lib/ipaddr.js
+var require_ipaddr = __commonJS({
+ "../../node_modules/.pnpm/ipaddr.js@1.9.1/node_modules/ipaddr.js/lib/ipaddr.js"(exports, module) {
+ (function() {
+ var expandIPv6, ipaddr, ipv4Part, ipv4Regexes, ipv6Part, ipv6Regexes, matchCIDR, root, zoneIndex;
+ ipaddr = {};
+ root = this;
+ if (typeof module !== "undefined" && module !== null && module.exports) {
+ module.exports = ipaddr;
+ } else {
+ root["ipaddr"] = ipaddr;
+ }
+ matchCIDR = /* @__PURE__ */ __name(function(first, second, partSize, cidrBits) {
+ var part, shift;
+ if (first.length !== second.length) {
+ throw new Error("ipaddr: cannot match CIDR for objects with different lengths");
+ }
+ part = 0;
+ while (cidrBits > 0) {
+ shift = partSize - cidrBits;
+ if (shift < 0) {
+ shift = 0;
+ }
+ if (first[part] >> shift !== second[part] >> shift) {
+ return false;
+ }
+ cidrBits -= partSize;
+ part += 1;
+ }
+ return true;
+ }, "matchCIDR");
+ ipaddr.subnetMatch = function(address, rangeList, defaultName) {
+ var k, len, rangeName, rangeSubnets, subnet;
+ if (defaultName == null) {
+ defaultName = "unicast";
+ }
+ for (rangeName in rangeList) {
+ rangeSubnets = rangeList[rangeName];
+ if (rangeSubnets[0] && !(rangeSubnets[0] instanceof Array)) {
+ rangeSubnets = [rangeSubnets];
+ }
+ for (k = 0, len = rangeSubnets.length; k < len; k++) {
+ subnet = rangeSubnets[k];
+ if (address.kind() === subnet[0].kind()) {
+ if (address.match.apply(address, subnet)) {
+ return rangeName;
+ }
+ }
+ }
+ }
+ return defaultName;
+ };
+ ipaddr.IPv4 = (function() {
+ function IPv4(octets) {
+ var k, len, octet;
+ if (octets.length !== 4) {
+ throw new Error("ipaddr: ipv4 octet count should be 4");
+ }
+ for (k = 0, len = octets.length; k < len; k++) {
+ octet = octets[k];
+ if (!(0 <= octet && octet <= 255)) {
+ throw new Error("ipaddr: ipv4 octet should fit in 8 bits");
+ }
+ }
+ this.octets = octets;
+ }
+ __name(IPv4, "IPv4");
+ IPv4.prototype.kind = function() {
+ return "ipv4";
+ };
+ IPv4.prototype.toString = function() {
+ return this.octets.join(".");
+ };
+ IPv4.prototype.toNormalizedString = function() {
+ return this.toString();
+ };
+ IPv4.prototype.toByteArray = function() {
+ return this.octets.slice(0);
+ };
+ IPv4.prototype.match = function(other, cidrRange) {
+ var ref;
+ if (cidrRange === void 0) {
+ ref = other, other = ref[0], cidrRange = ref[1];
+ }
+ if (other.kind() !== "ipv4") {
+ throw new Error("ipaddr: cannot match ipv4 address with non-ipv4 one");
+ }
+ return matchCIDR(this.octets, other.octets, 8, cidrRange);
+ };
+ IPv4.prototype.SpecialRanges = {
+ unspecified: [[new IPv4([0, 0, 0, 0]), 8]],
+ broadcast: [[new IPv4([255, 255, 255, 255]), 32]],
+ multicast: [[new IPv4([224, 0, 0, 0]), 4]],
+ linkLocal: [[new IPv4([169, 254, 0, 0]), 16]],
+ loopback: [[new IPv4([127, 0, 0, 0]), 8]],
+ carrierGradeNat: [[new IPv4([100, 64, 0, 0]), 10]],
+ "private": [[new IPv4([10, 0, 0, 0]), 8], [new IPv4([172, 16, 0, 0]), 12], [new IPv4([192, 168, 0, 0]), 16]],
+ reserved: [[new IPv4([192, 0, 0, 0]), 24], [new IPv4([192, 0, 2, 0]), 24], [new IPv4([192, 88, 99, 0]), 24], [new IPv4([198, 51, 100, 0]), 24], [new IPv4([203, 0, 113, 0]), 24], [new IPv4([240, 0, 0, 0]), 4]]
+ };
+ IPv4.prototype.range = function() {
+ return ipaddr.subnetMatch(this, this.SpecialRanges);
+ };
+ IPv4.prototype.toIPv4MappedAddress = function() {
+ return ipaddr.IPv6.parse("::ffff:" + this.toString());
+ };
+ IPv4.prototype.prefixLengthFromSubnetMask = function() {
+ var cidr, i, k, octet, stop, zeros, zerotable;
+ zerotable = {
+ 0: 8,
+ 128: 7,
+ 192: 6,
+ 224: 5,
+ 240: 4,
+ 248: 3,
+ 252: 2,
+ 254: 1,
+ 255: 0
+ };
+ cidr = 0;
+ stop = false;
+ for (i = k = 3; k >= 0; i = k += -1) {
+ octet = this.octets[i];
+ if (octet in zerotable) {
+ zeros = zerotable[octet];
+ if (stop && zeros !== 0) {
+ return null;
+ }
+ if (zeros !== 8) {
+ stop = true;
+ }
+ cidr += zeros;
+ } else {
+ return null;
+ }
+ }
+ return 32 - cidr;
+ };
+ return IPv4;
+ })();
+ ipv4Part = "(0?\\d+|0x[a-f0-9]+)";
+ ipv4Regexes = {
+ fourOctet: new RegExp("^" + ipv4Part + "\\." + ipv4Part + "\\." + ipv4Part + "\\." + ipv4Part + "$", "i"),
+ longValue: new RegExp("^" + ipv4Part + "$", "i")
+ };
+ ipaddr.IPv4.parser = function(string) {
+ var match, parseIntAuto, part, shift, value;
+ parseIntAuto = /* @__PURE__ */ __name(function(string2) {
+ if (string2[0] === "0" && string2[1] !== "x") {
+ return parseInt(string2, 8);
+ } else {
+ return parseInt(string2);
+ }
+ }, "parseIntAuto");
+ if (match = string.match(ipv4Regexes.fourOctet)) {
+ return (function() {
+ var k, len, ref, results;
+ ref = match.slice(1, 6);
+ results = [];
+ for (k = 0, len = ref.length; k < len; k++) {
+ part = ref[k];
+ results.push(parseIntAuto(part));
+ }
+ return results;
+ })();
+ } else if (match = string.match(ipv4Regexes.longValue)) {
+ value = parseIntAuto(match[1]);
+ if (value > 4294967295 || value < 0) {
+ throw new Error("ipaddr: address outside defined range");
+ }
+ return (function() {
+ var k, results;
+ results = [];
+ for (shift = k = 0; k <= 24; shift = k += 8) {
+ results.push(value >> shift & 255);
+ }
+ return results;
+ })().reverse();
+ } else {
+ return null;
+ }
+ };
+ ipaddr.IPv6 = (function() {
+ function IPv6(parts, zoneId) {
+ var i, k, l, len, part, ref;
+ if (parts.length === 16) {
+ this.parts = [];
+ for (i = k = 0; k <= 14; i = k += 2) {
+ this.parts.push(parts[i] << 8 | parts[i + 1]);
+ }
+ } else if (parts.length === 8) {
+ this.parts = parts;
+ } else {
+ throw new Error("ipaddr: ipv6 part count should be 8 or 16");
+ }
+ ref = this.parts;
+ for (l = 0, len = ref.length; l < len; l++) {
+ part = ref[l];
+ if (!(0 <= part && part <= 65535)) {
+ throw new Error("ipaddr: ipv6 part should fit in 16 bits");
+ }
+ }
+ if (zoneId) {
+ this.zoneId = zoneId;
+ }
+ }
+ __name(IPv6, "IPv6");
+ IPv6.prototype.kind = function() {
+ return "ipv6";
+ };
+ IPv6.prototype.toString = function() {
+ return this.toNormalizedString().replace(/((^|:)(0(:|$))+)/, "::");
+ };
+ IPv6.prototype.toRFC5952String = function() {
+ var bestMatchIndex, bestMatchLength, match, regex, string;
+ regex = /((^|:)(0(:|$)){2,})/g;
+ string = this.toNormalizedString();
+ bestMatchIndex = 0;
+ bestMatchLength = -1;
+ while (match = regex.exec(string)) {
+ if (match[0].length > bestMatchLength) {
+ bestMatchIndex = match.index;
+ bestMatchLength = match[0].length;
+ }
+ }
+ if (bestMatchLength < 0) {
+ return string;
+ }
+ return string.substring(0, bestMatchIndex) + "::" + string.substring(bestMatchIndex + bestMatchLength);
+ };
+ IPv6.prototype.toByteArray = function() {
+ var bytes, k, len, part, ref;
+ bytes = [];
+ ref = this.parts;
+ for (k = 0, len = ref.length; k < len; k++) {
+ part = ref[k];
+ bytes.push(part >> 8);
+ bytes.push(part & 255);
+ }
+ return bytes;
+ };
+ IPv6.prototype.toNormalizedString = function() {
+ var addr, part, suffix;
+ addr = (function() {
+ var k, len, ref, results;
+ ref = this.parts;
+ results = [];
+ for (k = 0, len = ref.length; k < len; k++) {
+ part = ref[k];
+ results.push(part.toString(16));
+ }
+ return results;
+ }).call(this).join(":");
+ suffix = "";
+ if (this.zoneId) {
+ suffix = "%" + this.zoneId;
+ }
+ return addr + suffix;
+ };
+ IPv6.prototype.toFixedLengthString = function() {
+ var addr, part, suffix;
+ addr = (function() {
+ var k, len, ref, results;
+ ref = this.parts;
+ results = [];
+ for (k = 0, len = ref.length; k < len; k++) {
+ part = ref[k];
+ results.push(part.toString(16).padStart(4, "0"));
+ }
+ return results;
+ }).call(this).join(":");
+ suffix = "";
+ if (this.zoneId) {
+ suffix = "%" + this.zoneId;
+ }
+ return addr + suffix;
+ };
+ IPv6.prototype.match = function(other, cidrRange) {
+ var ref;
+ if (cidrRange === void 0) {
+ ref = other, other = ref[0], cidrRange = ref[1];
+ }
+ if (other.kind() !== "ipv6") {
+ throw new Error("ipaddr: cannot match ipv6 address with non-ipv6 one");
+ }
+ return matchCIDR(this.parts, other.parts, 16, cidrRange);
+ };
+ IPv6.prototype.SpecialRanges = {
+ unspecified: [new IPv6([0, 0, 0, 0, 0, 0, 0, 0]), 128],
+ linkLocal: [new IPv6([65152, 0, 0, 0, 0, 0, 0, 0]), 10],
+ multicast: [new IPv6([65280, 0, 0, 0, 0, 0, 0, 0]), 8],
+ loopback: [new IPv6([0, 0, 0, 0, 0, 0, 0, 1]), 128],
+ uniqueLocal: [new IPv6([64512, 0, 0, 0, 0, 0, 0, 0]), 7],
+ ipv4Mapped: [new IPv6([0, 0, 0, 0, 0, 65535, 0, 0]), 96],
+ rfc6145: [new IPv6([0, 0, 0, 0, 65535, 0, 0, 0]), 96],
+ rfc6052: [new IPv6([100, 65435, 0, 0, 0, 0, 0, 0]), 96],
+ "6to4": [new IPv6([8194, 0, 0, 0, 0, 0, 0, 0]), 16],
+ teredo: [new IPv6([8193, 0, 0, 0, 0, 0, 0, 0]), 32],
+ reserved: [[new IPv6([8193, 3512, 0, 0, 0, 0, 0, 0]), 32]]
+ };
+ IPv6.prototype.range = function() {
+ return ipaddr.subnetMatch(this, this.SpecialRanges);
+ };
+ IPv6.prototype.isIPv4MappedAddress = function() {
+ return this.range() === "ipv4Mapped";
+ };
+ IPv6.prototype.toIPv4Address = function() {
+ var high, low, ref;
+ if (!this.isIPv4MappedAddress()) {
+ throw new Error("ipaddr: trying to convert a generic ipv6 address to ipv4");
+ }
+ ref = this.parts.slice(-2), high = ref[0], low = ref[1];
+ return new ipaddr.IPv4([high >> 8, high & 255, low >> 8, low & 255]);
+ };
+ IPv6.prototype.prefixLengthFromSubnetMask = function() {
+ var cidr, i, k, part, stop, zeros, zerotable;
+ zerotable = {
+ 0: 16,
+ 32768: 15,
+ 49152: 14,
+ 57344: 13,
+ 61440: 12,
+ 63488: 11,
+ 64512: 10,
+ 65024: 9,
+ 65280: 8,
+ 65408: 7,
+ 65472: 6,
+ 65504: 5,
+ 65520: 4,
+ 65528: 3,
+ 65532: 2,
+ 65534: 1,
+ 65535: 0
+ };
+ cidr = 0;
+ stop = false;
+ for (i = k = 7; k >= 0; i = k += -1) {
+ part = this.parts[i];
+ if (part in zerotable) {
+ zeros = zerotable[part];
+ if (stop && zeros !== 0) {
+ return null;
+ }
+ if (zeros !== 16) {
+ stop = true;
+ }
+ cidr += zeros;
+ } else {
+ return null;
+ }
+ }
+ return 128 - cidr;
+ };
+ return IPv6;
+ })();
+ ipv6Part = "(?:[0-9a-f]+::?)+";
+ zoneIndex = "%[0-9a-z]{1,}";
+ ipv6Regexes = {
+ zoneIndex: new RegExp(zoneIndex, "i"),
+ "native": new RegExp("^(::)?(" + ipv6Part + ")?([0-9a-f]+)?(::)?(" + zoneIndex + ")?$", "i"),
+ transitional: new RegExp("^((?:" + ipv6Part + ")|(?:::)(?:" + ipv6Part + ")?)" + (ipv4Part + "\\." + ipv4Part + "\\." + ipv4Part + "\\." + ipv4Part) + ("(" + zoneIndex + ")?$"), "i")
+ };
+ expandIPv6 = /* @__PURE__ */ __name(function(string, parts) {
+ var colonCount, lastColon, part, replacement, replacementCount, zoneId;
+ if (string.indexOf("::") !== string.lastIndexOf("::")) {
+ return null;
+ }
+ zoneId = (string.match(ipv6Regexes["zoneIndex"]) || [])[0];
+ if (zoneId) {
+ zoneId = zoneId.substring(1);
+ string = string.replace(/%.+$/, "");
+ }
+ colonCount = 0;
+ lastColon = -1;
+ while ((lastColon = string.indexOf(":", lastColon + 1)) >= 0) {
+ colonCount++;
+ }
+ if (string.substr(0, 2) === "::") {
+ colonCount--;
+ }
+ if (string.substr(-2, 2) === "::") {
+ colonCount--;
+ }
+ if (colonCount > parts) {
+ return null;
+ }
+ replacementCount = parts - colonCount;
+ replacement = ":";
+ while (replacementCount--) {
+ replacement += "0:";
+ }
+ string = string.replace("::", replacement);
+ if (string[0] === ":") {
+ string = string.slice(1);
+ }
+ if (string[string.length - 1] === ":") {
+ string = string.slice(0, -1);
+ }
+ parts = (function() {
+ var k, len, ref, results;
+ ref = string.split(":");
+ results = [];
+ for (k = 0, len = ref.length; k < len; k++) {
+ part = ref[k];
+ results.push(parseInt(part, 16));
+ }
+ return results;
+ })();
+ return {
+ parts,
+ zoneId
+ };
+ }, "expandIPv6");
+ ipaddr.IPv6.parser = function(string) {
+ var addr, k, len, match, octet, octets, zoneId;
+ if (ipv6Regexes["native"].test(string)) {
+ return expandIPv6(string, 8);
+ } else if (match = string.match(ipv6Regexes["transitional"])) {
+ zoneId = match[6] || "";
+ addr = expandIPv6(match[1].slice(0, -1) + zoneId, 6);
+ if (addr.parts) {
+ octets = [parseInt(match[2]), parseInt(match[3]), parseInt(match[4]), parseInt(match[5])];
+ for (k = 0, len = octets.length; k < len; k++) {
+ octet = octets[k];
+ if (!(0 <= octet && octet <= 255)) {
+ return null;
+ }
+ }
+ addr.parts.push(octets[0] << 8 | octets[1]);
+ addr.parts.push(octets[2] << 8 | octets[3]);
+ return {
+ parts: addr.parts,
+ zoneId: addr.zoneId
+ };
+ }
+ }
+ return null;
+ };
+ ipaddr.IPv4.isIPv4 = ipaddr.IPv6.isIPv6 = function(string) {
+ return this.parser(string) !== null;
+ };
+ ipaddr.IPv4.isValid = function(string) {
+ var e;
+ try {
+ new this(this.parser(string));
+ return true;
+ } catch (error1) {
+ e = error1;
+ return false;
+ }
+ };
+ ipaddr.IPv4.isValidFourPartDecimal = function(string) {
+ if (ipaddr.IPv4.isValid(string) && string.match(/^(0|[1-9]\d*)(\.(0|[1-9]\d*)){3}$/)) {
+ return true;
+ } else {
+ return false;
+ }
+ };
+ ipaddr.IPv6.isValid = function(string) {
+ var addr, e;
+ if (typeof string === "string" && string.indexOf(":") === -1) {
+ return false;
+ }
+ try {
+ addr = this.parser(string);
+ new this(addr.parts, addr.zoneId);
+ return true;
+ } catch (error1) {
+ e = error1;
+ return false;
+ }
+ };
+ ipaddr.IPv4.parse = function(string) {
+ var parts;
+ parts = this.parser(string);
+ if (parts === null) {
+ throw new Error("ipaddr: string is not formatted like ip address");
+ }
+ return new this(parts);
+ };
+ ipaddr.IPv6.parse = function(string) {
+ var addr;
+ addr = this.parser(string);
+ if (addr.parts === null) {
+ throw new Error("ipaddr: string is not formatted like ip address");
+ }
+ return new this(addr.parts, addr.zoneId);
+ };
+ ipaddr.IPv4.parseCIDR = function(string) {
+ var maskLength, match, parsed;
+ if (match = string.match(/^(.+)\/(\d+)$/)) {
+ maskLength = parseInt(match[2]);
+ if (maskLength >= 0 && maskLength <= 32) {
+ parsed = [this.parse(match[1]), maskLength];
+ Object.defineProperty(parsed, "toString", {
+ value: /* @__PURE__ */ __name(function() {
+ return this.join("/");
+ }, "value")
+ });
+ return parsed;
+ }
+ }
+ throw new Error("ipaddr: string is not formatted like an IPv4 CIDR range");
+ };
+ ipaddr.IPv4.subnetMaskFromPrefixLength = function(prefix) {
+ var filledOctetCount, j, octets;
+ prefix = parseInt(prefix);
+ if (prefix < 0 || prefix > 32) {
+ throw new Error("ipaddr: invalid IPv4 prefix length");
+ }
+ octets = [0, 0, 0, 0];
+ j = 0;
+ filledOctetCount = Math.floor(prefix / 8);
+ while (j < filledOctetCount) {
+ octets[j] = 255;
+ j++;
+ }
+ if (filledOctetCount < 4) {
+ octets[filledOctetCount] = Math.pow(2, prefix % 8) - 1 << 8 - prefix % 8;
+ }
+ return new this(octets);
+ };
+ ipaddr.IPv4.broadcastAddressFromCIDR = function(string) {
+ var cidr, error, i, ipInterfaceOctets, octets, subnetMaskOctets;
+ try {
+ cidr = this.parseCIDR(string);
+ ipInterfaceOctets = cidr[0].toByteArray();
+ subnetMaskOctets = this.subnetMaskFromPrefixLength(cidr[1]).toByteArray();
+ octets = [];
+ i = 0;
+ while (i < 4) {
+ octets.push(parseInt(ipInterfaceOctets[i], 10) | parseInt(subnetMaskOctets[i], 10) ^ 255);
+ i++;
+ }
+ return new this(octets);
+ } catch (error1) {
+ error = error1;
+ throw new Error("ipaddr: the address does not have IPv4 CIDR format");
+ }
+ };
+ ipaddr.IPv4.networkAddressFromCIDR = function(string) {
+ var cidr, error, i, ipInterfaceOctets, octets, subnetMaskOctets;
+ try {
+ cidr = this.parseCIDR(string);
+ ipInterfaceOctets = cidr[0].toByteArray();
+ subnetMaskOctets = this.subnetMaskFromPrefixLength(cidr[1]).toByteArray();
+ octets = [];
+ i = 0;
+ while (i < 4) {
+ octets.push(parseInt(ipInterfaceOctets[i], 10) & parseInt(subnetMaskOctets[i], 10));
+ i++;
+ }
+ return new this(octets);
+ } catch (error1) {
+ error = error1;
+ throw new Error("ipaddr: the address does not have IPv4 CIDR format");
+ }
+ };
+ ipaddr.IPv6.parseCIDR = function(string) {
+ var maskLength, match, parsed;
+ if (match = string.match(/^(.+)\/(\d+)$/)) {
+ maskLength = parseInt(match[2]);
+ if (maskLength >= 0 && maskLength <= 128) {
+ parsed = [this.parse(match[1]), maskLength];
+ Object.defineProperty(parsed, "toString", {
+ value: /* @__PURE__ */ __name(function() {
+ return this.join("/");
+ }, "value")
+ });
+ return parsed;
+ }
+ }
+ throw new Error("ipaddr: string is not formatted like an IPv6 CIDR range");
+ };
+ ipaddr.isValid = function(string) {
+ return ipaddr.IPv6.isValid(string) || ipaddr.IPv4.isValid(string);
+ };
+ ipaddr.parse = function(string) {
+ if (ipaddr.IPv6.isValid(string)) {
+ return ipaddr.IPv6.parse(string);
+ } else if (ipaddr.IPv4.isValid(string)) {
+ return ipaddr.IPv4.parse(string);
+ } else {
+ throw new Error("ipaddr: the address has neither IPv6 nor IPv4 format");
+ }
+ };
+ ipaddr.parseCIDR = function(string) {
+ var e;
+ try {
+ return ipaddr.IPv6.parseCIDR(string);
+ } catch (error1) {
+ e = error1;
+ try {
+ return ipaddr.IPv4.parseCIDR(string);
+ } catch (error12) {
+ e = error12;
+ throw new Error("ipaddr: the address has neither IPv6 nor IPv4 CIDR format");
+ }
+ }
+ };
+ ipaddr.fromByteArray = function(bytes) {
+ var length;
+ length = bytes.length;
+ if (length === 4) {
+ return new ipaddr.IPv4(bytes);
+ } else if (length === 16) {
+ return new ipaddr.IPv6(bytes);
+ } else {
+ throw new Error("ipaddr: the binary input is neither an IPv6 nor IPv4 address");
+ }
+ };
+ ipaddr.process = function(string) {
+ var addr;
+ addr = this.parse(string);
+ if (addr.kind() === "ipv6" && addr.isIPv4MappedAddress()) {
+ return addr.toIPv4Address();
+ } else {
+ return addr;
+ }
+ };
+ }).call(exports);
+ }
+});
+
+// ../../node_modules/.pnpm/proxy-addr@2.0.8/node_modules/proxy-addr/index.js
+var require_proxy_addr = __commonJS({
+ "../../node_modules/.pnpm/proxy-addr@2.0.8/node_modules/proxy-addr/index.js"(exports, module) {
+ "use strict";
+ module.exports = proxyaddr;
+ module.exports.all = alladdrs;
+ module.exports.compile = compile;
+ var forwarded = require_forwarded();
+ var ipaddr = require_ipaddr();
+ var DIGIT_REGEXP = /^[0-9]+$/;
+ var isip = ipaddr.isValid;
+ var parseip = ipaddr.parse;
+ var IP_RANGES = {
+ linklocal: ["169.254.0.0/16", "fe80::/10"],
+ loopback: ["127.0.0.1/8", "::1/128"],
+ uniquelocal: ["10.0.0.0/8", "172.16.0.0/12", "192.168.0.0/16", "fc00::/7"]
+ };
+ function alladdrs(req, trust) {
+ var addrs = forwarded(req);
+ if (!trust) {
+ return addrs;
+ }
+ if (typeof trust !== "function") {
+ trust = compile(trust);
+ }
+ for (var i = 0; i < addrs.length - 1; i++) {
+ if (trust(addrs[i], i)) continue;
+ addrs.length = i + 1;
+ }
+ return addrs;
+ }
+ __name(alladdrs, "alladdrs");
+ function compile(val) {
+ if (!val) {
+ throw new TypeError("argument is required");
+ }
+ var trust;
+ if (typeof val === "string") {
+ trust = [val];
+ } else if (Array.isArray(val)) {
+ trust = val.slice();
+ } else {
+ throw new TypeError("unsupported trust argument");
+ }
+ for (var i = 0; i < trust.length; i++) {
+ val = trust[i];
+ if (!Object.prototype.hasOwnProperty.call(IP_RANGES, val)) {
+ continue;
+ }
+ val = IP_RANGES[val];
+ trust.splice.apply(trust, [i, 1].concat(val));
+ i += val.length - 1;
+ }
+ return compileTrust(compileRangeSubnets(trust));
+ }
+ __name(compile, "compile");
+ function compileRangeSubnets(arr) {
+ var rangeSubnets = new Array(arr.length);
+ for (var i = 0; i < arr.length; i++) {
+ rangeSubnets[i] = parseipNotation(arr[i]);
+ }
+ return rangeSubnets;
+ }
+ __name(compileRangeSubnets, "compileRangeSubnets");
+ function compileTrust(rangeSubnets) {
+ var len = rangeSubnets.length;
+ return len === 0 ? trustNone : len === 1 ? trustSingle(rangeSubnets[0]) : trustMulti(rangeSubnets);
+ }
+ __name(compileTrust, "compileTrust");
+ function parseipNotation(note) {
+ var pos = note.lastIndexOf("/");
+ var str = pos !== -1 ? note.substring(0, pos) : note;
+ if (!isip(str)) {
+ throw new TypeError("invalid IP address: " + str);
+ }
+ var ip = parseip(str);
+ if (pos === -1 && ip.kind() === "ipv6" && ip.isIPv4MappedAddress()) {
+ ip = ip.toIPv4Address();
+ }
+ var max = ip.kind() === "ipv6" ? 128 : 32;
+ var range = pos !== -1 ? note.substring(pos + 1, note.length) : null;
+ if (range === null) {
+ range = max;
+ } else if (DIGIT_REGEXP.test(range)) {
+ range = parseInt(range, 10);
+ } else if (ip.kind() === "ipv4" && isip(range)) {
+ range = parseNetmask(range);
+ } else {
+ range = null;
+ }
+ if (range <= 0 || range > max) {
+ throw new TypeError("invalid range on address: " + note);
+ }
+ return [ip, range];
+ }
+ __name(parseipNotation, "parseipNotation");
+ function parseNetmask(netmask) {
+ var ip = parseip(netmask);
+ var kind = ip.kind();
+ return kind === "ipv4" ? ip.prefixLengthFromSubnetMask() : null;
+ }
+ __name(parseNetmask, "parseNetmask");
+ function proxyaddr(req, trust) {
+ if (!req) {
+ throw new TypeError("req argument is required");
+ }
+ if (!trust) {
+ throw new TypeError("trust argument is required");
+ }
+ var addrs = alladdrs(req, trust);
+ var addr = addrs[addrs.length - 1];
+ return addr;
+ }
+ __name(proxyaddr, "proxyaddr");
+ function trustNone() {
+ return false;
+ }
+ __name(trustNone, "trustNone");
+ function trustMulti(subnets) {
+ return /* @__PURE__ */ __name(function trust(addr) {
+ if (!isip(addr)) return false;
+ var ip = parseip(addr);
+ if (ip.kind() === "ipv6" && ip.isIPv4MappedAddress()) {
+ ip = ip.toIPv4Address();
+ }
+ var ipconv;
+ var kind = ip.kind();
+ for (var i = 0; i < subnets.length; i++) {
+ var subnet = subnets[i];
+ var subnetip = subnet[0];
+ var subnetkind = subnetip.kind();
+ var subnetrange = subnet[1];
+ var trusted = ip;
+ if (kind !== subnetkind) {
+ if (subnetkind === "ipv4" && !ip.isIPv4MappedAddress()) {
+ continue;
+ }
+ if (subnetkind !== "ipv4" && !(subnetrange >= 96 && subnetip.isIPv4MappedAddress())) {
+ continue;
+ }
+ if (!ipconv) {
+ ipconv = subnetkind === "ipv4" ? ip.toIPv4Address() : ip.toIPv4MappedAddress();
+ }
+ trusted = ipconv;
+ } else if (kind === "ipv6" && subnetip.isIPv4MappedAddress()) {
+ continue;
+ }
+ if (trusted.match(subnetip, subnetrange)) {
+ return true;
+ }
+ }
+ return false;
+ }, "trust");
+ }
+ __name(trustMulti, "trustMulti");
+ function trustSingle(subnet) {
+ var subnetip = subnet[0];
+ var subnetkind = subnetip.kind();
+ var subnetisipv4 = subnetkind === "ipv4";
+ var subnetrange = subnet[1];
+ return /* @__PURE__ */ __name(function trust(addr) {
+ if (!isip(addr)) return false;
+ var ip = parseip(addr);
+ if (ip.kind() === "ipv6" && ip.isIPv4MappedAddress()) {
+ ip = ip.toIPv4Address();
+ }
+ var kind = ip.kind();
+ if (kind !== subnetkind) {
+ if (subnetisipv4 && !ip.isIPv4MappedAddress()) {
+ return false;
+ }
+ if (!subnetisipv4 && !(subnetrange >= 96 && subnetip.isIPv4MappedAddress())) {
+ return false;
+ }
+ ip = subnetisipv4 ? ip.toIPv4Address() : ip.toIPv4MappedAddress();
+ } else if (kind === "ipv6" && subnetip.isIPv4MappedAddress()) {
+ return false;
+ }
+ return ip.match(subnetip, subnetrange);
+ }, "trust");
+ }
+ __name(trustSingle, "trustSingle");
+ }
+});
+
+// ../../node_modules/.pnpm/express@5.3.0/node_modules/express/lib/utils.js
+var require_utils3 = __commonJS({
+ "../../node_modules/.pnpm/express@5.3.0/node_modules/express/lib/utils.js"(exports) {
+ "use strict";
+ var { METHODS } = __require("node:http");
+ var contentType = require_dist();
+ var etag = require_etag();
+ var mime = require_mime_types();
+ var proxyaddr = require_proxy_addr();
+ var qs = require_lib4();
+ var querystring = __require("node:querystring");
+ var { Buffer: Buffer2 } = __require("node:buffer");
+ exports.methods = METHODS.map((method) => method.toLowerCase());
+ exports.etag = createETagGenerator({ weak: false });
+ exports.wetag = createETagGenerator({ weak: true });
+ exports.normalizeType = function(type) {
+ return ~type.indexOf("/") ? acceptParams(type) : { value: mime.lookup(type) || "application/octet-stream", params: {} };
+ };
+ exports.normalizeTypes = function(types) {
+ return types.map(exports.normalizeType);
+ };
+ function acceptParams(str) {
+ var length = str.length;
+ var colonIndex = str.indexOf(";");
+ var index = colonIndex === -1 ? length : colonIndex;
+ var ret = { value: str.slice(0, index).trim(), quality: 1, params: {} };
+ while (index < length) {
+ var splitIndex = str.indexOf("=", index);
+ if (splitIndex === -1) break;
+ var colonIndex = str.indexOf(";", index);
+ var endIndex = colonIndex === -1 ? length : colonIndex;
+ if (splitIndex > endIndex) {
+ index = str.lastIndexOf(";", splitIndex - 1) + 1;
+ continue;
+ }
+ var key = str.slice(index, splitIndex).trim();
+ var value = str.slice(splitIndex + 1, endIndex).trim();
+ if (key === "q") {
+ ret.quality = parseFloat(value);
+ } else {
+ ret.params[key] = value;
+ }
+ index = endIndex + 1;
+ }
+ return ret;
+ }
+ __name(acceptParams, "acceptParams");
+ exports.compileETag = function(val) {
+ var fn;
+ if (typeof val === "function") {
+ return val;
+ }
+ switch (val) {
+ case true:
+ case "weak":
+ fn = exports.wetag;
+ break;
+ case false:
+ break;
+ case "strong":
+ fn = exports.etag;
+ break;
+ default:
+ throw new TypeError("unknown value for etag function: " + val);
+ }
+ return fn;
+ };
+ exports.compileQueryParser = /* @__PURE__ */ __name(function compileQueryParser(val) {
+ var fn;
+ if (typeof val === "function") {
+ return val;
+ }
+ switch (val) {
+ case true:
+ case "simple":
+ fn = querystring.parse;
+ break;
+ case false:
+ break;
+ case "extended":
+ fn = parseExtendedQueryString;
+ break;
+ default:
+ throw new TypeError("unknown value for query parser function: " + val);
+ }
+ return fn;
+ }, "compileQueryParser");
+ exports.compileTrust = function(val) {
+ if (typeof val === "function") return val;
+ if (val === true) {
+ return function() {
+ return true;
+ };
+ }
+ if (typeof val === "number") {
+ return function(a, i) {
+ return i < val;
+ };
+ }
+ if (typeof val === "string") {
+ val = val.split(",").map(function(v) {
+ return v.trim();
+ });
+ }
+ return proxyaddr.compile(val || []);
+ };
+ exports.setCharset = /* @__PURE__ */ __name(function setCharset(type, charset) {
+ if (!type || !charset) {
+ return type;
+ }
+ var parsed = contentType.parse(type);
+ parsed.parameters.charset = charset;
+ return contentType.format(parsed);
+ }, "setCharset");
+ function createETagGenerator(options) {
+ return /* @__PURE__ */ __name(function generateETag(body, encoding) {
+ var buf = !Buffer2.isBuffer(body) ? Buffer2.from(body, encoding) : body;
+ return etag(buf, options);
+ }, "generateETag");
+ }
+ __name(createETagGenerator, "createETagGenerator");
+ function parseExtendedQueryString(str) {
+ return qs.parse(str, {
+ allowPrototypes: true
+ });
+ }
+ __name(parseExtendedQueryString, "parseExtendedQueryString");
+ }
+});
+
+// ../../node_modules/.pnpm/wrappy@1.0.2/node_modules/wrappy/wrappy.js
+var require_wrappy = __commonJS({
+ "../../node_modules/.pnpm/wrappy@1.0.2/node_modules/wrappy/wrappy.js"(exports, module) {
+ module.exports = wrappy;
+ function wrappy(fn, cb) {
+ if (fn && cb) return wrappy(fn)(cb);
+ if (typeof fn !== "function")
+ throw new TypeError("need wrapper function");
+ Object.keys(fn).forEach(function(k) {
+ wrapper[k] = fn[k];
+ });
+ return wrapper;
+ function wrapper() {
+ var args = new Array(arguments.length);
+ for (var i = 0; i < args.length; i++) {
+ args[i] = arguments[i];
+ }
+ var ret = fn.apply(this, args);
+ var cb2 = args[args.length - 1];
+ if (typeof ret === "function" && ret !== cb2) {
+ Object.keys(cb2).forEach(function(k) {
+ ret[k] = cb2[k];
+ });
+ }
+ return ret;
+ }
+ __name(wrapper, "wrapper");
+ }
+ __name(wrappy, "wrappy");
+ }
+});
+
+// ../../node_modules/.pnpm/once@1.4.0/node_modules/once/once.js
+var require_once = __commonJS({
+ "../../node_modules/.pnpm/once@1.4.0/node_modules/once/once.js"(exports, module) {
+ var wrappy = require_wrappy();
+ module.exports = wrappy(once);
+ module.exports.strict = wrappy(onceStrict);
+ once.proto = once(function() {
+ Object.defineProperty(Function.prototype, "once", {
+ value: /* @__PURE__ */ __name(function() {
+ return once(this);
+ }, "value"),
+ configurable: true
+ });
+ Object.defineProperty(Function.prototype, "onceStrict", {
+ value: /* @__PURE__ */ __name(function() {
+ return onceStrict(this);
+ }, "value"),
+ configurable: true
+ });
+ });
+ function once(fn) {
+ var f = /* @__PURE__ */ __name(function() {
+ if (f.called) return f.value;
+ f.called = true;
+ return f.value = fn.apply(this, arguments);
+ }, "f");
+ f.called = false;
+ return f;
+ }
+ __name(once, "once");
+ function onceStrict(fn) {
+ var f = /* @__PURE__ */ __name(function() {
+ if (f.called)
+ throw new Error(f.onceError);
+ f.called = true;
+ return f.value = fn.apply(this, arguments);
+ }, "f");
+ var name = fn.name || "Function wrapped with `once`";
+ f.onceError = name + " shouldn't be called more than once";
+ f.called = false;
+ return f;
+ }
+ __name(onceStrict, "onceStrict");
+ }
+});
+
+// ../../node_modules/.pnpm/is-promise@4.0.0/node_modules/is-promise/index.js
+var require_is_promise = __commonJS({
+ "../../node_modules/.pnpm/is-promise@4.0.0/node_modules/is-promise/index.js"(exports, module) {
+ module.exports = isPromise;
+ module.exports.default = isPromise;
+ function isPromise(obj) {
+ return !!obj && (typeof obj === "object" || typeof obj === "function") && typeof obj.then === "function";
+ }
+ __name(isPromise, "isPromise");
+ }
+});
+
+// ../../node_modules/.pnpm/path-to-regexp@8.4.2/node_modules/path-to-regexp/dist/index.js
+var require_dist2 = __commonJS({
+ "../../node_modules/.pnpm/path-to-regexp@8.4.2/node_modules/path-to-regexp/dist/index.js"(exports) {
+ "use strict";
+ Object.defineProperty(exports, "__esModule", { value: true });
+ exports.PathError = exports.TokenData = void 0;
+ exports.parse = parse;
+ exports.compile = compile;
+ exports.match = match;
+ exports.pathToRegexp = pathToRegexp7;
+ exports.stringify = stringify2;
+ var DEFAULT_DELIMITER = "/";
+ var NOOP_VALUE = /* @__PURE__ */ __name((value) => value, "NOOP_VALUE");
+ var ID_START = /^[$_\p{ID_Start}]$/u;
+ var ID_CONTINUE = /^[$\u200c\u200d\p{ID_Continue}]$/u;
+ var ID = /^[$_\p{ID_Start}][$\u200c\u200d\p{ID_Continue}]*$/u;
+ function escapeText(str) {
+ return str.replace(/[{}()\[\]+?!:*\\]/g, "\\$&");
+ }
+ __name(escapeText, "escapeText");
+ function escape2(str) {
+ return str.replace(/[.+*?^${}()[\]|/\\]/g, "\\$&");
+ }
+ __name(escape2, "escape");
+ var TokenData = class {
+ static {
+ __name(this, "TokenData");
+ }
+ constructor(tokens, originalPath) {
+ this.tokens = tokens;
+ this.originalPath = originalPath;
+ }
+ };
+ exports.TokenData = TokenData;
+ var PathError = class extends TypeError {
+ static {
+ __name(this, "PathError");
+ }
+ constructor(message, originalPath) {
+ let text = message;
+ if (originalPath)
+ text += `: ${originalPath}`;
+ text += `; visit https://git.new/pathToRegexpError for info`;
+ super(text);
+ this.originalPath = originalPath;
+ }
+ };
+ exports.PathError = PathError;
+ function parse(str, options = {}) {
+ const { encodePath = NOOP_VALUE } = options;
+ const chars = [...str];
+ let index = 0;
+ function consumeUntil(end) {
+ const output = [];
+ let path = "";
+ function writePath() {
+ if (!path)
+ return;
+ output.push({
+ type: "text",
+ value: encodePath(path)
+ });
+ path = "";
+ }
+ __name(writePath, "writePath");
+ while (index < chars.length) {
+ const value = chars[index++];
+ if (value === end) {
+ writePath();
+ return output;
+ }
+ if (value === "\\") {
+ if (index === chars.length) {
+ throw new PathError(`Unexpected end after \\ at index ${index}`, str);
+ }
+ path += chars[index++];
+ continue;
+ }
+ if (value === ":" || value === "*") {
+ const type = value === ":" ? "param" : "wildcard";
+ let name = "";
+ if (ID_START.test(chars[index])) {
+ do {
+ name += chars[index++];
+ } while (ID_CONTINUE.test(chars[index]));
+ } else if (chars[index] === '"') {
+ let quoteStart = index;
+ while (index < chars.length) {
+ if (chars[++index] === '"') {
+ index++;
+ quoteStart = 0;
+ break;
+ }
+ if (chars[index] === "\\")
+ index++;
+ name += chars[index];
+ }
+ if (quoteStart) {
+ throw new PathError(`Unterminated quote at index ${quoteStart}`, str);
+ }
+ }
+ if (!name) {
+ throw new PathError(`Missing parameter name at index ${index}`, str);
+ }
+ writePath();
+ output.push({ type, name });
+ continue;
+ }
+ if (value === "{") {
+ writePath();
+ output.push({
+ type: "group",
+ tokens: consumeUntil("}")
+ });
+ continue;
+ }
+ if (value === "}" || value === "(" || value === ")" || value === "[" || value === "]" || value === "+" || value === "?" || value === "!") {
+ throw new PathError(`Unexpected ${value} at index ${index - 1}`, str);
+ }
+ path += value;
+ }
+ if (end) {
+ throw new PathError(`Unexpected end at index ${index}, expected ${end}`, str);
+ }
+ writePath();
+ return output;
+ }
+ __name(consumeUntil, "consumeUntil");
+ return new TokenData(consumeUntil(""), str);
+ }
+ __name(parse, "parse");
+ function compile(path, options = {}) {
+ const { encode = encodeURIComponent, delimiter = DEFAULT_DELIMITER } = options;
+ const data = typeof path === "object" ? path : parse(path, options);
+ const fn = tokensToFunction(data.tokens, delimiter, encode);
+ return /* @__PURE__ */ __name(function path2(params = {}) {
+ const missing = [];
+ const path3 = fn(params, missing);
+ if (missing.length) {
+ throw new TypeError(`Missing parameters: ${missing.join(", ")}`);
+ }
+ return path3;
+ }, "path");
+ }
+ __name(compile, "compile");
+ function tokensToFunction(tokens, delimiter, encode) {
+ const encoders = tokens.map((token) => tokenToFunction(token, delimiter, encode));
+ return (data, missing) => {
+ let result = "";
+ for (const encoder of encoders) {
+ result += encoder(data, missing);
+ }
+ return result;
+ };
+ }
+ __name(tokensToFunction, "tokensToFunction");
+ function tokenToFunction(token, delimiter, encode) {
+ if (token.type === "text")
+ return () => token.value;
+ if (token.type === "group") {
+ const fn = tokensToFunction(token.tokens, delimiter, encode);
+ return (data, missing) => {
+ const len = missing.length;
+ const value = fn(data, missing);
+ if (missing.length === len)
+ return value;
+ missing.length = len;
+ return "";
+ };
+ }
+ const encodeValue = encode || NOOP_VALUE;
+ if (token.type === "wildcard" && encode !== false) {
+ return (data, missing) => {
+ const value = data[token.name];
+ if (value == null) {
+ missing.push(token.name);
+ return "";
+ }
+ if (!Array.isArray(value) || value.length === 0) {
+ throw new TypeError(`Expected "${token.name}" to be a non-empty array`);
+ }
+ let result = "";
+ for (let i = 0; i < value.length; i++) {
+ if (typeof value[i] !== "string") {
+ throw new TypeError(`Expected "${token.name}/${i}" to be a string`);
+ }
+ if (i > 0)
+ result += delimiter;
+ result += encodeValue(value[i]);
+ }
+ return result;
+ };
+ }
+ return (data, missing) => {
+ const value = data[token.name];
+ if (value == null) {
+ missing.push(token.name);
+ return "";
+ }
+ if (typeof value !== "string") {
+ throw new TypeError(`Expected "${token.name}" to be a string`);
+ }
+ return encodeValue(value);
+ };
+ }
+ __name(tokenToFunction, "tokenToFunction");
+ function match(path, options = {}) {
+ const { decode = decodeURIComponent, delimiter = DEFAULT_DELIMITER } = options;
+ const { regexp, keys } = pathToRegexp7(path, options);
+ const decoders = keys.map((key) => {
+ if (decode === false)
+ return NOOP_VALUE;
+ if (key.type === "param")
+ return decode;
+ return (value) => value.split(delimiter).map(decode);
+ });
+ return /* @__PURE__ */ __name(function match2(input) {
+ const m = regexp.exec(input);
+ if (!m)
+ return false;
+ const path2 = m[0];
+ const params = /* @__PURE__ */ Object.create(null);
+ for (let i = 1; i < m.length; i++) {
+ if (m[i] === void 0)
+ continue;
+ const key = keys[i - 1];
+ const decoder = decoders[i - 1];
+ params[key.name] = decoder(m[i]);
+ }
+ return { path: path2, params };
+ }, "match");
+ }
+ __name(match, "match");
+ function pathToRegexp7(path, options = {}) {
+ const { delimiter = DEFAULT_DELIMITER, end = true, sensitive = false, trailing = true } = options;
+ const keys = [];
+ let source = "";
+ let combinations = 0;
+ function process2(path2) {
+ if (Array.isArray(path2)) {
+ for (const p of path2)
+ process2(p);
+ return;
+ }
+ const data = typeof path2 === "object" ? path2 : parse(path2, options);
+ flatten2(data.tokens, 0, [], (tokens) => {
+ if (combinations >= 256) {
+ throw new PathError("Too many path combinations", data.originalPath);
+ }
+ if (combinations > 0)
+ source += "|";
+ source += toRegExpSource(tokens, delimiter, keys, data.originalPath);
+ combinations++;
+ });
+ }
+ __name(process2, "process");
+ process2(path);
+ let pattern = `^(?:${source})`;
+ if (trailing)
+ pattern += "(?:" + escape2(delimiter) + "$)?";
+ pattern += end ? "$" : "(?=" + escape2(delimiter) + "|$)";
+ return { regexp: new RegExp(pattern, sensitive ? "" : "i"), keys };
+ }
+ __name(pathToRegexp7, "pathToRegexp");
+ function flatten2(tokens, index, result, callback) {
+ while (index < tokens.length) {
+ const token = tokens[index++];
+ if (token.type === "group") {
+ const len = result.length;
+ flatten2(token.tokens, 0, result, (seq) => flatten2(tokens, index, seq, callback));
+ result.length = len;
+ continue;
+ }
+ result.push(token);
+ }
+ callback(result);
+ }
+ __name(flatten2, "flatten");
+ function toRegExpSource(tokens, delimiter, keys, originalPath) {
+ let result = "";
+ let backtrack = "";
+ let wildcardBacktrack = "";
+ let prevCaptureType = 0;
+ let hasSegmentCapture = 0;
+ let index = 0;
+ function hasInSegment(index2, type) {
+ while (index2 < tokens.length) {
+ const token = tokens[index2++];
+ if (token.type === type)
+ return true;
+ if (token.type === "text") {
+ if (token.value.includes(delimiter))
+ break;
+ }
+ }
+ return false;
+ }
+ __name(hasInSegment, "hasInSegment");
+ function peekText(index2) {
+ let result2 = "";
+ while (index2 < tokens.length) {
+ const token = tokens[index2++];
+ if (token.type !== "text")
+ break;
+ result2 += token.value;
+ }
+ return result2;
+ }
+ __name(peekText, "peekText");
+ while (index < tokens.length) {
+ const token = tokens[index++];
+ if (token.type === "text") {
+ result += escape2(token.value);
+ backtrack += token.value;
+ if (prevCaptureType === 2)
+ wildcardBacktrack += token.value;
+ if (token.value.includes(delimiter))
+ hasSegmentCapture = 0;
+ continue;
+ }
+ if (token.type === "param" || token.type === "wildcard") {
+ if (prevCaptureType && !backtrack) {
+ throw new PathError(`Missing text before "${token.name}" ${token.type}`, originalPath);
+ }
+ if (token.type === "param") {
+ result += hasSegmentCapture & 2 ? `(${negate(delimiter, backtrack)}+)` : hasInSegment(index, "wildcard") ? `(${negate(delimiter, peekText(index))}+)` : hasSegmentCapture & 1 ? `(${negate(delimiter, backtrack)}+|${escape2(backtrack)})` : `(${negate(delimiter, "")}+)`;
+ hasSegmentCapture |= prevCaptureType = 1;
+ } else {
+ result += hasSegmentCapture & 2 ? `(${negate(backtrack, "")}+)` : wildcardBacktrack ? `(${negate(wildcardBacktrack, "")}+|${negate(delimiter, "")}+)` : `([^]+)`;
+ wildcardBacktrack = "";
+ hasSegmentCapture |= prevCaptureType = 2;
+ }
+ keys.push(token);
+ backtrack = "";
+ continue;
+ }
+ throw new TypeError(`Unknown token type: ${token.type}`);
+ }
+ return result;
+ }
+ __name(toRegExpSource, "toRegExpSource");
+ function negate(a, b) {
+ if (b.length > a.length)
+ return negate(b, a);
+ if (a === b)
+ b = "";
+ if (b.length > 1)
+ return `(?:(?!${escape2(a)}|${escape2(b)})[^])`;
+ if (a.length > 1)
+ return `(?:(?!${escape2(a)})[^${escape2(b)}])`;
+ return `[^${escape2(a + b)}]`;
+ }
+ __name(negate, "negate");
+ function stringifyTokens(tokens, index) {
+ let value = "";
+ while (index < tokens.length) {
+ const token = tokens[index++];
+ if (token.type === "text") {
+ value += escapeText(token.value);
+ continue;
+ }
+ if (token.type === "group") {
+ value += "{" + stringifyTokens(token.tokens, 0) + "}";
+ continue;
+ }
+ if (token.type === "param") {
+ value += ":" + stringifyName(token.name, tokens[index]);
+ continue;
+ }
+ if (token.type === "wildcard") {
+ value += "*" + stringifyName(token.name, tokens[index]);
+ continue;
+ }
+ throw new TypeError(`Unknown token type: ${token.type}`);
+ }
+ return value;
+ }
+ __name(stringifyTokens, "stringifyTokens");
+ function stringify2(data) {
+ return stringifyTokens(data.tokens, 0);
+ }
+ __name(stringify2, "stringify");
+ function stringifyName(name, next) {
+ if (!ID.test(name))
+ return JSON.stringify(name);
+ if ((next === null || next === void 0 ? void 0 : next.type) === "text" && ID_CONTINUE.test(next.value[0])) {
+ return JSON.stringify(name);
+ }
+ return name;
+ }
+ __name(stringifyName, "stringifyName");
+ }
+});
+
+// ../../node_modules/.pnpm/router@2.2.0/node_modules/router/lib/layer.js
+var require_layer = __commonJS({
+ "../../node_modules/.pnpm/router@2.2.0/node_modules/router/lib/layer.js"(exports, module) {
+ "use strict";
+ var isPromise = require_is_promise();
+ var pathRegexp = require_dist2();
+ var debug = require_src()("router:layer");
+ var deprecate = require_depd()("router");
+ var TRAILING_SLASH_REGEXP = /\/+$/;
+ var MATCHING_GROUP_REGEXP = /\((?:\?<(.*?)>)?(?!\?)/g;
+ module.exports = Layer;
+ function Layer(path, options, fn) {
+ if (!(this instanceof Layer)) {
+ return new Layer(path, options, fn);
+ }
+ debug("new %o", path);
+ const opts = options || {};
+ this.handle = fn;
+ this.keys = [];
+ this.name = fn.name || "";
+ this.params = void 0;
+ this.path = void 0;
+ this.slash = path === "/" && opts.end === false;
+ function matcher(_path) {
+ if (_path instanceof RegExp) {
+ const keys = [];
+ let name = 0;
+ let m;
+ while (m = MATCHING_GROUP_REGEXP.exec(_path.source)) {
+ keys.push({
+ name: m[1] || name++,
+ offset: m.index
+ });
+ }
+ return /* @__PURE__ */ __name(function regexpMatcher(p) {
+ const match = _path.exec(p);
+ if (!match) {
+ return false;
+ }
+ const params = {};
+ for (let i = 1; i < match.length; i++) {
+ const key = keys[i - 1];
+ const prop = key.name;
+ const val = decodeParam(match[i]);
+ if (val !== void 0) {
+ params[prop] = val;
+ }
+ }
+ return {
+ params,
+ path: match[0]
+ };
+ }, "regexpMatcher");
+ }
+ return pathRegexp.match(opts.strict ? _path : loosen(_path), {
+ sensitive: opts.sensitive,
+ end: opts.end,
+ trailing: !opts.strict,
+ decode: decodeParam
+ });
+ }
+ __name(matcher, "matcher");
+ this.matchers = Array.isArray(path) ? path.map(matcher) : [matcher(path)];
+ }
+ __name(Layer, "Layer");
+ Layer.prototype.handleError = /* @__PURE__ */ __name(function handleError(error, req, res, next) {
+ const fn = this.handle;
+ if (fn.length !== 4) {
+ return next(error);
+ }
+ try {
+ const ret = fn(error, req, res, next);
+ if (isPromise(ret)) {
+ if (!(ret instanceof Promise)) {
+ deprecate("handlers that are Promise-like are deprecated, use a native Promise instead");
+ }
+ ret.then(null, function(error2) {
+ next(error2 || new Error("Rejected promise"));
+ });
+ }
+ } catch (err) {
+ next(err);
+ }
+ }, "handleError");
+ Layer.prototype.handleRequest = /* @__PURE__ */ __name(function handleRequest(req, res, next) {
+ const fn = this.handle;
+ if (fn.length > 3) {
+ return next();
+ }
+ try {
+ const ret = fn(req, res, next);
+ if (isPromise(ret)) {
+ if (!(ret instanceof Promise)) {
+ deprecate("handlers that are Promise-like are deprecated, use a native Promise instead");
+ }
+ ret.then(null, function(error) {
+ next(error || new Error("Rejected promise"));
+ });
+ }
+ } catch (err) {
+ next(err);
+ }
+ }, "handleRequest");
+ Layer.prototype.match = /* @__PURE__ */ __name(function match(path) {
+ let match2;
+ if (path != null) {
+ if (this.slash) {
+ this.params = {};
+ this.path = "";
+ return true;
+ }
+ let i = 0;
+ while (!match2 && i < this.matchers.length) {
+ match2 = this.matchers[i](path);
+ i++;
+ }
+ }
+ if (!match2) {
+ this.params = void 0;
+ this.path = void 0;
+ return false;
+ }
+ this.params = match2.params;
+ this.path = match2.path;
+ this.keys = Object.keys(match2.params);
+ return true;
+ }, "match");
+ function decodeParam(val) {
+ if (typeof val !== "string" || val.length === 0) {
+ return val;
+ }
+ try {
+ return decodeURIComponent(val);
+ } catch (err) {
+ if (err instanceof URIError) {
+ err.message = "Failed to decode param '" + val + "'";
+ err.status = 400;
+ }
+ throw err;
+ }
+ }
+ __name(decodeParam, "decodeParam");
+ function loosen(path) {
+ if (path instanceof RegExp || path === "/") {
+ return path;
+ }
+ return Array.isArray(path) ? path.map(function(p) {
+ return loosen(p);
+ }) : String(path).replace(TRAILING_SLASH_REGEXP, "");
+ }
+ __name(loosen, "loosen");
+ }
+});
+
+// ../../node_modules/.pnpm/router@2.2.0/node_modules/router/lib/route.js
+var require_route = __commonJS({
+ "../../node_modules/.pnpm/router@2.2.0/node_modules/router/lib/route.js"(exports, module) {
+ "use strict";
+ var debug = require_src()("router:route");
+ var Layer = require_layer();
+ var { METHODS } = __require("node:http");
+ var slice = Array.prototype.slice;
+ var flatten2 = Array.prototype.flat;
+ var methods = METHODS.map((method) => method.toLowerCase());
+ module.exports = Route;
+ function Route(path) {
+ debug("new %o", path);
+ this.path = path;
+ this.stack = [];
+ this.methods = /* @__PURE__ */ Object.create(null);
+ }
+ __name(Route, "Route");
+ Route.prototype._handlesMethod = /* @__PURE__ */ __name(function _handlesMethod(method) {
+ if (this.methods._all) {
+ return true;
+ }
+ let name = typeof method === "string" ? method.toLowerCase() : method;
+ if (name === "head" && !this.methods.head) {
+ name = "get";
+ }
+ return Boolean(this.methods[name]);
+ }, "_handlesMethod");
+ Route.prototype._methods = /* @__PURE__ */ __name(function _methods() {
+ const methods2 = Object.keys(this.methods);
+ if (this.methods.get && !this.methods.head) {
+ methods2.push("head");
+ }
+ for (let i = 0; i < methods2.length; i++) {
+ methods2[i] = methods2[i].toUpperCase();
+ }
+ return methods2;
+ }, "_methods");
+ Route.prototype.dispatch = /* @__PURE__ */ __name(function dispatch(req, res, done) {
+ let idx = 0;
+ const stack = this.stack;
+ let sync = 0;
+ if (stack.length === 0) {
+ return done();
+ }
+ let method = typeof req.method === "string" ? req.method.toLowerCase() : req.method;
+ if (method === "head" && !this.methods.head) {
+ method = "get";
+ }
+ req.route = this;
+ next();
+ function next(err) {
+ if (err && err === "route") {
+ return done();
+ }
+ if (err && err === "router") {
+ return done(err);
+ }
+ if (idx >= stack.length) {
+ return done(err);
+ }
+ if (++sync > 100) {
+ return setImmediate(next, err);
+ }
+ let layer;
+ let match;
+ while (match !== true && idx < stack.length) {
+ layer = stack[idx++];
+ match = !layer.method || layer.method === method;
+ }
+ if (match !== true) {
+ return done(err);
+ }
+ if (err) {
+ layer.handleError(err, req, res, next);
+ } else {
+ layer.handleRequest(req, res, next);
+ }
+ sync = 0;
+ }
+ __name(next, "next");
+ }, "dispatch");
+ Route.prototype.all = /* @__PURE__ */ __name(function all(handler) {
+ const callbacks = flatten2.call(slice.call(arguments), Infinity);
+ if (callbacks.length === 0) {
+ throw new TypeError("argument handler is required");
+ }
+ for (let i = 0; i < callbacks.length; i++) {
+ const fn = callbacks[i];
+ if (typeof fn !== "function") {
+ throw new TypeError("argument handler must be a function");
+ }
+ const layer = Layer("/", {}, fn);
+ layer.method = void 0;
+ this.methods._all = true;
+ this.stack.push(layer);
+ }
+ return this;
+ }, "all");
+ methods.forEach(function(method) {
+ Route.prototype[method] = function(handler) {
+ const callbacks = flatten2.call(slice.call(arguments), Infinity);
+ if (callbacks.length === 0) {
+ throw new TypeError("argument handler is required");
+ }
+ for (let i = 0; i < callbacks.length; i++) {
+ const fn = callbacks[i];
+ if (typeof fn !== "function") {
+ throw new TypeError("argument handler must be a function");
+ }
+ debug("%s %s", method, this.path);
+ const layer = Layer("/", {}, fn);
+ layer.method = method;
+ this.methods[method] = true;
+ this.stack.push(layer);
+ }
+ return this;
+ };
+ });
+ }
+});
+
+// ../../node_modules/.pnpm/router@2.2.0/node_modules/router/index.js
+var require_router = __commonJS({
+ "../../node_modules/.pnpm/router@2.2.0/node_modules/router/index.js"(exports, module) {
+ "use strict";
+ var isPromise = require_is_promise();
+ var Layer = require_layer();
+ var { METHODS } = __require("node:http");
+ var parseUrl = require_parseurl();
+ var Route = require_route();
+ var debug = require_src()("router");
+ var deprecate = require_depd()("router");
+ var slice = Array.prototype.slice;
+ var flatten2 = Array.prototype.flat;
+ var methods = METHODS.map((method) => method.toLowerCase());
+ module.exports = Router;
+ module.exports.Route = Route;
+ function Router(options) {
+ if (!(this instanceof Router)) {
+ return new Router(options);
+ }
+ const opts = options || {};
+ function router(req, res, next) {
+ router.handle(req, res, next);
+ }
+ __name(router, "router");
+ Object.setPrototypeOf(router, this);
+ router.caseSensitive = opts.caseSensitive;
+ router.mergeParams = opts.mergeParams;
+ router.params = {};
+ router.strict = opts.strict;
+ router.stack = [];
+ return router;
+ }
+ __name(Router, "Router");
+ Router.prototype = function() {
+ };
+ Router.prototype.param = /* @__PURE__ */ __name(function param(name, fn) {
+ if (!name) {
+ throw new TypeError("argument name is required");
+ }
+ if (typeof name !== "string") {
+ throw new TypeError("argument name must be a string");
+ }
+ if (!fn) {
+ throw new TypeError("argument fn is required");
+ }
+ if (typeof fn !== "function") {
+ throw new TypeError("argument fn must be a function");
+ }
+ let params = this.params[name];
+ if (!params) {
+ params = this.params[name] = [];
+ }
+ params.push(fn);
+ return this;
+ }, "param");
+ Router.prototype.handle = /* @__PURE__ */ __name(function handle(req, res, callback) {
+ if (!callback) {
+ throw new TypeError("argument callback is required");
+ }
+ debug("dispatching %s %s", req.method, req.url);
+ let idx = 0;
+ let methods2;
+ const protohost = getProtohost(req.url) || "";
+ let removed = "";
+ const self = this;
+ let slashAdded = false;
+ let sync = 0;
+ const paramcalled = {};
+ const stack = this.stack;
+ const parentParams = req.params;
+ const parentUrl = req.baseUrl || "";
+ let done = restore(callback, req, "baseUrl", "next", "params");
+ req.next = next;
+ if (req.method === "OPTIONS") {
+ methods2 = [];
+ done = wrap(done, generateOptionsResponder(res, methods2));
+ }
+ req.baseUrl = parentUrl;
+ req.originalUrl = req.originalUrl || req.url;
+ next();
+ function next(err) {
+ let layerError = err === "route" ? null : err;
+ if (slashAdded) {
+ req.url = req.url.slice(1);
+ slashAdded = false;
+ }
+ if (removed.length !== 0) {
+ req.baseUrl = parentUrl;
+ req.url = protohost + removed + req.url.slice(protohost.length);
+ removed = "";
+ }
+ if (layerError === "router") {
+ setImmediate(done, null);
+ return;
+ }
+ if (idx >= stack.length) {
+ setImmediate(done, layerError);
+ return;
+ }
+ if (++sync > 100) {
+ return setImmediate(next, err);
+ }
+ const path = getPathname(req);
+ if (path == null) {
+ return done(layerError);
+ }
+ let layer;
+ let match;
+ let route;
+ while (match !== true && idx < stack.length) {
+ layer = stack[idx++];
+ match = matchLayer(layer, path);
+ route = layer.route;
+ if (typeof match !== "boolean") {
+ layerError = layerError || match;
+ }
+ if (match !== true) {
+ continue;
+ }
+ if (!route) {
+ continue;
+ }
+ if (layerError) {
+ match = false;
+ continue;
+ }
+ const method = req.method;
+ const hasMethod = route._handlesMethod(method);
+ if (!hasMethod && method === "OPTIONS" && methods2) {
+ methods2.push.apply(methods2, route._methods());
+ }
+ if (!hasMethod && method !== "HEAD") {
+ match = false;
+ }
+ }
+ if (match !== true) {
+ return done(layerError);
+ }
+ if (route) {
+ req.route = route;
+ }
+ req.params = self.mergeParams ? mergeParams(layer.params, parentParams) : layer.params;
+ const layerPath = layer.path;
+ processParams(self.params, layer, paramcalled, req, res, function(err2) {
+ if (err2) {
+ next(layerError || err2);
+ } else if (route) {
+ layer.handleRequest(req, res, next);
+ } else {
+ trimPrefix(layer, layerError, layerPath, path);
+ }
+ sync = 0;
+ });
+ }
+ __name(next, "next");
+ function trimPrefix(layer, layerError, layerPath, path) {
+ if (layerPath.length !== 0) {
+ if (layerPath !== path.substring(0, layerPath.length)) {
+ next(layerError);
+ return;
+ }
+ const c = path[layerPath.length];
+ if (c && c !== "/") {
+ next(layerError);
+ return;
+ }
+ debug("trim prefix (%s) from url %s", layerPath, req.url);
+ removed = layerPath;
+ req.url = protohost + req.url.slice(protohost.length + removed.length);
+ if (!protohost && req.url[0] !== "/") {
+ req.url = "/" + req.url;
+ slashAdded = true;
+ }
+ req.baseUrl = parentUrl + (removed[removed.length - 1] === "/" ? removed.substring(0, removed.length - 1) : removed);
+ }
+ debug("%s %s : %s", layer.name, layerPath, req.originalUrl);
+ if (layerError) {
+ layer.handleError(layerError, req, res, next);
+ } else {
+ layer.handleRequest(req, res, next);
+ }
+ }
+ __name(trimPrefix, "trimPrefix");
+ }, "handle");
+ Router.prototype.use = /* @__PURE__ */ __name(function use(handler) {
+ let offset = 0;
+ let path = "/";
+ if (typeof handler !== "function") {
+ let arg = handler;
+ while (Array.isArray(arg) && arg.length !== 0) {
+ arg = arg[0];
+ }
+ if (typeof arg !== "function") {
+ offset = 1;
+ path = handler;
+ }
+ }
+ const callbacks = flatten2.call(slice.call(arguments, offset), Infinity);
+ if (callbacks.length === 0) {
+ throw new TypeError("argument handler is required");
+ }
+ for (let i = 0; i < callbacks.length; i++) {
+ const fn = callbacks[i];
+ if (typeof fn !== "function") {
+ throw new TypeError("argument handler must be a function");
+ }
+ debug("use %o %s", path, fn.name || "");
+ const layer = new Layer(path, {
+ sensitive: this.caseSensitive,
+ strict: false,
+ end: false
+ }, fn);
+ layer.route = void 0;
+ this.stack.push(layer);
+ }
+ return this;
+ }, "use");
+ Router.prototype.route = /* @__PURE__ */ __name(function route(path) {
+ const route2 = new Route(path);
+ const layer = new Layer(path, {
+ sensitive: this.caseSensitive,
+ strict: this.strict,
+ end: true
+ }, handle);
+ function handle(req, res, next) {
+ route2.dispatch(req, res, next);
+ }
+ __name(handle, "handle");
+ layer.route = route2;
+ this.stack.push(layer);
+ return route2;
+ }, "route");
+ methods.concat("all").forEach(function(method) {
+ Router.prototype[method] = function(path) {
+ const route = this.route(path);
+ route[method].apply(route, slice.call(arguments, 1));
+ return this;
+ };
+ });
+ function generateOptionsResponder(res, methods2) {
+ return /* @__PURE__ */ __name(function onDone(fn, err) {
+ if (err || methods2.length === 0) {
+ return fn(err);
+ }
+ trySendOptionsResponse(res, methods2, fn);
+ }, "onDone");
+ }
+ __name(generateOptionsResponder, "generateOptionsResponder");
+ function getPathname(req) {
+ try {
+ return parseUrl(req).pathname;
+ } catch (err) {
+ return void 0;
+ }
+ }
+ __name(getPathname, "getPathname");
+ function getProtohost(url) {
+ if (typeof url !== "string" || url.length === 0 || url[0] === "/") {
+ return void 0;
+ }
+ const searchIndex = url.indexOf("?");
+ const pathLength = searchIndex !== -1 ? searchIndex : url.length;
+ const fqdnIndex = url.substring(0, pathLength).indexOf("://");
+ return fqdnIndex !== -1 ? url.substring(0, url.indexOf("/", 3 + fqdnIndex)) : void 0;
+ }
+ __name(getProtohost, "getProtohost");
+ function matchLayer(layer, path) {
+ try {
+ return layer.match(path);
+ } catch (err) {
+ return err;
+ }
+ }
+ __name(matchLayer, "matchLayer");
+ function mergeParams(params, parent) {
+ if (typeof parent !== "object" || !parent) {
+ return params;
+ }
+ const obj = Object.assign({}, parent);
+ if (!(0 in params) || !(0 in parent)) {
+ return Object.assign(obj, params);
+ }
+ let i = 0;
+ let o = 0;
+ while (i in params) {
+ i++;
+ }
+ while (o in parent) {
+ o++;
+ }
+ for (i--; i >= 0; i--) {
+ params[i + o] = params[i];
+ if (i < o) {
+ delete params[i];
+ }
+ }
+ return Object.assign(obj, params);
+ }
+ __name(mergeParams, "mergeParams");
+ function processParams(params, layer, called, req, res, done) {
+ const keys = layer.keys;
+ if (!keys || keys.length === 0) {
+ return done();
+ }
+ let i = 0;
+ let paramIndex = 0;
+ let key;
+ let paramVal;
+ let paramCallbacks;
+ let paramCalled;
+ function param(err) {
+ if (err) {
+ return done(err);
+ }
+ if (i >= keys.length) {
+ return done();
+ }
+ paramIndex = 0;
+ key = keys[i++];
+ paramVal = req.params[key];
+ paramCallbacks = params[key];
+ paramCalled = called[key];
+ if (paramVal === void 0 || !paramCallbacks) {
+ return param();
+ }
+ if (paramCalled && (paramCalled.match === paramVal || paramCalled.error && paramCalled.error !== "route")) {
+ req.params[key] = paramCalled.value;
+ return param(paramCalled.error);
+ }
+ called[key] = paramCalled = {
+ error: null,
+ match: paramVal,
+ value: paramVal
+ };
+ paramCallback();
+ }
+ __name(param, "param");
+ function paramCallback(err) {
+ const fn = paramCallbacks[paramIndex++];
+ paramCalled.value = req.params[key];
+ if (err) {
+ paramCalled.error = err;
+ param(err);
+ return;
+ }
+ if (!fn) return param();
+ try {
+ const ret = fn(req, res, paramCallback, paramVal, key);
+ if (isPromise(ret)) {
+ if (!(ret instanceof Promise)) {
+ deprecate("parameters that are Promise-like are deprecated, use a native Promise instead");
+ }
+ ret.then(null, function(error) {
+ paramCallback(error || new Error("Rejected promise"));
+ });
+ }
+ } catch (e) {
+ paramCallback(e);
+ }
+ }
+ __name(paramCallback, "paramCallback");
+ param();
+ }
+ __name(processParams, "processParams");
+ function restore(fn, obj) {
+ const props = new Array(arguments.length - 2);
+ const vals = new Array(arguments.length - 2);
+ for (let i = 0; i < props.length; i++) {
+ props[i] = arguments[i + 2];
+ vals[i] = obj[props[i]];
+ }
+ return function() {
+ for (let i = 0; i < props.length; i++) {
+ obj[props[i]] = vals[i];
+ }
+ return fn.apply(this, arguments);
+ };
+ }
+ __name(restore, "restore");
+ function sendOptionsResponse(res, methods2) {
+ const options = /* @__PURE__ */ Object.create(null);
+ for (let i = 0; i < methods2.length; i++) {
+ options[methods2[i]] = true;
+ }
+ const allow = Object.keys(options).sort().join(", ");
+ res.setHeader("Allow", allow);
+ res.setHeader("Content-Length", Buffer.byteLength(allow));
+ res.setHeader("Content-Type", "text/plain");
+ res.setHeader("X-Content-Type-Options", "nosniff");
+ res.end(allow);
+ }
+ __name(sendOptionsResponse, "sendOptionsResponse");
+ function trySendOptionsResponse(res, methods2, next) {
+ try {
+ sendOptionsResponse(res, methods2);
+ } catch (err) {
+ next(err);
+ }
+ }
+ __name(trySendOptionsResponse, "trySendOptionsResponse");
+ function wrap(old, fn) {
+ return /* @__PURE__ */ __name(function proxy() {
+ const args = new Array(arguments.length + 1);
+ args[0] = old;
+ for (let i = 0, len = arguments.length; i < len; i++) {
+ args[i + 1] = arguments[i];
+ }
+ fn.apply(this, args);
+ }, "proxy");
+ }
+ __name(wrap, "wrap");
+ }
+});
+
+// ../../node_modules/.pnpm/express@5.3.0/node_modules/express/lib/application.js
+var require_application = __commonJS({
+ "../../node_modules/.pnpm/express@5.3.0/node_modules/express/lib/application.js"(exports, module) {
+ "use strict";
+ var finalhandler = require_finalhandler();
+ var debug = require_src()("express:application");
+ var View = require_view();
+ var http2 = __require("node:http");
+ var methods = require_utils3().methods;
+ var compileETag = require_utils3().compileETag;
+ var compileQueryParser = require_utils3().compileQueryParser;
+ var compileTrust = require_utils3().compileTrust;
+ var resolve = __require("node:path").resolve;
+ var once = require_once();
+ var Router = require_router();
+ var slice = Array.prototype.slice;
+ var flatten2 = Array.prototype.flat;
+ var app = exports = module.exports = {};
+ var trustProxyDefaultSymbol = "@@symbol:trust_proxy_default";
+ app.init = /* @__PURE__ */ __name(function init() {
+ var router = null;
+ this.cache = /* @__PURE__ */ Object.create(null);
+ this.engines = /* @__PURE__ */ Object.create(null);
+ this.settings = /* @__PURE__ */ Object.create(null);
+ this.defaultConfiguration();
+ Object.defineProperty(this, "router", {
+ configurable: true,
+ enumerable: true,
+ get: /* @__PURE__ */ __name(function getrouter() {
+ if (router === null) {
+ router = new Router({
+ caseSensitive: this.enabled("case sensitive routing"),
+ strict: this.enabled("strict routing")
+ });
+ }
+ return router;
+ }, "getrouter")
+ });
+ }, "init");
+ app.defaultConfiguration = /* @__PURE__ */ __name(function defaultConfiguration() {
+ var env = process.env.NODE_ENV || "development";
+ this.enable("x-powered-by");
+ this.set("etag", "weak");
+ this.set("env", env);
+ this.set("query parser", "simple");
+ this.set("subdomain offset", 2);
+ this.set("trust proxy", false);
+ Object.defineProperty(this.settings, trustProxyDefaultSymbol, {
+ configurable: true,
+ value: true
+ });
+ debug("booting in %s mode", env);
+ this.on("mount", /* @__PURE__ */ __name(function onmount(parent) {
+ if (this.settings[trustProxyDefaultSymbol] === true && typeof parent.settings["trust proxy fn"] === "function") {
+ delete this.settings["trust proxy"];
+ delete this.settings["trust proxy fn"];
+ }
+ Object.setPrototypeOf(this.request, parent.request);
+ Object.setPrototypeOf(this.response, parent.response);
+ Object.setPrototypeOf(this.engines, parent.engines);
+ Object.setPrototypeOf(this.settings, parent.settings);
+ }, "onmount"));
+ this.locals = /* @__PURE__ */ Object.create(null);
+ this.mountpath = "/";
+ this.locals.settings = this.settings;
+ this.set("view", View);
+ this.set("views", resolve("views"));
+ this.set("jsonp callback name", "callback");
+ if (env === "production") {
+ this.enable("view cache");
+ }
+ }, "defaultConfiguration");
+ app.handle = /* @__PURE__ */ __name(function handle(req, res, callback) {
+ var done = callback || finalhandler(req, res, {
+ env: this.get("env"),
+ onerror: logerror.bind(this)
+ });
+ if (this.enabled("x-powered-by")) {
+ res.setHeader("X-Powered-By", "Express");
+ }
+ req.res = res;
+ res.req = req;
+ Object.setPrototypeOf(req, this.request);
+ Object.setPrototypeOf(res, this.response);
+ if (!res.locals) {
+ res.locals = /* @__PURE__ */ Object.create(null);
+ }
+ this.router.handle(req, res, done);
+ }, "handle");
+ app.use = /* @__PURE__ */ __name(function use(fn) {
+ var offset = 0;
+ var path = "/";
+ if (typeof fn !== "function") {
+ var arg = fn;
+ while (Array.isArray(arg) && arg.length !== 0) {
+ arg = arg[0];
+ }
+ if (typeof arg !== "function") {
+ offset = 1;
+ path = fn;
+ }
+ }
+ var fns = flatten2.call(slice.call(arguments, offset), Infinity);
+ if (fns.length === 0) {
+ throw new TypeError("app.use() requires a middleware function");
+ }
+ var router = this.router;
+ fns.forEach(function(fn2) {
+ if (!fn2 || !fn2.handle || !fn2.set) {
+ return router.use(path, fn2);
+ }
+ debug(".use app under %s", path);
+ fn2.mountpath = path;
+ fn2.parent = this;
+ router.use(path, /* @__PURE__ */ __name(function mounted_app(req, res, next) {
+ var orig = req.app;
+ fn2.handle(req, res, function(err) {
+ Object.setPrototypeOf(req, orig.request);
+ Object.setPrototypeOf(res, orig.response);
+ next(err);
+ });
+ }, "mounted_app"));
+ fn2.emit("mount", this);
+ }, this);
+ return this;
+ }, "use");
+ app.route = /* @__PURE__ */ __name(function route(path) {
+ return this.router.route(path);
+ }, "route");
+ app.engine = /* @__PURE__ */ __name(function engine(ext, fn) {
+ if (typeof fn !== "function") {
+ throw new Error("callback function required");
+ }
+ var extension = ext[0] !== "." ? "." + ext : ext;
+ this.engines[extension] = fn;
+ return this;
+ }, "engine");
+ app.param = /* @__PURE__ */ __name(function param(name, fn) {
+ if (Array.isArray(name)) {
+ for (var i = 0; i < name.length; i++) {
+ this.param(name[i], fn);
+ }
+ return this;
+ }
+ this.router.param(name, fn);
+ return this;
+ }, "param");
+ app.set = /* @__PURE__ */ __name(function set(setting, val) {
+ if (arguments.length === 1) {
+ return this.settings[setting];
+ }
+ debug('set "%s" to %o', setting, val);
+ this.settings[setting] = val;
+ switch (setting) {
+ case "etag":
+ this.set("etag fn", compileETag(val));
+ break;
+ case "query parser":
+ this.set("query parser fn", compileQueryParser(val));
+ break;
+ case "trust proxy":
+ this.set("trust proxy fn", compileTrust(val));
+ Object.defineProperty(this.settings, trustProxyDefaultSymbol, {
+ configurable: true,
+ value: false
+ });
+ break;
+ }
+ return this;
+ }, "set");
+ app.path = /* @__PURE__ */ __name(function path() {
+ return this.parent ? this.parent.path() + this.mountpath : "";
+ }, "path");
+ app.enabled = /* @__PURE__ */ __name(function enabled(setting) {
+ return Boolean(this.set(setting));
+ }, "enabled");
+ app.disabled = /* @__PURE__ */ __name(function disabled(setting) {
+ return !this.set(setting);
+ }, "disabled");
+ app.enable = /* @__PURE__ */ __name(function enable(setting) {
+ return this.set(setting, true);
+ }, "enable");
+ app.disable = /* @__PURE__ */ __name(function disable(setting) {
+ return this.set(setting, false);
+ }, "disable");
+ methods.forEach(function(method) {
+ app[method] = function(path) {
+ if (method === "get" && arguments.length === 1) {
+ return this.set(path);
+ }
+ var route = this.route(path);
+ route[method].apply(route, slice.call(arguments, 1));
+ return this;
+ };
+ });
+ app.all = /* @__PURE__ */ __name(function all(path) {
+ var route = this.route(path);
+ var args = slice.call(arguments, 1);
+ for (var i = 0; i < methods.length; i++) {
+ route[methods[i]].apply(route, args);
+ }
+ return this;
+ }, "all");
+ app.render = /* @__PURE__ */ __name(function render(name, options, callback) {
+ var cache = this.cache;
+ var done = callback;
+ var engines = this.engines;
+ var opts = options || {};
+ var view;
+ if (typeof options === "function") {
+ done = options;
+ opts = {};
+ }
+ var renderOptions = { ...this.locals, ...opts._locals, ...opts };
+ if (renderOptions.cache == null) {
+ renderOptions.cache = this.enabled("view cache");
+ }
+ if (renderOptions.cache) {
+ view = cache[name];
+ }
+ if (!view) {
+ var View2 = this.get("view");
+ view = new View2(name, {
+ defaultEngine: this.get("view engine"),
+ root: this.get("views"),
+ engines
+ });
+ if (!view.path) {
+ var dirs = Array.isArray(view.root) && view.root.length > 1 ? 'directories "' + view.root.slice(0, -1).join('", "') + '" or "' + view.root[view.root.length - 1] + '"' : 'directory "' + view.root + '"';
+ var err = new Error('Failed to lookup view "' + name + '" in views ' + dirs);
+ err.view = view;
+ return done(err);
+ }
+ if (renderOptions.cache) {
+ cache[name] = view;
+ }
+ }
+ tryRender(view, renderOptions, done);
+ }, "render");
+ app.listen = /* @__PURE__ */ __name(function listen() {
+ var server = http2.createServer(this);
+ var args = slice.call(arguments);
+ if (typeof args[args.length - 1] === "function") {
+ var done = args[args.length - 1] = once(args[args.length - 1]);
+ server.once("error", done);
+ }
+ return server.listen.apply(server, args);
+ }, "listen");
+ function logerror(err) {
+ if (this.get("env") !== "test") console.error(err);
+ }
+ __name(logerror, "logerror");
+ function tryRender(view, options, callback) {
+ try {
+ view.render(options, callback);
+ } catch (err) {
+ callback(err);
+ }
+ }
+ __name(tryRender, "tryRender");
+ }
+});
+
+// ../../node_modules/.pnpm/negotiator@1.1.0/node_modules/negotiator/lib/accept.js
+var require_accept = __commonJS({
+ "../../node_modules/.pnpm/negotiator@1.1.0/node_modules/negotiator/lib/accept.js"(exports, module) {
+ "use strict";
+ var contentType = require_dist();
+ module.exports = parseAccept;
+ function parseAccept(header) {
+ var values = [];
+ var index = 0;
+ while (index < header.length) {
+ var start = skipOptionalWhitespace(header, index);
+ var parsed = contentType.parse(header, { comma: true, start });
+ parsed.type = header.slice(start, start + parsed.type.length);
+ values.push(parsed);
+ index = parsed.index + 1;
+ }
+ return values;
+ }
+ __name(parseAccept, "parseAccept");
+ function skipOptionalWhitespace(header, index) {
+ var cursor = index;
+ while (header.charCodeAt(cursor) === 32 || header.charCodeAt(cursor) === 9) {
+ cursor++;
+ }
+ return cursor;
+ }
+ __name(skipOptionalWhitespace, "skipOptionalWhitespace");
+ }
+});
+
+// ../../node_modules/.pnpm/negotiator@1.1.0/node_modules/negotiator/lib/charset.js
+var require_charset = __commonJS({
+ "../../node_modules/.pnpm/negotiator@1.1.0/node_modules/negotiator/lib/charset.js"(exports, module) {
+ "use strict";
+ var parseAccept = require_accept();
+ module.exports = preferredCharsets;
+ module.exports.preferredCharsets = preferredCharsets;
+ function parseAcceptCharset(accept) {
+ var accepts = parseAccept(accept);
+ for (var i = 0, j = 0; i < accepts.length; i++) {
+ var charset = formatCharset(accepts[i], i);
+ if (charset) accepts[j++] = charset;
+ }
+ accepts.length = j;
+ return accepts;
+ }
+ __name(parseAcceptCharset, "parseAcceptCharset");
+ function formatCharset(parsed, i) {
+ if (!parsed.type) return null;
+ return {
+ charset: parsed.type,
+ q: parsed.parameters.q ? parseFloat(parsed.parameters.q) : 1,
+ i
+ };
+ }
+ __name(formatCharset, "formatCharset");
+ function getCharsetPriority(charset, accepted, index) {
+ var priority = { o: -1, q: 0, s: 0 };
+ for (var i = 0; i < accepted.length; i++) {
+ var spec = specify(charset, accepted[i], index);
+ if (spec && (priority.s - spec.s || priority.q - spec.q || priority.o - spec.o) < 0) {
+ priority = spec;
+ }
+ }
+ return priority;
+ }
+ __name(getCharsetPriority, "getCharsetPriority");
+ function specify(charset, spec, index) {
+ var s = 0;
+ if (spec.charset.toLowerCase() === charset.toLowerCase()) {
+ s |= 1;
+ } else if (spec.charset !== "*") {
+ return null;
+ }
+ return {
+ i: index,
+ o: spec.i,
+ q: spec.q,
+ s
+ };
+ }
+ __name(specify, "specify");
+ function preferredCharsets(accept, provided) {
+ var accepts = parseAcceptCharset(accept === void 0 ? "*" : accept || "");
+ if (!provided) {
+ return accepts.filter(isQuality).sort(compareSpecs).map(getFullCharset);
+ }
+ var priorities = provided.map(/* @__PURE__ */ __name(function getPriority(type, index) {
+ return getCharsetPriority(type, accepts, index);
+ }, "getPriority"));
+ return priorities.filter(isQuality).sort(compareSpecs).map(/* @__PURE__ */ __name(function getCharset(priority) {
+ return provided[priorities.indexOf(priority)];
+ }, "getCharset"));
+ }
+ __name(preferredCharsets, "preferredCharsets");
+ function compareSpecs(a, b) {
+ return b.q - a.q || b.s - a.s || a.o - b.o || a.i - b.i || 0;
+ }
+ __name(compareSpecs, "compareSpecs");
+ function getFullCharset(spec) {
+ return spec.charset;
+ }
+ __name(getFullCharset, "getFullCharset");
+ function isQuality(spec) {
+ return spec.q > 0;
+ }
+ __name(isQuality, "isQuality");
+ }
+});
+
+// ../../node_modules/.pnpm/negotiator@1.1.0/node_modules/negotiator/lib/encoding.js
+var require_encoding = __commonJS({
+ "../../node_modules/.pnpm/negotiator@1.1.0/node_modules/negotiator/lib/encoding.js"(exports, module) {
+ "use strict";
+ var parseAccept = require_accept();
+ module.exports = preferredEncodings;
+ module.exports.preferredEncodings = preferredEncodings;
+ function parseAcceptEncoding(accept) {
+ var accepts = parseAccept(accept);
+ var hasIdentity = false;
+ var minQuality = 1;
+ for (var i = 0, j = 0; i < accepts.length; i++) {
+ var encoding = formatEncoding(accepts[i], i);
+ if (encoding) {
+ accepts[j++] = encoding;
+ hasIdentity = hasIdentity || specify("identity", encoding);
+ minQuality = Math.min(minQuality, encoding.q || 1);
+ }
+ }
+ if (!hasIdentity) {
+ accepts[j++] = {
+ encoding: "identity",
+ q: minQuality,
+ i
+ };
+ }
+ accepts.length = j;
+ return accepts;
+ }
+ __name(parseAcceptEncoding, "parseAcceptEncoding");
+ function formatEncoding(parsed, i) {
+ if (!parsed.type) return null;
+ return {
+ encoding: parsed.type,
+ q: parsed.parameters.q ? parseFloat(parsed.parameters.q) : 1,
+ i
+ };
+ }
+ __name(formatEncoding, "formatEncoding");
+ function getEncodingPriority(encoding, accepted, index) {
+ var priority = { encoding, o: -1, q: 0, s: 0 };
+ for (var i = 0; i < accepted.length; i++) {
+ var spec = specify(encoding, accepted[i], index);
+ if (spec && (priority.s - spec.s || priority.q - spec.q || priority.o - spec.o) < 0) {
+ priority = spec;
+ }
+ }
+ return priority;
+ }
+ __name(getEncodingPriority, "getEncodingPriority");
+ function specify(encoding, spec, index) {
+ var s = 0;
+ if (spec.encoding.toLowerCase() === encoding.toLowerCase()) {
+ s |= 1;
+ } else if (spec.encoding !== "*") {
+ return null;
+ }
+ return {
+ encoding,
+ i: index,
+ o: spec.i,
+ q: spec.q,
+ s
+ };
+ }
+ __name(specify, "specify");
+ function preferredEncodings(accept, provided, preferred) {
+ var accepts = parseAcceptEncoding(accept || "");
+ var comparator = preferred ? /* @__PURE__ */ __name(function comparator2(a, b) {
+ if (a.q !== b.q) {
+ return b.q - a.q;
+ }
+ var aPreferred = preferred.indexOf(a.encoding);
+ var bPreferred = preferred.indexOf(b.encoding);
+ if (aPreferred === -1 && bPreferred === -1) {
+ return b.s - a.s || a.o - b.o || a.i - b.i;
+ }
+ if (aPreferred !== -1 && bPreferred !== -1) {
+ return aPreferred - bPreferred;
+ }
+ return aPreferred === -1 ? 1 : -1;
+ }, "comparator") : compareSpecs;
+ if (!provided) {
+ return accepts.filter(isQuality).sort(comparator).map(getFullEncoding);
+ }
+ var priorities = provided.map(/* @__PURE__ */ __name(function getPriority(type, index) {
+ return getEncodingPriority(type, accepts, index);
+ }, "getPriority"));
+ return priorities.filter(isQuality).sort(comparator).map(/* @__PURE__ */ __name(function getEncoding(priority) {
+ return provided[priorities.indexOf(priority)];
+ }, "getEncoding"));
+ }
+ __name(preferredEncodings, "preferredEncodings");
+ function compareSpecs(a, b) {
+ return b.q - a.q || b.s - a.s || a.o - b.o || a.i - b.i;
+ }
+ __name(compareSpecs, "compareSpecs");
+ function getFullEncoding(spec) {
+ return spec.encoding;
+ }
+ __name(getFullEncoding, "getFullEncoding");
+ function isQuality(spec) {
+ return spec.q > 0;
+ }
+ __name(isQuality, "isQuality");
+ }
+});
+
+// ../../node_modules/.pnpm/negotiator@1.1.0/node_modules/negotiator/lib/language.js
+var require_language = __commonJS({
+ "../../node_modules/.pnpm/negotiator@1.1.0/node_modules/negotiator/lib/language.js"(exports, module) {
+ "use strict";
+ var contentType = require_dist();
+ var parseAccept = require_accept();
+ module.exports = preferredLanguages;
+ module.exports.preferredLanguages = preferredLanguages;
+ function parseAcceptLanguage(accept) {
+ var accepts = parseAccept(accept);
+ for (var i = 0, j = 0; i < accepts.length; i++) {
+ var language = formatLanguage(accepts[i], i);
+ if (language) accepts[j++] = language;
+ }
+ accepts.length = j;
+ return accepts;
+ }
+ __name(parseAcceptLanguage, "parseAcceptLanguage");
+ function formatLanguage(parsed, i) {
+ if (!parsed.type) return null;
+ var hyphen = parsed.type.indexOf("-");
+ var prefix = hyphen === -1 ? parsed.type : parsed.type.slice(0, hyphen);
+ var suffix = hyphen === -1 ? void 0 : parsed.type.slice(hyphen + 1);
+ return {
+ prefix,
+ suffix,
+ q: parsed.parameters.q ? parseFloat(parsed.parameters.q) : 1,
+ i,
+ full: parsed.type
+ };
+ }
+ __name(formatLanguage, "formatLanguage");
+ function getLanguagePriority(language, accepted, index) {
+ var priority = { o: -1, q: 0, s: 0 };
+ for (var i = 0; i < accepted.length; i++) {
+ var spec = specify(language, accepted[i], index);
+ if (spec && (priority.s - spec.s || priority.q - spec.q || priority.o - spec.o) < 0) {
+ priority = spec;
+ }
+ }
+ return priority;
+ }
+ __name(getLanguagePriority, "getLanguagePriority");
+ function specify(language, spec, index) {
+ var p = formatLanguage(contentType.parse(language), 0);
+ if (!p) return null;
+ var s = 0;
+ if (spec.full.toLowerCase() === p.full.toLowerCase()) {
+ s |= 4;
+ } else if (spec.prefix.toLowerCase() === p.full.toLowerCase()) {
+ s |= 2;
+ } else if (spec.full.toLowerCase() === p.prefix.toLowerCase()) {
+ s |= 1;
+ } else if (spec.full !== "*") {
+ return null;
+ }
+ return {
+ i: index,
+ o: spec.i,
+ q: spec.q,
+ s
+ };
+ }
+ __name(specify, "specify");
+ function preferredLanguages(accept, provided) {
+ var accepts = parseAcceptLanguage(accept === void 0 ? "*" : accept || "");
+ if (!provided) {
+ return accepts.filter(isQuality).sort(compareSpecs).map(getFullLanguage);
+ }
+ var priorities = provided.map(/* @__PURE__ */ __name(function getPriority(type, index) {
+ return getLanguagePriority(type, accepts, index);
+ }, "getPriority"));
+ return priorities.filter(isQuality).sort(compareSpecs).map(/* @__PURE__ */ __name(function getLanguage(priority) {
+ return provided[priorities.indexOf(priority)];
+ }, "getLanguage"));
+ }
+ __name(preferredLanguages, "preferredLanguages");
+ function compareSpecs(a, b) {
+ return b.q - a.q || b.s - a.s || a.o - b.o || a.i - b.i || 0;
+ }
+ __name(compareSpecs, "compareSpecs");
+ function getFullLanguage(spec) {
+ return spec.full;
+ }
+ __name(getFullLanguage, "getFullLanguage");
+ function isQuality(spec) {
+ return spec.q > 0;
+ }
+ __name(isQuality, "isQuality");
+ }
+});
+
+// ../../node_modules/.pnpm/negotiator@1.1.0/node_modules/negotiator/lib/mediaType.js
+var require_mediaType = __commonJS({
+ "../../node_modules/.pnpm/negotiator@1.1.0/node_modules/negotiator/lib/mediaType.js"(exports, module) {
+ "use strict";
+ var contentType = require_dist();
+ var parseAcceptHeader = require_accept();
+ module.exports = preferredMediaTypes;
+ module.exports.preferredMediaTypes = preferredMediaTypes;
+ function parseAccept(accept) {
+ var accepts = parseAcceptHeader(accept);
+ for (var i = 0, j = 0; i < accepts.length; i++) {
+ var mediaType = formatMediaType(accepts[i], i);
+ if (mediaType) accepts[j++] = mediaType;
+ }
+ accepts.length = j;
+ return accepts;
+ }
+ __name(parseAccept, "parseAccept");
+ function formatMediaType(parsed, i) {
+ var slash = parsed.type.indexOf("/");
+ if (slash === -1) return null;
+ var q = parsed.parameters.q ? parseFloat(parsed.parameters.q) : 1;
+ delete parsed.parameters.q;
+ return {
+ type: parsed.type.slice(0, slash),
+ subtype: parsed.type.slice(slash + 1),
+ params: parsed.parameters,
+ q,
+ i
+ };
+ }
+ __name(formatMediaType, "formatMediaType");
+ function getMediaTypePriority(type, accepted, index) {
+ var priority = { o: -1, q: 0, s: 0 };
+ for (var i = 0; i < accepted.length; i++) {
+ var spec = specify(type, accepted[i], index);
+ if (spec && (priority.s - spec.s || priority.q - spec.q || priority.o - spec.o) < 0) {
+ priority = spec;
+ }
+ }
+ return priority;
+ }
+ __name(getMediaTypePriority, "getMediaTypePriority");
+ function specify(type, spec, index) {
+ var p = formatMediaType(contentType.parse(type), 0);
+ var s = 0;
+ if (!p) {
+ return null;
+ }
+ if (spec.type.toLowerCase() == p.type.toLowerCase()) {
+ s |= 4;
+ } else if (spec.type != "*") {
+ return null;
+ }
+ if (spec.subtype.toLowerCase() == p.subtype.toLowerCase()) {
+ s |= 2;
+ } else if (spec.subtype != "*") {
+ return null;
+ }
+ var keys = Object.keys(spec.params);
+ if (keys.length > 0) {
+ if (keys.every(function(k) {
+ return spec.params[k] == "*" || (spec.params[k] || "").toLowerCase() == (p.params[k] || "").toLowerCase();
+ })) {
+ s |= 1;
+ } else {
+ return null;
+ }
+ }
+ return {
+ i: index,
+ o: spec.i,
+ q: spec.q,
+ s
+ };
+ }
+ __name(specify, "specify");
+ function preferredMediaTypes(accept, provided) {
+ var accepts = parseAccept(accept === void 0 ? "*/*" : accept || "");
+ if (!provided) {
+ return accepts.filter(isQuality).sort(compareSpecs).map(getFullType);
+ }
+ var priorities = provided.map(/* @__PURE__ */ __name(function getPriority(type, index) {
+ return getMediaTypePriority(type, accepts, index);
+ }, "getPriority"));
+ return priorities.filter(isQuality).sort(compareSpecs).map(/* @__PURE__ */ __name(function getType(priority) {
+ return provided[priorities.indexOf(priority)];
+ }, "getType"));
+ }
+ __name(preferredMediaTypes, "preferredMediaTypes");
+ function compareSpecs(a, b) {
+ return b.q - a.q || b.s - a.s || a.o - b.o || a.i - b.i || 0;
+ }
+ __name(compareSpecs, "compareSpecs");
+ function getFullType(spec) {
+ return spec.type + "/" + spec.subtype;
+ }
+ __name(getFullType, "getFullType");
+ function isQuality(spec) {
+ return spec.q > 0;
+ }
+ __name(isQuality, "isQuality");
+ }
+});
+
+// ../../node_modules/.pnpm/negotiator@1.1.0/node_modules/negotiator/index.js
+var require_negotiator = __commonJS({
+ "../../node_modules/.pnpm/negotiator@1.1.0/node_modules/negotiator/index.js"(exports, module) {
+ "use strict";
+ var preferredCharsets = require_charset();
+ var preferredEncodings = require_encoding();
+ var preferredLanguages = require_language();
+ var preferredMediaTypes = require_mediaType();
+ module.exports = Negotiator;
+ module.exports.Negotiator = Negotiator;
+ function Negotiator(request) {
+ if (!(this instanceof Negotiator)) {
+ return new Negotiator(request);
+ }
+ this.request = request;
+ }
+ __name(Negotiator, "Negotiator");
+ Negotiator.prototype.charset = /* @__PURE__ */ __name(function charset(available) {
+ var set = this.charsets(available);
+ return set && set[0];
+ }, "charset");
+ Negotiator.prototype.charsets = /* @__PURE__ */ __name(function charsets(available) {
+ return preferredCharsets(this.request.headers["accept-charset"], available);
+ }, "charsets");
+ Negotiator.prototype.encoding = /* @__PURE__ */ __name(function encoding(available, opts) {
+ var set = this.encodings(available, opts);
+ return set && set[0];
+ }, "encoding");
+ Negotiator.prototype.encodings = /* @__PURE__ */ __name(function encodings(available, options) {
+ var opts = options || {};
+ return preferredEncodings(this.request.headers["accept-encoding"], available, opts.preferred);
+ }, "encodings");
+ Negotiator.prototype.language = /* @__PURE__ */ __name(function language(available) {
+ var set = this.languages(available);
+ return set && set[0];
+ }, "language");
+ Negotiator.prototype.languages = /* @__PURE__ */ __name(function languages(available) {
+ return preferredLanguages(this.request.headers["accept-language"], available);
+ }, "languages");
+ Negotiator.prototype.mediaType = /* @__PURE__ */ __name(function mediaType(available) {
+ var set = this.mediaTypes(available);
+ return set && set[0];
+ }, "mediaType");
+ Negotiator.prototype.mediaTypes = /* @__PURE__ */ __name(function mediaTypes(available) {
+ return preferredMediaTypes(this.request.headers.accept, available);
+ }, "mediaTypes");
+ Negotiator.prototype.preferredCharset = Negotiator.prototype.charset;
+ Negotiator.prototype.preferredCharsets = Negotiator.prototype.charsets;
+ Negotiator.prototype.preferredEncoding = Negotiator.prototype.encoding;
+ Negotiator.prototype.preferredEncodings = Negotiator.prototype.encodings;
+ Negotiator.prototype.preferredLanguage = Negotiator.prototype.language;
+ Negotiator.prototype.preferredLanguages = Negotiator.prototype.languages;
+ Negotiator.prototype.preferredMediaType = Negotiator.prototype.mediaType;
+ Negotiator.prototype.preferredMediaTypes = Negotiator.prototype.mediaTypes;
+ }
+});
+
+// ../../node_modules/.pnpm/accepts@2.0.0/node_modules/accepts/index.js
+var require_accepts = __commonJS({
+ "../../node_modules/.pnpm/accepts@2.0.0/node_modules/accepts/index.js"(exports, module) {
+ "use strict";
+ var Negotiator = require_negotiator();
+ var mime = require_mime_types();
+ module.exports = Accepts;
+ function Accepts(req) {
+ if (!(this instanceof Accepts)) {
+ return new Accepts(req);
+ }
+ this.headers = req.headers;
+ this.negotiator = new Negotiator(req);
+ }
+ __name(Accepts, "Accepts");
+ Accepts.prototype.type = Accepts.prototype.types = function(types_) {
+ var types = types_;
+ if (types && !Array.isArray(types)) {
+ types = new Array(arguments.length);
+ for (var i = 0; i < types.length; i++) {
+ types[i] = arguments[i];
+ }
+ }
+ if (!types || types.length === 0) {
+ return this.negotiator.mediaTypes();
+ }
+ if (!this.headers.accept) {
+ return types[0];
+ }
+ var mimes = types.map(extToMime);
+ var accepts = this.negotiator.mediaTypes(mimes.filter(validMime));
+ var first = accepts[0];
+ return first ? types[mimes.indexOf(first)] : false;
+ };
+ Accepts.prototype.encoding = Accepts.prototype.encodings = function(encodings_) {
+ var encodings = encodings_;
+ if (encodings && !Array.isArray(encodings)) {
+ encodings = new Array(arguments.length);
+ for (var i = 0; i < encodings.length; i++) {
+ encodings[i] = arguments[i];
+ }
+ }
+ if (!encodings || encodings.length === 0) {
+ return this.negotiator.encodings();
+ }
+ return this.negotiator.encodings(encodings)[0] || false;
+ };
+ Accepts.prototype.charset = Accepts.prototype.charsets = function(charsets_) {
+ var charsets = charsets_;
+ if (charsets && !Array.isArray(charsets)) {
+ charsets = new Array(arguments.length);
+ for (var i = 0; i < charsets.length; i++) {
+ charsets[i] = arguments[i];
+ }
+ }
+ if (!charsets || charsets.length === 0) {
+ return this.negotiator.charsets();
+ }
+ return this.negotiator.charsets(charsets)[0] || false;
+ };
+ Accepts.prototype.lang = Accepts.prototype.langs = Accepts.prototype.language = Accepts.prototype.languages = function(languages_) {
+ var languages = languages_;
+ if (languages && !Array.isArray(languages)) {
+ languages = new Array(arguments.length);
+ for (var i = 0; i < languages.length; i++) {
+ languages[i] = arguments[i];
+ }
+ }
+ if (!languages || languages.length === 0) {
+ return this.negotiator.languages();
+ }
+ return this.negotiator.languages(languages)[0] || false;
+ };
+ function extToMime(type) {
+ return type.indexOf("/") === -1 ? mime.lookup(type) : type;
+ }
+ __name(extToMime, "extToMime");
+ function validMime(type) {
+ return typeof type === "string";
+ }
+ __name(validMime, "validMime");
+ }
+});
+
+// ../../node_modules/.pnpm/fresh@2.0.0/node_modules/fresh/index.js
+var require_fresh = __commonJS({
+ "../../node_modules/.pnpm/fresh@2.0.0/node_modules/fresh/index.js"(exports, module) {
+ "use strict";
+ var CACHE_CONTROL_NO_CACHE_REGEXP = /(?:^|,)\s*?no-cache\s*?(?:,|$)/;
+ module.exports = fresh;
+ function fresh(reqHeaders, resHeaders) {
+ var modifiedSince = reqHeaders["if-modified-since"];
+ var noneMatch = reqHeaders["if-none-match"];
+ if (!modifiedSince && !noneMatch) {
+ return false;
+ }
+ var cacheControl = reqHeaders["cache-control"];
+ if (cacheControl && CACHE_CONTROL_NO_CACHE_REGEXP.test(cacheControl)) {
+ return false;
+ }
+ if (noneMatch) {
+ if (noneMatch === "*") {
+ return true;
+ }
+ var etag = resHeaders.etag;
+ if (!etag) {
+ return false;
+ }
+ var matches = parseTokenList(noneMatch);
+ for (var i = 0; i < matches.length; i++) {
+ var match = matches[i];
+ if (match === etag || match === "W/" + etag || "W/" + match === etag) {
+ return true;
+ }
+ }
+ return false;
+ }
+ if (modifiedSince) {
+ var lastModified = resHeaders["last-modified"];
+ var modifiedStale = !lastModified || !(parseHttpDate(lastModified) <= parseHttpDate(modifiedSince));
+ if (modifiedStale) {
+ return false;
+ }
+ }
+ return true;
+ }
+ __name(fresh, "fresh");
+ function parseHttpDate(date) {
+ var timestamp = date && Date.parse(date);
+ return typeof timestamp === "number" ? timestamp : NaN;
+ }
+ __name(parseHttpDate, "parseHttpDate");
+ function parseTokenList(str) {
+ var end = 0;
+ var list = [];
+ var start = 0;
+ for (var i = 0, len = str.length; i < len; i++) {
+ switch (str.charCodeAt(i)) {
+ case 32:
+ if (start === end) {
+ start = end = i + 1;
+ }
+ break;
+ case 44:
+ list.push(str.substring(start, end));
+ start = end = i + 1;
+ break;
+ default:
+ end = i + 1;
+ break;
+ }
+ }
+ list.push(str.substring(start, end));
+ return list;
+ }
+ __name(parseTokenList, "parseTokenList");
+ }
+});
+
+// ../../node_modules/.pnpm/range-parser@1.3.0/node_modules/range-parser/index.js
+var require_range_parser = __commonJS({
+ "../../node_modules/.pnpm/range-parser@1.3.0/node_modules/range-parser/index.js"(exports, module) {
+ "use strict";
+ module.exports = rangeParser;
+ function rangeParser(size, str, options) {
+ if (typeof str !== "string") {
+ throw new TypeError("argument str must be a string");
+ }
+ var index = str.indexOf("=");
+ if (index === -1) {
+ return -2;
+ }
+ var arr = str.slice(index + 1).split(",");
+ var ranges = [];
+ ranges.type = str.slice(0, index);
+ for (var i = 0; i < arr.length; i++) {
+ var indexOf = arr[i].indexOf("-");
+ if (indexOf === -1) {
+ return -2;
+ }
+ var startStr = arr[i].slice(0, indexOf).trim();
+ var endStr = arr[i].slice(indexOf + 1).trim();
+ var start = parsePos(startStr);
+ var end = parsePos(endStr);
+ if (startStr.length === 0) {
+ start = size - end;
+ end = size - 1;
+ } else if (endStr.length === 0) {
+ end = size - 1;
+ }
+ if (end > size - 1) {
+ end = size - 1;
+ }
+ if (isNaN(start) || isNaN(end)) {
+ return -2;
+ }
+ if (start > end || start < 0) {
+ continue;
+ }
+ ranges.push({
+ start,
+ end
+ });
+ }
+ if (ranges.length < 1) {
+ return -1;
+ }
+ return options && options.combine ? combineRanges(ranges) : ranges;
+ }
+ __name(rangeParser, "rangeParser");
+ function parsePos(str) {
+ if (/^\d+$/.test(str)) return Number(str);
+ return NaN;
+ }
+ __name(parsePos, "parsePos");
+ function combineRanges(ranges) {
+ var ordered = ranges.map(mapWithIndex).sort(sortByRangeStart);
+ for (var j = 0, i = 1; i < ordered.length; i++) {
+ var range = ordered[i];
+ var current = ordered[j];
+ if (range.start > current.end + 1) {
+ ordered[++j] = range;
+ } else if (range.end > current.end) {
+ current.end = range.end;
+ current.index = Math.min(current.index, range.index);
+ }
+ }
+ ordered.length = j + 1;
+ var combined = ordered.sort(sortByRangeIndex).map(mapWithoutIndex);
+ combined.type = ranges.type;
+ return combined;
+ }
+ __name(combineRanges, "combineRanges");
+ function mapWithIndex(range, index) {
+ return {
+ start: range.start,
+ end: range.end,
+ index
+ };
+ }
+ __name(mapWithIndex, "mapWithIndex");
+ function mapWithoutIndex(range) {
+ return {
+ start: range.start,
+ end: range.end
+ };
+ }
+ __name(mapWithoutIndex, "mapWithoutIndex");
+ function sortByRangeIndex(a, b) {
+ return a.index - b.index;
+ }
+ __name(sortByRangeIndex, "sortByRangeIndex");
+ function sortByRangeStart(a, b) {
+ return a.start - b.start;
+ }
+ __name(sortByRangeStart, "sortByRangeStart");
+ }
+});
+
+// ../../node_modules/.pnpm/express@5.3.0/node_modules/express/lib/request.js
+var require_request = __commonJS({
+ "../../node_modules/.pnpm/express@5.3.0/node_modules/express/lib/request.js"(exports, module) {
+ "use strict";
+ var accepts = require_accepts();
+ var isIP = __require("node:net").isIP;
+ var typeis = require_type_is();
+ var http2 = __require("node:http");
+ var fresh = require_fresh();
+ var parseRange = require_range_parser();
+ var parse = require_parseurl();
+ var proxyaddr = require_proxy_addr();
+ var req = Object.create(http2.IncomingMessage.prototype);
+ module.exports = req;
+ req.get = req.header = /* @__PURE__ */ __name(function header(name) {
+ if (!name) {
+ throw new TypeError("name argument is required to req.get");
+ }
+ if (typeof name !== "string") {
+ throw new TypeError("name must be a string to req.get");
+ }
+ var lc = name.toLowerCase();
+ switch (lc) {
+ case "referer":
+ case "referrer":
+ return this.headers.referrer || this.headers.referer;
+ default:
+ return this.headers[lc];
+ }
+ }, "header");
+ req.accepts = function() {
+ var accept = accepts(this);
+ return accept.types.apply(accept, arguments);
+ };
+ req.acceptsEncodings = function() {
+ var accept = accepts(this);
+ return accept.encodings.apply(accept, arguments);
+ };
+ req.acceptsCharsets = function(...charsets) {
+ const accept = accepts(this);
+ return accept.charsets(...charsets);
+ };
+ req.acceptsLanguages = function(...languages) {
+ return accepts(this).languages(...languages);
+ };
+ req.range = /* @__PURE__ */ __name(function range(size, options) {
+ var range2 = this.get("Range");
+ if (!range2) return;
+ return parseRange(size, range2, options);
+ }, "range");
+ defineGetter(req, "query", /* @__PURE__ */ __name(function query() {
+ var queryparse = this.app.get("query parser fn");
+ if (!queryparse) {
+ return /* @__PURE__ */ Object.create(null);
+ }
+ var querystring = parse(this).query;
+ return queryparse(querystring);
+ }, "query"));
+ req.is = /* @__PURE__ */ __name(function is(types) {
+ var arr = types;
+ if (!Array.isArray(types)) {
+ arr = new Array(arguments.length);
+ for (var i = 0; i < arr.length; i++) {
+ arr[i] = arguments[i];
+ }
+ }
+ return typeis(this, arr);
+ }, "is");
+ defineGetter(req, "protocol", /* @__PURE__ */ __name(function protocol() {
+ var proto = this.socket.encrypted ? "https" : "http";
+ var trust = this.app.get("trust proxy fn");
+ if (!trust(this.socket.remoteAddress, 0)) {
+ return proto;
+ }
+ var header = this.get("X-Forwarded-Proto") || proto;
+ var index = header.indexOf(",");
+ return index !== -1 ? header.substring(0, index).trim() : header.trim();
+ }, "protocol"));
+ defineGetter(req, "secure", /* @__PURE__ */ __name(function secure() {
+ return this.protocol === "https";
+ }, "secure"));
+ defineGetter(req, "ip", /* @__PURE__ */ __name(function ip() {
+ var trust = this.app.get("trust proxy fn");
+ return proxyaddr(this, trust);
+ }, "ip"));
+ defineGetter(req, "ips", /* @__PURE__ */ __name(function ips() {
+ var trust = this.app.get("trust proxy fn");
+ var addrs = proxyaddr.all(this, trust);
+ addrs.reverse().pop();
+ return addrs;
+ }, "ips"));
+ defineGetter(req, "subdomains", /* @__PURE__ */ __name(function subdomains() {
+ var hostname = this.hostname;
+ if (!hostname) return [];
+ var offset = this.app.get("subdomain offset");
+ var subdomains2 = !isIP(hostname) ? hostname.split(".").reverse() : [hostname];
+ return subdomains2.slice(offset);
+ }, "subdomains"));
+ defineGetter(req, "path", /* @__PURE__ */ __name(function path() {
+ return parse(this).pathname;
+ }, "path"));
+ defineGetter(req, "host", /* @__PURE__ */ __name(function host() {
+ var trust = this.app.get("trust proxy fn");
+ var val = this.get("X-Forwarded-Host");
+ if (!val || !trust(this.socket.remoteAddress, 0)) {
+ val = this.get("Host");
+ } else if (val.indexOf(",") !== -1) {
+ val = val.substring(0, val.indexOf(",")).trimEnd();
+ }
+ return val || void 0;
+ }, "host"));
+ defineGetter(req, "hostname", /* @__PURE__ */ __name(function hostname() {
+ var host = this.host;
+ if (!host) return;
+ var offset = host[0] === "[" ? host.indexOf("]") + 1 : 0;
+ var index = host.indexOf(":", offset);
+ return index !== -1 ? host.substring(0, index) : host;
+ }, "hostname"));
+ defineGetter(req, "fresh", function() {
+ var method = this.method;
+ var res = this.res;
+ var status = res.statusCode;
+ if ("GET" !== method && "HEAD" !== method && "QUERY" !== method) return false;
+ if (status >= 200 && status < 300 || 304 === status) {
+ return fresh(this.headers, {
+ "etag": res.get("ETag"),
+ "last-modified": res.get("Last-Modified")
+ });
+ }
+ return false;
+ });
+ defineGetter(req, "stale", /* @__PURE__ */ __name(function stale() {
+ return !this.fresh;
+ }, "stale"));
+ defineGetter(req, "xhr", /* @__PURE__ */ __name(function xhr() {
+ var val = this.get("X-Requested-With") || "";
+ return val.toLowerCase() === "xmlhttprequest";
+ }, "xhr"));
+ function defineGetter(obj, name, getter) {
+ Object.defineProperty(obj, name, {
+ configurable: true,
+ enumerable: true,
+ get: getter
+ });
+ }
+ __name(defineGetter, "defineGetter");
+ }
+});
+
+// ../../node_modules/.pnpm/content-disposition@2.0.1/node_modules/content-disposition/dist/index.js
+var require_dist3 = __commonJS({
+ "../../node_modules/.pnpm/content-disposition@2.0.1/node_modules/content-disposition/dist/index.js"(exports) {
+ "use strict";
+ Object.defineProperty(exports, "__esModule", { value: true });
+ exports.create = create;
+ exports.parse = parse;
+ exports.decodeExtended = decodeExtended;
+ exports.format = format;
+ exports.encodeExtended = encodeExtended;
+ var NullObject = /* @__PURE__ */ (() => {
+ const C = /* @__PURE__ */ __name(function() {
+ }, "C");
+ C.prototype = /* @__PURE__ */ Object.create(null);
+ return C;
+ })();
+ function create(filename, options) {
+ const type = options?.type || "attachment";
+ const parameters = createParameters(filename, options?.fallback);
+ return format({ type, parameters }, { extended: false });
+ }
+ __name(create, "create");
+ var SP = 32;
+ var HTAB = 9;
+ var SEMI = 59;
+ var EQ = 61;
+ var DQUOTE = 34;
+ var BSLASH = 92;
+ var ASTERISK = 42;
+ function parse(header, options) {
+ const len = header.length;
+ const multipart = options?.multipart === true;
+ const extended = options?.extended !== false;
+ let index = skipOWS(header, 0, header.length);
+ const typeStart = index;
+ index = parseToken(header, index, len);
+ const typeEnd = trailingOWS(header, typeStart, index);
+ const type = header.slice(typeStart, typeEnd).toLowerCase();
+ const parameters = new NullObject();
+ parameter: while (index < len) {
+ index = skipOWS(header, index + 1, len);
+ const keyStart = index;
+ while (index < len) {
+ const char = header.charCodeAt(index);
+ if (char === SEMI)
+ continue parameter;
+ if (char === EQ) {
+ const keyEnd = trailingOWS(header, keyStart, index);
+ const key = header.slice(keyStart, keyEnd).toLowerCase();
+ index = skipOWS(header, index + 1, len);
+ if (index < len && header.charCodeAt(index) === DQUOTE) {
+ index++;
+ let value2 = "";
+ if (multipart) {
+ while (index < len) {
+ const code = header.charCodeAt(index++);
+ if (code === DQUOTE) {
+ index = parseToken(header, index, len);
+ if (parameters[key] === void 0)
+ parameters[key] = value2;
+ break;
+ }
+ if (code === /* % */
+ 37 && index + 1 < len) {
+ const code2 = header.charCodeAt(index);
+ const code3 = header.charCodeAt(index + 1);
+ if (code2 === 50 && code3 === 50) {
+ value2 += '"';
+ index += 2;
+ continue;
+ }
+ if (code2 === 48) {
+ if (code3 === 100 || code3 === 68) {
+ value2 += "\r";
+ index += 2;
+ continue;
+ }
+ if (code3 === 97 || code3 === 65) {
+ value2 += "\n";
+ index += 2;
+ continue;
+ }
+ }
+ }
+ value2 += String.fromCharCode(code);
+ }
+ } else {
+ while (index < len) {
+ const code = header.charCodeAt(index++);
+ if (code === DQUOTE) {
+ index = parseToken(header, index, len);
+ if (parameters[key] === void 0)
+ parameters[key] = value2;
+ break;
+ }
+ if (code === BSLASH && index < len) {
+ value2 += header[index++];
+ continue;
+ }
+ value2 += String.fromCharCode(code);
+ }
+ }
+ continue parameter;
+ }
+ const valueStart = index;
+ index = parseToken(header, index, len);
+ const valueEnd = trailingOWS(header, valueStart, index);
+ const value = header.slice(valueStart, valueEnd);
+ if (parameters[key] === void 0) {
+ parameters[key] = value;
+ if (extended && key.charCodeAt(key.length - 1) === ASTERISK) {
+ const normalizedKey = key.slice(0, -1);
+ const decoded = decodeExtended(value);
+ if (decoded !== void 0)
+ parameters[normalizedKey] = decoded;
+ }
+ }
+ continue parameter;
+ }
+ index++;
+ }
+ }
+ return { type, parameters };
+ }
+ __name(parse, "parse");
+ var ENCODE_URL_ATTR_CHAR_REGEXP = /[\x00-\x20"'()*,/:;<=>?@[\\\]{}\x7f]/g;
+ var NON_ASCII_REGEXP = /[^\x20-\x7e]/g;
+ var QUOTE_REGEXP = /[\\"]/g;
+ var INVALID_FILENAME_REGEXP = /%[0-9A-Fa-f]{2}/;
+ var TEXT_REGEXP = /^[\x20-\x7e\x80-\xff]*$/;
+ var ASCII_TEXT_REGEXP = /^[\x20-\x7e]*$/;
+ var TOKEN_REGEXP = /^[!#$%&'*+.0-9A-Z^_`a-z|~-]+$/;
+ function createParameters(filename, fallback = true) {
+ if (filename === void 0)
+ return;
+ if (typeof fallback === "string") {
+ if (!ASCII_TEXT_REGEXP.test(fallback)) {
+ throw new TypeError("Fallback must be valid US-ASCII: " + fallback);
+ }
+ if (fallback === filename)
+ return { filename };
+ return { filename: fallback, "filename*": encodeExtended(filename) };
+ }
+ if (ASCII_TEXT_REGEXP.test(filename) && !INVALID_FILENAME_REGEXP.test(filename)) {
+ return { filename };
+ }
+ if (fallback === false) {
+ return { "filename*": encodeExtended(filename) };
+ }
+ return {
+ filename: getAscii(filename),
+ "filename*": encodeExtended(filename)
+ };
+ }
+ __name(createParameters, "createParameters");
+ function decodeExtended(str) {
+ const charsetEnd = str.indexOf("'");
+ if (charsetEnd <= 0) {
+ return void 0;
+ }
+ const languageEnd = str.indexOf("'", charsetEnd + 1);
+ if (languageEnd === -1) {
+ return void 0;
+ }
+ const charset = str.slice(0, charsetEnd).toLowerCase();
+ const encoded = str.slice(languageEnd + 1);
+ switch (charset) {
+ case "iso-8859-1": {
+ return decodeHexEscapes(encoded);
+ }
+ case "utf-8":
+ case "utf8": {
+ return tryDecodeURIComponent(encoded);
+ }
+ }
+ return void 0;
+ }
+ __name(decodeExtended, "decodeExtended");
+ function tryDecodeURIComponent(str) {
+ try {
+ return decodeURIComponent(str);
+ } catch {
+ return void 0;
+ }
+ }
+ __name(tryDecodeURIComponent, "tryDecodeURIComponent");
+ function parseToken(str, index, len) {
+ while (index < len) {
+ const char = str.charCodeAt(index);
+ if (char === SEMI)
+ break;
+ index++;
+ }
+ return index;
+ }
+ __name(parseToken, "parseToken");
+ function skipOWS(str, index, len) {
+ while (index < len) {
+ const char = str.charCodeAt(index);
+ if (char !== SP && char !== HTAB)
+ break;
+ index++;
+ }
+ return index;
+ }
+ __name(skipOWS, "skipOWS");
+ function trailingOWS(str, start, end) {
+ while (end > start) {
+ const char = str.charCodeAt(end - 1);
+ if (char !== SP && char !== HTAB)
+ break;
+ end--;
+ }
+ return end;
+ }
+ __name(trailingOWS, "trailingOWS");
+ function format(obj, options) {
+ const { type, parameters } = obj;
+ const multipart = options?.multipart === true;
+ const extended = options?.extended !== false;
+ if (!type || !TOKEN_REGEXP.test(type)) {
+ throw new TypeError("Invalid type: " + type);
+ }
+ let result = type;
+ if (parameters) {
+ for (const param of Object.keys(parameters)) {
+ const value = parameters[param];
+ if (!TOKEN_REGEXP.test(param)) {
+ throw new TypeError("Invalid parameter name: " + param);
+ }
+ if (multipart) {
+ result += "; " + param + "=" + qmultipart(value);
+ continue;
+ }
+ if (TOKEN_REGEXP.test(value)) {
+ result += "; " + param + "=" + value;
+ continue;
+ }
+ if (TEXT_REGEXP.test(value)) {
+ result += "; " + param + "=" + qstring(value);
+ continue;
+ }
+ if (!extended) {
+ throw new TypeError("Invalid parameter value: " + value);
+ }
+ result += "; " + param + "*=" + encodeExtended(value);
+ }
+ }
+ return result;
+ }
+ __name(format, "format");
+ function getAscii(val) {
+ return val.replace(NON_ASCII_REGEXP, "?");
+ }
+ __name(getAscii, "getAscii");
+ function pencode(char) {
+ return "%" + char.charCodeAt(0).toString(16).toUpperCase();
+ }
+ __name(pencode, "pencode");
+ function qstring(str) {
+ return '"' + str.replace(QUOTE_REGEXP, "\\$&") + '"';
+ }
+ __name(qstring, "qstring");
+ function qmultipart(str) {
+ return '"' + str.replace(/[\n\r"]/g, multipartEscape) + '"';
+ }
+ __name(qmultipart, "qmultipart");
+ function multipartEscape(char) {
+ if (char === "\n")
+ return "%0A";
+ if (char === "\r")
+ return "%0D";
+ return "%22";
+ }
+ __name(multipartEscape, "multipartEscape");
+ function encodeExtended(str) {
+ const encoded = encodeURIComponent(str).replace(ENCODE_URL_ATTR_CHAR_REGEXP, pencode);
+ return "UTF-8''" + encoded;
+ }
+ __name(encodeExtended, "encodeExtended");
+ function isHexDigit(char) {
+ const code = char.charCodeAt(0);
+ return code >= 48 && code <= 57 || // 0-9
+ code >= 65 && code <= 70 || // A-F
+ code >= 97 && code <= 102;
+ }
+ __name(isHexDigit, "isHexDigit");
+ function decodeHexEscapes(str) {
+ const firstEscape = str.indexOf("%");
+ if (firstEscape === -1)
+ return str;
+ let result = str.slice(0, firstEscape);
+ for (let idx = firstEscape; idx < str.length; idx++) {
+ if (str[idx] === "%" && idx + 2 < str.length && isHexDigit(str[idx + 1]) && isHexDigit(str[idx + 2])) {
+ result += String.fromCharCode(Number.parseInt(str[idx + 1] + str[idx + 2], 16));
+ idx += 2;
+ } else {
+ result += str[idx];
+ }
+ }
+ return result;
+ }
+ __name(decodeHexEscapes, "decodeHexEscapes");
+ }
+});
+
+// ../../node_modules/.pnpm/cookie-signature@1.2.2/node_modules/cookie-signature/index.js
+var require_cookie_signature = __commonJS({
+ "../../node_modules/.pnpm/cookie-signature@1.2.2/node_modules/cookie-signature/index.js"(exports) {
+ var crypto = __require("crypto");
+ exports.sign = function(val, secret) {
+ if ("string" != typeof val) throw new TypeError("Cookie value must be provided as a string.");
+ if (null == secret) throw new TypeError("Secret key must be provided.");
+ return val + "." + crypto.createHmac("sha256", secret).update(val).digest("base64").replace(/\=+$/, "");
+ };
+ exports.unsign = function(input, secret) {
+ if ("string" != typeof input) throw new TypeError("Signed cookie string must be provided.");
+ if (null == secret) throw new TypeError("Secret key must be provided.");
+ var tentativeValue = input.slice(0, input.lastIndexOf(".")), expectedInput = exports.sign(tentativeValue, secret), expectedBuffer = Buffer.from(expectedInput), inputBuffer = Buffer.from(input);
+ return expectedBuffer.length === inputBuffer.length && crypto.timingSafeEqual(expectedBuffer, inputBuffer) ? tentativeValue : false;
+ };
+ }
+});
+
+// ../../node_modules/.pnpm/cookie@0.7.2/node_modules/cookie/index.js
+var require_cookie = __commonJS({
+ "../../node_modules/.pnpm/cookie@0.7.2/node_modules/cookie/index.js"(exports) {
+ "use strict";
+ exports.parse = parse;
+ exports.serialize = serialize;
+ var __toString = Object.prototype.toString;
+ var __hasOwnProperty = Object.prototype.hasOwnProperty;
+ var cookieNameRegExp = /^[!#$%&'*+\-.^_`|~0-9A-Za-z]+$/;
+ var cookieValueRegExp = /^("?)[\u0021\u0023-\u002B\u002D-\u003A\u003C-\u005B\u005D-\u007E]*\1$/;
+ var domainValueRegExp = /^([.]?[a-z0-9]([a-z0-9-]{0,61}[a-z0-9])?)([.][a-z0-9]([a-z0-9-]{0,61}[a-z0-9])?)*$/i;
+ var pathValueRegExp = /^[\u0020-\u003A\u003D-\u007E]*$/;
+ function parse(str, opt) {
+ if (typeof str !== "string") {
+ throw new TypeError("argument str must be a string");
+ }
+ var obj = {};
+ var len = str.length;
+ if (len < 2) return obj;
+ var dec = opt && opt.decode || decode;
+ var index = 0;
+ var eqIdx = 0;
+ var endIdx = 0;
+ do {
+ eqIdx = str.indexOf("=", index);
+ if (eqIdx === -1) break;
+ endIdx = str.indexOf(";", index);
+ if (endIdx === -1) {
+ endIdx = len;
+ } else if (eqIdx > endIdx) {
+ index = str.lastIndexOf(";", eqIdx - 1) + 1;
+ continue;
+ }
+ var keyStartIdx = startIndex(str, index, eqIdx);
+ var keyEndIdx = endIndex(str, eqIdx, keyStartIdx);
+ var key = str.slice(keyStartIdx, keyEndIdx);
+ if (!__hasOwnProperty.call(obj, key)) {
+ var valStartIdx = startIndex(str, eqIdx + 1, endIdx);
+ var valEndIdx = endIndex(str, endIdx, valStartIdx);
+ if (str.charCodeAt(valStartIdx) === 34 && str.charCodeAt(valEndIdx - 1) === 34) {
+ valStartIdx++;
+ valEndIdx--;
+ }
+ var val = str.slice(valStartIdx, valEndIdx);
+ obj[key] = tryDecode(val, dec);
+ }
+ index = endIdx + 1;
+ } while (index < len);
+ return obj;
+ }
+ __name(parse, "parse");
+ function startIndex(str, index, max) {
+ do {
+ var code = str.charCodeAt(index);
+ if (code !== 32 && code !== 9) return index;
+ } while (++index < max);
+ return max;
+ }
+ __name(startIndex, "startIndex");
+ function endIndex(str, index, min) {
+ while (index > min) {
+ var code = str.charCodeAt(--index);
+ if (code !== 32 && code !== 9) return index + 1;
+ }
+ return min;
+ }
+ __name(endIndex, "endIndex");
+ function serialize(name, val, opt) {
+ var enc = opt && opt.encode || encodeURIComponent;
+ if (typeof enc !== "function") {
+ throw new TypeError("option encode is invalid");
+ }
+ if (!cookieNameRegExp.test(name)) {
+ throw new TypeError("argument name is invalid");
+ }
+ var value = enc(val);
+ if (!cookieValueRegExp.test(value)) {
+ throw new TypeError("argument val is invalid");
+ }
+ var str = name + "=" + value;
+ if (!opt) return str;
+ if (null != opt.maxAge) {
+ var maxAge = Math.floor(opt.maxAge);
+ if (!isFinite(maxAge)) {
+ throw new TypeError("option maxAge is invalid");
+ }
+ str += "; Max-Age=" + maxAge;
+ }
+ if (opt.domain) {
+ if (!domainValueRegExp.test(opt.domain)) {
+ throw new TypeError("option domain is invalid");
+ }
+ str += "; Domain=" + opt.domain;
+ }
+ if (opt.path) {
+ if (!pathValueRegExp.test(opt.path)) {
+ throw new TypeError("option path is invalid");
+ }
+ str += "; Path=" + opt.path;
+ }
+ if (opt.expires) {
+ var expires = opt.expires;
+ if (!isDate(expires) || isNaN(expires.valueOf())) {
+ throw new TypeError("option expires is invalid");
+ }
+ str += "; Expires=" + expires.toUTCString();
+ }
+ if (opt.httpOnly) {
+ str += "; HttpOnly";
+ }
+ if (opt.secure) {
+ str += "; Secure";
+ }
+ if (opt.partitioned) {
+ str += "; Partitioned";
+ }
+ if (opt.priority) {
+ var priority = typeof opt.priority === "string" ? opt.priority.toLowerCase() : opt.priority;
+ switch (priority) {
+ case "low":
+ str += "; Priority=Low";
+ break;
+ case "medium":
+ str += "; Priority=Medium";
+ break;
+ case "high":
+ str += "; Priority=High";
+ break;
+ default:
+ throw new TypeError("option priority is invalid");
+ }
+ }
+ if (opt.sameSite) {
+ var sameSite = typeof opt.sameSite === "string" ? opt.sameSite.toLowerCase() : opt.sameSite;
+ switch (sameSite) {
+ case true:
+ str += "; SameSite=Strict";
+ break;
+ case "lax":
+ str += "; SameSite=Lax";
+ break;
+ case "strict":
+ str += "; SameSite=Strict";
+ break;
+ case "none":
+ str += "; SameSite=None";
+ break;
+ default:
+ throw new TypeError("option sameSite is invalid");
+ }
+ }
+ return str;
+ }
+ __name(serialize, "serialize");
+ function decode(str) {
+ return str.indexOf("%") !== -1 ? decodeURIComponent(str) : str;
+ }
+ __name(decode, "decode");
+ function isDate(val) {
+ return __toString.call(val) === "[object Date]";
+ }
+ __name(isDate, "isDate");
+ function tryDecode(str, decode2) {
+ try {
+ return decode2(str);
+ } catch (e) {
+ return str;
+ }
+ }
+ __name(tryDecode, "tryDecode");
+ }
+});
+
+// ../../node_modules/.pnpm/send@1.2.1/node_modules/send/index.js
+var require_send = __commonJS({
+ "../../node_modules/.pnpm/send@1.2.1/node_modules/send/index.js"(exports, module) {
+ "use strict";
+ var createError = require_http_errors();
+ var debug = require_src()("send");
+ var encodeUrl = require_encodeurl();
+ var escapeHtml = require_escape_html();
+ var etag = require_etag();
+ var fresh = require_fresh();
+ var fs = __require("fs");
+ var mime = require_mime_types();
+ var ms = require_ms();
+ var onFinished = require_on_finished();
+ var parseRange = require_range_parser();
+ var path = __require("path");
+ var statuses = require_statuses();
+ var Stream = __require("stream");
+ var util = __require("util");
+ var extname = path.extname;
+ var join = path.join;
+ var normalize = path.normalize;
+ var resolve = path.resolve;
+ var sep = path.sep;
+ var BYTES_RANGE_REGEXP = /^ *bytes=/;
+ var MAX_MAXAGE = 60 * 60 * 24 * 365 * 1e3;
+ var UP_PATH_REGEXP = /(?:^|[\\/])\.\.(?:[\\/]|$)/;
+ module.exports = send;
+ function send(req, path2, options) {
+ return new SendStream(req, path2, options);
+ }
+ __name(send, "send");
+ function SendStream(req, path2, options) {
+ Stream.call(this);
+ var opts = options || {};
+ this.options = opts;
+ this.path = path2;
+ this.req = req;
+ this._acceptRanges = opts.acceptRanges !== void 0 ? Boolean(opts.acceptRanges) : true;
+ this._cacheControl = opts.cacheControl !== void 0 ? Boolean(opts.cacheControl) : true;
+ this._etag = opts.etag !== void 0 ? Boolean(opts.etag) : true;
+ this._dotfiles = opts.dotfiles !== void 0 ? opts.dotfiles : "ignore";
+ if (this._dotfiles !== "ignore" && this._dotfiles !== "allow" && this._dotfiles !== "deny") {
+ throw new TypeError('dotfiles option must be "allow", "deny", or "ignore"');
+ }
+ this._extensions = opts.extensions !== void 0 ? normalizeList(opts.extensions, "extensions option") : [];
+ this._immutable = opts.immutable !== void 0 ? Boolean(opts.immutable) : false;
+ this._index = opts.index !== void 0 ? normalizeList(opts.index, "index option") : ["index.html"];
+ this._lastModified = opts.lastModified !== void 0 ? Boolean(opts.lastModified) : true;
+ this._maxage = opts.maxAge || opts.maxage;
+ this._maxage = typeof this._maxage === "string" ? ms(this._maxage) : Number(this._maxage);
+ this._maxage = !isNaN(this._maxage) ? Math.min(Math.max(0, this._maxage), MAX_MAXAGE) : 0;
+ this._root = opts.root ? resolve(opts.root) : null;
+ }
+ __name(SendStream, "SendStream");
+ util.inherits(SendStream, Stream);
+ SendStream.prototype.error = /* @__PURE__ */ __name(function error(status, err) {
+ if (hasListeners(this, "error")) {
+ return this.emit("error", createHttpError(status, err));
+ }
+ var res = this.res;
+ var msg = statuses.message[status] || String(status);
+ var doc = createHtmlDocument("Error", escapeHtml(msg));
+ clearHeaders(res);
+ if (err && err.headers) {
+ setHeaders(res, err.headers);
+ }
+ res.statusCode = status;
+ res.setHeader("Content-Type", "text/html; charset=UTF-8");
+ res.setHeader("Content-Length", Buffer.byteLength(doc));
+ res.setHeader("Content-Security-Policy", "default-src 'none'");
+ res.setHeader("X-Content-Type-Options", "nosniff");
+ res.end(doc);
+ }, "error");
+ SendStream.prototype.hasTrailingSlash = /* @__PURE__ */ __name(function hasTrailingSlash() {
+ return this.path[this.path.length - 1] === "/";
+ }, "hasTrailingSlash");
+ SendStream.prototype.isConditionalGET = /* @__PURE__ */ __name(function isConditionalGET() {
+ return this.req.headers["if-match"] || this.req.headers["if-unmodified-since"] || this.req.headers["if-none-match"] || this.req.headers["if-modified-since"];
+ }, "isConditionalGET");
+ SendStream.prototype.isPreconditionFailure = /* @__PURE__ */ __name(function isPreconditionFailure() {
+ var req = this.req;
+ var res = this.res;
+ var match = req.headers["if-match"];
+ if (match) {
+ var etag2 = res.getHeader("ETag");
+ return !etag2 || match !== "*" && parseTokenList(match).every(function(match2) {
+ return match2 !== etag2 && match2 !== "W/" + etag2 && "W/" + match2 !== etag2;
+ });
+ }
+ var unmodifiedSince = parseHttpDate(req.headers["if-unmodified-since"]);
+ if (!isNaN(unmodifiedSince)) {
+ var lastModified = parseHttpDate(res.getHeader("Last-Modified"));
+ return isNaN(lastModified) || lastModified > unmodifiedSince;
+ }
+ return false;
+ }, "isPreconditionFailure");
+ SendStream.prototype.removeContentHeaderFields = /* @__PURE__ */ __name(function removeContentHeaderFields() {
+ var res = this.res;
+ res.removeHeader("Content-Encoding");
+ res.removeHeader("Content-Language");
+ res.removeHeader("Content-Length");
+ res.removeHeader("Content-Range");
+ res.removeHeader("Content-Type");
+ }, "removeContentHeaderFields");
+ SendStream.prototype.notModified = /* @__PURE__ */ __name(function notModified() {
+ var res = this.res;
+ debug("not modified");
+ this.removeContentHeaderFields();
+ res.statusCode = 304;
+ res.end();
+ }, "notModified");
+ SendStream.prototype.headersAlreadySent = /* @__PURE__ */ __name(function headersAlreadySent() {
+ var err = new Error("Can't set headers after they are sent.");
+ debug("headers already sent");
+ this.error(500, err);
+ }, "headersAlreadySent");
+ SendStream.prototype.isCachable = /* @__PURE__ */ __name(function isCachable() {
+ var statusCode = this.res.statusCode;
+ return statusCode >= 200 && statusCode < 300 || statusCode === 304;
+ }, "isCachable");
+ SendStream.prototype.onStatError = /* @__PURE__ */ __name(function onStatError(error) {
+ switch (error.code) {
+ case "ENAMETOOLONG":
+ case "ENOENT":
+ case "ENOTDIR":
+ this.error(404, error);
+ break;
+ default:
+ this.error(500, error);
+ break;
+ }
+ }, "onStatError");
+ SendStream.prototype.isFresh = /* @__PURE__ */ __name(function isFresh() {
+ return fresh(this.req.headers, {
+ etag: this.res.getHeader("ETag"),
+ "last-modified": this.res.getHeader("Last-Modified")
+ });
+ }, "isFresh");
+ SendStream.prototype.isRangeFresh = /* @__PURE__ */ __name(function isRangeFresh() {
+ var ifRange = this.req.headers["if-range"];
+ if (!ifRange) {
+ return true;
+ }
+ if (ifRange.indexOf('"') !== -1) {
+ var etag2 = this.res.getHeader("ETag");
+ return Boolean(etag2 && ifRange.indexOf(etag2) !== -1);
+ }
+ var lastModified = this.res.getHeader("Last-Modified");
+ return parseHttpDate(lastModified) <= parseHttpDate(ifRange);
+ }, "isRangeFresh");
+ SendStream.prototype.redirect = /* @__PURE__ */ __name(function redirect(path2) {
+ var res = this.res;
+ if (hasListeners(this, "directory")) {
+ this.emit("directory", res, path2);
+ return;
+ }
+ if (this.hasTrailingSlash()) {
+ this.error(403);
+ return;
+ }
+ var loc = encodeUrl(collapseLeadingSlashes(this.path + "/"));
+ var doc = createHtmlDocument("Redirecting", "Redirecting to " + escapeHtml(loc));
+ res.statusCode = 301;
+ res.setHeader("Content-Type", "text/html; charset=UTF-8");
+ res.setHeader("Content-Length", Buffer.byteLength(doc));
+ res.setHeader("Content-Security-Policy", "default-src 'none'");
+ res.setHeader("X-Content-Type-Options", "nosniff");
+ res.setHeader("Location", loc);
+ res.end(doc);
+ }, "redirect");
+ SendStream.prototype.pipe = /* @__PURE__ */ __name(function pipe(res) {
+ var root = this._root;
+ this.res = res;
+ var path2 = decode(this.path);
+ if (path2 === -1) {
+ this.error(400);
+ return res;
+ }
+ if (~path2.indexOf("\0")) {
+ this.error(400);
+ return res;
+ }
+ var parts;
+ if (root !== null) {
+ if (path2) {
+ path2 = normalize("." + sep + path2);
+ }
+ if (UP_PATH_REGEXP.test(path2)) {
+ debug('malicious path "%s"', path2);
+ this.error(403);
+ return res;
+ }
+ parts = path2.split(sep);
+ path2 = normalize(join(root, path2));
+ } else {
+ if (UP_PATH_REGEXP.test(path2)) {
+ debug('malicious path "%s"', path2);
+ this.error(403);
+ return res;
+ }
+ parts = normalize(path2).split(sep);
+ path2 = resolve(path2);
+ }
+ if (containsDotFile(parts)) {
+ debug('%s dotfile "%s"', this._dotfiles, path2);
+ switch (this._dotfiles) {
+ case "allow":
+ break;
+ case "deny":
+ this.error(403);
+ return res;
+ case "ignore":
+ default:
+ this.error(404);
+ return res;
+ }
+ }
+ if (this._index.length && this.hasTrailingSlash()) {
+ this.sendIndex(path2);
+ return res;
+ }
+ this.sendFile(path2);
+ return res;
+ }, "pipe");
+ SendStream.prototype.send = /* @__PURE__ */ __name(function send2(path2, stat) {
+ var len = stat.size;
+ var options = this.options;
+ var opts = {};
+ var res = this.res;
+ var req = this.req;
+ var ranges = req.headers.range;
+ var offset = options.start || 0;
+ if (res.headersSent) {
+ this.headersAlreadySent();
+ return;
+ }
+ debug('pipe "%s"', path2);
+ this.setHeader(path2, stat);
+ this.type(path2);
+ if (this.isConditionalGET()) {
+ if (this.isPreconditionFailure()) {
+ this.error(412);
+ return;
+ }
+ if (this.isCachable() && this.isFresh()) {
+ this.notModified();
+ return;
+ }
+ }
+ len = Math.max(0, len - offset);
+ if (options.end !== void 0) {
+ var bytes = options.end - offset + 1;
+ if (len > bytes) len = bytes;
+ }
+ if (this._acceptRanges && BYTES_RANGE_REGEXP.test(ranges)) {
+ ranges = parseRange(len, ranges, {
+ combine: true
+ });
+ if (!this.isRangeFresh()) {
+ debug("range stale");
+ ranges = -2;
+ }
+ if (ranges === -1) {
+ debug("range unsatisfiable");
+ res.setHeader("Content-Range", contentRange("bytes", len));
+ return this.error(416, {
+ headers: { "Content-Range": res.getHeader("Content-Range") }
+ });
+ }
+ if (ranges !== -2 && ranges.length === 1) {
+ debug("range %j", ranges);
+ res.statusCode = 206;
+ res.setHeader("Content-Range", contentRange("bytes", len, ranges[0]));
+ offset += ranges[0].start;
+ len = ranges[0].end - ranges[0].start + 1;
+ }
+ }
+ for (var prop in options) {
+ opts[prop] = options[prop];
+ }
+ opts.start = offset;
+ opts.end = Math.max(offset, offset + len - 1);
+ res.setHeader("Content-Length", len);
+ if (req.method === "HEAD") {
+ res.end();
+ return;
+ }
+ this.stream(path2, opts);
+ }, "send");
+ SendStream.prototype.sendFile = /* @__PURE__ */ __name(function sendFile(path2) {
+ var i = 0;
+ var self = this;
+ debug('stat "%s"', path2);
+ fs.stat(path2, /* @__PURE__ */ __name(function onstat(err, stat) {
+ var pathEndsWithSep = path2[path2.length - 1] === sep;
+ if (err && err.code === "ENOENT" && !extname(path2) && !pathEndsWithSep) {
+ return next(err);
+ }
+ if (err) return self.onStatError(err);
+ if (stat.isDirectory()) return self.redirect(path2);
+ if (pathEndsWithSep) return self.error(404);
+ self.emit("file", path2, stat);
+ self.send(path2, stat);
+ }, "onstat"));
+ function next(err) {
+ if (self._extensions.length <= i) {
+ return err ? self.onStatError(err) : self.error(404);
+ }
+ var p = path2 + "." + self._extensions[i++];
+ debug('stat "%s"', p);
+ fs.stat(p, function(err2, stat) {
+ if (err2) return next(err2);
+ if (stat.isDirectory()) return next();
+ self.emit("file", p, stat);
+ self.send(p, stat);
+ });
+ }
+ __name(next, "next");
+ }, "sendFile");
+ SendStream.prototype.sendIndex = /* @__PURE__ */ __name(function sendIndex(path2) {
+ var i = -1;
+ var self = this;
+ function next(err) {
+ if (++i >= self._index.length) {
+ if (err) return self.onStatError(err);
+ return self.error(404);
+ }
+ var p = join(path2, self._index[i]);
+ debug('stat "%s"', p);
+ fs.stat(p, function(err2, stat) {
+ if (err2) return next(err2);
+ if (stat.isDirectory()) return next();
+ self.emit("file", p, stat);
+ self.send(p, stat);
+ });
+ }
+ __name(next, "next");
+ next();
+ }, "sendIndex");
+ SendStream.prototype.stream = /* @__PURE__ */ __name(function stream(path2, options) {
+ var self = this;
+ var res = this.res;
+ var stream2 = fs.createReadStream(path2, options);
+ this.emit("stream", stream2);
+ stream2.pipe(res);
+ function cleanup() {
+ stream2.destroy();
+ }
+ __name(cleanup, "cleanup");
+ onFinished(res, cleanup);
+ stream2.on("error", /* @__PURE__ */ __name(function onerror(err) {
+ cleanup();
+ self.onStatError(err);
+ }, "onerror"));
+ stream2.on("end", /* @__PURE__ */ __name(function onend() {
+ self.emit("end");
+ }, "onend"));
+ }, "stream");
+ SendStream.prototype.type = /* @__PURE__ */ __name(function type(path2) {
+ var res = this.res;
+ if (res.getHeader("Content-Type")) return;
+ var ext = extname(path2);
+ var type2 = mime.contentType(ext) || "application/octet-stream";
+ debug("content-type %s", type2);
+ res.setHeader("Content-Type", type2);
+ }, "type");
+ SendStream.prototype.setHeader = /* @__PURE__ */ __name(function setHeader(path2, stat) {
+ var res = this.res;
+ this.emit("headers", res, path2, stat);
+ if (this._acceptRanges && !res.getHeader("Accept-Ranges")) {
+ debug("accept ranges");
+ res.setHeader("Accept-Ranges", "bytes");
+ }
+ if (this._cacheControl && !res.getHeader("Cache-Control")) {
+ var cacheControl = "public, max-age=" + Math.floor(this._maxage / 1e3);
+ if (this._immutable) {
+ cacheControl += ", immutable";
+ }
+ debug("cache-control %s", cacheControl);
+ res.setHeader("Cache-Control", cacheControl);
+ }
+ if (this._lastModified && !res.getHeader("Last-Modified")) {
+ var modified = stat.mtime.toUTCString();
+ debug("modified %s", modified);
+ res.setHeader("Last-Modified", modified);
+ }
+ if (this._etag && !res.getHeader("ETag")) {
+ var val = etag(stat);
+ debug("etag %s", val);
+ res.setHeader("ETag", val);
+ }
+ }, "setHeader");
+ function clearHeaders(res) {
+ for (const header of res.getHeaderNames()) {
+ res.removeHeader(header);
+ }
+ }
+ __name(clearHeaders, "clearHeaders");
+ function collapseLeadingSlashes(str) {
+ for (var i = 0; i < str.length; i++) {
+ if (str[i] !== "/") {
+ break;
+ }
+ }
+ return i > 1 ? "/" + str.substr(i) : str;
+ }
+ __name(collapseLeadingSlashes, "collapseLeadingSlashes");
+ function containsDotFile(parts) {
+ for (var i = 0; i < parts.length; i++) {
+ var part = parts[i];
+ if (part.length > 1 && part[0] === ".") {
+ return true;
+ }
+ }
+ return false;
+ }
+ __name(containsDotFile, "containsDotFile");
+ function contentRange(type, size, range) {
+ return type + " " + (range ? range.start + "-" + range.end : "*") + "/" + size;
+ }
+ __name(contentRange, "contentRange");
+ function createHtmlDocument(title, body) {
+ return '\n\n\n \n' + title + " \n\n\n" + body + " \n\n\n";
+ }
+ __name(createHtmlDocument, "createHtmlDocument");
+ function createHttpError(status, err) {
+ if (!err) {
+ return createError(status);
+ }
+ return err instanceof Error ? createError(status, err, { expose: false }) : createError(status, err);
+ }
+ __name(createHttpError, "createHttpError");
+ function decode(path2) {
+ try {
+ return decodeURIComponent(path2);
+ } catch (err) {
+ return -1;
+ }
+ }
+ __name(decode, "decode");
+ function hasListeners(emitter, type) {
+ var count = typeof emitter.listenerCount !== "function" ? emitter.listeners(type).length : emitter.listenerCount(type);
+ return count > 0;
+ }
+ __name(hasListeners, "hasListeners");
+ function normalizeList(val, name) {
+ var list = [].concat(val || []);
+ for (var i = 0; i < list.length; i++) {
+ if (typeof list[i] !== "string") {
+ throw new TypeError(name + " must be array of strings or false");
+ }
+ }
+ return list;
+ }
+ __name(normalizeList, "normalizeList");
+ function parseHttpDate(date) {
+ var timestamp = date && Date.parse(date);
+ return typeof timestamp === "number" ? timestamp : NaN;
+ }
+ __name(parseHttpDate, "parseHttpDate");
+ function parseTokenList(str) {
+ var end = 0;
+ var list = [];
+ var start = 0;
+ for (var i = 0, len = str.length; i < len; i++) {
+ switch (str.charCodeAt(i)) {
+ case 32:
+ if (start === end) {
+ start = end = i + 1;
+ }
+ break;
+ case 44:
+ if (start !== end) {
+ list.push(str.substring(start, end));
+ }
+ start = end = i + 1;
+ break;
+ default:
+ end = i + 1;
+ break;
+ }
+ }
+ if (start !== end) {
+ list.push(str.substring(start, end));
+ }
+ return list;
+ }
+ __name(parseTokenList, "parseTokenList");
+ function setHeaders(res, headers) {
+ var keys = Object.keys(headers);
+ for (var i = 0; i < keys.length; i++) {
+ var key = keys[i];
+ res.setHeader(key, headers[key]);
+ }
+ }
+ __name(setHeaders, "setHeaders");
+ }
+});
+
+// ../../node_modules/.pnpm/express@5.3.0/node_modules/express/lib/response.js
+var require_response = __commonJS({
+ "../../node_modules/.pnpm/express@5.3.0/node_modules/express/lib/response.js"(exports, module) {
+ "use strict";
+ var contentDisposition = require_dist3();
+ var createError = require_http_errors();
+ var deprecate = require_depd()("express");
+ var encodeUrl = require_encodeurl();
+ var escapeHtml = require_escape_html();
+ var http2 = __require("node:http");
+ var onFinished = require_on_finished();
+ var mime = require_mime_types();
+ var path = __require("node:path");
+ var pathIsAbsolute = __require("node:path").isAbsolute;
+ var statuses = require_statuses();
+ var sign = require_cookie_signature().sign;
+ var normalizeType = require_utils3().normalizeType;
+ var normalizeTypes = require_utils3().normalizeTypes;
+ var setCharset = require_utils3().setCharset;
+ var cookie = require_cookie();
+ var send = require_send();
+ var extname = path.extname;
+ var resolve = path.resolve;
+ var basename = path.basename;
+ var vary = require_vary();
+ var { Buffer: Buffer2 } = __require("node:buffer");
+ var res = Object.create(http2.ServerResponse.prototype);
+ module.exports = res;
+ res.status = /* @__PURE__ */ __name(function status(code) {
+ if (!Number.isInteger(code)) {
+ throw new TypeError(`Invalid status code: ${JSON.stringify(code)}. Status code must be an integer.`);
+ }
+ if (code < 100 || code > 999) {
+ throw new RangeError(`Invalid status code: ${JSON.stringify(code)}. Status code must be greater than 99 and less than 1000.`);
+ }
+ this.statusCode = code;
+ return this;
+ }, "status");
+ res.links = function(links) {
+ var link = this.get("Link") || "";
+ if (link) link += ", ";
+ return this.set("Link", link + Object.keys(links).map(function(rel) {
+ if (Array.isArray(links[rel])) {
+ return links[rel].map(function(singleLink) {
+ return `<${singleLink}>; rel="${rel}"`;
+ }).join(", ");
+ } else {
+ return `<${links[rel]}>; rel="${rel}"`;
+ }
+ }).join(", "));
+ };
+ res.send = /* @__PURE__ */ __name(function send2(body) {
+ var chunk = body;
+ var encoding;
+ var req = this.req;
+ var app = this.app;
+ switch (typeof chunk) {
+ // string defaulting to html
+ case "string":
+ encoding = "utf8";
+ const type = this.get("Content-Type");
+ if (typeof type === "string") {
+ this.set("Content-Type", setCharset(type, "utf-8"));
+ } else {
+ this.type("html");
+ }
+ break;
+ case "boolean":
+ case "number":
+ case "object":
+ if (chunk === null) {
+ chunk = "";
+ } else if (ArrayBuffer.isView(chunk)) {
+ if (!this.get("Content-Type")) {
+ this.type("bin");
+ }
+ } else {
+ return this.json(chunk);
+ }
+ break;
+ }
+ var etagFn = app.get("etag fn");
+ var generateETag = !this.get("ETag") && typeof etagFn === "function";
+ var len;
+ if (chunk !== void 0) {
+ if (Buffer2.isBuffer(chunk)) {
+ len = chunk.length;
+ } else if (!generateETag && chunk.length < 1e3) {
+ len = Buffer2.byteLength(chunk, encoding);
+ } else {
+ chunk = Buffer2.from(chunk, encoding);
+ encoding = void 0;
+ len = chunk.length;
+ }
+ if (!this.get("Transfer-Encoding")) {
+ this.set("Content-Length", len);
+ }
+ }
+ var etag;
+ if (generateETag && len !== void 0) {
+ if (etag = etagFn(chunk, encoding)) {
+ this.set("ETag", etag);
+ }
+ }
+ if (req.fresh) this.status(304);
+ if (204 === this.statusCode || 304 === this.statusCode) {
+ this.removeHeader("Content-Type");
+ this.removeHeader("Content-Length");
+ this.removeHeader("Transfer-Encoding");
+ chunk = "";
+ }
+ if (this.statusCode === 205) {
+ this.set("Content-Length", "0");
+ this.removeHeader("Transfer-Encoding");
+ chunk = "";
+ }
+ if (req.method === "HEAD") {
+ this.end();
+ } else {
+ this.end(chunk, encoding);
+ }
+ return this;
+ }, "send");
+ res.json = /* @__PURE__ */ __name(function json(obj) {
+ var app = this.app;
+ var escape2 = app.get("json escape");
+ var replacer = app.get("json replacer");
+ var spaces = app.get("json spaces");
+ var body = stringify2(obj, replacer, spaces, escape2);
+ if (!this.get("Content-Type")) {
+ this.set("Content-Type", "application/json");
+ }
+ return this.send(body);
+ }, "json");
+ res.jsonp = /* @__PURE__ */ __name(function jsonp(obj) {
+ var app = this.app;
+ var escape2 = app.get("json escape");
+ var replacer = app.get("json replacer");
+ var spaces = app.get("json spaces");
+ var body = stringify2(obj, replacer, spaces, escape2);
+ var callback = this.req.query[app.get("jsonp callback name")];
+ if (!this.get("Content-Type")) {
+ this.set("X-Content-Type-Options", "nosniff");
+ this.set("Content-Type", "application/json");
+ }
+ if (Array.isArray(callback)) {
+ callback = callback[0];
+ }
+ if (typeof callback === "string" && callback.length !== 0) {
+ this.set("X-Content-Type-Options", "nosniff");
+ this.set("Content-Type", "text/javascript");
+ callback = callback.replace(/[^\[\]\w$.]/g, "");
+ if (body === void 0) {
+ body = "";
+ } else if (typeof body === "string") {
+ body = body.replace(/\u2028/g, "\\u2028").replace(/\u2029/g, "\\u2029");
+ }
+ body = "/**/ typeof " + callback + " === 'function' && " + callback + "(" + body + ");";
+ }
+ return this.send(body);
+ }, "jsonp");
+ res.sendStatus = /* @__PURE__ */ __name(function sendStatus(statusCode) {
+ var body = statuses.message[statusCode] || String(statusCode);
+ this.status(statusCode);
+ this.type("txt");
+ return this.send(body);
+ }, "sendStatus");
+ res.sendFile = /* @__PURE__ */ __name(function sendFile(path2, options, callback) {
+ var done = callback;
+ var req = this.req;
+ var res2 = this;
+ var next = req.next;
+ var opts = options || {};
+ if (!path2) {
+ throw new TypeError("path argument is required to res.sendFile");
+ }
+ if (typeof path2 !== "string") {
+ throw new TypeError("path must be a string to res.sendFile");
+ }
+ if (typeof options === "function") {
+ done = options;
+ opts = {};
+ }
+ if (!opts.root && !pathIsAbsolute(path2)) {
+ throw new TypeError("path must be absolute or specify root to res.sendFile");
+ }
+ var pathname = encodeURI(path2);
+ opts.etag = this.app.enabled("etag");
+ var file = send(req, pathname, opts);
+ sendfile(res2, file, opts, function(err) {
+ if (done) return done(err);
+ if (err && err.code === "EISDIR") return next();
+ if (err && err.code !== "ECONNABORTED" && err.syscall !== "write") {
+ next(err);
+ }
+ });
+ }, "sendFile");
+ res.download = /* @__PURE__ */ __name(function download(path2, filename, options, callback) {
+ var done = callback;
+ var name = filename;
+ var opts = options || null;
+ if (typeof filename === "function") {
+ done = filename;
+ name = null;
+ opts = null;
+ } else if (typeof options === "function") {
+ done = options;
+ opts = null;
+ }
+ if (typeof filename === "object" && (typeof options === "function" || options === void 0)) {
+ name = null;
+ opts = filename;
+ }
+ var headers = {
+ "Content-Disposition": contentDisposition.create(basename(name || path2))
+ };
+ if (opts && opts.headers) {
+ var keys = Object.keys(opts.headers);
+ for (var i = 0; i < keys.length; i++) {
+ var key = keys[i];
+ if (key.toLowerCase() !== "content-disposition") {
+ headers[key] = opts.headers[key];
+ }
+ }
+ }
+ opts = Object.create(opts);
+ opts.headers = headers;
+ var fullPath = !opts.root ? resolve(path2) : path2;
+ return this.sendFile(fullPath, opts, done);
+ }, "download");
+ res.contentType = res.type = /* @__PURE__ */ __name(function contentType(type) {
+ var ct = type.indexOf("/") === -1 ? mime.contentType(type) || "application/octet-stream" : type;
+ return this.set("Content-Type", ct);
+ }, "contentType");
+ res.format = function(obj) {
+ var req = this.req;
+ var next = req.next;
+ var keys = Object.keys(obj).filter(function(v) {
+ return v !== "default";
+ });
+ var key = keys.length > 0 ? req.accepts(keys) : false;
+ this.vary("Accept");
+ if (key) {
+ this.set("Content-Type", normalizeType(key).value);
+ obj[key](req, this, next);
+ } else if (obj.default) {
+ obj.default(req, this, next);
+ } else {
+ next(createError(406, {
+ types: normalizeTypes(keys).map(function(o) {
+ return o.value;
+ })
+ }));
+ }
+ return this;
+ };
+ res.attachment = /* @__PURE__ */ __name(function attachment(filename) {
+ const name = filename !== void 0 ? basename(filename) : void 0;
+ if (name) {
+ this.type(extname(name));
+ }
+ this.set("Content-Disposition", contentDisposition.create(name));
+ return this;
+ }, "attachment");
+ res.append = /* @__PURE__ */ __name(function append(field, val) {
+ var prev = this.get(field);
+ var value = val;
+ if (prev) {
+ value = Array.isArray(prev) ? prev.concat(val) : Array.isArray(val) ? [prev].concat(val) : [prev, val];
+ }
+ return this.set(field, value);
+ }, "append");
+ res.set = res.header = /* @__PURE__ */ __name(function header(field, val) {
+ if (arguments.length === 2) {
+ var value = Array.isArray(val) ? val.map(String) : String(val);
+ if (field.toLowerCase() === "content-type") {
+ if (Array.isArray(value)) {
+ throw new TypeError("Content-Type cannot be set to an Array");
+ }
+ value = mime.contentType(value);
+ }
+ this.setHeader(field, value);
+ } else {
+ for (var key in field) {
+ this.set(key, field[key]);
+ }
+ }
+ return this;
+ }, "header");
+ res.get = function(field) {
+ return this.getHeader(field);
+ };
+ res.clearCookie = /* @__PURE__ */ __name(function clearCookie(name, options) {
+ const opts = { path: "/", ...options, expires: /* @__PURE__ */ new Date(1) };
+ delete opts.maxAge;
+ return this.cookie(name, "", opts);
+ }, "clearCookie");
+ res.cookie = function(name, value, options) {
+ var opts = { ...options };
+ var secret = this.req.secret;
+ var signed = opts.signed;
+ if (signed && !secret) {
+ throw new Error('cookieParser("secret") required for signed cookies');
+ }
+ var val = typeof value === "object" ? "j:" + JSON.stringify(value) : String(value);
+ if (signed) {
+ val = "s:" + sign(val, secret);
+ }
+ if (opts.maxAge != null) {
+ var maxAge = opts.maxAge - 0;
+ if (!isNaN(maxAge)) {
+ opts.expires = new Date(Date.now() + maxAge);
+ opts.maxAge = Math.floor(maxAge / 1e3);
+ }
+ }
+ if (opts.path == null) {
+ opts.path = "/";
+ }
+ this.append("Set-Cookie", cookie.serialize(name, String(val), opts));
+ return this;
+ };
+ res.location = /* @__PURE__ */ __name(function location(url) {
+ return this.set("Location", encodeUrl(url));
+ }, "location");
+ res.redirect = /* @__PURE__ */ __name(function redirect(url) {
+ var address = url;
+ var body;
+ var status = 302;
+ if (arguments.length === 2) {
+ status = arguments[0];
+ address = arguments[1];
+ }
+ if (!address) {
+ deprecate("Provide a url argument");
+ }
+ if (typeof address !== "string") {
+ deprecate("Url must be a string");
+ }
+ if (typeof status !== "number") {
+ deprecate("Status must be a number");
+ }
+ address = this.location(address).get("Location");
+ this.format({
+ text: /* @__PURE__ */ __name(function() {
+ body = statuses.message[status] + ". Redirecting to " + address;
+ }, "text"),
+ html: /* @__PURE__ */ __name(function() {
+ var u = escapeHtml(address);
+ body = "" + statuses.message[status] + " " + statuses.message[status] + ". Redirecting to " + u + "
";
+ }, "html"),
+ default: /* @__PURE__ */ __name(function() {
+ body = "";
+ }, "default")
+ });
+ this.status(status);
+ this.set("Content-Length", Buffer2.byteLength(body));
+ if (this.req.method === "HEAD") {
+ this.end();
+ } else {
+ this.end(body);
+ }
+ }, "redirect");
+ res.vary = function(field) {
+ vary(this, field);
+ return this;
+ };
+ res.render = /* @__PURE__ */ __name(function render(view, options, callback) {
+ var app = this.req.app;
+ var done = callback;
+ var opts = options || {};
+ var req = this.req;
+ var self = this;
+ if (typeof options === "function") {
+ done = options;
+ opts = {};
+ }
+ opts._locals = self.locals;
+ done = done || function(err, str) {
+ if (err) return req.next(err);
+ self.send(str);
+ };
+ app.render(view, opts, done);
+ }, "render");
+ function sendfile(res2, file, options, callback) {
+ var done = false;
+ var streaming;
+ function onaborted() {
+ if (done) return;
+ done = true;
+ var err = new Error("Request aborted");
+ err.code = "ECONNABORTED";
+ callback(err);
+ }
+ __name(onaborted, "onaborted");
+ function ondirectory() {
+ if (done) return;
+ done = true;
+ var err = new Error("EISDIR, read");
+ err.code = "EISDIR";
+ callback(err);
+ }
+ __name(ondirectory, "ondirectory");
+ function onerror(err) {
+ if (done) return;
+ done = true;
+ callback(err);
+ }
+ __name(onerror, "onerror");
+ function onend() {
+ if (done) return;
+ done = true;
+ callback();
+ }
+ __name(onend, "onend");
+ function onfile() {
+ streaming = false;
+ }
+ __name(onfile, "onfile");
+ function onfinish(err) {
+ if (err && err.code === "ECONNRESET") return onaborted();
+ if (err) return onerror(err);
+ if (done) return;
+ setImmediate(function() {
+ if (streaming !== false && !done) {
+ onaborted();
+ return;
+ }
+ if (done) return;
+ done = true;
+ callback();
+ });
+ }
+ __name(onfinish, "onfinish");
+ function onstream() {
+ streaming = true;
+ }
+ __name(onstream, "onstream");
+ file.on("directory", ondirectory);
+ file.on("end", onend);
+ file.on("error", onerror);
+ file.on("file", onfile);
+ file.on("stream", onstream);
+ onFinished(res2, onfinish);
+ if (options.headers) {
+ file.on("headers", /* @__PURE__ */ __name(function headers(res3) {
+ var obj = options.headers;
+ var keys = Object.keys(obj);
+ for (var i = 0; i < keys.length; i++) {
+ var k = keys[i];
+ res3.setHeader(k, obj[k]);
+ }
+ }, "headers"));
+ }
+ file.pipe(res2);
+ }
+ __name(sendfile, "sendfile");
+ function stringify2(value, replacer, spaces, escape2) {
+ var json = replacer || spaces ? JSON.stringify(value, replacer, spaces) : JSON.stringify(value);
+ if (escape2 && typeof json === "string") {
+ json = json.replace(/[<>&]/g, function(c) {
+ switch (c.charCodeAt(0)) {
+ case 60:
+ return "\\u003c";
+ case 62:
+ return "\\u003e";
+ case 38:
+ return "\\u0026";
+ /* istanbul ignore next: unreachable default */
+ default:
+ return c;
+ }
+ });
+ }
+ return json;
+ }
+ __name(stringify2, "stringify");
+ }
+});
+
+// ../../node_modules/.pnpm/serve-static@2.2.1/node_modules/serve-static/index.js
+var require_serve_static = __commonJS({
+ "../../node_modules/.pnpm/serve-static@2.2.1/node_modules/serve-static/index.js"(exports, module) {
+ "use strict";
+ var encodeUrl = require_encodeurl();
+ var escapeHtml = require_escape_html();
+ var parseUrl = require_parseurl();
+ var resolve = __require("path").resolve;
+ var send = require_send();
+ var url = __require("url");
+ module.exports = serveStatic;
+ function serveStatic(root, options) {
+ if (!root) {
+ throw new TypeError("root path required");
+ }
+ if (typeof root !== "string") {
+ throw new TypeError("root path must be a string");
+ }
+ var opts = Object.create(options || null);
+ var fallthrough = opts.fallthrough !== false;
+ var redirect = opts.redirect !== false;
+ var setHeaders = opts.setHeaders;
+ if (setHeaders && typeof setHeaders !== "function") {
+ throw new TypeError("option setHeaders must be function");
+ }
+ opts.maxage = opts.maxage || opts.maxAge || 0;
+ opts.root = resolve(root);
+ var onDirectory = redirect ? createRedirectDirectoryListener() : createNotFoundDirectoryListener();
+ return /* @__PURE__ */ __name(function serveStatic2(req, res, next) {
+ if (req.method !== "GET" && req.method !== "HEAD") {
+ if (fallthrough) {
+ return next();
+ }
+ res.statusCode = 405;
+ res.setHeader("Allow", "GET, HEAD");
+ res.setHeader("Content-Length", "0");
+ res.end();
+ return;
+ }
+ var forwardError = !fallthrough;
+ var originalUrl = parseUrl.original(req);
+ var path = parseUrl(req).pathname;
+ if (path === "/" && originalUrl.pathname.substr(-1) !== "/") {
+ path = "";
+ }
+ var stream = send(req, path, opts);
+ stream.on("directory", onDirectory);
+ if (setHeaders) {
+ stream.on("headers", setHeaders);
+ }
+ if (fallthrough) {
+ stream.on("file", /* @__PURE__ */ __name(function onFile() {
+ forwardError = true;
+ }, "onFile"));
+ }
+ stream.on("error", /* @__PURE__ */ __name(function error(err) {
+ if (forwardError || !(err.statusCode < 500)) {
+ next(err);
+ return;
+ }
+ next();
+ }, "error"));
+ stream.pipe(res);
+ }, "serveStatic");
+ }
+ __name(serveStatic, "serveStatic");
+ function collapseLeadingSlashes(str) {
+ for (var i = 0; i < str.length; i++) {
+ if (str.charCodeAt(i) !== 47) {
+ break;
+ }
+ }
+ return i > 1 ? "/" + str.substr(i) : str;
+ }
+ __name(collapseLeadingSlashes, "collapseLeadingSlashes");
+ function createHtmlDocument(title, body) {
+ return '\n\n\n \n' + title + " \n\n\n" + body + " \n\n\n";
+ }
+ __name(createHtmlDocument, "createHtmlDocument");
+ function createNotFoundDirectoryListener() {
+ return /* @__PURE__ */ __name(function notFound() {
+ this.error(404);
+ }, "notFound");
+ }
+ __name(createNotFoundDirectoryListener, "createNotFoundDirectoryListener");
+ function createRedirectDirectoryListener() {
+ return /* @__PURE__ */ __name(function redirect(res) {
+ if (this.hasTrailingSlash()) {
+ this.error(404);
+ return;
+ }
+ var originalUrl = parseUrl.original(this.req);
+ originalUrl.path = null;
+ originalUrl.pathname = collapseLeadingSlashes(originalUrl.pathname + "/");
+ var loc = encodeUrl(url.format(originalUrl));
+ var doc = createHtmlDocument("Redirecting", "Redirecting to " + escapeHtml(loc));
+ res.statusCode = 301;
+ res.setHeader("Content-Type", "text/html; charset=UTF-8");
+ res.setHeader("Content-Length", Buffer.byteLength(doc));
+ res.setHeader("Content-Security-Policy", "default-src 'none'");
+ res.setHeader("X-Content-Type-Options", "nosniff");
+ res.setHeader("Location", loc);
+ res.end(doc);
+ }, "redirect");
+ }
+ __name(createRedirectDirectoryListener, "createRedirectDirectoryListener");
+ }
+});
+
+// ../../node_modules/.pnpm/express@5.3.0/node_modules/express/lib/express.js
+var require_express = __commonJS({
+ "../../node_modules/.pnpm/express@5.3.0/node_modules/express/lib/express.js"(exports, module) {
+ "use strict";
+ var bodyParser = require_body_parser();
+ var EventEmitter = __require("node:events").EventEmitter;
+ var mixin2 = require_merge_descriptors();
+ var proto = require_application();
+ var Router = require_router();
+ var req = require_request();
+ var res = require_response();
+ exports = module.exports = createApplication;
+ function createApplication() {
+ var app = /* @__PURE__ */ __name(function(req2, res2, next) {
+ app.handle(req2, res2, next);
+ }, "app");
+ mixin2(app, EventEmitter.prototype, false);
+ mixin2(app, proto, false);
+ app.request = Object.create(req, {
+ app: { configurable: true, enumerable: true, writable: true, value: app }
+ });
+ app.response = Object.create(res, {
+ app: { configurable: true, enumerable: true, writable: true, value: app }
+ });
+ app.init();
+ return app;
+ }
+ __name(createApplication, "createApplication");
+ exports.application = proto;
+ exports.request = req;
+ exports.response = res;
+ exports.Route = Router.Route;
+ exports.Router = Router;
+ exports.json = bodyParser.json;
+ exports.raw = bodyParser.raw;
+ exports.static = require_serve_static();
+ exports.text = bodyParser.text;
+ exports.urlencoded = bodyParser.urlencoded;
+ }
+});
+
+// ../../node_modules/.pnpm/express@5.3.0/node_modules/express/index.js
+var require_express2 = __commonJS({
+ "../../node_modules/.pnpm/express@5.3.0/node_modules/express/index.js"(exports, module) {
+ "use strict";
+ module.exports = require_express();
+ }
+});
+
+// ../../node_modules/.pnpm/@nestjs+platform-express@12_3e713911c21b6500374058e65a37060a/node_modules/@nestjs/platform-express/adapters/utils/get-body-parser-options.util.js
+function getBodyParserOptions(parser, rawBody, options) {
+ if (rawBody === true) {
+ return {
+ ...options,
+ verify: rawBodyParser
+ };
+ }
+ return options || {};
+}
+var rawBodyParser;
+var init_get_body_parser_options_util = __esm({
+ "../../node_modules/.pnpm/@nestjs+platform-express@12_3e713911c21b6500374058e65a37060a/node_modules/@nestjs/platform-express/adapters/utils/get-body-parser-options.util.js"() {
+ rawBodyParser = /* @__PURE__ */ __name((req, _res, buffer) => {
+ if (Buffer.isBuffer(buffer)) {
+ req.rawBody = buffer;
+ }
+ return true;
+ }, "rawBodyParser");
+ __name(getBodyParserOptions, "getBodyParserOptions");
+ }
+});
+
+// ../../node_modules/.pnpm/@nestjs+platform-express@12_3e713911c21b6500374058e65a37060a/node_modules/@nestjs/platform-express/adapters/utils/get-media-type-version.util.js
+function getMediaTypeVersion(acceptHeader, key) {
+ const mediaRanges = [].concat(acceptHeader ?? []).flatMap((value) => splitOutsideQuotes(value, ","));
+ for (const mediaRange of mediaRanges) {
+ const [, ...parameters] = splitOutsideQuotes(mediaRange, ";");
+ for (const parameter of parameters) {
+ const trimmedParameter = parameter.trim();
+ if (trimmedParameter.startsWith(key)) {
+ const version = trimmedParameter.slice(key.length);
+ if (version.startsWith('"') && version.endsWith('"')) {
+ return version.slice(1, -1).replace(/\\([\s\S])/g, "$1");
+ }
+ return version;
+ }
+ }
+ }
+ return void 0;
+}
+var splitOutsideQuotes;
+var init_get_media_type_version_util = __esm({
+ "../../node_modules/.pnpm/@nestjs+platform-express@12_3e713911c21b6500374058e65a37060a/node_modules/@nestjs/platform-express/adapters/utils/get-media-type-version.util.js"() {
+ splitOutsideQuotes = /* @__PURE__ */ __name((value, separator) => {
+ const parts = [];
+ let start = 0;
+ let isQuoted = false;
+ const len = value.length;
+ for (let index = 0; index < len; index++) {
+ const character = value[index];
+ if (isQuoted && character === "\\") {
+ index++;
+ } else if (character === '"') {
+ isQuoted = !isQuoted;
+ } else if (character === separator && !isQuoted) {
+ parts.push(value.slice(start, index));
+ start = index + 1;
+ }
+ }
+ parts.push(value.slice(start));
+ return parts;
+ }, "splitOutsideQuotes");
+ __name(getMediaTypeVersion, "getMediaTypeVersion");
+ }
+});
+
+// ../../node_modules/.pnpm/@nestjs+common@12.2.0_reflect-metadata@0.2.2_rxjs@7.8.2/node_modules/@nestjs/common/utils/select-exception-filter-metadata.util.js
+var selectExceptionFilterMetadata;
+var init_select_exception_filter_metadata_util = __esm({
+ "../../node_modules/.pnpm/@nestjs+common@12.2.0_reflect-metadata@0.2.2_rxjs@7.8.2/node_modules/@nestjs/common/utils/select-exception-filter-metadata.util.js"() {
+ selectExceptionFilterMetadata = /* @__PURE__ */ __name((filters, exception) => filters.find(({ exceptionMetatypes }) => !exceptionMetatypes.length || exceptionMetatypes.some((ExceptionMetaType) => exception instanceof ExceptionMetaType)), "selectExceptionFilterMetadata");
+ }
+});
+
+// ../../node_modules/.pnpm/@nestjs+common@12.2.0_reflect-metadata@0.2.2_rxjs@7.8.2/node_modules/@nestjs/common/internal.js
+var init_internal = __esm({
+ "../../node_modules/.pnpm/@nestjs+common@12.2.0_reflect-metadata@0.2.2_rxjs@7.8.2/node_modules/@nestjs/common/internal.js"() {
+ init_constants();
+ init_route_paramtypes_enum();
+ init_shared_utils();
+ init_parameter_decorator_options_util();
+ init_load_package_util();
+ init_cli_colors_util();
+ init_random_string_generator_util();
+ init_select_exception_filter_metadata_util();
+ init_route_params_decorator();
+ }
+});
+
+// ../../node_modules/.pnpm/@nestjs+core@12.2.0_@nestjs_74b3aa22af8a41de6299655ec5713214/node_modules/@nestjs/core/helpers/cookies/serialize-cookie.js
+function serializeCookie(name, value, options = {}) {
+ if (typeof name !== "string" || !COOKIE_NAME_REGEXP.test(name)) {
+ throw new TypeError(`Invalid cookie name: ${JSON.stringify(name)}`);
+ }
+ if (typeof value !== "string") {
+ throw new TypeError(`Invalid value for cookie "${name}": expected a string, received ${typeof value}`);
+ }
+ let encodedValue;
+ try {
+ encodedValue = encodeURIComponent(value);
+ } catch {
+ throw new TypeError(`Invalid value for cookie "${name}": not a well-formed string`);
+ }
+ let header = `${name}=${encodedValue}`;
+ const path = options.path ?? "/";
+ if (typeof path !== "string" || !COOKIE_PATH_REGEXP.test(path)) {
+ throw new TypeError(`Invalid path for cookie "${name}"`);
+ }
+ header += `; Path=${path}`;
+ if (options.domain !== void 0) {
+ if (typeof options.domain !== "string" || !COOKIE_DOMAIN_REGEXP.test(options.domain)) {
+ throw new TypeError(`Invalid domain for cookie "${name}"`);
+ }
+ header += `; Domain=${options.domain}`;
+ }
+ if (options.maxAge !== void 0) {
+ if (!Number.isSafeInteger(options.maxAge)) {
+ throw new TypeError(`Invalid maxAge for cookie "${name}": expected an integer number of seconds`);
+ }
+ header += `; Max-Age=${options.maxAge}`;
+ }
+ if (options.expires !== void 0) {
+ if (!(options.expires instanceof Date) || Number.isNaN(options.expires.getTime())) {
+ throw new TypeError(`Invalid expires date for cookie "${name}"`);
+ }
+ header += `; Expires=${options.expires.toUTCString()}`;
+ }
+ if (options.httpOnly) {
+ header += "; HttpOnly";
+ }
+ if (options.secure) {
+ header += "; Secure";
+ }
+ if (options.partitioned) {
+ if (!options.secure) {
+ throw new TypeError(`Invalid options for cookie "${name}": "partitioned" requires "secure: true"`);
+ }
+ header += "; Partitioned";
+ }
+ if (options.priority !== void 0) {
+ const priority = PRIORITY_VALUES.get(String(options.priority).toLowerCase());
+ if (!priority) {
+ throw new TypeError(`Invalid priority for cookie "${name}"`);
+ }
+ header += `; Priority=${priority}`;
+ }
+ if (options.sameSite !== void 0) {
+ const sameSite = SAME_SITE_VALUES.get(String(options.sameSite).toLowerCase());
+ if (!sameSite) {
+ throw new TypeError(`Invalid sameSite for cookie "${name}"`);
+ }
+ if (sameSite === "None" && !options.secure) {
+ throw new TypeError(`Invalid options for cookie "${name}": "sameSite: 'none'" requires "secure: true"`);
+ }
+ header += `; SameSite=${sameSite}`;
+ }
+ return header;
+}
+var COOKIE_NAME_REGEXP, COOKIE_DOMAIN_REGEXP, COOKIE_PATH_REGEXP, SAME_SITE_VALUES, PRIORITY_VALUES;
+var init_serialize_cookie = __esm({
+ "../../node_modules/.pnpm/@nestjs+core@12.2.0_@nestjs_74b3aa22af8a41de6299655ec5713214/node_modules/@nestjs/core/helpers/cookies/serialize-cookie.js"() {
+ COOKIE_NAME_REGEXP = /^[!#$%&'*+\-.^_`|~0-9A-Za-z]+$/;
+ COOKIE_DOMAIN_REGEXP = /^\.?[a-z0-9](?:[a-z0-9-]{0,61}[a-z0-9])?(?:\.[a-z0-9](?:[a-z0-9-]{0,61}[a-z0-9])?)*$/i;
+ COOKIE_PATH_REGEXP = /^[ -:<-~]*$/;
+ SAME_SITE_VALUES = /* @__PURE__ */ new Map([
+ ["strict", "Strict"],
+ ["lax", "Lax"],
+ ["none", "None"]
+ ]);
+ PRIORITY_VALUES = /* @__PURE__ */ new Map([
+ ["low", "Low"],
+ ["medium", "Medium"],
+ ["high", "High"]
+ ]);
+ __name(serializeCookie, "serializeCookie");
+ }
+});
+
+// ../../node_modules/.pnpm/@nestjs+core@12.2.0_@nestjs_74b3aa22af8a41de6299655ec5713214/node_modules/@nestjs/core/adapters/http-adapter.js
+var AbstractHttpAdapter;
+var init_http_adapter = __esm({
+ "../../node_modules/.pnpm/@nestjs+core@12.2.0_@nestjs_74b3aa22af8a41de6299655ec5713214/node_modules/@nestjs/core/adapters/http-adapter.js"() {
+ init_serialize_cookie();
+ AbstractHttpAdapter = class {
+ static {
+ __name(this, "AbstractHttpAdapter");
+ }
+ instance;
+ /**
+ * Native HTTP server created by {@link AbstractHttpAdapter.initHttpServer}
+ * and returned by {@link AbstractHttpAdapter.getHttpServer}.
+ */
+ httpServer;
+ /**
+ * Callback registered through
+ * {@link AbstractHttpAdapter.setOnRouteTriggered}, if any.
+ */
+ onRouteTriggered;
+ /**
+ * Signer built from the `cookies.secret` application option, used by
+ * {@link AbstractHttpAdapter.setCookie} for `signed` cookies.
+ */
+ cookieSigner;
+ /**
+ * @param instance The framework application instance to delegate to (e.g.
+ * an Express `Application`). Subclasses typically create a default one
+ * when none is given.
+ */
+ constructor(instance) {
+ this.instance = instance;
+ }
+ /**
+ * Asynchronous setup hook, awaited by `NestFactory.create()` and again by
+ * `app.init()`, so overrides must be idempotent. No-op by default.
+ *
+ * @see {@link HttpServer.init}
+ */
+ async init() {
+ }
+ /**
+ * Registers a global middleware by delegating to `instance.use(...args)`.
+ *
+ * @see {@link HttpServer.use}
+ */
+ use(...args) {
+ return this.instance.use(...args);
+ }
+ get(...args) {
+ return this.instance.get(...args);
+ }
+ post(...args) {
+ return this.instance.post(...args);
+ }
+ head(...args) {
+ return this.instance.head(...args);
+ }
+ delete(...args) {
+ return this.instance.delete(...args);
+ }
+ put(...args) {
+ return this.instance.put(...args);
+ }
+ patch(...args) {
+ return this.instance.patch(...args);
+ }
+ propfind(...args) {
+ return this.instance.propfind(...args);
+ }
+ proppatch(...args) {
+ return this.instance.proppatch(...args);
+ }
+ mkcol(...args) {
+ return this.instance.mkcol(...args);
+ }
+ copy(...args) {
+ return this.instance.copy(...args);
+ }
+ move(...args) {
+ return this.instance.move(...args);
+ }
+ lock(...args) {
+ return this.instance.lock(...args);
+ }
+ unlock(...args) {
+ return this.instance.unlock(...args);
+ }
+ all(...args) {
+ return this.instance.all(...args);
+ }
+ search(...args) {
+ return this.instance.search(...args);
+ }
+ query(...args) {
+ return this.instance.query(...args);
+ }
+ options(...args) {
+ return this.instance.options(...args);
+ }
+ listen(port, hostname, callback) {
+ return this.instance.listen(port, hostname, callback);
+ }
+ /**
+ * Returns the native HTTP server stored by
+ * {@link AbstractHttpAdapter.initHttpServer} (or
+ * {@link AbstractHttpAdapter.setHttpServer}).
+ *
+ * @see {@link HttpServer.getHttpServer}
+ */
+ getHttpServer() {
+ return this.httpServer;
+ }
+ /**
+ * Replaces the native HTTP server returned by
+ * {@link AbstractHttpAdapter.getHttpServer}. Mostly useful for tests and
+ * for adapters that obtain the server from elsewhere.
+ */
+ setHttpServer(httpServer) {
+ this.httpServer = httpServer;
+ }
+ /**
+ * Replaces the framework application instance that the default method
+ * implementations delegate to.
+ */
+ setInstance(instance) {
+ this.instance = instance;
+ }
+ /**
+ * Returns the framework application instance passed to the constructor
+ * (or set through {@link AbstractHttpAdapter.setInstance}).
+ *
+ * @see {@link HttpServer.getInstance}
+ */
+ getInstance() {
+ return this.instance;
+ }
+ /**
+ * Converts and validates a route path before registration. Returns the
+ * path unchanged by default; override to translate Nest's path syntax to
+ * the router's and to throw on invalid paths.
+ *
+ * @see {@link HttpServer.normalizePath}
+ */
+ normalizePath(path) {
+ return path;
+ }
+ /**
+ * Registers a callback that the router invokes right before each route
+ * handler runs, with the resolved `RequestMethod` and the route path as
+ * declared (before {@link AbstractHttpAdapter.normalizePath}). The router
+ * wraps every handler at registration time, so the callback must be set
+ * before `app.init()` to take effect. Intended for instrumentation and
+ * devtools; there is no need to override it.
+ */
+ setOnRouteTriggered(onRouteTriggered) {
+ this.onRouteTriggered = onRouteTriggered;
+ }
+ /**
+ * Returns the callback registered through
+ * {@link AbstractHttpAdapter.setOnRouteTriggered}, if any. Read by the
+ * router when registering routes.
+ */
+ getOnRouteTriggered() {
+ return this.onRouteTriggered;
+ }
+ /**
+ * Registers a hook to run at the start of every request. No-op by default;
+ * the built-in adapters accept a `(req, res, done) => void | Promise`
+ * function and call `done()` to continue processing. Intended for
+ * instrumentation and devtools.
+ */
+ setOnRequestHook(onRequestHook) {
+ }
+ /**
+ * Registers a hook to run once a response has been sent. No-op by default;
+ * the built-in adapters accept a `(req, res) => void | Promise`
+ * function. Intended for instrumentation and devtools.
+ */
+ setOnResponseHook(onResponseHook) {
+ }
+ /**
+ * Called by `app.close()` before the shutdown hooks run. No-op by default;
+ * override to enter a "shutting down" state.
+ *
+ * @see {@link HttpServer.beforeClose}
+ */
+ beforeClose() {
+ }
+ /**
+ * Translates a framework-native error into something the exception filters
+ * understand. Invoked by the global exception layer with every error it
+ * receives, before it reaches the filters; the returned value is what the
+ * filters see. Returns the error unchanged by default. The built-in
+ * adapters map, for instance, body-parser `SyntaxError`s to
+ * `BadRequestException`.
+ */
+ mapException(error) {
+ return error;
+ }
+ /**
+ * Installs the request hook of the built-in HTTP security features as a
+ * global middleware (`use()`), which fits Express-like frameworks: the hook
+ * gets the request and the response, and a rejection is handed to
+ * `next(error)`, i.e. to the exception layer. Override when the framework
+ * offers an earlier request hook (the Fastify adapter uses `onRequest`).
+ *
+ * @see {@link HttpServer.registerSecurityHook}
+ */
+ registerSecurityHook(hook) {
+ return this.use((request, response, next) => {
+ const error = hook(request, response);
+ return error ? next(error) : next();
+ });
+ }
+ /**
+ * Appends a `Set-Cookie` header through {@link AbstractHttpAdapter.appendHeader},
+ * so every cookie set during a request is sent, on every platform. The
+ * value is percent-encoded, `path` defaults to `/` and `maxAge` is in
+ * seconds (not milliseconds, unlike Express' `res.cookie()`); with
+ * `signed: true`, the value is signed with the first `cookies.secret`.
+ *
+ * Throws a `TypeError` when the name, the value or an attribute is not
+ * valid per RFC 6265 (which rules out header injection through `;`, CR or
+ * LF) or when `sameSite: 'none'` or `partitioned` is set without `secure`,
+ * and an `Error` when `signed` is set but no secret is configured.
+ *
+ * @see {@link HttpServer.setCookie}
+ */
+ setCookie(response, name, value, options = {}) {
+ let cookieValue = value;
+ if (options.signed) {
+ if (!this.cookieSigner) {
+ throw new Error(`Cannot sign cookie "${name}": no cookie secret is configured. Pass "cookies: { secret }" to NestFactory.create().`);
+ }
+ if (typeof value !== "string") {
+ throw new TypeError(`Invalid value for cookie "${name}": expected a string, received ${typeof value}`);
+ }
+ cookieValue = this.cookieSigner.sign(value);
+ }
+ return this.appendHeader(response, "Set-Cookie", serializeCookie(name, cookieValue, options));
+ }
+ /**
+ * Appends a `Set-Cookie` header that expires the cookie immediately.
+ * `path` and `domain` must match the ones the cookie was set with; `maxAge`,
+ * `expires` and `signed` are ignored.
+ *
+ * @see {@link HttpServer.clearCookie}
+ */
+ clearCookie(response, name, options = {}) {
+ return this.appendHeader(response, "Set-Cookie", serializeCookie(name, "", {
+ ...options,
+ maxAge: 0,
+ expires: /* @__PURE__ */ new Date(0)
+ }));
+ }
+ /**
+ * Sets the signer used for `signed` cookies. Called by `NestApplication`
+ * with the signer it builds from the `cookies.secret` application option;
+ * configure that option instead of calling this method.
+ *
+ * @internal
+ */
+ setCookieSigner(signer) {
+ this.cookieSigner = signer;
+ }
+ };
+ }
+});
+
+// ../../node_modules/.pnpm/@nestjs+core@12.2.0_@nestjs_74b3aa22af8a41de6299655ec5713214/node_modules/@nestjs/core/adapters/index.js
+var init_adapters = __esm({
+ "../../node_modules/.pnpm/@nestjs+core@12.2.0_@nestjs_74b3aa22af8a41de6299655ec5713214/node_modules/@nestjs/core/adapters/index.js"() {
+ init_http_adapter();
+ }
+});
+
+// ../../node_modules/.pnpm/@nestjs+core@12.2.0_@nestjs_74b3aa22af8a41de6299655ec5713214/node_modules/@nestjs/core/application-config.js
+var ApplicationConfig;
+var init_application_config = __esm({
+ "../../node_modules/.pnpm/@nestjs+core@12.2.0_@nestjs_74b3aa22af8a41de6299655ec5713214/node_modules/@nestjs/core/application-config.js"() {
+ ApplicationConfig = class {
+ static {
+ __name(this, "ApplicationConfig");
+ }
+ ioAdapter;
+ globalPrefix = "";
+ globalPrefixOptions = {};
+ globalPipes = [];
+ globalFilters = [];
+ globalInterceptors = [];
+ globalGuards = [];
+ globalPreRequestHooks = [];
+ versioningOptions;
+ routeConflictPolicy;
+ routeResolutionStrategy;
+ cookieSigner;
+ globalRequestPipes = [];
+ globalRequestFilters = [];
+ globalRequestInterceptors = [];
+ globalRequestGuards = [];
+ constructor(ioAdapter = null) {
+ this.ioAdapter = ioAdapter;
+ }
+ setGlobalPrefix(prefix) {
+ this.globalPrefix = prefix;
+ }
+ getGlobalPrefix() {
+ return this.globalPrefix;
+ }
+ setGlobalPrefixOptions(options) {
+ this.globalPrefixOptions = options;
+ }
+ getGlobalPrefixOptions() {
+ return this.globalPrefixOptions;
+ }
+ setIoAdapter(ioAdapter) {
+ this.ioAdapter = ioAdapter;
+ }
+ getIoAdapter() {
+ return this.ioAdapter;
+ }
+ addGlobalPipe(pipe) {
+ this.globalPipes.push(pipe);
+ }
+ useGlobalPipes(...pipes) {
+ this.globalPipes = this.globalPipes.concat(pipes);
+ }
+ getGlobalFilters() {
+ return this.globalFilters;
+ }
+ addGlobalFilter(filter) {
+ this.globalFilters.push(filter);
+ }
+ useGlobalFilters(...filters) {
+ this.globalFilters = this.globalFilters.concat(filters);
+ }
+ getGlobalPipes() {
+ return this.globalPipes;
+ }
+ getGlobalInterceptors() {
+ return this.globalInterceptors;
+ }
+ addGlobalInterceptor(interceptor) {
+ this.globalInterceptors.push(interceptor);
+ }
+ useGlobalInterceptors(...interceptors) {
+ this.globalInterceptors = this.globalInterceptors.concat(interceptors);
+ }
+ getGlobalGuards() {
+ return this.globalGuards;
+ }
+ addGlobalGuard(guard) {
+ this.globalGuards.push(guard);
+ }
+ useGlobalGuards(...guards) {
+ this.globalGuards = this.globalGuards.concat(guards);
+ }
+ addGlobalRequestInterceptor(wrapper) {
+ this.globalRequestInterceptors.push(wrapper);
+ }
+ getGlobalRequestInterceptors() {
+ return this.globalRequestInterceptors;
+ }
+ addGlobalRequestPipe(wrapper) {
+ this.globalRequestPipes.push(wrapper);
+ }
+ getGlobalRequestPipes() {
+ return this.globalRequestPipes;
+ }
+ addGlobalRequestFilter(wrapper) {
+ this.globalRequestFilters.push(wrapper);
+ }
+ getGlobalRequestFilters() {
+ return this.globalRequestFilters;
+ }
+ addGlobalRequestGuard(wrapper) {
+ this.globalRequestGuards.push(wrapper);
+ }
+ getGlobalRequestGuards() {
+ return this.globalRequestGuards;
+ }
+ registerPreRequestHook(...hooks) {
+ this.globalPreRequestHooks = this.globalPreRequestHooks.concat(hooks);
+ }
+ getGlobalPreRequestHooks() {
+ return this.globalPreRequestHooks;
+ }
+ enableVersioning(options) {
+ if (Array.isArray(options.defaultVersion)) {
+ options.defaultVersion = Array.from(new Set(options.defaultVersion));
+ }
+ this.versioningOptions = options;
+ }
+ getVersioning() {
+ return this.versioningOptions;
+ }
+ setRouteConflictPolicy(policy) {
+ this.routeConflictPolicy = policy;
+ }
+ getRouteConflictPolicy() {
+ return this.routeConflictPolicy;
+ }
+ setRouteResolutionStrategy(strategy) {
+ this.routeResolutionStrategy = strategy;
+ }
+ getRouteResolutionStrategy() {
+ return this.routeResolutionStrategy;
+ }
+ setCookieSigner(signer) {
+ this.cookieSigner = signer;
+ }
+ getCookieSigner() {
+ return this.cookieSigner;
+ }
+ };
+ }
+});
+
+// ../../node_modules/.pnpm/@nestjs+core@12.2.0_@nestjs_74b3aa22af8a41de6299655ec5713214/node_modules/@nestjs/core/constants.js
+var MESSAGES, APP_INTERCEPTOR, APP_PIPE, APP_GUARD, APP_FILTER, ENHANCER_TOKEN_TO_SUBTYPE_MAP;
+var init_constants2 = __esm({
+ "../../node_modules/.pnpm/@nestjs+core@12.2.0_@nestjs_74b3aa22af8a41de6299655ec5713214/node_modules/@nestjs/core/constants.js"() {
+ MESSAGES = {
+ APPLICATION_START: `Starting Nest application...`,
+ APPLICATION_READY: `Nest application successfully started`,
+ MICROSERVICE_READY: `Nest microservice successfully started`,
+ UNKNOWN_EXCEPTION_MESSAGE: "Internal server error",
+ ERROR_DURING_SHUTDOWN: "Error happened during shutdown",
+ CALL_LISTEN_FIRST: "app.listen() needs to be called before calling app.getUrl()"
+ };
+ APP_INTERCEPTOR = "APP_INTERCEPTOR";
+ APP_PIPE = "APP_PIPE";
+ APP_GUARD = "APP_GUARD";
+ APP_FILTER = "APP_FILTER";
+ ENHANCER_TOKEN_TO_SUBTYPE_MAP = {
+ [APP_GUARD]: "guard",
+ [APP_INTERCEPTOR]: "interceptor",
+ [APP_PIPE]: "pipe",
+ [APP_FILTER]: "filter"
+ };
+ }
+});
+
+// ../../node_modules/.pnpm/@nestjs+core@12.2.0_@nestjs_74b3aa22af8a41de6299655ec5713214/node_modules/@nestjs/core/metadata-scanner.js
+var MetadataScanner;
+var init_metadata_scanner = __esm({
+ "../../node_modules/.pnpm/@nestjs+core@12.2.0_@nestjs_74b3aa22af8a41de6299655ec5713214/node_modules/@nestjs/core/metadata-scanner.js"() {
+ init_internal();
+ MetadataScanner = class {
+ static {
+ __name(this, "MetadataScanner");
+ }
+ cachedScannedPrototypes = /* @__PURE__ */ new Map();
+ /**
+ * @deprecated
+ * @see {@link getAllMethodNames}
+ * @see getAllMethodNames
+ */
+ scanFromPrototype(instance, prototype, callback) {
+ if (!prototype) {
+ return [];
+ }
+ const visitedNames = /* @__PURE__ */ new Map();
+ const result = [];
+ do {
+ for (const property of Object.getOwnPropertyNames(prototype)) {
+ if (visitedNames.has(property)) {
+ continue;
+ }
+ visitedNames.set(property, true);
+ const descriptor = Object.getOwnPropertyDescriptor(prototype, property);
+ if (descriptor.set || descriptor.get || isConstructor(property) || !isFunction(prototype[property])) {
+ continue;
+ }
+ const value = callback(property);
+ if (isNil(value)) {
+ continue;
+ }
+ result.push(value);
+ }
+ } while ((prototype = Reflect.getPrototypeOf(prototype)) && prototype !== Object.prototype);
+ return result;
+ }
+ /**
+ * @deprecated
+ * @see {@link getAllMethodNames}
+ * @see getAllMethodNames
+ */
+ *getAllFilteredMethodNames(prototype) {
+ yield* this.getAllMethodNames(prototype);
+ }
+ getAllMethodNames(prototype) {
+ if (!prototype) {
+ return [];
+ }
+ if (this.cachedScannedPrototypes.has(prototype)) {
+ return this.cachedScannedPrototypes.get(prototype);
+ }
+ const visitedNames = /* @__PURE__ */ new Map();
+ const result = [];
+ this.cachedScannedPrototypes.set(prototype, result);
+ do {
+ for (const property of Object.getOwnPropertyNames(prototype)) {
+ if (visitedNames.has(property)) {
+ continue;
+ }
+ visitedNames.set(property, true);
+ const descriptor = Object.getOwnPropertyDescriptor(prototype, property);
+ if (descriptor.set || descriptor.get || isConstructor(property) || !isFunction(prototype[property])) {
+ continue;
+ }
+ result.push(property);
+ }
+ } while ((prototype = Reflect.getPrototypeOf(prototype)) && prototype !== Object.prototype);
+ return result;
+ }
+ };
+ }
+});
+
+// ../../node_modules/.pnpm/rxjs@7.8.2/node_modules/rxjs/dist/cjs/internal/scheduler/performanceTimestampProvider.js
+var require_performanceTimestampProvider = __commonJS({
+ "../../node_modules/.pnpm/rxjs@7.8.2/node_modules/rxjs/dist/cjs/internal/scheduler/performanceTimestampProvider.js"(exports) {
+ "use strict";
+ Object.defineProperty(exports, "__esModule", { value: true });
+ exports.performanceTimestampProvider = void 0;
+ exports.performanceTimestampProvider = {
+ now: /* @__PURE__ */ __name(function() {
+ return (exports.performanceTimestampProvider.delegate || performance).now();
+ }, "now"),
+ delegate: void 0
+ };
+ }
+});
+
+// ../../node_modules/.pnpm/rxjs@7.8.2/node_modules/rxjs/dist/cjs/internal/scheduler/animationFrameProvider.js
+var require_animationFrameProvider = __commonJS({
+ "../../node_modules/.pnpm/rxjs@7.8.2/node_modules/rxjs/dist/cjs/internal/scheduler/animationFrameProvider.js"(exports) {
+ "use strict";
+ var __read = exports && exports.__read || function(o, n) {
+ var m = typeof Symbol === "function" && o[Symbol.iterator];
+ if (!m) return o;
+ var i = m.call(o), r, ar = [], e;
+ try {
+ while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);
+ } catch (error) {
+ e = { error };
+ } finally {
+ try {
+ if (r && !r.done && (m = i["return"])) m.call(i);
+ } finally {
+ if (e) throw e.error;
+ }
+ }
+ return ar;
+ };
+ var __spreadArray = exports && exports.__spreadArray || function(to, from2) {
+ for (var i = 0, il = from2.length, j = to.length; i < il; i++, j++)
+ to[j] = from2[i];
+ return to;
+ };
+ Object.defineProperty(exports, "__esModule", { value: true });
+ exports.animationFrameProvider = void 0;
+ var Subscription_1 = require_Subscription();
+ exports.animationFrameProvider = {
+ schedule: /* @__PURE__ */ __name(function(callback) {
+ var request = requestAnimationFrame;
+ var cancel = cancelAnimationFrame;
+ var delegate = exports.animationFrameProvider.delegate;
+ if (delegate) {
+ request = delegate.requestAnimationFrame;
+ cancel = delegate.cancelAnimationFrame;
+ }
+ var handle = request(function(timestamp) {
+ cancel = void 0;
+ callback(timestamp);
+ });
+ return new Subscription_1.Subscription(function() {
+ return cancel === null || cancel === void 0 ? void 0 : cancel(handle);
+ });
+ }, "schedule"),
+ requestAnimationFrame: /* @__PURE__ */ __name(function() {
+ var args = [];
+ for (var _i = 0; _i < arguments.length; _i++) {
+ args[_i] = arguments[_i];
+ }
+ var delegate = exports.animationFrameProvider.delegate;
+ return ((delegate === null || delegate === void 0 ? void 0 : delegate.requestAnimationFrame) || requestAnimationFrame).apply(void 0, __spreadArray([], __read(args)));
+ }, "requestAnimationFrame"),
+ cancelAnimationFrame: /* @__PURE__ */ __name(function() {
+ var args = [];
+ for (var _i = 0; _i < arguments.length; _i++) {
+ args[_i] = arguments[_i];
+ }
+ var delegate = exports.animationFrameProvider.delegate;
+ return ((delegate === null || delegate === void 0 ? void 0 : delegate.cancelAnimationFrame) || cancelAnimationFrame).apply(void 0, __spreadArray([], __read(args)));
+ }, "cancelAnimationFrame"),
+ delegate: void 0
+ };
+ }
+});
+
+// ../../node_modules/.pnpm/rxjs@7.8.2/node_modules/rxjs/dist/cjs/internal/observable/dom/animationFrames.js
+var require_animationFrames = __commonJS({
+ "../../node_modules/.pnpm/rxjs@7.8.2/node_modules/rxjs/dist/cjs/internal/observable/dom/animationFrames.js"(exports) {
+ "use strict";
+ Object.defineProperty(exports, "__esModule", { value: true });
+ exports.animationFrames = void 0;
+ var Observable_1 = require_Observable();
+ var performanceTimestampProvider_1 = require_performanceTimestampProvider();
+ var animationFrameProvider_1 = require_animationFrameProvider();
+ function animationFrames(timestampProvider) {
+ return timestampProvider ? animationFramesFactory(timestampProvider) : DEFAULT_ANIMATION_FRAMES;
+ }
+ __name(animationFrames, "animationFrames");
+ exports.animationFrames = animationFrames;
+ function animationFramesFactory(timestampProvider) {
+ return new Observable_1.Observable(function(subscriber) {
+ var provider = timestampProvider || performanceTimestampProvider_1.performanceTimestampProvider;
+ var start = provider.now();
+ var id = 0;
+ var run = /* @__PURE__ */ __name(function() {
+ if (!subscriber.closed) {
+ id = animationFrameProvider_1.animationFrameProvider.requestAnimationFrame(function(timestamp) {
+ id = 0;
+ var now = provider.now();
+ subscriber.next({
+ timestamp: timestampProvider ? now : timestamp,
+ elapsed: now - start
+ });
+ run();
+ });
+ }
+ }, "run");
+ run();
+ return function() {
+ if (id) {
+ animationFrameProvider_1.animationFrameProvider.cancelAnimationFrame(id);
+ }
+ };
+ });
+ }
+ __name(animationFramesFactory, "animationFramesFactory");
+ var DEFAULT_ANIMATION_FRAMES = animationFramesFactory();
+ }
+});
+
+// ../../node_modules/.pnpm/rxjs@7.8.2/node_modules/rxjs/dist/cjs/internal/util/Immediate.js
+var require_Immediate = __commonJS({
+ "../../node_modules/.pnpm/rxjs@7.8.2/node_modules/rxjs/dist/cjs/internal/util/Immediate.js"(exports) {
+ "use strict";
+ Object.defineProperty(exports, "__esModule", { value: true });
+ exports.TestTools = exports.Immediate = void 0;
+ var nextHandle = 1;
+ var resolved;
+ var activeHandles = {};
+ function findAndClearHandle(handle) {
+ if (handle in activeHandles) {
+ delete activeHandles[handle];
+ return true;
+ }
+ return false;
+ }
+ __name(findAndClearHandle, "findAndClearHandle");
+ exports.Immediate = {
+ setImmediate: /* @__PURE__ */ __name(function(cb) {
+ var handle = nextHandle++;
+ activeHandles[handle] = true;
+ if (!resolved) {
+ resolved = Promise.resolve();
+ }
+ resolved.then(function() {
+ return findAndClearHandle(handle) && cb();
+ });
+ return handle;
+ }, "setImmediate"),
+ clearImmediate: /* @__PURE__ */ __name(function(handle) {
+ findAndClearHandle(handle);
+ }, "clearImmediate")
+ };
+ exports.TestTools = {
+ pending: /* @__PURE__ */ __name(function() {
+ return Object.keys(activeHandles).length;
+ }, "pending")
+ };
+ }
+});
+
+// ../../node_modules/.pnpm/rxjs@7.8.2/node_modules/rxjs/dist/cjs/internal/scheduler/immediateProvider.js
+var require_immediateProvider = __commonJS({
+ "../../node_modules/.pnpm/rxjs@7.8.2/node_modules/rxjs/dist/cjs/internal/scheduler/immediateProvider.js"(exports) {
+ "use strict";
+ var __read = exports && exports.__read || function(o, n) {
+ var m = typeof Symbol === "function" && o[Symbol.iterator];
+ if (!m) return o;
+ var i = m.call(o), r, ar = [], e;
+ try {
+ while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);
+ } catch (error) {
+ e = { error };
+ } finally {
+ try {
+ if (r && !r.done && (m = i["return"])) m.call(i);
+ } finally {
+ if (e) throw e.error;
+ }
+ }
+ return ar;
+ };
+ var __spreadArray = exports && exports.__spreadArray || function(to, from2) {
+ for (var i = 0, il = from2.length, j = to.length; i < il; i++, j++)
+ to[j] = from2[i];
+ return to;
+ };
+ Object.defineProperty(exports, "__esModule", { value: true });
+ exports.immediateProvider = void 0;
+ var Immediate_1 = require_Immediate();
+ var setImmediate2 = Immediate_1.Immediate.setImmediate;
+ var clearImmediate = Immediate_1.Immediate.clearImmediate;
+ exports.immediateProvider = {
+ setImmediate: /* @__PURE__ */ __name(function() {
+ var args = [];
+ for (var _i = 0; _i < arguments.length; _i++) {
+ args[_i] = arguments[_i];
+ }
+ var delegate = exports.immediateProvider.delegate;
+ return ((delegate === null || delegate === void 0 ? void 0 : delegate.setImmediate) || setImmediate2).apply(void 0, __spreadArray([], __read(args)));
+ }, "setImmediate"),
+ clearImmediate: /* @__PURE__ */ __name(function(handle) {
+ var delegate = exports.immediateProvider.delegate;
+ return ((delegate === null || delegate === void 0 ? void 0 : delegate.clearImmediate) || clearImmediate)(handle);
+ }, "clearImmediate"),
+ delegate: void 0
+ };
+ }
+});
+
+// ../../node_modules/.pnpm/rxjs@7.8.2/node_modules/rxjs/dist/cjs/internal/scheduler/AsapAction.js
+var require_AsapAction = __commonJS({
+ "../../node_modules/.pnpm/rxjs@7.8.2/node_modules/rxjs/dist/cjs/internal/scheduler/AsapAction.js"(exports) {
+ "use strict";
+ var __extends = exports && exports.__extends || /* @__PURE__ */ (function() {
+ var extendStatics = /* @__PURE__ */ __name(function(d, b) {
+ extendStatics = Object.setPrototypeOf || { __proto__: [] } instanceof Array && function(d2, b2) {
+ d2.__proto__ = b2;
+ } || function(d2, b2) {
+ for (var p in b2) if (Object.prototype.hasOwnProperty.call(b2, p)) d2[p] = b2[p];
+ };
+ return extendStatics(d, b);
+ }, "extendStatics");
+ return function(d, b) {
+ if (typeof b !== "function" && b !== null)
+ throw new TypeError("Class extends value " + String(b) + " is not a constructor or null");
+ extendStatics(d, b);
+ function __() {
+ this.constructor = d;
+ }
+ __name(__, "__");
+ d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());
+ };
+ })();
+ Object.defineProperty(exports, "__esModule", { value: true });
+ exports.AsapAction = void 0;
+ var AsyncAction_1 = require_AsyncAction();
+ var immediateProvider_1 = require_immediateProvider();
+ var AsapAction = (function(_super) {
+ __extends(AsapAction2, _super);
+ function AsapAction2(scheduler, work) {
+ var _this = _super.call(this, scheduler, work) || this;
+ _this.scheduler = scheduler;
+ _this.work = work;
+ return _this;
+ }
+ __name(AsapAction2, "AsapAction");
+ AsapAction2.prototype.requestAsyncId = function(scheduler, id, delay) {
+ if (delay === void 0) {
+ delay = 0;
+ }
+ if (delay !== null && delay > 0) {
+ return _super.prototype.requestAsyncId.call(this, scheduler, id, delay);
+ }
+ scheduler.actions.push(this);
+ return scheduler._scheduled || (scheduler._scheduled = immediateProvider_1.immediateProvider.setImmediate(scheduler.flush.bind(scheduler, void 0)));
+ };
+ AsapAction2.prototype.recycleAsyncId = function(scheduler, id, delay) {
+ var _a;
+ if (delay === void 0) {
+ delay = 0;
+ }
+ if (delay != null ? delay > 0 : this.delay > 0) {
+ return _super.prototype.recycleAsyncId.call(this, scheduler, id, delay);
+ }
+ var actions = scheduler.actions;
+ if (id != null && ((_a = actions[actions.length - 1]) === null || _a === void 0 ? void 0 : _a.id) !== id) {
+ immediateProvider_1.immediateProvider.clearImmediate(id);
+ if (scheduler._scheduled === id) {
+ scheduler._scheduled = void 0;
+ }
+ }
+ return void 0;
+ };
+ return AsapAction2;
+ })(AsyncAction_1.AsyncAction);
+ exports.AsapAction = AsapAction;
+ }
+});
+
+// ../../node_modules/.pnpm/rxjs@7.8.2/node_modules/rxjs/dist/cjs/internal/scheduler/AsapScheduler.js
+var require_AsapScheduler = __commonJS({
+ "../../node_modules/.pnpm/rxjs@7.8.2/node_modules/rxjs/dist/cjs/internal/scheduler/AsapScheduler.js"(exports) {
+ "use strict";
+ var __extends = exports && exports.__extends || /* @__PURE__ */ (function() {
+ var extendStatics = /* @__PURE__ */ __name(function(d, b) {
+ extendStatics = Object.setPrototypeOf || { __proto__: [] } instanceof Array && function(d2, b2) {
+ d2.__proto__ = b2;
+ } || function(d2, b2) {
+ for (var p in b2) if (Object.prototype.hasOwnProperty.call(b2, p)) d2[p] = b2[p];
+ };
+ return extendStatics(d, b);
+ }, "extendStatics");
+ return function(d, b) {
+ if (typeof b !== "function" && b !== null)
+ throw new TypeError("Class extends value " + String(b) + " is not a constructor or null");
+ extendStatics(d, b);
+ function __() {
+ this.constructor = d;
+ }
+ __name(__, "__");
+ d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());
+ };
+ })();
+ Object.defineProperty(exports, "__esModule", { value: true });
+ exports.AsapScheduler = void 0;
+ var AsyncScheduler_1 = require_AsyncScheduler();
+ var AsapScheduler = (function(_super) {
+ __extends(AsapScheduler2, _super);
+ function AsapScheduler2() {
+ return _super !== null && _super.apply(this, arguments) || this;
+ }
+ __name(AsapScheduler2, "AsapScheduler");
+ AsapScheduler2.prototype.flush = function(action) {
+ this._active = true;
+ var flushId = this._scheduled;
+ this._scheduled = void 0;
+ var actions = this.actions;
+ var error;
+ action = action || actions.shift();
+ do {
+ if (error = action.execute(action.state, action.delay)) {
+ break;
+ }
+ } while ((action = actions[0]) && action.id === flushId && actions.shift());
+ this._active = false;
+ if (error) {
+ while ((action = actions[0]) && action.id === flushId && actions.shift()) {
+ action.unsubscribe();
+ }
+ throw error;
+ }
+ };
+ return AsapScheduler2;
+ })(AsyncScheduler_1.AsyncScheduler);
+ exports.AsapScheduler = AsapScheduler;
+ }
+});
+
+// ../../node_modules/.pnpm/rxjs@7.8.2/node_modules/rxjs/dist/cjs/internal/scheduler/asap.js
+var require_asap = __commonJS({
+ "../../node_modules/.pnpm/rxjs@7.8.2/node_modules/rxjs/dist/cjs/internal/scheduler/asap.js"(exports) {
+ "use strict";
+ Object.defineProperty(exports, "__esModule", { value: true });
+ exports.asap = exports.asapScheduler = void 0;
+ var AsapAction_1 = require_AsapAction();
+ var AsapScheduler_1 = require_AsapScheduler();
+ exports.asapScheduler = new AsapScheduler_1.AsapScheduler(AsapAction_1.AsapAction);
+ exports.asap = exports.asapScheduler;
+ }
+});
+
+// ../../node_modules/.pnpm/rxjs@7.8.2/node_modules/rxjs/dist/cjs/internal/scheduler/QueueAction.js
+var require_QueueAction = __commonJS({
+ "../../node_modules/.pnpm/rxjs@7.8.2/node_modules/rxjs/dist/cjs/internal/scheduler/QueueAction.js"(exports) {
+ "use strict";
+ var __extends = exports && exports.__extends || /* @__PURE__ */ (function() {
+ var extendStatics = /* @__PURE__ */ __name(function(d, b) {
+ extendStatics = Object.setPrototypeOf || { __proto__: [] } instanceof Array && function(d2, b2) {
+ d2.__proto__ = b2;
+ } || function(d2, b2) {
+ for (var p in b2) if (Object.prototype.hasOwnProperty.call(b2, p)) d2[p] = b2[p];
+ };
+ return extendStatics(d, b);
+ }, "extendStatics");
+ return function(d, b) {
+ if (typeof b !== "function" && b !== null)
+ throw new TypeError("Class extends value " + String(b) + " is not a constructor or null");
+ extendStatics(d, b);
+ function __() {
+ this.constructor = d;
+ }
+ __name(__, "__");
+ d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());
+ };
+ })();
+ Object.defineProperty(exports, "__esModule", { value: true });
+ exports.QueueAction = void 0;
+ var AsyncAction_1 = require_AsyncAction();
+ var QueueAction = (function(_super) {
+ __extends(QueueAction2, _super);
+ function QueueAction2(scheduler, work) {
+ var _this = _super.call(this, scheduler, work) || this;
+ _this.scheduler = scheduler;
+ _this.work = work;
+ return _this;
+ }
+ __name(QueueAction2, "QueueAction");
+ QueueAction2.prototype.schedule = function(state, delay) {
+ if (delay === void 0) {
+ delay = 0;
+ }
+ if (delay > 0) {
+ return _super.prototype.schedule.call(this, state, delay);
+ }
+ this.delay = delay;
+ this.state = state;
+ this.scheduler.flush(this);
+ return this;
+ };
+ QueueAction2.prototype.execute = function(state, delay) {
+ return delay > 0 || this.closed ? _super.prototype.execute.call(this, state, delay) : this._execute(state, delay);
+ };
+ QueueAction2.prototype.requestAsyncId = function(scheduler, id, delay) {
+ if (delay === void 0) {
+ delay = 0;
+ }
+ if (delay != null && delay > 0 || delay == null && this.delay > 0) {
+ return _super.prototype.requestAsyncId.call(this, scheduler, id, delay);
+ }
+ scheduler.flush(this);
+ return 0;
+ };
+ return QueueAction2;
+ })(AsyncAction_1.AsyncAction);
+ exports.QueueAction = QueueAction;
+ }
+});
+
+// ../../node_modules/.pnpm/rxjs@7.8.2/node_modules/rxjs/dist/cjs/internal/scheduler/QueueScheduler.js
+var require_QueueScheduler = __commonJS({
+ "../../node_modules/.pnpm/rxjs@7.8.2/node_modules/rxjs/dist/cjs/internal/scheduler/QueueScheduler.js"(exports) {
+ "use strict";
+ var __extends = exports && exports.__extends || /* @__PURE__ */ (function() {
+ var extendStatics = /* @__PURE__ */ __name(function(d, b) {
+ extendStatics = Object.setPrototypeOf || { __proto__: [] } instanceof Array && function(d2, b2) {
+ d2.__proto__ = b2;
+ } || function(d2, b2) {
+ for (var p in b2) if (Object.prototype.hasOwnProperty.call(b2, p)) d2[p] = b2[p];
+ };
+ return extendStatics(d, b);
+ }, "extendStatics");
+ return function(d, b) {
+ if (typeof b !== "function" && b !== null)
+ throw new TypeError("Class extends value " + String(b) + " is not a constructor or null");
+ extendStatics(d, b);
+ function __() {
+ this.constructor = d;
+ }
+ __name(__, "__");
+ d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());
+ };
+ })();
+ Object.defineProperty(exports, "__esModule", { value: true });
+ exports.QueueScheduler = void 0;
+ var AsyncScheduler_1 = require_AsyncScheduler();
+ var QueueScheduler = (function(_super) {
+ __extends(QueueScheduler2, _super);
+ function QueueScheduler2() {
+ return _super !== null && _super.apply(this, arguments) || this;
+ }
+ __name(QueueScheduler2, "QueueScheduler");
+ return QueueScheduler2;
+ })(AsyncScheduler_1.AsyncScheduler);
+ exports.QueueScheduler = QueueScheduler;
+ }
+});
+
+// ../../node_modules/.pnpm/rxjs@7.8.2/node_modules/rxjs/dist/cjs/internal/scheduler/queue.js
+var require_queue = __commonJS({
+ "../../node_modules/.pnpm/rxjs@7.8.2/node_modules/rxjs/dist/cjs/internal/scheduler/queue.js"(exports) {
+ "use strict";
+ Object.defineProperty(exports, "__esModule", { value: true });
+ exports.queue = exports.queueScheduler = void 0;
+ var QueueAction_1 = require_QueueAction();
+ var QueueScheduler_1 = require_QueueScheduler();
+ exports.queueScheduler = new QueueScheduler_1.QueueScheduler(QueueAction_1.QueueAction);
+ exports.queue = exports.queueScheduler;
+ }
+});
+
+// ../../node_modules/.pnpm/rxjs@7.8.2/node_modules/rxjs/dist/cjs/internal/scheduler/AnimationFrameAction.js
+var require_AnimationFrameAction = __commonJS({
+ "../../node_modules/.pnpm/rxjs@7.8.2/node_modules/rxjs/dist/cjs/internal/scheduler/AnimationFrameAction.js"(exports) {
+ "use strict";
+ var __extends = exports && exports.__extends || /* @__PURE__ */ (function() {
+ var extendStatics = /* @__PURE__ */ __name(function(d, b) {
+ extendStatics = Object.setPrototypeOf || { __proto__: [] } instanceof Array && function(d2, b2) {
+ d2.__proto__ = b2;
+ } || function(d2, b2) {
+ for (var p in b2) if (Object.prototype.hasOwnProperty.call(b2, p)) d2[p] = b2[p];
+ };
+ return extendStatics(d, b);
+ }, "extendStatics");
+ return function(d, b) {
+ if (typeof b !== "function" && b !== null)
+ throw new TypeError("Class extends value " + String(b) + " is not a constructor or null");
+ extendStatics(d, b);
+ function __() {
+ this.constructor = d;
+ }
+ __name(__, "__");
+ d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());
+ };
+ })();
+ Object.defineProperty(exports, "__esModule", { value: true });
+ exports.AnimationFrameAction = void 0;
+ var AsyncAction_1 = require_AsyncAction();
+ var animationFrameProvider_1 = require_animationFrameProvider();
+ var AnimationFrameAction = (function(_super) {
+ __extends(AnimationFrameAction2, _super);
+ function AnimationFrameAction2(scheduler, work) {
+ var _this = _super.call(this, scheduler, work) || this;
+ _this.scheduler = scheduler;
+ _this.work = work;
+ return _this;
+ }
+ __name(AnimationFrameAction2, "AnimationFrameAction");
+ AnimationFrameAction2.prototype.requestAsyncId = function(scheduler, id, delay) {
+ if (delay === void 0) {
+ delay = 0;
+ }
+ if (delay !== null && delay > 0) {
+ return _super.prototype.requestAsyncId.call(this, scheduler, id, delay);
+ }
+ scheduler.actions.push(this);
+ return scheduler._scheduled || (scheduler._scheduled = animationFrameProvider_1.animationFrameProvider.requestAnimationFrame(function() {
+ return scheduler.flush(void 0);
+ }));
+ };
+ AnimationFrameAction2.prototype.recycleAsyncId = function(scheduler, id, delay) {
+ var _a;
+ if (delay === void 0) {
+ delay = 0;
+ }
+ if (delay != null ? delay > 0 : this.delay > 0) {
+ return _super.prototype.recycleAsyncId.call(this, scheduler, id, delay);
+ }
+ var actions = scheduler.actions;
+ if (id != null && id === scheduler._scheduled && ((_a = actions[actions.length - 1]) === null || _a === void 0 ? void 0 : _a.id) !== id) {
+ animationFrameProvider_1.animationFrameProvider.cancelAnimationFrame(id);
+ scheduler._scheduled = void 0;
+ }
+ return void 0;
+ };
+ return AnimationFrameAction2;
+ })(AsyncAction_1.AsyncAction);
+ exports.AnimationFrameAction = AnimationFrameAction;
+ }
+});
+
+// ../../node_modules/.pnpm/rxjs@7.8.2/node_modules/rxjs/dist/cjs/internal/scheduler/AnimationFrameScheduler.js
+var require_AnimationFrameScheduler = __commonJS({
+ "../../node_modules/.pnpm/rxjs@7.8.2/node_modules/rxjs/dist/cjs/internal/scheduler/AnimationFrameScheduler.js"(exports) {
+ "use strict";
+ var __extends = exports && exports.__extends || /* @__PURE__ */ (function() {
+ var extendStatics = /* @__PURE__ */ __name(function(d, b) {
+ extendStatics = Object.setPrototypeOf || { __proto__: [] } instanceof Array && function(d2, b2) {
+ d2.__proto__ = b2;
+ } || function(d2, b2) {
+ for (var p in b2) if (Object.prototype.hasOwnProperty.call(b2, p)) d2[p] = b2[p];
+ };
+ return extendStatics(d, b);
+ }, "extendStatics");
+ return function(d, b) {
+ if (typeof b !== "function" && b !== null)
+ throw new TypeError("Class extends value " + String(b) + " is not a constructor or null");
+ extendStatics(d, b);
+ function __() {
+ this.constructor = d;
+ }
+ __name(__, "__");
+ d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());
+ };
+ })();
+ Object.defineProperty(exports, "__esModule", { value: true });
+ exports.AnimationFrameScheduler = void 0;
+ var AsyncScheduler_1 = require_AsyncScheduler();
+ var AnimationFrameScheduler = (function(_super) {
+ __extends(AnimationFrameScheduler2, _super);
+ function AnimationFrameScheduler2() {
+ return _super !== null && _super.apply(this, arguments) || this;
+ }
+ __name(AnimationFrameScheduler2, "AnimationFrameScheduler");
+ AnimationFrameScheduler2.prototype.flush = function(action) {
+ this._active = true;
+ var flushId;
+ if (action) {
+ flushId = action.id;
+ } else {
+ flushId = this._scheduled;
+ this._scheduled = void 0;
+ }
+ var actions = this.actions;
+ var error;
+ action = action || actions.shift();
+ do {
+ if (error = action.execute(action.state, action.delay)) {
+ break;
+ }
+ } while ((action = actions[0]) && action.id === flushId && actions.shift());
+ this._active = false;
+ if (error) {
+ while ((action = actions[0]) && action.id === flushId && actions.shift()) {
+ action.unsubscribe();
+ }
+ throw error;
+ }
+ };
+ return AnimationFrameScheduler2;
+ })(AsyncScheduler_1.AsyncScheduler);
+ exports.AnimationFrameScheduler = AnimationFrameScheduler;
+ }
+});
+
+// ../../node_modules/.pnpm/rxjs@7.8.2/node_modules/rxjs/dist/cjs/internal/scheduler/animationFrame.js
+var require_animationFrame = __commonJS({
+ "../../node_modules/.pnpm/rxjs@7.8.2/node_modules/rxjs/dist/cjs/internal/scheduler/animationFrame.js"(exports) {
+ "use strict";
+ Object.defineProperty(exports, "__esModule", { value: true });
+ exports.animationFrame = exports.animationFrameScheduler = void 0;
+ var AnimationFrameAction_1 = require_AnimationFrameAction();
+ var AnimationFrameScheduler_1 = require_AnimationFrameScheduler();
+ exports.animationFrameScheduler = new AnimationFrameScheduler_1.AnimationFrameScheduler(AnimationFrameAction_1.AnimationFrameAction);
+ exports.animationFrame = exports.animationFrameScheduler;
+ }
+});
+
+// ../../node_modules/.pnpm/rxjs@7.8.2/node_modules/rxjs/dist/cjs/internal/scheduler/VirtualTimeScheduler.js
+var require_VirtualTimeScheduler = __commonJS({
+ "../../node_modules/.pnpm/rxjs@7.8.2/node_modules/rxjs/dist/cjs/internal/scheduler/VirtualTimeScheduler.js"(exports) {
+ "use strict";
+ var __extends = exports && exports.__extends || /* @__PURE__ */ (function() {
+ var extendStatics = /* @__PURE__ */ __name(function(d, b) {
+ extendStatics = Object.setPrototypeOf || { __proto__: [] } instanceof Array && function(d2, b2) {
+ d2.__proto__ = b2;
+ } || function(d2, b2) {
+ for (var p in b2) if (Object.prototype.hasOwnProperty.call(b2, p)) d2[p] = b2[p];
+ };
+ return extendStatics(d, b);
+ }, "extendStatics");
+ return function(d, b) {
+ if (typeof b !== "function" && b !== null)
+ throw new TypeError("Class extends value " + String(b) + " is not a constructor or null");
+ extendStatics(d, b);
+ function __() {
+ this.constructor = d;
+ }
+ __name(__, "__");
+ d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());
+ };
+ })();
+ Object.defineProperty(exports, "__esModule", { value: true });
+ exports.VirtualAction = exports.VirtualTimeScheduler = void 0;
+ var AsyncAction_1 = require_AsyncAction();
+ var Subscription_1 = require_Subscription();
+ var AsyncScheduler_1 = require_AsyncScheduler();
+ var VirtualTimeScheduler = (function(_super) {
+ __extends(VirtualTimeScheduler2, _super);
+ function VirtualTimeScheduler2(schedulerActionCtor, maxFrames) {
+ if (schedulerActionCtor === void 0) {
+ schedulerActionCtor = VirtualAction;
+ }
+ if (maxFrames === void 0) {
+ maxFrames = Infinity;
+ }
+ var _this = _super.call(this, schedulerActionCtor, function() {
+ return _this.frame;
+ }) || this;
+ _this.maxFrames = maxFrames;
+ _this.frame = 0;
+ _this.index = -1;
+ return _this;
+ }
+ __name(VirtualTimeScheduler2, "VirtualTimeScheduler");
+ VirtualTimeScheduler2.prototype.flush = function() {
+ var _a = this, actions = _a.actions, maxFrames = _a.maxFrames;
+ var error;
+ var action;
+ while ((action = actions[0]) && action.delay <= maxFrames) {
+ actions.shift();
+ this.frame = action.delay;
+ if (error = action.execute(action.state, action.delay)) {
+ break;
+ }
+ }
+ if (error) {
+ while (action = actions.shift()) {
+ action.unsubscribe();
+ }
+ throw error;
+ }
+ };
+ VirtualTimeScheduler2.frameTimeFactor = 10;
+ return VirtualTimeScheduler2;
+ })(AsyncScheduler_1.AsyncScheduler);
+ exports.VirtualTimeScheduler = VirtualTimeScheduler;
+ var VirtualAction = (function(_super) {
+ __extends(VirtualAction2, _super);
+ function VirtualAction2(scheduler, work, index) {
+ if (index === void 0) {
+ index = scheduler.index += 1;
+ }
+ var _this = _super.call(this, scheduler, work) || this;
+ _this.scheduler = scheduler;
+ _this.work = work;
+ _this.index = index;
+ _this.active = true;
+ _this.index = scheduler.index = index;
+ return _this;
+ }
+ __name(VirtualAction2, "VirtualAction");
+ VirtualAction2.prototype.schedule = function(state, delay) {
+ if (delay === void 0) {
+ delay = 0;
+ }
+ if (Number.isFinite(delay)) {
+ if (!this.id) {
+ return _super.prototype.schedule.call(this, state, delay);
+ }
+ this.active = false;
+ var action = new VirtualAction2(this.scheduler, this.work);
+ this.add(action);
+ return action.schedule(state, delay);
+ } else {
+ return Subscription_1.Subscription.EMPTY;
+ }
+ };
+ VirtualAction2.prototype.requestAsyncId = function(scheduler, id, delay) {
+ if (delay === void 0) {
+ delay = 0;
+ }
+ this.delay = scheduler.frame + delay;
+ var actions = scheduler.actions;
+ actions.push(this);
+ actions.sort(VirtualAction2.sortActions);
+ return 1;
+ };
+ VirtualAction2.prototype.recycleAsyncId = function(scheduler, id, delay) {
+ if (delay === void 0) {
+ delay = 0;
+ }
+ return void 0;
+ };
+ VirtualAction2.prototype._execute = function(state, delay) {
+ if (this.active === true) {
+ return _super.prototype._execute.call(this, state, delay);
+ }
+ };
+ VirtualAction2.sortActions = function(a, b) {
+ if (a.delay === b.delay) {
+ if (a.index === b.index) {
+ return 0;
+ } else if (a.index > b.index) {
+ return 1;
+ } else {
+ return -1;
+ }
+ } else if (a.delay > b.delay) {
+ return 1;
+ } else {
+ return -1;
+ }
+ };
+ return VirtualAction2;
+ })(AsyncAction_1.AsyncAction);
+ exports.VirtualAction = VirtualAction;
+ }
+});
+
+// ../../node_modules/.pnpm/rxjs@7.8.2/node_modules/rxjs/dist/cjs/internal/util/isObservable.js
+var require_isObservable = __commonJS({
+ "../../node_modules/.pnpm/rxjs@7.8.2/node_modules/rxjs/dist/cjs/internal/util/isObservable.js"(exports) {
+ "use strict";
+ Object.defineProperty(exports, "__esModule", { value: true });
+ exports.isObservable = void 0;
+ var Observable_1 = require_Observable();
+ var isFunction_1 = require_isFunction();
+ function isObservable6(obj) {
+ return !!obj && (obj instanceof Observable_1.Observable || isFunction_1.isFunction(obj.lift) && isFunction_1.isFunction(obj.subscribe));
+ }
+ __name(isObservable6, "isObservable");
+ exports.isObservable = isObservable6;
+ }
+});
+
+// ../../node_modules/.pnpm/rxjs@7.8.2/node_modules/rxjs/dist/cjs/internal/lastValueFrom.js
+var require_lastValueFrom = __commonJS({
+ "../../node_modules/.pnpm/rxjs@7.8.2/node_modules/rxjs/dist/cjs/internal/lastValueFrom.js"(exports) {
+ "use strict";
+ Object.defineProperty(exports, "__esModule", { value: true });
+ exports.lastValueFrom = void 0;
+ var EmptyError_1 = require_EmptyError();
+ function lastValueFrom4(source, config) {
+ var hasConfig = typeof config === "object";
+ return new Promise(function(resolve, reject) {
+ var _hasValue = false;
+ var _value;
+ source.subscribe({
+ next: /* @__PURE__ */ __name(function(value) {
+ _value = value;
+ _hasValue = true;
+ }, "next"),
+ error: reject,
+ complete: /* @__PURE__ */ __name(function() {
+ if (_hasValue) {
+ resolve(_value);
+ } else if (hasConfig) {
+ resolve(config.defaultValue);
+ } else {
+ reject(new EmptyError_1.EmptyError());
+ }
+ }, "complete")
+ });
+ });
+ }
+ __name(lastValueFrom4, "lastValueFrom");
+ exports.lastValueFrom = lastValueFrom4;
+ }
+});
+
+// ../../node_modules/.pnpm/rxjs@7.8.2/node_modules/rxjs/dist/cjs/internal/firstValueFrom.js
+var require_firstValueFrom = __commonJS({
+ "../../node_modules/.pnpm/rxjs@7.8.2/node_modules/rxjs/dist/cjs/internal/firstValueFrom.js"(exports) {
+ "use strict";
+ Object.defineProperty(exports, "__esModule", { value: true });
+ exports.firstValueFrom = void 0;
+ var EmptyError_1 = require_EmptyError();
+ var Subscriber_1 = require_Subscriber();
+ function firstValueFrom(source, config) {
+ var hasConfig = typeof config === "object";
+ return new Promise(function(resolve, reject) {
+ var subscriber = new Subscriber_1.SafeSubscriber({
+ next: /* @__PURE__ */ __name(function(value) {
+ resolve(value);
+ subscriber.unsubscribe();
+ }, "next"),
+ error: reject,
+ complete: /* @__PURE__ */ __name(function() {
+ if (hasConfig) {
+ resolve(config.defaultValue);
+ } else {
+ reject(new EmptyError_1.EmptyError());
+ }
+ }, "complete")
+ });
+ source.subscribe(subscriber);
+ });
+ }
+ __name(firstValueFrom, "firstValueFrom");
+ exports.firstValueFrom = firstValueFrom;
+ }
+});
+
+// ../../node_modules/.pnpm/rxjs@7.8.2/node_modules/rxjs/dist/cjs/internal/observable/bindCallbackInternals.js
+var require_bindCallbackInternals = __commonJS({
+ "../../node_modules/.pnpm/rxjs@7.8.2/node_modules/rxjs/dist/cjs/internal/observable/bindCallbackInternals.js"(exports) {
+ "use strict";
+ var __read = exports && exports.__read || function(o, n) {
+ var m = typeof Symbol === "function" && o[Symbol.iterator];
+ if (!m) return o;
+ var i = m.call(o), r, ar = [], e;
+ try {
+ while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);
+ } catch (error) {
+ e = { error };
+ } finally {
+ try {
+ if (r && !r.done && (m = i["return"])) m.call(i);
+ } finally {
+ if (e) throw e.error;
+ }
+ }
+ return ar;
+ };
+ var __spreadArray = exports && exports.__spreadArray || function(to, from2) {
+ for (var i = 0, il = from2.length, j = to.length; i < il; i++, j++)
+ to[j] = from2[i];
+ return to;
+ };
+ Object.defineProperty(exports, "__esModule", { value: true });
+ exports.bindCallbackInternals = void 0;
+ var isScheduler_1 = require_isScheduler();
+ var Observable_1 = require_Observable();
+ var subscribeOn_1 = require_subscribeOn();
+ var mapOneOrManyArgs_1 = require_mapOneOrManyArgs();
+ var observeOn_1 = require_observeOn();
+ var AsyncSubject_1 = require_AsyncSubject();
+ function bindCallbackInternals(isNodeStyle, callbackFunc, resultSelector, scheduler) {
+ if (resultSelector) {
+ if (isScheduler_1.isScheduler(resultSelector)) {
+ scheduler = resultSelector;
+ } else {
+ return function() {
+ var args = [];
+ for (var _i = 0; _i < arguments.length; _i++) {
+ args[_i] = arguments[_i];
+ }
+ return bindCallbackInternals(isNodeStyle, callbackFunc, scheduler).apply(this, args).pipe(mapOneOrManyArgs_1.mapOneOrManyArgs(resultSelector));
+ };
+ }
+ }
+ if (scheduler) {
+ return function() {
+ var args = [];
+ for (var _i = 0; _i < arguments.length; _i++) {
+ args[_i] = arguments[_i];
+ }
+ return bindCallbackInternals(isNodeStyle, callbackFunc).apply(this, args).pipe(subscribeOn_1.subscribeOn(scheduler), observeOn_1.observeOn(scheduler));
+ };
+ }
+ return function() {
+ var _this = this;
+ var args = [];
+ for (var _i = 0; _i < arguments.length; _i++) {
+ args[_i] = arguments[_i];
+ }
+ var subject = new AsyncSubject_1.AsyncSubject();
+ var uninitialized = true;
+ return new Observable_1.Observable(function(subscriber) {
+ var subs = subject.subscribe(subscriber);
+ if (uninitialized) {
+ uninitialized = false;
+ var isAsync_1 = false;
+ var isComplete_1 = false;
+ callbackFunc.apply(_this, __spreadArray(__spreadArray([], __read(args)), [
+ function() {
+ var results = [];
+ for (var _i2 = 0; _i2 < arguments.length; _i2++) {
+ results[_i2] = arguments[_i2];
+ }
+ if (isNodeStyle) {
+ var err = results.shift();
+ if (err != null) {
+ subject.error(err);
+ return;
+ }
+ }
+ subject.next(1 < results.length ? results : results[0]);
+ isComplete_1 = true;
+ if (isAsync_1) {
+ subject.complete();
+ }
+ }
+ ]));
+ if (isComplete_1) {
+ subject.complete();
+ }
+ isAsync_1 = true;
+ }
+ return subs;
+ });
+ };
+ }
+ __name(bindCallbackInternals, "bindCallbackInternals");
+ exports.bindCallbackInternals = bindCallbackInternals;
+ }
+});
+
+// ../../node_modules/.pnpm/rxjs@7.8.2/node_modules/rxjs/dist/cjs/internal/observable/bindCallback.js
+var require_bindCallback = __commonJS({
+ "../../node_modules/.pnpm/rxjs@7.8.2/node_modules/rxjs/dist/cjs/internal/observable/bindCallback.js"(exports) {
+ "use strict";
+ Object.defineProperty(exports, "__esModule", { value: true });
+ exports.bindCallback = void 0;
+ var bindCallbackInternals_1 = require_bindCallbackInternals();
+ function bindCallback(callbackFunc, resultSelector, scheduler) {
+ return bindCallbackInternals_1.bindCallbackInternals(false, callbackFunc, resultSelector, scheduler);
+ }
+ __name(bindCallback, "bindCallback");
+ exports.bindCallback = bindCallback;
+ }
+});
+
+// ../../node_modules/.pnpm/rxjs@7.8.2/node_modules/rxjs/dist/cjs/internal/observable/bindNodeCallback.js
+var require_bindNodeCallback = __commonJS({
+ "../../node_modules/.pnpm/rxjs@7.8.2/node_modules/rxjs/dist/cjs/internal/observable/bindNodeCallback.js"(exports) {
+ "use strict";
+ Object.defineProperty(exports, "__esModule", { value: true });
+ exports.bindNodeCallback = void 0;
+ var bindCallbackInternals_1 = require_bindCallbackInternals();
+ function bindNodeCallback(callbackFunc, resultSelector, scheduler) {
+ return bindCallbackInternals_1.bindCallbackInternals(true, callbackFunc, resultSelector, scheduler);
+ }
+ __name(bindNodeCallback, "bindNodeCallback");
+ exports.bindNodeCallback = bindNodeCallback;
+ }
+});
+
+// ../../node_modules/.pnpm/rxjs@7.8.2/node_modules/rxjs/dist/cjs/internal/observable/defer.js
+var require_defer = __commonJS({
+ "../../node_modules/.pnpm/rxjs@7.8.2/node_modules/rxjs/dist/cjs/internal/observable/defer.js"(exports) {
+ "use strict";
+ Object.defineProperty(exports, "__esModule", { value: true });
+ exports.defer = void 0;
+ var Observable_1 = require_Observable();
+ var innerFrom_1 = require_innerFrom();
+ function defer2(observableFactory) {
+ return new Observable_1.Observable(function(subscriber) {
+ innerFrom_1.innerFrom(observableFactory()).subscribe(subscriber);
+ });
+ }
+ __name(defer2, "defer");
+ exports.defer = defer2;
+ }
+});
+
+// ../../node_modules/.pnpm/rxjs@7.8.2/node_modules/rxjs/dist/cjs/internal/observable/connectable.js
+var require_connectable = __commonJS({
+ "../../node_modules/.pnpm/rxjs@7.8.2/node_modules/rxjs/dist/cjs/internal/observable/connectable.js"(exports) {
+ "use strict";
+ Object.defineProperty(exports, "__esModule", { value: true });
+ exports.connectable = void 0;
+ var Subject_1 = require_Subject();
+ var Observable_1 = require_Observable();
+ var defer_1 = require_defer();
+ var DEFAULT_CONFIG = {
+ connector: /* @__PURE__ */ __name(function() {
+ return new Subject_1.Subject();
+ }, "connector"),
+ resetOnDisconnect: true
+ };
+ function connectable(source, config) {
+ if (config === void 0) {
+ config = DEFAULT_CONFIG;
+ }
+ var connection = null;
+ var connector = config.connector, _a = config.resetOnDisconnect, resetOnDisconnect = _a === void 0 ? true : _a;
+ var subject = connector();
+ var result = new Observable_1.Observable(function(subscriber) {
+ return subject.subscribe(subscriber);
+ });
+ result.connect = function() {
+ if (!connection || connection.closed) {
+ connection = defer_1.defer(function() {
+ return source;
+ }).subscribe(subject);
+ if (resetOnDisconnect) {
+ connection.add(function() {
+ return subject = connector();
+ });
+ }
+ }
+ return connection;
+ };
+ return result;
+ }
+ __name(connectable, "connectable");
+ exports.connectable = connectable;
+ }
+});
+
+// ../../node_modules/.pnpm/rxjs@7.8.2/node_modules/rxjs/dist/cjs/internal/observable/forkJoin.js
+var require_forkJoin = __commonJS({
+ "../../node_modules/.pnpm/rxjs@7.8.2/node_modules/rxjs/dist/cjs/internal/observable/forkJoin.js"(exports) {
+ "use strict";
+ Object.defineProperty(exports, "__esModule", { value: true });
+ exports.forkJoin = void 0;
+ var Observable_1 = require_Observable();
+ var argsArgArrayOrObject_1 = require_argsArgArrayOrObject();
+ var innerFrom_1 = require_innerFrom();
+ var args_1 = require_args();
+ var OperatorSubscriber_1 = require_OperatorSubscriber();
+ var mapOneOrManyArgs_1 = require_mapOneOrManyArgs();
+ var createObject_1 = require_createObject();
+ function forkJoin() {
+ var args = [];
+ for (var _i = 0; _i < arguments.length; _i++) {
+ args[_i] = arguments[_i];
+ }
+ var resultSelector = args_1.popResultSelector(args);
+ var _a = argsArgArrayOrObject_1.argsArgArrayOrObject(args), sources = _a.args, keys = _a.keys;
+ var result = new Observable_1.Observable(function(subscriber) {
+ var length = sources.length;
+ if (!length) {
+ subscriber.complete();
+ return;
+ }
+ var values = new Array(length);
+ var remainingCompletions = length;
+ var remainingEmissions = length;
+ var _loop_1 = /* @__PURE__ */ __name(function(sourceIndex2) {
+ var hasValue = false;
+ innerFrom_1.innerFrom(sources[sourceIndex2]).subscribe(OperatorSubscriber_1.createOperatorSubscriber(subscriber, function(value) {
+ if (!hasValue) {
+ hasValue = true;
+ remainingEmissions--;
+ }
+ values[sourceIndex2] = value;
+ }, function() {
+ return remainingCompletions--;
+ }, void 0, function() {
+ if (!remainingCompletions || !hasValue) {
+ if (!remainingEmissions) {
+ subscriber.next(keys ? createObject_1.createObject(keys, values) : values);
+ }
+ subscriber.complete();
+ }
+ }));
+ }, "_loop_1");
+ for (var sourceIndex = 0; sourceIndex < length; sourceIndex++) {
+ _loop_1(sourceIndex);
+ }
+ });
+ return resultSelector ? result.pipe(mapOneOrManyArgs_1.mapOneOrManyArgs(resultSelector)) : result;
+ }
+ __name(forkJoin, "forkJoin");
+ exports.forkJoin = forkJoin;
+ }
+});
+
+// ../../node_modules/.pnpm/rxjs@7.8.2/node_modules/rxjs/dist/cjs/internal/observable/fromEvent.js
+var require_fromEvent = __commonJS({
+ "../../node_modules/.pnpm/rxjs@7.8.2/node_modules/rxjs/dist/cjs/internal/observable/fromEvent.js"(exports) {
+ "use strict";
+ var __read = exports && exports.__read || function(o, n) {
+ var m = typeof Symbol === "function" && o[Symbol.iterator];
+ if (!m) return o;
+ var i = m.call(o), r, ar = [], e;
+ try {
+ while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);
+ } catch (error) {
+ e = { error };
+ } finally {
+ try {
+ if (r && !r.done && (m = i["return"])) m.call(i);
+ } finally {
+ if (e) throw e.error;
+ }
+ }
+ return ar;
+ };
+ Object.defineProperty(exports, "__esModule", { value: true });
+ exports.fromEvent = void 0;
+ var innerFrom_1 = require_innerFrom();
+ var Observable_1 = require_Observable();
+ var mergeMap_1 = require_mergeMap();
+ var isArrayLike_1 = require_isArrayLike();
+ var isFunction_1 = require_isFunction();
+ var mapOneOrManyArgs_1 = require_mapOneOrManyArgs();
+ var nodeEventEmitterMethods = ["addListener", "removeListener"];
+ var eventTargetMethods = ["addEventListener", "removeEventListener"];
+ var jqueryMethods = ["on", "off"];
+ function fromEvent(target, eventName, options, resultSelector) {
+ if (isFunction_1.isFunction(options)) {
+ resultSelector = options;
+ options = void 0;
+ }
+ if (resultSelector) {
+ return fromEvent(target, eventName, options).pipe(mapOneOrManyArgs_1.mapOneOrManyArgs(resultSelector));
+ }
+ var _a = __read(isEventTarget(target) ? eventTargetMethods.map(function(methodName) {
+ return function(handler) {
+ return target[methodName](eventName, handler, options);
+ };
+ }) : isNodeStyleEventEmitter(target) ? nodeEventEmitterMethods.map(toCommonHandlerRegistry(target, eventName)) : isJQueryStyleEventEmitter(target) ? jqueryMethods.map(toCommonHandlerRegistry(target, eventName)) : [], 2), add = _a[0], remove = _a[1];
+ if (!add) {
+ if (isArrayLike_1.isArrayLike(target)) {
+ return mergeMap_1.mergeMap(function(subTarget) {
+ return fromEvent(subTarget, eventName, options);
+ })(innerFrom_1.innerFrom(target));
+ }
+ }
+ if (!add) {
+ throw new TypeError("Invalid event target");
+ }
+ return new Observable_1.Observable(function(subscriber) {
+ var handler = /* @__PURE__ */ __name(function() {
+ var args = [];
+ for (var _i = 0; _i < arguments.length; _i++) {
+ args[_i] = arguments[_i];
+ }
+ return subscriber.next(1 < args.length ? args : args[0]);
+ }, "handler");
+ add(handler);
+ return function() {
+ return remove(handler);
+ };
+ });
+ }
+ __name(fromEvent, "fromEvent");
+ exports.fromEvent = fromEvent;
+ function toCommonHandlerRegistry(target, eventName) {
+ return function(methodName) {
+ return function(handler) {
+ return target[methodName](eventName, handler);
+ };
+ };
+ }
+ __name(toCommonHandlerRegistry, "toCommonHandlerRegistry");
+ function isNodeStyleEventEmitter(target) {
+ return isFunction_1.isFunction(target.addListener) && isFunction_1.isFunction(target.removeListener);
+ }
+ __name(isNodeStyleEventEmitter, "isNodeStyleEventEmitter");
+ function isJQueryStyleEventEmitter(target) {
+ return isFunction_1.isFunction(target.on) && isFunction_1.isFunction(target.off);
+ }
+ __name(isJQueryStyleEventEmitter, "isJQueryStyleEventEmitter");
+ function isEventTarget(target) {
+ return isFunction_1.isFunction(target.addEventListener) && isFunction_1.isFunction(target.removeEventListener);
+ }
+ __name(isEventTarget, "isEventTarget");
+ }
+});
+
+// ../../node_modules/.pnpm/rxjs@7.8.2/node_modules/rxjs/dist/cjs/internal/observable/fromEventPattern.js
+var require_fromEventPattern = __commonJS({
+ "../../node_modules/.pnpm/rxjs@7.8.2/node_modules/rxjs/dist/cjs/internal/observable/fromEventPattern.js"(exports) {
+ "use strict";
+ Object.defineProperty(exports, "__esModule", { value: true });
+ exports.fromEventPattern = void 0;
+ var Observable_1 = require_Observable();
+ var isFunction_1 = require_isFunction();
+ var mapOneOrManyArgs_1 = require_mapOneOrManyArgs();
+ function fromEventPattern(addHandler, removeHandler, resultSelector) {
+ if (resultSelector) {
+ return fromEventPattern(addHandler, removeHandler).pipe(mapOneOrManyArgs_1.mapOneOrManyArgs(resultSelector));
+ }
+ return new Observable_1.Observable(function(subscriber) {
+ var handler = /* @__PURE__ */ __name(function() {
+ var e = [];
+ for (var _i = 0; _i < arguments.length; _i++) {
+ e[_i] = arguments[_i];
+ }
+ return subscriber.next(e.length === 1 ? e[0] : e);
+ }, "handler");
+ var retValue = addHandler(handler);
+ return isFunction_1.isFunction(removeHandler) ? function() {
+ return removeHandler(handler, retValue);
+ } : void 0;
+ });
+ }
+ __name(fromEventPattern, "fromEventPattern");
+ exports.fromEventPattern = fromEventPattern;
+ }
+});
+
+// ../../node_modules/.pnpm/rxjs@7.8.2/node_modules/rxjs/dist/cjs/internal/observable/generate.js
+var require_generate = __commonJS({
+ "../../node_modules/.pnpm/rxjs@7.8.2/node_modules/rxjs/dist/cjs/internal/observable/generate.js"(exports) {
+ "use strict";
+ var __generator = exports && exports.__generator || function(thisArg, body) {
+ var _ = { label: 0, sent: /* @__PURE__ */ __name(function() {
+ if (t[0] & 1) throw t[1];
+ return t[1];
+ }, "sent"), trys: [], ops: [] }, f, y, t, g;
+ return g = { next: verb(0), "throw": verb(1), "return": verb(2) }, typeof Symbol === "function" && (g[Symbol.iterator] = function() {
+ return this;
+ }), g;
+ function verb(n) {
+ return function(v) {
+ return step([n, v]);
+ };
+ }
+ __name(verb, "verb");
+ function step(op) {
+ if (f) throw new TypeError("Generator is already executing.");
+ while (_) try {
+ if (f = 1, y && (t = op[0] & 2 ? y["return"] : op[0] ? y["throw"] || ((t = y["return"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;
+ if (y = 0, t) op = [op[0] & 2, t.value];
+ switch (op[0]) {
+ case 0:
+ case 1:
+ t = op;
+ break;
+ case 4:
+ _.label++;
+ return { value: op[1], done: false };
+ case 5:
+ _.label++;
+ y = op[1];
+ op = [0];
+ continue;
+ case 7:
+ op = _.ops.pop();
+ _.trys.pop();
+ continue;
+ default:
+ if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) {
+ _ = 0;
+ continue;
+ }
+ if (op[0] === 3 && (!t || op[1] > t[0] && op[1] < t[3])) {
+ _.label = op[1];
+ break;
+ }
+ if (op[0] === 6 && _.label < t[1]) {
+ _.label = t[1];
+ t = op;
+ break;
+ }
+ if (t && _.label < t[2]) {
+ _.label = t[2];
+ _.ops.push(op);
+ break;
+ }
+ if (t[2]) _.ops.pop();
+ _.trys.pop();
+ continue;
+ }
+ op = body.call(thisArg, _);
+ } catch (e) {
+ op = [6, e];
+ y = 0;
+ } finally {
+ f = t = 0;
+ }
+ if (op[0] & 5) throw op[1];
+ return { value: op[0] ? op[1] : void 0, done: true };
+ }
+ __name(step, "step");
+ };
+ Object.defineProperty(exports, "__esModule", { value: true });
+ exports.generate = void 0;
+ var identity_1 = require_identity();
+ var isScheduler_1 = require_isScheduler();
+ var defer_1 = require_defer();
+ var scheduleIterable_1 = require_scheduleIterable();
+ function generate(initialStateOrOptions, condition, iterate20, resultSelectorOrScheduler, scheduler) {
+ var _a, _b;
+ var resultSelector;
+ var initialState;
+ if (arguments.length === 1) {
+ _a = initialStateOrOptions, initialState = _a.initialState, condition = _a.condition, iterate20 = _a.iterate, _b = _a.resultSelector, resultSelector = _b === void 0 ? identity_1.identity : _b, scheduler = _a.scheduler;
+ } else {
+ initialState = initialStateOrOptions;
+ if (!resultSelectorOrScheduler || isScheduler_1.isScheduler(resultSelectorOrScheduler)) {
+ resultSelector = identity_1.identity;
+ scheduler = resultSelectorOrScheduler;
+ } else {
+ resultSelector = resultSelectorOrScheduler;
+ }
+ }
+ function gen() {
+ var state;
+ return __generator(this, function(_a2) {
+ switch (_a2.label) {
+ case 0:
+ state = initialState;
+ _a2.label = 1;
+ case 1:
+ if (!(!condition || condition(state))) return [3, 4];
+ return [4, resultSelector(state)];
+ case 2:
+ _a2.sent();
+ _a2.label = 3;
+ case 3:
+ state = iterate20(state);
+ return [3, 1];
+ case 4:
+ return [2];
+ }
+ });
+ }
+ __name(gen, "gen");
+ return defer_1.defer(scheduler ? function() {
+ return scheduleIterable_1.scheduleIterable(gen(), scheduler);
+ } : gen);
+ }
+ __name(generate, "generate");
+ exports.generate = generate;
+ }
+});
+
+// ../../node_modules/.pnpm/rxjs@7.8.2/node_modules/rxjs/dist/cjs/internal/observable/iif.js
+var require_iif = __commonJS({
+ "../../node_modules/.pnpm/rxjs@7.8.2/node_modules/rxjs/dist/cjs/internal/observable/iif.js"(exports) {
+ "use strict";
+ Object.defineProperty(exports, "__esModule", { value: true });
+ exports.iif = void 0;
+ var defer_1 = require_defer();
+ function iif(condition, trueResult, falseResult) {
+ return defer_1.defer(function() {
+ return condition() ? trueResult : falseResult;
+ });
+ }
+ __name(iif, "iif");
+ exports.iif = iif;
+ }
+});
+
+// ../../node_modules/.pnpm/rxjs@7.8.2/node_modules/rxjs/dist/cjs/internal/observable/merge.js
+var require_merge = __commonJS({
+ "../../node_modules/.pnpm/rxjs@7.8.2/node_modules/rxjs/dist/cjs/internal/observable/merge.js"(exports) {
+ "use strict";
+ Object.defineProperty(exports, "__esModule", { value: true });
+ exports.merge = void 0;
+ var mergeAll_1 = require_mergeAll();
+ var innerFrom_1 = require_innerFrom();
+ var empty_1 = require_empty();
+ var args_1 = require_args();
+ var from_1 = require_from();
+ function merge() {
+ var args = [];
+ for (var _i = 0; _i < arguments.length; _i++) {
+ args[_i] = arguments[_i];
+ }
+ var scheduler = args_1.popScheduler(args);
+ var concurrent = args_1.popNumber(args, Infinity);
+ var sources = args;
+ return !sources.length ? empty_1.EMPTY : sources.length === 1 ? innerFrom_1.innerFrom(sources[0]) : mergeAll_1.mergeAll(concurrent)(from_1.from(sources, scheduler));
+ }
+ __name(merge, "merge");
+ exports.merge = merge;
+ }
+});
+
+// ../../node_modules/.pnpm/rxjs@7.8.2/node_modules/rxjs/dist/cjs/internal/observable/never.js
+var require_never = __commonJS({
+ "../../node_modules/.pnpm/rxjs@7.8.2/node_modules/rxjs/dist/cjs/internal/observable/never.js"(exports) {
+ "use strict";
+ Object.defineProperty(exports, "__esModule", { value: true });
+ exports.never = exports.NEVER = void 0;
+ var Observable_1 = require_Observable();
+ var noop_1 = require_noop();
+ exports.NEVER = new Observable_1.Observable(noop_1.noop);
+ function never() {
+ return exports.NEVER;
+ }
+ __name(never, "never");
+ exports.never = never;
+ }
+});
+
+// ../../node_modules/.pnpm/rxjs@7.8.2/node_modules/rxjs/dist/cjs/internal/observable/pairs.js
+var require_pairs = __commonJS({
+ "../../node_modules/.pnpm/rxjs@7.8.2/node_modules/rxjs/dist/cjs/internal/observable/pairs.js"(exports) {
+ "use strict";
+ Object.defineProperty(exports, "__esModule", { value: true });
+ exports.pairs = void 0;
+ var from_1 = require_from();
+ function pairs(obj, scheduler) {
+ return from_1.from(Object.entries(obj), scheduler);
+ }
+ __name(pairs, "pairs");
+ exports.pairs = pairs;
+ }
+});
+
+// ../../node_modules/.pnpm/rxjs@7.8.2/node_modules/rxjs/dist/cjs/internal/observable/partition.js
+var require_partition = __commonJS({
+ "../../node_modules/.pnpm/rxjs@7.8.2/node_modules/rxjs/dist/cjs/internal/observable/partition.js"(exports) {
+ "use strict";
+ Object.defineProperty(exports, "__esModule", { value: true });
+ exports.partition = void 0;
+ var not_1 = require_not();
+ var filter_1 = require_filter();
+ var innerFrom_1 = require_innerFrom();
+ function partition(source, predicate, thisArg) {
+ return [filter_1.filter(predicate, thisArg)(innerFrom_1.innerFrom(source)), filter_1.filter(not_1.not(predicate, thisArg))(innerFrom_1.innerFrom(source))];
+ }
+ __name(partition, "partition");
+ exports.partition = partition;
+ }
+});
+
+// ../../node_modules/.pnpm/rxjs@7.8.2/node_modules/rxjs/dist/cjs/internal/observable/range.js
+var require_range2 = __commonJS({
+ "../../node_modules/.pnpm/rxjs@7.8.2/node_modules/rxjs/dist/cjs/internal/observable/range.js"(exports) {
+ "use strict";
+ Object.defineProperty(exports, "__esModule", { value: true });
+ exports.range = void 0;
+ var Observable_1 = require_Observable();
+ var empty_1 = require_empty();
+ function range(start, count, scheduler) {
+ if (count == null) {
+ count = start;
+ start = 0;
+ }
+ if (count <= 0) {
+ return empty_1.EMPTY;
+ }
+ var end = count + start;
+ return new Observable_1.Observable(scheduler ? function(subscriber) {
+ var n = start;
+ return scheduler.schedule(function() {
+ if (n < end) {
+ subscriber.next(n++);
+ this.schedule();
+ } else {
+ subscriber.complete();
+ }
+ });
+ } : function(subscriber) {
+ var n = start;
+ while (n < end && !subscriber.closed) {
+ subscriber.next(n++);
+ }
+ subscriber.complete();
+ });
+ }
+ __name(range, "range");
+ exports.range = range;
+ }
+});
+
+// ../../node_modules/.pnpm/rxjs@7.8.2/node_modules/rxjs/dist/cjs/internal/observable/using.js
+var require_using = __commonJS({
+ "../../node_modules/.pnpm/rxjs@7.8.2/node_modules/rxjs/dist/cjs/internal/observable/using.js"(exports) {
+ "use strict";
+ Object.defineProperty(exports, "__esModule", { value: true });
+ exports.using = void 0;
+ var Observable_1 = require_Observable();
+ var innerFrom_1 = require_innerFrom();
+ var empty_1 = require_empty();
+ function using(resourceFactory, observableFactory) {
+ return new Observable_1.Observable(function(subscriber) {
+ var resource = resourceFactory();
+ var result = observableFactory(resource);
+ var source = result ? innerFrom_1.innerFrom(result) : empty_1.EMPTY;
+ source.subscribe(subscriber);
+ return function() {
+ if (resource) {
+ resource.unsubscribe();
+ }
+ };
+ });
+ }
+ __name(using, "using");
+ exports.using = using;
+ }
+});
+
+// ../../node_modules/.pnpm/rxjs@7.8.2/node_modules/rxjs/dist/cjs/internal/types.js
+var require_types = __commonJS({
+ "../../node_modules/.pnpm/rxjs@7.8.2/node_modules/rxjs/dist/cjs/internal/types.js"(exports) {
+ "use strict";
+ Object.defineProperty(exports, "__esModule", { value: true });
+ }
+});
+
+// ../../node_modules/.pnpm/rxjs@7.8.2/node_modules/rxjs/dist/cjs/index.js
+var require_cjs = __commonJS({
+ "../../node_modules/.pnpm/rxjs@7.8.2/node_modules/rxjs/dist/cjs/index.js"(exports) {
+ "use strict";
+ var __createBinding = exports && exports.__createBinding || (Object.create ? (function(o, m, k, k2) {
+ if (k2 === void 0) k2 = k;
+ Object.defineProperty(o, k2, { enumerable: true, get: /* @__PURE__ */ __name(function() {
+ return m[k];
+ }, "get") });
+ }) : (function(o, m, k, k2) {
+ if (k2 === void 0) k2 = k;
+ o[k2] = m[k];
+ }));
+ var __exportStar = exports && exports.__exportStar || function(m, exports2) {
+ for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports2, p)) __createBinding(exports2, m, p);
+ };
+ Object.defineProperty(exports, "__esModule", { value: true });
+ exports.interval = exports.iif = exports.generate = exports.fromEventPattern = exports.fromEvent = exports.from = exports.forkJoin = exports.empty = exports.defer = exports.connectable = exports.concat = exports.combineLatest = exports.bindNodeCallback = exports.bindCallback = exports.UnsubscriptionError = exports.TimeoutError = exports.SequenceError = exports.ObjectUnsubscribedError = exports.NotFoundError = exports.EmptyError = exports.ArgumentOutOfRangeError = exports.firstValueFrom = exports.lastValueFrom = exports.isObservable = exports.identity = exports.noop = exports.pipe = exports.NotificationKind = exports.Notification = exports.Subscriber = exports.Subscription = exports.Scheduler = exports.VirtualAction = exports.VirtualTimeScheduler = exports.animationFrameScheduler = exports.animationFrame = exports.queueScheduler = exports.queue = exports.asyncScheduler = exports.async = exports.asapScheduler = exports.asap = exports.AsyncSubject = exports.ReplaySubject = exports.BehaviorSubject = exports.Subject = exports.animationFrames = exports.observable = exports.ConnectableObservable = exports.Observable = void 0;
+ exports.filter = exports.expand = exports.exhaustMap = exports.exhaustAll = exports.exhaust = exports.every = exports.endWith = exports.elementAt = exports.distinctUntilKeyChanged = exports.distinctUntilChanged = exports.distinct = exports.dematerialize = exports.delayWhen = exports.delay = exports.defaultIfEmpty = exports.debounceTime = exports.debounce = exports.count = exports.connect = exports.concatWith = exports.concatMapTo = exports.concatMap = exports.concatAll = exports.combineLatestWith = exports.combineLatestAll = exports.combineAll = exports.catchError = exports.bufferWhen = exports.bufferToggle = exports.bufferTime = exports.bufferCount = exports.buffer = exports.auditTime = exports.audit = exports.config = exports.NEVER = exports.EMPTY = exports.scheduled = exports.zip = exports.using = exports.timer = exports.throwError = exports.range = exports.race = exports.partition = exports.pairs = exports.onErrorResumeNext = exports.of = exports.never = exports.merge = void 0;
+ exports.switchMap = exports.switchAll = exports.subscribeOn = exports.startWith = exports.skipWhile = exports.skipUntil = exports.skipLast = exports.skip = exports.single = exports.shareReplay = exports.share = exports.sequenceEqual = exports.scan = exports.sampleTime = exports.sample = exports.refCount = exports.retryWhen = exports.retry = exports.repeatWhen = exports.repeat = exports.reduce = exports.raceWith = exports.publishReplay = exports.publishLast = exports.publishBehavior = exports.publish = exports.pluck = exports.pairwise = exports.onErrorResumeNextWith = exports.observeOn = exports.multicast = exports.min = exports.mergeWith = exports.mergeScan = exports.mergeMapTo = exports.mergeMap = exports.flatMap = exports.mergeAll = exports.max = exports.materialize = exports.mapTo = exports.map = exports.last = exports.isEmpty = exports.ignoreElements = exports.groupBy = exports.first = exports.findIndex = exports.find = exports.finalize = void 0;
+ exports.zipWith = exports.zipAll = exports.withLatestFrom = exports.windowWhen = exports.windowToggle = exports.windowTime = exports.windowCount = exports.window = exports.toArray = exports.timestamp = exports.timeoutWith = exports.timeout = exports.timeInterval = exports.throwIfEmpty = exports.throttleTime = exports.throttle = exports.tap = exports.takeWhile = exports.takeUntil = exports.takeLast = exports.take = exports.switchScan = exports.switchMapTo = void 0;
+ var Observable_1 = require_Observable();
+ Object.defineProperty(exports, "Observable", { enumerable: true, get: /* @__PURE__ */ __name(function() {
+ return Observable_1.Observable;
+ }, "get") });
+ var ConnectableObservable_1 = require_ConnectableObservable();
+ Object.defineProperty(exports, "ConnectableObservable", { enumerable: true, get: /* @__PURE__ */ __name(function() {
+ return ConnectableObservable_1.ConnectableObservable;
+ }, "get") });
+ var observable_1 = require_observable();
+ Object.defineProperty(exports, "observable", { enumerable: true, get: /* @__PURE__ */ __name(function() {
+ return observable_1.observable;
+ }, "get") });
+ var animationFrames_1 = require_animationFrames();
+ Object.defineProperty(exports, "animationFrames", { enumerable: true, get: /* @__PURE__ */ __name(function() {
+ return animationFrames_1.animationFrames;
+ }, "get") });
+ var Subject_1 = require_Subject();
+ Object.defineProperty(exports, "Subject", { enumerable: true, get: /* @__PURE__ */ __name(function() {
+ return Subject_1.Subject;
+ }, "get") });
+ var BehaviorSubject_1 = require_BehaviorSubject();
+ Object.defineProperty(exports, "BehaviorSubject", { enumerable: true, get: /* @__PURE__ */ __name(function() {
+ return BehaviorSubject_1.BehaviorSubject;
+ }, "get") });
+ var ReplaySubject_1 = require_ReplaySubject();
+ Object.defineProperty(exports, "ReplaySubject", { enumerable: true, get: /* @__PURE__ */ __name(function() {
+ return ReplaySubject_1.ReplaySubject;
+ }, "get") });
+ var AsyncSubject_1 = require_AsyncSubject();
+ Object.defineProperty(exports, "AsyncSubject", { enumerable: true, get: /* @__PURE__ */ __name(function() {
+ return AsyncSubject_1.AsyncSubject;
+ }, "get") });
+ var asap_1 = require_asap();
+ Object.defineProperty(exports, "asap", { enumerable: true, get: /* @__PURE__ */ __name(function() {
+ return asap_1.asap;
+ }, "get") });
+ Object.defineProperty(exports, "asapScheduler", { enumerable: true, get: /* @__PURE__ */ __name(function() {
+ return asap_1.asapScheduler;
+ }, "get") });
+ var async_1 = require_async();
+ Object.defineProperty(exports, "async", { enumerable: true, get: /* @__PURE__ */ __name(function() {
+ return async_1.async;
+ }, "get") });
+ Object.defineProperty(exports, "asyncScheduler", { enumerable: true, get: /* @__PURE__ */ __name(function() {
+ return async_1.asyncScheduler;
+ }, "get") });
+ var queue_1 = require_queue();
+ Object.defineProperty(exports, "queue", { enumerable: true, get: /* @__PURE__ */ __name(function() {
+ return queue_1.queue;
+ }, "get") });
+ Object.defineProperty(exports, "queueScheduler", { enumerable: true, get: /* @__PURE__ */ __name(function() {
+ return queue_1.queueScheduler;
+ }, "get") });
+ var animationFrame_1 = require_animationFrame();
+ Object.defineProperty(exports, "animationFrame", { enumerable: true, get: /* @__PURE__ */ __name(function() {
+ return animationFrame_1.animationFrame;
+ }, "get") });
+ Object.defineProperty(exports, "animationFrameScheduler", { enumerable: true, get: /* @__PURE__ */ __name(function() {
+ return animationFrame_1.animationFrameScheduler;
+ }, "get") });
+ var VirtualTimeScheduler_1 = require_VirtualTimeScheduler();
+ Object.defineProperty(exports, "VirtualTimeScheduler", { enumerable: true, get: /* @__PURE__ */ __name(function() {
+ return VirtualTimeScheduler_1.VirtualTimeScheduler;
+ }, "get") });
+ Object.defineProperty(exports, "VirtualAction", { enumerable: true, get: /* @__PURE__ */ __name(function() {
+ return VirtualTimeScheduler_1.VirtualAction;
+ }, "get") });
+ var Scheduler_1 = require_Scheduler();
+ Object.defineProperty(exports, "Scheduler", { enumerable: true, get: /* @__PURE__ */ __name(function() {
+ return Scheduler_1.Scheduler;
+ }, "get") });
+ var Subscription_1 = require_Subscription();
+ Object.defineProperty(exports, "Subscription", { enumerable: true, get: /* @__PURE__ */ __name(function() {
+ return Subscription_1.Subscription;
+ }, "get") });
+ var Subscriber_1 = require_Subscriber();
+ Object.defineProperty(exports, "Subscriber", { enumerable: true, get: /* @__PURE__ */ __name(function() {
+ return Subscriber_1.Subscriber;
+ }, "get") });
+ var Notification_1 = require_Notification();
+ Object.defineProperty(exports, "Notification", { enumerable: true, get: /* @__PURE__ */ __name(function() {
+ return Notification_1.Notification;
+ }, "get") });
+ Object.defineProperty(exports, "NotificationKind", { enumerable: true, get: /* @__PURE__ */ __name(function() {
+ return Notification_1.NotificationKind;
+ }, "get") });
+ var pipe_1 = require_pipe();
+ Object.defineProperty(exports, "pipe", { enumerable: true, get: /* @__PURE__ */ __name(function() {
+ return pipe_1.pipe;
+ }, "get") });
+ var noop_1 = require_noop();
+ Object.defineProperty(exports, "noop", { enumerable: true, get: /* @__PURE__ */ __name(function() {
+ return noop_1.noop;
+ }, "get") });
+ var identity_1 = require_identity();
+ Object.defineProperty(exports, "identity", { enumerable: true, get: /* @__PURE__ */ __name(function() {
+ return identity_1.identity;
+ }, "get") });
+ var isObservable_1 = require_isObservable();
+ Object.defineProperty(exports, "isObservable", { enumerable: true, get: /* @__PURE__ */ __name(function() {
+ return isObservable_1.isObservable;
+ }, "get") });
+ var lastValueFrom_1 = require_lastValueFrom();
+ Object.defineProperty(exports, "lastValueFrom", { enumerable: true, get: /* @__PURE__ */ __name(function() {
+ return lastValueFrom_1.lastValueFrom;
+ }, "get") });
+ var firstValueFrom_1 = require_firstValueFrom();
+ Object.defineProperty(exports, "firstValueFrom", { enumerable: true, get: /* @__PURE__ */ __name(function() {
+ return firstValueFrom_1.firstValueFrom;
+ }, "get") });
+ var ArgumentOutOfRangeError_1 = require_ArgumentOutOfRangeError();
+ Object.defineProperty(exports, "ArgumentOutOfRangeError", { enumerable: true, get: /* @__PURE__ */ __name(function() {
+ return ArgumentOutOfRangeError_1.ArgumentOutOfRangeError;
+ }, "get") });
+ var EmptyError_1 = require_EmptyError();
+ Object.defineProperty(exports, "EmptyError", { enumerable: true, get: /* @__PURE__ */ __name(function() {
+ return EmptyError_1.EmptyError;
+ }, "get") });
+ var NotFoundError_1 = require_NotFoundError();
+ Object.defineProperty(exports, "NotFoundError", { enumerable: true, get: /* @__PURE__ */ __name(function() {
+ return NotFoundError_1.NotFoundError;
+ }, "get") });
+ var ObjectUnsubscribedError_1 = require_ObjectUnsubscribedError();
+ Object.defineProperty(exports, "ObjectUnsubscribedError", { enumerable: true, get: /* @__PURE__ */ __name(function() {
+ return ObjectUnsubscribedError_1.ObjectUnsubscribedError;
+ }, "get") });
+ var SequenceError_1 = require_SequenceError();
+ Object.defineProperty(exports, "SequenceError", { enumerable: true, get: /* @__PURE__ */ __name(function() {
+ return SequenceError_1.SequenceError;
+ }, "get") });
+ var timeout_1 = require_timeout();
+ Object.defineProperty(exports, "TimeoutError", { enumerable: true, get: /* @__PURE__ */ __name(function() {
+ return timeout_1.TimeoutError;
+ }, "get") });
+ var UnsubscriptionError_1 = require_UnsubscriptionError();
+ Object.defineProperty(exports, "UnsubscriptionError", { enumerable: true, get: /* @__PURE__ */ __name(function() {
+ return UnsubscriptionError_1.UnsubscriptionError;
+ }, "get") });
+ var bindCallback_1 = require_bindCallback();
+ Object.defineProperty(exports, "bindCallback", { enumerable: true, get: /* @__PURE__ */ __name(function() {
+ return bindCallback_1.bindCallback;
+ }, "get") });
+ var bindNodeCallback_1 = require_bindNodeCallback();
+ Object.defineProperty(exports, "bindNodeCallback", { enumerable: true, get: /* @__PURE__ */ __name(function() {
+ return bindNodeCallback_1.bindNodeCallback;
+ }, "get") });
+ var combineLatest_1 = require_combineLatest();
+ Object.defineProperty(exports, "combineLatest", { enumerable: true, get: /* @__PURE__ */ __name(function() {
+ return combineLatest_1.combineLatest;
+ }, "get") });
+ var concat_1 = require_concat();
+ Object.defineProperty(exports, "concat", { enumerable: true, get: /* @__PURE__ */ __name(function() {
+ return concat_1.concat;
+ }, "get") });
+ var connectable_1 = require_connectable();
+ Object.defineProperty(exports, "connectable", { enumerable: true, get: /* @__PURE__ */ __name(function() {
+ return connectable_1.connectable;
+ }, "get") });
+ var defer_1 = require_defer();
+ Object.defineProperty(exports, "defer", { enumerable: true, get: /* @__PURE__ */ __name(function() {
+ return defer_1.defer;
+ }, "get") });
+ var empty_1 = require_empty();
+ Object.defineProperty(exports, "empty", { enumerable: true, get: /* @__PURE__ */ __name(function() {
+ return empty_1.empty;
+ }, "get") });
+ var forkJoin_1 = require_forkJoin();
+ Object.defineProperty(exports, "forkJoin", { enumerable: true, get: /* @__PURE__ */ __name(function() {
+ return forkJoin_1.forkJoin;
+ }, "get") });
+ var from_1 = require_from();
+ Object.defineProperty(exports, "from", { enumerable: true, get: /* @__PURE__ */ __name(function() {
+ return from_1.from;
+ }, "get") });
+ var fromEvent_1 = require_fromEvent();
+ Object.defineProperty(exports, "fromEvent", { enumerable: true, get: /* @__PURE__ */ __name(function() {
+ return fromEvent_1.fromEvent;
+ }, "get") });
+ var fromEventPattern_1 = require_fromEventPattern();
+ Object.defineProperty(exports, "fromEventPattern", { enumerable: true, get: /* @__PURE__ */ __name(function() {
+ return fromEventPattern_1.fromEventPattern;
+ }, "get") });
+ var generate_1 = require_generate();
+ Object.defineProperty(exports, "generate", { enumerable: true, get: /* @__PURE__ */ __name(function() {
+ return generate_1.generate;
+ }, "get") });
+ var iif_1 = require_iif();
+ Object.defineProperty(exports, "iif", { enumerable: true, get: /* @__PURE__ */ __name(function() {
+ return iif_1.iif;
+ }, "get") });
+ var interval_1 = require_interval();
+ Object.defineProperty(exports, "interval", { enumerable: true, get: /* @__PURE__ */ __name(function() {
+ return interval_1.interval;
+ }, "get") });
+ var merge_1 = require_merge();
+ Object.defineProperty(exports, "merge", { enumerable: true, get: /* @__PURE__ */ __name(function() {
+ return merge_1.merge;
+ }, "get") });
+ var never_1 = require_never();
+ Object.defineProperty(exports, "never", { enumerable: true, get: /* @__PURE__ */ __name(function() {
+ return never_1.never;
+ }, "get") });
+ var of_1 = require_of();
+ Object.defineProperty(exports, "of", { enumerable: true, get: /* @__PURE__ */ __name(function() {
+ return of_1.of;
+ }, "get") });
+ var onErrorResumeNext_1 = require_onErrorResumeNext();
+ Object.defineProperty(exports, "onErrorResumeNext", { enumerable: true, get: /* @__PURE__ */ __name(function() {
+ return onErrorResumeNext_1.onErrorResumeNext;
+ }, "get") });
+ var pairs_1 = require_pairs();
+ Object.defineProperty(exports, "pairs", { enumerable: true, get: /* @__PURE__ */ __name(function() {
+ return pairs_1.pairs;
+ }, "get") });
+ var partition_1 = require_partition();
+ Object.defineProperty(exports, "partition", { enumerable: true, get: /* @__PURE__ */ __name(function() {
+ return partition_1.partition;
+ }, "get") });
+ var race_1 = require_race();
+ Object.defineProperty(exports, "race", { enumerable: true, get: /* @__PURE__ */ __name(function() {
+ return race_1.race;
+ }, "get") });
+ var range_1 = require_range2();
+ Object.defineProperty(exports, "range", { enumerable: true, get: /* @__PURE__ */ __name(function() {
+ return range_1.range;
+ }, "get") });
+ var throwError_1 = require_throwError();
+ Object.defineProperty(exports, "throwError", { enumerable: true, get: /* @__PURE__ */ __name(function() {
+ return throwError_1.throwError;
+ }, "get") });
+ var timer_1 = require_timer();
+ Object.defineProperty(exports, "timer", { enumerable: true, get: /* @__PURE__ */ __name(function() {
+ return timer_1.timer;
+ }, "get") });
+ var using_1 = require_using();
+ Object.defineProperty(exports, "using", { enumerable: true, get: /* @__PURE__ */ __name(function() {
+ return using_1.using;
+ }, "get") });
+ var zip_1 = require_zip();
+ Object.defineProperty(exports, "zip", { enumerable: true, get: /* @__PURE__ */ __name(function() {
+ return zip_1.zip;
+ }, "get") });
+ var scheduled_1 = require_scheduled();
+ Object.defineProperty(exports, "scheduled", { enumerable: true, get: /* @__PURE__ */ __name(function() {
+ return scheduled_1.scheduled;
+ }, "get") });
+ var empty_2 = require_empty();
+ Object.defineProperty(exports, "EMPTY", { enumerable: true, get: /* @__PURE__ */ __name(function() {
+ return empty_2.EMPTY;
+ }, "get") });
+ var never_2 = require_never();
+ Object.defineProperty(exports, "NEVER", { enumerable: true, get: /* @__PURE__ */ __name(function() {
+ return never_2.NEVER;
+ }, "get") });
+ __exportStar(require_types(), exports);
+ var config_1 = require_config();
+ Object.defineProperty(exports, "config", { enumerable: true, get: /* @__PURE__ */ __name(function() {
+ return config_1.config;
+ }, "get") });
+ var audit_1 = require_audit();
+ Object.defineProperty(exports, "audit", { enumerable: true, get: /* @__PURE__ */ __name(function() {
+ return audit_1.audit;
+ }, "get") });
+ var auditTime_1 = require_auditTime();
+ Object.defineProperty(exports, "auditTime", { enumerable: true, get: /* @__PURE__ */ __name(function() {
+ return auditTime_1.auditTime;
+ }, "get") });
+ var buffer_1 = require_buffer();
+ Object.defineProperty(exports, "buffer", { enumerable: true, get: /* @__PURE__ */ __name(function() {
+ return buffer_1.buffer;
+ }, "get") });
+ var bufferCount_1 = require_bufferCount();
+ Object.defineProperty(exports, "bufferCount", { enumerable: true, get: /* @__PURE__ */ __name(function() {
+ return bufferCount_1.bufferCount;
+ }, "get") });
+ var bufferTime_1 = require_bufferTime();
+ Object.defineProperty(exports, "bufferTime", { enumerable: true, get: /* @__PURE__ */ __name(function() {
+ return bufferTime_1.bufferTime;
+ }, "get") });
+ var bufferToggle_1 = require_bufferToggle();
+ Object.defineProperty(exports, "bufferToggle", { enumerable: true, get: /* @__PURE__ */ __name(function() {
+ return bufferToggle_1.bufferToggle;
+ }, "get") });
+ var bufferWhen_1 = require_bufferWhen();
+ Object.defineProperty(exports, "bufferWhen", { enumerable: true, get: /* @__PURE__ */ __name(function() {
+ return bufferWhen_1.bufferWhen;
+ }, "get") });
+ var catchError_1 = require_catchError();
+ Object.defineProperty(exports, "catchError", { enumerable: true, get: /* @__PURE__ */ __name(function() {
+ return catchError_1.catchError;
+ }, "get") });
+ var combineAll_1 = require_combineAll();
+ Object.defineProperty(exports, "combineAll", { enumerable: true, get: /* @__PURE__ */ __name(function() {
+ return combineAll_1.combineAll;
+ }, "get") });
+ var combineLatestAll_1 = require_combineLatestAll();
+ Object.defineProperty(exports, "combineLatestAll", { enumerable: true, get: /* @__PURE__ */ __name(function() {
+ return combineLatestAll_1.combineLatestAll;
+ }, "get") });
+ var combineLatestWith_1 = require_combineLatestWith();
+ Object.defineProperty(exports, "combineLatestWith", { enumerable: true, get: /* @__PURE__ */ __name(function() {
+ return combineLatestWith_1.combineLatestWith;
+ }, "get") });
+ var concatAll_1 = require_concatAll();
+ Object.defineProperty(exports, "concatAll", { enumerable: true, get: /* @__PURE__ */ __name(function() {
+ return concatAll_1.concatAll;
+ }, "get") });
+ var concatMap_1 = require_concatMap();
+ Object.defineProperty(exports, "concatMap", { enumerable: true, get: /* @__PURE__ */ __name(function() {
+ return concatMap_1.concatMap;
+ }, "get") });
+ var concatMapTo_1 = require_concatMapTo();
+ Object.defineProperty(exports, "concatMapTo", { enumerable: true, get: /* @__PURE__ */ __name(function() {
+ return concatMapTo_1.concatMapTo;
+ }, "get") });
+ var concatWith_1 = require_concatWith();
+ Object.defineProperty(exports, "concatWith", { enumerable: true, get: /* @__PURE__ */ __name(function() {
+ return concatWith_1.concatWith;
+ }, "get") });
+ var connect_1 = require_connect();
+ Object.defineProperty(exports, "connect", { enumerable: true, get: /* @__PURE__ */ __name(function() {
+ return connect_1.connect;
+ }, "get") });
+ var count_1 = require_count();
+ Object.defineProperty(exports, "count", { enumerable: true, get: /* @__PURE__ */ __name(function() {
+ return count_1.count;
+ }, "get") });
+ var debounce_1 = require_debounce();
+ Object.defineProperty(exports, "debounce", { enumerable: true, get: /* @__PURE__ */ __name(function() {
+ return debounce_1.debounce;
+ }, "get") });
+ var debounceTime_1 = require_debounceTime();
+ Object.defineProperty(exports, "debounceTime", { enumerable: true, get: /* @__PURE__ */ __name(function() {
+ return debounceTime_1.debounceTime;
+ }, "get") });
+ var defaultIfEmpty_1 = require_defaultIfEmpty();
+ Object.defineProperty(exports, "defaultIfEmpty", { enumerable: true, get: /* @__PURE__ */ __name(function() {
+ return defaultIfEmpty_1.defaultIfEmpty;
+ }, "get") });
+ var delay_1 = require_delay();
+ Object.defineProperty(exports, "delay", { enumerable: true, get: /* @__PURE__ */ __name(function() {
+ return delay_1.delay;
+ }, "get") });
+ var delayWhen_1 = require_delayWhen();
+ Object.defineProperty(exports, "delayWhen", { enumerable: true, get: /* @__PURE__ */ __name(function() {
+ return delayWhen_1.delayWhen;
+ }, "get") });
+ var dematerialize_1 = require_dematerialize();
+ Object.defineProperty(exports, "dematerialize", { enumerable: true, get: /* @__PURE__ */ __name(function() {
+ return dematerialize_1.dematerialize;
+ }, "get") });
+ var distinct_1 = require_distinct();
+ Object.defineProperty(exports, "distinct", { enumerable: true, get: /* @__PURE__ */ __name(function() {
+ return distinct_1.distinct;
+ }, "get") });
+ var distinctUntilChanged_1 = require_distinctUntilChanged();
+ Object.defineProperty(exports, "distinctUntilChanged", { enumerable: true, get: /* @__PURE__ */ __name(function() {
+ return distinctUntilChanged_1.distinctUntilChanged;
+ }, "get") });
+ var distinctUntilKeyChanged_1 = require_distinctUntilKeyChanged();
+ Object.defineProperty(exports, "distinctUntilKeyChanged", { enumerable: true, get: /* @__PURE__ */ __name(function() {
+ return distinctUntilKeyChanged_1.distinctUntilKeyChanged;
+ }, "get") });
+ var elementAt_1 = require_elementAt();
+ Object.defineProperty(exports, "elementAt", { enumerable: true, get: /* @__PURE__ */ __name(function() {
+ return elementAt_1.elementAt;
+ }, "get") });
+ var endWith_1 = require_endWith();
+ Object.defineProperty(exports, "endWith", { enumerable: true, get: /* @__PURE__ */ __name(function() {
+ return endWith_1.endWith;
+ }, "get") });
+ var every_1 = require_every();
+ Object.defineProperty(exports, "every", { enumerable: true, get: /* @__PURE__ */ __name(function() {
+ return every_1.every;
+ }, "get") });
+ var exhaust_1 = require_exhaust();
+ Object.defineProperty(exports, "exhaust", { enumerable: true, get: /* @__PURE__ */ __name(function() {
+ return exhaust_1.exhaust;
+ }, "get") });
+ var exhaustAll_1 = require_exhaustAll();
+ Object.defineProperty(exports, "exhaustAll", { enumerable: true, get: /* @__PURE__ */ __name(function() {
+ return exhaustAll_1.exhaustAll;
+ }, "get") });
+ var exhaustMap_1 = require_exhaustMap();
+ Object.defineProperty(exports, "exhaustMap", { enumerable: true, get: /* @__PURE__ */ __name(function() {
+ return exhaustMap_1.exhaustMap;
+ }, "get") });
+ var expand_1 = require_expand();
+ Object.defineProperty(exports, "expand", { enumerable: true, get: /* @__PURE__ */ __name(function() {
+ return expand_1.expand;
+ }, "get") });
+ var filter_1 = require_filter();
+ Object.defineProperty(exports, "filter", { enumerable: true, get: /* @__PURE__ */ __name(function() {
+ return filter_1.filter;
+ }, "get") });
+ var finalize_1 = require_finalize();
+ Object.defineProperty(exports, "finalize", { enumerable: true, get: /* @__PURE__ */ __name(function() {
+ return finalize_1.finalize;
+ }, "get") });
+ var find_1 = require_find();
+ Object.defineProperty(exports, "find", { enumerable: true, get: /* @__PURE__ */ __name(function() {
+ return find_1.find;
+ }, "get") });
+ var findIndex_1 = require_findIndex();
+ Object.defineProperty(exports, "findIndex", { enumerable: true, get: /* @__PURE__ */ __name(function() {
+ return findIndex_1.findIndex;
+ }, "get") });
+ var first_1 = require_first();
+ Object.defineProperty(exports, "first", { enumerable: true, get: /* @__PURE__ */ __name(function() {
+ return first_1.first;
+ }, "get") });
+ var groupBy_1 = require_groupBy();
+ Object.defineProperty(exports, "groupBy", { enumerable: true, get: /* @__PURE__ */ __name(function() {
+ return groupBy_1.groupBy;
+ }, "get") });
+ var ignoreElements_1 = require_ignoreElements();
+ Object.defineProperty(exports, "ignoreElements", { enumerable: true, get: /* @__PURE__ */ __name(function() {
+ return ignoreElements_1.ignoreElements;
+ }, "get") });
+ var isEmpty_1 = require_isEmpty();
+ Object.defineProperty(exports, "isEmpty", { enumerable: true, get: /* @__PURE__ */ __name(function() {
+ return isEmpty_1.isEmpty;
+ }, "get") });
+ var last_1 = require_last();
+ Object.defineProperty(exports, "last", { enumerable: true, get: /* @__PURE__ */ __name(function() {
+ return last_1.last;
+ }, "get") });
+ var map_1 = require_map();
+ Object.defineProperty(exports, "map", { enumerable: true, get: /* @__PURE__ */ __name(function() {
+ return map_1.map;
+ }, "get") });
+ var mapTo_1 = require_mapTo();
+ Object.defineProperty(exports, "mapTo", { enumerable: true, get: /* @__PURE__ */ __name(function() {
+ return mapTo_1.mapTo;
+ }, "get") });
+ var materialize_1 = require_materialize();
+ Object.defineProperty(exports, "materialize", { enumerable: true, get: /* @__PURE__ */ __name(function() {
+ return materialize_1.materialize;
+ }, "get") });
+ var max_1 = require_max();
+ Object.defineProperty(exports, "max", { enumerable: true, get: /* @__PURE__ */ __name(function() {
+ return max_1.max;
+ }, "get") });
+ var mergeAll_1 = require_mergeAll();
+ Object.defineProperty(exports, "mergeAll", { enumerable: true, get: /* @__PURE__ */ __name(function() {
+ return mergeAll_1.mergeAll;
+ }, "get") });
+ var flatMap_1 = require_flatMap();
+ Object.defineProperty(exports, "flatMap", { enumerable: true, get: /* @__PURE__ */ __name(function() {
+ return flatMap_1.flatMap;
+ }, "get") });
+ var mergeMap_1 = require_mergeMap();
+ Object.defineProperty(exports, "mergeMap", { enumerable: true, get: /* @__PURE__ */ __name(function() {
+ return mergeMap_1.mergeMap;
+ }, "get") });
+ var mergeMapTo_1 = require_mergeMapTo();
+ Object.defineProperty(exports, "mergeMapTo", { enumerable: true, get: /* @__PURE__ */ __name(function() {
+ return mergeMapTo_1.mergeMapTo;
+ }, "get") });
+ var mergeScan_1 = require_mergeScan();
+ Object.defineProperty(exports, "mergeScan", { enumerable: true, get: /* @__PURE__ */ __name(function() {
+ return mergeScan_1.mergeScan;
+ }, "get") });
+ var mergeWith_1 = require_mergeWith();
+ Object.defineProperty(exports, "mergeWith", { enumerable: true, get: /* @__PURE__ */ __name(function() {
+ return mergeWith_1.mergeWith;
+ }, "get") });
+ var min_1 = require_min();
+ Object.defineProperty(exports, "min", { enumerable: true, get: /* @__PURE__ */ __name(function() {
+ return min_1.min;
+ }, "get") });
+ var multicast_1 = require_multicast();
+ Object.defineProperty(exports, "multicast", { enumerable: true, get: /* @__PURE__ */ __name(function() {
+ return multicast_1.multicast;
+ }, "get") });
+ var observeOn_1 = require_observeOn();
+ Object.defineProperty(exports, "observeOn", { enumerable: true, get: /* @__PURE__ */ __name(function() {
+ return observeOn_1.observeOn;
+ }, "get") });
+ var onErrorResumeNextWith_1 = require_onErrorResumeNextWith();
+ Object.defineProperty(exports, "onErrorResumeNextWith", { enumerable: true, get: /* @__PURE__ */ __name(function() {
+ return onErrorResumeNextWith_1.onErrorResumeNextWith;
+ }, "get") });
+ var pairwise_1 = require_pairwise();
+ Object.defineProperty(exports, "pairwise", { enumerable: true, get: /* @__PURE__ */ __name(function() {
+ return pairwise_1.pairwise;
+ }, "get") });
+ var pluck_1 = require_pluck();
+ Object.defineProperty(exports, "pluck", { enumerable: true, get: /* @__PURE__ */ __name(function() {
+ return pluck_1.pluck;
+ }, "get") });
+ var publish_1 = require_publish();
+ Object.defineProperty(exports, "publish", { enumerable: true, get: /* @__PURE__ */ __name(function() {
+ return publish_1.publish;
+ }, "get") });
+ var publishBehavior_1 = require_publishBehavior();
+ Object.defineProperty(exports, "publishBehavior", { enumerable: true, get: /* @__PURE__ */ __name(function() {
+ return publishBehavior_1.publishBehavior;
+ }, "get") });
+ var publishLast_1 = require_publishLast();
+ Object.defineProperty(exports, "publishLast", { enumerable: true, get: /* @__PURE__ */ __name(function() {
+ return publishLast_1.publishLast;
+ }, "get") });
+ var publishReplay_1 = require_publishReplay();
+ Object.defineProperty(exports, "publishReplay", { enumerable: true, get: /* @__PURE__ */ __name(function() {
+ return publishReplay_1.publishReplay;
+ }, "get") });
+ var raceWith_1 = require_raceWith();
+ Object.defineProperty(exports, "raceWith", { enumerable: true, get: /* @__PURE__ */ __name(function() {
+ return raceWith_1.raceWith;
+ }, "get") });
+ var reduce_1 = require_reduce();
+ Object.defineProperty(exports, "reduce", { enumerable: true, get: /* @__PURE__ */ __name(function() {
+ return reduce_1.reduce;
+ }, "get") });
+ var repeat_1 = require_repeat();
+ Object.defineProperty(exports, "repeat", { enumerable: true, get: /* @__PURE__ */ __name(function() {
+ return repeat_1.repeat;
+ }, "get") });
+ var repeatWhen_1 = require_repeatWhen();
+ Object.defineProperty(exports, "repeatWhen", { enumerable: true, get: /* @__PURE__ */ __name(function() {
+ return repeatWhen_1.repeatWhen;
+ }, "get") });
+ var retry_1 = require_retry();
+ Object.defineProperty(exports, "retry", { enumerable: true, get: /* @__PURE__ */ __name(function() {
+ return retry_1.retry;
+ }, "get") });
+ var retryWhen_1 = require_retryWhen();
+ Object.defineProperty(exports, "retryWhen", { enumerable: true, get: /* @__PURE__ */ __name(function() {
+ return retryWhen_1.retryWhen;
+ }, "get") });
+ var refCount_1 = require_refCount();
+ Object.defineProperty(exports, "refCount", { enumerable: true, get: /* @__PURE__ */ __name(function() {
+ return refCount_1.refCount;
+ }, "get") });
+ var sample_1 = require_sample();
+ Object.defineProperty(exports, "sample", { enumerable: true, get: /* @__PURE__ */ __name(function() {
+ return sample_1.sample;
+ }, "get") });
+ var sampleTime_1 = require_sampleTime();
+ Object.defineProperty(exports, "sampleTime", { enumerable: true, get: /* @__PURE__ */ __name(function() {
+ return sampleTime_1.sampleTime;
+ }, "get") });
+ var scan_1 = require_scan();
+ Object.defineProperty(exports, "scan", { enumerable: true, get: /* @__PURE__ */ __name(function() {
+ return scan_1.scan;
+ }, "get") });
+ var sequenceEqual_1 = require_sequenceEqual();
+ Object.defineProperty(exports, "sequenceEqual", { enumerable: true, get: /* @__PURE__ */ __name(function() {
+ return sequenceEqual_1.sequenceEqual;
+ }, "get") });
+ var share_1 = require_share();
+ Object.defineProperty(exports, "share", { enumerable: true, get: /* @__PURE__ */ __name(function() {
+ return share_1.share;
+ }, "get") });
+ var shareReplay_1 = require_shareReplay();
+ Object.defineProperty(exports, "shareReplay", { enumerable: true, get: /* @__PURE__ */ __name(function() {
+ return shareReplay_1.shareReplay;
+ }, "get") });
+ var single_1 = require_single();
+ Object.defineProperty(exports, "single", { enumerable: true, get: /* @__PURE__ */ __name(function() {
+ return single_1.single;
+ }, "get") });
+ var skip_1 = require_skip();
+ Object.defineProperty(exports, "skip", { enumerable: true, get: /* @__PURE__ */ __name(function() {
+ return skip_1.skip;
+ }, "get") });
+ var skipLast_1 = require_skipLast();
+ Object.defineProperty(exports, "skipLast", { enumerable: true, get: /* @__PURE__ */ __name(function() {
+ return skipLast_1.skipLast;
+ }, "get") });
+ var skipUntil_1 = require_skipUntil();
+ Object.defineProperty(exports, "skipUntil", { enumerable: true, get: /* @__PURE__ */ __name(function() {
+ return skipUntil_1.skipUntil;
+ }, "get") });
+ var skipWhile_1 = require_skipWhile();
+ Object.defineProperty(exports, "skipWhile", { enumerable: true, get: /* @__PURE__ */ __name(function() {
+ return skipWhile_1.skipWhile;
+ }, "get") });
+ var startWith_1 = require_startWith();
+ Object.defineProperty(exports, "startWith", { enumerable: true, get: /* @__PURE__ */ __name(function() {
+ return startWith_1.startWith;
+ }, "get") });
+ var subscribeOn_1 = require_subscribeOn();
+ Object.defineProperty(exports, "subscribeOn", { enumerable: true, get: /* @__PURE__ */ __name(function() {
+ return subscribeOn_1.subscribeOn;
+ }, "get") });
+ var switchAll_1 = require_switchAll();
+ Object.defineProperty(exports, "switchAll", { enumerable: true, get: /* @__PURE__ */ __name(function() {
+ return switchAll_1.switchAll;
+ }, "get") });
+ var switchMap_1 = require_switchMap();
+ Object.defineProperty(exports, "switchMap", { enumerable: true, get: /* @__PURE__ */ __name(function() {
+ return switchMap_1.switchMap;
+ }, "get") });
+ var switchMapTo_1 = require_switchMapTo();
+ Object.defineProperty(exports, "switchMapTo", { enumerable: true, get: /* @__PURE__ */ __name(function() {
+ return switchMapTo_1.switchMapTo;
+ }, "get") });
+ var switchScan_1 = require_switchScan();
+ Object.defineProperty(exports, "switchScan", { enumerable: true, get: /* @__PURE__ */ __name(function() {
+ return switchScan_1.switchScan;
+ }, "get") });
+ var take_1 = require_take();
+ Object.defineProperty(exports, "take", { enumerable: true, get: /* @__PURE__ */ __name(function() {
+ return take_1.take;
+ }, "get") });
+ var takeLast_1 = require_takeLast();
+ Object.defineProperty(exports, "takeLast", { enumerable: true, get: /* @__PURE__ */ __name(function() {
+ return takeLast_1.takeLast;
+ }, "get") });
+ var takeUntil_1 = require_takeUntil();
+ Object.defineProperty(exports, "takeUntil", { enumerable: true, get: /* @__PURE__ */ __name(function() {
+ return takeUntil_1.takeUntil;
+ }, "get") });
+ var takeWhile_1 = require_takeWhile();
+ Object.defineProperty(exports, "takeWhile", { enumerable: true, get: /* @__PURE__ */ __name(function() {
+ return takeWhile_1.takeWhile;
+ }, "get") });
+ var tap_1 = require_tap();
+ Object.defineProperty(exports, "tap", { enumerable: true, get: /* @__PURE__ */ __name(function() {
+ return tap_1.tap;
+ }, "get") });
+ var throttle_1 = require_throttle();
+ Object.defineProperty(exports, "throttle", { enumerable: true, get: /* @__PURE__ */ __name(function() {
+ return throttle_1.throttle;
+ }, "get") });
+ var throttleTime_1 = require_throttleTime();
+ Object.defineProperty(exports, "throttleTime", { enumerable: true, get: /* @__PURE__ */ __name(function() {
+ return throttleTime_1.throttleTime;
+ }, "get") });
+ var throwIfEmpty_1 = require_throwIfEmpty();
+ Object.defineProperty(exports, "throwIfEmpty", { enumerable: true, get: /* @__PURE__ */ __name(function() {
+ return throwIfEmpty_1.throwIfEmpty;
+ }, "get") });
+ var timeInterval_1 = require_timeInterval();
+ Object.defineProperty(exports, "timeInterval", { enumerable: true, get: /* @__PURE__ */ __name(function() {
+ return timeInterval_1.timeInterval;
+ }, "get") });
+ var timeout_2 = require_timeout();
+ Object.defineProperty(exports, "timeout", { enumerable: true, get: /* @__PURE__ */ __name(function() {
+ return timeout_2.timeout;
+ }, "get") });
+ var timeoutWith_1 = require_timeoutWith();
+ Object.defineProperty(exports, "timeoutWith", { enumerable: true, get: /* @__PURE__ */ __name(function() {
+ return timeoutWith_1.timeoutWith;
+ }, "get") });
+ var timestamp_1 = require_timestamp();
+ Object.defineProperty(exports, "timestamp", { enumerable: true, get: /* @__PURE__ */ __name(function() {
+ return timestamp_1.timestamp;
+ }, "get") });
+ var toArray_1 = require_toArray();
+ Object.defineProperty(exports, "toArray", { enumerable: true, get: /* @__PURE__ */ __name(function() {
+ return toArray_1.toArray;
+ }, "get") });
+ var window_1 = require_window();
+ Object.defineProperty(exports, "window", { enumerable: true, get: /* @__PURE__ */ __name(function() {
+ return window_1.window;
+ }, "get") });
+ var windowCount_1 = require_windowCount();
+ Object.defineProperty(exports, "windowCount", { enumerable: true, get: /* @__PURE__ */ __name(function() {
+ return windowCount_1.windowCount;
+ }, "get") });
+ var windowTime_1 = require_windowTime();
+ Object.defineProperty(exports, "windowTime", { enumerable: true, get: /* @__PURE__ */ __name(function() {
+ return windowTime_1.windowTime;
+ }, "get") });
+ var windowToggle_1 = require_windowToggle();
+ Object.defineProperty(exports, "windowToggle", { enumerable: true, get: /* @__PURE__ */ __name(function() {
+ return windowToggle_1.windowToggle;
+ }, "get") });
+ var windowWhen_1 = require_windowWhen();
+ Object.defineProperty(exports, "windowWhen", { enumerable: true, get: /* @__PURE__ */ __name(function() {
+ return windowWhen_1.windowWhen;
+ }, "get") });
+ var withLatestFrom_1 = require_withLatestFrom();
+ Object.defineProperty(exports, "withLatestFrom", { enumerable: true, get: /* @__PURE__ */ __name(function() {
+ return withLatestFrom_1.withLatestFrom;
+ }, "get") });
+ var zipAll_1 = require_zipAll();
+ Object.defineProperty(exports, "zipAll", { enumerable: true, get: /* @__PURE__ */ __name(function() {
+ return zipAll_1.zipAll;
+ }, "get") });
+ var zipWith_1 = require_zipWith();
+ Object.defineProperty(exports, "zipWith", { enumerable: true, get: /* @__PURE__ */ __name(function() {
+ return zipWith_1.zipWith;
+ }, "get") });
+ }
+});
+
+// ../../node_modules/.pnpm/@nestjs+core@12.2.0_@nestjs_74b3aa22af8a41de6299655ec5713214/node_modules/@nestjs/core/injector/modules-container.js
+var import_rxjs, ModulesContainer;
+var init_modules_container = __esm({
+ "../../node_modules/.pnpm/@nestjs+core@12.2.0_@nestjs_74b3aa22af8a41de6299655ec5713214/node_modules/@nestjs/core/injector/modules-container.js"() {
+ import_rxjs = __toESM(require_cjs(), 1);
+ init_dist();
+ ModulesContainer = class extends Map {
+ static {
+ __name(this, "ModulesContainer");
+ }
+ _applicationId = uid(21);
+ _rpcTargetRegistry$ = new import_rxjs.ReplaySubject();
+ /**
+ * Unique identifier of the application instance.
+ */
+ get applicationId() {
+ return this._applicationId;
+ }
+ /**
+ * Retrieves a module by its identifier.
+ * @param id The identifier of the module to retrieve.
+ * @returns The module instance if found, otherwise undefined.
+ */
+ getById(id) {
+ return Array.from(this.values()).find((moduleRef) => moduleRef.id === id);
+ }
+ /**
+ * Returns the RPC target registry as an observable.
+ * This registry contains all RPC targets registered in the application.
+ * @returns An observable that emits the RPC target registry.
+ */
+ getRpcTargetRegistry() {
+ return this._rpcTargetRegistry$.asObservable();
+ }
+ /**
+ * Adds an RPC target to the registry.
+ * @param target The RPC target to add.
+ */
+ addRpcTarget(target) {
+ this._rpcTargetRegistry$.next(target);
+ }
+ };
+ }
+});
+
+// ../../node_modules/.pnpm/@nestjs+core@12.2.0_@nestjs_74b3aa22af8a41de6299655ec5713214/node_modules/@nestjs/core/discovery/discoverable-meta-host-collection.js
+var DiscoverableMetaHostCollection;
+var init_discoverable_meta_host_collection = __esm({
+ "../../node_modules/.pnpm/@nestjs+core@12.2.0_@nestjs_74b3aa22af8a41de6299655ec5713214/node_modules/@nestjs/core/discovery/discoverable-meta-host-collection.js"() {
+ DiscoverableMetaHostCollection = class _DiscoverableMetaHostCollection {
+ static {
+ __name(this, "DiscoverableMetaHostCollection");
+ }
+ /**
+ * A map of class references to metadata keys.
+ */
+ static metaHostLinks = /* @__PURE__ */ new Map();
+ /**
+ * A map of metadata keys to instance wrappers (providers) with the corresponding metadata key.
+ * The map is weakly referenced by the modules container (unique per application).
+ */
+ static providersByMetaKey = /* @__PURE__ */ new WeakMap();
+ /**
+ * A map of metadata keys to instance wrappers (controllers) with the corresponding metadata key.
+ * The map is weakly referenced by the modules container (unique per application).
+ */
+ static controllersByMetaKey = /* @__PURE__ */ new WeakMap();
+ /**
+ * Adds a link between a class reference and a metadata key.
+ * @param target The class reference.
+ * @param metadataKey The metadata key.
+ */
+ static addClassMetaHostLink(target, metadataKey) {
+ this.metaHostLinks.set(target, metadataKey);
+ }
+ /**
+ * Inspects a provider instance wrapper and adds it to the collection of providers
+ * if it has a metadata key.
+ * @param hostContainerRef A reference to the modules container.
+ * @param instanceWrapper A provider instance wrapper.
+ * @returns void
+ */
+ static inspectProvider(hostContainerRef, instanceWrapper) {
+ return this.inspectInstanceWrapper(hostContainerRef, instanceWrapper, this.providersByMetaKey);
+ }
+ /**
+ * Inspects a controller instance wrapper and adds it to the collection of controllers
+ * if it has a metadata key.
+ * @param hostContainerRef A reference to the modules container.
+ * @param instanceWrapper A controller's instance wrapper.
+ * @returns void
+ */
+ static inspectController(hostContainerRef, instanceWrapper) {
+ return this.inspectInstanceWrapper(hostContainerRef, instanceWrapper, this.controllersByMetaKey);
+ }
+ static insertByMetaKey(metaKey, instanceWrapper, collection) {
+ if (collection.has(metaKey)) {
+ const wrappers = collection.get(metaKey);
+ for (const existing of wrappers) {
+ if (existing.id === instanceWrapper.id) {
+ wrappers.delete(existing);
+ break;
+ }
+ }
+ wrappers.add(instanceWrapper);
+ } else {
+ const wrappers = /* @__PURE__ */ new Set();
+ wrappers.add(instanceWrapper);
+ collection.set(metaKey, wrappers);
+ }
+ }
+ static getProvidersByMetaKey(hostContainerRef, metaKey) {
+ const wrappersByMetaKey = this.providersByMetaKey.get(hostContainerRef);
+ return wrappersByMetaKey?.get(metaKey) ?? /* @__PURE__ */ new Set();
+ }
+ static getControllersByMetaKey(hostContainerRef, metaKey) {
+ const wrappersByMetaKey = this.controllersByMetaKey.get(hostContainerRef);
+ return wrappersByMetaKey?.get(metaKey) ?? /* @__PURE__ */ new Set();
+ }
+ static inspectInstanceWrapper(hostContainerRef, instanceWrapper, wrapperByMetaKeyMap) {
+ const metaKey = _DiscoverableMetaHostCollection.getMetaKeyByInstanceWrapper(instanceWrapper);
+ if (!metaKey) {
+ return;
+ }
+ let collection;
+ if (wrapperByMetaKeyMap.has(hostContainerRef)) {
+ collection = wrapperByMetaKeyMap.get(hostContainerRef);
+ } else {
+ collection = /* @__PURE__ */ new Map();
+ wrapperByMetaKeyMap.set(hostContainerRef, collection);
+ }
+ this.insertByMetaKey(metaKey, instanceWrapper, collection);
+ }
+ static getMetaKeyByInstanceWrapper(instanceWrapper) {
+ return this.metaHostLinks.get(
+ // NOTE: Regarding the ternary statement below,
+ // - The condition `!wrapper.metatype` is needed because when we use `useValue`
+ // the value of `wrapper.metatype` will be `null`.
+ // - The condition `wrapper.inject` is needed here because when we use
+ // `useFactory`, the value of `wrapper.metatype` will be the supplied
+ // factory function.
+ // For both cases, we should use `wrapper.instance.constructor` instead
+ // of `wrapper.metatype` to resolve processor's class properly.
+ // But since calling `wrapper.instance` could degrade overall performance
+ // we must defer it as much we can.
+ !instanceWrapper.metatype || instanceWrapper.inject ? instanceWrapper.instance?.constructor ?? instanceWrapper.metatype : instanceWrapper.metatype
+ );
+ }
+ };
+ }
+});
+
+// ../../node_modules/.pnpm/@nestjs+core@12.2.0_@nestjs_74b3aa22af8a41de6299655ec5713214/node_modules/@nestjs/core/discovery/discovery-service.js
+var DiscoveryService;
+var init_discovery_service = __esm({
+ "../../node_modules/.pnpm/@nestjs+core@12.2.0_@nestjs_74b3aa22af8a41de6299655ec5713214/node_modules/@nestjs/core/discovery/discovery-service.js"() {
+ init_tslib_es6();
+ init_common();
+ init_dist();
+ init_modules_container();
+ init_discoverable_meta_host_collection();
+ DiscoveryService = class DiscoveryService2 {
+ static {
+ __name(this, "DiscoveryService");
+ }
+ modulesContainer;
+ constructor(modulesContainer) {
+ this.modulesContainer = modulesContainer;
+ }
+ /**
+ * Creates a decorator that can be used to decorate classes and methods with metadata.
+ * The decorator will also add the class to the collection of discoverable classes (by metadata key).
+ * Decorated classes can be discovered using the `getProviders` and `getControllers` methods.
+ * @returns A decorator function.
+ */
+ static createDecorator() {
+ const metadataKey = uid(21);
+ const decoratorFn = /* @__PURE__ */ __name((opts) => (target, key, descriptor) => {
+ if (!descriptor) {
+ DiscoverableMetaHostCollection.addClassMetaHostLink(target, metadataKey);
+ }
+ SetMetadata(metadataKey, opts ?? {})(target, key, descriptor);
+ }, "decoratorFn");
+ decoratorFn.KEY = metadataKey;
+ return decoratorFn;
+ }
+ /**
+ * Returns an array of instance wrappers (providers).
+ * Depending on the options, the array will contain either all providers or only providers with the specified metadata key.
+ * @param options Discovery options.
+ * @param modules A list of modules to filter by.
+ * @returns An array of instance wrappers (providers).
+ */
+ getProviders(options = {}, modules = this.getModules(options)) {
+ if ("metadataKey" in options) {
+ const providers2 = DiscoverableMetaHostCollection.getProvidersByMetaKey(this.modulesContainer, options.metadataKey);
+ return Array.from(providers2);
+ }
+ const providers = modules.map((item) => [...item.providers.values()]);
+ return flatten(providers);
+ }
+ /**
+ * Returns an array of instance wrappers (controllers).
+ * Depending on the options, the array will contain either all controllers or only controllers with the specified metadata key.
+ * @param options Discovery options.
+ * @param modules A list of modules to filter by.
+ * @returns An array of instance wrappers (controllers).
+ */
+ getControllers(options = {}, modules = this.getModules(options)) {
+ if ("metadataKey" in options) {
+ const controllers2 = DiscoverableMetaHostCollection.getControllersByMetaKey(this.modulesContainer, options.metadataKey);
+ return Array.from(controllers2);
+ }
+ const controllers = modules.map((item) => [...item.controllers.values()]);
+ return flatten(controllers);
+ }
+ /**
+ * Retrieves metadata from the specified instance wrapper.
+ * @param decorator The decorator to retrieve metadata of.
+ * @param instanceWrapper Reference to the instance wrapper.
+ * @param methodKey An optional method key to retrieve metadata from.
+ * @returns Discovered metadata.
+ */
+ getMetadataByDecorator(decorator, instanceWrapper, methodKey) {
+ if (methodKey) {
+ return Reflect.getMetadata(decorator.KEY, instanceWrapper.instance[methodKey]);
+ }
+ const clsRef = instanceWrapper.instance?.constructor ?? instanceWrapper.metatype;
+ return Reflect.getMetadata(decorator.KEY, clsRef);
+ }
+ /**
+ * Returns a list of modules to be used for discovery.
+ */
+ getModules(options = {}) {
+ const includeInOpts = "include" in options;
+ if (!includeInOpts) {
+ const moduleRefs = [...this.modulesContainer.values()];
+ return moduleRefs;
+ }
+ const whitelisted = this.includeWhitelisted(options.include);
+ return whitelisted;
+ }
+ includeWhitelisted(include) {
+ const moduleRefs = [...this.modulesContainer.values()];
+ return moduleRefs.filter(({ metatype }) => include.some((item) => item === metatype));
+ }
+ };
+ DiscoveryService = __decorate([
+ Injectable(),
+ __metadata("design:paramtypes", [ModulesContainer])
+ ], DiscoveryService);
+ }
+});
+
+// ../../node_modules/.pnpm/@nestjs+core@12.2.0_@nestjs_74b3aa22af8a41de6299655ec5713214/node_modules/@nestjs/core/discovery/discovery-module.js
+var DiscoveryModule;
+var init_discovery_module = __esm({
+ "../../node_modules/.pnpm/@nestjs+core@12.2.0_@nestjs_74b3aa22af8a41de6299655ec5713214/node_modules/@nestjs/core/discovery/discovery-module.js"() {
+ init_tslib_es6();
+ init_common();
+ init_metadata_scanner();
+ init_discovery_service();
+ DiscoveryModule = class DiscoveryModule2 {
+ static {
+ __name(this, "DiscoveryModule");
+ }
+ };
+ DiscoveryModule = __decorate([
+ Module({
+ providers: [MetadataScanner, DiscoveryService],
+ exports: [MetadataScanner, DiscoveryService]
+ })
+ ], DiscoveryModule);
+ }
+});
+
+// ../../node_modules/.pnpm/@nestjs+core@12.2.0_@nestjs_74b3aa22af8a41de6299655ec5713214/node_modules/@nestjs/core/discovery/index.js
+var init_discovery = __esm({
+ "../../node_modules/.pnpm/@nestjs+core@12.2.0_@nestjs_74b3aa22af8a41de6299655ec5713214/node_modules/@nestjs/core/discovery/index.js"() {
+ init_discovery_module();
+ init_discovery_service();
+ }
+});
+
+// ../../node_modules/.pnpm/@nestjs+core@12.2.0_@nestjs_74b3aa22af8a41de6299655ec5713214/node_modules/@nestjs/core/helpers/http-adapter-host.js
+var import_rxjs2, HttpAdapterHost;
+var init_http_adapter_host = __esm({
+ "../../node_modules/.pnpm/@nestjs+core@12.2.0_@nestjs_74b3aa22af8a41de6299655ec5713214/node_modules/@nestjs/core/helpers/http-adapter-host.js"() {
+ import_rxjs2 = __toESM(require_cjs(), 1);
+ HttpAdapterHost = class {
+ static {
+ __name(this, "HttpAdapterHost");
+ }
+ _httpAdapter;
+ _listen$ = new import_rxjs2.Subject();
+ _init$ = new import_rxjs2.ReplaySubject();
+ isListening = false;
+ /**
+ * Accessor for the underlying `HttpAdapter`
+ *
+ * @param httpAdapter reference to the `HttpAdapter` to be set
+ */
+ set httpAdapter(httpAdapter) {
+ this._httpAdapter = httpAdapter;
+ this._init$.next();
+ this._init$.complete();
+ }
+ /**
+ * Accessor for the underlying `HttpAdapter`
+ *
+ * @example
+ * `const httpAdapter = adapterHost.httpAdapter;`
+ */
+ get httpAdapter() {
+ return this._httpAdapter;
+ }
+ /**
+ * Observable that allows to subscribe to the `listen` event.
+ * This event is emitted when the HTTP application is listening for incoming requests.
+ */
+ get listen$() {
+ return this._listen$.asObservable();
+ }
+ /**
+ * Observable that allows to subscribe to the `init` event.
+ * This event is emitted when the HTTP application is initialized.
+ */
+ get init$() {
+ return this._init$.asObservable();
+ }
+ /**
+ * Sets the listening state of the application.
+ */
+ set listening(listening) {
+ this.isListening = listening;
+ if (listening) {
+ this._listen$.next();
+ this._listen$.complete();
+ }
+ }
+ /**
+ * Returns a boolean indicating whether the application is listening for incoming requests.
+ */
+ get listening() {
+ return this.isListening;
+ }
+ };
+ }
+});
+
+// ../../node_modules/.pnpm/@nestjs+core@12.2.0_@nestjs_74b3aa22af8a41de6299655ec5713214/node_modules/@nestjs/core/exceptions/base-exception-filter.js
+import { STATUS_CODES } from "http";
+var BaseExceptionFilter;
+var init_base_exception_filter = __esm({
+ "../../node_modules/.pnpm/@nestjs+core@12.2.0_@nestjs_74b3aa22af8a41de6299655ec5713214/node_modules/@nestjs/core/exceptions/base-exception-filter.js"() {
+ init_tslib_es6();
+ init_common();
+ init_constants2();
+ init_http_adapter_host();
+ init_internal();
+ BaseExceptionFilter = class _BaseExceptionFilter {
+ static {
+ __name(this, "BaseExceptionFilter");
+ }
+ applicationRef;
+ static logger = new Logger("ExceptionsHandler");
+ httpAdapterHost;
+ constructor(applicationRef) {
+ this.applicationRef = applicationRef;
+ }
+ catch(exception, host) {
+ const applicationRef = this.applicationRef || this.httpAdapterHost && this.httpAdapterHost.httpAdapter;
+ if (!(exception instanceof HttpException)) {
+ return this.handleUnknownError(exception, host, applicationRef);
+ }
+ const res = exception.getResponse();
+ const message = isObject(res) ? res : {
+ statusCode: exception.getStatus(),
+ message: res,
+ ...exception.errorCode !== void 0 && {
+ errorCode: exception.errorCode
+ }
+ };
+ const response = host.getArgByIndex(1);
+ if (!applicationRef.isHeadersSent(response)) {
+ applicationRef.reply(response, message, exception.getStatus());
+ } else {
+ applicationRef.end(response);
+ }
+ }
+ handleUnknownError(exception, host, applicationRef) {
+ const body = this.isHttpError(exception) ? {
+ statusCode: exception.statusCode,
+ // "http-errors" sets "expose" to false when the message must not
+ // reach the client (5xx errors, file system errors from "send")
+ message: exception.expose === false ? STATUS_CODES[exception.statusCode] ?? MESSAGES.UNKNOWN_EXCEPTION_MESSAGE : exception.message
+ } : {
+ statusCode: HttpStatus.INTERNAL_SERVER_ERROR,
+ message: MESSAGES.UNKNOWN_EXCEPTION_MESSAGE
+ };
+ const response = host.getArgByIndex(1);
+ if (!applicationRef.isHeadersSent(response)) {
+ applicationRef.reply(response, body, body.statusCode);
+ } else {
+ applicationRef.end(response);
+ }
+ if (!(exception instanceof IntrinsicException)) {
+ _BaseExceptionFilter.logger.error(exception);
+ }
+ }
+ isExceptionObject(err) {
+ return isObject(err) && !!err.message;
+ }
+ /**
+ * Checks if the thrown error is a FastifyError or comes from the "http-errors" library.
+ * @param err error object
+ */
+ isHttpError(err) {
+ if (!err || typeof err !== "object") {
+ return false;
+ }
+ if (
+ // Fastify's schema validation errors are plain errors with this code
+ (err.constructor?.name === "FastifyError" || err.code === "FST_ERR_VALIDATION") && typeof err.code === "string" && typeof err.statusCode === "number"
+ ) {
+ return true;
+ }
+ if (typeof err.expose === "boolean" && typeof err.statusCode === "number" && err.status === err.statusCode && err instanceof Error) {
+ return true;
+ }
+ return !(err instanceof Error) && Number.isInteger(err.statusCode) && err.statusCode >= 400 && err.statusCode < 600 && typeof err.message === "string" && err.message !== "";
+ }
+ };
+ __decorate([
+ Optional(),
+ Inject(),
+ __metadata("design:type", HttpAdapterHost)
+ ], BaseExceptionFilter.prototype, "httpAdapterHost", void 0);
+ }
+});
+
+// ../../node_modules/.pnpm/@nestjs+core@12.2.0_@nestjs_74b3aa22af8a41de6299655ec5713214/node_modules/@nestjs/core/exceptions/index.js
+var init_exceptions = __esm({
+ "../../node_modules/.pnpm/@nestjs+core@12.2.0_@nestjs_74b3aa22af8a41de6299655ec5713214/node_modules/@nestjs/core/exceptions/index.js"() {
+ init_base_exception_filter();
+ }
+});
+
+// ../../node_modules/.pnpm/@nestjs+core@12.2.0_@nestjs_74b3aa22af8a41de6299655ec5713214/node_modules/@nestjs/core/router/request/request-constants.js
+var REQUEST, REQUEST_CONTEXT_ID;
+var init_request_constants = __esm({
+ "../../node_modules/.pnpm/@nestjs+core@12.2.0_@nestjs_74b3aa22af8a41de6299655ec5713214/node_modules/@nestjs/core/router/request/request-constants.js"() {
+ REQUEST = "REQUEST";
+ REQUEST_CONTEXT_ID = /* @__PURE__ */ Symbol("REQUEST_CONTEXT_ID");
+ }
+});
+
+// ../../node_modules/.pnpm/@nestjs+core@12.2.0_@nestjs_74b3aa22af8a41de6299655ec5713214/node_modules/@nestjs/core/helpers/context-id-factory.js
+function createContextId() {
+ return { id: Math.random() };
+}
+var ContextIdFactory;
+var init_context_id_factory = __esm({
+ "../../node_modules/.pnpm/@nestjs+core@12.2.0_@nestjs_74b3aa22af8a41de6299655ec5713214/node_modules/@nestjs/core/helpers/context-id-factory.js"() {
+ init_request_constants();
+ init_internal();
+ __name(createContextId, "createContextId");
+ ContextIdFactory = class _ContextIdFactory {
+ static {
+ __name(this, "ContextIdFactory");
+ }
+ static strategy;
+ /**
+ * Generates a context identifier based on the request object.
+ */
+ static create() {
+ return createContextId();
+ }
+ /**
+ * Generates a random identifier to track asynchronous execution context.
+ * @param request request object
+ */
+ static getByRequest(request, propsToInspect = ["raw"]) {
+ if (!request) {
+ return _ContextIdFactory.create();
+ }
+ if (request[REQUEST_CONTEXT_ID]) {
+ return request[REQUEST_CONTEXT_ID];
+ }
+ for (const key of propsToInspect) {
+ if (request[key]?.[REQUEST_CONTEXT_ID]) {
+ return request[key][REQUEST_CONTEXT_ID];
+ }
+ }
+ if (!this.strategy) {
+ return _ContextIdFactory.create();
+ }
+ const contextId = createContextId();
+ const resolverObjectOrFunction = this.strategy.attach(contextId, request);
+ if (this.isContextIdResolverWithPayload(resolverObjectOrFunction)) {
+ contextId.getParent = resolverObjectOrFunction.resolve;
+ contextId.payload = resolverObjectOrFunction.payload;
+ } else {
+ contextId.getParent = resolverObjectOrFunction;
+ }
+ return contextId;
+ }
+ /**
+ * Registers a custom context id strategy that lets you attach
+ * a parent context id to the existing context id object.
+ * @param strategy strategy instance
+ */
+ static apply(strategy) {
+ this.strategy = strategy;
+ }
+ static isContextIdResolverWithPayload(resolverOrResolverFn) {
+ return isObject(resolverOrResolverFn);
+ }
+ };
+ }
+});
+
+// ../../node_modules/.pnpm/@nestjs+core@12.2.0_@nestjs_74b3aa22af8a41de6299655ec5713214/node_modules/@nestjs/core/injector/constants.js
+var CONTROLLER_ID_KEY, STATIC_CONTEXT_ID, STATIC_CONTEXT;
+var init_constants3 = __esm({
+ "../../node_modules/.pnpm/@nestjs+core@12.2.0_@nestjs_74b3aa22af8a41de6299655ec5713214/node_modules/@nestjs/core/injector/constants.js"() {
+ CONTROLLER_ID_KEY = "CONTROLLER_ID";
+ STATIC_CONTEXT_ID = 1;
+ STATIC_CONTEXT = Object.freeze({
+ id: STATIC_CONTEXT_ID
+ });
+ }
+});
+
+// ../../node_modules/.pnpm/@nestjs+core@12.2.0_@nestjs_74b3aa22af8a41de6299655ec5713214/node_modules/@nestjs/core/helpers/class-ref-registry.js
+function registerClassRef(classRef) {
+ if (classRef.prototype) {
+ classRefsByPrototype.set(classRef.prototype, classRef);
+ }
+}
+function getClassRef(instance) {
+ return classRefsByPrototype.get(Object.getPrototypeOf(instance)) ?? instance.constructor;
+}
+var classRefsByPrototype;
+var init_class_ref_registry = __esm({
+ "../../node_modules/.pnpm/@nestjs+core@12.2.0_@nestjs_74b3aa22af8a41de6299655ec5713214/node_modules/@nestjs/core/helpers/class-ref-registry.js"() {
+ classRefsByPrototype = /* @__PURE__ */ new WeakMap();
+ __name(registerClassRef, "registerClassRef");
+ __name(getClassRef, "getClassRef");
+ }
+});
+
+// ../../node_modules/.pnpm/@nestjs+core@12.2.0_@nestjs_74b3aa22af8a41de6299655ec5713214/node_modules/@nestjs/core/helpers/context-creator.js
+var ContextCreator;
+var init_context_creator = __esm({
+ "../../node_modules/.pnpm/@nestjs+core@12.2.0_@nestjs_74b3aa22af8a41de6299655ec5713214/node_modules/@nestjs/core/helpers/context-creator.js"() {
+ init_constants3();
+ init_class_ref_registry();
+ ContextCreator = class {
+ static {
+ __name(this, "ContextCreator");
+ }
+ createContext(instance, callback, metadataKey, contextId = STATIC_CONTEXT, inquirerId) {
+ const globalMetadata = this.getGlobalMetadata && this.getGlobalMetadata(contextId, inquirerId);
+ const classMetadata = this.reflectClassMetadata(instance, metadataKey);
+ const methodMetadata = this.reflectMethodMetadata(callback, metadataKey);
+ return [
+ ...this.createConcreteContext(globalMetadata || [], contextId, inquirerId),
+ ...this.createConcreteContext(classMetadata, contextId, inquirerId),
+ ...this.createConcreteContext(methodMetadata, contextId, inquirerId)
+ ];
+ }
+ reflectClassMetadata(instance, metadataKey) {
+ return Reflect.getMetadata(metadataKey, getClassRef(instance));
+ }
+ reflectMethodMetadata(callback, metadataKey) {
+ return Reflect.getMetadata(metadataKey, callback);
+ }
+ getContextId(contextId, instanceWrapper) {
+ return contextId.getParent ? contextId.getParent({
+ token: instanceWrapper.token,
+ isTreeDurable: instanceWrapper.isDependencyTreeDurable()
+ }) : contextId;
+ }
+ };
+ }
+});
+
+// ../../node_modules/.pnpm/@nestjs+core@12.2.0_@nestjs_74b3aa22af8a41de6299655ec5713214/node_modules/@nestjs/core/exceptions/base-exception-filter-context.js
+var import_iterare, BaseExceptionFilterContext;
+var init_base_exception_filter_context = __esm({
+ "../../node_modules/.pnpm/@nestjs+core@12.2.0_@nestjs_74b3aa22af8a41de6299655ec5713214/node_modules/@nestjs/core/exceptions/base-exception-filter-context.js"() {
+ import_iterare = __toESM(require_lib(), 1);
+ init_context_creator();
+ init_constants3();
+ init_internal();
+ BaseExceptionFilterContext = class extends ContextCreator {
+ static {
+ __name(this, "BaseExceptionFilterContext");
+ }
+ container;
+ moduleContext;
+ constructor(container) {
+ super();
+ this.container = container;
+ }
+ createConcreteContext(metadata, contextId = STATIC_CONTEXT, inquirerId) {
+ if (isEmpty(metadata)) {
+ return [];
+ }
+ return (0, import_iterare.iterate)(metadata).filter((instance) => instance && (isFunction(instance.catch) || isFunction(instance))).map((filter) => this.getFilterInstance(filter, contextId, inquirerId)).filter((item) => !!item).map((instance) => ({
+ func: instance.catch.bind(instance),
+ exceptionMetatypes: this.reflectCatchExceptions(instance)
+ })).toArray();
+ }
+ getFilterInstance(filter, contextId = STATIC_CONTEXT, inquirerId) {
+ const isObject2 = !!filter.catch;
+ if (isObject2) {
+ return filter;
+ }
+ const instanceWrapper = this.getInstanceByMetatype(filter);
+ if (!instanceWrapper) {
+ return null;
+ }
+ const instanceHost = instanceWrapper.getInstanceByContextId(this.getContextId(contextId, instanceWrapper), inquirerId);
+ return instanceHost && instanceHost.instance;
+ }
+ getInstanceByMetatype(metatype) {
+ if (!this.moduleContext) {
+ return;
+ }
+ const collection = this.container.getModules();
+ const moduleRef = collection.get(this.moduleContext);
+ if (!moduleRef) {
+ return;
+ }
+ return moduleRef.injectables.get(metatype);
+ }
+ reflectCatchExceptions(instance) {
+ const prototype = Object.getPrototypeOf(instance);
+ return Reflect.getMetadata(FILTER_CATCH_EXCEPTIONS, prototype.constructor) || [];
+ }
+ };
+ }
+});
+
+// ../../node_modules/.pnpm/@nestjs+core@12.2.0_@nestjs_74b3aa22af8a41de6299655ec5713214/node_modules/@nestjs/core/errors/exceptions/runtime.exception.js
+var RuntimeException;
+var init_runtime_exception = __esm({
+ "../../node_modules/.pnpm/@nestjs+core@12.2.0_@nestjs_74b3aa22af8a41de6299655ec5713214/node_modules/@nestjs/core/errors/exceptions/runtime.exception.js"() {
+ RuntimeException = class extends Error {
+ static {
+ __name(this, "RuntimeException");
+ }
+ constructor(message = ``) {
+ super(message);
+ }
+ what() {
+ return this.message;
+ }
+ };
+ }
+});
+
+// ../../node_modules/.pnpm/@nestjs+core@12.2.0_@nestjs_74b3aa22af8a41de6299655ec5713214/node_modules/@nestjs/core/errors/messages.js
+var getInstanceName, getDependencyName, getModuleName, stringifyScope, UNKNOWN_DEPENDENCIES_MESSAGE, INVALID_MIDDLEWARE_MESSAGE, UNDEFINED_FORWARDREF_MESSAGE, INVALID_MODULE_MESSAGE, USING_INVALID_CLASS_AS_A_MODULE_MESSAGE, UNDEFINED_MODULE_MESSAGE, INVALID_PROVIDER_MESSAGE, UNKNOWN_EXPORT_MESSAGE, INVALID_CLASS_MESSAGE, INVALID_CLASS_SCOPE_MESSAGE, REQUEST_SCOPED_CREATE_MESSAGE, REQUEST_SCOPED_GLOBAL_ENHANCER_MESSAGE, UNINSTANTIATED_GLOBAL_ENHANCER_MESSAGE, UNKNOWN_REQUEST_MAPPING, ROUTE_CONFLICT_MESSAGE, DUPLICATE_ROUTE_MESSAGE, SHADOWED_ROUTE_MESSAGE, INVALID_EXCEPTION_FILTER;
+var init_messages = __esm({
+ "../../node_modules/.pnpm/@nestjs+core@12.2.0_@nestjs_74b3aa22af8a41de6299655ec5713214/node_modules/@nestjs/core/errors/messages.js"() {
+ init_internal();
+ getInstanceName = /* @__PURE__ */ __name((instance) => {
+ if (instance?.forwardRef) {
+ return instance.forwardRef()?.name;
+ }
+ if (instance?.module) {
+ return instance.module?.name;
+ }
+ return instance?.name;
+ }, "getInstanceName");
+ getDependencyName = /* @__PURE__ */ __name((dependency, fallbackValue, disambiguated = true) => (
+ // use class name
+ getInstanceName(dependency) || // use injection token (symbol)
+ isSymbol(dependency) && dependency.toString() || // use string directly
+ (dependency ? disambiguated ? `"${dependency}"` : dependency : void 0) || // otherwise
+ fallbackValue
+ ), "getDependencyName");
+ getModuleName = /* @__PURE__ */ __name((module) => module && getInstanceName(module.metatype) || "current", "getModuleName");
+ stringifyScope = /* @__PURE__ */ __name((scope) => (scope || []).map(getInstanceName).join(" -> "), "stringifyScope");
+ UNKNOWN_DEPENDENCIES_MESSAGE = /* @__PURE__ */ __name((type, unknownDependencyContext, moduleRef) => {
+ const { index, name, dependencies, key } = unknownDependencyContext;
+ const moduleName = getModuleName(moduleRef);
+ const dependencyName = getDependencyName(name, "dependency");
+ const isImportTypeIssue = !isNil(index) && dependencies && (dependencies[index] === void 0 || dependencies[index] === Object || typeof dependencies[index] === "function" && dependencies[index].name === "Object");
+ let potentialSolutions;
+ if (isImportTypeIssue) {
+ potentialSolutions = `
+
+Potential solutions:
+- The dependency at index [${index}] appears to be undefined at runtime
+- This commonly occurs when using 'import type' instead of 'import' for injectable classes
+- Check your imports and change:
+ \u274C import type { SomeService } from './some.service';
+ \u2705 import { SomeService } from './some.service';
+- Ensure the imported class is decorated with @Injectable() or is a valid provider
+- If using dynamic imports, ensure the class is available at runtime, not just for type checking
+
+For more common dependency resolution issues, see: https://docs.nestjs.com/faq/common-errors`;
+ } else {
+ potentialSolutions = // If module's name is well defined
+ moduleName !== "current" ? `
+
+Potential solutions:
+- Is ${moduleName} a valid NestJS module?
+- If ${dependencyName} is a provider, is it part of the current ${moduleName}?
+- If ${dependencyName} is exported from a separate @Module, is that module imported within ${moduleName}?
+ @Module({
+ imports: [ /* the Module containing ${dependencyName} */ ]
+ })
+
+For more common dependency resolution issues, see: https://docs.nestjs.com/faq/common-errors` : `
+
+Potential solutions:
+- If ${dependencyName} is a provider, is it part of the current Module?
+- If ${dependencyName} is exported from a separate @Module, is that module imported within Module?
+ @Module({
+ imports: [ /* the Module containing ${dependencyName} */ ]
+ })
+
+For more common dependency resolution issues, see: https://docs.nestjs.com/faq/common-errors`;
+ }
+ let message = `Nest can't resolve dependencies of the ${type.toString()}`;
+ if (isNil(index)) {
+ message += `. Please make sure that the "${key.toString()}" property is available in the current context.${potentialSolutions}`;
+ return message;
+ }
+ const dependenciesName = (dependencies || []).map((dependencyName2) => getDependencyName(dependencyName2, "+", false));
+ dependenciesName[index] = "?";
+ const tokenFragment = !isImportTypeIssue && name !== void 0 ? ` ${dependencyName}` : "";
+ const contextLabel = isImportTypeIssue ? "current" : moduleName;
+ message += ` (`;
+ message += dependenciesName.join(", ");
+ message += `). Please make sure that the argument${tokenFragment} at index [${index}]`;
+ message += ` is available in the ${contextLabel} module.`;
+ message += potentialSolutions;
+ return message;
+ }, "UNKNOWN_DEPENDENCIES_MESSAGE");
+ INVALID_MIDDLEWARE_MESSAGE = /* @__PURE__ */ __name((text, name) => `The middleware doesn't provide the 'use' method (${name})`, "INVALID_MIDDLEWARE_MESSAGE");
+ UNDEFINED_FORWARDREF_MESSAGE = /* @__PURE__ */ __name((scope) => `Nest cannot create the module instance. Often, this is because of a circular dependency between modules. Use forwardRef() to avoid it.
+
+(Read more: https://docs.nestjs.com/fundamentals/circular-dependency)
+Scope [${stringifyScope(scope)}]
+`, "UNDEFINED_FORWARDREF_MESSAGE");
+ INVALID_MODULE_MESSAGE = /* @__PURE__ */ __name((parentModule, index, scope, receivedValue) => {
+ const parentModuleName = getInstanceName(parentModule) || "module";
+ let formattedValue;
+ let receivedType;
+ if (receivedValue === null) {
+ formattedValue = "null";
+ receivedType = "null";
+ } else if (typeof receivedValue === "string") {
+ formattedValue = `"${receivedValue}"`;
+ receivedType = "string";
+ } else {
+ formattedValue = String(receivedValue);
+ receivedType = typeof receivedValue;
+ }
+ return `Nest cannot create the ${parentModuleName} instance.
+Received an unexpected value at index [${index}] of the ${parentModuleName} "imports" array.
+The received value \`${formattedValue}\` is of type "${receivedType}".
+
+Scope [${stringifyScope(scope)}]`;
+ }, "INVALID_MODULE_MESSAGE");
+ USING_INVALID_CLASS_AS_A_MODULE_MESSAGE = /* @__PURE__ */ __name((metatypeUsedAsAModule, scope, classKind) => {
+ const metatypeNameQuote = `"${getInstanceName(metatypeUsedAsAModule)}"`;
+ let hint;
+ switch (classKind) {
+ case "controller":
+ hint = `${metatypeNameQuote} is decorated with @Controller() and cannot appear in the "imports" array of a module. Please move ${metatypeNameQuote} to the "controllers" array of the importing module instead.`;
+ break;
+ case "provider":
+ hint = `${metatypeNameQuote} is decorated with @Injectable() and cannot appear in the "imports" array of a module. Please move ${metatypeNameQuote} to the "providers" array of the importing module instead.`;
+ break;
+ case "filter":
+ hint = `${metatypeNameQuote} is decorated with @Catch() and cannot appear in the "imports" array of a module. Please move ${metatypeNameQuote} to the "providers" array (using the APP_FILTER token to apply it globally) or apply it via @UseFilters() instead.`;
+ break;
+ }
+ return `${hint}
+
+Scope [${stringifyScope(scope)}]
+`;
+ }, "USING_INVALID_CLASS_AS_A_MODULE_MESSAGE");
+ UNDEFINED_MODULE_MESSAGE = /* @__PURE__ */ __name((parentModule, index, scope) => {
+ const parentModuleName = getInstanceName(parentModule) || "module";
+ return `Nest cannot create the ${parentModuleName} instance.
+The module at index [${index}] of the ${parentModuleName} "imports" array is undefined.
+
+Potential causes:
+- A circular dependency between modules. Use forwardRef() to avoid it. Read more: https://docs.nestjs.com/fundamentals/circular-dependency
+- The module at index [${index}] is of type "undefined". Check your import statements and the type of the module.
+
+Scope [${stringifyScope(scope)}]`;
+ }, "UNDEFINED_MODULE_MESSAGE");
+ INVALID_PROVIDER_MESSAGE = /* @__PURE__ */ __name((token, moduleName) => `Nest cannot create the ${moduleName} instance.
+The provider ${getDependencyName(token, "provider")} in the ${moduleName} "providers" array does not define a valid "useClass", "useValue", "useFactory" or "useExisting" property.
+
+Potential causes:
+- The value of "useClass", "useFactory" or "useExisting" is undefined at runtime, often because of a circular import between files. Check your import statements.
+- None of these properties is set, or the one that is set is null.`, "INVALID_PROVIDER_MESSAGE");
+ UNKNOWN_EXPORT_MESSAGE = /* @__PURE__ */ __name((token = "item", module) => {
+ token = isSymbol(token) ? token.toString() : token;
+ return `Nest cannot export a provider/module that is not a part of the currently processed module (${module}). Please verify whether the exported ${token} is available in this particular context.
+
+Possible Solutions:
+- Is ${token} part of the relevant providers/imports within ${module}?
+
+For more common dependency resolution issues, see: https://docs.nestjs.com/faq/common-errors
+`;
+ }, "UNKNOWN_EXPORT_MESSAGE");
+ INVALID_CLASS_MESSAGE = /* @__PURE__ */ __name((text, value) => `ModuleRef cannot instantiate class (${value} is not constructable).`, "INVALID_CLASS_MESSAGE");
+ INVALID_CLASS_SCOPE_MESSAGE = /* @__PURE__ */ __name((text, name) => `${name || "This class"} is marked as a scoped provider. Request and transient-scoped providers can't be used in combination with "get()" method. Please, use "resolve()" instead.`, "INVALID_CLASS_SCOPE_MESSAGE");
+ REQUEST_SCOPED_CREATE_MESSAGE = /* @__PURE__ */ __name((name) => `${name} depends on a request-scoped provider, so it can't be created without a context id. Please, use "create(type, contextId)" instead.`, "REQUEST_SCOPED_CREATE_MESSAGE");
+ REQUEST_SCOPED_GLOBAL_ENHANCER_MESSAGE = /* @__PURE__ */ __name((enhancerToken, provider, kind) => `The ${enhancerToken} provider (${provider}) depends on a request-scoped provider, ${{
+ useClass: `so it would run with its dependencies undefined. Mark the class with @Injectable({ scope: Scope.REQUEST }), or set "scope: Scope.REQUEST" on the provider.`,
+ useExisting: `so it would never run. Point "useExisting" at a class marked with @Injectable({ scope: Scope.REQUEST }), or use a factory provider with "scope: Scope.REQUEST".`,
+ useFactory: `so it would never run. Set "scope: Scope.REQUEST" on the factory provider.`
+ }[kind]}`, "REQUEST_SCOPED_GLOBAL_ENHANCER_MESSAGE");
+ UNINSTANTIATED_GLOBAL_ENHANCER_MESSAGE = /* @__PURE__ */ __name((enhancerToken, provider) => `The ${enhancerToken} provider (${provider}) was not instantiated, as one of its dependencies was not, so it can't be applied.`, "UNINSTANTIATED_GLOBAL_ENHANCER_MESSAGE");
+ UNKNOWN_REQUEST_MAPPING = /* @__PURE__ */ __name((metatype) => {
+ const className = metatype.name;
+ return className ? `An invalid controller has been detected. "${className}" does not have the @Controller() decorator but it is being listed in the "controllers" array of some module.` : `An invalid controller has been detected. Perhaps, one of your controllers is missing the @Controller() decorator.`;
+ }, "UNKNOWN_REQUEST_MAPPING");
+ ROUTE_CONFLICT_MESSAGE = /* @__PURE__ */ __name((messages) => [
+ "Conflicting HTTP routes detected:",
+ ...messages.map((message) => ` - ${message}`),
+ `Adjust route declarations or relax the 'routeConflictPolicy' option passed to NestFactory.create() to allow the application to start.`
+ ].join("\n"), "ROUTE_CONFLICT_MESSAGE");
+ DUPLICATE_ROUTE_MESSAGE = /* @__PURE__ */ __name((method, path, firstHandlerLabel, secondHandlerLabel) => `Duplicate route: ${method} ${path} is registered by both ${firstHandlerLabel} and ${secondHandlerLabel}.`, "DUPLICATE_ROUTE_MESSAGE");
+ SHADOWED_ROUTE_MESSAGE = /* @__PURE__ */ __name((method, shadowedPath, shadowedHandlerLabel, winnerPath, winnerHandlerLabel) => `Route ${method} ${shadowedPath} (${shadowedHandlerLabel}) is shadowed by ${method} ${winnerPath} (${winnerHandlerLabel}). The first-registered route will match all matching requests on order-sensitive adapters.`, "SHADOWED_ROUTE_MESSAGE");
+ INVALID_EXCEPTION_FILTER = `Invalid exception filters (@UseFilters()).`;
+ }
+});
+
+// ../../node_modules/.pnpm/@nestjs+core@12.2.0_@nestjs_74b3aa22af8a41de6299655ec5713214/node_modules/@nestjs/core/errors/exceptions/invalid-exception-filter.exception.js
+var InvalidExceptionFilterException;
+var init_invalid_exception_filter_exception = __esm({
+ "../../node_modules/.pnpm/@nestjs+core@12.2.0_@nestjs_74b3aa22af8a41de6299655ec5713214/node_modules/@nestjs/core/errors/exceptions/invalid-exception-filter.exception.js"() {
+ init_runtime_exception();
+ init_messages();
+ InvalidExceptionFilterException = class extends RuntimeException {
+ static {
+ __name(this, "InvalidExceptionFilterException");
+ }
+ constructor() {
+ super(INVALID_EXCEPTION_FILTER);
+ }
+ };
+ }
+});
+
+// ../../node_modules/.pnpm/@nestjs+core@12.2.0_@nestjs_74b3aa22af8a41de6299655ec5713214/node_modules/@nestjs/core/exceptions/external-exception-filter.js
+var ExternalExceptionFilter;
+var init_external_exception_filter = __esm({
+ "../../node_modules/.pnpm/@nestjs+core@12.2.0_@nestjs_74b3aa22af8a41de6299655ec5713214/node_modules/@nestjs/core/exceptions/external-exception-filter.js"() {
+ init_common();
+ ExternalExceptionFilter = class _ExternalExceptionFilter {
+ static {
+ __name(this, "ExternalExceptionFilter");
+ }
+ static logger = new Logger("ExceptionsHandler");
+ catch(exception, host) {
+ if (exception instanceof Error && !(exception instanceof IntrinsicException)) {
+ _ExternalExceptionFilter.logger.error(exception);
+ }
+ throw exception;
+ }
+ };
+ }
+});
+
+// ../../node_modules/.pnpm/@nestjs+core@12.2.0_@nestjs_74b3aa22af8a41de6299655ec5713214/node_modules/@nestjs/core/exceptions/external-exceptions-handler.js
+var ExternalExceptionsHandler;
+var init_external_exceptions_handler = __esm({
+ "../../node_modules/.pnpm/@nestjs+core@12.2.0_@nestjs_74b3aa22af8a41de6299655ec5713214/node_modules/@nestjs/core/exceptions/external-exceptions-handler.js"() {
+ init_invalid_exception_filter_exception();
+ init_external_exception_filter();
+ init_internal();
+ ExternalExceptionsHandler = class extends ExternalExceptionFilter {
+ static {
+ __name(this, "ExternalExceptionsHandler");
+ }
+ filters = [];
+ next(exception, host) {
+ const result = this.invokeCustomFilters(exception, host);
+ if (!isUndefined(result)) {
+ return result;
+ }
+ return super.catch(exception, host);
+ }
+ setCustomFilters(filters) {
+ if (!Array.isArray(filters)) {
+ throw new InvalidExceptionFilterException();
+ }
+ this.filters = filters;
+ }
+ invokeCustomFilters(exception, host) {
+ if (isEmptyArray(this.filters)) {
+ return;
+ }
+ const filter = selectExceptionFilterMetadata(this.filters, exception);
+ return filter ? filter.func(exception, host) : void 0;
+ }
+ };
+ }
+});
+
+// ../../node_modules/.pnpm/@nestjs+core@12.2.0_@nestjs_74b3aa22af8a41de6299655ec5713214/node_modules/@nestjs/core/exceptions/external-exception-filter-context.js
+var import_iterare2, ExternalExceptionFilterContext;
+var init_external_exception_filter_context = __esm({
+ "../../node_modules/.pnpm/@nestjs+core@12.2.0_@nestjs_74b3aa22af8a41de6299655ec5713214/node_modules/@nestjs/core/exceptions/external-exception-filter-context.js"() {
+ import_iterare2 = __toESM(require_lib(), 1);
+ init_constants3();
+ init_base_exception_filter_context();
+ init_external_exceptions_handler();
+ init_internal();
+ ExternalExceptionFilterContext = class extends BaseExceptionFilterContext {
+ static {
+ __name(this, "ExternalExceptionFilterContext");
+ }
+ config;
+ constructor(container, config) {
+ super(container);
+ this.config = config;
+ }
+ create(instance, callback, module, contextId = STATIC_CONTEXT, inquirerId) {
+ this.moduleContext = module;
+ const exceptionHandler = new ExternalExceptionsHandler();
+ const filters = this.createContext(instance, callback, EXCEPTION_FILTERS_METADATA, contextId, inquirerId);
+ if (isEmptyArray(filters)) {
+ return exceptionHandler;
+ }
+ exceptionHandler.setCustomFilters(filters.reverse());
+ return exceptionHandler;
+ }
+ getGlobalMetadata(contextId = STATIC_CONTEXT, inquirerId) {
+ if (!this.config) {
+ return [];
+ }
+ const globalFilters = this.config.getGlobalFilters();
+ if (contextId === STATIC_CONTEXT && !inquirerId) {
+ return globalFilters;
+ }
+ const scopedFilterWrappers = this.config.getGlobalRequestFilters();
+ const scopedFilters = (0, import_iterare2.iterate)(scopedFilterWrappers).map((wrapper) => wrapper.getInstanceByContextId(this.getContextId(contextId, wrapper), inquirerId)).filter((host) => !!host).map((host) => host.instance).toArray();
+ return globalFilters.concat(scopedFilters);
+ }
+ };
+ }
+});
+
+// ../../node_modules/.pnpm/@nestjs+core@12.2.0_@nestjs_74b3aa22af8a41de6299655ec5713214/node_modules/@nestjs/core/guards/constants.js
+var FORBIDDEN_MESSAGE;
+var init_constants4 = __esm({
+ "../../node_modules/.pnpm/@nestjs+core@12.2.0_@nestjs_74b3aa22af8a41de6299655ec5713214/node_modules/@nestjs/core/guards/constants.js"() {
+ FORBIDDEN_MESSAGE = "Forbidden resource";
+ }
+});
+
+// ../../node_modules/.pnpm/@nestjs+core@12.2.0_@nestjs_74b3aa22af8a41de6299655ec5713214/node_modules/@nestjs/core/helpers/execution-context-host.js
+var ExecutionContextHost;
+var init_execution_context_host = __esm({
+ "../../node_modules/.pnpm/@nestjs+core@12.2.0_@nestjs_74b3aa22af8a41de6299655ec5713214/node_modules/@nestjs/core/helpers/execution-context-host.js"() {
+ ExecutionContextHost = class {
+ static {
+ __name(this, "ExecutionContextHost");
+ }
+ args;
+ constructorRef;
+ handler;
+ contextType = "http";
+ constructor(args, constructorRef = null, handler = null) {
+ this.args = args;
+ this.constructorRef = constructorRef;
+ this.handler = handler;
+ }
+ setType(type) {
+ type && (this.contextType = type);
+ }
+ getType() {
+ return this.contextType;
+ }
+ getClass() {
+ return this.constructorRef;
+ }
+ getHandler() {
+ return this.handler;
+ }
+ getArgs() {
+ return this.args;
+ }
+ getArgByIndex(index) {
+ return this.args[index];
+ }
+ switchToRpc() {
+ return Object.assign(this, {
+ getData: /* @__PURE__ */ __name(() => this.getArgByIndex(0), "getData"),
+ getContext: /* @__PURE__ */ __name(() => this.getArgByIndex(1), "getContext")
+ });
+ }
+ switchToHttp() {
+ return Object.assign(this, {
+ getRequest: /* @__PURE__ */ __name(() => this.getArgByIndex(0), "getRequest"),
+ getResponse: /* @__PURE__ */ __name(() => this.getArgByIndex(1), "getResponse"),
+ getNext: /* @__PURE__ */ __name(() => this.getArgByIndex(2), "getNext")
+ });
+ }
+ switchToWs() {
+ return Object.assign(this, {
+ getClient: /* @__PURE__ */ __name(() => this.getArgByIndex(0), "getClient"),
+ getData: /* @__PURE__ */ __name(() => this.getArgByIndex(1), "getData"),
+ getPattern: /* @__PURE__ */ __name(() => this.getArgByIndex(this.getArgs().length - 1), "getPattern")
+ });
+ }
+ };
+ }
+});
+
+// ../../node_modules/.pnpm/@nestjs+core@12.2.0_@nestjs_74b3aa22af8a41de6299655ec5713214/node_modules/@nestjs/core/guards/guards-consumer.js
+var import_rxjs3, GuardsConsumer;
+var init_guards_consumer = __esm({
+ "../../node_modules/.pnpm/@nestjs+core@12.2.0_@nestjs_74b3aa22af8a41de6299655ec5713214/node_modules/@nestjs/core/guards/guards-consumer.js"() {
+ import_rxjs3 = __toESM(require_cjs(), 1);
+ init_execution_context_host();
+ init_internal();
+ GuardsConsumer = class {
+ static {
+ __name(this, "GuardsConsumer");
+ }
+ async tryActivate(guards, args, instance, callback, type) {
+ if (!guards || isEmptyArray(guards)) {
+ return true;
+ }
+ const context = this.createContext(args, instance, callback);
+ context.setType(type);
+ for (const guard of guards) {
+ const result = guard.canActivate(context);
+ if (typeof result === "boolean") {
+ if (!result) {
+ return false;
+ }
+ continue;
+ }
+ if (await this.pickResult(result)) {
+ continue;
+ }
+ return false;
+ }
+ return true;
+ }
+ createContext(args, instance, callback) {
+ return new ExecutionContextHost(args, instance.constructor, callback);
+ }
+ async pickResult(result) {
+ const value = await result;
+ if ((0, import_rxjs3.isObservable)(value)) {
+ return (0, import_rxjs3.lastValueFrom)(value);
+ }
+ return value;
+ }
+ };
+ }
+});
+
+// ../../node_modules/.pnpm/@nestjs+core@12.2.0_@nestjs_74b3aa22af8a41de6299655ec5713214/node_modules/@nestjs/core/guards/guards-context-creator.js
+var import_iterare3, GuardsContextCreator;
+var init_guards_context_creator = __esm({
+ "../../node_modules/.pnpm/@nestjs+core@12.2.0_@nestjs_74b3aa22af8a41de6299655ec5713214/node_modules/@nestjs/core/guards/guards-context-creator.js"() {
+ import_iterare3 = __toESM(require_lib(), 1);
+ init_context_creator();
+ init_constants3();
+ init_internal();
+ GuardsContextCreator = class extends ContextCreator {
+ static {
+ __name(this, "GuardsContextCreator");
+ }
+ container;
+ config;
+ moduleContext;
+ constructor(container, config) {
+ super();
+ this.container = container;
+ this.config = config;
+ }
+ create(instance, callback, module, contextId = STATIC_CONTEXT, inquirerId) {
+ this.moduleContext = module;
+ return this.createContext(instance, callback, GUARDS_METADATA, contextId, inquirerId);
+ }
+ createConcreteContext(metadata, contextId = STATIC_CONTEXT, inquirerId) {
+ if (isEmpty(metadata)) {
+ return [];
+ }
+ return (0, import_iterare3.iterate)(metadata).filter((guard) => guard && (isFunction(guard) || isFunction(guard.canActivate))).map((guard) => this.getGuardInstance(guard, contextId, inquirerId)).filter((guard) => !!guard && isFunction(guard.canActivate)).toArray();
+ }
+ getGuardInstance(metatype, contextId = STATIC_CONTEXT, inquirerId) {
+ const isObject2 = !!metatype.canActivate;
+ if (isObject2) {
+ return metatype;
+ }
+ const instanceWrapper = this.getInstanceByMetatype(metatype);
+ if (!instanceWrapper) {
+ return null;
+ }
+ const instanceHost = instanceWrapper.getInstanceByContextId(this.getContextId(contextId, instanceWrapper), inquirerId);
+ return instanceHost && instanceHost.instance;
+ }
+ getInstanceByMetatype(metatype) {
+ if (!this.moduleContext) {
+ return;
+ }
+ const collection = this.container.getModules();
+ const moduleRef = collection.get(this.moduleContext);
+ if (!moduleRef) {
+ return;
+ }
+ const injectables = moduleRef.injectables;
+ return injectables.get(metatype);
+ }
+ getGlobalMetadata(contextId = STATIC_CONTEXT, inquirerId) {
+ if (!this.config) {
+ return [];
+ }
+ const globalGuards = this.config.getGlobalGuards();
+ if (contextId === STATIC_CONTEXT && !inquirerId) {
+ return globalGuards;
+ }
+ const scopedGuardWrappers = this.config.getGlobalRequestGuards();
+ const scopedGuards = (0, import_iterare3.iterate)(scopedGuardWrappers).map((wrapper) => wrapper.getInstanceByContextId(this.getContextId(contextId, wrapper), inquirerId)).filter((host) => !!host).map((host) => host.instance).toArray();
+ return globalGuards.concat(scopedGuards);
+ }
+ };
+ }
+});
+
+// ../../node_modules/.pnpm/@nestjs+core@12.2.0_@nestjs_74b3aa22af8a41de6299655ec5713214/node_modules/@nestjs/core/guards/index.js
+var init_guards = __esm({
+ "../../node_modules/.pnpm/@nestjs+core@12.2.0_@nestjs_74b3aa22af8a41de6299655ec5713214/node_modules/@nestjs/core/guards/index.js"() {
+ init_constants4();
+ init_guards_consumer();
+ init_guards_context_creator();
+ }
+});
+
+// ../../node_modules/.pnpm/@nestjs+core@12.2.0_@nestjs_74b3aa22af8a41de6299655ec5713214/node_modules/@nestjs/core/helpers/destroy-streamable-file.js
+function destroyStreamableFile(value) {
+ if (!(value instanceof StreamableFile)) {
+ return;
+ }
+ const stream = value.getStream();
+ if (isFunction(stream?.destroy)) {
+ stream.destroy();
+ }
+}
+var init_destroy_streamable_file = __esm({
+ "../../node_modules/.pnpm/@nestjs+core@12.2.0_@nestjs_74b3aa22af8a41de6299655ec5713214/node_modules/@nestjs/core/helpers/destroy-streamable-file.js"() {
+ init_common();
+ init_internal();
+ __name(destroyStreamableFile, "destroyStreamableFile");
+ }
+});
+
+// ../../node_modules/.pnpm/@nestjs+core@12.2.0_@nestjs_74b3aa22af8a41de6299655ec5713214/node_modules/@nestjs/core/interceptors/interceptors-consumer.js
+import { AsyncResource } from "async_hooks";
+function bindAsyncScope(fn) {
+ const resource = new AsyncResource(fn.name || "bound-anonymous-fn");
+ return () => resource.runInAsyncScope(fn);
+}
+var import_rxjs4, import_operators, InterceptorsConsumer;
+var init_interceptors_consumer = __esm({
+ "../../node_modules/.pnpm/@nestjs+core@12.2.0_@nestjs_74b3aa22af8a41de6299655ec5713214/node_modules/@nestjs/core/interceptors/interceptors-consumer.js"() {
+ import_rxjs4 = __toESM(require_cjs(), 1);
+ import_operators = __toESM(require_operators(), 1);
+ init_destroy_streamable_file();
+ init_execution_context_host();
+ init_internal();
+ InterceptorsConsumer = class {
+ static {
+ __name(this, "InterceptorsConsumer");
+ }
+ async intercept(interceptors, args, instance, callback, next, type) {
+ if (!interceptors || isEmptyArray(interceptors)) {
+ return next();
+ }
+ const context = this.createContext(args, instance, callback);
+ context.setType(type);
+ const nextFn = /* @__PURE__ */ __name(async (i = 0) => {
+ if (i >= interceptors.length) {
+ return (0, import_rxjs4.defer)(bindAsyncScope(() => this.transformDeferred(next)));
+ }
+ const handler = {
+ handle: /* @__PURE__ */ __name(() => (0, import_rxjs4.defer)(bindAsyncScope(() => nextFn(i + 1))).pipe((0, import_operators.mergeAll)()), "handle")
+ };
+ return interceptors[i].intercept(context, handler);
+ }, "nextFn");
+ return (0, import_rxjs4.defer)(() => nextFn()).pipe((0, import_operators.mergeAll)());
+ }
+ createContext(args, instance, callback) {
+ return new ExecutionContextHost(args, instance.constructor, callback);
+ }
+ transformDeferred(next) {
+ const nextPromise = next();
+ return new import_rxjs4.Observable((subscriber) => {
+ let innerSub;
+ nextPromise.then((res) => {
+ if (subscriber.closed) {
+ destroyStreamableFile(res);
+ return;
+ }
+ const isDeferred = res instanceof Promise || res instanceof import_rxjs4.Observable;
+ innerSub = (0, import_rxjs4.from)(isDeferred ? res : Promise.resolve(res)).subscribe(subscriber);
+ }).catch((err) => {
+ if (!subscriber.closed) {
+ subscriber.error(err);
+ }
+ });
+ return () => {
+ innerSub?.unsubscribe();
+ };
+ });
+ }
+ };
+ __name(bindAsyncScope, "bindAsyncScope");
+ }
+});
+
+// ../../node_modules/.pnpm/@nestjs+core@12.2.0_@nestjs_74b3aa22af8a41de6299655ec5713214/node_modules/@nestjs/core/interceptors/interceptors-context-creator.js
+var import_iterare4, InterceptorsContextCreator;
+var init_interceptors_context_creator = __esm({
+ "../../node_modules/.pnpm/@nestjs+core@12.2.0_@nestjs_74b3aa22af8a41de6299655ec5713214/node_modules/@nestjs/core/interceptors/interceptors-context-creator.js"() {
+ import_iterare4 = __toESM(require_lib(), 1);
+ init_context_creator();
+ init_constants3();
+ init_internal();
+ InterceptorsContextCreator = class extends ContextCreator {
+ static {
+ __name(this, "InterceptorsContextCreator");
+ }
+ container;
+ config;
+ moduleContext;
+ constructor(container, config) {
+ super();
+ this.container = container;
+ this.config = config;
+ }
+ create(instance, callback, module, contextId = STATIC_CONTEXT, inquirerId) {
+ this.moduleContext = module;
+ return this.createContext(instance, callback, INTERCEPTORS_METADATA, contextId, inquirerId);
+ }
+ createConcreteContext(metadata, contextId = STATIC_CONTEXT, inquirerId) {
+ if (isEmpty(metadata)) {
+ return [];
+ }
+ return (0, import_iterare4.iterate)(metadata).filter((interceptor) => interceptor && (isFunction(interceptor) || isFunction(interceptor.intercept))).map((interceptor) => this.getInterceptorInstance(interceptor, contextId, inquirerId)).filter((interceptor) => interceptor ? isFunction(interceptor.intercept) : false).toArray();
+ }
+ getInterceptorInstance(metatype, contextId = STATIC_CONTEXT, inquirerId) {
+ const isObject2 = !!metatype.intercept;
+ if (isObject2) {
+ return metatype;
+ }
+ const instanceWrapper = this.getInstanceByMetatype(metatype);
+ if (!instanceWrapper) {
+ return null;
+ }
+ const instanceHost = instanceWrapper.getInstanceByContextId(this.getContextId(contextId, instanceWrapper), inquirerId);
+ return instanceHost && instanceHost.instance;
+ }
+ getInstanceByMetatype(metatype) {
+ if (!this.moduleContext) {
+ return;
+ }
+ const collection = this.container.getModules();
+ const moduleRef = collection.get(this.moduleContext);
+ if (!moduleRef) {
+ return;
+ }
+ return moduleRef.injectables.get(metatype);
+ }
+ getGlobalMetadata(contextId = STATIC_CONTEXT, inquirerId) {
+ if (!this.config) {
+ return [];
+ }
+ const globalInterceptors = this.config.getGlobalInterceptors();
+ if (contextId === STATIC_CONTEXT && !inquirerId) {
+ return globalInterceptors;
+ }
+ const scopedInterceptorWrappers = this.config.getGlobalRequestInterceptors();
+ const scopedInterceptors = (0, import_iterare4.iterate)(scopedInterceptorWrappers).map((wrapper) => wrapper.getInstanceByContextId(this.getContextId(contextId, wrapper), inquirerId)).filter((host) => !!host).map((host) => host.instance).toArray();
+ return globalInterceptors.concat(scopedInterceptors);
+ }
+ };
+ }
+});
+
+// ../../node_modules/.pnpm/@nestjs+core@12.2.0_@nestjs_74b3aa22af8a41de6299655ec5713214/node_modules/@nestjs/core/interceptors/index.js
+var init_interceptors = __esm({
+ "../../node_modules/.pnpm/@nestjs+core@12.2.0_@nestjs_74b3aa22af8a41de6299655ec5713214/node_modules/@nestjs/core/interceptors/index.js"() {
+ init_interceptors_consumer();
+ init_interceptors_context_creator();
+ }
+});
+
+// ../../node_modules/.pnpm/@nestjs+core@12.2.0_@nestjs_74b3aa22af8a41de6299655ec5713214/node_modules/@nestjs/core/pipes/params-token-factory.js
+var ParamsTokenFactory;
+var init_params_token_factory = __esm({
+ "../../node_modules/.pnpm/@nestjs+core@12.2.0_@nestjs_74b3aa22af8a41de6299655ec5713214/node_modules/@nestjs/core/pipes/params-token-factory.js"() {
+ init_internal();
+ ParamsTokenFactory = class {
+ static {
+ __name(this, "ParamsTokenFactory");
+ }
+ exchangeEnumForString(type) {
+ switch (type) {
+ case RouteParamtypes.BODY:
+ return "body";
+ case RouteParamtypes.PARAM:
+ return "param";
+ case RouteParamtypes.QUERY:
+ return "query";
+ default:
+ return "custom";
+ }
+ }
+ };
+ }
+});
+
+// ../../node_modules/.pnpm/@nestjs+core@12.2.0_@nestjs_74b3aa22af8a41de6299655ec5713214/node_modules/@nestjs/core/pipes/pipes-consumer.js
+var isThenable, PipesConsumer;
+var init_pipes_consumer = __esm({
+ "../../node_modules/.pnpm/@nestjs+core@12.2.0_@nestjs_74b3aa22af8a41de6299655ec5713214/node_modules/@nestjs/core/pipes/pipes-consumer.js"() {
+ init_params_token_factory();
+ isThenable = /* @__PURE__ */ __name((value) => value !== null && (typeof value === "object" || typeof value === "function") && typeof value.then === "function", "isThenable");
+ PipesConsumer = class {
+ static {
+ __name(this, "PipesConsumer");
+ }
+ paramsTokenFactory = new ParamsTokenFactory();
+ async apply(value, metadata, pipes) {
+ const token = this.paramsTokenFactory.exchangeEnumForString(metadata.type);
+ return this.applyPipes(value, {
+ metatype: metadata.metatype,
+ type: token,
+ data: metadata.data,
+ schema: metadata.schema
+ }, pipes);
+ }
+ async applyPipes(value, { metatype, type, data, schema }, transforms) {
+ let result = isThenable(value) ? await value : value;
+ for (const pipe of transforms) {
+ result = await pipe.transform(result, { metatype, type, data, schema });
+ }
+ return result;
+ }
+ };
+ }
+});
+
+// ../../node_modules/.pnpm/@nestjs+core@12.2.0_@nestjs_74b3aa22af8a41de6299655ec5713214/node_modules/@nestjs/core/pipes/pipes-context-creator.js
+var import_iterare5, PipesContextCreator;
+var init_pipes_context_creator = __esm({
+ "../../node_modules/.pnpm/@nestjs+core@12.2.0_@nestjs_74b3aa22af8a41de6299655ec5713214/node_modules/@nestjs/core/pipes/pipes-context-creator.js"() {
+ import_iterare5 = __toESM(require_lib(), 1);
+ init_context_creator();
+ init_constants3();
+ init_internal();
+ PipesContextCreator = class extends ContextCreator {
+ static {
+ __name(this, "PipesContextCreator");
+ }
+ container;
+ config;
+ moduleContext;
+ constructor(container, config) {
+ super();
+ this.container = container;
+ this.config = config;
+ }
+ create(instance, callback, moduleKey, contextId = STATIC_CONTEXT, inquirerId) {
+ this.moduleContext = moduleKey;
+ return this.createContext(instance, callback, PIPES_METADATA, contextId, inquirerId);
+ }
+ createConcreteContext(metadata, contextId = STATIC_CONTEXT, inquirerId) {
+ if (isEmpty(metadata)) {
+ return [];
+ }
+ return (0, import_iterare5.iterate)(metadata).filter((pipe) => pipe && (isFunction(pipe) || isFunction(pipe.transform))).map((pipe) => this.getPipeInstance(pipe, contextId, inquirerId)).filter((pipe) => !!pipe && pipe.transform && isFunction(pipe.transform)).toArray();
+ }
+ getPipeInstance(pipe, contextId = STATIC_CONTEXT, inquirerId) {
+ const isObject2 = !!pipe.transform;
+ if (isObject2) {
+ return pipe;
+ }
+ const instanceWrapper = this.getInstanceByMetatype(pipe);
+ if (!instanceWrapper) {
+ return null;
+ }
+ const instanceHost = instanceWrapper.getInstanceByContextId(this.getContextId(contextId, instanceWrapper), inquirerId);
+ return instanceHost && instanceHost.instance;
+ }
+ getInstanceByMetatype(metatype) {
+ if (!this.moduleContext) {
+ return;
+ }
+ const collection = this.container.getModules();
+ const moduleRef = collection.get(this.moduleContext);
+ if (!moduleRef) {
+ return;
+ }
+ return moduleRef.injectables.get(metatype);
+ }
+ getGlobalMetadata(contextId = STATIC_CONTEXT, inquirerId) {
+ if (!this.config) {
+ return [];
+ }
+ const globalPipes = this.config.getGlobalPipes();
+ if (contextId === STATIC_CONTEXT && !inquirerId) {
+ return globalPipes;
+ }
+ const scopedPipeWrappers = this.config.getGlobalRequestPipes();
+ const scopedPipes = (0, import_iterare5.iterate)(scopedPipeWrappers).map((wrapper) => wrapper.getInstanceByContextId(this.getContextId(contextId, wrapper), inquirerId)).filter((host) => !!host).map((host) => host.instance).toArray();
+ return globalPipes.concat(scopedPipes);
+ }
+ setModuleContext(context) {
+ this.moduleContext = context;
+ }
+ };
+ }
+});
+
+// ../../node_modules/.pnpm/@nestjs+core@12.2.0_@nestjs_74b3aa22af8a41de6299655ec5713214/node_modules/@nestjs/core/pipes/index.js
+var init_pipes = __esm({
+ "../../node_modules/.pnpm/@nestjs+core@12.2.0_@nestjs_74b3aa22af8a41de6299655ec5713214/node_modules/@nestjs/core/pipes/index.js"() {
+ init_params_token_factory();
+ init_pipes_consumer();
+ init_pipes_context_creator();
+ }
+});
+
+// ../../node_modules/.pnpm/@nestjs+core@12.2.0_@nestjs_74b3aa22af8a41de6299655ec5713214/node_modules/@nestjs/core/helpers/context-utils.js
+var ContextUtils;
+var init_context_utils = __esm({
+ "../../node_modules/.pnpm/@nestjs+core@12.2.0_@nestjs_74b3aa22af8a41de6299655ec5713214/node_modules/@nestjs/core/helpers/context-utils.js"() {
+ init_execution_context_host();
+ init_internal();
+ ContextUtils = class {
+ static {
+ __name(this, "ContextUtils");
+ }
+ mapParamType(key) {
+ const keyPair = key.split(":");
+ return keyPair[0];
+ }
+ reflectCallbackParamtypes(instance, methodName) {
+ return Reflect.getMetadata(PARAMTYPES_METADATA, instance, methodName);
+ }
+ reflectCallbackMetadata(instance, methodName, metadataKey) {
+ return Reflect.getMetadata(metadataKey, instance.constructor, methodName);
+ }
+ reflectPassthrough(instance, methodName) {
+ return Reflect.getMetadata(RESPONSE_PASSTHROUGH_METADATA, instance.constructor, methodName);
+ }
+ getArgumentsLength(keys, metadata) {
+ return keys.length ? Math.max(...keys.map((key) => metadata[key].index)) + 1 : 0;
+ }
+ createNullArray(length) {
+ const a = new Array(length);
+ for (let i = 0; i < length; ++i)
+ a[i] = void 0;
+ return a;
+ }
+ mergeParamsMetatypes(paramsProperties, paramtypes) {
+ if (!paramtypes) {
+ return paramsProperties;
+ }
+ return paramsProperties.map((param) => ({
+ ...param,
+ metatype: paramtypes[param.index]
+ }));
+ }
+ getCustomFactory(factory, data, contextFactory) {
+ return isFunction(factory) ? (...args) => factory(data, contextFactory(args)) : () => null;
+ }
+ getContextFactory(contextType, instance, callback) {
+ const type = instance && instance.constructor;
+ return (args) => {
+ const ctx = new ExecutionContextHost(args, type, callback);
+ ctx.setType(contextType);
+ return ctx;
+ };
+ }
+ };
+ }
+});
+
+// ../../node_modules/.pnpm/@nestjs+core@12.2.0_@nestjs_74b3aa22af8a41de6299655ec5713214/node_modules/@nestjs/core/helpers/external-proxy.js
+var ExternalErrorProxy;
+var init_external_proxy = __esm({
+ "../../node_modules/.pnpm/@nestjs+core@12.2.0_@nestjs_74b3aa22af8a41de6299655ec5713214/node_modules/@nestjs/core/helpers/external-proxy.js"() {
+ init_execution_context_host();
+ ExternalErrorProxy = class {
+ static {
+ __name(this, "ExternalErrorProxy");
+ }
+ createProxy(targetCallback, exceptionsHandler, type) {
+ return async (...args) => {
+ try {
+ return await targetCallback(...args);
+ } catch (e) {
+ const host = new ExecutionContextHost(args);
+ host.setType(type);
+ return exceptionsHandler.next(e, host);
+ }
+ };
+ }
+ };
+ }
+});
+
+// ../../node_modules/.pnpm/@nestjs+core@12.2.0_@nestjs_74b3aa22af8a41de6299655ec5713214/node_modules/@nestjs/core/helpers/handler-metadata-storage.js
+var HANDLER_METADATA_SYMBOL, HandlerMetadataStorage;
+var init_handler_metadata_storage = __esm({
+ "../../node_modules/.pnpm/@nestjs+core@12.2.0_@nestjs_74b3aa22af8a41de6299655ec5713214/node_modules/@nestjs/core/helpers/handler-metadata-storage.js"() {
+ HANDLER_METADATA_SYMBOL = /* @__PURE__ */ Symbol.for("handler_metadata:cache");
+ HandlerMetadataStorage = class {
+ static {
+ __name(this, "HandlerMetadataStorage");
+ }
+ // Keyed by class: same-named classes must not share an entry.
+ [HANDLER_METADATA_SYMBOL] = /* @__PURE__ */ new WeakMap();
+ set(controller, methodName, metadata) {
+ const ctor = controller.constructor;
+ if (!ctor) {
+ return;
+ }
+ let handlers = this[HANDLER_METADATA_SYMBOL].get(ctor);
+ if (!handlers) {
+ handlers = /* @__PURE__ */ new Map();
+ this[HANDLER_METADATA_SYMBOL].set(ctor, handlers);
+ }
+ handlers.set(methodName, metadata);
+ }
+ get(controller, methodName) {
+ const handlers = this[HANDLER_METADATA_SYMBOL].get(controller.constructor);
+ return handlers?.get(methodName);
+ }
+ };
+ }
+});
+
+// ../../node_modules/.pnpm/@nestjs+core@12.2.0_@nestjs_74b3aa22af8a41de6299655ec5713214/node_modules/@nestjs/core/helpers/external-context-creator.js
+var import_rxjs5, ExternalContextCreator;
+var init_external_context_creator = __esm({
+ "../../node_modules/.pnpm/@nestjs+core@12.2.0_@nestjs_74b3aa22af8a41de6299655ec5713214/node_modules/@nestjs/core/helpers/external-context-creator.js"() {
+ init_common();
+ init_internal();
+ import_rxjs5 = __toESM(require_cjs(), 1);
+ init_external_exception_filter_context();
+ init_constants4();
+ init_guards();
+ init_constants3();
+ init_interceptors();
+ init_pipes();
+ init_class_ref_registry();
+ init_context_utils();
+ init_external_proxy();
+ init_handler_metadata_storage();
+ ExternalContextCreator = class _ExternalContextCreator {
+ static {
+ __name(this, "ExternalContextCreator");
+ }
+ guardsContextCreator;
+ guardsConsumer;
+ interceptorsContextCreator;
+ interceptorsConsumer;
+ modulesContainer;
+ pipesContextCreator;
+ pipesConsumer;
+ filtersContextCreator;
+ contextUtils = new ContextUtils();
+ externalErrorProxy = new ExternalErrorProxy();
+ handlerMetadataStorage = new HandlerMetadataStorage();
+ container;
+ constructor(guardsContextCreator, guardsConsumer, interceptorsContextCreator, interceptorsConsumer, modulesContainer, pipesContextCreator, pipesConsumer, filtersContextCreator) {
+ this.guardsContextCreator = guardsContextCreator;
+ this.guardsConsumer = guardsConsumer;
+ this.interceptorsContextCreator = interceptorsContextCreator;
+ this.interceptorsConsumer = interceptorsConsumer;
+ this.modulesContainer = modulesContainer;
+ this.pipesContextCreator = pipesContextCreator;
+ this.pipesConsumer = pipesConsumer;
+ this.filtersContextCreator = filtersContextCreator;
+ }
+ static fromContainer(container) {
+ const guardsContextCreator = new GuardsContextCreator(container, container.applicationConfig);
+ const guardsConsumer = new GuardsConsumer();
+ const interceptorsContextCreator = new InterceptorsContextCreator(container, container.applicationConfig);
+ const interceptorsConsumer = new InterceptorsConsumer();
+ const pipesContextCreator = new PipesContextCreator(container, container.applicationConfig);
+ const pipesConsumer = new PipesConsumer();
+ const filtersContextCreator = new ExternalExceptionFilterContext(container, container.applicationConfig);
+ const externalContextCreator = new _ExternalContextCreator(guardsContextCreator, guardsConsumer, interceptorsContextCreator, interceptorsConsumer, container.getModules(), pipesContextCreator, pipesConsumer, filtersContextCreator);
+ externalContextCreator.container = container;
+ return externalContextCreator;
+ }
+ create(instance, callback, methodName, metadataKey, paramsFactory, contextId = STATIC_CONTEXT, inquirerId, options = {
+ interceptors: true,
+ guards: true,
+ filters: true
+ }, contextType = "http") {
+ const classRef = getClassRef(instance);
+ const moduleKey = this.getContextModuleKey(classRef) || this.getHostModuleKey(instance, inquirerId);
+ inquirerId ??= this.modulesContainer.get(moduleKey)?.entryProviders.find((item) => item.token === classRef || item.instance === instance)?.id;
+ const { argsLength, paramtypes, getParamsMetadata } = this.getMetadata(instance, methodName, metadataKey, paramsFactory, contextType);
+ const pipes = this.pipesContextCreator.create(instance, callback, moduleKey, contextId, inquirerId);
+ const guards = this.guardsContextCreator.create(instance, callback, moduleKey, contextId, inquirerId);
+ const exceptionFilter = this.filtersContextCreator.create(instance, callback, moduleKey, contextId, inquirerId);
+ const interceptors = options.interceptors ? this.interceptorsContextCreator.create(instance, callback, moduleKey, contextId, inquirerId) : [];
+ const paramsMetadata = getParamsMetadata(moduleKey, contextId, inquirerId);
+ const paramsOptions = paramsMetadata ? this.contextUtils.mergeParamsMetatypes(paramsMetadata, paramtypes) : [];
+ const fnCanActivate = options.guards ? this.createGuardsFn(guards, instance, callback, contextType) : null;
+ const fnApplyPipes = this.createPipesFn(pipes, paramsOptions);
+ const handler = /* @__PURE__ */ __name((initialArgs, ...args) => async () => {
+ if (fnApplyPipes) {
+ await fnApplyPipes(initialArgs, ...args);
+ return callback.apply(instance, initialArgs);
+ }
+ return callback.apply(instance, args);
+ }, "handler");
+ const target = /* @__PURE__ */ __name(async (...args) => {
+ const initialArgs = this.contextUtils.createNullArray(argsLength);
+ fnCanActivate && await fnCanActivate(args);
+ const result = await this.interceptorsConsumer.intercept(interceptors, args, instance, callback, handler(initialArgs, ...args), contextType);
+ return this.transformToResult(result);
+ }, "target");
+ return options.filters ? this.externalErrorProxy.createProxy(target, exceptionFilter, contextType) : target;
+ }
+ getMetadata(instance, methodName, metadataKey, paramsFactory, contextType) {
+ const cacheMetadata = this.handlerMetadataStorage.get(instance, methodName);
+ if (cacheMetadata) {
+ return cacheMetadata;
+ }
+ const metadata = this.contextUtils.reflectCallbackMetadata(instance, methodName, metadataKey || "") || {};
+ const keys = Object.keys(metadata);
+ const argsLength = this.contextUtils.getArgumentsLength(keys, metadata);
+ const paramtypes = this.contextUtils.reflectCallbackParamtypes(instance, methodName);
+ const contextFactory = this.contextUtils.getContextFactory(contextType, instance, instance[methodName]);
+ const getParamsMetadata = /* @__PURE__ */ __name((moduleKey, contextId = STATIC_CONTEXT, inquirerId) => paramsFactory ? this.exchangeKeysForValues(keys, metadata, moduleKey, paramsFactory, contextId, inquirerId, contextFactory) : null, "getParamsMetadata");
+ const handlerMetadata = {
+ argsLength,
+ paramtypes,
+ getParamsMetadata
+ };
+ this.handlerMetadataStorage.set(instance, methodName, handlerMetadata);
+ return handlerMetadata;
+ }
+ getContextModuleKey(moduleCtor) {
+ const emptyModuleKey = "";
+ if (!moduleCtor) {
+ return emptyModuleKey;
+ }
+ const moduleContainerEntries = this.modulesContainer.entries();
+ for (const [key, moduleRef] of moduleContainerEntries) {
+ if (moduleRef.hasProvider(moduleCtor)) {
+ return key;
+ }
+ }
+ return emptyModuleKey;
+ }
+ /**
+ * Returns the key of the module of a host registered under a token other
+ * than its class (e.g., `{ provide: 'TOKEN', useClass: Resolver }`): the
+ * module whose providers include the given inquirer or, without one, the
+ * given instance.
+ */
+ getHostModuleKey(instance, inquirerId) {
+ for (const [key, moduleRef] of this.modulesContainer.entries()) {
+ const host = inquirerId ? moduleRef.getProviderById(inquirerId) : [...moduleRef.providers.values()].find((wrapper) => !wrapper.isAlias && wrapper.instance === instance);
+ if (host) {
+ return key;
+ }
+ }
+ return "";
+ }
+ exchangeKeysForValues(keys, metadata, moduleContext, paramsFactory, contextId = STATIC_CONTEXT, inquirerId, contextFactory = this.contextUtils.getContextFactory("http")) {
+ this.pipesContextCreator.setModuleContext(moduleContext);
+ return keys.map((key) => {
+ const { index, data, pipes: pipesCollection, schema } = metadata[key];
+ const pipes = this.pipesContextCreator.createConcreteContext(pipesCollection, contextId, inquirerId);
+ const type = this.contextUtils.mapParamType(key);
+ if (key.includes(CUSTOM_ROUTE_ARGS_METADATA)) {
+ const { factory } = metadata[key];
+ const customExtractValue = this.contextUtils.getCustomFactory(factory, data, contextFactory);
+ return {
+ index,
+ extractValue: customExtractValue,
+ type,
+ data,
+ pipes,
+ schema
+ };
+ }
+ const numericType = Number(type);
+ const extractValue = /* @__PURE__ */ __name((...args) => paramsFactory.exchangeKeyForValue(numericType, data, args), "extractValue");
+ return { index, extractValue, type: numericType, data, pipes, schema };
+ });
+ }
+ createPipesFn(pipes, paramsOptions) {
+ const pipesFn = /* @__PURE__ */ __name(async (args, ...params) => {
+ const resolveParamValue = /* @__PURE__ */ __name(async (param) => {
+ const { index, extractValue, type, data, metatype, pipes: paramPipes, schema } = param;
+ const value = extractValue(...params);
+ args[index] = await this.getParamValue(value, { metatype, type, data, schema }, pipes.concat(paramPipes));
+ }, "resolveParamValue");
+ await Promise.all(paramsOptions.map(resolveParamValue));
+ }, "pipesFn");
+ return paramsOptions.length ? pipesFn : null;
+ }
+ async getParamValue(value, metadata, pipes) {
+ return isEmptyArray(pipes) ? value : this.pipesConsumer.apply(value, metadata, pipes);
+ }
+ async transformToResult(resultOrDeferred) {
+ if ((0, import_rxjs5.isObservable)(resultOrDeferred)) {
+ return (0, import_rxjs5.lastValueFrom)(resultOrDeferred);
+ }
+ return resultOrDeferred;
+ }
+ createGuardsFn(guards, instance, callback, contextType) {
+ const canActivateFn = /* @__PURE__ */ __name(async (args) => {
+ const canActivate = await this.guardsConsumer.tryActivate(guards, args, instance, callback, contextType);
+ if (!canActivate) {
+ throw new ForbiddenException(FORBIDDEN_MESSAGE);
+ }
+ }, "canActivateFn");
+ return guards.length ? canActivateFn : null;
+ }
+ registerRequestProvider(request, contextId) {
+ this.container.registerRequestProvider(request, contextId);
+ }
+ };
+ }
+});
+
+// ../../node_modules/.pnpm/@nestjs+core@12.2.0_@nestjs_74b3aa22af8a41de6299655ec5713214/node_modules/@nestjs/core/helpers/index.js
+var init_helpers = __esm({
+ "../../node_modules/.pnpm/@nestjs+core@12.2.0_@nestjs_74b3aa22af8a41de6299655ec5713214/node_modules/@nestjs/core/helpers/index.js"() {
+ init_context_id_factory();
+ init_external_context_creator();
+ init_http_adapter_host();
+ }
+});
+
+// ../../node_modules/.pnpm/@nestjs+core@12.2.0_@nestjs_74b3aa22af8a41de6299655ec5713214/node_modules/@nestjs/core/errors/exceptions/circular-dependency.exception.js
+var CircularDependencyException;
+var init_circular_dependency_exception = __esm({
+ "../../node_modules/.pnpm/@nestjs+core@12.2.0_@nestjs_74b3aa22af8a41de6299655ec5713214/node_modules/@nestjs/core/errors/exceptions/circular-dependency.exception.js"() {
+ init_runtime_exception();
+ CircularDependencyException = class extends RuntimeException {
+ static {
+ __name(this, "CircularDependencyException");
+ }
+ constructor(context) {
+ const ctx = context ? ` inside ${context}` : ``;
+ super(`A circular dependency has been detected${ctx}. Please, make sure that each side of a bidirectional relationships are decorated with "forwardRef()". Note that circular relationships between custom providers (e.g., factories) are not supported since functions cannot be called more than once.`);
+ }
+ };
+ }
+});
+
+// ../../node_modules/.pnpm/@nestjs+core@12.2.0_@nestjs_74b3aa22af8a41de6299655ec5713214/node_modules/@nestjs/core/errors/exceptions/unknown-element.exception.js
+var UnknownElementException;
+var init_unknown_element_exception = __esm({
+ "../../node_modules/.pnpm/@nestjs+core@12.2.0_@nestjs_74b3aa22af8a41de6299655ec5713214/node_modules/@nestjs/core/errors/exceptions/unknown-element.exception.js"() {
+ init_runtime_exception();
+ UnknownElementException = class extends RuntimeException {
+ static {
+ __name(this, "UnknownElementException");
+ }
+ constructor(name) {
+ name = name && name.toString();
+ super(`Nest could not find ${name || "given"} element (this provider does not exist in the current context)`);
+ }
+ };
+ }
+});
+
+// ../../node_modules/.pnpm/@nestjs+core@12.2.0_@nestjs_74b3aa22af8a41de6299655ec5713214/node_modules/@nestjs/core/errors/exceptions/invalid-class-scope.exception.js
+var InvalidClassScopeException;
+var init_invalid_class_scope_exception = __esm({
+ "../../node_modules/.pnpm/@nestjs+core@12.2.0_@nestjs_74b3aa22af8a41de6299655ec5713214/node_modules/@nestjs/core/errors/exceptions/invalid-class-scope.exception.js"() {
+ init_messages();
+ init_runtime_exception();
+ init_internal();
+ InvalidClassScopeException = class extends RuntimeException {
+ static {
+ __name(this, "InvalidClassScopeException");
+ }
+ constructor(metatypeOrToken) {
+ let name = isFunction(metatypeOrToken) ? metatypeOrToken.name : metatypeOrToken;
+ name = name && name.toString();
+ super(INVALID_CLASS_SCOPE_MESSAGE`${name}`);
+ }
+ };
+ }
+});
+
+// ../../node_modules/.pnpm/@nestjs+core@12.2.0_@nestjs_74b3aa22af8a41de6299655ec5713214/node_modules/@nestjs/core/errors/exceptions/invalid-class.exception.js
+var InvalidClassException;
+var init_invalid_class_exception = __esm({
+ "../../node_modules/.pnpm/@nestjs+core@12.2.0_@nestjs_74b3aa22af8a41de6299655ec5713214/node_modules/@nestjs/core/errors/exceptions/invalid-class.exception.js"() {
+ init_messages();
+ init_runtime_exception();
+ InvalidClassException = class extends RuntimeException {
+ static {
+ __name(this, "InvalidClassException");
+ }
+ constructor(value) {
+ super(INVALID_CLASS_MESSAGE`${value}`);
+ }
+ };
+ }
+});
+
+// ../../node_modules/.pnpm/@nestjs+core@12.2.0_@nestjs_74b3aa22af8a41de6299655ec5713214/node_modules/@nestjs/core/errors/exceptions/route-conflict.exception.js
+var RouteConflictException;
+var init_route_conflict_exception = __esm({
+ "../../node_modules/.pnpm/@nestjs+core@12.2.0_@nestjs_74b3aa22af8a41de6299655ec5713214/node_modules/@nestjs/core/errors/exceptions/route-conflict.exception.js"() {
+ init_messages();
+ init_runtime_exception();
+ RouteConflictException = class extends RuntimeException {
+ static {
+ __name(this, "RouteConflictException");
+ }
+ constructor(messages) {
+ super(ROUTE_CONFLICT_MESSAGE(messages));
+ }
+ };
+ }
+});
+
+// ../../node_modules/.pnpm/@nestjs+core@12.2.0_@nestjs_74b3aa22af8a41de6299655ec5713214/node_modules/@nestjs/core/errors/exceptions/unknown-export.exception.js
+var UnknownExportException;
+var init_unknown_export_exception = __esm({
+ "../../node_modules/.pnpm/@nestjs+core@12.2.0_@nestjs_74b3aa22af8a41de6299655ec5713214/node_modules/@nestjs/core/errors/exceptions/unknown-export.exception.js"() {
+ init_messages();
+ init_runtime_exception();
+ UnknownExportException = class extends RuntimeException {
+ static {
+ __name(this, "UnknownExportException");
+ }
+ constructor(token, moduleName) {
+ super(UNKNOWN_EXPORT_MESSAGE(token, moduleName));
+ }
+ };
+ }
+});
+
+// ../../node_modules/.pnpm/@nestjs+core@12.2.0_@nestjs_74b3aa22af8a41de6299655ec5713214/node_modules/@nestjs/core/errors/exceptions/unknown-module.exception.js
+var UnknownModuleException;
+var init_unknown_module_exception = __esm({
+ "../../node_modules/.pnpm/@nestjs+core@12.2.0_@nestjs_74b3aa22af8a41de6299655ec5713214/node_modules/@nestjs/core/errors/exceptions/unknown-module.exception.js"() {
+ init_runtime_exception();
+ UnknownModuleException = class extends RuntimeException {
+ static {
+ __name(this, "UnknownModuleException");
+ }
+ constructor(moduleName) {
+ super(`Nest could not select the given module (${moduleName ? `"${moduleName}"` : "it"} does not exist in current context).`);
+ }
+ };
+ }
+});
+
+// ../../node_modules/.pnpm/@nestjs+core@12.2.0_@nestjs_74b3aa22af8a41de6299655ec5713214/node_modules/@nestjs/core/errors/exceptions/undefined-forwardref.exception.js
+var UndefinedForwardRefException;
+var init_undefined_forwardref_exception = __esm({
+ "../../node_modules/.pnpm/@nestjs+core@12.2.0_@nestjs_74b3aa22af8a41de6299655ec5713214/node_modules/@nestjs/core/errors/exceptions/undefined-forwardref.exception.js"() {
+ init_messages();
+ init_runtime_exception();
+ UndefinedForwardRefException = class extends RuntimeException {
+ static {
+ __name(this, "UndefinedForwardRefException");
+ }
+ constructor(scope) {
+ super(UNDEFINED_FORWARDREF_MESSAGE(scope));
+ }
+ };
+ }
+});
+
+// ../../node_modules/.pnpm/@nestjs+core@12.2.0_@nestjs_74b3aa22af8a41de6299655ec5713214/node_modules/@nestjs/core/errors/exceptions/index.js
+var init_exceptions2 = __esm({
+ "../../node_modules/.pnpm/@nestjs+core@12.2.0_@nestjs_74b3aa22af8a41de6299655ec5713214/node_modules/@nestjs/core/errors/exceptions/index.js"() {
+ init_circular_dependency_exception();
+ init_runtime_exception();
+ init_unknown_element_exception();
+ init_invalid_class_scope_exception();
+ init_invalid_class_exception();
+ init_route_conflict_exception();
+ init_unknown_export_exception();
+ init_unknown_module_exception();
+ init_undefined_forwardref_exception();
+ }
+});
+
+// ../../node_modules/.pnpm/@nestjs+core@12.2.0_@nestjs_74b3aa22af8a41de6299655ec5713214/node_modules/@nestjs/core/inspector/initialize-on-preview.allowlist.js
+var InitializeOnPreviewAllowlist;
+var init_initialize_on_preview_allowlist = __esm({
+ "../../node_modules/.pnpm/@nestjs+core@12.2.0_@nestjs_74b3aa22af8a41de6299655ec5713214/node_modules/@nestjs/core/inspector/initialize-on-preview.allowlist.js"() {
+ InitializeOnPreviewAllowlist = class {
+ static {
+ __name(this, "InitializeOnPreviewAllowlist");
+ }
+ static allowlist = /* @__PURE__ */ new WeakMap();
+ static add(type) {
+ this.allowlist.set(type, true);
+ }
+ static has(type) {
+ return this.allowlist.has(type);
+ }
+ };
+ }
+});
+
+// ../../node_modules/.pnpm/@nestjs+core@12.2.0_@nestjs_74b3aa22af8a41de6299655ec5713214/node_modules/@nestjs/core/injector/inquirer/inquirer-constants.js
+var INQUIRER;
+var init_inquirer_constants = __esm({
+ "../../node_modules/.pnpm/@nestjs+core@12.2.0_@nestjs_74b3aa22af8a41de6299655ec5713214/node_modules/@nestjs/core/injector/inquirer/inquirer-constants.js"() {
+ INQUIRER = "INQUIRER";
+ }
+});
+
+// ../../node_modules/.pnpm/@nestjs+core@12.2.0_@nestjs_74b3aa22af8a41de6299655ec5713214/node_modules/@nestjs/core/injector/helpers/silent-logger.js
+var noop, SilentLogger;
+var init_silent_logger = __esm({
+ "../../node_modules/.pnpm/@nestjs+core@12.2.0_@nestjs_74b3aa22af8a41de6299655ec5713214/node_modules/@nestjs/core/injector/helpers/silent-logger.js"() {
+ init_common();
+ noop = /* @__PURE__ */ __name(() => {
+ }, "noop");
+ SilentLogger = class extends Logger {
+ static {
+ __name(this, "SilentLogger");
+ }
+ log = noop;
+ error = noop;
+ warn = noop;
+ debug = noop;
+ verbose = noop;
+ fatal = noop;
+ setLogLevels = noop;
+ };
+ }
+});
+
+// ../../node_modules/.pnpm/@nestjs+core@12.2.0_@nestjs_74b3aa22af8a41de6299655ec5713214/node_modules/@nestjs/core/errors/exceptions/request-scoped-create.exception.js
+var RequestScopedCreateException;
+var init_request_scoped_create_exception = __esm({
+ "../../node_modules/.pnpm/@nestjs+core@12.2.0_@nestjs_74b3aa22af8a41de6299655ec5713214/node_modules/@nestjs/core/errors/exceptions/request-scoped-create.exception.js"() {
+ init_messages();
+ init_runtime_exception();
+ RequestScopedCreateException = class extends RuntimeException {
+ static {
+ __name(this, "RequestScopedCreateException");
+ }
+ constructor(name) {
+ super(REQUEST_SCOPED_CREATE_MESSAGE(name));
+ }
+ };
+ }
+});
+
+// ../../node_modules/.pnpm/@nestjs+core@12.2.0_@nestjs_74b3aa22af8a41de6299655ec5713214/node_modules/@nestjs/core/helpers/get-class-scope.js
+function getClassScope(provider) {
+ const metadata = Reflect.getMetadata(SCOPE_OPTIONS_METADATA, provider);
+ return metadata && metadata.scope;
+}
+var init_get_class_scope = __esm({
+ "../../node_modules/.pnpm/@nestjs+core@12.2.0_@nestjs_74b3aa22af8a41de6299655ec5713214/node_modules/@nestjs/core/helpers/get-class-scope.js"() {
+ init_internal();
+ __name(getClassScope, "getClassScope");
+ }
+});
+
+// ../../node_modules/.pnpm/@nestjs+core@12.2.0_@nestjs_74b3aa22af8a41de6299655ec5713214/node_modules/@nestjs/core/helpers/is-durable.js
+function isDurable(provider) {
+ const metadata = Reflect.getMetadata(SCOPE_OPTIONS_METADATA, provider);
+ return metadata && metadata.durable;
+}
+var init_is_durable = __esm({
+ "../../node_modules/.pnpm/@nestjs+core@12.2.0_@nestjs_74b3aa22af8a41de6299655ec5713214/node_modules/@nestjs/core/helpers/is-durable.js"() {
+ init_internal();
+ __name(isDurable, "isDurable");
+ }
+});
+
+// ../../node_modules/.pnpm/@nestjs+core@12.2.0_@nestjs_74b3aa22af8a41de6299655ec5713214/node_modules/@nestjs/core/injector/abstract-instance-resolver.js
+var AbstractInstanceResolver;
+var init_abstract_instance_resolver = __esm({
+ "../../node_modules/.pnpm/@nestjs+core@12.2.0_@nestjs_74b3aa22af8a41de6299655ec5713214/node_modules/@nestjs/core/injector/abstract-instance-resolver.js"() {
+ init_common();
+ init_exceptions2();
+ AbstractInstanceResolver = class {
+ static {
+ __name(this, "AbstractInstanceResolver");
+ }
+ find(typeOrToken, options) {
+ const instanceLinkOrArray = this.instanceLinksHost.get(typeOrToken, options);
+ const pluckInstance = /* @__PURE__ */ __name(({ wrapperRef }) => {
+ if (wrapperRef.scope === Scope.REQUEST || wrapperRef.scope === Scope.TRANSIENT || !wrapperRef.isDependencyTreeStatic()) {
+ throw new InvalidClassScopeException(typeOrToken);
+ }
+ return wrapperRef.instance;
+ }, "pluckInstance");
+ if (Array.isArray(instanceLinkOrArray)) {
+ return instanceLinkOrArray.map(pluckInstance);
+ }
+ return pluckInstance(instanceLinkOrArray);
+ }
+ async resolvePerContext(typeOrToken, contextModule, contextId, options) {
+ const instanceLinkOrArray = options?.strict ? this.instanceLinksHost.get(typeOrToken, {
+ moduleId: contextModule.id,
+ each: options.each
+ }) : this.instanceLinksHost.get(typeOrToken, {
+ each: options?.each
+ });
+ const pluckInstance = /* @__PURE__ */ __name(async (instanceLink) => {
+ const { wrapperRef, collection } = instanceLink;
+ if (wrapperRef.isDependencyTreeStatic() && !wrapperRef.isTransient) {
+ return wrapperRef.instance;
+ }
+ const ctorHost = wrapperRef.instance || { constructor: typeOrToken };
+ const instance = await this.injector.loadPerContext(ctorHost, wrapperRef.host, collection, contextId, wrapperRef);
+ if (!instance) {
+ throw new UnknownElementException();
+ }
+ return instance;
+ }, "pluckInstance");
+ if (Array.isArray(instanceLinkOrArray)) {
+ return Promise.all(instanceLinkOrArray.map((instanceLink) => pluckInstance(instanceLink)));
+ }
+ return pluckInstance(instanceLinkOrArray);
+ }
+ };
+ }
+});
+
+// ../../node_modules/.pnpm/@nestjs+core@12.2.0_@nestjs_74b3aa22af8a41de6299655ec5713214/node_modules/@nestjs/core/errors/exceptions/undefined-dependency.exception.js
+var UndefinedDependencyException;
+var init_undefined_dependency_exception = __esm({
+ "../../node_modules/.pnpm/@nestjs+core@12.2.0_@nestjs_74b3aa22af8a41de6299655ec5713214/node_modules/@nestjs/core/errors/exceptions/undefined-dependency.exception.js"() {
+ init_messages();
+ init_runtime_exception();
+ UndefinedDependencyException = class extends RuntimeException {
+ static {
+ __name(this, "UndefinedDependencyException");
+ }
+ constructor(type, undefinedDependencyContext, moduleRef) {
+ super(UNKNOWN_DEPENDENCIES_MESSAGE(type, undefinedDependencyContext, moduleRef));
+ }
+ };
+ }
+});
+
+// ../../node_modules/.pnpm/@nestjs+core@12.2.0_@nestjs_74b3aa22af8a41de6299655ec5713214/node_modules/@nestjs/core/errors/exceptions/unknown-dependencies.exception.js
+var UnknownDependenciesException;
+var init_unknown_dependencies_exception = __esm({
+ "../../node_modules/.pnpm/@nestjs+core@12.2.0_@nestjs_74b3aa22af8a41de6299655ec5713214/node_modules/@nestjs/core/errors/exceptions/unknown-dependencies.exception.js"() {
+ init_messages();
+ init_runtime_exception();
+ UnknownDependenciesException = class extends RuntimeException {
+ static {
+ __name(this, "UnknownDependenciesException");
+ }
+ type;
+ context;
+ metadata;
+ moduleRef;
+ constructor(type, context, moduleRef, metadata) {
+ super(UNKNOWN_DEPENDENCIES_MESSAGE(type, context, moduleRef));
+ this.type = type;
+ this.context = context;
+ this.metadata = metadata;
+ this.moduleRef = moduleRef && { id: moduleRef.id };
+ }
+ };
+ }
+});
+
+// ../../node_modules/.pnpm/@nestjs+core@12.2.0_@nestjs_74b3aa22af8a41de6299655ec5713214/node_modules/@nestjs/core/helpers/barrier.js
+var Barrier;
+var init_barrier = __esm({
+ "../../node_modules/.pnpm/@nestjs+core@12.2.0_@nestjs_74b3aa22af8a41de6299655ec5713214/node_modules/@nestjs/core/helpers/barrier.js"() {
+ Barrier = class {
+ static {
+ __name(this, "Barrier");
+ }
+ currentCount;
+ targetCount;
+ promise;
+ resolve;
+ constructor(targetCount) {
+ this.currentCount = 0;
+ this.targetCount = targetCount;
+ this.promise = new Promise((resolve) => {
+ this.resolve = resolve;
+ });
+ if (targetCount === 0) {
+ this.resolve();
+ }
+ }
+ /**
+ * Signal that a participant has reached the barrier.
+ *
+ * The barrier will be resolved once `targetCount` participants have reached it.
+ */
+ signal() {
+ this.currentCount += 1;
+ if (this.currentCount >= this.targetCount) {
+ this.resolve();
+ }
+ }
+ /**
+ * Wait for the barrier to be resolved.
+ *
+ * @returns A promise that resolves when the barrier is resolved.
+ */
+ async wait() {
+ return this.promise;
+ }
+ /**
+ * Signal that a participant has reached the barrier and wait for the barrier to be resolved.
+ *
+ * The barrier will be resolved once `targetCount` participants have reached it.
+ *
+ * @returns A promise that resolves when the barrier is resolved.
+ */
+ async signalAndWait() {
+ this.signal();
+ return this.wait();
+ }
+ };
+ }
+});
+
+// ../../node_modules/.pnpm/@nestjs+core@12.2.0_@nestjs_74b3aa22af8a41de6299655ec5713214/node_modules/@nestjs/core/helpers/safe-instance-decorator.js
+function makeSafeInstanceDecorator(decorator) {
+ return (target) => {
+ try {
+ return decorator(target);
+ } catch (err) {
+ logger.warn(`The "instanceDecorator" function threw an error while decorating an instance (${err?.message ?? err}). The undecorated instance will be used instead.`);
+ return target;
+ }
+ };
+}
+var logger;
+var init_safe_instance_decorator = __esm({
+ "../../node_modules/.pnpm/@nestjs+core@12.2.0_@nestjs_74b3aa22af8a41de6299655ec5713214/node_modules/@nestjs/core/helpers/safe-instance-decorator.js"() {
+ init_common();
+ logger = new Logger("InstrumentLogger");
+ __name(makeSafeInstanceDecorator, "makeSafeInstanceDecorator");
+ }
+});
+
+// ../../node_modules/.pnpm/@nestjs+core@12.2.0_@nestjs_74b3aa22af8a41de6299655ec5713214/node_modules/@nestjs/core/injector/helpers/is-debug-mode.util.js
+function isDebugMode() {
+ return !!process.env.NEST_DEBUG;
+}
+var init_is_debug_mode_util = __esm({
+ "../../node_modules/.pnpm/@nestjs+core@12.2.0_@nestjs_74b3aa22af8a41de6299655ec5713214/node_modules/@nestjs/core/injector/helpers/is-debug-mode.util.js"() {
+ __name(isDebugMode, "isDebugMode");
+ }
+});
+
+// ../../node_modules/.pnpm/@nestjs+core@12.2.0_@nestjs_74b3aa22af8a41de6299655ec5713214/node_modules/@nestjs/core/injector/inquirer/index.js
+var init_inquirer = __esm({
+ "../../node_modules/.pnpm/@nestjs+core@12.2.0_@nestjs_74b3aa22af8a41de6299655ec5713214/node_modules/@nestjs/core/injector/inquirer/index.js"() {
+ init_inquirer_constants();
+ }
+});
+
+// ../../node_modules/.pnpm/@nestjs+core@12.2.0_@nestjs_74b3aa22af8a41de6299655ec5713214/node_modules/@nestjs/core/injector/settlement-signal.js
+var SettlementSignal;
+var init_settlement_signal = __esm({
+ "../../node_modules/.pnpm/@nestjs+core@12.2.0_@nestjs_74b3aa22af8a41de6299655ec5713214/node_modules/@nestjs/core/injector/settlement-signal.js"() {
+ SettlementSignal = class {
+ static {
+ __name(this, "SettlementSignal");
+ }
+ _refs = /* @__PURE__ */ new Map();
+ settledPromise;
+ settleFn;
+ completed = false;
+ constructor() {
+ this.settledPromise = new Promise((resolve) => {
+ this.settleFn = resolve;
+ });
+ }
+ /**
+ * Resolves the promise returned by `asPromise`.
+ */
+ complete() {
+ this.completed = true;
+ this.settleFn();
+ }
+ /**
+ * Rejects the promise returned by `asPromise` with the given error.
+ * @param err Error to reject the promise returned by `asPromise` with.
+ */
+ error(err) {
+ this.completed = true;
+ this.settleFn(err);
+ }
+ /**
+ * Returns a promise that will be resolved when `complete` or `error` is called.
+ * @returns Promise that will be resolved when `complete` or `error` is called.
+ */
+ asPromise() {
+ return this.settledPromise;
+ }
+ /**
+ * Inserts a wrapper that the host of this signal depends on.
+ * @param ref Wrapper to insert.
+ */
+ insertRef(ref) {
+ this._refs.set(ref.id, ref);
+ }
+ /**
+ * Check if relationship is circular, i.e. whether the host of this signal
+ * is still waiting, directly or through other pending dependencies, on the
+ * given wrapper.
+ * @param wrapperId Wrapper id to check.
+ * @returns True if relationship is circular, false otherwise.
+ */
+ isCycle(wrapperId) {
+ return this.waitsOn(wrapperId, /* @__PURE__ */ new Set());
+ }
+ waitsOn(wrapperId, visited) {
+ if (this.completed || visited.has(this)) {
+ return false;
+ }
+ visited.add(this);
+ for (const [refId, ref] of this._refs) {
+ if (refId === wrapperId || ref.settlementSignal?.waitsOn(wrapperId, visited)) {
+ return true;
+ }
+ }
+ return false;
+ }
+ };
+ }
+});
+
+// ../../node_modules/.pnpm/@nestjs+core@12.2.0_@nestjs_74b3aa22af8a41de6299655ec5713214/node_modules/@nestjs/core/injector/injector.js
+import { performance as performance2 } from "perf_hooks";
+var import_iterare6, Injector;
+var init_injector = __esm({
+ "../../node_modules/.pnpm/@nestjs+core@12.2.0_@nestjs_74b3aa22af8a41de6299655ec5713214/node_modules/@nestjs/core/injector/injector.js"() {
+ init_common();
+ init_internal();
+ import_iterare6 = __toESM(require_lib(), 1);
+ init_exceptions2();
+ init_runtime_exception();
+ init_undefined_dependency_exception();
+ init_unknown_dependencies_exception();
+ init_barrier();
+ init_safe_instance_decorator();
+ init_constants3();
+ init_is_debug_mode_util();
+ init_inquirer();
+ init_settlement_signal();
+ Injector = class {
+ static {
+ __name(this, "Injector");
+ }
+ options;
+ logger = new Logger("InjectorLogger");
+ instanceDecorator = /* @__PURE__ */ __name((target) => target, "instanceDecorator");
+ /**
+ * Per-context loads that the provider which started them could not wait
+ * for (see `resolveComponentHost`), awaited by `waitForDeferredLoads`.
+ */
+ deferredLoads = /* @__PURE__ */ new WeakMap();
+ /**
+ * Deferred loads that are still running, per durable dependent of the
+ * provider being loaded and per context of that dependent (see
+ * `trackDurableDeferredLoad`).
+ */
+ durableDeferredLoads = /* @__PURE__ */ new WeakMap();
+ /**
+ * Durable instances that may reference the placeholder of a provider whose
+ * deferred load failed, with the error (see `trackDurableDeferredLoad`).
+ */
+ failedInstances = /* @__PURE__ */ new WeakMap();
+ constructor(options) {
+ this.options = options;
+ if (options?.instanceDecorator) {
+ this.instanceDecorator = makeSafeInstanceDecorator(options.instanceDecorator);
+ }
+ }
+ loadPrototype({ token }, collection, contextId = STATIC_CONTEXT) {
+ if (!collection) {
+ return;
+ }
+ const target = collection.get(token);
+ const instance = target.createPrototype(contextId);
+ if (instance) {
+ target.setInstanceByContextId(contextId, { instance });
+ }
+ }
+ async loadInstance(wrapper, collection, moduleRef, resolutionContext = { contextId: STATIC_CONTEXT }) {
+ const inquirerId = this.getContextInquirerId(resolutionContext);
+ const hostContextId = this.getContextId(resolutionContext.contextId, wrapper);
+ const instanceHost = this.getInstanceHost(wrapper, hostContextId, inquirerId);
+ if (instanceHost.isPending) {
+ const settlementSignal2 = wrapper.settlementSignal;
+ if (resolutionContext.inquirer && settlementSignal2?.isCycle(resolutionContext.inquirer.id)) {
+ throw new CircularDependencyException(`"${wrapper.name}"`);
+ }
+ return instanceHost.donePromise.then((err) => {
+ if (err) {
+ throw err;
+ }
+ if (this.failedInstances.has(instanceHost)) {
+ throw this.failedInstances.get(instanceHost);
+ }
+ this.linkDurableDeferredLoads(wrapper, resolutionContext.contextId, hostContextId);
+ });
+ }
+ const settlementSignal = this.applySettlementSignal(instanceHost, wrapper);
+ const token = wrapper.token || wrapper.name;
+ const { inject } = wrapper;
+ const targetWrapper = collection.get(token);
+ if (isUndefined(targetWrapper)) {
+ throw new RuntimeException();
+ }
+ if (instanceHost.isResolved) {
+ return settlementSignal.complete();
+ }
+ try {
+ const t0 = this.getNowTimestamp();
+ const localResolutionContext = this.createResolutionContext(resolutionContext.contextId, wrapper, inquirerId);
+ const callback = /* @__PURE__ */ __name(async (instances, depth = 0) => {
+ const properties = await this.resolveProperties(wrapper, moduleRef, inject, localResolutionContext, resolutionContext.inquirer);
+ const instance = await this.instantiateClass(instances, wrapper, targetWrapper, wrapper.isTransient ? localResolutionContext : resolutionContext);
+ this.applyProperties(instance, properties);
+ wrapper.hierarchyLevel = depth + 1;
+ wrapper.initTime = this.getNowTimestamp() - t0;
+ settlementSignal.complete();
+ }, "callback");
+ await this.resolveConstructorParams(wrapper, moduleRef, inject, callback, localResolutionContext, resolutionContext.inquirer);
+ if (!instanceHost.isResolved) {
+ settlementSignal.complete();
+ }
+ } catch (err) {
+ wrapper.removeInstanceByContextId(this.getContextId(resolutionContext.contextId, wrapper), inquirerId);
+ settlementSignal.error(err);
+ throw err;
+ }
+ }
+ async loadMiddleware(wrapper, collection, moduleRef, contextId = STATIC_CONTEXT, inquirer) {
+ const { metatype, token } = wrapper;
+ const targetWrapper = collection.get(token);
+ if (!isUndefined(targetWrapper.instance)) {
+ return;
+ }
+ targetWrapper.instance = Object.create(metatype.prototype);
+ await this.loadInstance(wrapper, collection, moduleRef, this.createResolutionContext(contextId, inquirer || wrapper));
+ }
+ async loadController(wrapper, moduleRef, contextId = STATIC_CONTEXT) {
+ const controllers = moduleRef.controllers;
+ await this.loadInstance(wrapper, controllers, moduleRef, this.createResolutionContext(contextId, wrapper));
+ if (wrapper.isDependencyTreeStatic()) {
+ return this.loadEnhancers(contextId, wrapper, wrapper.getEnhancersMetadata() || []);
+ }
+ await this.loadEnhancersPerContext(wrapper, contextId, wrapper);
+ }
+ async loadInjectable(wrapper, moduleRef, contextId = STATIC_CONTEXT, inquirer) {
+ const injectables = moduleRef.injectables;
+ await this.loadInstance(wrapper, injectables, moduleRef, this.createResolutionContext(contextId, inquirer));
+ }
+ async loadProvider(wrapper, moduleRef, resolutionContext = { contextId: STATIC_CONTEXT }) {
+ if (this.shouldSkipProviderLoading(wrapper, resolutionContext)) {
+ if (!resolutionContext.inquirer) {
+ await this.lookupSkippedProviderDependencies(wrapper, moduleRef);
+ }
+ return;
+ }
+ const providers = moduleRef.providers;
+ await this.loadInstance(wrapper, providers, moduleRef, resolutionContext);
+ if (resolutionContext.contextId === STATIC_CONTEXT && !resolutionContext.inquirer && wrapper.isDependencyTreeStatic()) {
+ const enhancers = wrapper.getEnhancersMetadata() || [];
+ return this.loadEnhancers(STATIC_CONTEXT, wrapper, enhancers.filter((item) => item.isTransient));
+ }
+ await this.loadEnhancersPerContext(wrapper, resolutionContext.contextId, wrapper);
+ }
+ applySettlementSignal(instancePerContext, host) {
+ const settlementSignal = new SettlementSignal();
+ instancePerContext.donePromise = settlementSignal.asPromise();
+ instancePerContext.isPending = true;
+ host.settlementSignal = settlementSignal;
+ return settlementSignal;
+ }
+ async resolveConstructorParams(wrapper, moduleRef, inject, callback, resolutionContext = { contextId: STATIC_CONTEXT }, parentInquirer) {
+ const metadata = wrapper.getCtorMetadata();
+ if (resolutionContext.contextId !== STATIC_CONTEXT && this.hasDenseCtorMetadata(wrapper, inject, metadata)) {
+ const deps = await this.loadCtorMetadata(metadata, resolutionContext.contextId, resolutionContext.inquirer, parentInquirer);
+ return callback(deps);
+ }
+ const isFactoryProvider2 = !isNil(inject);
+ const [dependencies, optionalDependenciesIds] = isFactoryProvider2 ? this.getFactoryProviderDependencies(wrapper) : this.getClassDependencies(wrapper);
+ const paramBarrier = new Barrier(dependencies.length);
+ let isResolved = true;
+ let depth = 0;
+ const resolveParam = /* @__PURE__ */ __name(async (param, index) => {
+ try {
+ if (this.isInquirer(param, parentInquirer)) {
+ paramBarrier.signal();
+ return parentInquirer && parentInquirer.instance;
+ }
+ if (resolutionContext.inquirer?.isTransient && parentInquirer) {
+ resolutionContext.rootInquirer = parentInquirer;
+ }
+ const nestedResolutionContext = this.getStaticTransientResolutionContext(resolutionContext, parentInquirer);
+ const paramWrapper = await this.resolveSingleParam(wrapper, param, { index, dependencies }, moduleRef, nestedResolutionContext, index);
+ await paramBarrier.signalAndWait();
+ const effectiveResolutionContext = this.getEffectiveResolutionContext(paramWrapper, resolutionContext, parentInquirer);
+ const paramWrapperWithInstance = await this.resolveComponentHost(moduleRef, paramWrapper, effectiveResolutionContext);
+ if (paramWrapperWithInstance.hierarchyLevel > depth) {
+ depth = paramWrapperWithInstance.hierarchyLevel;
+ }
+ const instanceHost = paramWrapperWithInstance.getInstanceByContextId(this.getContextId(effectiveResolutionContext.contextId, paramWrapperWithInstance), effectiveResolutionContext.effectiveInquirerId);
+ if (!instanceHost.isResolved && !paramWrapperWithInstance.forwardRef) {
+ isResolved = false;
+ }
+ return instanceHost?.instance;
+ } catch (err) {
+ paramBarrier.signal();
+ const isOptional = optionalDependenciesIds.includes(index);
+ if (!isOptional) {
+ throw err;
+ }
+ return void 0;
+ }
+ }, "resolveParam");
+ const instances = await Promise.all(dependencies.map(resolveParam));
+ isResolved && await callback(instances, depth);
+ }
+ getClassDependencies(wrapper) {
+ const ctorRef = wrapper.metatype;
+ return [
+ this.reflectConstructorParams(ctorRef),
+ this.reflectOptionalParams(ctorRef)
+ ];
+ }
+ getFactoryProviderDependencies(wrapper) {
+ const optionalDependenciesIds = [];
+ function isOptionalFactoryDependency(value) {
+ const token = value?.token;
+ if (isNil(token)) {
+ return false;
+ }
+ return !isUndefined(value.optional) && !value.prototype;
+ }
+ __name(isOptionalFactoryDependency, "isOptionalFactoryDependency");
+ const mapFactoryProviderInjectArray = /* @__PURE__ */ __name((item, index) => {
+ const isWrappedDependency = !isNil(item) && typeof item === "object" && "token" in item;
+ const token = isWrappedDependency ? item.token : item;
+ if (isNil(token)) {
+ throw new UndefinedDependencyException(wrapper.name, {
+ index,
+ dependencies: wrapper.inject ?? void 0
+ });
+ }
+ if (typeof item !== "object") {
+ return item;
+ }
+ if (isOptionalFactoryDependency(item)) {
+ if (item.optional) {
+ optionalDependenciesIds.push(index);
+ }
+ return item?.token;
+ }
+ return item;
+ }, "mapFactoryProviderInjectArray");
+ const inject = wrapper.inject ?? [];
+ const dependencies = Array.from(inject, mapFactoryProviderInjectArray);
+ return [dependencies, optionalDependenciesIds];
+ }
+ reflectConstructorParams(type) {
+ const paramtypes = [
+ ...Reflect.getMetadata(PARAMTYPES_METADATA, type) || []
+ ];
+ const selfParams = this.reflectSelfParams(type);
+ selfParams.forEach(({ index, param }) => paramtypes[index] = param);
+ return Array.from(paramtypes);
+ }
+ reflectOptionalParams(type) {
+ const ctorOwner = this.getConstructorOwner(type);
+ return Reflect.getOwnMetadata(OPTIONAL_DEPS_METADATA, ctorOwner) || [];
+ }
+ /**
+ * Returns the class in the prototype chain that declares the constructor
+ * `type` is instantiated with. A subclass without its own constructor
+ * inherits both the parent's parameter types and its `@Optional()` flags,
+ * while a subclass that redeclares the constructor must not inherit the
+ * parent's flags, as its parameters are unrelated to the parent's.
+ */
+ getConstructorOwner(type) {
+ let current = type;
+ while (isFunction(current) && current !== Function.prototype) {
+ if (Reflect.hasOwnMetadata(PARAMTYPES_METADATA, current) || Reflect.hasOwnMetadata(OPTIONAL_DEPS_METADATA, current) || Reflect.hasOwnMetadata(SELF_DECLARED_DEPS_METADATA, current)) {
+ return current;
+ }
+ current = Object.getPrototypeOf(current);
+ }
+ return type;
+ }
+ reflectSelfParams(type) {
+ return Reflect.getMetadata(SELF_DECLARED_DEPS_METADATA, type) || [];
+ }
+ async resolveSingleParam(wrapper, param, dependencyContext, moduleRef, resolutionContext = { contextId: STATIC_CONTEXT }, keyOrIndex) {
+ if (isUndefined(param)) {
+ this.logger.log("Nest encountered an undefined dependency. This may be due to a circular import or a missing dependency declaration.");
+ throw new UndefinedDependencyException(wrapper.name, dependencyContext, moduleRef);
+ }
+ const token = this.resolveParamToken(wrapper, param);
+ return this.resolveComponentWrapper(moduleRef, token, dependencyContext, wrapper, resolutionContext, keyOrIndex);
+ }
+ resolveParamToken(wrapper, param) {
+ if (typeof param === "object" && "forwardRef" in param) {
+ wrapper.forwardRef = true;
+ return param.forwardRef();
+ }
+ return param;
+ }
+ async resolveComponentWrapper(moduleRef, token, dependencyContext, wrapper, resolutionContext = { contextId: STATIC_CONTEXT }, keyOrIndex) {
+ this.printResolvingDependenciesLog(token, resolutionContext.inquirer);
+ this.printLookingForProviderLog(token, moduleRef);
+ const providers = moduleRef.providers;
+ return this.lookupComponent(providers, moduleRef, { ...dependencyContext, name: token }, wrapper, resolutionContext, keyOrIndex);
+ }
+ async resolveComponentHost(moduleRef, instanceWrapper, resolutionContext = { contextId: STATIC_CONTEXT }) {
+ const inquirerId = this.getContextInquirerId(resolutionContext);
+ const instanceHost = this.getInstanceHost(instanceWrapper, this.getContextId(resolutionContext.contextId, instanceWrapper), inquirerId);
+ if (!instanceHost.isResolved && !instanceWrapper.forwardRef) {
+ resolutionContext.inquirer?.settlementSignal?.insertRef(instanceWrapper);
+ await this.loadProvider(instanceWrapper, instanceWrapper.host ?? moduleRef, resolutionContext);
+ } else if (!instanceHost.isResolved && instanceWrapper.forwardRef && (resolutionContext.contextId !== STATIC_CONTEXT || !!inquirerId)) {
+ if (instanceHost.donePromise) {
+ const deferredLoad = instanceHost.donePromise.then((err) => {
+ if (err) {
+ throw err;
+ }
+ return this.loadProvider(instanceWrapper, instanceWrapper.host ?? moduleRef, resolutionContext);
+ });
+ void deferredLoad.catch((err) => {
+ instanceWrapper.settlementSignal?.error(err);
+ });
+ this.addDeferredLoad(resolutionContext.contextId, deferredLoad);
+ this.trackDurableDeferredLoad(instanceWrapper, resolutionContext.contextId, deferredLoad);
+ } else {
+ resolutionContext.inquirer?.settlementSignal?.insertRef(instanceWrapper);
+ await this.loadProvider(instanceWrapper, instanceWrapper.host ?? moduleRef, resolutionContext);
+ }
+ }
+ if (instanceWrapper.async) {
+ const host = instanceWrapper.getInstanceByContextId(this.getContextId(resolutionContext.contextId, instanceWrapper), inquirerId);
+ host.instance = await host.instance;
+ instanceWrapper.setInstanceByContextId(resolutionContext.contextId, host, inquirerId);
+ }
+ this.linkDurableDeferredLoads(instanceWrapper, resolutionContext.contextId, this.getContextId(resolutionContext.contextId, instanceWrapper));
+ return instanceWrapper;
+ }
+ async lookupComponent(providers, moduleRef, dependencyContext, wrapper, resolutionContext = { contextId: STATIC_CONTEXT }, keyOrIndex) {
+ const token = wrapper.token || wrapper.name;
+ const { name } = dependencyContext;
+ if (wrapper && token === name) {
+ throw new UnknownDependenciesException(wrapper.name, dependencyContext, moduleRef, { id: wrapper.id });
+ }
+ if (name && providers.has(name)) {
+ const instanceWrapper = providers.get(name);
+ this.printFoundInModuleLog(name, moduleRef);
+ this.addDependencyMetadata(keyOrIndex, wrapper, instanceWrapper);
+ return instanceWrapper;
+ }
+ return this.lookupComponentInParentModules(dependencyContext, moduleRef, wrapper, resolutionContext, keyOrIndex);
+ }
+ async lookupComponentInParentModules(dependencyContext, moduleRef, wrapper, resolutionContext = { contextId: STATIC_CONTEXT }, keyOrIndex) {
+ const instanceWrapper = await this.lookupComponentInImports(moduleRef, dependencyContext.name, wrapper, /* @__PURE__ */ new Set(), resolutionContext, keyOrIndex);
+ if (isNil(instanceWrapper)) {
+ throw new UnknownDependenciesException(wrapper.name, dependencyContext, moduleRef, { id: wrapper.id });
+ }
+ return instanceWrapper;
+ }
+ async lookupComponentInImports(moduleRef, name, wrapper, moduleRegistry = /* @__PURE__ */ new Set(), resolutionContext = { contextId: STATIC_CONTEXT }, keyOrIndex, isTraversing) {
+ let instanceWrapperRef = null;
+ const imports = moduleRef.imports || /* @__PURE__ */ new Set();
+ const identity = /* @__PURE__ */ __name((item) => item, "identity");
+ let children = [...imports.values()].filter(identity);
+ if (isTraversing) {
+ const contextModuleExports = moduleRef.exports;
+ children = children.filter((child) => contextModuleExports.has(child.metatype));
+ }
+ for (const relatedModule of children) {
+ if (moduleRegistry.has(relatedModule.id)) {
+ continue;
+ }
+ this.printLookingForProviderLog(name, relatedModule);
+ moduleRegistry.add(relatedModule.id);
+ const { providers, exports } = relatedModule;
+ if (!exports.has(name) || !providers.has(name)) {
+ const instanceRef = await this.lookupComponentInImports(relatedModule, name, wrapper, moduleRegistry, resolutionContext, keyOrIndex, true);
+ if (instanceRef) {
+ this.addDependencyMetadata(keyOrIndex, wrapper, instanceRef);
+ return instanceRef;
+ }
+ continue;
+ }
+ this.printFoundInModuleLog(name, relatedModule);
+ instanceWrapperRef = providers.get(name);
+ this.addDependencyMetadata(keyOrIndex, wrapper, instanceWrapperRef);
+ break;
+ }
+ return instanceWrapperRef;
+ }
+ async resolveProperties(wrapper, moduleRef, inject, resolutionContext = { contextId: STATIC_CONTEXT }, parentInquirer) {
+ if (!isNil(inject)) {
+ return [];
+ }
+ const metadata = wrapper.getPropertiesMetadata();
+ if (resolutionContext.contextId !== STATIC_CONTEXT && this.hasCompletePropertiesMetadata(wrapper, metadata)) {
+ return this.loadPropertiesMetadata(metadata, resolutionContext.contextId, resolutionContext.inquirer, parentInquirer);
+ }
+ const properties = this.reflectProperties(wrapper.metatype);
+ const propertyBarrier = new Barrier(properties.length);
+ const instances = await Promise.all(properties.map(async (item) => {
+ try {
+ const dependencyContext = {
+ key: item.key,
+ name: item.name
+ };
+ if (this.isInquirer(item.name, parentInquirer)) {
+ propertyBarrier.signal();
+ return parentInquirer && parentInquirer.instance;
+ }
+ const nestedResolutionContext = this.getStaticTransientResolutionContext(resolutionContext, parentInquirer);
+ const paramWrapper = await this.resolveSingleParam(wrapper, item.name, dependencyContext, moduleRef, nestedResolutionContext, item.key);
+ await propertyBarrier.signalAndWait();
+ const effectivePropertyResolutionContext = this.getEffectiveResolutionContext(paramWrapper, resolutionContext, parentInquirer);
+ const paramWrapperWithInstance = await this.resolveComponentHost(moduleRef, paramWrapper, effectivePropertyResolutionContext);
+ if (!paramWrapperWithInstance) {
+ return void 0;
+ }
+ const instanceHost = paramWrapperWithInstance.getInstanceByContextId(this.getContextId(effectivePropertyResolutionContext.contextId, paramWrapperWithInstance), effectivePropertyResolutionContext.effectiveInquirerId);
+ return instanceHost.instance;
+ } catch (err) {
+ propertyBarrier.signal();
+ if (!item.isOptional) {
+ throw err;
+ }
+ return void 0;
+ }
+ }));
+ return properties.map((item, index) => ({
+ ...item,
+ instance: instances[index]
+ }));
+ }
+ reflectProperties(type) {
+ const properties = Reflect.getMetadata(PROPERTY_DEPS_METADATA, type) || [];
+ const optionalKeys = Reflect.getMetadata(OPTIONAL_PROPERTY_DEPS_METADATA, type) || [];
+ return properties.map((item) => ({
+ ...item,
+ name: item.type,
+ isOptional: optionalKeys.includes(item.key)
+ }));
+ }
+ applyProperties(instance, properties) {
+ if (!isObject(instance)) {
+ return;
+ }
+ (0, import_iterare6.iterate)(properties).filter((item) => !isNil(item.instance)).forEach((item) => instance[item.key] = item.instance);
+ }
+ async instantiateClass(instances, wrapper, targetMetatype, resolutionContext = { contextId: STATIC_CONTEXT }) {
+ const { metatype, inject } = wrapper;
+ const inquirerId = this.getContextInquirerId(resolutionContext);
+ const instanceHost = targetMetatype.getInstanceByContextId(this.getContextId(resolutionContext.contextId, targetMetatype), inquirerId);
+ const isInContext = this.isInContext(wrapper, resolutionContext);
+ if (this.options?.preview && !wrapper.host?.initOnPreview) {
+ instanceHost.isResolved = true;
+ return instanceHost.instance;
+ }
+ if (isNil(inject) && isInContext) {
+ instanceHost.instance = wrapper.forwardRef ? Object.assign(instanceHost.instance, new metatype(...instances)) : new metatype(...instances);
+ instanceHost.instance = this.instanceDecorator(instanceHost.instance);
+ instanceHost.isConstructorCalled = true;
+ } else if (isInContext) {
+ const factoryReturnValue = targetMetatype.metatype(...instances);
+ instanceHost.instance = await factoryReturnValue;
+ instanceHost.instance = this.instanceDecorator(instanceHost.instance);
+ instanceHost.isConstructorCalled = true;
+ }
+ instanceHost.isResolved = true;
+ return instanceHost.instance;
+ }
+ async loadPerContext(instance, moduleRef, collection, ctx, wrapper) {
+ if (!wrapper) {
+ const injectionToken = instance.constructor;
+ wrapper = collection.get(injectionToken) ?? // A class provider registered under a token other than its class
+ (0, import_iterare6.iterate)(collection.values()).find((item) => !item.isAlias && item.instance === instance);
+ } else {
+ wrapper = collection.get(wrapper.token) ?? wrapper;
+ }
+ await this.loadInstance(wrapper, collection, moduleRef, this.createResolutionContext(ctx, wrapper));
+ await this.loadEnhancersPerContext(wrapper, ctx, wrapper);
+ await this.waitForDeferredLoads(ctx);
+ const host = wrapper.getInstanceByContextId(this.getContextId(ctx, wrapper), wrapper.id);
+ return host && host.instance;
+ }
+ /**
+ * Waits for the loads deferred while resolving the given context (see
+ * `resolveComponentHost`), including those that the durable instances it
+ * uses were built with (see `trackDurableDeferredLoad`), and throws if one
+ * of them failed. A failed load is kept, as instances of the context already
+ * reference the provider that it failed to instantiate.
+ */
+ async waitForDeferredLoads(contextId) {
+ const deferredLoads = this.deferredLoads.get(contextId);
+ if (!deferredLoads) {
+ return;
+ }
+ for (const deferredLoad of deferredLoads) {
+ await deferredLoad;
+ deferredLoads.delete(deferredLoad);
+ }
+ }
+ async loadEnhancersPerContext(wrapper, ctx, inquirer, enhancers = wrapper.getEnhancersMetadata() || []) {
+ if (ctx === STATIC_CONTEXT) {
+ return;
+ }
+ await this.loadEnhancers(ctx, inquirer, enhancers);
+ }
+ async loadEnhancers(ctx, inquirer, enhancers) {
+ const loadEnhancer = /* @__PURE__ */ __name((item) => {
+ const hostModule = item.host;
+ return this.loadInstance(item, hostModule.injectables, hostModule, this.createResolutionContext(ctx, inquirer));
+ }, "loadEnhancer");
+ await Promise.all(enhancers.map(loadEnhancer));
+ }
+ async loadCtorMetadata(metadata, contextId, inquirer, parentInquirer) {
+ const hosts = await Promise.all(metadata.map(async (item) => this.resolveScopedComponentHost(item, contextId, inquirer, parentInquirer)));
+ return hosts.map((item, index) => {
+ const dependency = metadata[index];
+ const effectiveInquirerId = this.getEffectiveInquirerId(dependency, this.createResolutionContext(contextId, inquirer), parentInquirer);
+ return item?.getInstanceByContextId(this.getContextId(contextId, item), effectiveInquirerId).instance;
+ });
+ }
+ async loadPropertiesMetadata(metadata, contextId, inquirer, parentInquirer) {
+ const dependenciesHosts = await Promise.all(metadata.map(async ({ wrapper: item, key }) => ({
+ key,
+ host: await this.resolveScopedComponentHost(item, contextId, inquirer, parentInquirer)
+ })));
+ return dependenciesHosts.map(({ key, host }, index) => {
+ const effectiveInquirerId = this.getEffectiveInquirerId(metadata[index].wrapper, this.createResolutionContext(contextId, inquirer), parentInquirer);
+ return {
+ key,
+ name: key,
+ instance: host?.getInstanceByContextId(this.getContextId(contextId, host), effectiveInquirerId).instance
+ };
+ });
+ }
+ addDeferredLoad(contextId, deferredLoad) {
+ if (contextId === STATIC_CONTEXT) {
+ return;
+ }
+ let deferredLoads = this.deferredLoads.get(contextId);
+ if (!deferredLoads) {
+ deferredLoads = /* @__PURE__ */ new Set();
+ this.deferredLoads.set(contextId, deferredLoads);
+ }
+ deferredLoads.add(deferredLoad);
+ }
+ /**
+ * In a durable context (see `ContextIdStrategy`), the dependents built with
+ * the placeholder of a provider whose load is deferred are shared with the
+ * next contexts mapped to it, which do not wait for that load. Until it
+ * settles, the contexts that use them wait for it as well (see
+ * `linkDurableDeferredLoads`); if it fails, the contexts still waiting for
+ * one of them fail, and the next one that uses them builds them again (see
+ * `getInstanceHost`).
+ */
+ trackDurableDeferredLoad(wrapper, contextId, deferredLoad) {
+ if (this.getContextId(contextId, wrapper) === contextId) {
+ return;
+ }
+ const untrackers = [];
+ this.forEachDurableDependent(wrapper, contextId, (dependent, hostId) => {
+ const loadsPerContext = this.durableDeferredLoads.get(dependent) ?? /* @__PURE__ */ new WeakMap();
+ const loads = loadsPerContext.get(hostId) ?? /* @__PURE__ */ new Set();
+ loads.add(deferredLoad);
+ loadsPerContext.set(hostId, loads);
+ this.durableDeferredLoads.set(dependent, loadsPerContext);
+ untrackers.push(() => {
+ loads.delete(deferredLoad);
+ if (loads.size === 0) {
+ loadsPerContext.delete(hostId);
+ }
+ });
+ });
+ const untrack = /* @__PURE__ */ __name(() => untrackers.forEach((untrackLoad) => untrackLoad()), "untrack");
+ deferredLoad.then(untrack, (err) => {
+ this.forEachDurableDependent(wrapper, contextId, (dependent, hostId) => dependent.getExistingInstancesByContextId(hostId).filter((host) => host.isResolved || host.isPending).forEach((host) => this.failedInstances.set(host, err)));
+ untrack();
+ });
+ }
+ /**
+ * Adds the running loads that the instance of the wrapper in a durable
+ * context was built with (see `trackDurableDeferredLoad`) to the loads of
+ * the given context.
+ */
+ linkDurableDeferredLoads(wrapper, contextId, hostContextId) {
+ if (hostContextId === contextId) {
+ return;
+ }
+ this.durableDeferredLoads.get(wrapper)?.get(hostContextId)?.forEach((deferredLoad) => this.addDeferredLoad(contextId, deferredLoad));
+ }
+ forEachDurableDependent(wrapper, contextId, callback) {
+ for (const dependent of wrapper.getDependents()) {
+ const hostContextId = this.getContextId(contextId, dependent);
+ if (hostContextId !== contextId) {
+ callback(dependent, hostContextId);
+ }
+ }
+ }
+ /**
+ * Returns the instance of the wrapper for the given context, or a new one
+ * when it was built with a provider whose deferred load failed (see
+ * `trackDurableDeferredLoad`), so that it is built again.
+ */
+ getInstanceHost(wrapper, contextId, inquirerId) {
+ const instanceHost = wrapper.getInstanceByContextId(contextId, inquirerId);
+ if (!instanceHost.isResolved || !this.failedInstances.has(instanceHost)) {
+ return instanceHost;
+ }
+ wrapper.removeInstanceByContextId(contextId, inquirerId);
+ return wrapper.getInstanceByContextId(contextId, inquirerId);
+ }
+ getInquirerId(inquirer) {
+ return inquirer ? inquirer.id : void 0;
+ }
+ createResolutionContext(contextId, inquirer, effectiveInquirerId, rootInquirer) {
+ return {
+ contextId,
+ inquirer,
+ effectiveInquirerId,
+ rootInquirer
+ };
+ }
+ getContextInquirerId({ inquirer, effectiveInquirerId }) {
+ return effectiveInquirerId ?? this.getInquirerId(inquirer);
+ }
+ isInContext(wrapper, resolutionContext) {
+ return wrapper.isStatic(resolutionContext.contextId, resolutionContext.inquirer, resolutionContext.rootInquirer) || wrapper.isInRequestScope(resolutionContext.contextId, resolutionContext.inquirer) || wrapper.isLazyTransient(resolutionContext.contextId, resolutionContext.inquirer) || wrapper.isExplicitlyRequested(resolutionContext.contextId, resolutionContext.inquirer);
+ }
+ /**
+ * Request-scoped and transient providers are not created at bootstrap, so
+ * their dependencies are only looked up here, without creating anything.
+ * A missing dependency then fails at bootstrap rather than on first use.
+ * Every lookup is awaited before the first failure is thrown.
+ */
+ async lookupSkippedProviderDependencies(wrapper, moduleRef) {
+ const isFactoryProvider2 = !isNil(wrapper.inject);
+ if (!isFactoryProvider2 && !isFunction(wrapper.metatype)) {
+ return;
+ }
+ const [dependencies, optionalDependenciesIds] = isFactoryProvider2 ? this.getFactoryProviderDependencies(wrapper) : this.getClassDependencies(wrapper);
+ const properties = isFactoryProvider2 ? [] : this.reflectProperties(wrapper.metatype);
+ const lookup = /* @__PURE__ */ __name(async (param, dependencyContext, keyOrIndex, isOptional) => {
+ try {
+ await this.resolveSingleParam(wrapper, param, dependencyContext, moduleRef, { contextId: STATIC_CONTEXT }, keyOrIndex);
+ } catch (err) {
+ if (!isOptional) {
+ throw err;
+ }
+ }
+ }, "lookup");
+ const results = await Promise.allSettled([
+ ...dependencies.map((param, index) => lookup(param, { index, dependencies }, index, optionalDependenciesIds.includes(index))),
+ ...properties.map(({ key, name, isOptional }) => lookup(name, { key, name }, key, !!isOptional))
+ ]);
+ const failure = results.find((result) => result.status === "rejected");
+ if (failure) {
+ throw failure.reason;
+ }
+ }
+ shouldSkipProviderLoading(wrapper, resolutionContext) {
+ const isStaticContext = resolutionContext.contextId === STATIC_CONTEXT;
+ const hasNoInquirer = !resolutionContext.inquirer;
+ const isTopLevelStaticTransientOrRequestProvider = hasNoInquirer && (wrapper.isTransient || wrapper.scope === Scope.REQUEST);
+ const isStaticInquirerOutsideResolutionContext = !!resolutionContext.inquirer && !this.isInContext(resolutionContext.inquirer, this.createResolutionContext(resolutionContext.contextId, resolutionContext.inquirer, void 0, resolutionContext.rootInquirer));
+ const shouldSkipForStaticBootstrap = isStaticContext && (isTopLevelStaticTransientOrRequestProvider || isStaticInquirerOutsideResolutionContext);
+ return shouldSkipForStaticBootstrap;
+ }
+ /**
+ * For nested TRANSIENT dependencies (TRANSIENT -> TRANSIENT) in non-static contexts,
+ * returns parentInquirer to ensure each parent TRANSIENT gets its own instance.
+ * This is necessary because in REQUEST/DURABLE scopes, the same TRANSIENT wrapper
+ * can be used by multiple parents, causing nested TRANSIENTs to be shared incorrectly.
+ * For non-TRANSIENT -> TRANSIENT, returns inquirer (current wrapper being created).
+ */
+ getEffectiveInquirer(dependency, resolutionContext, parentInquirer) {
+ const { inquirer, contextId, rootInquirer } = resolutionContext;
+ if (dependency?.isTransient && inquirer?.isTransient && parentInquirer) {
+ if (contextId === STATIC_CONTEXT) {
+ return rootInquirer ?? parentInquirer;
+ }
+ return parentInquirer;
+ }
+ return inquirer;
+ }
+ getEffectiveInquirerId(dependency, resolutionContext, parentInquirer) {
+ const { contextId, inquirer, effectiveInquirerId } = resolutionContext;
+ if (contextId === STATIC_CONTEXT && dependency?.isTransient && inquirer?.isTransient && parentInquirer) {
+ const baseInquirerId = effectiveInquirerId ?? this.getInquirerId(parentInquirer);
+ return `${baseInquirerId}:${inquirer.id}`;
+ }
+ const effectiveInquirer = this.getEffectiveInquirer(dependency, resolutionContext, parentInquirer);
+ return this.getInquirerId(effectiveInquirer);
+ }
+ getStaticTransientResolutionContext(resolutionContext, parentInquirer) {
+ const { contextId, inquirer, effectiveInquirerId } = resolutionContext;
+ if (contextId === STATIC_CONTEXT && inquirer?.isTransient && parentInquirer) {
+ const baseInquirerId = effectiveInquirerId ?? this.getInquirerId(parentInquirer);
+ return this.createResolutionContext(contextId, inquirer, `${baseInquirerId}:${inquirer.id}`);
+ }
+ return resolutionContext;
+ }
+ getEffectiveResolutionContext(dependency, resolutionContext, parentInquirer) {
+ const effectiveInquirer = this.getEffectiveInquirer(dependency, resolutionContext, parentInquirer);
+ return this.createResolutionContext(
+ resolutionContext.contextId,
+ effectiveInquirer,
+ this.getEffectiveInquirerId(dependency, resolutionContext, parentInquirer),
+ // The root inquirer is the one of `inquirer`
+ effectiveInquirer === resolutionContext.inquirer ? resolutionContext.rootInquirer : void 0
+ );
+ }
+ hasDenseCtorMetadata(wrapper, inject, metadata) {
+ if (!metadata) {
+ return false;
+ }
+ const expectedDepsLength = !isNil(inject) ? inject.length : wrapper.metatype ? this.reflectConstructorParams(wrapper.metatype).length : 0;
+ if (metadata.length !== expectedDepsLength) {
+ return false;
+ }
+ for (let index = 0; index < expectedDepsLength; index++) {
+ if (metadata[index] === void 0) {
+ return false;
+ }
+ }
+ return true;
+ }
+ hasCompletePropertiesMetadata(wrapper, metadata) {
+ if (!metadata) {
+ return false;
+ }
+ const properties = wrapper.metatype ? this.reflectProperties(wrapper.metatype) : [];
+ return properties.every(({ key }) => metadata.some((item) => item.key === key));
+ }
+ resolveScopedComponentHost(item, contextId, inquirer, parentInquirer) {
+ return this.isInquirerRequest(item, parentInquirer) ? parentInquirer : this.resolveComponentHost(item.host, item, this.getEffectiveResolutionContext(item, this.createResolutionContext(contextId, inquirer), parentInquirer));
+ }
+ isInquirerRequest(item, parentInquirer) {
+ return item.isTransient && item.name === INQUIRER && parentInquirer;
+ }
+ isInquirer(param, parentInquirer) {
+ return param === INQUIRER && parentInquirer;
+ }
+ addDependencyMetadata(keyOrIndex, hostWrapper, instanceWrapper) {
+ if (isSymbol(keyOrIndex) || isString(keyOrIndex)) {
+ hostWrapper.addPropertiesMetadata(keyOrIndex, instanceWrapper);
+ } else {
+ hostWrapper.addCtorMetadata(keyOrIndex, instanceWrapper);
+ }
+ }
+ getTokenName(token) {
+ return isFunction(token) ? token.name : token.toString();
+ }
+ printResolvingDependenciesLog(token, inquirer) {
+ if (!isDebugMode()) {
+ return;
+ }
+ const tokenName = this.getTokenName(token);
+ const dependentName = (inquirer?.name && inquirer.name.toString?.()) ?? "unknown";
+ const isAlias = dependentName === tokenName;
+ const messageToPrint = `Resolving dependency ${clc.cyanBright(tokenName)}${clc.green(" in the ")}${clc.yellow(dependentName)}${clc.green(` provider ${isAlias ? "(alias)" : ""}`)}`;
+ this.logger.log(messageToPrint);
+ }
+ printLookingForProviderLog(token, moduleRef) {
+ if (!isDebugMode()) {
+ return;
+ }
+ const tokenName = this.getTokenName(token);
+ const moduleRefName = moduleRef?.metatype?.name ?? "unknown";
+ this.logger.log(`Looking for ${clc.cyanBright(tokenName)}${clc.green(" in ")}${clc.magentaBright(moduleRefName)}`);
+ }
+ printFoundInModuleLog(token, moduleRef) {
+ if (!isDebugMode()) {
+ return;
+ }
+ const tokenName = this.getTokenName(token);
+ const moduleRefName = moduleRef?.metatype?.name ?? "unknown";
+ this.logger.log(`Found ${clc.cyanBright(tokenName)}${clc.green(" in ")}${clc.magentaBright(moduleRefName)}`);
+ }
+ getContextId(contextId, instanceWrapper) {
+ return contextId.getParent ? contextId.getParent({
+ token: instanceWrapper.token,
+ isTreeDurable: instanceWrapper.isDependencyTreeDurable()
+ }) : contextId;
+ }
+ getNowTimestamp() {
+ return performance2.now();
+ }
+ };
+ }
+});
+
+// ../../node_modules/.pnpm/@nestjs+core@12.2.0_@nestjs_74b3aa22af8a41de6299655ec5713214/node_modules/@nestjs/core/injector/instance-links-host.js
+var InstanceLinksHost;
+var init_instance_links_host = __esm({
+ "../../node_modules/.pnpm/@nestjs+core@12.2.0_@nestjs_74b3aa22af8a41de6299655ec5713214/node_modules/@nestjs/core/injector/instance-links-host.js"() {
+ init_unknown_element_exception();
+ init_internal();
+ InstanceLinksHost = class {
+ static {
+ __name(this, "InstanceLinksHost");
+ }
+ container;
+ instanceLinks = /* @__PURE__ */ new Map();
+ constructor(container) {
+ this.container = container;
+ this.initialize();
+ }
+ get(token, options = {}) {
+ const instanceLinksForGivenToken = this.instanceLinks.get(token);
+ if (!instanceLinksForGivenToken) {
+ throw new UnknownElementException(this.getInstanceNameByToken(token));
+ }
+ if (options.each) {
+ return instanceLinksForGivenToken;
+ }
+ const instanceLink = options.moduleId ? instanceLinksForGivenToken.find((item) => item.moduleId === options.moduleId) : instanceLinksForGivenToken[instanceLinksForGivenToken.length - 1];
+ if (!instanceLink) {
+ throw new UnknownElementException(this.getInstanceNameByToken(token));
+ }
+ return instanceLink;
+ }
+ initialize() {
+ const modules = this.container.getModules();
+ modules.forEach((moduleRef) => {
+ const { providers, injectables, controllers } = moduleRef;
+ providers.forEach((wrapper, token) => this.addLink(wrapper, token, moduleRef, "providers"));
+ injectables.forEach((wrapper, token) => this.addLink(wrapper, token, moduleRef, "injectables"));
+ controllers.forEach((wrapper, token) => this.addLink(wrapper, token, moduleRef, "controllers"));
+ });
+ }
+ addLink(wrapper, token, moduleRef, collectionName) {
+ const instanceLink = {
+ moduleId: moduleRef.id,
+ wrapperRef: wrapper,
+ collection: moduleRef[collectionName],
+ token
+ };
+ const existingLinks = this.instanceLinks.get(token);
+ if (!existingLinks) {
+ this.instanceLinks.set(token, [instanceLink]);
+ } else {
+ existingLinks.push(instanceLink);
+ }
+ }
+ getInstanceNameByToken(token) {
+ return isFunction(token) ? token?.name : token;
+ }
+ };
+ }
+});
+
+// ../../node_modules/.pnpm/@nestjs+core@12.2.0_@nestjs_74b3aa22af8a41de6299655ec5713214/node_modules/@nestjs/core/inspector/deterministic-uuid-registry.js
+var DeterministicUuidRegistry;
+var init_deterministic_uuid_registry = __esm({
+ "../../node_modules/.pnpm/@nestjs+core@12.2.0_@nestjs_74b3aa22af8a41de6299655ec5713214/node_modules/@nestjs/core/inspector/deterministic-uuid-registry.js"() {
+ DeterministicUuidRegistry = class {
+ static {
+ __name(this, "DeterministicUuidRegistry");
+ }
+ static registry = /* @__PURE__ */ new Map();
+ static get(str, inc = 0) {
+ const id = inc ? this.hashCode(`${str}_${inc}`) : this.hashCode(str);
+ if (this.registry.has(id)) {
+ return this.get(str, inc + 1);
+ }
+ this.registry.set(id, true);
+ return id;
+ }
+ static clear() {
+ this.registry.clear();
+ }
+ static hashCode(s) {
+ let h = 0;
+ for (let i = 0; i < s.length; i++)
+ h = Math.imul(31, h) + s.charCodeAt(i) | 0;
+ return h.toString();
+ }
+ };
+ }
+});
+
+// ../../node_modules/.pnpm/@nestjs+core@12.2.0_@nestjs_74b3aa22af8a41de6299655ec5713214/node_modules/@nestjs/core/inspector/uuid-factory.js
+var UuidFactoryMode, UuidFactory;
+var init_uuid_factory = __esm({
+ "../../node_modules/.pnpm/@nestjs+core@12.2.0_@nestjs_74b3aa22af8a41de6299655ec5713214/node_modules/@nestjs/core/inspector/uuid-factory.js"() {
+ init_deterministic_uuid_registry();
+ init_internal();
+ (function(UuidFactoryMode2) {
+ UuidFactoryMode2["Random"] = "random";
+ UuidFactoryMode2["Deterministic"] = "deterministic";
+ })(UuidFactoryMode || (UuidFactoryMode = {}));
+ UuidFactory = class {
+ static {
+ __name(this, "UuidFactory");
+ }
+ static _mode = UuidFactoryMode.Random;
+ static set mode(value) {
+ this._mode = value;
+ }
+ static get(key = "") {
+ return this._mode === UuidFactoryMode.Deterministic ? DeterministicUuidRegistry.get(key) : randomStringGenerator();
+ }
+ };
+ }
+});
+
+// ../../node_modules/.pnpm/@nestjs+core@12.2.0_@nestjs_74b3aa22af8a41de6299655ec5713214/node_modules/@nestjs/core/injector/helpers/provider-classifier.js
+function isClassProvider(provider) {
+ return Boolean(provider?.useClass);
+}
+function isValueProvider(provider) {
+ const providerValue = provider?.useValue;
+ return !isUndefined(providerValue);
+}
+function isFactoryProvider(provider) {
+ return Boolean(provider.useFactory);
+}
+var init_provider_classifier = __esm({
+ "../../node_modules/.pnpm/@nestjs+core@12.2.0_@nestjs_74b3aa22af8a41de6299655ec5713214/node_modules/@nestjs/core/injector/helpers/provider-classifier.js"() {
+ init_internal();
+ __name(isClassProvider, "isClassProvider");
+ __name(isValueProvider, "isValueProvider");
+ __name(isFactoryProvider, "isFactoryProvider");
+ }
+});
+
+// ../../node_modules/.pnpm/@nestjs+core@12.2.0_@nestjs_74b3aa22af8a41de6299655ec5713214/node_modules/@nestjs/core/injector/instance-wrapper.js
+var import_iterare7, INSTANCE_METADATA_SYMBOL, INSTANCE_ID_SYMBOL, dependencyTreeParents, InstanceWrapper;
+var init_instance_wrapper = __esm({
+ "../../node_modules/.pnpm/@nestjs+core@12.2.0_@nestjs_74b3aa22af8a41de6299655ec5713214/node_modules/@nestjs/core/injector/instance-wrapper.js"() {
+ init_common();
+ init_internal();
+ import_iterare7 = __toESM(require_lib(), 1);
+ init_class_ref_registry();
+ init_get_class_scope();
+ init_is_durable();
+ init_uuid_factory();
+ init_constants3();
+ init_is_debug_mode_util();
+ init_provider_classifier();
+ INSTANCE_METADATA_SYMBOL = /* @__PURE__ */ Symbol.for("instance_metadata:cache");
+ INSTANCE_ID_SYMBOL = /* @__PURE__ */ Symbol.for("instance_metadata:id");
+ dependencyTreeParents = /* @__PURE__ */ new WeakMap();
+ InstanceWrapper = class _InstanceWrapper {
+ static {
+ __name(this, "InstanceWrapper");
+ }
+ name;
+ token;
+ async;
+ host;
+ isAlias = false;
+ subtype;
+ scope = Scope.DEFAULT;
+ metatype;
+ inject;
+ forwardRef;
+ durable;
+ initTime;
+ settlementSignal;
+ static logger = new Logger(_InstanceWrapper.name);
+ values = /* @__PURE__ */ new WeakMap();
+ [INSTANCE_METADATA_SYMBOL] = {};
+ [INSTANCE_ID_SYMBOL];
+ transientMap;
+ isTreeStatic;
+ isTreeDurable;
+ _hierarchyLevel = 0;
+ get hierarchyLevel() {
+ return this._hierarchyLevel;
+ }
+ set hierarchyLevel(level) {
+ this._hierarchyLevel = level;
+ }
+ /**
+ * The root inquirer reference. Present only if child instance wrapper
+ * is transient and has a parent inquirer.
+ */
+ rootInquirer;
+ constructor(metadata = {}) {
+ this.initialize(metadata);
+ if (this.isNewable()) {
+ registerClassRef(this.metatype);
+ }
+ this[INSTANCE_ID_SYMBOL] = metadata[INSTANCE_ID_SYMBOL] ?? this.generateUuid();
+ }
+ get id() {
+ return this[INSTANCE_ID_SYMBOL];
+ }
+ set instance(value) {
+ this.values.set(STATIC_CONTEXT, { instance: value });
+ }
+ get instance() {
+ const instancePerContext = this.getInstanceByContextId(STATIC_CONTEXT);
+ return instancePerContext.instance;
+ }
+ get isNotMetatype() {
+ return !this.metatype || this.isFactory;
+ }
+ get isFactory() {
+ return !!this.metatype && !isNil(this.inject);
+ }
+ get isTransient() {
+ return this.scope === Scope.TRANSIENT;
+ }
+ getInstanceByContextId(contextId, inquirerId) {
+ if (this.scope === Scope.TRANSIENT && inquirerId) {
+ return this.getInstanceByInquirerId(contextId, inquirerId);
+ }
+ const instancePerContext = this.values.get(contextId);
+ return instancePerContext ? instancePerContext : contextId !== STATIC_CONTEXT ? this.cloneStaticInstance(contextId) : {
+ instance: null,
+ isResolved: true,
+ isPending: false
+ };
+ }
+ getInstanceByInquirerId(contextId, inquirerId) {
+ let collectionPerContext = this.transientMap.get(inquirerId);
+ if (!collectionPerContext) {
+ collectionPerContext = /* @__PURE__ */ new WeakMap();
+ this.transientMap.set(inquirerId, collectionPerContext);
+ }
+ const instancePerContext = collectionPerContext.get(contextId);
+ return instancePerContext ? instancePerContext : this.cloneTransientInstance(contextId, inquirerId);
+ }
+ setInstanceByContextId(contextId, value, inquirerId) {
+ if (this.scope === Scope.TRANSIENT && inquirerId) {
+ return this.setInstanceByInquirerId(contextId, inquirerId, value);
+ }
+ this.values.set(contextId, value);
+ }
+ setInstanceByInquirerId(contextId, inquirerId, value) {
+ let collection = this.transientMap.get(inquirerId);
+ if (!collection) {
+ collection = /* @__PURE__ */ new WeakMap();
+ this.transientMap.set(inquirerId, collection);
+ }
+ collection.set(contextId, value);
+ }
+ removeInstanceByContextId(contextId, inquirerId) {
+ if (this.scope === Scope.TRANSIENT && inquirerId) {
+ return this.removeInstanceByInquirerId(contextId, inquirerId);
+ }
+ this.values.delete(contextId);
+ }
+ removeInstanceByInquirerId(contextId, inquirerId) {
+ const collection = this.transientMap.get(inquirerId);
+ if (!collection) {
+ return;
+ }
+ collection.delete(contextId);
+ }
+ /**
+ * Returns the instances that exist for the given context, including those
+ * of every inquirer of a transient provider. Unlike `getInstanceByContextId`,
+ * it does not create one.
+ */
+ getExistingInstancesByContextId(contextId) {
+ const collections = [this.values, ...this.transientMap?.values() ?? []];
+ return collections.map((collection) => collection.get(contextId)).filter((instancePerContext) => !isUndefined(instancePerContext));
+ }
+ addCtorMetadata(index, wrapper) {
+ if (!this[INSTANCE_METADATA_SYMBOL].dependencies) {
+ this[INSTANCE_METADATA_SYMBOL].dependencies = [];
+ }
+ this[INSTANCE_METADATA_SYMBOL].dependencies[index] = wrapper;
+ this.registerDependencyTreeParent(wrapper);
+ this.resetDependencyTreeState();
+ }
+ getCtorMetadata() {
+ return this[INSTANCE_METADATA_SYMBOL].dependencies;
+ }
+ addPropertiesMetadata(key, wrapper) {
+ if (!this[INSTANCE_METADATA_SYMBOL].properties) {
+ this[INSTANCE_METADATA_SYMBOL].properties = [];
+ }
+ const properties = this[INSTANCE_METADATA_SYMBOL].properties;
+ const index = properties.findIndex((item) => item.key === key);
+ if (index === -1) {
+ properties.push({ key, wrapper });
+ } else {
+ properties[index] = { key, wrapper };
+ }
+ this.registerDependencyTreeParent(wrapper);
+ this.resetDependencyTreeState();
+ }
+ getPropertiesMetadata() {
+ return this[INSTANCE_METADATA_SYMBOL].properties;
+ }
+ addEnhancerMetadata(wrapper) {
+ if (!this[INSTANCE_METADATA_SYMBOL].enhancers) {
+ this[INSTANCE_METADATA_SYMBOL].enhancers = [];
+ }
+ this[INSTANCE_METADATA_SYMBOL].enhancers.push(wrapper);
+ this.registerDependencyTreeParent(wrapper);
+ this.resetDependencyTreeState();
+ }
+ getEnhancersMetadata() {
+ return this[INSTANCE_METADATA_SYMBOL].enhancers;
+ }
+ isDependencyTreeDurable(lookupRegistry = []) {
+ if (!isUndefined(this.isTreeDurable)) {
+ return this.isTreeDurable;
+ }
+ if (this.scope === Scope.REQUEST) {
+ this.isTreeDurable = this.durable === void 0 ? false : this.durable;
+ if (this.isTreeDurable) {
+ this.printIntrospectedAsDurable();
+ }
+ return this.isTreeDurable;
+ }
+ const isStatic = this.isDependencyTreeStatic();
+ if (isStatic) {
+ return false;
+ }
+ const isTreeNonDurable = this.introspectDepsAttribute((collection, registry) => collection.some((item) => !item.isDependencyTreeStatic() && !item.isDependencyTreeDurable(registry)), lookupRegistry);
+ this.isTreeDurable = !isTreeNonDurable;
+ if (this.isTreeDurable) {
+ this.printIntrospectedAsDurable();
+ } else {
+ this.invalidateDependencyTreeParents("isTreeDurable");
+ }
+ return this.isTreeDurable;
+ }
+ introspectDepsAttribute(callback, lookupRegistry = []) {
+ if (lookupRegistry.includes(this[INSTANCE_ID_SYMBOL])) {
+ return false;
+ }
+ lookupRegistry = lookupRegistry.concat(this[INSTANCE_ID_SYMBOL]);
+ const { dependencies, properties, enhancers } = this[INSTANCE_METADATA_SYMBOL];
+ let introspectionResult = dependencies ? callback(dependencies, lookupRegistry) : false;
+ if (introspectionResult || !(properties || enhancers)) {
+ return introspectionResult;
+ }
+ introspectionResult = properties ? callback(properties.map((item) => item.wrapper), lookupRegistry) : false;
+ if (introspectionResult || !enhancers) {
+ return introspectionResult;
+ }
+ return enhancers ? callback(enhancers, lookupRegistry) : false;
+ }
+ isDependencyTreeStatic(lookupRegistry = []) {
+ if (!isUndefined(this.isTreeStatic)) {
+ return this.isTreeStatic;
+ }
+ if (this.scope === Scope.REQUEST) {
+ this.isTreeStatic = false;
+ this.printIntrospectedAsRequestScoped();
+ return this.isTreeStatic;
+ }
+ this.isTreeStatic = !this.introspectDepsAttribute((collection, registry) => collection.some((item) => !item.isDependencyTreeStatic(registry)), lookupRegistry);
+ if (!this.isTreeStatic) {
+ this.printIntrospectedAsRequestScoped();
+ this.invalidateDependencyTreeParents("isTreeStatic");
+ }
+ return this.isTreeStatic;
+ }
+ cloneStaticInstance(contextId) {
+ const staticInstance = this.getInstanceByContextId(STATIC_CONTEXT);
+ if (this.isDependencyTreeStatic()) {
+ return staticInstance;
+ }
+ const instancePerContext = {
+ ...staticInstance,
+ instance: void 0,
+ isResolved: false,
+ isPending: false
+ };
+ if (this.isNewable()) {
+ instancePerContext.instance = Object.create(this.metatype.prototype);
+ }
+ this.setInstanceByContextId(contextId, instancePerContext);
+ return instancePerContext;
+ }
+ cloneTransientInstance(contextId, inquirerId) {
+ const staticInstance = this.getInstanceByContextId(STATIC_CONTEXT);
+ const instancePerContext = {
+ ...staticInstance,
+ instance: void 0,
+ isResolved: false,
+ isPending: false
+ };
+ if (this.isNewable()) {
+ instancePerContext.instance = Object.create(this.metatype.prototype);
+ }
+ this.setInstanceByInquirerId(contextId, inquirerId, instancePerContext);
+ return instancePerContext;
+ }
+ createPrototype(contextId) {
+ const host = this.getInstanceByContextId(contextId);
+ if (!this.isNewable() || host.isResolved) {
+ return;
+ }
+ return Object.create(this.metatype.prototype);
+ }
+ isInRequestScope(contextId, inquirer) {
+ const isDependencyTreeStatic = this.isDependencyTreeStatic();
+ return !isDependencyTreeStatic && contextId !== STATIC_CONTEXT && (!this.isTransient || this.isTransient && !!inquirer);
+ }
+ isLazyTransient(contextId, inquirer) {
+ const isInquirerRequestScoped = !!(inquirer && !inquirer.isDependencyTreeStatic());
+ return this.isDependencyTreeStatic() && contextId !== STATIC_CONTEXT && this.isTransient && isInquirerRequestScoped;
+ }
+ isExplicitlyRequested(contextId, inquirer) {
+ const isSelfRequested = inquirer === this;
+ return this.isDependencyTreeStatic() && contextId !== STATIC_CONTEXT && (isSelfRequested || !!(inquirer && inquirer.scope === Scope.TRANSIENT));
+ }
+ isStatic(contextId, inquirer, rootInquirer) {
+ if (!this.isDependencyTreeStatic() || contextId !== STATIC_CONTEXT) {
+ return false;
+ }
+ if (!this.isTransient) {
+ return true;
+ }
+ const isInquirerRequestScoped = inquirer && !inquirer.isDependencyTreeStatic();
+ const isStaticTransient = this.isTransient && !isInquirerRequestScoped;
+ if (isStaticTransient && inquirer && !inquirer.isTransient) {
+ return true;
+ }
+ if (isStaticTransient && rootInquirer && !rootInquirer.isTransient) {
+ return true;
+ }
+ if (isStaticTransient && inquirer?.isTransient && !rootInquirer) {
+ return true;
+ }
+ return false;
+ }
+ detachFromDependencies() {
+ this.getDependencyWrappers().forEach((dependency) => {
+ dependencyTreeParents.get(dependency)?.delete(this);
+ dependency.removeTransientInstancesOf(this);
+ });
+ }
+ /**
+ * Returns the wrappers that depend on this one, directly or through other
+ * wrappers (as a constructor, property or enhancer dependency).
+ */
+ getDependents() {
+ const dependents = /* @__PURE__ */ new Set();
+ const wrappers = [this];
+ while (wrappers.length > 0) {
+ dependencyTreeParents.get(wrappers.pop())?.forEach((parent) => {
+ if (!dependents.has(parent)) {
+ dependents.add(parent);
+ wrappers.push(parent);
+ }
+ });
+ }
+ return dependents;
+ }
+ /**
+ * @deprecated The injector no longer reads the root inquirer from the
+ * wrapper (see `isStatic`), as it may be overwritten by a concurrent
+ * resolution for another consumer.
+ */
+ attachRootInquirer(inquirer) {
+ if (!this.isTransient) {
+ return;
+ }
+ this.rootInquirer = inquirer.getRootInquirer() ?? inquirer;
+ }
+ /**
+ * @deprecated The injector no longer reads the root inquirer from the
+ * wrapper (see `isStatic`), as it may be overwritten by a concurrent
+ * resolution for another consumer.
+ */
+ getRootInquirer() {
+ return this.rootInquirer;
+ }
+ getStaticTransientInstances() {
+ if (!this.transientMap) {
+ return [];
+ }
+ const instances = [...this.transientMap.values()];
+ return (0, import_iterare7.iterate)(instances).map((item) => item.get(STATIC_CONTEXT)).filter((item) => {
+ return !!(item && item.isConstructorCalled);
+ }).toArray();
+ }
+ mergeWith(provider) {
+ if (isValueProvider(provider)) {
+ this.metatype = null;
+ this.inject = null;
+ this.scope = Scope.DEFAULT;
+ this.setInstanceByContextId(STATIC_CONTEXT, {
+ instance: provider.useValue,
+ isResolved: true,
+ isPending: false
+ });
+ } else if (isClassProvider(provider)) {
+ this.inject = null;
+ this.metatype = provider.useClass;
+ registerClassRef(provider.useClass);
+ this.scope = getClassScope(provider.useClass) ?? Scope.DEFAULT;
+ this.durable = isDurable(provider.useClass);
+ if (this.scope === Scope.TRANSIENT && !this.transientMap) {
+ this.transientMap = /* @__PURE__ */ new Map();
+ }
+ this.resetStaticInstance();
+ } else if (isFactoryProvider(provider)) {
+ this.metatype = provider.useFactory;
+ this.inject = provider.inject || [];
+ this.resetStaticInstance();
+ }
+ this.resetDependencyTreeState();
+ }
+ resetStaticInstance() {
+ this.setInstanceByContextId(STATIC_CONTEXT, {
+ instance: null,
+ isResolved: false,
+ isPending: false
+ });
+ }
+ isNewable() {
+ return isNil(this.inject) && this.metatype && this.metatype.prototype;
+ }
+ registerDependencyTreeParent(wrapper) {
+ if (wrapper instanceof _InstanceWrapper) {
+ const parents = dependencyTreeParents.get(wrapper) ?? /* @__PURE__ */ new Set();
+ parents.add(this);
+ dependencyTreeParents.set(wrapper, parents);
+ }
+ }
+ getDependencyWrappers() {
+ const { dependencies = [], properties = [] } = this[INSTANCE_METADATA_SYMBOL];
+ return [
+ ...dependencies,
+ ...properties.map(({ wrapper }) => wrapper)
+ ].filter((dependency) => dependency instanceof _InstanceWrapper);
+ }
+ removeTransientInstancesOf(inquirer) {
+ if (!this.transientMap) {
+ return;
+ }
+ for (const inquirerId of this.transientMap.keys()) {
+ if (inquirerId === inquirer.id || inquirerId.startsWith(`${inquirer.id}:`)) {
+ this.transientMap.delete(inquirerId);
+ }
+ }
+ this.getDependencyWrappers().forEach((dependency) => dependency.removeTransientInstancesOf(inquirer));
+ }
+ resetDependencyTreeState(lookupRegistry = /* @__PURE__ */ new Set()) {
+ if (lookupRegistry.has(this[INSTANCE_ID_SYMBOL])) {
+ return;
+ }
+ lookupRegistry.add(this[INSTANCE_ID_SYMBOL]);
+ this.isTreeStatic = void 0;
+ this.isTreeDurable = void 0;
+ dependencyTreeParents.get(this)?.forEach((parent) => parent.resetDependencyTreeState(lookupRegistry));
+ }
+ /**
+ * In a circular dependency, the introspection skips a wrapper that is
+ * already being introspected, so the parents in between may cache `true`
+ * before that wrapper turns out not to be static (or durable). Clears what
+ * they cached, so it is computed again with the final answer.
+ */
+ invalidateDependencyTreeParents(attribute) {
+ dependencyTreeParents.get(this)?.forEach((parent) => {
+ if (parent[attribute]) {
+ parent[attribute] = void 0;
+ parent.invalidateDependencyTreeParents(attribute);
+ }
+ });
+ }
+ initialize(metadata) {
+ const { instance, isResolved, ...wrapperPartial } = metadata;
+ Object.assign(this, wrapperPartial);
+ this.setInstanceByContextId(STATIC_CONTEXT, {
+ instance,
+ isResolved
+ });
+ this.scope === Scope.TRANSIENT && (this.transientMap = /* @__PURE__ */ new Map());
+ }
+ printIntrospectedAsRequestScoped() {
+ if (!isDebugMode() || this.name === "REQUEST") {
+ return;
+ }
+ if (isString(this.name)) {
+ _InstanceWrapper.logger.log(`${clc.cyanBright(this.name)}${clc.green(" introspected as ")}${clc.magentaBright("request-scoped")}`);
+ }
+ }
+ printIntrospectedAsDurable() {
+ if (!isDebugMode()) {
+ return;
+ }
+ if (isString(this.name)) {
+ _InstanceWrapper.logger.log(`${clc.cyanBright(this.name)}${clc.green(" introspected as ")}${clc.magentaBright("durable")}`);
+ }
+ }
+ generateUuid() {
+ let key = this.name?.toString() ?? this.token?.toString();
+ key += this.host?.name ?? "";
+ return key ? UuidFactory.get(key) : randomStringGenerator();
+ }
+ };
+ }
+});
+
+// ../../node_modules/.pnpm/@nestjs+core@12.2.0_@nestjs_74b3aa22af8a41de6299655ec5713214/node_modules/@nestjs/core/injector/module-ref.js
+var ModuleRef;
+var init_module_ref = __esm({
+ "../../node_modules/.pnpm/@nestjs+core@12.2.0_@nestjs_74b3aa22af8a41de6299655ec5713214/node_modules/@nestjs/core/injector/module-ref.js"() {
+ init_common();
+ init_request_scoped_create_exception();
+ init_get_class_scope();
+ init_is_durable();
+ init_abstract_instance_resolver();
+ init_constants3();
+ init_injector();
+ init_instance_links_host();
+ init_instance_wrapper();
+ ModuleRef = class extends AbstractInstanceResolver {
+ static {
+ __name(this, "ModuleRef");
+ }
+ container;
+ injector;
+ _instanceLinksHost;
+ get instanceLinksHost() {
+ if (!this._instanceLinksHost) {
+ this._instanceLinksHost = new InstanceLinksHost(this.container);
+ }
+ return this._instanceLinksHost;
+ }
+ constructor(container) {
+ super();
+ this.container = container;
+ const contextOptions = container.contextOptions;
+ this.injector = new Injector({
+ preview: contextOptions?.preview ?? false,
+ snapshot: contextOptions?.snapshot,
+ instanceDecorator: contextOptions?.instrument?.instanceDecorator
+ });
+ }
+ introspect(token) {
+ const { wrapperRef } = this.instanceLinksHost.get(token);
+ let scope = Scope.DEFAULT;
+ if (!wrapperRef.isDependencyTreeStatic()) {
+ scope = Scope.REQUEST;
+ } else if (wrapperRef.isTransient) {
+ scope = Scope.TRANSIENT;
+ }
+ return { scope };
+ }
+ registerRequestByContextId(request, contextId) {
+ this.container.registerRequestProvider(request, contextId);
+ }
+ async instantiateClass(type, moduleRef, contextId) {
+ const wrapper = new InstanceWrapper({
+ name: type && type.name,
+ metatype: type,
+ isResolved: false,
+ scope: getClassScope(type),
+ durable: isDurable(type),
+ host: moduleRef
+ });
+ if (type?.prototype) {
+ wrapper.setInstanceByContextId(contextId ?? STATIC_CONTEXT, {
+ instance: Object.create(type.prototype),
+ isResolved: false,
+ isPending: false
+ });
+ }
+ return new Promise((resolve, reject) => {
+ let isCreated = false;
+ const loadInstance = /* @__PURE__ */ __name(async () => {
+ const callback = /* @__PURE__ */ __name(async (instances) => {
+ const properties = await this.injector.resolveProperties(wrapper, moduleRef, void 0, {
+ contextId: contextId ?? STATIC_CONTEXT,
+ inquirer: wrapper
+ });
+ await this.injector.waitForDeferredLoads(contextId ?? STATIC_CONTEXT);
+ const instance = new type(...instances);
+ this.injector.applyProperties(instance, properties);
+ isCreated = true;
+ resolve(instance);
+ }, "callback");
+ await this.injector.resolveConstructorParams(wrapper, moduleRef, void 0, callback, {
+ contextId: contextId ?? STATIC_CONTEXT,
+ inquirer: wrapper
+ });
+ if (!isCreated) {
+ reject(new RequestScopedCreateException(type.name));
+ }
+ }, "loadInstance");
+ void loadInstance().catch(reject);
+ }).finally(() => wrapper.detachFromDependencies());
+ }
+ };
+ }
+});
+
+// ../../node_modules/.pnpm/@nestjs+core@12.2.0_@nestjs_74b3aa22af8a41de6299655ec5713214/node_modules/@nestjs/core/injector/lazy-module-loader/lazy-module-loader.js
+var LazyModuleLoader;
+var init_lazy_module_loader = __esm({
+ "../../node_modules/.pnpm/@nestjs+core@12.2.0_@nestjs_74b3aa22af8a41de6299655ec5713214/node_modules/@nestjs/core/injector/lazy-module-loader/lazy-module-loader.js"() {
+ init_silent_logger();
+ init_module_ref();
+ LazyModuleLoader = class {
+ static {
+ __name(this, "LazyModuleLoader");
+ }
+ dependenciesScanner;
+ instanceLoader;
+ moduleCompiler;
+ modulesContainer;
+ moduleOverrides;
+ constructor(dependenciesScanner, instanceLoader, moduleCompiler, modulesContainer, moduleOverrides) {
+ this.dependenciesScanner = dependenciesScanner;
+ this.instanceLoader = instanceLoader;
+ this.moduleCompiler = moduleCompiler;
+ this.modulesContainer = modulesContainer;
+ this.moduleOverrides = moduleOverrides;
+ }
+ async load(loaderFn, loadOpts) {
+ const originalLogger = this.instanceLoader.logger;
+ try {
+ this.registerLoggerConfiguration(loadOpts);
+ const moduleClassOrDynamicDefinition = await loaderFn();
+ const moduleInstances = await this.dependenciesScanner.scanForModules({
+ moduleDefinition: moduleClassOrDynamicDefinition,
+ overrides: this.moduleOverrides,
+ lazy: true
+ });
+ if (moduleInstances.length === 0) {
+ const { token } = await this.moduleCompiler.compile(moduleClassOrDynamicDefinition);
+ const moduleInstance = this.modulesContainer.get(token);
+ return moduleInstance && this.getTargetModuleRef(moduleInstance);
+ }
+ const lazyModulesContainer = this.createLazyModulesContainer(moduleInstances);
+ await this.dependenciesScanner.scanModulesForDependencies(lazyModulesContainer);
+ await this.instanceLoader.createInstancesOfDependencies(lazyModulesContainer);
+ const [targetModule] = moduleInstances;
+ return this.getTargetModuleRef(targetModule);
+ } finally {
+ if (loadOpts?.logger === false) {
+ this.instanceLoader.setLogger(originalLogger);
+ }
+ }
+ }
+ registerLoggerConfiguration(loadOpts) {
+ if (loadOpts?.logger === false) {
+ this.instanceLoader.setLogger(new SilentLogger());
+ }
+ }
+ createLazyModulesContainer(moduleInstances) {
+ moduleInstances = Array.from(new Set(moduleInstances));
+ return new Map(moduleInstances.map((ref) => [ref.token, ref]));
+ }
+ getTargetModuleRef(moduleInstance) {
+ const moduleRefInstanceWrapper = moduleInstance.getProviderByKey(ModuleRef);
+ return moduleRefInstanceWrapper.instance;
+ }
+ };
+ }
+});
+
+// ../../node_modules/.pnpm/@nestjs+core@12.2.0_@nestjs_74b3aa22af8a41de6299655ec5713214/node_modules/@nestjs/core/services/reflector.service.js
+var Reflector;
+var init_reflector_service = __esm({
+ "../../node_modules/.pnpm/@nestjs+core@12.2.0_@nestjs_74b3aa22af8a41de6299655ec5713214/node_modules/@nestjs/core/services/reflector.service.js"() {
+ init_common();
+ init_dist();
+ init_internal();
+ Reflector = class {
+ static {
+ __name(this, "Reflector");
+ }
+ static createDecorator(options = {}) {
+ const metadataKey = options.key ?? uid(21);
+ const decoratorFn = /* @__PURE__ */ __name((metadataValue) => (target, key, descriptor) => {
+ const value = options.transform ? options.transform(metadataValue) : metadataValue;
+ SetMetadata(metadataKey, value === void 0 ? {} : value)(target, key, descriptor);
+ }, "decoratorFn");
+ decoratorFn.KEY = metadataKey;
+ return decoratorFn;
+ }
+ /**
+ * Retrieve metadata for a specified key or decorator for a specified target.
+ *
+ * @example
+ * `const roles = this.reflector.get('roles', context.getHandler());`
+ *
+ * @param metadataKey lookup key or decorator for metadata to retrieve
+ * @param target context (decorated object) to retrieve metadata from
+ *
+ */
+ get(metadataKeyOrDecorator, target) {
+ const metadataKey = metadataKeyOrDecorator.KEY ?? metadataKeyOrDecorator;
+ return Reflect.getMetadata(metadataKey, target);
+ }
+ /**
+ * Retrieve metadata for a specified key or decorator for a specified set of targets.
+ *
+ * @param metadataKeyOrDecorator lookup key or decorator for metadata to retrieve
+ * @param targets context (decorated objects) to retrieve metadata from
+ *
+ */
+ getAll(metadataKeyOrDecorator, targets) {
+ return (targets || []).map((target) => this.get(metadataKeyOrDecorator, target));
+ }
+ /**
+ * Retrieve metadata for a specified key or decorator for a specified set of targets and merge results.
+ *
+ * @param metadataKeyOrDecorator lookup key for metadata to retrieve
+ * @param targets context (decorated objects) to retrieve metadata from
+ *
+ */
+ getAllAndMerge(metadataKeyOrDecorator, targets) {
+ const metadataCollection = this.getAll(metadataKeyOrDecorator, targets).filter((item) => item !== void 0);
+ if (isEmptyArray(metadataCollection)) {
+ return metadataCollection;
+ }
+ if (metadataCollection.length === 1) {
+ const value = metadataCollection[0];
+ if (isObject(value)) {
+ return value;
+ }
+ return metadataCollection;
+ }
+ return metadataCollection.reduce((a, b) => {
+ if (Array.isArray(a)) {
+ return a.concat(b);
+ }
+ if (isObject(a) && isObject(b)) {
+ return {
+ ...a,
+ ...b
+ };
+ }
+ return [a, b];
+ });
+ }
+ /**
+ * Retrieve metadata for a specified key or decorator for a specified set of targets and return a first not undefined value.
+ *
+ * @param metadataKeyOrDecorator lookup key or metadata for metadata to retrieve
+ * @param targets context (decorated objects) to retrieve metadata from
+ *
+ */
+ getAllAndOverride(metadataKeyOrDecorator, targets) {
+ for (const target of targets) {
+ const result = this.get(metadataKeyOrDecorator, target);
+ if (result !== void 0) {
+ return result;
+ }
+ }
+ return void 0;
+ }
+ };
+ }
+});
+
+// ../../node_modules/.pnpm/@nestjs+core@12.2.0_@nestjs_74b3aa22af8a41de6299655ec5713214/node_modules/@nestjs/core/inspector/serialized-graph.js
+var SerializedGraph;
+var init_serialized_graph = __esm({
+ "../../node_modules/.pnpm/@nestjs+core@12.2.0_@nestjs_74b3aa22af8a41de6299655ec5713214/node_modules/@nestjs/core/inspector/serialized-graph.js"() {
+ init_application_config();
+ init_external_context_creator();
+ init_http_adapter_host();
+ init_inquirer_constants();
+ init_lazy_module_loader();
+ init_module_ref();
+ init_modules_container();
+ init_request_constants();
+ init_reflector_service();
+ init_deterministic_uuid_registry();
+ SerializedGraph = class _SerializedGraph {
+ static {
+ __name(this, "SerializedGraph");
+ }
+ nodes = /* @__PURE__ */ new Map();
+ edges = /* @__PURE__ */ new Map();
+ entrypoints = /* @__PURE__ */ new Map();
+ extras = {
+ orphanedEnhancers: [],
+ attachedEnhancers: []
+ };
+ _status = "complete";
+ _metadata;
+ static INTERNAL_PROVIDERS = [
+ ApplicationConfig,
+ ModuleRef,
+ HttpAdapterHost,
+ LazyModuleLoader,
+ ExternalContextCreator,
+ ModulesContainer,
+ Reflector,
+ _SerializedGraph,
+ HttpAdapterHost.name,
+ Reflector.name,
+ REQUEST,
+ INQUIRER
+ ];
+ set status(status) {
+ this._status = status;
+ }
+ set metadata(metadata) {
+ this._metadata = metadata;
+ }
+ insertNode(nodeDefinition) {
+ if (nodeDefinition.metadata.type === "provider" && _SerializedGraph.INTERNAL_PROVIDERS.includes(nodeDefinition.metadata.token)) {
+ nodeDefinition.metadata = {
+ ...nodeDefinition.metadata,
+ internal: true
+ };
+ }
+ if (this.nodes.has(nodeDefinition.id)) {
+ return this.nodes.get(nodeDefinition.id);
+ }
+ this.nodes.set(nodeDefinition.id, nodeDefinition);
+ return nodeDefinition;
+ }
+ insertEdge(edgeDefinition) {
+ if (edgeDefinition.metadata.type === "class-to-class" && (_SerializedGraph.INTERNAL_PROVIDERS.includes(edgeDefinition.metadata.sourceClassToken) || _SerializedGraph.INTERNAL_PROVIDERS.includes(edgeDefinition.metadata.targetClassToken))) {
+ edgeDefinition.metadata = {
+ ...edgeDefinition.metadata,
+ internal: true
+ };
+ }
+ const id = edgeDefinition.id ?? this.generateUuidByEdgeDefinition(edgeDefinition);
+ const edge = {
+ ...edgeDefinition,
+ id
+ };
+ this.edges.set(id, edge);
+ return edge;
+ }
+ insertEntrypoint(definition, parentId) {
+ if (this.entrypoints.has(parentId)) {
+ const existingCollection = this.entrypoints.get(parentId);
+ existingCollection.push(definition);
+ } else {
+ this.entrypoints.set(parentId, [definition]);
+ }
+ }
+ insertOrphanedEnhancer(entry) {
+ this.extras.orphanedEnhancers.push(entry);
+ }
+ insertAttachedEnhancer(nodeId) {
+ this.extras.attachedEnhancers.push({
+ nodeId
+ });
+ }
+ getNodeById(id) {
+ return this.nodes.get(id);
+ }
+ toJSON() {
+ const json = {
+ nodes: Object.fromEntries(this.nodes),
+ edges: Object.fromEntries(this.edges),
+ entrypoints: Object.fromEntries(this.entrypoints),
+ extras: this.extras
+ };
+ if (this._status) {
+ json["status"] = this._status;
+ }
+ if (this._metadata) {
+ json["metadata"] = this._metadata;
+ }
+ return json;
+ }
+ toString() {
+ const replacer = /* @__PURE__ */ __name((key, value) => {
+ if (typeof value === "symbol") {
+ return value.toString();
+ }
+ return typeof value === "function" ? value.name ?? "Function" : value;
+ }, "replacer");
+ return JSON.stringify(this.toJSON(), replacer, 2);
+ }
+ generateUuidByEdgeDefinition(edgeDefinition) {
+ return DeterministicUuidRegistry.get(JSON.stringify(edgeDefinition));
+ }
+ };
+ }
+});
+
+// ../../node_modules/.pnpm/@nestjs+core@12.2.0_@nestjs_74b3aa22af8a41de6299655ec5713214/node_modules/@nestjs/core/injector/compiler.js
+var ModuleCompiler;
+var init_compiler = __esm({
+ "../../node_modules/.pnpm/@nestjs+core@12.2.0_@nestjs_74b3aa22af8a41de6299655ec5713214/node_modules/@nestjs/core/injector/compiler.js"() {
+ ModuleCompiler = class {
+ static {
+ __name(this, "ModuleCompiler");
+ }
+ _moduleOpaqueKeyFactory;
+ constructor(_moduleOpaqueKeyFactory) {
+ this._moduleOpaqueKeyFactory = _moduleOpaqueKeyFactory;
+ }
+ get moduleOpaqueKeyFactory() {
+ return this._moduleOpaqueKeyFactory;
+ }
+ async compile(moduleClsOrDynamic) {
+ moduleClsOrDynamic = await moduleClsOrDynamic;
+ const { type, dynamicMetadata } = this.extractMetadata(moduleClsOrDynamic);
+ const token = dynamicMetadata ? this._moduleOpaqueKeyFactory.createForDynamic(type, dynamicMetadata, moduleClsOrDynamic) : this._moduleOpaqueKeyFactory.createForStatic(type, moduleClsOrDynamic);
+ return { type, dynamicMetadata, token };
+ }
+ extractMetadata(moduleClsOrDynamic) {
+ if (!this.isDynamicModule(moduleClsOrDynamic)) {
+ return {
+ type: moduleClsOrDynamic?.forwardRef ? moduleClsOrDynamic.forwardRef() : moduleClsOrDynamic,
+ dynamicMetadata: void 0
+ };
+ }
+ const { module: type, ...dynamicMetadata } = moduleClsOrDynamic;
+ return { type, dynamicMetadata };
+ }
+ isDynamicModule(moduleClsOrDynamic) {
+ return !!moduleClsOrDynamic.module;
+ }
+ };
+ }
+});
+
+// ../../node_modules/.pnpm/@nestjs+core@12.2.0_@nestjs_74b3aa22af8a41de6299655ec5713214/node_modules/@nestjs/core/router/request/request-providers.js
+var noop2, requestProvider;
+var init_request_providers = __esm({
+ "../../node_modules/.pnpm/@nestjs+core@12.2.0_@nestjs_74b3aa22af8a41de6299655ec5713214/node_modules/@nestjs/core/router/request/request-providers.js"() {
+ init_common();
+ init_request_constants();
+ noop2 = /* @__PURE__ */ __name(() => {
+ }, "noop");
+ requestProvider = {
+ provide: REQUEST,
+ scope: Scope.REQUEST,
+ useFactory: noop2
+ };
+ }
+});
+
+// ../../node_modules/.pnpm/@nestjs+core@12.2.0_@nestjs_74b3aa22af8a41de6299655ec5713214/node_modules/@nestjs/core/services/index.js
+var init_services = __esm({
+ "../../node_modules/.pnpm/@nestjs+core@12.2.0_@nestjs_74b3aa22af8a41de6299655ec5713214/node_modules/@nestjs/core/services/index.js"() {
+ init_reflector_service();
+ }
+});
+
+// ../../node_modules/.pnpm/@nestjs+core@12.2.0_@nestjs_74b3aa22af8a41de6299655ec5713214/node_modules/@nestjs/core/injector/inquirer/inquirer-providers.js
+var noop3, inquirerProvider;
+var init_inquirer_providers = __esm({
+ "../../node_modules/.pnpm/@nestjs+core@12.2.0_@nestjs_74b3aa22af8a41de6299655ec5713214/node_modules/@nestjs/core/injector/inquirer/inquirer-providers.js"() {
+ init_common();
+ init_inquirer_constants();
+ noop3 = /* @__PURE__ */ __name(() => {
+ }, "noop");
+ inquirerProvider = {
+ provide: INQUIRER,
+ scope: Scope.TRANSIENT,
+ useFactory: noop3
+ };
+ }
+});
+
+// ../../node_modules/.pnpm/@nestjs+core@12.2.0_@nestjs_74b3aa22af8a41de6299655ec5713214/node_modules/@nestjs/core/injector/internal-core-module/internal-core-module.js
+var InternalCoreModule_1, ReflectorAliasProvider, InternalCoreModule;
+var init_internal_core_module = __esm({
+ "../../node_modules/.pnpm/@nestjs+core@12.2.0_@nestjs_74b3aa22af8a41de6299655ec5713214/node_modules/@nestjs/core/injector/internal-core-module/internal-core-module.js"() {
+ init_tslib_es6();
+ init_common();
+ init_request_providers();
+ init_services();
+ init_inquirer_providers();
+ ReflectorAliasProvider = {
+ provide: Reflector.name,
+ useExisting: Reflector
+ };
+ InternalCoreModule = InternalCoreModule_1 = class InternalCoreModule2 {
+ static {
+ __name(this, "InternalCoreModule");
+ }
+ static register(providers) {
+ return {
+ module: InternalCoreModule_1,
+ providers: [...providers],
+ exports: [...providers.map((item) => item.provide)]
+ };
+ }
+ };
+ InternalCoreModule = InternalCoreModule_1 = __decorate([
+ Global(),
+ Module({
+ providers: [
+ Reflector,
+ ReflectorAliasProvider,
+ requestProvider,
+ inquirerProvider
+ ],
+ exports: [
+ Reflector,
+ ReflectorAliasProvider,
+ requestProvider,
+ inquirerProvider
+ ]
+ })
+ ], InternalCoreModule);
+ }
+});
+
+// ../../node_modules/.pnpm/@nestjs+core@12.2.0_@nestjs_74b3aa22af8a41de6299655ec5713214/node_modules/@nestjs/core/injector/internal-providers-storage.js
+var InternalProvidersStorage;
+var init_internal_providers_storage = __esm({
+ "../../node_modules/.pnpm/@nestjs+core@12.2.0_@nestjs_74b3aa22af8a41de6299655ec5713214/node_modules/@nestjs/core/injector/internal-providers-storage.js"() {
+ init_http_adapter_host();
+ InternalProvidersStorage = class {
+ static {
+ __name(this, "InternalProvidersStorage");
+ }
+ _httpAdapterHost = new HttpAdapterHost();
+ _httpAdapter;
+ get httpAdapterHost() {
+ return this._httpAdapterHost;
+ }
+ get httpAdapter() {
+ return this._httpAdapter;
+ }
+ set httpAdapter(httpAdapter) {
+ this._httpAdapter = httpAdapter;
+ }
+ };
+ }
+});
+
+// ../../node_modules/.pnpm/@nestjs+core@12.2.0_@nestjs_74b3aa22af8a41de6299655ec5713214/node_modules/@nestjs/core/errors/exceptions/invalid-provider.exception.js
+var InvalidProviderException;
+var init_invalid_provider_exception = __esm({
+ "../../node_modules/.pnpm/@nestjs+core@12.2.0_@nestjs_74b3aa22af8a41de6299655ec5713214/node_modules/@nestjs/core/errors/exceptions/invalid-provider.exception.js"() {
+ init_messages();
+ init_runtime_exception();
+ InvalidProviderException = class extends RuntimeException {
+ static {
+ __name(this, "InvalidProviderException");
+ }
+ constructor(token, moduleName) {
+ super(INVALID_PROVIDER_MESSAGE(token, moduleName));
+ }
+ };
+ }
+});
+
+// ../../node_modules/.pnpm/@nestjs+core@12.2.0_@nestjs_74b3aa22af8a41de6299655ec5713214/node_modules/@nestjs/core/injector/module.js
+var import_iterare8, Module2;
+var init_module = __esm({
+ "../../node_modules/.pnpm/@nestjs+core@12.2.0_@nestjs_74b3aa22af8a41de6299655ec5713214/node_modules/@nestjs/core/injector/module.js"() {
+ import_iterare8 = __toESM(require_lib(), 1);
+ init_application_config();
+ init_exceptions2();
+ init_invalid_provider_exception();
+ init_context_id_factory();
+ init_get_class_scope();
+ init_is_durable();
+ init_safe_instance_decorator();
+ init_uuid_factory();
+ init_constants3();
+ init_instance_wrapper();
+ init_module_ref();
+ init_internal();
+ init_common();
+ Module2 = class {
+ static {
+ __name(this, "Module");
+ }
+ _metatype;
+ container;
+ _id;
+ _imports = /* @__PURE__ */ new Set();
+ _providers = /* @__PURE__ */ new Map();
+ _injectables = /* @__PURE__ */ new Map();
+ _middlewares = /* @__PURE__ */ new Map();
+ _controllers = /* @__PURE__ */ new Map();
+ _entryProviderKeys = /* @__PURE__ */ new Set();
+ _exports = /* @__PURE__ */ new Set();
+ _distance = 0;
+ _initOnPreview = false;
+ _isGlobal = false;
+ _token;
+ constructor(_metatype, container) {
+ this._metatype = _metatype;
+ this.container = container;
+ this.addCoreProviders();
+ this._id = this.generateUuid();
+ }
+ get id() {
+ return this._id;
+ }
+ get token() {
+ return this._token;
+ }
+ set token(token) {
+ this._token = token;
+ }
+ get name() {
+ return this.metatype.name;
+ }
+ get isGlobal() {
+ return this._isGlobal;
+ }
+ set isGlobal(global2) {
+ this._isGlobal = global2;
+ }
+ get initOnPreview() {
+ return this._initOnPreview;
+ }
+ set initOnPreview(initOnPreview) {
+ this._initOnPreview = initOnPreview;
+ }
+ get providers() {
+ return this._providers;
+ }
+ get middlewares() {
+ return this._middlewares;
+ }
+ get imports() {
+ return this._imports;
+ }
+ get injectables() {
+ return this._injectables;
+ }
+ get controllers() {
+ return this._controllers;
+ }
+ get entryProviders() {
+ return Array.from(this._entryProviderKeys).map((token) => this.providers.get(token));
+ }
+ get exports() {
+ return this._exports;
+ }
+ get instance() {
+ if (!this._providers.has(this._metatype)) {
+ throw new RuntimeException();
+ }
+ const moduleRef = this._providers.get(this._metatype);
+ return moduleRef.instance;
+ }
+ /**
+ * Modules are registered in the container before they are scanned (dynamic
+ * `imports` are pre-registered by `NestContainer#addDynamicMetadata`), so
+ * registration alone does not imply the module was ever instantiated.
+ */
+ get isInstantiated() {
+ return !isNil(this._providers.get(this._metatype)?.instance);
+ }
+ get metatype() {
+ return this._metatype;
+ }
+ get distance() {
+ return this._distance;
+ }
+ set distance(value) {
+ this._distance = value;
+ }
+ addCoreProviders() {
+ this.addModuleAsProvider();
+ this.addModuleRef();
+ this.addApplicationConfig();
+ }
+ addModuleRef() {
+ const moduleRef = this.createModuleReferenceType();
+ this._providers.set(ModuleRef, new InstanceWrapper({
+ token: ModuleRef,
+ name: ModuleRef.name,
+ metatype: ModuleRef,
+ isResolved: true,
+ instance: new moduleRef(),
+ host: this
+ }));
+ }
+ addModuleAsProvider() {
+ this._providers.set(this._metatype, new InstanceWrapper({
+ token: this._metatype,
+ name: this._metatype.name,
+ metatype: this._metatype,
+ isResolved: false,
+ instance: null,
+ host: this
+ }));
+ }
+ addApplicationConfig() {
+ this._providers.set(ApplicationConfig, new InstanceWrapper({
+ token: ApplicationConfig,
+ name: ApplicationConfig.name,
+ isResolved: true,
+ instance: this.container.applicationConfig,
+ host: this
+ }));
+ }
+ addInjectable(injectable, enhancerSubtype, host) {
+ if (this.isCustomProvider(injectable)) {
+ return this.addCustomProvider(injectable, this._injectables, enhancerSubtype);
+ }
+ let instanceWrapper = this.injectables.get(injectable);
+ if (!instanceWrapper) {
+ instanceWrapper = new InstanceWrapper({
+ token: injectable,
+ name: injectable.name,
+ metatype: injectable,
+ instance: null,
+ isResolved: false,
+ scope: getClassScope(injectable),
+ durable: isDurable(injectable),
+ subtype: enhancerSubtype,
+ host: this
+ });
+ this._injectables.set(injectable, instanceWrapper);
+ }
+ if (host) {
+ const hostWrapper = this._controllers.get(host) || this._providers.get(host);
+ hostWrapper && hostWrapper.addEnhancerMetadata(instanceWrapper);
+ }
+ return instanceWrapper;
+ }
+ addProvider(provider, enhancerSubtype) {
+ if (this.isCustomProvider(provider)) {
+ if (this.isEntryProvider(provider.provide) || this.isEntryProvider(provider.useClass)) {
+ this._entryProviderKeys.add(provider.provide);
+ }
+ return this.addCustomProvider(provider, this._providers, enhancerSubtype);
+ }
+ const isAlreadyDeclared = this._providers.has(provider);
+ if ((this.isTransientProvider(provider) || this.isRequestScopeProvider(provider)) && isAlreadyDeclared) {
+ return provider;
+ }
+ this._providers.set(provider, new InstanceWrapper({
+ token: provider,
+ name: provider.name,
+ metatype: provider,
+ instance: null,
+ isResolved: false,
+ scope: getClassScope(provider),
+ durable: isDurable(provider),
+ host: this
+ }));
+ if (this.isEntryProvider(provider)) {
+ this._entryProviderKeys.add(provider);
+ }
+ return provider;
+ }
+ isCustomProvider(provider) {
+ return !isNil(provider.provide);
+ }
+ addCustomProvider(provider, collection, enhancerSubtype) {
+ if (this.isCustomClass(provider)) {
+ this.addCustomClass(provider, collection, enhancerSubtype);
+ } else if (this.isCustomValue(provider)) {
+ this.addCustomValue(provider, collection, enhancerSubtype);
+ } else if (this.isCustomFactory(provider)) {
+ this.addCustomFactory(provider, collection, enhancerSubtype);
+ } else if (this.isCustomUseExisting(provider)) {
+ this.addCustomUseExisting(provider, collection, enhancerSubtype);
+ } else {
+ throw new InvalidProviderException(provider.provide, this.name);
+ }
+ return provider.provide;
+ }
+ isCustomClass(provider) {
+ return !isNil(provider.useClass);
+ }
+ isCustomValue(provider) {
+ return isObject(provider) && Object.hasOwn(provider, "useValue");
+ }
+ isCustomFactory(provider) {
+ return !isNil(provider.useFactory);
+ }
+ isCustomUseExisting(provider) {
+ return !isNil(provider.useExisting);
+ }
+ isDynamicModule(exported) {
+ return exported && exported.module;
+ }
+ addCustomClass(provider, collection, enhancerSubtype) {
+ let { scope, durable } = provider;
+ const { useClass } = provider;
+ if (isUndefined(scope)) {
+ scope = getClassScope(useClass);
+ }
+ if (isUndefined(durable)) {
+ durable = isDurable(useClass);
+ }
+ const token = provider.provide;
+ collection.set(token, new InstanceWrapper({
+ token,
+ name: useClass?.name || useClass,
+ metatype: useClass,
+ instance: null,
+ isResolved: false,
+ scope,
+ durable,
+ host: this,
+ subtype: enhancerSubtype
+ }));
+ }
+ addCustomValue(provider, collection, enhancerSubtype) {
+ const { useValue: value, provide: providerToken } = provider;
+ const instanceDecorator = this.container.contextOptions?.instrument?.instanceDecorator;
+ collection.set(providerToken, new InstanceWrapper({
+ token: providerToken,
+ name: providerToken?.name || providerToken,
+ metatype: null,
+ instance: instanceDecorator ? makeSafeInstanceDecorator(instanceDecorator)(value) : value,
+ isResolved: true,
+ async: value instanceof Promise,
+ host: this,
+ subtype: enhancerSubtype
+ }));
+ }
+ addCustomFactory(provider, collection, enhancerSubtype) {
+ const { useFactory: factory, inject, scope, durable, provide: providerToken } = provider;
+ collection.set(providerToken, new InstanceWrapper({
+ token: providerToken,
+ name: providerToken?.name || providerToken,
+ metatype: factory,
+ instance: null,
+ isResolved: false,
+ inject: inject || [],
+ scope,
+ durable,
+ host: this,
+ subtype: enhancerSubtype
+ }));
+ }
+ addCustomUseExisting(provider, collection, enhancerSubtype) {
+ const { useExisting, provide: providerToken } = provider;
+ collection.set(providerToken, new InstanceWrapper({
+ token: providerToken,
+ name: providerToken?.name || providerToken,
+ metatype: /* @__PURE__ */ __name(((instance) => instance), "metatype"),
+ instance: null,
+ isResolved: false,
+ inject: [useExisting],
+ host: this,
+ isAlias: true,
+ subtype: enhancerSubtype
+ }));
+ }
+ addExportedProviderOrModule(toExport) {
+ const addExportedUnit = /* @__PURE__ */ __name((token) => this._exports.add(this.validateExportedProvider(token)), "addExportedUnit");
+ if (this.isCustomProvider(toExport)) {
+ return this.addCustomExportedProvider(toExport);
+ } else if (isString(toExport) || isSymbol(toExport)) {
+ return addExportedUnit(toExport);
+ } else if (this.isDynamicModule(toExport)) {
+ const { module: moduleClassRef } = toExport;
+ return addExportedUnit(moduleClassRef);
+ }
+ addExportedUnit(toExport);
+ }
+ addCustomExportedProvider(provider) {
+ const provide = provider.provide;
+ if (isString(provide) || isSymbol(provide)) {
+ return this._exports.add(this.validateExportedProvider(provide));
+ }
+ this._exports.add(this.validateExportedProvider(provide));
+ }
+ validateExportedProvider(token) {
+ if (this._providers.has(token)) {
+ return token;
+ }
+ const imports = (0, import_iterare8.iterate)(this._imports.values()).filter((item) => !!item).map(({ metatype }) => metatype).filter((metatype) => !!metatype).toArray();
+ if (!imports.includes(token)) {
+ const { name } = this.metatype;
+ const providerName = isFunction(token) ? token.name : token;
+ throw new UnknownExportException(providerName, name);
+ }
+ return token;
+ }
+ addController(controller) {
+ this._controllers.set(controller, new InstanceWrapper({
+ token: controller,
+ name: controller.name,
+ metatype: controller,
+ instance: null,
+ isResolved: false,
+ scope: getClassScope(controller),
+ durable: isDurable(controller),
+ host: this
+ }));
+ this.assignControllerUniqueId(controller);
+ }
+ assignControllerUniqueId(controller) {
+ Object.defineProperty(controller, CONTROLLER_ID_KEY, {
+ enumerable: false,
+ writable: false,
+ configurable: true,
+ value: randomStringGenerator()
+ });
+ }
+ addImport(moduleRef) {
+ this._imports.add(moduleRef);
+ }
+ replace(toReplace, options) {
+ if (options.isProvider && this.hasProvider(toReplace)) {
+ const originalProvider = this._providers.get(toReplace);
+ return originalProvider.mergeWith({ provide: toReplace, ...options });
+ } else if (!options.isProvider && this.hasInjectable(toReplace)) {
+ const originalInjectable = this._injectables.get(toReplace);
+ return originalInjectable.mergeWith({
+ provide: toReplace,
+ ...options
+ });
+ }
+ }
+ hasProvider(token) {
+ return this._providers.has(token);
+ }
+ hasInjectable(token) {
+ return this._injectables.has(token);
+ }
+ getProviderByKey(name) {
+ return this._providers.get(name);
+ }
+ getProviderById(id) {
+ for (const item of this._providers.values()) {
+ if (item.id === id)
+ return item;
+ }
+ return void 0;
+ }
+ getControllerById(id) {
+ for (const item of this._controllers.values()) {
+ if (item.id === id)
+ return item;
+ }
+ return void 0;
+ }
+ getInjectableById(id) {
+ for (const item of this._injectables.values()) {
+ if (item.id === id)
+ return item;
+ }
+ return void 0;
+ }
+ getMiddlewareById(id) {
+ for (const item of this._middlewares.values()) {
+ if (item.id === id)
+ return item;
+ }
+ return void 0;
+ }
+ getNonAliasProviders() {
+ return [...this._providers].filter(([_, wrapper]) => !wrapper.isAlias);
+ }
+ createModuleReferenceType() {
+ const self = this;
+ return class extends ModuleRef {
+ constructor() {
+ super(self.container);
+ }
+ get(typeOrToken, options = {}) {
+ options.strict ??= true;
+ options.each ??= false;
+ return this.find(typeOrToken, options.strict ? {
+ moduleId: self.id,
+ each: options.each
+ } : options);
+ }
+ resolve(typeOrToken, contextId = createContextId(), options = {}) {
+ options.strict ??= true;
+ options.each ??= false;
+ return this.resolvePerContext(typeOrToken, self, contextId, options);
+ }
+ async create(type, contextId) {
+ if (!(type && isFunction(type) && type.prototype)) {
+ throw new InvalidClassException(type);
+ }
+ return this.instantiateClass(type, self, contextId);
+ }
+ };
+ }
+ isEntryProvider(metatype) {
+ return typeof metatype === "function" ? !!Reflect.getMetadata(ENTRY_PROVIDER_WATERMARK, metatype) : false;
+ }
+ generateUuid() {
+ const prefix = "M_";
+ const key = this.token ? this.token.includes(":") ? this.token.split(":")[1] : this.token : this.name;
+ return key ? UuidFactory.get(`${prefix}_${key}`) : randomStringGenerator();
+ }
+ isTransientProvider(provider) {
+ return getClassScope(provider) === Scope.TRANSIENT;
+ }
+ isRequestScopeProvider(provider) {
+ return getClassScope(provider) === Scope.REQUEST;
+ }
+ };
+ }
+});
+
+// ../../node_modules/.pnpm/@nestjs+core@12.2.0_@nestjs_74b3aa22af8a41de6299655ec5713214/node_modules/@nestjs/core/injector/opaque-key-factory/by-reference-module-opaque-key-factory.js
+import { createHash } from "crypto";
+var K_MODULE_ID, ByReferenceModuleOpaqueKeyFactory;
+var init_by_reference_module_opaque_key_factory = __esm({
+ "../../node_modules/.pnpm/@nestjs+core@12.2.0_@nestjs_74b3aa22af8a41de6299655ec5713214/node_modules/@nestjs/core/injector/opaque-key-factory/by-reference-module-opaque-key-factory.js"() {
+ init_internal();
+ K_MODULE_ID = /* @__PURE__ */ Symbol("K_MODULE_ID");
+ ByReferenceModuleOpaqueKeyFactory = class {
+ static {
+ __name(this, "ByReferenceModuleOpaqueKeyFactory");
+ }
+ keyGenerationStrategy;
+ constructor(options) {
+ this.keyGenerationStrategy = options?.keyGenerationStrategy ?? "random";
+ }
+ createForStatic(moduleCls, originalRef = moduleCls) {
+ return this.getOrCreateModuleId(moduleCls, void 0, originalRef);
+ }
+ createForDynamic(moduleCls, dynamicMetadata, originalRef) {
+ return this.getOrCreateModuleId(moduleCls, dynamicMetadata, originalRef);
+ }
+ getOrCreateModuleId(moduleCls, dynamicMetadata, originalRef) {
+ if (Object.prototype.hasOwnProperty.call(originalRef, K_MODULE_ID)) {
+ return originalRef[K_MODULE_ID];
+ }
+ let moduleId;
+ if (this.keyGenerationStrategy === "random") {
+ moduleId = this.generateRandomString();
+ } else {
+ const delimiter = ":";
+ moduleId = dynamicMetadata ? `${this.generateRandomString()}${delimiter}${this.hashString(moduleCls.name + JSON.stringify(dynamicMetadata))}` : `${this.generateRandomString()}${delimiter}${this.hashString(moduleCls.toString())}`;
+ }
+ originalRef[K_MODULE_ID] = moduleId;
+ return moduleId;
+ }
+ hashString(value) {
+ return createHash("sha256").update(value).digest("hex");
+ }
+ generateRandomString() {
+ return randomStringGenerator();
+ }
+ };
+ }
+});
+
+// ../../node_modules/.pnpm/fast-safe-stringify@2.1.1/node_modules/fast-safe-stringify/index.js
+var require_fast_safe_stringify = __commonJS({
+ "../../node_modules/.pnpm/fast-safe-stringify@2.1.1/node_modules/fast-safe-stringify/index.js"(exports, module) {
+ module.exports = stringify2;
+ stringify2.default = stringify2;
+ stringify2.stable = deterministicStringify;
+ stringify2.stableStringify = deterministicStringify;
+ var LIMIT_REPLACE_NODE = "[...]";
+ var CIRCULAR_REPLACE_NODE = "[Circular]";
+ var arr = [];
+ var replacerStack = [];
+ function defaultOptions() {
+ return {
+ depthLimit: Number.MAX_SAFE_INTEGER,
+ edgesLimit: Number.MAX_SAFE_INTEGER
+ };
+ }
+ __name(defaultOptions, "defaultOptions");
+ function stringify2(obj, replacer, spacer, options) {
+ if (typeof options === "undefined") {
+ options = defaultOptions();
+ }
+ decirc(obj, "", 0, [], void 0, 0, options);
+ var res;
+ try {
+ if (replacerStack.length === 0) {
+ res = JSON.stringify(obj, replacer, spacer);
+ } else {
+ res = JSON.stringify(obj, replaceGetterValues(replacer), spacer);
+ }
+ } catch (_) {
+ return JSON.stringify("[unable to serialize, circular reference is too complex to analyze]");
+ } finally {
+ while (arr.length !== 0) {
+ var part = arr.pop();
+ if (part.length === 4) {
+ Object.defineProperty(part[0], part[1], part[3]);
+ } else {
+ part[0][part[1]] = part[2];
+ }
+ }
+ }
+ return res;
+ }
+ __name(stringify2, "stringify");
+ function setReplace(replace, val, k, parent) {
+ var propertyDescriptor = Object.getOwnPropertyDescriptor(parent, k);
+ if (propertyDescriptor.get !== void 0) {
+ if (propertyDescriptor.configurable) {
+ Object.defineProperty(parent, k, { value: replace });
+ arr.push([parent, k, val, propertyDescriptor]);
+ } else {
+ replacerStack.push([val, k, replace]);
+ }
+ } else {
+ parent[k] = replace;
+ arr.push([parent, k, val]);
+ }
+ }
+ __name(setReplace, "setReplace");
+ function decirc(val, k, edgeIndex, stack, parent, depth, options) {
+ depth += 1;
+ var i;
+ if (typeof val === "object" && val !== null) {
+ for (i = 0; i < stack.length; i++) {
+ if (stack[i] === val) {
+ setReplace(CIRCULAR_REPLACE_NODE, val, k, parent);
+ return;
+ }
+ }
+ if (typeof options.depthLimit !== "undefined" && depth > options.depthLimit) {
+ setReplace(LIMIT_REPLACE_NODE, val, k, parent);
+ return;
+ }
+ if (typeof options.edgesLimit !== "undefined" && edgeIndex + 1 > options.edgesLimit) {
+ setReplace(LIMIT_REPLACE_NODE, val, k, parent);
+ return;
+ }
+ stack.push(val);
+ if (Array.isArray(val)) {
+ for (i = 0; i < val.length; i++) {
+ decirc(val[i], i, i, stack, val, depth, options);
+ }
+ } else {
+ var keys = Object.keys(val);
+ for (i = 0; i < keys.length; i++) {
+ var key = keys[i];
+ decirc(val[key], key, i, stack, val, depth, options);
+ }
+ }
+ stack.pop();
+ }
+ }
+ __name(decirc, "decirc");
+ function compareFunction(a, b) {
+ if (a < b) {
+ return -1;
+ }
+ if (a > b) {
+ return 1;
+ }
+ return 0;
+ }
+ __name(compareFunction, "compareFunction");
+ function deterministicStringify(obj, replacer, spacer, options) {
+ if (typeof options === "undefined") {
+ options = defaultOptions();
+ }
+ var tmp = deterministicDecirc(obj, "", 0, [], void 0, 0, options) || obj;
+ var res;
+ try {
+ if (replacerStack.length === 0) {
+ res = JSON.stringify(tmp, replacer, spacer);
+ } else {
+ res = JSON.stringify(tmp, replaceGetterValues(replacer), spacer);
+ }
+ } catch (_) {
+ return JSON.stringify("[unable to serialize, circular reference is too complex to analyze]");
+ } finally {
+ while (arr.length !== 0) {
+ var part = arr.pop();
+ if (part.length === 4) {
+ Object.defineProperty(part[0], part[1], part[3]);
+ } else {
+ part[0][part[1]] = part[2];
+ }
+ }
+ }
+ return res;
+ }
+ __name(deterministicStringify, "deterministicStringify");
+ function deterministicDecirc(val, k, edgeIndex, stack, parent, depth, options) {
+ depth += 1;
+ var i;
+ if (typeof val === "object" && val !== null) {
+ for (i = 0; i < stack.length; i++) {
+ if (stack[i] === val) {
+ setReplace(CIRCULAR_REPLACE_NODE, val, k, parent);
+ return;
+ }
+ }
+ try {
+ if (typeof val.toJSON === "function") {
+ return;
+ }
+ } catch (_) {
+ return;
+ }
+ if (typeof options.depthLimit !== "undefined" && depth > options.depthLimit) {
+ setReplace(LIMIT_REPLACE_NODE, val, k, parent);
+ return;
+ }
+ if (typeof options.edgesLimit !== "undefined" && edgeIndex + 1 > options.edgesLimit) {
+ setReplace(LIMIT_REPLACE_NODE, val, k, parent);
+ return;
+ }
+ stack.push(val);
+ if (Array.isArray(val)) {
+ for (i = 0; i < val.length; i++) {
+ deterministicDecirc(val[i], i, i, stack, val, depth, options);
+ }
+ } else {
+ var tmp = {};
+ var keys = Object.keys(val).sort(compareFunction);
+ for (i = 0; i < keys.length; i++) {
+ var key = keys[i];
+ deterministicDecirc(val[key], key, i, stack, val, depth, options);
+ tmp[key] = val[key];
+ }
+ if (typeof parent !== "undefined") {
+ arr.push([parent, k, val]);
+ parent[k] = tmp;
+ } else {
+ return tmp;
+ }
+ }
+ stack.pop();
+ }
+ }
+ __name(deterministicDecirc, "deterministicDecirc");
+ function replaceGetterValues(replacer) {
+ replacer = typeof replacer !== "undefined" ? replacer : function(k, v) {
+ return v;
+ };
+ return function(key, val) {
+ if (replacerStack.length > 0) {
+ for (var i = 0; i < replacerStack.length; i++) {
+ var part = replacerStack[i];
+ if (part[1] === key && part[0] === val) {
+ val = part[2];
+ replacerStack.splice(i, 1);
+ break;
+ }
+ }
+ }
+ return replacer.call(this, key, val);
+ };
+ }
+ __name(replaceGetterValues, "replaceGetterValues");
+ }
+});
+
+// ../../node_modules/.pnpm/@nestjs+core@12.2.0_@nestjs_74b3aa22af8a41de6299655ec5713214/node_modules/@nestjs/core/injector/opaque-key-factory/deep-hashed-module-opaque-key-factory.js
+import { createHash as createHash2 } from "crypto";
+var import_fast_safe_stringify, stringify, UNSERIALIZABLE, CLASS_STR, CLASS_STR_LEN, DeepHashedModuleOpaqueKeyFactory;
+var init_deep_hashed_module_opaque_key_factory = __esm({
+ "../../node_modules/.pnpm/@nestjs+core@12.2.0_@nestjs_74b3aa22af8a41de6299655ec5713214/node_modules/@nestjs/core/injector/opaque-key-factory/deep-hashed-module-opaque-key-factory.js"() {
+ import_fast_safe_stringify = __toESM(require_fast_safe_stringify(), 1);
+ init_common();
+ init_internal();
+ stringify = import_fast_safe_stringify.default.default ?? import_fast_safe_stringify.default;
+ UNSERIALIZABLE = JSON.stringify("[unable to serialize, circular reference is too complex to analyze]");
+ CLASS_STR = "class ";
+ CLASS_STR_LEN = CLASS_STR.length;
+ DeepHashedModuleOpaqueKeyFactory = class _DeepHashedModuleOpaqueKeyFactory {
+ static {
+ __name(this, "DeepHashedModuleOpaqueKeyFactory");
+ }
+ moduleIdsCache = /* @__PURE__ */ new WeakMap();
+ moduleTokenCache = /* @__PURE__ */ new Map();
+ logger = new Logger(_DeepHashedModuleOpaqueKeyFactory.name, {
+ timestamp: true
+ });
+ createForStatic(moduleCls) {
+ const moduleId = this.getModuleId(moduleCls);
+ const moduleName = this.getModuleName(moduleCls);
+ const key = `${moduleId}_${moduleName}`;
+ if (this.moduleTokenCache.has(key)) {
+ return this.moduleTokenCache.get(key);
+ }
+ const hash = this.hashString(key);
+ this.moduleTokenCache.set(key, hash);
+ return hash;
+ }
+ createForDynamic(moduleCls, dynamicMetadata) {
+ const moduleId = this.getModuleId(moduleCls);
+ const moduleName = this.getModuleName(moduleCls);
+ const opaqueToken = {
+ id: moduleId,
+ module: moduleName,
+ dynamic: dynamicMetadata
+ };
+ const start = performance.now();
+ const opaqueTokenString = this.getStringifiedOpaqueToken(opaqueToken);
+ const timeSpentInMs = performance.now() - start;
+ if (timeSpentInMs > 10) {
+ const formattedTimeSpent = timeSpentInMs.toFixed(2);
+ this.logger.warn(`The module "${opaqueToken.module}" is taking ${formattedTimeSpent}ms to serialize, this may be caused by larger objects statically assigned to the module. Consider changing the "moduleIdGeneratorAlgorithm" option to "reference" to improve the performance.`);
+ }
+ return this.hashString(opaqueTokenString);
+ }
+ getStringifiedOpaqueToken(opaqueToken) {
+ if (!opaqueToken) {
+ return "";
+ }
+ const tokenString = stringify(opaqueToken, this.replacer);
+ if (tokenString !== UNSERIALIZABLE) {
+ return tokenString;
+ }
+ return stringify(opaqueToken, (key, value) => value instanceof Map || value instanceof Set ? {} : this.replacer(key, value));
+ }
+ getModuleId(metatype) {
+ let moduleId = this.moduleIdsCache.get(metatype);
+ if (moduleId) {
+ return moduleId;
+ }
+ moduleId = randomStringGenerator();
+ this.moduleIdsCache.set(metatype, moduleId);
+ return moduleId;
+ }
+ getModuleName(metatype) {
+ return metatype.name;
+ }
+ hashString(value) {
+ return createHash2("sha256").update(value).digest("hex");
+ }
+ replacer(key, value) {
+ if (isFunction(value)) {
+ const funcAsString = value.toString();
+ const isClass = funcAsString.slice(0, CLASS_STR_LEN) === CLASS_STR;
+ if (isClass) {
+ return value.name;
+ }
+ return funcAsString;
+ }
+ if (isSymbol(value)) {
+ return value.toString();
+ }
+ if (value instanceof Map) {
+ return { Map: [...value] };
+ }
+ if (value instanceof Set) {
+ return { Set: [...value] };
+ }
+ if (value instanceof RegExp) {
+ return { RegExp: value.toString() };
+ }
+ return value;
+ }
+ };
+ }
+});
+
+// ../../node_modules/.pnpm/@nestjs+core@12.2.0_@nestjs_74b3aa22af8a41de6299655ec5713214/node_modules/@nestjs/core/injector/container.js
+var NestContainer;
+var init_container = __esm({
+ "../../node_modules/.pnpm/@nestjs+core@12.2.0_@nestjs_74b3aa22af8a41de6299655ec5713214/node_modules/@nestjs/core/injector/container.js"() {
+ init_discoverable_meta_host_collection();
+ init_exceptions2();
+ init_initialize_on_preview_allowlist();
+ init_serialized_graph();
+ init_request_constants();
+ init_compiler();
+ init_internal_core_module();
+ init_internal_providers_storage();
+ init_module();
+ init_modules_container();
+ init_by_reference_module_opaque_key_factory();
+ init_deep_hashed_module_opaque_key_factory();
+ init_internal();
+ NestContainer = class {
+ static {
+ __name(this, "NestContainer");
+ }
+ _applicationConfig;
+ _contextOptions;
+ globalModules = /* @__PURE__ */ new Set();
+ modules = new ModulesContainer();
+ dynamicModulesMetadata = /* @__PURE__ */ new Map();
+ internalProvidersStorage = new InternalProvidersStorage();
+ _serializedGraph = new SerializedGraph();
+ moduleCompiler;
+ internalCoreModule;
+ constructor(_applicationConfig = void 0, _contextOptions = void 0) {
+ this._applicationConfig = _applicationConfig;
+ this._contextOptions = _contextOptions;
+ const moduleOpaqueKeyFactory = this._contextOptions?.moduleIdGeneratorAlgorithm === "deep-hash" ? new DeepHashedModuleOpaqueKeyFactory() : new ByReferenceModuleOpaqueKeyFactory({
+ keyGenerationStrategy: this._contextOptions?.snapshot ? "shallow" : "random"
+ });
+ this.moduleCompiler = new ModuleCompiler(moduleOpaqueKeyFactory);
+ }
+ get serializedGraph() {
+ return this._serializedGraph;
+ }
+ get applicationConfig() {
+ return this._applicationConfig;
+ }
+ get contextOptions() {
+ return this._contextOptions;
+ }
+ setHttpAdapter(httpAdapter) {
+ this.internalProvidersStorage.httpAdapter = httpAdapter;
+ if (!this.internalProvidersStorage.httpAdapterHost) {
+ return;
+ }
+ const host = this.internalProvidersStorage.httpAdapterHost;
+ host.httpAdapter = httpAdapter;
+ }
+ getHttpAdapterRef() {
+ return this.internalProvidersStorage.httpAdapter;
+ }
+ getHttpAdapterHostRef() {
+ return this.internalProvidersStorage.httpAdapterHost;
+ }
+ async addModule(metatype, scope) {
+ if (!metatype) {
+ throw new UndefinedForwardRefException(scope);
+ }
+ const { type, dynamicMetadata, token } = await this.moduleCompiler.compile(metatype);
+ if (this.modules.has(token)) {
+ return {
+ moduleRef: this.modules.get(token),
+ inserted: false
+ };
+ }
+ return {
+ moduleRef: await this.setModule({
+ token,
+ type,
+ dynamicMetadata
+ }, scope),
+ inserted: true
+ };
+ }
+ async replaceModule(metatypeToReplace, newMetatype, scope) {
+ if (!metatypeToReplace || !newMetatype) {
+ throw new UndefinedForwardRefException(scope);
+ }
+ const { token } = await this.moduleCompiler.compile(metatypeToReplace);
+ const { type, dynamicMetadata } = await this.moduleCompiler.compile(newMetatype);
+ return {
+ moduleRef: await this.setModule({
+ token,
+ type,
+ dynamicMetadata
+ }, scope),
+ inserted: true
+ };
+ }
+ async setModule({ token, dynamicMetadata, type }, scope) {
+ const moduleRef = new Module2(type, this);
+ moduleRef.token = token;
+ moduleRef.initOnPreview = this.shouldInitOnPreview(type);
+ this.modules.set(token, moduleRef);
+ const updatedScope = [].concat(scope, type);
+ await this.addDynamicMetadata(token, dynamicMetadata, updatedScope);
+ if (this.isGlobalModule(type, dynamicMetadata)) {
+ moduleRef.isGlobal = true;
+ moduleRef.distance = Number.MAX_VALUE;
+ this.addGlobalModule(moduleRef);
+ }
+ return moduleRef;
+ }
+ async addDynamicMetadata(token, dynamicModuleMetadata, scope) {
+ if (!dynamicModuleMetadata) {
+ return;
+ }
+ this.dynamicModulesMetadata.set(token, dynamicModuleMetadata);
+ const { imports } = dynamicModuleMetadata;
+ await this.addDynamicModules(imports, scope);
+ }
+ async addDynamicModules(modules, scope) {
+ if (!modules) {
+ return;
+ }
+ await Promise.all(modules.map((module) => this.addModule(module, scope)));
+ }
+ isGlobalModule(metatype, dynamicMetadata) {
+ if (dynamicMetadata && dynamicMetadata.global) {
+ return true;
+ }
+ return !!Reflect.getMetadata(GLOBAL_MODULE_METADATA, metatype);
+ }
+ addGlobalModule(module) {
+ this.globalModules.add(module);
+ }
+ getModules() {
+ return this.modules;
+ }
+ getModuleCompiler() {
+ return this.moduleCompiler;
+ }
+ getModuleByKey(moduleKey) {
+ return this.modules.get(moduleKey);
+ }
+ getInternalCoreModuleRef() {
+ return this.internalCoreModule;
+ }
+ async addImport(relatedModule, token) {
+ if (!this.modules.has(token)) {
+ return;
+ }
+ const moduleRef = this.modules.get(token);
+ const { token: relatedModuleToken } = await this.moduleCompiler.compile(relatedModule);
+ const related = this.modules.get(relatedModuleToken);
+ moduleRef.addImport(related);
+ }
+ addProvider(provider, token, enhancerSubtype) {
+ const moduleRef = this.modules.get(token);
+ if (!provider) {
+ throw new CircularDependencyException(moduleRef?.metatype.name);
+ }
+ if (!moduleRef) {
+ throw new UnknownModuleException();
+ }
+ const providerKey = moduleRef.addProvider(provider, enhancerSubtype);
+ const providerRef = moduleRef.getProviderByKey(providerKey);
+ DiscoverableMetaHostCollection.inspectProvider(this.modules, providerRef);
+ return providerKey;
+ }
+ addInjectable(injectable, token, enhancerSubtype, host) {
+ if (!this.modules.has(token)) {
+ throw new UnknownModuleException();
+ }
+ const moduleRef = this.modules.get(token);
+ return moduleRef.addInjectable(injectable, enhancerSubtype, host);
+ }
+ addExportedProviderOrModule(toExport, token) {
+ if (!this.modules.has(token)) {
+ throw new UnknownModuleException();
+ }
+ const moduleRef = this.modules.get(token);
+ if (isNil(toExport)) {
+ throw new CircularDependencyException(moduleRef.metatype.name);
+ }
+ moduleRef.addExportedProviderOrModule(toExport);
+ }
+ addController(controller, token) {
+ if (!this.modules.has(token)) {
+ throw new UnknownModuleException();
+ }
+ const moduleRef = this.modules.get(token);
+ if (isNil(controller)) {
+ throw new CircularDependencyException(moduleRef.metatype.name);
+ }
+ moduleRef.addController(controller);
+ const controllerRef = moduleRef.controllers.get(controller);
+ DiscoverableMetaHostCollection.inspectController(this.modules, controllerRef);
+ }
+ clear() {
+ this.modules.clear();
+ }
+ replace(toReplace, options) {
+ this.modules.forEach((moduleRef) => moduleRef.replace(toReplace, options));
+ }
+ bindGlobalScope() {
+ this.modules.forEach((moduleRef) => this.bindGlobalsToImports(moduleRef));
+ }
+ bindGlobalsToImports(moduleRef) {
+ this.globalModules.forEach((globalModule) => this.bindGlobalModuleToModule(moduleRef, globalModule));
+ }
+ bindGlobalModuleToModule(target, globalModule) {
+ if (target === globalModule || target === this.internalCoreModule) {
+ return;
+ }
+ target.addImport(globalModule);
+ }
+ getDynamicMetadataByToken(token, metadataKey) {
+ const metadata = this.dynamicModulesMetadata.get(token);
+ return metadataKey ? metadata?.[metadataKey] ?? [] : metadata;
+ }
+ registerCoreModuleRef(moduleRef) {
+ this.internalCoreModule = moduleRef;
+ this.modules[InternalCoreModule.name] = moduleRef;
+ }
+ getModuleTokenFactory() {
+ return this.moduleCompiler.moduleOpaqueKeyFactory;
+ }
+ registerRequestProvider(request, contextId) {
+ const wrapper = this.internalCoreModule.getProviderByKey(REQUEST);
+ wrapper.setInstanceByContextId(contextId, {
+ instance: request,
+ isResolved: true
+ });
+ }
+ shouldInitOnPreview(type) {
+ return InitializeOnPreviewAllowlist.has(type);
+ }
+ };
+ }
+});
+
+// ../../node_modules/.pnpm/@nestjs+core@12.2.0_@nestjs_74b3aa22af8a41de6299655ec5713214/node_modules/@nestjs/core/injector/index.js
+var init_injector2 = __esm({
+ "../../node_modules/.pnpm/@nestjs+core@12.2.0_@nestjs_74b3aa22af8a41de6299655ec5713214/node_modules/@nestjs/core/injector/index.js"() {
+ init_container();
+ init_inquirer();
+ init_lazy_module_loader();
+ init_module_ref();
+ init_modules_container();
+ }
+});
+
+// ../../node_modules/.pnpm/@nestjs+core@12.2.0_@nestjs_74b3aa22af8a41de6299655ec5713214/node_modules/@nestjs/core/inspector/partial-graph.host.js
+var PartialGraphHost;
+var init_partial_graph_host = __esm({
+ "../../node_modules/.pnpm/@nestjs+core@12.2.0_@nestjs_74b3aa22af8a41de6299655ec5713214/node_modules/@nestjs/core/inspector/partial-graph.host.js"() {
+ PartialGraphHost = class {
+ static {
+ __name(this, "PartialGraphHost");
+ }
+ static partialGraph;
+ static toJSON() {
+ return this.partialGraph?.toJSON();
+ }
+ static toString() {
+ return this.partialGraph?.toString();
+ }
+ static register(partialGraph) {
+ this.partialGraph = partialGraph;
+ }
+ };
+ }
+});
+
+// ../../node_modules/.pnpm/@nestjs+core@12.2.0_@nestjs_74b3aa22af8a41de6299655ec5713214/node_modules/@nestjs/core/inspector/graph-inspector.js
+var GraphInspector;
+var init_graph_inspector = __esm({
+ "../../node_modules/.pnpm/@nestjs+core@12.2.0_@nestjs_74b3aa22af8a41de6299655ec5713214/node_modules/@nestjs/core/inspector/graph-inspector.js"() {
+ init_unknown_dependencies_exception();
+ init_deterministic_uuid_registry();
+ init_partial_graph_host();
+ GraphInspector = class {
+ static {
+ __name(this, "GraphInspector");
+ }
+ container;
+ graph;
+ enhancersMetadataCache = new Array();
+ constructor(container) {
+ this.container = container;
+ this.graph = container.serializedGraph;
+ }
+ inspectModules(modules = this.container.getModules()) {
+ for (const moduleRef of modules.values()) {
+ this.insertModuleNode(moduleRef);
+ this.insertClassNodes(moduleRef);
+ this.insertModuleToModuleEdges(moduleRef);
+ }
+ this.enhancersMetadataCache.forEach((entry) => this.insertEnhancerEdge(entry));
+ DeterministicUuidRegistry.clear();
+ }
+ registerPartial(error) {
+ this.graph.status = "partial";
+ if (error instanceof UnknownDependenciesException) {
+ this.graph.metadata = {
+ cause: {
+ type: "unknown-dependencies",
+ context: error.context,
+ moduleId: error.moduleRef?.id,
+ nodeId: error.metadata?.id
+ }
+ };
+ } else {
+ this.graph.metadata = {
+ cause: {
+ type: "unknown",
+ error
+ }
+ };
+ }
+ PartialGraphHost.register(this.graph);
+ }
+ inspectInstanceWrapper(source, moduleRef) {
+ const ctorMetadata = source.getCtorMetadata();
+ ctorMetadata?.forEach((target, index) => this.insertClassToClassEdge(source, target, moduleRef, index, "constructor"));
+ const propertiesMetadata = source.getPropertiesMetadata();
+ propertiesMetadata?.forEach(({ key, wrapper: target }) => this.insertClassToClassEdge(source, target, moduleRef, key, "property"));
+ }
+ insertEnhancerMetadataCache(entry) {
+ this.enhancersMetadataCache.push(entry);
+ }
+ insertOrphanedEnhancer(entry) {
+ this.graph.insertOrphanedEnhancer({
+ ...entry,
+ ref: entry.ref?.constructor?.name ?? "Object"
+ });
+ }
+ insertAttachedEnhancer(wrapper) {
+ const existingNode = this.graph.getNodeById(wrapper.id);
+ existingNode.metadata.global = true;
+ this.graph.insertAttachedEnhancer(existingNode.id);
+ }
+ insertEntrypointDefinition(definition, parentId) {
+ definition = {
+ ...definition,
+ id: `${definition.classNodeId}_${definition.methodName}`
+ };
+ this.graph.insertEntrypoint(definition, parentId);
+ }
+ insertClassNode(moduleRef, wrapper, type) {
+ this.graph.insertNode({
+ id: wrapper.id,
+ label: wrapper.name,
+ parent: moduleRef.id,
+ metadata: {
+ type,
+ internal: wrapper.metatype === moduleRef.metatype,
+ sourceModuleName: moduleRef.name,
+ durable: wrapper.isDependencyTreeDurable(),
+ static: wrapper.isDependencyTreeStatic(),
+ scope: wrapper.scope,
+ transient: wrapper.isTransient,
+ exported: moduleRef.exports.has(wrapper.token),
+ token: wrapper.token,
+ subtype: wrapper.subtype,
+ initTime: wrapper.initTime
+ }
+ });
+ }
+ insertModuleNode(moduleRef) {
+ const dynamicMetadata = this.container.getDynamicMetadataByToken(moduleRef.token);
+ const node = {
+ id: moduleRef.id,
+ label: moduleRef.name,
+ metadata: {
+ type: "module",
+ global: moduleRef.isGlobal,
+ dynamic: !!dynamicMetadata,
+ internal: moduleRef.name === "InternalCoreModule"
+ }
+ };
+ this.graph.insertNode(node);
+ }
+ insertModuleToModuleEdges(moduleRef) {
+ for (const targetModuleRef of moduleRef.imports) {
+ this.graph.insertEdge({
+ source: moduleRef.id,
+ target: targetModuleRef.id,
+ metadata: {
+ type: "module-to-module",
+ sourceModuleName: moduleRef.name,
+ targetModuleName: targetModuleRef.name
+ }
+ });
+ }
+ }
+ insertEnhancerEdge(entry) {
+ const moduleRef = this.container.getModuleByKey(entry.moduleToken);
+ const sourceInstanceWrapper = moduleRef.controllers.get(entry.classRef) ?? moduleRef.providers.get(entry.classRef);
+ const existingSourceNode = this.graph.getNodeById(sourceInstanceWrapper.id);
+ const enhancers = existingSourceNode.metadata.enhancers ?? [];
+ if (entry.enhancerInstanceWrapper) {
+ this.insertClassToClassEdge(sourceInstanceWrapper, entry.enhancerInstanceWrapper, moduleRef, void 0, "decorator");
+ enhancers.push({
+ id: entry.enhancerInstanceWrapper.id,
+ methodKey: entry.methodKey,
+ subtype: entry.subtype
+ });
+ } else {
+ const name = entry.enhancerRef.constructor?.name ?? entry.enhancerRef.name;
+ enhancers.push({
+ name,
+ methodKey: entry.methodKey,
+ subtype: entry.subtype
+ });
+ }
+ existingSourceNode.metadata.enhancers = enhancers;
+ }
+ insertClassToClassEdge(source, target, moduleRef, keyOrIndex, injectionType) {
+ this.graph.insertEdge({
+ source: source.id,
+ target: target.id,
+ metadata: {
+ type: "class-to-class",
+ sourceModuleName: moduleRef.name,
+ sourceClassName: source.name,
+ targetClassName: target.name,
+ sourceClassToken: source.token,
+ targetClassToken: target.token,
+ targetModuleName: target.host?.name,
+ keyOrIndex,
+ injectionType
+ }
+ });
+ }
+ insertClassNodes(moduleRef) {
+ moduleRef.providers.forEach((value) => this.insertClassNode(moduleRef, value, "provider"));
+ moduleRef.injectables.forEach((value) => this.insertClassNode(moduleRef, value, "injectable"));
+ moduleRef.controllers.forEach((value) => this.insertClassNode(moduleRef, value, "controller"));
+ }
+ };
+ }
+});
+
+// ../../node_modules/.pnpm/@nestjs+core@12.2.0_@nestjs_74b3aa22af8a41de6299655ec5713214/node_modules/@nestjs/core/inspector/index.js
+var init_inspector = __esm({
+ "../../node_modules/.pnpm/@nestjs+core@12.2.0_@nestjs_74b3aa22af8a41de6299655ec5713214/node_modules/@nestjs/core/inspector/index.js"() {
+ init_graph_inspector();
+ init_initialize_on_preview_allowlist();
+ init_partial_graph_host();
+ init_serialized_graph();
+ }
+});
+
+// ../../node_modules/.pnpm/@nestjs+core@12.2.0_@nestjs_74b3aa22af8a41de6299655ec5713214/node_modules/@nestjs/core/router/legacy-route-converter.js
+var UNSUPPORTED_PATH_MESSAGE, LegacyRouteConverter;
+var init_legacy_route_converter = __esm({
+ "../../node_modules/.pnpm/@nestjs+core@12.2.0_@nestjs_74b3aa22af8a41de6299655ec5713214/node_modules/@nestjs/core/router/legacy-route-converter.js"() {
+ init_common();
+ UNSUPPORTED_PATH_MESSAGE = /* @__PURE__ */ __name((text, route) => `Unsupported route path: "${route}". In previous versions, the symbols ?, *, and + were used to denote optional or repeating path parameters. The latest version of "path-to-regexp" now requires the use of named parameters. For example, instead of using a route like /users/* to capture all routes starting with "/users", you should use /users/{*path}. The braces keep the wildcard optional, so it covers the same paths as /users/* did, while /users/*path is narrower and requires at least one extra segment. For more details, refer to the migration guide.`, "UNSUPPORTED_PATH_MESSAGE");
+ LegacyRouteConverter = class _LegacyRouteConverter {
+ static {
+ __name(this, "LegacyRouteConverter");
+ }
+ static logger = new Logger(_LegacyRouteConverter.name);
+ /**
+ * Convert legacy routes to the new format (syntax).
+ * path-to-regexp used by Express>=v5 and @fastify/middie>=v9 no longer support unnamed wildcards.
+ * This method attempts to convert the old syntax to the new one, and logs an error if it fails.
+ * @param route The route to convert.
+ * @param options Options object.
+ * @returns The converted route, or the original route if it cannot be converted.
+ */
+ static tryConvert(route, options) {
+ const routeWithLeadingSlash = route.startsWith("/") ? route : `/${route}`;
+ const normalizedRoute = route.endsWith("/") ? routeWithLeadingSlash : `${routeWithLeadingSlash}/`;
+ const loggingEnabled = options?.logs ?? true;
+ const printWarning = loggingEnabled ? this.printWarning.bind(this) : () => {
+ };
+ if (normalizedRoute.endsWith("/(.*)/")) {
+ const convertedRoute = route.replace("(.*)", "{*path}");
+ if (normalizedRoute !== "/(.*)/") {
+ printWarning(route, convertedRoute);
+ }
+ return convertedRoute;
+ }
+ if (normalizedRoute.endsWith("/*/")) {
+ const convertedRoute = route.replace("*", "{*path}");
+ if (normalizedRoute !== "/*/") {
+ printWarning(route, convertedRoute);
+ }
+ return convertedRoute;
+ }
+ if (normalizedRoute.endsWith("/+/")) {
+ const convertedRoute = route.replace("/+", "/*path");
+ printWarning(route, convertedRoute);
+ return convertedRoute;
+ }
+ if (normalizedRoute.includes("/*/")) {
+ const convertedRoute = route.replaceAll(/\/\*(?=\/)/g, (match, offset) => `/*path${offset}`);
+ printWarning(route, convertedRoute);
+ return convertedRoute;
+ }
+ return route;
+ }
+ static printError(route) {
+ this.logger.error(UNSUPPORTED_PATH_MESSAGE`${route}`);
+ }
+ static printWarning(route, convertedRoute) {
+ const autoConvertMessage = convertedRoute ? ` Attempting to auto-convert to "${convertedRoute}"...` : " Attempting to auto-convert...";
+ this.logger.warn(UNSUPPORTED_PATH_MESSAGE`${route}` + autoConvertMessage);
+ }
+ };
+ }
+});
+
+// ../../node_modules/.pnpm/@nestjs+core@12.2.0_@nestjs_74b3aa22af8a41de6299655ec5713214/node_modules/@nestjs/core/router/utils/exclude-route.util.js
+function isRouteExcluded(excludedRoutes, path, requestMethod) {
+ return excludedRoutes.some((route) => {
+ if (isRequestMethodAll(route.requestMethod) || route.requestMethod === requestMethod) {
+ return route.pathRegex.exec(addLeadingSlash(path));
+ }
+ return false;
+ });
+}
+var isRequestMethodAll;
+var init_exclude_route_util = __esm({
+ "../../node_modules/.pnpm/@nestjs+core@12.2.0_@nestjs_74b3aa22af8a41de6299655ec5713214/node_modules/@nestjs/core/router/utils/exclude-route.util.js"() {
+ init_common();
+ init_internal();
+ isRequestMethodAll = /* @__PURE__ */ __name((method) => {
+ return RequestMethod.ALL === method || method === -1;
+ }, "isRequestMethodAll");
+ __name(isRouteExcluded, "isRouteExcluded");
+ }
+});
+
+// ../../node_modules/.pnpm/@nestjs+core@12.2.0_@nestjs_74b3aa22af8a41de6299655ec5713214/node_modules/@nestjs/core/router/utils/flatten-route-paths.util.js
+function flattenRoutePaths(routes) {
+ const result = [];
+ routes.forEach((item) => {
+ if (item.module && item.path) {
+ result.push({ module: item.module, path: item.path });
+ }
+ if (item.children) {
+ const childrenRef = item.children;
+ childrenRef.forEach((child) => {
+ if (!isString(child) && isString(child.path)) {
+ child.path = normalizePath(normalizePath(item.path) + normalizePath(child.path));
+ } else {
+ result.push({ path: item.path, module: child });
+ }
+ });
+ result.push(...flattenRoutePaths(childrenRef));
+ }
+ });
+ return result;
+}
+var init_flatten_route_paths_util = __esm({
+ "../../node_modules/.pnpm/@nestjs+core@12.2.0_@nestjs_74b3aa22af8a41de6299655ec5713214/node_modules/@nestjs/core/router/utils/flatten-route-paths.util.js"() {
+ init_internal();
+ __name(flattenRoutePaths, "flattenRoutePaths");
+ }
+});
+
+// ../../node_modules/.pnpm/@nestjs+core@12.2.0_@nestjs_74b3aa22af8a41de6299655ec5713214/node_modules/@nestjs/core/router/utils/index.js
+var init_utils = __esm({
+ "../../node_modules/.pnpm/@nestjs+core@12.2.0_@nestjs_74b3aa22af8a41de6299655ec5713214/node_modules/@nestjs/core/router/utils/index.js"() {
+ init_exclude_route_util();
+ init_flatten_route_paths_util();
+ }
+});
+
+// ../../node_modules/.pnpm/@nestjs+core@12.2.0_@nestjs_74b3aa22af8a41de6299655ec5713214/node_modules/@nestjs/core/middleware/utils.js
+function compileExcludedPath(path, matchingOptions) {
+ if (!matchingOptions) {
+ return (0, import_path_to_regexp.pathToRegexp)(addLeadingSlash(path)).regexp;
+ }
+ const routePath = path.length > 1 ? path.replace(/\/+$/, "") : path;
+ return (0, import_path_to_regexp.pathToRegexp)(addLeadingSlash(routePath) || "/", {
+ sensitive: matchingOptions.caseSensitive,
+ trailing: matchingOptions.ignoreTrailingSlash
+ }).regexp;
+}
+function isStaticPath(path) {
+ return !ROUTE_PATTERN_CHARS.test(path);
+}
+function isMiddlewareClass(middleware) {
+ const middlewareStr = middleware.toString();
+ if (middlewareStr.substring(0, 5) === "class") {
+ return true;
+ }
+ const middlewareArr = middlewareStr.split(" ");
+ return middlewareArr[0] === "function" && /[A-Z]/.test(middlewareArr[1]?.[0]) && isFunction(middleware.prototype?.use);
+}
+function assignToken(metatype, token = uid(21)) {
+ Object.defineProperty(metatype, "name", { value: token });
+ return metatype;
+}
+function isMiddlewareRouteExcluded(req, excludedRoutes, httpAdapter, ignoreTrailingSlash = false, versioningOptions) {
+ if (excludedRoutes.length <= 0) {
+ return false;
+ }
+ const reqMethod = httpAdapter.getRequestMethod(req);
+ const originalUrl = httpAdapter.getRequestUrl(req);
+ if (!originalUrl?.startsWith("/") || originalUrl.includes("#")) {
+ return false;
+ }
+ const queryParamsIndex = originalUrl.indexOf("?");
+ const pathname = queryParamsIndex >= 0 ? originalUrl.slice(0, queryParamsIndex) : originalUrl;
+ const isRequestForRoute = /* @__PURE__ */ __name((route, path) => isRouteExcluded([route], path, RequestMethod[reqMethod]) || reqMethod === RequestMethod[RequestMethod.HEAD] && isRouteExcluded([route], path, RequestMethod.GET), "isRequestForRoute");
+ const isVersionRequested = createRequestedVersionMatcher(req, versioningOptions);
+ const isExcluded = /* @__PURE__ */ __name((path) => excludedRoutes.some((route) => isRequestForRoute(route, path) && isVersionRequested(route)), "isExcluded");
+ if (ignoreTrailingSlash && pathname.length > 1 && pathname.endsWith("/")) {
+ return isExcluded(pathname) && isExcluded(pathname.replace(/\/+$/, ""));
+ }
+ return isExcluded(pathname);
+}
+function createRequestedVersionMatcher(request, versioningOptions) {
+ let requestedVersions;
+ return ({ version }) => {
+ if (!version || version === VERSION_NEUTRAL || !versioningOptions || versioningOptions.type === VersioningType.URI) {
+ return true;
+ }
+ if (requestedVersions === void 0) {
+ requestedVersions = getRequestedVersions(request, versioningOptions);
+ }
+ if (!requestedVersions) {
+ return false;
+ }
+ const versions = Array.isArray(version) ? version : [version];
+ return requestedVersions.length > 0 ? requestedVersions.every((requested) => versions.includes(requested)) : versions.includes(VERSION_NEUTRAL);
+ };
+}
+function getRequestedVersions(request, versioningOptions) {
+ const headers = request.headers ?? {};
+ let version;
+ switch (versioningOptions.type) {
+ case VersioningType.HEADER:
+ version = headers[versioningOptions.header] || headers[versioningOptions.header.toLowerCase()];
+ break;
+ case VersioningType.MEDIA_TYPE:
+ version = getMediaTypeVersion2(headers["Accept"] || headers["accept"], versioningOptions.key);
+ break;
+ case VersioningType.CUSTOM:
+ try {
+ version = versioningOptions.extractor(request);
+ } catch {
+ return null;
+ }
+ break;
+ }
+ return isUndefined(version) ? [] : [].concat(version);
+}
+function getMediaTypeVersion2(acceptHeader, key) {
+ const mediaRanges = [].concat(acceptHeader ?? []).flatMap((value) => value.split(","));
+ for (const mediaRange of mediaRanges) {
+ const [, ...parameters] = mediaRange.split(";");
+ for (const parameter of parameters) {
+ const trimmedParameter = parameter.trim();
+ if (trimmedParameter.startsWith(key)) {
+ return trimmedParameter.slice(key.length);
+ }
+ }
+ }
+ return void 0;
+}
+var import_iterare9, import_path_to_regexp, mapToExcludeRoute, EXACT_ROUTE_MATCHING, ROUTE_PATTERN_CHARS, filterMiddleware, mapToClass;
+var init_utils2 = __esm({
+ "../../node_modules/.pnpm/@nestjs+core@12.2.0_@nestjs_74b3aa22af8a41de6299655ec5713214/node_modules/@nestjs/core/middleware/utils.js"() {
+ init_common();
+ import_iterare9 = __toESM(require_lib(), 1);
+ import_path_to_regexp = __toESM(require_dist2(), 1);
+ init_dist();
+ init_legacy_route_converter();
+ init_utils();
+ init_internal();
+ mapToExcludeRoute = /* @__PURE__ */ __name((routes, matchingOptions) => {
+ return routes.map((route) => {
+ const originalPath = isString(route) ? route : route.path;
+ const path = LegacyRouteConverter.tryConvert(originalPath);
+ try {
+ const pathRegex = compileExcludedPath(path, matchingOptions);
+ if (isString(route)) {
+ return {
+ path,
+ requestMethod: RequestMethod.ALL,
+ pathRegex
+ };
+ }
+ const excludedRoute = {
+ path,
+ requestMethod: route.method,
+ pathRegex
+ };
+ if (route.version) {
+ excludedRoute.version = route.version;
+ }
+ return excludedRoute;
+ } catch (e) {
+ if (e instanceof TypeError) {
+ LegacyRouteConverter.printError(originalPath);
+ }
+ throw e;
+ }
+ });
+ }, "mapToExcludeRoute");
+ __name(compileExcludedPath, "compileExcludedPath");
+ EXACT_ROUTE_MATCHING = {
+ caseSensitive: true,
+ ignoreTrailingSlash: false
+ };
+ ROUTE_PATTERN_CHARS = /[:*?+()[\]{}!\\$]/;
+ __name(isStaticPath, "isStaticPath");
+ filterMiddleware = /* @__PURE__ */ __name((middleware, routes, httpAdapter, versioningOptions) => {
+ const matchingOptions = httpAdapter.getRouteMatchingOptions?.() ?? EXACT_ROUTE_MATCHING;
+ const excludedRoutes = mapToExcludeRoute(routes, matchingOptions);
+ return (0, import_iterare9.iterate)([]).concat(middleware).filter(isFunction).map((item) => mapToClass(item, excludedRoutes, httpAdapter, matchingOptions.ignoreTrailingSlash, versioningOptions)).toArray();
+ }, "filterMiddleware");
+ mapToClass = /* @__PURE__ */ __name((middleware, excludedRoutes, httpAdapter, ignoreTrailingSlash = false, versioningOptions) => {
+ if (isMiddlewareClass(middleware)) {
+ if (excludedRoutes.length <= 0) {
+ return middleware;
+ }
+ const MiddlewareHost = class extends middleware {
+ static {
+ __name(this, "MiddlewareHost");
+ }
+ use(...params) {
+ const [req, _, next] = params;
+ const isExcluded = isMiddlewareRouteExcluded(req, excludedRoutes, httpAdapter, ignoreTrailingSlash, versioningOptions);
+ if (isExcluded) {
+ return next();
+ }
+ return super.use(...params);
+ }
+ };
+ return assignToken(MiddlewareHost, middleware.name);
+ }
+ return assignToken(class {
+ use = /* @__PURE__ */ __name((...params) => {
+ const [req, _, next] = params;
+ const isExcluded = isMiddlewareRouteExcluded(req, excludedRoutes, httpAdapter, ignoreTrailingSlash, versioningOptions);
+ if (isExcluded) {
+ return next();
+ }
+ return middleware(...params);
+ }, "use");
+ });
+ }, "mapToClass");
+ __name(isMiddlewareClass, "isMiddlewareClass");
+ __name(assignToken, "assignToken");
+ __name(isMiddlewareRouteExcluded, "isMiddlewareRouteExcluded");
+ __name(createRequestedVersionMatcher, "createRequestedVersionMatcher");
+ __name(getRequestedVersions, "getRequestedVersions");
+ __name(getMediaTypeVersion2, "getMediaTypeVersion");
+ }
+});
+
+// ../../node_modules/.pnpm/@nestjs+core@12.2.0_@nestjs_74b3aa22af8a41de6299655ec5713214/node_modules/@nestjs/core/middleware/builder.js
+var import_iterare10, import_path_to_regexp2, MiddlewareBuilder;
+var init_builder = __esm({
+ "../../node_modules/.pnpm/@nestjs+core@12.2.0_@nestjs_74b3aa22af8a41de6299655ec5713214/node_modules/@nestjs/core/middleware/builder.js"() {
+ import_iterare10 = __toESM(require_lib(), 1);
+ import_path_to_regexp2 = __toESM(require_dist2(), 1);
+ init_legacy_route_converter();
+ init_utils2();
+ MiddlewareBuilder = class _MiddlewareBuilder {
+ static {
+ __name(this, "MiddlewareBuilder");
+ }
+ routesMapper;
+ httpAdapter;
+ routeInfoPathExtractor;
+ middlewareCollection = /* @__PURE__ */ new Set();
+ constructor(routesMapper, httpAdapter, routeInfoPathExtractor) {
+ this.routesMapper = routesMapper;
+ this.httpAdapter = httpAdapter;
+ this.routeInfoPathExtractor = routeInfoPathExtractor;
+ }
+ apply(...middleware) {
+ return new _MiddlewareBuilder.ConfigProxy(this, middleware.flat(), this.routeInfoPathExtractor);
+ }
+ build() {
+ return [...this.middlewareCollection];
+ }
+ getHttpAdapter() {
+ return this.httpAdapter;
+ }
+ static ConfigProxy = class {
+ static {
+ __name(this, "ConfigProxy");
+ }
+ builder;
+ middleware;
+ routeInfoPathExtractor;
+ excludedRoutes = [];
+ constructor(builder, middleware, routeInfoPathExtractor) {
+ this.builder = builder;
+ this.middleware = middleware;
+ this.routeInfoPathExtractor = routeInfoPathExtractor;
+ }
+ getExcludedRoutes() {
+ return this.excludedRoutes;
+ }
+ exclude(...routes) {
+ this.excludedRoutes = [
+ ...this.excludedRoutes,
+ ...this.getRoutesFlatList(routes).reduce((excludedRoutes, route) => {
+ for (const routePath of this.routeInfoPathExtractor.extractPathFrom(route)) {
+ excludedRoutes.push({
+ ...route,
+ path: routePath
+ });
+ }
+ return excludedRoutes;
+ }, [])
+ ];
+ return this;
+ }
+ forRoutes(...routes) {
+ const { middlewareCollection } = this.builder;
+ const flattedRoutes = this.getRoutesFlatList(routes);
+ const forRoutes = this.removeOverlappedRoutes(this.addCoveredExcludedRoutes(flattedRoutes));
+ const configuration = {
+ middleware: filterMiddleware(this.middleware, this.excludedRoutes, this.builder.getHttpAdapter(), this.routeInfoPathExtractor.getVersioningOptions()),
+ forRoutes
+ };
+ middlewareCollection.add(configuration);
+ return this.builder;
+ }
+ getRoutesFlatList(routes) {
+ const { routesMapper } = this.builder;
+ return (0, import_iterare10.iterate)(routes).map((route) => routesMapper.mapRouteToRouteInfo(route)).flatten().toArray();
+ }
+ /**
+ * Adds the routes excluded from the global prefix that a route covers
+ * without being excluded itself (e.g. "users/me" for "users/:id"): the
+ * router serves them outside of the prefix the route is mounted under.
+ */
+ addCoveredExcludedRoutes(routes) {
+ const allRoutes = [...routes];
+ for (const route of routes) {
+ for (const excludedRoute of this.routeInfoPathExtractor.extractExcludedRoutesCoveredBy(route)) {
+ const isListed = allRoutes.some((item) => item.path === excludedRoute.path && item.method === excludedRoute.method && item.version === excludedRoute.version);
+ if (!isListed) {
+ allRoutes.push(excludedRoute);
+ }
+ }
+ }
+ return allRoutes;
+ }
+ /**
+ * Removes the routes that a parameterized route of the same method is
+ * mounted on as well (e.g. "/users/me" next to "/users/:id"), so that
+ * the middleware runs once for them. Only a route without parameters or
+ * wildcards is removed, and only when the parameterized route matches
+ * every path it would be mounted on (global prefix and version included).
+ */
+ removeOverlappedRoutes(routes) {
+ const routesWithRegex = routes.filter((route) => route.path.includes(":")).map((route) => ({
+ method: route.method,
+ regexes: this.compileMountPaths(route)
+ }));
+ return routes.filter((route) => {
+ const mountPaths = this.routeInfoPathExtractor.extractPathsFrom(route);
+ if (!mountPaths.every(isStaticPath)) {
+ return true;
+ }
+ const isOverlapped = /* @__PURE__ */ __name((item) => route.method === item.method && mountPaths.every((path) => item.regexes.some((regex) => regex.test(path))), "isOverlapped");
+ return !routesWithRegex.some(isOverlapped);
+ });
+ }
+ compileMountPaths(route) {
+ try {
+ return this.routeInfoPathExtractor.extractPathsFrom(route).map((path) => (0, import_path_to_regexp2.pathToRegexp)(LegacyRouteConverter.tryConvert(path.replace(/\$$/, ""), {
+ logs: false
+ }), { sensitive: true }).regexp);
+ } catch {
+ return [];
+ }
+ }
+ };
+ };
+ }
+});
+
+// ../../node_modules/.pnpm/@nestjs+core@12.2.0_@nestjs_74b3aa22af8a41de6299655ec5713214/node_modules/@nestjs/core/middleware/index.js
+var init_middleware = __esm({
+ "../../node_modules/.pnpm/@nestjs+core@12.2.0_@nestjs_74b3aa22af8a41de6299655ec5713214/node_modules/@nestjs/core/middleware/index.js"() {
+ init_builder();
+ }
+});
+
+// ../../node_modules/.pnpm/@nestjs+core@12.2.0_@nestjs_74b3aa22af8a41de6299655ec5713214/node_modules/@nestjs/core/helpers/cookies/cookie-signer.js
+import { createHmac, timingSafeEqual } from "crypto";
+var SIGNED_COOKIE_PREFIX, CookieSigner;
+var init_cookie_signer = __esm({
+ "../../node_modules/.pnpm/@nestjs+core@12.2.0_@nestjs_74b3aa22af8a41de6299655ec5713214/node_modules/@nestjs/core/helpers/cookies/cookie-signer.js"() {
+ SIGNED_COOKIE_PREFIX = "s:";
+ CookieSigner = class {
+ static {
+ __name(this, "CookieSigner");
+ }
+ secrets;
+ constructor(secret) {
+ const secrets = Array.isArray(secret) ? secret : [secret];
+ if (secrets.length === 0 || secrets.some((item) => typeof item !== "string" || item.length === 0)) {
+ throw new TypeError('The "cookies.secret" option must be a non-empty string or a non-empty array of non-empty strings.');
+ }
+ this.secrets = [...secrets];
+ }
+ /**
+ * Returns `s:.`, signed with the first secret.
+ */
+ sign(value) {
+ return `${SIGNED_COOKIE_PREFIX}${value}.${this.digest(value, this.secrets[0])}`;
+ }
+ /**
+ * Returns the original value when `input` carries a valid signature for
+ * any of the secrets, `undefined` otherwise. The `s:` prefix is optional.
+ */
+ unsign(input) {
+ if (typeof input !== "string") {
+ return void 0;
+ }
+ const signed = input.startsWith(SIGNED_COOKIE_PREFIX) ? input.slice(SIGNED_COOKIE_PREFIX.length) : input;
+ const dotIndex = signed.lastIndexOf(".");
+ if (dotIndex === -1) {
+ return void 0;
+ }
+ const value = signed.slice(0, dotIndex);
+ const signature = Buffer.from(signed.slice(dotIndex + 1));
+ let valid = false;
+ for (const secret of this.secrets) {
+ const expected = Buffer.from(this.digest(value, secret));
+ if (expected.length === signature.length && timingSafeEqual(expected, signature)) {
+ valid = true;
+ }
+ }
+ return valid ? value : void 0;
+ }
+ digest(value, secret) {
+ return createHmac("sha256", secret).update(value).digest("base64").replace(/=+$/, "");
+ }
+ };
+ }
+});
+
+// ../../node_modules/.pnpm/@nestjs+core@12.2.0_@nestjs_74b3aa22af8a41de6299655ec5713214/node_modules/@nestjs/core/helpers/optional-require.js
+async function optionalRequire(packageName, loaderFn) {
+ try {
+ return loaderFn ? await loaderFn() : await import(packageName);
+ } catch (e) {
+ return {};
+ }
+}
+var init_optional_require = __esm({
+ "../../node_modules/.pnpm/@nestjs+core@12.2.0_@nestjs_74b3aa22af8a41de6299655ec5713214/node_modules/@nestjs/core/helpers/optional-require.js"() {
+ __name(optionalRequire, "optionalRequire");
+ }
+});
+
+// ../../node_modules/.pnpm/@nestjs+core@12.2.0_@nestjs_74b3aa22af8a41de6299655ec5713214/node_modules/@nestjs/core/middleware/container.js
+var MiddlewareContainer;
+var init_container2 = __esm({
+ "../../node_modules/.pnpm/@nestjs+core@12.2.0_@nestjs_74b3aa22af8a41de6299655ec5713214/node_modules/@nestjs/core/middleware/container.js"() {
+ init_get_class_scope();
+ init_is_durable();
+ init_instance_wrapper();
+ MiddlewareContainer = class {
+ static {
+ __name(this, "MiddlewareContainer");
+ }
+ container;
+ middleware = /* @__PURE__ */ new Map();
+ configurationSets = /* @__PURE__ */ new Map();
+ constructor(container) {
+ this.container = container;
+ }
+ getMiddlewareCollection(moduleKey) {
+ if (!this.middleware.has(moduleKey)) {
+ const moduleRef = this.container.getModuleByKey(moduleKey);
+ this.middleware.set(moduleKey, moduleRef.middlewares);
+ }
+ return this.middleware.get(moduleKey);
+ }
+ getConfigurations() {
+ return this.configurationSets;
+ }
+ insertConfig(configList, moduleKey) {
+ const middleware = this.getMiddlewareCollection(moduleKey);
+ const targetConfig = this.getTargetConfig(moduleKey);
+ const configurations = configList || [];
+ const insertMiddleware = /* @__PURE__ */ __name((metatype) => {
+ const token = metatype;
+ middleware.set(token, new InstanceWrapper({
+ scope: getClassScope(metatype),
+ durable: isDurable(metatype),
+ name: token?.name ?? token,
+ metatype,
+ token
+ }));
+ }, "insertMiddleware");
+ configurations.forEach((config) => {
+ [].concat(config.middleware).map(insertMiddleware);
+ targetConfig.add(config);
+ });
+ }
+ getTargetConfig(moduleName) {
+ if (!this.configurationSets.has(moduleName)) {
+ this.configurationSets.set(moduleName, /* @__PURE__ */ new Set());
+ }
+ return this.configurationSets.get(moduleName);
+ }
+ };
+ }
+});
+
+// ../../node_modules/.pnpm/@nestjs+core@12.2.0_@nestjs_74b3aa22af8a41de6299655ec5713214/node_modules/@nestjs/core/errors/exceptions/invalid-middleware.exception.js
+var InvalidMiddlewareException;
+var init_invalid_middleware_exception = __esm({
+ "../../node_modules/.pnpm/@nestjs+core@12.2.0_@nestjs_74b3aa22af8a41de6299655ec5713214/node_modules/@nestjs/core/errors/exceptions/invalid-middleware.exception.js"() {
+ init_messages();
+ init_runtime_exception();
+ InvalidMiddlewareException = class extends RuntimeException {
+ static {
+ __name(this, "InvalidMiddlewareException");
+ }
+ constructor(name) {
+ super(INVALID_MIDDLEWARE_MESSAGE`${name}`);
+ }
+ };
+ }
+});
+
+// ../../node_modules/.pnpm/@nestjs+core@12.2.0_@nestjs_74b3aa22af8a41de6299655ec5713214/node_modules/@nestjs/core/exceptions/exceptions-handler.js
+var import_rxjs6, ExceptionsHandler;
+var init_exceptions_handler = __esm({
+ "../../node_modules/.pnpm/@nestjs+core@12.2.0_@nestjs_74b3aa22af8a41de6299655ec5713214/node_modules/@nestjs/core/exceptions/exceptions-handler.js"() {
+ import_rxjs6 = __toESM(require_cjs(), 1);
+ init_invalid_exception_filter_exception();
+ init_base_exception_filter();
+ init_internal();
+ ExceptionsHandler = class extends BaseExceptionFilter {
+ static {
+ __name(this, "ExceptionsHandler");
+ }
+ filters = [];
+ next(exception, ctx) {
+ if (this.invokeCustomFilters(exception, ctx)) {
+ return;
+ }
+ super.catch(exception, ctx);
+ }
+ setCustomFilters(filters) {
+ if (!Array.isArray(filters)) {
+ throw new InvalidExceptionFilterException();
+ }
+ this.filters = filters;
+ }
+ invokeCustomFilters(exception, ctx) {
+ if (isEmptyArray(this.filters)) {
+ return false;
+ }
+ const filter = selectExceptionFilterMetadata(this.filters, exception);
+ if (!filter) {
+ return false;
+ }
+ const result = filter.func(exception, ctx);
+ if ((0, import_rxjs6.isObservable)(result)) {
+ return !!this.applicationRef?.isHeadersSent(ctx.getArgByIndex(1));
+ }
+ return true;
+ }
+ };
+ }
+});
+
+// ../../node_modules/.pnpm/@nestjs+core@12.2.0_@nestjs_74b3aa22af8a41de6299655ec5713214/node_modules/@nestjs/core/router/router-exception-filters.js
+var import_iterare11, RouterExceptionFilters;
+var init_router_exception_filters = __esm({
+ "../../node_modules/.pnpm/@nestjs+core@12.2.0_@nestjs_74b3aa22af8a41de6299655ec5713214/node_modules/@nestjs/core/router/router-exception-filters.js"() {
+ init_common();
+ import_iterare11 = __toESM(require_lib(), 1);
+ init_base_exception_filter_context();
+ init_exceptions_handler();
+ init_constants3();
+ init_internal();
+ RouterExceptionFilters = class _RouterExceptionFilters extends BaseExceptionFilterContext {
+ static {
+ __name(this, "RouterExceptionFilters");
+ }
+ config;
+ applicationRef;
+ static logger = new Logger(_RouterExceptionFilters.name);
+ // Applications already warned about their request-scoped or transient
+ // global filters (see "getGlobalMetadata()")
+ static warnedConfigs = /* @__PURE__ */ new WeakSet();
+ constructor(container, config, applicationRef) {
+ super(container);
+ this.config = config;
+ this.applicationRef = applicationRef;
+ }
+ create(instance, callback, moduleKey, contextId = STATIC_CONTEXT, inquirerId) {
+ this.moduleContext = moduleKey;
+ const exceptionHandler = new ExceptionsHandler(this.applicationRef);
+ const filters = this.createContext(instance, callback, EXCEPTION_FILTERS_METADATA, contextId, inquirerId);
+ if (isEmptyArray(filters)) {
+ return exceptionHandler;
+ }
+ exceptionHandler.setCustomFilters(filters.reverse());
+ return exceptionHandler;
+ }
+ getGlobalMetadata(contextId = STATIC_CONTEXT, inquirerId) {
+ const globalFilters = this.config.getGlobalFilters();
+ if (contextId === STATIC_CONTEXT && !inquirerId) {
+ this.warnAboutScopedGlobalFilters();
+ return globalFilters;
+ }
+ const scopedFilterWrappers = this.config.getGlobalRequestFilters();
+ const scopedFilters = (0, import_iterare11.iterate)(scopedFilterWrappers).map((wrapper) => wrapper.getInstanceByContextId(this.getContextId(contextId, wrapper), inquirerId)).filter((host) => !!host).map((host) => host.instance).toArray();
+ return globalFilters.concat(scopedFilters);
+ }
+ /**
+ * Handlers that are not built for a controller (middleware, the "not found"
+ * handler, the exception layer) have no request to resolve request-scoped
+ * or transient global filters for, so these filters are left out.
+ */
+ warnAboutScopedGlobalFilters() {
+ if (isEmptyArray(this.config.getGlobalRequestFilters()) || _RouterExceptionFilters.warnedConfigs.has(this.config)) {
+ return;
+ }
+ _RouterExceptionFilters.warnedConfigs.add(this.config);
+ _RouterExceptionFilters.logger.warn("Global exception filters (APP_FILTER) with request or transient scope are not applied to exceptions thrown outside of controllers, e.g. in middleware, for unknown routes or while parsing the request body. Register a global filter without a scope as well to handle them.");
+ }
+ };
+ }
+});
+
+// ../../node_modules/.pnpm/@nestjs+core@12.2.0_@nestjs_74b3aa22af8a41de6299655ec5713214/node_modules/@nestjs/core/router/router-proxy.js
+var RouterProxy;
+var init_router_proxy = __esm({
+ "../../node_modules/.pnpm/@nestjs+core@12.2.0_@nestjs_74b3aa22af8a41de6299655ec5713214/node_modules/@nestjs/core/router/router-proxy.js"() {
+ init_execution_context_host();
+ RouterProxy = class {
+ static {
+ __name(this, "RouterProxy");
+ }
+ createProxy(targetCallback, exceptionsHandler) {
+ return async (req, res, next) => {
+ try {
+ await targetCallback(req, res, next);
+ } catch (e) {
+ const host = new ExecutionContextHost([req, res, next]);
+ exceptionsHandler.next(e, host);
+ return res;
+ }
+ };
+ }
+ createExceptionLayerProxy(targetCallback, exceptionsHandler) {
+ return async (err, req, res, next) => {
+ try {
+ await targetCallback(err, req, res, next);
+ } catch (e) {
+ const host = new ExecutionContextHost([req, res, next]);
+ exceptionsHandler.next(e, host);
+ return res;
+ }
+ };
+ }
+ };
+ }
+});
+
+// ../../node_modules/.pnpm/@nestjs+core@12.2.0_@nestjs_74b3aa22af8a41de6299655ec5713214/node_modules/@nestjs/core/middleware/resolver.js
+var MiddlewareResolver;
+var init_resolver = __esm({
+ "../../node_modules/.pnpm/@nestjs+core@12.2.0_@nestjs_74b3aa22af8a41de6299655ec5713214/node_modules/@nestjs/core/middleware/resolver.js"() {
+ MiddlewareResolver = class {
+ static {
+ __name(this, "MiddlewareResolver");
+ }
+ middlewareContainer;
+ injector;
+ constructor(middlewareContainer, injector) {
+ this.middlewareContainer = middlewareContainer;
+ this.injector = injector;
+ }
+ async resolveInstances(moduleRef, moduleName) {
+ const middlewareMap = this.middlewareContainer.getMiddlewareCollection(moduleName);
+ const resolveInstance = /* @__PURE__ */ __name(async (wrapper) => this.resolveMiddlewareInstance(wrapper, middlewareMap, moduleRef), "resolveInstance");
+ await Promise.all([...middlewareMap.values()].map(resolveInstance));
+ }
+ async resolveMiddlewareInstance(wrapper, middlewareMap, moduleRef) {
+ await this.injector.loadMiddleware(wrapper, middlewareMap, moduleRef);
+ }
+ };
+ }
+});
+
+// ../../node_modules/.pnpm/@nestjs+core@12.2.0_@nestjs_74b3aa22af8a41de6299655ec5713214/node_modules/@nestjs/core/router/route-path-factory.js
+var RoutePathFactory;
+var init_route_path_factory = __esm({
+ "../../node_modules/.pnpm/@nestjs+core@12.2.0_@nestjs_74b3aa22af8a41de6299655ec5713214/node_modules/@nestjs/core/router/route-path-factory.js"() {
+ init_common();
+ init_utils();
+ init_internal();
+ RoutePathFactory = class {
+ static {
+ __name(this, "RoutePathFactory");
+ }
+ applicationConfig;
+ /**
+ * URI version prefixes (`/v1`, or `''` for an unversioned route) under
+ * which each global prefix exclusion was matched by a created route.
+ */
+ excludedRouteVersionPrefixes = /* @__PURE__ */ new Map();
+ constructor(applicationConfig) {
+ this.applicationConfig = applicationConfig;
+ }
+ create(metadata, requestMethod) {
+ let paths = [""];
+ const versionOrVersions = this.getVersion(metadata);
+ if (versionOrVersions && metadata.versioningOptions?.type === VersioningType.URI) {
+ const versionPrefix = this.getVersionPrefix(metadata.versioningOptions);
+ if (Array.isArray(versionOrVersions)) {
+ paths = flatten(paths.map((path) => versionOrVersions.map((version) => (
+ // Version Neutral - Do not include version in URL
+ version === VERSION_NEUTRAL ? path : `${path}/${versionPrefix}${version}`
+ ))));
+ } else {
+ if (versionOrVersions !== VERSION_NEUTRAL) {
+ paths = paths.map((path) => `${path}/${versionPrefix}${versionOrVersions}`);
+ }
+ }
+ }
+ paths = this.appendToAllIfDefined(paths, metadata.modulePath);
+ paths = this.appendToAllIfDefined(paths, metadata.ctrlPath);
+ paths = this.appendToAllIfDefined(paths, metadata.methodPath);
+ if (metadata.globalPrefix) {
+ paths = paths.map((path) => {
+ if (this.isExcludedFromGlobalPrefix(path, requestMethod, versionOrVersions, metadata.versioningOptions)) {
+ this.trackExcludedRoute(path, requestMethod, versionOrVersions, metadata.versioningOptions);
+ return path;
+ }
+ return stripEndSlash(metadata.globalPrefix || "") + path;
+ });
+ }
+ return paths.map((path) => addLeadingSlash(path || "/")).map((path) => path !== "/" ? stripEndSlash(path) : path);
+ }
+ getVersion(metadata) {
+ return metadata.methodVersion || metadata.controllerVersion;
+ }
+ getVersionPrefix(versioningOptions) {
+ const defaultPrefix = "v";
+ if (versioningOptions.type === VersioningType.URI) {
+ if (versioningOptions.prefix === false) {
+ return "";
+ } else if (versioningOptions.prefix !== void 0) {
+ return versioningOptions.prefix;
+ }
+ }
+ return defaultPrefix;
+ }
+ appendToAllIfDefined(paths, fragmentToAppend) {
+ if (!fragmentToAppend) {
+ return paths;
+ }
+ const concatPaths = /* @__PURE__ */ __name((a, b) => stripEndSlash(a) + addLeadingSlash(b), "concatPaths");
+ if (Array.isArray(fragmentToAppend)) {
+ const paths2dArray = paths.map((path) => fragmentToAppend.map((fragment) => concatPaths(path, fragment)));
+ return flatten(paths2dArray);
+ }
+ return paths.map((path) => concatPaths(path, fragmentToAppend));
+ }
+ isExcludedFromGlobalPrefix(path, requestMethod, versionOrVersions, versioningOptions) {
+ if (isUndefined(requestMethod)) {
+ return false;
+ }
+ const options = this.applicationConfig.getGlobalPrefixOptions();
+ const excludedRoutes = options.exclude;
+ const versionPrefix = this.getUriVersionPrefixOfPath(path, versionOrVersions, versioningOptions);
+ return Array.isArray(excludedRoutes) && isRouteExcluded(excludedRoutes, path.slice(versionPrefix.length), requestMethod);
+ }
+ /**
+ * Returns the global prefix exclusions as the paths routes are actually
+ * served at. Under URI versioning an exclusion such as `hello` matches the
+ * unversioned path, while the route lives at `/v1/hello`, so every version
+ * prefix a matching route was created under is prepended. An exclusion no
+ * created route matched (e.g. a raw route registered by a library) is kept
+ * as configured.
+ */
+ getExcludedRoutePaths() {
+ const excludedRoutes = this.applicationConfig.getGlobalPrefixOptions().exclude ?? [];
+ return excludedRoutes.flatMap((route) => {
+ const versionPrefixes = this.excludedRouteVersionPrefixes.get(route) ?? [
+ ""
+ ];
+ return [...versionPrefixes].map((versionPrefix) => ({
+ path: versionPrefix ? versionPrefix + addLeadingSlash(route.path) : route.path,
+ method: route.requestMethod
+ }));
+ });
+ }
+ trackExcludedRoute(path, requestMethod, versionOrVersions, versioningOptions) {
+ if (!versioningOptions && this.applicationConfig.getVersioning()) {
+ return;
+ }
+ const versionPrefix = this.getUriVersionPrefixOfPath(path, versionOrVersions, versioningOptions);
+ const unversionedPath = path.slice(versionPrefix.length);
+ const excludedRoutes = this.applicationConfig.getGlobalPrefixOptions().exclude ?? [];
+ excludedRoutes.filter((route) => isRouteExcluded([route], unversionedPath, requestMethod)).forEach((route) => {
+ const versionPrefixes = this.excludedRouteVersionPrefixes.get(route) ?? /* @__PURE__ */ new Set();
+ versionPrefixes.add(versionPrefix);
+ this.excludedRouteVersionPrefixes.set(route, versionPrefixes);
+ });
+ }
+ getUriVersionPrefixOfPath(path, versionOrVersions, versioningOptions) {
+ if (!versionOrVersions || versionOrVersions === VERSION_NEUTRAL || versioningOptions?.type !== VersioningType.URI) {
+ return "";
+ }
+ const versions = Array.isArray(versionOrVersions) ? versionOrVersions : [versionOrVersions];
+ const versionPrefix = this.getVersionPrefix(versioningOptions);
+ for (const version of versions) {
+ if (typeof version !== "string") {
+ continue;
+ }
+ const prefix = `/${versionPrefix}${version}`;
+ if (path === prefix || path.startsWith(`${prefix}/`)) {
+ return prefix;
+ }
+ }
+ return "";
+ }
+ };
+ }
+});
+
+// ../../node_modules/.pnpm/@nestjs+core@12.2.0_@nestjs_74b3aa22af8a41de6299655ec5713214/node_modules/@nestjs/core/middleware/route-info-path-extractor.js
+var import_path_to_regexp3, RouteInfoPathExtractor;
+var init_route_info_path_extractor = __esm({
+ "../../node_modules/.pnpm/@nestjs+core@12.2.0_@nestjs_74b3aa22af8a41de6299655ec5713214/node_modules/@nestjs/core/middleware/route-info-path-extractor.js"() {
+ init_common();
+ import_path_to_regexp3 = __toESM(require_dist2(), 1);
+ init_legacy_route_converter();
+ init_utils();
+ init_route_path_factory();
+ init_utils2();
+ init_internal();
+ RouteInfoPathExtractor = class {
+ static {
+ __name(this, "RouteInfoPathExtractor");
+ }
+ applicationConfig;
+ routePathFactory;
+ prefixPath;
+ excludedGlobalPrefixRoutes;
+ versioningConfig;
+ constructor(applicationConfig) {
+ this.applicationConfig = applicationConfig;
+ this.routePathFactory = new RoutePathFactory(applicationConfig);
+ this.prefixPath = stripEndSlash(addLeadingSlash(this.applicationConfig.getGlobalPrefix()));
+ this.excludedGlobalPrefixRoutes = this.applicationConfig.getGlobalPrefixOptions().exclude;
+ this.versioningConfig = this.applicationConfig.getVersioning();
+ }
+ extractPathsFrom({ path, method, version = this.getVersionOfUnversionedRoutes() }) {
+ const versionPaths = this.extractVersionPathFrom(version);
+ if (this.isAWildcard(path)) {
+ const wildcardVersionPaths = versionPaths.includes("") ? [] : versionPaths;
+ const entries = wildcardVersionPaths.length > 0 ? wildcardVersionPaths.map((versionPath) => [
+ this.prefixPath + versionPath + "$",
+ this.prefixPath + versionPath + addLeadingSlash(path)
+ ]).flat() : this.prefixPath ? [this.prefixPath + "$", this.prefixPath + addLeadingSlash(path)] : [addLeadingSlash(path)];
+ return Array.isArray(this.excludedGlobalPrefixRoutes) ? [
+ ...entries,
+ ...this.excludedGlobalPrefixRoutes.flatMap((route) => this.getPathsOfExcludedRoute(route)).flatMap((excludedPath) => versionPaths.length > 0 ? versionPaths.map((v) => v + excludedPath) : [excludedPath])
+ ] : entries;
+ }
+ return this.extractNonWildcardPathsFrom({ path, method, version });
+ }
+ /**
+ * Returns the routes excluded from the global prefix that the route covers
+ * without being excluded itself: the router serves them without the
+ * prefix, out of the reach of the paths the route is mounted on. These are
+ * the excluded routes without parameters or wildcards that the route
+ * matches, such as "users/me" for "users/:id" (or a `GET` exclusion for a
+ * route of every method), and the root route of a controller at the
+ * route's own path, which an exclusion ending in an optional segment such
+ * as "reports/{*path}" takes out of the prefix (see
+ * `isExcludedWithTrailingSlash()`).
+ */
+ extractExcludedRoutesCoveredBy({ path, method, version }) {
+ if (!Array.isArray(this.excludedGlobalPrefixRoutes) || this.isAWildcard(path) || isRouteExcluded(this.excludedGlobalPrefixRoutes, path, method)) {
+ return [];
+ }
+ let routeRegex;
+ try {
+ routeRegex = (0, import_path_to_regexp3.pathToRegexp)(LegacyRouteConverter.tryConvert(addLeadingSlash(path), { logs: false })).regexp;
+ } catch {
+ return [];
+ }
+ return this.excludedGlobalPrefixRoutes.flatMap((excludedRoute) => {
+ const excludedPath = addLeadingSlash(excludedRoute.path);
+ const excludedMethod = isRequestMethodAll(excludedRoute.requestMethod) ? method : excludedRoute.requestMethod;
+ if (!(isRequestMethodAll(method) || method === excludedMethod)) {
+ return [];
+ }
+ const coveredPath = isStaticPath(excludedPath) && routeRegex.test(excludedPath) ? excludedPath : this.isExcludedWithTrailingSlash(excludedRoute, path) ? stripEndSlash(addLeadingSlash(path)) + "/" : void 0;
+ if (!coveredPath) {
+ return [];
+ }
+ const routeInfo = {
+ path: coveredPath,
+ method: excludedMethod
+ };
+ if (version) {
+ routeInfo.version = version;
+ }
+ return [routeInfo];
+ });
+ }
+ /**
+ * Returns the paths the router serves a route excluded from the global
+ * prefix at: those of its pattern and, for a pattern ending in an optional
+ * segment such as "reports/{*path}", the parent path ("/reports") (see
+ * `isExcludedWithTrailingSlash()`).
+ */
+ getPathsOfExcludedRoute(route) {
+ const excludedPath = addLeadingSlash(route.path);
+ const parentPath = excludedPath.slice(0, excludedPath.lastIndexOf("/"));
+ return this.isExcludedWithTrailingSlash(route, parentPath) ? [excludedPath, parentPath] : [excludedPath];
+ }
+ /**
+ * Tells whether the exclusion takes a route at the path out of the global
+ * prefix only through a trailing slash: the router tests the root route of
+ * a controller with one ("/reports/"), which an exclusion ending in an
+ * optional segment matches ("reports/{*path}"), and serves it at
+ * "/reports", which the exclusion does not match.
+ */
+ isExcludedWithTrailingSlash({ pathRegex }, path) {
+ const pathWithoutSlash = stripEndSlash(addLeadingSlash(path));
+ return pathWithoutSlash !== "" && pathRegex.test(pathWithoutSlash + "/") && !pathRegex.test(pathWithoutSlash);
+ }
+ getVersioningOptions() {
+ return this.versioningConfig;
+ }
+ extractPathFrom(route) {
+ if (this.isAWildcard(route.path) && !route.version) {
+ return [addLeadingSlash(route.path)];
+ }
+ return this.extractNonWildcardPathsFrom(route);
+ }
+ isAWildcard(path) {
+ const isSimpleWildcard = ["*", "/*", "/*/", "(.*)", "/(.*)"];
+ if (isSimpleWildcard.includes(path)) {
+ return true;
+ }
+ const wildcardRegexp = /^\/\{.*\}.*|^\/\*.*$/;
+ return wildcardRegexp.test(path);
+ }
+ extractNonWildcardPathsFrom({ path, method, version }) {
+ const versionPaths = this.extractVersionPathFrom(version);
+ if (Array.isArray(this.excludedGlobalPrefixRoutes) && isRouteExcluded(this.excludedGlobalPrefixRoutes, path, method)) {
+ if (!versionPaths.length) {
+ return [addLeadingSlash(path)];
+ }
+ return versionPaths.map((versionPath) => versionPath + addLeadingSlash(path));
+ }
+ if (!versionPaths.length) {
+ return [this.prefixPath + addLeadingSlash(path)];
+ }
+ return versionPaths.map((versionPath) => this.prefixPath + versionPath + addLeadingSlash(path));
+ }
+ /**
+ * Returns the versions a route given without a version (e.g.
+ * `forRoutes('cats')`) may be served under: no version, as for a
+ * version-neutral controller, and the default version, under which
+ * controllers without a version are served.
+ */
+ getVersionOfUnversionedRoutes() {
+ if (this.versioningConfig?.type !== VersioningType.URI) {
+ return;
+ }
+ const { defaultVersion } = this.versioningConfig;
+ if (!defaultVersion) {
+ return;
+ }
+ const versions = /* @__PURE__ */ new Set([
+ VERSION_NEUTRAL
+ ]);
+ if (Array.isArray(defaultVersion)) {
+ defaultVersion.forEach((version) => versions.add(version));
+ } else {
+ versions.add(defaultVersion);
+ }
+ return [...versions];
+ }
+ extractVersionPathFrom(versionValue) {
+ if (!versionValue || this.versioningConfig?.type !== VersioningType.URI)
+ return [];
+ const versionPrefix = this.routePathFactory.getVersionPrefix(this.versioningConfig);
+ const toVersionPath = /* @__PURE__ */ __name((version) => version === VERSION_NEUTRAL ? "" : addLeadingSlash(versionPrefix + version), "toVersionPath");
+ if (Array.isArray(versionValue)) {
+ return versionValue.map(toVersionPath);
+ }
+ return [toVersionPath(versionValue)];
+ }
+ };
+ }
+});
+
+// ../../node_modules/.pnpm/@nestjs+core@12.2.0_@nestjs_74b3aa22af8a41de6299655ec5713214/node_modules/@nestjs/core/router/paths-explorer.js
+var PathsExplorer;
+var init_paths_explorer = __esm({
+ "../../node_modules/.pnpm/@nestjs+core@12.2.0_@nestjs_74b3aa22af8a41de6299655ec5713214/node_modules/@nestjs/core/router/paths-explorer.js"() {
+ init_internal();
+ PathsExplorer = class {
+ static {
+ __name(this, "PathsExplorer");
+ }
+ metadataScanner;
+ constructor(metadataScanner) {
+ this.metadataScanner = metadataScanner;
+ }
+ scanForPaths(instance, prototype) {
+ const instancePrototype = isUndefined(prototype) ? Object.getPrototypeOf(instance) : prototype;
+ return this.metadataScanner.getAllMethodNames(instancePrototype).reduce((acc, method) => {
+ const route = this.exploreMethodMetadata(instance, instancePrototype, method);
+ if (route) {
+ acc.push(route);
+ }
+ return acc;
+ }, []);
+ }
+ exploreMethodMetadata(instance, prototype, methodName) {
+ const instanceCallback = instance[methodName];
+ const prototypeCallback = prototype[methodName];
+ const routePath = Reflect.getMetadata(PATH_METADATA, prototypeCallback);
+ if (isUndefined(routePath)) {
+ return null;
+ }
+ const requestMethod = Reflect.getMetadata(METHOD_METADATA, prototypeCallback);
+ const version = Reflect.getMetadata(VERSION_METADATA, prototypeCallback);
+ const path = isString(routePath) ? [addLeadingSlash(routePath)] : routePath.map((p) => addLeadingSlash(p));
+ return {
+ path,
+ requestMethod,
+ targetCallback: instanceCallback,
+ methodName,
+ version
+ };
+ }
+ };
+ }
+});
+
+// ../../node_modules/.pnpm/@nestjs+core@12.2.0_@nestjs_74b3aa22af8a41de6299655ec5713214/node_modules/@nestjs/core/middleware/routes-mapper.js
+var RoutesMapper;
+var init_routes_mapper = __esm({
+ "../../node_modules/.pnpm/@nestjs+core@12.2.0_@nestjs_74b3aa22af8a41de6299655ec5713214/node_modules/@nestjs/core/middleware/routes-mapper.js"() {
+ init_metadata_scanner();
+ init_paths_explorer();
+ init_internal();
+ RoutesMapper = class {
+ static {
+ __name(this, "RoutesMapper");
+ }
+ container;
+ applicationConfig;
+ pathsExplorer;
+ constructor(container, applicationConfig) {
+ this.container = container;
+ this.applicationConfig = applicationConfig;
+ this.pathsExplorer = new PathsExplorer(new MetadataScanner());
+ }
+ mapRouteToRouteInfo(controllerOrRoute) {
+ if (isString(controllerOrRoute)) {
+ return this.getRouteInfoFromPath(controllerOrRoute);
+ }
+ const routePathOrPaths = this.getRoutePath(controllerOrRoute);
+ if (this.isRouteInfo(routePathOrPaths, controllerOrRoute)) {
+ return this.getRouteInfoFromObject(controllerOrRoute);
+ }
+ return this.getRouteInfoFromController(controllerOrRoute, routePathOrPaths);
+ }
+ getRouteInfoFromPath(routePath) {
+ const defaultRequestMethod = -1;
+ return [
+ {
+ path: addLeadingSlash(routePath),
+ method: defaultRequestMethod
+ }
+ ];
+ }
+ getRouteInfoFromObject(routeInfoObject) {
+ const routeInfo = {
+ path: addLeadingSlash(routeInfoObject.path),
+ method: routeInfoObject.method
+ };
+ if (routeInfoObject.version) {
+ routeInfo.version = routeInfoObject.version;
+ }
+ return [routeInfo];
+ }
+ getRouteInfoFromController(controller, routePath) {
+ const controllerPaths = this.pathsExplorer.scanForPaths(Object.create(controller), controller.prototype);
+ const controllerVersion = this.getVersionMetadata(controller);
+ const versioningConfig = this.applicationConfig.getVersioning();
+ const modulePaths = this.getModulePathsOfController(controller);
+ const concatPaths = /* @__PURE__ */ __name((acc, currentValue) => acc.concat(currentValue), "concatPaths");
+ const toRouteInfo2 = /* @__PURE__ */ __name((item, prefix, modulePath) => item.path?.flatMap((p) => {
+ const endpointPath = modulePath + stripEndSlash(this.normalizeGlobalPath(prefix)) + addLeadingSlash(p);
+ const routeInfo = {
+ path: endpointPath,
+ method: item.requestMethod
+ };
+ const version = item.version ?? controllerVersion;
+ if (version && versioningConfig) {
+ if (typeof version !== "string" && Array.isArray(version)) {
+ return version.map((v) => ({
+ ...routeInfo,
+ version: v
+ }));
+ }
+ routeInfo.version = version;
+ }
+ return routeInfo;
+ }), "toRouteInfo");
+ return [].concat(routePath).flatMap((routePath2) => modulePaths.map((modulePath) => controllerPaths.map((item) => toRouteInfo2(item, routePath2, modulePath)).reduce(concatPaths, []))).reduce(concatPaths, []);
+ }
+ isRouteInfo(path, objectOrClass) {
+ return isUndefined(path);
+ }
+ normalizeGlobalPath(path) {
+ const prefix = addLeadingSlash(path);
+ return prefix === "/" ? "" : prefix;
+ }
+ getRoutePath(route) {
+ return Reflect.getMetadata(PATH_METADATA, route);
+ }
+ /**
+ * Returns the paths the controller is served under: the router registers it
+ * once for each module that declares it, under the path of that module.
+ */
+ getModulePathsOfController(metatype) {
+ const modulePaths = this.getHostModulesOfController(metatype).map((moduleRef) => stripEndSlash(this.getModulePath(moduleRef.metatype) ?? ""));
+ return modulePaths.length > 0 ? [...new Set(modulePaths)] : [""];
+ }
+ getHostModulesOfController(metatype) {
+ if (!metatype) {
+ return [];
+ }
+ const modulesContainer = this.container.getModules();
+ return Array.from(modulesContainer.values()).filter(({ controllers }) => controllers.has(metatype));
+ }
+ getModulePath(metatype) {
+ if (!metatype) {
+ return;
+ }
+ const modulesContainer = this.container.getModules();
+ const modulePath = Reflect.getMetadata(MODULE_PATH + modulesContainer.applicationId, metatype);
+ return modulePath ?? Reflect.getMetadata(MODULE_PATH, metatype);
+ }
+ getVersionMetadata(metatype) {
+ const versioningConfig = this.applicationConfig.getVersioning();
+ if (versioningConfig) {
+ return Reflect.getMetadata(VERSION_METADATA, metatype) ?? versioningConfig.defaultVersion;
+ }
+ }
+ };
+ }
+});
+
+// ../../node_modules/.pnpm/@nestjs+core@12.2.0_@nestjs_74b3aa22af8a41de6299655ec5713214/node_modules/@nestjs/core/middleware/middleware-module.js
+var MiddlewareModule;
+var init_middleware_module = __esm({
+ "../../node_modules/.pnpm/@nestjs+core@12.2.0_@nestjs_74b3aa22af8a41de6299655ec5713214/node_modules/@nestjs/core/middleware/middleware-module.js"() {
+ init_common();
+ init_invalid_middleware_exception();
+ init_runtime_exception();
+ init_context_id_factory();
+ init_execution_context_host();
+ init_constants3();
+ init_request_constants();
+ init_router_exception_filters();
+ init_router_proxy();
+ init_utils();
+ init_builder();
+ init_resolver();
+ init_route_info_path_extractor();
+ init_routes_mapper();
+ init_common();
+ init_internal();
+ MiddlewareModule = class _MiddlewareModule {
+ static {
+ __name(this, "MiddlewareModule");
+ }
+ routerProxy = new RouterProxy();
+ logger = new Logger(_MiddlewareModule.name);
+ injector;
+ routerExceptionFilter;
+ routesMapper;
+ resolver;
+ container;
+ httpAdapter;
+ graphInspector;
+ appOptions;
+ routeInfoPathExtractor;
+ async register(middlewareContainer, container, config, injector, httpAdapter, graphInspector, options) {
+ this.appOptions = options;
+ const appRef = container.getHttpAdapterRef();
+ this.routerExceptionFilter = new RouterExceptionFilters(container, config, appRef);
+ this.routesMapper = new RoutesMapper(container, config);
+ this.resolver = new MiddlewareResolver(middlewareContainer, injector);
+ this.routeInfoPathExtractor = new RouteInfoPathExtractor(config);
+ this.injector = injector;
+ this.container = container;
+ this.httpAdapter = httpAdapter;
+ this.graphInspector = graphInspector;
+ const modules = container.getModules();
+ await this.resolveMiddleware(middlewareContainer, modules);
+ }
+ async resolveMiddleware(middlewareContainer, modules) {
+ const moduleEntries = [...modules.entries()];
+ const loadMiddlewareConfiguration = /* @__PURE__ */ __name(async ([moduleName, moduleRef]) => {
+ await this.loadConfiguration(middlewareContainer, moduleRef, moduleName);
+ await this.resolver.resolveInstances(moduleRef, moduleName);
+ }, "loadMiddlewareConfiguration");
+ await Promise.all(moduleEntries.map(loadMiddlewareConfiguration));
+ }
+ async loadConfiguration(middlewareContainer, moduleRef, moduleKey) {
+ const { instance } = moduleRef;
+ if (!instance.configure) {
+ return;
+ }
+ const middlewareBuilder = new MiddlewareBuilder(this.routesMapper, this.httpAdapter, this.routeInfoPathExtractor);
+ try {
+ await instance.configure(middlewareBuilder);
+ } catch (err) {
+ if (!this.appOptions.preview) {
+ throw err;
+ }
+ const warningMessage = `Warning! "${moduleRef.name}" module exposes a "configure" method that throws an exception in the preview mode (possibly due to missing dependencies). Note: you can ignore this message, just be aware that some of those conditional middlewares will not be reflected in your graph.`;
+ this.logger.warn(warningMessage);
+ }
+ if (!(middlewareBuilder instanceof MiddlewareBuilder)) {
+ return;
+ }
+ const config = middlewareBuilder.build();
+ middlewareContainer.insertConfig(config, moduleKey);
+ }
+ async registerMiddleware(middlewareContainer, applicationRef) {
+ const configs = middlewareContainer.getConfigurations();
+ const registerAllConfigs = /* @__PURE__ */ __name(async (moduleKey, middlewareConfig) => {
+ for (const config of middlewareConfig) {
+ await this.registerMiddlewareConfig(middlewareContainer, config, moduleKey, applicationRef);
+ }
+ }, "registerAllConfigs");
+ const entriesSortedByDistance = [...configs.entries()].sort(([moduleA], [moduleB]) => {
+ const moduleARef = this.container.getModuleByKey(moduleA);
+ const moduleBRef = this.container.getModuleByKey(moduleB);
+ const isModuleAGlobal = moduleARef.distance === Number.MAX_VALUE;
+ const isModuleBGlobal = moduleBRef.distance === Number.MAX_VALUE;
+ if (isModuleAGlobal && isModuleBGlobal) {
+ return 0;
+ }
+ if (isModuleAGlobal) {
+ return -1;
+ }
+ if (isModuleBGlobal) {
+ return 1;
+ }
+ return moduleARef.distance - moduleBRef.distance;
+ });
+ for (const [moduleRef, moduleConfigurations] of entriesSortedByDistance) {
+ await registerAllConfigs(moduleRef, [...moduleConfigurations]);
+ }
+ }
+ async registerMiddlewareConfig(middlewareContainer, config, moduleKey, applicationRef) {
+ const { forRoutes } = config;
+ for (const routeInfo of forRoutes) {
+ await this.registerRouteMiddleware(middlewareContainer, routeInfo, config, moduleKey, applicationRef);
+ }
+ }
+ async registerRouteMiddleware(middlewareContainer, routeInfo, config, moduleKey, applicationRef) {
+ const middlewareCollection = [].concat(config.middleware);
+ const moduleRef = this.container.getModuleByKey(moduleKey);
+ for (const metatype of middlewareCollection) {
+ const collection = middlewareContainer.getMiddlewareCollection(moduleKey);
+ const instanceWrapper = collection.get(metatype);
+ if (isUndefined(instanceWrapper)) {
+ throw new RuntimeException();
+ }
+ this.graphInspector.insertClassNode(moduleRef, instanceWrapper, "middleware");
+ const middlewareDefinition = {
+ type: "middleware",
+ methodName: "use",
+ className: instanceWrapper.name,
+ classNodeId: instanceWrapper.id,
+ metadata: {
+ key: routeInfo.path,
+ path: routeInfo.path,
+ requestMethod: RequestMethod[routeInfo.method] ?? "ALL",
+ version: routeInfo.version
+ }
+ };
+ this.graphInspector.insertEntrypointDefinition(middlewareDefinition, instanceWrapper.id);
+ await this.bindHandler(instanceWrapper, applicationRef, routeInfo, moduleRef, collection);
+ }
+ }
+ async bindHandler(wrapper, applicationRef, routeInfo, moduleRef, collection) {
+ const { instance, metatype } = wrapper;
+ if (isUndefined(instance?.use)) {
+ throw new InvalidMiddlewareException(metatype.name);
+ }
+ const isStatic = wrapper.isDependencyTreeStatic() && !wrapper.isTransient;
+ if (isStatic) {
+ const proxy = await this.createProxy(instance);
+ return this.registerHandler(applicationRef, routeInfo, proxy);
+ }
+ const isTreeDurable = wrapper.isDependencyTreeDurable();
+ let exceptionsHandler;
+ await this.registerHandler(applicationRef, routeInfo, async (req, res, next) => {
+ try {
+ const contextId = this.getContextId(req, isTreeDurable);
+ const contextInstance = await this.injector.loadPerContext(instance, moduleRef, collection, contextId);
+ const proxy = await this.createProxy(contextInstance, contextId);
+ return proxy(req, res, next);
+ } catch (err) {
+ exceptionsHandler ??= this.routerExceptionFilter.create(instance, instance.use, void 0);
+ const host = new ExecutionContextHost([req, res, next]);
+ exceptionsHandler.next(err, host);
+ }
+ });
+ }
+ async createProxy(instance, contextId = STATIC_CONTEXT) {
+ const exceptionsHandler = this.routerExceptionFilter.create(instance, instance.use, void 0, contextId);
+ const middleware = instance.use.bind(instance);
+ return this.routerProxy.createProxy(middleware, exceptionsHandler);
+ }
+ async registerHandler(applicationRef, routeInfo, proxy) {
+ const { method } = routeInfo;
+ const paths = this.routeInfoPathExtractor.extractPathsFrom(routeInfo);
+ const isMethodAll = isRequestMethodAll(method);
+ const requestMethod = RequestMethod[method];
+ const router = await applicationRef.createMiddlewareFactory(method);
+ const middlewareFunction = isMethodAll ? proxy : (req, res, next) => {
+ const actualRequestMethod = applicationRef.getRequestMethod?.(req);
+ if (actualRequestMethod === requestMethod || actualRequestMethod === RequestMethod[RequestMethod.HEAD] && requestMethod === RequestMethod[RequestMethod.GET]) {
+ return proxy(req, res, next);
+ }
+ return next();
+ };
+ const handledRequests = /* @__PURE__ */ new WeakSet();
+ const handler = /* @__PURE__ */ __name((req, res, next) => {
+ if (handledRequests.has(req)) {
+ return next();
+ }
+ handledRequests.add(req);
+ return middlewareFunction(req, res, next);
+ }, "handler");
+ const pathsToApplyMiddleware = paths.map((path) => path || "/").sort((a, b) => Number(b === "/") - Number(a === "/"));
+ pathsToApplyMiddleware.forEach((path) => router(path, handler));
+ }
+ getContextId(request, isTreeDurable) {
+ const contextId = ContextIdFactory.getByRequest(request);
+ if (!request[REQUEST_CONTEXT_ID]) {
+ Object.defineProperty(request, REQUEST_CONTEXT_ID, {
+ value: contextId,
+ enumerable: false,
+ writable: false,
+ configurable: false
+ });
+ const requestProviderValue = isTreeDurable ? contextId.payload : Object.assign(request, contextId.payload);
+ this.container.registerRequestProvider(requestProviderValue, contextId);
+ }
+ return contextId;
+ }
+ };
+ }
+});
+
+// ../../node_modules/.pnpm/@nestjs+core@12.2.0_@nestjs_74b3aa22af8a41de6299655ec5713214/node_modules/@nestjs/core/hooks/utils/get-instances-grouped-by-hierarchy-level.js
+function getInstancesGroupedByHierarchyLevel(...collections) {
+ const groupedByHierarchyLevel = /* @__PURE__ */ new Map();
+ for (const collection of collections) {
+ for (const [_, wrapper] of collection) {
+ if (!wrapper.isDependencyTreeStatic()) {
+ continue;
+ }
+ const level = wrapper.hierarchyLevel;
+ if (!groupedByHierarchyLevel.has(level)) {
+ groupedByHierarchyLevel.set(level, []);
+ }
+ const byHierarchyLevelGroup = groupedByHierarchyLevel.get(level);
+ if (wrapper.isTransient) {
+ const staticTransientInstances = wrapper.getStaticTransientInstances().filter((i) => !!i).map((i) => i.instance);
+ byHierarchyLevelGroup.push(...staticTransientInstances);
+ continue;
+ }
+ if (wrapper.instance) {
+ byHierarchyLevelGroup.push(wrapper.instance);
+ }
+ }
+ }
+ return groupedByHierarchyLevel;
+}
+var init_get_instances_grouped_by_hierarchy_level = __esm({
+ "../../node_modules/.pnpm/@nestjs+core@12.2.0_@nestjs_74b3aa22af8a41de6299655ec5713214/node_modules/@nestjs/core/hooks/utils/get-instances-grouped-by-hierarchy-level.js"() {
+ __name(getInstancesGroupedByHierarchyLevel, "getInstancesGroupedByHierarchyLevel");
+ }
+});
+
+// ../../node_modules/.pnpm/@nestjs+core@12.2.0_@nestjs_74b3aa22af8a41de6299655ec5713214/node_modules/@nestjs/core/hooks/utils/get-sorted-hierarchy-levels.js
+function getSortedHierarchyLevels(groups, order = "ASC") {
+ const comparator = order === "ASC" ? (a, b) => a - b : (a, b) => b - a;
+ const levels = Array.from(groups.keys()).sort(comparator);
+ return levels;
+}
+var init_get_sorted_hierarchy_levels = __esm({
+ "../../node_modules/.pnpm/@nestjs+core@12.2.0_@nestjs_74b3aa22af8a41de6299655ec5713214/node_modules/@nestjs/core/hooks/utils/get-sorted-hierarchy-levels.js"() {
+ __name(getSortedHierarchyLevels, "getSortedHierarchyLevels");
+ }
+});
+
+// ../../node_modules/.pnpm/@nestjs+core@12.2.0_@nestjs_74b3aa22af8a41de6299655ec5713214/node_modules/@nestjs/core/hooks/on-app-bootstrap.hook.js
+function hasOnAppBootstrapHook(instance) {
+ return isFunction(instance.onApplicationBootstrap);
+}
+function callOperator(instances) {
+ return (0, import_iterare12.iterate)(instances).filter((instance) => !isNil(instance)).filter(hasOnAppBootstrapHook).map(async (instance) => instance.onApplicationBootstrap()).toArray();
+}
+async function callModuleBootstrapHook(moduleRef) {
+ const providers = moduleRef.getNonAliasProviders();
+ const [_, moduleClassHost] = providers.shift();
+ const groupedInstances = getInstancesGroupedByHierarchyLevel(moduleRef.controllers, moduleRef.injectables, moduleRef.middlewares, providers);
+ const levels = getSortedHierarchyLevels(groupedInstances);
+ for (const level of levels) {
+ await Promise.all(callOperator(groupedInstances.get(level)));
+ }
+ const moduleClassInstance = moduleClassHost.instance;
+ if (moduleClassInstance && hasOnAppBootstrapHook(moduleClassInstance) && moduleClassHost.isDependencyTreeStatic()) {
+ await moduleClassInstance.onApplicationBootstrap();
+ }
+}
+var import_iterare12;
+var init_on_app_bootstrap_hook = __esm({
+ "../../node_modules/.pnpm/@nestjs+core@12.2.0_@nestjs_74b3aa22af8a41de6299655ec5713214/node_modules/@nestjs/core/hooks/on-app-bootstrap.hook.js"() {
+ init_internal();
+ import_iterare12 = __toESM(require_lib(), 1);
+ init_get_instances_grouped_by_hierarchy_level();
+ init_get_sorted_hierarchy_levels();
+ __name(hasOnAppBootstrapHook, "hasOnAppBootstrapHook");
+ __name(callOperator, "callOperator");
+ __name(callModuleBootstrapHook, "callModuleBootstrapHook");
+ }
+});
+
+// ../../node_modules/.pnpm/@nestjs+core@12.2.0_@nestjs_74b3aa22af8a41de6299655ec5713214/node_modules/@nestjs/core/hooks/on-app-shutdown.hook.js
+function hasOnAppShutdownHook(instance) {
+ return isFunction(instance.onApplicationShutdown);
+}
+function callOperator2(instances, signal) {
+ return (0, import_iterare13.iterate)(instances).filter((instance) => !isNil(instance)).filter(hasOnAppShutdownHook).map(async (instance) => instance.onApplicationShutdown(signal)).toArray();
+}
+async function callAppShutdownHook(moduleRef, signal) {
+ const providers = moduleRef.getNonAliasProviders();
+ const [_, moduleClassHost] = providers.shift();
+ const groupedInstances = getInstancesGroupedByHierarchyLevel(moduleRef.controllers, moduleRef.injectables, moduleRef.middlewares, providers);
+ const levels = getSortedHierarchyLevels(groupedInstances, "DESC");
+ for (const level of levels) {
+ const results = await Promise.allSettled(callOperator2(groupedInstances.get(level), signal));
+ results.filter((result) => result.status === "rejected").forEach((result) => Logger.error(result.reason, result.reason?.stack));
+ }
+ const moduleClassInstance = moduleClassHost.instance;
+ if (moduleClassInstance && hasOnAppShutdownHook(moduleClassInstance) && moduleClassHost.isDependencyTreeStatic()) {
+ try {
+ await moduleClassInstance.onApplicationShutdown(signal);
+ } catch (err) {
+ Logger.error(err, err?.stack);
+ }
+ }
+}
+var import_iterare13;
+var init_on_app_shutdown_hook = __esm({
+ "../../node_modules/.pnpm/@nestjs+core@12.2.0_@nestjs_74b3aa22af8a41de6299655ec5713214/node_modules/@nestjs/core/hooks/on-app-shutdown.hook.js"() {
+ init_common();
+ init_internal();
+ import_iterare13 = __toESM(require_lib(), 1);
+ init_get_instances_grouped_by_hierarchy_level();
+ init_get_sorted_hierarchy_levels();
+ __name(hasOnAppShutdownHook, "hasOnAppShutdownHook");
+ __name(callOperator2, "callOperator");
+ __name(callAppShutdownHook, "callAppShutdownHook");
+ }
+});
+
+// ../../node_modules/.pnpm/@nestjs+core@12.2.0_@nestjs_74b3aa22af8a41de6299655ec5713214/node_modules/@nestjs/core/hooks/on-module-destroy.hook.js
+function hasOnModuleDestroyHook(instance) {
+ return isFunction(instance.onModuleDestroy);
+}
+function callOperator3(instances) {
+ return (0, import_iterare14.iterate)(instances).filter((instance) => !isNil(instance)).filter(hasOnModuleDestroyHook).map(async (instance) => instance.onModuleDestroy()).toArray();
+}
+async function callModuleDestroyHook(moduleRef) {
+ const providers = moduleRef.getNonAliasProviders();
+ const [_, moduleClassHost] = providers.shift();
+ const groupedInstances = getInstancesGroupedByHierarchyLevel(moduleRef.controllers, moduleRef.injectables, moduleRef.middlewares, providers);
+ const levels = getSortedHierarchyLevels(groupedInstances, "DESC");
+ for (const level of levels) {
+ const results = await Promise.allSettled(callOperator3(groupedInstances.get(level)));
+ results.filter((result) => result.status === "rejected").forEach((result) => Logger.error(result.reason, result.reason?.stack));
+ }
+ const moduleClassInstance = moduleClassHost.instance;
+ if (moduleClassInstance && hasOnModuleDestroyHook(moduleClassInstance) && moduleClassHost.isDependencyTreeStatic()) {
+ try {
+ await moduleClassInstance.onModuleDestroy();
+ } catch (err) {
+ Logger.error(err, err?.stack);
+ }
+ }
+}
+var import_iterare14;
+var init_on_module_destroy_hook = __esm({
+ "../../node_modules/.pnpm/@nestjs+core@12.2.0_@nestjs_74b3aa22af8a41de6299655ec5713214/node_modules/@nestjs/core/hooks/on-module-destroy.hook.js"() {
+ init_common();
+ init_internal();
+ import_iterare14 = __toESM(require_lib(), 1);
+ init_get_instances_grouped_by_hierarchy_level();
+ init_get_sorted_hierarchy_levels();
+ __name(hasOnModuleDestroyHook, "hasOnModuleDestroyHook");
+ __name(callOperator3, "callOperator");
+ __name(callModuleDestroyHook, "callModuleDestroyHook");
+ }
+});
+
+// ../../node_modules/.pnpm/@nestjs+core@12.2.0_@nestjs_74b3aa22af8a41de6299655ec5713214/node_modules/@nestjs/core/hooks/on-module-init.hook.js
+function hasOnModuleInitHook(instance) {
+ return isFunction(instance.onModuleInit);
+}
+function callOperator4(instances) {
+ return (0, import_iterare15.iterate)(instances).filter((instance) => !isNil(instance)).filter(hasOnModuleInitHook).map(async (instance) => instance.onModuleInit()).toArray();
+}
+async function callModuleInitHook(moduleRef) {
+ const providers = moduleRef.getNonAliasProviders();
+ const [_, moduleClassHost] = providers.shift();
+ const groupedInstances = getInstancesGroupedByHierarchyLevel(moduleRef.controllers, moduleRef.injectables, moduleRef.middlewares, providers);
+ const levels = getSortedHierarchyLevels(groupedInstances);
+ for (const level of levels) {
+ await Promise.all(callOperator4(groupedInstances.get(level)));
+ }
+ const moduleClassInstance = moduleClassHost.instance;
+ if (moduleClassInstance && hasOnModuleInitHook(moduleClassInstance) && moduleClassHost.isDependencyTreeStatic()) {
+ await moduleClassInstance.onModuleInit();
+ }
+}
+var import_iterare15;
+var init_on_module_init_hook = __esm({
+ "../../node_modules/.pnpm/@nestjs+core@12.2.0_@nestjs_74b3aa22af8a41de6299655ec5713214/node_modules/@nestjs/core/hooks/on-module-init.hook.js"() {
+ init_internal();
+ import_iterare15 = __toESM(require_lib(), 1);
+ init_get_instances_grouped_by_hierarchy_level();
+ init_get_sorted_hierarchy_levels();
+ __name(hasOnModuleInitHook, "hasOnModuleInitHook");
+ __name(callOperator4, "callOperator");
+ __name(callModuleInitHook, "callModuleInitHook");
+ }
+});
+
+// ../../node_modules/.pnpm/@nestjs+core@12.2.0_@nestjs_74b3aa22af8a41de6299655ec5713214/node_modules/@nestjs/core/hooks/before-app-shutdown.hook.js
+function hasBeforeApplicationShutdownHook(instance) {
+ return isFunction(instance.beforeApplicationShutdown);
+}
+function callOperator5(instances, signal) {
+ return (0, import_iterare16.iterate)(instances).filter((instance) => !isNil(instance)).filter(hasBeforeApplicationShutdownHook).map(async (instance) => instance.beforeApplicationShutdown(signal)).toArray();
+}
+async function callBeforeAppShutdownHook(moduleRef, signal) {
+ const providers = moduleRef.getNonAliasProviders();
+ const [_, moduleClassHost] = providers.shift();
+ const groupedInstances = getInstancesGroupedByHierarchyLevel(moduleRef.controllers, moduleRef.injectables, moduleRef.middlewares, providers);
+ const levels = getSortedHierarchyLevels(groupedInstances, "DESC");
+ for (const level of levels) {
+ const results = await Promise.allSettled(callOperator5(groupedInstances.get(level), signal));
+ results.filter((result) => result.status === "rejected").forEach((result) => Logger.error(result.reason, result.reason?.stack));
+ }
+ const moduleClassInstance = moduleClassHost.instance;
+ if (moduleClassInstance && hasBeforeApplicationShutdownHook(moduleClassInstance) && moduleClassHost.isDependencyTreeStatic()) {
+ try {
+ await moduleClassInstance.beforeApplicationShutdown(signal);
+ } catch (err) {
+ Logger.error(err, err?.stack);
+ }
+ }
+}
+var import_iterare16;
+var init_before_app_shutdown_hook = __esm({
+ "../../node_modules/.pnpm/@nestjs+core@12.2.0_@nestjs_74b3aa22af8a41de6299655ec5713214/node_modules/@nestjs/core/hooks/before-app-shutdown.hook.js"() {
+ init_common();
+ init_internal();
+ import_iterare16 = __toESM(require_lib(), 1);
+ init_get_instances_grouped_by_hierarchy_level();
+ init_get_sorted_hierarchy_levels();
+ __name(hasBeforeApplicationShutdownHook, "hasBeforeApplicationShutdownHook");
+ __name(callOperator5, "callOperator");
+ __name(callBeforeAppShutdownHook, "callBeforeAppShutdownHook");
+ }
+});
+
+// ../../node_modules/.pnpm/@nestjs+core@12.2.0_@nestjs_74b3aa22af8a41de6299655ec5713214/node_modules/@nestjs/core/hooks/index.js
+var init_hooks = __esm({
+ "../../node_modules/.pnpm/@nestjs+core@12.2.0_@nestjs_74b3aa22af8a41de6299655ec5713214/node_modules/@nestjs/core/hooks/index.js"() {
+ init_on_app_bootstrap_hook();
+ init_on_app_shutdown_hook();
+ init_on_module_destroy_hook();
+ init_on_module_init_hook();
+ init_before_app_shutdown_hook();
+ }
+});
+
+// ../../node_modules/.pnpm/@nestjs+core@12.2.0_@nestjs_74b3aa22af8a41de6299655ec5713214/node_modules/@nestjs/core/nest-application-context.js
+var NestApplicationContext;
+var init_nest_application_context = __esm({
+ "../../node_modules/.pnpm/@nestjs+core@12.2.0_@nestjs_74b3aa22af8a41de6299655ec5713214/node_modules/@nestjs/core/nest-application-context.js"() {
+ init_common();
+ init_constants2();
+ init_exceptions2();
+ init_context_id_factory();
+ init_hooks();
+ init_abstract_instance_resolver();
+ init_injector();
+ init_instance_links_host();
+ init_internal();
+ NestApplicationContext = class _NestApplicationContext extends AbstractInstanceResolver {
+ static {
+ __name(this, "NestApplicationContext");
+ }
+ container;
+ appOptions;
+ contextModule;
+ scope;
+ isInitialized = false;
+ injector;
+ logger = new Logger(_NestApplicationContext.name, {
+ timestamp: true
+ });
+ shouldFlushLogsOnOverride = false;
+ shutdownCleanupRefs = /* @__PURE__ */ new Map();
+ moduleCompiler;
+ shutdownPromise;
+ receivedSignal = false;
+ _instanceLinksHost;
+ _moduleRefsForHooksByDistance;
+ initializationPromise;
+ get instanceLinksHost() {
+ if (!this._instanceLinksHost) {
+ this._instanceLinksHost = new InstanceLinksHost(this.container);
+ }
+ return this._instanceLinksHost;
+ }
+ constructor(container, appOptions = {}, contextModule = null, scope = new Array()) {
+ super();
+ this.container = container;
+ this.appOptions = appOptions;
+ this.contextModule = contextModule;
+ this.scope = scope;
+ this.injector = new Injector();
+ this.moduleCompiler = container.getModuleCompiler();
+ if (this.appOptions.preview) {
+ this.printInPreviewModeWarning();
+ }
+ }
+ selectContextModule() {
+ const modules = this.container.getModules().values();
+ this.contextModule = modules.next().value;
+ }
+ /**
+ * Allows navigating through the modules tree, for example, to pull out a specific instance from the selected module.
+ * @returns {INestApplicationContext}
+ */
+ select(moduleType, selectOptions) {
+ const modulesContainer = this.container.getModules();
+ const contextModuleCtor = this.contextModule.metatype;
+ const scope = this.scope.concat(contextModuleCtor);
+ const moduleTokenFactory = this.container.getModuleTokenFactory();
+ const { type, dynamicMetadata } = this.moduleCompiler.extractMetadata(moduleType);
+ const token = dynamicMetadata ? moduleTokenFactory.createForDynamic(type, dynamicMetadata, moduleType) : moduleTokenFactory.createForStatic(type, moduleType);
+ const selectedModule = modulesContainer.get(token);
+ if (!selectedModule) {
+ throw new UnknownModuleException(type.name);
+ }
+ const options = typeof selectOptions?.abortOnError !== "undefined" ? {
+ ...this.appOptions,
+ ...selectOptions
+ } : this.appOptions;
+ return new _NestApplicationContext(this.container, options, selectedModule, scope);
+ }
+ /**
+ * Retrieves an instance (or a list of instances) of either injectable or controller, otherwise, throws exception.
+ * @returns {TResult | Array}
+ */
+ get(typeOrToken, options = { strict: false }) {
+ return !(options && options.strict) ? this.find(typeOrToken, options) : this.find(typeOrToken, {
+ moduleId: this.contextModule?.id,
+ each: options.each
+ });
+ }
+ /**
+ * Resolves transient or request-scoped instance (or a list of instances) of either injectable or controller, otherwise, throws exception.
+ * @returns {Promise>}
+ */
+ resolve(typeOrToken, contextId = createContextId(), options = { strict: false }) {
+ return this.resolvePerContext(typeOrToken, this.contextModule, contextId, options);
+ }
+ /**
+ * Registers the request/context object for a given context ID (DI container sub-tree).
+ * @returns {void}
+ */
+ registerRequestByContextId(request, contextId) {
+ this.container.registerRequestProvider(request, contextId);
+ }
+ /**
+ * Initializes the Nest application.
+ * Calls the Nest lifecycle events.
+ *
+ * @returns {Promise} The NestApplicationContext instance as Promise
+ */
+ async init() {
+ if (this.isInitialized) {
+ return this;
+ }
+ this.initializationPromise = this.callInitHook().then(() => this.callBootstrapHook());
+ try {
+ await this.initializationPromise;
+ } catch (err) {
+ this.flushLogsIfAutoFlushEnabled();
+ throw err;
+ }
+ this.isInitialized = true;
+ return this;
+ }
+ /**
+ * Terminates the application
+ * @returns {Promise}
+ */
+ async close(signal) {
+ await this.shutdown(signal);
+ }
+ /**
+ * Runs the shutdown sequence, at most once per cycle. Callers that arrive
+ * while a shutdown is already in flight - a process signal delivered during
+ * an explicit `close()`, or the other way round - await the very same
+ * promise instead of starting a second, concurrent teardown.
+ *
+ * @param {string} [signal] The system signal that triggered the shutdown
+ * @returns {Promise}
+ */
+ shutdown(signal) {
+ this.shutdownPromise ??= this.runShutdownSequence(signal).finally(() => {
+ this.shutdownPromise = void 0;
+ });
+ return this.shutdownPromise;
+ }
+ async runShutdownSequence(signal) {
+ await this.initializationPromise?.catch(() => void 0);
+ await this.prepareClose();
+ await this.callDestroyHook();
+ await this.callBeforeShutdownHook(signal);
+ await this.dispose();
+ await this.callShutdownHook(signal);
+ this.unsubscribeFromProcessSignals();
+ }
+ /**
+ * Sets custom logger service.
+ * Flushes buffered logs if auto flush is on.
+ * @returns {void}
+ */
+ useLogger(logger3) {
+ Logger.overrideLogger(logger3);
+ if (this.shouldFlushLogsOnOverride) {
+ this.flushLogs();
+ }
+ }
+ /**
+ * Prints buffered logs and detaches buffer.
+ * @returns {void}
+ */
+ flushLogs() {
+ Logger.flush();
+ }
+ flushLogsIfAutoFlushEnabled() {
+ if (this.appOptions?.autoFlushLogs ?? true) {
+ this.flushLogs();
+ }
+ }
+ /**
+ * Define that it must flush logs right after defining a custom logger.
+ */
+ flushLogsOnOverride() {
+ this.shouldFlushLogsOnOverride = true;
+ }
+ /**
+ * Enables the usage of shutdown hooks. Will call the
+ * `onApplicationShutdown` function of a provider if the
+ * process receives a shutdown signal.
+ *
+ * Repeated calls are idempotent per signal. Shutdown hooks can be
+ * re-enabled after the application context has been closed.
+ *
+ * @param {ShutdownSignal[]} [signals=[]] The system signals it should listen to
+ * @param {ShutdownHooksOptions} [options={}] Options for configuring shutdown hooks behavior
+ *
+ * @returns {this} The Nest application context instance
+ */
+ enableShutdownHooks(signals = [], options = {}) {
+ if (!signals || isEmptyArray(signals)) {
+ signals = Object.values(ShutdownSignal);
+ }
+ signals = Array.from(new Set(signals.map((signal) => signal.toString().toUpperCase().trim()))).filter((signal) => !this.shutdownCleanupRefs.has(signal));
+ this.listenToShutdownSignals(signals, options);
+ return this;
+ }
+ async prepareClose() {
+ return Promise.resolve();
+ }
+ async dispose() {
+ return Promise.resolve();
+ }
+ /**
+ * Listens to shutdown signals by listening to
+ * process events
+ *
+ * @param {string[]} signals The system signals it should listen to
+ * @param {ShutdownHooksOptions} options Options for configuring shutdown hooks behavior
+ */
+ listenToShutdownSignals(signals, options = {}) {
+ const cleanup = /* @__PURE__ */ __name(async (signal) => {
+ try {
+ if (this.receivedSignal) {
+ return;
+ }
+ this.receivedSignal = true;
+ await this.shutdown(signal).finally(() => {
+ this.receivedSignal = false;
+ });
+ if (options.useProcessExit) {
+ process.exit(0);
+ } else {
+ process.kill(process.pid, signal);
+ }
+ } catch (err) {
+ Logger.error(MESSAGES.ERROR_DURING_SHUTDOWN, err?.stack, _NestApplicationContext.name);
+ process.exit(1);
+ }
+ }, "cleanup");
+ signals.forEach((signal) => {
+ this.shutdownCleanupRefs.set(signal, cleanup);
+ process.on(signal, cleanup);
+ });
+ }
+ /**
+ * Unsubscribes from shutdown signals (process events)
+ */
+ unsubscribeFromProcessSignals() {
+ this.shutdownCleanupRefs.forEach((cleanup, signal) => {
+ process.removeListener(signal, cleanup);
+ });
+ this.shutdownCleanupRefs.clear();
+ }
+ /**
+ * Calls the `onModuleInit` function on the registered
+ * modules and its children.
+ */
+ async callInitHook() {
+ const modulesSortedByDistance = this.getModulesToTriggerHooksOn();
+ for (const module of modulesSortedByDistance) {
+ await callModuleInitHook(module);
+ }
+ }
+ /**
+ * Calls the `onModuleDestroy` function on the registered
+ * modules and its children.
+ */
+ async callDestroyHook() {
+ const modulesSortedByDistance = [
+ ...this.getModulesToTriggerHooksOn()
+ ].reverse();
+ for (const module of modulesSortedByDistance) {
+ await callModuleDestroyHook(module);
+ }
+ }
+ /**
+ * Calls the `onApplicationBootstrap` function on the registered
+ * modules and its children.
+ */
+ async callBootstrapHook() {
+ const modulesSortedByDistance = this.getModulesToTriggerHooksOn();
+ for (const module of modulesSortedByDistance) {
+ await callModuleBootstrapHook(module);
+ }
+ }
+ /**
+ * Calls the `onApplicationShutdown` function on the registered
+ * modules and children.
+ */
+ async callShutdownHook(signal) {
+ const modulesSortedByDistance = [
+ ...this.getModulesToTriggerHooksOn()
+ ].reverse();
+ for (const module of modulesSortedByDistance) {
+ await callAppShutdownHook(module, signal);
+ }
+ }
+ /**
+ * Calls the `beforeApplicationShutdown` function on the registered
+ * modules and children.
+ */
+ async callBeforeShutdownHook(signal) {
+ const modulesSortedByDistance = [
+ ...this.getModulesToTriggerHooksOn()
+ ].reverse();
+ for (const module of modulesSortedByDistance) {
+ await callBeforeAppShutdownHook(module, signal);
+ }
+ }
+ assertNotInPreviewMode(methodName) {
+ if (this.appOptions.preview) {
+ const error = `Calling the "${methodName}" in the preview mode is not supported.`;
+ this.logger.error(error);
+ throw new Error(error);
+ }
+ }
+ getModulesToTriggerHooksOn() {
+ if (this._moduleRefsForHooksByDistance) {
+ return this._moduleRefsForHooksByDistance;
+ }
+ const modulesContainer = this.container.getModules();
+ const compareFn = /* @__PURE__ */ __name((a, b) => b.distance - a.distance, "compareFn");
+ const modulesSortedByDistance = Array.from(modulesContainer.values()).sort(compareFn);
+ this._moduleRefsForHooksByDistance = this.appOptions?.preview ? modulesSortedByDistance.filter((moduleRef) => moduleRef.initOnPreview) : modulesSortedByDistance;
+ return this._moduleRefsForHooksByDistance;
+ }
+ printInPreviewModeWarning() {
+ this.logger.warn("------------------------------------------------");
+ this.logger.warn("Application is running in the PREVIEW mode!");
+ this.logger.warn("Providers/controllers will not be instantiated.");
+ this.logger.warn("------------------------------------------------");
+ }
+ };
+ }
+});
+
+// ../../node_modules/.pnpm/@nestjs+core@12.2.0_@nestjs_74b3aa22af8a41de6299655ec5713214/node_modules/@nestjs/core/helpers/messages.js
+var MODULE_INIT_MESSAGE, ROUTE_MAPPED_MESSAGE, VERSIONED_ROUTE_MAPPED_MESSAGE, CONTROLLER_MAPPING_MESSAGE, VERSIONED_CONTROLLER_MAPPING_MESSAGE;
+var init_messages2 = __esm({
+ "../../node_modules/.pnpm/@nestjs+core@12.2.0_@nestjs_74b3aa22af8a41de6299655ec5713214/node_modules/@nestjs/core/helpers/messages.js"() {
+ init_common();
+ MODULE_INIT_MESSAGE = /* @__PURE__ */ __name((text, module) => `${module} dependencies initialized`, "MODULE_INIT_MESSAGE");
+ ROUTE_MAPPED_MESSAGE = /* @__PURE__ */ __name((path, method) => `Mapped {${path}, ${RequestMethod[method]}} route`, "ROUTE_MAPPED_MESSAGE");
+ VERSIONED_ROUTE_MAPPED_MESSAGE = /* @__PURE__ */ __name((path, method, version) => {
+ const controllerVersions = Array.isArray(version) ? version : [version];
+ const versions = controllerVersions.map((version2) => version2 === VERSION_NEUTRAL ? "Neutral" : version2).join(",");
+ return `Mapped {${path}, ${RequestMethod[method]}} (version: ${versions}) route`;
+ }, "VERSIONED_ROUTE_MAPPED_MESSAGE");
+ CONTROLLER_MAPPING_MESSAGE = /* @__PURE__ */ __name((name, path) => `${name} {${path}}:`, "CONTROLLER_MAPPING_MESSAGE");
+ VERSIONED_CONTROLLER_MAPPING_MESSAGE = /* @__PURE__ */ __name((name, path, version) => {
+ const controllerVersions = Array.isArray(version) ? version : [version];
+ const versions = controllerVersions.map((version2) => version2 === VERSION_NEUTRAL ? "Neutral" : version2).join(",");
+ return `${name} {${path}} (version: ${versions}):`;
+ }, "VERSIONED_CONTROLLER_MAPPING_MESSAGE");
+ }
+});
+
+// ../../node_modules/.pnpm/@nestjs+core@12.2.0_@nestjs_74b3aa22af8a41de6299655ec5713214/node_modules/@nestjs/core/errors/exceptions/unknown-request-mapping.exception.js
+var UnknownRequestMappingException;
+var init_unknown_request_mapping_exception = __esm({
+ "../../node_modules/.pnpm/@nestjs+core@12.2.0_@nestjs_74b3aa22af8a41de6299655ec5713214/node_modules/@nestjs/core/errors/exceptions/unknown-request-mapping.exception.js"() {
+ init_runtime_exception();
+ init_messages();
+ UnknownRequestMappingException = class extends RuntimeException {
+ static {
+ __name(this, "UnknownRequestMappingException");
+ }
+ constructor(metatype) {
+ super(UNKNOWN_REQUEST_MAPPING(metatype));
+ }
+ };
+ }
+});
+
+// ../../node_modules/.pnpm/@nestjs+core@12.2.0_@nestjs_74b3aa22af8a41de6299655ec5713214/node_modules/@nestjs/core/helpers/router-method-factory.js
+var REQUEST_METHOD_MAP, RouterMethodFactory;
+var init_router_method_factory = __esm({
+ "../../node_modules/.pnpm/@nestjs+core@12.2.0_@nestjs_74b3aa22af8a41de6299655ec5713214/node_modules/@nestjs/core/helpers/router-method-factory.js"() {
+ init_common();
+ REQUEST_METHOD_MAP = {
+ [RequestMethod.GET]: "get",
+ [RequestMethod.POST]: "post",
+ [RequestMethod.PUT]: "put",
+ [RequestMethod.DELETE]: "delete",
+ [RequestMethod.PATCH]: "patch",
+ [RequestMethod.ALL]: "all",
+ [RequestMethod.OPTIONS]: "options",
+ [RequestMethod.HEAD]: "head",
+ [RequestMethod.SEARCH]: "search",
+ [RequestMethod.PROPFIND]: "propfind",
+ [RequestMethod.PROPPATCH]: "proppatch",
+ [RequestMethod.MKCOL]: "mkcol",
+ [RequestMethod.COPY]: "copy",
+ [RequestMethod.MOVE]: "move",
+ [RequestMethod.LOCK]: "lock",
+ [RequestMethod.UNLOCK]: "unlock",
+ [RequestMethod.QUERY]: "query"
+ };
+ RouterMethodFactory = class {
+ static {
+ __name(this, "RouterMethodFactory");
+ }
+ get(target, requestMethod) {
+ const methodName = REQUEST_METHOD_MAP[requestMethod];
+ const method = target[methodName];
+ if (!method) {
+ return target.use;
+ }
+ return method;
+ }
+ };
+ }
+});
+
+// ../../node_modules/.pnpm/@nestjs+core@12.2.0_@nestjs_74b3aa22af8a41de6299655ec5713214/node_modules/@nestjs/core/helpers/cookies/parse-cookie-header.js
+function parseCookieHeader(header) {
+ const cookies = /* @__PURE__ */ Object.create(null);
+ if (!header) {
+ return cookies;
+ }
+ const source = Array.isArray(header) ? header.join("; ") : String(header);
+ for (const pair of source.split(";")) {
+ const eqIndex = pair.indexOf("=");
+ if (eqIndex === -1) {
+ continue;
+ }
+ const name = trimWhitespace(pair.slice(0, eqIndex));
+ if (!name || name in cookies) {
+ continue;
+ }
+ let value = trimWhitespace(pair.slice(eqIndex + 1));
+ if (value.length >= 2 && value[0] === '"' && value.endsWith('"')) {
+ value = value.slice(1, -1);
+ }
+ cookies[name] = safeDecode(value);
+ }
+ return cookies;
+}
+function trimWhitespace(input) {
+ let start = 0;
+ let end = input.length;
+ while (start < end && isWhitespace(input.charCodeAt(start))) {
+ start++;
+ }
+ while (end > start && isWhitespace(input.charCodeAt(end - 1))) {
+ end--;
+ }
+ return input.slice(start, end);
+}
+function isWhitespace(charCode) {
+ return charCode === 32 || charCode === 9;
+}
+function safeDecode(value) {
+ if (!value.includes("%")) {
+ return value;
+ }
+ try {
+ return decodeURIComponent(value);
+ } catch {
+ return value;
+ }
+}
+var init_parse_cookie_header = __esm({
+ "../../node_modules/.pnpm/@nestjs+core@12.2.0_@nestjs_74b3aa22af8a41de6299655ec5713214/node_modules/@nestjs/core/helpers/cookies/parse-cookie-header.js"() {
+ __name(parseCookieHeader, "parseCookieHeader");
+ __name(trimWhitespace, "trimWhitespace");
+ __name(isWhitespace, "isWhitespace");
+ __name(safeDecode, "safeDecode");
+ }
+});
+
+// ../../node_modules/.pnpm/@nestjs+core@12.2.0_@nestjs_74b3aa22af8a41de6299655ec5713214/node_modules/@nestjs/core/helpers/cookies/request-cookies.js
+function getParsedCookieHeader(req) {
+ let cookies = parsedCookiesCache.get(req);
+ if (!cookies) {
+ cookies = parseCookieHeader(req.headers?.cookie);
+ parsedCookiesCache.set(req, cookies);
+ }
+ return cookies;
+}
+function getRequestCookies(req) {
+ if (isObject(req.cookies)) {
+ return req.cookies;
+ }
+ return getParsedCookieHeader(req);
+}
+function getRequestCookie(req, name) {
+ const cookies = getRequestCookies(req);
+ return Object.prototype.hasOwnProperty.call(cookies, name) ? cookies[name] : void 0;
+}
+function getRequestSignedCookies(req, signer) {
+ const signedCookies = /* @__PURE__ */ Object.create(null);
+ if (signer) {
+ const cookies = getParsedCookieHeader(req);
+ for (const name of Object.keys(cookies)) {
+ const value = signer.unsign(cookies[name]);
+ if (value !== void 0) {
+ signedCookies[name] = value;
+ }
+ }
+ return signedCookies;
+ }
+ if (isObject(req.signedCookies)) {
+ for (const [name, value] of Object.entries(req.signedCookies)) {
+ if (value !== false) {
+ signedCookies[name] = value;
+ }
+ }
+ return signedCookies;
+ }
+ throw new Error('Cannot read signed cookies: no cookie secret is configured. Pass "cookies: { secret }" to NestFactory.create().');
+}
+function getRequestSignedCookie(req, name, signer) {
+ if (signer) {
+ const value = getParsedCookieHeader(req)[name];
+ return value === void 0 ? void 0 : signer.unsign(value);
+ }
+ return getRequestSignedCookies(req, signer)[name];
+}
+var parsedCookiesCache;
+var init_request_cookies = __esm({
+ "../../node_modules/.pnpm/@nestjs+core@12.2.0_@nestjs_74b3aa22af8a41de6299655ec5713214/node_modules/@nestjs/core/helpers/cookies/request-cookies.js"() {
+ init_internal();
+ init_parse_cookie_header();
+ parsedCookiesCache = /* @__PURE__ */ new WeakMap();
+ __name(getParsedCookieHeader, "getParsedCookieHeader");
+ __name(getRequestCookies, "getRequestCookies");
+ __name(getRequestCookie, "getRequestCookie");
+ __name(getRequestSignedCookies, "getRequestSignedCookies");
+ __name(getRequestSignedCookie, "getRequestSignedCookie");
+ }
+});
+
+// ../../node_modules/.pnpm/@nestjs+core@12.2.0_@nestjs_74b3aa22af8a41de6299655ec5713214/node_modules/@nestjs/core/router/route-params-factory.js
+var getBodyProperty, RouteParamsFactory;
+var init_route_params_factory = __esm({
+ "../../node_modules/.pnpm/@nestjs+core@12.2.0_@nestjs_74b3aa22af8a41de6299655ec5713214/node_modules/@nestjs/core/router/route-params-factory.js"() {
+ init_internal();
+ init_request_cookies();
+ getBodyProperty = /* @__PURE__ */ __name((body, key) => isObject(body) && !Array.isArray(body) && !ArrayBuffer.isView(body) || !isNil(body) && Object.hasOwn(Object(body), key) ? body[key] : void 0, "getBodyProperty");
+ RouteParamsFactory = class {
+ static {
+ __name(this, "RouteParamsFactory");
+ }
+ config;
+ constructor(config) {
+ this.config = config;
+ }
+ exchangeKeyForValue(key, data, { req, res, next }) {
+ switch (key) {
+ case RouteParamtypes.NEXT:
+ return next;
+ case RouteParamtypes.REQUEST:
+ return req;
+ case RouteParamtypes.RESPONSE:
+ return res;
+ case RouteParamtypes.BODY:
+ return data && req.body ? getBodyProperty(req.body, data) : req.body;
+ case RouteParamtypes.RAW_BODY:
+ return req.rawBody;
+ case RouteParamtypes.PARAM:
+ return data ? req.params[data] : req.params;
+ case RouteParamtypes.HOST:
+ const hosts = req.hosts || {};
+ return data ? hosts[data] : hosts;
+ case RouteParamtypes.QUERY:
+ return data ? req.query[data] : req.query;
+ case RouteParamtypes.HEADERS:
+ return data ? req.headers[data.toLowerCase()] : req.headers;
+ case RouteParamtypes.SESSION:
+ return req.session;
+ case RouteParamtypes.FILE:
+ return req[data || "file"];
+ case RouteParamtypes.FILES:
+ return req.files;
+ case RouteParamtypes.IP:
+ return req.ip;
+ case RouteParamtypes.COOKIES:
+ return data ? getRequestCookie(req, data) : getRequestCookies(req);
+ case RouteParamtypes.SIGNED_COOKIES: {
+ const signer = this.config?.getCookieSigner();
+ return data ? getRequestSignedCookie(req, data, signer) : getRequestSignedCookies(req, signer);
+ }
+ default:
+ return null;
+ }
+ }
+ };
+ }
+});
+
+// ../../node_modules/.pnpm/@nestjs+core@12.2.0_@nestjs_74b3aa22af8a41de6299655ec5713214/node_modules/@nestjs/core/router/rejected-by-pipes.js
+function markRejectedByPipes(request) {
+ if (typeof request === "object" && request !== null) {
+ rejectedRequests.add(request);
+ }
+}
+function isRejectedByPipes(request) {
+ return rejectedRequests.has(request);
+}
+var rejectedRequests;
+var init_rejected_by_pipes = __esm({
+ "../../node_modules/.pnpm/@nestjs+core@12.2.0_@nestjs_74b3aa22af8a41de6299655ec5713214/node_modules/@nestjs/core/router/rejected-by-pipes.js"() {
+ rejectedRequests = /* @__PURE__ */ new WeakSet();
+ __name(markRejectedByPipes, "markRejectedByPipes");
+ __name(isRejectedByPipes, "isRejectedByPipes");
+ }
+});
+
+// ../../node_modules/.pnpm/@nestjs+core@12.2.0_@nestjs_74b3aa22af8a41de6299655ec5713214/node_modules/@nestjs/core/router/sse-stream.js
+import { Transform } from "stream";
+function serializeSseLines(value, prefix) {
+ return value.split(/\r\n|\r|\n/).map((line) => `${prefix}${line}
+`).join("");
+}
+function toDataString(data) {
+ if (isObject(data)) {
+ return toDataString(JSON.stringify(data));
+ }
+ return serializeSseLines(data, "data: ");
+}
+function toCommentString(comment) {
+ return serializeSseLines(comment, ": ");
+}
+function omitHeaders(headers, names) {
+ const omitted = new Set(names.map((name) => name.toLowerCase()));
+ return Object.fromEntries(Object.entries(headers ?? {}).filter(([name]) => !omitted.has(name.toLowerCase())));
+}
+function formatMessage(message) {
+ const sanitize = /* @__PURE__ */ __name((val) => String(val).replace(/[\r\n]/g, ""), "sanitize");
+ let data = message.type ? `event: ${sanitize(message.type)}
+` : "";
+ data += !isNil(message.id) ? `id: ${sanitize(message.id)}
+` : "";
+ data += !isNil(message.retry) ? `retry: ${sanitize(message.retry)}
+` : "";
+ data += !isNil(message.comment) ? toCommentString(message.comment) : "";
+ data += !isNil(message.data) ? toDataString(message.data) : "";
+ return data + "\n";
+}
+function isCommentOnly(message) {
+ return !isNil(message.comment) && isUndefined(message.data) && isUndefined(message.type) && isUndefined(message.retry);
+}
+var SseStream;
+var init_sse_stream = __esm({
+ "../../node_modules/.pnpm/@nestjs+core@12.2.0_@nestjs_74b3aa22af8a41de6299655ec5713214/node_modules/@nestjs/core/router/sse-stream.js"() {
+ init_internal();
+ __name(serializeSseLines, "serializeSseLines");
+ __name(toDataString, "toDataString");
+ __name(toCommentString, "toCommentString");
+ __name(omitHeaders, "omitHeaders");
+ __name(formatMessage, "formatMessage");
+ __name(isCommentOnly, "isCommentOnly");
+ SseStream = class extends Transform {
+ static {
+ __name(this, "SseStream");
+ }
+ lastEventId = null;
+ _headersCommitted = false;
+ _destination = null;
+ _statusCode;
+ _additionalHeaders;
+ _isHttp2;
+ constructor(req) {
+ super({ objectMode: true });
+ this._isHttp2 = (req?.httpVersionMajor ?? 1) > 1;
+ if (req && req.socket && !this._isHttp2) {
+ req.socket.setKeepAlive(true);
+ req.socket.setNoDelay(true);
+ req.socket.setTimeout(0);
+ }
+ }
+ get headersCommitted() {
+ return this._headersCommitted;
+ }
+ pipe(destination, options) {
+ this._destination = destination;
+ this._statusCode = options?.statusCode;
+ this._additionalHeaders = options?.additionalHeaders;
+ return super.pipe(destination, options);
+ }
+ /**
+ * Writes SSE headers to the destination if they have not been sent yet.
+ * The sources are read here, not in `pipe()`, to pick up the values that
+ * interceptors and handlers set after piping.
+ */
+ commitHeaders() {
+ if (this._headersCommitted || !this._destination || this._destination.writableEnded) {
+ return;
+ }
+ const statusCode = this.readStatusCode();
+ const additionalHeaders = this.readAdditionalHeaders();
+ if (this._destination.writeHead) {
+ const sseHeaders = {
+ // See https://github.com/dunglas/mercure/blob/main/subscribe.go#L347-L362
+ "Content-Type": "text/event-stream",
+ // Hop-by-hop header, forbidden in HTTP/2
+ // https://www.rfc-editor.org/rfc/rfc9113#section-8.2.2
+ ...!this._isHttp2 && { Connection: "keep-alive" },
+ // Disable cache, even for old browsers and proxies
+ "Cache-Control": "private, no-cache, no-store, must-revalidate, max-age=0, no-transform",
+ Pragma: "no-cache",
+ Expires: "0",
+ // NGINX support https://www.nginx.com/resources/wiki/start/topics/examples/x-accel/#x-accel-buffering
+ "X-Accel-Buffering": "no"
+ };
+ this._destination.writeHead(statusCode, {
+ ...omitHeaders(additionalHeaders, Object.keys(sseHeaders)),
+ ...sseHeaders
+ });
+ this._destination.flushHeaders?.();
+ }
+ this._headersCommitted = true;
+ this._destination.write("\n");
+ }
+ readStatusCode() {
+ const source = this._statusCode;
+ return (isFunction(source) ? source() : source) ?? 200;
+ }
+ readAdditionalHeaders() {
+ const source = this._additionalHeaders;
+ return isFunction(source) ? source() : source;
+ }
+ _transform(message, encoding, callback) {
+ this.commitHeaders();
+ this.push(isString(message) ? message : formatMessage(message));
+ callback();
+ }
+ /**
+ * Calls `.write` but handles the drain if needed
+ */
+ writeMessage(message, cb) {
+ let event = message;
+ if (isNil(message.id) && !isCommentOnly(message)) {
+ this.lastEventId++;
+ event = {
+ type: message.type,
+ id: this.lastEventId.toString(),
+ retry: message.retry,
+ comment: message.comment,
+ data: message.data
+ };
+ }
+ let chunk;
+ try {
+ chunk = formatMessage(event);
+ } catch (err) {
+ process.nextTick(cb, err);
+ return;
+ }
+ if (!this.write(chunk, "utf-8")) {
+ this.once("drain", cb);
+ } else {
+ process.nextTick(cb);
+ }
+ }
+ };
+ }
+});
+
+// ../../node_modules/.pnpm/@nestjs+core@12.2.0_@nestjs_74b3aa22af8a41de6299655ec5713214/node_modules/@nestjs/core/router/router-response-controller.js
+function getDataLength(message) {
+ return (isString(message.data) ? message.data.length : 0) + (isString(message.comment) ? message.comment.length : 0);
+}
+var import_rxjs7, import_operators2, DEFAULT_MAX_PENDING_DATA_LENGTH, RouterResponseController;
+var init_router_response_controller = __esm({
+ "../../node_modules/.pnpm/@nestjs+core@12.2.0_@nestjs_74b3aa22af8a41de6299655ec5713214/node_modules/@nestjs/core/router/router-response-controller.js"() {
+ init_common();
+ import_rxjs7 = __toESM(require_cjs(), 1);
+ import_operators2 = __toESM(require_operators(), 1);
+ init_constants2();
+ init_base_exception_filter();
+ init_sse_stream();
+ init_internal();
+ DEFAULT_MAX_PENDING_DATA_LENGTH = 4 * 1024 * 1024;
+ __name(getDataLength, "getDataLength");
+ RouterResponseController = class _RouterResponseController {
+ static {
+ __name(this, "RouterResponseController");
+ }
+ applicationRef;
+ logger = new Logger(_RouterResponseController.name);
+ exceptionFilter = new BaseExceptionFilter();
+ constructor(applicationRef) {
+ this.applicationRef = applicationRef;
+ }
+ async apply(result, response, httpStatusCode) {
+ return this.applicationRef.reply(response, result, httpStatusCode);
+ }
+ async redirect(resultOrDeferred, response, redirectResponse) {
+ const result = await this.transformToResult(resultOrDeferred);
+ const statusCode = result && result.statusCode ? result.statusCode : redirectResponse.statusCode ? redirectResponse.statusCode : HttpStatus.FOUND;
+ const url = result && result.url ? result.url : redirectResponse.url;
+ return this.applicationRef.redirect(response, statusCode, url);
+ }
+ async render(resultOrDeferred, response, template) {
+ const result = await this.transformToResult(resultOrDeferred);
+ return this.applicationRef.render(response, template, result);
+ }
+ async transformToResult(resultOrDeferred) {
+ if ((0, import_rxjs7.isObservable)(resultOrDeferred)) {
+ return (0, import_rxjs7.lastValueFrom)(resultOrDeferred);
+ }
+ return resultOrDeferred;
+ }
+ getStatusByMethod(requestMethod) {
+ switch (requestMethod) {
+ case RequestMethod.POST:
+ return HttpStatus.CREATED;
+ default:
+ return HttpStatus.OK;
+ }
+ }
+ setHeaders(response, headers) {
+ headers.forEach(({ name, value }) => this.applicationRef.setHeader(response, name, typeof value === "function" ? value() : value));
+ }
+ setStatus(response, statusCode) {
+ this.applicationRef.status(response, statusCode);
+ }
+ async sse(result, response, request, options) {
+ if (response.writableEnded) {
+ this.getOrCreateAbortController(request).abort();
+ Promise.resolve(result).catch((err) => this.logger.error(err));
+ return;
+ }
+ const stream = new SseStream(request);
+ const abortController = this.getOrCreateAbortController(request);
+ return new Promise((resolve, reject) => {
+ let settled = false;
+ let subscription;
+ const disconnectSource = request.socket ?? response;
+ const finalize = /* @__PURE__ */ __name(() => {
+ disconnectSource.removeListener("close", onClose);
+ abortController.abort();
+ }, "finalize");
+ const endStream = /* @__PURE__ */ __name(() => {
+ if (!stream.writableEnded) {
+ stream.end();
+ }
+ }, "endStream");
+ const fail2 = /* @__PURE__ */ __name((err) => {
+ settled = true;
+ finalize();
+ subscription?.unsubscribe();
+ stream.unpipe(response);
+ endStream();
+ reject(err);
+ }, "fail");
+ const commitHeaders = /* @__PURE__ */ __name(() => {
+ try {
+ stream.commitHeaders();
+ return true;
+ } catch (err) {
+ fail2(err);
+ return false;
+ }
+ }, "commitHeaders");
+ const onClose = /* @__PURE__ */ __name(() => {
+ if (settled) {
+ return;
+ }
+ settled = true;
+ finalize();
+ subscription?.unsubscribe();
+ endStream();
+ response.end();
+ resolve();
+ }, "onClose");
+ disconnectSource.once("close", onClose);
+ if (disconnectSource.destroyed) {
+ onClose();
+ }
+ Promise.resolve(result).then((observableResult) => {
+ if (settled) {
+ return;
+ }
+ this.assertObservable(observableResult);
+ stream.pipe(response, {
+ additionalHeaders: options?.additionalHeaders,
+ statusCode: options?.statusCode ?? (() => response.statusCode)
+ });
+ let pendingDataLength = 0;
+ const maxPendingDataLength = options?.maxPendingDataLength ?? DEFAULT_MAX_PENDING_DATA_LENGTH;
+ subscription = observableResult.pipe(
+ (0, import_operators2.map)((message) => {
+ const event = isObject(message) ? message : { data: message };
+ return isNil(event.data) || isString(event.data) ? event : {
+ type: event.type,
+ id: event.id,
+ retry: event.retry,
+ comment: event.comment,
+ data: JSON.stringify(event.data)
+ };
+ }),
+ // Events wait in concatMap() while the client is not reading.
+ // Past a limit, the connection is dropped as if the client had
+ // disconnected, rather than holding events for a client that may
+ // never read them. An EventSource then reconnects, and sends the
+ // id of the last event it received. A limit of 0, like Infinity,
+ // keeps every event.
+ (0, import_operators2.tap)((message) => {
+ pendingDataLength += getDataLength(message);
+ if (maxPendingDataLength && pendingDataLength > maxPendingDataLength && stream.writableNeedDrain) {
+ this.logger.warn(`The client is not reading its events: ${pendingDataLength} character(s) of event data are queued for it, which exceeds the maximum allowed ${maxPendingDataLength}`);
+ response.destroy?.();
+ onClose();
+ }
+ }),
+ (0, import_operators2.concatMap)((message) => new Promise((resolve2, reject2) => stream.writeMessage(message, (err) => {
+ pendingDataLength -= getDataLength(message);
+ return err ? reject2(err) : resolve2();
+ }))),
+ (0, import_operators2.catchError)((err) => {
+ if (!stream.headersCommitted) {
+ throw err;
+ }
+ const data = err instanceof HttpException || this.exceptionFilter.isHttpError(err) ? err.message : MESSAGES.UNKNOWN_EXCEPTION_MESSAGE;
+ if (!(err instanceof IntrinsicException)) {
+ this.logger.error(err);
+ }
+ stream.writeMessage({ type: "error", data }, (writeError) => {
+ if (writeError) {
+ this.logger.error(writeError);
+ }
+ });
+ return import_rxjs7.EMPTY;
+ })
+ ).subscribe({
+ error: /* @__PURE__ */ __name((err) => {
+ if (settled) {
+ return;
+ }
+ fail2(err);
+ }, "error"),
+ complete: /* @__PURE__ */ __name(() => {
+ if (settled) {
+ return;
+ }
+ if (!commitHeaders()) {
+ return;
+ }
+ settled = true;
+ finalize();
+ endStream();
+ resolve();
+ }, "complete")
+ });
+ if (settled) {
+ subscription.unsubscribe();
+ }
+ setTimeout(() => {
+ if (settled || !commitHeaders()) {
+ return;
+ }
+ if (request.method === "HEAD") {
+ settled = true;
+ finalize();
+ subscription?.unsubscribe();
+ endStream();
+ resolve();
+ }
+ }, 0);
+ }).catch((err) => {
+ if (settled) {
+ return;
+ }
+ fail2(err);
+ });
+ });
+ }
+ assertObservable(value) {
+ if (!(0, import_rxjs7.isObservable)(value)) {
+ throw new ReferenceError("You must return an Observable stream to use Server-Sent Events (SSE).");
+ }
+ }
+ getOrCreateAbortController(request) {
+ const carrier = request;
+ if (!carrier[SSE_ABORT_CONTROLLER]) {
+ carrier[SSE_ABORT_CONTROLLER] = new AbortController();
+ }
+ return carrier[SSE_ABORT_CONTROLLER];
+ }
+ };
+ }
+});
+
+// ../../node_modules/.pnpm/@nestjs+core@12.2.0_@nestjs_74b3aa22af8a41de6299655ec5713214/node_modules/@nestjs/core/router/router-execution-context.js
+var import_rxjs8, import_operators3, isThenable2, RouterExecutionContext;
+var init_router_execution_context = __esm({
+ "../../node_modules/.pnpm/@nestjs+core@12.2.0_@nestjs_74b3aa22af8a41de6299655ec5713214/node_modules/@nestjs/core/router/router-execution-context.js"() {
+ init_common();
+ init_internal();
+ import_rxjs8 = __toESM(require_cjs(), 1);
+ import_operators3 = __toESM(require_operators(), 1);
+ init_guards();
+ init_context_utils();
+ init_destroy_streamable_file();
+ init_handler_metadata_storage();
+ init_constants3();
+ init_rejected_by_pipes();
+ init_router_response_controller();
+ isThenable2 = /* @__PURE__ */ __name((value) => value !== null && (typeof value === "object" || typeof value === "function") && typeof value.then === "function", "isThenable");
+ RouterExecutionContext = class {
+ static {
+ __name(this, "RouterExecutionContext");
+ }
+ paramsFactory;
+ pipesContextCreator;
+ pipesConsumer;
+ guardsContextCreator;
+ guardsConsumer;
+ interceptorsContextCreator;
+ interceptorsConsumer;
+ applicationRef;
+ handlerMetadataStorage = new HandlerMetadataStorage();
+ contextUtils = new ContextUtils();
+ responseController;
+ constructor(paramsFactory, pipesContextCreator, pipesConsumer, guardsContextCreator, guardsConsumer, interceptorsContextCreator, interceptorsConsumer, applicationRef) {
+ this.paramsFactory = paramsFactory;
+ this.pipesContextCreator = pipesContextCreator;
+ this.pipesConsumer = pipesConsumer;
+ this.guardsContextCreator = guardsContextCreator;
+ this.guardsConsumer = guardsConsumer;
+ this.interceptorsContextCreator = interceptorsContextCreator;
+ this.interceptorsConsumer = interceptorsConsumer;
+ this.applicationRef = applicationRef;
+ this.responseController = new RouterResponseController(applicationRef);
+ }
+ create(instance, callback, methodName, moduleKey, requestMethod, contextId = STATIC_CONTEXT, inquirerId) {
+ const contextType = "http";
+ const { argsLength, fnHandleResponse, isSseHandler, paramtypes, getParamsMetadata, httpStatusCode, responseHeaders, hasCustomHeaders } = this.getMetadata(instance, callback, methodName, moduleKey, requestMethod, contextType);
+ const paramsOptions = this.contextUtils.mergeParamsMetatypes(getParamsMetadata(moduleKey, contextId, inquirerId), paramtypes);
+ const pipes = this.pipesContextCreator.create(instance, callback, moduleKey, contextId, inquirerId);
+ const guards = this.guardsContextCreator.create(instance, callback, moduleKey, contextId, inquirerId);
+ const interceptors = this.interceptorsContextCreator.create(instance, callback, moduleKey, contextId, inquirerId);
+ const fnCanActivate = this.createGuardsFn(guards, instance, callback, contextType);
+ const fnApplyPipes = this.createPipesFn(pipes, paramsOptions);
+ const handler = /* @__PURE__ */ __name((args, req, res, next, handlerObservable$, handlerFiles = []) => async () => {
+ try {
+ const pendingPipes = fnApplyPipes && fnApplyPipes(args, req, res, next);
+ pendingPipes && await pendingPipes;
+ } catch (err) {
+ markRejectedByPipes(req);
+ throw err;
+ }
+ const result = callback.apply(instance, args);
+ if (!handlerObservable$) {
+ return result;
+ }
+ this.notifyIfObservable(result, handlerObservable$);
+ return (0, import_rxjs8.isObservable)(result) ? result.pipe((0, import_operators3.tap)((value) => value instanceof StreamableFile && handlerFiles.push(value))) : result;
+ }, "handler");
+ return async (req, res, next) => {
+ const args = this.contextUtils.createNullArray(argsLength);
+ fnCanActivate && await fnCanActivate([req, res, next]);
+ this.responseController.setStatus(res, httpStatusCode);
+ hasCustomHeaders && this.responseController.setHeaders(res, responseHeaders);
+ if (isSseHandler) {
+ this.attachSseAbortSignal(req);
+ }
+ const handlerObservable$ = isSseHandler || isEmptyArray(interceptors) ? void 0 : new import_rxjs8.ReplaySubject(1);
+ const handlerFiles = [];
+ const resultOrDeferred = this.interceptorsConsumer.intercept(interceptors, [req, res, next], instance, callback, handler(args, req, res, next, handlerObservable$, handlerFiles), contextType);
+ const result = isSseHandler ? resultOrDeferred : await resultOrDeferred;
+ await fnHandleResponse(result, res, req, handlerObservable$, handlerFiles);
+ };
+ }
+ getMetadata(instance, callback, methodName, moduleKey, requestMethod, contextType) {
+ const cacheMetadata = this.handlerMetadataStorage.get(instance, methodName);
+ if (cacheMetadata) {
+ return cacheMetadata;
+ }
+ const metadata = this.contextUtils.reflectCallbackMetadata(instance, methodName, ROUTE_ARGS_METADATA) || {};
+ const keys = Object.keys(metadata);
+ const argsLength = this.contextUtils.getArgumentsLength(keys, metadata);
+ const paramtypes = this.contextUtils.reflectCallbackParamtypes(instance, methodName);
+ const contextFactory = this.contextUtils.getContextFactory(contextType, instance, callback);
+ const getParamsMetadata = /* @__PURE__ */ __name((moduleKey2, contextId = STATIC_CONTEXT, inquirerId) => this.exchangeKeysForValues(keys, metadata, moduleKey2, contextId, inquirerId, contextFactory), "getParamsMetadata");
+ const paramsMetadata = getParamsMetadata(moduleKey);
+ const isResponseHandled = this.isResponseHandled(instance, methodName, paramsMetadata);
+ const httpRedirectResponse = this.reflectRedirect(callback);
+ const fnHandleResponse = this.createHandleResponseFn(callback, isResponseHandled, httpRedirectResponse);
+ const isSseHandler = !!this.reflectSse(callback);
+ const httpCode = this.reflectHttpStatusCode(callback);
+ const httpStatusCode = httpCode ?? this.responseController.getStatusByMethod(requestMethod);
+ const responseHeaders = this.reflectResponseHeaders(callback);
+ const hasCustomHeaders = !isEmptyArray(responseHeaders);
+ const handlerMetadata = {
+ argsLength,
+ fnHandleResponse,
+ isSseHandler,
+ paramtypes,
+ getParamsMetadata,
+ httpStatusCode,
+ hasCustomHeaders,
+ responseHeaders
+ };
+ this.handlerMetadataStorage.set(instance, methodName, handlerMetadata);
+ return handlerMetadata;
+ }
+ reflectRedirect(callback) {
+ return Reflect.getMetadata(REDIRECT_METADATA, callback);
+ }
+ reflectHttpStatusCode(callback) {
+ return Reflect.getMetadata(HTTP_CODE_METADATA, callback);
+ }
+ reflectRenderTemplate(callback) {
+ return Reflect.getMetadata(RENDER_METADATA, callback);
+ }
+ reflectResponseHeaders(callback) {
+ return Reflect.getMetadata(HEADERS_METADATA, callback) || [];
+ }
+ reflectSse(callback) {
+ return Reflect.getMetadata(SSE_METADATA, callback);
+ }
+ reflectSseOptions(callback) {
+ return Reflect.getMetadata(SSE_OPTIONS_METADATA, callback);
+ }
+ exchangeKeysForValues(keys, metadata, moduleContext, contextId = STATIC_CONTEXT, inquirerId, contextFactory) {
+ this.pipesContextCreator.setModuleContext(moduleContext);
+ return keys.map((key) => {
+ const { index, data, pipes: pipesCollection, schema } = metadata[key];
+ const pipes = this.pipesContextCreator.createConcreteContext(pipesCollection, contextId, inquirerId);
+ const type = this.contextUtils.mapParamType(key);
+ if (key.includes(CUSTOM_ROUTE_ARGS_METADATA)) {
+ const { factory } = metadata[key];
+ const customExtractValue = this.contextUtils.getCustomFactory(factory, data, contextFactory);
+ return {
+ index,
+ extractValue: customExtractValue,
+ type,
+ data,
+ pipes,
+ schema
+ };
+ }
+ const numericType = Number(type);
+ const extractValue = /* @__PURE__ */ __name((req, res, next) => this.paramsFactory.exchangeKeyForValue(numericType, data, {
+ req,
+ res,
+ next
+ }), "extractValue");
+ return { index, extractValue, type: numericType, data, pipes, schema };
+ });
+ }
+ async getParamValue(value, metadata, pipes) {
+ if (!isEmptyArray(pipes)) {
+ return this.pipesConsumer.apply(value, metadata, pipes);
+ }
+ return value;
+ }
+ isPipeable(type) {
+ return type === RouteParamtypes.BODY || type === RouteParamtypes.RAW_BODY || type === RouteParamtypes.QUERY || type === RouteParamtypes.PARAM || type === RouteParamtypes.FILE || type === RouteParamtypes.FILES || type === RouteParamtypes.COOKIES || type === RouteParamtypes.SIGNED_COOKIES || isString(type);
+ }
+ createGuardsFn(guards, instance, callback, contextType) {
+ const canActivateFn = /* @__PURE__ */ __name(async (args) => {
+ const canActivate = await this.guardsConsumer.tryActivate(guards, args, instance, callback, contextType);
+ if (!canActivate) {
+ throw new ForbiddenException(FORBIDDEN_MESSAGE);
+ }
+ }, "canActivateFn");
+ return guards.length ? canActivateFn : null;
+ }
+ createPipesFn(pipes, paramsOptions) {
+ if (!paramsOptions.length) {
+ return null;
+ }
+ const params = paramsOptions.map(({ index, extractValue, type, data, metatype, pipes: paramPipes, schema }) => {
+ const isPipeable = this.isPipeable(type);
+ return {
+ index,
+ extractValue,
+ isPipeable,
+ metadata: { metatype, type, data, schema },
+ pipes: isPipeable ? pipes.concat(paramPipes) : []
+ };
+ });
+ const applyPipes = /* @__PURE__ */ __name(async (args, param, value) => {
+ args[param.index] = await this.getParamValue(value, param.metadata, param.pipes);
+ }, "applyPipes");
+ return (args, req, res, next) => {
+ let pending;
+ for (let i = 0; i < params.length; i++) {
+ const param = params[i];
+ try {
+ const value = param.extractValue(req, res, next);
+ if (param.isPipeable && (param.pipes.length > 0 || isThenable2(value))) {
+ (pending ??= []).push(applyPipes(args, param, value));
+ } else {
+ args[param.index] = value;
+ }
+ } catch (err) {
+ (pending ??= []).push(Promise.reject(err));
+ }
+ }
+ return pending && Promise.all(pending);
+ };
+ }
+ createHandleResponseFn(callback, isResponseHandled, redirectResponse, httpStatusCode) {
+ const renderTemplate = this.reflectRenderTemplate(callback);
+ if (renderTemplate) {
+ return async (result, res) => {
+ return await this.responseController.render(result, res, renderTemplate);
+ };
+ }
+ if (redirectResponse && isString(redirectResponse.url)) {
+ return async (result, res) => {
+ await this.responseController.redirect(result, res, redirectResponse);
+ };
+ }
+ const isSseHandler = !!this.reflectSse(callback);
+ if (isSseHandler) {
+ const maxPendingDataLength = this.reflectSseOptions(callback)?.maxPendingDataLength;
+ return async (result, res, req) => {
+ const rawResponse = res.raw ?? res;
+ await this.responseController.sse(result, rawResponse, req.raw || req, {
+ additionalHeaders: /* @__PURE__ */ __name(() => res.getHeaders?.(), "additionalHeaders"),
+ statusCode: /* @__PURE__ */ __name(() => res.statusCode ?? rawResponse.statusCode, "statusCode"),
+ maxPendingDataLength
+ });
+ };
+ }
+ return async (result, res, req, handlerObservable$, handlerFiles = []) => {
+ let disconnected = false;
+ if ((0, import_rxjs8.isObservable)(result)) {
+ const disconnect$ = (handlerObservable$ ?? (0, import_rxjs8.of)(null)).pipe((0, import_operators3.switchMap)(() => this.fromClientDisconnect(req, res)), (0, import_operators3.tap)(() => disconnected = true));
+ result = result.pipe((0, import_operators3.takeUntil)(disconnect$));
+ }
+ try {
+ result = await this.responseController.transformToResult(result);
+ } catch (err) {
+ if (!disconnected || !(err instanceof import_rxjs8.EmptyError)) {
+ throw err;
+ }
+ }
+ if (disconnected) {
+ [result, ...handlerFiles].forEach(destroyStreamableFile);
+ return res;
+ }
+ if (!isResponseHandled) {
+ try {
+ await this.responseController.apply(result, res, httpStatusCode);
+ } catch (err) {
+ destroyStreamableFile(result);
+ throw err;
+ }
+ }
+ return res;
+ };
+ }
+ notifyIfObservable(result, handlerObservable$) {
+ if ((0, import_rxjs8.isObservable)(result)) {
+ handlerObservable$.next();
+ } else if (result instanceof Promise) {
+ result.then((value) => (0, import_rxjs8.isObservable)(value) && handlerObservable$.next(), () => void 0);
+ }
+ }
+ /**
+ * Emits once the client connection closes, or right away if it already has.
+ * Watches the request socket, like `RouterResponseController#sse()` does.
+ */
+ fromClientDisconnect(req, res) {
+ return new import_rxjs8.Observable((subscriber) => {
+ const source = (req?.raw ?? req)?.socket ?? res?.raw ?? res;
+ if (typeof source?.once !== "function") {
+ return;
+ }
+ if (source.destroyed) {
+ subscriber.next();
+ return;
+ }
+ const onClose = /* @__PURE__ */ __name(() => subscriber.next(), "onClose");
+ source.once("close", onClose);
+ return () => source.removeListener("close", onClose);
+ });
+ }
+ isResponseHandled(instance, methodName, paramsMetadata) {
+ const hasResponseOrNextDecorator = paramsMetadata.some(({ type }) => type === RouteParamtypes.RESPONSE || type === RouteParamtypes.NEXT);
+ const isPassthroughEnabled = this.contextUtils.reflectPassthrough(instance, methodName);
+ return hasResponseOrNextDecorator && !isPassthroughEnabled;
+ }
+ attachSseAbortSignal(req) {
+ const carrier = req;
+ if (!carrier[SSE_ABORT_CONTROLLER]) {
+ carrier[SSE_ABORT_CONTROLLER] = new AbortController();
+ }
+ if (carrier.raw && !carrier.raw[SSE_ABORT_CONTROLLER]) {
+ carrier.raw[SSE_ABORT_CONTROLLER] = carrier[SSE_ABORT_CONTROLLER];
+ }
+ }
+ };
+ }
+});
+
+// ../../node_modules/.pnpm/@nestjs+core@12.2.0_@nestjs_74b3aa22af8a41de6299655ec5713214/node_modules/@nestjs/core/router/router-explorer.js
+var import_path_to_regexp4, RouterExplorer;
+var init_router_explorer = __esm({
+ "../../node_modules/.pnpm/@nestjs+core@12.2.0_@nestjs_74b3aa22af8a41de6299655ec5713214/node_modules/@nestjs/core/router/router-explorer.js"() {
+ import_path_to_regexp4 = __toESM(require_dist2(), 1);
+ init_unknown_request_mapping_exception();
+ init_guards();
+ init_context_id_factory();
+ init_execution_context_host();
+ init_messages2();
+ init_router_method_factory();
+ init_constants3();
+ init_interceptors();
+ init_pipes();
+ init_paths_explorer();
+ init_request_constants();
+ init_route_params_factory();
+ init_router_execution_context();
+ init_internal();
+ init_common();
+ RouterExplorer = class _RouterExplorer {
+ static {
+ __name(this, "RouterExplorer");
+ }
+ container;
+ injector;
+ routerProxy;
+ exceptionsFilter;
+ routePathFactory;
+ graphInspector;
+ executionContextCreator;
+ pathsExplorer;
+ routerMethodFactory = new RouterMethodFactory();
+ logger = new Logger(_RouterExplorer.name, {
+ timestamp: true
+ });
+ constructor(metadataScanner, container, injector, routerProxy, exceptionsFilter, config, routePathFactory, graphInspector) {
+ this.container = container;
+ this.injector = injector;
+ this.routerProxy = routerProxy;
+ this.exceptionsFilter = exceptionsFilter;
+ this.routePathFactory = routePathFactory;
+ this.graphInspector = graphInspector;
+ this.pathsExplorer = new PathsExplorer(metadataScanner);
+ const routeParamsFactory = new RouteParamsFactory(config);
+ const pipesContextCreator = new PipesContextCreator(container, config);
+ const pipesConsumer = new PipesConsumer();
+ const guardsContextCreator = new GuardsContextCreator(container, config);
+ const guardsConsumer = new GuardsConsumer();
+ const interceptorsContextCreator = new InterceptorsContextCreator(container, config);
+ const interceptorsConsumer = new InterceptorsConsumer();
+ this.executionContextCreator = new RouterExecutionContext(routeParamsFactory, pipesContextCreator, pipesConsumer, guardsContextCreator, guardsConsumer, interceptorsContextCreator, interceptorsConsumer, container.getHttpAdapterRef());
+ }
+ explore(instanceWrapper, moduleKey, httpAdapterRef, host, routePathMetadata, options = {}) {
+ const { instance } = instanceWrapper;
+ const routerPaths = this.pathsExplorer.scanForPaths(instance);
+ this.applyPathsToRouterProxy(httpAdapterRef, routerPaths, instanceWrapper, moduleKey, routePathMetadata, host, options);
+ }
+ extractRouterPath(metatype) {
+ const path = Reflect.getMetadata(PATH_METADATA, metatype);
+ if (isUndefined(path)) {
+ throw new UnknownRequestMappingException(metatype);
+ }
+ if (Array.isArray(path)) {
+ return path.map((p) => addLeadingSlash(p));
+ }
+ return [addLeadingSlash(path)];
+ }
+ applyPathsToRouterProxy(router, routeDefinitions, instanceWrapper, moduleKey, routePathMetadata, host, options = {}) {
+ (routeDefinitions || []).forEach((routeDefinition) => {
+ const { version: methodVersion } = routeDefinition;
+ routePathMetadata.methodVersion = methodVersion;
+ this.applyCallbackToRouter(router, routeDefinition, instanceWrapper, moduleKey, routePathMetadata, host, options);
+ });
+ }
+ applyCallbackToRouter(router, routeDefinition, instanceWrapper, moduleKey, routePathMetadata, host, options = {}) {
+ const { onRouteResolved, deferRegistration = false } = options;
+ const { path: paths, requestMethod, targetCallback, methodName } = routeDefinition;
+ const { instance } = instanceWrapper;
+ const routerMethodRef = this.routerMethodFactory.get(router, requestMethod).bind(router);
+ const isRequestScoped = !instanceWrapper.isDependencyTreeStatic();
+ const proxy = isRequestScoped ? this.createRequestScopedHandler(instanceWrapper, requestMethod, this.container.getModuleByKey(moduleKey), moduleKey, methodName) : this.createCallbackProxy(instance, targetCallback, methodName, moduleKey, requestMethod, STATIC_CONTEXT, instanceWrapper.id);
+ const isVersioned = (routePathMetadata.methodVersion || routePathMetadata.controllerVersion) && routePathMetadata.versioningOptions;
+ let routeHandler = this.applyHostFilter(host, proxy);
+ paths.forEach((path) => {
+ if (isVersioned && routePathMetadata.versioningOptions.type !== VersioningType.URI) {
+ routeHandler = this.applyVersionFilter(router, routePathMetadata, routeHandler);
+ }
+ routePathMetadata.methodPath = path;
+ const pathsToRegister = this.routePathFactory.create(routePathMetadata, requestMethod);
+ pathsToRegister.forEach((path2) => {
+ const normalizedPath = router.normalizePath ? router.normalizePath(path2) : path2;
+ const entrypointDefinition = {
+ type: "http-endpoint",
+ methodName,
+ className: instanceWrapper.name,
+ classNodeId: instanceWrapper.id,
+ metadata: {
+ key: path2,
+ path: path2,
+ requestMethod: RequestMethod[requestMethod],
+ methodVersion: routePathMetadata.methodVersion,
+ controllerVersion: routePathMetadata.controllerVersion
+ }
+ };
+ if (!deferRegistration) {
+ this.copyMetadataToCallback(targetCallback, routeHandler);
+ const httpAdapter = this.container.getHttpAdapterRef();
+ const onRouteTriggered = httpAdapter.getOnRouteTriggered?.();
+ let handler = routeHandler;
+ if (onRouteTriggered) {
+ handler = Object.assign((...args) => {
+ onRouteTriggered(requestMethod, path2);
+ return routeHandler(...args);
+ }, routeHandler);
+ this.copyMetadataToCallback(targetCallback, handler);
+ }
+ Object.defineProperty(handler, "name", {
+ configurable: true,
+ value: `${instanceWrapper.name}.${methodName}`
+ });
+ routerMethodRef(normalizedPath, handler);
+ }
+ onRouteResolved?.({
+ method: requestMethod,
+ path: normalizedPath,
+ rawPath: path2,
+ host,
+ version: routePathMetadata.methodVersion ?? routePathMetadata.controllerVersion,
+ methodVersion: routePathMetadata.methodVersion,
+ controllerVersion: routePathMetadata.controllerVersion,
+ handler: routeHandler,
+ targetCallback,
+ methodName,
+ instanceWrapper
+ });
+ this.graphInspector.insertEntrypointDefinition(entrypointDefinition, instanceWrapper.id);
+ });
+ const pathsToLog = this.routePathFactory.create({
+ ...routePathMetadata,
+ versioningOptions: void 0
+ }, requestMethod);
+ pathsToLog.forEach((path2) => {
+ if (isVersioned) {
+ const version = this.routePathFactory.getVersion(routePathMetadata);
+ this.logger.log(VERSIONED_ROUTE_MAPPED_MESSAGE(path2, requestMethod, version));
+ } else {
+ this.logger.log(ROUTE_MAPPED_MESSAGE(path2, requestMethod));
+ }
+ });
+ });
+ }
+ /**
+ * Registers a previously resolved route on the underlying HTTP adapter.
+ * Used when route registration has been deferred (e.g. when sorting
+ * routes by specificity) so the caller can choose the order in which
+ * routes are installed on the adapter.
+ */
+ registerResolvedRoute(router, route) {
+ const routerMethodRef = this.routerMethodFactory.get(router, route.method).bind(router);
+ this.copyMetadataToCallback(route.targetCallback, route.handler);
+ const normalizedPath = route.path;
+ const rawPath = route.rawPath ?? route.path;
+ const httpAdapter = this.container.getHttpAdapterRef();
+ const onRouteTriggered = httpAdapter.getOnRouteTriggered?.();
+ if (onRouteTriggered) {
+ const handler = Object.assign((...args) => {
+ onRouteTriggered(route.method, rawPath);
+ return route.handler(...args);
+ }, route.handler);
+ this.copyMetadataToCallback(route.targetCallback, handler);
+ routerMethodRef(normalizedPath, handler);
+ } else {
+ routerMethodRef(normalizedPath, route.handler);
+ }
+ }
+ applyHostFilter(host, handler) {
+ if (!host) {
+ return handler;
+ }
+ const httpAdapterRef = this.container.getHttpAdapterRef();
+ const hosts = Array.isArray(host) ? host : [host];
+ const hostRegExps = hosts.map((host2) => {
+ if (typeof host2 === "string") {
+ try {
+ return (0, import_path_to_regexp4.pathToRegexp)(host2);
+ } catch (e) {
+ if (e instanceof TypeError) {
+ this.logger.error(`Unsupported host "${host2}" syntax. In past releases, ?, *, and + were used to denote optional or repeating path parameters. The latest version of "path-to-regexp" now requires the use of named parameters. For example, instead of using a route like /users/* to capture all routes starting with "/users", you should use /users/*path. Please see the migration guide for more information.`);
+ }
+ throw e;
+ }
+ }
+ return { regexp: host2, keys: [] };
+ });
+ const unsupportedFilteringMessage = Array.isArray(host) ? `HTTP adapter does not support filtering on hosts: ["${host.join('", "')}"]` : `HTTP adapter does not support filtering on host: "${host}"`;
+ let hasWarnedOfUnsupportedFiltering = false;
+ return (req, res, next) => {
+ req.hosts = {};
+ const hostname = httpAdapterRef.getRequestHostname(req) || "";
+ for (const exp of hostRegExps) {
+ const match = hostname.match(exp.regexp);
+ if (match) {
+ if (exp.keys.length > 0) {
+ exp.keys.forEach((key, i) => req.hosts[key.name] = match[i + 1]);
+ } else if (exp.regexp && match.groups) {
+ for (const groupName in match.groups) {
+ req.hosts[groupName] = match.groups[groupName];
+ }
+ }
+ return handler(req, res, next);
+ }
+ }
+ if (!next) {
+ if (!hasWarnedOfUnsupportedFiltering) {
+ hasWarnedOfUnsupportedFiltering = true;
+ this.logger.warn(`${unsupportedFilteringMessage}. Requests for other hosts are answered with 404 instead of being passed on to other routes.`);
+ }
+ const method = httpAdapterRef.getRequestMethod(req);
+ const url = httpAdapterRef.getRequestUrl(req);
+ throw new NotFoundException(`Cannot ${method} ${url}`);
+ }
+ return next();
+ };
+ }
+ applyVersionFilter(router, routePathMetadata, handler) {
+ const version = this.routePathFactory.getVersion(routePathMetadata);
+ return router.applyVersionFilter(handler, version, routePathMetadata.versioningOptions);
+ }
+ createCallbackProxy(instance, callback, methodName, moduleRef, requestMethod, contextId = STATIC_CONTEXT, inquirerId) {
+ const executionContext = this.executionContextCreator.create(instance, callback, methodName, moduleRef, requestMethod, contextId, inquirerId);
+ const exceptionFilter = this.exceptionsFilter.create(instance, callback, moduleRef, contextId, inquirerId);
+ return this.routerProxy.createProxy(executionContext, exceptionFilter);
+ }
+ createRequestScopedHandler(instanceWrapper, requestMethod, moduleRef, moduleKey, methodName) {
+ const { instance } = instanceWrapper;
+ const collection = moduleRef.controllers;
+ const isTreeDurable = instanceWrapper.isDependencyTreeDurable();
+ let exceptionFilter;
+ return async (req, res, next) => {
+ try {
+ const contextId = this.getContextId(req, isTreeDurable);
+ const contextInstance = await this.injector.loadPerContext(instance, moduleRef, collection, contextId);
+ await this.createCallbackProxy(contextInstance, contextInstance[methodName], methodName, moduleKey, requestMethod, contextId, instanceWrapper.id)(req, res, next);
+ } catch (err) {
+ exceptionFilter ??= this.exceptionsFilter.create(instance, instance[methodName], moduleKey);
+ const host = new ExecutionContextHost([req, res, next]);
+ exceptionFilter.next(err, host);
+ }
+ };
+ }
+ getContextId(request, isTreeDurable) {
+ const contextId = ContextIdFactory.getByRequest(request);
+ if (!request[REQUEST_CONTEXT_ID]) {
+ Object.defineProperty(request, REQUEST_CONTEXT_ID, {
+ value: contextId,
+ enumerable: false,
+ writable: false,
+ configurable: false
+ });
+ const requestProviderValue = isTreeDurable ? contextId.payload : Object.assign(request, contextId.payload);
+ this.container.registerRequestProvider(requestProviderValue, contextId);
+ }
+ return contextId;
+ }
+ copyMetadataToCallback(originalCallback, targetCallback) {
+ for (const key of Reflect.getMetadataKeys(originalCallback)) {
+ Reflect.defineMetadata(key, Reflect.getMetadata(key, originalCallback), targetCallback);
+ }
+ }
+ };
+ }
+});
+
+// ../../node_modules/.pnpm/@nestjs+core@12.2.0_@nestjs_74b3aa22af8a41de6299655ec5713214/node_modules/@nestjs/core/router/routes-resolver.js
+var RoutesResolver;
+var init_routes_resolver = __esm({
+ "../../node_modules/.pnpm/@nestjs+core@12.2.0_@nestjs_74b3aa22af8a41de6299655ec5713214/node_modules/@nestjs/core/router/routes-resolver.js"() {
+ init_common();
+ init_internal();
+ init_messages2();
+ init_metadata_scanner();
+ init_route_path_factory();
+ init_router_exception_filters();
+ init_router_explorer();
+ init_router_proxy();
+ RoutesResolver = class _RoutesResolver {
+ static {
+ __name(this, "RoutesResolver");
+ }
+ container;
+ applicationConfig;
+ injector;
+ logger = new Logger(_RoutesResolver.name, {
+ timestamp: true
+ });
+ routerProxy = new RouterProxy();
+ routePathFactory;
+ routerExceptionsFilter;
+ routerExplorer;
+ constructor(container, applicationConfig, injector, graphInspector) {
+ this.container = container;
+ this.applicationConfig = applicationConfig;
+ this.injector = injector;
+ const httpAdapterRef = container.getHttpAdapterRef();
+ this.routerExceptionsFilter = new RouterExceptionFilters(container, applicationConfig, httpAdapterRef);
+ this.routePathFactory = new RoutePathFactory(this.applicationConfig);
+ const metadataScanner = new MetadataScanner();
+ this.routerExplorer = new RouterExplorer(metadataScanner, this.container, this.injector, this.routerProxy, this.routerExceptionsFilter, this.applicationConfig, this.routePathFactory, graphInspector);
+ }
+ resolve(applicationRef, globalPrefix, options = {}) {
+ const modules = this.container.getModules();
+ modules.forEach(({ controllers, metatype }, moduleName) => {
+ const modulePath = this.getModulePathMetadata(metatype);
+ this.registerRouters(controllers, moduleName, globalPrefix, modulePath, applicationRef, options);
+ });
+ }
+ registerResolvedRoute(applicationRef, route) {
+ this.routerExplorer.registerResolvedRoute(applicationRef, route);
+ }
+ registerRouters(routes, moduleName, globalPrefix, modulePath, applicationRef, options = {}) {
+ routes.forEach((instanceWrapper) => {
+ const { metatype } = instanceWrapper;
+ const host = this.getHostMetadata(metatype);
+ const routerPaths = this.routerExplorer.extractRouterPath(metatype);
+ const controllerVersion = this.getVersionMetadata(metatype);
+ const controllerName = metatype.name;
+ routerPaths.forEach((path) => {
+ const pathsToLog = this.routePathFactory.create({
+ ctrlPath: path,
+ modulePath,
+ globalPrefix
+ });
+ if (!controllerVersion) {
+ pathsToLog.forEach((path2) => {
+ const logMessage = CONTROLLER_MAPPING_MESSAGE(controllerName, path2);
+ this.logger.log(logMessage);
+ });
+ } else {
+ pathsToLog.forEach((path2) => {
+ const logMessage = VERSIONED_CONTROLLER_MAPPING_MESSAGE(controllerName, path2, controllerVersion);
+ this.logger.log(logMessage);
+ });
+ }
+ const versioningOptions = this.applicationConfig.getVersioning();
+ const routePathMetadata = {
+ ctrlPath: path,
+ modulePath,
+ globalPrefix,
+ controllerVersion,
+ versioningOptions
+ };
+ this.routerExplorer.explore(instanceWrapper, moduleName, applicationRef, host, routePathMetadata, options);
+ });
+ });
+ }
+ registerNotFoundHandler() {
+ const applicationRef = this.container.getHttpAdapterRef();
+ const callback = /* @__PURE__ */ __name((req, res) => {
+ const method = applicationRef.getRequestMethod(req);
+ const url = applicationRef.getRequestUrl(req);
+ throw new NotFoundException(`Cannot ${method} ${url}`);
+ }, "callback");
+ const handler = this.routerExceptionsFilter.create({}, callback, void 0);
+ const proxy = this.routerProxy.createProxy(callback, handler);
+ const prefix = this.applicationConfig.getGlobalPrefix();
+ const excludedRoutes = this.routePathFactory.getExcludedRoutePaths();
+ applicationRef.setNotFoundHandler && applicationRef.setNotFoundHandler(proxy, prefix, excludedRoutes);
+ }
+ registerExceptionHandler() {
+ const callback = /* @__PURE__ */ __name((err, req, res, next) => {
+ throw this.container.getHttpAdapterRef().mapException(err);
+ }, "callback");
+ const handler = this.routerExceptionsFilter.create({}, callback, void 0);
+ const proxy = this.routerProxy.createExceptionLayerProxy(callback, handler);
+ const applicationRef = this.container.getHttpAdapterRef();
+ const prefix = this.applicationConfig.getGlobalPrefix();
+ applicationRef.setErrorHandler && applicationRef.setErrorHandler(proxy, prefix);
+ }
+ getModulePathMetadata(metatype) {
+ const modulesContainer = this.container.getModules();
+ const modulePath = Reflect.getMetadata(MODULE_PATH + modulesContainer.applicationId, metatype);
+ return modulePath ?? Reflect.getMetadata(MODULE_PATH, metatype);
+ }
+ getHostMetadata(metatype) {
+ return Reflect.getMetadata(HOST_METADATA, metatype);
+ }
+ getVersionMetadata(metatype) {
+ const versioningConfig = this.applicationConfig.getVersioning();
+ if (versioningConfig) {
+ return Reflect.getMetadata(VERSION_METADATA, metatype) ?? versioningConfig.defaultVersion;
+ }
+ }
+ };
+ }
+});
+
+// ../../node_modules/.pnpm/@nestjs+core@12.2.0_@nestjs_74b3aa22af8a41de6299655ec5713214/node_modules/@nestjs/core/router/route-conflict-detector.js
+var RouteConflictDetector;
+var init_route_conflict_detector = __esm({
+ "../../node_modules/.pnpm/@nestjs+core@12.2.0_@nestjs_74b3aa22af8a41de6299655ec5713214/node_modules/@nestjs/core/router/route-conflict-detector.js"() {
+ init_common();
+ init_route_conflict_exception();
+ init_messages();
+ RouteConflictDetector = class _RouteConflictDetector {
+ static {
+ __name(this, "RouteConflictDetector");
+ }
+ /**
+ * Strips the leading `:` / `*` marker (if present) and tags each
+ * segment as a literal, named param, or named wildcard. Supports both
+ * bare named wildcards (`*path`) and adapter-normalized path-to-regexp
+ * wildcard groups (`{*path}`).
+ */
+ static tokenizePath(rawPath) {
+ const segments = [];
+ rawPath.split("/").filter((rawSegment) => rawSegment.length > 0).forEach((rawSegment) => {
+ if (rawSegment.startsWith("*")) {
+ segments.push({ kind: "wildcard", value: rawSegment.slice(1) });
+ return;
+ }
+ if (rawSegment.startsWith("{*") && rawSegment.endsWith("}")) {
+ segments.push({
+ kind: "wildcard",
+ value: rawSegment.slice(2, -1)
+ });
+ return;
+ }
+ if (rawSegment.startsWith(":")) {
+ segments.push({ kind: "param", value: rawSegment.slice(1) });
+ return;
+ }
+ segments.push({ kind: "literal", value: rawSegment });
+ });
+ return segments;
+ }
+ /**
+ * Decides whether two paths can match the same incoming request, given
+ * only their declared patterns (no host/method/version considered).
+ */
+ static pathsCanOverlap(leftPath, rightPath) {
+ const leftSegments = _RouteConflictDetector.tokenizePath(leftPath);
+ const rightSegments = _RouteConflictDetector.tokenizePath(rightPath);
+ const leftEndsInWildcard = leftSegments[leftSegments.length - 1]?.kind === "wildcard";
+ const rightEndsInWildcard = rightSegments[rightSegments.length - 1]?.kind === "wildcard";
+ if (leftSegments.length !== rightSegments.length) {
+ const shorterEndsInWildcard = leftSegments.length < rightSegments.length ? leftEndsInWildcard : rightEndsInWildcard;
+ if (!shorterEndsInWildcard) {
+ return false;
+ }
+ }
+ const sharedLength = Math.min(leftSegments.length, rightSegments.length);
+ let canOverlap = true;
+ leftSegments.slice(0, sharedLength).forEach((leftSegment, segmentIndex) => {
+ if (!canOverlap)
+ return;
+ if (!_RouteConflictDetector.segmentsCanOverlap(leftSegment, rightSegments[segmentIndex])) {
+ canOverlap = false;
+ }
+ });
+ return canOverlap;
+ }
+ /**
+ * Walks every unique pair of resolved routes and produces a conflict
+ * record for each pair whose (method, host, version, path) tuples can
+ * collide at runtime.
+ */
+ static detect(routes, versioningOptions) {
+ const conflicts = [];
+ _RouteConflictDetector.forEachUniquePair(routes, (earlierRoute, laterRoute) => {
+ if (!_RouteConflictDetector.methodsCanOverlap(earlierRoute.method, laterRoute.method)) {
+ return;
+ }
+ if (!_RouteConflictDetector.versionsCanOverlap(earlierRoute.version, laterRoute.version, versioningOptions)) {
+ return;
+ }
+ if (!_RouteConflictDetector.hostsCanOverlap(earlierRoute.host, laterRoute.host)) {
+ return;
+ }
+ if (!_RouteConflictDetector.pathsCanOverlap(earlierRoute.path, laterRoute.path)) {
+ return;
+ }
+ const isIdentical = _RouteConflictDetector.routesAreIdentical(earlierRoute, laterRoute, versioningOptions);
+ conflicts.push({
+ winner: earlierRoute,
+ shadowed: laterRoute,
+ kind: isIdentical ? "duplicate" : "shadow"
+ });
+ });
+ return conflicts;
+ }
+ /**
+ * Applies the per-kind policy to a set of conflicts: silences `'off'`,
+ * logs `'warn'` once per conflict, and aggregates every `'error'`-level
+ * conflict into a single `RouteConflictException`.
+ */
+ static handle(conflicts, policy, logger3) {
+ if (conflicts.length === 0 || policy === void 0)
+ return;
+ const errorMessages = [];
+ conflicts.forEach((conflict) => {
+ const policyForKind = policy[conflict.kind] ?? "off";
+ if (policyForKind === "off")
+ return;
+ const message = _RouteConflictDetector.describeConflict(conflict);
+ if (policyForKind === "warn") {
+ logger3.warn(message);
+ return;
+ }
+ errorMessages.push(message);
+ });
+ if (errorMessages.length > 0) {
+ throw new RouteConflictException(errorMessages);
+ }
+ }
+ /**
+ * Removes shadow conflicts that specificity sorting has already resolved.
+ *
+ * When `routeResolutionStrategy: 'specificity'` is active, the sort
+ * promotes more-specific routes ahead of less-specific ones. A shadow
+ * where the sort promoted the winner (it was declared *later* but sorted
+ * *first*) is handled correctly at runtime — the more-specific route is
+ * registered first and handles its requests while the less-specific route
+ * handles the rest. Retaining such a conflict would cause `shadow: 'error'`
+ * to abort an application whose routes actually work as intended.
+ *
+ * Shadows where the winner was already first in declaration order (the
+ * sort did not swap them) are genuine and are kept unchanged. Duplicate
+ * conflicts are always kept.
+ *
+ * @param conflicts Conflicts detected on the sorted route list.
+ * @param declarationOrder Routes in their original declaration order
+ * (i.e. before specificity sorting was applied).
+ */
+ static filterSortResolvedShadows(conflicts, declarationOrder) {
+ const declarationIndex = new Map(declarationOrder.map((route, idx) => [route, idx]));
+ return conflicts.filter((conflict) => {
+ if (conflict.kind !== "shadow")
+ return true;
+ const winnerDeclIdx = declarationIndex.get(conflict.winner) ?? -1;
+ const shadowedDeclIdx = declarationIndex.get(conflict.shadowed) ?? -1;
+ return winnerDeclIdx < shadowedDeclIdx;
+ });
+ }
+ static segmentsCanOverlap(leftSegment, rightSegment) {
+ if (leftSegment.kind === "wildcard" || rightSegment.kind === "wildcard") {
+ return true;
+ }
+ if (leftSegment.kind === "param" || rightSegment.kind === "param") {
+ return true;
+ }
+ return leftSegment.value === rightSegment.value;
+ }
+ static methodsCanOverlap(leftMethod, rightMethod) {
+ if (leftMethod === RequestMethod.ALL || rightMethod === RequestMethod.ALL) {
+ return true;
+ }
+ return leftMethod === rightMethod;
+ }
+ static versionsCanOverlap(leftVersion, rightVersion, versioningOptions) {
+ if (!versioningOptions)
+ return true;
+ if (versioningOptions.type === VersioningType.URI)
+ return true;
+ const leftMatchesAnyVersion = leftVersion === void 0 || leftVersion === VERSION_NEUTRAL;
+ const rightMatchesAnyVersion = rightVersion === void 0 || rightVersion === VERSION_NEUTRAL;
+ if (leftMatchesAnyVersion || rightMatchesAnyVersion)
+ return true;
+ const leftValues = Array.isArray(leftVersion) ? leftVersion : [leftVersion];
+ const rightValues = Array.isArray(rightVersion) ? rightVersion : [rightVersion];
+ return leftValues.some((versionValue) => rightValues.includes(versionValue));
+ }
+ static hostsCanOverlap(leftHost, rightHost) {
+ if (leftHost === void 0 || rightHost === void 0)
+ return true;
+ const leftHosts = Array.isArray(leftHost) ? leftHost : [leftHost];
+ const rightHosts = Array.isArray(rightHost) ? rightHost : [rightHost];
+ return leftHosts.some((leftValue) => rightHosts.some((rightValue) => _RouteConflictDetector.hostValuesCanMatchSameRequest(leftValue, rightValue)));
+ }
+ static hostValuesCanMatchSameRequest(leftValue, rightValue) {
+ const leftIsRegExp = leftValue instanceof RegExp;
+ const rightIsRegExp = rightValue instanceof RegExp;
+ if (leftIsRegExp && rightIsRegExp)
+ return true;
+ if (leftIsRegExp) {
+ leftValue.lastIndex = 0;
+ return leftValue.test(rightValue);
+ }
+ if (rightIsRegExp) {
+ rightValue.lastIndex = 0;
+ return rightValue.test(leftValue);
+ }
+ return leftValue === rightValue;
+ }
+ static routesAreIdentical(leftRoute, rightRoute, versioningOptions) {
+ return leftRoute.method === rightRoute.method && leftRoute.path === rightRoute.path && _RouteConflictDetector.hostsAreIdentical(leftRoute.host, rightRoute.host) && _RouteConflictDetector.versionsAreIdentical(leftRoute.version, rightRoute.version, versioningOptions);
+ }
+ static hostsAreIdentical(leftHost, rightHost) {
+ if (leftHost === void 0 && rightHost === void 0)
+ return true;
+ if (leftHost === void 0 || rightHost === void 0)
+ return false;
+ const leftHosts = Array.isArray(leftHost) ? leftHost : [leftHost];
+ const rightHosts = Array.isArray(rightHost) ? rightHost : [rightHost];
+ if (leftHosts.length !== rightHosts.length)
+ return false;
+ return leftHosts.every((leftValue) => rightHosts.some((rightValue) => _RouteConflictDetector.hostValuesAreIdentical(leftValue, rightValue)));
+ }
+ static hostValuesAreIdentical(leftValue, rightValue) {
+ if (leftValue instanceof RegExp && rightValue instanceof RegExp) {
+ return leftValue.source === rightValue.source && leftValue.flags === rightValue.flags;
+ }
+ return leftValue === rightValue;
+ }
+ static versionsAreIdentical(leftVersion, rightVersion, versioningOptions) {
+ if (!versioningOptions || versioningOptions.type === VersioningType.URI) {
+ return true;
+ }
+ if (leftVersion === rightVersion)
+ return true;
+ const leftValues = Array.isArray(leftVersion) ? leftVersion : [leftVersion];
+ const rightValues = Array.isArray(rightVersion) ? rightVersion : [rightVersion];
+ if (leftValues.length !== rightValues.length)
+ return false;
+ return leftValues.every((value) => rightValues.includes(value));
+ }
+ static forEachUniquePair(items, visit) {
+ items.forEach((leftItem, leftIndex) => {
+ items.slice(leftIndex + 1).forEach((rightItem) => {
+ visit(leftItem, rightItem);
+ });
+ });
+ }
+ static describeConflict(conflict) {
+ const method = RequestMethod[conflict.winner.method];
+ const winnerLabel = `${conflict.winner.instanceWrapper.name}#${conflict.winner.methodName}`;
+ const shadowedLabel = `${conflict.shadowed.instanceWrapper.name}#${conflict.shadowed.methodName}`;
+ if (conflict.kind === "duplicate") {
+ return DUPLICATE_ROUTE_MESSAGE(method, conflict.winner.path, winnerLabel, shadowedLabel);
+ }
+ return SHADOWED_ROUTE_MESSAGE(method, conflict.shadowed.path, shadowedLabel, conflict.winner.path, winnerLabel);
+ }
+ };
+ }
+});
+
+// ../../node_modules/.pnpm/@nestjs+core@12.2.0_@nestjs_74b3aa22af8a41de6299655ec5713214/node_modules/@nestjs/core/router/route-specificity-sorter.js
+var RouteSpecificitySorter;
+var init_route_specificity_sorter = __esm({
+ "../../node_modules/.pnpm/@nestjs+core@12.2.0_@nestjs_74b3aa22af8a41de6299655ec5713214/node_modules/@nestjs/core/router/route-specificity-sorter.js"() {
+ init_route_conflict_detector();
+ RouteSpecificitySorter = class _RouteSpecificitySorter {
+ static {
+ __name(this, "RouteSpecificitySorter");
+ }
+ /**
+ * Lower rank means more specific. A literal segment beats a named
+ * param, which beats a named wildcard. A position that is absent on
+ * one side means the path is shorter at that point. A shorter path
+ * with a wildcard is the least specific of all (`missing`), as the
+ * wildcard can absorb the extra segments. Without one, it ranks after
+ * a literal but before a param or wildcard (`end`): those can sit in
+ * an optional group (`/users{/:id}`, `/{*path}`) and then also match
+ * the shorter path.
+ */
+ static SEGMENT_KIND_RANK = {
+ literal: 0,
+ end: 1,
+ param: 2,
+ wildcard: 3,
+ missing: 4
+ };
+ /**
+ * Returns a new array of routes sorted from most-specific to
+ * least-specific. Routes that tie on specificity keep their original
+ * declaration order.
+ */
+ static sort(routes) {
+ const decoratedRoutes = routes.map((route, declarationIndex) => ({
+ route,
+ declarationIndex
+ }));
+ decoratedRoutes.sort((leftEntry, rightEntry) => {
+ const specificityDelta = _RouteSpecificitySorter.comparePathSpecificity(leftEntry.route.path, rightEntry.route.path);
+ if (specificityDelta !== 0)
+ return specificityDelta;
+ return leftEntry.declarationIndex - rightEntry.declarationIndex;
+ });
+ return decoratedRoutes.map((decoratedEntry) => decoratedEntry.route);
+ }
+ static comparePathSpecificity(leftPath, rightPath) {
+ const leftSegments = RouteConflictDetector.tokenizePath(leftPath);
+ const rightSegments = RouteConflictDetector.tokenizePath(rightPath);
+ const longestPathLength = Math.max(leftSegments.length, rightSegments.length);
+ const leftEndKind = _RouteSpecificitySorter.getEndKind(leftSegments);
+ const rightEndKind = _RouteSpecificitySorter.getEndKind(rightSegments);
+ let specificityDelta = 0;
+ Array.from({ length: longestPathLength }).forEach((_, segmentIndex) => {
+ if (specificityDelta !== 0)
+ return;
+ const leftKind = leftSegments[segmentIndex]?.kind ?? leftEndKind;
+ const rightKind = rightSegments[segmentIndex]?.kind ?? rightEndKind;
+ const leftRank = _RouteSpecificitySorter.rankSegmentByKind(leftKind);
+ const rightRank = _RouteSpecificitySorter.rankSegmentByKind(rightKind);
+ if (leftRank !== rightRank) {
+ specificityDelta = leftRank - rightRank;
+ }
+ });
+ return specificityDelta;
+ }
+ static getEndKind(segments) {
+ return segments.some((segment) => segment.kind === "wildcard") ? "missing" : "end";
+ }
+ static rankSegmentByKind(kind) {
+ return _RouteSpecificitySorter.SEGMENT_KIND_RANK[kind];
+ }
+ };
+ }
+});
+
+// ../../node_modules/.pnpm/@nestjs+core@12.2.0_@nestjs_74b3aa22af8a41de6299655ec5713214/node_modules/@nestjs/core/security/cross-origin-protection.js
+function evaluateCrossOriginRequest(request, exemptions = {}) {
+ if (SAFE_METHODS.has(request.method)) {
+ return { allowed: true, reason: "safe-method" };
+ }
+ const secFetchSite = request.secFetchSite;
+ if (secFetchSite) {
+ if (secFetchSite === "same-origin" || secFetchSite === "none") {
+ return { allowed: true, reason: "same-origin" };
+ }
+ return exemptOr(request, exemptions, "cross-origin-sec-fetch-site");
+ }
+ const origin = request.origin;
+ if (!origin) {
+ return { allowed: true, reason: "no-browser-headers" };
+ }
+ if (request.host !== void 0 && originMatchesHost(origin, request.host)) {
+ return { allowed: true, reason: "origin-matches-host" };
+ }
+ return exemptOr(request, exemptions, "cross-origin-origin-header");
+}
+function exemptOr(request, exemptions, reason) {
+ if (exemptions.isExcluded?.()) {
+ return { allowed: true, reason: "excluded" };
+ }
+ if (request.origin !== void 0 && exemptions.trustedOrigins?.has(request.origin)) {
+ return { allowed: true, reason: "trusted-origin" };
+ }
+ return { allowed: false, reason };
+}
+function originMatchesHost(origin, host) {
+ let url;
+ try {
+ url = new URL(origin);
+ } catch {
+ return false;
+ }
+ if (!url.host) {
+ return false;
+ }
+ const authority = host.toLowerCase();
+ if (url.host === authority) {
+ return true;
+ }
+ const defaultPort = DEFAULT_PORTS[url.protocol];
+ return !url.port && defaultPort !== void 0 && `${url.hostname}:${defaultPort}` === authority;
+}
+function normalizeTrustedOrigin(origin) {
+ const fail2 = /* @__PURE__ */ __name((reason) => {
+ throw new Error(`Invalid trusted origin "${origin}": ${reason}.`);
+ }, "fail");
+ if (!isString(origin) || origin.length === 0) {
+ return fail2("expected a non-empty string");
+ }
+ if (!/^[a-z][a-z0-9+.-]*:\/\/[^/?#\\]+$/i.test(origin)) {
+ return fail2('expected "scheme://host[:port]", without a path, query string or fragment');
+ }
+ let url;
+ try {
+ url = new URL(origin);
+ } catch {
+ return fail2('expected "scheme://host[:port]"');
+ }
+ if (!url.host) {
+ fail2("a host is required");
+ }
+ if (url.username || url.password) {
+ fail2("credentials are not allowed");
+ }
+ if (url.host.includes("*")) {
+ fail2("wildcards are not supported, list each origin");
+ }
+ return `${url.protocol}//${url.host}`;
+}
+function toRouteInfo(route) {
+ if (isString(route)) {
+ return { path: addLeadingSlash(route), method: RequestMethod.ALL };
+ }
+ if (!route || !isString(route.path) || typeof route.method !== "number" || RequestMethod[route.method] === void 0) {
+ throw new Error(`Invalid CSRF protection exclusion ${JSON.stringify(route)}: expected a path, or a { path, method } object where method is a RequestMethod.`);
+ }
+ return { ...route, path: addLeadingSlash(route.path) };
+}
+function compileExclusion(path, requestMethod, logs) {
+ const converted = LegacyRouteConverter.tryConvert(path, { logs });
+ const normalized = converted.length > 1 ? converted.replace(/\/+$/, "") : converted;
+ return {
+ path: normalized,
+ requestMethod,
+ pathRegex: (0, import_path_to_regexp5.pathToRegexp)(addLeadingSlash(normalized) || "/", {
+ sensitive: true,
+ trailing: false
+ }).regexp
+ };
+}
+function readHeader(headers, name) {
+ const value = headers[name];
+ if (value === void 0) {
+ return void 0;
+ }
+ return Array.isArray(value) ? value.join(", ") : value;
+}
+var import_path_to_regexp5, SAFE_METHODS, DEFAULT_PORTS, DENIED_MESSAGES, NON_CANONICAL_PATH, CrossOriginProtection;
+var init_cross_origin_protection = __esm({
+ "../../node_modules/.pnpm/@nestjs+core@12.2.0_@nestjs_74b3aa22af8a41de6299655ec5713214/node_modules/@nestjs/core/security/cross-origin-protection.js"() {
+ init_common();
+ init_internal();
+ import_path_to_regexp5 = __toESM(require_dist2(), 1);
+ init_utils2();
+ init_legacy_route_converter();
+ init_utils();
+ SAFE_METHODS = /* @__PURE__ */ new Set(["GET", "HEAD", "OPTIONS"]);
+ DEFAULT_PORTS = {
+ "http:": "80",
+ "https:": "443"
+ };
+ __name(evaluateCrossOriginRequest, "evaluateCrossOriginRequest");
+ __name(exemptOr, "exemptOr");
+ __name(originMatchesHost, "originMatchesHost");
+ __name(normalizeTrustedOrigin, "normalizeTrustedOrigin");
+ DENIED_MESSAGES = {
+ "cross-origin-sec-fetch-site": "Cross-origin request detected from Sec-Fetch-Site header",
+ "cross-origin-origin-header": "Cross-origin request detected, and/or browser is out of date: Sec-Fetch-Site is missing, and Origin does not match Host"
+ };
+ NON_CANONICAL_PATH = /[#;\\]|\/\/|%2e|%2f|%5c|\/\.\.?(?:\/|$)/i;
+ CrossOriginProtection = class {
+ static {
+ __name(this, "CrossOriginProtection");
+ }
+ httpAdapter;
+ trustedOrigins;
+ excludedRoutes = [];
+ excludePredicate;
+ resolvedExclusions = [];
+ ignoreTrailingSlash = false;
+ versioningOptions;
+ /**
+ * Validates the options, so that a bad configuration fails as soon as
+ * `app.enableCsrfProtection()` is called.
+ */
+ constructor(httpAdapter, options = {}) {
+ this.httpAdapter = httpAdapter;
+ if (!isPlainObject(options)) {
+ throw new Error("Invalid CSRF protection options: expected an options object.");
+ }
+ for (const key of Object.keys(options)) {
+ if (key !== "trustedOrigins" && key !== "exclude") {
+ throw new Error(`Invalid CSRF protection options: unknown option "${key}" (expected "trustedOrigins", "exclude").`);
+ }
+ }
+ const { trustedOrigins = [] } = options;
+ if (!Array.isArray(trustedOrigins)) {
+ throw new Error('Invalid CSRF protection "trustedOrigins" option: expected a list of origins.');
+ }
+ this.trustedOrigins = new Set(trustedOrigins.map(normalizeTrustedOrigin));
+ const { exclude } = options;
+ if (isFunction(exclude)) {
+ this.excludePredicate = exclude;
+ } else if (Array.isArray(exclude)) {
+ this.excludedRoutes = exclude.map(toRouteInfo);
+ for (const route of this.excludedRoutes) {
+ compileExclusion(route.path, route.method, false);
+ }
+ } else if (exclude !== void 0) {
+ throw new Error('Invalid CSRF protection "exclude" option: expected a list of routes or a function.');
+ }
+ }
+ /**
+ * Resolves the excluded routes to the paths they are served at, like
+ * `MiddlewareConsumer.exclude()` does: with the global prefix (unless the
+ * route is excluded from it) and, with URI versioning, the version segment
+ * of `RouteInfo.version` (with another versioning type, only the requests
+ * for that version are excluded). Called by `app.init()`, once the global
+ * prefix and versioning are final; until then nothing is excluded.
+ */
+ resolveExclusions(pathExtractor) {
+ this.resolvedExclusions = this.excludedRoutes.flatMap((route) => pathExtractor.extractPathFrom(route).map((path) => {
+ const exclusion = compileExclusion(path, route.method, true);
+ if (route.version) {
+ exclusion.version = route.version;
+ }
+ return exclusion;
+ }));
+ this.ignoreTrailingSlash = !!this.httpAdapter.getRouteMatchingOptions?.()?.ignoreTrailingSlash;
+ this.versioningOptions = pathExtractor.getVersioningOptions();
+ }
+ /**
+ * Returns a `ForbiddenException` when the request must be rejected, and
+ * `undefined` otherwise.
+ */
+ check(request) {
+ const headers = request.headers ?? {};
+ const decision = evaluateCrossOriginRequest({
+ method: this.httpAdapter.getRequestMethod(request),
+ secFetchSite: readHeader(headers, "sec-fetch-site"),
+ origin: readHeader(headers, "origin"),
+ // On HTTP/2, ":authority" identifies the target and takes precedence
+ // over a "Host" header (RFC 9113, section 8.3.1).
+ host: readHeader(headers, ":authority") ?? readHeader(headers, "host")
+ }, {
+ trustedOrigins: this.trustedOrigins,
+ isExcluded: /* @__PURE__ */ __name(() => this.isExcluded(request), "isExcluded")
+ });
+ if (decision.allowed) {
+ return void 0;
+ }
+ return new ForbiddenException(DENIED_MESSAGES[decision.reason]);
+ }
+ isExcluded(request) {
+ if (this.excludePredicate) {
+ return !!this.excludePredicate(request);
+ }
+ if (this.resolvedExclusions.length === 0) {
+ return false;
+ }
+ const url = this.httpAdapter.getRequestUrl(request) ?? "";
+ const queryIndex = url.indexOf("?");
+ const pathname = queryIndex >= 0 ? url.slice(0, queryIndex) : url;
+ if (!pathname.startsWith("/") || NON_CANONICAL_PATH.test(pathname)) {
+ return false;
+ }
+ const method = this.httpAdapter.getRequestMethod(request);
+ const isVersionRequested = createRequestedVersionMatcher(request, this.versioningOptions);
+ const isPathExcluded = /* @__PURE__ */ __name((path) => this.resolvedExclusions.some((exclusion) => isRouteExcluded([exclusion], path, RequestMethod[method]) && isVersionRequested(exclusion)), "isPathExcluded");
+ if (this.ignoreTrailingSlash && pathname.length > 1 && pathname.endsWith("/")) {
+ return isPathExcluded(pathname) && isPathExcluded(pathname.replace(/\/+$/, ""));
+ }
+ return isPathExcluded(pathname);
+ }
+ };
+ __name(toRouteInfo, "toRouteInfo");
+ __name(compileExclusion, "compileExclusion");
+ __name(readHeader, "readHeader");
+ }
+});
+
+// ../../node_modules/.pnpm/@nestjs+core@12.2.0_@nestjs_74b3aa22af8a41de6299655ec5713214/node_modules/@nestjs/core/security/http-security-hook.js
+var HttpSecurityHook;
+var init_http_security_hook = __esm({
+ "../../node_modules/.pnpm/@nestjs+core@12.2.0_@nestjs_74b3aa22af8a41de6299655ec5713214/node_modules/@nestjs/core/security/http-security-hook.js"() {
+ init_route_info_path_extractor();
+ HttpSecurityHook = class {
+ static {
+ __name(this, "HttpSecurityHook");
+ }
+ headers;
+ crossOriginProtection;
+ setHeaders(headers) {
+ this.headers = headers;
+ }
+ setCrossOriginProtection(protection) {
+ this.crossOriginProtection = protection;
+ }
+ /**
+ * Called by `app.init()`, once the global prefix and versioning are final.
+ */
+ init(config) {
+ this.crossOriginProtection?.resolveExclusions(new RouteInfoPathExtractor(config));
+ }
+ /**
+ * Runs the enabled features for one request. Returns the error to hand to
+ * the exception layer when the request must be rejected.
+ */
+ handle(request, response) {
+ if (this.headers) {
+ for (const [name, value] of this.headers.headers) {
+ response.setHeader(name, value);
+ }
+ for (const name of this.headers.removeHeaders) {
+ response.removeHeader(name);
+ }
+ }
+ return this.crossOriginProtection?.check(request);
+ }
+ };
+ }
+});
+
+// ../../node_modules/.pnpm/@nestjs+core@12.2.0_@nestjs_74b3aa22af8a41de6299655ec5713214/node_modules/@nestjs/core/security/security-headers.js
+function serializeContentSecurityPolicy(options = {}) {
+ const { useDefaults = true, directives = {} } = options;
+ if (typeof useDefaults !== "boolean") {
+ fail("contentSecurityPolicy.useDefaults must be a boolean.");
+ }
+ if (!isObject(directives) || Array.isArray(directives)) {
+ fail("contentSecurityPolicy.directives must be an object.");
+ }
+ const result = /* @__PURE__ */ new Map();
+ if (useDefaults) {
+ for (const [name, value] of Object.entries(DEFAULT_CONTENT_SECURITY_POLICY_DIRECTIVES)) {
+ result.set(name, value);
+ }
+ }
+ const seen = /* @__PURE__ */ new Set();
+ const removed = /* @__PURE__ */ new Set();
+ for (const [rawName, rawValue] of Object.entries(directives)) {
+ const name = normalizeDirectiveName(rawName);
+ if (seen.has(name)) {
+ fail(`Content-Security-Policy directive "${name}" is set twice.`);
+ }
+ seen.add(name);
+ const values = normalizeDirectiveValue(name, rawValue);
+ if (values === null) {
+ removed.add(name);
+ result.delete(name);
+ } else {
+ result.set(name, values);
+ }
+ }
+ if (!result.has("default-src") && !removed.has("default-src")) {
+ fail('Content-Security-Policy needs a "default-src" directive. Set "defaultSrc: null" to omit it deliberately.');
+ }
+ if (result.size === 0) {
+ fail("Content-Security-Policy has no directives.");
+ }
+ return Array.from(result, ([name, values]) => values.length > 0 ? `${name} ${values.join(" ")}` : name).join(";");
+}
+function normalizeDirectiveName(rawName) {
+ const name = DIRECTIVE_NAME.test(rawName) ? rawName.replace(/[A-Z]/g, (letter) => `-${letter}`).toLowerCase() : "";
+ if (!NORMALIZED_DIRECTIVE_NAME.test(name)) {
+ fail(`"${rawName}" is not a valid Content-Security-Policy directive name (expected camelCase, e.g. "scriptSrc", or lower-case kebab-case, e.g. "script-src").`);
+ }
+ return name;
+}
+function normalizeDirectiveValue(name, value) {
+ if (value === null || value === false || value === void 0) {
+ return null;
+ }
+ if (value === true) {
+ return [];
+ }
+ const values = isString(value) ? [value] : value;
+ if (!Array.isArray(values)) {
+ return fail(`Content-Security-Policy directive "${name}" must be a string, a list of strings, a boolean or null.`);
+ }
+ return values.map((item) => {
+ if (!isString(item) || item.trim().length === 0) {
+ return fail(`Content-Security-Policy directive "${name}" contains an empty or non-string value.`);
+ }
+ if (FORBIDDEN_VALUE_CHARACTERS.test(item)) {
+ return fail(`Content-Security-Policy directive "${name}" contains an invalid value ${JSON.stringify(item)}: ";", "," and control or non-ASCII characters are not allowed.`);
+ }
+ if (item.split(/\s+/).some((token) => MUST_BE_QUOTED.test(token))) {
+ return fail(`Content-Security-Policy directive "${name}" contains ${JSON.stringify(item)}: keywords, nonces and hashes must be single-quoted (e.g. "'self'").`);
+ }
+ return item.trim();
+ });
+}
+function resolveSecurityHeaders(options = {}) {
+ if (!isPlainObject(options)) {
+ fail("expected an options object.");
+ }
+ for (const name of Object.keys(options)) {
+ if (!Object.hasOwn(OPTION_KEYS, name)) {
+ const current = HELMET_LEGACY_OPTION_NAMES[name];
+ fail(`unknown option "${name}"` + (current ? ` (helmet's legacy name, use "${current}").` : "."));
+ }
+ }
+ const headers = [];
+ const add = /* @__PURE__ */ __name((name, value) => headers.push([name, value]), "add");
+ const csp = readOption(options, "contentSecurityPolicy", true);
+ if (csp) {
+ add(readBoolean(csp, "contentSecurityPolicy", "reportOnly", false) ? "Content-Security-Policy-Report-Only" : "Content-Security-Policy", serializeContentSecurityPolicy(csp));
+ }
+ const coep = readOption(options, "crossOriginEmbedderPolicy", false);
+ if (coep) {
+ add("Cross-Origin-Embedder-Policy", pick("crossOriginEmbedderPolicy.policy", coep.policy, COEP_POLICIES, "require-corp"));
+ }
+ const coop = readOption(options, "crossOriginOpenerPolicy", true);
+ if (coop) {
+ add("Cross-Origin-Opener-Policy", pick("crossOriginOpenerPolicy.policy", coop.policy, COOP_POLICIES, "same-origin"));
+ }
+ const corp = readOption(options, "crossOriginResourcePolicy", true);
+ if (corp) {
+ add("Cross-Origin-Resource-Policy", pick("crossOriginResourcePolicy.policy", corp.policy, CORP_POLICIES, "same-origin"));
+ }
+ if (readOption(options, "originAgentCluster", true)) {
+ add("Origin-Agent-Cluster", "?1");
+ }
+ const referrer = readOption(options, "referrerPolicy", true);
+ if (referrer) {
+ add("Referrer-Policy", resolveReferrerPolicy(referrer.policy));
+ }
+ const hsts = readOption(options, "strictTransportSecurity", true);
+ if (hsts) {
+ add("Strict-Transport-Security", resolveHsts(hsts));
+ }
+ if (readOption(options, "xContentTypeOptions", true)) {
+ add("X-Content-Type-Options", "nosniff");
+ }
+ const dnsPrefetch = readOption(options, "xDnsPrefetchControl", true);
+ if (dnsPrefetch) {
+ const allow = readBoolean(dnsPrefetch, "xDnsPrefetchControl", "allow");
+ add("X-DNS-Prefetch-Control", allow ? "on" : "off");
+ }
+ if (readOption(options, "xDownloadOptions", true)) {
+ add("X-Download-Options", "noopen");
+ }
+ const frameOptions = readOption(options, "xFrameOptions", true);
+ if (frameOptions) {
+ const { action } = frameOptions;
+ add("X-Frame-Options", pick("xFrameOptions.action", isString(action) ? action.toLowerCase() : action, X_FRAME_OPTIONS_ACTIONS, "sameorigin").toUpperCase());
+ }
+ const crossDomain = readOption(options, "xPermittedCrossDomainPolicies", true);
+ if (crossDomain) {
+ add("X-Permitted-Cross-Domain-Policies", pick("xPermittedCrossDomainPolicies.permittedPolicies", crossDomain.permittedPolicies, X_PERMITTED_CROSS_DOMAIN_POLICIES, "none"));
+ }
+ if (readOption(options, "xXssProtection", true)) {
+ add("X-XSS-Protection", "0");
+ }
+ const removeHeaders = readOption(options, "xPoweredBy", true) ? ["X-Powered-By"] : [];
+ return { headers, removeHeaders };
+}
+function readOption(options, name, enabledByDefault) {
+ const value = options[name];
+ if (value === void 0) {
+ return enabledByDefault ? {} : void 0;
+ }
+ if (typeof value === "boolean") {
+ return value ? {} : void 0;
+ }
+ const keys = OPTION_KEYS[name];
+ if (keys.length === 0 || !isPlainObject(value)) {
+ return fail(`${name} must be a boolean${keys.length > 0 ? " or an object" : ""}, received ${JSON.stringify(value)}.`);
+ }
+ for (const key of Object.keys(value)) {
+ if (!keys.includes(key)) {
+ fail(`unknown option "${name}.${key}" (expected ${keys.map((k) => `"${k}"`).join(", ")}).`);
+ }
+ }
+ return value;
+}
+function readBoolean(object, option, key, fallback = false) {
+ const value = object[key];
+ if (value === void 0) {
+ return fallback;
+ }
+ if (typeof value !== "boolean") {
+ fail(`${option}.${key} must be a boolean, received ${JSON.stringify(value)}.`);
+ }
+ return value;
+}
+function pick(option, value, allowed, fallback) {
+ if (value === void 0) {
+ return fallback;
+ }
+ if (!isString(value) || !allowed.includes(value)) {
+ fail(`${option} must be one of ${allowed.map((v) => `"${v}"`).join(", ")}, received ${JSON.stringify(value)}.`);
+ }
+ return value;
+}
+function resolveReferrerPolicy(policy) {
+ if (policy === void 0) {
+ return "no-referrer";
+ }
+ const tokens = isString(policy) ? [policy] : policy;
+ if (!Array.isArray(tokens) || tokens.length === 0) {
+ fail("referrerPolicy.policy must be a token or a non-empty list.");
+ }
+ const unique = /* @__PURE__ */ new Set();
+ for (const token of tokens) {
+ pick("referrerPolicy.policy", token, REFERRER_POLICIES, "no-referrer");
+ if (unique.has(token)) {
+ fail(`referrerPolicy.policy contains "${token}" more than once.`);
+ }
+ unique.add(token);
+ }
+ return tokens.join(",");
+}
+function resolveHsts(option) {
+ const maxAge = option.maxAge ?? DEFAULT_HSTS_MAX_AGE;
+ if (typeof maxAge !== "number" || !Number.isFinite(maxAge) || maxAge < 0) {
+ fail(`strictTransportSecurity.maxAge must be a non-negative number of seconds, received ${JSON.stringify(maxAge)}.`);
+ }
+ let value = `max-age=${Math.floor(maxAge)}`;
+ if (readBoolean(option, "strictTransportSecurity", "includeSubDomains", true)) {
+ value += "; includeSubDomains";
+ }
+ if (readBoolean(option, "strictTransportSecurity", "preload")) {
+ value += "; preload";
+ }
+ return value;
+}
+var DEFAULT_CONTENT_SECURITY_POLICY_DIRECTIVES, DEFAULT_HSTS_MAX_AGE, COEP_POLICIES, COOP_POLICIES, CORP_POLICIES, REFERRER_POLICIES, X_FRAME_OPTIONS_ACTIONS, X_PERMITTED_CROSS_DOMAIN_POLICIES, OPTION_KEYS, HELMET_LEGACY_OPTION_NAMES, MUST_BE_QUOTED, FORBIDDEN_VALUE_CHARACTERS, DIRECTIVE_NAME, NORMALIZED_DIRECTIVE_NAME, SecurityHeadersConfigurationError, fail;
+var init_security_headers = __esm({
+ "../../node_modules/.pnpm/@nestjs+core@12.2.0_@nestjs_74b3aa22af8a41de6299655ec5713214/node_modules/@nestjs/core/security/security-headers.js"() {
+ init_internal();
+ DEFAULT_CONTENT_SECURITY_POLICY_DIRECTIVES = Object.freeze({
+ "default-src": ["'self'"],
+ "base-uri": ["'self'"],
+ "font-src": ["'self'", "https:", "data:"],
+ "form-action": ["'self'"],
+ "frame-ancestors": ["'self'"],
+ "img-src": ["'self'", "data:"],
+ "object-src": ["'none'"],
+ "script-src": ["'self'"],
+ "script-src-attr": ["'none'"],
+ "style-src": ["'self'", "https:", "'unsafe-inline'"],
+ "upgrade-insecure-requests": []
+ });
+ DEFAULT_HSTS_MAX_AGE = 365 * 24 * 60 * 60;
+ COEP_POLICIES = ["require-corp", "credentialless", "unsafe-none"];
+ COOP_POLICIES = [
+ "same-origin",
+ "same-origin-allow-popups",
+ "noopener-allow-popups",
+ "unsafe-none"
+ ];
+ CORP_POLICIES = ["same-origin", "same-site", "cross-origin"];
+ REFERRER_POLICIES = [
+ "",
+ "no-referrer",
+ "no-referrer-when-downgrade",
+ "same-origin",
+ "origin",
+ "strict-origin",
+ "origin-when-cross-origin",
+ "strict-origin-when-cross-origin",
+ "unsafe-url"
+ ];
+ X_FRAME_OPTIONS_ACTIONS = ["deny", "sameorigin"];
+ X_PERMITTED_CROSS_DOMAIN_POLICIES = [
+ "none",
+ "master-only",
+ "by-content-type",
+ "all"
+ ];
+ OPTION_KEYS = {
+ contentSecurityPolicy: ["directives", "reportOnly", "useDefaults"],
+ crossOriginEmbedderPolicy: ["policy"],
+ crossOriginOpenerPolicy: ["policy"],
+ crossOriginResourcePolicy: ["policy"],
+ originAgentCluster: [],
+ referrerPolicy: ["policy"],
+ strictTransportSecurity: ["includeSubDomains", "maxAge", "preload"],
+ xContentTypeOptions: [],
+ xDnsPrefetchControl: ["allow"],
+ xDownloadOptions: [],
+ xFrameOptions: ["action"],
+ xPermittedCrossDomainPolicies: ["permittedPolicies"],
+ xPoweredBy: [],
+ xXssProtection: []
+ };
+ HELMET_LEGACY_OPTION_NAMES = {
+ dnsPrefetchControl: "xDnsPrefetchControl",
+ frameguard: "xFrameOptions",
+ hidePoweredBy: "xPoweredBy",
+ hsts: "strictTransportSecurity",
+ ieNoOpen: "xDownloadOptions",
+ noSniff: "xContentTypeOptions",
+ permittedCrossDomainPolicies: "xPermittedCrossDomainPolicies",
+ xssFilter: "xXssProtection"
+ };
+ MUST_BE_QUOTED = /^(?:self|none|strict-dynamic|report-sample|inline-speculation-rules|unsafe-inline|unsafe-eval|unsafe-hashes|wasm-unsafe-eval|unsafe-allow-redirects)$|^(?:nonce|sha256|sha384|sha512)-[A-Za-z0-9+/_=-]+$/i;
+ FORBIDDEN_VALUE_CHARACTERS = /[;,]|[^\x20-\x7e]/;
+ DIRECTIVE_NAME = /^[a-zA-Z0-9-]+$/;
+ NORMALIZED_DIRECTIVE_NAME = /^[a-z][a-z0-9]*(?:-[a-z0-9]+)*$/;
+ SecurityHeadersConfigurationError = class extends Error {
+ static {
+ __name(this, "SecurityHeadersConfigurationError");
+ }
+ constructor(message) {
+ super(`Invalid security headers configuration: ${message}`);
+ this.name = "SecurityHeadersConfigurationError";
+ }
+ };
+ fail = /* @__PURE__ */ __name((message) => {
+ throw new SecurityHeadersConfigurationError(message);
+ }, "fail");
+ __name(serializeContentSecurityPolicy, "serializeContentSecurityPolicy");
+ __name(normalizeDirectiveName, "normalizeDirectiveName");
+ __name(normalizeDirectiveValue, "normalizeDirectiveValue");
+ __name(resolveSecurityHeaders, "resolveSecurityHeaders");
+ __name(readOption, "readOption");
+ __name(readBoolean, "readBoolean");
+ __name(pick, "pick");
+ __name(resolveReferrerPolicy, "resolveReferrerPolicy");
+ __name(resolveHsts, "resolveHsts");
+ }
+});
+
+// ../../node_modules/.pnpm/@nestjs+core@12.2.0_@nestjs_74b3aa22af8a41de6299655ec5713214/node_modules/@nestjs/core/nest-application.js
+import { platform } from "os";
+var import_iterare17, NestApplication;
+var init_nest_application = __esm({
+ "../../node_modules/.pnpm/@nestjs+core@12.2.0_@nestjs_74b3aa22af8a41de6299655ec5713214/node_modules/@nestjs/core/nest-application.js"() {
+ init_common();
+ import_iterare17 = __toESM(require_lib(), 1);
+ init_application_config();
+ init_constants2();
+ init_cookie_signer();
+ init_optional_require();
+ init_safe_instance_decorator();
+ init_injector();
+ init_container2();
+ init_middleware_module();
+ init_utils2();
+ init_nest_application_context();
+ init_routes_resolver();
+ init_common();
+ init_internal();
+ init_route_conflict_detector();
+ init_route_specificity_sorter();
+ init_cross_origin_protection();
+ init_http_security_hook();
+ init_security_headers();
+ NestApplication = class _NestApplication extends NestApplicationContext {
+ static {
+ __name(this, "NestApplication");
+ }
+ httpAdapter;
+ config;
+ graphInspector;
+ logger = new Logger(_NestApplication.name, {
+ timestamp: true
+ });
+ middlewareModule;
+ middlewareContainer = new MiddlewareContainer(this.container);
+ microservicesModule = null;
+ socketModule = null;
+ routesResolver;
+ microservices = [];
+ httpServer;
+ isListening = false;
+ isWsModuleRegistered = false;
+ enabledSecurityFeatures = /* @__PURE__ */ new Set();
+ securityHook;
+ constructor(container, httpAdapter, config, graphInspector, appOptions = {}) {
+ super(container, appOptions);
+ this.httpAdapter = httpAdapter;
+ this.config = config;
+ this.graphInspector = graphInspector;
+ this.config.setRouteConflictPolicy(appOptions.routeConflictPolicy);
+ this.config.setRouteResolutionStrategy(appOptions.routeResolutionStrategy);
+ this.applyCookiesOptions(appOptions);
+ this.selectContextModule();
+ this.registerHttpServer();
+ this.injector = new Injector({
+ preview: this.appOptions.preview,
+ instanceDecorator: appOptions.instrument?.instanceDecorator
+ });
+ this.middlewareModule = new MiddlewareModule();
+ this.routesResolver = new RoutesResolver(this.container, this.config, this.injector, this.graphInspector);
+ }
+ async prepareClose() {
+ this.httpAdapter && await this.httpAdapter.beforeClose?.();
+ }
+ async dispose() {
+ await this.socketModule?.close();
+ await this.microservicesModule?.close();
+ await this.httpAdapter?.close();
+ this.isListening = false;
+ this.container.getHttpAdapterHostRef().listening = false;
+ await Promise.all((0, import_iterare17.iterate)(this.microservices).map(async (microservice) => {
+ microservice.setIsTerminated(true);
+ await microservice.close();
+ }));
+ }
+ getHttpAdapter() {
+ return this.httpAdapter;
+ }
+ registerHttpServer() {
+ this.httpServer = this.createServer();
+ }
+ getUnderlyingHttpServer() {
+ return this.httpAdapter.getHttpServer();
+ }
+ applyOptions() {
+ if (!this.appOptions || !this.appOptions.cors) {
+ return void 0;
+ }
+ const passCustomOptions = isObject(this.appOptions.cors) || isFunction(this.appOptions.cors);
+ if (!passCustomOptions) {
+ return this.enableCors();
+ }
+ return this.enableCors(this.appOptions.cors);
+ }
+ createServer() {
+ this.httpAdapter.initHttpServer(this.appOptions);
+ return this.httpAdapter.getHttpServer();
+ }
+ async registerModules() {
+ await this.registerWsModule();
+ if (this.microservicesModule) {
+ this.microservicesModule.register(this.container, this.graphInspector, this.config, this.appOptions);
+ this.microservicesModule.setupClients(this.container);
+ }
+ await this.middlewareModule.register(this.middlewareContainer, this.container, this.config, this.injector, this.httpAdapter, this.graphInspector, this.appOptions);
+ }
+ async registerWsModule() {
+ if (!this.socketModule) {
+ return;
+ }
+ await this.socketModule.register(this.container, this.config, this.graphInspector, this.appOptions, this.httpServer);
+ this.isWsModuleRegistered = true;
+ }
+ async init() {
+ if (this.isInitialized) {
+ return this;
+ }
+ try {
+ await Promise.all([
+ this.loadSocketModule(),
+ this.loadMicroservicesModule()
+ ]);
+ this.applyOptions();
+ this.securityHook?.init(this.config);
+ await this.httpAdapter?.init?.();
+ const useBodyParser = this.appOptions && this.appOptions.bodyParser !== false;
+ useBodyParser && this.registerParserMiddleware();
+ await this.registerModules();
+ await this.registerRouter();
+ await this.callInitHook();
+ await this.registerRouterHooks();
+ await this.callBootstrapHook();
+ this.isInitialized = true;
+ this.logger.log(MESSAGES.APPLICATION_READY);
+ } finally {
+ this.flushLogsIfAutoFlushEnabled();
+ }
+ return this;
+ }
+ registerParserMiddleware() {
+ const prefix = this.config.getGlobalPrefix();
+ const rawBody = !!this.appOptions?.rawBody;
+ this.httpAdapter.registerParserMiddleware(prefix, rawBody);
+ }
+ async registerRouter() {
+ await this.registerMiddleware(this.httpAdapter);
+ const prefix = this.config.getGlobalPrefix();
+ const basePath = addLeadingSlash(prefix);
+ const conflictPolicy = this.config.getRouteConflictPolicy();
+ const resolutionStrategy = this.config.getRouteResolutionStrategy();
+ const adapterIsOrderSensitive = this.httpAdapter.isRouteOrderSensitive?.() ?? true;
+ const shouldSortBySpecificity = resolutionStrategy === "specificity" && adapterIsOrderSensitive;
+ const adapterRejectsDuplicates = !adapterIsOrderSensitive;
+ if (!conflictPolicy && !shouldSortBySpecificity) {
+ this.routesResolver.resolve(this.httpAdapter, basePath);
+ return;
+ }
+ const resolvedRoutes = [];
+ this.routesResolver.resolve(this.httpAdapter, basePath, {
+ onRouteResolved: /* @__PURE__ */ __name((route) => resolvedRoutes.push(route), "onRouteResolved"),
+ deferRegistration: true
+ });
+ const orderedRoutes = shouldSortBySpecificity ? RouteSpecificitySorter.sort(resolvedRoutes) : resolvedRoutes;
+ const routesToSkip = /* @__PURE__ */ new Set();
+ if (conflictPolicy) {
+ const filteredPolicy = adapterIsOrderSensitive ? conflictPolicy : { duplicate: conflictPolicy.duplicate };
+ const conflicts = RouteConflictDetector.detect(orderedRoutes, this.config.getVersioning());
+ if (adapterRejectsDuplicates) {
+ conflicts.forEach((conflict) => {
+ if (conflict.kind === "duplicate") {
+ routesToSkip.add(conflict.shadowed);
+ }
+ });
+ }
+ const effectiveConflicts = shouldSortBySpecificity ? RouteConflictDetector.filterSortResolvedShadows(conflicts, resolvedRoutes) : conflicts;
+ RouteConflictDetector.handle(effectiveConflicts, filteredPolicy, this.logger);
+ }
+ orderedRoutes.forEach((route) => {
+ if (routesToSkip.has(route))
+ return;
+ this.routesResolver.registerResolvedRoute(this.httpAdapter, route);
+ });
+ }
+ async registerRouterHooks() {
+ this.routesResolver.registerNotFoundHandler();
+ this.routesResolver.registerExceptionHandler();
+ }
+ connectMicroservice(microserviceOptions, hybridAppOptions = {}) {
+ const { NestMicroservice } = loadPackageCached("@nestjs/microservices", "NestFactory");
+ const { inheritAppConfig } = hybridAppOptions;
+ const applicationConfig = inheritAppConfig ? this.config : new ApplicationConfig();
+ const instance = new NestMicroservice(this.container, microserviceOptions, this.graphInspector, applicationConfig);
+ instance.setIsConnectedToApplication?.(true);
+ if (!hybridAppOptions.deferInitialization) {
+ instance.registerListeners();
+ instance.setIsInitialized(true);
+ instance.setIsInitHookCalled(true);
+ }
+ this.microservices.push(instance);
+ return instance;
+ }
+ getMicroservices() {
+ return this.microservices;
+ }
+ getHttpServer() {
+ return this.httpServer;
+ }
+ async startAllMicroservices() {
+ this.assertNotInPreviewMode("startAllMicroservices");
+ await Promise.all(this.microservices.map((msvc) => msvc.listen()));
+ return this;
+ }
+ use(...args) {
+ this.httpAdapter.use(...this.applyFunctionDecoratorIfRegistered(args));
+ return this;
+ }
+ useBodyParser(...args) {
+ if (!("useBodyParser" in this.httpAdapter)) {
+ this.logger.warn("Your HTTP Adapter does not support `.useBodyParser`.");
+ return this;
+ }
+ const [parserType, ...otherArgs] = args;
+ const rawBody = !!this.appOptions.rawBody;
+ this.httpAdapter.useBodyParser?.(...[parserType, rawBody, ...otherArgs]);
+ return this;
+ }
+ enableCors(options) {
+ this.httpAdapter.enableCors(options);
+ }
+ enableCsrfProtection(options) {
+ this.assertSecurityFeatureCanBeEnabled("enableCsrfProtection");
+ const protection = new CrossOriginProtection(this.httpAdapter, options);
+ this.getSecurityHook().setCrossOriginProtection(protection);
+ this.enabledSecurityFeatures.add("enableCsrfProtection");
+ return this;
+ }
+ useSecurityHeaders(options) {
+ this.assertSecurityFeatureCanBeEnabled("useSecurityHeaders");
+ const headers = resolveSecurityHeaders(options);
+ this.getSecurityHook().setHeaders(headers);
+ if (headers.removeHeaders.includes("X-Powered-By")) {
+ this.httpAdapter.disable?.("x-powered-by");
+ }
+ this.enabledSecurityFeatures.add("useSecurityHeaders");
+ return this;
+ }
+ enableVersioning(options = { type: VersioningType.URI }) {
+ this.config.enableVersioning(options);
+ return this;
+ }
+ async listen(port, ...args) {
+ this.assertNotInPreviewMode("listen");
+ if (!this.isInitialized) {
+ await this.init();
+ }
+ const httpAdapterHost = this.container.getHttpAdapterHostRef();
+ return new Promise((resolve, reject) => {
+ const errorHandler = /* @__PURE__ */ __name((e) => {
+ this.logger.error(e?.toString?.());
+ reject(e);
+ }, "errorHandler");
+ this.httpServer.once("error", errorHandler);
+ const isCallbackInOriginalArgs = isFunction(args[args.length - 1]);
+ const listenFnArgs = isCallbackInOriginalArgs ? args.slice(0, args.length - 1) : args;
+ this.httpAdapter.listen(port, ...listenFnArgs, (...originalCallbackArgs) => {
+ this.flushLogsIfAutoFlushEnabled();
+ if (originalCallbackArgs[0] instanceof Error) {
+ return reject(originalCallbackArgs[0]);
+ }
+ const address = this.httpServer.address();
+ if (address) {
+ this.httpServer.removeListener("error", errorHandler);
+ this.isListening = true;
+ httpAdapterHost.listening = true;
+ resolve(this.httpServer);
+ }
+ if (isCallbackInOriginalArgs) {
+ args[args.length - 1](...originalCallbackArgs);
+ }
+ });
+ });
+ }
+ async getUrl() {
+ return new Promise((resolve, reject) => {
+ if (!this.isListening) {
+ this.logger.error(MESSAGES.CALL_LISTEN_FIRST);
+ reject(MESSAGES.CALL_LISTEN_FIRST);
+ return;
+ }
+ const address = this.httpServer.address();
+ resolve(this.formatAddress(address));
+ });
+ }
+ formatAddress(address) {
+ if (isString(address)) {
+ if (platform() === "win32") {
+ return address;
+ }
+ const basePath = encodeURIComponent(address);
+ return `${this.getProtocol()}+unix://${basePath}`;
+ }
+ let host = this.host();
+ if (address && address.family === "IPv6") {
+ if (host === "::") {
+ host = "[::1]";
+ } else {
+ host = `[${host}]`;
+ }
+ } else if (host === "0.0.0.0") {
+ host = "127.0.0.1";
+ }
+ return `${this.getProtocol()}://${host}:${address.port}`;
+ }
+ setGlobalPrefix(prefix, options) {
+ this.config.setGlobalPrefix(prefix);
+ if (options) {
+ const exclude = options?.exclude ? mapToExcludeRoute(options.exclude) : [];
+ this.config.setGlobalPrefixOptions({
+ ...options,
+ exclude
+ });
+ }
+ return this;
+ }
+ useWebSocketAdapter(adapter) {
+ if (this.isWsModuleRegistered) {
+ this.logger.warn("useWebSocketAdapter() was called after WebSocket gateways were already initialized. The provided adapter will be stored but will NOT be applied to existing gateways \u2014 they remain bound to the previously installed adapter. To install a custom adapter, call app.useWebSocketAdapter(...) BEFORE app.init() (or app.listen()).");
+ }
+ this.config.setIoAdapter(adapter);
+ return this;
+ }
+ useGlobalFilters(...filters) {
+ filters = this.applyInstanceDecoratorIfRegistered(...filters);
+ this.config.useGlobalFilters(...filters);
+ filters.forEach((item) => this.graphInspector.insertOrphanedEnhancer({
+ subtype: "filter",
+ ref: item
+ }));
+ return this;
+ }
+ useGlobalPipes(...pipes) {
+ pipes = this.applyInstanceDecoratorIfRegistered(...pipes);
+ this.config.useGlobalPipes(...pipes);
+ pipes.forEach((item) => this.graphInspector.insertOrphanedEnhancer({
+ subtype: "pipe",
+ ref: item
+ }));
+ return this;
+ }
+ useGlobalInterceptors(...interceptors) {
+ interceptors = this.applyInstanceDecoratorIfRegistered(...interceptors);
+ this.config.useGlobalInterceptors(...interceptors);
+ interceptors.forEach((item) => this.graphInspector.insertOrphanedEnhancer({
+ subtype: "interceptor",
+ ref: item
+ }));
+ return this;
+ }
+ useGlobalGuards(...guards) {
+ guards = this.applyInstanceDecoratorIfRegistered(...guards);
+ this.config.useGlobalGuards(...guards);
+ guards.forEach((item) => this.graphInspector.insertOrphanedEnhancer({
+ subtype: "guard",
+ ref: item
+ }));
+ return this;
+ }
+ useStaticAssets(pathOrOptions, options) {
+ this.httpAdapter.useStaticAssets?.(pathOrOptions, options);
+ return this;
+ }
+ setBaseViewsDir(path) {
+ this.httpAdapter.setBaseViewsDir?.(path);
+ return this;
+ }
+ setViewEngine(engineOrOptions) {
+ this.httpAdapter.setViewEngine?.(engineOrOptions);
+ return this;
+ }
+ /**
+ * Pre-load optional packages so that createNestApplication,
+ * createNestMicroservice and createHttpAdapter can stay synchronous.
+ */
+ async preloadLazyPackages() {
+ await tryLoadPackage("@nestjs/platform-express", () => import("./platform-express-MGQH3ALM.js"));
+ await tryLoadPackage("@nestjs/microservices", () => import("@nestjs/microservices"));
+ }
+ /**
+ * Builds the cookie signer from the `cookies.secret` option and shares it
+ * between the route params factory (through the config), which verifies
+ * signed cookies, and the HTTP adapter, which signs them in `setCookie()`.
+ */
+ applyCookiesOptions(appOptions) {
+ const secret = appOptions.cookies?.secret;
+ if (secret === void 0) {
+ return;
+ }
+ const signer = new CookieSigner(secret);
+ this.config.setCookieSigner(signer);
+ this.httpAdapter.setCookieSigner?.(signer);
+ }
+ host() {
+ const address = this.httpServer.address();
+ if (isString(address)) {
+ return void 0;
+ }
+ return address && address.address;
+ }
+ getProtocol() {
+ return this.appOptions && this.appOptions.httpsOptions ? "https" : "http";
+ }
+ /**
+ * Request-level security features are installed as a framework middleware
+ * or hook. After `init()` it would land behind the routes (Express) or be
+ * rejected by the framework (Fastify), leaving routes silently unprotected,
+ * so they fail loudly instead. A second call is rejected as well, as it
+ * would silently replace the first configuration.
+ */
+ assertSecurityFeatureCanBeEnabled(methodName) {
+ if (!this.httpAdapter.registerSecurityHook) {
+ throw new Error(`Your HTTP Adapter does not support \`.${methodName}()\`.`);
+ }
+ if (this.isInitialized) {
+ throw new Error(`app.${methodName}() must be called before app.init() / app.listen().`);
+ }
+ if (this.enabledSecurityFeatures.has(methodName)) {
+ throw new Error(`app.${methodName}() can only be called once.`);
+ }
+ }
+ /**
+ * Both security features share one request hook, so that they run in a
+ * fixed order (headers, then the CSRF check) whichever is enabled first.
+ * It is registered with the adapter the first time either is enabled,
+ * i.e. at that position in the middleware chain.
+ */
+ getSecurityHook() {
+ if (!this.securityHook) {
+ const hook = new HttpSecurityHook();
+ this.httpAdapter.registerSecurityHook((request, response) => hook.handle(request, response));
+ this.securityHook = hook;
+ }
+ return this.securityHook;
+ }
+ async registerMiddleware(instance) {
+ await this.middlewareModule.registerMiddleware(this.middlewareContainer, instance);
+ }
+ applyInstanceDecoratorIfRegistered(...instances) {
+ if (this.appOptions.instrument?.instanceDecorator) {
+ const decorate = makeSafeInstanceDecorator(this.appOptions.instrument.instanceDecorator);
+ return instances.map((instance) => decorate(instance));
+ }
+ return instances;
+ }
+ applyFunctionDecoratorIfRegistered(args) {
+ if (!this.appOptions.instrument?.instanceDecorator) {
+ return args;
+ }
+ const decorate = makeSafeInstanceDecorator(this.appOptions.instrument.instanceDecorator);
+ const decorateFunction = /* @__PURE__ */ __name((arg) => {
+ if (!isFunction(arg)) {
+ return arg;
+ }
+ const decorated = decorate(arg);
+ return isFunction(decorated) ? decorated : arg;
+ }, "decorateFunction");
+ return args.map(decorateFunction);
+ }
+ async loadSocketModule() {
+ if (!this.socketModule) {
+ const socketModule = await optionalRequire("@nestjs/websockets/socket-module", () => import("@nestjs/websockets/socket-module.js"));
+ if (socketModule?.SocketModule) {
+ this.socketModule = new socketModule.SocketModule();
+ }
+ }
+ }
+ async loadMicroservicesModule() {
+ if (!this.microservicesModule) {
+ const msModule = await optionalRequire("@nestjs/microservices/microservices-module", () => import("@nestjs/microservices/microservices-module.js"));
+ if (msModule?.MicroservicesModule) {
+ this.microservicesModule = new msModule.MicroservicesModule();
+ await loadPackage("@nestjs/microservices", "NestFactory", () => import("@nestjs/microservices"));
+ }
+ }
+ }
+ };
+ }
+});
+
+// ../../node_modules/.pnpm/@nestjs+core@12.2.0_@nestjs_74b3aa22af8a41de6299655ec5713214/node_modules/@nestjs/core/errors/exception-handler.js
+var ExceptionHandler;
+var init_exception_handler = __esm({
+ "../../node_modules/.pnpm/@nestjs+core@12.2.0_@nestjs_74b3aa22af8a41de6299655ec5713214/node_modules/@nestjs/core/errors/exception-handler.js"() {
+ init_common();
+ ExceptionHandler = class _ExceptionHandler {
+ static {
+ __name(this, "ExceptionHandler");
+ }
+ static logger = new Logger(_ExceptionHandler.name);
+ handle(exception) {
+ _ExceptionHandler.logger.error(exception);
+ }
+ };
+ }
+});
+
+// ../../node_modules/.pnpm/@nestjs+core@12.2.0_@nestjs_74b3aa22af8a41de6299655ec5713214/node_modules/@nestjs/core/errors/exceptions-zone.js
+var DEFAULT_TEARDOWN, ExceptionsZone;
+var init_exceptions_zone = __esm({
+ "../../node_modules/.pnpm/@nestjs+core@12.2.0_@nestjs_74b3aa22af8a41de6299655ec5713214/node_modules/@nestjs/core/errors/exceptions-zone.js"() {
+ init_common();
+ init_exception_handler();
+ DEFAULT_TEARDOWN = /* @__PURE__ */ __name(() => process.exit(1), "DEFAULT_TEARDOWN");
+ ExceptionsZone = class {
+ static {
+ __name(this, "ExceptionsZone");
+ }
+ static exceptionHandler = new ExceptionHandler();
+ static run(callback, teardown = DEFAULT_TEARDOWN, autoFlushLogs) {
+ try {
+ callback();
+ } catch (e) {
+ this.exceptionHandler.handle(e);
+ if (autoFlushLogs) {
+ Logger.flush();
+ }
+ teardown(e);
+ }
+ }
+ static async asyncRun(callback, teardown = DEFAULT_TEARDOWN, autoFlushLogs) {
+ try {
+ await callback();
+ } catch (e) {
+ this.exceptionHandler.handle(e);
+ if (autoFlushLogs) {
+ Logger.flush();
+ }
+ teardown(e);
+ }
+ }
+ };
+ }
+});
+
+// ../../node_modules/.pnpm/@nestjs+core@12.2.0_@nestjs_74b3aa22af8a41de6299655ec5713214/node_modules/@nestjs/core/helpers/load-adapter.js
+async function loadAdapter(defaultPlatform, transport, loaderFn) {
+ try {
+ return loaderFn ? await loaderFn() : await import(defaultPlatform);
+ } catch (e) {
+ logger2.error(MISSING_REQUIRED_DEPENDENCY(defaultPlatform, transport));
+ process.exit(1);
+ }
+}
+var MISSING_REQUIRED_DEPENDENCY, logger2;
+var init_load_adapter = __esm({
+ "../../node_modules/.pnpm/@nestjs+core@12.2.0_@nestjs_74b3aa22af8a41de6299655ec5713214/node_modules/@nestjs/core/helpers/load-adapter.js"() {
+ init_common();
+ MISSING_REQUIRED_DEPENDENCY = /* @__PURE__ */ __name((defaultPlatform, transport) => `No driver (${transport}) has been selected. In order to use the default driver, please, install the "${defaultPlatform}" package ($ npm install ${defaultPlatform}).`, "MISSING_REQUIRED_DEPENDENCY");
+ logger2 = new Logger("PackageLoader");
+ __name(loadAdapter, "loadAdapter");
+ }
+});
+
+// ../../node_modules/.pnpm/@nestjs+core@12.2.0_@nestjs_74b3aa22af8a41de6299655ec5713214/node_modules/@nestjs/core/helpers/rethrow.js
+var rethrow;
+var init_rethrow = __esm({
+ "../../node_modules/.pnpm/@nestjs+core@12.2.0_@nestjs_74b3aa22af8a41de6299655ec5713214/node_modules/@nestjs/core/helpers/rethrow.js"() {
+ rethrow = /* @__PURE__ */ __name((err) => {
+ throw err;
+ }, "rethrow");
+ }
+});
+
+// ../../node_modules/.pnpm/@nestjs+core@12.2.0_@nestjs_74b3aa22af8a41de6299655ec5713214/node_modules/@nestjs/core/injector/instance-loader.js
+var InstanceLoader;
+var init_instance_loader = __esm({
+ "../../node_modules/.pnpm/@nestjs+core@12.2.0_@nestjs_74b3aa22af8a41de6299655ec5713214/node_modules/@nestjs/core/injector/instance-loader.js"() {
+ init_common();
+ init_discoverable_meta_host_collection();
+ init_messages2();
+ init_internal_core_module();
+ InstanceLoader = class _InstanceLoader {
+ static {
+ __name(this, "InstanceLoader");
+ }
+ container;
+ injector;
+ graphInspector;
+ logger;
+ constructor(container, injector, graphInspector, logger3 = new Logger(_InstanceLoader.name, {
+ timestamp: true
+ })) {
+ this.container = container;
+ this.injector = injector;
+ this.graphInspector = graphInspector;
+ this.logger = logger3;
+ }
+ setLogger(logger3) {
+ this.logger = logger3;
+ }
+ async createInstancesOfDependencies(modules = this.container.getModules()) {
+ this.createPrototypes(modules);
+ try {
+ await this.createInstances(modules);
+ } catch (err) {
+ this.graphInspector.inspectModules(modules);
+ this.graphInspector.registerPartial(err);
+ throw err;
+ }
+ this.graphInspector.inspectModules(modules);
+ }
+ createPrototypes(modules) {
+ modules.forEach((moduleRef) => {
+ this.createPrototypesOfProviders(moduleRef);
+ this.createPrototypesOfInjectables(moduleRef);
+ this.createPrototypesOfControllers(moduleRef);
+ });
+ }
+ async createInstances(modules) {
+ await Promise.all([...modules.values()].map(async (moduleRef) => {
+ await this.createInstancesOfProviders(moduleRef);
+ await this.createInstancesOfInjectables(moduleRef);
+ await this.createInstancesOfControllers(moduleRef);
+ const { name } = moduleRef;
+ this.isModuleWhitelisted(name) && this.logger.log(MODULE_INIT_MESSAGE`${name}`);
+ }));
+ }
+ createPrototypesOfProviders(moduleRef) {
+ const { providers } = moduleRef;
+ providers.forEach((wrapper) => this.injector.loadPrototype(wrapper, providers));
+ }
+ async createInstancesOfProviders(moduleRef) {
+ const { providers } = moduleRef;
+ const wrappers = [...providers.values()];
+ await Promise.all(wrappers.map(async (item) => {
+ await this.injector.loadProvider(item, moduleRef);
+ this.graphInspector.inspectInstanceWrapper(item, moduleRef);
+ if (!item.isAlias) {
+ DiscoverableMetaHostCollection.inspectProvider(this.container.getModules(), item);
+ }
+ }));
+ }
+ createPrototypesOfControllers(moduleRef) {
+ const { controllers } = moduleRef;
+ controllers.forEach((wrapper) => this.injector.loadPrototype(wrapper, controllers));
+ }
+ async createInstancesOfControllers(moduleRef) {
+ const { controllers } = moduleRef;
+ const wrappers = [...controllers.values()];
+ await Promise.all(wrappers.map(async (item) => {
+ await this.injector.loadController(item, moduleRef);
+ this.graphInspector.inspectInstanceWrapper(item, moduleRef);
+ }));
+ }
+ createPrototypesOfInjectables(moduleRef) {
+ const { injectables } = moduleRef;
+ injectables.forEach((wrapper) => this.injector.loadPrototype(wrapper, injectables));
+ }
+ async createInstancesOfInjectables(moduleRef) {
+ const { injectables } = moduleRef;
+ const wrappers = [...injectables.values()];
+ await Promise.all(wrappers.map(async (item) => {
+ await this.injector.loadInjectable(item, moduleRef);
+ this.graphInspector.inspectInstanceWrapper(item, moduleRef);
+ }));
+ }
+ isModuleWhitelisted(name) {
+ return name !== InternalCoreModule.name;
+ }
+ };
+ }
+});
+
+// ../../node_modules/.pnpm/@nestjs+core@12.2.0_@nestjs_74b3aa22af8a41de6299655ec5713214/node_modules/@nestjs/core/inspector/noop-graph-inspector.js
+var noop4, NoopGraphInspector;
+var init_noop_graph_inspector = __esm({
+ "../../node_modules/.pnpm/@nestjs+core@12.2.0_@nestjs_74b3aa22af8a41de6299655ec5713214/node_modules/@nestjs/core/inspector/noop-graph-inspector.js"() {
+ init_graph_inspector();
+ noop4 = /* @__PURE__ */ __name(() => {
+ }, "noop");
+ NoopGraphInspector = new Proxy(GraphInspector.prototype, {
+ get: /* @__PURE__ */ __name(() => noop4, "get")
+ });
+ }
+});
+
+// ../../node_modules/.pnpm/@nestjs+core@12.2.0_@nestjs_74b3aa22af8a41de6299655ec5713214/node_modules/@nestjs/core/errors/exceptions/invalid-class-module.exception.js
+var InvalidClassModuleException;
+var init_invalid_class_module_exception = __esm({
+ "../../node_modules/.pnpm/@nestjs+core@12.2.0_@nestjs_74b3aa22af8a41de6299655ec5713214/node_modules/@nestjs/core/errors/exceptions/invalid-class-module.exception.js"() {
+ init_messages();
+ init_runtime_exception();
+ InvalidClassModuleException = class extends RuntimeException {
+ static {
+ __name(this, "InvalidClassModuleException");
+ }
+ constructor(metatypeUsedAsAModule, scope, classKind) {
+ super(USING_INVALID_CLASS_AS_A_MODULE_MESSAGE(metatypeUsedAsAModule, scope, classKind));
+ }
+ };
+ }
+});
+
+// ../../node_modules/.pnpm/@nestjs+core@12.2.0_@nestjs_74b3aa22af8a41de6299655ec5713214/node_modules/@nestjs/core/errors/exceptions/invalid-module.exception.js
+var InvalidModuleException;
+var init_invalid_module_exception = __esm({
+ "../../node_modules/.pnpm/@nestjs+core@12.2.0_@nestjs_74b3aa22af8a41de6299655ec5713214/node_modules/@nestjs/core/errors/exceptions/invalid-module.exception.js"() {
+ init_messages();
+ init_runtime_exception();
+ InvalidModuleException = class extends RuntimeException {
+ static {
+ __name(this, "InvalidModuleException");
+ }
+ constructor(parentModule, index, scope, receivedValue) {
+ super(INVALID_MODULE_MESSAGE(parentModule, index, scope, receivedValue));
+ }
+ };
+ }
+});
+
+// ../../node_modules/.pnpm/@nestjs+core@12.2.0_@nestjs_74b3aa22af8a41de6299655ec5713214/node_modules/@nestjs/core/errors/exceptions/request-scoped-global-enhancer.exception.js
+var RequestScopedGlobalEnhancerException;
+var init_request_scoped_global_enhancer_exception = __esm({
+ "../../node_modules/.pnpm/@nestjs+core@12.2.0_@nestjs_74b3aa22af8a41de6299655ec5713214/node_modules/@nestjs/core/errors/exceptions/request-scoped-global-enhancer.exception.js"() {
+ init_messages();
+ init_runtime_exception();
+ RequestScopedGlobalEnhancerException = class extends RuntimeException {
+ static {
+ __name(this, "RequestScopedGlobalEnhancerException");
+ }
+ constructor(enhancerToken, provider, kind) {
+ super(REQUEST_SCOPED_GLOBAL_ENHANCER_MESSAGE(enhancerToken, provider, kind));
+ }
+ };
+ }
+});
+
+// ../../node_modules/.pnpm/@nestjs+core@12.2.0_@nestjs_74b3aa22af8a41de6299655ec5713214/node_modules/@nestjs/core/errors/exceptions/undefined-module.exception.js
+var UndefinedModuleException;
+var init_undefined_module_exception = __esm({
+ "../../node_modules/.pnpm/@nestjs+core@12.2.0_@nestjs_74b3aa22af8a41de6299655ec5713214/node_modules/@nestjs/core/errors/exceptions/undefined-module.exception.js"() {
+ init_runtime_exception();
+ init_messages();
+ UndefinedModuleException = class extends RuntimeException {
+ static {
+ __name(this, "UndefinedModuleException");
+ }
+ constructor(parentModule, index, scope) {
+ super(UNDEFINED_MODULE_MESSAGE(parentModule, index, scope));
+ }
+ };
+ }
+});
+
+// ../../node_modules/.pnpm/@nestjs+core@12.2.0_@nestjs_74b3aa22af8a41de6299655ec5713214/node_modules/@nestjs/core/errors/exceptions/uninstantiated-global-enhancer.exception.js
+var UninstantiatedGlobalEnhancerException;
+var init_uninstantiated_global_enhancer_exception = __esm({
+ "../../node_modules/.pnpm/@nestjs+core@12.2.0_@nestjs_74b3aa22af8a41de6299655ec5713214/node_modules/@nestjs/core/errors/exceptions/uninstantiated-global-enhancer.exception.js"() {
+ init_messages();
+ init_runtime_exception();
+ UninstantiatedGlobalEnhancerException = class extends RuntimeException {
+ static {
+ __name(this, "UninstantiatedGlobalEnhancerException");
+ }
+ constructor(enhancerToken, provider) {
+ super(UNINSTANTIATED_GLOBAL_ENHANCER_MESSAGE(enhancerToken, provider));
+ }
+ };
+ }
+});
+
+// ../../node_modules/.pnpm/@nestjs+core@12.2.0_@nestjs_74b3aa22af8a41de6299655ec5713214/node_modules/@nestjs/core/injector/internal-core-module/internal-core-module-factory.js
+var InternalCoreModuleFactory;
+var init_internal_core_module_factory = __esm({
+ "../../node_modules/.pnpm/@nestjs+core@12.2.0_@nestjs_74b3aa22af8a41de6299655ec5713214/node_modules/@nestjs/core/injector/internal-core-module/internal-core-module-factory.js"() {
+ init_common();
+ init_external_context_creator();
+ init_http_adapter_host();
+ init_initialize_on_preview_allowlist();
+ init_serialized_graph();
+ init_injector();
+ init_instance_loader();
+ init_lazy_module_loader();
+ init_modules_container();
+ init_internal_core_module();
+ InternalCoreModuleFactory = class {
+ static {
+ __name(this, "InternalCoreModuleFactory");
+ }
+ static create(container, scanner, moduleCompiler, httpAdapterHost, graphInspector, moduleOverrides) {
+ const lazyModuleLoaderFactory = /* @__PURE__ */ __name(() => {
+ const logger3 = new Logger(LazyModuleLoader.name, {
+ timestamp: false
+ });
+ const injector = new Injector({
+ preview: container.contextOptions?.preview ?? false,
+ instanceDecorator: container.contextOptions?.instrument?.instanceDecorator
+ });
+ const instanceLoader = new InstanceLoader(container, injector, graphInspector, logger3);
+ return new LazyModuleLoader(scanner, instanceLoader, moduleCompiler, container.getModules(), moduleOverrides);
+ }, "lazyModuleLoaderFactory");
+ InitializeOnPreviewAllowlist.add(InternalCoreModule);
+ return InternalCoreModule.register([
+ {
+ provide: ExternalContextCreator,
+ useFactory: /* @__PURE__ */ __name(() => ExternalContextCreator.fromContainer(container), "useFactory")
+ },
+ {
+ provide: ModulesContainer,
+ useFactory: /* @__PURE__ */ __name(() => container.getModules(), "useFactory")
+ },
+ {
+ provide: HttpAdapterHost,
+ useFactory: /* @__PURE__ */ __name(() => httpAdapterHost, "useFactory")
+ },
+ {
+ provide: LazyModuleLoader,
+ useFactory: lazyModuleLoaderFactory
+ },
+ {
+ provide: SerializedGraph,
+ useFactory: /* @__PURE__ */ __name(() => container.serializedGraph, "useFactory")
+ }
+ ]);
+ }
+ };
+ }
+});
+
+// ../../node_modules/.pnpm/@nestjs+core@12.2.0_@nestjs_74b3aa22af8a41de6299655ec5713214/node_modules/@nestjs/core/injector/topology-tree/tree-node.js
+var TreeNode;
+var init_tree_node = __esm({
+ "../../node_modules/.pnpm/@nestjs+core@12.2.0_@nestjs_74b3aa22af8a41de6299655ec5713214/node_modules/@nestjs/core/injector/topology-tree/tree-node.js"() {
+ TreeNode = class {
+ static {
+ __name(this, "TreeNode");
+ }
+ value;
+ children = /* @__PURE__ */ new Set();
+ parent;
+ constructor({ value, parent }) {
+ this.value = value;
+ this.parent = parent;
+ }
+ addChild(child) {
+ this.children.add(child);
+ }
+ removeChild(child) {
+ this.children.delete(child);
+ }
+ relink(parent) {
+ this.parent?.removeChild(this);
+ this.parent = parent;
+ this.parent.addChild(this);
+ }
+ getDepth() {
+ const visited = /* @__PURE__ */ new Set();
+ let depth = 0;
+ let current = this;
+ while (current) {
+ depth++;
+ current = current.parent;
+ if (visited.has(current)) {
+ return -1;
+ }
+ visited.add(current);
+ }
+ return depth;
+ }
+ hasCycleWith(target) {
+ const visited = /* @__PURE__ */ new Set();
+ let current = this;
+ while (current) {
+ if (current.value === target) {
+ return true;
+ }
+ current = current.parent;
+ if (visited.has(current)) {
+ return false;
+ }
+ visited.add(current);
+ }
+ return false;
+ }
+ };
+ }
+});
+
+// ../../node_modules/.pnpm/@nestjs+core@12.2.0_@nestjs_74b3aa22af8a41de6299655ec5713214/node_modules/@nestjs/core/injector/topology-tree/topology-tree.js
+var TopologyTree;
+var init_topology_tree = __esm({
+ "../../node_modules/.pnpm/@nestjs+core@12.2.0_@nestjs_74b3aa22af8a41de6299655ec5713214/node_modules/@nestjs/core/injector/topology-tree/topology-tree.js"() {
+ init_tree_node();
+ TopologyTree = class {
+ static {
+ __name(this, "TopologyTree");
+ }
+ root;
+ links = /* @__PURE__ */ new Map();
+ constructor(moduleRef) {
+ this.root = new TreeNode({
+ value: moduleRef,
+ parent: null
+ });
+ this.links.set(moduleRef, this.root);
+ this.traverseAndMapToTree(this.root);
+ }
+ walk(callback) {
+ function walkNode(node, depth = 1) {
+ callback(node.value, depth);
+ node.children.forEach((child) => walkNode(child, depth + 1));
+ }
+ __name(walkNode, "walkNode");
+ walkNode(this.root);
+ }
+ traverseAndMapToTree(node, depth = 1) {
+ if (!node.value.imports) {
+ return;
+ }
+ node.value.imports.forEach((child) => {
+ if (!child) {
+ return;
+ }
+ if (this.links.has(child)) {
+ const existingSubtree = this.links.get(child);
+ if (node.hasCycleWith(child)) {
+ return;
+ }
+ const existingDepth = existingSubtree.getDepth();
+ if (existingDepth < depth) {
+ existingSubtree.relink(node);
+ }
+ return;
+ }
+ const childNode = new TreeNode({
+ value: child,
+ parent: node
+ });
+ node.addChild(childNode);
+ this.links.set(child, childNode);
+ this.traverseAndMapToTree(childNode, depth + 1);
+ });
+ }
+ };
+ }
+});
+
+// ../../node_modules/.pnpm/@nestjs+core@12.2.0_@nestjs_74b3aa22af8a41de6299655ec5713214/node_modules/@nestjs/core/scanner.js
+var import_iterare18, DependenciesScanner;
+var init_scanner = __esm({
+ "../../node_modules/.pnpm/@nestjs+core@12.2.0_@nestjs_74b3aa22af8a41de6299655ec5713214/node_modules/@nestjs/core/scanner.js"() {
+ import_iterare18 = __toESM(require_lib(), 1);
+ init_application_config();
+ init_constants2();
+ init_circular_dependency_exception();
+ init_invalid_class_module_exception();
+ init_invalid_module_exception();
+ init_request_scoped_global_enhancer_exception();
+ init_undefined_module_exception();
+ init_uninstantiated_global_enhancer_exception();
+ init_get_class_scope();
+ init_constants3();
+ init_internal_core_module_factory();
+ init_topology_tree();
+ init_uuid_factory();
+ init_internal();
+ init_common();
+ DependenciesScanner = class {
+ static {
+ __name(this, "DependenciesScanner");
+ }
+ container;
+ metadataScanner;
+ graphInspector;
+ applicationConfig;
+ applicationProvidersApplyMap = [];
+ constructor(container, metadataScanner, graphInspector, applicationConfig = new ApplicationConfig()) {
+ this.container = container;
+ this.metadataScanner = metadataScanner;
+ this.graphInspector = graphInspector;
+ this.applicationConfig = applicationConfig;
+ }
+ async scan(module, options) {
+ await this.registerCoreModule(options?.overrides);
+ await this.scanForModules({
+ moduleDefinition: module,
+ overrides: options?.overrides
+ });
+ await this.scanModulesForDependencies();
+ this.addScopedEnhancersMetadata();
+ this.calculateModulesDistance();
+ this.container.bindGlobalScope();
+ }
+ async scanForModules({ moduleDefinition, lazy, scope = [], ctxRegistry = [], overrides = [] }) {
+ const { moduleRef: moduleInstance, inserted: moduleInserted } = await this.insertOrOverrideModule(moduleDefinition, overrides, scope) ?? {};
+ if (lazy && !moduleInserted && moduleInstance?.isInstantiated) {
+ return [];
+ }
+ moduleDefinition = this.getOverrideModuleByModule(moduleDefinition, overrides)?.newModule ?? moduleDefinition;
+ moduleDefinition = moduleDefinition instanceof Promise ? await moduleDefinition : moduleDefinition;
+ ctxRegistry.push(moduleDefinition);
+ if (this.isForwardReference(moduleDefinition)) {
+ moduleDefinition = moduleDefinition.forwardRef();
+ }
+ const modules = !this.isDynamicModule(moduleDefinition) ? this.reflectMetadata(MODULE_METADATA.IMPORTS, moduleDefinition) : [
+ ...this.reflectMetadata(MODULE_METADATA.IMPORTS, moduleDefinition.module),
+ ...moduleDefinition.imports || []
+ ];
+ let registeredModuleRefs = [];
+ for (const [index, innerModule] of modules.entries()) {
+ if (innerModule === void 0) {
+ throw new UndefinedModuleException(moduleDefinition, index, scope);
+ }
+ if (!innerModule) {
+ throw new InvalidModuleException(moduleDefinition, index, scope, innerModule);
+ }
+ if (ctxRegistry.includes(innerModule)) {
+ continue;
+ }
+ const moduleRefs = await this.scanForModules({
+ moduleDefinition: innerModule,
+ scope: [].concat(scope, moduleDefinition),
+ ctxRegistry,
+ overrides,
+ lazy
+ });
+ registeredModuleRefs = registeredModuleRefs.concat(moduleRefs);
+ }
+ if (!moduleInstance) {
+ return registeredModuleRefs;
+ }
+ if (lazy) {
+ this.container.bindGlobalsToImports(moduleInstance);
+ }
+ return [moduleInstance].concat(registeredModuleRefs);
+ }
+ async insertModule(moduleDefinition, scope) {
+ const moduleToAdd = this.isForwardReference(moduleDefinition) ? moduleDefinition.forwardRef() : moduleDefinition;
+ if (this.isInjectable(moduleToAdd)) {
+ throw new InvalidClassModuleException(moduleDefinition, scope, "provider");
+ }
+ if (this.isController(moduleToAdd)) {
+ throw new InvalidClassModuleException(moduleDefinition, scope, "controller");
+ }
+ if (this.isExceptionFilter(moduleToAdd)) {
+ throw new InvalidClassModuleException(moduleDefinition, scope, "filter");
+ }
+ return this.container.addModule(moduleToAdd, scope);
+ }
+ async scanModulesForDependencies(modules = this.container.getModules()) {
+ for (const [token, { metatype }] of modules) {
+ await this.reflectImports(metatype, token, metatype.name);
+ this.reflectProviders(metatype, token);
+ this.reflectControllers(metatype, token);
+ this.reflectExports(metatype, token);
+ }
+ }
+ async reflectImports(module, token, context) {
+ const modules = [
+ ...this.reflectMetadata(MODULE_METADATA.IMPORTS, module),
+ ...this.container.getDynamicMetadataByToken(token, MODULE_METADATA.IMPORTS)
+ ];
+ for (const related of modules) {
+ await this.insertImport(related, token, context);
+ }
+ }
+ reflectProviders(module, token) {
+ const providers = [
+ ...this.reflectMetadata(MODULE_METADATA.PROVIDERS, module),
+ ...this.container.getDynamicMetadataByToken(token, MODULE_METADATA.PROVIDERS)
+ ];
+ const applyProvidersKeys = Object.keys(this.getApplyProvidersMap());
+ providers.forEach((provider) => {
+ this.insertProvider(provider, token);
+ if (!this.isCustomProvider(provider)) {
+ return this.reflectDynamicMetadata(provider, token);
+ }
+ const { provide, useClass } = provider;
+ if (!applyProvidersKeys.includes(provide)) {
+ this.reflectDynamicMetadata(useClass, token, provide);
+ }
+ });
+ }
+ reflectControllers(module, token) {
+ const controllers = [
+ ...this.reflectMetadata(MODULE_METADATA.CONTROLLERS, module),
+ ...this.container.getDynamicMetadataByToken(token, MODULE_METADATA.CONTROLLERS)
+ ];
+ controllers.forEach((item) => {
+ this.insertController(item, token);
+ this.reflectDynamicMetadata(item, token);
+ });
+ }
+ reflectDynamicMetadata(cls, token, hostToken = cls) {
+ if (!cls || !cls.prototype) {
+ return;
+ }
+ this.reflectInjectables(cls, token, GUARDS_METADATA, hostToken);
+ this.reflectInjectables(cls, token, INTERCEPTORS_METADATA, hostToken);
+ this.reflectInjectables(cls, token, EXCEPTION_FILTERS_METADATA, hostToken);
+ this.reflectInjectables(cls, token, PIPES_METADATA, hostToken);
+ this.reflectParamInjectables(cls, token, ROUTE_ARGS_METADATA, hostToken);
+ }
+ reflectExports(module, token) {
+ const exports = [
+ ...this.reflectMetadata(MODULE_METADATA.EXPORTS, module),
+ ...this.container.getDynamicMetadataByToken(token, MODULE_METADATA.EXPORTS)
+ ];
+ exports.forEach((exportedProvider) => this.insertExportedProviderOrModule(exportedProvider, token));
+ }
+ reflectInjectables(component, token, metadataKey, hostToken = component) {
+ const controllerInjectables = this.reflectMetadata(metadataKey, component);
+ const methodInjectables = this.metadataScanner.getAllMethodNames(component.prototype).reduce((acc, method) => {
+ const methodInjectable = this.reflectKeyMetadata(component, metadataKey, method);
+ if (methodInjectable) {
+ acc.push(methodInjectable);
+ }
+ return acc;
+ }, []);
+ controllerInjectables.forEach((injectable) => this.insertInjectable(injectable, token, hostToken, ENHANCER_KEY_TO_SUBTYPE_MAP[metadataKey]));
+ methodInjectables.forEach((methodInjectable) => {
+ methodInjectable.metadata.forEach((injectable) => this.insertInjectable(injectable, token, hostToken, ENHANCER_KEY_TO_SUBTYPE_MAP[metadataKey], methodInjectable.methodKey));
+ });
+ }
+ reflectParamInjectables(component, token, metadataKey, hostToken = component) {
+ const paramsMethods = this.metadataScanner.getAllMethodNames(component.prototype);
+ paramsMethods.forEach((methodKey) => {
+ const metadata = Reflect.getMetadata(metadataKey, component, methodKey);
+ if (!metadata) {
+ return;
+ }
+ const params = Object.values(metadata);
+ params.map((item) => item.pipes).flat(1).forEach((injectable) => this.insertInjectable(injectable, token, hostToken, "pipe", methodKey));
+ });
+ }
+ reflectKeyMetadata(component, key, methodKey) {
+ let prototype = component.prototype;
+ do {
+ const descriptor = Reflect.getOwnPropertyDescriptor(prototype, methodKey);
+ if (!descriptor) {
+ continue;
+ }
+ const metadata = Reflect.getMetadata(key, descriptor.value);
+ if (!metadata) {
+ return;
+ }
+ return { methodKey, metadata };
+ } while ((prototype = Reflect.getPrototypeOf(prototype)) && prototype !== Object.prototype && prototype);
+ return void 0;
+ }
+ calculateModulesDistance() {
+ const modulesGenerator = this.container.getModules().values();
+ modulesGenerator.next();
+ const rootModule = modulesGenerator.next().value;
+ if (!rootModule) {
+ return;
+ }
+ const tree = new TopologyTree(rootModule);
+ tree.walk((moduleRef, depth) => {
+ if (moduleRef.isGlobal) {
+ return;
+ }
+ moduleRef.distance = depth;
+ });
+ }
+ async insertImport(related, token, context) {
+ if (isUndefined(related)) {
+ throw new CircularDependencyException(context);
+ }
+ if (this.isForwardReference(related)) {
+ return this.container.addImport(related.forwardRef(), token);
+ }
+ await this.container.addImport(related, token);
+ }
+ isCustomProvider(provider) {
+ return provider && !isNil(provider.provide);
+ }
+ insertProvider(provider, token) {
+ const isCustomProvider = this.isCustomProvider(provider);
+ if (!isCustomProvider) {
+ return this.container.addProvider(provider, token);
+ }
+ const applyProvidersMap = this.getApplyProvidersMap();
+ const providersKeys = Object.keys(applyProvidersMap);
+ const type = provider.provide;
+ if (!providersKeys.includes(type)) {
+ return this.container.addProvider(provider, token);
+ }
+ const uuid = UuidFactory.get(type.toString());
+ const providerToken = `${type} (UUID: ${uuid})`;
+ let scope = provider.scope;
+ if (isNil(scope) && provider.useClass) {
+ scope = getClassScope(provider.useClass);
+ }
+ const existing = provider.useExisting;
+ if (isNil(scope) && isFunction(existing)) {
+ scope = getClassScope(existing);
+ }
+ this.applicationProvidersApplyMap.push({
+ type,
+ moduleKey: token,
+ providerKey: providerToken,
+ scope
+ });
+ const newProvider = {
+ ...provider,
+ provide: providerToken,
+ scope
+ };
+ const enhancerSubtype = ENHANCER_TOKEN_TO_SUBTYPE_MAP[type];
+ const factoryOrClassProvider = newProvider;
+ if (this.isRequestOrTransient(factoryOrClassProvider.scope)) {
+ return this.container.addInjectable(newProvider, token, enhancerSubtype);
+ }
+ this.container.addProvider(newProvider, token, enhancerSubtype);
+ }
+ insertInjectable(injectable, token, host, subtype, methodKey) {
+ if (isFunction(injectable)) {
+ const instanceWrapper = this.container.addInjectable(injectable, token, subtype, host);
+ this.graphInspector.insertEnhancerMetadataCache({
+ moduleToken: token,
+ classRef: host,
+ enhancerInstanceWrapper: instanceWrapper,
+ targetNodeId: instanceWrapper.id,
+ subtype,
+ methodKey
+ });
+ return instanceWrapper;
+ } else {
+ this.graphInspector.insertEnhancerMetadataCache({
+ moduleToken: token,
+ classRef: host,
+ enhancerRef: injectable,
+ methodKey,
+ subtype
+ });
+ }
+ }
+ insertExportedProviderOrModule(toExport, token) {
+ const fulfilledProvider = this.isForwardReference(toExport) ? toExport.forwardRef() : toExport;
+ this.container.addExportedProviderOrModule(fulfilledProvider, token);
+ }
+ insertController(controller, token) {
+ this.container.addController(controller, token);
+ }
+ insertOrOverrideModule(moduleDefinition, overrides, scope) {
+ const overrideModule = this.getOverrideModuleByModule(moduleDefinition, overrides);
+ if (overrideModule !== void 0) {
+ return this.overrideModule(moduleDefinition, overrideModule.newModule, scope);
+ }
+ return this.insertModule(moduleDefinition, scope);
+ }
+ getOverrideModuleByModule(module, overrides) {
+ if (this.isForwardReference(module)) {
+ return overrides.find((moduleToOverride) => {
+ return moduleToOverride.moduleToReplace === module.forwardRef() || moduleToOverride.moduleToReplace.forwardRef?.() === module.forwardRef();
+ });
+ }
+ return overrides.find((moduleToOverride) => moduleToOverride.moduleToReplace === module);
+ }
+ async overrideModule(moduleToOverride, newModule, scope) {
+ return this.container.replaceModule(this.isForwardReference(moduleToOverride) ? moduleToOverride.forwardRef() : moduleToOverride, this.isForwardReference(newModule) ? newModule.forwardRef() : newModule, scope);
+ }
+ reflectMetadata(metadataKey, metatype) {
+ return Reflect.getMetadata(metadataKey, metatype) || [];
+ }
+ async registerCoreModule(overrides) {
+ const moduleDefinition = InternalCoreModuleFactory.create(this.container, this, this.container.getModuleCompiler(), this.container.getHttpAdapterHostRef(), this.graphInspector, overrides);
+ const [instance] = await this.scanForModules({
+ moduleDefinition,
+ overrides
+ });
+ this.container.registerCoreModuleRef(instance);
+ }
+ /**
+ * Add either request or transient globally scoped enhancers
+ * to all controllers metadata storage
+ */
+ addScopedEnhancersMetadata() {
+ (0, import_iterare18.iterate)(this.applicationProvidersApplyMap).filter((wrapper) => this.isRequestOrTransient(wrapper.scope)).forEach(({ moduleKey, providerKey }) => {
+ const modulesContainer = this.container.getModules();
+ const { injectables } = modulesContainer.get(moduleKey);
+ const instanceWrapper = injectables.get(providerKey);
+ const iterableIterator = modulesContainer.values();
+ (0, import_iterare18.iterate)(iterableIterator).map((moduleRef) => Array.from(moduleRef.controllers.values()).concat(moduleRef.entryProviders)).flatten().forEach((controllerOrEntryProvider) => controllerOrEntryProvider.addEnhancerMetadata(instanceWrapper));
+ });
+ }
+ applyApplicationProviders() {
+ const applyProvidersMap = this.getApplyProvidersMap();
+ const applyRequestProvidersMap = this.getApplyRequestProvidersMap();
+ const getInstanceWrapper = /* @__PURE__ */ __name((moduleKey, providerKey, collectionKey) => {
+ const modules = this.container.getModules();
+ const collection = modules.get(moduleKey)[collectionKey];
+ return collection.get(providerKey);
+ }, "getInstanceWrapper");
+ this.applicationProvidersApplyMap.forEach(({ moduleKey, providerKey, type, scope }) => {
+ let instanceWrapper;
+ if (this.isRequestOrTransient(scope)) {
+ instanceWrapper = getInstanceWrapper(moduleKey, providerKey, "injectables");
+ this.graphInspector.insertAttachedEnhancer(instanceWrapper);
+ return applyRequestProvidersMap[type](instanceWrapper);
+ }
+ instanceWrapper = getInstanceWrapper(moduleKey, providerKey, "providers");
+ this.graphInspector.insertAttachedEnhancer(instanceWrapper);
+ if (!instanceWrapper.isDependencyTreeStatic()) {
+ const [kind, provider] = this.describeEnhancerProvider(instanceWrapper);
+ throw new RequestScopedGlobalEnhancerException(type, provider, kind);
+ }
+ if (!instanceWrapper.getInstanceByContextId(STATIC_CONTEXT).isResolved) {
+ const [, provider] = this.describeEnhancerProvider(instanceWrapper);
+ throw new UninstantiatedGlobalEnhancerException(type, provider);
+ }
+ applyProvidersMap[type](instanceWrapper.instance);
+ });
+ }
+ describeEnhancerProvider(wrapper) {
+ if (wrapper.isAlias) {
+ const [target] = wrapper.inject ?? [];
+ const name = isFunction(target) ? target.name : String(target);
+ return ["useExisting", `useExisting: ${name}`];
+ }
+ if (isNil(wrapper.inject)) {
+ return ["useClass", `useClass: ${wrapper.metatype.name}`];
+ }
+ return ["useFactory", "useFactory"];
+ }
+ getApplyProvidersMap() {
+ return {
+ [APP_INTERCEPTOR]: (interceptor) => this.applicationConfig.addGlobalInterceptor(interceptor),
+ [APP_PIPE]: (pipe) => this.applicationConfig.addGlobalPipe(pipe),
+ [APP_GUARD]: (guard) => this.applicationConfig.addGlobalGuard(guard),
+ [APP_FILTER]: (filter) => this.applicationConfig.addGlobalFilter(filter)
+ };
+ }
+ getApplyRequestProvidersMap() {
+ return {
+ [APP_INTERCEPTOR]: (interceptor) => this.applicationConfig.addGlobalRequestInterceptor(interceptor),
+ [APP_PIPE]: (pipe) => this.applicationConfig.addGlobalRequestPipe(pipe),
+ [APP_GUARD]: (guard) => this.applicationConfig.addGlobalRequestGuard(guard),
+ [APP_FILTER]: (filter) => this.applicationConfig.addGlobalRequestFilter(filter)
+ };
+ }
+ isDynamicModule(module) {
+ return module && !!module.module;
+ }
+ /**
+ * @param metatype
+ * @returns `true` if `metatype` is annotated with the `@Injectable()` decorator.
+ */
+ isInjectable(metatype) {
+ return !!Reflect.getMetadata(INJECTABLE_WATERMARK, metatype);
+ }
+ /**
+ * @param metatype
+ * @returns `true` if `metatype` is annotated with the `@Controller()` decorator.
+ */
+ isController(metatype) {
+ return !!Reflect.getMetadata(CONTROLLER_WATERMARK, metatype);
+ }
+ /**
+ * @param metatype
+ * @returns `true` if `metatype` is annotated with the `@Catch()` decorator.
+ */
+ isExceptionFilter(metatype) {
+ return !!Reflect.getMetadata(CATCH_WATERMARK, metatype);
+ }
+ isForwardReference(module) {
+ return module && !!module.forwardRef;
+ }
+ isRequestOrTransient(scope) {
+ return scope === Scope.REQUEST || scope === Scope.TRANSIENT;
+ }
+ };
+ }
+});
+
+// ../../node_modules/.pnpm/@nestjs+core@12.2.0_@nestjs_74b3aa22af8a41de6299655ec5713214/node_modules/@nestjs/core/nest-factory.js
+var NestFactoryStatic, NestFactory;
+var init_nest_factory = __esm({
+ "../../node_modules/.pnpm/@nestjs+core@12.2.0_@nestjs_74b3aa22af8a41de6299655ec5713214/node_modules/@nestjs/core/nest-factory.js"() {
+ init_application_config();
+ init_constants2();
+ init_exceptions_zone();
+ init_load_adapter();
+ init_rethrow();
+ init_container();
+ init_injector();
+ init_instance_loader();
+ init_graph_inspector();
+ init_noop_graph_inspector();
+ init_uuid_factory();
+ init_metadata_scanner();
+ init_nest_application_context();
+ init_nest_application();
+ init_scanner();
+ init_internal();
+ init_common();
+ NestFactoryStatic = class {
+ static {
+ __name(this, "NestFactoryStatic");
+ }
+ logger = new Logger("NestFactory", {
+ timestamp: true
+ });
+ abortOnError = true;
+ autoFlushLogs = false;
+ async create(moduleCls, serverOrOptions, options) {
+ const [httpServer, appOptions] = this.isHttpServer(serverOrOptions) ? [serverOrOptions, options] : [await this.createHttpAdapter(), serverOrOptions];
+ const applicationConfig = new ApplicationConfig();
+ const container = new NestContainer(applicationConfig, appOptions);
+ const graphInspector = this.createGraphInspector(appOptions, container);
+ this.setAbortOnError(serverOrOptions, options);
+ this.registerLoggerConfiguration(appOptions);
+ await this.initialize(moduleCls, container, graphInspector, applicationConfig, appOptions, httpServer);
+ const instance = new NestApplication(container, httpServer, applicationConfig, graphInspector, appOptions);
+ await instance.preloadLazyPackages();
+ const target = this.createNestInstance(instance);
+ return this.createAdapterProxy(target, httpServer);
+ }
+ /**
+ * Creates an instance of NestMicroservice.
+ *
+ * @param moduleCls Entry (root) application module class
+ * @param options Optional microservice configuration
+ *
+ * @returns A promise that, when resolved,
+ * contains a reference to the NestMicroservice instance.
+ */
+ async createMicroservice(moduleCls, options) {
+ const { NestMicroservice } = await loadPackage("@nestjs/microservices", "NestFactory", () => import("@nestjs/microservices"));
+ const applicationConfig = new ApplicationConfig();
+ const container = new NestContainer(applicationConfig, options);
+ const graphInspector = this.createGraphInspector(options, container);
+ this.setAbortOnError(options);
+ this.registerLoggerConfiguration(options);
+ await this.initialize(moduleCls, container, graphInspector, applicationConfig, options);
+ return this.createNestInstance(new NestMicroservice(container, options, graphInspector, applicationConfig));
+ }
+ /**
+ * Creates an instance of NestApplicationContext.
+ *
+ * @param moduleCls Entry (root) application module class
+ * @param options Optional Nest application configuration
+ *
+ * @returns A promise that, when resolved,
+ * contains a reference to the NestApplicationContext instance.
+ */
+ async createApplicationContext(moduleCls, options) {
+ const applicationConfig = new ApplicationConfig();
+ const container = new NestContainer(applicationConfig, options);
+ const graphInspector = this.createGraphInspector(options, container);
+ this.setAbortOnError(options);
+ this.registerLoggerConfiguration(options);
+ await this.initialize(moduleCls, container, graphInspector, applicationConfig, options);
+ const modules = container.getModules().values();
+ const root = modules.next().value;
+ const context = this.createNestInstance(new NestApplicationContext(container, options, root));
+ if (this.autoFlushLogs) {
+ context.flushLogsOnOverride();
+ }
+ return context.init();
+ }
+ createNestInstance(instance) {
+ return this.createProxy(instance);
+ }
+ async initialize(module, container, graphInspector, config = new ApplicationConfig(), options = {}, httpServer = null) {
+ UuidFactory.mode = options.snapshot ? UuidFactoryMode.Deterministic : UuidFactoryMode.Random;
+ const injector = new Injector({
+ preview: options.preview,
+ snapshot: options.snapshot,
+ instanceDecorator: options.instrument?.instanceDecorator
+ });
+ const instanceLoader = new InstanceLoader(container, injector, graphInspector);
+ const metadataScanner = new MetadataScanner();
+ const dependenciesScanner = new DependenciesScanner(container, metadataScanner, graphInspector, config);
+ container.setHttpAdapter(httpServer);
+ const teardown = this.abortOnError === false ? rethrow : void 0;
+ await httpServer?.init?.();
+ try {
+ this.logger.log(MESSAGES.APPLICATION_START);
+ await ExceptionsZone.asyncRun(async () => {
+ await dependenciesScanner.scan(module);
+ await instanceLoader.createInstancesOfDependencies();
+ dependenciesScanner.applyApplicationProviders();
+ }, teardown, this.autoFlushLogs);
+ } catch (e) {
+ this.handleInitializationError(e);
+ }
+ }
+ handleInitializationError(err) {
+ if (this.abortOnError) {
+ process.abort();
+ }
+ rethrow(err);
+ }
+ createProxy(target) {
+ const proxy = this.createExceptionProxy();
+ return new Proxy(target, {
+ get: proxy,
+ set: proxy
+ });
+ }
+ createExceptionProxy() {
+ return (receiver, prop) => {
+ if (!(prop in receiver)) {
+ return;
+ }
+ if (isFunction(receiver[prop])) {
+ return this.createExceptionZone(receiver, prop);
+ }
+ return receiver[prop];
+ };
+ }
+ createExceptionZone(receiver, prop) {
+ const teardown = this.abortOnError === false ? rethrow : void 0;
+ return (...args) => {
+ let result;
+ ExceptionsZone.run(() => {
+ result = receiver[prop](...args);
+ }, teardown, this.autoFlushLogs);
+ return result;
+ };
+ }
+ registerLoggerConfiguration(options) {
+ if (!options) {
+ return;
+ }
+ const { logger: logger3, bufferLogs, autoFlushLogs, forceConsole } = options;
+ if (logger3 !== true && !isNil(logger3)) {
+ Logger.overrideLogger(logger3);
+ } else if (forceConsole) {
+ const consoleLogger = new ConsoleLogger({ forceConsole: true });
+ Logger.overrideLogger(consoleLogger);
+ }
+ if (bufferLogs) {
+ Logger.attachBuffer();
+ }
+ this.autoFlushLogs = autoFlushLogs ?? true;
+ }
+ async createHttpAdapter(httpServer) {
+ const { ExpressAdapter: ExpressAdapter2 } = await loadAdapter("@nestjs/platform-express", "HTTP", () => import("./platform-express-MGQH3ALM.js"));
+ return new ExpressAdapter2(httpServer);
+ }
+ isHttpServer(serverOrOptions) {
+ return !!(serverOrOptions && serverOrOptions.patch);
+ }
+ setAbortOnError(serverOrOptions, options) {
+ this.abortOnError = this.isHttpServer(serverOrOptions) ? !(options && options.abortOnError === false) : !(serverOrOptions && serverOrOptions.abortOnError === false);
+ }
+ createAdapterProxy(app, adapter) {
+ const proxy = new Proxy(app, {
+ get: /* @__PURE__ */ __name((receiver, prop) => {
+ const mapToProxy = /* @__PURE__ */ __name((result) => {
+ return result instanceof Promise ? result.then(mapToProxy) : result instanceof NestApplication ? proxy : result;
+ }, "mapToProxy");
+ if (!(prop in receiver) && prop in adapter) {
+ return (...args) => {
+ const result = this.createExceptionZone(adapter, prop)(...args);
+ return mapToProxy(result);
+ };
+ }
+ if (isFunction(receiver[prop])) {
+ return (...args) => {
+ const result = receiver[prop](...args);
+ return mapToProxy(result);
+ };
+ }
+ return receiver[prop];
+ }, "get")
+ });
+ return proxy;
+ }
+ createGraphInspector(appOptions, container) {
+ return appOptions?.snapshot ? new GraphInspector(container) : NoopGraphInspector;
+ }
+ };
+ NestFactory = new NestFactoryStatic();
+ }
+});
+
+// ../../node_modules/.pnpm/@nestjs+core@12.2.0_@nestjs_74b3aa22af8a41de6299655ec5713214/node_modules/@nestjs/core/repl/assign-to-object.util.js
+function assignToObject(target, source) {
+ Object.defineProperties(target, Object.keys(source).reduce((descriptors, key) => {
+ descriptors[key] = Object.getOwnPropertyDescriptor(source, key);
+ return descriptors;
+ }, /* @__PURE__ */ Object.create(null)));
+ return target;
+}
+var init_assign_to_object_util = __esm({
+ "../../node_modules/.pnpm/@nestjs+core@12.2.0_@nestjs_74b3aa22af8a41de6299655ec5713214/node_modules/@nestjs/core/repl/assign-to-object.util.js"() {
+ __name(assignToObject, "assignToObject");
+ }
+});
+
+// ../../node_modules/.pnpm/@nestjs+core@12.2.0_@nestjs_74b3aa22af8a41de6299655ec5713214/node_modules/@nestjs/core/repl/constants.js
+var REPL_INITIALIZED_MESSAGE;
+var init_constants5 = __esm({
+ "../../node_modules/.pnpm/@nestjs+core@12.2.0_@nestjs_74b3aa22af8a41de6299655ec5713214/node_modules/@nestjs/core/repl/constants.js"() {
+ REPL_INITIALIZED_MESSAGE = "REPL initialized";
+ }
+});
+
+// ../../node_modules/.pnpm/@nestjs+core@12.2.0_@nestjs_74b3aa22af8a41de6299655ec5713214/node_modules/@nestjs/core/repl/repl-function.js
+var ReplFunction;
+var init_repl_function = __esm({
+ "../../node_modules/.pnpm/@nestjs+core@12.2.0_@nestjs_74b3aa22af8a41de6299655ec5713214/node_modules/@nestjs/core/repl/repl-function.js"() {
+ init_internal();
+ ReplFunction = class {
+ static {
+ __name(this, "ReplFunction");
+ }
+ ctx;
+ logger;
+ constructor(ctx) {
+ this.ctx = ctx;
+ this.logger = ctx.logger;
+ }
+ /**
+ * @returns A message displayed by calling `.help`
+ */
+ makeHelpMessage() {
+ const { description, name, signature } = this.fnDefinition;
+ const fnSignatureWithName = `${name}${signature}`;
+ return `${clc.yellow(description)}
+${clc.magentaBright("Interface:")} ${clc.bold(fnSignatureWithName)}
+`;
+ }
+ };
+ }
+});
+
+// ../../node_modules/.pnpm/@nestjs+core@12.2.0_@nestjs_74b3aa22af8a41de6299655ec5713214/node_modules/@nestjs/core/repl/native-functions/help-repl-fn.js
+var import_iterare19, HelpReplFn;
+var init_help_repl_fn = __esm({
+ "../../node_modules/.pnpm/@nestjs+core@12.2.0_@nestjs_74b3aa22af8a41de6299655ec5713214/node_modules/@nestjs/core/repl/native-functions/help-repl-fn.js"() {
+ import_iterare19 = __toESM(require_lib(), 1);
+ init_repl_function();
+ init_internal();
+ HelpReplFn = class _HelpReplFn extends ReplFunction {
+ static {
+ __name(this, "HelpReplFn");
+ }
+ fnDefinition = {
+ name: "help",
+ signature: "() => void",
+ description: "Display all available REPL native functions."
+ };
+ static buildHelpMessage = /* @__PURE__ */ __name(({ name, description }) => clc.cyanBright(name) + (description ? ` ${clc.bold("-")} ${description}` : ""), "buildHelpMessage");
+ action() {
+ const sortedNativeFunctions = (0, import_iterare19.iterate)(this.ctx.nativeFunctions).map(([, nativeFunction]) => nativeFunction.fnDefinition).toArray().sort((a, b) => a.name < b.name ? -1 : 1);
+ this.ctx.writeToStdout(`You can call ${clc.bold(".help")} on any function listed below (e.g.: ${clc.bold("help.help")}):
+
+` + sortedNativeFunctions.map(_HelpReplFn.buildHelpMessage).join("\n") + // Without the following LF the last item won't be displayed
+ "\n");
+ }
+ };
+ }
+});
+
+// ../../node_modules/.pnpm/@nestjs+core@12.2.0_@nestjs_74b3aa22af8a41de6299655ec5713214/node_modules/@nestjs/core/repl/native-functions/get-repl-fn.js
+var GetReplFn;
+var init_get_repl_fn = __esm({
+ "../../node_modules/.pnpm/@nestjs+core@12.2.0_@nestjs_74b3aa22af8a41de6299655ec5713214/node_modules/@nestjs/core/repl/native-functions/get-repl-fn.js"() {
+ init_repl_function();
+ GetReplFn = class extends ReplFunction {
+ static {
+ __name(this, "GetReplFn");
+ }
+ fnDefinition = {
+ name: "get",
+ signature: "(token: InjectionToken) => any",
+ description: "Retrieves an instance of either injectable or controller, otherwise, throws exception.",
+ aliases: ["$"]
+ };
+ action(token) {
+ return this.ctx.app.get(token);
+ }
+ };
+ }
+});
+
+// ../../node_modules/.pnpm/@nestjs+core@12.2.0_@nestjs_74b3aa22af8a41de6299655ec5713214/node_modules/@nestjs/core/repl/native-functions/resolve-repl-fn.js
+var ResolveReplFn;
+var init_resolve_repl_fn = __esm({
+ "../../node_modules/.pnpm/@nestjs+core@12.2.0_@nestjs_74b3aa22af8a41de6299655ec5713214/node_modules/@nestjs/core/repl/native-functions/resolve-repl-fn.js"() {
+ init_repl_function();
+ ResolveReplFn = class extends ReplFunction {
+ static {
+ __name(this, "ResolveReplFn");
+ }
+ fnDefinition = {
+ name: "resolve",
+ description: "Resolves transient or request-scoped instance of either injectable or controller, otherwise, throws exception.",
+ signature: "(token: InjectionToken, contextId: any) => Promise"
+ };
+ action(token, contextId) {
+ return this.ctx.app.resolve(token, contextId);
+ }
+ };
+ }
+});
+
+// ../../node_modules/.pnpm/@nestjs+core@12.2.0_@nestjs_74b3aa22af8a41de6299655ec5713214/node_modules/@nestjs/core/repl/native-functions/select-relp-fn.js
+var SelectReplFn;
+var init_select_relp_fn = __esm({
+ "../../node_modules/.pnpm/@nestjs+core@12.2.0_@nestjs_74b3aa22af8a41de6299655ec5713214/node_modules/@nestjs/core/repl/native-functions/select-relp-fn.js"() {
+ init_repl_function();
+ SelectReplFn = class extends ReplFunction {
+ static {
+ __name(this, "SelectReplFn");
+ }
+ fnDefinition = {
+ name: "select",
+ description: "Allows navigating through the modules tree, for example, to pull out a specific instance from the selected module.",
+ signature: "(token: DynamicModule | ClassRef) => INestApplicationContext"
+ };
+ action(token) {
+ return this.ctx.app.select(token);
+ }
+ };
+ }
+});
+
+// ../../node_modules/.pnpm/@nestjs+core@12.2.0_@nestjs_74b3aa22af8a41de6299655ec5713214/node_modules/@nestjs/core/repl/native-functions/debug-repl-fn.js
+var DebugReplFn;
+var init_debug_repl_fn = __esm({
+ "../../node_modules/.pnpm/@nestjs+core@12.2.0_@nestjs_74b3aa22af8a41de6299655ec5713214/node_modules/@nestjs/core/repl/native-functions/debug-repl-fn.js"() {
+ init_repl_function();
+ init_internal();
+ DebugReplFn = class extends ReplFunction {
+ static {
+ __name(this, "DebugReplFn");
+ }
+ fnDefinition = {
+ name: "debug",
+ description: 'Print all registered modules as a list together with their controllers and providers.\nIf the argument is passed in, for example, "debug(MyModule)" then it will only print components of this specific module.',
+ signature: "(moduleCls?: ClassRef | string) => void"
+ };
+ action(moduleCls) {
+ this.ctx.writeToStdout("\n");
+ if (moduleCls) {
+ const token = typeof moduleCls === "function" ? moduleCls.name : moduleCls;
+ const moduleEntry = this.ctx.debugRegistry[token];
+ if (!moduleEntry) {
+ return this.logger.error(`"${token}" has not been found in the modules registry`);
+ }
+ this.printCtrlsAndProviders(token, moduleEntry);
+ } else {
+ for (const [moduleKey, entry] of Object.entries(this.ctx.debugRegistry)) {
+ this.printCtrlsAndProviders(moduleKey, entry);
+ }
+ }
+ this.ctx.writeToStdout("\n");
+ }
+ printCtrlsAndProviders(moduleName, moduleDebugEntry) {
+ this.ctx.writeToStdout(`${clc.green(moduleName)}:
+`);
+ this.printCollection("controllers", moduleDebugEntry["controllers"]);
+ this.printCollection("providers", moduleDebugEntry["providers"]);
+ }
+ printCollection(title, collectionValue) {
+ const collectionEntries = Object.keys(collectionValue);
+ if (collectionEntries.length <= 0) {
+ return;
+ }
+ this.ctx.writeToStdout(` ${clc.yellow(`- ${title}`)}:
+`);
+ collectionEntries.forEach((provider) => this.ctx.writeToStdout(` ${clc.green("\u25FB")} ${provider}
+`));
+ }
+ };
+ }
+});
+
+// ../../node_modules/.pnpm/@nestjs+core@12.2.0_@nestjs_74b3aa22af8a41de6299655ec5713214/node_modules/@nestjs/core/repl/native-functions/methods-repl-fn.js
+var MethodsReplFn;
+var init_methods_repl_fn = __esm({
+ "../../node_modules/.pnpm/@nestjs+core@12.2.0_@nestjs_74b3aa22af8a41de6299655ec5713214/node_modules/@nestjs/core/repl/native-functions/methods-repl-fn.js"() {
+ init_metadata_scanner();
+ init_repl_function();
+ init_internal();
+ MethodsReplFn = class extends ReplFunction {
+ static {
+ __name(this, "MethodsReplFn");
+ }
+ fnDefinition = {
+ name: "methods",
+ description: "Display all public methods available on a given provider or controller.",
+ signature: "(token: ClassRef | string) => void"
+ };
+ metadataScanner = new MetadataScanner();
+ action(token) {
+ const proto = typeof token !== "function" ? Object.getPrototypeOf(this.ctx.app.get(token)) : token?.prototype;
+ const methods = this.metadataScanner.getAllMethodNames(proto);
+ this.ctx.writeToStdout("\n");
+ this.ctx.writeToStdout(`${clc.green("Methods")}:
+`);
+ methods.forEach((methodName) => this.ctx.writeToStdout(` ${clc.yellow("\u25FB")} ${methodName}
+`));
+ this.ctx.writeToStdout("\n");
+ }
+ };
+ }
+});
+
+// ../../node_modules/.pnpm/@nestjs+core@12.2.0_@nestjs_74b3aa22af8a41de6299655ec5713214/node_modules/@nestjs/core/repl/native-functions/index.js
+var init_native_functions = __esm({
+ "../../node_modules/.pnpm/@nestjs+core@12.2.0_@nestjs_74b3aa22af8a41de6299655ec5713214/node_modules/@nestjs/core/repl/native-functions/index.js"() {
+ init_help_repl_fn();
+ init_get_repl_fn();
+ init_resolve_repl_fn();
+ init_select_relp_fn();
+ init_debug_repl_fn();
+ init_methods_repl_fn();
+ }
+});
+
+// ../../node_modules/.pnpm/@nestjs+core@12.2.0_@nestjs_74b3aa22af8a41de6299655ec5713214/node_modules/@nestjs/core/repl/repl-context.js
+var ReplContext;
+var init_repl_context = __esm({
+ "../../node_modules/.pnpm/@nestjs+core@12.2.0_@nestjs_74b3aa22af8a41de6299655ec5713214/node_modules/@nestjs/core/repl/repl-context.js"() {
+ init_common();
+ init_application_config();
+ init_injector2();
+ init_internal_core_module();
+ init_native_functions();
+ ReplContext = class _ReplContext {
+ static {
+ __name(this, "ReplContext");
+ }
+ app;
+ logger = new Logger(_ReplContext.name);
+ debugRegistry = {};
+ globalScope = /* @__PURE__ */ Object.create(null);
+ nativeFunctions = /* @__PURE__ */ new Map();
+ container;
+ constructor(app, nativeFunctionsClassRefs) {
+ this.app = app;
+ this.container = app.container;
+ this.initializeContext();
+ this.initializeNativeFunctions(nativeFunctionsClassRefs || []);
+ }
+ writeToStdout(text) {
+ process.stdout.write(text);
+ }
+ initializeContext() {
+ const modules = this.container.getModules();
+ modules.forEach((moduleRef) => {
+ let moduleName = moduleRef.metatype.name;
+ if (moduleName === InternalCoreModule.name) {
+ return;
+ }
+ if (this.globalScope[moduleName]) {
+ moduleName += ` (${moduleRef.token})`;
+ }
+ this.introspectCollection(moduleRef, moduleName, "providers");
+ this.introspectCollection(moduleRef, moduleName, "controllers");
+ Object.defineProperty(this.globalScope, moduleName, {
+ value: moduleRef.metatype,
+ configurable: false,
+ enumerable: true
+ });
+ });
+ }
+ introspectCollection(moduleRef, moduleKey, collection) {
+ const moduleDebugEntry = {};
+ moduleRef[collection].forEach(({ token }) => {
+ const stringifiedToken = this.stringifyToken(token);
+ if (stringifiedToken === ApplicationConfig.name || stringifiedToken === moduleRef.metatype.name) {
+ return;
+ }
+ if (!this.globalScope[stringifiedToken]) {
+ Object.defineProperty(this.globalScope, stringifiedToken, {
+ value: token,
+ configurable: false,
+ enumerable: true
+ });
+ }
+ if (stringifiedToken === ModuleRef.name) {
+ return;
+ }
+ moduleDebugEntry[stringifiedToken] = token;
+ });
+ this.debugRegistry[moduleKey] = {
+ ...this.debugRegistry?.[moduleKey],
+ [collection]: moduleDebugEntry
+ };
+ }
+ stringifyToken(token) {
+ return typeof token !== "string" ? typeof token === "function" ? token.name : token?.toString() : `"${token}"`;
+ }
+ addNativeFunction(NativeFunctionRef) {
+ const nativeFunction = new NativeFunctionRef(this);
+ const nativeFunctions = [nativeFunction];
+ this.nativeFunctions.set(nativeFunction.fnDefinition.name, nativeFunction);
+ nativeFunction.fnDefinition.aliases?.forEach((aliasName) => {
+ const aliasNativeFunction = Object.create(nativeFunction);
+ aliasNativeFunction.fnDefinition = {
+ name: aliasName,
+ description: aliasNativeFunction.fnDefinition.description,
+ signature: aliasNativeFunction.fnDefinition.signature
+ };
+ this.nativeFunctions.set(aliasName, aliasNativeFunction);
+ nativeFunctions.push(aliasNativeFunction);
+ });
+ return nativeFunctions;
+ }
+ registerFunctionIntoGlobalScope(nativeFunction) {
+ this.globalScope[nativeFunction.fnDefinition.name] = nativeFunction.action.bind(nativeFunction);
+ const functionBoundRef = this.globalScope[nativeFunction.fnDefinition.name];
+ Object.defineProperty(functionBoundRef, "help", {
+ enumerable: false,
+ configurable: false,
+ get: /* @__PURE__ */ __name(() => (
+ // Dynamically builds the help message as will unlikely to be called
+ // several times.
+ this.writeToStdout(nativeFunction.makeHelpMessage())
+ ), "get")
+ });
+ }
+ initializeNativeFunctions(nativeFunctionsClassRefs) {
+ const builtInFunctionsClassRefs = [
+ HelpReplFn,
+ GetReplFn,
+ ResolveReplFn,
+ SelectReplFn,
+ DebugReplFn,
+ MethodsReplFn
+ ];
+ builtInFunctionsClassRefs.concat(nativeFunctionsClassRefs).forEach((NativeFunction) => {
+ const nativeFunctions = this.addNativeFunction(NativeFunction);
+ nativeFunctions.forEach((nativeFunction) => {
+ this.registerFunctionIntoGlobalScope(nativeFunction);
+ });
+ });
+ }
+ };
+ }
+});
+
+// ../../node_modules/.pnpm/@nestjs+core@12.2.0_@nestjs_74b3aa22af8a41de6299655ec5713214/node_modules/@nestjs/core/repl/repl-logger.js
+var ReplLogger;
+var init_repl_logger = __esm({
+ "../../node_modules/.pnpm/@nestjs+core@12.2.0_@nestjs_74b3aa22af8a41de6299655ec5713214/node_modules/@nestjs/core/repl/repl-logger.js"() {
+ init_common();
+ init_nest_application();
+ init_router_explorer();
+ init_routes_resolver();
+ ReplLogger = class _ReplLogger extends ConsoleLogger {
+ static {
+ __name(this, "ReplLogger");
+ }
+ static ignoredContexts = [
+ RoutesResolver.name,
+ RouterExplorer.name,
+ NestApplication.name
+ ];
+ log(_message, context) {
+ if (_ReplLogger.ignoredContexts.includes(context)) {
+ return;
+ }
+ return super.log.apply(this, Array.from(arguments));
+ }
+ };
+ }
+});
+
+// ../../node_modules/.pnpm/@nestjs+core@12.2.0_@nestjs_74b3aa22af8a41de6299655ec5713214/node_modules/@nestjs/core/repl/repl-native-commands.js
+function listAllCommands(replServer) {
+ Object.keys(replServer.commands).sort().forEach((name) => {
+ const cmd = replServer.commands[name];
+ if (cmd) {
+ replServer.output.write(`${name} ${cmd.help || ""}
+`);
+ }
+ });
+}
+function defineDefaultCommandsOnRepl(replServer) {
+ replServer.defineCommand("help", {
+ help: "Show REPL options",
+ action(name) {
+ this.clearBufferedCommand();
+ if (name) {
+ const nativeCommandOrFunction = this.commands[name] || this.context[name];
+ const helpMessage = nativeCommandOrFunction?.help;
+ if (helpMessage) {
+ this.output.write(`${helpMessage}
+`);
+ }
+ } else {
+ listAllCommands(this);
+ this.output.write("\n\n");
+ this.context.help();
+ this.output.write("\nPress Ctrl+C to abort current expression, Ctrl+D to exit the REPL\n");
+ }
+ this.displayPrompt();
+ }
+ });
+}
+var init_repl_native_commands = __esm({
+ "../../node_modules/.pnpm/@nestjs+core@12.2.0_@nestjs_74b3aa22af8a41de6299655ec5713214/node_modules/@nestjs/core/repl/repl-native-commands.js"() {
+ __name(listAllCommands, "listAllCommands");
+ __name(defineDefaultCommandsOnRepl, "defineDefaultCommandsOnRepl");
+ }
+});
+
+// ../../node_modules/.pnpm/@nestjs+core@12.2.0_@nestjs_74b3aa22af8a41de6299655ec5713214/node_modules/@nestjs/core/repl/repl.js
+async function repl(module, replOptions = {}) {
+ const app = await NestFactory.createApplicationContext(module, {
+ abortOnError: false,
+ logger: new ReplLogger()
+ });
+ await app.init();
+ const replContext = new ReplContext(app);
+ Logger.log(REPL_INITIALIZED_MESSAGE);
+ const _repl = await import("repl");
+ const replServer = _repl.start({
+ prompt: clc.green("> "),
+ ignoreUndefined: true,
+ ...replOptions
+ });
+ assignToObject(replServer.context, replContext.globalScope);
+ defineDefaultCommandsOnRepl(replServer);
+ replServer.on("exit", async () => {
+ await app.close();
+ });
+ return replServer;
+}
+var init_repl = __esm({
+ "../../node_modules/.pnpm/@nestjs+core@12.2.0_@nestjs_74b3aa22af8a41de6299655ec5713214/node_modules/@nestjs/core/repl/repl.js"() {
+ init_common();
+ init_nest_factory();
+ init_assign_to_object_util();
+ init_constants5();
+ init_repl_context();
+ init_repl_logger();
+ init_repl_native_commands();
+ init_internal();
+ __name(repl, "repl");
+ }
+});
+
+// ../../node_modules/.pnpm/@nestjs+core@12.2.0_@nestjs_74b3aa22af8a41de6299655ec5713214/node_modules/@nestjs/core/repl/index.js
+var init_repl2 = __esm({
+ "../../node_modules/.pnpm/@nestjs+core@12.2.0_@nestjs_74b3aa22af8a41de6299655ec5713214/node_modules/@nestjs/core/repl/index.js"() {
+ init_repl();
+ }
+});
+
+// ../../node_modules/.pnpm/@nestjs+core@12.2.0_@nestjs_74b3aa22af8a41de6299655ec5713214/node_modules/@nestjs/core/router/interfaces/resolved-route.interface.js
+var init_resolved_route_interface = __esm({
+ "../../node_modules/.pnpm/@nestjs+core@12.2.0_@nestjs_74b3aa22af8a41de6299655ec5713214/node_modules/@nestjs/core/router/interfaces/resolved-route.interface.js"() {
+ }
+});
+
+// ../../node_modules/.pnpm/@nestjs+core@12.2.0_@nestjs_74b3aa22af8a41de6299655ec5713214/node_modules/@nestjs/core/router/interfaces/route-conflict.interface.js
+var init_route_conflict_interface = __esm({
+ "../../node_modules/.pnpm/@nestjs+core@12.2.0_@nestjs_74b3aa22af8a41de6299655ec5713214/node_modules/@nestjs/core/router/interfaces/route-conflict.interface.js"() {
+ }
+});
+
+// ../../node_modules/.pnpm/@nestjs+core@12.2.0_@nestjs_74b3aa22af8a41de6299655ec5713214/node_modules/@nestjs/core/router/interfaces/route-resolution-options.interface.js
+var init_route_resolution_options_interface = __esm({
+ "../../node_modules/.pnpm/@nestjs+core@12.2.0_@nestjs_74b3aa22af8a41de6299655ec5713214/node_modules/@nestjs/core/router/interfaces/route-resolution-options.interface.js"() {
+ }
+});
+
+// ../../node_modules/.pnpm/@nestjs+core@12.2.0_@nestjs_74b3aa22af8a41de6299655ec5713214/node_modules/@nestjs/core/router/interfaces/routes.interface.js
+var init_routes_interface = __esm({
+ "../../node_modules/.pnpm/@nestjs+core@12.2.0_@nestjs_74b3aa22af8a41de6299655ec5713214/node_modules/@nestjs/core/router/interfaces/routes.interface.js"() {
+ }
+});
+
+// ../../node_modules/.pnpm/@nestjs+core@12.2.0_@nestjs_74b3aa22af8a41de6299655ec5713214/node_modules/@nestjs/core/router/interfaces/index.js
+var init_interfaces = __esm({
+ "../../node_modules/.pnpm/@nestjs+core@12.2.0_@nestjs_74b3aa22af8a41de6299655ec5713214/node_modules/@nestjs/core/router/interfaces/index.js"() {
+ init_resolved_route_interface();
+ init_route_conflict_interface();
+ init_route_resolution_options_interface();
+ init_routes_interface();
+ }
+});
+
+// ../../node_modules/.pnpm/@nestjs+core@12.2.0_@nestjs_74b3aa22af8a41de6299655ec5713214/node_modules/@nestjs/core/router/request/index.js
+var init_request = __esm({
+ "../../node_modules/.pnpm/@nestjs+core@12.2.0_@nestjs_74b3aa22af8a41de6299655ec5713214/node_modules/@nestjs/core/router/request/index.js"() {
+ init_request_constants();
+ }
+});
+
+// ../../node_modules/.pnpm/@nestjs+core@12.2.0_@nestjs_74b3aa22af8a41de6299655ec5713214/node_modules/@nestjs/core/router/router-module.js
+var RouterModule_1, ROUTES, targetModulesByContainer, RouterModule;
+var init_router_module = __esm({
+ "../../node_modules/.pnpm/@nestjs+core@12.2.0_@nestjs_74b3aa22af8a41de6299655ec5713214/node_modules/@nestjs/core/router/router-module.js"() {
+ init_tslib_es6();
+ init_common();
+ init_modules_container();
+ init_utils();
+ init_internal();
+ ROUTES = /* @__PURE__ */ Symbol("ROUTES");
+ targetModulesByContainer = /* @__PURE__ */ new WeakMap();
+ RouterModule = RouterModule_1 = class RouterModule2 {
+ static {
+ __name(this, "RouterModule");
+ }
+ modulesContainer;
+ routes;
+ constructor(modulesContainer, routes) {
+ this.modulesContainer = modulesContainer;
+ this.routes = routes;
+ this.routes = this.deepCloneRoutes(routes);
+ this.initialize();
+ }
+ static register(routes) {
+ return {
+ module: RouterModule_1,
+ providers: [
+ {
+ provide: ROUTES,
+ useValue: routes
+ }
+ ]
+ };
+ }
+ deepCloneRoutes(routes) {
+ return routes.map((routeOrType) => {
+ if (typeof routeOrType === "function") {
+ return routeOrType;
+ }
+ if (routeOrType.children) {
+ return {
+ ...routeOrType,
+ children: this.deepCloneRoutes(routeOrType.children)
+ };
+ }
+ return { ...routeOrType };
+ });
+ }
+ initialize() {
+ const flattenedRoutes = flattenRoutePaths(this.routes);
+ flattenedRoutes.forEach((route) => {
+ const modulePath = normalizePath(route.path);
+ this.registerModulePathMetadata(route.module, modulePath);
+ this.updateTargetModulesCache(route.module);
+ });
+ }
+ registerModulePathMetadata(moduleCtor, modulePath) {
+ Reflect.defineMetadata(MODULE_PATH + this.modulesContainer.applicationId, modulePath, moduleCtor);
+ }
+ updateTargetModulesCache(moduleCtor) {
+ let moduleClassSet;
+ if (targetModulesByContainer.has(this.modulesContainer)) {
+ moduleClassSet = targetModulesByContainer.get(this.modulesContainer);
+ } else {
+ moduleClassSet = /* @__PURE__ */ new WeakSet();
+ targetModulesByContainer.set(this.modulesContainer, moduleClassSet);
+ }
+ const moduleRef = Array.from(this.modulesContainer.values()).find((item) => item?.metatype === moduleCtor);
+ if (!moduleRef) {
+ return;
+ }
+ moduleClassSet.add(moduleRef);
+ }
+ };
+ RouterModule = RouterModule_1 = __decorate([
+ Module({}),
+ __param(1, Inject(ROUTES)),
+ __metadata("design:paramtypes", [ModulesContainer, Array])
+ ], RouterModule);
+ }
+});
+
+// ../../node_modules/.pnpm/@nestjs+core@12.2.0_@nestjs_74b3aa22af8a41de6299655ec5713214/node_modules/@nestjs/core/router/index.js
+var init_router = __esm({
+ "../../node_modules/.pnpm/@nestjs+core@12.2.0_@nestjs_74b3aa22af8a41de6299655ec5713214/node_modules/@nestjs/core/router/index.js"() {
+ init_interfaces();
+ init_request();
+ init_router_module();
+ }
+});
+
+// ../../node_modules/.pnpm/@nestjs+core@12.2.0_@nestjs_74b3aa22af8a41de6299655ec5713214/node_modules/@nestjs/core/index.js
+var core_exports = {};
+__export(core_exports, {
+ APP_FILTER: () => APP_FILTER,
+ APP_GUARD: () => APP_GUARD,
+ APP_INTERCEPTOR: () => APP_INTERCEPTOR,
+ APP_PIPE: () => APP_PIPE,
+ AbstractHttpAdapter: () => AbstractHttpAdapter,
+ ApplicationConfig: () => ApplicationConfig,
+ BaseExceptionFilter: () => BaseExceptionFilter,
+ ContextIdFactory: () => ContextIdFactory,
+ DiscoveryModule: () => DiscoveryModule,
+ DiscoveryService: () => DiscoveryService,
+ ExternalContextCreator: () => ExternalContextCreator,
+ GraphInspector: () => GraphInspector,
+ HttpAdapterHost: () => HttpAdapterHost,
+ INQUIRER: () => INQUIRER,
+ InitializeOnPreviewAllowlist: () => InitializeOnPreviewAllowlist,
+ LazyModuleLoader: () => LazyModuleLoader,
+ MetadataScanner: () => MetadataScanner,
+ MiddlewareBuilder: () => MiddlewareBuilder,
+ ModuleRef: () => ModuleRef,
+ ModulesContainer: () => ModulesContainer,
+ NestApplication: () => NestApplication,
+ NestApplicationContext: () => NestApplicationContext,
+ NestContainer: () => NestContainer,
+ NestFactory: () => NestFactory,
+ PartialGraphHost: () => PartialGraphHost,
+ REQUEST: () => REQUEST,
+ Reflector: () => Reflector,
+ RouterModule: () => RouterModule,
+ SerializedGraph: () => SerializedGraph,
+ createContextId: () => createContextId,
+ repl: () => repl
+});
+var import_reflect_metadata;
+var init_core = __esm({
+ "../../node_modules/.pnpm/@nestjs+core@12.2.0_@nestjs_74b3aa22af8a41de6299655ec5713214/node_modules/@nestjs/core/index.js"() {
+ import_reflect_metadata = __toESM(require_Reflect(), 1);
+ init_adapters();
+ init_application_config();
+ init_constants2();
+ init_discovery();
+ init_exceptions();
+ init_helpers();
+ init_injector2();
+ init_inspector();
+ init_metadata_scanner();
+ init_middleware();
+ init_nest_application();
+ init_nest_application_context();
+ init_nest_factory();
+ init_repl2();
+ init_router();
+ init_services();
+ }
+});
+
+// ../../node_modules/.pnpm/@nestjs+core@12.2.0_@nestjs_74b3aa22af8a41de6299655ec5713214/node_modules/@nestjs/core/injector/internal-core-module/index.js
+var init_internal_core_module2 = __esm({
+ "../../node_modules/.pnpm/@nestjs+core@12.2.0_@nestjs_74b3aa22af8a41de6299655ec5713214/node_modules/@nestjs/core/injector/internal-core-module/index.js"() {
+ init_internal_core_module();
+ }
+});
+
+// ../../node_modules/.pnpm/@nestjs+core@12.2.0_@nestjs_74b3aa22af8a41de6299655ec5713214/node_modules/@nestjs/core/internal.js
+var init_internal2 = __esm({
+ "../../node_modules/.pnpm/@nestjs+core@12.2.0_@nestjs_74b3aa22af8a41de6299655ec5713214/node_modules/@nestjs/core/internal.js"() {
+ init_exceptions2();
+ init_invalid_exception_filter_exception();
+ init_runtime_exception();
+ init_constants2();
+ init_scanner();
+ init_constants3();
+ init_injector();
+ init_instance_loader();
+ init_instance_wrapper();
+ init_internal_core_module2();
+ init_module();
+ init_inspector();
+ init_context_utils();
+ init_execution_context_host();
+ init_handler_metadata_storage();
+ init_load_adapter();
+ init_optional_require();
+ init_router_method_factory();
+ init_safe_instance_decorator();
+ init_constants4();
+ init_guards_consumer();
+ init_guards_context_creator();
+ init_params_token_factory();
+ init_pipes_consumer();
+ init_pipes_context_creator();
+ init_interceptors_consumer();
+ init_interceptors_context_creator();
+ init_base_exception_filter_context();
+ init_legacy_route_converter();
+ init_rejected_by_pipes();
+ init_request_constants();
+ init_noop_graph_inspector();
+ init_uuid_factory();
+ }
+});
+
+// ../../node_modules/.pnpm/@nestjs+platform-express@12_3e713911c21b6500374058e65a37060a/node_modules/@nestjs/platform-express/adapters/express-adapter.js
+import * as http from "http";
+import * as https from "https";
+import { finished } from "stream";
+function isJsonContentType(contentType) {
+ const mediaType = contentType.split(";")[0].trim().toLowerCase();
+ return mediaType.startsWith("application/json") || mediaType.endsWith("+json");
+}
+var import_cors, import_express, import_path_to_regexp6, ExpressAdapter;
+var init_express_adapter = __esm({
+ "../../node_modules/.pnpm/@nestjs+platform-express@12_3e713911c21b6500374058e65a37060a/node_modules/@nestjs/platform-express/adapters/express-adapter.js"() {
+ init_common();
+ import_cors = __toESM(require_lib2(), 1);
+ import_express = __toESM(require_express2(), 1);
+ import_path_to_regexp6 = __toESM(require_dist2(), 1);
+ init_get_body_parser_options_util();
+ init_get_media_type_version_util();
+ init_internal();
+ init_core();
+ init_internal2();
+ __name(isJsonContentType, "isJsonContentType");
+ ExpressAdapter = class _ExpressAdapter extends AbstractHttpAdapter {
+ static {
+ __name(this, "ExpressAdapter");
+ }
+ routerMethodFactory = new RouterMethodFactory();
+ logger = new Logger(_ExpressAdapter.name);
+ openConnections = /* @__PURE__ */ new Set();
+ registeredPrefixes = /* @__PURE__ */ new Set();
+ isShuttingDown = false;
+ onRequestHook;
+ onResponseHook;
+ constructor(instance) {
+ super(instance || (0, import_express.default)());
+ this.instance.use((req, res, next) => {
+ if (this.onResponseHook) {
+ res.on("finish", async () => {
+ try {
+ await this.onResponseHook.apply(this, [req, res]);
+ } catch (err) {
+ this.logger.error(err);
+ }
+ });
+ }
+ if (this.onRequestHook) {
+ this.runRequestHook(req, res, next);
+ } else {
+ next();
+ }
+ });
+ }
+ runRequestHook(req, res, next) {
+ let completed = false;
+ const doneOnce = /* @__PURE__ */ __name((err) => {
+ if (completed) {
+ if (err) {
+ this.logger.error(err);
+ }
+ return;
+ }
+ completed = true;
+ next(err);
+ }, "doneOnce");
+ try {
+ const result = this.onRequestHook.call(this, req, res, doneOnce);
+ if (result && typeof result.then === "function") {
+ result.then(void 0, (err) => doneOnce(err || new Error("Request hook failed")));
+ }
+ } catch (err) {
+ doneOnce(err || new Error("Request hook failed"));
+ }
+ }
+ /**
+ * Registers a request hook. Call `done()` to continue processing the request;
+ * resolving the returned promise does not continue it. Only the first
+ * completion is forwarded to Express. Errors after `done()` are logged
+ * without advancing the request again.
+ */
+ setOnRequestHook(onRequestHook) {
+ this.onRequestHook = onRequestHook;
+ }
+ /**
+ * Registers a hook to run after the response has been sent.
+ * Thrown errors and rejected promises are logged.
+ */
+ setOnResponseHook(onResponseHook) {
+ this.onResponseHook = onResponseHook;
+ }
+ reply(response, body, statusCode) {
+ if (!isNil(statusCode)) {
+ response.status(statusCode);
+ }
+ if (isNil(body)) {
+ return response.send();
+ }
+ if (body instanceof StreamableFile) {
+ const { errored } = body.getStream();
+ if (errored) {
+ return body.errorHandler(errored, response);
+ }
+ this.applyStreamHeaders(response, body);
+ const stream = body.getStream();
+ stream.once("error", (err) => {
+ body.errorHandler(err, response);
+ });
+ finished(response, () => {
+ if (!stream.readableEnded) {
+ stream.destroy();
+ }
+ });
+ if (response.req?.method === "HEAD") {
+ stream.once("readable", () => response.end());
+ return response.on("error", (err) => body.errorLogger(err));
+ }
+ return stream.pipe(response).on("error", (err) => body.errorLogger(err));
+ }
+ const responseContentType = response.getHeader("Content-Type");
+ if (typeof responseContentType === "string" && !isJsonContentType(responseContentType) && (body?.statusCode >= HttpStatus.BAD_REQUEST || // A custom error body (e.g. "new HttpException({ ... }, 404)") need
+ // not have a "statusCode" of its own
+ isObject(body) && !isNil(statusCode) && statusCode >= HttpStatus.BAD_REQUEST)) {
+ this.logger.warn("Content-Type doesn't match Reply body, you might need a custom ExceptionFilter for non-JSON responses");
+ response.setHeader("Content-Type", "application/json");
+ }
+ return isObject(body) ? response.json(body) : response.send(String(body));
+ }
+ status(response, statusCode) {
+ return response.status(statusCode);
+ }
+ end(response, message) {
+ return response.end(message);
+ }
+ render(response, view, options) {
+ return response.render(view, options);
+ }
+ redirect(response, statusCode, url) {
+ return response.redirect(statusCode, url);
+ }
+ setErrorHandler(handler, prefix) {
+ const normalizedPrefix = this.normalizePrefix(prefix);
+ if (normalizedPrefix) {
+ const router = import_express.default.Router();
+ router.use(handler);
+ this.use(normalizedPrefix, router);
+ }
+ return this.use(handler);
+ }
+ setNotFoundHandler(handler, prefix, excludedRoutes) {
+ const normalizedPrefix = this.normalizePrefix(prefix);
+ if (normalizedPrefix) {
+ this.registeredPrefixes.add(normalizedPrefix);
+ const router = import_express.default.Router();
+ router.all("*path", handler);
+ this.use(normalizedPrefix, router);
+ for (const route of excludedRoutes ?? []) {
+ this.instance.all(addLeadingSlash(route.path), handler);
+ }
+ return;
+ }
+ return this.use((req, res, next) => {
+ const path = req.originalUrl.split(/[?#]/)[0];
+ for (const registeredPrefix of this.registeredPrefixes) {
+ if (path === registeredPrefix || path.startsWith(`${registeredPrefix}/`)) {
+ return next();
+ }
+ }
+ return handler(req, res, next);
+ });
+ }
+ isHeadersSent(response) {
+ return response.headersSent;
+ }
+ getHeader(response, name) {
+ return response.get(name);
+ }
+ setHeader(response, name, value) {
+ return response.set(name, value);
+ }
+ appendHeader(response, name, value) {
+ return response.append(name, value);
+ }
+ normalizePath(path) {
+ try {
+ const convertedPath = LegacyRouteConverter.tryConvert(path);
+ (0, import_path_to_regexp6.pathToRegexp)(convertedPath);
+ return convertedPath;
+ } catch (e) {
+ if (e instanceof TypeError) {
+ LegacyRouteConverter.printError(path);
+ }
+ throw e;
+ }
+ }
+ listen(port, ...args) {
+ return this.httpServer.listen(port, ...args);
+ }
+ beforeClose() {
+ this.isShuttingDown = true;
+ }
+ close() {
+ this.isShuttingDown = true;
+ this.closeOpenConnections();
+ if (!this.httpServer) {
+ return void 0;
+ }
+ return new Promise((resolve) => this.httpServer.close(resolve));
+ }
+ set(...args) {
+ return this.instance.set(...args);
+ }
+ enable(...args) {
+ return this.instance.enable(...args);
+ }
+ disable(...args) {
+ return this.instance.disable(...args);
+ }
+ engine(...args) {
+ return this.instance.engine(...args);
+ }
+ useStaticAssets(path, options) {
+ if (options && options.prefix) {
+ return this.use(options.prefix, import_express.default.static(path, options));
+ }
+ return this.use(import_express.default.static(path, options));
+ }
+ setBaseViewsDir(path) {
+ return this.set("views", path);
+ }
+ setViewEngine(engine) {
+ return this.set("view engine", engine);
+ }
+ getRequestHostname(request) {
+ return request.hostname;
+ }
+ getRequestMethod(request) {
+ return request.method;
+ }
+ getRequestUrl(request) {
+ return request.originalUrl;
+ }
+ enableCors(options) {
+ return this.use((0, import_cors.default)(options));
+ }
+ createMiddlewareFactory(requestMethod) {
+ return (path, callback) => {
+ try {
+ const isExactPath = path.endsWith("$");
+ const convertedPath = LegacyRouteConverter.tryConvert(isExactPath ? path.slice(0, -1) : path);
+ let router = this.routerMethodFactory.get(this.instance, requestMethod);
+ if (isExactPath && router === this.instance.use) {
+ router = this.instance.all;
+ }
+ return router.call(this.instance, convertedPath, callback);
+ } catch (e) {
+ if (e instanceof TypeError) {
+ LegacyRouteConverter.printError(path);
+ }
+ throw e;
+ }
+ };
+ }
+ initHttpServer(options) {
+ const isHttpsEnabled = options && options.httpsOptions;
+ if (isHttpsEnabled) {
+ this.httpServer = https.createServer(options.httpsOptions, this.getInstance());
+ } else {
+ this.httpServer = http.createServer(this.getInstance());
+ }
+ if (options?.return503OnClosing) {
+ this.instance.use((req, res, next) => {
+ if (this.isShuttingDown) {
+ res.set("Connection", "close");
+ res.status(503).send("Service Unavailable");
+ } else {
+ next();
+ }
+ });
+ }
+ if (options?.forceCloseConnections) {
+ this.trackOpenConnections();
+ }
+ }
+ registerParserMiddleware(prefix, rawBody) {
+ const bodyParserJsonOptions = getBodyParserOptions("json", rawBody);
+ const bodyParserUrlencodedOptions = getBodyParserOptions("urlencoded", rawBody, { extended: true });
+ const parserMiddleware = {
+ jsonParser: import_express.default.json(bodyParserJsonOptions),
+ urlencodedParser: import_express.default.urlencoded(bodyParserUrlencodedOptions)
+ };
+ Object.keys(parserMiddleware).filter((parser) => !this.isMiddlewareApplied(parser)).forEach((parserKey) => this.use(parserMiddleware[parserKey]));
+ }
+ useBodyParser(type, rawBody, options) {
+ const parserOptions = getBodyParserOptions(type, rawBody, options);
+ const parser = import_express.default[type](parserOptions);
+ this.use(parser);
+ return this;
+ }
+ setLocal(key, value) {
+ this.instance.locals[key] = value;
+ return this;
+ }
+ getType() {
+ return "express";
+ }
+ isRouteOrderSensitive() {
+ return true;
+ }
+ // The return type is spelled out (rather than "RouteMatchingOptions") so
+ // that the declarations still compile against an older "@nestjs/common"
+ getRouteMatchingOptions() {
+ const router = this.getInstance().router;
+ return {
+ caseSensitive: !!router?.caseSensitive,
+ ignoreTrailingSlash: !router?.strict
+ };
+ }
+ applyVersionFilter(handler, version, versioningOptions) {
+ const callNextHandler = /* @__PURE__ */ __name((req, res, next) => {
+ if (!next) {
+ throw new InternalServerErrorException("HTTP adapter does not support filtering on version");
+ }
+ return next();
+ }, "callNextHandler");
+ if (version === VERSION_NEUTRAL || // URL Versioning is done via the path, so the filter continues forward
+ versioningOptions.type === VersioningType.URI) {
+ const handlerForNoVersioning = /* @__PURE__ */ __name((req, res, next) => handler(req, res, next), "handlerForNoVersioning");
+ return handlerForNoVersioning;
+ }
+ if (versioningOptions.type === VersioningType.CUSTOM) {
+ const handlerForCustomVersioning = /* @__PURE__ */ __name((req, res, next) => {
+ const extractedVersion = versioningOptions.extractor(req);
+ if (Array.isArray(version)) {
+ if (Array.isArray(extractedVersion) && version.filter((v) => extractedVersion.includes(v)).length) {
+ return handler(req, res, next);
+ }
+ if (isString(extractedVersion) && version.includes(extractedVersion)) {
+ return handler(req, res, next);
+ }
+ } else if (isString(version)) {
+ if (Array.isArray(extractedVersion) && extractedVersion.includes(version)) {
+ return handler(req, res, next);
+ }
+ if (isString(extractedVersion) && version === extractedVersion) {
+ return handler(req, res, next);
+ }
+ }
+ return callNextHandler(req, res, next);
+ }, "handlerForCustomVersioning");
+ return handlerForCustomVersioning;
+ }
+ if (versioningOptions.type === VersioningType.MEDIA_TYPE) {
+ const handlerForMediaTypeVersioning = /* @__PURE__ */ __name((req, res, next) => {
+ const MEDIA_TYPE_HEADER = "Accept";
+ const acceptHeaderValue = req.headers?.[MEDIA_TYPE_HEADER] || req.headers?.[MEDIA_TYPE_HEADER.toLowerCase()];
+ const headerVersion = getMediaTypeVersion(acceptHeaderValue, versioningOptions.key);
+ if (isUndefined(headerVersion)) {
+ if (Array.isArray(version)) {
+ if (version.includes(VERSION_NEUTRAL)) {
+ return handler(req, res, next);
+ }
+ }
+ } else {
+ if (Array.isArray(version)) {
+ if (version.includes(headerVersion)) {
+ return handler(req, res, next);
+ }
+ } else if (isString(version)) {
+ if (version === headerVersion) {
+ return handler(req, res, next);
+ }
+ }
+ }
+ return callNextHandler(req, res, next);
+ }, "handlerForMediaTypeVersioning");
+ return handlerForMediaTypeVersioning;
+ }
+ if (versioningOptions.type === VersioningType.HEADER) {
+ const handlerForHeaderVersioning = /* @__PURE__ */ __name((req, res, next) => {
+ const customHeaderVersionParameter = req.headers?.[versioningOptions.header] || req.headers?.[versioningOptions.header.toLowerCase()];
+ if (isUndefined(customHeaderVersionParameter)) {
+ if (Array.isArray(version)) {
+ if (version.includes(VERSION_NEUTRAL)) {
+ return handler(req, res, next);
+ }
+ }
+ } else {
+ if (Array.isArray(version)) {
+ if (version.includes(customHeaderVersionParameter)) {
+ return handler(req, res, next);
+ }
+ } else if (isString(version)) {
+ if (version === customHeaderVersionParameter) {
+ return handler(req, res, next);
+ }
+ }
+ }
+ return callNextHandler(req, res, next);
+ }, "handlerForHeaderVersioning");
+ return handlerForHeaderVersioning;
+ }
+ throw new Error("Unsupported versioning options");
+ }
+ mapException(error) {
+ switch (true) {
+ // SyntaxError is thrown by Express body-parser when given invalid JSON (#422, #430)
+ // URIError is thrown by Express when given a path parameter with an invalid percentage
+ // encoding, e.g. '%FF' (#8915)
+ case (error instanceof SyntaxError || error instanceof URIError):
+ return new BadRequestException(error.message);
+ default:
+ return error;
+ }
+ }
+ normalizePrefix(prefix) {
+ return stripEndSlash(addLeadingSlash(prefix));
+ }
+ trackOpenConnections() {
+ this.httpServer.on("connection", (socket) => {
+ this.openConnections.add(socket);
+ socket.on("close", () => this.openConnections.delete(socket));
+ });
+ }
+ closeOpenConnections() {
+ for (const socket of this.openConnections) {
+ socket.destroy();
+ this.openConnections.delete(socket);
+ }
+ }
+ isMiddlewareApplied(name) {
+ const app = this.getInstance();
+ return !!app.router && !!app.router.stack && isFunction(app.router.stack.filter) && app.router.stack.some((layer) => layer && layer.handle && layer.handle.name === name);
+ }
+ setHeaderIfNotExists(response, name, value) {
+ if (value !== void 0 && response.getHeader(name) === void 0) {
+ const headerValue = Array.isArray(value) ? value.join(",") : value;
+ response.setHeader(name, headerValue);
+ }
+ }
+ applyStreamHeaders(response, streamable) {
+ const headers = streamable.getHeaders();
+ this.setHeaderIfNotExists(response, "Content-Type", headers.type);
+ this.setHeaderIfNotExists(response, "Content-Disposition", headers.disposition);
+ this.setHeaderIfNotExists(response, "Content-Length", headers.length);
+ }
+ };
+ }
+});
+
+// ../../node_modules/.pnpm/@nestjs+platform-express@12_3e713911c21b6500374058e65a37060a/node_modules/@nestjs/platform-express/adapters/index.js
+var init_adapters2 = __esm({
+ "../../node_modules/.pnpm/@nestjs+platform-express@12_3e713911c21b6500374058e65a37060a/node_modules/@nestjs/platform-express/adapters/index.js"() {
+ init_express_adapter();
+ }
+});
+
+// ../../node_modules/.pnpm/@nestjs+platform-express@12_3e713911c21b6500374058e65a37060a/node_modules/@nestjs/platform-express/interfaces/nest-express-application.interface.js
+var init_nest_express_application_interface = __esm({
+ "../../node_modules/.pnpm/@nestjs+platform-express@12_3e713911c21b6500374058e65a37060a/node_modules/@nestjs/platform-express/interfaces/nest-express-application.interface.js"() {
+ }
+});
+
+// ../../node_modules/.pnpm/@nestjs+platform-express@12_3e713911c21b6500374058e65a37060a/node_modules/@nestjs/platform-express/interfaces/nest-express-body-parser.interface.js
+var init_nest_express_body_parser_interface = __esm({
+ "../../node_modules/.pnpm/@nestjs+platform-express@12_3e713911c21b6500374058e65a37060a/node_modules/@nestjs/platform-express/interfaces/nest-express-body-parser.interface.js"() {
+ }
+});
+
+// ../../node_modules/.pnpm/@nestjs+platform-express@12_3e713911c21b6500374058e65a37060a/node_modules/@nestjs/platform-express/interfaces/index.js
+var init_interfaces2 = __esm({
+ "../../node_modules/.pnpm/@nestjs+platform-express@12_3e713911c21b6500374058e65a37060a/node_modules/@nestjs/platform-express/interfaces/index.js"() {
+ init_nest_express_application_interface();
+ init_nest_express_body_parser_interface();
+ }
+});
+
+// ../../node_modules/.pnpm/media-typer@0.3.0/node_modules/media-typer/index.js
+var require_media_typer2 = __commonJS({
+ "../../node_modules/.pnpm/media-typer@0.3.0/node_modules/media-typer/index.js"(exports) {
+ var paramRegExp = /; *([!#$%&'\*\+\-\.0-9A-Z\^_`a-z\|~]+) *= *("(?:[ !\u0023-\u005b\u005d-\u007e\u0080-\u00ff]|\\[\u0020-\u007e])*"|[!#$%&'\*\+\-\.0-9A-Z\^_`a-z\|~]+) */g;
+ var textRegExp = /^[\u0020-\u007e\u0080-\u00ff]+$/;
+ var tokenRegExp = /^[!#$%&'\*\+\-\.0-9A-Z\^_`a-z\|~]+$/;
+ var qescRegExp = /\\([\u0000-\u007f])/g;
+ var quoteRegExp = /([\\"])/g;
+ var subtypeNameRegExp = /^[A-Za-z0-9][A-Za-z0-9!#$&^_.-]{0,126}$/;
+ var typeNameRegExp = /^[A-Za-z0-9][A-Za-z0-9!#$&^_-]{0,126}$/;
+ var typeRegExp = /^ *([A-Za-z0-9][A-Za-z0-9!#$&^_-]{0,126})\/([A-Za-z0-9][A-Za-z0-9!#$&^_.+-]{0,126}) *$/;
+ exports.format = format;
+ exports.parse = parse;
+ function format(obj) {
+ if (!obj || typeof obj !== "object") {
+ throw new TypeError("argument obj is required");
+ }
+ var parameters = obj.parameters;
+ var subtype = obj.subtype;
+ var suffix = obj.suffix;
+ var type = obj.type;
+ if (!type || !typeNameRegExp.test(type)) {
+ throw new TypeError("invalid type");
+ }
+ if (!subtype || !subtypeNameRegExp.test(subtype)) {
+ throw new TypeError("invalid subtype");
+ }
+ var string = type + "/" + subtype;
+ if (suffix) {
+ if (!typeNameRegExp.test(suffix)) {
+ throw new TypeError("invalid suffix");
+ }
+ string += "+" + suffix;
+ }
+ if (parameters && typeof parameters === "object") {
+ var param;
+ var params = Object.keys(parameters).sort();
+ for (var i = 0; i < params.length; i++) {
+ param = params[i];
+ if (!tokenRegExp.test(param)) {
+ throw new TypeError("invalid parameter name");
+ }
+ string += "; " + param + "=" + qstring(parameters[param]);
+ }
+ }
+ return string;
+ }
+ __name(format, "format");
+ function parse(string) {
+ if (!string) {
+ throw new TypeError("argument string is required");
+ }
+ if (typeof string === "object") {
+ string = getcontenttype(string);
+ }
+ if (typeof string !== "string") {
+ throw new TypeError("argument string is required to be a string");
+ }
+ var index = string.indexOf(";");
+ var type = index !== -1 ? string.substr(0, index) : string;
+ var key;
+ var match;
+ var obj = splitType(type);
+ var params = {};
+ var value;
+ paramRegExp.lastIndex = index;
+ while (match = paramRegExp.exec(string)) {
+ if (match.index !== index) {
+ throw new TypeError("invalid parameter format");
+ }
+ index += match[0].length;
+ key = match[1].toLowerCase();
+ value = match[2];
+ if (value[0] === '"') {
+ value = value.substr(1, value.length - 2).replace(qescRegExp, "$1");
+ }
+ params[key] = value;
+ }
+ if (index !== -1 && index !== string.length) {
+ throw new TypeError("invalid parameter format");
+ }
+ obj.parameters = params;
+ return obj;
+ }
+ __name(parse, "parse");
+ function getcontenttype(obj) {
+ if (typeof obj.getHeader === "function") {
+ return obj.getHeader("content-type");
+ }
+ if (typeof obj.headers === "object") {
+ return obj.headers && obj.headers["content-type"];
+ }
+ }
+ __name(getcontenttype, "getcontenttype");
+ function qstring(val) {
+ var str = String(val);
+ if (tokenRegExp.test(str)) {
+ return str;
+ }
+ if (str.length > 0 && !textRegExp.test(str)) {
+ throw new TypeError("invalid parameter value");
+ }
+ return '"' + str.replace(quoteRegExp, "\\$1") + '"';
+ }
+ __name(qstring, "qstring");
+ function splitType(string) {
+ var match = typeRegExp.exec(string.toLowerCase());
+ if (!match) {
+ throw new TypeError("invalid media type");
+ }
+ var type = match[1];
+ var subtype = match[2];
+ var suffix;
+ var index = subtype.lastIndexOf("+");
+ if (index !== -1) {
+ suffix = subtype.substr(index + 1);
+ subtype = subtype.substr(0, index);
+ }
+ var obj = {
+ type,
+ subtype,
+ suffix
+ };
+ return obj;
+ }
+ __name(splitType, "splitType");
+ }
+});
+
+// ../../node_modules/.pnpm/mime-db@1.52.0/node_modules/mime-db/db.json
+var require_db2 = __commonJS({
+ "../../node_modules/.pnpm/mime-db@1.52.0/node_modules/mime-db/db.json"(exports, module) {
+ module.exports = {
+ "application/1d-interleaved-parityfec": {
+ source: "iana"
+ },
+ "application/3gpdash-qoe-report+xml": {
+ source: "iana",
+ charset: "UTF-8",
+ compressible: true
+ },
+ "application/3gpp-ims+xml": {
+ source: "iana",
+ compressible: true
+ },
+ "application/3gpphal+json": {
+ source: "iana",
+ compressible: true
+ },
+ "application/3gpphalforms+json": {
+ source: "iana",
+ compressible: true
+ },
+ "application/a2l": {
+ source: "iana"
+ },
+ "application/ace+cbor": {
+ source: "iana"
+ },
+ "application/activemessage": {
+ source: "iana"
+ },
+ "application/activity+json": {
+ source: "iana",
+ compressible: true
+ },
+ "application/alto-costmap+json": {
+ source: "iana",
+ compressible: true
+ },
+ "application/alto-costmapfilter+json": {
+ source: "iana",
+ compressible: true
+ },
+ "application/alto-directory+json": {
+ source: "iana",
+ compressible: true
+ },
+ "application/alto-endpointcost+json": {
+ source: "iana",
+ compressible: true
+ },
+ "application/alto-endpointcostparams+json": {
+ source: "iana",
+ compressible: true
+ },
+ "application/alto-endpointprop+json": {
+ source: "iana",
+ compressible: true
+ },
+ "application/alto-endpointpropparams+json": {
+ source: "iana",
+ compressible: true
+ },
+ "application/alto-error+json": {
+ source: "iana",
+ compressible: true
+ },
+ "application/alto-networkmap+json": {
+ source: "iana",
+ compressible: true
+ },
+ "application/alto-networkmapfilter+json": {
+ source: "iana",
+ compressible: true
+ },
+ "application/alto-updatestreamcontrol+json": {
+ source: "iana",
+ compressible: true
+ },
+ "application/alto-updatestreamparams+json": {
+ source: "iana",
+ compressible: true
+ },
+ "application/aml": {
+ source: "iana"
+ },
+ "application/andrew-inset": {
+ source: "iana",
+ extensions: ["ez"]
+ },
+ "application/applefile": {
+ source: "iana"
+ },
+ "application/applixware": {
+ source: "apache",
+ extensions: ["aw"]
+ },
+ "application/at+jwt": {
+ source: "iana"
+ },
+ "application/atf": {
+ source: "iana"
+ },
+ "application/atfx": {
+ source: "iana"
+ },
+ "application/atom+xml": {
+ source: "iana",
+ compressible: true,
+ extensions: ["atom"]
+ },
+ "application/atomcat+xml": {
+ source: "iana",
+ compressible: true,
+ extensions: ["atomcat"]
+ },
+ "application/atomdeleted+xml": {
+ source: "iana",
+ compressible: true,
+ extensions: ["atomdeleted"]
+ },
+ "application/atomicmail": {
+ source: "iana"
+ },
+ "application/atomsvc+xml": {
+ source: "iana",
+ compressible: true,
+ extensions: ["atomsvc"]
+ },
+ "application/atsc-dwd+xml": {
+ source: "iana",
+ compressible: true,
+ extensions: ["dwd"]
+ },
+ "application/atsc-dynamic-event-message": {
+ source: "iana"
+ },
+ "application/atsc-held+xml": {
+ source: "iana",
+ compressible: true,
+ extensions: ["held"]
+ },
+ "application/atsc-rdt+json": {
+ source: "iana",
+ compressible: true
+ },
+ "application/atsc-rsat+xml": {
+ source: "iana",
+ compressible: true,
+ extensions: ["rsat"]
+ },
+ "application/atxml": {
+ source: "iana"
+ },
+ "application/auth-policy+xml": {
+ source: "iana",
+ compressible: true
+ },
+ "application/bacnet-xdd+zip": {
+ source: "iana",
+ compressible: false
+ },
+ "application/batch-smtp": {
+ source: "iana"
+ },
+ "application/bdoc": {
+ compressible: false,
+ extensions: ["bdoc"]
+ },
+ "application/beep+xml": {
+ source: "iana",
+ charset: "UTF-8",
+ compressible: true
+ },
+ "application/calendar+json": {
+ source: "iana",
+ compressible: true
+ },
+ "application/calendar+xml": {
+ source: "iana",
+ compressible: true,
+ extensions: ["xcs"]
+ },
+ "application/call-completion": {
+ source: "iana"
+ },
+ "application/cals-1840": {
+ source: "iana"
+ },
+ "application/captive+json": {
+ source: "iana",
+ compressible: true
+ },
+ "application/cbor": {
+ source: "iana"
+ },
+ "application/cbor-seq": {
+ source: "iana"
+ },
+ "application/cccex": {
+ source: "iana"
+ },
+ "application/ccmp+xml": {
+ source: "iana",
+ compressible: true
+ },
+ "application/ccxml+xml": {
+ source: "iana",
+ compressible: true,
+ extensions: ["ccxml"]
+ },
+ "application/cdfx+xml": {
+ source: "iana",
+ compressible: true,
+ extensions: ["cdfx"]
+ },
+ "application/cdmi-capability": {
+ source: "iana",
+ extensions: ["cdmia"]
+ },
+ "application/cdmi-container": {
+ source: "iana",
+ extensions: ["cdmic"]
+ },
+ "application/cdmi-domain": {
+ source: "iana",
+ extensions: ["cdmid"]
+ },
+ "application/cdmi-object": {
+ source: "iana",
+ extensions: ["cdmio"]
+ },
+ "application/cdmi-queue": {
+ source: "iana",
+ extensions: ["cdmiq"]
+ },
+ "application/cdni": {
+ source: "iana"
+ },
+ "application/cea": {
+ source: "iana"
+ },
+ "application/cea-2018+xml": {
+ source: "iana",
+ compressible: true
+ },
+ "application/cellml+xml": {
+ source: "iana",
+ compressible: true
+ },
+ "application/cfw": {
+ source: "iana"
+ },
+ "application/city+json": {
+ source: "iana",
+ compressible: true
+ },
+ "application/clr": {
+ source: "iana"
+ },
+ "application/clue+xml": {
+ source: "iana",
+ compressible: true
+ },
+ "application/clue_info+xml": {
+ source: "iana",
+ compressible: true
+ },
+ "application/cms": {
+ source: "iana"
+ },
+ "application/cnrp+xml": {
+ source: "iana",
+ compressible: true
+ },
+ "application/coap-group+json": {
+ source: "iana",
+ compressible: true
+ },
+ "application/coap-payload": {
+ source: "iana"
+ },
+ "application/commonground": {
+ source: "iana"
+ },
+ "application/conference-info+xml": {
+ source: "iana",
+ compressible: true
+ },
+ "application/cose": {
+ source: "iana"
+ },
+ "application/cose-key": {
+ source: "iana"
+ },
+ "application/cose-key-set": {
+ source: "iana"
+ },
+ "application/cpl+xml": {
+ source: "iana",
+ compressible: true,
+ extensions: ["cpl"]
+ },
+ "application/csrattrs": {
+ source: "iana"
+ },
+ "application/csta+xml": {
+ source: "iana",
+ compressible: true
+ },
+ "application/cstadata+xml": {
+ source: "iana",
+ compressible: true
+ },
+ "application/csvm+json": {
+ source: "iana",
+ compressible: true
+ },
+ "application/cu-seeme": {
+ source: "apache",
+ extensions: ["cu"]
+ },
+ "application/cwt": {
+ source: "iana"
+ },
+ "application/cybercash": {
+ source: "iana"
+ },
+ "application/dart": {
+ compressible: true
+ },
+ "application/dash+xml": {
+ source: "iana",
+ compressible: true,
+ extensions: ["mpd"]
+ },
+ "application/dash-patch+xml": {
+ source: "iana",
+ compressible: true,
+ extensions: ["mpp"]
+ },
+ "application/dashdelta": {
+ source: "iana"
+ },
+ "application/davmount+xml": {
+ source: "iana",
+ compressible: true,
+ extensions: ["davmount"]
+ },
+ "application/dca-rft": {
+ source: "iana"
+ },
+ "application/dcd": {
+ source: "iana"
+ },
+ "application/dec-dx": {
+ source: "iana"
+ },
+ "application/dialog-info+xml": {
+ source: "iana",
+ compressible: true
+ },
+ "application/dicom": {
+ source: "iana"
+ },
+ "application/dicom+json": {
+ source: "iana",
+ compressible: true
+ },
+ "application/dicom+xml": {
+ source: "iana",
+ compressible: true
+ },
+ "application/dii": {
+ source: "iana"
+ },
+ "application/dit": {
+ source: "iana"
+ },
+ "application/dns": {
+ source: "iana"
+ },
+ "application/dns+json": {
+ source: "iana",
+ compressible: true
+ },
+ "application/dns-message": {
+ source: "iana"
+ },
+ "application/docbook+xml": {
+ source: "apache",
+ compressible: true,
+ extensions: ["dbk"]
+ },
+ "application/dots+cbor": {
+ source: "iana"
+ },
+ "application/dskpp+xml": {
+ source: "iana",
+ compressible: true
+ },
+ "application/dssc+der": {
+ source: "iana",
+ extensions: ["dssc"]
+ },
+ "application/dssc+xml": {
+ source: "iana",
+ compressible: true,
+ extensions: ["xdssc"]
+ },
+ "application/dvcs": {
+ source: "iana"
+ },
+ "application/ecmascript": {
+ source: "iana",
+ compressible: true,
+ extensions: ["es", "ecma"]
+ },
+ "application/edi-consent": {
+ source: "iana"
+ },
+ "application/edi-x12": {
+ source: "iana",
+ compressible: false
+ },
+ "application/edifact": {
+ source: "iana",
+ compressible: false
+ },
+ "application/efi": {
+ source: "iana"
+ },
+ "application/elm+json": {
+ source: "iana",
+ charset: "UTF-8",
+ compressible: true
+ },
+ "application/elm+xml": {
+ source: "iana",
+ compressible: true
+ },
+ "application/emergencycalldata.cap+xml": {
+ source: "iana",
+ charset: "UTF-8",
+ compressible: true
+ },
+ "application/emergencycalldata.comment+xml": {
+ source: "iana",
+ compressible: true
+ },
+ "application/emergencycalldata.control+xml": {
+ source: "iana",
+ compressible: true
+ },
+ "application/emergencycalldata.deviceinfo+xml": {
+ source: "iana",
+ compressible: true
+ },
+ "application/emergencycalldata.ecall.msd": {
+ source: "iana"
+ },
+ "application/emergencycalldata.providerinfo+xml": {
+ source: "iana",
+ compressible: true
+ },
+ "application/emergencycalldata.serviceinfo+xml": {
+ source: "iana",
+ compressible: true
+ },
+ "application/emergencycalldata.subscriberinfo+xml": {
+ source: "iana",
+ compressible: true
+ },
+ "application/emergencycalldata.veds+xml": {
+ source: "iana",
+ compressible: true
+ },
+ "application/emma+xml": {
+ source: "iana",
+ compressible: true,
+ extensions: ["emma"]
+ },
+ "application/emotionml+xml": {
+ source: "iana",
+ compressible: true,
+ extensions: ["emotionml"]
+ },
+ "application/encaprtp": {
+ source: "iana"
+ },
+ "application/epp+xml": {
+ source: "iana",
+ compressible: true
+ },
+ "application/epub+zip": {
+ source: "iana",
+ compressible: false,
+ extensions: ["epub"]
+ },
+ "application/eshop": {
+ source: "iana"
+ },
+ "application/exi": {
+ source: "iana",
+ extensions: ["exi"]
+ },
+ "application/expect-ct-report+json": {
+ source: "iana",
+ compressible: true
+ },
+ "application/express": {
+ source: "iana",
+ extensions: ["exp"]
+ },
+ "application/fastinfoset": {
+ source: "iana"
+ },
+ "application/fastsoap": {
+ source: "iana"
+ },
+ "application/fdt+xml": {
+ source: "iana",
+ compressible: true,
+ extensions: ["fdt"]
+ },
+ "application/fhir+json": {
+ source: "iana",
+ charset: "UTF-8",
+ compressible: true
+ },
+ "application/fhir+xml": {
+ source: "iana",
+ charset: "UTF-8",
+ compressible: true
+ },
+ "application/fido.trusted-apps+json": {
+ compressible: true
+ },
+ "application/fits": {
+ source: "iana"
+ },
+ "application/flexfec": {
+ source: "iana"
+ },
+ "application/font-sfnt": {
+ source: "iana"
+ },
+ "application/font-tdpfr": {
+ source: "iana",
+ extensions: ["pfr"]
+ },
+ "application/font-woff": {
+ source: "iana",
+ compressible: false
+ },
+ "application/framework-attributes+xml": {
+ source: "iana",
+ compressible: true
+ },
+ "application/geo+json": {
+ source: "iana",
+ compressible: true,
+ extensions: ["geojson"]
+ },
+ "application/geo+json-seq": {
+ source: "iana"
+ },
+ "application/geopackage+sqlite3": {
+ source: "iana"
+ },
+ "application/geoxacml+xml": {
+ source: "iana",
+ compressible: true
+ },
+ "application/gltf-buffer": {
+ source: "iana"
+ },
+ "application/gml+xml": {
+ source: "iana",
+ compressible: true,
+ extensions: ["gml"]
+ },
+ "application/gpx+xml": {
+ source: "apache",
+ compressible: true,
+ extensions: ["gpx"]
+ },
+ "application/gxf": {
+ source: "apache",
+ extensions: ["gxf"]
+ },
+ "application/gzip": {
+ source: "iana",
+ compressible: false,
+ extensions: ["gz"]
+ },
+ "application/h224": {
+ source: "iana"
+ },
+ "application/held+xml": {
+ source: "iana",
+ compressible: true
+ },
+ "application/hjson": {
+ extensions: ["hjson"]
+ },
+ "application/http": {
+ source: "iana"
+ },
+ "application/hyperstudio": {
+ source: "iana",
+ extensions: ["stk"]
+ },
+ "application/ibe-key-request+xml": {
+ source: "iana",
+ compressible: true
+ },
+ "application/ibe-pkg-reply+xml": {
+ source: "iana",
+ compressible: true
+ },
+ "application/ibe-pp-data": {
+ source: "iana"
+ },
+ "application/iges": {
+ source: "iana"
+ },
+ "application/im-iscomposing+xml": {
+ source: "iana",
+ charset: "UTF-8",
+ compressible: true
+ },
+ "application/index": {
+ source: "iana"
+ },
+ "application/index.cmd": {
+ source: "iana"
+ },
+ "application/index.obj": {
+ source: "iana"
+ },
+ "application/index.response": {
+ source: "iana"
+ },
+ "application/index.vnd": {
+ source: "iana"
+ },
+ "application/inkml+xml": {
+ source: "iana",
+ compressible: true,
+ extensions: ["ink", "inkml"]
+ },
+ "application/iotp": {
+ source: "iana"
+ },
+ "application/ipfix": {
+ source: "iana",
+ extensions: ["ipfix"]
+ },
+ "application/ipp": {
+ source: "iana"
+ },
+ "application/isup": {
+ source: "iana"
+ },
+ "application/its+xml": {
+ source: "iana",
+ compressible: true,
+ extensions: ["its"]
+ },
+ "application/java-archive": {
+ source: "apache",
+ compressible: false,
+ extensions: ["jar", "war", "ear"]
+ },
+ "application/java-serialized-object": {
+ source: "apache",
+ compressible: false,
+ extensions: ["ser"]
+ },
+ "application/java-vm": {
+ source: "apache",
+ compressible: false,
+ extensions: ["class"]
+ },
+ "application/javascript": {
+ source: "iana",
+ charset: "UTF-8",
+ compressible: true,
+ extensions: ["js", "mjs"]
+ },
+ "application/jf2feed+json": {
+ source: "iana",
+ compressible: true
+ },
+ "application/jose": {
+ source: "iana"
+ },
+ "application/jose+json": {
+ source: "iana",
+ compressible: true
+ },
+ "application/jrd+json": {
+ source: "iana",
+ compressible: true
+ },
+ "application/jscalendar+json": {
+ source: "iana",
+ compressible: true
+ },
+ "application/json": {
+ source: "iana",
+ charset: "UTF-8",
+ compressible: true,
+ extensions: ["json", "map"]
+ },
+ "application/json-patch+json": {
+ source: "iana",
+ compressible: true
+ },
+ "application/json-seq": {
+ source: "iana"
+ },
+ "application/json5": {
+ extensions: ["json5"]
+ },
+ "application/jsonml+json": {
+ source: "apache",
+ compressible: true,
+ extensions: ["jsonml"]
+ },
+ "application/jwk+json": {
+ source: "iana",
+ compressible: true
+ },
+ "application/jwk-set+json": {
+ source: "iana",
+ compressible: true
+ },
+ "application/jwt": {
+ source: "iana"
+ },
+ "application/kpml-request+xml": {
+ source: "iana",
+ compressible: true
+ },
+ "application/kpml-response+xml": {
+ source: "iana",
+ compressible: true
+ },
+ "application/ld+json": {
+ source: "iana",
+ compressible: true,
+ extensions: ["jsonld"]
+ },
+ "application/lgr+xml": {
+ source: "iana",
+ compressible: true,
+ extensions: ["lgr"]
+ },
+ "application/link-format": {
+ source: "iana"
+ },
+ "application/load-control+xml": {
+ source: "iana",
+ compressible: true
+ },
+ "application/lost+xml": {
+ source: "iana",
+ compressible: true,
+ extensions: ["lostxml"]
+ },
+ "application/lostsync+xml": {
+ source: "iana",
+ compressible: true
+ },
+ "application/lpf+zip": {
+ source: "iana",
+ compressible: false
+ },
+ "application/lxf": {
+ source: "iana"
+ },
+ "application/mac-binhex40": {
+ source: "iana",
+ extensions: ["hqx"]
+ },
+ "application/mac-compactpro": {
+ source: "apache",
+ extensions: ["cpt"]
+ },
+ "application/macwriteii": {
+ source: "iana"
+ },
+ "application/mads+xml": {
+ source: "iana",
+ compressible: true,
+ extensions: ["mads"]
+ },
+ "application/manifest+json": {
+ source: "iana",
+ charset: "UTF-8",
+ compressible: true,
+ extensions: ["webmanifest"]
+ },
+ "application/marc": {
+ source: "iana",
+ extensions: ["mrc"]
+ },
+ "application/marcxml+xml": {
+ source: "iana",
+ compressible: true,
+ extensions: ["mrcx"]
+ },
+ "application/mathematica": {
+ source: "iana",
+ extensions: ["ma", "nb", "mb"]
+ },
+ "application/mathml+xml": {
+ source: "iana",
+ compressible: true,
+ extensions: ["mathml"]
+ },
+ "application/mathml-content+xml": {
+ source: "iana",
+ compressible: true
+ },
+ "application/mathml-presentation+xml": {
+ source: "iana",
+ compressible: true
+ },
+ "application/mbms-associated-procedure-description+xml": {
+ source: "iana",
+ compressible: true
+ },
+ "application/mbms-deregister+xml": {
+ source: "iana",
+ compressible: true
+ },
+ "application/mbms-envelope+xml": {
+ source: "iana",
+ compressible: true
+ },
+ "application/mbms-msk+xml": {
+ source: "iana",
+ compressible: true
+ },
+ "application/mbms-msk-response+xml": {
+ source: "iana",
+ compressible: true
+ },
+ "application/mbms-protection-description+xml": {
+ source: "iana",
+ compressible: true
+ },
+ "application/mbms-reception-report+xml": {
+ source: "iana",
+ compressible: true
+ },
+ "application/mbms-register+xml": {
+ source: "iana",
+ compressible: true
+ },
+ "application/mbms-register-response+xml": {
+ source: "iana",
+ compressible: true
+ },
+ "application/mbms-schedule+xml": {
+ source: "iana",
+ compressible: true
+ },
+ "application/mbms-user-service-description+xml": {
+ source: "iana",
+ compressible: true
+ },
+ "application/mbox": {
+ source: "iana",
+ extensions: ["mbox"]
+ },
+ "application/media-policy-dataset+xml": {
+ source: "iana",
+ compressible: true,
+ extensions: ["mpf"]
+ },
+ "application/media_control+xml": {
+ source: "iana",
+ compressible: true
+ },
+ "application/mediaservercontrol+xml": {
+ source: "iana",
+ compressible: true,
+ extensions: ["mscml"]
+ },
+ "application/merge-patch+json": {
+ source: "iana",
+ compressible: true
+ },
+ "application/metalink+xml": {
+ source: "apache",
+ compressible: true,
+ extensions: ["metalink"]
+ },
+ "application/metalink4+xml": {
+ source: "iana",
+ compressible: true,
+ extensions: ["meta4"]
+ },
+ "application/mets+xml": {
+ source: "iana",
+ compressible: true,
+ extensions: ["mets"]
+ },
+ "application/mf4": {
+ source: "iana"
+ },
+ "application/mikey": {
+ source: "iana"
+ },
+ "application/mipc": {
+ source: "iana"
+ },
+ "application/missing-blocks+cbor-seq": {
+ source: "iana"
+ },
+ "application/mmt-aei+xml": {
+ source: "iana",
+ compressible: true,
+ extensions: ["maei"]
+ },
+ "application/mmt-usd+xml": {
+ source: "iana",
+ compressible: true,
+ extensions: ["musd"]
+ },
+ "application/mods+xml": {
+ source: "iana",
+ compressible: true,
+ extensions: ["mods"]
+ },
+ "application/moss-keys": {
+ source: "iana"
+ },
+ "application/moss-signature": {
+ source: "iana"
+ },
+ "application/mosskey-data": {
+ source: "iana"
+ },
+ "application/mosskey-request": {
+ source: "iana"
+ },
+ "application/mp21": {
+ source: "iana",
+ extensions: ["m21", "mp21"]
+ },
+ "application/mp4": {
+ source: "iana",
+ extensions: ["mp4s", "m4p"]
+ },
+ "application/mpeg4-generic": {
+ source: "iana"
+ },
+ "application/mpeg4-iod": {
+ source: "iana"
+ },
+ "application/mpeg4-iod-xmt": {
+ source: "iana"
+ },
+ "application/mrb-consumer+xml": {
+ source: "iana",
+ compressible: true
+ },
+ "application/mrb-publish+xml": {
+ source: "iana",
+ compressible: true
+ },
+ "application/msc-ivr+xml": {
+ source: "iana",
+ charset: "UTF-8",
+ compressible: true
+ },
+ "application/msc-mixer+xml": {
+ source: "iana",
+ charset: "UTF-8",
+ compressible: true
+ },
+ "application/msword": {
+ source: "iana",
+ compressible: false,
+ extensions: ["doc", "dot"]
+ },
+ "application/mud+json": {
+ source: "iana",
+ compressible: true
+ },
+ "application/multipart-core": {
+ source: "iana"
+ },
+ "application/mxf": {
+ source: "iana",
+ extensions: ["mxf"]
+ },
+ "application/n-quads": {
+ source: "iana",
+ extensions: ["nq"]
+ },
+ "application/n-triples": {
+ source: "iana",
+ extensions: ["nt"]
+ },
+ "application/nasdata": {
+ source: "iana"
+ },
+ "application/news-checkgroups": {
+ source: "iana",
+ charset: "US-ASCII"
+ },
+ "application/news-groupinfo": {
+ source: "iana",
+ charset: "US-ASCII"
+ },
+ "application/news-transmission": {
+ source: "iana"
+ },
+ "application/nlsml+xml": {
+ source: "iana",
+ compressible: true
+ },
+ "application/node": {
+ source: "iana",
+ extensions: ["cjs"]
+ },
+ "application/nss": {
+ source: "iana"
+ },
+ "application/oauth-authz-req+jwt": {
+ source: "iana"
+ },
+ "application/oblivious-dns-message": {
+ source: "iana"
+ },
+ "application/ocsp-request": {
+ source: "iana"
+ },
+ "application/ocsp-response": {
+ source: "iana"
+ },
+ "application/octet-stream": {
+ source: "iana",
+ compressible: false,
+ extensions: ["bin", "dms", "lrf", "mar", "so", "dist", "distz", "pkg", "bpk", "dump", "elc", "deploy", "exe", "dll", "deb", "dmg", "iso", "img", "msi", "msp", "msm", "buffer"]
+ },
+ "application/oda": {
+ source: "iana",
+ extensions: ["oda"]
+ },
+ "application/odm+xml": {
+ source: "iana",
+ compressible: true
+ },
+ "application/odx": {
+ source: "iana"
+ },
+ "application/oebps-package+xml": {
+ source: "iana",
+ compressible: true,
+ extensions: ["opf"]
+ },
+ "application/ogg": {
+ source: "iana",
+ compressible: false,
+ extensions: ["ogx"]
+ },
+ "application/omdoc+xml": {
+ source: "apache",
+ compressible: true,
+ extensions: ["omdoc"]
+ },
+ "application/onenote": {
+ source: "apache",
+ extensions: ["onetoc", "onetoc2", "onetmp", "onepkg"]
+ },
+ "application/opc-nodeset+xml": {
+ source: "iana",
+ compressible: true
+ },
+ "application/oscore": {
+ source: "iana"
+ },
+ "application/oxps": {
+ source: "iana",
+ extensions: ["oxps"]
+ },
+ "application/p21": {
+ source: "iana"
+ },
+ "application/p21+zip": {
+ source: "iana",
+ compressible: false
+ },
+ "application/p2p-overlay+xml": {
+ source: "iana",
+ compressible: true,
+ extensions: ["relo"]
+ },
+ "application/parityfec": {
+ source: "iana"
+ },
+ "application/passport": {
+ source: "iana"
+ },
+ "application/patch-ops-error+xml": {
+ source: "iana",
+ compressible: true,
+ extensions: ["xer"]
+ },
+ "application/pdf": {
+ source: "iana",
+ compressible: false,
+ extensions: ["pdf"]
+ },
+ "application/pdx": {
+ source: "iana"
+ },
+ "application/pem-certificate-chain": {
+ source: "iana"
+ },
+ "application/pgp-encrypted": {
+ source: "iana",
+ compressible: false,
+ extensions: ["pgp"]
+ },
+ "application/pgp-keys": {
+ source: "iana",
+ extensions: ["asc"]
+ },
+ "application/pgp-signature": {
+ source: "iana",
+ extensions: ["asc", "sig"]
+ },
+ "application/pics-rules": {
+ source: "apache",
+ extensions: ["prf"]
+ },
+ "application/pidf+xml": {
+ source: "iana",
+ charset: "UTF-8",
+ compressible: true
+ },
+ "application/pidf-diff+xml": {
+ source: "iana",
+ charset: "UTF-8",
+ compressible: true
+ },
+ "application/pkcs10": {
+ source: "iana",
+ extensions: ["p10"]
+ },
+ "application/pkcs12": {
+ source: "iana"
+ },
+ "application/pkcs7-mime": {
+ source: "iana",
+ extensions: ["p7m", "p7c"]
+ },
+ "application/pkcs7-signature": {
+ source: "iana",
+ extensions: ["p7s"]
+ },
+ "application/pkcs8": {
+ source: "iana",
+ extensions: ["p8"]
+ },
+ "application/pkcs8-encrypted": {
+ source: "iana"
+ },
+ "application/pkix-attr-cert": {
+ source: "iana",
+ extensions: ["ac"]
+ },
+ "application/pkix-cert": {
+ source: "iana",
+ extensions: ["cer"]
+ },
+ "application/pkix-crl": {
+ source: "iana",
+ extensions: ["crl"]
+ },
+ "application/pkix-pkipath": {
+ source: "iana",
+ extensions: ["pkipath"]
+ },
+ "application/pkixcmp": {
+ source: "iana",
+ extensions: ["pki"]
+ },
+ "application/pls+xml": {
+ source: "iana",
+ compressible: true,
+ extensions: ["pls"]
+ },
+ "application/poc-settings+xml": {
+ source: "iana",
+ charset: "UTF-8",
+ compressible: true
+ },
+ "application/postscript": {
+ source: "iana",
+ compressible: true,
+ extensions: ["ai", "eps", "ps"]
+ },
+ "application/ppsp-tracker+json": {
+ source: "iana",
+ compressible: true
+ },
+ "application/problem+json": {
+ source: "iana",
+ compressible: true
+ },
+ "application/problem+xml": {
+ source: "iana",
+ compressible: true
+ },
+ "application/provenance+xml": {
+ source: "iana",
+ compressible: true,
+ extensions: ["provx"]
+ },
+ "application/prs.alvestrand.titrax-sheet": {
+ source: "iana"
+ },
+ "application/prs.cww": {
+ source: "iana",
+ extensions: ["cww"]
+ },
+ "application/prs.cyn": {
+ source: "iana",
+ charset: "7-BIT"
+ },
+ "application/prs.hpub+zip": {
+ source: "iana",
+ compressible: false
+ },
+ "application/prs.nprend": {
+ source: "iana"
+ },
+ "application/prs.plucker": {
+ source: "iana"
+ },
+ "application/prs.rdf-xml-crypt": {
+ source: "iana"
+ },
+ "application/prs.xsf+xml": {
+ source: "iana",
+ compressible: true
+ },
+ "application/pskc+xml": {
+ source: "iana",
+ compressible: true,
+ extensions: ["pskcxml"]
+ },
+ "application/pvd+json": {
+ source: "iana",
+ compressible: true
+ },
+ "application/qsig": {
+ source: "iana"
+ },
+ "application/raml+yaml": {
+ compressible: true,
+ extensions: ["raml"]
+ },
+ "application/raptorfec": {
+ source: "iana"
+ },
+ "application/rdap+json": {
+ source: "iana",
+ compressible: true
+ },
+ "application/rdf+xml": {
+ source: "iana",
+ compressible: true,
+ extensions: ["rdf", "owl"]
+ },
+ "application/reginfo+xml": {
+ source: "iana",
+ compressible: true,
+ extensions: ["rif"]
+ },
+ "application/relax-ng-compact-syntax": {
+ source: "iana",
+ extensions: ["rnc"]
+ },
+ "application/remote-printing": {
+ source: "iana"
+ },
+ "application/reputon+json": {
+ source: "iana",
+ compressible: true
+ },
+ "application/resource-lists+xml": {
+ source: "iana",
+ compressible: true,
+ extensions: ["rl"]
+ },
+ "application/resource-lists-diff+xml": {
+ source: "iana",
+ compressible: true,
+ extensions: ["rld"]
+ },
+ "application/rfc+xml": {
+ source: "iana",
+ compressible: true
+ },
+ "application/riscos": {
+ source: "iana"
+ },
+ "application/rlmi+xml": {
+ source: "iana",
+ compressible: true
+ },
+ "application/rls-services+xml": {
+ source: "iana",
+ compressible: true,
+ extensions: ["rs"]
+ },
+ "application/route-apd+xml": {
+ source: "iana",
+ compressible: true,
+ extensions: ["rapd"]
+ },
+ "application/route-s-tsid+xml": {
+ source: "iana",
+ compressible: true,
+ extensions: ["sls"]
+ },
+ "application/route-usd+xml": {
+ source: "iana",
+ compressible: true,
+ extensions: ["rusd"]
+ },
+ "application/rpki-ghostbusters": {
+ source: "iana",
+ extensions: ["gbr"]
+ },
+ "application/rpki-manifest": {
+ source: "iana",
+ extensions: ["mft"]
+ },
+ "application/rpki-publication": {
+ source: "iana"
+ },
+ "application/rpki-roa": {
+ source: "iana",
+ extensions: ["roa"]
+ },
+ "application/rpki-updown": {
+ source: "iana"
+ },
+ "application/rsd+xml": {
+ source: "apache",
+ compressible: true,
+ extensions: ["rsd"]
+ },
+ "application/rss+xml": {
+ source: "apache",
+ compressible: true,
+ extensions: ["rss"]
+ },
+ "application/rtf": {
+ source: "iana",
+ compressible: true,
+ extensions: ["rtf"]
+ },
+ "application/rtploopback": {
+ source: "iana"
+ },
+ "application/rtx": {
+ source: "iana"
+ },
+ "application/samlassertion+xml": {
+ source: "iana",
+ compressible: true
+ },
+ "application/samlmetadata+xml": {
+ source: "iana",
+ compressible: true
+ },
+ "application/sarif+json": {
+ source: "iana",
+ compressible: true
+ },
+ "application/sarif-external-properties+json": {
+ source: "iana",
+ compressible: true
+ },
+ "application/sbe": {
+ source: "iana"
+ },
+ "application/sbml+xml": {
+ source: "iana",
+ compressible: true,
+ extensions: ["sbml"]
+ },
+ "application/scaip+xml": {
+ source: "iana",
+ compressible: true
+ },
+ "application/scim+json": {
+ source: "iana",
+ compressible: true
+ },
+ "application/scvp-cv-request": {
+ source: "iana",
+ extensions: ["scq"]
+ },
+ "application/scvp-cv-response": {
+ source: "iana",
+ extensions: ["scs"]
+ },
+ "application/scvp-vp-request": {
+ source: "iana",
+ extensions: ["spq"]
+ },
+ "application/scvp-vp-response": {
+ source: "iana",
+ extensions: ["spp"]
+ },
+ "application/sdp": {
+ source: "iana",
+ extensions: ["sdp"]
+ },
+ "application/secevent+jwt": {
+ source: "iana"
+ },
+ "application/senml+cbor": {
+ source: "iana"
+ },
+ "application/senml+json": {
+ source: "iana",
+ compressible: true
+ },
+ "application/senml+xml": {
+ source: "iana",
+ compressible: true,
+ extensions: ["senmlx"]
+ },
+ "application/senml-etch+cbor": {
+ source: "iana"
+ },
+ "application/senml-etch+json": {
+ source: "iana",
+ compressible: true
+ },
+ "application/senml-exi": {
+ source: "iana"
+ },
+ "application/sensml+cbor": {
+ source: "iana"
+ },
+ "application/sensml+json": {
+ source: "iana",
+ compressible: true
+ },
+ "application/sensml+xml": {
+ source: "iana",
+ compressible: true,
+ extensions: ["sensmlx"]
+ },
+ "application/sensml-exi": {
+ source: "iana"
+ },
+ "application/sep+xml": {
+ source: "iana",
+ compressible: true
+ },
+ "application/sep-exi": {
+ source: "iana"
+ },
+ "application/session-info": {
+ source: "iana"
+ },
+ "application/set-payment": {
+ source: "iana"
+ },
+ "application/set-payment-initiation": {
+ source: "iana",
+ extensions: ["setpay"]
+ },
+ "application/set-registration": {
+ source: "iana"
+ },
+ "application/set-registration-initiation": {
+ source: "iana",
+ extensions: ["setreg"]
+ },
+ "application/sgml": {
+ source: "iana"
+ },
+ "application/sgml-open-catalog": {
+ source: "iana"
+ },
+ "application/shf+xml": {
+ source: "iana",
+ compressible: true,
+ extensions: ["shf"]
+ },
+ "application/sieve": {
+ source: "iana",
+ extensions: ["siv", "sieve"]
+ },
+ "application/simple-filter+xml": {
+ source: "iana",
+ compressible: true
+ },
+ "application/simple-message-summary": {
+ source: "iana"
+ },
+ "application/simplesymbolcontainer": {
+ source: "iana"
+ },
+ "application/sipc": {
+ source: "iana"
+ },
+ "application/slate": {
+ source: "iana"
+ },
+ "application/smil": {
+ source: "iana"
+ },
+ "application/smil+xml": {
+ source: "iana",
+ compressible: true,
+ extensions: ["smi", "smil"]
+ },
+ "application/smpte336m": {
+ source: "iana"
+ },
+ "application/soap+fastinfoset": {
+ source: "iana"
+ },
+ "application/soap+xml": {
+ source: "iana",
+ compressible: true
+ },
+ "application/sparql-query": {
+ source: "iana",
+ extensions: ["rq"]
+ },
+ "application/sparql-results+xml": {
+ source: "iana",
+ compressible: true,
+ extensions: ["srx"]
+ },
+ "application/spdx+json": {
+ source: "iana",
+ compressible: true
+ },
+ "application/spirits-event+xml": {
+ source: "iana",
+ compressible: true
+ },
+ "application/sql": {
+ source: "iana"
+ },
+ "application/srgs": {
+ source: "iana",
+ extensions: ["gram"]
+ },
+ "application/srgs+xml": {
+ source: "iana",
+ compressible: true,
+ extensions: ["grxml"]
+ },
+ "application/sru+xml": {
+ source: "iana",
+ compressible: true,
+ extensions: ["sru"]
+ },
+ "application/ssdl+xml": {
+ source: "apache",
+ compressible: true,
+ extensions: ["ssdl"]
+ },
+ "application/ssml+xml": {
+ source: "iana",
+ compressible: true,
+ extensions: ["ssml"]
+ },
+ "application/stix+json": {
+ source: "iana",
+ compressible: true
+ },
+ "application/swid+xml": {
+ source: "iana",
+ compressible: true,
+ extensions: ["swidtag"]
+ },
+ "application/tamp-apex-update": {
+ source: "iana"
+ },
+ "application/tamp-apex-update-confirm": {
+ source: "iana"
+ },
+ "application/tamp-community-update": {
+ source: "iana"
+ },
+ "application/tamp-community-update-confirm": {
+ source: "iana"
+ },
+ "application/tamp-error": {
+ source: "iana"
+ },
+ "application/tamp-sequence-adjust": {
+ source: "iana"
+ },
+ "application/tamp-sequence-adjust-confirm": {
+ source: "iana"
+ },
+ "application/tamp-status-query": {
+ source: "iana"
+ },
+ "application/tamp-status-response": {
+ source: "iana"
+ },
+ "application/tamp-update": {
+ source: "iana"
+ },
+ "application/tamp-update-confirm": {
+ source: "iana"
+ },
+ "application/tar": {
+ compressible: true
+ },
+ "application/taxii+json": {
+ source: "iana",
+ compressible: true
+ },
+ "application/td+json": {
+ source: "iana",
+ compressible: true
+ },
+ "application/tei+xml": {
+ source: "iana",
+ compressible: true,
+ extensions: ["tei", "teicorpus"]
+ },
+ "application/tetra_isi": {
+ source: "iana"
+ },
+ "application/thraud+xml": {
+ source: "iana",
+ compressible: true,
+ extensions: ["tfi"]
+ },
+ "application/timestamp-query": {
+ source: "iana"
+ },
+ "application/timestamp-reply": {
+ source: "iana"
+ },
+ "application/timestamped-data": {
+ source: "iana",
+ extensions: ["tsd"]
+ },
+ "application/tlsrpt+gzip": {
+ source: "iana"
+ },
+ "application/tlsrpt+json": {
+ source: "iana",
+ compressible: true
+ },
+ "application/tnauthlist": {
+ source: "iana"
+ },
+ "application/token-introspection+jwt": {
+ source: "iana"
+ },
+ "application/toml": {
+ compressible: true,
+ extensions: ["toml"]
+ },
+ "application/trickle-ice-sdpfrag": {
+ source: "iana"
+ },
+ "application/trig": {
+ source: "iana",
+ extensions: ["trig"]
+ },
+ "application/ttml+xml": {
+ source: "iana",
+ compressible: true,
+ extensions: ["ttml"]
+ },
+ "application/tve-trigger": {
+ source: "iana"
+ },
+ "application/tzif": {
+ source: "iana"
+ },
+ "application/tzif-leap": {
+ source: "iana"
+ },
+ "application/ubjson": {
+ compressible: false,
+ extensions: ["ubj"]
+ },
+ "application/ulpfec": {
+ source: "iana"
+ },
+ "application/urc-grpsheet+xml": {
+ source: "iana",
+ compressible: true
+ },
+ "application/urc-ressheet+xml": {
+ source: "iana",
+ compressible: true,
+ extensions: ["rsheet"]
+ },
+ "application/urc-targetdesc+xml": {
+ source: "iana",
+ compressible: true,
+ extensions: ["td"]
+ },
+ "application/urc-uisocketdesc+xml": {
+ source: "iana",
+ compressible: true
+ },
+ "application/vcard+json": {
+ source: "iana",
+ compressible: true
+ },
+ "application/vcard+xml": {
+ source: "iana",
+ compressible: true
+ },
+ "application/vemmi": {
+ source: "iana"
+ },
+ "application/vividence.scriptfile": {
+ source: "apache"
+ },
+ "application/vnd.1000minds.decision-model+xml": {
+ source: "iana",
+ compressible: true,
+ extensions: ["1km"]
+ },
+ "application/vnd.3gpp-prose+xml": {
+ source: "iana",
+ compressible: true
+ },
+ "application/vnd.3gpp-prose-pc3ch+xml": {
+ source: "iana",
+ compressible: true
+ },
+ "application/vnd.3gpp-v2x-local-service-information": {
+ source: "iana"
+ },
+ "application/vnd.3gpp.5gnas": {
+ source: "iana"
+ },
+ "application/vnd.3gpp.access-transfer-events+xml": {
+ source: "iana",
+ compressible: true
+ },
+ "application/vnd.3gpp.bsf+xml": {
+ source: "iana",
+ compressible: true
+ },
+ "application/vnd.3gpp.gmop+xml": {
+ source: "iana",
+ compressible: true
+ },
+ "application/vnd.3gpp.gtpc": {
+ source: "iana"
+ },
+ "application/vnd.3gpp.interworking-data": {
+ source: "iana"
+ },
+ "application/vnd.3gpp.lpp": {
+ source: "iana"
+ },
+ "application/vnd.3gpp.mc-signalling-ear": {
+ source: "iana"
+ },
+ "application/vnd.3gpp.mcdata-affiliation-command+xml": {
+ source: "iana",
+ compressible: true
+ },
+ "application/vnd.3gpp.mcdata-info+xml": {
+ source: "iana",
+ compressible: true
+ },
+ "application/vnd.3gpp.mcdata-payload": {
+ source: "iana"
+ },
+ "application/vnd.3gpp.mcdata-service-config+xml": {
+ source: "iana",
+ compressible: true
+ },
+ "application/vnd.3gpp.mcdata-signalling": {
+ source: "iana"
+ },
+ "application/vnd.3gpp.mcdata-ue-config+xml": {
+ source: "iana",
+ compressible: true
+ },
+ "application/vnd.3gpp.mcdata-user-profile+xml": {
+ source: "iana",
+ compressible: true
+ },
+ "application/vnd.3gpp.mcptt-affiliation-command+xml": {
+ source: "iana",
+ compressible: true
+ },
+ "application/vnd.3gpp.mcptt-floor-request+xml": {
+ source: "iana",
+ compressible: true
+ },
+ "application/vnd.3gpp.mcptt-info+xml": {
+ source: "iana",
+ compressible: true
+ },
+ "application/vnd.3gpp.mcptt-location-info+xml": {
+ source: "iana",
+ compressible: true
+ },
+ "application/vnd.3gpp.mcptt-mbms-usage-info+xml": {
+ source: "iana",
+ compressible: true
+ },
+ "application/vnd.3gpp.mcptt-service-config+xml": {
+ source: "iana",
+ compressible: true
+ },
+ "application/vnd.3gpp.mcptt-signed+xml": {
+ source: "iana",
+ compressible: true
+ },
+ "application/vnd.3gpp.mcptt-ue-config+xml": {
+ source: "iana",
+ compressible: true
+ },
+ "application/vnd.3gpp.mcptt-ue-init-config+xml": {
+ source: "iana",
+ compressible: true
+ },
+ "application/vnd.3gpp.mcptt-user-profile+xml": {
+ source: "iana",
+ compressible: true
+ },
+ "application/vnd.3gpp.mcvideo-affiliation-command+xml": {
+ source: "iana",
+ compressible: true
+ },
+ "application/vnd.3gpp.mcvideo-affiliation-info+xml": {
+ source: "iana",
+ compressible: true
+ },
+ "application/vnd.3gpp.mcvideo-info+xml": {
+ source: "iana",
+ compressible: true
+ },
+ "application/vnd.3gpp.mcvideo-location-info+xml": {
+ source: "iana",
+ compressible: true
+ },
+ "application/vnd.3gpp.mcvideo-mbms-usage-info+xml": {
+ source: "iana",
+ compressible: true
+ },
+ "application/vnd.3gpp.mcvideo-service-config+xml": {
+ source: "iana",
+ compressible: true
+ },
+ "application/vnd.3gpp.mcvideo-transmission-request+xml": {
+ source: "iana",
+ compressible: true
+ },
+ "application/vnd.3gpp.mcvideo-ue-config+xml": {
+ source: "iana",
+ compressible: true
+ },
+ "application/vnd.3gpp.mcvideo-user-profile+xml": {
+ source: "iana",
+ compressible: true
+ },
+ "application/vnd.3gpp.mid-call+xml": {
+ source: "iana",
+ compressible: true
+ },
+ "application/vnd.3gpp.ngap": {
+ source: "iana"
+ },
+ "application/vnd.3gpp.pfcp": {
+ source: "iana"
+ },
+ "application/vnd.3gpp.pic-bw-large": {
+ source: "iana",
+ extensions: ["plb"]
+ },
+ "application/vnd.3gpp.pic-bw-small": {
+ source: "iana",
+ extensions: ["psb"]
+ },
+ "application/vnd.3gpp.pic-bw-var": {
+ source: "iana",
+ extensions: ["pvb"]
+ },
+ "application/vnd.3gpp.s1ap": {
+ source: "iana"
+ },
+ "application/vnd.3gpp.sms": {
+ source: "iana"
+ },
+ "application/vnd.3gpp.sms+xml": {
+ source: "iana",
+ compressible: true
+ },
+ "application/vnd.3gpp.srvcc-ext+xml": {
+ source: "iana",
+ compressible: true
+ },
+ "application/vnd.3gpp.srvcc-info+xml": {
+ source: "iana",
+ compressible: true
+ },
+ "application/vnd.3gpp.state-and-event-info+xml": {
+ source: "iana",
+ compressible: true
+ },
+ "application/vnd.3gpp.ussd+xml": {
+ source: "iana",
+ compressible: true
+ },
+ "application/vnd.3gpp2.bcmcsinfo+xml": {
+ source: "iana",
+ compressible: true
+ },
+ "application/vnd.3gpp2.sms": {
+ source: "iana"
+ },
+ "application/vnd.3gpp2.tcap": {
+ source: "iana",
+ extensions: ["tcap"]
+ },
+ "application/vnd.3lightssoftware.imagescal": {
+ source: "iana"
+ },
+ "application/vnd.3m.post-it-notes": {
+ source: "iana",
+ extensions: ["pwn"]
+ },
+ "application/vnd.accpac.simply.aso": {
+ source: "iana",
+ extensions: ["aso"]
+ },
+ "application/vnd.accpac.simply.imp": {
+ source: "iana",
+ extensions: ["imp"]
+ },
+ "application/vnd.acucobol": {
+ source: "iana",
+ extensions: ["acu"]
+ },
+ "application/vnd.acucorp": {
+ source: "iana",
+ extensions: ["atc", "acutc"]
+ },
+ "application/vnd.adobe.air-application-installer-package+zip": {
+ source: "apache",
+ compressible: false,
+ extensions: ["air"]
+ },
+ "application/vnd.adobe.flash.movie": {
+ source: "iana"
+ },
+ "application/vnd.adobe.formscentral.fcdt": {
+ source: "iana",
+ extensions: ["fcdt"]
+ },
+ "application/vnd.adobe.fxp": {
+ source: "iana",
+ extensions: ["fxp", "fxpl"]
+ },
+ "application/vnd.adobe.partial-upload": {
+ source: "iana"
+ },
+ "application/vnd.adobe.xdp+xml": {
+ source: "iana",
+ compressible: true,
+ extensions: ["xdp"]
+ },
+ "application/vnd.adobe.xfdf": {
+ source: "iana",
+ extensions: ["xfdf"]
+ },
+ "application/vnd.aether.imp": {
+ source: "iana"
+ },
+ "application/vnd.afpc.afplinedata": {
+ source: "iana"
+ },
+ "application/vnd.afpc.afplinedata-pagedef": {
+ source: "iana"
+ },
+ "application/vnd.afpc.cmoca-cmresource": {
+ source: "iana"
+ },
+ "application/vnd.afpc.foca-charset": {
+ source: "iana"
+ },
+ "application/vnd.afpc.foca-codedfont": {
+ source: "iana"
+ },
+ "application/vnd.afpc.foca-codepage": {
+ source: "iana"
+ },
+ "application/vnd.afpc.modca": {
+ source: "iana"
+ },
+ "application/vnd.afpc.modca-cmtable": {
+ source: "iana"
+ },
+ "application/vnd.afpc.modca-formdef": {
+ source: "iana"
+ },
+ "application/vnd.afpc.modca-mediummap": {
+ source: "iana"
+ },
+ "application/vnd.afpc.modca-objectcontainer": {
+ source: "iana"
+ },
+ "application/vnd.afpc.modca-overlay": {
+ source: "iana"
+ },
+ "application/vnd.afpc.modca-pagesegment": {
+ source: "iana"
+ },
+ "application/vnd.age": {
+ source: "iana",
+ extensions: ["age"]
+ },
+ "application/vnd.ah-barcode": {
+ source: "iana"
+ },
+ "application/vnd.ahead.space": {
+ source: "iana",
+ extensions: ["ahead"]
+ },
+ "application/vnd.airzip.filesecure.azf": {
+ source: "iana",
+ extensions: ["azf"]
+ },
+ "application/vnd.airzip.filesecure.azs": {
+ source: "iana",
+ extensions: ["azs"]
+ },
+ "application/vnd.amadeus+json": {
+ source: "iana",
+ compressible: true
+ },
+ "application/vnd.amazon.ebook": {
+ source: "apache",
+ extensions: ["azw"]
+ },
+ "application/vnd.amazon.mobi8-ebook": {
+ source: "iana"
+ },
+ "application/vnd.americandynamics.acc": {
+ source: "iana",
+ extensions: ["acc"]
+ },
+ "application/vnd.amiga.ami": {
+ source: "iana",
+ extensions: ["ami"]
+ },
+ "application/vnd.amundsen.maze+xml": {
+ source: "iana",
+ compressible: true
+ },
+ "application/vnd.android.ota": {
+ source: "iana"
+ },
+ "application/vnd.android.package-archive": {
+ source: "apache",
+ compressible: false,
+ extensions: ["apk"]
+ },
+ "application/vnd.anki": {
+ source: "iana"
+ },
+ "application/vnd.anser-web-certificate-issue-initiation": {
+ source: "iana",
+ extensions: ["cii"]
+ },
+ "application/vnd.anser-web-funds-transfer-initiation": {
+ source: "apache",
+ extensions: ["fti"]
+ },
+ "application/vnd.antix.game-component": {
+ source: "iana",
+ extensions: ["atx"]
+ },
+ "application/vnd.apache.arrow.file": {
+ source: "iana"
+ },
+ "application/vnd.apache.arrow.stream": {
+ source: "iana"
+ },
+ "application/vnd.apache.thrift.binary": {
+ source: "iana"
+ },
+ "application/vnd.apache.thrift.compact": {
+ source: "iana"
+ },
+ "application/vnd.apache.thrift.json": {
+ source: "iana"
+ },
+ "application/vnd.api+json": {
+ source: "iana",
+ compressible: true
+ },
+ "application/vnd.aplextor.warrp+json": {
+ source: "iana",
+ compressible: true
+ },
+ "application/vnd.apothekende.reservation+json": {
+ source: "iana",
+ compressible: true
+ },
+ "application/vnd.apple.installer+xml": {
+ source: "iana",
+ compressible: true,
+ extensions: ["mpkg"]
+ },
+ "application/vnd.apple.keynote": {
+ source: "iana",
+ extensions: ["key"]
+ },
+ "application/vnd.apple.mpegurl": {
+ source: "iana",
+ extensions: ["m3u8"]
+ },
+ "application/vnd.apple.numbers": {
+ source: "iana",
+ extensions: ["numbers"]
+ },
+ "application/vnd.apple.pages": {
+ source: "iana",
+ extensions: ["pages"]
+ },
+ "application/vnd.apple.pkpass": {
+ compressible: false,
+ extensions: ["pkpass"]
+ },
+ "application/vnd.arastra.swi": {
+ source: "iana"
+ },
+ "application/vnd.aristanetworks.swi": {
+ source: "iana",
+ extensions: ["swi"]
+ },
+ "application/vnd.artisan+json": {
+ source: "iana",
+ compressible: true
+ },
+ "application/vnd.artsquare": {
+ source: "iana"
+ },
+ "application/vnd.astraea-software.iota": {
+ source: "iana",
+ extensions: ["iota"]
+ },
+ "application/vnd.audiograph": {
+ source: "iana",
+ extensions: ["aep"]
+ },
+ "application/vnd.autopackage": {
+ source: "iana"
+ },
+ "application/vnd.avalon+json": {
+ source: "iana",
+ compressible: true
+ },
+ "application/vnd.avistar+xml": {
+ source: "iana",
+ compressible: true
+ },
+ "application/vnd.balsamiq.bmml+xml": {
+ source: "iana",
+ compressible: true,
+ extensions: ["bmml"]
+ },
+ "application/vnd.balsamiq.bmpr": {
+ source: "iana"
+ },
+ "application/vnd.banana-accounting": {
+ source: "iana"
+ },
+ "application/vnd.bbf.usp.error": {
+ source: "iana"
+ },
+ "application/vnd.bbf.usp.msg": {
+ source: "iana"
+ },
+ "application/vnd.bbf.usp.msg+json": {
+ source: "iana",
+ compressible: true
+ },
+ "application/vnd.bekitzur-stech+json": {
+ source: "iana",
+ compressible: true
+ },
+ "application/vnd.bint.med-content": {
+ source: "iana"
+ },
+ "application/vnd.biopax.rdf+xml": {
+ source: "iana",
+ compressible: true
+ },
+ "application/vnd.blink-idb-value-wrapper": {
+ source: "iana"
+ },
+ "application/vnd.blueice.multipass": {
+ source: "iana",
+ extensions: ["mpm"]
+ },
+ "application/vnd.bluetooth.ep.oob": {
+ source: "iana"
+ },
+ "application/vnd.bluetooth.le.oob": {
+ source: "iana"
+ },
+ "application/vnd.bmi": {
+ source: "iana",
+ extensions: ["bmi"]
+ },
+ "application/vnd.bpf": {
+ source: "iana"
+ },
+ "application/vnd.bpf3": {
+ source: "iana"
+ },
+ "application/vnd.businessobjects": {
+ source: "iana",
+ extensions: ["rep"]
+ },
+ "application/vnd.byu.uapi+json": {
+ source: "iana",
+ compressible: true
+ },
+ "application/vnd.cab-jscript": {
+ source: "iana"
+ },
+ "application/vnd.canon-cpdl": {
+ source: "iana"
+ },
+ "application/vnd.canon-lips": {
+ source: "iana"
+ },
+ "application/vnd.capasystems-pg+json": {
+ source: "iana",
+ compressible: true
+ },
+ "application/vnd.cendio.thinlinc.clientconf": {
+ source: "iana"
+ },
+ "application/vnd.century-systems.tcp_stream": {
+ source: "iana"
+ },
+ "application/vnd.chemdraw+xml": {
+ source: "iana",
+ compressible: true,
+ extensions: ["cdxml"]
+ },
+ "application/vnd.chess-pgn": {
+ source: "iana"
+ },
+ "application/vnd.chipnuts.karaoke-mmd": {
+ source: "iana",
+ extensions: ["mmd"]
+ },
+ "application/vnd.ciedi": {
+ source: "iana"
+ },
+ "application/vnd.cinderella": {
+ source: "iana",
+ extensions: ["cdy"]
+ },
+ "application/vnd.cirpack.isdn-ext": {
+ source: "iana"
+ },
+ "application/vnd.citationstyles.style+xml": {
+ source: "iana",
+ compressible: true,
+ extensions: ["csl"]
+ },
+ "application/vnd.claymore": {
+ source: "iana",
+ extensions: ["cla"]
+ },
+ "application/vnd.cloanto.rp9": {
+ source: "iana",
+ extensions: ["rp9"]
+ },
+ "application/vnd.clonk.c4group": {
+ source: "iana",
+ extensions: ["c4g", "c4d", "c4f", "c4p", "c4u"]
+ },
+ "application/vnd.cluetrust.cartomobile-config": {
+ source: "iana",
+ extensions: ["c11amc"]
+ },
+ "application/vnd.cluetrust.cartomobile-config-pkg": {
+ source: "iana",
+ extensions: ["c11amz"]
+ },
+ "application/vnd.coffeescript": {
+ source: "iana"
+ },
+ "application/vnd.collabio.xodocuments.document": {
+ source: "iana"
+ },
+ "application/vnd.collabio.xodocuments.document-template": {
+ source: "iana"
+ },
+ "application/vnd.collabio.xodocuments.presentation": {
+ source: "iana"
+ },
+ "application/vnd.collabio.xodocuments.presentation-template": {
+ source: "iana"
+ },
+ "application/vnd.collabio.xodocuments.spreadsheet": {
+ source: "iana"
+ },
+ "application/vnd.collabio.xodocuments.spreadsheet-template": {
+ source: "iana"
+ },
+ "application/vnd.collection+json": {
+ source: "iana",
+ compressible: true
+ },
+ "application/vnd.collection.doc+json": {
+ source: "iana",
+ compressible: true
+ },
+ "application/vnd.collection.next+json": {
+ source: "iana",
+ compressible: true
+ },
+ "application/vnd.comicbook+zip": {
+ source: "iana",
+ compressible: false
+ },
+ "application/vnd.comicbook-rar": {
+ source: "iana"
+ },
+ "application/vnd.commerce-battelle": {
+ source: "iana"
+ },
+ "application/vnd.commonspace": {
+ source: "iana",
+ extensions: ["csp"]
+ },
+ "application/vnd.contact.cmsg": {
+ source: "iana",
+ extensions: ["cdbcmsg"]
+ },
+ "application/vnd.coreos.ignition+json": {
+ source: "iana",
+ compressible: true
+ },
+ "application/vnd.cosmocaller": {
+ source: "iana",
+ extensions: ["cmc"]
+ },
+ "application/vnd.crick.clicker": {
+ source: "iana",
+ extensions: ["clkx"]
+ },
+ "application/vnd.crick.clicker.keyboard": {
+ source: "iana",
+ extensions: ["clkk"]
+ },
+ "application/vnd.crick.clicker.palette": {
+ source: "iana",
+ extensions: ["clkp"]
+ },
+ "application/vnd.crick.clicker.template": {
+ source: "iana",
+ extensions: ["clkt"]
+ },
+ "application/vnd.crick.clicker.wordbank": {
+ source: "iana",
+ extensions: ["clkw"]
+ },
+ "application/vnd.criticaltools.wbs+xml": {
+ source: "iana",
+ compressible: true,
+ extensions: ["wbs"]
+ },
+ "application/vnd.cryptii.pipe+json": {
+ source: "iana",
+ compressible: true
+ },
+ "application/vnd.crypto-shade-file": {
+ source: "iana"
+ },
+ "application/vnd.cryptomator.encrypted": {
+ source: "iana"
+ },
+ "application/vnd.cryptomator.vault": {
+ source: "iana"
+ },
+ "application/vnd.ctc-posml": {
+ source: "iana",
+ extensions: ["pml"]
+ },
+ "application/vnd.ctct.ws+xml": {
+ source: "iana",
+ compressible: true
+ },
+ "application/vnd.cups-pdf": {
+ source: "iana"
+ },
+ "application/vnd.cups-postscript": {
+ source: "iana"
+ },
+ "application/vnd.cups-ppd": {
+ source: "iana",
+ extensions: ["ppd"]
+ },
+ "application/vnd.cups-raster": {
+ source: "iana"
+ },
+ "application/vnd.cups-raw": {
+ source: "iana"
+ },
+ "application/vnd.curl": {
+ source: "iana"
+ },
+ "application/vnd.curl.car": {
+ source: "apache",
+ extensions: ["car"]
+ },
+ "application/vnd.curl.pcurl": {
+ source: "apache",
+ extensions: ["pcurl"]
+ },
+ "application/vnd.cyan.dean.root+xml": {
+ source: "iana",
+ compressible: true
+ },
+ "application/vnd.cybank": {
+ source: "iana"
+ },
+ "application/vnd.cyclonedx+json": {
+ source: "iana",
+ compressible: true
+ },
+ "application/vnd.cyclonedx+xml": {
+ source: "iana",
+ compressible: true
+ },
+ "application/vnd.d2l.coursepackage1p0+zip": {
+ source: "iana",
+ compressible: false
+ },
+ "application/vnd.d3m-dataset": {
+ source: "iana"
+ },
+ "application/vnd.d3m-problem": {
+ source: "iana"
+ },
+ "application/vnd.dart": {
+ source: "iana",
+ compressible: true,
+ extensions: ["dart"]
+ },
+ "application/vnd.data-vision.rdz": {
+ source: "iana",
+ extensions: ["rdz"]
+ },
+ "application/vnd.datapackage+json": {
+ source: "iana",
+ compressible: true
+ },
+ "application/vnd.dataresource+json": {
+ source: "iana",
+ compressible: true
+ },
+ "application/vnd.dbf": {
+ source: "iana",
+ extensions: ["dbf"]
+ },
+ "application/vnd.debian.binary-package": {
+ source: "iana"
+ },
+ "application/vnd.dece.data": {
+ source: "iana",
+ extensions: ["uvf", "uvvf", "uvd", "uvvd"]
+ },
+ "application/vnd.dece.ttml+xml": {
+ source: "iana",
+ compressible: true,
+ extensions: ["uvt", "uvvt"]
+ },
+ "application/vnd.dece.unspecified": {
+ source: "iana",
+ extensions: ["uvx", "uvvx"]
+ },
+ "application/vnd.dece.zip": {
+ source: "iana",
+ extensions: ["uvz", "uvvz"]
+ },
+ "application/vnd.denovo.fcselayout-link": {
+ source: "iana",
+ extensions: ["fe_launch"]
+ },
+ "application/vnd.desmume.movie": {
+ source: "iana"
+ },
+ "application/vnd.dir-bi.plate-dl-nosuffix": {
+ source: "iana"
+ },
+ "application/vnd.dm.delegation+xml": {
+ source: "iana",
+ compressible: true
+ },
+ "application/vnd.dna": {
+ source: "iana",
+ extensions: ["dna"]
+ },
+ "application/vnd.document+json": {
+ source: "iana",
+ compressible: true
+ },
+ "application/vnd.dolby.mlp": {
+ source: "apache",
+ extensions: ["mlp"]
+ },
+ "application/vnd.dolby.mobile.1": {
+ source: "iana"
+ },
+ "application/vnd.dolby.mobile.2": {
+ source: "iana"
+ },
+ "application/vnd.doremir.scorecloud-binary-document": {
+ source: "iana"
+ },
+ "application/vnd.dpgraph": {
+ source: "iana",
+ extensions: ["dpg"]
+ },
+ "application/vnd.dreamfactory": {
+ source: "iana",
+ extensions: ["dfac"]
+ },
+ "application/vnd.drive+json": {
+ source: "iana",
+ compressible: true
+ },
+ "application/vnd.ds-keypoint": {
+ source: "apache",
+ extensions: ["kpxx"]
+ },
+ "application/vnd.dtg.local": {
+ source: "iana"
+ },
+ "application/vnd.dtg.local.flash": {
+ source: "iana"
+ },
+ "application/vnd.dtg.local.html": {
+ source: "iana"
+ },
+ "application/vnd.dvb.ait": {
+ source: "iana",
+ extensions: ["ait"]
+ },
+ "application/vnd.dvb.dvbisl+xml": {
+ source: "iana",
+ compressible: true
+ },
+ "application/vnd.dvb.dvbj": {
+ source: "iana"
+ },
+ "application/vnd.dvb.esgcontainer": {
+ source: "iana"
+ },
+ "application/vnd.dvb.ipdcdftnotifaccess": {
+ source: "iana"
+ },
+ "application/vnd.dvb.ipdcesgaccess": {
+ source: "iana"
+ },
+ "application/vnd.dvb.ipdcesgaccess2": {
+ source: "iana"
+ },
+ "application/vnd.dvb.ipdcesgpdd": {
+ source: "iana"
+ },
+ "application/vnd.dvb.ipdcroaming": {
+ source: "iana"
+ },
+ "application/vnd.dvb.iptv.alfec-base": {
+ source: "iana"
+ },
+ "application/vnd.dvb.iptv.alfec-enhancement": {
+ source: "iana"
+ },
+ "application/vnd.dvb.notif-aggregate-root+xml": {
+ source: "iana",
+ compressible: true
+ },
+ "application/vnd.dvb.notif-container+xml": {
+ source: "iana",
+ compressible: true
+ },
+ "application/vnd.dvb.notif-generic+xml": {
+ source: "iana",
+ compressible: true
+ },
+ "application/vnd.dvb.notif-ia-msglist+xml": {
+ source: "iana",
+ compressible: true
+ },
+ "application/vnd.dvb.notif-ia-registration-request+xml": {
+ source: "iana",
+ compressible: true
+ },
+ "application/vnd.dvb.notif-ia-registration-response+xml": {
+ source: "iana",
+ compressible: true
+ },
+ "application/vnd.dvb.notif-init+xml": {
+ source: "iana",
+ compressible: true
+ },
+ "application/vnd.dvb.pfr": {
+ source: "iana"
+ },
+ "application/vnd.dvb.service": {
+ source: "iana",
+ extensions: ["svc"]
+ },
+ "application/vnd.dxr": {
+ source: "iana"
+ },
+ "application/vnd.dynageo": {
+ source: "iana",
+ extensions: ["geo"]
+ },
+ "application/vnd.dzr": {
+ source: "iana"
+ },
+ "application/vnd.easykaraoke.cdgdownload": {
+ source: "iana"
+ },
+ "application/vnd.ecdis-update": {
+ source: "iana"
+ },
+ "application/vnd.ecip.rlp": {
+ source: "iana"
+ },
+ "application/vnd.eclipse.ditto+json": {
+ source: "iana",
+ compressible: true
+ },
+ "application/vnd.ecowin.chart": {
+ source: "iana",
+ extensions: ["mag"]
+ },
+ "application/vnd.ecowin.filerequest": {
+ source: "iana"
+ },
+ "application/vnd.ecowin.fileupdate": {
+ source: "iana"
+ },
+ "application/vnd.ecowin.series": {
+ source: "iana"
+ },
+ "application/vnd.ecowin.seriesrequest": {
+ source: "iana"
+ },
+ "application/vnd.ecowin.seriesupdate": {
+ source: "iana"
+ },
+ "application/vnd.efi.img": {
+ source: "iana"
+ },
+ "application/vnd.efi.iso": {
+ source: "iana"
+ },
+ "application/vnd.emclient.accessrequest+xml": {
+ source: "iana",
+ compressible: true
+ },
+ "application/vnd.enliven": {
+ source: "iana",
+ extensions: ["nml"]
+ },
+ "application/vnd.enphase.envoy": {
+ source: "iana"
+ },
+ "application/vnd.eprints.data+xml": {
+ source: "iana",
+ compressible: true
+ },
+ "application/vnd.epson.esf": {
+ source: "iana",
+ extensions: ["esf"]
+ },
+ "application/vnd.epson.msf": {
+ source: "iana",
+ extensions: ["msf"]
+ },
+ "application/vnd.epson.quickanime": {
+ source: "iana",
+ extensions: ["qam"]
+ },
+ "application/vnd.epson.salt": {
+ source: "iana",
+ extensions: ["slt"]
+ },
+ "application/vnd.epson.ssf": {
+ source: "iana",
+ extensions: ["ssf"]
+ },
+ "application/vnd.ericsson.quickcall": {
+ source: "iana"
+ },
+ "application/vnd.espass-espass+zip": {
+ source: "iana",
+ compressible: false
+ },
+ "application/vnd.eszigno3+xml": {
+ source: "iana",
+ compressible: true,
+ extensions: ["es3", "et3"]
+ },
+ "application/vnd.etsi.aoc+xml": {
+ source: "iana",
+ compressible: true
+ },
+ "application/vnd.etsi.asic-e+zip": {
+ source: "iana",
+ compressible: false
+ },
+ "application/vnd.etsi.asic-s+zip": {
+ source: "iana",
+ compressible: false
+ },
+ "application/vnd.etsi.cug+xml": {
+ source: "iana",
+ compressible: true
+ },
+ "application/vnd.etsi.iptvcommand+xml": {
+ source: "iana",
+ compressible: true
+ },
+ "application/vnd.etsi.iptvdiscovery+xml": {
+ source: "iana",
+ compressible: true
+ },
+ "application/vnd.etsi.iptvprofile+xml": {
+ source: "iana",
+ compressible: true
+ },
+ "application/vnd.etsi.iptvsad-bc+xml": {
+ source: "iana",
+ compressible: true
+ },
+ "application/vnd.etsi.iptvsad-cod+xml": {
+ source: "iana",
+ compressible: true
+ },
+ "application/vnd.etsi.iptvsad-npvr+xml": {
+ source: "iana",
+ compressible: true
+ },
+ "application/vnd.etsi.iptvservice+xml": {
+ source: "iana",
+ compressible: true
+ },
+ "application/vnd.etsi.iptvsync+xml": {
+ source: "iana",
+ compressible: true
+ },
+ "application/vnd.etsi.iptvueprofile+xml": {
+ source: "iana",
+ compressible: true
+ },
+ "application/vnd.etsi.mcid+xml": {
+ source: "iana",
+ compressible: true
+ },
+ "application/vnd.etsi.mheg5": {
+ source: "iana"
+ },
+ "application/vnd.etsi.overload-control-policy-dataset+xml": {
+ source: "iana",
+ compressible: true
+ },
+ "application/vnd.etsi.pstn+xml": {
+ source: "iana",
+ compressible: true
+ },
+ "application/vnd.etsi.sci+xml": {
+ source: "iana",
+ compressible: true
+ },
+ "application/vnd.etsi.simservs+xml": {
+ source: "iana",
+ compressible: true
+ },
+ "application/vnd.etsi.timestamp-token": {
+ source: "iana"
+ },
+ "application/vnd.etsi.tsl+xml": {
+ source: "iana",
+ compressible: true
+ },
+ "application/vnd.etsi.tsl.der": {
+ source: "iana"
+ },
+ "application/vnd.eu.kasparian.car+json": {
+ source: "iana",
+ compressible: true
+ },
+ "application/vnd.eudora.data": {
+ source: "iana"
+ },
+ "application/vnd.evolv.ecig.profile": {
+ source: "iana"
+ },
+ "application/vnd.evolv.ecig.settings": {
+ source: "iana"
+ },
+ "application/vnd.evolv.ecig.theme": {
+ source: "iana"
+ },
+ "application/vnd.exstream-empower+zip": {
+ source: "iana",
+ compressible: false
+ },
+ "application/vnd.exstream-package": {
+ source: "iana"
+ },
+ "application/vnd.ezpix-album": {
+ source: "iana",
+ extensions: ["ez2"]
+ },
+ "application/vnd.ezpix-package": {
+ source: "iana",
+ extensions: ["ez3"]
+ },
+ "application/vnd.f-secure.mobile": {
+ source: "iana"
+ },
+ "application/vnd.familysearch.gedcom+zip": {
+ source: "iana",
+ compressible: false
+ },
+ "application/vnd.fastcopy-disk-image": {
+ source: "iana"
+ },
+ "application/vnd.fdf": {
+ source: "iana",
+ extensions: ["fdf"]
+ },
+ "application/vnd.fdsn.mseed": {
+ source: "iana",
+ extensions: ["mseed"]
+ },
+ "application/vnd.fdsn.seed": {
+ source: "iana",
+ extensions: ["seed", "dataless"]
+ },
+ "application/vnd.ffsns": {
+ source: "iana"
+ },
+ "application/vnd.ficlab.flb+zip": {
+ source: "iana",
+ compressible: false
+ },
+ "application/vnd.filmit.zfc": {
+ source: "iana"
+ },
+ "application/vnd.fints": {
+ source: "iana"
+ },
+ "application/vnd.firemonkeys.cloudcell": {
+ source: "iana"
+ },
+ "application/vnd.flographit": {
+ source: "iana",
+ extensions: ["gph"]
+ },
+ "application/vnd.fluxtime.clip": {
+ source: "iana",
+ extensions: ["ftc"]
+ },
+ "application/vnd.font-fontforge-sfd": {
+ source: "iana"
+ },
+ "application/vnd.framemaker": {
+ source: "iana",
+ extensions: ["fm", "frame", "maker", "book"]
+ },
+ "application/vnd.frogans.fnc": {
+ source: "iana",
+ extensions: ["fnc"]
+ },
+ "application/vnd.frogans.ltf": {
+ source: "iana",
+ extensions: ["ltf"]
+ },
+ "application/vnd.fsc.weblaunch": {
+ source: "iana",
+ extensions: ["fsc"]
+ },
+ "application/vnd.fujifilm.fb.docuworks": {
+ source: "iana"
+ },
+ "application/vnd.fujifilm.fb.docuworks.binder": {
+ source: "iana"
+ },
+ "application/vnd.fujifilm.fb.docuworks.container": {
+ source: "iana"
+ },
+ "application/vnd.fujifilm.fb.jfi+xml": {
+ source: "iana",
+ compressible: true
+ },
+ "application/vnd.fujitsu.oasys": {
+ source: "iana",
+ extensions: ["oas"]
+ },
+ "application/vnd.fujitsu.oasys2": {
+ source: "iana",
+ extensions: ["oa2"]
+ },
+ "application/vnd.fujitsu.oasys3": {
+ source: "iana",
+ extensions: ["oa3"]
+ },
+ "application/vnd.fujitsu.oasysgp": {
+ source: "iana",
+ extensions: ["fg5"]
+ },
+ "application/vnd.fujitsu.oasysprs": {
+ source: "iana",
+ extensions: ["bh2"]
+ },
+ "application/vnd.fujixerox.art-ex": {
+ source: "iana"
+ },
+ "application/vnd.fujixerox.art4": {
+ source: "iana"
+ },
+ "application/vnd.fujixerox.ddd": {
+ source: "iana",
+ extensions: ["ddd"]
+ },
+ "application/vnd.fujixerox.docuworks": {
+ source: "iana",
+ extensions: ["xdw"]
+ },
+ "application/vnd.fujixerox.docuworks.binder": {
+ source: "iana",
+ extensions: ["xbd"]
+ },
+ "application/vnd.fujixerox.docuworks.container": {
+ source: "iana"
+ },
+ "application/vnd.fujixerox.hbpl": {
+ source: "iana"
+ },
+ "application/vnd.fut-misnet": {
+ source: "iana"
+ },
+ "application/vnd.futoin+cbor": {
+ source: "iana"
+ },
+ "application/vnd.futoin+json": {
+ source: "iana",
+ compressible: true
+ },
+ "application/vnd.fuzzysheet": {
+ source: "iana",
+ extensions: ["fzs"]
+ },
+ "application/vnd.genomatix.tuxedo": {
+ source: "iana",
+ extensions: ["txd"]
+ },
+ "application/vnd.gentics.grd+json": {
+ source: "iana",
+ compressible: true
+ },
+ "application/vnd.geo+json": {
+ source: "iana",
+ compressible: true
+ },
+ "application/vnd.geocube+xml": {
+ source: "iana",
+ compressible: true
+ },
+ "application/vnd.geogebra.file": {
+ source: "iana",
+ extensions: ["ggb"]
+ },
+ "application/vnd.geogebra.slides": {
+ source: "iana"
+ },
+ "application/vnd.geogebra.tool": {
+ source: "iana",
+ extensions: ["ggt"]
+ },
+ "application/vnd.geometry-explorer": {
+ source: "iana",
+ extensions: ["gex", "gre"]
+ },
+ "application/vnd.geonext": {
+ source: "iana",
+ extensions: ["gxt"]
+ },
+ "application/vnd.geoplan": {
+ source: "iana",
+ extensions: ["g2w"]
+ },
+ "application/vnd.geospace": {
+ source: "iana",
+ extensions: ["g3w"]
+ },
+ "application/vnd.gerber": {
+ source: "iana"
+ },
+ "application/vnd.globalplatform.card-content-mgt": {
+ source: "iana"
+ },
+ "application/vnd.globalplatform.card-content-mgt-response": {
+ source: "iana"
+ },
+ "application/vnd.gmx": {
+ source: "iana",
+ extensions: ["gmx"]
+ },
+ "application/vnd.google-apps.document": {
+ compressible: false,
+ extensions: ["gdoc"]
+ },
+ "application/vnd.google-apps.presentation": {
+ compressible: false,
+ extensions: ["gslides"]
+ },
+ "application/vnd.google-apps.spreadsheet": {
+ compressible: false,
+ extensions: ["gsheet"]
+ },
+ "application/vnd.google-earth.kml+xml": {
+ source: "iana",
+ compressible: true,
+ extensions: ["kml"]
+ },
+ "application/vnd.google-earth.kmz": {
+ source: "iana",
+ compressible: false,
+ extensions: ["kmz"]
+ },
+ "application/vnd.gov.sk.e-form+xml": {
+ source: "iana",
+ compressible: true
+ },
+ "application/vnd.gov.sk.e-form+zip": {
+ source: "iana",
+ compressible: false
+ },
+ "application/vnd.gov.sk.xmldatacontainer+xml": {
+ source: "iana",
+ compressible: true
+ },
+ "application/vnd.grafeq": {
+ source: "iana",
+ extensions: ["gqf", "gqs"]
+ },
+ "application/vnd.gridmp": {
+ source: "iana"
+ },
+ "application/vnd.groove-account": {
+ source: "iana",
+ extensions: ["gac"]
+ },
+ "application/vnd.groove-help": {
+ source: "iana",
+ extensions: ["ghf"]
+ },
+ "application/vnd.groove-identity-message": {
+ source: "iana",
+ extensions: ["gim"]
+ },
+ "application/vnd.groove-injector": {
+ source: "iana",
+ extensions: ["grv"]
+ },
+ "application/vnd.groove-tool-message": {
+ source: "iana",
+ extensions: ["gtm"]
+ },
+ "application/vnd.groove-tool-template": {
+ source: "iana",
+ extensions: ["tpl"]
+ },
+ "application/vnd.groove-vcard": {
+ source: "iana",
+ extensions: ["vcg"]
+ },
+ "application/vnd.hal+json": {
+ source: "iana",
+ compressible: true
+ },
+ "application/vnd.hal+xml": {
+ source: "iana",
+ compressible: true,
+ extensions: ["hal"]
+ },
+ "application/vnd.handheld-entertainment+xml": {
+ source: "iana",
+ compressible: true,
+ extensions: ["zmm"]
+ },
+ "application/vnd.hbci": {
+ source: "iana",
+ extensions: ["hbci"]
+ },
+ "application/vnd.hc+json": {
+ source: "iana",
+ compressible: true
+ },
+ "application/vnd.hcl-bireports": {
+ source: "iana"
+ },
+ "application/vnd.hdt": {
+ source: "iana"
+ },
+ "application/vnd.heroku+json": {
+ source: "iana",
+ compressible: true
+ },
+ "application/vnd.hhe.lesson-player": {
+ source: "iana",
+ extensions: ["les"]
+ },
+ "application/vnd.hl7cda+xml": {
+ source: "iana",
+ charset: "UTF-8",
+ compressible: true
+ },
+ "application/vnd.hl7v2+xml": {
+ source: "iana",
+ charset: "UTF-8",
+ compressible: true
+ },
+ "application/vnd.hp-hpgl": {
+ source: "iana",
+ extensions: ["hpgl"]
+ },
+ "application/vnd.hp-hpid": {
+ source: "iana",
+ extensions: ["hpid"]
+ },
+ "application/vnd.hp-hps": {
+ source: "iana",
+ extensions: ["hps"]
+ },
+ "application/vnd.hp-jlyt": {
+ source: "iana",
+ extensions: ["jlt"]
+ },
+ "application/vnd.hp-pcl": {
+ source: "iana",
+ extensions: ["pcl"]
+ },
+ "application/vnd.hp-pclxl": {
+ source: "iana",
+ extensions: ["pclxl"]
+ },
+ "application/vnd.httphone": {
+ source: "iana"
+ },
+ "application/vnd.hydrostatix.sof-data": {
+ source: "iana",
+ extensions: ["sfd-hdstx"]
+ },
+ "application/vnd.hyper+json": {
+ source: "iana",
+ compressible: true
+ },
+ "application/vnd.hyper-item+json": {
+ source: "iana",
+ compressible: true
+ },
+ "application/vnd.hyperdrive+json": {
+ source: "iana",
+ compressible: true
+ },
+ "application/vnd.hzn-3d-crossword": {
+ source: "iana"
+ },
+ "application/vnd.ibm.afplinedata": {
+ source: "iana"
+ },
+ "application/vnd.ibm.electronic-media": {
+ source: "iana"
+ },
+ "application/vnd.ibm.minipay": {
+ source: "iana",
+ extensions: ["mpy"]
+ },
+ "application/vnd.ibm.modcap": {
+ source: "iana",
+ extensions: ["afp", "listafp", "list3820"]
+ },
+ "application/vnd.ibm.rights-management": {
+ source: "iana",
+ extensions: ["irm"]
+ },
+ "application/vnd.ibm.secure-container": {
+ source: "iana",
+ extensions: ["sc"]
+ },
+ "application/vnd.iccprofile": {
+ source: "iana",
+ extensions: ["icc", "icm"]
+ },
+ "application/vnd.ieee.1905": {
+ source: "iana"
+ },
+ "application/vnd.igloader": {
+ source: "iana",
+ extensions: ["igl"]
+ },
+ "application/vnd.imagemeter.folder+zip": {
+ source: "iana",
+ compressible: false
+ },
+ "application/vnd.imagemeter.image+zip": {
+ source: "iana",
+ compressible: false
+ },
+ "application/vnd.immervision-ivp": {
+ source: "iana",
+ extensions: ["ivp"]
+ },
+ "application/vnd.immervision-ivu": {
+ source: "iana",
+ extensions: ["ivu"]
+ },
+ "application/vnd.ims.imsccv1p1": {
+ source: "iana"
+ },
+ "application/vnd.ims.imsccv1p2": {
+ source: "iana"
+ },
+ "application/vnd.ims.imsccv1p3": {
+ source: "iana"
+ },
+ "application/vnd.ims.lis.v2.result+json": {
+ source: "iana",
+ compressible: true
+ },
+ "application/vnd.ims.lti.v2.toolconsumerprofile+json": {
+ source: "iana",
+ compressible: true
+ },
+ "application/vnd.ims.lti.v2.toolproxy+json": {
+ source: "iana",
+ compressible: true
+ },
+ "application/vnd.ims.lti.v2.toolproxy.id+json": {
+ source: "iana",
+ compressible: true
+ },
+ "application/vnd.ims.lti.v2.toolsettings+json": {
+ source: "iana",
+ compressible: true
+ },
+ "application/vnd.ims.lti.v2.toolsettings.simple+json": {
+ source: "iana",
+ compressible: true
+ },
+ "application/vnd.informedcontrol.rms+xml": {
+ source: "iana",
+ compressible: true
+ },
+ "application/vnd.informix-visionary": {
+ source: "iana"
+ },
+ "application/vnd.infotech.project": {
+ source: "iana"
+ },
+ "application/vnd.infotech.project+xml": {
+ source: "iana",
+ compressible: true
+ },
+ "application/vnd.innopath.wamp.notification": {
+ source: "iana"
+ },
+ "application/vnd.insors.igm": {
+ source: "iana",
+ extensions: ["igm"]
+ },
+ "application/vnd.intercon.formnet": {
+ source: "iana",
+ extensions: ["xpw", "xpx"]
+ },
+ "application/vnd.intergeo": {
+ source: "iana",
+ extensions: ["i2g"]
+ },
+ "application/vnd.intertrust.digibox": {
+ source: "iana"
+ },
+ "application/vnd.intertrust.nncp": {
+ source: "iana"
+ },
+ "application/vnd.intu.qbo": {
+ source: "iana",
+ extensions: ["qbo"]
+ },
+ "application/vnd.intu.qfx": {
+ source: "iana",
+ extensions: ["qfx"]
+ },
+ "application/vnd.iptc.g2.catalogitem+xml": {
+ source: "iana",
+ compressible: true
+ },
+ "application/vnd.iptc.g2.conceptitem+xml": {
+ source: "iana",
+ compressible: true
+ },
+ "application/vnd.iptc.g2.knowledgeitem+xml": {
+ source: "iana",
+ compressible: true
+ },
+ "application/vnd.iptc.g2.newsitem+xml": {
+ source: "iana",
+ compressible: true
+ },
+ "application/vnd.iptc.g2.newsmessage+xml": {
+ source: "iana",
+ compressible: true
+ },
+ "application/vnd.iptc.g2.packageitem+xml": {
+ source: "iana",
+ compressible: true
+ },
+ "application/vnd.iptc.g2.planningitem+xml": {
+ source: "iana",
+ compressible: true
+ },
+ "application/vnd.ipunplugged.rcprofile": {
+ source: "iana",
+ extensions: ["rcprofile"]
+ },
+ "application/vnd.irepository.package+xml": {
+ source: "iana",
+ compressible: true,
+ extensions: ["irp"]
+ },
+ "application/vnd.is-xpr": {
+ source: "iana",
+ extensions: ["xpr"]
+ },
+ "application/vnd.isac.fcs": {
+ source: "iana",
+ extensions: ["fcs"]
+ },
+ "application/vnd.iso11783-10+zip": {
+ source: "iana",
+ compressible: false
+ },
+ "application/vnd.jam": {
+ source: "iana",
+ extensions: ["jam"]
+ },
+ "application/vnd.japannet-directory-service": {
+ source: "iana"
+ },
+ "application/vnd.japannet-jpnstore-wakeup": {
+ source: "iana"
+ },
+ "application/vnd.japannet-payment-wakeup": {
+ source: "iana"
+ },
+ "application/vnd.japannet-registration": {
+ source: "iana"
+ },
+ "application/vnd.japannet-registration-wakeup": {
+ source: "iana"
+ },
+ "application/vnd.japannet-setstore-wakeup": {
+ source: "iana"
+ },
+ "application/vnd.japannet-verification": {
+ source: "iana"
+ },
+ "application/vnd.japannet-verification-wakeup": {
+ source: "iana"
+ },
+ "application/vnd.jcp.javame.midlet-rms": {
+ source: "iana",
+ extensions: ["rms"]
+ },
+ "application/vnd.jisp": {
+ source: "iana",
+ extensions: ["jisp"]
+ },
+ "application/vnd.joost.joda-archive": {
+ source: "iana",
+ extensions: ["joda"]
+ },
+ "application/vnd.jsk.isdn-ngn": {
+ source: "iana"
+ },
+ "application/vnd.kahootz": {
+ source: "iana",
+ extensions: ["ktz", "ktr"]
+ },
+ "application/vnd.kde.karbon": {
+ source: "iana",
+ extensions: ["karbon"]
+ },
+ "application/vnd.kde.kchart": {
+ source: "iana",
+ extensions: ["chrt"]
+ },
+ "application/vnd.kde.kformula": {
+ source: "iana",
+ extensions: ["kfo"]
+ },
+ "application/vnd.kde.kivio": {
+ source: "iana",
+ extensions: ["flw"]
+ },
+ "application/vnd.kde.kontour": {
+ source: "iana",
+ extensions: ["kon"]
+ },
+ "application/vnd.kde.kpresenter": {
+ source: "iana",
+ extensions: ["kpr", "kpt"]
+ },
+ "application/vnd.kde.kspread": {
+ source: "iana",
+ extensions: ["ksp"]
+ },
+ "application/vnd.kde.kword": {
+ source: "iana",
+ extensions: ["kwd", "kwt"]
+ },
+ "application/vnd.kenameaapp": {
+ source: "iana",
+ extensions: ["htke"]
+ },
+ "application/vnd.kidspiration": {
+ source: "iana",
+ extensions: ["kia"]
+ },
+ "application/vnd.kinar": {
+ source: "iana",
+ extensions: ["kne", "knp"]
+ },
+ "application/vnd.koan": {
+ source: "iana",
+ extensions: ["skp", "skd", "skt", "skm"]
+ },
+ "application/vnd.kodak-descriptor": {
+ source: "iana",
+ extensions: ["sse"]
+ },
+ "application/vnd.las": {
+ source: "iana"
+ },
+ "application/vnd.las.las+json": {
+ source: "iana",
+ compressible: true
+ },
+ "application/vnd.las.las+xml": {
+ source: "iana",
+ compressible: true,
+ extensions: ["lasxml"]
+ },
+ "application/vnd.laszip": {
+ source: "iana"
+ },
+ "application/vnd.leap+json": {
+ source: "iana",
+ compressible: true
+ },
+ "application/vnd.liberty-request+xml": {
+ source: "iana",
+ compressible: true
+ },
+ "application/vnd.llamagraphics.life-balance.desktop": {
+ source: "iana",
+ extensions: ["lbd"]
+ },
+ "application/vnd.llamagraphics.life-balance.exchange+xml": {
+ source: "iana",
+ compressible: true,
+ extensions: ["lbe"]
+ },
+ "application/vnd.logipipe.circuit+zip": {
+ source: "iana",
+ compressible: false
+ },
+ "application/vnd.loom": {
+ source: "iana"
+ },
+ "application/vnd.lotus-1-2-3": {
+ source: "iana",
+ extensions: ["123"]
+ },
+ "application/vnd.lotus-approach": {
+ source: "iana",
+ extensions: ["apr"]
+ },
+ "application/vnd.lotus-freelance": {
+ source: "iana",
+ extensions: ["pre"]
+ },
+ "application/vnd.lotus-notes": {
+ source: "iana",
+ extensions: ["nsf"]
+ },
+ "application/vnd.lotus-organizer": {
+ source: "iana",
+ extensions: ["org"]
+ },
+ "application/vnd.lotus-screencam": {
+ source: "iana",
+ extensions: ["scm"]
+ },
+ "application/vnd.lotus-wordpro": {
+ source: "iana",
+ extensions: ["lwp"]
+ },
+ "application/vnd.macports.portpkg": {
+ source: "iana",
+ extensions: ["portpkg"]
+ },
+ "application/vnd.mapbox-vector-tile": {
+ source: "iana",
+ extensions: ["mvt"]
+ },
+ "application/vnd.marlin.drm.actiontoken+xml": {
+ source: "iana",
+ compressible: true
+ },
+ "application/vnd.marlin.drm.conftoken+xml": {
+ source: "iana",
+ compressible: true
+ },
+ "application/vnd.marlin.drm.license+xml": {
+ source: "iana",
+ compressible: true
+ },
+ "application/vnd.marlin.drm.mdcf": {
+ source: "iana"
+ },
+ "application/vnd.mason+json": {
+ source: "iana",
+ compressible: true
+ },
+ "application/vnd.maxar.archive.3tz+zip": {
+ source: "iana",
+ compressible: false
+ },
+ "application/vnd.maxmind.maxmind-db": {
+ source: "iana"
+ },
+ "application/vnd.mcd": {
+ source: "iana",
+ extensions: ["mcd"]
+ },
+ "application/vnd.medcalcdata": {
+ source: "iana",
+ extensions: ["mc1"]
+ },
+ "application/vnd.mediastation.cdkey": {
+ source: "iana",
+ extensions: ["cdkey"]
+ },
+ "application/vnd.meridian-slingshot": {
+ source: "iana"
+ },
+ "application/vnd.mfer": {
+ source: "iana",
+ extensions: ["mwf"]
+ },
+ "application/vnd.mfmp": {
+ source: "iana",
+ extensions: ["mfm"]
+ },
+ "application/vnd.micro+json": {
+ source: "iana",
+ compressible: true
+ },
+ "application/vnd.micrografx.flo": {
+ source: "iana",
+ extensions: ["flo"]
+ },
+ "application/vnd.micrografx.igx": {
+ source: "iana",
+ extensions: ["igx"]
+ },
+ "application/vnd.microsoft.portable-executable": {
+ source: "iana"
+ },
+ "application/vnd.microsoft.windows.thumbnail-cache": {
+ source: "iana"
+ },
+ "application/vnd.miele+json": {
+ source: "iana",
+ compressible: true
+ },
+ "application/vnd.mif": {
+ source: "iana",
+ extensions: ["mif"]
+ },
+ "application/vnd.minisoft-hp3000-save": {
+ source: "iana"
+ },
+ "application/vnd.mitsubishi.misty-guard.trustweb": {
+ source: "iana"
+ },
+ "application/vnd.mobius.daf": {
+ source: "iana",
+ extensions: ["daf"]
+ },
+ "application/vnd.mobius.dis": {
+ source: "iana",
+ extensions: ["dis"]
+ },
+ "application/vnd.mobius.mbk": {
+ source: "iana",
+ extensions: ["mbk"]
+ },
+ "application/vnd.mobius.mqy": {
+ source: "iana",
+ extensions: ["mqy"]
+ },
+ "application/vnd.mobius.msl": {
+ source: "iana",
+ extensions: ["msl"]
+ },
+ "application/vnd.mobius.plc": {
+ source: "iana",
+ extensions: ["plc"]
+ },
+ "application/vnd.mobius.txf": {
+ source: "iana",
+ extensions: ["txf"]
+ },
+ "application/vnd.mophun.application": {
+ source: "iana",
+ extensions: ["mpn"]
+ },
+ "application/vnd.mophun.certificate": {
+ source: "iana",
+ extensions: ["mpc"]
+ },
+ "application/vnd.motorola.flexsuite": {
+ source: "iana"
+ },
+ "application/vnd.motorola.flexsuite.adsi": {
+ source: "iana"
+ },
+ "application/vnd.motorola.flexsuite.fis": {
+ source: "iana"
+ },
+ "application/vnd.motorola.flexsuite.gotap": {
+ source: "iana"
+ },
+ "application/vnd.motorola.flexsuite.kmr": {
+ source: "iana"
+ },
+ "application/vnd.motorola.flexsuite.ttc": {
+ source: "iana"
+ },
+ "application/vnd.motorola.flexsuite.wem": {
+ source: "iana"
+ },
+ "application/vnd.motorola.iprm": {
+ source: "iana"
+ },
+ "application/vnd.mozilla.xul+xml": {
+ source: "iana",
+ compressible: true,
+ extensions: ["xul"]
+ },
+ "application/vnd.ms-3mfdocument": {
+ source: "iana"
+ },
+ "application/vnd.ms-artgalry": {
+ source: "iana",
+ extensions: ["cil"]
+ },
+ "application/vnd.ms-asf": {
+ source: "iana"
+ },
+ "application/vnd.ms-cab-compressed": {
+ source: "iana",
+ extensions: ["cab"]
+ },
+ "application/vnd.ms-color.iccprofile": {
+ source: "apache"
+ },
+ "application/vnd.ms-excel": {
+ source: "iana",
+ compressible: false,
+ extensions: ["xls", "xlm", "xla", "xlc", "xlt", "xlw"]
+ },
+ "application/vnd.ms-excel.addin.macroenabled.12": {
+ source: "iana",
+ extensions: ["xlam"]
+ },
+ "application/vnd.ms-excel.sheet.binary.macroenabled.12": {
+ source: "iana",
+ extensions: ["xlsb"]
+ },
+ "application/vnd.ms-excel.sheet.macroenabled.12": {
+ source: "iana",
+ extensions: ["xlsm"]
+ },
+ "application/vnd.ms-excel.template.macroenabled.12": {
+ source: "iana",
+ extensions: ["xltm"]
+ },
+ "application/vnd.ms-fontobject": {
+ source: "iana",
+ compressible: true,
+ extensions: ["eot"]
+ },
+ "application/vnd.ms-htmlhelp": {
+ source: "iana",
+ extensions: ["chm"]
+ },
+ "application/vnd.ms-ims": {
+ source: "iana",
+ extensions: ["ims"]
+ },
+ "application/vnd.ms-lrm": {
+ source: "iana",
+ extensions: ["lrm"]
+ },
+ "application/vnd.ms-office.activex+xml": {
+ source: "iana",
+ compressible: true
+ },
+ "application/vnd.ms-officetheme": {
+ source: "iana",
+ extensions: ["thmx"]
+ },
+ "application/vnd.ms-opentype": {
+ source: "apache",
+ compressible: true
+ },
+ "application/vnd.ms-outlook": {
+ compressible: false,
+ extensions: ["msg"]
+ },
+ "application/vnd.ms-package.obfuscated-opentype": {
+ source: "apache"
+ },
+ "application/vnd.ms-pki.seccat": {
+ source: "apache",
+ extensions: ["cat"]
+ },
+ "application/vnd.ms-pki.stl": {
+ source: "apache",
+ extensions: ["stl"]
+ },
+ "application/vnd.ms-playready.initiator+xml": {
+ source: "iana",
+ compressible: true
+ },
+ "application/vnd.ms-powerpoint": {
+ source: "iana",
+ compressible: false,
+ extensions: ["ppt", "pps", "pot"]
+ },
+ "application/vnd.ms-powerpoint.addin.macroenabled.12": {
+ source: "iana",
+ extensions: ["ppam"]
+ },
+ "application/vnd.ms-powerpoint.presentation.macroenabled.12": {
+ source: "iana",
+ extensions: ["pptm"]
+ },
+ "application/vnd.ms-powerpoint.slide.macroenabled.12": {
+ source: "iana",
+ extensions: ["sldm"]
+ },
+ "application/vnd.ms-powerpoint.slideshow.macroenabled.12": {
+ source: "iana",
+ extensions: ["ppsm"]
+ },
+ "application/vnd.ms-powerpoint.template.macroenabled.12": {
+ source: "iana",
+ extensions: ["potm"]
+ },
+ "application/vnd.ms-printdevicecapabilities+xml": {
+ source: "iana",
+ compressible: true
+ },
+ "application/vnd.ms-printing.printticket+xml": {
+ source: "apache",
+ compressible: true
+ },
+ "application/vnd.ms-printschematicket+xml": {
+ source: "iana",
+ compressible: true
+ },
+ "application/vnd.ms-project": {
+ source: "iana",
+ extensions: ["mpp", "mpt"]
+ },
+ "application/vnd.ms-tnef": {
+ source: "iana"
+ },
+ "application/vnd.ms-windows.devicepairing": {
+ source: "iana"
+ },
+ "application/vnd.ms-windows.nwprinting.oob": {
+ source: "iana"
+ },
+ "application/vnd.ms-windows.printerpairing": {
+ source: "iana"
+ },
+ "application/vnd.ms-windows.wsd.oob": {
+ source: "iana"
+ },
+ "application/vnd.ms-wmdrm.lic-chlg-req": {
+ source: "iana"
+ },
+ "application/vnd.ms-wmdrm.lic-resp": {
+ source: "iana"
+ },
+ "application/vnd.ms-wmdrm.meter-chlg-req": {
+ source: "iana"
+ },
+ "application/vnd.ms-wmdrm.meter-resp": {
+ source: "iana"
+ },
+ "application/vnd.ms-word.document.macroenabled.12": {
+ source: "iana",
+ extensions: ["docm"]
+ },
+ "application/vnd.ms-word.template.macroenabled.12": {
+ source: "iana",
+ extensions: ["dotm"]
+ },
+ "application/vnd.ms-works": {
+ source: "iana",
+ extensions: ["wps", "wks", "wcm", "wdb"]
+ },
+ "application/vnd.ms-wpl": {
+ source: "iana",
+ extensions: ["wpl"]
+ },
+ "application/vnd.ms-xpsdocument": {
+ source: "iana",
+ compressible: false,
+ extensions: ["xps"]
+ },
+ "application/vnd.msa-disk-image": {
+ source: "iana"
+ },
+ "application/vnd.mseq": {
+ source: "iana",
+ extensions: ["mseq"]
+ },
+ "application/vnd.msign": {
+ source: "iana"
+ },
+ "application/vnd.multiad.creator": {
+ source: "iana"
+ },
+ "application/vnd.multiad.creator.cif": {
+ source: "iana"
+ },
+ "application/vnd.music-niff": {
+ source: "iana"
+ },
+ "application/vnd.musician": {
+ source: "iana",
+ extensions: ["mus"]
+ },
+ "application/vnd.muvee.style": {
+ source: "iana",
+ extensions: ["msty"]
+ },
+ "application/vnd.mynfc": {
+ source: "iana",
+ extensions: ["taglet"]
+ },
+ "application/vnd.nacamar.ybrid+json": {
+ source: "iana",
+ compressible: true
+ },
+ "application/vnd.ncd.control": {
+ source: "iana"
+ },
+ "application/vnd.ncd.reference": {
+ source: "iana"
+ },
+ "application/vnd.nearst.inv+json": {
+ source: "iana",
+ compressible: true
+ },
+ "application/vnd.nebumind.line": {
+ source: "iana"
+ },
+ "application/vnd.nervana": {
+ source: "iana"
+ },
+ "application/vnd.netfpx": {
+ source: "iana"
+ },
+ "application/vnd.neurolanguage.nlu": {
+ source: "iana",
+ extensions: ["nlu"]
+ },
+ "application/vnd.nimn": {
+ source: "iana"
+ },
+ "application/vnd.nintendo.nitro.rom": {
+ source: "iana"
+ },
+ "application/vnd.nintendo.snes.rom": {
+ source: "iana"
+ },
+ "application/vnd.nitf": {
+ source: "iana",
+ extensions: ["ntf", "nitf"]
+ },
+ "application/vnd.noblenet-directory": {
+ source: "iana",
+ extensions: ["nnd"]
+ },
+ "application/vnd.noblenet-sealer": {
+ source: "iana",
+ extensions: ["nns"]
+ },
+ "application/vnd.noblenet-web": {
+ source: "iana",
+ extensions: ["nnw"]
+ },
+ "application/vnd.nokia.catalogs": {
+ source: "iana"
+ },
+ "application/vnd.nokia.conml+wbxml": {
+ source: "iana"
+ },
+ "application/vnd.nokia.conml+xml": {
+ source: "iana",
+ compressible: true
+ },
+ "application/vnd.nokia.iptv.config+xml": {
+ source: "iana",
+ compressible: true
+ },
+ "application/vnd.nokia.isds-radio-presets": {
+ source: "iana"
+ },
+ "application/vnd.nokia.landmark+wbxml": {
+ source: "iana"
+ },
+ "application/vnd.nokia.landmark+xml": {
+ source: "iana",
+ compressible: true
+ },
+ "application/vnd.nokia.landmarkcollection+xml": {
+ source: "iana",
+ compressible: true
+ },
+ "application/vnd.nokia.n-gage.ac+xml": {
+ source: "iana",
+ compressible: true,
+ extensions: ["ac"]
+ },
+ "application/vnd.nokia.n-gage.data": {
+ source: "iana",
+ extensions: ["ngdat"]
+ },
+ "application/vnd.nokia.n-gage.symbian.install": {
+ source: "iana",
+ extensions: ["n-gage"]
+ },
+ "application/vnd.nokia.ncd": {
+ source: "iana"
+ },
+ "application/vnd.nokia.pcd+wbxml": {
+ source: "iana"
+ },
+ "application/vnd.nokia.pcd+xml": {
+ source: "iana",
+ compressible: true
+ },
+ "application/vnd.nokia.radio-preset": {
+ source: "iana",
+ extensions: ["rpst"]
+ },
+ "application/vnd.nokia.radio-presets": {
+ source: "iana",
+ extensions: ["rpss"]
+ },
+ "application/vnd.novadigm.edm": {
+ source: "iana",
+ extensions: ["edm"]
+ },
+ "application/vnd.novadigm.edx": {
+ source: "iana",
+ extensions: ["edx"]
+ },
+ "application/vnd.novadigm.ext": {
+ source: "iana",
+ extensions: ["ext"]
+ },
+ "application/vnd.ntt-local.content-share": {
+ source: "iana"
+ },
+ "application/vnd.ntt-local.file-transfer": {
+ source: "iana"
+ },
+ "application/vnd.ntt-local.ogw_remote-access": {
+ source: "iana"
+ },
+ "application/vnd.ntt-local.sip-ta_remote": {
+ source: "iana"
+ },
+ "application/vnd.ntt-local.sip-ta_tcp_stream": {
+ source: "iana"
+ },
+ "application/vnd.oasis.opendocument.chart": {
+ source: "iana",
+ extensions: ["odc"]
+ },
+ "application/vnd.oasis.opendocument.chart-template": {
+ source: "iana",
+ extensions: ["otc"]
+ },
+ "application/vnd.oasis.opendocument.database": {
+ source: "iana",
+ extensions: ["odb"]
+ },
+ "application/vnd.oasis.opendocument.formula": {
+ source: "iana",
+ extensions: ["odf"]
+ },
+ "application/vnd.oasis.opendocument.formula-template": {
+ source: "iana",
+ extensions: ["odft"]
+ },
+ "application/vnd.oasis.opendocument.graphics": {
+ source: "iana",
+ compressible: false,
+ extensions: ["odg"]
+ },
+ "application/vnd.oasis.opendocument.graphics-template": {
+ source: "iana",
+ extensions: ["otg"]
+ },
+ "application/vnd.oasis.opendocument.image": {
+ source: "iana",
+ extensions: ["odi"]
+ },
+ "application/vnd.oasis.opendocument.image-template": {
+ source: "iana",
+ extensions: ["oti"]
+ },
+ "application/vnd.oasis.opendocument.presentation": {
+ source: "iana",
+ compressible: false,
+ extensions: ["odp"]
+ },
+ "application/vnd.oasis.opendocument.presentation-template": {
+ source: "iana",
+ extensions: ["otp"]
+ },
+ "application/vnd.oasis.opendocument.spreadsheet": {
+ source: "iana",
+ compressible: false,
+ extensions: ["ods"]
+ },
+ "application/vnd.oasis.opendocument.spreadsheet-template": {
+ source: "iana",
+ extensions: ["ots"]
+ },
+ "application/vnd.oasis.opendocument.text": {
+ source: "iana",
+ compressible: false,
+ extensions: ["odt"]
+ },
+ "application/vnd.oasis.opendocument.text-master": {
+ source: "iana",
+ extensions: ["odm"]
+ },
+ "application/vnd.oasis.opendocument.text-template": {
+ source: "iana",
+ extensions: ["ott"]
+ },
+ "application/vnd.oasis.opendocument.text-web": {
+ source: "iana",
+ extensions: ["oth"]
+ },
+ "application/vnd.obn": {
+ source: "iana"
+ },
+ "application/vnd.ocf+cbor": {
+ source: "iana"
+ },
+ "application/vnd.oci.image.manifest.v1+json": {
+ source: "iana",
+ compressible: true
+ },
+ "application/vnd.oftn.l10n+json": {
+ source: "iana",
+ compressible: true
+ },
+ "application/vnd.oipf.contentaccessdownload+xml": {
+ source: "iana",
+ compressible: true
+ },
+ "application/vnd.oipf.contentaccessstreaming+xml": {
+ source: "iana",
+ compressible: true
+ },
+ "application/vnd.oipf.cspg-hexbinary": {
+ source: "iana"
+ },
+ "application/vnd.oipf.dae.svg+xml": {
+ source: "iana",
+ compressible: true
+ },
+ "application/vnd.oipf.dae.xhtml+xml": {
+ source: "iana",
+ compressible: true
+ },
+ "application/vnd.oipf.mippvcontrolmessage+xml": {
+ source: "iana",
+ compressible: true
+ },
+ "application/vnd.oipf.pae.gem": {
+ source: "iana"
+ },
+ "application/vnd.oipf.spdiscovery+xml": {
+ source: "iana",
+ compressible: true
+ },
+ "application/vnd.oipf.spdlist+xml": {
+ source: "iana",
+ compressible: true
+ },
+ "application/vnd.oipf.ueprofile+xml": {
+ source: "iana",
+ compressible: true
+ },
+ "application/vnd.oipf.userprofile+xml": {
+ source: "iana",
+ compressible: true
+ },
+ "application/vnd.olpc-sugar": {
+ source: "iana",
+ extensions: ["xo"]
+ },
+ "application/vnd.oma-scws-config": {
+ source: "iana"
+ },
+ "application/vnd.oma-scws-http-request": {
+ source: "iana"
+ },
+ "application/vnd.oma-scws-http-response": {
+ source: "iana"
+ },
+ "application/vnd.oma.bcast.associated-procedure-parameter+xml": {
+ source: "iana",
+ compressible: true
+ },
+ "application/vnd.oma.bcast.drm-trigger+xml": {
+ source: "iana",
+ compressible: true
+ },
+ "application/vnd.oma.bcast.imd+xml": {
+ source: "iana",
+ compressible: true
+ },
+ "application/vnd.oma.bcast.ltkm": {
+ source: "iana"
+ },
+ "application/vnd.oma.bcast.notification+xml": {
+ source: "iana",
+ compressible: true
+ },
+ "application/vnd.oma.bcast.provisioningtrigger": {
+ source: "iana"
+ },
+ "application/vnd.oma.bcast.sgboot": {
+ source: "iana"
+ },
+ "application/vnd.oma.bcast.sgdd+xml": {
+ source: "iana",
+ compressible: true
+ },
+ "application/vnd.oma.bcast.sgdu": {
+ source: "iana"
+ },
+ "application/vnd.oma.bcast.simple-symbol-container": {
+ source: "iana"
+ },
+ "application/vnd.oma.bcast.smartcard-trigger+xml": {
+ source: "iana",
+ compressible: true
+ },
+ "application/vnd.oma.bcast.sprov+xml": {
+ source: "iana",
+ compressible: true
+ },
+ "application/vnd.oma.bcast.stkm": {
+ source: "iana"
+ },
+ "application/vnd.oma.cab-address-book+xml": {
+ source: "iana",
+ compressible: true
+ },
+ "application/vnd.oma.cab-feature-handler+xml": {
+ source: "iana",
+ compressible: true
+ },
+ "application/vnd.oma.cab-pcc+xml": {
+ source: "iana",
+ compressible: true
+ },
+ "application/vnd.oma.cab-subs-invite+xml": {
+ source: "iana",
+ compressible: true
+ },
+ "application/vnd.oma.cab-user-prefs+xml": {
+ source: "iana",
+ compressible: true
+ },
+ "application/vnd.oma.dcd": {
+ source: "iana"
+ },
+ "application/vnd.oma.dcdc": {
+ source: "iana"
+ },
+ "application/vnd.oma.dd2+xml": {
+ source: "iana",
+ compressible: true,
+ extensions: ["dd2"]
+ },
+ "application/vnd.oma.drm.risd+xml": {
+ source: "iana",
+ compressible: true
+ },
+ "application/vnd.oma.group-usage-list+xml": {
+ source: "iana",
+ compressible: true
+ },
+ "application/vnd.oma.lwm2m+cbor": {
+ source: "iana"
+ },
+ "application/vnd.oma.lwm2m+json": {
+ source: "iana",
+ compressible: true
+ },
+ "application/vnd.oma.lwm2m+tlv": {
+ source: "iana"
+ },
+ "application/vnd.oma.pal+xml": {
+ source: "iana",
+ compressible: true
+ },
+ "application/vnd.oma.poc.detailed-progress-report+xml": {
+ source: "iana",
+ compressible: true
+ },
+ "application/vnd.oma.poc.final-report+xml": {
+ source: "iana",
+ compressible: true
+ },
+ "application/vnd.oma.poc.groups+xml": {
+ source: "iana",
+ compressible: true
+ },
+ "application/vnd.oma.poc.invocation-descriptor+xml": {
+ source: "iana",
+ compressible: true
+ },
+ "application/vnd.oma.poc.optimized-progress-report+xml": {
+ source: "iana",
+ compressible: true
+ },
+ "application/vnd.oma.push": {
+ source: "iana"
+ },
+ "application/vnd.oma.scidm.messages+xml": {
+ source: "iana",
+ compressible: true
+ },
+ "application/vnd.oma.xcap-directory+xml": {
+ source: "iana",
+ compressible: true
+ },
+ "application/vnd.omads-email+xml": {
+ source: "iana",
+ charset: "UTF-8",
+ compressible: true
+ },
+ "application/vnd.omads-file+xml": {
+ source: "iana",
+ charset: "UTF-8",
+ compressible: true
+ },
+ "application/vnd.omads-folder+xml": {
+ source: "iana",
+ charset: "UTF-8",
+ compressible: true
+ },
+ "application/vnd.omaloc-supl-init": {
+ source: "iana"
+ },
+ "application/vnd.onepager": {
+ source: "iana"
+ },
+ "application/vnd.onepagertamp": {
+ source: "iana"
+ },
+ "application/vnd.onepagertamx": {
+ source: "iana"
+ },
+ "application/vnd.onepagertat": {
+ source: "iana"
+ },
+ "application/vnd.onepagertatp": {
+ source: "iana"
+ },
+ "application/vnd.onepagertatx": {
+ source: "iana"
+ },
+ "application/vnd.openblox.game+xml": {
+ source: "iana",
+ compressible: true,
+ extensions: ["obgx"]
+ },
+ "application/vnd.openblox.game-binary": {
+ source: "iana"
+ },
+ "application/vnd.openeye.oeb": {
+ source: "iana"
+ },
+ "application/vnd.openofficeorg.extension": {
+ source: "apache",
+ extensions: ["oxt"]
+ },
+ "application/vnd.openstreetmap.data+xml": {
+ source: "iana",
+ compressible: true,
+ extensions: ["osm"]
+ },
+ "application/vnd.opentimestamps.ots": {
+ source: "iana"
+ },
+ "application/vnd.openxmlformats-officedocument.custom-properties+xml": {
+ source: "iana",
+ compressible: true
+ },
+ "application/vnd.openxmlformats-officedocument.customxmlproperties+xml": {
+ source: "iana",
+ compressible: true
+ },
+ "application/vnd.openxmlformats-officedocument.drawing+xml": {
+ source: "iana",
+ compressible: true
+ },
+ "application/vnd.openxmlformats-officedocument.drawingml.chart+xml": {
+ source: "iana",
+ compressible: true
+ },
+ "application/vnd.openxmlformats-officedocument.drawingml.chartshapes+xml": {
+ source: "iana",
+ compressible: true
+ },
+ "application/vnd.openxmlformats-officedocument.drawingml.diagramcolors+xml": {
+ source: "iana",
+ compressible: true
+ },
+ "application/vnd.openxmlformats-officedocument.drawingml.diagramdata+xml": {
+ source: "iana",
+ compressible: true
+ },
+ "application/vnd.openxmlformats-officedocument.drawingml.diagramlayout+xml": {
+ source: "iana",
+ compressible: true
+ },
+ "application/vnd.openxmlformats-officedocument.drawingml.diagramstyle+xml": {
+ source: "iana",
+ compressible: true
+ },
+ "application/vnd.openxmlformats-officedocument.extended-properties+xml": {
+ source: "iana",
+ compressible: true
+ },
+ "application/vnd.openxmlformats-officedocument.presentationml.commentauthors+xml": {
+ source: "iana",
+ compressible: true
+ },
+ "application/vnd.openxmlformats-officedocument.presentationml.comments+xml": {
+ source: "iana",
+ compressible: true
+ },
+ "application/vnd.openxmlformats-officedocument.presentationml.handoutmaster+xml": {
+ source: "iana",
+ compressible: true
+ },
+ "application/vnd.openxmlformats-officedocument.presentationml.notesmaster+xml": {
+ source: "iana",
+ compressible: true
+ },
+ "application/vnd.openxmlformats-officedocument.presentationml.notesslide+xml": {
+ source: "iana",
+ compressible: true
+ },
+ "application/vnd.openxmlformats-officedocument.presentationml.presentation": {
+ source: "iana",
+ compressible: false,
+ extensions: ["pptx"]
+ },
+ "application/vnd.openxmlformats-officedocument.presentationml.presentation.main+xml": {
+ source: "iana",
+ compressible: true
+ },
+ "application/vnd.openxmlformats-officedocument.presentationml.presprops+xml": {
+ source: "iana",
+ compressible: true
+ },
+ "application/vnd.openxmlformats-officedocument.presentationml.slide": {
+ source: "iana",
+ extensions: ["sldx"]
+ },
+ "application/vnd.openxmlformats-officedocument.presentationml.slide+xml": {
+ source: "iana",
+ compressible: true
+ },
+ "application/vnd.openxmlformats-officedocument.presentationml.slidelayout+xml": {
+ source: "iana",
+ compressible: true
+ },
+ "application/vnd.openxmlformats-officedocument.presentationml.slidemaster+xml": {
+ source: "iana",
+ compressible: true
+ },
+ "application/vnd.openxmlformats-officedocument.presentationml.slideshow": {
+ source: "iana",
+ extensions: ["ppsx"]
+ },
+ "application/vnd.openxmlformats-officedocument.presentationml.slideshow.main+xml": {
+ source: "iana",
+ compressible: true
+ },
+ "application/vnd.openxmlformats-officedocument.presentationml.slideupdateinfo+xml": {
+ source: "iana",
+ compressible: true
+ },
+ "application/vnd.openxmlformats-officedocument.presentationml.tablestyles+xml": {
+ source: "iana",
+ compressible: true
+ },
+ "application/vnd.openxmlformats-officedocument.presentationml.tags+xml": {
+ source: "iana",
+ compressible: true
+ },
+ "application/vnd.openxmlformats-officedocument.presentationml.template": {
+ source: "iana",
+ extensions: ["potx"]
+ },
+ "application/vnd.openxmlformats-officedocument.presentationml.template.main+xml": {
+ source: "iana",
+ compressible: true
+ },
+ "application/vnd.openxmlformats-officedocument.presentationml.viewprops+xml": {
+ source: "iana",
+ compressible: true
+ },
+ "application/vnd.openxmlformats-officedocument.spreadsheetml.calcchain+xml": {
+ source: "iana",
+ compressible: true
+ },
+ "application/vnd.openxmlformats-officedocument.spreadsheetml.chartsheet+xml": {
+ source: "iana",
+ compressible: true
+ },
+ "application/vnd.openxmlformats-officedocument.spreadsheetml.comments+xml": {
+ source: "iana",
+ compressible: true
+ },
+ "application/vnd.openxmlformats-officedocument.spreadsheetml.connections+xml": {
+ source: "iana",
+ compressible: true
+ },
+ "application/vnd.openxmlformats-officedocument.spreadsheetml.dialogsheet+xml": {
+ source: "iana",
+ compressible: true
+ },
+ "application/vnd.openxmlformats-officedocument.spreadsheetml.externallink+xml": {
+ source: "iana",
+ compressible: true
+ },
+ "application/vnd.openxmlformats-officedocument.spreadsheetml.pivotcachedefinition+xml": {
+ source: "iana",
+ compressible: true
+ },
+ "application/vnd.openxmlformats-officedocument.spreadsheetml.pivotcacherecords+xml": {
+ source: "iana",
+ compressible: true
+ },
+ "application/vnd.openxmlformats-officedocument.spreadsheetml.pivottable+xml": {
+ source: "iana",
+ compressible: true
+ },
+ "application/vnd.openxmlformats-officedocument.spreadsheetml.querytable+xml": {
+ source: "iana",
+ compressible: true
+ },
+ "application/vnd.openxmlformats-officedocument.spreadsheetml.revisionheaders+xml": {
+ source: "iana",
+ compressible: true
+ },
+ "application/vnd.openxmlformats-officedocument.spreadsheetml.revisionlog+xml": {
+ source: "iana",
+ compressible: true
+ },
+ "application/vnd.openxmlformats-officedocument.spreadsheetml.sharedstrings+xml": {
+ source: "iana",
+ compressible: true
+ },
+ "application/vnd.openxmlformats-officedocument.spreadsheetml.sheet": {
+ source: "iana",
+ compressible: false,
+ extensions: ["xlsx"]
+ },
+ "application/vnd.openxmlformats-officedocument.spreadsheetml.sheet.main+xml": {
+ source: "iana",
+ compressible: true
+ },
+ "application/vnd.openxmlformats-officedocument.spreadsheetml.sheetmetadata+xml": {
+ source: "iana",
+ compressible: true
+ },
+ "application/vnd.openxmlformats-officedocument.spreadsheetml.styles+xml": {
+ source: "iana",
+ compressible: true
+ },
+ "application/vnd.openxmlformats-officedocument.spreadsheetml.table+xml": {
+ source: "iana",
+ compressible: true
+ },
+ "application/vnd.openxmlformats-officedocument.spreadsheetml.tablesinglecells+xml": {
+ source: "iana",
+ compressible: true
+ },
+ "application/vnd.openxmlformats-officedocument.spreadsheetml.template": {
+ source: "iana",
+ extensions: ["xltx"]
+ },
+ "application/vnd.openxmlformats-officedocument.spreadsheetml.template.main+xml": {
+ source: "iana",
+ compressible: true
+ },
+ "application/vnd.openxmlformats-officedocument.spreadsheetml.usernames+xml": {
+ source: "iana",
+ compressible: true
+ },
+ "application/vnd.openxmlformats-officedocument.spreadsheetml.volatiledependencies+xml": {
+ source: "iana",
+ compressible: true
+ },
+ "application/vnd.openxmlformats-officedocument.spreadsheetml.worksheet+xml": {
+ source: "iana",
+ compressible: true
+ },
+ "application/vnd.openxmlformats-officedocument.theme+xml": {
+ source: "iana",
+ compressible: true
+ },
+ "application/vnd.openxmlformats-officedocument.themeoverride+xml": {
+ source: "iana",
+ compressible: true
+ },
+ "application/vnd.openxmlformats-officedocument.vmldrawing": {
+ source: "iana"
+ },
+ "application/vnd.openxmlformats-officedocument.wordprocessingml.comments+xml": {
+ source: "iana",
+ compressible: true
+ },
+ "application/vnd.openxmlformats-officedocument.wordprocessingml.document": {
+ source: "iana",
+ compressible: false,
+ extensions: ["docx"]
+ },
+ "application/vnd.openxmlformats-officedocument.wordprocessingml.document.glossary+xml": {
+ source: "iana",
+ compressible: true
+ },
+ "application/vnd.openxmlformats-officedocument.wordprocessingml.document.main+xml": {
+ source: "iana",
+ compressible: true
+ },
+ "application/vnd.openxmlformats-officedocument.wordprocessingml.endnotes+xml": {
+ source: "iana",
+ compressible: true
+ },
+ "application/vnd.openxmlformats-officedocument.wordprocessingml.fonttable+xml": {
+ source: "iana",
+ compressible: true
+ },
+ "application/vnd.openxmlformats-officedocument.wordprocessingml.footer+xml": {
+ source: "iana",
+ compressible: true
+ },
+ "application/vnd.openxmlformats-officedocument.wordprocessingml.footnotes+xml": {
+ source: "iana",
+ compressible: true
+ },
+ "application/vnd.openxmlformats-officedocument.wordprocessingml.numbering+xml": {
+ source: "iana",
+ compressible: true
+ },
+ "application/vnd.openxmlformats-officedocument.wordprocessingml.settings+xml": {
+ source: "iana",
+ compressible: true
+ },
+ "application/vnd.openxmlformats-officedocument.wordprocessingml.styles+xml": {
+ source: "iana",
+ compressible: true
+ },
+ "application/vnd.openxmlformats-officedocument.wordprocessingml.template": {
+ source: "iana",
+ extensions: ["dotx"]
+ },
+ "application/vnd.openxmlformats-officedocument.wordprocessingml.template.main+xml": {
+ source: "iana",
+ compressible: true
+ },
+ "application/vnd.openxmlformats-officedocument.wordprocessingml.websettings+xml": {
+ source: "iana",
+ compressible: true
+ },
+ "application/vnd.openxmlformats-package.core-properties+xml": {
+ source: "iana",
+ compressible: true
+ },
+ "application/vnd.openxmlformats-package.digital-signature-xmlsignature+xml": {
+ source: "iana",
+ compressible: true
+ },
+ "application/vnd.openxmlformats-package.relationships+xml": {
+ source: "iana",
+ compressible: true
+ },
+ "application/vnd.oracle.resource+json": {
+ source: "iana",
+ compressible: true
+ },
+ "application/vnd.orange.indata": {
+ source: "iana"
+ },
+ "application/vnd.osa.netdeploy": {
+ source: "iana"
+ },
+ "application/vnd.osgeo.mapguide.package": {
+ source: "iana",
+ extensions: ["mgp"]
+ },
+ "application/vnd.osgi.bundle": {
+ source: "iana"
+ },
+ "application/vnd.osgi.dp": {
+ source: "iana",
+ extensions: ["dp"]
+ },
+ "application/vnd.osgi.subsystem": {
+ source: "iana",
+ extensions: ["esa"]
+ },
+ "application/vnd.otps.ct-kip+xml": {
+ source: "iana",
+ compressible: true
+ },
+ "application/vnd.oxli.countgraph": {
+ source: "iana"
+ },
+ "application/vnd.pagerduty+json": {
+ source: "iana",
+ compressible: true
+ },
+ "application/vnd.palm": {
+ source: "iana",
+ extensions: ["pdb", "pqa", "oprc"]
+ },
+ "application/vnd.panoply": {
+ source: "iana"
+ },
+ "application/vnd.paos.xml": {
+ source: "iana"
+ },
+ "application/vnd.patentdive": {
+ source: "iana"
+ },
+ "application/vnd.patientecommsdoc": {
+ source: "iana"
+ },
+ "application/vnd.pawaafile": {
+ source: "iana",
+ extensions: ["paw"]
+ },
+ "application/vnd.pcos": {
+ source: "iana"
+ },
+ "application/vnd.pg.format": {
+ source: "iana",
+ extensions: ["str"]
+ },
+ "application/vnd.pg.osasli": {
+ source: "iana",
+ extensions: ["ei6"]
+ },
+ "application/vnd.piaccess.application-licence": {
+ source: "iana"
+ },
+ "application/vnd.picsel": {
+ source: "iana",
+ extensions: ["efif"]
+ },
+ "application/vnd.pmi.widget": {
+ source: "iana",
+ extensions: ["wg"]
+ },
+ "application/vnd.poc.group-advertisement+xml": {
+ source: "iana",
+ compressible: true
+ },
+ "application/vnd.pocketlearn": {
+ source: "iana",
+ extensions: ["plf"]
+ },
+ "application/vnd.powerbuilder6": {
+ source: "iana",
+ extensions: ["pbd"]
+ },
+ "application/vnd.powerbuilder6-s": {
+ source: "iana"
+ },
+ "application/vnd.powerbuilder7": {
+ source: "iana"
+ },
+ "application/vnd.powerbuilder7-s": {
+ source: "iana"
+ },
+ "application/vnd.powerbuilder75": {
+ source: "iana"
+ },
+ "application/vnd.powerbuilder75-s": {
+ source: "iana"
+ },
+ "application/vnd.preminet": {
+ source: "iana"
+ },
+ "application/vnd.previewsystems.box": {
+ source: "iana",
+ extensions: ["box"]
+ },
+ "application/vnd.proteus.magazine": {
+ source: "iana",
+ extensions: ["mgz"]
+ },
+ "application/vnd.psfs": {
+ source: "iana"
+ },
+ "application/vnd.publishare-delta-tree": {
+ source: "iana",
+ extensions: ["qps"]
+ },
+ "application/vnd.pvi.ptid1": {
+ source: "iana",
+ extensions: ["ptid"]
+ },
+ "application/vnd.pwg-multiplexed": {
+ source: "iana"
+ },
+ "application/vnd.pwg-xhtml-print+xml": {
+ source: "iana",
+ compressible: true
+ },
+ "application/vnd.qualcomm.brew-app-res": {
+ source: "iana"
+ },
+ "application/vnd.quarantainenet": {
+ source: "iana"
+ },
+ "application/vnd.quark.quarkxpress": {
+ source: "iana",
+ extensions: ["qxd", "qxt", "qwd", "qwt", "qxl", "qxb"]
+ },
+ "application/vnd.quobject-quoxdocument": {
+ source: "iana"
+ },
+ "application/vnd.radisys.moml+xml": {
+ source: "iana",
+ compressible: true
+ },
+ "application/vnd.radisys.msml+xml": {
+ source: "iana",
+ compressible: true
+ },
+ "application/vnd.radisys.msml-audit+xml": {
+ source: "iana",
+ compressible: true
+ },
+ "application/vnd.radisys.msml-audit-conf+xml": {
+ source: "iana",
+ compressible: true
+ },
+ "application/vnd.radisys.msml-audit-conn+xml": {
+ source: "iana",
+ compressible: true
+ },
+ "application/vnd.radisys.msml-audit-dialog+xml": {
+ source: "iana",
+ compressible: true
+ },
+ "application/vnd.radisys.msml-audit-stream+xml": {
+ source: "iana",
+ compressible: true
+ },
+ "application/vnd.radisys.msml-conf+xml": {
+ source: "iana",
+ compressible: true
+ },
+ "application/vnd.radisys.msml-dialog+xml": {
+ source: "iana",
+ compressible: true
+ },
+ "application/vnd.radisys.msml-dialog-base+xml": {
+ source: "iana",
+ compressible: true
+ },
+ "application/vnd.radisys.msml-dialog-fax-detect+xml": {
+ source: "iana",
+ compressible: true
+ },
+ "application/vnd.radisys.msml-dialog-fax-sendrecv+xml": {
+ source: "iana",
+ compressible: true
+ },
+ "application/vnd.radisys.msml-dialog-group+xml": {
+ source: "iana",
+ compressible: true
+ },
+ "application/vnd.radisys.msml-dialog-speech+xml": {
+ source: "iana",
+ compressible: true
+ },
+ "application/vnd.radisys.msml-dialog-transform+xml": {
+ source: "iana",
+ compressible: true
+ },
+ "application/vnd.rainstor.data": {
+ source: "iana"
+ },
+ "application/vnd.rapid": {
+ source: "iana"
+ },
+ "application/vnd.rar": {
+ source: "iana",
+ extensions: ["rar"]
+ },
+ "application/vnd.realvnc.bed": {
+ source: "iana",
+ extensions: ["bed"]
+ },
+ "application/vnd.recordare.musicxml": {
+ source: "iana",
+ extensions: ["mxl"]
+ },
+ "application/vnd.recordare.musicxml+xml": {
+ source: "iana",
+ compressible: true,
+ extensions: ["musicxml"]
+ },
+ "application/vnd.renlearn.rlprint": {
+ source: "iana"
+ },
+ "application/vnd.resilient.logic": {
+ source: "iana"
+ },
+ "application/vnd.restful+json": {
+ source: "iana",
+ compressible: true
+ },
+ "application/vnd.rig.cryptonote": {
+ source: "iana",
+ extensions: ["cryptonote"]
+ },
+ "application/vnd.rim.cod": {
+ source: "apache",
+ extensions: ["cod"]
+ },
+ "application/vnd.rn-realmedia": {
+ source: "apache",
+ extensions: ["rm"]
+ },
+ "application/vnd.rn-realmedia-vbr": {
+ source: "apache",
+ extensions: ["rmvb"]
+ },
+ "application/vnd.route66.link66+xml": {
+ source: "iana",
+ compressible: true,
+ extensions: ["link66"]
+ },
+ "application/vnd.rs-274x": {
+ source: "iana"
+ },
+ "application/vnd.ruckus.download": {
+ source: "iana"
+ },
+ "application/vnd.s3sms": {
+ source: "iana"
+ },
+ "application/vnd.sailingtracker.track": {
+ source: "iana",
+ extensions: ["st"]
+ },
+ "application/vnd.sar": {
+ source: "iana"
+ },
+ "application/vnd.sbm.cid": {
+ source: "iana"
+ },
+ "application/vnd.sbm.mid2": {
+ source: "iana"
+ },
+ "application/vnd.scribus": {
+ source: "iana"
+ },
+ "application/vnd.sealed.3df": {
+ source: "iana"
+ },
+ "application/vnd.sealed.csf": {
+ source: "iana"
+ },
+ "application/vnd.sealed.doc": {
+ source: "iana"
+ },
+ "application/vnd.sealed.eml": {
+ source: "iana"
+ },
+ "application/vnd.sealed.mht": {
+ source: "iana"
+ },
+ "application/vnd.sealed.net": {
+ source: "iana"
+ },
+ "application/vnd.sealed.ppt": {
+ source: "iana"
+ },
+ "application/vnd.sealed.tiff": {
+ source: "iana"
+ },
+ "application/vnd.sealed.xls": {
+ source: "iana"
+ },
+ "application/vnd.sealedmedia.softseal.html": {
+ source: "iana"
+ },
+ "application/vnd.sealedmedia.softseal.pdf": {
+ source: "iana"
+ },
+ "application/vnd.seemail": {
+ source: "iana",
+ extensions: ["see"]
+ },
+ "application/vnd.seis+json": {
+ source: "iana",
+ compressible: true
+ },
+ "application/vnd.sema": {
+ source: "iana",
+ extensions: ["sema"]
+ },
+ "application/vnd.semd": {
+ source: "iana",
+ extensions: ["semd"]
+ },
+ "application/vnd.semf": {
+ source: "iana",
+ extensions: ["semf"]
+ },
+ "application/vnd.shade-save-file": {
+ source: "iana"
+ },
+ "application/vnd.shana.informed.formdata": {
+ source: "iana",
+ extensions: ["ifm"]
+ },
+ "application/vnd.shana.informed.formtemplate": {
+ source: "iana",
+ extensions: ["itp"]
+ },
+ "application/vnd.shana.informed.interchange": {
+ source: "iana",
+ extensions: ["iif"]
+ },
+ "application/vnd.shana.informed.package": {
+ source: "iana",
+ extensions: ["ipk"]
+ },
+ "application/vnd.shootproof+json": {
+ source: "iana",
+ compressible: true
+ },
+ "application/vnd.shopkick+json": {
+ source: "iana",
+ compressible: true
+ },
+ "application/vnd.shp": {
+ source: "iana"
+ },
+ "application/vnd.shx": {
+ source: "iana"
+ },
+ "application/vnd.sigrok.session": {
+ source: "iana"
+ },
+ "application/vnd.simtech-mindmapper": {
+ source: "iana",
+ extensions: ["twd", "twds"]
+ },
+ "application/vnd.siren+json": {
+ source: "iana",
+ compressible: true
+ },
+ "application/vnd.smaf": {
+ source: "iana",
+ extensions: ["mmf"]
+ },
+ "application/vnd.smart.notebook": {
+ source: "iana"
+ },
+ "application/vnd.smart.teacher": {
+ source: "iana",
+ extensions: ["teacher"]
+ },
+ "application/vnd.snesdev-page-table": {
+ source: "iana"
+ },
+ "application/vnd.software602.filler.form+xml": {
+ source: "iana",
+ compressible: true,
+ extensions: ["fo"]
+ },
+ "application/vnd.software602.filler.form-xml-zip": {
+ source: "iana"
+ },
+ "application/vnd.solent.sdkm+xml": {
+ source: "iana",
+ compressible: true,
+ extensions: ["sdkm", "sdkd"]
+ },
+ "application/vnd.spotfire.dxp": {
+ source: "iana",
+ extensions: ["dxp"]
+ },
+ "application/vnd.spotfire.sfs": {
+ source: "iana",
+ extensions: ["sfs"]
+ },
+ "application/vnd.sqlite3": {
+ source: "iana"
+ },
+ "application/vnd.sss-cod": {
+ source: "iana"
+ },
+ "application/vnd.sss-dtf": {
+ source: "iana"
+ },
+ "application/vnd.sss-ntf": {
+ source: "iana"
+ },
+ "application/vnd.stardivision.calc": {
+ source: "apache",
+ extensions: ["sdc"]
+ },
+ "application/vnd.stardivision.draw": {
+ source: "apache",
+ extensions: ["sda"]
+ },
+ "application/vnd.stardivision.impress": {
+ source: "apache",
+ extensions: ["sdd"]
+ },
+ "application/vnd.stardivision.math": {
+ source: "apache",
+ extensions: ["smf"]
+ },
+ "application/vnd.stardivision.writer": {
+ source: "apache",
+ extensions: ["sdw", "vor"]
+ },
+ "application/vnd.stardivision.writer-global": {
+ source: "apache",
+ extensions: ["sgl"]
+ },
+ "application/vnd.stepmania.package": {
+ source: "iana",
+ extensions: ["smzip"]
+ },
+ "application/vnd.stepmania.stepchart": {
+ source: "iana",
+ extensions: ["sm"]
+ },
+ "application/vnd.street-stream": {
+ source: "iana"
+ },
+ "application/vnd.sun.wadl+xml": {
+ source: "iana",
+ compressible: true,
+ extensions: ["wadl"]
+ },
+ "application/vnd.sun.xml.calc": {
+ source: "apache",
+ extensions: ["sxc"]
+ },
+ "application/vnd.sun.xml.calc.template": {
+ source: "apache",
+ extensions: ["stc"]
+ },
+ "application/vnd.sun.xml.draw": {
+ source: "apache",
+ extensions: ["sxd"]
+ },
+ "application/vnd.sun.xml.draw.template": {
+ source: "apache",
+ extensions: ["std"]
+ },
+ "application/vnd.sun.xml.impress": {
+ source: "apache",
+ extensions: ["sxi"]
+ },
+ "application/vnd.sun.xml.impress.template": {
+ source: "apache",
+ extensions: ["sti"]
+ },
+ "application/vnd.sun.xml.math": {
+ source: "apache",
+ extensions: ["sxm"]
+ },
+ "application/vnd.sun.xml.writer": {
+ source: "apache",
+ extensions: ["sxw"]
+ },
+ "application/vnd.sun.xml.writer.global": {
+ source: "apache",
+ extensions: ["sxg"]
+ },
+ "application/vnd.sun.xml.writer.template": {
+ source: "apache",
+ extensions: ["stw"]
+ },
+ "application/vnd.sus-calendar": {
+ source: "iana",
+ extensions: ["sus", "susp"]
+ },
+ "application/vnd.svd": {
+ source: "iana",
+ extensions: ["svd"]
+ },
+ "application/vnd.swiftview-ics": {
+ source: "iana"
+ },
+ "application/vnd.sycle+xml": {
+ source: "iana",
+ compressible: true
+ },
+ "application/vnd.syft+json": {
+ source: "iana",
+ compressible: true
+ },
+ "application/vnd.symbian.install": {
+ source: "apache",
+ extensions: ["sis", "sisx"]
+ },
+ "application/vnd.syncml+xml": {
+ source: "iana",
+ charset: "UTF-8",
+ compressible: true,
+ extensions: ["xsm"]
+ },
+ "application/vnd.syncml.dm+wbxml": {
+ source: "iana",
+ charset: "UTF-8",
+ extensions: ["bdm"]
+ },
+ "application/vnd.syncml.dm+xml": {
+ source: "iana",
+ charset: "UTF-8",
+ compressible: true,
+ extensions: ["xdm"]
+ },
+ "application/vnd.syncml.dm.notification": {
+ source: "iana"
+ },
+ "application/vnd.syncml.dmddf+wbxml": {
+ source: "iana"
+ },
+ "application/vnd.syncml.dmddf+xml": {
+ source: "iana",
+ charset: "UTF-8",
+ compressible: true,
+ extensions: ["ddf"]
+ },
+ "application/vnd.syncml.dmtnds+wbxml": {
+ source: "iana"
+ },
+ "application/vnd.syncml.dmtnds+xml": {
+ source: "iana",
+ charset: "UTF-8",
+ compressible: true
+ },
+ "application/vnd.syncml.ds.notification": {
+ source: "iana"
+ },
+ "application/vnd.tableschema+json": {
+ source: "iana",
+ compressible: true
+ },
+ "application/vnd.tao.intent-module-archive": {
+ source: "iana",
+ extensions: ["tao"]
+ },
+ "application/vnd.tcpdump.pcap": {
+ source: "iana",
+ extensions: ["pcap", "cap", "dmp"]
+ },
+ "application/vnd.think-cell.ppttc+json": {
+ source: "iana",
+ compressible: true
+ },
+ "application/vnd.tmd.mediaflex.api+xml": {
+ source: "iana",
+ compressible: true
+ },
+ "application/vnd.tml": {
+ source: "iana"
+ },
+ "application/vnd.tmobile-livetv": {
+ source: "iana",
+ extensions: ["tmo"]
+ },
+ "application/vnd.tri.onesource": {
+ source: "iana"
+ },
+ "application/vnd.trid.tpt": {
+ source: "iana",
+ extensions: ["tpt"]
+ },
+ "application/vnd.triscape.mxs": {
+ source: "iana",
+ extensions: ["mxs"]
+ },
+ "application/vnd.trueapp": {
+ source: "iana",
+ extensions: ["tra"]
+ },
+ "application/vnd.truedoc": {
+ source: "iana"
+ },
+ "application/vnd.ubisoft.webplayer": {
+ source: "iana"
+ },
+ "application/vnd.ufdl": {
+ source: "iana",
+ extensions: ["ufd", "ufdl"]
+ },
+ "application/vnd.uiq.theme": {
+ source: "iana",
+ extensions: ["utz"]
+ },
+ "application/vnd.umajin": {
+ source: "iana",
+ extensions: ["umj"]
+ },
+ "application/vnd.unity": {
+ source: "iana",
+ extensions: ["unityweb"]
+ },
+ "application/vnd.uoml+xml": {
+ source: "iana",
+ compressible: true,
+ extensions: ["uoml"]
+ },
+ "application/vnd.uplanet.alert": {
+ source: "iana"
+ },
+ "application/vnd.uplanet.alert-wbxml": {
+ source: "iana"
+ },
+ "application/vnd.uplanet.bearer-choice": {
+ source: "iana"
+ },
+ "application/vnd.uplanet.bearer-choice-wbxml": {
+ source: "iana"
+ },
+ "application/vnd.uplanet.cacheop": {
+ source: "iana"
+ },
+ "application/vnd.uplanet.cacheop-wbxml": {
+ source: "iana"
+ },
+ "application/vnd.uplanet.channel": {
+ source: "iana"
+ },
+ "application/vnd.uplanet.channel-wbxml": {
+ source: "iana"
+ },
+ "application/vnd.uplanet.list": {
+ source: "iana"
+ },
+ "application/vnd.uplanet.list-wbxml": {
+ source: "iana"
+ },
+ "application/vnd.uplanet.listcmd": {
+ source: "iana"
+ },
+ "application/vnd.uplanet.listcmd-wbxml": {
+ source: "iana"
+ },
+ "application/vnd.uplanet.signal": {
+ source: "iana"
+ },
+ "application/vnd.uri-map": {
+ source: "iana"
+ },
+ "application/vnd.valve.source.material": {
+ source: "iana"
+ },
+ "application/vnd.vcx": {
+ source: "iana",
+ extensions: ["vcx"]
+ },
+ "application/vnd.vd-study": {
+ source: "iana"
+ },
+ "application/vnd.vectorworks": {
+ source: "iana"
+ },
+ "application/vnd.vel+json": {
+ source: "iana",
+ compressible: true
+ },
+ "application/vnd.verimatrix.vcas": {
+ source: "iana"
+ },
+ "application/vnd.veritone.aion+json": {
+ source: "iana",
+ compressible: true
+ },
+ "application/vnd.veryant.thin": {
+ source: "iana"
+ },
+ "application/vnd.ves.encrypted": {
+ source: "iana"
+ },
+ "application/vnd.vidsoft.vidconference": {
+ source: "iana"
+ },
+ "application/vnd.visio": {
+ source: "iana",
+ extensions: ["vsd", "vst", "vss", "vsw"]
+ },
+ "application/vnd.visionary": {
+ source: "iana",
+ extensions: ["vis"]
+ },
+ "application/vnd.vividence.scriptfile": {
+ source: "iana"
+ },
+ "application/vnd.vsf": {
+ source: "iana",
+ extensions: ["vsf"]
+ },
+ "application/vnd.wap.sic": {
+ source: "iana"
+ },
+ "application/vnd.wap.slc": {
+ source: "iana"
+ },
+ "application/vnd.wap.wbxml": {
+ source: "iana",
+ charset: "UTF-8",
+ extensions: ["wbxml"]
+ },
+ "application/vnd.wap.wmlc": {
+ source: "iana",
+ extensions: ["wmlc"]
+ },
+ "application/vnd.wap.wmlscriptc": {
+ source: "iana",
+ extensions: ["wmlsc"]
+ },
+ "application/vnd.webturbo": {
+ source: "iana",
+ extensions: ["wtb"]
+ },
+ "application/vnd.wfa.dpp": {
+ source: "iana"
+ },
+ "application/vnd.wfa.p2p": {
+ source: "iana"
+ },
+ "application/vnd.wfa.wsc": {
+ source: "iana"
+ },
+ "application/vnd.windows.devicepairing": {
+ source: "iana"
+ },
+ "application/vnd.wmc": {
+ source: "iana"
+ },
+ "application/vnd.wmf.bootstrap": {
+ source: "iana"
+ },
+ "application/vnd.wolfram.mathematica": {
+ source: "iana"
+ },
+ "application/vnd.wolfram.mathematica.package": {
+ source: "iana"
+ },
+ "application/vnd.wolfram.player": {
+ source: "iana",
+ extensions: ["nbp"]
+ },
+ "application/vnd.wordperfect": {
+ source: "iana",
+ extensions: ["wpd"]
+ },
+ "application/vnd.wqd": {
+ source: "iana",
+ extensions: ["wqd"]
+ },
+ "application/vnd.wrq-hp3000-labelled": {
+ source: "iana"
+ },
+ "application/vnd.wt.stf": {
+ source: "iana",
+ extensions: ["stf"]
+ },
+ "application/vnd.wv.csp+wbxml": {
+ source: "iana"
+ },
+ "application/vnd.wv.csp+xml": {
+ source: "iana",
+ compressible: true
+ },
+ "application/vnd.wv.ssp+xml": {
+ source: "iana",
+ compressible: true
+ },
+ "application/vnd.xacml+json": {
+ source: "iana",
+ compressible: true
+ },
+ "application/vnd.xara": {
+ source: "iana",
+ extensions: ["xar"]
+ },
+ "application/vnd.xfdl": {
+ source: "iana",
+ extensions: ["xfdl"]
+ },
+ "application/vnd.xfdl.webform": {
+ source: "iana"
+ },
+ "application/vnd.xmi+xml": {
+ source: "iana",
+ compressible: true
+ },
+ "application/vnd.xmpie.cpkg": {
+ source: "iana"
+ },
+ "application/vnd.xmpie.dpkg": {
+ source: "iana"
+ },
+ "application/vnd.xmpie.plan": {
+ source: "iana"
+ },
+ "application/vnd.xmpie.ppkg": {
+ source: "iana"
+ },
+ "application/vnd.xmpie.xlim": {
+ source: "iana"
+ },
+ "application/vnd.yamaha.hv-dic": {
+ source: "iana",
+ extensions: ["hvd"]
+ },
+ "application/vnd.yamaha.hv-script": {
+ source: "iana",
+ extensions: ["hvs"]
+ },
+ "application/vnd.yamaha.hv-voice": {
+ source: "iana",
+ extensions: ["hvp"]
+ },
+ "application/vnd.yamaha.openscoreformat": {
+ source: "iana",
+ extensions: ["osf"]
+ },
+ "application/vnd.yamaha.openscoreformat.osfpvg+xml": {
+ source: "iana",
+ compressible: true,
+ extensions: ["osfpvg"]
+ },
+ "application/vnd.yamaha.remote-setup": {
+ source: "iana"
+ },
+ "application/vnd.yamaha.smaf-audio": {
+ source: "iana",
+ extensions: ["saf"]
+ },
+ "application/vnd.yamaha.smaf-phrase": {
+ source: "iana",
+ extensions: ["spf"]
+ },
+ "application/vnd.yamaha.through-ngn": {
+ source: "iana"
+ },
+ "application/vnd.yamaha.tunnel-udpencap": {
+ source: "iana"
+ },
+ "application/vnd.yaoweme": {
+ source: "iana"
+ },
+ "application/vnd.yellowriver-custom-menu": {
+ source: "iana",
+ extensions: ["cmp"]
+ },
+ "application/vnd.youtube.yt": {
+ source: "iana"
+ },
+ "application/vnd.zul": {
+ source: "iana",
+ extensions: ["zir", "zirz"]
+ },
+ "application/vnd.zzazz.deck+xml": {
+ source: "iana",
+ compressible: true,
+ extensions: ["zaz"]
+ },
+ "application/voicexml+xml": {
+ source: "iana",
+ compressible: true,
+ extensions: ["vxml"]
+ },
+ "application/voucher-cms+json": {
+ source: "iana",
+ compressible: true
+ },
+ "application/vq-rtcpxr": {
+ source: "iana"
+ },
+ "application/wasm": {
+ source: "iana",
+ compressible: true,
+ extensions: ["wasm"]
+ },
+ "application/watcherinfo+xml": {
+ source: "iana",
+ compressible: true,
+ extensions: ["wif"]
+ },
+ "application/webpush-options+json": {
+ source: "iana",
+ compressible: true
+ },
+ "application/whoispp-query": {
+ source: "iana"
+ },
+ "application/whoispp-response": {
+ source: "iana"
+ },
+ "application/widget": {
+ source: "iana",
+ extensions: ["wgt"]
+ },
+ "application/winhlp": {
+ source: "apache",
+ extensions: ["hlp"]
+ },
+ "application/wita": {
+ source: "iana"
+ },
+ "application/wordperfect5.1": {
+ source: "iana"
+ },
+ "application/wsdl+xml": {
+ source: "iana",
+ compressible: true,
+ extensions: ["wsdl"]
+ },
+ "application/wspolicy+xml": {
+ source: "iana",
+ compressible: true,
+ extensions: ["wspolicy"]
+ },
+ "application/x-7z-compressed": {
+ source: "apache",
+ compressible: false,
+ extensions: ["7z"]
+ },
+ "application/x-abiword": {
+ source: "apache",
+ extensions: ["abw"]
+ },
+ "application/x-ace-compressed": {
+ source: "apache",
+ extensions: ["ace"]
+ },
+ "application/x-amf": {
+ source: "apache"
+ },
+ "application/x-apple-diskimage": {
+ source: "apache",
+ extensions: ["dmg"]
+ },
+ "application/x-arj": {
+ compressible: false,
+ extensions: ["arj"]
+ },
+ "application/x-authorware-bin": {
+ source: "apache",
+ extensions: ["aab", "x32", "u32", "vox"]
+ },
+ "application/x-authorware-map": {
+ source: "apache",
+ extensions: ["aam"]
+ },
+ "application/x-authorware-seg": {
+ source: "apache",
+ extensions: ["aas"]
+ },
+ "application/x-bcpio": {
+ source: "apache",
+ extensions: ["bcpio"]
+ },
+ "application/x-bdoc": {
+ compressible: false,
+ extensions: ["bdoc"]
+ },
+ "application/x-bittorrent": {
+ source: "apache",
+ extensions: ["torrent"]
+ },
+ "application/x-blorb": {
+ source: "apache",
+ extensions: ["blb", "blorb"]
+ },
+ "application/x-bzip": {
+ source: "apache",
+ compressible: false,
+ extensions: ["bz"]
+ },
+ "application/x-bzip2": {
+ source: "apache",
+ compressible: false,
+ extensions: ["bz2", "boz"]
+ },
+ "application/x-cbr": {
+ source: "apache",
+ extensions: ["cbr", "cba", "cbt", "cbz", "cb7"]
+ },
+ "application/x-cdlink": {
+ source: "apache",
+ extensions: ["vcd"]
+ },
+ "application/x-cfs-compressed": {
+ source: "apache",
+ extensions: ["cfs"]
+ },
+ "application/x-chat": {
+ source: "apache",
+ extensions: ["chat"]
+ },
+ "application/x-chess-pgn": {
+ source: "apache",
+ extensions: ["pgn"]
+ },
+ "application/x-chrome-extension": {
+ extensions: ["crx"]
+ },
+ "application/x-cocoa": {
+ source: "nginx",
+ extensions: ["cco"]
+ },
+ "application/x-compress": {
+ source: "apache"
+ },
+ "application/x-conference": {
+ source: "apache",
+ extensions: ["nsc"]
+ },
+ "application/x-cpio": {
+ source: "apache",
+ extensions: ["cpio"]
+ },
+ "application/x-csh": {
+ source: "apache",
+ extensions: ["csh"]
+ },
+ "application/x-deb": {
+ compressible: false
+ },
+ "application/x-debian-package": {
+ source: "apache",
+ extensions: ["deb", "udeb"]
+ },
+ "application/x-dgc-compressed": {
+ source: "apache",
+ extensions: ["dgc"]
+ },
+ "application/x-director": {
+ source: "apache",
+ extensions: ["dir", "dcr", "dxr", "cst", "cct", "cxt", "w3d", "fgd", "swa"]
+ },
+ "application/x-doom": {
+ source: "apache",
+ extensions: ["wad"]
+ },
+ "application/x-dtbncx+xml": {
+ source: "apache",
+ compressible: true,
+ extensions: ["ncx"]
+ },
+ "application/x-dtbook+xml": {
+ source: "apache",
+ compressible: true,
+ extensions: ["dtb"]
+ },
+ "application/x-dtbresource+xml": {
+ source: "apache",
+ compressible: true,
+ extensions: ["res"]
+ },
+ "application/x-dvi": {
+ source: "apache",
+ compressible: false,
+ extensions: ["dvi"]
+ },
+ "application/x-envoy": {
+ source: "apache",
+ extensions: ["evy"]
+ },
+ "application/x-eva": {
+ source: "apache",
+ extensions: ["eva"]
+ },
+ "application/x-font-bdf": {
+ source: "apache",
+ extensions: ["bdf"]
+ },
+ "application/x-font-dos": {
+ source: "apache"
+ },
+ "application/x-font-framemaker": {
+ source: "apache"
+ },
+ "application/x-font-ghostscript": {
+ source: "apache",
+ extensions: ["gsf"]
+ },
+ "application/x-font-libgrx": {
+ source: "apache"
+ },
+ "application/x-font-linux-psf": {
+ source: "apache",
+ extensions: ["psf"]
+ },
+ "application/x-font-pcf": {
+ source: "apache",
+ extensions: ["pcf"]
+ },
+ "application/x-font-snf": {
+ source: "apache",
+ extensions: ["snf"]
+ },
+ "application/x-font-speedo": {
+ source: "apache"
+ },
+ "application/x-font-sunos-news": {
+ source: "apache"
+ },
+ "application/x-font-type1": {
+ source: "apache",
+ extensions: ["pfa", "pfb", "pfm", "afm"]
+ },
+ "application/x-font-vfont": {
+ source: "apache"
+ },
+ "application/x-freearc": {
+ source: "apache",
+ extensions: ["arc"]
+ },
+ "application/x-futuresplash": {
+ source: "apache",
+ extensions: ["spl"]
+ },
+ "application/x-gca-compressed": {
+ source: "apache",
+ extensions: ["gca"]
+ },
+ "application/x-glulx": {
+ source: "apache",
+ extensions: ["ulx"]
+ },
+ "application/x-gnumeric": {
+ source: "apache",
+ extensions: ["gnumeric"]
+ },
+ "application/x-gramps-xml": {
+ source: "apache",
+ extensions: ["gramps"]
+ },
+ "application/x-gtar": {
+ source: "apache",
+ extensions: ["gtar"]
+ },
+ "application/x-gzip": {
+ source: "apache"
+ },
+ "application/x-hdf": {
+ source: "apache",
+ extensions: ["hdf"]
+ },
+ "application/x-httpd-php": {
+ compressible: true,
+ extensions: ["php"]
+ },
+ "application/x-install-instructions": {
+ source: "apache",
+ extensions: ["install"]
+ },
+ "application/x-iso9660-image": {
+ source: "apache",
+ extensions: ["iso"]
+ },
+ "application/x-iwork-keynote-sffkey": {
+ extensions: ["key"]
+ },
+ "application/x-iwork-numbers-sffnumbers": {
+ extensions: ["numbers"]
+ },
+ "application/x-iwork-pages-sffpages": {
+ extensions: ["pages"]
+ },
+ "application/x-java-archive-diff": {
+ source: "nginx",
+ extensions: ["jardiff"]
+ },
+ "application/x-java-jnlp-file": {
+ source: "apache",
+ compressible: false,
+ extensions: ["jnlp"]
+ },
+ "application/x-javascript": {
+ compressible: true
+ },
+ "application/x-keepass2": {
+ extensions: ["kdbx"]
+ },
+ "application/x-latex": {
+ source: "apache",
+ compressible: false,
+ extensions: ["latex"]
+ },
+ "application/x-lua-bytecode": {
+ extensions: ["luac"]
+ },
+ "application/x-lzh-compressed": {
+ source: "apache",
+ extensions: ["lzh", "lha"]
+ },
+ "application/x-makeself": {
+ source: "nginx",
+ extensions: ["run"]
+ },
+ "application/x-mie": {
+ source: "apache",
+ extensions: ["mie"]
+ },
+ "application/x-mobipocket-ebook": {
+ source: "apache",
+ extensions: ["prc", "mobi"]
+ },
+ "application/x-mpegurl": {
+ compressible: false
+ },
+ "application/x-ms-application": {
+ source: "apache",
+ extensions: ["application"]
+ },
+ "application/x-ms-shortcut": {
+ source: "apache",
+ extensions: ["lnk"]
+ },
+ "application/x-ms-wmd": {
+ source: "apache",
+ extensions: ["wmd"]
+ },
+ "application/x-ms-wmz": {
+ source: "apache",
+ extensions: ["wmz"]
+ },
+ "application/x-ms-xbap": {
+ source: "apache",
+ extensions: ["xbap"]
+ },
+ "application/x-msaccess": {
+ source: "apache",
+ extensions: ["mdb"]
+ },
+ "application/x-msbinder": {
+ source: "apache",
+ extensions: ["obd"]
+ },
+ "application/x-mscardfile": {
+ source: "apache",
+ extensions: ["crd"]
+ },
+ "application/x-msclip": {
+ source: "apache",
+ extensions: ["clp"]
+ },
+ "application/x-msdos-program": {
+ extensions: ["exe"]
+ },
+ "application/x-msdownload": {
+ source: "apache",
+ extensions: ["exe", "dll", "com", "bat", "msi"]
+ },
+ "application/x-msmediaview": {
+ source: "apache",
+ extensions: ["mvb", "m13", "m14"]
+ },
+ "application/x-msmetafile": {
+ source: "apache",
+ extensions: ["wmf", "wmz", "emf", "emz"]
+ },
+ "application/x-msmoney": {
+ source: "apache",
+ extensions: ["mny"]
+ },
+ "application/x-mspublisher": {
+ source: "apache",
+ extensions: ["pub"]
+ },
+ "application/x-msschedule": {
+ source: "apache",
+ extensions: ["scd"]
+ },
+ "application/x-msterminal": {
+ source: "apache",
+ extensions: ["trm"]
+ },
+ "application/x-mswrite": {
+ source: "apache",
+ extensions: ["wri"]
+ },
+ "application/x-netcdf": {
+ source: "apache",
+ extensions: ["nc", "cdf"]
+ },
+ "application/x-ns-proxy-autoconfig": {
+ compressible: true,
+ extensions: ["pac"]
+ },
+ "application/x-nzb": {
+ source: "apache",
+ extensions: ["nzb"]
+ },
+ "application/x-perl": {
+ source: "nginx",
+ extensions: ["pl", "pm"]
+ },
+ "application/x-pilot": {
+ source: "nginx",
+ extensions: ["prc", "pdb"]
+ },
+ "application/x-pkcs12": {
+ source: "apache",
+ compressible: false,
+ extensions: ["p12", "pfx"]
+ },
+ "application/x-pkcs7-certificates": {
+ source: "apache",
+ extensions: ["p7b", "spc"]
+ },
+ "application/x-pkcs7-certreqresp": {
+ source: "apache",
+ extensions: ["p7r"]
+ },
+ "application/x-pki-message": {
+ source: "iana"
+ },
+ "application/x-rar-compressed": {
+ source: "apache",
+ compressible: false,
+ extensions: ["rar"]
+ },
+ "application/x-redhat-package-manager": {
+ source: "nginx",
+ extensions: ["rpm"]
+ },
+ "application/x-research-info-systems": {
+ source: "apache",
+ extensions: ["ris"]
+ },
+ "application/x-sea": {
+ source: "nginx",
+ extensions: ["sea"]
+ },
+ "application/x-sh": {
+ source: "apache",
+ compressible: true,
+ extensions: ["sh"]
+ },
+ "application/x-shar": {
+ source: "apache",
+ extensions: ["shar"]
+ },
+ "application/x-shockwave-flash": {
+ source: "apache",
+ compressible: false,
+ extensions: ["swf"]
+ },
+ "application/x-silverlight-app": {
+ source: "apache",
+ extensions: ["xap"]
+ },
+ "application/x-sql": {
+ source: "apache",
+ extensions: ["sql"]
+ },
+ "application/x-stuffit": {
+ source: "apache",
+ compressible: false,
+ extensions: ["sit"]
+ },
+ "application/x-stuffitx": {
+ source: "apache",
+ extensions: ["sitx"]
+ },
+ "application/x-subrip": {
+ source: "apache",
+ extensions: ["srt"]
+ },
+ "application/x-sv4cpio": {
+ source: "apache",
+ extensions: ["sv4cpio"]
+ },
+ "application/x-sv4crc": {
+ source: "apache",
+ extensions: ["sv4crc"]
+ },
+ "application/x-t3vm-image": {
+ source: "apache",
+ extensions: ["t3"]
+ },
+ "application/x-tads": {
+ source: "apache",
+ extensions: ["gam"]
+ },
+ "application/x-tar": {
+ source: "apache",
+ compressible: true,
+ extensions: ["tar"]
+ },
+ "application/x-tcl": {
+ source: "apache",
+ extensions: ["tcl", "tk"]
+ },
+ "application/x-tex": {
+ source: "apache",
+ extensions: ["tex"]
+ },
+ "application/x-tex-tfm": {
+ source: "apache",
+ extensions: ["tfm"]
+ },
+ "application/x-texinfo": {
+ source: "apache",
+ extensions: ["texinfo", "texi"]
+ },
+ "application/x-tgif": {
+ source: "apache",
+ extensions: ["obj"]
+ },
+ "application/x-ustar": {
+ source: "apache",
+ extensions: ["ustar"]
+ },
+ "application/x-virtualbox-hdd": {
+ compressible: true,
+ extensions: ["hdd"]
+ },
+ "application/x-virtualbox-ova": {
+ compressible: true,
+ extensions: ["ova"]
+ },
+ "application/x-virtualbox-ovf": {
+ compressible: true,
+ extensions: ["ovf"]
+ },
+ "application/x-virtualbox-vbox": {
+ compressible: true,
+ extensions: ["vbox"]
+ },
+ "application/x-virtualbox-vbox-extpack": {
+ compressible: false,
+ extensions: ["vbox-extpack"]
+ },
+ "application/x-virtualbox-vdi": {
+ compressible: true,
+ extensions: ["vdi"]
+ },
+ "application/x-virtualbox-vhd": {
+ compressible: true,
+ extensions: ["vhd"]
+ },
+ "application/x-virtualbox-vmdk": {
+ compressible: true,
+ extensions: ["vmdk"]
+ },
+ "application/x-wais-source": {
+ source: "apache",
+ extensions: ["src"]
+ },
+ "application/x-web-app-manifest+json": {
+ compressible: true,
+ extensions: ["webapp"]
+ },
+ "application/x-www-form-urlencoded": {
+ source: "iana",
+ compressible: true
+ },
+ "application/x-x509-ca-cert": {
+ source: "iana",
+ extensions: ["der", "crt", "pem"]
+ },
+ "application/x-x509-ca-ra-cert": {
+ source: "iana"
+ },
+ "application/x-x509-next-ca-cert": {
+ source: "iana"
+ },
+ "application/x-xfig": {
+ source: "apache",
+ extensions: ["fig"]
+ },
+ "application/x-xliff+xml": {
+ source: "apache",
+ compressible: true,
+ extensions: ["xlf"]
+ },
+ "application/x-xpinstall": {
+ source: "apache",
+ compressible: false,
+ extensions: ["xpi"]
+ },
+ "application/x-xz": {
+ source: "apache",
+ extensions: ["xz"]
+ },
+ "application/x-zmachine": {
+ source: "apache",
+ extensions: ["z1", "z2", "z3", "z4", "z5", "z6", "z7", "z8"]
+ },
+ "application/x400-bp": {
+ source: "iana"
+ },
+ "application/xacml+xml": {
+ source: "iana",
+ compressible: true
+ },
+ "application/xaml+xml": {
+ source: "apache",
+ compressible: true,
+ extensions: ["xaml"]
+ },
+ "application/xcap-att+xml": {
+ source: "iana",
+ compressible: true,
+ extensions: ["xav"]
+ },
+ "application/xcap-caps+xml": {
+ source: "iana",
+ compressible: true,
+ extensions: ["xca"]
+ },
+ "application/xcap-diff+xml": {
+ source: "iana",
+ compressible: true,
+ extensions: ["xdf"]
+ },
+ "application/xcap-el+xml": {
+ source: "iana",
+ compressible: true,
+ extensions: ["xel"]
+ },
+ "application/xcap-error+xml": {
+ source: "iana",
+ compressible: true
+ },
+ "application/xcap-ns+xml": {
+ source: "iana",
+ compressible: true,
+ extensions: ["xns"]
+ },
+ "application/xcon-conference-info+xml": {
+ source: "iana",
+ compressible: true
+ },
+ "application/xcon-conference-info-diff+xml": {
+ source: "iana",
+ compressible: true
+ },
+ "application/xenc+xml": {
+ source: "iana",
+ compressible: true,
+ extensions: ["xenc"]
+ },
+ "application/xhtml+xml": {
+ source: "iana",
+ compressible: true,
+ extensions: ["xhtml", "xht"]
+ },
+ "application/xhtml-voice+xml": {
+ source: "apache",
+ compressible: true
+ },
+ "application/xliff+xml": {
+ source: "iana",
+ compressible: true,
+ extensions: ["xlf"]
+ },
+ "application/xml": {
+ source: "iana",
+ compressible: true,
+ extensions: ["xml", "xsl", "xsd", "rng"]
+ },
+ "application/xml-dtd": {
+ source: "iana",
+ compressible: true,
+ extensions: ["dtd"]
+ },
+ "application/xml-external-parsed-entity": {
+ source: "iana"
+ },
+ "application/xml-patch+xml": {
+ source: "iana",
+ compressible: true
+ },
+ "application/xmpp+xml": {
+ source: "iana",
+ compressible: true
+ },
+ "application/xop+xml": {
+ source: "iana",
+ compressible: true,
+ extensions: ["xop"]
+ },
+ "application/xproc+xml": {
+ source: "apache",
+ compressible: true,
+ extensions: ["xpl"]
+ },
+ "application/xslt+xml": {
+ source: "iana",
+ compressible: true,
+ extensions: ["xsl", "xslt"]
+ },
+ "application/xspf+xml": {
+ source: "apache",
+ compressible: true,
+ extensions: ["xspf"]
+ },
+ "application/xv+xml": {
+ source: "iana",
+ compressible: true,
+ extensions: ["mxml", "xhvml", "xvml", "xvm"]
+ },
+ "application/yang": {
+ source: "iana",
+ extensions: ["yang"]
+ },
+ "application/yang-data+json": {
+ source: "iana",
+ compressible: true
+ },
+ "application/yang-data+xml": {
+ source: "iana",
+ compressible: true
+ },
+ "application/yang-patch+json": {
+ source: "iana",
+ compressible: true
+ },
+ "application/yang-patch+xml": {
+ source: "iana",
+ compressible: true
+ },
+ "application/yin+xml": {
+ source: "iana",
+ compressible: true,
+ extensions: ["yin"]
+ },
+ "application/zip": {
+ source: "iana",
+ compressible: false,
+ extensions: ["zip"]
+ },
+ "application/zlib": {
+ source: "iana"
+ },
+ "application/zstd": {
+ source: "iana"
+ },
+ "audio/1d-interleaved-parityfec": {
+ source: "iana"
+ },
+ "audio/32kadpcm": {
+ source: "iana"
+ },
+ "audio/3gpp": {
+ source: "iana",
+ compressible: false,
+ extensions: ["3gpp"]
+ },
+ "audio/3gpp2": {
+ source: "iana"
+ },
+ "audio/aac": {
+ source: "iana"
+ },
+ "audio/ac3": {
+ source: "iana"
+ },
+ "audio/adpcm": {
+ source: "apache",
+ extensions: ["adp"]
+ },
+ "audio/amr": {
+ source: "iana",
+ extensions: ["amr"]
+ },
+ "audio/amr-wb": {
+ source: "iana"
+ },
+ "audio/amr-wb+": {
+ source: "iana"
+ },
+ "audio/aptx": {
+ source: "iana"
+ },
+ "audio/asc": {
+ source: "iana"
+ },
+ "audio/atrac-advanced-lossless": {
+ source: "iana"
+ },
+ "audio/atrac-x": {
+ source: "iana"
+ },
+ "audio/atrac3": {
+ source: "iana"
+ },
+ "audio/basic": {
+ source: "iana",
+ compressible: false,
+ extensions: ["au", "snd"]
+ },
+ "audio/bv16": {
+ source: "iana"
+ },
+ "audio/bv32": {
+ source: "iana"
+ },
+ "audio/clearmode": {
+ source: "iana"
+ },
+ "audio/cn": {
+ source: "iana"
+ },
+ "audio/dat12": {
+ source: "iana"
+ },
+ "audio/dls": {
+ source: "iana"
+ },
+ "audio/dsr-es201108": {
+ source: "iana"
+ },
+ "audio/dsr-es202050": {
+ source: "iana"
+ },
+ "audio/dsr-es202211": {
+ source: "iana"
+ },
+ "audio/dsr-es202212": {
+ source: "iana"
+ },
+ "audio/dv": {
+ source: "iana"
+ },
+ "audio/dvi4": {
+ source: "iana"
+ },
+ "audio/eac3": {
+ source: "iana"
+ },
+ "audio/encaprtp": {
+ source: "iana"
+ },
+ "audio/evrc": {
+ source: "iana"
+ },
+ "audio/evrc-qcp": {
+ source: "iana"
+ },
+ "audio/evrc0": {
+ source: "iana"
+ },
+ "audio/evrc1": {
+ source: "iana"
+ },
+ "audio/evrcb": {
+ source: "iana"
+ },
+ "audio/evrcb0": {
+ source: "iana"
+ },
+ "audio/evrcb1": {
+ source: "iana"
+ },
+ "audio/evrcnw": {
+ source: "iana"
+ },
+ "audio/evrcnw0": {
+ source: "iana"
+ },
+ "audio/evrcnw1": {
+ source: "iana"
+ },
+ "audio/evrcwb": {
+ source: "iana"
+ },
+ "audio/evrcwb0": {
+ source: "iana"
+ },
+ "audio/evrcwb1": {
+ source: "iana"
+ },
+ "audio/evs": {
+ source: "iana"
+ },
+ "audio/flexfec": {
+ source: "iana"
+ },
+ "audio/fwdred": {
+ source: "iana"
+ },
+ "audio/g711-0": {
+ source: "iana"
+ },
+ "audio/g719": {
+ source: "iana"
+ },
+ "audio/g722": {
+ source: "iana"
+ },
+ "audio/g7221": {
+ source: "iana"
+ },
+ "audio/g723": {
+ source: "iana"
+ },
+ "audio/g726-16": {
+ source: "iana"
+ },
+ "audio/g726-24": {
+ source: "iana"
+ },
+ "audio/g726-32": {
+ source: "iana"
+ },
+ "audio/g726-40": {
+ source: "iana"
+ },
+ "audio/g728": {
+ source: "iana"
+ },
+ "audio/g729": {
+ source: "iana"
+ },
+ "audio/g7291": {
+ source: "iana"
+ },
+ "audio/g729d": {
+ source: "iana"
+ },
+ "audio/g729e": {
+ source: "iana"
+ },
+ "audio/gsm": {
+ source: "iana"
+ },
+ "audio/gsm-efr": {
+ source: "iana"
+ },
+ "audio/gsm-hr-08": {
+ source: "iana"
+ },
+ "audio/ilbc": {
+ source: "iana"
+ },
+ "audio/ip-mr_v2.5": {
+ source: "iana"
+ },
+ "audio/isac": {
+ source: "apache"
+ },
+ "audio/l16": {
+ source: "iana"
+ },
+ "audio/l20": {
+ source: "iana"
+ },
+ "audio/l24": {
+ source: "iana",
+ compressible: false
+ },
+ "audio/l8": {
+ source: "iana"
+ },
+ "audio/lpc": {
+ source: "iana"
+ },
+ "audio/melp": {
+ source: "iana"
+ },
+ "audio/melp1200": {
+ source: "iana"
+ },
+ "audio/melp2400": {
+ source: "iana"
+ },
+ "audio/melp600": {
+ source: "iana"
+ },
+ "audio/mhas": {
+ source: "iana"
+ },
+ "audio/midi": {
+ source: "apache",
+ extensions: ["mid", "midi", "kar", "rmi"]
+ },
+ "audio/mobile-xmf": {
+ source: "iana",
+ extensions: ["mxmf"]
+ },
+ "audio/mp3": {
+ compressible: false,
+ extensions: ["mp3"]
+ },
+ "audio/mp4": {
+ source: "iana",
+ compressible: false,
+ extensions: ["m4a", "mp4a"]
+ },
+ "audio/mp4a-latm": {
+ source: "iana"
+ },
+ "audio/mpa": {
+ source: "iana"
+ },
+ "audio/mpa-robust": {
+ source: "iana"
+ },
+ "audio/mpeg": {
+ source: "iana",
+ compressible: false,
+ extensions: ["mpga", "mp2", "mp2a", "mp3", "m2a", "m3a"]
+ },
+ "audio/mpeg4-generic": {
+ source: "iana"
+ },
+ "audio/musepack": {
+ source: "apache"
+ },
+ "audio/ogg": {
+ source: "iana",
+ compressible: false,
+ extensions: ["oga", "ogg", "spx", "opus"]
+ },
+ "audio/opus": {
+ source: "iana"
+ },
+ "audio/parityfec": {
+ source: "iana"
+ },
+ "audio/pcma": {
+ source: "iana"
+ },
+ "audio/pcma-wb": {
+ source: "iana"
+ },
+ "audio/pcmu": {
+ source: "iana"
+ },
+ "audio/pcmu-wb": {
+ source: "iana"
+ },
+ "audio/prs.sid": {
+ source: "iana"
+ },
+ "audio/qcelp": {
+ source: "iana"
+ },
+ "audio/raptorfec": {
+ source: "iana"
+ },
+ "audio/red": {
+ source: "iana"
+ },
+ "audio/rtp-enc-aescm128": {
+ source: "iana"
+ },
+ "audio/rtp-midi": {
+ source: "iana"
+ },
+ "audio/rtploopback": {
+ source: "iana"
+ },
+ "audio/rtx": {
+ source: "iana"
+ },
+ "audio/s3m": {
+ source: "apache",
+ extensions: ["s3m"]
+ },
+ "audio/scip": {
+ source: "iana"
+ },
+ "audio/silk": {
+ source: "apache",
+ extensions: ["sil"]
+ },
+ "audio/smv": {
+ source: "iana"
+ },
+ "audio/smv-qcp": {
+ source: "iana"
+ },
+ "audio/smv0": {
+ source: "iana"
+ },
+ "audio/sofa": {
+ source: "iana"
+ },
+ "audio/sp-midi": {
+ source: "iana"
+ },
+ "audio/speex": {
+ source: "iana"
+ },
+ "audio/t140c": {
+ source: "iana"
+ },
+ "audio/t38": {
+ source: "iana"
+ },
+ "audio/telephone-event": {
+ source: "iana"
+ },
+ "audio/tetra_acelp": {
+ source: "iana"
+ },
+ "audio/tetra_acelp_bb": {
+ source: "iana"
+ },
+ "audio/tone": {
+ source: "iana"
+ },
+ "audio/tsvcis": {
+ source: "iana"
+ },
+ "audio/uemclip": {
+ source: "iana"
+ },
+ "audio/ulpfec": {
+ source: "iana"
+ },
+ "audio/usac": {
+ source: "iana"
+ },
+ "audio/vdvi": {
+ source: "iana"
+ },
+ "audio/vmr-wb": {
+ source: "iana"
+ },
+ "audio/vnd.3gpp.iufp": {
+ source: "iana"
+ },
+ "audio/vnd.4sb": {
+ source: "iana"
+ },
+ "audio/vnd.audiokoz": {
+ source: "iana"
+ },
+ "audio/vnd.celp": {
+ source: "iana"
+ },
+ "audio/vnd.cisco.nse": {
+ source: "iana"
+ },
+ "audio/vnd.cmles.radio-events": {
+ source: "iana"
+ },
+ "audio/vnd.cns.anp1": {
+ source: "iana"
+ },
+ "audio/vnd.cns.inf1": {
+ source: "iana"
+ },
+ "audio/vnd.dece.audio": {
+ source: "iana",
+ extensions: ["uva", "uvva"]
+ },
+ "audio/vnd.digital-winds": {
+ source: "iana",
+ extensions: ["eol"]
+ },
+ "audio/vnd.dlna.adts": {
+ source: "iana"
+ },
+ "audio/vnd.dolby.heaac.1": {
+ source: "iana"
+ },
+ "audio/vnd.dolby.heaac.2": {
+ source: "iana"
+ },
+ "audio/vnd.dolby.mlp": {
+ source: "iana"
+ },
+ "audio/vnd.dolby.mps": {
+ source: "iana"
+ },
+ "audio/vnd.dolby.pl2": {
+ source: "iana"
+ },
+ "audio/vnd.dolby.pl2x": {
+ source: "iana"
+ },
+ "audio/vnd.dolby.pl2z": {
+ source: "iana"
+ },
+ "audio/vnd.dolby.pulse.1": {
+ source: "iana"
+ },
+ "audio/vnd.dra": {
+ source: "iana",
+ extensions: ["dra"]
+ },
+ "audio/vnd.dts": {
+ source: "iana",
+ extensions: ["dts"]
+ },
+ "audio/vnd.dts.hd": {
+ source: "iana",
+ extensions: ["dtshd"]
+ },
+ "audio/vnd.dts.uhd": {
+ source: "iana"
+ },
+ "audio/vnd.dvb.file": {
+ source: "iana"
+ },
+ "audio/vnd.everad.plj": {
+ source: "iana"
+ },
+ "audio/vnd.hns.audio": {
+ source: "iana"
+ },
+ "audio/vnd.lucent.voice": {
+ source: "iana",
+ extensions: ["lvp"]
+ },
+ "audio/vnd.ms-playready.media.pya": {
+ source: "iana",
+ extensions: ["pya"]
+ },
+ "audio/vnd.nokia.mobile-xmf": {
+ source: "iana"
+ },
+ "audio/vnd.nortel.vbk": {
+ source: "iana"
+ },
+ "audio/vnd.nuera.ecelp4800": {
+ source: "iana",
+ extensions: ["ecelp4800"]
+ },
+ "audio/vnd.nuera.ecelp7470": {
+ source: "iana",
+ extensions: ["ecelp7470"]
+ },
+ "audio/vnd.nuera.ecelp9600": {
+ source: "iana",
+ extensions: ["ecelp9600"]
+ },
+ "audio/vnd.octel.sbc": {
+ source: "iana"
+ },
+ "audio/vnd.presonus.multitrack": {
+ source: "iana"
+ },
+ "audio/vnd.qcelp": {
+ source: "iana"
+ },
+ "audio/vnd.rhetorex.32kadpcm": {
+ source: "iana"
+ },
+ "audio/vnd.rip": {
+ source: "iana",
+ extensions: ["rip"]
+ },
+ "audio/vnd.rn-realaudio": {
+ compressible: false
+ },
+ "audio/vnd.sealedmedia.softseal.mpeg": {
+ source: "iana"
+ },
+ "audio/vnd.vmx.cvsd": {
+ source: "iana"
+ },
+ "audio/vnd.wave": {
+ compressible: false
+ },
+ "audio/vorbis": {
+ source: "iana",
+ compressible: false
+ },
+ "audio/vorbis-config": {
+ source: "iana"
+ },
+ "audio/wav": {
+ compressible: false,
+ extensions: ["wav"]
+ },
+ "audio/wave": {
+ compressible: false,
+ extensions: ["wav"]
+ },
+ "audio/webm": {
+ source: "apache",
+ compressible: false,
+ extensions: ["weba"]
+ },
+ "audio/x-aac": {
+ source: "apache",
+ compressible: false,
+ extensions: ["aac"]
+ },
+ "audio/x-aiff": {
+ source: "apache",
+ extensions: ["aif", "aiff", "aifc"]
+ },
+ "audio/x-caf": {
+ source: "apache",
+ compressible: false,
+ extensions: ["caf"]
+ },
+ "audio/x-flac": {
+ source: "apache",
+ extensions: ["flac"]
+ },
+ "audio/x-m4a": {
+ source: "nginx",
+ extensions: ["m4a"]
+ },
+ "audio/x-matroska": {
+ source: "apache",
+ extensions: ["mka"]
+ },
+ "audio/x-mpegurl": {
+ source: "apache",
+ extensions: ["m3u"]
+ },
+ "audio/x-ms-wax": {
+ source: "apache",
+ extensions: ["wax"]
+ },
+ "audio/x-ms-wma": {
+ source: "apache",
+ extensions: ["wma"]
+ },
+ "audio/x-pn-realaudio": {
+ source: "apache",
+ extensions: ["ram", "ra"]
+ },
+ "audio/x-pn-realaudio-plugin": {
+ source: "apache",
+ extensions: ["rmp"]
+ },
+ "audio/x-realaudio": {
+ source: "nginx",
+ extensions: ["ra"]
+ },
+ "audio/x-tta": {
+ source: "apache"
+ },
+ "audio/x-wav": {
+ source: "apache",
+ extensions: ["wav"]
+ },
+ "audio/xm": {
+ source: "apache",
+ extensions: ["xm"]
+ },
+ "chemical/x-cdx": {
+ source: "apache",
+ extensions: ["cdx"]
+ },
+ "chemical/x-cif": {
+ source: "apache",
+ extensions: ["cif"]
+ },
+ "chemical/x-cmdf": {
+ source: "apache",
+ extensions: ["cmdf"]
+ },
+ "chemical/x-cml": {
+ source: "apache",
+ extensions: ["cml"]
+ },
+ "chemical/x-csml": {
+ source: "apache",
+ extensions: ["csml"]
+ },
+ "chemical/x-pdb": {
+ source: "apache"
+ },
+ "chemical/x-xyz": {
+ source: "apache",
+ extensions: ["xyz"]
+ },
+ "font/collection": {
+ source: "iana",
+ extensions: ["ttc"]
+ },
+ "font/otf": {
+ source: "iana",
+ compressible: true,
+ extensions: ["otf"]
+ },
+ "font/sfnt": {
+ source: "iana"
+ },
+ "font/ttf": {
+ source: "iana",
+ compressible: true,
+ extensions: ["ttf"]
+ },
+ "font/woff": {
+ source: "iana",
+ extensions: ["woff"]
+ },
+ "font/woff2": {
+ source: "iana",
+ extensions: ["woff2"]
+ },
+ "image/aces": {
+ source: "iana",
+ extensions: ["exr"]
+ },
+ "image/apng": {
+ compressible: false,
+ extensions: ["apng"]
+ },
+ "image/avci": {
+ source: "iana",
+ extensions: ["avci"]
+ },
+ "image/avcs": {
+ source: "iana",
+ extensions: ["avcs"]
+ },
+ "image/avif": {
+ source: "iana",
+ compressible: false,
+ extensions: ["avif"]
+ },
+ "image/bmp": {
+ source: "iana",
+ compressible: true,
+ extensions: ["bmp"]
+ },
+ "image/cgm": {
+ source: "iana",
+ extensions: ["cgm"]
+ },
+ "image/dicom-rle": {
+ source: "iana",
+ extensions: ["drle"]
+ },
+ "image/emf": {
+ source: "iana",
+ extensions: ["emf"]
+ },
+ "image/fits": {
+ source: "iana",
+ extensions: ["fits"]
+ },
+ "image/g3fax": {
+ source: "iana",
+ extensions: ["g3"]
+ },
+ "image/gif": {
+ source: "iana",
+ compressible: false,
+ extensions: ["gif"]
+ },
+ "image/heic": {
+ source: "iana",
+ extensions: ["heic"]
+ },
+ "image/heic-sequence": {
+ source: "iana",
+ extensions: ["heics"]
+ },
+ "image/heif": {
+ source: "iana",
+ extensions: ["heif"]
+ },
+ "image/heif-sequence": {
+ source: "iana",
+ extensions: ["heifs"]
+ },
+ "image/hej2k": {
+ source: "iana",
+ extensions: ["hej2"]
+ },
+ "image/hsj2": {
+ source: "iana",
+ extensions: ["hsj2"]
+ },
+ "image/ief": {
+ source: "iana",
+ extensions: ["ief"]
+ },
+ "image/jls": {
+ source: "iana",
+ extensions: ["jls"]
+ },
+ "image/jp2": {
+ source: "iana",
+ compressible: false,
+ extensions: ["jp2", "jpg2"]
+ },
+ "image/jpeg": {
+ source: "iana",
+ compressible: false,
+ extensions: ["jpeg", "jpg", "jpe"]
+ },
+ "image/jph": {
+ source: "iana",
+ extensions: ["jph"]
+ },
+ "image/jphc": {
+ source: "iana",
+ extensions: ["jhc"]
+ },
+ "image/jpm": {
+ source: "iana",
+ compressible: false,
+ extensions: ["jpm"]
+ },
+ "image/jpx": {
+ source: "iana",
+ compressible: false,
+ extensions: ["jpx", "jpf"]
+ },
+ "image/jxr": {
+ source: "iana",
+ extensions: ["jxr"]
+ },
+ "image/jxra": {
+ source: "iana",
+ extensions: ["jxra"]
+ },
+ "image/jxrs": {
+ source: "iana",
+ extensions: ["jxrs"]
+ },
+ "image/jxs": {
+ source: "iana",
+ extensions: ["jxs"]
+ },
+ "image/jxsc": {
+ source: "iana",
+ extensions: ["jxsc"]
+ },
+ "image/jxsi": {
+ source: "iana",
+ extensions: ["jxsi"]
+ },
+ "image/jxss": {
+ source: "iana",
+ extensions: ["jxss"]
+ },
+ "image/ktx": {
+ source: "iana",
+ extensions: ["ktx"]
+ },
+ "image/ktx2": {
+ source: "iana",
+ extensions: ["ktx2"]
+ },
+ "image/naplps": {
+ source: "iana"
+ },
+ "image/pjpeg": {
+ compressible: false
+ },
+ "image/png": {
+ source: "iana",
+ compressible: false,
+ extensions: ["png"]
+ },
+ "image/prs.btif": {
+ source: "iana",
+ extensions: ["btif"]
+ },
+ "image/prs.pti": {
+ source: "iana",
+ extensions: ["pti"]
+ },
+ "image/pwg-raster": {
+ source: "iana"
+ },
+ "image/sgi": {
+ source: "apache",
+ extensions: ["sgi"]
+ },
+ "image/svg+xml": {
+ source: "iana",
+ compressible: true,
+ extensions: ["svg", "svgz"]
+ },
+ "image/t38": {
+ source: "iana",
+ extensions: ["t38"]
+ },
+ "image/tiff": {
+ source: "iana",
+ compressible: false,
+ extensions: ["tif", "tiff"]
+ },
+ "image/tiff-fx": {
+ source: "iana",
+ extensions: ["tfx"]
+ },
+ "image/vnd.adobe.photoshop": {
+ source: "iana",
+ compressible: true,
+ extensions: ["psd"]
+ },
+ "image/vnd.airzip.accelerator.azv": {
+ source: "iana",
+ extensions: ["azv"]
+ },
+ "image/vnd.cns.inf2": {
+ source: "iana"
+ },
+ "image/vnd.dece.graphic": {
+ source: "iana",
+ extensions: ["uvi", "uvvi", "uvg", "uvvg"]
+ },
+ "image/vnd.djvu": {
+ source: "iana",
+ extensions: ["djvu", "djv"]
+ },
+ "image/vnd.dvb.subtitle": {
+ source: "iana",
+ extensions: ["sub"]
+ },
+ "image/vnd.dwg": {
+ source: "iana",
+ extensions: ["dwg"]
+ },
+ "image/vnd.dxf": {
+ source: "iana",
+ extensions: ["dxf"]
+ },
+ "image/vnd.fastbidsheet": {
+ source: "iana",
+ extensions: ["fbs"]
+ },
+ "image/vnd.fpx": {
+ source: "iana",
+ extensions: ["fpx"]
+ },
+ "image/vnd.fst": {
+ source: "iana",
+ extensions: ["fst"]
+ },
+ "image/vnd.fujixerox.edmics-mmr": {
+ source: "iana",
+ extensions: ["mmr"]
+ },
+ "image/vnd.fujixerox.edmics-rlc": {
+ source: "iana",
+ extensions: ["rlc"]
+ },
+ "image/vnd.globalgraphics.pgb": {
+ source: "iana"
+ },
+ "image/vnd.microsoft.icon": {
+ source: "iana",
+ compressible: true,
+ extensions: ["ico"]
+ },
+ "image/vnd.mix": {
+ source: "iana"
+ },
+ "image/vnd.mozilla.apng": {
+ source: "iana"
+ },
+ "image/vnd.ms-dds": {
+ compressible: true,
+ extensions: ["dds"]
+ },
+ "image/vnd.ms-modi": {
+ source: "iana",
+ extensions: ["mdi"]
+ },
+ "image/vnd.ms-photo": {
+ source: "apache",
+ extensions: ["wdp"]
+ },
+ "image/vnd.net-fpx": {
+ source: "iana",
+ extensions: ["npx"]
+ },
+ "image/vnd.pco.b16": {
+ source: "iana",
+ extensions: ["b16"]
+ },
+ "image/vnd.radiance": {
+ source: "iana"
+ },
+ "image/vnd.sealed.png": {
+ source: "iana"
+ },
+ "image/vnd.sealedmedia.softseal.gif": {
+ source: "iana"
+ },
+ "image/vnd.sealedmedia.softseal.jpg": {
+ source: "iana"
+ },
+ "image/vnd.svf": {
+ source: "iana"
+ },
+ "image/vnd.tencent.tap": {
+ source: "iana",
+ extensions: ["tap"]
+ },
+ "image/vnd.valve.source.texture": {
+ source: "iana",
+ extensions: ["vtf"]
+ },
+ "image/vnd.wap.wbmp": {
+ source: "iana",
+ extensions: ["wbmp"]
+ },
+ "image/vnd.xiff": {
+ source: "iana",
+ extensions: ["xif"]
+ },
+ "image/vnd.zbrush.pcx": {
+ source: "iana",
+ extensions: ["pcx"]
+ },
+ "image/webp": {
+ source: "apache",
+ extensions: ["webp"]
+ },
+ "image/wmf": {
+ source: "iana",
+ extensions: ["wmf"]
+ },
+ "image/x-3ds": {
+ source: "apache",
+ extensions: ["3ds"]
+ },
+ "image/x-cmu-raster": {
+ source: "apache",
+ extensions: ["ras"]
+ },
+ "image/x-cmx": {
+ source: "apache",
+ extensions: ["cmx"]
+ },
+ "image/x-freehand": {
+ source: "apache",
+ extensions: ["fh", "fhc", "fh4", "fh5", "fh7"]
+ },
+ "image/x-icon": {
+ source: "apache",
+ compressible: true,
+ extensions: ["ico"]
+ },
+ "image/x-jng": {
+ source: "nginx",
+ extensions: ["jng"]
+ },
+ "image/x-mrsid-image": {
+ source: "apache",
+ extensions: ["sid"]
+ },
+ "image/x-ms-bmp": {
+ source: "nginx",
+ compressible: true,
+ extensions: ["bmp"]
+ },
+ "image/x-pcx": {
+ source: "apache",
+ extensions: ["pcx"]
+ },
+ "image/x-pict": {
+ source: "apache",
+ extensions: ["pic", "pct"]
+ },
+ "image/x-portable-anymap": {
+ source: "apache",
+ extensions: ["pnm"]
+ },
+ "image/x-portable-bitmap": {
+ source: "apache",
+ extensions: ["pbm"]
+ },
+ "image/x-portable-graymap": {
+ source: "apache",
+ extensions: ["pgm"]
+ },
+ "image/x-portable-pixmap": {
+ source: "apache",
+ extensions: ["ppm"]
+ },
+ "image/x-rgb": {
+ source: "apache",
+ extensions: ["rgb"]
+ },
+ "image/x-tga": {
+ source: "apache",
+ extensions: ["tga"]
+ },
+ "image/x-xbitmap": {
+ source: "apache",
+ extensions: ["xbm"]
+ },
+ "image/x-xcf": {
+ compressible: false
+ },
+ "image/x-xpixmap": {
+ source: "apache",
+ extensions: ["xpm"]
+ },
+ "image/x-xwindowdump": {
+ source: "apache",
+ extensions: ["xwd"]
+ },
+ "message/cpim": {
+ source: "iana"
+ },
+ "message/delivery-status": {
+ source: "iana"
+ },
+ "message/disposition-notification": {
+ source: "iana",
+ extensions: [
+ "disposition-notification"
+ ]
+ },
+ "message/external-body": {
+ source: "iana"
+ },
+ "message/feedback-report": {
+ source: "iana"
+ },
+ "message/global": {
+ source: "iana",
+ extensions: ["u8msg"]
+ },
+ "message/global-delivery-status": {
+ source: "iana",
+ extensions: ["u8dsn"]
+ },
+ "message/global-disposition-notification": {
+ source: "iana",
+ extensions: ["u8mdn"]
+ },
+ "message/global-headers": {
+ source: "iana",
+ extensions: ["u8hdr"]
+ },
+ "message/http": {
+ source: "iana",
+ compressible: false
+ },
+ "message/imdn+xml": {
+ source: "iana",
+ compressible: true
+ },
+ "message/news": {
+ source: "iana"
+ },
+ "message/partial": {
+ source: "iana",
+ compressible: false
+ },
+ "message/rfc822": {
+ source: "iana",
+ compressible: true,
+ extensions: ["eml", "mime"]
+ },
+ "message/s-http": {
+ source: "iana"
+ },
+ "message/sip": {
+ source: "iana"
+ },
+ "message/sipfrag": {
+ source: "iana"
+ },
+ "message/tracking-status": {
+ source: "iana"
+ },
+ "message/vnd.si.simp": {
+ source: "iana"
+ },
+ "message/vnd.wfa.wsc": {
+ source: "iana",
+ extensions: ["wsc"]
+ },
+ "model/3mf": {
+ source: "iana",
+ extensions: ["3mf"]
+ },
+ "model/e57": {
+ source: "iana"
+ },
+ "model/gltf+json": {
+ source: "iana",
+ compressible: true,
+ extensions: ["gltf"]
+ },
+ "model/gltf-binary": {
+ source: "iana",
+ compressible: true,
+ extensions: ["glb"]
+ },
+ "model/iges": {
+ source: "iana",
+ compressible: false,
+ extensions: ["igs", "iges"]
+ },
+ "model/mesh": {
+ source: "iana",
+ compressible: false,
+ extensions: ["msh", "mesh", "silo"]
+ },
+ "model/mtl": {
+ source: "iana",
+ extensions: ["mtl"]
+ },
+ "model/obj": {
+ source: "iana",
+ extensions: ["obj"]
+ },
+ "model/step": {
+ source: "iana"
+ },
+ "model/step+xml": {
+ source: "iana",
+ compressible: true,
+ extensions: ["stpx"]
+ },
+ "model/step+zip": {
+ source: "iana",
+ compressible: false,
+ extensions: ["stpz"]
+ },
+ "model/step-xml+zip": {
+ source: "iana",
+ compressible: false,
+ extensions: ["stpxz"]
+ },
+ "model/stl": {
+ source: "iana",
+ extensions: ["stl"]
+ },
+ "model/vnd.collada+xml": {
+ source: "iana",
+ compressible: true,
+ extensions: ["dae"]
+ },
+ "model/vnd.dwf": {
+ source: "iana",
+ extensions: ["dwf"]
+ },
+ "model/vnd.flatland.3dml": {
+ source: "iana"
+ },
+ "model/vnd.gdl": {
+ source: "iana",
+ extensions: ["gdl"]
+ },
+ "model/vnd.gs-gdl": {
+ source: "apache"
+ },
+ "model/vnd.gs.gdl": {
+ source: "iana"
+ },
+ "model/vnd.gtw": {
+ source: "iana",
+ extensions: ["gtw"]
+ },
+ "model/vnd.moml+xml": {
+ source: "iana",
+ compressible: true
+ },
+ "model/vnd.mts": {
+ source: "iana",
+ extensions: ["mts"]
+ },
+ "model/vnd.opengex": {
+ source: "iana",
+ extensions: ["ogex"]
+ },
+ "model/vnd.parasolid.transmit.binary": {
+ source: "iana",
+ extensions: ["x_b"]
+ },
+ "model/vnd.parasolid.transmit.text": {
+ source: "iana",
+ extensions: ["x_t"]
+ },
+ "model/vnd.pytha.pyox": {
+ source: "iana"
+ },
+ "model/vnd.rosette.annotated-data-model": {
+ source: "iana"
+ },
+ "model/vnd.sap.vds": {
+ source: "iana",
+ extensions: ["vds"]
+ },
+ "model/vnd.usdz+zip": {
+ source: "iana",
+ compressible: false,
+ extensions: ["usdz"]
+ },
+ "model/vnd.valve.source.compiled-map": {
+ source: "iana",
+ extensions: ["bsp"]
+ },
+ "model/vnd.vtu": {
+ source: "iana",
+ extensions: ["vtu"]
+ },
+ "model/vrml": {
+ source: "iana",
+ compressible: false,
+ extensions: ["wrl", "vrml"]
+ },
+ "model/x3d+binary": {
+ source: "apache",
+ compressible: false,
+ extensions: ["x3db", "x3dbz"]
+ },
+ "model/x3d+fastinfoset": {
+ source: "iana",
+ extensions: ["x3db"]
+ },
+ "model/x3d+vrml": {
+ source: "apache",
+ compressible: false,
+ extensions: ["x3dv", "x3dvz"]
+ },
+ "model/x3d+xml": {
+ source: "iana",
+ compressible: true,
+ extensions: ["x3d", "x3dz"]
+ },
+ "model/x3d-vrml": {
+ source: "iana",
+ extensions: ["x3dv"]
+ },
+ "multipart/alternative": {
+ source: "iana",
+ compressible: false
+ },
+ "multipart/appledouble": {
+ source: "iana"
+ },
+ "multipart/byteranges": {
+ source: "iana"
+ },
+ "multipart/digest": {
+ source: "iana"
+ },
+ "multipart/encrypted": {
+ source: "iana",
+ compressible: false
+ },
+ "multipart/form-data": {
+ source: "iana",
+ compressible: false
+ },
+ "multipart/header-set": {
+ source: "iana"
+ },
+ "multipart/mixed": {
+ source: "iana"
+ },
+ "multipart/multilingual": {
+ source: "iana"
+ },
+ "multipart/parallel": {
+ source: "iana"
+ },
+ "multipart/related": {
+ source: "iana",
+ compressible: false
+ },
+ "multipart/report": {
+ source: "iana"
+ },
+ "multipart/signed": {
+ source: "iana",
+ compressible: false
+ },
+ "multipart/vnd.bint.med-plus": {
+ source: "iana"
+ },
+ "multipart/voice-message": {
+ source: "iana"
+ },
+ "multipart/x-mixed-replace": {
+ source: "iana"
+ },
+ "text/1d-interleaved-parityfec": {
+ source: "iana"
+ },
+ "text/cache-manifest": {
+ source: "iana",
+ compressible: true,
+ extensions: ["appcache", "manifest"]
+ },
+ "text/calendar": {
+ source: "iana",
+ extensions: ["ics", "ifb"]
+ },
+ "text/calender": {
+ compressible: true
+ },
+ "text/cmd": {
+ compressible: true
+ },
+ "text/coffeescript": {
+ extensions: ["coffee", "litcoffee"]
+ },
+ "text/cql": {
+ source: "iana"
+ },
+ "text/cql-expression": {
+ source: "iana"
+ },
+ "text/cql-identifier": {
+ source: "iana"
+ },
+ "text/css": {
+ source: "iana",
+ charset: "UTF-8",
+ compressible: true,
+ extensions: ["css"]
+ },
+ "text/csv": {
+ source: "iana",
+ compressible: true,
+ extensions: ["csv"]
+ },
+ "text/csv-schema": {
+ source: "iana"
+ },
+ "text/directory": {
+ source: "iana"
+ },
+ "text/dns": {
+ source: "iana"
+ },
+ "text/ecmascript": {
+ source: "iana"
+ },
+ "text/encaprtp": {
+ source: "iana"
+ },
+ "text/enriched": {
+ source: "iana"
+ },
+ "text/fhirpath": {
+ source: "iana"
+ },
+ "text/flexfec": {
+ source: "iana"
+ },
+ "text/fwdred": {
+ source: "iana"
+ },
+ "text/gff3": {
+ source: "iana"
+ },
+ "text/grammar-ref-list": {
+ source: "iana"
+ },
+ "text/html": {
+ source: "iana",
+ compressible: true,
+ extensions: ["html", "htm", "shtml"]
+ },
+ "text/jade": {
+ extensions: ["jade"]
+ },
+ "text/javascript": {
+ source: "iana",
+ compressible: true
+ },
+ "text/jcr-cnd": {
+ source: "iana"
+ },
+ "text/jsx": {
+ compressible: true,
+ extensions: ["jsx"]
+ },
+ "text/less": {
+ compressible: true,
+ extensions: ["less"]
+ },
+ "text/markdown": {
+ source: "iana",
+ compressible: true,
+ extensions: ["markdown", "md"]
+ },
+ "text/mathml": {
+ source: "nginx",
+ extensions: ["mml"]
+ },
+ "text/mdx": {
+ compressible: true,
+ extensions: ["mdx"]
+ },
+ "text/mizar": {
+ source: "iana"
+ },
+ "text/n3": {
+ source: "iana",
+ charset: "UTF-8",
+ compressible: true,
+ extensions: ["n3"]
+ },
+ "text/parameters": {
+ source: "iana",
+ charset: "UTF-8"
+ },
+ "text/parityfec": {
+ source: "iana"
+ },
+ "text/plain": {
+ source: "iana",
+ compressible: true,
+ extensions: ["txt", "text", "conf", "def", "list", "log", "in", "ini"]
+ },
+ "text/provenance-notation": {
+ source: "iana",
+ charset: "UTF-8"
+ },
+ "text/prs.fallenstein.rst": {
+ source: "iana"
+ },
+ "text/prs.lines.tag": {
+ source: "iana",
+ extensions: ["dsc"]
+ },
+ "text/prs.prop.logic": {
+ source: "iana"
+ },
+ "text/raptorfec": {
+ source: "iana"
+ },
+ "text/red": {
+ source: "iana"
+ },
+ "text/rfc822-headers": {
+ source: "iana"
+ },
+ "text/richtext": {
+ source: "iana",
+ compressible: true,
+ extensions: ["rtx"]
+ },
+ "text/rtf": {
+ source: "iana",
+ compressible: true,
+ extensions: ["rtf"]
+ },
+ "text/rtp-enc-aescm128": {
+ source: "iana"
+ },
+ "text/rtploopback": {
+ source: "iana"
+ },
+ "text/rtx": {
+ source: "iana"
+ },
+ "text/sgml": {
+ source: "iana",
+ extensions: ["sgml", "sgm"]
+ },
+ "text/shaclc": {
+ source: "iana"
+ },
+ "text/shex": {
+ source: "iana",
+ extensions: ["shex"]
+ },
+ "text/slim": {
+ extensions: ["slim", "slm"]
+ },
+ "text/spdx": {
+ source: "iana",
+ extensions: ["spdx"]
+ },
+ "text/strings": {
+ source: "iana"
+ },
+ "text/stylus": {
+ extensions: ["stylus", "styl"]
+ },
+ "text/t140": {
+ source: "iana"
+ },
+ "text/tab-separated-values": {
+ source: "iana",
+ compressible: true,
+ extensions: ["tsv"]
+ },
+ "text/troff": {
+ source: "iana",
+ extensions: ["t", "tr", "roff", "man", "me", "ms"]
+ },
+ "text/turtle": {
+ source: "iana",
+ charset: "UTF-8",
+ extensions: ["ttl"]
+ },
+ "text/ulpfec": {
+ source: "iana"
+ },
+ "text/uri-list": {
+ source: "iana",
+ compressible: true,
+ extensions: ["uri", "uris", "urls"]
+ },
+ "text/vcard": {
+ source: "iana",
+ compressible: true,
+ extensions: ["vcard"]
+ },
+ "text/vnd.a": {
+ source: "iana"
+ },
+ "text/vnd.abc": {
+ source: "iana"
+ },
+ "text/vnd.ascii-art": {
+ source: "iana"
+ },
+ "text/vnd.curl": {
+ source: "iana",
+ extensions: ["curl"]
+ },
+ "text/vnd.curl.dcurl": {
+ source: "apache",
+ extensions: ["dcurl"]
+ },
+ "text/vnd.curl.mcurl": {
+ source: "apache",
+ extensions: ["mcurl"]
+ },
+ "text/vnd.curl.scurl": {
+ source: "apache",
+ extensions: ["scurl"]
+ },
+ "text/vnd.debian.copyright": {
+ source: "iana",
+ charset: "UTF-8"
+ },
+ "text/vnd.dmclientscript": {
+ source: "iana"
+ },
+ "text/vnd.dvb.subtitle": {
+ source: "iana",
+ extensions: ["sub"]
+ },
+ "text/vnd.esmertec.theme-descriptor": {
+ source: "iana",
+ charset: "UTF-8"
+ },
+ "text/vnd.familysearch.gedcom": {
+ source: "iana",
+ extensions: ["ged"]
+ },
+ "text/vnd.ficlab.flt": {
+ source: "iana"
+ },
+ "text/vnd.fly": {
+ source: "iana",
+ extensions: ["fly"]
+ },
+ "text/vnd.fmi.flexstor": {
+ source: "iana",
+ extensions: ["flx"]
+ },
+ "text/vnd.gml": {
+ source: "iana"
+ },
+ "text/vnd.graphviz": {
+ source: "iana",
+ extensions: ["gv"]
+ },
+ "text/vnd.hans": {
+ source: "iana"
+ },
+ "text/vnd.hgl": {
+ source: "iana"
+ },
+ "text/vnd.in3d.3dml": {
+ source: "iana",
+ extensions: ["3dml"]
+ },
+ "text/vnd.in3d.spot": {
+ source: "iana",
+ extensions: ["spot"]
+ },
+ "text/vnd.iptc.newsml": {
+ source: "iana"
+ },
+ "text/vnd.iptc.nitf": {
+ source: "iana"
+ },
+ "text/vnd.latex-z": {
+ source: "iana"
+ },
+ "text/vnd.motorola.reflex": {
+ source: "iana"
+ },
+ "text/vnd.ms-mediapackage": {
+ source: "iana"
+ },
+ "text/vnd.net2phone.commcenter.command": {
+ source: "iana"
+ },
+ "text/vnd.radisys.msml-basic-layout": {
+ source: "iana"
+ },
+ "text/vnd.senx.warpscript": {
+ source: "iana"
+ },
+ "text/vnd.si.uricatalogue": {
+ source: "iana"
+ },
+ "text/vnd.sosi": {
+ source: "iana"
+ },
+ "text/vnd.sun.j2me.app-descriptor": {
+ source: "iana",
+ charset: "UTF-8",
+ extensions: ["jad"]
+ },
+ "text/vnd.trolltech.linguist": {
+ source: "iana",
+ charset: "UTF-8"
+ },
+ "text/vnd.wap.si": {
+ source: "iana"
+ },
+ "text/vnd.wap.sl": {
+ source: "iana"
+ },
+ "text/vnd.wap.wml": {
+ source: "iana",
+ extensions: ["wml"]
+ },
+ "text/vnd.wap.wmlscript": {
+ source: "iana",
+ extensions: ["wmls"]
+ },
+ "text/vtt": {
+ source: "iana",
+ charset: "UTF-8",
+ compressible: true,
+ extensions: ["vtt"]
+ },
+ "text/x-asm": {
+ source: "apache",
+ extensions: ["s", "asm"]
+ },
+ "text/x-c": {
+ source: "apache",
+ extensions: ["c", "cc", "cxx", "cpp", "h", "hh", "dic"]
+ },
+ "text/x-component": {
+ source: "nginx",
+ extensions: ["htc"]
+ },
+ "text/x-fortran": {
+ source: "apache",
+ extensions: ["f", "for", "f77", "f90"]
+ },
+ "text/x-gwt-rpc": {
+ compressible: true
+ },
+ "text/x-handlebars-template": {
+ extensions: ["hbs"]
+ },
+ "text/x-java-source": {
+ source: "apache",
+ extensions: ["java"]
+ },
+ "text/x-jquery-tmpl": {
+ compressible: true
+ },
+ "text/x-lua": {
+ extensions: ["lua"]
+ },
+ "text/x-markdown": {
+ compressible: true,
+ extensions: ["mkd"]
+ },
+ "text/x-nfo": {
+ source: "apache",
+ extensions: ["nfo"]
+ },
+ "text/x-opml": {
+ source: "apache",
+ extensions: ["opml"]
+ },
+ "text/x-org": {
+ compressible: true,
+ extensions: ["org"]
+ },
+ "text/x-pascal": {
+ source: "apache",
+ extensions: ["p", "pas"]
+ },
+ "text/x-processing": {
+ compressible: true,
+ extensions: ["pde"]
+ },
+ "text/x-sass": {
+ extensions: ["sass"]
+ },
+ "text/x-scss": {
+ extensions: ["scss"]
+ },
+ "text/x-setext": {
+ source: "apache",
+ extensions: ["etx"]
+ },
+ "text/x-sfv": {
+ source: "apache",
+ extensions: ["sfv"]
+ },
+ "text/x-suse-ymp": {
+ compressible: true,
+ extensions: ["ymp"]
+ },
+ "text/x-uuencode": {
+ source: "apache",
+ extensions: ["uu"]
+ },
+ "text/x-vcalendar": {
+ source: "apache",
+ extensions: ["vcs"]
+ },
+ "text/x-vcard": {
+ source: "apache",
+ extensions: ["vcf"]
+ },
+ "text/xml": {
+ source: "iana",
+ compressible: true,
+ extensions: ["xml"]
+ },
+ "text/xml-external-parsed-entity": {
+ source: "iana"
+ },
+ "text/yaml": {
+ compressible: true,
+ extensions: ["yaml", "yml"]
+ },
+ "video/1d-interleaved-parityfec": {
+ source: "iana"
+ },
+ "video/3gpp": {
+ source: "iana",
+ extensions: ["3gp", "3gpp"]
+ },
+ "video/3gpp-tt": {
+ source: "iana"
+ },
+ "video/3gpp2": {
+ source: "iana",
+ extensions: ["3g2"]
+ },
+ "video/av1": {
+ source: "iana"
+ },
+ "video/bmpeg": {
+ source: "iana"
+ },
+ "video/bt656": {
+ source: "iana"
+ },
+ "video/celb": {
+ source: "iana"
+ },
+ "video/dv": {
+ source: "iana"
+ },
+ "video/encaprtp": {
+ source: "iana"
+ },
+ "video/ffv1": {
+ source: "iana"
+ },
+ "video/flexfec": {
+ source: "iana"
+ },
+ "video/h261": {
+ source: "iana",
+ extensions: ["h261"]
+ },
+ "video/h263": {
+ source: "iana",
+ extensions: ["h263"]
+ },
+ "video/h263-1998": {
+ source: "iana"
+ },
+ "video/h263-2000": {
+ source: "iana"
+ },
+ "video/h264": {
+ source: "iana",
+ extensions: ["h264"]
+ },
+ "video/h264-rcdo": {
+ source: "iana"
+ },
+ "video/h264-svc": {
+ source: "iana"
+ },
+ "video/h265": {
+ source: "iana"
+ },
+ "video/iso.segment": {
+ source: "iana",
+ extensions: ["m4s"]
+ },
+ "video/jpeg": {
+ source: "iana",
+ extensions: ["jpgv"]
+ },
+ "video/jpeg2000": {
+ source: "iana"
+ },
+ "video/jpm": {
+ source: "apache",
+ extensions: ["jpm", "jpgm"]
+ },
+ "video/jxsv": {
+ source: "iana"
+ },
+ "video/mj2": {
+ source: "iana",
+ extensions: ["mj2", "mjp2"]
+ },
+ "video/mp1s": {
+ source: "iana"
+ },
+ "video/mp2p": {
+ source: "iana"
+ },
+ "video/mp2t": {
+ source: "iana",
+ extensions: ["ts"]
+ },
+ "video/mp4": {
+ source: "iana",
+ compressible: false,
+ extensions: ["mp4", "mp4v", "mpg4"]
+ },
+ "video/mp4v-es": {
+ source: "iana"
+ },
+ "video/mpeg": {
+ source: "iana",
+ compressible: false,
+ extensions: ["mpeg", "mpg", "mpe", "m1v", "m2v"]
+ },
+ "video/mpeg4-generic": {
+ source: "iana"
+ },
+ "video/mpv": {
+ source: "iana"
+ },
+ "video/nv": {
+ source: "iana"
+ },
+ "video/ogg": {
+ source: "iana",
+ compressible: false,
+ extensions: ["ogv"]
+ },
+ "video/parityfec": {
+ source: "iana"
+ },
+ "video/pointer": {
+ source: "iana"
+ },
+ "video/quicktime": {
+ source: "iana",
+ compressible: false,
+ extensions: ["qt", "mov"]
+ },
+ "video/raptorfec": {
+ source: "iana"
+ },
+ "video/raw": {
+ source: "iana"
+ },
+ "video/rtp-enc-aescm128": {
+ source: "iana"
+ },
+ "video/rtploopback": {
+ source: "iana"
+ },
+ "video/rtx": {
+ source: "iana"
+ },
+ "video/scip": {
+ source: "iana"
+ },
+ "video/smpte291": {
+ source: "iana"
+ },
+ "video/smpte292m": {
+ source: "iana"
+ },
+ "video/ulpfec": {
+ source: "iana"
+ },
+ "video/vc1": {
+ source: "iana"
+ },
+ "video/vc2": {
+ source: "iana"
+ },
+ "video/vnd.cctv": {
+ source: "iana"
+ },
+ "video/vnd.dece.hd": {
+ source: "iana",
+ extensions: ["uvh", "uvvh"]
+ },
+ "video/vnd.dece.mobile": {
+ source: "iana",
+ extensions: ["uvm", "uvvm"]
+ },
+ "video/vnd.dece.mp4": {
+ source: "iana"
+ },
+ "video/vnd.dece.pd": {
+ source: "iana",
+ extensions: ["uvp", "uvvp"]
+ },
+ "video/vnd.dece.sd": {
+ source: "iana",
+ extensions: ["uvs", "uvvs"]
+ },
+ "video/vnd.dece.video": {
+ source: "iana",
+ extensions: ["uvv", "uvvv"]
+ },
+ "video/vnd.directv.mpeg": {
+ source: "iana"
+ },
+ "video/vnd.directv.mpeg-tts": {
+ source: "iana"
+ },
+ "video/vnd.dlna.mpeg-tts": {
+ source: "iana"
+ },
+ "video/vnd.dvb.file": {
+ source: "iana",
+ extensions: ["dvb"]
+ },
+ "video/vnd.fvt": {
+ source: "iana",
+ extensions: ["fvt"]
+ },
+ "video/vnd.hns.video": {
+ source: "iana"
+ },
+ "video/vnd.iptvforum.1dparityfec-1010": {
+ source: "iana"
+ },
+ "video/vnd.iptvforum.1dparityfec-2005": {
+ source: "iana"
+ },
+ "video/vnd.iptvforum.2dparityfec-1010": {
+ source: "iana"
+ },
+ "video/vnd.iptvforum.2dparityfec-2005": {
+ source: "iana"
+ },
+ "video/vnd.iptvforum.ttsavc": {
+ source: "iana"
+ },
+ "video/vnd.iptvforum.ttsmpeg2": {
+ source: "iana"
+ },
+ "video/vnd.motorola.video": {
+ source: "iana"
+ },
+ "video/vnd.motorola.videop": {
+ source: "iana"
+ },
+ "video/vnd.mpegurl": {
+ source: "iana",
+ extensions: ["mxu", "m4u"]
+ },
+ "video/vnd.ms-playready.media.pyv": {
+ source: "iana",
+ extensions: ["pyv"]
+ },
+ "video/vnd.nokia.interleaved-multimedia": {
+ source: "iana"
+ },
+ "video/vnd.nokia.mp4vr": {
+ source: "iana"
+ },
+ "video/vnd.nokia.videovoip": {
+ source: "iana"
+ },
+ "video/vnd.objectvideo": {
+ source: "iana"
+ },
+ "video/vnd.radgamettools.bink": {
+ source: "iana"
+ },
+ "video/vnd.radgamettools.smacker": {
+ source: "iana"
+ },
+ "video/vnd.sealed.mpeg1": {
+ source: "iana"
+ },
+ "video/vnd.sealed.mpeg4": {
+ source: "iana"
+ },
+ "video/vnd.sealed.swf": {
+ source: "iana"
+ },
+ "video/vnd.sealedmedia.softseal.mov": {
+ source: "iana"
+ },
+ "video/vnd.uvvu.mp4": {
+ source: "iana",
+ extensions: ["uvu", "uvvu"]
+ },
+ "video/vnd.vivo": {
+ source: "iana",
+ extensions: ["viv"]
+ },
+ "video/vnd.youtube.yt": {
+ source: "iana"
+ },
+ "video/vp8": {
+ source: "iana"
+ },
+ "video/vp9": {
+ source: "iana"
+ },
+ "video/webm": {
+ source: "apache",
+ compressible: false,
+ extensions: ["webm"]
+ },
+ "video/x-f4v": {
+ source: "apache",
+ extensions: ["f4v"]
+ },
+ "video/x-fli": {
+ source: "apache",
+ extensions: ["fli"]
+ },
+ "video/x-flv": {
+ source: "apache",
+ compressible: false,
+ extensions: ["flv"]
+ },
+ "video/x-m4v": {
+ source: "apache",
+ extensions: ["m4v"]
+ },
+ "video/x-matroska": {
+ source: "apache",
+ compressible: false,
+ extensions: ["mkv", "mk3d", "mks"]
+ },
+ "video/x-mng": {
+ source: "apache",
+ extensions: ["mng"]
+ },
+ "video/x-ms-asf": {
+ source: "apache",
+ extensions: ["asf", "asx"]
+ },
+ "video/x-ms-vob": {
+ source: "apache",
+ extensions: ["vob"]
+ },
+ "video/x-ms-wm": {
+ source: "apache",
+ extensions: ["wm"]
+ },
+ "video/x-ms-wmv": {
+ source: "apache",
+ compressible: false,
+ extensions: ["wmv"]
+ },
+ "video/x-ms-wmx": {
+ source: "apache",
+ extensions: ["wmx"]
+ },
+ "video/x-ms-wvx": {
+ source: "apache",
+ extensions: ["wvx"]
+ },
+ "video/x-msvideo": {
+ source: "apache",
+ extensions: ["avi"]
+ },
+ "video/x-sgi-movie": {
+ source: "apache",
+ extensions: ["movie"]
+ },
+ "video/x-smv": {
+ source: "apache",
+ extensions: ["smv"]
+ },
+ "x-conference/x-cooltalk": {
+ source: "apache",
+ extensions: ["ice"]
+ },
+ "x-shader/x-fragment": {
+ compressible: true
+ },
+ "x-shader/x-vertex": {
+ compressible: true
+ }
+ };
+ }
+});
+
+// ../../node_modules/.pnpm/mime-db@1.52.0/node_modules/mime-db/index.js
+var require_mime_db2 = __commonJS({
+ "../../node_modules/.pnpm/mime-db@1.52.0/node_modules/mime-db/index.js"(exports, module) {
+ module.exports = require_db2();
+ }
+});
+
+// ../../node_modules/.pnpm/mime-types@2.1.35/node_modules/mime-types/index.js
+var require_mime_types2 = __commonJS({
+ "../../node_modules/.pnpm/mime-types@2.1.35/node_modules/mime-types/index.js"(exports) {
+ "use strict";
+ var db = require_mime_db2();
+ var extname = __require("path").extname;
+ var EXTRACT_TYPE_REGEXP = /^\s*([^;\s]*)(?:;|\s|$)/;
+ var TEXT_TYPE_REGEXP = /^text\//i;
+ exports.charset = charset;
+ exports.charsets = { lookup: charset };
+ exports.contentType = contentType;
+ exports.extension = extension;
+ exports.extensions = /* @__PURE__ */ Object.create(null);
+ exports.lookup = lookup;
+ exports.types = /* @__PURE__ */ Object.create(null);
+ populateMaps(exports.extensions, exports.types);
+ function charset(type) {
+ if (!type || typeof type !== "string") {
+ return false;
+ }
+ var match = EXTRACT_TYPE_REGEXP.exec(type);
+ var mime = match && db[match[1].toLowerCase()];
+ if (mime && mime.charset) {
+ return mime.charset;
+ }
+ if (match && TEXT_TYPE_REGEXP.test(match[1])) {
+ return "UTF-8";
+ }
+ return false;
+ }
+ __name(charset, "charset");
+ function contentType(str) {
+ if (!str || typeof str !== "string") {
+ return false;
+ }
+ var mime = str.indexOf("/") === -1 ? exports.lookup(str) : str;
+ if (!mime) {
+ return false;
+ }
+ if (mime.indexOf("charset") === -1) {
+ var charset2 = exports.charset(mime);
+ if (charset2) mime += "; charset=" + charset2.toLowerCase();
+ }
+ return mime;
+ }
+ __name(contentType, "contentType");
+ function extension(type) {
+ if (!type || typeof type !== "string") {
+ return false;
+ }
+ var match = EXTRACT_TYPE_REGEXP.exec(type);
+ var exts = match && exports.extensions[match[1].toLowerCase()];
+ if (!exts || !exts.length) {
+ return false;
+ }
+ return exts[0];
+ }
+ __name(extension, "extension");
+ function lookup(path) {
+ if (!path || typeof path !== "string") {
+ return false;
+ }
+ var extension2 = extname("x." + path).toLowerCase().substr(1);
+ if (!extension2) {
+ return false;
+ }
+ return exports.types[extension2] || false;
+ }
+ __name(lookup, "lookup");
+ function populateMaps(extensions, types) {
+ var preference = ["nginx", "apache", void 0, "iana"];
+ Object.keys(db).forEach(/* @__PURE__ */ __name(function forEachMimeType(type) {
+ var mime = db[type];
+ var exts = mime.extensions;
+ if (!exts || !exts.length) {
+ return;
+ }
+ extensions[type] = exts;
+ for (var i = 0; i < exts.length; i++) {
+ var extension2 = exts[i];
+ if (types[extension2]) {
+ var from2 = preference.indexOf(db[types[extension2]].source);
+ var to = preference.indexOf(mime.source);
+ if (types[extension2] !== "application/octet-stream" && (from2 > to || from2 === to && types[extension2].substr(0, 12) === "application/")) {
+ continue;
+ }
+ }
+ types[extension2] = type;
+ }
+ }, "forEachMimeType"));
+ }
+ __name(populateMaps, "populateMaps");
+ }
+});
+
+// ../../node_modules/.pnpm/type-is@1.6.18/node_modules/type-is/index.js
+var require_type_is2 = __commonJS({
+ "../../node_modules/.pnpm/type-is@1.6.18/node_modules/type-is/index.js"(exports, module) {
+ "use strict";
+ var typer = require_media_typer2();
+ var mime = require_mime_types2();
+ module.exports = typeofrequest;
+ module.exports.is = typeis;
+ module.exports.hasBody = hasbody;
+ module.exports.normalize = normalize;
+ module.exports.match = mimeMatch;
+ function typeis(value, types_) {
+ var i;
+ var types = types_;
+ var val = tryNormalizeType(value);
+ if (!val) {
+ return false;
+ }
+ if (types && !Array.isArray(types)) {
+ types = new Array(arguments.length - 1);
+ for (i = 0; i < types.length; i++) {
+ types[i] = arguments[i + 1];
+ }
+ }
+ if (!types || !types.length) {
+ return val;
+ }
+ var type;
+ for (i = 0; i < types.length; i++) {
+ if (mimeMatch(normalize(type = types[i]), val)) {
+ return type[0] === "+" || type.indexOf("*") !== -1 ? val : type;
+ }
+ }
+ return false;
+ }
+ __name(typeis, "typeis");
+ function hasbody(req) {
+ return req.headers["transfer-encoding"] !== void 0 || !isNaN(req.headers["content-length"]);
+ }
+ __name(hasbody, "hasbody");
+ function typeofrequest(req, types_) {
+ var types = types_;
+ if (!hasbody(req)) {
+ return null;
+ }
+ if (arguments.length > 2) {
+ types = new Array(arguments.length - 1);
+ for (var i = 0; i < types.length; i++) {
+ types[i] = arguments[i + 1];
+ }
+ }
+ var value = req.headers["content-type"];
+ return typeis(value, types);
+ }
+ __name(typeofrequest, "typeofrequest");
+ function normalize(type) {
+ if (typeof type !== "string") {
+ return false;
+ }
+ switch (type) {
+ case "urlencoded":
+ return "application/x-www-form-urlencoded";
+ case "multipart":
+ return "multipart/*";
+ }
+ if (type[0] === "+") {
+ return "*/*" + type;
+ }
+ return type.indexOf("/") === -1 ? mime.lookup(type) : type;
+ }
+ __name(normalize, "normalize");
+ function mimeMatch(expected, actual) {
+ if (expected === false) {
+ return false;
+ }
+ var actualParts = actual.split("/");
+ var expectedParts = expected.split("/");
+ if (actualParts.length !== 2 || expectedParts.length !== 2) {
+ return false;
+ }
+ if (expectedParts[0] !== "*" && expectedParts[0] !== actualParts[0]) {
+ return false;
+ }
+ if (expectedParts[1].substr(0, 2) === "*+") {
+ return expectedParts[1].length <= actualParts[1].length + 1 && expectedParts[1].substr(1) === actualParts[1].substr(1 - expectedParts[1].length);
+ }
+ if (expectedParts[1] !== "*" && expectedParts[1] !== actualParts[1]) {
+ return false;
+ }
+ return true;
+ }
+ __name(mimeMatch, "mimeMatch");
+ function normalizeType(value) {
+ var type = typer.parse(value);
+ type.parameters = void 0;
+ return typer.format(type);
+ }
+ __name(normalizeType, "normalizeType");
+ function tryNormalizeType(value) {
+ if (!value) {
+ return null;
+ }
+ try {
+ return normalizeType(value);
+ } catch (err) {
+ return null;
+ }
+ }
+ __name(tryNormalizeType, "tryNormalizeType");
+ }
+});
+
+// ../../node_modules/.pnpm/busboy@1.6.0/node_modules/busboy/lib/utils.js
+var require_utils4 = __commonJS({
+ "../../node_modules/.pnpm/busboy@1.6.0/node_modules/busboy/lib/utils.js"(exports, module) {
+ "use strict";
+ function parseContentType(str) {
+ if (str.length === 0)
+ return;
+ const params = /* @__PURE__ */ Object.create(null);
+ let i = 0;
+ for (; i < str.length; ++i) {
+ const code = str.charCodeAt(i);
+ if (TOKEN[code] !== 1) {
+ if (code !== 47 || i === 0)
+ return;
+ break;
+ }
+ }
+ if (i === str.length)
+ return;
+ const type = str.slice(0, i).toLowerCase();
+ const subtypeStart = ++i;
+ for (; i < str.length; ++i) {
+ const code = str.charCodeAt(i);
+ if (TOKEN[code] !== 1) {
+ if (i === subtypeStart)
+ return;
+ if (parseContentTypeParams(str, i, params) === void 0)
+ return;
+ break;
+ }
+ }
+ if (i === subtypeStart)
+ return;
+ const subtype = str.slice(subtypeStart, i).toLowerCase();
+ return { type, subtype, params };
+ }
+ __name(parseContentType, "parseContentType");
+ function parseContentTypeParams(str, i, params) {
+ while (i < str.length) {
+ for (; i < str.length; ++i) {
+ const code = str.charCodeAt(i);
+ if (code !== 32 && code !== 9)
+ break;
+ }
+ if (i === str.length)
+ break;
+ if (str.charCodeAt(i++) !== 59)
+ return;
+ for (; i < str.length; ++i) {
+ const code = str.charCodeAt(i);
+ if (code !== 32 && code !== 9)
+ break;
+ }
+ if (i === str.length)
+ return;
+ let name;
+ const nameStart = i;
+ for (; i < str.length; ++i) {
+ const code = str.charCodeAt(i);
+ if (TOKEN[code] !== 1) {
+ if (code !== 61)
+ return;
+ break;
+ }
+ }
+ if (i === str.length)
+ return;
+ name = str.slice(nameStart, i);
+ ++i;
+ if (i === str.length)
+ return;
+ let value = "";
+ let valueStart;
+ if (str.charCodeAt(i) === 34) {
+ valueStart = ++i;
+ let escaping = false;
+ for (; i < str.length; ++i) {
+ const code = str.charCodeAt(i);
+ if (code === 92) {
+ if (escaping) {
+ valueStart = i;
+ escaping = false;
+ } else {
+ value += str.slice(valueStart, i);
+ escaping = true;
+ }
+ continue;
+ }
+ if (code === 34) {
+ if (escaping) {
+ valueStart = i;
+ escaping = false;
+ continue;
+ }
+ value += str.slice(valueStart, i);
+ break;
+ }
+ if (escaping) {
+ valueStart = i - 1;
+ escaping = false;
+ }
+ if (QDTEXT[code] !== 1)
+ return;
+ }
+ if (i === str.length)
+ return;
+ ++i;
+ } else {
+ valueStart = i;
+ for (; i < str.length; ++i) {
+ const code = str.charCodeAt(i);
+ if (TOKEN[code] !== 1) {
+ if (i === valueStart)
+ return;
+ break;
+ }
+ }
+ value = str.slice(valueStart, i);
+ }
+ name = name.toLowerCase();
+ if (params[name] === void 0)
+ params[name] = value;
+ }
+ return params;
+ }
+ __name(parseContentTypeParams, "parseContentTypeParams");
+ function parseDisposition(str, defDecoder) {
+ if (str.length === 0)
+ return;
+ const params = /* @__PURE__ */ Object.create(null);
+ let i = 0;
+ for (; i < str.length; ++i) {
+ const code = str.charCodeAt(i);
+ if (TOKEN[code] !== 1) {
+ if (parseDispositionParams(str, i, params, defDecoder) === void 0)
+ return;
+ break;
+ }
+ }
+ const type = str.slice(0, i).toLowerCase();
+ return { type, params };
+ }
+ __name(parseDisposition, "parseDisposition");
+ function parseDispositionParams(str, i, params, defDecoder) {
+ while (i < str.length) {
+ for (; i < str.length; ++i) {
+ const code = str.charCodeAt(i);
+ if (code !== 32 && code !== 9)
+ break;
+ }
+ if (i === str.length)
+ break;
+ if (str.charCodeAt(i++) !== 59)
+ return;
+ for (; i < str.length; ++i) {
+ const code = str.charCodeAt(i);
+ if (code !== 32 && code !== 9)
+ break;
+ }
+ if (i === str.length)
+ return;
+ let name;
+ const nameStart = i;
+ for (; i < str.length; ++i) {
+ const code = str.charCodeAt(i);
+ if (TOKEN[code] !== 1) {
+ if (code === 61)
+ break;
+ return;
+ }
+ }
+ if (i === str.length)
+ return;
+ let value = "";
+ let valueStart;
+ let charset;
+ name = str.slice(nameStart, i);
+ if (name.charCodeAt(name.length - 1) === 42) {
+ const charsetStart = ++i;
+ for (; i < str.length; ++i) {
+ const code = str.charCodeAt(i);
+ if (CHARSET[code] !== 1) {
+ if (code !== 39)
+ return;
+ break;
+ }
+ }
+ if (i === str.length)
+ return;
+ charset = str.slice(charsetStart, i);
+ ++i;
+ for (; i < str.length; ++i) {
+ const code = str.charCodeAt(i);
+ if (code === 39)
+ break;
+ }
+ if (i === str.length)
+ return;
+ ++i;
+ if (i === str.length)
+ return;
+ valueStart = i;
+ let encode = 0;
+ for (; i < str.length; ++i) {
+ const code = str.charCodeAt(i);
+ if (EXTENDED_VALUE[code] !== 1) {
+ if (code === 37) {
+ let hexUpper;
+ let hexLower;
+ if (i + 2 < str.length && (hexUpper = HEX_VALUES[str.charCodeAt(i + 1)]) !== -1 && (hexLower = HEX_VALUES[str.charCodeAt(i + 2)]) !== -1) {
+ const byteVal = (hexUpper << 4) + hexLower;
+ value += str.slice(valueStart, i);
+ value += String.fromCharCode(byteVal);
+ i += 2;
+ valueStart = i + 1;
+ if (byteVal >= 128)
+ encode = 2;
+ else if (encode === 0)
+ encode = 1;
+ continue;
+ }
+ return;
+ }
+ break;
+ }
+ }
+ value += str.slice(valueStart, i);
+ value = convertToUTF8(value, charset, encode);
+ if (value === void 0)
+ return;
+ } else {
+ ++i;
+ if (i === str.length)
+ return;
+ if (str.charCodeAt(i) === 34) {
+ valueStart = ++i;
+ let escaping = false;
+ for (; i < str.length; ++i) {
+ const code = str.charCodeAt(i);
+ if (code === 92) {
+ if (escaping) {
+ valueStart = i;
+ escaping = false;
+ } else {
+ value += str.slice(valueStart, i);
+ escaping = true;
+ }
+ continue;
+ }
+ if (code === 34) {
+ if (escaping) {
+ valueStart = i;
+ escaping = false;
+ continue;
+ }
+ value += str.slice(valueStart, i);
+ break;
+ }
+ if (escaping) {
+ valueStart = i - 1;
+ escaping = false;
+ }
+ if (QDTEXT[code] !== 1)
+ return;
+ }
+ if (i === str.length)
+ return;
+ ++i;
+ } else {
+ valueStart = i;
+ for (; i < str.length; ++i) {
+ const code = str.charCodeAt(i);
+ if (TOKEN[code] !== 1) {
+ if (i === valueStart)
+ return;
+ break;
+ }
+ }
+ value = str.slice(valueStart, i);
+ }
+ value = defDecoder(value, 2);
+ if (value === void 0)
+ return;
+ }
+ name = name.toLowerCase();
+ if (params[name] === void 0)
+ params[name] = value;
+ }
+ return params;
+ }
+ __name(parseDispositionParams, "parseDispositionParams");
+ function getDecoder(charset) {
+ let lc;
+ while (true) {
+ switch (charset) {
+ case "utf-8":
+ case "utf8":
+ return decoders.utf8;
+ case "latin1":
+ case "ascii":
+ // TODO: Make these a separate, strict decoder?
+ case "us-ascii":
+ case "iso-8859-1":
+ case "iso8859-1":
+ case "iso88591":
+ case "iso_8859-1":
+ case "windows-1252":
+ case "iso_8859-1:1987":
+ case "cp1252":
+ case "x-cp1252":
+ return decoders.latin1;
+ case "utf16le":
+ case "utf-16le":
+ case "ucs2":
+ case "ucs-2":
+ return decoders.utf16le;
+ case "base64":
+ return decoders.base64;
+ default:
+ if (lc === void 0) {
+ lc = true;
+ charset = charset.toLowerCase();
+ continue;
+ }
+ return decoders.other.bind(charset);
+ }
+ }
+ }
+ __name(getDecoder, "getDecoder");
+ var decoders = {
+ utf8: /* @__PURE__ */ __name((data, hint) => {
+ if (data.length === 0)
+ return "";
+ if (typeof data === "string") {
+ if (hint < 2)
+ return data;
+ data = Buffer.from(data, "latin1");
+ }
+ return data.utf8Slice(0, data.length);
+ }, "utf8"),
+ latin1: /* @__PURE__ */ __name((data, hint) => {
+ if (data.length === 0)
+ return "";
+ if (typeof data === "string")
+ return data;
+ return data.latin1Slice(0, data.length);
+ }, "latin1"),
+ utf16le: /* @__PURE__ */ __name((data, hint) => {
+ if (data.length === 0)
+ return "";
+ if (typeof data === "string")
+ data = Buffer.from(data, "latin1");
+ return data.ucs2Slice(0, data.length);
+ }, "utf16le"),
+ base64: /* @__PURE__ */ __name((data, hint) => {
+ if (data.length === 0)
+ return "";
+ if (typeof data === "string")
+ data = Buffer.from(data, "latin1");
+ return data.base64Slice(0, data.length);
+ }, "base64"),
+ other: /* @__PURE__ */ __name((data, hint) => {
+ if (data.length === 0)
+ return "";
+ if (typeof data === "string")
+ data = Buffer.from(data, "latin1");
+ try {
+ const decoder = new TextDecoder(exports);
+ return decoder.decode(data);
+ } catch {
+ }
+ }, "other")
+ };
+ function convertToUTF8(data, charset, hint) {
+ const decode = getDecoder(charset);
+ if (decode)
+ return decode(data, hint);
+ }
+ __name(convertToUTF8, "convertToUTF8");
+ function basename(path) {
+ if (typeof path !== "string")
+ return "";
+ for (let i = path.length - 1; i >= 0; --i) {
+ switch (path.charCodeAt(i)) {
+ case 47:
+ // '/'
+ case 92:
+ path = path.slice(i + 1);
+ return path === ".." || path === "." ? "" : path;
+ }
+ }
+ return path === ".." || path === "." ? "" : path;
+ }
+ __name(basename, "basename");
+ var TOKEN = [
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 1,
+ 0,
+ 1,
+ 1,
+ 1,
+ 1,
+ 1,
+ 0,
+ 0,
+ 1,
+ 1,
+ 0,
+ 1,
+ 1,
+ 0,
+ 1,
+ 1,
+ 1,
+ 1,
+ 1,
+ 1,
+ 1,
+ 1,
+ 1,
+ 1,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 1,
+ 1,
+ 1,
+ 1,
+ 1,
+ 1,
+ 1,
+ 1,
+ 1,
+ 1,
+ 1,
+ 1,
+ 1,
+ 1,
+ 1,
+ 1,
+ 1,
+ 1,
+ 1,
+ 1,
+ 1,
+ 1,
+ 1,
+ 1,
+ 1,
+ 1,
+ 0,
+ 0,
+ 0,
+ 1,
+ 1,
+ 1,
+ 1,
+ 1,
+ 1,
+ 1,
+ 1,
+ 1,
+ 1,
+ 1,
+ 1,
+ 1,
+ 1,
+ 1,
+ 1,
+ 1,
+ 1,
+ 1,
+ 1,
+ 1,
+ 1,
+ 1,
+ 1,
+ 1,
+ 1,
+ 1,
+ 1,
+ 1,
+ 0,
+ 1,
+ 0,
+ 1,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0
+ ];
+ var QDTEXT = [
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 1,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 1,
+ 1,
+ 0,
+ 1,
+ 1,
+ 1,
+ 1,
+ 1,
+ 1,
+ 1,
+ 1,
+ 1,
+ 1,
+ 1,
+ 1,
+ 1,
+ 1,
+ 1,
+ 1,
+ 1,
+ 1,
+ 1,
+ 1,
+ 1,
+ 1,
+ 1,
+ 1,
+ 1,
+ 1,
+ 1,
+ 1,
+ 1,
+ 1,
+ 1,
+ 1,
+ 1,
+ 1,
+ 1,
+ 1,
+ 1,
+ 1,
+ 1,
+ 1,
+ 1,
+ 1,
+ 1,
+ 1,
+ 1,
+ 1,
+ 1,
+ 1,
+ 1,
+ 1,
+ 1,
+ 1,
+ 1,
+ 1,
+ 1,
+ 1,
+ 1,
+ 0,
+ 1,
+ 1,
+ 1,
+ 1,
+ 1,
+ 1,
+ 1,
+ 1,
+ 1,
+ 1,
+ 1,
+ 1,
+ 1,
+ 1,
+ 1,
+ 1,
+ 1,
+ 1,
+ 1,
+ 1,
+ 1,
+ 1,
+ 1,
+ 1,
+ 1,
+ 1,
+ 1,
+ 1,
+ 1,
+ 1,
+ 1,
+ 1,
+ 1,
+ 1,
+ 0,
+ 1,
+ 1,
+ 1,
+ 1,
+ 1,
+ 1,
+ 1,
+ 1,
+ 1,
+ 1,
+ 1,
+ 1,
+ 1,
+ 1,
+ 1,
+ 1,
+ 1,
+ 1,
+ 1,
+ 1,
+ 1,
+ 1,
+ 1,
+ 1,
+ 1,
+ 1,
+ 1,
+ 1,
+ 1,
+ 1,
+ 1,
+ 1,
+ 1,
+ 1,
+ 1,
+ 1,
+ 1,
+ 1,
+ 1,
+ 1,
+ 1,
+ 1,
+ 1,
+ 1,
+ 1,
+ 1,
+ 1,
+ 1,
+ 1,
+ 1,
+ 1,
+ 1,
+ 1,
+ 1,
+ 1,
+ 1,
+ 1,
+ 1,
+ 1,
+ 1,
+ 1,
+ 1,
+ 1,
+ 1,
+ 1,
+ 1,
+ 1,
+ 1,
+ 1,
+ 1,
+ 1,
+ 1,
+ 1,
+ 1,
+ 1,
+ 1,
+ 1,
+ 1,
+ 1,
+ 1,
+ 1,
+ 1,
+ 1,
+ 1,
+ 1,
+ 1,
+ 1,
+ 1,
+ 1,
+ 1,
+ 1,
+ 1,
+ 1,
+ 1,
+ 1,
+ 1,
+ 1,
+ 1,
+ 1,
+ 1,
+ 1,
+ 1,
+ 1,
+ 1,
+ 1,
+ 1,
+ 1,
+ 1,
+ 1,
+ 1,
+ 1,
+ 1,
+ 1,
+ 1,
+ 1,
+ 1,
+ 1,
+ 1,
+ 1,
+ 1,
+ 1,
+ 1,
+ 1,
+ 1,
+ 1,
+ 1,
+ 1,
+ 1
+ ];
+ var CHARSET = [
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 1,
+ 0,
+ 1,
+ 1,
+ 1,
+ 1,
+ 0,
+ 0,
+ 0,
+ 0,
+ 1,
+ 0,
+ 1,
+ 0,
+ 0,
+ 1,
+ 1,
+ 1,
+ 1,
+ 1,
+ 1,
+ 1,
+ 1,
+ 1,
+ 1,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 1,
+ 1,
+ 1,
+ 1,
+ 1,
+ 1,
+ 1,
+ 1,
+ 1,
+ 1,
+ 1,
+ 1,
+ 1,
+ 1,
+ 1,
+ 1,
+ 1,
+ 1,
+ 1,
+ 1,
+ 1,
+ 1,
+ 1,
+ 1,
+ 1,
+ 1,
+ 0,
+ 0,
+ 0,
+ 1,
+ 1,
+ 1,
+ 1,
+ 1,
+ 1,
+ 1,
+ 1,
+ 1,
+ 1,
+ 1,
+ 1,
+ 1,
+ 1,
+ 1,
+ 1,
+ 1,
+ 1,
+ 1,
+ 1,
+ 1,
+ 1,
+ 1,
+ 1,
+ 1,
+ 1,
+ 1,
+ 1,
+ 1,
+ 1,
+ 0,
+ 1,
+ 1,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0
+ ];
+ var EXTENDED_VALUE = [
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 1,
+ 0,
+ 1,
+ 1,
+ 0,
+ 1,
+ 0,
+ 0,
+ 0,
+ 0,
+ 1,
+ 0,
+ 1,
+ 1,
+ 0,
+ 1,
+ 1,
+ 1,
+ 1,
+ 1,
+ 1,
+ 1,
+ 1,
+ 1,
+ 1,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 1,
+ 1,
+ 1,
+ 1,
+ 1,
+ 1,
+ 1,
+ 1,
+ 1,
+ 1,
+ 1,
+ 1,
+ 1,
+ 1,
+ 1,
+ 1,
+ 1,
+ 1,
+ 1,
+ 1,
+ 1,
+ 1,
+ 1,
+ 1,
+ 1,
+ 1,
+ 0,
+ 0,
+ 0,
+ 1,
+ 1,
+ 1,
+ 1,
+ 1,
+ 1,
+ 1,
+ 1,
+ 1,
+ 1,
+ 1,
+ 1,
+ 1,
+ 1,
+ 1,
+ 1,
+ 1,
+ 1,
+ 1,
+ 1,
+ 1,
+ 1,
+ 1,
+ 1,
+ 1,
+ 1,
+ 1,
+ 1,
+ 1,
+ 0,
+ 1,
+ 0,
+ 1,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0
+ ];
+ var HEX_VALUES = [
+ -1,
+ -1,
+ -1,
+ -1,
+ -1,
+ -1,
+ -1,
+ -1,
+ -1,
+ -1,
+ -1,
+ -1,
+ -1,
+ -1,
+ -1,
+ -1,
+ -1,
+ -1,
+ -1,
+ -1,
+ -1,
+ -1,
+ -1,
+ -1,
+ -1,
+ -1,
+ -1,
+ -1,
+ -1,
+ -1,
+ -1,
+ -1,
+ -1,
+ -1,
+ -1,
+ -1,
+ -1,
+ -1,
+ -1,
+ -1,
+ -1,
+ -1,
+ -1,
+ -1,
+ -1,
+ -1,
+ -1,
+ -1,
+ 0,
+ 1,
+ 2,
+ 3,
+ 4,
+ 5,
+ 6,
+ 7,
+ 8,
+ 9,
+ -1,
+ -1,
+ -1,
+ -1,
+ -1,
+ -1,
+ -1,
+ 10,
+ 11,
+ 12,
+ 13,
+ 14,
+ 15,
+ -1,
+ -1,
+ -1,
+ -1,
+ -1,
+ -1,
+ -1,
+ -1,
+ -1,
+ -1,
+ -1,
+ -1,
+ -1,
+ -1,
+ -1,
+ -1,
+ -1,
+ -1,
+ -1,
+ -1,
+ -1,
+ -1,
+ -1,
+ -1,
+ -1,
+ -1,
+ 10,
+ 11,
+ 12,
+ 13,
+ 14,
+ 15,
+ -1,
+ -1,
+ -1,
+ -1,
+ -1,
+ -1,
+ -1,
+ -1,
+ -1,
+ -1,
+ -1,
+ -1,
+ -1,
+ -1,
+ -1,
+ -1,
+ -1,
+ -1,
+ -1,
+ -1,
+ -1,
+ -1,
+ -1,
+ -1,
+ -1,
+ -1,
+ -1,
+ -1,
+ -1,
+ -1,
+ -1,
+ -1,
+ -1,
+ -1,
+ -1,
+ -1,
+ -1,
+ -1,
+ -1,
+ -1,
+ -1,
+ -1,
+ -1,
+ -1,
+ -1,
+ -1,
+ -1,
+ -1,
+ -1,
+ -1,
+ -1,
+ -1,
+ -1,
+ -1,
+ -1,
+ -1,
+ -1,
+ -1,
+ -1,
+ -1,
+ -1,
+ -1,
+ -1,
+ -1,
+ -1,
+ -1,
+ -1,
+ -1,
+ -1,
+ -1,
+ -1,
+ -1,
+ -1,
+ -1,
+ -1,
+ -1,
+ -1,
+ -1,
+ -1,
+ -1,
+ -1,
+ -1,
+ -1,
+ -1,
+ -1,
+ -1,
+ -1,
+ -1,
+ -1,
+ -1,
+ -1,
+ -1,
+ -1,
+ -1,
+ -1,
+ -1,
+ -1,
+ -1,
+ -1,
+ -1,
+ -1,
+ -1,
+ -1,
+ -1,
+ -1,
+ -1,
+ -1,
+ -1,
+ -1,
+ -1,
+ -1,
+ -1,
+ -1,
+ -1,
+ -1,
+ -1,
+ -1,
+ -1,
+ -1,
+ -1,
+ -1,
+ -1,
+ -1,
+ -1,
+ -1,
+ -1,
+ -1,
+ -1,
+ -1,
+ -1,
+ -1,
+ -1,
+ -1,
+ -1,
+ -1,
+ -1,
+ -1,
+ -1,
+ -1,
+ -1,
+ -1,
+ -1,
+ -1,
+ -1,
+ -1,
+ -1,
+ -1,
+ -1,
+ -1,
+ -1,
+ -1,
+ -1,
+ -1
+ ];
+ module.exports = {
+ basename,
+ convertToUTF8,
+ getDecoder,
+ parseContentType,
+ parseDisposition
+ };
+ }
+});
+
+// ../../node_modules/.pnpm/streamsearch@1.1.0/node_modules/streamsearch/lib/sbmh.js
+var require_sbmh = __commonJS({
+ "../../node_modules/.pnpm/streamsearch@1.1.0/node_modules/streamsearch/lib/sbmh.js"(exports, module) {
+ "use strict";
+ function memcmp(buf1, pos1, buf2, pos2, num) {
+ for (let i = 0; i < num; ++i) {
+ if (buf1[pos1 + i] !== buf2[pos2 + i])
+ return false;
+ }
+ return true;
+ }
+ __name(memcmp, "memcmp");
+ var SBMH = class {
+ static {
+ __name(this, "SBMH");
+ }
+ constructor(needle, cb) {
+ if (typeof cb !== "function")
+ throw new Error("Missing match callback");
+ if (typeof needle === "string")
+ needle = Buffer.from(needle);
+ else if (!Buffer.isBuffer(needle))
+ throw new Error(`Expected Buffer for needle, got ${typeof needle}`);
+ const needleLen = needle.length;
+ this.maxMatches = Infinity;
+ this.matches = 0;
+ this._cb = cb;
+ this._lookbehindSize = 0;
+ this._needle = needle;
+ this._bufPos = 0;
+ this._lookbehind = Buffer.allocUnsafe(needleLen);
+ this._occ = [
+ needleLen,
+ needleLen,
+ needleLen,
+ needleLen,
+ needleLen,
+ needleLen,
+ needleLen,
+ needleLen,
+ needleLen,
+ needleLen,
+ needleLen,
+ needleLen,
+ needleLen,
+ needleLen,
+ needleLen,
+ needleLen,
+ needleLen,
+ needleLen,
+ needleLen,
+ needleLen,
+ needleLen,
+ needleLen,
+ needleLen,
+ needleLen,
+ needleLen,
+ needleLen,
+ needleLen,
+ needleLen,
+ needleLen,
+ needleLen,
+ needleLen,
+ needleLen,
+ needleLen,
+ needleLen,
+ needleLen,
+ needleLen,
+ needleLen,
+ needleLen,
+ needleLen,
+ needleLen,
+ needleLen,
+ needleLen,
+ needleLen,
+ needleLen,
+ needleLen,
+ needleLen,
+ needleLen,
+ needleLen,
+ needleLen,
+ needleLen,
+ needleLen,
+ needleLen,
+ needleLen,
+ needleLen,
+ needleLen,
+ needleLen,
+ needleLen,
+ needleLen,
+ needleLen,
+ needleLen,
+ needleLen,
+ needleLen,
+ needleLen,
+ needleLen,
+ needleLen,
+ needleLen,
+ needleLen,
+ needleLen,
+ needleLen,
+ needleLen,
+ needleLen,
+ needleLen,
+ needleLen,
+ needleLen,
+ needleLen,
+ needleLen,
+ needleLen,
+ needleLen,
+ needleLen,
+ needleLen,
+ needleLen,
+ needleLen,
+ needleLen,
+ needleLen,
+ needleLen,
+ needleLen,
+ needleLen,
+ needleLen,
+ needleLen,
+ needleLen,
+ needleLen,
+ needleLen,
+ needleLen,
+ needleLen,
+ needleLen,
+ needleLen,
+ needleLen,
+ needleLen,
+ needleLen,
+ needleLen,
+ needleLen,
+ needleLen,
+ needleLen,
+ needleLen,
+ needleLen,
+ needleLen,
+ needleLen,
+ needleLen,
+ needleLen,
+ needleLen,
+ needleLen,
+ needleLen,
+ needleLen,
+ needleLen,
+ needleLen,
+ needleLen,
+ needleLen,
+ needleLen,
+ needleLen,
+ needleLen,
+ needleLen,
+ needleLen,
+ needleLen,
+ needleLen,
+ needleLen,
+ needleLen,
+ needleLen,
+ needleLen,
+ needleLen,
+ needleLen,
+ needleLen,
+ needleLen,
+ needleLen,
+ needleLen,
+ needleLen,
+ needleLen,
+ needleLen,
+ needleLen,
+ needleLen,
+ needleLen,
+ needleLen,
+ needleLen,
+ needleLen,
+ needleLen,
+ needleLen,
+ needleLen,
+ needleLen,
+ needleLen,
+ needleLen,
+ needleLen,
+ needleLen,
+ needleLen,
+ needleLen,
+ needleLen,
+ needleLen,
+ needleLen,
+ needleLen,
+ needleLen,
+ needleLen,
+ needleLen,
+ needleLen,
+ needleLen,
+ needleLen,
+ needleLen,
+ needleLen,
+ needleLen,
+ needleLen,
+ needleLen,
+ needleLen,
+ needleLen,
+ needleLen,
+ needleLen,
+ needleLen,
+ needleLen,
+ needleLen,
+ needleLen,
+ needleLen,
+ needleLen,
+ needleLen,
+ needleLen,
+ needleLen,
+ needleLen,
+ needleLen,
+ needleLen,
+ needleLen,
+ needleLen,
+ needleLen,
+ needleLen,
+ needleLen,
+ needleLen,
+ needleLen,
+ needleLen,
+ needleLen,
+ needleLen,
+ needleLen,
+ needleLen,
+ needleLen,
+ needleLen,
+ needleLen,
+ needleLen,
+ needleLen,
+ needleLen,
+ needleLen,
+ needleLen,
+ needleLen,
+ needleLen,
+ needleLen,
+ needleLen,
+ needleLen,
+ needleLen,
+ needleLen,
+ needleLen,
+ needleLen,
+ needleLen,
+ needleLen,
+ needleLen,
+ needleLen,
+ needleLen,
+ needleLen,
+ needleLen,
+ needleLen,
+ needleLen,
+ needleLen,
+ needleLen,
+ needleLen,
+ needleLen,
+ needleLen,
+ needleLen,
+ needleLen,
+ needleLen,
+ needleLen,
+ needleLen,
+ needleLen,
+ needleLen,
+ needleLen,
+ needleLen,
+ needleLen,
+ needleLen,
+ needleLen,
+ needleLen,
+ needleLen,
+ needleLen,
+ needleLen,
+ needleLen,
+ needleLen,
+ needleLen,
+ needleLen,
+ needleLen,
+ needleLen,
+ needleLen,
+ needleLen,
+ needleLen,
+ needleLen,
+ needleLen,
+ needleLen,
+ needleLen
+ ];
+ if (needleLen > 1) {
+ for (let i = 0; i < needleLen - 1; ++i)
+ this._occ[needle[i]] = needleLen - 1 - i;
+ }
+ }
+ reset() {
+ this.matches = 0;
+ this._lookbehindSize = 0;
+ this._bufPos = 0;
+ }
+ push(chunk, pos) {
+ let result;
+ if (!Buffer.isBuffer(chunk))
+ chunk = Buffer.from(chunk, "latin1");
+ const chunkLen = chunk.length;
+ this._bufPos = pos || 0;
+ while (result !== chunkLen && this.matches < this.maxMatches)
+ result = feed(this, chunk);
+ return result;
+ }
+ destroy() {
+ const lbSize = this._lookbehindSize;
+ if (lbSize)
+ this._cb(false, this._lookbehind, 0, lbSize, false);
+ this.reset();
+ }
+ };
+ function feed(self, data) {
+ const len = data.length;
+ const needle = self._needle;
+ const needleLen = needle.length;
+ let pos = -self._lookbehindSize;
+ const lastNeedleCharPos = needleLen - 1;
+ const lastNeedleChar = needle[lastNeedleCharPos];
+ const end = len - needleLen;
+ const occ = self._occ;
+ const lookbehind = self._lookbehind;
+ if (pos < 0) {
+ while (pos < 0 && pos <= end) {
+ const nextPos = pos + lastNeedleCharPos;
+ const ch = nextPos < 0 ? lookbehind[self._lookbehindSize + nextPos] : data[nextPos];
+ if (ch === lastNeedleChar && matchNeedle(self, data, pos, lastNeedleCharPos)) {
+ self._lookbehindSize = 0;
+ ++self.matches;
+ if (pos > -self._lookbehindSize)
+ self._cb(true, lookbehind, 0, self._lookbehindSize + pos, false);
+ else
+ self._cb(true, void 0, 0, 0, true);
+ return self._bufPos = pos + needleLen;
+ }
+ pos += occ[ch];
+ }
+ while (pos < 0 && !matchNeedle(self, data, pos, len - pos))
+ ++pos;
+ if (pos < 0) {
+ const bytesToCutOff = self._lookbehindSize + pos;
+ if (bytesToCutOff > 0) {
+ self._cb(false, lookbehind, 0, bytesToCutOff, false);
+ }
+ self._lookbehindSize -= bytesToCutOff;
+ lookbehind.copy(lookbehind, 0, bytesToCutOff, self._lookbehindSize);
+ lookbehind.set(data, self._lookbehindSize);
+ self._lookbehindSize += len;
+ self._bufPos = len;
+ return len;
+ }
+ self._cb(false, lookbehind, 0, self._lookbehindSize, false);
+ self._lookbehindSize = 0;
+ }
+ pos += self._bufPos;
+ const firstNeedleChar = needle[0];
+ while (pos <= end) {
+ const ch = data[pos + lastNeedleCharPos];
+ if (ch === lastNeedleChar && data[pos] === firstNeedleChar && memcmp(needle, 0, data, pos, lastNeedleCharPos)) {
+ ++self.matches;
+ if (pos > 0)
+ self._cb(true, data, self._bufPos, pos, true);
+ else
+ self._cb(true, void 0, 0, 0, true);
+ return self._bufPos = pos + needleLen;
+ }
+ pos += occ[ch];
+ }
+ while (pos < len) {
+ if (data[pos] !== firstNeedleChar || !memcmp(data, pos, needle, 0, len - pos)) {
+ ++pos;
+ continue;
+ }
+ data.copy(lookbehind, 0, pos, len);
+ self._lookbehindSize = len - pos;
+ break;
+ }
+ if (pos > 0)
+ self._cb(false, data, self._bufPos, pos < len ? pos : len, true);
+ self._bufPos = len;
+ return len;
+ }
+ __name(feed, "feed");
+ function matchNeedle(self, data, pos, len) {
+ const lb = self._lookbehind;
+ const lbSize = self._lookbehindSize;
+ const needle = self._needle;
+ for (let i = 0; i < len; ++i, ++pos) {
+ const ch = pos < 0 ? lb[lbSize + pos] : data[pos];
+ if (ch !== needle[i])
+ return false;
+ }
+ return true;
+ }
+ __name(matchNeedle, "matchNeedle");
+ module.exports = SBMH;
+ }
+});
+
+// ../../node_modules/.pnpm/busboy@1.6.0/node_modules/busboy/lib/types/multipart.js
+var require_multipart = __commonJS({
+ "../../node_modules/.pnpm/busboy@1.6.0/node_modules/busboy/lib/types/multipart.js"(exports, module) {
+ "use strict";
+ var { Readable, Writable } = __require("stream");
+ var StreamSearch = require_sbmh();
+ var {
+ basename,
+ convertToUTF8,
+ getDecoder,
+ parseContentType,
+ parseDisposition
+ } = require_utils4();
+ var BUF_CRLF = Buffer.from("\r\n");
+ var BUF_CR = Buffer.from("\r");
+ var BUF_DASH = Buffer.from("-");
+ function noop5() {
+ }
+ __name(noop5, "noop");
+ var MAX_HEADER_PAIRS = 2e3;
+ var MAX_HEADER_SIZE = 16 * 1024;
+ var HPARSER_NAME = 0;
+ var HPARSER_PRE_OWS = 1;
+ var HPARSER_VALUE = 2;
+ var HeaderParser = class {
+ static {
+ __name(this, "HeaderParser");
+ }
+ constructor(cb) {
+ this.header = /* @__PURE__ */ Object.create(null);
+ this.pairCount = 0;
+ this.byteCount = 0;
+ this.state = HPARSER_NAME;
+ this.name = "";
+ this.value = "";
+ this.crlf = 0;
+ this.cb = cb;
+ }
+ reset() {
+ this.header = /* @__PURE__ */ Object.create(null);
+ this.pairCount = 0;
+ this.byteCount = 0;
+ this.state = HPARSER_NAME;
+ this.name = "";
+ this.value = "";
+ this.crlf = 0;
+ }
+ push(chunk, pos, end) {
+ let start = pos;
+ while (pos < end) {
+ switch (this.state) {
+ case HPARSER_NAME: {
+ let done = false;
+ for (; pos < end; ++pos) {
+ if (this.byteCount === MAX_HEADER_SIZE)
+ return -1;
+ ++this.byteCount;
+ const code = chunk[pos];
+ if (TOKEN[code] !== 1) {
+ if (code !== 58)
+ return -1;
+ this.name += chunk.latin1Slice(start, pos);
+ if (this.name.length === 0)
+ return -1;
+ ++pos;
+ done = true;
+ this.state = HPARSER_PRE_OWS;
+ break;
+ }
+ }
+ if (!done) {
+ this.name += chunk.latin1Slice(start, pos);
+ break;
+ }
+ }
+ case HPARSER_PRE_OWS: {
+ let done = false;
+ for (; pos < end; ++pos) {
+ if (this.byteCount === MAX_HEADER_SIZE)
+ return -1;
+ ++this.byteCount;
+ const code = chunk[pos];
+ if (code !== 32 && code !== 9) {
+ start = pos;
+ done = true;
+ this.state = HPARSER_VALUE;
+ break;
+ }
+ }
+ if (!done)
+ break;
+ }
+ case HPARSER_VALUE:
+ switch (this.crlf) {
+ case 0:
+ for (; pos < end; ++pos) {
+ if (this.byteCount === MAX_HEADER_SIZE)
+ return -1;
+ ++this.byteCount;
+ const code = chunk[pos];
+ if (FIELD_VCHAR[code] !== 1) {
+ if (code !== 13)
+ return -1;
+ ++this.crlf;
+ break;
+ }
+ }
+ this.value += chunk.latin1Slice(start, pos++);
+ break;
+ case 1:
+ if (this.byteCount === MAX_HEADER_SIZE)
+ return -1;
+ ++this.byteCount;
+ if (chunk[pos++] !== 10)
+ return -1;
+ ++this.crlf;
+ break;
+ case 2: {
+ if (this.byteCount === MAX_HEADER_SIZE)
+ return -1;
+ ++this.byteCount;
+ const code = chunk[pos];
+ if (code === 32 || code === 9) {
+ start = pos;
+ this.crlf = 0;
+ } else {
+ if (++this.pairCount < MAX_HEADER_PAIRS) {
+ this.name = this.name.toLowerCase();
+ if (this.header[this.name] === void 0)
+ this.header[this.name] = [this.value];
+ else
+ this.header[this.name].push(this.value);
+ }
+ if (code === 13) {
+ ++this.crlf;
+ ++pos;
+ } else {
+ start = pos;
+ this.crlf = 0;
+ this.state = HPARSER_NAME;
+ this.name = "";
+ this.value = "";
+ }
+ }
+ break;
+ }
+ case 3: {
+ if (this.byteCount === MAX_HEADER_SIZE)
+ return -1;
+ ++this.byteCount;
+ if (chunk[pos++] !== 10)
+ return -1;
+ const header = this.header;
+ this.reset();
+ this.cb(header);
+ return pos;
+ }
+ }
+ break;
+ }
+ }
+ return pos;
+ }
+ };
+ var FileStream = class extends Readable {
+ static {
+ __name(this, "FileStream");
+ }
+ constructor(opts, owner) {
+ super(opts);
+ this.truncated = false;
+ this._readcb = null;
+ this.once("end", () => {
+ this._read();
+ if (--owner._fileEndsLeft === 0 && owner._finalcb) {
+ const cb = owner._finalcb;
+ owner._finalcb = null;
+ process.nextTick(cb);
+ }
+ });
+ }
+ _read(n) {
+ const cb = this._readcb;
+ if (cb) {
+ this._readcb = null;
+ cb();
+ }
+ }
+ };
+ var ignoreData = {
+ push: /* @__PURE__ */ __name((chunk, pos) => {
+ }, "push"),
+ destroy: /* @__PURE__ */ __name(() => {
+ }, "destroy")
+ };
+ function callAndUnsetCb(self, err) {
+ const cb = self._writecb;
+ self._writecb = null;
+ if (err)
+ self.destroy(err);
+ else if (cb)
+ cb();
+ }
+ __name(callAndUnsetCb, "callAndUnsetCb");
+ function nullDecoder(val, hint) {
+ return val;
+ }
+ __name(nullDecoder, "nullDecoder");
+ var Multipart = class extends Writable {
+ static {
+ __name(this, "Multipart");
+ }
+ constructor(cfg) {
+ const streamOpts = {
+ autoDestroy: true,
+ emitClose: true,
+ highWaterMark: typeof cfg.highWaterMark === "number" ? cfg.highWaterMark : void 0
+ };
+ super(streamOpts);
+ if (!cfg.conType.params || typeof cfg.conType.params.boundary !== "string")
+ throw new Error("Multipart: Boundary not found");
+ const boundary = cfg.conType.params.boundary;
+ const paramDecoder = typeof cfg.defParamCharset === "string" && cfg.defParamCharset ? getDecoder(cfg.defParamCharset) : nullDecoder;
+ const defCharset = cfg.defCharset || "utf8";
+ const preservePath = cfg.preservePath;
+ const fileOpts = {
+ autoDestroy: true,
+ emitClose: true,
+ highWaterMark: typeof cfg.fileHwm === "number" ? cfg.fileHwm : void 0
+ };
+ const limits = cfg.limits;
+ const fieldSizeLimit = limits && typeof limits.fieldSize === "number" ? limits.fieldSize : 1 * 1024 * 1024;
+ const fileSizeLimit = limits && typeof limits.fileSize === "number" ? limits.fileSize : Infinity;
+ const filesLimit = limits && typeof limits.files === "number" ? limits.files : Infinity;
+ const fieldsLimit = limits && typeof limits.fields === "number" ? limits.fields : Infinity;
+ const partsLimit = limits && typeof limits.parts === "number" ? limits.parts : Infinity;
+ let parts = -1;
+ let fields = 0;
+ let files = 0;
+ let skipPart = false;
+ this._fileEndsLeft = 0;
+ this._fileStream = void 0;
+ this._complete = false;
+ let fileSize = 0;
+ let field;
+ let fieldSize = 0;
+ let partCharset;
+ let partEncoding;
+ let partType;
+ let partName;
+ let partTruncated = false;
+ let hitFilesLimit = false;
+ let hitFieldsLimit = false;
+ this._hparser = null;
+ const hparser = new HeaderParser((header) => {
+ this._hparser = null;
+ skipPart = false;
+ partType = "text/plain";
+ partCharset = defCharset;
+ partEncoding = "7bit";
+ partName = void 0;
+ partTruncated = false;
+ let filename;
+ if (!header["content-disposition"]) {
+ skipPart = true;
+ return;
+ }
+ const disp = parseDisposition(
+ header["content-disposition"][0],
+ paramDecoder
+ );
+ if (!disp || disp.type !== "form-data") {
+ skipPart = true;
+ return;
+ }
+ if (disp.params) {
+ if (disp.params.name)
+ partName = disp.params.name;
+ if (disp.params["filename*"])
+ filename = disp.params["filename*"];
+ else if (disp.params.filename)
+ filename = disp.params.filename;
+ if (filename !== void 0 && !preservePath)
+ filename = basename(filename);
+ }
+ if (header["content-type"]) {
+ const conType = parseContentType(header["content-type"][0]);
+ if (conType) {
+ partType = `${conType.type}/${conType.subtype}`;
+ if (conType.params && typeof conType.params.charset === "string")
+ partCharset = conType.params.charset.toLowerCase();
+ }
+ }
+ if (header["content-transfer-encoding"])
+ partEncoding = header["content-transfer-encoding"][0].toLowerCase();
+ if (partType === "application/octet-stream" || filename !== void 0) {
+ if (files === filesLimit) {
+ if (!hitFilesLimit) {
+ hitFilesLimit = true;
+ this.emit("filesLimit");
+ }
+ skipPart = true;
+ return;
+ }
+ ++files;
+ if (this.listenerCount("file") === 0) {
+ skipPart = true;
+ return;
+ }
+ fileSize = 0;
+ this._fileStream = new FileStream(fileOpts, this);
+ ++this._fileEndsLeft;
+ this.emit(
+ "file",
+ partName,
+ this._fileStream,
+ {
+ filename,
+ encoding: partEncoding,
+ mimeType: partType
+ }
+ );
+ } else {
+ if (fields === fieldsLimit) {
+ if (!hitFieldsLimit) {
+ hitFieldsLimit = true;
+ this.emit("fieldsLimit");
+ }
+ skipPart = true;
+ return;
+ }
+ ++fields;
+ if (this.listenerCount("field") === 0) {
+ skipPart = true;
+ return;
+ }
+ field = [];
+ fieldSize = 0;
+ }
+ });
+ let matchPostBoundary = 0;
+ const ssCb = /* @__PURE__ */ __name((isMatch, data, start, end, isDataSafe) => {
+ retrydata:
+ while (data) {
+ if (this._hparser !== null) {
+ const ret = this._hparser.push(data, start, end);
+ if (ret === -1) {
+ this._hparser = null;
+ hparser.reset();
+ this.emit("error", new Error("Malformed part header"));
+ break;
+ }
+ start = ret;
+ }
+ if (start === end)
+ break;
+ if (matchPostBoundary !== 0) {
+ if (matchPostBoundary === 1) {
+ switch (data[start]) {
+ case 45:
+ matchPostBoundary = 2;
+ ++start;
+ break;
+ case 13:
+ matchPostBoundary = 3;
+ ++start;
+ break;
+ default:
+ matchPostBoundary = 0;
+ }
+ if (start === end)
+ return;
+ }
+ if (matchPostBoundary === 2) {
+ matchPostBoundary = 0;
+ if (data[start] === 45) {
+ this._complete = true;
+ this._bparser = ignoreData;
+ return;
+ }
+ const writecb = this._writecb;
+ this._writecb = noop5;
+ ssCb(false, BUF_DASH, 0, 1, false);
+ this._writecb = writecb;
+ } else if (matchPostBoundary === 3) {
+ matchPostBoundary = 0;
+ if (data[start] === 10) {
+ ++start;
+ if (parts >= partsLimit)
+ break;
+ this._hparser = hparser;
+ if (start === end)
+ break;
+ continue retrydata;
+ } else {
+ const writecb = this._writecb;
+ this._writecb = noop5;
+ ssCb(false, BUF_CR, 0, 1, false);
+ this._writecb = writecb;
+ }
+ }
+ }
+ if (!skipPart) {
+ if (this._fileStream) {
+ let chunk;
+ const actualLen = Math.min(end - start, fileSizeLimit - fileSize);
+ if (!isDataSafe) {
+ chunk = Buffer.allocUnsafe(actualLen);
+ data.copy(chunk, 0, start, start + actualLen);
+ } else {
+ chunk = data.slice(start, start + actualLen);
+ }
+ fileSize += chunk.length;
+ if (fileSize === fileSizeLimit) {
+ if (chunk.length > 0)
+ this._fileStream.push(chunk);
+ this._fileStream.emit("limit");
+ this._fileStream.truncated = true;
+ skipPart = true;
+ } else if (!this._fileStream.push(chunk)) {
+ if (this._writecb)
+ this._fileStream._readcb = this._writecb;
+ this._writecb = null;
+ }
+ } else if (field !== void 0) {
+ let chunk;
+ const actualLen = Math.min(
+ end - start,
+ fieldSizeLimit - fieldSize
+ );
+ if (!isDataSafe) {
+ chunk = Buffer.allocUnsafe(actualLen);
+ data.copy(chunk, 0, start, start + actualLen);
+ } else {
+ chunk = data.slice(start, start + actualLen);
+ }
+ fieldSize += actualLen;
+ field.push(chunk);
+ if (fieldSize === fieldSizeLimit) {
+ skipPart = true;
+ partTruncated = true;
+ }
+ }
+ }
+ break;
+ }
+ if (isMatch) {
+ matchPostBoundary = 1;
+ if (this._fileStream) {
+ this._fileStream.push(null);
+ this._fileStream = null;
+ } else if (field !== void 0) {
+ let data2;
+ switch (field.length) {
+ case 0:
+ data2 = "";
+ break;
+ case 1:
+ data2 = convertToUTF8(field[0], partCharset, 0);
+ break;
+ default:
+ data2 = convertToUTF8(
+ Buffer.concat(field, fieldSize),
+ partCharset,
+ 0
+ );
+ }
+ field = void 0;
+ fieldSize = 0;
+ this.emit(
+ "field",
+ partName,
+ data2,
+ {
+ nameTruncated: false,
+ valueTruncated: partTruncated,
+ encoding: partEncoding,
+ mimeType: partType
+ }
+ );
+ }
+ if (++parts === partsLimit)
+ this.emit("partsLimit");
+ }
+ }, "ssCb");
+ this._bparser = new StreamSearch(`\r
+--${boundary}`, ssCb);
+ this._writecb = null;
+ this._finalcb = null;
+ this.write(BUF_CRLF);
+ }
+ static detect(conType) {
+ return conType.type === "multipart" && conType.subtype === "form-data";
+ }
+ _write(chunk, enc, cb) {
+ this._writecb = cb;
+ this._bparser.push(chunk, 0);
+ if (this._writecb)
+ callAndUnsetCb(this);
+ }
+ _destroy(err, cb) {
+ this._hparser = null;
+ this._bparser = ignoreData;
+ if (!err)
+ err = checkEndState(this);
+ const fileStream = this._fileStream;
+ if (fileStream) {
+ this._fileStream = null;
+ fileStream.destroy(err);
+ }
+ cb(err);
+ }
+ _final(cb) {
+ this._bparser.destroy();
+ if (!this._complete)
+ return cb(new Error("Unexpected end of form"));
+ if (this._fileEndsLeft)
+ this._finalcb = finalcb.bind(null, this, cb);
+ else
+ finalcb(this, cb);
+ }
+ };
+ function finalcb(self, cb, err) {
+ if (err)
+ return cb(err);
+ err = checkEndState(self);
+ cb(err);
+ }
+ __name(finalcb, "finalcb");
+ function checkEndState(self) {
+ if (self._hparser)
+ return new Error("Malformed part header");
+ const fileStream = self._fileStream;
+ if (fileStream) {
+ self._fileStream = null;
+ fileStream.destroy(new Error("Unexpected end of file"));
+ }
+ if (!self._complete)
+ return new Error("Unexpected end of form");
+ }
+ __name(checkEndState, "checkEndState");
+ var TOKEN = [
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 1,
+ 0,
+ 1,
+ 1,
+ 1,
+ 1,
+ 1,
+ 0,
+ 0,
+ 1,
+ 1,
+ 0,
+ 1,
+ 1,
+ 0,
+ 1,
+ 1,
+ 1,
+ 1,
+ 1,
+ 1,
+ 1,
+ 1,
+ 1,
+ 1,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 1,
+ 1,
+ 1,
+ 1,
+ 1,
+ 1,
+ 1,
+ 1,
+ 1,
+ 1,
+ 1,
+ 1,
+ 1,
+ 1,
+ 1,
+ 1,
+ 1,
+ 1,
+ 1,
+ 1,
+ 1,
+ 1,
+ 1,
+ 1,
+ 1,
+ 1,
+ 0,
+ 0,
+ 0,
+ 1,
+ 1,
+ 1,
+ 1,
+ 1,
+ 1,
+ 1,
+ 1,
+ 1,
+ 1,
+ 1,
+ 1,
+ 1,
+ 1,
+ 1,
+ 1,
+ 1,
+ 1,
+ 1,
+ 1,
+ 1,
+ 1,
+ 1,
+ 1,
+ 1,
+ 1,
+ 1,
+ 1,
+ 1,
+ 0,
+ 1,
+ 0,
+ 1,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0
+ ];
+ var FIELD_VCHAR = [
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 1,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 1,
+ 1,
+ 1,
+ 1,
+ 1,
+ 1,
+ 1,
+ 1,
+ 1,
+ 1,
+ 1,
+ 1,
+ 1,
+ 1,
+ 1,
+ 1,
+ 1,
+ 1,
+ 1,
+ 1,
+ 1,
+ 1,
+ 1,
+ 1,
+ 1,
+ 1,
+ 1,
+ 1,
+ 1,
+ 1,
+ 1,
+ 1,
+ 1,
+ 1,
+ 1,
+ 1,
+ 1,
+ 1,
+ 1,
+ 1,
+ 1,
+ 1,
+ 1,
+ 1,
+ 1,
+ 1,
+ 1,
+ 1,
+ 1,
+ 1,
+ 1,
+ 1,
+ 1,
+ 1,
+ 1,
+ 1,
+ 1,
+ 1,
+ 1,
+ 1,
+ 1,
+ 1,
+ 1,
+ 1,
+ 1,
+ 1,
+ 1,
+ 1,
+ 1,
+ 1,
+ 1,
+ 1,
+ 1,
+ 1,
+ 1,
+ 1,
+ 1,
+ 1,
+ 1,
+ 1,
+ 1,
+ 1,
+ 1,
+ 1,
+ 1,
+ 1,
+ 1,
+ 1,
+ 1,
+ 1,
+ 1,
+ 1,
+ 1,
+ 1,
+ 1,
+ 0,
+ 1,
+ 1,
+ 1,
+ 1,
+ 1,
+ 1,
+ 1,
+ 1,
+ 1,
+ 1,
+ 1,
+ 1,
+ 1,
+ 1,
+ 1,
+ 1,
+ 1,
+ 1,
+ 1,
+ 1,
+ 1,
+ 1,
+ 1,
+ 1,
+ 1,
+ 1,
+ 1,
+ 1,
+ 1,
+ 1,
+ 1,
+ 1,
+ 1,
+ 1,
+ 1,
+ 1,
+ 1,
+ 1,
+ 1,
+ 1,
+ 1,
+ 1,
+ 1,
+ 1,
+ 1,
+ 1,
+ 1,
+ 1,
+ 1,
+ 1,
+ 1,
+ 1,
+ 1,
+ 1,
+ 1,
+ 1,
+ 1,
+ 1,
+ 1,
+ 1,
+ 1,
+ 1,
+ 1,
+ 1,
+ 1,
+ 1,
+ 1,
+ 1,
+ 1,
+ 1,
+ 1,
+ 1,
+ 1,
+ 1,
+ 1,
+ 1,
+ 1,
+ 1,
+ 1,
+ 1,
+ 1,
+ 1,
+ 1,
+ 1,
+ 1,
+ 1,
+ 1,
+ 1,
+ 1,
+ 1,
+ 1,
+ 1,
+ 1,
+ 1,
+ 1,
+ 1,
+ 1,
+ 1,
+ 1,
+ 1,
+ 1,
+ 1,
+ 1,
+ 1,
+ 1,
+ 1,
+ 1,
+ 1,
+ 1,
+ 1,
+ 1,
+ 1,
+ 1,
+ 1,
+ 1,
+ 1,
+ 1,
+ 1,
+ 1,
+ 1,
+ 1,
+ 1,
+ 1,
+ 1,
+ 1,
+ 1,
+ 1,
+ 1
+ ];
+ module.exports = Multipart;
+ }
+});
+
+// ../../node_modules/.pnpm/busboy@1.6.0/node_modules/busboy/lib/types/urlencoded.js
+var require_urlencoded2 = __commonJS({
+ "../../node_modules/.pnpm/busboy@1.6.0/node_modules/busboy/lib/types/urlencoded.js"(exports, module) {
+ "use strict";
+ var { Writable } = __require("stream");
+ var { getDecoder } = require_utils4();
+ var URLEncoded = class extends Writable {
+ static {
+ __name(this, "URLEncoded");
+ }
+ constructor(cfg) {
+ const streamOpts = {
+ autoDestroy: true,
+ emitClose: true,
+ highWaterMark: typeof cfg.highWaterMark === "number" ? cfg.highWaterMark : void 0
+ };
+ super(streamOpts);
+ let charset = cfg.defCharset || "utf8";
+ if (cfg.conType.params && typeof cfg.conType.params.charset === "string")
+ charset = cfg.conType.params.charset;
+ this.charset = charset;
+ const limits = cfg.limits;
+ this.fieldSizeLimit = limits && typeof limits.fieldSize === "number" ? limits.fieldSize : 1 * 1024 * 1024;
+ this.fieldsLimit = limits && typeof limits.fields === "number" ? limits.fields : Infinity;
+ this.fieldNameSizeLimit = limits && typeof limits.fieldNameSize === "number" ? limits.fieldNameSize : 100;
+ this._inKey = true;
+ this._keyTrunc = false;
+ this._valTrunc = false;
+ this._bytesKey = 0;
+ this._bytesVal = 0;
+ this._fields = 0;
+ this._key = "";
+ this._val = "";
+ this._byte = -2;
+ this._lastPos = 0;
+ this._encode = 0;
+ this._decoder = getDecoder(charset);
+ }
+ static detect(conType) {
+ return conType.type === "application" && conType.subtype === "x-www-form-urlencoded";
+ }
+ _write(chunk, enc, cb) {
+ if (this._fields >= this.fieldsLimit)
+ return cb();
+ let i = 0;
+ const len = chunk.length;
+ this._lastPos = 0;
+ if (this._byte !== -2) {
+ i = readPctEnc(this, chunk, i, len);
+ if (i === -1)
+ return cb(new Error("Malformed urlencoded form"));
+ if (i >= len)
+ return cb();
+ if (this._inKey)
+ ++this._bytesKey;
+ else
+ ++this._bytesVal;
+ }
+ main:
+ while (i < len) {
+ if (this._inKey) {
+ i = skipKeyBytes(this, chunk, i, len);
+ while (i < len) {
+ switch (chunk[i]) {
+ case 61:
+ if (this._lastPos < i)
+ this._key += chunk.latin1Slice(this._lastPos, i);
+ this._lastPos = ++i;
+ this._key = this._decoder(this._key, this._encode);
+ this._encode = 0;
+ this._inKey = false;
+ continue main;
+ case 38:
+ if (this._lastPos < i)
+ this._key += chunk.latin1Slice(this._lastPos, i);
+ this._lastPos = ++i;
+ this._key = this._decoder(this._key, this._encode);
+ this._encode = 0;
+ if (this._bytesKey > 0) {
+ this.emit(
+ "field",
+ this._key,
+ "",
+ {
+ nameTruncated: this._keyTrunc,
+ valueTruncated: false,
+ encoding: this.charset,
+ mimeType: "text/plain"
+ }
+ );
+ }
+ this._key = "";
+ this._val = "";
+ this._keyTrunc = false;
+ this._valTrunc = false;
+ this._bytesKey = 0;
+ this._bytesVal = 0;
+ if (++this._fields >= this.fieldsLimit) {
+ this.emit("fieldsLimit");
+ return cb();
+ }
+ continue;
+ case 43:
+ if (this._lastPos < i)
+ this._key += chunk.latin1Slice(this._lastPos, i);
+ this._key += " ";
+ this._lastPos = i + 1;
+ break;
+ case 37:
+ if (this._encode === 0)
+ this._encode = 1;
+ if (this._lastPos < i)
+ this._key += chunk.latin1Slice(this._lastPos, i);
+ this._lastPos = i + 1;
+ this._byte = -1;
+ i = readPctEnc(this, chunk, i + 1, len);
+ if (i === -1)
+ return cb(new Error("Malformed urlencoded form"));
+ if (i >= len)
+ return cb();
+ ++this._bytesKey;
+ i = skipKeyBytes(this, chunk, i, len);
+ continue;
+ }
+ ++i;
+ ++this._bytesKey;
+ i = skipKeyBytes(this, chunk, i, len);
+ }
+ if (this._lastPos < i)
+ this._key += chunk.latin1Slice(this._lastPos, i);
+ } else {
+ i = skipValBytes(this, chunk, i, len);
+ while (i < len) {
+ switch (chunk[i]) {
+ case 38:
+ if (this._lastPos < i)
+ this._val += chunk.latin1Slice(this._lastPos, i);
+ this._lastPos = ++i;
+ this._inKey = true;
+ this._val = this._decoder(this._val, this._encode);
+ this._encode = 0;
+ if (this._bytesKey > 0 || this._bytesVal > 0) {
+ this.emit(
+ "field",
+ this._key,
+ this._val,
+ {
+ nameTruncated: this._keyTrunc,
+ valueTruncated: this._valTrunc,
+ encoding: this.charset,
+ mimeType: "text/plain"
+ }
+ );
+ }
+ this._key = "";
+ this._val = "";
+ this._keyTrunc = false;
+ this._valTrunc = false;
+ this._bytesKey = 0;
+ this._bytesVal = 0;
+ if (++this._fields >= this.fieldsLimit) {
+ this.emit("fieldsLimit");
+ return cb();
+ }
+ continue main;
+ case 43:
+ if (this._lastPos < i)
+ this._val += chunk.latin1Slice(this._lastPos, i);
+ this._val += " ";
+ this._lastPos = i + 1;
+ break;
+ case 37:
+ if (this._encode === 0)
+ this._encode = 1;
+ if (this._lastPos < i)
+ this._val += chunk.latin1Slice(this._lastPos, i);
+ this._lastPos = i + 1;
+ this._byte = -1;
+ i = readPctEnc(this, chunk, i + 1, len);
+ if (i === -1)
+ return cb(new Error("Malformed urlencoded form"));
+ if (i >= len)
+ return cb();
+ ++this._bytesVal;
+ i = skipValBytes(this, chunk, i, len);
+ continue;
+ }
+ ++i;
+ ++this._bytesVal;
+ i = skipValBytes(this, chunk, i, len);
+ }
+ if (this._lastPos < i)
+ this._val += chunk.latin1Slice(this._lastPos, i);
+ }
+ }
+ cb();
+ }
+ _final(cb) {
+ if (this._byte !== -2)
+ return cb(new Error("Malformed urlencoded form"));
+ if (!this._inKey || this._bytesKey > 0 || this._bytesVal > 0) {
+ if (this._inKey)
+ this._key = this._decoder(this._key, this._encode);
+ else
+ this._val = this._decoder(this._val, this._encode);
+ this.emit(
+ "field",
+ this._key,
+ this._val,
+ {
+ nameTruncated: this._keyTrunc,
+ valueTruncated: this._valTrunc,
+ encoding: this.charset,
+ mimeType: "text/plain"
+ }
+ );
+ }
+ cb();
+ }
+ };
+ function readPctEnc(self, chunk, pos, len) {
+ if (pos >= len)
+ return len;
+ if (self._byte === -1) {
+ const hexUpper = HEX_VALUES[chunk[pos++]];
+ if (hexUpper === -1)
+ return -1;
+ if (hexUpper >= 8)
+ self._encode = 2;
+ if (pos < len) {
+ const hexLower = HEX_VALUES[chunk[pos++]];
+ if (hexLower === -1)
+ return -1;
+ if (self._inKey)
+ self._key += String.fromCharCode((hexUpper << 4) + hexLower);
+ else
+ self._val += String.fromCharCode((hexUpper << 4) + hexLower);
+ self._byte = -2;
+ self._lastPos = pos;
+ } else {
+ self._byte = hexUpper;
+ }
+ } else {
+ const hexLower = HEX_VALUES[chunk[pos++]];
+ if (hexLower === -1)
+ return -1;
+ if (self._inKey)
+ self._key += String.fromCharCode((self._byte << 4) + hexLower);
+ else
+ self._val += String.fromCharCode((self._byte << 4) + hexLower);
+ self._byte = -2;
+ self._lastPos = pos;
+ }
+ return pos;
+ }
+ __name(readPctEnc, "readPctEnc");
+ function skipKeyBytes(self, chunk, pos, len) {
+ if (self._bytesKey > self.fieldNameSizeLimit) {
+ if (!self._keyTrunc) {
+ if (self._lastPos < pos)
+ self._key += chunk.latin1Slice(self._lastPos, pos - 1);
+ }
+ self._keyTrunc = true;
+ for (; pos < len; ++pos) {
+ const code = chunk[pos];
+ if (code === 61 || code === 38)
+ break;
+ ++self._bytesKey;
+ }
+ self._lastPos = pos;
+ }
+ return pos;
+ }
+ __name(skipKeyBytes, "skipKeyBytes");
+ function skipValBytes(self, chunk, pos, len) {
+ if (self._bytesVal > self.fieldSizeLimit) {
+ if (!self._valTrunc) {
+ if (self._lastPos < pos)
+ self._val += chunk.latin1Slice(self._lastPos, pos - 1);
+ }
+ self._valTrunc = true;
+ for (; pos < len; ++pos) {
+ if (chunk[pos] === 38)
+ break;
+ ++self._bytesVal;
+ }
+ self._lastPos = pos;
+ }
+ return pos;
+ }
+ __name(skipValBytes, "skipValBytes");
+ var HEX_VALUES = [
+ -1,
+ -1,
+ -1,
+ -1,
+ -1,
+ -1,
+ -1,
+ -1,
+ -1,
+ -1,
+ -1,
+ -1,
+ -1,
+ -1,
+ -1,
+ -1,
+ -1,
+ -1,
+ -1,
+ -1,
+ -1,
+ -1,
+ -1,
+ -1,
+ -1,
+ -1,
+ -1,
+ -1,
+ -1,
+ -1,
+ -1,
+ -1,
+ -1,
+ -1,
+ -1,
+ -1,
+ -1,
+ -1,
+ -1,
+ -1,
+ -1,
+ -1,
+ -1,
+ -1,
+ -1,
+ -1,
+ -1,
+ -1,
+ 0,
+ 1,
+ 2,
+ 3,
+ 4,
+ 5,
+ 6,
+ 7,
+ 8,
+ 9,
+ -1,
+ -1,
+ -1,
+ -1,
+ -1,
+ -1,
+ -1,
+ 10,
+ 11,
+ 12,
+ 13,
+ 14,
+ 15,
+ -1,
+ -1,
+ -1,
+ -1,
+ -1,
+ -1,
+ -1,
+ -1,
+ -1,
+ -1,
+ -1,
+ -1,
+ -1,
+ -1,
+ -1,
+ -1,
+ -1,
+ -1,
+ -1,
+ -1,
+ -1,
+ -1,
+ -1,
+ -1,
+ -1,
+ -1,
+ 10,
+ 11,
+ 12,
+ 13,
+ 14,
+ 15,
+ -1,
+ -1,
+ -1,
+ -1,
+ -1,
+ -1,
+ -1,
+ -1,
+ -1,
+ -1,
+ -1,
+ -1,
+ -1,
+ -1,
+ -1,
+ -1,
+ -1,
+ -1,
+ -1,
+ -1,
+ -1,
+ -1,
+ -1,
+ -1,
+ -1,
+ -1,
+ -1,
+ -1,
+ -1,
+ -1,
+ -1,
+ -1,
+ -1,
+ -1,
+ -1,
+ -1,
+ -1,
+ -1,
+ -1,
+ -1,
+ -1,
+ -1,
+ -1,
+ -1,
+ -1,
+ -1,
+ -1,
+ -1,
+ -1,
+ -1,
+ -1,
+ -1,
+ -1,
+ -1,
+ -1,
+ -1,
+ -1,
+ -1,
+ -1,
+ -1,
+ -1,
+ -1,
+ -1,
+ -1,
+ -1,
+ -1,
+ -1,
+ -1,
+ -1,
+ -1,
+ -1,
+ -1,
+ -1,
+ -1,
+ -1,
+ -1,
+ -1,
+ -1,
+ -1,
+ -1,
+ -1,
+ -1,
+ -1,
+ -1,
+ -1,
+ -1,
+ -1,
+ -1,
+ -1,
+ -1,
+ -1,
+ -1,
+ -1,
+ -1,
+ -1,
+ -1,
+ -1,
+ -1,
+ -1,
+ -1,
+ -1,
+ -1,
+ -1,
+ -1,
+ -1,
+ -1,
+ -1,
+ -1,
+ -1,
+ -1,
+ -1,
+ -1,
+ -1,
+ -1,
+ -1,
+ -1,
+ -1,
+ -1,
+ -1,
+ -1,
+ -1,
+ -1,
+ -1,
+ -1,
+ -1,
+ -1,
+ -1,
+ -1,
+ -1,
+ -1,
+ -1,
+ -1,
+ -1,
+ -1,
+ -1,
+ -1,
+ -1,
+ -1,
+ -1,
+ -1,
+ -1,
+ -1,
+ -1,
+ -1,
+ -1,
+ -1,
+ -1,
+ -1,
+ -1,
+ -1,
+ -1,
+ -1,
+ -1
+ ];
+ module.exports = URLEncoded;
+ }
+});
+
+// ../../node_modules/.pnpm/busboy@1.6.0/node_modules/busboy/lib/index.js
+var require_lib5 = __commonJS({
+ "../../node_modules/.pnpm/busboy@1.6.0/node_modules/busboy/lib/index.js"(exports, module) {
+ "use strict";
+ var { parseContentType } = require_utils4();
+ function getInstance(cfg) {
+ const headers = cfg.headers;
+ const conType = parseContentType(headers["content-type"]);
+ if (!conType)
+ throw new Error("Malformed content type");
+ for (const type of TYPES) {
+ const matched = type.detect(conType);
+ if (!matched)
+ continue;
+ const instanceCfg = {
+ limits: cfg.limits,
+ headers,
+ conType,
+ highWaterMark: void 0,
+ fileHwm: void 0,
+ defCharset: void 0,
+ defParamCharset: void 0,
+ preservePath: false
+ };
+ if (cfg.highWaterMark)
+ instanceCfg.highWaterMark = cfg.highWaterMark;
+ if (cfg.fileHwm)
+ instanceCfg.fileHwm = cfg.fileHwm;
+ instanceCfg.defCharset = cfg.defCharset;
+ instanceCfg.defParamCharset = cfg.defParamCharset;
+ instanceCfg.preservePath = cfg.preservePath;
+ return new type(instanceCfg);
+ }
+ throw new Error(`Unsupported content type: ${headers["content-type"]}`);
+ }
+ __name(getInstance, "getInstance");
+ var TYPES = [
+ require_multipart(),
+ require_urlencoded2()
+ ].filter(function(typemod) {
+ return typeof typemod.detect === "function";
+ });
+ module.exports = (cfg) => {
+ if (typeof cfg !== "object" || cfg === null)
+ cfg = {};
+ if (typeof cfg.headers !== "object" || cfg.headers === null || typeof cfg.headers["content-type"] !== "string") {
+ throw new Error("Missing Content-Type");
+ }
+ return getInstance(cfg);
+ };
+ }
+});
+
+// ../../node_modules/.pnpm/append-field@1.0.0/node_modules/append-field/lib/parse-path.js
+var require_parse_path = __commonJS({
+ "../../node_modules/.pnpm/append-field@1.0.0/node_modules/append-field/lib/parse-path.js"(exports, module) {
+ var reFirstKey = /^[^\[]*/;
+ var reDigitPath = /^\[(\d+)\]/;
+ var reNormalPath = /^\[([^\]]+)\]/;
+ function parsePath(key) {
+ function failure() {
+ return [{ type: "object", key, last: true }];
+ }
+ __name(failure, "failure");
+ var firstKey = reFirstKey.exec(key)[0];
+ if (!firstKey) return failure();
+ var len = key.length;
+ var pos = firstKey.length;
+ var tail = { type: "object", key: firstKey };
+ var steps = [tail];
+ while (pos < len) {
+ var m;
+ if (key[pos] === "[" && key[pos + 1] === "]") {
+ pos += 2;
+ tail.append = true;
+ if (pos !== len) return failure();
+ continue;
+ }
+ m = reDigitPath.exec(key.substring(pos));
+ if (m !== null) {
+ pos += m[0].length;
+ tail.nextType = "array";
+ tail = { type: "array", key: parseInt(m[1], 10) };
+ steps.push(tail);
+ continue;
+ }
+ m = reNormalPath.exec(key.substring(pos));
+ if (m !== null) {
+ pos += m[0].length;
+ tail.nextType = "object";
+ tail = { type: "object", key: m[1] };
+ steps.push(tail);
+ continue;
+ }
+ return failure();
+ }
+ tail.last = true;
+ return steps;
+ }
+ __name(parsePath, "parsePath");
+ module.exports = parsePath;
+ }
+});
+
+// ../../node_modules/.pnpm/append-field@1.0.0/node_modules/append-field/lib/set-value.js
+var require_set_value = __commonJS({
+ "../../node_modules/.pnpm/append-field@1.0.0/node_modules/append-field/lib/set-value.js"(exports, module) {
+ function valueType(value) {
+ if (value === void 0) return "undefined";
+ if (Array.isArray(value)) return "array";
+ if (typeof value === "object") return "object";
+ return "scalar";
+ }
+ __name(valueType, "valueType");
+ function setLastValue(context, step, currentValue, entryValue) {
+ switch (valueType(currentValue)) {
+ case "undefined":
+ if (step.append) {
+ context[step.key] = [entryValue];
+ } else {
+ context[step.key] = entryValue;
+ }
+ break;
+ case "array":
+ context[step.key].push(entryValue);
+ break;
+ case "object":
+ return setLastValue(currentValue, { type: "object", key: "", last: true }, currentValue[""], entryValue);
+ case "scalar":
+ context[step.key] = [context[step.key], entryValue];
+ break;
+ }
+ return context;
+ }
+ __name(setLastValue, "setLastValue");
+ function setValue(context, step, currentValue, entryValue) {
+ if (step.last) return setLastValue(context, step, currentValue, entryValue);
+ var obj;
+ switch (valueType(currentValue)) {
+ case "undefined":
+ if (step.nextType === "array") {
+ context[step.key] = [];
+ } else {
+ context[step.key] = /* @__PURE__ */ Object.create(null);
+ }
+ return context[step.key];
+ case "object":
+ return context[step.key];
+ case "array":
+ if (step.nextType === "array") {
+ return currentValue;
+ }
+ obj = /* @__PURE__ */ Object.create(null);
+ context[step.key] = obj;
+ currentValue.forEach(function(item, i) {
+ if (item !== void 0) obj["" + i] = item;
+ });
+ return obj;
+ case "scalar":
+ obj = /* @__PURE__ */ Object.create(null);
+ obj[""] = currentValue;
+ context[step.key] = obj;
+ return obj;
+ }
+ }
+ __name(setValue, "setValue");
+ module.exports = setValue;
+ }
+});
+
+// ../../node_modules/.pnpm/append-field@1.0.0/node_modules/append-field/index.js
+var require_append_field = __commonJS({
+ "../../node_modules/.pnpm/append-field@1.0.0/node_modules/append-field/index.js"(exports, module) {
+ var parsePath = require_parse_path();
+ var setValue = require_set_value();
+ function appendField(store, key, value) {
+ var steps = parsePath(key);
+ steps.reduce(function(context, step) {
+ return setValue(context, step, context[step.key], value);
+ }, store);
+ }
+ __name(appendField, "appendField");
+ module.exports = appendField;
+ }
+});
+
+// ../../node_modules/.pnpm/multer@2.4.0/node_modules/multer/lib/counter.js
+var require_counter = __commonJS({
+ "../../node_modules/.pnpm/multer@2.4.0/node_modules/multer/lib/counter.js"(exports, module) {
+ var EventEmitter = __require("events").EventEmitter;
+ function Counter() {
+ EventEmitter.call(this);
+ this.value = 0;
+ }
+ __name(Counter, "Counter");
+ Counter.prototype = Object.create(EventEmitter.prototype);
+ Counter.prototype.increment = /* @__PURE__ */ __name(function increment() {
+ this.value++;
+ }, "increment");
+ Counter.prototype.decrement = /* @__PURE__ */ __name(function decrement() {
+ if (--this.value === 0) this.emit("zero");
+ }, "decrement");
+ Counter.prototype.isZero = /* @__PURE__ */ __name(function isZero() {
+ return this.value === 0;
+ }, "isZero");
+ Counter.prototype.onceZero = /* @__PURE__ */ __name(function onceZero(fn) {
+ if (this.isZero()) return fn();
+ this.once("zero", fn);
+ }, "onceZero");
+ module.exports = Counter;
+ }
+});
+
+// ../../node_modules/.pnpm/multer@2.4.0/node_modules/multer/lib/multer-error.js
+var require_multer_error = __commonJS({
+ "../../node_modules/.pnpm/multer@2.4.0/node_modules/multer/lib/multer-error.js"(exports, module) {
+ var util = __require("util");
+ var errorMessages = {
+ LIMIT_PART_COUNT: "Too many parts",
+ LIMIT_FILE_SIZE: "File too large",
+ LIMIT_FILE_COUNT: "Too many files",
+ LIMIT_FIELD_KEY: "Field name too long",
+ LIMIT_FIELD_VALUE: "Field value too long",
+ LIMIT_FIELD_COUNT: "Too many fields",
+ LIMIT_UNEXPECTED_FILE: "Unexpected file field",
+ MISSING_FIELD_NAME: "Field name missing",
+ LIMIT_FIELD_NESTING: "Field name nesting too deep",
+ LIMIT_FIELD_ARRAY_INDEX: "Field name array index too large",
+ STREAM_DESTROYED: "File stream was destroyed",
+ INVALID_FIELD_NAME: "Invalid field name"
+ };
+ function MulterError(code, field, filename) {
+ Error.captureStackTrace(this, this.constructor);
+ this.name = this.constructor.name;
+ this.message = errorMessages[code] || `Unknown error: ${code}`;
+ this.code = code;
+ if (field) this.field = field;
+ if (filename) this.filename = filename;
+ }
+ __name(MulterError, "MulterError");
+ util.inherits(MulterError, Error);
+ module.exports = MulterError;
+ }
+});
+
+// ../../node_modules/.pnpm/multer@2.4.0/node_modules/multer/lib/file-appender.js
+var require_file_appender = __commonJS({
+ "../../node_modules/.pnpm/multer@2.4.0/node_modules/multer/lib/file-appender.js"(exports, module) {
+ function arrayRemove(arr, item) {
+ var idx = arr.indexOf(item);
+ if (~idx) arr.splice(idx, 1);
+ }
+ __name(arrayRemove, "arrayRemove");
+ function FileAppender(strategy, req) {
+ this.strategy = strategy;
+ this.req = req;
+ switch (strategy) {
+ case "NONE":
+ break;
+ case "VALUE":
+ break;
+ case "ARRAY":
+ req.files = [];
+ break;
+ case "OBJECT":
+ req.files = /* @__PURE__ */ Object.create(null);
+ break;
+ default:
+ throw new Error("Unknown file strategy: " + strategy);
+ }
+ }
+ __name(FileAppender, "FileAppender");
+ FileAppender.prototype.insertPlaceholder = function(file) {
+ var placeholder = {
+ fieldname: file.fieldname
+ };
+ switch (this.strategy) {
+ case "NONE":
+ break;
+ case "VALUE":
+ break;
+ case "ARRAY":
+ this.req.files.push(placeholder);
+ break;
+ case "OBJECT":
+ if (this.req.files[file.fieldname]) {
+ this.req.files[file.fieldname].push(placeholder);
+ } else {
+ this.req.files[file.fieldname] = [placeholder];
+ }
+ break;
+ }
+ return placeholder;
+ };
+ FileAppender.prototype.removePlaceholder = function(placeholder) {
+ switch (this.strategy) {
+ case "NONE":
+ break;
+ case "VALUE":
+ break;
+ case "ARRAY":
+ arrayRemove(this.req.files, placeholder);
+ break;
+ case "OBJECT": {
+ var files = this.req.files[placeholder.fieldname];
+ if (!files) break;
+ arrayRemove(files, placeholder);
+ if (files.length === 0) delete this.req.files[placeholder.fieldname];
+ break;
+ }
+ }
+ };
+ FileAppender.prototype.replacePlaceholder = function(placeholder, file) {
+ if (this.strategy === "VALUE") {
+ this.req.file = file;
+ return;
+ }
+ delete placeholder.fieldname;
+ Object.assign(placeholder, file);
+ };
+ module.exports = FileAppender;
+ }
+});
+
+// ../../node_modules/.pnpm/multer@2.4.0/node_modules/multer/lib/remove-uploaded-files.js
+var require_remove_uploaded_files = __commonJS({
+ "../../node_modules/.pnpm/multer@2.4.0/node_modules/multer/lib/remove-uploaded-files.js"(exports, module) {
+ function removeUploadedFiles(uploadedFiles, remove, cb) {
+ var length = uploadedFiles.length;
+ var errors = [];
+ if (length === 0) return cb(null, errors);
+ function handleFile(idx) {
+ var file = uploadedFiles[idx];
+ remove(file, function(err) {
+ if (err) {
+ err.file = file;
+ err.field = file.fieldname;
+ errors.push(err);
+ }
+ if (idx < length - 1) {
+ setImmediate(function() {
+ handleFile(idx + 1);
+ });
+ } else {
+ cb(null, errors);
+ }
+ });
+ }
+ __name(handleFile, "handleFile");
+ handleFile(0);
+ }
+ __name(removeUploadedFiles, "removeUploadedFiles");
+ module.exports = removeUploadedFiles;
+ }
+});
+
+// ../../node_modules/.pnpm/multer@2.4.0/node_modules/multer/lib/validate-limits.js
+var require_validate_limits = __commonJS({
+ "../../node_modules/.pnpm/multer@2.4.0/node_modules/multer/lib/validate-limits.js"(exports, module) {
+ function validateLimits(limits) {
+ Object.keys(limits).forEach(function(key) {
+ var value = limits[key];
+ if (value == null) return;
+ if (Number.isInteger(value) && value >= 0 || value === Infinity) return;
+ throw new TypeError("Expected limits." + key + " to be a non-negative integer or Infinity");
+ });
+ }
+ __name(validateLimits, "validateLimits");
+ module.exports = validateLimits;
+ }
+});
+
+// ../../node_modules/.pnpm/multer@2.4.0/node_modules/multer/lib/make-middleware.js
+var require_make_middleware = __commonJS({
+ "../../node_modules/.pnpm/multer@2.4.0/node_modules/multer/lib/make-middleware.js"(exports, module) {
+ var is = require_type_is2();
+ var AsyncResource2 = __require("async_hooks").AsyncResource;
+ var Busboy = require_lib5();
+ var appendField = require_append_field();
+ var Counter = require_counter();
+ var MulterError = require_multer_error();
+ var FileAppender = require_file_appender();
+ var removeUploadedFiles = require_remove_uploaded_files();
+ var validateLimits = require_validate_limits();
+ function exceedsArrayIndexLimit(fieldname, limit) {
+ if (!/^[^[]+(?:\[[^\]]+\])*(?:\[\])?$/.test(fieldname)) return false;
+ var pattern = /\[(\d+)\]/g;
+ var match;
+ while ((match = pattern.exec(fieldname)) !== null) {
+ if (Number(match[1]) > limit) return true;
+ }
+ return false;
+ }
+ __name(exceedsArrayIndexLimit, "exceedsArrayIndexLimit");
+ function drainStream(stream) {
+ stream.on("readable", () => {
+ while (stream.read() !== null) {
+ }
+ });
+ }
+ __name(drainStream, "drainStream");
+ function decodeFormDataName(str) {
+ return str.replace(/%0A|%0D|%22/gi, function(match) {
+ switch (match.toUpperCase()) {
+ case "%0A":
+ return "\n";
+ case "%0D":
+ return "\r";
+ default:
+ return '"';
+ }
+ });
+ }
+ __name(decodeFormDataName, "decodeFormDataName");
+ function defaultStreamHandler(req, busboy) {
+ req.pipe(busboy);
+ }
+ __name(defaultStreamHandler, "defaultStreamHandler");
+ function makeMiddleware(setup) {
+ return /* @__PURE__ */ __name(function multerMiddleware(req, res, next) {
+ var resource = new AsyncResource2("multer");
+ var originalNext = next;
+ next = /* @__PURE__ */ __name(function(err) {
+ resource.runInAsyncScope(originalNext, null, err);
+ }, "next");
+ if (!is(req, ["multipart"])) return next();
+ var options = setup();
+ var limits = options.limits;
+ if (typeof limits === "function") {
+ try {
+ limits = limits(req);
+ if (limits) validateLimits(limits);
+ } catch (err) {
+ return next(err);
+ }
+ }
+ var busboyLimits = limits;
+ if (limits && (Object.prototype.hasOwnProperty.call(limits, "fileSize") || Object.prototype.hasOwnProperty.call(limits, "parts"))) {
+ busboyLimits = {};
+ var key;
+ for (key in limits) {
+ busboyLimits[key] = limits[key];
+ }
+ if (typeof limits.fileSize === "number" && isFinite(limits.fileSize)) {
+ busboyLimits.fileSize = limits.fileSize + 1;
+ }
+ if (typeof limits.parts === "number" && isFinite(limits.parts)) {
+ busboyLimits.parts = limits.parts + 1;
+ }
+ }
+ var storage = options.storage;
+ var fileFilter = options.fileFilter;
+ var fileStrategy = options.fileStrategy;
+ var preservePath = options.preservePath;
+ var defParamCharset = options.defParamCharset;
+ var defCharset = options.defCharset;
+ var highWaterMark = options.highWaterMark;
+ var fileHwm = options.fileHwm;
+ var streamHandler = options.streamHandler || defaultStreamHandler;
+ req.body = /* @__PURE__ */ Object.create(null);
+ var busboy;
+ var appender = null;
+ var isDone = false;
+ var readFinished = false;
+ var errorOccured = false;
+ var abortCleanupDone = false;
+ var abortRemovedFiles = /* @__PURE__ */ new Set();
+ var pendingWrites = new Counter();
+ var uploadedFiles = [];
+ var pendingFiles = [];
+ function done(err) {
+ var called = false;
+ function onFinished() {
+ if (called) return;
+ called = true;
+ next(err);
+ }
+ __name(onFinished, "onFinished");
+ if (isDone) return;
+ isDone = true;
+ if (busboy) {
+ req.unpipe(busboy);
+ setImmediate(() => {
+ busboy.removeAllListeners();
+ });
+ }
+ drainStream(req);
+ req.resume();
+ if (err && req.readable && !req.destroyed) {
+ req.once("end", onFinished);
+ req.once("error", onFinished);
+ req.once("close", onFinished);
+ return;
+ }
+ next(err);
+ }
+ __name(done, "done");
+ function indicateDone() {
+ if (readFinished && pendingWrites.isZero() && !errorOccured) done();
+ }
+ __name(indicateDone, "indicateDone");
+ function abortWithError(uploadError, skipPendingWait) {
+ if (errorOccured) return;
+ errorOccured = true;
+ function finishAbort() {
+ abortCleanupDone = true;
+ function remove(file, cb) {
+ storage._removeFile(req, file, cb);
+ }
+ __name(remove, "remove");
+ var pendingToRemove = pendingFiles.filter(function(f) {
+ return f.path;
+ });
+ pendingToRemove.forEach(function(f) {
+ abortRemovedFiles.add(f);
+ });
+ var filesToRemove = uploadedFiles.concat(pendingToRemove);
+ pendingFiles = [];
+ removeUploadedFiles(filesToRemove, remove, function(err, storageErrors) {
+ if (err) return done(err);
+ uploadError.storageErrors = storageErrors;
+ done(uploadError);
+ });
+ }
+ __name(finishAbort, "finishAbort");
+ if (skipPendingWait) {
+ finishAbort();
+ } else {
+ pendingWrites.onceZero(finishAbort);
+ }
+ }
+ __name(abortWithError, "abortWithError");
+ function abortWithCode(code, optionalField, optionalFilename) {
+ abortWithError(new MulterError(code, optionalField, optionalFilename));
+ }
+ __name(abortWithCode, "abortWithCode");
+ function handleRequestFailure(err) {
+ if (isDone) return;
+ if (busboy) {
+ req.unpipe(busboy);
+ busboy.destroy(err);
+ }
+ abortWithError(err, true);
+ }
+ __name(handleRequestFailure, "handleRequestFailure");
+ req.on("error", function(err) {
+ handleRequestFailure(err || new Error("Request error"));
+ });
+ req.on("aborted", function() {
+ handleRequestFailure(new Error("Request aborted"));
+ });
+ req.on("close", function() {
+ if (req.readableEnded) return;
+ handleRequestFailure(new Error("Request closed"));
+ });
+ try {
+ busboy = Busboy({
+ headers: req.headers,
+ limits: busboyLimits,
+ preservePath,
+ defParamCharset,
+ defCharset,
+ highWaterMark,
+ fileHwm
+ });
+ } catch (err) {
+ return next(err);
+ }
+ appender = new FileAppender(fileStrategy, req);
+ busboy.on("field", function(fieldname, value, { nameTruncated, valueTruncated }) {
+ if (fieldname == null) return abortWithCode("MISSING_FIELD_NAME");
+ var rawFieldname = fieldname;
+ fieldname = decodeFormDataName(fieldname);
+ if (nameTruncated) return abortWithCode("LIMIT_FIELD_KEY");
+ if (valueTruncated) return abortWithCode("LIMIT_FIELD_VALUE", fieldname);
+ if (limits && Object.prototype.hasOwnProperty.call(limits, "fieldNameSize")) {
+ if (rawFieldname.length > limits.fieldNameSize) return abortWithCode("LIMIT_FIELD_KEY");
+ }
+ if (limits && Object.prototype.hasOwnProperty.call(limits, "fieldNestingDepth")) {
+ if (fieldname.split("[").length - 1 > limits.fieldNestingDepth) return abortWithCode("LIMIT_FIELD_NESTING", fieldname);
+ }
+ if (limits && Object.prototype.hasOwnProperty.call(limits, "fieldArrayIndexLimit")) {
+ if (exceedsArrayIndexLimit(fieldname, limits.fieldArrayIndexLimit)) {
+ return abortWithCode("LIMIT_FIELD_ARRAY_INDEX", fieldname);
+ }
+ }
+ try {
+ appendField(req.body, fieldname, value);
+ } catch {
+ return abortWithCode("INVALID_FIELD_NAME", fieldname);
+ }
+ });
+ busboy.on("file", function(fieldname, fileStream, { filename, encoding, mimeType }) {
+ var pendingWritesIncremented = false;
+ var aborting = false;
+ var accepted = false;
+ var fileSizeLimitReached = false;
+ var originalname = filename && decodeFormDataName(filename);
+ function decrementPendingWrites() {
+ if (!pendingWritesIncremented) return;
+ pendingWritesIncremented = false;
+ pendingWrites.decrement();
+ }
+ __name(decrementPendingWrites, "decrementPendingWrites");
+ fileStream.on("error", function(err) {
+ decrementPendingWrites();
+ abortWithError(err);
+ });
+ fileStream.on("limit", function() {
+ fileSizeLimitReached = true;
+ if (accepted) {
+ aborting = true;
+ abortWithCode("LIMIT_FILE_SIZE", fieldname, originalname);
+ }
+ });
+ if (fieldname == null) return abortWithCode("MISSING_FIELD_NAME");
+ var rawFieldname = fieldname;
+ fieldname = decodeFormDataName(fieldname);
+ if (!filename) return fileStream.resume();
+ if (limits && Object.prototype.hasOwnProperty.call(limits, "fieldNameSize")) {
+ if (rawFieldname.length > limits.fieldNameSize) return abortWithCode("LIMIT_FIELD_KEY");
+ }
+ var file = {
+ fieldname,
+ originalname,
+ encoding,
+ mimetype: mimeType
+ };
+ var placeholder = appender.insertPlaceholder(file);
+ fileFilter(req, file, function(err, includeFile) {
+ if (errorOccured) {
+ appender.removePlaceholder(placeholder);
+ return fileStream.resume();
+ }
+ if (err) {
+ appender.removePlaceholder(placeholder);
+ return abortWithError(err);
+ }
+ if (!includeFile) {
+ appender.removePlaceholder(placeholder);
+ return fileStream.resume();
+ }
+ if (fileSizeLimitReached) {
+ appender.removePlaceholder(placeholder);
+ return abortWithCode("LIMIT_FILE_SIZE", fieldname, originalname);
+ }
+ accepted = true;
+ pendingWritesIncremented = true;
+ pendingWrites.increment();
+ Object.defineProperty(file, "stream", {
+ configurable: true,
+ enumerable: false,
+ value: fileStream
+ });
+ pendingFiles.push(file);
+ storage._handleFile(req, file, function(err2, info) {
+ var idx = pendingFiles.indexOf(file);
+ if (idx !== -1) pendingFiles.splice(idx, 1);
+ if (aborting) {
+ appender.removePlaceholder(placeholder);
+ uploadedFiles.push({ ...file, ...info });
+ return decrementPendingWrites();
+ }
+ if (err2) {
+ appender.removePlaceholder(placeholder);
+ decrementPendingWrites();
+ return abortWithError(err2);
+ }
+ var fileInfo = { ...file, ...info };
+ if (abortCleanupDone) {
+ if (abortRemovedFiles.has(file)) {
+ appender.removePlaceholder(placeholder);
+ decrementPendingWrites();
+ return;
+ }
+ return storage._removeFile(req, fileInfo, function() {
+ appender.removePlaceholder(placeholder);
+ decrementPendingWrites();
+ });
+ }
+ appender.replacePlaceholder(placeholder, fileInfo);
+ uploadedFiles.push(fileInfo);
+ decrementPendingWrites();
+ indicateDone();
+ });
+ });
+ });
+ busboy.on("error", function(err) {
+ abortWithError(err);
+ });
+ busboy.on("partsLimit", function() {
+ abortWithCode("LIMIT_PART_COUNT");
+ });
+ busboy.on("filesLimit", function() {
+ abortWithCode("LIMIT_FILE_COUNT");
+ });
+ busboy.on("fieldsLimit", function() {
+ abortWithCode("LIMIT_FIELD_COUNT");
+ });
+ busboy.on("close", function() {
+ readFinished = true;
+ indicateDone();
+ });
+ streamHandler(req, busboy);
+ }, "multerMiddleware");
+ }
+ __name(makeMiddleware, "makeMiddleware");
+ module.exports = makeMiddleware;
+ }
+});
+
+// ../../node_modules/.pnpm/multer@2.4.0/node_modules/multer/storage/disk.js
+var require_disk = __commonJS({
+ "../../node_modules/.pnpm/multer@2.4.0/node_modules/multer/storage/disk.js"(exports, module) {
+ var fs = __require("fs");
+ var os = __require("os");
+ var path = __require("path");
+ var crypto = __require("crypto");
+ var pipeline = __require("stream").pipeline;
+ var MulterError = require_multer_error();
+ var openStreams = /* @__PURE__ */ new WeakMap();
+ var flushingFiles = /* @__PURE__ */ new WeakMap();
+ function endFlush(file) {
+ var flush = flushingFiles.get(file);
+ if (!flush) return;
+ flushingFiles.delete(file);
+ if (flush.onClosed) flush.onClosed();
+ }
+ __name(endFlush, "endFlush");
+ function getFilename(req, file, cb) {
+ crypto.randomBytes(16, function(err, raw) {
+ cb(err, err ? void 0 : raw.toString("hex"));
+ });
+ }
+ __name(getFilename, "getFilename");
+ function getDestination(req, file, cb) {
+ cb(null, os.tmpdir());
+ }
+ __name(getDestination, "getDestination");
+ function DiskStorage(opts) {
+ opts = opts || {};
+ this.getFilename = opts.filename || getFilename;
+ this.flush = opts.flush;
+ if (typeof opts.destination === "string") {
+ fs.mkdirSync(opts.destination, { recursive: true });
+ this.getDestination = function($0, $1, cb) {
+ cb(null, opts.destination);
+ };
+ } else {
+ this.getDestination = opts.destination || getDestination;
+ }
+ }
+ __name(DiskStorage, "DiskStorage");
+ DiskStorage.prototype._handleFile = /* @__PURE__ */ __name(function _handleFile(req, file, cb) {
+ var that = this;
+ that.getDestination(req, file, function(err, destination) {
+ if (err) return cb(err);
+ that.getFilename(req, file, function(err2, filename) {
+ if (err2) return cb(err2);
+ var finalPath = path.join(destination, filename);
+ if (file.stream.destroyed) return cb(new MulterError("STREAM_DESTROYED"));
+ var outStream = fs.createWriteStream(finalPath);
+ file.path = finalPath;
+ openStreams.set(file, outStream);
+ outStream.once("close", function() {
+ openStreams.delete(file);
+ });
+ if (that.flush) flushingFiles.set(file, {});
+ pipeline(file.stream, outStream, function(err3) {
+ if (err3) {
+ endFlush(file);
+ return cb(err3);
+ }
+ var done = /* @__PURE__ */ __name(function(err4) {
+ if (err4) return cb(err4);
+ cb(null, {
+ destination,
+ filename,
+ path: finalPath,
+ size: outStream.bytesWritten
+ });
+ }, "done");
+ if (!that.flush) return done();
+ fs.open(finalPath, "r+", function(err4, fd) {
+ if (err4) {
+ endFlush(file);
+ return done(err4);
+ }
+ fs.fsync(fd, function(syncErr) {
+ fs.close(fd, function(closeErr) {
+ endFlush(file);
+ done(syncErr || closeErr);
+ });
+ });
+ });
+ });
+ });
+ });
+ }, "_handleFile");
+ DiskStorage.prototype._removeFile = /* @__PURE__ */ __name(function _removeFile(req, file, cb) {
+ var path2 = file.path;
+ delete file.destination;
+ delete file.filename;
+ delete file.path;
+ function unlink() {
+ var flush = flushingFiles.get(file);
+ if (!flush) return fs.unlink(path2, cb);
+ flush.onClosed = function() {
+ fs.unlink(path2, cb);
+ };
+ }
+ __name(unlink, "unlink");
+ var outStream = openStreams.get(file);
+ if (!outStream) return unlink();
+ if (outStream.closed) return unlink();
+ function onReleased() {
+ outStream.removeListener("close", onReleased);
+ outStream.removeListener("error", onReleased);
+ unlink();
+ }
+ __name(onReleased, "onReleased");
+ outStream.once("close", onReleased);
+ outStream.once("error", onReleased);
+ outStream.destroy();
+ }, "_removeFile");
+ module.exports = function(opts) {
+ return new DiskStorage(opts);
+ };
+ }
+});
+
+// ../../node_modules/.pnpm/multer@2.4.0/node_modules/multer/storage/memory.js
+var require_memory = __commonJS({
+ "../../node_modules/.pnpm/multer@2.4.0/node_modules/multer/storage/memory.js"(exports, module) {
+ function MemoryStorage(opts) {
+ }
+ __name(MemoryStorage, "MemoryStorage");
+ MemoryStorage.prototype._handleFile = /* @__PURE__ */ __name(function _handleFile(req, file, cb) {
+ var chunks = [];
+ file.stream.on("data", function(chunk) {
+ chunks.push(chunk);
+ });
+ file.stream.on("end", function() {
+ var buffer = Buffer.concat(chunks);
+ cb(null, {
+ buffer,
+ size: buffer.length
+ });
+ });
+ }, "_handleFile");
+ MemoryStorage.prototype._removeFile = /* @__PURE__ */ __name(function _removeFile(req, file, cb) {
+ delete file.buffer;
+ cb(null);
+ }, "_removeFile");
+ module.exports = function(opts) {
+ return new MemoryStorage(opts);
+ };
+ }
+});
+
+// ../../node_modules/.pnpm/multer@2.4.0/node_modules/multer/index.js
+var require_multer = __commonJS({
+ "../../node_modules/.pnpm/multer@2.4.0/node_modules/multer/index.js"(exports, module) {
+ var makeMiddleware = require_make_middleware();
+ var diskStorage = require_disk();
+ var memoryStorage = require_memory();
+ var MulterError = require_multer_error();
+ var validateLimits = require_validate_limits();
+ function allowAll(req, file, cb) {
+ cb(null, true);
+ }
+ __name(allowAll, "allowAll");
+ function Multer(options) {
+ if (options.storage) {
+ this.storage = options.storage;
+ } else if (options.dest) {
+ this.storage = diskStorage({ destination: options.dest });
+ } else {
+ this.storage = memoryStorage();
+ }
+ if (options.limits && typeof options.limits !== "function") validateLimits(options.limits);
+ this.limits = options.limits;
+ this.preservePath = options.preservePath;
+ this.defParamCharset = options.defParamCharset || "latin1";
+ this.defCharset = options.defCharset;
+ this.highWaterMark = options.highWaterMark;
+ this.fileHwm = options.fileHwm;
+ this.fileFilter = options.fileFilter || allowAll;
+ if (options.streamHandler !== void 0 && typeof options.streamHandler !== "function") {
+ throw new TypeError("Expected streamHandler to be a function");
+ }
+ this.streamHandler = options.streamHandler;
+ }
+ __name(Multer, "Multer");
+ Multer.prototype._makeMiddleware = function(fields, fileStrategy) {
+ function setup() {
+ var fileFilter = this.fileFilter;
+ var filesLeft = /* @__PURE__ */ Object.create(null);
+ fields.forEach(function(field) {
+ if (typeof field.maxCount === "number") {
+ filesLeft[field.name] = field.maxCount;
+ } else {
+ filesLeft[field.name] = Infinity;
+ }
+ });
+ function wrappedFileFilter(req, file, cb) {
+ if ((filesLeft[file.fieldname] || 0) <= 0) {
+ return cb(new MulterError("LIMIT_UNEXPECTED_FILE", file.fieldname, file.originalname));
+ }
+ filesLeft[file.fieldname] -= 1;
+ var settled = false;
+ fileFilter(req, file, function(err, includeFile) {
+ if (!settled) {
+ settled = true;
+ if (err || !includeFile) filesLeft[file.fieldname] += 1;
+ }
+ cb(err, includeFile);
+ });
+ }
+ __name(wrappedFileFilter, "wrappedFileFilter");
+ return {
+ limits: this.limits,
+ preservePath: this.preservePath,
+ defParamCharset: this.defParamCharset,
+ defCharset: this.defCharset,
+ highWaterMark: this.highWaterMark,
+ fileHwm: this.fileHwm,
+ streamHandler: this.streamHandler,
+ storage: this.storage,
+ fileFilter: wrappedFileFilter,
+ fileStrategy
+ };
+ }
+ __name(setup, "setup");
+ return makeMiddleware(setup.bind(this));
+ };
+ Multer.prototype.single = function(name) {
+ return this._makeMiddleware([{ name, maxCount: 1 }], "VALUE");
+ };
+ Multer.prototype.array = function(name, maxCount) {
+ return this._makeMiddleware([{ name, maxCount }], "ARRAY");
+ };
+ Multer.prototype.fields = function(fields) {
+ return this._makeMiddleware(fields, "OBJECT");
+ };
+ Multer.prototype.none = function() {
+ return this._makeMiddleware([], "NONE");
+ };
+ Multer.prototype.any = function() {
+ function setup() {
+ return {
+ limits: this.limits,
+ preservePath: this.preservePath,
+ defParamCharset: this.defParamCharset,
+ defCharset: this.defCharset,
+ highWaterMark: this.highWaterMark,
+ fileHwm: this.fileHwm,
+ streamHandler: this.streamHandler,
+ storage: this.storage,
+ fileFilter: this.fileFilter,
+ fileStrategy: "ARRAY"
+ };
+ }
+ __name(setup, "setup");
+ return makeMiddleware(setup.bind(this));
+ };
+ function multer6(options) {
+ if (options === void 0) {
+ return new Multer({});
+ }
+ if (typeof options === "object" && options !== null) {
+ return new Multer(options);
+ }
+ throw new TypeError("Expected object for argument options");
+ }
+ __name(multer6, "multer");
+ module.exports = multer6;
+ module.exports.diskStorage = diskStorage;
+ module.exports.memoryStorage = memoryStorage;
+ module.exports.MulterError = MulterError;
+ }
+});
+
+// ../../node_modules/.pnpm/@nestjs+platform-express@12_3e713911c21b6500374058e65a37060a/node_modules/@nestjs/platform-express/multer/files.constants.js
+var MULTER_MODULE_OPTIONS;
+var init_files_constants = __esm({
+ "../../node_modules/.pnpm/@nestjs+platform-express@12_3e713911c21b6500374058e65a37060a/node_modules/@nestjs/platform-express/multer/files.constants.js"() {
+ MULTER_MODULE_OPTIONS = "MULTER_MODULE_OPTIONS";
+ }
+});
+
+// ../../node_modules/.pnpm/@nestjs+platform-express@12_3e713911c21b6500374058e65a37060a/node_modules/@nestjs/platform-express/multer/multer/multer.constants.js
+var multerExceptions, DEFAULT_FIELD_NAME_LIMITS, busboyExceptions;
+var init_multer_constants = __esm({
+ "../../node_modules/.pnpm/@nestjs+platform-express@12_3e713911c21b6500374058e65a37060a/node_modules/@nestjs/platform-express/multer/multer/multer.constants.js"() {
+ multerExceptions = {
+ // from https://github.com/expressjs/multer/blob/master/lib/multer-error.js
+ LIMIT_PART_COUNT: "Too many parts",
+ LIMIT_FILE_SIZE: "File too large",
+ LIMIT_FILE_COUNT: "Too many files",
+ LIMIT_FIELD_KEY: "Field name too long",
+ LIMIT_FIELD_VALUE: "Field value too long",
+ LIMIT_FIELD_COUNT: "Too many fields",
+ LIMIT_UNEXPECTED_FILE: "Unexpected file field",
+ MISSING_FIELD_NAME: "Field name missing",
+ LIMIT_FIELD_NESTING: "Field name nesting too deep",
+ LIMIT_FIELD_ARRAY_INDEX: "Field name array index too large",
+ INVALID_FIELD_NAME: "Invalid field name"
+ // STREAM_DESTROYED is left out on purpose: it is raised by the storage
+ // engine after the file stream was destroyed, not by the request, so it
+ // stays a 500.
+ };
+ DEFAULT_FIELD_NAME_LIMITS = {
+ fieldNestingDepth: 32,
+ fieldArrayIndexLimit: 1e3
+ };
+ busboyExceptions = {
+ // from https://github.com/mscdex/busboy/blob/master/lib/types/multipart.js
+ MULTIPART_BOUNDARY_NOT_FOUND: "Multipart: Boundary not found",
+ MULTIPART_MALFORMED_PART_HEADER: "Malformed part header",
+ MULTIPART_UNEXPECTED_END_OF_FORM: "Unexpected end of form",
+ MULTIPART_UNEXPECTED_END_OF_FILE: "Unexpected end of file"
+ };
+ }
+});
+
+// ../../node_modules/.pnpm/@nestjs+platform-express@12_3e713911c21b6500374058e65a37060a/node_modules/@nestjs/platform-express/multer/multer/multer.utils.js
+import { finished as finished2 } from "stream";
+function mergeMulterOptions(options = {}, localOptions = {}) {
+ const merged = { ...options, ...localOptions };
+ if (isPlainObject(options.limits) && isPlainObject(localOptions.limits)) {
+ merged.limits = { ...options.limits, ...localOptions.limits };
+ }
+ if (localOptions.dest && !localOptions.storage) {
+ delete merged.storage;
+ }
+ return merged;
+}
+function applyDefaultLimits(options) {
+ const { limits } = options;
+ return {
+ ...options,
+ limits: typeof limits === "function" ? (req) => withDefaultLimits(limits(req)) : withDefaultLimits(limits)
+ };
+}
+function withDefaultLimits(limits) {
+ return {
+ ...limits,
+ fieldNestingDepth: limits?.fieldNestingDepth ?? DEFAULT_FIELD_NAME_LIMITS.fieldNestingDepth,
+ fieldArrayIndexLimit: limits?.fieldArrayIndexLimit ?? DEFAULT_FIELD_NAME_LIMITS.fieldArrayIndexLimit
+ };
+}
+function removeFilesOnPipeRejection(storage, req, res) {
+ return (0, import_rxjs9.catchError)((err) => {
+ if (isRejectedByPipes(req)) {
+ finished2(res, () => {
+ for (const file of storedFiles(req)) {
+ try {
+ storage._removeFile(req, file, () => void 0);
+ } catch {
+ }
+ }
+ });
+ }
+ return (0, import_rxjs9.throwError)(() => err);
+ });
+}
+function storedFiles(req) {
+ const { file, files } = req;
+ if (file) {
+ return [file];
+ }
+ return Array.isArray(files) ? files : Object.values(files ?? {}).flat();
+}
+function transformException(error) {
+ if (!error || error instanceof HttpException) {
+ return error;
+ }
+ const exception = isMulterExceptionCode(error.code) ? multerExceptions[error.code] : error.message;
+ switch (exception) {
+ case multerExceptions.LIMIT_FILE_SIZE:
+ return new PayloadTooLargeException(error.message);
+ case multerExceptions.LIMIT_FILE_COUNT:
+ case multerExceptions.LIMIT_FIELD_KEY:
+ case multerExceptions.LIMIT_FIELD_VALUE:
+ case multerExceptions.LIMIT_FIELD_COUNT:
+ case multerExceptions.LIMIT_FIELD_NESTING:
+ case multerExceptions.LIMIT_FIELD_ARRAY_INDEX:
+ case multerExceptions.INVALID_FIELD_NAME:
+ case multerExceptions.LIMIT_UNEXPECTED_FILE:
+ case multerExceptions.LIMIT_PART_COUNT:
+ case multerExceptions.MISSING_FIELD_NAME:
+ if (error.field) {
+ return new BadRequestException(`${error.message} - ${error.field}`);
+ }
+ return new BadRequestException(error.message);
+ case busboyExceptions.MULTIPART_BOUNDARY_NOT_FOUND:
+ return new BadRequestException(error.message);
+ case busboyExceptions.MULTIPART_MALFORMED_PART_HEADER:
+ case busboyExceptions.MULTIPART_UNEXPECTED_END_OF_FORM:
+ case busboyExceptions.MULTIPART_UNEXPECTED_END_OF_FILE:
+ return new BadRequestException(`Multipart: ${error.message}`);
+ }
+ return error;
+}
+function isMulterExceptionCode(code) {
+ return typeof code === "string" && Object.hasOwn(multerExceptions, code);
+}
+var import_rxjs9;
+var init_multer_utils = __esm({
+ "../../node_modules/.pnpm/@nestjs+platform-express@12_3e713911c21b6500374058e65a37060a/node_modules/@nestjs/platform-express/multer/multer/multer.utils.js"() {
+ init_common();
+ init_internal();
+ init_internal2();
+ import_rxjs9 = __toESM(require_cjs(), 1);
+ init_multer_constants();
+ __name(mergeMulterOptions, "mergeMulterOptions");
+ __name(applyDefaultLimits, "applyDefaultLimits");
+ __name(withDefaultLimits, "withDefaultLimits");
+ __name(removeFilesOnPipeRejection, "removeFilesOnPipeRejection");
+ __name(storedFiles, "storedFiles");
+ __name(transformException, "transformException");
+ __name(isMulterExceptionCode, "isMulterExceptionCode");
+ }
+});
+
+// ../../node_modules/.pnpm/@nestjs+platform-express@12_3e713911c21b6500374058e65a37060a/node_modules/@nestjs/platform-express/multer/interceptors/any-files.interceptor.js
+function AnyFilesInterceptor(localOptions) {
+ let MixinInterceptor = class MixinInterceptor {
+ static {
+ __name(this, "MixinInterceptor");
+ }
+ multer;
+ constructor(options = {}) {
+ this.multer = (0, import_multer.default)(applyDefaultLimits(mergeMulterOptions(options, localOptions)));
+ }
+ async intercept(context, next) {
+ const ctx = context.switchToHttp();
+ await new Promise((resolve, reject) => this.multer.any()(ctx.getRequest(), ctx.getResponse(), (err) => {
+ if (err) {
+ const error = transformException(err);
+ return reject(error);
+ }
+ resolve();
+ }));
+ return next.handle().pipe(removeFilesOnPipeRejection(this.multer.storage, ctx.getRequest(), ctx.getResponse()));
+ }
+ };
+ MixinInterceptor = __decorate([
+ __param(0, Optional()),
+ __param(0, Inject(MULTER_MODULE_OPTIONS)),
+ __metadata("design:paramtypes", [Object])
+ ], MixinInterceptor);
+ const Interceptor = mixin(MixinInterceptor);
+ return Interceptor;
+}
+var import_multer;
+var init_any_files_interceptor = __esm({
+ "../../node_modules/.pnpm/@nestjs+platform-express@12_3e713911c21b6500374058e65a37060a/node_modules/@nestjs/platform-express/multer/interceptors/any-files.interceptor.js"() {
+ init_tslib_es6();
+ init_common();
+ import_multer = __toESM(require_multer(), 1);
+ init_files_constants();
+ init_multer_utils();
+ __name(AnyFilesInterceptor, "AnyFilesInterceptor");
+ }
+});
+
+// ../../node_modules/.pnpm/@nestjs+platform-express@12_3e713911c21b6500374058e65a37060a/node_modules/@nestjs/platform-express/multer/interceptors/file-fields.interceptor.js
+function FileFieldsInterceptor(uploadFields, localOptions) {
+ let MixinInterceptor = class MixinInterceptor {
+ static {
+ __name(this, "MixinInterceptor");
+ }
+ multer;
+ constructor(options = {}) {
+ this.multer = (0, import_multer2.default)(applyDefaultLimits(mergeMulterOptions(options, localOptions)));
+ }
+ async intercept(context, next) {
+ const ctx = context.switchToHttp();
+ await new Promise((resolve, reject) => this.multer.fields(uploadFields)(ctx.getRequest(), ctx.getResponse(), (err) => {
+ if (err) {
+ const error = transformException(err);
+ return reject(error);
+ }
+ resolve();
+ }));
+ return next.handle().pipe(removeFilesOnPipeRejection(this.multer.storage, ctx.getRequest(), ctx.getResponse()));
+ }
+ };
+ MixinInterceptor = __decorate([
+ __param(0, Optional()),
+ __param(0, Inject(MULTER_MODULE_OPTIONS)),
+ __metadata("design:paramtypes", [Object])
+ ], MixinInterceptor);
+ const Interceptor = mixin(MixinInterceptor);
+ return Interceptor;
+}
+var import_multer2;
+var init_file_fields_interceptor = __esm({
+ "../../node_modules/.pnpm/@nestjs+platform-express@12_3e713911c21b6500374058e65a37060a/node_modules/@nestjs/platform-express/multer/interceptors/file-fields.interceptor.js"() {
+ init_tslib_es6();
+ init_common();
+ import_multer2 = __toESM(require_multer(), 1);
+ init_files_constants();
+ init_multer_utils();
+ __name(FileFieldsInterceptor, "FileFieldsInterceptor");
+ }
+});
+
+// ../../node_modules/.pnpm/@nestjs+platform-express@12_3e713911c21b6500374058e65a37060a/node_modules/@nestjs/platform-express/multer/interceptors/file.interceptor.js
+function FileInterceptor(fieldName, localOptions) {
+ let MixinInterceptor = class MixinInterceptor {
+ static {
+ __name(this, "MixinInterceptor");
+ }
+ multer;
+ constructor(options = {}) {
+ this.multer = (0, import_multer3.default)(applyDefaultLimits(mergeMulterOptions(options, localOptions)));
+ }
+ async intercept(context, next) {
+ const ctx = context.switchToHttp();
+ await new Promise((resolve, reject) => this.multer.single(fieldName)(ctx.getRequest(), ctx.getResponse(), (err) => {
+ if (err) {
+ const error = transformException(err);
+ return reject(error);
+ }
+ resolve();
+ }));
+ return next.handle().pipe(removeFilesOnPipeRejection(this.multer.storage, ctx.getRequest(), ctx.getResponse()));
+ }
+ };
+ MixinInterceptor = __decorate([
+ __param(0, Optional()),
+ __param(0, Inject(MULTER_MODULE_OPTIONS)),
+ __metadata("design:paramtypes", [Object])
+ ], MixinInterceptor);
+ const Interceptor = mixin(MixinInterceptor);
+ return Interceptor;
+}
+var import_multer3;
+var init_file_interceptor = __esm({
+ "../../node_modules/.pnpm/@nestjs+platform-express@12_3e713911c21b6500374058e65a37060a/node_modules/@nestjs/platform-express/multer/interceptors/file.interceptor.js"() {
+ init_tslib_es6();
+ init_common();
+ import_multer3 = __toESM(require_multer(), 1);
+ init_files_constants();
+ init_multer_utils();
+ __name(FileInterceptor, "FileInterceptor");
+ }
+});
+
+// ../../node_modules/.pnpm/@nestjs+platform-express@12_3e713911c21b6500374058e65a37060a/node_modules/@nestjs/platform-express/multer/interceptors/files.interceptor.js
+function FilesInterceptor(fieldName, maxCount, localOptions) {
+ let MixinInterceptor = class MixinInterceptor {
+ static {
+ __name(this, "MixinInterceptor");
+ }
+ multer;
+ constructor(options = {}) {
+ this.multer = (0, import_multer4.default)(applyDefaultLimits(mergeMulterOptions(options, localOptions)));
+ }
+ async intercept(context, next) {
+ const ctx = context.switchToHttp();
+ await new Promise((resolve, reject) => this.multer.array(fieldName, maxCount)(ctx.getRequest(), ctx.getResponse(), (err) => {
+ if (err) {
+ const error = transformException(err);
+ return reject(error);
+ }
+ resolve();
+ }));
+ return next.handle().pipe(removeFilesOnPipeRejection(this.multer.storage, ctx.getRequest(), ctx.getResponse()));
+ }
+ };
+ MixinInterceptor = __decorate([
+ __param(0, Optional()),
+ __param(0, Inject(MULTER_MODULE_OPTIONS)),
+ __metadata("design:paramtypes", [Object])
+ ], MixinInterceptor);
+ const Interceptor = mixin(MixinInterceptor);
+ return Interceptor;
+}
+var import_multer4;
+var init_files_interceptor = __esm({
+ "../../node_modules/.pnpm/@nestjs+platform-express@12_3e713911c21b6500374058e65a37060a/node_modules/@nestjs/platform-express/multer/interceptors/files.interceptor.js"() {
+ init_tslib_es6();
+ init_common();
+ import_multer4 = __toESM(require_multer(), 1);
+ init_files_constants();
+ init_multer_utils();
+ __name(FilesInterceptor, "FilesInterceptor");
+ }
+});
+
+// ../../node_modules/.pnpm/@nestjs+platform-express@12_3e713911c21b6500374058e65a37060a/node_modules/@nestjs/platform-express/multer/interceptors/no-files.interceptor.js
+function NoFilesInterceptor(localOptions) {
+ let MixinInterceptor = class MixinInterceptor {
+ static {
+ __name(this, "MixinInterceptor");
+ }
+ multer;
+ constructor(options = {}) {
+ this.multer = (0, import_multer5.default)(applyDefaultLimits(mergeMulterOptions(options, localOptions)));
+ }
+ async intercept(context, next) {
+ const ctx = context.switchToHttp();
+ await new Promise((resolve, reject) => this.multer.none()(ctx.getRequest(), ctx.getResponse(), (err) => {
+ if (err) {
+ const error = transformException(err);
+ return reject(error);
+ }
+ resolve();
+ }));
+ return next.handle();
+ }
+ };
+ MixinInterceptor = __decorate([
+ __param(0, Optional()),
+ __param(0, Inject(MULTER_MODULE_OPTIONS)),
+ __metadata("design:paramtypes", [Object])
+ ], MixinInterceptor);
+ const Interceptor = mixin(MixinInterceptor);
+ return Interceptor;
+}
+var import_multer5;
+var init_no_files_interceptor = __esm({
+ "../../node_modules/.pnpm/@nestjs+platform-express@12_3e713911c21b6500374058e65a37060a/node_modules/@nestjs/platform-express/multer/interceptors/no-files.interceptor.js"() {
+ init_tslib_es6();
+ init_common();
+ import_multer5 = __toESM(require_multer(), 1);
+ init_files_constants();
+ init_multer_utils();
+ __name(NoFilesInterceptor, "NoFilesInterceptor");
+ }
+});
+
+// ../../node_modules/.pnpm/@nestjs+platform-express@12_3e713911c21b6500374058e65a37060a/node_modules/@nestjs/platform-express/multer/interceptors/index.js
+var init_interceptors2 = __esm({
+ "../../node_modules/.pnpm/@nestjs+platform-express@12_3e713911c21b6500374058e65a37060a/node_modules/@nestjs/platform-express/multer/interceptors/index.js"() {
+ init_any_files_interceptor();
+ init_file_fields_interceptor();
+ init_file_interceptor();
+ init_files_interceptor();
+ init_no_files_interceptor();
+ }
+});
+
+// ../../node_modules/.pnpm/@nestjs+platform-express@12_3e713911c21b6500374058e65a37060a/node_modules/@nestjs/platform-express/multer/interfaces/files-upload-module.interface.js
+var init_files_upload_module_interface = __esm({
+ "../../node_modules/.pnpm/@nestjs+platform-express@12_3e713911c21b6500374058e65a37060a/node_modules/@nestjs/platform-express/multer/interfaces/files-upload-module.interface.js"() {
+ }
+});
+
+// ../../node_modules/.pnpm/@nestjs+platform-express@12_3e713911c21b6500374058e65a37060a/node_modules/@nestjs/platform-express/multer/interfaces/index.js
+var init_interfaces3 = __esm({
+ "../../node_modules/.pnpm/@nestjs+platform-express@12_3e713911c21b6500374058e65a37060a/node_modules/@nestjs/platform-express/multer/interfaces/index.js"() {
+ init_files_upload_module_interface();
+ }
+});
+
+// ../../node_modules/.pnpm/@nestjs+platform-express@12_3e713911c21b6500374058e65a37060a/node_modules/@nestjs/platform-express/multer/multer.constants.js
+var MULTER_MODULE_ID;
+var init_multer_constants2 = __esm({
+ "../../node_modules/.pnpm/@nestjs+platform-express@12_3e713911c21b6500374058e65a37060a/node_modules/@nestjs/platform-express/multer/multer.constants.js"() {
+ MULTER_MODULE_ID = "MULTER_MODULE_ID";
+ }
+});
+
+// ../../node_modules/.pnpm/@nestjs+platform-express@12_3e713911c21b6500374058e65a37060a/node_modules/@nestjs/platform-express/multer/multer.module.js
+var MulterModule_1, MulterModule;
+var init_multer_module = __esm({
+ "../../node_modules/.pnpm/@nestjs+platform-express@12_3e713911c21b6500374058e65a37060a/node_modules/@nestjs/platform-express/multer/multer.module.js"() {
+ init_tslib_es6();
+ init_common();
+ init_files_constants();
+ init_multer_constants2();
+ init_internal();
+ MulterModule = MulterModule_1 = class MulterModule2 {
+ static {
+ __name(this, "MulterModule");
+ }
+ static register(options = {}) {
+ return {
+ module: MulterModule_1,
+ providers: [
+ { provide: MULTER_MODULE_OPTIONS, useFactory: /* @__PURE__ */ __name(() => options, "useFactory") },
+ {
+ provide: MULTER_MODULE_ID,
+ useValue: randomStringGenerator()
+ }
+ ],
+ exports: [MULTER_MODULE_OPTIONS]
+ };
+ }
+ static registerAsync(options) {
+ return {
+ module: MulterModule_1,
+ imports: options.imports,
+ providers: [
+ ...this.createAsyncProviders(options),
+ {
+ provide: MULTER_MODULE_ID,
+ useValue: randomStringGenerator()
+ }
+ ],
+ exports: [MULTER_MODULE_OPTIONS]
+ };
+ }
+ static createAsyncProviders(options) {
+ if (options.useExisting || options.useFactory) {
+ return [this.createAsyncOptionsProvider(options)];
+ }
+ return [
+ this.createAsyncOptionsProvider(options),
+ {
+ provide: options.useClass,
+ useClass: options.useClass
+ }
+ ];
+ }
+ static createAsyncOptionsProvider(options) {
+ if (options.useFactory) {
+ return {
+ provide: MULTER_MODULE_OPTIONS,
+ useFactory: options.useFactory,
+ inject: options.inject || []
+ };
+ }
+ return {
+ provide: MULTER_MODULE_OPTIONS,
+ useFactory: /* @__PURE__ */ __name(async (optionsFactory) => optionsFactory.createMulterOptions(), "useFactory"),
+ inject: [options.useExisting || options.useClass]
+ };
+ }
+ };
+ MulterModule = MulterModule_1 = __decorate([
+ Module({})
+ ], MulterModule);
+ }
+});
+
+// ../../node_modules/.pnpm/@nestjs+platform-express@12_3e713911c21b6500374058e65a37060a/node_modules/@nestjs/platform-express/multer/index.js
+var init_multer = __esm({
+ "../../node_modules/.pnpm/@nestjs+platform-express@12_3e713911c21b6500374058e65a37060a/node_modules/@nestjs/platform-express/multer/index.js"() {
+ init_interceptors2();
+ init_interfaces3();
+ init_multer_module();
+ }
+});
+
+// ../../node_modules/.pnpm/@nestjs+platform-express@12_3e713911c21b6500374058e65a37060a/node_modules/@nestjs/platform-express/index.js
+var init_platform_express = __esm({
+ "../../node_modules/.pnpm/@nestjs+platform-express@12_3e713911c21b6500374058e65a37060a/node_modules/@nestjs/platform-express/index.js"() {
+ init_adapters2();
+ init_interfaces2();
+ init_multer();
+ }
+});
+
+export {
+ APP_GUARD,
+ APP_FILTER,
+ Reflector,
+ require_cookie,
+ ExpressAdapter,
+ AnyFilesInterceptor,
+ FileFieldsInterceptor,
+ FileInterceptor,
+ FilesInterceptor,
+ NoFilesInterceptor,
+ MulterModule,
+ init_platform_express,
+ NestFactory,
+ core_exports,
+ init_core
+};
diff --git a/apps/api/.output/dist/chunks/es5-NIUGVEY6.js b/apps/api/.output/dist/chunks/es5-NIUGVEY6.js
new file mode 100644
index 0000000..86339a3
--- /dev/null
+++ b/apps/api/.output/dist/chunks/es5-NIUGVEY6.js
@@ -0,0 +1,828 @@
+import { createRequire as __bundleCreateRequire } from "node:module"; const require = __bundleCreateRequire(import.meta.url);
+import {
+ __commonJS,
+ __name
+} from "./chunk-T6GW54FI.js";
+
+// ../../node_modules/.pnpm/bowser@2.14.1/node_modules/bowser/es5.js
+var require_es5 = __commonJS({
+ "../../node_modules/.pnpm/bowser@2.14.1/node_modules/bowser/es5.js"(exports, module) {
+ !(function(e, t) {
+ "object" == typeof exports && "object" == typeof module ? module.exports = t() : "function" == typeof define && define.amd ? define([], t) : "object" == typeof exports ? exports.bowser = t() : e.bowser = t();
+ })(exports, (function() {
+ return (function(e) {
+ var t = {};
+ function r(i) {
+ if (t[i]) return t[i].exports;
+ var n = t[i] = { i, l: false, exports: {} };
+ return e[i].call(n.exports, n, n.exports, r), n.l = true, n.exports;
+ }
+ __name(r, "r");
+ return r.m = e, r.c = t, r.d = function(e2, t2, i) {
+ r.o(e2, t2) || Object.defineProperty(e2, t2, { enumerable: true, get: i });
+ }, r.r = function(e2) {
+ "undefined" != typeof Symbol && Symbol.toStringTag && Object.defineProperty(e2, Symbol.toStringTag, { value: "Module" }), Object.defineProperty(e2, "__esModule", { value: true });
+ }, r.t = function(e2, t2) {
+ if (1 & t2 && (e2 = r(e2)), 8 & t2) return e2;
+ if (4 & t2 && "object" == typeof e2 && e2 && e2.__esModule) return e2;
+ var i = /* @__PURE__ */ Object.create(null);
+ if (r.r(i), Object.defineProperty(i, "default", { enumerable: true, value: e2 }), 2 & t2 && "string" != typeof e2) for (var n in e2) r.d(i, n, function(t3) {
+ return e2[t3];
+ }.bind(null, n));
+ return i;
+ }, r.n = function(e2) {
+ var t2 = e2 && e2.__esModule ? function() {
+ return e2.default;
+ } : function() {
+ return e2;
+ };
+ return r.d(t2, "a", t2), t2;
+ }, r.o = function(e2, t2) {
+ return Object.prototype.hasOwnProperty.call(e2, t2);
+ }, r.p = "", r(r.s = 90);
+ })({ 17: function(e, t, r) {
+ "use strict";
+ t.__esModule = true, t.default = void 0;
+ var i = r(18), n = (function() {
+ function e2() {
+ }
+ __name(e2, "e");
+ return e2.getFirstMatch = function(e3, t2) {
+ var r2 = t2.match(e3);
+ return r2 && r2.length > 0 && r2[1] || "";
+ }, e2.getSecondMatch = function(e3, t2) {
+ var r2 = t2.match(e3);
+ return r2 && r2.length > 1 && r2[2] || "";
+ }, e2.matchAndReturnConst = function(e3, t2, r2) {
+ if (e3.test(t2)) return r2;
+ }, e2.getWindowsVersionName = function(e3) {
+ switch (e3) {
+ case "NT":
+ return "NT";
+ case "XP":
+ return "XP";
+ case "NT 5.0":
+ return "2000";
+ case "NT 5.1":
+ return "XP";
+ case "NT 5.2":
+ return "2003";
+ case "NT 6.0":
+ return "Vista";
+ case "NT 6.1":
+ return "7";
+ case "NT 6.2":
+ return "8";
+ case "NT 6.3":
+ return "8.1";
+ case "NT 10.0":
+ return "10";
+ default:
+ return;
+ }
+ }, e2.getMacOSVersionName = function(e3) {
+ var t2 = e3.split(".").splice(0, 2).map((function(e4) {
+ return parseInt(e4, 10) || 0;
+ }));
+ t2.push(0);
+ var r2 = t2[0], i2 = t2[1];
+ if (10 === r2) switch (i2) {
+ case 5:
+ return "Leopard";
+ case 6:
+ return "Snow Leopard";
+ case 7:
+ return "Lion";
+ case 8:
+ return "Mountain Lion";
+ case 9:
+ return "Mavericks";
+ case 10:
+ return "Yosemite";
+ case 11:
+ return "El Capitan";
+ case 12:
+ return "Sierra";
+ case 13:
+ return "High Sierra";
+ case 14:
+ return "Mojave";
+ case 15:
+ return "Catalina";
+ default:
+ return;
+ }
+ switch (r2) {
+ case 11:
+ return "Big Sur";
+ case 12:
+ return "Monterey";
+ case 13:
+ return "Ventura";
+ case 14:
+ return "Sonoma";
+ case 15:
+ return "Sequoia";
+ default:
+ return;
+ }
+ }, e2.getAndroidVersionName = function(e3) {
+ var t2 = e3.split(".").splice(0, 2).map((function(e4) {
+ return parseInt(e4, 10) || 0;
+ }));
+ if (t2.push(0), !(1 === t2[0] && t2[1] < 5)) return 1 === t2[0] && t2[1] < 6 ? "Cupcake" : 1 === t2[0] && t2[1] >= 6 ? "Donut" : 2 === t2[0] && t2[1] < 2 ? "Eclair" : 2 === t2[0] && 2 === t2[1] ? "Froyo" : 2 === t2[0] && t2[1] > 2 ? "Gingerbread" : 3 === t2[0] ? "Honeycomb" : 4 === t2[0] && t2[1] < 1 ? "Ice Cream Sandwich" : 4 === t2[0] && t2[1] < 4 ? "Jelly Bean" : 4 === t2[0] && t2[1] >= 4 ? "KitKat" : 5 === t2[0] ? "Lollipop" : 6 === t2[0] ? "Marshmallow" : 7 === t2[0] ? "Nougat" : 8 === t2[0] ? "Oreo" : 9 === t2[0] ? "Pie" : void 0;
+ }, e2.getVersionPrecision = function(e3) {
+ return e3.split(".").length;
+ }, e2.compareVersions = function(t2, r2, i2) {
+ void 0 === i2 && (i2 = false);
+ var n2 = e2.getVersionPrecision(t2), a = e2.getVersionPrecision(r2), o = Math.max(n2, a), s = 0, u = e2.map([t2, r2], (function(t3) {
+ var r3 = o - e2.getVersionPrecision(t3), i3 = t3 + new Array(r3 + 1).join(".0");
+ return e2.map(i3.split("."), (function(e3) {
+ return new Array(20 - e3.length).join("0") + e3;
+ })).reverse();
+ }));
+ for (i2 && (s = o - Math.min(n2, a)), o -= 1; o >= s; ) {
+ if (u[0][o] > u[1][o]) return 1;
+ if (u[0][o] === u[1][o]) {
+ if (o === s) return 0;
+ o -= 1;
+ } else if (u[0][o] < u[1][o]) return -1;
+ }
+ }, e2.map = function(e3, t2) {
+ var r2, i2 = [];
+ if (Array.prototype.map) return Array.prototype.map.call(e3, t2);
+ for (r2 = 0; r2 < e3.length; r2 += 1) i2.push(t2(e3[r2]));
+ return i2;
+ }, e2.find = function(e3, t2) {
+ var r2, i2;
+ if (Array.prototype.find) return Array.prototype.find.call(e3, t2);
+ for (r2 = 0, i2 = e3.length; r2 < i2; r2 += 1) {
+ var n2 = e3[r2];
+ if (t2(n2, r2)) return n2;
+ }
+ }, e2.assign = function(e3) {
+ for (var t2, r2, i2 = e3, n2 = arguments.length, a = new Array(n2 > 1 ? n2 - 1 : 0), o = 1; o < n2; o++) a[o - 1] = arguments[o];
+ if (Object.assign) return Object.assign.apply(Object, [e3].concat(a));
+ var s = /* @__PURE__ */ __name(function() {
+ var e4 = a[t2];
+ "object" == typeof e4 && null !== e4 && Object.keys(e4).forEach((function(t3) {
+ i2[t3] = e4[t3];
+ }));
+ }, "s");
+ for (t2 = 0, r2 = a.length; t2 < r2; t2 += 1) s();
+ return e3;
+ }, e2.getBrowserAlias = function(e3) {
+ return i.BROWSER_ALIASES_MAP[e3];
+ }, e2.getBrowserTypeByAlias = function(e3) {
+ return i.BROWSER_MAP[e3] || "";
+ }, e2;
+ })();
+ t.default = n, e.exports = t.default;
+ }, 18: function(e, t, r) {
+ "use strict";
+ t.__esModule = true, t.ENGINE_MAP = t.OS_MAP = t.PLATFORMS_MAP = t.BROWSER_MAP = t.BROWSER_ALIASES_MAP = void 0;
+ t.BROWSER_ALIASES_MAP = { AmazonBot: "amazonbot", "Amazon Silk": "amazon_silk", "Android Browser": "android", BaiduSpider: "baiduspider", Bada: "bada", BingCrawler: "bingcrawler", Brave: "brave", BlackBerry: "blackberry", "ChatGPT-User": "chatgpt_user", Chrome: "chrome", ClaudeBot: "claudebot", Chromium: "chromium", Diffbot: "diffbot", DuckDuckBot: "duckduckbot", DuckDuckGo: "duckduckgo", Electron: "electron", Epiphany: "epiphany", FacebookExternalHit: "facebookexternalhit", Firefox: "firefox", Focus: "focus", Generic: "generic", "Google Search": "google_search", Googlebot: "googlebot", GPTBot: "gptbot", "Internet Explorer": "ie", InternetArchiveCrawler: "internetarchivecrawler", "K-Meleon": "k_meleon", LibreWolf: "librewolf", Linespider: "linespider", Maxthon: "maxthon", "Meta-ExternalAds": "meta_externalads", "Meta-ExternalAgent": "meta_externalagent", "Meta-ExternalFetcher": "meta_externalfetcher", "Meta-WebIndexer": "meta_webindexer", "Microsoft Edge": "edge", "MZ Browser": "mz", "NAVER Whale Browser": "naver", "OAI-SearchBot": "oai_searchbot", Omgilibot: "omgilibot", Opera: "opera", "Opera Coast": "opera_coast", "Pale Moon": "pale_moon", PerplexityBot: "perplexitybot", "Perplexity-User": "perplexity_user", PhantomJS: "phantomjs", PingdomBot: "pingdombot", Puffin: "puffin", QQ: "qq", QQLite: "qqlite", QupZilla: "qupzilla", Roku: "roku", Safari: "safari", Sailfish: "sailfish", "Samsung Internet for Android": "samsung_internet", SlackBot: "slackbot", SeaMonkey: "seamonkey", Sleipnir: "sleipnir", "Sogou Browser": "sogou", Swing: "swing", Tizen: "tizen", "UC Browser": "uc", Vivaldi: "vivaldi", "WebOS Browser": "webos", WeChat: "wechat", YahooSlurp: "yahooslurp", "Yandex Browser": "yandex", YandexBot: "yandexbot", YouBot: "youbot" };
+ t.BROWSER_MAP = { amazonbot: "AmazonBot", amazon_silk: "Amazon Silk", android: "Android Browser", baiduspider: "BaiduSpider", bada: "Bada", bingcrawler: "BingCrawler", blackberry: "BlackBerry", brave: "Brave", chatgpt_user: "ChatGPT-User", chrome: "Chrome", claudebot: "ClaudeBot", chromium: "Chromium", diffbot: "Diffbot", duckduckbot: "DuckDuckBot", duckduckgo: "DuckDuckGo", edge: "Microsoft Edge", electron: "Electron", epiphany: "Epiphany", facebookexternalhit: "FacebookExternalHit", firefox: "Firefox", focus: "Focus", generic: "Generic", google_search: "Google Search", googlebot: "Googlebot", gptbot: "GPTBot", ie: "Internet Explorer", internetarchivecrawler: "InternetArchiveCrawler", k_meleon: "K-Meleon", librewolf: "LibreWolf", linespider: "Linespider", maxthon: "Maxthon", meta_externalads: "Meta-ExternalAds", meta_externalagent: "Meta-ExternalAgent", meta_externalfetcher: "Meta-ExternalFetcher", meta_webindexer: "Meta-WebIndexer", mz: "MZ Browser", naver: "NAVER Whale Browser", oai_searchbot: "OAI-SearchBot", omgilibot: "Omgilibot", opera: "Opera", opera_coast: "Opera Coast", pale_moon: "Pale Moon", perplexitybot: "PerplexityBot", perplexity_user: "Perplexity-User", phantomjs: "PhantomJS", pingdombot: "PingdomBot", puffin: "Puffin", qq: "QQ Browser", qqlite: "QQ Browser Lite", qupzilla: "QupZilla", roku: "Roku", safari: "Safari", sailfish: "Sailfish", samsung_internet: "Samsung Internet for Android", seamonkey: "SeaMonkey", slackbot: "SlackBot", sleipnir: "Sleipnir", sogou: "Sogou Browser", swing: "Swing", tizen: "Tizen", uc: "UC Browser", vivaldi: "Vivaldi", webos: "WebOS Browser", wechat: "WeChat", yahooslurp: "YahooSlurp", yandex: "Yandex Browser", yandexbot: "YandexBot", youbot: "YouBot" };
+ t.PLATFORMS_MAP = { bot: "bot", desktop: "desktop", mobile: "mobile", tablet: "tablet", tv: "tv" };
+ t.OS_MAP = { Android: "Android", Bada: "Bada", BlackBerry: "BlackBerry", ChromeOS: "Chrome OS", HarmonyOS: "HarmonyOS", iOS: "iOS", Linux: "Linux", MacOS: "macOS", PlayStation4: "PlayStation 4", Roku: "Roku", Tizen: "Tizen", WebOS: "WebOS", Windows: "Windows", WindowsPhone: "Windows Phone" };
+ t.ENGINE_MAP = { Blink: "Blink", EdgeHTML: "EdgeHTML", Gecko: "Gecko", Presto: "Presto", Trident: "Trident", WebKit: "WebKit" };
+ }, 90: function(e, t, r) {
+ "use strict";
+ t.__esModule = true, t.default = void 0;
+ var i, n = (i = r(91)) && i.__esModule ? i : { default: i }, a = r(18);
+ function o(e2, t2) {
+ for (var r2 = 0; r2 < t2.length; r2++) {
+ var i2 = t2[r2];
+ i2.enumerable = i2.enumerable || false, i2.configurable = true, "value" in i2 && (i2.writable = true), Object.defineProperty(e2, i2.key, i2);
+ }
+ }
+ __name(o, "o");
+ var s = (function() {
+ function e2() {
+ }
+ __name(e2, "e");
+ var t2, r2, i2;
+ return e2.getParser = function(e3, t3, r3) {
+ if (void 0 === t3 && (t3 = false), void 0 === r3 && (r3 = null), "string" != typeof e3) throw new Error("UserAgent should be a string");
+ return new n.default(e3, t3, r3);
+ }, e2.parse = function(e3, t3) {
+ return void 0 === t3 && (t3 = null), new n.default(e3, t3).getResult();
+ }, t2 = e2, i2 = [{ key: "BROWSER_MAP", get: /* @__PURE__ */ __name(function() {
+ return a.BROWSER_MAP;
+ }, "get") }, { key: "ENGINE_MAP", get: /* @__PURE__ */ __name(function() {
+ return a.ENGINE_MAP;
+ }, "get") }, { key: "OS_MAP", get: /* @__PURE__ */ __name(function() {
+ return a.OS_MAP;
+ }, "get") }, { key: "PLATFORMS_MAP", get: /* @__PURE__ */ __name(function() {
+ return a.PLATFORMS_MAP;
+ }, "get") }], (r2 = null) && o(t2.prototype, r2), i2 && o(t2, i2), e2;
+ })();
+ t.default = s, e.exports = t.default;
+ }, 91: function(e, t, r) {
+ "use strict";
+ t.__esModule = true, t.default = void 0;
+ var i = u(r(92)), n = u(r(93)), a = u(r(94)), o = u(r(95)), s = u(r(17));
+ function u(e2) {
+ return e2 && e2.__esModule ? e2 : { default: e2 };
+ }
+ __name(u, "u");
+ var d = (function() {
+ function e2(e3, t3, r2) {
+ if (void 0 === t3 && (t3 = false), void 0 === r2 && (r2 = null), null == e3 || "" === e3) throw new Error("UserAgent parameter can't be empty");
+ this._ua = e3;
+ var i2 = false;
+ "boolean" == typeof t3 ? (i2 = t3, this._hints = r2) : this._hints = null != t3 && "object" == typeof t3 ? t3 : null, this.parsedResult = {}, true !== i2 && this.parse();
+ }
+ __name(e2, "e");
+ var t2 = e2.prototype;
+ return t2.getHints = function() {
+ return this._hints;
+ }, t2.hasBrand = function(e3) {
+ if (!this._hints || !Array.isArray(this._hints.brands)) return false;
+ var t3 = e3.toLowerCase();
+ return this._hints.brands.some((function(e4) {
+ return e4.brand && e4.brand.toLowerCase() === t3;
+ }));
+ }, t2.getBrandVersion = function(e3) {
+ if (this._hints && Array.isArray(this._hints.brands)) {
+ var t3 = e3.toLowerCase(), r2 = this._hints.brands.find((function(e4) {
+ return e4.brand && e4.brand.toLowerCase() === t3;
+ }));
+ return r2 ? r2.version : void 0;
+ }
+ }, t2.getUA = function() {
+ return this._ua;
+ }, t2.test = function(e3) {
+ return e3.test(this._ua);
+ }, t2.parseBrowser = function() {
+ var e3 = this;
+ this.parsedResult.browser = {};
+ var t3 = s.default.find(i.default, (function(t4) {
+ if ("function" == typeof t4.test) return t4.test(e3);
+ if (Array.isArray(t4.test)) return t4.test.some((function(t5) {
+ return e3.test(t5);
+ }));
+ throw new Error("Browser's test function is not valid");
+ }));
+ return t3 && (this.parsedResult.browser = t3.describe(this.getUA(), this)), this.parsedResult.browser;
+ }, t2.getBrowser = function() {
+ return this.parsedResult.browser ? this.parsedResult.browser : this.parseBrowser();
+ }, t2.getBrowserName = function(e3) {
+ return e3 ? String(this.getBrowser().name).toLowerCase() || "" : this.getBrowser().name || "";
+ }, t2.getBrowserVersion = function() {
+ return this.getBrowser().version;
+ }, t2.getOS = function() {
+ return this.parsedResult.os ? this.parsedResult.os : this.parseOS();
+ }, t2.parseOS = function() {
+ var e3 = this;
+ this.parsedResult.os = {};
+ var t3 = s.default.find(n.default, (function(t4) {
+ if ("function" == typeof t4.test) return t4.test(e3);
+ if (Array.isArray(t4.test)) return t4.test.some((function(t5) {
+ return e3.test(t5);
+ }));
+ throw new Error("Browser's test function is not valid");
+ }));
+ return t3 && (this.parsedResult.os = t3.describe(this.getUA())), this.parsedResult.os;
+ }, t2.getOSName = function(e3) {
+ var t3 = this.getOS().name;
+ return e3 ? String(t3).toLowerCase() || "" : t3 || "";
+ }, t2.getOSVersion = function() {
+ return this.getOS().version;
+ }, t2.getPlatform = function() {
+ return this.parsedResult.platform ? this.parsedResult.platform : this.parsePlatform();
+ }, t2.getPlatformType = function(e3) {
+ void 0 === e3 && (e3 = false);
+ var t3 = this.getPlatform().type;
+ return e3 ? String(t3).toLowerCase() || "" : t3 || "";
+ }, t2.parsePlatform = function() {
+ var e3 = this;
+ this.parsedResult.platform = {};
+ var t3 = s.default.find(a.default, (function(t4) {
+ if ("function" == typeof t4.test) return t4.test(e3);
+ if (Array.isArray(t4.test)) return t4.test.some((function(t5) {
+ return e3.test(t5);
+ }));
+ throw new Error("Browser's test function is not valid");
+ }));
+ return t3 && (this.parsedResult.platform = t3.describe(this.getUA())), this.parsedResult.platform;
+ }, t2.getEngine = function() {
+ return this.parsedResult.engine ? this.parsedResult.engine : this.parseEngine();
+ }, t2.getEngineName = function(e3) {
+ return e3 ? String(this.getEngine().name).toLowerCase() || "" : this.getEngine().name || "";
+ }, t2.parseEngine = function() {
+ var e3 = this;
+ this.parsedResult.engine = {};
+ var t3 = s.default.find(o.default, (function(t4) {
+ if ("function" == typeof t4.test) return t4.test(e3);
+ if (Array.isArray(t4.test)) return t4.test.some((function(t5) {
+ return e3.test(t5);
+ }));
+ throw new Error("Browser's test function is not valid");
+ }));
+ return t3 && (this.parsedResult.engine = t3.describe(this.getUA())), this.parsedResult.engine;
+ }, t2.parse = function() {
+ return this.parseBrowser(), this.parseOS(), this.parsePlatform(), this.parseEngine(), this;
+ }, t2.getResult = function() {
+ return s.default.assign({}, this.parsedResult);
+ }, t2.satisfies = function(e3) {
+ var t3 = this, r2 = {}, i2 = 0, n2 = {}, a2 = 0;
+ if (Object.keys(e3).forEach((function(t4) {
+ var o3 = e3[t4];
+ "string" == typeof o3 ? (n2[t4] = o3, a2 += 1) : "object" == typeof o3 && (r2[t4] = o3, i2 += 1);
+ })), i2 > 0) {
+ var o2 = Object.keys(r2), u2 = s.default.find(o2, (function(e4) {
+ return t3.isOS(e4);
+ }));
+ if (u2) {
+ var d2 = this.satisfies(r2[u2]);
+ if (void 0 !== d2) return d2;
+ }
+ var c = s.default.find(o2, (function(e4) {
+ return t3.isPlatform(e4);
+ }));
+ if (c) {
+ var f = this.satisfies(r2[c]);
+ if (void 0 !== f) return f;
+ }
+ }
+ if (a2 > 0) {
+ var l = Object.keys(n2), b = s.default.find(l, (function(e4) {
+ return t3.isBrowser(e4, true);
+ }));
+ if (void 0 !== b) return this.compareVersion(n2[b]);
+ }
+ }, t2.isBrowser = function(e3, t3) {
+ void 0 === t3 && (t3 = false);
+ var r2 = this.getBrowserName().toLowerCase(), i2 = e3.toLowerCase(), n2 = s.default.getBrowserTypeByAlias(i2);
+ return t3 && n2 && (i2 = n2.toLowerCase()), i2 === r2;
+ }, t2.compareVersion = function(e3) {
+ var t3 = [0], r2 = e3, i2 = false, n2 = this.getBrowserVersion();
+ if ("string" == typeof n2) return ">" === e3[0] || "<" === e3[0] ? (r2 = e3.substr(1), "=" === e3[1] ? (i2 = true, r2 = e3.substr(2)) : t3 = [], ">" === e3[0] ? t3.push(1) : t3.push(-1)) : "=" === e3[0] ? r2 = e3.substr(1) : "~" === e3[0] && (i2 = true, r2 = e3.substr(1)), t3.indexOf(s.default.compareVersions(n2, r2, i2)) > -1;
+ }, t2.isOS = function(e3) {
+ return this.getOSName(true) === String(e3).toLowerCase();
+ }, t2.isPlatform = function(e3) {
+ return this.getPlatformType(true) === String(e3).toLowerCase();
+ }, t2.isEngine = function(e3) {
+ return this.getEngineName(true) === String(e3).toLowerCase();
+ }, t2.is = function(e3, t3) {
+ return void 0 === t3 && (t3 = false), this.isBrowser(e3, t3) || this.isOS(e3) || this.isPlatform(e3);
+ }, t2.some = function(e3) {
+ var t3 = this;
+ return void 0 === e3 && (e3 = []), e3.some((function(e4) {
+ return t3.is(e4);
+ }));
+ }, e2;
+ })();
+ t.default = d, e.exports = t.default;
+ }, 92: function(e, t, r) {
+ "use strict";
+ t.__esModule = true, t.default = void 0;
+ var i, n = (i = r(17)) && i.__esModule ? i : { default: i };
+ var a = /version\/(\d+(\.?_?\d+)+)/i, o = [{ test: [/gptbot/i], describe: /* @__PURE__ */ __name(function(e2) {
+ var t2 = { name: "GPTBot" }, r2 = n.default.getFirstMatch(/gptbot\/(\d+(\.\d+)+)/i, e2) || n.default.getFirstMatch(a, e2);
+ return r2 && (t2.version = r2), t2;
+ }, "describe") }, { test: [/chatgpt-user/i], describe: /* @__PURE__ */ __name(function(e2) {
+ var t2 = { name: "ChatGPT-User" }, r2 = n.default.getFirstMatch(/chatgpt-user\/(\d+(\.\d+)+)/i, e2) || n.default.getFirstMatch(a, e2);
+ return r2 && (t2.version = r2), t2;
+ }, "describe") }, { test: [/oai-searchbot/i], describe: /* @__PURE__ */ __name(function(e2) {
+ var t2 = { name: "OAI-SearchBot" }, r2 = n.default.getFirstMatch(/oai-searchbot\/(\d+(\.\d+)+)/i, e2) || n.default.getFirstMatch(a, e2);
+ return r2 && (t2.version = r2), t2;
+ }, "describe") }, { test: [/claudebot/i, /claude-web/i, /claude-user/i, /claude-searchbot/i], describe: /* @__PURE__ */ __name(function(e2) {
+ var t2 = { name: "ClaudeBot" }, r2 = n.default.getFirstMatch(/(?:claudebot|claude-web|claude-user|claude-searchbot)\/(\d+(\.\d+)+)/i, e2) || n.default.getFirstMatch(a, e2);
+ return r2 && (t2.version = r2), t2;
+ }, "describe") }, { test: [/omgilibot/i, /webzio-extended/i], describe: /* @__PURE__ */ __name(function(e2) {
+ var t2 = { name: "Omgilibot" }, r2 = n.default.getFirstMatch(/(?:omgilibot|webzio-extended)\/(\d+(\.\d+)+)/i, e2) || n.default.getFirstMatch(a, e2);
+ return r2 && (t2.version = r2), t2;
+ }, "describe") }, { test: [/diffbot/i], describe: /* @__PURE__ */ __name(function(e2) {
+ var t2 = { name: "Diffbot" }, r2 = n.default.getFirstMatch(/diffbot\/(\d+(\.\d+)+)/i, e2) || n.default.getFirstMatch(a, e2);
+ return r2 && (t2.version = r2), t2;
+ }, "describe") }, { test: [/perplexitybot/i], describe: /* @__PURE__ */ __name(function(e2) {
+ var t2 = { name: "PerplexityBot" }, r2 = n.default.getFirstMatch(/perplexitybot\/(\d+(\.\d+)+)/i, e2) || n.default.getFirstMatch(a, e2);
+ return r2 && (t2.version = r2), t2;
+ }, "describe") }, { test: [/perplexity-user/i], describe: /* @__PURE__ */ __name(function(e2) {
+ var t2 = { name: "Perplexity-User" }, r2 = n.default.getFirstMatch(/perplexity-user\/(\d+(\.\d+)+)/i, e2) || n.default.getFirstMatch(a, e2);
+ return r2 && (t2.version = r2), t2;
+ }, "describe") }, { test: [/youbot/i], describe: /* @__PURE__ */ __name(function(e2) {
+ var t2 = { name: "YouBot" }, r2 = n.default.getFirstMatch(/youbot\/(\d+(\.\d+)+)/i, e2) || n.default.getFirstMatch(a, e2);
+ return r2 && (t2.version = r2), t2;
+ }, "describe") }, { test: [/meta-webindexer/i], describe: /* @__PURE__ */ __name(function(e2) {
+ var t2 = { name: "Meta-WebIndexer" }, r2 = n.default.getFirstMatch(/meta-webindexer\/(\d+(\.\d+)+)/i, e2) || n.default.getFirstMatch(a, e2);
+ return r2 && (t2.version = r2), t2;
+ }, "describe") }, { test: [/meta-externalads/i], describe: /* @__PURE__ */ __name(function(e2) {
+ var t2 = { name: "Meta-ExternalAds" }, r2 = n.default.getFirstMatch(/meta-externalads\/(\d+(\.\d+)+)/i, e2) || n.default.getFirstMatch(a, e2);
+ return r2 && (t2.version = r2), t2;
+ }, "describe") }, { test: [/meta-externalagent/i], describe: /* @__PURE__ */ __name(function(e2) {
+ var t2 = { name: "Meta-ExternalAgent" }, r2 = n.default.getFirstMatch(/meta-externalagent\/(\d+(\.\d+)+)/i, e2) || n.default.getFirstMatch(a, e2);
+ return r2 && (t2.version = r2), t2;
+ }, "describe") }, { test: [/meta-externalfetcher/i], describe: /* @__PURE__ */ __name(function(e2) {
+ var t2 = { name: "Meta-ExternalFetcher" }, r2 = n.default.getFirstMatch(/meta-externalfetcher\/(\d+(\.\d+)+)/i, e2) || n.default.getFirstMatch(a, e2);
+ return r2 && (t2.version = r2), t2;
+ }, "describe") }, { test: [/googlebot/i], describe: /* @__PURE__ */ __name(function(e2) {
+ var t2 = { name: "Googlebot" }, r2 = n.default.getFirstMatch(/googlebot\/(\d+(\.\d+))/i, e2) || n.default.getFirstMatch(a, e2);
+ return r2 && (t2.version = r2), t2;
+ }, "describe") }, { test: [/linespider/i], describe: /* @__PURE__ */ __name(function(e2) {
+ var t2 = { name: "Linespider" }, r2 = n.default.getFirstMatch(/(?:linespider)(?:-[-\w]+)?[\s/](\d+(\.\d+)+)/i, e2) || n.default.getFirstMatch(a, e2);
+ return r2 && (t2.version = r2), t2;
+ }, "describe") }, { test: [/amazonbot/i], describe: /* @__PURE__ */ __name(function(e2) {
+ var t2 = { name: "AmazonBot" }, r2 = n.default.getFirstMatch(/amazonbot\/(\d+(\.\d+)+)/i, e2) || n.default.getFirstMatch(a, e2);
+ return r2 && (t2.version = r2), t2;
+ }, "describe") }, { test: [/bingbot/i], describe: /* @__PURE__ */ __name(function(e2) {
+ var t2 = { name: "BingCrawler" }, r2 = n.default.getFirstMatch(/bingbot\/(\d+(\.\d+)+)/i, e2) || n.default.getFirstMatch(a, e2);
+ return r2 && (t2.version = r2), t2;
+ }, "describe") }, { test: [/baiduspider/i], describe: /* @__PURE__ */ __name(function(e2) {
+ var t2 = { name: "BaiduSpider" }, r2 = n.default.getFirstMatch(/baiduspider\/(\d+(\.\d+)+)/i, e2) || n.default.getFirstMatch(a, e2);
+ return r2 && (t2.version = r2), t2;
+ }, "describe") }, { test: [/duckduckbot/i], describe: /* @__PURE__ */ __name(function(e2) {
+ var t2 = { name: "DuckDuckBot" }, r2 = n.default.getFirstMatch(/duckduckbot\/(\d+(\.\d+)+)/i, e2) || n.default.getFirstMatch(a, e2);
+ return r2 && (t2.version = r2), t2;
+ }, "describe") }, { test: [/ia_archiver/i], describe: /* @__PURE__ */ __name(function(e2) {
+ var t2 = { name: "InternetArchiveCrawler" }, r2 = n.default.getFirstMatch(/ia_archiver\/(\d+(\.\d+)+)/i, e2) || n.default.getFirstMatch(a, e2);
+ return r2 && (t2.version = r2), t2;
+ }, "describe") }, { test: [/facebookexternalhit/i, /facebookcatalog/i], describe: /* @__PURE__ */ __name(function() {
+ return { name: "FacebookExternalHit" };
+ }, "describe") }, { test: [/slackbot/i, /slack-imgProxy/i], describe: /* @__PURE__ */ __name(function(e2) {
+ var t2 = { name: "SlackBot" }, r2 = n.default.getFirstMatch(/(?:slackbot|slack-imgproxy)(?:-[-\w]+)?[\s/](\d+(\.\d+)+)/i, e2) || n.default.getFirstMatch(a, e2);
+ return r2 && (t2.version = r2), t2;
+ }, "describe") }, { test: [/yahoo!?[\s/]*slurp/i], describe: /* @__PURE__ */ __name(function() {
+ return { name: "YahooSlurp" };
+ }, "describe") }, { test: [/yandexbot/i, /yandexmobilebot/i], describe: /* @__PURE__ */ __name(function() {
+ return { name: "YandexBot" };
+ }, "describe") }, { test: [/pingdom/i], describe: /* @__PURE__ */ __name(function() {
+ return { name: "PingdomBot" };
+ }, "describe") }, { test: [/opera/i], describe: /* @__PURE__ */ __name(function(e2) {
+ var t2 = { name: "Opera" }, r2 = n.default.getFirstMatch(a, e2) || n.default.getFirstMatch(/(?:opera)[\s/](\d+(\.?_?\d+)+)/i, e2);
+ return r2 && (t2.version = r2), t2;
+ }, "describe") }, { test: [/opr\/|opios/i], describe: /* @__PURE__ */ __name(function(e2) {
+ var t2 = { name: "Opera" }, r2 = n.default.getFirstMatch(/(?:opr|opios)[\s/](\S+)/i, e2) || n.default.getFirstMatch(a, e2);
+ return r2 && (t2.version = r2), t2;
+ }, "describe") }, { test: [/SamsungBrowser/i], describe: /* @__PURE__ */ __name(function(e2) {
+ var t2 = { name: "Samsung Internet for Android" }, r2 = n.default.getFirstMatch(a, e2) || n.default.getFirstMatch(/(?:SamsungBrowser)[\s/](\d+(\.?_?\d+)+)/i, e2);
+ return r2 && (t2.version = r2), t2;
+ }, "describe") }, { test: [/Whale/i], describe: /* @__PURE__ */ __name(function(e2) {
+ var t2 = { name: "NAVER Whale Browser" }, r2 = n.default.getFirstMatch(a, e2) || n.default.getFirstMatch(/(?:whale)[\s/](\d+(?:\.\d+)+)/i, e2);
+ return r2 && (t2.version = r2), t2;
+ }, "describe") }, { test: [/PaleMoon/i], describe: /* @__PURE__ */ __name(function(e2) {
+ var t2 = { name: "Pale Moon" }, r2 = n.default.getFirstMatch(a, e2) || n.default.getFirstMatch(/(?:PaleMoon)[\s/](\d+(?:\.\d+)+)/i, e2);
+ return r2 && (t2.version = r2), t2;
+ }, "describe") }, { test: [/MZBrowser/i], describe: /* @__PURE__ */ __name(function(e2) {
+ var t2 = { name: "MZ Browser" }, r2 = n.default.getFirstMatch(/(?:MZBrowser)[\s/](\d+(?:\.\d+)+)/i, e2) || n.default.getFirstMatch(a, e2);
+ return r2 && (t2.version = r2), t2;
+ }, "describe") }, { test: [/focus/i], describe: /* @__PURE__ */ __name(function(e2) {
+ var t2 = { name: "Focus" }, r2 = n.default.getFirstMatch(/(?:focus)[\s/](\d+(?:\.\d+)+)/i, e2) || n.default.getFirstMatch(a, e2);
+ return r2 && (t2.version = r2), t2;
+ }, "describe") }, { test: [/swing/i], describe: /* @__PURE__ */ __name(function(e2) {
+ var t2 = { name: "Swing" }, r2 = n.default.getFirstMatch(/(?:swing)[\s/](\d+(?:\.\d+)+)/i, e2) || n.default.getFirstMatch(a, e2);
+ return r2 && (t2.version = r2), t2;
+ }, "describe") }, { test: [/coast/i], describe: /* @__PURE__ */ __name(function(e2) {
+ var t2 = { name: "Opera Coast" }, r2 = n.default.getFirstMatch(a, e2) || n.default.getFirstMatch(/(?:coast)[\s/](\d+(\.?_?\d+)+)/i, e2);
+ return r2 && (t2.version = r2), t2;
+ }, "describe") }, { test: [/opt\/\d+(?:.?_?\d+)+/i], describe: /* @__PURE__ */ __name(function(e2) {
+ var t2 = { name: "Opera Touch" }, r2 = n.default.getFirstMatch(/(?:opt)[\s/](\d+(\.?_?\d+)+)/i, e2) || n.default.getFirstMatch(a, e2);
+ return r2 && (t2.version = r2), t2;
+ }, "describe") }, { test: [/yabrowser/i], describe: /* @__PURE__ */ __name(function(e2) {
+ var t2 = { name: "Yandex Browser" }, r2 = n.default.getFirstMatch(/(?:yabrowser)[\s/](\d+(\.?_?\d+)+)/i, e2) || n.default.getFirstMatch(a, e2);
+ return r2 && (t2.version = r2), t2;
+ }, "describe") }, { test: [/ucbrowser/i], describe: /* @__PURE__ */ __name(function(e2) {
+ var t2 = { name: "UC Browser" }, r2 = n.default.getFirstMatch(a, e2) || n.default.getFirstMatch(/(?:ucbrowser)[\s/](\d+(\.?_?\d+)+)/i, e2);
+ return r2 && (t2.version = r2), t2;
+ }, "describe") }, { test: [/Maxthon|mxios/i], describe: /* @__PURE__ */ __name(function(e2) {
+ var t2 = { name: "Maxthon" }, r2 = n.default.getFirstMatch(a, e2) || n.default.getFirstMatch(/(?:Maxthon|mxios)[\s/](\d+(\.?_?\d+)+)/i, e2);
+ return r2 && (t2.version = r2), t2;
+ }, "describe") }, { test: [/epiphany/i], describe: /* @__PURE__ */ __name(function(e2) {
+ var t2 = { name: "Epiphany" }, r2 = n.default.getFirstMatch(a, e2) || n.default.getFirstMatch(/(?:epiphany)[\s/](\d+(\.?_?\d+)+)/i, e2);
+ return r2 && (t2.version = r2), t2;
+ }, "describe") }, { test: [/puffin/i], describe: /* @__PURE__ */ __name(function(e2) {
+ var t2 = { name: "Puffin" }, r2 = n.default.getFirstMatch(a, e2) || n.default.getFirstMatch(/(?:puffin)[\s/](\d+(\.?_?\d+)+)/i, e2);
+ return r2 && (t2.version = r2), t2;
+ }, "describe") }, { test: [/sleipnir/i], describe: /* @__PURE__ */ __name(function(e2) {
+ var t2 = { name: "Sleipnir" }, r2 = n.default.getFirstMatch(a, e2) || n.default.getFirstMatch(/(?:sleipnir)[\s/](\d+(\.?_?\d+)+)/i, e2);
+ return r2 && (t2.version = r2), t2;
+ }, "describe") }, { test: [/k-meleon/i], describe: /* @__PURE__ */ __name(function(e2) {
+ var t2 = { name: "K-Meleon" }, r2 = n.default.getFirstMatch(a, e2) || n.default.getFirstMatch(/(?:k-meleon)[\s/](\d+(\.?_?\d+)+)/i, e2);
+ return r2 && (t2.version = r2), t2;
+ }, "describe") }, { test: [/micromessenger/i], describe: /* @__PURE__ */ __name(function(e2) {
+ var t2 = { name: "WeChat" }, r2 = n.default.getFirstMatch(/(?:micromessenger)[\s/](\d+(\.?_?\d+)+)/i, e2) || n.default.getFirstMatch(a, e2);
+ return r2 && (t2.version = r2), t2;
+ }, "describe") }, { test: [/qqbrowser/i], describe: /* @__PURE__ */ __name(function(e2) {
+ var t2 = { name: /qqbrowserlite/i.test(e2) ? "QQ Browser Lite" : "QQ Browser" }, r2 = n.default.getFirstMatch(/(?:qqbrowserlite|qqbrowser)[/](\d+(\.?_?\d+)+)/i, e2) || n.default.getFirstMatch(a, e2);
+ return r2 && (t2.version = r2), t2;
+ }, "describe") }, { test: [/msie|trident/i], describe: /* @__PURE__ */ __name(function(e2) {
+ var t2 = { name: "Internet Explorer" }, r2 = n.default.getFirstMatch(/(?:msie |rv:)(\d+(\.?_?\d+)+)/i, e2);
+ return r2 && (t2.version = r2), t2;
+ }, "describe") }, { test: [/\sedg\//i], describe: /* @__PURE__ */ __name(function(e2) {
+ var t2 = { name: "Microsoft Edge" }, r2 = n.default.getFirstMatch(/\sedg\/(\d+(\.?_?\d+)+)/i, e2);
+ return r2 && (t2.version = r2), t2;
+ }, "describe") }, { test: [/edg([ea]|ios)/i], describe: /* @__PURE__ */ __name(function(e2) {
+ var t2 = { name: "Microsoft Edge" }, r2 = n.default.getSecondMatch(/edg([ea]|ios)\/(\d+(\.?_?\d+)+)/i, e2);
+ return r2 && (t2.version = r2), t2;
+ }, "describe") }, { test: [/vivaldi/i], describe: /* @__PURE__ */ __name(function(e2) {
+ var t2 = { name: "Vivaldi" }, r2 = n.default.getFirstMatch(/vivaldi\/(\d+(\.?_?\d+)+)/i, e2);
+ return r2 && (t2.version = r2), t2;
+ }, "describe") }, { test: [/seamonkey/i], describe: /* @__PURE__ */ __name(function(e2) {
+ var t2 = { name: "SeaMonkey" }, r2 = n.default.getFirstMatch(/seamonkey\/(\d+(\.?_?\d+)+)/i, e2);
+ return r2 && (t2.version = r2), t2;
+ }, "describe") }, { test: [/sailfish/i], describe: /* @__PURE__ */ __name(function(e2) {
+ var t2 = { name: "Sailfish" }, r2 = n.default.getFirstMatch(/sailfish\s?browser\/(\d+(\.\d+)?)/i, e2);
+ return r2 && (t2.version = r2), t2;
+ }, "describe") }, { test: [/silk/i], describe: /* @__PURE__ */ __name(function(e2) {
+ var t2 = { name: "Amazon Silk" }, r2 = n.default.getFirstMatch(/silk\/(\d+(\.?_?\d+)+)/i, e2);
+ return r2 && (t2.version = r2), t2;
+ }, "describe") }, { test: [/phantom/i], describe: /* @__PURE__ */ __name(function(e2) {
+ var t2 = { name: "PhantomJS" }, r2 = n.default.getFirstMatch(/phantomjs\/(\d+(\.?_?\d+)+)/i, e2);
+ return r2 && (t2.version = r2), t2;
+ }, "describe") }, { test: [/slimerjs/i], describe: /* @__PURE__ */ __name(function(e2) {
+ var t2 = { name: "SlimerJS" }, r2 = n.default.getFirstMatch(/slimerjs\/(\d+(\.?_?\d+)+)/i, e2);
+ return r2 && (t2.version = r2), t2;
+ }, "describe") }, { test: [/blackberry|\bbb\d+/i, /rim\stablet/i], describe: /* @__PURE__ */ __name(function(e2) {
+ var t2 = { name: "BlackBerry" }, r2 = n.default.getFirstMatch(a, e2) || n.default.getFirstMatch(/blackberry[\d]+\/(\d+(\.?_?\d+)+)/i, e2);
+ return r2 && (t2.version = r2), t2;
+ }, "describe") }, { test: [/(web|hpw)[o0]s/i], describe: /* @__PURE__ */ __name(function(e2) {
+ var t2 = { name: "WebOS Browser" }, r2 = n.default.getFirstMatch(a, e2) || n.default.getFirstMatch(/w(?:eb)?[o0]sbrowser\/(\d+(\.?_?\d+)+)/i, e2);
+ return r2 && (t2.version = r2), t2;
+ }, "describe") }, { test: [/bada/i], describe: /* @__PURE__ */ __name(function(e2) {
+ var t2 = { name: "Bada" }, r2 = n.default.getFirstMatch(/dolfin\/(\d+(\.?_?\d+)+)/i, e2);
+ return r2 && (t2.version = r2), t2;
+ }, "describe") }, { test: [/tizen/i], describe: /* @__PURE__ */ __name(function(e2) {
+ var t2 = { name: "Tizen" }, r2 = n.default.getFirstMatch(/(?:tizen\s?)?browser\/(\d+(\.?_?\d+)+)/i, e2) || n.default.getFirstMatch(a, e2);
+ return r2 && (t2.version = r2), t2;
+ }, "describe") }, { test: [/qupzilla/i], describe: /* @__PURE__ */ __name(function(e2) {
+ var t2 = { name: "QupZilla" }, r2 = n.default.getFirstMatch(/(?:qupzilla)[\s/](\d+(\.?_?\d+)+)/i, e2) || n.default.getFirstMatch(a, e2);
+ return r2 && (t2.version = r2), t2;
+ }, "describe") }, { test: [/librewolf/i], describe: /* @__PURE__ */ __name(function(e2) {
+ var t2 = { name: "LibreWolf" }, r2 = n.default.getFirstMatch(/(?:librewolf)[\s/](\d+(\.?_?\d+)+)/i, e2);
+ return r2 && (t2.version = r2), t2;
+ }, "describe") }, { test: [/firefox|iceweasel|fxios/i], describe: /* @__PURE__ */ __name(function(e2) {
+ var t2 = { name: "Firefox" }, r2 = n.default.getFirstMatch(/(?:firefox|iceweasel|fxios)[\s/](\d+(\.?_?\d+)+)/i, e2);
+ return r2 && (t2.version = r2), t2;
+ }, "describe") }, { test: [/electron/i], describe: /* @__PURE__ */ __name(function(e2) {
+ var t2 = { name: "Electron" }, r2 = n.default.getFirstMatch(/(?:electron)\/(\d+(\.?_?\d+)+)/i, e2);
+ return r2 && (t2.version = r2), t2;
+ }, "describe") }, { test: [/sogoumobilebrowser/i, /metasr/i, /se 2\.[x]/i], describe: /* @__PURE__ */ __name(function(e2) {
+ var t2 = { name: "Sogou Browser" }, r2 = n.default.getFirstMatch(/(?:sogoumobilebrowser)[\s/](\d+(\.?_?\d+)+)/i, e2), i2 = n.default.getFirstMatch(/(?:chrome|crios|crmo)\/(\d+(\.?_?\d+)+)/i, e2), a2 = n.default.getFirstMatch(/se ([\d.]+)x/i, e2), o2 = r2 || i2 || a2;
+ return o2 && (t2.version = o2), t2;
+ }, "describe") }, { test: [/MiuiBrowser/i], describe: /* @__PURE__ */ __name(function(e2) {
+ var t2 = { name: "Miui" }, r2 = n.default.getFirstMatch(/(?:MiuiBrowser)[\s/](\d+(\.?_?\d+)+)/i, e2);
+ return r2 && (t2.version = r2), t2;
+ }, "describe") }, { test: /* @__PURE__ */ __name(function(e2) {
+ return !!e2.hasBrand("DuckDuckGo") || e2.test(/\sDdg\/[\d.]+$/i);
+ }, "test"), describe: /* @__PURE__ */ __name(function(e2, t2) {
+ var r2 = { name: "DuckDuckGo" };
+ if (t2) {
+ var i2 = t2.getBrandVersion("DuckDuckGo");
+ if (i2) return r2.version = i2, r2;
+ }
+ var a2 = n.default.getFirstMatch(/\sDdg\/([\d.]+)$/i, e2);
+ return a2 && (r2.version = a2), r2;
+ }, "describe") }, { test: /* @__PURE__ */ __name(function(e2) {
+ return e2.hasBrand("Brave");
+ }, "test"), describe: /* @__PURE__ */ __name(function(e2, t2) {
+ var r2 = { name: "Brave" };
+ if (t2) {
+ var i2 = t2.getBrandVersion("Brave");
+ if (i2) return r2.version = i2, r2;
+ }
+ return r2;
+ }, "describe") }, { test: [/chromium/i], describe: /* @__PURE__ */ __name(function(e2) {
+ var t2 = { name: "Chromium" }, r2 = n.default.getFirstMatch(/(?:chromium)[\s/](\d+(\.?_?\d+)+)/i, e2) || n.default.getFirstMatch(a, e2);
+ return r2 && (t2.version = r2), t2;
+ }, "describe") }, { test: [/chrome|crios|crmo/i], describe: /* @__PURE__ */ __name(function(e2) {
+ var t2 = { name: "Chrome" }, r2 = n.default.getFirstMatch(/(?:chrome|crios|crmo)\/(\d+(\.?_?\d+)+)/i, e2);
+ return r2 && (t2.version = r2), t2;
+ }, "describe") }, { test: [/GSA/i], describe: /* @__PURE__ */ __name(function(e2) {
+ var t2 = { name: "Google Search" }, r2 = n.default.getFirstMatch(/(?:GSA)\/(\d+(\.?_?\d+)+)/i, e2);
+ return r2 && (t2.version = r2), t2;
+ }, "describe") }, { test: /* @__PURE__ */ __name(function(e2) {
+ var t2 = !e2.test(/like android/i), r2 = e2.test(/android/i);
+ return t2 && r2;
+ }, "test"), describe: /* @__PURE__ */ __name(function(e2) {
+ var t2 = { name: "Android Browser" }, r2 = n.default.getFirstMatch(a, e2);
+ return r2 && (t2.version = r2), t2;
+ }, "describe") }, { test: [/playstation 4/i], describe: /* @__PURE__ */ __name(function(e2) {
+ var t2 = { name: "PlayStation 4" }, r2 = n.default.getFirstMatch(a, e2);
+ return r2 && (t2.version = r2), t2;
+ }, "describe") }, { test: [/safari|applewebkit/i], describe: /* @__PURE__ */ __name(function(e2) {
+ var t2 = { name: "Safari" }, r2 = n.default.getFirstMatch(a, e2);
+ return r2 && (t2.version = r2), t2;
+ }, "describe") }, { test: [/.*/i], describe: /* @__PURE__ */ __name(function(e2) {
+ var t2 = -1 !== e2.search("\\(") ? /^(.*)\/(.*)[ \t]\((.*)/ : /^(.*)\/(.*) /;
+ return { name: n.default.getFirstMatch(t2, e2), version: n.default.getSecondMatch(t2, e2) };
+ }, "describe") }];
+ t.default = o, e.exports = t.default;
+ }, 93: function(e, t, r) {
+ "use strict";
+ t.__esModule = true, t.default = void 0;
+ var i, n = (i = r(17)) && i.__esModule ? i : { default: i }, a = r(18);
+ var o = [{ test: [/Roku\/DVP/], describe: /* @__PURE__ */ __name(function(e2) {
+ var t2 = n.default.getFirstMatch(/Roku\/DVP-(\d+\.\d+)/i, e2);
+ return { name: a.OS_MAP.Roku, version: t2 };
+ }, "describe") }, { test: [/windows phone/i], describe: /* @__PURE__ */ __name(function(e2) {
+ var t2 = n.default.getFirstMatch(/windows phone (?:os)?\s?(\d+(\.\d+)*)/i, e2);
+ return { name: a.OS_MAP.WindowsPhone, version: t2 };
+ }, "describe") }, { test: [/windows /i], describe: /* @__PURE__ */ __name(function(e2) {
+ var t2 = n.default.getFirstMatch(/Windows ((NT|XP)( \d\d?.\d)?)/i, e2), r2 = n.default.getWindowsVersionName(t2);
+ return { name: a.OS_MAP.Windows, version: t2, versionName: r2 };
+ }, "describe") }, { test: [/Macintosh(.*?) FxiOS(.*?)\//], describe: /* @__PURE__ */ __name(function(e2) {
+ var t2 = { name: a.OS_MAP.iOS }, r2 = n.default.getSecondMatch(/(Version\/)(\d[\d.]+)/, e2);
+ return r2 && (t2.version = r2), t2;
+ }, "describe") }, { test: [/macintosh/i], describe: /* @__PURE__ */ __name(function(e2) {
+ var t2 = n.default.getFirstMatch(/mac os x (\d+(\.?_?\d+)+)/i, e2).replace(/[_\s]/g, "."), r2 = n.default.getMacOSVersionName(t2), i2 = { name: a.OS_MAP.MacOS, version: t2 };
+ return r2 && (i2.versionName = r2), i2;
+ }, "describe") }, { test: [/(ipod|iphone|ipad)/i], describe: /* @__PURE__ */ __name(function(e2) {
+ var t2 = n.default.getFirstMatch(/os (\d+([_\s]\d+)*) like mac os x/i, e2).replace(/[_\s]/g, ".");
+ return { name: a.OS_MAP.iOS, version: t2 };
+ }, "describe") }, { test: [/OpenHarmony/i], describe: /* @__PURE__ */ __name(function(e2) {
+ var t2 = n.default.getFirstMatch(/OpenHarmony\s+(\d+(\.\d+)*)/i, e2);
+ return { name: a.OS_MAP.HarmonyOS, version: t2 };
+ }, "describe") }, { test: /* @__PURE__ */ __name(function(e2) {
+ var t2 = !e2.test(/like android/i), r2 = e2.test(/android/i);
+ return t2 && r2;
+ }, "test"), describe: /* @__PURE__ */ __name(function(e2) {
+ var t2 = n.default.getFirstMatch(/android[\s/-](\d+(\.\d+)*)/i, e2), r2 = n.default.getAndroidVersionName(t2), i2 = { name: a.OS_MAP.Android, version: t2 };
+ return r2 && (i2.versionName = r2), i2;
+ }, "describe") }, { test: [/(web|hpw)[o0]s/i], describe: /* @__PURE__ */ __name(function(e2) {
+ var t2 = n.default.getFirstMatch(/(?:web|hpw)[o0]s\/(\d+(\.\d+)*)/i, e2), r2 = { name: a.OS_MAP.WebOS };
+ return t2 && t2.length && (r2.version = t2), r2;
+ }, "describe") }, { test: [/blackberry|\bbb\d+/i, /rim\stablet/i], describe: /* @__PURE__ */ __name(function(e2) {
+ var t2 = n.default.getFirstMatch(/rim\stablet\sos\s(\d+(\.\d+)*)/i, e2) || n.default.getFirstMatch(/blackberry\d+\/(\d+([_\s]\d+)*)/i, e2) || n.default.getFirstMatch(/\bbb(\d+)/i, e2);
+ return { name: a.OS_MAP.BlackBerry, version: t2 };
+ }, "describe") }, { test: [/bada/i], describe: /* @__PURE__ */ __name(function(e2) {
+ var t2 = n.default.getFirstMatch(/bada\/(\d+(\.\d+)*)/i, e2);
+ return { name: a.OS_MAP.Bada, version: t2 };
+ }, "describe") }, { test: [/tizen/i], describe: /* @__PURE__ */ __name(function(e2) {
+ var t2 = n.default.getFirstMatch(/tizen[/\s](\d+(\.\d+)*)/i, e2);
+ return { name: a.OS_MAP.Tizen, version: t2 };
+ }, "describe") }, { test: [/linux/i], describe: /* @__PURE__ */ __name(function() {
+ return { name: a.OS_MAP.Linux };
+ }, "describe") }, { test: [/CrOS/], describe: /* @__PURE__ */ __name(function() {
+ return { name: a.OS_MAP.ChromeOS };
+ }, "describe") }, { test: [/PlayStation 4/], describe: /* @__PURE__ */ __name(function(e2) {
+ var t2 = n.default.getFirstMatch(/PlayStation 4[/\s](\d+(\.\d+)*)/i, e2);
+ return { name: a.OS_MAP.PlayStation4, version: t2 };
+ }, "describe") }];
+ t.default = o, e.exports = t.default;
+ }, 94: function(e, t, r) {
+ "use strict";
+ t.__esModule = true, t.default = void 0;
+ var i, n = (i = r(17)) && i.__esModule ? i : { default: i }, a = r(18);
+ var o = [{ test: [/googlebot/i], describe: /* @__PURE__ */ __name(function() {
+ return { type: a.PLATFORMS_MAP.bot, vendor: "Google" };
+ }, "describe") }, { test: [/linespider/i], describe: /* @__PURE__ */ __name(function() {
+ return { type: a.PLATFORMS_MAP.bot, vendor: "Line" };
+ }, "describe") }, { test: [/amazonbot/i], describe: /* @__PURE__ */ __name(function() {
+ return { type: a.PLATFORMS_MAP.bot, vendor: "Amazon" };
+ }, "describe") }, { test: [/gptbot/i], describe: /* @__PURE__ */ __name(function() {
+ return { type: a.PLATFORMS_MAP.bot, vendor: "OpenAI" };
+ }, "describe") }, { test: [/chatgpt-user/i], describe: /* @__PURE__ */ __name(function() {
+ return { type: a.PLATFORMS_MAP.bot, vendor: "OpenAI" };
+ }, "describe") }, { test: [/oai-searchbot/i], describe: /* @__PURE__ */ __name(function() {
+ return { type: a.PLATFORMS_MAP.bot, vendor: "OpenAI" };
+ }, "describe") }, { test: [/baiduspider/i], describe: /* @__PURE__ */ __name(function() {
+ return { type: a.PLATFORMS_MAP.bot, vendor: "Baidu" };
+ }, "describe") }, { test: [/bingbot/i], describe: /* @__PURE__ */ __name(function() {
+ return { type: a.PLATFORMS_MAP.bot, vendor: "Bing" };
+ }, "describe") }, { test: [/duckduckbot/i], describe: /* @__PURE__ */ __name(function() {
+ return { type: a.PLATFORMS_MAP.bot, vendor: "DuckDuckGo" };
+ }, "describe") }, { test: [/claudebot/i, /claude-web/i, /claude-user/i, /claude-searchbot/i], describe: /* @__PURE__ */ __name(function() {
+ return { type: a.PLATFORMS_MAP.bot, vendor: "Anthropic" };
+ }, "describe") }, { test: [/omgilibot/i, /webzio-extended/i], describe: /* @__PURE__ */ __name(function() {
+ return { type: a.PLATFORMS_MAP.bot, vendor: "Webz.io" };
+ }, "describe") }, { test: [/diffbot/i], describe: /* @__PURE__ */ __name(function() {
+ return { type: a.PLATFORMS_MAP.bot, vendor: "Diffbot" };
+ }, "describe") }, { test: [/perplexitybot/i], describe: /* @__PURE__ */ __name(function() {
+ return { type: a.PLATFORMS_MAP.bot, vendor: "Perplexity AI" };
+ }, "describe") }, { test: [/perplexity-user/i], describe: /* @__PURE__ */ __name(function() {
+ return { type: a.PLATFORMS_MAP.bot, vendor: "Perplexity AI" };
+ }, "describe") }, { test: [/youbot/i], describe: /* @__PURE__ */ __name(function() {
+ return { type: a.PLATFORMS_MAP.bot, vendor: "You.com" };
+ }, "describe") }, { test: [/ia_archiver/i], describe: /* @__PURE__ */ __name(function() {
+ return { type: a.PLATFORMS_MAP.bot, vendor: "Internet Archive" };
+ }, "describe") }, { test: [/meta-webindexer/i], describe: /* @__PURE__ */ __name(function() {
+ return { type: a.PLATFORMS_MAP.bot, vendor: "Meta" };
+ }, "describe") }, { test: [/meta-externalads/i], describe: /* @__PURE__ */ __name(function() {
+ return { type: a.PLATFORMS_MAP.bot, vendor: "Meta" };
+ }, "describe") }, { test: [/meta-externalagent/i], describe: /* @__PURE__ */ __name(function() {
+ return { type: a.PLATFORMS_MAP.bot, vendor: "Meta" };
+ }, "describe") }, { test: [/meta-externalfetcher/i], describe: /* @__PURE__ */ __name(function() {
+ return { type: a.PLATFORMS_MAP.bot, vendor: "Meta" };
+ }, "describe") }, { test: [/facebookexternalhit/i, /facebookcatalog/i], describe: /* @__PURE__ */ __name(function() {
+ return { type: a.PLATFORMS_MAP.bot, vendor: "Meta" };
+ }, "describe") }, { test: [/slackbot/i, /slack-imgProxy/i], describe: /* @__PURE__ */ __name(function() {
+ return { type: a.PLATFORMS_MAP.bot, vendor: "Slack" };
+ }, "describe") }, { test: [/yahoo/i], describe: /* @__PURE__ */ __name(function() {
+ return { type: a.PLATFORMS_MAP.bot, vendor: "Yahoo" };
+ }, "describe") }, { test: [/yandexbot/i, /yandexmobilebot/i], describe: /* @__PURE__ */ __name(function() {
+ return { type: a.PLATFORMS_MAP.bot, vendor: "Yandex" };
+ }, "describe") }, { test: [/pingdom/i], describe: /* @__PURE__ */ __name(function() {
+ return { type: a.PLATFORMS_MAP.bot, vendor: "Pingdom" };
+ }, "describe") }, { test: [/huawei/i], describe: /* @__PURE__ */ __name(function(e2) {
+ var t2 = n.default.getFirstMatch(/(can-l01)/i, e2) && "Nova", r2 = { type: a.PLATFORMS_MAP.mobile, vendor: "Huawei" };
+ return t2 && (r2.model = t2), r2;
+ }, "describe") }, { test: [/nexus\s*(?:7|8|9|10).*/i], describe: /* @__PURE__ */ __name(function() {
+ return { type: a.PLATFORMS_MAP.tablet, vendor: "Nexus" };
+ }, "describe") }, { test: [/ipad/i], describe: /* @__PURE__ */ __name(function() {
+ return { type: a.PLATFORMS_MAP.tablet, vendor: "Apple", model: "iPad" };
+ }, "describe") }, { test: [/Macintosh(.*?) FxiOS(.*?)\//], describe: /* @__PURE__ */ __name(function() {
+ return { type: a.PLATFORMS_MAP.tablet, vendor: "Apple", model: "iPad" };
+ }, "describe") }, { test: [/kftt build/i], describe: /* @__PURE__ */ __name(function() {
+ return { type: a.PLATFORMS_MAP.tablet, vendor: "Amazon", model: "Kindle Fire HD 7" };
+ }, "describe") }, { test: [/silk/i], describe: /* @__PURE__ */ __name(function() {
+ return { type: a.PLATFORMS_MAP.tablet, vendor: "Amazon" };
+ }, "describe") }, { test: [/tablet(?! pc)/i], describe: /* @__PURE__ */ __name(function() {
+ return { type: a.PLATFORMS_MAP.tablet };
+ }, "describe") }, { test: /* @__PURE__ */ __name(function(e2) {
+ var t2 = e2.test(/ipod|iphone/i), r2 = e2.test(/like (ipod|iphone)/i);
+ return t2 && !r2;
+ }, "test"), describe: /* @__PURE__ */ __name(function(e2) {
+ var t2 = n.default.getFirstMatch(/(ipod|iphone)/i, e2);
+ return { type: a.PLATFORMS_MAP.mobile, vendor: "Apple", model: t2 };
+ }, "describe") }, { test: [/nexus\s*[0-6].*/i, /galaxy nexus/i], describe: /* @__PURE__ */ __name(function() {
+ return { type: a.PLATFORMS_MAP.mobile, vendor: "Nexus" };
+ }, "describe") }, { test: [/Nokia/i], describe: /* @__PURE__ */ __name(function(e2) {
+ var t2 = n.default.getFirstMatch(/Nokia\s+([0-9]+(\.[0-9]+)?)/i, e2), r2 = { type: a.PLATFORMS_MAP.mobile, vendor: "Nokia" };
+ return t2 && (r2.model = t2), r2;
+ }, "describe") }, { test: [/[^-]mobi/i], describe: /* @__PURE__ */ __name(function() {
+ return { type: a.PLATFORMS_MAP.mobile };
+ }, "describe") }, { test: /* @__PURE__ */ __name(function(e2) {
+ return "blackberry" === e2.getBrowserName(true);
+ }, "test"), describe: /* @__PURE__ */ __name(function() {
+ return { type: a.PLATFORMS_MAP.mobile, vendor: "BlackBerry" };
+ }, "describe") }, { test: /* @__PURE__ */ __name(function(e2) {
+ return "bada" === e2.getBrowserName(true);
+ }, "test"), describe: /* @__PURE__ */ __name(function() {
+ return { type: a.PLATFORMS_MAP.mobile };
+ }, "describe") }, { test: /* @__PURE__ */ __name(function(e2) {
+ return "windows phone" === e2.getBrowserName();
+ }, "test"), describe: /* @__PURE__ */ __name(function() {
+ return { type: a.PLATFORMS_MAP.mobile, vendor: "Microsoft" };
+ }, "describe") }, { test: /* @__PURE__ */ __name(function(e2) {
+ var t2 = Number(String(e2.getOSVersion()).split(".")[0]);
+ return "android" === e2.getOSName(true) && t2 >= 3;
+ }, "test"), describe: /* @__PURE__ */ __name(function() {
+ return { type: a.PLATFORMS_MAP.tablet };
+ }, "describe") }, { test: /* @__PURE__ */ __name(function(e2) {
+ return "android" === e2.getOSName(true);
+ }, "test"), describe: /* @__PURE__ */ __name(function() {
+ return { type: a.PLATFORMS_MAP.mobile };
+ }, "describe") }, { test: [/smart-?tv|smarttv/i], describe: /* @__PURE__ */ __name(function() {
+ return { type: a.PLATFORMS_MAP.tv };
+ }, "describe") }, { test: [/netcast/i], describe: /* @__PURE__ */ __name(function() {
+ return { type: a.PLATFORMS_MAP.tv };
+ }, "describe") }, { test: /* @__PURE__ */ __name(function(e2) {
+ return "macos" === e2.getOSName(true);
+ }, "test"), describe: /* @__PURE__ */ __name(function() {
+ return { type: a.PLATFORMS_MAP.desktop, vendor: "Apple" };
+ }, "describe") }, { test: /* @__PURE__ */ __name(function(e2) {
+ return "windows" === e2.getOSName(true);
+ }, "test"), describe: /* @__PURE__ */ __name(function() {
+ return { type: a.PLATFORMS_MAP.desktop };
+ }, "describe") }, { test: /* @__PURE__ */ __name(function(e2) {
+ return "linux" === e2.getOSName(true);
+ }, "test"), describe: /* @__PURE__ */ __name(function() {
+ return { type: a.PLATFORMS_MAP.desktop };
+ }, "describe") }, { test: /* @__PURE__ */ __name(function(e2) {
+ return "playstation 4" === e2.getOSName(true);
+ }, "test"), describe: /* @__PURE__ */ __name(function() {
+ return { type: a.PLATFORMS_MAP.tv };
+ }, "describe") }, { test: /* @__PURE__ */ __name(function(e2) {
+ return "roku" === e2.getOSName(true);
+ }, "test"), describe: /* @__PURE__ */ __name(function() {
+ return { type: a.PLATFORMS_MAP.tv };
+ }, "describe") }];
+ t.default = o, e.exports = t.default;
+ }, 95: function(e, t, r) {
+ "use strict";
+ t.__esModule = true, t.default = void 0;
+ var i, n = (i = r(17)) && i.__esModule ? i : { default: i }, a = r(18);
+ var o = [{ test: /* @__PURE__ */ __name(function(e2) {
+ return "microsoft edge" === e2.getBrowserName(true);
+ }, "test"), describe: /* @__PURE__ */ __name(function(e2) {
+ if (/\sedg\//i.test(e2)) return { name: a.ENGINE_MAP.Blink };
+ var t2 = n.default.getFirstMatch(/edge\/(\d+(\.?_?\d+)+)/i, e2);
+ return { name: a.ENGINE_MAP.EdgeHTML, version: t2 };
+ }, "describe") }, { test: [/trident/i], describe: /* @__PURE__ */ __name(function(e2) {
+ var t2 = { name: a.ENGINE_MAP.Trident }, r2 = n.default.getFirstMatch(/trident\/(\d+(\.?_?\d+)+)/i, e2);
+ return r2 && (t2.version = r2), t2;
+ }, "describe") }, { test: /* @__PURE__ */ __name(function(e2) {
+ return e2.test(/presto/i);
+ }, "test"), describe: /* @__PURE__ */ __name(function(e2) {
+ var t2 = { name: a.ENGINE_MAP.Presto }, r2 = n.default.getFirstMatch(/presto\/(\d+(\.?_?\d+)+)/i, e2);
+ return r2 && (t2.version = r2), t2;
+ }, "describe") }, { test: /* @__PURE__ */ __name(function(e2) {
+ var t2 = e2.test(/gecko/i), r2 = e2.test(/like gecko/i);
+ return t2 && !r2;
+ }, "test"), describe: /* @__PURE__ */ __name(function(e2) {
+ var t2 = { name: a.ENGINE_MAP.Gecko }, r2 = n.default.getFirstMatch(/gecko\/(\d+(\.?_?\d+)+)/i, e2);
+ return r2 && (t2.version = r2), t2;
+ }, "describe") }, { test: [/(apple)?webkit\/537\.36/i], describe: /* @__PURE__ */ __name(function() {
+ return { name: a.ENGINE_MAP.Blink };
+ }, "describe") }, { test: [/(apple)?webkit/i], describe: /* @__PURE__ */ __name(function(e2) {
+ var t2 = { name: a.ENGINE_MAP.WebKit }, r2 = n.default.getFirstMatch(/webkit\/(\d+(\.?_?\d+)+)/i, e2);
+ return r2 && (t2.version = r2), t2;
+ }, "describe") }];
+ t.default = o, e.exports = t.default;
+ } });
+ }));
+ }
+});
+export default require_es5();
diff --git a/apps/api/.output/dist/chunks/event-streams-IPK6VS6T.js b/apps/api/.output/dist/chunks/event-streams-IPK6VS6T.js
new file mode 100644
index 0000000..9f9d6ba
--- /dev/null
+++ b/apps/api/.output/dist/chunks/event-streams-IPK6VS6T.js
@@ -0,0 +1,44 @@
+import { createRequire as __bundleCreateRequire } from "node:module"; const require = __bundleCreateRequire(import.meta.url);
+import {
+ EventStreamCodec,
+ EventStreamMarshaller,
+ EventStreamMarshaller2,
+ EventStreamSerde,
+ HeaderMarshaller,
+ Int64,
+ MessageDecoderStream,
+ MessageEncoderStream,
+ SmithyMessageDecoderStream,
+ SmithyMessageEncoderStream,
+ eventStreamSerdeProvider,
+ eventStreamSerdeProvider2,
+ getChunkedStream,
+ getMessageUnmarshaller,
+ getUnmarshalledStream,
+ init_event_streams,
+ iterableToReadableStream,
+ readableStreamToIterable,
+ resolveEventStreamSerdeConfig
+} from "./chunk-6UPY3HEI.js";
+import "./chunk-T6GW54FI.js";
+init_event_streams();
+export {
+ EventStreamCodec,
+ EventStreamMarshaller2 as EventStreamMarshaller,
+ EventStreamSerde,
+ HeaderMarshaller,
+ Int64,
+ MessageDecoderStream,
+ MessageEncoderStream,
+ SmithyMessageDecoderStream,
+ SmithyMessageEncoderStream,
+ EventStreamMarshaller as UniversalEventStreamMarshaller,
+ eventStreamSerdeProvider2 as eventStreamSerdeProvider,
+ getChunkedStream,
+ getMessageUnmarshaller,
+ getUnmarshalledStream,
+ iterableToReadableStream,
+ readableStreamToIterable,
+ resolveEventStreamSerdeConfig,
+ eventStreamSerdeProvider as universalEventStreamSerdeProvider
+};
diff --git a/apps/api/.output/dist/chunks/platform-express-MGQH3ALM.js b/apps/api/.output/dist/chunks/platform-express-MGQH3ALM.js
new file mode 100644
index 0000000..18f9d42
--- /dev/null
+++ b/apps/api/.output/dist/chunks/platform-express-MGQH3ALM.js
@@ -0,0 +1,25 @@
+import { createRequire as __bundleCreateRequire } from "node:module"; const require = __bundleCreateRequire(import.meta.url);
+import {
+ AnyFilesInterceptor,
+ ExpressAdapter,
+ FileFieldsInterceptor,
+ FileInterceptor,
+ FilesInterceptor,
+ MulterModule,
+ NoFilesInterceptor,
+ init_platform_express
+} from "./chunk-XSOBN2CI.js";
+import "./chunk-BX2ML7LW.js";
+import "./chunk-C4DYPKAN.js";
+import "./chunk-A34KYKJP.js";
+import "./chunk-T6GW54FI.js";
+init_platform_express();
+export {
+ AnyFilesInterceptor,
+ ExpressAdapter,
+ FileFieldsInterceptor,
+ FileInterceptor,
+ FilesInterceptor,
+ MulterModule,
+ NoFilesInterceptor
+};
diff --git a/apps/api/.output/dist/chunks/query_compiler_fast_bg.postgresql-RWS5SSGB.js b/apps/api/.output/dist/chunks/query_compiler_fast_bg.postgresql-RWS5SSGB.js
new file mode 100644
index 0000000..c03be5b
--- /dev/null
+++ b/apps/api/.output/dist/chunks/query_compiler_fast_bg.postgresql-RWS5SSGB.js
@@ -0,0 +1,349 @@
+import { createRequire as __bundleCreateRequire } from "node:module"; const require = __bundleCreateRequire(import.meta.url);
+import {
+ __name
+} from "./chunk-T6GW54FI.js";
+
+// ../../node_modules/.pnpm/@prisma+client@7.10.1_prism_1fac53bcaa5c7503395b340f2e6f2cd9/node_modules/@prisma/client/runtime/query_compiler_fast_bg.postgresql.mjs
+var h = /* @__PURE__ */ __name(() => {
+}, "h");
+h.prototype = h;
+var o;
+function D(e) {
+ o = e;
+}
+__name(D, "D");
+var p = null;
+function a() {
+ return (p === null || p.byteLength === 0) && (p = new Uint8Array(o.memory.buffer)), p;
+}
+__name(a, "a");
+var y = new TextDecoder("utf-8", { ignoreBOM: true, fatal: true });
+y.decode();
+var E = 2146435072;
+var A = 0;
+function T(e, t) {
+ return A += t, A >= E && (y = new TextDecoder("utf-8", { ignoreBOM: true, fatal: true }), y.decode(), A = t), y.decode(a().subarray(e, e + t));
+}
+__name(T, "T");
+function m(e, t) {
+ return e = e >>> 0, T(e, t);
+}
+__name(m, "m");
+var f = 0;
+var g = new TextEncoder();
+"encodeInto" in g || (g.encodeInto = function(e, t) {
+ const n = g.encode(e);
+ return t.set(n), { read: e.length, written: n.length };
+});
+function l(e, t, n) {
+ if (n === void 0) {
+ const i = g.encode(e), d = t(i.length, 1) >>> 0;
+ return a().subarray(d, d + i.length).set(i), f = i.length, d;
+ }
+ let _ = e.length, r = t(_, 1) >>> 0;
+ const s = a();
+ let c = 0;
+ for (; c < _; c++) {
+ const i = e.charCodeAt(c);
+ if (i > 127) break;
+ s[r + c] = i;
+ }
+ if (c !== _) {
+ c !== 0 && (e = e.slice(c)), r = n(r, _, _ = c + e.length * 3, 1) >>> 0;
+ const i = a().subarray(r + c, r + _), d = g.encodeInto(e, i);
+ c += d.written, r = n(r, _, c, 1) >>> 0;
+ }
+ return f = c, r;
+}
+__name(l, "l");
+var b = null;
+function u() {
+ return (b === null || b.buffer.detached === true || b.buffer.detached === void 0 && b.buffer !== o.memory.buffer) && (b = new DataView(o.memory.buffer)), b;
+}
+__name(u, "u");
+function x(e) {
+ return e == null;
+}
+__name(x, "x");
+function S(e) {
+ const t = typeof e;
+ if (t == "number" || t == "boolean" || e == null) return `${e}`;
+ if (t == "string") return `"${e}"`;
+ if (t == "symbol") {
+ const r = e.description;
+ return r == null ? "Symbol" : `Symbol(${r})`;
+ }
+ if (t == "function") {
+ const r = e.name;
+ return typeof r == "string" && r.length > 0 ? `Function(${r})` : "Function";
+ }
+ if (Array.isArray(e)) {
+ const r = e.length;
+ let s = "[";
+ r > 0 && (s += S(e[0]));
+ for (let c = 1; c < r; c++) s += ", " + S(e[c]);
+ return s += "]", s;
+ }
+ const n = /\[object ([^\]]+)\]/.exec(toString.call(e));
+ let _;
+ if (n && n.length > 1) _ = n[1];
+ else return toString.call(e);
+ if (_ == "Object") try {
+ return "Object(" + JSON.stringify(e) + ")";
+ } catch {
+ return "Object";
+ }
+ return e instanceof Error ? `${e.name}: ${e.message}
+${e.stack}` : _;
+}
+__name(S, "S");
+function M(e, t) {
+ return e = e >>> 0, a().subarray(e / 1, e / 1 + t);
+}
+__name(M, "M");
+function w(e) {
+ const t = o.__wbindgen_externrefs.get(e);
+ return o.__externref_table_dealloc(e), t;
+}
+__name(w, "w");
+var I = typeof FinalizationRegistry > "u" ? { register: /* @__PURE__ */ __name(() => {
+}, "register"), unregister: /* @__PURE__ */ __name(() => {
+}, "unregister") } : new FinalizationRegistry((e) => o.__wbg_querycompiler_free(e >>> 0, 1));
+var F = class {
+ static {
+ __name(this, "F");
+ }
+ __destroy_into_raw() {
+ const t = this.__wbg_ptr;
+ return this.__wbg_ptr = 0, I.unregister(this), t;
+ }
+ free() {
+ const t = this.__destroy_into_raw();
+ o.__wbg_querycompiler_free(t, 0);
+ }
+ compileBatch(t) {
+ const n = l(t, o.__wbindgen_malloc, o.__wbindgen_realloc), _ = f, r = o.querycompiler_compileBatch(this.__wbg_ptr, n, _);
+ if (r[2]) throw w(r[1]);
+ return w(r[0]);
+ }
+ constructor(t) {
+ const n = o.querycompiler_new(t);
+ if (n[2]) throw w(n[1]);
+ return this.__wbg_ptr = n[0] >>> 0, I.register(this, this.__wbg_ptr, this), this;
+ }
+ compile(t) {
+ const n = l(t, o.__wbindgen_malloc, o.__wbindgen_realloc), _ = f, r = o.querycompiler_compile(this.__wbg_ptr, n, _);
+ if (r[2]) throw w(r[1]);
+ return w(r[0]);
+ }
+};
+Symbol.dispose && (F.prototype[Symbol.dispose] = F.prototype.free);
+function O(e, t) {
+ return Error(m(e, t));
+}
+__name(O, "O");
+function B(e) {
+ return Number(e);
+}
+__name(B, "B");
+function N(e, t) {
+ const n = String(t), _ = l(n, o.__wbindgen_malloc, o.__wbindgen_realloc), r = f;
+ u().setInt32(e + 4 * 1, r, true), u().setInt32(e + 4 * 0, _, true);
+}
+__name(N, "N");
+function U(e) {
+ const t = e, n = typeof t == "boolean" ? t : void 0;
+ return x(n) ? 16777215 : n ? 1 : 0;
+}
+__name(U, "U");
+function R(e, t) {
+ const n = S(t), _ = l(n, o.__wbindgen_malloc, o.__wbindgen_realloc), r = f;
+ u().setInt32(e + 4 * 1, r, true), u().setInt32(e + 4 * 0, _, true);
+}
+__name(R, "R");
+function $(e, t) {
+ return e in t;
+}
+__name($, "$");
+function q(e) {
+ const t = e;
+ return typeof t == "object" && t !== null;
+}
+__name(q, "q");
+function C(e) {
+ return typeof e == "string";
+}
+__name(C, "C");
+function k(e) {
+ return e === void 0;
+}
+__name(k, "k");
+function W(e, t) {
+ return e == t;
+}
+__name(W, "W");
+function V(e, t) {
+ const n = t, _ = typeof n == "number" ? n : void 0;
+ u().setFloat64(e + 8 * 1, x(_) ? 0 : _, true), u().setInt32(e + 4 * 0, !x(_), true);
+}
+__name(V, "V");
+function z(e, t) {
+ const n = t, _ = typeof n == "string" ? n : void 0;
+ var r = x(_) ? 0 : l(_, o.__wbindgen_malloc, o.__wbindgen_realloc), s = f;
+ u().setInt32(e + 4 * 1, s, true), u().setInt32(e + 4 * 0, r, true);
+}
+__name(z, "z");
+function L(e, t) {
+ throw new Error(m(e, t));
+}
+__name(L, "L");
+function P(e) {
+ return Object.entries(e);
+}
+__name(P, "P");
+function Q(e) {
+ return e.getTime();
+}
+__name(Q, "Q");
+function Y(e, t) {
+ return e[t >>> 0];
+}
+__name(Y, "Y");
+function G(e, t) {
+ return e[t];
+}
+__name(G, "G");
+function J(e) {
+ let t;
+ try {
+ t = e instanceof ArrayBuffer;
+ } catch {
+ t = false;
+ }
+ return t;
+}
+__name(J, "J");
+function X(e) {
+ let t;
+ try {
+ t = e instanceof Uint8Array;
+ } catch {
+ t = false;
+ }
+ return t;
+}
+__name(X, "X");
+function H(e) {
+ return Number.isSafeInteger(e);
+}
+__name(H, "H");
+function K(e) {
+ return e.length;
+}
+__name(K, "K");
+function Z(e) {
+ return e.length;
+}
+__name(Z, "Z");
+function v() {
+ return /* @__PURE__ */ new Date();
+}
+__name(v, "v");
+function ee() {
+ return new Object();
+}
+__name(ee, "ee");
+function te(e) {
+ return new Uint8Array(e);
+}
+__name(te, "te");
+function ne() {
+ return /* @__PURE__ */ new Map();
+}
+__name(ne, "ne");
+function re() {
+ return new Array();
+}
+__name(re, "re");
+function _e(e, t, n) {
+ Uint8Array.prototype.set.call(M(e, t), n);
+}
+__name(_e, "_e");
+function oe(e, t, n) {
+ e[t] = n;
+}
+__name(oe, "oe");
+function ce(e, t, n) {
+ return e.set(t, n);
+}
+__name(ce, "ce");
+function ie(e, t, n) {
+ e[t >>> 0] = n;
+}
+__name(ie, "ie");
+function se(e, t) {
+ global.PRISMA_WASM_PANIC_REGISTRY.set_message(m(e, t));
+}
+__name(se, "se");
+function ue(e, t) {
+ return m(e, t);
+}
+__name(ue, "ue");
+function fe(e) {
+ return BigInt.asUintN(64, e);
+}
+__name(fe, "fe");
+function be(e) {
+ return e;
+}
+__name(be, "be");
+function de(e) {
+ return e;
+}
+__name(de, "de");
+function ae() {
+ const e = o.__wbindgen_externrefs, t = e.grow(4);
+ e.set(0, void 0), e.set(t + 0, void 0), e.set(t + 1, null), e.set(t + 2, true), e.set(t + 3, false);
+}
+__name(ae, "ae");
+export {
+ F as QueryCompiler,
+ O as __wbg_Error_e83987f665cf5504,
+ B as __wbg_Number_bb48ca12f395cd08,
+ N as __wbg_String_8f0eb39a4a4c2f66,
+ U as __wbg___wbindgen_boolean_get_6d5a1ee65bab5f68,
+ R as __wbg___wbindgen_debug_string_df47ffb5e35e6763,
+ $ as __wbg___wbindgen_in_bb933bd9e1b3bc0f,
+ q as __wbg___wbindgen_is_object_c818261d21f283a4,
+ C as __wbg___wbindgen_is_string_fbb76cb2940daafd,
+ k as __wbg___wbindgen_is_undefined_2d472862bd29a478,
+ W as __wbg___wbindgen_jsval_loose_eq_b664b38a2f582147,
+ V as __wbg___wbindgen_number_get_a20bf9b85341449d,
+ z as __wbg___wbindgen_string_get_e4f06c90489ad01b,
+ L as __wbg___wbindgen_throw_b855445ff6a94295,
+ P as __wbg_entries_e171b586f8f6bdbf,
+ Q as __wbg_getTime_14776bfb48a1bff9,
+ Y as __wbg_get_7bed016f185add81,
+ G as __wbg_get_with_ref_key_1dc361bd10053bfe,
+ J as __wbg_instanceof_ArrayBuffer_70beb1189ca63b38,
+ X as __wbg_instanceof_Uint8Array_20c8e73002f7af98,
+ H as __wbg_isSafeInteger_d216eda7911dde36,
+ K as __wbg_length_69bca3cb64fc8748,
+ Z as __wbg_length_cdd215e10d9dd507,
+ v as __wbg_new_0_f9740686d739025c,
+ ee as __wbg_new_1acc0b6eea89d040,
+ te as __wbg_new_5a79be3ab53b8aa5,
+ ne as __wbg_new_68651c719dcda04e,
+ re as __wbg_new_e17d9f43105b08be,
+ _e as __wbg_prototypesetcall_2a6620b6922694b2,
+ oe as __wbg_set_3f1d0b984ed272ed,
+ ce as __wbg_set_907fb406c34a251d,
+ ie as __wbg_set_c213c871859d6500,
+ se as __wbg_set_message_82ae475bb413aa5c,
+ D as __wbg_set_wasm,
+ ue as __wbindgen_cast_2241b6af4c4b2941,
+ fe as __wbindgen_cast_4625c577ab2ec9ee,
+ be as __wbindgen_cast_9ae0607507abb057,
+ de as __wbindgen_cast_d6cd19b81560fd6e,
+ ae as __wbindgen_init_externref_table
+};
diff --git a/apps/api/.output/dist/chunks/query_compiler_fast_bg.postgresql.wasm-base64-5YP3ZLAU.js b/apps/api/.output/dist/chunks/query_compiler_fast_bg.postgresql.wasm-base64-5YP3ZLAU.js
new file mode 100644
index 0000000..5e7e9b5
--- /dev/null
+++ b/apps/api/.output/dist/chunks/query_compiler_fast_bg.postgresql.wasm-base64-5YP3ZLAU.js
@@ -0,0 +1,8 @@
+import { createRequire as __bundleCreateRequire } from "node:module"; const require = __bundleCreateRequire(import.meta.url);
+import "./chunk-T6GW54FI.js";
+
+// ../../node_modules/.pnpm/@prisma+client@7.10.1_prism_1fac53bcaa5c7503395b340f2e6f2cd9/node_modules/@prisma/client/runtime/query_compiler_fast_bg.postgresql.wasm-base64.mjs
+var wasm = "AGFzbQEAAAABtgRLYAN/f38Bf2ACf38Bf2ACf38AYAF/AGADf39/AGAEf39/fwBgBX9/f39/AGABfwF/YAZ/f39/f38AYAR/f39/AX9gAn9+AX9gB39/f39/f38AYAh/f39/f39/fwBgA35+fwF+YAF/AX5gAW8Bf2AFf39/f38Bf2AAAGACf34AYAABf2AJf39/f39/f39/AGAAA39/f2AAAW9gAn9vAGAFf39/fn8AYAR/f39+AGAHf39/f39/fwF/YAR+fn9/AX5gAX4Bf2ACf38Bb2ACb28Bf2ABbwFvYAFvAXxgAX4Bb2AEf3x/fwF/YAR/fX9/AX9gCX9/f39/f39/fwF/YAZ/f39/f38Bf2ADfn5/AX9gA39/fwN/f39gA29/bwBgA29vbwBgA29vbwFvYAJvbwFvYAJvfwFvYAN/f28AYAF8AW9gC39/f39/f39/f39/AGAKf39/f39/f39/fwBgDH9/f39/f39/f39/fgBgAn5/AXxgAn5/AX1gDH9/f39/f39/f39/fwBgAnx/AX9gBH9/f34Bf2AHf39/f39/fgBgBH9+f38AYAZ/fn9/f38AYAN/fH8Bf2ADf31/AX9gA39/fgBgBH5+f38Bf2ADf35+AGACfn8AYAl/f39/f39+fn4AYAJ/fwF+YBN/f39/f39/f39/f39/f39/f39/AX9gBX9+fn5+AGACf3wAYAR/fn5/AGABbwN/f39gBX9/fn9/AGAFf399f38AYAV/f3x/fwBgAXwBfwLyEiUbLi9xdWVyeV9jb21waWxlcl9mYXN0X2JnLmpzGl9fd2JnX25ld19lMTdkOWY0MzEwNWIwOGJlABYbLi9xdWVyeV9jb21waWxlcl9mYXN0X2JnLmpzGl9fd2JnX3NldF9jMjEzYzg3MTg1OWQ2NTAwACgbLi9xdWVyeV9jb21waWxlcl9mYXN0X2JnLmpzGl9fd2JnX25ld182ODY1MWM3MTlkY2RhMDRlABYbLi9xdWVyeV9jb21waWxlcl9mYXN0X2JnLmpzGl9fd2JnX25ld18xYWNjMGI2ZWVhODlkMDQwABYbLi9xdWVyeV9jb21waWxlcl9mYXN0X2JnLmpzGl9fd2JnX3NldF8zZjFkMGI5ODRlZDI3MmVkACkbLi9xdWVyeV9jb21waWxlcl9mYXN0X2JnLmpzK19fd2JnX19fd2JpbmRnZW5faXNfc3RyaW5nX2ZiYjc2Y2IyOTQwZGFhZmQADxsuL3F1ZXJ5X2NvbXBpbGVyX2Zhc3RfYmcuanMaX193Ymdfc2V0XzkwN2ZiNDA2YzM0YTI1MWQAKhsuL3F1ZXJ5X2NvbXBpbGVyX2Zhc3RfYmcuanMcX193YmdfRXJyb3JfZTgzOTg3ZjY2NWNmNTUwNAAdGy4vcXVlcnlfY29tcGlsZXJfZmFzdF9iZy5qcyxfX3diZ19fX3diaW5kZ2VuX3N0cmluZ19nZXRfZTRmMDZjOTA0ODlhZDAxYgAXGy4vcXVlcnlfY29tcGlsZXJfZmFzdF9iZy5qczBfX3diZ19fX3diaW5kZ2VuX2pzdmFsX2xvb3NlX2VxX2I2NjRiMzhhMmY1ODIxNDcAHhsuL3F1ZXJ5X2NvbXBpbGVyX2Zhc3RfYmcuanMiX193Ymdfc2V0X21lc3NhZ2VfODJhZTQ3NWJiNDEzYWE1YwACGy4vcXVlcnlfY29tcGlsZXJfZmFzdF9iZy5qcytfX3diZ19fX3diaW5kZ2VuX2lzX29iamVjdF9jODE4MjYxZDIxZjI4M2E0AA8bLi9xdWVyeV9jb21waWxlcl9mYXN0X2JnLmpzJ19fd2JnX2dldF93aXRoX3JlZl9rZXlfMWRjMzYxYmQxMDA1M2JmZQArGy4vcXVlcnlfY29tcGlsZXJfZmFzdF9iZy5qcy5fX3diZ19fX3diaW5kZ2VuX2lzX3VuZGVmaW5lZF8yZDQ3Mjg2MmJkMjlhNDc4AA8bLi9xdWVyeV9jb21waWxlcl9mYXN0X2JnLmpzJF9fd2JnX19fd2JpbmRnZW5faW5fYmI5MzNiZDllMWIzYmMwZgAeGy4vcXVlcnlfY29tcGlsZXJfZmFzdF9iZy5qcx5fX3diZ19lbnRyaWVzX2UxNzFiNTg2ZjhmNmJkYmYAHxsuL3F1ZXJ5X2NvbXBpbGVyX2Zhc3RfYmcuanMdX193YmdfbGVuZ3RoX2NkZDIxNWUxMGQ5ZGQ1MDcADxsuL3F1ZXJ5X2NvbXBpbGVyX2Zhc3RfYmcuanMaX193YmdfZ2V0XzdiZWQwMTZmMTg1YWRkODEALBsuL3F1ZXJ5X2NvbXBpbGVyX2Zhc3RfYmcuanMkX193YmdfaXNTYWZlSW50ZWdlcl9kMjE2ZWRhNzkxMWRkZTM2AA8bLi9xdWVyeV9jb21waWxlcl9mYXN0X2JnLmpzHV9fd2JnX051bWJlcl9iYjQ4Y2ExMmYzOTVjZDA4ACAbLi9xdWVyeV9jb21waWxlcl9mYXN0X2JnLmpzLV9fd2JnX19fd2JpbmRnZW5fYm9vbGVhbl9nZXRfNmQ1YTFlZTY1YmFiNWY2OAAPGy4vcXVlcnlfY29tcGlsZXJfZmFzdF9iZy5qcxxfX3diZ19uZXdfMF9mOTc0MDY4NmQ3MzkwMjVjABYbLi9xdWVyeV9jb21waWxlcl9mYXN0X2JnLmpzHl9fd2JnX2dldFRpbWVfMTQ3NzZiZmI0OGExYmZmOQAgGy4vcXVlcnlfY29tcGlsZXJfZmFzdF9iZy5qcx1fX3diZ19sZW5ndGhfNjliY2EzY2I2NGZjODc0OAAPGy4vcXVlcnlfY29tcGlsZXJfZmFzdF9iZy5qcydfX3diZ19wcm90b3R5cGVzZXRjYWxsXzJhNjYyMGI2OTIyNjk0YjIALRsuL3F1ZXJ5X2NvbXBpbGVyX2Zhc3RfYmcuanMsX193YmdfX193YmluZGdlbl9udW1iZXJfZ2V0X2EyMGJmOWI4NTM0MTQ0OWQAFxsuL3F1ZXJ5X2NvbXBpbGVyX2Zhc3RfYmcuanMsX193YmdfaW5zdGFuY2VvZl9VaW50OEFycmF5XzIwYzhlNzMwMDJmN2FmOTgADxsuL3F1ZXJ5X2NvbXBpbGVyX2Zhc3RfYmcuanMtX193YmdfaW5zdGFuY2VvZl9BcnJheUJ1ZmZlcl83MGJlYjExODljYTYzYjM4AA8bLi9xdWVyeV9jb21waWxlcl9mYXN0X2JnLmpzGl9fd2JnX25ld181YTc5YmUzYWI1M2I4YWE1AB8bLi9xdWVyeV9jb21waWxlcl9mYXN0X2JnLmpzHV9fd2JnX1N0cmluZ184ZjBlYjM5YTRhNGMyZjY2ABcbLi9xdWVyeV9jb21waWxlcl9mYXN0X2JnLmpzJ19fd2JnX19fd2JpbmRnZW5fdGhyb3dfYjg1NTQ0NWZmNmE5NDI5NQACGy4vcXVlcnlfY29tcGlsZXJfZmFzdF9iZy5qcy5fX3diZ19fX3diaW5kZ2VuX2RlYnVnX3N0cmluZ19kZjQ3ZmZiNWUzNWU2NzYzABcbLi9xdWVyeV9jb21waWxlcl9mYXN0X2JnLmpzH19fd2JpbmRnZW5faW5pdF9leHRlcm5yZWZfdGFibGUAERsuL3F1ZXJ5X2NvbXBpbGVyX2Zhc3RfYmcuanMgX193YmluZGdlbl9jYXN0XzIyNDFiNmFmNGM0YjI5NDEAHRsuL3F1ZXJ5X2NvbXBpbGVyX2Zhc3RfYmcuanMgX193YmluZGdlbl9jYXN0XzlhZTA2MDc1MDdhYmIwNTcAIRsuL3F1ZXJ5X2NvbXBpbGVyX2Zhc3RfYmcuanMgX193YmluZGdlbl9jYXN0XzQ2MjVjNTc3YWIyZWM5ZWUAIRsuL3F1ZXJ5X2NvbXBpbGVyX2Zhc3RfYmcuanMgX193YmluZGdlbl9jYXN0X2Q2Y2QxOWI4MTU2MGZkNmUALgPeFdwVCxQCBQUIBAIFBC8DBggEBBgCBggCBAQwBAEUAgQCBQgDCAQLBgAGBAEMMQYBBjIzAgIIARQEBgUCBQIIAwICAgIFBQICBQEIAQYFCAICBQILBAQDAwUMCwgCAggECAQCDAIECwEEBgYIAgYHBAYGBAUMCAQDAwIEDAgEBAUIAgUDDAgEBAECBQMFCAELBwgFBAgIAgYFAgYDAQEBAQQBCQIGBQQEAwQEAwYINAEIAgMBAQEBAwIIBAUCAwgGAgICBQQIAgIIBQIIBQICCAQFBgQ1AQECAQQFAgIGAQICCwISAhISBQICEgICBAMCBAgEAgYIBgQLAQICBAIEBAMEAwYUAgICAQQCAgYCCAgCAgQBBQEEAgICAQsEAQICAwMCAQgFAQMCAQEBAQEBAQQEAgECAgYCAgICAgYCBAMDAQQEAgICAgYDAwYGAgMEBgQEBAcCAgQEAQEEAgMEAgICAQIEAgkBAgIDAwQEAgUBBQQEAgIEAgYEAQUCAwQEAgIBCAIEAwQGAQgBAgUEAQIEBQUGBAQEBAIBAQQBAQIGAQMCAwUFBQUEAwQEBAICBQECAgUEAggDAAEGAQgCBggHBwIEAgICAQUIAgUGAQQEAgQCBAQEBAIEBAEABQYCAgUCAQMDAwYCAgICBQMDNgEBAQICAwMDAwIEAAEBAQUCNwEDAgICBQUCAwMDAwMEBAIEAggDBgEBAwIBAggCBAMDAwEEAgICAwMCAgIBAggCAgILAgEDAwMCBQMDAgMDAwMCAgIGAwMDAgICOAICBAIEAwEBBAICAgIFAggBBQMDAwEBBQEIAQIDAQEBBQIBAQQDAgIGAgMEAQQCAQUCAgICAQQCAQEBAgYEBAEBBAQCAgEEAQEEAgIEAwQCAgQDAwIDAQMGAgICAgMBAgYBAQEBBgMHAwIEAgECBAULBAQCAgICAgMEAgQCAwQCAwMEAgMDAwIDAwQEAgQEAgQCAgQEAggCAwICBQMCAgIBAQIBAgICAgECAgQBBAMDAwQEAgMCAgMIAQICAgMJAwEBAgEBBAQFBQICAgEiBAIJAAsIBCMFAggCAwECBQQCAAQDBQEEAgUCAQIBAQMFAgQCAgEFCAICBgUIAgYCAgQFBAQCAQIEJDkDAgEDGAICAToAAAcBAQU7AAMEAgUCAgQCAgMFAQEEBAUCAwEMAQQCAgQBBDwCAwMEAwMDBAIDAgQDBQMCBgQEAwEBAQMEAgUDAwIBBAIFBAIDBgECAQEEBAIYAg0CAwQDAQQCAgQFAwIGBgACIgQCAgEEAgEGIwEaBQUEAgMBAQIZAgIFAgEGAgEBBgYDFAQDCQEBAxkCAgIECAIEAgQEAwMDBAIDAgMGAgECAgQEAQICCAYCBAMBAgEEDAMEAwUIBAIBAgICAQYCAgQEAQMGAQIEAQMBAQQCAwMDAwMDAQIDBAEDAwMBAwIDAwMHAwQEAgQDBAEBBQEEAgQEBAQEAgUECAIAAgICAhkFAQMFAgICAwMGAQYDBwMDAQMDAgMZAwMBAQICAQIBAgIABAIEBQIFAQMCDQsCCQICBAQEBAIEAwICAwQEBAQEBAMBAQABJQICAQMmAgIEBgICBAkEBAECAgQDAgIbBAEDAwQHAQMEAg0DAwsFBgECAxgBBQECAwMDAwMDAwMDAgEDAgMkDQEBAQECBAECBAECAgISAAILBwIDBAACAQ0EBAQEBAEBAgIBBwUGBwQBAwEbAQECBwEBBwICCAABAwEBBQIBAgECAgsEAwQAAQIHBAICBQICAgICAgQEPQQmAxsGAwYEBAICAQIFBAMFAgEBAQEBAQEBCQECDQEDAQMBAwQCAQEBAQIBAQEBAgEBBAIBPgMBAQEBAQEBAQEBAQEBBQEBAwUCBAUBAQICAwMBAQMFAQ0NBw0HDQ0EAQQHAQMAAAAAAwIEBAMEAQQHAwEEEgQBAgMAAwEBAQIEAwYGAgMEBQUFAQEBAgIBAwMBAwEEARABAQEBBgYBAgMBAQEIBQMDAwQDAwEBAwMQBQIQAAMHAQEBBgMBAAIEAgMDAgIEAQIDBAMBAAIBPwECAQEBBQICAAQDAgcDBwIEAgECBwIAAwUDAAcCAQEBBQUBBAIBAgQSQAMDBAIBAQIBAwUQAQEBCEECAgIEAgMIBQQaAgQBAgAEBAACCQECAQcHAgQBBAQEAgICAgIDAgcEBAEICAMCBAQFBAUCBAkCBwQGBQUCBAMJAwEDBAIEBAEEBQgBBQQFAQgCBAQCBAQECwMBAQEEAwQBAgcCAgEGAgIFAQEEAQMDAgMEAAEEBAECBAQDAwMCAgIBAgIEBAEEBAMGAQEBAwICAwECAgMBAgECAgIBEwUBEAQDAgEBAQEEBAACAgEBAgQDAgACAwQBAQQDAwILBAQCBQIEAgICAgQBAgEGAwIEAQEBAgMBAQQDAQMCCAEBBgIBAgIOBAEDAQMBCQkJCQkDCQQBAQIBAgIBAQADAQEBAwQIAwMEAQIEAQEBAQICAQEBAgkBAQEBAQEBAQEAAQQBAQIDAQECAgsBAQEBAgEBAQMBAQEBAQEBAQEBAQEBAQEBAQEBAgEIAQECBQUFBQIGAQEBBAIHAgECAQEFAQQCAQEBAQEBAQEBAQEFAQEBAQEBAQEGAQMEBAIBAAcEAQEFAQEBAQEDAQEEAgMCAwMBAQEEAgECAgEDCBABAQMDAgICAwEBAgEBAQECAQIBAgUGBQYBCQEHBAIDAQEBAQEBBAEBBgcHAgEDAwMCBwIGBwABQgQHBwEDBwEDAgEBAQEBAQMEBAcEBAQBAQEBAQEBAQMBAQEBAwEBAQEBAQEBAQIECQEDBAMCAQACAAEBAQEBBAMBAQYBAQIBAgEDAQEBAQEDAwMDAQIEGgEBBAMDAgMDBwIEAwcFAQMBAggBDAMDAAUDAwMDAwMEBgEBAQYCAQEDAQEEAwEBAgEEAQMIAgQECQkJBAEKBAMDAAEHAQQBBwMBBQIDAwcBAgYBAwEDAwMEBANDAgEBAwMDAwQEBAQEAgIHAwMFAwkBAQEFAgIDAQEBAwQBAQECAAMDAwYDAwMDAwMDAwMDAwMAAwMDAwMDAwMDAwMDAwACAwMDAwMEAwgDAwMDAwMAAEQBAgEEBAQCAgQBAQIAAQMEAQEFAgIGBAEBAQYCAgEBAgMDAQEBAQACAAICAAQDAwIBAwMBAQEBAQEBRQAK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AARAQcjwyQApAwAhcUHA8MkAKQMADAELIApBuAFqELsRQdDwyQBBAToAAEHI8MkAIAopA8ABInE3AwAgCikDuAELIm03AxhBwPDJACBtQgF8NwMAIApBADYCMCAKQoCAgICAATcDKCAKIHE3AyAgCkGQqckAKQMANwI0IApBmKnJACkDADcCPEEJEJABIhBFDTwgEEHcsskALQAAOgAIIBBB1LLJACkAADcAACAKQQk2AoQBIAogEDYCgAEgCkEJNgJ8IApBuAFqIhAgEhD1AwJAAkAgCigCyAFBf0YNACAKIAopA+ABNwOwASAKIAopA9gBNwOoASAKIAopA9ABNwOgASAKIAopA8gBNwOYASAKIAopA8ABNwOQASAKIAopA7gBNwOIASAQIApBGGogCkH8AGogCkGIAWoQ0gMgCiAKKQPoATcDcCAKIAopA+ABNwNoIAogCikD2AE3A2AgCiAKKQPQASJtNwNYIAogCikDyAE3A1AgCiAKKQPAATcDSCBtp0F/RwRAIApByABqEP4JC0EMEJABIhBFDT4gEEH6sckAKAAANgAIIBBB8rHJACkAADcAACAKQQw2AoQBIAogEDYCgAEgCkEMNgJ8IApBuAFqIhAgEyBHEN8NIAooAsgBQX9GDQAgCiAKKQPgATcDsAEgCiAKKQPYATcDqAEgCiAKKQPQATcDoAEgCiAKKQPIATcDmAEgCiAKKQPAATcDkAEgCiAKKQO4ATcDiAEgECAKQRhqIApB/ABqIApBiAFqENIDIAogCikD6AE3A3AgCiAKKQPgATcDaCAKIAopA9gBNwNgIAogCikD0AEibTcDWCAKIAopA8gBNwNQIAogCikDwAE3A0ggbadBf0cEQCAKQcgAahD+CQtBDRCQASIQBEAgEEGOsckAKQAANwAFIBBBibHJACkAADcAACAKQQ02AoQBIAogEDYCgAEgCkENNgJ8IApBuAFqIhAgDiBGEN8NIAooAsgBQX9GDQEgCiAKKQPgATcDsAEgCiAKKQPYATcDqAEgCiAKKQPQATcDoAEgCiAKKQPIATcDmAEgCiAKKQPAATcDkAEgCiAKKQO4ATcDiAEgECAKQRhqIApB/ABqIApBiAFqENIDIAogCikD6AE3A3AgCiAKKQPgATcDaCAKIAopA9gBNwNgIAogCikD0AEibTcDWCAKIAopA8gB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EyADKQPACiFoIAMoArgKIQggAyADKAKoDDYC8AIgAyADKACrDDYA8wIgAyADKAKIBTYC6AIgAyADKACLBTYA6wIgCEEIdiEBIGhCIIinIREgaKchDQwWCyAQIC4pAzg3AzggECAuKQMwNwMwIBAgLikDKDcDKCAQIC4pAyA3AyAgECAuKQMYNwMYIBAgLikDEDcDECAQIC4pAwg3AwggECAuKQMANwMAIAMoArgKDAELIANB8AFqEK4HQX4LIQEgAyBJKAAANgKoDCADIEkoAAM2AKsMIAMgSCgAADYCiAUgAyBIKAADNgCLBSADLQDQCiEFIAMpA8gKIWYgAykDwAohZyADKAK8CiEEIAMoAtgKIQYgAygC3AohByADKQPgCiFrIAMoAugKIQogAygC7AohEyADLQDwCiEIIAMgAygCqAw2AoAFIAMgAygAqww2AIMFIAMgAygCiAU2AvgEIAMgAygAiwU2APsEIAFBfkcEQCBYIAMoAoAFNgAAIFggAygAgwU2AAMgVyADKAL4BDYAACBXIAMoAPsENgADIAMgBToAoAUgAyBmNwOYBSADIGc3A5AFIAMgBDYCjAUgAyABNgKIBSADIAg6AMAFIAMgEzYCvAUgAyAKNgK4BSADIGs3A7AFIAMgBzYCrAUgAyAGNgKoBSAvIC8oAgAiAUEBajYCACABQQBIDRcgAyBNNgKECiADIEw2AoAKIAMgLzYC/AkgA0EANgL4CSADQbAKaiADQYgFaiADQfgJakEAELYCAkACQCADLQCwCiIBQf8BRgRAIBsgECkAODcAOCAbIBApADA3ADAgGyAQKQAoNwAoIBsgECkAIDcAICAbIBApABg3ABggGyAQKQAQNwAQIBsgECkACDcACCAbIBApAAA3AAAgFSAbKQA4NwA4IBUgGykAMDcAMCAVIBspACg3ACggFSAbKQAgNwAgIBUgGykAGDcAGCAVIBspABA3ABAgFSAbKQAINwAIIBUgGykAADcAACADQf8BOgDIBSAvIC8oAgAiAUEBazYCACABQQFGDQEMAgsgA0GoDGoiBSBdQccA/AoAACADIAE6APgHIAMpA/gKIWYgXCAFQccA/AoAACADIGY3A8AIIANByAVqIANB+AdqEIYGIC8gLygCACIBQQFrNgIAIAFBAUcNAQsgLxAwCyADLQDIBSIWQf8BRgRAIAMgMygAADYC0AcgAyAzKAADNgDTByADIDIoAAA2ApAHIAMgMigAAzYAkwcgAy0A6AUhFiADKQPgBSFnIAMoAtQFIQwgAygC8AUhBSADKAL0BSEHIAMpA/gFIWYgAygCgAYhDiADKAKEBiEKIAMtAIgGIRMgAykD2AUhaCADKALQBSEIIAMgAygA0wc2APMCIAMgAygC0Ac2AvACIAMgAygAkwc2AOsCIAMgAygCkAc2AugCIAhBCHYhASBoQiCIpyERIGinIQ0MFQsgAyBWKAADNgDzAiADIFYoAAA2AvACIAMgMygAADYC0AcgAyAzKAADNgDTByADKALQBSEsIAMoAtQFISsgAykD2AUhayADLQDoBSEpIAMoAvAFITkgAygC9AUhOCADKQP4BSFsIAMoAoAGITcgAygChAYhNiADLQCIBiE1IAMpA+AFIWYgAyAyKAADNgCTByADIDIoAAA2ApAHIAMgAygA0wc2AOsCIAMgAygC0Ac2AugCIAMgAygAkwc2AOMCIAMgAygCkAc2AuACIGZCIIinISogAykDkAYhaSADLQCYBCE6IAMtAJkEISUgAy0AmgQhIyADKAKIAyEfIAMoAogEIQkgAygChAQhCyADKAKABCEhIAMoAvADIQ0gAygC7AMhDyADKALoAyEIIAMoAoQDISggAygCgAMhBiADKQP4AiFqIAMpA5ADIWcgAygC/AMhJiADKAL4AyEMIAMoAvQDIRIgAygClAQhFyADKAKQBCEkIAMoAowEIRggZqchDkEAIRFBACEFQQAhAUEBDAsLIAMgHigAADYC8AIgAyAeKAADNgDzAiADIB0oAAM2AOsCIAMgHSgAADYC6AIgAy0AmAMhFiADKQOQAyFnIAMoAoQDISggAygCgAMhBiADKQP4AiFqIAMoAqADISwgAygCpAMhKyADKQOoAyFrIAMoArADIQ4gAygCtAMhKiADLQC4AyEpIAMpA4gDIWYgAyAcKAADNgDjAiADIBwoAAA2AuACIAMtANgDITUgAygC1AMhNiADKALQAyE3IAMpA8gDIWwgAygCxAMhOCADKALAAyE5IAMtAJgEITogAy0AmQQhJSADLQCaBCEjIAMoApQEIRcgAygCkAQhJCADKAKMBCEYIAMoAogEIQkgAygChAQhCyADKAKABCEhIAMoAvwDISYgAygC+AMh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AyAcKAAANgLgAiADLQCaBCEjIAMtAJkEISUgAy0AmAQhOiADKAKIBCEJIAMoAoQEIQsgAygCgAQhISADKQPgAyFpICAgICgCACIBQQFrNgIAIAFBAUYEQCAgEDALQQAhESAKIS0gEyEUIAUhMCAHISIgZiFoQQAhBUEBDAoLIAMgAygAuwY2APMCIAMgAygCuAY2AvACIAMgAygCnAY2AugCIAMgAygAnwY2AOsCICAgICgCACICQQFrNgIAIAhBCHYhASACQQFHDRMgIBAwDBMLQQgQpxQACwwZCyABKAAAQfTCrasGRgRAIANB+AdqIANB8AFqEPsMIAMoAqgIIg5Bf0YNAyADIAMoAJEINgLwAiADIAMoAJQINgDzAiADIAMoALEINgLoAiADIAMoALQINgDrAiADKAL4ByIIQQh2IQEgAykDgAgiaEIgiKchESADLQCQCCEWIAMpA4gIIWcgAygC/AchDCADKAKYCCEFIAMoApwIIQcgAykDoAghZiADKAKsCCEKIAMtALAIIRMgaKchDQwRCyABKAAAQfPWpYMHRw0AIANB+AdqIANB8AFqEPsMIAMpA4AIIWkgAykD+AchaiADKAKoCCIOQX9HBEAgRSBGKQMYNwMYIEUgRikDEDcDECBFIEYpAwg3AwggRSBGKQMANwMAIFMgPSkCADcCACBTID0oAgg2AgggAyBqNwOwCiBqQiCIpyEMIGqnIQgMCQsgakIBUg0BIGlCAFkNASADIGk3A8gFIAMgcTcD+AcgA0GwCmpBi6XAACADQfgHahC4DEGFgICAeCEOIAMpA7gKIWkgAygCtAohDCADKAKwCiEIDAgLIAMgAygAQzYA8wIgAyADKABANgLwAiADIAMoADg2AugCIAMgAygAOzYA6wIgAyADKAAwNgLgAiADIAMoADM2AOMCIAMgAygAKDYC2AIgAyADLQAsOgDcAiADKALoBCIFBEAgAUEEaygCACIHQXhxIQQgBEEEQQggB0EDcSIHGyAFakkNFiAHQQBHIAQgBUEnaktxDRcgARC8BQsgZkIgiKchESBZEK4HDAsLIAMgHigAADYC8AIgAyAeKAADNgDzAiADKAKMBCEYIAMoApAEISQgAygClAQhFyADKAL0AyESIAMoAvgDIQwgAygC/AMhJiADKQOQAyFnIAMtAJgDIRYgAygCiAMhHyADKAKgAyEsIAMoAqQDISsgAykDqAMhayADKAKwAyEOIAMoArQDISogAy0AuAMhKSADIB0oAAM2AOsCIAMgHSgAADYC6AIgAyAcKAADNgDjAiADIBwoAAA2AuACIGlCIIinISggaachBkEAIREgAy0AmgQhIwwBCyADKQOACCFnIAMoAvgHIQEgAyAeKAAANgLwAiADIB4oAAM2APMCIAMoAowEIRggAygCkAQhJCADKAKUBCEXIAMoAvQDIRIgAygC+AMhDCADKAL8AyEmIAMpA/gCIWogAygCgAMhBiADKAKEAyEoIAMtAJgDIRYgAy0AuAMhKSADKAK0AyEqIAMoArADIQ4gAykDqAMhayADKAKkAyErIAMoAqADISwgAyAdKAADNgDrAiADIB0oAAA2AugCIAMtANgDITUgAygC1AMhNiADKALQAyE3IAMpA8gDIWwgAygCxAMhOCADKALAAyE5IAMgHCgAAzYA4wIgAyAcKAAANgLgAkEAIRFBA0EAIAEbIR8gAy0AmgQhIyADLQCZBCElIAMtAJgEITogAygCiAQhCSADKAKEBCELIAMoAoAEISEgAygC8AMhDSADKALsAyEPIAMoAugDIQggAykD4AMhaQwBCyADLQCZBCElIAMtAJgEITogAygCiAQhCSADKAKEBCELIAMoAoAEISEgAygC8AMhDSADKALsAyEPIAMoAugDIQggAykD4AMhaSADLQDYAyE1IAMoAtQDITYgAygC0AMhNyADKQPIAyFsIAMoAsQDITggAygCwAMhOQtBAAshBUEACyEBQQALIQQCQAJAAkAgAygC6AQiBwRAIAMoAuwEIhNBBGsoAgAiTkF4cSEKIApBBEEIIE5BA3EiThsgB2pJDQEgTkEARyAKIAdBJ2pLcQ0TIBMQvAULAkAgBEUEQCABRQ0BDAMLIAMtAJgDQf8BRwRAIGEQrwQLIAENAgsMAgtB0JzJAEEuQYCdyQAQrxQACyADKALsAyEHIAMoAvADIgQEQCAHIQEDQCABEIsFIAFBQGshASAEQQFrIgQNAAsLIAMoAugDIgQEQCAHQQRrKAIAIgpBeHEhASABIARBBnQiBEEEQQggCkEDcSIKG3JJDRAgCkEARyABIARBJ3JLcQ0RIAcQvAULCwJAAkAgBUUNACADKAKABCIBQX9GDQAgYBClBCABRQ0A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ARDAEiACQbgLahDAEiACIAQ2AhAgAiAFNgIMIAIgCTYCCCACQeARaiIDIAggAkGICWogARDWCiAAIANB8AD8CgAAIAJBgBFqEPMRAkAgAikDyAYiF0IFUw0AIBdC/////w+DQgZSDQAgAigC0AYNGiAHENIRDBoLIAJByAZqEOsCDBkLQeDbxQBB4wBBlNzFABC/EwALIAJBgBFqEPMRAkAgAikDyAYiF0IFUw0AIBdC/////w+DQgZSDQAgAigC0AYNASAHENIRDAELIAJByAZqEOsCCyAEBEAgBSEDA0AgAxClASADQfAAaiEDIARBAWsiBA0ACwsgCUUNFiAFIAlB8ABsENkSDBYLIAMoAghBf0cEQCACQeARaiAGIAgQgAMgAigC5BEhBSACKALgESENAkAgAigC6BEiA0UNACAFIANBA3RqIRAgAkHkEWohDCAGQRRqIREgBkEQaiESIAUhBAJAAkACQANAIAQoAgAiAyARKAIATw0BAkACQCASKAIAIANByABsaiIKKAIAIg5Bf0YNACAEQQRqKAIAIQMCQAJAQQIgDkEDayAOQQJNG0EDaw4CAAECCyAPRQRAIApBfzYCACAMIAopAgQ3AgAgDCAKKQIMNwIIIAwgCikCFDcCECAMIAopAhw3AhggDCAKKQIkNwIgIAwgCikCLDcCKCAMIAooAjQ2AjAgAiAONgLgESACQeARahCnB0EBIQ8gAyEJDAILQSIQkAEiA0UNBiADQbzZxQAvAAA7ACAgA0G02cUAKQAANwAYIANBrNnFACkAADcAECADQaTZxQApAAA3AAggA0Gc2cUAKQAANwAADAULIAsNASAKQX82AgAgDCAKKQIENwIAIAwgCikCDDcCCCAMIAopAhQ3AhAgDCAKKQIcNwIYIAwgCikCJDcCICAMIAopAiw3AiggDCAKKAI0NgIwIAIgDjYC4BEgAkHgEWoQpwdBASELIAMhBwsgECAEQQhqIgRGDQUMAQsLQSIQkAEiA0UNHyADQd7ZxQAvAAA7ACAgA0HW2cUAKQAANwAYIANBztnFACkAADcAECADQcbZxQApAAA3AAggA0G+2cUAKQAANwAADAELQbygxgAQnRUACyAAQYmAgIB4NgI4IABBIjYCFCAAIAM2AhAgAEL/////rwQ3AwggAEJ/NwMAIA1FDRggBSANQQN0ENkS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QAJAAkACQCADKALwDkECaw4CAQADCyAELwAAQeHcAXMgBEECaiIILQAAQeQAc3INASADQQA6AFAMBAsgBC8AAEHv5AFHDQEgA0EBOgBQDAMLIAQvAABB7t4BcyAILQAAQfQAc3JFDQELIAMgA0GIC2qtQoCAgIDQAYQ3A8APIANB0ABqQY++wQAgA0HAD2oQuAxBgYCAgHgMAgsgA0ECOgBQC0EBIQdBfws2AoABAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACfwJAAkACQAJAAkACfyADKALoDiIIBEAgBEEEaygCACIJQXhxIQogCkEEQQggCUEDcSIJGyAIakkNGCAJQQBHIAogCEEnaktxDRkgBBC8BQsCQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQCAHRQRAIANB6A5qIAEoAgAgDyAGEJEDIAMoAugOIgZBf0YNASADIAMpAvQONwPYAiADIAMoAvwONgLgAiADKALwDiEEIAMoAuwOIQEgBkEBaw4CAwQCCyADLQBQIRACQAJAAkAgAygCCEEDaw4CAQIAC0Ggq8kAQShB3JXGABCvFAALIAEoAgQhCSABKAIAIRMgAygCDCENIAMoAhAhByADKAIUIQEgA0F/NgLABSAHIAFByABsaiEGIAchBCABRQ0bIANB6A5qQQFyIQUgA0GQC2ohASAEIQIDQCACKAIAIQggA0HQB2oiCiACQQRqQcQA/AoAACACQcgAaiEEAkACQCAIQQRHBEAgAyAINgLADyADQcAPaiICQQRyIApBxAD8CgAAIAMgAq1CgICAgPAghDcDoAggA0HAC2pBoe/BACADQaAIahC4DCADQQA6AMwLIANBfzYCoAsgAhCuByADIAEpAwA3A/AOIAMgASkDCDcD+A4gAyABKQMQNwOADyADIAEpAxg3A4gPIAMgASkDIDcDkA8gAyABKQMoNwOYDyADIAEpAzA3A6APIAMgASkDODcDqA8gA0G4CmogBUHHAPwKAAAMAQsgAyACQQhqKQIANwPABiADIAJBEGopAgA3A8gGIAMgAkEYaikCADcD0AYgAyACQSBqKQIANwPYBiADIAJBKGopAgA3A+AGIAMgAkEwaikCADcD6AYgAyACQThqKQIANwPwBiADIAJBQGsp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ACADQcAPahC4DCADQYGAgIB4NgLIAiABEK4HDAILQdAAEJABIgFFDS4gAygCuAkiBCgCACEFIAQgBUEBajYCACAFQQBIDQMgAykCsAkhFyADKQKoCSEYIAFBAzoAACABQQA6AAggASACQRhqIgIpABgiGTcAKCADIAIpAAA3AO8OIAEgAykA6A43AAkgAyACKQAINwD3DiABIAMpAPAONwARIAMgAikAEDcA/w4gASADKQD4DjcAGSADIBk3AIcPIAEgAykAgA83ACEgAyAYNwPIDyADIBc3A9APIAEgBDYCSCABQQA6AEwgASADKQPQDzcDQCABIAMpA8gPNwM4IAEgAykDwA83AzAgA0EBNgKYAiADIAE2ApwCIANBATYCoAIgA0F/NgLIAgwBCyADIAIpA1A3A8ALIAMgAikDSDcDuAsgAyACKQNANwOwCyADIAIpAzg3A6gLIAMgAikDMDcDoAsgAyACKQMoNwOYCyADIAIpAyA3A5ALIAMgAikDGDcDiAsgA0HIA2oiASADQZgLakG2k8kAQQQQqQRBACEFAkACQCADKALIA0F/Rg0AIANB6A5qIgIgARDaASACQQFyIQEgAy0A6A4hAiADKAKYDyIEQX9HDQEgAyABKQAXNwDXDyADIAEpABA3A9APIAMgAjoAuAogAyABKQAANwC5CiADIAEpAAg3AMEKIAMgAykD0A83AMkKIAMgAykA1w83ANAKAkACQEEOIAMoArgKIgFBDWsgAUEMTRsiBA4DAQABAAtBoKvJAEEoQaynxgAQrxQACyADKALACiEBIAMoArwKIQICfwJAAkAgAygCxApBB2sOBQAPDw8BDwsgASgAAEHkypmLBnMgAUEDaigAAEHh6rGjB3NyDQ5BAAwBCyABKQAAQunczavm7dy09ACFIAFBA2opAABC5dzNy8aumrvlAIWEQgBSDQ1BAQshBSACBEAgASACENkSCwJAIAQOAwEAAQALIANBuApqEIgECyADQQA7AbwKIAMgA0GoCWo2ArgKIAMgAykDwAs3A6APIAMgAykDuAs3A5gPIAMgAykDsAs3A5APIAMgAykDqAs3A4gPIAMgAykDoAs3A4APIAMgAykDmAs3A/gOIAMgAykDkAs3A/AOIAMgAykDiAs3A+gOIANBwA9qIANBuApqIANB6A5qEMIBIAMoAsgPIQcgAygCxA8hASADKALADyEGAkAgAygC8A8iAkF/RwRAIAMgAygC7A82AsQCIAMgAykC5A83ArwCIAMgAykC3A83ArQCIAMgAykC1A83AqwCIAMgAykCzA83AqQCIAMgAykC9A83AswCIAMgAygC/A82AtQCIAMgAjYCyAIMAQsgBwRAIAdB0ABsIQQgASECA0AgAiAFEIERIAJB0ABqIQIgBEHQAGsiBA0ACwsgA0F/NgLIAgsgAyAHNgKgAiADIAE2ApwCIAMgBjYCmAIMAQsgAyABKQAnNwDnDyADIAEpACA3A+APIAMgAykCnA83AswCIAMgAygCpA82AtQCIAMgASkAGCIXNwPYDyADIAEpABAiGDcD0A8gAyABKQAIIhk3A8gPIAMgFzcAsQIgAyAYNwCpAiADIBk3AKECIAMgASkAADcAmQIgAyADKQDnDzcAwAIgAyADKQPgDzcAuQIgAyAENgLIAiADIAI6AJgCIANBiAtqEOMJCyADKAK4CSICKAIAIQEgAiABQQFrNgIAIAFBAUcNFSADKAK4CRAwDBULIAMgBDYC6AIgAyABNgLkAiADIAMpA9gCNwLsAiADIAMoAuACNgL0AgJAAkAgAygCCA4FAQAABAUACyADQegOaiIBIAVByAD8CgAAIAMgAa1CgICAgPAghDcDiAsgA0HAD2pB5ZDAACADQYgLahC4DCADQYGAgIB4NgLIAiADIAMpA8APNwOYAiADIAMpA8gPNwOgAiADIAMpA9APNwOoAiADIAMpA9gPNwOwAiADIAMpA+APNwO4AiADIAMpA+gPNwPAAiABEK4HDBELQdAAEJABIgFFDSsgAygC9AIiBCgCACEFIAQgBUEBajYCACAFQQBIDQAgAyACQRhqIgIpABg3AIcPIAMgAikAEDcA/w4gAyACKQAINwD3DiADIAIpAAA3AO8OQdgAEJABIgINAUG48MkAQQE6AAAACwALIAJBBDoAACACIAMpAOgONwABIAIgAykA8A43AAkgAiADKQD4DjcAESACIAMpAIAPNwAZIAIgAykAhw83ACAgAUEHOgAAIAMgAykC5AI3AOsOIAEgAykA6A43AAEgAyADKQLsAjcA8w4gASADKQDwDjcACSABIAI2AhggASAENgIUIAEgAygA9w42ABAgA0F/NgLIAiADQQE2AqACIAMgATYCnAIg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DyADIAMpA+gLNwLUDyADIAMpA/ALNwLcDyADIAMpA/gLNwLkDyADIAMpA4AMNwLsDyADIAMoAogMNgL0DyADKQOwDyEXIAMgBDYC+A8gAyADKALgCzYChBAgAyADKQPYCzcC/A8gAyAXNwOIECADQYgLaiECIANBwA9qIQkjAEHgAGsiBSQAIANB5AJqIgcoAhAiBigCACEEIAYgBEEBajYCAAJAIARBAE4EQCAFQQlqIghBB2ogCUHQAPwKAABB2AAQkAEiBEUNMiAEQQY6AAAgBEEBaiAIQdcA/AoAACACIAQ2AhggAiAGNgIUIAJBBzoAACACIAcpAgg3AgwgAiAHKQIANwIEIAVB4ABqJAAMAQsACwwQCyADQRU2AogLIANB6A5qIANB5AJqIANBiAtqEPoQIAMgAy8A6Q47AfwEIAMgAy0A6w46AP4EIAMgAykC/A43A9gEIAMgAykChA83A+AEIAMgAykCjA83A+gEIAMgAykClA83A/AEIAMgAygCnA82AvgEIAMtAOgOIQIgAygC7A4hCSADKALwDiEEIAMoAvQOIQYgAygC+A4hBSADIAMoAqwPNgLQBCADIAMpAqQPNwPIBCADKAKgDyEHIAMpA7APIRcgCBCuBwwQCyADIAU2AoAKIAMgBjYC/AkgAyAENgL4CSADIAMpA6AINwKECiADIAMpA6gINwKMCiADIAMpA7AINwKUCiADIAMpA7gINwKcCiADIAMoAsAINgKkCiADIAc2AqgKIAMgAykDkAw3AqwKIAMgAygCmAw2ArQKIANB2A1qIgIgA0HkAmoQ8QogA0HoDmogA0H4CWogAhCsDSADLQDoDiICQf8BRgRAIAMgAykC/A43A+gLIAMgAykChA83A/ALIAMgAykCjA83A/gLIAMgAykClA83A4AMIAMgAygCnA82AogMIAMgAykCpA83A9gLIAMgAygCrA82AuALIAMoAvgOIQUgAygC9A4hBiADKALwDiEEIAMoAqAPIQcgAyADKAKIDDYC+AQgAyADKQOADDcD8AQgAyADKQP4CzcD6AQgAyADKQPwCzcD4AQgAyADKQPoCzcD2AQgAyADKALgCzYC0AQgAyADKQPYCzcDyAQMEgsgAyADKADsDjYAvAogAyADKADpDjYAuQogAyADKQL8DjcD6AsgAyADKQKEDzcD8AsgAyADKQKMDzcD+AsgAyADKQKUDzcDgAwgAyADKAKcDzYCiAwgAygCoA8hBCADKAL4DiEFIAMpA/AOIRcgAyADKAKsDzYC4AsgAyADKQKkDzcD2AsgAyAXNwPACiADIAI6ALgKIAMgBTYCyAogAyADKQPoCzcCzAogAyADKQPwCzcC1AogAyADKQP4CzcC3AogAyADKQOADDcC5AogAyADKAKIDDYC7AogAykDsA8hFyADIAQ2AvAKIAMgAygC4As2AvwKIAMgAykD2As3AvQKIAMgFzcDgAsgA0GIC2ohAiADQbgKaiEJIwBB4ABrIgUkACADQeQCaiIHKAIQIgYoAgAhBCAGIARBAWo2AgACQCAEQQBOBEAgBUEJaiIIQQdqIAlB0AD8CgAAQdgAEJABIgRFDTAgBEEFOgAAIARBAWogCEHXAPwKAAAgAiAENgIYIAIgBjYCFCACQQc6AAAgAiAHKQIINwIMIAIgBykCADcCBCAFQeAAaiQADAELAAsMDgsgA0HoDmohAiADLQCICyEGIANB5AJqIgUoAhAiBygCACEEIAcgBEEBajYCAAJAIARBAE4EQEHYABCQASIERQ0vIAQgBjoAASAEQQM6AAAgAiAENgIYIAIgBzYCFCACQQc6AAAgAiAFKQIANwIEIAIgBSkCCDcCDAwBCwALDAwLIAMgAykCmA03A+gIIAMgAykCoA0+AvAIIAMgAykCpA03AvQIIAMgAykCrA03AvwIIAMgAykCtA03AoQJIAMgAykCvA03AowJIAMgAygCxA02ApQJIAMgAykCyA0+ApgJIAMgAygC1A02AqQJIAMgAykCzA03ApwJIANB2A1qIgIgA0HkAmoQ8QogA0HoDmogA0HoCGogAhCsDSADLQDoDiICQf8BRgRAIAMgAykC/A43A+gLIAMgAykChA83A/ALIAMgAykCjA83A/gLIAMgAykClA83A4AMIAMgAygCnA82AogMIAMgAykCpA83A5AMIAMgAygCrA82ApgMIAMoAvgOIQUgAygC9A4hBiADKALwDiEEIAMoAqAPIQcgAyADKAKIDDYC+AQgAyADKQOADDcD8AQgAyADKQP4CzcD6AQgAyADKQPwCzcD4AQgAyADKQPoCzcD2AQgAyADKAKYDDYC0AQgAyADKQOQDDcDyAQMEAsgAyADKADsDjYArAkgAyADKADpDjYAqQkgAyADKQL8DjcD6AsgAyADKQKEDzcD8AsgAyADKQKMDzcD+AsgAyADKQKUDzcDgAwgAyADKAKcDzYCiAwgAygCoA8hBCADKAL4DiEFIAMpA/AOIRcgAyADKAKsDzYCmAwgAyADKQKkDzcDkAwgAyAXNwOwCSADIAI6AKgJIAMgBTYCuAkgAyADKQPoCzcCvAkgAyADKQPwCzcCxAkgAyADKQP4CzcCzAkgAyADKQOADDcC1AkgAyADKAKIDDYC3AkgAykDsA8hFyADIAQ2AuAJIAMgAygCmAw2AuwJIAMgAykDkAw3AuQJIAMgFzcD8AkgA0GIC2ohAiADQagJaiEJIwBB4ABrIgUkACADQeQCaiIHKAIQIgYoAgAhBCAGIARBAWo2AgACQCAEQQBOBEAgBUEJaiIIQQdqIAlB0AD8CgAAQdgAEJABIgRFDS4gBEECOgAAIARBAWogCEHXAPwKAAAgAiAENgIYIAIgBjYCFCACQQc6AAAgAiAHKQIINwIMIAIgBykCADcCBCAFQeAAaiQADAELAAsMDAsgAyADKQKYDTcDkAcgAyADKQKgDT4CmAcgAyADKQKkDTcCnAcgAyADKQKsDTcCpAcgAyADKQK0DTcCrAcgAyADKQK8DTcCtAcgAyADKALEDTYCvAcgAyADKQLIDT4CwAcgAyADKALUDTYCzAcgAyADKQLMDTcCxAcgA0HYDWoiAiADQeQCahDxCiADQegOaiADQZAHaiACEKwNIAMtAOgOIgJB/wFGBEAgAyADKQL8DjcD6AsgAyADKQKEDzcD8AsgAyADKQKMDzcD+AsgAyADKQKUDzcDgAwgAyADKAKcDzYCiAwgAyADKQKkDzcDkAwgAyADKAKsDzYCmAwgAygC+A4hBSADKAL0DiEGIAMoAvAOIQQgAygCoA8hByADIAMoAogMNgL4BCADIAMpA4AMNwPwBCADIAMpA/gLNwPoBCADIAMpA/ALNwPgBCADIAMpA+gLNwPYBCADIAMoApgMNgLQBCADIAMpA5AMNwPIBAwPCyADIAMoAOwONgDUByADIAMoAOkONgDRByADIAMpAvwONwPoCyADIAMpAoQPNwPwCyADIAMpAowPNwP4CyADIAMpApQPNwOADCADIAMoApwPNgKIDCADKAKgDyEEIAMoAvgOIQUgAykD8A4hFyADIAMoAqwPNgKYDCADIAMpAqQPNwOQDCADIBc3A9gHIAMgAjoA0AcgAyAFNgLgByADIAMpA+gLNwLkByADIAMpA/ALNwLsByADIAMpA/gLNwL0ByADIAMpA4AMNwL8ByADIAMoAogMNgKECCADKQOwDyEXIAMgBDYCiAggAyADKAKYDDYClAggAyADKQOQDDcCjAggAyAXNwOYCCADQYgLaiECIANB0AdqIQkjAEHgAGsiBSQAIANB5AJqIgcoAhAiBigCACEEIAYgBEEBajYCAAJAIARBAE4EQCAFQQlqIghBB2ogCUHQAPwKAABB2AAQkAEiBEUNLSAEQQE6AAAgBEEBaiAIQdcA/AoAACACIAQ2AhggAiAGNgIUIAJBBzoAACACIAcpAgg3AgwgAiAHKQIANwIEIAVB4ABqJAAMAQsACwwLCyADIAMpApgNNwOABiADIAMpAqANPgKIBiADIAMpAqQNNwKMBiADIAMpAqwNNwKUBiADIAMpArQNNwKcBiADIAMpArwNNwKkBiADIAMoAsQNNgKsBiADIAMpAsgNPgKwBiADIAMoAtQNNgK8BiADIAMpAswNNwK0BiADQdgNaiICIANB5AJqEPEKIANB6A5qIANBgAZqIAIQrA0gAy0A6A4iAkH/AUYEQCADIAMpAvwONwPoCyADIAMpAoQPNwPwCyADIAMpAowPNwP4CyADIAMpApQPNwOADCADIAMoApwPNgKIDCADIAMpAqQPNwOQDCADIAMoAqwPNgKYDCADKAL4DiEFIAMoAvQOIQYgAygC8A4hBCADKAKgDyEHIAMgAygCiAw2AvgEIAMgAykDgAw3A/AEIAMgAykD+As3A+gEIAMgAykD8As3A+AEIAMgAykD6As3A9gEIAMgAygCmAw2AtAEIAMgAykDkAw3A8gEDA4LIAMgAygA7A42AMQGIAMgAygA6Q42AMEGIAMgAykC/A43A+gLIAMgAykChA83A/ALIAMgAykCjA83A/gLIAMgAykClA83A4AMIAMgAygCnA82AogMIAMoAqAPIQQgAygC+A4hBSADKQPwDiEXIAMgAygCrA82ApgMIAMgAykCpA83A5AMIAMgFzcDyAYgAyACOgDABiADIAU2AtAGIAMgAykD6As3AtQGIAMgAykD8As3AtwGIAMgAykD+As3AuQGIAMgAykDgAw3AuwGIAMg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S3FFBEAgAhC8BQwBCwwDCyAGQeACaiQADwtBxLDJAEETQdykxAAQvxMAC0HQnMkAQS5BgJ3JABCvFAALQZCdyQBBLkHAnckAEK8UAAtBiKHEAEHJAEGsocQAEL8TAAtBBBCnFAAL/F4BGH8jAEGABWsiAyQAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQEEOIAIoAgAiBkGAgICAeHMiBCAEQRZPG0EBaw4VAQIDBAUGBwgJIyQlJicKCwwNDg8QAAsgAigCCCEEIANBkAJqIgUgAigCBCICQeAA/AoAACADQfACaiIGIARB4AD8CgAAIAAgASAFIAYQxwwgBEEEaygCACIAQQNxIQEgAEF4cUHkAEHoACABG0kNYiABQQBHIABBiAFPcQ1hIAQQvAUgAkEEaygCACIAQQNxIQEgAEF4cUHkAEHoACABG0kNYiABQQBHIABBiAFPcQ1hIAIQvAUMXwsgAigCCCEEIANBkAJqIgUgAigCBCICQeAA/AoAACADQfACaiIGIARB4AD8CgAAIAAgASAFIAYQ4gwgBEEEaygCACIAQQNxIQEgAEF4cUHkAEHoACABG0kNYSABQQBHIABBiAFPcQ1gIAQQvAUgAkEEaygCACIAQQNxIQEgAEF4cUHkAEHoACABG0kNYSABQQBHIABBiAFPcQ1gIAIQvAUMXgsgAigCCCEEIANBkAJqIgYgAigCBCIFQeAA/AoAACADQfACaiIHIARB4AD8CgAAIANBgAFqIgggASAGEMgBAkAgAygCgAFBfkYEQEEDEJABIgJFDWAgAkHFhcYALQAAOgACIAJBw4XGAC8AADsAACADQQM2AogBIAMgAjYChAEgA0EDNgKAASABIAgQ/A0gACABIAcQyAEMAQsgACADKQKoATcCKCAAIAMpAqABNwIgIAAgAykCmAE3AhggACADKQKQATcCECAAIAMpAogB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IANB8AJqIgYgBEHgAPwKAAAgACABIAUgBkEAEIwJIARBBGsoAgAiAEEDcSEBIABBeHFB5ABB6AAgARtJDVcgAUEARyAAQYgBT3ENViAEELwFIAJBBGsoAgAiAEEDcSEBIABBeHFB5ABB6AAgARtJDVcgAUEARyAAQYgBT3ENViACELwFDFQLIAIoAgghBCADQZACaiIFIAIoAgQiAkHgAPwKAAAgA0HwAmoiBiAEQeAA/AoAACAAIAEgBSAGQQEQjAkgBEEEaygCACIAQQNxIQEgAEF4cUHkAEHoACABG0kNViABQQBHIABBiAFPcQ1VIAQQvAUgAkEEaygCACIAQQNxIQEgAEF4cUHkAEHoACABG0kNViABQQBHIABBiAFPcQ1VIAIQvAUMUwsgAigCBCECQQMQkAEiBA0eDFMLIAIoAgQhAkEDEJABIgQNHgxSCyACKAIEIQRBBhCQASICDR5BARCnFAALIAIoAgQhBEEKEJABIgINHkEBEKcUAAsgAygC8AJBBEYNBAxKCyADQZACaiICIANB8AJqQeAA/AoAACADQYABaiADQdgDakHIAPwKAAAgA0HgAWogASACEMgBAkAgAygC4AFBfkcEQAwBCyADQeABaiABQbCCxgBBAxDXEiADKALgAUF+Rg0HCyAAIAMpAogCNwIoIAAgAykCgAI3AiAgACADKQL4ATcCGCAAIAMpAvABNwIQIAAgAykC6AE3AgggACADKQLgATcCACADQYABahD0EQxECwJAAkACQCADKALwAkEERgRAIAMoAvwCQQFGDQELIANBkAJqIgIgA0HwAmpB4AD8CgAAIANBgAFqIANB2ANqQcgA/AoAACADQeABaiABIAIQyAEgAygC4AFBfkYNAQwCCyADIAMoAvwCIgI2AugBIAMgAykC9AI3A+ABIAJFDSAgAyACQQFrIgI2AugBIAMoAuQBIAJB4ABsaiICKAIAIgRBf0YNICADQZACaiIHIAJBBGpB3AD8CgAAQeAAEKwUIgIgBDYCACACQQRqIAdB3AD8CgAAQeAAEKwUIgQgBkHgAPwKAAAgAyAENgKIASADIAI2AoQBIANBhoCAgHg2AoABIAAgASADQYABahAzIANB4AFqEKMOQQAhAgxGCyADQeABaiABQcyCxgBBBBDXEiADKALgAUF+Rg0gCyAAIAMpAogCNwIoIAAgAykCgAI3AiAgACADKQL4ATcCGCAAIAMpAvABNwIQIAAgAykC6AE3AgggACADKQLgATcCACADQYABahD0EQxDCyADKALcAw1HIAAgAUHQgsYAQQMQ1xJBASECQQEhASADKALwAkEERg0CDEQLIANBGGogAygC1AMiAhDkEiADKAIcQQFHDUYgAygCGCgCAEEBRw1GIANBkAJqIgQgA0HwAmpB4AD8CgAAIANBgAFqIAEgBBDIASADKAKAAUF+RwRAIAAgAykCqAE3AiggACADKQKgATcCICAAIAMpApgBNwIYIAAgAykCkAE3AhAgACADKQKIATcCCCAAIAMpAoABNwIAIAIQshAMQgsgA0GAAWogAUHMgsYAQQQQ1xIgAygCgAFBfkcEQCAAIAMpAqgBNwIoIAAgAykCoAE3AiAgACADKQKYATcCGCAAIAMpApABNwIQIAAgAykCiAE3AgggACADKQKAATcCACACELIQDEILIANBEGogAhDkEiADKAIURQ0eIAMoAhAiBCgCAEEBRw0eIANBCGogAigCABCIEiADIAMoAgw2AlQgAyADKAIIIgc2AlAgBwRAIAMgA0HQAGo2AnAgA0GAAWoiByAEQQhqEIsCIAMgA0HwAGqtQoCAgICgAoQ3A+ABIANBxABqIgQgA0HgAWoQzBIgACABIAcgBBCrESACELIQDEALQdOCxgBB9wBBkIPGABC/EwALIAMoAtQDIgRBCGooAgAEQCAEQQRqKAIAKAIIIgkNAgsgACABQdCCxgBBAxDXEgsgA0HwAmpBBHIQow5BASECQQEhAQxCC0EBIQIgA0HwAmpBBHIhBwJAIAlBAUcNACADKAL8AkEBRw0AIAMgBygCCCICNgJYIAMgBykCADcDUCACRQ0dIAMgAkEBayICNgJYIAMoAlQgAkHgAGxqIgIoAgAiB0F/Rg0dIAMgBzYCkAIgA0GQAmoiB0EEciACQQRqQdwA/AoAACADIAQoAgg2AogBIAMgBCkCADcDgAEgA0HgAWogA0GAAWoiAhDlBSADKALgAUF/Rg0eIAMgAygC6AE2AkAgAyADKQLgATcDOCACIAEgBxDIAQJAIAMoAoABQX5HBEAMAQsgA0GAAWogAUHMgsYAQQQQ1xIgAygCgAFBfkYNIAsgACADKQKoATcCKCAAIAMpAqABNwIgIAAgAykCmAE3AhggACADKQKQATcCECAAIAMpAogBNwIIIAAgAykCgAE3AgAgA0E4ahCjDiAEQQwQ2RIgA0HQAGoQow4gAygC8AJBBEYNPiADQfACahDNAQw+CyADIAcoAgg2AogBIAMgBykCADcDgAEgAyAEKAIINgKYAiADIAQpAgA3A5ACIAAgASADQYABaiADQZACakEAEJsQIARBDBDZEgw/CyAAIAEgA0GAAWoQzgoMOwsgAygC8AJBBEYNBAw2CyADQZACaiICIANB8AJqQeAA/AoAACADQYABaiADQdgDakHIAPwKAAAgA0HgAWogASACEMgBAkAgAygC4AFBfkcEQAwBCyADQeABaiABQdCDxgBBBBDXEiADKALgAUF+Rg0HCyAAIAMpAogCNwIoIAAgAykCgAI3AiAgACADKQL4ATcCGCAAIAMpAvABNwIQIAAgAykC6AE3AgggACADKQLgATcCACADQYABahD0EQwwCwJAAkACQCADKALwAkEERgRAIAMoAvwCQQFGDQELIANBkAJqIgIgA0HwAmpB4AD8CgAAIANBgAFqIANB2ANqQcgA/AoAACADQeABaiABIAIQyAEgAygC4AFBfkYNAQwCCyADIAMoAvwCIgI2AugBIAMgAykC9AI3A+ABIAJFDR0gAyACQQFrIgI2AugBIAMoAuQBIAJB4ABsaiICKAIAIgRBf0YNHSADQZACaiIHIAJBBGpB3AD8CgAAQeAAEKwUIgIgBDYCACACQQRqIAdB3AD8CgAAQeAAEKwUIgQgBkHgAPwKAAAgAyAENgKIASADIAI2AoQBIANBh4CAgHg2AoABIAAgASADQYABahAzIANB4AFqEKMOQQAhAgwyCyADQeABaiABQeSDxgBBCBDXEiADKALgAUF+Rg0dCyAAIAMpAogCNwIoIAAgAykCgAI3AiAgACADKQL4ATcCGCAAIAMpAvABNwIQIAAgAykC6AE3AgggACADKQLgATcCACADQYABahD0EQwvCyADKALcAw0zIAAgAUHsg8YAQQMQ1xJBASECQQEhASADKALwAkEERg0CDDALIANBMGogAygC1AMiAhDkEiADKAI0QQFHDTIgAygCMCgCAEEBRw0yIANBkAJqIgQgA0HwAmpB4AD8CgAAIANBgAFqIAEgBBDIASADKAKAAUF+RwRAIAAgAykCqAE3Aigg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AiggACADKQKQAzcCICAAIAMpAogDNwIYIAAgAykCgAM3AhAgACADKQL4AjcCCCAAIAMpAvACNwIACyADQYABahCiEAsgBEEEaygCACIAQQNxIQEgAEF4cUHkAEHoACABG0kNGyABQQBHIABBiAFPcQ0aIAQQvAUgBUEEaygCACIAQQNxIQEgAEF4cUHkAEHoACABG0kNGyABQQBHIABBiAFPcQ0aIAUQvAUMGAtBARCnFAALIANB8AJqIgYgAkHgAPwKAAAgACABIAYQyAEgAkHgABDZEiAEQeAAENkSIAVB4AAQ2RIMFgtBASEBDAULIAMoAsADIgBBfkYNACAAQX9GDQAgAEUNACADKALEAyAAENkSCyADKALQAyIAQQlNQQBBASAAdEHDBHEbRQRAIAYQzQELIAMoAqAEIgBBfkYNByAAQX9GDQcgAEUNByADKAKkBCAAENkSDAcLQQAhASADKALwAkEERg0BCyADQfACahDNAQsCQCADKALAAyIAQX5GDQAgAEF/Rg0AIABFDQAgAygCxAMgABDZEgsgAkUNAgsCQAJAAkAgAygC0AMOCgICAQEBAQIBAQABCyABRQ0BIAMoAtQDEOYSDAELIAYQzQELIAMoAqAEIgBBfkYNASAAQX9GDQEgAEUNASADKAKkBCAAENkSDAELIANBgAFqIgIgA0HwAmpB4AD8CgAAIANBkAJqIAZB4AD8CgAAIANB4AFqIAEgAhDIASADKALgAUF+RwRADAILIANB4AFqIAFB5IPGAEEIENcSIAMoAuABQX5HBEAMAgsgACABIANBkAJqEMgBCyAIQeAAENkSIAVB4AAQ2RIMDQsgACADKQKIAjcCKCAAIAMpAoACNwIgIAAgAykC+AE3AhggACADKQLwATcCECAAIAMpAugBNwIIIAAgAykC4AE3AgAgA0GQAmoQ5hELIAhBBGsoAgAiAEEDcSEBAkAgAEF4cUHkAEHoACABG0kNDyABQQBHIABBiAFPcQ0OIAgQvAUgBUEEaygCACIAQQNxIQEgAEF4cUHkAEHoACABG0kNDyABQQBHIABBiAFPcQ0AIAUQvAUMDAsMDQtBASEBDAULIAMoAsADIgBBfkYNACAAQX9GDQAgAEUNACADKALEAyAAENkSCyADKALQAyIAQQlNQQBBASAAdEHDBHEbRQRAIAYQzQELIAMoAqAEIgBBfkYNByAAQX9GDQcgAEUNByADKAKkBCAAENkSDAcLQQAhASADKALwAkEERg0BCyADQfACahDNAQsCQCADKALAAyIAQX5GDQAgAEF/Rg0AIABFDQAgAygCxAMgABDZEgsgAkUNAgsCQAJAAkAgAygC0AMOCgICAQEBAQIBAQABCyABRQ0BIAMoAtQDEOYSDAELIAYQzQELIAMoAqAEIgBBfkYNASAAQX9GDQEgAEUNASADKAKkBCAAENkSDAELIANBgAFqIgIgA0HwAmpB4AD8CgAAIANBkAJqIAZB4AD8CgAAIANB4AFqIAEgAhDIASADKALgAUF+RwRADAILIANB4AFqIAFBzILGAEEEENcSIAMoAuABQX5HBEAMAgsgACABIANBkAJqEMgBCyAIQeAAENkSIAVB4AAQ2RIMAgsgACADKQKIAjcCKCAAIAMpAoACNwIgIAAgAykC+AE3AhggACADKQLwATcCECAAIAMpAugBNwIIIAAgAykC4AE3AgAgA0GQAmoQ5hELIAhBBGsoAgAiAEEDcSEBIABBeHFB5ABB6AAgARtJDQMgAUEARyAAQYgBT3ENAiAIELwFIAVBBGsoAgAiAEEDcSEBIABBeHFB5ABB6AAgARtJDQMgAUEARyAAQYgBT3ENAiAFELwFCyADQYAFaiQADwtBARCnFAALQZCdyQBBLkHAnckAEK8UAAtB0JzJAEEuQYCdyQAQrxQAC0EBEKcUAAuwXQEYfyMAQaAHayIDJAACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAQQ4gAigCACIGQYCAgIB4cyIEIARBFk8bQQFrDhUBAgMEBQYHCAkjJCUmJwoLDA0ODxAACyACKAIIIQQgA0GwBGoiBSACKAIEIgJB4AD8CgAAIANBkAVqIgYgBEHgAPwKAAAgACABIAUgBhDHDCAEQQRrKAIAIgBBA3EhASAAQXhxQeQAQegAIAEbSQ1iIAFBAEcgAEGIAU9xDWEgBBC8BSACQQRrKAIAIgBBA3EhASAAQXhxQeQAQegAIAEbSQ1iIAFBAEcgAEGIAU9xDWEgAhC8BQxfCyACKAIIIQQgA0GwBGoiBSACKAIEIgJB4AD8CgAAIANBkAVqIgYgBEHgAPwKAAAgACABIAUgBhDiDCAEQQRrKAIAIgBBA3EhASAAQXhxQeQAQegAIAEbSQ1hIAFBAEcgAEGIAU9xDWAgBBC8BSACQQRrKAIAIgBBA3EhASAAQXhxQeQAQegAIAEbSQ1hIAFBAEcgAEGIAU9xDWAgAhC8BQxeCyACKAIIIQQgA0GwBGoiBiACKAIEIgVB4AD8CgAAIANBkAVqIgcgBEHgAPwKAAAgA0GgA2oiCCABIAYQyQECQCADKAKgA0F+RgRAQQMQkAEiAkUNYCACQcWFxgAtAAA6AAIgAkHDhcYALwAAOwAAIANBAzYCqAMgAyACNgKkAyADQQM2AqADIAEgCBD8DSAAIAEgBxDJAQwBCyAAIAMpAsgDNwIoIAAgAykCwAM3AiAgACADKQK4AzcCGCAAIAMpArADNwIQIAAgAykCqAM3AgggACADKQKgAzcCACADQZAFahCtASADKALgBSIAQQBMDQAgAygC5AUgABDZEgsgBEEEaygCACIAQQNxIQEgAEF4cUHkAEHoACABG0kNYCABQQBHIABBiAFPcQ1fIAQQvAUgBUEEaygCACIAQQNxIQEgAEF4cUHkAEHoACABG0kNYCABQQBHIABBiAFPcQ1fIAUQvAUMXQsgAigCCCEEIANBsARqIgUgAigCBCICQeAA/AoAACADQZAFaiIGIARB4AD8CgAAIANBoANqIgcgASAFEMkBAkAgAygCoANBfkYEQEEEEJABIgVFDS4gBUGg+PSBAjYAACADQQQ2AqgDIAMgBTYCpAMgA0EENgKgAyABIAcQ/A0gACABIAYQyQEMAQsgACADKQLIAzcCKCAAIAMpAsADNwIgIAAgAykCuAM3AhggACADKQKwAzcCECAAIAMpAqgDNwIIIAAgAykCoAM3AgAgA0GQBWoQrQEgAygC4AUiAEEATA0AIAMoAuQFIAAQ2RILIARBBGsoAgAiAEEDcSEBIABBeHFB5ABB6AAgARtJDV8gAUEARyAAQYgBT3ENXiAEELwFIAJBBGsoAgAiAEEDcSEBIABBeHFB5ABB6AAgARtJDV8gAUEARyAAQYgBT3ENXiACELwFDFwLIAIoAgghBCADQbAEaiIGIAIoAgQiBUHgAPwKAAAgA0GQBWoiByAEQeAA/AoAACADQaADaiIIIAEgBhDJAQJAIAMoAqADQX5GBEBBAxCQASICRQ1eIAJBz4XGAC0AADoAAiACQc2FxgAvAAA7AAAgA0EDNgKoAyADIAI2AqQDIANBAzYCoAMgASAIEPwNIAAgASAHEMkBDAELIAAgAykCyAM3AiggACADKQLAAzcCICAAIAMpArgDNwIYIAAgAykCsAM3AhAgACADKQKoAzcCCCAAIAMpAqADNwIAIANBkAVqEK0BIAMoAuAFIgBBAEwNACADKALkBSAAENkSCyAEQQRrKAIAIgBBA3EhASAAQXhxQeQAQegAIAEbSQ1eIAFBAEcgAEGIAU9xDV0gBBC8BSAFQQRrKAIAIgBBA3EhASAAQXhxQeQAQegAIAEbSQ1eIAFBAEcgAEGIAU9xDV0gBRC8BQxbCyACKAIIIQQgA0GwBGoiBSACKAIEIgJB4AD8CgAAIANBkAVqIgYgBEHgAPwKAAAgA0GgA2oiByABIAUQyQECQCADKAKgA0F+RgRAQQQQkAEiBUUNLSAFQaD89IECNgAAIANBBDYCqAMgAyAFNgKkAyADQQQ2AqADIAEgBxD8DSAAIAEgBhDJAQwBCyAAIAMpAsgDNwIoIAAgAykCwAM3AiAgACADKQK4AzcCGCAAIAMpArADNwIQIAAgAykCqAM3AgggACADKQKgAzcCACADQZAFahCtASADKALgBSIAQQBMDQAgAygC5AUgABDZEgsgBEEEaygCACIAQQNxIQEgAEF4cUHkAEHoACABG0kNXSABQQBHIABBiAFPcQ1cIAQQvAUgAkEEaygCACIAQQNxIQEgAEF4cUHkAEHoACABG0kNXSABQQBHIABBiAFPcQ1cIAIQvAUMWgsgAigCBCEFIANBsARqIgQgAigCCCIIQeAA/AoAACADQZAFaiICIAVB4AD8CgAAIAJB4ABqIgYgBEHgAPwKAAAgAygC8AUOCgsMVVUNVQ5VVQpVCyACKAIEIQUgA0GwBGoiBCACKAIIIghB4AD8CgAAIANBkAVqIgIgBUHgAPwKAAAgAkHgAGoiBiAEQeAA/AoAACADKALwBQ4KExRJSRVJFklJEkkLIAIoAgghBCADQbAEaiIFIAIoAgQiAkHgAPwKAAAgA0GQBWoiBiAEQeAA/AoAACAAIAEgBSAGEOcLIARBBGsoAgAiAEEDcSEBIABBeHFB5ABB6AAgARtJDVogAUEARyAAQYgBT3ENWSAEELwFIAJBBGsoAgAiAEEDcSEBIABBeHFB5ABB6AAgARtJDVogAUEARyAAQYgBT3ENWSACELwFDFcLIAIoAgghBCADQbAEaiIFIAIoAgQiAkHgAPwKAAAgA0GQBWoiBiAEQeAA/AoAACAAIAEgBSAGEOgLIARBBGsoAgAiAEEDcSEBIABBeHFB5ABB6AAgARtJDVkgAUEARyAAQYgBT3ENWCAEELwFIAJBBGsoAgAiAEEDcSEBIABBeHFB5ABB6AAgARtJDVkgAUEARyAAQYgBT3ENWCACELwFDFYLIAIoAhAhBiACKAIMIQUgAigCCCEEIAIoAgRBAWsOAx4fIB0LIAIoAgghBCADQbAEaiIFIAIoAgQiAkHgAPwKAAAgA0GQBWoiBiAEQeAA/AoAACAAIAEgBSAGQQAQjAkgBEEEaygCACIAQQNxIQEgAEF4cUHkAEHoACABG0kNVyABQQBHIABBiAFPcQ1WIAQQvAUgAkEEaygCACIAQQNxIQEgAEF4cUHkAEHoACABG0kNVyABQQBHIABBiAFPcQ1WIAIQvAUMVAsgAigCCCEEIANBsARqIgUgAigCBCICQeAA/AoAACADQZAFaiIGIARB4AD8CgAAIAAgASAFIAZBARCMCSAEQQRrKAIAIgBBA3EhASAAQXhxQeQAQegAIAEbSQ1WIAFBAEcgAEGIAU9xDVUgBBC8BSACQQRrKAIAIgBBA3EhASAAQXhxQeQAQegAIAEbSQ1WIAFBAEcgAEGIAU9xDVUgAhC8BQxTCyACKAIEIQJBAxCQASIEDR4MUwsgAigCBCECQQMQkAEiBA0eDFILIAIoAgQhBEEGEJABIgINHkEBEKcUAAsgAigCBCEEQQoQkAEiAg0eQQEQpxQACyADKAKQBUEERg0EDEoLIANBsARqIgIgA0GQBWpB4AD8CgAAIANBQGsgA0H4BWpByAD8CgAAIANBoANqIAEgAhDJAQJAIAMoAqADQX5HBEAMAQsgA0GgA2ogAUGwgsYAQQMQ1xIgAygCoANBfkYNBwsgACADKQLIAzcCKCAAIAMpAsADNwIgIAAgAykCuAM3AhggACADKQKwAzcCECAAIAMpAqgDNwIIIAAgAykCoAM3AgAgA0FAaxDyEQxECwJAAkACQCADKAKQBUEERgRAIAMoApwFQQFGDQELIANBsARqIgIgA0GQBWpB4AD8CgAAIANBiAFqIANB+AVqQcgA/AoAACADQaADaiABIAIQyQEgAygCoANBfkYNAQwCCyADIAMoApwFIgI2AogEIAMgAykClAU3A4AEIAJFDSAgAyACQQFrIgI2AogEIAMoAoQEIAJB4ABsaiICKAIAIgRBf0YNICADQbAEaiIHIAJBBGpB3AD8CgAAEKsUIgIgBDYCACACQQRqIAdB3AD8CgAAEKsUIgQgBkHgAPwKAAAgAyAENgKoAyADIAI2AqQDIANBhoCAgHg2AqADIAAgASADQaADahA0IANBgARqEMEOQQAhAgxGCyADQaADaiABQcyCxgBBBBDXEiADKAKgA0F+Rg0gCyAAIAMpAsgDNwIoIAAgAykCwAM3AiAgACADKQK4AzcCGCAAIAMpArADNwIQIAAgAykCqAM3AgggACADKQKgAzcCACADQYgBahDyEQxDCyADKAL8BQ1HIAAgAUHQgsYAQQMQ1xJBASECQQEhACADKAKQBUEERg0CDEQLIANBEGogAygC9AUiAhDkEiADKAIUQQFHDUYgAygCECgCAEEBRw1GIANBsARqIgQgA0GQBWpB4AD8CgAAIANBoANqIAEgBBDJASADKAKgA0F+RwRAIAAgAykCyAM3AiggACADKQLAAzcCICAAIAMpArgDNwIYIAAgAykCsAM3AhAgACADKQKoAzcCCCAAIAMpAqADNwIAIAIQ8hIMQgsgA0GgA2ogAUHMgsYAQQQQ1xIgAygCoANBfkcEQCAAIAMpAsgDNwIoIAAgAykCwAM3AiAgACADKQK4AzcCGCAAIAMpArADNwIQIAAgAykCqAM3AgggACADKQKgAzcCACACEPISDEILIANBCGogAhDkEiADKAIMRQ0eIAMoAggiBCgCAEEBRw0eIAMgAigCABCIEiADIAMoAgQ2AuQBIAMgAygCACIHNgLgASAHBEAgAyADQeABajYCkAMgA0GgA2oiByAEQQhqEIoCIAMgA0GQA2qtQoCAgICgAoQ3A4AEIANB1AFqIgQgA0GABGoQzBIgACABIAcgBBCrESACEPISDEALQdOCxgBB9wBBkIPGABC/EwALIAMoAvQFIgRBCGooAgAEQCAEQQRqKAIAKAIIIgkNAgsgACABQdCCxgBBAxDXEgsgA0GQBWpBBHIQwQ5BASECQQEhAAxCC0EBIQIgA0GQBWpBBHIhBwJAIAlBAUcNACADKAKcBUEBRw0AIAMgBygCCCICNgLoASADIAcpAgA3A+ABIAJFDR0gAyACQQFrIgI2AugBIAMoAuQBIAJB4ABsaiICKAIAIgdBf0YNHSADIAc2ArAEIANBsARqIgdBBHIgAkEEakHcAPwKAAAgAyAEKAIINgKoAyADIAQpAgA3A6ADIANBgARqIANBoANqIgIQ5QUgAygCgARBf0YNHiADIAMoAogENgI4IAMgAykCgAQ3AzAgAiABIAcQyQECQCADKAKgA0F+RwRADAELIANBoANqIAFBzILGAEEEENcSIAMoAqADQX5GDSALIAAgAykCyAM3AiggACADKQLAAzcCICAAIAMpArgDNwIYIAAgAykCsAM3AhAgACADKQKoAzcCCCAAIAMpAqADNwIAIANBMGoQwQ4gBEEMENkSIANB4AFqEMEOIAMoApAFQQRGDT4gA0GQBWoQrQEMPgsgAyAHKAIINgKoAyADIAcpAgA3A6ADIAMgBCgCCDYCuAQgAyAEKQIANwOwBCAAIAEgA0GgA2ogA0GwBGpBABCZECAEQQwQ2RIMPwsgACABIANBQGsQzgoMOwsgAygCkAVBBEYNBAw2CyADQbAEaiICIANBkAVqQeAA/AoAACADQYACaiADQfgFakHIAPwKAAAgA0GgA2ogASACEMkBAkAgAygCoANBfkcEQAwBCyADQaADaiABQdCDxgBBBBDXEiADKAKgA0F+Rg0HCyAAIAMpAsgDNwIoIAAgAykCwAM3AiAgACADKQK4AzcCGCAAIAMpArADNwIQIAAgAykCqAM3AgggACADKQKgAzcCACADQYACahDyEQwwCwJAAkACQCADKAKQBUEERgRAIAMoApwFQQFGDQELIANBsARqIgIgA0GQBWpB4AD8CgAAIANByAJqIANB+AVqQcgA/AoAACADQaADaiABIAIQyQEgAygCoANBfkYNAQwCCyADIAMoApwFIgI2AogEIAMgAykClAU3A4AEIAJFDR0g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G0kNHyABQQBHIABBiAFPcQ0eIAQQvAUgBUEEaygCACIAQQNxIQEgAEF4cUHkAEHoACABG0kNHyABQQBHIABBiAFPcQ0eIAUQvAUMHAtBARCnFAALIANBkAVqIgYgAkHgAPwKAAAgACABIAYQyQEgAkHgABDZEiAEQeAAENkSIAVB4AAQ2RIMGgtBCRCQASIGRQ0BIAZBxITGAC0AADoACCAGQbyExgApAAA3AAAgA0EJNgKYBSADIAY2ApQFIANBCTYCkAUgASADQZAFaiIGEPwNIAYgBEHgAPwKAAAgA0GwBGogASAGEMkBAkAgAygCsARBfkcEQCAAIAMpAtgENwIoIAAgAykC0AQ3AiAgACADKQLIBDcCGCAAIAMpAsAENwIQIAAgAykCuAQ3AgggACADKQKwBDcCAAwBCyADQZAFaiABQYfYxQBBBRDXEiADKAKQBUF+Rg0DIAAgAykCuAU3AiggACADKQKwBTcCICAAIAMpAqgFNwIYIAAgAykCoAU3AhAgACADKQKYBTcCCCAAIAMpApAFNwIACyADQaADahDDEAsgBEEEaygCACIAQQNxIQEgAEF4cUHkAEHoACABG0kNGyABQQBHIABBiAFPcQ0aIAQQvAUgBUEEaygCACIAQQNxIQEgAEF4cUHkAEHoACABG0kNGyABQQBHIABBiAFPcQ0aIAUQvAUMGAtBARCnFAALIANBkAVqIgYgAkHgAPwKAAAgACABIAYQyQEgAkHgABDZEiAEQeAAENkSIAVB4AAQ2RIMFgtBASEADAULIAMoAuAFIgBBAEwNACADKALkBSAAENkSCyADKALwBSIAQQlNQQBBASAAdEHDBHEbRQRAIAYQrQELIAMoAsAGIgBBAEwNByADKALEBiAAENkSDAcLQQAhACADKAKQBUEERg0BCyADQZAFahCtAQsgAygC4AUiAUEASgRAIAMoAuQFIAEQ2RILIAJFDQILAkACQAJAIAMoAvAFDgoCAgEBAQECAQEAAQsgAEUNASADKAL0BRDlEgwBCyAGEK0BCyADKALABiIAQQBMDQEgAygCxAYgABDZEgwBCyADQaADaiICIANBkAVqQeAA/AoAACADQbAEaiAGQeAA/AoAACADQYAEaiABIAIQyQEgAygCgARBfkcEQAwCCyADQYAEaiABQeSDxgBBCBDXEiADKAKABEF+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ACEEIAJBAUcEQCACQQFxIAJB/v///wdxIQ5BACEIA0AgBSAJakEIayICKQIAISEgAiAIIAlqIgIpAgA3AgAgAiAhNwIAIAJBCGoiBykCACEhIAcgCiAEQf7///8Bc0EDdGoiAikCADcCACACICE3AgAgBUEQayEFIAhBEGohCCAOIARBAmoiBEcNAAtFDQELIAkgBEEDdGoiAikCACEhIAIgCiAEQX9zQQN0aiICKQIANwIAIAIgITcCAAsgAygCwAQhBSADIANBtARqrUKAgICAwAKENwPABCADQYQFakH/lMIAIANBwARqELgMIAMCfkHQ8MkALQAABEBByPDJACkDACEhQcDwyQApAwAMAQsgA0HABGoQuxFB0PDJAEEBOgAAQcjwyQAgAykDyAQiITcDACADKQPABAsiIjcDkAVBwPDJACAiQgF8NwMAIANBADYCqAUgA0KAgICAgAE3A6AFIAMgITcDmAUgA0GQqckAKQMANwKsBSADQZipyQApAwA3ArQFQQkQkAEiAkUNDCACQbC0yQAtAAA6AAggAkGotMkAKQAANwAAIANBCTYCyAUgAyACNgLEBSADQQk2AsAFIAMoArwEIgJBAEgNACACRQRAQQEhCAwCCyADKAK4BCEHIAIQkAEiCEUNDCACRQ0BIAggByAC/AoAAAwBCxCeFQALIANBg4CAgHg2AsAGIAMgAjYCuAYgAyAINgK0BiADIAI2ArAGIANBwARqIANBkAVqIANBwAVqIANBsAZqENIDIAMgAykD8AQ3A6gGIAMgAykD6AQ3A6AGIAMgAykD4AQ3A5gGIAMgAykD2AQiIjcDkAYgAyADKQPQBDcDiAYgAyADKQPIBDcDgAYgIqdBf0cEQCADQYAGahD+CQtBDRCQASICRQRADAsLIAJBjrHJACkAADcABSACQYmxyQApAAA3AAAgA0ENNgL8BSADIAI2AvgFIANBDTYC9AUgA0HABGoiAiAJIAYQ3w0gAygC0ARBf0YNBCADIAMpA+gENwOoBiADIAMpA+AENwOgBiADIAMpA9gENwOYBiADIAMpA9AENwOQBiADIAMpA8gENwOIBiADIAMpA8AENwOABiACIANBkAVqIANB9AVqIANBgAZqENIDIAMgAykD8AQ3A+gFIAMgAykD6AQ3A+AFIAMgAykD4AQ3A9gFIAMgAykD2AQi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IAopApQTITEgCigCkBMhHSAKKAKMEyEuIAooAogTISUgCigChBMhLyAKKAL4EiESIAooAvQSITAgCigC8BIhJCAKKALsEiEeIAooAugSIR8gCigC5BIhCCAKKALgEiEQIAooAtwSISMgCigC2BIhDyAKKALUEiEiIAooAtASIRkgCigCzBIhEyAKKAKAEiEcIAooArgRIRsgCigCqBEhFyAKKAKYESEVIAooAvwSIREgCigCyBIhBQsgAiARaiAtQcwA/AoAACAKIAZBAWoiBjYCgBMgCiAoKQIANwOgBiAKICgoAgg2AqgGIAogJykCADcDkAYgCiAnKAIINgKYBiAKQcwFaiAsQcQA/AoAACAKQYgFaiArQcQA/AoAACAKKAL0EyIgBEAgCigC+BMiFEEEaygCACIaQXhxISEgIUEEQQggGkEDcSIaGyAgakkNECAaQQBHICEgIEEnaktxDREgFBC8BQsgC0HYAGohCyACQcwAaiECIA1B2ABrIg0NAAsLIAcEQCAWQQRrKAIAIgJBeHEhDSANQQRBCCACQQNxIgsbIAdB2ABsIgJqSQ0OIAtBAEcgDSACQSdqS3ENDyAWELwFCyAKIBU2ArAGIAogCikDoAY3ArQGIAogCigCqAY2ArwGIAogFzYCwAYgCiAKKQOQBjcCxAYgCiAKKAKYBjYCzAYgCiAbNgLQBiAKQdQGaiAKQcwFakHEAPwKAAAgCiAcNgKYByAKQZwHaiAKQYgFakHEAPwKAAAgCiAyNwO4CCAKICY2ArQIIAogMTcCrAggCiAdNgKoCCAKIC42AqQIIAogJTYCoAggCiAvNgKcCCAKIAY2ApgIIAogETYClAggCiASNgKQCCAKIDA2AowIIAogJDYCiAggCiAeNgKECCAKIB82AoAIIAogCDYC/AcgCiAQNgL4ByAKICM2AvQHIAogDzYC8AcgCiAiNgLsByAKIBk2AugHIAogEzYC5AcgCiAFNgLgBwwBCyAKIBU2ArAGIAogCikDiBE3ArQGIAogCigCkBE2ArwGIApBfjYCtAggCkKAgICAYDcCpAggCkKAgICAwAA3ApwIIApCBDcClAggCkIANwKMCCAKQoCAgICAATcChAggCkIINwL8ByAKQgE3AvQHIAogDzYC8AcgCkKBgICAEDcD6AcgCiATNgLkByAKQQE2AuAHIApBfTYCmAcgCkF9NgLQBiAKQX82AsAGCyAKQZgRaiICIApBsANqEL4HQeAAEJABIgZFDQ5BsAEQkAEiBUUNDiAFIAJBsAH8CgAAIAZBfjYCUCAGIAU2AgQgBkEDNgIAIARBAEgNCSAERQRAQQEhCwwHCyAEEJABIgtFBEAMDgsgBEUNBiALIAMgBPwKAAAMBgsgBiAFQcy7xAAQhRMACyALIAVBzLvEABCFEwALQcy7xAAQnRUACyAPIAJB5P7IABCFEwALIA8gBUHk/sgAEIUTAAsgDyAFQeT+yAAQhRMACwJAAkBByAEQkAEiBQRAIAUgCzYCvAEgBSAENgK4ASAFQQE2AgwgBSAGNgIIIAVCgoCAgBA3AwAgBSAErTcDwAEgCigC9AciAyAKKALsB0YEQCAKQewHahClEgsgCigC8AcgA0HgAGxqIgJBfjYCUCACIAU2AgQgAkEGNgIAIAogA0EBajYC9AcgCkHACGogCkGwBmpBkAL8CgAAIApBEGogCigC9AQgCigC+AQgCRDyByAKKAIQIg0oAgQiAiANKAIMIgNGBEAgAiEGDAILIA0gAkGwAWoiBjYCBCAKQfAOaiIEIAJBsAH8CgAAIAooAuAPQX5GDQEgCkGYEWoiBSABIAkQ1wdBBCECIApB4AxqQQRyIgMgBCAFELIRIApBfjYCsA0gBSADQdwA/AoAAEGAAxCQASILRQ0LIAtBCzYCACALQQRqIAVB3AD8CgAAQQEhESAKQQE2AtgKIAogCzYC1AogCkEENgLQCgJAIA0oAgQiBiANKAIMIghGDQAgDSAGQbABaiIDNgIEIAQgBkGwAfwKAAAgCigC4A9BfkYEQCADIQYMAQsgCkHgDGpBBHIhBEHkACECQQEhBQJAA0AgCkGYEWoiAyABIAkQ1wcgBCAKQfAOaiADELIRIApBfjYCsA0gAyAEQdwA/AoAACAKKALQCiAFRgRAIApB0ApqIAVBAUEIQeAAELMRIAooAtQKIQsLIAIgC2oiA0EEa0ELNgIAIAMgCkGYEWpB3AD8CgAAIAogBUEBaiIRNgLYCiANKAIEIgYgDSgCDCIIRgRAIApBfjYC4A8MAgsgDSAGQbABaiIDNgIEIApB8A5qIAZBsAH8CgAAIAVBAWohBSACQeAAaiECIAooAuAPQX5HDQALIAMhBiAFIRELIAooAtQKIQsgCigC0AohAgsgCCAGa0GwAW4hBSAGIAhHBEADQCAGEJcEIAZBsAFqIQYgBUEBayIFDQALCyANKAIIIgYEQCANKAIAIgVBBGsoAgAiA0F4cSEHIAdBBEEIIANBA3EiBBsgBkGwAWwiA3JJDQggBEEARyAHIANBJ2pLcQ0JIAUQvAULIA1BBGsoAgAiBEEDcSEDIARBeHFBFEEYIAMbSQ0HIANBAEcgBEE4T3ENCCANELwFDAILDAkLIAMgBmtBsAFuIQUgAyAGRwRAA0AgBhCXBCAGQbABaiEGIAVBAWsiBQ0ACwsgDSgCCCIFBEAgDSgCACIEQQRrKAIAIgJBeHEhBiAGQQRBCCACQQNxIgMbIAVBsAFsIgJySQ0GIANBAEcgBiACQSdqS3ENByAEELwFCyANQQRrKAIAIgNBA3EhAiADQXhxQRRBGCACG0kNBSACQQBHIANBOE9xDQYgDRC8BUEIIQtBACECQQAhEQsgCigCqAoiAyAKKAKgCkYEQCAKQaAKahCrEgsgCigCpAogA0HMAGxqIgRBATYCACAEIAopAvwCNwIEIAQgCikChAM3AgwgBCAKKQKMAzcCFCAEIAopApQDNwIcIAQgCikCnAM3AiQgBCAKKQKkAzcCLCAEIAooAqwDNgI0IARBADoASCAEIBE2AkQgBCALNgJAIAQgAjYCPCAEQQA2AjggCiADQQFqNgKoCiAKQdAKaiAKQcAIakGQAvwKAAAgCkEIaiABKAIAIAEoAgQQ4QkgCiAKKAIMNgL0FCAKIAooAggiBDYC8BQgCkGYEWoiASAKQfAUaiAJENcHIAogCigCnAo2AvgOIAogCikClAo3A/AOQbABEJABIgNFDQcgCkGkDGohAiADIAFBsAH8CgAAIAooAvgOIgEgCigC8A5GBEAgCkHwDmoQpRILIAIgCikD8A43AgAgAiABQQFqNgIIIAooAvQOIAFB4ABsaiIBQX42AlAgASADNgIEIAFBAzYCACAKQeAMaiAKQdAKakGQAvwKAAAgBCAEKAIAIgFBAWs2AgAgAUEBRgRAIAQQMAsgCigChAUhAiAKKAKABSEHQQAhEkHA8MkAAn5B0PDJAC0AAARAQcjwyQApAwAhMkHA8MkAKQMADAELIApBmBFqELsRQdDwyQBBAToAAEHI8MkAIAopA6ARIjI3AwAgCikDmBELIjFCAXw3AwAgCkGYqckAKQMANwP4DiAKQZCpyQApAwA3A/AOIApBwA9qIApBsANqQbAB/AoAACAKIA42AoQRIAogGDYCgBEgCiAJNgL8ECAKQgA3A/AQIApCgICAgBA3A7gPIApBADYCoA8gCkEANgKQDyAKIDI3A4gPIAogMTcDgA8gCiAHNgKwDyAKIAcgAkEYbGo2ArQPIAogCkH0Amo2AvgQIApBkBRqIgMgCkHwDmoiARCfAgJAAkAgCigCkBRBf0cEQEGAAxCQASILRQ0LIAsgA0HgAPwKAAAgCkEBNgKMFCAKIAs2AogUIApBBDYChBQgCkGYEWogAUGYAvwKAABB4AAhBUEBIQYDQCAKQfAUaiAKQZgRahCfAiAKKALwFEF/RwRAIAooAoQUIAZGBEBBACELIAooArgRBEAgCigCxBEgCigCvBFrQRRuIQsLIApBhBRqIAooAuQRIAooAuARayEDIAooAqQRRSEBIAooAsgRBEAgCigC1BEgCigCzBFrQRRuIAtyIQsLIAYgAyABIAtBAEdxIgEgASADSxtBAWpBCEHgABCzESAKKAKIFCELCyAFIAtqIApB8BRqQeAA/AoAACAKIAZBAWoiBjYCjBQgBUHgAGohBQwBCwsgCkGYEWoQnAogCigChBQhEgwBCyAKQfAOahCcCkEIIQtBACEGC0GQAhCQASIDRQ0IIAMgCkHgDGpBkAL8CgAAIA5BAEgNAyAORQRAQQEhBUEBIQgMAQsgDhCQASIFRQ0HIA5FIgFFBEAgBSAYIA78CgAACyAOEJABIghFDQcgAQ0AIAggGCAO/AoAAAwACyAAQX42AiwgACAONgIoIAAgBTYCJCAAIA42AiBBACEFIABBADYCHCAAQoCAgIDAADcCFCAAIAM2AgggAEKBgICAIDcCACAAIA42AlQgACAINgJQIAAgDjYCTCAAQQA6AEggACAGNgJEIAAgCzYCQCAAIBI2AjwgAEEANgI4IAIEQCAHQRRqIQYDQCAHIAVBGGxqIQMCQAJAAkACQAJAIAZBFGsoAgAOAgECAAsgBigCACIAKAIAIQEgACABQQFrNgIAIAFBAUcNAyADQRRqIQsMAgsgBkEQaygCACIAKAIAIQEgACABQQFrNgIAIAFBAUcNAiADQQRqIQsMAQsgBigCACIAKAIAIQEgACABQQFrNgIAIAYhCyABQQFHDQELIAsoAgAQMAsgBUEBaiEFIAZBGGohBiACQQFrIgINAAsLIAooAvwEIgIEQCAHQQRrKAIAIgBBeHEhAyADQQRBCCAAQQNxIgEbIAJBGGwiAGpJDQUgAUEARyADIABBJ2pLcQ0GIAcQvAULIAooAvQEIQQgCigC+AQiCwRAIARBFGohBkEAIQUDQCAEIAVBGGxqIQICQAJAAkACQAJAIAZBFGsoAgAOAgECAAsgBigCACIAKAIAIQEgACABQQFrNgIAIAFBAUcNAyACQRRqIQIMAgsgBkEQaygCACIAKAIAIQEgACABQQFrNgIAIAFBAUcNAiACQQRqIQIMAQsgBigCACIAKAIAIQEgACABQQFrNgIAIAYhAiABQQFHDQELIAIoAgAQMAsgBUEBaiEFIAZBGGohBiALQQFrIgsNAAsLAkAgCigC8AQiAgRAIARBBGsoAgAiAEF4cSEDIANBBEEIIABBA3EiARsgAkEYbCIAakkNBiABQQBHIAMgAEEnaktxDQEgBBC8BQsgDCAMKAIAIgBBAWs2AgAgAEEBRw0CIAwQMAwCCwwFC0HIARCQASIFRQ0GIAUgCzYCvAEgBSAENgK4ASAFQQE2AgwgBSACNgIIIAVCgoCAgBA3AwAgBSAErTcDwAEgCigCpA4iAyAKKAKcDkYEQCAKQZwOahClEgsgCigCoA4gA0HgAGxqIgJBfjYCUCACIAU2AgQgAkEGNgIAIAogA0EBajYCpA4gCkHwDmogCkHgDGoiBkGQAvwKAAAgCkHgAGogEgR/IApBxBBqIQUgCkHsEmohBCANIQYgEiELA0AgCkGYEWogCkHwDmpBkAL8CgAAIApB0ApqIgIgBiAJQQAQiQIgCiAFKAIINgLICCAKIAUpAgA3A8AIQbABEJABIgNFDQggAyACQbAB/AoAACAKKALICCICIAooAsAIRgRAIApBwAhqEKUSCyAEIAopA8AINwIAIAQgAkEBajYCCCAKKALECCACQeAAbGoiAkF+NgJQIAIgAzYCBCACQQM2AgAgCkHwDmoiAiAKQZgRakGQAvwKAAAgBkEUaiEGIAtBAWsiCw0ACyACBSAGC0GQAvwKAAACQCATQX9GDQAgFQRAIBVB2ABsIQIgCkGoE2ohFSAKQfgSaiEFIAEhBgNAIBUgBkHYAPwKAAAgCkGYEWogCkHgAGpBkAL8CgAAIAooAoATIgMgCigC+BJGBEAgBRCrEgsgCigC/BIgA0HMAGxqIBVBzAD8CgAAIAogA0EBajYCgBMgCkHgAGogCkGYEWpBkAL8CgAAIAooAvQTIhcEQCAKKAL4EyIEQQRrKAIAIgNBeHEhCyALQQRBCCADQQNxIgMbIBdqSQ0HIANBAEcgCyAXQSdqS3ENCCAEELwFCyAGQdgAaiEGIAJB2ABrIgINAAsLIBNFDQAgAUEEaygCACICQXhxIQQgBEEEQQggAkEDcSIDGyATQdgAbCICakkNBCADQQBHIAQgAkEnaktxDQUgARC8BQsgDSASQRRsaiEgIBYgEUEUbGohIQJAIBIgESARIBJLGyIDRQRAQQghEiANIQsgFiEGDAELIANB4ABsEJABIhJFDQggCkGYEWoiAUEEaiEpIAFB8ABqIRogCkHAC2ohFyAKQbQDaiEeIA5BAE4hBCADIRUgEiEBIA0hCyAWIQYDQEECIQ8CQCAGICFGBEBBAiEQDAELIAYoAgAhECAKIAYpAgw3A6ARIAogBikCBDcDmBEgBkEUaiEGCyAKIAopA6ARNwPYCiAKIAopA5gRNwPQCiALICBHBEAgCygCECERIAspAgghMSALKAIEIRMgCygCACEPIAtBFGohCwsgHiAKKQPYCjcCCCAeIAopA9AKNwIAIAogEDYCsAMCQAJAAkAgBwRAIAhBAEgNByAIRQRAQQEhBQwDCyAIEJABIgUNAQwLCyAKQdAKaiAKQbADaiAJQQAQiQIMAgsgCEUNACAFIAcgCPwKAAALAkACQAJ/IBBBAUYEQCApIB4oAgg2AgggKSAeKQIANwIAIAogCigCwANBCGo2ApgRIApBMGogCkGYEWoQ6gkgCigCNCEQIAooAjAMAQsgCigCtAMiFCAKKALAAyIfKAIQIgJPDQEgHygCDCAUQeQAbGoiAigCAARAIAIoAgQiAiAfKAJwTw0DIB8oAmwgAkEEdGoiAigCCCEQIAIoAgQMAQsgCkE4aiAfQQhqIBQQ0BAgCigCPCEQIAooAjgLIQIgEEEASA0GAkAgEEUEQEEBIRwMAQsgEBCQASIcRQRADAwLIBBFDQAgHCACIBD8CgAACyAKQX82AsALIAogEDYCvAsgCiAcNgK4CyAKIBA2ArQLIApBfjYCqAsgCkH/AToA9AsgCkF8NgLgCiAKQQA6APwLIApBADsB+gsgCkF+NgLQCiAXENcFIApBfjYC6AsgCkKAgICAYDcD2AsgCkKAgICAwAA3A9ALIAogCDYCzAsgCiAFNgLICyAKIAg2AsQLIApBADYCwAsMAgsgFCACQeT2yAAQhRMAC0GkuMQAEJ0VAAsgBEUNAwJAIA5FBEBBASEFDAELIA4QkAEiBUUNCCAORQ0AIAUgGCAO/AoAAAsCQAJAAkACfyAPQQFGBEAgCiAxNwLICCAKIBM2AsQIIAogEUEIajYCwAggCkEgaiAKQcAIahDqCSAKKAIkIRAgCigCIAwBCyARKAIQIgIgE00NASARKAIMIBNB5ABsaiICKAIABEAgAigCBCICIBEoAnBPDQMgESgCbCACQQR0aiICKAIIIRAgAigCBAwBCyAKQShqIBFBCGogExDQECAKKAIsIRAgCigCKAshAiAQQQBIDQYgEEUEQEEBIRsMAwsgEBCQASIbRQRADAsLIBBFDQIgGyACIBD8CgAADAILIBMgAkHk9sgAEIUTAAtBpLjEABCdFQALIApBfzYCiBIgCiAQNgKEEiAKIBs2AoASIAogEDYC/BEgCkF+NgLwESAKQf8BOgC8EiAKQXw2AqgRIApBADoAxBIgCkEAOwHCEiAKQX42ApgRIBoQ1wUgCkF+NgKwEiAKQoCAgIBgNwOgEiAKQoCAgIDAADcDmBIgCiAONgKUEiAKIAU2ApASIAogDjYCjBIgCkEANgKIEiAKQbAGaiICIApB0ApqEM8TQeAAEJABIhRFDQggFCACQeAA/AoAACAKQcAIaiICIApBmBFqEM8TQeAAEJABIg9FDQggDyACQeAA/AoAACARIBEoAgAiAkEBazYCACACQQFGBEAgERAwCyAKKALAAyICKAIAIQUgAiAFQQFrNgIAIAVBAUYEQCAKKALAAxAwCyABQdAAakF+NgIAIAFBDGogDzYCACABQQhqIBQ2AgAgAUKLgICAgICAgIB/NwMAIAFB4ABqIQEgFUEBayIVDQALICEgBmtBFG4hEQsgBiAhRwRAIAZBEGohBgNAIAYoAgAiASgCACECIAEgAkEBazYCACACQQFGBEAgBigCABAwCyAGQRRqIQYgEUEBayIRDQALCyAZBEAgFkEEaygCACIBQXhxIQQgBEEEQQggAUEDcSICGyAZQRRsIgFqSQ0EIAJBAEcgBCABQSdqS3ENBSAWELwFCyAgIAtrQRRuIQUgCyAgRwRAIAtBEGohBgNAIAYoAgAiASgCACECIAEgAkEBazYCACACQQFGBEAgBigCABAwCyAGQRRqIQYgBUEBayIFDQALCyAdBEAgDUEEaygCACIBQXhxIQQgBEEEQQggAUEDcSICGyAdQRRsIgFqSQ0EIAJBAEcgBCABQSdqS3ENBSANELwFC0GQAhCQASICRQ0GIAIgCkHgAGpBkAL8CgAAIA5BAEgNAQJAIA5FBEBBASEFQQEhCwwBCyAOEJABIgVFDQYgDkUiAUUEQCAFIBggDvwKAAALIA4QkAEiC0UNBiABDQAgCyAYIA78CgAACyAAIA42AlQgACALNgJQIAAgDjYCTCAAQQA6AEggACADNgJEIAAgEjYCQCAAIAM2AjwgAEEANgI4IABBfjYCLCAAIA42AiggACAFNgIkIAAgDjYCICAAQQA2AhwgAEKAgICAwAA3AhQgACACNgIIIABCgYCAgCA3AgALICoEQCAYQQRrKAIAIgBBeHEhASABQQRBCCAAQQNxIgAbICpqSQ0DIABBAEcgASAqQSdqS3ENBCAYELwFCyAKQdAVaiQADwsQnhUACwALQdCcyQBBLkGAnckAEK8UAAtBkJ3JAEEuQcCdyQAQrxQAC0EBEKcUAAtBuPDJAEEBOgAAAAtBCBCnFAALxkQBF38jAEGAAmsiAyQAAkACQAJAAkACQAJAAkACQAJAAkACQAJ/AkAgAigC9AEiEUUNAEEFEJABIgQEQCAEQciBxgAtAAA6AAQgBEHEgcYAKAAANgAAIANBBTYCcCADIAQ2AmwgA0EFNgJoIAEgA0HoAGoQ/A0gEUEBayEOIAIoAvABIgcgEUEFdCIJaiEKIANB0AFqIQYgAigC7AEhCANAAkAgBSAHaiIEQSBqIQsCQAJAAkACQCAEKAIAIg1BAkcEQCAGIARBHGooAgA2AhggBiAEQRRqKQIANwIQIAYgBEEMaikCADcCCCAGIARBBGopAgA3AgAgAyANNgLMASADQegAaiABIANBzAFqELgCIAMoAmhBfkcNAiAMIA5JDQEMBAsgCiALRg0EIARBIGohBCAJIAVrQSBrQQV2IQYDQCAEEPcFIARBIGohBCAGQQFrIgYNAAsMBAtBAhCQASIERQ0QIARBrMAAOwAAIANBAjYCcCADIAQ2AmwgA0ECNgJoIAEgA0HoAGoQ/A0MAgsgACADKQKQATcCKCAAIAMpAogBNwIgIAAgAykCgAE3AhggACADKQJ4NwIQIAAgAykCcDcCCCAAIAMpAmg3AgAgCiALRwRAIARBIGohBCAJIAVrQSBrQQV2IQEDQCAEEPcFIARBIGohBCABQQFrIgENAAsLQQEhACAIRQ0AIAdBBGsoAgAiBEF4cSEBAkAgASAIQQV0IgVBBEEIIARBA3EiBBtySQ0OIARBAEcgASAFQSdqS3ENACAHELwFDAELDA4LQQEhBkEBIQhBASEJQQEhB0EBIQxBASEKQQEhDkEBIQ9BAQwFCyAMQQFqIQwgCSAFQSBqIgVHDQELCwJAIAgEQCAHQQRrKAIAIgVBeHEhBCAEIAhBBXQiBkEEQQggBUEDcSIFG3JJDQsgBUEARyAEIAZBJ2pLcQ0MIAcQvAULQQEQkAEiBEUNACAEQSA6AAAgA0EBNgJwIAMgBDYCbCADQQE2AmggASADQegAahD8DQwCCwwMC0EBEKcUAAtBBxCQASIERQRAQQEQpxQACyARRSEVIARB34HGACgAADYAAyAEQdyBxgAoAAA2AAAgA0EHNgJwIAMgBDYCbCADQQc2AmggASADQegAahD8DUEBIQ8CQAJAAkACQAJAIAIoAvgBIgZBAmoOAgQBAAsgAigCgAIhByACKAL8ASEIQQwQkAEiBA0BQQEQpxQAC0EJEJABIgRFDQFBACEPIARB64HGAC0AADoACCAEQeOBxgApAAA3AAAgA0EJNgJwIAMgBDYCbCADQQk2AmggASADQegAahD8DQwCCyAEQfSBxgAoAAA2AAggBEHsgcYAKQAANwAAIANBDDYCcCADIAQ2AmwgA0EMNgJoIAEgA0HoAGoiBBD8DUEBEJABIgVFDQwgBUEoOgAAIANBATYCcCADIAU2AmwgA0EBNgJoIAEgBBD8DSADIAc2AtQBIAMgCDYC0AEgAyAGNgLMASAEIAEgA0HMAWoQ1AYgAygCaCIFQX5GBEBBAhCQASIFRQ0MIAVBqcAAOwAAIANBAjYCcCADIAU2AmwgA0ECNgJoIAEgBBD8DUEAIQ8MAgsgACADKAKUATYCLCAAIAMpAowBNwIkIAAgAykChAE3AhwgACADKQJ8NwIUIAAgAykCdDcCDCAAIAMpAmw3AgQgACAFNgIAQQEhAEEBIQZBASEIQQEhCUEBIQdBASEMQQEhDkEBIQsMAwtBARCnFAALIAIoAsQBIhNFIgQhDgJAAkACQAJAAkAgAigCuAEiDUUEQAJAIARFBEAgA0HoAGogASACQbwBahDUBiADKAJoQX5GDQEMBwtBAhCQASIERQ0QIARBoNQAOwAAIANBAjYCcCADIAQ2AmwgA0ECNgJoIAEgA0HoAGoQ/A0LQQEhBkEBIQhBASEJQQEhB0EBIQwMBAsCQCATBEAgA0HoAGogASACQbwBahDUBiADKAJoQX5GDQEMBgsgDUE0bCEMIAIoArQBIQpBACEEA0ACQCAERQ0AQQIQkAEiBQRAIAVBrMAAOwAAIANBAjYCcCADIAU2AmwgA0ECNgJoIAEgA0HoAGoQ/A0MAQsMEQsgBCAKaiIJQRxqKAIAIQUCQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQCAJKAIAQQFrDgMBAgIACyAFQX5HDQgMCQsgBUF+Rw0BDAILAkACQCAFQX5HBEBBARCQASIFRQ0hIAVBIjoAACADQQE2AnAgAyAFNgJsIANBATYCaCABIANB6ABqIgUQ/A0gA0EANgLUASADQoCAgIAQNwLMASADQfzOxQA2AmwgA0KggICABjcCcCAJQSBqKAIAIQYgCUEkaigCACEHIAMgA0HMAWo2AmggBSAGIAcQnQQNIiADIAMoAtQBNgJAIAMgAykCzAE3AzggASADQThqEPwNQQEQkAEiBQ0BDCELQQEQkAEiBUUNICAFQSo6AAAgA0EBNgJwIAMgBTYCbCADQQE2AmggASADQegAahD8DQwOCyAFQSI6AAAgA0EBNgJwIAMgBTYCbCADQQE2AmggASADQegAaiIGEPwNQQIQkAEiBUUNACAFQa7UADsAACADQQI2AnAgAyAFNgJsIANBAjYCaCABIAYQ/A0MDQsMHQtBfyEGIAlBJGooAgAhByAJQSBqKAIAIQgCQCAFQX9GBEAgCCEFDAELIAdFBEBBACEGQQEhBQwBCyAHEJABIgVFDQMgBwRAIAUgCCAH/AoAAAsgByIGQX5GDQELQQEQkAEiCEUNHSAIQSI6AAAgA0EBNgJwIAMgCDYCbCADQQE2AmggASADQegAaiIIEPwNIANBADYC1AEgA0KAgICAEDcCzAEgA0H8zsUANgJsIANCoICAgAY3AnAgAyADQcwBajYCaCAIIAUgBxCdBA0eIAMgAygC1AE2AkAgAyADKQLMATcDOCABIANBOGoQ/A1BARCQASIHDQEMHQsgA0EEaiAJEOgCQX8hByAJQQRqKAIAIgUoAgghBiAFKAIEIQgCQCAFKAIAQX9GBEAgCCEFDAELIAZFBEBBASEFQQAhBwwBCyAGEJABIgVFDQMgBgRAIAUgCCAG/AoAAAsgBiEHCyADQQRqIggQeCADIAY2AhAgAyAFNgIMIAMgBzYCCCADQQA2AgQgA0HoAGoiBiABIAhBABDHASADKAJoQX5GBEBBAhCQASIFRQ0cIAVBrtQAOwAAIANBAjYCcCADIAU2AmwgA0ECNgJoIAEgBhD8DQwLCyAAIAMpApABNwIoIAAgAykCiAE3AiAgACADKQKAATcCGCAAIAMpAng3AhAgACADKQJwNwIIIAAgAykCaDcCAAwGCyAHQSI6AAAgA0EBNgJwIAMgBzYCbCADQQE2AmggASADQegAahD8DUECEJABIgcNAgwaC0EBEKcUAAtBARCnFAALIAdBrtQAOwAAIANBAjYCcCADIAc2AmwgA0ECNgJoIAEgA0HoAGoQ/A0gBkEBa0F8Sw0GIAVBBGsoAgAiCEF4cSEHAkAgB0EEQQggCEEDcSIIGyAGakkNFiAIQQBHIAcgBkEnaktxDQAgBRC8BQwHCwwWC0F/IQYgCUEkaigCACEHIAlBIGooAgAhCAJAIAVBf0YEQCAIIQUMAQsgB0UEQEEAIQZBASEFDAELIAcQkAEiBUUNBCAHBEAgBSAIIAf8CgAACyAHIgZBfkYNAQtBARCQASIIRQ0XIAhBIjoAACADQQE2AnAgAyAINgJsIANBATYCaCABIANB6ABqIggQ/A0gA0EANgLUASADQoCAgIAQNwLMASADQfzOxQA2AmwgA0KggICABjcCcCADIANBzAFqNgJoIAggBSAHEJ0EDRggAyADKALUATYCQCADIAMpAswBNwM4IAEgA0E4ahD8DUEBEJABIgcNAgwXCyADQegAaiIFIAkQ6AIgA0HMAWogASAFQQAQxwEgAygCzAFBfkYEQEECEJABIgZFDRYgBkGu1AA7AAAgA0ECNgJwIAMgBjYCbCADQQI2AmggASAFEPwNDAULIAAgAykC9AE3AiggACADKQLsATcCICAAIAMpAuQBNwIYIAAgAykC3AE3AhAgACADKQLUATcCCCAAIAMpAswBNwIAC0EBIQBBASEGQQEhCEEBIQlBASEHQQEhDEEBIQpBASEOQQEMCwsgB0EiOgAAIANBATYCcCADIAc2AmwgA0EBNgJoIAEgA0HoAGoQ/A1BAhCQASIHDQEMEwtBARCnFAALIAdBrtQAOwAAIANBAjYCcCADIAc2AmwgA0ECNgJoIAEgA0HoAGoQ/A0gBkEBa0F8Sw0AIAVBBGsoAgAiCEF4cSEHIAdBBEEIIAhBA3EiCBsgBmpJDQ8gCEEARyAHIAZBJ2pLcQ0QIAUQvAULIAwgBEE0aiIERw0ACwtBBhCQASIEBEAgBEH8gcYALwAAOwAEIARB+IHGACgAADYAACADQQY2AnAgAyAENgJsIANBBjYCaCABIANB6ABqIgYQ/A0gAigCtAEiBUE0aiEEIAUgDUE0bGohByACKAKwASEIIAUoAgAiCUF/Rg0CIAMgCTYCaCADIAUpAgQ3AmwgAyAFKQIMNwJ0IAMgBSkCFDcCfCADIAUpAhw3AoQBIAMgBSkCJDcCjAEgAyAFKQIsNwKUASADQcwBaiABIAZBARDHASADKALMAUF+Rw0BIA1BAUYNAyADQewAaiEGA0AgBCgCACIMQX9GBEAgBEE0aiEEDAQLIAMgBEEsaikCADcDYCADIARBJGopAgA3A1ggAyAEQRxqKQIANwNQIAMgBEEUaikCADcDSCADIARBDGopAgA3A0AgAyAEQQRqKQIANwM4QQIQkAEiCUUEQAwRCyAJQazAADsAACADQQI2AnAgAyAJNgJsIANBAjYCaCABIANB6ABqIgkQ/A0gBiADKQM4NwIAIAYgAykDQDcCCCAGIAMpA0g3AhAgBiADKQNQNwIYIAYgAykDWDcCICAGIAMpA2A3AiggAyAMNgJoIANBzAFqIAEgCUEBEMcBIAMoAswBQX5HBEAgBEE0aiEEDAMLIAcgBEE0aiIERw0ACwwDC0EBEKcUAAsgACADKQL0ATcCKCAAIAMpAuwBNwIgIAAgAykC5AE3AhggACADKQLcATcCECAAIAMpAtQBNwIIIAAgAykCzAE3AgAgByAEa0E0biEBIAQgB0cEQANAIAQQ4QIgBEE0aiEEIAFBAWsiAQ0ACwtBACEKQQEhAAJAIAhFDQAgBUEEaygCACIEQXhxIQECQCABIAhBNGwiBkEEQQggBEEDcSIEG2pJDQ0gBEEARyABIAZBJ2pLcQ0AIAUQvAUMAQsMDQtBASEGQQEhCEEBIQlBASEHQQEhDEEBDAQLIAcgBGtBNG4hBiAEIAdGDQADQCAEEOECIARBNGohBCAGQQFrIgYNAAsLAkACQAJ/AkAgCARAIAVBBGsoAgAiBkF4cSEEIAQgCEE0bCIHQQRBCCAGQQNxIgYbakkNDiAGQQBHIAQgB0EnaktxDQ8gBRC8BQsCQCACKALoASIERQ0AIANB6ABqIAEgAkHgAWoQuQMgAygCaEF+Rg0AIAAgAykCkAE3AiggACADKQKIATcCICAAIAMpAoABNwIYIAAgAykCeDcCECAAIAMpAnA3AgggACADKQJoNwIAQQAhDEEBIQZBASEIQQEhCUEBIQdBAQwCCyAERSEMAkACQAJAIAIoAgBBf0YiBw0AQQcQkAEiBEUNAUEAIQogBEGBgsYAKAAANgADIARB/oHGACgAADYAACADQQc2AnAgAyAENgJsIANBBzYCaCABIANB6ABqIgQQ/A0gBCABIAIQ+wEgAygCaEF+Rg0AIAAgAykCkAE3AiggACADKQKIATcCICAAIAMpAoABNwIYIAAgAykCeDcCECAAIAMpAnA3AgggACADKQJoNwIAQQEhAEEBIQZBASEIQQEhCUEAIQdBAQwJCwJAIAIoAtwBIglFDQBBChCQASIERQ0CQQAhBiAEQY2CxgAvAAA7AAggBEGFgsYAKQAANwAAIANBCjYCcCADIAQ2AmwgA0EKNgJoIAEgA0HoAGoiBBD8DSAJQQFrIRYgAigC2AEiCiAJQeAAbCILaiESIARBBHIhFyACKALUASEIQQAhBQNAAkAgBiAKaiIEQeAAaiEQAkACQAJAIAQoAgAiFEF/RwRAIBcgBEEEakHcAPwKAAAgAyAUNgJoIANBzAFqIAEgA0HoAGoQyQEgAygCzAEiFEF+Rw0CIAUgFkkNAQwDCyAQIBJGDQMgBEG0AWohBCALIAZrQeAAa0HgAG4hBgNAIARB1ABrEK0BIARBBGsoAgAiBUEASgRAIAQoAgAiEkEEaygCACIQQXhxIQsgC0EEQQggEEEDcSIQGyAFakkNFyAQQQBHIAsgBUEnaktxDRggEhC8BQsgBEHgAGohBCAGQQFrIgYNAAsMAwtBAhCQASIERQ0WIARBrMAAOwAAIANBAjYC1AEgAyAENgLQASADQQI2AswBIAEgA0HMAWoQ/A0MAQsgAyADKAL4ATYCYCADIAMpAvABNwNYIAMgAykC6AE3A1AgAyADKQLgATcDSCADIAMpAtgBNwNAIAMgAykC0AE3AzggECASRwRAIARBtAFqIQQgCyAGa0HgAGtB4ABuIQEDQCAEQdQAaxCtASAEQQRrKAIAIgVBAEoEQCAEKAIAIglBBGsoAgAiC0F4cSEGIAZBBEEIIAtBA3EiCxsgBWpJDRYgC0EARyAGIAVBJ2pLcQ0XIAkQvAULIARB4ABqIQQgAUEBayIBDQALCyAIBEAgCiAIQeAAbBDZEgsgACAUNgIAIAAgAykDODcCBCAAIAMpA0A3AgwgACADKQNINwIUIAAgAykDUDcCHCAAIAMpA1g3AiQgACADKAJgNgIsQQAhCUEBIQZBASEIQQEMBwsgBUEBaiEFIAsgBkHgAGoiBkcNAQsLIAhFDQAgCiAIQeAAbBDZEgsgCUUhCSACKAIQQX9GIggNAkEIEJABIgQEQCAEQqCQhbKVydOjIDcAACADQQg2AnAgAyAENgJsIANBCDYCaCABIANB6ABqIgQQ/A0gBCABIAJBEGoQ+wEgAygCaEF+Rg0DIAAgAykCkAE3AiggACADKQKIATcCICAAIAMpAoABNwIYIAAgAykCeDcCECAAIAMpAnA3AgggACADKQJoNwIAQQAhCEEBIQZBAQwEC0EBEKcUAAtBARCnFAALQQEQpxQACyACKALQASIFRQ0BQQoQkAEiBEUNAkEAIQYgBEGXgsYALwAAOwAIIARBj4LGACkAADcAACADQQo2AnAgAyAENgJsIANBCjYCaCABIANB6ABqIgQQ/A0gBCABIAJByAFqELUFIAMoAmhBfkYNASAAIAMpApABNwIoIAAgAykCiAE3AiAgACADKQKAATcCGCAAIAMpAng3AhAgACADKQJwNwIIIAAgAykCaDcCAEEACxpBASEAQQAhCkEBDAQLIAVFIQYgA0HoAGogASACQSBqIAJB6ABqEK0KIAMoAmhBfkYNASAAIAMpApABNwIoIAAgAykCiAE3AiAgACADKQKAATcCGCAAIAMpAng3AhAgACADKQJwNwIIIAAgAykCaDcCAEEAIQBBACEKQQEMAwtBARCnFAALAkAgAigChAIiBUF+Rg0AIAIoAowCIQogAigCiAIhC0EBEJABIgQEQCAEQSA6AAAgA0EBNgJwIAMgBDYCbCADQQE2AmggASADQegAaiIEEPwNIAMgCjYC1AEgAyALNgLQASADIAU2AswBIAQgASADQcwBahCYDSADKAJoQX5GDQEgACADKQKQATcCKCAAIAMpAogBNwIgIAAgAykCgAE3AhggACADKQJ4NwIQIAAgAykCcDcCCCAAIAMpAmg3AgAgDUUiACEKQQAMAwsMDAsgAEF+NgIAAkAgDQ0AIAIoArABIgFFDQAgAigCtAEiBEEEaygCACIFQXhxIQACQCAAIAFBNGwiAUEEQQggBUEDcSIFG2pJDQogBUEARyAAIAFBJ2pLcQ0AIAQQvAUMAQsMCgsCQCATDQAgAigCvAEiAUUNACACKALAASIEQQRrKAIAIgVBeHEhAAJAIAAgAUHgAGwiAUEEQQggBUEDcSIFG3JJDQogBUEARyAAIAFBJ2pLcQ0AIAQQvAUMAQsMCgsgAigCAEF/RyAHcQRAIAIQnQYLAkAgBkUNACACKALMASEAAkAgAigC0AEiAQRAIAAhBANAIAQQrQEgBEHQAGooAgAiBUEASgRAIARB1ABqKAIAIgdBBGsoAgAiCkF4cSEGIAZBBEEIIApBA3EiChsgBWpJDQ0gCkEARyAGIAVBJ2pLcQ0OIAcQvAULIARB6ABqIQQgAUEBayIBDQALCyACKALIASIERQ0BIABBBGsoAgAiBUF4cSEBIAEgBEHoAGwiBEEEQQggBUEDcSIFG2pJDQogBUEARyABIARBJ2pLcQ0AIAAQvAUMAQsMCgsCQCAJRQ0AIAIoAtgBIQACQCACKALcASIBBEAgACEEA0AgBBCtASAEQdAAaigCACIFQQBKBEAgBEHUAGooAgAiB0EEaygCACIJQXhxIQYgBkEEQQggCUEDcSIJGyAFakkNDSAJQQBHIAYgBUEnaktxDQ4gBxC8BQsgBEHgAGohBCABQQFrIgENAAsLIAIoAtQBIgRFDQEgAEEEaygCACIFQXhxIQEgASAEQeAAbCIEQQRBCCAFQQNxIgUbckkNCiAFQQBHIAEgBEEnaktxDQAgABC8BQwBCwwKCyACKAIQQX9HIAhxBEAgAkEQahCdBgsCQCANDQACQCACKAIgIgBBfUYNACACQTBqEP8CIABBAEwNACACKAIkIAAQ2RILIAIoAmgiAEF9Rg0AIAJB+ABqEP8CIABBAEwNACACKAJsIAAQ2RILAkAgDEUNACACKALkASEAIAIoAugBIgEEQCAAQThqIQQDQCAEQTRrEOECIAQQnQYgBEHMAGohBCABQQFrIgENAAsLIAIoAuABIgRFDQAgAEEEaygCACIFQXhxIQECQCABIARBzABsIgRBBEEIIAVBA3EiBRtqSQ0KIAVBAEcgASAEQSdqS3ENACAAELwFDAELDAoLIBENByACKALsASIERQ0HIAIoAvABIgFBBGsoAgAiAkF4cSEAIARBBXQiBEEEQQggAkEDcSICG3IgAE0EQCACRQ0HIAAgBEEnak0NBwwKCwwICyAAIAMpApABNwIoIAAgAykCiAE3AiAgACADKQKAATcCGCAAIAMpAng3AhAgACADKQJwNwIIIAAgAykCaDcCAEEAIQ5BASEAQQEhBkEBIQhBASEJQQEhB0EBIQxBASEKQQELIQsCQAJAIA9FDQAgAigC+AEiDUF+Rg0AAkACQCANQX9GDQAgAigC/AEhBSACKAKAAiIBBEAgBSEEA0AgBBCtASAEQdAAaigCACIPQQBKBEAgBEHUAGooAgAiEkEEaygCACIQQXhxIRMgE0EEQQggEEEDcSIQGyAPakkNDSAQQQBHIBMgD0EnaktxDQ4gEhC8BQsgBEHgAGohBCABQQFrIgENAAsLIA1FDQAgBUEEaygCACIEQXhxIQEgASANQeAAbCINQQRBCCAEQQNxIgQbckkNCiAEQQBHIAEgDUEnaktxDQEgBRC8BQsgCkUNAgwDCwwJCyAKDQELIA5FDQIMAQsgAigCtAEhBSACKAK4ASIBBEAgBSEEA0AgBBDhAiAEQTRqIQQgAUEBayIBDQALCwJAIAIoArABIgQEQCAFQQRrKAIAIgpBeHEhASABIARBNGwiBEEEQQggCkEDcSIKG2pJDQcgCkEARyABIARBJ2pLcQ0BIAUQvAULIA4NAQwCCwwGCyACKALAASEFIAIoAsQBIgEEQCAFIQQDQCAEEK0BIARB0ABqKAIAIgpBAEoEQCAEQdQAaigCACINQQRrKAIAIg9BeHEhDiAOQQRBCCAPQQNxIg8bIApqSQ0HIA9BAEcgDiAKQSdqS3ENCCANELwFCyAEQeAAaiEEIAFBAWsiAQ0ACwsgAigCvAEiBEUNACAFQQRrKAIAIgpBeHEhASABIARB4ABsIgRBBEEIIApBA3EiChtySQ0EIApBAEcgASAEQSdqS3ENBSAFELwFCyAHRQ0AIAIoAgBBf0YNACACEJ0GDAALAkAgBkUNACACKALMASEFAkAgAigC0AEiAQRAIAUhBANAIAQQrQEgBEHQAGooAgAiBkEASgRAIARB1ABqKAIAIgpBBGsoAgAiDkF4cSEHIAdBBEEIIA5BA3EiDhsgBmpJDQcgDkEARyAHIAZBJ2pLcQ0IIAoQvAULIARB6ABqIQQgAUEBayIBDQALCyACKALIASIERQ0BIAVBBGsoAgAiBkF4cSEBIAEgBEHoAGwiBEEEQQggBkEDcSIGG2pJDQQgBkEARyABIARBJ2pLcQ0AIAUQvAUMAQsMBAsCQCAJRQ0AIAIoAtgBIQUCQCACKALcASIBBEAgBSEEA0AgBBCtASAEQdAAaigCACIGQQBKBEAgBEHUAGooAgAiCUEEaygCACIKQXhxIQcgB0EEQQggCkEDcSIKGyAGakkNByAKQQBHIAcgBkEnaktxDQggCRC8BQsgBEHgAGohBCABQQFrIgENAAsLIAIoAtQBIgRFDQEgBUEEaygCACIGQXhxIQEgASAEQeAAbCIEQQRBCCAGQQNxIgYbckkNBCAGQQBHIAEgBEEnaktxDQAgBRC8BQwBCwwECyACKAIQQX9HIAhxBEAgAkEQahCdBgsCQAJAIABFDQACQCACKAIgIgBBfUYNACACQTBqEP8CIABBAEwNACACKAIkIgRBBGsoAgAiBUF4cSEBIAFBBEEIIAVBA3EiBRsgAGpJDQUgBUEARyABIABBJ2pLcQ0GIAQQvAULIAIoAmgiAEF9Rg0AIAJB+ABqEP8CIABBAEwNACACKAJsIgRBBGsoAgAiBUF4cSEBIAFBBEEIIAVBA3EiBRsgAGpJDQQgBUEARyABIABBJ2pLcQ0FIAQQvAULIAxFDQAgAigC5AEhACACKALoASIBBEAgAEE4aiEEA0AgBEE0axDhAiAEEJ0GIARBzABqIQQgAUEBayIBDQALCyACKALgASIERQ0AIABBBGsoAgAiBUF4cSEBIAEgBEHMAGwiBEEEQQggBUEDcSIFG2pJDQMgBUEARyABIARBJ2pLcQ0EIAAQvAUMAAsCQCAVRQ0AIAIoAvABIQAgEQRAIAAhBANAIAQQ9wUgBEEgaiEEIBFBAWsiEQ0ACwsgAigC7AEiBEUNACAAQQRrKAIAIgVBeHEhAQJAIAEgBEEFdCIEQQRBCCAFQQNxIgUbckkNBCAFQQBHIAEgBEEnaktxDQAgABC8BQwBCwwECyALIAIoAoQCIgBBfkdxRQ0BIABBf0YNASAARQ0BIAIoAogCIgFBBGsoAgAiBEF4cSECQQRBCCAEQQNxIgQbIABqIAJNBEAgBEUNASACIABBJ2pNDQEMBAsMAgsgARC8BQsgA0GAAmokAA8LQdCcyQBBLkGAnckAEK8UAAtBkJ3JAEEuQcCdyQAQrxQAC0EBEKcUAAtBARCnFAALQfC1yQBBNyADQf8BakHAzMUAQai2yQAQ2hIAC+RGAQ9/IwBB0AJrIgIkAAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAIAAtAABBAWsOMAECAykEKisFBgcICQoLMAwNDg8QERITFBUWMRcyGBkaGxwdHh8gITY3IiMkJSYnKAALIAEoAgBBnf3HAEEJIAEoAgQoAgwRAAAhAAw9CyABKAIAQab9xwBBEiABKAIEKAIMEQAAIQAMPAsgASgCAEG4/ccAQQUgASgCBCgCDBEAACEADDsLIAEoAgBBvf3HAEEIIAEoAgQoAgwRAAAhAAw6CyAAKAIIIgMgACgCBCIEQaACaigCACIFTw07IAAoAgwiACAEQZwCaigCACADQSRsaiIDQSBqKAIAIgRPDTwgA0EcaigCACAAQdQAbGoiACgCAEGCgICAeEcNPSACIAApAgg3AuABIAIgAkHgAWqtQoCAgIDQAYQ3A6gCIAEoAgAgASgCBEGAsMAAIAJBqAJqELEJIQAMOQtBBCEDQfCXyQAhBCAALQABQQFrDgImNycLIAAoAggiAyAAKAIEIgRBoAJqKAIAIgVPDTwgACgCDCIAIARBnAJqKAIAIANBJGxqIgNBIGooAgAiBE8NPSADQRxqKAIAIABB1ABsaiIAKAIAQYCAgIB4Rw0+IAIgACkCCDcC4AEgAiACQeABaq1CgICAgNABhDcDqAIgASgCACABKAIEQZ6xwAAgAkGoAmoQsQkhAAw3CyAAKAIIIgMgACgCBCIEQaACaigCACIFTw07IAAoAgwiACAEQZwCaigCACADQSRsaiIDQSBqKAIAIgRPDTwgA0EcaigCACAAQdQAbGoiACgCAEGAgICAeEcNPSACIAApAgg3AuABIAIgAkHgAWqtQoCAgIDQAYQ3A6gCIAEoAgAgASgCBEGDr8AAIAJBqAJqELEJIQAMNgtBBCEDQfCXyQAhBCAALQABQQFrDgIlMyYLIAAoAggiAyAAKAIEIgRBoAJqKAIAIgVPDTkgACgCDCIAIARBnAJqKAIAIANBJGxqIgNBIGooAgAiBE8NOiADQRxqKAIAIABB1ABsaiIAKAIAQYCAgIB4Rw07IAIgACkCCDcC4AEgAiACQeABaq1CgICAgNABhDcDqAIgASgCACABKAIEQcOxwAAgAkGoAmoQsQkhAAw0CyAAKAIIIgMgACgCBCIEQaACaigCACIFTw04IAAoAgwiACAEQZwCaigCACADQSRsaiIDQSBqKAIAIgRPDTkgA0EcaigCACAAQdQAbGoiACgCAEGAgICAeEcNOiACIAApAgg3AuABIAIgAkHgAWqtQoCAgIDQAYQ3A6gCIAEoAgAgASgCBEHCr8AAIAJBqAJqELEJIQAMMwsgACgCCCIDIAAoAgQiBEGgAmooAgAiBU8NNyAAKAIMIgAgBEGcAmooAgAgA0EkbGoiA0EgaigCACIETw04IANBHGooAgAgAEHUAGxqIgAoAgBBgICAgHhHDTkgAiAAKQIINwLgASACIAJB4AFqrUKAgICA0AGENwOoAiABKAIAIAEoAgRB1K/AACACQagCahCxCSEADDILIAAoAggiAyAAKAIEIgRBoAJqKAIAIgVPDTMgACgCDCIAIARBnAJqKAIAIANBJGxqIgNBIGooAgAiBE8NNCADQRxqKAIAIABB1ABsaiIAKAIAQYKAgIB4Rw01IAIgACkCCDcC4AEgAiACQeABaq1CgICAgNABhDcDqAIgASgCACABKAIEQYXAwQAgAkGoAmoQsQkhAAwxC0EBIQUgACgCCCEEAkACQCAAKAIEQQFGBEAgACgCDCEGIAAoAhQiAygCACEHIAMgB0EBajYCACAHQQBODQEMNAsgACgCFCIDKAIQIgUgBE0NASADKAIMIARB5ABsaiIEKAJYIQYgBCgCVCEEIAMgAygCACIHQQFqNgIAQQAhBSAHQQBIDTMLIAIgBjYC7AEgAiAENgLoASACIAM2AuQBIAIgBTYC4AEgAkH0AWoiBCACQeABahD+CyACQegAaiAAQQRqEPAOIAIgAikDaDcCoAIgAiACQaACaq1CgICAgNABhDcDsAIgAiAErUKAgICAwAKENwOoAiABKAIAIAEoAgRB4bXAACACQagCahCxCSEAIAIoAvQBIgEEQCACKAL4ASABENkSCyADIAMoAgAiAUEBazYCACABQQFHDTEgAxAwDDELIAQgBUHk9sgAEIUTDDELIAAoAggiAyAAKAIEIgRBoAJqKAIAIgVPDSkgACgCDCIAIARBnAJqKAIAIANBJGxqIgNBIGooAgAiBE8NKiADQRxqKAIAIABB1ABsaiIAKAIAQQBIDSsgASgCACAAKAIEIAAoAgggASgCBCgCDBEAACEADC8LIAIgAEEEajYC9AEgAkEIQQAgAC0AASIAGzYC5AEgAkHU8scAQQEgABs2AuABIAIgAkH0AWqtQoCAgICQAoQ3A7ACIAIgAkHgAWqtQoCAgIDQAYQ3A6gCIAEoAgAgASgCBEHir8AAIAJBqAJqELEJIQAMLgsgACgCCCIDIAAoAgQiBEGgAmooAgAiBU8NLyAAKAIMIgAgBEGcAmooAgAgA0EkbGoiA0EgaigCACIETw0wIANBHGooAgAgAEHUAGxqIgAoAgBBgoCAgHhHDTEgASgCACAAKAIIIAAoAgwgASgCBCgCDBEAACEADC0LIAAoAggiBCAAKAIEIgMoAhwiBU8NNCADKAIYIARB8ABsaiIFKAJcIQQgBSgCWCEFIAMgAygCACIGQQFqNgIAIAZBAEgNLSADQaACaigCACIGIAVNDTUgA0GcAmooAgAgBUEkbGoiBUEgaigCACIGIARNDTYgBUEcaigCACAEQdQAbGoiBCgCAEGCgICAeEcNMCACIAQpAgg3AvQBIAJB8ABqIAAoAgRBCGogACgCCBDRECACIAIpA3A3AuABIAIgAkHgAWqtQoCAgICAIYQ3A7ACIAIgAkH0AWqtQoCAgIDQAYQ3A6gCIAEoAgAgASgCBEHEs8AAIAJBqAJqELEJIQAgAyADKAIAIgFBAWs2AgAgAUEBRw0sIAMQMAwsCyAAKAIIIgQgACgCBCIDKAIcIgVPDTMgAygCGCAEQfAAbGoiBSgCXCEEIAUoAlghBSADIAMoAgAiBkEBajYCACAGQQBIDSwgA0GgAmooAgAiBiAFTQ00IANBnAJqKAIAIAVBJGxqIgVBIGooAgAiBiAETQ01IAVBHGooAgAgBEHUAGxqIgQoAgBBgoCAgHhHDS8gAiAEKQIINwL0ASACQfgAaiAAKAIEQQhqIAAoAggQ0RAgAiACKQN4NwLgASACIAJB4AFqrUKAgICAgCGENwOwAiACIAJB9AFqrUKAgICA0AGENwOoAiABKAIAIAEoAgRBjbPAACACQagCahCxCSEAIAMgAygCACIBQQFrNgIAIAFBAUcNKyADEDAMKwsgAiAAQQRqNgL0ASACQeABaiIDIABBEGoQ/gsgAiACQfQBaq1CgICAgJAChDcDsAIgAiADrUKAgICAwAKENwOoAiABKAIAIAEoAgRB1LDAACACQagCahCxCSEAIAIoAuABIgFFDSogAigC5AEgARDZEgwqCyACIABBBGo2AvQBIAJB4AFqIgMgAEEQahD+CyACIAJB9AFqrUKAgICAkAKENwOwAiACIAOtQoCAgIDAAoQ3A6gCIAEoAgAgASgCBEHYssAAIAJBqAJqELEJIQAgAigC4AEiAUUNKSACKALkASABENkSDCkLIAJBqAJqIgMgAEEEahD+CyACIAOtQoCAgIDAAoQ3A+ABIAEoAgAgASgCBEHNvsEAIAJB4AFqELEJIQAgAigCqAIiAUUNKCACKAKsAiABENkSDCgLIAJBqAJqIgMgAEEEahD+CyACIAOtQoCAgIDAAoQ3A+ABIAEoAgAgASgCBEGMssAAIAJB4AFqELEJIQAgAigCqAIiAUUNJyACKAKsAiABENkSDCcLIAAoAhAiBCAAKAIMIgMoAhwiBU8NLiADKAIYIARB8ABsaiIFKAJcIQQgBSgCWCEFIAMgAygCACIGQQFqNgIAIAZBAEgNJyACQQpBCSAAKAIEQQhqIAAoAggQ9xAtAFhBAkYiBhs2ApwCIAJBzv3HAEHF/ccAIAYbNgKYAiACQQlBACAALQABIgYbNgKkAiACQdj9xwBBASAGGzYCoAIgA0GgAmooAgAiBiAFTQ0vIANBnAJqKAIAIAVBJGxqIgVBIGooAgAiBiAETQ0wIAVBHGooAgAgBEHUAGxqIgQoAgBBgoCAgHhHDSogAiAEKQIINwL0ASACQYABaiAAKAIMQQhqIAAoAhAQ0RAgAiACKQOAATcC4AEgAiACQeABaq1CgICAgIAhhDcDwAIgAiACQZgCaq1CgICAgNABhDcDuAIgAiACQaACaq1CgICAgNABhDcDsAIgAiACQfQBaq1CgICAgNABhDcDqAIgASgCACABKAIEQce1wAAgAkGoAmoQsQkhACADIAMoAgAiAUEBazYCACABQQFHDSYgAxAwDCYLIAAoAhAiBCAAKAIMIgMoAhwiBU8NLSADKAIYIARB8ABsaiIFKAJcIQQgBSgCWCEFIAMgAygCACIGQQFqNgIAIAZBAEgNJiAAKAIEQQhqIgYgACgCCCIHEPcQLQBYIAYgBxD3ECEGQQJGDRogBi0AWEUNGyACQQM2ApwCIAJB9f3HADYCmAIMHAsgACgCCCIDIAAoAgQiBEGgAmooAgAiBU8NJiAAKAIMIgAgBEGcAmooAgAgA0EkbGoiA0EgaigCACIETw0nIANBHGooAgAgAEHUAGxqIgAoAgBBgoCAgHhHDSggAiAAKQIINwLgASACIAJB4AFqrUKAgICAgCGENwOoAiABKAIAIAEoAgRBu77BACACQagCahCxCSEADCQLIAJBDkEAIAAtAAEiAxs2AvgBIAJB4vLHAEEBIAMbNgL0ASAAKAIIIgMgACgCBCIEQaACaigCACIFTw0lIAAoAgwiACAEQZwCaigCACADQSRsaiIDQSBqKAIAIgRPDSYgA0EcaigCACAAQdQAbGoiACgCAEGCgICAeEcNJyACIAApAgg3AuABIAIgAkH0AWqtQoCAgIDQAYQ3A7ACIAIgAkHgAWqtQoCAgIDQAYQ3A6gCIAEoAgAgASgCBEGBtsAAIAJBqAJqELEJIQAMIwsgAkHgAWogAEEEahCiCSAALQABIQAgAigC4AEhAyACKALkASEEIAIgAigC6AE2AoQCIAIgBDYCgAIgAkEENgKMAiACQfCXyQA2AogCIAJBAEEIIAAbNgKUAiACQQFB1PLHACAAGzYCkAIgAkIBNwKYAiACQgE3AqACIAIgAkGgAmqtQoCAgIDQAYQ3A8gCIAIgAkGIAmqtQoCAgIDQAYQ3A8ACIAIgAkGQAmqtQoCAgIDQAYQ3A7gCIAIgAkGAAmqtQoCAgIDQAYQ3A7ACIAIgAkGYAmqtQoCAgIDQAYQ3A6gCIAJB9AFqQei8wQAgAkGoAmoQuAwgASgCACACKAL4ASIFIAIoAvwBIAEoAgQoAgwRAAAhACACKAL0ASIBBEAgBSABENkSCyADQQBMDSIgBCADENkSDCILQQEhBSAAKAIIIQQCQCAAKAIEQQFGBEAgACgCDCEGIAAoAhQiAygCACEHIAMgB0EBajYCAAwBCyAAKAIUIgMoAhAiBSAETQ0fIAMoAgwgBEHkAGxqIgQoAlghBiAEKAJUIQQgAyADKAIAIgdBAWo2AgBBACEFCyAHQQBIDSIgAiAGNgLsASACIAQ2AugBIAIgAzYC5AEgAiAFNgLgASACQfQBaiIEIAJB4AFqEP4LIAJBkAFqIABBBGoQ8A4gAiACKQOQATcCoAIgAiACQaACaq1CgICAgNABhDcDsAIgAiAErUKAgICAwAKENwOoAiABKAIAIAEoAgRB8bXAACACQagCahCxCSEAIAIoAvQBIgEEQCACKAL4ASABENkSCyADIAMoAgAiAUEBazYCACABQQFHDSEgAxAwDCELIAAoAggiAyAAKAIEIgRBoAJqKAIAIgVPDSUgACgCDCIAIARBnAJqKAIAIANBJGxqIgNBIGooAgAiBE8NJiADQRxqKAIAIABB1ABsaiIAKAIAQYCAgIB4Rw0nIAIgACkCCDcC4AEgAiACQeABaq1CgICAgIAhhDcDqAIgASgCACABKAIEQZK8wQAgAkGoAmoQsQkhAAwgCyAAKAIIIgMgACgCBCIEQaACaigCACIFTw0hIAAoAgwiACAEQZwCaigCACADQSRsaiIDQSBqKAIAIgRPDSIgA0EcaigCACAAQdQAbGoiACgCAEGCgICAeEcNIyACIAApAgg3AuABIAIgAkHgAWqtQoCAgICAIYQ3A6gCIAEoAgAgASgCBEGovMEAIAJBqAJqELEJIQAMHwsgAkEIQQAgAC0AAUEBRiIDGzYC+AEgAkHU8scAQQEgAxs2AvQBIAAoAggiAyAAKAIEIgRBoAJqKAIAIgVPDSMgACgCDCIAIARBnAJqKAIAIANBJGxqIgNBIGooAgAiBE8NJCADQRxqKAIAIABB1ABsaiIAKAIAQYCAgIB4Rw0lIAIgACkCCDcC4AEgAiACQfQBaq1CgICAgNABhDcDsAIgAiACQeABaq1CgICAgIAhhDcDqAIgASgCACABKAIEQdW8wQAgAkGoAmoQsQkhAAweCyACQQhBACAALQABQQFGIgMbNgL4ASACQdTyxwBBASADGzYC9AEgACgCCCIDIAAoAgQiBEGgAmooAgAiBU8NHyAAKAIMIgAgBEGcAmooAgAgA0EkbGoiA0EgaigCACIETw0gIANBHGooAgAgAEHUAGxqIgAoAgBBgoCAgHhHDSEgAiAAKQIINwLgASACIAJB9AFqrUKAgICA0AGENwOwAiACIAJB4AFqrUKAgICAgCGENwOoAiABKAIAIAEoAgRBvbzBACACQagCahCxCSEADB0LIAEoAgBBh/7HAEEZIAEoAgQoAgwRAAAhAAwcCyAAKAIIIgQgACgCBCIDKAIcIgVPDSMgAygCGCAEQfAAbGoiBSgCXCEEIAUoAlghBSADIAMoAgAiBkEBajYCACAGQQBIDRwgA0GgAmooAgAiBiAFTQ0kIANBnAJqKAIAIAVBJGxqIgVBIGooAgAiBiAETQ0lIAVBHGooAgAgBEHUAGxqIgQoAgBBgoCAgHhHDR8gAiAEKQIINwL0ASACQcgBaiAAKAIEQQhqIAAoAggQ0RAgAiACKQPIATcC4AEgAiACQeABaq1CgICAgIAhhDcDsAIgAiACQfQBaq1CgICAgNABhDcDqAIgASgCACABKAIEQf60wAAgAkGoAmoQsQkhACADIAMoAgAiAUEBazYCACABQQFHDRsgAxAwDBsLIAAoAggiBCAAKAIEIgMoAhwiBU8NIiADKAIYIARB8ABsaiIFKAJcIQQgBSgCWCEFIAMgAygCACIGQQFqNgIAIAZBAEgNGyADQaACaigCACIGIAVNDSMgA0GcAmooAgAgBUEkbGoiBUEgaigCACIGIARNDSQgBUEcaigCACAEQdQAbGoiBCgCAEGCgICAeEcNHiACIAQpAgg3AvQBIAJB0AFqIAAoAgRBCGogACgCCBDRECACIAIpA9ABNwLgASACIAJB4AFqrUKAgICAgCGENwOwAiACIAJB9AFqrUKAgICA0AGENwOoAiABKAIAIAEoAgRB6rPAACACQagCahCxCSEAIAMgAygCACIBQQFrNgIAIAFBAUcNGiADEDAMGgsgACgCCCIEIAAoAgQiAygCHCIFTw0hIAMoAhggBEHwAGxqIgUoAlwhBCAFKAJYIQUgAyADKAIAIgZBAWo2AgAgBkEASA0aIANBoAJqKAIAIgYgBU0NIiADQZwCaigCACAFQSRsaiIFQSBqKAIAIgYgBE0NIyAFQRxqKAIAIARB1ABsaiIEKAIAQYKAgIB4Rw0dIAIgBCkCCDcC9AEgAkHYAWogACgCBEEIaiAAKAIIENEQIAIgAikD2AE3AuABIAIgAkHgAWqtQoCAgICAIYQ3A7ACIAIgAkH0AWqtQoCAgIDQAYQ3A6gCIAEoAgAgASgCBEGitcAAIAJBqAJqELEJIQAgAyADKAIAIgFBAWs2AgAgAUEBRw0ZIAMQMAwZCyAAKAIIIgMgACgCBCIEQaACaigCACIFTw0aIAAoAgwiACAEQZwCaigCACADQSRsaiIDQSBqKAIAIgRPDRsgA0EcaigCACAAQdQAbGoiACgCAEGCgICAeEcNHCACIAApAgg3AuABIAIgAkHgAWqtQoCAgIDQAYQ3A6gCIAEoAgAgASgCBEGmwMEAIAJBqAJqELEJIQAMGAsgAkGoAmoiAyAAQQRqEP4LIAIgA61CgICAgMAChDcD4AEgASgCACABKAIEQdGxwAAgAkHgAWoQsQkhACACKAKoAiIBRQ0XIAIoAqwCIAEQ2RIMFwsgACgCCCIDIAAoAgQiBEGgAmooAgAiBU8NGCAAKAIMIgAgBEGcAmooAgAgA0EkbGoiA0EgaigCACIETw0ZIANBHGooAgAgAEHUAGxqIgAoAgBBgoCAgHhHDRogAiAAKQIINwLgASACIAJB4AFqrUKAgICA0AGENwOoAiABKAIAIAEoAgRBqrDAACACQagCahCxCSEADBYLIAEoAgAgACgCCCAAKAIMIAEoAgQoAgwRAAAhAAwVCyAAQQxqIQMgACgCBCIEBEAgAkEYaiADEN4RIAIgAikDGDcC9AEgAkEQaiAEQQhqIAAoAggQ0RAgAiACKQMQNwLgASACIAJB4AFqrUKAgICAgCGENwOwAiACIAJB9AFqrUKAgICA0AGENwOoAiABKAIAIAEoAgRBsLTAACACQagCahCxCSEADBULIAJBCGogAxDeESACIAIpAwg3AuABIAIgAkHgAWqtQoCAgIDQAYQ3A6gCIAEoAgAgASgCBEGescAAIAJBqAJqELEJIQAMFAsgAEEMaiEDIAAoAgQiBARAIAJBMGogAxDeESACIAIpAzA3AvQBIAJBKGogBEEIaiAAKAIIENEQIAIgAikDKDcC4AEgAiACQeABaq1CgICAgIAhhDcDsAIgAiACQfQBaq1CgICAgNABhDcDqAIgASgCACABKAIEQemywAAgAkGoAmoQsQkhAAwUCyACQSBqIAMQ3hEgAiACKQMgNwLgASACIAJB4AFqrUKAgICA0AGENwOoAiABKAIAIAEoAgRBp6/AACACQagCahCxCSEADBMLIABBDGohAyAAKAIEIgQEQCACQcgAaiADEN4RIAIgAikDSDcC9AEgAkFAayAEQQhqIAAoAggQ0RAgAiACKQNANwLgASACIAJB4AFqrUKAgICAgCGENwOwAiACIAJB9AFqrUKAgICA0AGENwOoAiABKAIAIAEoAgRB57TAACACQagCahCxCSEADBMLIAJBOGogAxDeESACIAIpAzg3AuABIAIgAkHgAWqtQoCAgIDQAYQ3A6gCIAEoAgAgASgCBEHDscAAIAJBqAJqELEJIQAMEgtBCCEDQdTyxwAhBAwQC0EAIQNBASEEDA8LQQghA0HU8scAIQQMDQtBACEDQQEhBAwMCyAAQQxqIQMgACgCBCIEBEAgAkHgAGogAxDeESACIAIpA2A3AvQBIAJB2ABqIARBCGogACgCCBDRECACIAIpA1g3AuABIAIgAkHgAWqtQoCAgICAIYQ3A7ACIAIgAkH0AWqtQoCAgIDQAYQ3A6gCIAEoAgAgASgCBEHEssAAIAJBqAJqELEJIQAMDgsgAkHQAGogAxDeESACIAIpA1A3AuABIAIgAkHgAWqtQoCAgIDQAYQ3A6gCIAEoAgAgASgCBEGVr8AAIAJBqAJqELEJIQAMDQsgAiAAKAIEIgNBCHI2AvgBIAJBv5HJAEG3kckAIAMbNgL0ASACQeABaiIDIABBBGoQ/gsgAiACQfQBaq1CgICAgNABhDcDsAIgAiADrUKAgICAwAKENwOoAiABKAIAIAEoAgRB7bDAACACQagCahCxCSEAIAIoAuABIgFFDQwgAigC5AEgARDZEgwMCyABKAIAQeH9xwBBFCABKAIEKAIMEQAAIQAMCwsgAkEENgKcAiACQYP+xwA2ApgCDAELIAJBCzYCnAIgAkH4/ccANgKYAgsgAkEJQQAgAC0AASIGGzYCpAIgAkHY/ccAQQEgBhs2AqACIANBoAJqKAIAIgYgBU0NESADQZwCaigCACAFQSRsaiIFQSBqKAIAIgYgBE0NEiAFQRxqKAIAIARB1ABsaiIEKAIAQYKAgIB4Rw0MIAIgBCkCCDcC9AEgAkGIAWogACgCDEEIaiAAKAIQENEQIAIgAikDiAE3AuABIAIgAkHgAWqtQoCAgICAIYQ3A8ACIAIgAkGYAmqtQoCAgIDQAYQ3A7gCIAIgAkGgAmqtQoCAgIDQAYQ3A7ACIAIgAkH0AWqtQoCAgIDQAYQ3A6gCIAEoAgAgASgCBEGkssAAIAJBqAJqELEJIQAgAyADKAIAIgFBAWs2AgAgAUEBRw0IIAMQMAwICyAAQQxqIQMgACgCBCIEBEAgAkGoAWogAxDeESACIAIpA6gBNwL0ASACQaABaiAEQQhqIAAoAggQ0RAgAiACKQOgATcC4AEgAiACQeABaq1CgICAgIAhhDcDsAIgAiACQfQBaq1CgICAgNABhDcDqAIgASgCACABKAIEQZC0wAAgAkGoAmoQsQkhAAwICyACQZgBaiADEN4RIAIgAikDmAE3AuABIAIgAkHgAWqtQoCAgIDQAYQ3A6gCIAEoAgAgASgCBEGHscAAIAJBqAJqELEJIQAMBwsgAEEMaiEDIAAoAgQiBARAIAJBwAFqIAMQ3hEgAiACKQPAATcC9AEgAkG4AWogBEEIaiAAKAIIENEQIAIgAikDuAE3AuABIAIgAkHgAWqtQoCAgICAIYQ3A7ACIAIgAkH0AWqtQoCAgIDQAYQ3A6gCIAEoAgAgASgCBEHHtMAAIAJBqAJqELEJIQAMBwsgAkGwAWogAxDeESACIAIpA7ABNwLgASACIAJB4AFqrUKAgICA0AGENwOoAiABKAIAIAEoAgRBrLHAACACQagCahCxCSEADAYLIAMgBUGcusQAEIUTAAsgACAEQZy6xAAQhRMAC0GcusQAEJ0VAAsgBCAFQeT2yAAQhRMACyACIAM2AvgBIAIgBDYC9AECQCAAKAIIIgMgACgCBCIEQaACaigCACIFSQRAIAAoAgwiACAEQZwCaigCACADQSRsaiIDQSBqKAIAIgRPDQkgA0EcaigCACAAQdQAbGoiACgCAEGAgICAeEcNASACIAApAgg3AuABIAIgAkH0AWqtQoCAgIDQAYQ3A7ACIAIgAkHgAWqtQoCAgIDQAYQ3A6gCIAEoAgAgASgCBEH1scAAIAJBqAJqELEJIQAMAwsMBwsMCAsgAiADNgL4ASACIAQ2AvQBAkAgACgCCCIDIAAoAgQiBEGgAmooAgAiBUkEQCAAKAIMIgAgBEGcAmooAgAgA0EkbGoiA0EgaigCACIETw0IIANBHGooAgAgAEHUAGxqIgAoAgBBgICAgHhHDQEgAiAAKQIINwLgASACIAJB9AFqrUKAgICA0AGENwOwAiACIAJB4AFqrUKAgICA0AGENwOoAiABKAIAIAEoAgRB3rHAACACQagCahCxCSEADAILDAYLDAcLIAJB0AJqJAAgAA8LAAsgAyAFQcy7xAAQhRMACyAAIARBzLvEABCFEwALQcy7xAAQnRUACyADIAVB9LjEABCFEwALIAAgBEH0uMQAEIUTAAtB9LjEABCdFQALIAQgBUHk/sgAEIUTAAsgBSAGQcy7xAAQhRMACyAEIAZBzLvEABCFEwALo0sCBH8BfiMAQaAFayIJJAAgCSAGNgIQIAkgBTYCDAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQCACLQAAQQFrDhELDA0ODxARAAECAwQFBgcICQoLIAkgAikDIDcDQCAJIAIpAxg3AzggCSACKQMQNwMwIAkgAikDCDcDKAJ/IAcEQCABKAIEIQcgASgCACEKIAlBuAJqIAFBCGpByAD8CgAAIAkgASkCVDcDYCAJIAEoAlw2AmggASgCUAwBC0HgABCQASIFRQ0pIAUgAUHgAPwKAABByAEQkAEiB0UNKSAHIAU2AgRBBiEKIAdBBjYCACAHQX42ArgBIAkoAhAhBiAJKAIMIQVBfgshCyAJQfAAaiIBIAMgBCAJQShqIAUgBiAIEKYOQeAAEJABIgRFDSggBCABQeAA/AoAAEHgABCQASIBRQ0oIAEgBzYCBCABIAo2AgAgAUEIaiAJQbgCakHIAPwKAAAgASALNgJQIAEgCSkDYDcCVCABIAkoAmg2AlxByAEQkAEiA0UNKCADQX42ArgBIAMgBDYCBCADQQY2AgBB4AAQkAEiBEUNKCAEQX42AlAgBCADNgIEIARBBjYCACAJIAQ2AhwgCSABNgIYIAlBgoCAgHg2AhQMIQsgCSACKQMgNwNAIAkgAikDGDcDOCAJIAIpAxA3AzAgCSACKQMINwMoAn8gBwRAIAEoAgQhByABKAIAIQogCUG4AmogAUEIakHIAPwKAAAgCSABKQJUNwNgIAkgASgCXDYCaCABKAJQDAELQeAAEJABIgVFDSggBSABQeAA/AoAAEHIARCQASIHRQ0oIAcgBTYCBEEGIQogB0EGNgIAIAdBfjYCuAEgCSgCECEGIAkoAgwhBUF+CyELIAlB8ABqIgEgAyAEIAlBKGogBSAGIAgQpg5B4AAQkAEiBEUNJyAEIAFB4AD8CgAAQeAAEJABIgFFDScgASAHNgIEIAEgCjYCACABQQhqIAlBuAJqQcgA/AoAACABIAs2AlAgASAJKQNgNwJUIAEgCSgCaDYCXEHIARCQASIDRQ0nIANBfjYCuAEgAyAENgIEIANBBjYCAEHgABCQASIERQ0nIARBfjYCUCAEIAM2AgQgBEEGNgIAIAkgBDYCHCAJIAE2AhggCUGDgICAeDYCFAwgCyAJIAIpAyA3A0AgCSACKQMYNwM4IAkgAikDEDcDMCAJIAIpAwg3AygCfyAHBEAgASgCBCEHIAEoAgAhCiAJQbgCaiABQQhqQcgA/AoAACAJIAEpAlQ3A2AgCSABKAJcNgJoIAEoAlAMAQtB4AAQkAEiBUUNJyAFIAFB4AD8CgAAQcgBEJABIgdFDScgByAFNgIEQQYhCiAHQQY2AgAgB0F+NgK4ASAJKAIQIQYgCSgCDCEFQX4LIQsgCUHwAGoiASADIAQgCUEoaiAFIAYgCBCmDkHgABCQASIERQ0mIAQgAUHgAPwKAABB4AAQkAEiAUUNJiABIAc2AgQgASAKNgIAIAFBCGogCUG4AmpByAD8CgAAIAEgCzYCUCABIAkpA2A3AlQgASAJKAJoNgJcQcgBEJABIgNFDSYgA0F+NgK4ASADIAQ2AgQgA0EGNgIAQeAAEJABIgRFDSYgBEF+NgJQIAQgAzYCBCAEQQY2AgAgCSAENgIcIAkgATYCGCAJQYSAgIB4NgIUDB8LIAkgAikDIDcDQCAJIAIpAxg3AzggCSACKQMQNwMwIAkgAikDCDcDKAJ/IAcEQCABKAIEIQcgASgCACEKIAlBuAJqIAFBCGpByAD8CgAAIAkgASkCVDcDYCAJIAEoAlw2AmggASgCUAwBC0HgABCQASIFRQ0mIAUgAUHgAPwKAABByAEQkAEiB0UNJiAHIAU2AgRBBiEKIAdBBjYCACAHQX42ArgBIAkoAhAhBiAJKAIMIQVBfgshCyAJQfAAaiIBIAMgBCAJQShqIAUgBiAIEKYOQeAAEJABIgRFDSUgBCABQeAA/AoAAEHgABCQASIBRQ0lIAEgBzYCBCABIAo2AgAgAUEIaiAJQbgCakHIAPwKAAAgASALNgJQIAEgCSkDYDcCVCABIAkoAmg2AlxByAEQkAEiA0UNJSADQX42ArgBIAMgBDYCBCADQQY2AgBB4AAQkAEiBEUNJSAEQX42AlAgBCADNgIEIARBBjYCACAJIAQ2AhwgCSABNgIYIAlBhYCAgHg2AhQMHgsgAigCBEEBaw4CDQ4PCyACKAIEQQFrDgITEhELQaCryQBBKEHciskAEK8UAAsgAigCJCEDIAIoAhAiBEF/Rw0OIAMgAygCACIAQQFrNgIAIABBAUYEQCADEDALQeyKyQAQnRUACyACKAIkIQMgAigCECIEQX9HDQwgAyADKAIAIgBBAWs2AgAgAEEBRgRAIAMQMAtB/IrJABCdFQALQaCryQBBKEGMi8kAEK8UAAsCQAJAIAIoAggiBEEVRwRAIAJBDGohAyAEQX9HDQEgCSADKAIQNgLIAiAJIAMpAgg3A8ACIAkgAykCADcDuAIgCUHwAGoiAyAJQbgCaiAFIAYgCBDxEyAJQRRqIAFBrIrJAEEFIAMQ5BEgCSgCyAIiAygCACEBIAMgAUEBazYCACABQQFHDQIgCSgCyAIQMAwCC0HgABCQASIDRQ0gIAMgAUHgAPwKAAAgCUGKgICAeDYCFCAJIAM2AhgMGQsgAikDICENIAkgBDYCuAIgCSANNwPQAiAJIAMpAgA3ArwCIAkgAykCCDcCxAIgCSADKAIQNgLMAiAJQfAAaiIDIAlBuAJqELAJIAlBFGogAUGsiskAQQUgAxDfEgtB4AAQkAEiAUUNHiABQQs2AgAgAUF+NgJQIAEgCSgCJDYCFCABIAkpAhw3AgwgASAJKQIUNwIEIAAgATYCBCAAQQM2AgAgAi0AACIAQQJrQQxJDR0gAA4RHRkYGBgYGBgYGBgYGBgYGhsYCwJAAkAgAigCCCIEQRVHBEAgAkEMaiEDIARBf0cNASAJIAMoAhA2AsgCIAkgAykCCDcDwAIgCSADKQIANwO4AiAJQfAAaiIDIAlBuAJqIAUgBiAIEPETIAlBFGogAUGxiskAQQkgAxDkESAJKALIAiIDKAIAIQEgAyABQQFrNgIAIAFBAUcNAiAJKALIAhAwDAILQeAAEJABIgNFDR8gAyABQeAA/AoAACAJQYuAgIB4NgIUIAkgAzYCGAwYCyACKQMgIQ0gCSAENgK4AiAJIA03A9ACIAkgAykCADcCvAIgCSADKQIINwLEAiAJIAMoAhA2AswCIAlB8ABqIgMgCUG4AmoQsAkgCUEUaiABQbGKyQBBCSADEN8SC0HgABCQASIBRQ0dIAFBCzYCACABQX42AlAgASAJKAIkNgIUIAEgCSkCHDcCDCABIAkpAhQ3AgQgACABNgIEIABBAzYCACACLQAAIgBBAWtBDUkNHCAADhEbFxcXFxcXFxcXFxcXFxcZGhcLIAJBDGohAyACKAIIIgRBf0YNFCACKQMgIQ0gCSAENgK4AiAJIA03A9ACIAkgAykCADcCvAIgCSADKQIINwLEAiAJIAMoAhA2AswCIAlB8ABqIgQgCUG4AmoQ2gpB4AAQkAEiA0UNHCADIAFB4AD8CgAAQeAAEJABIgFFDRwgASAEQeAA/AoAACAJIAE2AiQgCUEFNgIcIAlBrIrJADYCGCAJQX82AhQgCSADNgIgDBULIAJBDGohAyACKAIIIgRBf0YNEiACKQMgIQ0gCSAENgK4AiAJIA03A9ACIAkgAykCADcCvAIgCSADKQIINwLEAiAJIAMoAhA2AswCIAlB8ABqIgQgCUG4AmoQ2gpB4AAQkAEiA0UNGyADIAFB4AD8CgAAQeAAEJABIgFFDRsgASAEQeAA/AoAACAJIAE2AiQgCUEJNgIcIAlBsYrJADYCGCAJQX82AhQgCSADNgIgDBQLIAJBDGohAyACKAIIIgRBf0YNECACKQMgIQ0gCSAENgK4AiAJIA03A9ACIAkgAykCADcCvAIgCSADKQIINwLEAiAJIAMoAhA2AswCIAlB8ABqIgQgCUG4AmoQ3gtB4AAQkAEiA0UNGiADIAFB4AD8CgAAQeAAEJABIgFFDRogASAEQeAA/AoAACAJIAE2AiQgCUEFNgIcIAlBrIrJADYCGCAJQX82AhQgCSADNgIgDBMLIAJBDGohAyACKAIIIgRBf0YNDiACKQMgIQ0gCSAENgK4AiAJIA03A9ACIAkgAykCADcCvAIgCSADKQIINwLEAiAJIAMoAhA2AswCIAlB8ABqIgQgCUG4AmoQ3gtB4AAQkAEiA0UNGSADIAFB4AD8CgAAQeAAEJABIgFFDRkgASAEQeAA/AoAACAJIAE2AiQgCUEJNgIcIAlBsYrJADYCGCAJQX82AhQgCSADNgIgDBILIAJBDGohAyACKAIIIgRBf0YNDCACKQMgIQ0gCSAENgK4AiAJIA03A9ACIAkgAykCADcCvAIgCSADKQIINwLEAiAJIAMoAhA2AswCIAlB8ABqIgQgCUG4AmoQ1wtB4AAQkAEiA0UNGCADIAFB4AD8CgAAQeAAEJABIgFFDRggASAEQeAA/AoAACAJIAE2AiQgCUEFNgIcIAlBrIrJADYCGCAJQX82AhQgCSADNgIgDBELIAJBDGohAyACKAIIIgRBf0YNCiACKQMgIQ0gCSAENgK4AiAJIA03A9ACIAkgAykCADcCvAIgCSADKQIINwLEAiAJIAMoAhA2AswCIAlB8ABqIgQgCUG4AmoQ1wtB4AAQkAEiA0UNFyADIAFB4AD8CgAAQeAAEJABIgFFDRcgASAEQeAA/AoAACAJIAE2AiQgCUEJNgIcIAlBsYrJADYCGCAJQX82AhQgCSADNgIgDBALIAkgAigCGDYCOCAJIAIpAhA3AzAgCSACKQIINwMoIAlB8ABqIgMgCUEoaiAIQQAQiQIgCUG4AmoiByADIAUgBhCqDkGwARCQASIERQ0WIAQgB0GwAfwKAABB4AAQkAEiA0UNFiADQX42AlAgAyAENgIEIANBAzYCAEHgABCQASIERQ0WIAQgAUHgAPwKAABB4AAQkAEiAUUNFiABQX42AlAgASADNgIIIAFCi4CAgKCCgICAfzcDACAJIAQ2AiAgCSABNgIkIAlBBTYCHCAJQayKyQA2AhggCUF/NgIUIAkoAjgiAygCACEBIAMgAUEBazYCACABQQFHDQ8gCSgCOBAwDA8LIAkgAigCGDYCOCAJIAIpAhA3AzAgCSACKQIINwMoQeAAEJABIgVFDRUgBSABQeAA/AoAAEHIARCQASIGRQ0VIAYgBTYCBCAGQQY2AgAgBkF+NgK4ASAJIAkoAjg2AswCIAkgCSkDMDcCxAIgCSAJKQMoNwK8AiAJQRo2ArgCIAlB8ABqIAMgBCAJQbgCaiAJKAIMIAkoAhAgCBCmDgJAIAkoAnAiBUUEQCAJQYwEaiAJQfgAakHIAPwKAAAgCSAJKALIATYCwAIgCSAJKQPAATcDuAJBASEFDAELIAlBiARqIAlB8ABqQQRyQcwA/AoAACAJIAkoAsgBNgLAAiAJIAkpA8ABNwO4AiAJKALMASEIC0HgABCQASIBRQ0VIAEgBTYCACABQQRqIAlBiARqQcwA/AoAACABIAg2AlwgASAJKALAAjYCWCABIAkpA7gCNwNQQeAAEJABIgNFDRUgA0F+NgJQIAMgBjYCBCADQQY2AgBByAEQkAEiBEUNFSAEQX42ArgBIAQgATYCBCAEQQY2AgBB4AAQkAEiAUUNFSABQX42AlAgASAENgIEIAFBBjYCACAJIAE2AhwgCSADNgIYIAlBhoCAgHg2AhQMDgsgAigCCCEKIAIoAgwhBgJAIAIoAhAiBQRAIAYoAgBBEkYNAQsgCUHwAGoiCyABIAdBAXMQuRIgCSAINgLUAiAJIAQ2AswCIAkgAzYCyAIgCSAGIAVBBXRqNgLEAiAJIAo2AsACIAkgBjYCvAIgCSAGNgK4AiAJIAlBDGo2AtACIAlBKGoiBSAJQbgCahDbCiAJQRRqIQMjAEHgAGsiASQAAkBB4AAQkAEiBARAIAQgC0HgAPwKAAAgAUEEciAFEMsJIAFBfjYCUCABQQQ2AgBB4AAQkAEiBUUNFyAFIAFB4AD8CgAAIAMgBTYCCCADIAQ2AgQgA0GGgICAeDYCACABQeAAaiQADAELDBYLDA4LIAlByABqIAUQ1RMgCSAKNgLAAiAJIAY2ArgCIAkgBiAFQQV0aiIFNgLEAiAJQfAAakEEciEKA0ACQAJAAkAgBigCACILQX9HBEAgCiAGQQRqKQIANwIAIAogBkEMaikCADcCCCAKIAZBFGopAgA3AhAgCiAGQRxqKAIANgIYIAkgCzYCcCALQRJGDQEgCUHwAGoQhgQMAgsgBkEgaiEFDAkLIAkoAnQiC0F/Rw0BC0G8iskAEJ0VAAsgCSAJKQN4NwIsIAkgCzYCKCAJQeAAaiILIAMgBCAJQShqIgwgCBDKByAMIAsQ2AogCSgCUCILIAkoAkhGBEAgCUHIAGoQnxILIAkoAkwgC0EMbGoiDCAJKQIoNwIAIAwgCSgCMDYCCCAJIAtBAWo2AlAgBkEgaiIGIAVHDQALDAULIAkgAikDKDcDiAEgCSADNgKEASAJIAIpAhQ3AnQgCSACKQIcNwJ8IAkgBDYCcAJAIARBDUYEQCAJKAJ8IQQgCSgCeCEFIAkoAnQhBkHgABCQASIDRQ0VIAMgAUHgAPwKAABB4AAQkAEiAUUNASABQX42AlAgASAENgIkIAEgBTYCICABIAY2AhwgAUEEOgAYIAFBfjYCCCABQQA2AgAgCSABNgIcIAkgAzYCGCAJQZGAgIB4NgIUDA4LIAlB8ABqIgAQhgQgCUEGNgKEASAJQdWQyQA2AoABIAlCi4CAgHA3AnggCUHPoMUANgJ0IAlBfzYCcCAJIACtQoCAgIDwLoQ3A7gCQc+twAAgCUG4AmpB2P3IABC/EwALDBMLIAkgAikDKDcDiAEgCSADNgKEASAJIAIpAhQ3AnQgCSACKQIcNwJ8IAkgBDYCcAJAIARBDUYEQCAJKAJ8IQQgCSgCeCEFIAkoAnQhBkHgABCQASIDRQ0UIAMgAUHgAPwKAABB4AAQkAEiAUUNASABQX42AlAgASAENgIkIAEgBTYCICABIAY2AhwgAUEEOgAYIAFBfjYCCCABQQA2AgAgCSABNgIcIAkgAzYCGCAJQZCAgIB4NgIUDA0LIAlB8ABqIgAQhgQgCUEGNgKEASAJQdWQyQA2AoABIAlCi4CAgHA3AnggCUHPoMUANgJ0IAlBfzYCcCAJIACtQoCAgIDwLoQ3A7gCQc+twAAgCUG4AmpByP3IABC/EwALDBILIAIoAgghByACKAIMIQYCQCACKAIQIgUEQCAGKAIAQRJGDQELIAlB8ABqIgogARDREyAJQbgCaiILIAoQzhMgCSAINgKMASAJIAQ2AoQBIAkgAzYCgAEgCSAGIAVBBXRqNgJ8IAkgBzYCeCAJIAY2AnQgCSAGNgJwIAkgCUEMajYCiAEgCUEoaiIFIAoQ2wogCUEUaiEDIwBB4ABrIgEkAAJAQeAAEJABIgQEQCAEIAtB4AD8CgAAIAFBBHIgBRDLCSABQX42AlAgAUEENgIAQeAAEJABIgVFDRQgBSABQeAA/AoAACADIAU2AgggAyAENgIEIANBh4CAgHg2AgAgAUHgAGokAAwBCwwTCwwLCyAJQdQAaiAFENUTIAkgBzYCwAIgCSAGNgK4AiAJIAYgBUEFdGoiBTYCxAIgCUHwAGpBBHIhBwNAAkACQAJAAkAgBigCACIKQX9HBEAgByAGQQRqKQIANwIAIAcgBkEMaikCADcCCCAHIAZBFGopAgA3AhAgByAGQRxqKAIANgIYIAkgCjYCcCAKQRJGDQEgCUHwAGoQhgQMAgsgBkEgaiEFDAMLIAkoAnQiCkF/Rw0BC0HMiskAEJ0VAAsgCSAJKQN4NwIsIAkgCjYCKCAJQeAAaiIKIAMgBCAJQShqIgsgCBDKByALIAoQ2AogCSgCXCIKIAkoAlRGBEAgCUHUAGoQnxILIAkoAlggCkEMbGoiCyAJKQIoNwIAIAsgCSgCMDYCCCAJIApBAWo2AlwgBkEgaiIGIAVHDQELCyAJIAU2ArwCIAlBuAJqIgMQnhEgCUHwAGoiBCABENETIAMgBBDOEyAJQRRqIAMgCUHUAGoQ6xEMAwsgCSACKAIYNgI4IAkgAikCEDcDMCAJIAIpAgg3AygCQEHgABCQASIFBEAgBSABQeAA/AoAAEHIARCQASIGRQ0SIAYgBTYCBCAGQQY2AgAgBkF+NgK4ASAJIAkoAjg2AswCIAkgCSkDMDcCxAIgCSAJKQMoNwK8AiAJQRo2ArgCIAlB8ABqIAMgBCAJQbgCaiAJKAIMIAkoAhAgCBCmDgJAIAkoAnAiBUUEQCAJQdgEaiAJQfgAakHIAPwKAAAgCSAJKALIATYCwAIgCSAJKQPAATcDuAJBASEFDAELIAlB1ARqIAlB8ABqQQRyQcwA/AoAACAJIAkoAsgBNgLAAiAJIAkpA8ABNwO4AiAJKALMASEIC0HgABCQASIBRQ0SIAEgBTYCACABQQRqIAlB1ARqQcwA/AoAACABIAg2AlwgASAJKALAAjYCWCABIAkpA7gCNwNQQeAAEJABIgNFDRIgA0F+NgJQIAMgBjYCBCADQQY2AgBByAEQkAEiBEUNEiAEQX42ArgBIAQgATYCBCAEQQY2AgBB4AAQkAEiAUUNASABQX42AlAgASAENgIEIAFBBjYCACAJIAE2AhwgCSADNgIYIAlBh4CAgHg2AhQMCwsMEQsMEAsgCSACKAIYNgI4IAkgAikCEDcDMCAJIAIpAgg3AyggCUHwAGoiAyAJQShqIAhBABCJAiAJQbgCaiIHIAMgBSAGEKoOAkBBsAEQkAEiBARAIAQgB0GwAfwKAABB4AAQkAEiA0UNESADQX42AlAgAyAENgIEIANBAzYCAEHgABCQASIERQ0RIAQgAUHgAPwKAABB4AAQkAEiAUUNASABQX42AlAgASADNgIIIAFCi4CAgLCCgICAfzcDACAJIAQ2AiAgCSABNgIkIAlBCTYCHCAJQbGKyQA2AhggCUF/NgIUIAkoAjgiAygCACEBIAMgAUEBazYCACABQQFHDQogCSgCOBAwDAoLDBALDA8LIAkgBTYCvAIgCUG4AmoQnhEgCUHwAGoiAyABIAdBAXMQuRIgCUEUaiADIAlByABqEOwRCyAAIAlBFGoQoBMgAi0AACIAQQJrQQxJDQwgAA4RCwgHBwcHBwcHBwcHBwcHCQoHCyAJIAMoAhA2AjggCSADKQIINwMwIAkgAykCADcDKAJAQcABEJABIgMEQCAJQfAAaiIEIAlBKGogCEEAEIkCIAlBuAJqIgcgBCAFIAYQqg5BsAEQkAEiBEUNDiAEIAdBsAH8CgAAIANBfjYCsAEgAyAENgJkIANBAzYCYCADQX42AlAgA0EBNgIkIANBpIjJADYCICADQX82AhwgA0EEOgAYIANBfjYCCCADQQA2AgBB4AAQkAEiBEUNDiAEIAFB4AD8CgAAQcgBEJABIgFFDQ4gAUF+NgK4ASABQQI2AgwgASADNgIIIAFCi4CAgCA3AwBB4AAQkAEiA0UNASADQX42AlAgAyABNgIEIANBBjYCACAJIAQ2AiAgCSADNgIkIAlBCTYCHCAJQbGKyQA2AhggCUF/NgIUIAkoAjgiAygCACEBIAMgAUEBazYCACABQQFHDQcgCSgCOBAwDAcLDA0LDAwLIAkgAygCEDYCOCAJIAMpAgg3AzAgCSADKQIANwMoAkBBwAEQkAEiAwRAIAlB8ABqIgQgCUEoaiAIQQAQiQIgCUG4AmoiByAEIAUgBhCqDkGwARCQASIERQ0NIAQgB0GwAfwKAAAgA0F+NgKwASADIAQ2AmQgA0EDNgJgIANBfjYCUCADQQE2AiQgA0GkiMkANgIgIANBfzYCHCADQQQ6ABggA0F+NgIIIANBADYCAEHgABCQASIERQ0NIAQgAUHgAPwKAABByAEQkAEiAUUNDSABQX42ArgBIAFBAjYCDCABIAM2AgggAUKLgICAIDcDAEHgABCQASIDRQ0BIANBfjYCUCADIAE2AgQgA0EGNgIAIAkgBDYCICAJIAM2AiQgCUEFNgIcIAlBrIrJADYCGCAJQX82AhQgCSgCOCIDKAIAIQEgAyABQQFrNgIAIAFBAUcNBiAJKAI4EDAMBgsMDAsMCwsgCSADKAIQNgI4IAkgAykCCDcDMCAJIAMpAgA3AygCQEHAARCQASIDBEAgCUHwAGoiBCAJQShqIAhBABCJAiAJQbgCaiIHIAQgBSAGEKoOQbABEJABIgRFDQwgBCAHQbAB/AoAACADQX42AlAgAyAENgIEIANBAzYCACADQX42ArABIANBATYChAEgA0GkiMkANgKAASADQX82AnwgA0EEOgB4IANBfjYCaCADQQA2AmBB4AAQkAEiBEUNDCAEIAFB4AD8CgAAQcgBEJABIgFFDQwgAUF+NgK4ASABQQI2AgwgASADNgIIIAFCi4CAgCA3AwBB4AAQkAEiA0UNASADQX42AlAgAyABNgIEIANBBjYCACAJIAQ2AiAgCSADNgIkIAlBCTYCHCAJQbGKyQA2AhggCUF/NgIUIAkoAjgiAygCACEBIAMgAUEBazYCACABQQFHDQUgCSgCOBAwDAULDAsLDAoLIAkgAygCEDYCOCAJIAMpAgg3AzAgCSADKQIANwMoAkBBwAEQkAEiAwRAIAlB8ABqIgQgCUEoaiAIQQAQiQIgCUG4AmoiByAEIAUgBhCqDkGwARCQASIERQ0LIAQgB0GwAfwKAAAgA0F+NgJQIAMgBDYCBCADQQM2AgAgA0F+NgKwASADQQE2AoQBIANBpIjJADYCgAEgA0F/NgJ8IANBBDoAeCADQX42AmggA0EANgJgQeAAEJABIgRFDQsgBCABQeAA/AoAAEHIARCQASIBRQ0LIAFBfjYCuAEgAUECNgIMIAEgAzYCCCABQouAgIAgNwMAQeAAEJABIgNFDQEgA0F+NgJQIAMgATYCBCADQQY2AgAgCSAENgIgIAkgAzYCJCAJQQU2AhwgCUGsiskANgIYIAlBfzYCFCAJKAI4IgMoAgAhASADIAFBAWs2AgAgAUEBRw0EIAkoAjgQMAwECwwKCwwJCyAJIAMoAhA2AjggCSADKQIINwMwIAkgAykCADcDKAJAQaACEJABIgMEQCAJQfAAaiIEIAlBKGogCEEAEIkCIAlBuAJqIgcgBCAFIAYQqg5BsAEQkAEiBEUNCiAEIAdBsAH8CgAAIANBfjYCsAEgAyAENgJkIANBAzYCYCADQX42ApACIANBATYC5AEgA0GkiMkANgLgASADQX82AtwBIANBBDoA2AEgA0F+NgLIASADQQA2AsABIANBfjYCUCADQQE2AiQgA0GkiMkANgIgIANBfzYCHCADQQQ6ABggA0F+NgIIIANBADYCAEHgABCQASIERQ0KIAQgAUHgAPwKAABByAEQkAEiAUUNCiABQX42ArgBIAFBAzYCDCABIAM2AgggAUKLgICAMDcDAEHgABCQASIDRQ0BIANBfjYCUCADIAE2AgQgA0EGNgIAIAkgBDYCICAJIAM2AiQgCUEJNgIcIAlBsYrJADYCGCAJQX82AhQgCSgCOCIDKAIAIQEgAyABQQFrNgIAIAFBAUcNAyAJKAI4EDAMAwsMCQsMCAsgCSADKAIQNgI4IAkgAykCCDcDMCAJIAMpAgA3AygCQEGgAhCQASIDBEAgCUHwAGoiBCAJQShqIAhBABCJAiAJQbgCaiIHIAQgBSAGEKoOQbABEJABIgRFDQkgBCAHQbAB/AoAACADQX42ArABIAMgBDYCZCADQQM2AmAgA0F+NgKQAiADQQE2AuQBIANBpIjJADYC4AEgA0F/NgLcASADQQQ6ANgBIANBfjYCyAEgA0EANgLAASADQX42AlAgA0EBNgIkIANBpIjJADYCICADQX82AhwgA0EEOgAYIANBfjYCCCADQQA2AgBB4AAQkAEiBEUNCSAEIAFB4AD8CgAAQcgBEJABIgFFDQkgAUF+NgK4ASABQQM2AgwgASADNgIIIAFCi4CAgDA3AwBB4AAQkAEiA0UNASADQX42AlAgAyABNgIEIANBBjYCACAJIAQ2AiAgCSADNgIkIAlBBTYCHCAJQayKyQA2AhggCUF/NgIUIAkoAjgiAygCACEBIAMgAUEBazYCACABQQFHDQIgCSgCOBAwDAILDAgLDAcLQeAAEJABIgFFDQYgAUELNgIAIAFBfjYCUCABIAkoAiQ2AhQgASAJKQIcNwIMIAEgCSkCFDcCBCAAIAE2AgQgAEEDNgIAIAItAAAiAEECa0EMSQ0FIAAOEQQBAAAAAAAAAAAAAAAAAAIDAAsgAhDjBAwECyACKAIIQX9HBEAgAkEIahCGBAwECyACKAIcIgEoAgAhACABIABBAWs2AgAgAEEBRw0DIAIoAhwQMAwDCyACQQRqEKkMDAILIAJBBGoQqQwMAQsgAigCCEF/RwRAIAJBCGoQhgQMAQsgAigCHCIBKAIAIQAgASAAQQFrNgIAIABBAUcNACACKAIcEDALIAlBoAVqJAAPC0G48MkAQQE6AAAAC7FEARV/IwBB8AJrIgMkAEEBIQQCQAJAAkAgASgCAEEBRgRAIAEoAgQiAiABKAIITw0BIAEgAkEBajYCBAsgASgCjAEiBCABKAKIASIQRgRAIAEoAiwhEyABKAIgIRILIAEoAhQhDwJAIAEtAJABQQJHBEAgDyECDAELIA8hAiABLQCRAUUNACABKAIMIAJGBEAgAUEMahCaEgsgASgCECAPQRRsaiICIBA2AgggAkEANgIEIAJBADoAACABIA9BAWoiAjYCFCABKAKMASEECyAEIBBGBEAgASgCLCABKAIgaiEUCyABKAJ4IRUgASgCXCEWAn8CQAJAAkAgASgCAEEBRgRAIAEoAgQiBSABKAIITw0BIAEgBUEBajYCBAsgBCABKAKIASIORgRAIAEoAiwhCiABKAIgIQwLAkACQCABLQCQAUECRgRAIAEtAJEBDQELIAIhCQwBCyABKAIMIAJGBEAgAUEMahCaEiABKAKMASEECyABIAJBAWoiCTYCFCABKAIQIAJBFGxqIgUgDjYCCCAFQQA2AgQgBUEAOgAACyAEIA5GBEAgASgCLCABKAIgaiEGCyABKAJ4IREgASgCXCELAkAgASgCAEEBRgRAIAEoAgQiBCABKAIITwRAQQEhBAwCCyABIARBAWo2AgQLIAMgASgCiAE2AugCIAMgASkCgAE3A+ACIANBqAJqIAEQ6QMgAygCrAIhAQJ/AkAgAygCqAJBAXENAAJAIAEtAJEBQQJHDQAgASgCAEEBRgRAIAEoAgQiCCABKAIIIgVPDQIgASAIQQFqIgQ2AgQgBCAFTw0BIAEgCEECajYCBAsgAUEAOgCRASADQaACaiABEJQKIAMoAqACIAMoAqQCIgFBAjoAkQFBAXENAANAIAEoAgBBAUYEQCABKAIEIgQgASgCCE8NAiABIARBAWo2AgQLAkAgAS0AkQEiBUUEQCADQZACaiABEJQKIAMoApQCIQEgAygCkAIhBAwBCyABQQA6AJEBIANBmAJqIAEQlAogAygCmAIhBCADKAKcAiIBIAU6AJEBCyAEQQFxRQ0ACwsgA0GIAmogARBpIAMoAowCIQEgAygCiAIMAQtBAQsiBEEBRw0AIAEgAygC6AI2AogBIAEgAykD4AI3AoABIAkgASgCFEsNACABIAk2AhQLIAEtAJABIQUCQAJAAkACQAJAIARBAUYEQCAFQf8BcUEBRg0GIAEtAJEBRQ0DIAEoAowBIgQgDkcNASAGIAEoAiAiBCABKAIsIglqIgVJIAUgBmtBAUZxDQMgBCAMTwRAIAEgDDYCICAMIQQLIAkgCkkNAiABIAo2AiwMAgsgBUH/AXFBAUYEfyABLQCRAUUNBwJAIA4gASgCjAEiBEYEQCAGIAEoAiwiBCABKAIgIglqIgVJIAUgBmtBAUZxDQkgCSAMTwRAIAEgDDYCIAsgBCAKSQ0BIAEgCjYCLCAKIQQMAQsgBCAOTw0IIAEgDjYCjAFBACEEIAFBADYCLCABQQA2AiALIAEoAiQgBEYEQCABQSRqEKMSCyABKAIoIARqQTM6AAAgASAEQQFqNgIsIAEtAJABBSAFC0H/AXFBAkcNBiABLQCRAUUNBiABKAIUIgUgAk0NAyABKAIQIAJBFGxqIgQtAAANCiAEIAU2AgQgASgCiAEhBCABKAIUIgUgASgCDEYEQCABQQxqEJoSCyABKAIQIAVBFGxqIgkgBDYCECAJQQA2AgggCSACNgIEIAlBgeYAOwEAIAEgBUEBajYCFAwGCyAEIA5PDQEgASAONgKMAUEAIQQgAUEANgIsIAFBADYCIAsgASgCGCAERgRAIAFBGGoQoxILIAEgBEEBajYCICABKAIcIARqQTM6AAALIAEtAHxBAUcNASABLQCRAUUNASABQdQAakEzIAtBACABKAJ4IBFNGxCTBQwBCyACIAVBnIrIABCFEwALIAEtAJABQQJHDQAgAS0AkQFFDQAgAiABKAIUSw0AIAEgAjYCFAsCQAJAIAEoAgBBAUYEQCABKAIEIgIgASgCCE8NASABIAJBAWo2AgQLQQAhCUEAIQwgASgCjAEiByABKAKIASINRgRAIAEoAiAhDCABKAIsIQkLIAEoAhQhBAJAIAEtAJABQQJHBEAgBCEFDAELIAQhBSABLQCRAUUNACABKAIMIARGBEAgAUEMahCaEgsgASgCECAEQRRsaiICIA02AgggAkEANgIEIAJBADoAACABIARBAWoiBTYCFCABKAKMASEHC0EAIQogByANRgRAIAEoAiwgASgCIGohCgsgASgCeCEOIAEoAlwhEQJAAkACQAJAAkACQAJAIAEoAgBBAUYEQCABKAIEIgIgASgCCE8NASABIAJBAWo2AgQLIAMgASgCiAEiCDYCuAIgAyABKQKAATcDsAJBACEGAkAgCCABKAKEAU8NACABQYABaigCACAIai0AAEHbAEcNACABIAhBAWo2AogBQQEhBgsCQAJAAkACQAJAIAEtAHxBAUYEQEEBEJABIgJFDRQgAkHbADoAACADQQE2AuwCIAMgAjYC6AIgA0KAgICAEDcC4AIgASAIIANB4AJqIAYQ+QgLIAZFDQQCQCABLQCRAUECRw0AIAEoAgBBAUYEQCABKAIEIgggASgCCCIGTw0GIAEgCEEBaiICNgIEIAIgBk8NASABIAhBAmo2AgQLIAFBADoAkQEgA0GAAmogARCUCiADKAKAAiADKAKEAiIBQQI6AJEBQQFxDQADQCABKAIAQQFGBEAgASgCBCICIAEoAghPDQIgASACQQFqNgIECwJAIAEtAJEBIgJFBEAgA0HwAWogARCUCiADKAL0ASEBIAMoAvABIQcMAQsgAUEAOgCRASADQfgBaiABEJQKIAMoAvgBIQcgAygC/AEiASACOgCRAQsgB0EBRw0ACwsgASgCAEEBRgRAIAEoAgQiCCABKAIIIgZPDQUgASAIQQFqIgI2AgQgAiAGTw0EIAEgCEECajYCBAsgASgCFCELIAMgASgCiAE2AsgCIAMgASkCgAE3A8ACIANB6AFqIAEQQCADKALsASEBAkAgAygC6AFBAXENAAJAIAEtAJEBQQJHDQAgASgCAEEBRgRAIAEoAgQiCCABKAIIIgZPDQIgASAIQQFqIgI2AgQgAiAGTw0BIAEgCEECajYCBAsgAUEAOgCRASADQeABaiABEJQKIAMoAuABIAMoAuQBIgFBAjoAkQFBAXENAANAIAEoAgBBAUYEQCABKAIEIgIgASgCCE8NAiABIAJBAWo2AgQLAkAgAS0AkQEiAkUEQCADQdABaiABEJQKIAMoAtQBIQEgAygC0AEhBwwBCyABQQA6AJEBIANB2AFqIAEQlAogAygC2AEhByADKALcASIBIAI6AJEBCyAHQQFHDQALCyABKAIAQQFHDQEgASgCBCICIAEoAghPDQAgASACQQFqIgg2AgQgASgCCCIGIAhNDQAgASgCFCELIAEgCEEBaiICNgIEIAIgBk8EQEEBIQcMBAsgASAIQQJqNgIEDAILIAEgAygCyAI2AogBIAEgAykDwAI3AoABIAsgASgCFEsNAyABIAs2AhQMAwsgASgCFCELCyADIAFBgAFqIgcoAgg2AtgCIAMgBykCADcD0AJBACEHAkAgASgCiAEiBiABKAKEAU8NACABKAKAASAGai0AAEEsRw0AIAEgBkEBajYCiAFBASEHCyABLQB8QQFGBEBBARCQASICRQ0SIAJBLDoAACADQQE2AuwCIAMgAjYC6AIgA0KAgICAEDcC4AIgASAGIANB4AJqIAcQ+QgLAn8CQCAHBEAgA0HIAWogARC8DiADKALMASEBIAMoAsgBQQFHDQELQQEMAQsgA0HAAWogARBAIAMoAsQBIQEgAygCwAELIgdBAUcNACABIAMoAtgCNgKIASABIAMpA9ACNwKAASALIAEoAhRLDQAgASALNgIUCyAHQQFxDQAgASgCAEEBRgRAIAEoAgQiAiABKAIITw0BIAEgAkEBajYCBAsgA0G4AWogARCTBiADKAK8ASEBIAMoArgBQQFxDQADQCADQbABaiABEJMGIAMoArQBIQEgAygCsAFBAUcNAAsLAkAgAS0AkQFBAkcNACABKAIAQQFGBEAgASgCBCIIIAEoAggiBk8NAiABIAhBAWoiAjYCBCACIAZPDQEgASAIQQJqNgIECyABQQA6AJEBIANBqAFqIAEQlAogAygCqAEgAygCrAEiAUECOgCRAUEBcQ0AA0AgASgCAEEBRgRAIAEoAgQiAiABKAIITw0CIAEgAkEBajYCBAsCQCABLQCRASICRQRAIANBmAFqIAEQlAogAygCnAEhASADKAKYASEHDAELIAFBADoAkQEgA0GgAWogARCUCiADKAKgASEHIAMoAqQBIgEgAjoAkQELIAdBAUcNAAsLQQAhBwJAIAEoAogBIgYgASgChAFPDQAgASgCgAEgBmotAABB3QBHDQAgASAGQQFqNgKIAUEBIQcLIAEtAHxBAUYEQEEBEJABIgJFDRAgAkHdADoAACADQQE2AuwCIAMgAjYC6AIgA0KAgICAEDcC4AIgASAGIANB4AJqIAcQ+QgLIAcNAgsgASADKAK4AjYCiAEgASADKQOwAjcCgAEgBSABKAIUSw0AIAEgBTYCFAsgAS0AkAFBAUYNBiABLQCRAUUNAyABKAKMASICIA1HDQEgCiABKAIgIgIgASgCLCIGaiIFSSAFIAprQQFGcQ0DIAIgDE8EQCABIAw2AiAgDCECCyAGIAlJDQIgASAJNgIsDAILIAEtAJABIgdBAUYEfyABLQCRAUUNBwJAIA0gASgCjAEiAkYEQCAKIAEoAiwiAiABKAIgIgZqIgVJIAUgCmtBAUZxDQkgBiAMTwRAIAEgDDYCIAsgAiAJSQ0BIAEgCTYCLCAJIQIMAQsgAiANTw0IIAEgDTYCjAFBACECIAFBADYCLCABQQA2AiALIAEoAiQgAkYEQCABQSRqEKMSCyABKAIoIAJqQTQ6AAAgASACQQFqNgIsIAEtAJABBSAHC0H/AXFBAkcNBiABLQCRAUUNBiABKAIUIgUgBE0NAyABKAIQIARBFGxqIgItAAANCyACIAU2AgQgASgCiAEhAiABKAIUIgUgASgCDEYEQCABQQxqEJoSCyABKAIQIAVBFGxqIgkgAjYCECAJQQA2AgggCSAENgIEIAlBgegAOwEAIAEgBUEBajYCFAwGCyACIA1PDQEgASANNgKMAUEAIQIgAUEANgIsIAFBADYCIAsgASgCGCACRgRAIAFBGGoQoxILIAEgAkEBajYCICABKAIcIAJqQTQ6AAALIAEtAHxBAUcNASABLQCRAUUNASABQdQAakE0IBFBACABKAJ4IA5NGxCTBQwBCyAEIAVBnIrIABCFEwALIAEtAJABQQJHDQAgAS0AkQFFDQAgBCABKAIUSw0AIAEgBDYCFAsCQAJAIAEoAgBBAUYEQCABKAIEIgIgASgCCE8NASABIAJBAWo2AgQLQQAhCUEAIQwgASgCjAEiByABKAKIASINRgRAIAEoAiAhDCABKAIsIQkLIAEoAhQhBAJAIAEtAJABQQJHBEAgBCEFDAELIAQhBSABLQCRAUUNACABKAIMIARGBEAgAUEMahCaEgsgASgCECAEQRRsaiICIA02AgggAkEANgIEIAJBADoAACABIARBAWoiBTYCFCABKAKMASEHC0EAIQogByANRgRAIAEoAiwgASgCIGohCgsgASgCeCEOIAEoAlwhEQJAAkACQAJAAkACQAJAIAEoAgBBAUYEQCABKAIEIgIgASgCCE8NASABIAJBAWo2AgQLIAMgASgCiAEiCDYCuAIgAyABKQKAATcDsAJBACEGAkAgCCABKAKEAU8NACABQYABaigCACAIai0AAEH7AEcNACABIAhBAWo2AogBQQEhBgsCQAJAAkACQAJAIAEtAHxBAUYEQEEBEJABIgJFDRUgAkH7ADoAACADQQE2AuwCIAMgAjYC6AIgA0KAgICAEDcC4AIgASAIIANB4AJqIAYQ+QgLIAZFDQQCQCABLQCRAUECRw0AIAEoAgBBAUYEQCABKAIEIgggASgCCCIGTw0GIAEgCEEBaiICNgIEIAIgBk8NASABIAhBAmo2AgQLIAFBADoAkQEgA0GQAWogARCUCiADKAKQASADKAKUASIBQQI6AJEBQQFxDQADQCABKAIAQQFGBEAgASgCBCICIAEoAghPDQIgASACQQFqNgIECwJAIAEtAJEBIgJFBEAgA0GAAWogARCUCiADKAKEASEBIAMoAoABIQcMAQsgAUEAOgCRASADQYgBaiABEJQKIAMoAogBIQcgAygCjAEiASACOgCRAQsgB0EBRw0ACwsgASgCAEEBRgRAIAEoAgQiCCABKAIIIgZPDQUgASAIQQFqIgI2AgQgAiAGTw0EIAEgCEECajYCBAsgASgCFCELIAMgASgCiAE2AsgCIAMgASkCgAE3A8ACIANB+ABqIAEQlwMgAygCfCEBAkAgAygCeEEBcQ0AAkAgAS0AkQFBAkcNACABKAIAQQFGBEAgASgCBCIIIAEoAggiBk8NAiABIAhBAWoiAjYCBCACIAZPDQEgASAIQQJqNgIECyABQQA6AJEBIANB8ABqIAEQlAogAygCcCADKAJ0IgFBAjoAkQFBAXENAANAIAEoAgBBAUYEQCABKAIEIgIgASgCCE8NAiABIAJBAWo2AgQLAkAgAS0AkQEiAkUEQCADQeAAaiABEJQKIAMoAmQhASADKAJgIQcMAQsgAUEAOgCRASADQegAaiABEJQKIAMoAmghByADKAJsIgEgAjoAkQELIAdBAUcNAAsLIAEoAgBBAUcNASABKAIEIgIgASgCCE8NACABIAJBAWoiCDYCBCABKAIIIgYgCE0NACABKAIUIQsgASAIQQFqIgI2AgQgAiAGTwRAQQEhBwwECyABIAhBAmo2AgQMAgsgASADKALIAjYCiAEg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QCADLQDRASIMQQJHBEAgDEEBaw0GDAELIAMoApgBIQwgA0F/NgKYASAMQX9GDQIgCyAHKAIINgIIIAsgBykCADcCACADIAw2AmggA0HoAGoQiAggBCAFRg0LDAELC0Hj48gAQQUQshMMBAtB1IrHAEEQEOISCyEBIANByAFqEMASDAYLIAMgBTYCqAEMBgtB/ZrJAEEEELITCyEBIANByAFqEMASQX8hCQwECyADIAQ2AqgBIAMoApgBIQEgA0F/NgKYASABQX9HDQELQdSKxwBBEBDiEiEBDAULIAMgAykDoAE3A8ABIAMgAygCnAE2ArwBIAMgATYCuAECfwJAAn8CQAJAAkAgBCAFRg0AIANB6ABqQQRyIQEgA0H4AGohCwNAIANB6ABqIAQQyA8gBEEgaiEEIAMoAmhBf0cEQCADIAQ2AqgBIAMoApgBQX9HBEAgA0GYAWoQiAgLIAMgCykDCDcDoAEgAyALKQMANwOYASADQQU2AuQBIANB4+PIADYC4AEgA0EENgLcASADQf2ayQA2AtgBIANB0AFqIANB2AFqIANB6ABqEMcHIAMtANABBEAgAygC1AEMCAsCQAJAIAMtANEBQQFrDgIGAAELIAMoApgBIQogA0F/NgKYASAKQX9GDQcgASAHKAIINgIIIAEgBykCADcCACADIAo2AmggA0HoAGoQiAggBCAFRw0CDAMLIAMoApgBIQEgA0F/NgKYASABQX9GBEBB1IrHAEEQEOISDAgLIAMgATYCaCADIAcoAgg2AnQgAyAHKQIANwJsIANB2AFqIANB6ABqEPoHIAMtANgBQQFHDQMgAygC3AEMBwsgBCAFRw0ACyADIAU2AqgBC0H9mskAQQQQsxMMAgsgA0HoAGoiCiADLQDZASADQbgBahCHASADKAJsIQEgAygCaCIJQX9GDQQgAyABNgLMASADIAk2AsgBIAQgBUYNBSADQfgAaiELIApBBHIhCgJ/AkADQCADQegAaiAEEMgPIARBIGohBCADKAJoQX9HBEAgAyAENgKoASADKAKYAUF/RwRAIANBmAFqEIgICyADIAspAwg3A6ABIAMgCykDADcDmAEgA0EFNgLkASADQePjyAA2AuABIANBBDYC3AEgA0H9mskANgLYASADQdABaiADQdgBaiADQegAahDHBwJAAkACfyADLQDQAQRA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AgA3AgAgASABKAJgNgLoASABIAEpAlg3A+ABIAEgASkCUDcD2AEgASABKQJINwPQASABIAEpAkA3A8gBIAEgASkCODcDwAEgASABKQIwNwO4ASABIAwpAig3A6gBIAEgDCkCIDcDoAEgASAMKQIYNwOYASABIAwpAhA3A5ABIAEgDCkCCDcDiAEgASAMKQIANwOAASABQfgBaiABQYABahBCICKnIQUCQCABKQP4AUIBUQRAIAEpA7gCIiJCIIinIRQgASkDsAIiJEIgiKchEyABKAKsAiEJIAEoAqgCIRogASgCpAIhDiABKAKgAiELIAEoApwCIRsgASgCmAIhHCABKAKUAiEdIAEoApACIRggASgCjAIhHiABKAKIAiEZIAEoAoQCIQMgASgCgAIhBCAipyEVICSnIRBCASEiIAZFDQEgBUEEaygCACIhQXhxIR8gH0EEQQggIUEDcSIhGyAGakkNGyAhQQBHIB8gBkEnaktxDRwgBRC8BQwBCyAiQiCIpyEZIAEpA7ACISMgASgCrAIhFCABKAKoAiEVIAEoAqQCIRMgASgCoAIhECABKAKcAiEJIAEoApgCIRogASgClAIhDiABKAKQAiELIAEoAowCIRsgASgCiAIhHCABKAKEAiEdIAEoAoACIRhCACEiIAYhBCAFIQMLIAdBQGshBiABICM3A3ggASAUNgJ0IAEgFTYCcCABIBM2AmwgASAQNgJoIAEgCTYCZCABIBo2AmAgASAONgJcIAEgCzYCWCABIBs2AlQgASAcNgJQIAEgHTYCTCABIBg2AkggASAeNgJEIAEgGTYCQCABIAM2AjwgASAENgI4IAEgIjcDMCAipw0DIAFB+AFqIA1ByAD8CgAAIAFBuAFqIAEgDSAgEJMDIAEgCikDMDcDsAEgASAKKQMoNwOoASABIAopAyA3A6ABIAEgCikDGDcDmAEgASAKKQMQNwOQASABIAopAwg3A4gBIAEgCikDACIiNwOAASAip0F/RwRAIAFBgAFqEPMFCyAGIBFHDQELCyAHQUBrIQYLQX8hEAwBCyABIA0pAyg3A6ACIAEgDSkDIDcDmAIgASANKQMYNwOQAiABIA0pAxA3A4gCIAEgDSkDCDcDgAIgASANKQMANwP4ASABIBcpAgA3A7gBIAEgFygCCDYCwAELIAYgEUcEQCARIAZrQQZ2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gAFGDQEgB0HAAUcNAiADQdCrwgA2AmwgA0KggICABjcCcCADQdgAaiAIQQN0aigCBCECIAMgA0HIAGo2AmggCiADQegAaiACEQEADRcgCEEBaiEIIAUhBAwDCyACQf8BcSICIAMoAkggAygCUCIGa0sEQCADQcgAaiAGIAIQzhEgAygCUCEGCyACBEAgAygCTCAGaiAFIAL8CgAACyACIAVqIQQgAyACIAZqNgJQDAILIARBA2ohBwJAAkAgBC8AASICIAMoAkggAygCUCIFa0sEQCADQcgAaiAFIAIQzhEgAygCUCEFDAELIAJFDQELIAJFDQAgAygCTCAFaiAHIAL8CgAACyACIAdqIQQgAyACIAVqNgJQDAELQaCAgIAGIQYgAkEBcQRAIAQoAAEhBiAEQQVqIQULQQAhBwJ/IAJBAnFFBEBBACENIAUMAQsgBS8AACENIAVBAmoLIQQgAkEEcQR/IAQvAAAhByAEQQJqBSAECyEFIAJBCHEEfyAFLwAAIQggBUECagUgBQshBCADIAc7AXYgAyANOwF0IAMgBjYCcCADQdCrwgA2AmwgA0HYAGogCEEDdGooAgQhAiADIANByABqNgJoIAogA0HoAGogAhEBAA0UIAhBAWohCAsgBC0AACICDQALIAMoAlAhIiADKAJMIRsgAygCSCEcIAMgGDYCFCADIBk2AhAgAyAjNwNYQQAhBUECIQJBkoLAACEEQQAhBgNAIARBAWohBAJAIALAQQBIBEAgAkH/AXFBgAFGBEAgBC8AACICIAVqIQUgAiAEakECaiEEDAILIAQgAkEDcUEIeCIHQQV0QYCAgIAEcSAHQQd0ckEddmogAkEBdkECcWogAkECdkECcWohBCAFRSAGciEGDAELIAJB/wFxIgIgBGohBCACIAVqIQULIAQtAAAiAg0ACyAGIAVBEElxDQAgBUEBdCICQQBIDQ0gAkUNACACEJABIgQNAQwRC0EBIQRBACECC0EAIQggA0EANgJQIAMgBDYCTCADIAI2AkhBkoLAACEEQQIhAgJAAkADQCAEQQFqIQUCQAJAAkAgAsBBAEgEQCACQf8BcSIHQYABRg0BIAdBwAFHDQIgA0HQq8IANgJsIANCoICAgAY3AnAgA0HYAGogCEEDdGooAgQhAiADIANByABqNgJoIANBEGogA0HoAGogAhEB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9QUgBSgCvAIiASgCACEAIAEgAEEBazYCACAAQQFGBEAgBSgCvAIQMAsgBSgCMCIBKAIAIQAgASAAQQFrNgIAIABBAUcNACAFKAIwEDALIAVBoBFqJAAPC0EBEKcUAAsgBiAHQeT+yAAQhRMACxCeFQALQQgQpxQACwALQdCcyQBBLkGAnckAEK8UAAtBkJ3JAEEuQcCdyQAQrxQAC0HwtckAQTcgBUGfEWpBuPHFAEGotskAENoSAAtBuPDJAEEBOgAAAAvCLwMNfwd+AXwjAEGQAWsiAiQAAkACQAJAIABQDQACQAJAAkACQAJAAkACQAJAAkAgAEL/////////D1YNACABRQRAIAC6IRYMCgsgAUEWakEtTwRAIAFBJk8NASACQRBqIABCACABQQN0QcjyyABqKQMAQgAQ7hEgAikDGEIAUg0BIAIpAxAiD0L/////////D1YNASAPukSS1U0Gz/CARKIhFgwKCyAAuiEWIAFBAEoNASAWQYiOyQAgAUEDdGsrAwCjIRYMCQtB/////wcgAUHeAmoiBCABIARKGyIGQQptIQQgBkEASARAQgAhDwwECyAEQcEASwRAQf8PIQdCgICAgICAgICAfyEPDAQLIAYgBEEKbGsiBkEASA0EIAIgAEIAIAZBA3QiAykDmPNIQgAQ7hECfiACKQMIUARAQQBBACACKQMAIg95pyAPUBsiBmshA0EEIQogDyAGrYYMAQsgAykDiOxIIhBC/////w+DIhIgACAAeSIRhiITQiCIIhR+IQ8gEEIgiCIVIBNC/////w+DIhN+IRAgBkECdCgC2OxIIBGna0FAayEDQQkhCiAUIBV+IA9CIIh8IBBCIIh8IBBC/////w+DIA9C/////w+DfCASIBN+QiCIfEKAgICACHxCIIh8CyIPQiCIIhIgBEEDdCkDgO1IIhFC/////w+DIhN+IRAgEUIgiCIRIA9C/////w+DIhR+IQ9BACARIBJ+IBBCIIh8IA9CIIh8IA9C/////w+DIBBC/////w+DfCATIBR+QiCIfEKAgICACHxCIIh8Ig95pyAPUBshBiAPIAathiEPIARBAnQoApDxSCADaiAGayIEQUBrIQdBC0GOdyAEayAHQcN3ThsiBEHBAEsNAiAErSERIAogBnStIRIgDyEQAkACQCAEQUBqDgIBAwALIA9CfyAR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AkACQAJAIABQDQACQAJAAkACQAJAAkACQAJAAkAgAEL///8HVg0AIAFFBEAgALUhFwwKCyABQQpqQRVPBEAgAUESTw0BIAJBEGogAEIAIAFBA3RBqPPIAGopAwBCABDuESACKQMYQgBSDQEgAikDECIQQv///wdWDQEgELVD+QIVUJQhFwwKCyAAtSEXIAFBAEoNASAXQYyWyQAgAUECdGsqAgCVIRcMCQtB/////wcgAUHeAmoiBCABIARKGyIGQQptIQQgBkEASARAQgAhEAwECyAEQcEASwRAQf8PIQdCgICAgICAgICAfyEQDAQLIAYgBEEKbGsiBkEASA0EIAIgAEIAIAZBA3QiAykDmPNIQgAQ7hECfiACKQMIUARAQQBBACACKQMAIhB5pyAQUBsiBmshA0EEIQogECAGrYYMAQsgAykDiOxIIhFC/////w+DIhMgACAAeSIShiIUQiCIIhV+IRAgEUIgiCIWIBRC/////w+DIhR+IREgBkECdCgC2OxIIBKna0FAayEDQQkhCiAVIBZ+IBBCIIh8IBFCIIh8IBFC/////w+DIBBC/////w+DfCATIBR+QiCIfEKAgICACHxCIIh8CyIQQiCIIhMgBEEDdCkDgO1IIhJC/////w+DIhR+IREgEkIgiCISIBBC/////w+DIhV+IRBBACASIBN+IBFCIIh8IBBCIIh8IBBC/////w+DIBFC/////w+DfCAUIBV+QiCIfEKAgICACHxCIIh8IhB5pyAQUBshBiAQIAathiEQIARBAnQoApDxSCADaiAGayIEQUBrIQdBKEGrfiAEayAHQcN+ThsiBEHBAEsNAiAErSESIAogBnStIRMgECERAkACQCAEQUBqDgIBAwALIBBCfyAShkJ/hYMhEQtCASASQgF9hiISIBN9IBFaDQIgESASIBN8Wg0CDAcLIAFBAnQqAoyWSSAXlCEXDAcLIBMgEEJ/hVYNBQtBACAQeacgEFAbIQULIBAgBa2GIRAgByAFayIBQShqIgVB635OBEAgEEIoiCEAIBBC//////8fg0KAgICAgBBWDQIgEEL//////z+DQoCAgICAMFINAwwCCyABQap+TQ0EIAFBq35GBEAgEEKAgICAgICAgIB/WA0FQgAhAEHrfiEFDAILIBBB634gAWutIhGIIQAgEEJ/IBGGQn+FgyIQ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aiEMIAJB8AVqIQ0gAkGwBWohA0GIASEEA0AgAkGoBWogASAIKAIAIhAQmAEgAiADKQMANwOABCACIAMpAwg3A4gEIAIgAykDEDcDkAQgAiADKQMYNwOYBCACIAMpAyA3A6AEIAIgAykDKDcDqAQgAiADKQMwNwOwBCACIAMpAzg3A7gEIAIpA6gFIhZCf1EEQCACIAIpA4AENwPoBCACIAIpA4gENwPwBCACIAIpA5AENwP4BCACIAIpA5gENwOABSACIAIpA6AENwOIBSACIAIpA6gENwOQBSACIAIpA7AENwOYBSACIAIpA7gENwOgBSACQcABahD0BSACIAIpA6AFNwP4ASACIAIpA5gFNwPwASACIAIpA5AFNwPoASACIAIpA4gFNwPgASACIAIpA4AFNwPYASACIAIpA/gENwPQASACIAIpA/AENwPIASACIAIpA+gENwPAAQwCCyACIA0pAyA3A7gGIAIgDSkDGDcDsAYgAiANKQMQNwOoBiACIA0pAwg3A6AGIAIgDSkDADcDmAYgAiACKQOABDcD6AQgAiACKQOIBDcD8AQgAiACKQOQBDcD+AQgAiACKQOYBDcDgAUgAiACKQOgBDcDiAUgAiACKQOoBDcDkAUgAiACKQOwBDcDmAUgAiACKQO4BDcDoAUgEiAQEIINIAIgAikDuAYiFzcD4AYgAiACKQOwBiIYNwPYBiACIAIpA6gGIhk3A9AGIAIgAikDoAYiGjcDyAYgAiACKQOYBiIbNwPABiAMIAIpA/AGNwMwIAwgAikD6AY3AyggDCAXNwMgIAwgGDcDGCAMIBk3AxAgDCAaNwMIIAwgGzcDACACIAIpA6AFNwOwByACIAIpA5gFNwOoByACIAIpA5AFNwOgByACIAIpA4gFNwOYByACIAIpA4AFNwOQByACIAIpA/gENwOIByACIAIpA/AENwOAByACIAIpA+gENwP4BiACQYgDaiACQfgGakH4APwKAAAgAigChAIgBUYEQCACQYQCaiAFQQFBCEGAARCzESACKAKIAiEKCyAEIApqIhBBCGsgFjcDACAQIAJBiANqQfgA/AoAACACIAVBAWoiBTYCjAIgBEGAAWohBCAIQQhqIQggCUEIayIJDQALCyAOBEAgC0EEaygCACIDQXhxIQEgASAOQQN0IgRBBEEIIANBA3EiAxtqSQ0M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AUUNASABQdQAakECIBVBACABKAJ4IBRNGxCTBQwBCyANIAJBnIrIABCFEwALIAEtAJABQQJHDQEgAS0AkQFFDQEgDSABKAIUSw0BIAEgDTYCFAwBC0EAIQIgAS0AfEUNACABLQCRAUUNACABQdQAakECIBVBACABKAJ4IBRNGxCTBQsgACABNgIEIAAgAjYCACADQYACaiQADwtBoKvJAEEoQayKyAAQrxQAC9QuARV/IwBB8AFrIgMkAEEBIQICQAJAIAEoAgBBAUYEQCABKAIEIgUgASgCCE8NASABIAVBAWo2AgQLIAEoAowBIgIgASgCiAEiDkYEQCABKAIgIREgASgCLCEQCyABKAIUIQ0CQCABLQCQAUECRwRAIA0hCwwBCyANIQsgAS0AkQFFDQAgASgCDCALRgRAIAFBDGoQmhILIAEoAhAgDUEUbGoiAiAONgIIIAJBADYCBCACQQA6AAAgASANQQFqIgs2AhQgASgCjAEhAgsgAiAORgRAIAEoAiwgASgCIGohEgsgASgCeCEUIAEoAlwhFQJAAn8CQAJAAkACQAJAAkAgASgCAEEBRgRAIAEoAgQiBSABKAIISQ0BQQEhBAwICyADIAEoAogBNgLYASADIAEpAoABNwPQASABQYABaiEHDAELIAEgBUEBajYCBCADIAEoAogBNgLYASADIAEpAoABNwPQASABQYABaiEHIAEoAgQiBSABKAIITw0BIAEgBUEBajYCBAtBACEFIAIgASgCiAEiBEYEQCABKAIgIQggASgCLCEFCwJAIAEtAJABQQJHDQAgAS0AkQFFDQAgASgCDCALRgRAIAFBDGoQmhILIAEoAhAgC0EUbGoiAiAENgIIIAJBADYCBCACQQA6AAAgASALQQFqNgIUIAEoAowBIQILIAIgBEYEQCABKAIsIAEoAiBqIQoLAkAgASgCiAEiAkF1Sw0AIAJBCmoiCSABKAKEAUsNACAHKAIAIAJqIgwpAABC5MLRi7bu27ryAIUgDEEIajMAAELjygGFhEIAUg0AIAEgCTYCiAFBASEGCyABKAJ4IQwgASgCXCEPAkACQAJAIAEtAHxBAUYEQEEKEJABIglFDQEgCUGoi8gALwAAOwAIIAlBoIvIACkAADcAACADQQo2AuwBIAMgCTYC6AEgA0KAgICAoAE3AuABIAEgAiADQeAB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AiABIAJBAWoiBDYCBCAEIAVPDQEgASACQQJqNgIECyABQQA6AJEBIANByAFqIAEQlAogAygCyAEgAygCzAEiAUECOgCRAUEBcQ0AA0AgASgCAEEBRgRAIAEoAgQiAiABKAIITw0CIAEgAkEBajYCBAsCQCABLQCRASIFRQRAIANBuAFqIAEQlAogAygCvAEhASADKAK4ASECDAELIAFBADoAkQEgA0HAAWogARCUCiADKALAASECIAMoAsQBIgEgBToAkQELIAJBAUcNAAsLIANBsAFqIAEQ5wMgAygCtAEhASADKAKwAUEBcQ0AAkAgAS0AkQFBAkcNACABKAIAQQFGBEAgASgCBCICIAEoAggiBU8NAiABIAJBAWoiBDYCBCAEIAVPDQEgASACQQJqNgIECyABQQA6AJEBIANBqAFqIAEQlAogAygCqAEgAygCrAEiAUECOgCRAUEBcQ0AA0AgASgCAEEBRgRAIAEoAgQiAiABKAIITw0CIAEgAkEBajYCBAsCQCABLQCRASIFRQRAIANBmAFqIAEQlAogAygCnAEhASADKAKYASECDAELIAFBADoAkQEgA0GgAWogARCUCiADKAKgASECIAMoAqQBIgEgBToAkQELIAJBAUcNAAsLIANBkAFqIAEQgQIgAygClAEhASADKAKQAUEBcQ0AAkAgAS0AkQFBAkcNACABKAIAQQFGBEAgASgCBCICIAEoAggiBU8NAiABIAJBAWoiBDYCBCAEIAVPDQEgASACQQJqNgIECyABQQA6AJEBIANBiAFqIAEQlAogAygCiAEgAygCjAEiAUECOgCRAUEBcQ0AA0AgASgCAEEBRgRAIAEoAgQiAiABKAIITw0CIAEgAkEBajYCBAsCQCABLQCRASIFRQRAIANB+ABqIAEQlAogAygCfCEBIAMoAnghAgwBCyABQQA6AJEBIANBgAFqIAEQlAogAygCgAEhAiADKAKEASIBIAU6AJEBCyACQQFHDQALCyABKAIAQQFGBEAgASgCBCICIAEoAghPDQEgASACQQFqNgIEC0EAIQpBACEFIAEoAowBIgYgASgCiAEiBEYEQCABKAIsIQogASgCICEFCyABKAIUIQICQCABLQCQAUECRwRAIAIhBwwBCyACIQcgAS0AkQFFDQAgASgCDCACRgRAIAFBDGoQmhILIAEoAhAg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BEAgASgCBCICIAEoAghPDQEgASACQQFqNgIECyADIAEoAogBIgI2AvgBIAMgASkCgAE3A/ABQQAhBAJAIAIgASgChAFPDQAgAUGAAWooAgAgAmotAABBKEcNACABIAJBAWo2AogBQQEhBAsCQAJAAkACQAJAAkAgAS0AfEEBRgRAQQEQkAEiBUUNASAFQSg6AAAgA0EBNgKsAiADIAU2AqgCIANCgICAgBA3AqACIAEgAiADQaACaiAEEPkICyAERQ0FAkAgAS0AkQFBAkcNACABKAIAQQFGBEAgASgCBCICIAEoAggiBE8NByABIAJBAWoiBTYCBCAEIAVNDQEgASACQQJqNgIECyABQQA6AJEBIANB6AFqIAEQlAogAygC6AEgAygC7AEiAUECOgCRAUEBcQ0AA0AgASgCAEEBRgRAIAEoAgQiAiABKAIITw0CIAEgAkEBajYCBAsCQCABLQCRASIERQRAIANB2AFqIAEQlAogAygC3AEhASADKALYASECDAELIAFBADoAkQEgA0HgAWogARCUCiADKALgASECIAMoAuQBIgEgBDoAkQELIAJBAUcNAAsLIAEoAgBBAUYEQCABKAIEIgIgASgCCCIETw0GIAEgAkEBaiIFNgIEIAQgBU0NBSABIAJBAmo2AgQLIAEoAhQhBSADIAEoAogBNgKIAiADIAEpAoABNwOAAiADQdABaiABEJYDIAMoAtQBIQECQAJ/AkAgAygC0AFBAUcNACADQcgBaiABEPoDIAMoAswBIQEgAygCyAFBAUcNACADQcABaiABEEAgAygCxAEhASADKALAAQwBC0EAC0EBcQ0AAkAgAS0AkQFBAkcNACABKAIAQQFGBEAgASgCBCICIAEoAggiBE8NAiABIAJBAWoiBjYCBCAEIAZNDQEgASACQQJqNgIECyABQQA6AJEBIANBuAFqIAEQlAogAygCuAEgAygCvAEiAUECOgCRAUEBcQ0AA0AgASgCAEEBRgRAIAEoAgQiAiABKAIITw0CIAEgAkEBajYCBAsCQCABLQCRASIERQRAIANBqAFqIAEQlAogAygCrAEhASADKAKoASECDAELIAFBADoAkQEgA0GwAWogARCUCiADKAKwASECIAMoArQBIgEgBDoAkQELIAJBAUcNAAsLIAEoAgBBAUcNAiABKAIEIgIgASgCCE8NACABIAJBAWoiBDYCBCABKAIIIgIgBE0NACABKAIUIQYgASAEQQFqIgU2AgQgAiAFTQRAQQEhAgwFCyABIARBAmo2AgQMAwsgASADKAKIAjYCiAEgASADKQOAAjcCgAEgBSABKAIUSw0EIAEgBTYCFAwEC0EBEKcUAAsgASgCFCEGCyADIAFBgAFqIgIoAgg2ApgCIAMgAikCADcDkAJBACECAkAgASgCiAEiBCABKAKEAU8NACABKAKAASAEai0AAEEsRw0AIAEgBEEBajYCiAFBASECCwJ/AkAgAS0AfEEBRgRAQQEQkAEiBUUNECAFQSw6AAAgA0EBNgKsAiADIAU2AqgCIANCgICAgBA3AqACIAEgBCADQaACaiACEPkICyACRQ0AAkAgAS0AkQFBAkcNACABKAIAQQFGBEAgASgCBCICIAEoAggiBE8NAiABIAJBAWoiBTYCBCAEIAVNDQEgASACQQJqNgIECyABQQA6AJEBIANBoAFqIAEQlAogAygCoAEgAygCpAEiAUECOgCRAUEBcQ0AA0AgASgCAEEBRgRAIAEoAgQiAiABKAIITw0CIAEgAkEBajYCBAsCQCABLQCRASIERQRAIANBkAFqIAEQlAogAygClAEhASADKAKQASECDAELIAFBADoAkQEgA0GYAWogARCUCiADKAKYASECIAMoApwBIgEgBDoAkQELIAJBAXFFDQALCyADQYgBaiABEJYDIAMoAowBIQECQCADKAKIAUEBRw0AIANBgAFqIAEQ+gMgAygChAEhASADKAKAAUEBRw0AIANB+ABqIAEQQCADKAJ8IQEgAygCeAwCC0EADAELQQELIgJBAUcNACABIAMoApgCNgKIASABIAMpA5ACNwKAASAGIAEoAhRLDQAgASAGNgIUCyACQQFxDQACQAJAAkACQCABKAIAQQFGBEAgASgCBCIEIAEoAggiBU8NBUEBIQIgASAEQQFqIgY2AgQgBSAGTQ0EIAEgBEECaiICNgIEIAEoAhQhBiADIAEoAogBNgKoAiADIAEpAoABNwOgAiABLQCRAUECRw0CIAIgBUkEQCABIARBA2oiAjYCBCACIAVPDQMgASAEQQRqNgIEDAILIAEgAygCqAI2AogBIAEgAykDoAI3AoABQQEhAgwDCyABKAIUIQYgAyABKAKIATYCqAIgAyABKQKA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C0EUIQRBFBCQASIDRQ0PIANBkq7JACgAADYAECADQYquyQApAAA3AAggA0GCrskAKQAANwAADAYLQRchBEEXEJABIgNFDQ8gA0GlrskAKQAANwAPIANBnq7JACkAADcACCADQZauyQApAAA3AAAMBQtBBSEEQQUQkAEiA0UNICADQbGuyQAtAAA6AAQgA0GtrskAKAAANgAADAQLQQ8hBEEPEJABIgNFDQ4gA0G5rskAKQAANwAHIANBsq7JACkAADcAAAwDC0ERIQRBERCQASIDRQ0OIANB0a7JAC0AADoAECADQcmuyQApAAA3AAggA0HBrskAKQAANwAADAILQRUhBEEVEJABIgNFDQ4gA0HfrskAKQAANwANIANB2q7JACkAADcACCADQdKuyQApAAA3AAAMAQtBDSEEQQ0QkAEiA0UNDiADQeyuyQApAAA3AAUgA0HnrskAKQAANwAACyACQYOAgIB4NgLQAyACIAQ2AsgDIAIgAzYCxAMgAiAENgLAAyACQfADaiACQdACaiACQbADaiACQcADahDSAyACIAIpA6AENwOoAyACIAIpA5gENwOgAyACIAIpA5AENwOYAyACIAIpA4gEIgs3A5ADIAIgAikDgAQ3A4gDIAIgAikD+AM3A4ADIAunQX9HBEAgAkGAA2oQ+wkLAkAgAigCUCIDQX9GDQACQAJAAkACQAJAAkBBBSADQYCAgIB4cyADQQBOG0EBaw4FAAECAwQGCyACQQA6AMADIAIgAkHAA2qtQoCAgIDQAoQ3A/ADIAJB8ANqENoRIQUMBAsCQAJAAkAgAigCQEEBaw4CAQIACyACQQE6AMADIAIgAkHAA2qtQoCAgIDQAoQ3A/ADIAJB8ANqENoRIQUMBQsgAkEBOgDAAyACIAJBwANqrUKAgICA0AKENwPwAyACQfADahDaESEFDAQLIAJBAjoAwAMgAiACQcADaq1CgICAgNAChDcD8AMgAkHwA2oQ2hEhBQwDCyACQQQ6AMADIAIgAkHAA2qtQoCAgIDQAoQ3A/ADIAJB8ANqENoRIQUMAgsgAkEHOgDAAyACIAJBwANqrUKAgICA0AKENwPwAyACQfADahDaESEFDAELIAIoAlhBBnQhBCACKAJUIQMDQCAERQ0CIARBQGohBCACQcACaiADQTRqIAMQ5A8hBSADQUBrIQMgBUUN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IAZBFGxqIgIgBDYCCCACQQA2AgQgAkEAOgAAIAEgBkEBajYCFCABKAKMASECCyACIARGBEAgASgCLCABKAIgaiEKCwJAIAEoAogBIgJBe0sNACACQQRqIg8gASgChAFLDQAgDigCACACaigAAEHl3NXrBkcNACABIA82AogBQQEhCAsgASgCeCEOIAEoAlwhDwJAAkACQAJAIAEtAHxBAUYEQEEEEJABIglFDQEgCUHl3NXrBjYAACADQQQ2AvwBIAMgCTYC+AEgA0KAgICAwAA3AvABIAEgAiADQfABaiAIEPkICyABLQCQASECAkACQAJAIAhFBEAgAkH/AXFBAUYNCCABLQCRAUUNAyABKAKMASICIARHDQEgCiABKAIgIgIgASgCLCIEaiIISSAIIAprQQFGcQ0DIAIgB08EQCABIAc2AiAgByECCyAEIAVJDQIgASAFNgIsDAILIAJB/wFxQQFGBH8gAS0AkQFFDQcCQCAEIAEoAowBIgJGBEAgCiABKAIsIgIgASgCICIEaiIISSAIIAprQQFGcQ0JIAQgB08EQCABIAc2AiALIAIgBUkNASABIAU2AiwgBSECDAELIAIgBE8NCCABIAQ2AowBQQAhAiABQQA2AiwgAUEANgIgCyABKAIkIAJGBEAgAUEkahCjEgsgASgCKCACakEqOgAAIAEgAkEBajYCLCABLQCQAQUgAgtB/wFxQQJHDQYgAS0AkQFFDQYgASgCFCICIAZNDQQgASgCECAGQRRsaiIFLQAADQsgBSACNgIEIAEoAogBIQcgASgCFCIFIAEoAgxGBEAgAUEMahCaEgsgASgCECAFQRRsaiICIAc2AhAgAkEANgIIIAIgBjYCBCACQYHUADsBACABIAVBAWo2AhQMBgsgAiAETw0BIAEgBDYCjAFBACECIAFBADYCLCABQQA2AiALIAEoAhggAkYEQCABQRhqEKMSCyABIAJBAWo2AiAgASgCHCACakEqOgAACyABLQB8QQFHDQIgAS0AkQFFDQIgAUHUAGpBKiAPQQAgASgCeCAOTRsQkwUMAgtBARCnFAALIAYgAkGcisgAEIUTAAsgAS0AkAFBAkcNASABLQCRAUUNASAGIAEoAhRLDQEgASAGNgIUDAELAkAgAS0AfEUNACABLQCRAUUNACABQdQAakEqIA9BACABKAJ4IA5NGxCTBQsCQCABLQCRAUECRw0AIAEoAgBBAUYEQCABKAIEIgIgASgCCCIFTw0CIAEgAkEBaiIHNgIEIAUgB00NASABIAJBAmo2AgQLIAFBADoAkQEgA0HYAWogARCUCiADKALYASADKALcASIBQQI6AJEBQQFxDQADQCABKAIAQQFGBEAgASgCBCICIAEoAghPDQIgASACQQFqNgIECwJAIAEtAJEBIgVFBEAgA0HIAWogARCUCiADKALMASEBIAMoAsgBIQIMAQsgAUEAOgCRASADQdABaiABEJQKIAMoAtABIQIgAygC1AEiASAFOgCRAQsgAkEBRw0ACwsgA0HAAWogARDnAyADKALEASEBIAMoAsABQQFxDQACQCABLQCRAUECRw0AIAEoAgBBAUYEQCABKAIEIgIgASgCCCIFTw0CIAEgAkEBaiIHNgIEIAUgB00NASABIAJBAmo2AgQLIAFBADoAkQEgA0G4AWogARCUCiADKAK4ASADKAK8ASIBQQI6AJEBQQFxDQADQCABKAIAQQFGBEAgASgCBCICIAEoAghPDQIgASACQQFqNgIECwJAIAEtAJEBIgVFBEAgA0GoAWogARCUCiADKAKsASEBIAMoAqgBIQIMAQsgAUEAOgCRASADQbABaiABEJQKIAMoArABIQIgAygCtAEiASAFOgCRAQsgAkEBRw0ACwsgA0GgAWogARCBAiADKAKkASEBIAMoAqABQQFxDQACQCABLQCRAUECRw0AIAEoAgBBAUYEQCABKAIEIgIgASgCCCIFTw0CIAEgAkEBaiIHNgIEIAUgB00NASABIAJBAmo2AgQLIAFBADoAkQEgA0GYAWogARCUCiADKAKYASADKAKcASIBQQI6AJEBQQFxDQADQCABKAIAQQFGBEAgASgCBCICIAEoAghPDQIgASACQQFqNgIECwJAIAEtAJEBIgVFBEAgA0GIAWogARCUCiADKAKMASEBIAMoAogBIQIMAQsgAUEAOgCRASADQZABaiABEJQKIAMoApABIQIgAygClAEiASAFOgCRAQsgAkEBRw0ACwsgASgCAEEBRgRAIAEoAgQiAiABKAIITw0BIAEgAkEBajYCBAtBACEFQQAhByABKAKMASIEIAEoAogBIgJGBEAgASgCICEHIAEoAiwhBQsgASgCFCEIAkAgAS0AkAFBAkcNACABLQCRAUUNACABKAIMIAhGBEAgAUEMahCaEgsgASgCECAIQRRsaiIEIAI2AgggBEEANgIEIARBADoAACABIAhBAWo2AhQgASgCjAEhBAtBACEKIAIgBEYEQCABKAIsIAEoAiBqIQoLIAEoAnghDiABKAJcIQ8CQAJAAkACQAJAAkACQCABKAIAQQFGBEAgASgCBCIJIAEoAggiEk8NASABIAlBAWoiEzYCBCASIBNNDQEgASAJQQJqNgIECyADQYABaiABENYCIAMoAoQBIQEgAygCgAFBAUcNBSABKAIAQQFGBEAgASgCBCIEIAEoAghPBEBBASEEDAYLIAEgBEEBajYCBAsgASgCFCEJIAMgASgCiAE2AvgBIAMgASkCgAE3A/ABIANB+ABqIAEQ2wIgAygCfCEBIAMoAnhBAXENAQJAIAEtAJEBQQJHDQAgASgCAEEBRgRAIAEoAgQiBCABKAIIIhJPDQMgASAEQQFqIhM2AgQgEiATTQ0BIAEgBEECajYCBAsgAUEAOgCRASADQfAAaiABEJQKIAMoAnAgAygCdCIBQQI6AJEBQQFxDQADQCABKAIAQQFGBEAgASgCBCIEIAEoAghPDQIgASAEQQFqNgIECwJAIAEtAJEBIhJFBEAgA0HgAGogARCUCiADKAJkIQEgAygCYCEEDAELIAFBADoAkQEgA0HoAGogARCUCiADKAJoIQQgAygCbCIBIBI6AJEBCyAEQQFxRQ0ACwsgA0HYAGogARCuCyADKAJcIQEgAygCWCEEDAMLIAEtAJABQQFGDQYCQCABLQCRAUUNAAJAIAIgBEYEQCAKIAEoAiAiAiABKAIsIgRqIglJIAkgCmtBAUZxDQIgAiAHTwRAIAEgBzYCICAHIQILIAQgBUkNASABIAU2AiwMAQsgAiAETQ0BIAEgAjYCjAFBACECIAFBADYCLCABQQA2AiALIAEoAhggAkYEQCABQRhqEKMSCyABIAJBAWo2AiAgASgCHCACakEUOgAACyABLQB8QQFHDQEgAS0AkQFFDQEgAUHUAGpBFCAPQQAgASgCeCAOTRsQkwUMAQtBASEEDAELIAEtAJABQQJHDQQgAS0AkQFFDQQgCCABKAIUSw0EIAEgCDYCFEEBDAULIARBAUcNACABIAMoAvgBNgKIASABIAMpA/ABNwKAASAJIAEoAhRLDQAgASAJNgIUCyAEQQFHDQACQCABKAIAQQFGBEAgASgCBCIEIAEoAghPDQEgASAEQQFqNgIECwJAIAEtAJEBIglBAUYEQCADQcgAaiABEIEDIAMoAkwhASADKAJIIQQMAQsgAUEBOgCRASADQdAAaiABEIEDIAMoAlAhBCADKAJUIgEgCToAkQELIARBAXFFDQELIANBQGsgARC6BSADKAJEIQEgAygCQEEBRw0AIANBOGogARDRAyADKAI8IQEgAygCOEEBcQ0BCyABKAIAQQFGBEAgASgCBCIEIAEoAghPDQEgASAEQQFqNgIECyADQTBqIAEQyQUgAygCNCEBIAMoAjBBAXENAANAIANBKGogARDJBSADKAIsIQEgAygCKEEBcUUNAAsLAkAgAS0AkAEiBEEBRgR/IAEtAJEBRQ0BAkAgAiABKAKMASIERgRAIAogASgCLCICIAEoAiAiBGoiCUkgCSAKa0EBRnENAyAEIAdPBEAgASAHNgIgCyACIAVJDQEgASAFNgIsIAUhAgwBCyACIARNDQIgASACNgKMAUEAIQIgAUEANgIsIAFBADYCIAsgASgCJCACRgRAIAFBJGoQoxILIAEoAiggAmpBFDoAACABIAJBAWo2AiwgAS0AkAEFIAQLQf8BcUECRw0AIAEtAJEBRQ0AAkAgCCABKAIUIgJJBEAgASgCECAIQRRsaiIFLQAADQEgBSACNgIEIAEoAogBIQcgASgCFCIFIAEoAgxGBEAgAUEMahCaEgsgASgCECAFQRRsaiICIAc2AhAgAkEANgIIIAIgCDYCBCACQYEoOwEAIAEgBUEBajYCFAwCCyAIIAJBnIrIABCFEwALDAULAkAgAS0AfEUNACABLQCRAUUNACABQdQAakEUIA9BACABKAJ4IA5NGxCTBQsCQCABLQCRAUECRw0AIAEoAgBBAUYEQCABKAIEIgIgASgCCCIFTw0CIAEgAkEBaiIHNgIEIAUgB00NASABIAJBAmo2AgQLIAFBADoAkQEgA0EgaiABEJQKIAMoAiAgAygCJCIBQQI6AJEBQQFxDQADQCABKAIAQQFGBEAgASgCBCICIAEoAghPDQIgASACQQFqNgIECwJAIAEtAJEBIgVFBEAgA0EQaiABEJQKIAMoAhQhASADKAIQIQIMAQsgAUEAOgCRASADQRhqIAEQlAog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A8AGIAMgAykCrAE3A8gGIAMgAykCtAE3A9AGIAMgAygCvAE2AtgGIAMoAqABIgdBfUsNASADIAMoAtgGNgK8ASADIAMpA9AGNwK0ASADIAMpA8gGNwKsASADIAMpA8AGNwKkAQwCCxDTEwALIANBoAFqQQRyEJYRIANBADYCsAFBFiEHCyADIAc2AqABQcDwyQACfkHQ8MkALQAABEBByPDJACkDACEmQcDwyQApAwAMAQsgA0HABmoQuxFB0PDJAEEBOgAAQcjwyQAgAykDyAYiJjcDACADKQPABgsiJ0IBfDcDACADIAMpAqQBNwMgIAMgAykCrAE3AyggAyADKQK0ATcDMCADIAMoArwBNgI4IANBkKnJACkDADcDECADQZipyQAoAgA2AhgCQAJAAkACQCADKAIEIgIgAygCDCIMRgRAQQghCUEIIQ4MAQsgA0G4A2oiBUE8aiEcIANBwAZqIgRBPGohDyADQZAEaiIGQTxqIR0gA0GQBWoiCUE8aiEeIANBoAFqIgpBPGohFCAKQQRyIQggA0GYAmohCyAEQQhqIRogBUEBciEVIAVByABqIR8gBEHIAGohECAEQQFyIQQgBkEBciEWIAZByABqISAgA0HAAWohFyAJQQFyIRggCUHIAGohISADQaQDaiENIANB7AVqIRsgA0GUAmohIiADQZACaiEZIANBgAJqISMgA0HwAWohJUEAIQZBCCEJQQAhCkEAIQVBCCEOA0ACQCADIAJB2ABqNgIEAkACQAJAAkACQAJAIAIoAgAiEUF/RwRAICMgAigCUDYCCCAjIAIpAkg3AgAgIiACQQRqQcQA/AoAACAIIAMpAyA3AgAgCCADKQMoNwIIIAggAykDMDcCECAIIAMoAjg2AhggFCADKQMQNwIAIBQgAygCGDYCCCADIAc2AqABIAMgBjYC2AEgAyAJNgLUASADIAo2AtABIAMgJjcDyAEgAyAnNwPAASADIBE2ApACIAMgJDYC/AEgAyAFNgL4ASADIA42AvQBIAMgEzYC8AEgAyAoNwPoASADKAKAAiEMIAMoAoQCIREgAygCiAIhAiADQdgCaiAZQcgA/AoAACADQegFaiABIBEgAhDcBCADKALoBUF/Rw0BIAMgGykCEDcDsAMgAyAbKQIINwOoAyADIBspAgAiKTcDoAMCQAJAAkAgKadBAWsOAgECAAsCQAJAAkAgAygC2AIiAkUEQCADKALgAkEVRg0BCyADKAKkAyIHKAIAIQYgByAGQQFqNgIAIAZBAEgNASACQQRGDQIgAyACNgLABiADQcAGaiIBQQRyICJBxAD8CgAAIAMgAa1CgICAgPAghDcDgAUgA0GgBmpBoe/BACADQYAFahC4DCADQQA6AKwGIANBfzYCgAYgARCuByADIAMpA4AGIig3A/gEIAMgAykD+AUiKTcD8AQgAyADKQPwBSIqNwPoBCADIAMpAqQGNwNwIAMgAygCrAY2AnggAykDiAYhJyADKQOQBiEmIAMoApgGIQogAygCnAYhCSADKAKgBiEGIAcgBygCACIBQQFrNgIAIAMgKjcChAEgAyApNwKMASADICg3ApQBIAFBAUcNCSAHEDAMCQsgAygCpAMiEigCACECIBIgAkEBazYCACADIAMoAjg2ApgBIAMgAykDMDcDkAEgAyADKQMoNwOIASADIAMpAyA3A4ABIAMgAykDEDcDcCADIAMoAhg2AnggAkEBRgRAIAMoAqQDEDALIANB2AJqEK4HDAoLAAsgAygCqAMhBiAFIBNGBH8gJRCpEiADKAL0AQUgDgsgBUHIAGxqIgIgBjYCBCACIAc2AgAgAiALKQMANwMIIAIgCykDCDcDECACIAspAxA3AxggAiALKQMYNwMgIAIgCykDIDcDKCACIAspAyg3AzAgAiALKQMwNwM4IAIgCykDODcDQCADIAVBAWo2AvgBDAcLIA0QrRAgAygCtAMhAkUEQCADQcAGaiANIBkQqQMgAy0AwAYiBUH+AUYEQCADIAMpA9gGIic3AP8FIAMgAykD0AYiJjcA9wUgAyADKQPIBiIoNwDvBSADIAMpAvwGNwPoBCADIAMoAoQHNgLwBCADICg3AoQBIAMgJjcCjAEgAyAnNwKUASADKQPgBiEnIAMpA+gGISYgAygC8AYhCiADKAL0BiEJIAMoAvgGIQYgAyADKALwBDYCeCADIAMpA+gENwNwIAIgAigCACIBQQFrNgIAIAFBAUcNByACEDAMBwsgICAQKQMINwMIICAgECkDADcDACADIAQpABc3AP8FIAMgBCkAEDcD+AUgAyAEKQAINwPwBSADIAQpAAA3A+gFIAMgDykAADcD6AQgAyAPKAAINgLwBCADKQPgBiEnIAMpA+gG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QeACaiAGEH8gAigC8AJBf0YNAiAGQSBqIQYgAigCgAEgAUYEQCACQYABahCUEiACKAKEASEECyADIARqIgUgAikD4AI3AwAgBSACKQOIAzcDKCAFIAIpA4ADNwMgIAUgAikD+AI3AxggBSACKQPwAjcDECAFIAIpA+gCNwMIIAIgAUEBaiIBNgKIASADQTBqIQMgB0EgayIHDQALCyAAIAIoAogBNgIIIAAgAikCgAE3AgAgAEGEgICAeDYCEAwSCyAAQX82AhAgACACKALgAjYCACACQYABahCPCSACKAKAASIARQ0RIAQgAEEwbBDZEgwRCwJAIAEoAgwiA0UEQEEBIQEMAQsgASgCCCEEIAMQkAEiAUUNEiADRQ0AIAEgBCAD/AoAAAsgAEGDgICAeDYCECAAIAM2AgggACABNgIEIAAgAzYCAAwQCyABKAIMIQMgASgCCCACAn5B0PDJAC0AAARAQcjwyQApAwAhDUHA8MkAKQMADAELIAJB8ANqELsRQdDwyQBBAToAAEHI8MkAIAIpA/gDIg03AwAgAikD8AMLIgw3A5ABQcDwyQAgDEIBfDcDACACQQA2AqgBIAJCgICAgIABNwOgASACIA03A5gBIAJCgICAgHA3A4ABIAJBkKnJACkDADcCrAEgAkGYqckAKQMANwK0ASADRQRAIAAgAikDuAE3AyggACACKQOwATcDICAAIAIpA6gBNwMYIAAgAikDoAE3AxAgACACKQOYATcDCCAAIAIpA5ABNwMADBALIANBMGwhByACQZABaiEKQQhqIQMgAkH4A2ohBQNAIAIoAoABQQFGDQsCQAJAAkAgAygCACIERQRAQQEhAQwBCyADQQRrKAIAIQYgBBCQASIBRQ0VIAQEQCABIAYgBPwKAAALIARBf0YNAQsgAigChAEiBkEASgRAIAIoAogBIgtBBGsoAgAiCEF4cSEJIAlBBEEIIAhBA3EiCBsgBmpJDRYgCEEARyAJIAZBJ2pLcQ0XIAsQvAULIAIgBDYCjAEgAiABNgKIASACQX82AoQBIAIgAikDiAEiDDcCtAIgAiAENgKwAiACQcADaiADQQhqEH8gAigC0ANBf0cNASACKALAAyEBIARFDQAgDKcgBBDZEgsgAEF/NgIQIAAgATYCACACQYABahDDCwwRCyACQfADaiAKIAJBsAJqIAJB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AAsLIAYgETYCBCAGIBI2AgAgBiAVNgIMIAYgFDYCCCAGIA8pAwA3AhAgBiAPKQMINwIYCyADQSBrIQMgBEEgaiEEIBYgBUEBaiIFRw0ACwsgCUEgayEGIApBBXRBIGsiASACaiELIAAgAWohBwNAAkAgCSgCACIBIAIoAgAiA0cEQCABIANrIQwMAQtBBCEMIAEEQCAJKAIIIgEgAigCCCIDSyABIANJayAJKAIEIgEgAigCBCIDSyABIANJayABIANGGyIMQf8BcQ0BQQwhDAsgCSAMaigCACIBIAIgDGooAgAiA0sgASADSWshDAsgACAJIAIgDEF/RiIDGyIBKQIYNwIYIAAgASkCEDcCECAAIAEpAgg3AgggACABKQIANwIAIAxBf0dBBXQhBCADQQV0AkAgCygCACIBIAYoAgAiA0cEQCABIANrIQwMAQtBBCENIAEEQCALKAIIIgEgBigCCCIDSyABIANJayALKAIEIgEgBigCBCIDSyABIANJayABIANGGyIMQf8BcQ0BQQwhDQsgCyANaigCACIBIAYgDWooAgAiA0sgASADSWshDAsgAEEgaiEAIAIgBGohAiAJaiEJIAcgBiALIAxBf0YiAxsiASkCGDcCGCAHIAEpAhA3AhAgByABKQIINwIIIAcgASkCADcCACAHQSBrIQcgBkFgQQAgAxtqIQYgC0FgQQAgDEF/RxtqIQsgE0EBayITDQALIAZBIGohASAKQQFxBH8gACACIAkgASACSyIEGyIDKQIYNwIYIAAgAykCEDcCECAAIAMpAgg3AgggACADKQIANwIAIAkgASACTUEFdGohCSACIARBBXRqBSACCyABRiAJIAtBIGpGcQ0AEKQVAAsgD0EgaiQAC40kAh1/Bn4jAEHgA2siAyQAAkACQAJAAkAgASgCCCIIBEAgASgCBCIWIAhBAnRqIRsgAkEIaiEXIANBwANqIQUgA0HMAWohGCABKAIAIgFBFGohGSABQRBqIRoDQAJAAkACQAJAIBYoAgAiASAZKAIASQRAIBooAgAgAUHIAGxqIgEpAgAhICABQX82AgAgAyAgNwMIIAMgASkCCDcDECADIAEpAhA3AxggAyABKQIYNwMgIAMgASkCIDcDKCADIAEpAig3AzAgAyABKQIwNwM4ICCnIglBf0YNBAJAAkBBAiAJQQNrIAlBAk0bQQFrDgIAAQULQfT2yABBE0Hg2cUAEK8UAAsgAyABKAIgNgJIIAMgASkCGDcDQEEAIQECQCACKQMAIiGnIghBBEYgIUIFU3IiHEUNACAhQn9RBEBBjQhBCiAXKAIAIgFB5Q9qIAFBGk0bdiEBDAELIAIpAxghIEEBIQECQAJAAkBBAyAIQQJrICFCAVgbQQFrDgMAAQIDCyAgp0EBa0ECSSEBDAILICCnQQFrQQJJIQEMAQtBACEBCwJAAkACQAJAIAMoAkgiCkHM+7QETw0AIAMoAjwhHSADKAI4IR4gAygCNCETIAMoAjAhESADKAIsIRIgAygCRCEMAkAgCkHoAWwiFEUEQEEIIQhBACEODAELIAohDiAUEJABIghFDQQLIAoEQCABQQFxIR8gDCEJIAghASAKIQsDQEEAIQ1BASEGAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJ/AkACQAJAQQIgCSkDACIgp0ECayAgQgFYG0EBaw4DBQEEAAsgA0GYAWogCUEIaiIEEJ8KIAlBDGooAgAhDyAEKAIAQQFHDQEgCUEYaigCACIGQaACaigCACIEIA9NDQkgCUEQaigCACIHIAZBnAJqKAIAIA9BJGxqIgZBIGooAgAiBE8NCiAGQRxqKAIAIAdB1ABsaiIHKAIAQYCAgIB4Rw0LIAlBFGooAgAiBiAHKAIkIgRPDQwgBygCICAGQdwAbGoMAgtBCSEGIAlBqAFqKAIAQQhqIgcgCUGsAWooAgAiBBD3EC0AWEECRg0CIAcgBBD3EC0AWCENDAILIAlBGGooAgBBCGogDxD2EAsgAygCmAEiBkF/Rg0BLQBYIQ0LQRghBEECIAkpAwAiIKdBAmsgIEIBWBtBAWsOAwQDAQILQQwhBAwLC0HYACEEDAILIAlBGGooAgAiBygCACEEIAcgBEEBajYCACAEQQBODQcMBgtBqAEhBAsgBCAJaigCACIHKAIAIQQgByAEQQFqNgIAQQAhECAEQQBIDQQMBgsgDyAEQZS+xAAQhRMACyAHIARBlL7EABCFEwALQZS+xAAQnRUACyAGIARBpL7EABCFEwALAAsgA0H4AWogCUEIahDtBiADKAL4ASEQCyADKAL8ASEVQQAhBAJAAkACQAJAAkACQAJAAkACQAJAIAZBAWsODAABAgIDBAUJBgcIBQkLQQMhBAwIC0EKIQQMBwtBCSEEDAYLQQEhBAwFC0ECIQQMBAtBDCEEDAMLQQYhBAwCC0EIIQQMAQtBCyEECyANQf8BcUECRgRAQQgQkAEiBkUNEiAGIAQ2AgBBBSEECyADQQw2AvgBIANB+AFqEMASIAcgBygCACIPQQFrNgIAIA9BAUYEQCAHEDALIBBFDQAgECAQKAIAIgdBAWs2AgAgB0EBRw0AIBAgFRC2EAsCQCAfBEAgBiEHDAELQQgQkAEiB0UNESAHIAY2AgQgByAENgIAQQUhBAsgA0H4AWogCRDsBCAWKAIAIgYgGSgCAE8NAyAaKAIAIAZByABsaigCQCEGAkAgHEUEQCADQZgBaiAGEIINDAELIANBmAFqIAYgCRCQDQsgASADQfgBakHIAfwKAAAgAUHQAWogBzYCACABQcwBaiAENgIAIAFByAFqQRo2AgAgAUHUAWogAykCmAE3AgAgAUHcAWogAygCoAE2AgAgCUHIAWohCSABQegBaiEBIAtBAWsiCw0ACwsgA0FAaxDoBCADKAJAIgYEQCAMQQRrKAIAIgFBeHEhByAHQQRBCCABQQNxIgQbIAZByAFsIgFqSQ0NIARBAEcgByABQSdqS3ENDiAMELwFCwJAAkACQAJAAkACQAJAQQYgEkGAgICAeHMgEkEAThtBAWsOBwMDAwQEAQIACyAIIQQCQCAKRQ0AIAghASAKQQFxBEAgBSABKQPgATcDGCAFIAEpA9gBNwMQIAUgASkD0AE3AwggBSABKQPIATcDACADQfgBaiIEIAFByAH8CgAAIAEgBEHoAfwKAAAgAUHoAWohAQsgCCAUaiEEIApBAUYNAANAIAUgAUHgAWopAwA3AxggBSABQdgBaikDADcDECAFIAFB0AFqKQMANwMIIAUgAUHIAWopAwA3AwAgA0H4AWoiByABQcgB/AoAACABIAdB6AH8CgAAIAUgAUHIA2opAwA3AxggBSABQcADaikDADcDECAFIAFBuANqKQMANwMIIAUgAUGwA2opAwA3AwAgByABQegBaiIGQcgB/AoAACAGIAdB6AH8CgAAIAQgAUHQA2oiAUcNAAsLIAQgCGtB6AFuIQcCQCARIAIgEygCEBEBACILKAIAIgxBf0YNACALKAIEIQQgCygCCCIJBEAgBCEBA0AgARCBBSABQcgBahCHBCABQegBaiEBIAlBAWsiCQ0ACwsgDEUNACAEQQRrKAIAIgFBeHEhCiAKQQRBCCABQQNxIgYbIAxB6AFsIgFqSQ0TIAZBAEcgCiABQSdqS3ENFCAEELwFCyALIAc2AgggCyAINgIEIAsgDjYCAAwMCyADIBM2AlQgAyARNgJQIAMgEjYCTCAIIQcCQCAKRQ0AIAghASAKQQFxBEAgBSABKQPgATcDGCAFIAEpA9gBNwMQIAUgASkD0AE3AwggBSABKQPIATcDACADQfgBaiIEIAFByAH8CgAAIAEgBEHoAfwKAAAgAUHoAWohAQsgCCAUaiEHIApBAUYNAANAIAUgAUHgAWopAwA3AxggBSABQdgBaikDADcDECAFIAFB0AFqKQMANwMIIAUgAUHIAWopAwA3AwAgA0H4AWoiBiABQcgB/AoAACABIAZB6AH8CgAAIAUgAUHIA2opAwA3AxggBSABQcADaikDADcDECAFIAFBuANqKQMANwMIIAUgAUGwA2opAwA3AwAgBiABQegBaiIEQcgB/AoAACAEIAZB6AH8CgAAIAcgAUHQA2oiAUcNAAsLIAcgCGsiFUHoAW4hBiACKQMAIiBCBVMNAyAgQv////8Pg0IEUQ0DIANBADYCWAwECyAKBEAgCCEBA0AgARCBBSABQcgBahCHBCABQegBaiEBIApBAWsiCg0ACwsgDkUNCiAIQQRrKAIAIgFBeHEhBiAGQQRBCCABQQNxIgQbIA5B6AFsIgFqSQ0QIARBAEcgBiABQSdqS3ENESAIELwFDAoLQQwQkAEiDEUNESAIIQQCQCAKRQ0AIAghASAKQQFxBEAgBSABKQPgATcDGCAFIAEpA9gBNwMQIAUgASkD0AE3AwggBSABKQPIATcDACADQfgBaiIEIAFByAH8CgAAIAEgBEHoAfwKAAAgAUHoAWohAQsgCCAUaiEEIApBAUYNAANAIAUgAUHgAWopAwA3AxggBSABQdgBaikDADcDECAFIAFB0AFqKQMANwMIIAUgAUHIAWopAwA3AwAgA0H4AWoiByABQcgB/AoAACABIAdB6AH8CgAAIAUgAUHIA2opAwA3AxggBSABQcADaikDADcDECAFIAFBuANqKQMANwMIIAUgAUGwA2opAwA3AwAgByABQegBaiIGQcgB/AoAACAGIAdB6AH8CgAAIAQgAUHQA2oiAUcNAAsLIAwgCDYCBCAMIA42AgAgDCAEIAhrQegBbjYCCCARIAIgEygCEBEBACIBEOUNIAFBATYCCCABIAw2AgQgAUEBNgIADAkLIAghBAJAIApFDQAgCCEBIApBAXEEQCAFIAEpA+ABNwMYIAUgASkD2AE3AxAgBSABKQPQATcDCCAFIAEpA8gBNwMAIANB+AFqIgQgAUHIAfwKAAAgASAEQegB/AoAACABQegBaiEBCyAIIBRqIQQgCkEBRg0AA0AgBSABQeABaikDADcDGCAFIAFB2AFqKQMANwMQIAUgAUHQAWopAwA3AwggBSABQcgBaikDADcDACADQfgBaiIHIAFByAH8CgAAIAEgB0HoAfwKAAAgBSABQcgDaikDADcDGCAFIAFBwANqKQMANwMQIAUgAUG4A2opAwA3AwggBSABQbADaikDADcDACAHIAFB6AFqIgZByAH8CgAAIAYgB0HoAfwKAAAgBCABQdADaiIBRw0ACwsgAyAONgKYASADIAg2ApwBIAMgBCAIa0HoAW42AqABIANB+AFqIgggA0GYAWoQ4AcgESACIBMoAhARAQAiARCsBCABIAhB0AD8CgAADAgLAkAgIEJ/UQRAIANB+AFqIBcQuwkMAQsgA0H4AWogAhDzDAsgAyADKAKAAjYCYCADIAMpAvgBNwNYCyADIB4gAiAdKAIQEQQAIAMoAgQiAUUEQCADKAJYIQ0MBgsgFUH4////B0sNACADKAIAIgsgAUHQAGxqIQkgAygCWCENAkADQAJAIAcgCEYiDARAQQghEAwBCyAVEJABIhBFDQVBACEBIAYhBANAIAEgCGoiDyAHRg0BIANB+AFqIgogDxDsBCAFIA9ByAFqEJADIAEgEGogCkHoAfwKAAAgAUHoAWohASAEQQFrIgQNAAsLIAMgBjYC9AEgAyAQNgLwASADIAY2AuwBIANByAFqIBEgEyADQewBahDuAwJAIAMoAsgBQX9HBEAgAyADKALoATYCuAEgAyADKQLIASIiNwNoIAMgAykC0AEiIzcDcCADIAMpAtgBIiQ3A3ggAyADKQLgASIlNwOAASADIAMpA8ABIiE3A5ABIAMgAykDuAEiIDcDiAEgACAhNwMwIAAgIDcDKCAAICU3AyAgACAkNwMYIAAgIzcDECAAICI3AwggAEGEgICAeDYCOCAAQn43AwACQCANRQ0AIA0gDSgCACIAQQFrNgIAIABBAUcNACADKAJYEDALIAxFBEAgFUHoAW4hCSAIIQEDQCABEIEFIAFByAFqEIcEIAFB6AFqIQEgCUEBayIJDQALCyAOBEAgCCAOQegBbBDZEgsgA0HMAGoQ6AQgEgRAIBEgEkHIAWwQ2RILIAMoAggiAEF/Rg0DIABBA08NASAAQQJGDQMgAygCFCIAQQJPBEAgAygCECAAQQN0ENkSCyADKAIYIQggAygCHCIBKAIAIgAEQCAIIAARAwALIAEoAgQiAEUNAyABKAIIGiAIIAAQ2RIMAwsgAyAYKQIANwNoIAMgGCgCCDYCcCALIANB6ABqEOUGAkAgDUUNACALKAJIRQ0AIAsgA0HYAGoQigULIAkgC0HQAGoiC0YNCAwBCwsgA0EIahCnBwsgAhDrAgwLCxCeFQALQZCfxgAQnRUAC0EIEKcUAAtBCBCnFAALQeihxgAQnRUACwJAIA1FDQAgDSANKAIAIgFBAWs2AgAgAUEBRw0AIAMoAlgQMAsgByAIRwRAIAghAQNAIAEQgQUgAUHIAWoQhwQgAUHoAWohASAGQQFrIgYNAAsLIA4EQCAIIA5B6AFsENkSCyADQcwAahDoBCASRQ0AIBEgEkHIAWwQ2RILIAMoAggiCUF/Rg0BCyAJQQNJBEAgCUECRg0BIAMoAhQiBkECTwRAIAMoAhAiBEEEaygCACIBQXhxIQcgB0EEQQggAUEDcSIIGyAGQQN0IgFqSQ0GIAhBAEcgByABQSdqS3ENByAEELwFCyADKAIYIQYgAygCHCIIKAIAIgEEQCAGIAERAwALIAgoAgQiBEUNASAGQQRrKAIAIgFBeHEhCCAIQQRBCCABQQNxIgEbIARqSQ0FIAFBAEcgCCAEQSdqS3ENBiAGELwFDAELIANBCGoQpwcLIBsgFkEEaiIWRw0ACwsgACACQcAC/AoAAAsgA0HgA2okAA8LQdCcyQBBLkGAnckAEK8UAAtBkJ3JAEEuQcCdyQAQrxQAC0G48MkAQQE6AAAAC4QhAhF/An4jAEEgayIVJAACQAJAIAFBIUkEQCABIQoMAQsgAkEUayEWAkACQANAIARFBEAgACABIAIgA0EBEK4CDAULIAAgAUEDdiIOQYwBbGohBiAAIA5B0ABsaiENIARBAWshBCAVAn8gAUHAAE8EQCAAIA0gBiAOEIkIDAELIA0oAgwhEyANKAIIIRIgDSgCBCEIIA0oAgAhESAAKAIEIQcCfwJAAkACQAJAIAAoAgAiDkEBRgRAIAAoAgwhFCAAKAIIIQogEUEBcUUNAUEAIQwgCiASSyAKIBJJayAHIAhLIAcgCElrIAcgCEYbIglBAEggEyAUSyAJQf8BcRshECAGKAIMIQ8gBigCCCELIAYoAgQhCQwCCyARQQFxRQRAIAcgCEkhEEEBIQwgBigCDCEPIAYoAgghCyAGKAIEIQkgBigCAEEBcQ0DDAQLQQEhDCAGKAIMIQ8gBigCCCELIAYoAgQhCUEBIRAgBigCAEEBRw0DDAILIAYoAgwhDyAGKAIIIQsgBigCBCEJQQAhDEEAIRALIAYoAgBBAXFFDQBBASEOQQEhDCAKIAtLIAogC0lrIAcgCUsgByAJSWsgByAJRhsiCkH/AXEEf0EBBSAPIBRJIA8gFEtrIQpBAAsaQQEMAgsgDiAMayEKIA5BAXMMAQsgByAJSyAHIAlJayEKQQAhDEEACyEOIAAgECAKwEEASHMNABoCQAJAAkAgEUEBRgRAIA5BAXFFDQEgCyASSSALIBJLayAIIAlLIAggCUlrIAggCUYbIgpB/wFxDQMgDyATSSAPIBNLayEKDAMLIA5BAXFFDQELIBEgDGshCgwBCyAIIAlLIAggCUlrIQoLIAYgDSAQIArAQQBIcxsLIgcoAhA2AhggFSAHKQIINwMQIBUgBykCADcDCCAHIABrQRRuIQ4CQCAFBEAgBygCBCEGIAcoAgAhCiAFKAIEIQgCQAJAAkAgBSgCACINQQFGBEAgCkEBcUUNASAFKAIIIgogBygCCCINSyAKIA1JayAGIAhJIAYgCEtrIAYgCEYbIgZB/wFxDQMgBSgCDCIGIAcoAgwiCEsgBiAISWshBgwDCyAKQQFHDQELIA0gCmshBgwBCyAGIAhJIAYgCEtrIQYLIAbAQQBODQELIAEgA0sNA0EAIQogACEGIAFBFGwiDyACaiIQIQkgDiENA0AgBiAAIA1BFGxqIhJJBEADQCAGQQRqKAIAIQggBygCBCELIAcoAgAhDAJAAkACQCAGKAIAIhFBAUYEQCAMQQFxRQ0BIAZBCGooAgAiDCAHKAIIIhFLIAwgEUlrIAggC0sgCCALSWsgCCALRhsiCEH/AXENAyAGQQxqKAIAIgggBygCDCILSyAIIAtJayEIDAMLIAxBAUcNAQsgESAMayEIDAELIAggC0sgCCALSWshCAsgCkEUbCACIAlBFGsiCSAIwEEASBtqIgsgBigCEDYCECALIAYpAgg3AgggCyAGKQIANwIAIAogCEGAAXFBB3ZqIQogEiAGQRRqIgZLDQALCyABIA1HBEAgCUEUayIJIApBFGxqIgggBigCEDYCECAIIAYpAgg3AgggCCAGKQIANwIAIAZBFGohBiABIQ0MAQsLIApBFGwiCwRAIAAgAiAL/AoAAAsgASAKayEMAkAgASAKRg0AIAAgC2ohDUEAIQkgCkEBaiABRwRAIAxBAXEgDEF+cSERIA8gFmohCCANIQYDQCAGIAgoAhA2AhAgBiAIKQIINwIIIAYgCCkCADcCACAGQRRqIBAgCUH+////A3NBFGxqIg8pAgA3AgAgBkEcaiAPKQIINwIAIAZBJGogD0EQaigCADYCACAIQShrIQggBkEoaiEGIBEgCUECaiIJRw0AC0UNAQsgDSAJQRRsaiIGIBAgCUF/c0EUbGoiCCgCEDYCECAGIAgpAgg3AgggBiAIKQIANwIACyAKRQ0AIAEgCkkNAiAAIAtqIAwgAiADIAQgFUEIahCCASAKIgFBIUkNBAwBCyABIANLDQJBACEIIAAhBiABQRRsIgwgAmoiCyEJA0AgBiAAIA5BFGxqIhBJBEADQCAGQQRqKAIAIQUgBigCACENIAcoAgQhCgJAAkACQCAHKAIAIg9BAUYEQCANQQFxRQ0BIAcoAggiDSAGQQhqKAIAIg9LIA0gD0lrIAUgCkkgBSAKS2sgBSAKRhsiCkH/AXENAyAHKAIMIgUgBkEMaigCACIKSyAFIApJayEKDAMLIA1BAUcNAQsgDyANayEKDAELIAUgCkkgBSAKS2shCgsgCEEUbCACIAlBFGsiCSAKwEEATiIKG2oiBSAGKAIQNgIQIAUgBikCCDcCCCAFIAYpAgA3AgAgCCAKaiEIIBAgBkEUaiIGSw0ACwsgASAORwRAIAIgCEEUbGoiBSAGKAIQNgIQIAUgBikCCDcCCCAFIAYpAgA3AgAgBkEUaiEGIAhBAWohCCAJQRRrIQkgASEODAELCyAIQRRsIgUEQCAAIAIgBfwKAAALIAEgCEYNBCABIAhrIQogACAFaiEAQQAhBwJAIAhBAWogAUcEQCAKQQFxIApBfnEhDSAMIBZqIQkgACEGA0AgBiAJKAIQNgIQIAYgCSkCCDcCCCAGIAkpAgA3AgAgBkEUaiALIAdB/v///wNzQRRsaiIFKQIANwIAIAZBHGogBSkCCDcCACAGQSRqIAVBEGooAgA2AgAgCUEoayEJIAZBKGohBiANIAdBAmoiB0cNAAtFDQELIAAgB0EUbGoiBSALIAdBf3NBFGxqIgYoAhA2AhAgBSAGKQIINwIIIAUgBikCADcCAAsgASAITwRAQQAhBSAKIgFBIUkNBAwBCwsgCCABIAFB4PXIABCHDgALQcSwyQBBE0HQ9cgAEL8TCwALIApBAkkNAEEBIQ4gCkEBdiINQRRsIgEgAmohCCAAIAFqIRICQCAKQQhPBEAgACACEKMFIBIgCBCjBUEEIQ4MAQsgAiAAKAIQNgIQIAIgACkCCDcCCCACIAApAgA3AgAgCCASKAIQNgIQIAggEikCCDcCCCAIIBIpAgA3AgALIAogDWshFiANIA5LBEAgDkEUbCELIA4hAQNAIAFBFGwiAyACaiIFIAAgA2oiAykCCCIXNwIIIAUgAykCACIYNwIAIAUgAygCEDYCECAFQRBrKAIAIQMgBUEUayIGKAIAIQcgF6chECAFKAIMIQ8gBSgCBCEMAkACQAJ/AkACQAJAIBinIgRBAUciEUUEQCAHQQFxRQ0BIAVBDGsoAgAiByAQSSAHIBBLayADIAxJIAMgDEtrIAMgDEYbIglB/wFxDQIgBUEIaygCACIDIA9JIAMgD0trIQkMAgsgB0EBRw0CCyAEIAdrIQkLIAnAQQBODQMgCyEJIAUoAhAiAyARDQEaA0AgAiAJaiIFQRRrIQYgBSAGKAIQNgIQIAUgBikCCDcCCCAFIAYpAgA3AgAgCUEURgRAIAIhBgwECyAEIQcCQCAFQShrKAIAQQFHDQAgBUEgaygCACIGIBBJIAYgEEtrIAVBJGsoAgAiBiAMSSAGIAxLayAGIAxGGyIHQf8BcQ0AIAVBHGsoAgAiBSAPSSAFIA9LayEHCyAJQRRrIQkgB8BBAEgNAAsgAiAJaiEGDAILIAMgDE0NAiAFKAIQCyEDIAUgBigCEDYCECAFIAYpAgg3AgggBSAGKQIANwIAIAshByABQQFGDQADQCACIAdqIglBFGshBiAJQShrIgUoAgBBAXFFBEAgDCAJQSRrKAIATw0CCyAGIAUoAhA2AhAgBiAFKQIINwIIIAYgBSkCADcCACAHQRRrIgdBFEcNAAsgAiEGCyAGIAM2AhAgBiAPNgIMIAYgEDYCCCAGIAw2AgQgBiAENgIACyALQRRqIQsgDSABQQFqIgFHDQALCyAOIBZJBEAgDkEUbCERQRQhBCAIIQUDQCAOQRRsIgEgCGoiByABIBJqIgEpAggiFzcCCCAHIAEpAgAiGDcCACAHIAEoAhA2AhAgB0EQaygCACEBIAdBFGsiBigCACEJIBenIRMgBygCDCEUIAcoAgQhCwJAAkACQAJAAkACQAJAIBinIgNBAXFFBEAgCUEBcQ0BIAEgC00NByAHKAIQIQ8MBAsgCUEBcQ0BCyADIAlrIQEMAQsgB0EMaygCACIJIBNJIAkgE0trIAEgC0kgASALS2sgASALRhsiAUH/AXENACAHQQhrKAIAIgEgFEkgASAUS2shAQsgAcBBAE4NAyAHKAIQIQ8gBCEQIAUhASADQQFGDQELIAcgBigCEDYCECAHIAYpAgg3AgggByAGKQIANwIAIA5BAUYNASAEIQwgBSEBA0AgASARaiIJQRRrIQYgCUEoayIHKAIAQQFxRQRAIAsgCUEkaygCAE8NAwsgBiAHKAIQNgIQIAYgBykCCDcCCCAGIAcpAgA3AgAgAUEUayEBIBEgDEEUaiIMRw0ACyAIIQYMAQsDQCABIBFqIgZBFGshByAGIAcoAhA2AhAgBiAHKQIINwIIIAYgBykCADcCACAQIBFGBEAgCCEGDAILIAMhCQJAIAZBKGsoAgBBAUcNACAGQSBrKAIAIgcgE0kgByATS2sgBkEkaygCACIHIAtJIAcgC0trIAcgC0YbIglB/wFxDQAgBkEcaygCACIGIBRJIAYgFEtrIQkLIBBBFGohECABQRRrIQEgCcBBAEgNAAsgASARaiEGCyAGIA82AhAgBiAUNgIMIAYgEzYCCCAGIAs2AgQgBiADNgIACyAEQRRrIQQgBUEUaiEFIBYgDkEBaiIORw0ACwsgCEEUayEGIApBFGxBFGsiASACaiEJIAAgAWohBwNAIAIoAgQhASACKAIAIQQgCCgCBCEDAkACQAJAIAgoAgAiBUEBRgRAIARBAXFFDQEgCCgCCCIEIAIoAggiBUsgBCAFSWsgASADSSABIANLayABIANGGyIBQf8BcQ0DIAgoAgwiASACKAIMIgNLIAEgA0lrIQEMAwsgBEEBRw0BCyAFIARrIQEMAQsgASADSSABIANLayEBCyAAIAIgCCABwEEATiIEGyIDKAIQNgIQIAAgAykCCDcCCCAAIAMpAgA3AgAgBEEUbCEFIAFBgAFxQQd2QRRsIQ4gBigCBCEBIAYoAgAhBCAJKAIEIQMCQAJAAkAgCSgCACILQQFGBEAgBEEBcUUNASAJKAIIIgQgBigCCCILSyAEIAtJayABIANJIAEgA0trIAEgA0YbIgFB/wFxDQMgCSgCDCIBIAYoAgwiA0sgASADSWshAQwDCyAEQQFHDQELIAsgBGshAQwBCyABIANJIAEgA0trIQELIABBFGohACACIAVqIQIgCCAOaiEIIAcgCSAGIAHAIgNBAE4bIgEoAhA2AhAgByABKQIINwIIIAcgASkCADcCACAHQRRrIQcgBiADQQd1IgFBFGxqIQYgCSABQX9zQRRsaiEJIA1BAWsiDQ0ACyAGQRRqIQEgCkEBcQR/IAAgAiAIIAEgAksiBBsiAygCEDYCECAAIAMpAgg3AgggACADKQIANwIAIAggASACTUEUbGohCCACIARBFGxqBSACCyABRiAIIAlBFGpGcQ0AEKQVAAsgFUEgaiQAC54jAhd/An4jAEEgayIJJAACQAJAIAJBAE4EQAJAAkACQAJAIAJFBEBBASEGDAELIAIQkAEiBkUNAyAGIQQgASEDAkAgAiIFQRBJDQAgBUHw////B3EhDwNAIAYgB2ohBCABIAdqIgNBAWosAAAiDEF/c0GAAXFBB3YgAywAACINQX9zQYABcUEHdmogA0ECaiwAACIKQX9zQYABcUEHdmogA0EDaiwAACIIQX9zQYABcUEHdmogA0EEaiwAACILQX9zQYABcUEHdmogA0EFaiwAACIOQX9zQYABcUEHdmogA0EGaiwAACIQQX9zQYABcUEHdmogA0EHaiwAACIRQX9zQYABcUEHdmogA0EIaiwAACISQX9zQYABcUEHdmogA0EJaiwAACITQX9zQYABcUEHdmogA0EKaiwAACIUQX9zQYABcUEHdmogA0ELaiwAACIVQX9zQYABcUEHdmogA0EMaiwAACIWQX9zQYABcUEHdmogA0ENaiwAACIX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IAcgETYCCCAHIAs2AgQgByAPNgIAQRgQkAEiA0UNBSADQQA6ABQgA0H05scANgIMIAMgBzYCCCADQoGAgIAQNwIAQeQAEJABIgRFDQUgBCADNgJgIARBADoAXCAEIBA2AkwgBCARNgJIIAQgCzYCRCAEIAg2AkAgBEEaOgA8IARBfzYCLCAEIBA2AiggBCARNgIkIAQgCzYCICAEIAg2AhwgBEF/NgIQIARBADYCCCAEQQA2AgAgAigCCCIGIAIoAgBGBEAgAiAGQQFBCEHIABCzESACKAIIIQYLIAIoAgQgBkHIAGxqIgNBADsBRCADQQo2AkAgA0H4/McANgI8IANBfzYCOCADQgQ3AzAgA0IBNwMoIAMgBDYCJCADQQE2AiAgA0F+NgIAIAIgBkEBajYCCAwCCyALIAsoAgAiA0EBazYCACADQQFGBEAgCxAwCyACIAIoAgg2AggMAQsACyAAIAIoAgg2AgggACACKQMANwIAAkACQCABKAIARQRAIAEoAgQiACgCACEDIAAgA0EBazYCACADQQFGDQEMAgsgASgCBCIAKAIAIQMgACADQQFrNgIAIANBAUcNAQsgASgCBBAwCyACQeALaiQADwtB0JzJAEEuQYCdyQAQrxQAC0GQnckAQS5BwJ3JABCvFAALQbjwyQBBAToAAAALkCQCDn8BfiMAQZABayIDJAACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAIAAiBQJ/AkACQAJAAkACQAJAAkACQAJAAkACQCABQf8BcUEBaw4MAQIODwMEBRMGBwgJAAsgA0EGNgIUIANB1ZDJADYCECADQQ82AgwgA0H4hccANgIIIAIgA0EIahDFCCIADQlBAAwKCyADQQc2AhQgA0HkmckANgIQIANBDzYCDCADQfiFxwA2AgggAiADQQhqEMUIIgANCiAFQQE2AgAMHwsgA0EENgIUIANB65nJADYCECADQQ82AgwgA0H4hccANgIIIAIgA0EIahDFCCIADQogBUECNgIADB4LAkACQEEVIAIoAgAiEEGAgICAeHMgEEEAThtBFGsOAgABDgsgAigCDCIJQQR0IQYgAigCBCEHIAIoAggiCCECAn8CQAJAIAlFDQAgAkEQaiECIAgoAgAiAEF/Rg0AIAMgCCgCDDYCFCAD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EgwhCyADLQBhIgdBAkcEQCAHQQFrDQUMAgsgAygCCCEHIANBfzYCCCAHQX9GDSggDSALKAIINgIIIA0gCykCADcCACADIAc2AnggBkEBaiEGIANB+ABqEIgIIAlBIGsiCQ0ACyAADAILQePjyABBBRCyEwwDCyABQSBqCyEGIAFBIGohAgwbC0H9mskAQQQQshMLIQQgA0HIAGoQwBJBfyEKDBgLIAMgAykDEDcDQCADIAMoAgw2AjwgAyABNgI4An8CQAJAAn8gACAAIAJGDQAaIARBAmohDCAOIA1rQUBrIQcgA0H4AGpBBHIhCUEAIQQCQAJ/AkADQCADIAQgCGoiCkFAayICNgIcIApBIGooAgAiBkF/Rg0DIAMgDDYCKCADIApBLGooAgAiATYCWCADIApBJGopAgAiETcDUCADIApBMGopAgA3AwggAyAKQThqKQIANwMQIANBBTYCdCADQePjyAA2AnAgA0EENgJsIANB/ZrJADYCaCAJIBE3AgAgCSABNgIIIAMgBjYCeCADQeAAaiADQegAaiADQfgAahDHByADLQBgQQFGBEAgAygCZAwDCwJAIAMtAGFBAWsOAgcAAgsgAygCCCEBIANBfzYCCCABQX9GDSkgCSALKAIINgIIIAkgCykCADcCACADIAE2AnggDEEBaiEMIAQgB2ogA0H4AGoQiAggBEEgaiEEDQALIAAMAwsgAygCCCEBIANBfzYCCCABQX9GDScgAyABNgJ4IAMgCygCCDYChAEgAyALKQIANwJ8IANB6ABqIANB+ABqEPoHIAMtAGhFDQMgAygCbAshBCADQThqEIgIDB4LIApBQGsLIQJB/ZrJAEEEELMTDAILIANB+ABqIAMtAGkgA0E4ahCHASADKAJ8IQQgAygCeCIKQX9GDRsgAyAENgJMIAMgCjYCSCAAIAJGBEAgACECDBoLIANB+ABqQQRyIQYCfwJAAkADQCADIAJBIGo2AhwgAigCACIBQX9GDQEgAyADKAIoQQFqNgIoIAMgAigCDDYCWCADIAIpAgQ3A1AgAyACKQIYNwOAASADIAIpAhA3A3ggAygCCEF/RwRAIANBCGoQiAgLIAMgAykDgAE3AxAgAyADKQN4NwMIIANBBTYCdCADQePjyAA2AnAgA0EENgJsIANB/ZrJADYCaCAGIAMpA1A3AgAgBiADKAJYNgIIIAMgATYCeCADQeAAaiADQegAaiADQfgAahDHByADLQBgQQFGBEAgAkEgaiECIAMoAmQhBCADQcgAahDAEgwgCwJAIAMtAGEiAUECRwRAIAFBAWsNBAwBCyMAQRBrIgIkACADQQhqIgEoAgAhACABQX82AgAgAEF/RgRAQbSMxwBBLEHYjccAEMATAAsgAiAANgIAIAIgASgCDDYCDCACIAEpAgQ3AgQgAhCICCACQRBqJAAgAygCJCIAIAMoAhwiAkcNAQweCwtB4+PIAEEFELITDAILIAJBIGohAgwbC0H9mskAQQQQshMLIQQgAkEgaiECIANByABqEMASQX8hCgwZC0Hj48gAQQUQshMLIQQgA0E4ahCICAwZC0H9mskAQQQQshMhBAwYC0EBCyEKQQEhBgwXCyADQQQ2AhQgA0H2mckANgIQIANBDzYCDCADQfiFxwA2AgggAiADQQhqEMUIIgANDCAFQQY2AgAMHAsgA0EGNgIUIANB+pnJADYCECADQQ82AgwgA0H4hccANgIIIAIgA0EIahDFCCIADQwgBUEHNgIADBsLIANBBTYCFCADQYyayQA2AhAgA0EPNgIMIANB+IXHADYCCCACIANBCGoQxQgiAA0NIAVBCTYCAAwaCyADQQY2AhQgA0HssckANgIQIANBDzYCDCADQfiFxwA2AgggAiADQQhqEMUIIgANDSAFQQo2AgAMGQsgA0EFNgIUIANBkZrJADYCECADQQ82AgwgA0H4hccANgIIIAIgA0EIahDFCCIADQ0gBUELNgIADBgLIANBAzYCFCADQaGayQA2AhAgA0EPNgIMIANB+IXHADYCCCACIANBCGoQxQgiAA0NIAVBDDYCAAwXCyAFIAA2AgRBfws2AgAMFQsgBSAANgIEIAVBfzYCAAwUCyAFIAA2AgQgBUF/NgIADBMLIANBAzYCFCADQe+ZyQA2AhAgA0EPNgIMIANB+IXHADYCCCAFIAIgA0EIahDFCCIABH8gBSAANgIEQX8FQQMLNgIADBILIANBBDYCFCADQfKZyQA2AhAgA0EPNgIMIANB+IXHADYCCCAFIAIgA0EIahDFCCIABH8gBSAANgIEQX8FQQQLNgIADBELIAIgA0GPAWpBtIrHABDoEyEEDAwLIAUgADYCBCAFQX82AgAMDwsgBSAANgIEIAVBfzYCAAwOCyADQQg2AhQgA0GEmskANgIQIANBDzYCDCADQfiFxwA2AgggBSACIANBCGoQxQgiAAR/IAUgADYCBEF/BUEICzYCAAwNCyAFIAA2AgQgBUF/NgIADAwLIAUgADYCBCAFQX82AgAMCwsgBSAANgIEIAVBfzYCAAwKCyAFIAA2AgQgBUF/NgIADAkLIAIhBgsgCkF/RgRAIAYhAgwBCyADKAIIQX9GIQYgAygCKCEMIAMoAiAhECADKAIYIQkgAiEBDAELIAAgAkcEQCAAIAJrQQV2IQEDQCACEIgIIAJBEGoQiAggAkEgaiECIAFBAWsiAQ0ACwsgAygCICIGBEAgAygCGCICQQRrKAIAIgBBeHEhByAHQQRBCCAAQQNxIgEbIAZBBXQiAHJJDQUgAUEARyAHIABBJ2pLcQ0GIAIQvAULIAMoAghBf0YNAiADQQhqEIgIDAILIAMgBDYCNCADIAo2AjAgACABa0EFdiEHIAAgAUYiAEUEQCAHIQIDQCABEIgIIAFBEGoQiAggAUEgaiEBIAJBAWsiAg0ACwsgEARAIAkgEEEFdBDZEgtBACECIABFBEAgAyAMNgJ4IAcgDGogA0H4AGpBlI/HABDREiECCyAGRQRAIANBCGoQiAgLIAJFDQAgA0EwahDAEiACIQQMAQtBCBCQASIADQFBuPDJAEEBOgAAAAsgBUF/NgIAIAUgBDYCBAwDCyAAIAQ2AgQgACAKNgIAIAUgADYCBCAFQQU2AgAMAgtB0JzJAEEuQYCdyQAQrxQAC0GQnckAQS5BwJ3JABCvFAALIANBkAFqJAAPC0G0jMcAQSxB2I3HABDAEwALiiMCEH8HfiMAQYACayIIJAACQAJAIAFBIUkEQCABIQ4MAQsgAkFAaiETAkADQCAERQRAIAAgASACIANBASAGELECDAQLIAAgAUEDdiIHQcADbGohCSAAIAdBCHRqIQ4gBEEBayEEIAgCfyABQcAATwRAIAAgDiAJIAcgBhDjDAwBCyAIQbgBaiAGKAIAIgcoAgAgABDaByAIKAK8ASENIAgoArgBIAhBsAFqIAcoAgAgDhDaByAIKAKwASELQQFGBEAgCyANIAgoArQBSXEhCwsgCEGoAWogBygCACAAENoHIAgoAqwBIQ0gCCgCqAEgCEGgAWogBygCACAJENoHIAgoAqABIQxBAUYEQCAMIA0gCCgCpAFJcSEMCyAAIAsgDHNBAXENABogCEGYAWogBygCACAOENoHIAgoApwBIQ0gCCgCmAEhDyAIQZABaiAHKAIAIAkQ2gcgCCgCkAEhByAJIA4gD0EBRgR/IAcgDSAIKAKUAUlxBSAHCyALc0EBcRsLIg0pAjg3A/gBIAggDSkCMDcD8AEgCCANKQIoNwPoASAIIA0pAiA3A+ABIAggDSkCGDcD2AEgCCANKQIQNwPQASAIIA0pAgg3A8gBIAggDSkCADcDwAEgDSAAa0EGdiEPAkACQCAFRQ0AIAhBiAFqIAYoAgAiBygCACAFENoHIAgoAowBIQkgCCgCiAEgCEGAAWogBygCACANENoHIAgoAoABIQdBAUYEQCAHQQFHDQIgCSAIKAKEAUkNAQwCCyAHQQFHDQELIAEgA0sNAiAGKAIAIQxBACEOIAAhByABQQZ0IhUgAmoiEiELIA8hCQNAIAcgACAJQQZ0aiIRSQRAA0AgCEH4AGogDCgCACAHENoHIAgoAnwhECAIKAJ4IRQgCEHwAGogDCgCACANENoHIAgoAnAhCiAOQQZ0IAIgC0FAaiILIBRBAUYEfyAKIBAgCCgCdElxBSAKC0EBcSIQG2oiCiAHKQI4NwI4IAogBykCMDcCMCAKIAcpAig3AiggCiAHKQIgNwIgIAogBykCGDcCGCAKIAcpAhA3AhAgCiAHKQIINwIIIAogBykCADcCACAOIBBqIQ4gESAHQUBrIgdLDQALCyABIAlHBEAgC0FAaiILIA5BBnRqIgkgBykCODcCOCAJIAcpAjA3AjAgCSAHKQIoNwIoIAkgBykCIDcCICAJIAcpAhg3AhggCSAHKQIQNwIQIAkgBykCCDcCCCAJIAcpAgA3AgAgB0FAayEHIAEhCQwBCwsgDkEGdCIRBEAgACACIBH8CgAACyABIA5rIRACQCABIA5GDQAgACARaiEJQQAhDCAOQQFqIAFHBEAgEEEBcSAQQX5xIRYgEyAVaiEKIAkhBwNAIAcgCikCODcCOCAHIAopAjA3AjAgByAKKQIoNwIoIAcgCikCIDcCICAHIAopAhg3AhggByAKKQIQNwIQIAcgCikCCDcCCCAHIAopAgA3AgAgB0FAayASIAxB/v//H3NBBnRqIgspAgA3AgAgB0HIAGogCykCCDcCACAHQdAAaiALKQIQNwIAIAdB2ABqIAspAhg3AgAgB0HgAGogCykCIDcCACAHQegAaiALKQIoNwIAIAdB8ABqIAspAjA3AgAgB0H4AGogC0E4aikCADcCACAKQYABayEKIAdBgAFqIQcgFiAMQQJqIgxHDQALRQ0BCyAJIAxBBnRqIgcgEiAMQX9zQQZ0aiIJKQI4NwI4IAcgCSkCMDcCMCAHIAkpAig3AiggByAJKQIgNwIgIAcgCSkCGDcCGCAHIAkpAhA3AhAgByAJKQIINwIIIAcgCSkCADcCAAsgDkUNACABIA5PBEAgACARaiAQIAIgAyAEIAhBwAFqIAYQiAEgDiIBQSFJDQQMAgtBxLDJAEETQdD1yAAQvxMMAgsgASADSw0BQQAhCyAAIQcgAUEGdCIKIAJqIhEhDANAIAcgACAPQQZ0aiIJSQRAA0AgCEHoAGogBigCACIFKAIAIA0Q2gcgCCgCbCEQIAgoAmggCEHgAGogBSgCACAHENoHIAgoAmAhDkEBRgRAIA4gECAIKAJkSXEhDgsgC0EGdCAMQUBqIgwgAiAOQQFxG2oiBSAHKQI4NwI4IAUgBykCMDcCMCAFIAcpAig3AiggBSAHKQIgNwIgIAUgBykCGDcCGCAFIAcpAhA3AhAgBSAHKQIINwIIIAUgBykCADcCACALIA5Bf3NBAXFqIQsgCSAHQUBrIgdLDQALCyABIA9HBEAgAiALQQZ0aiIFIAcpAjg3AjggBSAHKQIwNwIwIAUgBykCKDcCKCAFIAcpAiA3AiAgBSAHKQIYNwIYIAUgBykCEDcCECAFIAcpAgg3AgggBSAHKQIANwIAIAdBQGshByALQQFqIQsgDEFAaiEMIAEhDwwBCwsgC0EGdCIFBEAgACACIAX8CgAACyABIAtGDQMgASALayEOIAAgBWohAEEAIQkCQCALQQFqIAFHBEAgDkEBcSAOQX5xIQ8gCiATaiEKIAAhBwNAIAcgCikCODcCOCAHIAopAjA3AjAgByAKKQIoNwIoIAcgCikCIDcCICAHIAopAhg3AhggByAKKQIQNwIQIAcgCikCCDcCCCAHIAopAgA3AgAgB0FAayARIAlB/v//H3NBBnRqIgUpAgA3AgAgB0HIAGogBSkCCDcCACAHQdAAaiAFKQIQNwIAIAdB2ABqIAUpAhg3AgAgB0HgAGogBSkCIDcCACAHQegAaiAFKQIoNwIAIAdB8ABqIAUpAjA3AgAgB0H4AGogBUE4aikCADcCACAKQYABayEKIAdBgAFqIQcgDyAJQQJqIglHDQALRQ0BCyAAIAlBBnRqIgUgESAJQX9zQQZ0aiIHKQI4NwI4IAUgBykCMDcCMCAFIAcpAig3AiggBSAHKQIgNwIgIAUgBykCGDcCGCAFIAcpAhA3AhAgBSAHKQIINwIIIAUgBykCADcCAAsgASALTwRAQQAhBSAOIgFBIUkNAwwBCwsgCyABIAFB4PXIABCHDgALAAsgDkECSQ0AIAYoAgAhC0EBIQQgDkEBdiEPAkAgDkEITwRAIAAgAiALEI8HIA9BBnQiASAAaiABIAJqIAsQjwdBBCEEDAELIAIgACkCODcCOCACIAApAjA3AjAgAiAAKQIoNwIoIAIgACkCIDcCICACIAApAhg3AhggAiAAKQIQNwIQIAIgACkCCDcCCCACIAApAgA3AgAgD0EGdCIDIAJqIgEgACADaiIDKQI4NwI4IAEgAykCMDcCMCABIAMpAig3AiggASADKQIgNwIgIAEgAykCGDcCGCABIAMpAhA3AhAgASADKQIINwIIIAEgAykCADcCAAsgDiAPayERIAQgD0kEQCAEQQZ0IQYgBCEBA0AgAUEGdCIFIAJqIgMgACAFaiIFKQI4NwI4IAMgBSkCMDcCMCADIAUpAig3AiggAyAFKQIgNwIgIAMgBSkCGDcCGCADIAUpAhA3AhAgAyAFKQIINwIIIAMgBSkCADcCACAIQdgAaiALKAIAIAMQ2gcgCCgCXCENIAgoAlghCiAIQdAAaiALKAIAIANBQGoiCRDaByAIKAJQIQcCQAJAIApBAUYEQCAHQQFHDQIgDSAIKAJUSQ0BDAILIAdBAUcNAQsgAyAJKQI4NwI4IAMgCSkCMDcCMCADIAkpAig3AiggAyAJKQIgNwIgIAMgCSkCGDcCGCADIAkpAhA3AhAgAyAJKQIINwIIIAMgCSkCADcCAAJAIAFBAUYEQCAJIQcMAQsgBiEKA0AgCEHIAGogCygCACAFENoHIAgoAkwhDCAIKAJIIRAgCEFAayALKAIAIAIgCmoiB0GAAWsiAxDaByAHQUBqIQcgCCgCQCENAkAgEEEBRgRAIA1BAUcEQCAJIQcMBAsgDCAIKAJESQ0BIAkhBwwDCyANQQFHDQILIAlBQGohCSAHIAMpAjg3AjggByADKQIwNwIwIAcgAykCKDcCKCAHIAMpAiA3AiAgByADKQIYNwIYIAcgAykCEDcCECAHIAMpAgg3AgggByADKQIANwIAIApBQGoiCkHAAEcNAAsgAiEHCyAFKQIAIRcgBSkCCCEYIAUpAhAhGSAFKQIYIRogBSkCICEbIAUpAighHCAFKQIwIR0gByAFKQI4NwI4IAcgHTcCMCAHIBw3AiggByAbNwIgIAcgGjcCGCAHIBk3AhAgByAYNwIIIAcgFzcCAAsgBkFAayEGIA8gAUEBaiIBRw0ACwsgD0EGdCIBIAJqIQ0gBCARSQRAIAAgAWohEiAEQQZ0IRBBwAAhAyANIQUDQCAEQQZ0IgYgDWoiASAGIBJqIgYpAjg3AjggASAGKQIwNwIwIAEgBikCKDcCKCABIAYpAiA3AiAgASAGKQIYNwIYIAEgBikCEDcCECABIAYpAgg3AgggASAGKQIANwIAIAhBOGogCygCACABENoHIAgoAjwhCiAIKAI4IQwgCEEwaiALKAIAIAFBQGoiCRDaByAIKAIwIQcCQAJAIAxBAXFFBEAgB0EBcQ0BDAILIAdBAUcNASAKIAgoAjRPDQELIAEgCSkCODcCOCABIAkpAjA3AjAgASAJKQIoNwIoIAEgCSkCIDcCICABIAkpAhg3AhggASAJKQIQNwIQIAEgCSkCCDcCCCABIAkpAgA3AgACQAJAIARBAUYNACADIQEgBSEKA0AgCEEoaiALKAIAIAYQ2gcgCCgCLCEVIAgoAighFCAIQSBqIAsoAgAgCiAQaiIHQYABayIMENoHIAdBQGohByAIKAIgIRMCQCAUQQFxRQRAIBNBAXFFDQQMAQsgE0EBRw0CIBUgCCgCJE8NAgsgCUFAaiEJIAcgDCkCODcCOCAHIAwpAjA3AjAgByAMKQIoNwIoIAcgDCkCIDcCICAHIAwpAhg3AhggByAMKQIQNwIQIAcgDCkCCDcCCCAHIAwpAgA3AgAgCkFAaiEKIBAgAUFAayIBRw0ACyANIQcMAQsgCSEHCyAGKQIAIRcgBikCCCEYIAYpAhAhGSAGKQIYIRogBikCICEbIAYpAighHCAGKQIwIR0gByAGKQI4NwI4IAcgHTcCMCAHIBw3AiggByAbNwIgIAcgGjcCGCAHIBk3AhAgByAYNwIIIAcgFzcCAAsgA0FAaiEDIAVBQGshBSARIARBAWoiBEcNAAsLIA1BQGohDCAOQQZ0QUBqIgEgAGohByABIAJqIQkDQCAIQRhqIAsoAgAgDRDaByAIKAIcIQEgCCgCGCAIQRBqIAsoAgAgAhDaByAIKAIQIQpBAUYEQCAKIAEgCCgCFElxIQoLIAAgDSACIApBAXEiAxsiASkCODcCOCAAIAEpAjA3AjAgACABKQIoNwIoIAAgASkCIDcCICAAIAEpAhg3AhggACABKQIQNwIQIAAgASkCCDcCCCAAIAEpAgA3AgAgCEEIaiALKAIAIAkQ2gcgCCgCDCEBIAgoAgghBCAIIAsoAgAgDBDaByAKQX9zQQFxQQZ0IQUgCCgCACEKIABBQGshACADQQZ0IA1qIQ0gAiAFaiECIAcgDCAJIARBAUYEfyAKIAEgCCgCBElxBSAKC0EBcSIDGyIBKQI4NwI4IAcgASkCMDcCMCAHIAEpAig3AiggByABKQIgNwIgIAcgASkCGDcCGCAHIAEpAhA3AhAgByABKQIINwIIIAcgASkCADcCACAHQUBqIQcgDCADQQZ0IgFrIQwgASAJakFAaiEJIA9BAWsiDw0ACyAMQUBrIQMgDkEBcQR/IAAgAiANIAIgA0kiBBsiASkCODcCOCAAIAEpAjA3AjAgACABKQIoNwIoIAAgASkCIDcCICAAIAEpAhg3AhggACABKQIQNwIQIAAgASkCCDcCCCAAIAEpAgA3AgAgDSACIANPQQZ0aiENIAIgBEEGdGoFIAILIANGIA0gCUFAa0ZxDQAQpBUACyAIQYACaiQAC5QlAgZ/An4jAEHQAGsiAiQAIABBBGohBAJAAkACQAJAAkACQAJAAkAgACgCAEEBaw4DAQIDAAtBASEDIAEoAgAiBUHA7sUAQQUgASgCBCIHKAIMIgYRAAANBgJAAkAgAS0ACkGAAXFFBEAgBUG0z8UAQQEgBhEAAA0JIAIgAEHIAGo2AgQgASgCAEHJ6sUAQQggASgCBCgCDBEAACEDIAIgATYCMCAAQThqIQVBASEAAkAgAw0AIAEtAApBgAFxRQRAIAEoAgBBl+PCAEEDIAEoAgQoAgwRAAANASABKAIAQaboxQBBBSABKAIEKAIMEQAADQEgASgCAEGmssgAQQIgASgCBCgCDBEAAA0BIAQgARDnEiEADAELIAEoAgBBmuPCAEEDIAEoAgQoAgwRAAANACACQQE6ACggAkGg68IANgJEIAIgASkCADcCFCACIAEpAgg3AkggAiACQShqNgIcIAIgAkEUaiIDNgJAIANBpujFAEEFEP0IDQAgA0GmssgAQQIQ/QgNACAEIAJBQGsQ5xIEQAwBCyACKAJAQaSyyABBAiACKAJEKAIMEQAAIQALIAIgADoANCACQQE6ADUgAkEwakGr6MUAQQogBUGBAhCJDkHR6sUAQQcgAkEEakHMARCJDiEDIAItADQhAAJAIAItADUiBEEBRw0AIABBAXENACADKAIAIgAtAApBgAFxDQIgACgCAEHt6sIAQQIgACgCBCgCDBEAAEUNA0EBIQMMCgtBASEDIAQNCSAAQQFxRQ0CDAkLIAVBnePCAEECIAYRAAANCCACQQE6ABMgAiAHNgIIIAIgBTYCBCACQaDrwgA2AhggAiABKQIIIgg3AhwgAiACQRNqNgIMIAIgAkEEaiIDNgIUIAIgAEHIAGo2AiQgAEE4aiEFIANByerFAEEIEP0IIQYgAiACQRRqIgc2AihBASEAAkAgBg0AIAhCgICABINQBEAgA0GX48IAQQMQ/QgNASACKAIUQaboxQBBBSACKAIYKAIMEQAADQEgAigCFEGmssgAQQIgAigCGCgCDBEAAA0BIAQgBxDnEiEADAELIAJBBGpBmuPCAEEDEP0IDQAgAikCHCEIIAIpAhQhCSACQQE6AD8gAiAJNwIwIAIgCDcCSCACQaDrwgA2AkQgAiACQT9qNgI4IAIgAkEwaiIDNgJAIANBpujFAEEFEP0IDQAgA0GmssgAQQIQ/QgNACAEIAJBQGsQ5xIEQAwBCyACKAJAQaSyyABBAiACKAJEKAIMEQAAIQALIAIgADoALCACQQE6AC0gAkEoakGr6MUAQQogBUGBAhCJDkHR6sUAQQcgAkEkakHMARCJDiEDIAItACwhAAJAAkACQCACLQAtIgRBAUcNACAAQQFxDQAgAygCACIALQAKQYABcQ0BIAAoAgBB7erCAEECIAAoAgQoAgwRAAANCgwCCyAEDQkgAEEBcUUNAQwJCyAAKAIAQaGyyABBASAAKAIEKAIMEQAADQgLIAIoAhRBpLLIAEECIAIoAhgoAgwRAABFDQFBASEDDAgLQQEhAyAAKAIAQaGyyABBASAAKAIEKAIMEQAADQcLIAEoAgBBiJDJAEEBIAEoAgQoAgwRAAAhAwwGC0EBIQMgASgCACIFQcXuxQBBBCABKAIEIgcoAgwiBhEAAA0FAkACQCABLQAKQYABcUUEQCAFQbTPxQBBASAGEQAADQggAiAAQcgAajYCBCABKAIAQcnqxQBBCCABKAIEKAIMEQAAIQMgAiABNgIwIABBOGohBUEBIQACQCADDQAgAS0ACkGAAXFFBEAgASgCAEGX48IAQQMgASgCBCgCDBEAAA0BIAEoAgBBpujFAEEFIAEoAgQoAgwRAAANASABKAIAQaayyABBAiABKAIEKAIMEQAADQEgBCABEOcSIQAMAQsgASgCAEGa48IAQQMgASgCBCgCDBEAAA0AIAJBAToAKCACQaDrwgA2AkQgAiABKQIANwIUIAIgASkCCDcCSCACIAJBKGo2AhwgAiACQRRqIgM2AkAgA0Gm6MUAQQUQ/QgNACADQaayyABBAhD9CA0AIAQgAkFAaxDnEgRADAELIAIoAkBBpLLIAEECIAIoAkQoAgwRAAAhAAsgAiAAOgA0IAJBAToANSACQTBqQavoxQBBCiAFQYECEIkOQdHqxQBBByACQQRqQcwBEIkOIQMgAi0ANCEAAkAgAi0ANSIEQQFHDQAgAEEBcQ0AIAMoAgAiAC0ACkGAAXENAiAAKAIAQe3qwgBBAiAAKAIEKAIMEQAARQ0DQQEhAwwJC0EBIQMgBA0IIABBAXFFDQIMCAsgBUGd48IAQQIgBhEAAA0HIAJBAToAEyACIAc2AgggAiAFNgIEIAJBoOvCADYCGCACIAEpAggiCDcCHCACIAJBE2o2AgwgAiACQQRqIgM2AhQgAiAAQcgAajYCJCAAQThqIQUgA0HJ6sUAQQgQ/QghBiACIAJBFGoiBzYCKEEBIQACQCAGDQAgCEKAgIAEg1AEQCADQZfjwgBBAxD9CA0BIAIoAhRBpujFAEEFIAIoAhgoAgwRAAANASACKAIUQaayyABBAiACKAIYKAIMEQAADQEgBCAHEOcSIQAMAQsgAkEEakGa48IAQQMQ/QgNACACKQIcIQggAikCFCEJIAJBAToAPyACIAk3AjAgAiAINwJIIAJBoOvCADYCRCACIAJBP2o2AjggAiACQTBqIgM2AkAgA0Gm6MUAQQUQ/QgNACADQaayyABBAhD9CA0AIAQgAkFAaxDnEgRADAELIAIoAkBBpLLIAEECIAIoAkQoAgwRAAAhAAsgAiAAOgAsIAJBAToALSACQShqQavoxQBBCiAFQYECEIkOQdHqxQBBByACQSRqQcwBEIkOIQMgAi0ALCEAAkACQAJAIAItAC0iBEEBRw0AIABBAXENACADKAIAIgAtAApBgAFxDQEgACgCAEHt6sIAQQIgACgCBCgCDBEAAA0IDAILIAQNByAAQQFxRQ0BDAcLIAAoAgBBobLIAEEBIAAoAgQoAgwRAAANBgsgAigCFEGkssgAQQIgAigCGCgCDBEAAEUNAUEBIQMMBwtBASEDIAAoAgBBobLIAEEBIAAoAgQoAgwRAAANBgsgASgCAEGIkMkAQQEgASgCBCgCDBEAACEDDAULQQEhAyABKAIAIgVBye7FAEEFIAEoAgQiBygCDCIGEQAADQQCQAJAIAEtAApBgAFxRQRAIAVBtM/FAEEBIAYRAAANByACIABByABqNgIEIAEoAgBByerFAEEIIAEoAgQoAgwRAAAhAyACIAE2AjAgAEE4aiEFQQEhAAJAIAMNACABLQAKQYABcUUEQCABKAIAQZfjwgBBAyABKAIEKAIMEQAADQEgASgCAEGm6MUAQQUgASgCBCgCDBEAAA0BIAEoAgBBprLIAEECIAEoAgQoAgwRAAANASAEIAEQ5xIhAAwBCyABKAIAQZrjwgBBAyABKAIEKAIMEQAADQAgAkEBOgAoIAJBoOvCADYCRCACIAEpAgA3AhQgAiABKQIINwJIIAIgAkEoajYCHCACIAJBFGoiAzYCQCADQaboxQBBBRD9CA0AIANBprLIAEECEP0IDQAgBCACQUBrEOcSBEAMAQsgAigCQEGkssgAQQIgAigCRCgCDBEAACEACyACIAA6ADQgAkEBOgA1IAJBMGpBq+jFAEEKIAVBgQIQiQ5B0erFAEEHIAJBBGpBzAEQiQ4hAyACLQA0IQACQCACLQA1IgRBAUcNACAAQQFxDQAgAygCACIALQAKQYABcQ0CIAAoAgBB7erCAEECIAAoAgQoAgwRAABFDQNBASEDDAgLQQEhAyAEDQcgAEEBcUUNAgwHCyAFQZ3jwgBBAiAGEQAADQYgAkEBOgATIAIgBzYCCCACIAU2AgQgAkGg68IANgIYIAIgASkCCCIINwIcIAIgAkETajYCDCACIAJBBGoiAzYCFCACIABByABqNgIkIABBOGohBSADQcnqxQBBCBD9CCEGIAIgAkEUaiIHNgIoQQEhAAJAIAYNACAIQoCAgASDUARAIANBl+PCAEEDEP0IDQEgAigCFEGm6MUAQQUgAigCGCgCDBEAAA0BIAIoAhRBprLIAEECIAIoAhgoAgwRAAANASAEIAcQ5xIhAAwBCyACQQRqQZrjwgBBAxD9CA0AIAIpAhwhCCACKQIUIQkgAkEBOgA/IAIgCTcCMCACIAg3AkggAkGg68IANgJEIAIgAkE/ajYCOCACIAJBMGoiAzYCQCADQaboxQBBBRD9CA0AIANBprLIAEECEP0IDQAgBCACQUBrEOcSBEAMAQsgAigCQEGkssgAQQIgAigCRCgCDBEAACEACyACIAA6ACwgAkEBOgAtIAJBKGpBq+jFAEEKIAVBgQIQiQ5B0erFAEEHIAJBJGpBzAEQiQ4hAyACLQAsIQACQAJAAkAgAi0ALSIEQQFHDQAgAEEBcQ0AIAMoAgAiAC0ACkGAAXENASAAKAIAQe3qwgBBAiAAKAIEKAIMEQAADQYMAgsgBA0FIABBAXFFDQEMBQsgACgCAEGhssgAQQEgACgCBCgCDBEAAA0ECyACKAIUQaSyyABBAiACKAIYKAIMEQAARQ0BQQEhAwwGC0EBIQMgACgCAEGhssgAQQEgACgCBCgCDBEAAA0FCyABKAIAQYiQyQBBASABKAIEKAIMEQAAIQMMBAtBASEDIAEoAgAiBUHO7sUAQQQgASgCBCIHKAIMIgYRAAANAwJAAkACQCABLQAKQYABcUUEQCAFQbTPxQBBASAGEQAADQcgAiAAQcgAajYCBCABKAIAQcnqxQBBCCABKAIEKAIMEQAAIQMgAiABNgIwIABBOGohBUEBIQACQCADDQAgAS0ACkGAAXFFBEAgASgCAEGX48IAQQMgASgCBCgCDBEAAA0BIAEoAgBBpujFAEEFIAEoAgQoAgwRAAANASABKAIAQaayyABBAiABKAIEKAIMEQAADQEgBCABEOcSIQAMAQsgASgCAEGa48IAQQMgASgCBCgCDBEAAA0AIAJBAToAKCACQaDrwgA2AkQgAiABKQIANwIUIAIgASkCCDcCSCACIAJBKGo2AhwgAiACQRRqIgM2AkAgA0Gm6MUAQQUQ/QgNACADQaayyABBAhD9CA0AIAQgAkFAaxDnEgRADAELIAIoAkBBpLLIAEECIAIoAkQoAgwRAAAhAAsgAiAAOgA0IAJBAToANSACQTBqQavoxQBBCiAFQYECEIkOQdHqxQBBByACQQRqQcwBEIkOIQMgAi0ANCEAAkAgAi0ANSIEQQFHDQAgAEEBcQ0AIAMoAgAiAC0ACkGAAXENAiAAKAIAQe3qwgBBAiAAKAIEKAIMEQAARQ0DQQEhAwwIC0EBIQMgBA0HIABBAXFFDQIMBwsgBUGd48IAQQIgBhEAAA0GIAJBAToAEyACIAc2AgggAiAFNgIEIAJBoOvCADYCGCACIAEpAggiCDcCHCACIAJBE2o2AgwgAiACQQRqIgM2AhQgAiAAQcgAajYCJCAAQThqIQUgA0HJ6sUAQQgQ/QghBiACIAJBFGoiBzYCKEEBIQACQCAGDQAgCEKAgIAEg1AEQCADQZfjwgBBAxD9CA0BIAIoAhRBpujFAEEFIAIoAhgoAgwRAAANASACKAIUQaayyABBAiACKAIYKAIMEQAADQEgBCAHEOcSIQAMAQsgAkEEakGa48IAQQMQ/QgNACACKQIcIQggAikCFCEJIAJBAToAPyACIAk3AjAgAiAINwJIIAJBoOvCADYCRCACIAJBP2o2AjggAiACQTBqIgM2AkAgA0Gm6MUAQQUQ/QgNACADQaayyABBAhD9CA0AIAQgAkFAaxDnEgRADAELIAIoAkBBpLLIAEECIAIoAkQoAgwRAAAhAAsgAiAAOgAsIAJBAToALSACQShqQavoxQBBCiAFQYECEIkOQdHqxQBBByACQSRqQcwBEIkOIQMgAi0ALCEAAkACQAJAIAItAC0iBEEBRw0AIABBAXENACADKAIAIgAtAApBgAFxDQEgACgCAEHt6sIAQQIgACgCBCgCDBEAAA0FDAILIAQNBCAAQQFxRQ0BDAQLIAAoAgBBobLIAEEBIAAoAgQoAgwRAAANAwsgAigCFEGkssgAQQIgAigCGCgCDBEAAEUNAUEBIQMMBgtBASEDIAAoAgBBobLIAEEBIAAoAgQoAgwRAAANBQsgASgCAEGIkMkAQQEgASgCBCgCDBEAACEDDAQLQQEhAwwDC0EBIQMMAgtBASEDDAELQQEhAwsgAkHQAGokACADC6COAQIwfwN+IwBB4AZrIgQkAAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAIAIoAgAiBUGAgICAeHMOBgABAgYFBAMLIAQgAigCBCICQZAC/AoAACAAIAEgBBA7IAJBBGsoAgAiAEEDcSEBIABBeHFBlAJBmAIgARtJDRAgAUEARyAAQbgCT3ENESACELwFDA4LIAQgAigCBCInQbgC/AoAACAAIQkgASEMIwBBsAZrIgMkAAJAAkACQAJ/AkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJ/An8CQAJAAkACQAJAAkACQAJAAkACQAJAAkACQEEHEJABIgAEQCAAQcTPxQAoAAA2AAMgAEHBz8UAKAAANgAAIANBBzYCiAUgAyAANgKEBSADQQc2AoAFIAEgA0GABWoiARD8DSAEQYQCaiEYAkACQAJAAkACQCAEKAKEAkF/RwRAIANBBGoiAiAYEOgCQQUQkAEiAEUNJiAAQczPxQAtAAA6AAQgAEHIz8UAKAAANgAAIANBBTYCiAUgAyAANgKEBSADQQU2AoAFIAwgARD8DSABIAwgAkEBEMcBIAMoAoAFQX5HDQELIARBgAFqISMCQAJAAkACQCAEKAKAAQ4KAQAAAAUAAAAAAgALIANBgAVqIgEgI0HgAPwKAABBARCQASIARQ0oIABBKDoAACADQQE2AqgDIAMgADYCpAMgA0EBNgKgAyAMIANBoANqIgAQ/A0gACAMIAEQyQEgAygCoAMiAEF+Rw0GQQEhB0EBEJABIgANBwwoCyADQThqIARBiAFqQcgA/AoAACAEKAKAAiEFQQIQkAEiAA0BDCcLIAQoAoACIQUgBCgChAEhDkECEJABIgANAwwmCyAAQaDQADsAACADQQI2AogFIAMgADYChAUgA0ECNgKABSAMIANBgAVqIgcQ/A0gBCgCgAIhASAEKAL8ASECIAMgBCgC+AEiDjYCiAIgAyACNgKAAiADIAIgAUGwAWwiDWoiDzYCjAIgAiEAIAFFDREgBUEBayEWIANBwANqIRIgA0GwA2ogA0GgA2oiAUH0AGohCyABQfAAaiEQIANBsAJqIRMgB0EEaiEXA0ACQAJAIABB8ABqKAIAIgFBfkcEQCALIABBrAFqKAIANgI4IAsgAEGkAWopAgA3AjAgCyAAQZwBaikCADcCKCALIABBlAFqKQIANwIgIAsgAEGMAWopAgA3AhggCyAAQYQBaikCADcCECALIABB/ABqKQIANwIIIAsgAEH0AGopAgA3AgAgFyAAQfAA/AoAACADQawCaiADQYAFakH0APwKAAAgA0GgA2ogE0HwAPwKAAAgAyABNgKQBCADKAKMBCEBIAMoAogEIQUgAygChAQiCEF/Rg0BIAUhBwwCCyAAQbABaiEADBQLIAFBAEgNFyABRQRAQQEhB0EAIQFBACEIDAELIAEQkAEiB0UNJyABBEAgByAFIAH8CgAACyABIQgLIABBsAFqIQAgCkEBaiEFIANBfzYC8AUgAyABNgLsBSADIAc2AugFIAMgCDYC5AUgA0F+NgLYBSADQf8BOgCkBiADQXw2ApAFIANBADoArAYgA0EAOwGqBiADQX42AoAFIANB0ARqIAwgA0GABWoiBxD6AiADKALQBEF+RgRAIAogFkkEQEEBEJABIgFFDSggAUEsOgAAIANBATYCiAUgAyABNgKEBSADQQE2AoAFIAwgBxD8DQsgEBDGDCADKAL4AyIBQQBKBEAgAygC/AMiCEEEaygCACIKQXhxIQcgB0EEQQggCkEDcSIKGyABakkNOSAKQQBHIAcgAUEnaktxDTogCBC8BQsCQCADKAKwAyIBQXxGDQAgAUF9Rg0AIBIQ/wIgAUEATA0AIAMoArQDIghBBGsoAgAiCkF4cSEHIAdBBEEIIApBA3EiChsgAWpJDTkgCkEARyAHIAFBJ2pLcQ06IAgQvAULIAMoAqADIgFBAEoEQCADKAKkAyIIQQRrKAIAIgpBeHEhByAHQQRBCCAKQQNxIgobIAFqSQ05IApBAEcgByABQSdqS3ENOiAIELwFCyAFIQogDUGwAWsiDQ0BDBQLCyAJIAMpAtAENwIAIAkgAykC2AQ3AgggCSADKQLgBDcCECAJIAMpAugENwIYIAkgAykC8AQ3AiAgCSADKQL4BDcCKCADIAU2ApACIAMgADYChAIgEBDGDCADKAL4AyIAQQBKBEAgAygC/AMgABDZEgsQ2xEgAygCoAMiAEEATA0PIAMoAqQDIAAQ2RIMDwsgCSADKQKoBTcCKCAJIAMpAqAFNwIgIAkgAykCmAU3AhggCSADKQKQBTcCECAJIAMpAogFNwIIIAkgAykCgAU3AgAgGBDGDCAEKAL8ASEBIAQoAoACIgAEQCABIQIDQCACEMEKIAJBsAFqIQIgAEEBayIADQALC0EBIQUgBCgC+AEiAkUNDSABQQRrKAIAIgdBeHEhACAAIAJBsAFsIgJBBEEIIAdBA3EiBxtySQ01IAdBAEcgACACQSdqS3ENNiABELwFDA0LIAMgBCgCjAEiADYCiAEgAyAEKQKEATcDgAEgAEUNCyAEKAKAAkECEJABIgBFDSMgAEGg0AA7AAAgA0ECNgKIBSADIAA2AoQFIANBAjYCgAUgDCADQYAFaiIHEPwNIAQoAoACIQEgBCgC/AEhAiADIAQoAvgBIg42AogCIAMgAjYCgAIgAyACIAFBsAFsIg1qIg82AowCIAIhACABRQ0HQQFrIRYgA0HAA2ohEiADQbADaiADQaADaiIBQfQAaiELIAFB8ABqIRAgA0GwAmohEyAHQQRqIRcDQAJAAkAgAEHwAGooAgAiAUF+RwRAIAsgAEGsAWooAgA2AjggCyAAQaQBaikCADcCMCALIABBnAFqKQIANwIoIAsgAEGUAWopAgA3AiAgCyAAQYwBaikCADcCGCALIABBhAFqKQIANwIQIAsgAEH8AGopAgA3AgggCyAAQfQAaikCADcCACAXIABB8AD8CgAAIANBrAJqIANBgAVqQfQA/AoAACADQaADaiATQfAA/AoAACADIAE2ApAEIAMoAowEIQEgAygCiAQhBSADKAKEBCIIQX9GDQEgBSEHDAILIABBsAFqIQAMCgsgAUEASA0VIAFFBEBBASEHQQAhAUEAIQgMAQsgARCQASIHRQ0lIAEEQCAHIAUgAfwKAAALIAEhCAsgAEGwAWohACAKQQFqIQUgA0F/NgLwBSADIAE2AuwFIAMgBzYC6AUgAyAINgLkBSADQX42AtgFIANB/wE6AKQGIANBfDYCkAUgA0EAOgCsBiADQQA7AaoGIANBfjYCgAUgA0HQBGogDCADQYAFaiIHEPoCIAMoAtAEQX5GBEAgCiAWSQRAQQEQkAEiAUUNJiABQSw6AAAgA0EBNgKIBSADIAE2AoQFIANBATYCgAUgDCAHEPwNCyAQEMYMIAMoAvgDIgFBAEoEQCADKAL8AyIIQQRrKAIAIgpBeHEhByAHQQRBCCAKQQNxIgobIAFqSQ03IApBAEcgByABQSdqS3ENOCAIELwFCwJAIAMoArADIgFBfEYNACABQX1GDQAgEhD/AiABQQBMDQAgAygCtAMiCEEEaygCACIKQXhxIQcgB0EEQQggCkEDcSIKGyABakkNNyAKQQBHIAcgAUEnaktxDTggCBC8BQsgAygCoAMiAUEASgRAIAMoAqQDIghBBGsoAgAiCkF4cSEHIAdBBEEIIApBA3EiChsgAWpJDTcgCkEARyAHIAFBJ2pLcQ04IAgQvAULIAUhCiANQbABayINDQEMCgsLIAkgAykC0AQ3AgAgCSADKQLYBDcCCCAJIAMpAuAENwIQIAkgAykC6AQ3AhggCSADKQLwBDcCICAJIAMpAvgENwIoIAMgBTYCkAIgAyAANgKEAiAQEMYMIAMoAvgDIgBBAEoEQCADKAL8AyAAENkSCxDbESADKAKgAyIAQQBKBEAgAygCpAMgABDZEgsgA0GAAmoQlxEgA0GAAWoQwQ4MCQsgAEGg0AA7AAAgA0ECNgKIBSADIAA2AoQFIANBAjYCgAUgDCADQYAFaiIHEPwNIAQoAoACIQEgBCgC/AEhAiADIAQoAvgBIg82AogCIAMgAjYCgAIgAyACIAFBsAFsIg1qIhA2AowCIAIhACABRQ0DIAVBAWshEiADQcADaiEUIANBsANqIANBoANqIgFB9ABqIQsgAUHwAGohFiADQbACaiEXIAdBBGohGQNAAkACQCAAQfAAaigCACIBQX5HBEAgCyAAQawBaigCADYCOCALIABBpAFqKQIANwIwIAsgAEGcAWopAgA3AiggCyAAQZQBaikCADcCICALIABBjAFqKQIANwIYIAsgAEGEAWopAgA3AhAgCyAAQfwAaikCADcCCCALIABB9ABqKQIANwIAIBkgAEHwAPwKAAAgA0GsAmogA0GABWpB9AD8CgAAIANBoANqIBdB8AD8CgAAIAMgATYCkAQgAygCjAQhASADKAKIBCEFIAMoAoQEIghBf0YNASAFIQcMAgsgAEGwAWohAAwGCyABQQBIDRQgAUUEQEEBIQdBACEBQQAhCAwBCyABEJABIgdFDSQgAQRAIAcgBSAB/AoAAAsgASEICyAAQbABaiEAIApBAWohBSADQX82AvAFIAMgATYC7AUgAyAHNgLoBSADIAg2AuQFIANBfjYC2AUgA0H/AToApAYgA0F8NgKQBSADQQA6AKwGIANBADsBqgYgA0F+NgKABSADQdAEaiAMIANBgAVqIgcQ+gIgAygC0ARBfkYEQCAKIBJJBEBBARCQASIBRQ0lIAFBLDoAACADQQE2AogFIAMgATYChAUgA0EBNgKABSAMIAcQ/A0LIBYQxgwgAygC+AMiAUEASgRAIAMoAvwDIghBBGsoAgAiCkF4cSEHIAdBBEEIIApBA3EiChsgAWpJDTYgCkEARyAHIAFBJ2pLcQ03IAgQvAULAkAgAygCsAMiAUF8Rg0AIAFBfUYNACAUEP8CIAFBAEwNACADKAK0AyIIQQRrKAIAIgpBeHEhByAHQQRBCCAKQQNxIgobIAFqSQ02IApBAEcgByABQSdqS3ENNyAIELwFCyADKAKgAyIBQQBKBEAgAygCpAMiCEEEaygCACIKQXhxIQcgB0EEQQggCkEDcSIKGyABakkNNiAKQQBHIAcgAUEnaktxDTcgCBC8BQsgBSEKIA1BsAFrIg0NAQwGCwsgCSADKQLQBDcCACAJIAMpAtgENwIIIAkgAykC4AQ3AhAgCSADKQLoBDcCGCAJIAMpAvAENwIgIAkgAykC+AQ3AiggAyAFNgKQAiADIAA2AoQCIBYQxgwgAygC+AMiAEEASgRAIAMoAvwDIAAQ2RILENsRIAMoAqADIgBBAEoEQCADKAKkAyAAENkSCyADQYACahCXESAOENELDAULIAkgAygCzAM2AiwgCSADKQLEAzcCJCAJIAMpArwDNwIcIAkgAykCtAM3AhQgCSADKQKsAzcCDCAJIAMpAqQDNwIEIAkgADYCACAYEMYMIAQoAvwBIQcgBCgCgAIiAARAIAchAgNAIAIQwQogAkGwAWohAiAAQQFrIgANAAsLIAQoAvgBIgFFBEBBASEBQQEhDUEBIQUMHwsgB0EEaygCACICQXhxIQAgACABQbABbCIIQQRBCCACQQNxIgIbckkNMkEBIQEgAkUEQEEBIQ1BASEFDB4LQQEhDUEBIQUgACAIQSdqTQ0dDDMLIABBKToAACADQQE2AqgDIAMgADYCpAMgA0EBNgKgAyAMIANBoANqEPwNQQAMDwsMHwsgECAAa0GwAW4hASAAIBBGDQADQCAAEMEKIABBsAFqIQAgAUEBayIBDQALCwJAIA8EQCACQQRrKAIAIgFBeHEhACAAIA9BsAFsIgVBBEEIIAFBA3EiARtySQ0BIAFBAEcgACAFQSdqS3ENMSACELwFC0EBEJABIgAEQCAAQSk6AAAgA0EBNgKIBSADIAA2AoQFIANBATYCgAUgDCADQYAFaiIBEPwNQQgQkAEiAARAIABCoKyF4tSq0akgNwAAIANBCDYCiAUgAyAANgKEBSADQQg2AoAFIAwgARD8DSAOQQhqKAIAIQEgDigCBCEAIAMgDigCADYCqAMgAyAANgKgAyADIAAgAUEMbGoiBTYCrANBACEHAkAgAUUEQEEAIQEgACEFDAELIAFBAWsiCkH/////A3FBAWpBACEBA0ACQAJAAkAgACgCACINQX9HBEAgAEEMaiECIAMgAEEEaikCADcCsAIgAyANNgKsAiADQYAFaiAMIANBrAJqEL0FIAFBAWohACADKAKABUF+Rw0CIAEgCkkNAQwDCyAAQQxqIQUMBAtBAhCQASIBRQ0kIAFBrMAAOwAAIANBAjYCiAUgAyABNgKEBSADQQI2AoAFIAwgA0GABWoQ/A0MAQsgCSADKQKABTcCACAJIAMpAogFNwIIIAkgAykCkAU3AhAgCSADKQKYBTcCGCAJIAMpAqAFNwIgIAkgAykCqAU3AiggAyAANgKwAyADIAI2AqQDIANBoANqEJYLDAYLIAAhASAFIAIiAEcNAAshAQsgAyABNgKwAyADIAU2AqQDIANBoANqEJYLIA5BDBDZEkEBIR1BASEKQQEhCEEADA8LDB8LDB4LDC4LIA5BBGsoAgAiAUF4cSEAIABBEEEUIAFBA3EiARtJDS0gAUEARyAAQTRPcUUEQCAOELwFIBgQxgxBACEWQQEhBUEBIQ1BASEBQQEhCkEBIQgMGAsMLgsgDyAAa0GwAW4hASAAIA9GDQADQCAAEMEKIABBsAFqIQAgAUEBayIBDQALCyAOBEAgAkEEaygCACIBQXhxIQAgACAOQbABbCIFQQRBCCABQQNxIgEbckkNLCABQQBHIAAgBUEnaktxDS0gAhC8BQtBARCQASIARQ0aIABBKToAACADQQE2AogFIAMgADYChAUgA0EBNgKABSAMIANBgAVqIgAQ/A1BCBCQASIBRQ0aIAFCoKyF4tSq0akgNwAAIANBCDYCiAUgAyABNgKEBSADQQg2AoAFIAwgABD8DSAAIAwgA0GAAWoQvQUgAygCgAVBfkYNASAJIAMpAqgFNwIoIAkgAykCoAU3AiAgCSADKQKYBTcCGCAJIAMpApAFNwIQIAkgAykCiAU3AgggCSADKQKABTcCAAtBACEIQQEhCgwEC0EBIR1BASEKQQAhCEEADAYLQQ8QkAEiAEUNFyAAQdTPxQApAAA3AAcgAEHNz8UAKQAANwAAIANBDzYCiAUgAyAANgKEBSADQQ82AoAFIAwgA0GABWoQ/A0gA0GAAWoQwQ5BASEdQQEhCkEBDAULQQEhDUEBIQFBASEKQQEhCEEBIRYMEQsgA0GAAmoQlxEgA0HIAGoQ/wJBASEIQQAhCiADKAI4IgBBAEwNACADKAI8IgJBBGsoAgAiBUF4cSEBIAFBBEEIIAVBA3EiBRsgAGpJDSYgBUEARyABIABBJ2pLcQ0nIAIQvAULIBgQxgxBASEFQQEhDUEBIQFBASEWDA8LIA8gAGtBsAFuIQEgACAPRg0AA0AgABDBCiAAQbABaiEAIAFBAWsiAQ0ACwsgDgRAIAJBBGsoAgAiAUF4cSEAIAAgDkGwAWwiBUEEQQggAUEDcSIBG3JJDSQgAUEARyAAIAVBJ2pLcQ0lIAIQvAULQQEQkAEiAEUNEiAAQSk6AAAgA0EBNgKIBSADIAA2AoQFIANBATYCgAUgDCADQYAFaiIBEPwNQQgQkAEiAEUNEiAAQqCsheLUqtGpIDcAACADQQg2AogFIAMgADYChAUgA0EINgKABSAMIAEQ/A0gDCgCCCIAIAwoAgBGBEAgDBCoEgtBASEdIAwgAEEBajYCCCAMKAIEIABBMGxqIgBBATYCLCAAQcWyyAA2AiggAEKBgICAcDcCICAAQYiQyQA2AhwgAEKBgICAcDcCFCAAQcWyyAA2AhAgAEKBgICAcDcCCCAAQbTPxQA2AgQgAEF/NgIAIAwoAhQiACAMKAIMRgRAIAxBDGoQqRILIAwoAhAgAEHIAGxqIANBOGpByAD8CgAAIAwgAEEBajYCFEEAIQpBASEIQQALIQdBAQshFkEBIQECQAJAAkAgBCgCAEECag4CCgEACyADQYwBaiAEQfQA/AoAACAEKAJ8IQEgBCgCeCELIAQoAnQhEkEMEJABIgANAQwSC0EXEJABIgBFDREgAEHrz8UAKQAANwAPIABB5M/FACkAADcACCAAQdzPxQApAAA3AAAgA0EXNgKIBSADIAA2AoQFIANBFzYCgAUgDCADQYAFahD8DQwICyAAQfvPxQAoAAA2AAggAEHzz8UAKQAANwAAIANBDDYCiAUgAyAANgKEBSADQQw2AoAFIAwgA0GABWoiAhD8DUECEJABIgBFDRAgAEGg0AA7AAAgA0ECNgKIBSADIAA2AoQFIANBAjYCgAUgDCACEPwNIAFBsAFsIhMgC2ohFCALIQAgAUUNASABQQFrIQYgA0HAA2ohFyADQaADaiIAQfQAaiEQIABB8ABqIRkgA0GwAmohESACQQRqIRVBACEBQQAhDwNAAkACQCABIAtqIg5B8ABqKAIAIgBBfkcEQCAQIA5BrAFqKAIANgI4IBAgDkGkAWopAgA3AjAgECAOQZwBaikCADcCKCAQIA5BlAFqKQIANwIgIBAgDkGMAWopAgA3AhggECAOQYQBaikCADcCECAQIA5B/ABqKQIANwIIIBAgDkH0AGopAgA3AgAgFSAOQfAA/AoAACADQawCaiADQYAFakH0APwKAAAgA0GgA2ogEUHwAPwKAAAgAyAANgKQBCADKAKMBCEFIAMoAogEIQIgAygChAQiDUF/Rg0BIAIhAAwCCyAOQbABaiEADAQLIAVBAEgNAiAFRQRAQQAhDUEBIQBBACEFDAELIAUQkAEiAEUNEiAFBEAgACACIAX8CgAACyAFIQ0LIANBfzYC8AUgAyAFNgLsBSADIAA2AugFIAMgDTYC5AUgA0F+NgLYBSADQf8BOgCkBiADQXw2ApAFIANBADoArAYgA0EAOwGqBiADQX42AoAFIANB0ARqIAwgA0GABWoiAhD6AiADKALQBCIFQX5GBEAgBiAPSwRAQQEQkAEiAEUNEyAAQSw6AAAgA0EBNgKIBSADIAA2AoQFIANBATYCgAUgDCACEPwNCyAZEMYMIAMoAvgDIgBBAEoEQCADKAL8AyIFQQRrKAIAIg1BeHEhAiACQQRBCCANQQNxIg0bIABqSQ0kIA1BAEcgAiAAQSdqS3ENJSAFELwFCwJAIAMoArADIgBBfEYNACAAQX1GDQAgFxD/AiAAQQBMDQAgAygCtAMiBUEEaygCACINQXhxIQIgAkEEQQggDUEDcSINGyAAakkNJCANQQBHIAIgAEEnaktxDSUgBRC8BQsgAygCoAMiAEEASgRAIAMoAqQDIgVBBGsoAgAiDUF4cSECIAJBBEEIIA1BA3EiDRsgAGpJDSQgDUEARyACIABBJ2pLcQ0lIAUQvAULIA9BAWohDyATIAFBsAFqIgFHDQEMBAsLIAMgAygC/AQ2AqgCIAMgAykC9AQ3A6ACIAMgAykC7AQ3A5gCIAMgAykC5AQ3A5ACIAMgAykC3AQ3A4gCIAMgAykC1AQ3A4ACIBkQxgwgAygC+AMiAEEASgRAIAMoAvwDIg1BBGsoAgAiDEF4cSECIAJBBEEIIAxBA3EiDBsgAGpJDSIgDEEARyACIABBJ2pLcQ0jIA0QvAULAkAgAygCsAMiAEF8Rg0AIABBfUYNACAXEP8CIABBAEwNACADKAK0AyAAENkSCyADKAKgAyIAQQBKBEAgAygCpAMiDUEEaygCACIMQXhxIQIgAkEEQQggDEEDcSIMGyAAakkNIiAMQQBHIAIgAEEnaktxDSMgDRC8BQsgFCAOQbABaiICRwRAIBMgAWtBsAFrQbABbiEAA0AgAhDBCiACQbABaiECIABBAWsiAA0ACwsgEgRAIAtBBGsoAgAiAUF4cSEAIAAgEkGwAWwiAkEEQQggAUEDcSIBG3JJDSIgAUEARyAAIAJBJ2pLcQ0jIAsQvAULIAkgBTYCACAJIAMpA4ACNwIEIAkgAykDiAI3AgwgCSADKQOQAjcCFCAJIAMpA5gCNwIcIAkgAykDoAI3AiQgCSADKAKoAjYCLAwDCxCeFQALIBQgAGtBsAFuIQEgACAURg0AA0AgABDBCiAAQbABaiEAIAFBAWsiAQ0ACwsgEgRAIAtBBGsoAgAiAUF4cSEAIAAgEkGwAWwiAkEEQQggAUEDcSIBG3JJDR8gAUEARyAAIAJBJ2pLcQ0gIAsQvAULQQEQkAEiAEUNDSAAQSk6AAAgA0EBNgKIBSADIAA2AoQFIANBATYCgAUgDCADQYAFaiIAEPwNIAAgDEH/z8UAQQQQ1xIgAygCgAVBfkYNASAJIAMpAqgFNwIoIAkgAykCoAU3AiAgCSADKQKYBTcCGCAJIAMpApAFNwIQIAkgAykCiAU3AgggCSADKQKABTcCAAsgA0GMAWoQ1gcMAQsgA0GABWohFSADQYwBaiERIwBBkAZrIgYkAAJAAkACQAJAAkACQEEHEJABIgAEQCAAQZyCxgAoAAA2AAMgAEGZgsYAKAAANgAAIAZBBzYC6AQgBiAANgLkBCAGQQc2AuAEIAwgBkHgBGoiARD8DUEEEJABIgAEQCAAQdOK0YICNgAAIAZBBDYC6AQgBiAANgLkBCAGQQQ2AuAEIAwgARD8DSAGQdACaiAREOgCAkAgESgCTCIAQYzd6AVPDQAgESgCSCENAkACQCAAQbABbCIgRQRAQQghEAwBCyAgEJABIhBFDQEgAEUNAEEAIQEgACECA0AgASAgRg0BIAZB4ARqIgUgASANahCDAyABIBBqIAVBsAH8CgAAIAFBsAFqIQEgAkEBayICDQALCyAGQYAEaiARQdAAaiIkEOkMIBFBNGohJUF/IR8gESgCNCIoQX9HBEAgBkHgBGogJRDVCiAGIAYpAuQENwPYASAGIAYoAuwENgLgASAGKALgBCEfC0F+IQ8CQCARKAJoIhxBfkcEQEF/IQ8gESgCcCEBIBEoAmwhBQJAIBxBf0YEQCAFIQIMAQsgAUUEQEEBIQJBACEPDAELIAEQkAEiAkUNAiABBEAgAiAFIAH8CgAACyABIQ8LIAKtIAGtQiCGhCE0C0F/IQ4CQCARKAJcIh5Bf0cEQCARKAJkIg5BjN3oBU8NBAJAIA5BsAFsIgtFBEBBCCEFDAELIBEoAmAhEiALEJABIgVFDQIgDkUNAEEAIQEgDiECA0AgASALRg0BIAZB4ARqIhQgASASahCDAyABIAVqIBRBsAH8CgAAIAFBsAFqIQEgAkEBayICDQALCyAFrSAOrUIghoQhMwsgBiAGKAKAAzYCaCAGIAYpAvgCNwNgIAYgBikC8AI3A1ggBiAGKQLoAjcDUCAGIAYpAuACNwNIIAYgBikC2AI3A0AgBiAGKQLQAjcDOCAGIAA2AoQBIAYgEDYCgAEgBiAANgJ8IAYgBikCgAQ3A4gBIAYgBigCiAQ2ApABIAYgHzYCbCAGIA82AqABIAYgDjYClAEgBiAGKQPYATcDcCAGIAYoAuABNgJ4IAYgNDcCpAEgBiAzNwOYASAGKAKIASECIAYoAowBIQEgBigCkAEhEiAGQgA3AswBIAYgEkHgAGwiJiABaiIpNgLIASAGIAI2AsQBIAYgATYCvAEgBiAQICBqIhc2ArgBIAYgADYCtAEgBiAQNgKsASAzQiCIIjWnISEgBkHsAGohKiAzpyELIDSnISIgAEUEQEEAIQUMBwsgAEEBa0H/////AHFBAWohGSASIAAgACASSxtBAWshLiAGQYAEakEEciEvIAZBxANqIRogBkHcAWohMCAGQeAEaiICQQRqITEgAkH0AGohG0EAIQUCQANAAkACQAJAAkACQCAQICtqIgJB8ABqKAIAIixBfkcEQCAGQeAEaiACQfAA/AoAACAbIAJBrAFqKAIANgI4IBsgAkGkAWopAgA3AjAgGyACQZwBaikCADcCKCAbIAJBlAFqKQIANwIgIBsgAkGMAWopAgA3AhggGyACQYQBaikCADcCECAbIAJB/ABqKQIANwIIIBsgAkH0AGoiEykCADcCACAGICw2AtAFICZFDQIgASgCACIyQX9HDQEgAUHgAGohKSACQbABaiEBIAUhEgwPCyACQbABaiEQDA0LIAJBsAFqIS0gAUHgAGohFCAvIAFBBGpB3AD8CgAAIBogEygCODYCOCAaIBMpAjA3AjAgGiATKQIoNwIoIBogEykCIDcCICAaIBMpAhg3AhggGiATKQIQNwIQIBogEykCCDcCCCAaIBMpAgA3AgAgMSACQfAA/AoAACAGQdgBaiAGQeAEaiIBQfQA/AoAACAGQdACaiICIDBB8AD8CgAAIAYgMjYCgAQgBiAsNgLAAyABIAwgAhD6AiAFQQFqIRMgBigC4AQiAkF+Rg0BIAYgEzYC1AEgBiAUNgLAASAGIC02ArABIAYgBikC5AQ3AwggBiAGKQLsBDcDECAGIAYpAvQENwMYIAYgBikC/AQ3AyAgBiAGKQKEBTcDKCAGIAYoAowFNgIwIAZBgARqEK0BIAYoAtAEIgFBAEwNAiAGKALUBCIQQQRrKAIAIhJBeHEhBSAFQQRBCCASQQNxIhIbIAFqSQ0uIBJBAEcgBSABQSdqS3ENLyAQELwFDAILIAJBsAFqIQEMDAtBAxCQASIBRQ0bIAFBsoLGAC0AADoAAiABQbCCxgAvAAA7AAAgBkEDNgLoBCAGIAE2AuQEIAZBAzYC4AQgDCAGQeAEaiIBEPwNIAEgDCAGQYAEahDJASAGKALgBCICQX5GDQEgBiATNgLUASAGIBQ2AsABIAYgLTYCsAEgBiAGKQLkBDcDCCAGIAYpAuwENwMQIAYgBikC9AQ3AxggBiAGKQL8BDcDICAGIAYpAoQFNwMoIAYgBigCjAU2AjALIAZBrAFqEIELIAZBOGoQ4QIgH0F/RwRAICoQnQYLIA9BAEoEQCAiQQRrKAIAIgVBeHEhASABQQRBCCAFQQNxIgUbIA9qSQ0sIAVBAEcgASAPQSdqS3ENLSAiELwFCwJAIA5Bf0YNACA1QgBSBEAgCyEBA0AgARDBCiABQbABaiEBICFBAWsiIQ0ACwsgDkUNACALQQRrKAIAIgVBeHEhASABIA5BsAFsIg5BBEEIIAVBA3EiBRtySQ0sIAVBAEcgASAOQSdqS3ENLSALELwFCyAVIAI2AgAgFSAGKQMINwIEIBUgBikDEDcCDCAVIAYpAxg3AhQgFSAGKQMgNwIcIBUgBikDKDcCJCAVIAYoAjA2AiwgERDhAiANIQEDQCABEMEKIAFBsAFqIQEgAEEBayIADQALIBEoAkQiAQRAIA1BBGsoAgAiAkF4cSEAIAAgAUGwAWwiAUEEQQggAkEDcSICG3JJDSwgAkEARyAAIAFBJ2pLcQ0tIA0QvAULIBEoAlQhAiARKAJYIgEEQCACIQADQCAAEK0BIABB0ABqKAIAIgVBAEoEQCAAQdQAaigCACILQQRrKAIAIg5BeHEhDSANQQRBCCAOQQNxIg4bIAVqSQ0uIA5BAEcgDSAFQSdqS3ENLyALELwFCyAAQeAAaiEAIAFBAWsiAQ0ACwsgJCgCACIBBEAgAkEEaygCACIFQXhxIQAgACABQeAAbCIBQQRBCCAFQQNxIgUbckkNLCAFQQBHIAAgAUEnaktxDS0gAhC8BQsgKEF/Rg0MICUQnQYMDAsgBSAuSQRAQQIQkAEiAUUNAiABQazAADsAACAGQQI2AugEIAYgATYC5AQgBkECNgLgBCAMIAZB4ARqEPwNCyAmQeAAayEmIBQhASATIQUgK0GwAWoiKyAgRw0ACyAZIQUgFyEQDAcLDBcLQQgQpxQACwwVC0EIEKcUAAsQnhUACwwSCwwRCyAGIAU2AtQBIAYgATYCwAEgBiAQNgKwAQwBCyAGIBI2AtQBIAYgKTYCwAEgBiABNgKwASAGQeAEahDBCgsgBkGsAWoQgQsgBkE4ahDhAiAfQX9HBEAgKhCdBgsgD0EASgRAICJBBGsoAgAiAkF4cSEBIAFBBEEIIAJBA3EiAhsgD2pJDSAgAkEARyABIA9BJ2pLcQ0hICIQvAULAkAgDkF/Rg0AIDVCAFIEQCALIQEDQCABEMEKIAFBsAFqIQEgIUEBayIhDQALCyAORQ0AIAtBBGsoAgAiAkF4cSEBIAEgDkGwAWwiBUEEQQggAkEDcSICG3JJDSAgAkEARyABIAVBJ2pLcQ0hIAsQvAULIChBf0YNAUEHEJABIgFFDQ4gAUGBgsYAKAAANgADIAFB/oHGACgAADYAACAGQQc2AugEIAYgATYC5AQgBkEHNgLgBCAMIAZB4ARqIgEQ/A0gASAMICUQ+wEgBigC4ARBfkYNASAVIAYpAogFNwIoIBUgBikCgAU3AiAgFSAGKQL4BDcCGCAVIAYpAvAENwIQIBUgBikC6AQ3AgggFSAGKQLgBDcCACAREOECIAAEQCANIQEDQCABEMEKIAFBsAFqIQEgAEEBayIADQALCyARKAJEIgEEQCANQQRrKAIAIgJBeHEhACAAIAFBsAFsIgFBBEEIIAJBA3EiAhtySQ0gIAJBAEcgACABQSdqS3ENISANELwFCyARKAJUIQIgESgCWCIBBEAgAiEAA0AgABCtASAAQdAAaigCACIFQQBKBEAgAEHUAGooAgAiC0EEaygCACIOQXhxIQ0gDUEEQQggDkEDcSIOGyAFakkNIiAOQQBHIA0gBUEnaktxDSMgCxC8BQsgAEHgAGohACABQQFrIgENAAsLICQoAgAiAUUNACACQQRrKAIAIgVBeHEhACAAIAFB4ABsIgFBBEEIIAVBA3EiBRtySQ0fIAVBAEcgACABQSdqS3ENICACELwFCyAcQQBKBEAgESgCbCIBQQRrKAIAIgJBeHEhACAAQQRBCCACQQNxIgIbIBxqSQ0fIAJBAEcgACAcQSdqS3ENICABELwFCyAeQX9GDQEgESgCYCECIBEoAmQiAQRAIAIhAANAIAAQwQogAEGwAWohACABQQFrIgENAAsLIB5FDQEgAkEEaygCACIBQXhxIQAgACAeQbABbCIFQQRBCCABQQNxIgEbckkNHiABQQBHIAAgBUEnaktxDR8gAhC8BQwBCyAVQX42AgAgERDhAiAABEAgDSEBA0AgARDBCiABQbABaiEBIABBAWsiAA0ACwsgESgCRCIBBEAgDUEEaygCACICQXhxIQAgACABQbABbCIBQQRBCCACQQNxIgIbckkNHiACQQBHIAAgAUEnaktxDR8gDRC8BQsgESgCVCECIBEoAlgiAQRAIAIhAANAIAAQrQEgAEHQAGooAgAiBUEASgRAIABB1ABqKAIAIgtBBGsoAgAiDkF4cSENIA1BBEEIIA5BA3EiDhsgBWpJDSAgDkEARyANIAVBJ2pLcQ0hIAsQvAULIABB4ABqIQAgAUEBayIBDQALCyAkKAIAIgEEQCACQQRrKAIAIgVBeHEhACAAIAFB4ABsIgFBBEEIIAVBA3EiBRtySQ0eIAVBAEcgACABQSdqS3ENHyACELwFCyAcQQBKBEAgESgCbCIBQQRrKAIAIgJBeHEhACAAQQRBCCACQQNxIgIbIBxqSQ0eIAJBAEcgACAcQSdqS3ENHyABELwFCyAeQX9GDQAgESgCYCECIBEoAmQiAQRAIAIhAANAIAAQwQogAEGwAWohACABQQFrIgENAAsLIB5FDQAgAkEEaygCACIBQXhxIQAgACAeQbABbCIFQQRBCCABQQNxIgEbckkNHSABQQBHIAAgBUEnaktxDR4gAhC8BQsgBkGQBmokACADKAKABUF+Rg0BIAkgAykCqAU3AiggCSADKQKgBTcCICAJIAMpApgFNwIYIAkgAykCkAU3AhAgCSADKQKIBTcCCCAJIAMpAoAFNwIACyAYEMYMQQAhAUEBIQVBASENIAcNAgwDC0EAIQELIAMgBCgC9AE2AqgDIAMgBCkC7AE3A6ADIANBgAVqIAwgA0GgA2oQwwggAygCgAVBfkcEQCAJIAMpAqgFNwIoIAkgAykCoAU3AiAgCSADKQKYBTcCGCAJIAMpApAFNwIQIAkgAykCiAU3AgggCSADKQKABTcCACAYEMYMQQAhDUEBIQUgB0UNAgwBCwJAAkACQCAEKALgASICQX5HBEAgBCgC6AEhBSAEKALkASENQQEQkAEiAEUNDCAAQSA6AAAgA0EBNgKIBSADIAA2AoQFIANBATYCgAUgDCADQYAFaiIAEPwNIAMgBTYCqAMgAyANNgKkAyADIAI2AqADIAAgDCADQaADahCYDSADKAKABUF+Rw0BCyAJQX42AgAgGBDGDCAHDQEMAgsgCSADKQKoBTcCKCAJIAMpAqAFNwIgIAkgAykCmAU3AhggCSADKQKQBTcCECAJIAMpAogFNwIIIAkgAykCgAU3AgAgGBDGDEEAIQVBACENIAcNAgwDCyAEQfgBaiICKAIEIQEgAigCCCIABEAgASEHA0AgBxDBCiAHQbABaiEHIABBAWsiAA0ACwsgAigCACICBEAgAUEEaygCACIFQXhxIQAgACACQbABbCICQQRBCCAFQQNxIgUbckkNGyAFQQBHIAAgAkEnaktxDRwgARC8BQsLIB1FDQcgIygCACIAQQlNQQBBASAAdEGRBHEbRQRAICMQrQELIAQoAtABIgJBAEwNB0HUAQwGCyAEKAL8ASEHIAQoAoACIgAEQCAHIQIDQCACEMEKIAJBsAFqIQIgAEEBayIADQALCyAEKAL4ASICDQELIB1FDQMMAQsgB0EEaygCACILQXhxIQAgACACQbABbCICQQRBCCALQQNxIgsbckkNFiALQQBHIAAgAkEnaktxDRcgBxC8BSAdRQ0CCwJAAkACQAJAAkAgBCgCgAEOCgADAwMBAwMDAwIDCyAKRQ0DIARBmAFqEP8CIAQoAogBIgBBAEwNAyAEKAKMASIHQQRrKAIAIghBeHEhAiACQQRBCCAIQQNxIggbIABqSQ0ZIAhBAEcgAiAAQSdqS3ENGiAHELwFDAMLIAhFDQIgBCgCiAEhByAEKAKMASIABEAgByECA0AgAhCtASACQdAAaigCACIIQQBKBEAgAkHUAGooAgAiC0EEaygCACIJQXhxIQogCkEEQQggCUEDcSIJGyAIakkNGyAJQQBHIAogCEEnaktxDRwgCxC8BQsgAkHgAGohAiAAQQFrIgANAAsLIAQoAoQBIgJFDQIgB0EEaygCACIIQXhxIQAgACACQeAAbCICQQRBCCAIQQNxIggbckkNGCAIQQBHIAAgAkEnaktxDRkgBxC8BQwCCyAWRQ0BIAQoAoQBIgAQ0QsgAEEEaygCACIHQXhxIQIgAkEQQRQgB0EDcSIHG0kNFyAHQQBHIAJBNE9xDRggABC8BQwBCyAEQYABahCtAQsgBCgC0AEiAEEATA0BIAQoAtQBIgdBBGsoAgAiCEF4cSECIAJBBEEIIAhBA3EiCBsgAGpJDRUgCEUNACACIABBJ2pNDQAMFgsgBxC8BQsCQCABRQ0AIAQoAgBBfk8NACAEENYHIAQoAnghASAEKAJ8IgAEQCABIQIDQCACEMEKIAJBsAFqIQIgAEEBayIADQALCyAEKAJ0IgJFDQAgAUEEaygCACIHQXhxIQAgACACQbABbCICQQRBCCAHQQNxIgcbckkNFCAHQQBHIAAgAkEnaktxRQRAIAEQvAUMAQsMFQsCQCANRQ0AIAQoAuwBIgdBf0YNACAEKALwASEBIAQoAvQBIgAEQCABIQIDQCACEMEKIAJBsAFqIQIgAEEBayIADQALCyAHRQ0AIAFBBGsoAgAiAkF4cSEAIAAgB0GwAWwiB0EEQQggAkEDcSICG3JJDRQgAkEARyAAIAdBJ2pLcUUEQCABELwFDAELDBULIAUgBCgC4AEiAkEBa0F9SXFFDQFB5AELIARqKAIAIgFBBGsoAgAiBUF4cSEAIABBBEEIIAVBA3EiBRsgAmpJDRIgBUEARyAAIAJBJ2pLcQ0TIAEQvAULIANBsAZqJAAMAQtBARCnFAALICdBBGsoAgAiAEEDcSEBIABBeHFBvAJBwAIgARtJDQ8gAUEARyAAQeACT3ENECAnELwFDA0LIARBvAJqIgUgAigCBCISQfQA/AoAAEEHEJABIgIEQCACQZyCxgAoAAA2AAMgAkGZgsYAKAAANgAAIARBBzYCCCAEIAI2AgQgBEEHNgIAIAEgBBD8DSAEIAEgBUEBEJUBIAQoAgBBfkcNBUEFEJABIgIEQEEAIQUgAkGkgsYALQAAOgAEIAJBoILGACgAADYAACAEQQU2AgggBCACNgIEIARBBTYCACABIAQQ/A0gBCgCiAMhDSAEKAKUAyEHIAQoAoQDIQogBCgCgAMhCCAEKAKQAyECIAQoAowDIQsgBEIANwLQAyAEIAs2AsgDIAQgAjYCwAMgBCAINgK4AyAEIAo2ArADIAQgB0HgAGwiECACaiIWNgLMAyAEIA1BsAFsIhkgCmoiCDYCvAMgDUUEQCAKIQgMCQsgDUEBa0H/////AHFBAWohCSAHIA0gByANSRtBAWshAyAEQYAGakEEciEGIARBxAVqIQwgBEHgA2ohESAEQQRqIRUgBEH0AGohDgJAAkADQAJAAkACQCAKIBRqIgtB8ABqKAIAIhNBfkcEQCAEIAtB8AD8CgAAIA4gC0GsAWooAgA2AjggDiALQaQBaikCADcCMCAOIAtBnAFqKQIANwIoIA4gC0GUAWopAgA3AiAgDiALQYwBaikCADcCGCAOIAtBhAFqKQIANwIQIA4gC0H8AGopAgA3AgggDiALQfQAaiIPKQIANwIAIAQgEzYCcCAQRQ0CIAIoAgAiGEF/Rw0BIAJB4ABqIRYgC0GwAWohAiAFIQcMEAsgC0GwAWohCAwOCyALQbABaiEXIAJB4ABqIQ0gBiACQQRqQdwA/AoAACAMIA8oAjg2AjggDCAPKQIwNwIwIAwgDykCKDcCKCAMIA8pAiA3AiAgDCAPKQIYNwIYIAwgDykCEDcCECAMIA8pAgg3AgggDCAPKQIANwIAIBUgC0HwAPwKAAAgBEHcA2ogBEH0APwKAAAgBEHQBGoiAiARQfAA/AoAACAEIBg2AoAGIAQgEzYCwAUgBCABIAIQ+gIgBUEBaiELIAQoAgBBfkYNASAAIAQpAgA3AgAgACAEKQIINwIIIAAgBCkCEDcCECAAIAQpAhg3AhggACAEKQIgNwIgIAAgBCkCKDcCKCAEIAs2AtgDIAQgDTYCxAMgBCAXNgK0AyAEQYAGahDNASAEKALQBiIAQX5GDQMgAEF/Rg0DIABFDQMgBCgC1AYgABDZEgwDCyALQbABaiECDA0LQQMQkAEiAkUNEiACQbKCxgAtAAA6AAIgAkGwgsYALwAAOwAAIARBAzYCCCAEIAI2AgQgBEEDNgIAIAEgBBD8DSAEIAEgBEGABmoQyAEgBCgCAEF+RwRAIAAgBCkCADcCACAAIAQpAgg3AgggACAEKQIQNwIQIAAgBCkCGDcCGCAAIAQpAiA3AiAgACAEKQIoNwIoIAQgCzYC2AMgBCANNgLEAyAEIBc2ArQDDAILIAMgBUsEQEECEJABIgJFDQMgAkGswAA7AAAgBEECNgIIIAQgAjYCBCAEQQI2AgAgASAEEPwNCyAQQeAAayEQIA0hAiALIQUgGSAUQbABaiIURw0ACyAJIQUMCgsgBEGwA2oQ5QpBASEFDAgLDA8LDA4LDA0LIAIoAgQhB0EBIQoCQCACKAIIIgJFIggNACACEJABIgpFDQ0gCA0AIAogByAC/AoAAAsgBCACNgIIIAQgCjYCBCAEIAI2AgAgASAEEPwNIABBfjYCACAFQQBMDQsgB0EEaygCACIBQXhxIQAgAEEEQQggAUEDcSIBGyAFakkNDSABQQBHIAAgBUEnaktxRQRAIAcQvAUMDAsMDgtB8oDGAEGFAUG0gcYAEL8TAAsgBCACKAIEIgIoAiA2AiAgBCACKQIYNwMYIAQgAikCEDcDECAEIAIpAgg3AwggBCACKQIANwMAIAAgASAEENMCIAJBBGsoAgAiAUF4cSEAIABBKEEsIAFBA3EiARtJDQsgAUEARyAAQcwAT3FFBEAgAhC8BQwKCwwMCyAEIAIoAgQiB0HcAPwKAAACQEEMEJABIgIEQCACQb3PxQAoAAA2AAggAkG1z8UAKQAANwAAIARBDDYC2AQgBCACNgLUBCAEQQw2AtAEIAEgBEHQBGoiAhD8DSACIAEgBEEBEMcBAkACQAJAAkAgBCgC0ARBfkYEQCAEKAI0QX9HBEBBBxCQASIFRQ0RIAVBgYLGACgAADYAAyAFQf6BxgAoAAA2AAAgBEEHNgLYBCAEIAU2AtQEIARBBzYC0AQgASACEPwNIAIgASAEQTRqEPsBIAQoAtAEQX5HDQILIARB0ARqIAEgBEHEAGoQwwggBCgC0ARBfkcEQCAAIAQpAvgENwIoIAAgBCkC8AQ3AiAgACAEKQLoBDcCGCAAIAQpAuAENwIQIAAgBCkC2AQ3AgggACAEKQLQBDcCAAwECwJAIAQoAlAiBUF+RwRAIAQoAlghCCAEKAJUIQpBARCQASICRQ0IIAJBIDoAACAEQQE2AtgEIAQgAjYC1AQgBEEBNgLQBCABIARB0ARqIgIQ/A0gBCAINgLkAyAEIAo2AuADIAQgBTYC3AMgAiABIARB3ANqEJgNIAQoAtAEQX5HDQELIABBfjYCAAwFCyAAIAQpAvgENwIoIAAgBCkC8AQ3AiAgACAEKQLoBDcCGCAAIAQpAuAENwIQIAAgBCkC2AQ3AgggACAEKQLQBDcCAAwECyAAIAQpAvgENwIoIAAgBCkC8AQ3AiAgACAEKQLoBDcCGCAAIAQpAuAENwIQIAAgBCkC2AQ3AgggACAEKQLQBDcCACAEKAI0QX9GDQEgBEE0ahCdBgwBCyAAIAQpAvgENwIoIAAgBCkC8AQ3AiAgACAEKQLoBDcCGCAAIAQpAuAENwIQIAAgBCkC2AQ3AgggACAEKQLQBDcCAAsgBCgCRCIFQX9GDQAgBCgCSCEAIAQoAkwiAgRAIAAhAQNAIAEQwQogAUGwAWohASACQQFrIgINAAsLIAVFDQAgAEEEaygCACICQXhxIQEgASAFQbABbCIFQQRBCCACQQNxIgIbckkNDiACQQBHIAEgBUEnaktxDQ8gABC8BQsgBCgCUCIAQX5GDQAgAEF/Rg0AIABFDQAgBCgCVCICQQRrKAIAIgVBeHEhASABQQRBCCAFQQNxIgUbIABqSQ0NIAVBAEcgASAAQSdqS3ENDiACELwFCyAHQQRrKAIAIgFBeHEhACAAQeAAQeQAIAFBA3EiARtJDQwgAUEARyAAQYQBT3ENDSAHELwFDAoLDAoLDAkLIAAgBCkCKDcCKCAAIAQpAiA3AiAgACAEKQIYNwIYIAAgBCkCEDcCECAAIAQpAgg3AgggACAEKQIANwIAIAQoAoQDIQAgBCgCiAMiAgRAIAAhAQNAIAEQsgogAUGwAWohASACQQFrIgINAAsLIAQoAoADIgIEQCAAQQRrKAIAIgVBeHEhASABIAJBsAFsIgJBBEEIIAVBA3EiBRtySQ0KIAVBAEcgASACQSdqS3ENCyAAELwFCyAEKAKQAyECIAQoApQDIgAEQCACIQEDQCABEM0BAkAgAUHQAGooAgAiBUF+Rg0AIAVBf0YNACAFRQ0AIAFB1ABqKAIAIghBBGsoAgAiCkF4cSEHIAdBBEEIIApBA3EiChsgBWpJDQwgCkEARyAHIAVBJ2pLcQ0NIAgQvAULIAFB4ABqIQEgAEEBayIADQALC0EBIQUgBCgCjAMiAUUNACACQQRrKAIAIgdBeHEhACAAIAFB4ABsIgFBBEEIIAdBA3EiBxtySQ0JIAdBAEcgACABQSdqS3FFBEAgAhC8BQwBCwwKC0EBIQJBASEBDAMLIAQgBTYC2AMgBCACNgLEAyAEIAg2ArQDDAELIAQgBzYC2AMgBCAWNgLEAyAEIAI2ArQDIAQQsgoLIARBsANqEOUKAkACQCAEKALwAkF/RiIFRQRAQQcQkAEiAkUNByACQYGCxgAoAAA2AAMgAkH+gcYAKAAANgAAIARBBzYCCCAEIAI2AgQgBEEHNgIAIAEgBBD8DSAEIAEgBEHwAmoQ9QEgBCgCAEF+Rw0BCyAEKAKYAyIIQX9GIgINASAEKAKgAyIKRQRAIARBmANqEK4RDAILIAQoApwDIQcgBCAINgIIIAQgBzYCBCAEIAc2AgAgBCAHIApBsAFsajYCDCAEQdwDaiELIwBBsAFrIgkkACAEKAIIIhBBsAFsIg1B4ABuIQ8gBCgCACEHAkACQAJAAkAgBCgCBCIIIAQoAgwiDEYEQCAHIQoMAQsgByEKA0AgCSAIQbAB/AoAAEGwARCQASIORQ0CIA4gCUGwAfwKAAAgCkHQAGpBfjYCACAKQQRqIA42AgAgCkEDNgIAIApB4ABqIQogDCAIQbABaiIIRw0ACwsgDCAIa0GwAW4hDiAIIAxHBEADQCAIELIKIAhBsAFqIQggDkEBayIODQALCyAHIQgCQCAQRQ0AIA9B4ABsIgwgDUYNACANQd8ATQRAIA1FBEBBCCEIDAILIAdBBGsoAgAiDEF4cSEIIAhBBEEIIAxBA3EiDBsgDXJJDQwgDEEARyAIIA1BJ2pLcQ0NIAcQvAVBCCEIDAELIAcgDUEIIAwQrQYiCEUNAgsgCyAINgIEIAsgDzYCACALIAogB2tB4ABuNgIIIAlBsAFqJAAMAgtBuPDJAEEBOgAAAAtBuPDJAEEBOgAAAAsgBCABQaWCxgBBCxDXEgJAIAQoAgBBfkcEQCAAIAQpAig3AiggACAEKQIgNwIgIAAgBCkCGDcCGCAAIAQpAhA3AhAgACAEKQIINwIIIAAgBCkCADcCACALEKMODAELIAQgASAEQdwDahC9BiAEKAIAQX5GDQIgACAEKQIoNwIoIAAgBCkCIDcCICAAIAQpAhg3AhggACAEKQIQNwIQIAAgBCkCCDcCCCAAIAQpAgA3AgALQQEhAUEAIQIMAgsgACAEKQIoNwIoIAAgBCkCIDcCICAAIAQpAhg3AhggACAEKQIQNwIQIAAgBCkCCDcCCCAAIAQpAgA3AgBBASEBQQEhAgwCCwJAIAQoAqQDIgdBfkYNACAEKAKsAyEKIAQoAqgDIQggBCABQfzUxQBBARDXEiAEKAIAQX5HBEAgACAEKQIoNwIoIAAgBCkCIDcCICAAIAQpAhg3AhggACAEKQIQNwIQIAAgBCkCCDcCCCAAIAQpAgA3AgBBACEBIAdBAEwNAiAIIAcQ2RIMAgsgBCAKNgLYBCAEIAg2AtQEIAQgBzYC0AQgBCABIARB0ARqEJgNIAQoAgBBfkYNACAAIAQpAig3AiggACAEKQIgNwIgIAAgBCkCGDcCGCAAIAQpAhA3AhAgACAEKQIINwIIIAAgBCkCADcCAEEAIQEMAQsgAEF+NgIADAILIAVFDQAgBCgC8AJBf0YNACAEQfACahD1BQsCQCABRQ0AIAQoAqQDIgBBfkYNACAAQX9GDQAgAEUNACAEKAKoAyIFQQRrKAIAIgdBeHEhASABQQRBCCAHQQNxIgcbIABqSQ0EIAdBAEcgASAAQSdqS3FFBEAgBRC8BQwBCwwFCyACIAQoApgDIgVBf0dxRQ0AIAQoApwDIQAgBCgCoAMiAgRAIAAhAQNAIAEQsgogAUGwAWohASACQQFrIgINAAsLIAVFDQAgAEEEaygCACICQXhxIQEgASAFQbABbCIFQQRBCCACQQNxIgIbckkNAyACQQBHIAEgBUEnaktxDQQgABC8BQsgEkEEaygCACIBQXhxIQAgAEH4AEH8ACABQQNxIgEbSQ0CIAFBAEcgAEGcAU9xDQMgEhC8BQsgBEHgBmokAA8LQQEQpxQAC0HQnMkAQS5BgJ3JABCvFAALQZCdyQBBLkHAnckAEK8UAAuqJQIRfwV+IwBB4ANrIgUkACAFIAI6AAcCQAJAAkAgASgCEEECaw4CAAECC0EBIRUMAQsgASkDGEI/iKchFQsgASACEOsKBH4gBUFAayABEK4DIAUgBSkDSDcDuAIgBSAFKQNQNwPAAiAFIAUpA1g3A8gCIAUgBSkDYDcD0AIgBSAFKQNoNwPYAiAFIAUpA3A3A+ACIAUgBSkDeDcD6AIgBS0AByECIAUpA0AFQgILIRkgBSAFKQPoAjcDcCAFIAUpA+ACNwNoIAUgBSkD2AI3A2AgBSAFKQPQAjcDWCAFIAUpA8gCNwNQIAUgBSkDwAI3A0ggBSAFKQO4AjcDQAJAAkACQAJAAkACQAJAAkACQCABIAJBAXEiBhD2BwR/IAEoAogBIQ4gAUF/NgKIASAOQX9GDQQgASkCjAEhFyAFIA42AsgBIAUgFzcCzAEgF0IgiCIWpyEIIBenIQoCQCAGBEAgBUG4AmogCiAKIAhByAFsahCiDgwBCwJAIBZQBEBBACEIQQQhDAwBCyAIQQxsEJABIgxFDQUgCiEHIAwhASAIIRIDQCAFQbgCaiAHELwIIAUoAsACIQIgBSgCvAIhBgJAIAUoArgCIglBf0cEQCAGIQ0MAQsgAkEASA0GIAJFBEBBASENQQAhAkEAIQkMAQsgAhCQASINRQ0FIAIEQCANIAYgAvwKAAALIAIhCQsgASAJNgIAIAFBCGogAjYCACABQQRqIA02AgAgB0HIAWohByABQQxqIQEgEkEBayISDQALCyAFIAg2AsACIAUgDDYCvAIgBSAINgK4AgsgBUHIAWoQ6AQgDgRAIApBBGsoAgAiAUF4cSEGIAYgDkHIAWwiAkEEQQggAUEDcSIBG2pJDQkgAUEARyAGIAJBJ2pLcQ0IIAoQvAULIAUpArwCIRogBS0AByECIAUoArgCBUF/CyESIAUgBSkDcDcDOCAFIAUpA2g3AzAgBSAFKQNgNwMoIAUgBSkDWDcDICAFIAUpA1A3AxggBSAFKQNINwMQIAUgBSkDQDcDCCACQf8BcQ0EIAUgAyAEQcACbCIBajYC2AMgBSAFQQdqNgLcAyAERQ0EIAVB3ANqIQQDQAJAIAUgA0HAAmoiAjYC1AMgAykDAEIEUQRAIAVBQGsgBCADQQhqEIoOIAUpA1AiFkJ/Ug0BCyACIQMgAUHAAmsiAQ0BDAYLCyAFIAUpA0g3A9ABIAUgBSkDQDcDyAEgBUG4AmoiASAFQdgAakHgAPwKAABB4AMQkAEiBgRAIAYgBSkD0AE3AwggBiAFKQPIATcDACAGIBY3AxAgBkEYaiABQeAA/AoAACAFQQE2ArACIAUgBjYCrAJBBCEBIAVBBDYCqAIgBSAFKQLUAyIWNwOwAyAFIAUoAtwDNgK4AwJAIAUoArQDIgIgFqciA0YEQEEBIQMMAQsgBUG4A2ohCCAFQdgAaiEEQQEhBwJ/A0AgA0HAAmohAQJAIAMpAwBCBFEEQCAFQUBrIAggA0EIahCKDiAFKQNQIhZCf1INAQsgASIDIAJHDQFBASEDIAUoAqwCIQYgBSgCqAIiASAHQQFHDQIaDAMLIAUgATYCsAMgBSAFKQNINwPQASAFIAUpA0A3A8gBIAVBuAJqIARB4AD8CgAAIAUoAqgCIAdGBEAgBUGoAmogB0EBQQhB+AAQsxEgBSgCrAIhBgsgBiAHQfgAbGoiASAFKQPQATcDCCABIAUpA8gBNwMAIAEgFjcDECABQRhqIAVBuAJqQeAA/AoAACAFIAdBAWoiBzYCsAIgBSgCtAMiAiAFKAKwAyIDRw0ACyAFKAKsAiEGIAUoAqgCCyEBAkAgB0EVTwRAAkACQAJAIAcgB0EBdmsiA0GSosQISQRAQTBB6ogEIAcgB0HqiARPGyICIAMgAiADSxsiAiACQTBNGyICQfgAbCIEEJABIghFDQEgBiAHIAggAiAHQcEASRCWAiAIQQRrKAIAIgJBeHEhAyADQQRBCCACQQNxIgIbIARqSQ0CIAJBAEcgAyAEQSdqS3ENAyAIELwFDAULEJ4VAAtBCBCnFAALQdCcyQBBLkGAnckAEK8UAAtBkJ3JAEEuQcCdyQAQrxQAC0EAIQQjAEHwAGsiDyQAIAZB+ABqIQMgBiAHQfgAbGohCSAGIQIDQCACQfwAaigCACINIAJBBGooAgAgAkGAAWooAgAiCyACQQhqKAIAIgwgCyAMSRsQjxMiCCALIAxrIAgbQQBIBEAgAigCeCEMIA9BBGogAkGEAWpB7AD8CgAAIAQhAgJ/AkADQCACIAZqIghB+ABqIg4gCEH4APwKAAAgAkUNASACQfgAayECIA0gCEH0AGsoAgAgCyAIQfAAaygCACIKIAogC0sbEI8TIgggCyAKayAIG0EASA0ACyACIAZqQfgAagwBCyAGCyAMNgIAIA5B8ABrIAs2AgAgDkH0AGsgDTYCACAOQewAayAPQQRqQewA/AoAAAsgBEH4AGohBCAJIAMiAkH4AGoiA0cNAAsgD0HwAGokAAsgByEDC0GIChCQASIIBEAgCEEAOwGCCiAIQQA2AvgIIAUgBiADQfgAbGoiDTYCxAEgBSABNgLAASAFIAY2ArwBIAUgBjYCuAEgBUJ+NwNQIAVB6AJqIQ4gBUHQAmohESAFQdgAaiEKQn4hFkEAIQwgCCEJA0ACQAJAAkACQAJAAn8gFkJ+UgRAIAUgBSkDSDcDuAMgBSAFKQNANwOwAyAGIQMgFiEYIAoMAQsgBiANRg0BIAUgBkH4AGoiAzYCvAEgBSAGKQMANwOwAyAFIAYpAwg3A7gDIAYpAxAhGCAGQRhqCyEBIBhCf1INASADIQYLIAVCfjcDUCANIAZrQfgAbiEDIAYgDUcEQANAIAYoAgAiBwRAIAZBBGooAgAiAkEEaygCACIBQXhxIQQgBEEEQQggAUEDcSIBGyAHakkNESABQQBHIAQgB0EnaktxDRAgAhC8BQsgBkEQahCFCCAGQfgAaiEGIANBAWsiAw0ACwsgBSgCwAEiAgRAIAUoArgBIgNBBGsoAgAiAUF4cSEEIAQgAkH4AGwiAkEEQQggAUEDcSIBG2pJDQ8gAUEARyAEIAJBJ2pLcQ0OIAMQvAULIAwNAUEAIQwMDAsgBSAFKQO4AzcDwAIgBSAFKQOwAzcDuAIgESABQeAA/AoAACAFIBg3A8gCIAMgDUYEQEJ/IRcMAwsgBSADQfgAaiIGNgK8ASADKQMIIRYgBSADKQMANwNAIAUgFjcDSCADKQMQIRYgCiADQRhqQeAA/AoAAEJ/IRcgFkJ/UQRAIAYhAwwDCyAFKALAAiIBIAUoAkhHDQEgBSgCvAIiBCAFKAJEIAEQjxMNASAFKAK4AiIDBEAgBEEEaygCACIBQXhxIQIgAkEEQQggAUEDcSIBGyADakkNDiABQQBHIAIgA0EnaktxDQ0gBBC8BQsCQCAYQgJRDQAgBSgC6AJFDQAgDhCgDAsCQCAFKAKIAyIQQX9GDQAgBSgCjAMhAiAFKAKQAyIBBEAgAiEDA0AgAygCACILBEAgA0EEaigCACIHQQRrKAIAIgRBeHEhDyAPQQRBCCAEQQNxIgQbIAtqSQ0RIARBAEcgDyALQSdqS3ENECAHELwFCyADQQxqIQMgAUEBayIBDQALCyAQRQ0AIAJBBGsoAgAiAUF4cSEEIAQgEEEMbCIDQQRBCCABQQNxIgEbakkNDiABQQBHIAQgA0EnaktxDQ0gAhC8BQsgBQJ/IAUoAqADIgJFBEBBACEDQQAMAQsgBSAFKAKkAyIBNgLMAyAFIAI2AsgDIAVBADYCxAMgBSABNgK8AyAFIAI2ArgDIAVBADYCtANBASEDIAUoAqgDCzYC0AMgBSADNgLAAyAFIAM2ArADIAVBsANqEJkFIAUoApQDIhBBf0YNAyAFKAKYAyECIAUoApwDIgEEQCACIQMDQCADKAIAIgsEQCADQQRqKAIAIgdBBGsoAgAiBEF4cSEPIA9BBEEIIARBA3EiBBsgC2pJDRAgBEEARyAPIAtBJ2pLcQ0PIAcQvAULIANBDGohAyABQQFrIgENAAsLIBBFDQMgAkEEaygCACIBQXhxIQQgBCAQQQxsIgNBBEEIIAFBA3EiARtqSQ0NIAFBAEcgBCADQSdqS3ENDCACELwFDAMLIAghASAMIQYDQAJAAkAgAS8BggoiAgRAIAEgAkEBayIOQQJ0aiIDKAKMCiICLwGCCiITQQVPDQJBBSATa0H//wNxIhEgAygCiAoiEC8BggoiBEsNASAQIAQgEWsiCTsBggogAkEFOwGCCiACQfwIaiELIBNBDGwiAwRAIAsgEUEMbGogCyAD/AoAAAsgE0HoAGwiAwRAIAIgEUHoAGxqIAIgA/wKAAALIBAgCUEMbGohDyAEIAlBAWoiB2siA0EMbCINBEAgCyAPQYgJaiAN/AoAAAsgECAJQegAbGohCiADQegAbCIJBEAgAiAKQegAaiAJ/AoAAAsgBUG4AmoiBCAKQegA/AoAACAFIAEgDkEMbGoiCigChAk2AtABIAUgCikC/Ag3A8gBIA9BhAlqKAIAIQMgCiAPQfwIaikCADcC/AggCiADNgKECSAFQUBrIgMgASAOQegAbGoiAUHoAPwKAAAgASAEQegA/AoAACALIA1qIgEgBSgC0AE2AgggASAFKQPIATcCACACIAlqIANB6AD8CgAAIAZBAUYNDiARQQJ0IQQgAkGICmohAyATQQJ0QQRqIgEEQCADIARqIAMgAfwKAAALIAQEQCADIBAgB0ECdGpBiApqIAT8CgAACyACKAKICiIBQQA7AYAKIAEgAjYC+AggAigCjAoiAUEBOwGACiABIAI2AvgIIAIoApAKIgFBAjsBgAogASACNgL4CCACKAKUCiIBQQM7AYAKIAEgAjYC+AggAigCmAoiAUEEOwGACiABIAI2AvgIIAIoApwKIgFBBTsBgAogASACNgL4CAwCC0H888YAQRlBmPTGABCvFAALQaj0xgBBJ0HQ9MYAEK8UAAsgAiEBIAZBAWsiBg0ACwwKCyAGIQMgFiEXCyAFIBc3A1AgBSAFKQO4AjcDqAIgBSAFKQPAAjcDsAIgBUHIAWoiASARQeAA/AoAACAFQbgCaiABQeAA/AoAAAJAAkAgCS8BggoiAkELTwRAQQAhBwJAA0AgCSgC+AgiCUUEQEG4ChCQASIERQ0RIAQgCDYCiAogBEEAOwGCCiAEQQA2AvgIIAxBAWoiDEUNBCAIQQA7AYAKIAggBDYC+AggBCEJIAwhBwwCCyAHQQFqIQcgCS8BggpBCksNAAsgCCEEC0GIChCQASICRQ0OIAJBADsBggogAkEANgL4CCAHQQFrIgZFDQIDQEG4ChCQASIBRQ0PIAEgAjYCiAogAUEAOwGCCiABQQA2AvgIIAJBADsBgAogAiABNgL4CCABIQIgBkEBayIGDQALDAILIAkgAkEBajsBggogBSkDqAIhFiAJIAJBDGxqIgEgBSgCsAI2AoQJIAEgFjcC/AggCSACQegAbGoiASAYNwMAIAFBCGogBUG4AmpB4AD8CgAAIAUoArwBIQYgBSgCxAEhDSAFKQNQIRYgFEEBaiEUDAILQZDkyAAQnRUACwJAIAkvAYIKIghBC0kEQCAJIAhBAWoiBjsBggogCSAIQQxsaiIBIAUoArACNgKECSABIAUpA6gCNwL8CCAJIAhB6ABsaiIBIBg3AwAgAUEIaiAFQcgBakHgAPwKAAAgCSAGQQJ0aiACNgKICiACIAY7AYAKIAIgCTYC+AggB0UNAQJAIAdBA3EiAkUEQCAHIQEMAQsgByEBA0AgAUEBayEBIAkgCS8BggpBAnRqKAKICiEJIAJBAWsiAg0ACwsgB0EESQ0BA0AgCSAJLwGCCkECdGooAogKIgIvAYIKQQJ0IAJqKAKICiICLwGCCkECdCACaigCiAoiAi8BggpBAnQgAmooAogKIQkgAUEEayIBDQALDAELQcD2xgBBIEHg9sYAEK8UAAsgAyEGIBchFiAEIQggFEEBaiEUDAALAAsMCQtBCBCnFAALQQEQpxQACxCeFQALQQQQpxQAC0HA5MUAEJ0VAAtBACEICyAAIAUpAzg3AzggACAFKQMwNwMwIAAgBSkDKDcDKCAAIAUpAyA3AyAgACAFKQMYNwMYIAAgBSkDEDcDECAAIAUpAwg3AwggACAVOgBkIAAgGjcCRCAAIBI2AkAgACAZNwMAIAAgFDYCYCAAIAw2AlwgACAINgJYIABBfzYCTCAFQeADaiQADwtBkJ3JAEEuQcCdyQAQrxQAC0HQnMkAQS5BgJ3JABCvFAALQbjwyQBBAToAAAALgyIBF38jAEGQAmsiBSQAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQCACKAIAQQFGBEAgAigCCCINIAIoAgQiDkGgAmooAgAiBk8NAiACKAIMIhAgDkGcAmooAgAgDUEkbGoiAkEgaigCACIGTw0DIAJBHGooAgAgEEHUAGxqIgIoAgBBgICAgHhHDQQgAigCDCIJQQBIDQggCUUEQEEBIQoMCAsgAigCCCECIAkQkAEiCg0BDBELIAIoAgQiCEEMaigCACEGIAIoAgwhDSACKAIIIQ8CQCAIQRBqKAIAIgkiBw4CBgUACyAJIQIDQAJ/IAYgAkEBdiIKIAtqIgxB5ABsaiIHQdQAaigCACIOIA9HBEAgDiAPSQwBCyAHQdgAaigCACANSQshByAMIAsgBxshCyACIAprIgJBAUsNAAsMBAsgCUUNBSAKIAIgCfwKAAAMBQsgDSAGQfS4xAAQhRMACyAQIAZB9LjEABCFEwALQfS4xAAQnRUACwJ/IAYgC0HkAGxqIgJB1ABqKAIAIgcgD0cEQCAHIA9JDAELIAJB2ABqKAIAIA1JCyALaiEHCyAHIAlGDQYgCUHkAGwiCiAGaiEOIAdB5ABsIQwgCSAHayEQQQAhAgJAA0AgBiAMaiILQdQAaigCACAPRw0IIAtB2ABqKAIAIA1HDQggAiAQRg0BAkAgC0HIAGotAABFBEAgC0HgAGotAABBAUcNAQsgBkHkAGohBiACQQFqIQIgDCAKQeQAayIKRw0BDAkLCyAIIAgoAgAiBkEBajYCACAGQQBIDQRB0AAQkAEiDARAIAwgCDYCECAMIAIgB2o2AgQgDEEANgIAIAVBATYCyAEgBSAMNgLEASAFQQQ2AsABQQEhEQJAAkAgDiALQeQAaiILRg0AIAhBEGohECAIQQxqIRIDQCACIAdqQeQAbCEUQQAhBiACQQFqIQIDQCAGIAtqIglB1ABqKAIAIA9HDQIgCUHYAGooAgAgDUcNAiACIAdqIgogECgCACITTw0DAkAgEigCACAUaiAGaiITQawBai0AAEUEQCATQcQBai0AAEEBRw0BCyACQQFqIQIgCyAGQeQAaiIGaiAORw0BDAMLCyAIIAgoAgAiBkEBajYCACAGQQBIDQggBSgCwAEgEUYEQCAFQcABaiARQQFBBEEUELMRIAUoAsQBIQwLIAwgEUEUbGoiBiAINgIQIAYgCjYCBCAGQQA2AgAgBSARQQFqIhE2AsgBIA4gCUHkAGoiC0cNAAsLIAUoAsQBIgdBJGohCCARQRRsIgJBFGshDyACIAdqIQ0gBSgCwAEhCiADKAIwIgxBCGohECAFQYQCaiERIAVB8ABqIQ4gByEGA0ACQCAGQRRqIQMCQAJAIAYoAgAiAkECRwRAIA4gBikCBDcCACAOIAYpAgw3AgggBSACNgJsIAVBKGogBUHsAGoQ8A4gBSgCLCECIAUoAighCSAMLQAUQQNHBEAgBSAQNgLAASAMQRRqIAVBwAFqEI8PCyAMKAIQIgZFDQIgBkHgAGwhCyAMKAIMIQYDQCACIAZBGGooAgBGBEAgBkEUaigCACAJIAIQjxNFDQMLIAZB4ABqIQYgC0HgAGsiCw0ACwwCCyADIA1GDQIgD0EUbiEGA0AgCCgCACICKAIAIQEgAiABQQFrNgIAIAFBAUYEQCAIKAIAEDALIAhBFGohCCAGQQFrIgYNAAsMAgsgBUEgaiAFQewAahDwDgJAAkACQCAFKAIkIglFBEBBASECDAELIAUoAiAhCyAJEJABIgJFDRMgCUUNACACIAsgCfwKAAALIAVBfzYCVCAFIAk2AjggBSACNgI0IAUgCTYCMCAFQX82AmAgBUIENwJMIAVCADcCRCAFQoCAgICAATcCPCARIAVB7ABqEPEKIAVBATYCgAIgBi0AHEEBRw0AIAVBwAFqIAVBMGogBUGAAmogBkEgaiAEEIwBIAUoAvABQX9HBEAgACAFKQP4ATcDOCAAIAUpA/ABNwMwIAAgBSkD6AE3AyggACAFKQPgATcDICAAIAUpA9gBNwMYIAAgBSkD0AE3AxAgACAFKQPIATcDCCAAIAUpA8ABNwMAIAUoAoQCIgEoAgAhACABIABBAWs2AgAgAEEBRgRAIAUoAoQCEDALIAVBMGoQrgYgBSgCfCIBKAIAIQAgASAAQQFrNgIAIABBAUYEQCAFKAJ8EDALIAMgDUcEQCAPQRRuIQYDQCAIKAIAIgEoAgAhACABIABBAWs2AgAgAEEBRgRAIAgoAgAQMAsgCEEUaiEIIAZBAWsiBg0ACwsgCkUNECAHQQRrKAIAIgFBeHEhACAAIApBFGwiAkEEQQggAUEDcSIBG2pJDREgAUEARyAAIAJBJ2pLcQ0CIAcQvAUMEAsgBSgChAIiBigCACECIAYgAkEBazYCACACQQFGBEAgBSgChAIQMAsgASAFQTBqELcKDAILQaSOxwAQnRUACwwPCyAFKAJ8IgYoAgAhAiAGIAJBAWs2AgAgAkEBRgRAIAUoAnwQMAsgCEEUaiEIIA9BFGshDyANIAMiBkcNAQsLIApFDQkgB0EEaygCACICQXhxIQEgASAKQRRsIgNBBEEIIAJBA3EiAhtqSQ0LIAJFDQggA0EnaiABTwRADAkLDAwLIAogE0Hk9sgAEIUTAAtBBBCnFAALIAkgCUHk9sgAEIUTAAsgBCgCBCEHIAQoAggiCwRAIAtBDGwhAiAHQQRqIQYDQCAJIAZBBGooAgBGBEAgBigCACAKIAkQjxNFDQQLIAZBDGohBiACQQxrIgINAAsLIAQoAgAgC0YEQCAEEJ8SIAQoAgQhBwsgByALQQxsaiICIAk2AgggAiAKNgIEIAIgCTYCACAEIAtBAWo2AgggDkGgAmoiFSgCACICIA1LBEAgDUEkbCIXIA5BnAJqIhYoAgBqIgJBIGooAgAiBiAQSwRAIBBB1ABsIhggAkEcaigCAGoiAigCAEGAgICAeEYEQCACKAIkIgZFDQYgAigCICISIAZB3ABsaiETIAMoAjAiCUEIaiEZIAVBhAJqIRogBUHwAGohFCAOQdAAaiEbQQAhAwNAIANB3ABsIQggFSgCACEGIAMhAgJAAkACQAJAAkACQAJAAkACQANAIAYgDU0NASAWKAIAIBdqIgNBIGooAgAiByAQTQ0CIANBHGooAgAgGGoiBygCAEGAgICAeEcNAyAHKAIkIgMgAk0NBCASQdwAaiESIAJBAWohAyAHKAIgIAhqKAIABEAgCEHcAGohCCADIQIgEiATRw0BDBILCyAOIA4oAgAiBkEBajYCACAGQQBIDQ8CQAJAIA4oAkwiDEUNACAbKAIAIREDQCAMQQxqIQ8gDEEEaiEGIAwvAaYIIgtBDGwhCEF/IQcCQANAIAhFBEAgCyEHDAILIAYoAgQiCiAQSSAKIBBLayAGKAIAIgogDUkgCiANS2sgCiANRhsiCkH/AXFFBEAgDygCACIKIAJJIAIgCklrIQoLIAZBDGohBiAIQQxrIQggD0EMaiEPIAdBAWohByAKQQFGDQALIApB/wFxRQ0DCyARRQ0BIBFBAWshESAMIAdBAnRqKAKoCCEMDAALAAtB1LnEAEEWQYS+xAAQwBMACyAMIAdB1ABsai0A0AEhDCAFIA42AoABIAUgAjYCfCAFIBA2AnggBSANNgJ0IAVBATYCcCAFQQFBAiAMGzYCbCAFQRhqIAVB7ABqEPIJIAUoAhwiC0EASA0NAkAgCwRAIAUoAhghAiALEJABIgpFBEBBARCnFAwSCyALBEAgCiACIAv8CgAACyAJLQAUQQNHBEAgBSAZNgLAASAJQRRqIAVBwAFqEI8PCyAJKAIQIgIEQCACQeAAbCEIIAkoAgwhBgNAIAsgBkEYaigCAEYEQCAGQRRqKAIAIAogCxCPE0UNBAsgBkHgAGohBiAIQeAAayIIDQALCyAKIAsQ2RIMCQtBASEKQQAhBiMAQRBrIgckACAJLQAUQQNHBEAgByAJQQhqNgIMIAlBFGogB0EMahCPDwsCQCAJKAIQIgJFDQAgAkHgAGwhCCAJKAIMIQIDQAJAIAJBGGooAgANACACQRRqKAIAQQFBABCPEw0AIAIhBgwCCyACQeAAaiECIAhB4ABrIggNAAsLIAdBEGokACAGRQ0ICyAFKAKAASECAkACQAJAIAwEQCAFQRBqIBQQ8A4gBSgCFCIGQQBIDREgBkUEQEEBIQ8MCgsgBSgCECEHIAYQkAEiDw0BDBoLIAVBCGogFBDwDiAFKAIMIghBAEgNECAIRQRAQQEhBwwDCyAFKAIIIQwgCBCQASIHDQEMGQsgBkUNByAPIAcgBvwKAAAMBwsgCEUNACAHIAwgCPwKAAALIAVBfzYCqAEgBSAINgKMASAFIAc2AogBIAUgCDYChAEgBUF/NgK0ASAFQgQ3AqABIAVCADcCmAEgBUKAgICAgAE3ApABIBogFBDxCiAFQQE2AoACIAYtABxBAUcNBCAFQcABaiAFQYQBaiAFQYACaiAGQSBqIAQQjAEgBSgC8AFBf0cEQCAAIAUpA/gBNwM4IAAgBSkD8AE3AzAgACAFKQPoATcDKCAAIAUpA+ABNwMgIAAgBSkD2AE3AxggACAFKQPQATcDECAAIAUpA8gBNwMIIAAgBSkDwAE3AwAgBSgChAIiASgCACEAIAEgAEEBazYCACAAQQFGBEAgBSgChAIQMAsgBUGEAWoQrgYgAiACKAIAIgBBAWs2AgAgAEEBRgRAIAIQMAsgC0UNFCAKIAsQ2RIMFAsgBSgChAIiBygCACEGIAcgBkEBazYCACAGQQFGBEAgBSgChAIQMAsgASAFQYQBahC3CiACIAIoAgAiBkEBazYCACAGQQFGBEAgAhAwCyALDQYMCAsgDSAGQZS+xAAQhRMACyAQIAdBlL7EABCFEwALQZS+xAAQnRUACyACIANBpL7EABCFEwALQbSOxwAQnRUACyAFQX82AuQBIAUgBjYCyAEgBSAPNgLEASAFIAY2AsABIAVBfzYC8AEgBUIENwLcASAFQgA3AtQBIAVCgICAgIABNwLMASABIAVBwAFqELcKIAIgAigCACIGQQFrNgIAIAZBAUYEQCACEDALIAtFDQILIAogCxDZEgwBCyAOIA4oAgAiAkEBazYCACACQQFHDQAgBSgCgAEQMAsgEiATRw0ACwwGC0H0uMQAEJ0VAAsgECAGQfS4xAAQhRMACyANIAJB9LjEABCFEwALEJ4VAAtBPRCQASIBBEAgAEGMgICAeDYCMCAAQT02AgggACABNgIEIABBPTYCACABQfmOxwApAAA3ADUgAUH0jscAKQAANwAwIAFB7I7HACkAADcAKCABQeSOxwApAAA3ACAgAUHcjscAKQAANwAYIAFB1I7HACkAADcAECABQcyOxwApAAA3AAggAUHEjscAKQAANwAAIAlFDQUgCkEEaygCACIBQXhxIQAgAEEEQQggAUEDcSIBGyAJakkNBiABQQBHIAAgCUEnaktxRQRAIAoQvAUMBgsMBwsMBwsACyAEKAIIIgFFDQEgBCABQQFrIgE2AgggBCgCBCABQQxsaiICKAIAIgFBAWtBfUsNASACKAIEIgdBBGsoAgAiA0F4cSECIAJBBEEIIANBA3EiAxsgAWpJDQMgA0UNACACIAFBJ2pNDQAMBAsgBxC8BQsgAEF/NgIwCyAFQZACaiQADwtB0JzJAEEuQYCdyQAQrxQAC0GQnckAQS5BwJ3JABCvFAALQQEQpxQAC9ogARF/IwBB0AFrIggkAAJAAkACQCABQSFJBEAgASEKDAELIAJBFGshFAJAAkADQCAERQRAIAAgASACIANBARDOAQwFCyAAIAFBA3YiCkGMAWxqIQYgACAKQdAAbGohDCAEQQFrIQQgCAJ/IAFBwABPBEAgACAMIAYgChCoDQwBCyAIQbABaiAAEPAOIAgoArABIAgoArQBIQogCEGoAWogDBDwDiAIKAKoASAKIAgoAqwBIgcgByAKSxsQjxMhCSAIQaABaiAAEPAOIAgoAqABIQ4gCCgCpAEhDyAIQZgBaiAGEPAOIAAgCSAKIAdrIAkbIgcgDiAIKAKYASAPIAgoApwBIgogCiAPSxsQjxMiCSAPIAprIAkbc0EASA0AGiAIQZABaiAMEPAOIAgoApABIQ8gCCgClAEhCiAIQYgBaiAGEPAOIAYgDCAPIAgoAogBIAogCCgCjAEiBiAGIApLGxCPEyIMIAogBmsgDBsgB3NBAEgbCyILKAIQNgLIASAIIAspAgg3A8ABIAggCykCADcDuAEgCyAAa0EUbiEPAkAgBQRAIAhBgAFqIAUQ8A4gCCgCgAEgCCgChAEhBiAIQfgAaiALEPAOIAgoAnggBiAIKAJ8IgwgBiAMSRsQjxMiCiAGIAxrIAobQQBODQELIAEgA0sNA0EAIQogACEGIAFBFGwiFSACaiISIQ4gDyEMA0ACQCAAIAxBFGxqIhMgBk0NAAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAA0ACQCAGQQRqKAIAIQcCQCAGKAIAQQFGBEAgBkEQaigCACINQaACaigCACIJIAdNDQIgBkEIaigCACIJIA1BnAJqKAIAIAdBJGxqIgdBIGooAgAiDU8NBCAHQRxqKAIAIAlB1ABsaiIHKAIAQYCAgIB4Rw0ZIAZBDGooAgAiCSAHKAIkIg1JDQEgCSANQaS+xAAQhRMACyAGQRBqKAIAIgkoAhAiDSAHTQ0HIAkoAgwgB0HkAGxqIg0oAlQiByAJKAKgAiIQTw0EIA0oAlgiECAJKAKcAiAHQSRsaiIHQSBqKAIAIglPDQUgB0EcaigCACAQQdQAbGoiBygCAEGCgICAeEcNBiANKAJcIgkgBygCJCINTw0ICyAHKAIgIAlB3ABsaiIHKAIgIRYgBygCJCEQIAsoAgQhBwJAIAsoAgBBAUYEQCALKAIQIg1BoAJqKAIAIgkgB00NCiALKAIIIgkgDUGcAmooAgAgB0EkbGoiB0EgaigCACINTw0LIAdBHGooAgAgCUHUAGxqIgkoAgBBgICAgHhHDRkgCygCDCINIAkoAiQiB0kNASANIAdBpL7EABCFEwALIAsoAhAiCSgCECINIAdNDQ4gCSgCDCAHQeQAbGoiBygCVCINIAkoAqACIhFPDQsgBygCWCIRIAkoApwCIA1BJGxqIglBIGooAgAiDU8NDCAJQRxqKAIAIBFB1ABsaiIJKAIAQYKAgIB4Rw0NIAcoAlwiDSAJKAIkIgdPDQ8LIAkoAiAgDUHcAGxqIgkoAiQhByAKQRRsIAIgDkEUayIOIBYgCSgCICAQIAcgByAQSxsQjxMiCSAQIAdrIAkbIglBAEgbaiIHIAYoAhA2AhAgByAGKQIINwIIIAcgBikCADcCACAJQR92IApqIQogBkEUaiIGIBNJDQEMDwsLIAcgCUGUvsQAEIUTAAsgCSANQZS+xAAQhRMACyAHIBBB1LjEABCFEwALIBAgCUHUuMQAEIUTAAtB1LjEABCdFQALIAcgDUHk9sgAEIUTAAsgCSANQeS4xAAQhRMACyAHIAlBlL7EABCFEwALIAkgDUGUvsQAEIUTAAsgDSARQdS4xAAQhRMACyARIA1B1LjEABCFEwALQdS4xAAQnRUACyAHIA1B5PbIABCFEwALIA0gB0HkuMQAEIUTAAsgASAMRwRAIA5BFGsiDiAKQRRsaiIMIAYoAhA2AhAgDCAGKQIINwIIIAwgBikCADcCACAGQRRqIQYgASEMDAELCyAKQRRsIg4EQCAAIAIgDvwKAAALIAEgCmshDQJAIAEgCkYNACAAIA5qIQxBACEJIApBAWogAUcEQCANQQFxIA1BfnEhEyAUIBVqIQcgDCEGA0AgBiAHKAIQNgIQIAYgBykCCDcCCCAGIAcpAgA3AgAgBkEUaiASIAlB/v///wNzQRRsaiIQKQIANwIAIAZBHGogECkCCDcCACAGQSRqIBBBEGooAgA2AgAgB0EoayEHIAZBKGohBiATIAlBAmoiCUcNAAtFDQELIAwgCUEUbGoiBiASIAlBf3NBFGxqIgwoAhA2AhAgBiAMKQIINwIIIAYgDCkCADcCAAsgCkUNACABIApJDQIgACAOaiANIAIgAyAEIAhBuAFqEI0BIAohASAKQSFJDQQMAQsgASADSw0CQQAhCSAAIQYgAUEUbCIQIAJqIgwhDgNAAkAgACAPQRRsaiISIAZNDQACQAJAAkACQAJAA0ACQCALKAIEIQUCfyALKAIAQQFGBEAgCygCECIHQaACaigCACIKIAVNDQIgCygCCCIKIAdBnAJqKAIAIAVBJGxqIgVBIGooAgAiB08NBCAFQRxqKAIAIApB1ABsaiIFKAIAQYCAgIB4Rw0QIAsoAgwiCiAFKAIkIgdPDQUgBSgCICAKQdwAbGoiBSgCJCEHIAUoAiAMAQsgCEHwAGogCygCEEEIaiAFENAQIAgoAnQhByAIKAJwCyENIAZBBGooAgAhBQJ/IAYoAgBBAUYEQCAGQRBqKAIAIhFBoAJqKAIAIgogBU0NBiAGQQhqKAIAIgogEUGcAmooAgAgBUEkbGoiBUEgaigCACIRTw0HIAVBHGooAgAgCkHUAGxqIgUoAgBBgICAgHhHDRAgBkEMaigCACIKIAUoAiQiEU8NCCAFKAIgIApB3ABsaiIFKAIkIQogBSgCIAwBCyAIQegAaiAGQRBqKAIAQQhqIAUQ0BAgCCgCbCEKIAgoAmgLIQUgCUEUbCACIA5BFGsiDiANIAUgByAKIAcgCkkbEI8TIgUgByAKayAFG0EATiIKG2oiBSAGKAIQNgIQIAUgBikCCDcCCCAFIAYpAgA3AgAgCSAKaiEJIAZBFGoiBiASSQ0BDAcLCyAFIApBlL7EABCFEwALIAogB0GUvsQAEIUTAAsgCiAHQaS+xAAQhRMACyAFIApBlL7EABCFEwALIAogEUGUvsQAEIUTAAsgCiARQaS+xAAQhRMACyABIA9HBEAgAiAJQRRsaiIFIAYoAhA2AhAgBSAGKQIINwIIIAUgBikCADcCACAGQRRqIQYgCUEBaiEJIA5BFGshDiABIQ8MAQsLIAlBFGwiBQRAIAAgAiAF/AoAAAsgASAJRg0EIAEgCWshCiAAIAVqIQBBACEHAkAgCUEBaiABRwRAIApBAXEgCkF+cSEOIBAgFGohCyAAIQYDQCAGIAsoAhA2AhAgBiALKQIINwIIIAYgCykCADcCACAGQRRqIAwgB0H+////A3NBFGxqIgUpAgA3AgAgBkEcaiAFKQIINwIAIAZBJGogBUEQaigCADYCACALQShrIQsgBkEoaiEGIA4gB0ECaiIHRw0AC0UNAQsgACAHQRRsaiIFIAwgB0F/c0EUbGoiBigCEDYCECAFIAYpAgg3AgggBSAGKQIANwIACyABIAlPBEBBACEFIAohASAKQSFJDQQMAQsLIAkgASABQeD1yAAQhw4AC0HEsMkAQRNB0PXIABC/EwsACyAKQQJJDQBBASEBIApBAXYiBEEUbCIDIAJqIQUgACADaiEPAkAgCkEITwRAIAAgAhDpCCAPIAUQ6QhBBCEBDAELIAIgACgCEDYCECACIAApAgg3AgggAiAAKQIANwIAIAUgDygCEDYCECAFIA8pAgg3AgggBSAPKQIANwIACyAKIARrIRAgASAESQRAIAFBFGwhDSABIQ4DQCAOQRRsIgMgAmoiBiAAIANqIgMoAhA2AhAgBiADKQIINwIIIAYgAykCADcCACAIQeAAaiAGEPAOIAgoAmAgCCgCZCEMIAhB2ABqIAZBFGsQ8A4gCCgCWCAMIAgoAlwiBiAGIAxLGxCPEyILIAwgBmsgCxtBAEgEQCAIIAMoAhA2AsgBIAggAykCCDcDwAEgCCADKQIANwO4ASANIQsCfwNAIAIgC2oiA0EUayEGIAMgBigCEDYCECADIAYpAgg3AgggAyAGKQIANwIAIAIgC0EURg0BGiAIQdAAaiAIQbgBahDwDiAIKAJQIAgoAlQhBiAIQcgAaiADQShrEPAOIAtBFGshCyAIKAJIIAYgCCgCTCIDIAMgBksbEI8TIgwgBiADayAMG0EASA0ACyACIAtqCyIGIAgoAsgBNgIQIAYgCCkDwAE3AgggBiAIKQO4ATcCAAsgDUEUaiENIAQgDkEBaiIORw0ACwsgASAQSQRAIAFBFGwhDkEUIQMgBSEMA0AgAUEUbCIGIAVqIgsgBiAPaiIGKAIQNgIQIAsgBikCCDcCCCALIAYpAgA3AgAgCEFAayALEPAOIAgoAkAgCCgCRCEHIAhBOGogC0EUaxDwDiAIKAI4IAcgCCgCPCILIAcgC0kbEI8TIgkgByALayAJG0EASARAIAggBigCEDYCyAEgCCAGKQIINwPAASAIIAYpAgA3A7gBIAMhCSAMIQcCfwNAIAcgDmoiBkEUayELIAYgCygCEDYCECAGIAspAgg3AgggBiALKQIANwIAIAUgCSAORg0BGiAIQTBqIAhBuAFqEPAOIAgoAjAgCCgCNCELIAhBKGogBkEoaxDwDiAJQRRqIQkgB0EUayEHIAgoAiggCyAIKAIsIgYgBiALSxsQjxMiDSALIAZrIA0bQQBIDQALIAcgDmoLIgYgCCgCyAE2AhAgBiAIKQPAATcCCCAGIAgpA7gBNwIACyADQRRrIQMgDEEUaiEMIBAgAUEBaiIBRw0ACwsgBUEUayELIApBFGxBFGsiASACaiEHIAAgAWohBgNAIAhBIGogBRDwDiAIKAIgIQMgCCgCJCEBIAhBGGogAhDwDiAAIAIgBSADIAgoAhggASAIKAIcIgMgASADSRsQjxMiDCABIANrIAwbIgxBAE4iDxsiASgCEDYCECAAIAEpAgg3AgggACABKQIANwIAIAhBEGogBxDwDiAIKAIQIQMgCCgCFCEBIAhBCGogCxDwDiAGIAcgCyADIAgoAgggASAIKAIMIgMgASADSRsQjxMiCSABIANrIAkbIgNBAE4bIgEoAhA2AhAgBiABKQIINwIIIAYgASkCADcCACACIA9BFGxqIQIgBSAMQR92QRRsaiEFIAsgA0EfdSIBQRRsaiELIAcgAUF/c0EUbGohByAGQRRrIQYgAEEUaiEAIARBAWsiBA0ACyALQRRqIQEgCkEBcQR/IAAgAiAFIAEgAksiBBsiAygCEDYCECAAIAMpAgg3AgggACADKQIANwIAIAUgASACTUEUbGohBSACIARBFGxqBSACCyABRiAFIAdBFGpGcQ0AEKQVAAsgCEHQAWokAA8LQZS+xAAQnRUAC9IjAwd/An4BfCMAQfABayICJAACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkBBDiAAKAIAIgNBDWsgA0EMTRtBAWsODgECAwQFBgcICQoLDA0OAAsgASgCACAAKAIIIAAoAgwQngcMFgsgASgCACEBIAAtAARFBEAgASgCACABKAIIIgBrQQRNBEAgASAAQQVBAUEBELMRIAEoAgghAAsgASgCBCAAaiIDQaqyyAAoAAA2AAAgA0GussgALQAAOgAEIAEgAEEFajYCCAwWCyABKAIAIAEoAggiAGtBA00EQCABIABBBEEBQQEQsxEgASgCCCEACyABKAIEIABqQfTk1asGNgAAIAEgAEEEajYCCAwVCyABKAIAIAAoAgggACgCDBCeBwwUCyABKAIAIAApAwgQ1AsMEwsgAkEAOgDcASACQgA3ANQBIABBBGogAkGwAWoQsQohACABKAIAIABBJBCeBwwSCyAAKAIMIQMgACgCCCEGIAEoAgAiACgCCCIFIAAoAgBGBEAgACAFQQFBAUEBELMRIAAoAgghBQsgACAFQQFqIgQ2AgggACgCBCAFakHbADoAACADBEAgBiABEI4BIANBAUcEQCAGQSBqIQUgA0EFdEEgayEEA0AgASgCACIAKAIIIgMgACgCAEYEQCAAIANBAUEBQQEQsxEgACgCCCEDCyAAIANBAWo2AgggACgCBCADakEsOgAAIAUgARCOASAFQSBqIQUgBEEgayIEDQALCyABKAIAIgEoAggiACABKAIARgRAIAEgAEEBQQFBARCzESABKAIIIQALIAEgAEEBajYCCCABKAIEIABqQd0AOgAADBILIAQgACgCAEYEQCAAIARBAUEBQQEQsxEgACgCCCEECyAAIARBAWo2AgggACgCBCAEakHdADoAAAwRCyABKAIAIAAoAgggACgCDBCeBwwQCyAAKAIMIQYgACgCCCEFIAEoAgAiACgCCCIDIAAoAgBGBEAgACADQQFBAUEBELMRIAAoAgghAwsgACADQQFqIgQ2AgggACgCBCADakH7ADoAACAGRQRAIAQgACgCAEYEQCAAIARBAUEBQQEQsxEgACgCCCEECyAAIARBAWo2AgggACgCBCAEakH9ADoAAAwQCyAGQTBsIAEoAgAgBUEEaigCACAFQQhqKAIAEJ4HIAEoAgAiAygCCCIEIAMoAgBGBEAgAyAEQQFBAUEBELMRIAMoAgghBAsgBWohBiAFQRBqIQAgAyAEQQFqNgIIIAMoAgQgBGpBOjoAAANAIAAgARCOASAAQSBqIgQgBkZFBEAgASgCACIAKAIIIgMgACgCAEYEQCAAIANBAUEBQQEQsxEgACgCCCEDCyAAIANBAWo2AgggACgCBCADakEsOgAAIAEoAgAgBEEEaigCACAEQQhqKAIAEJ4HIAEoAgAiACgCCCIDIAAoAgBGBEAgACADQQFBAUEBELMRIAAoAgghAwsgACADQQFqNgIIIAAoAgQgA2pBOjoAACAEQRBqIQAMAQsLIAEoAgAiASgCCCIAIAEoAgBGBEAgASAAQQFBAUEBELMRIAEoAgghAAsgASAAQQFqNgIIIAEoAgQgAGpB/QA6AAAMDwsgASgCACIBKAIIIQAgASgCACAAa0EDTQRAIAEgAEEEQQFBARCzESABKAIIIQALIAEgAEEEajYCCCABKAIEIABqQe7qseMGNgAADA4LIAEoAgAgAkGwAWogAEEEahCtAiACKAK0ASIAIAIoArgBEJ4HIAIoArABIgFFDQ0gAEEEaygCACIEQXhxIQMgA0EEQQggBEEDcSIEGyABakkNDyAEQQBHIAMgAUEnaktxDRAgABC8BQwNCyABKAIAIQECQCAAQQhqIgAQ5ANFDQAgAkGwAWogABCODSACKQOwAUIBUg0AIAIpA7gBIglC/////////w9WDQAgASAJENcMDA0LIAJBADYCiAEgAkKAgICAEDcCgAEgAkHclsYANgK0ASACQqCAgIAGNwK4ASACIAJBgAFqNgKwASAAIAJBsAFqIgAQ9wENECACKAKAASEFIAAgAigChAEiBiACKAKIARCcASACLQCwAUEBRg0EAkAgAisDuAEiC71C////////////AINCgICAgICAgPj/AFoEQCABKAIAIAEoAggiA2tBA00EQCABIANBBEEBQQEQsxEgASgCCCEDCyABIANBBGo2AgggASgCBCADakHu6rHjBjYAAAwBCyALIAJBsAFqEPYBIQACQAJAIAEoAgAgASgCCCIEayAASQRAIAEgBCAAQQFBARCzESABKAIIIQQMAQsg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IAJB/wFxIgBB/wFGDRIgAEEDRw0WIAEoAgghACABKAIMQQRrDgITFBcLIAEoAiwhBSABKAIwQQNrDgsdGDUcNRo1NRc1GTULAn8gASgCDCIGRQRAQQghAEEADAELIAEoAgghBSAGQQV0EJABIgBFDSQgACEBIAYhBwNAIANB6ABqIAUgAhCRASADKAJoQX9GDSYgAyADKQOAASIRNwNgIAMgAykDeCISNwNYIAMgAykDcCIQNwNQIAMgAykDaCIPNwNIIAEgETcDGCABIBI3AxAgASAQNwMIIAEgDzcDACAFQUBrIQUgAUEgaiEBIAdBAWsiBw0ACyAGCyEBIAQgBjYCDCAEIAA2AgggBCABNgIEIARBEjYCAAwyCyADIAI6AEggAyADQcgAaq1CgICAgNAphDcDaEHxo8AAIANB6ABqQdD3xgAQvxMACyADQegAaiABKAIIIAEoAgwQ8wggAy0AaA0xIAQgAykDcDcDCCAEQRA2AgAMMAsgA0HoAGogASgCCCABKAIMEPMIIAMtAGgNLiAEIAMpA3A3AwggBEEYNgIADC8LIANByABqIAEoAgggASgCDBDxAiADKAJIQX9GDSwgAyADKQNYIhA3A0AgAyADKQNQIg83AzggAyADKQNINwJsIAMgEDcCfCADIA83AnQgBEEXNgIAIAQgAykCaDcCBCAEIAMpAnA3AgwgBCADKQJ4NwIUIAQgAygCgAE2AhwMLgsgA0HIAGogASgCCCABKAIMEPECIAMoAkhBf0YNKiADIAMpA1giEDcDQCADIAMpA1AiDzcDOCADIAMpA0g3AmwgAyAQNwJ8IAMgDzcCdCAEQRc2AgAgBCADKQJoNwIEIAQgAykCcDcCDCAEIAMpAng3AhQgBCADKAKAATYCHAwtCyADIAI6AEggAyADQcgAaq1CgICAgNAphDcDaEHxo8AAIANB6ABqQbD4xgAQvxMACyABKAIMIgJBAEgNHiACRQRAQQEhAQwFCyABKAIIIQAgAhCQASIBDQMMLgsgASgCDCECIAEoAgghACADQf8BOgCQAiADQQA2AsgBIANBADYCwAEgA0EANgK4ASADQQA2ArABIANBADYCqAEgA0EANgKgASADQQA2ApgBIANBADYCkAEgA0EANgKIASADQQA2AoABIANBADYCeCADQQA2AoACIANBADYC+AEgA0EANgLwASADQQA2AugBIANBADYC4AEgA0EANgLYASADQQA2AtABIANBADYCiAIgA0IANwNoIANByABqIANB6ABqIAAgAhCoCSADKAJIIgBFBEAgAy0ATAwnCyADQQhqIAAgAygCTBDxDEEFIAMoAgwNJhogAygCiAJBAUYEQCADKAKMAiEBDCYLQQAhASADKQNoQgFRDSVBAgwmCyABKAIMIgJBAEgNHCACRQRAQQEhAQwFCyABKAIIIQAgAhCQASIBDQMMLAsgASgCDCIGQQNqQQJ2IgJBA2whBSABKAIIIQACQCACRQRAQQEhAQwBCyAFEJABIgFFDSwgAUEEay0AAEEDcUUNACAFRQ0AIAFBACAF/AsACyADQegAaiAAIAYgASAFIAZBA3EQlwEgAygCaEECRw0EIAMtAGxB/wFGDRwgAgRAIAEgBRDZEgsgA0ESNgJ8IANB0oTHADYCeCADQpSAgIBwNwJwIANBvoTHADYCbCADQX82AmhBiLDJAEErIANB6ABqQYD4xgBBkPjGABDaEgALIAJFDQAgASAAIAL8CgAACyAEIAI2AgwgBCABNgIIIAQgAjYCBCAEQQ02AgAMJgsgAkUNACABIAAgAvwKAAALIAQgAjYCDCAEIAE2AgggBCACNgIEIARBEzYCAAwkCyADKAJwIQAgBCABNgIIIAQgBTYCBCAEQRk2AgAgBCAFIAAgACAFSxs2AgwMIwsgA0HIAGogASgCCCABKAIMEPECIAMoAkhBf0YNHCADIAMpA1giEDcDQCADIAMpA1AiDzcDOCADIAMpA0g3AmwgAyAQNwJ8IAMgDzcCdCAEQRc2AgAgBCADKQJoNwIEIAQgAykCcDcCDCAEIAMpAng3AhQgBCADKAKAATYCHAwiCwJAIAEoAgwiAkUEQEEBIQEMAQsgASgCCCEAIAIQkAEiAUUNJSACRQ0AIAEgACAC/AoAAAsgBCACNgIMIAQgATYCCCAEIAI2AgQgBEEPNgIADCELIAAoAABB9OTVqwZHDQNBAQwBCyAAKAAAQebCsZsHcyAAQQRqLQAAQeUAc3INAkEACyEAIAYgADoABCAEQQ42AgAMHgsgAyACOgBIIAMgA0HIAGqtQoCAgIDQKYQ3A2hB8aPAACADQegAakHg+MYAEL8TAAtBiLDJAEErIANBnwJqQcD4xgBB0PjGABDaEgALIAUpAABC5MSdq+atmbnhAIUgBUEDaikAAELl3JWTl4zdsuQAhYRCAFINHSABKAIYBEAgASgCFCIBKAIAQQNGDQsLIANBADYCLCADQoCAgIAQNwIkDAsLIAUoAABB4erR+wZHDQIgBEEEaiEBIwBBQGoiAiQAAkACQEEEEJABIgAEQCAAQeHq0fsGNgAAIAJBBDYCLCACIAA2AiggAkEENgIkIAJBADYCOCACQoCAgICAATcCMCACQQhqIAJBJGogAkEwahDwBiACKAIIQX9GDQEgASACKAIgNgIYIAEgAikCGDcCECABIAIpAhA3AgggASACKQIINwIAIAJBQGskAAwCCwwfCyACIAIoAhQ2AjggAiACKQIMNwMwQYiwyQBBKyACQTBqQfzxxgBBgPPGABDaEgALIARBfzYCAAwaCyAFKQAAQuHq0fuWzdux8gCFIAVBBWopAABC7sbJq9atmbf0AIWEQgBSDRtBDRCQASIARQ0cIABB2fDGACkAADcABSAAQdTwxgApAAA3AAAgA0ENNgI4IAMgADYCNCADQQ02AjAgA0EANgJQIANCgICAgIABNwJIIANB6ABqIANBMGogA0HIAGoQ8AYgAygCaEF/Rg0OIARBBGoiACADKAKAATYCGCAAIAMpAng3AhAgACADKQJwNwIIIAAgAykCaDcCACAEQX82AgAMGQsgBSkAAELzysWr18zbseUAUg0aIANBADYCOCADQoCAgICAATcCMEEIEJABIgBFDRsgAELzysWr18zbseUANwAAIANBCDYCUCADIAA2AkwgA0EINgJIIANB6ABqIANByABqIANBMGoQ8AYgAygCaEF/Rg0OIAQgAygCgAE2AhwgBCADKQJ4NwIUIAQgAykCcDcCDCAEIAMpAmg3AgQgBEF/NgIADBgLIAUoAABB9eqlowZGBEBBBCEFIAEoAhhFDQYgASgCFCIAKAIAQQJHDQYgA0EQaiAAKAIIIAAoAgwQyA0gAy0AESEFIAMtABBFDQYgAyAFOgBoQYiwyQBBKyADQegAakHw9sYAQZD5xgAQ2hIACyAFKAAAQePqpaMGRgRAQQEhBSABKAIYRQ0FIAEoAhQiACgCAEECRw0FIANBGGogACgCCCAAKAIMEMgNIAMtABkhBSADLQAYRQ0FIAMgBToAaEGIsMkAQSsgA0HoAGpB8PbGAEGA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IAEoAgAiA0GAgICAeHMgA0EAThtBAWsOFQECAwQFBgcICQoLDA0ODxAREhQVFgALIAEtAAQhASAAQYGAgIB4NgIQIAAgAToAAAweCyABMQAEIQ4gAEGCgICAeDYCECAAIA43AwggAEIANwMADB0LIAEzAQQhDiAAQYKAgIB4NgIQIAAgDjcDCCAAQgA3AwAMHAsgATUCBCEOIABBgoCAgHg2AhAgACAONwMIIABCADcDAAwbCyABKQMIIQ4gAEGCgICAeDYCECAAIA43AwggAEIANwMADBoLIAEwAAQhDiAAQYKAgIB4NgIQIAAgDjcDCCAAIA5CP4g3AwAMGQsgATIBBCEOIABBgoCAgHg2AhAgACAONwMIIAAgDkI/iDcDAAwYCyABNAIEIQ4gAEGCgICAeDYCECAAIA43AwggACAOQj+INwMADBcLIAEpAwghDiAAQYKAgIB4NgIQIAAgDjcDCCAAIA5CP4g3AwAMFgsgACABKgIEuyIUvUL///////////8Ag0L/////////9/8AWAR/IAJBgICAgHg2AuABIAJB0AFqEP8JQYKAgIB4BUGAgICAeAs2AhAgACAUOQMIIABCAjcDAAwVCyAAIAErAwgiFL1C////////////AINC//////////f/AFgEfyACQYCAgIB4NgLgASACQdABahD/CUGCgICAeAVBgICAgHgLNgIQIAAgFDkDCCAAQgI3AwAMFAsgASgCBCEBIAJBADYC0AEgAUGAAUkNCyABQT9xQYB/ciEDIAFBBnYhBCABQYAQSQRAIAIgAzoA0QEgAiAEQcABcjoA0AFBAiEBDBMLIAFBDHYhBSAEQT9xQYB/ciEEIAFB//8DTQRAIAIgAzoA0gEgAiAEOgDRASACIAVB4AFyOgDQAUEDIQEMEwsgAiADOgDTASACIAQ6ANIBIAIgBUE/cUGAf3I6ANEBIAIgAUESdkFwcjoA0AFBBCEBDBILIAEoAgwiA0EASA0LAkAgA0UEQEEBIQEMAQsgASgCCCEEIAMQkAEiAUUNFCADRQ0AIAEgBCAD/AoAAAsgAEGDgICAeDYCECAAIAM2AgggACABNgIEIAAgAzYCAAwSCyABKAIIIgNBAEgNCgJAIANFBEBBASEBDAELIAEoAgQhBCADEJABIgFFDRMgA0UNACABIAQgA/wKAAALIABBg4CA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AgwXCyABKAIMIQMgASgCCCEEIAEoAgQiASgCACECIAEgAkEBajYCACACQQBIDRQgACADNgIMIAAgBDYCCCAAIAE2AgRBEiECDBYLIAEoAgwhAyABKAIIIQQgASgCBCIBKAIAIQIgASACQQFqNgIAIAJBAEgNEyAAIAM2AgwgACAENgIIIAAgATYCBEEUIQIMFQsgASgCCCEDIAEoAgQiASgCACECIAEgAkEBajYCACACQQBIDRIgACADNgIIIAAgATYCBEEVIQIMFAsgASgCCCEDIAEoAgQiASgCACECIAEgAkEBajYCACACQQBIDREgACADNgIIIAAgATYCBEEWIQIMEwsgASgCCCEFIAEoAgQiAigCACEDIAIgA0EBajYCACADQQBIDRAgASgCECEGIAEoAgwiAygCACEEIAMgBEEBajYCACAEQQBIDRAgACAGNgIQIAAgAzYCDCAAIAU2AgggACACNgIEIAAgAS0AAToAAUEcIQIMEgsgASgCCCEFIAEoAgQiAigCACEDIAIgA0EBajYCACADQQBIDQ8gASgCECEGIAEoAgwiAygCACEEIAMgBEEBajYCACAEQQBIDQ8gACAGNgIQIAAgAzYCDCAAIAU2AgggACACNgIEIAAgAS0AAToAAUEeIQIMEQsgASgCDCEDIAEoAgghBCABKAIEIgEoAgAhAiABIAJBAWo2AgAgAkEASA0OIAAgAzYCDCAAIAQ2AgggACABNgIEQR8hAgwQCyABKAIMIQQgASgCCCEFIAEoAgQiAigCACEDIAIgA0EBajYCACADQQBIDQ0gACAENgIMIAAgBTYCCCAAIAI2AgQgACABLQABOgABQSAhAgwPCyABKQIEIQkgASgCDCEEIAEoAhAiAigCACEDIAIgA0EBajYCACAHIAQ2AgggByAJNwMAIANBAEgNDCAAIAcoAgg2AgwgACAHKQMANwIEIAAgAjYCECAAIAEtAAE6AAFBISECDA4LIAEpAgQhCSABKQIMIQogASgCFCIBKAIAIQIgASACQQFqNgIAIAcgCjcDCCAHIAk3AwAgAkEASA0LIAAgBykDCDcCDCAAIAcpAwA3AgQgACABNgIUQSIhAgwNCyABKAIMIQMgASgCCCEEIAEoAgQiASgCACECIAEgAkEBajYCACACQQBIDQogACADNgIMIAAgBDYCCCAAIAE2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QCADQbTPxQBBASAFEQAADQsgACABENQMRQ0BDAsLIANBnePCAEECIAURAAANCiACQQE6AAwgAiAGNgIYIAIgAzYCFCACQaDrwgA2AiQgAiABKQIINwIoIAIgAkEMajYCHCACIAJBFGoiAzYCICAAIAJBIGoQ1AwNCiADQaSyyABBAhD9CA0KCyABKAIAQYiQyQBBASABKAIEKAIMEQAAIQQMCQtBASEEIAEoAgAiA0HbkMkAQQUgASgCBCIGKAIMIgURAAANCCAAQQRqIQACQCABLQAKQYABcUUEQCADQbTPxQBBASAFEQAADQogACABEJIFRQ0BDAoLIANBnePCAEECIAURAAANCSACQQE6AAwgAiAGNgIYIAIgAzYCFCACQaDrwgA2AiQgAiABKQIINwIoIAIgAkEMajYCHCACIAJBFGo2AiAgACACQSBqEJIFDQkgAigCIEGkssgAQQIgAigCJCgCDBEAAA0JCyABKAIAQYiQyQBBASABKAIEKAIMEQAAIQQMCAtBASEEIAEoAgAiA0Hl8cUAQQcgASgCBCIGKAIMIgURAAANByAAQQhqIQACQCABLQAKQYABcUUEQCADQbTPxQBBASAFEQAADQkgACABEL8ORQ0BDAkLIANBnePCAEECIAURAAANCCACQQE6AAwgAiAGNgIYIAIgAzYCFCACQaDrwgA2AiQgAiABKQIINwIoIAIgAkEMajYCHCACIAJBFGoiAzYCICAAIAJBIGoQvw4NCCADQaSyyABBAhD9CA0ICyABKAIAQYiQyQBBASABKAIEKAIMEQAAIQQMBwtBASEEIAEoAgAiA0H2mckAQQQgASgCBCIGKAIMIgURAAANBiAAQQhqIQACQCABLQAKQYABcUUEQCADQbTPxQBBASAFEQAADQggACABEKIPRQ0BDAgLIANBnePCAEECIAURAAANByACQQE6AAwgAiAGNgIYIAIgAzYCFCACQaDrwgA2AiQgAiABKQIINwIoIAIgAkEMajYCHCACIAJBFGo2AiAgACACQSBqEKIPDQcgAigCIEGkssgAQQIgAigCJCgCDBEAAA0HCyABKAIAQYiQyQBBASABKAIEKAIMEQAAIQQMBgsgAiAAQQRqNgIMQQEhBCABKAIAIgBB7PHFAEEDIAEoAgQiBSgCDCIDEQAADQUCQCABLQAKQYABcUUEQCAAQbTPxQBBASADEQAADQcgAkEMaiABEPoPRQ0BDAcLIABBnePCAEECIAMRAAANBiACQQE6ABMgAiAFNgIYIAIgADYCFCACQaDrwgA2AiQgAiABKQIINwIoIAIgAkETajYCHCACIAJBFGoiADYCICACQQxqIAJBIGoQ+g8NBiAAQaSyyABBAhD9CA0GCyABKAIAQYiQyQBBASABKAIEKAIMEQAAIQQMBQtBASEEIAEoAgAiA0HymckAQQQgASgCBCIGKAIMIgURAAANBCAAQQFqIQACQCABLQAKQYABcUUEQCADQbTPxQBBASAFEQAADQYgACABEPoORQ0BDAYLIANBnePCAEECIAURAAANBSACQQE6AAwgAiAGNgIYIAIgAzYCFCACQaDrwgA2AiQgAiABKQIINwIoIAIgAkEMajYCHCACIAJBFGoiAzYCICAAIAJBIGoQ+g4NBSADQaSyyABBAhD9CA0FCyABKAIAQYiQyQBBASABKAIEKAIMEQAAIQQMBAtBASEEIAEoAgAiA0GEmskAQQggASgCBCIGKAIMIgURAAANAyAAQQRqIQACQCABLQAKQYABcUUEQCADQbTPxQBBASAFEQAADQUgACABEKoNRQ0BDAULIANBnePCAEECIAURAAANBCACQQE6AAwgAiAGNgIYIAIgAzYCFCACQaDrwgA2AiQgAiABKQIINwIoIAIgAkEMajYCHCACIAJBFGoiAzYCICAAIAJBIGoQqg0NBCADQaSyyABBAhD9CA0ECyABKAIAQYiQyQBBASABKAIEKAIMEQAAIQQMAwtBASEEIAEoAgAiA0Hv8cUAQQQgASgCBCIGKAIMIgURAAANAiAAQQRqIQACQCABLQAKQYABcUUEQCADQbTPxQBBASAFEQAADQQgACABEKQQRQ0BDAQLIANBnePCAEECIAURAAANAyACQQE6AAwgAiAGNgIYIAIgAzYCFCACQaDrwgA2AiQgAiABKQIINwIoIAIgAkEMajYCHCACIAJBFGoiAzYCICAAIAJBIGoQpBANAyADQaSyyABBAhD9CA0DCyABKAIAQYiQyQBBASABKAIEKAIMEQAAIQQMAgtBASEEIAEoAgAiA0Hz8cUAQQQgASgCBCIGKAIMIgURAAANASAAQQRqIQACQCABLQAKQYABcUUEQCADQbTPxQBBASAFEQAADQMgACAB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AWo2AgQLIAEoAowBIgIgASgCiAEiDEYEQCABKAIgIQsgASgCLCEJCyABKAIUIQgCQCABLQCQAUECRwRAIAghBQwBCyAIIQUgAS0AkQFFDQAgASgCDCAFRgRAIAFBDGoQmhILIAEoAhAgCEEUbGoiBSAMNgIIIAVBADYCBCAFQQA6AAAgASAIQQFqIgU2AhQgASgCjAEhAgsgAiAMRgRAIAEoAiwgASgCIGohDQsgASgCeCEPIAEoAlwhEAJAAkACQAJAAkAgASgCAEEBRgRAIAEoAgQiBCABKAIIIgZPDQUgASAEQQFqIgI2AgQgAyABKAKIATYCmAEgAyABKQKAATcDkAEgAiAGTw0EIAEgBEECaiIHNgIEIAMgAUGAAWoiAigCCDYCqAEgAyACKQIANwOgASAGIAdNDQMgASAEQQNqIgc2AgQgAyACKAIINgK4ASADIAIpAgA3A7ABIAYgB00NAiABIARBBGo2AgQMAQsgAyABKAKIATYCmAEgAyABKQKAATcDkAEgAyABKAKIATYCqAEgAyABKQKAATcDoAEgAyABKAKIATYCuAEgAyABKQKAATcDsAEgAUGAAWohAgsgASABLQCQASIGQQFHOgCQASADIAIoAgg2AsgBIAMgAikCADcDwAEgASgCOCECIAEoAlAiBCABKAJIRgRAIAFByABqEJYSCyABIARBAWo2AlAgASgCTCAEQQN0aiIEIAI2AgQgBCACNgIAIANBiAFqIAEQrgsgAygCiAEgAygCjAEiASADKALIATYCiAEgASADKQPAATcCgAEgASAGOgCQASABQTBqEIYKQQFHDQACQCABLQCRAUECRw0AIAEoAgBBAUYEQCABKAIEIgIgASgCCCIETw0CIAEgAkEBaiIGNgIEIAQgBk0NASABIAJBAmo2AgQLIAFBADoAkQEgA0GAAWogARCUCiADKAKAASADKAKEASIBQQI6AJEBQQFxDQADQCABKAIAQQFGBEAgASgCBCICIAEoAghPDQIgASACQQFqNgIECwJAIAEtAJEBIgRFBEAgA0HwAGogARCUCiADKAJ0IQEgAygCcCECDAELIAFBADoAkQEgA0H4AGogARCUCiADKAJ4IQIgAygCfCIBIAQ6AJEBCyACQQFHDQALCyABKAKEASECIAEoAoABIQQCQCABKAKIASIGRQ0AIAIgBk0E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SQ0EIAZBAEcgASACQSdqS3ENAyAEELwFCyADEOcFIAsgB0EBaiIHRw0ACwsgACgC7AEiBARAIAVBBGsoAgAiAkF4cSEBIAEgBEEFdCIEQQRBCCACQQNxIgIbckkNAiACQQBHIAEgBEEnaktxDQEgBRC8BQsCQCAAKAKEAiIBQX5GDQAgAUF/Rg0AIAFFDQAgACgCiAIiBEEEaygCACICQXhxIQAgAEEEQQggAkEDcSICGyABakkNAiACQQBHIAAgAUEnaktxDQEgBBC8BQsPC0GQnckAQS5BwJ3JABCvFAALQdCcyQBBLkGAnckAEK8UAAv2HQEFfyMAQTBrIgIkAAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAIAAtAABBAWsOEQECAwQFBgcICQoLDA0ODxARAAtBASEDIAEoAgAiBEHvkckAQQYgASgCBCIGKAIMIgURAAANESAAQQhqIQACQCABLQAKQYABcUUEQCAEQbTPxQBBASAFEQAADRMgACABELILRQ0BDBMLIARBnePCAEECIAURAAANEiACQQE6AAwgAiAGNgIUIAIgBDYCECACQaDrwgA2AiQgAiABKQIINwIoIAIgAkEMajYCGCACIAJBEGo2AiAgACACQSBqELILDRIgAigCIEGkssgAQQIgAigCJCgCDBEAAA0SCyABKAIAQYiQyQBBASABKAIEKAIMEQAAIQMMEQtBASEDIAEoAgAiBEHIlskAQQkgASgCBCIGKAIMIgURAAANECAAQQhqIQACQCABLQAKQYABcUUEQCAEQbTPxQBBASAFEQAADRIgACABELILRQ0BDBILIARBnePCAEECIAURAAANESACQQE6AAwgAiAGNgIUIAIgBDYCECACQaDrwgA2AiQgAiABKQIINwIoIAIgAkEMajYCGCACIAJBEGo2AiAgACACQSBqELILDREgAigCIEGkssgAQQIgAigCJCgCDBEAAA0RCyABKAIAQYiQyQBBASABKAIEKAIMEQAAIQMMEAtBASEDIAEoAgAiBEGhkskAQQggASgCBCIGKAIMIgURAAANDyAAQQhqIQACQCABLQAKQYABcUUEQCAEQbTPxQBBASAFEQAADREgACABELILRQ0BDBELIARBnePCAEECIAURAAANECACQQE6AAwgAiAGNgIUIAIgBDYCECACQaDrwgA2AiQgAiABKQIINwIoIAIgAkEMajYCGCACIAJBEGo2AiAgACACQSBqELILDRAgAigCIEGkssgAQQIgAigCJCgCDBEAAA0QCyABKAIAQYiQyQBBASABKAIEKAIMEQAAIQMMDwtBASEDIAEoAgAiBEHRlskAQQsgASgCBCIGKAIMIgURAAANDiAAQQhqIQACQCABLQAKQYABcUUEQCAEQbTPxQBBASAFEQAADRAgACABELILRQ0BDBALIARBnePCAEECIAURAAANDyACQQE6AAwgAiAGNgIUIAIgBDYCECACQaDrwgA2AiQgAiABKQIINwIoIAIgAkEMajYCGCACIAJBEGo2AiAgACACQSBqELILDQ8gAigCIEGkssgAQQIgAigCJCgCDBEAAA0PCyABKAIAQYiQyQBBASABKAIEKAIMEQAAIQMMDgtBASEDIAEoAgAiBEHclskAQQogASgCBCIGKAIMIgURAAANDSAAQQhqIQACQCABLQAKQYABcUUEQCAEQbTPxQBBASAFEQAADQ8gACABELILRQ0BDA8LIARBnePCAEECIAURAAANDiACQQE6AAwgAiAGNgIUIAIgBDYCECACQaDrwgA2AiQgAiABKQIINwIoIAIgAkEMajYCGCACIAJBEGo2AiAgACACQSBqELILDQ4gAigCIEGkssgAQQIgAigCJCgCDBEAAA0OCyABKAIAQYiQyQBBASABKAIEKAIMEQAAIQMMDQtBASEDIAEoAgAiBEHmlskAQQ0gASgCBCIGKAIMIgURAAANDCAAQQhqIQACQCABLQAKQYABcUUEQCAEQbTPxQBBASAFEQAADQ4gACABELILRQ0BDA4LIARBnePCAEECIAURAAANDSACQQE6AAwgAiAGNgIUIAIgBDYCECACQaDrwgA2AiQgAiABKQIINwIoIAIgAkEMajYCGCACIAJBEGo2AiAgACACQSBqELILDQ0gAigCIEGkssgAQQIgAigCJCgCDBEAAA0NCyABKAIAQYiQyQBBASABKAIEKAIMEQAAIQMMDAtBASEDIAEoAgAiBEHzlskAQQggASgCBCIGKAIMIgURAAANCyAAQQhqIQACQCABLQAKQYABcUUEQCAEQbTPxQBBASAFEQAADQ0gACABELILRQ0BDA0LIARBnePCAEECIAURAAANDCACQQE6AAwgAiAGNgIUIAIgBDYCECACQaDrwgA2AiQgAiABKQIINwIoIAIgAkEMajYCGCACIAJBEGo2AiAgACACQSBqELILDQwgAigCIEGkssgAQQIgAigCJCgCDBEAAA0MCyABKAIAQYiQyQBBASABKAIEKAIMEQAAIQMMCwtBASEDIAEoAgAiBEH7lskAQQsgASgCBCIGKAIMIgURAAANCiAAQQhqIQACQCABLQAKQYABcUUEQCAEQbTPxQBBASAFEQAADQwgACABELILRQ0BDAwLIARBnePCAEECIAURAAANCyACQQE6AAwgAiAGNgIUIAIgBDYCECACQaDrwgA2AiQgAiABKQIINwIoIAIgAkEMajYCGCACIAJBEGo2AiAgACACQSBqELILDQsgAigCIEGkssgAQQIgAigCJCgCDBEAAA0LCyABKAIAQYiQyQBBASABKAIEKAIMEQAAIQMMCgtBASEDIAEoAgAiBEGGl8kAQQggASgCBCIGKAIMIgURAAANCSAAQQhqIQACQCABLQAKQYABcUUEQCAEQbTPxQBBASAFEQAADQsgACABELILRQ0BDAsLIARBnePCAEECIAURAAANCiACQQE6AAwgAiAGNgIUIAIgBDYCECACQaDrwgA2AiQgAiABKQIINwIoIAIgAkEMajYCGCACIAJBEGo2AiAgACACQSBqELILDQogAigCIEGkssgAQQIgAigCJCgCDBEAAA0KCyABKAIAQYiQyQBBASABKAIEKAIMEQAAIQMMCQtBASEDIAEoAgAiBEGOl8kAQRAgASgCBCIGKAIMIgURAAANCCAAQQhqIQACQCABLQAKQYABcUUEQCAEQbTPxQBBASAFEQAADQogACABELILRQ0BDAoLIARBnePCAEECIAURAAANCSACQQE6AAwgAiAGNgIUIAIgBDYCECACQaDrwgA2AiQgAiABKQIINwIoIAIgAkEMajYCGCACIAJBEGo2AiAgACACQSBqELILDQkgAigCIEGkssgAQQIgAigCJCgCDBEAAA0JCyABKAIAQYiQyQBBASABKAIEKAIMEQAAIQMMCAtBASEDIAEoAgAiBEGel8kAQQsgASgCBCIGKAIMIgURAAANByAAQQhqIQACQCABLQAKQYABcUUEQCAEQbTPxQBBASAFEQAADQkgACABELILRQ0BDAkLIARBnePCAEECIAURAAANCCACQQE6AAwgAiAGNgIUIAIgBDYCECACQaDrwgA2AiQgAiABKQIINwIoIAIgAkEMajYCGCACIAJBEGo2AiAgACACQSBqELILDQggAigCIEGkssgAQQIgAigCJCgCDBEAAA0ICyABKAIAQYiQyQBBASABKAIEKAIMEQAAIQMMBwtBASEDIAEoAgAiBEGpl8kAQRMgASgCBCIGKAIMIgURAAANBiAAQQhqIQACQCABLQAKQYABcUUEQCAEQbTPxQBBASAFEQAADQggACABELILRQ0BDAgLIARBnePCAEECIAURAAANByACQQE6AAwgAiAGNgIUIAIgBDYCECACQaDrwgA2AiQgAiABKQIINwIoIAIgAkEMajYCGCACIAJBEGo2AiAgACACQSBqELILDQcgAigCIEGkssgAQQIgAigCJCgCDBEAAA0HCyABKAIAQYiQyQBBASABKAIEKAIMEQAAIQMMBgtBASEDIAEoAgAiBEG8l8kAQQIgASgCBCIGKAIMIgURAAANBSAAQQRqIQACQCABLQAKQYABcUUEQCAEQbTPxQBBASAFEQAADQcgACABEMgIRQ0BDAcLIARBnePCAEECIAURAAANBiACQQE6AAwgAiAGNgIUIAIgBDYCECACQaDrwgA2AiQgAiABKQIINwIoIAIgAkEMajYCGCACIAJBEGo2AiAgACACQSBqEMgIDQYgAigCIEGkssgAQQIgAigCJCgCDBEAAA0GCyABKAIAQYiQyQBBASABKAIEKAIMEQAAIQMMBQtBASEDIAEoAgAiBEG+l8kAQQUgASgCBCIGKAIMIgURAAANBCAAQQRqIQACQCABLQAKQYABcUUEQCAEQbTPxQBBASAFEQAADQYgACABEMgIRQ0BDAYLIARBnePCAEECIAURAAANBSACQQE6AAwgAiAGNgIUIAIgBDYCECACQaDrwgA2AiQgAiABKQIINwIoIAIgAkEMajYCGCACIAJBEGo2AiAgACACQSBqEMgIDQUgAigCIEGkssgAQQIgAigCJCgCDBEAAA0FCyABKAIAQYiQyQBBASABKAIEKAIMEQAAIQMMBAsgAiAAQQRqNgIMQQEhAyABKAIAIgBBw5fJAEELIAEoAgQiBSgCDCIEEQAADQMCQCABLQAKQYABcUUEQCAAQbTPxQBBASAEEQAADQUgAkEMaiABEI4L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IAJBoOvCADYCJCACIAEpAgg3AiggAiACQQxqNgIcIAIgAkEUajYCICAAIAJBIGoQggwNEiACKAIgQaSyyABBAiACKAIkKAIMEQAADRILIAEoAgBBiJDJAEEBIAEoAgQoAgwRAAAhAwwRC0EBIQMgASgCACIEQciWyQBBCSABKAIEIgYoAgwiBREAAA0QIABBCGohAAJAIAEtAApBgAFxRQRAIARBtM/FAEEBIAURAAANEiAAIAEQggxFDQEMEgsgBEGd48IAQQIgBREAAA0RIAJBAToADCACIAY2AhggAiAENgIUIAJBoOvCADYCJCACIAEpAgg3AiggAiACQQxqNgIcIAIgAkEUajYCICAAIAJBIGoQggwNESACKAIgQaSyyABBAiACKAIkKAIMEQAADRELIAEoAgBBiJDJAEEBIAEoAgQoAgwRAAAhAwwQC0EBIQMgASgCACIEQaGSyQBBCCABKAIEIgYoAgwiBREAAA0PIABBCGohAAJAIAEtAApBgAFxRQRAIARBtM/FAEEBIAURAAANESAAIAEQggxFDQEMEQsgBEGd48IAQQIgBREAAA0QIAJBAToADCACIAY2AhggAiAENgIUIAJBoOvCADYCJCACIAEpAgg3AiggAiACQQxqNgIcIAIgAkEUajYCICAAIAJBIGoQggwNECACKAIgQaSyyABBAiACKAIkKAIMEQAADRALIAEoAgBBiJDJAEEBIAEoAgQoAgwRAAAhAwwPC0EBIQMgASgCACIEQdGWyQBBCyABKAIEIgYoAgwiBREAAA0OIABBCGohAAJAIAEtAApBgAFxRQRAIARBtM/FAEEBIAURAAANECAAIAEQggxFDQEMEAsgBEGd48IAQQIgBREAAA0PIAJBAToADCACIAY2AhggAiAENgIUIAJBoOvCADYCJCACIAEpAgg3AiggAiACQQxqNgIcIAIgAkEUajYCICAAIAJBIGoQggwNDyACKAIgQaSyyABBAiACKAIkKAIMEQAADQ8LIAEoAgBBiJDJAEEBIAEoAgQoAgwRAAAhAwwOC0EBIQMgASgCACIEQdyWyQBBCiABKAIEIgYoAgwiBREAAA0NIABBCGohAAJAIAEtAApBgAFxRQRAIARBtM/FAEEBIAURAAANDyAAIAEQggxFDQEMDwsgBEGd48IAQQIgBREAAA0OIAJBAToADCACIAY2AhggAiAENgIUIAJBoOvCADYCJCACIAEpAgg3AiggAiACQQxqNgIcIAIgAkEUajYCICAAIAJBIGoQggwNDiACKAIgQaSyyABBAiACKAIkKAIMEQAADQ4LIAEoAgBBiJDJAEEBIAEoAgQoAgwRAAAhAwwNC0EBIQMgASgCACIEQeaWyQBBDSABKAIEIgYoAgwiBREAAA0MIABBCGohAAJAIAEtAApBgAFxRQRAIARBtM/FAEEBIAURAAANDiAAIAEQggxFDQEMDgsgBEGd48IAQQIgBREAAA0NIAJBAToADCACIAY2AhggAiAENgIUIAJBoOvCADYCJCACIAEpAgg3AiggAiACQQxqNgIcIAIgAkEUajYCICAAIAJBIGoQggwNDSACKAIgQaSyyABBAiACKAIkKAIMEQAADQ0LIAEoAgBBiJDJAEEBIAEoAgQoAgwRAAAhAwwMC0EBIQMgASgCACIEQfOWyQBBCCABKAIEIgYoAgwiBREAAA0LIABBCGohAAJAIAEtAApBgAFxRQRAIARBtM/FAEEBIAURAAANDSAAIAEQggxFDQEMDQsgBEGd48IAQQIgBREAAA0MIAJBAToADCACIAY2AhggAiAENgIUIAJBoOvCADYCJCACIAEpAgg3AiggAiACQQxqNgIcIAIgAkEUajYCICAAIAJBIGoQggwNDCACKAIgQaSyyABBAiACKAIkKAIMEQAADQwLIAEoAgBBiJDJAEEBIAEoAgQoAgwRAAAhAwwLC0EBIQMgASgCACIEQfuWyQBBCyABKAIEIgYoAgwiBREAAA0KIABBCGohAAJAIAEtAApBgAFxRQRAIARBtM/FAEEBIAURAAANDCAAIAEQggxFDQEMDAsgBEGd48IAQQIgBREAAA0LIAJBAToADCACIAY2AhggAiAENgIUIAJBoOvCADYCJCACIAEpAgg3AiggAiACQQxqNgIcIAIgAkEUajYCICAAIAJBIGoQggwNCyACKAIgQaSyyABBAiACKAIkKAIMEQAADQsLIAEoAgBBiJDJAEEBIAEoAgQoAgwRAAAhAwwKC0EBIQMgASgCACIEQYaXyQBBCCABKAIEIgYoAgwiBREAAA0JIABBCGohAAJAIAEtAApBgAFxRQRAIARBtM/FAEEBIAURAAANCyAAIAEQggxFDQEMCwsgBEGd48IAQQIgBREAAA0KIAJBAToADCACIAY2AhggAiAENgIUIAJBoOvCADYCJCACIAEpAgg3AiggAiACQQxqNgIcIAIgAkEUajYCICAAIAJBIGoQggwNCiACKAIgQaSyyABBAiACKAIkKAIMEQAADQoLIAEoAgBBiJDJAEEBIAEoAgQoAgwRAAAhAwwJC0EBIQMgASgCACIEQY6XyQBBECABKAIEIgYoAgwiBREAAA0IIABBCGohAAJAIAEtAApBgAFxRQRAIARBtM/FAEEBIAURAAANCiAAIAEQggxFDQEMCgsgBEGd48IAQQIgBREAAA0JIAJBAToADCACIAY2AhggAiAENgIUIAJBoOvCADYCJCACIAEpAgg3AiggAiACQQxqNgIcIAIgAkEUajYCICAAIAJBIGoQggwNCSACKAIgQaSyyABBAiACKAIkKAIMEQAADQkLIAEoAgBBiJDJAEEBIAEoAgQoAgwRAAAhAwwIC0EBIQMgASgCACIEQZ6XyQBBCyABKAIEIgYoAgwiBREAAA0HIABBCGohAAJAIAEtAApBgAFxRQRAIARBtM/FAEEBIAURAAANCSAAIAEQggxFDQEMCQsgBEGd48IAQQIgBREAAA0IIAJBAToADCACIAY2AhggAiAENgIUIAJBoOvCADYCJCACIAEpAgg3AiggAiACQQxqNgIcIAIgAkEUajYCICAAIAJBIGoQggwNCCACKAIgQaSyyABBAiACKAIkKAIMEQAADQgLIAEoAgBBiJDJAEEBIAEoAgQoAgwRAAAhAwwHC0EBIQMgASgCACIEQamXyQBBEyABKAIEIgYoAgwiBREAAA0GIABBCGohAAJAIAEtAApBgAFxRQRAIARBtM/FAEEBIAURAAANCCAAIAEQggxFDQEMCAsgBEGd48IAQQIgBREAAA0HIAJBAToADCACIAY2AhggAiAENgIUIAJBoOvCADYCJCACIAEpAgg3AiggAiACQQxqNgIcIAIgAkEUajYCICAAIAJBIGoQggwNByACKAIgQaSyyABBAiACKAIkKAIMEQAADQcLIAEoAgBBiJDJAEEBIAEoAgQoAgwRAAAhAwwGC0EBIQMgASgCACIEQbyXyQBBAiABKAIEIgYoAgwiBREAAA0FIABBBGohAAJAIAEtAApBgAFxRQRAIARBtM/FAEEBIAURAAANByAAIAEQzQhFDQEMBwsgBEGd48IAQQIgBREAAA0GIAJBAToADCACIAY2AhggAiAENgIUIAJBoOvCADYCJCACIAEpAgg3AiggAiACQQxqNgIcIAIgAkEUajYCICAAIAJBIGoQzQgNBiACKAIgQaSyyABBAiACKAIkKAIMEQAADQYLIAEoAgBBiJDJAEEBIAEoAgQoAgwRAAAhAwwFC0EBIQMgASgCACIEQb6XyQBBBSABKAIEIgYoAgwiBREAAA0EIABBBGohAAJAIAEtAApBgAFxRQRAIARBtM/FAEEBIAURAAANBiAAIAEQzQhFDQEMBgsgBEGd48IAQQIgBREAAA0FIAJBAToADCACIAY2AhggAiAENgIUIAJBoOvCADYCJCACIAEpAgg3AiggAiACQQxqNgIcIAIgAkEUajYCICAAIAJBIGoQzQgNBSACKAIgQaSyyABBAiACKAIkKAIMEQAADQULIAEoAgBBiJDJAEEBIAEoAgQoAgwRAAAhAwwECyACIABBBGo2AgxBASEDIAEoAgAiAEHDl8kAQQsgASgCBCIFKAIMIgQRAAANAwJAIAEtAApBgAFxRQRAIABBtM/FAEEBIAQRAAANBSACQQxqIAEQkQtFDQEMBQsgAEGd48IAQQIgBBEAAA0EIAJBAToAEyACIAU2AhggAiAANgIUIAJBoOvCADYCJCACIAEpAgg3AiggAiACQRNqNgIcIAIgAkEUajYCICACQQxqIAJBIGoQkQsNBCACKAIgQaSyyABBAiACKAIkKAIMEQAADQQLIAEoAgBBiJDJAEEBIAEoAgQoAgwRAAAhAwwDCyACIABBBGo2AiAgAUHOl8kAQQYgAEEQakHeAiACQSBqQbcBEPIMIQMMAgsgAiAAQQRqNgIgIAFB1JfJAEEJIABBEGpB3gIgAkEgakG3ARDyDCEDDAELQQEhAyABKAIAIgRB/JHJAEEFIAEoAgQiBigCDCIFEQAADQAgAEEBaiEAAkAgAS0ACkGAAXFFBEAgBEG0z8UAQQEgBREAAA0CIAAgARCYFEUNAQwCCyAEQZ3jwgBBAiAFEQAADQEgAkEBOgAMIAIgBjYCGCACIAQ2AhQgAkGg68IANgIkIAIgASkCCDcCKCACIAJBDGo2AhwgAiACQRRqIgQ2AiAgACACQSBqEJgUDQEgBEGkssgAQQIQ/QgNAQsgASgCAEGIkMkAQQEgASgCBCgCDBEAACEDCyACQTBqJAAgAwvtHQEFfyMAQTBrIgIkAAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAIAAtAABBAWsOEQECAwQFBgcICQoLDA0ODxARAAtBASEDIAEoAgAiBEHvkckAQQYgASgCBCIGKAIMIgURAAANESAAQQhqIQACQCABLQAKQYABcUUEQCAEQbTPxQBBASAFEQAADRMgACABELYLRQ0BDBMLIARBnePCAEECIAURAAANEiACQQE6AAwgAiAGNgIYIAIgBDYCFCACQaDrwgA2AiQgAiABKQIINwIoIAIgAkEMajYCHCACIAJBFGo2AiAgACACQSBqELYLDRIgAigCIEGkssgAQQIgAigCJCgCDBEAAA0SCyABKAIAQYiQyQBBASABKAIEKAIMEQAAIQMMEQtBASEDIAEoAgAiBEHIlskAQQkgASgCBCIGKAIMIgURAAANECAAQQhqIQACQCABLQAKQYABcUUEQCAEQbTPxQBBASAFEQAADRIgACABELYLRQ0BDBILIARBnePCAEECIAURAAANESACQQE6AAwgAiAGNgIYIAIgBDYCFCACQaDrwgA2AiQgAiABKQIINwIoIAIgAkEMajYCHCACIAJBFGo2AiAgACACQSBqELYLDREgAigCIEGkssgAQQIgAigCJCgCDBEAAA0RCyABKAIAQYiQyQBBASABKAIEKAIMEQAAIQMMEAtBASEDIAEoAgAiBEGhkskAQQggASgCBCIGKAIMIgURAAANDyAAQQhqIQACQCABLQAKQYABcUUEQCAEQbTPxQBBASAFEQAADREgACABELYLRQ0BDBELIARBnePCAEECIAURAAANECACQQE6AAwgAiAGNgIYIAIgBDYCFCACQaDrwgA2AiQgAiABKQIINwIoIAIgAkEMajYCHCACIAJBFGo2AiAgACACQSBqELYLDRAgAigCIEGkssgAQQIgAigCJCgCDBEAAA0QCyABKAIAQYiQyQBBASABKAIEKAIMEQAAIQMMDwtBASEDIAEoAgAiBEHRlskAQQsgASgCBCIGKAIMIgURAAANDiAAQQhqIQACQCABLQAKQYABcUUEQCAEQbTPxQBBASAFEQAADRAgACABELYLRQ0BDBALIARBnePCAEECIAURAAANDyACQQE6AAwgAiAGNgIYIAIgBDYCFCACQaDrwgA2AiQgAiABKQIINwIoIAIgAkEMajYCHCACIAJBFGo2AiAgACACQSBqELYLDQ8gAigCIEGkssgAQQIgAigCJCgCDBEAAA0PCyABKAIAQYiQyQBBASABKAIEKAIMEQAAIQMMDgtBASEDIAEoAgAiBEHclskAQQogASgCBCIGKAIMIgURAAANDSAAQQhqIQACQCABLQAKQYABcUUEQCAEQbTPxQBBASAFEQAADQ8gACABELYLRQ0BDA8LIARBnePCAEECIAURAAANDiACQQE6AAwgAiAGNgIYIAIgBDYCFCACQaDrwgA2AiQgAiABKQIINwIoIAIgAkEMajYCHCACIAJBFGo2AiAgACACQSBqELYLDQ4gAigCIEGkssgAQQIgAigCJCgCDBEAAA0OCyABKAIAQYiQyQBBASABKAIEKAIMEQAAIQMMDQtBASEDIAEoAgAiBEHmlskAQQ0gASgCBCIGKAIMIgURAAANDCAAQQhqIQACQCABLQAKQYABcUUEQCAEQbTPxQBBASAFEQAADQ4gACABELYLRQ0BDA4LIARBnePCAEECIAURAAANDSACQQE6AAwgAiAGNgIYIAIgBDYCFCACQaDrwgA2AiQgAiABKQIINwIoIAIgAkEMajYCHCACIAJBFGo2AiAgACACQSBqELYLDQ0gAigCIEGkssgAQQIgAigCJCgCDBEAAA0NCyABKAIAQYiQyQBBASABKAIEKAIMEQAAIQMMDAtBASEDIAEoAgAiBEHzlskAQQggASgCBCIGKAIMIgURAAANCyAAQQhqIQACQCABLQAKQYABcUUEQCAEQbTPxQBBASAFEQAADQ0gACABELYLRQ0BDA0LIARBnePCAEECIAURAAANDCACQQE6AAwgAiAGNgIYIAIgBDYCFCACQaDrwgA2AiQgAiABKQIINwIoIAIgAkEMajYCHCACIAJBFGo2AiAgACACQSBqELYLDQwgAigCIEGkssgAQQIgAigCJCgCDBEAAA0MCyABKAIAQYiQyQBBASABKAIEKAIMEQAAIQMMCwtBASEDIAEoAgAiBEH7lskAQQsgASgCBCIGKAIMIgURAAANCiAAQQhqIQACQCABLQAKQYABcUUEQCAEQbTPxQBBASAFEQAADQwgACABELYLRQ0BDAwLIARBnePCAEECIAURAAANCyACQQE6AAwgAiAGNgIYIAIgBDYCFCACQaDrwgA2AiQgAiABKQIINwIoIAIgAkEMajYCHCACIAJBFGo2AiAgACACQSBqELYLDQsgAigCIEGkssgAQQIgAigCJCgCDBEAAA0LCyABKAIAQYiQyQBBASABKAIEKAIMEQAAIQMMCgtBASEDIAEoAgAiBEGGl8kAQQggASgCBCIGKAIMIgURAAANCSAAQQhqIQACQCABLQAKQYABcUUEQCAEQbTPxQBBASAFEQAADQsgACABELYLRQ0BDAsLIARBnePCAEECIAURAAANCiACQQE6AAwgAiAGNgIYIAIgBDYCFCACQaDrwgA2AiQgAiABKQIINwIoIAIgAkEMajYCHCACIAJBFGo2AiAgACACQSBqELYLDQogAigCIEGkssgAQQIgAigCJCgCDBEAAA0KCyABKAIAQYiQyQBBASABKAIEKAIMEQAAIQMMCQtBASEDIAEoAgAiBEGOl8kAQRAgASgCBCIGKAIMIgURAAANCCAAQQhqIQACQCABLQAKQYABcUUEQCAEQbTPxQBBASAFEQAADQogACABELYLRQ0BDAoLIARBnePCAEECIAURAAANCSACQQE6AAwgAiAGNgIYIAIgBDYCFCACQaDrwgA2AiQgAiABKQIINwIoIAIgAkEMajYCHCACIAJBFGo2AiAgACACQSBqELYLDQkgAigCIEGkssgAQQIgAigCJCgCDBEAAA0JCyABKAIAQYiQyQBBASABKAIEKAIMEQAAIQMMCAtBASEDIAEoAgAiBEGel8kAQQsgASgCBCIGKAIMIgURAAANByAAQQhqIQACQCABLQAKQYABcUUEQCAEQbTPxQBBASAFEQAADQkgACABELYLRQ0BDAkLIARBnePCAEECIAURAAANCCACQQE6AAwgAiAGNgIYIAIgBDYCFCACQaDrwgA2AiQgAiABKQIINwIoIAIgAkEMajYCHCACIAJBFGo2AiAgACACQSBqELYLDQggAigCIEGkssgAQQIgAigCJCgCDBEAAA0ICyABKAIAQYiQyQBBASABKAIEKAIMEQAAIQMMBwtBASEDIAEoAgAiBEGpl8kAQRMgASgCBCIGKAIMIgURAAANBiAAQQhqIQACQCABLQAKQYABcUUEQCAEQbTPxQBBASAFEQAADQggACABELYLRQ0BDAgLIARBnePCAEECIAURAAANByACQQE6AAwgAiAGNgIYIAIgBDYCFCACQaDrwgA2AiQgAiABKQIINwIoIAIgAkEMajYCHCACIAJBFGo2AiAgACACQSBqELYLDQcgAigCIEGkssgAQQIgAigCJCgCDBEAAA0HCyABKAIAQYiQyQBBASABKAIEKAIMEQAAIQMMBgtBASEDIAEoAgAiBEG8l8kAQQIgASgCBCIGKAIMIgURAAANBSAAQQRqIQACQCABLQAKQYABcUUEQCAEQbTPxQBBASAFEQAADQcgACABEM4IRQ0BDAcLIARBnePCAEECIAURAAANBiACQQE6AAwgAiAGNgIYIAIgBDYCFCACQaDrwgA2AiQgAiABKQIINwIoIAIgAkEMajYCHCACIAJBFGo2AiAgACACQSBqEM4IDQYgAigCIEGkssgAQQIgAigCJCgCDBEAAA0GCyABKAIAQYiQyQBBASABKAIEKAIMEQAAIQMMBQtBASEDIAEoAgAiBEG+l8kAQQUgASgCBCIGKAIMIgURAAANBCAAQQRqIQACQCABLQAKQYABcUUEQCAEQbTPxQBBASAFEQAADQYgACABEM4IRQ0BDAYLIARBnePCAEECIAURAAANBSACQQE6AAwgAiAGNgIYIAIgBDYCFCACQaDrwgA2AiQgAiABKQIINwIoIAIgAkEMajYCHCACIAJBFGo2AiAgACACQSBqEM4IDQUgAigCIEGkssgAQQIgAigCJCgCDBEAAA0FCyABKAIAQYiQyQBBASABKAIEKAIMEQAAIQMMBAsgAiAAQQRqNgIMQQEhAyABKAIAIgBBw5fJAEELIAEoAgQiBSgCDCIEEQAADQMCQCABLQAKQYABcUUEQCAAQbTPxQBBASAEEQAADQUgAkEMaiABEJQLRQ0BDAULIABBnePCAEECIAQRAAANBCACQQE6ABMgAiAFNgIYIAIgADYCFCACQaDrwgA2AiQgAiABKQIINwIoIAIgAkETajYCHCACIAJBFGo2AiAgAkEMaiACQSBqEJQLDQQgAigCIEGkssgAQQIgAigCJCgCDBEAAA0ECyABKAIAQYiQyQBBASABKAIEKAIMEQAAIQMMAwsgAiAAQQRqNgIgIAFBzpfJAEEGIABBEGpBgAMgAkEgakG3ARDyDCEDDAILIAIgAEEEajYCICABQdSXyQBBCSAAQRBqQYAD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aiABEJUKIAMoAnwhASADKAJ4QQFxDQADQCADQfAAaiABEJUKIAMoAnQhASADKAJwQQFHDQALCwJAIAEtAJEBQQJHDQAgASgCAEEBRgRAIAEoAgQiAiABKAIIIgRPDQIgASACQQFqIgU2AgQgBCAFTQ0BIAEgAkECajYCBAsgAUEAOgCRASADQegAaiABEJQKIAMoAmggAygCbCIBQQI6AJEBQQFxDQADQCABKAIAQQFGBEAgASgCBCICIAEoAghPDQIgASACQQFqNgIECwJAIAEtAJEBIgRFBEAgA0HYAGogARCUCiADKAJcIQEgAygCWCECDAELIAFBADoAkQEgA0HgAGogARCUCiADKAJgIQIgAygCZCIBIAQ6AJEBCyACQQFHDQALC0EAIQICQCABKAKIASIEQX1LDQAgBEECaiIFIAEoAoQBSw0AIAEoAoABIARqLwAAQa/UAEcNACABIAU2AogBQQEhAgsCQAJAAkACQCABLQB8QQFGBEBBAhCQASIFRQ0RIAVBr9QAOwAAIANBAjYCzAEgAyAFNgLIASADQoCAgIAgNwLAASABIAQgA0HAAWogAhD5CAsgAkUNBAJAIAEtAJEBQQJHDQAgASgCAEEBRgRAIAEoAgQiAiABKAIIIgRPDQYgASACQQFqIgU2AgQgBCAFTQ0BIAEgAkECajYCBAsgAUEAOgCRASADQdAAaiABEJQKIAMoAlAgAygCVCIBQQI6AJEBQQFxDQADQCABKAIAQQFGBEAgASgCBCICIAEoAghPDQIgASACQQFqNgIECwJAIAEtAJEBIgRFBEAgA0FAayABEJQKIAMoAkQhASADKAJAIQIMAQsgAUEAOgCRASADQcgAaiABEJQKIAMoAkghAiADKAJMIgEgBDoAkQELIAJBAUcNAAsLIAEoAgBBAUcNACABKAIEIgQgASgCCCIFTw0EIAEgBEEBaiICNgIEIAIgBU8NBCABKAIUIQsgASAEQQJqIgI2AgQgAiAFTw0DIAEgBEEDaiIINgIEIAMgAUGAAWoiAigCCDYCqAEgAyACKQIANwOgASAFIAhNDQIgASAEQQRqNgIEDAELIAEoAhQhCyADIAEoAogBNgKoASADIAEpAoABNwOgASABQYABaiECCyABIAEtAJABIhBBAUc6AJABIAMgAigCCDYCuAEgAyACKQIANwOwASABKAI4IQQgASgCUCIFIAEoAkhGBEAgAUHIAGoQlhILIAEgBUEBajYCUCABKAJMIAVBA3RqIgUgBDYCBCAFIAQ2AgBBACEEAkAgASgCiAEiBUF9Sw0AIAVBAmoiCCABKAKEAUsNACACKAIAIAVqLwAAQareAEcNACABIAg2AogBQQEhBAsgAS0AfEEBRgRAQQIQkAEiCEUNDyAIQareADsAACADQQI2AswBIAMgCDYCyAEgA0KAgICAIDcCwAEgASAFIANBwAFqIAQQ+QgLIAIgAygCuAE2AgggAiADKQOwATcCACABIBA6AJABIAFBMGoQhgogBA0AAkAgAS0AkQFBAkcNACABKAIAQQFGBEAgASgCBCICIAEoAggiBE8NAiABIAJBAWoiBTYCBCAEIAVNDQEgASACQQJqNgIECyABQQA6AJEBIANBOGogARCUCiADKAI4IAMoAjwiAUECOgCRAUEBcQ0AA0AgASgCAEEBRgRAIAEoAgQiAiABKAIITw0CIAEgAkEBajYCBAsCQCABLQCRASIERQRAIANBKGogARCUCiADKAIsIQEgAygCKCECDAELIAFBADoAkQEgA0EwaiABEJQKIAMoAjAhAiADKAI0IgEgBDoAkQELIAJBAUcNAAsLIAEoAoQBIQIgASgCgAEhBAJAIAEoAogBIgVFDQAgAiAFTQRAIAIgBUYNAQwPCyAEIAVqLAAAQUBIDQ4LIAIgBUYNACABAn9BASAEIAVqIgQsAAAiC0EATg0AGiAELQABQT9xIQggC0EfcSECAn8gAkEGdCAIciALQWBJDQAaIAQtAAJBP3EgCEEGdHIhCCAIIAJBDHRyIAtBcEkNABogAkESdEGAgPAAcSAELQADQT9xIAhBBnRycgshBEEBIARBgAFJDQAaQQIgBEGAEEkNABpBA0EEIARBgIAESRsLIAVqNgKIASABKAIAQQFGBEAgASgCBCICIAEoAghPDQIgASACQQFqNgIECyADQSBqIAEQogQgAygCJCEBIAMoAiBBAXENAQNAIANBGGogARCiBCADKAIcIQEgAygCGEEBRw0ACwwBCyABIAMoAqgBNgKIASABIAMpA6ABNwKAASALIAEoAhRLDQAgASALNgIUCwJAIAEtAJEBQQJHDQAgASgCAEEBRgRAIAEoAgQiAiABKAIIIgRPDQIgASACQQFqIgU2AgQgBCAFTQ0BIAEgAkECajYCBAsgAUEAOgCRASADQRBqIAEQlAogAygCECADKAIUIgFBAjoAkQFBAXENAANAIAEoAgBBAUYEQCABKAIEIgIgASgCCE8NAiABIAJBAWo2AgQLAkAgAS0AkQEiBEUEQCADIAEQlAogAygCBCEBIAMoAgAhAgwBCyABQQA6AJEBIANBCGogARCUCiADKAIIIQIgAygCDCIBIAQ6AJEBCyACQQFHDQALC0EAIQICQCABKAKIASIEQX1LDQAgBEECaiIFIAEoAoQBSw0AIAEoAoABIARqLwAAQareAEcNACABIAU2AogBQQEhAgsgAS0AfEEBRgRAQQIQkAEiBUUNDSAFQareADsAACADQQI2AswBIAMgBTYCyAEgA0KAgICAIDcCwAEgASAEIANBwAFqIAIQ+QgLIAINAgsgASADKAKYATYCiAEgASADKQOQATcCgAEgByABKAIUSw0AIAEgBzYCFAtBASECIAEtAJABQQFGDQggAS0AkQFFDQMgASgCjAEiAiAKRw0BIA0gASgCICICIAEoAiwiB2oiBEkgBCANa0EBRnENAyACIAxPBEAgASAMNgIgIAwhAgsgByAJSQ0CIAEgCTYCLAwCCyABLQCQASICQQFGBH8gAS0AkQFFDQcCQCAKIAEoAowBIgJGBEAgDSABKAIsIgIgASgCICIHaiIESSAEIA1rQQFGcQ0JIAcgDE8EQCABIAw2AiALIAIgCUkNASABIAk2AiwgCSECDAELIAIgCk8NCCABIAo2AowBQQAhAiABQQA2AiwgAUEANgIgCyABKAIkIAJGBEAgAUEkahCjEgsgASgCKCACakEhOgAAIAEgAkEBajYCLCABLQCQAQUgAgtB/wFxQQJHDQYgAS0AkQFFDQYgASgCFCICIAZNDQMgASgCECAGQRRsaiIHLQAADQQgByACNgIEIAEoAogBIQkgASgCFCIHIAEoAgxGBEAgAUEMahCaEgsgASgCECAHQRRsaiICIAk2AhAgAkEANgIIIAIgBjYCBCACQYHCADsBACABIAdBAWo2AhQMBgsgAiAKTw0BIAEgCjYCjAFBACECIAFBADYCLCABQQA2AiALIAEoAhggAkYEQCABQRhqEKMSCyABIAJBAWo2AiAgASgCHCACakEhOgAAC0EBIQIgAS0AfEEBRw0CIAEt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DCABIANBBBCWCAwMCyACIAU2AgwgASACQQxqQQQQlggMCwsgAiAAKAIMIgQ2AgwgASACQQxqIgNBBBCWCCAAKAIQIQUgBEEBRgRAIAAoAhQhBCACIAU2AgwgASADQQQQlgggAiAENgIMIAEgA0EEEJYIIAIgACgCGDYCDCABIANBBBCWCAwLCyACIAU2AgwgASACQQxqQQQQlggMCgsgAiAAKAIMIgQ2AgwgASACQQxqIgNBBBCWCCAAKAIQIQUgBEEBRgRAIAAoAhQhBCACIAU2AgwgASADQQQQlgggAiAENgIMIAEgA0EEEJYIIAIgACgCGDYCDCABIANBBBCWCAwKCyACIAU2AgwgASACQQxqQQQQlggMCQsgAiAAKAIMIgQ2AgwgASACQQxqIgNBBBCWCCAAKAIQIQUgBEEBRgRAIAAoAhQhBCACIAU2AgwgASADQQQQlgggAiAENgIMIAEgA0EEEJYIIAIgACgCGDYCDCABIANBBBCWCAwJCyACIAU2AgwgASACQQxqQQQQlggMCAsgAiAAKAIMIgQ2AgwgASACQQxqIgNBBBCWCCAAKAIQIQUgBEEBRgRAIAAoAhQhBCACIAU2AgwgASADQQQQlgggAiAENgIMIAEgA0EEEJYIIAIgACgCGDYCDCABIANBBBCWCAwICyACIAU2AgwgASACQQxqQQQQlggMBwsgAiAAKAIMIgQ2AgwgASACQQxqIgNBBBCWCCAAKAIQIQUgBEEBRgRAIAAoAhQhBCACIAU2AgwgASADQQQQlgggAiAENgIMIAEgA0EEEJYIIAIgACgCGDYCDCABIANBBBCWCAwHCyACIAU2AgwgASACQQxqQQQQlggMBgsgAiAAKAIMIgQ2AgwgASACQQxqIgNBBBCWCCAAKAIQIQUgBEEBRgRAIAAoAhQhBCACIAU2AgwgASADQQQQlgggAiAENgIMIAEgA0EEEJYIIAIgACgCGDYCDCABIANBBBCWCAwGCyACIAU2AgwgASACQQxqQQQQlggMBQsgAiAAKAIMIgQ2AgwgASACQQxqIgNBBBCWCCAAKAIQIQUgBEEBRgRAIAAoAhQhBCACIAU2AgwgASADQQQQlgggAiAENgIMIAEgA0EEEJYIIAIgACgCGDYCDCABIANBBBCWCAwFCyACIAU2AgwgASACQQxqQQQQlggMBAsgAiAA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AiAFNgIMIAEgA0EEEJYIIAIgBDYCDCABIANBBBCWCCACIAAoAiA2AgwgASADQQQQlggMAQsgAiAFNgIMIAEgAkEMakEEEJYICyAAKAIIIQMgAiAAKAIMIgA2AgwgASACQQxqQQQQlgggAEUNDCAAQRRsIQADQCADIAEQkxAgA0EUaiEDIABBFGsiAA0ACwwMCyACIAAoAgwiBDYCDCABIAJBDGoiA0EEEJYIIAAoAhAhBSAEQQFGBEAgACgCFCEEIAIgBTYCDCABIANBBBCWCCACIAQ2AgwgASADQQQQlgggAiAAKAIYNgIMIAEgA0EEEJYIDAwLIAIgBTYCDCABIAJBDGpBBBCWCAwLCyACIAAoAgwiBDYCDCABIAJBDGoiA0EEEJYIIAAoAhAhBSAEQQFGBEAgACgCFCEEIAIgBTYCDCABIANBBBCWCCACIAQ2AgwgASADQQQQlgggAiAAKAIYNgIMIAEgA0EEEJYIDAsLIAIgBTYCDCABIAJBDGpBBBCWCAwKCyACIAAoAgwiBDYCDCABIAJBDGoiA0EEEJYIIAAoAhAhBSAEQQFGBEAgACgCFCEEIAIgBTYCDCABIANBBBCWCCACIAQ2AgwgASADQQQQlgggAiAAKAIYNgIMIAEgA0EEEJYIDAoLIAIgBTYCDCABIAJBDGpBBBCWCAwJCyACIAAoAgwiBDYCDCABIAJBDGoiA0EEEJYIIAAoAhAhBSAEQQFGBEAgACgCFCEEIAIgBTYCDCABIANBBBCWCCACIAQ2AgwgASADQQQQlgggAiAAKAIYNgIMIAEgA0EEEJYIDAkLIAIgBTYCDCABIAJBDGpBBBCWCAwICyACIAAoAgwiBDYCDCABIAJBDGoiA0EEEJYIIAAoAhAhBSAEQQFGBEAgACgCFCEEIAIgBTYCDCABIANBBBCWCCACIAQ2AgwgASADQQQQlgggAiAAKAIYNgIMIAEgA0EEEJYIDAgLIAIgBTYCDCABIAJBDGpBBBCWCAwHCyACIAAoAgwiBDYCDCABIAJBDGoiA0EEEJYIIAAoAhAhBSAEQQFGBEAgACgCFCEEIAIgBTYCDCABIANBBBCWCCACIAQ2AgwgASADQQQQlgggAiAAKAIYNgIMIAEgA0EEEJYIDAcLIAIgBTYCDCABIAJBDGpBBBCWCAwGCyACIAAoAgwiBDYCDCABIAJB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ECEFIARBAUYEQCAAKAIUIQQgAiAFNgIMIAEgA0EEEJYIIAIgBDYCDCABIANBBBCWCCACIAAoAhg2AgwgASADQQQQlggMCAsgAiAFNgIMIAEgAkEMakEEEJYIDAcLIAIgACgCDCIENgIMIAEgAkEMaiIDQQQQlgggACgCECEFIARBAUYEQCAAKAIUIQQgAiAFNgIMIAEgA0EEEJYIIAIgBDYCDCABIANBBBCWCCACIAAoAhg2AgwgASADQQQQlggMBwsgAiAFNgIMIAEgAkEMakEEEJYIDAYLIAIgACgCDCIENgIMIAEgAkEMaiIDQQQQlgggACgCECEFIARBAUYEQCAAKAIUIQQgAiAFNgIMIAEgA0EEEJYIIAIgBDYCDCABIANBBBCWCCACIAAoAhg2AgwgASADQQQQlggMBgsgAiAFNgIMIAEgAkEMakEEEJYIDAULIAIgACgCDCIENgIMIAEgAkEMaiIDQQQQlgggACgCECEFIARBAUYEQCAAKAIUIQQgAiAFNgIMIAEgA0EEEJYIIAIgBDYCDCABIANBBBCWCCACIAAoAhg2AgwgASADQQQQlggMBQsgAiAFNgIMIAEgAkEMakEEEJYIDAQLIAIgACgCDCIENgIMIAEgAkEMaiIDQQQQlgggACgCECEFIARBAUYEQCAAKAIUIQQgAiAFNgIMIAEgA0EEEJYIIAIgBDYCDCABIANBBBCWCCACIAAoAhg2AgwgASADQQQQlggMBAsgAiAFNgIMIAEgAkEMakEEEJYIDAMLIAIgACgCDCIENgIMIAEgAkEMaiIDQQQQlgggACgCECEFIARBAUYEQCAAKAIUIQQgAiAFNgIMIAEgA0EEEJYIIAIgBDYCDCABIANBBBCWCCACIAAoAhg2AgwgASADQQQQlggMAwsgAiAFNgIMIAEgAkEMakEEEJYIDAILIAIgACgCDCIENgIMIAEgAkEMaiIDQQQQlgggACgCECEFIARBAUYEQCAAKAIUIQQgAiAFNgIMIAEgA0EEEJYIIAIgBDYCDCABIANBBBCWCCACIAAoAhg2AgwgASADQQQQlggMAgsgAiAFNgIMIAEgAkEMakEEEJYIDAELIAIgACgCDCIENgIMIAEgAkEMaiIDQQQQlgggACgCECEFIARBAUYEQCAAKAIUIQQgAiAFNgIMIAEgA0EEEJYIIAIgBDYC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QQA2AgQgAkEAOgAAIAEgCEEBaiIGNgIUIAEoAowBIQILIAIgCkYEQCABKAIsIAEoAiBqIQwLIAEoAnghDyABKAJcIRACQCABKAIAQQFGBEAgASgCBCICIAEoAghPBEBBASEEDAILIAEgAkEBajYCBAsgAyABKAKIATYCqAEgAyABKQKAATcDoAEgA0GYAWogARDnAyADKAKcASEBAn8CQCADKAKYAUEBcQ0AAkAgAS0AkQFBAkcNACABKAIAQQFGBEAgASgCBCICIAEoAggiBU8NAiABIAJBAWoiBDYCBCAEIAVPDQEgASACQQJqNgIECyABQQA6AJEBIANBkAFqIAEQlAogAygCkAEgAygClAEiAUECOgCRAUEBcQ0AA0AgASgCAEEBRgRAIAEoAgQiAiABKAIITw0CIAEgAkEBajYCBAsCQCABLQCRASIFRQRAIANBgAFqIAEQlAogAygChAEhASADKAKAASECDAELIAFBADoAkQEgA0GIAWogARCUCiADKAKIASECIAMoAowBIgEgBToAkQELIAJBAUcNAAsLIANB+ABqIAEQgQIgAygCfCEBIAMoAnhBAXENAAJAIAEtAJEBQQJHDQAgASgCAEEBRgRAIAEoAgQiAiABKAIIIgVPDQIgASACQQFqIgQ2AgQgBCAFTw0BIAEgAkECajYCBAsgAUEAOgCRASADQfAAaiABEJQKIAMoAnAgAygCdCIBQQI6AJEBQQFxDQADQCABKAIAQQFGBEAgASgCBCICIAEoAghPDQIgASACQQFqNgIECwJAIAEtAJEBIgVFBEAgA0HgAGogARCUCiADKAJkIQEgAygCYCECDAELIAFBADoAkQEgA0HoAGogARCUCiADKAJoIQIgAygCbCIBIAU6AJEBCyACQQFHDQALCwJAAkACQAJAAkAgASgCAEEBRgRAIAEoAgQiBCABKAIIIgdPDQYgASAEQQFqIgI2AgQgAiAHTw0GIAEoAhQhBSABIARBAmoiAjYCBCACIAdPDQMgASAEQQNqIg02AgQgAyABQYABaiICKAIINgK4ASADIAIpAgA3A7ABIAcgDU0NAiABIARBBGo2AgQMAQsgASgCFCEFIAMgASgCiAE2ArgBIAMgASkCgAE3A7ABIAFBgAFqIQILIAEgAS0AkAEiB0EBRzoAkAEgAyACKAIINgLIASADIAIp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DCAAQQhqIQACQCABLQAKQYABcUUEQCAEQbTPxQBBASAFEQAADQ4gACABENYQRQ0BDA4LIARBnePCAEECIAURAAANDSACQQE6ACwgAiAGNgIQIAIgBDYCDCACQaDrwgA2AiAgAiABKQIINwIkIAIgAkEsajYCFCACIAJBDGo2AhwgACACQRxqENYQDQ0gAigCHEGkssgAQQIgAigCICgCDBEAAA0NCyABKAIAQYiQyQBBASABKAIEKAIMEQAAIQMMDAtBASEDIAEoAgAiBEHO9sUAQQggASgCBCIGKAIMIgURAAANCyAAQQhqIQACQCABLQAKQYABcUUEQCAEQbTPxQBBASAFEQAADQ0gACABEI0QRQ0BDA0LIARBnePCAEECIAURAAANDCACQQE6ACwgAiAGNgIQIAIgBDYCDCACQaDrwgA2AiAgAiABKQIINwIkIAIgAkEsajYCFCACIAJBDGo2AhwgACACQRxqEI0QDQwgAigCHEGkssgAQQIgAigCICgCDBEAAA0MCyABKAIAQYiQyQBBASABKAIEKAIMEQAAIQMMCwtBASEDIAEoAgAiBEHW9sUAQQYgASgCBCIGKAIMIgURAAANCiAAQQRqIQACQCABLQAKQYABcUUEQCAEQbTPxQBBASAFEQAADQwgACABELoQRQ0BDAwLIARBnePCAEECIAURAAANCyACQQE6ACwgAiAGNgIQIAIgBDYCDCACQaDrwgA2AiAgAiABKQIINwIkIAIgAkEsajYCFCACIAJBDGo2AhwgACACQRxqELoQDQsgAigCHEGkssgAQQIgAigCICgCDBEAAA0LCyABKAIAQYiQyQBBASABKAIEKAIMEQAAIQMMCgtBASEDIAEoAgAiBEGc8MUAQQMgASgCBCIGKAIMIgURAAANCSAAQQRqIQACQCABLQAKQYABcUUEQCAEQbTPxQBBASAFEQAADQsgACABEIQRRQ0BDAsLIARBnePCAEECIAURAAANCiACQQE6ACwgAiAGNgIQIAIgBDYCDCACQaDrwgA2AiAgAiABKQIINwIkIAIgAkEsajYCFCACIAJBDGo2AhwgACACQRxqEIQRDQogAigCHEGkssgAQQIgAigCICgCDBEAAA0KCyABKAIAQYiQyQBBASABKAIEKAIMEQAAIQMMCQsgAiAAQQRqNgIsQQEhAyABKAIAIgBB3PbFAEEJIAEoAgQiBSgCDCIEEQAADQgCQCABLQAKQYABcUUEQCAAQbTPxQBBASAEEQAADQogAkEsaiABEMUERQ0BDAoLIABBnePCAEECIAQRAAANCSACQQE6ABsgAiAFNgIQIAIgADYCDCACQaDrwgA2AiAgAiABKQIINwIkIAIgAkEbajYCFCACIAJBDGo2AhwgAkEsaiACQRxqEMUEDQkgAigCHEGkssgAQQIgAigCICgCDBEAAA0JCyABKAIAQYiQyQBBASABKAIEKAIMEQAAIQMMCAtBASEDIAEoAgAiBEGD/cYAQQggASgCBCIGKAIMIgURAAANByAAQQRqIQACQCABLQAKQYABcUUEQCAEQbTPxQBBASAFEQAADQkgACABEMcQRQ0BDAkLIARBnePCAEECIAURAAANCCACQQE6ACwgAiAGNgIQIAIgBDYCDCACQaDrwgA2AiAgAiABKQIINwIkIAIgAkEsajYCFCACIAJBDGo2AhwgACACQRxqEMcQDQggAigCHEGkssgAQQIgAigCICgCDBEAAA0ICyABKAIAQYiQyQBBASABKAIEKAIMEQAAIQMMBwtBASEDIAEoAgAiBEHl9sUAQQggASgCBCIGKAIMIgURAAANBiAAQQRqIQACQCABLQAKQYABcUUEQCAEQbTPxQBBASAFEQAADQggACABEN0MRQ0BDAgLIARBnePCAEECIAURAAANByACQQE6ACwgAiAGNgIQIAIgBDYCDCACQaDrwgA2AiAgAiABKQIINwIkIAIgAkEsajYCFCACIAJBDGo2AhwgACACQRxqEN0MDQcgAigCHEGkssgAQQIgAigCICgCDBEAAA0HCyABKAIAQYiQyQBBASABKAIEKAIMEQAAIQMMBgtBASEDIAEoAgAiBEHt9sUAQQIgASgCBCIGKAIMIgURAAANBSAAQQRqIQACQCABLQAKQYABcUUEQCAEQbTPxQBBASAFEQAADQcgACABEKoBRQ0BDAcLIARBnePCAEECIAURAAANBiACQQE6ACwgAiAGNgIQIAIgBDYCDCACQaDrwgA2AiAgAiABKQIINwIkIAIgAkEsajYCFCACIAJBDGo2AhwgACACQRxqEKoBDQYgAigCHEGkssgAQQIgAigCICgCDBEAAA0GCyABKAIAQYiQyQBBASABKAIEKAIMEQAAIQMMBQtB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IAQoAnQhAyAEKAJwIRACQCAEKAKAASICRQ0AIAIgAkECdEELakF4cSICakEJaiIGRQ0AIAQoAnwgAmsiBUEEaygCACICQXhxIQcgB0EEQQggAkEDcSICGyAGakkNDyACQQBHIAcgBkEnaktxDRAgBRC8BQsgAyEFAkAgC0UNACALQcgAbCEFIAMhAiALQQFxBEAgCCADKQMANwMAIAggAykDCDcDCCAIIAMpAxA3AxAgCCADKQMYNwMYIAggAykDIDcDICAIIAMpAyg3AyggCCADKQMwNwMwIAQgAygCQDYC0AEgBCADKQM4NwPIASADIARByAFqQcgA/AoAACADQcgAaiECCyADIAVqIQUgC0EBRg0AA0AgCCACKQMANwMAIAggAikDCDcDCCAIIAIpAxA3AxAgCCACKQMYNwMYIAggAikDIDcDICAIIAIpAyg3AyggCCACKQMwNwMwIAQgAkFAaygCADYC0AEgBCACQThqKQMANwPIASACIARByAFqIgZByAD8CgAAIAggAkHIAGoiBykDADcDACAIIAJB0ABqKQMANwMIIAggAkHYAGopAwA3AxAgCCACQeAAaikDADcDGCAIIAJB6ABqKQMANwMgIAggAkHwAGopAwA3AyggCCACQfgAaikDADcDMCAEIAJBiAFqKAIANgLQASAEIAJBgAFqKQMANwPIASAHIAZByAD8CgAAIAUgAkGQAWoiAkcNAAsLIAQoAlhBAUcNAgwJC0HIABCQASIDRQ0FIAkgCikCMDcCMCAJIAopAig3AiggCSAKKQIgNwIgIAkgCikCGDcCGCAJIAopAhA3AhAgCSAKKQIINwIIIAkgCikCADcCACADIAY2AgggAyAONgIEIAMgDTYCACADIAQpAsgBNwIMIAMgBCkC0AE3AhQgAyAEKQLYATcCHCADIAQpAuABNwIkIAMgBCkC6AE3AiwgAyAEKQLwATcCNCADIAQpAvgBNwI8IAMgBCgCgAI2AkQMAwsgBCgCPCECIAQoAkAhAyAEQQhqIBEQogYgBCgCCEEBRw0GIAQoAgwiBSADSQ0BIAUgA0HkhMcAEIUTAAsgBEHYAGoQ8AUMBgtByAAQkAEiA0UNAyAEQZABaiACIAVByABsahCOByAJIAQpA8ABNwIwIAkgBCkDuAE3AiggCSAEKQOwATcCICAJIAQpA6gBNwIY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DAQLIAAoAgwiACABKAIMIgFLIAAgAUlrIQIMAwtBf0EBIAsgDFYbIQILIAJBAEogAkEASGshAgwBCyACIAZIIAIgBkprIQILIARBMGokACACC5EVAQ5/IwBBoAFrIgMkAEEBIQICQAJAIAEoAgBBAUYEQCABKAIEIgggASgCCE8NASABIAhBAWo2AgQLIAEoAowBIgIgASgCiAEiCkYEQCABKAIgIQwgASgCLCEJCyABKAIUIQgCQCABLQCQAUECRwRAIAghBgwBCyAIIQYgAS0AkQFFDQAgASgCDCAIRgRAIAFBDGoQmhILIAEoAhAgCEEUbGoiAiAKNgIIIAJBADYCBCACQQA6AAAgASAIQQFqIgY2AhQgASgCjAEhAgsgAiAKRgRAIAEoAiwgASgCIGohDQsgASgCeCEOIAEoAlwhDwJAIAEoAgBBAUYEQCABKAIEIgIgASgCCE8EQEEBIQQMAgsgASACQQFqNgIECyADIAEoAogBIgI2AnggAyABKQKAATcDcAJAIAIgASgChAFPDQAgAUGAAWooAgAgAmotAABB+wBHDQAgASACQQFqNgKIAUEBIQQLAn8CQAJAAkACQAJAAkAgAS0AfEEBRgRAQQEQkAEiBUUNASAFQfsAOgAAIANBATYCjAEgAyAFNgKIASADQoCAgIAQNwKAASABIAIgA0GAAWogBBD5CAsgBEUNBQJAIAEtAJEBQQJHDQAgASgCAEEBRgRAIAEoAgQiAiABKAIIIgRPDQcgASACQQFqIgU2AgQgBCAFTQ0BIAEgAkECajYCBAsgAUEAOgCRASADQegAaiABEJQKIAMoAmggAygCbCIBQQI6AJEBQQFxDQADQCABKAIAQQFGBEAgASgCBCICIAEoAghPDQIgASACQQFqNgIECwJAIAEtAJEBIgRFBEAgA0HYAGogARCUCiADKAJcIQEgAygCWCECDAELIAFBADoAkQEgA0HgAGogARCUCiADKAJgIQIgAygCZCIBIAQ6AJEBCyACQQFHDQALCyABKAIAQQFHDQEgASgCBCIEIAEoAggiB08NBSABIARBAWoiAjYCBCACIAdPDQUgASgCFCEFIAEgBEECaiICNgIEIAIgB08NBCABIARBA2oiCzYCBCADIAFBgAFqIgIoAgg2ApgBIAMgAikCADcDkAEgByALTQ0DIAEgBEEEajYCBAwCC0EBEKcUAAsgASgCFCEFIAMgASgCiAE2ApgBIAMgASkCgAE3A5ABIAFBgAFqIQILIAEgAS0AkAEiB0EBRzoAkAEgAyACKAIINgKIASADIAIpAgA3A4ABIAEoAjghAiABKAJQIgQgASgCSEYEQCABQcgAahCWEgsgASAEQQFqNgJQIAEoAkwgBEEDdGoiBCACNgIEIAQgAjYCACADQdAAaiABEK4LIAMoAlAgAygCVCIBIAMoAogBNgKIASABIAMpA4ABNwKAASABIAc6AJABIAFBMGoQhgpBAUcNAAJAIAEtAJEBQQJHDQAgASgCAEEBRgRAIAEoAgQiAiABKAIIIgRPDQIgASACQQFqIgc2AgQgBCAHTQ0BIAEgAkECajYCBAsgAUEAOgCRASADQcgAaiABEJQKIAMoAkggAygCTCIBQQI6AJEBQQFxDQADQCABKAIAQQFGBEAgASgCBCICIAEoAghPDQIgASACQQFqNgIECwJAIAEtAJEBIgRFBEAgA0E4aiABEJQKIAMoAjwhASADKAI4IQIMAQsgAUEAOgCRASADQUBrIAEQlAogAygCQCECIAMoAkQiASAEOgCRAQsgAkEBRw0ACwsgASgChAEhBCABKAKAASEHAkAgASgCiAEiAkUNACACIARPBEAgAiAERg0BDAgLIAIgB2osAABBQEgNBwsgAiAERg0AIAECf0EBIAIgB2oiBSwAACIHQQBODQAaIAUtAAFBP3EhCyAHQR9xIQQCfyAEQQZ0IAtyIAdBYEkNABogBS0AAkE/cSALQQZ0ciELIAsgBEEMdHIgB0FwSQ0AGiAEQRJ0QYCA8ABxIAUtAANBP3EgC0EGdHJyCyEFQQEgBUGAAUkNABpBAiAFQYAQSQ0AGkEDQQQgBUGAgARJGwsgAmo2AogBIAEoAgBBAUYEQCABKAIEIgIgASgCCE8NAiABIAJBAWo2AgQLIANBMGogARDQBCADKAI0IQEgAygCMEEBcQ0BA0AgA0EoaiABENAEIAMoAiwhASADKAIoQQFHDQALDAELIAEgAygCmAE2AogBIAEgAykDkAE3AoABIAUgASgCFEsNACABIAU2AhQLAkAgAS0AkQFBAkcNACABKAIAQQFGBEAgASgCBCICIAEoAggiBE8NAiABIAJBAWoiBTYCBCAEIAVNDQEgASACQQJqNgIECyABQQA6AJEBIANBIGogARCUCiADKAIgIAMoAiQiAUECOgCRAUEBcQ0AA0AgASgCAEEBRgRAIAEoAgQiAiABKAIITw0CIAEgAkEBajYCBAsCQCABLQCRASIERQRAIANBEGogARCUCiADKAIUIQEgAygCECECDAELIAFBADoAkQEgA0EYaiABEJQKIAMoAhghAiADKAIcIgEgBDoAkQELIAJBAXFFDQALCyADQQhqIAEQrgsgAygCDCEBIAMoAggMAQtBAQsiBEEBRw0AIAEgAygCeDYCiAEgASADKQNwNwKAASAGIAEoAhRLDQAgASAGNgIUC0EBIQIgAS0AkAEhBgJAAkACQAJAAkACQAJAIARBAUYEQCAGQf8BcUEBRg0IIAEtAJEBRQ0DIAEoAowBIgIgCkcNASANIAEoAiAiAiABKAIsIgZqIgRJIAQgDWtBAUZxDQMgAiAMTwRAIAEgDDYCICAMIQILIAYgCUkNAiABIAk2AiwMAgsgBkH/AXFBAUYEfyABLQCRAUUNBwJAIAogASgCjAEiAkYEQCANIAEoAiwiAiABKAIgIgZqIgRJIAQgDWtBAUZxDQkgBiAMTwRAIAEgDDYCIAsgAiAJSQ0BIAEgCTYCLCAJIQIMAQsgAiAKTw0IIAEgCjYCjAFBACECIAFBADYCLCABQQA2AiALIAEoAiQgAkYEQCABQSRqEKMSCyABKAIoIAJqQSg6AAAgASACQQFqNgIsIAEtAJABBSAGC0H/AXFBAkcNBiABLQCRAUUNBiABKAIUIgIgCE0NAyABKAIQIAhBFGxqIgYtAAANBCAGIAI2AgQgASgCiAEhCSABKAIUIgYgASgCDEYEQCABQQxqEJoSCyABKAIQIAZBFGxqIgIgCTYCECACQQA2AgggAiAINgIEIAJBgdAAOwEAIAEgBkEBajYCFAwGCyACIApPDQEgASAKNgKMAUEAIQIgAUEANgIsIAFBADYCIAsgASgCGCACRgRAIAFBGGoQoxILIAEgAkEBajYCICABKAIcIAJqQSg6AAALQQEhAiABLQB8QQFHDQIgAS0AkQFFDQIgAUHUAGpBKCAPQQAgASgCeCAOTRsQkwUMAgsgCCACQZyKyAAQhRMAC0Ggq8kAQShBrIrIABCvFAALIAEtAJABQQJHDQEgAS0AkQFFDQEgCCABKAIUSw0BIAEgCDYCFAwBC0EAIQIgAS0AfEUNACABLQCRAUUNACABQdQAakEoIA9BACABKAJ4IA5NGxCTBQsgACABNgIEIAAgAjYCACADQaABaiQADwsgByAEIAIgBEHMi8gAEP0UAAuYIQIhfwZ+IwBBgARrIgIkAAJAAkACQAJAAkACQCABKAIAQQBOBEAgASgCCCEDIAEoAgQhEUHA8MkAAn5B0PDJAC0AAARAQcjwyQApAwAhJEHA8MkAKQMADAELIAJBmANqELsRQdDwyQBBAToAAEHI8MkAIAIpA6ADIiQ3AwAgAikDmAMLIiNCAXw3AwACQAJAAkAgA0UEQCACQoCAgICAATcDSCACQQA2AlAgAkGQqckAKQMANwJUIAJBmKnJACkDADcCXAwBC0GSyQAgAyADQZLJAE8bIQkgA0EITwR/QX8gCUEDdEEHbkEBa2d2QQFqBSAJQQRxQQRqCyIBQQJ0QQdqQfj///8HcSIGIAFBCGoiBGoQkAEiBUUNAiAFIAZqIQYgBARAIAZB/wEgBPwLAAsgCUHwAGwQkAEiBEUNASACQQA2AmAgAiAGNgJUIAJBADYCUCACIAQ2AkwgAiAJNgJIIAIgAUEBayIJNgJYIAIgCSABQQN2QQdsIAFBCUkbNgJcCyARIANBBXRqISAgAiAkNwNAIAIgIzcDOCACQZgDaiIBQRRqIRsgAUEEciEcIAJBzAFqIRUgAkE4aiIBQRRqIRYgAUEQaiEdIAJBkAJqIR4gAkHUAGohDgNAAkACQAJAIBEgIEcEQCACQZgDaiAREJUOIAIoApwDIQkgAigCmAMiD0F/RgRAIAkhAQwLCyACKAKgAyEXIAJBmANqIBFBEGoQzgUgAigCnAMhASACKAKYAyIDQX9GDQkgAiACKQOgAyIjNwPQASACIAE2AswBIAIgAzYCyAECQCADQYCAgIB4RgRAQX8hGCAfQYB+cSABQf8BcXIiHyESDAELICOnIQQgAkHIAWogAkH/A2pBpIvHABD0EyIfEO8LAkACQAJAAkBBFSADQYCAgIB4cyADQQBOG0EUaw4CAQIACyACQcgBaiACQf8DakHki8cAEPQTIRIMDAsgAkGYA2ogBCAjQiCIpxCsBwwBCyACQZgDaiABIAQQ/QILIAIoApgDIRIgAigCqAMiGEF/Rg0JIAIgHCgCCDYCkAMgAiAcKQIANwOIAyACQbwCaiIBIBtBzAD8CgAAIBhBfkYNCSACIAIoApADNgK4AiACIAIpA4gDNwOwAiACQeABaiABQcwA/AoAAAsgAkHIAWoQiAggAiACKQOwAjcDuAEgAiACKAK4AjYCwAEgAkHsAGogAkHgAWoiAUHMAPwKAAAgAikDOCEjIAIpA0AhJCAeQgA3AwAgHkIANwMIIAIgJDcDiAIgAiAjNwOAAiACICRC88rRy6eM2bL0AIU3A/gBIAIgJELt3pHzlszct+QAhTcD8AEgAiAjQuHklfPW7Nm87ACFNwPoASACICNC9crNg9es27fzAIU3A+ABIAEgCSAXEJYIIAJB/wE6AIgDIAEgAkGIA2pBARCWCCACKQOQAiACNQKYAkI4hoQiJSACKQP4AYUiJCACKQPoAXwhIyAjICRCEImFIiggAikD8AEiJiACKQPgAXwiJ0IgiXwhJCAkIChCFYmFIiggJkINiSAnhSImICN8IidCIIlC/wGFfCEjICQgJYUgJyAmQhGJhSIlfCImQiCJICMgKEIQiYUiJ3whJCAkICdCFYmFIicgJiAlQg2JhSIlICN8IiZCIIl8ISMgIyAnQhCJhSInICYgJUIRiYUiJSAkfCImQiCJfCEkICQgJ0IViYUiJyAjICVCDYkgJoUiI3wiJUIgiXwiJiAjQhGJICWFIiMgJHwgI0INiYUiJHwhIyAjICdCEIkgJoVCFYkgJEIRiYUgI0IgiIWFpyEZIAIoAlAhECACKAJMIRogAigCXEUEQAJAQQAhEwJAAkAgDigCDCIGQQFqIgEEQCAOKAIEIghBAWoiC0EDdiEEAkAgCCAEQQdsIAhBCEkbIgpBAXYgAUkEQCAKQQFqIgMgASABIANJGyIBQQhJDQEgAUH/////AU0EQEF/IAFBA3RBB25BAWtndiIBQf3///8DSw0FIAFBAWohDQwECwwECyALBEAgDigCACEFQQAhAwJAIAQgC0EHcUEAR2oiAUEBRwRAIAFBAXEgAUH+////A3EhBANAIAMgBWoiASkDACEjIAEgI0J/hUIHiEKBgoSIkKDAgAGDICNC//79+/fv37//AIR8NwMAIAFBCGoiASkDACEjIAEgI0J/hUIHiEKBgoSIkKDAgAGDICNC//79+/fv37//AIR8NwMAIANBEGohAyAEQQJrIgQNAAtFDQELIAMgBWoiASkDACEjIAEgI0J/hUIHiEKBgoSIkKDAgAGDICNC//79+/fv37//AIR8NwMACwJAIAtBCE8EQCAFIAtqIAUpAAA3AAAMAQsgC0UNACAFQQhqIAUgC/wKAAALQQAhAwNAAkAgBSADIgFqIgstAABBgAFHDQACQAJAIBAgBSABQQJ0a0EEayITKAIAIgNLBEAgBSABQX9zQQJ0aiEEA0AgBSAaIANB8ABsaigCYCINIAhxIgwiB2opAABCgIGChIiQoMCAf4MiI1AEQEEIIQMDQCADIAdqIQcgA0EIaiEDIAUgByAIcSIHaikAAEKAgYKEiJCgwIB/gyIjUA0ACwsgBSAjeqdBA3YgB2ogCHEiA2osAABBAE4EQCAFKQMAQoCBgoSIkKDAgH+DeqdBA3YhAwsgAyAMayABIAxrcyAIcUEISQ0CIAMgBWoiBy0AACAHIA1BGXYiBzoAACAFIANBCGsgCHFqQQhqIAc6AAAgBSADQQJ0a0EEayEDQf8BRg0DIAQoAAAhByAEIAMoAAA2AAAgAyAHNgAAIBAgEygCACIDSw0ACwsgAyAQQciyyAAQhRMACyALIA1BGXYiAzoAACAFIAFBCGsgCHFqQQhqIAM6AAAMAQsgC0H/AToAACAFIAFBCGsgCHFqQQhqQf8BOgAAIAMgBCgAADYAAAsgAUEBaiEDIAEgCEcNAAsLIA4gCiAGazYCCAwECyABQQRxQQRqIQ0MAQsMAQsgDUECdEEHakF4cSIDIA1BCGoiBGohASABIANJDQAgAUH4////B0sNACABEJABIgFFBEBBuPDJAEEBOgAAAAsgASADaiEKIAQEQCAKQf8BIAT8CwALIA1BAWshDCAOKAIAIQUCQAJAIAYEQCAFKQMAQn+FQoCBgoSIkKDAgH+DISQgBSEEIAYhAQNAICRQBEADQCATQQhqIRMgBEEIaiIEKQMAQoCBgoSIkKDAgH+DIiNCgIGChIiQoMCAf1ENAAsgI0KAgYKEiJCgwIB/hSEkCyAFICR6p0EDdiATakECdGtBBGsiISgCACIDIBBPDQIgGiADQfAAbGooAmAiIiAMcSIHIApqKQAAQoCBgoSIkKDAgH+DIiNQBEBBCCEDA0AgAyAHaiADQQhqIQMgDHEiByAKaikAAEKAgYKEiJCgwIB/gyIjUA0ACwsgJEIBfSAkgyEkIAogI3qnQQN2IAdqIAxxIgNqLAAAQQBOBEAgCikDAEKAgYKEiJCgwIB/g3qnQQN2IQMLIAMgCmogIkEZdiIHOgAAIAogA0EIayAMcWpBCGogBzoAACAKIANBAnRrQQRrICEoAAA2AAAgAUEBayIBDQALCyAOIAw2AgQgDiAKNgIAIA4gDCANQQN2QQdsIA1BCUkbIAZrNgIIIAhFDQMgC0ECdEEHakF4cSIDIAhqQQlqIgFFDQMgBSADayIEQQRrKAIAIgZBeHEhAyADQQRBCCAGQQNxIgYbIAFqSQ0RIAZBAEcgAyABQSdqS3ENASAEELwFDAMLIAMgEEHIssgAEIUTAAsMEAtB+OjIAEE5QZTpyAAQvxMACwsgEUEgaiERIAIoAlgiCCAZcSEGIBlBGXYiCq1CgYKEiJCgwIABfiElQQAhAyACKAJUIQVBACEEA0ACQAJAAkACQAJAIAUgBmopAAAiJCAlhSIjQoGChIiQoMCAAX0gI0J/hYNCgIGChIiQoMCAf4MiI0IAUgRAA0AgBSAjeqdBA3YgBmogCHFBAnRrQQRrKAIAIgEgEE8NAyABQfAAbCILIBpqIgdB7ABqKAIAIBdGBEAgCSAHQegAaigCACAXEI8TRQ0DCyAjQgF9ICODIiNCAFINAAsLICRCgIGChIiQoMCAf4MhI0EBIQEgA0EBRg0EICNCAFINAkEAIQEMBAsgAigCUCIDIAFNDQIgFSACKAJMIAtqIgEpAgA3AgAgFSABKQIINwIIIAEoAhAhAyACQbwCaiABQRRqIgRBzAD8CgAAIAEgEjYCACABIBg2AhAgASACKQO4ATcCBCABIAIoAsABNgIMIAQgAkHsAGpBzAD8CgAAIA8EQCAJQQRrKAIAIgRBeHEhASABQQRBCCAEQQNxIgQbIA9qSQ0SIARBAEcgASAPQSdqS3ENEyAJELwFCyACIBUpAgg3A6ADIAIgFSkCADcDmAMgAiADNgKoAyAbIAJBvAJqQcwA/AoAACADQX5GDQkgAkGYA2oQ2AcMCQsgASAQQdCvyQAQhRMACyAjeqdBA3YgBmogCHEhFAwBCyABIANB4LXJABCFEwALICMgJEIBhoNQBEAgBEEIaiIEIAZqIAhxIQYgASEDDAELCyAFIBRqLAAAIgFBAE4EQCAFIAUpAwBCgIGChIiQoMCAf4N6p0EDdiIUai0AACEBCyAFIBRqIAo6AAAgBSAUQQhrIAhxakEIaiAKOgAAIAUgFEECdGtBBGsgAigCUCIDNgIAIAIgAigCYEEBaiIENgJgIAIgAigCXCABQQFxayIBNgJcIAMgAigCSEcNAkHJpJIJIAEgBGoiBCAEQcmkkglPGyIBIANrQQFNBEAgAigCTCEGDAILIAIoAkwhBiADIARLDQEgAkHgAWogAyAGIAFBCEHwABClESACKALgAUEBRg0BIAIgAigC5AE2AkwgAiABNgJIIAEgA0cNAiAdEKcSDAILIAIgAikCPDcDKCACIAIoAkQ2AjAgAiAWKQIANwMIIAIgFikCCDcDECACIBYpAhA3AxggAiAWKAIYNgIgIAIoAjghASACKAJIIgNBf0YEQEF/IQMMCwsgACACKAIwNgIMIAAgAikDKDcCBCAAIAIpAwg3AhQgACACKQMQNwIcIAAgAikDGDcCJCAAIAIoAiA2AiwMCgsgAkHgAWogAyAGIANBAWoiAUEIQfAAEKURIAIoAuABQQFGDQEgAiACKALkATYCTCACIAE2AkgLIAIoAkwgA0HwAGxqIgEgEjYCACABIAIpA7gBNwIEIAEgAigCwAE2AgwgASAYNgIQIAFBFGogAkHsAGpBzAD8CgAAIAEgFzYCbCABIAk2AmggASAPNgJkIAEgGTYCYCACIANBAWo2AlAMAQsLIAIoAugBGiACKALkARCnFAALQQgQpxQAC0G48MkAQQE6AAAAC0F/IQMgASACQf8DakH0iscAEPQTIQEMAwsgEhDvC0HOhscAQcEAEOISIQEgAkHIAWoQiAgLIA9FDQAgCUEEaygCACIEQXhxIQMgA0EEQQggBEEDcSIEGyAPakkNAiAEQQBHIAMgD0EnaktxDQMgCRC8BQsgHRCNDEF/IQMLIAAgAzYCECAAIAE2AgAgAkGABGokAA8LQdCcyQBBLkGAnckAEK8UAAtBkJ3JAEEuQcCdyQAQrxQAC/gTAgt/CH4jAEGQA2siByQAIAFBAToAPSAHQQhqIgggA0HQAPwKAAAgB0F/NgJYIAdBsAJqIAQgBRB3AkACQAJAAkACQAJAAkACQAJAAkACQAJAIAcoArACIgtBf0YEQCAHIAcpA/ACIhI3AqQBIAcgBykD6AIiEzcCnAEgByAHKQPgAiIUNwKUASAHIAcpA9gCIhU3AowBIAcgBykD0AIiFjcChAEgByAHKQPIAiIXNwJ8IAcgBykDwAIiGDcCdCAHIAcpA7gCIhk3AmwgACASNwI4IAAgEzcCMCAAIBQ3AiggACAVNwIgIAAgFjcCGCAAIBc3AhAgACAYNwIIIAAgGTcCACAIEK8EIAcoAlgiAkF/Rg0HIAcoAlwhASAHKAJgIgkEQEEAIQADQCABIABBDGxqIggoAggiBQRAIAgoAgQhAwNAIAMQpgcgA0HIAWoQiAQgA0HoAWohAyAFQQFrIgUNAAsLIAgoAgAiBQRAIAgoAgQiCEEEaygCACIKQXhxIQMgAyAFQegBbCIFQQRBCCAKQQNxIgobakkNDiAKQQBHIAMgBUEnaktxDQ8gCBC8BQsgCSAAQQFqIgBHDQALCyACDQEMBwsgB0HoAGoiAyAHQbACakEEckHEAPwKAAAgBygCiAMhBSAHKAKEAyEIIAcoAoADIQogBykD+AIhEiAHQbABaiIJQQRyIANBxAD8CgAAIAcgEjcD+AEgByALNgKwASASpwRAIAkgBBCKBQsgBigCFEF/RiIPBEBBfyEJDAMLIAdBsAJqIAZBFGogBCACELUDIAcgBykCvAI3A2ggByAHKALEAjYCcCAHIAcpA8gCNwOgAiAHIAcoAtACNgKoAiAHKQK0AiESIAcoArACIQkgBygC4AIiA0F/Rg0BIAAgBygC3AI2AiwgACAHKQLUAjcCJCAAIAcpAuQCNwI0IAAgBygC7AI2AjwgACAHKAJwNgIUIAAgBykDaDcCDCAAIAcpA6ACNwMYIAAgBygCqAI2AiAgACADNgIwIAAgEjcCBCAAIAk2AgAgB0GwAWoQiAQgB0HQAWoQigwgBQRAIAghAwNAIAMoAgAiASgCACEAIAEgAEEBazYCACAAQQFGBEAgAygCABAwCyADQQhqEOMJIANByABqIQMgBUEBayIFDQALCyAKBEAgCEEEaygCACIBQXhxIQAgACAKQcgAbCICQQRBCCABQQNxIgEbakkNCyABQQBHIAAgAkEnaktxDQwgCBC8BQsgB0EIahCvBCAHKAJYIgJBf0YNBiAHKAJcIQEgBygCYCIJBEBBACEAA0AgASAAQQxsaiIIKAIIIgUEQCAIKAIEIQMDQCADEKYHIANByAFqEIgEIANB6AFqIQMgBUEBayIFDQALCyAIKAIAIgUEQCAIKAIEIghBBGsoAgAiCkF4cSEDIAMgBUHoAWwiBUEEQQggCkEDcSIKG2pJDQ0gCkEARyADIAVBJ2pLcQ0OIAgQvAULIAkgAEEBaiIARw0ACwsgAkUNBgsgAUEEaygCACIDQXhxIQAgACACQQxsIgJBBEEIIANBA3EiAxtqSQ0JIANBAEcgACACQSdqS3ENCiABELwFDAULIAcgBykDaDcDkAIgByAHKAJwNgKYAiAHIAcpA6ACNwOAAiAHIAcoAqgCNgKIAgsgBikCDCETIAYoAgghAyAHIAQoAgg2AnAgByAEKQIANwNoIAdBsAJqIAdBCGpB4AD8CgAAQgEgEyADQX9GIgsbIRNBACADIAsbIQwgBigCBCENIAYoAgAhDiABKAIIIgsgASgCAEYEQCABEK8SCyABKAIEIAtByAJsaiIDIA02AhQgAyAONgIQIANBHzYCCCADQn83AwAgA0EYaiAHQbABakHQAPwKAAAgA0HoAGogB0GwAmpB4AD8CgAAIAMgBykDkAI3A+ABIAMgBygCmAI2AugBIAMgBykDgAI3AuwBIAMgBygCiAI2AvQBIAMgEjcD2AEgAyAJNgLUASADIBM3AswBIAMgDDYCyAEgA0J/NwPAAiADIAcpA2g3A/gBIAMgBygCcDYCgAIgASALQQFqNgIIIAggBUHIAGwiDWohDCAIIQMgBUUNACAHQegAakEEciEFQQAhCQNAAkACQCAIIAlqIgNBCGooAgAiDkF+RwRAIANBBGooAgAhECADKAIAIREgBSADQQxqKQIANwIAIAUgA0EUaikCADcCCCAFIANBHGopAgA3AhAgBSADQSRqKQIANwIYIAUgA0EsaikCADcCICAFIANBNGopAgA3AiggBSADQTxqKQIANwIwIAUgA0HEAGooAgA2AjggByAONgJoIAdBsAJqIAEgAiALIBEgECAHQegAahAlIAcoAuACQX9GDQIgACAHKQPoAjcDOCAAIAcpA+ACNwMwIAAgBykD2AI3AyggACAHKQPQAjcDICAAIAcpA8gCNwMYIAAgBykDwAI3AxAgACAHKQO4AjcDCCAAIAcpA7ACNwMAIANByABqIgMgDEcEQCANIAlrQcgAa0HIAG4hBQNAIAMoAgAiASgCACEAIAEgAEEBazYCACAAQQFGBEAgAygCABAwCyADQQhqEOMJIANByABqIQMgBUEBayIFDQALCyAKDQEMBgsgA0HIAGohAwwDCyAIQQRrKAIAIgFBeHEhACAAIApByABsIgJBBEEIIAFBA3EiARtqSQ0JIAFBAEcgACACQSdqS3ENCiAIELwFDAQLIA0gCUHIAGoiCUcNAAsMAQsgDCADa0HIAG4hBSADIAxGDQADQCADKAIAIgIoAgAhASACIAFBAWs2AgAgAUEBRgRAIAMoAgAQMAsgA0EIahDjCSADQcgAaiEDIAVBAWsiBQ0ACwsCQCAKBEAgCEEEaygCACICQXhxIQEgASAKQcgAbCIDQQRBCCACQQNxIgIbakkNByACQQBHIAEgA0EnaktxDQEgCBC8BQsgAEF/NgIwIAAgCzYCAAwFCwwGC0EAIQkMAQsgC0F/RiEPQQEhCSAGKAIIIgBBf0YNACAARQ0AIAYoAgwiAkEEaygCACIDQXhxIQEgAUEEQQggA0EDcSIDGyAAakkNAyADQQBHIAEgAEEnaktxDQQgAhC8BQsgD0UNACAGKAIUIgFBf0YNACAGKAIYIQAgBigCHCIFBEAgACEDA0AgAxCuCCADQZABaiEDIAVBAWsiBQ0ACwsgAUUNACAAQQRrKAIAIgNBeHEhAiACIAFBkAFsIgFBBEEIIANBA3EiAxtySQ0CIANBAEcgAiABQSdqS3ENAyAAELwFDAALIAlFDQAgBCgCACIBKAIAIQAgASAAQQFrNgIAIABBAUcNACAEKAIAEDALIAdBkANqJAAPC0HQnMkAQS5BgJ3JABCvFAALQZCdyQBBLkHAnckAEK8UAAvJFQITfwJ+IwBBgAVrIgIkAAJAAkACQAJAAkAgASgCBCIGIAEoAgxGDQAgASgCFCEJIAEgBkHYAGo2AgQgBigCACIQQX9GDQAgAkEEaiIHIAZBBGoiA0HEAPwKAAAgASgCECEBIAIgBigCUDYCUCACIAYpAkg3A0ggAiAQNgJYIAJB2ABqQQRyIANBxAD8CgAAIAJBpAFqIAEgAigCTCIFIAIoAlAiBhDvBgJAAkACQAJAAkACQAJAAkACQAJAAkACQCACKAKkAUF/RwRAIAJByAFqIgMgBSAGIAEQ/AQgAigCyAEiBUF/Rg0CIAIoAtABIQQgAigCzAEhDyACIBA2AsgBIANBBHIgB0HEAPwKAAAgEEEERg0BIAIgEDYCsAQgAkGwBGoiCEEEciAHQcQA/AoAACACIAitQoCAgIDwIIQ3A+ACIAJBgARqQaHvwQAgAkHgAmoQuAwgAkEAOgCMBEF/IRIgAkF/NgLgAyAIEK4HIAIgAikChAQ3A9ACIAIgAigCjAQ2AtgCIAIoAtADIQMgAigC1AMhESACKALYAyEKIAIoAtwDIQ4gAigC5AMhBiACKALoAyEMIAIoAuwDIQggAikD8AMhFSACKQP4AyEWIAIoAoAEIRMgBARAIA9BEGohAQNAIAEoAgAiBygCACENIAcgDUEBazYCACANQQFGBEAgASgCABAwCyABQRRqIQEgBEEBayIEDQALC0H/ASELIAVFDQMgD0EEaygCACIBQXhxIQcgByAFQRRsIgVBBEEIIAFBA3EiARtqSQ0QIAFBAEcgByAFQSdqS3ENESAPELwFDAMLIAIoArgBIQEgAkGwBGogAkHYAGoQ2gEgAigCxAQhCCACKALABCEMIAIoArwEIQYgAigCuAQhBSACKAK0BCERIAIoArAEIQoCQCACKALgBCITQX9HBEAgAiACKQLkBDcD0AIgAiACKALsBDYC2AIgAikD2AQhFiACKQPQBCEVIAIoAswEIQcgAigCyAQhAyABIAEoAgAiDkEBazYCACAOQQFGBEAgARAwCyACKAKkAUF/RwRAIAJBpAFqEMEHCyACKAJIIgRBAEwNASAKQQh2IQ1B/wEhCyAGIQ4gDCESIAghBiADIQwgCiEDIAchCCAFIQoMCwsgAikDyAQhFSABIAEoAgAiA0EBajYCACADQQBIDQQgASABKAIAIg5BAWs2AgAgAiACKQKsATcD0AIgAiACKAK0ATYC2AJBAyELQQAhAyACKAKoASETIA5BAUYEQCABEDALIBEhDiAFIRIMCQsgCiEEDAsLIAIgAikCCDcDkAIgAiACKQIQNwOYAiACIAIpAhg3A6ACIAIgAikCIDcDqAIgAiACKQIoNwOwAiACIAIpAjA3A7gCIAIgAikCODcDwAIgAiACKQJANwPIAiACQX82ApADIAIgDyAEQRRsajYCsAMgAiAFNgKsAyACIA82AqgDIAIgDzYCpAMgAiACQeACajYCuAMgAiACQZACajYCtAMgAkHIA2oiASACQaQDahD+BQJ/IAItAMgDQf8BRwRAQcACEJABIgtFDQUgCyABQdAA/AoAACACQQE2AsQDIAIgCzYCwAMgAkEENgK8AyACIAIpArQDNwOoBCACIAIpAqwDNwOgBCACIAIpAqQDNwOYBEHQACEEQQEhAQNAIAJBsARqIAJBmARqEP4FIAItALAEQf8BRkUEQCACKAK8AyABRgRAIAJBvANqIAFBAUEIQdAAELMRIAIoAsADIQsLIAQgC2ogAkGwBGpB0AD8CgAAIAIgAUEBaiIBNgLEAyAEQdAAaiEEDAELCyACKAKkBCIBIAIoApwEIgNrQRRuIQQgASADRwRAIANBEGohAQNAIAEoAgAiAygCACEFIAMgBUEBazYCACAFQQFGBEAgASgCABAwCyABQRRqIQEgBEEBayIEDQALCyACKAKgBCIBBEAgAigCmAQiBUEEaygCACIDQXhxIQYgBiABQRRsIgFBBEEIIANBA3EiAxtqSQ0RIANBAEcgBiABQSdqS3ENEiAFELwFCyACKALAAyENIAIoAsQDIQQgAigCvAMMAQsgAigCsAMiASACKAKoAyIDa0EUbiEEIAEgA0cEQCADQRBqIQEDQCABKAIAIgMoAgAhBSADIAVBAWs2AgAgBUEBRgRAIAEoAgAQMAsgAUEUaiEBIARBAWsiBA0ACwtBCCENQQAhBCACKAKsAyIBBEAgAigCpAMgAUEUbBDZEgtBAAshBSACKAKQAyITQX9HBEAgAiACKQKUAzcD0AIgAiACKAKcAzYC2AIgAikDiAMhFiACKQOAAyEVIAIoAvwCIQggAigC+AIhDCACKAL0AiEGIAIoAvACIRIgAigC7AIhDiACKALoAiEKIAIoAuQCIREgAigC4AIhAyAEBEAgDSEBA0AgARCvBCABQdAAaiEBIARBAWsiBA0ACwsgBQRAIA1BBGsoAgAiAUF4cSEEIAQgBUHQAGwiB0EEQQggAUEDcSIBG3JJDRAgAUEARyAEIAdBJ2pLcQ0RIA0QvAULIAJBkAJqEOMJQf8BIQsMAgsgAkGQAmoQ4wlBACELIA0hAyAEIREMAQsgASgCBCIDIAEoAgAiDEGgAmooAgAiCE8NAyABKAIIIgogDEGcAmooAgAgA0EkbGoiCEEgaigCACIBTw0EIAhBHGooAgAgCkHUAGxqIgEoAgBBgoCAgHhHDQUgAiABKQIINwLgAiACIAJB4AJqrUKAgICA0AGENwPQAyACIAJByABqrUKAgICA8AuENwPIAyACQbAEakGticAAIAJByANqELgMIAIgAikC5AQ3A9ACIAIgAigC7AQ2AtgCIAIoArAEIQMgAigCtAQhESACKAK4BCEKIAIoArwEIQ4gAigCwAQhEiACKALEBCEGIAIoAsgEIQwgAigCzAQhCCACKQPQBCEVIAIpA9gEIRYgAiAQNgLIASACQcgBaiIHQQRyIAJBBGpBxAD8CgAAIAcQrgdB/wEhC0GFgICAeCETCyADQQh2IQ0MBQsAC0EIEKcUAAsgAyAIQcy7xAAQhRMACyAKIAFBzLvEABCFEwALQcy7xAAQnRUACyACKAKkAUF/RwRAIAJBpAFqEMEHCyACKAJIIgRBAEwNAQsgAigCTCIQQQRrKAIAIgdBeHEhDyAPQQRBCCAHQQNxIgcbIARqSQ0FIAdBAEcgDyAEQSdqS3ENBiAQELwFCyADQf8BcSANQQh0ciEEIAtB/wFHDQIgCiEFIAghByAMIQMgBiEIIBIhDCAOIQYLIAkoAjBBf0cEQCAJEI0DCyAJIBM2AjAgCSAWNwMoIAkgFTcDICAJIAc2AhwgCSADNgIYIAkgCDYCFCAJIAw2AhAgCSAGNgIMIAkgBTYCCCAJIBE2AgQgCSAENgIAIAkgAikD0AI3AjQgCSACKALYAjYCPAsgAEH/AToAAAwBCyAAIAIoAtgCNgJEIAAgAikD0AI3AjwgACABrTcDSCAAIBM2AjggACAWNwMwIAAgFTcDKCAAIAg2AiQgACAMNgIgIAAgBjYCHCAAIBI2AhggACAONgIUIAAgCjYCECAAIBE2AgwgACAENgIIIAAgBTYCBCAAIAs6AAALIAJBgAVqJAAPC0HQnMkAQS5BgJ3JABCvFAALQZCdyQBBLkHAnckAEK8UAAv4EQIKfwF+IwBBQGoiAiQAAkACQAJAAkACQAJAAkACQAJAAkACQAJAIAFCFFoEQCACIAFCBIgQhQIgAi0ADCACQRBqIAIoAgQiCCACKAIIIgMgCCADELUOQQEhB0EBRw0BIAJBADYCGCACKAIQIgRBBEkNAiACKAIUIgVBBGsoAgAiA0F4cSEGIAYgBEECdCIEQQRBCCADQQNxIgMbakkNCyADQQBHIAYgBEEnaktxDQwgBRC8BSACQoCAgIDAADcCEAwCCyABUARAQgEhDAwJCyABpyEFQgohAUIBIQwDQAJAIAVBAXEEQCABIAx+IQwgBUEBRg0BCyAFQQF2IQUgASABfiEBDAELCyAMQgBSDQggAEEANgIIIABCgICAgMAANwIAIABBAToADAwJCyACKAIYRSEHCyACIAIoAhg2AjggAiACKQIQNwMwIAIoAgAiBARAIAhBBGsoAgAiA0F4cSEFIAUgBEECdCIEQQRBCCADQQNxIgMbakkNCSADQQBHIAUgBEEnaktxDQogCBC8BQsgAiACKAI4IgM2AgggAiACKQMwNwMAIAJBEGogAigCBCIIIAMgCCADELUOAkAgB0UEQCACKAIYRSEHDAELIAJBADYCGEEBIQcgAigCECIEQQRJDQAgAigCFCIFQQRrKAIAIgNBeHEhBiAGIARBAnQiBEEEQQggA0EDcSIDG2pJDQkgA0EARyAGIARBJ2pLcQ0KIAUQvAUgAkKAgICAwAA3AhALIAIgAigCGDYCOCACIAIpAhA3AzAgAigCACIEBEAgCEEEaygCACIDQXhxIQUgBSAEQQJ0IgRBBEEIIANBA3EiAxtqSQ0JIANBAEcgBSAEQSdqS3ENCiAIELwFCyACIAIoAjgiAzYCCCACIAIpAzA3AwAgAkEQaiACKAIEIgggAyAIIAMQtQ4CQCAHRQRAIAIoAhhFIQcMAQsgAkEANgIYQQEhByACKAIQIgRBBEkNACACKAIUIgVBBGsoAgAiA0F4cSEGIAYgBEECdCIEQQRBCCADQQNxIgMbakkNCSADQQBHIAYgBEEnaktxDQogBRC8BSACQoCAgIDAADcCEAsgAiACKAIYNgI4IAIgAikCEDcDMCACKAIAIgQEQCAIQQRrKAIAIgNBeHEhBSAFIARBAnQiBEEEQQggA0EDcSIDG2pJDQkgA0EARyAFIARBJ2pLcQ0KIAgQvAULIAIgAigCOCIDNgIIIAIgAikDMDcDACACQRBqIAIoAgQiBiADIAYgAxC1DgJAIAdFBEBBAkEBIAIoAhgbIQgMAQsgAkEANgIYQQEhCCACKAIQIgRBBEkNACACKAIUIgdBBGsoAgAiA0F4cSEFIAUgBEECdCIEQQRBCCADQQNxIgMbakkNCSADQQBHIAUgBEEnaktxDQogBxC8BSACQoCAgIDAADcCEAsgAiACKAIYNgI4IAIgAikCEDcDMCACKAIAIgQEQCAGQQRrKAIAIgNBeHEhByAHIARBAnQiBEEEQQggA0EDcSIDG2pJDQkgA0EARyAHIARBJ2pLcQ0KIAYQvAULIAIgAigCODYCCCACIAIpAzA3AwAgAiAIOgAMIAFCD4MiAVAEQCAAIAIpAwg3AgggACACKQMANwIADAgLIAIoAgghCiACKAIEIQUgAigCACEHIAJBEGogARCFAiACKAIYIQkgAigCFCEEIAIoAhAhAyAIQQFGDQQgAi0AHCILQQFGDQQgCkEAR0EAIAkbRQRAIAJBADYCKCACQoCAgIDAADcDIAwBCwJAIAlBAUcEQCAKQQFHDQEgBSgCACEGIAIgCTYCOCACIAQ2AjQgAiADNgIwIAJBMGogBhDRCiACIAIoAjg2AiggAiACKQIwNwMgDAMLIAQoAgAhBiACIAo2AjggAiAFNgI0IAIgBzYCMCACQTBqIAYQ0QogAiACKAI4NgIoIAIgAikCMDcDICAEIQUgAyIHRQ0EDAMLIAJBIGogBSAKIAQgCRD8CwwACyADRQ0AIARBBGsoAgAiCEF4cSEJIAkgA0ECdCIGQQRBCCAIQQNxIgMbakkNByADQQBHIAkgBkEnaktxDQggBBC8BQsgB0UNAQsgBUEEaygCACIDQXhxIQYgBiAHQQJ0IgRBBEEIIANBA3EiAxtqSQ0FIANBAEcgBiAEQSdqS3ENBiAFELwFDAALIAtBASACKAIoGyEFDAELAkACQAJAAkAgCkEAR0EAIAkbRQRAIAJCgICAgMAANwMgDAELAkAgCUEBRwRAIApBAUcNASAFKAIAIQYgAiAJNgI4IAIgBDYCNCACIAM2AjAgAkEwaiAGENEKIAIgAigCODYCKCACIAIpAjA3AyAMAwsgBCgCACEGIAIgCjYCOCACIAU2AjQgAiAHNgIwIAJBMGogBhDRCiACIAIoAjg2AiggAiACKQIwNwMgIAQhBSADIgdFDQQMAwsgAkEgaiAFIAogBCAJEPwLCyADRQ0AIARBBGsoAgAiCEF4cSELIAsgA0ECdCIGQQRBCCAIQQNxIgMbakkNBiADQQBHIAsgBkEnaktxDQcgBBC8BQsgB0UNAQsgBUEEaygCACIDQXhxIQYgBiAHQQJ0IgRBBEEIIANBA3EiAxtqSQ0EIANBAEcgBiAEQSdqS3ENBSAFELwFDAALIAJBADYCKEEBIQUgAigCICIEQQRJDQAgAigCJCIHQQRrKAIAIgNBeHEhBiAGIARBAnQiBEEEQQggA0EDcSIDG2pJDQMgA0EARyAGIARBJ2pLcQ0EIAcQvAUgAkKAgICAwAA3AyALIAAgBToADCAAIAIpAyA3AgAgACACKAIoNgIIDAELIAJBADYCGCACQoCAgIDAADcCEEEBIQVBBCEHA0AgAigCECAFQQFrRgRAIAJBEGoQvBIgAigCFCEHCyAHIAhqIAw+AgAgCEEEaiEIIAIgBTYCGCAFQQFqIQUgDEIgiCIMQgBSDQALIAAgAigCGDYCCCAAIAIpAhA3AgAgAEECOgAMCyACQUBrJAAPC0HQnMkAQS5BgJ3JABCvFAALQZCdyQBBLkHAnckAEK8UAAvkNAIVfwR+IwBB4AJrIgskAAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkAgASgCACIUQQFrDg0BAgMEBQYHCAkKCwwRAAsgAEEIaiABQQhqEI0CDBALIABBCGogAUEIahCNAgwPCyAAQQhqIAFBCGoQjQIMDgtBsAEQkAEiA0UNDyADIAEoAgQQvgcgACADNgIEDA0LIABBBGogAUEEahDtDAwMCwJAIAEoAgRBAUYEQEEkEJABIgRFDQ8gASgCCCIIKAIIIgZB+fDhA08NCgJAIAZBkAJsIgVFBEBBCCECDAELIAgoAgQhDCAFEJABIgJFDQwgBkUNAEEAIQEgBiEDA0AgASAFRg0BIAtB0ABqIg0gASAMahCbBCABIAJqIA1BkAL8CgAAIAFBkAJqIQEgA0EBayIDDQALC0EBIQFBASEFAkAgCCgCFCIDRSIMDQAgCCgCECENIAMQkAEiBUUNDyAMDQAgBSANIAP8CgAACyAEQRhqIAgoAhwgCCgCIBDQBiAEIAM2AhQgBCAFNgIQIAQgAzYCDCAEIAY2AgggBCACNgIEIAQgBjYCAAwBC0GQAhCQASIERQ0OIAQgASgCCBCbBEEAIQELIAAgBDYCCCAAIAE2AgQMCwtByAEQkAEiEUUNDCALQdAAaiEKIAEoAgQiEiEHIwBBsAJrIgkkAAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQCAHKAIAIhVBAWsOFwECAwQFBgcICQoLDA0ODxAREhMVFRUUAAsgCkEEaiAHQQRqENEHIAogBy0AODoAOAwUCyAJQQhqIAdBBGoQwgwCQCAHKAIYIgRFBEBBCCEDDAELIAcoAhQhBSAEQbABbCIGEJABIgNFDRVBACEBIAQhAgNAIAEgBkYNASAJQYABaiIIIAEgBWoQvgcgASADaiAIQbAB/AoAACABQbABaiEBIAJBAWsiAg0ACwsgCiAJKQIINwIEIAkgBDYCFCAKIAkpAhA3AgwgCSAENgIcIAkgAzYCGCAKIAkpAhg3AhQMEwsgCkEEaiAHQQRqEO0MDBILQeAAEJABIgVFDSMgCUGAAWogBygCBCIBEIYCQX4hAyABKAJQIgZBfkcEQEF/IQMgASgCWCECIAEoAlQhBAJAIAZBf0YEQCAEIQEMAQsgAkUEQEEBIQFBACEDDAELIAIQkAEiAUUNJCACBEAgASAEIAL8CgAACyACIQMLIAGtIAKtQiCGhCEXCyAFIAlBgAFqQdAA/AoAACAFIBc3AlQgBSADNgJQIAogBTYCBAwRCyAKQQhqIAdBCGoQvgcMEAtB4AAQkAEiBUUNISAJQYABaiAHKAIEIgEQhgJBfiEDIAEoAlAiBkF+RwRAQX8hAyABKAJYIQIgASgCVCEEAkAgBkF/RgRAIAQhAQwBCyACRQRAQQEhAUEAIQMMAQsgAhCQASIBRQ0iIAIEQCABIAQgAvwKAAALIAIhAwsgAa0gAq1CIIaEIRcLIAUgCUGAAWpB0AD8CgAAIAUgFzcCVCAFIAM2AlAgCiAFNgIEDA8LQeAAEJABIgVFDSAgCUGAAWogBygCBCIBEIYCQX4hAyABKAJQIgZBfkcEQEF/IQMgASgCWCECIAEoAlQhBAJAIAZBf0YEQCAEIQEMAQsgAkUEQEEBIQFBACEDDAELIAIQkAEiAUUNISACBEAgASAEIAL8CgAACyACIQMLIAGtIAKtQiCGhCEXCyAFIAlBgAFqQdAA/AoAACAFIBc3AlQgBSADNgJQIAogBTYCBAwOC0HgABCQASIFRQ0fIAlBgAFqIAcoAgQiARCGAkF+IQMgASgCUCIGQX5HBEBBfyEDIAEoAlghAiABKAJUIQQCQCAGQX9GBEAgBCEBDAELIAJFBEBBASEBQQAhAwwBCyACEJABIgFFDSAgAgRAIAEgBCAC/AoAAAsgAiEDCyABrSACrUIghoQhFwsgBSAJQYABakHQAPwKAAAgBSAXNwJUIAUgAzYCUCAKIAU2AgQMDQsgCkEIaiAHQQhqEL4HDAwLIApBCGogB0EIahC+BwwLCyAKQQRqIAdBBGoQ7QwMCgsgCkEEaiAHQQRqEO0MDAkLQeAAEJABIg5FDRogCUGAAWogBygCFCICEIYCQX4hAyACKAJQIgVBfkcEQEF/IQMgAigCWCEBIAIoAlQhBAJAIAVBf0YEQCAEIQIMAQsgAUUEQEEBIQJBACEDDAELIAEQkAEiAkUNGyABBEAgAiAEIAH8CgAACyABIQMLIAKtIAGtQiCGhCEXCyAOIAlBgAFqQdAA/AoAACAOIBc3AlQgDiADNgJQQQEhDwJAIAcoAgRBAUYEQCAHKAIQIgFFBEBBACEBQQQhBEEAIQIMAgsgBygCDCECIAFBDGwiEBCQASIERQ0MQQAhAyABIQYDQCADIBBGBEAgASECDAMLQX8hBSACKAIIIQwgAigCBCENAkAgAigCAEF/RgRAIA0hCAwBCyAMRQRAQQAhBUEBIQgMAQsgDBCQASIIRQ0dIAwEQCAIIA0gDPwKAAALIAwhBQsgAkEMaiECIAMgBGoiDSAFNgIAIA1BCGogDDYCACANQQRqIAg2AgAgA0EMaiEDIAZBAWsiBg0ACyABIQIMAQtBfyEBIAcoAhAhAiAHKAIMIQNBACEPIAcoAghBf0YEQCADIQQMAQsgAkUEQEEBIQRBACEBQQAhAgwBCyACEJABIgRFDRogAgRAIAQgAyAC/AoAAAsgAiEBCyAKIA42AhQgCiACNgIQIAogBDYCDCAKIAE2AgggCiAPNgIEIAogBy0AGDoAGAwIC0HgABCQASIFRQ0ZIAlBgAFqIAcoAgQiARCGAkF+IQMgASgCUCIGQX5HBEBBfyEDIAEoAlghAiABKAJUIQQCQCAGQX9GBEAgBCEBDAELIAJFBEBBASEBQQAhAwwBCyACEJABIgFFDRogAgRAIAEgBCAC/AoAAAsgAiEDCyABrSACrUIghoQhFwsgBSAJQYABakHQAPwKAAAgBSAXNwJUIAUgAzYCUCAKIAU2AgQMBwtB4AAQkAEiBUUNGCAJQYABaiAHKAIEIgEQhgJBfiEDIAEoAlAiBkF+RwRAQX8hAyABKAJYIQIgASgCVCEEAkAgBkF/RgRAIAQhAQwBCyACRQRAQQEhAUEAIQMMAQsgAhCQASIBRQ0ZIAIEQCABIAQgAvwKAAALIAIhAwsgAa0gAq1CIIaEIRcLIAUgCUGAAWpB0AD8CgAAIAUgFzcCVCAFIAM2AlAgCiAFNgIEDAYLQeAAEJABIgVFDRcgCUGAAWogBygCBCIBEIYCQX4hAyABKAJQIgZBfkcEQEF/IQMgASgCWCECIAEoAlQhBAJAIAZBf0YEQCAEIQEMAQsgAkUEQEEBIQFBACEDDAELIAIQkAEiAUUNGCACBEAgASAEIAL8CgAACyACIQMLIAGtIAKtQiCGhCEXCyAFIAlBgAFqQdAA/AoAACAFIBc3AlQgBSADNgJQIAogBTYCBAwFC0HgABCQASIFRQ0WIAlBgAFqIAcoAgQiARCGAkF+IQMgASgCUCIGQX5HBEBBfyEDIAEoAlghAiABKAJUIQQCQCAGQX9GBEAgBCEBDAELIAJFBEBBASEBQQAhAwwBCyACEJABIgFFDRcgAgRAIAEgBCAC/AoAAAsgAiEDCyABrSACrUIghoQhFwsgBSAJQYABakHQAPwKAAAgBSAXNwJUIAUgAzYCUCAKIAU2AgQMBAsgBygCDCINQcqkkglPDQYCQCANQfAAbCITRQRAQQghEAwBCyAHKAIIIQ4gExCQASIQRQ0IIA1FDQAgCUEwaiEWIA0hBiAOIQEDQCADIBNGDQFBfyEFIAEoAgghAiABKAIEIQQCQCABKAIAQX9GBEAgBCEIDAELIAJFBEBBASEIQQAhBQwBCyACEJABIghFDRcgAgRAIAggBCAC/AoAAAsgAiEFCyAJQYABaiABQRBqEIYCQX4hByABKAJgIgRBfkcEQEF/IQcgAyAOaiIPQegAaigCACEMIA9B5ABqKAIAIQ8CQCAEQX9GBEAgDyEEDAELIAxFBEBBASEEQQAhBwwBCyAMEJABIgRFDRggDARAIAQgDyAM/AoAAAsgDCEHCyAErSAMrUIghoQhFwsgAUHwAGohASAWIAlBgAFqQdAA/AoAACADIBBqIgRBCGogAjYCACAEQQRqIAg2AgAgBCAFNgIAIARBDGogCUEsakHUAPwKAAAgBEHkAGogFzcCACAEQeAAaiAHNgIAIANB8ABqIQMgBkEBayIGDQALCyAKIA02AgwgCiAQNgIIIAogDTYCBAwDCyAKQQRqIAdBBGoQ7QwMAgsgCUEgaiAHQegAahDtDCAJQYABaiAHQQhqEIYCQX4hAiAHKAJYIgFBfkcEQEF/IQIgBygCYCEDIAcoAlwhBAJAIAFBf0YEQCAEIQEMAQsgA0UEQEEBIQFBACECDAELIAMQkAEiAUUNFCADBEAgASAEIAP8CgAACyADIQILIAGtIAOtQiCGhCEXCyAKQQhqIAlBgAFqQdAA/AoAACAKIAkoAig2AnAgCiAJKQIgNwJoIAogFzcCXCAKIAI2AlgMAQtB4AAQkAEiBUUNEiAJQYABaiAHKAIEIgEQhgJBfiEDIAEoAlAiBkF+RwRAQX8hAyABKAJYIQIgASgCVCEEAkAgBkF/RgRAIAQhAQwBCyACRQRAQQEhAUEAIQMMAQsgAhCQASIBRQ0TIAIEQCABIAQgAvwKAAALIAIhAwsgAa0gAq1CIIaEIRcLIAUgCUGAAWpB0AD8CgAAIAUgFzcCVCAFIAM2AlAgCiAFNgIECyAKIBU2AgAgCUGwAmokAAwEC0EIEKcUAAtBBBCnFAALEJ4VAAtBCBCnFAALQX4hAyASKAK4ASIBQX5HBEBBfyEDIBIoAsABIQIgEigCvAEhBAJAIAFBf0YEQCAEIQEMAQsgAkUEQEEAIQNBASEBDAELIAIQkAEiAUUNDSACBEAgASAEIAL8CgAACyACIQMLIAGtIAKtQiCGhCEYCyARIAtB0ABqQbgB/AoAACARIBg3ArwBIBEgAzYCuAEgACARNgIEDAoLIAEoAgQiCA0FIABBADYCBAwJC0HIARCQASIGRQ0KIAEoAgQiCCkDACEZIAtB0ABqIAhBCGoQhgJBfiECQX4hAyAIKAJYIgFBfkcEQEF/IQMgCCgCYCEEIAgoAlwhBQJAIAFBf0YEQCAFIQEMAQsgBEUEQEEAIQNBASEBDAELIAQQkAEiAUUNCyAEBEAgASAFIAT8CgAACyAEIQMLIAGtIAStQiCGhCEYCyALIAtB0ABqIgFB0AD8CgAAIAEgCEHoAGoQhgIgCCgCuAEiAUF+RwRAQX8hAiAIKALAASEEIAgoArwBIQUCQCABQX9GBEAgBSEBDAELIARFBEBBACECQQEhAQwBCyAEEJABIgFFDQsgBARAIAEgBSAE/AoAAAsgBCECCyABrSAErUIghoQhFwsgBkHoAGogC0HQAGpB0AD8CgAAIAYgGTcDACAGQQhqIAtB0AD8CgAAIAYgFzcCvAEgBiACNgK4ASAGIBg3AlwgBiADNgJYIAAgBjYCBAwIC0EMEJABIgVFDQkgASgCBCIBKAIIIgNBq9Wq1QBPDQQCQCADQQxsIgZFBEBBBCECDAELIAEoAgQhCCAGEJABIgJFDQcgA0UNAEEAIQEgAyEEA0AgASAGRg0BIAtB0ABqIAEgCGoQ7QwgASACaiIMIAsoAlg2AgggDCALKQJQNwIAIAFBDGohASAEQQFrIgQNAAsLIAUgAzYCCCAFIAI2AgQgBSADNgIAIAAgBTYCBAwHCyAAQQRqIAFBBGoQ2QoMBgtBgICAgHghBAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkBBDiABKAIEQYCAgIB4cyIDIANBFk8bQQFrDhUBAgMEBQYHCAkKCwwNDg8QERITFBUACyABQQhqEMEQIQMgAUEMahDBECECDBULQYGAgIB4IQQgAUEIahDBECEDIAFBDGoQwRAhAgwUC0GCgICAeCEEIAFBCGoQwRAhAyABQQxqEMEQIQIMEwtBg4CAgHghBCABQQhqEMEQIQMgAUEMahDBECECDBILQYSAgIB4IQQgAUEIahDBECEDIAFBDGoQwRAhAgwRC0GFgICAeCEEIAFBCGoQwRAhAyABQQxqEMEQIQIMEAtBhoCAgHghBCABQQhqEMEQIQMgAUEMahDBECECDA8LQYeAgIB4IQQgAUEIahDBECEDIAFBDGoQwRAhAgwOC0GIgICAeCEEIAFBCGoQwRAhAyABQQxqEMEQIQIMDQtBiYCAgHghBCABQQhqEMEQIQMgAUEMahDBECECDAwLQYqAgIB4IQQgAUEIahDBECEDDAsLQYuAgIB4IQQgAUEIahDBECEDDAoLQYyAgIB4IQQgAUEIahDBECEDIAFBDGoQwRAhAiABQRBqEMEQIQUMCQtBjYCAgHghBCABQQhqEMEQIQMgAUEMahDBECECIAFBEGoQwRAhBQwICyABQRBqEMEQIQUgC0HQAGogAUEEahD7ESABQRRqEMEQIQEgCygCWCECIAsoAlQhAyALKAJQIQQMBwsgC0HQAGohDCMAQdAAayIIJAACfwJAAkACQCABQQhqIgUoAgAiDUEBaw4DAQICAAtB4AAQkAEiBkUNESAIIAUoAgQiAxCGAkF+IQEgAygCUCIHQX5HBEBBfyEBIAMoAlghAiADKAJUIQQCQCAHQX9GBEAgBCEDDAELIAJFBEBBACEBQQEhAwwBCyACEJABIgNFDRIgAgRAIAMgBCAC/AoAAAsgAiEBCyADrSACrUIghoQhFwsgBiAIQdAA/AoAACAGIBc3AlQgBiABNgJQQeAAEJABIgNFDREgCCAFKAIIIgIQhgJBfiEBIAIoAlAiB0F+RwRAQX8hASACKAJYIQQgAigCVCEFAkAgB0F/RgRAIAUhAgwBCyAERQRAQQAhAUEBIQIMAQsgBBCQASICRQ0SIAQEQCACIAUgBPwKAAALIAQhAQsgAq0gBK1CIIaEIRcLIAMgCEHQAPwKAAAgAyAXNwJUIAMgATYCUCAMIAY2AgRBCAwCC0HgABCQASIGRQ0QIAggBSgCBCIDEIYCQX4hASADKAJQIgdBfkcEQEF/IQEgAygCWCECIAMoAlQhBAJAIAdBf0YEQCAEIQMMAQsgAkUEQEEAIQFBASEDDAELIAIQkAEiA0UNESACBEAgAyAEIAL8CgAACyACIQELIAOtIAKtQiCGhCEXCyAGIAhB0AD8CgAAIAYgFzcCVCAGIAE2AlBB4AAQkAEiA0UNECAIIAUoAggiAhCGAkF+IQEgAigCUCIHQX5HBEBBfyEBIAIoAlghBCACKAJUIQUCQCAHQX9GBEAgBSECDAELIARFBEBBASECQQAhAQwBCyAEEJABIgJFDREgBARAIAIgBSAE/AoAAAsgBCEBCyACrSAErUIghoQhFwsgAyAIQdAA/AoAACADIBc3AlQgAyABNgJQIAwgBjYCBEEIDAELQeAAEJABIgZFDQ8gCCAFKAIEIgMQhgJBfiEBIAMoAlAiB0F+RwRAQX8hASADKAJYIQIgAygCVCEEAkAgB0F/RgRAIAQhAwwBCyACRQRAQQEhA0EAIQEMAQsgAhCQASIDRQ0QIAIEQCADIAQgAvwKAAALIAIhAQsgA60gAq1CIIaEIRcLIAYgCEHQAPwKAAAgBiAXNwJUIAYgATYCUCAFKAIIIgFBBkYEQEGwARCQASIDRQ0QIAMgBSgCDBC+BwsgDCABNgIIIAwgBjYCBEEMCyAMIA02AgAgDGogAzYCACAIQdAAaiQAIAsoAlwhASALKAJYIQUgCygCVCECIAsoAlAhA0GPgICAeCEEDAYLQZCAgIB4IQQgAUEIahDBECEDIAFBDGoQwRAhAgwFC0GRgICAeCEEIAFBCGoQwRAhAyABQQxqEMEQIQIMBAtBkoCAgHghBCABQQhqEMEQIQMMAwtBk4CAgHghBCABQQhqEMEQIQMMAgtBlICAgHghBCABQQhqEMMMIQMMAQtBlYCAgHghBCABQQhqEMMMIQMLIAAgATYCFCAAIAU2AhAgACACNgIMIAAgAzYCCCAAIAQ2AgQMBQtB4AAQkAEiBUUNBiALQdAAaiABKAIEIgEQhgJBfiEDIAEoAlAiBkF+RwRAQX8hAyABKAJYIQIgASgCVCEEAkAgBkF/RgRAIAQhAQwBCyACRQRAQQAhA0EBIQEMAQsgAhCQASIBRQ0HIAIEQCABIAQgAvwKAAALIAIhAwsgAa0gAq1CIIaEIRgLIAUgC0HQAGpB0AD8CgAAIAUgGDcCVCAFIAM2AlAgACAFNgIEDAQLQTQQkAEiBkUNBSALIAgQowhBfiEDQX4hAiAIKAIcIgFBfkcEQEF/IQIgCCgCJCEEIAgoAiAhBQJAIAFBf0YEQCAFIQEMAQsgBEUEQEEBIQFBACECDAELIAQQkAEiAUUNBiAEBEAgASAFIAT8CgAACyAEIQILIAGtIAStQiCGhCEYCyAIKAIoIgFBfkcEQEF/IQMgCCgCMCEEIAgoAiwhBQJAIAFBf0YEQCAFIQEMAQsgBEUEQEEBIQFBACEDDAELIAQQkAEiAUUNBiAEBEAgASAFIAT8CgAACyAEIQMLIAGtIAStQiCGhCEXCyALQeAAaiAIQRBqELYMIAsgCykCCCIZNwNYIAsgCykCACIaNwNQIAYgCygCaDYCGCAGIAspA2A3AhAgBiAZNwIIIAYgGjcCACAGIBc3AiwgBiADNgIoIAYgGDcCICAGIAI2AhwgACAGNgIEDAMLEJ4VAAtBCBCnFAALQQQQpxQACyAAIBQ2AgAgC0HgAmokAA8LQQEQpxQAC0G48MkAQQE6AAAAC+QRAgp/AX4jAEFAaiICJAACQAJAAkACQAJAAkACQAJAAkACQAJAAkAgAUIUWgRAIAIgAUIEiBCHAiACLQAMIAJBEGogAigCBCIIIAIoAggiAyAIIAMQtQ5BASEHQQFHDQEgAkEANgIYIAIoAhAiBEEESQ0CIAIoAhQiBUEEaygCACIDQXhxIQYgBiAEQQJ0IgRBBEEIIANBA3EiAxtqSQ0LIANBAEcgBiAEQSdqS3ENDCAFELwFIAJCgICAgMAANwIQDAILIAFQBEBCASEMDAkLIAGnIQVCCiEBQgEhDANAAkAgBUEBcQRAIAEgDH4hDCAFQQFGDQELIAVBAXYhBSABIAF+IQEMAQsLIAxCAFINCCAAQQA2AgggAEKAgICAwAA3AgAgAEEBOgAMDAkLIAIoAhhFIQcLIAIgAigCGDYCOCACIAIpAhA3AzAgAigCACIEBEAgCEEEaygCACIDQXhxIQUgBSAEQQJ0IgRBBEEIIANBA3EiAxtqSQ0JIANBAEcgBSAEQSdqS3ENCiAIELwFCyACIAIoAjgiAzYCCCACIAIpAzA3AwAgAkEQaiACKAIEIgggAyAIIAMQtQ4CQCAHRQRAIAIoAhhFIQcMAQsgAkEANgIYQQEhByACKAIQIgRBBEkNACACKAIUIgVBBGsoAgAiA0F4cSEGIAYgBEECdCIEQQRBCCADQQNxIgMbakkNCSADQQBHIAYgBEEnaktxDQogBRC8BSACQoCAgIDAADcCEAsgAiACKAIYNgI4IAIgAikCEDcDMCACKAIAIgQEQCAIQQRrKAIAIgNBeHEhBSAFIARBAnQiBEEEQQggA0EDcSIDG2pJDQkgA0EARyAFIARBJ2pLcQ0KIAgQvAULIAIgAigCOCIDNgIIIAIgAikDMDcDACACQRBqIAIoAgQiCCADIAggAxC1DgJAIAdFBEAgAigCGEUhBwwBCyACQQA2AhhBASEHIAIoAhAiBEEESQ0AIAIoAhQiBUEEaygCACIDQXhxIQYgBiAEQQJ0IgRBBEEIIANBA3EiAxtqSQ0JIANBAEcgBiAEQSdqS3ENCiAFELwFIAJCgICAgMAANwIQCyACIAIoAhg2AjggAiACKQIQNwMwIAIoAgAiBARAIAhBBGsoAgAiA0F4cSEFIAUgBEECdCIEQQRBCCADQQNxIgMbakkNCSADQQBHIAUgBEEnaktxDQogCBC8BQsgAiACKAI4IgM2AgggAiACKQMwNwMAIAJBEGogAigCBCIGIAMgBiADELUOAkAgB0UEQEECQQEgAigCGBshCAwBCyACQQA2AhhBASEIIAIoAhAiBEEESQ0AIAIoAhQiB0EEaygCACIDQXhxIQUgBSAEQQJ0IgRBBEEIIANBA3EiAxtqSQ0JIANBAEcgBSAEQSdqS3ENCiAHELwFIAJCgICAgMAANwIQCyACIAIoAhg2AjggAiACKQIQNwMwIAIoAgAiBARAIAZBBGsoAgAiA0F4cSEHIAcgBEECdCIEQQRBCCADQQNxIgMbakkNCSADQQBHIAcgBEEnaktxDQogBhC8BQsgAiACKAI4NgIIIAIgAikDMDcDACACIAg6AAwgAUIPgyIBUARAIAAgAikDCDcCCCAAIAIpAwA3AgAMCAsgAigCCCEKIAIoAgQhBSACKAIAIQcgAkEQaiABEIcCIAIoAhghCSACKAIUIQQgAigCECEDIAhBAUYNBCACLQAcIgtBAUYNBCAKQQBHQQAgCRtFBEAgAkEANgIoIAJCgICAgMAANwMgDAELAkAgCUEBRwRAIApBAUcNASAFKAIAIQYgAiAJNgI4IAIgBDYCNCACIAM2AjAgAkEwaiAGENEKIAIgAigCODYCKCACIAIpAjA3AyAMAwsgBCgCACEGIAIgCjYCOCACIAU2AjQgAiAHNgIwIAJBMGogBhDRCiACIAIoAjg2AiggAiACKQIwNwMgIAQhBSADIgdFDQQMAwsgAkEgaiAFIAogBCAJEPwLDAALIANFDQAgBEEEaygCACIIQXhxIQkgCSADQQJ0IgZBBEEIIAhBA3EiAxtqSQ0HIANBAEcgCSAGQSdqS3ENCCAEELwFCyAHRQ0BCyAFQQRrKAIAIgNBeHEhBiAGIAdBAnQiBEEEQQggA0EDcSIDG2pJDQUgA0EARyAGIARBJ2pLcQ0GIAUQvAUMAAsgC0EBIAIoAigbIQUMAQsCQAJAAkACQCAKQQBHQQAgCRtFBEAgAkKAgICAwAA3AyAMAQsCQCAJQQFHBEAgCkEBRw0BIAUoAgAhBiACIAk2AjggAiAENgI0IAIgAzYCMCACQTBqIAYQ0QogAiACKQMwNwMgDAMLIAQoAgAhBiACIAo2AjggAiAFNgI0IAIgBzYCMCACQTBqIAYQ0QogAiACKQMwNwMgIAQhBSADIgdFDQQMAwsgAkEgaiAFIAogBCAJEPwLCyADRQ0AIARBBGsoAgAiCEF4cSELIAsgA0ECdCIGQQRBCCAIQQNxIgMbakkNBiADQQBHIAsgBkEnaktxDQcgBBC8BQsgB0UNAQsgBUEEaygCACIDQXhxIQYgBiAHQQJ0IgRBBEEIIANBA3EiAxtqSQ0EIANBAEcgBiAEQSdqS3ENBSAFELwFDAALIAJBADYCKEEBIQUgAigCICIEQQRJDQAgAigCJCIHQQRrKAIAIgNBeHEhBiAGIARBAnQiBEEEQQggA0EDcSIDG2pJDQMgA0EARyAGIARBJ2pLcQ0EIAcQvAUgAkKAgICAwAA3AyALIAAgBToADCAAIAIpAyA3AgAgACACKAIoNgIIDAELIAJBADYCGCACQoCAgIDAADcCEEEBIQVBBCEHA0AgAigCECAFQQFrRgRAIAJBEGoQvxIgAigCFCEHCyAHIAhqIAw+AgAgCEEEaiEIIAIgBTYCGCAFQQFqIQUgDEIgiCIMQgBSDQALIAAgAigCGDYCCCAAIAIpAhA3AgAgAEECOgAMCyACQUBrJAAPC0HQnMkAQS5BgJ3JABCvFAALQZCdyQBBLkHAnckAEK8UAAvkEQIKfwF+IwBBQGoiAiQAAkACQAJAAkACQAJAAkACQAJAAkACQAJAIAFCFFoEQCACIAFCBIgQiAIgAi0ADCACQRBqIAIoAgQiCCACKAIIIgMgCCADELUOQQEhB0EBRw0BIAJBADYCGCACKAIQIgRBBEkNAiACKAIUIgVBBGsoAgAiA0F4cSEGIAYgBEECdCIEQQRBCCADQQNxIgMbakkNCyADQQBHIAYgBEEnaktxDQwgBRC8BSACQoCAgIDAADcCEAwCCyABUARAQgEhDAwJCyABpyEFQgohAUIBIQwDQAJAIAVBAXEEQCABIAx+IQwgBUEBRg0BCyAFQQF2IQUgASABfiEBDAELCyAMQgBSDQggAEEANgIIIABCgICAgMAANwIAIABBAToADAwJCyACKAIYRSEHCyACIAIoAhg2AjggAiACKQIQNwMwIAIoAgAiBARAIAhBBGsoAgAiA0F4cSEFIAUgBEECdCIEQQRBCCADQQNxIgMbakkNCSADQQBHIAUgBEEnaktxDQogCBC8BQsgAiACKAI4IgM2AgggAiACKQMwNwMAIAJBEGogAigCBCIIIAMgCCADELUOAkAgB0UEQCACKAIYRSEHDAELIAJBADYCGEEBIQcgAigCECIEQQRJDQAgAigCFCIFQQRrKAIAIgNBeHEhBiAGIARBAnQiBEEEQQggA0EDcSIDG2pJDQkgA0EARyAGIARBJ2pLcQ0KIAUQvAUgAkKAgICAwAA3AhALIAIgAigCGDYCOCACIAIpAhA3AzAgAigCACIEBEAgCEEEaygCACIDQXhxIQUgBSAEQQJ0IgRBBEEIIANBA3EiAxtqSQ0JIANBAEcgBSAEQSdqS3ENCiAIELwFCyACIAIoAjgiAzYCCCACIAIpAzA3AwAgAkEQaiACKAIEIgggAyAIIAMQtQ4CQCAHRQRAIAIoAhhFIQcMAQsgAkEANgIYQQEhByACKAIQIgRBBEkNACACKAIUIgVBBGsoAgAiA0F4cSEGIAYgBEECdCIEQQRBCCADQQNxIgMbakkNCSADQQBHIAYgBEEnaktxDQogBRC8BSACQoCAgIDAADcCEAsgAiACKAIYNgI4IAIgAikCEDcDMCACKAIAIgQEQCAIQQRrKAIAIgNBeHEhBSAFIARBAnQiBEEEQQggA0EDcSIDG2pJDQkgA0EARyAFIARBJ2pLcQ0KIAgQvAULIAIgAigCOCIDNgIIIAIgAikDMDcDACACQRBqIAIoAgQiBiADIAYgAxC1DgJAIAdFBEBBAkEBIAIoAhgbIQgMAQsgAkEANgIYQQEhCCACKAIQIgRBBEkNACACKAIUIgdBBGsoAgAiA0F4cSEFIAUgBEECdCIEQQRBCCADQQNxIgMbakkNCSADQQBHIAUgBEEnaktxDQogBxC8BSACQoCAgIDAADcCEAsgAiACKAIYNgI4IAIgAikCEDcDMCACKAIAIgQEQCAGQQRrKAIAIgNBeHEhByAHIARBAnQiBEEEQQggA0EDcSIDG2pJDQkgA0EARyAHIARBJ2pLcQ0KIAYQvAULIAIgAigCODYCCCACIAIpAzA3AwAgAiAIOgAMIAFCD4MiAVAEQCAAIAIpAwg3AgggACACKQMANwIADAgLIAIoAgghCiACKAIEIQUgAigCACEHIAJBEGogARCIAiACKAIYIQkgAigCFCEEIAIoAhAhAyAIQQFGDQQgAi0AHCILQQFGDQQgCkEAR0EAIAkbRQRAIAJBADYCKCACQoCAgIDAADcDIAwBCwJAIAlBAUcEQCAKQQFHDQEgBSgCACEGIAIgCTYCOCACIAQ2AjQgAiADNgIwIAJBMGogBhDRCiACIAIoAjg2AiggAiACKQIwNwMgDAMLIAQoAgAhBiACIAo2AjggAiAFNgI0IAIgBzYCMCACQTBqIAYQ0QogAiACKAI4NgIoIAIgAikCMDcDICAEIQUgAyIHRQ0EDAMLIAJBIGogBSAKIAQgCRD8CwwACyADRQ0AIARBBGsoAgAiCEF4cSEJIAkgA0ECdCIGQQRBCCAIQQNxIgMbakkNByADQQBHIAkgBkEnaktxDQggBBC8BQsgB0UNAQsgBUEEaygCACIDQXhxIQYgBiAHQQJ0IgRBBEEIIANBA3EiAxtqSQ0FIANBAEcgBiAEQSdqS3ENBiAFELwFDAALIAtBASACKAIoGyEFDAELAkACQAJAAkAgCkEAR0EAIAkbRQRAIAJCgICAgMAANwMgDAELAkAgCUEBRwRAIApBAUcNASAFKAIAIQYgAiAJNgI4IAIgBDYCNCACIAM2AjAgAkEwaiAGENEKIAIgAikDMDcDIAwDCyAEKAIAIQYgAiAKNgI4IAIgBTYCNCACIAc2AjAgAkEwaiAGENEKIAIgAikDMDcDICAEIQUgAyIHRQ0EDAMLIAJBIGogBSAKIAQgCRD8CwsgA0UNACAEQQRrKAIAIghBeHEhCyALIANBAnQiBkEEQQggCEEDcSIDG2pJDQYgA0EARyALIAZBJ2pLcQ0HIAQQvAULIAdFDQELIAVBBGsoAgAiA0F4cSEGIAYgB0ECdCIEQQRBCCADQQNxIgMbakkNBCADQQBHIAYgBEEnaktxDQUgBRC8BQwACyACQQA2AihBASEFIAIoAiAiBEEESQ0AIAIoAiQiB0EEaygCACIDQXhxIQYgBiAEQQJ0IgRBBEEIIANBA3EiAxtqSQ0DIANBAEcgBiAEQSdqS3ENBCAHELwFIAJCgICAgMAANwMgCyAAIAU6AAwgACACKQMgNwIAIAAgAigCKDYCCAwBCyACQQA2AhggAkKAgICAwAA3AhBBASEFQQQhBwNAIAIoAhAgBUEBa0YEQCACQRBqELwSIAIoAhQhBwsgByAIaiAMPgIAIAhBBGohCCACIAU2AhggBUEBaiEFIAxCIIgiDEIAUg0ACyAAIAIoAhg2AgggACACKQIQNwIAIABBAjoADAsgAkFAayQADwtB0JzJAEEuQYCdyQAQrxQAC0GQnckAQS5BwJ3JABCvFAALoRUCCH8BfiMAQaAEayIEJAACQAJAAkACQAJAAkACQAJAIAMEQAJ/IAEoAgBBAUYEQCAEIAFBBGoiAigCCDYClAQgBCACKQIANwKMBCAEIAEoAhBBCGo2AogEIARBIGogBEGIBGoQ6gkgBCgCJCEDIAQoAiAMAQsgASgCBCIDIAEoAhAiAigCECIHTw0EIAIoAgwgA0HkAGxqIgcoAgAEQCAHKAIEIgMgAigCcE8NBiACKAJsIANBBHRqIgIoAgghAyACKAIEDAELIARBKGogAkEIaiADENAQIAQoAiwhAyAEKAIoCyECIANBAEgNBSADRQRAQQEhBQwDCyADEJABIgUNAUEBEKcUAAsgASgCECEDAn8CQAJAIAEoAgBBAUYEQCADIAMoAgAiAEEBajYCACAAQQBIDQFBhJLJABCdFQALIAEoAgQiByADKAIQIgVJBEAgAygCDCAHQeQAbGoiBygCWCEGIAcoAlQhByADIAMoAgAiBUEBajYCACAFQQBIDQEgAyADKAIAIgVBAWo2AgAgBUEASA0BIAQgBjYCkAQgBCAHNgKMBCAEIAM2AogEIARB9AFqIARBiARqIAIQ9QYgAyADKAIAIgJBAWs2AgAgAkEBRgRAIAMQMAsgAyADKAIAIgJBAWs2AgAgAkEBRgRAIAMQMAsgASgCAEEBRw0CIAQgAUEEaiICKAIINgKUBCAEIAIpAgA3AowEIAQgASgCEEEIajYCiAQgBEEwaiAEQYgEahDqCSAEKAI0IQMgBCgCMAwDCyAHIAVB5PbIABCFEwsACyABKAIEIgMgASgCECICKAIQIgdPDQYgAigCDCADQeQAbGoiBygCAARAIAcoAgQiAyACKAJwTw0IIAIoAmwgA0EEdGoiAigCCCEDIAIoAgQMAQsgBEE4aiACQQhqIAMQ0BAgBCgCPCEDIAQoAjgLIQIgA0EASA0EAkAgA0UEQEEBIQUMAQsgAxCQASIFRQRAQQEQpxQACyADRQ0AIAUgAiAD/AoAAAsgBEF/NgKwASAEIAM2AqwBIAQgBTYCqAEgBCADNgKkASAEQX42ApgBIARB/wE6AOQBIARBfDYCUCAEQQA6AOwBIARBADsB6gEgBEF+NgJAIARBsAFqENcFIAQgBCgCpAI2AuABIAQgBCkCnAI3A9gBIAQgBCkClAI3A9ABIAQgBCkCjAI3A8gBIAQgBCkChAI3A8ABIAQgBCkC/AE3A7gBIAQgBCkC9AE3A7ABDAcLIANFDQAgBSACIAP8CgAACyAEQX82ArABIAQgAzYCrAEgBCAFNgKoASAEIAM2AqQBIARBfjYCmAEgBEH/AToA5AEgBEF8NgJQIARBADoA7AEgBEEAOwHqASAEQX42AkAMBQsgAyAHQeT2yAAQhRMAC0GkuMQAEJ0VAAsQnhUACyADIAdB5PbIABCFEwALQaS4xAAQnRUACyAEQdgDaiABEJ8KQQEhAwJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAIAQoAtgDQQFrDgwNDQECAwQFBgcICQoACyAEQRBqIAEQ1gQgBCAEKAIQNgHmAUEAIQMMDAtBAyEDDAsLIARB6ANqIAEQ7QYgBCgC6AMNCEEAIQMMCQtBBCEDDAkLIARBgICA+gE2AeYBQQAhAwwIC0HMi8kAQacBQaCMyQAQvxMAC0EFIQMMBgsgBEEBOwHmAUEAIQMMBQtBBiEDDAQLIARBGGogARDWBCAEIAQoAhg2AeYBQQAhAwwDC0GwjMkAQasBQYiNyQAQvxMACyAEIAQpAvADIgw3A4AEIAQgBCkC6AM3A/gDIARBiARqIAynIARB+ANqIAQoAoQEKAJ4EQQAIAQoApQEIQcgBCgCkAQhCQJAAkACQAJAAkACQCAEKAKYBCICDgIBAgALIAcoAgQhAwJAAkACQCAHKAIIIgUOAgQAAQsgAy0AACIGQStrDgMDAQMBCyADLQAAIQYLIAMgBkH/AXFBK0YiA2ohBgJAIAUgA2siA0EDTwRAQQAhBQNAIANFDQIgBUH/AXFBCmwiBUEIdg0EIAYtAABBMGsiCEEJSw0EIAZBAWohBiADQQFrIQMgBUH/AXEgCEH/AXFqIgUgBUH/AXFGDQALDAMLIANFBEBBACEFDAELIAYtAABBMGsiBUEJSw0CIANBAUYNACAGLQABQTBrIgNBCk8NAiAFQQpsIANqIQULIAcoAhAhAwJAAkACQCAHKAIUIgYOAgQAAQsgAy0AACIIQStrDgMDAQMBCyADLQAAIQgLIAMgCEH/AXFBK0YiA2ohCAJAIAYgA2siA0EDTwRAQQAhBgNAIANFDQIgBkH/AXFBCmwiBkEIdg0EIAgtAABBMGsiCkEJSw0EIAhBAWohCCADQQFrIQMgBkH/AXEgCkH/AXFqIgYgBkH/AXFGDQALDAMLIANFBEBBACEGDAELIAgtAABBMGsiBkEJSw0CIANBAUYNACAILQABQTBrIgNBCUsNAiAGQQpsIANqIQYLAkAgCUF/Rg0AIAchAwNAIAMoAgAiCARAIANBBGooAgAgCBDZEgsgA0EMaiEDIAJBAWsiAg0ACyAJRQ0AIAcgCUEMbBDZEgsgBCgC+AMiAygCACECIAMgAkEBazYCAEEBIQMMBAsgCUEASg0BDAILIAlBf0YNASAHIQMDQCADKAIAIgUEQCADQQRqKAIAIgpBBGsoAgAiBkF4cSEIIAhBBEEIIAZBA3EiBhsgBWpJDQcgBkEARyAIIAVBJ2pLcQ0IIAoQvAULIANBDGohAyACQQFrIgINAAsgCUUNAQsgB0EEaygCACIDQXhxIQIgAiAJQQxsIgVBBEEIIANBA3EiAxtqSQ0EIANBAEcgAiAFQSdqS3ENBSAHELwFCyAEKAL4AyIDKAIAIQIgAyACQQFrNgIAQQAhAwsgAkEBRgRAIAQoAvgDIAQoAvwDELYQCyAFQf8BcSAGQQh0ciECCyAEIAI7AeYBIAQgAzoA5QFBByEDCyAEIAM6AOQBIARB6ANqIAEQ7QYCf0F+IAQoAugDRQ0AGiAEIAQpAvADNwOQBCAEIAQpAugDNwOIBCAEQQhqIARBiARqEMoNIARB+ANqIAQoAgggBCgCDBDMASAEKAKIBCIDKAIAIQIgAyACQQFrNgIAIARBAjsBhAQgAkEBRgRAIAQoAogEIAQoAowEELYQCyAEIAQpAvwDNwPYAyAEIAQoAoQENgLgA0F+IAQoAvgDIgJBfkYNABogBCAEKALgAzYCkAQgBCAEKQPYAzcDiAQgAgshAyAEKAJAIgJBAEoEQCAEKAJEIgVBBGsoAgAiBkF4cSEHIAdBBEEIIAZBA3EiBhsgAmpJDQEgBkEARyAHIAJBJ2pLcQ0CIAUQvAULIARBQGsiAkEEciIHIAQpA4gENwIAIAcgBCgCkAQ2AgggBCADNgJAIARBqAJqIAJBsAH8CgAAIARBiARqIAEQnwogBCAEKAKIBEEGRjoA0gMgBCABEK0QOgDTAyAEKAK4AkF+TgRAIARBuAJqELcECyAEQX02ArgCIAAgBEGoAmpBsAH8CgAAIARBoARqJAAPC0HQnMkAQS5BgJ3JABCvFAALQZCdyQBBLkHAnckAEK8UAAv+EwIMfwN+IwBB8ABrIgMkAAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQCABLQAQIg1BAWsOEgABAg4PAxIEBgcICRcKCwYMDQULIAMgASkDIDcDICADIAEpAxg3AxgMFwsgAyABKgIYOAIYIAEoAhQhBQwWCyADIAErAyA5AyAgAyABKQMYNwMYDBULQX8hByABKAIsQX9HDQwMDQsgAS0AESELDBMLIAMgASgCGDYCGAsgASgCFCEFDBELQX8hBSABKAIUQX9HDQsgA0IANwMYDBALQX8hBCABKAIYQX9HDQsMDAtBfyEJIAEoAigiBEF/Rw0MDA4LIAMgASkDGDcDGCADIAEvASA7ASAgASgCFCEFIAEvARIhCCABLQARIQsMDQsgAyABKQMYNwMYIAEoAhQhBQwMCyADIAEpAxg3AxggASgCFCEFDAsLIAEoAiQhAiABKAIgIgQoAgAhBSAEIAVBAWo2AgAgBUEASA0LIANBKGogAUEUahDJDiADIAI2AjggAyAENgI0IAMgAykCLDcDGCADIAMpAjQ3AyAgAygCKCEFDAoLQX4hBSABKAIUIgJBfkcEQEF/IQUgASgCHCEEIAEoAhghBwJAIAJBf0YEQCAHIQIMAQsgBEUEQEEBIQJBACEFDAELIAQQkAEiAkUNFiAEBEAgAiAHIAT8CgAACyAEIQULIAKtIAStQiCGhCEOCyADIA43AxgMCQtBfiEEQX4hBSABKAIUIgdBfkcEQEF/IQUgASgCHCEGIAEoAhghAgJAIAdBf0YEQCACIQcMAQsgBkUEQEEAIQVBASEHDAELIAYQkAEiB0UNDCAGBEAgByACIAb8CgAACyAGIQULIAetIAatQiCGhCEQCyABKAIgIgJBfkcEQEF/IQQgASgCKCEGIAEoAiQhBwJAIAJBf0YEQCAHIQIMAQsgBkUEQEEAIQRBASECDAELIAYQkAEiAkUNDSAGBEAgAiAHIAb8CgAACyAGIQQLAkAgASgCLCIHQX5GBEBCgICAgGAhDwwBCyABKAI0IQogASgCMCEIAn4gB0F/RgRAIAghCUKAgICAcAwBCyAKRQRAQQEhCUIADAELIAoQkAEiCUUNDyAKBEAgCSAIIAr8CgAACyAKrUIghgshDyAJrSAKrUIghoQhDgsgDyAGrYQhDwsgAyACNgIkIAMgBDYCICADIBA3AxggD0IgiKchByAPpyEJDAgLIAEoAjQiBwR+IAEoAjAhBCAHQQxsIgYiAhCQASIFRQ0NIAUhAiAHIQsDQCAGBEBBfyEJIAQoAgghCiAEKAIEIQwCQCAEKAIAQX9GBEAgDCEIDAELIApFBEBBACEJQQEhCAwBCyAKEJABIghFDREgCgRAIAggDCAK/AoAAAsgCiEJCyAEQQxqIQQgAiAJNgIAIAJBCGogCjYCACACQQRqIAg2AgAgAkEMaiECIAZBDGshBiALQQFrIgsNAQsLIAWtBUIECyAHrUIghoQhDgtBfiEFIAEoAhQiAkF+RwRAQX8hBSABKAIcIQQgASgCGCEIAkAgAkF/RgRAIAghBgwBCyAERQRAQQAhBUEBIQYMAQsgBBCQASIGRQ0TIAQEQCAGIAggBPwKAAALIAQhBQtBfiECIAEoAiAiCEF+RwRAQX8hAiABKAIoIQkgASgCJCELAkAgCEF/RgRAIAshCAwBCyAJRQRAQQAhAkEBIQgMAQsgCRCQASIIRQ0QIAkEQCAIIAsgCfwKAAALIAkhAgsgCK0gCa1CIIaEIQ8LIA9CIIinIQkgD6chCAsgAyAINgIkIAMgAjYCICADIAQ2AhwgAyAGNgIYDAYLQX4hBSABKAIUIgJBfkcEQEF/IQUgASgCHCEEIAEoAhghBwJAIAJBf0YEQCAHIQIMAQsgBEUEQEEBIQJBACEFDAELIAQQkAEiAkUNEiAEBEAgAiAHIAT8CgAACyAEIQULIAKtIAStQiCGhCEOCyADIA43AxgMBQsgASgCHCIIQfK4nA5PDQxBACEFAkAgCEHIAGwiBkUEQEEIIQcMAQsgASgCGCEJIAYQkAEiB0UNDiAIRQ0AIAghAgNAIAQgBkcEQCADQShqIgUgBCAJahCKAiAEIAdqIAVByAD8CgAAIARByABqIQQgAkEBayICDQELCyAIIQULIAMgB60gCK1CIIaENwMYDAQLIAEtACQhAiABKAIgIgQEfiABKAIcIQcgBEECdCIFEJABIgZFDQ4gBQRAIAYgByAF/AoAAAsgBq0FQgQLIAStQiCGhCEPIAEpAyghDgsgAyACOgAkIAMgDzcCHCADIAQ2AhggDkIgiKchByAOpyEJDAILIAFBGGohAgJAAkACQAJAAkACQAJAQQUgBEGAgICAeHMgBEEAThtBAWsOBQECAwQFAAsgA0GAgICAeDYCOAwFCyADIAIpAyg3A1AgAyACKQMgNwNIIAMgAikDGDcDQCADIAIpAxA3AzggAyACKQMINwMwIAMgAikDADcDKAwECyADIAIpAyg3A1AgAyACKQMgNwNIIAMgAikDGDcDQCADIAIpAxA3AzggAyACKQMINwMwIAMgAikDADcDKAwDCyADQShqIAEoAhwgASgCIBCUEyADQYOAgIB4NgI4DAILIANBKGogASgCHCABKAIgEPQIIANBhICAgHg2AjgMAQsgA0EoaiACEOQECyADIAMpAzA3AyAgAyADKQMoNwMYIAMgAykDSDcDCCADIAMpA1A3AxAgAygCOCEJIAMoAjwhByADKQNAIQ4MAQtBfiEFIAEoAhQiAkF+RwRAQX8hBSABKAIcIQQgASgCGCEHAkAgAkF/RgRAIAchAgwBCyAERQRAQQAhBUEBIQIMAQsgBBCQASICRQ0NIAQEQCACIAcgBPwKAAALIAQhBQsgAq0gBK1CIIaEIQ4LIAMgDjcDGAtBfiECIAEoAgAiBkF+RwRAQX8hAiABKAIIIQQgASgCBCEMAkAgBkF/RgRAIAwhBgwBCyAERQRAQQAhAkEBIQYMAQsgBBCQASIGRQ0MIAQEQCAGIAwgBPwKAAALIAQhAgsgAS8BDiEMIAEvAQwhAQsgACAFNgIUIAAgCDsBEiAAIAs6ABEgACANOgAQIAAgAykDGDcDGCAAIAMpAyA3AyAgACAONwMwIAAgAykDCDcDOCAAIAMpAxA3A0AgACAMOwEOIAAgATsBDCAAIAQ2AgggACAGNgIEIAAgAjYCACAAIAmtIAetQiCGhDcDKCADQfAAaiQADwsAC0EBEKcUAAtBARCnFAALQQEQpxQAC0EEEKcUAAtBARCnFAALQQEQpxQACxCeFQALQQgQpxQAC0EEEKcUAAtBARCnFAAL/hMCDH8DfiMAQfAAayIDJAACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkAgAS0AECINQQFrDhIAAQIODwMSBAYHCAkXCgsGDA0FCyADIAEpAyA3AyAgAyABKQMYNwMYDBcLIAMgASoCGDgCGCABKAIUIQUMFgsgAyABKwMgOQMgIAMgASkDGDcDGAwVC0F/IQcgASgCLEF/Rw0MDA0LIAEtABEhCwwTCyADIAEoAhg2AhgLIAEoAhQhBQwRC0F/IQUgASgCFEF/Rw0LIANCADcDGAwQC0F/IQQgASgCGEF/Rw0LDAwLQX8hCSABKAIoIgRBf0cNDAwOCyADIAEpAxg3AxggAyABLwEgOwEgIAEoAhQhBSABLwESIQggAS0AESELDA0LIAMgASkDGDcDGCABKAIUIQUMDAsgAyABKQMYNwMYIAEoAhQhBQwLCyABKAIkIQIgASgCICIEKAIAIQUgBCAFQQFqNgIAIAVBAEgNCyADQShqIAFBFGoQyw4gAyACNgI4IAMgBDYCNCADIAMpAiw3AxggAyADKQI0NwMgIAMoAighBQwKC0F+IQUgASgCFCICQX5HBEBBfyEFIAEoAhwhBCABKAIYIQcCQCACQX9GBEAgByECDAELIARFBEBBASECQQAhBQwBCyAEEJABIgJFDRYgBARAIAIgByAE/AoAAAsgBCEFCyACrSAErUIghoQhDgsgAyAONwMYDAkLQX4hBEF+IQUgASgCFCIHQX5HBEBBfyEFIAEoAhwhBiABKAIYIQICQCAHQX9GBEAgAiEHDAELIAZFBEBBACEFQQEhBwwBCyAGEJABIgdFDQwgBgRAIAcgAiAG/AoAAAsgBiEFCyAHrSAGrUIghoQhEAsgASgCICICQX5HBEBBfyEEIAEoAighBiABKAIkIQcCQCACQX9GBEAgByECDAELIAZFBEBBACEEQQEhAgwBCyAGEJABIgJFDQ0gBgRAIAIgByAG/AoAAAsgBiEECwJAIAEoAiwiB0F+RgRAQoCAgIBgIQ8MAQsgASgCNCEKIAEoAjAhCAJ+IAdBf0YEQCAIIQlCgICAgHAMAQsgCkUEQEEBIQlCAAwBCyAKEJABIglFDQ8gCgRAIAkgCCAK/AoAAAsgCq1CIIYLIQ8gCa0gCq1CIIaEIQ4LIA8gBq2EIQ8LIAMgAjYCJCADIAQ2AiAgAyAQNwMYIA9CIIinIQcgD6chCQwICyABKAI0IgcEfiABKAIwIQQgB0EMbCIGIgIQkAEiBUUNDSAFIQIgByELA0AgBgRAQX8hCSAEKAIIIQogBCgCBCEMAkAgBCgCAEF/RgRAIAwhCAwBCyAKRQRAQQAhCUEBIQgMAQsgChCQASIIRQ0RIAoEQCAIIAwgCvwKAAALIAohCQsgBEEMaiEEIAIgCTYCACACQQhqIAo2AgAgAkEEaiAINgIAIAJBDGohAiAGQQxrIQYgC0EBayILDQELCyAFrQVCBAsgB61CIIaEIQ4LQX4hBSABKAIUIgJBfkcEQEF/IQUgASgCHCEEIAEoAhghCAJAIAJBf0YEQCAIIQYMAQsgBEUEQEEAIQVBASEGDAELIAQQkAEiBkUNEyAEBEAgBiAIIAT8CgAACyAEIQULQX4hAiABKAIgIghBfkcEQEF/IQIgASgCKCEJIAEoAiQhCwJAIAhBf0YEQCALIQgMAQsgCUUEQEEAIQJBASEIDAELIAkQkAEiCEUNECAJBEAgCCALIAn8CgAACyAJIQILIAitIAmtQiCGhCEPCyAPQiCIpyEJIA+nIQgLIAMgCDYCJCADIAI2AiAgAyAENgIcIAMgBjYCGAwGC0F+IQUgASgCFCICQX5HBEBBfyEFIAEoAhwhBCABKAIYIQcCQCACQX9GBEAgByECDAELIARFBEBBASECQQAhBQwBCyAEEJABIgJFDRIgBARAIAIgByAE/AoAAAsgBCEFCyACrSAErUIghoQhDgsgAyAONwMYDAULIAEoAhwiCEHyuJwOTw0MQQAhBQJAIAhByABsIgZFBEBBCCEHDAELIAEoAhghCSAGEJABIgdFDQ4gCEUNACAIIQIDQCAEIAZHBEAgA0EoaiIFIAQgCWoQiwIgBCAHaiAFQcgA/AoAACAEQcgAaiEEIAJBAWsiAg0BCwsgCCEFCyADIAetIAitQiCGhDcDGAwECyABLQAkIQIgASgCICIEBH4gASgCHCEHIARBAnQiBRCQASIGRQ0OIAUEQCAGIAcgBfwKAAALIAatBUIECyAErUIghoQhDyABKQMoIQ4LIAMgAjoAJCADIA83AhwgAyAENgIYIA5CIIinIQcgDqchCQwCCyABQRhqIQICQAJAAkACQAJAAkACQEEFIARBgICAgHhzIARBAE4bQQFrDgUBAgMEBQALIANBgICAgHg2AjgMBQsgAyACKQMoNwNQIAMgAikDIDcDSCADIAIpAxg3A0AgAyACKQMQNwM4IAMgAikDCDcDMCADIAIpAwA3AygMBAsgAyACKQMoNwNQIAMgAikDIDcDSCADIAIpAxg3A0AgAyACKQMQNwM4IAMgAikDCDcDMCADIAIpAwA3AygMAwsgA0EoaiABKAIcIAEoAiAQlBMgA0GDgICAeDYCOAwCCyADQShqIAEoAhwgASgCIBD1CCADQYSAgIB4NgI4DAELIANBKGogAhCYBgsgAyADKQMwNwMgIAMgAykDKDcDGCADIAMpA0g3AwggAyADKQNQNwMQIAMoAjghCSADKAI8IQcgAykDQCEODAELQX4hBSABKAIUIgJBfkcEQEF/IQUgASgCHCEEIAEoAhghBwJAIAJBf0YEQCAHIQIMAQsgBEUEQEEAIQVBASECDAELIAQQkAEiAkUNDSAEBEAgAiAHIAT8CgAACyAEIQULIAKtIAStQiCGhCEOCyADIA43AxgLQX4hAiABKAIAIgZBfkcEQEF/IQIgASgCCCEEIAEoAgQhDAJAIAZBf0YEQCAMIQYMAQsgBEUEQEEAIQJBASEGDAELIAQQkAEiBkUNDCAEBEAgBiAMIAT8CgAACyAEIQILIAEvAQ4hDCABLwEMIQELIAAgBTYCFCAAIAg7ARIgACALOgARIAAgDToAECAAIAMpAxg3AxggACADKQMgNwMgIAAgDjcDMCAAIAMpAwg3AzggACADKQMQNwNAIAAgDDsBDiAAIAE7AQwgACAENgIIIAAgBjYCBCAAIAI2AgAgACAJrSAHrUIghoQ3AyggA0HwAGokAA8LAAtBARCnFAALQQEQpxQAC0EBEKcUAAtBBBCnFAALQQEQpxQAC0EBEKcUAAsQnhUAC0EIEKcUAAtBBBCnFAALQQEQpxQAC9YRAgp/AX4jAEFAaiICJAACQAJAAkACQAJAAkACQAJAAkACQAJAIAFCFFoEQCACIAFCBIgQjAIgAi0ADCACQRBqIAIoAgQiCCACKAIIIgMgCCADELUOQQEhB0EBRw0BIAJBADYCGCACKAIQIgRBBEkNAiACKAIUIgVBBGsoAgAiA0F4cSEGIAYgBEECdCIEQQRBCCADQQNxIgMbakkNCiADQQBHIAYgBEEnaktxDQsgBRC8BSACQoCAgIDAADcCEAwCCyABpyEFQgohAUIBIQwDQAJAIAVBAXEEQCABIAx+IQwgBUEBRg0BCyAFQQF2IQUgASABfiEBDAELCyAMUARAIABBADYCCCAAQoCAgIDAADcCACAAQQE6AAwMCQsgAkEANgIYIAJCgICAgMAANwIQQQEhBUEEIQcDQCACKAIQIAVBAWtGBEAgAkEQahC8EiACKAIUIQcLIAcgCGogDD4CACAIQQRqIQggAiAFNgIYIAVBAWohBSAMQiCIIgxCAFINAAsgACACKAIYNgIIIAAgAikCEDcCACAAQQI6AAwMCAsgAigCGEUhBwsgAiACKAIYNgI4IAIgAikCEDcDMCACKAIAIgQEQCAIQQRrKAIAIgNBeHEhBSAFIARBAnQiBEEEQQggA0EDcSIDG2pJDQggA0EARyAFIARBJ2pLcQ0JIAgQvAULIAIgAigCOCIDNgIIIAIgAikDMDcDACACQRBqIAIoAgQiCCADIAggAxC1DgJAIAdFBEAgAigCGEUhBwwBCyACQQA2AhhBASEHIAIoAhAiBEEESQ0AIAIoAhQiBUEEaygCACIDQXhxIQYgBiAEQQJ0IgRBBEEIIANBA3EiAxtqSQ0IIANBAEcgBiAEQSdqS3ENCSAFELwFIAJCgICAgMAANwIQCyACIAIoAhg2AjggAiACKQIQNwMwIAIoAgAiBARAIAhBBGsoAgAiA0F4cSEFIAUgBEECdCIEQQRBCCADQQNxIgMbakkNCCADQQBHIAUgBEEnaktxDQkgCBC8BQsgAiACKAI4IgM2AgggAiACKQMwNwMAIAJBEGogAigCBCIIIAMgCCADELUOAkAgB0UEQCACKAIYRSEHDAELIAJBADYCGEEBIQcgAigCECIEQQRJDQAgAigCFCIFQQRrKAIAIgNBeHEhBiAGIARBAnQiBEEEQQggA0EDcSIDG2pJDQggA0EARyAGIARBJ2pLcQ0JIAUQvAUgAkKAgICAwAA3AhALIAIgAigCGDYCOCACIAIpAhA3AzAgAigCACIEBEAgCEEEaygCACIDQXhxIQUgBSAEQQJ0IgRBBEEIIANBA3EiAxtqSQ0IIANBAEcgBSAEQSdqS3ENCSAIELwFCyACIAIoAjgiAzYCCCACIAIpAzA3AwAgAkEQaiACKAIEIgYgAyAGIAMQtQ4CQCAHRQRAQQJBASACKAIYGyEIDAELIAJBADYCGEEBIQggAigCECIEQQRJDQAgAigCFCIHQQRrKAIAIgNBeHEhBSAFIARBAnQiBEEEQQggA0EDcSIDG2pJDQggA0EARyAFIARBJ2pLcQ0JIAcQvAUgAkKAgICAwAA3AhALIAIgAigCGDYCOCACIAIpAhA3AzAgAigCACIEBEAgBkEEaygCACIDQXhxIQcgByAEQQJ0IgRBBEEIIANBA3EiAxtqSQ0IIANBAEcgByAEQSdqS3ENCSAGELwFCyACIAIoAjg2AgggAiACKQMwNwMAIAIgCDoADCABQg+DIgFQBEAgACACKQMINwIIIAAgAikDADcCAAwHCyACKAIIIQogAigCBCEFIAIoAgAhByACQRBqIAEQjAIgAigCGCEJIAIoAhQhBCACKAIQIQMgCEEBRg0EIAItABwiC0EBRg0EIApBAEdBACAJG0UEQCACQQA2AiggAkKAgICAwAA3AyAMAQsCQCAJQQFHBEAgCkEBRw0BIAUoAgAhBiACIAk2AjggAiAENgI0IAIgAzYCMCACQTBqIAYQ0QogAiACKAI4NgIoIAIgAikCMDcDIAwDCyAEKAIAIQYgAiAKNgI4IAIgBTYCNCACIAc2AjAgAkEwaiAGENEKIAIgAigCODYCKCACIAIpAjA3AyAgBCEFIAMiB0UNBAwDCyACQSBqIAUgCiAEIAkQ/AsMAAsgA0UNACAEQQRrKAIAIghBeHEhCSAJIANBAnQiBkEEQQggCEEDcSIDG2pJDQYgA0EARyAJIAZBJ2pLcQ0HIAQQvAULIAdFDQELIAVBBGsoAgAiA0F4cSEGIAYgB0ECdCIEQQRBCCADQQNxIgMbakkNBCADQQBHIAYgBEEnaktxDQUgBRC8BQwACyALQQEgAigCKBshBQwBCwJAAkACQAJAIApBAEdBACAJG0UEQCACQoCAgIDAADcDIAwBCwJAIAlBAUcEQCAKQQFHDQEgBSgCACEGIAIgCTYCOCACIAQ2AjQgAiADNgIwIAJBMGogBhDRCiACIAIpAzA3AyAMAwsgBCgCACEGIAIgCjYCOCACIAU2AjQgAiAHNgIwIAJBMGogBhDRCiACIAIpAzA3AyAgBCEFIAMiB0UNBAwDCyACQSBqIAUgCiAEIAkQ/AsLIANFDQAgBEEEaygCACIIQXhxIQsgCyADQQJ0IgZBBEEIIAhBA3EiAxtqSQ0FIANBAEcgCyAGQSdqS3ENBiAEELwFCyAHRQ0BCyAFQQRrKAIAIgNBeHEhBiAGIAdBAnQiBEEEQQggA0EDcSIDG2pJDQMgA0EARyAGIARBJ2pLcQ0EIAUQvAUMAAsgAkEANgIoQQEhBSACKAIgIgRBBEkNACACKAIkIgdBBGsoAgAiA0F4cSEGIAYgBEECdCIEQQRBCCADQQNxIgMbakkNAiADQQBHIAYgBEEnaktxDQMgBxC8BSACQoCAgIDAADcDIAsgACAFOgAMIAAgAikDIDcCACAAIAIoAig2AggMAAsgAkFAayQADwtB0JzJAEEuQYCdyQAQrxQAC0GQnckAQS5BwJ3JABCvFAAL9RMCDH8DfiMAQfAAayIDJAACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkAgAS0AECINQQFrDhIAAQIODwMSBAYHCAkXCgsGDA0FCyADIAEpAyA3AyAgAyABKQMYNwMYDBcLIAMgASoCGDgCGCABKAIUIQUMFgsgAyABKwMgOQMgIAMgASkDGDcDGAwVC0F/IQcgASgCLEF/Rw0MDA0LIAEtABEhCwwTCyADIAEoAhg2AhgLIAEoAhQhBQwRC0F/IQUgASgCFEF/Rw0LIANCADcDGAwQC0F/IQQgASgCGEF/Rw0LDAwLQX8hCCABKAIoIgRBf0cNDAwOCyADIAEpAxg3AxggAyABLwEgOwEgIAEoAhQhBSABLwESIQkgAS0AESELDA0LIAMgASkDGDcDGCABKAIUIQUMDAsgAyABKQMYNwMYIAEoAhQhBQwLCyABKAIkIQIgASgCICIEKAIAIQUgBCAFQQFqNgIAIAVBAEgNCyADQShqIAFBFGoQzA4gAyACNgI4IAMgBDYCNCADIAMpAiw3AxggAyADKQI0NwMgIAMoAighBQwKC0F+IQUgASgCFCICQX5HBEBBfyEFIAEoAhwhBCABKAIYIQcCQCACQX9GBEAgByECDAELIARFBEBBASECQQAhBQwBCyAEEJABIgJFDRYgBARAIAIgByAE/AoAAAsgBCEFCyACrSAErUIghoQhDgsgAyAONwMYDAkLQX4hBEF+IQUgASgCFCIHQX5HBEBBfyEFIAEoAhwhBiABKAIYIQICQCAHQX9GBEAgAiEHDAELIAZFBEBBACEFQQEhBwwBCyAGEJABIgdFDQwgBgRAIAcgAiAG/AoAAAsgBiEFCyAHrSAGrUIghoQhEAsgASgCICICQX5HBEBBfyEEIAEoAighBiABKAIkIQcCQCACQX9GBEAgByECDAELIAZFBEBBACEEQQEhAgwBCyAGEJABIgJFDQ0gBgRAIAIgByAG/AoAAAsgBiEECwJAIAEoAiwiB0F+RgRAQoCAgIBgIQ8MAQsgASgCNCEKIAEoAjAhCQJ+IAdBf0YEQCAJIQhCgICAgHAMAQsgCkUEQEEBIQhCAAwBCyAKEJABIghFDQ8gCgRAIAggCSAK/AoAAAsgCq1CIIYLIQ8gCK0gCq1CIIaEIQ4LIA8gBq2EIQ8LIAMgAjYCJCADIAQ2AiAgAyAQNwMYIA9CIIinIQcgD6chCAwICyABKAI0IgcEfiABKAIwIQQgB0EMbCIGIgIQkAEiBUUNDSAFIQIgByELA0AgBgRAQX8hCCAEKAIIIQogBCgCBCEMAkAgBCgCAEF/RgRAIAwhCQwBCyAKRQRAQQAhCEEBIQkMAQsgChCQASIJRQ0RIAoEQCAJIAwgCvwKAAALIAohCAsgBEEMaiEEIAIgCDYCACACQQhqIAo2AgAgAkEEaiAJNgIAIAJBDGohAiAGQQxrIQYgC0EBayILDQELCyAFrQVCBAsgB61CIIaEIQ4LQX4hBSABKAIUIgJBfkcEQEF/IQUgASgCHCEEIAEoAhghCQJAIAJBf0YEQCAJIQYMAQsgBEUEQEEAIQVBASEGDAELIAQQkAEiBkUNEyAEBEAgBiAJIAT8CgAACyAEIQULQX4hAiABKAIgIglBfkcEQEF/IQIgASgCKCEIIAEoAiQhCwJAIAlBf0YEQCALIQkMAQsgCEUEQEEAIQJBASEJDAELIAgQkAEiCUUNECAIBEAgCSALIAj8CgAACyAIIQILIAmtIAitQiCGhCEPCyAPQiCIpyEIIA+nIQkLIAMgCTYCJCADIAI2AiAgAyAENgIcIAMgBjYCGAwGC0F+IQUgASgCFCICQX5HBEBBfyEFIAEoAhwhBCABKAIYIQcCQCACQX9GBEAgByECDAELIARFBEBBASECQQAhBQwBCyAEEJABIgJFDRIgBARAIAIgByAE/AoAAAsgBCEFCyACrSAErUIghoQhDgsgAyAONwMYDAULIAEoAhwiBUHyuJwOTw0MAkAgBUHIAGwiCkUEQEEIIQcMAQsgASgCGCEIIAoQkAEiB0UNDiAFRQ0AIAUhAgNAIAQgCkYNASADQShqIgYgBCAIahCNAiAEIAdqIAZByAD8CgAAIARByABqIQQgAkEBayICDQALCyADIAetIAWtQiCGhDcDGAwECyABLQAkIQIgASgCICIEBH4gASgCHCEHIARBAnQiBRCQASIGRQ0OIAUEQCAGIAcgBfwKAAALIAatBUIECyAErUIghoQhDyABKQMoIQ4LIAMgAjoAJCADIA83AhwgAyAENgIYIA5CIIinIQcgDqchCAwCCyABQRhqIQICQAJAAkACQAJAAkACQEEFIARBgICAgHhzIARBAE4bQQFrDgUBAgMEBQALIANBgICAgHg2AjgMBQsgAyACKQMoNwNQIAMgAikDIDcDSCADIAIpAxg3A0AgAyACKQMQNwM4IAMgAikDCDcDMCADIAIpAwA3AygMBAsgAyACKQMoNwNQIAMgAikDIDcDSCADIAIpAxg3A0AgAyACKQMQNwM4IAMgAikDCDcDMCADIAIpAwA3AygMAwsgA0EoaiABKAIcIAEoAiAQlBMgA0GDgICAeDYCOAwCCyADQShqIAEoAhwgASgCIBD6CCADQYSAgIB4NgI4DAELIANBKGogAhDmBAsgAyADKQMwNwMgIAMgAykDKDcDGCADIAMpA0g3AwggAyADKQNQNwMQIAMoAjghCCADKAI8IQcgAykDQCEODAELQX4hBSABKAIUIgJBfkcEQEF/IQUgASgCHCEEIAEoAhghBwJAIAJBf0YEQCAHIQIMAQsgBEUEQEEAIQVBASECDAELIAQQkAEiAkUNDSAEBEAgAiAHIAT8CgAACyAEIQULIAKtIAStQiCGhCEOCyADIA43AxgLQX4hAiABKAIAIgZBfkcEQEF/IQIgASgCCCEEIAEoAgQhDAJAIAZBf0YEQCAMIQYMAQsgBEUEQEEAIQJBASEGDAELIAQQkAEiBkUNDCAEBEAgBiAMIAT8CgAACyAEIQILIAEvAQ4hDCABLwEMIQELIAAgBTYCFCAAIAk7ARIgACALOgARIAAgDToAECAAIAMpAxg3AxggACADKQMgNwMgIAAgDjcDMCAAIAMpAwg3AzggACADKQMQNwNAIAAgDDsBDiAAIAE7AQwgACAENgIIIAAgBjYCBCAAIAI2AgAgACAIrSAHrUIghoQ3AyggA0HwAGokAA8LAAtBARCnFAALQQEQpxQAC0EBEKcUAAtBBBCnFAALQQEQpxQAC0EBEKcUAAsQnhUAC0EIEKcUAAtBBBCnFAALQQEQpxQAC/4UAgl/An4jAEHQAWsiAyQAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkAgASgCACIEIAEoAgQiCUYNACABIARBGGoiAjYCACAAKAIAIQUgASgCDCEKIAEoAgghBwJAAkAgBCgCACIIQQJHBEAgBEEEaiEGIAgNBiAHLwAAIAdBAmotAABBEHRyIQggBCgCBEEIaiAEQQhqKAIAEPcQLQBYQQJHDQEgCEEBcUUNASAEIQIMBQsgBy0AAUEBRw0GDAELIAhBAXENAgsgAiAJRg0AA0AgASACQRhqIgQ2AgACQCACKAIAIgZBAkYEQCAHLQABDQFBfSEFIAIhBAwHCwJAIAZFBEAgBy8AACAHQQJqLQAAQRB0ciIIQQFxIgUgAkEEaiIGKAIAQQhqIAJBCGooAgAQ9xAtAFhBAkZxDQEgBUUNAkF9IQUgAiEEDAULIAJBBGohBkF9IQUMBgsgAkEEaiEGQX0hBQwECyAJIAQiAkcNAAsLIABBfTYCAAwICyAAIAU2AgACQCAEKAIIIgIgBigCACIBKAIcIgRJBEAgASgCGCACQfAAbGoiAigCaCEEIAIoAmQhAiABIAEoAgAiBUEBajYCACAFQQBIDQcgAyAENgK0ASADIAI2ArABIAMgATYCrAEgA0EANgKoASADQTRqIAogA0GoAWogCBDECiADQSBqIAYoAgBBCGogBkEEaigCABDRECADKAIkIgFBAEgNBSABRQRAQQEhBAwCCyADKAIgIQIgARCQASIERQ0MIAFFDQEgBCACIAH8CgAADAELIAIgBEHk/sgAEIUTAAtB5AAQkAEiAgRAIAIgA0E0akHkAPwKAAAgAEEAOwFEIAAgATYCQCAAIAQ2AjwgACABNgI4IABCBDcDMCAAQgE3AyggACACNgIkIABBATYCICAAQX42AgAMCAsMCAsgACAFNgIAAkACQCACKAIIIgEgBigCACICKAIcIgRJBEAgAigCGCABQfAAbGoiASgCaCEHIAEoAmQhCCACIAIoAgAiAUEBajYCACABQQBIDQcgAiACKAIAIgFBAWo2AgAgAUEASA0HIAIgAigCACIBQQFqNgIAIAFBAEgNB0EYEJABIgVFDQsgBUEAOgAUIAVBhOfHADYCDCAFQQE2AgggBUKBgICAEDcCACACIAIoAgAiAUEBazYCACABQQFGBEAgAhAwCyADQRhqIAYoAgBBCGogBkEEaigCABDRECADKAIcIgRBAEgNBSAEDQFBASEGDAILIAEgBEHk/sgAEIUTDAYLIAMoAhghASAEEJABIgZFBEAMCwsgBEUNACAGIAEgBPwKAAALQeQAEJABIgEEQCABIAU2AmAgAUEAOgBcIAEgBzYCTCABIAg2AkggASACNgJEIAFBADYCQCABQRs6ADwgAUF/NgIsIAEgBzYCKCABIAg2AiQgASACNgIgIAFBADYCHCABQX82AhAgAUKBgICAEDcCCCABQoGAgIAQNwIAIABBADsBRCAAIAQ2AkAgACAGNgI8IAAgBDYCOCAAQgQ3AzAgAEIBNwMoIAAgATYCJCAAQQE2AiAgAEF+NgIADAcLDAcLIAAgBTYCAAJAQeQAEJABIgEEQCABQQRqEL8RIAFBAzYCACADQQE2ArABIAMgATYCrAEgA0EBNgKoASAGELUQDQEgBhCtEA0BQQ4QkAEiBEUNCiAEQfD8xwApAAA3AAYgBEHq/McAKQAANwAAQRgQkAEiAkUNCSACQQA6ABQgAkHU5scANgIMIAJBATYCCCACQoGAgIAQNwIAIANBqAFqEJgSIAMoAqwBIgEgAjYCxAEgAUEAOgDAASABQQ42AqwBIAEgBDYCqAEgAUEONgKkASABQTA6AKABIAFBfzYCkAEgAUECNgKAASABQX82AnQgAUEANgJsIAFBADYCZCADQQI2ArABDAELDAcLIANBKGogBhDwDiADKAIsIgFBAEgNAQJAIAFFBEBBASECDAELIAMoAighBCABEJABIgJFBEAMCgsgAUUNACACIAQgAfwKAAALIABBIGoiBCADKAKwATYCCCAEIAMpAqgBNwIAIABBADsBRCAAIAE2AkAgACACNgI8IAAgATYCOCAAQQA2AjQgAEKAgICAwAA3AiwgAEF+NgIADAULIAAgBTYCAAJAAkAgBEEEaiIGEK0QRQRAIAYpAgAhCyAGKQIIIQwgBCgCFCICKAIAIQEgAiABQQFqNgIAIAMgDDcDyAEgAyALNwPAASABQQBIDQUgAyADKQPIATcDsAEgAyADKQPAATcDqAEgAyACNgK4ASADQZwBaiADQagBahDxCiADQQE2ApgBIAMoApwBIgUoAgAhASAFIAFBAWo2AgAgAUEASA0FIAMoAqQBIQggAygCoAEhCSAFIAUoAgAiAUEBajYCACABQQBIDQVBGBCQASIBRQ0JIAEgAykCoAE3AgggASADKQKYATcCACABQQA6ABYgAUEAOwEUIAEgCjYCEEEYEJABIgdFDQkgB0EAOgAUIAdBxObHADYCDCAHIAE2AgggB0KBgICAEDcCACACIAIoAgAiAUEBazYCACABQQFGBEAgAhAwCyADQRBqIAYQ8A4gAygCFCICQQBIDQMgAg0BQQEhBAwGCyADQawBaiAGEPEKIANBATYCqAEgAygCrAEiAigCACEBIAIgAUEBajYCACABQQBIDQQgAygCtAEhByADKAKwASEIIAIgAigCACIBQQFqNgIAIAFBAEgNBEEYEJABIgVFDQggBUEAOgAUIAVBhOfHADYCDCAFQQE2AgggBUKBgICAEDcCACACIAIoAgAiAUEBazYCACABQQFGBEAgAygCrAEQMAsgA0EIaiAGEPAOIAMoAgwiBEEASA0CIARFBEBBASEGDAQLIAMoAgghASAEEJABIgYNAQwJCyADKAIQIQEgAhCQASIERQRADAkLIAJFDQQgBCABIAL8CgAADAQLIARFDQEgBiABIAT8CgAADAELEJ4VAAtB5AAQkAEiAQRAIAEgBTYCYCABQQA6AFwgASAHNgJMIAEgCDYCSCABIAI2AkQgAUEBNgJAIAFBGzoAPCABQX82AiwgASAHNgIoIAEgCDYCJCABIAI2AiAgAUEBNgIcIAFBfzYCECABQoGAgIAQNwIIIAFCgYCAgBA3AgAgAEEAOwFEIAAgBDYCQCAAIAY2AjwgACAENgI4IABCBDcDMCAAQgE3AyggACABNgIkIABBATYCICAAQX42AgAMAwsMAwsAC0HkABCQASIBRQ0BIAEgBzYCYCABQQA6AFwgASAINgJYIAEgCTYCVCABIAU2AlAgAUKAgICAEDcCSCABQoCAgIAQNwJAIAFBGDoAPCABQX82AiwgASAINgIoIAEgCTYCJCABIAU2AiAgAUEBNgIcIAFBfzYCECABQoGAgIAQNwIIIAFCATcCACAAQgQ3AzAgAEIBNwMoIABBADsBRCAAIAI2AkAgACAENgI8IAAgAjYCOCAAIAE2AiQgAEEBNgIgIABBfjYCAAsgA0HQAWokAA8LQbjwyQBBAToAAAALQbjwyQBBAToAAAALQQEQpxQAC/cWARZ/IwBBsAdrIgMkACACKAIIIQYgA0IANwOoASADQoCAgICgBjcDoAEgA0KAgICAwAA3A5gBQX8hCSADQX82AiggA0EANgIQIANCADcDsAEgA0EAOgDAASADQoCAgIBwNwO4ASADIAIoAgA2ApABIAMgAigCBCICNgKMASADIAI2AogBIAMgAiAGQfAAbGo2ApQBIANBATYCyAEgBkEybiICIAYgAkEybEZrIRUgA0GoBGohCiADQcAGaiICQRRqIQ8gAkEIaiELIANB0QZqIRAgA0HjBWohESADQaQEaiESIANBoARqIRYgA0H0AmohFyADQeACaiEMIANB/AFqIQ0gA0HUAWohEyACQQRqIRQgA0EQaiEOQQAhAkEAIQYCQAJAAkADQCADQX82AggCQAJAIAIgAygCtAFJDQACQAJAIAMoArABIgcgAksNACACIAdGBEAgAygCoAEgAiADKAK4AWtLDQEgAy0AwAENAyADQcAGaiAOEKkJDAILIAMtAMABDQIgA0HABmogDhDpAQwBCyADQcAGaiAOIAIQkQoLIAMoAgghByADKALQBiIEQX9HDQEgByEJCyADIAlBAWo2AgggA0EIahCaDCAAQX42AgAMBAsgAyADKQPIBjcD2AMgAyADKQPABjcD0AMgDSAPQdwA/AoAACADIAdBAWo2AgggFCADKQPYAzcCCCAUIAMpA9ADNwIAIAMgAykCwAY3A9ABIAMgAykCyAY3A9gBIAMgAygC0AY2AuABIAMgEykCADcD6AEgAyATKQIINwPwASADQX42AvACIAMgAjYC3AIgAyAENgL4ASADIANBCGo2AtgCQRIQkAEiAkUNASACQd3RxQAvAAA7ABAgAkHV0cUAKQAANwAIIAJBzdHFACkAADcAACADQRI2AsgGIAMgAjYCxAYgA0ESNgLABiABIANBwAZqIgQQ/A1BARCQASICRQ0CIAZBAWohByACQSg6AAAgA0EBNgLIBiADIAI2AsQGIANBATYCwAYgASAEEPwNIAMoAvACIQIgAygC+AEhBANAIANBfjYC8AICQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkAgAkF+RwRAIAMgAjYCoAQgAyAMKQMINwOYBCADIAwpAwA3A5AEIBIgF0HcAPwKAAAMAQsgAygC+AEhAiADQX82AvgBIAJBf0cEQCADIAMpA/ABNwOYBCADIAMpA+gBNwOQBCADIAI2AqAEIBIgDUHcAPwKAABBfyEEDAILAkACQCADKALYAiICKAIARQRAIAMoAtwCIQQgAkF/NgIA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ACADQdQAbGoiASgCAEGCgICAeEcNBiACIAEpAgg3AgggAiAAQeAAajYCECACIABBEGo2AhQgAkF/NgIYCyACIAJBGGqtQoCAgIDwGoQ3A2AgAiACQRRqrUKAgICA4CaENwNYIAIgAkEQaq1CgICAgPAmhDcDUCACIAJBCGqtQoCAgIDQAYQ3A0ggBSAGQcyQwgAgAkHIAGoQsQkhASACKAIYIgBBf0YNACAARQ0AIAIoAhwiBkEEaygCACIFQXhxIQMgA0EEQQggBUEDcSIFGyAAakkNASAFQQBHIAMgAEEnaktxDQIgBhC8BQsgAkGgAmokACABDwtB0JzJAEEuQYCdyQAQrxQAC0GQnckAQS5BwJ3JABCvFAALIAEgA0HMu8QAEIUTAAsgAyAEQcy7xAAQhRMAC0HMu8QAEJ0VAAtB8LXJAEE3IAJBnwJqQfSWxgBBqLbJABDaEgALsBMBFX8jAEFAaiIDJABBASECAkAgASgCAEEBRgRAIAEoAgQiBiABKAIITw0BIAEgBkEBajYCBAsgASgCjAEiAiABKAKIASIMRgRAIAEoAiAhDiABKAIsIQoLIAEoAhQhBgJAIAEtAJABQQJHBEAgBiEHDAELIAYhByABLQCRAUUNACABKAIMIAZGBEAgAUEMahCaEgsgASgCECAGQRRsaiICIAw2AgggAkEANgIEIAJBADoAACABIAZBAWoiBzYCFCABKAKMASECCyACIAxGBEAgASgCLCABKAIgaiEPCyABKAJ4IREgASgCXCESAkACQAJAAkACQAJAAkACQAJAAkACQAJAIAEoAgBBAUYEQCABKAIEIgIgASgCCE8NASABIAJBAWo2AgQLIAMgASgCiAEiAjYCKCADIAEpAoABNwMgAkAgAiABKAKEAU8NACABQYABaigCACACai0AAEEiRw0AIAEgAkEBajYCiAFBASEECwJAAkACQCABLQB8QQFGBEBBARCQASIFRQ0BIAVBIjoAACADQQE2AjwgAyAFNgI4IANCgICAgBA3AjAgASACIANBMGogBBD5CAsgBEUNAiABKAIAQQFGBEAgASgCBCICIAEoAghPDQMgASACQQFqNgIEC0EAIQRBACEFIAEoAowBIgggASgCiAEiAkYEQCABKAIgIQUgASgCLCEECyABKAIUIQkgAS0AkAFBAkcNASABLQCRAUUNASABKAIMIAlGBEAgAUEMahCaEiABKAKMASEICyABIAlBAWo2AhQgASgCECAJQRRsaiILIAI2AgggC0EANgIEIAtBADoAAAwBC0EBEKcUAAtBACELIAIgCEYEQCABKAIsIAEoAiBqIQsLIAEoAnghEyABKAJcIRQCQAJAAkACQAJAAkAgASgCAEEBRgRAIAEoAgQiDSABKAIIIhVPDQQgASANQQFqIhY2AgQgAS0AkQEiEA0BIBUgFk0NBCABIA1BAmo2AgQMBQsgAS0AkQEiEEUNBCABQQA6AJEBDAELIAFBADoAkQEgFSAWTQ0BIAEgDUECajYCBAsgA0EYaiABENgDIAMoAhwhASADKAIYQQFxRQRAA0AgA0EQaiABENgDIAMoAhQhASADKAIQQQFxRQ0ACwsgASAQOgCRAQwDCyABIBA6AJEBCyABLQCQAUEBRg0CAkAgAS0AkQFFDQACQCACIAhGBEAgCyABKAIgIgIgASgCLCIIaiINSSANIAtrQQFGcQ0CIAIgBU8EQCABIAU2AiAgBSECCyAEIAhLDQEgASAENgIsDAELIAIgCE0NASABIAI2AowBQQAhAiABQQA2AiwgAUEANgIgCyABKAIYIAJGBEAgAUEYahCjEgsgASACQQFqNgIgIAEoAhwgAmpBOzoAAAsCQCABLQB8QQFHDQAgAS0AkQFFDQAgAUHUAGpBOyAUQQAgASgCeCATTRsQkwULIAEtAJABQQJHDQIgAS0AkQFFDQIgCSABKAIUSw0CIAEgCTYCFAwCCyADQQhqIAEQ2AMgAygCDCEBIAMoAghBAXENAANAIAMgARDYAyADKAIEIQEgAygCAEEBcUUNAAsLAkAgAS0AkAEiCEEBRgR/IAEtAJEBRQ0BAkAgAiABKAKMASIIRgRAIAsgASgCLCICIAEoAiAiCGoiDUkgDSALa0EBRnENAyAFIAhNBEAgASAFNgIgCyACIARJDQEgASAENgIsIAQhAgwBCyACIAhNDQIgASACNgKMAUEAIQIgAUEANgIsIAFBADYCIAsgASgCJCACRgRAIAFBJGoQoxILIAEoAiggAmpBOzoAACABIAJBAWo2AiwgAS0AkAEFIAgLQf8BcUECRw0AIAEtAJEBRQ0AAkAgCSABKAIUIgJJBEAgASgCECAJQRRsaiIELQAADQEgBCACNgIEIAEoAogBIQUgASgCFCIEIAEoAgxGBEAgAUEMahCaEgsgASgCECAEQRRsaiICIAU2AhAgAkEANgIIIAIgCTYCBCACQYH2ADsBACABIARBAWo2AhQMAgsgCSACQZyKyAAQhRMAC0Ggq8kAQShBrIrIABCvFAALIAFB1ABqIQUCQCABLQB8RQ0AIAEtAJEBRQ0AIAVBOyAUQQAgASgCeCATTRsQkwULQQAhAgJAIAEoAogBIgQgASgChAFPDQAgASgCgAEgBGotAABBIkcNACABIARBAWo2AogBQQEhAgsgAS0AfEEBRgRAQQEQkAEiCUUNCSAJQSI6AAAgA0EBNgI8IAMgCTYCOCADQoCAgIAQNwIwIAEgBCADQTBqIAIQ+QgLIAJFDQAgAS0AkAEiAkEBRw0EIAEtAJEBRQ0MIAEoAowBIgIgDEcNAiAPIAEoAiwiAiABKAIgIgdqIgRJIAQgD2tBAUZxDQwgByAOTwRAIAEgDjYCIAsgAiAKSQ0DIAEgCjYCLCAKIQIMAwsgASADKAIoNgKIASABIAMpAyA3AoABIAcgASgCFEsNACABIAc2AhQLQQEhAiABLQCQAUEBRg0LIAEtAJEBRQ0FIAEoAowBIgIgDEcNAyAPIAEoAiAiAiABKAIsIgdqIgRJIAQgD2tBAUZxDQUgAiAOTwRAIAEgDjYCICAOIQILIAcgCkkNBCABIAo2AiwMBAsgAiAMTw0JIAEgDDYCjAFBACECIAFBADYCLCABQQA2AiALIAEoAiQgAkYEQCABQSRqEKMSCyABKAIoIAJqQTw6AAAgASACQQFqNgIsIAEtAJABIQILIAJB/wFxQQJHDQcgAS0AkQFFDQcgASgCFCICIAZNDQQgASgCECAGQRRsaiIHLQAADQUgByACNgIEIAEoAogBIQogASgCFCIHIAEoAgxGBEAgAUEMahCaEgsgASgCECAHQRRsaiICIAo2AhAgAkEANgIIIAIgBjYCBCACQYH4ADsBACABIAdBAWo2AhQMBwsgAiAMTw0BIAEgDDYCjAFBACECIAFBADYCLCABQQA2AiALIAEoAhggAkYEQCABQRhqEKMSCyABIAJBAWo2AiAgASgCHCACakE8OgAAC0EBIQIgAS0AfEEBRw0DIAEtAJEBRQ0DIAFB1ABqQTwgEkEAIAEoAnggEU0bEJMFDAMLQQEQpxQACyAGIAJBnIrIABCFEwALQaCryQBBKEGsisgAEK8UAAsgAS0AkAFBAkcNASABLQCRAUUNASAGIAEoAhRLDQEgASAGNgIUDAELQQAhAiABLQB8RQ0AIAEtAJEBRQ0AIAVBPCASQQAgASgCeCARTRsQkwULIAAgATYCBCAAIAI2AgAgA0FAayQAC8MTAhF/BH4jAEGwAWsiAyQAAkACQAJAQfADEJABIgcEQCAHQQA7AeoDIAdBADYC4AIgASgCCCEEIAEoAgQhAiADIAEoAgA2AjggAyACNgI0IAMgAjYCMCADQX02AhAgAyACIARBMGxqIgw2AjwgA0GEAWohCiADQYABaiEPIANBFGohC0F9IQYgByEEA0ACQAJAAn8gBkF9RwRAIAMgAykDCDcDqAEgAyADKQMANwOgASACIQEgBiENIAsMAQsgAiAMRg0BIAMgAkEwaiIBNgI0IAMgAikDADcDoAEgAyACKQMINwOoASACKAIQIQ0gAkEUagshAiANQX5HDQEgASECCyADQX02AhAgDCACa0EwbiEEAkAgAiAMRwRAIAJBEGohAQNAIAFBEGsoAgAiCARAIAFBDGsoAgAiBUEEaygCACICQXhxIQYgBkEEQQggAkEDcSICGyAIakkNAyACQQBHIAYgCEEnaktxDQcgBRC8BQsgASgCAEF/RwRAIAEQhwQLIAFBMGohASAEQQFrIgQNAAsLAkAgAygCOCIFBEAgAygCMCIEQQRrKAIAIgFBeHEhBiAGQQRBCCABQQNxIgIbIAVBMGwiAXJJDQEgAkEARyAGIAFBJ2pLcQ0GIAQQvAULAkAgEEUNACAHIQQgECEJA0ACQAJAIAQvAeoDIgEEQCAEIAFBAWsiDkECdGoiAigC9AMiAS8B6gMiCkEFTw0CQQUgCmtB//8DcSIMIAIoAvADIhEvAeoDIgVLDQEgESAFIAxrIgs7AeoDIAFBBTsB6gMgAUHkAmohDyAKQQxsIgIEQCAPIAxBDGxqIA8gAvwKAAALIApBBXQiAgRAIAEgDEEFdGogASAC/AoAAAsgESALQQxsaiENIAUgC0EBaiIIayICQQxsIgYEQCAPIA1B8AJqIAb8CgAACyACQQV0IgUEQCABIBEgCEEFdGogBfwKAAALIAMgESALQQV0aiICKQMYNwOIASADIAIpAxA3A4ABIAMgAikDCDcDeCADIAIpAwA3A3AgAyAEIA5BDGxqIgsoAuwCNgJIIAMgCykC5AI3A0AgDUHsAmooAgAhAiALIA1B5AJqKQIANwLkAiALIAI2AuwCIAMgBCAOQQV0aiICKQMYNwMYIAMgAikDEDcDECADIAIpAwg3AwggAyACKQMANwMAIAIgAykDcDcDACACIAMpA4ABNwMQIAIgAykDiAE3AxggAiADKQN4NwMIIAYgD2oiAiADKQNANwIAIAIgAygCSDYCCCABIAVqIgIgAykDGDcDGCACIAMpAxA3AxAgAiADKQMINwMIIAIgAykDADcDACAJQQFGDQQgDEECdCEFIAFB8ANqIQQgCkECdEEEaiICBEAgBCAFaiAEIAL8CgAACyAFBEAgBCARIAhBAnRqQfADaiAF/AoAAAsgASgC8AMiAkEAOwHoAyACIAE2AuACIAEoAvQDIgJBATsB6AMgAiABNgLgAiABKAL4AyICQQI7AegDIAIgATYC4AIgASgC/AMiAkEDOwHoAyACIAE2AuACIAEoAoAEIgJBBDsB6AMgAiABNgLgAiABKAKEBCICQQU7AegDIAIgATYC4AIMAgtB/PPGAEEZQZj0xgAQrxQAC0Go9MYAQSdB0PTGABCvFAALIAEhBCAJQQFrIgkNAAsLIAAgEjYCCCAAIBA2AgQgACAHNgIAIANBsAFqJAAPCwwFCwwECyAKIAIpAgA3AgAgCiACKQIINwIIIAogAikCEDcCECAKIAIoAhg2AhggAyADKQOoATcDeCADIAMpA6ABNwNwIAMgDTYCgAECQCABIAxGBEBBfiEODAELIAMgAUEwaiICNgI0IAEoAhAhBiABKQMAIRYgASkDCCEUIAEpAhwhFSABKQIkIRMgASgCLCEFIAsgASkCFDcCACALIAU2AhggCyATNwIQIAsgFTcCCCADIBQ3AwggAyAWNwMAQX4hDiAGQX5GBEAgAiEBDAELAkAgAygCeCIBIAMoAghHDQAgAygCdCIOIAMoAgQgARCPEw0AAkAgAygCcCIIBEAgDkEEaygCACIBQXhxIQUgBUEEQQggAUEDcSIBGyAIakkNByABQQBHIAUgCEEnaktxDQEgDhC8BQsgDUF/Rg0DIA8QhwQMAwsMBAsgAiEBIAYhDgsgAyAONgIQIAMgAykDcDcDYCADIAMpA3g3A2ggAyAKKQIAIhQ3A0AgAyAKKQIIIhU3A0ggAyAKKQIQIhM3A1AgAyAKKAIYIgI2AlggAyACNgKIASADIBM3A4ABIAMgFTcDeCADIBQ3A3ACQAJAIAQvAeoDIgJBC08EQEEAIQgCQANAIAQoAuACIgRFBEBBoAQQkAEiBUUNCiAFIAc2AvADIAVBADsB6gMgBUEANgLgAiAQQQFqIhBFDQQgB0EAOwHoAyAHIAU2AuACIAUhBCAQIQgMAgsgCEEBaiEIIAQvAeoDQQpLDQALIAchBQtB8AMQkAEiCUUNByAJQQA7AeoDIAlBADYC4AIgCEEBayIGRQ0CA0BBoAQQkAEiAkUNCCACIAk2AvADIAJBADsB6gMgAkEANgLgAiAJQQA7AegDIAkgAjYC4AIgAiEJIAZBAWsiBg0ACwwCCyAEIAJBAWo7AeoDIAMpA2AhEyAEIAJBDGxqIgEgAygCaDYC7AIgASATNwLkAiAEIAJBBXRqIgEgDTYCACABIAMoAogBNgIcIAEgAykDgAE3AhQgASADKQN4NwIMIAEgAykDcDcCBCADKAI0IQIgAygCPCEMIAMoAhAhBiASQQFqIRIMAgtBkOTIABCdFQALAkAgBC8B6gMiBkELSQRAIAQgBkEBaiIHOwHqAyAEIAZBDGxqIgIgAygCaDYC7AIgAiADKQNgNwLkAiAEIAZBBXRqIgIgDTYCACACIAMpA0A3AgQgAiADKQNINwIMIAIgAykDUDcCFCACIAMoAlg2AhwgBCAHQQJ0aiAJNgLwAyAJIAc7AegDIAkgBDYC4AIgCEUNAQJAIAhBA3EiCUUEQCAIIQIMAQsgCCECA0AgAkEBayECIAQgBC8B6gNBAnRqKALwAyEEIAlBAWsiCQ0ACwsgCEEESQ0BA0AgBCAELwHqA0ECdGooAvADIgcgBy8B6gNBAnRqKALwAyIHIAcvAeoDQQJ0aigC8AMiByAHLwHqA0ECdGooAvADIQQgAkEEayICDQALDAELQcD2xgBBIEHg9sYAEK8UAAsgASECIA4hBiAFIQcgEkEBaiESDAALAAsMAgtBkJ3JAEEuQcCdyQAQrxQAC0HQnMkAQS5BgJ3JABCvFAALQbjwyQBBAToAAAALjRMCCH8CfiMAQdABayIDJAAgAyACNgIEIAMgASkDACIMNwMIIAMgASkDCDcDECADIAEpAxA3AxggAyABKQMYNwMgIAMgAikCBDcCLCADIAIoAgAiCDYCKEEVIQQCQAJAAkACQAJAAkACQAJAAkACfwJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkBBDiAMpyIFQQ1rIAVBDE0bDg4AAQIDBAUOGSIPBgcTFBkLIAgOAh8HGAsgCA4GBxcXFxceFwsgCA4HBxYWFhYWHRYLIAgOAwccCBULIAgOCQgUFBQUFBQUGxQLIAMoAhQiBkEFdCEIIAMoAhAhCSADKAIMIQcCfyAGRQRAIAkiASEFQX8MAQsgA0GIAWohCiAIIQQgCSEBA0ACQCADIAEpAxg3A8ABIAMgASkDEDcDuAEgAyABKQMINwOwASADIAEpAwA3A6gBIANBgAFqIANBqAFqIAIQngIgAUEgaiEFIAMoAoABQQFxDQAgASAKKQMYNwMYIAEgCikDEDcDECABIAopAwg3AwggASAKKQMANwMAIAUhASAEQSBrIgQNAQweCwsgAyADKQKUATcDaCADIAMpApwBNwNwIAMgAygCpAE2AnggAykCjAEhCyADKAKIASEEIAMoAoQBCyEKIAEgCWsgCCAJaiICIAVHBEAgAiAFa0EFdiECA0AgBRCIBCAFQSBqIQUgAkEBayICDQALC0EFdiEGIApBf0YNGyADIAMoAng2AmAgAyADKQNwNwNYIAMgAykDaDcDUCABIAlHBEAgCSEBA0AgARCIBCABQSBqIQEgBkEBayIGDQALCyAHBEAgCUEEaygCACICQXhxIQEgASAHQQV0IgVBBEEIIAJBA3EiAhtySQ0QIAJBAEcgASAFQSdqS3ENESAJELwFCyAAIAs3AgwgACAENgIIIAAgCjYCBCAAIAMpA1A3AhQgACADKQNYNwIcIAAgAygCYDYCJCAAQQE2AgAMGQsgCA4FCQoSGRkSCyAIQQFrDgIKGBELIAMgASgCDCICNgKwASADIAEpAgQ3A6gBIANBgAFqIAMoAqwBIgEgAhDzCCADLQCAAQ0VIAMpA4gBIgtCIIghDCADKAKoASICBEAgASACENkSCyAMpyEGIAunDBQLIAMgAy0ADDoAqAEgAyADQagBaq1CgICAgLADhDcDgAEgA0HEAGpBz63AACADQYABahC4DCADKQJIIgtCIIinIQYgAygCRCEHIAunIQlBDSEEDBgLIAMpAxAiC0IgiKchBiALpyEJQQ0hBCADKAIMIQcMFwsgAyADKQMQNwOoASADIANBqAFqrUKAgICAIIQ3A4ABIANBOGogA0GAAWoQ0BIgAykCPCILQiCIpyEGIAMoAjghByALpyEJQQ0hBAwWCyADKQMQIgtCIIinIQYgC6chCUEYIQQMFQsgA0EANgKwASADQoCAgIAQNwKoASADQYABaiICIAFBBGoQ+AkgA0GoAWogAkEkEPASGkEADQkgAykCrAEiC0IgiKchBiADKAKoASEHIAunIQlBDSEEDBQLIAhBCUcNCgwRCyAIQQpHDQkMEAsgASgCDCABKAIIIQUgA0GAAWohBCMAQSBrIgIkACACQQA2AgggAkKAgICAEDcCACACQeTtxgA2AhAgAkKggICABjcCFCACIAI2AgwgAUEIaiACQQxqEPcBBEBB8LXJAEE3IAJBH2pB/O3GAEGotskAENoSAAsgBCACKAIINgIIIAQgAikCADcCACACQSBqJAAgAykChAEiC0IgiKchBiADKAKAASEHIAunIQlBDSEEIAVFDREgBUECdBDZEgwRCyADIAEpAxg3A5ABIAMgASkDEDcDiAEgAyABKQMINwOAASADQagBaiADQYABahDKCSADKAKoAQ0KQdD5xgAQnRUACyADKQMQIgtCIIinIQYgC6cMCgsgCEELRw0FDAwLIAMgCEECdEGk0MkAaigCACIBNgKAASADKAIMIQIgA0GAAWoQwBIgASACRw0DDAULQdCcyQBBLkGAnckAEK8UAAtBkJ3JAEEuQcCdyQAQrxQAC0HwtckAQTcgA0HPAWpB/O3GAEGotskAENoSAAsgAygCDCIBQQVGBEAgAygCECADIAhBAnRB2NDJAGooAgAiAjYCgAEoAgAgA0GAAWoQwBIgAkYNAiADKAIMIQELIAFBDEYNAgsgAyADKQMgNwOYASADIAMpAxg3A5ABIAMgAykDEDcDiAEgAyADKQMINwOAASADIANBKGoiASgCCDYCsAEgAyABKQIANwOoASADIANBgAFqIgGtQoCAgICQKYQ3A2ggAEEIakHPrcAAIANB6ABqIgIQuAwgAyADQagBaq1CgICAgKAphDcDaCAAQRRqQc+twAAgAhC4DCAAQoGAgIDgADcDACABEIgEDAwLQRohBSADKAIQIQkgAygCDCEHIAMpAxghCyADKAIUIQZBDiADKAIIIgFBDWsgAUEMTRsiAUENSw0IQQEgAXRBpcgAcQ0KDAgLQRohBCADKQMYIQsgAygCFCEGAkACQAJAAkACQAJAAkACQAJAIAhBAWsODAABAgIDBAUPBgcIBQ8LQQMhBwwOC0EKIQcMDQtBCSEHDAwLQQEhBwwLC0ECIQcMCgtBDCEHDAkLQQYhBwwIC0EIIQcMBwtBCyEHDAYLIAMpA7ABIgtCIIghDCADKAKAASIBBEAgAygChAEgAUECdBDZEgsgDKchBiALpwshCUEQIQQMBAsgAyADQagBaq1CgICAgNAmhDcDaCAAQQhqIANB6ABqIgEQ0BIgAyADQQRqrUKAgICAsCmENwNoIABBFGogARDQEiAAQoGAgIDgADcDACADKAKoASIARQ0AIAMoAqwBIAAQ2RILQQ4gAygCCCIAQQ1rIABBDE0bIgBBDU1BAEEBIAB0QaXIAHEbDQYgA0EIahCIBAwGCyADKQMQIgtCIIinIQYgC6chCSADKQMgIQwgAykDGCELIAMoAgwhBwwEC0ESIQQLQQ4gAygCCCIBQQ1rIAFBDE0bIgFBDUsEQCAEIQUMAQtBASABdEGlCHEEQCAEIQUMAwsgAUENRg0BIAQhBQsgA0EIahCIBAwBCyADQQhqQQRyEMASIAQhBQsgACAMNwMgIAAgCzcDGCAAIAc2AgwgACAFNgIIIABBADYCACAAIAmtIAatQiCGhDcDEAsgA0HQAWokAAuwEwIKfwJ+IwBBoAVrIgIkACACIAE2ApABIAFBIGohCAJAAkACQAJAAkACQAJAAkAgASgCIEUNACACQfADaiACQZABaiAIEOINIAIoAvADIgNBAkcNASAIKAIAIgZFDQAgASgCLCIEIAEoAiQiA2tBFG4hBSADIARHBEAgA0EQaiEDA0AgAygCACIHKAIAIQQgByAEQQFrNgIAIARBAUYEQCADKAIAEDALIANBFGohAyAFQQFrIgUNAAsLIAEoAigiBEUNACAGQQRrKAIAIgVBeHEhAyADIARBFGwiBEEEQQggBUEDcSIFG2pJDQUgBUEARyADIARBJ2pLcQ0GIAYQvAULIAFBADYCIAJAIAEoAkAiA0UNACADIAEoAkRGDQADQCABIANBGGo2AkACfwJAAkACQAJAAkACQCADKAIAQQFrDgIAAQMLIAJBwAJqIANBBGoiBhCfCiACKALAAkEHaw4GBAEBAQEEAQtB9PbIAEETQYj3yAAQrxQAC0EUEJABIgRFDQEgBikCACEMIAYpAgghDSADKAIUIgYoAgAhAyAGIANBAWo2AgAgAiANNwPIAiACIAw3A8ACIANBAE4EQCAEIAIpA8gCNwIIIAQgAikDwAI3AgAgBCAGNgIQIAJBATYCyAIgAiAENgLEAiACQQE2AsACQQEhB0EBDAQLAAsgAkHAAmogAygCBCADQQhqKAIAEOcKIAIoAsQCIQQgAigCwAIhByACKALIAgwCC0G48MkAQQE6AAAACyACQQA2AsgCIAJCgICAgMAANwLAAkEEIQRBACEHQQALIQYCQCAIKAIAIgpFDQAgASgCLCIJIAEoAiQiA2tBFG4hBSADIAlHBEAgA0EQaiEDA0AgAygCACILKAIAIQkgCyAJQQFrNgIAIAlBAUYEQCADKAIAEDALIANBFGohAyAFQQFrIgUNAAsLIAEoAigiBUUNACAKQQRrKAIAIglBeHEhAyADIAVBFGwiBUEEQQggCUEDcSIJG2pJDQcgCUEARyADIAVBJ2pLcQ0IIAoQvAULIAEgBzYCKCABIAQ2AiQgASAENgIgIAEgBCAGQRRsajYCLCACQfADaiACQZABaiAIEOINIAIoAvADIgNBAkcNAiABKAJAIgMgASgCREcNAAsgCCgCACIGRQ0AIAEoAiwiBCABKAIkIgNrQRRuIQUgAyAERwRAIANBEGohAwNAIAMoAgAiBygCACEEIAcgBEEBazYCACAEQQFGBEAgAygCABAwCyADQRRqIQMgBUEBayIFDQALCyABKAIoIgRFDQAgBkEEaygCACIFQXhxIQMgAyAEQRRsIgRBBEEIIAVBA3EiBRtqSQ0FIAVBAEcgAyAEQSdqS3ENBiAGELwFCyABQQA2AiAgAUEwaiEGAkACQCABKAIwRQ0AIAJB8ANqIAJBkAFqIAYQ4g0gAigC8AMiA0ECRw0CIAYoAgAiBEUNACABKAI8IgcgASgCNCIDa0EUbiEFIAMgB0cEQCADQRBqIQMDQCADKAIAIggoAgAhByAIIAdBAWs2AgAgB0EBRgRAIAMoAgAQMAsgA0EUaiEDIAVBAWsiBQ0ACwsgASgCOCIDRQ0AIARBBGsoAgAiBUF4cSEBIAEgA0EUbCIDQQRBCCAFQQNxIgUbakkNBiAFQQBHIAEgA0EnaktxDQEgBBC8BQsgBkEANgIADAILDAULIAIgAigC/AM2AiAgAiACKQL0AzcDGCACKAKABCEFIAEoAkwgASgCSEcEQCABQQE2AkggASgCwAEiBkF+Rw0CCyAFIAUoAgAiAUEBazYCACABQQFHDQAgBRAwCyAAQX82AgAMAQsgAiABKAL8ATYCvAIgAiABKQL0ATcCtAIgAiABKQLsATcCrAIgAiABKQLkATcCpAIgAiABKQLcATcCnAIgAiABKQLUATcClAIgAiABKQLMATcCjAIgAiABKQLEATcChAIgAiACKAIgNgKIASACIAIpAxg3AoABIAIgBTYCjAEgAiADNgJ8IAJBkAFqIAFB0ABqQfAA/AoAACACIAY2AoACAkACQAJAAkACQCABKAKIAiIGKAIAIggEQCAGKAIEIgRBAEgNBEEBIQcgBEUNAiAEEJABIgcNAQwJCyACQcACaiACQfwAaiABKAKMAkEAEIkCDAILIARFDQAgByAIIAT8CgAACwJAAkACfyADQQFGBEAgAiACQYABaiIGKAIINgL8AyACIAYpAgA3AvQDIAIgBUEIajYC8AMgAkEIaiACQfADahDqCSACKAIMIQMgAigCCAwBCyACKAKAASIGIAUoAhAiA08NASAFKAIMIAZB5ABsaiIDKAIABEAgAygCBCIGIAUoAnBPDQMgBSgCbCAGQQR0aiIGKAIIIQMgBigCBAwBCyACQRBqIAVBCGogBhDQECACKAIUIQMgAigCEAshBiADQQBIDQMCQCADRQRAQQEhCAwBCyADEJABIghFBEAMCgsgA0UNACAIIAYgA/wKAAALIAJBfzYCsAMgAiADNgKsAyACIAg2AqgDIAIgAzYCpAMgAkF+NgKYAyACQf8BOgDkAyACQXw2AtACIAJBADoA7AMgAkEAOwHqAyACQX42AsACIAJBsANqENcFIAJBfjYC2AMgAkKAgICAYDcDyAMgAkKAgICAwAA3A8ADIAIgBDYCvAMgAiAHNgK4AyACIAQ2ArQDIAJBADYCsAMMAgsgBiADQeT2yAAQhRMAC0GkuMQAEJ0VAAsgASgClAIiBkEASA0AAkAgBkUEQEEBIQEMAQsgASgCkAIhAyAGEJABIgFFBEAMBwsgBkUNACABIAMgBvwKAAALIAIoAvwBIgNBAEgNAEEBIQQgA0UNASACKAL4ASEHIAMQkAEiBEUEQAwGCyADRQ0BIAQgByAD/AoAAAwBCxCeFQALIAIgAzYC3AQgAiAENgLYBCACIAM2AtQEIAJBfjYCyAQgAkH/AToAlAUgAkF8NgKABCACQQA6AJwFIAJBADsBmgUgAkF+NgLwAyACQX82AuAEIAJB4ARqENcFIAJBfjYCiAUgAkKAgICAYDcD+AQgAkKAgICAwAA3A/AEIAIgBjYC7AQgAiABNgLoBCACIAY2AuQEIAJBADYC4AQgAkEYakEEciACQcACaiACQfADahCyESACQX42AmggAkELNgIYIAJBkAFqEJcEIAUgBSgCACIBQQFrNgIAIAFBAUYEQCAFEDALIAAgAkEYakHgAPwKAAALIAJBoAVqJAAPC0HQnMkAQS5BgJ3JABCvFAALQZCdyQBBLkHAnckAEK8UAAtBARCnFAALwRMCDX8IfiMAQdACayIDJAACQAJAAkACfwJAAn8CQAJAAkACQCABKAIQQX9GBEAgASgCKCEMIAEoAiQhDyABKAIgIQ0gASgCFCEOIAEoAhghCiABKAIcIQQgA0F/NgI4IARB8ABsIgUgCmohCyAKIQEgBEUNAyACQQhqIQkgA0GQAmohBANAIANBmAFqIgIgBiAKaiIBQfAA/AoAACADQYgCaiAJIAIQtAIgAUHwAGohASADKAKIAkEBRgRAIAMgBCkDODcDQCADIAQpAzA3AzggAyAEKQMoNwMwIAMgBCkDIDcDKCADIAQpAxg3AyAgAyAEKQMQNwMYIAMgBCkDCDcDECADIAQpAwA3AwgMBQsCQCADKAKMAiICQQJHBEAgAyAEKAI4NgKQASADIAQpAjA3A4gBIAMgBCkCKDcDgAEgAyAEKQIgNwN4IAMgBCkCGDcDcCADIAQpAhA3A2ggAyAEKQIINwNgIAMgBCkCADcDWCACQX9HDQELIAUgBkHwAGoiBkcNAQwGCwsgAyADKAKQATYC0AEgAyADKQOIATcDyAEgAyADKQOAATcDwAEgAyADKQN4NwO4ASADIAMpA3A3A7ABIAMgAykDaDcDqAEgAyADKQNgNwOgASADIAMpA1g3A5gBQYACEJABIgZFDQEgBiACNgIAIAYgAykDmAE3AgQgBiADKQOgATcCDCAGIAMpA6gBNwIUIAYgAykDsAE3AhwgBiADKQO4ATcCJCAGIAMpA8ABNwIsIAYgAykDyAE3AjQgBiADKALQATYCPEEBIQIgA0EBNgJUIAMgBjYCUCADQQQ2AkwgASALRg0CIAtB8ABrIQQgA0GQAmohCANAIAQgAWshByABIQUDQCADQZgBaiIBIAVB8AD8CgAAIANBiAJqIAkgARC0AiAFQfAAaiEBIAMoAogCQQFGBEAgAygCOEF/RwRAIANBCGoQogILIAMgCCkDODcDQCADIAgpAzA3AzggAyAIKQMoNwMwIAMgCCkDIDcDKCADIAgpAxg3AyAgAyAIKQMQNwMYIAMgCCkDCDcDECADIAgpAwA3AwggASALRg0FIAVB1AFqIQEgB0HwAG4hBgNAIAFBBGsoAgAiB0EASgRAIAEoAgAiBEEEaygCACIFQXhxIQkgCUEEQQggBUEDcSIFGyAHakkNDiAFQQBHIAkgB0EnaktxDQ8gBBC8BQsgAUHkAGsQ/g0gAUHwAGohASAGQQFrIgYNAAsMBQsCQCADKAKMAiIFQQJHBEAgAyAIKAI4NgKQASADIAgpAjA3A4gBIAMgCCkCKDcDgAEgAyAIKQIgNwN4IAMgCCkCGDcDcCADIAgpAhA3A2ggAyAIKQIINwNgIAMgCCkCADcDWCAFQX9HDQELIAdB8ABrIQcgCyABIgVHDQEMBQsLIAMgAygCkAE2AtABIAMgAykDiAE3A8gBIAMgAykDgAE3A8ABIAMgAykDeDcDuAEgAyADKQNwNwOwASADIAMpA2g3A6gBIAMgAykDYDcDoAEgAyADKQNYNwOYASADKAJMIAJGBEAgA0HMAGogAkEBQQRBwAAQsxEgAygCUCEGCyAGIAJBBnRqIgcgBTYCACAHIAMpA5gBNwIEIAcgAykDoAE3AgwgByADKQOoATcCFCAHIAMpA7ABNwIcIAcgAykDuAE3AiQgByADKQPAATcCLCAHIAMpA8gBNwI0IAcgAygC0AE2AjwgAyACQQFqIgI2AlQgASALRw0ACwwCCyADQZgBaiACQQhqIAEQtAIgAygCmAFBAUYEQCADIAMpA9gBIhA3AsQCIAMgAykD0AEiETcCvAIgAyADKQPIASISNwK0AiADIAMpA8ABIhM3AqwCIAMgAykDuAEiFDcCpAIgAyADKQOwASIVNwKcAiADIAMpA6gBIhY3ApQCIAMgAykDoAEiFzcCjAIgACAQNwJAIAAgETcCOCAAIBI3AjAgACATNwIoIAAgFDcCICAAIBU3AhggACAWNwIQIAAgFzcCCCAAQQE2AgAMCAsgAyADKQLUASIQNwPAAiADIAMpAswBIhE3A7gCIAMgAykCxAEiEjcDsAIgAyADKQK8ASITNwOoAiADIAMpArQBIhQ3A6ACIAMgAykCrAEiFTcDmAIgAyADKQKkASIWNwOQAiADIAMpApwBIhc3A4gCIAAgEDcCQCAAIBE3AjggACASNwIwIAAgEzcCKCAAIBQ3AiAgACAVNwIYIAAgFjcCECAAIBc3AghBfyEMQQQMBgtBBBCnFAALAkAgDgRAIApBBGsoAgAiAUF4cSEEIAQgDkHwAGwiBUEEQQggAUEDcSIBG3JJDQggAUEARyAEIAVBJ2pLcQ0BIAoQvAULIAMoAlAhBiADKAJMDAMLDAcLIAsgAWtB8ABuIQIgASALRg0AA0AgAUHgAGooAgAiB0EASgRAIAFB5ABqKAIAIgRBBGsoAgAiBUF4cSEJIAlBBEEIIAVBA3EiBRsgB2pJDQcgBUEARyAJIAdBJ2pLcQ0IIAQQvAULIAEQ/g0gAUHwAGohASACQQFrIgINAAsLQQAhAiAOBEAgCkEEaygCACIBQXhxIQQgBCAOQfAAbCIFQQRBCCABQQNxIgEbckkNBSABQQBHIAQgBUEnaktxDQYgChC8BQtBBCEGQQALIQUgAygCOCIHQX9GDQAgAyADKQIUNwOYASADIAMpAhw3A6ABIAMgAykCJDcDqAEgAyADKQIsNwOwASADIAMoAjQ2ArgBIAMgAykCPDcDiAIgAyADKAJENgKQAiADKAIQIQkgAygCDCEEIAMoAgghCiACBEAgBkEEaiEBA0AgARCuBiABQUBrIQEgAkEBayICDQALCyAFBEAgBkEEaygCACIBQXhxIQwgDCAFQQZ0IgJBBEEIIAFBA3EiARtySQ0EIAFBAEcgDCACQSdyS3ENBSAGELwFCyAAIAk2AhAgACAENgIMIAAgCjYCCCAAIAMpA5gBNwIUIAAgAykDoAE3AhwgACADKQOoATcCJCAAIAMpA7ABNwIsIAAgAygCuAE2AjQgACAHNgI4IAAgAykDiAI3AjwgACADKAKQAjYCRCAAQQE2AgAgDUEBa0F8Sw0CIA9BBGsoAgAiAEF4cSEBIAFBBEEIIABBA3EiABsgDWpJDQMgAEEARyABIA1BJ2pLcQ0EIA8QvAUMAgsgACAPNgIYIAAgDTYCFCAAIAI2AhAgACAGNgIMIAAgBTYCCCAAQQI2AgRBHAshASAAQQA2AgAgACABaiAMNgIACyADQdACaiQADwtB0JzJAEEuQYCdyQAQrxQAC0GQnckAQS5BwJ3JABCvFAALthUBCn8jAEGwAWsiAyQAAkACQAJAAkACQAJAAkACQEEBIAEoAhAiBEGAgICAeHMgBEEAThtBAWsOAgACAQsQhRUhCEG8rMkAQQYQuRQhBCAIQf2ayQBBBBDFCSAEEKUUAn8gASgCMEF+RwRAIAEoAjQgASgCOBC5FAwBC0GBAUGAASACLQAAGwshBSAIQdyZwgBBDhDFCSAFEKUUIAEoAhghBiABKAIUIQQCfyACLQABIgxFBEAQhBUMAQsQhRULIQkCQCAGRQ0AIAZB0ABsIQogBCgCSCAEKAJMELkUIQcgA0EYaiAEIAIQoQIgBEHQAGohBSADKAIcIQQgAygCGCELIAxFBEAgC0EBcQ0FIAkgByAEEJ4UIgtBhAFPBEAgCxDTEgsgBEGEAU8EQCAEENMSCyAHQYQBTwRAIAcQ0xILIAZBAUYNASAKQdAAayEHA0AgBUHIAGooAgAgBUHMAGooAgAQuRQhBiADQRBqIAUgAhChAiADKAIUIQQgAygCEEEBRg0HIAkgBiAEEJ4UIgpBhAFPBEAgChDTEgsgBEGEAU8EQCAEENMSCyAGQYQBTwRAIAYQ0xILIAVB0ABqIQUgB0HQAGsiBw0ACwwBCyALQQFxDQQgBxDgFUUNAyAJIAcgBBClFCAGQQFGDQAgCkHQAGshBgNAIAVByABqKAIAIAVBzABqKAIAELkUIQcgA0EIaiAFIAIQoQIgAygCDCEEIAMoAghBAXENBSAHEOAVRQ0EIAVB0ABqIQUgCSAHIAQQpRQgBkHQAGsiBg0ACwsgCEGkrMkAQQYQxQkgCRClFCABLQA8IQEgCEHqmcIAQQkQxQlBggFBgwEgARsQpRRBACEFDAULEIUVIQhBwZnCAEEMELkUIQEgCEH9mskAQQQQxQkgARClFAwECxCFFSEIQZmQyQBBBRC5FCEEIAhB/ZrJAEEEEMUJIAQQpRQgASgCGCABKAIcELkUIQQgCEHNmcIAQQYQxQkgBBClFAJ/IAItAAFFBEAQhBUhBkEADAELEIUVIQZBAQshBCADIAY2AqABIAMgBDYCnAEgAyACNgKsASABLQAwIQJB6PXFAEEFELkUIQcgA0EANgKkASADIAc2AqgBAn8CQAJAAkAgAkEBaw4CAQIAC0HkrMkAQQgQxQkMAgtBuZnCAEEIEMUJDAELQcisyQBBBBDFCQshAgJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAIAQEQCAHEOAVRQ0CIAYgByACEKUUDAELIAYgByACEJ4UIgRBhAFPBEAgBBDTEgsgAkGEAU8EQCACENMSCyAHQYQBSQ0AIAcQ0xILIAEtACBBAWsODBACAwQFBgcICQoLDAELQTMQkAEiAUUNGCABQZuewgAoAAA2AC8gAUGUnsIAKQAANwAoIAFBjJ7CACkAADcAICABQYSewgApAAA3ABggAUH8ncIAKQAANwAQIAFB9J3CACkAADcACCABQeydwgApAAA3AAAgAUEzELgUIQQgAUEEaygCACIFQXhxIQYgBkE3QTsgBUEDcSIFG0kNESAFQQBHIAZB2wBPcQ0SIAEQvAUgB0GEAU8EQCAHENMSCyACQYQBSQ0QIAIQ0xIMEAsgA0EgaiADQZwBakH9mskAQQRBs9HFAEEGEO8MIAMoAiBBAXFFDRIgAygCJCEEDA8LIANBMGogA0GcAWpB/ZrJAEEEQaigxQBBBhDvDCADKAIwQQFxRQ0RIAMoAjQhBAwOCyADQThqIANBnAFqQf2ayQBBBEH3vsQAQQUQ7wwgAygCOEEBcUUNECADKAI8IQQMDQsgA0FAayADQZwBakH9mskAQQRBrqDFAEEHEO8MIAMoAkBBAXFFDQ8gAygCRCEEDAwLIANByABqIANBnAFqQf2ayQBBBEG/0cUAQQcQ7wwgAygCSEEBcUUNDiADKAJMIQQMCwsgA0HYAGogA0GcAWpB/ZrJAEEEQdesyQBBBBDvDCADKAJYQQFxRQ0GIAMoAlwhBAwKCyADQegAaiADQZwBakH9mskAQQRBopnCAEEJEO8MIAMoAmhBAXFFDQYgAygCbCEEDAkLIANB8ABqIANBnAFqQf2ayQBBBEGEv8QAQQQQ7wwgAygCcEEBcUUNCyADKAJ0IQQMCAsgA0H4AGogA0GcAWpB/ZrJAEEEQbysyQBBBhDvDCADKAJ4QQFxRQ0KIAMoAnwhBAwHCyADQYABaiADQZwBakH9mskAQQRB/L7EAEEIEO8MIAMoAoABQQFxRQ0JIAMoAoQBIQQMBgsgA0GIAWogA0GcAWpB/ZrJAEEEQY+7xQBBBRDvDCADKAKIAUEBcUUNAyADKAKMASEEDAULIANBkAFqIANBnAFqQf2ayQBBBEHO6cIAQQsQ7wwgAygCkAFBAXFFDQcgAygClAEhBAwECyADQdAAaiADQZwBaiABKAIoIAEoAiwQ8AwgAygCUEEBcUUNBiADKAJUIQQMAwsgA0HgAGogA0GcAWogASgCKCABKAIsEPAMIAMoAmBBAXFFDQUgAygCZCEEDAILIAEtACEhAUGrmcIAQQgQuRQhAgJAIAMoAqQBRQ0AIAMoAqgBIgRBhAFJDQAgBBDTEgsgA0EANgKkASADIAI2AqgBAn8CQAJAAkAgAUEBaw4CAQIAC0G8nMgAQQUQxQkMAgtBs5nCAEEGEMUJDAELQYy7xQBBAxDFCQshBQJAIAMoApwBQQFGBEAgAhDgFUUNASADKAKgASACIAUQpRQMBgsgAygCoAEgAiAFEJ4UIgFBhAFPBEAgARDTEgsgBUGEAU8EQCAFENMSCyACQYQBSQ0FIAIQ0xIMBQtBMxCQASIBRQ0JIAFBm57CACgAADYALyABQZSewgApAAA3ACggAUGMnsIAKQAANwAgIAFBhJ7CACkAADcAGCABQfydwgApAAA3ABAgAUH0ncIAKQAANwAIIAFB7J3CACkAADcAACABQTMQuBQhBCABQTMQ2RIgAkGEAU8EQCACENMSCyAFQYQBSQ0BIAUQ0xIMAQsgA0EoaiADQZwBakH9mskAQQRB9L7EAEEDEO8MIAMoAihBAXFFDQMgAygCLCEECyADKAKgASIBQYQBTwRAIAEQ0xILAkAgAygCpAFFDQAgAygCqAEiAUGEAUkNACABENMSC0EBIQUgCEGEAUkEQCAEIQgMBwsgCBDTEiAEIQgMBgtB0JzJAEEuQYCdyQAQrxQAC0GQnckAQS5BwJ3JABCvFAALIAMoAqABIQECQCADKAKkAUUNACADKAKoASICQYQBSQ0AIAIQ0xILIAhB05nCAEEJEMUJIAEQpRRBACEFDAMLIAQhBkEzEJABIgEEQCABQZuewgAoAAA2AC8gAUGUnsIAKQAANwAoIAFBjJ7CACkAADcAICABQYSewgApAAA3ABggAUH8ncIAKQAANwAQIAFB9J3CACkAADcACCABQeydwgApAAA3AAAgAUEzELgUIQQgAUEzENkSIAdBhAFPBEAgBxDTEgsMAgsMAwsgByEGCyAGQYMBSwRAIAYQ0xILIAlBhAFPBEAgCRDTEgtBASEFIAhBhAFPBEAgCBDTEgsgBCEICyAAIAg2AgQgACAFNgIAIANBsAFqJAAPC0EBEKcUAAu2DQEFfwJAAkACQAJAAkACQAJAAkACQCAAKAIwIgFB9f///wdqIgNBACABIANPGw4EAQIDBAALIAAoAgAiAUUNBCAAKAIEIgNBBGsoAgAiAkF4cSEAIABBBEEIIAJBA3EiAhsgAWpJDQUgAkEARyAAIAFBJ2pLcQ0GDAcLAkACQAJAIAFB9////wdqIgNBACABIANPGw4CAQIACyAAKAIAIgEEQCAAKAIEIgJBBGsoAgAiBEF4cSEDIANBBEEIIARBA3EiBBsgAWpJDQcgBEEARyADIAFBJ2pLcQ0IIAIQvAULIAAoAgwiAUUNBSAAKAIQIgNBBGsoAgAiAkF4cSEAIABBBEEIIAJBA3EiAhsgAWpJDQYgAkEARyAAIAFBJ2pLcQ0HDAgLAkACQAJAAkACQAJAAkACQAJAAkBBAyABQYCAgIB4cyABQQBOGw4JAQIDBAUGBwgJAAsCfyAAKAIAIgFBf0YEQCAAKAIEIgFFDQ9BCAwBCyABBEAgACgCBCABENkSCyAAKAIMIgFFDQ5BEAsgAGooAgAiA0EEaygCACICQXhxIQAgAEEEQQggAkEDcSICGyABakkNDiACQQBHIAAgAUEnaktxDQ8MEAsgACgCACIBRQ0MIAAoAgQiA0EEaygCACICQXhxIQAgAEEEQQggAkEDcSICGyABakkNDSACQQBHIAAgAUEnaktxDQ4MDwsgACgCACIBRQ0LIAAoAgQiA0EEaygCACICQXhxIQAgAEEEQQggAkEDcSICGyABakkNDCACQQBHIAAgAUEnaktxDQ0MDgsgACgCACIBBEAgACgCBCICQQRrKAIAIgRBeHEhAyADQQRBCCAEQQNxIgQbIAFqSQ0MIARBAEcgAyABQSdqS3ENDSACELwFCyAAKAIMIgEEQCAAKAIQIgJBBGsoAgAiBEF4cSEDIANBBEEIIARBA3EiBBsgAWpJDQwgBEEARyADIAFBJ2pLcQ0NIAIQvAULIAAoAhgiAUUNCiAAKAIcIgNBBGsoAgAiAkF4cSEAIABBBEEIIAJBA3EiAhsgAWpJDQsgAkEARyAAIAFBJ2pLcQ0MDA0LIAEEQCAAKAI0IgJBBGsoAgAiBEF4cSEDIANBBEEIIARBA3EiBBsgAWpJDQsgBEEARyADIAFBJ2pLcQ0MIAIQvAULIAAoAhBBf0YNCSAAEP8JDwsgABDBBw8LIAAoAgAiAUUNByAAKAIEIgNBBGsoAgAiAkF4cSEAIABBBEEIIAJBA3EiAhsgAWpJDQggAkEARyAAIAFBJ2pLcQ0JDAoLIAAoAgAiAQRAIAAoAgQiAkEEaygCACIEQXhxIQMgA0EEQQggBEEDcSIEGyABakkNCCAEQQBHIAMgAUEnaktxDQkgAhC8BQsgACgCDCIBBEAgACgCECICQQRrKAIAIgRBeHEhAyADQQRBCCAEQQNxIgQbIAFqSQ0IIARBAEcgAyABQSdqS3ENCSACELwFCyAAKAIYIgFFDQYgACgCHCIDQQRrKAIAIgJBeHEhACAAQQRBCCACQQNxIgIbIAFqSQ0HIAJBAEcgACABQSdqS3ENCAwJCyAAKAIAIgEEQCAAKAIEIgJBBGsoAgAiBEF4cSEDIANBBEEIIARBA3EiBBsgAWpJDQcgBEEARyADIAFBJ2pLcQ0IIAIQvAULIAAoAgwiAQRAIAAoAhAiAkEEaygCACIEQXhxIQMgA0EEQQggBEEDcSIEGyABakkNByAEQQBHIAMgAUEnaktxDQggAhC8BQsgACgCGCIBRQ0FIAAoAhwiA0EEaygCACICQXhxIQAgAEEEQQggAkEDcSICGyABakkNBiACQQBHIAAgAUEnaktxDQcMCAsgACgCACIBRQ0EIAAoAgQiA0EEaygCACICQXhxIQAgAEEEQQggAkEDcSICGyABakkNBSACQQBHIAAgAUEnaktxDQYMBwsgABDBBw8LIAAoAgAiAUUNAiAAKAIEIgNBBGsoAgAiAkF4cSEAIABBBEEIIAJBA3EiAhsgAWpJDQMgAkEARyAAIAFBJ2pLcQ0EDAULIAAoAgAiAUUNASAAKAIEIgNBBGsoAgAiAkF4cSEAIABBBEEIIAJBA3EiAhsgAWpJDQIgAkEARyAAIAFBJ2pLcQ0DDAQLIAAoAgAiAUUNACAAKAIEIgNBBGsoAgAiAkF4cSEAIABBBEEIIAJBA3EiAhsgAWpJDQEgAkEARyAAIAFBJ2pLcQ0CIAMQvAULDwtB0JzJAEEuQYCdyQAQrxQAC0GQnckAQS5BwJ3JABCvFAALIAMQvAULqhECCH8DfiMAQTBrIggkAAJAAkACQAJ/AkACQCACRQ0AIAEgAmohCSABIQMCQANAAn8gAywAACIFQQBOBEAgBUH/AXEhBSADQQFqDAELIAMtAAFBP3EhByAFQR9xIQQgBUFfTQRAIARBBnQgB3IhBSADQQJqDAELIAMtAAJBP3EgB0EGdHIhByAFQXBJBEAgByAEQQx0ciEFIANBA2oMAQsgBEESdEGAgPAAcSADLQADQT9xIAdBBnRyciEFIANBBGoLIQQgBUEgckHlAEYEQAJAAkACQAJAAkACQAJAAkACQAJ/AkACQAJAAkAgBgRAIAIgBk0EQCACIAZHDQcgAkEBaiIEDQIgAS0AACEFQQAhBAwDCyABIAZqLAAAQUBIDQYLIAZBAWohBAsgAiAETQRAIAIgBEcNAkEAIQUMDQsgASAEaiwAACIFQb9/TA0BCyABIARqIQMgBcBBAE4NASADLQABQT9xIQkgBUEfcSEHIAdBBnQgCXIgBUH/AXEiCkHfAU0NAhogAy0AAkE/cSAJQQZ0ciEFIAUgB0EMdHIgCkHwAUkNAhogB0ESdEGAgPAAcSADLQADQT9xIAVBBnRycgwCCyABIAIgBCACQdCPyQAQ/RQACyAFQf8BcQsgAiAEayEEQStGBEAgBEECTwRAIAMsAAFBQEgNAwsgBEEBayEEIANBAWohAwtBACEFAkACQAJAIAQOAgsAAQtBASEFIAMtAAAiB0Eraw4DCgEKAQsgAy0AACEHCwJAAkACQCAHQf8BcUEraw4DAQIAAgsgBEEBayEHIANBAWohAyAEQRFJDQUDQCAIQRBqIAsgC0I/h0IKQgAQ7hEgCCkDGCAIKQMQIgxCP4dSBEBBAyEEDAsLIAMtAABBMGsiAkEJSwRAQQEhBQwMCyAMIAwgAq0iDX0iC1UgDUIAUnMEQEEDIQUMDAsgA0EBaiEDIAdBAWsiBw0ACwwICyAEQQFrIQQgA0EBaiEDCyAEQRBJDQIDQCAIIAsgC0I/h0IKQgAQ7hEgCCkDCCAIKQMAIgxCP4dSBEBBAiEEDAkLIAMtAABBMGsiAkEJSwRAQQEhBQwKCyACrSINIAx8IgsgDFMEQEECIQUMCgsgA0EBaiEDIARBAWsiBA0ACwwGCyABIAJBACAGQcCPyQAQ/RQACyADIARBASAEQeCPyQAQ/RQACyAERQ0BQQEhBQNAIAMtAABBMGsiAkEJSw0GIANBAWohAyACrSALQgp+fCELIARBAWsiBA0ACwwDCyAHDQELDAELQQEhBQNAIAMtAABBMGsiAkEJSw0DIANBAWohAyALQgp+IAKtfSELIAdBAWsiBw0ACwsgBiECDAQLQQEgBCADLQAAQTBrQf8BcUEKTxshBQsgACAFOgAIIABC/////5+AgICAfzcDAAwGCyAGIANrIARqIQYgCSAEIgNHDQALCyACRQ0AQQAhCQJAAkACQANAAkAgASAJaiEFAkACQAJAAkAgAiAJayIGQQhPBEAgBUEDakF8cSIDIAVGDQEgAyAFayEDQQAhBANAIAQgBWotAABBLkYNBSAEQQFqIgQgA0cNAAsgAyAGQQhrIgdLDQMMAgsgAiAJRg0EIAUtAABBLkYEQEEAIQQMBAsgBkEBRg0EIAUtAAFBLkYEQEEBIQQMBAsgBkECRg0EIAUtAAJBLkYEQEECIQQMBAsgBkEDRg0EIAUtAANBLkYEQEEDIQQMBAsgBkEERg0EIAUtAARBLkYEQEEEIQQMBAsgBkEFRg0EIAUtAAVBLkYEQEEFIQQMBAsgBkEGRg0EIAUtAAZBLkcNBEEGIQQMAwsgBkEIayEHQQAhAwsDQCADIAVqIgQoAgAiCkGAgoQIIApBrty48QJza3IgBEEEaigCACIEQYCChAggBEGu3LjxAnNrcnFBgIGChHhxQYCBgoR4Rw0BIANBCGoiAyAHTQ0ACwsgAyAGRg0BIAMgBWohBSACIANrIAlrIQZBACEEA0AgBCAFai0AAEEuRwRAIAYgBEEBaiIERw0BDAMLCyADIARqIQQLIAIgBCAJaiIDSwRAIAEgA2otAABBLkYNAwsgA0EBaiIJIAJNDQELCyACQQBIDQEgAhCQASIERQ0CIAIEQCAEIAEgAvwKAAALQgAhDCACDAULAkACQCACIANBAWoiBUsEQCABIAVqLAAAQUBIDQELIANBAEgNAiADRQRAQQEhBAwGCyADEJABIgQNAUEBEKcUAAsgASACIAUgAkHwj8kAEP0UAAsgA0UNAyAEIAEgA/wKAAAMAwsQnhUAC0EBEKcUAAsgAEL/////v4CAgIB/NwMADAILIAIgBWshBiAIIAM2AiwgCCAENgIoIAggAzYCJCACIAVGBH8gAwUgCEEkaiADIAZBAUEBELMRIAgoAiwhAyAIKAIoIQQgBgRAIAMgBGogASAFaiAG/AoAAAsgCCgCJAshAiAGrSEMIAMgBmoLIQNBAiEGAkAgA0UEQEEAIQMgBCEFDAELIAQtAABBLUcEQCAEIQUMAQsgBEEBaiEFQQAhBiADQQFGBEBBACEDDAELIAUsAAAiAUG/f0wEQCAEIANBASADQbiWyQAQ/RQACyAFIAQgAUErRyIBGyEFIAMgAWshAwsgCEEkaiAFIAMQ3AkgCC0AKCEBIAgoAiQiBUF/RgRAIAAgAToACCAAQv////+vgICAgH83AwAgAkUNASAEIAIQ2RIMAQsgACAILQArOgAHIAAgCC8AKTsABSAIKAIsIQMgACAMIAt9NwMQIAAgBkEBIAMbOgAMIAAgAzYCCCAAIAE6AAQgACAFNgIAIAJFDQAgBEEEaygCACIBQXhxIQAgAEEEQQggAUEDcSIBGyACakkNASABQQBHIAAgAkEnaktxDQIgBBC8BQsgCEEwaiQADwtB0JzJAEEuQYCdyQAQrxQAC0GQnckAQS5BwJ3JABCvFAALhxECEn8BfgJAAkACQAJAAkACQAJAAkAgACkDACITp0EEa0EAIBNCBFUbDgMAAQIDCyATQn9SBEAgABDfAQ8LAkACQAJAAkACQAJAAkACQAJAAkACQEEKIAAoAggiAUEbayABQRpNGw4KAQIDBAUGBwgJCgALIAAoAogCIgEEQCAAKAKMAiABENkSCyAAKAKsAiICKAIAIQEgAiABQQFrNgIAIAFBAUYEQCAAKAKsAhAwCyAAQQhqIABBqAFqEK8EIAAoAvgBQX9HBEAgAEH4AWoQ5g0LEIgEIABBKGoQigwgAEHYAGoQiAQgAEH4AGoQigwgAEGUAmoQpQQgACgClAIiAQRAIAAoApgCIAFByAFsENkSCyAAKAKkAiECIAAoAqgCIgMEQCACIQEDQCABKAIAIgQEQCABQQRqKAIAIgdBBGsoAgAiBUF4cSEGIAZBBEEIIAVBA3EiBRsgBGpJDRAgBUEARyAGIARBJ2pLcQ0RIAcQvAULIAFBDGohASADQQFrIgMNAAsLIAAoAqACIgBFDQwMDwsgACgCYCIBBEAgACgCZCABENkSCyAAQRBqIAAoAoQBIgMoAgAhASADIAFBAWs2AgAgAUEBRgRAIAAoAoQBEDALEIgEIABBMGoQigwgAEHsAGoQpQQgACgCbCIBBEAgACgCcCABQcgBbBDZEgsgACgCfCECIAAoAoABIgMEQCACIQEDQCABKAIAIgQEQCABQQRqKAIAIgdBBGsoAgAiBUF4cSEGIAZBBEEIIAVBA3EiBRsgBGpJDQ8gBUEARyAGIARBJ2pLcQ0QIAcQvAULIAFBDGohASADQQFrIgMNAAsLIAAoAngiAEUNCwwOCyAAKAIMIgEEQCAAKAIQIAEQ2RILIAAoAkgiAigCACEBIAIgAUEBazYCACABQQFGBEAgACgCSBAwCyAAKAIcIQIgACgCICIDBEAgAiEBA0AgARCIBCABQSBqEIoMIAFB0ABqIQEgA0EBayIDDQALCyAAKAIYIgEEQCACIAFB0ABsENkSCyAAQSRqEOQJDwsgACgCEEF/RwRAIAAoAsABIgEEQCAAKALEASABENkSCyAAKALkASICKAIAIQEgAiABQQFrNgIAIAFBAUYEQCAAKALkARAwCyAAQRBqIABB4ABqEK8EIAAoArABQX9HBEAgAEGwAWoQ5g0LEIgEIABBMGoQigwgAEHMAWoQpQQgACgCzAEiAQRAIAAoAtABIAFByAFsENkSCyAAKALcASECIAAoAuABIgMEQCACIQEDQCABKAIAIgQEQCABQQRqKAIAIgdBBGsoAgAiBUF4cSEGIAZBBEEIIAVBA3EiBRsgBGpJDQ4gBUEARyAGIARBJ2pLcQ0PIAcQvAULIAFBDGohASADQQFrIgMNAAsLIAAoAtgBIgBFDQoMDQsgACgCyAEiAigCACEBIAIgAUEBazYCACABQQFGBEAgACgCyAEQMAsgAEEYaiAAQegAahCvBCAAKAK4AUF/RwRAIABBuAFqEOYNCxCIBCAAQThqEIoMDwsgACgClAEiAQRAIAAoApgBIAEQ2RILIABBEGogACgCiAEiAygCACEBIAMgAUEBazYCACABQQFGBEAgACgCiAEQMAsQrwQgACgCYEF/RwRAIABB4ABqEOYNCyAAKAJwIgFBf0YNCCAAQfAAahClBCABBEAgACgCdCABQcgBbBDZEgsgACgCgAEhAiAAKAKEASIDBEAgAiEBA0AgASgCACIEBEAgAUEEaigCACIHQQRrKAIAIgVBeHEhBiAGQQRBCCAFQQNxIgUbIARqSQ0MIAVBAEcgBiAEQSdqS3ENDSAHELwFCyABQQxqIQEgA0EBayIDDQALCyAAKAJ8IgBFDQgMCwsgACgCyAEiAQRAIAAoAswBIAEQ2RILIAAoAvgBIgIoAgAhASACIAFBAWs2AgAgAUEBRgRAIAAoAvgBEDALIABB6ABqEK8EIAAoArgBQX9HBEAgAEG4AWoQ5g0LIABBGGoQiAQgAEE4ahCKDCAAQdQBahDkCQ8LIAAoAngiAigCACEBIAIgAUEBazYCACABQQFGBEAgACgCeBAwCyAAQRhqEK8EIAAoAmhBf0YNBiAAQegAahDmDQ8LIABBDGoCQCAAKAIYIgRBf0YNACAAKAIcIQIgACgCICIDBEAgAiEBA0AgARCmByABQcgBahCIBCABQegBaiEBIANBAWsiAw0ACwsgBEUNACACIARB6AFsENkSCxDmDSAAKAIkIgIoAgAhASACIAFBAWs2AgAgAUEBRw0FIAAoAiQQMA8LIABBDGoCQCAAKAIYIgRBf0YNACAAKAIcIQIgACgCICIDBEAgAiEBA0AgARCmByABQcgBahCIBCABQegBaiEBIANBAWsiAw0ACwsgBEUNACACIARB6AFsENkSCxDmDSAAKAIkIgIoAgAhASACIAFBAWs2AgAgAUEBRw0EIAAoAiQQMA8LIABBEGoCQCAAKAIwIgFFDQAgASABKAIAIgFBAWs2AgAgAUEBRw0AIAAoAjAQMAsQoQwgACgCPCIBQX9GDQMgAUUNAwwHCyAAQRBqAkAgACgCMCIBRQ0AIAEgASgCACIBQQFrNgIAIAFBAUcNACAAKAIwEDALEKEMIAAoAjwiAUF/Rg0CIAFFDQIMBgsgAEEIakEEQQggACgCCEF/RhtqEOYNDwsgAEEMahDmDSAAQRhqEOYNIABBJGoQpQQgACgCJCIBRQ0AIAAoAigiAkEEaygCACIDQXhxIQAgACABQcgBbCIBQQRBCCADQQNxIgMbakkNASADQQBHIAAgAUEnaktxDQIgAhC8BQsPC0HQnMkAQS5BgJ3JABCvFAALQZCdyQBBLkHAnckAEK8UAAsgAiAAQQxsENkSDwsgACgCQCABENkSC8AQAhV/An4jAEHQAmsiEiQAAkAgAUECSQ0AQoCAgICAgICAwAAgAa0iGoAhGyAaIBt+QoCAgICAgICAwABSrQJ/IAFBgSBPBEBBASABQQFyZ0EfcyIFQQFxIAVBAXZqIgV0IAEgBXZqQQF2DAELQcAAIAEgAUEBdmsiBSAFQcAATxsLIRMgG3whGyAAQSBrIRdBASEJA0BBACEUQQEhCyABIA9LIhkEQCAPQQV0IhAgAGohDSAbIA9BAXQCfwJAIAEgD2siCyATSQ0AAkAgC0ECSQRAIAshCgwBCwJAIA0oAiAiBSANKAIAIgpHBEAgBSAKayEGDAELAn8gBUUEQEEEIQggDUEkagwBCyANKAIoIgYgDSgCCCIKSyAGIApJayANKAIkIgYgDSgCBCIKSyAGIApJayAGIApGGyIGQf8BcQ0BQQwhCCANQSxqCygCACIGIAggDWooAgAiCksgBiAKSWshBgsCQAJAAkAgBkF/RiIVRQRAQQIhCiALQQJGDQQgDSEGA0ACQCAFIAZBQGsoAgAiCEcEQCAIIAVrIQUMAQsCfyAFQQFHBEAgDSAKQQV0akEEaiEOQQQMAQsgBkHIAGooAgAiByAGQShqKAIAIgVLIAUgB0trIAZBxABqKAIAIgcgBkEkaigCACIFSyAFIAdLayAFIAdGGyIFQf8BcQ0BIAZBzABqIQ5BDAshBSAOKAIAIgcgBSAGakEgaigCACIFSyAFIAdLayEFCyAFQf8BcUH/AUYNAyAGQSBqIQYgCCEFIAsgCkEBaiIKRw0ACwwBC0ECIQpBASEOIAtBAkYNAiANIQYDQAJAIAUgBkFAaygCACIIRwRAIAggBWshBQwBCwJ/IAVBAUcEQCANIApBBXRqQQRqIQ5BBAwBCyAGQcgAaigCACIHIAZBKGooAgAiBUsgBSAHS2sgBkHEAGooAgAiByAGQSRqKAIAIgVLIAUgB0trIAUgB0YbIgVB/wFxDQEgBkHMAGohDkEMCyEFIA4oAgAiByAFIAZqQSBqKAIAIgVLIAUgB0trIQULIAVB/wFxQf8BRw0CIAZBIGohBiAIIQUgCyAKQQFqIgpHDQALCyALIQoLIAogE0kNAiAVRQ0BIApBAXYiDkUNAQsgFyAKQQV0aiERIAAhCANAIAggEGoiB0EIaiIFKQIAIRogBSAQIBFqIgZBCGoiBSkCADcCACAFIBo3AgAgBkEUaigCACENIAZBEGoiBSgCACELIAUgB0EQaiIFKQIANwIAIAcpAgAhGiAHIAYpAgA3AgAgBiAaNwIAIAUgCzYCACAHQRRqIA02AgAgBkEYaiIFKAIAIQsgBSAHQRhqIgUoAgA2AgAgBSALNgIAIAZBHGoiBSgCACELIAUgB0EcaiIFKAIANgIAIAUgCzYCACARQSBrIREgCEEgaiEIIA5BAWsiDg0ACwsgCkEBdEEBcgwBCyALIBMgCyATSRtBAXQgBEUNABogDUEgIAsgC0EgTxsiBSACIANBAEEAEIABIAVBAXRBAXILIgtBAXZqrX4gDyAJQQF2a60gD618IBt+hXmnIRQLAkACQCAMQQJJDQAgD0EFdCIFIBdqIQ0gACAFaiEVA0AgDEEBayIKIBJBjgJqai0AACAUSQ0BAn8CQAJAIAMgEkEEaiAKQQJ0aigCACIFQQF2IgcgCUEBdiIGaiIWTyAFIAlyQQFxRXFFBEAgACAPIBZrQQV0aiEMIAVBAXFFDQEMAgsgFkEBdAwCCyAMIAcgAiADIAdBAXJnQQF0QT5zQQAQgAELIAlBAXFFBEAgDCAHQQV0aiAGIAIgAyAGQQFyZ0EBdEE+c0EAEIABCwJAIAZFDQAgB0UNACAGIAcgBiAHSSIIGyIFIANLDQAgDCAHQQV0aiEJIAVBBXQiBQRAIAIgCSAMIAgbIAX8CgAACyACIAVqIQYCQCAIRQRAIAIhBQNAAkAgCSgCACIHIAUoAgAiCEcEQCAHIAhrIQgMAQtBBCEIIAcEQCAJKAIIIgcgBSgCCCIISyAHIAhJayAJKAIEIgcgBSgCBCIISyAHIAhJayAHIAhGGyIIQf8BcQ0BQQwhCAsgCCAJaigCACIHIAUgCGooAgAiCEsgByAISWshCAsgDCAJIAUgCEF/RiIHGyIQKQIYNwIYIAwgECkCEDcCECAMIBApAgg3AgggDCAQKQIANwIAIAxBIGohDCAGIAUgCEF/R0EFdGoiBUYNAiAVIAkgB0EFdGoiCUcNAAsMAQsgDSEFA0ACQCAGQSBrIhgoAgAiByAJQSBrIhAoAgAiCEcEQCAHIAhrIREMAQtBZCEIIAZBHGshDiAHBEAgBkEYaygCACIHIAlBGGsoAgAiCEsgByAISWsgDigCACIHIAlBHGsoAgAiCEsgByAISWsgByAIRhsiEUH/AXENASAGQRRrIQ5BbCEICyAOKAIAIgYgCCAJaigCACIJSyAGIAlJayERCyAFIBAgGCARQX9GIgkbIgYpAhg3AhggBSAGKQIQNwIQIAUgBikCCDcCCCAFIAYpAgA3AgAgGCAJQQV0aiEGIBAgEUF/R0EFdGoiCSAMRwRAIAVBIGshBSACIAZHDQELCyAJIQwgAiEFCyAGIAVrIglFDQAgDCAFIAn8CgAACyAWQQF0QQFyCyEJQQEhBSAKIgxBAUsNAAsMAQsgDCEFCyASQY4CaiAFaiAUOgAAIBJBBGogBUECdGogCTYCACAZBEAgBUEBaiEMIAtBAXYgD2ohDyALIQkMAQsLIAlBAXENACAAIAEgAiADIAFBAXJnQQF0QT5zQQAQgAELIBJB0AJqJAALwBQCBn8CfiMAQfABayIJJAAgCUHIAGoiCiADIAQQsAogCUGIAWoiCyAFIAYQsAogCSALrUKAgICAwAKENwPAASAJIAqtQoCAgIDAAoQ3A7gBIAlBDGpB0vPBACAJQbgBahC4DAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAIAkoAogBIgoEQCAJKAKMASIMQQRrKAIAIg1BeHEhCyALQQRBCCANQQNxIg0bIApqSQ0BIA1BAEcgCyAKQSdqS3ENAiAMELwFCyAJKAJIIgoEQCAJKAJMIgxBBGsoAgAiDUF4cSELIAtBBEEIIA1BA3EiDRsgCmpJDQMgDUEARyALIApBJ2pLcQ0EIAwQvAULIAkCfkHQ8MkALQAABEBByPDJACkDACEQQcDwyQApAwAMAQsgCUG4AWoQuxFB0PDJAEEBOgAAQcjwyQAgCSkDwAEiEDcDACAJKQO4AQsiDzcDGEHA8MkAIA9CAXw3AwAgCUEANgIwIAlCgICAgIABNwMoIAkgEDcDICAJQZCpyQApAwA3AjQgCUGYqckAKQMANwI8QQoQkAEiCkUNBCAKQYy1yQAvAAA7AAggCkGEtckAKQAANwAAIAlBCjYChAEgCSAKNgKAASAJQQo2AnwgCEGr1aoVTw0FAkACQAJAAn8gCEUEQCAJQQA2AlAgCUKAgICAgAE3AkhBAAwBCyAIQTBsIgoQkAEiDEUNCiAIQRhsIQtBACEKIAlBADYCUCAJIAw2AkwgCSAINgJIQQAhCANAIAlBuAFqIAcQ9QMgCSgCyAFBf0YNAiAHQRhqIQcgCSgCSCAIRgRAIAlByABqEJQSIAkoAkwhDAsgCiAMaiINIAkpA7gBNwMAIA0gCSkD4AE3AyggDSAJKQPYATcDICANIAkpA9ABNwMYIA0gCSkDyAE3AxAgDSAJKQPAATcDCCAJIAhBAWoiCDYCUCAKQTBqIQogC0EYayILDQALIAkoAkgLIQcgCUGEgICAeDYCmAEgCSAJKQJMNwKMASAJIAc2AogBIAlBuAFqIAlBGGogCUH8AGogCUGIAWoQ0gMgCSAJKQPoATcDcCAJIAkpA+ABNwNoIAkgCSkD2AE3A2AgCSAJKQPQASIPNwNYIAkgCSkDyAE3A1AgCSAJKQPAATcDSCAPp0F/RwRAIAlByABqEP4JC0EMEJABIghFDQpBACEHIAhB+rHJACgAADYACCAIQfKxyQApAAA3AAAgCUEMNgKEASAJIAg2AoABIAlBDDYCfCAEQavVqhVPDQggBEEwbCIIDQFBCCEMDAILIAkoArgBIQAgCUHIAGoQlwkgCSgCSCIBBEAgDCABQTBsENkSCyAJIAA2ArgBQYiwyQBBKyAJQbgBakGYsckAQbi1yQAQ2hIACyAIEJABIgxFDQkgBCEHC0EAIQogCUEANgLAASAJIAw2ArwBIAkgBzYCuAEgBARAIAMgBEEDdGohDUEQIQgDQEEBIQsCQCADQQRqKAIAIgRFIgcNACADKAIAIQ4gBBCQASILRQ0MIAcNACALIA4gBPwKAAALIAkoArgBIApGBEAgCUG4AWoQlBIgCSgCvAEhDAsgCCAMaiIHQYOAgIB4NgIAIAdBCGsgBDYCACAHQQxrIAs2AgAgB0EQayAENgIAIAkgCkEBaiIKNgLAASAIQTBqIQggDSADQQhqIgNHDQALIAkoArgBIQcLIAlBhICAgHg2ApgBIAkgCSkCvAE3AowBIAkgBzYCiAEgCUG4AWogCUEYaiAJQfwAaiAJQYgBahDSAyAJIAkpA+gBNwNwIAkgCSkD4AE3A2ggCSAJKQPYATcDYCAJIAkpA9ABIg83A1ggCSAJKQPIATcDUCAJIAkpA8ABNwNIIA+nQX9HBEAgCUHIAGoQ/gkLQRUQkAEiA0UNCkEAIQcgA0GttckAKQAANwANIANBqLXJACkAADcACCADQaC1yQApAAA3AAAgCUEVNgKEASAJIAM2AoABIAlBFTYCfCAGQavVqhVPDQUCQCAGQTBsIgRFBEBBCCEDDAELIAQQkAEiA0UNDCAGIQcLQQAhCiAJQQA2AsABIAkgAzYCvAEgCSAHNgK4ASAGBEAgBSAGQQN0aiEHQRAhCANAQQEhCwJAIAVBBGooAgAiBEUiBg0AIAUoAgAhDCAEEJABIgtFDQ8gBg0AIAsgDCAE/AoAAAsgCSgCuAEgCkYEQCAJQbgBahCUEiAJKAK8ASEDCyADIAhqIgZBg4CAgHg2AgAgBkEIayAENgIAIAZBDGsgCzYCACAGQRBrIAQ2AgAgCSAKQQFqIgo2AsABIAhBMGohCCAHIAVBCGoiBUcNAAsgCSgCuAEhBwsgCUGEgICAeDYCmAEgCSAJKQK8ATcCjAEgCSAHNgKIASAJQbgBaiAJQRhqIAlB/ABqIAlBiAFqENIDIAkgCSkD6AE3A3AgCSAJKQPgATcDaCAJIAkpA9gBNwNgIAkgCSkD0AEiDzcDWCAJIAkpA8gBNwNQIAkgCSkDwAE3A0ggD6dBf0cEQCAJQcgAahD+CQtBDRCQASIDRQ0NQQAhByADQY6xyQApAAA3AAUgA0GJsckAKQAANwAAIAlBDTYChAEgCSADNgKAASAJQQ02AnwgAkGr1aoVTw0FAkAgAkEwbCIERQRAQQghAwwBCyAEEJABIgNFDQ8gAiEHC0EAIQogCUEANgLAASAJIAM2ArwBIAkgBzYCuAEgAgRAIAEgAkEDdGohBUEQIQgDQEEBIQsCQCABQQRqKAIAIgJFIgQNACABKAIAIQYgAhCQASILRQ0SIAQNACALIAYgAvwKAAALIAkoArgBIApGBEAgCUG4AWoQlBIgCSgCvAEhAwsgAyAIaiIEQYOAgIB4NgIAIARBCGsgAjYCACAEQQxrIAs2AgAgBEEQayACNgIAIAkgCkEBaiIKNgLAASAIQTBqIQggBSABQQhqIgFHDQALIAkoArgBIQcLIAlBhICAgHg2ApgBIAkgCSkCvAE3AowBIAkgBzYCiAEgCUG4AWogCUEYaiAJQfwAaiAJQYgBahDSAyAJIAkpA+gBNwNwIAkgCSkD4AE3A2ggCSAJKQPYATcDYCAJIAkpA9ABIg83A1ggCSAJKQPIATcDUCAJIAkpA8ABNwNIIA+nQX9HBEAgCUHIAGoQ/gkLIAAgCSkDQDcDKCAAIAkpAzg3AyAgACAJKQMwNwMYIAAgCSkDKDcDECAAIAkpAyA3AwggACAJKQMYNwMAIABBBzoAPCAAIAkpAgw3AjAgACAJKAIUNgI4IAlB8AFqJAAPC0HQnMkAQS5BgJ3JABCvFAALQZCdyQBBLkHAnckAEK8UAAtB0JzJAEEuQYCdyQAQrxQAC0GQnckAQS5BwJ3JABCvFAALQQEQpxQACxCeFQALQQgQpxQAC0EBEKcUAAtBCBCnFAALQQEQpxQAC0EBEKcUAAtBCBCnFAALQQEQpxQAC0EBEKcUAAtBCBCnFAALQQEQpxQAC7AbAgh/An4jAEHQBmsiAiQAQdDwyQAtAAAhAwJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAIAEoAgBBAWsODAECAwQFBgcICQoLDAALIAICfiADQQFxBEBByPDJACkDACEKQcDwyQApAwAMAQsgAkHABmoQuxFB0PDJAEEBOgAAQcjwyQAgAikDyAYiCjcDACACKQPABgsiCzcDEEHA8MkAIAtCAXw3AwAgAkEANgIoIAJCgICAgIABNwMgIAIgCjcDGCACQoCAgIBwNwMAIAJBkKnJACkDADcCLCACQZipyQApAwA3AjQgAkHVkMkAQQYQtwwiAUUNDCAAQX82AhAgACABNgIAIAIQwwsMGgsgAgJ+IANBAXEEQEHI8MkAKQMAIQpBwPDJACkDAAwBCyACQcAGahC7EUHQ8MkAQQE6AABByPDJACACKQPIBiIKNwMAIAIpA8AGCyILNwNQQcDwyQAgC0IBfDcDACACQQA2AmggAkKAgICAgAE3A2AgAiAKNwNYIAJCgICAgHA3A0AgAkGQqckAKQMANwJsIAJBmKnJACkDADcCdCACQUBrIgNB5JnJAEEHELcMIgFFDQwgAEF/NgIQIAAgATYCACADEMMLDBkLIAICfiADQQFxBEBByPDJACkDACEKQcDwyQApAwAMAQsgAkHABmoQuxFB0PDJAEEBOgAAQcjwyQAgAikDyAYiCjcDACACKQPABgsiCzcDkAFBwPDJACALQgF8NwMAIAJBADYCqAEgAkKAgICAgAE3A6ABIAIgCjcDmAEgAkKAgICAcDcDgAEgAkGQqckAKQMANwKsASACQZipyQApAwA3ArQBIAJBgAFqIgNB65nJAEEEELcMIgFFDQwgAEF/NgIQIAAgATYCACADEMMLDBgLIAICfiADQQFxBEBByPDJACkDACEKQcDwyQApAwAMAQsgAkHABmoQuxFB0PDJAEEBOgAAQcjwyQAgAikDyAYiCjcDACACKQPABgsiCzcD0AFBwPDJACALQgF8NwMAIAJBADYC6AEgAkKAgICAgAE3A+ABIAIgCjcD2AEgAkKAgICAcDcDwAEgAkGQqckAKQMANwLsASACQZipyQApAwA3AvQBIAJBwAFqIgNB75nJAEEDELcMIgFFDQwgAEF/NgIQIAAgATYCACADEMMLDBcLIAICfiADQQFxBEBByPDJACkDACEKQcDwyQApAwAMAQsgAkHABmoQuxFB0PDJAEEBOgAAQcjwyQAgAikDyAYiCjcDACACKQPABgsiCzcDkAJBwPDJACALQgF8NwMAIAJBADYCqAIgAkKAgICAgAE3A6ACIAIgCjcDmAIgAkKAgICAcDcDgAIgAkGQqckAKQMANwKsAiACQZipyQApAwA3ArQCIAJBgAJqIgNB8pnJAEEEELcMIgFFDQwgAEF/NgIQIAAgATYCACADEMMLDBYLIAICfiADQQFxBEBByPDJACkDACEKQcDwyQApAwAMAQsgAkHABmoQuxFB0PDJAEEBOgAAQcjwyQAgAikDyAYiCjcDACACKQPABgsiCzcD0AJBwPDJACALQgF8NwMAIAJBADYC6AIgAkKAgICAgAE3A+ACIAIgCjcD2AIgAkKAgICAcDcDwAIgAkGQqckAKQMANwLsAiACQZipyQApAwA3AvQCIAJBwAJqQfCXyQBBBBC3DCIDRQ0MDBQLIAICfiADQQFxBEBByPDJACkDACEKQcDwyQApAwAMAQsgAkHABmoQuxFB0PDJAEEBOgAAQcjwyQAgAikDyAYiCjcDACACKQPABgsiCzcDkANBwPDJACALQgF8NwMAIAJBADYCqAMgAkKAgICAgAE3A6ADIAIgCjcDmAMgAkKAgICAcDcDgAMgAkGQqckAKQMANwKsAyACQZipyQApAwA3ArQDIAJBgANqIgNB9pnJAEEEELcMIgFFDQwgAEF/NgIQIAAgATYCACADEMMLDBQLIAICfiADQQFxBEBByPDJACkDACEKQcDwyQApAwAMAQsgAkHABmoQuxFB0PDJAEEBOgAAQcjwyQAgAikDyAYiCjcDACACKQPABgsiCzcD0ANBwPDJACALQgF8NwMAIAJBADYC6AMgAkKAgICAgAE3A+ADIAIgCjcD2AMgAkKAgICAcDcDwAMgAkGQqckAKQMANwLsAyACQZipyQApAwA3AvQDIAJBwANqIgNB+pnJAEEGELcMIgFFDQwgAEF/NgIQIAAgATYCACADEMMLDBMLIAICfiADQQFxBEBByPDJACkDACEKQcDwyQApAwAMAQsgAkHABmoQuxFB0PDJAEEBOgAAQcjwyQAgAikDyAYiCjcDACACKQPABgsiCzcDkARBwPDJACALQgF8NwMAIAJBADYCqAQgAkKAgICAgAE3A6AEIAIgCjcDmAQgAkKAgICAcDcDgAQgAkGQqckAKQMANwKsBCACQZipyQApAwA3ArQEIAJBgARqIgNBhJrJAEEIELcMIgFFDQwgAEF/NgIQIAAgATYCACADEMMLDBILIAICfiADQQFxBEBByPDJACkDACEKQcDwyQApAwAMAQsgAkHABmoQuxFB0PDJAEEBOgAAQcjwyQAgAikDyAYiCjcDACACKQPABgsiCzcD0ARBwPDJACALQgF8NwMAIAJBADYC6AQgAkKAgICAgAE3A+AEIAIgCjcD2AQgAkKAgICAcDcDwAQgAkGQqckAKQMANwLsBCACQZipyQApAwA3AvQEIAJBwARqIgNBjJrJAEEFELcMIgFFDQwgAEF/NgIQIAAgATYCACADEMMLDBELIAICfiADQQFxBEBByPDJACkDACEKQcDwyQApAwAMAQsgAkHABmoQuxFB0PDJAEEBOgAAQcjwyQAgAikDyAYiCjcDACACKQPABgsiCzcDkAVBwPDJACALQgF8NwMAIAJBADYCqAUgAkKAgICAgAE3A6AFIAIgCjcDmAUgAkKAgICAcDcDgAUgAkGQqckAKQMANwKsBSACQZipyQApAwA3ArQFIAJBgAVqIgNB7LHJAEEGELcMIgFFDQwgAEF/NgIQIAAgATYCACADEMMLDBALIAICfiADQQFxBEBByPDJACkDACEKQcDwyQApAwAMAQsgAkHABmoQuxFB0PDJAEEBOgAAQcjwyQAgAikDyAYiCjcDACACKQPABgsiCzcD0AVBwPDJACALQgF8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AQsgAUEAOgCRASADQdgAaiABEJQKIAMoAlghAiADKAJcIgEgBDoAkQELIAJBAUcNAAsLQQAhAgJAIAEoAogBIgQgASgChAFPDQAgASgCgAEgBGotAABBPUcNACABIARBAWo2AogBQQEhAgsgAS0AfEEBRgRAQQEQkAEiCEUNCSAIQT06AAAgA0EBNgKsASADIAg2AqgBIANCgICAgBA3AqABIAEgBCADQaABaiACEPkICyACRQ0AAkAgAS0AkQFBAkcNACABKAIAQQFGBEAgASgCBCICIAEoAggiBE8NAiABIAJBAWoiCDYCBCAEIAhNDQEgASACQQJqNgIECyABQQA6AJEBIANByABqIAEQlAogAygCSCADKAJMIgFBAjoAkQFBAXENAANAIAEoAgBBAUYEQCABKAIEIgIgASgCCE8NAiABIAJBAWo2AgQLAkAgAS0AkQEiBEUEQCADQThqIAEQlAogAygCPCEBIAMoAjghAgwBCyABQQA6AJEBIANBQGsgARCUCiADKAJAIQIgAygCRCIBIAQ6AJEBCyACQQFHDQALCyADQTBqIAEQ8AEgAygCNCEBIAMoAjBBAXENAAJAIAEtAJEBQQJHDQAgASgCAEEBRgRAIAEoAgQiAiABKAIIIgRPDQIgASACQQFqIgg2AgQgBCAITQ0BIAEgAkECajYCBAsgAUEAOgCRASADQShqIAEQlAogAygCKCADKAIsIgFBAjoAkQFBAXENAANAIAEoAgBBAUYEQCABKAIEIgIgASgCCE8NAiABIAJBAWo2AgQLAkAgAS0AkQEiBEUEQCADQRhqIAEQlAogAygCHCEBIAMoAhghAgwBCyABQQA6AJEBIANBIGogARCUCiADKAIgIQIgAygCJCIBIAQ6AJEBCyACQQFHDQALCyABKAIAQQFGBEAgASgCBCICIAEoAggiBE8NASABIAJBAWoiCDYCBCAEIAhNDQEgASACQQJqNgIECyADQRBqIAEQngMgAygCFCEBAkAgAygCEEEBcQ0AIAEoAgBBAUYEQCABKAIEIgIgASgCCE8NASABIAJBAWo2AgQLIANBCGogARDtCyADKAIMIQEgAygCCEEBcQ0AA0AgAyABEO0LIAMoAgQhASADKAIAQQFxRQ0ACwsgAS0AkAEiAkEBRw0EIAEtAJEBRQ0MIAEoAowBIgIgB0cNAiAL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BDYCFCACQaDrwgA2AiQgAiABKQIINwIoIAIgAkEIajYCHCACIAJBFGo2AiAgACACQSBqENcBDQggAigCIEGkssgAQQIgAigCJCgCDBEAAA0ICyABKAIAQYiQyQBBASABKAIEKAIMEQAAIQMMBwtBASEDIAEoAgAiBEHKmskAQQQgASgCBCIGKAIMIgURAAANBiAAQQhqIQACQCABLQAKQYABcUUEQCAEQbTPxQBBASAFEQAADQggACABENcBRQ0BDAgLIARBnePCAEECIAURAAANByACQQE6AAggAiAGNgIYIAIgBDYCFCACQaDrwgA2AiQgAiABKQIINwIoIAIgAkEIajYCHCACIAJBFGo2AiAgACACQSBqENcBDQcgAigCIEGkssgAQQIgAigCJCgCDBEAAA0HCyABKAIAQYiQyQBBASABKAIEKAIMEQAAIQMMBgtBASEDIAEoAgAiBEGsmskAQQUgASgCBCIGKAIMIgURAAANBSAAQQFqIQACQCABLQAKQYABcUUEQCAEQbTPxQBBASAFEQAADQcgACABEJgURQ0BDAcLIARBnePCAEECIAURAAANBiACQQE6AAggAiAGNgIYIAIgBDYCFCACQaDrwgA2AiQgAiABKQIINwIoIAIgAkEIajYCHCACIAJBFGoiBDYCICAAIAJBIGoQmBQNBiAEQaSyyABBAhD9CA0GCyABKAIAQYiQyQBBASABKAIEKAIMEQAAIQMMBQtBASEDIAEoAgAiBEHOmskAQQYgASgCBCIGKAIMIgURAAANBCAAQQRqIQACQCABLQAKQYABcUUEQCAEQbTPxQBBASAFEQAADQYgAiAANgIgIAFBgZvJAEELQYybyQBBBiACQSBqQa0CEJIRRQ0BDAYLIARBnePCAEECIAURAAANBSACQQE6ABMgAiAGNgIYIAIgBDYCFCACQaDrwgA2AiQgAiABKQIINwIoIAIgAkETajYCHCACIAJBFGo2AiAgAiAANgIIIAJBIGpBgZvJAEELQYybyQBBBiACQQhqQa0CEJIRDQUgAigCIEGkssgAQQIgAigCJCgCDBEAAA0FCyABKAIAQYiQyQBBASABKAIEKAIMEQAAIQMMBAsgASgCAEHUmskAQQYgASgCBCgCDBEAAARAQQEhAwwECwJAIAEtAApBgAFxRQRAIAEoAgBBl+PCAEEDIAEo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IAFBAUcNFAsMFgsCQCAAKAIERQRAIAAoAggiAigCACEBIAIgAUEBazYCACABQQFGDQEMFAsgACgCCCICKAIAIQEgAiABQQFrNgIAIAFBAUcNEwsMFQsgACgCBCICKAIAIQEgAiABQQFrNgIAIAFBAUYEQCAAKAIEEDALIAAoAgwiAigCACEBIAIgAUEBazYCACABQQFHDREgACgCDBAwDwsgACgCBCICKAIAIQEgAiABQQFrNgIAIAFBAUYEQCAAKAIEEDALIAAoAgwiAigCACEBIAIgAUEBazYCACABQQFHDRAgACgCDBAwDwsgACgCBCICKAIAIQEgAiABQQFrNgIAIAFBAUcNDwwRCyAAKAIEIgIoAgAhASACIAFBAWs2AgAgAUEBRw0ODBALIAAoAhAiAigCACEBIAIgAUEBazYCACABQQFHDQ0gACgCEBAwDwsgACgCFCICKAIAIQEgAiABQQFrNgIAIAFBAUcNDCAAKAIUEDAPCyAAKAIEIgIoAgAhASACIAFBAWs2AgAgAUEBRw0LDA0LIAAoAgQiAigCACEBIAIgAUEBazYCACABQQFHDQoMDAsgACgCBCICKAIAIQEgAiABQQFrNgIAIAFBAUcNCQwLCyAAKAIEIgIoAgAhASACIAFBAWs2AgAgAUEBRw0IDAoLIAAoAgwiAigCACEBIAIgAUEBazYCACABQQFGBEAgACgCDBAwCyAAKAIEIgFFDQcgASABKAIAIgFBAWs2AgAgAUEBRw0HDAkLIAAoAgwiAigCACEBIAIgAUEBazYCACABQQFGBEAgACgCDBAwCyAAKAIEIgFFDQYgASABKAIAIgFBAWs2AgAgAUEBRw0GDAgLIAAoAgQiAigCACEBIAIgAUEBazYCACABQQFHDQUMBwsgACgCBCICKAIAIQEgAiABQQFrNgIAIAFBAUcNBAwGCyAAKAIEIgIoAgAhASACIAFBAWs2AgAgAUEBRw0DDAULIAAoAgQiAigCACEBIAIgAUEBazYCACABQQFHDQIMBAsCQCAAKAIERQRAIAAoAggiAigCACEBIAIgAUEBazYCACABQQFGDQEMAwsgACgCCCICKAIAIQEgAiABQQFrNgIAIAFBAUcNAgsMBAsgACgCBCICKAIAIQEgAiABQQFrNgIAIAFBAUcNACAAKAIEEDALDwsgACgCCCABENkSDwsgACgCBBAwDwsgACgCCBAwC/YQARV/IwBB8AFrIgIkAAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkAgASgCAEEBRgRAIAEoAggiCCABKAIEIglBoAJqKAIAIgNPDQEgASgCDCILIAlBnAJqKAIAIAhBJGxqIgFBIGooAgAiA08NAiABQRxqKAIAIAtB1ABsaiIDKAIAQYCAgIB4Rw0DAkAgAygCJCIBBEAgAygCICIDIAFB3ABsIgZqIRADQCABIARGDQcgA0HcAGohDCADKAIARQ0CIARBAWohBCAMIQMgBkHcAGsiBg0ACwsgAEEANgIIIABCgICAgMAANwIADA4LIAkgCSgCACIBQQFqNgIAIAFBAEgNBQJAAkAgCSgCTCIKRQ0AIAlB0ABqKAIAIQ0DQCAKQQxqIQ4gCkEEaiEDIAovAaYIIgdBDGwhBkF/IQECQANAIAZFBEAgByEBDAILIAMoAgQiBSALSSAFIAtLayADKAIAIgUgCEkgBSAIS2sgBSAIRhsiBUH/AXFFBEAgDigCACIFIARJIAQgBUlrIQULIANBDGohAyAGQQxrIQYgDkEMaiEOIAFBAWohASAFQQFGDQALIAVB/wFxRQ0DCyANRQ0BIA1BAWshDSAKIAFBAnRqKAKoCCEKDAALAAtB1LnEAEEWQYS+xAAQwBMACyAKIAFB1ABsai0A0AEhAUHgABCQASIKRQ0GIAogCTYCFCAKIAQ2AhAgCiALNgIMIAogCDYCCCAKQQE2AgQgCkEBQQIgARs2AgAgAkEBNgKIASACIAo2AoQBIAJBBDYCgAECQCAMIBBGDQAgCUGgAmohEiAIQSRsIRMgCUGcAmohFCALQdQAbCEVIAlB0ABqIRZBASEPA0AgBEHcAGxB3ABqIQYgEigCACEBIARBAWohBANAIAEgCE0NCiAUKAIAIBNqIgNBIGooAgAiByALTQ0LIANBHGooAgAgFWoiAygCAEGAgICAeEcNDCADKAIkIgcgBE0NDSAMQdwAaiEMIAMoAiAgBmooAgAEQCAGQdwAaiEGIARBAWohBCAMIBBHDQEMAwsLIAkgCSgCACIBQQFqNgIAIAFBAEgNBwJAAkAgCSgCTCINRQ0AIBYoAgAhEQNAIA1BDGohDiANQQRqIQMgDS8BpggiB0EMbCEGQX8hAQJAA0AgBkUEQCAHIQEMAgsgAygCBCIFIAtJIAUgC0trIAMoAgAiBSAISSAFIAhLayAFIAhGGyIFQf8BcUUEQCAOKAIAIgUgBEkgBCAFSWshBQsgA0EMaiEDIAZBDGshBiAOQQxqIQ4gAUEBaiEBIAVBAUYNAAsgBUH/AXFFDQMLIBFFDQEgEUEBayERIA0gAUECdGooAqgIIQ0MAAsAC0HUucQAQRZBhL7EABDAEwALQQFBAiANIAFB1ABsai0A0AEbIQMgAigCgAEgD0YEQCACQYABaiAPQQFBBEEYELMRIAIoAoQBIQoLIAogD0EYbGoiASAJNgIUIAEgBDYCECABIAs2AgwgASAINgIIIAFBATYCBCABIAM2AgAgAiAPQQFqIg82AogBIAwgEEcNAAsLIAAgAigCiAE2AgggACACKQKAATcCAAwNCyABKAIEIglBCGohCiAJQQxqKAIAIQsgASgCDCEIIAEoAgghBAJAIAlBEGooAgAiDCIDDgIMCwALA0ACfyAEIAsgA0EBdiIOIAdqIgVB5ABsaiIGQdQAaigCACINRwRAIAQgDUsMAQsgBkHYAGooAgAgCEkLIQYgBSAHIAYbIQcgAyAOayIDQQFLDQALDAoLIAggA0H0uMQAEIUTAAsgCyADQfS4xAAQhRMAC0H0uMQAEJ0VAAsgASABQaS+xAAQhRMLAAtBBBCnFAALIAggAUGUvsQAEIUTAAsgCyAHQZS+xAAQhRMAC0GUvsQAEJ0VAAsgBCAHQaS+xAAQhRMACwJ/IAQgCyAHQeQAbGoiA0HUAGooAgAiBkcEQCAEIAZLDAELIANB2ABqKAIAIAhJCyAHaiEDCyABQQRqIQ5BACEHIAJBADoALCACIAg2AiggAiAENgIkIAJBADYCGCACIAg2AhAgAiAENgIMIAIgCjYCCCACIAsgDEHkAGxqNgIgIAIgAzYCFCACIAsgA0HkAGxqNgIcIAlBGGooAgAhDAJAAkACQCAJQRxqKAIAIgEiAw4CAgEACwNAAn8gBCAMIANBAXYiCSAHaiILQfAAbGoiBkHYAGooAgAiBUcEQCAEIAVLDAELIAZB3ABqKAIAIAhJCyEGIAsgByAGGyEHIAMgCWsiA0EBSw0ACwsCfyAEIAwgB0HwAGxqIgNB2ABqKAIAIgZHBEAgBCAGSwwBCyADQdwAaigCACAISQsgB2ohAwsgAkEAOgBYIAIgCDYCVCACIAQ2AlAgAkEANgJEIAIgCDYCPCACIAQ2AjggAiAKNgI0IAIgDjYCMCACIA42AgQgAiAMIAFB8ABsajYCTCACIAM2AkAgAiAMIANB8ABsajYCSCACQegAaiACQQRqIgMQ/gYgAigCaEF/RwRAQeAAEJABIgFFDQIgASACKQJ4NwIQIAEgAikCcDcCCCABIAIpAmg3AgAgAkEBNgJkIAIgATYCYCACQQQ2AlwgAkGAAWogA0HYAPwKAABBGCEHQQEhBANAIAJB2AFqIAJBgAFqEP4GIAIoAtgBQX9GRQRAIAIoAlwgBEYEQCACQdwAaiAEQQFBBEEYELMRIAIoAmAhAQsgASAHaiIDIAIpAugBNwIQIAMgAikC4AE3AgggAyACKQLYATcCACACIARBAWoiBDYCZCAHQRhqIQcMAQsLIAAgAigCZDYCCCAAIAIpAlw3AgAMAQsgAEEANgIIIABCgICAgMAANwIACyACQfABaiQADwtBBBCnFAALwhMCBH8CfiMAQTBrIgIkAAJAAkACQAJAAkACQAJAAkAgAC0AAEEBaw4DAQIDAAsgAiAAKAIENgIMIAEoAgBBxKPJAEECIAEoAgQoAgwRAAAhACACQQA6ABkgAiAAOgAYIAIgATYCFEEBIQEgAkEUakHGo8kAQQQgAkEMakGCAxCJDiEEAkAgAi0AGA0AIAItABkhAyAEKAIAIgAtAApBgAFxRQRAIAAoAgBBiLPJAEGX48IAIANBAXEiAxtBAkEDIAMbIABBBGoiAygCACgCDBEAAA0BIAAoAgBByqPJAEEEIAMoAgAoAgwRAAANASAAKAIAQaayyABBAiADKAIAKAIMEQAADQEgACgCAEGI68kAKAIAQeDpyQAoAgAgAygCACgCDBEAACEBDAELIANBAXFFBEAgACgCAEGa48IAQQMgACgCBCgCDBEAAA0BCyACQQE6ABMgAiAAKQIANwIgIAIgAkETajYCKCACQSBqIgBByqPJAEEEEP0IDQAgAEGmssgAQQIQ/QgNACAAQYjryQAoAgBB4OnJACgCAEGs68IAKAIAEQAADQAgAEGkssgAQQIQ/QghAQtBFBCQASIDRQ0EIANBkJ/JACgAADYAECADQYifyQApAAA3AAggA0GAn8kAKQAANwAAQQEhAAJAIAENAAJAIAQoAgAiAS0ACkGAAXFFBEAgASgCAEGIs8kAQQIgASgCBCgCDBEAAA0CIAEoAgBBzqPJAEEHIAEoAgQoAgwRAAANAiABKAIAQaayyABBAiABKAIEKAIMEQAADQIgA0EUIAEoAgAgASgCBBC/BkUNAQwCCyACIAEpAgA3AiAgAkEBOgATIAIgAkETajYCKCACQSBqIgRBzqPJAEEHEP0IDQEgBEGmssgAQQIQ/QgNASADQRQgBEGg68IAEL8GDQEgBEGkssgAQQIQ/QgNAQsgAS0ACkGAAXFFBEAgASgCAEHt6sIAQQIgASgCBCgCDBEAACEADAELIAEoAgBBobLIAEEBIAEoAgQoAgwRAAAhAAsgA0EEaygCACIEQXhxIQEgAUEYQRwgBEEDcSIEG0kNBSAEQQBHIAFBPE9xDQYgAxC8BQwDCyAALQABIQNBASEAIAEoAgBB1aPJAEEEIAEoAgQoAgwRAAANAgJAIAEtAApBgAFxRQRAIAEoAgBBtM/FAEEBIAEoAgQoAgwRAAANBCABKAIAIANBAnQiAygCxORJIAMoApzjSSABKAIEKAIMEQAARQ0BDAQLIAEoAgBBnePCAEECIAEoAgQoAgwRAAANAyACQQE6ABQgAiABKQIANwIgIANBAnQiAygC7OVJIQQgAygClOdJIQMgAiACQRRqNgIoIAJBIGoiBSADIAQQ/QgNAyAFQaSyyABBAhD9CA0DCyABKAIAQYiQyQBBASABKAIEKAIMEQAAIQAMAgsgACgCBCEDIAEoAgBBuLbJAEEFIAEoAgQoAgwRAAAEQEEBIQAMAgsCQCABLQAKQYABcUUEQCABKAIAQZfjwgBBAyABKAIEKAIMEQAABEBBASEADAQLIAEoAgBByqPJAEEEIAEoAgQoAgwRAAAEQEEBIQAMBAsgASgCAEGmssgAQQIgASgCBCgCDBEAAARAQQEhAAwECyABKAIAIAMtAAhBAnQiACgC5OlJIAAoArzoSSABKAIEKAIMEQAARQ0BQQEhAAwDCyABKAIAQZrjwgBBAyABKAIEKAIMEQAABEBBASEADAMLQQEhACACQQE6ABQgAiABKQIANwIgIAIgAkEUajYCKCACQSBqIgRByqPJAEEEEP0IDQIgBEGmssgAQQIQ/QgNAiAEIAMtAAhBAnQiBSgC5OlJIAUoArzoSUGs68IAKAIAEQAADQIgBEGkssgAQQIQ/QhFDQAMAgsCQAJAIAEtAApBgAFxRQRAIAEoAgBBiLPJAEECIAEoAgQoAgwRAAAEQEEBIQAMBQsgASgCAEHOo8kAQQcgASgCBCgCDBEAAARAQQEhAAwFCyABKAIAQaayyABBAiABKAIEKAIMEQAARQ0BQQEhAAwECyACIAEpAgA3AiBBASEAIAJBAToAFCACIAJBFGo2AiggAkEgaiIEQc6jyQBBBxD9CA0DIARBprLIAEECEP0IDQMgAygCACADKAIEIARBoOvCABC/Bg0DIARBpLLIAEECEP0IRQ0BDAMLQQEhACADKAIAIAMoAgQgASgCACABKAIEEL8GDQILIAEtAApBgAFxRQRAIAEoAgBB7erCAEECIAEoAgQoAgwRAAAhAAwCCyABKAIAQaGyyABBASABKAIEKAIMEQAAIQAMAQsgACgCBCEDIAEoAgBB2aPJAEEGIAEoAgQoAgwRAAAEQEEBIQAMAQsCQCABLQAKQYABcUUEQCABKAIAQZfjwgBBAyABKAIEKAIMEQAABEBBASEADAMLIAEoAgBByqPJAEEEIAEoAgQoAgwRAAAEQEEBIQAMAwsgASgCAEGmssgAQQIgASgCBCgCDBEAAARAQQEhAAwDCyABKAIAIAMtAAhBAnQiACgC5OlJIAAoArzoSSABKAIEKAIMEQAARQ0BQQEhAAwCCyABKAIAQZrjwgBBAyABKAIEKAIMEQAABEBBASEADAILQQEhACACQQE6ABQgAiABKQIANwIgIAIgAkEUajYCKCACQSBqIgRByqPJAEEEEP0IDQEgBEGmssgAQQIQ/QgNASAEIAMtAAhBAnQiBSgC5OlJIAUoArzoSUGs68IAKAIAEQAADQEgBEGkssgAQQIQ/QhFDQAMAQsCQAJAIAEtAApBgAFxRQRAIAEoAgBBiLPJAEECIAEoAgQoAgwRAAAEQEEBIQAMBAsgASgCAEHfo8kAQQUgASgCBCgCDBEAAARAQQEhAAwECyABKAIAQaayyABBAiABKAIEKAIMEQAARQ0BQQEhAAwDCyABKQIIIQYgASkCACEHQQEhACACQQE6AAwgAiAHNwIUIAIgBjcCKCACQaDrwgA2AiQgAiACQQxqNgIcIAIgAkEUaiIENgIgIARB36PJAEEFEP0IDQIgBEGmssgAQQIQ/QgNAiADKAIAIAJBIGogA0EEaigCACgCDBEBAA0CIAIoAiBBpLLIAEECIAIoAiQoAgwRAABFDQEMAgtBASEAIAMoAgAgASADQQRqKAIAKAIMEQEADQELIAEtAApBgAFxRQRAIAEoAgBB7erCAEECIAEoAgQoAgwRAAAhAAwBCyABKAIAQaGyyABBASABKAIEKAIMEQAAIQALIAJBMGokACAADwtBARCnFAALQdCcyQBBLkGAnckAEK8UAAtBkJ3JAEEuQcCdyQAQrxQAC5MRAg5/An4jAEHAB2siBiQAIAZBoAJqIAEQmwQgBkEQaiACEIYCQX4hBwJAAkACQCACKAJQIgtBfkcEQEF/IQcgAigCWCEBIAIoAlQhCAJAIAtBf0YEQCAIIQkMAQsgAUUEQEEAIQdBASEJDAELIAEQkAEiCUUNAyABBEAgCSAIIAH8CgAACyABIQcLIAmtIAGtQiCGhCEUCyAGQYAGaiAGQRBqQdAA/AoAACAGKALkAyIJIAYoAtwDRgRAIAZB3ANqEKUSCyAGKALgAyAJQeAAbGoiCCAGQYAGaiIBQdAA/AoAACAIIBQ3AlQgCCAHNgJQIAYgCUEBajYC5AMgBkEQaiIHIAZBoAJqIglBkAL8CgAAIAkgBxCbBCABIAIQhgJBfiEKAkAgC0F+RgRAIAZBsARqIgcgAUHQAPwKAAAgBkF+NgKABSABIAcQhgIMAQsgAigCWCEKIAIoAlQhBwJAIAtBf0YEQCAGQbAEaiIBIAZBgAZqIglB0AD8CgAAIAZBfzYCgAUgBiAKrUIghiIVIAethDcChAUgCSABEIYCQX8hCiAHIQEMAQsgCkUEQCAGQbAEaiIBIAZBgAZqIgdB0AD8CgAAIAZCATcChAVBACEKIAZBADYCgAUgByABEIYCQQEhAQwBCyAKEJABIgFFDQMgCkUiCUUEQCABIAcgCvwKAAALIAZBsARqIgcgBkGABmoiCEHQAPwKAAAgBiAKNgKABSAGIAqtQiCGIhUgAa2ENwKEBSAIIAcQhgICQCAKQQJqDgICAQALIAoQkAEiB0UNAyAJRQRAIAcgASAK/AoAAAsgByEBCyAVIAGthCEUCyAGQZAFaiAGQYAGaiIBQdAA/AoAACAGIAo2AuAFIAYgFDcC5AUCQAJAIAItAGxBAUYEQCADDQIgBA0BIAEgBkGwBGogBkEQahD3EQwDCyADRQRAIARFBEAgBkGABmogBkGwBGogBkEQahD4EQwECyAGQYAGaiAGQbAEaiAGQRBqEPkRDAMLIARFBEAgBkGABmogBkGwBGogBkEQahD3EQwDCyAGQYAGaiAGQbAEaiAGQRBqEPoRDAILIAZBgAZqIAZBsARqIAZBEGoQ+hEMAQsgBEUEQCAGQYAGaiAGQbAEaiAGQRBqEPgRDAELIAZBgAZqIAZBsARqIAZBEGoQ+REMAAsgBigCkAYhDyAGKAKMBiEHIAYoAogGIQQgBigChAYhAyAGKAKABiELQQshDgJAAkACQAJAAkACQCACLQBtIhIEQEHgABCQASIJRQ0GIAkgBkGQBWpB4AD8CgAAQcABEJABIgFFDQggAUF+NgKwASABIAk2AmggAUKLgICAoIGAgIB/NwNgIAFBfjYCUCABIA82AhQgASAHNgIQIAEgBDYCDCABIAM2AgggASALNgIEIAFBCzYCACAGQQI2ArwHIAYgATYCuAcgBkKBgICAIDcCsAdBkAIQkAEiA0UNCCADIAZBoAJqQZAC/AoAAEHgABCQASIBRQ0GIAFBfjYCUCABIAM2AgggAUIFNwMAIAYgATYChAYgBkGKgICAeDYCgAYgBkHwBWogBkGwB2ogBkGABmoQngwgBigC8AUhCyAGKAL4BSEEIAYoAvwFIQdBCiEOIAYoAvQFIQMLAkAgAigCYEF/Rg0AIAIoAmgiCUUNACACKAJkIQIgBkG0B2ohESAGQfAGaiETA0AgAhC1EEUEQAJAIAJBFGooAgBBf0cEQAJAIAJBHGooAgAiDUUEQEEBIRAMAQsgAkEYaigCACEBIA0QkAEiEEUNDCANRQ0AIBAgASAN/AoAAAsgAkEEaiEBAn8gAigCAEEBRgRAIBEgASgCCDYCCCARIAEpAgA3AgAgBiACQRBqKAIAQQhqNgKwByAGIAZBsAdqEOoJIAYoAgQhASAGKAIADAELIAEoAgAiCCACQRBqKAIAIgEoAhAiDE8NBiABKAIMIAhB5ABsaiIMKAIABEAgDCgCBCIIIAEoAnBPDQggASgCbCAIQQR0aiIIKAIIIQEgCCgCBAwBCyAGQQhqIAFBCGogCBDQECAGKAIMIQEgBigCCAshCCABQQBIDQcCQCABRQRAQQEhDAwBCyABEJABIgxFDQwgAUUNACAMIAggAfwKAAALIAZBfzYC8AYgBiABNgLsBiAGIAw2AugGIAYgATYC5AYgBkF+NgLYBiAGQf8BOgCkByAGQXw2ApAGIAZBADoArAcgBkEAOwGqByAGQX42AoAGIBMQ1wUgBkF+NgKYByAGQoCAgIBgNwOIByAGQoCAgIDAADcDgAcgBiANNgL8BiAGIBA2AvgGIAYgDTYC9AYgBkEANgLwBgwBCyAGQYAGaiACIAVBABCJAgtBsAEQkAEiAUUNCiABIAZBgAZqQbAB/AoAAEHgABCQASIIRQ0IIAhBfjYCUCAIIAE2AgQgCEEDNgIAQcABEJABIgFFDQogAUF+NgKwASABIAg2AmggAUKLgICAoIGAgIB/NwNgIAFBfjYCUCABIA82AhQgASAHNgIQIAEgBDYCDCABIAM2AgggASALNgIEIAEgDjYCAEEKIQ5BASELQQIhByABIQRBAiEDCyACQSBqIQIgCUEBayIJDQALCyAAQX42AlAgACAPNgIUIAAgBzYCECAAIAQ2AgwgACADNgIIIAAgCzYCBCAAIA42AgAgEkUEQCAGQZAFahDUASAKQQBKBEAgFKciAUEEaygCACICQXhxIQAgAEEEQQggAkEDcSICGyAKakkNBSACQQBHIAAgCkEnaktxDQYgARC8BQsgBkGgAmoQ2QELIAZBwAdqJAAPCyAIIAxB5PbIABCFEwALQaS4xAAQnRUACxCeFQALQdCcyQBBLkGAnckAEK8UAAtBkJ3JAEEuQcCdyQAQrxQACwwBC0EBEKcUAAtBuPDJAEEBOgAAAAuDEwEMfyMAQSBrIgskAAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAIAMoAgBBf0YEQBCFFSEKQayXwgBBBhC5FCEEIApB/ZrJAEEEEMUJIAQQpRQgAygCCCADKAIMELkUIQQgCkG18MUAQQMQxQkgBBClFCADKAIYIQYgAygCFCEFEIMVIQkCQAJAIAYEQCAGQQV0IQxBACEEA0AgC0EIaiAFIAEQqAEgCygCDCEGIAsoAghBAXENAiAJIAQgBhD4FCAEQQFqIQQgBUEgaiEFIAxBIGsiDA0ACwsgCkHRkMkAQQQQxQkgCRClFCALIAEgCkGyl8IAIAMoAiAgAygCJBCCECALKAIAQQFHDQMgCygCBCEGDAELIAlBhAFJDQAgCRDTEgtBASEFIApBhAFPDQoMCwsQhRUhCkG6l8IAQQsQuRQhBCAKQf2ayQBBBBDFCSAEEKUUIAMoAgghBCADKAIEIQcQgxUhCSAEBEAgBEEwbCENQQAhBANAIAQgB2oiBSgCACEIEIUVIQYCQAJAAkACQAJAIAhBgICAgHhzDgMAAQIDC0H/mcIAQQsQuRQhCCAGQf2ayQBBBBDFCSAIEKUUIAVBCGooAgAgBUEMaigCABC5FCEFIAZB2+TFAEEFEMUJIAUQpRQMAwtBiprCAEEJELkUIQUgBkH9mskAQQQQxQkgBRClFAwCC0GTmsIAQQ4QuRQhCCAGQf2ayQBBBBDFCSAIEKUUIAVBCGooAgAgBUEMaigCABC5FCEIIAZBoZrCAEEKEMUJIAgQpRQgBUEUaigCACAFQRhqKAIAELkUIQggBkGrmsIAQQ0QxQkgCBClFCAFQSBqKAIAIAVBJGooAgAQuRQhBSAGQbiawgBBChDFCSAFEKUUDAELQcKawgBBEhC5FCEIIAZB/ZrJAEEEEMUJIAgQpRQgBUEEaigCACAFQQhqKAIAELkUIQggBkGhmsIAQQoQxQkgCBClFCAFQRBqKAIAIAVBFGooAgAQuRQhCCAGQauawgBBDRDFCSAIEKUUIAVBHGooAgAgBUEgaigCABC5FCEIIAZBuJrCAEEKEMUJIAgQpRQgBUEoaigCACAFQSxqKAIAELkUIQUgBkHUmsIAQQ4QxQkgBRClFAsgCSAMIAYQ+BQgDEEBaiEMIA0gBEEwaiIERw0ACwsgCkHM8MUAQQkQxQkgCRClFCADKAIUIQQgAygCECEFEIMVIQkgBARAIARBBXQhDEEAIQQDQCALQRhqIAUgARCoASALKAIcIQYgCygCGEEBcQ0IIAkgBCAGEPgUIARBAWohBCAFQSBqIQUgDEEgayIMDQALCyAKQdGQyQBBBBDFCSAJEKUUIAMoAiAhBCADKAIcIQYQgxUhCSAEBEAgBEEEdCEIQQAhDANAAkACfwJAIAYoAgAiD0F+RwRAIAEtAAEiDQ0BEIQVDAILEIUVIQVB7ZfCAEEFELkUIQQgBUHo9cUAQQUQxQkgBBClFCALQRBqIAEgBUHG9cUAIAZBCGooAgAgBkEMaigCABCCECALKAIQQQFHDQIgCygCFCEGIAVBgwFLDQkMCgsQhRULIQUgBkEMai0AACEEQej1xQBBBRC5FCEHAn8gBEEBcQRAQcisyQBBBBDFCQwBC0HCrMkAQQYQxQkLIQQCfwJAAkACQAJAAkACQCANBEAgBxDgFUUNAiAFIAcgBBClFAwBCyAFIAcgBBCeFCIOQYQBTwRAIA4Q0xILIARBhAFPBEAgBBDTEgsgB0GEAUkNACAHENMSCyAGQQ1qLQAAQdaXwgBBChC5FCEHEOERIQQgDUUNASAHEOAVRQ0DIAUgByAEEKUUDAILQTMQkAEiAUUNFyABQZuewgAoAAA2AC8gAUGUnsIAKQAANwAoIAFBjJ7CACkAADcAICABQYSewgApAAA3ABggAUH8ncIAKQAANwAQIAFB9J3CACkAADcACCABQeydwgApAAA3AAAgAUEzELgUIQYgAUEEaygCACIDQXhxIQIgAkE3QTsgA0EDcSIDG0kNEyADQQBHIAJB2wBPcQ0UIAEQvAUgB0GEAU8EQCAHENMSCyAEQYMBSw0KDAsLIAUgByAEEJ4UIg5BhAFPBEAgDhDTEgsgBEGEAU8EQCAEENMSCyAHQYQBSQ0AIAcQ0xILQeCXwgBBBhC5FCEHIA9Bf0YNASAGQQRqKAIAIAZBCGooAgAQuRQMAgtBMxCQASIBRQ0UIAFBm57CACgAADYALyABQZSewgApAAA3ACggAUGMnsIAKQAANwAgIAFBhJ7CACkAADcAGCABQfydwgApAAA3ABAgAUH0ncIAKQAANwAIIAFB7J3CACkAADcAACABQTMQuBQhBiABQQRrKAIAIgNBeHEhAiACQTdBOyADQQNxIgMbSQ0SIANBAEcgAkHbAE9xDRMgARC8BSAHQYQBTwRAIAcQ0xILIARBgwFLDQcMCAtBgQFBgAEgAS0AABsLIQQgDQRAIAcQ4BVFDQUgBSAHIAQQpRQMAQsgBSAHIAQQnhQiDUGEAU8EQCANENMSCyAEQYQBTwRAIAQQ0xILIAdBhAFJDQAgBxDTEgsgBkEQaiEGIAkgDCAFEPgUIAxBAWohDCAIQRBrIggNAAsLIApBspfCAEEIEMUJIAkQpRQQhRUhASADKAIkIAMoAigQuRQhBCABQdrnxQBBBhDFCSAEEKUUIAMtACwhBCABQfOZwgBBDBDFCUGCAUGDASAEGxClFCAKQcWXwgBBERDFCSABEKUUIAMtADAhBiAKQefwxQBBCRDFCUGDAUGCASAGGxClFAsgAkHRkMkAQQQQxQkgChClFEEAIQUMCQtBMxCQASIBRQ0NIAFBm57CACgAADYALyABQZSewgApAAA3ACggAUGMnsIAKQAANwAgIAFBhJ7CACkAADcAGCABQfydwgApAAA3ABAgAUH0ncIAKQAANwAIIAFB7J3CACkAADcAACABQTMQuBQhBiABQTMQ2RIgB0GEAU8EQCAHENMSCyAEQYMBTQ0BCyAEENMSCyAFQYMBTQ0BCyAFENMSCyAJQYMBSw0BDAILIAlBgwFNDQELIAkQ0xILQQEhBSAKQYQBSQ0BCyAKENMSCyAAIAY2AgQgACAFNgIAIAtBIGokAA8LQdCcyQBBLkGAnckAEK8UAAtBkJ3JAEEuQcCdyQAQrxQAC0HQnMkAQS5BgJ3JABCvFAALQZCdyQBBLkHAnckAEK8UAAtBARCnFAALiw8CC38BfiMAQUBqIgIkAAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAQQMgACgCACIDQQJrIANBAU0bQQFrDgUBAgMEBQALIAEgACgCCCAAKAIMEJ0EIQAMBQsgAiAAKQIINwIYIAIgAkEYaq1CgICAgIAKhDcDKCABKAIAIAEoAgRBz63AACACQShqELEJIQAMBAsgASAAKAIIIAAoAgwQnQQhAAwDCyACIABBKGo2AgQCQCAAKAIYIgZFBEAgAkKAgICAEDcDGCACQQA2AiAMAQsgACgCFCEAIAZBDGwiCRCQASIERQ0EIAQhAyAGIQgDQCACQQA2AiAgAkKAgICAEDcCGCACQYCayAA2AiwgAkKggICABjcCMCAAQUBrKAIAIAIgAkEYaiILNgIoQX9HBEBBACEKQQAhBSAAQcgAaigCACIHRSIMRQRAIABBxABqKAIAIQogC0EAIAdBAUEBELMRIAIoAiAhBSAMRQRAIAIoAhwgBWogCiAH/AoAAAsgAigCGCEKCyACIAUgB2oiBTYCICAKIAVrQQFNBEAgAkEYaiAFQQJBAUEBELMRIAIoAiAhBQsgAigCHCAFakG6wAA7AAAgAiAFQQJqNgIgCyAAIAJBKGoiBRDIAg0IIAIgAigCICIHNgIQIAIgAikCGCINNwMIIAMgBzYCCCADIA03AgAgAEHkAGohACADQQxqIQMgCEEBayIIDQALIAUgBCAGQcWyyABBARCDCCACIAIoAjA2AiAgAiACKQIoNwMYIAQhAANAIAAoAgAiAwRAIABBBGooAgAiCEEEaygCACIHQXhxIQUgBUEEQQggB0EDcSIHGyADakkNCiAHQQBHIAUgA0EnaktxDQsgCBC8BQsgAEEMaiEAIAZBAWsiBg0ACyAEQQRrKAIAIgNBeHEhACAAQQRBCCADQQNxIgMbIAlqSQ0IIANBAEcgACAJQSdqS3ENCSAEELwFCyACIAJBGGqtQoCAgIDAAoQ3AzAgAiACQQRqrUKAgICAkAKENwMoIAEoAgAgASgCBEHLjsIAIAJBKGoQsQkhACACKAIYIgFFDQIgAigCHCIGQQRrKAIAIgRBeHEhAyADQQRBCCAEQQNxIgQbIAFqSQ0HIARBAEcgAyABQSdqS3ENCCAGELwFDAILAkAgACgCDCIDRQRAIAJCgICAgBA3AxggAkEANgIgDAELIAAoAgggA0EMbCIIEJABIgRFDQRBQGohBSAEIQAgAyEGA0AgAkEANgIgIAJCgICAgBA3AhggAkGAmsgANgIsIAJCoICAgAY3AjAgAiACQRhqNgIoIAVBQGsiBSACQShqIgkQyAINByACIAIoAiAiBzYCECACIAIpAhgiDTcDCCAAIAc2AgggACANNwIAIABBDGohACAGQQFrIgYNAAsgCSAEIANBxbLIAEEBEIMIIAIgAigCMDYCICACIAIpAig3AxggBCEAA0AgACgCACIGBEAgAEEEaigCACIJQQRrKAIAIgdBeHEhBSAFQQRBCCAHQQNxIgcbIAZqSQ0JIAdBAEcgBSAGQSdqS3ENCiAJELwFCyAAQQxqIQAgA0EBayIDDQALIARBBGsoAgAiA0F4cSEAIABBBEEIIANBA3EiAxsgCGpJDQcgA0EARyAAIAhBJ2pLcQ0IIAQQvAULIAIgAkEYaq1CgICAgMAChDcDKCABKAIAIAEoAgRB7svBACACQShqELEJIQAgAigCGCIBRQ0BIAIoAhwiBkEEaygCACIEQXhxIQMgA0EEQQggBEEDcSIEGyABakkNBiAEQQBHIAMgAUEnaktxDQcgBhC8BQwBCwJAIAAoAgwiBUUEQCACQoCAgIAQNwMYIAJBADYCIAwBCyAAKAIIIQAgBUEMbCIIEJABIgRFDQQgBCEDIAUhBgNAIAIgAK1CgICAgJAKhDcDMCACIABBQGutQoCAgIDAAoQ3AyggAkEYakHNqsAAIAJBKGoiCRC4DCADIAIoAiA2AgggAyACKQIYNwIAIABB2ABqIQAgA0EMaiEDIAZBAWsiBg0ACyAJIAQgBUGIs8kAQQIQgwggAiACKAIwNgIgIAIgAikCKDcDGCAEIQADQCAAKAIAIgMEQCAAQQRqKAIAIglBBGsoAgAiB0F4cSEGIAZBBEEIIAdBA3EiBxsgA2pJDQggB0EARyAGIANBJ2pLcQ0JIAkQvAULIABBDGohACAFQQFrIgUNAAsgBEEEaygCACIDQXhxIQAgAEEEQQggA0EDcSIDGyAIakkNBiADQQBHIAAgCEEnaktxDQcgBBC8BQsgAiACQRhqrUKAgICAwAKENwMoIAEoAgAgASgCBEH8rcAAIAJBKGoQsQkhACACKAIYIgFFDQAgAigCHCIGQQRrKAIAIgRBeHEhAyADQQRBCCAEQQNxIgQbIAFqSQ0FIARBAEcgAyABQSdqS3ENBiAGELwFCyACQUBrJAAgAA8LQQQQpxQAC0EEEKcUAAtBBBCnFAALQfC1yQBBNyACQT9qQZiayABBqLbJABDaEgALQdCcyQBBLkGAnckAEK8UAAtBkJ3JAEEuQcCdyQAQrxQAC/IMAQt/AkACQAJAAkACQAJAAkACQCAAKAIAQQFrDgMCAwABCyAAKAIIIQIgACgCDCILBEADQCACIARBDGxqIgooAgQhAyAKKAIIIgUEQCADIQEDQCABEM0BAkAgAUHQAGooAgAiCEF+Rg0AIAhBf0YNACAIRQ0AIAFB1ABqKAIAIglBBGsoAgAiBkF4cSEHIAdBBEEIIAZBA3EiBhsgCGpJDQsgBkEARyAHIAhBJ2pLcQ0KIAkQvAULIAFB4ABqIQEgBUEBayIFDQALCyAKKAIAIgUEQCADQQRrKAIAIghBeHEhASABIAVB4ABsIgVBBEEIIAhBA3EiCBtySQ0JIAhBAEcgASAFQSdqS3ENCCADELwFCyALIARBAWoiBEcNAAsLIAAoAgQiA0UNBCACQQRrKAIAIgRBeHEhASABIANBDGwiA0EEQQggBEEDcSIEG2pJDQYgBEUNAyABIANBJ2pNDQMMBQsgACgCBCIBQX9GDQMgAUUNAyAAKAIIIgJBBGsoAgAiBEF4cSEDIANBBEEIIARBA3EiBBsgAWpJDQUgBEUNAiADIAFBJ2pNDQIMBAsCQCAAKAIEIgIoAgAiAUF/Rg0AIAFFDQAgAigCBCIEQQRrKAIAIgVBeHEhAyADQQRBCCAFQQNxIgUbIAFqSQ0FIAVBAEcgAyABQSdqS3ENBCAEELwFCyACKAIQIQMgAigCFCIEBEAgA0E4aiEBA0AgAUE0axDJAiABEPUFIAFBzABqIQEgBEEBayIEDQALCyACKAIMIgQEQCADQQRrKAIAIgVBeHEhASABIARBzABsIgRBBEEIIAVBA3EiBRtqSQ0FIAVBAEcgASAEQSdqS3ENBCADELwFCyACQQRrKAIAIgFBA3EhAyABQXhxQRxBICADG0kNBCADRQ0BIAFBwABJDQEMAwsgACgCBCICEL0BIAJBBGsoAgAiAUEDcSEDIAFBeHFBlAJBmAIgAxtJDQMgA0UNACABQbgCTw0CCyACELwFCwJAIAAoAhwiAUF+Rg0AIAFBf0YNACABRQ0AIAAoAiAiAkEEaygCACIEQXhxIQMgA0EEQQggBEEDcSIEGyABakkNAiAEQQBHIAMgAUEnaktxDQEgAhC8BQsCQCAAKAIoIgFBfkYNACABQX9GDQAgAUUNACAAKAIsIgJBBGsoAgAiBEF4cSEDIANBBEEIIARBA3EiBBsgAWpJDQIgBEEARyADIAFBJ2pLcQ0BIAIQvAULIAAoAhQhCCAAKAIYIgsEQEEAIQQDQAJAAkAgCCAEQQxsaiIBKAIAIgpBf0YEQCABKAIEIgMQsgogA0EEaygCACIBQQNxIQIgAUF4cUG0AUG4ASACG0kNBiACRQ0BIAFB2AFJDQEMBQsgASgCBCEDIAEoAggiBQRAIAMhAQNAAkAgAUHkAGooAgAiAkF/Rg0AIAJFDQAgAUHoAGooAgAiCUEEaygCACIGQXhxIQcgB0EEQQggBkEDcSIGGyACakkNCCAGQQBHIAcgAkEnaktxDQcgCRC8BQsgAUHwAGoiAigCAEF/RwRAIAIQyQILAkAgAUHYAGooAgAiAkF+Rg0AIAJBf0YNACACRQ0AIAFB3ABqKAIAIglBBGsoAgAiBkF4cSEHIAdBBEEIIAZBA3EiBhsgAmpJDQggBkEARyAHIAJBJ2pLcQ0HIAkQvAULAkAgAUEQaiICKAIAQX5IDQAgAUEgahDZBCACKAIAIgJBAEwNACABQRRqKAIAIglBBGsoAgAiBkF4cSEHIAdBBEEIIAZBA3EiBhsgAmpJDQggBkEARyAHIAJBJ2pLcQ0HIAkQvAULIAEoAgAiAkEASgRAIAFBBGooAgAiCUEEaygCACIGQXhxIQcgB0EEQQggBkEDcSIGGyACakkNCCAGQQBHIAcgAkEnaktxDQcgCRC8BQsgAUGwAWohASAFQQFrIgUNAAsLIApFDQEgA0EEaygCACICQXhxIQEgASAKQbABbCIFQQRBCCACQQNxIgIbckkNBSACRQ0AIAEgBUEnaksNBAsgAxC8BQsgCyAEQQFqIgRHDQALCyAAKAIQIgEEQCAIQQRrKAIAIgNBeHEhACAAIAFBDGwiAUEEQQggA0EDcSIDG2pJDQIgA0EARyAAIAFBJ2pLcQ0BIAgQvAULDwtBkJ3JAEEuQcCdyQAQrxQAC0HQnMkAQS5BgJ3JABCvFAALsxEDB38DfgF8IwBBMGsiBSQAAkACQAJAAkACQAJAAkACQAJAAkBBBSAAKAIQIgJBgICAgHhzIAJBAE4bQQFrDgUBAgUDBAALIAEoAgAiASgCCCEAIAEoAgAgAGtBA00EQCABIABBBBDEESABKAIIIQALIAEgAEEEajYCCCABKAIEIABqQe7qseMGNgAADAgLIAEoAgAhASAALQAARQRAIAEoAgAgASgCCCIAa0EETQRAIAEgAEEFEMQRIAEoAgghAAsgASgCBCAAaiICQaqyyAAoAAA2AAAgAkGussgALQAAOgAEIAEgAEEFajYCCAwICyABKAIAIAEoAggiAGtBA00EQCABIABBBBDEESABKAIIIQALIAEoAgQgAGpB9OTVqwY2AAAgASAAQQRqNgIIDAcLIAEoAgAhAgJAAkACQCAAKAIAQQFrDgIBAgALQRQhASAAKQMIIglCkM4AWgRAA0AgBUEIaiABaiIAQQRrIAkiCiAJQpDOAIAiCUKQzgB+faciA0H//wNxQeQAbiIEQQF0LwCcmEk7AAAgAEECayADIARB5ABsa0H//wNxQQF0LwCcmEk7AAAgAUEEayEBIApC/8HXL1YNAAsLAkAgCULjAFgEQCAJpyEADAELIAmnIgNB//8DcUHkAG4hACABQQJrIgEgBUEIamogAyAAQeQAbGtB//8DcUEBdC8AnJhJOwAACwJAIABBCk8EQCABQQJrIgEgBUEIamogAEEBdC8AnJhJOwAADAELIAFBAWsiASAFQQhqaiAAQTByOgAACwJAAkBBFCABayIAIAIoAgAgAigCCCIDa0sEQCACIAMgABDEESACKAIIIQMMAQsgAUEURg0BCyAARQ0AIAIoAgQgA2ogBUEIaiABaiAA/AoAAAsgAiAAIANqNgIIDAgLQRQhASAAKQMIIgtCP4chCSAJIAuFIAl9IglCkM4AWgRAA0AgBUEIaiABaiIAQQRrIAkiCiAJQpDOAIAiCUKQzgB+faciA0H//wNxQeQAbiIEQQF0LwCcmEk7AAAgAEECayADIARB5ABsa0H//wNxQQF0LwCcmEk7AAAgAUEEayEBIApC/8HXL1YNAAsLAkAgCULjAFgEQCAJpyEADAELIAmnIgNB//8DcUHkAG4hACABQQJrIgEgBUEIamogAyAAQeQAbGtB//8DcUEBdC8AnJhJOwAACwJAIABBCk8EQCABQQJrIgEgBUEIamogAEEBdC8AnJhJOwAADAELIAFBAWsiASAFQQhqaiAAQTByOgAACyALQgBTBEAgAUEBayIBIAVBCGpqQS06AAALAkACQEEUIAFrIgAgAigCACACKAIIIgNrSwRAIAIgAyAAEMQRIAIoAgghAwwBCyABQRRGDQELIABFDQAgAigCBCADaiAFQQhqIAFqIAD8CgAACyACIAAgA2o2AggMBwsgACsDCCIMvUL///////////8Ag0KAgICAgICA+P8AWgRAIAIoAgAgAigCCCIBa0EDTQRAIAIgAUEEEMQRIAIoAgghAQsgAiABQQRqNgIIIAIoAgQgAWpB7uqx4wY2AAAMBwsgDCAFQQhqEPYBIQECQAJAIAIoAgAgAigCCCIAayABSQRAIAIgACABEMQRIAIoAgghAAwBCyABRQ0BCyABRQ0AIAIoAgQgAGogBUEIaiAB/AoAAAsgAiAAIAFqNgIIDAYLIAAoAgghAiAAKAIEIQYgASgCACIAKAIIIgMgACgCAEYEQCAAIANBARDEESAAKAIIIQMLIAAgA0EBaiIENgIIIAAoAgQgA2pB2wA6AAAgAgRAIAYgARDKAiACQQFHBEAgBkEwaiEDIAJBMGxBMGshBANAIAEoAgAiACgCCCICIAAoAgBGBEAgACACQQEQxBEgACgCCCECCyAAIAJBAWo2AgggACgCBCACakEsOgAAIAMgARDKAiADQTBqIQMgBEEwayIEDQALCyABKAIAIgEoAggiACABKAIARgRAIAEgAEEBEMQRIAEoAgghAAsgASAAQQFqNgIIIAEoAgQgAGpB3QA6AAAMBgsgBCAAKAIARgRAIAAgBEEBEMQRIAAoAgghBAsgACAEQQFqNgIIIAAoAgQgBGpB3QA6AAAMBQsgACgCKCEGIAEoAgAiAygCCCICIAMoAgBGBEAgAyACQQEQxBEgAygCCCECCyADIAJBAWoiBDYCCCADKAIEIAJqQfsAOgAAQYACIQIgBkUEQCAEIAMoAgBGBEAgAyAEQQEQxBEgAygCCCEECyADIARBAWo2AgggAygCBCAEakH9ADoAAEEAIQILIAAoAhgiB0UNASAAKAIUIgBBPGooAgAhAiAAQThqKAIAIQggASgCACEDIAZFBEAgAygCCCIEIAMoAgBGBEAgAyAEQQEQxBEgAygCCCEECyADIARBAWo2AgggAygCBCAEakEsOgAAIAEoAgAhAwsgB0EGdCEEIAMgCCACELcHIAEoAgAiAygCCCICIAMoAgBGBEAgAyACQQEQxBEgAygCCCECCyAAIARqIQQgAyACQQFqNgIIIAMoAgQgAmpBOjoAAANAIAAgARDKAiAEIABBQGsiAEYNAyAAQTxqKAIAIQYgAEE4aigCACEHIAEoAgAiAygCCCICIAMoAgBGBEAgAyACQQEQxBEgAygCCCECCyADIAJBAWo2AgggAygCBCACakEsOgAAIAEoAgAgByAGELcHIAEoAgAiAygCCCICIAMoAgBGBEAgAyACQQEQxBEgAygCCCECCyADIAJBAWo2AgggAygCBCACakE6OgAADAALAAsgASgCACAAKAIEIAAoAggQtwcMAwsgAkEBcQ0BIAJBgAJxRQ0CCyABKAIAIgEoAggiACABKAIARgRAIAEgAEEBEMQRIAEoAgghAAsgASAAQQFqNgIIIAEoAgQgAGpB/QA6AAAMAQtBoKvJAEEoQczgyAAQrxQACyAFQTBqJAALzQ0BBH8CQAJAAkACQAJAAkAgAC0AACICIAEtAABHDQACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQCACQQFrDhEBAgMEBQYHCAkKCxYWDA0ODwALIAAoAggiAkF/RiABKAIIQX9Gcw0SIAJBf0cNFiAAKAIMIgIgASgCDEcNEiACQQFzIAAoAhAiAyABKAIQIgVGcSEEIAMgBUcNEiACRQ0SQQAhBCAAKAIUIAEoAhRHDRIMFAsgACgCCCICQX9GIAEoAghBf0ZzDREgAkF/Rw0VIAAoAgwiAiABKAIMRw0RIAJBAXMgACgCECIDIAEoAhAiBUZxIQQgAyAFRw0RIAJFDRFBACEEIAAoAhQgASgCFEcNEQwTCyAAKAIIIgJBf0YgASgCCEF/RnMNECACQX9HDRQgACgCDCICIAEoAgxHDRAgAkEBcyAAKAIQIgMgASgCECIFRnEhBCADIAVHDRAgAkUNEEEAIQQgACgCFCABKAIURw0QDBILIAAoAggiAkF/RiABKAIIQX9Gcw0PIAJBf0cNEyAAKAIMIgIgASgCDEcNDyACQQFzIAAoAhAiAyABKAIQIgVGcSEEIAMgBUcNDyACRQ0PQQAhBCAAKAIUIAEoAhRHDQ8MEQsgACgCCCICQX9GIAEoAghBf0ZzDQ4gAkF/Rw0SIAAoAgwiAiABKAIMRw0OIAJBAXMgACgCECIDIAEoAhAiBUZxIQQgAyAFRw0OIAJFDQ5BACEEIAAoAhQgASgCFEcNDgwQCyAAKAIIIgJBf0YgASgCCEF/RnMNDSACQX9HDREgACgCDCICIAEoAgxHDQ0gAkEBcyAAKAIQIgMgASgCECIFRnEhBCADIAVHDQ0gAkUNDUEAIQQgACgCFCABKAIURw0NDA8LIAAoAggiAkF/RiABKAIIQX9Gcw0MIAJBf0cNECAAKAIMIgIgASgCDEcNDCACQQFzIAAoAhAiAyABKAIQIgVGcSEEIAMgBUcNDCACRQ0MQQAhBCAAKAIUIAEoAhRHDQwMDgsgACgCCCICQX9GIAEoAghBf0ZzDQsgAkF/Rw0PIAAoAgwiAiABKAIMRw0LIAJBAXMgACgCECIDIAEoAhAiBUZxIQQgAyAFRw0LIAJFDQtBACEEIAAoAhQgASgCFEcNCwwNCyAAKAIIIgJBf0YgASgCCEF/RnMNCiACQX9HDQ4gACgCDCICIAEoAgxHDQogAkEBcyAAKAIQIgMgASgCECIFRnEhBCADIAVHDQogAkUNCkEAIQQgACgCFCABKAIURw0KDAwLIAAoAggiAkF/RiABKAIIQX9Gcw0JIAJBf0cNDSAAKAIMIgIgASgCDEcNCSACQQFzIAAoAhAiAyABKAIQIgVGcSEEIAMgBUcNCSACRQ0JQQAhBCAAKAIUIAEoAhRHDQkMCwsgACgCCCICQX9GIAEoAghBf0ZzDQggAkF/Rw0MIAAoAgwiAiABKAIMRw0IIAJBAXMgACgCECIDIAEoAhAiBUZxIQQgAyAFRw0IIAJFDQhBACEEIAAoAhQgASgCFEcNCAwKCyAAKAIIIgJBf0YgASgCCEF/RnMNByACQX9HDQsgACgCDCICIAEoAgxHDQcgAkEBcyAAKAIQIgMgASgCECIFRnEhBCADIAVHDQcgAkUNB0EAIQQgACgCFCABKAIURw0HDAkLIAAoAhQgASgCFBDLAkUNBiABQQRqIgMoAgAhAiAAQQRqIgUoAgBBAkYNAyACQQJGDQYgBSADEIoRRQ0GDAcLIAAoAhAiAkF/RiABKAIQQX9Gcw0FAkAgAkF/RgRAIAAoAhQiAiABKAIURw0HIAAoAhggASgCGEciAw0BIAJFDQEgACgCHCABKAIcRw0HIAAoAiAgASgCIEYNBgwHCyAAQRBqIAFBEGoQwANFDQYMBQsgAw0FIAJFDQQMBQsgACgCECICQX9GIAEoAhBBf0ZzDQQCQCACQX9GBEAgACgCFCICIAEoAhRHDQYgACgCGCABKAIYRyIDDQEgAkUNASAAKAIcIAEoAhxHDQYgACgCICABKAIgRg0EDAYLIABBEGogAUEQahDAA0UNBQwDCyADDQQgAkUNAgwECyAALQABIAEtAAFGIQQMAwsgAkECRg0DDAILIAAoAgwiAiABKAIMRw0BDAYLIAAoAgwiAiABKAIMRw0ADAULIAQPCyABLQAYIQEgAC0AGCIAQQJHBEAgACABRg8LIAFBAkYPCyAAKAIYIAEoAhhGDwsgAEEEaiABQQRqEMMNDwsgAEEIaiABQQhqEMADDwsgACgCCCABKAIIIAIQ9wwLzQ0BBH8CQAJAAkACQAJAAkAgAC0AACICIAEtAABHDQACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQCACQQFrDhEBAgMEBQYHCAkKCxYWDA0ODwALIAAoAggiAkF/RiABKAIIQX9Gcw0SIAJBf0cNFiAAKAIMIgIgASgCDEcNEiACQQFzIAAoAhAiAyABKAIQIgVGcSEEIAMgBUcNEiACRQ0SQQAhBCAAKAIUIAEoAhRHDRIMFAsgACgCCCICQX9GIAEoAghBf0ZzDREgAkF/Rw0VIAAoAgwiAiABKAIMRw0RIAJBAXMgACgCECIDIAEoAhAiBUZxIQQgAyAFRw0RIAJFDRFBACEEIAAoAhQgASgCFEcNEQwTCyAAKAIIIgJBf0YgASgCCEF/RnMNECACQX9HDRQgACgCDCICIAEoAgxHDRAgAkEBcyAAKAIQIgMgASgCECIFRnEhBCADIAVHDRAgAkUNEEEAIQQgACgCFCABKAIURw0QDBILIAAoAggiAkF/RiABKAIIQX9Gcw0PIAJBf0cNEyAAKAIMIgIgASgCDEcNDyACQQFzIAAoAhAiAyABKAIQIgVGcSEEIAMgBUcNDyACRQ0PQQAhBCAAKAIUIAEoAhRHDQ8MEQsgACgCCCICQX9GIAEoAghBf0ZzDQ4gAkF/Rw0SIAAoAgwiAiABKAIMRw0OIAJBAXMgACgCECIDIAEoAhAiBUZxIQQgAyAFRw0OIAJFDQ5BACEEIAAoAhQgASgCFEcNDgwQCyAAKAIIIgJBf0YgASgCCEF/RnMNDSACQX9HDREgACgCDCICIAEoAgxHDQ0gAkEBcyAAKAIQIgMgASgCECIFRnEhBCADIAVHDQ0gAkUNDUEAIQQgACgCFCABKAIURw0NDA8LIAAoAggiAkF/RiABKAIIQX9Gcw0MIAJBf0cNECAAKAIMIgIgASgCDEcNDCACQQFzIAAoAhAiAyABKAIQIgVGcSEEIAMgBUcNDCACRQ0MQQAhBCAAKAIUIAEoAhRHDQwMDgsgACgCCCICQX9GIAEoAghBf0ZzDQsgAkF/Rw0PIAAoAgwiAiABKAIMRw0LIAJBAXMgACgCECIDIAEoAhAiBUZxIQQgAyAFRw0LIAJFDQtBACEEIAAoAhQgASgCFEcNCwwNCyAAKAIIIgJBf0YgASgCCEF/RnMNCiACQX9HDQ4gACgCDCICIAEoAgxHDQogAkEBcyAAKAIQIgMgASgCECIFRnEhBCADIAVHDQogAkUNCkEAIQQgACgCFCABKAIURw0KDAwLIAAoAggiAkF/RiABKAIIQX9Gcw0JIAJBf0cNDSAAKAIMIgIgASgCDEcNCSACQQFzIAAoAhAiAyABKAIQIgVGcSEEIAMgBUcNCSACRQ0JQQAhBCAAKAIUIAEoAhRHDQkMCwsgACgCCCICQX9GIAEoAghBf0ZzDQggAkF/Rw0MIAAoAgwiAiABKAIMRw0IIAJBAXMgACgCECIDIAEoAhAiBUZxIQQgAyAFRw0IIAJFDQhBACEEIAAoAhQgASgCFEcNCAwKCyAAKAIIIgJBf0YgASgCCEF/RnMNByACQX9HDQsgACgCDCICIAEoAgxHDQcgAkEBcyAAKAIQIgMgASgCECIFRnEhBCADIAVHDQcgAkUNB0EAIQQgACgCFCABKAIURw0HDAkLIAAoAhQgASgCFBDMAkUNBiABQQRqIgMoAgAhAiAAQQRqIgUoAgBBAkYNAyACQQJGDQYgBSADEIoRRQ0GDAcLIAAoAhAiAkF/RiABKAIQQX9Gcw0FAkAgAkF/RgRAIAAoAhQiAiABKAIURw0HIAAoAhggASgCGEciAw0BIAJFDQEgACgCHCABKAIcRw0HIAAoAiAgASgCIEYNBgwHCyAAQRBqIAFBEGoQvwNFDQYMBQsgAw0FIAJFDQQMBQsgACgCECICQX9GIAEoAhBBf0ZzDQQCQCACQX9GBEAgACgCFCICIAEoAhRHDQYgACgCGCABKAIYRyIDDQEgAkUNASAAKAIcIAEoAhxHDQYgACgCICABKAIgRg0EDAYLIABBEGogAUEQahC/A0UNBQwDCyADDQQgAkUNAgwECyAALQABIAEtAAFGIQQMAwsgAkECRg0DDAILIAAoAgwiAiABKAIMRw0BDAYLIAAoAgwiAiABKAIMRw0ADAULIAQPCyABLQAYIQEgAC0AGCIAQQJHBEAgACABRg8LIAFBAkYPCyAAKAIYIAEoAhhGDwsgAEEEaiABQQRqEMQNDwsgAEEIaiABQQhqEL8DDwsgACgCCCABKAIIIAIQ9wwLqBQCBn8BfiMAQfAAayICJAACQAJAAkACQAJAQQMgACkDACIIp0ECayAIQgFYG0EBaw4DAQIDAAtBASEDIAEoAgAiBEHc2MYAQQsgASgCBCIHKAIMIgURAAANAyAAQQhqIQYCQCABLQAKQYABcUUEQCAEQbTPxQBBASAFEQAADQUgAkGI6cYANgJoIAJB+OjGADYCYCACQczTxgA2AlggAkG808YANgJQIAJBrNPGADYCSCACQejoxgA2AkAgAiAGNgI8IAJB8NTGADYCOCACQYDExgA2AjAgAkGswsYANgIoIAIgAEGgAWo2AlwgAiAAQZQBajYCVCACIABBiAFqNgJMIAIgAEH8AGo2AkQgAiAAQdgAajYCNCACIABB5ABqNgIsIAIgAEHwAGo2AiQgAiAAQaEBajYCFCACIAJBFGo2AmQgAUHc2MYAQQtBmOnGAEEJIAJBJGpBCRDwB0UNAQwFCyAEQZ3jwgBBAiAFEQAADQQgAkEBOgATIAIgBzYCCCACIAQ2AgQgAkGg68IANgIYIAIgASkCCDcCHCACIAJBE2o2AgwgAiACQQRqNgIUIAJBiOnGADYCaCACQfjoxgA2AmAgAiAAQaABajYCXCACQczTxgA2AlggAiAAQZQBajYCVCACQbzTxgA2AlAgAiAAQYgBajYCTCACQazTxgA2AkggAiAAQfwAajYCRCACQejoxgA2AkAgAiAGNgI8IAJB8NTGADYCOCACIABB2ABqNgI0IAJBgMTGADYCMCACIABB5ABqNgIsIAJBrMLGADYCKCACIABB8ABqNgIkIAIgAEGhAWo2AmwgAiACQewAajYCZCACQRRqQdzYxgBBC0GY6cYAQQkgAkEkakEJEPAHDQQgAigCFEGkssgAQQIgAigCGCgCDBEAAA0ECyABKAIAQYiQyQBBASABKAIEKAIMEQAAIQMMAwtBASEDIAEoAgAiBEHn2MYAQRAgASgCBCIHKAIMIgURAAANAiAAQQhqIQYCQCABLQAKQYABcUUEQCAEQbTPxQBBASAFEQAADQQgAkGI6cYANgJoIAJB+OjGADYCYCACQczTxgA2AlggAkG808YANgJQIAJBrNPGADYCSCACQZzTxgA2AkAgAiAGNgI8IAJB8NTGADYCOCACQYDExgA2AjAgAkGswsYANgIoIAIgAEH5AWo2AlwgAiAAQdQBajYCVCACIABByAFqNgJMIAIgAEG8AWo2AkQgAiAAQewBajYCNCACIABB4AFqNgIsIAIgAEGwAWo2AiQgAiAAQfgBajYCFCACIAJBFGo2AmQgAUHn2MYAQRBB4OnGAEEJIAJBJGpBCRDwB0UNAQwECyAEQZ3jwgBBAiAFEQAADQMgAkEBOgATIAIgBzYCCCACIAQ2AgQgAkGg68IANgIYIAIgASkCCDcCHCACIAJBE2o2AgwgAiACQQRqNgIUIAJBiOnGADYCaCACQfjoxgA2AmAgAiAAQfkBajYCXCACQczTxgA2AlggAiAAQdQBajYCVCACQbzTxgA2AlAgAiAAQcgBajYCTCACQazTxgA2AkggAiAAQbwBajYCRCACQZzTxgA2AkAgAiAGNgI8IAJB8NTGADYCOCACIABB7AFqNgI0IAJBgMTGADYCMCACIABB4AFqNgIsIAJBrMLGADYCKCACIABBsAFqNgIkIAIgAEH4AWo2AmwgAiACQewAajYCZCACQRRqQefYxgBBEEHg6cYAQQkgAkEkakEJEPAHDQMgAigCFEGkssgAQQIgAigCGCgCDBEAAA0DCyABKAIAQYiQyQBBASABKAIEKAIMEQAAIQMMAgtBASEDIAEoAgAiBEHc1MYAQRMgASgCBCIHKAIMIgURAAANASAAQQhqIQYCQCABLQAKQYABcUUEQCAEQbTPxQBBASAFEQAADQMgAkHAysYANgJgIAJBzNPGADYCWCACQbzTxgA2AlAgAkGs08YANgJIIAJBnNPGADYCQCACIAY2AjwgAkGM08YANgI4IAJBgMTGADYCMCACQazCxgA2AiggAiAAQdwBajYCVCACIABB0AFqNgJMIAIgAEHEAWo2AkQgAiAAQbABajYCNCACIABB6AFqNgIsIAIgAEG4AWo2AiQgAiAAQfQBajYCFCACIAJBFGo2AlwgAUHc1MYAQRNBnNTGAEEIIAJBJGpBCBDwB0UNAQwDCyAEQZ3jwgBBAiAFEQAADQIgAkEBOgATIAIgBzYCCCACIAQ2AgQgAkGg68IANgIYIAIgASkCCDcCHCACIAJBE2o2AgwgAiACQQRqNgIUIAJBwMrGADYCYCACQczTxgA2AlggAiAAQdwBajYCVCACQbzTxgA2AlAgAiAAQdABajYCTCACQazTxgA2AkggAiAAQcQBajYCRCACQZzTxgA2AkAgAiAGNgI8IAJBjNPGADYCOCACIABBsAFqNgI0IAJBgMTGADYCMCACIABB6AFqNgIsIAJBrMLGADYCKCACIABBuAFqNgIkIAIgAEH0AWo2AmwgAiACQewAajYCXCACQRRqQdzUxgBBE0Gc1MYAQQggAkEkakEIEPAHDQIgAigCFEGkssgAQQIgAigCGCgCDBEAAA0CCyABKAIAQYiQyQBBASABKAIEKAIMEQAAIQMMAQtBASEDIAEoAgAiBEGI1sYAQRUgASgCBCIGKAIMIgURAAANAAJAIAEtAApBgAFxRQRAIARBtM/FAEEBIAURAAANAiACQbDVxgA2AmAgAkGg1cYANgJYIAJBkNXGADYCUCACQZzTxgA2AkggAkGA1cYANgJAIAJB8NTGADYCOCACQYDExgA2AjAgAkGswsYANgIoIAIgADYCRCACIABBnAJqNgJUIAIgAEGQAmo2AkwgAiAAQYQCajYCPCACIABBtAJqNgI0IAIgAEGoAmo2AiwgAiAAQfgBajYCJCACIABBqAFqNgIUIAIgAkEUajYCXCABQYjWxgBBFUHI1cYAQQggAkEkakEIEPAHRQ0BDAILIARBnePCAEECIAURAAANASACQQE6ABMgAiAGNgIIIAIgBDYCBCACQaDrwgA2AhggAiABKQIINwIcIAIgAkETajYCDCACIAJBBGo2AhQgAkGw1cYANgJgIAJBoNXGADYCWCACQZDVxgA2AlAgAkGc08YANgJIIAJBgNXGADYCQCACQfDUxgA2AjggAkGAxMYANgIwIAJBrMLGADYCKCACIAA2AkQgAiAAQZwCajYCVCACIABBkAJqNgJMIAIgAEGEAmo2AjwgAiAAQbQCajYCNCACIABBqAJqNgIsIAIgAEH4AWo2AiQgAiAAQagBajYCbCACIAJB7ABqNgJcIAJBFGpBiNbGAEEVQcjVxgBBCCACQSRqQQgQ8AcNASACKAIUQaSyyABBAiACKAIYKAIMEQAADQELIAEoAgBBiJDJAEEBIAEoAgQoAgwRAAAhAwsgAkHwAGokACADC+ESAQV/IwBBMGsiAiQAAkACQAJAAkACQAJAAkACQAJAAkACQAJAIAAtAABBAWsOCgECAwQFBgcICQoACyACIABBBGo2AgxBASEDIAEoAgAiAEGOkckAQQMgASgCBCIFKAIMIgQRAAANCgJAIAEtAApBgAFxRQRAIABBtM/FAEEBIAQRAAANDCACQQxqIAEQ8wpFDQEMDAsgAEGd48IAQQIgBBEAAA0LIAJBAToAHyACIAU2AhQgAiAANgIQIAJBoOvCADYCJCACIAEpAgg3AiggAiACQR9qNgIYIAIgAkEQajYCICACQQxqIAJBIGoQ8woNCyACKAIgQaSyyABBAiACKAIkKAIMEQAADQsLIAEoAgBBiJDJAEEBIAEoAgQoAgwRAAAhAwwKCyACIABBBGo2AgxBASEDIAEoAgAiAEGRkckAQQIgASgCBCIFKAIMIgQRAAANCQJAIAEtAApBgAFxRQRAIABBtM/FAEEBIAQRAAANCyACQQxqIAEQ8wpFDQEMCwsgAEGd48IAQQIgBBEAAA0KIAJBAToAHyACIAU2AhQgAiAANgIQIAJBoOvCADYCJCACIAEpAgg3AiggAiACQR9qNgIYIAIgAkEQajYCICACQQxqIAJBIGoQ8woNCiACKAIgQaSyyABBAiACKAIkKAIMEQAADQoLIAEoAgBBiJDJAEEBIAEoAgQoAgwRAAAhAwwJCyACIABBBGo2AgxBASEDIAEoAgAiAEGTkckAQQMgASgCBCIFKAIMIgQRAAANCAJAIAEtAApBgAFxRQRAIABBtM/FAEEBIAQRAAANCiACQQxqIAEQ8wpFDQEMCgsgAEGd48IAQQIgBBEAAA0JIAJBAToAHyACIAU2AhQgAiAANgIQIAJBoOvCADYCJCACIAEpAgg3AiggAiACQR9qNgIYIAIgAkEQajYCICACQQxqIAJBIGoQ8woNCSACKAIgQaSyyABBAiACKAIkKAIMEQAADQkLIAEoAgBBiJDJAEEBIAEoAgQoAgwRAAAhAwwIC0EBIQMgASgCACIEQZaRyQBBBiABKAIEIgYoAgwiBREAAA0HIABBCGohAAJAIAEtAApBgAFxRQRAIARBtM/FAEEBIAURAAANCSAAIAEQlwtFDQEMCQsgBEGd48IAQQIgBREAAA0IIAJBAToADCACIAY2AhQgAiAENgIQIAJBoOvCADYCJCACIAEpAgg3AiggAiACQQxqNgIYIAIgAkEQajYCICAAIAJBIGoQlwsNCCACKAIgQaSyyABBAiACKAIkKAIMEQAADQgLIAEoAgBBiJDJAEEBIAEoAgQoAgwRAAAhAwwHC0EBIQMgASgCACIEQZyRyQBBCiABKAIEIgYoAgwiBREAAA0GIABBCGohAAJAIAEtAApBgAFxRQRAIARBtM/FAEEBIAURAAANCCAAIAEQ0xBFDQEMCAsgBEGd48IAQQIgBREAAA0HIAJBAToADCACIAY2AhQgAiAENgIQIAJBoOvCADYCJCACIAEpAgg3AiggAiACQQxqNgIYIAIgAkEQajYCICAAIAJBIGoQ0xANByACKAIgQaSyyABBAiACKAIkKAIMEQAADQcLIAEoAgBBiJDJAEEBIAEoAgQoAgwRAAAhAwwGC0EBIQMgASgCACIEQaaRyQBBESABKAIEIgYoAgwiBREAAA0FIABBBGohAAJAIAEtAApBgAFxRQRAIARBtM/FAEEBIAURAAANByAAIAEQug5FDQEMBwsgBEGd48IAQQIgBREAAA0GIAJBAToADCACIAY2AhQgAiAENgIQIAJBoOvCADYCJCACIAEpAgg3AiggAiACQQxqNgIYIAIgAkEQaiIENgIgIAAgAkEgahC6Dg0GIARBpLLIAEECEP0IDQYLIAEoAgBBiJDJAEEBIAEoAgQoAgwRAAAhAwwFC0EBIQMgASgCACIEQbeRyQBBCCABKAIEIgYoAgwiBREAAA0EIABBBGohAAJAIAEtAApBgAFxRQRAIARBtM/FAEEBIAURAAANBiAAIAEQzQVFDQEMBgsgBEGd48IAQQIgBREAAA0FIAJBAToADCACIAY2AhQgAiAENgIQIAJBoOvCADYCJCACIAEpAgg3AiggAiACQQxqNgIYIAIgAkEQajYCICAAIAJBIGoQzQUNBSACKAIgQaSyyABBAiACKAIkKAIMEQAADQULIAEoAgBBiJDJAEEBIAEoAgQoAgwRAAAhAwwEC0EBIQMgASgCACIEQb+RyQBBCSABKAIEIgYoAgwiBREAAA0DIABBBGohAAJAIAEtAApBgAFxRQRAIARBtM/FAEEBIAURAAANBSAAIAEQ1BBFDQEMBQsgBEGd48IAQQIgBREAAA0EIAJBAToADCACIAY2AhQgAiAENgIQIAJBoOvCADYCJCACIAEpAgg3AiggAiACQQxqNgIYIAIgAkEQajYCICAAIAJBIGoQ1BANBCACKAIgQaSyyABBAiACKAIkKAIMEQAADQQLIAEoAgBBiJDJAEEBIAEoAgQoAgwRAAAhAwwDC0EBIQMgAiAAQQFqNgIMIAEoAgAiAEHIkckAQQogASgCBCIFKAIMIgQRAAANAgJAIAEtAApBgAFxRQRAIABBtM/FAEEBIAQRAAANBCACQQxqIAEQkxRFDQEMBAsgAEGd48IAQQIgBBEAAA0DIAJBAToAHyACIAU2AhQgAiAANgIQIAJBoOvCADYCJCACIAEpAgg3AiggAiACQR9qNgIYIAIgAkEQaiIANgIgIAJBDGogAkEgahCTFA0DIABBpLLIAEECEP0IDQMLIAEoAgBBiJDJAEEBIAEoAgQoAgwRAAAhAwwCCyACIABBBGo2AgxBASEDIAEoAgAiAEHSkckAQQsgASgCBCIFKAIMIgQRAAANAQJAIAEtAApBgAFxRQRAIABBtM/FAEEBIAQRAAANAyACQQxqIAEQ0AVFDQEMAwsgAEGd48IAQQIgBBEAAA0CIAJBAToAHyACIAU2AhQgAiAANgIQIAJBoOvCADYCJCACIAEpAgg3AiggAiACQR9qNgIYIAIgAkEQajYCICACQQxqIAJBIGoQ0AUNAiACKAIgQaSyyABBAiACKAIkKAIMEQAADQILIAEoAgBBiJDJAEEBIAEoAgQoAgwRAAAhAwwBCyABKAIAQd2RyQBBBSABKAIEKAIMEQAAIQMLIAJBMGokACADC9gSAQV/IwBBMGsiAiQAAkACQAJAAkACQAJAAkACQAJAAkACQAJAIAAtAABBAWsOCgECAwQFBgcICQoACyACIABBBGo2AgxBASEDIAEoAgAiAEGOkckAQQMgASgCBCIFKAIMIgQRAAANCgJAIAEtAApBgAFxRQRAIABBtM/FAEEBIAQRAAANDCACQQxqIAEQ9gpFDQEMDAsgAEGd48IAQQIgBBEAAA0LIAJBAToAHyACIAU2AhQgAiAANgIQIAJBoOvCADYCJCACIAEpAgg3AiggAiACQR9qNgIYIAIgAkEQajYCICACQQxqIAJBIGoQ9goNCyACKAIgQaSyyABBAiACKAIkKAIMEQAADQsLIAEoAgBBiJDJAEEBIAEoAgQoAgwRAAAhAwwKCyACIABBBGo2AgxBASEDIAEoAgAiAEGRkckAQQIgASgCBCIFKAIMIgQRAAANCQJAIAEtAApBgAFxRQRAIABBtM/FAEEBIAQRAAANCyACQQxqIAEQ9gpFDQEMCwsgAEGd48IAQQIgBBEAAA0KIAJBAToAHyACIAU2AhQgAiAANgIQIAJBoOvCADYCJCACIAEpAgg3AiggAiACQR9qNgIYIAIgAkEQajYCICACQQxqIAJBIGoQ9goNCiACKAIgQaSyyABBAiACKAIkKAIMEQAADQoLIAEoAgBBiJDJAEEBIAEoAgQoAgwRAAAhAwwJCyACIABBBGo2AgxBASEDIAEoAgAiAEGTkckAQQMgASgCBCIFKAIMIgQRAAANCAJAIAEtAApBgAFxRQRAIABBtM/FAEEBIAQRAAANCiACQQxqIAEQ9gpFDQEMCgsgAEGd48IAQQIgBBEAAA0JIAJBAToAHyACIAU2AhQgAiAANgIQIAJBoOvCADYCJCACIAEpAgg3AiggAiACQR9qNgIYIAIgAkEQajYCICACQQxqIAJBIGoQ9goNCSACKAIgQaSyyABBAiACKAIkKAIMEQAADQkLIAEoAgBBiJDJAEEBIAEoAgQoAgwRAAAhAwwIC0EBIQMgASgCACIEQZaRyQBBBiABKAIEIgYoAgwiBREAAA0HIABBCGohAAJAIAEtAApBgAFxRQRAIARBtM/FAEEBIAURAAANCSAAIAEQmwtFDQEMCQsgBEGd48IAQQIgBREAAA0IIAJBAToADCACIAY2AhQgAiAENgIQIAJBoOvCADYCJCACIAEpAgg3AiggAiACQQxqNgIYIAIgAkEQajYCICAAIAJBIGoQmwsNCCACKAIgQaSyyABBAiACKAIkKAIMEQAADQgLIAEoAgBBiJDJAEEBIAEoAgQoAgwRAAAhAwwHC0EBIQMgASgCACIEQZyRyQBBCiABKAIEIgYoAgwiBREAAA0GIABBCGohAAJAIAEtAApBgAFxRQRAIARBtM/FAEEBIAURAAANCCAAIAEQ2xBFDQEMCAsgBEGd48IAQQIgBREAAA0HIAJBAToADCACIAY2AhQgAiAENgIQIAJBoOvCADYCJCACIAEpAgg3AiggAiACQQxqNgIYIAIgAkEQajYCICAAIAJBIGoQ2xANByACKAIgQaSyyABBAiACKAIkKAIMEQAADQcLIAEoAgBBiJDJAEEBIAEoAgQoAgwRAAAhAwwGC0EBIQMgASgCACIEQaaRyQBBESABKAIEIgYoAgwiBREAAA0FIABBBGohAAJAIAEtAApBgAFxRQRAIARBtM/FAEEBIAURAAANByAAIAEQug5FDQEMBwsgBEGd48IAQQIgBREAAA0GIAJBAToADCACIAY2AhQgAiAENgIQIAJBoOvCADYCJCACIAEpAgg3AiggAiACQQxqNgIYIAIgAkEQaiIENgIgIAAgAkEgahC6Dg0GIARBpLLIAEECEP0IDQYLIAEoAgBBiJDJAEEBIAEoAgQoAgwRAAAhAwwFC0EBIQMgASgCACIEQbeRyQBBCCABKAIEIgYoAgwiBREAAA0EIABBBGohAAJAIAEtAApBgAFxRQRAIARBtM/FAEEBIAURAAANBiAAIAEQzQVFDQEMBgsgBEGd48IAQQIgBREAAA0FIAJBAToADCACIAY2AhQgAiAENgIQIAJBoOvCADYCJCACIAEpAgg3AiggAiACQQxqNgIYIAIgAkEQajYCICAAIAJBIGoQzQUNBSACKAIgQaSyyABBAiACKAIkKAIMEQAADQULIAEoAgBBiJDJAEEBIAEoAgQoAgwRAAAhAwwEC0EBIQMgASgCACIEQb+RyQBBCSABKAIEIgYoAgwiBREAAA0DIABBBGohAAJAIAEtAApBgAFxRQRAIARBtM/FAEEBIAURAAANBSAAIAEQ3BBFDQEMBQsgBEGd48IAQQIgBREAAA0EIAJBAToADCACIAY2AhQgAiAENgIQIAJBoOvCADYCJCACIAEpAgg3AiggAiACQQxqNgIYIAIgAkEQajYCICAAIAJBIGoQ3BANBCACKAIgQaSyyABBAiACKAIkKAIMEQAADQQLIAEoAgBBiJDJAEEBIAEoAgQoAgwRAAAhAwwDC0EBIQMgASgCACIEQciRyQBBCiABKAIEIgYoAgwiBREAAA0CIABBAWohAAJAIAEtAApBgAFxRQRAIARBtM/FAEEBIAURAAANBCAAIAEQmBRFDQEMBAsgBEGd48IAQQIgBREAAA0DIAJBAToADCACIAY2AhQgAiAENgIQIAJBoOvCADYCJCACIAEpAgg3AiggAiACQQxqNgIYIAIgAkEQaiIENgIgIAAgAkEgahCYFA0DIARBpLLIAEECEP0IDQMLIAEoAgBBiJDJAEEBIAEoAgQoAgwRAAAhAwwCCyACIABBBGo2AgxBASEDIAEoAgAiAEHSkckAQQsgASgCBCIFKAIMIgQRAAANAQJAIAEtAApBgAFxRQRAIABBtM/FAEEBIAQRAAANAyACQQxqIAEQ0QVFDQEMAwsgAEGd48IAQQIgBBEAAA0CIAJBAToAHyACIAU2AhQgAiAANgIQIAJBoOvCADYCJCACIAEpAgg3AiggAiACQR9qNgIYIAIgAkEQajYCICACQQxqIAJBIGoQ0QUNAiACKAIgQaSyyABBAiACKAIkKAIMEQAADQILIAEoAgBBiJDJAEEBIAEoAgQoAgwRAAAhAwwBCyABKAIAQd2RyQBBBSABKAIEKAIMEQAAIQMLIAJBMGokACADC9gSAQV/IwBBMGsiAiQAAkACQAJAAkACQAJAAkACQAJAAkACQAJAIAAtAABBAWsOCgECAwQFBgcICQoACyACIABBBGo2AgxBASEDIAEoAgAiAEGOkckAQQMgASgCBCIFKAIMIgQRAAANCgJAIAEtAApBgAFxRQRAIABBtM/FAEEBIAQRAAANDCACQQxqIAEQ9wpFDQEMDAsgAEGd48IAQQIgBBEAAA0LIAJBAToAHyACIAU2AhQgAiAANgIQIAJBoOvCADYCJCACIAEpAgg3AiggAiACQR9qNgIYIAIgAkEQajYCICACQQxqIAJBIGoQ9woNCyACKAIgQaSyyABBAiACKAIkKAIMEQAADQsLIAEoAgBBiJDJAEEBIAEoAgQoAgwRAAAhAwwKCyACIABBBGo2AgxBASEDIAEoAgAiAEGRkckAQQIgASgCBCIFKAIMIgQRAAANCQJAIAEtAApBgAFxRQRAIABBtM/FAEEBIAQRAAANCyACQQxqIAEQ9wpFDQEMCwsgAEGd48IAQQIgBBEAAA0KIAJBAToAHyACIAU2AhQgAiAANgIQIAJBoOvCADYCJCACIAEpAgg3AiggAiACQR9qNgIYIAIgAkEQajYCICACQQxqIAJBIGoQ9woNCiACKAIgQaSyyABBAiACKAIkKAIMEQAADQoLIAEoAgBBiJDJAEEBIAEoAgQoAgwRAAAhAwwJCyACIABBBGo2AgxBASEDIAEoAgAiAEGTkckAQQMgASgCBCIFKAIMIgQRAAANCAJAIAEtAApBgAFxRQRAIABBtM/FAEEBIAQRAAANCiACQQxqIAEQ9wpFDQEMCgsgAEGd48IAQQIgBBEAAA0JIAJBAToAHyACIAU2AhQgAiAANgIQIAJBoOvCADYCJCACIAEpAgg3AiggAiACQR9qNgIYIAIgAkEQajYCICACQQxqIAJBIGoQ9woNCSACKAIgQaSyyABBAiACKAIkKAIMEQAADQkLIAEoAgBBiJDJAEEBIAEoAgQoAgwRAAAhAwwIC0EBIQMgASgCACIEQZaRyQBBBiABKAIEIgYoAgwiBREAAA0HIABBCGohAAJAIAEtAApBgAFxRQRAIARBtM/FAEEBIAURAAANCSAAIAEQogtFDQEMCQsgBEGd48IAQQIgBREAAA0IIAJBAToADCACIAY2AhQgAiAENgIQIAJBoOvCADYCJCACIAEpAgg3AiggAiACQQxqNgIYIAIgAkEQajYCICAAIAJBIGoQogsNCCACKAIgQaSyyABBAiACKAIkKAIMEQAADQgLIAEoAgBBiJDJAEEBIAEoAgQoAgwRAAAhAwwHC0EBIQMgASgCACIEQZyRyQBBCiABKAIEIgYoAgwiBREAAA0GIABBCGohAAJAIAEtAApBgAFxRQRAIARBtM/FAEEBIAURAAANCCAAIAEQ4BBFDQEMCAsgBEGd48IAQQIgBREAAA0HIAJBAToADCACIAY2AhQgAiAENgIQIAJBoOvCADYCJCACIAEpAgg3AiggAiACQQxqNgIYIAIgAkEQajYCICAAIAJBIGoQ4BANByACKAIgQaSyyABBAiACKAIkKAIMEQAADQcLIAEoAgBBiJDJAEEBIAEoAgQoAgwRAAAhAwwGC0EBIQMgASgCACIEQaaRyQBBESABKAIEIgYoAgwiBREAAA0FIABBBGohAAJAIAEtAApBgAFxRQRAIARBtM/FAEEBIAURAAANByAAIAEQug5FDQEMBwsgBEGd48IAQQIgBREAAA0GIAJBAToADCACIAY2AhQgAiAENgIQIAJBoOvCADYCJCACIAEpAgg3AiggAiACQQxqNgIYIAIgAkEQaiIENgIgIAAgAkEgahC6Dg0GIARBpLLIAEECEP0IDQYLIAEoAgBBiJDJAEEBIAEoAgQoAgwRAAAhAwwFC0EBIQMgASgCACIEQbeRyQBBCCABKAIEIgYoAgwiBREAAA0EIABBBGohAAJAIAEtAApBgAFxRQRAIARBtM/FAEEBIAURAAANBiAAIAEQzQVFDQEMBgsgBEGd48IAQQIgBREAAA0FIAJBAToADCACIAY2AhQgAiAENgIQIAJBoOvCADYCJCACIAEpAgg3AiggAiACQQxqNgIYIAIgAkEQajYCICAAIAJBIGoQzQUNBSACKAIgQaSyyABBAiACKAIkKAIMEQAADQULIAEoAgBBiJDJAEEBIAEoAgQoAgwRAAAhAwwEC0EBIQMgASgCACIEQb+RyQBBCSABKAIEIgYoAgwiBREAAA0DIABBBGohAAJAIAEtAApBgAFxRQRAIARBtM/FAEEBIAURAAANBSAAIAEQ4RBFDQEMBQsgBEGd48IAQQIgBREAAA0EIAJBAToADCACIAY2AhQgAiAENgIQIAJBoOvCADYCJCACIAEpAgg3AiggAiACQQxqNgIYIAIgAkEQajYCICAAIAJBIGoQ4RANBCACKAIgQaSyyABBAiACKAIkKAIMEQAADQQLIAEoAgBBiJDJAEEBIAEoAgQoAgwRAAAhAwwDC0EBIQMgASgCACIEQciRyQBBCiABKAIEIgYoAgwiBREAAA0CIABBAWohAAJAIAEtAApBgAFxRQRAIARBtM/FAEEBIAURAAANBCAAIAEQmBRFDQEMBAsgBEGd48IAQQIgBREAAA0DIAJBAToADCACIAY2AhQgAiAENgIQIAJBoOvCADYCJCACIAEpAgg3AiggAiACQQxqNgIYIAIgAkEQaiIENgIgIAAgAkEgahCYFA0DIARBpLLIAEECEP0IDQMLIAEoAgBBiJDJAEEBIAEoAgQoAgwRAAAhAwwCCyACIABBBGo2AgxBASEDIAEoAgAiAEHSkckAQQsgASgCBCIFKAIMIgQRAAANAQJAIAEtAApBgAFxRQRAIABBtM/FAEEBIAQRAAANAyACQQxqIAEQ0gVFDQEMAwsgAEGd48IAQQIgBBEAAA0CIAJBAToAHyACIAU2AhQgAiAANgIQIAJBoOvCADYCJCACIAEpAgg3AiggAiACQR9qNgIYIAIgAkEQajYCICACQQxqIAJBIGoQ0gUNAiACKAIgQaSyyABBAiACKAIkKAIMEQAADQILIAEoAgBBiJDJAEEBIAEoAgQoAgwRAAAhAwwBCyABKAIAQd2RyQBBBSABKAIEKAIMEQAAIQMLIAJBMGokACADC9gSAQV/IwBBMGsiAiQAAkACQAJAAkACQAJAAkACQAJAAkACQAJAIAAtAABBAWsOCgECAwQFBgcICQoACyACIABBBGo2AgxBASEDIAEoAgAiAEGOkckAQQMgASgCBCIFKAIMIgQRAAANCgJAIAEtAApBgAFxRQRAIABBtM/FAEEBIAQRAAANDCACQQxqIAEQ+QpFDQEMDAsgAEGd48IAQQIgBBEAAA0LIAJBAToAHyACIAU2AhQgAiAANgIQIAJBoOvCADYCJCACIAEpAgg3AiggAiACQR9qNgIYIAIgAkEQajYCICACQQxqIAJBIGoQ+QoNCyACKAIgQaSyyABBAiACKAIkKAIMEQAADQsLIAEoAgBBiJDJAEEBIAEoAgQoAgwRAAAhAwwKCyACIABBBGo2AgxBASEDIAEoAgAiAEGRkckAQQIgASgCBCIFKAIMIgQRAAANCQJAIAEtAApBgAFxRQRAIABBtM/FAEEBIAQRAAANCyACQQxqIAEQ+QpFDQEMCwsgAEGd48IAQQIgBBEAAA0KIAJBAToAHyACIAU2AhQgAiAANgIQIAJBoOvCADYCJCACIAEpAgg3AiggAiACQR9qNgIYIAIgAkEQajYCICACQQxqIAJBIGoQ+QoNCiACKAIgQaSyyABBAiACKAIkKAIMEQAADQoLIAEoAgBBiJDJAEEBIAEoAgQoAgwRAAAhAwwJCyACIABBBGo2AgxBASEDIAEoAgAiAEGTkckAQQMgASgCBCIFKAIMIgQRAAANCAJAIAEtAApBgAFxRQRAIABBtM/FAEEBIAQRAAANCiACQQxqIAEQ+QpFDQEMCgsgAEGd48IAQQIgBBEAAA0JIAJBAToAHyACIAU2AhQgAiAANgIQIAJBoOvCADYCJCACIAEpAgg3AiggAiACQR9qNgIYIAIgAkEQajYCICACQQxqIAJBIGoQ+QoNCSACKAIgQaSyyABBAiACKAIkKAIMEQAADQkLIAEoAgBBiJDJAEEBIAEoAgQoAgwRAAAhAwwIC0EBIQMgASgCACIEQZaRyQBBBiABKAIEIgYoAgwiBREAAA0HIABBCGohAAJAIAEtAApBgAFxRQRAIARBtM/FAEEBIAURAAANCSAAIAEQpQtFDQEMCQsgBEGd48IAQQIgBREAAA0IIAJBAToADCACIAY2AhQgAiAENgIQIAJBoOvCADYCJCACIAEpAgg3AiggAiACQQxqNgIYIAIgAkEQajYCICAAIAJBIGoQpQsNCCACKAIgQaSyyABBAiACKAIkKAIMEQAADQgLIAEoAgBBiJDJAEEBIAEoAgQoAgwRAAAhAwwHC0EBIQMgASgCACIEQZyRyQBBCiABKAIEIgYoAgwiBREAAA0GIABBCGohAAJAIAEtAApBgAFxRQRAIARBtM/FAEEBIAURAAANCCAAIAEQ5RBFDQEMCAsgBEGd48IAQQIgBREAAA0HIAJBAToADCACIAY2AhQgAiAENgIQIAJBoOvCADYCJCACIAEpAgg3AiggAiACQQxqNgIYIAIgAkEQajYCICAAIAJBIGoQ5RANByACKAIgQaSyyABBAiACKAIkKAIMEQAADQcLIAEoAgBBiJDJAEEBIAEoAgQoAgwRAAAhAwwGC0EBIQMgASgCACIEQaaRyQBBESABKAIEIgYoAgwiBREAAA0FIABBBGohAAJAIAEtAApBgAFxRQRAIARBtM/FAEEBIAURAAANByAAIAEQug5FDQEMBwsgBEGd48IAQQIgBREAAA0GIAJBAToADCACIAY2AhQgAiAENgIQIAJBoOvCADYCJCACIAEpAgg3AiggAiACQQxqNgIYIAIgAkEQaiIENgIgIAAgAkEgahC6Dg0GIARBpLLIAEECEP0IDQYLIAEoAgBBiJDJAEEBIAEoAgQoAgwRAAAhAwwFC0EBIQMgASgCACIEQbeRyQBBCCABKAIEIgYoAgwiBREAAA0EIABBBGohAAJAIAEtAApBgAFxRQRAIARBtM/FAEEBIAURAAANBiAAIAEQzQVFDQEMBgsgBEGd48IAQQIgBREAAA0FIAJBAToADCACIAY2AhQgAiAENgIQIAJBoOvCADYCJCACIAEpAgg3AiggAiACQQxqNgIYIAIgAkEQajYCICAAIAJBIGoQzQUNBSACKAIgQaSyyABBAiACKAIkKAIMEQAADQULIAEoAgBBiJDJAEEBIAEoAgQoAgwRAAAhAwwEC0EBIQMgASgCACIEQb+RyQBBCSABKAIEIgYoAgwiBREAAA0DIABBBGohAAJAIAEtAApBgAFxRQRAIARBtM/FAEEBIAURAAANBSAAIAEQ5hBFDQEMBQsgBEGd48IAQQIgBREAAA0EIAJBAToADCACIAY2AhQgAiAENgIQIAJBoOvCADYCJCACIAEpAgg3AiggAiACQQxqNgIYIAIgAkEQajYCICAAIAJBIGoQ5hANBCACKAIgQaSyyABBAiACKAIkKAIMEQAADQQLIAEoAgBBiJDJAEEBIAEoAgQoAgwRAAAhAwwDC0EBIQMgASgCACIEQciRyQBBCiABKAIEIgYoAgwiBREAAA0CIABBAWohAAJAIAEtAApBgAFxRQRAIARBtM/FAEEBIAURAAANBCAAIAEQmBRFDQEMBAsgBEGd48IAQQIgBREAAA0DIAJBAToADCACIAY2AhQgAiAENgIQIAJBoOvCADYCJCACIAEpAgg3AiggAiACQQxqNgIYIAIgAkEQaiIENgIgIAAgAkEgahCYFA0DIARBpLLIAEECEP0IDQMLIAEoAgBBiJDJAEEBIAEoAgQoAgwRAAAhAwwCCyACIABBBGo2AgxBASEDIAEoAgAiAEHSkckAQQsgASgCBCIFKAIMIgQRAAANAQJAIAEtAApBgAFxRQRAIABBtM/FAEEBIAQRAAANAyACQQxqIAEQ0wVFDQEMAwsgAEGd48IAQQIgBBEAAA0CIAJBAToAHyACIAU2AhQgAiAANgIQIAJBoOvCADYCJCACIAEpAgg3AiggAiACQR9qNgIYIAIgAkEQajYCICACQQxqIAJBIGoQ0wUNAiACKAIgQaSyyABBAiACKAIkKAIMEQAADQILIAEoAgBBiJDJAEEBIAEoAgQoAgwRAAAhAwwBCyABKAIAQd2RyQBBBSABKAIEKAIMEQAAIQMLIAJBMGokACADC/gPARN/IwBBwAJrIgQkAAJAAkACQAJAAkACQAJAIAIoAiAiC0UNAEEFEJABIgMEQCADQciBxgAtAAA6AAQgA0HEgcYAKAAANgAAIARBBTYCCCAEIAM2AgQgBEEFNgIAIAEgBBD8DSALQQFrIQ8gAigCHCIIIAtBBXQiBmohCiAEQZQCaiEJIAIoAhghBwNAAkAgBSAIaiIDQSBqIQwCQAJAAkACQCADKAIAIhBBAkcEQCAJIANBHGooAgA2AhggCSADQRRqKQIANwIQIAkgA0EMaikCADcCCCAJIANBBGopAgA3AgAgBCAQNgKQAiAEIAEgBEGQAmoQuAIgBCgCAEF+Rw0CIA4gD0kNAQwECyAKIAxGDQQgA0EgaiEDIAYgBWtBIGtBBXYhBQNAIAMQ9wUgA0EgaiEDIAVBAWsiBQ0ACwwEC0ECEJABIgNFDQEgA0GswAA7AAAgBEECNgIIIAQgAzYCBCAEQQI2AgAgASAEEPwNDAILIAAgBCkCKDcCKCAAIAQpAiA3AiAgACAEKQIYNwIYIAAgBCkCEDcCECAAIAQpAgg3AgggACAEKQIANwIAIAogDEcEQCADQSBqIQMgBiAFa0Ega0EFdiEFA0AgAxD3BSADQSBqIQMgBUEBayIFDQALCyAHBEAgCEEEaygCACIBQXhxIQAgACAHQQV0IgNBBEEIIAFBA3EiARtySQ0KIAFBAEcgACADQSdqS3ENCyAIELwFCyACKAIEIQAgAigCCCIFBEAgACEDA0AgAxDKASADQZACaiEDIAVBAWsiBQ0ACwtBACEOIAIoAgAiA0UNBiAAQQRrKAIAIgVBeHEhASABIANBkAJsIgNBBEEIIAVBA3EiBRtySQ0JIAVBAEcgASADQSdqS3FFBEAgABC8BQwHCwwKC0EBEKcUAAsgDkEBaiEOIAYgBUEgaiIFRw0BCwsgBwRAIAhBBGsoAgAiBUF4cSEDIAMgB0EFdCIJQQRBCCAFQQNxIgUbckkNBiAFQQBHIAMgCUEnaktxDQcgCBC8BQtBARCQASIDBEAgA0EgOgAAIARBATYCCCAEIAM2AgQgBEEBNgIAIAEgBBD8DQwCCwwHC0EBEKcUAAsgAigCFCEGQQAhBSACQQA2AhQgAigCECEJIAIoAgQiCCACKAIIIgdBkAJsaiEKIAIoAgAhDCAIIQMCQAJAAkAgB0UNACALRSEOIAYgCWohEyAHQQFrIRQgBEEEciEVIAkhBwNAAkAgAygCACIGQX5HBEAgFSADQQRqQYwC/AoAACAEIAY2AgAgBEGQAmogASAEED0gBCgCkAJBfkYNAQwFCyADQZACaiEDDAILAkAgBSAUSQRAAkAgByATRwRAIActAAAhDUEBEJABIgYNAQwNC0HMgcYAEJ0VAAsgBkEgOgAAIARBATYCmAIgBCAGNgKUAiAEQQE2ApACIAEgBEGQAmoiDxD8DSMAQRBrIhAkACAQQQRqIREjAEEQayIGJAAgBkEANgIMIAZCgICAgBA3AgQCfyANQQFxBEAgBkEEakEAQQUQxBEgBigCDCINIAYoAghqIhJB6c7FACgAADYAACASQe3OxQAtAAA6AAQgDUEFagwBCyAGQQRqQQBBCRDEESAGKAIMIg0gBigCCGoiEkHgzsUAKQAANwAAIBJB6M7FAC0AADoACCANQQlqCyENIBEgBikCBDcCACARIA02AgggBkEQaiQAIAEgERD8DSAPQX42AgAgEEEQaiQAIAQoApACQX5HDQVBARCQASIGRQ0BIAZBIDoAACAEQQE2ApgCIAQgBjYClAIgBEEBNgKQAiABIA8Q/A0gB0EBaiEHCyAFQQFqIQUgCiADQZACaiIDRw0BDAMLCwwICyAKIANrQZACbiEFIAMgCkYNAANAIAMQygEgA0GQAmohAyAFQQFrIgUNAAsLIAwEQCAIQQRrKAIAIgNBeHEhASABIAxBkAJsIgVBBEEIIANBA3EiAxtySQ0FIANBAEcgASAFQSdqS3ENBiAIELwFCyAAQX42AgACQCACKAIMIgAEQCAJQQRrKAIAIgNBeHEhASABQQRBCCADQQNxIgMbIABqSQ0GIANBAEcgASAAQSdqS3ENASAJELwFCyALDQQgAigCGCIDRQ0EIAIoAhwhBQwDCwwFCyAAIAQpArgCNwIoIAAgBCkCsAI3AiAgACAEKQKoAjcCGCAAIAQpAqACNwIQIAAgBCkCmAI3AgggACAEKQKQAjcCACAKIANBkAJqIgNrQZACbiEFIAMgCkcEQANAIAMQygEgA0GQAmohAyAFQQFrIgUNAAsLIAxFDQAgCEEEaygCACIBQXhxIQAgACAMQZACbCIDQQRBCCABQQNxIgEbckkNAyABQQBHIAAgA0EnaktxDQQgCBC8BQsgAigCDCIABEAgAigCECIDQQRrKAIAIgVBeHEhASABQQRBCCAFQQNxIgUbIABqSQ0DIAVBAEcgASAAQSdqS3ENBCADELwFCyAORQ0BIAIoAhwhBSALBEAgBSEDA0AgAxD3BSADQSBqIQMgC0EBayILDQALCyACKAIYIgMNAAwBCyAFQQRrKAIAIgFBeHEhACAAIANBBXQiAkEEQQggAUEDcSIBG3JJDQEgAUEARyAAIAJBJ2pLcQ0CIAUQvAULIARBwAJqJAAPC0HQnMkAQS5BgJ3JABCvFAALQZCdyQBBLkHAnckAEK8UAAtBARCnFAALlg8BEX8jAEHQAmsiBCQAAkACQAJAAkACQAJAAkACQAJAAkAgAigCICIMRQ0AQQUQkAEiAwRAIANByIHGAC0AADoABCADQcSBxgAoAAA2AAAgBEEFNgIIIAQgAzYCBCAEQQU2AgAgASAEEPwNIAxBAWshByACKAIcIg4gDEEFdCIGaiEJIARBlAJqIQ8gAigCGCEIA0ACQCANIA5qIgpBIGohBQJAAkACQAJAIAooAgAiA0ECRwRAIA8gCkEcaigCADYCGCAPIApBFGopAgA3AhAgDyAKQQxqKQIANwIIIA8gCkEEaikCADcCACAEIAM2ApACIAQgASAEQZACahC+AiAEKAIAQX5HDQIgByALSw0BDAQLIAUgCUYNBCAKQSBqIQMgBiANa0Ega0EFdiEFA0AgAxCaBCADQSBqIQMgBUEBayIFDQALDAQLQQIQkAEiA0UNASADQazAADsAACAEQQI2AgggBCADNgIEIARBAjYCACABIAQQ/A0MAgsgACAEKQIoNwIoIAAgBCkCIDcCICAAIAQpAhg3AhggACAEKQIQNwIQIAAgBCkCCDcCCCAAIAQpAgA3AgAgBSAJRwRAIApBIGohAyAGIA1rQSBrQQV2IQUDQCADEJoEIANBIGohAyAFQQFrIgUNAAsLAkAgCARAIA5BBGsoAgAiAEF4cSEDIAMgCEEFdCIBQQRBCCAAQQNxIgAbckkNDiAAQQBHIAMgAUEnaktxDQEgDhC8BQsgAigCBCEHIAIoAggiBQRAIAchAwNAIAMQvQEgA0GQAmohAyAFQQFrIgUNAAsLIAIoAgAiEEUNCAwHCwwNC0EBEKcUAAsgC0EBaiELIAYgDUEgaiINRw0BCwsCQCAIBEAgDkEEaygCACIDQXhxIQUgBSAIQQV0IgdBBEEIIANBA3EiAxtySQ0KIANBAEcgBSAHQSdqS3ENCyAOELwFC0EBEJABIgNFDQAgA0EgOgAAIARBATYCCCAEIAM2AgQgBEEBNgIAIAEgBBD8DQwCCwwKC0EBEKcUAAsgAigCFCACQQA2AhQgAigCECELIAIoAgQiByACKAIIIglBkAJsIhNqIREgAigCACEQIAchAyAJRQ0CIAxFIRIgC2ohCiAJQQFrIQ4gBEEEciEPQQAhA0EAIQUgCyEJA0ACQAJAAkAgAyAHaiIIKAIAIgZBfkcEQCAPIAhBBGpBjAL8CgAAIAQgBjYCACAEQZACaiABIAQQOyAEKAKQAkF+Rw0DIAUgDk8NAiAJIApHDQFBzIHGABCdFQALIAhBkAJqIQMMBgsgCS0AACEIQQEQkAEiBkUNCyAGQSA6AAAgBEEBNgKYAiAEIAY2ApQCIARBATYCkAIgASAEQZACaiIGEPwNIARBADYCmAIgBEKAgICAEDcCkAICfyAIQQFxRQRAIAZBAEEJQQFBARCzESAEKAKYAiIIIAQoApQCaiIGQeDOxQApAAA3AAAgBkHozsUALQAAOgAIIAhBCWoMAQsgBEGQAmpBAEEFQQFBARCzESAEKAKYAiIIIAQoApQCaiIGQenOxQAoAAA2AAAgBkHtzsUALQAAOgAEIAhBBWoLIQ0gBCAEKQKQAjcDwAIgBCANNgLIAiABIARBwAJqEPwNQQEQkAEiBkUNCyAJQQFqIQkgBkEgOgAAIARBATYCmAIgBCAGNgKUAiAEQQE2ApACIAEgBEGQAmoQ/A0LIAVBAWohBSATIANBkAJqIgNHDQEMBQsLIAAgBCkCuAI3AiggACAEKQKwAjcCICAAIAQpAqgCNwIYIAAgBCkCoAI3AhAgACAEKQKYAjcCCCAAIAQpApACNwIAIAhBkAJqIgUgEUcEQCATIANrQZACa0GQAm4hAwNAIAUQvQEgBUGQAmohBSADQQFrIgMNAAsLIBBFDQELIAdBBGsoAgAiAEF4cSEDIAMgEEGQAmwiAUEEQQggAEEDcSIAG3JJDQUgAEEARyADIAFBJ2pLcQ0GIAcQvAULIAIoAgwiBwRAIAIoAhAiAUEEaygCACIAQXhxIQMgA0EEQQggAEEDcSIAGyAHakkNBSAAQQBHIAMgB0EnaktxDQYgARC8BQsgEkUNAyACKAIcIQUgDARAIAUhAwNAIAMQmgQgA0EgaiEDIAxBAWsiDA0ACwsgAigCGCIDDQIMAwsgESADa0GQAm4hBSADIBFGDQADQCADEL0BIANBkAJqIQMgBUEBayIFDQALCyAQBEAgB0EEaygCACIBQXhxIQUgBSAQQZACbCIDQQRBCCABQQNxIgEbckkNAyABQQBHIAUgA0EnaktxDQQgBxC8BQsgAEF+NgIAIAIoAgwiAwRAIAtBBGsoAgAiAEF4cSEBIAFBBEEIIABBA3EiABsgA2pJDQMgAEEARyABIANBJ2pLcQ0EIAsQvAULIAwNASACKAIYIgNFDQEgAigCHCEFCyAFQQRrKAIAIgBBeHEhAiACIANBBXQiAUEEQQggAEEDcSIAG3JJDQEgAEEARyACIAFBJ2pLcQ0CIAUQvAULIARB0AJqJAAPC0HQnMkAQS5BgJ3JABCvFAALQZCdyQBBLkHAnckAEK8UAAtBARCnFAALhw8CCn8BfiMAQSBrIgMkAAJAAkACQAJAAkACQAJAAkACQAJAAkAgAS0AAA4KAQIDBAAAAAAABQALQaCryQBBKEH4ucYAEK8UAAsgASgCCCIHIAEoAgxB0ABsIgRqIQpBACEBAkADQAJAAkAgAUUNACABIAVHDQEgCEUNACABQQRrKAIAIgVBeHEhAiACIAhBAnQiCEEEQQggBUEDcSIFG2pJDQogBUEARyACIAhBJ2pLcQ0LIAEQvAULIARFDQIgA0EUaiAHENQCIAMoAhQiCEF/Rg0CIARB0ABrIQQgB0HQAGohByADKQIYIgynIQEgASAMQiCIp0ECdGohBQwBCwsgBSABQQRqIgRrIgJBfEYNBkEDIAJBAnYiAiACQQNNG0EBaiICQQJ0IgZB/f///wdPDQYgASgCACELAkAgBkUEQEEAIQJBBCEJDAELIAYQkAEiCUUNCgsgCSALNgIAIANBATYCECADIAk2AgwgAyACNgIIQQEhBgNAAkACQAJAIAFFDQAgBCAFRw0BIAhFDQAgAUEEaygCACICQXhxIQQgBCAIQQJ0IgVBBEEIIAJBA3EiAhtqSQ0LIAJBAEcgBCAFQSdqS3ENDCABELwFCyAHIApGDQEgA0EUaiAHENQCIAMoAhQiCEF/Rg0BIAdB0ABqIQcgAykCGCIMpyEBIAEgDEIgiKdBAnRqIQUgASEEDAILIARBBGohAiAEKAIAIQQgAygCCCAGRgRAIANBCGogBiAFIAJrQQJ2QQFqQQRBBBCzESADKAIMIQkLIAkgBkECdGogBDYCACADIAZBAWoiBjYCECACIQQMAQsLIAAgAygCEDYCCCAAIAMpAgg3AgAMBQsgAEEANgIIIABCgICAgMAANwIADAQLIAEoAggiByABKAIMQdAAbCIEaiEKQQAhAQJAA0ACQAJAIAFFDQAgASAFRw0BIAhFDQAgAUEEaygCACIFQXhxIQIgAiAIQQJ0IghBBEEIIAVBA3EiBRtqSQ0JIAVBAEcgAiAIQSdqS3ENCiABELwFCyAERQ0CIANBFGogBxDUAiADKAIUIghBf0YNAiAEQdAAayEEIAdB0ABqIQcgAykCGCIMpyEBIAEgDEIgiKdBAnRqIQUMAQsLIAUgAUEEaiIEayICQXxGDQVBAyACQQJ2IgIgAkEDTRtBAWoiAkECdCIGQf3///8HTw0FIAEoAgAhCwJAIAZFBEBBACECQQQhCQwBCyAGEJABIglFDQkLIAkgCzYCACADQQE2AhAgAyAJNgIMIAMgAjYCCEEBIQYDQAJAAkACQCABRQ0AIAQgBUcNASAIRQ0AIAFBBGsoAgAiAkF4cSEEIAQgCEECdCIFQQRBCCACQQNxIgIbakkNCiACQQBHIAQgBUEnaktxDQsgARC8BQsgByAKRg0BIANBFGogBxDUAiADKAIUIghBf0YNASAHQdAAaiEHIAMpAhgiDKchASABIAxCIIinQQJ0aiEFIAEhBAwCCyAEQQRqIQIgBCgCACEEIAMoAgggBkYEQCADQQhqIAYgBSACa0ECdkEBakEEQQQQsxEgAygCDCEJCyAJIAZBAnRqIAQ2AgAgAyAGQQFqIgY2AhAgAiEEDAELCyAAIAMoAhA2AgggACADKQIINwIADAQLIABBADYCCCAAQoCAgIDAADcCAAwDCyABKAIIIgcgASgCDEHQAGwiBGohCkEAIQECQANAAkACQCABRQ0AIAEgBUcNASAIRQ0AIAFBBGsoAgAiBUF4cSECIAIgCEECdCIIQQRBCCAFQQNxIgUbakkNCCAFQQBHIAIgCEEnaktxDQkgARC8BQsgBEUNAiADQRRqIAcQ1AIgAygCFCIIQX9GDQIgBEHQAGshBCAHQdAAaiEHIAMpAhgiDKchASABIAxCIIinQQJ0aiEFDAELCyAFIAFBBGoiBGsiAkF8Rg0EQQMgAkECdiICIAJBA00bQQFqIgJBAnQiBkH9////B08NBCABKAIAIQsCQCAGRQRAQQAhAkEEIQkMAQsgBhCQASIJRQ0ICyAJIAs2AgAgA0EBNgIQIAMgCTYCDCADIAI2AghBASEGA0ACQAJAAkAgAUUNACAEIAVHDQEgCEUNACABQQRrKAIAIgJBeHEhBCAEIAhBAnQiBUEEQQggAkEDcSICG2pJDQkgAkEARyAEIAVBJ2pLcQ0KIAEQvAULIAcgCkYNASADQRRqIAcQ1AIgAygCFCIIQX9GDQEgB0HQAGohByADKQIYIgynIQEgASAMQiCIp0ECdGohBSABIQQMAgsgBEEEaiECIAQoAgAhBCADKAIIIAZGBEAgA0EIaiAGIAUgAmtBAnZBAWpBBEEEELMRIAMoAgwhCQsgCSAGQQJ0aiAENgIAIAMgBkEBaiIGNgIQIAIhBAwBCwsgACADKAIQNgIIIAAgAykCCDcCAAwDCyAAQQA2AgggAEKAgICAwAA3AgAMAgsgACABQQhqENQKDAELIAAgASgCCBDBAgsgA0EgaiQADwsQnhUAC0HQnMkAQS5BgJ3JABCvFAALQZCdyQBBLkHAnckAEK8UAAtBBBCnFAALuREDCX8DfgF8IwBBMGsiAyQAAkACQAJAAkACfwJAAkACQAJAAkACQAJAAkACQAJAQQUgACgCECIEQYCAgIB4cyAEQQBOG0EBaw4FAQIDBAUACyADIAEoAgAoAgBBs7LIAEEEEKsLIAMtAABB/wFGDQ0gAykDABDwEyECDA0LIAEoAgAoAgAhAQJAIAAtAABFBEAgAyABQaqyyABBBRCrCwwBCyADIAFBr7LIAEEEEKsLCyADLQAAQf8BRg0MIAMpAwAQ8BMhAgwMCyABKAIAIQECQAJAAkAgACgCAEEBaw4CAQIAC0EUIQIgACkDCCILQpDOAFoEQANAIAIgA2oiAEEEayALIgwgC0KQzgCAIgtCkM4Afn2nIgRB//8DcUHkAG4iBUEBdC8AnJhJOwAAIABBAmsgBCAFQeQAbGtB//8DcUEBdC8AnJhJOwAAIAJBBGshAiAMQv/B1y9WDQALCwJAIAtC4wBYBEAgC6chAAwBCyALpyIEQf//A3FB5ABuIQAgAkECayICIANqIAQgAEHkAGxrQf//A3FBAXQvAJyYSTsAAAsCQCAAQQpPBEAgAkECayICIANqIABBAXQvAJyYSTsAAAwBCyACQQFrIgIgA2ogAEEwcjoAAAsgA0EoaiABKAIAIAIgA2pBFCACaxCrC0EAIQIgAy0AKEH/AUYNDSADKQMoEPATIQIMDQtBFCECIAApAwgiDUI/hyELIAsgDYUgC30iC0KQzgBaBEADQCACIANqIgBBBGsgCyIMIAtCkM4AgCILQpDOAH59pyIEQf//A3FB5ABuIgVBAXQvAJyYSTsAACAAQQJrIAQgBUHkAGxrQf//A3FBAXQvAJyYSTsAACACQQRrIQIgDEL/wdcvVg0ACwsCQCALQuMAWARAIAunIQAMAQsgC6ciBEH//wNxQeQAbiEAIAJBAmsiAiADaiAEIABB5ABsa0H//wNxQQF0LwCcmEk7AAALAkAgAEEKTwRAIAJBAmsiAiADaiAAQQF0LwCcmEk7AAAMAQsgAkEBayICIANqIABBMHI6AAALIA1CAFMEQCACQQFrIgIgA2pBLToAAAsgA0EoaiABKAIAIAIgA2pBFCACaxCrC0EAIQIgAy0AKEH/AUYNDCADKQMoEPATIQIMDAsgACsDCCIOvUL///////////8Ag0KAgICAgICA+P8AWgRAIAMgASgCAEGzssgAQQQQqwsgAy0AAEH/AUYNDCADKQMAEPATIQIMDAsgDiADEPYBIQAgA0EoaiABKAIAIAMgABCrCyADLQAoQf8BRg0LIAMpAygQ8BMhAgwLCyABKAIAIAAoAgQgACgCCBCkCSECDAoLIAAoAgQhBCAAKAIIIQAgAUEAOgAQIAEgASgCDCICQQFqNgIMIAMgASgCACIFKAIAQaKyyABBARCrCyADLQAAQf8BRwRAIAMpAwAQ8BMhAgwKCyAARQRAIAEgAjYCDCADIAUoAgBBqLLIAEEBEKsLIAMtAABB/wFHBEAgAykDABDwEyECDAsLQQAhAgwKCyAEIABBMGxqIQVBASECA0AgASgCACIGKAIAIQACQCACQQFxRQRAIAMgAEGkssgAQQIQqwsMAQsgAyAAQaCyyABBARCrCwsCQCADLQAAQf8BRgRAIARBMGohACABKAIMQQFqIQIgASgCCCEHIAEoAgQhCANAIAJBAWsiAkUNAiADIAYoAgAgCCAHEKsLIAMtAABB/wFGDQALCyADKQMAEPATIQIMCwsgBCABENUCIgINCiABQQE6ABBBACECIAUgACIERw0ACyABIAEoAgwiAkEBazYCDCADQShqIAEoAgAiACgCAEGgssgAQQEQqwsgAy0AKEH/AUcNCCABKAIIIQQgASgCBCEBA0AgAkEBayICRQ0CIAMgACgCACABIAQQqwsgAy0AAEH/AUYNAAsgAyADKQMAIgs3AyggC6chAAwHCyAAKAIoIQQgAUEAOgAQIAEgASgCDCICQQFqNgIMIAMgASgCACIFKAIAQaOyyABBARCrCyADLQAAQf8BRwRAIAMpAwAQ8BMhAgwJCwJAAkAgBEUEQCABIAI2AgwgAyAFKAIAQaGyyABBARCrCyADLQAAQf8BRwRAIAMpAwAQ8BMhAgwMC0EAIQIgACgCGCIERQ0LDAELIAAoAhgiBEUNAUGAAiECCyAEQQZ0IAAoAhQiBGohBQNAIAJBAXENAyAEQTxqKAIAIQYgBEE4aigCACEHIAEoAgAiCCgCACEAAkAgAkGA/gNxQYACRwRAIAMgAEGkssgAQQIQqwsMAQsgAyAAQaCyyABBARCrCwsCQCADLQAAQf8BRgRAIARBQGshACABKAIMQQFqIQIgASgCCCEJIAEoAgQhCgNAIAJBAWsiAkUNAiADIAgoAgAgCiAJEKsLIAMtAABB/wFGDQALCyADKQMAEPATIQIMCwsgASgCACAHIAYQpAkiAg0KIAMgASgCACgCAEGmssgAQQIQqwsgAy0AAEH/AUcEQCADKQMAEPATIQIMCwsgBCABENUCIgINCiABQQE6ABBBgAQhAiAFIAAiBEcNAAsgASABKAIMQQFrIgI2AgwgASgCACEADAMLIAEtABAgASABKAIMQQFrIgI2AgwgASgCACEADQIMAwsgA0EoaiAAKAIAQaiyyABBARCrCyADLQAoIQAMBQtBoKvJAEEoQZCyyAAQrxQACyADQShqIAAoAgBBoLLIAEEBEKsLIAMtAChB/wFHDQIgAkEBaiECIAEoAgghBCABKAIEIQEDQCACQQFrIgJFDQEgAyAAKAIAIAEgBBCrCyADLQAAQf8BRg0ACyADIAMpAwAiCzcDKCALpwwBCyADQShqIAAoAgBBobLIAEEBEKsLIAMtACgLQQAhAkH/AXFB/wFGDQMLIAMpAygQ8BMhAgwCC0EAIQIgAEH/AXFB/wFGDQELIAMpAygQ8BMhAgsgA0EwaiQAIAIL1xABDH8jAEGAAWsiAyQAQQEhAgJAIAEoAgBBAUYEQCABKAIEIgYgASgCCE8NASABIAZBAWo2AgQLIAEoAowBIgIgASgCiAEiB0YEQCABKAIgIQogASgCLCEICyABKAIUIQYCQCABLQCQAUECRwRAIAYhBQwBCyAGIQUgAS0AkQFFDQAgASgCDCAGRgRAIAFBDGoQmhILIAEoAhAgBkEUbGoiAiAHNgIIIAJBADYCBCACQQA6AAAgASAGQQFqIgU2AhQgASgCjAEhAgsgAiAHRgRAIAEoAiwgASgCIGohCwsgASgCeCEMIAEoAlwhDQJAIAEoAgBBAUYEQCABKAIEIgIgASgCCE8EQEEBIQQMAgsgASACQQFqNgIECyADIAEoAogBNgJ4IAMgASkCgAE3A3AgA0HoAGogARDnAyADKAJsIQECfwJAIAMoAmhBAXENAAJAIAEtAJEBQQJHDQAgASgCAEEBRgRAIAEoAgQiAiABKAIIIgRPDQIgASACQQFqIgk2AgQgBCAJTQ0BIAEgAkECajYCBAsgAUEAOgCRASADQeAAaiABEJQKIAMoAmAgAygCZCIBQQI6AJEBQQFxDQADQCABKAIAQQFGBEAgASgCBCICIAEoAghPDQIgASACQQFqNgIECwJAIAEtAJEBIgRFBEAgA0HQAGogARCUCiADKAJUIQEgAygCUCECDAELIAFBADoAkQEgA0HYAGogARCUCiADKAJYIQIgAygCXCIBIAQ6AJEBCyACQQFHDQALCyABKAIAQQFGBEAgASgCBCICIAEoAggiBE8NASABIAJBAWoiCTYCBCAEIAlNDQEgASACQQJqNgIECyADQcgAaiABEJ4DIAMoAkwhAQJAIAMoAkhBAXENACABKAIAQQFGBEAgASgCBCICIAEoAghPDQEgASACQQFqNgIECyADQUBrIAEQ7QsgAygCRCEBIAMoAkBBAXENAANAIANBOGogARDtCyADKAI8IQEgAygCOEEBRw0ACwsCQCABLQCRAUECRw0AIAEoAgBBAUYEQCABKAIEIgIgASgCCCIETw0CIAEgAkEBaiIJNgIEIAQgCU0NASABIAJBAmo2AgQLIAFBADoAkQEgA0EwaiABEJQKIAMoAjAgAygCNCIBQQI6AJEBQQFxDQADQCABKAIAQQFGBEAgASgCBCICIAEoAghPDQIgASACQQFqNgIECwJAIAEtAJEBIgRFBEAgA0EgaiABEJQKIAMoAiQhASADKAIgIQIMAQsgAUEAOgCRASADQShqIAEQlAogAygCKCECIAMoAiwiASAEOgCRAQsgAkEBRw0ACwsCQCABKAIAQQFGBEAgASgCBCICIAEoAggiBE8NAiABIAJBAWoiCTYCBCAEIAlNDQEgASACQQJqNgIECyABLQCRASICQQFGBEAgARDWBSEBDAELIAFBAToAkQEgARDWBSIBIAI6AJEBCwJAIAEtAJEBQQJHDQAgASgCAEEBRgRAIAEoAgQiAiABKAIIIgRPDQIgASACQQFqIgk2AgQgBCAJTQ0BIAEgAkECajYCBAsgAUEAOgCRASADQRhqIAEQlAogAygCGCADKAIcIgFBAjoAkQFBAXENAANAIAEoAgBBAUYEQCABKAIEIgIgASgCCE8NAiABIAJBAWo2AgQLAkAgAS0AkQEiBEUEQCADQQhqIAEQlAogAygCDCEBIAMoAgghAgwBCyABQQA6AJEBIANBEGogARCUCiADKAIQIQIgAygCFCIBIAQ6AJEBCyACQQFxRQ0ACwsgAyABEK4LIAMoAgQhASADKAIADAELQQELIgRBAUcNACABIAMoAng2AogBIAEgAykDcDcCgAEgBSABKAIUSw0AIAEgBTYCFAtBASECIAEtAJABIQUCQAJAAkACQAJAAkACQCAEQQFGBEAgBUH/AXFBAUYNCCABLQCRAUUNAyABKAKMASICIAdHDQEgCyABKAIgIgIgASgCLCIFaiIHSSAHIAtrQQFGcQ0DIAIgCk8EQCABIAo2AiAgCiECCyAFIAhJDQIgASAINgIsDAILIAVB/wFxQQFGBH8gAS0AkQFFDQcCQCAHIAEoAowBIgJGBEAgCyABKAIsIgIgASgCICIFaiIHSSAHIAtrQQFGcQ0JIAUgCk8EQCABIAo2AiALIAIgCEkNASABIAg2AiwgCCECDAELIAIgB08NCCABIAc2AowBQQAhAiABQQA2AiwgAUEANgIgCyABKAIkIAJGBEAgAUEkahCjEgsgASgCKCACakETOgAAIAEgAkEBajYCLCABLQCQAQUgBQtB/wFxQQJHDQYgAS0AkQFFDQYgASgCFCICIAZNDQMgASgCECAGQRRsaiIFLQAADQQgBSACNgIEIAEoAogBIQggASgCFCIFIAEoAgxGBEAgAUEMahCaEgsgASgCECAFQRRsaiICIAg2AhAgAkEANgIIIAIgBjYCBCACQYEmOwEAIAEgBUEBajYCFAwGCyACIAdPDQEgASAHNgKMAUEAIQIgAUEANgIsIAFBADYCIAsgASgCGCACRgRAIAFBGGoQoxILIAEgAkEBajYCICABKAIcIAJqQRM6AAALQQEhAiABLQB8QQFHDQIgAS0AkQFFDQIgAUHUAGpBEyANQQAgASgCeCAMTRsQkwUMAgsgBiACQZyKyAAQhRMAC0Ggq8kAQShBrIrIABCvFAALIAEtAJABQQJHDQEgAS0AkQFFDQEgBiABKAIUSw0BIAEgBjYCFAwBC0EAIQIgAS0AfEUNACABLQCRAUUNACABQdQAakETIA1BACABKAJ4IAxNGxCTBQsgACABNgIEIAAgAjYCACADQYABaiQAC+EPAg9/A34jAEFAaiIFJAAgBUEIaiABEIkGAkACQAJAAkACQAJAAn8gBS0ALCICQQJHBEBBBCEJQQAgAkEBcQ0BGkEAIAUoAhwiByAFKAIgIgpGDQEaQQAgBSgCJCIOIAcoAlRHDQEaQQAgBSgCKCIIIAcoAlhHDQEaIAUoAhghAyAFKAIUIQJBEBCQASIJRQ0FIAkgAiADaiIGNgIAQQEhBCAFQQE2AjwgBSAJNgI4IAVBBDYCNEEEIAdB5ABqIApGDQEaIAdBvAFqIQNBBCECA0ACQCADQQRrKAIAIA5HDQAgAygCACAIRw0AIAUoAjQgBEYEQCAFQTRqIARBAUEEQQQQsxEgBSgCOCEJCyACIAlqIAQgBmo2AgAgBSAEQQFqIgQ2AjwgAkEEaiECIANBDGogA0HkAGohAyAKRw0BCwsgBSgCOCEJIAUoAjQMAQsgBSgCDCICIAUoAggiA2tBJG4hBCACIANGBEBBBCEJQQAhBEEADAELIARBAnQiAhCQASIJRQ0DIANBFGohAyAJIQIgBCEGA0AgA0EEaygCAA0CIAIgAygCADYCACADQSRqIQMgAkEEaiECIAZBAWsiBg0ACyAECyEQAkACQCABKAIAIgsoAkhFDQAgCygCQCIGIAEoAggiByABKAIEIgJB3cvdnnlsakHdy92eeWxBD3ciAXEhAyABQRl2rUKBgoSIkKDAgAF+IRIgCygCPCEBA0AgEiABIANqKQAAIhOFIhFCgYKEiJCgwIABfSARQn+Fg0KAgYKEiJCgwIB/gyIRQgBSBEADQCABIBF6p0EDdiADaiAGcUHofmxqIghBmAFrKAIAIAJGBEAgByAIQZQBaygCAEYNBQsgEUIBfSARgyIRQgBSDQALCyATIBNCAYaDQoCBgoSIkKDAgH+DQgBSDQEgDEEIaiIMIANqIAZxIQMMAAsAC0HUucQAQRZB3LvEABDAEwALIAhBOGsiASgCACECAn8gBARAQQAhByABQQAgAkECRxshDCAJIgJBBGoMAQsgAkECRg0FIAhBFGsoAgAiAUUNBSAIQRhrKAIAIgIgAUECdGohDSACQQRqIQdBACEMQQALIQMgAigCACECIAsgCygCACIBQQFqNgIAIAFBAEgNAUEAIQYCQCAJIARBAnRqIg4gA2tBAnZBACADGyIBQebMmTNPDQBBBCEKAkBBAyABIAFBA00bQQFqIgFBFGwiCARAIAEhBiAIEJABIgpFDQELIAogCzYCECAKIAI2AgQgCkEANgIAIAVBATYCECAFIAo2AgwgBSAGNgIIIARBAnQhBkEBIQQDQAJAAkAgA0UNACADIA5GDQAgAygCACEBIANBBGohAwwBCwJAIAdFDQAgByANRg0AA0AgByIBQQRqIQcgASgCACEBIAYhAyAJIQICQANAIANFDQEgA0EEayEDIAIoAgAhCCACQQRqIQIgASAIRw0ACyAHIA1GDQIMAQsLQQAhAwwBCwJAIAxFDQAgDCgCJCIBRQ0AIAwoAiAiAyABQQJ0aiENA0AgA0EEaiEHIAMoAgAhASAGIQMgCSECA0AgA0UEQEEAIQxBACEDDAQLIANBBGshAyACKAIAIQggAkEEaiECIAEgCEcNAAsgDSAHIgNHDQALCyAEQYuujwVPDQMgBSgCDCEBIAUoAgghDUEAIQYCQAJAAkACQCAEQcgBbCICRQRAQQghCEEAIQcMAQsgBCEHIAIQkAEiCEUNAQsgBEEUbEEUayIEQRRuIQMgASECAkAgBEEUTwRAIANBAWpBAXEgD0EUbkEBakH+////AXEhDiAIIQMDQCACKAIQIQQgAikCCCESIAIpAgAhESADQgI3AwAgA0EIaiARNwIAIANBEGogEjcCACADQRhqIAQ2AgAgAkEkaigCACEEIAJBHGopAgAhEiACQRRqKQIAIREgA0HIAWpCAjcDACADQdABaiARNwIAIANB2AFqIBI3AgAgA0HgAWogBDYCACACQShqIQIgA0GQA2ohAyAOIAZBAmoiBkcNAAtFDQELIAIoAhAhAyACKQIIIRIgAikCACERIAggBkHIAWxqIgJCAjcDACACIBE3AgggAiASNwIQIAIgAzYCGCAGQQFqIQYLIA1FDQwgAUEEaygCACICQXhxIQQgBCANQRRsIgNBBEEIIAJBA3EiAhtqSQ0BIAJBAEcgBCADQSdqS3ENAiABELwFDAwLQQgQpxQAC0HQnMkAQS5BgJ3JABCvFAALQZCdyQBBLkHAnckAEK8UAAsgCyALKAIAIgJBAWo2AgAgAkEASA0EIAUoAgggBEYEQCAFQQhqIAQgDiADa0ECdkEBakEBIAMbQQRBFBCzESAFKAIMIQoLIAogBEEUbGoiAiALNgIQIAIgATYCBCACQQA2AgAgBSAEQQFqIgQ2AhAgD0EUaiEPDAALAAtBBBCnFAALEJ4VAAtB2OvGAEEwQYjsxgAQwBMLAAtBBBCnFAALQQQQpxQAC0EIIQhBACEGQQAhBwsgACAGNgIIIAAgCDYCBCAAIAc2AgACQAJAIBAEQCAJQQRrKAIAIgBBeHEhAiACIBBBAnQiAUEEQQggAEEDcSIAG2pJDQEgAEEARyACIAFBJ2pLcQ0CIAkQvAULIAVBQGskAA8LQdCcyQBBLkGAnckAEK8UAAtBkJ3JAEEuQcCdyQAQrxQAC4kPAhN/An4jAEHQAmsiEiQAQoCAgICAgICAwAAgAa0iGIAhGSAYIBl+QoCAgICAgICAwABSrQJ/IAFBgSBPBEBBASABQQFyZ0EfcyIGQQFxIAZBAXZqIgZ0IAEgBnZqQQF2DAELQcAAIAEgAUEBdmsiBiAGQcAATxsLIRMgGXwhGSAAQTxrIRUgAEGAAWohFkEBIQkDQEEAIRRBASEFIAEgEUsiFwRAIBFBPGwiCyAAaiEMIBkgEUEBdAJ/AkAgASARayIIIBNJDQACQCAIQQJJBEAgCCEPDAELAkACQAJAIAxBQGsoAgAiBSAMQQRqKAIAIAxBxABqKAIAIgYgDEEIaigCACIHIAYgB0kbEI8TIg8gBiAHayAPG0EASCIQRQRAQQIhDyAIQQJGDQQgCyAWaiEHA0AgB0EEaygCACINIAUgBygCACIFIAYgBSAGSRsQjxMiDiAFIAZrIA4bQQBIDQMgB0E8aiEHIAUhBiANIQUgCCAPQQFqIg9HDQALDAELQQIhD0EBIQ4gCEECRg0CIAsgFmohBwNAIAdBBGsoAgAiDSAFIAcoAgAiBSAGIAUgBkkbEI8TIg4gBSAGayAOG0EATg0CIAdBPGohByAFIQYgDSEFIAggD0EBaiIPRw0ACwsgCCEPCyAPIBNJDQIgEEUNASAPQQF2Ig5FDQELIBUgD0E8bGohByAAIQYDQCAGIAtqIgxBCGoiBSkCACEYIAUgByALaiIQQQhqIgUpAgA3AgAgBSAYNwIAIBBBFGooAgAhDSAQQRBqIgUoAgAhCCAFIAxBEGoiBSkCADcCACAMKQIAIRggDCAQKQIANwIAIBAgGDcCACAFIAg2AgAgDEEUaiANNgIAIBBBGGoiBSgCACEIIAUgDEEYaiIFKAIANgIAIAUgCDYCACAQQRxqIgUoAgAhCCAFIAxBHGoiBSgCADYCACAFIAg2AgAgDEEgaiIFKAIAIQggBSAQQSBqIgUoAgA2AgAgBSAINgIAIAxBJGoiBSgCACEIIAUgEEEkaiIFKAIANgIAIAUgCDYCACAMQShqIgUoAgAhCCAFIBBBKGoiBSgCADYCACAFIAg2AgAgDEEsaiIFKAIAIQggBSAQQSxqIgUoAgA2AgAgBSAINgIAIAxBMGoiBSgCACEIIAUgEEEwaiIFKAIANgIAIAUgCDYCACAMQTRqIgUoAgAhCCAFIBBBNGoiBSgCADYCACAFIAg2AgAgDEE4aiIFKAIAIQggBSAQQThqIgUoAgA2AgAgBSAINgIAIAdBPGshByAGQTxqIQYgDkEBayIODQALCyAPQQF0QQFyDAELIAggEyAIIBNJG0EBdCAERQ0AGiAMQSAgCCAIQSBPGyIGIAIgA0EAQQAQngEgBkEBdEEBcgsiBUEBdmqtfiARIAlBAXZrrSARrXwgGX6FeachFAsCQAJAIApBAkkNACARQTxsIgYgFWohCCAAIAZqIRADQCAKQQFrIg8gEkGOAmpqLQAAIBRJDQECfwJAAkAgAyASQQRqIA9BAnRqKAIAIgZBAXYiDSAJQQF2IgdqIgxPIAYgCXJBAXFFcUUEQCAAIBEgDGtBPGxqIQogBkEBcUUNAQwCCyAMQQF0DAILIAogDSACIAMgDUEBcmdBAXRBPnNBABCeAQsgCUEBcUUEQCAKIA1BPGxqIAcgAiADIAdBAXJnQQF0QT5zQQAQngELAkAgB0UNACANRQ0AIAcgDSAHIA1JIgcbIgkgA0sNACAKIA1BPGxqIQYgCUE8bCIJBEAgAiAGIAogBxsgCfwKAAALIAIgCWohCwJAIAdFBEAgAiEHA0AgCiAHIAYgBkEEaigCACAHQQRqKAIAIAZBCGooAgAiDiAHQQhqKAIAIg0gDSAOSxsQjxMiCSAOIA1rIAkbIg1BAE4iCRsiDigCODYCOCAKIA4pAjA3AjAgCiAOKQIoNwIoIAogDikCIDcCICAKIA4pAhg3AhggCiAOKQIQNwIQIAogDikCCDcCCCAKIA4pAgA3AgAgCkE8aiEKIAcgCUE8bGoiByALRg0CIBAgBiANQR92QTxsaiIGRw0ACwwBCyAIIQkDQAJAIAkgC0E8ayIOIAZBPGsiDSALQThrKAIAIAZBOGsoAgAgC0E0aygCACILIAZBNGsoAgAiByAHIAtLGxCPEyIGIAsgB2sgBhsiB0EATiIGGyILKAI4NgI4IAkgCykCMDcCMCAJIAspAig3AiggCSALKQIgNwIgIAkgCykCGDcCGCAJIAspAhA3AhAgCSALKQIINwIIIAkgCykCADcCACAOIAdBH3ZBPGxqIQsgDSAGQTxsaiIGIApGDQAgCUE8ayEJIAIgC0cNAQsLIAYhCiACIQcLIAsgB2siBkUNACAKIAcgBvwKAAALIAxBAXRBAXILIQlBASEGIA8iCkEBSw0ACwwBCyAKIQYLIBJBjgJqIAZqIBQ6AAAgEkEEaiAGQQJ0aiAJNgIAIBcEQCAGQQFqIQogBUEBdiARaiERIAUhCQwBCwsgCUEBcUUEQCAAIAEgAiADIAFBAXJnQQF0QT5zQQAQngELIBJB0AJqJAAL7RMBDH8jAEEwayICJAACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAIAEtAABBAWsOEQECAwQFBgcICQoLDA0ODxAUAAsCQCABKAIIQX9GBEAgASgCHCIDKAIAIQQgAyAEQQFqNgIAIARBAEgNEiACIAM2AhQgAkF/NgIAIAIgASkCFDcCDCACIAEpAgw3AgQMAQsgAiABQQhqEJADCyAAIAIpAxg3AyAgACACKQMQNwMYIAAgAikDCDcDECAAIAIpAwA3AwggAEEAOgAADBQLAkAgASgCCEF/RgRAIAEoAhwiAygCACEEIAMgBEEBajYCACAEQQBIDREgAiADNgIUIAJBfzYCACACIAEpAhQ3AgwgAiABKQIMNwIEDAELIAIgAUEIahCQAwsgACACKQMYNwMgIAAgAikDEDcDGCAAIAIpAwg3AxAgACACKQMANwMIIABBAToAAAwTCwJAIAEoAghBf0YEQCABKAIcIgMoAgAhBCADIARBAWo2AgAgBEEASA0QIAIgAzYCFCACQX82AgAgAiABKQIUNwIMIAIgASkCDDcCBAwBCyACIAFBCGoQkAMLIAAgAikDGDcDICAAIAIpAxA3AxggACACKQMINwMQIAAgAikDADcDCCAAQQI6AAAMEgsCQCABKAIIQX9GBEAgASgCHCIDKAIAIQQgAyAEQQFqNgIAIARBAEgNDyACIAM2AhQgAkF/NgIAIAIgASkCFDcCDCACIAEpAgw3AgQMAQsgAiABQQhqEJADCyAAIAIpAxg3AyAgACACKQMQNwMYIAAgAikDCDcDECAAIAIpAwA3AwggAEEDOgAADBELAkAgASgCCEF/RgRAIAEoAhwiAygCACEEIAMgBEEBajYCACAEQQBIDQ4gAiADNgIUIAJBfzYCACACIAEpAhQ3AgwgAiABKQIMNwIEDAELIAIgAUEIahCQAwsgACACKQMYNwMgIAAgAikDEDcDGCAAIAIpAwg3AxAgACACKQMANwMIIABBBDoAAAwQCwJAIAEoAghBf0YEQCABKAIcIgMoAgAhBCADIARBAWo2AgAgBEEASA0NIAIgAzYCFCACQX82AgAgAiABKQIUNwIMIAIgASkCDDcCBAwBCyACIAFBCGoQkAMLIAAgAikDGDcDICAAIAIpAxA3AxggACACKQMINwMQIAAgAikDADcDCCAAQQU6AAAMDwsCQCABKAIIQX9GBEAgASgCHCIDKAIAIQQgAyAEQQFqNgIAIARBAEgNDCACIAM2AhQgAkF/NgIAIAIgASkCFDcCDCACIAEpAgw3AgQMAQsgAiABQQhqEJADCyAAIAIpAxg3AyAgACACKQMQNwMYIAAgAikDCDcDECAAIAIpAwA3AwggAEEGOgAADA4LAkAgASgCCEF/RgRAIAEoAhwiAygCACEEIAMgBEEBajYCACAEQQBIDQsgAiADNgIUIAJBfzYCACACIAEpAhQ3AgwgAiABKQIMNwIEDAELIAIgAUEIahCQAwsgACACKQMYNwMgIAAgAikDEDcDGCAAIAIpAwg3AxAgACACKQMANwMIIABBBzoAAAwNCwJAIAEoAghBf0YEQCABKAIcIgMoAgAhBCADIARBAWo2AgAgBEEASA0KIAIgAzYCFCACQX82AgAgAiABKQIUNwIMIAIgASkCDDcCBAwBCyACIAFBCGoQkAMLIAAgAikDGDcDICAAIAIpAxA3AxggACACKQMINwMQIAAgAikDADcDCCAAQQg6AAAMDAsCQCABKAIIQX9GBEAgASgCHCIDKAIAIQQgAyAEQQFqNgIAIARBAEgNCSACIAM2AhQgAkF/NgIAIAIgASkCFDcCDCACIAEpAgw3AgQMAQsgAiABQQhqEJADCyAAIAIpAxg3AyAgACACKQMQNwMYIAAgAikDCDcDECAAIAIpAwA3AwggAEEJOgAADAsLAkAgASgCCEF/RgRAIAEoAhwiAygCACEEIAMgBEEBajYCACAEQQBIDQggAiADNgIUIAJBfzYCACACIAEpAhQ3AgwgAiABKQIMNwIEDAELIAIgAUEIahCQAwsgACACKQMYNwMgIAAgAikDEDcDGCAAIAIpAwg3AxAgACACKQMANwMIIABBCjoAAAwKCwJAIAEoAghBf0YEQCABKAIcIgMoAgAhBCADIARBAWo2AgAgBEEASA0HIAIgAzYCFCACQX82AgAgAiABKQIUNwIMIAIgASkCDDcCBAwBCyACIAFBCGoQkAMLIAAgAikDGDcDICAAIAIpAxA3AxggACACKQMINwMQIAAgAikDADcDCCAAQQs6AAAMCQsgAEEEaiABQQRqEPwKIABBDDoAAAwICyAAQQRqIAFBBGoQ/AogAEENOgAADAcLQTAQkAEiDEUNByAMIAEoAhQQ2QICQAJAAkAgASgCBCIDDgMBAAIACyACQSRqIQggASgCDCEGAkACQAJAAkAgASgCECIDRQRAQQQhCQwBCyADQQxsIg0QkAEiCUUNASADIQQDQCAKIA1GDQECQCAGQQhqKAIAIgVFBEBBASELDAELIAZBBGooAgAhByAFEJABIgtFDQQgBUUNACALIAcgBfwKAAALIAZBDGohBiAJIApqIgcgBTYCACAHQQhqIAU2AgAgB0EEaiALNgIAIApBDGohCiAEQQFrIgQNAAsLIAggAzYCCCAIIAk2AgQgCCADNgIADAILQQQQpxQAC0EBEKcUAAtBASEDDAELIAJBJGogASgCDCABKAIQEJQTQQAhAwsgACADNgIEIAAgAikCJDcCCCAAIAIoAiw2AhAgACAMNgIUIABBDjoAACAAIAEtABg6ABgMBgsCQCABKAIQQX9GBEAgASgCJCIDKAIAIQQgAyAEQQFqNgIAIARBAEgNAyACIAM2AhQgAkF/NgIAIAIgASkCHDcCDCACIAEpAhQ3AgQMAQsgAiABQRBqEJADCyAAQQRqIAEoAgggASgCDBCIDCAAQQ86AAAgACACKQMYNwMoIAAgAikDEDcDICAAIAIpAwg3AxggACACKQMANwMQDAULIAEoAhBBf0cNASABKAIkIgMoAgAhBCADIARBAWo2AgAgBEEASA0AIAIgAzYCFCACQX82AgAgAiABKQIcNwIMIAIgASkCFDcCBAwCCwALIAIgAUEQahCQAwsgAEEEaiABKAIIIAEoAgwQiAwgAEEQOgAAIAAgAikDGDcDKCAAIAIpAxA3AyAgACACKQMINwMYIAAgAikDADcDEAwBCyAAIAEpAyg3AyggACABKQMgNwMgIAAgASkDGDcDGCAAIAEpAxA3AxAgACABKQMINwMIIAAgASkDADcDAAsgAkEwaiQADwtBuPDJAEEBOgAAAAv8DwIIfwJ+IwBBEGsiAiQAIAJBAiAAKQMAIgqnIgZBAmsgCkIBWBsiAzYCCCABIAJBCGpBBBCWCAJAAkACQAJAAkAgA0EBaw4DAQIDAAsgAiAAKAIIIgU2AgggASACQQhqIgNBBBCWCCAAKAIMIQQgBUEBRgRAIAAoAhAhBSACIAQ2AgggASADQQQQlgggAiAFNgIIIAEgA0EEEJYIIAIgACgCFDYCCCABIANBBBCWCAwECyACIAQ2AgggASACQQhqQQQQlggMAwsgAiAAKAIIIgU2AgggASACQQhqIgNBBBCWCCAAKAIMIQQCQCAFQQFGBEAgACgCECEFIAIgBDYCCCABIANBBBCWCCACIAU2AgggASADQQQQlgggAiAAKAIUNgIIIAEgA0EEEJYIDAELIAIgBDYCCCABIAJBCGpBBBCWCAsgACgCICEDIAIgACgCJCIANgIIIAEgAkEIakEEEJYIIABFDQIgAEHIAWwhBANAIAMgARDaAiADQcgBaiEDIARByAFrIgQNAAsMAgsgAiAAKAKsATYCCCABIAJBCGoiBEEEEJYIIAIgACgCmAE2AgggASAEQQQQlgggAiAAKAKcATYCCCABIARBBBCWCCACIAAoAnwiA0F/RzYCCCABIARBBBCWCAJAIANBf0YNACAAKAKAASEDIAIgACgChAEiBTYCCCABIARBBBCWCCAFRQ0AIAMgBUHoAWxqIQQDQCADIAEQ2gIgA0HIAWogARC7AiAEIANB6AFqIgNHDQALCyACIAApAxAiCz4CCCABIAJBCGoiA0EEEJYIIAtCA1EEQCACIAApAxg3AwggASADQQgQlggLIAIgBjYCCCABIAJBCGoiA0EEEJYIIApCAVEEQCACIAApAwg3AwggASADQQgQlggLIAIgAC0AICIDQf8BRzYCCCABIAJBCGpBBBCWCCADQf8BRwRAIABBIGogARCiBQsgACgCdCEEIAIgACgCeCIDNgIIIAEgAkEIakEEEJYIIAMEQCAEIANBBnRqIQgDQCACQQMgBCgCACIDQRtrIANBGk0bIgM2AgggASACQQhqQQQQlggCQAJAAkACQAJAIANBAWsOAwECAwALIAIgBCgCBCIGNgIIIAEgAkEIaiIDQQQQlgggBCgCCCEFAkAgBkEBRgRAIAQoAgwhBiACIAU2AgggASADQQQQlgggAiAGNgIIIAEgA0EEEJYIIAIgBCgCEDYCCCABIANBBBCWCAwBCyACIAU2AgggASACQQhqQQQQlggLIAQoAhwgAiAEKAIgIgY2AgggASACQQhqIgNBBBCWCCAGIAEQiA8gAiAELQAkNgIIIAEgA0EEEJYIIAIgBC0AJSIFQQJHNgIIIAEgA0EEEJYIIAVBAkYNAyACIAU2AgggASADQQQQlggMAwsgAiAEKAIEIgY2AgggASACQQhqIgNBBBCWCCAEKAIIIQUCQCAGQQFGBEAgBCgCDCEGIAIgBTYCCCABIANBBBCWCCACIAY2AgggASADQQQQlgggAiAEKAIQNgIIIAEgA0EEEJYIDAELIAIgBTYCCCABIAJBCGpBBBCWCAsgAiAELQAYNgIIIAEgAkEIaiIDQQQQlgggAiAELQAZNgIIIAEgA0EEEJYIDAILIAQoAgggAiAEKAIMIgY2AgggASACQQhqIgNBBBCWCCAGIAEQiA8gAiAELQAQNgIIIAEgA0EEEJYIIAIgBC0AETYCCCABIANBBBCWCAwBCyAEKAIkIQMgAiAEKAIoIgU2AgggASACQQhqQQQQlgggBQRAIAMgBUEUbGohCQNAIAIgAygCACIHNgIIIAEgAkEIaiIFQQQQlgggA0EEaigCACEGAkAgB0EBRgRAIANBCGooAgAhByACIAY2AgggASAFQQQQlgggAiAHNgIIIAEgBUEEEJYIIAIgA0EMaigCADYCCCABIAVBBBCWCAwBCyACIAY2AgggASACQQhqQQQQlggLIAkgA0EUaiIDRw0ACwsgAiAELQA4NgIIIAEgAkEIaiIDQQQQlgggBCABELsCIAQoAjAgAiAEKAI0IgY2AgggASADQQQQlgggBiABEIgPCyAIIARBQGsiBEcNAAsLIAIgACgCiAEiA0F/RzYCCCABIAJBCGoiBUEEEJYIAkAgA0F/Rg0AIAAoAowBIQMgAiAAKAKQASIENgIIIAEgBUEEEJYIIARFDQAgBEHIAWwhBANAIAMgARDaAiADQcgBaiEDIARByAFrIgQNAAsLIAIgAC0AoAE6AAggASACQQhqIgNBARCWCCACIAAtAKEBOgAIIAEgA0EBEJYIIAIgAC0AogEiBEECRzYCCCABIANBBBCWCCAEQQJHBEAgAiAENgIIIAEgA0EEEJYICyAAKAK0ASEFIAIgACgCuAEiAzYCCCABIAJBCGpBBBCWCCADBEAgA0EMbCEEIAVBCGohAwNAIAEgA0EEaygCACADKAIAEJYIIAJB/wE6AAggASACQQhqQQEQlgggA0EMaiEDIARBDGsiBA0ACwsgACgCwAEhAyACIAAoAsQBIgA2AgggASACQQhqQQQQlgggAEUNASAAQcgBbCEEA0AgAyABENoCIANByAFqIQMgBEHIAWsiBA0ACwwBCyACIAAoAlw2AgggASACQQhqIgNBBBCWCCACIAAtAAhB/wFHIgQ2AgggASADQQQQlgggBEUNACAAQQhqIAEQogULIAJBEGokAAuwEAEMfyMAQYABayIDJABBASECAkAgASgCAEEBRgRAIAEoAgQiBiABKAIITw0BIAEgBkEBajYCBAsgASgCjAEiAiABKAKIASIHRgRAIAEoAiAhCiABKAIsIQkLIAEoAhQhBgJAIAEtAJABQQJHBEAgBiEFDAELIAYhBSABLQCRAUUNACABKAIMIAZGBEAgAUEMahCaEgsgASgCECAGQRRsaiICIAc2AgggAkEANgIEIAJBADoAACABIAZBAWoiBTYCFCABKAKMASECCyACIAdGBEAgASgCLCABKAIgaiELCyABKAJ4IQwgASgCXCENAkACQAJAAkACQAJAAkACQAJAAkACQCABKAIAQQFGBEAgASgCBCICIAEoAghPDQEgASACQQFqNgIECyADIAEoAogBIgI2AmggAyABKQKAATcDYAJAIAJBfUsNACACQQJqIgggASgChAFLDQAgAUGAAWooAgAgAmovAABBwIABRw0AIAEgCDYCiAFBASEECyABLQB8QQFGBEBBAhCQASIIRQ0HIAhBwIABOwAAIANBAjYCfCADIAg2AnggA0KAgICAIDcCcCABIAIgA0HwAGogBBD5CAsCQCAERQ0AAkAgAS0AkQFBAkcNACABKAIAQQFGBEAgASgCBCICIAEoAggiBE8NAiABIAJBAWoiCDYCBCAEIAhNDQEgASACQQJqNgIECyABQQA6AJEBIANB2ABqIAEQlAogAygCWCADKAJcIgFBAjoAkQFBAXENAANAIAEoAgBBAUYEQCABKAIEIgIgASgCCE8NAiABIAJBAWo2AgQLAkAgAS0AkQEiBEUEQCADQcgAaiABEJQKIAMoAkwhASADKAJIIQIMAQsgAUEAOgCRASADQdAAaiABEJQKIAMoAlAhAiADKAJUIgEgBDoAkQELIAJBAUcNAAsLIANBQGsgARDpAyADKAJEIQEgAygCQEEBcQ0AAkAgAS0AkQFBAkcNACABKAIAQQFGBEAgASgCBCICIAEoAggiBE8NAiABIAJBAWoiCDYCBCAEIAhNDQEgASACQQJqNgIECyABQQA6AJEBIANBOGogARCUCiADKAI4IAMoAjwiAUECOgCRAUEBcQ0AA0AgASgCAEEBRgRAIAEoAgQiAiABKAIITw0CIAEgAkEBajYCBAsCQCABLQCRASIERQRAIANBKGogARCUCiADKAIsIQEgAygCKCECDAELIAFBADoAkQEgA0EwaiABEJQKIAMoAjAhAiADKAI0IgEgBDoAkQELIAJBAUcNAAsLIAEoAgBBAUYEQCABKAIEIgIgASgCCE8NASABIAJBAWo2AgQLIANBIGogARBpAkAgAygCJCIBLQCRAUECRw0AIAEoAgBBAUYEQCABKAIEIgIgASgCCCIETw0CIAEgAkEBaiIINgIEIAQgCE0NASABIAJBAmo2AgQLIAFBADoAkQEgA0EYaiABEJQKIAMoAhggAygCHCIBQQI6AJEBQQFxDQADQCABKAIAQQFGBEAgASgCBCICIAEoAghPDQIgASACQQFqNgIECwJAIAEtAJEBIgRFBEAgA0EIaiABEJQKIAMoAgwhASADKAIIIQIMAQsgAUEAOgCRASADQRBqIAEQlAogAygCECECIAMoAhQiASAEOgCRAQsgAkEBRw0ACwsgASgCAEEBRgRAIAEoAgQiAiABKAIIIgRPDQEgASACQQFqIgU2AgQgBCAFTQ0EIAEgAkECajYCBAsgAS0AkQEiAkEBRw0CIAEQ1gUhAQwDCyABIAMoAmg2AogBIAEgAykDYDcCgAEgBSABKAIUSw0AIAEgBTYCFAtBASECIAEtAJABQQFGDQogAS0AkQFFDQQgASgCjAEiAiAHRw0CIAsgASgCICICIAEoAiwiBWoiB0kgByALa0EBRnENBCACIApPBEAgASAKNgIgIAohAgsgBSAJSQ0DIAEgCTYCLAwDCyABQQE6AJEBIAEQ1gUiASACOgCRAQsgAS0AkAEiAkEBRgR/IAEtAJEBRQ0IAkAgByABKAKMASICRgRAIAsgASgCLCICIAEoAiAiBWoiB0kgByALa0EBRnENCiAFIApPBEAgASAKNgIgCyACIAlJDQEgASAJNgIsIAkhAgwBCyACIAdPDQkgASAHNgKMAUEAIQIgAUEANgIsIAFBADYCIAsgASgCJCACRgRAIAFBJGoQoxILIAEoAiggAmpBFToAACABIAJBAWo2AiwgAS0AkAEFIAILQf8BcUECRw0HIAEtAJEBRQ0HIAEoAhQiAiAGTQ0EIAEoAhAgBkEUbGoiBS0AAA0FIAUgAjYCBCABKAKIASEJIAEoAhQiBSABKAIMRgRAIAFBDGoQmhILIAEoAhAgBUEUbGoiAiAJNgIQIAJBADYCCCACIAY2AgQgAkGBKjsBACABIAVBAWo2AhQMBwsgAiAHTw0BIAEgBzYCjAFBACECIAFBADYCLCABQQA2AiALIAEoAhggAkYEQCABQRhqEKMSCyABIAJBAWo2AiAgASgCHCACakEVOgAAC0EBIQIgAS0AfEEBRw0DIAEtAJEBRQ0DIAFB1ABqQRUgDUEAIAEoAnggDE0bEJMFDAMLQQEQpxQACyAGIAJBnIrIABCFEwALQaCryQBBKEGsisgAEK8UAAsgAS0AkAFBAkcNASABLQCRAUUNASAGIAEoAhRLDQEgASAGNgIUDAELQQAhAiABLQB8RQ0AIAEtAJEBRQ0AIAFB1ABqQRUgDUEAIAEoAnggDE0bEJMFCyAAIAE2AgQgACACNgIAIANBgAFqJAALohACCX8CfiMAQbACayICJAACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAQQIgASgCECIGQYCAgIB4cyAGQQBOG0EBaw4DAQIDAAsgASgCCCIGQZPJpBJPDQUgASgCBCEEIAEoAgAhCQJAIAZFBEBBACEGQQghCAwBCyAGQThsIgEQkAEiCEUNByAGQTBsIQUgBkEEdEEQa0EEdkEBaiEHIAghASAEIQMDQCACIAMpAyg3A9gBIAIgAykDIDcD0AEgAiADKQMYNwPIASACIAMpAxA3A8ABIAIgAykDCDcDuAEgAiADKQMANwOwASACQegBaiACQbABahDcAiABIAIpA5gCNwMwIAEgAikDkAI3AyggASACKQOIAjcDICABIAIpA4ACNwMYIAEgAikD+AE3AxAgASACKQPwATcDCCABIAIpA+gBNwMAIAFBOGohASADQTBqIQMgBUEwayIFDQALCyAJBEAgBEEEaygCACIDQXhxIQEgASAJQTBsIgVBBEEIIANBA3EiAxtySQ0MIANBAEcgASAFQSdqS3ENDSAEELwFC0ECEJABIgENA0EBEKcUAAsgASgCCCIGQZPJpBJPDQQgASgCBCEEIAEoAgAhCQJAIAZFBEBBACEGQQghCAwBCyAGQThsIgEQkAEiCEUNByAGQTBsIQUgBkEEdEEQa0EEdkEBaiEHIAghASAEIQMDQCACIAMpAyg3A9gBIAIgAykDIDcD0AEgAiADKQMYNwPIASACIAMpAxA3A8ABIAIgAykDCDcDuAEgAiADKQMANwOwASACQegBaiACQbABahDcAiABIAIpA5gCNwMwIAEgAikDkAI3AyggASACKQOIAjcDICABIAIpA4ACNwMYIAEgAikD+AE3AxAgASACKQPwATcDCCABIAIpA+gBNwMAIAFBOGohASADQTBqIQMgBUEwayIFDQALCyAJBEAgBEEEaygCACIDQXhxIQEgASAJQTBsIgVBBEEIIANBA3EiAxtySQ0LIANBAEcgASAFQSdqS3ENDCAEELwFC0EDEJABIgENA0EBEKcUAAsgASgCICEDIAEoAhwhByABKAIYIQQgASgCFCEIIAICfkHQ8MkALQAABEBByPDJACkDACEMQcDwyQApAwAMAQsgAkHoAWoQuxFB0PDJAEEBOgAAQcjwyQAgAikD8AEiDDcDACACKQPoAQsiCzcDAEHA8MkAIAtCAXw3AwAgAkEANgIYIAJCgICAgIABNwMQIAIgDDcDCCACQZCpyQApAwA3AhwgAkGYqckAKQMANwIkAkAgA0UNACADIANBAnRBC2pBeHEiA2pBCWoiAUUNACAHIANrIgdBBGsoAgAiBUF4cSEDIANBBEEIIAVBA3EiBRsgAWpJDQogBUEARyADIAFBJ2pLcQ0LIAcQvAULIAggBEHIAGxqIQcgCCEBIARFDQYgAkHoAWoiBEEIaiEDIAJBuAFqIQkgBEEUaiEEA0ACQCABKAIAIgpBf0cEQCACIAFBNGooAgA2AnAgAiABQSxqKQIANwNoIAIgAUEkaikCADcDYCACIAFBHGopAgA3A1ggAiABQRRqKQIANwNQIAIgAUEMaikCADcDSCACIAFBBGopAgA3A0AgAiABQUBrKAIANgI4IAIgAUE4aikCADcDMEEGEJABIgUNAUEBEKcUAAsgAUHIAGohAQwICyAEIAIpA0A3AgAgBCACKQNINwIIIAQgAikDUDcCECAEIAIpA1g3AhggBCACKQNgNwIgIAQgAikDaDcCKCAEIAIoAnA2AjAgBUGF8ccALwAAOwAEIAVBgfHHACgAADYAACACIAo2AvgBIAJBBjYC8AEgAiAFNgLsASACQQY2AugBIAkgAkHoAWoiBRD2DCACQQE2ArABIAUgAiACQTBqIAJBsAFqEI8FIAIgAykDMDcDqAEgAiADKQMoNwOgASACIAMpAyA3A5gBIAIgAykDGDcDkAEgAiADKQMQNwOIASACIAMpAwg3A4ABIAIgAykDACILNwN4IAunQX9HBEAgAkH4AGoQ8AULIAcgAUHIAGoiAUcNAAsMBwsgAEEANgIAIABBFTYCCAwHCyABQc+kATsAACACIAc2AoQCIAIgCDYCgAIgAiAGNgL8ASACQQI2AvgBIAJBAjYC8AEgAiABNgLsASACQQI2AugBIABBCGogAkHoAWoQ9gwgAEEBNgIADAYLIAFBifHHAC0AADoAAiABQYfxxwAvAAA7AAAgAiAHNgKEAiACIAg2AoACIAIgBjYC/AEgAkECNgL4ASACQQM2AvABIAIgATYC7AEgAkEDNgLoASAAQQhqIAJB6AFqEPYMIABBATYCAAwFCxCeFQALQQgQpxQAC0EIEKcUAAsgByABa0HIAG4hAyABIAdGDQADQCABQThqKAIAIgQEQCABQTxqKAIAIgVBBGsoAgAiCUF4cSEHIAdBBEEIIAlBA3EiCRsgBGpJDQQgCUEARyAHIARBJ2pLcQ0FIAUQvAULIAEQ8AUgAUHIAGohASADQQFrIgMNAAsLIAYEQCAIQQRrKAIAIgNBeHEhASABIAZByABsIgRBBEEIIANBA3EiAxtqSQ0CIANBAEcgASAEQSdqS3ENAyAIELwFCyAAIAIpAyg3AzAgACACKQMgNwMoIAAgAikDGDcDICAAIAIpAxA3AxggACACKQMINwMQIAAgAikDADcDCCAAQQE2AgALIAJBsAJqJAAPC0HQnMkAQS5BgJ3JABCvFAALQZCdyQBBLkHAnckAEK8UAAuoEAEMfyMAQYABayIDJABBASECAkAgASgCAEEBRgRAIAEoAgQiBiABKAIITw0BIAEgBkEBajYCBAsgASgCjAEiAiABKAKIASIHRgRAIAEoAiAhCiABKAIsIQgLIAEoAhQhBgJAIAEtAJABQQJHBEAgBiEFDAELIAYhBSABLQCRAUUNACABKAIMIAZGBEAgAUEMahCaEgsgASgCECAGQRRsaiICIAc2AgggAkEANgIEIAJBADoAACABIAZBAWoiBTYCFCABKAKMASECCyACIAdGBEAgASgCLCABKAIgaiELCyABKAJ4IQwgASgCXCENAkACQAJAAkACQAJAAkACQAJAAkACQCABKAIAQQFGBEAgASgCBCICIAEoAghPDQEgASACQQFqNgIECyADIAEoAogBNgJoIAMgASkCgAE3A2AgA0HYAGogARDnAyADKAJcIQECQCADKAJYQQFxDQACQCABLQCRAUECRw0AIAEoAgBBAUYEQCABKAIEIgIgASgCCCIETw0CIAEgAkEBaiIJNgIEIAQgCU0NASABIAJBAmo2AgQLIAFBADoAkQEgA0HQAGogARCUCiADKAJQIAMoAlQiAUECOgCRAUEBcQ0AA0AgASgCAEEBRgRAIAEoAgQiAiABKAIITw0CIAEgAkEBajYCBAsCQCABLQCRASIERQRAIANBQGsgARCUCiADKAJEIQEgAygCQCECDAELIAFBADoAkQEgA0HIAGogARCUCiADKAJIIQIgAygCTCIBIAQ6AJEBCyACQQFHDQALC0EAIQICQCABKAKIASIEIAEoAoQBTw0AIAEoAoABIARqLQAAQT1HDQAgASAEQQFqNgKIAUEBIQILIAEtAHxBAUYEQEEBEJABIglFDQggCUE9OgAAIANBATYCfCADIAk2AnggA0KAgICAEDcCcCABIAQgA0HwAGogAhD5CAsgAkUNAAJAIAEtAJEBQQJHDQAgASgCAEEBRgRAIAEoAgQiAiABKAIIIgRPDQIgASACQQFqIgk2AgQgBCAJTQ0BIAEgAkECajYCBAsgAUEAOgCRASADQThqIAEQlAogAygCOCADKAI8IgFBAjoAkQFBAXENAANAIAEoAgBBAUYEQCABKAIEIgIgASgCCE8NAiABIAJBAWo2AgQLAkAgAS0AkQEiBEUEQCADQShqIAEQlAogAygCLCEBIAMoAighAgwBCyABQQA6AJEBIANBMGogARCUCiADKAIwIQIgAygCNCIBIAQ6AJEBCyACQQFHDQALCyABKAIAQQFGBEAgASgCBCICIAEoAghPDQEgASACQQFqNgIECyADQSBqIAEQQAJAIAMoAiQiAS0AkQFBAkcNACABKAIAQQFGBEAgASgCBCICIAEoAggiBE8NAiABIAJBAWoiCTYCBCAEIAlNDQEgASACQQJqNgIECyABQQA6AJEBIANB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lgggAiAAKAKcATYCCCABIAVBBBCWCCACIAAoAnwiA0F/RzYCCCABIAVBBBCWCAJAIANBf0YNACAAKAKAASEDIAIgACgChAEiBDYCCCABIAVBBBCWCCAERQ0AIAMgBEHoAWxqIQUDQCADIAEQ5wIgA0HIAWogARC6AiAFIANB6AFqIgNHDQALCyACIAApAxAiCz4CCCABIAJBCGoiA0EEEJYIIAtCA1EEQCACIAApAxg3AwggASADQQgQlggLIAIgBjYCCCABIAJBCGoiA0EEEJYIIApCAVEEQCACIAApAwg3AwggASADQQgQlggLIAIgAC0AICIDQf8BRzYCCCABIAJBCGpBBBCWCCADQf8BRwRAIABBIGogARChBQsgACgCdCEIIAIgACgCeCIDNgIIIAEgAkEIakEEEJYIIAMEQCADQQZ0IQlBACEFA0AgAkEDIAUgCGoiAygCACIEQRtrIARBGk0bIgQ2AgggASACQQhqQQQQlggCQAJAAkACQAJAIARBAWsOAwECAwALIAIgA0EEaigCACIHNgIIIAEgAkEIaiIEQQQQlgggA0EIaigCACEGAkAgB0EBRgRAIANBDGooAgAhByACIAY2AgggASAEQQQQlgggAiAHNgIIIAEgBEEEEJYIIAIgA0EQaigCADYCCCABIARBBBCWCAwBCyACIAY2AgggASACQQhqQQQQlggLIANBHGooAgAgAiADQSBqKAIAIgc2AgggASACQQhqIgRBBBCWCCAHIAEQiA8gAiADQSRqLQAANgIIIAEgBEEEEJYIIAIgA0Elai0AACIDQQJHNgIIIAEgBEEEEJYIIANBAkYNAyACIAM2AgggASAEQQQQlggMAwsgAiADQQRqKAIAIgc2AgggASACQQhqIgRBBBCWCCADQQhqKAIAIQYCQCAHQQFGBEAgA0EMaigCACEHIAIgBjYCCCABIARBBBCWCCACIAc2AgggASAEQQQQlgggAiADQRBqKAIANgIIIAEgBEEEEJYIDAELIAIgBjYCCCABIAJBCGpBBBCWCAsgAiADQRhqLQAANgIIIAEgAkEIaiIEQQQQlgggAiADQRlqLQAANgIIIAEgBEEEEJYIDAILIANBCGooAgAgAiADQQxqKAIAIgc2AgggASACQQhqIgRBBBCWCCAHIAEQiA8gAiADQRBqLQAANgIIIAEgBEEE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AWohBSAGQRRrIgYNAAsMCAsgBkEUayICQRRuQQFqIgNBA3EhBkEAIQUgCSEBIAJBPE8EQCADQfz///8BcSEDQQAhBANAIAEpAgAhDiABKQIIIQ8gBCAIaiICIAEoAhA2AhAgAiAPNwIIIAIgDjcCACACQRRqQX82AgAgAUEUaikCACEOIAFBHGopAgAhDyACQTBqIAFBJGooAgA2AgAgAkEoaiAPNwIAIAJBIGogDjcCACACQTRqQX82AgAgAUEoaikCACEOIAFBMGopAgAhDyACQdAAaiABQThqKAIANgIAIAJByABqIA83AgAgAkFAayAONwIAIAJB1ABqQX82AgAgAUE8aikCACEOIAFBxABqKQIAIQ8gAkHwAGogAUHMAGooAgA2AgAgAkHoAGogDzcCACACQeAAaiAONwIAIAJB9ABqQX82AgAgAUHQAGohASAEQYABaiEEIAMgBUEEaiIFRw0ACyAGRQ0ICyAFIAZqIAZBBXQhBCAIIAVBBXRqIQIDQCABKQIAIQ4gASkCCCEPIAIgASgCEDYCECACIA83AgggAiAONwIAIAJBFGpBfzYCACACQSBqIQIgAUEUaiEBIARBIGsiBA0ACyEFDAcLIAUNACAGQRRrIgJBFG5BAWoiA0EDcSEGQQAhBSAJIQEgAkE8TwRAIANB/P///wFxIQNBACEEA0AgASkCACEOIAEpAgghDyAEIAhqIgIgASgCEDYCECACIA83AgggAiAONwIAIAJBFGpBfzYCACABQRRqKQIAIQ4gAUEcaikCACEPIAJBMGogAUEkaigCADYCACACQShqIA83AgAgAkEgaiAONwIAIAJBNGpBfzYCACABQShqKQIAIQ4gAUEwaikCACEPIAJB0ABqIAFBOGooAgA2AgAgAkHIAGogDzcCACACQUBrIA43AgAgAkHUAGpBfzYCACABQTxqKQIAIQ4gAUHEAGopAgAhDyACQfAAaiABQcwAaigCADYCACACQegAaiAPNwIAIAJB4ABqIA43AgAgAkH0AGpBfzYCACABQdAAaiEBIARBgAFqIQQgAyAFQQRqIgVHDQALIAZFDQcLIAUgBmogBkEFdCEEIAggBUEFdGohAgNAIAEpAgAhDiABKQIIIQ8gAiABKAIQNgIQIAIgDzcCCCACIA43AgAgAkEUakF/NgIAIAJBIGohAiABQRRq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RQ0AIAQiAkEHcSIFBEADQCACQQFrIQIgASgCiAohASAFQQFrIgUNAAsLIARBCEkNAANAIAEoAogKKAKICigCiAooAogKKAKICigCiAooAogKKAKICiEBIAJBCGsiAg0ACwtBACECCwJAIAEvAYIKIAdLBEAgASEFDAELAkADQCABKAL4CCIFBEAgAUEEaygCACIEQXhxIQMgA0G4CkGICiACGyIGQQRBCCAEQQNxIgQbakkNCiABLwGACiEHIARBAEcgAyAGQSdqS3ENAiABELwFIAJBAWohAiAFIgEvAYIKIAdNDQEMAwsLIAFBuApBiAogAhsQ2RJBrOrIABCdFQALDAgLAkAgAkUEQCAHQQFqIQQgBSEDDAELIAUgB0ECdGpBjApqIQECQCACQQdxIgRFBEAgAiEGDAELIAIhBgNAIAZBAWshBiABKAIAIgNBiApqIQEgBEEBayIEDQALC0EAIQQgAkEISQ0AA0AgASgCACgCiAooAogKKAKICigCiAooAogKKAKICigCiAoiA0GICmohASAGQQhrIgYNAAsLAkAgBSAHQQxsaiICKAL8CCIBBEAgAkH8CGooAgQiBkEEaygCACIJQXhxIQIgAkEEQQggCUEDcSIJGyABakkNASAJQQBHIAIgAUEnaktxDQMgBhC8BQsgBSAHQegAbGoQ7AJBACEBIAhBAWsiCA0BDAULCwwFCwwFCwwDCyABRQ0BIARFBEAgASEDDAELIARBAWsgASEDIARBB3EiAQRAA0AgBEEBayEEIAMoAogKIQMgAUEBayIBDQALC0EHSQ0AA0AgAygCiAooAogKKAKICigCiAooAogKKAKICigCiAooAogKIQMgBEEIayIEDQALCyADKAL4CCIFBH9BACEBA0AgA0EEaygCACIEQXhxIQIgAkG4CkGICiABGyIGQQRBCCAEQQNxIgQbakkNAyAEQQBHIAIgBkEnaktxDQQgAxC8BSABQQFqIQEgBSIDKAL4CCIFDQALQbgKQYgKIAEbBUGICgshASADQQRrKAIAIgVBeHEhAiACQQRBCCAFQQNxIgUbIAFqSQ0BIAVBAEcgAiABQSdqS3ENAiADELwFCwJAIAAoAkwiBUF/Rg0AIAAoAlAhAyAAKAJUIgIEQCADIQEDQCABKAIAIgAEQCABQQRqKAIAIgZBBGsoAgAiB0F4cSEE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QQJqNgIECyABKAIUIQIgAyABKAKIATYCeCADIAEpAoABNwNwIANBOGogARDmAiADKAI8IQECQAJAAkAgAygCOEEBRw0AIANBMGogARCRAiADKAI0IQEgAygCMEEBRw0AIANBKGogARDFASADKAIsIQEgAygCKEEBcQ0BCyABKAIAQQFGBEAgASgCBCIHIAEoAghPDQEgASAHQQFqNgIECyADQSBqIAEQrgsgAygCJCEBA0AgASgCAEEBRgRAIAEoAgQiAiABKAIITw0EIAEgAkEBajYCBAsgASgCFCECIAMgASgCiAE2AnggAyABKQKAATcDcCADQRhqIAEQ5gIgAygCHCEBAkAgAygCGEEBRw0AIANBEGogARCRAiADKAIUIQEgAygCEEEBRw0AIANBCGogARDFASADKAIMIQEgAygCCEEBcQ0DCyABKAIAQQFGBEAgASgCBCIHIAEoAghPDQMgASAHQQFqNgIECyADIAEQrgsgAygCBCEBDAALAAsgASADKAJ4NgKIASABIAMpA3A3AoABIAIgASgCFEsNASABIAI2AhQMAQsgASADKAJ4NgKIASABIAMpA3A3AoABIAIgASgCFEsNACABIAI2AhQLQQAhAgsgAkEBRw0BIAEgAygCaDYCiAEgASADKQNgNwKAASAEIAEoAhRLDQAgASAENgIUC0EBIQIgAS0AkAFBAUYNCCABLQCRAUUNAyABKAKMASICIAZHDQEgCiABKAIgIgIgASgCLCIEaiIGSSAGIAprQQFGcQ0DIAIgCU8EQCABIAk2AiAgCSECCyAEIAhJDQIgASAINgIsDAILIAEtAJABIgJBAUYEfyABLQCRAUUNBwJAIAYgASgCjAEiAkYEQCAKIAEoAiwiAiABKAIgIgRqIgZJIAYgCmtBAUZxDQkgBCAJTwRAIAEgCTYCIAsgAiAISQ0BIAEgCDYCLCAIIQIMAQsgAiAGTw0IIAEgBjYCjAFBACECIAFBADYCLCABQQA2AiALIAEoAiQgAkYEQCABQSRqEKMSCyABKAIoIAJqQRw6AAAgASACQQFqNgIsIAEtAJABBSACC0H/AXFBAkcNBiABLQCRAUUNBiABKAIUIgIgBU0NAyABKAIQIAVBFGxqIgQtAAANBCAEIAI2AgQgASgCiAEhCCABKAIUIgQgASgCDEYEQCABQQxqEJoSCyABKAIQIARBFGxqIgIgCDYCECACQQA2AgggAiAFNgIEIAJBgTg7AQAgASAEQQFqNgIUDAYLIAIgBk8NASABIAY2AowBQQAhAiABQQA2AiwgAUEANgIgCyABKAIYIAJGBEAgAUEYahCjEgsgASACQQFqNgIgIAEoAhwgAmpBHDoAAAtBASECIAEtAHxBAUcNAiABLQCRAUUNAiABQdQAakEcIA1BACABKAJ4IAxNGxCTBQwCCyAFIAJBnIrIABCFEwALQaCryQBBKEGsisgAEK8UAAsgAS0AkAFBAkcNASABLQCRAUUNASAFIAEoAhRLDQEgASAFNgIUDAELQQAhAiABLQB8RQ0AIAEtAJEBRQ0AIAFB1ABqQRwgDUEAIAEoAnggDE0bEJMFCyAAIAE2AgQgACACNgIAIANBgAFqJAALvg8CEH8CfiMAQfABayICJAAgAgJ+QdDwyQAtAAAEQEHI8MkAKQMAIRNBwPDJACkDAAwBCyACQbABahC7EUHQ8MkAQQE6AABByPDJACACKQO4ASITNwMAIAIpA7ABCyISNwMQQcDwyQAgEkIBfDcDACACQQA2AiggAkKAgICAgAE3AyAgAiATNwMYIAJCgICAgHA3AwAgAkGQqckAKQMANwIsIAJBmKnJACkDADcCNAJAAkACQAJAAkACQAJAAkACQAJAAkAgAkGSi8gAQQUgASgCFCABKAIYEPYLIgMNACACQYmOyABBCCABKAIgIAEoAiQQ9gsiAw0AIAIgAS0AKBDsByIDDQAgAiABLQApEN8IIgMNACACKAIARQRAQQkQkAEiA0UNBCADQdaLxgAtAAA6AAggA0HOi8YAKQAANwAAAkAgAigCBCIEQX9GDQAgBEUNACACKAIIIghBBGsoAgAiBUF4cSEGIAZBBEEIIAVBA3EiBRsgBGpJDQsgBUEARyAGIARBJ2pLcQ0MIAgQvAULIAJBCTYCDCACIAM2AgggAkF/NgIEIAIgAikDCDcCeCACQQk2AnQCQCABKAIAIgNBf0YEQEGAgICAeCEEDAELIANBAk8EQAJAIAEoAgwiBEUEQEEBIQEMAQsgASgCCCEGIAQQkAEiAUUNCCAERQ0AIAEgBiAE/AoAAAsgAiAENgK8ASACIAE2ArgBIAIgBDYCtAELIAIgAzYCsAEgAkEANgKIASACQoCAgIAQNwKAAQJAAkACQAJAAkACQAJAAkACQCADQQFrDgYEBgABAgUDCyACIAJBtAFqNgLoASACIAJB6AFqrUKAgICAkAKENwNAIAJBgAFqQdyWxgBB+IvCACACQUBrELEJDRIMBgsgAiACQbQBajYC6AEgAiACQegBaq1CgICAgJAChDcDQCACQYABakHclsYAQcyLwgAgAkFAaxCxCQ0RDAULIAIgAkG0AWo2AugBIAIgAkHoAWqtQoCAgICQAoQ3A0AgAkGAAWpB3JbGAEGgi8IAIAJBQGsQsQkNEAwECyACQYABakEAQRdBAUEBELMRIAIoAogBIgMgAigChAFqIgFBkt7GACkAADcAACABQZrexgApAAA3AAggAUGh3sYAKQAANwAPIAIgA0EXaiIBNgKIAQwECyACQYABakEAQSFBAUEBELMRIAIoAogBIgMgAigChAFqIgFBqd7GACkAADcAACABQbHexgApAAA3AAggAUG53sYAKQAANwAQIAFBwd7GACkAADcAGCABQcnexgAtAAA6ACAgAiADQSFqIgE2AogBDAMLIAIgAkG0AWo2AugBIAIgAkHoAWqtQoCAgICQAoQ3A0AgAkGAAWpB3JbGAEHpisIAIAJBQGsQsQlFDQEMDQsgAiACQbQBajYC6AEgAiACQegBaq1CgICAgJAChDcDQCACQYABakHclsYAQZ+MwgAgAkFAaxCxCQ0MCyACKAKIASEBCyACKAKEASEGIAIoAoABIQgCQAJAIAIoArABDgIBAQALIAIoArQBIgNFDQAgAigCuAEiBUEEaygCACIHQXhxIQQgBEEEQQggB0EDcSIHGyADakkNDCAHQQBHIAQgA0EnaktxDQ0gBRC8BQsCQCABRQRAQQEhAwwBCyABEJABIgNFDQggAUUNACADIAYgAfwKAAALQYOAgIB4IQQgCEUNACAGQQRrKAIAIgdBeHEhBSAFQQRBCCAHQQNxIgcbIAhqSQ0LIAdBAEcgBSAIQSdqS3ENDCAGELwFCyACIAQ2ApABIAIgATYCiAEgAiADNgKEASACIAE2AoABIAJBsAFqIAJBEGogAkH0AGogAkGAAWoQnwUgAiACKQPgATcDaCACIAIpA9gBNwNgIAIgAikD0AE3A1ggAiACKQPIASISNwNQIAIgAikDwAE3A0ggAiACKQO4ATcDQCASp0F/RwRAIAJBQGsQ/QkL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AkKAgICAcDcDACACQZCpyQApAwA3AiwgAkGYqckAKQMANwI0AkACQAJAAkACQAJAAkACQAJAIAJBoKzJAEEEIAEoAgQgASgCCBCSDCIEDQAgAigCAEUEQCABKAIUIQQgASgCECEIQQYQkAEiAUUNAiABQaisyQAvAAA7AAQgAUGkrMkAKAAANgAAIAIoAgQiA0EASgRAIAIoAggiB0EEaygCACIJQXhxIQYgBkEEQQggCUEDcSIJGyADakkNCSAJQQBHIAYgA0EnaktxDQogBxC8BQsgAkEGNgIMIAIgATYCCCACQX82AgQgAiACKQMIIhk3AnggAkEGNgJ0IARBq9WqFU8NA0EAIQFBCCEOIARBMGwiAwRAIAMQkAEiDkUNBSAEIQELIAJBDGohEiACQQA2ArwBIAIgDjYCuAEgAiABNgK0ASAEQRxsIRAgAkHsAWohEyAZpyEUAkADQCAQRQ0BIAICfkHQ8MkALQAABEBByPDJACkDACEaQcDwyQApAwAMAQsgAkGAAmoQuxFB0PDJAEEBOgAAQcjwyQAgAikDiAIiGjcDACACKQOAAgsiGTcD0AFBwPDJACAZQgF8NwMAIBNBkKnJACkDADcCACATQZipyQApAwA3AgggAkEANgLoASACQoCAgICAATcD4AEgAiAaNwPYASACQoCAgIBwNwPAAQJAAkACQCACQcABaiIBQaCsyQBBBCAIKAIEIAgoAggQkgwiBA0AIAFBqqzJAEEIIAgoAhAgCCgCFBCSDCIEDQAgAUGyrMkAQQogCC0AGBCeDSIERQ0BCyACQcABahDICwwBCyACKAL0ASEFIAIoAvABIRUgAigC7AEhBiACKALoASEHIAIoAuQBIQkgAigC4AEhASACKALcASERIAIoAtgBIQMgAigC1AEhFiACKALQASEEIAIoAsgBIQoCQAJAIAIoAsABQQFGBEAgA0F/Rg0LIAIoAswBIQsgBCAKIQQgAyEKIBEhDSAVIRcgBSEYIQMgFiERDAELIAIoAvwBIRggAigC+AEhFyACKALEASINQQBKBEAgCkEEaygCACILQXhxIQwgDEEEQQggC0EDcSILGyANakkNDiALQQBHIAwgDUEnaktxDQ8gChC8BQsgAUF/RiABIQogCSENIAchASAGIQkgFSEHIAUhBiAWIQsNAQsgAigCtAEgD0YEQCAC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DBMLQcyLyQBBpwFB6IjIABC/EwALQbCMyQBBqwFB+IjIABC/EwALIAIoAhAiBCgCACEFIAQgBUEBajYCACAFQQBODQ8MDgsgASgCUCEEIANBoAFqIgUgAhCfCiADQRxqIAQgBSACEK0QELQMDA8LIAIoAhAiBCgCACEFIAQgBUEBajYCACAFQQBIDQwgAyAENgKwASADIAIpAgg3A6gBIAMgAikCADcDoAEgA0EcaiABQe+ZyQBBAyADQaABakEBEIMMDA4LIAIoAhAiBCgCACEFIAQgBUEBajYCACAFQQBIDQsgAyAENgKwASADIAIpAgg3A6gBIAMgAikCADcDoAEgA0EcaiABQeyxyQBBBiADQaABakEBEIMMDA0LIAIoAhAiBCgCACEFIAQgBUEBajYCACAFQQBIDQogAyAENgKwASADIAIpAgg3A6gBIAMgAikCADcDoAEgA0EcaiABQYyayQBBBSADQaABakEBEIMMDAwLIAIoAhAiBCgCACEFIAQgBUEBajYCACAFQQBIDQkgAyAENgKwASADIAIpAgg3A6gBIAMgAikCADcDoAEgA0EcaiABQbiAyABBByADQaABakEBEIMMDAsLIAIoAhAiBCgCACEFIAQgBUEBajYCACAFQQBIDQggAyAENgKwASADIAIpAgg3A6gBIAMgAikCADcDoAEgA0EcaiABQeSIyABBBCADQaABakEAEIMMDAoLIAIoAhAiBCgCACEFIAQgBUEBajYCACAFQQBIDQcgAyAENgKwASADIAIpAgg3A6gBIAMgAikCADcDoAEgA0EcaiABQfKZyQBBBCADQaABakEAEIMMDAkLIAIoAhAiBCgCACEFIAQgBUEBajYCACAFQQBIDQYgAyAENgKwASADIAIpAgg3A6gBIAMgAikCADcDoAEgA0EcaiABQYSayQBBCCADQaABakEAEIMMDAgLIAIoAhAiBCgCACEFIAQgBUEBajYCACAFQQBIDQUgAyAENgKwASADIAIpAgg3A6gBIAMgAikCADcDoAEgA0EcaiABQZGayQBBBSADQaABakEAEIMMDAcLIAQgBUGcusQAEIUTAAsgBSAGQZy6xAAQhRMAC0GcusQAEJ0VAAtB0JzJAEEuQYCdyQAQrxQAC0GQnckAQS5BwJ3JABCvFAALAAsgAyAENgKwASADIAIpAgg3A6gB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BAsgASgCjAEiAiABKAKIASIHRgRAIAEoAiAhCSABKAIsIQgLIAEoAhQhBgJAIAEtAJABQQJHBEAgBiEEDAELIAYhBCABLQCRAUUNACABKAIMIAZGBEAgAUEMahCaEgsgASgCECAGQRRsaiICIAc2AgggAkEANgIEIAJBADoAACABIAZBAWoiBDYCFCABKAKMASECCyACIAdGBEAgASgCLCABKAIgaiEKCyABKAJ4IQwgASgCXCENAkAgASgCAEEBRgRAIAEoAgQiAiABKAIITwRAQQEhBQwCCyABIAJBAWo2AgQLIAMgASgCiAE2AkggAyABKQKAATcDQCADQThqIAEQ5wMgAygCPCEBAn8CQCADKAI4QQFxDQACQCABLQCRAUECRw0AIAEoAgBBAUYEQCABKAIEIgIgASgCCCIFTw0CIAEgAkEBaiILNgIEIAUgC00NASABIAJBAmo2AgQLIAFBADoAkQEgA0EwaiABEJQKIAMoAjAgAygCNCIBQQI6AJEBQQFxDQADQCABKAIAQQFGBEAgASgCBCICIAEoAghPDQIgASACQQFqNgIECwJAIAEtAJEBIgVFBEAgA0EgaiABEJQKIAMoAiQhASADKAIgIQIMAQsgAUEAOgCRASADQShqIAEQlAogAygCKCECIAMoAiwiASAFOgCRAQsgAkEBRw0ACwtBACECAkAgASgCiAEiBSABKAKEAU8NACABKAKAASAFai0AAEE6Rw0AIAEgBUEBajYCiAFBASECCwJAIAEtAHxBAUYEQEEBEJABIgtFDQEgC0E6OgAAIANBATYCXCADIAs2AlggA0KAgICAEDcCUCABIAUgA0HQAGogAhD5CAsgAkUNAQJAIAEtAJEBQQJHDQAgASgCAEEBRgRAIAEoAgQiAiABKAIIIgVPDQMgASACQQFqIgs2AgQgBSALTQ0BIAEgAkECajYCBAsgAUEAOgCRASADQRhqIAEQlAogAygCGCADKAIcIgFBAjoAkQFBAXENAANAIAEoAgBBAUYEQCABKAIEIgIgASgCCE8NAiABIAJBAWo2AgQLAkAgAS0AkQEiBUUEQCADQQhqIAEQlAogAygCDCEBIAMoAgghAgwBCyABQQA6AJEBIANBEGogARCUCiADKAIQIQIgAygCFCIBIAU6AJEBCyACQQFxRQ0ACwsgAyABEEAgAygCBCEB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AgBBAUYEQCABKAIEIgQgASgCCE8NASABIARBAWo2AgQLIAEoAowBIgIgASgCiAEiBkYEQCABKAIgIQkgASgCLCEICyABKAIUIQQCQCABLQCQAUECRwRAIAQhBQwBCyAEIQUgAS0AkQFFDQAgASgCDCAERgRAIAFBDGoQmhILIAEoAhAgBEEUbGoiAiAGNgIIIAJBADYCBCACQQA6AAAgASAEQQFqIgU2AhQgASgCjAEhAgsgAiAGRgRAIAEoAiwgASgCIGohCgsgASgCeCEMIAEoAlwhDQJAAkACQAJAAkACQAJAAkACQAJAAkACQCABKAIAQQFGBEAgASgCBCICIAEoAghPDQEgASACQQFqNgIECyADIAEoAogBIgI2AkggAyABKQKAATcDQAJAIAIgASgChAFPDQAgAUGAAWooAgAgAmotAABBwABHDQAgASACQQFqNgKIAUEBIQcLIAEtAHxBAUYEQEEBEJABIgtFDQggC0HAADoAACADQQE2AlwgAyALNgJYIANCgICAgBA3AlAgASACIANB0ABqIAcQ+QgLAkAgB0UNAAJAIAEtAJEBQQJHDQAgASgCAEEBRgRAIAEoAgQiAiABKAIIIgdPDQIgASACQQFqIgs2AgQgByALTQ0BIAEgAkECajYCBAsgAUEAOgCRASADQThqIAEQlAogAygCOCADKAI8IgFBAjoAkQFBAXENAANAIAEoAgBBAUYEQCABKAIEIgIgASgCCE8NAiABIAJBAWo2AgQLAkAgAS0AkQEiB0UEQCADQShqIAEQlAogAygCLCEBIAMoAighAgwBCyABQQA6AJEBIANBMGogARCUCiADKAIwIQIgAygCNCIBIAc6AJEBCyACQQFHDQALCyADQSBqIAEQ6QMgAygCJCEBIAMoAiBBAXENAAJAIAEtAJEBQQJHDQAgASgCAEEBRgRAIAEoAgQiAiABKAIIIgdPDQIgASACQQFqIgs2AgQgByALTQ0BIAEgAkECajYCBAsgAUEAOgCRASADQRhqIAEQlAogAygCGCADKAIcIgFBAjoAkQFBAXENAANAIAEoAgBBAUYEQCABKAIEIgIgASgCCE8NAiABIAJBAWo2AgQLAkAgAS0AkQEiB0UEQCADQQhqIAEQlAogAygCDCEBIAMoAgghAgwBCyABQQA6AJEBIANBEGogARCUCiADKAIQ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SQRAIANBAWoiASAEIAEgBEsbIgFBD0kNAiABQf////8BTQRAQX8gAUEDdEEHbkEBa2d2IgFB/v///wBLDQggAUEBagwECwwHCyAAIAEEfyAAKAIAIQMCQCACIAFBB3FBAEdqIgBBAUcEQCAAQQFxIABB/v///wNxIQIDQCADIAhqIgApAwAhDiAAIA5Cf4VCB4hCgYKEiJCgwIABgyAOQv/+/fv379+//wCEfDcDACAAQQhqIgApAwAhDiAAIA5Cf4VCB4hCgYKEiJCgwIABgyAOQv/+/fv379+//wCEfDcDACAIQRBqIQggAkECayICDQALRQ0BCyADIAhqIgApAwAhDiAAIA5Cf4VCB4hCgYKEiJCgwIABgyAOQv/+/fv379+//wCEfDcDAAsCQCABQQhPBEAgASADaiADKQAANwAADAELIAFFDQAgA0EIaiADIAH8CgAAC0EAIQEDQAJAIAMgASIAaiIILQAAQYABRw0AIAMgAUEEdGsiAUEMayELIAFBCGshDCABQRBrIQ0gAyAAQX9zQQR0aiEFA0AgAyAMKAIAIAsoAgAgDSgCAEHdy92eeWxqQd3L3Z55bGpB3cvdnnlsQQ93IgQgBnEiByIBaikAAEKAgYKEiJCgwIB/gyIOUARAQQghAgNAIAEgAmohASACQQhqIQIgAyABIAZxIgFqKQAAQoCBgoSIkKDAgH+DIg5QDQALCyADIA56p0EDdiABaiAGcSIBaiwAAEEATgRAIAMpAwBCgIGChIiQoMCAf4N6p0EDdiEBCyAErSEOIAEgB2sgACAHa3MgBnFBCE8EQCABIANqIgItAAAgAiAOQhmIpyICOgAAIAMgAUEIayAGcWpBCGogAjoAACADIAFBf3NBBHRqIQFB/wFGBEAgCEH/AToAACADIAYgAEEIa3FqQQhqQf8BOgAAIAEgBSkACDcACCABIAUpAAA3AAAMAwsgBSkAACEOIAUgASkAADcAACABIA43AAAgBSkACCEOIAUgASkACDcACCABIA43AAgMAQsLIAggDkIZiKciAToAACADIAYgAEEIa3FqQQhqIAE6AAALIABBAWohASAAIAZHDQALIAYgCSAGQQhJGwVBAAsgCms2AggMAwsMBQtBBCABQQhxQQhqIAFBBEkbCyIBQQhqIgQgAUEEdCICIARqIgNLDQMgA0H4////B0sN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QQFGBEAgASgCBCIFIAEoAggiAkkNAUEBIQUMBQsgAyABKAKIATYCOCADIAEpAoABNwMwDAELIAEgBUEBaiILNgIEIAMgASgCiAE2AjggAyABKQKAATcDMCACIAtNDQEgASAFQQJqNgIECyABQYABaiECIAEgAS0AkAEiC0EBRzoAkAEgAyACKAIINgJIIAMgAikCADcDQCABKAI4IQIgASgCUCIFIAEoAkhGBEAgAUHIAGoQlhILIAEgBUEBajYCUCABKAJMIAVBA3RqIgUgAjYCBCAFIAI2AgAgA0EoaiABELIFIAMoAiggAygCLCIBIAMoAkg2AogBIAEgAykDQDcCgAEgASALOgCQASABQTBqEIYKQQFHDQACQCABLQCRAUECRw0AIAEoAgBBAUYEQCABKAIEIgIgASgCCCIFTw0CIAEgAkEBaiILNgIEIAUgC00NASABIAJBAmo2AgQLIAFBADoAkQEgA0EgaiABEJQKIAMoAiAgAygCJCIBQQI6AJEBQQFxDQADQCABKAIAQQFGBEAgASgCBCICIAEoAghPDQIgASACQQFqNgIECwJAIAEtAJEBIgVFBEAgA0EQaiABEJQKIAMoAhQhASADKAIQIQIMAQsgAUEAOgCRASADQRhqIAEQlAogAygCGCECIAMoAhwiASAFOgCRAQsgAkEBcUUNAAsLIANBCGogARC7ASADKAIMIQEgAygCCAwBC0EBCyIFQQFHDQAgASADKAI4NgKIASABIAMpAzA3AoABIAQgASgCFEsNACABIAQ2AhQLQQEhAiABLQCQASEEAkACQAJAAkACQAJAAkAgBUEBRgRAIARB/wFxQQFGDQggAS0AkQFFDQMgASgCjAEiAiAHRw0BIAogASgCICICIAEoAiwiBGoiB0kgByAKa0EBRnENAyACIAlPBEAgASAJNgIgIAkhAgsgBCAISQ0CIAEgCDYCLAwCCyAEQf8BcUEBRgR/IAEtAJEBRQ0HAkAgByABKAKMASICRgRAIAogASgCLCICIAEoAiAiBGoiB0kgByAKa0EBRnENCSAEIAlPBEAgASAJNgIgCyACIAhJDQEgASAINgIsIAghAgwBCyACIAdPDQggASAHNgKMAUEAIQIgAUEANgIsIAFBADYCIAsgASgCJCACRgRAIAFBJGoQoxILIAEoAiggAmpBMjoAACABIAJB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AkEBaiIMQQhBwAAQpREgCigCCEEBRg0CIAooAgwhCyABIAw2AhAgASALNgIUCyABIAJBAWo2AhggASgCFCACQQZ0aiIBIAMpAwA3AwAgASADKQMINwMIIAEgAykDEDcDECABIAMpAxg3AxggASADKQMgNwMgIAEgAykDKDcDKCABIBA2AjwgASAONgI4IAEgETYCNCABIBM2AjAgAEF/NgIYIAAgAjYCAAsgCkHQAGokAA8LIAooAgwgCigCECEaEKcUAAuHDQEFfyMAQTBrIgIkAAJ/AkACQAJAAkACQAJAAkACQAJAAkBBBSAAKAIQIgRBgICAgHhzIARBAE4bQQFrDgUBAgMEBQALIAEoAgBBgJrJAEEEIAEoAgQoAgwRAAAMCQsgAiAANgIUIAIgAkEUaq1CgICAgMAZhDcDICABKAIAIAEoAgRBqI7CACACQSBqELEJDAgLIAIgADYCFCACIAJBFGqtQoCAgICgHoQ3AyAgASgCACABKAIEQZyOwgAgAkEgahCxCQwHCyACIAA2AhQgAiACQRRqrUKAgICA8BmENwMgIAEoAgAgASgCBEGyjsIAIAJBIGoQsQkMBgsgASgCAEHN28gAQQYgASgCBCgCDBEAAA0EIAAoAgghAyAAKAIEIQVBASEEIAEoAgBBorLIAEEBIAEoAgQoAgwRAAAhACADDQEgACEEDAILIAEoAgBB09vIAEEHIAEoAgQoAgwRAABFDQIMAwsCQCAADQAgAS0ACkGAAXEEQCABKAIAQaCyyABBASABKAIEKAIMEQAADQEgAkEBOgAMIAJBoOvCADYCJCACIAEpAgA3AhQgAiABKQIINwIoIAIgAkEMajYCHCACIAJBFGo2AiAgBSACQSBqENMDDQEgAigCIEGkssgAQQIgAigCJCgCDBEAACEEDAELIAUgARDTAyEECyADQQFGDQAgBUEwaiEAIANBMGxBMGshAwNAAn9BASAEQQFxDQAaIAEtAApBgAFxBEAgAkEBOgAMIAJBoOvCADYCJCACIAEpAgA3AhQgAiABKQIINwIoIAIgAkEMajYCHCACIAJBFGo2AiBBASAAIAJBIGoQ0wMNARogAigCIEGkssgAQQIgAigCJCgCDBEAAAwBC0EBIAEoAgBBiLPJAEECIAEoAgQoAgwRAAANABogACABENMDCyEEIABBMGohACADQTBrIgMNAAsLIAQNASABKAIAQaiyyABBASABKAIEKAIMEQAADAILIAAoAhQhAyAAKAIYIQZBASEAIAEoAgBBo7LIAEEBIAEoAgQoAgwRAAAhBCACQQE6ABMgAkEAOwARIAIgBDoAECACIAE2AgwCQAJAIAZFBEAgBCEADAELIAJBE2ohBQJAIAQNACACLQASDQICQCACKAIMIgEtAApBgAFxBEAgASgCAEGgssgAQQEgASgCBCgCDBEAAA0CIAJBAToAEyACIAU2AiggAiABKQIANwIgIAMoAjggAygCPCACQSBqIgFBoOvCABC/Bg0CIAFBprLIAEECEP0IRQ0BDAILIAMoAjggAygCPCABKAIAIAEoAgQQvwYNASABKAIAQaayyABBAiABKAIEKAIMEQAADQELIAJBADoAECACQQE6ABICQCACKAIMIgEtAApBgAFxBEAgAiAFNgIcIAJBoOvCADYCJCACIAEpAgA3AhQgAiABKQIINwIoIAIgAkEUajYCICADIAJBIGoQ0wNFBEAgAigCIEGkssgAQQIgAigCJCgCDBEAAEUNAgsMAgsgAyABENMDDQELQQAhACACQQA6ABILIAIgADoAECACQQE6ABEgBkEBRg0AIAZBBnRBQGohBCADQfwAaiEBA0ACfwJAAkAgAEEBcQ0AIAItABINBQJAIAIoAgwiAC0ACkGAAXFFBEAgACgCAEGIs8kAQQIgACgCBCgCDBEAAA0CIAFBBGsoAgAgASgCACAAKAIAIAAoAgQQvwYNAiAAKAIAQaayyABBAiAAKAIEKAIMEQAARQ0BDAILIAJBAToAEyACIAU2AiggAiAAKQIANwIgIAFBBGsoAgAgASgCACACQSBqIgBBoOvCABC/Bg0BIABBprLIAEECEP0IDQELIAFBPGshBiACQQA6ABAgAkEBOgASIAIoAgwiAy0ACkGAAXFFBEBBASAGIAMQ0wMNAxoMAgsgAiAFNgIcIAJBoOvCADYCJCACIAMpAgA3AhQgAiADKQIINwIoIAIgAkEUajYCICAGIAJBIGoQ0wMNACACKAIgQaSyyABBAiACKAIkKAIMEQAARQ0BC0EBDAELIAJBADoAEkEACyEAIAJBAToAESACIAA6ABAgAUFAayEBIARBQGoiBA0ACwtBASAADQIaIAItABJBAUcEQCACKAIMIgAoAgBB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rUKAgICA0AGENwMYIAYgBq1CgICAgNABhDcDECAAQbWtwAAgBkEQahC4DCAGKAJAIgAEQCAGKAJEIgJBBGsoAgAiA0F4cSEBIAFBBEEIIANBA3EiAxsgAGpJDQMgA0EARyABIABBJ2pLcQ0EIAIQvAULIAZB4ABqJAAPCxCeFQALQQQQpxQAC0HQnMkAQS5BgJ3JABCvFAALQZCdyQBBLkHAnckAEK8UAAueDAIHfwF8IwBBIGsiBiQAAkACQAJAAkACQAJAAkACQAJAAkACQEEFIAAoAhAiA0GAgICAeHMgA0EAThtBAWsOBQECAwQFAAsgASgCACIBKAIIIQAgASgCACAAa0EDTQRAIAEgAEEEQQFBARCzESABKAIIIQALIAEgAEEEajYCCCABKAIEIABqQe7qseMGNgAADAkLIAEoAgAhASAALQAARQRAIAEoAgAgASgCCCIAa0EETQRAIAEgAEEFQQFBARCzESABKAIIIQALIAEoAgQgAGoiA0GqssgAKAAANgAAIANBrrLIAC0AADoABCABIABBBWo2AggMCQsgASgCACABKAIIIgBrQQNNBEAgASAAQQRBAUEBELMRIAEoAgghAAsgASgCBCAAakH05NWrBjYAACABIABBBGo2AggMCAsgASgCACEBAkACQCAAKAIAQQFrDgIAAQULIAEgACkDCBDUCwwICyAAKwMIIgm9Qv///////////wCDQoCAgICAgID4/wBaBEAgASgCACABKAIIIgBrQQNNBEAgASAAQQRBAUEBELMRIAEoAgghAAsgASAAQQRqNgIIIAEoAgQgAGpB7uqx4wY2AAAMCAsgCSAGQQhqEPYBIQACQAJAIAEoAgAgASgCCCICayAASQRAIAEgAiAAQQFBARCzESABKAIIIQIMAQsgAEUNAQsgAEUNACABKAIEIAJqIAZBCGogAPwKAAALIAEgACACajYCCAwHCyABKAIAIAAoAgQgACgCCBCeBwwGCyAAKAIIIQMgACgCBCEFIAEoAgAiACgCCCICIAAoAgBGBEAgACACQQFBAUEBELMRIAAoAgghAgsgACACQQFqIgQ2AgggACgCBCACakHbADoAACADBEAgBSABEO0DIANBAUcEQCAFQTBqIQIgA0EwbEEwayEEA0AgASgCACIAKAIIIgMgACgCAEYEQCAAIANBAUEBQQEQsxEgACgCCCEDCyAAIANBAWo2AgggACgCBCADakEsOgAAIAIgARDtAyACQTBqIQIgBEEwayIEDQALCyABKAIAIgEoAggiACABKAIARgRAIAEgAEEBQQFBARCzESABKAIIIQALIAEgAEEBajYCCCABKAIEIABqQd0AOgAADAYLIAQgACgCAEYEQCAAIARBAUEBQQEQsxEgACgCCCEECyAAIARBAWo2AgggACgCBCAEakHdADoAAAwFCyAAKAIoIQUgASgCACICKAIIIgMgAigCAEYEQCACIANBAUEBQQEQsxEgAigCCCEDCyACIANBAWoiBDYCCCACKAIEIANqQfsAOgAAQYACIQMgBUUEQCAEIAIoAgBGBEAgAiAEQQFBAUEBELMRIAIoAgghBAsgAiAEQQFqNgIIIAIoAgQgBGpB/QA6AABBACEDCyAAKAIYIgdFDQEgACgCFCIAQTxqKAIAIQMgAEE4aigCACEIIAEoAgAhAiAFRQRAIAIoAggiBCACKAIARgRAIAIgBEEBQQFBARCzESACKAIIIQQLIAIgBEEBajYCCCACKAIEIARqQSw6AAAgASgCACECCyAHQQZ0IQQgAiAIIAMQngcgASgCACICKAIIIgMgAigCAEYEQCACIANBAUEBQQEQsxEgAigCCCEDCyAAIARqIQQgAiADQQFqNgIIIAIoAgQgA2pBOjoAAANAIAAgARDtAyAEIABBQGsiAEYNAyAAQTxqKAIAIQUgAEE4aigCACEHIAEoAgAiAigCCCIDIAIoAgBGBEAgAiADQQFBAUEBELMRIAIoAgghAwsgAiADQQFqNgIIIAIoAgQgA2pBLDoAACABKAIAIAcgBRCeByABKAIAIgIoAggiAyACKAIARgRAIAIgA0EBQQFBARCzESACKAIIIQMLIAIgA0EBajYCCCACKAIEIANqQTo6AAAMAAsACyABIAApAwgQ1wwMAwsgA0EBcQ0BIANBgAJxRQ0CCyABKAIAIgEoAggiACABKAIARgRAIAEgAEEBQQFBARCzESABKAIIIQALIAEgAEEBajYCCCABKAIEIABqQf0AOgAADAELQaCryQBBKEHM4MgAEK8UAAsgBkEgaiQAC58MAhR/AX4jAEGQBmsiBCQAAkACQAJAAkACQAJAAkAgAiADKAIIIgZGBEAgAygCBCIHIAJB6AFsIhNqIQog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CiAKQj+HQgpCABDuESADKQMIIAMpAwAiC0I/h1INAyAELQAAQTBrIgZBCUsNAyAGrSIMIAt8IgogC1MNAyAEQQFqIQQgBUEBayIFDQALDAELIAVFDQADQCAELQAAQTBrIgZBCUsNAiAEQQFqIQQgBq0gCkIKfnwhCiAFQQFrIgUNAAsLIAAgCjcDCEIBIQoMAQsgAEIANwMAAn8CfwJ/AkACQAJAAkACQAJAQQMgB0ECayAHQQFNG0EBaw4FAQIDBAUACyADQQA2AiggA0KAgICAEDcCICADQczsxAA2AlQgA0KggICABjcCWCADIANBIGo2AlAgASADQdAAahDIAg0LIAMoAighByADKAIkIQQgAygCICEFQdXOxQAhBkEHDAYLIANBADYCKCADQoCAgIAQNwIgIANBzOzEADYCVCADQqCAgIAGNwJYIAMgA0EgajYCUCABIANB0ABqEMgCDQogAygCKCEHIAMoAiAhBUGz0cUAIQYgAygCJAwECyADQQA2AiggA0KAgICAEDcCICADQczsxAA2AlQgA0KggICABjcCWCADIANBIGo2AlAgASADQdAAahDIAg0JIAMoAighByADKAIkIQQgAygCICEFQbClxQAhBkEHDAQLIANBADYCKCADQoCAgIAQNwIgIANBzOzEADYCVCADQqCAgIAGNwJYIAMgA0EgajYCUCABIANB0ABqEMgCDQggAygCKCEHIAMoAiQhBCADKAIgIQVBt6XFACEGQQohCEE0DAQLIANBADYCKCADQoCAgIAQNwIgIANBzOzEADYCVCADQqCAgIAGNwJYIAMgA0EgajYCUCABIANB0ABqEMgCDQcgAygCKCEHIAMoAiQhBCADKAIgIQVBvJzIACEGQQUMAgsgA0EANgIoIANCgICAgBA3AiAgA0HM7MQANgJUIANCoICAgAY3AlggAyADQSBqNgJQIAEgA0HQAGoQyAINBiADKAIoIQcgAygCICEFQbysyQAhBiADKAIkCyEEQQYLIQhBEAshCSADIAc2AkwgAyAENgJIIAMgCDYCRCADIAY2AkAgA0EHNgI8IANB1c7FADYCOCADIANByABqrUKAgICA0AGENwNgIAMgA0FAa61CgICAgNABhDcDWCADIANBOGqtQoCAgIDQAYQ3A1AgA0EgakH+9sEAIANB0ABqELgMIAMgASAJ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jPvCABCdFQALIAUgA2siBUEASA0BIAdBAXMhByACQaQCRw0ACwsgB0EBcUUNAQsgBiABNgIAQYABIQJBgQEMAgsgBEEAOgAYIARBADsBFiAEIAFBFHYtAOS2SToAGSAEIAFBBHZBD3EtAOS2SToAHSAEIAFBCHZBD3EtAOS2SToAHCAEIAFBDHZBD3EtAOS2SToAGyAEIAFBEHZBD3EtAOS2SToAGiABQQFyZ0ECdiICIARBFmoiBWoiAEH7ADoAACAAQQFrQfUAOgAAIAUgAkECayICakHcADoAACAGIAQpARY3AAAgBEH9ADoAHyAEIAFBD3EtAOS2SToAHiAGIAQvAR47AAgLQQoLOgANIAYgAjoADCAEQSBqJAALqwsBDH8jAEFAaiIDJABBASECAkAgASgCAEEBRgRAIAEoAgQiBCABKAIITw0BIAEgBEEBajYCBAsgASgCjAEiAiABKAKIASIGRgRAIAEoAiAhCSABKAIsIQcLIAEoAhQhBAJAIAEtAJABQQJHBEAgBCEFDAELIAQhBSABLQCRAUUNACABKAIMIARGBEAgAUEMahCaEgsgASgCECAEQRRsaiICIAY2AgggAkEANgIEIAJBADoAACABIARBAWoiBTYCFCABKAKMASECCyACIAZGBEAgASgCLCABKAIgaiEKCyABKAJ4IQwgASgCXCENAkACQAJAAkACQAJAAkACQAJAAkAgASgCAEEBRgRAIAEoAgQiAiABKAIITw0BIAEgAkEBajYCBAsgAyABKAKIATYCKCADIAEpAoABNwMgIANBGGogARDnAyADKAIcIQECQCADKAIYQQFxDQACQCABLQCRAUECRw0AIAEoAgBBAUYEQCABKAIEIgIgASgCCCIITw0CIAEgAkEBaiILNgIEIAggC00NASABIAJBAmo2AgQLIAFBADoAkQEgA0EQaiABEJQKIAMoAhAgAygCFCIBQQI6AJEBQQFxDQADQCABKAIAQQFGBEAgASgCBCICIAEoAghPDQIgASACQQFqNgIECwJAIAEtAJEBIghFBEAgAyABEJQKIAMoAgQhASADKAIAIQIMAQsgAUEAOgCRASADQQhqIAEQlAogAygCCCECIAMoAgwiASAIOgCRAQsgAkEBRw0ACwtBACECAkAgASgCiAEiCCABKAKEAU8NACABKAKAASAIai0AAEE6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XCEFCyABQcgAbCEMIAMoAkwgAygCUCIKQQR0aiEJIAMoAlggBUEFdGohBCADQbgBaiEIIANB8ABqIQ8gBiEBA0AgA0HgAGogAUHIAPwKAAAgA0HYAWoiByABQcgA/AoAACADQagBaiAHEMoKIAggDxCrASADKALYASIHQQBKBEAgAygC3AEiEEEEaygCACINQXhxIQ4gDkEEQQggDUEDcSINGyAHakkNBiANQQBHIA4gB0EnaktxDQcgEBC8BQsgAUHIAGohASAJIAMpA7ABNwIIIAkgAykDqAE3AgAgBCAIKQMANwMAIAQgCCkDCDcDCCAEIAgpAxA3AxAgBCAIKQMYNwMYIAlBEGohCSAEQSBqIQQgBUEBaiEFIApBAWohCiAMQcgAayIMDQALIAMgBTYCXCADIAo2AlALIAsEQCAGQQRrKAIAIgRBeHEhASABIAtByABsIgVBBEEIIARBA3EiBBtqSQ0EIARBAEcgASAFQSdqS3ENBSAGELwFCyADIAMpAwg3AvwBIAMgAygCUDYC+AEgAyADKQJIIhE3A/ABIAMgAygCIDYC4AEgAyADKQMYIhI3A9gBIAMgA0HUAGoiASgCCDYC7AEgAyABKQIANwLkASADIAMoAhA2AoQCIAAgAykD+AE3AiAgACARNwIYIAAgEjcCACAAIAMpA4ACNwIoIAAgAykD6AE3AhAgACADKQPgATcCCCAAIAI6ADALIANBoAJqJAAPC0G48MkAQQE6AAAAC0G48MkAQQE6AAAAC0HQnMkAQS5BgJ3JABCvFAALQZCdyQBBLkHAnckAEK8UAAvFCgIOfwJ+IwBBoAJrIgMkACADQQE6AIABIANBATYCfCADQbjsxgA2AnggA0IINwJwIANCADcCaCADQoCAgIDAADcCYAJAAkACQEG4AhCQASIEBEAgBCABQbgC/AoAACADQYGAgIB4NgKoASADIAQ2AqwBIANB2AFqIANB4ABqIgEgA0GoAWoQigECQCADKALYASIIQX5HBEAgAyADKALkATYCQCADIAMpAtwBNwM4IAMgAykC9AE3AyggAyADKAL8ATYCMCADKALoASEJIAMoAuwBIQogAygC8AEhCyADKQKAAiERIAEQiwYgAygCcCECIAMoAnQiAQRAIAIhBANAIARBEGoQ2QQgBCgCACIGQQBKBEAgBEEEaigCACIM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0JzJAEEuQYCdyQAQrxQAC0GQnckAQS5BwJ3JABCvFAALQdCcyQBBLkGAnckAEK8UAAtBkJ3JAEEuQcCdyQAQrxQACyAAQQhqEIgEDwsgACgCHBAwC8oIAQh/AkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAIAAtAAAOEQABAgMEBQYHCAkKCwwNDg8QEQsgACgCCEF/RwRADBYLIAAoAhwiAigCACEBIAIgAUEBazYCACABQQFHDRAMFgsgACgCCEF/RwRADBULIAAoAhwiAigCACEBIAIgAUEBazYCACABQQFHDQ8MFQsgACgCCEF/RwRADBQLIAAoAhwiAigCACEBIAIgAUEBazYCACABQQFHDQ4MFAsgACgCCEF/RwRADBMLIAAoAhwiAigCACEBIAIgAUEBazYCACABQQFHDQ0MEwsgACgCCEF/RwRADBILIAAoAhwiAigCACEBIAIgAUEBazYCACABQQFHDQwMEgsgACgCCEF/RwRADBELIAAoAhwiAigCACEBIAIgAUEBazYCACABQQFHDQsMEQsgACgCCEF/RwRADBALIAAoAhwiAigCACEBIAIgAUEBazYCACABQQFHDQoMEAsgACgCCEF/RwRADA8LIAAoAhwiAigCACEBIAIgAUEBazYCACABQQFHDQkMDwsgACgCCEF/RwRADA4LIAAoAhwiAigCACEBIAIgAUEBazYCACABQQFHDQgMDgsgACgCCEF/RwRADA0LIAAoAhwiAigCACEBIAIgAUEBazYCACABQQFHDQcMDQsgACgCCEF/RwRADAwLIAAoAhwiAigCACEBIAIgAUEBazYCACABQQFHDQYMDAsgACgCCEF/RwRADAsLIAAoAhwiAigCACEBIAIgAUEBazYCACABQQFHDQUMCwsgAEEEahDaDQ8LIABBBGoQ2g0PCyAAKAIUIgMQ4gQgA0EEaygCACIBQQNxIQIgAUF4cUE0QTggAhtJDQMgAkEARyABQdgAT3ENBCADELwFIAAoAgQiAkECRg0CIAJFBEAgACgCCCICRQ0DIAAoAgwgAhDZEg8LIAAoAgwhAiAAKAIQIgQEQCACIQEDQCABKAIAIgUEQCABQQRqKAIAIgdBBGsoAgAiA0F4cSEGIAZBBEEIIANBA3EiAxsgBWpJDQggA0EA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IAJBMGokACADC78JAQd/IwBB4ABrIgMkAEEBIQUCQAJAAn8CQAJAAkACQAJAAn8CQAJAAkACQAJAAkACQAJAQQMgASgCACIEQQJrIARBAU0bIgRBAWsOAwEAAgALIARBAWsOBQIEAgUGAwsCQCABKAIMIgJFIgQNACABKAIIIQEgAhCQASIFRQ0IIAQNACAFIAEgAvwKAAALIAAgAjYCFCAAIAU2AhAgACACNgIMIABBfzYCAAwNCyABKAIwQQNHDQogASgCLCIFLwAAQeXcAXMgBUECai0AAEH2AHNyDQogA0FAayABIAIQpQUgAygCQCICQX9HBEAgAygCSCIBQQBIDQggAygCRCEFIAFFBEBBASEEDAsLIAEQkAEiBEUNCSABRQ0KIAQgBSAB/AoAAAwKCyAAQX42AgAMDAsACyADQQA2AiwgA0KAgICAEDcCJCADQYilxQA2AkQgA0KggICABjcCSCADIANBJGo2AkAgASADQUBrEMgCDQsgAygCLCEGIAMoAighBEHVzsUAIQdBByEIIAMoAiQMAwsgA0EANgIsIANCgICAgBA3AiQgA0GIpcUANgJEIANCoICAgAY3AkggAyADQSRqNgJAIAEgA0FAaxDIAg0KIAMoAiwhBiADKAIoIQRBsKXFACEHQQchCCADKAIkDAILIANBADYCLCADQoCAgIAQNwIkIANBiKXFADYCRCADQqCAgIAGNwJIIAMgA0EkajYCQCABIANBQGsQyAINCSADKAIsIQYgAygCKCEEQbycyAAhB0EFIQggAygCJAwBCyADQQA2AiwgA0KAgICAEDcCJCADQYilxQA2AkQgA0KggICABjcCSCADIANBJGo2AkAgASADQUBrEMgCDQggAygCLCEGIAMoAighBEG8rMkAIQdBBiEIIAMoAiQLIQVBEAwFC0EBEKcUAAsQnhUAC0EBEKcUAAsgAgRAIAUgAhDZEgsgAEF/NgIMIAAgATYCCCAAIAQ2AgQgACABNgIADAILIANBADYCLCADQoCAgIAQNwIkIANBiKXFADYCRCADQqCAgIAGNwJIIAMgA0EkajYCQCABIANBQGsQyAIEQAwDCyADKAIsIQYgAygCKCEEIAMoAiQhBUG3pcUAIQdBCiEIQTQLIQkgAyAGNgIoIAMgBDYCJCADIAg2AjwgAyAHNgI4IANBBjYCNCAD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A0EBIQACQCADDQAgASgCBCEDIAEoAgAhBgJAAkACQAJAAkACQCABLQAKQYABcUUEQCAEQQFxDQEMBgsgBEEBcUUEQCAGQaCyyABBASADKAIMEQAADQcgASgCACEGIAEoAgQhAwsgAkEBOgAbIAIgAzYCECACIAY2AgwgAkGg68IANgIgIAIgASkCCDcCJCACIAJBG2o2AhQgAiACQQxqIgA2AhwgAEEBQQAQ/QggAiAFNgIsDQMgAi0AJkGAAXENASACKAIcQbTPxQBBASACKAIgKAIMEQAADQMgAkEsaiACQRxqEMYQRQ0CDAMLIAZBiLPJAEECIAMoAgwRAAANBSABKAIEIQMgASgCACEGDAQLIAIoAhxBnePCAEECIAIoAiAoAgwRAAANASACQQE6AD8gAiACKQIcNwIwIAIgAikCJDcCSCACQaDrwgA2AkQgAiACQT9qNgI4IAIgAkEwajYCQCACQSxqIAJBQGsQxhANASACKAJAQaSyyABBAiACKAJEKAIMEQAADQELIAVB4ABqIQACQCACLQAmQYABcUUEQCACKAIcQYizyQBBAiACKAIgKAIMEQAADQIgACACQRxqELsPRQ0BDAILIAIpAiQhCiACKQIcIQsgAkEBOgA/IAIgCzcCMCACIAo3AkggAkGg68IANgJEIAIgAkE/ajYCOCACIAJBMGoiBDYCQCAAIAJBQGsQuw8NASAEQaSyyABBAhD9CA0BCyACKAIcQYiQyQBBASACKAIgKAIMEQAARQ0BC0EBIQAMAgsgAigCHEGkssgAQQIgAigCICgCDBEAACEADAELIAZBAUEAIAMoAgwRAAAgAiAFNgIwBEBBASEADAELAkAgAS0ACkGAAXFFBEBBASEAIAEoAgBBtM/FAEEBIAEoAgQoAgwRAAANAiACQTBqIAEQxhANAgwBCyABKAIAQZ3jwgBBAiABKAIEKAIMEQAABEBBASEADAILIAJBAToADCACQaDrwgA2AkQgAiABKQIANwIcIAIgASkCCDcCSCACIAJBDGo2AiQgAiACQRxqNgJAIAJBMGogAkFAaxDGEARAQQEhAAwCCyACKAJAQaSyyABBAiACKAJEKAIMEQAARQ0AQQEhAAwBCyAFQeAAaiEEAkACQCABLQAKQYABcUUEQCABKAIAQYizyQBBAiABKAIEKAIMEQAABEBBASEA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AiAAKAI0NgIMIAEgA0EEEJYIDAELIAIgBDYCDCABIAJBDGpBBBCWCAsgAkEaIAUoAgAiAyADQRpMG0EaayIENgIMIAEgAkEMakEEEJYIAkACQAJAAkAgBEEBaw4DAAECAwsgAEEMaiABEIoNDAoLIABBDGogARCKDQwJCyACIAAtAAw6AAwgASACQQxqQQEQlggMCAsgAiADQX9GIgM2AgwgASACQQxqQQQQlgggAw0FIAUgARC5AgwHCyACIAAoAgg2AgwgASACQQxqQQQQlggMBgsgAiAAKAIINgIMIAEgAkEMaiIDQQQQlgggACgCDCABEKAFIAIgAC0AEDYCDCABIANBBBCWCAwFCyACIAAoAgQiBDYCDCABIAJBDGoiA0EEEJYIIAAoAgghBQJAIARBAUYEQCAAKAIMIQQgAiAFNgIMIAEgA0EEEJYIIAIgBDYCDCABIANBBBCWCCACIAAoAhA2AgwgASADQQQQlggMAQsgAiAFNgIMIAEgAkEMakEEEJYICyACIAAoAhgiAC0AACIDNgIMIAEgAkEMakEEEJYIAkACQAJAAkACQCADQQNrDgUBAgMDBAALIABBCGohAAwHCyACIAAtAAE6AAwgASACQQxqQQEQlggMBwsgAEEIaiABELkCDAYLIABBCGohAAwECyACIAAtAAE6AAwgASACQQxqQQEQlggMBAsgAiAALQABOgAMIAEgAkEMakEBEJYIDAMLIAIgACgCBDYCDCABIAJBDGpBBBCWCCAAKAIIIQAMAQsLIAIgACgCDCIENgIMIAEgAkEMaiIDQQQQlgggACgCECEFIARBAUYEQCAAKAIUIQQgAiAFNgIMIAEgA0EEEJYIIAIgBDYCDCABIANBBBCWCCACIAAoAhg2AgwgASADQQQQlggMAQsgAiAFNgIMIAEgAkEMakEEEJYICyACQRBqJAALggkBBX8jAEEQayICJAACQANAAkAgAiAALQAAIgM2AgwgASACQQxqQQQQlggCQAJAAkACQAJAAkACQAJAAkACQCADQQFrDgoBAgMEBQYHCAkMAAsgACgCCCEDIAIgACgCDCIANgIMIAEgAkEMakEEEJYIIABFDQsgAEHQAGwhAANAIAMgARChBSADQdAAaiEDIABB0ABrIgANAAsMCwsgACgCCCEDIAIgACgCDCIANgIMIAEgAkEMakEE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KAIUKAIMEQAADQMgA0EMaygCACADQQhrKAIAIAIoAhAgAigCFBC/BkUNAgwDCyAFQYizyQBBAiAEKAIMEQAADQUgASgCBCEEIAEoAgAhBQwECyACKAIQQZ3jwgBBAiACKAIUKAIMEQAADQEgAiACKQIQNwIwIAJBAToAICACIAJBIGo2AjggA0EMaygCACADQQhrKAIAIAJBMGoiAEGg68IAEL8GDQEgAEGkssgAQQIQ/QgNAQsCQCACLQAaQYABcUUEQCACKAIQQYizyQBBAiACKAIUKAIMEQAADQIgAyACQRBqENgBRQ0BDAILIAIpAhghCiACKQIQIQsgAkEBOgAvIAIgCzcCICACIAo3AjggAkGg68IANgI0IAIgAkEvajYCKCACIAJBIGo2AjAgAyACQTBqENgBDQEgAigCMEGkssgAQQIgAigCNCgCDBEAAA0BCyACKAIQQYiQyQBBASACKAIUKAIMEQAARQ0BC0EBIQAMAgsgAigCEEGkssgAQQIgAigCFCgCDBEAACEADAELIAVBAUEAIAQoAgwRAAAEQAwBCwJAIAEtAApBgAFxRQRAIAEoAgBBtM/FAEEBIAEoAgQoAgwRAAANAiADQQxrKAIAIANBCGsoAgAgASgCACABKAIEEL8GDQIMAQsgASgCAEGd48IAQQIgASgCBCgCDBEAAARADAILIAIgASkCADcCMCACQQE6ABAgAiACQRBqNgI4IANBDGsoAgAgA0EIaygCACACQTBqQaDrwgAQvwYEQAwCCyACQTBqQaSyyABBAhD9CEUNAAwBCwJAAkAgAS0ACkGAAXFFBEAgASgCAEGIs8kAQQIgASgCBCgCDBEAAARADAQLIAMgARDYAUUNAQwDCyABKQIIIQogASkCACELIAJBAToAICACIAs3AhAgAiAKNwI4IAJBoOvCADYCNCACIAJBIGo2AhggAiACQRBqNgIwIAMgAkEwahDYAQ0BIAIoAjBBpLLIAEECIAIoAjQoAgwRAAANAgsgASgCAEGIkMkAQQEgASgCBCgCDBEAACEADAELCyADQTBqIQMgCUEwayIJDQALCyAARQRAIAEoAgBBqLLIAEEBIAEoAgQoAgwRAAAhCAsgAkFAayQAIAgL6wgCEH8DfiMAQYABayIDJAAgASgCACEIIAApAwAgACkDCCABKAIEIgkgASgCCCIL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IAIoAmAhAyACKAJkIgEgBDoAkQELIANBAUcNAAsLIAJB0ABqIAEQNiACKAJUIQECfwJAAkAgAigCUEEBRw0AAkAgASgCAEEBRgRAIAEoAgQiAyABKAIITwRAQQEhAwwCCyABIANBAWo2AgQLIAEoAhQhBCACIAEoAogBNgKIASACIAEpAoABNwOAASACQcgAaiABENsCQQEhAyACKAJMIQECQCACKAJIQQFxDQACQCABLQCRAUECRw0AIAEoAgBBAUYEQCABKAIIIgcgASgCBCIFTQ0CIAEgBUEBaiIDNgIEIAMgB08NASABIAVBAmo2AgQLIAFBADoAkQEgAkFAayABEJQKIAIoAkAgAigCRCIBQQI6AJEBQQFxDQADQCABKAIAQQFGBEAgASgCBCIDIAEoAghPDQIgASADQQFqNgIECwJAIAEtAJEBIgVFBEAgAkEwaiABEJQKIAIoAjQhASACKAIwIQMMAQsgAUEAOgCRASACQThqIAEQlAogAigCOCEDIAIoAjwiASAFOgCRAQsgA0EBcUUNAAsLIAJBKGogARCuCyACKAIsIQEgAigCKCEDCyADQQFHDQAgASACKAKIATYCiAEgASACKQOAATcCgAEgBCABKAIUSw0AIAEgBDYCFAsgA0EBRw0AAkAgASgCAEEBRgRAIAEoAgQiAyABKAIITw0BIAEgA0EBajYCBAsCQCABLQCRASIEQQFGBEAgAkEYaiABEIEDIAIoAhwhASACKAIYIQMMAQsgAUEBOgCRASACQSBqIAEQgQMgAigCICEDIAIoAiQiASAEOgCRAQsgA0EBcUUNAQsgAkEQaiABELoFIAIoAhQhASACKAIQQQFxDQELQQAMAQsgAkEIaiABENEDIAIoAgwhASACKAIICyIDQQFHDQEgASACKQNwNwKAASABIAIoAng2AogBIAYgASgCFEsNAQsgASAGNgIUCyAAIAM2AgAgACABNgIEIAJBkAFqJAALvAgBBn8jAEGQAWsiAiQAAkACQAJAAkACQCABKAIAQQFGBEAgASgCBCIDIAEoAggiBEkNAUEBIQMMBQsgASgCFCEGIAIgASgCiAE2AnggAiABKQKAATcDcCABLQCRAUECRg0BDAILIAEgA0EBaiIFNgIEIAEoAhQhBiACIAEoAogBNgJ4IAIgASkCgAE3A3AgAS0AkQFBAkcNASAEIAVNBEBBASEDDAMLIAEgA0ECaiIFNgIEIAQgBU0NASABIANBA2o2AgQLIAFBADoAkQEgAkHoAGogARCUCiACKAJoIAIoAmwiAUECOgCRAUEBcQ0AA0AgASgCAEEBRgRAIAEoAgQiAyABKAIITw0CIAEgA0EBajYCBAsCQCABLQCRASIERQRAIAJB2ABqIAEQlAogAigCXCEBIAIoAlghAwwBCyABQQA6AJEBIAJB4ABqIAEQlAogAigCYCEDIAIoAmQiASAEOgCRAQsgA0EBRw0ACwsgAkHQAGogARDWAiACKAJUIQECfwJAAkAgAigCUEEBRw0AAkAgASgCAEEBRgRAIAEoAgQiAyABKAIITwRAQQEhAwwCCyABIANBAWo2AgQLIAEoAhQhBCACIAEoAogBNgKIASACIAEpAoABNwOAASACQcgAaiABENsCQQEhAyACKAJMIQECQCACKAJIQQFxDQACQCABLQCRAUECRw0AIAEoAgBBAUYEQCABKAIIIgcgASgCBCIFTQ0CIAEgBUEBaiIDNgIEIAMgB08NASABIAVBAmo2AgQLIAFBADoAkQEgAkFAayABEJQKIAIoAkAgAigCRCIBQQI6AJEBQQFxDQADQCABKAIAQQFGBEAgASgCBCIDIAEoAghPDQIgASADQQFqNgIECwJAIAEtAJEBIgVFBEAgAkEwaiABEJQKIAIoAjQhASACKAIwIQMMAQsgAUEAOgCRASACQThqIAEQlAogAigCOCEDIAIoAjwiASAFOgCRAQsgA0EBcUUNAAsLIAJBKGogARCuCyACKAIsIQEgAigCKCEDCyADQQFHDQAgASACKAKIATYCiAEgASACKQOAATcCgAEgBCABKAIUSw0AIAEgBDYCFAsgA0EBRw0AAkAgASgCAEEBRgRAIAEoAgQiAyABKAIITw0BIAEgA0EBajYCBAsCQCABLQCRASIEQQFGBEAgAkEYaiABEIEDIAIoAhwhASACKAIYIQMMAQsgAUEBOgCRASACQSBqIAEQgQMgAigCICEDIAIoAiQiASAEOgCRAQsgA0EBcUUNAQsgAkEQaiABELoFIAIoAhQhASACKAIQQQFxDQELQQAMAQsgAkEIaiABENEDIAIoAgwhASACKAIICyIDQQFHDQEgASACKQNwNwKAASABIAIoAng2AogBIAYgASgCFEsN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IAQgByACQX9GIgkbIANBf0YiChsiAigCACIIIAAgByAEIAobIAkbIgMoAgAiBUcEQCAIIAVrIQUMAQtBBCEFIAgEQCACKAIIIgUgAygCCCIISyAFIAhJayACKAIEIgUgAygCBCIISyAFIAhJayAFIAhGGyIFQf8BcQ0BQQwhBQsgAiAFaigCACIIIAMgBWooAgAiBUsgBSAIS2shBQsgASAHIAAgCRsiACkCGDcCGCABIAApAhA3AhAgASAAKQIINwIIIAEgACkCADcCACABIAIgAyAFQX9GIgcbIgApAhg3AjggASAAKQIQNwIwIAEgACkCCDcCKCABIAApAgA3AiAgASADIAIgBxsiACkCGDcCWCABIAApAhA3AlAgASAAKQIINwJIIAEgACkCADcCQCABIAQgBiAKGyIAKQIANwJgIAEgACkCCDcCaCABIAApAhA3AnAgASAAKQIYNwJ4C7IHAQh/AkACQCAAKAIAIgEEQCAAKAIEIQICQCAAKAIIIggEQAJAA0ACQCADBEAgASEAIAMhAQwBC0EAIQACQCACRQ0AIAIhBCACQQdxIgUEQANAIARBAWshBCABKALIBCEBIAVBAWsiBQ0ACwsgAkEISQ0AA0AgASgCyAQoAsgEKALIBCgCyAQoAsgEKALIBCgCyAQoAsgEIQEgBEEIayIEDQALC0EAIQILAkAgAS8BwgQgAksEQCACIQYgASEEDAELAkADQCABKAK4AyIEBEAgAUEEaygCACICQXhxIQMgA0H4BEHIBCAAGyIFQQRBCCACQQNxIgIbakkNCSABLwHABCEGIAJBAEcgAyAFQSdqS3ENAiABELwFIABBAWohACAEIgEvAcIEIAZNDQEMAwsLIAFB+ARByAQgABsQ2RJBrOrIABCdFQALDAcLAkAgAEUEQCAGQQFqIQIgBCEDDAELIAQgBkECdGpBzARqIQECQCAAQQdxIgJFBEAgACEFDAELIAAhBQNAIAVBAWshBSABKAIAIgNByARqIQEgAkEBayICDQALC0EAIQIgAEEISQ0AA0AgASgCACgCyAQoAsgEKALIBCgCyAQoAsgEKALIBCgCyAQiA0HIBGohASAFQQhrIgUNAAsLAkAgBCAGQQxsaiIBKAK8AyIABEAgAUG8A2ooAgQiBUEEaygCACIHQXhxIQEgAUEEQQggB0EDcSIHGyAA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IAEpAwg3AwggACABKQMANwMADA0LIAAgASkDCDcDCCAAIAEpAwA3AwAMDAsgACABKQMINwMIIAAgASkDADcDAAwLCyAAIAEpAwg3AwggACABKQMANwMADAoLAkAgASgCDCICRQRAQQEhAQwBCyABKAIIIQQgAhCQASIBRQ0LIAJFDQAgASAEIAL8CgAACyAAIAI2AgwgACABNgIIIAAgAjYCBCAAQYyAgIB4NgIADAkLIAAgASkDCDcDCCAAIAEpAwA3AwAMCAsCQCABKAIMIgJFBEBBASEBDAELIAEoAgghBCACEJABIgFFDQogAkUNACABIAQgAvwKAAALIAAgAjYCDCAAIAE2AgggACACNgIEIABBjoCAgHg2AgAMBwsgACABKQMINwMIIAAgASkDADcDAAwGCyAAQZCAgIB4NgIADAULIAMgASgCBBDOBUEQEJABIgFFDQcgASADKQMINwMIIAEgAykDADcDACAAQZGAgIB4NgIAIAAgATYCBAwECyAAQZKAgIB4NgIADAMLIAMgASgCBBDOBUEQEJABIgFFDQYgASADKQMINwMIIAEgAykDADcDACAAQZOAgIB4NgIAIAAgATYCBAwCCyABKAIMIgJBgICAwABPDQYCfyACRQRAQQghBUEADAELIAEoAgghBiACQQR0EJABIgVFDQhBACEBIAIhBANAIAMgASAGahDOBSABIAVqIgcgAykDCDcDCCAHIAMpAwA3AwAgAUEQaiEBIARBAWsiBA0ACyACCyEBIAAgAjYCDCAAIAU2AgggACABNgIEIABBlICAgHg2AgAMAQsgASgCCCICQYCAgCBPDQUCfyACRQRAQQghBUEADAELIAEoAgQhByACQQV0EJABIgVFDQggA0EgaiEIQQAhASACIQQDQCADQRBqIAEgB2oiBhDOBSAIIAZBEGoQzgUgASAFaiIGIAMpAyg3AxggBiADKQMgNwMQIAYgAykDGDcDCCAGIAMpAxA3AwAgAUEgaiEBIARBAWsiBA0ACyACCyEBIAAgAjYCCCAAIAU2AgQgACABNgIACyADQTBqJAAPC0EBEKcUAAtBARCnFAALQbjwyQBBAToAAAALQbjwyQBBAToAAAALEJ4VAAtBCBCnFAALQQgQpxQAC/IHAgl/AX4jAEHgAGsiBSQAIAUgBDYCRCAFIAM2AkAgBUIANwI4IAUgBDYCNCAFIAM2AjAgBSAFQTBqEKEIAkACQAJAAkAgBSgCEEF/RgRAIAVBADYCUCAFQoCAgIDAADcCSCAFKAIAIQwCQCABKAIIQX9GDQBBBCEIA0AgASgCECEJIAEoAgwhCiAFKAJIIAZGBEAgBUHIAGoQlhIgBSgCTCEICyAHIAhqIgsgCjYCACALQQRqIAk2AgAgBSAGQQFqIgY2AlAgB0EIaiEHIAEoAhQiASgCCEF/Rw0ACyAGQQF2IgFFDQAgBSgCTCIIIAZBA3RqIQpBACEJIAFBAUcEQCABQQFxIAFB/v///wdxIQ0gByAIakEIayEGIAghAQNAIAYpAgAhDiAGIAEpAgA3AgAgASAONwIAIAFBCGoiBykCACEOIAcgCiAJQf7///8Bc0EDdGoiBykCADcCACAHIA43AgAgBkEQayEGIAFBEGohASANIAlBAmoiCUcNAAtFDQELIAggCUEDdGoiASkCACEOIAEgCiAJQX9zQQN0aiIBKQIANwIAIAEgDjcCAAtBACEGIAVBADYCXCAFQoCAgIDAADcCVAJAIAIoAghBf0YNAEEEIQhBACEBA0AgAigCECEHIAIoAgwhCSAFKAJUIAFGBEAgBUHUAGoQlhIgBSgCWCEICyAGIAhqIgogCTYCACAKQQRqIAc2AgAgBSABQQFqIgE2AlwgBkEIaiEGIAIoAhQiAigCCEF/Rw0ACyABQQF2IgJFDQAgBSgCWCIIIAFBA3RqIQlBACEHIAJBAUcEQCACQQFxIAJB/v///wdxIQsgBiAIakEIayEBIAghAgNAIAEpAgAhDiABIAIpAgA3AgAgAiAONwIAIAJBCGoiBikCACEOIAYgCSAHQf7///8Bc0EDdGoiBikCADcCACAGIA43AgAgAUEQayEBIAJBEGohAiALIAdBAmoiB0cNAAtFDQELIAggB0EDdGoiASkCACEOIAEgCSAHQX9zQQN0aiIBKQIANwIAIAEgDjcCAAsgBEEASA0BIARFBEBBASECDAQLIAQQkAEiAkUNAiAERQ0DIAIgAyAE/AoAAAwDCyAAIAUpAyg3AyggACAFKQMgNwMgIAAgBSkDGDcDGCAAIAUpAxA3AxAgACAFKQMINwMIIAAgBSkDADcDACAAQX82AjAMAwsQnhUAC0EBEKcUAAsgBSAENgI4IAUgAjYCNCAFIAQ2AjBBBBCQASIBRQRAQbjwyQBBAToAAAALIAEgDDYCACAAIAVByABqIAVB1ABqIAVBMGpBkI3GAEELIAFB5IzGABCdAQsgBUHgAGokAAuVCQEFfyMAQSBrIgIkAAJAAkACQAJAAkACQCAAKAIAIgUoAgBBAWsOBAECAwQAC0EBIQAgASgCACIDQfSXyQBBBSABKAIEIgYoAgwiBBEAAA0EAkAgAS0ACkGAAXFFBEAgA0G0z8UAQQEgBBEAAA0GIAUoAgQgARDOAkUNAQwGCyADQZ3jwgBBAiAEEQAADQUgAkEBOgAPIAIgBjYCBCACQaDrwgA2AhQgAiABKQIINwIYIAIgAzYCACACIAJBD2o2AgggAiACNgIQIAUoAgQgAkEQahDOAg0FIAIoAhBBpLLIAEECIAIoAhQoAgwRAAANBQsgASgCAEGIkMkAQQEgASgCBCgCDBEAACEADAQLQQEhACABKAIAIgNB+ZfJAEEHIAEoAgQiBigCDCIEEQAADQMCQCABLQAKQYABcUUEQCADQbTPxQBBASAEEQAADQUgBSgCBCABEM4CRQ0BDAULIANBnePCAEECIAQRAAANBCACQQE6AA8gAiAGNgIEIAJBoOvCADYCFCACIAEpAgg3AhggAiADNgIAIAIgAkEPajYCCCACIAI2AhAgBSgCBCACQRBqEM4CDQQgAigCEEGkssgAQQIgAigCFCgCDBEAAA0ECyABKAIAQYiQyQBBASABKAIEKAIMEQAAIQAMAwtBASEAIAEoAgAiA0GAmMkAQQMgASgCBCIGKAIMIgQRAAANAgJAIAEtAApBgAFxRQRAIANBtM/FAEEBIAQRAAANBCAFKAIEIAEQzgJFDQEMBAsgA0Gd48IAQQIgBBEAAA0DIAJBAToADyACIAY2AgQgAkGg68IANgIUIAIgASkCCDcCGCACIAM2AgAgAiACQQ9qNgIIIAIgAjYCECAFKAIEIAJBEGoQzgINAyACKAIQQaSyyABBAiACKAIUKAIMEQAADQMLIAEoAgBBiJDJAEEBIAEoAgQoAgwRAAAhAAwCC0EBIQAgASgCACIDQYOYyQBBAyABKAIEIgYoAgwiBBEAAA0BAkAgAS0ACkGAAXFFBEAgA0G0z8UAQQEgBBEAAA0DIAUoAgQgARDOAkUNAQwDCyADQZ3jwgBBAiAEEQAADQIgAkEBOgAPIAIgBjYCBCACQaDrwgA2AhQgAiABKQIINwIYIAIgAzYCACACIAJBD2o2AgggAiACNgIQIAUoAgQgAkEQahDOAg0CIAIoAhBBpLLIAEECIAIoAhQoAgwRAAANAgsgASgCAEGIkMkAQQEgASgCBCgCDBEAACEADAELQQEhACABKAIAIgNBhpjJAEEDIAEoAgQiBigCDCIEEQAADQACQCABLQAKQYABcUUEQCADQbTPxQBBASAEEQAADQIgBSgCBCABEM4CRQ0BDAILIANBnePCAEECIAQRAAANASACQQE6AA8gAiAGNgIEIAJBoOvCADYCFCACIAEpAgg3AhggAiADNgIAIAIgAkEPajYCCCACIAI2AhAgBSgCBCACQRBqEM4CDQEgAigCEEGkssgAQQIgAigCFCgCDBEAAA0BCyABKAIAQYiQyQBBASABKAIEKAIMEQAAIQALIAJBIGokACAAC5UJAQV/IwBBIGsiAiQAAkACQAJAAkACQAJAIAAoAgAiBSgCAEEBaw4EAQIDBAALQQEhACABKAIAIgNB9JfJAEEFIAEoAgQiBigCDCIEEQAADQQCQCABLQAKQYABcUUEQCADQbTPxQBBASAEEQAADQYgBSgCBCABEM8CRQ0BDAYLIANBnePCAEECIAQRAAANBSACQQE6AA8gAiAGNgIEIAJBoOvCADYCFCACIAEpAgg3AhggAiADNgIAIAIgAkEPajYCCCACIAI2AhAgBSgCBCACQRBqEM8CDQUgAigCEEGkssgAQQIgAigCFCgCDBEAAA0FCyABKAIAQYiQyQBBASABKAIEKAIMEQAAIQAMBAtBASEAIAEoAgAiA0H5l8kAQQcgASgCBCIGKAIMIgQRAAANAwJAIAEtAApBgAFxRQRAIANBtM/FAEEBIAQRAAANBSAFKAIEIAEQzwJFDQEMBQsgA0Gd48IAQQIgBBEAAA0EIAJBAToADyACIAY2AgQgAkGg68IANgIUIAIgASkCCDcCGCACIAM2AgAgAiACQQ9qNgIIIAIgAjYCECAFKAIEIAJBEGoQzwINBCACKAIQQaSyyABBAiACKAIUKAIMEQAADQQLIAEoAgBBiJDJAEEBIAEoAgQoAgwRAAAhAAwDC0EBIQAgASgCACIDQYCYyQBBAyABKAIEIgYoAgwiBBEAAA0CAkAgAS0ACkGAAXFFBEAgA0G0z8UAQQEgBBEAAA0EIAUoAgQgARDPAkUNAQwECyADQZ3jwgBBAiAEEQAADQMgAkEBOgAPIAIgBjYCBCACQaDrwgA2AhQgAiABKQIINwIYIAIgAzYCACACIAJBD2o2AgggAiACNgIQIAUoAgQgAkEQahDPAg0DIAIoAhBBpLLIAEECIAIoAhQoAgwRAAANAwsgASgCAEGIkMkAQQEgASgCBCgCDBEAACEADAILQQEhACABKAIAIgNBg5jJAEEDIAEoAgQiBigCDCIEEQAADQECQCABLQAKQYABcUUEQCADQbTPxQBBASAEEQAADQMgBSgCBCABEM8CRQ0BDAMLIANBnePCAEECIAQRAAANAiACQQE6AA8gAiAGNgIEIAJBoOvCADYCFCACIAEpAgg3AhggAiADNgIAIAIgAkEPajYCCCACIAI2AhAgBSgCBCACQRBqEM8CDQIgAigCEEGkssgAQQIgAigCFCgCDBEAAA0CCyABKAIAQYiQyQBBASABKAIEKAIMEQAAIQAMAQtBASEAIAEoAgAiA0GGmMkAQQMgASgCBCIGKAIMIgQRAAANAAJAIAEtAApBgAFxRQRAIANBtM/FAEEBIAQRAAANAiAFKAIEIAEQzwJFDQEMAgsgA0Gd48IAQQIgBBEAAA0BIAJBAToADyACIAY2AgQgAkGg68IANgIUIAIgASkCCDcCGCACIAM2AgAgAiACQQ9qNgIIIAIgAjYCECAFKAIEIAJBEGoQzwINASACKAIQQaSyyABBAiACKAIUKAIMEQAADQELIAEoAgBBiJDJAEEBIAEoAgQoAgwRAAAhAAsgAkEgaiQAIAALlQkBBX8jAEEgayICJAACQAJAAkACQAJAAkAgACgCACIFKAIAQQFrDgQBAgMEAAtBASEAIAEoAgAiA0H0l8kAQQUgASgCBCIGKAIMIgQRAAANBAJAIAEtAApBgAFxRQRAIANBtM/FAEEBIAQRAAANBiAFKAIEIAEQ0AJFDQEMBgsgA0Gd48IAQQIgBBEAAA0FIAJBAToADyACIAY2AgQgAkGg68IANgIUIAIgASkCCDcCGCACIAM2AgAgAiACQQ9qNgIIIAIgAjYCECAFKAIEIAJBEGoQ0AINBSACKAIQQaSyyABBAiACKAIUKAIMEQAADQULIAEoAgBBiJDJAEEBIAEoAgQoAgwRAAAhAAwEC0EBIQAgASgCACIDQfmXyQBBByABKAIEIgYoAgwiBBEAAA0DAkAgAS0ACkGAAXFFBEAgA0G0z8UAQQEgBBEAAA0FIAUoAgQgARDQAkUNAQwFCyADQZ3jwgBBAiAEEQAADQQgAkEBOgAPIAIgBjYCBCACQaDrwgA2AhQgAiABKQIINwIYIAIgAzYCACACIAJBD2o2AgggAiACNgIQIAUoAgQgAkEQahDQAg0EIAIoAhBBpLLIAEECIAIoAhQoAgwRAAANBAsgASgCAEGIkMkAQQEgASgCBCgCDBEAACEADAMLQQEhACABKAIAIgNBgJjJAEEDIAEoAgQiBigCDCIEEQAADQICQCABLQAKQYABcUUEQCADQbTPxQBBASAEEQAADQQgBSgCBCABENACRQ0BDAQLIANBnePCAEECIAQRAAANAyACQQE6AA8gAiAGNgIEIAJBoOvCADYCFCACIAEpAgg3AhggAiADNgIAIAIgAkEPajYCCCACIAI2AhAgBSgCBCACQRBqENACDQMgAigCEEGkssgAQQIgAigCFCgCDBEAAA0DCyABKAIAQYiQyQBBASABKAIEKAIMEQAAIQAMAgtBASEAIAEoAgAiA0GDmMkAQQMgASgCBCIGKAIMIgQRAAANAQJAIAEtAApBgAFxRQRAIANBtM/FAEEBIAQRAAANAyAFKAIEIAEQ0AJFDQEMAwsgA0Gd48IAQQIgBBEAAA0CIAJBAToADyACIAY2AgQgAkGg68IANgIUIAIgASkCCDcCGCACIAM2AgAgAiACQQ9qNgIIIAIgAjYCECAFKAIEIAJBEGoQ0AINAiACKAIQQaSyyABBAiACKAIUKAIMEQAADQILIAEoAgBBiJDJAEEBIAEoAgQoAgwRAAAhAAwBC0EBIQAgASgCACIDQYaYyQBBAyABKAIEIgYoAgwiBBEAAA0AAkAgAS0ACkGAAXFFBEAgA0G0z8UAQQEgBBEAAA0CIAUoAgQgARDQAkUNAQwCCyADQZ3jwgBBAiAEEQAADQEgAkEBOgAPIAIgBjYCBCACQaDrwgA2AhQgAiABKQIINwIYIAIgAzYCACACIAJBD2o2AgggAiACNgIQIAUoAgQgAkEQahDQAg0BIAIoAhBBpLLIAEECIAIoAhQoAgwRAAANAQsgASgCAEGIkMkAQQEgASgCBCgCDBEAACEACyACQSBqJAAgAAuVCQEFfyMAQSBrIgIkAAJAAkACQAJAAkACQCAAKAIAIgUoAgBBAWsOBAECAwQAC0EBIQAgASgCACIDQfSXyQBBBSABKAIEIgYoAgwiBBEAAA0EAkAgAS0ACkGAAXFFBEAgA0G0z8UAQQEgBBEAAA0GIAUoAgQgARDRAkUNAQwGCyADQZ3jwgBBAiAEEQAADQUgAkEBOgAPIAIgBjYCBCACQaDrwgA2AhQgAiABKQIINwIYIAIgAzYCACACIAJBD2o2AgggAiACNgIQIAUoAgQgAkEQahDRAg0FIAIoAhBBpLLIAEECIAIoAhQoAgwRAAANBQsgASgCAEGIkMkAQQEgASgCBCgCDBEAACEADAQLQQEhACABKAIAIgNB+ZfJAEEHIAEoAgQiBigCDCIEEQAADQMCQCABLQAKQYABcUUEQCADQbTPxQBBASAEEQAADQUgBSgCBCABENECRQ0BDAULIANBnePCAEECIAQRAAANBCACQQE6AA8gAiAGNgIEIAJBoOvCADYCFCACIAEpAgg3AhggAiADNgIAIAIgAkEPajYCCCACIAI2AhAgBSgCBCACQRBqENECDQQgAigCEEGkssgAQQIgAigCFCgCDBEAAA0ECyABKAIAQYiQyQBBASABKAIEKAIMEQAAIQAMAwtBASEAIAEoAgAiA0GAmMkAQQMgASgCBCIGKAIMIgQRAAANAgJAIAEtAApBgAFxRQRAIANBtM/FAEEBIAQRAAANBCAFKAIEIAEQ0QJFDQEMBAsgA0Gd48IAQQIgBBEAAA0DIAJBAToADyACIAY2AgQgAkGg68IANgIUIAIgASkCCDcCGCACIAM2AgAgAiACQQ9qNgIIIAIgAjYCECAFKAIEIAJBEGoQ0QINAyACKAIQQaSyyABBAiACKAIUKAIMEQAADQMLIAEoAgBBiJDJAEEBIAEoAgQoAgwRAAAhAAwCC0EBIQAgASgCACIDQYOYyQBBAyABKAIEIgYoAgwiBBEAAA0BAkAgAS0ACkGAAXFFBEAgA0G0z8UAQQEgBBEAAA0DIAUoAgQgARDRAkUNAQwDCyADQZ3jwgBBAiAEEQAADQIgAkEBOgAPIAIgBjYCBCACQaDrwgA2AhQgAiABKQIINwIYIAIgAzYCACACIAJBD2o2AgggAiACNgIQIAUoAgQgAkEQahDRAg0CIAIoAhBBpLLIAEECIAIoAhQoAgwRAAANAgsgASgCAEGIkMkAQQEgASgCBCgCDBEAACEADAELQQEhACABKAIAIgNBhpjJAEEDIAEoAgQiBigCDCIEEQAADQACQCABLQAKQYABcUUEQCADQbTPxQBBASAEEQAADQIgBSgCBCABENECRQ0BDAILIANBnePCAEECIAQRAAANASACQQE6AA8gAiAGNgIEIAJBoOvCADYCFCACIAEpAgg3AhggAiADNgIAIAIgAkEPajYCCCACIAI2AhAgBSgCBCACQRBqENECDQEgAigCEEGkssgAQQIgAigCFCgCDBEAAA0BCyABKAIAQYiQyQBBASABKAIEKAIMEQAAIQALIAJBIGokACAAC6kHAQx/IwBBEGsiByQAIAJBAE4EQEEBIQ0CQCACBEAgAhCQASINRQ0BCyAHQQA2AgwgByANNgIIIAcgAjYCBCADQYGChAhsIRAgA0H/AXEhCwNAIAUhCAJAAkADQCABIAVqIQkCQAJAAkACQCACIAVrIgxBCE8EQCAJQQNqQXxxIgMgCUYNASADIAlrIQNBACEGA0AgBiAJai0AACALRg0FIAZBAWoiBiADRw0ACyAMQQhrIgYgA0kNAwwCCyACIAVGBEAgCCEFDAcLIAsgCS0AAEYEQEEAIQYMBAsgDEEBRgRAIAghBQwHCyALIAktAAFGBEBBASEGDAQLIAxBAkYEQCAIIQUMBwsgCyAJLQACRgRAQQIhBgwECyAMQQNGBEAgCCEFDAcLIAsgCS0AA0YEQEEDIQYMBAsgDEEERgRAIAghBQwHCyALIAktAARGBEBBBCEGDAQLIAxBBUYEQCAIIQUMBwsgCyAJLQAFRgRAQQUhBgwECyAMQQZGBEAgCCEFDAcLIAsgCS0ABkcEQCAIIQUMBwtBBiEGDAMLIAxBCGshBkEAIQMLA0AgAyAJaiIOKAIAIBBzIg9BgIKECCAPa3IgDkEEaigCACAQcyIPQYCChAggD2tycUGAgYKEeHFBgIGChHhHDQEgBiADQQhqIgNPDQALCyADIAxGBEAgCCEFDAQLIAMgCWohDiACIANrIAVrIQ9BACEGAkADQCAGIA5qLQAAIAtGDQEgDyAGQQFqIgZHDQALIAghBQwECyADIAZqIQYLIAUgBmoiDkEBaiEFIAIgDksEQCABIA5qLQAAIAtGDQILIAIgBU8NAAsgCCEFDAELAkACQCAOIAhrIgMgBygCBCIPIAprSwRAIAdBBGogCiADEMQRIAcoAgQhDyAHKAIIIQ0gBygCDCEKDAELIAggDkYNAQsgA0UNACAKIA1qIAEgCGogA/wKAAALIAcgAyAKaiIDNgIMIA8gA2tBAk0EQCAHQQRqIANBAxDEESAHKAIIIQ0gBygCDCEDCyADIA1qIgggBC0AAjoAAiAIIAQvAAA7AAAgByADQQNqIgo2AgwgAiAFTw0BCwsCQAJAIAIgBWsiAyAHKAIEIAprSwRAIAdBBGogCiADEMQRIAcoAgghDSAHKAIMIQoMAQsgAiAFRg0BCyADRQ0AIAogDWogASAFaiAD/AoAAAsgACAHKQIENwIAIAAgAyAKajYCCCAHQRBqJAAPC0EBEKcUAAsQnhUAC6gHAQd/AkACQCAAKAIAIgEEQCAAKAIEIQICQCAAKAIIIgcEQAJAA0ACQCADBEAgASEAIAMhAQwBC0EAIQACQCACRQ0AIAIhBCACQQdxIgUEQANAIARBAWshBCABKAKQAiEBIAVBAWsiBQ0ACwsgAkEISQ0AA0AgASgCkAIoApACKAKQAigCkAIoApACKAKQAigCkAIoApACIQEgBEEIayIEDQALC0EAIQILAkAgAS8BjgIgAksEQCACIQYgASEEDAELAkADQCABKAIAIgQEQCABQQRrKAIAIgJBeHEhAyADQcACQZACIAAbIgVBBEEIIAJBA3EiAhtySQ0JIAEvAYwCIQYgAkEARyADIAVBJ3JLcQ0CIAEQvAUgAEEBaiEAIAQiAS8BjgIgBk0NAQwDCwsgAUHAAkGQAiAAGxDZEkGs6sgAEJ0VAAsMBwsCQCAARQRAIAZBAWohAiAEIQMMAQsgBCAGQQJ0akGUAmohAQJAIABBB3EiAkUEQCAAIQUMAQsgACEFA0AgBUEBayEFIAEoAgAiA0GQAmohASACQQFrIgINAAsLQQAhAiAAQQhJDQADQCABKAIAKAKQAigCkAIoApACKAKQAigCkAIoApACKAKQAiIDQZACaiEBIAVBCGsiBQ0ACwsCQCAEIAZBDGxqIgAoAgQiAQRAIABBBGooAgQiBUEEaygCACIGQXhxIQQgBEEEQQggBkEDcSIGGyABakkNASAGQQBHIAQgAUEnaktxDQMgBRC8BQsgAEGIAWoQlAVBACEBIAdBAWsiBw0BDAQLCwwECwwECyACRQRAIAEhAwwBCwJAIAJBB3EiAEUEQCABIQMgAiEBDAELIAEhAyACIQEDQCABQQFrIQEgAygCkAIhAyAAQQFrIgANAAsLIAJBCEkNAANAIAMoApACKAKQAigCkAIoApACKAKQAigCkAIoApACKAKQAiEDIAFBCGsiAQ0ACwsgAygCACIEBH9BACEBA0AgA0EEaygCACICQXhxIQAgAEHAAkGQAiABGyIFQQRBCCACQQNxIgIbckkNAyACQQBHIAAgBUEncktxDQQgAxC8BSABQQFqIQEgBCIDKAIAIgQNAAtBwAJBkAIgARsFQZACCyEBIANBBGsoAgAiBEF4cSEAIABBBEEIIARBA3EiBBsgAXJJDQEgBEEARyAAIAFBJ3JLcQ0CIAMQvAULDwtB0JzJAEEuQYCdyQAQrxQAC0GQnckAQS5BwJ3JABCvFAAL8QcBCn8jAEEgayIEJAACQCAAKAIAQQFGBEAgACgCBCIBIAAoAghPDQEgACABQQFqNgIECyAAKAKMASICIAAoAogBIgFGBEAgACgCICEGIAAoAiwhAwsgACgCFCEFAkAgAC0AkAFBAkcNACAALQCRAUUNACAAKAIMIAVGBEAgAEEMahCaEgsgACgCECAFQRRsaiICIAE2AgggAkEANgIEIAJBADoAACAAIAVBAWo2AhQgACgCjAEhAgsgASACRgRAIAAoAiwgACgCIGohBwsgACgCeCEJIAAoAlwhCiAEQRhqIAAQ5gIgBCgCHCEAAn8CQCAEKAIYQQFHDQAgBEEQaiAAEJECIAQoAhQhACAEKAIQQQFHDQAgBEEIaiAAEMUBIAQoAgwhACAEKAIIDAELQQALIQggAC0AkAEhAgJAAkACQAJAAkACQAJAIAhBAUYEQCACQf8BcUEBRg0IIAAtAJEBRQ0DIAAoAowBIgIgAUcNASAHIAAoAiAiASAAKAIsIgJqIghJIAggB2tBAUZxDQMgASAGTwRAIAAgBjYCICAGIQELIAIgA0kNAiAAIAM2AiwMAgsgAkH/AXFBAUYEfyAALQCRAUUNBwJAIAEgACgCjAEiAkYEQCAHIAAoAiwiASAAKAIgIgJqIghJIAggB2tBAUZxDQkgAiAGTwRAIAAgBjYCIAsgASADSQ0BIAAgAzYCLCADIQEMAQsgASACTQ0IIAAgATYCjAFBACEBIABBADYCLCAAQQA2AiALIAAoAiQgAUYEQCAAQSRqEKMSCyAAKAIoIAFqQR06AAAgACABQQFqNgIsIAAtAJABBSACC0H/AXFBAkcNBiAALQCRAUUNBiAAKAIUIgEgBU0NAyAAKAIQIAVBFGxqIgMtAAANBCADIAE2AgQgACgCiAEhBiAAKAIUIgMgACgCDEYEQCAAQQxqEJoSCyAAKAIQIANBFGxqIgEgBjYCECABQQA2AgggASAFNgIEIAFBgTo7AQAgACADQQFqNgIUDAYLIAEgAk0NASAAIAE2AowBQQAhASAAQQA2AiwgAEEANgIgCyAAKAIYIAFGBEAgAEEYahCjEgsgACABQQFqNgIgIAAoAhwgAWpBHToAAAsgAC0AfEEBRw0CIAAtAJEBRQ0CIABB1ABqQR0gCkEAIAAoAnggCU0bEJMFDAILIAUgAUGcisgAEIUTAAtBoKvJAEEoQayKyAAQrxQACyAALQCQAUECRw0BIAAtAJEBRQ0BIAUgACgCFEsNASAAIAU2AhQMAQsgAC0AfEUNACAALQCRAUUNACAAQdQAakEdIApBACAAKAJ4IAlNGxCTBQsgBEEgaiQAIAALjAYBC38CQAJAAkAgACgCAEF/Rg0AIAAQeSAAKAIcIgRBAEoEQCAAKAIgIgFBBGsoAgAiA0F4cSECIAJBBEEIIANBA3EiAxsgBGpJDQMgA0EARyACIARBJ2pLcQ0CIAEQvAULIAAoAigiBEEASgRAIAAoAiwiAUEEaygCACIDQXhxIQIgAkEEQQggA0EDcSIDGyAEakkNAyADQQBHIAIgBEEnaktxDQIgARC8BQsgACgCFCEHIAAoAhgiCwRAA0ACQAJAIAcgCEEMbGoiASgCACIJQX9GBEAgASgCBCIDEJcEIANBBGsoAgAiAkEDcSEBIAJBeHFBtAFBuAEgARtJDQcgAUUNASACQdgBSQ0BDAYLIAEoAgQhAyABKAIIIgoEQCADIQEDQAJAIAFB5ABqKAIAIgVBf0YNACAFRQ0AIAFB6ABqKAIAIgRBBGsoAgAiAkF4cSEGIAZBBEEIIAJBA3EiAhsgBWpJDQkgAkEARyAGIAVBJ2pLcQ0IIAQQvAULIAFB8ABqENcFIAFB2ABqKAIAIgVBAEoEQCABQdwAaigCACIEQQRrKAIAIgJBeHEhBiAGQQRBCCACQQNxIgIbIAVqSQ0JIAJBAEcgBiAFQSdqS3ENCCAEELwFCyABQRBqIgIoAgBBfk4EQCACELcECyABKAIAIgVBAEoEQCABQQRqKAIAIgRBBGsoAgAiAkF4cSEGIAZBBEEIIAJBA3EiAhsgBWpJDQkgAkEARyAGIAVBJ2pLcQ0IIAQQvAULIAFBsAFqIQEgCkEBayIKDQALCyAJRQ0BIANBBGsoAgAiAUF4cSEEIAQgCUGwAWwiAkEEQQggAUEDcSIBG3JJDQYgAUUNACAEIAJBJ2pLDQULIAMQvAULIAhBAWoiCCALRw0ACwsgACgCECIDRQ0AIAdBBGsoAgAiAEF4cSEBIAEgA0EMbCIDQQRBCCAAQQNxIgAbakkNAiAAQQBHIAEgA0EnaktxDQEgBxC8BQsPC0GQnckAQS5BwJ3JABCvFAALQdCcyQBBLkGAnckAEK8UAAumCAEGfyMAQYABayICJAACQAJAAkACQCABKAIAQQFGBEAgASgCBCIEIAEoAggiBU8EQEEBIQMMBQtBASEDIAEgBEEBaiIGNgIEIAEoAhQhByACIAEoAogBNgJoIAIgASkCgAE3A2AgAS0AkQFBAkcNAiAFIAZNDQMgASAEQQJqIgM2AgQgAyAFTw0CIAEgBEEDajYCBAwBCyABKAIUIQcgAiABKAKIATYCaCACIAEpAoABNwNgIAEtAJEBQQJHDQELQQAhAyABQQA6AJEBIAJB2ABqIAEQlAogAigCWCACKAJcIgFBAjoAkQFBAXENAQNAIAEoAgBBAUYEQCABKAIEIgMgASgCCE8NAiABIANBAWo2AgQLAkAgAS0AkQEiBEUEQCACQcgAaiABEJQKIAIoAkwhASACKAJIIQMMAQsgAUEAOgCRASACQdAAaiABEJQKIAIoAlAhAyACKAJUIgEgBDoAkQELIANBAUcNAAsLQQAhAwsCQCADQQFxDQACQCABKAIAQQFGBEAgASgCBCIDIAEoAghPBEBBASEDDAILIAEgA0EBajYCBAsgASgCFCEEIAIgASgCiAE2AnggAiABKQKAATcDcCACQUBrIAEQ3QJBASEDIAIoAkQhAQJAIAIoAkBBAXENAAJAIAEtAJEBQQJHDQAgASgCAEEBRgRAIAEoAgQiBSABKAIIIgZPDQIgASAFQQFqIgM2AgQgAyAGTw0BIAEgBUECajYCBAsgAUEAOgCRASACQThqIAEQlAogAigCOCACKAI8IgFBAjoAkQFBAXENAANAIAEoAgBBAUYEQCABKAIEIgMgASgCCE8NAiABIANBAWo2AgQLAkAgAS0AkQEiBUUEQCACQShqIAEQlAogAigCLCEBIAIoAighAwwBCyABQQA6AJEBIAJBMGogARCUCiACKAIwIQMgAigCNCIBIAU6AJEBCyADQQFxRQ0ACwsgAkEgaiABEK4LIAIoAiQhASACKAIgIQMLIANBAUcNACABIAIoAng2AogBIAEgAikDcDcCgAEgBCABKAIUSw0AIAEgBDYCFAsCQAJAIANBAUcNAAJAIAEoAgBBAUYEQCABKAIEIgMgASgCCE8NASABIANBAWo2AgQLAkAgAS0AkQEiBEEBRgRAIAJBEGogARCBAyACKAIUIQEgAigCECEDDAELIAFBAToAkQEgAkEYaiABEIEDIAIoAhghAyACKAIcIgEgBDoAkQELIANBAXFFDQELIAJBCGogARC6BSACKAIMIQEgAigCCEEBcQ0BC0EAIQMMAQsgAiABENEDIAIoAgQhASACKAIAIQMLIANBAUcNACABIAIoAmg2AogBIAEgAikDYDcCgAEgByABKAIUSw0AIAEgBzYCFAsgACADNgIAIAAgATYCBCACQYABaiQAC+4GAgd/AX4jAEEQayIHJAACQAJAIAJFBEBBBCECDAELIAEtAABBMGsiBUH/AXFBCUsEQEEDIQIMAQsgBa1C/wGDIQpBASEDAkAgAkEBRg0AAkAgAgJ/QQEgAS0AASIFQTBrIgRB/wFxQQlLDQAaIApCCn4gBK1C/wGDfCEKQQIhAyACQQJGDQJBAiABLQACIgVBMGsiBEH/AXFBCUsNABogCkIKfiAErUL/AYN8IQpBAyEDIAJBA0YNAkEDIAEtAAMiBUEwayIEQf8BcUEJSw0AGiAKQgp+IAStQv8Bg3whCkEEIQMgAkEERg0CQQQgAS0ABCIFQTBrIgRB/wFxQQlLDQAaIApCCn4gBK1C/wGDfCEKQQUhAyACQQVGDQJBBSABLQAFIgVBMGsiBEH/AXFBCUsNABogCkIKfiAErUL/AYN8IQpBBiEDIAJBBkYNAkEGIAEtAAYiBUEwayIEQf8BcUEJSw0AGiAKQgp+IAStQv8Bg3whCkEHIQMgAkEHRg0CQQcgAS0AByIFQTBrIgRB/wFxQQlLDQAaIApCCn4gBK1C/wGDfCEKQQghAyACQQhGDQIgAS0ACCIFQTBrIgRB/wFxQQpJDQFBCAsiA0sgBcBBv39KcQ0BIAEgAiADIAJBoMjCABD9FAALIApCCn4gBK1C/wGDfCEKQQkhAyACQQpJDQAgASwACUG/f0oNACABIAJBCSACQZDIwgAQ/RQACyAHIApCACADQQN0KQPIykIiCiAKQj+HEO4RIAcpAwggBykDACIKQj+HUQRAIAEgAmohCCACIANrIQRBACECIAEgA2oiCSEBA0ACQCACIQUgASICIAhGBEAgBCEFDAELAn8gAiwAACIDQQBOBEAgA0H/AXEhAyACQQFqDAELIAItAAFBP3EhBiADQR9xIQEgA0FfTQRAIAFBBnQgBnIhAyACQQJqDAELIAItAAJBP3EgBkEGdHIhBiADQXBJBEAgBiABQQx0ciEDIAJBA2oMAQsgAUESdEGAgPAAcSACLQADQT9xIAZBBnRyciEDIAJBBGoLIgEgBSACa2ohAiADQTprQXVLDQELCyAAIAo3AwggACAEIAVrNgIEIAAgBSAJajYCAAwCCyAAQQA2AgAgAEEAOgAEDAELIABBADYCACAAIAI6AAQLIAdBEGokAAuqCAELfyMAQTBrIgIkACABKAIAIgUoAgBBAWohAyAFIAM2AgAgAkEANgIYIAJCgICAgMAANwIQAkACQAJAAkACQAJAAkACQAJAAkAgA0UNACABKAIMIgcoAgBBAWohAyAHIAM2AgAgA0UNACABKAIQIgMgBSgCECIETw0BIAUoAgwiCCADQRRsaiIJLQAADQIgA0EBaiIDIAkoAgQiCU8NCCADIARPDQkgCCADQRRsaiIGLQAADQMgASgCCCELIAEoAgQhDCAGKAIEQQFqIgEgCUkEQANAIAEgBE8EQCABIQMMDAsgCCABQRRsaiIBLQAADQUgCSABKAIEQQFqIgFLDQALC0EAIQZBBCEBA0AgBSAFKAIAQQFqIgQ2AgAgBEUNASAHIAcoAgBBAWoiBDYCACAERQ0BIAUoAhAiBCADTQ0FIAUoAgwiCCADQRRsaiIKLQAADQYgAiADNgIsIAIgBzYCKCACIAs2AiQgAiAMNgIgIAIgBTYCHCAKKAIEIgMgBE8NByAIIANBFGxqIgQtAABFDQggA0EBaiEDAkACQAJAAkACQAJAIAQtAAFBHmsOCQIBAAMAAAABAQALIAJBHGpB2JrIAEENQeiayAAQtQ0LIAUgBSgCAEEBayIENgIAIARFBEAgBRCBEAsgByAHKAIAQQFrIgQ2AgAgBA0DIAcQ9g8MAwsgAiACQRxqEP0EIAIoAgQhBCACKAIAIQggAigCECAGRgRAIAJBEGoQlhILIAIoAhQiASAGQQN0aiIKIAQ2AgQMAQsgAkEIaiACQRxqEOAGIAIoAgwhBCACKAIIIQggAigCECAGRgRAIAJBEGoQlhIgAigCFCEBCyABIAZBA3RqIgogBDYCBAsgCiAINgIAIAIgBkEBaiIGNgIYCyADIAlJDQALDAgLAAsgAyAEQcSMyAAQhRMAC0Ggq8kAQShB1IzIABCvFAALQaCryQBBKEHwisgAEK8UAAsgAyAEQaSNyAAQhRMAC0Ggq8kAQShBtI3IABCvFAALIAMgBEGEjcgAEIUTAAtBoKvJAEEoQZSNyAAQrxQACyAFIAUoAgBBAWsiATYCACABRQRAIAUQgRALIAcgBygCAEEBayIBNgIAIAFFBEAgBxD2DwsCQCAGRQRAIABBfzYCAAwBCyAAIAIoAhQgBhDeCgsCQAJAIAIoAhAiAQRAIAIoAhQiA0EEaygCACIGQXhxIQAgACABQQN0IgFBBEEIIAZBA3EiBhtqSQ0BIAZBAEcgACABQSdqS3ENAiADELwFCyAFIAUoAgBBAWsiADYCACAARQRAIAUQgRALIAcgBygCAEEBayIANgIAIABFBEAgBxD2DwsgAkEwaiQADwtB0JzJAEEuQYCdyQAQrxQAC0GQnckAQS5BwJ3JABCvFAALIAMgBEHgisgAEIUTAAuoCAEHfyMAQdAAayICJAACQAJAAkACQAJAIAAoAgAiA0EERw0AIAAoAgghBAJAAkAgACgCDEEEaw4CAAECCyAEKAAAQfTk1asGRw0BQQEhAAwCCyAEKAAAQebCsZsHcyAEQQRqLQAAQeUAc3INAEEAIQAMAQsCfwJ/An8CQAJAAkACQAJAAkBBAyADQQJrIANBAU0bQQFrDgUBAgMEBQALIAJBADYCCCACQoCAgIAQNwIAIAJBzOzEADYCNCACQqCAgIAGNwI4IAIgAjYCMCAAIAJBMGoQyAINCyACKAIIIQUgAigCBCEEIAIoAgAhA0HVzsUAIQZBBwwGCyACQQA2AgggAkKAgICAEDcCACACQczsxAA2AjQgAkKggICABjcCOCACIAI2AjAgACACQTBqEMgCDQogAigCCCEFIAIoAgAhA0Gz0cUAIQYgAigCBAwECyACQQA2AgggAkKAgICAEDcCACACQczsxAA2AjQgAkKggICABjcCOCACIAI2AjAgACACQTBqEMgCDQkgAigCCCEFIAIoAgQhBCACKAIAIQNBsKXFACEGQQcMBAsgAkEANgIIIAJCgICAgBA3AgAgAkHM7MQANgI0IAJCoICAgAY3AjggAiACNgIwIAAgAkEwahDIAg0IIAIoAgghBSACKAIEIQQgAigCACEDQbelxQAhBkEKIQdBNAwECyACQQA2AgggAkKAgICAEDcCACACQczsxAA2AjQgAkKggICABjcCOCACIAI2AjAgACACQTBqEMgCDQcgAigCCCEFIAIoAgQhBCACKAIAIQNBvJzIACEGQQUMAgsgAkEANgIIIAJCgICAgBA3AgAgAkHM7MQANgI0IAJCoICAgAY3AjggAiACNgIwIAAgAkEwahDIAg0GIAIoAgghBSACKAIAIQNBvKzJACEGIAIoAgQLIQRBBgshB0EQCyEIIAIgBTYCLCACIAQ2AiggAiAHNgIkIAIgBjYCICACQQc2AhwgAkG/0cUANgIYIAIgAkEoaq1CgICAgNABhDcDQCACIAJBIGqtQoCAgIDQAYQ3AzggAiACQRhqrUKAgICA0AGENwMwIAJB/vbBACACQTBqELgMIAIgACAIaiIAKQIANwIMIAIgACgCCDYCFCABKAIIIgAgASgCAEYEQCABEL0SCyABIABBAWo2AgggASgCBCAAQRhsaiIAIAIpAgA3AgAgACACKQIINwIIIAAgAikCEDcCEEECIQAgA0UNACAEQQRrKAIAIgVBeHEhASABQQRBCCAFQQNxIgUbIANqSQ0BIAVBAEcgASADQSdqS3ENAiAEELwFCyACQdAAaiQAIAAPC0HQnMkAQS5BgJ3JABCvFAALQZCdyQBBLkHAnckAEK8UAAtB8LXJAEE3IAJBzwBqQeTsxABBqLbJABDaEgALmAgCB38BfiMAQfAGayICJAAgAiABKAIYIgM2AiAgAiABKQIQNwMYIAIgASkCCDcDECACIAEpAgA3AwggAiADNgI4IAIgAkEYajYCMCAC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zOzEADYCNCADQqCAgIAGNwI4IAMgAzYCMCABIANBMGoQyAINCiADKAIIIQUgAygCACEGQbPRxQAhByADKAIEDAQLIANBADYCCCADQoCAgIAQNwIAIANBzOzEADYCNCADQqCAgIAGNwI4IAMgAzYCMCABIANBMGoQyAINCSADKAIIIQUgAygCBCEEIAMoAgAhBkGwpcUAIQdBBwwECyADQQA2AgggA0KAgICAEDcCACADQczsxAA2AjQgA0KggICABjcCOCADIAM2AjAgASADQTBqEMgCDQggAygCCCEFIAMoAgQhBCADKAIAIQZBt6XFACEHQQohCEE0DAQLIANBADYCCCADQoCAgIAQNwIAIANBzOzEADYCNCADQqCAgIAGNwI4IAMgAzYCMCABIANBMGoQyAINByADKAIIIQUgAygCBCEEIAMoAgAhBkG8nMgAIQdBBQwCCyADQQA2AgggA0KAgICAEDcCACADQczsxAA2AjQgA0KggICABjcCOCADIAM2AjAgASADQTBqEMgCDQYgAygCCCEFIAMoAgAhBkG8rMkAIQcgAygCBAshBEEGCyEIQRALIQkgAyAFNgIsIAMgBDYCKCADIAg2AiQgAyAHNgIgIANBBjYCHCADQbPRxQA2AhggAyADQShqrUKAgICA0AGENwNAIAMgA0Egaq1CgICAgNABhDcDOCADIANBGGqtQoCAgIDQAYQ3AzAgA0H+9sEAIANBMGoQuAwgAyABIAlqIgEpAgA3AgwgAyABKAIINgIUIAIoAggiASACKAIARgRAIAIQvRILIAIgAUEBajYCCCACKAIEIAFBGGxqIgEgAykCADcCACABIAMpAgg3AgggASADKQIQNwIQQQAhASAGRQ0AIARBBGsoAgAiBUF4cSECIAJBBEEIIAVBA3EiBRsgBmpJDQEgBUEARyACIAZBJ2pLcQ0CIAQQvAULIAAgATYCACADQdAAaiQADwtB0JzJAEEuQYCdyQAQrxQAC0GQnckAQS5BwJ3JABCvFAALQfC1yQBBNyADQc8AakHk7MQAQai2yQAQ2hIAC9gHAgZ/AX4jAEHQAGsiAiQAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkAgASgCAEEBaw4EAgADBAELAkACQCABKAIMIgNFDQAgAkEwaiABKAIIIgYQ8gUgAigCMCIBQX9GDQAg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AiACKQNgNwIwIAIgAikDaDcCOCACIAIpA3A3AkAgAiAHOgBIIAIgBDYCTCACIAItAFY6AEsgAiACLwFUOwBJIAJBDGoiASACQRhqEPsFIAIgAa1CgICAgMAChDcDWCAAQe/KwQAgAkHYAGoQuAwgAigCDCIABEAgAigCECIEQQRrKAIAIgNBeHEhASABQQRBCCADQQNxIgMbIABqSQ0EIANBAEcgASAAQSdqS3ENBSAEELwFCwJAAkAgAi0AGA4CAAEHCyACQRxqEOIIDAYLIAJBKGoQwwIgAigCTCIBKAIAIQAgASAAQQFrNgIAIABBAUcNBSACQcwAahC2CAwFC0HwtckAQTcgAkH/AGpBiIjIAEGotskAENoSAAtB8LXJAEE3IAJB/wBqQYiIyABBqLbJABDaEgsAC0HQnMkAQS5BgJ3JABCvFAALQZCdyQBBLkHAnckAEK8UAAsgAkGAAWokAAvzBwEHfyMAQdAAayIDJAACQAJAAkACQCABKAIAIgRBA0YEQCABKAIMIQIgASgCCCEBDAELAn8CfwJ/AkACQAJAAkACQAJAQQMgBEECayAEQQFNG0EBaw4FAQIDBAUACyADQQA2AgggA0KAgICAEDcCACADQczsxAA2AjQgA0KggICABjcCOCADIAM2AjAgASADQTBqEMgCDQsgAygCCCEFIAMoAgQhBCADKAIAIQZB1c7FACEHQQcMBgsgA0EANgIIIANCgICAgBA3AgAgA0HM7MQANgI0IANCoICAgAY3AjggAyADNgIwIAEgA0EwahDIAg0KIAMoAgghBSADKAIAIQZBs9HFACEHIAMoAgQMBAsgA0EANgIIIANCgICAgBA3AgAgA0HM7MQANgI0IANCoICAgAY3AjggAyADNgIwIAEgA0EwahDIAg0JIAMoAgghBSADKAIEIQQgAygCACEGQbClxQAhB0EHDAQLIANBADYCCCADQoCAgIAQNwIAIANBzOzEADYCNCADQqCAgIAGNwI4IAMgAzYCMCABIANBMGoQyAINCCADKAIIIQUgAygCBCEEIAMoAgAhBkG3pcUAIQdBCiEIQTQMBAsgA0EANgIIIANCgICAgBA3AgAgA0HM7MQANgI0IANCoICAgAY3AjggAyADNgIwIAEgA0EwahDIAg0HIAMoAgghBSADKAIEIQQgAygCACEGQbycyAAhB0EFDAILIANBADYCCCADQoCAgIAQNwIAIANBzOzEADYCNCADQqCAgIAGNwI4IAMgAzYCMCABIANBMGoQyAINBiADKAIIIQUgAygCACEGQbysyQAhByADKAIECyEEQQYLIQhBEAshCSADIAU2AiwgAyAENgIoIAMgCDYCJCADIAc2AiAgA0EGNgIcIANBs9HFADYCGCADIANBKGqtQoCAgIDQAYQ3A0AgAyADQSBqrUKAgICA0AGENwM4IAMgA0EYaq1CgICAgNABhDcDMCADQf72wQAgA0EwahC4DCADIAEgCWoiASkCADcCDCADIAEoAgg2AhQgAigCCCIBIAIoAgBGBEAgAhC9EgsgAiABQQFqNgIIIAIoAgQgAUEYbGoiASADKQIANwIAIAEgAykCCDcCCCABIAMpAhA3AhBBACEBIAYEQCAEQQRrKAIAIgJBeHEhBSAFQQRBCCACQQNxIgIbIAZqSQ0CIAJBAEcgBSAGQSdqS3ENAyAEELwFCwsgACACNgIEIAAgATYCACADQdAAaiQADwtB0JzJAEEuQYCdyQAQrxQAC0GQnckAQS5BwJ3JABCvFAALQfC1yQBBNyADQc8AakHk7MQAQai2yQAQ2hIAC/MHAQd/IwBB0ABrIgMkAAJAAkACQAJAIAEoAgAiBEEERgRAIAEoAgwhAiABKAIIIQEMAQsCfwJ/An8CQAJAAkACQAJAAkBBAyAEQQJrIARBAU0bQQFrDgUBAgMEBQALIANBADYCCCADQoCAgIAQNwIAIANBzOzEADYCNCADQqCAgIAGNwI4IAMgAzYCMCABIANBMGoQyAINCyADKAIIIQUgAygCBCEEIAMoAgAhBkHVzsUAIQdBBwwGCyADQQA2AgggA0KAgICAEDcCACADQczsxAA2AjQgA0KggICABjcCOCADIAM2AjAgASADQTBqEMgCDQogAygCCCEFIAMoAgAhBkGz0cUAIQcgAygCBAwECyADQQA2AgggA0KAgICAEDcCACADQczsxAA2AjQgA0KggICABjcCOCADIAM2AjAgASADQTBqEMgCDQkgAygCCCEFIAMoAgQhBCADKAIAIQZBsKXFACEHQQcMBAsgA0EANgIIIANCgICAgBA3AgAgA0HM7MQANgI0IANCoICAgAY3AjggAyADNgIwIAEgA0EwahDIAg0IIAMoAgghBSADKAIEIQQgAygCACEGQbelxQAhB0EKIQhBNAwECyADQQA2AgggA0KAgICAEDcCACADQczsxAA2AjQgA0KggICABjcCOCADIAM2AjAgASADQTBqEMgCDQcgAygCCCEFIAMoAgQhBCADKAIAIQZBvJzIACEHQQUMAgsgA0EANgIIIANCgICAgBA3AgAgA0HM7MQANgI0IANCoICAgAY3AjggAyADNgIwIAEgA0EwahDIAg0GIAMoAgghBSADKAIAIQZBvKzJACEHIAMoAgQLIQRBBgshCEEQCyEJIAMgBTYCLCADIAQ2AiggAyAINgIkIAMgBzYCICADQQg2AhwgA0G85MQANgIYIAMgA0Eoaq1CgICAgNABhDcDQCADIANBIGqtQoCAgIDQAYQ3AzggAyADQRhqrUKAgICA0AGENwMwIANB/vbBACADQTBqELgMIAMgASAJaiIBKQIANwIMIAMgASgCCDYCFCACKAIIIgEgAigCAEYEQCACEL0SCyACIAFBAWo2AgggAigCBCABQRhsaiIBIAMpAgA3AgAgASADKQIINwIIIAEgAykCEDcCEEEAIQEgBgRAIARBBGsoAgAiAkF4cSEFIAVBBEEIIAJBA3EiAhsgBmpJDQIgAkEARyAFIAZBJ2pLcQ0DIAQQvAULCyAAIAI2AgQgACABNgIAIANB0ABqJAAPC0HQnMkAQS5BgJ3JABCvFAALQZCdyQBBLkHAnckAEK8UAAtB8LXJAEE3IANBzwBqQeTsxABBqLbJABDaEgAL9QgCCX8BfiMAQfACayICJAACQAJAAkACQCABKAIEIgQgASgCDEcEQCABKAIUIQMgASAEQRRqNgIEIAIgBCgCEDYCWCACIAQpAgg3A1AgAiAEKQIANwNIIAEoAhAhASACQQhqIAJByABqEPAOIAJBiAJqIgQgAUEQaiACKAIIIAIoAgwQqQQgAigCiAJBf0YNAyACQcABaiIBIARByAD8CgAAIAJBgAFqIAEQ2gEgAiACKACBATYCeCACIAIoAIQBNgB7IAIgAigAiQE2AnAgAiACKACMATYAcyACIAIoAJEBNgJoIAIgAigAlAE2AGsgAi0AgAEhBCACLQCIASEGIAItAJABIQcgAi0AmAEhCCACKAKwASEBIAIgAigAnAE2AGMgAiACKACZATYCYCABQX9GDQEgAiACKAChATYCICACIAIoAKQBNgAjIAIgAikCtAE3AxAgAiACKAK8ATYCGCACIAIoAng2AkAgAiACKAB7NgBDIAIgAigCcDYCOCACIAIoAHM2ADsgAi0AoAEhCSACKQOoASELIAIgAigAazYAMyACIAIoAmg2AjAgAiACKABjNgArIAIgAigCYDYCKCACKAJYIgooAgAhBSAKIAVBAWs2AgAgBUEBRgRAIAIoAlgQMAsgAygCMEF/RwRAIAMQjQMLIAMgBDoAACADIAIoAkA2AAEgAyACKABDNgAEIAMgBjoACCADIAIoAjg2AAkgAyACKAA7NgAMIAMgBzoAECADIAIoAjA2ABEgAyACKAAzNgAUIAMgCDoAGCADIAIoAig2ABkgAyACKAArNgAcIAMgCToAICADIAE2AjAgAyALNwMoIAMgAigCIDYAISADIAIoACM2ACQgAyACKQMQNwI0IAMgAigCGDYCPAsgAEH/AToAAAwBCyACIAIoAng2AugCIAIgAigAezYA6wIgAiACKAJwNgLgAiACIAIoAHM2AOMCIAIgAigCaDYC2AIgAiACKABrNgDbAiACIAIoAmA2AtACIAIgAigAYzYA0wIgAigCWCIBKAIAIQMgASADQQFqNgIAIANBAEgNAiACIAIoAOsCNgA7IAIgAigC6AI2AjggAiACKALgAjYCMCACIAIoAOMCNgAzIAIgAigC2AI2AiggAiACKADbAjYAKyACIAIoAtACNgIgIAIgAigA0wI2ACMgAigCSCEDIAEgASgCACIFQQFrNgIAIAIgAigCVDYCGCACIAIpAkw3AxAgBUEBRgRAIAIoAlgQMAsgACACKABDNgAMIAAgAigCQDYACSAAIAIoAjg2ABEgACACKAA7NgAUIAAgAigCMDYAGSAAIAIoADM2ABwgACACKAIoNgAhIAAgAigAKzYAJCAAIAIoAiA2ACkgACACKAAjNgAsIAAgAigCGDYCRCAAIAIpAxA3AjwgACABrTcDSCAAIAM2AjggACAIOgAoIAAgBzoAICAAIAY6ABggACAEOgAQIABBADoACCAAQQM6AAALIAJB8AJqJAAPC0Gck8YAEJ0VCwALoggBBn8jAEHgAmsiAyQAIAIoAhAiBSgCACEEIAUgBEEBajYCAAJAAkACQAJAAkAgBEEASA0AIAMgBTYCiAIgAyACKQIINwOAAiADIAIpAgA3A/gBIANBCGogASADQfgBaiIGEOwMIAUgBSgCACIEQQFqNgIAIARBAEgNACADIAU2AuABIAMgAikCCDcD2AEgAyACKQIANwPQASAGIANB0AFqIgQQ8QogBBDOECEHIAMgAygCgAI2AfQBIAMgAykC+AE3AewBIAMgBzoAtQIgA0ELOgC0AiADIAMpAeoBNwG2AiADIAMpAfABNwG8AiADQQA6ANQCIANBfzYCiAIgA0GYAmogBBDxCiADQoGAgIAQNwKAAiADQQE2ApQCIANBAjYCpAIgA0KBgICAEDcC+AECQEEYEJABIgQEQCAEIAMoAuABNgIQIAQgAykD2AE3AgggBCADKQPQATcCACAEIAE2AhRBGBCQASIBRQ0GIAFBADoAFCABQYTpxwA2AgwgASAENgIIIAFCgYCAgBA3AgAgAyABNgLYAiADQewAaiAGQeQA/AoAAEHIARCQASIBRQ0GAkACQAJAAkACQEEDIAMoAggiBEECayAEQQFNG0EBaw4DAQIDAAsgA0H4AWogA0EIakHkAPwKAAAMAwsgA0H8AWogA0EMahCgByADQQM2AvgBDAILQeQAEJABIgRFDQMgAygCDCAEELgPIANBBDYC+AEgAyAENgL8AQwBCyADQfgBaiADQQhqEOQFCyABIANB7ABqQeQA/AoAACABQeQAaiADQfgBaiIEQeQA/AoAACADQQI2AtgBIAMgATYC1AEgA0ECNgLQASACEK0QIgYEQCAEIANBCGpB5AD8CgAAQeQAEJABIgFFDQcgASAEQeQA/AoAACADQdABahCYEiADKALUASIEIAE2AswBIARBBDYCyAEgA0EDNgLYAQsgAyACEPAOIAMoAgQiAUEASA0DQQEhBAJAIAFFIgcNACADKAIAIQggARCQASIERQ0FIAcNACAEIAggAfwKAAALIAMgAygC2AE2AqACIAMgAykC0AE3A5gCIAMgATYCuAIgAyAENgK0AiADIAE2ArACIANBfjYC+AEgA0EBOwG8AiADQQA2AqwCIANCgICAgMAANwKkAgJAIAIQrhBFDQAgAhCtEA0AIAMoAqACIgEgAygCmAJGBEAgA0GYAmoQmBILIAMoApwCIAFB5ABsaiIEQQA6AAQgBEECNgIAIAMgAUEBajYCoAILIAAgA0H4AWpByAD8CgAAIABBADoARCAGDQUgA0EIahDABwwFCwwFCwwECwALEJ4VAAtBARCnFAALIAUgBSgCACIAQQFrNgIAIABBAUYEQCACKAIQEDALIANB4AJqJAAPC0G48MkAQQE6AAAAC4kHAQt/IwBB8ABrIgUkACABKAIIIQggASgCBCECIAEoAgwhBwJAAkACQAJAAkACQCABKAIgBEAgASgCMCEKIAVBEGohCyABKAIsIQwgASgCACEEIAEoAiQhBgJAA0ACQCAEBEACQCACIAdGBEAgAiEDDAELIAEgAkHkAGoiAzYCBCACKAIAIQkgBUEMaiACQQRqQeAA/AoAACAJQX9HDQgLIAcgA2tB5ABuIQIgAyAHRwRAA0AgAxDAByADQeQAaiEDIAJBAWsiAg0ACwsgCARAIARBBGsoAgAiA0F4cSECIAIgCEHkAGwiB0EEQQggA0EDcSIDG2pJDQIgA0EARyACIAdBJ2pLcQ0EIAQQvAULIAFBADYCAAsgBiAMRg0EIAEgBkHkAGoiAjYCJCAGKAIAIgNBf0YNBCALIAZBBGpB4AD8CgAAIAUgAzYCDCAFIAVBDGogCi0AABCfDiAFKAIAIghBf0YNBSABIAg2AgggASAFKAIEIgQ2AgQgASAENgIAIAEgBCAFKAIIQeQAbGoiBzYCDCACIQYgBCECDAELCwwGCwwGCyABKAIAIgRFDQACQCACIAdGBEAgAiEDDAELIAEgAkHkAGoiAzYCBCACKAIAIQkgBUEMaiACQQRqQeAA/AoAACAJQX9HDQMLIAcgA2tB5ABuIQIgAyAHRwRAA0AgAxDAByADQeQAaiEDIAJBAWsiAg0ACwsgCARAIARBBGsoAgAiA0F4cSECIAIgCEHkAGwiBkEEQQggA0EDcSIDG2pJDQUgA0EARyACIAZBJ2pLcQ0GIAQQvAULIAFBADYCAAsgBUF/NgIACwJAAkAgASgCECIEBEAgASgCFCICIAEoAhwiBkcNASAAQX82AgAgAiEDDAILIABBfzYCAAwDCyABIAJB5ABqIgM2AhQgACACQeQA/AoAACAAKAIAQX9HDQILIAYgA2tB5ABuIQIgAyAGRwRAA0AgAxDAByADQeQAaiEDIAJBAWsiAg0ACwsgASgCGCICBEAgBEEEaygCACIDQXhxIQAgACACQeQAbCICQQRBCCADQQNxIgMbakkNAyADQQBHIAAgAkEnaktxDQQgBBC8BQsgAUEANgIQDAELIAAgCTYCACAAQQRqIAVBDGpB4AD8CgAADAALIAVB8ABqJAAPC0HQnMkAQS5BgJ3JABCvFAALQZCdyQBBLkHAnckAEK8UAAvBBwEMfyMAQYABayIFJAAgBSABQQxqEIgNAkACQAJAAkACQAJAIAAoAhAiAkUNACACQQJ0QQtqQXhxIgQgAmpBCWoiAkUNACAAKAIMIARrIgNBBGsoAgAiBkF4cSEEIARBBEEIIAZBA3EiBhsgAmpJDQEgBkEARyAEIAJBJ2pLcQ0CIAMQvAULIABBDGoiAiAFKQIINwIIIAIgBSkCADcCACABKAIIIgQgACgCAEsEQCAAIAQgACgCCGsgACgCFCAAKAIYahDmDwsgASgCBCELAkAgBCAAKAIIIgJLBEAgACgCBCEJDAELIAAgBDYCCCAAKAIEIQkgAiAERwRAIAkgBEHIAGxqIQEDQCABQThqKAIAIgMEQCABQTxqKAIAIgdBBGsoAgAiCEF4cSEGIAZBBEEIIAhBA3EiCBsgA2pJDQYgCEEARyAGIANBJ2pLcQ0HIAcQvAULIAEQ8AUgAUHIAGohASACQQFrIgIgBEcNAAsLIAQhAgsgAgRAQQAhCCACIQEDQCAIIAlqIgNBxABqIAggC2oiCkHEAGooAgA2AgAgCkE8aigCACENIApBQGsoAgAhByADQUBrIgxBADYCAAJAAkAgA0E4aiIGKAIAIAdJBEAgBkEAIAcQzhEgDCgCACEGDAELQQAhBiAHRQ0BCyAHRQ0AIANBPGooAgAgBmogDSAH/AoAAAsgDCAGIAdqNgIAIAUgChCOByADEPAFIAMgBSkDMDcDMCADIAUpAyg3AyggAyAFKQMgNwMgIAMgBSkDGDcDGCADIAUpAxA3AxAgAyAFKQMINwMIIAMgBSkDADcDACAIQcgAaiEIIAFBAWsiAQ0ACwsgBCACayIGIAAoAgAgAmtLBEAgACACIAZBCEHIABCzESAAKAIEIQkLIAIgBEcEQCALIAJByABsaiEIIAkgACgCCCIBQcgAbGohCUEAIQQDQCAEIAhqIgNBxABqKAIAIQpBASEHAkAgA0FAaygCACICRSILDQAgA0E8aigCACEMIAIQkAEiB0UNByALDQAgByAMIAL8CgAACyAFIAI2AnggBSAHNgJ0IAUgAjYCcCAFQThqIgIgAxCOByAEIAlqIgMgAkHEAPwKAAAgA0HEAGogCjYCACAEQcgAaiEEIAFBAWohASAGQQFrIgYNAAsgACABNgIICyAFQYABaiQADwtB0JzJAEEuQYCdyQAQrxQAC0GQnckAQS5BwJ3JABCvFAALQdCcyQBBLkGAnckAEK8UAAtBkJ3JAEEuQcCdyQAQrxQAC0EBEKcUAAuQCAEPfyMAQfAAayIDJAACQAJAAkACQAJAAkACQAJAAkACQAJAIAEoAhAiBSABKAIAIgYoAhAiB0kEQCAGKAIMIgkgBUEUbGoiBC0AACIIRQRAIAcgBCgCBCIKTQ0CIARBEEEIIAgbaigCACEOQRBBCCAJIApBFGxqIgQtAAAbIARqKAIAIQ8gA0IENwIsIANCADcCJCADQoCAgIDAADcCHCADQQA2AgwgASgCDCEIQX8hBCAKIAVBAWoiBU0NDCAJIAVBFGxqIgQtAAANBCABKAIIIRAgASgCBCERIAQoAgRBAWoiASAKSQRAA0AgASAHTw0FIAkgAUEUbGoiAS0AAA0GIAogASgCBEEBaiIBSw0ACwsgA0HgAGohCUF/IQQDQCAGIAYoAgBBAWoiATYCACABRQ0GIAggCCgCAEEBaiIBNgIAIAFFDQYgBigCECIBIAVNDQcgBigCDCILIAVBFGxqIgctAAANCCADIAU2AkQgAyAINgJAIAMgEDYCPCADIBE2AjggAyAGNgI0IAcoAgQiByABTw0JIAsgB0EUbGoiAS0AAEUNCgJAAkACQAJAIAEtAAFBF2sODgEAAAAAAAAAAAAAAAACAAsgA0E0akGgnMgAQQlBrJzIABC1DSAGIAYoAgBBAWsiATYCACABRQRAIAYQgRALIAggCCgCAEEBayIBNgIAIAENAiAIEPYPDAILIANBNGogA0EMaiACEJICDAELIANB2ABqIANBNGoQzQ0gAyAJKQIANwNIIAMgCSkCCDcDUCADKAJcIAMoAlghBSAEQQFrQX1NBEAgDEEEaygCACINQXhxIQsgC0EEQQggDUEDcSINGyAEakkNDSANQQBHIAsgBEEnaktxDQ4gDBC8BQshDCAFIQQLIAogB0EBaiIFSw0ACwwMC0Ggq8kAQShB1IzIABCvFAALIAUgB0HkjMgAEIUTAAsgCiAHQeSMyAAQhRMACyABIAdB4IrIABCFEwALQaCryQBBKEHwisgAEK8UCwALIAUgAUGkjcgAEIUTAAtBoKvJAEEoQbSNyAAQrxQACyAHIAFBhI3IABCFEwALQaCryQBBKEGUjcgAEK8UAAtB0JzJAEEuQYCdyQAQrxQAC0GQnckAQS5BwJ3JABCvFAALIAYgBigCAEEBayIBNgIAIAFFBEAgBhCBEAsgCCAIKAIAQQFrIgE2AgAgAUUEQCAIEPYPCyAEQX9GBEBBkJzIABCdFQALIAAgAykDUDcCOCAAIAMpA0g3AjAgACADKQIMNwIAIAAgAykCFDcCCCAAIAMpAhw3AhAgACADKQIkNwIYIAAgAykCLDcCICAAQQA2AkggACAPNgJEIAAgDjYCQCAAIAw2AiwgACAENgIoIANB8ABqJAAL/QcBB38jAEHQAGsiAyQAAkACQAJAAkACQAJ/IAEoAgAiBEEBTQRAIAAgASkCNDcCECAAIAEoAjw2AhggASgCGCECIAEoAhQhBSABKAIwIQQgASgCLAwBC0EEIQUgBEEERw0BIAAgASkCEDcCECAAIAEoAhg2AhggASgCDCEEQQAhAiABKAIICyEBIAAgAjYCDCAAIAU2AgggACAENgIEDAELIABBADYCAAJ/An8CfwJAAkACQAJAAkACQCAEQQNrDgUCAAMEBQELAAsgA0EANgIIIANCgICAgBA3AgAgA0HM7MQANgI0IANCoICAgAY3AjggAyADNgIwIAEgA0EwahDIAg0KIAMoAgghBiADKAIEIQQgAygCACEFQdXOxQAhB0EHDAULIANBADYCCCADQoCAgIAQNwIAIANBzOzEADYCNCADQqCAgIAGNwI4IAMgAzYCMCABIANBMGoQyAINCSADKAIIIQYgAygCBCEEQbPRxQAhByADKAIADAMLIANBADYCCCADQoCAgIAQNwIAIANBzOzEADYCNCADQqCAgIAGNwI4IAMgAzYCMCABIANBMGoQyAINCCADKAIIIQYgAygCBCEEIAMoAgAhBUG3pcUAIQdBCiEIQTQMBAsgA0EANgIIIANCgICAgBA3AgAgA0HM7MQANgI0IANCoICAgAY3AjggAyADNgIwIAEgA0EwahDIAg0HIAMoAgghBiADKAIEIQQgAygCACEFQbycyAAhB0EFDAILIANBADYCCCADQoCAgIAQNwIAIANBzOzEADYCNCADQqCAgIAG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NgJsIAIgBjYCaCACQoCAgIAQNwJgIAEgBCACQeAAaiADEPkICyADRQ0CAkAgAS0AkQFBAkcNACABKAIAQQFGBEAgASgCBCIDIAEoAggiBE8NBCABIANBAWoiBjYCBCAEIAZNDQEgASADQQJqNgIECyABQQA6AJEBIAJBIGogARCUCiACKAIgIAIoAiQiAUECOgCRAUEBcQ0AA0AgASgCAEEBRgRAIAEoAgQiAyABKAIITw0CIAEgA0EBajYCBAsCQCABLQCRASIDRQRAIAJBEGogARCUCiACKAIUIQEgAigCECEEDAELIAFBADoAkQEgAkEYaiABEJQKIAIoAhghBCACKAIcIgEgAzoAkQELIARBAXFFDQALCyACQQhqIAEQQCACKAIMIQEgAigCCAwDCyABIAIoAkg2AogBIAEgAikDQDcCgAFBASEEDAQLQQEQpxQAC0EBCyIEQQFHDQIgASACKAJYNgKIASABIAIpA1A3AoABIAUgASgCFCIDSw0AIAEgBTYCFCAFIQMLIAEgAigCSDYCiAEgASACKQNANwKAASADIAdJDQELIAEgBzYCFAsgACAENgIAIAAgATYCBCACQfAAaiQAC94HAQZ/IwBB8ABrIgIkAAJAAkACQAJ/AkACQAJAAkACQAJAIAEoAgBBAUYEQCABKAIEIgMgASgCCCIFSQ0BQQEhBAwKCyABKAIUIQcgAiABKAKIATYCSCACIAEpAoABNwNAIAEtAJEBQQJGDQEMAgsgASADQQFqIgQ2AgQgASgCFCEHIAIgASgCiAE2AkggAiABKQKAATcDQCABLQCRAUECRw0BIAQgBU8NAiABIANBAmoiBDYCBCAEIAVPDQEgASADQQNqNgIECyABQQA6AJEBIAJBOGogARCUCiACKAI4IAIoAjwiAUECOgCRAUEBcQ0AA0AgASgCAEEBRgRAIAEoAgQiAyABKAIITw0CIAEgA0EBajYCBAsCQCABLQCRASIDRQRAIAJBKGogARCUCiACKAIsIQEgAigCKCEEDAELIAFBADoAkQEgAkEwaiABEJQKIAIoAjAhBCACKAI0IgEgAzoAkQELIARBAXFFDQALCyABKAIAQQFGBEAgASgCBCIDIAEoAghPBEAgASgCFCEDQQEhBAwGCyABIANBAWo2AgQLIAEoAhQhBSACIAEoAogBIgQ2AlggAiAB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NwNQIAIgBEEUaikCADcDMCACIARBHGopAgA3AzggAiAEQSRqKQIANwNAIAIgBEEsaigCADYCSCADIQUMAwsCQCAEQQhqKAIAIgNFBEBBASEFDAELIARBBGooAgAhBCADEJABIgVFDQcgA0UNACAFIAQgA/wKAAALIAIgAzYCWCACIAU2AlQgAiADNgJQQYOAgIB4IQUMAgsgAkHQAGogBEEEaigCACAEQQhqKAIAEPYIQYSAgIB4IQUMAQsgAkHgAGogBBCZBiACIAIpA2g3A1ggAiACKQNgNwNQIAIgCSkCADcDMCACIAkpAgg3AzggAiAJKQIQNwNAIAIgCSgCGDYCSCACKAJwIQULIAIgAikDWCIPNwMoIAIgAikDUCIQNwMgIAIgAikDMCIRNwNgIAIgAikDOCISNwNoIAIgAikDQCITNwNwIAIgAigCSCIENgJ4IAogDGoiAyAPNwMIIAMgEDcDACADQRBqIAU2AgAgA0EUaiARNwIAIANBHGogEjcCACADQSRqIBM3AgAgA0EsaiAENgIAIANBPGogBzYCACADQThqIAs2AgAgA0E0aiAHNgIAIANBMGogDjYCACAKQUBrIQogBkEBaiEGIAhBAWsiCA0ACwsgACACKQIENwIQIAAgAikCFDcCICAAIAIoAhw2AiggAiAGNgIMIAAgAikCDDcCGCAAIAEpAwg3AwggACABKQMANwMAIAJBkAFqJAAPC0EBEKcUAAtBARCnFAALqggCBH8CfiMAQfABayIDJAACQAJAAkACQAJAIAEoAggiBgRAIAMgASgCBCIFIAZBA3RqQQhrNgKIASADIAKtQoCAgIDAAoQ3A8ABIAMgA0GIAWqtQoCAgICgAoQ3A7gBIANBDGpB0pTCACADQbgBahC4DCADAn5B0PDJAC0AAARAQcjwyQApAwAhCEHA8MkAKQMADAELIANBuAFqELsRQdDwyQBBAToAAEHI8MkAIAMpA8ABIgg3AwAgAykDuAELIgc3AxhBwPDJACAHQgF8NwMAIANBADYCMCADQoCAgICAATcDKCADIAg3AyAgA0GQqckAKQMANwI0IANBmKnJACkDADcCPEEKEJABIgRFDQEgBEGHsckALwAAOwAIIARB/7DJACkAADcAACADQQo2AoQBIAMgBDYCgAEgA0EKNgJ8IANBuAFqIgQgAhCLAyAD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CyAEKAIIIAQoAgwhEhCnFAALgAgBBX8jAEEgayICJAACQAJAAkACQAJAQRogACgCACIEKAIAIgAgAEEaTBtBG2sOAwECAwALQQEhACABKAIAIgNBoZLJAEEIIAEoAgQiBigCDCIFEQAADQMCQCABLQAKQYABcUUEQCADQbTPxQBBASAFEQAADQUgBCABEIIMRQ0BDAULIANBnePCAEECIAURAAANBCACQQE6AA8gAiAGNgIEIAIgAzYCACACQaDrwgA2AhQgAiABKQIINwIYIAIgAkEPajYCCCACIAI2AhAgBCACQRBqEIIMDQQgAigCEEGkssgAQQIgAigCFCgCDBEAAA0ECyABKAIAQYiQyQBBASABKAIEKAIMEQAAIQAMAwtBASEAIAEoAgAiA0GpkskAQQ0gASgCBCIGKAIMIgURAAANAiAEQQRqIQQCQCABLQAKQYABcUUEQCADQbTPxQBBASAFEQAADQQgBCABEM0IRQ0BDAQLIANBnePCAEECIAURAAANAyACQQE6AA8gAiAGNgIEIAIgAzYCACACQaDrwgA2AhQgAiABKQIINwIYIAIgAkEPajYCCCACIAI2AhAgBCACQRBqEM0IDQMgAigCEEGkssgAQQIgAigCFCgCDBEAAA0DCyABKAIAQYiQyQBBASABKAIEKAIMEQAAIQAMAgtBASEAIAEoAgAiA0G2kskAQQwgASgCBCIGKAIMIgURAAANASAEQQRqIQQCQCABLQAKQYABcUUEQCADQbTPxQBBASAFEQAADQMgBCABEM0IRQ0BDAMLIANBnePCAEECIAURAAANAiACQQE6AA8gAiAGNgIEIAIgAzYCACACQaDrwgA2AhQgAiABKQIINwIYIAIgAkEPajYCCCACIAI2AhAgBCACQRBqEM0IDQIgAigCEEGkssgAQQIgAigCFCgCDBEAAA0CCyABKAIAQYiQyQBBASABKAIEKAIMEQAAIQAMAQtBASEAIAEoAgAiA0HCkskAQQcgASgCBCIGKAIMIgURAAANAAJAIAEtAApBgAFxRQRAIANBtM/FAEEBIAURAAANAiAELQAEQQFGBEAgAUGvssgAQQQQnQRFDQIMAwsgAUGqssgAQQUQnQRFDQEMAgsgA0Gd48IAQQIgBREAAA0BIAIgBjYCBCACIAM2AgAgAkEBOgAPIAJBoOvCADYCFCACIAEpAgg3AhggAiACQQ9qNgIIIAQtAAQhACACIAI2AhACQAJAIABBAUYEQCACQRBqQa+yyABBBBCdBA0BDAILIAJBEGpBqrLIAEEFEJ0ERQ0BC0EBIQAMAgtBASEAIAJBpLLIAEECEP0IDQELIAEoAgBBiJDJAEEBIAEoAgQoAgwRAAAhAAsgAkEgaiQAIAALgAgBBX8jAEEgayICJAACQAJAAkACQAJAQRogACgCACIEKAIAIgAgAEEaTBtBG2sOAwECAwALQQEhACABKAIAIgNBoZLJAEEIIAEoAgQiBigCDCIFEQAADQMCQCABLQAKQYABcUUEQCADQbTPxQBBASAFEQAADQUgBCABELYLRQ0BDAULIANBnePCAEECIAURAAANBCACQQE6AA8gAiAGNgIEIAIgAzYCACACQaDrwgA2AhQgAiABKQIINwIYIAIgAkEPajYCCCACIAI2AhAgBCACQRBqELYLDQQgAigCEEGkssgAQQIgAigCFCgCDBEAAA0ECyABKAIAQYiQyQBBASABKAIEKAIMEQAAIQAMAwtBASEAIAEoAgAiA0GpkskAQQ0gASgCBCIGKAIMIgURAAANAiAEQQRqIQQCQCABLQAKQYABcUUEQCADQbTPxQBBASAFEQAADQQgBCABEM4IRQ0BDAQLIANBnePCAEECIAURAAANAyACQQE6AA8gAiAGNgIEIAIgAzYCACACQaDrwgA2AhQgAiABKQIINwIYIAIgAkEPajYCCCACIAI2AhAgBCACQRBqEM4IDQMgAigCEEGkssgAQQIgAigCFCgCDBEAAA0DCyABKAIAQYiQyQBBASABKAIEKAIMEQAAIQAMAgtBASEAIAEoAgAiA0G2kskAQQwgASgCBCIGKAIMIgURAAANASAEQQRqIQQCQCABLQAKQYABcUUEQCADQbTPxQBBASAFEQAADQMgBCABEM4IRQ0BDAMLIANBnePCAEECIAURAAANAiACQQE6AA8gAiAGNgIEIAIgAzYCACACQaDrwgA2AhQgAiABKQIINwIYIAIgAkEPajYCCCACIAI2AhAgBCACQRBqEM4IDQIgAigCEEGkssgAQQIgAigCFCgCDBEAAA0CCyABKAIAQYiQyQBBASABKAIEKAIMEQAAIQAMAQtBASEAIAEoAgAiA0HCkskAQQcgASgCBCIGKAIMIgURAAAN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EKMVAAtB0JzJAEEuQYCdyQAQrxQAC0GQnckAQS5BwJ3JABCvFAALQaCryQBBKEGUu8UAEK8UAAsgAEEFNgIUIABBj7vFADYCECAAQoOAgIBwNwIIIABBjLvFADYCBCAAQX82AgALAkAgBEUNACAEIAQoAgAiAEEBazYCACAAQQFHDQAgBCAFELYQCyAGQeAAaiQADwsgAiADQQIgA0GYuMUAEP0UAAutBwIOfwF+IwBBkARrIgIkACABKAIEIgcgASgCCCIDQegBbGohCCABKAIAIQogByEBAkACQCADRQ0AIABBIGohDCACQYgCaiENIAJBuANqIQ4gAkHhAmohBSACQbcDaiEEIAJB2AJqQQFyIQYgAkEQaiEPAkADQAJAAkACQCABKQMAIhBCf1IEQCACIBA3AwggDyABQQhqQcAB/AoAACACIAFB4AFqKQMANwPoASACIAFB2AFqKQMANwPgASACIAFB0AFqKQMANwPYASACIAFByAFqKQMANwPQASACQbADaiACQQhqEOEIIAIoArgDIQAgAigCtAMhCyACKAKwAyIJQX9GDQEgCyEDDAILIAFB6AFqIQEMBQsgAEEASA0BIABFBEBBASEDQQAhCUEAIQAMAQsgABCQASIDRQ0DIAAEQCADIAsgAPwKAAALIAAhCQsgAiAANgL8ASACIAM2AvgBIAIgCTYC9AECQAJAAkACQAJAQQIgAikDCCIQp0ECayAQQgFYG0EBaw4DAAECAwsgBCACKQPoATcAGCAEIAIpA+ABNwAQIAQgAikD2AE3AAggBCACKQPQATcAACAGIAIpALADNwAAIAYgAikAuAM3AAggBiACKQDAAzcAECAGIAIpAMgDNwAYIAYgAikAzwM3AB8gAkEAOgDYAgwDC0H09sgAQRNB4P3GABCvFAALQfT2yABBE0Hw/cYAEK8UAAsgBCACKQPoATcAGCAEIAIpA+ABNwAQIAQgAikD2AE3AAggBCACKQPQATcAACAFIAIpALADNwAAIAUgAikAuAM3AAggBSACKQDAAzcAECAFIAIpAMgDNwAYIAUgAikAzwM3AB8gAkEBOgDgAiACQf8BOgDYAgsgAkGwA2ogDCACQfQBaiACQdgCahCOBCACQYACaiAOQdgA/AoAAAJAAkACQCACLQCAAkH+AWsOAgIAAQsgDRCMEQwBCyACQYAC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UQRAIAEoAqwBIAEoAqgBayEBIANBfEcNAUEBIQIMBAtBASECIANBfEYNBCADQX1HIQEMAwsgASADQX1HaiIDIAFPIQJBfyADIAEgA0sbIQEMBAtBACEBQQAhAgtBfyADQX1HIgMgAWoiBCABIARLGyEBIAUgAiACIANqIgNNcSECDAILIAEhAwwBC0EAIQFBACEDCyAAIAM2AgggACACNgIEIAAgATYCAAvGCAEBfyABKAIAIQIgASgCBCgCDCEBAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQCAALQAAQQFrDjcBAgMEBQYHCAkKCwwNDg8QERITFBUWFxgZGhscHR4fICEiIyQlJicoKSorLC0uLzAxMjM0NTY3AAsgAkGAqsQAQQcgAREAAA8LIAJBh6rEAEEIIAERAAAPCyACQY+qxABBDCABEQAADwsgAkGbqsQAQQggAREAAA8LIAJBo6rEAEEHIAERAAAPCyACQaqqxABBDCABEQAADwsgAkG2qsQAQQ8gAREAAA8LIAJBxarEAEEOIAERAAAPCyACQdOqxABBDyABEQAADwsgAkHiqsQAQQ0gAREAAA8LIAJB76rEAEEOIAERAAAPCyACQf2qxABBDCABEQAADwsgAkGJq8QAQQ0gAREAAA8LIAJBlqvEAEESIAERAAAPCyACQairxABBDiABEQAADwsgAkG2q8QAQQ8gAREAAA8LIAJBxavEAEEUIAERAAAPCyACQdmrxABBDiABEQAADwsgAkHnq8QAQQ8gAREAAA8LIAJB9qvEAEEUIAERAAAPCyACQYqsxABBECABEQAADwsgAkGarMQAQQwgAREAAA8LIAJBpqzEAEENIAERAAAPCyACQbOsxABBEiABEQAADwsgAkHFrMQAQQwgAREAAA8LIAJB0azEAEENIAERAAAPCyACQd6sxABBEiABEQAADwsgAkHwrMQAQQwgAREAAA8LIAJB/KzEAEENIAERAAAPCyACQYmtxABBEiABEQAADwsgAkGbrcQAQQwgAREAAA8LIAJBp63EAEENIAERAAAPCyACQbStxABBEiABEQAADwsg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CDcCGCAAQQQ2AgAgACABKQMQNwMQIAAgASkDCDcDCAsgAkFAayQADwtBCBCnFAALQQEQpxQAC8YGAQp/IwBB0ABrIgMkACADQcgAaiACKAIAIABBQGsQ2gcgAygCTCEFIAMoAkggA0FAayACKAIAIAAQ2gcgAygCQCEEQQFGBEAgBCAFIAMoAkRJcSEECyADQThqIAIoAgAgAEHAAWoQ2gcgAygCPCEGIAMoAjghCSADQTBqIAIoAgAgAEGAAWoQ2gcgAygCMCEFIANBKGogAigCACAAQcABQYABIAlBAUYEfyAFIAYgAygCNElxBSAFC0EBcSIFG2oiBhDaByADKAIsIQcgAygCKCADQSBqIAIoAgAgACAEQQFxQQZ0aiIKENoHIABBgAFBwAEgBRtqIQkgACAEQX9zQQFxQQZ0aiEFIAMoAiAhBEEBRgRAIAQgByADKAIkSXEhBAsgA0EYaiACKAIAIAkQ2gcgAygCHCEHIAMoAhghCCADQRBqIAIoAgAgBRDaByADKAIQIQAgA0EIaiACKAIAIAkgBSAGIARBAXEiBBsgCEEBRgR/IAAgByADKAIUSXEFIAALQQFxIgcbIggQ2gcgAygCDCEAIAMoAgggAyACKAIAIAogBiAFIAcbIAQbIgsQ2gcgAygCACECQQFGBEAgAiAAIAMoAgRJcSECCyABIAYgCiAEGyIAKQI4NwI4IAEgACkCMDcCMCABIAApAig3AiggASAAKQIgNwIgIAEgACkCGDcCGCABIAApAhA3AhAgASAAKQIINwIIIAEgACkCADcCACABIAggCyACQQFxIgIbIgApAgA3AkAgASAAKQIINwJIIAEgACkCEDcCUCABIAApAhg3AlggASAAKQIgNwJgIAEgACkCKDcCaCABIAApAjA3AnAgASAAKQI4NwJ4IAEgCyAIIAIbIgApAgA3AoABIAEgACkCCDcCiAEgASAAKQIQNwKQASABIAApAhg3ApgBIAEgACkCIDcCoAEgASAAKQIoNwKoASABIAApAjA3ArABIAEgACkCODcCuAEgASAFIAkgBxsiACkCODcC+AEgASAAKQIwNwLwASABIAApAig3AugBIAEgACkCIDcC4AEgASAAKQIYNwLYASABIAApAhA3AtABIAEgACkCCDcCyAEgASAAKQIANwLAASADQdAAaiQAC/oUAhh/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KAIAIQUgCEEEaigCACALQQRqKAIAIAhBCGooAgAiBiAFIAUgBksbEI8TIgIgBiAFayACG0EASCEDIABB+ABBtAEgBBtqIgdBCGooAgAhBCAHIAkgCCADGyAHQQRqKAIAIAlBBGooAgAgBCAJQQhqKAIAIgIgAiAESxsQjxMiACAEIAJrIAAbQQBIIgQbIQogCyAIIAkgBBsgAxsiBUEIaigCACEGIApBBGooAgAgBUEEaigCACAKQQhqKAIAIgIgBiACIAZJGxCPEyEAIAEgCCALIAMbIgMoAjg2AjggASADKQIwNwIwIAEgAykCKDcCKCABIAMpAiA3AiAgASADKQIYNwIYIAEgAykCEDcCECABIAMpAgg3AgggASADKQIANwIAIAEgCiAFIAAgAiAGayAAG0EASCIAGyICKQIANwI8IAEgAikCCDcCRCABIAIpAhA3AkwgASACKQIYNwJUIAEgAikCIDcCXCABIAIpAig3AmQgASACKQIwNwJsIAEgAigCODYCdCABIAUgCiAAGyIAKQIANwJ4IAEgACgCODYCsAEgASAAKQIwNwKoASABIAApAig3AqABIAEgACkCIDcCmAEgASAAKQIYNwKQASABIAApAhA3AogBIAEgACkCCDcCgAEgASAJIAcgBBsiACkCADcCtAEgASAAKQIINwK8ASABIAApAhA3AsQBIAEgACkCGDcCzAEgASAAKQIgNwLUASABIAApAig3AtwBIAEgACgCODYC7AEgASAAKQIwNwLkAQubBgIGfwF+IwBBsAFrIgIkAAJAAkACQAJAAkACQAJAIAAoAgBFBEBBDBCQASIERQ0BIARBwYvGACgAADYACCAEQbmLxgApAAA3AAACQCAAKAIEIgNBf0YNACADRQ0AIAAoAggiB0EEaygCACIFQXhxIQYgBkEEQQggBUEDcSIFGyADakkNAyAFQQBHIAYgA0EnaktxDQQgBxC8BQsgAEEMNgIMIAAgBDYCCCAAQX82AgQgAiAAKQMINwJAIAJBDDYCPCACQQA2AoABIAJCgICAgBA3AngCfwJAAkACQCABQf8BcUEBaw4CAQIACyACQfgAakEAQQpBAUEBELMRIAIoAnwiBCACKAKAASIBaiIDQbzgxgApAAA3AAAgA0HE4MYALwAAOwAIIAFBCmoMAgsgAkH4AGpBAEELQQFBARCzESACKAJ8IgQgAigCgAEiAWoiA0HG4MYAKQAANwAAIANBzeDGACgAADYAByABQQtqDAELIAJB+ABqQQBBDEEBQQEQsxEgAigCfCIEIAIoAoABIgFqIgNB0eDGACkAADcAACADQdngxgAoAAA2AAggAUEMagshASACKAJ4IQMgARCQASIGRQ0EIAEEQCAGIAQgAfwKAAALIAMEQCAEQQRrKAIAIgVBeHEhByAHQQRBCCAFQQNxIgUbIANqSQ0GIAVBAEcgByADQSdqS3ENByAEELwFCyACQYOAgIB4NgJYIAIgATYCUCACIAY2AkwgAiABNgJIIAJB+ABqIABBEGogAkE8aiACQcgAahCfBSACIAIpA6gBNwMwIAIgAikDoAE3AyggAiACKQOYATcDICACIAIpA5ABIgg3AxggAiACKQOIATcDECACIAIpA4ABNwMIIAinQX9HBEAgAkEIahD9CQtBACEADAcLIAJBCjYCeCACQfgAakEAQQAQxxMhAAwGC0EBEKcUAAtB0JzJAEEuQYCdyQAQrxQAC0GQnckAQS5BwJ3JABCvFAALQQEQpxQAC0HQnMkAQS5BgJ3JABCvFAALQZCdyQBBLkHAnckAEK8UAAsgAkGwAWokACAAC50FAQl/AkACQAJAAkACQAJAIAJBAWsOAwECAwALIAEvAeIBIgpBFGwgBEEUbCIGayECIAEgBmoiAUEMaiEGIAFBBGohASADKAIQIQsgAygCDCEMIAMoAgghCCADKAIEIQ0gAygCACEJQX8hBwJAA0AgAkUNAQJAIAEoAgQiBSANSSAFIA1LayABKAIAIgUgCUkgBSAJS2sgBSAJRhsiBUH/AXENACAGQQRqKAIAIgUgDEkgBSAMS2sgBigCACIFIAhJIAUgCEtrIAUgCEYbIgVB/wFxDQAgBkEIaigCACIFIAtJIAUgC0trIQULIAFBFGohASACQRRrIQIgBkEUaiEGIAdBAWohByAFQQFGDQALIAVB/wFxRQ0EIAQgB2ohCgsgACADNgIIIABBADYCBCAAIAo2AgAPCyABLwHiASIKQRRsIARBFGwiBmshAiABIAZqIgFBDGohBiABQQRqIQEgAygCECELIAMoAgwhDCADKAIIIQggAygCBCENIAMoAgAhCUF/IQcCQANAIAJFDQECQCABKAIEIgUgDUkgBSANS2sgASgC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IAIoAgQiAUEIaiIEIAIoAggiAxD3EC0AWEECRwRAIAQgAxD3EC0AWA0BIABBADYCCCAAQoCAgICAATcCAAwGCyABKAIcIgQgA0sEQCABKAIYIANB8ABsaiIDKAJoIQQgAygCZCEDIAEgASgCACIFQQFqNgIAIAVBAEgNCiACIAQ2AiQgAiADNgIgIAIgATYCHCACIAY2AiggAkEBOwEsIAAgAkEcahD3AiABIAEoAgAiAEEBazYCACAAQQFGDQIMAwsgAyAEQeT+yAAQhRMMCQsgASgCHCIEIANNDQUgASgCGCADQfAAbGoiAygCaCEEIAMoAmQhAyABIAEoAgAiBUEBajYCACAFQQBIDQggAiAENgIkIAIgAzYCICACIAE2AhxByAAQkAEiA0UNBiADIAYgAkEcahDyDyAAQQE2AgggACADNgIEIABBATYCACABIAEoAgAiAEEBazYCACAAQQFGBEAgARAwCyABIAEoAgAiAEEBazYCACAAQQFHDQELIAEQMAsgAigCAEEBaw4CBQcJCyAAQQA2AgggAEKAgICAgAE3AgAMBAsgAEEANgIIIABCgICAgIABNwIAIAIoAhQiACgCACEBIAAgAUEBazYCACABQQFGBEAgABAwCwJAIAIoAgBBAWsOAgQIAAsgAigCBCEBCyABIAEoAgAiAEEBazYCACAAQQFHDQYgAkEEcgwFCyADIARB5P7IABCFEwALQbjwyQBBAToAAAALIAIoAhQiASgCACEAIAEgAEEBazYCACAAQQFHDQMgAkEUagwCCwALIAIoAhQiASgCACEAIAEgAEEBazYCACAAQQFHDQEgAkEUagsoAgAQMAsgAkEwaiQAC8AFAgV/A34jAEGQAmsiBCQAQgEhCQJAAkACQAJAAkACQAJAAkACQAJAAkAgAigCEEEBaw4DAQEAAgsgAikDGCIKQj+HIQkgCSAKhSAJfSEJCyACQQAQ6woNACACQQAQ6woNASAJQv////8PgyEKIAI1AgghCyACKQMAIQkMBAsgAkEAEOsKRQRAIAI1AgghCyACKQMAIQlC/////w8hCiADp0EBcQ0EDAULQv///////////wAhCSADp0EBcUUNAQsgAi0AoQFFDQELIAAgAUGQAvwKAAAMAwsCQAJAIAEoAiAiAkF9Rg0AIAFBMGoQ/wIgAkEATA0AIAEoAiQi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SxsQjxMiAiAGIAVrIAIbQQBIIQMgAEHwAEGoASAEG2oiB0EIaigCACEEIAcgCSAIIAMbIAdBBGooAgAgCUEEaigCACAEIAlBCGooAgAiAiACIARLGxCPEyIAIAQgAmsgABtBAEgiBBshCiALIAggCSAEGyADGyIFQQhqKAIAIQYgCkEEaigCACAFQQRqKAIAIApBCGooAgAiAiAGIAIgBkkbEI8TIQAgASAIIAsgAxsiAykDMDcDMCABIAMpAyg3AyggASADKQMgNwMgIAEgAykDGDcDGCABIAMpAxA3AxAgASADKQMINwMIIAEgAykDADcDACABIAogBSAAIAIgBmsgABtBAEgiABsiAikDADcDOCABIAIpAwg3A0AgASACKQMQNwNIIAEgAikDGDcDUCABIAIpAyA3A1ggASACKQMoNwNgIAEgAikDMDcDaCABIAUgCiAAGyIAKQMwNwOgASABIAApAyg3A5gBIAEgACkDIDcDkAEgASAAKQMYNwOIASABIAApAxA3A4ABIAEgACkDCDcDeCABIAApAwA3A3AgASAJIAcgBBsiACkDADcDqAEgASAAKQMINwOwASABIAApAxA3A7gBIAEgACkDGDcDwAEgASAAKQMgNwPIASABIAApAyg3A9ABIAEgACkDMDcD2AEL1wUCBn8CfiMAQUBqIgMkACABQQ1qIQQgAS0ADCEHIAEoAgghCCABKAIEIQYgASgCACEFAkACQAJAAkACQAJAIAEpAxAiCiACKQMQIglVIAkgClVrQf8BcQ4CAQIACyADIAg2AiAgAyAGNgIcIAMgBTYCGCADIAo3AyggAyAELwAAOwAlIAMgBC0AAjoAJyADIAc6ACQCQCAHQQFGBEAgAyAJNwMQIANBAToADCADQQA2AgggA0KAgICAwAA3AwAgBUUNASAGQQRrKAIAIgRBeHEhASABIAVBAnQiBUEEQQggBEEDcSIEG2pJDQUgBEEARyABIAVBJ2pLcQ0GIAYQvAUgACADIAIQlAgMBAsCQAJAAkAgCSAKVSAJIApTa0H/AXEOAgECAAsgA0EwaiIBIAogCX0QiAIgA0EYaiABEIcJIAMgCTcDECADIAMpAxg3AwAgAyADKQMgNwMIIAAgAyACEJQIDAULIAMgAykDKDcDECADIAMpAyA3AwggAyADKQMYNwMAIAAgAyACEJQI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eEcNCCABKAIUIgEgAigCJCIETw0JIAIoAiAgAUHcAGxqIgIoAiQhASACKAIgDAELIAMgASgCGEEIaiACENAQIAMoAgQhASADKAIACzYCBCAAQX82AgAgACABNgIIDAMLIAEoAgwhAiAAAn8gASgCCEEBRgRAIAEoAhgiBUGgAmooAgAiBCACTQ0JIAEoAhAiBCAFQZwCaigCACACQSRsaiICQSBqKAIAIgVPDQogAkEcaigCACAEQdQAbGoiAigCAEGAgICAeEcNCyABKAIUIgEgAigCJCIETw0MIAIoAiAgAUHcAGxqIgIoAiQhASACKAIgDAELIANBCGogASgCGEEIaiACENAQIAMoAgwhASADKAIICzYCBCAAQX82AgAgACABNgIIDAILIANBEGogASgCqAFBCGogASgCrAEQ0RAgACADKQMQNwIEIABBfzYCAAwBCyADQRhqIAEoAlhBCGogASgCXBDRECADIAMpAxg3AiAgAyADQSBqrUKAgICA0AGENwMoIABB7IHAACADQShqELgMCyADQTBqJAAPCyACIARBlL7EABCFEwALIAQgBUGUvsQAEIUTAAtBlL7EABCdFQALIAEgBEGkvsQAEIUTAAsgAiAEQZS+xAAQhRMACyAEIAVBlL7EABCFEwALQZS+xAAQnRUACyABIARBpL7EABCFEwALyAUBBn8jAEGgAmsiAiQAIAEoAhQhBCABKAIQIgUoAgAhAyAFIANBAWo2AgACQAJAIANBAE4EQCACIAU2AoABIAIgASkCCDcDeCACIAEpAgA3A3AgAiAEIAJB8ABqEOwMAkBB5AAQkAEiAwRAAkACQAJAAkACQEEDIAIoAgAiBEECayAEQQFNG0EBaw4DAQIDAAsgAkHwAGogAkHkAPwKAAAMAwsgAkH0AGogAkEEahCgByACQQM2AnAMAgtB5AAQkAEiBEUNAyACKAIEIAQQuA8gAkEENgJwIAIgBDYCdAwBCyACQfAAaiACEOQFCyADIAJB8ABqIgRB5AD8CgAAIAJBATYCbCACIAM2AmggAkEBNgJkIAEtABgiBkUNAyAEIAJB5AD8CgAAQeQAEJABIgNFDQQgAyAEQeQA/AoAACACQeQAahCYEiACKAJoIgQgAzYCaCAEQQQ2AmQgAkECNgJsDAMLDAMLDAILAAsgAiACKAJsNgKYASACIAIpAmQ3A5ABIAJBAzYCsAEgAkHamskANgKsASACQX42AnAgAkEBOwG0ASACQoCAgIBwNwKkASACQoCAgIDAADcCnAEgAkG1AWohAyABLQAZIAZyRQRAIAIoApgBIgQgAigCkAFGBEAgAkGQAWoQmBILIAIoApQBIARB5ABsaiIHQQA6AAQgB0ECNgIAIAIgBEEBajYCmAELIAJB2AFqIgQgAkHwAGpBxAD8CgAAIAIgAy0AAjoA1gEgAiADLwAAOwHUAQJAQcgAEJABIgMEQCADIARBxAD8CgAAIANBADoARCAAQQE2AgggACADNgIEIABBATYCACADIAIvAdQBOwBFIAMgAi0A1gE6AEcgBg0BIAIQwAcMAQsMAQsgBSAFKAIAIgBBAWs2AgAgAEEBRgRAIAEoAhAQMAsgAkGgAmokAA8LQbjwyQBBAToAAAALlgUBCn8gAEE0aigCACAAQQRqKAIAIABBOGooAgAiAyAAQQhqKAIAIgcgAyAHSRsQjxMhBSAAQZABQeAAIABBlAFqKAIAIABB5ABqKAIAIABBmAFqKAIAIgYgAEHoAGooAgAiBCAEIAZLGxCPEyICIAYgBGsgAhtBAEgiBBtqIQggACAFIAMgB2sgBRsiAkF/c0EfdkEwbGohCSAAIAJBH3ZBMGxqIgtBCGooAgAhBSAIQQRqKAIAIAtBBGooAgAgCEEIaigCACIGIAUgBSAGSxsQjxMiAiAGIAVrIAIbQQBIIQMgAEHgAEGQASAEG2oiB0EIaigCACEEIAcgCSAIIAMbIAdBBGooAgAgCUEEaigCACAEIAlBCGooAgAiAiACIARLGxCPEyIAIAQgAmsgABtBAEgiBBshCiALIAggCSAEGyADGyIFQQhqKAIAIQYgCkEEaigCACAFQQRqKAIAIApBCGooAgAiAiAGIAIgBkkbEI8TIQAgASAIIAsgAxsiAykDKDcDKCABIAMpAyA3AyAgASADKQMYNwMYIAEgAykDEDcDECABIAMpAwg3AwggASADKQMANwMAIAEgCiAFIAAgAiAGayAAG0EASCIAGyICKQMANwMwIAEgAikDCDcDOCABIAIpAxA3A0AgASACKQMYNwNIIAEgAikDIDcDUCABIAIpAyg3A1ggASAFIAogABsiACkDADcDYCABIAApAyg3A4gBIAEgACkDIDcDgAEgASAAKQMYNwN4IAEgACkDEDcDcCABIAApAwg3A2ggASAJIAcgBBsiACkDADcDkAEgASAAKQMINwOYASABIAApAxA3A6ABIAEgACkDGDcDqAEgASAAKQMgNwOwASABIAApAyg3A7gBC60FAQZ/IwBBQGoiAiQAIAEoAgBBsPrGAEENIAEoAgQoAgwRAAAhBwJAAkACQAJAAkACQAJAAkACQCAAKAIEIgYgACgCACIAKAIcIgRJBEAgACgCGCAGQfAAbGoiAygCXCEEIAMoAlghAyAAIAAoAgAiBUEBajYCACAFQQBIDQEgAEGgAmooAgAiBSADTQ0FIABBnAJqKAIAIANBJGxqIgNBIGooAgAiBSAETQ0GIANBHGooAgAgBEHUAGxqIgQoAgBBgoCAgHhHDQcgAiAEKQIINwIgIAJBCGogAEEIaiAGENEQIAIgAikDCDcCKCACIAJBKGqtQoCAgIDQAYQ3AzggAiACQSBqrUKAgICA0AGENwMwIAJBFGpBnIXAACACQTBqELgMIAAgACgCACIEQQFrNgIAQQEhBiAEQQFGBEAgABAwCyACKAIUIQQgAigCGCEAIAcNBCACKAIcIQMgAS0ACkGAAXENAiABKAIAIgdBtM/FAEEBIAEoAgQiBSgCDBEAAA0EIAAgAyAHIAUQvwZFDQMMBAsgBiAEQeT+yAAQhRMLAAsgASgCACIHQZ3jwgBBAiABKAIEIgUoAgwRAAANASACIAU2AjQgAiAHNgIwIAJBAToAFCACIAJBFGo2AjggACADIAJBMGoiA0Gg68IAEL8GDQEgA0GkssgAQQIQ/QgNAQsgASgCAEGIkMkAQQEgASgCBCgCDBEAACEGCyAEBEAgAEEEaygCACIDQXhxIQEgAUEEQQggA0EDcSIDGyAEakkNBCADQQBHIAEgBEEnaktxDQUgABC8BQsgAkFAayQAIAYPCyADIAVBzLvEABCFEwALIAQgBUHMu8QAEIUTAAtBzLvEABCdFQALQdCcyQBBLkGAnckAEK8UAAtBkJ3JAEEuQcCdyQAQrxQAC6sFAgd/AX4jAEGABmsiBSQAAkACQAJAAkACQCACLQAAQf8BRwRAIAVBCGoiByACQdAA/AoAACAFQQA6AGYgBUEBOwFkIAUgAzYCYCAFQQA2AlwgBUGYA2oiAiAFQdwAaiAHIAQQ5QEgBSAFKQKgAzcDcCAFIAUpApgDNwNoIAUoAqgDIQQgBSkCrAMhDAJAIAEoAgBBf0cEQCAFIAEpAgg3A5ADIAUgASkCADcDiAMgAiAFQYgDaiAFQegAahD0DCABIAUpAqADNwIIIAEgBSkCmAM3AgAMAQsgASAFKQNwNwIIIAEgBSkDaDcCAAsgBUH4AGogAUGQAvwKAAACQCAEQX9GDQAgDKchAiAMQiCIIgxCAFIEQCAMp0HYAGwhAyAFQagFaiEHIAVB+ARqIQogAiEBA0AgByABQdgA/AoAACAFQZgDaiAFQfgAakGQAvwKAAAgBSgCgAUiBiAFKAL4BEYEQCAKEKsSCyAFKAL8BCAGQcwAbGogB0HMAPwKAAAgBSAGQQFqNgKABSAFQfgAaiAFQZgDakGQAvwKAAAgBSgC9AUiBgRAIAUoAvgFIgtBBGsoAgAiCEF4cSEJIAlBBEEIIAhBA3EiCBsgBmpJDQUgCEEARyAJIAZBJ2pLcQ0GIAsQvAULIAFB2ABqIQEgA0HYAGsiAw0ACwsgBEUNACACQQRrKAIAIgNBeHEhASABIARB2ABsIgRBBEEIIANBA3EiAxtqSQ0EIANBAEcgASAEQSdqS3ENBSACELwFCyAAIAVB+ABqQZAC/AoAAAwFCyAAIAFBkAL8CgAADAQLQdCcyQBBLkGAnckAEK8UAAtBkJ3JAEEuQcCdyQAQrxQAC0HQnMkAQS5BgJ3JABCvFAALQZCdyQBBLkHAnckAEK8UAAsgBUGABmokAAuoBQEEfyABKAIYIQUgASgCFCECIAAoAgAiASgCCCIEIAEoAgBGBEAgASAEQQFBAUEBELMRIAEoAgghBAsgASAEQQFqIgM2AgggASgCBCAEakH7ADoAACAFRQRAIAMgASgCAEYEQCABIANBAUEBQQEQsxEgASgCCCEDCyABIANBAWo2AgggASgCBCADakH9ADoAAA8LIAAoAgAgAkE8aigCACACQUBrKAIAEJ4HIAAoAgAiASgCCCIEIAEoAgBGBEAgASAEQQFBAUEBELMRIAEoAgghBAsgBUHIAGwgASAEQQFqNgIIIAEoAgQgBGpBOjoAAAJAAkACQAJAAkACQCACKAIAQQFrDgQDAgEABAsgACACQQhqEMEIDAQLIAJBCGogABDtAwwDCyAAIAJBBGoQigsMAgsgACACQQhqEMEIDAELIAJBCGogABCOAQtByABrIQQgAkGIAWohAQNAIAQEQCAAKAIAIgMoAggiAiADKAIARgRAIAMgAkEBQQFBARCzESADKAIIIQILIAMgAkEBajYCCCADKAIEIAJqQSw6AAAgACgCACABQQRrKAIAIAEoAgAQngcgACgCACIDKAIIIgIgAygCAEYEQCADIAJBAUEBQQEQsxEgAygCCCECCyADIAJBAWo2AgggAygCBCACakE6OgAAAkACQAJAAkACQAJAIAFBQGooAgBBAWsOBAECAwQACyABQThrIAAQjgEMBAsgACABQThrEMEIDAMLIAAgAUE8axCKCwwCCyABQThrIAAQ7QMMAQsgACABQThrEMEICyAEQcgAayEEIAFByABqIQEMAQsLIAAoAgAiASgCCCIAIAEoAgBGBEAgASAAQQFBAUEBELMRIAEoAgghAAsgASAAQQFqNgIIIAEoAgQgAGpB/QA6AAAL/wQBB38jAEEwayIEJABBASECAkACQAJAAkAgASgCAEEBRgRAIAEoAgQiAyABKAIIIgVPDQMgASADQQFqIgI2AgQgASgCFCEGIAQgASgCiAE2AhggBCABKQKAATcDECACIAVPDQIgASADQQJqNgIEDAELIAEoAhQhBiAEIAEoAogBNgIYIAQgASkCgAE3AxALIAFBgAFqIQIgASABLQCQASIFQQFHOgCQASAEIAIoAgg2AiggBCACKQIANwMgIAEoAjghAiABKAJQIgMgASgCSEYEQCABQcgAahCWEgsgASADQQFqNgJQIAEoAkwgA0EDdGoiAyACNgIEIAMgAjYCACAEQQhqIAEQrgsgBCgCCCAEKAIMIgEgBCgCKDYCiAEgASAEKQMgNwKAASABIAU6AJABIAFBMGoQhgpBAUcNACABKAKEASEDIAEoAoABIQUCQCABKAKIASICRQ0AIAIgA08EQCACIANGDQEMBAsgAiAFaiwAAEFASA0DCyACIANGDQBBASEDAkAgAiAFaiIGLAAAIgVBAE4NACAGLQABQT9xIQcgBUEfcSEIAn8gCEEGdCAHciAFQWBJDQAaIAYtAAJBP3EgB0EGdHIhByAHIAhBDHRyIAVBcEkNABogCEESdEGAgPAAcSAGLQADQT9xIAdBBnRycgsiBkGAAUkNAEECIQMgBkGAEEkNAEEDQQQgBkGAgARJGyEDCyABIAIgA2o2AogB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ahC2Cg0DIAIoAiBBpLLIAEECIAIoAiQoAgwRAAANAwsgASgCAEGIkMkAQQEgASgCBCgCDBEAACEADAILQQEhACABKAIAIgNBmZLJAEEIIAEoAgQiBigCDCIFEQAADQECQCABLQAKQYABcUUEQCADQbTPxQBBASAFEQAADQMgBCABEI8GRQ0BDAMLIANBnePCAEECIAURAAANAiACQQE6AAwgAiAGNgIYIAIgAzYCFCACQaDrwgA2AiQgAiABKQIINwIoIAIgAkEMajYCHCACIAJBFGoiAzYCICAEIAJBIGoQjwYNAiADQaSyyABBAhD9CA0CCyABKAIAQYiQyQBBASABKAIEKAIMEQAAIQAMAQtBASEAIAEoAgAiA0GnkMkAQQsgASgCBCIGKAIMIgURAAANAAJAIAEtAApBgAFxRQRAIANBtM/FAEEBIAURAAANAiAEIAEQ/QtFDQEMAgsgA0Gd48IAQQIgBREAAA0BIAJBAToADCACIAY2AhggAiADNgIUIAJBoOvCADYCJCACIAEpAgg3AiggAiACQQxqNgIcIAIgAkEUajYCICAEIAJBIGoQ/QsNASACKAIgQaSyyABBAiACKAIkKAIMEQAADQELIAEoAgBBiJDJAEEBIAEoAgQoAgwRAAAhAAsgAkEwaiQAIAALswUCC38BfiMAQfABayICJAACQCABKAIEIgMgASgCDCIKRgRAQQIhAwwBCyABKAIQIQQgAkGgAWoiB61CgICAgPAghCENIAJB4ABqIgVBBHIhCCAFQTBqIQsgB0EYaiEFIAdBBHIhCQJAA0AgASADQcgAaiIHNgIEIANBBGohBgJAIAMoAgAiDEECRgRAIAIgBigCEDYCcCACIAYpAgg3A2ggAiAGKQIANwNgDAELIAIgDDYCoAEgCSAGKQIANwIAIAkgBikCCDcCCCAJIAYoAhA2AhAgBSADQRhqKQMANwMAIAUgA0EgaikDADcDCCAFIANBKGopAwA3AxAgBSADQTBqKQMANwMYIAUgA0E4aikDADcDICAFIANBQGspAwA3AyggAiANNwPoASALQeTxwQAgAkHoAWoQuAwgAkEAOgCcASACQX82AnAgAkGgAWoQrgcgAigCkAEiA0F/Rg0AIAIgAikCdDcDICACIAIpAnw3AyggAiACKQKEATcDMCACIAIoAowBNgI4IAIgAikC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BEGzxcEAIAJBCGoQsQkMDgsgAiAAKAIENgIAIAIgAq1CgICAgNADhDcDCCABKAIAIAEoAgRB1sXBACACQQhqELEJDA0LIAIgACkCBDcCACACIAKtQoCAgIDgA4Q3AwggASgCACABKAIEQaSMwAAgAkEIahCxCQwMCyABKAIAQeasyABBCiABKAIEKAIMEQAADAsLIAEoAgBB8KzIAEEKIAEoAgQoAgwRAAAMCgsgASgCAEH6rMgAQQwgASgCBCgCDBEAAAwJCyABKAIAQYatyABBDiABKAIEKAIMEQAADAgLIAEoAgBBlK3IAEEIIAEoAgQoAgwRAAAMBwsgASgCAEGcrcgAQQMgASgCBCgCDBEAAAwGCyABKAIAQdesyQBBBCABKAIEKAIMEQAADAULIAEoAgBBn63IAEEMIAEoAgQoAgwRAAAMBAsgASgCAEGrrcgAQQ8gASgCBCgCDBEAAAwDCyABKAIAQbqtyABBDSABKAIEKAIMEQAADAILIAEoAgBBx63IAEEOIAEoAgQoAgwRAAAMAQsgASgCACAAKAIEIAAoAgggASgCBCgCDBEAAAsgAkEQaiQAC4AFAQh/IwBB0AFrIgMkACADQf8BOgCoASADQQA2AmAgA0EANgJYIANBADYCUCADQQA2AkggA0EANgJAIANBADYCOCADQQA2AjAgA0EANgIoIANBADYCICADQQA2AhggA0EANgIQIANBADYCmAEgA0EANgKQASADQQA2AogBIANBADYCgAEgA0EANgJ4IANBADYCcCADQQA2AmggA0EANgKgASADQgA3AwAgA0EAOgDEASADQQA2AsABIANCi4CAgMAANwK4ASADQYq4xQA2ArQBIANByAFqIAMgASACIANBtAFqEDcgAygCzAEhASADLQDMASECAkAgAUUgAygCyAEiBEEAR3FFBEAgAEEFQX8gARsgAiAEGzoAAUEBIQIMAQtBASECAkACQAJAAkAgAygCeEEBRgRAIAMoAnwiB0ECTwRAIABBADoAAQwGCyADKAKAAUEBRw0BIAMoAoQBIghBDE8EQCAAQQA6AAEMBgsgAygCiAFBAUcNAiADKAKMASIJQTxPBEAgAEEAOgABDAYLQQAhASADKAKQASIKRQ0EQTshASADKAKUASIEQTtLDQMgBCEBDAQLIABBAjoAAQwECyAAQQI6AAEM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g4CAgHghBgwCCyADQSBqIARBBGooAgAgBEEIaigCABD3CEGEgICAeCEGDAELIANBMGogBBDlBCADIAMpAzg3AyggAyADKQMwNwMgIAMgCCkCADcDACADIAgpAgg3AwggAyAIKQIQNwMQIAMgCCgCGDYCGCADKAJAIQYLIAcgCWoiBSADKQMoNwMIIAUgAykDIDcDACAFQRBqIAY2AgAgBUEUaiADKQMANwIAIAVBHGogAykDCDcCACAFQSRqIAMpAxA3AgAgBUEsaiADKAIYNgIAIAdBMGoiByAKRw0ACwwCC0EIEKcUAAtBARCnFAALIAILIQYgACACNgIIIAAgCTYCBCAAIAY2AgAgA0HgAGokAAuTBQEHfyMAQSBrIgQkAAJAAkACQCABKAIEIgIgASgCACIDKAIcIgVJBEAgAygCGCACQfAAbGoiBigCaCEFIAYoAmQhBiADIAMoAgAiB0EBajYCACAHQQBIDQEgASgCCCEIIAMgAygCACIBQQFqNgIAIAQgBTYCDCAEIAY2AgggBCADNgIEIAFBAEgNASADIAMoAgAiAUEBajYCACABQQBIDQEgAyADKAIAIgFBAWo2AgAgAUEASA0BIAMgAygCACIBQQFqNgIAIAFBAEgNAUEUEJABIgFFDQMgAUEAOgAQIAEgBTYCDCABIAY2AgggASADNgIEIAEgCDYCAEEYEJABIgcNAgwDCyACIAVB5P7IABCFEwsACyAHQQA6ABQgB0GE5scANgIMIAcgATYCCCAHQoGAgIAQNwIAIARBEGogCCAEQQRqIAMgAhCgCEGQARCQASIBRQ0AQeQAEJABIgJFBEAMAQsgAiAHNgJgIAJBADoAXCACIAU2AkggAiAGNgJEIAIgAzYCQCACQSA7ATwgAiAFNgI4IAIgBjYCNCACIAM2AjAgAkEANgIsIAIgBTYCKCACIAY2AiQgAiADNgIgIAJBADYCHCACQX82AhAgAkEANgIIIAJBADYCACABQX42AkggAUEBOwFEIAFBBTYCQCABQbzxxwA2AjwgAUF/NgI4IAFCBDcDMCABQgE3AyggASACNgIkIAFBATYCICABQX42AgAgAUEBOwGMASABQQQ2AogBIAFBlPDHADYChAEgAUKAgICAcDcCfCABQoCAgIDAADcCdCABIAQpAxA3A2ggASAEKAIYNgJwIABBAjYC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AhD9CA0BIAAoAgQgACgCCCACQaDrwgAQvwYNASACQaSyyABBAhD9CARADAILIAIgBjYCBCACIAM2AgAgAkEBOgAPIAIgAkEPajYCCCACQfT6xgBBAhD9CA0BIAJBprLIAEECEP0IDQEgACgCECAAKAIUIAJBoOvCABC/BgRADAILIAJBpLLIAEECEP0IBEAMAgsgA0GhssgAQQEgBBEAACEFDAELQQEhBSABKAIAIgNB08PGAEESIAEoAgQiBigCDCIEEQAADQACQCABLQAKQYABcUUEQCADQbTPxQBBASAEEQAADQIgACgCCCAAKAIMIAMgBhC/BkUNAQwCCyADQZ3jwgBBAiAEEQAADQEgAiAGNgIEIAIgAzYCACACQQE6AA8gAiACQQ9qNgIIIAAoAgggACgCDCACQaDrwgAQvwYNASACQaSyyABBAhD9CA0BCyADQYiQyQBBASAEEQAAIQULIAJBEGokACAFC+cEAQZ/IwBBsAJrIgIkACACQQhqIgQgASgCACIDIAFBBGoiBSABQRBqIgZBACABKAIQGxCkCyACQQE6AIcBIAIgAzYCkAEgAiACQYcBajYCjAEgAiAENgKIASACQaABaiIBIAJBiAFqEJUGAkACQAJAAkAgAigCoAFBfUcEQEGgAhCQASIDRQ0CIAMgAUHIAPwKAAAgAkEBNgKcASACIAM2ApgBIAJBBDYClAFByAAhBEEBIQEDQCACQegBaiACQYgBahCVBiACKALoAUF9RkUEQCACKAKUASABRgRAIAJBlAFqIAFBAUEIQcgAELMRIAIoApgBIQMLIAMgBGogAkHoAWpByAD8CgAAIAIgAUEBaiIBNgKcASAEQcgAaiEEDAELCyAAIAIoApwBNgIIIAAgAikClAE3AgAMAQsgAEEANgIIIABCgICAgIABNwIACyACKAIMIQAgAigCECIEBEAgAEEQaiEBA0AgASgCACIHKAIAIQMgByADQQFrNgIAIANBAUYEQCABKAIAEDALIAFBFGohASAEQQFrIgQNAAsLIAIoAggiBARAIABBBGsoAgAiA0F4cSEBIAEgBEEUbCIEQQRBCCADQQNxIgMbakkNAiADQQBHIAEgBEEnaktxDQMgABC8BQsgBSgCACIBKAIAIQAgASAAQQFrNgIAIABBAUYEQCAFKAIAEDALAkAgBigCACIARQ0A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AhggACACNgJYIABBADoAVCAAIAc2AlAgAEEBOgBMIAAgBDYCOCAAIAE2AjQgACAFNgIwIABBFDoALCAAIAQ2AiggACABNgIkIABBATYCICAAQQE6ABwgAEEBOgBcIABBCzoADCAAIAQ2AgggACABNgIEIABBATYCACAGQSBqJAAPCyABIANBzLvEABCFEwALIAQgB0HMu8QAEIUTAAtBzLvEABCdFQALQbjwyQBBAToAAAAL2QQBBX8jAEEgayIGJAAgASgCACIFKAIAIQQgBSAEQQFqNgIAAkACQAJAAkACQAJAIARBAEgNACABKAIIIQQgASgCBCEBIAUgBSgCACIDQQFqNgIAIANBAEgNACAFQaACaigCACIDIAFNDQIgBUGcAmooAgAgAUEkbGoiA0EgaigCACIHIARNDQMgA0EcaigCACAEQdQAbGoiAygCAEGCgICAeEcNBCAGIAMpAgg3AhAgBiAGQRBqrUKAgICA0AGENwMYIAZBBGpBvIHAACAGQRhqELgMIAUgBSgCACIDQQFqNgIAIANBAEgNAEEQEJABIgNFDQUgAyAENgIMIAMgATYCCCADIAU2AgQgAyACNgIAQRgQkAEiBw0BDAULAAsgB0EAOgAUIAdBlOvHADYCDCAHIAM2AgggB0KBgICAEDcCAEEQEJABIgNFDQMgAyAENgIMIAMgATYCCCADIAU2AgQgAyACNgIAQRgQkAEiAkUNAyACQQA6ABQgAkHg7ccANgIMIAIgAzYCCCACQoGAgIAQNwIAIAAgBikCBDcCECAAIAYoAgw2AhggAEEAOgBcIAAgAjYCWCAAQQA6AFQgACAHNgJQIABBAToATCAAIAQ2AjggACABNgI0IAAgBTYCMCAAQRQ6ACwgACAENgIoIAAgATYCJCAAQQE2AiAgAEEBOgAcIABBDToADCAAIAQ2AgggACABNgIEIABBATYCACAGQSBqJAAPCyABIANBzLvEABCFEwALIAQgB0HMu8QAEIUTAAtBzLvEABCdFQALQbjwyQBBAToAAAAL2QQBBX8jAEEgayIGJAAgASgCACIFKAIAIQQgBSAEQQFqNgIAAkACQAJAAkACQAJAIARBAEgNACABKAIIIQQgASgCBCEBIAUgBSgCACIDQQFqNgIAIANBAEgNACAFQaACaigCACIDIAFNDQIgBUGcAmooAgAg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ASgCBBCnDgJAAkAgBSgCCCICBEAgBSgCDCIBQQBIDQYgAUUEQEEBIQMMAwsgARCQASIDDQFBARCnFAALQYnqxQBBGEGk6sUAEMATAAsgAUUNACADIAIgAfwKAAALIAAgATYCDCAAIAM2AgggACABNgIEIABBBzoAAAwFCyACIARBnLrEABCFEwALIAEgBEGcusQAEIUTAAtBnLrEABCdFQALEJ4VAAsgACABNgIMIAAgAjYCCCAAIAE2AgQgAEEGOgAAIAMgAygCACIAQQFrNgIAIABBAUcNACADEDALIAVBEGokAAuSBAEKfyAAQRxqKAIAIABBBGooAgAgAEEgaigCACIHIABBCGooAgAiAyADIAdLGxCPEyEEIABByABBMCAAQcwAaigCACAAQTRqKAIAIABB0ABqKAIAIgIgAEE4aigCACIGIAIgBkkbEI8TIgUgAiAGayAFG0EASCIFG2ohAiAAIAQgByADayAEGyIDQX9zQR92QRhsaiEHIAAgA0EfdkEYbGoiA0EIaigCACEEIAJBBGooAgAgA0EEaigCACACQQhqKAIAIgYgBCAEIAZLGxCPEyIIIAYgBGsgCBtBAEghBCAAQTBByAAgBRtqIgZBCGooAgAhACAGIAcgAiAEGyAGQQRqKAIAIAdBBGooAgAgACAHQQhqKAIAIgUgACAFSRsQjxMiCCAAIAVrIAgbQQBIIgkbIQAgAyACIAcgCRsgBBsiBUEIaigCACEIIABBBGooAgAgBUEEaigCACAAQQhqKAIAIgogCCAIIApLGxCPEyELIAEgAiADIAQbIgIpAhA3AhAgASACKQIINwIIIAEgAikCADcCACABIAAgBSALIAogCGsgCxtBAEgiAxsiAikCEDcCKCABIAIpAgg3AiAgASACKQIANwIYIAEgBSAAIAMbIgApAhA3AkAgASAAKQIINwI4IAEgACkCADcCMCABIAcgBiAJGyIAKQIANwJIIAEgACkCCDcCUCABIAApAhA3AlgLjgQCAn8FfiMAQdAAayIEJAAgBEIANwM4IARCADcDQCAEIAE3AzAgBCABQvPK0cunjNmy9ACFNwMgIAQgAULt3pHzlszct+QAhTcDGCAEIAA3AyggBCAAQuHklfPW7Nm87ACFNwMQIAQgAEL1ys2D16zbt/MAhTcDCCAEIAM2AkwgBEEIaiAEQcwAakEEEJYIIAMEQCADQQxsIQUgAkEIaiEDA0AgBEEIaiICIANBBGsoAgAgAygCABCWCCAEQf8BOgBMIAIgBEHMAGpBARCWCCADQQxqIQMgBUEMayIFDQALCyAEKQMIIQEgBCkDGCEAIAQ1AkAhBiAEKQM4IQcgBCkDICEIIAQpAxAhCSAEQdAAaiQAIAAgAXwiCkIgiSAHIAZCOIaEIgYgCIUiASAJfCIHIAFCEImFIgF8IgggAUIViYUhASABIAcgAEINiSAKhSIHfCIJQiCJQv8BhXwiCiABQhCJhSEAIAAgCSAHQhGJhSIBIAYgCIV8IgZCIIl8IgcgAEIViYUhACAAIAYgAUINiYUiASAKfCIGQiCJfCIIIABCEImFIQAgACAGIAFCEYmFIgEgB3wiBkIgiXwiByAAQhWJhSEAIAAgAUINiSAGhSIBIAh8IgZCIIl8IgggAUIRiSAGhSIBIAd8IAFCDYmFIgF8IgYgAEIQiSAIhUIViSABQhGJhSAGQiCJhYULuAQCBn8DfiMAQRBrIgYkAAJAAkAgASgCvAJFDQAgASgCtAIiBCACQd3L3Z55bEEPdyIFcSEDIAVBGXatQoGChIiQoMCAAX4hCyABKAKwAiEFA0AgAyAFaikAACIKIAuFIglCgYKEiJCgwIABfSAJQn+Fg0KAgYKEiJCgwIB/gyIJQgBSBEADQCACIAUgCXqnQQN2IANqIARxQQN0ayIIQQhrKAIARg0EIAlCAX0gCYMiCUIAUg0ACwsgCiAKQgGGg0KAgYKEiJCgwIB/g0IAUg0BIAdBCGoiByADaiAEcSEDDAALAAtB1LnEAEEWQZS5xAAQwBMACwJAAkACQAJ/An8CQAJAAkAgCEEEaygCACIDIAEoAqwCIgRJBEAgASgCqAIgA0EobGoiA0EMaiEEQQghBQJAAkACQAJAIAMoAghBAmsOAgEABwsgBCgCAEEBaw4CBAIBCyAEKAIADQQLQQAhBCAGQQhqIQUgBkEMaiEHIAMoAhAMBQsMAgsgAyAEQfT+yAAQhRMAC0EBIQQgAygCEAwDCyADQRBqIQRBDCEFCyAGIAQoAgA2AgwgA0EIaiAFaigCACEEIAZBBGohBSAGQQhqIQdBAQshAyAHIAM2AgAgBSAENgIAIAYoAgwiAyACRw0BIAYoAgghBCAGKAIECyEDIARFDQEgAiADRg0BCyABIAEoAgAiAkEBajYCACACQQBODQEAC0Hk8MYAEJ0VAAsgACADNgIEIAAgATYCACAGQRBqJAAL3QQCBX8BfiMAQTBrIgIkACACIABBNGo2AgAgASgCACIEQfDlxQBBCSABKAIEKAIMIgURAAAhBiACIAE2AgRBASEDAkAgBg0AIAEtAApBgAFxRQRAIARBl+PCAEEDIAURAAANASABKAIAQfnlxQBBBCABKAIEKAIMEQAADQEgASgCAEGmssgAQQIgASgCBCgCDBEAAA0BIAIgAEEQajYCHCABQYP3xQBBBUGI8sUAQQMgAEHnAUGQxMYAQQUgAEEcakHoAUHu98UAQQggAEEoakHoAUH298UAQREgAkEcakHpARC7ECEDDAELIARBmuPCAEEDIAURAAANACABKQIAIQcgAkEBOgAbIAIgBzcCDCACQaDrwgA2AiAgAiABKQIINwIkIAIgAkEbajYCFCACIAJBDGoiATYCHCABQfnlxQBBBBD9CA0AIAFBprLIAEECEP0IDQAgAiAAQRBqNgIsIAJBHGpBg/fFAEEFQYjyxQBBAyAAQecBQZDExgBBBSAAQRxqQegBQe73xQBBCCAAQShqQegBQfb3xQBBESACQSxqQekBELsQBEAMAQsgAigCHEGkssgAQQIgAigCICgCDBEAACEDCyACIAM6AAggAkEBOgAJIAJBBGpB/eXFAEEMIAJBzAEQiQ4hACACLQAJIgMgAi0ACCIEciEBAkAgA0EBRw0AIARBAXENACAAKAIAIgAtAApBgAFxRQRAIAAoAgBB7erCAEECIAAoAgQoAgwRAAAhAQwBCyAAKAIAQaGyyABBASAAKAIEKAIMEQAAIQELIAJBMGokACABQQFxC98DAQd/AkAgACgCACIBQX9GDQACQAJAQQMgAUECayABQQFNG0ECaw4CAAECCyAAQQRqEMYRDAELAkAgAUUEQCAAKAIEIgEoAgAhAiABIAJBAWs2AgAgAkEBRg0BDAILIAAoAgQiASgCACECIAEgAkEBazYCACACQQFHDQELIAAoAgQQMAsCQAJAAkAgACgCMCIBRQ0AIAEgAUECdEELakF4cSIBakEJaiIERQ0AIAAoAiwgAWsiAkEEaygCACIBQXhxIQMgA0EEQQggAUEDcSIBGyAEakkNASABQQBHIAMgBEEnaktxDQIg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cUUEQCAEQbTPxQBBASAFEQAADQYgAyABENcPRQ0BDAYLIARBnePCAEECIAURAAANBSACQQE6AA8gAiAGNgIEIAIgBDYCACACQaDrwgA2AhQgAiABKQIINwIYIAIgAkEPajYCCCACIAI2AhAgAyACQRBqENcPDQUgAigCEEGkssgAQQIgAigCFCgCDBEAAA0FCyABKAIAQYiQyQBBASABKAIEKAIMEQAAIQAMBAsgAiAAQQhqNgIQIAFB9OzEAEEKIANB2QAgAkEQakHaABDyDCEADAMLQQEhACABKAIAIgRB65nJAEEEIAEoAgQiBigCDCIFEQAADQICQCABLQAKQYABcUUEQCAEQbTPxQBBASAFEQAADQQgAyABENgPRQ0BDAQLIARBnePCAEECIAURAAANAyACQQE6AA8gAiAGNgIEIAIgBDYCACACQaDrwgA2AhQgAiABKQIINwIYIAIgAkEPajYCCCACIAI2AhAgAyACQRBqENgPDQMgAigCEEGkssgAQQIgAigCFCgCDBEAAA0DCyABKAIAQYiQyQBBASABKAIEKAIMEQAAIQAMAgsgAiAAQQhqNgIQIAFB/uzEAEEJIANB2wAgAkEQakHcABDyDCEADAELIAIgAEEIajYCECABQYftxABBEiADQd0AIAJBEGpB2gAQ8gwhAAsgAkEgaiQAIAALtwQBBH8jAEEgayIEJAACQAJAAkACQAJAAkACQAJAIAACfwJAAkACQCABKAIAQQFrDgIBAgALIARBCGogASgCBEEIaiABKAIIENEQIAQoAgwhASAEKAIIDAILIAEoAgghAiABKAIEQQFGBEAgASgCFCIFQaACaigCACIDIAJNDQMgASgCDCIDIAVBnAJqKAIAIAJBJGxqIgJBIGooAgAiBU8NBCACQRxqKAIAIANB1ABsaiICKAIAQYCAgIB4Rw0FIAEoAhAiASACKAIkIgNPDQYgAigCICABQdwAbGoiAigCJCEBIAIoAiAMAgsgBEEQaiABKAIUQQhqIAIQ0BAgBCgCFCEBIAQoAhAMAQsgASgCCCECIAEoAgRBAUYEQCABKAIUIgVBoAJqKAIAIgMgAk0NBiABKAIMIgMgBUGcAmooAgAgAkEkbGoiAkEgaigCACIFTw0HIAJBHGooAgAgA0HUAGxqIgIoAgBBgICAgHhHDQggASgCECIBIAIo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AjwgACgCKCAAQUBrKAIAIgIgAEEsaigCACIGIAIgBkkbEI8TIgUgAiAGayAFG0EASCIFG2ohAiAAIAQgByADayAEGyIDQX9zQR92QRRsaiEHIAAgA0EfdkEUbGoiA0EEaigCACEEIAIoAgAgAygCACACQQRqKAIAIgYgBCAEIAZLGxCPEyIIIAYgBGsgCBtBAEghBCAAQShBPCAFG2oiBkEEaigCACEAIAYgByACIAQbIAYoAgAgBygCACAAIAdBBGooAgAiBSAAIAVJGxCPEyIIIAAgBWsgCBtBAEgiCRshACADIAIgByAJGyAEGyIFQQRqKAIAIQggACgCACAFKAIAIABBBGooAgAiCiAIIAggCksbEI8TIQsgASACIAMgBBsiAigCEDYCECABIAIpAgg3AgggASACKQIANwIAIAEgACAFIAsgCiAIayALG0EASCIDGyICKAIQNgIkIAEgAikCCDcCHCABIAIpAgA3AhQgASAFIAAgAxsiACgCEDYCOCABIAApAgg3AjAgASAAKQIANwIoIAEgByAGIAkbIgApAgA3AjwgASAAKQIINwJEIAEgACgCEDYCTAuEBAEIfyMAQTBrIgckACABIAIgBhDPBiENIAdBCGogASACEOEJIAdBIGoiASAHKAIIIgsgBygCDBDXCSAHQRBqIAEQpBEgByAHKAIUIgogBygCGCIBIAYQ8gcgBygCACEOIAEEQCAKQRRqIQZBACECA0AgCiACQRhsaiEIAkACQAJAAkACQCAGQRRrKAIADgIBAgALIAYoAgAiDCgCACEJIAwgCUEBazYCACAJQQFHDQMgCEEUaiEIDAILIAZBEGsoAgAiDCgCACEJIAwgCUEBazYCACAJQQFHDQIgCEEEaiEIDAELIAYoAgAiCCgCACEJIAggCUEBazYCACAGIQggCUEBRw0BCyAIKAIAEDALIAJBAWohAiAGQRhqIQYgAUEBayIBDQALCwJAAkAgBygCECICBEAgCkEEaygCACIGQXhxIQEgASACQRhsIgJBBEEIIAZBA3EiBhtqSQ0BIAZBAEcgASACQSdqS3ENAiAKELwFCyALIAsoAgAiAUEBazYCACABQQFGBEAgCxAwCyAHIAQ2AhwgByADNgIYIAdB7I3JADYCFCAHIA02AhAgByAFNgIsIAdBADYCKCAHQeyNyQA2AiQgByAO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AhQgACADKQIwNwIcIAAgAykCODcCJCAAIAMoAkA2AiwgAyAGNgIQIAMgBTYCBCADEJYLDAILIARBDGohBAsgAyACNgIQIAMgBDYCBCADEJYLQQEQkAEiAkUNASACQSk6AAAgA0EBNgIcIAMgAjYCGCADQQE2AhQgASADQRRqEPwNQX4hBAsgACAENgIAIANB0ABqJAAPCwtBARCnFAALhgQBAn8jAEEwayIDJAACQAJAAkBBDxCQASIEBEAgBEHr0cUAKQAANwAHIARB5NHFACkAADcAACADQQ82AgggAyAENgIEIANBDzYCACABIAMQ/A1BARCQASIERQ0DIARBKDoAACADQQE2AgggAyAENgIEIANBATYCACABIAMQ/A1BCRCQASIERQ0BIARB+9HFAC0AADoACCAEQfPRxQApAAA3AAAgA0EJNgIIIAMgBDYCBCADQQk2AgAgASADEPwNQQEQkAEiBEUNAyAEQSg6AAAgA0EBNgIIIAMgBDYCBCADQQE2AgAgASADEPwNIAMgASACEMkBAkAgAygCAEF+RwRAIAAgAykCKDcCKCAAIAMpAiA3AiAgACADKQIYNwIYIAAgAykCEDcCECAAIAMpAgg3AgggACADKQIANwIADAELQQEQkAEiAkUNBCACQSk6AAAgA0EBNgIIIAMgAjYCBCADQQE2AgAgASADEPwNQQMQkAEiAkUNAyACQf7RxQAtAAA6AAIgAkH80cUALwAAOwAAIANBAzYCCCADIAI2AgQgA0EDNgIAIAEgAxD8DUEBEJABIgJFDQQgAkEpOgAAIANBATYCCCADIAI2AgQgA0EBNgIAIAEgAxD8DSAAQX42AgALIANBMGokAA8LQQEQpxQAC0EBEKcUAAtBARCnFAALQQEQpxQAC+4DAQh/IwBB0ABrIgMkAEEBEJABIgQEQAJAIARBKDoAACADQQE2AhwgAyAENgIYIANBATYCFCABIANBFGoQ/A0gAigCCCEFIAIoAgQhBCADIAIoAgA2AgggAyAENgIAIAMgBCAFQQxsaiIHNgIMAkACQCAFRQRAQQAhAgwBCyAFQQFrIghB/////wNxQQFqIQlBACECAkACQANAIAQoAgAiBkF/Rg0CIARBDGohBSADIARBBGopAgA3AkggAyAGNgJEIANBFGoiCiABIANBxABqEK0FIAJBAWohBiAD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f0EBIANBAXENABoCQCABLQAKQYABcQRAIAEpAgAhBiACQQE6AA8gAiAGNwIAIAJBoOvCADYCFCACIAEpAgg3AhggAiACQQ9qNgIIIAIgAjYCECAAIAJBEGoQzwJFDQFBAQwCC0EBIAEoAgBBiLPJAEECIAEoAgQoAgwRAAANARogACABEM8CDAELIAIoAhBBpLLIAEECIAIoAhQoAgwRAAALIQMgAEHQAGohACAEQdAAayIEDQALC0EBIQAgA0UEQCABKAIAQaiyyABBASABKAIEKAIMEQAAIQALIAJBIGokACAAC+sDAgR/AX4jAEEgayICJAAgACgCACIAQQhqKAIAIQQgAEEEaigCACEFQQEhAyABKAIAQaKyyABBASABKAIEKAIMEQAAIQACQCAERQRAIAAhAwwBCwJAIAANACABLQAKQYABcQRAIAEoAgBBoLLIAEEBIAEoAgQoAgwRAAANASABKQIAIQYgAkEBOgAPIAIgBjcCACACQaDrwgA2AhQgAiABKQIINwIYIAIgAkEPajYCCCACIAI2AhAgBSACQRBqENACDQEgAigCEEGkssgAQQIgAigCFCgCDBEAACEDDAELIAUgARDQAiEDCyAEQQFGDQAgBUHQAGohACAEQdAAbEHQAGshBANAAn9BASADQQFxDQAaAkAgAS0ACkGAAXEEQCABKQIAIQYgAkEBOgAPIAIgBjcCACACQaDrwgA2AhQgAiABKQIINwIYIAIgAkEPajYCCCACIAI2AhAgACACQRBqENACRQ0BQQEMAgtBASABKAIAQYizyQBBAiABKAIEKAIMEQAADQEaIAAgARDQAgwBCyACKAIQQaSyyABBAiACKAIUKAIMEQAACyEDIABB0ABqIQAgBEHQAGsiBA0ACwtBASEAIANFBEAgASgCAEGossgAQQEgASgCBCgCDBEAACEACyACQSBqJAAgAAvrAwIEfwF+IwBBIGsiAiQAIAAoAgAiAEEIaigCACEEIABBBGooAgAhBUEBIQMgASgCAEGissgAQQEgASgCBCgCDBEAACEAAkAgBEUEQCAAIQMMAQsCQCAADQAgAS0ACkGAAXEEQCABKAIAQaCyyABBASABKAIEKAIMEQAADQEgASkCACEGIAJBAToADyACIAY3AgAgAkGg68IANgIUIAIgASkCCDcCGCACIAJBD2o2Aggg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AkGg68IANgIUIAIgASkCCDcCGCACIAJBD2o2AgggAiACNgIQIAAgAkEQahDYAUUNAUEBDAILQQEgASgCAEGIs8kAQQIgASgCBCgCDBEAAA0BGiAAIAEQ2AEMAQsgAigCEEGkssgAQQIgAigCFCgCDBEAAAshAyAAQSBqIQAgBEEgayIEDQALC0EBIQAgA0UEQCABKAIAQaiyyABBASABKAIEKAIMEQAAIQALIAJBIGokACAAC/MDAgV/AX4jAEEwayICJAACQCABKAIAIgRBAUEAIAEoAgQiBigCDCIFEQAABEBBASEDDAELAn8gAS0ACkGAAXFFBEBBASEDIARBtM/FAEEBIAURAAANAiAAIAEQ1Q8NAiABKAIIDAELIARBnePCAEECIAURAAAEQEEBIQMMAgtBASEDIAJBAToALCACIAY2AhAgAiAENgIMIAJBoOvCADYCICACIAEpAggiBzcCJCACIAJBLGo2AhQgAiACQQxqNgIcIAAgAkEcahDVDw0BIAIoAhxBpLLIAEECIAIoAiAoAgwRAAANASAHpwshAyAAQQRqIQQCQCADQYCAgARxRQRAIAEoAgBBiLPJAEECIAEoAgQoAgwRAAAEQEEBIQMMAwsgAiAAQRBqNgIcQQEhAyABQZntxABBCyAEQekAIAJBHGpB6AAQ8gxFDQEMAgsgASkCACEHQQEhAyACQQE6ABsgAiAHNwIMIAJBoOvCADYCICACIAEpAgg3AiQgAiACQRtqNgIUIAIgAkEMajYCHCACIABBEGo2AiwgAkEcakGZ7cQAQQsgBEHpACACQSxqQegAEPIMDQEgAigCHEGkssgAQQIgAigCICgCDBEAAA0BCyABKAIAQYiQyQBBASABKAIEKAIMEQAAIQMLIAJBMGokACADC/IDAgZ/AX4jAEEgayICJABBASEFAkAgASgCACIDQaeQyQBBCyABKAIEIgcoAgwiBBEAAA0AAkACQCABKAIIIgZBgICABHFFBEAgA0GX48IAQQMgBBEAAA0DIANBoKzJAEEEIAQRAAANAyADQaayyABBAiAEEQAADQMgACgCDCAAKAIQIAMgBxC/Bg0DIANBiLPJAEECIAQRAAANAyADQf2ayQBBBCAEEQAADQMgA0GmssgAQQIgBBEAAA0DIAAgARDICkUNAQwDCyADQZrjwgBBAyAEEQAADQIg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QaDrwgA2AhQgAiABKQIINwIYIAIgAkEPajYCCCACIAI2AhAgACACQRBqEIkBRQ0BQQEMAgtBASABKAIAQYizyQBBAiABKAIEKAIMEQAADQEaIAAgARCJAQwBCyACKAIQQaSyyABBAiACKAIUKAIMEQAACyEDIABBzABqIQAgBEHMAGsiBA0ACwtBASEAIANFBEAgASgCAEGossgAQQEgASgCBCgCDBEAACEACyACQSBqJAAgAAv7AwEDfyMAQSBrIgMkACABKAIAQaCTyQBBDCABKAIEKAIMEQAAIQIgA0EAOgANIAMgAjoADCADIAE2AgggA0EIakGsk8kAQQogAEEwakGvARCJDkGekMkAQQkgAEGWAhCJDiEBAkAgAy0ADARAQQEhAQwBCyADLQANIQQCQCABKAIAIgItAApBgAFxRQRAQQEhASACKAIAQYizyQBBl+PCACAEQQFxIgQbQQJBAyAEGyACKAIEKAIMEQAADQIgAigCAEG2k8kAQQQgAigCBCgCDBEAAA0CIAIoAgBBprLIAEECIAIoAgQoAgwRAAANAiACKAIAQeeQyQBB4JDJACAALQBEIgAbQQtBByAAGyACKAIEKAIMEQAADQIMAQtBASEBIARBAXFFBEAgAigCAEGa48IAQQMgAigCBCgCDBEAAA0CCyADQQE6AB8gAyACKQIANwIQIAMgA0EfajYCGCADQRBqIgRBtpPJAEEEEP0IDQEgBEGmssgAQQIQ/QgNASAEQeeQyQBB4JDJACAALQBEIgAbQQtBByAAGxD9CA0BIARBpLLIAEECEP0IRQ0ADAELIAItAApBgAFxRQRAIAIoAgBB7erCAEECIAIoAgQoAgwRAAAhAQwBCyACKAIAQaGyyABBASACKAIEKAIMEQAAIQELIANBIGokACABC9sDAgR/AX4jAEEgayICJAAgACgCCCEEIAAoAgQhBUEBIQMgASgCAEGissgAQQEgASgCBCgCDBEAACEAAkAgBEUEQCAAIQMMAQsCQCAADQAgAS0ACkGAAXEEQCABKAIAQaCyyABBASABKAIEKAIMEQAADQEgASkCACEGIAJBAToADyACIAY3AgAgAkGg68IANgIUIAIgASkCCDcCGCACIAJBD2o2AgggAiACNgIQIAUgAkEQahDXAQ0BIAIoAhBBpLLIAEECIAIoAhQoAgwRAAAh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oLLIAEEBIAEoAgQoAgwRAAANASABKQIAIQYgAkEBOgAPIAIgBjcCACACQaDrwgA2AhQgAiABKQIINwIYIAIgAkEPajYCCCACIAI2AhAgBSACQRBqENgBDQEgAigCEEGkssgAQQIgAigCFCgCDBEAACEDDAELIAUgARDYASEDCyAEQQFGDQAgBUEgaiEAIARBBXRBIGshBANAAn9BASADQQFxDQAaAkAgAS0ACkGAAXEEQCABKQIAIQYgAkEBOgAPIAIgBjcCACACQaDrwgA2AhQgAiABKQIINwIYIAIgAkEPajYCCCACIAI2AhAgACACQRBqENgBRQ0BQQEMAgtBASABKAIAQYizyQBBAiABKAIEKAIMEQAADQEaIAAgARDYAQwBCyACKAIQQaSyyABBAiACKAIUKAIMEQAACyEDIABBIGohACAEQSBrIgQNAAsLQQEhACADRQRAIAEoAgBBqLLIAEEBIAEoAgQoAgwRAAAhAAsgAkEgaiQAIAAL2wMCBH8BfiMAQSBrIgIkACAAKAIIIQQgACgCBCEFQQEhAyABKAIAQaKyyABBASABKAIEKAIMEQAAIQACQCAERQRAIAAhAwwBCwJAIAANACABLQAKQYABcQRAIAEoAgBBoLLIAEEBIAEoAgQoAgwRAAANASABKQIAIQYgAkEBOgAPIAIgBjcCACACQaDrwgA2AhQgAiABKQIINwIYIAIgAkEPajYCCCACIAI2AhAgBSACQRBqEJwDDQEgAigCEEGkssgAQQIgAigCFCgCDBEAACEDDAELIAUgARCcAyEDCyAEQQFGDQAgBUFAayEAIARBBnRBQGohBANAAn9BASADQQFxDQAaAkAgAS0ACkGAAXEEQCABKQIAIQYgAkEBOgAPIAIgBjcCACACQaDrwgA2AhQgAiABKQIINwIYIAIgAkEPajYCCCACIAI2AhAgACACQRBqEJwDRQ0BQQEMAgtBASABKAIAQYizyQBBAiABKAIEKAIMEQAADQEaIAAgARCcAwwBCyACKAIQQaSyyABBAiACKAIUKAIMEQAACyEDIABBQGshACAEQUBqIgQNAAsLQQEhACADRQRAIAEoAgBBqLLIAEEBIAEoAgQoAgwRAAAhAAsgAkEgaiQAIAAL+wMBA38jAEEgayIDJAAgASgCAEGgk8kAQQwgASgCBCgCDBEAACECIANB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/gcNASACQaSyyABBAhD9CCEDDAELIAYgARD+ByEDCyAEQQFGDQAgBkEUaiEAIARBFGxBFGshBANAAn9BASADQQFxDQAaIAkEQCACQQE6AA8gAiAINgIEIAIgBTYCACACIAo3AhggAkGg68IANgIUIAIgAkEPajYCCCACIAI2AhBBASAAIAJBEGoQ/gcNARogAkGkssgAQQIQ/QgMAQtBASAFQYizyQBBAiAHEQAADQAaIAAgARD+BwshAyAAQRRqIQAgBEEUayIEDQALC0EBIQAgA0UEQCAFQaiyyABBASAHEQAAIQALIAJBIGokACAAC6sDAgh/AX4jAEEgayICJAAgACgCCCEEIAAoAgQhBkEBIQMgASgCACIFQaKyyABBASABKAIEIggoAgwiBxEAACEAAkAgBEUEQCAAIQMMAQsgASgCCEGAgIAEcSEJIAEpAgghCgJAIAANACAJBEAgBUGgssgAQQEgBxEAAA0BIAJBAToADyACIAg2AgQgAiAFNgIAIAIgCjcCGCACQaDrwgA2AhQgAiACQQ9qNgIIIAIgAjYCECAGIAJBEGoQjwYNASACQaSyyABBAhD9CCEDDAELIAYgARCPBiEDCyAEQQFGDQAgBkEUaiEAIARBFGxBFGshBANAAn9BASADQQFxDQAaIAkEQCACQQE6AA8gAiAINgIEIAIgBTYCACACIAo3AhggAkGg68IANgIUIAIgAkEPajYCCCACIAI2AhBBASAAIAJBEGoQjwYNARogAkGkssgAQQIQ/QgMAQtBASAFQYizyQBBAiAHEQAADQAaIAAgARCPBgshAyAAQRRqIQAgBEEUayIEDQALC0EBIQAgA0UEQCAFQaiyyABBASAHEQAAIQALIAJBIGokACAAC8wDAgV/AX4jAEEwayICJAAgASgCACIEQQFBACABKAIEIgYoAgwiBREAACEDIAIgADYCDAJAIAMEQEEBIQMMAQsCfyABLQAKQYABcUUEQEEBIQMgBEG0z8UAQQEgBREAAA0CIAJBDGogARCAEA0CIAEoAggMAQsgBEGd48IAQQIgBREAAARAQQEhAwwCC0EBIQMgAkEBOgAfIAIgBjYCFCACIAQ2AhAgAkGg68IANgIkIAIgASkCCCIHNwIoIAIgAkEfajYCGCACIAJBEGo2AiAgAkEMaiACQSBqEIAQDQEgAigCIEGkssgAQQIgAigCJCgCDBEAAA0BIAenCyEDIABBBGohAAJAIANBgICABHFFBEAgASgCAEGIs8kAQQIgASgCBCgCDBEAAARAQQEhAwwDC0EBIQMgACABEJEQRQ0BDAILIAEpAgAhB0EBIQMgAkEBOgAfIAIgBzcCECACQaDrwgA2AiQgAiABKQIINwIoIAIgAkEfajYCGCACIAJBEGo2AiAgACACQSBqEJEQDQEgAigCIEGkssgAQQIgAigCJCgCDBEAAA0BCyABKAIAQYiQyQBBASABKAIEKAIMEQAAIQMLIAJBMGokACADC8EDAQV/IwBBIGsiAiQAIAIgAEEMajYCBCABKAIAIgRBxJDJAEENIAEoAgQoAgwiBREAACEGIAIgATYCCEEBIQMCQCAGDQAgAS0ACkGAAXFFBEAgBEGX48IAQQMgBREAAA0BIAEoAgBBoKzJAEEEIAEoAgQoAgwRAAANASABKAIAQaayyABBAiABKAIEKAIMEQAADQEgACgCBCAAKAIIIAEoAgAgASgCBBC/BiEDDAELIARBmuPCAEEDIAURAAANACACIAEpAgA3AhAgAkEBOgAfIAIgAkEfajYCGCACQRBqIgFBoKzJAEEEEP0IDQAgAUGmssgAQQIQ/QgNACAAKAIEIAAoAgggAUGg68IAEL8GBEAMAQsgAkEQakGkssgAQQIQ/QghAwsgAiADOgAMIAJBAToADSACQQhqQdGQyQBBBCACQQRqQfkCEIkOIQAgAi0ADSIDIAItAAwiBHIhAQJAIANBAUcNACAEQQFxDQAgACgCACIALQAKQYABcUUEQCAAKAIAQe3qwgBBAiAAKAIEKAIMEQAAIQEMAQsgACgCAEGhssgAQQEgACgCBCgCDBEAACEBCyACQSBqJAAgAUEBcQurAwEEfyMAQbABayIGJAACQAJAAkACfyAEKAIQIgdFBEBBACECQQcMAQsgBiAHIAEgAkEBcRCJAkGwARCQASICRQ0DIAIgBkGwAfwKAABBAwshAUHgABCQASIIRQ0CIAhBfjYCUCAIIAI2AgQgCCABNgIAIAYgBBDYCCAGKAIIIQEgBigCBCEFAkAgBigCACIHQX9HBEAgBSECDAELIAFBAEgNASABRQRAQQEhAkEAIQdBACEBDAELIAEQkAEiAkUNAiABBEAgAiAFIAH8CgAACyABIQcLQcgBEJABIgVFDQIgBSACNgK8ASAFIAc2ArgBIAVBATYCDCAFIAg2AgggBUKCgICAEDcDACAFIAGtNwPAASADKALEASIBIAMoArwBRgRAIANBvAFqEKUSCyADIAFBAWo2AsQBIAMoAsABIAFB4ABsaiIBQX42AlAgASAFNgIEIAFBBjYCACAAIANBkAL8CgAAIAQoAgwiASgCACEAIAEgAEEBazYCACAAQQFGBEAgBCgCDBAwCyAGQbABaiQADwsQnhUAC0EBEKcUAAtBuPDJAEEBOgAAAAuTAwEFfwJAAkACQAJAAkACQAJAIAIgBGoiCEH/////AUkEQCAIQQFqIgVBAnQiBxCQASIGRQ0BAkAgBkEEayIJLQAAQQNxRQ0AIAdFDQAgBkEAIAf8CwALIAYgBSABIAIgAyAEEDIgBiAFQQJ0akEEaygCAARAIAUhBAwECyAIQQJqIQQgCEECdCECA0AgAkF8RgRAQQAhBAwECyAEQQFrIQQgAiAGaiACQQRrIQIoAgBFDQALIAQgBU0NAiAFIQQMAwsQnhUAC0EEEKcUAAsgBCAFQQJ2Tw0AIAQgBUsNASAERQRAIAkoAgAiAkF4cSEBIAFBBEEIIAJBA3EiAhsgB2pJDQMgAkEARyABIAdBJ2pLcQ0EIAYQvAVBBCEGQQAhBEEAIQUMAQsgBCEFIAYgB0EEIARBAnQiARCtBiIGRQ0ECyAAIAQ2AgggACAGNgIEIAAgBTYCAA8LQYihxABByQBBrKHEABC/EwALQdCcyQBBLkGAnckAEK8UAAtBkJ3JAEEuQcCdyQAQrxQAC0EEEKcUAAvRAwEDfyMAQTBrIgMkACABKAIAQaeQyQBBCyABKAIEKAIMEQAAIQIgA0EAOgANIAMgAjoADCADIAE2AgggA0EIakGgrMkAQQQgAEEIakGlARCJDiEBAkAgAy0ADARAQQEhAQwBCyADLQANIQQCQCABKAIAIgItAApBgAFxRQRAQQEhASACKAIAQYizyQBBl+PCACAEQQFxIgQbQQJBAyAEGyACKAIEKAIMEQAADQIgAigCAEH9mskAQQQgAigCBCgCDBEAAA0CIAIoAgBBprLIAEECIAIoAgQoAgwRAAANAiAAIAIQyAoNAgwBC0EBIQEgBEEBcUUEQCACKAIAQZrjwgBBAyACKAIEKAIMEQAADQILIANBAToAHyADQaDrwgA2AiQgAyACKQIANwIQIAMgAikCCDcCKCADIANBH2o2AhggAyADQRBqIgQ2AiAgBEH9mskAQQQQ/QgNASAEQaayyABBAhD9CA0BIAAgA0EgahDICg0BIARBpLLIAEECEP0IRQ0ADAELIAItAApBgAFxRQRAIAIoAgBB7erCAEECIAIoAgQoAgwRAAAhAQwBCyACKAIAQaGyyABBASACKAIEKAIMEQAAIQELIANBMGokACABC70DAQN/AkACQAJAAkACQAJAAkACQAJAAkACQCABKAIAQQFGBEAgASgCCCICIAEoAgQiA0GgAmooAgAiBE8NAiABKAIMIgEgA0GcAmooAgAgAkEkbGoiAkEgaigCACIDTw0DIAJBHGooAgAgAUHUAGxqIgIoAgBBgICAgHhHDQQgAigCDCIBQQBIDQUgAUUNCiACKAIIIQMgARCQASICDQFBARCnFAALIAEoAggiAiABKAIEIgNBoAJqKAIAIgRPDQUgASgCDCIBIANBnAJqKAIAIAJBJGxqIgJBIGooAgAiA08NBiACQRxqKAIAIAFB1ABsaiICKAIAQYKAgIB4Rw0HIAIoAgwiAUEASA0EIAFFIgMNCSACKAIIIQQgARCQASICRQ0IIAMNCiACIAQgAfwKAAAMCgsgAUUNCSACIAMgAfwKAAAMCQsgAiAEQfS4xAAQhRMACyABIANB9LjEABCFEwALQfS4xAAQnRUACxCeFQALIAIgBEHMu8QAEIUTAAsgASADQcy7xAAQhRMAC0HMu8QAEJ0VAAtBARCnFAALQQEhAkEAIQELIAAgATYCCCAAIAI2AgQgACABNgIAC58DAQR/IAAoAgwiAiAAKAIEIgFrQRRuIQMgASACRwRAIAFBEGohAQNAIAEoAgAiBCgCACECIAQgAkEBazYCACACQQFGBEAgASgCABAwCyABQRRqIQEgA0EBayIDDQALCwJAAkACQAJAIAAoAggiAwRAIAAoAgAiAkEEaygCACIEQXhxIQEgASADQRRsIgNBBEEIIARBA3EiBBtqSQ0BIARBAEcgASADQSdqS3ENAiACELwFCyAAKAIcIgIgACgCFCIBa0EUbiEDIAEgAkcEQCABQRBqIQEDQCABKAIAIgQoAgAhAiAEIAJBAWs2AgAgAkEBRgRAIAEoAgAQMAsgAUEUaiEBIANBAWsiAw0ACwsgACgCGCIBBEAgACgCECIDQQRrKAIAIgJBeHEhACAAIAFBFGwiAUEEQQggAkEDcSICG2pJDQMgAkEARyAAIAFBJ2pLcQ0EIAMQvAULDwtB0JzJAEEuQYCdyQAQrxQAC0GQnckAQS5BwJ3JABCvFAALQdCcyQBBLkGAnckAEK8UAAtBkJ3JAEEuQcCdyQAQrxQAC6YDAQh/IwBBEGsiAiQAIABBCGooAgAhByAAQQRqKAIAIQRBASEAIAEoAgAiA0GissgAQQEgASgCBCIGKAIMIggRAAAhBQJAIAdFBEAgBSEADAELIAEoAghBgICABHEhCQJAIAUNACAJBEAgA0GgssgAQQEgCBEAAA0BIAIgBjYCBCACIAM2AgAgAkEBOgAPIAIgAkEPajYCCCAEKAIEIAQoAgggAkGg68IAEL8GDQEgAkGkssgAQQIQ/QghAAwBCyAEKAIEIAQoAgggAyAGEL8GIQALIAdBAUYNACAHQQxsQQxrIQUgBEEUaiEBA0ACf0EBIABBAXENABogCQRAIAIgBjYCBCACIAM2AgAgAkEBOgAPIAIgAkEPajYCCEEBIAFBBGsoAgAgASgCACACQaDrwgAQvwYNARogAkGkssgAQQIQ/QgMAQtBASADQYizyQBBAiAIEQAADQAaIAFBBGsoAgAgASgCACADIAYQvwYLIQAgAUEMaiEBIAVBDGsiBQ0ACwtBASEBIABFBEAgA0GossgAQQEgCBEAACEBCyACQRBqJAAgAQvOAwEFfyMAQSBrIgIkAAJAIAAoAgBBf0YEQEEBIQQgASgCACIDQZmSyQBBCCABKAIEIgYoAgwiBREAAA0BIABBBGohAAJAIAEtAApBgAFxRQRAIANBtM/FAEEBIAURAAANAyAAIAEQjwZFDQEMAwsgA0Gd48IAQQIgBREAAA0CIAJBAToADyACIAY2AgQgAiADNgIAIAJBoOvCADYCFCACIAEpAgg3AhggAiACQQ9qNgIIIAIgAjYCECAAIAJBEGoQjwYNAiACQaSyyABBAhD9CA0CCyADQYiQyQBBASAFEQAAIQQMAQtBASEEIAEoAgAiA0GUkskAQQUgASgCBCIGKAIMIgURAAANAAJAIAEtAApBgAFxRQRAIANBtM/FAEEBIAURAAANAiAAIAEQ1wENAiABKAIAIQMgASgCBCgCDCEFDAELIANBnePCAEECIAURAAANASACQQE6AA8gAiAGNgIEIAIgAzYCACACQaDrwgA2AhQgAiABKQIINwIYIAIgAkEPajYCCCACIAI2AhAgACACQRBqENcBDQEgAigCEEGkssgAQQIgAigCFCgCDBEAAA0BCyADQYiQyQBBASAFEQAAIQQLIAJBIGokACAEC84DAQV/IwBBIGsiAiQAAkAgACgCAEF/RgRAQQEhBCABKAIAIgNBmZLJAEEIIAEoAgQiBigCDCIFEQAADQEgAEEEaiEAAkAgAS0ACkGAAXFFBEAgA0G0z8UAQQEgBREAAA0DIAAgARCPBkUNAQwDCyADQZ3jwgBBAiAFEQAADQIgAkEBOgAPIAIgBjYCBCACIAM2AgAgAkGg68IANgIUIAIgASkCCDcCGCACIAJBD2o2AgggAiACNgIQIAAgAkEQahCPBg0CIAJBpLLIAEECEP0IDQILIANBiJDJAEEBIAURAAAhBAwBC0EBIQQgASgCACIDQZSSyQBBBSABKAIEIgYoAgwiBREAAA0AAkAgAS0ACkGAAXFFBEAgA0G0z8UAQQEgBREAAA0CIAAgARDYAQ0CIAEoAgAhAyABKAIEKAIMIQUMAQsgA0Gd48IAQQIgBREAAA0BIAJBAToADyACIAY2AgQgAiADNgIAIAJBoOvCADYCFCACIAEpAgg3AhggAiACQQ9qNgIIIAIgAjYCECAAIAJBEGoQ2AENASACKAIQQaSyyABBAiACKAIUKAIMEQAADQELIANBiJDJAEEBIAURAAAhBAsgAkEgaiQAIAQLzAMBBn8gBBC1ECEKAkAgA0EATgRAQQEhCCADRQ0BIAMQkAEiCEUEQEEBEKcUAAsgA0UNASAIIAIgA/wKAAAMAQsQnhUACyAEKAIEIQcCQAJAAkACQAJAIAQoAgBBAUYEQEEBIQsgBCgCECICKAIAIQYgAiAGQQFqNgIAIAZBAEgNAyAEKAIIIQkMAQsgBCgCECICKAIQIgYgB00NASACKAIMIAdB5ABsaiIGKAJYIQkgBigCVCEHIAIgAigCACIGQQFqNgIAIAZBAEgNAgtBHBCQASIGRQ0CIAYgBToAGCAGIAE2AhQgBiAEKAIQNgIQIAYgBCkCCDcCCCAGIAQpAgA3AgBBGBCQASIBRQ0DIAFBADoAFCABQdToxwA2AgwgASAGNgIIIAFCgYCAgBA3AgAgACABNgJgIABBADoAXCAAIAM2AkggACAINgJEIAAgAzYCQCAAQRM6ADwgAEF/NgIsIAAgCTYCKCAAIAc2AiQgACACNgIgIAAgCzYCHCAAQX82AhAgAEKBgICAEDcCCCAAQoGAgIAQNwIAIAAgCkEBczoAPQ8LIAcgBkHk9sgAEIUTCwALQbjwyQBBAToAAAALQbjwyQBBAToAAAALkgMBB38jAEEQayIGJABBASEIIAEgASgCFCIFQQFqIgQ2AhQCQCABKAIQIgcgBE0NAAJAAkAgASgCDCAEai0AAEEraw4DAQIAAgtBACEICyABIAVBAmoiBDYCFAsCQAJAIAQgB0kEQCABIARBAWoiBTYCFCABKAIMIgogBGotAABBMGtB/wFxIgRBCk8EQCAGQQ02AgQgASAGQQRqEKAOIQEgAEEBNgIAIAAgATYCBAwDCyAFIAdPDQEDQCAFIApqLQAAQTBrQf8BcSIJQQpPDQIgASAFQQFqIgU2AhQCQCAEQcuZs+YASgRAIARBzJmz5gBHDQEgCUEHSw0BCyAEQQpsIAlqIQQgBSAHRw0BDAMLCyABKAIIIQQgASgCBCEFA0AgBCIDBEAgBEEBayEEIAUtAAAgBUEBaiEFQTBGDQELCyAAIAEgAiADRSAIELcRDAILIAZBBTYCBCABIAZBBGoQoA4hASAAQQE2AgAgACABNgIEDAELIAAgASACIAMgBEEAIARrIAgbEDELIAZBEGokAAvfAgEHfwJAAkACQCAAKAIAIgZFDQAgACgCDCIBIAAoAgQiAmtB8ABuIQcgASACRwRAA0ACQCACKAIAIgFBf0YNACABRQ0AIAJBBGooAgAiBUEEaygCACIDQXhxIQQgBEEEQQggA0EDcSIDGyABakkNBCADQQBHIAQgAUEnaktxDQUgBRC8BQsgAkEQahDUASACQeAAaigCACIBQQBKBEAgAkHkAGooAgAiBUEEaygCACIDQXhxIQQgBEEEQQggA0EDcSIDGyABakkNBCADQQBHIAQgAUEnaktxDQUgBRC8BQsgAkHwAGohAiAHQQFrIgcNAAsLIAAoAggiAkUNACAGQQRrKAIAIgFBeHEhACAAIAJB8ABsIgJBBEEIIAFBA3EiARtySQ0BIAFBAEcgACACQSdqS3ENAiAGELwFCw8LQdCcyQBBLkGAnckAEK8UAAtBkJ3JAEEuQcCdyQAQrxQAC9MCAQd/AkACQAJAIAAoAiAiAUUNACABIAFBAnRBC2pBeHEiAWpBCWoiBEUNACAAKAIcIAFrIgJBBGsoAgAiAUF4cSEDIANBBEEIIAFBA3EiARsgBGpJDQEgAUEARyADIARBJ2pLcQ0CIAIQvAULIAAoAhQhASAAKAIYIgUEQCABIQIDQCACQThqKAIAIgYEQCACQTxqKAIAIgRBBGsoAgAiA0F4cSEHIAdBBEEIIANBA3EiAxsgBmpJDQMgA0EARyAHIAZBJ2pLcQ0EIAQQvAULIAIQ8AUgAkHIAGohAiAFQQFrIgUNAAsLIAAoAhAiAgRAIAFBBGsoAgAiAEF4cSEDIAMgAkHIAGwiAkEEQQggAEEDcSIAG2pJDQEgAEEARyADIAJBJ2pLcQ0CIAEQvAULDwtB0JzJAEEuQYCdyQAQrxQAC0GQnckAQS5BwJ3JABCvFAAL1QIBB38gACgCLCEDAkACQCAAKAIwIgIEQCADQQxqIQEDQCABQQRrKAIAIgUEQCABKAIAIgdBBGsoAgAiBkF4cSEEIAQgBUEMbCIFQQRBCCAGQQNxIgYbakkNAyAGQQBHIAQgBUEnaktxDQQgBxC8BQsgAUEkaiEBIAJBAWsiAg0ACwsgACgCKCICBEAgA0EEaygCACIEQXhxIQEgASACQSRsIgJBBEEIIARBA3EiBBtqSQ0BIARBAEcgASACQSdqS3ENAiADELwFCwJAIAAoAhgiA0ECRg0AIABBHGohASADRQRAIAEoAgAiAUUNASAAKAIgIgNBBGsoAgAiAkF4cSEAIABBBEEIIAJBA3EiAhsgAWpJDQIgAkEARyAAIAFBJ2pLcQ0DIAMQvAUPCyABEJUNCw8LQdCcyQBBLkGAnckAEK8UAAtBkJ3JAEEuQcCdyQAQrxQAC4sDAQ5/AkACQAJAAkAgAkUEQEEEIQoMAQsgAkEUbCIDEJABIgpFDQEgASADaiEQIAIhCwNAIAEgEEYNASAEIQUCfyABKAIAIgxBAkYEQEECIQwgASgCDCIDRQRAQQQhCEEAIQNBAAwCCyABKAIIIQYgA0EUbCINEJABIghFDQVBACEEIAMhCQNAIAMgBCANRg0CGiAGKAIQIg4oAgAhByAOIAdBAWo2AgAgB0EASA0HIAQgCGoiByAGKQIINwIIIAcgBikCADcCACAHQRBqIA42AgAgBEEUaiEEIAZBFGohBiAJQQFrIgkNAAsgAwwBCyABKAIQIg8oAgAhAyAPIANBAWo2AgAgA0EASA0FIAEoAgwhAyABKAIIIQggASgCBAshCSAFQQFqIQQgAUEUaiEBIAogBUEUbGoiBSAPNgIQIAUgAzYCDCAFIAg2AgggBSAJNgIEIAUgDDYCACALQQFrIgsNAAsLIAAgAjYCCCAAIAo2AgQgACACNgIADwtBBBCnFAALQQQQpxQLAAusAwIIfwF+IAAQrAkgAEEsahCsCQJAAkACQAJAAkAgACgCZCIGRQ0AIAAoAmwiBwRAIAAoAmAiAUEIaiEDIAEpAwBCf4VCgIGChIiQoMCAf4MhCQNAIAlQBEADQCADIgJBCGohAyABQeAAayEBIAIpAwBCgIGChIiQoMCAf4MiCUKAgYKEiJCgwIB/UQ0ACyAJQoCBgoSIkKDAgH+FIQkLIAEgCXqnQQN2QXRsaiIEQQxrKAIAIgIEQCAEQQhrKAIAIghBBGsoAgAiBUF4cSEEIARBBEEIIAVBA3EiBRsgAmpJDQQgBUEARyAEIAJBJ2pLcQ0FIAgQvAULIAlCAX0gCYMhCSAHQQFrIgcNAAsLIAZBDGxBE2pBeHEiAiAGakEJaiIDRQ0AIAAoAmAgAmsiAkEEaygCACIBQXhxIQAgAEEEQQggAUEDcSIBGyADakkNAyABQQBHIAAgA0EnaktxDQQgAhC8BQsPC0HQnMkAQS5BgJ3JABCvFAALQZCdyQBBLkHAnckAEK8UAAtB0JzJAEEuQYCdyQAQrxQAC0GQnckAQS5BwJ3JABCvFAAL1QIBB38CQAJAAkAgACgCICIBRQ0AIAEgAUECdEELakF4cSIBakEJaiIERQ0AIAAoAhwgAWsiAkEEaygCACIBQXhxIQMgA0EEQQggAUEDcSIBGyAEakkNASABQQBHIAMgBEEnaktxDQIgAhC8BQsgACgCFCEBIAAoAhgiBQRAIAEhAgNAIAJB3ABqKAIAIgYEQCACQeAAaigCACIEQQRrKAIAIgNBeHEhByAHQQRBCCADQQNxIgMbIAZqSQ0DIANBAEcgByAGQSdqS3ENBCAEELwFCyACEN8QIAJB6ABqIQIgBUEBayIFDQALCyAAKAIQIgIEQCABQQRrKAIAIgBBeHEhAyADIAJB6ABsIgJBBEEIIABBA3EiABtqSQ0BIABBAEcgAyACQSdqS3ENAiABELwFCw8LQdCcyQBBLkGAnckAEK8UAAtBkJ3JAEEuQcCdyQAQrxQAC7sDAQV/IwBBMGsiAiQAQQEhBAJAIAAoAgBBAUYEQCACIABBBGo2AgwgASgCACIAQduQyQBBBSABKAIEIgUoAgwiAxEAAA0BAkAgAS0ACkGAAXFFBEAgAEG0z8UAQQEgAxEAAA0DIAJBDGogARCMDEUNAQwDCyAAQZ3jwgBBAiADEQAADQIgAkEBOgAfIAIgBTYCFCACIAA2AhAgAkGg68IANgIkIAIgASkCCDcCKCACIAJBH2o2AhggAiACQRBqIgE2AiAgAkEMaiACQSBqEIwMDQIgAUGkssgAQQIQ/QgNAgsgAEGIkMkAQQEgAxEAACEEDAELIAEoAgAiA0HVkMkAQQYgASgCBCIGKAIMIgURAAANAAJAIAEtAApBgAFxRQRAIANBtM/FAEEBIAURAAANAiAAKAIIIAAoAgwgAyAGEL8GRQ0BDAILIANBnePCAEECIAURAAANASACIAY2AiQgAiADNgIgIAJBAToAECACIAJBEGo2AiggACgCCCAAKAIMIAJBIGoiAEGg68IAEL8GDQEgAEGkssgAQQIQ/QgNAQsgA0GIkMkAQQEgBREAACEECyACQTBqJAAgBAulAwEIfyMAQRBrIgIkACAAKAIAIgAoAgghByAAKAIEIQRBASEAIAEoAgAiA0GissgAQQEgASgCBCIGKAIMIggRAAAhBQJAIAdFBEAgBSEADAELIAEoAghBgICABHEhCQJAIAUNACAJBEAgA0GgssgAQQEgCBEAAA0BIAIgBjYCBCACIAM2AgAgAkEBOgAPIAIgAkEPajYCCCAEKAIEIAQoAgggAkGg68IAEL8GDQEgAkGkssgAQQIQ/QghAAwBCyAEKAIEIAQoAgggAyAGEL8GIQALIAdBAUYNACAHQQxsQQxrIQUgBEEUaiEBA0ACf0EBIABBAXENABogCQRAIAIgBjYCBCACIAM2AgAgAkEBOgAPIAIgAkEPajYCCEEBIAFBBGsoAgAgASgCACACQaDrwgAQvwYNARogAkGkssgAQQIQ/QgMAQtBASADQYizyQBBAiAIEQAADQAaIAFBBGsoAgAgASgCACADIAYQvwYLIQAgAUEMaiEBIAVBDGsiBQ0ACwtBASEBIABFBEAgA0GossgAQQEgCBEAACEBCyACQRBqJAAgAQvVAgEHfwJAAkACQCAAKAIQIgFFDQAgASABQQJ0QQtqQXhxIgFqQQlqIgRFDQAgACgCDCABayICQQRrKAIAIgFBeHEhAyADQQRBCCABQQNxIgEbIARqSQ0BIAFBAEcgAyAEQSdqS3ENAiACELwFCyAAKAIEIQEgACgCCCIFBEAgASECA0AgAkHkAGooAgAiBgRAIAJB6ABqKAIAIgRBBGsoAgAiA0F4cSEHIAdBBEEIIANBA3EiAxsgBmpJDQMgA0EARyAHIAZBJ2pLcQ0EIAQQvAULIAIQ2AcgAkHwAGohAiAFQQFrIgUNAAsLIAAoAgAiAgRAIAFBBGsoAgAiAEF4cSEDIAMgAkHwAGwiAkEEQQggAEEDcSIAG3JJDQEgAEEARyADIAJBJ2pLcQ0CIAEQvAULDwtB0JzJAEEuQYCdyQAQrxQAC0GQnckAQS5BwJ3JABCvFAAL0wIBB38CQAJAAkAgACgCICIBRQ0AIAEgAUECdEELakF4cSIBakEJaiIERQ0AIAAoAhwgAWsiAkEEaygCACIBQXhxIQMgA0EEQQggAUEDcSIBGyAEakkNASABQQBHIAMgBEEnaktxDQIgAhC8BQsgACgCFCEBIAAoAhgiBQRAIAEhAgNAIAJBOGooAgAiBgRAIAJBPGooAgAiBEEEaygCACIDQXhxIQcgB0EEQQggA0EDcSIDGyAGakkNAyADQQBHIAcgBkEnaktxDQQgBBC8BQsgAhDzBSACQcgAaiECIAVBAWsiBQ0ACwsgACgCECICBEAgAUEEaygCACIAQXhxIQMgAyACQcgAbCICQQRBCCAAQQNxIgAbakkNASAAQQBHIAMgAkEnaktxDQIgARC8BQsPC0HQnMkAQS5BgJ3JABCvFAALQZCdyQBBLkHAnckAEK8UAAu5AwIGfwF+IwBBsAFrIgUkAAJAAkACQAJAAkAgACgCAEUEQCACEJABIgdFDQEgAgRAIAcgASAC/AoAAAtBASEBIAAoAgQiCEEASgRAIAAoAggiCkEEaygCACIGQXhxIQkgCUEEQQggBkEDcSIGGyAIakkNAyAGQQBHIAkgCEEnaktxDQQgChC8BQsgACACNgIMIAAgBzYCCCAAQX82AgQgBSAAKQMINwJAIAUgAjYCPAJAIARFIgINACAEEJABIgFFDQUgAg0AIAEgAyAE/AoAAAsgBUGDgICAeDYCWCAFIAQ2AlAgBSABNgJMIAUgBDYCSCAFQfgAaiAAQRBqIAVBPGogBUHIAGoQ0gMgBSAFKQOoATcDMCAFIAUpA6ABNwMoIAUgBSkDmAE3AyAgBSAFKQOQASILNwMYIAUgBSkDiAE3AxAgBSAFKQOAATcDCCALp0F/RwRAIAVBCGoQ+wkLQQAhAAwFCyAFQQo2AnggBUH4AGpBAEEAEMcTIQAMBAtBARCnFAALQdCcyQBBLkGAnckAEK8UAAtBkJ3JAEEuQcCdyQAQrxQAC0EBEKcUAAsgBUGwAWokACAAC5oDAQV/IwBBwAFrIgQkAAJAIAIEQCACQegBbCIFIAFqIQcDQCABQegBaiECAkAgASkDAEICUQRAIARB2ABqIgYgAUHIAWoQkAMgBEEQaiIIIAFBCGogBiADEKEBIAQoAhBBfUYNAUGgAhCQASIFBEAgBSAIQcgA/AoAACAEQQE2AgwgBCAFNgIIIARBBDYCBAJAIAIgB0YNAEEBIQYDQCACIQEDQCABQegBaiECAkAgASkDAEICUQRAIARBoAFqIgggAUHIAWoQkAMgBEHYAGogAUEIaiAIIAMQoQEgBCgCWEF9Rg0BIAQoAgQgBkYEQCAEQQRqIAZBAUEIQcgAELMRIAQoAgghBQsgBSAGQcgAbGogBEHYAGpByAD8CgAAIAQgBkEBaiIGNgIMIAIgB0cNAwwECyAEQX02AlgLIAcgAiIBRw0ACwsLIAAgBCgCDDYCCCAAIAQpAgQ3AgAMBQtBCBCnFAALIARBfTYCEAsgAiEBIAVB6AFrIgUNAAsLIABBADYCCCAAQoCAgICAATcCAAsgBEHAAWokAAuyAwEFfyMAQZACayICJAAgASgCACEDIAEoAhAhBCACQQxqIAFBBGoiBRD8CCACIAFBEGoiBkEAIAQbNgIIIAIgAzYCBCACQQA6AGcgAiABKAIANgJwIAIgAkHnAGo2AmwgAiACQQRqNgJoIAJBgAFqIgEgAkHoAGoQ7wQCQAJAIAIoAoABQX1HBEBBoAIQkAEiA0UNAiADIAFByAD8CgAAIAJBATYCfCACIAM2AnggAkEENgJ0QcgAIQRBASEBA0AgAkHIAWogAkHoAGoQ7wQgAigCyAFBfUZFBEAgAigCdCABRgRAIAJB9ABqIAFBAUEIQcgAELMRIAIoAnghAwsgAyAEaiACQcgBakHIAPwKAAAgAiABQQFqIgE2AnwgBEHIAGohBAwBCwsgACACKAJ8NgIIIAAgAikCdDcCAAwBCyAAQQA2AgggAEKAgICAgAE3AgALIAUoAgAiASgCACEAIAEgAEEBazYCACAAQQFGBEAgBSgCABAwCwJAIAYoAgAiAEUNACAAIAAoAgAiAEEBazYCACAAQQFHDQAgBigCABAwCyACQZACaiQADwtBCBCnFAALuQMCBn8BfiMAQbABayIFJAACQAJAAkACQAJAIAAoAgBFBEAgAhCQASIHRQ0BIAIEQCAHIAEgAvwKAAALQQEhASAAKAIEIghBAEoEQCAAKAIIIgpBBGsoAgAiBkF4cSEJIAlBBEEIIAZBA3EiBhsgCGpJDQMgBkEARyAJIAhBJ2pLcQ0EIAoQvAULIAAgAjYCDCAAIAc2AgggAEF/NgIEIAUgACkDCDcCQCAFIAI2AjwCQCAERSICDQAgBBCQASIBRQ0FIAINACABIAMgBPwKAAALIAVBg4CAgHg2AlggBSAENgJQIAUgATYCTCAFIAQ2AkggBUH4AGogAEEQaiAFQTxqIAVByABqENIDIAUgBSkDqAE3AzAgBSAFKQOgATcDKCAFIAUpA5gBNwMgIAUgBSkDkAEiCzcDGCAFIAUpA4gBNwMQIAUgBSkDgAE3AwggC6dBf0cEQCAFQQhqEP4JC0EAIQAMBQsgBUEKNgJ4IAVB+ABqQQBBABDHEyEADAQLQQEQpxQAC0HQnMkAQS5BgJ3JABCvFAALQZCdyQBBLkHAnckAEK8UAAtBARCnFAALIAVBsAFqJAAgAAuUAwIDfgd/IAApAxAgACkDGCABIAIQ4woiA6cgACgCBCIIcSEGIANCGYhC/wCDQoGChIiQoMCAAX4hBSAAKAIAIQcCfwNAAkAgBiAHaikAACIEIAWFIgNCgYKEiJCgwIABfSADQn+Fg0KAgYKEiJCgwIB/gyIDQgBSBEADQCAHIAN6p0EDdiAGaiAIcSILQXRsaiIKQQhrKAIAIAJGBEAgASAKQQxrIgwoAgAgAhCPE0UNAwsgA0IBfSADgyIDQgBSDQALC0EAIAQgBEIBhoNCgIGChIiQoMCAf4NCAFINAhogCUEIaiIJIAZqIAhxIQYMAQsLQYABIQIgC0EMbEEMbSIBIAdqIgYpAAAiA0IBhiADg0KAgYKEiJCgwIB/g3qnQQN2IAcgAUEIayAIcWoiASkAACIDQgGGIAODQoCBgoSIkKDAgH+DeadBA3ZqQQdNBEAgACAAKAIIQQFqNgIIQf8BIQILIAYgAjoAACABQQhqIAI6AAAgACAAKAIMQQFrNgIMIApBBGsoAgBBACAMKAIAGwsL1wIBBn8gACgCDCICIAAoAgQiAWtB8ABuIQQCQAJAIAEgAkcEQANAAkAgASgCACICQX9GDQAgAkUNACABQQRqKAIAIgZBBGsoAgAiA0F4cSEFIAVBBEEIIANBA3EiAxsgAmpJDQMgA0EARyAFIAJBJ2pLcQ0EIAYQvAULIAFBEGoQrQEgAUHgAGooAgAiAkEASgRAIAFB5ABqKAIAIgZBBGsoAgAiA0F4cSEFIAVBBEEIIANBA3EiAxsgAmpJDQMgA0EARyAFIAJBJ2pLcQ0EIAYQvAULIAFB8ABqIQEgBEEBayIEDQALCyAAKAIIIgEEQCAAKAIAIgJBBGsoAgAiBEF4cSEAIAAgAUHwAGwiAUEEQQggBEEDcSIEG3JJDQEgBEEARyAAIAFBJ2pLcQ0CIAIQvAULDwtB0JzJAEEuQYCdyQAQrxQAC0GQnckAQS5BwJ3JABCvFAALuQMCA38BfgNAAkBBCCEBAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkBBFSAAKQMAIgSnQQNrIARCAlgbQQFrDhUKBAAEBQUKCgwMAQsGAgMHBAgMDAkECyAAKAIMIQIgACgCFBCVDCEBIAAoAhAiAEUNDANAQX8gAhCVDCABaiIDIAEgA0sbIQEgAkGAAWohAiAAQQFrIgANAAsMDAsgACgCDCECIAAoAhQQlQwhASAAKAIQIgBFDQsDQEF/IAIQlQwgAWoiAyABIANLGyEBIAJBkAFqIQIgAEEBayIADQALDAsLQcgAIQEMCQtBwAAhAQwIC0EADwtBAQ8LQX8hAQwGCyAAKAIQEJUMIQEgACgCFBCVDCECQX8gASAAKAIYEJUMIgAgAiAAIAJLG2oiACAAIAFJGw8LIAAoAhQQlQwhAUF/IAAoAhgQlQwgAWoiACAAIAFJGw8LQegAIQEMAgsgACgCECICRQRAQQAPCyAAKAIMIQBBACEBA0BBfyAAEJUMIAFqIgMgASADSxshASAAQfAAaiEAIAJBAWsiAg0ACwwCC0EUIQELIAAgAWooAgAhAAwBCwsgAQugAwEIfyMAQRBrIgIkACAAKAIIIQcgACgCBCEEQQEhACABKAIAIgNBorLIAEEBIAEoAgQiBigCDCIIEQAAIQUCQCAHRQRAIAUhAAwBCyABKAIIQYCAgARxIQkCQCAFDQAgCQRAIANBoLLIAEEBIAgRAAANASACIAY2AgQgAiADNgIAIAJBAToADyACIAJBD2o2AgggBCgCBCAEKAIIIAJBoOvCABC/Bg0BIAJBpLLIAEECEP0IIQAMAQsgBCgCBCAEKAIIIAMgBhC/BiEACyAHQQFGDQAgB0EMbEEMayEFIARBFGohAQNAAn9BASAAQQFxDQAaIAkEQCACIAY2AgQgAiADNgIAIAJBAToADyACIAJBD2o2AghBASABQQRrKAIAIAEoAgAgAkGg68IAEL8GDQEaIAJBpLLIAEECEP0IDAELQQEgA0GIs8kAQQIgCBEAAA0AGiABQQRrKAIAIAEoAgAgAyAGEL8GCyEAIAFBDGohASAFQQxrIgUNAAsLQQEhASAARQRAIANBqLLIAEEBIAgRAAAhAQsgAkEQaiQAIAELzQMBA38jAEEgayIDJAAgASgCAEHf+sYAQREgASgCBCgCDBEAACECIANBADoADSADIAI6AAwgAyABNgIIIANBCGpB8PrGAEEEIABBpQEQiQ4hAQJAIAMtAAwEQEEBIQEMAQsgAy0ADSEEAkAgASgCACICLQAKQYABcUUEQEEBIQEgAigCAEGIs8kAQZfjwgAgBEEBcSIEG0ECQQMgBBsgAigCBCgCDBEAAA0CIAIoAgBB9PrGAEECIAIoAgQoAgwRAAANAiACKAIAQaayyABBAiACKAIEKAIMEQAADQIgACgCECAAKAIUIAIoAgAgAigCBBC/Bg0CDAELQQEhASAEQQFxRQRAIAIoAgBBmuPCAEEDIAIoAgQoAgwRAAANAgsgA0EBOgAfIAMgAikCADcCECADIANBH2o2AhggA0EQaiIEQfT6xgBBAhD9CA0BIARBprLIAEECEP0IDQEgACgCECAAKAIUIARBoOvCABC/Bg0BIARBpLLIAEECEP0IRQ0ADAELIAItAApBgAFxRQRAIAIoAgBB7erCAEECIAIoAgQoAgwRAAAhAQwBCyACKAIAQaGyyABBASACKAIEKAIMEQAAIQELIANBIGokACABC+oCAQV/AkAgAUHN/3tBECAAIABBEE0bIgBrTw0AQRAgAUELakF4cSABQQtJGyIEIABqQQxqEJABIgJFDQAgAkEIayEBAkAgAEEBayIDIAJxRQRAIAEhAAwBCyACQQRrIgUoAgAiBkF4cSAAQQAgAiADakEAIABrcUEIayIAIAFrQRBNGyAAaiIAIAFrIgJrIQMgBkEDcQRAIAAgAyAAKAIEQQFxckECcjYCBCAAIANqIgMgAygCBEEBcjYCBCAFIAIgBSgCAEEBcXJBAnI2AgAgASACaiIDIAMoAgRBAXI2AgQgASACEJkHDAELIAEoAgAhASAAIAM2AgQgACABIAJqNgIACwJAIAAoAgQiAUEDcUUNACABQXhxIgIgBEEQak0NACAAIAQgAUEBcXJBAnI2AgQgACAEaiIBIAIgBGsiBEEDcjYCBCAAIAJqIgIgAigCBEEBcjYCBCABIAQQmQcLIABBCGohAwsgAwuFAwIFfwN+IwBBEGsiBiQAAkACQAJAAkAgAyAETQRAIAIgA0kNAgNAIAIgBUYiCA0EIAEgBWoiBy0AAEEwayIJQf8BcUEKTwRAIAMgBUsEQCAAQQA2AgAgAEEDOgAEDAcLAkAgAiAFTQRAIAhFDQEMBQsgBywAAEG/f0oNBAsgASACIAUgAkGgyMIAEP0UAAsgBiAKIApCP4dCCkIAEO4RAkAgBikDCCAGKQMAIgtCP4dSDQAgCa1C/wGDIgwgC3wiCiALUw0AIAVBAWoiBSAERw0BDAULCyAAQQA2AgAgAEEAOgAEDAQLQeTHwgBBHEGAyMIAEK8UAAsgACAKNwMIIAAgAiAFazYCBCAAIAc2AgAMAgsgAEEANgIAIABBBDoABAwBCyACIAQgAiAESRshAwJAAkAgAiAETQ0AIANFDQAgASADaiwAAEFASA0BCyAAIAo3AwggACACIANrNgIEIAAgASADajYCAAwBCyABIAIgAyACQZDIwgAQ/RQACyAGQRBqJAAL2gIBBH8gAEGAAWoQlAwCQAJAAkAgACgCIEF/Rg0AAkAgACgCECICQX9GDQAgAkUNACAAKAIUIgNBBGsoAgAiBEF4cSEBIAFBBEEIIARBA3EiBBsgAmpJDQIgBEEARyABIAJBJ2pLcQ0DIAMQvAULIABBIGoQrQEgACgCcCICQQBMDQAgACgCdCIDQQRrKAIAIgRBeHEhASABQQRBCCAEQQNxIgQbIAJqSQ0BIARBAEcgASACQSdqS3ENAiADELwFCyAAKAKUASECIAAoApgBIgMEQCACIQEDQCABEJQMIAFBEGohASADQQFrIgMNAAsLIAAoApABIgEEQCACQQRrKAIAIgNBeHEhACAAIAFBBHQiAUEEQQggA0EDcSIDG3JJDQEgA0EARyAAIAFBJ2pLcQ0CIAIQvAULDwtB0JzJAEEuQYCdyQAQrxQAC0GQnckAQS5BwJ3JABCvFAALtQMCBH8CfiMAQTBrIgIkACABKAIAIgRBAUEAIAEoAgQoAgwiBREAACEDIAIgAEHIAWo2AgwCQCADBEBBASEDDAELAkAgAS0ACkGAAXFFBEBBASEDIARBtM/FAEEBIAURAAANAiAAIAEQkgRFDQEMAgsgBEGd48IAQQIgBREAAARAQQEhAwwCCyABKQIAIQZBASEDIAJBAToAHyACIAY3AhAgAkGg68IANgIkIAIgASkCCDcCKCACIAJBH2o2AhggAiACQRBqNgIgIAAgAkEgahCSBA0BIAIoAiBBpLLIAEECIAIoAiQoAgwRAAANAQsCQCABLQAKQYABcUUEQCABKAIAQYizyQBBAiABKAIEKAIMEQAABEAMAwsgAkEMaiABENUBRQ0BDAILIAEpAgghBiABKQIAIQcgAkEBOgAfIAIgBzcCECACIAY3AiggAkGg68IANgIkIAIgAkEfajYCGCACIAJBEGo2AiAgAkEMaiACQSBqENUBDQEgAigCIEGkssgAQQIgAigCJCgCDBEAAA0BCyABKAIAQYiQyQBBASABKAIEKAIMEQAAIQMLIAJBMGokACADC50DAgd/AX4jAEEgayIDJABBASEEIAIoAgAiBUGissgAQQEgAigCBCIHKAIMIgYRAAAhCAJAIAFFBEAgCCEEDAELIAIoAghBgICABHEhCSACKQIIIQoCQCAIDQAgCQRAIAVBoLLIAEEBIAYRAAANASADQQE6AA8gAyAHNgIEIAMgBTYCACADIAo3AhggA0Gg68IANgIUIAMgA0EPajYCCCADIAM2AhAgACADQRBqEI8GDQEgA0GkssgAQQIQ/QghBAwBCyAAIAIQjwYhBAsgAUEBRg0AIABBFGohACABQRRsQRRrIQEDQAJ/QQEgBEEBcQ0AGiAJBEAgA0EBOgAPIAMgBzYCBCADIAU2AgAgAyAKNwIYIANBoOvCADYCFCADIANBD2o2AgggAyADNgIQQQEgACADQRBqEI8GDQEaIANBpLLIAEECEP0IDAELQQEgBUGIs8kAQQIgBhEAAA0AGiAAIAIQjwYLIQQgAEEUaiEAIAFBFGsiAQ0ACwtBASEAIARFBEAgBUGossgAQQEgBhEAACEACyADQSBqJAAgAAubAwEMfyMAQRBrIgYkAAJAAkACQCABKAIEIgIgASgCDCILRwRAIAEoAhAiBygCCCIIRQ0BIAhBAnQhCCAHKAIEIQcDQCACQQRqIQkCQCACKAIAIgQoAgBFBEAgBCgCBCEFIAghAyAHIQIDQCACKAIAIgooAgBFBEAgCigCBCAFRg0DCyACQQRqIQIgA0EEayIDDQALDAULIAQoAgwhCiAEKAIIIQwgBCgCBCENIAghAyAHIQIDQAJAIAIoAgAiBSgCAEUNACAFKAIEIA1HDQAgBSgCCCAMRw0AIAUoAgwgCkYNAgsgAkEEaiECIANBBGsiAw0ACwwECyALIAkiAkcNAAsgASACNgIECyAAQX82AgAMAgsgAkEEaiEJIAIoAgAhBAsgASAJNgIEIAZBCGogBBDwDgJAAkAgBigCDCIBQQBOBEAgAUUEQEEBIQMMAwsgBigCCCECIAEQkAEiA0UNASABRQ0CIAMgAiAB/AoAAAwCCxCeFQALQQEQpxQACyAAIAE2AgggACADNgIEIAAgATYCAAsgBkEQaiQAC9oDAQF/AkACQAJAAkACQAJAAkAgASgCAEEBaw4DAgABAAtBwAEQkAEiA0UNAiADQQs2AmAgA0F+NgJQIANBCjYCACADQX42ArABIABBAjYCDCAAIAM2AgggAEECNgIEIAMgASkCCDcCDCADIAEpAgA3AgQgAyACKQIANwJkIAMgAikCCDcCbCADIAIoAhA2AnQgAEEBNgIADwsgASgCBCEDQcABEJABIgFFDQIgASADQeAA/AoAACABQQs2AmAgAUF+NgKwASABIAIoAhA2AnQgASACKQIINwJsIAEgAikCADcCZCAAQQI2AgwgACABNgIIIABCgYCAgCA3AgAgA0EEaygCACIAQQNxIQEgAEF4cUHkAEHoACABG0kNAyABQQBHIABBiAFPcQ0EIAMQvAUPCyABKAIMIgMgASgCBEYEQCABQQRqEKUSCyABIANBAWo2AgwgACABKQIANwIAIAEoAgggA0HgAGxqIgNBCzYCACADIAIpAgA3AgQgAyACKQIINwIMIAMgAigCEDYCFCADQX42AlAgACABKQIINwIIDwtBuPDJAEEBOgAAAAtBuPDJAEEBOgAAAAtB0JzJAEEuQYCdyQAQrxQAC0GQnckAQS5BwJ3JABCvFAALgAMBCH8jAEEQayIFJAACQEEMEJABIgYEQEEKIQMgASIEQegHTwRAA0AgBUEGaiADaiIHQQRrIAQiAiACQZDOAG4iBEGQzgBsayIIQf//A3FB5ABuIglBAXQvAJyYSTsAACAHQQJrIAggCUHkAGxrQf//A3FBAXQvAJyYSTsAACADQQRrIQMgAkH/rOIESw0ACwsCQCAEQQlNBEAgBCECDAELIANBAmsiAyAFQQZqaiAEIARB//8DcUHkAG4iAkHkAGxrQf//A3FBAXQvAJyYSTsAAAsCQAJAIAJFIAFBAEdxRQRAIAMgBWpBBWoiASACQQF0LQCdmEk6AABBCyADayECDAELQQogA2shAkEBIQQgA0EKRg0BIAVBBmogA2ohAQsgAhCQASIERQ0CIAJFDQAgBCABIAL8CgAACyAGIAI2AgggBiAENgIEIAYgAjYCACAAQQE2AgggACAGNgIEIABBATYCACAFQRBqJAAPC0G48MkAQQE6AAAAC0EBEKcUAAukAwIJfwF+AkACQAJAAkACQCAAKAIEIgVFDQAgACgCDCIGBEAgACgCACIBQQhqIQMgASkDAEJ/hUKAgYKEiJCgwIB/gyEKA0AgClAEQANAIAMiAkEIaiEDIAFBgANrIQEgAikDAEKAgYKEiJCgwIB/gyIKQoCBgoSIkKDAgH9RDQALIApCgIGChIiQoMCAf4UhCgsgASAKeqdBA3ZBUGxqIgJBMGsoAgAiBwRAIAJBLGsoAgAiCUEEaygCACIEQXhxIQggCEEEQQggBEEDcSIEGyAHakkNBCAEQQBHIAggB0EnaktxDQUgCRC8BQsgCkIBfSAKgyEKIAJBIGsQhwQgBkEBayIGDQALCyAFQTBsIgIgBWpBOWoiA0UNACAAKAIAIAJrIgJBNGsoAgAiAUF4cSEAIABBBEEIIAFBA3EiARsgA2pJDQMgAUEARyAAIANBJ2pLcQ0EIAJBMGsQvAULDwtB0JzJAEEuQYCdyQAQrxQAC0GQnckAQS5BwJ3JABCvFAALQdCcyQBBLkGAnckAEK8UAAtBkJ3JAEEuQcCdyQAQrxQAC6QDAgl/AX4CQAJAAkACQAJAIAAoAgQiBUUNACAAKAIMIgYEQCAAKAIAIgFBCGohAyABKQMAQn+FQoCBgoSIkKDAgH+DIQoDQCAKUARAA0AgAyICQQhqIQMgAUGAA2shASACKQMAQoCBgoSIkKDAgH+DIgpCgIGChIiQoMCAf1ENAAsgCkKAgYKEiJCgwIB/hSEKCyABIAp6p0EDdkFQbGoiAkEwaygCACIHBEAgAkEsaygCACIJQQRrKAIAIgRBeHEhCCAIQQRBCCAEQQNxIgQbIAdqSQ0EIARBAEcgCCAHQSdqS3ENBSAJELwFCyAKQgF9IAqDIQogAkEgaxCIBCAGQQFrIgYNAAsLIAVBMGwiAiAFakE5aiIDRQ0AIAAoAgAgAmsiAkE0aygCACIBQXhxIQAgAEEEQQggAUEDcSIBGyADakkNAyABQQBHIAAgA0EnaktxDQQgAkEwaxC8BQsPC0HQnMkAQS5BgJ3JABCvFAALQZCdyQBBLkHAnckAEK8UAAtB0JzJAEEuQYCdyQAQrxQAC0GQnckAQS5BwJ3JABCvFAALugMBBX8jAEHgAGsiAiQAIAJBIGogARDaASACIAIpAzA3AxAgAiACKQM4NwMYIAIoAiwhBCACKAIoIQEgAigCJCEDIAIoAiAhBQJAIAIoAlAiBkF/RwRAIAAgAikDSDcDKCAAIAIpA0A3AyAgACACKQJUNwI0IAAgAigCXDYCPCAAIAIpAxg3AxggACACKQMQNwMQIAAgBjYCMCAAIAQ2AgwgACABNgIIIAAgAzYCBCAAIAU2AgAMAQsgAiACKQMQNwMAIAIgAikDGDcDCAJAIAVBD0cNAAJAAkAgBEEEaw4CAAECCyABKAAAQerepfMGRw0BIABBfzYCMCAAQQA6AAAgA0UNAiABIAMQ2RIMAgsgASgAAEHx6pWTB3MgAUEEai0AAEH5AHNyDQAgAEF/NgIwIABBAToAACADRQ0BIAEgAxDZEgwBCyACIAQ2AiwgAiABNgIoIAIgAzYCJCACIAU2AiAgAiACKQMANwMwIAIgAikDCDcDOCACIAJBIGoiAa1CgICAgMAjhDcDECAAQTBqQYbxwQAgAkEQahC4DCAAQQA6ADwgAEF/NgIQIAEQiAQLIAJB4ABqJAALgwMCCH8BfiMAQRBrIgIkACACQQA2AgwgAkKAgICAwAA3AgQCQCABKAIIQX9GDQBBBCEGA0AgASgCECEFIAEoAgwhByACKAIEIANGBEAgAkEEahCWEiACKAIIIQYLIAQgBmoiCCAHNgIAIAhBBGogBTYCACACIANBAWoiAzYCDCAEQQhqIQQgASgCFCIBKAIIQX9HDQALIANBAXYiAUUNACACKAIIIgYgA0EDdGohB0EAIQUgAUEBRwRAIAFBAXEgAUH+////B3EhCSAEIAZqQQhrIQMgBiEBA0AgAykCACEKIAMgASkCADcCACABIAo3AgAgAUEIaiIEKQIAIQogBCAHIAVB/v///wFzQQN0aiIEKQIANwIAIAQgCjcCACADQRBrIQMgAUEQaiEBIAkgBUECaiIFRw0AC0UNAQsgBiAFQQN0aiIBKQIAIQogASAHIAVBf3NBA3RqIgEpAgA3AgAgASAKNwIACyAAIAIoAgw2AgggACACKQIENwIAIAJBEGokAAvYAwEBfwJAAkACQAJAAkACQAJAIAEoAgAOBAIAAAEAC0HAARCQASIDRQ0CIANBCzYCYCADQX42AlAgA0EKNgIAIANBfjYCsAEgAEECNgIMIAAgAzYCCCAAQQI2AgQgAyABKQIINwIMIAMgASkCADcCBCADIAIpAgA3AmQgAyACKQIINwJsIAMgAigCEDYCdCAAQQA2AgAPCyABKAIEIQNBwAEQkAEiAUUNAiABIANB4AD8CgAAIAFBCzYCYCABQX42ArABIAEgAigCEDYCdCABIAIpAgg3AmwgASACKQIANwJkIABBAjYCDCAAIAE2AgggAEKAgICAIDcCACADQQRrKAIAIgBBA3EhASAAQXhxQeQAQegAIAEbSQ0DIAFBAEcgAEGIAU9xDQQgAxC8BQ8LIAEoAgwiAyABKAIERgRAIAFBBGoQpRILIAEgA0EBajYCDCAAIAEpAgA3AgAgASgCCCADQeAAbGoiA0ELNgIAIAMgAikCADcCBCADIAIpAgg3AgwgAyACKAIQNgIUIANBfjYCUCAAIAEpAgg3AggPC0G48MkAQQE6AAAAC0G48MkAQQE6AAAAC0HQnMkAQS5BgJ3JABCvFAALQZCdyQBBLkHAnckAEK8UAAv2AgEEfyMAQRBrIgQkAAJAIAAoAgAiAyABKAIARw0AAkACQAJAAkACQCADQQFrDgQBBAIDAAsgAEEIaiABQQhqEMADIQIMBAsgACgCMCABKAIwRw0DIAAoAhwhAiAAKAIgIAQgAUEIajYCCEHIAGwhAANAIAAiAQRAIABByABrIQAgBEEIaiACQThqIAIQyQwgAkHIAGohAg0BCwsgAUUhAgwDCyAAQQhqIAFBCGoQlQchAgwCCyAAKAIwIAEoAjBHDQEgACgCHCECIAAoAiAgBCABQQhqNgIMQcgAbCEAA0AgACIBBEAgAEHIAGshACAEQQxqIAJBOGogAhDJDCACQcgAaiECDQELCyABRSECDAELIAAoAgwiAyABKAIMRw0AIANFBEBBASECDAELIAAoAgghACABKAIIIQEgA0EBayEDA0AgACABEKUMIgJFDQEgA0EARyAAQThqIQAgAUE4aiEBIANBAWshAw0ACwsgBEEQaiQAIAILrgMBCX8jAEGQAWsiAiQAIAJCgICAgIABNwIMIAJBmKnJACkDADcCICACQZCpyQApAwA3AhggAkEYaiABQRxqEIgNAkAgASgCGCIFBEACQAJAQbGn7AkgAigCICACKAIkaiIDIANBsafsCU8bIgMgBU0NACADQegAbBCQASIGRQ0AIAIgAzYCDAwBCyAFQegAbCIDEJABIgYEQCACIAU2AgwMAQtBCBCnFAALIAIgBjYCECABKAIUIQMgBSEIA0AgA0HYAGooAgAhCQJAIANB5ABqKAIAIgRFBEBBASEHDAELIANB4ABqKAIAIQogBBCQASIHRQ0DIARFDQAgByAKIAT8CgAACyACIAQ2AowBIAIgBzYCiAEgAiAENgKEASACQShqIgQgAxDTDCACIAk2AoABIAYgBEHoAPwKAAAgBkHoAGohBiADQegAaiEDIAhBAWsiCA0ACyAFIQMLIAAgAikCDDcCECAAIAIpAhw3AiAgACACKAIkNgIoIAIgAzYCFCAAIAIpAhQ3AhggACABKQMINwMIIAAgASkDADcDACACQZABaiQADwtBARCnFAALnwMCCH8BfgJAAkACQAJAAkAgACgCBCIGRQ0AIAAoAgwiBwRAIAAoAgAiAUEIaiEDIAEpAwBCf4VCgIGChIiQoMCAf4MhCQNAIAlQBEADQCADIgJBCGohAyABQeAAayEBIAIpAwBCgIGChIiQoMCAf4MiCUKAgYKEiJCgwIB/UQ0ACyAJQoCBgoSIkKDAgH+FIQkLIAEgCXqnQQN2QXRsaiIEQQxrKAIAIgIEQCAEQQhrKAIAIghBBGsoAgAiBUF4cSEEIARBBEEIIAVBA3EiBRsgAmpJDQQgBUEARyAEIAJBJ2pLcQ0FIAgQvAULIAlCAX0gCYMhCSAHQQFrIgcNAAsLIAZBDGxBE2pBeHEiAiAGakEJaiIDRQ0AIAAoAgAgAmsiAkEEaygCACIBQXhxIQAgAEEEQQggAUEDcSIBGyADakkNAyABQQBHIAAgA0EnaktxDQQgAhC8BQsPC0HQnMkAQS5BgJ3JABCvFAALQZCdyQBBLkHAnckAEK8UAAtB0JzJAEEuQYCdyQAQrxQAC0GQnckAQS5BwJ3JABCvFAALgwMBBX8gAUGAgAhPBEAgAEF/NgIADwsgAiABQQx2QfD/P3FqIgUoAgAhBEEAIQICQAJAAkAgBSgCBCIDDgICAQALIAFB//8DcSEGA0AgAiADQQF2IgcgAmoiAiAEIAJBBmxqLwEAIAZLGyECIAMgB2siA0EBSw0ACwsgBCACQQZsaiICLwEAIgMgAUH//wNxIgRLDQAgAyACQQJqLQAAakH//wNxIARJDQAgAi0AAyABIANzcUEBcQ0AIABCADcCBCAAIAFBgIAEcSACLwEEIAFqQf//A3FyNgIADwsgBSgCCCEEQQAhAgJAAkACQAJAIAUoAgwiAw4CAgEACyABQf//A3EhBQNAIAIgA0EBdiIGIAJqIgIgBCACQQN0ai8BACAFSxshAiADIAZrIgNBAUsNAAsLIAQgAkEDdGoiAi8BACABQf//A3FGDQELIABBfzYCAA8LIAAgAUGAgARxIgEgAi8BBnI2AgggACABIAIvAQRyNgIEIAAgASACLwECcjYCAAuLAwEJfyAAKAIEIQUCQAJAAkACQCAAKAIIIggEQANAAkAgBSAGQRRsaiICKAIAQQJHBEAgAigCECIEKAIAIQEgBCABQQFrNgIAIAFBAUcNASACKAIQEDAMAQsgAigCCCEEIAIoAgwiAwRAIARBEGohAQNAIAEoAgAiCSgCACEHIAkgB0EBazYCACAHQQFGBEAgASgCABAwCyABQRRqIQEgA0EBayIDDQALCyACKAIEIgFFDQAgBEEEaygCACIDQXhxIQIgAiABQRRsIgFBBEEIIANBA3EiAxtqSQ0DIANBAEcgAiABQSdqS3ENBCAEELwFCyAGQQFqIgYgCEcNAAsLIAAoAgAiAgRAIAVBBGsoAgAiAUF4cSEAIAAgAkEUbCICQQRBCCABQQNxIgEbakkNAyABQQBHIAAgAkEnaktxDQQgBRC8BQsPC0HQnMkAQS5BgJ3JABCvFAALQZCdyQBBLkHAnckAEK8UAAtB0JzJAEEuQYCdyQAQrxQAC0GQnckAQS5BwJ3JABCvFAALwwIBA38jAEEQayICJAAgAiAAKAIAKAIALQAAIgBBAXEtAJCVRDoADyAAQQF2IgRnQRhrIQMgAUEBQZKVxABBAgJ/IAJBD2ogBEUNABogAiAEQQFxQZCVxABqLQAAOgAOIAJBDmogA0EHRg0AGiACIABBAnZBAXFBkJXEAGotAAA6AA0gAkENaiADQQZGDQAaIAIgAEEDdkEBcUGQlcQAai0AADoADCACQQxqIANBBUYNABogAiAAQQR2QQFxQZCVxABqLQAAOgALIAJBC2ogA0EERg0AGiACIABBBXZBAXFBkJXEAGotAAA6AAogAkEKaiADQQNGDQAaIAIgAEEGdkEBcUGQlcQAai0AADoACSACQQlqIANBAkYNABogAiAAQQd2LQCQlUQ6AAggAkEIagtBCSADa0H/AXEQyQkgAkEQaiQAC68DAgZ/AX4jAEGwAWsiAyQAAkACQAJAAkACQCAAKAIARQRAQQQQkAEiBkUNASAGQfTywasGNgAAAkAgACgCBCIEQX9GDQAgBEUNACAAKAIIIghBBGsoAgAiBUF4cSEHIAdBBEEIIAVBA3EiBRsgBGpJDQMgBUEARyAHIARBJ2pLcQ0EIAgQvAULIABBBDYCDCAAIAY2AgggAEF/NgIEIAMgACkDCDcCQCADQQQ2AjwgAhCQASIERQ0EIAIEQCAEIAEgAvwKAAALIANBg4CAgHg2AlggAyACNgJQIAMgBDYCTCADIAI2AkggA0H4AGogAEEQaiADQTxqIANByABqEJ8FIAMgAykDqAE3AzAgAyADKQOgATcDKCADIAMpA5gBNwMgIAMgAykDkAEiCTcDGCADIAMpA4gBNwMQIAMgAykDgAE3AwggCadBf0cEQCADQQhqEP0JC0EAIQAMBQsgA0EKNgJ4IANB+ABqQQBBABDHEyEADAQLQQEQpxQAC0HQnMkAQS5BgJ3JABCvFAALQZCdyQBBLkHAnckAEK8UAAtBARCnFAALIANBsAFqJAAgAAujAwEFfyMAQYABayICJAAgASgCACEDIAEoAgwhBCABKAIIIQYgASgCBCIFKAIAIQEgBSABQQFqNgIAAkACQCABQQBOBEAgAiAENgJ8IAIgBjYCeCACIAU2AnQgAkEANgJwIAJBDGoiASADIAJB8ABqEPgMQQUQkAEiA0UNASADQcDxxwAtAAA6AAQgA0G88ccAKAAANgAAQeQAEJABIgZFDQIgBiABQeQA/AoAAEGQARCQASIBRQ0CQeQAEJABIgRFDQIgBEECOgAEIARBAjYCACABQQA7AYwBIAFBBTYCiAEgAUG2/McANgKEASABQX82AoABIAFCBDcDeCABQgE3A3AgASAENgJsIAFBATYCaCABQX42AkggAUEAOwFEIAFBBTYCQCABIAM2AjwgAUEFNgI4IAFCBDcDMCABQgE3AyggASAGNgIkIAFBATYCICABQX42AgAgAEECNgIIIAAgATYCBCAAQQI2AgAgBSAFKAIAIgBBAWs2AgAgAEEBRgRAIAUQMAsgAkGAAWokAA8LAAtBARCnFAALQbjwyQBBAToAAAALmQMCBn8BfiMAQUBqIgIkAAJAAkACQAJAIAAoAgAiAEHUAGooAgAiBCAAQdAAaigCACIAKAIcIgNJBEAgASgCBCEGIAEoAgAgACgCGCAEQfAAbGoiAygCXCEBIAMoAlghAyAAIAAoAgAiBUEBajYCACAFQQBIDQEgAEGgAmooAgAiBSADTQ0CIABBnAJqKAIAIANBJGxqIgNBIGooAgAiBSABTQ0DIANBHGooAgAgAUHUAGxqIgEoAgBBgoCAgHhHDQQgAiABKQIINwIQIAJBCGogAEEIaiAEENEQIAIpAwghCCACQQY2AhwgAkHM9sgANgIYIAIgCDcCICACIAJBIGqtQoCAgIDQAYQ3AzggAiACQRhqrUKAgICA0AGENwMwIAIgAkEQaq1CgICAgNABhDcDKCAGQaqEwAAgAkEoahCxCSAAIAAoAgAiBEEBazYCACAEQQFGBEAgABAwCyACQUBrJAAPCyAEIANB5P7IABCFEwsACyADIAVBzLvEABCFEwALIAEgBUHMu8QAEIUTAAtBzLvEABCdFQALhQMBBX8CQCAAQoCAgIAQVARAIAEhAgwBCyABQQhrIgIgACAAQoDC1y+AIgBCgL6o0A9+fKciA0GQzgBuIgRBkM4AcCIFQeQAbiIGQQF0LwCcmEk7AAAgAUEEayADIARBkM4AbGsiA0H//wNxQeQAbiIEQQF0LwCcmEk7AAAgAUEGayAFIAZB5ABsa0H//wNxQQF0LwCcmEk7AAAgAUECayADIARB5ABsa0H//wNxQQF0LwCcmEk7AAALIACnIgFBkM4ATwRAIAJBBGshAgNAIAIgASIDQZDOAG4iAUHwsX9sIANqIgRB5ABuIgVBAXQvAJyYSTsAACACQQJqIAQgBUHkAGxrQQF0LwCcmEk7AAAgAkEEayECIANB/8HXL0sNAAsgAkEEaiECCyABQeMASwRAIAJBAmsiAiABIAFB//8DcUHkAG4iAUHkAGxrQf//A3FBAXQvAJyYSTsAAAsgAUEJTQRAIAJBAWsgAUEwcjoAAA8LIAJBAmsgAUEBdC8AnJhJOwAAC7UDAgV/AX4jAEEgayICJAACQCABKAIAIgRBAUEAIAEoAgQiBigCDCIFEQAABEBBASEDDAELAn8gAS0ACkGAAXFFBEBBASEDIARBtM/FAEEBIAURAAANAiAAIAEQ1Q8NAiABKAIIDAELIARBnePCAEECIAURAAAEQEEBIQMMAgtBASEDIAJBAToADyACIAY2AgQgAiAENgIAIAJBoOvCADYCFCACIAEpAggiBzcCGCACIAJBD2o2AgggAiACNgIQIAAgAkEQahDVDw0BIAIoAhBBpLLIAEECIAIoAhQoAgwRAAANASAHpwshAyAAQQRqIQACQCADQYCAgARxRQRAIAEoAgBBiLPJAEECIAEoAgQoAgwRAAAEQEEBIQMMAwtBASEDIAAgARDxCUUNAQwCCyABKQIAIQdBASEDIAJBAToADyACIAc3AgAgAkGg68IANgIUIAIgASkCCDcCGCACIAJBD2o2AgggAiACNgIQIAAgAkEQahDxCQ0BIAIoAhBBpLLIAEECIAIoAhQoAgwRAAANAQsgASgCAEGIkMkAQQEgASgCBCgCDBEAACEDCyACQSBqJAAgAwuFAwEMfyMAQbABayIFJAACQAJAAkAgASgCCCIEQavVqtUASQRAAkAgBEEMbCICRQRAQQQhCQwBCyABKAIEIQMgAhCQASIJRQ0CIARFDQAgAyAEQQxsaiEMIAQhCgNAIAMgDEYNASAIIQsCQCADKAIAQX9HBEAgAygCCCICRQRAQQAhAkEIIQZBACEHDAILIAMoAgQhByACQbABbCINEJABIgZFDQZBACEBIAIhCANAIAEgDUYEQCACIQcMAwsgBSABIAdqEOIFIAEgBmogBUGwAfwKAAAgAUGwAWohASAIQQFrIggNAAsgAiEHDAELQbABEJABIgZFDQYgBSADKAIEEOIFIAYgBUGwAfwKAABBfyECCyALQQFqIQggA0EMaiEDIAkgC0EMbGoiASAHNgIIIAEgBjYCBCABIAI2AgAgCkEBayIKDQALCyAAIAQ2AgggACAJNgIEIAAgBDYCACAFQbABaiQADwsQnhUAC0EEEKcUAAtBCBCnFAALQbjwyQBBAToAAAALtQMCBX8BfiMAQSBrIgIkAAJAIAEoAgAiBEEBQQAgASgCBCIGKAIMIgURAAAEQEEBIQMMAQsCfyABLQAKQYABcUUEQEEBIQMgBEG0z8UAQQEgBREAAA0CIAAgARDgDA0CIAEoAggMAQsgBEGd48IAQQIgBREAAARAQQEhAwwCC0EBIQMgAkEBOgAPIAIgBjYCBCACIAQ2AgAgAkGg68IANgIUIAIgASkCCCIHNwIYIAIgAkEPajYCCCACIAI2AhAgACACQRBqEOAMDQEgAigCEEGkssgAQQIgAigCFCgCDBEAAA0BIAenCyEDIABBAWohAAJAIANBgICABHFFBEAgASgCAEGIs8kAQQIgASgCBCgCDBEAAARAQQEhAwwDC0EBIQMgACABEOAMRQ0BDAILIAEpAgAhB0EBIQMgAkEBOgAPIAIgBzcCACACQaDrwgA2AhQgAiABKQIINwIYIAIgAkEPajYCCCACIAI2AhAgACACQRBqEOAMDQEgAigCEEGkssgAQQIgAigCFCgCDBEAAA0BCyABKAIAQYiQyQBBASABKAIEKAIMEQAAIQMLIAJBIGokACADC7UDAgV/AX4jAEEgayICJAACQCABKAIAIgRBAUEAIAEoAgQiBigCDCIFEQAABEBBASEDDAELAn8gAS0ACkGAAXFFBEBBASEDIARBtM/FAEEBIAURAAANAiAAIAEQkBANAiABKAIIDAELIARBnePCAEECIAURAAAEQEEBIQMMAgtBASEDIAJBAToADyACIAY2AgQgAiAENgIAIAJBoOvCADYCFCACIAEpAggiBzcCGCACIAJBD2o2AgggAiACNgIQIAAgAkEQahCQEA0BIAIoAhBBpLLIAEECIAIoAhQoAgwRAAANASAHpwshAyAAQQRqIQACQCADQYCAgARxRQRAIAEoAgBBiLPJAEECIAEoAgQoAgwRAAAEQEEBIQMMAwtBASEDIAAgARCREEUNAQwCCyABKQIAIQdBASEDIAJBAToADyACIAc3AgAgAkGg68IANgIUIAIgASkCCDcCGCACIAJBD2o2AgggAiACNgIQIAAgAkEQahCREA0BIAIoAhBBpLLIAEECIAIoAhQoAgwRAAANAQsgASgCAEGIkMkAQQEgASgCBCgCDBEAACEDCyACQSBqJAAgAwv1AgEIfyAAKAIMBEAgAA8LAkACQAJAIAEoAhQiAiABKAIQIgNNBEAgAkUEQEEBIQJBACEDDAQLIAEoAgwhASACQQNxIQUgAkEETw0BQQEhAkEAIQMMAgtBACACIANBmLPIABCHDgALIAJBfHEhBEEBIQJBACEDA0BBAEEBQQJBAyADQQRqIAEtAABBCkYiBhsgAUEBai0AAEEKRiIHGyABQQJqLQAAQQpGIggbIAFBA2otAABBCkYiCRshAyACIAZqIAdqIAhqIAlqIQIgAUEEaiEBIARBBGsiBA0ACyAFRQ0BCwNAQQAgA0EBaiABLQAAQQpGIgQbIQMgAUEBaiEBIAIgBGohAiAFQQFrIgUNAAsLIAAgAiADEMcTIQIgAEEEaygCACIDQXhxIQECQEEYQRwgA0EDcSIDGyABTQRAIANBAEcgAUE8T3ENASAAELwFIAIPC0HQnMkAQS5BgJ3JABCvFAALQZCdyQBBLkHAnckAEK8UAAu6AwEEf0ECIQdBASEEAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkAgAigCAEEBaw4MCwABAgMEBQYHCAkKDAtBAyEEDAsLQQQhBAwKC0EFIQQMCQtBBiEEDAgLIAEgASgCACIFQQFqNgIAIAVBAE4EQCACKAIIIQUgAigCBCEGIAEgASgCACICQQFqNgIAQQMhByACQQBODQgLAAtBzIvJAEGnAUHs88cAEL8TAAtBCiEEDAULQQghBAwEC0EHIQQMAwtBCyEEDAILQbCMyQBBqwFB/PPHABC/EwALQQIhBAsgA0UEQCAAQQA7AAUgAEEBOgA0IAAgBTYCICAAIAY2AhwgACABNgIYIABBEjoAFCAAIAU2AhAgACAGNgIMIAAgATYCCCAAIAQ6AAQgACAHNgIAIABBB2pBADoAAA8LQeQAEJABIgIEQCACQQA7AAUgAkEBOgA0IAIgBTYCICACIAY2AhwgAiABNgIYIAJBEjoAFCACIAU2AhAgAiAGNgIMIAIgATYCCCACIAQ6AAQgAiAHNgIAIAAgAjYCBCAAQQQ2AgAgAkEHakEAOgAADwtBuPDJAEEBOgAAAAumAwEDfyMAQfABayICJABByAEQkAEiAwRAAkACQAJAAkACQAJAQQMgASgCACIEQQJrIARBAU0bQQFrDgMBAgMACyACQQxqIAFB5AD8CgAADAMLIAJBEGogAUEEahCgByACQQM2AgwMAgtB5AAQkAEiBEUNAiABKAIEIAQQuA8gAkEENgIMIAIgBDYCEAwBCyACQQxqIAEQ5AULIAJB8ABqIgQgAUHkAPwKAAAgAkHUAWogBBDMByACIAIoAtwBNgDsASACIAIpAtQBNwDkAUHkABCQASIERQ0AIAQgAUHkAPwKAABBGBCQASIBRQ0AIAFBADoAFCABQeTkxwA2AgwgAUEBNgIIIAFCgYCAgBA3AgAgAyACKQDoATcAqAEgAyACKQDhATcAoQEgAyACQQxqQeQA/AoAACADIAE2AsQBIANBADoAwAEgA0EwOgCgASADIAQ2ApQBIANBBDYCkAEgA0ECNgKAASADQX82AnQgA0EANgJsIANBADYCZCAAQQI2AgggACADNgIEIABBAjYCACACQfABaiQADwsLQbjwyQBBAToAAAALhQMBDH8jAEGwAWsiBSQAAkACQAJAIAEoAggiBEGr1arVAEkEQAJAIARBDGwiAkUEQEEEIQkMAQsgASgCBCEDIAIQkAEiCUUNAiAERQ0AIAMgBEEMbGohDCAEIQoDQCADIAxGDQEgCCELAkAgAygCAEF/RwRAIAMoAggiAkUEQEEAIQJBCCEGQQAhBwwCCyADKAIEIQcgAkGwAWwiDRCQASIGRQ0GQQAhASACIQgDQCABIA1GBEAgAiEHDAMLIAUgASAHahC+ByABIAZqIAVBsAH8CgAAIAFBsAFqIQEgCEEBayIIDQALIAIhBwwBC0GwARCQASIGRQ0GIAUgAygCBBC+ByAGIAVBsAH8CgAAQX8hAgsgC0EBaiEIIANBDGohAyAJIAtBDGxqIgEgBzYCCCABIAY2AgQgASACNgIAIApBAWsiCg0ACwsgACAENgIIIAAgCTYCBCAAIAQ2AgAgBUGwAWokAA8LEJ4VAAtBBBCnFAALQQgQpxQAC0G48MkAQQE6AAAAC6gDAgZ/AX4jAEGwAWsiAyQAAkACQAJAAkACQCAAKAIARQRAQQQQkAEiBEUNASAEQfTywasGNgAAIAAoAgQiBkEASgRAIAAoAggiCEEEaygCACIFQXhxIQcgB0EEQQggBUEDcSIFGyAGakkNAyAFQQBHIAcgBkEnaktxDQQgCBC8BQsgAEEENgIMIAAgBDYCCCAAQX82AgQgAyAAKQMINwJAIANBBDYCPCACEJABIgRFDQQgAgRAIAQgASAC/AoAAAsgA0GDgICAeDYCWCADIAI2AlAgAyAENgJMIAMgAjYCSCADQfgAaiAAQRBqIANBPGogA0HIAGoQ0gMgAyADKQOoATcDMCADIAMpA6ABNwMoIAMgAykDmAE3AyAgAyADKQOQASIJNwMYIAMgAykDiAE3AxAgAyADKQOAATcDCCAJp0F/RwRAIANBCGoQ+wkLQQAhAAwFCyADQQo2AnggA0H4AGpBAEEAEMcTIQAMBAtBARCnFAALQdCcyQBBLkGAnckAEK8UAAtBkJ3JAEEuQcCdyQAQrxQAC0EBEKcUAAsgA0GwAWokACAAC+8CAQZ/IwBBEGsiBSQAAkACQAJAAkACQAJAAkAgAkEBcQRAIAJBAXYhAwwBCyABLQAAIgNFDQEgASEEA0AgBEEBaiEEAkAgA8BBAEgEQCADQf8BcUGAAUYEQCAELwAAIgMgBmohBiADIARqQQJqIQQMAgsgBCADQQNxQQh4IghBBXRBgICAgARxIAhBB3RyQR12aiADQQF2QQJxaiADQQJ2QQJxaiEEIAZFIAdyIQcMAQsgA0H/AXEiAyAEaiEEIAMgBmohBgsgBC0AACIDDQALQQAhAyAHIAZBEElxDQAgBkEBdCIDQQBIDQQLIAMNAQtBASEEQQAhAwwBCyADEJABIgRFDQILIAVBADYCCCAFIAQ2AgQgBSADNgIAIAVB0KvCACABIAIQsQlFDQJB+KvCAEHWACAFQQ9qQeirwgBB0KzCABDaEgALEJ4VAAtBARCnFAALIAAgBSgCCDYCCCAAIAUpAgA3AgAgBUEQaiQAC8wCAQd/AkACQAJAAkBBEyAAKAIAIgFBgICAgHhzIAFBAE4bIgJBEk0EQCACQQpHDQIgACgCBCICELkMIAJBBGsoAgAiAUF4cSEAIABBEEEUIAFBA3EiARtJDQQgAUUNASAAQTRJDQEMAwsgACgCBCECIAAoAggiAwRAIAIhAANAIAAQuQwgAEEMaigCACIFQQBKBEAgAEEQaigCACIHQQRrKAIAIgRBeHEhBiAGQQRBCCAEQQNxIgQbIAVqSQ0GIARBAEcgBiAFQSdqS3ENBSAHELwFCyAAQRxqIQAgA0EBayIDDQALCyABRQ0BIAJBBGsoAgAiA0F4cSEAIAAgAUEcbCIBQQRBCCADQQNxIgMbakkNAyADRQ0AIAAgAUEnaksNAgsgAhC8BQsPC0GQnckAQS5BwJ3JABCvFAALQdCcyQBBLkGAnckAEK8UAAv7AgILfwF+IwBBoAFrIgUkAAJAAkAgASgCCCIGQbKn7AlJBEACQCAGQegAbCIJRQRAQQghCgwBCyABKAIEIQsgCRCQASIKRQ0CIAZFDQAgCyEBIAYhDANAIAMgCUcEQCAFQdAAaiABELMCQX4hByABKAJQIgRBfkcEQEF/IQcgAyALaiIIQdgAaigCACECIAhB1ABqKAIAIQgCQCAEQX9GBEAgCCEEDAELIAJFBEBBASEEQQAhBwwBCyACEJABIgRFDQcgAgRAIAQgCCAC/AoAAAsgAiEHCyAErSACrUIghoQhDQsgBSAFQdAAakHQAPwKAAAgAS0AYCEEIAMgCmoiAiAFQdAA/AoAACACQeAAaiAEOgAAIAJB1ABqIA03AgAgAkHQAGogBzYCACADQegAaiEDIAFB6ABqIQEgDEEBayIMDQELCyAGIQMLIAAgBjYCCCAAIAo2AgQgACADNgIAIAVBoAFqJAAPCxCeFQALQQgQpxQAC0EBEKcUAAv/AgEKfyMAQZACayIGJAACQAJAAkACQEEIEJABIgcEQAJAIAAoAgAiACgCAEEBRgRAQSQQkAEiAUUNBiAAKAIEIgUoAggiBEH58OEDTw0DAkAgBEGQAmwiA0UEQEEIIQgMAQsgBSgCBCEJIAMQkAEiCEUNBSAERQ0AQQAhACAEIQIDQCAAIANGDQEgBiAAIAlqELgGIAAgCGogBkGQAvwKAAAgAEGQAmohACACQQFrIgINAAsLQQEhAEEBIQMCQCAFQRRqKAIAIgJFIgkNACAFQRBqKAIAIQogAhCQASIDRQ0GIAkNACADIAogAvwKAAALIAFBGGogBUEYahCqBiABIAI2AhQgASADNgIQIAEgAjYCDCABIAQ2AgggASAINgIEIAEgBDYCAAwBC0GQAhCQASIBRQ0FIAEgACgCBBC4BkEAIQALIAcgATYCBCAHIAA2AgAgBkGQAmokACAHDwsMAwsQnhUAC0EIEKcUAAtBARCnFAALQbjwyQBBAToAAAALzAIBB38CQAJAAkACQEETIAAoAgAiAUGAgICAeHMgAUEAThsiAkESTQRAIAJBCkcNAiAAKAIEIgIQvAwgAkEEaygCACIBQXhxIQAgAEEQQRQgAUEDcSIBG0kNBCABRQ0BIABBNEkNAQwDCyAAKAIEIQIgACgCCCIDBEAgAiEAA0AgABC8DCAAQQxqKAIAIgVBAEoEQCAAQRBqKAIAIgdBBGsoAgAiBEF4cSEGIAZBBEEIIARBA3EiBBsgBWpJDQYgBEEARyAGIAVBJ2pLcQ0FIAcQvAULIABBHGohACADQQFrIgMNAAsLIAFFDQEgAkEEaygCACIDQXhxIQAgACABQRxsIgFBBEEIIANBA3EiAxtqSQ0DIANFDQAgACABQSdqSw0CCyACELwFCw8LQZCdyQBBLkHAnckAEK8UAAtB0JzJAEEuQYCdyQAQrxQAC/8CAQp/IwBBkAJrIgYkAAJAAkACQAJAQQgQkAEiBwRAAkAgACgCACIAKAIAQQFGBEBBJBCQASIBRQ0GIAAoAgQiBSgCCCIEQfnw4QNPDQMCQCAEQZACbCIDRQRAQQghCAwBCyAFKAIEIQkgAxCQASIIRQ0FIARFDQBBACEAIAQhAgNAIAAgA0YNASAGIAAgCWoQ7AEgACAIaiAGQZAC/AoAACAAQZACaiEAIAJBAWsiAg0ACwtBASEAQQEhAwJAIAVBFGooAgAiAkUiCQ0AIAVBEGooAgAhCiACEJABIgNFDQYgCQ0AIAMgCiAC/AoAAAsgAUEYaiAFQRhqEL4GIAEgAjYCFCABIAM2AhAgASACNgIMIAEgBDYCCCABIAg2AgQgASAENgIADAELQZACEJABIgFFDQUgASAAKAIEEOwBQQAhAAsgByABNgIEIAcgADYCACAGQZACaiQAIAcPCwwDCxCeFQALQQgQpxQAC0EBEKcUAAtBuPDJAEEBOgAAAAv7AgILfwF+IwBBoAFrIgUkAAJAAkAgASgCCCIGQbKn7AlJBEACQCAGQegAbCIJRQRAQQghCgwBCyABKAIEIQsgCRCQASIKRQ0CIAZFDQAgCyEBIAYhDANAIAMgCUcEQCAFQdAAaiABEN4BQX4hByABKAJQIgRBfkcEQEF/IQcgAyALaiIIQdgAaigCACECIAhB1ABqKAIAIQgCQCAEQX9GBEAgCCEEDAELIAJFBEBBASEEQQAhBwwBCyACEJABIgRFDQcgAgRAIAQgCCAC/AoAAAsgAiEHCyAErSACrUIghoQhDQsgBSAFQdAAakHQAPwKAAAgAS0AYCEEIAMgCmoiAiAFQdAA/AoAACACQeAAaiAEOgAAIAJB1ABqIA03AgAgAkHQAGogBzYCACADQegAaiEDIAFB6ABqIQEgDEEBayIMDQELCyAGIQMLIAAgBjYCCCAAIAo2AgQgACADNgIAIAVBoAFqJAAPCxCeFQALQQgQpxQAC0EBEKcUAAuuAwIGfwF+IwBBsAFrIgMkAAJAAkACQAJAIAAoAgBBAUcEQEEMEJABIgRFDQEgBEGQhsYAKAAANgAIIARBiIbGACkAADcAAAJAIAAoAgQiBUF/Rg0AIAVFDQAgACgCCCIIQQRrKAIAIgZBeHEhByAHQQRBCCAGQQNxIgYbIAVqSQ0DIAZBAEcgByAFQSdqS3ENBCAIELwFCyAAQQw2AgwgACAENgIIIABBfzYCBCADIAApAwg3AkAgA0EMNgI8IAIQkAEiBEUNBCACBEAgBCABIAL8CgAACyADQYOAgIB4NgJYIAMgAjYCUCADIAQ2AkwgAyACNgJIIANB+ABqIABBEGogA0E8aiADQcgAahCfBSADIAMpA6gBNwMwIAMgAykDoAE3AyggAyADKQOYATcDICADIAMpA5ABIgk3AxggAyADKQOIATcDECADIAMpA4ABNwMIIAmnQX9HBEAgA0EIahD9CQsgA0GwAWokAA8LQaCryQBBKEH0rskAEK8UAAtBARCnFAALQdCcyQBBLkGAnckAEK8UAAtBkJ3JAEEuQcCdyQAQrxQAC0EBEKcUAAuxAwEEfyMAQfAAayIEJAACQAJAAkBBkAEQkAEiAgRAIARBCGoiAyABEOQFQeQAEJABIgVFDQEgBSADQeQA/AoAACADIAEoAmggASgCbBCoDiACQX42AkggAkEBOwFEIAJBBTYCQCACQbzxxwA2AjwgAkF/NgI4IAJCBDcDMCACQgE3AyggAiAFNgIkIAJBATYCICACQX42AgAgAkEBOwGMASACQQQ2AogBIAJBlPDHADYChAEgAkKAgICAcDcCfCACQoCAgIDAADcCdCACIAQpAwg3A2ggAiAEKAIQNgJwIABBAjYCCCAAIAI2AgQgAEECNgIAIAEQ6wggASgCaCECIAEoAmwiAARAIAIhAwNAIAMQwAcgA0HkAGohAyAAQQFrIgANAAsLIAEoAmQiAQRAIAJBBGsoAgAiA0F4cSEAIAAgAUHkAGwiAUEEQQggA0EDcSIDG2pJDQMgA0EARyAAIAFBJ2pLcQ0EIAIQvAULIARB8ABqJAAPC0G48MkAQQE6AAAAC0G48MkAQQE6AAAAC0HQnMkAQS5BgJ3JABCvFAALQZCdyQBBLkHAnckAEK8UAAuzAwEDfyMAQRBrIgIkACAAQQRqIQMgAEEBaiEEAkAgAC0AAEEBRgRAIAIgAzYCBCABKAIAQfGryABBAyABKAIEKAIMEQAAIQAgAkEAOgANIAIgADoADCACIAE2AgggAkEIakHDpcgAQQQgBEH1AhCJDkHuq8gAQQMgAkEEakH2AhCJDiACLQANIgMgAi0ADCIEciEAIANBAUcNASAEQQFxDQEoAgAiAC0ACkGAAXFFBEAgACgCAEHt6sIAQQIgACgCBCgCDBEAACEADAILIAAoAgBBobLIAEEBIAAoAgQoAgwRAAAhAAwBCyACIAM2AgQgASgCAEHpq8gAQQUgASgCBCgCDBEAACEAIAJBADoADSACIAA6AAwgAiABNgIIIAJBCGpBw6XIAEEEIARB9QIQiQ5B7qvIAEEDIAJBBGpB9gIQiQ4gAi0ADSIDIAItAAwiBHIhACADQQFHDQAgBEEBcQ0AKAIAIgAtAApBgAFxRQRAIAAoAgBB7erCAEECIAAoAgQoAgwRAAAhAAwBCyAAKAIAQaGyyABBASAAKAIEKAIMEQAAIQALIAJBEGokACAAQQFxC/sCAgt/AX4jAEGgAWsiBSQAAkACQCABKAIIIgZBsqfsCUkEQAJAIAZB6ABsIglFBEBBCCEKDAELIAEoAgQhCyAJEJABIgpFDQIgBkUNACALIQEgBiEMA0AgAyAJRwRAIAVB0ABqIAEQhgJBfiEHIAEoAlAiBEF+RwRAQX8hByADIAtqIghB2ABqKAIAIQIgCEHUAGooAgAhCAJAIARBf0YEQCAIIQQMAQsgAkUEQEEBIQRBACEHDAELIAIQkAEiBEUNByACBEAgBCAIIAL8CgAACyACIQcLIAStIAKtQiCGhCENCyAFIAVB0ABqQdAA/AoAACABLQBgIQQgAyAKaiICIAVB0AD8CgAAIAJB4ABqIAQ6AAAgAkHUAGogDTcCACACQdAAaiAHNgIAIANB6ABqIQMgAUHoAGohASAMQQFrIgwNAQsLIAYhAwsgACAGNgIIIAAgCjYCBCAAIAM2AgAgBUGgAWokAA8LEJ4VAAtBCBCnFAALQQEQpxQAC/8CAQp/IwBBkAJrIgYkAAJAAkACQAJAQQgQkAEiBwRAAkAgACgCACIAKAIAQQFGBEBBJBCQASIBRQ0GIAAoAgQiBSgCCCIEQfnw4QNPDQMCQCAEQZACbCIDRQRAQQghCAwBCyAFKAIEIQkgAxCQASIIRQ0FIARFDQBBACEAIAQhAgNAIAAgA0YNASAGIAAgCWoQmwQgACAIaiAGQZAC/AoAACAAQZACaiEAIAJBAWsiAg0ACwtBASEAQQEhAwJAIAVBFGooAgAiAkUiCQ0AIAVBEGooAgAhCiACEJABIgNFDQYgCQ0AIAMgCiAC/AoAAAsgAUEYaiAFQRhqEKsGIAEgAjYCFCABIAM2AhAgASACNgIMIAEgBDYCCCABIAg2AgQgASAENgIADAELQZACEJABIgFFDQUgASAAKAIEEJsEQQAhAAsgByABNgIEIAcgADYCACAGQZACaiQAIAcPCwwDCxCeFQALQQgQpxQAC0EBEKcUAAtBuPDJAEEBOgAAAAuiAwIGfwF+IwBBMGsiAiQAAkACQCABKAIEIgUgASgCACIERwRAIAEgBEEMaiIDNgIAIAIgBDYCDEEBIQYgBSADa0EMbkEBdCEEIAMgBUYiBw0BIAQQkAEiBg0BQQEQpxQACyAAQQA2AgggAEKAgICAEDcCAAwBCyACQQA2AhggAiAGNgIUIAIgBDYCECACIAJBDGqtQoCAgICQAoQ3AyACQCACQRBqQeCvyQBBz63AACACQSBqELEJRQRAIAdFBEAgAkEcaq1CgICAgJAChCEIA0AgASADQQxqIgQ2AgAgAiADNgIcIAIoAhAgAigCGCIDa0EBTQRAIAJBEGogA0ECEMQRIAIoAhghAwsgAigCFCADakGswAA7AAAgAiADQQJqNgIYIAIgCDcDICACQRBqQeCvyQBBz63AACACQSBqELEJDQMgBCIDIAVHDQALCyAAIAIoAhg2AgggACACKQIQNwIADAILQYiwyQBBKyACQS9qQfivyQBBwLbJABDaEgALQYiwyQBBKyACQS9qQfivyQBBtLDJABDaEgALIAJBMGokAAuoAwIGfwF+IwBBsAFrIgMkAAJAAkACQAJAAkAgACgCAEUEQEEEEJABIgRFDQEgBEHr0rmjBjYAACAAKAIEIgZBAEoEQCAAKAIIIghBBGsoAgAiBUF4cSEHIAdBBEEIIAVBA3EiBRsgBmpJDQMgBUEARyAHIAZBJ2pLcQ0EIAgQvAULIABBBDYCDCAAIAQ2AgggAEF/NgIEIAMgACkDCDcCQCADQQQ2AjwgAhCQASIERQ0EIAIEQCAEIAEgAvwKAAALIANBg4CAgHg2AlggAyACNgJQIAMgBDYCTCADIAI2AkggA0H4AGogAEEQaiADQTxqIANByABqENIDIAMgAykDqAE3AzAgAyADKQOgATcDKCADIAMpA5gBNwMgIAMgAykDkAEiCTcDGCADIAMpA4gBNwMQIAMgAykDgAE3AwggCadBf0cEQCADQQhqEP4JC0EAIQAMBQsgA0EKNgJ4IANB+ABqQQBBABDHEyEADAQLQQEQpxQAC0HQnMkAQS5BgJ3JABCvFAALQZCdyQBBLkHAnckAEK8UAAtBARCnFAALIANBsAFqJAAgAAvEAgEEfwJAAkACQCAAKAIAQX9GDQAgABB4IAAoAhwiBEEASgRAIAAoAiAiA0EEaygCACIBQXhxIQIgAkEEQQggAUEDcSIBGyAEakkNAiABQQBHIAIgBEEnaktxDQMgAxC8BQsgACgCKCIEQQBKBEAgACgCLCIDQQRrKAIAIgFBeHEhAiACQQRBCCABQQNxIgEbIARqSQ0CIAFBAEcgAiAEQSdqS3ENAyADELwFCyAAKAIUIQMgACgCGCICBEAgAyEBA0AgARDfByABQQxqIQEgAkEBayICDQALCyAAKAIQIgFFDQAgA0EEaygCACIAQXhxIQIgAiABQQxsIgFBBEEIIABBA3EiABtqSQ0BIABBAEcgAiABQSdqS3ENAiADELwFCw8LQdCcyQBBLkGAnckAEK8UAAtBkJ3JAEEuQcCdyQAQrxQAC68DAQN/IwBBMGsiBCQAIAIoAgAgAigCBCADEOQOIQUgAygCACADKAIEIAIQ5A4hBiAEIAVB/wFxIAIgARD2CQJAAkACQAJAIAQoAgBBfkYEQEEDEJABIgJFDQEgAkGygsYALQAAOgACIAJBsILGAC8AADsAACAEQQM2AgggBCACNgIEIARBAzYCACABIAQQ/A0gBCAGQf8BcSADIAEQ9gkgBCgCAEF+RwRAIAAgBCkCKDcCKCAAIAQpAiA3AiAgACAEKQIYNwIYIAAgBCkCEDcCECAAIAQpAgg3AgggACAEKQIANwIADAULIABBfjYCAAwECyAAIAQpAig3AiggACAEKQIgNwIgIAAgBCkCGDcCGCAAIAQpAhA3AhAgACAEKQIINwIIIAAgBCkCADcCACADEK0BIAMoAlAiAEEATA0DIAMoAlQiAkEEaygCACIDQXhxIQEgAUEEQQggA0EDcSIDGyAAakkNASADQQBHIAEgAEEnaktxDQIgAhC8BQwDC0EBEKcUAAtB0JzJAEEuQYCdyQAQrxQAC0GQnckAQS5BwJ3JABCvFAALIARBMGokAAvAAgEHfwJAAkACQCAAKAIAIgFBf0YNACAAEOgEIAEEQCAAKAIEIgJBBGsoAgAiA0F4cSEEIAQgAUHIAWwiAUEEQQggA0EDcSIDG2pJDQIgA0EARyAEIAFBJ2pLcQ0DIAIQvAULIAAoAhAhAyAAKAIUIgUEQCADIQEDQCABKAIAIgYEQCABQQRqKAIAIgRBBGsoAgAiAkF4cSEHIAdBBEEIIAJBA3EiAhsgBmpJDQQgAkEARyAHIAZBJ2pLcQ0FIAQQvAULIAFBDGohASAFQQFrIgUNAAsLIAAoAgwiAUUNACADQQRrKAIAIgBBeHEhAiACIAFBDGwiAUEEQQggAEEDcSIAG2pJDQEgAEEARyACIAFBJ2pLcQ0CIAMQvAULDwtB0JzJAEEuQYCdyQAQrxQAC0GQnckAQS5BwJ3JABCvFAALlQMCA34IfyABKAIIIQYgASgCBCEJQQAhAQJAAkACQAJAAkACQCAAKAIAIgAoAhgiBw4CAwEACyAAKQMAIAApAwggCSAGEN8KIQEgASAAKAIgIgpxIQggAUEZdq1CgYKEiJCgwIABfiEFIAAoAhwhCyAAKAIUIQADQCAIIAtqKQAAIgQgBYUiA0KBgoSIkKDAgAF9IANCf4WDQoCBgoSIkKDAgH+DIgNCAFIEQANAIAcgCyADeqdBA3YgCGogCnFBAnRrQQRrKAIAIgFNDQYgACABQcgAbGoiDUFAaygCACAGRgRAIAkgDUE8aigCACAGEI8TRQ0FCyADQgF9IAODIgNCAFINAAsLIAQgBEIBhoNCgIGChIiQoMCAf4NCAFIEQEEADwUgDEEIaiIMIAhqIApxIQgMAQsACwALIAYgACgCFCIAQUBrKAIARw0BIAkgAEE8aigCACAGEI8TDQELIAEgB08NAiACIAAgAUHIAGxqEKUMIQELIAEPCyABIAdB0K/JABCFEwALIAEgB0HkhMcAEIUTAAtzAAJAAkACQAJAA0ACQAJAIAAtAABBAWsOEQQEBAQEBAQEBAQEBQUAAQYDBAsgACgCFCEADAELCwwDC0EADwsgAEEMakEAIAAoAghBf0YbDwsgAEEIakEAIAAoAgRBAUYbDwsgAEEUakEAIAAoAhBBf0YbC7kDAQh/IwBBIGsiAyQAIAEoAmQhBiABKAJwIQcgASgCbCEIIAEoAmgiBSgCACECIAUgAkEBajYCAAJAIAJBAEgNACABKAJ4IQkgASgCdCICKAIAIQQgAiAEQQFqNgIAIAMgBzYCHCADIAg2AhggAyAFNgIUIARBAEgNACADQQhqIAYgA0EUaiACIAkQ4QcCQEGQARCQASICBEBB5AAQkAEiBEUNASAEIAEQ5AUgAkF+NgJIIAJBATsBRCACQQU2AkAgAkG88ccANgI8IAJBfzYCOCACQgQ3AzAgAkIBNwMoIAIgBDYCJCACQQE2AiAgAkF+NgIAIAJBATsBjAEgAkEGNgKIASACQcHxxwA2AoQBIAJCgICAgHA3AnwgAkKAgICAwAA3AnQgAiADKAIQNgJwIAIgAykDCDcDaCAAQQI2AgggACACNgIEIABBAjYCACAFIAUoAgAiAEEBazYCACAAQQFGBEAgASgCaBAwCyABKAJ0IgIoAgAhACACIABBAWs2AgAgAEEBRgRAIAEoAnQQMAsgARDrCCADQSBqJAAPC0G48MkAQQE6AAAAC0G48MkAQQE6AAAACwALiAMBBX8jAEEgayICJABBASEEAkACQAJAIAEoAgBBAWsOAgECAAsgASgCBCIDIAEoAggiBRDgDUEBcyEEIAAoAgwiAEUNASACQRhqIAAoAgAgAEEEaigCABDhCSACQRBqIAIoAhgiAEEIaiACKAIcENEQIAIoAhAhBiACKAIUIQEgAkEIaiADQQhqIAUQ0RAgAigCDCABRgRAIAYgAigCCCABEI8TQQBHIARxIQQLIAAgACgCACIBQQFrNgIAIAFBAUcNASAAEDAMAQsgACgCCCIDRQ0AIANBFGwhAyAAKAIEIQAgASgCCCEFIAEoAgRFBEADQAJAIAAoAgANACAAQQRqKAIAIAVHDQBBACEEDAMLIABBFGohACADQRRrIgMNAAwCCwALIAEoAgwhBiABKAIQIQEDQAJAIAAoAgBFDQAgAEEEaigCACAFRw0AIABBCGooAgAgBkcNACAAQQxqKAIAIAFHDQBBACEEDAILIABBFGohACADQRRrIgMNAAsLIAJBIGokACAEC6oDAQV/IwBBIGsiAiQAQQEhBAJAIAAoAgBBAUYEQCABKAIAIgNB25DJAEEFIAEoAgQiBigCDCIFEQAADQEgAEEEaiEAAkAgAS0ACkGAAXFFBEAgA0G0z8UAQQEgBREAAA0DIAAgARCWDEUNAQwDCyADQZ3jwgBBAiAFEQAADQIgAkEBOgAPIAIgBjYCBCACIAM2AgAgAkGg68IANgIUIAIgASkCCDcCGCACIAJBD2o2AgggAiACNgIQIAAgAkEQahCWDA0CIAJBpLLIAEECEP0IDQILIANBiJDJAEEBIAURAAAhBAwBCyABKAIAIgNB1ZDJAEEGIAEoAgQiBigCDCIFEQAADQACQCABLQAKQYABcUUEQCADQbTPxQBBASAFEQAADQIgACgCCCAAKAIMIAMgBhC/BkUNAQwCCyADQZ3jwgBBAiAFEQAADQEgAiAGNgIUIAIgAzYCECACQQE6AAAgAiACNgIYIAAoAgggACgCDCACQRBqIgBBoOvCABC/Bg0BIABBpLLIAEECEP0IDQELIANBiJDJAEEBIAURAAAhBAsgAkEgaiQAIAQL5QIBA38jAEEQayIDJAAgACgCACgCACEAAn8CQCABKAIIIgJBgICAEHFFBEAgAkGAgIAgcQ0BQQMhAiAALQAAIgAhBCAAQQpPBEAgAyAAIABB5ABuIgRB5ABsa0H/AXFBAXQvAJyYSTsADEEBIQILIARFIABBAEdxRQRAIAJBAWsiAiADQQtqaiAEQQF0LQCdmEk6AAALIAFBAUEBQQAgA0ELaiACakEDIAJrEMkJDAILIAAtAAAhAkEDIQADQCAAIANqQQdqIAJBD3FB5LbJAGotAAA6AAAgAEEBayEAIAJBBHZBD3EiAg0ACyABQQFBopbEAEECIAAgA2pBCGpBAyAAaxDJCQwBCyAALQAAIQJBAyEAA0AgACADakEMaiACQQ9xQaSWxABqLQAAOgAAIABBAWshACACQQR2QQ9xIgINAAsgAUEBQaKWxABBAiAAIANqQQ1qQQMgAGsQyQkLIANBEGokAAv/AgEGfyMAQRBrIgYkACABKAIIIQQCQAJAAkACQAJAAkAgASgCFCIFIAEoAhAiCUkEQCABKAIMIAVqLQAAIgdBMGtB/wFxQQlLDQEgASABKAIAIARGBH8gARC+EiABKAIQIQkgASgCFAUgBQtBAWoiCDYCFCABIARBAWoiBTYCCCAEIAEoAgQiBGogBzoAACAIIAlPDQMDQCABKAIMIAhqLQAAIgdBMGtB/wFxQQpPDQMgASgCACAFRgRAIAEQvhIgASgCBCEECyAEIAVqIAc6AAAgASAFQQFqIgU2AgggASABKAIUQQFqIgg2AhQgCCABKAIQSQ0ACwwDCyADIARJDQIgBkEFNgIEIAEgBkEEahC0DiEBIABBATYCACAAIAE2AgQMBQsgAyAETw0DCyAHQSByQeUARg0BCyAAIAEgAiADQQAQMQwCCyAAIAEgAiADEIQMDAELIAZBDTYCBCABIAZBBGoQtA4hASAAQQE2AgAgACABNgIECyAGQRBqJAAL/gIBCX8jAEHwAGsiBSQAAkACQAJAIAIoAggiBEHyuJwOSQRAIAIoAgAhCCACKAIEIQYCQCAEQcgAbCICRQRAQQghBwwBCyAEIQogAhCQASIHRQ0CCyAEBEAgBEEFdCILQSBrQQV2QQFqIQkgByEEIAYhAgNAIAUgAikDGDcDICAFIAIpAxA3AxggBSACKQMINwMQIAUgAikDADcDCCAFQShqIgwgASAFQQhqIAMQoQEgBCAMQcgA/AoAACAEQcgAaiEEIAJBIGohAiALQSBrIgsNAAsLIAgEQCAGQQRrKAIAIgJBeHEhASABIAhBBXQiA0EEQQggAkEDcSICG3JJDQMgAkEARyABIANBJ2pLcQ0EIAYQvAULIABBfjYCUCAAIAk2AiQgACAHNgIgIAAgCjYCHCAAQQo6ABggAEF+NgIIIABBADYCACAFQfAAaiQADwsQnhUAC0EIEKcUAAtB0JzJAEEuQYCdyQAQrxQAC0GQnckAQS5BwJ3JABCvFAALqgMBBX8jAEEgayICJABBASEEAkAgACgCAEEBRgRAIAEoAgAiA0HbkMkAQQUgASgCBCIGKAIMIgURAAANASAAQQRqIQACQCABLQAKQYABcUUEQCADQbTPxQBBASAFEQAADQMgACABEIAMRQ0BDAMLIANBnePCAEECIAURAAANAiACQQE6AA8gAiAGNgIEIAIgAzYCACACQaDrwgA2AhQgAiABKQIINwIYIAIgAkEPajYCCCACIAI2AhAgACACQRBqEIAMDQIgAkGkssgAQQIQ/QgNAgsgA0GIkMkAQQEgBREAACEEDAELIAEoAgAiA0HVkMkAQQYgASgCBCIGKAIMIgURAAANAAJAIAEtAApBgAFxRQRAIANBtM/FAEEBIAURAAANAiAAKAIIIAAoAgwgAyAGEL8GRQ0BDAILIANBnePCAEECIAURAAANASACIAY2AhQgAiADNgIQIAJBAToAACACIAI2AhggACgCCCAAKAIMIAJBEGoiAEGg68IAEL8GDQEgAEGkssgAQQIQ/QgNAQsgA0GIkMkAQQEgBREAACEECyACQSBqJAAgBAunAwIGfwF+IwBBsAFrIgMkAAJAAkACQAJAIAAoAgBBAUcEQEEMEJABIgRFDQEgBEGQhsYAKAAANgAIIARBiIbGACkAADcAACAAKAIEIgZBAEoEQCAAKAIIIghBBGsoAgAiBUF4cSEHIAdBBEEIIAVBA3EiBRsgBmpJDQMgBUEARyAHIAZBJ2pLcQ0EIAgQvAULIABBDDYCDCAAIAQ2AgggAEF/NgIEIAMgACkDCDcCQCADQQw2AjwgAhCQASIERQ0EIAIEQCAEIAEgAvwKAAALIANBg4CAgHg2AlggAyACNgJQIAMgBDYCTCADIAI2AkggA0H4AGogAEEQaiADQTxqIANByABqENIDIAMgAykDqAE3AzAgAyADKQOgATcDKCADIAMpA5gBNwMgIAMgAykDkAEiCTcDGCADIAMpA4gBNwMQIAMgAykDgAE3AwggCadBf0cEQCADQQhqEPsJCyADQbABaiQADwtBoKvJAEEoQfSuyQAQrxQAC0EBEKcUAAtB0JzJAEEuQYCdyQAQrxQAC0GQnckAQS5BwJ3JABCvFAALQQEQpxQAC5ADAQN/IwBBMGsiAiQAAkACQCABLQAAQf8BRwRAIAAgARDTCQwBCwJAAkACQAJAAkACQAJAAkAgAS0ACEEBaw4GAQIDBAUGAAsCQCABKAIUIgNFBEBBASEBDAELIAEoAhAhBCADEJABIgFFDQkgA0UNACABIAQgA/wKAAALIAIgAzYCFCACIAE2AhAgAiADNgIMIAJBADoACAwGCyACQRBqIAFBEGoQkAMgAkEBOgAIDAULIAIgAUEIaiIBKQMgNwMoIAIgASkDGDcDICACIAEpAxA3AxggAiABKQMINwMQIAIgASkDADcDCAwECyACQRBqIAFBEGoQkAMgAkEDOgAIDAMLIAJBEGogAUEQahCQAyACQQQ6AAgMAgsgAkEQaiABQRBqEJADIAJBBToACAwBCyACQRBqIAFBEGoQkAMgAkEGOgAICyAAIAIpAyg3AyggACACKQMgNwMgIAAgAikDGDcDGCAAIAIpAxA3AxAgACACKQMINwMIIABB/wE6AAALIAJBMGokAA8LQQEQpxQAC5UDAQV/IwBBIGsiAiQAAkAgACgCAEF/RwRAQQEhBCABKAIAIgNB55HJAEEEIAEoAgQiBSgCDCIGEQAADQECQCABLQAKQYABcUUEQCADQbTPxQBBASAGEQAADQMgA0EnIAUoAhAiAREBAA0DIAJBEGogACgCAEGBAhD5AwJAIAItAB0iAEGBAU8EQCADIAIoAhAgAREBAEUNAQwFCyADIAItABwiBSACQRBqaiAAIAVrIAYRAAANBAsgA0EnIAERAQBFDQEMAwsgA0Gd48IAQQIgBhEAAA0CIAIgBTYCBCACIAM2AgAgAkEBOgAPIAIgAkEPajYCCCACQScQnxMNAiACQRBqIAAoAgBBgQIQ+QMCQCACLQAdIgBBgQFPBEAgAiACKAIQEJ8TRQ0BDAQLIAIgAi0AHCIBIAJBEGpqIAAgAWsQ/QgNAwsgAkEnEJ8TDQIgAkGkssgAQQIQ/QgNAgsgA0GIkMkAQQEgBhEAACEEDAELIAEoAgBB65HJAEEEIAEoAgQoAgwRAAAhBAsgAkEgaiQAIAQL7wIBBX8jAEEQayICJAAgAiAAKAIAIgNBAkY2AgwgASACQQxqIgRBBBCWCAJAIANBAkYEQCAAKAIIIQMgAiAAKAIMIgA2AgwgASAEQQQQlgggAEUNASADIABBFGxqIQUDQCACIAMoAgAiBjYCDCABIAJBDGoiAEEEEJYIIANBBGooAgAhBAJAIAZBAUYEQCADQQhqKAIAIQYgAiAENgIMIAEgAEEEEJYIIAIgBjYCDCABIABBBBCWCCACIANBDGooAgA2AgwgASAAQQQQlggMAQsgAiAENgIMIAEgAkEMakEEEJYICyAFIANBFGoiA0cNAAsMAQsgAiADNgIMIAEgAkEMaiIEQQQQlgggACgCBCEFIANBAUYEQCAAKAIIIQMgAiAFNgIMIAEgBEEEEJYIIAIgAzYCDCABIARBBBCWCCACIAAoAgw2AgwgASAEQQQQlggMAQsgAiAFNgIMIAEgAkEMakEEEJYICyACQRBqJAALpQMCA38IfiMAQYACayIDJAAgAigCACIEKAIAIQUgBCAFQQFqNgIAIAVBAE4EQCACKAIEIQUgAyACKAIINgIUIAMgBTYCECADIAQ2AgwgA0EANgIIIANB4ABqIAEgA0EIakEAELYCAkACQCADLQBgIgFB/wFGBEAgAyADKQOgASIGNwBYIAMgAykDmAEiBzcAUCADIAMpA5ABIgg3AEggAyADKQOIASIJNwBAIAMgAykDgAEiCjcAOCADIAMpA3giCzcAMCADIAMpA3AiDDcAKCADIAMpA2giDTcAICAAIAY3AEAgACAHNwA4IAAgCDcAMCAAIAk3ACggACAKNwAgIAAgCzcAGCAAIAw3ABAgACANNwAIIABB/wE6AAAgBCAEKAIAIgBBAWs2AgAgAEEBRg0BDAILIANBGWoiAiADQeAAakEBckHHAPwKAAAgAyABOgCwASADKQOoASEGIANBsAFqIgFBAXIgAkHHAPwKAAAgAyAGNwP4ASAAIAEQhgYgBCAEKAIAIgBBAWs2AgAgAEEBRw0BCyAEEDALIANBgAJqJAAPCwAL9AICBX8BfiMAQTBrIgUkAEEUIQIgAUKQzgBaBEADQCAFQQhqIAJqIgNBBGsgASIHIAFCkM4AgCIBQpDOAH59pyIEQf//A3FB5ABuIgZBAXQvAJyYSTsAACADQQJrIAQgBkHkAGxrQf//A3FBAXQvAJyYSTsAACACQQRrIQIgB0L/wdcvVg0ACwsCQCABQuMAWARAIAGnIQMMAQsgAaciBEH//wNxQeQAbiEDIAJBAmsiAiAFQQhqaiAEIANB5ABsa0H//wNxQQF0LwCcmEk7AAALAkAgA0EKTwRAIAJBAmsiAiAFQQhqaiADQQF0LwCcmEk7AAAMAQsgAkEBayICIAVBCGpqIANBMHI6AAALAkACQEEUIAJrIgQgACgCACAAKAIIIgNrSwRAIAAgAyAEQQFBARCzESAAKAIIIQMMAQsgAkEURg0BCyAERQ0AIAAoAgQgA2ogBUEIaiACaiAE/AoAAAsgACADIARqNgIIIAVBMGokAAvrAgEFfwJAAkACQAJAAkACQAJAIAcgCFYEQCAHIAh9IAhYDQQgBiAHIAZ9VARAIAcgBkIBhn0gCEIBhloNBAsgBiAIWA0HIAYgCH0iBiAHIAZ9VA0HIAIgA0kNBSABIANqIQsgAyEJA0AgCSIKRQ0CIApBAWsiCSABaiIMLQAAIg1BOUYNAAsgDCANQQFqOgAAIAMgCmsiBUUNAiABIApqQTAgBfwLAAwCCyAAQQA2AgAPCwJAIANFBEBBMSEJDAELIAFBMToAAEEwIQkgA0EBayIKRQ0AIAFBAWpBMCAK/AsACyAEQQFqwSIEIAXBTA0AIAIgA00NACALIAk6AAAgA0EBaiEDCyACIANPDQNBACADIAJB2JLEABCHDgALIAIgA08NAkEAIAMgAkH4ksQAEIcOAAsgAEEANgIADwtBACADIAJB6JLEABCHDgALIAAgBDsBCCAAIAM2AgQgACABNgIADwsgAEEANgIAC80CAQV/AkACQCAAKAIIIgUEQCAAKAIEQQRqIQADQAJAAkACQAJAAkAgAEEEaygCAA4CAQIACyAAKAIAIgNFDQMgAEEEaigCACIEQQRrKAIAIgFBeHEhAiACQQRBCCABQQNxIgEbIANqSQ0HIAFFDQIgAiADQSdqTQ0CDAYLIAAoAgAiA0UNAiAAQQRqKAIAIgRBBGsoAgAiAUF4cSECIAJBBEEIIAFBA3EiARsgA2pJDQYgAUUNASACIANBJ2pNDQEMBQsgABDZDCAAKAIAIgJFDQEgAEEEaigCACIEQQRrKAIAIgFBeHEhAyADIAJBBHQiAkEEQQggAUEDcSIBG3JJDQUgAUUNACADIAJBJ2pLDQQLIAQQvAULIABBEGohACAFQQFrIgUNAAsLDwtBkJ3JAEEuQcCdyQAQrxQAC0HQnMkAQS5BgJ3JABCvFAALhgMBBH8gACgCAARAIAAQwg0LAkACQAJAAkACQCAAKAIQIgRFDQAgACgCHCIDIAAoAhQiAWtB6AFuIQIgASADRwRAA0AgARCBBSABQcgBahCHBCABQegBaiEBIAJBAWsiAg0ACwsgACgCGCICRQ0AIARBBGsoAgAiA0F4cSEBIAEgAkHoAWwiAkEEQQggA0EDcSIDG2pJDQEgA0EARyABIAJBJ2pLcQ0CIAQQvAULAkAgACgCICIERQ0AIAAoAiwiAyAAKAIkIgFrQegBbiECIAEgA0cEQANAIAEQgQUgAUHIAWoQhwQgAUHoAWohASACQQFrIgINAAsLIAAoAigiAUUNACAEQQRrKAIAIgJBeHEhACAAIAFB6AFsIgFBBEEIIAJBA3EiAhtqSQ0DIAJBAEcgACABQSdqS3ENBCAEELwFCw8LQdCcyQBBLkGAnckAEK8UAAtBkJ3JAEEuQcCdyQAQrxQAC0HQnMkAQS5BgJ3JABCvFAALQZCdyQBBLkHAnckAEK8UAAv2AgEEfyMAQSBrIgUkAAJAAkACQAJAIAJBA24iA0ECdCIEQQRqIAQgAiADQQNsaxsiA0EATgRAIAMCfyADRQRAQQEhBCABIAJBAUEAEIgDDAELIAMQkAEiBEUNAgJAIARBBGstAABBA3FFDQAgA0UNACAEQQAgA/wLAAsgASACIAQgAxCIAwsiAkkNAgJAQQAgAmtBA3EiBkUNACADIAJrIQEgAiADRg0EIAIgBGoiAkE9OgAAIAZBAUYNACABQQFGDQQgAkE9OgABIAZBAkYNACABQQJGDQQgAkE9OgACCyAFQQxqIAQgAxCXCCAFKAIMQQFGDQQgACADNgIIIAAgBDYCBCAAIAM2AgAgBUEgaiQADwsQnhUAC0EBEKcUAAsgAiADIANBmJ/FABCHDgALIAEgAUGIn8UAEIUTAAsgBSAFKQIQNwIYIAUgAzYCFCAFIAQ2AhAgBSADNgIMQbifxQBBDCAFQQxqQaifxQBBxJ/FABDaEgAL7wIBCH8CQCABKAIEIgJFBEAMAQsgASgCECEGIAEgAiABKAIIIgQgAiACIARLGyIHazYCBCABIAcgASgCACIIajYCAAJ/AkACQAJAAkACQAJAAkAgBARAIAEoAgwiCUEBdCEEIAgtAAAiAkHBAGtB/wFxQQZJDQEgAkHhAGtB/wFxQQZPBEAgBCEFIAJBMGsiA0H/AXFBCkkNAwwECyACQdcAayEDDAILQQBBAEGMo8UAEIUTAAsgAkE3ayEDCyAHQQFGDQMgCC0AASICQcEAa0H/AXFBBkkNASACQeEAa0H/AXFBBkkNAiACQTBrIgVB/wFxQQpJDQQgBEEBciEFCyAGIAJB/wFxNgIAIAYgBUH/AXEgBEGAfnFyNgIEQQAMBAsgAkE3ayEFDAILIAJB1wBrIQUMAQtBAUEBQZyjxQAQhRMACyAFIANBBHRyIQJBAQshAyABIAlBAWo2AgwLIAAgAjoAASAAIANBAXE6AAALuQMBBX8jAEEwayICJAACQCAAKAIABEBBASEDIAEoAgAiBEHnkckAQQQgASgCBCIGKAIMIgURAAANAQJAIAEtAApBgAFxRQRAIARBtM/FAEEBIAURAAANAyACIAAoAgAiAEEQajYCHCABQYP3xQBBBUGI8sUAQQMgAEHnAUGQxMYAQQUgAEEcakHoAUHu98UAQQggAEEoakHoAUH298UAQREgAkEcakHpARC7EA0DIAEoAgAhBCABKAIEKAIMIQUMAQsgBEGd48IAQQIgBREAAA0CIAJBAToAGyACIAY2AhAgAiAENgIMIAJBoOvCADYCICACIAEpAgg3AiQgACgCACEAIAIgAkEbajYCFCACIAJBDGo2AhwgAiAAQRBqNgIsIAJBHGpBg/fFAEEFQYjyxQBBAyAAQecBQZDExgBBBSAAQRxqQegBQe73xQBBCCAAQShqQegBQfb3xQBBESACQSxqQekBELsQDQIgAigCHEGkssgAQQIgAigCICgCDBEAAA0CCyAEQYiQyQBBASAFEQAAIQMMAQsgASgCAEHrkckAQQQgASgCBCgCDBEAACEDCyACQTBqJAAgAwubAwIGfwF+IwBBIGsiAiQAAkAgASgCACIEQQFBACABKAIEIgYoAgwiBREAAARAQQEhAwwBCwJAIAEoAggiB0GAgIAEcUUEQEEBIQMgBEG0z8UAQQEgBREAAA0CIAAoAgAgARCPBkUNAQwCCyAEQZ3jwgBBAiAFEQAABEBBASEDDAILQQEhAyACQQE6AA8gAiAGNgIEIAIgBDYCACACQaDrwgA2AhQgAiABKQIIIgg3AhggAiACQQ9qNgIIIAIgAjYCECAAKAIAIAJBEGoQjwYNASACQaSyyABBAhD9CA0BIAinIQcLIABBBGohAAJAIAdBgICABHFFBEAgBEGIs8kAQQIgBREAAARADAMLIAAgARD0CkUNAQwCCyACQQE6AA8gAiAGNgIEIAIgBDYCACACQaDrwgA2AhQgAiABKQIINwIYIAIgAkEPajYCCCACIAI2AhAgACACQRBqEPQKDQEgAigCEEGkssgAQQIgAigCFCgCDBEAAA0BCyABKAIAQYiQyQBBASABKAIEKAIMEQAAIQMLIAJBIGokACADC4QDAQR/IAAoAgwhAgJAAkACQCABQYACTwRAIAAoAhghAwJAAkAgACACRgRAIABBFEEQIAAoAhQiAhtqKAIAIgENAUEAIQIMAgsgACgCCCIBIAI2AgwgAiABNgIIDAELIABBFGogAEEQaiACGyEEA0AgBCEFIAEiAigCFCEBIAJBFGogAkEQaiABGyEEIAJBFEEQIAEbaigCACIBDQALIAVBADYCAAsgA0UNAgJAIAAoAhxBAnRB9OzJAGoiASgCACAARwRAIAMoAhAgAEYNASADIAI2AhQgAg0DDAQLIAEgAjYCACACRQ0EDAILIAMgAjYCECACDQEMAgsgAiAAKAIIIgBHBEAgACACNgIMIAIgADYCCA8LQYzwyQBBjPDJACgCAEF+IAFBA3Z3cTYCAA8LIAIgAzYCGCAAKAIQIgEEQCACIAE2AhAgASACNgIYCyAAKAIUIgBFDQAgAiAANgIUIAAgAjYCGA8LDwtBkPDJAEGQ8MkAKAIAQX4gACgCHHdxNgIAC9sCAQN/IwBBEGsiAyQAAn8CQCABKAIIIgJBgICAEHFFBEAgAkGAgIAgcQ0BQQMhAiAALQAAIgAhBCAAQQpPBEAgAyAAIABB5ABuIgRB5ABsa0H/AXFBAXQvAJyYSTsADEEBIQILIARFIABBAEdxRQRAIAJBAWsiAiADQQtqaiAEQQF0LQCdmEk6AAALIAFBAUEBQQAgA0ELaiACakEDIAJrEMkJDAILIAAtAAAhAkEDIQADQCAAIANqQQdqIAJBD3FB5LbJAGotAAA6AAAgAEEBayEAIAJBBHZBD3EiAg0ACyABQQFBopbEAEECIAAgA2pBCGpBAyAAaxDJCQwBCyAALQAAIQJBAyEAA0AgACADakEMaiACQQ9xQaSWxABqLQAAOgAAIABBAWshACACQQR2QQ9xIgINAAsgAUEBQaKWxABBAiAAIANqQQ1qQQMgAGsQyQkLIANBEGokAAu1AgEHfwJAAkACQCAAKAIAIgRBf0YNACAEBEAgACgCBCIBQQRrKAIAIgNBeHEhAiACQQRBCCADQQNxIgMbIARqSQ0CIANBAEcgAiAEQSdqS3ENAyABELwFCyAAKAIQIQMgACgCFCIFBEAgAyEBA0AgASgCACIGBEAgAUEEaigCACIEQQRrKAIAIgJBeHEhByAHQQRBCCACQQNxIgIbIAZqSQ0EIAJBAEcgByAGQSdqS3ENBSAEELwFCyABQQxqIQEgBUEBayIFDQALCyAAKAIMIgFFDQAgA0EEaygCACIAQXhxIQIgAiABQQxsIgFBBEEIIABBA3EiABtqSQ0BIABBAEcgAiABQSdqS3ENAiADELwFCw8LQdCcyQBBLkGAnckAEK8UAAtBkJ3JAEEuQcCdyQAQrxQAC6ADAQN/IwBBMGsiBCQAIAIoAgAgAigCBCADEOQOIQUgAygCACADKAIEIAIQ5A4hBiAEIAVB/wFxIAIgARD2CQJAAkACQAJAIAQoAgBBfkYEQEEEEJABIgJFDQEgAkGg+PiBAjYAACAEQQQ2AgggBCACNgIEIARBBDYCACABIAQQ/A0gBCAGQf8BcSADIAEQ9gkgBCgCAEF+RwRAIAAgBCkCKDcCKCAAIAQpAiA3AiAgACAEKQIYNwIYIAAgBCkCEDcCECAAIAQpAgg3AgggACAEKQIANwIADAULIABBfjYCAAwECyAAIAQpAig3AiggACAEKQIgNwIgIAAgBCkCGDcCGCAAIAQpAhA3AhAgACAEKQIINwIIIAAgBCkCADcCACADEK0BIAMoAlAiAEEATA0DIAMoAlQiAkEEaygCACIDQXhxIQEgAUEEQQggA0EDcSIDGyAAakkNASADQQBHIAEgAEEnaktxDQIgAhC8BQwDC0EBEKcUAAtB0JzJAEEuQYCdyQAQrxQAC0GQnckAQS5BwJ3JABCvFAALIARBMGokAAviAgEEfyMAQTBrIgUkACADQQhPBEAgACADQQN2IgNBCHQiBiAAaiADQcADbCIHIABqIAMgBBDjDCEAIAEgASAGaiABIAdqIAMgBBDjDCEBIAIgAiAGaiACIAdqIAMgBBDjDCECCyAFQShqIAQoAgAiAygCACAAENoHIAUoAiwhBiAFKAIoIAVBIGogAygCACABENoHIAUoAiAhA0EBRgRAIAMgBiAFKAIkSXEhAwsgBUEYaiAEKAIAIgYoAgAgABDaByAFKAIcIQcgBSgCGCAFQRBqIAYoAgAgAhDaByAFKAIQIQZBAUYEfyAGIAcgBSgCFElxBSAGCyADc0EBcUUEQCAFQQhqIAQoAgAiACgCACABENoHIAUoAgwhBCAFKAIIIQYgBSAAKAIAIAIQ2gcgBSgCACEAIAIgASAGQQFGBH8gACAEIAUoAgRJcQUgAAsgA3NBAXEbIQALIAVBMGokACAAC54DAQZ/IwBBMGsiAiQAAkACQAJAIAAoAgAiB0F+RwRAQQEhAyABKAIAIgRB55HJAEEEIAEoAgQiBigCDCIFEQAADQMgAS0ACkGAAXFFBEAgBEG0z8UAQQEgBREAAA0EIAdBf0cEQCACIAA2AhwgAUGn8MUAQQggAkEcakH0ARCDEA0FIAEoAgAhBCABKAIEKAIMIQUMBAsgBEHgkMkAQQcgBREAAEUNAwwECyAEQZ3jwgBBAiAFEQAADQMgAkEBOgAbIAIgBjYCECACIAQ2AgxBoOvCACEGIAJBoOvCADYCICACIAEpAgg3AiQgAiACQRtqNgIUIAIgAkEMajYCHAJAIAdBf0cEQCACIAA2AiwgAkEcakGn8MUAQQggAkEsakH0ARCDEA0BIAIoAiAhBiACKAIcIQEMAwsgAkEMaiIAIQEgAEHgkMkAQQcQ/QhFDQILDAMLIAEoAgBB65HJAEEEIAEoAgQoAgwRAAAhAwwCCyABQaSyyABBAiAGKAIMEQAADQELIARBiJDJAEEBIAURAAAhAwsgAkEwaiQAIAMLywMBBX8jAEEgayICJAACQAJAAkACQAJAAkACQAJAIAAoAgAiBCgCAEEBaw4GAQIDBAUGAAsgASgCAEHbkMkAQQUgASgCBCgCDBEAACEADAYLIAEoAgBB+pnJAEEGIAEoAgQoAgwRAAAhAAwFCyABKAIAQdWQyQBBBiABKAIEKAIMEQAAIQAMBAsgASgCAEH/9cUAQQYgASgCBCgCDBEAACEADAMLIAEoAgBB5JnJAEEHIAEoAgQoAgwRAAAhAAwCCyABKAIAQYCayQBBBCABKAIEKAIMEQAAIQAMAQtBASEAIAEoAgAiA0GF9sUAQQkgASgCBCIGKAIMIgURAAANACAEQQRqIQQCQCABLQAKQYABcUUEQCADQbTPxQBBASAFEQAADQIgBCABELoQDQIgASgCACEDIAEoAgQoAgwhBQwBCyADQZ3jwgBBAiAFEQAADQEgAkEBOgAPIAIgBjYCBCACIAM2AgAgAkGg68IANgIUIAIgASkCCDcCGCACIAJBD2o2AgggAiACNgIQIAQgAkEQahC6EA0BIAIoAhBBpLLIAEECIAIoAhQoAgwRAAANAQsgA0GIkMkAQQEgBREAACEACyACQSBqJAAgAAuVAwIGfwF+IwBBIGsiAiQAAkAgASgCACIEQQFBACABKAIEIgYoAgwiBREAAARAQQEhAwwBCwJAIAEoAggiB0GAgIAEcUUEQEEBIQMgBEG0z8UAQQEgBREAAA0CIAAgARCPBkUNAQwCCyAEQZ3jwgBBAiAFEQAABEBBASEDDAILQQEhAyACQQE6AA8gAiAGNgIEIAIgBDYCACACQaDrwgA2AhQgAiABKQIIIgg3AhggAiACQQ9qNgIIIAIgAjYCECAAIAJBEGoQjwYNASACQaSyyABBAhD9CA0BIAinIQcLIABBFGohAAJAIAdBgICABHFFBEAgBEGIs8kAQQIgBREAAARADAMLIAAgARD+CkUNAQwCCyACQQE6AA8gAiAGNgIEIAIgBDYCACACQaDrwgA2AhQgAiABKQIINwIYIAIgAkEPajYCCCACIAI2AhAgACACQRBqEP4KDQEgAigCEEGkssgAQQIgAigCFCgCDBEAAA0BCyABKAIAQYiQyQBBASABKAIEKAIMEQAAIQMLIAJBIGokACADC/wCAQV/AkACQAJAIAIEQCABLQAAQTBNDQFBASEGIAVBATYCCCAFIAE2AgRBAiEHIAVBAjsBACACQQFrIgJFBEAgBEUNBEEUIQFBx+3CACEIQRAhCUEMIQoMAwsgBUEBNgIUIAVBx+3CADYCECAFQQI7AQwgAUEBaiEIQQMhB0EgIQFBHCEJQRghCiACIQYMAgtB1fvCAEEhQbj8wgAQrxQAC0GI/MIAQR9ByPzCABCvFAALIAUgCmpBAjsBACAFIAlqIAg2AgAgASAFaiAGNgIAIAIgBE8EQCAHIQYMAQsgBSAHQQxsaiIBIAQgAms2AgQgAUEAOwEAIAdBAWohBgsgBSAGQQxsaiICAn8gA8FBAEoEQCAFIAZBDGxqIgFBATYCCCABQdj8wgA2AgQgAUECOwEAIANBAWsMAQsgBSAGQQxsaiIBQQI2AgggAUHZ/MIANgIEIAFBAjsBAEEBIANrCzsBDiACQQE7AQwgACAGQQJqNgIEIAAgBTYCAAuqAwIDfgJ/IAGtAn4gAUERTwRAIAFBEGshBUEAIQFCxObBm+DF4owTIQJC05GMrYjR2p8kIQMDQCACIAAgAWoiBkEIaikAAELQ4/zMooTOhKR/hSECIAYpAAAgA4UiA0L/////D4MgAkIgiH4gAkL/////D4MgA0IgiH5CIImFIQIhAyABQRBqIgEgBUkNAAsgACAFaiIAKQAIIAKFIQIgACkAACADhQwBCyABQQdNBEACQCABQQNNBEAgAQ0BQsTmwZvgxeKMEyECQtORjK2I0dqfJAwDCyAAIAFqQQRrNQAAQsTmwZvgxeKME4UhAiAANQAAQtORjK2I0dqfJIUMAgsgACABQQF2ajEAACAAIAFqQQFrMQAAQgiGhELE5sGb4MXijBOFIQIgADEAAELTkYytiNHanySFDAELIAAgAWpBCGspAABCxObBm+DF4owThSECIAApAABC05GMrYjR2p8khQsiA0L/////D4MgAkIgiH6FIAJC/////w+DIANCIIh+QiCJhSIEQiCIpyAEp0Hdy92eeWxqQcnB+P0AbEGj7rmcBGpBD3etC+0CAgt/AX4jAEGgAWsiBiQAAkACQCABKAIIIgdB1qrVCkkEQAJAIAdB4ABsIglFBEBBCCEKDAELIAEoAgQhCyAJEJABIgpFDQIgB0UNAEEAIQEgCyECIAchDANAIAEgCUcEQCAGQdAAaiACELMCQX4hCCACKAJQIgVBfkcEQEF/IQggASALaiIDQdgAaigCACEEIANB1ABqKAIAIQMCQCAFQX9GBEAgAyEFDAELIARFBEBBASEFQQAhCAwBCyAEEJABIgVFDQcgBARAIAUgAyAE/AoAAAsgBCEICyAFrSAErUIghoQhDQsgAkHgAGohAiAGIAZB0ABqQdAA/AoAACABIApqIgMgBkHQAPwKAAAgA0HUAGogDTcCACADQdAAaiAINgIAIAFB4ABqIQEgDEEBayIMDQELCyAHIQILIAAgBzYCCCAAIAo2AgQgACACNgIAIAZBoAFqJAAPCxCeFQALQQgQpxQAC0EBEKcUAAvtAgILfwF+IwBBoAFrIgYkAAJAAkAgASgCCCIHQdaq1QpJBEACQCAHQeAAbCIJRQRAQQghCgwBCyABKAIEIQsgCRCQASIKRQ0CIAdFDQBBACEBIAshAiAHIQwDQCABIAlHBEAgBkHQAGogAhDeAUF+IQggAigCUCIFQX5HBEBBfyEIIAEgC2oiA0HYAGooAgAhBCADQdQAaigCACEDAkAgBUF/RgRAIAMhBQwBCyAERQRAQQEhBUEAIQgMAQsgBBCQASIFRQ0HIAQEQCAFIAMgBPwKAAALIAQhCAsgBa0gBK1CIIaEIQ0LIAJB4ABqIQIgBiAGQdAAakHQAPwKAAAgASAKaiIDIAZB0AD8CgAAIANB1ABqIA03AgAgA0HQAGogCDYCACABQeAAaiEBIAxBAWsiDA0BCwsgByECCyAAIAc2AgggACAKNgIEIAAgAjYCACAGQaABaiQADwsQnhUAC0EIEKcUAAtBARCnFAALogMBAn9BCCECAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQEEVIAEoAgAiA0GAgICAeHMgA0EAThtBAWsOFQECAwQFBgcICQoLDA0ODxQUEBESEwALIAAgAS0ABDoAASAAQQA6AAAPCyAAIAExAAQ3AwgMEwsgACABMwEENwMIDBILIAAgATUCBDcDCAwRCyAAIAEpAwg3AwgMEAsgACABMAAENwMIDBALIAAgATIBBDcDCAwPCyAAIAE0AgQ3AwgMDgsgACABKQMINwMIDA0LIAAgASoCBLs5AwggAEEDOgAADwsgACABKwMIOQMIIABBAzoAAA8LIAAgASgCBDYCBCAAQQQ6AAAPCyAAIAEpAwg3AgQgAEEFOgAADwsgACABKQIENwIEIABBBToAAA8LIAAgASkDCDcCBCAAQQY6AAAPCyAAIAEpAgQ3AgQgAEEGOgAADwsgAEEHOgAADwsgAEEJOgAADwsgAEEKOgAADwtBCyECCyAAIAI6AAAPCyAAQQE6AAAPCyAAQQI6AAALowMBBn8jAEEgayIEJAAgBEEUaiACEPEKIAQgBCgCHDYAECAEIAQpAhQ3AAhBASEHIAIoAgQhBQJAAkACQAJAAkAgAigCAEEBRgRAIAIoAhAiBigCACEDIAYgA0EBajYCACADQQBIDQMgAigCCCEIDAELIAIoAhAiBigCECIDIAVNDQEgBigCDCAFQeQAbGoiBSgCWCEIIAUoAlQhBSAGIAYoAgAiA0EBajYCAEEAIQcgA0EASA0CC0EYEJABIgNFDQIgAyABNgIUIAMgAigCEDYCECADIAIpAgg3AgggAyACKQIANwIAQRgQkAEiAUUNAyABQQA6ABQgAUGU6McANgIMIAEgAzYCCCABQoGAgIAQNwIAIABBCToAPCAAQX82AiwgACAINgIoIAAgBTYCJCAAIAY2AiAgACAHNgIcIABBfzYCECAAQQA2AgggAEEANgIAIAAgBCkABTcAPSAAIAQpAAw3AEQgACABNgJgIABBADoAXCAEQSBqJAAPCyAFIANB5PbIABCFEwsAC0G48MkAQQE6AAAAC0G48MkAQQE6AAAAC+0CAgt/AX4jAEGgAWsiBiQAAkACQCABKAIIIgdB1qrVCkkEQAJAIAdB4ABsIglFBEBBCCEKDAELIAEoAgQhCyAJEJABIgpFDQIgB0UNAEEAIQEgCyECIAchDANAIAEgCUcEQCAGQdAAaiACEIYCQX4hCCACKAJQIgVBfkcEQEF/IQggASALaiIDQdgAaigCACEEIANB1ABqKAIAIQMCQCAFQX9GBEAgAyEFDAELIARFBEBBASEFQQAhCAwBCyAEEJABIgVFDQcgBARAIAUgAyAE/AoAAAsgBCEICyAFrSAErUIghoQhDQsgAkHgAGohAiAGIAZB0ABqQdAA/AoAACABIApqIgMgBkHQAPwKAAAgA0HUAGogDTcCACADQdAAaiAINgIAIAFB4ABqIQEgDEEBayIMDQELCyAHIQILIAAgBzYCCCAAIAo2AgQgACACNgIAIAZBoAFqJAAPCxCeFQALQQgQpxQAC0EBEKcUAAu5AgEHfwJAAkACQAJAIAAoAgAiAkF+RgRAIAAoAgghAyAAKAIMIgQEQCADIQEDQCABKAIAIgVBAEoEQCABQQRqKAIAIgdBBGsoAgAiAkF4cSEGIAZBBEEIIAJBA3EiAhsgBWpJDQcgAkEARyAGIAVBJ2pLcQ0GIAcQvAULIAFBEGohASAEQQFrIgQNAAsLIAAoAgQiAUUNAiADQQRrKAIAIgBBeHEhAiACIAFBBHQiAUEEQQggAEEDcSIAG3JJDQQgAEUNASACIAFBJ2pNDQEMAwsgAkEATA0BIAAoAgQiA0EEaygCACIAQXhxIQEgAUEEQQggAEEDcSIAGyACakkNAyAARQ0AIAEgAkEnaksNAgsgAxC8BQsPC0GQnckAQS5BwJ3JABCvFAALQdCcyQBBLkGAnckAEK8UAAujAwEBfyACIAMQuRQhAgJAIAEoAghFDQAgASgCDCIDQYQBSQ0AIAMQ0xILIAFBADYCCCABIAI2AgwgBCAFELkUIQMCQAJAIAEoAgBBAUYEQCACEOAVRQ0BIAEoAgQgAiADEKUUQQAhAQwCCyABKAIEIAIgAxCeFCIBQYQBTwRAIAEQ0xILIANBhAFPBEAgAxDTEgtBACEBIAJBhAFJDQEgAhDTEgwBCwJAAkBBMxCQASIBBEAgAUGbnsIAKAAANgAvIAFBlJ7CACkAADcAKCABQYyewgApAAA3ACAgAUGEnsIAKQAANwAYIAFB/J3CACkAADcAECABQfSdwgApAAA3AAggAUHsncIAKQAANwAAIAFBMxC4FCEFIAFBBGsoAgAiBkF4cSEEIARBN0E7IAZBA3EiBhtJDQEgBkEARyAEQdsAT3ENAiABELwFIAJBhAFPBEAgAhDTEgtBASEBIANBhAFJDQMgAxDTEgwDC0EBEKcUAAtB0JzJAEEuQYCdyQAQrxQAC0GQnckAQS5BwJ3JABCvFAALIAAgBTYCBCAAIAE2AgALpgMBA39BoKzJAEEEELkUIQQCQCABKAIIRQ0AIAEoAgwiBUGEAUkNACAFENMSCyABQQA2AgggASAENgIMIAIgAxC5FCEDAkACQCABKAIAQQFGBEAgBBDgFUUNASABKAIEIAQgAxClFEEAIQEMAgsgASgCBCAEIAMQnhQiAUGEAU8EQCABENMSCyADQYQBTwRAIAMQ0xILQQAhASAEQYQBSQ0BIAQQ0xIMAQsCQAJAQTMQkAEiAQRAIAFBm57CACgAADYALyABQZSewgApAAA3ACggAUGMnsIAKQAANwAgIAFBhJ7CACkAADcAGCABQfydwgApAAA3ABAgAUH0ncIAKQAANwAIIAFB7J3CACkAADcAACABQTMQuBQhAiABQQRrKAIAIgZBeHEhBSAFQTdBOyAGQQNxIgYbSQ0BIAZBAEcgBUHbAE9xDQIgARC8BSAEQYQBTwRAIAQQ0xILQQEhASADQYQBSQ0DIAMQ0xIMAwtBARCnFAALQdCcyQBBLkGAnckAEK8UAAtBkJ3JAEEuQcCdyQAQrxQACyAAIAI2AgQgACABNgIAC+kCAQZ/AkAgAkUEQAwBCyABIAJqIQggASEEA0ACfyAEIgUsAAAiA0EATgRAIANB/wFxIQMgBUEBagwBCyAFLQABQT9xIQQgA0EfcSEHIANBX00EQCAHQQZ0IARyIQMgBUECagwBCyAFLQACQT9xIARBBnRyIQQgA0FwSQRAIAQgB0EMdHIhAyAFQQNqDAELIAdBEnRBgIDwAHEgBS0AA0E/cSAEQQZ0cnIhAyAFQQRqCyEEAkAgA0EJa0EFSQ0AIANBIEYNACADQYUBSQ0CAkACQAJAAkAgA0EIdiIHQRZrDhsBBgYGBgYGBgYGAwYGBgYGBgYGBgYGBgYGBgIACyAHDQUgA0H/AXEtAPKlSUEBcQ0DDAULIANBgC1GDQIMBAsgA0GA4ABGDQEMAwsgA0H/AXEtAPKlSUECcUUNAgsgBiAFayAEaiEGIAQgCEcNAAsgAiEGCyAAIAIgBms2AgQgACABIAZqNgIAC5QDAQJ/IwBBIGsiByQAAkAgACgCACIIIAEgAiAAKAIEKAIMIgERAAAEQEEBIQIMAQsCQCAALQAKQYABcUUEQEEBIQIgCEG0z8UAQQEgAREAAA0CIAMgACAEEQEARQ0BDAILIAhBnePCAEECIAERAAAEQEEBIQIMAgtBASECIAdBAToADyAHQaDrwgA2AhQgByAAKQIANwIAIAcgACkCCDcCGCAHIAdBD2o2AgggByAHNgIQIAMgB0EQaiAEEQEADQEgBygCEEGkssgAQQIgBygCFCgCDBEAAA0BCwJAIAAtAApBgAFxRQRAIAAoAgBBiLPJAEECIAAoAgQoAgwRAAAEQAwDCyAFIAAgBhEBAEUNAQwCCyAHQQE6AA8gB0Gg68IANgIUIAcgACkCADcCACAHIAApAgg3AhggByAHQQ9qNgIIIAcgBzYCECAFIAdBEGogBhEBAA0BIAcoAhBBpLLIAEECIAcoAhQoAgwRAAANAQsgACgCAEGIkMkAQQEgACgCBCgCDBEAACECCyAHQSBqJAAgAgueAwIEfwF+IwBBEGsiBCQAAkACQAJAAkACQAJAQQMgASkDACIGp0ECayAGQgFYG0EBaw4DAgADAQsgBEEIaiABKAKwASABKAK0ARDhCSAEKAIMIgMgBCgCCCIBKAIcIgJJBEAgASgCGCADQfAAbGoiAygCXCECIAMoAlghAyABIAEoAgAiBUEBajYCACAFQQBIDQUgACACNgIIIAAgAzYCBCAAIAE2AgAgASABKAIAIgBBAWs2AgAgAEEBRw0EIAEQMAwECyADIAJB5P7IABCFEwwECyABKAJYIgMoAgAhAiADIAJBAWo2AgAgAkEASA0DIAEoAlwhAiAAIAEoAmA2AgggACACNgIEIAAgAzYCAAwCCyABKALsASIDKAIAIQIgAyACQQFqNgIAIAJBAEgNAiABKALwASECIAAgASgC9AE2AgggACACNgIEIAAgAzYCAAwBCyABKAK0AiIDKAIAIQIgAyACQQFqNgIAIAJBAEgNASABKAK4AiECIAAgASgCvAI2AgggACACNgIEIAAgAzYCAAsgBEEQaiQADwsAC7cDAQF/AkACQAJAAkACQAJAAkAgASgCAA4EAgAAAQALQcABEJABIgNFDQIgA0EKNgJgIANBfjYCUCADQQo2AgAgA0F+NgKwASAAQQI2AgwgACADNgIIIABCgICAgCA3AgAgAyABKQIINwIMIAMgASkCADcCBCADIAIpAgA3AmQgAyACKQIINwJsDwsgASgCBCEDQcABEJABIgFFDQIgASADQeAA/AoAACABQQo2AmAgAUF+NgKwASABIAIpAgg3AmwgASACKQIANwJkIABBAjYCDCAAIAE2AgggAEKAgICAIDcCACADQQRrKAIAIgBBA3EhASAAQXhxQeQAQegAIAEbSQ0DIAFBAEcgAEGIAU9xDQQgAxC8BQ8LIAEoAgwiAyABKAIERgRAIAFBBGoQpRILIAEgA0EBajYCDCAAIAEpAgA3AgAgASgCCCADQeAAbGoiA0EKNgIAIAMgAikCADcCBCADIAIpAgg3AgwgA0F+NgJQIAAgASkCCDcCCA8LQbjwyQBBAToAAAALQbjwyQBBAToAAAALQdCcyQBBLkGAnckAEK8UAAtBkJ3JAEEuQcCdyQAQrxQAC7ADAQV/IwBBMGsiAiQAAkAgACgCAEF/RwRAQQEhAyABKAIAIgRB55HJAEEEIAEoAgQiBigCDCIFEQAADQECQCABLQAKQYABcUUEQCAEQbTPxQBBASAFEQAADQMgAiAAQRBqNgIcIAFBg/fFAEEFQYjyxQBBAyAAQecBQZDExgBBBSAAQRxqQegBQe73xQBBCCAAQShqQegBQfb3xQBBESACQRxqQekBELsQDQMgASgCACEEIAEoAgQoAgwhBQwBCyAEQZ3jwgBBAiAFEQAADQIgAkEBOgAbIAIgBjYCECACIAQ2AgwgAkGg68IANgIgIAIgASkCCDcCJCACIAJBG2o2AhQgAiACQQxqNgIcIAIgAEEQajYCLCACQRxqQYP3xQBBBUGI8sUAQQMgAEHnAUGQxMYAQQUgAEEcakHoAUHu98UAQQggAEEoakHoAUH298UAQREgAkEsakHpARC7EA0CIAIoAhxBpLLIAEECIAIoAiAoAgwRAAANAgsgBEGIkMkAQQEgBREAACEDDAELIAEoAgBB65HJAEEEIAEoAgQoAgwRAAAhAwsgAkEwaiQAIAMLuAMCA38CfiMAQYACayICJABBwPDJAAJ+QdDwyQAtAAAEQEHI8MkAKQMAIQZBwPDJACkDAAwBCyACQThqELsRQdDwyQBBAToAAEHI8MkAIAIpA0AiBjcDACACKQM4CyIFQgF8NwMAAkBBHBCQASIDBEAgA0F/NgIYIANCfzcDEEHIABCQASIERQ0BIAJBADYCMCACQoOAgIAwNwMoIAIgA0EQajYCJCACQQA2AiAgAiAENgIcIAJBATYCGCACIAY3AxAgAiAFNwMIIAJCgICAgBA3AzggAkFAayIDIAFByAD8CgAAIAJBwAFqIAJBCGogAyABQRBqEI8FIAIgAikD+AE3A7gBIAIgAikD8AE3A7ABIAIgAikD6AE3A6gBIAIgAikD4AE3A6ABIAIgAikD2AE3A5gBIAIgAikD0AE3A5ABIAIgAikDyAEiBTcDiAEgBadBf0cEQCACQYgBahDwBQsgACACKQMwNwMoIAAgAikDKDcDICAAIAIpAyA3AxggACACKQMYNwMQIAAgAikDEDcDCCAAIAIpAwg3AwAgAkGAAmokAA8LQbjwyQBBAToAAAALQQgQpxQAC9wCAQl/IAJFBEBBAQ8LA0ACQAJAAkAgB0EUbCIDIABqIgQoAgAiBUECRiABIANqIgMoAgAiBkECRnMNAAJAAkAgBUECRgRAIAQoAgwiBiADKAIMRw0DIAZFDQQgBCgCCCEJIAMoAgghCkEAIQhBACEEDAELIAUgBkcNAiAEKAIEIAMoAgRHIgYNASAFQQFxRQ0BIAQoAgggAygCCEcNAiAEKAIMIAMoAgxHDQIMAwsDQCAEIAlqIgUoAgAiCyAEIApqIgMoAgBHDQQCQCALRQRAIAVBBGooAgAgA0EEaigCAEcNBgwBCyAFQQRqKAIAIANBBGooAgBHDQUgBUEIaigCACADQQhqKAIARw0FIAVBDGooAgAgA0EMaigCAEcNBQsgBEEUaiEEIAZBAWsiBg0ACwwCCyAGDQAgBUEBcUUNAQtBACEIDAELQQEhCCAHQQFqIgcgAkcNAQsLIAgLlAMBBX8gAigCBCIDKAIAIQQgAyAEQQFqNgIAIAIoAgwhBiACKAIIIQcCQAJAIAIoAgBBAUYEQCAEQQBIDQJBASEEIAMgAygCACIFQQFqNgIAIAVBAEgNAiADIAMoAgAiBUEBajYCACAFQQBODQEMAgsgBEEASA0BIAMgAygCACIEQQFqNgIAIARBAEgNASADIAMoAgAiBUEBajYCAEEAIQQgBUEASA0BCwJAQRQQkAEiBQRAIAUgATYCECAFIAIpAgg3AgggBSACKQIANwIAQRgQkAEiAUUNASABQQA6ABQgAUHU5ccANgIMIAEgBTYCCCABQoGAgIAQNwIAIAAgATYCYCAAQQA6AFwgACAGNgJMIAAgBzYCSCAAIAM2AkQgACAENgJAIABBLjoAPCAAIAY2AjggACAHNgI0IAAgAzYCMCAAIAQ2AiwgACAGNgIoIAAgBzYCJCAAIAM2AiAgACAENgIcIABBfzYCECAAQQA2AgggAEEANgIADwtBuPDJAEEBOgAAAAtBuPDJAEEBOgAAAAsAC+gCAQJ/IAJBAk0EQCAAQQQ6AAAgAEH/AToACA8LIAEtAAJBIHIhAyABLQABQSByIQQCQAJAAkACQAJAAkACQAJAAkACQAJAIAEtAABBIHJB5gBrDhIDCQkJCQkJAAkJCQkJBAEJCQIJCyAEQe8ARw0IIANB7gBHDQhBACEDDAkLIARB6ABrDg4EBwcHBwcHBwcHBwcHAwcLIARB5QBHDQYgA0HkAEcNBkECIQMMBwsgBEHyAEcNBSADQekARw0FQQQhAwwGCyAEQeEARg0CIARB9QBGDQMMBAsgA0HlAEcNA0EBIQMMBAsgA0H1AEcNAkEDIQMMAwsgA0H0AEcNAUEFIQMMAgsgA0HuAEcNAEEGIQMMAQsgAEEDOgAAIABB/wE6AAgPCwJAIAJBA0cEQCABLAADQb9/TA0BCyAAIAJBA2s2AgQgACABQQNqNgIAIAAgAzoACA8LIAEgAkEDIAJBhMfCABD9FAALggMCB38DfgJAAkACQAJAAkACQCAAKAIYIgQOAgUBAAsgACkDACAAKQMIIAEgAhDfCiEDIAMgACgCICIGcSEFIANBGXatQoGChIiQoMCAAX4hDCAAKAIcIQcgACgCFCEDA0AgBSAHaikAACILIAyFIgpCgYKEiJCgwIABfSAKQn+Fg0KAgYKEiJCgwIB/gyIKQgBSBEADQCAEIAcgCnqnQQN2IAVqIAZxQQJ0a0EEaygCACIATQ0EIAMgAEHYAGxqIglB0ABqKAIAIAJGBEAgASAJQcwAaigCACACEI8TRQ0HCyAKQgF9IAqDIgpCAFINAAsLIAsgC0IBhoNCgIGChIiQoMCAf4NCAFIEQEEADwUgCEEIaiIIIAVqIAZxIQUMAQsACwALIAIgACgCFCIDQdAAaigCAEYNAQwDCyAAIARB0K/JABCFEwALQQAhACABIANBzABqKAIAIAIQjxMNAQsgACAESQRAIAMgAEHYAGxqDwsgACAEQeSExwAQhRMAC0EAC6IDAgF/Bn4jAEGQAWsiAiQAIAJB0ABqIAEQ2gECQCACKAKAASIBQX9HBEAgACACKQKEATcCNCAAIAIoAowBNgI8IAIgAikDeCIDNwNIIAIgAikDcCIENwNAIAIgAikDaCIFNwM4IAIgAikDYCIGNwMwIAIgAikDWCIHNwMoIAIgAikDUCIINwMgIAAgAzcDKCAAIAQ3AyAgACAFNwMYIAAgBjcDECAAIAc3AwggACAINwMAIAAgATYCMAwBCyACIAIpA1AiAzcDACACIAIpA1g3AwggAiACKQNgNwMQIAIgAikDaDcDGAJAAkACQAJAQQ4gA6ciAUENayABQQxNG0EDaw4GAQAAAAACAAsgAiACKQMYNwNoIAIgAikDEDcDYCACIAIpAwg3A1ggAiACKQMANwNQIAIgAkHQAGoiAa1CgICAgMAjhDcDICAAQTBqQdjuwQAgAkEgahC4DCAAQQA6ADwgAEF/NgIQIAEQiAQMAwsgACACKQMINwMIIABCATcDAAwBCyAAQgA3AwALIABBfzYCMCACEIgECyACQZABaiQAC5UDAgV/AX4jAEGwAWsiBCQAAkACQAJAAkAgACgCAEUEQEENEJABIgVFDQEgBSABKQAFNwAFIAUgASkAADcAACAAKAIEIgFBAEoEQCAAKAIIIghBBGsoAgAiBkF4cSEHIAdBBEEIIAZBA3EiBhsgAWpJDQMgBkEARyAHIAFBJ2pLcQ0EIAgQvAULIABBDTYCDCAAIAU2AgggAEF/NgIEIARBgoCAgHhBgICAgHggAkEBcRs2AlggBCADrTcDUCAEQgA3A0ggBCAAKQMINwJAIARBDTYCPCAEQfgAaiAAQRBqIARBPGogBEHIAGoQ0gMgBCAEKQOoATcDMCAEIAQpA6ABNwMoIAQgBCkDmAE3AyAgBCAEKQOQASIJNwMYIAQgBCkDiAE3AxAgBCAEKQOAATcDCCAJp0F/RwRAIARBCGoQ/gkLQQAhAAwECyAEQQo2AnggBEH4AGpBAEEAEMcTIQAMAwtBARCnFAALQdCcyQBBLkGAnckAEK8UAAtBkJ3JAEEuQcCdyQAQrxQACyAEQbABaiQAIAAL7gIBBH8jAEEQayIDJAACQAJAAn8CfwJAAkACQCABIAAoAqwCIgJJBEAgACgCqAIgAUEobGoiAUEMaiECQQghBAJAAkACQAJAIAEoAghBAmsOAgEABwsgAigCAEEBaw4CBAIBCyACKAIADQQLQQAhAiADQQhqIQQgA0EMaiEFIAEoAhAMBQsMAgsgASACQfT+yAAQhRMACyAAQRhqIQQgAEEcaiECIAEoAhAhAUEBDAMLIAFBEGohAkEMIQQLIAMgAigCADYCDCABQQhqIARqKAIAIQIgA0EEaiEEIANBCGohBUEBCyEBIAQgAjYCACAFIAE2AgAgAygCDCIBIABBHGoiAigCACIFTw0CIABBGGoiBCgCACABQfAAbGotAEgiAA0BIAMoAgQhASADKAIICwRAIAIoAgAiBSABTQ0CIAQoAgAgAUHwAGxqLQBIIgANAQtBASEACyADQRBqJAAgAA8LIAEgBUHk/sgAEIUTAAuUAwEEfyMAQbACayICJAAgASgCACEDIAJB8ABqIAFBBGoiBRD8CCACQQA2AmwgAiADNgJoIAJBCGoiAyACQegAakHgAPwKAAAgAkEAOgDPASACIAEoAgA2AtgBIAIgAkHPAWo2AtQBIAIgAzYC0AEgAkHoAWoiASACQdABahCOBgJAAkAgAigC6AFBfUcEQEGgAhCQASIDRQ0CIAMgAUHIAPwKAAAgAkEBNgLkASACIAM2AuABIAJBBDYC3AFByAAhBEEBIQEDQCACQegAaiACQdABahCOBiACKAJoQX1GRQRAIAIoAtwBIAFGBEAgAkHcAWogAUEBQQhByAAQsxEgAigC4AEhAwsgAyAEaiACQegAakHIAPwKAAAgAiABQQFqIgE2AuQBIARByABqIQQMAQsLIAAgAigC5AE2AgggACACKQLcATcCAAwBCyAAQQA2AgggAEKAgICAgAE3AgALIAUoAgAiASgCACEAIAEgAEEBazYCACAAQQFGBEAgBSgCABAwCyACQbACaiQADwtBCBCnFAAL8wICB38BfiMAQSBrIgIkACAAKAIIIQUgAEEANgIIAkACQCAFBEAgACgCECEEIAAoAhQiCCAAKAIMIgNGDQEgAiADKQIANwIIIAIgAkEIaq1CgICAgNABhDcDGAJAIAEoAgAiBiABKAIEIgdBrsjBACACQRhqELEJDQAgA0EIaiEBIAJBEGqtQoCAgIDQAYQhCQNAIAEgCEYNAyACIAEpAgA3AhAgACgCBCIDBEAgBiAAKAIAIAMgBygCDBEAAA0CCyACIAk3AxggAUEIaiEBIAYgB0GuyMEAIAJBGGoQsQlFDQALC0EBIQEMAgtBnLzEAEEiQcC8xAAQ6xMAC0EAIQELAkACQCAEBEAgBUEEaygCACIDQXhxIQAgACAEQQN0IgRBBEEIIANBA3EiAxtqSQ0BIANBAEcgACAEQSdqS3ENAiAFELwFCyACQSBqJAAgAQ8LQdCcyQBBLkGAnckAEK8UAAtBkJ3JAEEuQcCdyQAQrxQAC5EDAQN/AkACQAJAAkACQAJAAkACQAJAIAAoAgAiAQRAIAAoAgQiAiABQZgCaigCACIDTw0CIAAoAggiAyABQZQCaigCACACQSRsaiIBQSBqKAIAIgJPDQMgAUEcaigCACADQdQAbGoiASgCAEGAgICAeEcNBCAAKAIMIgAgASgCJCICSQ0BIAAgAkGkvsQAEIUTAAsgACgCCCIBIAAoAgQiACgCCCICTw0HIAAoAgQgAUHkAGxqIgIoAlQiASAAKAKYAiIDTw0EIAIoAlgiAyAAKAKUAiABQSRsaiIAQSBqKAIAIgFPDQUgAEEcaigCACADQdQAbGoiASgCAEGCgICAeEcNBiACKAJcIgAgASgCJCICTw0ICyABKAIgIABB3ABsai0AWEEBRg8LIAIgA0GUvsQAEIUTAAsgAyACQZS+xAAQhRMAC0GUvsQAEJ0VAAsgASADQdS4xAAQhRMACyADIAFB1LjEABCFEwALQdS4xAAQnRUACyABIAJB5PbIABCFEwALIAAgAkHkuMQAEIUTAAuRAwEDfwJAAkACQAJAAkACQAJAAkACQCAAKAIAIgEEQCAAKAIEIgIgAUGYAmooAgAiA08NAiAAKAIIIgMgAUGUAmooAgAgAkEkbGoiAUEgaigCACICTw0DIAFBHGooAgAgA0HUAGxqIgEoAgBBgICAgHhHDQQgACgCDCIAIAEoAiQiAkkNASAAIAJBpL7EABCFEwALIAAoAggiASAAKAIEIgAoAggiAk8NByAAKAIEIAFB5ABsaiICKAJUIgEgACgCmAIiA08NBCACKAJYIgMgACgClAIgAUEkbGoiAEEgaigCACIBTw0FIABBHGooAgAgA0HUAGxqIgEoAgBBgoCAgHhHDQYgAigCXCIAIAEoAiQiAk8NCAsgASgCICAAQdwAbGotAFhBAkYPCyACIANBlL7EABCFEwALIAMgAkGUvsQAEIUTAAtBlL7EABCdFQALIAEgA0HUuMQAEIUTAAsgAyABQdS4xAAQhRMAC0HUuMQAEJ0VAAsgASACQeT2yAAQhRMACyAAIAJB5LjEABCFEwAL1gIBB38jAEEQayIFJABBCiEDIAEiBEHoB08EQANAIAVBBmogA2oiBkEEayAEIgIgAkGQzgBuIgRBkM4AbGsiB0H//wNxQeQAbiIIQQF0LwCcmEk7AAAgBkECayAHIAhB5ABsa0H//wNxQQF0LwCcmEk7AAAgA0EEayEDIAJB/6ziBEsNAAsLAkAgBEEJTQRAIAQhAgwBCyADQQJrIgMgBUEGamogBCAEQf//A3FB5ABuIgJB5ABsa0H//wNxQQF0LwCcmEk7AAALAkACQAJAIAJFIAFBAEdxRQRAIAMgBWpBBWoiASACQQF0LQCdmEk6AABBCyADayECDAELQQogA2shAkEBIQQgA0EKRg0BIAVBBmogA2ohAQsgAhCQASIERQ0BIAJFDQAgBCABIAL8CgAACyAAIAI2AgggACAENgIEIAAgAjYCACAFQRBqJAAPC0EBEKcUAAv1AgEGfyMAQTBrIgMkACADQQA6AC4gA0EAOwEsIANBAjYCJCADQQhqIANBJGogASACEOUBIAAgAykCEDcCCCAAIAMpAgg3AgACQAJAAkACQAJAIAMoAhgiBEF/Rg0AIAMoAhwhASADKAIgIgIEQCABQdAAaiEAA0AgAEHMAGsQ8AIgAEEYaxCeBiAAQQRrKAIAIgYEQCAAKAIAIghBBGsoAgAiBUF4cSEHIAdBBEEIIAVBA3EiBRsgBmpJDQQgBUEARyAHIAZBJ2pLcQ0FIAgQvAULIABB2ABqIQAgAkEBayICDQALCyAERQ0AIAFBBGsoAgAiAkF4cSEAIAAgBEHYAGwiBEEEQQggAkEDcSICG2pJDQMgAkEARyAAIARBJ2pLcQ0EIAEQvAULIANBMGokAA8LQdCcyQBBLkGAnckAEK8UAAtBkJ3JAEEuQcCdyQAQrxQAC0HQnMkAQS5BgJ3JABCvFAALQZCdyQBBLkHAnckAEK8UAAuWAwIGfwF+IwBBsAFrIgIkAAJAAkACQAJAIAAoAgBFBEBBDBCQASIDRQ0BIANB34vGACgAADYACCADQdeLxgApAAA3AAACQCAAKAIEIgRBf0YNACAERQ0AIAAoAggiB0EEaygCACIFQXhxIQYgBkEEQQggBUEDcSIFGyAEakkNAyAFQQBHIAYgBEEnaktxDQQgBxC8BQsgAEEMNgIMIAAgAzYCCCAAQX82AgQgAkGCgICAeDYCWCACIAGtNwNQIAJCADcDSCACIAApAwg3AkAgAkEMNgI8IAJB+ABqIABBEGogAkE8aiACQcgAahCfBSACIAIpA6gBNwMwIAIgAikDoAE3AyggAiACKQOYATcDICACIAIpA5ABIgg3AxggAiACKQOIATcDECACIAIpA4ABNwMIIAinQX9HBEAgAkEIahD9CQtBACEADAQLIAJBCjYCeCACQfgAakEAQQAQxxMhAAwDC0EBEKcUAAtB0JzJAEEuQYCdyQAQrxQAC0GQnckAQS5BwJ3JABCvFAALIAJBsAFqJAAgAAviAgEJf0EEIQgCQAJAIAJFDQAgAkEEdCIJEJABIghFDQEgAiEKA0AgByAJRg0BAkACQAJAAkACQAJAAkAgASAHaiIEKAIAIgtBAWsOAwECBgALIARBDGooAgAiA0UNBCAEQQhqKAIAIQUgAxCQASIGRQ0CIANFBEAgAyEFDAYLIAYgBSAD/AoAACADIQUMBQsgBEEMaigCACIDRQ0DIARBCGooAgAhBSADEJABIgZFDQIgA0UEQCADIQUMBQsgBiAFIAP8CgAAIAMhBQwECyAEQQxqKAIAIQMgBEEIaigCACEGIARBBGooAgAhBQwDC0EBEKcUAAtBARCnFAALQQEhBkEAIQNBACEFCyAHIAhqIgQgCzYCACAEQQxqIAM2AgAgBEEIaiAGNgIAIARBBGogBTYCACAHQRBqIQcgCkEBayIKDQALCyAAIAI2AgggACAINgIEIAAgAjYCAA8LQQQQpxQAC/oCAQV/IwBBkAJrIgMkACACKAIEIQYgAigCACEHIANBCGoiBSACKAIIEL4HAkACQEHgABCQASICBEAgA0EANgLAASADIAI2ArwBIANBATYCuAFBsAEQkAEiBEUNASAEIAVBsAH8CgAAIAJBfjYCUCACIAQ2AgQgAkEDNgIAIANBATYCwAEgA0EBNgKIAiADIAMpArgBNwOAAiAFIAYQkAMgA0G4AWoiAiAHIAUgARChASAFQQRqIAJByAD8CgAAQeAAEJABIgFFDQIgAUEENgIAIAEgAykDgAI3AgQgASADKAKIAjYCDCABQX42AlBB4AAQkAEiBEUNAiAEQQE2AgAgBEEEaiAFQcwA/AoAACAEQX42AlBB4AAQkAEiAkUNAiACQX42AlAgAiAENgIMIAIgATYCCCACQouAgIDggICAgH83AwAgACACNgIEIABBAzYCACADQZACaiQADwtBCBCnFAALQbjwyQBBAToAAAALQbjwyQBBAToAAAAL7wIBBH8jAEEgayIEJAAgAkEDakECdiIGQQNsIQMCQAJAAkACQAJAIAZFBEBBASEFDAELIAMQkAEiBUUNASAFQQRrLQAAQQNxRQ0AIANFDQAgBUEAIAP8CwALIARBDGogASACIAUgAyACQQNxEJcBAkAgBCgCDEECRgRAIAQtABBB/wFGDQMgBgRAIAVBBGsoAgAiAkF4cSEBIAFBBEEIIAJBA3EiAhsgA2pJDQUgAkEARyABIANBJ2pLcQ0GIAUQvAULIABBEjYCFCAAQdKExwA2AhAgAEKUgICAcDcCCCAAQb6ExwA2AgQgAEF/NgIADAELIAQoAhQhASAAIAU2AgggACADNgIEIABBfjYCACAAIAMgASABIANLGzYCDAsgBEEgaiQADwtBARCnFAALIARC4IXHgNABNwMYQfGjwAAgBEEYakHohccAEL8TAAtB0JzJAEEuQYCdyQAQrxQAC0GQnckAQS5BwJ3JABCvFAALjwMCCH8BfiABKAIEIgVFBEAgAEGYqckAKQMANwIIIABBkKnJACkDADcCAA8LAkACQAJAAkAgBUEBaiICQf7///8DSw0AIAVBCWoiAyACQQJ0QQdqQXhxIgRqIQIgAiADSQ0AIAJB+P///wdLDQAgAg0BQQghAgwCC0H46MgAQTlBlOnIABC/EwALIAIQkAEiAkUNAQsgAiAEaiEGIAEoAgAhBCADBEAgBiAEIAP8CgAACyABKAIMIggEQCAEQQhqIQkgBCkDAEJ/hUKAgYKEiJCgwIB/gyEKIAghAiAEIQMDQCAKUARAA0AgCSIHQQhqIQkgA0EgayEDIAcpAwBCgIGChIiQoMCAf4MiCkKAgYKEiJCgwIB/UQ0ACyAKQoCBgoSIkKDAgH+FIQoLIAYgAyAKeqdBAXZBPHFrIgcgBGtqQQRrIAdBBGsoAgA2AgAgCkIBfSAKgyEKIAJBAWsiAg0ACwsgACAINgIMIAAgBTYCBCAAIAY2AgAgACABKAIINgIIDwtBuPDJAEEBOgAAAAumAwEDfwJAAkACQAJAAkACQCABRQRAQRIQkAEiA0UNBiADQa3zxwAvAAA7ABAgA0Gl88cAKQAANwAIIANBnfPHACkAADcAAEEMEJABIgFFDQNBCBCQASICDQEMBgtBGhCQASIDRQ0FIANBx/PHAC8AADsAGCADQb/zxwApAAA3ABAgA0G388cAKQAANwAIIANBr/PHACkAADcAAEEYEJABIgFFDQNBBhCQASICDQEMBQsgAkLK5r3z5qmdtuwANwAAIAFBCDYCCCABIAI2AgQgAUEINgIAQRIhAkEBIQQMAwsgAkHN88cALwAAOwAEIAJByfPHACgAADYAAEEIEJABIgRFDQMgBELK5r3z5qmdtuwANwAAIAFBCDYCFCABIAQ2AhAgAUKGgICAgAE3AgggASACNgIEIAFBBjYCAEEaIQJBAiEEDAILQbjwyQBBAToAAAALQbjwyQBBAToAAAALIABBADoAMCAAIAI2AhwgACADNgIYIAAgAjYCFCAAQTA6ABAgACAENgIMIAAgATYCCCAAIAQ2AgQgAEEANgIADwtBARCnFAAL8gIBBH8jAEEQayICJAAgAiAAKAIAIgM2AgwgASACQQxqQQQQlggCQAJAAkACQCADQQFrDgIBAgALIAAoAgghAyACIAAoAgwiADYCDCABIAJBDGpBBBCWCCAARQ0CIABBBXQhAANAIAMgARC5AiADQSBqIQMgAEEgayIADQALDAILIAIgACgCBCIFNgIMIAEgAkEMaiIDQQQQlgggACgCCCEEIAVBAUYEQCAAKAIMIQUgAiAENgIMIAEgA0EEEJYIIAIgBTYCDCABIANBBBCWCCACIAAoAhA2AgwgASADQQQQlggMAgsgAiAENgIMIAEgAkEMakEEEJYIDAELIAEgACgCECAAKAIUEJYIIAJB/wE6AAwgASACQQxqIgNBARCWCCACIAAoAgQiBDYCDCABIANBBBCWCCAEQQVHDQAgAEEEaiEDA0AgAiADKAIEIgMoAgAiADYCDCABIAJBDGpBBBCWCCAAQQVGDQALCyACQRBqJAAL8gIBBH8jAEEQayICJAAgAiAAKAIAIgM2AgwgASACQQxqQQQQlggCQAJAAkACQCADQQFrDgIBAgALIAAoAgghAyACIAAoAgwiADYCDCABIAJBDGpBBBCWCCAARQ0CIABBBXQhAANAIAMgARC6AiADQSBqIQMgAEEgayIADQALDAILIAIgACgCBCIFNgIMIAEgAkEMaiIDQQQQlgggACgCCCEEIAVBAUYEQCAAKAIMIQUgAiAENgIMIAEgA0EEEJYIIAIgBTYCDCABIANBBBCWCCACIAAoAhA2AgwgASADQQQQlggMAgsgAiAENgIMIAEgAkEMakEEEJYIDAELIAEgACgCECAAKAIUEJYIIAJB/wE6AAwgASACQQxqIgNBARCWCCACIAAoAgQiBDYCDCABIANBBBCWCCAEQQVHDQAgAEEEaiEDA0AgAiADKAIEIgMoAgAiADYCDCABIAJBDGpBBBCWCCAAQQVGDQALCyACQRBqJAAL8gIBBH8jAEEQayICJAAgAiAAKAIAIgM2AgwgASACQQxqQQQQlggCQAJAAkACQCADQQFrDgIBAgALIAAoAgghAyACIAAoAgwiADYCDCABIAJBDGpBBBCWCCAARQ0CIABBBXQhAANAIAMgARC7AiAD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KALMASACKALQARCLAQJAAkACQAJAAkACQAJAIAMpAwhCAlINACADKAJIQX9HDQAgAy0AbEEBcUUNAQsgA0HwAGogA0EIakHoAPwKAAAMAQsgAygCaCADIAJBqAFqNgLYASADQfAAaiADQQhqQegA/AoAAEUNAQsgAyACKAKoAUEIaiACKAKsARDRECADKAIEIgJBAEgNAgJAIAJFBEBBASEBDAELIAMoAgAhBCACEJABIgFFDQQgAkUNACABIAQgAvwKAAALIANB6AFqIANB8ABqQegA/AoAACAAIAI2AgggACABNgIEIAAgAjYCACAAQQxqIANB5AFqQewA/AoAAAwBCyAAQn83AxAgA0HwAGoQhQgLIANB0AJqJAAPCxCeFQALQQEQpxQAC7gCAQd/AkACQAJAAkACQCAAKAIAIgJBfkYNACACQX9GDQAgACgCBCEDIAAoAggiBQRAIAMhAANAIAAQzQECQCAAQdAAaigCACIBQX5GDQAgAUF/Rg0AIAFFDQAgAEHUAGooAgAiB0EEaygCACIEQXhxIQYgBkEEQQggBEEDcSIEGyABakkNBCAEQQBHIAYgAUEnaktxDQUgBxC8BQsgAEHgAGohACAFQQFrIgUNAAsLIAJFDQAgA0EEaygCACIBQXhxIQAgACACQeAAbCICQQRBCCABQQNxIgEbckkNAyABQQBHIAAgAkEnaktxDQQgAxC8BQsPC0HQnMkAQS5BgJ3JABCvFAALQZCdyQBBLkHAnckAEK8UAAtB0JzJAEEuQYCdyQAQrxQAC0GQnckAQS5BwJ3JABCvFAALtAIBBH8CQAJAAkACfyABQQhPBEAgAUH/////AU0EQEF/IAFBA3RBB25BAWtndiIDQf3///8DSw0DIANBAWoMAgtB+OjIAEE5QZTpyAAQvxMACyABQQRxQQRqCyIDQQJ0QQdqQXhxIgQgA0EIaiIFIARqIgJLDQAgAkH4////B0sNACACEJABIgJFBEBBuPDJAEEBOgAAAAsgAiAEaiEEIAUEQCAEQf8BIAX8CwALIAFB/////wBLDQEgAUEEdCICQf3///8HTw0BIAIQkAEiAkUNAiAAQQA2AhggACAENgIMIABBADYCCCAAIAI2AgQgACABNgIAIAAgA0EBayIBNgIQIAAgASADQQN2QQdsIANBCUkbNgIUDwtB+OjIAEE5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AAAhBQwBCyADQaGyyABBASAEEQAAIQULIAJBIGokACAFC7UCAQR/IwBBMGsiAiQAQQEhAwJAIAAoAgAiACgCAEEBRgRAIAIgAEEEajYCDCABKAIAIgBB55HJAEEEIAEoAgQiBSgCDCIEEQAADQECQCABLQAKQYABcUUEQCAAQbTPxQBBASAEEQAADQMgAkEMaiABEJ4QDQMgASgCACEAIAEoAgQoAgwhBAwBCyAAQZ3jwgBBAiAEEQAADQIgAkEBOgAfIAIgBTYCFCACIAA2AhAgAkGg68IANgIkIAIgASkCCDcCKCACIAJBH2o2AhggAiACQRBqNgIgIAJBDGogAkEgahCeEA0CIAIoAiBBpLLIAEECIAIoAiQoAgwRAAANAgsgAEGIkMkAQQEgBBEAACEDDAELIAEoAgBB65HJAEEEIAEoAgQoAgwRAAAhAwsgAkEwaiQAIAMLmgIBBH8jAEEgayIDJAACQCABLQCRAUECRw0AQQEhAgJAIAEoAgBBAUYEQCABKAIIIgUgASgCBCIETQ0CIAEgBEEBaiICNgIEIAIgBU8NASABIARBAmo2AgQLIAFBADoAkQEgA0EYaiABEJQKIAMoAhggAygCHCIBQQI6AJEBQQFxDQADQCABKAIAQQFGBEAgASgCBCICIAEoAghPDQIgASACQQFqNgIECwJAIAEtAJEBIgRFBEAgA0EIaiABEJQKIAMoAgwhASADKAIIIQIMAQsgAUEAOgCRASADQRBqIAEQlAogAygCECECIAMoAhQiASAEOgCRAQsgAkEBRw0ACwtBACECCyAAIAE2AgQgACACNgIAIANBIGokAAu7AgEDf0HAARCQASICBEACQEGwARCQASIBRQ0AIAFBADoArAEgAUEAOwGqASABQf8BOgCkASABQo+AgIBwNwJsIAFB1OPIADYCaCABQX82AmQgAUF+NgJYIAFBfDYCECABQX42AgBB4AAQkAEiA0UNACADQX42AlAgAyABNgIEIANBAzYCAEHIARCQASIBRQ0AIAFBfjYCuAEgASADNgIEIAFBEDYCACACQX42AlAgAiABNgIEIAJBBjYCACAAQQ82AsABIABB1OPIADYCvAEgAEF/NgK4ASAAQQI2AgwgACACNgIIIABCioCAgCA3AwAgAkF+NgKwASACQYSAgIB4NgKQASACQQA2AogBIAJC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ASgCKARAIANBGGogASAFELgFIAMoAhgiBA0BCwJAIAEoAiAiAkUNACABKAIkIQYDQCACIAZGDQEgASACQQxqIgQ2AiAgASACQQRqKAIAIgc2AiggASAHIAJBCGooAgBByABsajYCLCADQRBqIAEgBRC4BSAEIQIgAygCECIERQ0ACyADKAIUIQIMAgtBACEEIAFBADYCKCABQTBqIQICQCABKAIwBEAgA0EIaiABIAIQuAUgAygCCCIBDQELIAJBADYCAAwCCyADKAIMIQIgASEEDAELIAMoAhwhAgsgACACNgIEIAAgBDYCACADQSBqJAALtgIBBX8jAEEQayICJABBASEFAkAgASgCACIDQbb9xgBBECABKAIEIgYoAgwiBBEAAA0AIAEtAApBgAFxRQRAIANBl+PCAEEDIAQRAAANASADQcqjyQBBBCAEEQAADQEgA0GmssgAQQIgBBEAAA0BIANBjf7GAEHdkckAIAAtAAAiABtBDEEFIAAbIAQRAAANASADQe3qwgBBAiAEEQAAIQUMAQsgA0Ga48IAQQMgBBEAAA0AIAIgBjYCBCACIAM2AgAgAkEBOgAPIAIgAkEPajYCCCACQcqjyQBBBBD9CA0AIAJBprLIAEECEP0IDQAgAkGN/sYAQd2RyQAgAC0AACIAG0EMQQUgABsQ/QgNACACQaSyyABBAhD9CA0AIANBobLIAEEBIAQRAAAhBQsgAkEQaiQAIAUL6wEBA38CQAJAAkACQAJAAkAgAS0AAEEBaw4GAAUBBQUCBQtBASECAkAgASgCCCIDRSIEDQAgASgCBCEBIAMQkAEiAkUNAyAEDQAgAiABIAP8CgAACyAAIAM2AgggACACNgIEIABBAToAAA8LAkAgASgCCCICRQRAQQEhAQwBCyABKAIEIQMgAhCQASIBRQ0DIAJFDQAgASADIAL8CgAACyAAIAI2AgggACABNgIEIABBAzoAAA8LIABBBjoAAA8LQbjwyQBBAToAAAALQbjwyQBBAToAAAALIAAgASgCCDYCCCAAIAEpAgA3AgALoAIBBX8jAEEwayICJAAgAkEYaiABQZytyABBAxCKBgJAIAIoAhgiBEF+RwRAIAIoAiAhBSACKAIcIQYgAiACKAIsNgIQIAIgAikCJDcDCCABKAKEAiIBKAIIIQMgASgCACADRgRAIAEQvRIL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QQE6AAAACyAAIAQpAAk3AAkgACAEKQARNwARIAAgBCgAGDYAGCAAIAEpAgg3AkAgACABKQIANwI4IABBADoATCAAIAU2AkggAEECOgAgIAAgAjYCHCAAQQ46AAggAEEDOgAAIARBMGokAAubAgEDfyMAQTBrIgQkACAEIAIpABg3ACggBCACKQAQNwAgIAQgAikACDcAGCAEIAIpAAA3ABACQEEwEJABIgIEQCACQQg6AAAgAiAEKQAJNwABIAIgBCkAETcACSACIAQpABk3ABEgAiAEKQAhNwAZIAIgBCkAKDcAICABKAIQIgUoAgAhBiAFIAZBAWo2AgAgBCADKQAANwAMIAQgAykACDcAFCAGQQBODQEAC0G48MkAQQE6AAAACyAAIAQpAAk3AAkgACAEKQARNwARIAAgBCgAGDYAGCAAIAEpAgg3AkAgACABKQIANwI4IABBADoATCAAIAU2AkggAEECOgAgIAAgAjYCHCAAQQ46AAggAEEDOgAAIARBMGokAAubAgEDfyMAQTBrIgQkACAEIAIpABg3ACggBCACKQAQNwAgIAQgAikACDcAGCAEIAIpAAA3ABACQEEwEJABIgIEQCACQQk6AAAgAiAEKQAJNwABIAIgBCkAETcACSACIAQpABk3ABEgAiAEKQAhNwAZIAIgBCkAKDcAICABKAIQIgUoAgAhBiAFIAZBAWo2AgAgBCADKQAANwAMIAQgAykACDcAFCAGQQBODQEAC0G48MkAQQE6AAAACyAAIAQpAAk3AAkgACAEKQARNwARIAAgBCgAGDYAGCAAIAEpAgg3AkAgACABKQIANwI4IABBADoATCAAIAU2AkggAEECOgAgIAAgAjYCHCAAQQ46AAggAEEDOgAAIARBMGokAAubAgEDfyMAQTBrIgQkACAEIAIpABg3ACggBCACKQAQNwAgIAQgAikACDcAGCAEIAIpAAA3ABACQEEwEJABIgIEQCACQQo6AAAgAiAEKQAJNwABIAIgBCkAETcACSACIAQpABk3ABEgAiAEKQAhNwAZIAIgBCkAKDcAICABKAIQIgUoAgAhBiAFIAZBAWo2AgAgBCADKQAANwAMIAQgAykACDcAFCAGQQBODQEAC0G48MkAQQE6AAAACyAAIAQpAAk3AAkgACAEKQARNwARIAAgBCgAGDYAGCAAIAEpAgg3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gIAgcUUEQCACIAA2AgwgAiAENwMYIAIgAkEMaq1CgICAgLAlhDcDECABKAIAIAEoAgRB4s3GACACQRBqELEJDAILIAIgADYCDCACIAQ3AxggAiACQQxqrUKAgICAwCWENwMQIAEoAgAgASgCBEHqzcYAIAJBEGoQsQkMAQsgAiAANgIMIAIgBDcDGCACIAJBDGqtQoCAgIDAJYQ3AxAgASgCACABKAIEQfLNxgAgAkEQahCxCQsgAkEgaiQAC/8BAQN/IwBBEGsiBCQAIAEoAgQhAwJAAkACQAJAIAACfyABKAIAQQFGBEAgAigCmAIiBSADTQ0CIAEoAggiBSACKAKUAiADQSRsaiICQSBqKAIAIgNPDQMgAkEcaigCACAFQdQAbGoiAigCAEGAgICAeEcNBCABKAIMIgEgAigCJCIDTw0FIAIoAiAgAUHcAGxqIgIoAiQhASACKAIgDAELIARBCGogAiADENAQIAQoAgwhASAEKAIICzYCACAAIAE2AgQgBEEQaiQADwsgAyAFQZS+xAAQhRMACyAFIANBlL7EABCFEwALQZS+xAAQnRUACyABIANBpL7EABCFEwALkQIBA38jAEEQayICJAACQCABKAIAIgNBf0YNAAJAAkACQAJ/AkACQAJAAkACQEEVIANBgICAgHhzIANBAE4bQQxrDgQAAQIDCQsgASgCCCEEIAEoAgwMBAsgASgCBCEEIAEoAggMAwsgAkEEaiABKAIIIAEoAgwQlwggAigCBEUNAQwGCyACQQRqIAEoAgQgASgCCBCXCCACKAIEDQULIAIoAgghBCACKAIMCyIDQQRrDgIAAQMLIAQoAABB9PLBqwZGDQEMAgtB4+PIACAEIAMQjxMNAQsgACABKQMYNwMYIAAgASkDEDcDECAAIAEpAwg3AwggACABKQMANwMAIAEhAAsgAEF/NgIAIAJBEGokAAv1AQEEfyMAQSBrIgIkACABKAIEIQMgASgCACEBAn8CQAJAAkAgACgCACIAKAIwIgRB9////wdqIgVBACAEIAVPG0EBaw4CAQIACyACIAA2AgwgAiACQQxqrUKAgICAwCyENwMQIAEgA0G/mMAAIAJBEGoQsQkMAgsgAiAANgIMIAIgAkEMaq1CgICAgNAshDcDECABIANB6afAACACQRBqELEJDAELIAIgADYCCCACIABB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IAFBBGogAyAAKAIEIAJBBEEgEKURIAEoAgRBAUYEQCABKAIIIAEoAgwhBRCnFAALIAEoAgghAyAAIAI2AgAgACADNgIEIAFBEGokAAtvAQV/IwBBEGsiASQAQQQgACgCACIDQQF0IgIgAkEETRshAiABQQRqIAMgACgCBCACQQRBDBClESABKAIEQQFGBEAgASgCCCABKAIMIQUQpxQACyABKAIIIQMgACACNgIAIAAgAzYCBCABQRBqJAALcAEFfyMAQRBrIgEkAEEEIAAoAgAiA0EBdCICIAJBBE0bIQIgAUEEaiADIAAoAgQgAkEIQagCEKURIAEoAgRBAUYEQCABKAIIIAEoAgwhBRCnFAALIAEoAgghAyAAIAI2AgAgACADNgIEIAFBEGokAAtvAQV/IwBBEGsiASQAQQQgACgCACIDQQF0IgIgAkEETRshAiABQQRqIAMgACgCBCACQQRBHBClESABKAIEQQFGBEAgASgCCCABKAIMIQUQpxQACyABKAIIIQMgACACNgIAIAAgAzYCBCABQRBqJAALbwEFfyMAQRBrIgEkAEEEIAAoAgAiA0EBdCICIAJBBE0bIQIgAUEEaiADIAAoAgQgAkEEQTwQpREgASgCBEEBRgRAIAEoAgggASgCDCEFEKcUAAsgASgCCCEDIAAgAjYCACAAIAM2AgQgAUEQaiQAC28BBX8jAEEQayIBJABBCCAAKAIAIgNBAXQiAiACQQhNGyECIAFBBGogAyAAKAIEIAJBAUEBEKURIAEoAgRBAUYEQCABKAIIIAEoAgwhBRCnFAALIAEoAgghAyAAIAI2AgAgACADNgIEIAFBEGokAAttACMAQRBrIgAkACAAIAE2AgAgACACNgIEAkAgAkEGRgRAIAEoAABB0+jJywZzIAFBBGovAABB7s4Bc3JFDQELIAAgAK1CgICAgNABhDcDCEGDx8EAIABBCGpB+MPFABC/EwALIABBEGokAEEHC3ABBX8jAEEQayIBJABBBCAAKAIAIgNBAXQiAiACQQRNGyECIAFBBGogAyAAKAIEIAJBCEHgABClESABKAIEQQFGBEAgASgCCCABKAIMIQUQpxQACyABKAIIIQMgACACNgIAIAAgAzYCBCABQRBqJAALcAEFfyMAQRBrIgEkAEEEIAAoAgAiA0EBdCICIAJBBE0bIQIgAUEEaiADIAAoAgQgAkEIQegAEKURIAEoAgRBAUYEQCABKAIIIAEoAgwhBRCnFAALIAEoAgghAyAAIAI2AgAgACADNgIEIAFBEGokAAtwAQV/IwBBEGsiASQAQQQgACgCACIDQQF0IgIgAkEETRshAiABQQRqIAMgACgCBCACQQhB8AAQpREgASgCBEEBRgRAIAEoAgggASgCDCEFEKcUAAsgASgCCCEDIAAgAjYCACAAIAM2AgQgAUEQaiQAC28BBX8jAEEQayIBJABBBCAAKAIAIgNBAXQiAiACQQRNGyECIAFBBGogAyAAKAIEIAJBBEEwEKURIAEoAgRBAUYEQCABKAIIIAEoAgwhBRCnFAALIAEoAgghAyAAIAI2AgAgACADNgIEIAFBEGokAAtwAQV/IwBBEGsiASQAQQQgACgCACIDQQF0IgIgAkEETRshAiABQQRqIAMgACgCBCACQQhByAAQpREgASgCBEEBRgRAIAEoAgggASgCDCEFEKcUAAsgASgCCCEDIAAgAjYCACAAIAM2AgQgAUEQaiQAC3ABBX8jAEEQayIBJABBBCAAKAIAIgNBAXQiAiACQQRNGyECIAFBBGogAyAAKAIEIAJBCEHQABClESABKAIEQQFGBEAgASgCCCABKAIMIQUQpxQACyABKAIIIQMgACACNgIAIAAgAzYCBCABQRBqJAALcAEFfyMAQRBrIgEkAEEEIAAoAgAiA0EBdCICIAJBBE0bIQIgAUEEaiADIAAoAgQgAkEEQcwAEKURIAEoAgRBAUYEQCABKAIIIAEoAgwhBRCnFAALIAEoAgghAyAAIAI2AgAgACADNgIEIAFBEGokAAtwAQV/IwBBEGsiASQAQQQgACgCACIDQQF0IgIgAkEETRshAiABQQRqIAMgACgCBCACQQRB2AAQpREgASgCBEEBRgRAIAEoAgggASgCDCEFEKcUAAsgASgCCCEDIAAgAjYCACAAIAM2AgQgAUEQaiQAC28BBX8jAEEQayIBJABBBCAAKAIAIgNBAXQiAiACQQRNGyECIAFBBGogAyAAKAIEIAJBCEE4EKURIAEoAgRBAUYEQCABKAIIIAEoAgwhBRCnFAALIAEoAgghAyAAIAI2AgAgACADNgIEIAFBEGokAAtwAQV/IwBBEGsiASQAQQQgACgCACIDQQF0IgIgAkEETRshAiABQQRqIAMgACgCBCACQQhB2AAQpREgASgCBEEBRgRAIAEoAgggASgCDCEFEKcUAAsgASgCCCEDIAAgAjYCACAAIAM2AgQgAUEQaiQAC3ABBX8jAEEQayIBJABBBCAAKAIAIgNBAXQiAiACQQRNGyECIAFBBGogAyAAKAIEIAJBCEHIAhClESABKAIEQQFGBEAgASgCCCABKAIMIQUQpxQACyABKAIIIQMgACACNgIAIAAgAzYCBCABQRBqJAALcAEFfyMAQRBrIgEkAEEEIAAoAgAiA0EBdCICIAJBBE0bIQIgAUEEaiADIAAoAgQgAkEIQcgBEKURIAEoAgRBAUYEQCABKAIIIAEoAgwhBRCnFAALIAEoAgghAyAAIAI2AgAgACADNgIEIAFBEGokAAtvAQV/IwBBEGsiASQAQQQgACgCACIDQQF0IgIgAkEETRshAiABQQRqIAMgACgCBCACQQhBIBClESABKAIEQQFGBEAgASgCCCABKAIMIQUQpxQACyABKAIIIQMgACACNgIAIAAgAzYCBCABQRBqJAALfQMBfwF+AXwjAEEQayIDJAACQAJAAkACQCAAKAIAQQFrDgIBAgALIAArAwghBSADQQM6AAAgAyAFOQMIDAILIAApAwghBCADQQE6AAAgAyAENwMIDAELIAApAwghBCADQQI6AAAgAyAENwMICyADIAEgAhDUESADQRBqJAALaQEDfyMAQRBrIgIkAAJAIAEoAgAiBCgCAEEBRw0AIAQtAARBA0cNACACQQhqIARBCGooAgAiASgCACABKAIEKAIYEQIAIAIoAgwhASACKAIIIQMLIAAgATYCBCAAIAM2AgAgAkEQaiQAC28BBX8jAEEQayIBJABBBCAAKAIAIgNBAXQiAiACQQRNGyECIAFBBGogAyAAKAIEIAJBCEEQEKURIAEoAgRBAUYEQCABKAIIIAEoAgwhBRCnFAALIAEoAgghAyAAIAI2AgAgACADNgIEIAFBEGokAAtwAQV/IwBBEGsiASQAQQQgACgCACIDQQF0IgIgAkEETRshAiABQQRqIAMgACgCBCACQQRB4AAQpREgASgCBEEBRgRAIAEoAgggASgCDCEFEKcUAAsgASgCCCEDIAAgAjYCACAAIAM2AgQgAUEQaiQAC28BBX8jAEEQayIBJABBBCAAKAIAIgNBAXQiAiAC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f0EBIQICQCABQQFxBEACQCABQQF2IgFFIgMNACABEJABIgJFDQIgAw0AIAJBtZTCACAB/AoAAAsgACABNgIIIAAgAjYCBCAAIAE2AgAPCyAAQbWUwgAgARC4DA8LQQEQpxQAC2ABAn9BASEDAkAgAkEBcQRAAkAgAkEBdiICRSIEDQAgAhCQASIDRQ0CIAQNACADIAEgAvwKAAALIAAgAjYCCCAAIAM2AgQgACACNgIADwsgACABIAIQuAwPC0EBEKcUAAtiAQF+IwBBEGsiACQAAkACQCABKQMAIgJCBVMNACACQv////8Pg0IFUg0AIAEoAghBf0YNAQsgAEKI4MaA0AE3AwhBz63AACAAQQhqQZDgxgAQvxMACyAAQRBqJAAgAUEMagtiAQF+IwBBEGsiACQAAkACQCABKQMAIgJCBVMNACACQv////8Pg0IFUg0AIAEoAghBf0cNAQsgAEKM38aA0AE3AwhBz63AACAAQQhqQZTfxgAQvxMACyAAQRBqJAAgAUEQagtmAQJ/QQEhAgJAIAFBAXEEQAJAIAFBAXYiAUUiAw0AIAEQkAEiAkUNAiADDQAgAkHPrcAAIAH8CgAACyAAIAE2AgggACACNgIEIAAgATYCAA8LIABBz63AACABELgMDwtBARCnFAALXAEBfyMAQSBrIgMkACADIAI2AgwgAyABNgIIIAMgADYCBCADIANBCGqtQoCAgICQA4Q3AxggAyADQQRqrUKAgICAgAGENwMQQe2OwAAgA0EQahDcESADQSBqJAALXAEDfyAAIAEgACgCDCAAKAIEIgJrQbABbiIEIAEgBEkbIgNBsAFsIAJqNgIEIAMEQCADIQADQCACEJcEIAJBsAFqIQIgAEEBayIADQALCyABIANrQQAgASAESxsLfAEBfwJAAkAgAEGEAU8EQCAA0G8mAUHU8MkAKAIADQJB5PDJACgCACIBIABLDQEgACABayIAQdzwyQAoAgBPDQFBxOzJACgCACAAQQJ0akHg8MkAKAIANgIAQeDwyQAgADYCAEHU8MkAQQA2AgALDwsAC0HkvMkAENITAAtnAQJ/AkAgAiABKAIcIgNJBEAgASgCGCACQfAAbGoiAigCXCEDIAIoAlghAiABIAEoAgAiBEEBajYCACAEQQBODQEACyACIANB5P7IABCFEwALIAAgAzYCCCAAIAI2AgQgACABNgIAC2IBAX8jAEEQayICJAACfyAAKAIAQQFGBEAgASgCAEHBrMgAQRAgASgCBCgCDBEAAAwBCyACIACtQoCAgICAAYQ3AwggASgCACABKAIEQaS9wQAgAkEIahCxCQsgAkEQaiQAC2IBAX8jAEEQayICJAACfyAAKAIAQQFGBEAgASgCAEHRrMgAQRUgASgCBCgCDBEAAAwBCyACIACtQoCAgICAAYQ3AwggASgCACABKAIEQZXBwQAgAkEIahCxCQsgAkEQaiQAC1oBAn8jAEEQayIEJAAgAxCQASIFBEAgAwRAIAUgAiAD/AoAAAsgBCADNgIMIAQgBTYCCCAEIAM2AgQgASAEQQRqEPwNIABBfjYCACAEQRBqJAAPC0EBEKcUAAt9AQF/QSwQkAEiAkUEQEG48MkAQQE6AAAACyAAQZiHxgA2AhQgACACNgIQIABCgICAgBA3AgggAEKAgICAEDcCACACIAEoAig2AiggAiABKQIgNwIgIAIgASkCGDcCGCACIAEpAhA3AhAgAiABKQIINwIIIAIgASkCADcCAAtfAQJ/AkAgAEEEaygCACICQXhxIgNBBEEIIAJBA3EiAhsgAWpPBEAgAkEARyADIAFBJ2pLcQ0BIAAQvAUPC0HQnMkAQS5BgJ3JABCvFAALQZCdyQBBLkHAnckAEK8UAAtcAQF/IwBBIGsiBSQAIAUgATYCBCAFIAA2AgAgBSADNgIMIAUgAjYCCCAFIAVBCGqtQoCAgICgAYQ3AxggBSAFrUKAgICAsAGENwMQQc2qwAAgBUEQaiAEEL8TAAtqAQF/IwBBEGsiAyQAIANBBGogASACEMYEQQgQkAEiAUUEQEEBEKcUAAsgAULQ3s2j98zcsvMANwAAIAAgAykCBDcCACAAIAMoAgw2AgggAEEINgIUIAAgATYCECAAQQg2AgwgA0EQaiQAC2oBAX8jAEEQayICJAAgAiAAKAIAIgBB0ABqNgIMIAFBoOjFAEEGQaboxQBBBSAAQd0BQavoxQBBCiAAQTRqQd4BQbXoxQBBCSAAQcQAakHfAUHxqMgAQQcgAkEMakHgARC7ECACQRBqJAALagEBfyMAQRBrIgIkACACIAAoAgAiAEGQAWo2AgwgAUGg68UAQQVBpujFAEEFIABB3QFBpevFAEEFIABBNGpB5AFBquvFAEEQIABBnAFqQeUBQbXoxQBBCSACQQxqQeYBELsQIAJBEGokAAtXAQJ/IAEoAgAhAwJAIAAoAgBBAUYEQCADRQ0BIAAoAgggASgCCEcNASAAKAIMIAEoAgxGDwsgAw0AIAAoAgggASgCCEcNACAAKAIMIAEoAgxGIQILIAILbQEBfwJAQeAAEJABIgUEQCAFIAFB4AD8CgAAQeAAEJABIgFFDQEgASAEQeAA/AoAACAAIAE2AhAgACADNgIIIAAgAjYCBCAAQX82AgAgACAFNgIMDwtBuPDJAEEBOgAAAAtBuPDJAEEBOgAAAAtfAQN/IwBBEGsiAiQAAkAgASgCACIEQQVGBEBBCBCQASIDRQ0BIAJBCGogASgCBBDgEiADIAIpAwg3AgALIAAgAzYCBCAAIAQ2AgAgAkEQaiQADwtBuPDJAEEBOgAAAAtfAQN/IwBBEGsiAiQAAkAgASgCACIEQQJGBEBBCBCQASIDRQ0BIAJBCGogASgCBBDhEiADIAIpAwg3AgALIAAgAzYCBCAAIAQ2AgAgAkEQaiQADwtBuPDJAEEBOgAAAAtRAQJ/IwBBEGsiAiQAIAEQkAEiAwRAIAEEQCADIAAgAfwKAAALIAIgATYCDCACIAM2AgggAiABNgIEIAJBBGoQ9gIgAkEQaiQADwtBARCnFAALZAEBfyMAQRBrIgIkACACIABBMGo2AgwgAUHo68QAQRlBgezEAEEKIABBywBBi+zEAEERIABBEGpB5ABBoJzIAEEJIABB0ABqQeUAQdGQyQBBBCACQQxqQeYAELsQIAJBEGokAAt7AQJ/QQghAgJAAn8CQAJAAkACQCABKAIAQQJrDhYBAwUDAwMFBQEBAAMDAwMFAQIFBQUDBQsgASgCFAwDCyABKAIMIQMgASgCCCECDAMLIAEoAnAhAyABKAJsIQIMAgsgASgCBAshAkEBIQMLIAAgAzYCBCAAIAI2AgALYAECfyAAENELIABBBGsoAgAiAUF4cSECAkBBEEEUIAFBA3EiARsgAk0EQCABQQBHIAJBNE9xDQEgABC8BQ8LQdCcyQBBLkGAnckAEK8UAAtBkJ3JAEEuQcCdyQAQrxQAC2ABAn8gABCnCyAAQQRrKAIAIgFBeHEhAgJAQRBBFCABQQNxIgEbIAJNBEAgAUEARyACQTRPcQ0BIAAQvAUPC0HQnMkAQS5BgJ3JABCvFAALQZCdyQBBLkHAnckAEK8UAAtjAQF/IwBBEGsiAiQAIAIgAEEQajYCDCABQYP3xQBBBUGI8sUAQQMgAEHnAUGQxMYAQQUgAEEcakHoAUHu98UAQQggAEEoakHoAUH298UAQREgAkEMakHpARC7ECACQRBqJAALZQEBfyMAQRBrIgIkACACIABBNGo2AgwgAUHd7sUAQQVB4u7FAEEKIABB0ABqQdsBQYDpxQBBByAAQcQAakHqAUHs7sUAQQggAEHdAUH07sUAQQ0gAkEMakHrARC7ECACQRBqJAALUwEBfiMAQRBrIgAkACABKQMAIgJCBVkgAkL/////D4NCBlFxRQRAIABC6N3GgNABNwMIQc+twAAgAEEIakHw3cYAEL8TAAsgAEEQaiQAIAFBGGoLUwEBfiMAQRBrIgAkACABKQMAIgJCBVkgAkL/////D4NCBlFxRQRAIABC9NrGgNABNwMIQc+twAAgAEEIakH82sYAEL8TAAsgAEEQaiQAIAFBDGoLUgEBfyMAQSBrIgMkACADIAI2AgwgAyABNgIIIAMgA0EIaq1CgICAgJADhDcDGCADIACtQoCAgICgA4Q3AxBBjI/AACADQRBqENwRIANBIGokAAtqAEHgABCQASIBRQRAQbjwyQBBAToAAAALIAFBADoAXCABQQA2AlggAUEAOgBUIAFBggQ7ARwgAUEFNgIYIAFBj/DHADYCFCABQX82AhAgAUECNgIAIABBATYCCCAAIAE2AgQgAEEBNgIAC1IBAX8jAEEgayIDJAAgAyACNgIMIAMgATYCCCADIANBCGqtQoCAgICQA4Q3AxggAyAArUKAgICAoAOENwMQQauPwAAgA0EQahDKDyADQSBqJAALagEBfyMAQbABayICJAAgAiABKAIAIAEoAgQoAgwRAgACQCACKAJwQX5HBEAgACACQawB/AoAACAAQQE6AKwBIAAgAi0ArwE6AK8BIAAgAi8ArQE7AK0BDAELIABBfjYCcAsgAkGwAWokAAtpAQJ/IwBBEGsiAiQAIAJCADcCCCACQoCAgICAATcCACABKAJIIQMgAhCqEiACKAIEIAFB0AD8CgAAIAAgAikCADcCACACQQE2AgggAiADIAIoAgxqNgIMIAAgAikCCDcCCCACQRBqJAALWQEBfwJAAkAgACgCACAA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ASABQX42ApABIAFBADsBjAEgAUEFNgKIASABIAQ2AoQBIAFBBTYCgAEgAUIENwN4IAFCATcDcCABIAc2AmwgAUEBNgJoIAFBfjYCSCABQQE7AUQgAUEENgJAIAEgCDYCPCABQoCAgIDAADcCNCABQoCAgIDAADcCLCAAQQM2AgggACABNgIEIABBAzYCACAFIAUoAgAiAEEBazYCACAAQQFGBEAgAygCABAwCyACQYABaiQADAQLQQEQpxQACwwDCwALQQEQpxQACyADQRBqJAAPC0G48MkAQQE6AAAACy4AAn8gACkDAEIBUQRAQQEgACkDCCABUg0BGgsgACABNwMIIABCATcDAEH/AQsLOQAgACgCACIAKAIAQX9HBEAgASAAKAIEIAAoAggQnQQPCyABKAIAQZ/PxQBBDyABKAIEKAIMEQAACy8AAkAgA2lBAUcNACABQYCAgIB4IANrSw0AIAAgASADIAIQrQYiAEUNACAADwsACzsBAX9ByAEQkAEiAkUEQEG48MkAQQE6AAAACyACIAFByAH8CgAAIABBfjYCUCAAIAI2AgQgAEEGNgIACzsBAX9BsAEQkAEiAkUEQEG48MkAQQE6AAAACyACIAFBsAH8CgAAIABBfjYCUCAAIAI2AgQgAEEDNgIACy4BAn8CQCAAKAIwIgJBAkYNACACQQFxDQAgACgCQEEIaiAAKAI0EIQJIQELIAELPAEBf0HgABCQASICRQRAQbjwyQBBAToAAAALIAIgAUHgAPwKAAAgAEF+NgK4ASAAIAI2AgQgAEEGNgIACy0BAX8jAEEQayIBJAAgASABQQ9qrUKAgICAkASENwMAQc+twAAgASAAEL8TAAswAQF/IwBBEGsiACQAIAAgAEEPaq1CgICAgMAHhDcDAEHPrcAAIABBlIzGABC/EwALKwBBACEAIAJBBUYEfyABKAAAQeXawaMHcyABQQRqLQAAQfkAc3IFQQELRQsvAQJ/IAFBDGwiAhCQASIDRQRAQQQQpxQACyAAQQA2AgggACADNgIEIAAgATYCAAswACAAIAEgAhCiCiABKAIAIgIoAgAhACACIABBAWs2AgAgAEEBRgRAIAEoAgAQMAsLMAAgACABIAIQ6gggASgCACICKAIAIQAgAiAAQQFrNgIAIABBAUYEQCABKAIAEDALCzAAIAAgASACEKMKIAEoAgAiAigCACEAIAIgAEEBazYCACAAQQFGBEAgASgCABAwCwswACAAIAEgAhC/CSABKAIAIgIoAgAhACACIABBAWs2AgAgAEEBRgRAIAEoAgAQMAsLMAAgACABIAIQtAkgASgCACICKAIAIQAgAiAAQQFrNgIAIABBAUYEQCABKAIAEDALCzAAIAAgASACEMAJIAEoAgAiAigCACEAIAIgAEEBazYCACAAQQFGBEAgASgCABAwCwswACAAIAEgAhCqCyABKAIAIgIoAgAhACACIABBAWs2AgAgAEEBRgRAIAEoAgAQMAsLMAAgACABIAIQtQkgASgCACICKAIAIQAgAiAAQQFrNgIAIABBAUYEQCABKAIAEDALCzAAIAAgASACEMEJIAEoAgAiAigCACEAIAIgAEEBazYCACAAQQFGBEAgASgCABAwCwswACAAIAEgAhC2CSABKAIAIgIoAgAhACACIABBAWs2AgAgAEEBRgRAIAEoAgAQMAsLMAAgACABIAIQtwkgASgCACICKAIAIQAgAiAAQQFrNgIAIABBAUYEQCABKAIAEDALCzAAIAAgASACEM8HIAEoAgAiAigCACEAIAIgAEEBazYCACAAQQFGBEAgASgCABAwCwswACAAIAEgAhDQByABKAIAIgIoAgAhACACIABBAWs2AgAgAEEBRgRAIAEoAgAQMAsLMAAgACABIAIQwgkgASgCACICKAIAIQAgAiAAQQFrNgIAIABBAUYEQCABKAIAEDALCzAAIAAgASACEMMJIAEoAgAiAigCACEAIAIgAEEBazYCACAAQQFGBEAgASgCABAwCwswACAAIAEgAhDsCCABKAIAIgIoAgAhACACIABBAWs2AgAgAEEBRgRAIAEoAgAQMAsLMgEBfyABKAIEIgIgASgCDEcEQCABIAJBsAFqNgIEIAAgAkGwAfwKAAAPCyAAQX42AnALKQAgAQRAA0AgABCBBSAAQcgBahCHBCAAQegBaiEAIAFBAWsiAQ0ACwsLKQEBfyMAQRBrIgMkACADIAAQ6wwgAyABIAIQ1BEgABCICCADQRBqJAALn5sBAjp/CX4jAEEQayI7JAAgASEpIAIhHyMAQbAIayIEJAACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkAgACIgBEAg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RQ0AIAMoAvgCIAMoAvACRg0AIANBiANqIQlBAAwBCyADQagEaiEJIAELIQAgCSAANgIAIAFB8bicDk8NDQJAQQMgASABQQNNG0EBaiIFQcgAbCIARQRAQQghCUEAIQUMAQsgABCQASIJRQ0mC0HIACEIIAkgA0GQAWpByAD8CgAAQQEhACADQQE2AsAFIAMgCTYCvAUgAyAFNgK4BSADIAMoAvwCNgLYBCADIAMpAvQCNwPQBCADIAMpAuwCNwPIBCADIAMpAuQCNwPABCADIAMpAtwCNwO4BCADIAMpAtQCNwOwBCADIAMpAswCNwOoBANAIANBiANqIANBqARqEPkBIAMoApgDQX9HBEAgAygCuAUgAEYEQCADKAKoBAR/IAMoArQEIAMoAqwEa0HIAG4FQQALIAMoArgEBH8gAygCxAQgAygCvARrQcgAbgVBAAtqIQICfwJAIAMoAsgERQ0AIAMoAtQEIAMoAswERg0AIANBiAVqIQ9BAAwBCyADQegEaiEPIAILIQEgDyABNgIAIANBuAVqIAAgAkEBakEIQcgAELMRIAMoArwFIQkLIAggCWogA0GIA2pByAD8CgAAIAMgAEEBaiIANgLABSAIQcgAaiEIDAELCyADQagEahDcBiADKAK4BQwBCyADQcwCahDcBkEIIQlBACEAQQALIQIgHSANQQxsaiIBIAA2AgggASAJNgIEIAEgAjYCACAaIA1BAWoiDUcNAAsgHSAmaiE5IAMCfkHQ8MkALQAABEBByPDJACkDACE+QcDwyQApAwAMAQsgA0GIA2oQuxFB0PDJAEEBOgAAQcjwyQAgAykDkAMiPjcDACADKQOIAwsiPTcDgAJBACEAQcDwyQAgPUIBfDcDACADIDk2AuwBIAMgHTYC6AEgA0EANgK8ASADQQA2ApABIAMgPjcDiAIgA0GQqckAKQMANwPwASADQZipyQApAwA3A/gBIANBzAJqIANBkAFqENANAn8gAygCzAJBf0cEQEEBIQhBASEJIAMoApABQQFGBEAgAygCtAEiAEUgAygCuAEgAEZyIQkgAygClAEEfyADKAKgASADKAKYAWtBDG4FQQALIAMoAqQBBH8gAygCsAEgAygCqAFrQQxuBUEAC2ohAAtBACENIAMoArwBQQFGBEAgAygCwAEEfyADKALMASADKALEAWtBDG4FQQALIAMoAtABBH8gAygC3AEgAygC1AFrQQxuBUEAC2pBACADKALgASIBRSADKALkASABRnIiCBshDQsCfwJAIAMoAugBIgEEQCADKALsASABRiAIcSAJcQ0BIANBiANqIQhBAAwCCyAIIAlxQQFGDQAgA0GIA2ohCEEADAELIANBqARqIQggACANagshACAIIAA2AgBBMBCQASIJRQ0jIAkgAygC1AI2AgggCSADKQLMAjcCACADQQE2AsAFIAMgCTYCvAUgA0EENgK4BSADQYgDaiADQZABakGAAfwKAABBDCEAQQEhJwNAIANBqARqIANBiANqENANIAMoAqgEQX9HBEAgAygCuAUgJ0YEQEEBIQlBACEFQQAhD0EBIQ1BACEIIAMoAogDQQFGBEAgAygCrAMiAUUgAygCsAMgAUZyIQ0gAygCjAMEfyADKAKYAyADKAKQA2tBDG4FQQALIAMoApwDBH8gAygCqAMgAygCoANrQQxuBUEAC2oiDyEICyADKAK0A0EBRgRAIAMoArgDBH8gAygCxAMgAygCvANrQQxuBUEACyADKALIAwR/IAMoAtQDIAMoAswDa0EMbgVBAAtqIgJBACADKALYAyIBRSADKALcAyABRnIiCRshBSACIAhyIQgLAn8CQCADKALgAyIBBEAgAygC5AMgAUYgCXEgDXENAUEAIQkgA0GIBWoMAgsgCSANcUEBRg0AQQAhCSADQYgFagwBCyAFIA9qIQkgA0HoBGoLIAk2AgAgA0G4BWogJ0EBQQIgAygC9AMbQQEgCBtBBEEMELMRIAMoArwFIQkLIAAgCWoiASADKAKwBDYCCCABIAMpAqgENwIAIAMgJ0EBaiInNgLABSAAQQxqIQAMAQsLIANBiANqEIkMIAMoArwFITogAygCuAUMAQsgA0GQAWoQiQxBBCE6QQALISsgA0GIA2ogECgCBCAQKAIIQeT+xwBBCBDHBSADQRhqIAMoAowDIgYgAygCkAMQtAYCQCADKAIcIgFFBEBBASEIDAELIAMoAhghACABEJABIghFDSQgAUUNACAIIAAgAfwKAAALIANBfzYC8AIgAyABNgLUAiADIAg2AtACIAMgATYCzAIgA0F/NgL8AiADQgQ3AugCIANCADcC4AIgA0KAgICAgAE3AtgCIAMoAogDIgIEQCAGQQRrKAIAIgBB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AnZBAnFqIQYgAUUgEHIhEAwBCyADIAJB/wFxIgNqIQYgASADaiEBCyAGLQAAIgINAAsgECABQRBJcQ0CAkAgAUEBdCICQQBOBEAgAkUNBCACEJABIgZFDQEMBQsQnhUACwwkCyABIANB7LbEABCFEwALIAEgA0HstsQAEIUTAAtBASEGQQAhAgtBACEDIAtBADYCmAEgCyAGNgKUASALIAI2ApABQcn7wQAhBkEXIQIDQCAGQQFqIQECQAJAAkAgAsBBAEgEQCACQf8BcSIQQYABRg0BIBBBwAFHDQIgC0HQq8IANgLUASALQqCAgIAGNwLYASALQYABaiADQQN0aigCBCEGIAsgC0GQAWo2AtABIAtB4ABqIAtB0AFqIAYRAQANCCADQQFqIQMgASEGDAMLIAJB/wFxIgIgCygCkAEgCygCmAEiEGtLBEAgC0GQAWogECACEM4RIAsoApgBIRALIAIEQCALKAKUASAQaiABIAL8CgAACyABIAJqIQYgCyACIBBqNgKYAQwCCyAGQQNqIRACQAJAIAYvAAEiAiALKAKQASALKAKYASIBa0sEQCALQZABaiABIAIQzhEgCygCmAEhAQwBCyACRQ0BCyACRQ0AIAsoApQBIAFqIBAgAvwKAAALIAIgEGohBiALIAEgAmo2ApgBDAELQaCAgIAGIRAgAkEBcQRAIAYoAAEhECAGQQVqIQELQQAhCgJAIAJBAnFFBEBBACEVDAELIAEvAAAhFSABQQJqIQELIAJBBHEEQCABLwAAIQogAUECaiEBCyACQQhxBEAgAS8AACEDIAFBAmohAQsgASEGIAsgCjsB3gEgCyAVOwHcASALIBA2AtgBIAtB0KvCADYC1AEgC0GAAWogA0EDdGooAgQhASALIAtBkAFqNgLQASALQeAAaiALQdABaiABEQEADQUgA0EBaiEDCyAGLQAAIgINAAsgCyALKAKYATYCsAEgCyALKQKQATcDqAEgJSALKAJ4NgIIICUgCykDcDcCACAaKAIIIgEgGigCAEYEQCAaEL0SCyAaIAFBAWo2AgggGigCBCABQRhsaiIBIAspA6gBNwIAIAEgCykDsAE3AgggASALKQO4ATcCECAMDQALIAhBfzYCBCAIIBsEfyAbQQlqIgEEQCASQf8BIAH8CwALIBsgG0EBakEDdkEHbCAbQQhJGwVB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ACADLQARIgJBwQBrQf8BcUEaSRsgAnJB/wFxQe8ARw0AQSBBACADLQASIgJBwQBrQf8BcUEaSRsgAnJB/wFxQfUARw0AQSBBACADLQATIgJBwQBrQf8BcUEaSRsgAnJB/wFxQe4ARw0AQSBBACADLQAUIgJBwQBrQf8BcUEaSRsgAnJB/wFxQfQARw0AQoCAASFNDBQLQSBBACADLQAAIgJBwQBrQf8BcUEaSRsgAnJB/wFxQe8ARw0AQSBBACADLQABIgJBwQBrQf8BcUEaSRsgAnJB/wFxQfIARw0AQSBBACADLQACIgJBwQBrQf8BcUEaSRsgAnJB/wFxQeQARw0AQSBBACADLQADIgJBwQBrQf8BcUEaSRsgAnJB/wFxQeUARw0AQSBBACADLQAEIgJBwQBrQf8BcUEaSRsgAnJB/wFxQfIARw0AQSBBACADLQAFIgJBwQBrQf8BcUEaSRsgAnJB/wFxQeIARw0AQSBBACADLQAGIgJBwQBrQf8BcUEaSRsgAnJB/wFxQfkARw0AQSBBACADLQAHIgJBwQBrQf8BcUEaSRsgAnJB/wFxQeEARw0AQSBBACADLQAIIgJBwQBrQf8BcUEaSRsgAnJB/wFxQecARw0AQSBBACADLQAJIgJBwQBrQf8BcUEaSRsgAnJB/wFxQecARw0AQSBBACADLQAKIgJBwQBrQf8BcUEaSRsgAnJB/wFxQfIARw0AQSBBACADLQALIgJBwQBrQf8BcUEaSRsgAnJB/wFxQeUARw0AQSBBACADLQAMIgJBwQBrQf8BcUEaSRsgAnJB/wFxQecARw0AQSBBACADLQANIgJBwQBrQf8BcUEaSRsgAnJB/wFxQeEARw0AQSBBACADLQAOIgJBwQBrQf8BcUEaSRsgAnJB/wFxQfQARw0AQSBBACADLQAPIgJBwQBrQf8BcUEaSRsgAnJB/wFxQeUARw0AQSBBACADLQAQIgJBwQBrQf8BcUEaSRsgAnJB/wFxQecARw0AQSBBACADLQARIgJBwQBrQf8BcUEaSRsgAnJB/wFxQfIARw0AQSBBACADLQASIgJBwQBrQf8BcUEaSRsgAnJB/wFxQe8ARw0AQSBBACADLQATIgJBwQBrQf8BcUEaSRsgAnJB/wFxQfUARw0AQSBBACADLQAUIgJBwQBrQf8BcUEaSRsgAnJB/wFx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iCFOIGCnIQ0gEUHYBmohDiARQcwGaiEKIBFBmAZqIQ8gEUEANgLUByARIAU2AtAHIBEgAzYCzAcgBygCoAIhBCAHKAKcAiEDIBFBADYCuAggESADNgKwCCARQQA2AqAIIBFBADYCkAggESAINgKMCCARQQA2AogIIBEgAzYCgAggEUEANgLwByARQQA2AuAHIBEgCDYC3AcgESARQcgGaiIINgLYByARIAMgBEEkbGoiAzYCtAggESADNgKECCARQZAIaiEMIBFB3AdqIRAgASgCwAEhEgJAA0ACQCARQcAIaiAQEPgCIBEoAsAIRQRAIBEoAowIIgFFDQEgEUGoB2ogDCABEPkCIBEoAqgHRQ0BIBEgESgCsAc2AsgIIBEgESkCqAc3A8AICyARKALYBygCACIDKAIAIQEgAyABQQFqNgIAIAFBAEgNESARKALICCEGIBEoAsQIIQIgAyADKAIAIgFBAWo2AgAgESAGNgLIByARIAI2AsQHIBEgAzYCwAcgAUEASA0RQQwQkAEiB0UNAiAHIAY2AgggByACNgIEIAcgAzYCACARKALUByIEIBEoAswHRgRAIBFBzAdqEJYSCyARKALQByIBIARBA3RqIgVBjPTHADYCBCAFIAc2AgAgAyADKAIAIgdBAWo2AgAgESAEQQFqIgU2AtQHIAdBAEgNEUEMEJABIgdFDRMgByAGNgIIIAcgAjYCBCAHIAM2AgAgESgCzAcgBUYEQCARQcwHahCWEiARKALQByEBCyABIAVBA3RqIgVBpPTHADYCBCAFIAc2AgAgAyADKAIAIgdBAWo2AgAgESAEQQJqIgU2AtQHIAdBAEgNEUEMEJABIgdFDRMgByAGNgIIIAcgAjYCBCAHIAM2AgAgESgCzAcgBUYEQCARQcwHahCWEiARKALQByEBCyABIAVBA3RqIgFBvPTHADYCBCABIAc2AgAgESgCwAciBigCACEBIAYgAUEBajYCACARIARBA2oiBTYC1AcgAUEASA0RIBEoAsgHIQIgESgCxAchA0EMEJABIgdFDRMgByACNgIIIAcgAzYCBCAHIAY2AgAgESgCzAcgBUYEQCARQcwHahCWEgsgESgC0AciASAFQQN0aiIFQdT0xwA2AgQgBSAHNgIAIAYgBigCACIHQQFqNgIAIBEgBEEEaiIFNgLUByAHQQBIDRFBDBCQASIHRQ0TIAcgAjYCCCAHIAM2AgQgByAGNgIAIBEoAswHIAVGBEAgEUHMB2oQlhIgESgC0AchAQsgASAFQQN0aiIFQez0xwA2AgQgBSAHNgIAIBEgBEEFaiIFNgLUByARQcAHahDSCgRAIAYgBigCACIHQQFqNgIAIAdBAEgNEkEMEJABIgdFDRQgByACNgIIIAcgAzYCBCAHIAY2AgAgESgCzAcgBUYEQCARQcwHahCWEiARKALQByEBCyABIAVBA3RqIgFBhPXHADYCBCABIAc2AgAgESgCwAciBigCACEBIAYgAUEBajYCACARIARBBmoiBTYC1AcgAUEASA0SIBEoAsgHIQIgESgCxAchA0EMEJABIgdFDRQgByACNgIIIAcgAzYCBCAHIAY2AgAgESgCzAcgBUYEQCARQcwHahCWEgsgESgC0AciASAFQQN0aiIFQZz1xwA2AgQgBSAHNgIAIBEgBEEHaiIFNgLUBwsgFCASEQcARQRAIAYgBigCACIBQQFrNgIAIAFBAUcNAiARKALABxAwDAILIAYgBigCACIEQQFqNgIAIARBAEgNEUEMEJABIgRFDRMgBCACNgIIIAQgAzYCBCAEIAY2AgAgESgCzAcgBUYEQCARQcwHahCWEiARKALQByEBCyABIAVBA3RqIgFBtPXHADYCBCABIAQ2AgAgESAFQQFqIgM2AtQHQQwQkAEiAUUNEyABIBEoAsgHNgIIIAEgESkCwAc3AgAgESgCzAcgA0YEQCARQcwHahCWEgsgESgC0AcgA0EDdGoiA0HM9ccANgIEIAMgATYCACARIAVBAmo2AtQHDAELCyARIBEpAswHNwOoByARIBEoAtQHNgKwByARKALQBiEBAkAgESgC1AYiBQRAIAEhBgNAIAYoAgAhAyAGQQRqKAIAIgQoAgAiAgRAIAMgAhEDAAsgBCgCBCIEBEAgA0EEaygCACIHQXhxIQIgAkEEQQggB0EDcSIHGyAEakkNAyAHQQBHIAIgBEEnaktxDRggAxC8BQsgBkEIaiEGIAVBAWsiBQ0ACwsCQCARKALMBiIEBEAgAUEEaygCACIGQXhxIQMgAyAEQQN0IgRBBEEIIAZBA3EiBhtqSQ0BIAZBAEcgAyAEQSdqS3ENFyABELwFCyAKIBEoArAHNgIIIAogESkDqAc3AgAgESgCyAYiBCgCSCIDQQF0IgFB/////wFLDQ8gA0EEdCIGQf3///8HTw0PQQAhA0EEIQICQCAGBEAgBhCQASICRQ0BIAEhAwsgEUEANgLUByARIAI2AtAHIBEgAzYCzAcgBCgCoAIhAyAEKAKcAiEBIBFBADYCuAggESABNgKwCCARQQA2AqAIIBFBADYCkAggESAEQQhqIgQ2AowIIBFBADYCiAggESABNgKACCARQQA2AvAHIBFBADYC4AcgESAENgLcByARIAg2AtgHIBEgASADQSRsaiIBNgK0CCARIAE2AoQIIBFBkAhqIQggEUHcB2ohDANAIBFBwAhqIAwQ+AICQAJAAkACQAJAAkAgESgCwAhFBEAgESgCjAgiAUUNASARQagHaiAIIAEQ+QIgESgCqAdFDQEgESARKAKwBzYCyAggESARKQKoBzcDwAgLIBEoAtgHKAIAIgMoAgAhASADIAFBAWo2AgAgAUEASA0ZIBEoAsQIIQQgESARKALICCIGNgKwByARIAM2AqgHIANBoAJqKAIAIQEgESAENgKsByABIARNDQEgA0GcAmooAgAgBEEkbGoiAUEgaigCACICIAZNDQIgAUEcaigCACAGQdQAbGoiASgCAEGCgICAeEcNAyABLQBMDQQgEUGoB2oQ5gkEQCADIAMoAgAiAUEBajYCACABQQBIDRpBDBCQASIHRQ0cIAcgBjYCCCAHIAQ2AgQgByADNgIAIBEoAtQHIgIgESgCzAdGBEAgEUHMB2oQlhILIBEoAtAHIgEgAkEDdGoiBUGs9scANgIEIAUgBzYCACADIAMoAgAiB0EBajYCACARIAJBAWoiBTYC1AcgB0EASA0aQQwQkAEiB0UNHCAHIAY2AgggByAENgIEIAcgAzYCACARKALMByAFRgRAIBFBzAdqEJYSIBEoAtAHIQELIAEgBUEDdGoiBUHE9scANgIEIAUgBzYCACADIAMoAgAiB0EBajYCACARIAJBAmoiBTYC1AcgB0EASA0aQQwQkAEiB0UNHCAHIAY2AgggByAENgIEIAcgAzYCACARKALMByAFRgRAIBFBzAdqEJYSIBEoAtAHIQELIAEgBUEDdGoiAUHc9scANgIEIAEgBzYCACADIAMoAgAiAUEBajYCACARIAJBA2oiBzYC1AcgAUEASA0aQQwQkAEiAUUNHCABIAY2Aggg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AkcEQCADIAMtAOQHOgC4ByADIAE2AqwHIANBADoAqAcgAyADKALgBzYCtAcgAyADKALcBzYCsAcgA0HoBmogA0GoB2ogBBDuBgsgAygC8AchBSADKALsByEHAkAgAygC6AciAkF/RwRAIAchAQwBCyAFQQBIDQQgBUUEQEEBIQFBACECQQAhBQwBCyAFEJABIgFFDQIgBQRAIAEgByAF/AoAAAsgBSECCyADIAU2ArQHIAMgATYCsAcgAyACNgKsByADQQA6AKgHIANBiAdqIANBqAdqIAQQzwgCQAJAAkAgAy0A9AcOAgABAgsgEBDgCAwBCyAJEMICIAMoAqgIIgIoAgAhASACIAFBAWs2AgAgAUEBRw0AIBIQtggLAkAgAygCsAgiAUUNACABIAEoAgAiAUEBazYCACABQQFHDQAgDBDLBAsgBEEBaiEEIAggBkEIaiIGRw0ACwwBCwwECwJAIAMoAuAGIgFFDQAgAygC3AYiBiABQQN0aiEIIANBsAhqIQwgA0H4B2ohECADQagIaiESIANBhAhqIQlBACEEA0AgA0HYB2ogBigCACADQfgFaiAGQQRqKAIAKAIUEQQAIAMoAtgHIgFBAkcEQCADIAMtAOQHOgC4ByADIAE2AqwHIANBAToAqAcgAyADKALgBzYCtAcgAyADKALcBzYCsAcgA0HoBmogA0GoB2ogBBDuBgsgAygC8AchBSADKALsByEHAkACQCADKALoByICQX9HBEAgByEBDAELIAVBAEgNBCAFRQRAQQEhAUEAIQJBACEFDAELIAUQkAEiAUUNASAFBEAgASAHIAX8CgAACyAFIQILIAMgBTYCtAcgAyABNgKwByADIAI2AqwHIANBAToAqAcgA0GIB2ogA0GoB2ogBBDPCAJAAkACQCADLQD0Bw4CAAECCyAQEOAIDAELIAkQwgIgAygCqAgiAigCACEBIAIgAUEBazYCACABQQFHDQAgEhC2CAsCQCADKAKwCCIBRQ0AIAEgASgCACIBQQFrNgIAIAFBAUcNACAMEMsECyAEQQFqIQQgCCAGQQhqIgZHDQEMAgsLDAQLAkAgAygC/AUiAUUNACABIAFBGGwiAWpBIWoiBEUNACADKAL4BSABa0EYayAEENkSCyADIAMpA4AHNwOQBiADIAMpA/gGNwOIBiADIAMpA/AGNwOABiAD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QZEBQfiewgAQvxMACyMBAX8gAUUEQEEADwsgACgCACECIABBADYCACABIAJBAEdrCysAIAEoAgBB+f/GAEHw/8YAIAAtAAAiABtBCkEJIAAbIAEoAgQoAgwRAAALJwECfyAAKAIAIgIoAgAhASACIAFBAWs2AgAgAUEBRgRAIAAQtggLCyYAIABBATYCBCAAIAEoAgwgASgCBGtBsAFuIgE2AgggACABNgIACwMAAAspACABKAIAIAAtAABoQQJ0IgAoAsC/SSAAKAKsv0kgASgCBCgCDBEAAAsrACABKAIAIAAoAgAtAABBAnQiACgC2MlJIAAoAsTJSSABKAIEKAIMEQAACysAIAEoAgAgACgCAC0AAEECdCIAKAKkzUkgACgCjM1JIAEoAgQoAgwRAAALKwAgASgCACAAKAIALQAAQQJ0IgAoArTTSSAAKAKc00kgASgCBCgCDBEAAAsrACABKAIAIAAoAgAtAABBAnQiACgCoNRJIAAoAozUSSABKAIEKAIMEQAACysAIAEoAgAgACgCAC0AAEECdCIAKAL01UkgACgCxNVJIAEoAgQoAgwRAAALKwAgASgCACAAKAIALQAAQQJ0IgAoArDWSSAAKAKk1kkgASgCBCgCDBEAAAsrACABKAIAIAAoAgAtAABBAnQiACgCwN1JIAAoAszbSSABKAIEKAIMEQAACwMAAAsjACAARQRAQYigxABBMhC+FQALIAAgAiADIAQgASgCEBEFAAsDAAALAwAACwMAAAsnACAAKAIALQAARQRAIAFBqrLIAEEFEJ0EDwsgAUGvssgAQQQQnQQLHwEBfyAAIAAoAgAiAUEBazYCACABQQFGBEAgABAwCwsoACABKAIAIAAtAABBAnQiACgCkNdJIAAoArzWSSABKAIEKAIMEQAACyQAIABBAXFFBEAgAUGqssgAQQUQnQQPCyABQa+yyABBBBCdBAsoACABKAIAIAAtAABBAnQiACgC2NlJIAAoAuTXSSABKAIEKAIMEQAACyQAIAAtAABFBEAgAUGqssgAQQUQnQQPCyABQa+yyABBBBCdBAshACAARQRAQYigxABBMhC+FQALIAAgAiADIAEoAhARBAALHwAgAEEBNgIEIAAgASgCAEEARyIBNgIIIAAgATYCAAsnACABKAIAQb3WxgBBrtbGACAAKAIAKAIAG0EPIAEoAgQoAgwRAAALHAAgAC0AAEH/AUYEQCAAQQhqEI4RDwsgABDmCAsdACABKAIABEAgAEGgn8kANgIEIAAgATYCAA8LAAsfAQFvIAAlASABJQEgAiUBEAYhAxCGDiIAIAMmASAACx8AIABFBEBBiKDEAEEyEL4VAAsgACACIAEoAhARAQALIQAgASgCACAAKAIAIgAoAgQgACgCCCABKAIEKAIMEQAACyEAIAEoAgAgACgCACIAKAI0IAAoAjggASgCBCgCDBEAAAseAQF/IAAgACgCAEEBayIBNgIAIAFFBEAgABD2DwsLHAAgACgCACIAKAIAIAEgAEEEaigCACgCEBEBAAseACAAKAIAIgAoAgQgACgCCCABKAIAIAEoAgQQvwYLHAEDbyAAJQEgASUBIAEQ0xIgAiUBIAIQ0xIQBAsbAQFvIAAlASABJQEQDCECEIYOIgAgAiYBIAALFgAgAARAQbjwyQBBAToAAAALEJ4VAAsTAEEUQQAgAS0AAEEBRxsgAnFFCx0AIAEgAC0AAEECdCIAKAK8vUkgACgCpL1JEJ0ECxQAIAEtAABBAUYgAkH/AXFBEElyCx0BAX9B4AAQkAEiAEUEQEG48MkAQQE6AAAACyAACxoAIAAQkAEiAEUEQEG48MkAQQE6AAAACyAACxwAIAEoAgAgACgCACAAKAIEIAEoAgQoAgwRAAALGQEBbyAAJQEgARARIQIQhg4iACACJgEgAAsSACAAIAFBAXRBAXIgAhC/EwALFwAgACgCACABIAAoAgRBDGooAgARAQALGQAgACgCBCAAKAIIIAEoAgAgASgCBBC/BgsZACAAKAIAIAAoAgQgASgCACABKAIEEPoKCxkAIAEoAgAgASgCBCAAKAIAIAAoAgQQsQkLFwAgACgCAEEQaiABKAIAIAEoAgQQ2wMLFAAgAEEEQQMgASgCAEEERhs2AgALGQEBfiABKQIAIQIgAUEANgIAIAAgAjcDAAsZACAAKAIAIAAoAgQgASgCACABKAIEEL8GCxcBAW8gACABEAchAhCGDiIAIAImASAACxcBAW8gACABECEhAhCGDiIAIAImASAACxkAIAEoAgBBuLbJAEEFIAEoAgQoAgwRAAALGQAgASgCAEGAocIAQRcgASgCBCgCDBEAAAsZACABKAIAQZehwgBBFCABKAIEKAIMEQAACxkAIAEoAgBBq6HCAEEaIAEoAgQoAgwRAAALGQAgASgCAEHZrcgAQQMgASgCBCgCDBEAAAsZACABKAIAQeCswgBBCyABKAIEKAIMEQAACxwAIABB/OLIACkCADcCCCAAQfTiyAApAgA3AgALFgAgASAAKAIAIgAoAgQgACgCCBCdBAsWACABIAAoAgAiACgCACAAKAIEEJ0ECxwAIABBsKLFACkCADcCCCAAQaiixQApAgA3AgALEgAgACgCAEF/RwRAIAAQ1AgLCxwAIABB9KLFACkCADcCCCAAQeyixQApAgA3AgALFgAgACACKAIINgIIIAAgAikCADcCAAsWACAAIAEoAgg2AgggACABKQIANwIACxwAIABBvIDGACkCADcCCCAAQbSAxgApAgA3AgALEgAgACgCAEF/RwRAIAAQyQILCxIAIAAoAgBBf0cEQCAAEPUFCwsTACAALQAAQf8BRwRAIAAQrwQLCxkAIAEoAgBB+svGAEEbIAEoAgQoAgwRAAALGQAgASgCAEGo0cYAQR8gASgCBCgCDBEAAAsZACABKAIAQcvixgBBHCABKAIEKAIMEQAACxkAIAEoAgBB3eDGAEELIAEoAgQoAgwRAAALGQAgASgCAEHA38YAQQcgASgCBCgCDBEAAAsZACABKAIAQaTZxgBBHyABKAIEKAIMEQAACxkAIAEoAgBBsM7GAEEaIAEoAgQoAgwRAAALGQAgASgCAEGEyMYAQRYgASgCBCgCDBEAAAsZACABKAIAQYDexgBBEiABKAIEKAIMEQAACxkAIAEoAgBBx9zGAEERIAEoAgQoAgwRAAALGQAgASgCAEGs6MYAQRcgASgCBCgCDBEAAAsZACABKAIAQebmxgBBFSABKAIEKAIMEQAACxkAIAEoAgBB8NLGAEEaIAEoAgQoAgwRAAALGQAgASgCAEHM1sYAQRcgASgCBCgCDBEAAAsZACABKAIAQYDlxgBBFCABKAIEKAIMEQAACxkAIAEoAgBB8OPGAEESIAEoAgQoAgwRAAALHAAgAEHw6sYAKQIANwIIIABB6OrGACkCADcCAAscACAAQdDqxgApAgA3AgggAEHI6sYAKQIANwIACxwAIABB4OrGACkCADcCCCAAQdjqxgApAgA3AgALHAAgAEGw6sYAKQIANwIIIABBqOrGACkCADcCAAscACAA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EL8TAAsUACAAKAIAIAEoAgAgASgCBBDZCwsUACAAKAIAIAEgACgCBCgCDBEBAAsPAEEfQQ8gAS0AAEEBRhsLmgQBBn8gASgCACEHIwBBgAFrIgIkACABQQRqIgQoAgAiASgCACEDIAEgA0EBajYCAAJAAkACQAJAIANBAEgNACAEKAIIIQUgBCgCBCEGIAEgASgCACIDQQFqNgIAIANBAEgNAEEYEJABIgNFDQMgAyAHNgIAIANBADYCECADIAQpAgA3AgQgAyAEKAIINgIMQRgQkAEiBA0BDAMLAAsgBEEAOgAUIARBxOTHADYCDCAEIAM2AgggBEKBgICAEDcCACACIAQ2AmwgAkEAOgBoIAIgBTYCXCACIAY2AlggAiABNgJUIAJBADYCTCACQQ86AEggAkF/NgI4IAIgBTYCNCACIAY2AjAgAiABNgIsIAJBADYCKCACQX82AhwgAkEANgIUIAJBADYCDCACQfAAaiACQQxqQQEQnw5B5AAQkAEiA0UNASADQQY6AAQgA0ECNgIAQZABEJABIgFFDQEgAUF+NgIAIAEgAikDcDcDICABIAIoAng2AiggAUEAOwGMASABQQ42AogBIAFBmPDHADYChAEgAUF/NgKAASABQgQ3A3ggAUIBNwNwIAEgAzYCbCABQQE2AmggAUF+NgJIIAFBATsBRCABQQQ2AkAgAUGU8McANgI8IAFCgICAgHA3AjQgAUKAgICAwAA3AiwgAEECNgIIIAAgATYCBCAAQQI2AgAgAkGAAWokAAwACw8LQbjwyQBBAToAAAALFAAgACABKAIAIAEoAgQoAhARAgALFQIBbwF/EAAhABCGDiIBIAAmASABCxUCAW8BfxACIQAQhg4iASAAJgEgAQsVAgFvAX8QAyEAEIYOIgEgACYBIAELEwAgAEEKNgIEIABB1KXFADYCAAsTACAAQQI2AgQgAEHFocIANgIACxMAIABBGjYCBCAAQaCjwgA2AgALEwAgAEEINgIEIABB4KnCADYCAAsRACABIAAoAgAgACgCBBCdBAsRACABIAAoAgQgACgCCBCdBAsTACAAQSg2AgQgAEGM4sgANgIACxMAIABBzOvEADYCBCAAQQE2AgALFAAgAEEANgIIIABCgICAgBA3AgALEwAgAEEFNgIEIABBy7jFADYCAAsUACAAQccANgIEIABBvLnFADYCAAsTACAAQQ42AgQgAEGH0cYANgIACxAAIAAgASgCACACIAMQ7wkLEwAgAEESNgIEIABBjM7GADYCAAsTACAAQRk2AgQgAEH72MYANgIACxMAIABBFTYCBCAAQcPZxgA2AgALEwAgAEEWNgIEIABByNLGADYCAAsTACAAQRg2AgQgAEGo18YANgIACxMAIABBKTYCBCAAQZTKxgA2AgALEwAgAEEeNgIEIABBvMXGADYCAAulBAIDfgZ/AkAgASgCACEBIwBBEGsiByQAAkAgA0EATgRAQQEhCCADRQ0BIAMQkAEiCEUEQEEBEKcUAAsgA0UNASAIIAIgA/wKAAAMAQsQnhUACyAHIAM2AgwgByAINgIIIAcgAzYCBCAHQQE6AAACQAJAAkAgASgCLEUNACABKQMwIAEpAzggBxChCiEEIAEoAiQiCyAEp3EhAiAEQhmIQv8Ag0KBgoSIkKDAgAF+IQYgASgCICEMA0AgAiAMaikAACIFIAaFIgRCgYKEiJCgwIABfSAEQn+Fg0KAgYKEiJCgwIB/gyIEQgBSBEADQAJAIAwgBHqnQQN2IAJqIAtxQWxsaiIJQRRrLQAARQ0AIAMgCUEIaygCAEcNACAIIAlBDGsoAgAgAxCPE0UNBQsgBEIBfSAEgyIEQgBSDQALCyAFIAVCAYaDQoCBgoSIkKDAgH+DQgBSDQEgCkEIaiIKIAJqIAtxIQIMAAsACyAAQX82AgAMAQsgCUEEaygCACICIAEoAmgiCU8EQCACIAlBnPLHABCFEwALIAAgASgCZCACQQN0aiIAKAIAIAEgACgCBCgCFBEEAAsCQAJAIAMEQCAIQQRrKAIAIgFBeHEhACAAQQRBCCABQQNxIgEbIANqSQ0BIAFBAEcgACADQSdqS3ENAiAIELwFCyAHQRBqJAAMAgtB0JzJAEEuQYCdyQAQrxQAC0GQnckAQS5BwJ3JABCvFAALCxMAIABBoJ/JADYCBCAAIAE2AgALEQEBfxCGDiIBIAAlASYBIAELDwBBmO3CAEErIAAQrxQACxIAQezrxwBBI0Gwq8IAEL8TAAsLACABQf8BcUEBRgsQACAAQbiqwgAgASACELEJCxAAIABB0KvCACABIAIQsQkLEAAgAEGg68IAIAEgAhCxCQsPAEHqosYAQTMgABC/EwALEwBBgILEAEGZAUHMgsQAEL8TAAsQACAAQczsxAAgASACELEJCxAAIABBkKLFACABIAIQsQkLDwAgACgCACgCACABEO8OCxAAIABBiKXFACABIAIQsQkLEwBBwJ7JAEHdAEHwnskAEL8TAAsSAEGgq8kAQShBhLrFABCvFAALEwBB0LjFAEG1AUGsucUAEL8TAAsLACABQf8BcUECSQsTAEGIxMUAQeUBQYzFxQAQvxMACxMAQYjExQBB5QFB/MTFABC/EwALDwAgACgCAC8BACABEJIPCxAAIABB/M7FACABIAIQsQkLEAAgAEGg8cUAIAEgAhCxCQsQACAAQdyWxgAgASACELEJCxAAIABB5O3GACABIAIQsQkLEAAgAEGwkMcAIAEgAhCxCQsQACAAQfCHyAAgASACELEJCxAAIABBgJrIACABIAIQsQkLEAAgAEGUrsgAIAEgAhCxCQsQACAAQYjhyAAgASACELEJCxAAIABB4JLJACABIAIQsQkLEAAgAEHgm8kAIAEgAhCxCQsQACAAQeCvyQAgASACELEJCw0AIAAlAUGBASUBEAkLDAAgACUBIAElARAOCwkAIAAgARAeAAsNAEHou8kAQRsQvhUACw4AQYO8yQBBzwAQvhUACwwAIAAoAgAgARD3AQsOACABQbCXxABBGBCdBAsOACABQZCXxABBIBCdBAsMACAAKAIAIAEQyAILDAAgACgCAEEBOgAACwwAIAAoAgAgARDjAgsMACAAKAIAIAEQ7w4LCwAgAEEAIAAQvBALDAAgACgCACABEJMJCwwAIAAoAgAgARCXDgsMACAAKAIAIAEQ/w0LDAAgACgCACABELEDCwwAIAAoAgAgARDRAQsMACAAKAIAIAEQgQgLCwAgACgCACABEG0LDAAgACgCACABEJwDCwwAIAAoAgAgARDbCAsMACAAKAIAIAEQ+wILDAAgACgCACABELIOCwwAIAAgASkCADcDAAsKACAAIAElARAICwkAIABBADYCAAsJACAAQQA2AgALCQAgAEEANgIACwkAIABBADYCAAsJACAAQgE3AwALCQAgAEIENwMACwoAIABBgwg7AQALCQAgAEF/NgIACwkAIABBATYCAAsJACAAQX82AgALCAAgACUBEAULCAAgACUBEAsLCAAgACUBEA0LCAAgACUBEBALCAAgACUBEBQLCAAgACUBEBcLBwAgAhDiCgsHACAAEIsRCwcAIAAQwAcLBwAgABDrCAsNAEK//IP4v//V3/8ACwQAQT8LBABBCwsEAEEBCwYAQoCACAsEAEEECwQAQQELBABBAAsEAEEDCwQAIAELCQBCloSAgIAQCwQAQgALBABBfwsEAEEfCwQAQQ8LBABBAAsEAEEACwQAQQILBAAgAAsEAEECCwIACwIACwIACwu31QmDAgBBhIDAAAu1lgIBAAAAAQAAAIYBAACHAQAABAAAAAQAAACIAQAAUDIwMTlQMjAxNFAyMDEzwMDAAApkZWxldGVNYW55wAAKY3JlYXRlTWFuecAACnVwZGF0ZU1hbnnAAAhmaW5kTWFuecAAB2dyb3VwQnnAAAlmaW5kRmlyc3TAAARMaXN0wAABdMAAwAJUb8AABEVudW3AAAFqwAAKZmluZFVuaXF1ZcAACWFnZ3JlZ2F0ZcAACUFnZ3JlZ2F0ZcAACXVwc2VydE9uZcAACWRlbGV0ZU9uZcAACWNyZWF0ZU9uZcAACXVwZGF0ZU9uZcAADF9hZ2dyX2NvdW50X8AAD2FnZ3Jfc2VsZWN0aW9uX8AAwAFfwAACQEDAAMABQMAADzx1bmtub3duIGhvc3Q+OsAADXVuaXQgdmFyaWFudCDAAjo6wADAATrAATrAAARUaGUgwC9pbmRleCBkZWZpbml0aW9uIHJlZmVycyB0byB0aGUgcmVsYXRpb24gZmllbGRzIMA2LiBJbmRleCBkZWZpbml0aW9ucyBtdXN0IHJlZmVyZW5jZSBvbmx5IHNjYWxhciBmaWVsZHMuwAALVGhlIGZpZWxkIGDAYGAgaXMgYSByZWxhdGlvbiBmaWVsZCBhbmQgY2Fubm90IGJlIG1hcmtlZCB3aXRoIGB1bmlxdWVgLiBPbmx5IHNjYWxhciBmaWVsZHMgY2FuIGJlIG1hZGUgdW5pcXVlLsAAwAEuwAEuwAANTmF0aXZlIHR5cGUgYMAWYCBjYW5ub3QgYmUgdW5pcXVlIGluIMABLsAAN1lvdSBjYW5ub3QgZGVmaW5lIGFuIGluZGV4IG9uIGZpZWxkcyB3aXRoIG5hdGl2ZSB0eXBlIGDABWAgb2YgwAEuwAADMDAtwAEtwAEtwAABJcAABkBsaW5rJMAAASTAABJFeHRlcm5hbCBlcnJvciBpZCPAACdleHBlY3RlZCBvbmx5IG9uZSBTZWxlY3Rpb25SZXN1bHQsIGdvdCDAADFTZWxlY3Rpb25SZXN1bHQgdmFsdWUgbXVzdCBiZSBhIHBsYWNlaG9sZGVyLCBnb3QgwAAJYXJndW1lbnQgwBsgcmVxdWlyZXMgdW5rbm93biBhcmd1bWVudCDAABZzbGljZSBpbmRleCBzdGFydHMgYXQgwA0gYnV0IGVuZHMgYXQgwAAVYnl0ZSByYW5nZSBzdGFydHMgYXQgwA0gYnV0IGVuZHMgYXQgwABfaW52YWxpZCBjaGFyYWN0ZXI6IGV4cGVjdGVkIGFuIG9wdGlvbmFsIHByZWZpeCBvZiBgdXJuOnV1aWQ6YCBmb2xsb3dlZCBieSBbMC05YS1mQS1GLV0sIGZvdW5kIGDABWAgYXQgwAAYRGF0YWJhc2UgYWxyZWFkeSBleGlzdHMgwAAgaW5kZXggb3V0IG9mIGJvdW5kczogdGhlIGxlbiBpcyDAEiBidXQgdGhlIGluZGV4IGlzIMAAwAQgYXMgwADABCBvciDAAB9BdXRoZW50aWNhdGlvbiBmYWlsZWQgZm9yIHVzZXIgwADACSBhdCBsaW5lIMAIIGNvbHVtbiDAABhVbmFibGUgdG8gcmVzb2x2ZSBmaWVsZCDALSB0byBhIGZpZWxkIG9yIHNldCBvZiBzY2FsYXIgZmllbGRzIG9uIG1vZGVsIMAAGFVuYWJsZSB0byByZXNvbHZlIGZpZWxkIMAoIHRvIGEgZmllbGQgb3IgYSBzZXQgb2YgZmllbGRzIG9uIG1vZGVsIMAAEXN0YXJ0IGJ5dGUgaW5kZXggwCcgaXMgb3V0IG9mIGJvdW5kcyBmb3Igc3RyaW5nIG9mIGxlbmd0aCDAAA9lbmQgYnl0ZSBpbmRleCDAJyBpcyBvdXQgb2YgYm91bmRzIGZvciBzdHJpbmcgb2YgbGVuZ3RoIMAAEnJhbmdlIHN0YXJ0IGluZGV4IMAiIG91dCBvZiByYW5nZSBmb3Igc2xpY2Ugb2YgbGVuZ3RoIMAAEHJhbmdlIGVuZCBpbmRleCDAIiBvdXQgb2YgcmFuZ2UgZm9yIHNsaWNlIG9mIGxlbmd0aCDAAAdzdHJpbmcgwAADSWYgwAAaQWNjZXNzIGRlbmllZCB0byBkYXRhYmFzZSDAAMAJIGluIHR5cGUgwAA8aW52YWxpZCBsZW5ndGg6IGV4cGVjdGVkIGxlbmd0aCAzMiBmb3Igc2ltcGxlIGZvcm1hdCwgZm91bmQgwAApaW52YWxpZCBsZW5ndGg6IGV4cGVjdGVkIDE2IGJ5dGVzLCBmb3VuZCDAACdpbnZhbGlkIGdyb3VwIGNvdW50OiBleHBlY3RlZCA1LCBmb3VuZCDAAB5pbnZhbGlkIGdyb3VwIGxlbmd0aCBpbiBncm91cCDACzogZXhwZWN0ZWQgwAgsIGZvdW5kIMAAHWludmFsaWQgdHlwZTogbnVsbCwgZXhwZWN0ZWQgwAARdW5rbm93biB2YXJpYW50IGDADGAsIGV4cGVjdGVkIMAAD2ludmFsaWQgbGVuZ3RoIMALLCBleHBlY3RlZCDAAA9pbnZhbGlkIHZhbHVlOiDACywgZXhwZWN0ZWQgwAAOaW52YWxpZCB0eXBlOiDACywgZXhwZWN0ZWQgwAAhSW52YWxpZCBpbnB1dCBwcm92aWRlZCB0byBxdWVyeTogwAAXQWdncmVnYXRlUmVjb3Jkc1F1ZXJ5OiDAAApRdWVyeVJhdzogwAAMRXhlY3V0ZVJhdzogwAAdSW52YWxpZCBzY2FsYXIgZmlsdGVyIGlucHV0OiDAAB9JbnZhbGlkIHJlbGF0aW9uIGZpbHRlciBpbnB1dDogwAAgSW52YWxpZCBjb21wb3NpdGUgZmlsdGVyIGlucHV0OiDAABlEYXRhYmFzZSBkb2VzIG5vdCBleGlzdDogwAAtV3JvbmcgbnVtYmVyIG9mIGFyZ3VtZW50cy4gRXhwZWN0ZWQ6IDEsIGdvdDogwAAQYXNzZXJ0aW9uIGBsZWZ0IMAXIHJpZ2h0YCBmYWlsZWQKICBsZWZ0OiDACQogcmlnaHQ6IMAAEGFzc2VydGlvbiBgbGVmdCDAECByaWdodGAgZmFpbGVkOiDACQogIGxlZnQ6IMAJCiByaWdodDogwAAYSW52YWxpZCBvcGVyYXRvciBjbGFzczogwAAgSW52YWxpZCByZWxhdGlvbiBtb2RlIHNldHRpbmc6ICLAFSIuIFN1cHBvcnRlZCB2YWx1ZXM6IMAAE0RlbGV0ZU1hbnlSZWNvcmRzOiDAADFFcnJvciBhY2Nlc3NpbmcgcmVzdWx0IHNldCwgaW5kZXggb3V0IG9mIGJvdW5kczogwABrVGhlIGFyZ3VtZW50IGZpZWxkcyBtdXN0IHJlZmVyIG9ubHkgdG8gc2NhbGFyIGZpZWxkcy4gQnV0IGl0IGlzIHJlZmVyZW5jaW5nIHRoZSBmb2xsb3dpbmcgcmVsYXRpb24gZmllbGRzOiDAAFFUaGUgYXJndW1lbnQgYHJlZmVyZW5jZXNgIG11c3QgcmVmZXIgb25seSB0byBzY2FsYXIgZmllbGRzIGluIHRoZSByZWxhdGVkIG1vZGVsIGDAOGAuIEJ1dCBpdCBpcyByZWZlcmVuY2luZyB0aGUgZm9sbG93aW5nIHJlbGF0aW9uIGZpZWxkczogwABgRXZlcnkgZmllbGQgdXNlZCBmb3Igb3JkZXJCeSBtdXN0IGJlIGluY2x1ZGVkIGluIHRoZSBieS1hcmd1bWVudHMgb2YgdGhlIHF1ZXJ5LiBNaXNzaW5nIGZpZWxkczogwAAVcXVlcnkgYnVpbGRlciBlcnJvcjogwAAZSW52YWxpZCBhcmd1bWVudCB2YWx1ZS4gYMASYCBpcyBub3QgYSB2YWxpZCBgwBVgLiBVbmRlcmx5aW5nIGVycm9yOiDAABlxdWVyeSBncmFwaCBidWlsZCBlcnJvcjogwAAVU2VyaWFsaXphdGlvbiBFcnJvcjogwAAMSlNPTiBFcnJvcjogwAAlSW52YWxpZCBKU09OIHZhbHVlIGZvciBMSUtFIHBhdHRlcm46IMAAIkZhaWxlZCB0byBwYXJzZSBkYXRhYmFzZSB2ZXJzaW9uOiDACi4gUmVhc29uOiDAACNFcnJvciBpbiBxdWVyeSBncmFwaCBjb25zdHJ1Y3Rpb246IMAAIEVycm9yIG9wZW5pbmcgYSBUTFMgY29ubmVjdGlvbjogwAAcVW5oYW5kbGVkIG5lc3RlZCBvcGVyYXRpb246IMAAKlVuc3VwcG9ydGVkIHJlZmVyZW50aWFsIGFjdGlvbiBlbXVsYXRpb246IMAAF1RvbyBtYW55IGZpZWxkcyBnaXZlbjogwAAZSW52YWxpZCBpc29sYXRpb24gbGV2ZWw6IMAADlVwc2VydChtb2RlbDogwABpVGhlIGFyZ3VtZW50IGZpZWxkcyBtdXN0IHJlZmVyIG9ubHkgdG8gZXhpc3RpbmcgZmllbGRzLiBUaGUgZm9sbG93aW5nIGZpZWxkcyBkbyBub3QgZXhpc3QgaW4gdGhpcyBtb2RlbDogwABTVGhlIGFyZ3VtZW50IGByZWZlcmVuY2VzYCBtdXN0IHJlZmVyIG9ubHkgdG8gZXhpc3RpbmcgZmllbGRzIGluIHRoZSByZWxhdGVkIG1vZGVsIGDAO2AuIFRoZSBmb2xsb3dpbmcgZmllbGRzIGRvIG5vdCBleGlzdCBpbiB0aGUgcmVsYXRlZCBtb2RlbDogwAASRXJyb3IgdmFsaWRhdGluZzogwABPRW5jb3VudGVyZWQgaW1wb3NzaWJsZSBlbnVtIHZhbHVlIGRlY2xhcmF0aW9uIGR1cmluZyBwYXJzaW5nLCBuYW1lIGlzIG1pc3Npbmc6IMAAGVNvbWUgZmllbGRzIGFyZSBtaXNzaW5nOiDAAFppbnRlcm5hbCBlcnJvcjogZW50ZXJlZCB1bnJlYWNoYWJsZSBjb2RlOiBFbmNvdW50ZXJlZCBpbXBvc3NpYmxlIGZ1bmN0aW9uIGR1cmluZyBwYXJzaW5nOiDAAG1pbnRlcm5hbCBlcnJvcjogZW50ZXJlZCB1bnJlYWNoYWJsZSBjb2RlOiBFbmNvdW50ZXJlZCBpbXBvc3NpYmxlIHNvdXJjZSBwcm9wZXJ0eSBkZWNsYXJhdGlvbiBkdXJpbmcgcGFyc2luZzogwABZaW50ZXJuYWwgZXJyb3I6IGVudGVyZWQgdW5yZWFjaGFibGUgY29kZTogRW5jb3VudGVyZWQgaW1wb3NzaWJsZSBsaXRlcmFsIGR1cmluZyBwYXJzaW5nOiDAADVFbmNvdW50ZXJlZCBpbXBvc3NpYmxlIGF0dHJpYnV0ZSBhcmcgZHVyaW5nIHBhcnNpbmc6IMAAVmludGVybmFsIGVycm9yOiBlbnRlcmVkIHVucmVhY2hhYmxlIGNvZGU6IEVuY291bnRlcmVkIGltcG9zc2libGUgdHlwZSBkdXJpbmcgcGFyc2luZzogwABXaW50ZXJuYWwgZXJyb3I6IGVudGVyZWQgdW5yZWFjaGFibGUgY29kZTogRW5jb3VudGVyZWQgaW1wb3NzaWJsZSBmaWVsZCBkdXJpbmcgcGFyc2luZzogwAAhRXJyb3IgcGFyc2luZyBjb25uZWN0aW9uIHN0cmluZzogwAATVW5rbm93biBxdWVyeSB0YWc6IMAAFVRoZSBwcmV2aWV3IGZlYXR1cmUgIsAhIiBpcyBub3Qga25vd24uIEV4cGVjdGVkIG9uZSBvZjogwAAjVW5leHBlY3RlZCB0b2tlbi4gRXhwZWN0ZWQgb25lIG9mOiDAACBFcnJvciByZWFkaW5nIHRoZSBjb2x1bW4gdmFsdWU6IMAADlVwc2VydChtb2RlbDogwAosIGZpbHRlcjogwAosIGNyZWF0ZTogwAosIHVwZGF0ZTogwAAdRXJyb3IgcXVlcnlpbmcgdGhlIGRhdGFiYXNlOiDAAA9ObyBzdWNoIHRhYmxlOiDAABhEYXRhYmFzZSBub3QgcmVhY2hhYmxlOiDAACppbnRlcm5hbCBlcnJvcjogZW50ZXJlZCB1bnJlYWNoYWJsZSBjb2RlOiDAAC5FcnJvciBhY2Nlc3NpbmcgcmVzdWx0IHNldCwgY29sdW1uIG5vdCBmb3VuZDogwAA5SlNPTiB0YXJnZXQgdHlwZXMgb25seSBhY2NlcHQgc3RyaW5ncyBvciBudW1iZXJzLCBmb3VuZDogwABESW52YWxpZCB2YWx1ZSBmb3Igc2tpcCBhcmd1bWVudDogVmFsdWUgY2FuIG9ubHkgYmUgcG9zaXRpdmUsIGZvdW5kOiDAAElFeHBlY3RlZCBmaWVsZCBgZmllbGRzYCB0byBiZSBvZiB0eXBlIFN0cmluZywgRW51bSBvciBMaXN0PEVudW0+LCBmb3VuZDogwAA1RXJyb3IgYWNjZXNzaW5nIHJlc3VsdCBzZXQsIHR5cGUgbWlzbWF0Y2gsIGV4cGVjdGVkOiDAACBUcmFuc2FjdGlvbiB3YXMgYWxyZWFkeSBjbG9zZWQ6IMAAH0ZvcmVpZ24ga2V5IGNvbnN0cmFpbnQgZmFpbGVkOiDAABhOdWxsIGNvbnN0cmFpbnQgZmFpbGVkOiDAABpVbmlxdWUgY29uc3RyYWludCBmYWlsZWQ6IMAAE0NvbnZlcnNpb24gZmFpbGVkOiDAABdFcnJvciBpbiBkb21haW4gbG9naWM6IMAAF0Vycm9yIHZhbGlkYXRpbmcgZW51bSBgwANgOiDAABhFcnJvciB2YWxpZGF0aW5nIGZpZWxkIGDAFWAgaW4gY29tcG9zaXRlIHR5cGUgYMADYDogwAAdRXJyb3IgdmFsaWRhdGluZyBkYXRhc291cmNlIGDAA2A6IMAAI0Vycm9yIGluIHRoZSB1bmRlcmx5aW5nIGNvbm5lY3RvciAowAMpOiDAABlFcnJvciBwYXJzaW5nIGF0dHJpYnV0ZSAiwAMiOiDAACFFcnJvciB2YWxpZGF0aW5nIGNvbXBvc2l0ZSB0eXBlICLAAyI6IMAAEUVycm9yIHZhbGlkYXRpbmcgwAIgIsADIjogwAABIsADIjogwAAsQXJndW1lbnQgTSBpcyBvdXQgb2YgcmFuZ2UgZm9yIG5hdGl2ZSB0eXBlIGDABWAgb2YgwAI6IMAADUlucHV0IGVycm9yLiDAABpWYWx1ZSBvdXQgb2YgcmFuZ2UgZXJyb3IuIMAAFVVuc3VwcG9ydGVkIGZlYXR1cmU6IMACLiDAABVFcnJvciBjcmVhdGluZyBVVUlELCDAAF1pbnRlcm5hbCBlcnJvcjogZW50ZXJlZCB1bnJlYWNoYWJsZSBjb2RlOiBFbmNvdW50ZXJlZCBpbXBvc3NpYmxlIGRvYyBjb21tZW50IGR1cmluZyBwYXJzaW5nOiDAAiwgwAAORGVsZXRlUmVjb3JkOiDAAiwgwAAYUHJvamVjdGVkRGF0YURlcGVuZGVuY3kowAIpIMAACV9AcGFyYW1fIMABIMAAQWludGVybmFsIGVycm9yOiBlbnRlcmVkIHVucmVhY2hhYmxlIGNvZGU6IEVuY291bnRlcmVkIGltcG9zc2libGUgwBEgZHVyaW5nIHBhcnNpbmc6IMABIMAACmBgYHByaXNtYQrACQpgYGAKX19fCsACCgrAABpGaWVsZFNlbGVjdGlvbiB7IGZpZWxkczogW8ADXSB9AMADIHsgwAIgfQACeyDAAiB9AApkaWdyYXBoIHsKwAEKwAIKfQDAAS/AAV/ACS5ncmFwaHZpegAJZmluZEZpcnN0wAdPclRocm93AApmaW5kVW5pcXVlwAdPclRocm93AAlhZ2dyZWdhdGXAA1JhdwAEZmluZMADUmF3AMATT2JqZWN0RXF1YWxpdHlJbnB1dADAD0RlbGV0ZU1hbnlJbnB1dADAD0NyZWF0ZU1hbnlJbnB1dADAGFVuY2hlY2tlZFVwZGF0ZU1hbnlJbnB1dADAD1VwZGF0ZU1hbnlJbnB1dADAC1Vwc2VydElucHV0AMDAGkZpZWxkVXBkYXRlT3BlcmF0aW9uc0lucHV0AMAXVXBkYXRlTWFueU11dGF0aW9uSW5wdXQAwA1GaWVsZFJlZklucHV0AMAQV2hlcmVVbmlxdWVJbnB1dADAwBNDb21wb3VuZFVuaXF1ZUlucHV0AMDAFU9yZGVyQnlBZ2dyZWdhdGVJbnB1dADAB09yZGVyQnnADkFnZ3JlZ2F0ZUlucHV0AMAUVW5jaGVja2VkQ3JlYXRlSW5wdXQAwAtDcmVhdGVJbnB1dADAFFVuY2hlY2tlZFVwZGF0ZUlucHV0AMALVXBkYXRlSW5wdXQAwApXaGVyZUlucHV0AMDAE0NyZWF0ZUVudmVsb3BlSW5wdXQAwMATVXBkYXRlRW52ZWxvcGVJbnB1dADAFU9yZGVyQnlSZWxldmFuY2VJbnB1dADAwAZVcGRhdGXAB1dpdGhvdXTAC05lc3RlZElucHV0AMAKQ3JlYXRlTWFuecAFSW5wdXQAwAdPcmRlckJ5wAVJbnB1dADAGlVuY2hlY2tlZFVwZGF0ZU1hbnlXaXRob3V0wAVJbnB1dADADVVwc2VydFdpdGhvdXTABUlucHV0AMAWQ3JlYXRlT3JDb25uZWN0V2l0aG91dMAFSW5wdXQAwBxVcHNlcnRXaXRoV2hlcmVVbmlxdWVXaXRob3V0wAVJbnB1dADAHFVwZGF0ZVdpdGhXaGVyZVVuaXF1ZVdpdGhvdXTABUlucHV0AMAWVW5jaGVja2VkQ3JlYXRlV2l0aG91dMAFSW5wdXQAwA1DcmVhdGVXaXRob3V0wAVJbnB1dADAFlVuY2hlY2tlZFVwZGF0ZVdpdGhvdXTABUlucHV0AMANVXBkYXRlV2l0aG91dMAFSW5wdXQAwBpVcGRhdGVNYW55V2l0aFdoZXJlV2l0aG91dMAFSW5wdXQAwBtVcGRhdGVUb09uZVdpdGhXaGVyZVdpdGhvdXTABUlucHV0AMDABkNyZWF0ZcAHV2l0aG91dMAFSW5wdXQAwAZDcmVhdGXABUlucHV0AMAGVXBkYXRlwAVJbnB1dADAC1NjYWxhcldoZXJlwAVJbnB1dAAFbm9kZSDADyBoYXMgbm8gY29udGVudAABYMAiYDogQSB2YWx1ZSBpcyByZXF1aXJlZCBidXQgbm90IHNldAAvaG9tZS9ydW5uZXIvLmNhcmdvL3JlZ2lzdHJ5L3NyYy9pbmRleC5jcmF0ZXMuaW8tMTk0OWNmOGM2YjViNTU3Zi9pdGVydG9vbHMtMC4xNC4wL3NyYy9ncm91cGJ5bGF6eS5ycwAvaG9tZS9ydW5uZXIvLnJ1c3R1cC90b29sY2hhaW5zLzEuOTcuMS14ODZfNjQtdW5rbm93bi1saW51eC1nbnUvbGliL3J1c3RsaWIvc3JjL3J1c3QvbGlicmFyeS9hbGxvYy9zcmMvY29sbGVjdGlvbnMvYnRyZWUvbWFwL2VudHJ5LnJzAC9ob21lL3J1bm5lci8uY2FyZ28vcmVnaXN0cnkvc3JjL2luZGV4LmNyYXRlcy5pby0xOTQ5Y2Y4YzZiNWI1NTdmL2luZGV4bWFwLTIuMTAuMC9zcmMvbWFwL2NvcmUvZW50cnkucnMAcHNsL3BhcnNlci1kYXRhYmFzZS9zcmMvd2Fsa2Vycy9yZWxhdGlvbi9pbXBsaWNpdF9tYW55X3RvX21hbnkucnMAcXVlcnktY29tcGlsZXIvc2NoZW1hL3NyYy9idWlsZC9tdXRhdGlvbnMvY3JlYXRlX21hbnkucnMAcXVlcnktY29tcGlsZXIvY29yZS9zcmMvcXVlcnlfZ3JhcGhfYnVpbGRlci9yZWFkL21hbnkucnMAcHNsL3BhcnNlci1kYXRhYmFzZS9zcmMvd2Fsa2Vycy9tb2RlbC9wcmltYXJ5X2tleS5ycwBwc2wvcGFyc2VyLWRhdGFiYXNlL3NyYy9hdHRyaWJ1dGVzL3NoYXJkX2tleS5ycwBxdWVyeS1jb21waWxlci9xdWVyeS1zdHJ1Y3R1cmUvc3JjL29yZGVyX2J5LnJzAHF1ZXJ5LWNvbXBpbGVyL2NvcmUvc3JjL3F1ZXJ5X2dyYXBoX2J1aWxkZXIvcmVhZC9hZ2dyZWdhdGlvbnMvZ3JvdXBfYnkucnMAL2hvbWUvcnVubmVyLy5jYXJnby9yZWdpc3RyeS9zcmMvaW5kZXguY3JhdGVzLmlvLTE5NDljZjhjNmI1YjU1N2YvYmFzZTY0LTAuMjIuMS9zcmMvZW5naW5lL2dlbmVyYWxfcHVycG9zZS9kZWNvZGVfc3VmZml4LnJzAHBzbC9wYXJzZXItZGF0YWJhc2Uvc3JjL3dhbGtlcnMvaW5kZXgucnMAL2hvbWUvcnVubmVyLy5ydXN0dXAvdG9vbGNoYWlucy8xLjk3LjEteDg2XzY0LXVua25vd24tbGludXgtZ251L2xpYi9ydXN0bGliL3NyYy9ydXN0L2xpYnJhcnkvY29yZS9zcmMvc2xpY2UvaW5kZXgucnMAcXVhaW50L3NyYy9hc3Qvcm93LnJzAHBzbC9zY2hlbWEtYXN0L3NyYy9wYXJzZXIvcGFyc2Vfdmlldy5ycwAvcnVzdC9kZXBzL2hhc2hicm93bi0wLjE3LjEvc3JjL3Jhdy5ycwAvcnVzdGMvOGJhYjI2ZjRmNjhlMGUyNmYwYmI3OTYwYmUzMzRkNWI1MjBlYTQ1Mi9saWJyYXJ5L2NvcmUvc3JjL251bS9pbXAvZmx0MmRlYy9zdHJhdGVneS9ncmlzdS5ycwBxdWVyeS1jb21waWxlci9jb3JlL3NyYy9yZXF1ZXN0X2NvbnRleHQucnMAcHNsL3BhcnNlci1kYXRhYmFzZS9zcmMvY29udGV4dC5ycwBxdWVyeS1jb21waWxlci9xdWVyeS1zdHJ1Y3R1cmUvc3JjL3ByaXNtYV92YWx1ZV9leHQucnMAcXVlcnktY29tcGlsZXIvY29yZS9zcmMvcXVlcnlfZG9jdW1lbnQvcGFyc2VfYXN0LnJzAC9ydXN0Yy84YmFiMjZmNGY2OGUwZTI2ZjBiYjc5NjBiZTMzNGQ1YjUyMGVhNDUyL2xpYnJhcnkvY29yZS9zcmMvc2xpY2Uvc29ydC9zaGFyZWQvc21hbGxzb3J0LnJzAC9ob21lL3J1bm5lci8ucnVzdHVwL3Rvb2xjaGFpbnMvMS45Ny4xLXg4Nl82NC11bmtub3duLWxpbnV4LWdudS9saWIvcnVzdGxpYi9zcmMvcnVzdC9saWJyYXJ5L2NvcmUvc3JjL3NsaWNlL3NvcnQvc3RhYmxlL3F1aWNrc29ydC5ycwAvaG9tZS9ydW5uZXIvLmNhcmdvL3JlZ2lzdHJ5L3NyYy9pbmRleC5jcmF0ZXMuaW8tMTk0OWNmOGM2YjViNTU3Zi9udW0tYmlnaW50LTAuNC4zL3NyYy9iaWd1aW50L2NvbnZlcnQucnMAL2hvbWUvcnVubmVyLy5jYXJnby9yZWdpc3RyeS9zcmMvaW5kZXguY3JhdGVzLmlvLTE5NDljZjhjNmI1YjU1N2YvbnVtLWJpZ2ludC0wLjQuMy9zcmMvYmlnaW50L2NvbnZlcnQucnMAcXVlcnktY29tcGlsZXIvcXVlcnktYnVpbGRlcnMvc3FsLXF1ZXJ5LWJ1aWxkZXIvc3JjL2NvbnZlcnQucnMAcXVlcnktY29tcGlsZXIvY29yZS9zcmMvcXVlcnlfZ3JhcGhfYnVpbGRlci93cml0ZS91cHNlcnQucnMAL3J1c3RjLzhiYWIyNmY0ZjY4ZTBlMjZmMGJiNzk2MGJlMzM0ZDViNTIwZWE0NTIvbGlicmFyeS9hbGxvYy9zcmMvZm10LnJzAHF1ZXJ5LWNvbXBpbGVyL3F1ZXJ5LXN0cnVjdHVyZS9zcmMvc2VsZWN0aW9uX3Jlc3VsdC5ycwBwc2wvcGFyc2VyLWRhdGFiYXNlL3NyYy9hdHRyaWJ1dGVzL2RlZmF1bHQucnMAcXVlcnktY29tcGlsZXIvcXVlcnktYnVpbGRlcnMvc3FsLXF1ZXJ5LWJ1aWxkZXIvc3JjL2xpbWl0LnJzAC9ob21lL3J1bm5lci8uY2FyZ28vcmVnaXN0cnkvc3JjL2luZGV4LmNyYXRlcy5pby0xOTQ5Y2Y4YzZiNWI1NTdmL251bS1iaWdpbnQtMC40LjMvc3JjL2JpZ3VpbnQvc2hpZnQucnMAL2hvbWUvcnVubmVyLy5jYXJnby9yZWdpc3RyeS9zcmMvaW5kZXguY3JhdGVzLmlvLTE5NDljZjhjNmI1YjU1N2YvbnVtLWJpZ2ludC0wLjQuMy9zcmMvYmlnaW50L3NoaWZ0LnJzAHF1ZXJ5LWNvbXBpbGVyL2NvcmUvc3JjL3F1ZXJ5X2dyYXBoX2J1aWxkZXIvd3JpdGUvZGlzY29ubmVjdC5ycwBxdWVyeS1jb21waWxlci9jb3JlL3NyYy9xdWVyeV9ncmFwaF9idWlsZGVyL3dyaXRlL2Nvbm5lY3QucnMAL3J1c3RjLzhiYWIyNmY0ZjY4ZTBlMjZmMGJiNzk2MGJlMzM0ZDViNTIwZWE0NTIvbGlicmFyeS9jb3JlL3NyYy9udW0vaW1wL2RpeV9mbG9hdC5ycwAvaG9tZS9ydW5uZXIvLmNhcmdvL3JlZ2lzdHJ5L3NyYy9pbmRleC5jcmF0ZXMuaW8tMTk0OWNmOGM2YjViNTU3Zi9pdGVydG9vbHMtMC4xNC4wL3NyYy9mb3JtYXQucnMAcXVlcnktY29tcGlsZXIvY29yZS9zcmMvcXVlcnlfZ3JhcGhfYnVpbGRlci9pbnB1dHMucnMAL2hvbWUvcnVubmVyLy5jYXJnby9yZWdpc3RyeS9zcmMvaW5kZXguY3JhdGVzLmlvLTE5NDljZjhjNmI1YjU1N2YvbnVtLWludGVnZXItMC4xLjQ1L3NyYy9yb290cy5ycwBxdWVyeS1jb21waWxlci9jb3JlL3NyYy9xdWVyeV9ncmFwaF9idWlsZGVyL2V4dHJhY3RvcnMvcXVlcnlfYXJndW1lbnRzLnJzAHBzbC9zY2hlbWEtYXN0L3NyYy9wYXJzZXIvcGFyc2VfYXJndW1lbnRzLnJzAHBzbC9zY2hlbWEtYXN0L3NyYy9wYXJzZXIvcGFyc2VfY29tbWVudHMucnMAcXVlcnktY29tcGlsZXIvc2NoZW1hL3NyYy9idWlsZC9pbnB1dF90eXBlcy9vYmplY3RzL2ZpbHRlcl9vYmplY3RzLnJzAHF1ZXJ5LWNvbXBpbGVyL3NjaGVtYS9zcmMvYnVpbGQvaW5wdXRfdHlwZXMvb2JqZWN0cy91cGRhdGVfb25lX29iamVjdHMucnMAL2hvbWUvcnVubmVyLy5jYXJnby9yZWdpc3RyeS9zcmMvaW5kZXguY3JhdGVzLmlvLTE5NDljZjhjNmI1YjU1N2YvcGVzdC0yLjguNC9zcmMvaXRlcmF0b3JzL3BhaXJzLnJzAHBzbC9wc2wtY29yZS9zcmMvZGF0YW1vZGVsX2Nvbm5lY3Rvci9maWx0ZXJzLnJzAHBzbC9wYXJzZXItZGF0YWJhc2Uvc3JjL3dhbGtlcnMucnMAL3J1c3RjLzhiYWIyNmY0ZjY4ZTBlMjZmMGJiNzk2MGJlMzM0ZDViNTIwZWE0NTIvbGlicmFyeS9jb3JlL3NyYy9mbXQvYnVpbGRlcnMucnMAcHNsL3BzbC1jb3JlL3NyYy9jb25maWd1cmF0aW9uL2Vudl92YXJzLnJzAHBzbC9wYXJzZXItZGF0YWJhc2Uvc3JjL3JlbGF0aW9ucy5ycwAvaG9tZS9ydW5uZXIvLmNhcmdvL3JlZ2lzdHJ5L3NyYy9pbmRleC5jcmF0ZXMuaW8tMTk0OWNmOGM2YjViNTU3Zi9wZXN0LTIuOC40L3NyYy9pdGVyYXRvcnMvdG9rZW5zLnJzAHBzbC9wc2wtY29yZS9zcmMvYnVpbHRpbl9jb25uZWN0b3JzL3V0aWxzLnJzAHF1ZXJ5LWNvbXBpbGVyL2NvcmUvc3JjL3F1ZXJ5X2dyYXBoX2J1aWxkZXIvZXh0cmFjdG9ycy91dGlscy5ycwBxdWVyeS1jb21waWxlci9jb3JlL3NyYy9xdWVyeV9ncmFwaF9idWlsZGVyL3dyaXRlL3V0aWxzLnJzAHF1ZXJ5LWNvbXBpbGVyL2NvcmUvc3JjL3F1ZXJ5X2dyYXBoX2J1aWxkZXIvcmVhZC91dGlscy5ycwBxdWVyeS1jb21waWxlci9zY2hlbWEvc3JjL3V0aWxzLnJzAC9ob21lL3J1bm5lci8uY2FyZ28vcmVnaXN0cnkvc3JjL2luZGV4LmNyYXRlcy5pby0xOTQ5Y2Y4YzZiNWI1NTdmL2Nocm9uby0wLjQuNDIvc3JjL25haXZlL2ludGVybmFscy5ycwBxdWVyeS1jb21waWxlci9xdWVyeS1zdHJ1Y3R1cmUvc3JjL3dyaXRlX2FyZ3MucnMAcHNsL3BhcnNlci1kYXRhYmFzZS9zcmMvY29udGV4dC9hdHRyaWJ1dGVzLnJzAHBzbC9wYXJzZXItZGF0YWJhc2Uvc3JjL2F0dHJpYnV0ZXMucnMAcHNsL3BzbC1jb3JlL3NyYy9jb21tb24vcHJldmlld19mZWF0dXJlcy5ycwBxdWFpbnQvc3JjL3Zpc2l0b3IvcG9zdGdyZXMucnMAcXVlcnktY29tcGlsZXIvc2NoZW1hL3NyYy9idWlsZC9pbnB1dF90eXBlcy9maWVsZHMvZmllbGRfZmlsdGVyX3R5cGVzLnJzAHBzbC9wYXJzZXItZGF0YWJhc2Uvc3JjL2F0dHJpYnV0ZXMvbmF0aXZlX3R5cGVzLnJzAHBzbC9zY2hlbWEtYXN0L3NyYy9wYXJzZXIvcGFyc2VfdHlwZXMucnMAcHNsL3BhcnNlci1kYXRhYmFzZS9zcmMvdHlwZXMucnMAcHNsL3BhcnNlci1kYXRhYmFzZS9zcmMvbmFtZXMucnMAcHNsL3BhcnNlci1kYXRhYmFzZS9zcmMvdHlwZXMvaW5kZXhfZmllbGRzLnJzAC9ob21lL3J1bm5lci8ucnVzdHVwL3Rvb2xjaGFpbnMvMS45Ny4xLXg4Nl82NC11bmtub3duLWxpbnV4LWdudS9saWIvcnVzdGxpYi9zcmMvcnVzdC9saWJyYXJ5L3N0ZC9zcmMvc3lzL3RocmVhZF9sb2NhbC9ub190aHJlYWRzLnJzAC9ydXN0Yy84YmFiMjZmNGY2OGUwZTI2ZjBiYjc5NjBiZTMzNGQ1YjUyMGVhNDUyL2xpYnJhcnkvc3RkL3NyYy9zeXMvc3luYy9yd2xvY2svbm9fdGhyZWFkcy5ycwAvaG9tZS9ydW5uZXIvLnJ1c3R1cC90b29sY2hhaW5zLzEuOTcuMS14ODZfNjQtdW5rbm93bi1saW51eC1nbnUvbGliL3J1c3RsaWIvc3JjL3J1c3QvbGlicmFyeS9zdGQvc3JjL3N5cy9zeW5jL29uY2Uvbm9fdGhyZWFkcy5ycwAvaG9tZS9ydW5uZXIvLnJ1c3R1cC90b29sY2hhaW5zLzEuOTcuMS14ODZfNjQtdW5rbm93bi1saW51eC1nbnUvbGliL3J1c3RsaWIvc3JjL3J1c3QvbGlicmFyeS9hbGxvYy9zcmMvc3RyLnJzAC9ydXN0Yy84YmFiMjZmNGY2OGUwZTI2ZjBiYjc5NjBiZTMzNGQ1YjUyMGVhNDUyL2xpYnJhcnkvYWxsb2Mvc3JjL3N0ci5ycwBxdWVyeS1jb21waWxlci9xdWVyeS1idWlsZGVycy9zcWwtcXVlcnktYnVpbGRlci9zcmMvZmlsdGVyL3Zpc2l0b3IucnMAcXVhaW50L3NyYy92aXNpdG9yLnJzAHBzbC9wc2wtY29yZS9zcmMvZGF0YW1vZGVsX2Nvbm5lY3Rvci9lbXB0eV9jb25uZWN0b3IucnMAcHNsL3BzbC1jb3JlL3NyYy9idWlsdGluX2Nvbm5lY3RvcnMvcG9zdGdyZXNfZGF0YW1vZGVsX2Nvbm5lY3Rvci5ycwBwc2wvcHNsLWNvcmUvc3JjL2RhdGFtb2RlbF9jb25uZWN0b3IucnMAcHNsL3NjaGVtYS1hc3Qvc3JjL3BhcnNlci9wYXJzZV9zb3VyY2VfYW5kX2dlbmVyYXRvci5ycwBxdWVyeS1jb21waWxlci9jb3JlL3NyYy9xdWVyeV9ncmFwaF9idWlsZGVyL2Vycm9yLnJzAC9ob21lL3J1bm5lci8uY2FyZ28vcmVnaXN0cnkvc3JjL2luZGV4LmNyYXRlcy5pby0xOTQ5Y2Y4YzZiNWI1NTdmL3NlcmRlX2pzb24tMS4wLjEwNC9zcmMvZXJyb3IucnMAL2hvbWUvcnVubmVyLy5jYXJnby9yZWdpc3RyeS9zcmMvaW5kZXguY3JhdGVzLmlvLTE5NDljZjhjNmI1YjU1N2YvdXVpZC0xLjEwLjAvc3JjL2Vycm9yLnJzAC9ob21lL3J1bm5lci8uY2FyZ28vcmVnaXN0cnkvc3JjL2luZGV4LmNyYXRlcy5pby0xOTQ5Y2Y4YzZiNWI1NTdmL3Blc3QtMi44LjQvc3JjL2l0ZXJhdG9ycy9wYWlyLnJzAHF1ZXJ5LWNvbXBpbGVyL3JlcXVlc3QtaGFuZGxlcnMvc3JjL3Byb3RvY29scy9qc29uL3Byb3RvY29sX2FkYXB0ZXIucnMAcXVlcnktY29tcGlsZXIvcXVlcnktc3RydWN0dXJlL3NyYy9maWx0ZXIvaW50b19maWx0ZXIucnMAL2hvbWUvcnVubmVyLy5ydXN0dXAvdG9vbGNoYWlucy8xLjk3LjEteDg2XzY0LXVua25vd24tbGludXgtZ251L2xpYi9ydXN0bGliL3NyYy9ydXN0L2xpYnJhcnkvY29yZS9zcmMvc2xpY2UvaXRlci5ycwBxdWVyeS1jb21waWxlci9jb3JlL3NyYy9xdWVyeV9ncmFwaF9idWlsZGVyL3dyaXRlL3dyaXRlX2FyZ3NfcGFyc2VyLnJzAHF1ZXJ5LWNvbXBpbGVyL2NvcmUvc3JjL3F1ZXJ5X2RvY3VtZW50L3BhcnNlci5ycwAvaG9tZS9ydW5uZXIvLmNhcmdvL3JlZ2lzdHJ5L3NyYy9pbmRleC5jcmF0ZXMuaW8tMTk0OWNmOGM2YjViNTU3Zi91dWlkLTEuMTAuMC9zcmMvcGFyc2VyLnJzAC9ob21lL3J1bm5lci8uY2FyZ28vcmVnaXN0cnkvc3JjL2luZGV4LmNyYXRlcy5pby0xOTQ5Y2Y4YzZiNWI1NTdmL3NlcmRlX2pzb24tMS4wLjEwNC9zcmMvdmFsdWUvc2VyLnJzAC9ob21lL3J1bm5lci8uY2FyZ28vcmVnaXN0cnkvc3JjL2luZGV4LmNyYXRlcy5pby0xOTQ5Y2Y4YzZiNWI1NTdmL3NlcmRlX2pzb24tMS4wLjEwNC9zcmMvc2VyLnJzAHF1ZXJ5LWNvbXBpbGVyL3F1ZXJ5LWNvbXBpbGVyL3NyYy9kYXRhX21hcHBlci5ycwBxdWVyeS1jb21waWxlci9xdWVyeS1jb21waWxlci13YXNtL3NyYy9jb21waWxlci5ycwBxdWVyeS1jb21waWxlci9jb3JlL3NyYy9xdWVyeV9ncmFwaF9idWlsZGVyL2J1aWxkZXIucnMAcXVlcnktY29tcGlsZXIvY29yZS9zcmMvcXVlcnlfZ3JhcGhfYnVpbGRlci9leHRyYWN0b3JzL2ZpbHRlcnMvc2NhbGFyLnJzAHF1ZXJ5LWNvbXBpbGVyL3F1ZXJ5LXN0cnVjdHVyZS9zcmMvZmllbGQvc2NhbGFyLnJzAC9ydXN0Yy84YmFiMjZmNGY2OGUwZTI2ZjBiYjc5NjBiZTMzNGQ1YjUyMGVhNDUyL2xpYnJhcnkvY29yZS9zcmMvbnVtL2ltcC9kZWMyZmx0L2RlY2ltYWxfc2VxLnJzAC9ob21lL3J1bm5lci8uY2FyZ28vcmVnaXN0cnkvc3JjL2luZGV4LmNyYXRlcy5pby0xOTQ5Y2Y4YzZiNWI1NTdmL3NlcmRlX2pzb24tMS4wLjEwNC9zcmMvbGV4aWNhbC9iaGNvbXAucnMAcHNsL3BhcnNlci1kYXRhYmFzZS9zcmMvYXR0cmlidXRlcy9tYXAucnMAL2hvbWUvcnVubmVyLy5jYXJnby9yZWdpc3RyeS9zcmMvaW5kZXguY3JhdGVzLmlvLTE5NDljZjhjNmI1YjU1N2YvaW5kZXhtYXAtMi4xMC4wL3NyYy9tYXAucnMAL2hvbWUvcnVubmVyLy5ydXN0dXAvdG9vbGNoYWlucy8xLjk3LjEteDg2XzY0LXVua25vd24tbGludXgtZ251L2xpYi9ydXN0bGliL3NyYy9ydXN0L2xpYnJhcnkvY29yZS9zcmMvc3RyL3BhdHRlcm4ucnMAL3J1c3RjLzhiYWIyNmY0ZjY4ZTBlMjZmMGJiNzk2MGJlMzM0ZDViNTIwZWE0NTIvbGlicmFyeS9jb3JlL3NyYy9zdHIvcGF0dGVybi5ycwAvaG9tZS9ydW5uZXIvLmNhcmdvL3JlZ2lzdHJ5L3NyYy9pbmRleC5jcmF0ZXMuaW8tMTk0OWNmOGM2YjViNTU3Zi9wZXN0LTIuOC40L3NyYy9wb3NpdGlvbi5ycwBxdWVyeS1jb21waWxlci9xdWVyeS1idWlsZGVycy9zcWwtcXVlcnktYnVpbGRlci9zcmMvY3Vyc29yX2NvbmRpdGlvbi5ycwAvaG9tZS9ydW5uZXIvLmNhcmdvL3JlZ2lzdHJ5L3NyYy9pbmRleC5jcmF0ZXMuaW8tMTk0OWNmOGM2YjViNTU3Zi9udW0tYmlnaW50LTAuNC4zL3NyYy9iaWd1aW50L2FkZGl0aW9uLnJzAHF1ZXJ5LWNvbXBpbGVyL3F1ZXJ5LXN0cnVjdHVyZS9zcmMvZmllbGRfc2VsZWN0aW9uLnJzAHF1ZXJ5LWNvbXBpbGVyL2NvcmUvc3JjL3F1ZXJ5X2RvY3VtZW50L3NlbGVjdGlvbi5ycwBxdWVyeS1jb21waWxlci9xdWVyeS1zdHJ1Y3R1cmUvc3JjL3Byb2plY3Rpb25zL21vZGVsX3Byb2plY3Rpb24ucnMAL2hvbWUvcnVubmVyLy5jYXJnby9yZWdpc3RyeS9zcmMvaW5kZXguY3JhdGVzLmlvLTE5NDljZjhjNmI1YjU1N2YvbnVtLWJpZ2ludC0wLjQuMy9zcmMvYmlndWludC9zdWJ0cmFjdGlvbi5ycwBwc2wvcGFyc2VyLWRhdGFiYXNlL3NyYy93YWxrZXJzL3JlbGF0aW9uLnJzAHF1ZXJ5LWNvbXBpbGVyL3F1ZXJ5LWJ1aWxkZXJzL3NxbC1xdWVyeS1idWlsZGVyL3NyYy9tb2RlbF9leHRlbnNpb25zL3JlbGF0aW9uLnJzAHF1ZXJ5LWNvbXBpbGVyL3F1ZXJ5LXN0cnVjdHVyZS9zcmMvZmllbGQvcmVsYXRpb24ucnMAcXVlcnktY29tcGlsZXIvcXVlcnktc3RydWN0dXJlL3NyYy9yZWxhdGlvbi5ycwBsaWJzL3VzZXItZmFjaW5nLWVycm9ycy9zcmMvcXVlcnlfZW5naW5lL3ZhbGlkYXRpb24ucnMAL2hvbWUvcnVubmVyLy5jYXJnby9yZWdpc3RyeS9zcmMvaW5kZXguY3JhdGVzLmlvLTE5NDljZjhjNmI1YjU1N2YvbnVtLWJpZ2ludC0wLjQuMy9zcmMvYmlndWludC9tdWx0aXBsaWNhdGlvbi5ycwBwc2wvc2NoZW1hLWFzdC9zcmMvcGFyc2VyL3BhcnNlX2V4cHJlc3Npb24ucnMAL2hvbWUvcnVubmVyLy5jYXJnby9yZWdpc3RyeS9zcmMvaW5kZXguY3JhdGVzLmlvLTE5NDljZjhjNmI1YjU1N2YvbnVtLWJpZ2ludC0wLjQuMy9zcmMvYmlndWludC9kaXZpc2lvbi5ycwAvcnVzdGMvOGJhYjI2ZjRmNjhlMGUyNmYwYmI3OTYwYmUzMzRkNWI1MjBlYTQ1Mi9saWJyYXJ5L2NvcmUvc3JjL251bS9pbXAvZmx0MmRlYy9zdHJhdGVneS9kcmFnb24ucnMAcXVlcnktY29tcGlsZXIvcXVlcnktYnVpbGRlcnMvc3FsLXF1ZXJ5LWJ1aWxkZXIvc3JjL21vZGVsX2V4dGVuc2lvbnMvY29sdW1uLnJzAC9ob21lL3J1bm5lci8uY2FyZ28vcmVnaXN0cnkvc3JjL2luZGV4LmNyYXRlcy5pby0xOTQ5Y2Y4YzZiNWI1NTdmL2Nocm9uby0wLjQuNDIvc3JjL2Zvcm1hdC9zY2FuLnJzAC9ydXN0Yy84YmFiMjZmNGY2OGUwZTI2ZjBiYjc5NjBiZTMzNGQ1YjUyMGVhNDUyL2xpYnJhcnkvY29yZS9zcmMvbnVtL2ltcC9iaWdudW0ucnMAcHNsL3NjaGVtYS1hc3Qvc3JjL3BhcnNlci9wYXJzZV9lbnVtLnJzAHBzbC9wYXJzZXItZGF0YWJhc2Uvc3JjL3dhbGtlcnMvZW51bS5ycwBwc2wvc2NoZW1hLWFzdC9zcmMvcGFyc2VyL3BhcnNlX21vZGVsLnJzAHBzbC9wYXJzZXItZGF0YWJhc2Uvc3JjL3dhbGtlcnMvbW9kZWwucnMAcXVlcnktY29tcGlsZXIvcXVlcnktc3RydWN0dXJlL3NyYy9tb2RlbC5ycwBxdWVyeS1jb21waWxlci9xdWVyeS1idWlsZGVycy9zcWwtcXVlcnktYnVpbGRlci9zcmMvc2VsZWN0L2xhdGVyYWwucnMAL2hvbWUvcnVubmVyLy5jYXJnby9yZWdpc3RyeS9zcmMvaW5kZXguY3JhdGVzLmlvLTE5NDljZjhjNmI1YjU1N2YvdG9raW8tMS40NS4xL3NyYy90YXNrL3Rhc2tfbG9jYWwucnMAL3J1c3RjLzhiYWIyNmY0ZjY4ZTBlMjZmMGJiNzk2MGJlMzM0ZDViNTIwZWE0NTIvbGlicmFyeS9zdGQvc3JjL3N5bmMvbGF6eV9sb2NrLnJzAC9ob21lL3J1bm5lci8uY2FyZ28vcmVnaXN0cnkvc3JjL2luZGV4LmNyYXRlcy5pby0xOTQ5Y2Y4YzZiNWI1NTdmL3NlcmRlX2pzb24tMS4wLjEwNC9zcmMvbGV4aWNhbC9tYXRoLnJzAHF1ZXJ5LWNvbXBpbGVyL3F1ZXJ5LWNvbXBpbGVyL3NyYy90cmFuc2xhdGUvcXVlcnkvcmVhZC9pbl9tZW1vcnlfcHJvY2Vzc2luZy5ycwAvaG9tZS9ydW5uZXIvLnJ1c3R1cC90b29sY2hhaW5zLzEuOTcuMS14ODZfNjQtdW5rbm93bi1saW51eC1nbnUvbGliL3J1c3RsaWIvc3JjL3J1c3QvbGlicmFyeS9hbGxvYy9zcmMvc3RyaW5nLnJzAHF1ZXJ5LWNvbXBpbGVyL3F1ZXJ5LWJ1aWxkZXJzL3NxbC1xdWVyeS1idWlsZGVyL3NyYy9vcmRlcmluZy5ycwAvcnVzdGMvOGJhYjI2ZjRmNjhlMGUyNmYwYmI3OTYwYmUzMzRkNWI1MjBlYTQ1Mi9saWJyYXJ5L3N0ZC9zcmMvcGFuaWNraW5nLnJzAC9ob21lL3J1bm5lci8uY2FyZ28vcmVnaXN0cnkvc3JjL2luZGV4LmNyYXRlcy5pby0xOTQ5Y2Y4YzZiNWI1NTdmL3dhc20tYmluZGdlbi0wLjIuMTA1L3NyYy9leHRlcm5yZWYucnMAcXVlcnktY29tcGlsZXIvcXVlcnktc3RydWN0dXJlL3NyYy9kZWZhdWx0X3ZhbHVlLnJzAHBzbC9zY2hlbWEtYXN0L3NyYy9wYXJzZXIvcGFyc2VfYXR0cmlidXRlLnJzAHF1ZXJ5LWNvbXBpbGVyL2NvcmUvc3JjL3F1ZXJ5X2dyYXBoX2J1aWxkZXIvZXh0cmFjdG9ycy9maWx0ZXJzL2NvbXBvc2l0ZS5ycwBxdWVyeS1jb21waWxlci9xdWVyeS1zdHJ1Y3R1cmUvc3JjL2ZpZWxkL2NvbXBvc2l0ZS5ycwBxdWVyeS1jb21waWxlci9xdWVyeS1jb21waWxlci9zcmMvdHJhbnNsYXRlL3F1ZXJ5L3dyaXRlLnJzAHF1ZXJ5LWNvbXBpbGVyL2NvcmUvc3JjL3F1ZXJ5X2FzdC93cml0ZS5ycwBxdWVyeS1jb21waWxlci9xdWVyeS1idWlsZGVycy9zcWwtcXVlcnktYnVpbGRlci9zcmMvd3JpdGUucnMAcXVlcnktY29tcGlsZXIvY29yZS9zcmMvcXVlcnlfZ3JhcGhfYnVpbGRlci93cml0ZS9kZWxldGUucnMAL2hvbWUvcnVubmVyLy5jYXJnby9yZWdpc3RyeS9zcmMvaW5kZXguY3JhdGVzLmlvLTE5NDljZjhjNmI1YjU1N2YvcGVzdC0yLjguNC9zcmMvcGFyc2VyX3N0YXRlLnJzAHF1ZXJ5LWNvbXBpbGVyL3F1ZXJ5LWNvbXBpbGVyL3NyYy90cmFuc2xhdGUucnMAL2hvbWUvcnVubmVyLy5ydXN0dXAvdG9vbGNoYWlucy8xLjk3LjEteDg2XzY0LXVua25vd24tbGludXgtZ251L2xpYi9ydXN0bGliL3NyYy9ydXN0L2xpYnJhcnkvYWxsb2Mvc3JjL2NvbGxlY3Rpb25zL2J0cmVlL25hdmlnYXRlLnJzAHF1ZXJ5LWNvbXBpbGVyL2NvcmUvc3JjL3F1ZXJ5X2dyYXBoX2J1aWxkZXIvcmVhZC9hZ2dyZWdhdGlvbnMvYWdncmVnYXRlLnJzAHF1ZXJ5LWNvbXBpbGVyL3NjaGVtYS9zcmMvYnVpbGQvaW5wdXRfdHlwZXMvZmllbGRzL2RhdGFfaW5wdXRfbWFwcGVyL2NyZWF0ZS5ycwBxdWVyeS1jb21waWxlci9jb3JlL3NyYy9xdWVyeV9ncmFwaF9idWlsZGVyL3dyaXRlL2NyZWF0ZS5ycwBxdWVyeS1jb21waWxlci9zY2hlbWEvc3JjL2J1aWxkL2lucHV0X3R5cGVzL2ZpZWxkcy9kYXRhX2lucHV0X21hcHBlci91cGRhdGUucnMAcXVlcnktY29tcGlsZXIvY29yZS9zcmMvcXVlcnlfZ3JhcGhfYnVpbGRlci93cml0ZS91cGRhdGUucnMAL3J1c3RjLzhiYWIyNmY0ZjY4ZTBlMjZmMGJiNzk2MGJlMzM0ZDViNTIwZWE0NTIvbGlicmFyeS9jb3JlL3NyYy9udW0vaW1wL2RlYzJmbHQvcGFyc2UucnMAL2hvbWUvcnVubmVyLy5jYXJnby9yZWdpc3RyeS9zcmMvaW5kZXguY3JhdGVzLmlvLTE5NDljZjhjNmI1YjU1N2YvY2hyb25vLTAuNC40Mi9zcmMvZm9ybWF0L3BhcnNlLnJzAC9ob21lL3J1bm5lci8uY2FyZ28vcmVnaXN0cnkvc3JjL2luZGV4LmNyYXRlcy5pby0xOTQ5Y2Y4YzZiNWI1NTdmL3NlcmRlX2pzb24tMS4wLjEwNC9zcmMvbGV4aWNhbC9wYXJzZS5ycwAvaG9tZS9ydW5uZXIvLmNhcmdvL3JlZ2lzdHJ5L3NyYy9pbmRleC5jcmF0ZXMuaW8tMTk0OWNmOGM2YjViNTU3Zi9pbmRleG1hcC0yLjEwLjAvc3JjL21hcC9jb3JlLnJzAHF1ZXJ5LWNvbXBpbGVyL3NjaGVtYS9zcmMvYnVpbGQvaW5wdXRfdHlwZXMvZmllbGRzL2ZpZWxkX3JlZl90eXBlLnJzAHBzbC9zY2hlbWEtYXN0L3NyYy9wYXJzZXIvcGFyc2VfY29tcG9zaXRlX3R5cGUucnMAcHNsL3BhcnNlci1kYXRhYmFzZS9zcmMvd2Fsa2Vycy9jb21wb3NpdGVfdHlwZS5ycwBxdWVyeS1jb21waWxlci9zY2hlbWEvc3JjL2J1aWxkL211dGF0aW9ucy9jcmVhdGVfb25lLnJzAHF1ZXJ5LWNvbXBpbGVyL2NvcmUvc3JjL3F1ZXJ5X2dyYXBoX2J1aWxkZXIvcmVhZC9vbmUucnMAL2hvbWUvcnVubmVyLy5jYXJnby9yZWdpc3RyeS9zcmMvaW5kZXguY3JhdGVzLmlvLTE5NDljZjhjNmI1YjU1N2YvY2hyb25vLTAuNC40Mi9zcmMvZm9ybWF0L3N0cmZ0aW1lLnJzAC9ydXN0Yy84YmFiMjZmNGY2OGUwZTI2ZjBiYjc5NjBiZTMzNGQ1YjUyMGVhNDUyL2xpYnJhcnkvY29yZS9zcmMvdW5pY29kZS9wcmludGFibGUucnMAcXVhaW50L3NyYy9hc3QvdGFibGUucnMAcXVlcnktY29tcGlsZXIvcXVlcnktYnVpbGRlcnMvc3FsLXF1ZXJ5LWJ1aWxkZXIvc3JjL21vZGVsX2V4dGVuc2lvbnMvdGFibGUucnMAcXVlcnktY29tcGlsZXIvcXVlcnktY29tcGlsZXIvc3JjL3Jlc3VsdF9ub2RlLnJzAC9ob21lL3J1bm5lci8ucnVzdHVwL3Rvb2xjaGFpbnMvMS45Ny4xLXg4Nl82NC11bmtub3duLWxpbnV4LWdudS9saWIvcnVzdGxpYi9zcmMvcnVzdC9saWJyYXJ5L2FsbG9jL3NyYy9jb2xsZWN0aW9ucy9idHJlZS9ub2RlLnJzAC9ob21lL3J1bm5lci8uY2FyZ28vcmVnaXN0cnkvc3JjL2luZGV4LmNyYXRlcy5pby0xOTQ5Y2Y4YzZiNWI1NTdmL2Jhc2U2NC0wLjIyLjEvc3JjL2VuY29kZS5ycwAvaG9tZS9ydW5uZXIvLmNhcmdvL3JlZ2lzdHJ5L3NyYy9pbmRleC5jcmF0ZXMuaW8tMTk0OWNmOGM2YjViNTU3Zi9iYXNlNjQtMC4yMi4xL3NyYy9lbmdpbmUvZ2VuZXJhbF9wdXJwb3NlL2RlY29kZS5ycwAvaG9tZS9ydW5uZXIvLmNhcmdvL3JlZ2lzdHJ5L3NyYy9pbmRleC5jcmF0ZXMuaW8tMTk0OWNmOGM2YjViNTU3Zi9zZXJkZS0xLjAuMjI4L3NyYy9wcml2YXRlL2RlLnJzAC9ob21lL3J1bm5lci8uY2FyZ28vcmVnaXN0cnkvc3JjL2luZGV4LmNyYXRlcy5pby0xOTQ5Y2Y4YzZiNWI1NTdmL3NlcmRlX2pzb24tMS4wLjEwNC9zcmMvZGUucnMAcHNsL3BzbC1jb3JlL3NyYy9jb25maWd1cmF0aW9uL2RhdGFzb3VyY2UucnMAL2hvbWUvcnVubmVyLy5ydXN0dXAvdG9vbGNoYWlucy8xLjk3LjEteDg2XzY0LXVua25vd24tbGludXgtZ251L2xpYi9ydXN0bGliL3NyYy9ydXN0L2xpYnJhcnkvc3RkL3NyYy9zeW5jL29uY2UucnMAcXVlcnktY29tcGlsZXIvY29yZS9zcmMvcXVlcnlfZ3JhcGgvZ3VhcmQucnMAL2hvbWUvcnVubmVyLy5jYXJnby9yZWdpc3RyeS9zcmMvaW5kZXguY3JhdGVzLmlvLTE5NDljZjhjNmI1YjU1N2YvaGFzaGJyb3duLTAuMTUuMi9zcmMvcmF3L21vZC5ycwBxdWVyeS1jb21waWxlci9jb3JlL3NyYy9xdWVyeV9kb2N1bWVudC9tb2QucnMAL3J1c3RjLzhiYWIyNmY0ZjY4ZTBlMjZmMGJiNzk2MGJlMzM0ZDViNTIwZWE0NTIvbGlicmFyeS9jb3JlL3NyYy9mbXQvbW9kLnJzAHF1ZXJ5LWNvbXBpbGVyL3F1ZXJ5LWJ1aWxkZXJzL3NxbC1xdWVyeS1idWlsZGVyL3NyYy9zZWxlY3QvbW9kLnJzAC9ob21lL3J1bm5lci8uY2FyZ28vcmVnaXN0cnkvc3JjL2luZGV4LmNyYXRlcy5pby0xOTQ5Y2Y4YzZiNWI1NTdmL2Nocm9uby0wLjQuNDIvc3JjL2Zvcm1hdC9tb2QucnMAcXVlcnktY29tcGlsZXIvY29yZS9zcmMvcXVlcnlfZ3JhcGhfYnVpbGRlci9leHRyYWN0b3JzL2ZpbHRlcnMvbW9kLnJzAHF1ZXJ5LWNvbXBpbGVyL2NvcmUvc3JjL3F1ZXJ5X2dyYXBoX2J1aWxkZXIvcmVhZC9hZ2dyZWdhdGlvbnMvbW9kLnJzAHF1ZXJ5LWNvbXBpbGVyL3NjaGVtYS9zcmMvYnVpbGQvaW5wdXRfdHlwZXMvbW9kLnJzAHF1ZXJ5LWNvbXBpbGVyL3F1ZXJ5LXN0cnVjdHVyZS9zcmMvZmlsdGVyL3NjYWxhci9tb2QucnMAL2hvbWUvcnVubmVyLy5ydXN0dXAvdG9vbGNoYWlucy8xLjk3LjEteDg2XzY0LXVua25vd24tbGludXgtZ251L2xpYi9ydXN0bGliL3NyYy9ydXN0L2xpYnJhcnkvc3RkL3NyYy9pby9tb2QucnMAcXVlcnktY29tcGlsZXIvY29yZS9zcmMvcXVlcnlfZ3JhcGgvbW9kLnJzAC9ob21lL3J1bm5lci8uY2FyZ28vcmVnaXN0cnkvc3JjL2luZGV4LmNyYXRlcy5pby0xOTQ5Y2Y4YzZiNWI1NTdmL2Nocm9uby0wLjQuNDIvc3JjL25haXZlL2RhdGUvbW9kLnJzAC9ob21lL3J1bm5lci8uY2FyZ28vcmVnaXN0cnkvc3JjL2luZGV4LmNyYXRlcy5pby0xOTQ5Y2Y4YzZiNWI1NTdmL2Jhc2U2NC0wLjIyLjEvc3JjL2VuZ2luZS9nZW5lcmFsX3B1cnBvc2UvbW9kLnJzAC9ob21lL3J1bm5lci8uY2FyZ28vcmVnaXN0cnkvc3JjL2luZGV4LmNyYXRlcy5pby0xOTQ5Y2Y4YzZiNWI1NTdmL2Jhc2U2NC0wLjIyLjEvc3JjL2VuZ2luZS9tb2QucnMAL2hvbWUvcnVubmVyLy5jYXJnby9yZWdpc3RyeS9zcmMvaW5kZXguY3JhdGVzLmlvLTE5NDljZjhjNmI1YjU1N2YvY2hyb25vLTAuNC40Mi9zcmMvbmFpdmUvZGF0ZXRpbWUvbW9kLnJzAC9ob21lL3J1bm5lci8uY2FyZ28vcmVnaXN0cnkvc3JjL2luZGV4LmNyYXRlcy5pby0xOTQ5Y2Y4YzZiNWI1NTdmL2Nocm9uby0wLjQuNDIvc3JjL2RhdGV0aW1lL21vZC5ycwAvaG9tZS9ydW5uZXIvLmNhcmdvL3JlZ2lzdHJ5L3NyYy9pbmRleC5jcmF0ZXMuaW8tMTk0OWNmOGM2YjViNTU3Zi9zZXJkZV9jb3JlLTEuMC4yMjgvc3JjL2RlL21vZC5ycwBxdWVyeS1jb21waWxlci9xdWVyeS1zdHJ1Y3R1cmUvc3JjL2ZpZWxkL21vZC5ycwBxdWVyeS1jb21waWxlci9jb3JlL3NyYy9xdWVyeV9ncmFwaF9idWlsZGVyL3dyaXRlL25lc3RlZC9tb2QucnMAL2hvbWUvcnVubmVyLy5ydXN0dXAvdG9vbGNoYWlucy8xLjk3LjEteDg2XzY0LXVua25vd24tbGludXgtZ251L2xpYi9ydXN0bGliL3NyYy9ydXN0L2xpYnJhcnkvYWxsb2Mvc3JjL3Jhd192ZWMvbW9kLnJzAC9ydXN0Yy84YmFiMjZmNGY2OGUwZTI2ZjBiYjc5NjBiZTMzNGQ1YjUyMGVhNDUyL2xpYnJhcnkvYWxsb2Mvc3JjL3Jhd192ZWMvbW9kLnJzAC9ob21lL3J1bm5lci8ucnVzdHVwL3Rvb2xjaGFpbnMvMS45Ny4xLXg4Nl82NC11bmtub3duLWxpbnV4LWdudS9saWIvcnVzdGxpYi9zcmMvcnVzdC9saWJyYXJ5L2FsbG9jL3NyYy92ZWMvbW9kLnJzAC9ydXN0Yy84YmFiMjZmNGY2OGUwZTI2ZjBiYjc5NjBiZTMzNGQ1YjUyMGVhNDUyL2xpYnJhcnkvYWxsb2Mvc3JjL3ZlYy9tb2QucnMAL3J1c3RjLzhiYWIyNmY0ZjY4ZTBlMjZmMGJiNzk2MGJlMzM0ZDViNTIwZWE0NTIvbGlicmFyeS9jb3JlL3NyYy9udW0vaW1wL2ZsdDJkZWMvbW9kLnJzAHBzbC9wYXJzZXItZGF0YWJhc2Uvc3JjL3dhbGtlcnMvc2NhbGFyX2ZpZWxkLnJzAHF1ZXJ5LWNvbXBpbGVyL3F1ZXJ5LWJ1aWxkZXJzL3NxbC1xdWVyeS1idWlsZGVyL3NyYy9tb2RlbF9leHRlbnNpb25zL3NjYWxhcl9maWVsZC5ycwBwc2wvcGFyc2VyLWRhdGFiYXNlL3NyYy93YWxrZXJzL3JlbGF0aW9uX2ZpZWxkLnJzAHBzbC9zY2hlbWEtYXN0L3NyYy9wYXJzZXIvcGFyc2VfZmllbGQucnMAcXVlcnktY29tcGlsZXIvc2NoZW1hL3NyYy9idWlsZC9vdXRwdXRfdHlwZXMvZmllbGQucnMAcHNsL3BhcnNlci1kYXRhYmFzZS9zcmMvYXR0cmlidXRlcy9pZC5ycwBxdWVyeS1jb21waWxlci9jb3JlL3NyYy9xdWVyeV9ncmFwaF9idWlsZGVyL3dyaXRlL25lc3RlZC91cHNlcnRfbmVzdGVkLnJzAHF1ZXJ5LWNvbXBpbGVyL2NvcmUvc3JjL3F1ZXJ5X2dyYXBoX2J1aWxkZXIvd3JpdGUvbmVzdGVkL3NldF9uZXN0ZWQucnMAL2hvbWUvcnVubmVyLy5ydXN0dXAvdG9vbGNoYWlucy8xLjk3LjEteDg2XzY0LXVua25vd24tbGludXgtZ251L2xpYi9ydXN0bGliL3NyYy9ydXN0L2xpYnJhcnkvYWxsb2Mvc3JjL3ZlYy9zcGVjX2Zyb21faXRlcl9uZXN0ZWQucnMAcXVlcnktY29tcGlsZXIvY29yZS9zcmMvcXVlcnlfZ3JhcGhfYnVpbGRlci93cml0ZS9uZXN0ZWQvY29ubmVjdF9vcl9jcmVhdGVfbmVzdGVkLnJzAHF1ZXJ5LWNvbXBpbGVyL2NvcmUvc3JjL3F1ZXJ5X2dyYXBoX2J1aWxkZXIvd3JpdGUvbmVzdGVkL2NyZWF0ZV9uZXN0ZWQucnMAcXVlcnktY29tcGlsZXIvY29yZS9zcmMvcXVlcnlfZ3JhcGhfYnVpbGRlci93cml0ZS9uZXN0ZWQvdXBkYXRlX25lc3RlZC5ycwBxdWVyeS1jb21waWxlci9jb3JlL3NyYy9xdWVyeV9ncmFwaF9idWlsZGVyL3JlYWQvcmVsYXRlZC5ycwAvaG9tZS9ydW5uZXIvLmNhcmdvL3JlZ2lzdHJ5L3NyYy9pbmRleC5jcmF0ZXMuaW8tMTk0OWNmOGM2YjViNTU3Zi9zZXJkZV9qc29uLTEuMC4xMDQvc3JjL2xleGljYWwvY2FjaGVkLnJzAHF1ZXJ5LWNvbXBpbGVyL3F1ZXJ5LWNvbXBpbGVyL3NyYy90cmFuc2xhdGUvcXVlcnkvcmVhZC5ycwBxdWVyeS1jb21waWxlci9jb3JlL3NyYy9xdWVyeV9hc3QvcmVhZC5ycwBxdWVyeS1jb21waWxlci9xdWVyeS1idWlsZGVycy9zcWwtcXVlcnktYnVpbGRlci9zcmMvcmVhZC5ycwAvaG9tZS9ydW5uZXIvLmNhcmdvL3JlZ2lzdHJ5L3NyYy9pbmRleC5jcmF0ZXMuaW8tMTk0OWNmOGM2YjViNTU3Zi9zZXJkZV9qc29uLTEuMC4xMDQvc3JjL3JlYWQucnMAL3J1c3QvZGVwcy9kbG1hbGxvYy0wLjIuMTMvc3JjL2RsbWFsbG9jLnJzAC9ydXN0Yy84YmFiMjZmNGY2OGUwZTI2ZjBiYjc5NjBiZTMzNGQ1YjUyMGVhNDUyL2xpYnJhcnkvYWxsb2Mvc3JjL3N5bmMucnMAcHNsL3NjaGVtYS1hc3Qvc3JjL2xpYi5ycwBxdWVyeS1jb21waWxlci9xdWVyeS1idWlsZGVycy9zcWwtcXVlcnktYnVpbGRlci9zcmMvbGliLnJzAGxpYnMvcHJpc21hLXZhbHVlL3NyYy9saWIucnMAcHNsL3BhcnNlci1kYXRhYmFzZS9zcmMvbGliLnJzAC9ob21lL3J1bm5lci8uY2FyZ28vcmVnaXN0cnkvc3JjL2luZGV4LmNyYXRlcy5pby0xOTQ5Y2Y4YzZiNWI1NTdmL3VjZC10cmllLTAuMS42L3NyYy9saWIucnMAL2hvbWUvcnVubmVyLy5jYXJnby9yZWdpc3RyeS9zcmMvaW5kZXguY3JhdGVzLmlvLTE5NDljZjhjNmI1YjU1N2Yvc2VyZGUtd2FzbS1iaW5kZ2VuLTAuNi41L3NyYy9saWIucnMAL2hvbWUvcnVubmVyLy5jYXJnby9yZWdpc3RyeS9zcmMvaW5kZXguY3JhdGVzLmlvLTE5NDljZjhjNmI1YjU1N2YvaGV4LTAuNC4zL3NyYy9saWIucnMAL2hvbWUvcnVubmVyLy5jYXJnby9yZWdpc3RyeS9zcmMvaW5kZXguY3JhdGVzLmlvLTE5NDljZjhjNmI1YjU1N2YvanMtc3lzLTAuMy44Mi9zcmMvbGliLnJzAC9ob21lL3J1bm5lci8uY2FyZ28vcmVnaXN0cnkvc3JjL2luZGV4LmNyYXRlcy5pby0xOTQ5Y2Y4YzZiNWI1NTdmL2JpZ2RlY2ltYWwtMC4zLjEvc3JjL2xpYi5ycwAvaG9tZS9ydW5uZXIvLmNhcmdvL3JlZ2lzdHJ5L3NyYy9pbmRleC5jcmF0ZXMuaW8tMTk0OWNmOGM2YjViNTU3Zi9pdGVydG9vbHMtMC4xNC4wL3NyYy9saWIucnMAL3J1c3RjLzhiYWIyNmY0ZjY4ZTBlMjZmMGJiNzk2MGJlMzM0ZDViNTIwZWE0NTIvbGlicmFyeS9jb3JlL3NyYy91bmljb2RlL3VuaWNvZGVfZGF0YS5ycwBxdWVyeS1jb21waWxlci9zY2hlbWEvc3JjL3F1ZXJ5X3NjaGVtYS5ycwBwc2wvc2NoZW1hLWFzdC9zcmMvcGFyc2VyL3BhcnNlX3NjaGVtYS5ycwAhVW5rbm93biBmdW5jdGlvbiBpbiBAZGVmYXVsdCgpOiBgwGZgIGlzIG5vdCBrbm93bi4gWW91IGNhbiByZWFkIGFib3V0IHRoZSBhdmFpbGFibGUgZnVuY3Rpb25zIGhlcmU6IGh0dHBzOi8vcHJpcy5seS9kL2F0dHJpYnV0ZS1mdW5jdGlvbnMABFRoZSDAByBuYW1lIGDAY2AgaXMgaW52YWxpZC4gSXQgaXMgYSByZXNlcnZlZCBuYW1lLiBQbGVhc2UgY2hhbmdlIGl0LiBSZWFkIG1vcmUgYXQgaHR0cHM6Ly9wcmlzLmx5L2QvbmFtaW5nLW1vZGVscwDAAiwgwBksIG9yIG90aGVyIGlnbm9yZWQgZmllbGRzABRJbnZhbGlkIGZpbHRlciBrZXkgYMAnYCBpbnB1dCBjb21iaW5hdGlvbiBmb3IgcmVsYXRpb24gZmlsdGVyABRJbnZhbGlkIGZpbHRlciBrZXkgYMAoYCBpbnB1dCBjb21iaW5hdGlvbiBmb3IgY29tcG9zaXRlIGZpbHRlcgDAE0NvbXBvc2l0ZUxpc3RGaWx0ZXIAwBJMaXN0UmVsYXRpb25GaWx0ZXIAwMAUU2NhbGFyUmVsYXRpb25GaWx0ZXIAwMAPQ29tcG9zaXRlRmlsdGVyAMDAwMDABkZpbHRlcgDALCBjYW4ndCBiZSByZXByZXNlbnRlZCBhcyBhIEphdmFTY3JpcHQgbnVtYmVyAMAQIGVsZW1lbnRzIGluIG1hcAAKY3JlYXRlTWFuecAJQW5kUmV0dXJuAAp1cGRhdGVNYW55wAlBbmRSZXR1cm4AwCcgaXMgbm90IGEgdmFsaWQgc2NhbGFyIGZpbHRlciBvcGVyYXRpb24AwCkgaXMgbm90IGEgdmFsaWQgZ3JvdXBpbmcgZmlsdGVyIG9wZXJhdGlvbgDAD1NjYWxhckZpZWxkRW51bQDAGU9yZGVyQnlSZWxldmFuY2VGaWVsZEVudW0AwAFfwARfbTJtAAVUaGUgYMAjYCBhcmd1bWVudCBtdXN0IGJlIGEgc3RyaW5nIGxpdGVyYWwAAihuwAMpXG7AAlxsAAlQcm9wZXJ0eSDABCBpbiDAASDAHSBuZWVkcyB0byBiZSBhc3NpZ25lZCBhIHZhbHVlAMARR3JvdXBCeU91dHB1dFR5cGUAwA9Db3VudE91dHB1dFR5cGUACkNyZWF0ZU1hbnnAE0FuZFJldHVybk91dHB1dFR5cGUAClVwZGF0ZU1hbnnAE0FuZFJldHVybk91dHB1dFR5cGUAwMATQWdncmVnYXRlT3V0cHV0VHlwZQDACEVudmVsb3BlAA5UaGUgYXJndW1lbnQgYMAaYCBjYW4gb25seSBiZSBkZWZpbmVkIG9uY2UAwBUgZWxlbWVudHMgaW4gc2VxdWVuY2UABkVudW0gYMALYCBub3QgZm91bmQAD1JlbGF0aW9uRmllbGQgYMAMYCBvbiBtb2RlbCBgwAtgIG5vdCBmb3VuZAAHTW9kZWwgYMALYCBub3QgZm91bmQADVNjYWxhckZpZWxkIGDABWAgb24gwAIgYMALYCBub3QgZm91bmQAEENvbXBvc2l0ZUZpZWxkIGDABWAgb24gwAIgYMALYCBub3QgZm91bmQAB0ZpZWxkIGDABWAgb24gwAIgYMALYCBub3QgZm91bmQAMWludGVybmFsIGVycm9yOiBlbnRlcmVkIHVucmVhY2hhYmxlIGNvZGU6IEZpZWxkICfAQycgZG9lcyBub3QgZXhpc3Qgb24gZW5jbG9zaW5nIHR5cGUgYW5kIGlzIG5vdCBhIGtub3duIHZpcnR1YWwgZmllbGQAUVVuYWJsZSB0byBmaXQgZmxvYXQgdmFsdWUgKG9yIGxhcmdlIEpTIGludGVnZXIgc2VyaWFsaXplZCBpbiBleHBvbmVudCBub3RhdGlvbikgJ8AqJyBpbnRvIGEgNjQgQml0IHNpZ25lZCBpbnRlZ2VyIGZvciBmaWVsZCAnwEQnLiBJZiB5b3UncmUgdHJ5aW5nIHRvIHN0b3JlIGxhcmdlIGludGVnZXJzLCBjb25zaWRlciB1c2luZyBgQmlnSW50YAAQZmxvYXRpbmcgcG9pbnQgYMABYAABYMAGYCBvciBgwAFgAAtjaGFyYWN0ZXIgYMABYAAJaW50ZWdlciBgwAFgABhDb3VsZCBub3QgY29udmVydCBmcm9tIGDABmAgdG8gYMABYAAJYm9vbGVhbiBgwAFgAA9taXNzaW5nIGZpZWxkIGDAAWAAEWR1cGxpY2F0ZSBmaWVsZCBgwAFgABlJbnZhbGlkIGFyZ3VtZW50IHZhbHVlLiBgwBJgIGlzIG5vdCBhIHZhbGlkIGDAAWAAOVVuZXhwZWN0ZWQgc2NhbGFyIGlucHV0IG9iamVjdCBuYW1lIGZvciBzdHJpbmcgZmlsdGVyczogYMABYAAYSW52YWxpZCBhcmd1bWVudCB0eXBlLiBgwCxgIHNob3VsZCBiZSBvZiBhbnkgb2YgdGhlIGZvbGxvd2luZyB0eXBlczogYMABYAAdSW52YWxpZCByZWZlcmVudGlhbCBhY3Rpb246IGDAAWAAAWDAAWAAJGBjdHgudmlzaXRfYXR0cmlidXRlcygpIGNhbGxlZCB3aXRoIMBBIHdoaWxlIHRoZSBDb250ZXh0IGlzIHN0aWxsIHZhbGlkYXRpbmcgcHJldmlvdXMgYXR0cmlidXRlIHNldCBvbiDAAWAABCAgICDACSBbbGFiZWw9IsBCIiwgZmlsbGNvbG9yPWJsdWUsIHN0eWxlPWZpbGxlZCwgc2hhcGU9cmVjdGFuZ2xlLCBmb250Y29sb3I9d2hpdGVdAAQgICAgwAkgW2xhYmVsPSLAQSIsIGZpbGxjb2xvcj1yZWQsIHN0eWxlPWZpbGxlZCwgc2hhcGU9cmVjdGFuZ2xlLCBmb250Y29sb3I9d2hpdGVdAAQgICAgwAkgW2xhYmVsPSLAEyIsIHNoYXBlPXJlY3RhbmdsZV0AwAJbXQAEICAgIMAEIC0+IMALIFtsYWJlbD0iKGXAAikgwAIiXQBUVW5hYmxlIHRvIG1hdGNoIGlucHV0IHZhbHVlIHRvIGFueSBhbGxvd2VkIGlucHV0IHR5cGUgZm9yIHRoZSBmaWVsZC4gUGFyc2UgZXJyb3JzOiBbwAFdAAFbwAFdAGtZb3UgcHJvdmlkZWQgbXVsdGlwbGUgdW5uYW1lZCBhcmd1bWVudHMuIFRoaXMgaXMgbm90IHBvc3NpYmxlLiBEaWQgeW91IGZvcmdldCB0aGUgYnJhY2tldHM/IERpZCB5b3UgbWVhbiBgW8ADXWA/ACQgRGlkIHlvdSBtZWFuIHRvIHByb3ZpZGUgYEBAdW5pcXVlKFvABF0pYD8AESBEaWQgeW91IG1lYW4gYEBAwAIoW8AEXSlgPwAcIERpZCB5b3UgbWVhbiB0byBwdXQgaXQgb24gYMACYD8ABlR5cGUgIsBiIiBpcyBuZWl0aGVyIGEgYnVpbHQtaW4gdHlwZSwgbm9yIHJlZmVycyB0byBhbm90aGVyIG1vZGVsLCBjb21wb3NpdGUgdHlwZSwgb3IgZW51bS4gRGlkIHlvdSBtZWFuICLAAiI/AAE8wAwgYnl0ZXMgYmxvYj4ABUxpc3Q8wAE+AAxQbGFjZWhvbGRlcjzAAT4AD0ludmFsaWQgdmFsdWUgJ8BjJyBpbiB3aGVyZSBjbGF1c2UuIEV4cGVjdGVkIHRydWUsIGZhbHNlLCBudWxsLCBhIHN0cmluZywgYSBudW1iZXIsIG9yIGFuIG9iamVjdCBsaWtlIHsgbm90OiBudWxsIH0uAA5UaGUgbmFtZSBvZiBhIMATIG11c3Qgbm90IGJlIGVtcHR5LgALT3BlcmF0aW9uICfADScgZm9yIG1vZGVsICfAGycgZG9lcyBub3QgbWF0Y2ggYW55IHF1ZXJ5LgAST3BhcXVlIHBhcmFtZXRlciAnwB0nIHVzZWQgYXMgcmF3IHZhbHVlIGluIHF1ZXJ5LgA/VGhlIGdpdmVuIG9wZXJhdG9yIGNsYXNzIGBBcnJheU9wc2AgZXhwZWN0cyB0aGUgdHlwZSBvZiBmaWVsZCBgwBFgIHRvIGJlIGFuIGFycmF5LgAhVGhlIHJlZmVyZW5jZWQgc2NhbGFyIGxpc3QgZmllbGQgwAEuwBAgZG9lcyBub3QgZXhpc3QuABxUaGUgcmVmZXJlbmNlZCBzY2FsYXIgZmllbGQgwAEuwBAgZG9lcyBub3QgZXhpc3QuABhNb2RlbCBvciBjb21wb3NpdGUgdHlwZSDAFCB1c2VkIGZvciBmaWVsZCByZWYgwBAgZG9lcyBub3QgZXhpc3QuAAFgwCAoKWAgdGFrZXMgYSBzaW5nbGUgSW50IGFyZ3VtZW50LgAKQXJndW1lbnQgIsArIiBpcyBhbHJlYWR5IHNwZWNpZmllZCBhcyB1bm5hbWVkIGFyZ3VtZW50LgAEVGhlIMACICLAHiIgY2Fubm90IGJlIGRlZmluZWQgYmVjYXVzZSBhIMAfIHdpdGggdGhhdCBuYW1lIGFscmVhZHkgZXhpc3RzLgAEVGhlIMATIGluZGV4IGZpZWxkIHR5cGUgYMAgYCBoYXMgbm8gZGVmYXVsdCBvcGVyYXRvciBjbGFzcy4AR1RoZSBjaGFuZ2UgeW91IGFyZSB0cnlpbmcgdG8gbWFrZSB3b3VsZCB2aW9sYXRlIHRoZSByZXF1aXJlZCByZWxhdGlvbiAnwA8nIGJldHdlZW4gdGhlIGDAB2AgYW5kIGDACWAgbW9kZWxzLgAwVGhlIHVuaXF1ZSBpbmRleCBkZWZpbml0aW9uIHJlZmVycyB0byB0aGUgZmllbGQgwBAgbXVsdGlwbGUgdGltZXMuACRUaGUgY2hhcmFjdGVyIGAtYCBpcyBub3QgYWxsb3dlZCBpbiDAByBuYW1lcy4AMFRoZSBzaGFyZCBrZXkgZGVmaW5pdGlvbiByZWZlcnMgdG8gdGhlIHJlbGF0aW9uIMA6LiBTaGFyZCBrZXkgZGVmaW5pdGlvbnMgbXVzdCByZWZlcmVuY2Ugb25seSBzY2FsYXIgZmllbGRzLgApVGhlIGlkIGRlZmluaXRpb24gcmVmZXJzIHRvIHRoZSByZWxhdGlvbiDAMy4gSUQgZGVmaW5pdGlvbnMgbXVzdCByZWZlcmVuY2Ugb25seSBzY2FsYXIgZmllbGRzLgAOVGhlIGZ1bmN0aW9uIGDAKSgpYCBpcyBub3Qgc3VwcG9ydGVkIG9uIGNvbXBvc2l0ZSBmaWVsZHMuADBUaGUgc2hhcmQga2V5IGRlZmluaXRpb24gcmVmZXJzIHRvIHRoZSBvcHRpb25hbCDAPC4gU2hhcmQga2V5IGRlZmluaXRpb25zIG11c3QgcmVmZXJlbmNlIG9ubHkgcmVxdWlyZWQgZmllbGRzLgApVGhlIGlkIGRlZmluaXRpb24gcmVmZXJzIHRvIHRoZSBvcHRpb25hbCDANS4gSUQgZGVmaW5pdGlvbnMgbXVzdCByZWZlcmVuY2Ugb25seSByZXF1aXJlZCBmaWVsZHMuABBQcm92aWRlZCBsaW1pdCAowB0pIG11c3QgYmUgYSBwb3NpdGl2ZSBpbnRlZ2VyLgAOVGhlIG5hbWUgb2YgYSDAHiBtdXN0IG5vdCBzdGFydCB3aXRoIGEgbnVtYmVyLgANVGhlIGZ1bmN0aW9uIMAZIGlzIG5vdCBhIGtub3duIGZ1bmN0aW9uLgAGVHlwZSAiwFMiIGlzIG5laXRoZXIgYSBidWlsdC1pbiB0eXBlLCBub3IgcmVmZXJzIHRvIGFub3RoZXIgbW9kZWwsIGNvbXBvc2l0ZSB0eXBlLCBvciBlbnVtLgAeVGhlIHZhbHVlIHByb3ZpZGVkIGZvciBjb2x1bW4gwA0gaXMgdG9vIGxvbmcuAApBcmd1bWVudCAiwA0iIGlzIG1pc3NpbmcuAAVUaGUgYMAeYCBhcmd1bWVudCBpcyBtaXNzaW5nIGEgdmFsdWUuACFDb3VsZCBub3QgY29udmVydCBhcmd1bWVudCB2YWx1ZSDAEiB0byBBcmd1bWVudFZhbHVlLgAWVHlwZSBtaXNtYXRjaDogZmllbGQgJ8BAJyBpcyBhbiBFbnVtIGFuZCBvbmx5IGFjY2VwdHMgU3RyaW5nIHZhbHVlcyBpbiB0aGUgd2hlcmUgY2xhdXNlLgAHRmllbGQgJ8BKJyBpcyBhIHJlbGF0aW9uIGZpZWxkLiBPbmx5IHNjYWxhciBmaWVsZHMgY2FuIGJlIHVzZWQgaW4gdGhlIHdoZXJlIGNsYXVzZS4ADUNvbHVtbiB0eXBlICfALicgY291bGQgbm90IGJlIGRlc2VyaWFsaXplZCBmcm9tIHRoZSBkYXRhYmFzZS4AEVByZXZpZXcgZmVhdHVyZSAiwFoiIGlzIGRlcHJlY2F0ZWQuIFRoZSBmdW5jdGlvbmFsaXR5IGNhbiBiZSB1c2VkIHdpdGhvdXQgc3BlY2lmeWluZyBpdCBhcyBhIHByZXZpZXcgZmVhdHVyZS4AGlRoZSBnaXZlbiBvcGVyYXRvciBjbGFzcyBgwB1gIGlzIG5vdCBzdXBwb3J0ZWQgd2l0aCB0aGUgYMANYCBpbmRleCB0eXBlLgAaVGhlIGdpdmVuIG9wZXJhdG9yIGNsYXNzIGDAF2AgcG9pbnRzIHRvIHRoZSBmaWVsZCBgwB1gIHRoYXQgaXMgbm90IG9mIEJpZ0ludCB0eXBlLgAaVGhlIGdpdmVuIG9wZXJhdG9yIGNsYXNzIGDAF2AgcG9pbnRzIHRvIHRoZSBmaWVsZCBgwBpgIHRoYXQgaXMgbm90IG9mIEludCB0eXBlLgAaVGhlIGdpdmVuIG9wZXJhdG9yIGNsYXNzIGDAF2AgcG9pbnRzIHRvIHRoZSBmaWVsZCBgwBxgIHRoYXQgaXMgbm90IG9mIEZsb2F0IHR5cGUuABpUaGUgZ2l2ZW4gb3BlcmF0b3IgY2xhc3MgYMAXYCBwb2ludHMgdG8gdGhlIGZpZWxkIGDAHGAgdGhhdCBpcyBub3Qgb2YgQnl0ZXMgdHlwZS4AGlRoZSBnaXZlbiBvcGVyYXRvciBjbGFzcyBgwBdgIHBvaW50cyB0byB0aGUgZmllbGQgYMAbYCB0aGF0IGlzIG5vdCBvZiBKc29uIHR5cGUuABpUaGUgZ2l2ZW4gb3BlcmF0b3IgY2xhc3MgYMAXYCBwb2ludHMgdG8gdGhlIGZpZWxkIGDAHmAgdGhhdCBpcyBub3Qgb2YgRGVjaW1hbCB0eXBlLgABYMABLsAqYDogRmllbGQgZG9lcyBub3QgZXhpc3QgaW4gZW5jbG9zaW5nIHR5cGUuABpUaGUgZ2l2ZW4gb3BlcmF0b3IgY2xhc3MgYMAXYCBwb2ludHMgdG8gdGhlIGZpZWxkIGDAHWAgdGhhdCBpcyBub3Qgb2YgU3RyaW5nIHR5cGUuABpUaGUgZ2l2ZW4gb3BlcmF0b3IgY2xhc3MgYMAVYCBleHBlY3RzIHRoZSBmaWVsZCBgwCBgIHRvIGRlZmluZSBhIHZhbGlkIG5hdGl2ZSB0eXBlLgAaVGhlIGdpdmVuIG9wZXJhdG9yIGNsYXNzIGDAF2AgcG9pbnRzIHRvIHRoZSBmaWVsZCBgwB9gIHRoYXQgaXMgbm90IG9mIERhdGVUaW1lIHR5cGUuAAxBdHRyaWJ1dGUgIkDAGyIgY2FuIG9ubHkgYmUgZGVmaW5lZCBvbmNlLgAoSW52YWxpZCBvcmRlci1ieSByZWZlcmVuY2UgaW5wdXQ6IEZpZWxkIMAdIGlzIG5vdCBhIHZhbGlkIHNjYWxhciBmaWVsZC4AKEV4cGVjdGVkIGEgcmVmZXJlbmNlZCBzY2FsYXIgbGlzdCBmaWVsZCDAHCBidXQgZm91bmQgYSByZWxhdGlvbiBmaWVsZC4AI0V4cGVjdGVkIGEgcmVmZXJlbmNlZCBzY2FsYXIgZmllbGQgwBwgYnV0IGZvdW5kIGEgcmVsYXRpb24gZmllbGQuAChFeHBlY3RlZCBhIHJlZmVyZW5jZWQgc2NhbGFyIGxpc3QgZmllbGQgwB0gYnV0IGZvdW5kIGEgY29tcG9zaXRlIGZpZWxkLgAjRXhwZWN0ZWQgYSByZWZlcmVuY2VkIHNjYWxhciBmaWVsZCDAHSBidXQgZm91bmQgYSBjb21wb3NpdGUgZmllbGQuABtUaGUgZGVmaW5lZCBkZWZhdWx0IHZhbHVlIGDAO2AgaXMgbm90IGEgdmFsaWQgdmFsdWUgb2YgdGhlIGVudW0gc3BlY2lmaWVkIGZvciB0aGUgZmllbGQuAAtUaGUgZmllbGQgYMBgYCBpcyBhIHJlbGF0aW9uIGZpZWxkIGFuZCBjYW5ub3QgYmUgbWFya2VkIHdpdGggYEBpZGAuIE9ubHkgc2NhbGFyIGZpZWxkcyBjYW4gYmUgZGVjbGFyZWQgYXMgaWQuAAtEZWZpbmluZyBgQMA7YCBhdHRyaWJ1dGUgZm9yIGEgZmllbGQgaW4gYSBjb21wb3NpdGUgdHlwZSBpcyBub3QgYWxsb3dlZC4AwGsgcmVmZXJzIHRvIGEgbW9kZWwsIG1ha2luZyB0aGlzIGEgcmVsYXRpb24gZmllbGQuIFJlbGF0aW9uIGZpZWxkcyBpbnNpZGUgY29tcG9zaXRlIHR5cGVzIGFyZSBub3Qgc3VwcG9ydGVkLgANVW5rbm93biBrZXkgJ8A5JyBpbiBuZXN0ZWQgd2hlcmUgY2xhdXNlIG9iamVjdC4gT25seSAnbm90JyBpcyBzdXBwb3J0ZWQuAAEiwDQiIGlzIGEgcmVzZXJ2ZWQgc2NhbGFyIHR5cGUgbmFtZSBhbmQgY2Fubm90IGJlIHVzZWQuADNBdHRlbXB0ZWQgY29udmVyc2lvbiBvZiBub24tbGlzdCBQYXJzZWRJbnB1dFZhbHVlICjAICkgaW50byBwcmlzbWEgdmFsdWUgbGlzdCBmYWlsZWQuADNBdHRlbXB0ZWQgY29udmVyc2lvbiBvZiBub24taW50IFByaXNtYSB2YWx1ZSB0eXBlICjAEikgaW50byBpbnQgZmFpbGVkLgAyQXR0ZW1wdGVkIGNvbnZlcnNpb24gb2Ygbm9uLW1hcCBQYXJzZWRJbnB1dFZhbHVlICjAEikgaW50byBtYXAgZmFpbGVkLgAyQXR0ZW1wdGVkIGNvbnZlcnNpb24gb2Ygbm9uLW1hcCBQYXJzZWRJbnB1dFZhbHVlICjAGSkgaW50byBPcHRpb24gbWFwIGZhaWxlZC4AN0F0dGVtcHRlZCBjb252ZXJzaW9uIG9mIG5vbi1ib29sZWFuIFByaXNtYSB2YWx1ZSB0eXBlICjAEykgaW50byBib29sIGZhaWxlZC4AKkF0dGVtcHRlZCBjb252ZXJzaW9uIG9mIFBhcnNlZElucHV0VmFsdWUgKMAwKSBpbnRvIHJlbGF0aW9uIGxvYWQgc3RyYXRlZ3kgZW51bSB2YWx1ZSBmYWlsZWQuACxBdHRlbXB0ZWQgY29udmVyc2lvbiBvZiBub24tZmllbGQtcmVmIGVudW0gKMArKSBpbnRvIHNjYWxhciBmaWVsZCByZWZlcmVuY2UgdmFsdWUgZmFpbGVkLgAqQXR0ZW1wdGVkIGNvbnZlcnNpb24gb2YgUGFyc2VkSW5wdXRWYWx1ZSAowBopIGludG8gUHJpc21hVmFsdWUgZmFpbGVkLgARQ29udmVyc2lvbiBmcm9tIGDABmAgdG8gYMAJYCBmYWlsZWQuAApBcmd1bWVudCAiwBciIGlzIGFscmVhZHkgc3BlY2lmaWVkLgABYMA8YDogQSB2YWx1ZSBpcyByZXF1aXJlZCBidXQgbm90IHNldC4gSXQgaXMgcmVxdWlyZWQgYmVjYXVzZSBgwA9gIHdhcyBwcm92aWRlZC4AB0ZpZWxkICfABScgaXMgwE4gYW5kIGNhbm5vdCBiZSB1c2VkIGluIHRoZSBvYmplY3Qgc3ludGF4IG9mIGEgd2hlcmUgY2xhdXNlLiBVc2UgcmF3KCkgaW5zdGVhZC4AEVByZXZpZXcgZmVhdHVyZSAiwEIiIGlzIGRlcHJlY2F0ZWQuIEl0IHdpbGwgYmUgcmVtb3ZlZCBpbiBhIGZ1dHVyZSB2ZXJzaW9uIG9mIFByaXNtYS4AIFRoZSBgbmFtZWAgcHJvcGVydHkgd2l0aGluIHRoZSBgwENgIGF0dHJpYnV0ZSBvbmx5IGFsbG93cyBmb3IgdGhlIGZvbGxvd2luZyBjaGFyYWN0ZXJzOiBgX2EtekEtWjAtOWAuAB9NaXNzaW5nIHRoZSByZXF1aXJlZCBhcmd1bWVudCBgwA1gIGZvciBmaWVsZCBgwAZgIG9uIGDAAmAuAAtFeHBlY3RlZCBhIMAVIHZhbHVlLCBidXQgcmVjZWl2ZWQgwAggdmFsdWUgYMACYC4ADlRoZSBmdW5jdGlvbiBgwCYoKWAgY2Fubm90IGJlIHVzZWQgb24gZmllbGRzIG9mIHR5cGUgYMACYC4AI0V4cGVjdGVkIGFuIGVudW0gdmFsdWUsIGJ1dCBmb3VuZCBgwAJgLgALRXhwZWN0ZWQgYSDAEyB2YWx1ZSwgYnV0IGZvdW5kIGDAAmAuABpUaGUgZ2l2ZW4gb3BlcmF0b3IgY2xhc3MgYMAgYCBkb2VzIG5vdCBzdXBwb3J0IG5hdGl2ZSB0eXBlIGDADGAgb2YgZmllbGQgYMACYC4ABFRoZSDANCBpbmRleCB0eXBlIGRvZXMgbm90IHN1cHBvcnQgdGhlIHR5cGUgb2YgdGhlIGZpZWxkIGDAAmAuABBQcm92aWRlZCBsaW1pdCAowCgpIGlzIGJleW9uZCBtYXggaW50IHZhbHVlIGZvciBwbGF0Zm9ybSAowAIpLgBAQXR0ZW1wdGVkIHRvIGV4ZWN1dGUgYSBxdWVyeSB0aGF0IGNvbnRhaW5zIGFuIG9wYXF1ZSBwYXJhbWV0ZXIgJ8ACJy4AB0ZpZWxkICfAGycgZG9lcyBub3QgZXhpc3QgaW4gbW9kZWwgJ8ACJy4APEV4cGVjdGVkIHF1ZXJ5IGluZm9ybWF0aW9uIHRvIGJlIGF0dGFjaGVkIG9uIHNjaGVtYSBvYmplY3QgJ8AKJywgZmllbGQgJ8ACJy4AF0F0dHJpYnV0ZSBub3Qga25vd246ICJAwAIiLgAHVmFsdWUgIsAeIiBpcyBhbHJlYWR5IGRlZmluZWQgb24gZW51bSAiwAIiLgAKQXJndW1lbnQgIsAhIiBpcyBtaXNzaW5nIGluIGdlbmVyYXRvciBibG9jayAiwAIiLgAKQXJndW1lbnQgIsAjIiBpcyBtaXNzaW5nIGluIGRhdGEgc291cmNlIGJsb2NrICLAAiIuAAdGaWVsZCAiwCgiIGlzIGFscmVhZHkgZGVmaW5lZCBvbiBjb21wb3NpdGUgdHlwZSAiwAIiLgAVUHJvcGVydHkgbm90IGtub3duOiAiwAIiLgAVQXJndW1lbnQgbm90IGtub3duOiAiwAIiLgAgRGF0YXNvdXJjZSBwcm92aWRlciBub3Qga25vd246ICLAAiIuAAdGaWVsZCAiwBgiIGlzIGFscmVhZHkgZGVmaW5lZCBvbiDAAiAiwAIiLgArRXhwZWN0ZWQgYSByZWZlcmVuY2VkIHNjYWxhciBmaWVsZCBvZiB0eXBlIMDACyBidXQgZm91bmQgwAkgb2YgdHlwZSDAwAEuABBPbiBgcHJvdmlkZXIgPSAiwBUiYCwgcHJldmlldyBmZWF0dXJlICLAFyIgaGFzIGJlZW4gcmVuYW1lZCB0byAiwCMiLiBMZWFybiBtb3JlIGF0IGh0dHBzOi8vcHJpcy5seS9kL8ABLgARUHJldmlldyBmZWF0dXJlICLAFyIgaGFzIGJlZW4gcmVuYW1lZCB0byAiwCMiLiBMZWFybiBtb3JlIGF0IGh0dHBzOi8vcHJpcy5seS9kL8ABLgAWRXhwZWN0ZWQgYSBtaW5pbXVtIG9mIMANIGFuZCBhdCBtb3N0IMAbIGZpZWxkcyB0byBiZSBwcmVzZW50LCBnb3QgwAEuABFFeHBlY3RlZCBhdCBtb3N0IMAbIGZpZWxkcyB0byBiZSBwcmVzZW50LCBnb3QgwAEuABZFeHBlY3RlZCBhIG1pbmltdW0gb2YgwBsgZmllbGRzIHRvIGJlIHByZXNlbnQsIGdvdCDAAS4ALkV4cGVjdGVkIGV4YWN0bHkgb25lIGZpZWxkIHRvIGJlIHByZXNlbnQsIGdvdCDAAS4AFkV4cGVjdGVkIGEgbWluaW11bSBvZiDADSBhbmQgYXQgbW9zdCDADCBmaWVsZHMgb2YgKMAVKSB0byBiZSBwcmVzZW50LCBnb3QgwAEuABFFeHBlY3RlZCBhdCBtb3N0IMAMIGZpZWxkcyBvZiAowBUpIHRvIGJlIHByZXNlbnQsIGdvdCDAAS4AFkV4cGVjdGVkIGEgbWluaW11bSBvZiDADCBmaWVsZHMgb2YgKMAVKSB0byBiZSBwcmVzZW50LCBnb3QgwAEuAB9FeHBlY3RlZCBleGFjdGx5IG9uZSBmaWVsZCBvZiAowBUpIHRvIGJlIHByZXNlbnQsIGdvdCDAAS4AJkV4cGVjdGVkIGFueSBzZWxlY3Rpb24gb2YgZmllbGRzLCBnb3QgwAEuABZUeXBlIG1pc21hdGNoOiBmaWVsZCAnwA0nIGlzIG9mIHR5cGUgwBMsIGJ1dCB0aGUgdmFsdWUgaXMgwAEuAAFgwEsoKWAgdGFrZXMgZWl0aGVyIG5vIGFyZ3VtZW50LCBvciBhIHNpbmdsZSBpbnRlZ2VyIGFyZ3VtZW50IHdoaWNoIGlzIGVpdGhlciDAAS4APFRoZSBtdWx0aSBmaWVsZCBzaGFyZCBrZXkgZGVjbGFyYXRpb24gcmVmZXJzIHRvIHRoZSB1bmtub3duIMABLgA1VGhlIG11bHRpIGZpZWxkIGlkIGRlY2xhcmF0aW9uIHJlZmVycyB0byB0aGUgdW5rbm93biDAAS4AOFRoZSBzY2FsZSBtdXN0IG5vdCBiZSBsYXJnZXIgdGhhbiB0aGUgcHJlY2lzaW9uIGZvciB0aGUgwBAgbmF0aXZlIHR5cGUgaW4gwAEuAAVLZXkgIsAYIiBpcyBhbHJlYWR5IGRlZmluZWQgaW4gwAEuABRJbnZhbGlkIE5hdGl2ZSB0eXBlIMABLgAJRXhwZWN0ZWQgwAwsIGJ1dCBmb3VuZCDAAS4ALVRoaXMgbGluZSBpcyBub3QgYSB2YWxpZCBkZWZpbml0aW9uIHdpdGhpbiBhIMABLgA+SW5jb3JyZWN0IG51bWJlciBvZiBwYXJhbWV0ZXJzIGdpdmVuIHRvIGEgc3RhdGVtZW50LiBFeHBlY3RlZCDABzogZ290OiDAAS4ABFRoZSDAL2luZGV4IGRlZmluaXRpb24gcmVmZXJzIHRvIHRoZSB1bmtub3duIGZpZWxkczogwAEuABRVbmtub3duIGluZGV4IHR5cGU6IMABLgA+VGhlIGBzb3J0YCBhcmd1bWVudCBjYW4gb25seSBiZSBgQXNjYCBvciBgRGVzY2AgeW91IHByb3ZpZGVkOiDAAS4AJkV4cGVjdGVkIGEgcmVmZXJlbmNlZCBzY2FsYXIgZmllbGQgb2YgwAEgwBcsIGJ1dCBmb3VuZCBhIGZpZWxkIG9mIMABIMABLgAoY3JlYXRlIG9yIGNvbm5lY3QgaW5saW5lZCByZWxhdGlvbiBmb3IgJ8ALJyByZWNvcmQocykAHWNyZWF0ZSBpbmxpbmVkIHJlbGF0aW9uIGZvciAnwAsnIHJlY29yZChzKQAddXBkYXRlIGlubGluZWQgcmVsYXRpb24gZm9yICfACycgcmVjb3JkKHMpABhpbmxpbmUgdGhlIHJlbGF0aW9uIG9uICfACycgcmVjb3JkKHMpAAZmaW5kICfACycgcmVjb3JkKHMpABFzdGFydCBieXRlIGluZGV4IMAmIGlzIG5vdCBhIGNoYXIgYm91bmRhcnk7IGl0IGlzIGluc2lkZSDACCAoYnl0ZXMgwAsgb2Ygc3RyaW5nKQAPZW5kIGJ5dGUgaW5kZXggwCYgaXMgbm90IGEgY2hhciBib3VuZGFyeTsgaXQgaXMgaW5zaWRlIMAIIChieXRlcyDACyBvZiBzdHJpbmcpAAxCaWdEZWNpbWFsKCLAAiIpABkoQ29udmVydGluZyB0eXBlIGZhaWxlZCkgwAIgKMABOsABOsABKQAHT2JqZWN0KMABKQAHTnVtYmVyKMABKQAFQm9vbCjAASkAB1N0cmluZyjAASkACEpzVmFsdWUowAEpAMABKMABKQAnY2FuIG9ubHkgZmxhdHRlbiBzdHJ1Y3RzIGFuZCBtYXBzIChnb3QgwAEpABVgYXRgIHNwbGl0IGluZGV4IChpcyDAFykgc2hvdWxkIGJlIDw9IGxlbiAoaXMgwAEpABJyZW1vdmFsIGluZGV4IChpcyDAFikgc2hvdWxkIGJlIDwgbGVuIChpcyDAASkAFnN3YXBfcmVtb3ZlIGluZGV4IChpcyDAFikgc2hvdWxkIGJlIDwgbGVuIChpcyDAASkAwAsgKG9zIGVycm9yIMABKQAZVXBkYXRlTWFueVJlY29yZHMobW9kZWw6IMAILCBhcmdzOiDAASkAFFVwZGF0ZVJlY29yZChtb2RlbDogwAosIGZpbHRlcjogwAgsIGFyZ3M6IMATLCBzZWxlY3RlZF9maWVsZHM6IMABKQAUQ3JlYXRlUmVjb3JkKG1vZGVsOiDACCwgYXJnczogwBMsIHNlbGVjdGVkX2ZpZWxkczogwAEpABhNYW55UmVjb3Jkc1F1ZXJ5KG5hbWU6ICfACycsIG1vZGVsOiAnwA4nLCBzZWxlY3Rpb246IMABKQATUmVjb3JkUXVlcnkobmFtZTogJ8AOJywgc2VsZWN0aW9uOiDAASkAG1JlbGF0ZWRSZWNvcmRzUXVlcnkobmFtZTogJ8ASJywgcGFyZW50IG1vZGVsOiAnwBsnLCBwYXJlbnQgcmVsYXRpb24gZmllbGQ6ICfADicsIHNlbGVjdGlvbjogwAEpABtSZWxhdGVkUmVjb3Jkc1F1ZXJ5KG5hbWU6ICfAEicsIHBhcmVudCBtb2RlbDogJ8AaJywgcGFyZW50IHJlbGF0aW9uIGZpZWxkOiDADSwgc2VsZWN0aW9uOiDAASkABkVycm9yKMAILCBsaW5lOiDACiwgY29sdW1uOiDAASkAGENyZWF0ZU1hbnlSZWNvcmQobW9kZWw6IMABKQAEdmFyKMACOiDAASkAwAEoAAJFJ8ABJwANdHJhY2VwYXJlbnQ9J8ABJwAHRmllbGQgJ8AfJyBub3QgZm91bmQgaW4gZW5jbG9zaW5nIHR5cGUgJ8ABJwAhQ2Fubm90IHNlbGVjdCBvdmVyIHNjYWxhciBmaWVsZCAnwAEnAAEnwAEnAAElwAElACBJbnZhbGlkIHJlbGF0aW9uIG1vZGUgc2V0dGluZzogIsAsIi4gU3VwcG9ydGVkIHZhbHVlczogInByaXNtYSIsICJmb3JlaWduS2V5cyIAwAIgIsABIgABIsABIgBPbmNlIGluc3RhbmNlIGhhcyBwcmV2aW91c2x5IGJlZW4gcG9pc29uZWQAQcSWwgALBgEAAACJAQBB1JbCAAsGAQAAAIoBAEHklsIACwYBAAAAiwEAQfSWwgALBgEAAACMAQBBhJfCAAsGAQAAAI0BAEGUl8IACwYBAAAAjgEAQaSXwgAL4QcBAAAAjwEAAHJhd1NxbGFyZ1R5cGVzdGVtcGxhdGVTcWxwbGFjZWhvbGRlckZvcm1hdHNjYWxhclR5cGVkYlR5cGV1bmtub3dudHVwbGVzZXFnZXRnZXRGaXJzdE5vbkVtcHR5ZXhlY3V0ZWNvbmNhdG1hcEZpZWxkZGF0YU1hcHZhbGlkYXRlZGlmZmluaXRpYWxpemVSZWNvcmRtYXBSZWNvcmRwcm9jZXNzbGFzdEluc2VydElkYWRkc3VidHJhY3RwYWdpbmF0aW9ucmV2ZXJzZWxpbmtpbmdGaWVsZHNvbnBhcmVudEZpZWxkaXNSZWxhdGlvblVuaXF1ZWV4dGVuc2lvbmVuY29kaW5nYmFzZTY0b3B0aW9uYWxhZmZlY3RlZFJvd3NkYk5hbWVmaWVsZFR5cGVzZXJpYWxpemVkTmFtZXNraXBOdWxsc2hhc051bWJlcmluZ3N0cmluZ0NodW5rcGFyYW1ldGVycGFyYW1ldGVyVHVwbGVpdGVtUHJlZml4aXRlbVNlcGFyYXRvcml0ZW1TdWZmaXhwYXJhbWV0ZXJUdXBsZUxpc3Rncm91cFNlcGFyYXRvcnJvd0NvdW50RXFyb3dDb3VudE5lcWFmZmVjdGVkUm93Q291bnRFcW5ldmVyc2NoZW1hTmFtZW1heEJpbmRWYWx1ZXNzdXBwb3J0c1JlbGF0aW9uSm9pbnMAAI6NEAAKAAAAmI0QAA0AAACljRAAFQAAADRdEQAIAAAAZGF0YW1vZGVsY29ubmVjdGlvbkluZm8A3I0QAAkAAAA4UREACAAAAOWNEAAOAAAAbXVsdGlwbGFuc2NvbXBhY3RlZHBsYW5uZXN0ZWRTZWxlY3Rpb25rZXlzZXhwZWN0Tm9uRW1wdHltb2RlbF9hX25hbWVtb2RlbF9iX25hbWVkZXRhaWxzbmFtZXNjaGlsZHJlbmNhbkFzc3VtZVN0cmljdEVxdWFsaXR5Y2FsbGVkIGBPcHRpb246OnVud3JhcF90aHJvdygpYCBvbiBhIGBOb25lYCB2YWx1ZXJlY29yZHNzdHJ1Y3R1cmVlbnVtc3J1bGVzZXJyb3JJZGVudGlmaWVyY29udGV4dHRoZW5NYXAga2V5IGlzIG5vdCBhIHN0cmluZyBhbmQgY2Fubm90IGJlIGFuIG9iamVjdCBrZXkxH48QAAEAAABvcGVyYXRpb25zYmluZGluZ3MAAERLEABxAAAApgAAADIAAAABAQAAVW5leHBlY3RlZCBiYXRjaCByZXF1ZXN0/T0QAGUAAADLAAAALQAAAB0gEAAqAAAAOAAAABUAQZCfwgALDgEAAACQAQAAkQEAAJIBAEGon8IAC60CAQAAAJMBAACUAQAAlQEAAJYBAACXAQAAmAEAAJkBAACaAQAAmwEAAJwBAACdAQAAngEAAJ8BAACgAQAAoQEAAKIBAACjAQAApAEAAKUBAACkAQAApgEAAKcBAACoAQAAqQEAAKoBAACrAQAArAEAAK0BAACuAQAArwEAALABAACxAQAAsgEAALMBAAC0AQAAsQEAALUBAAC2AQAAtwEAALgBAAC5AQAAugEAALsBAAC8AQAAsQEAAL0BAAC9AQAAvQEAALEBAAA2NBAAMgAAAC8AAAAOAAAAc3RydWN0IEpzQ29ubmVjdGlvbkluZm9lbnVtIEFkYXB0ZXJQcm92aWRlcnN0cnVjdCBRdWVyeUNvbXBpbGVyUGFyYW1zAgYA/////wAAAAAAAAAAAwBB4KHCAAsO/////wAAAAAAAAAAAwEAQfihwgALDv////8AAAAAAAAAAAMIAEGQosIACw7/////AAAAAAAAAAADBABBqKLCAAsO/////wAAAAAAAAAAAwIAQcCiwgALDv////8AAAAAAAAAAAMHAEHYosIACw7/////AAAAAAAAAAADBQBB8KLCAAsO/////wAAAAAAAAAAAwMAQYijwgALDv////8AAAAAAAAAAAMGAEGgo8IACxX/////qVURAAgAAAD/////yJAQAAEAQcCjwgALFf////+xVREABwAAAP/////IkBAAAQBB4KPCAAsV/////+xYEgAGAAAA/////+CQEAABAEGApMIACzX/////OAASAAcAAAD/////+JAQAAEAAAAAAAAAAgAAAP////+4VREABQAAAP/////4kBAAAQBBwKTCAAsV/////71VEQAEAAAA/////xCREAABAEHgpMIACxX/////wVURAAMAAAD/////yJAQAAEAQYClwgALFf/////EVREABgAAAP////8QkRAAAQBBoKXCAAsV/////8pVEQAEAAAA/////yiREAABAEHApcIACxX/////zlURAA8AAAD/////KJEQAAEAQeClwgALVf/////dVREABwAAAP////8QkRAAAQAAAAAAAAABAAAA/////zyoEQAEAAAA/////xCREAABAAAAAAAAAAEAAAD/////2HgRAAQAAAD/////EJEQAAEAQcCmwgALFf/////kVREABQAAAP////9AkRAAAQBB4KbCAAtV/////+lVEQAJAAAA/////1iREAABAAAAAAAAAAEAAAD/////8lURAAsAAAD/////WJEQAAEAAAAAAAAAAQAAAP/////veBEABAAAAP////9YkRAAAQBBwKfCAAtV//////N4EQAEAAAA/////1iREAABAAAAAAAAAAEAAAD//////VURAAYAAAD/////WJEQAAEAAAAAAAAAAQAAAP/////kTBIABwAAAP////9wkRAAAQBBoKjCAAtV/////wNWEQADAAAA/////xCREAABAAAAAAAAAAEAAAD/////BlYRAAYAAAD/////EJEQAAEAAAAAAAAAAQAAAP/////yTBIABAAAAP////8QkRAAAQBBgKnCAAsV/////+x4EQADAAAA/////xCREAABAEGgqcIACxX/////9kwSAAQAAAD/////iJEQAAEAQcCpwgALFf////8MVhEABQAAAP////+IkRAAAQBB4KnCAAtuUG9zdGdyZXM2NBAAMgAAAKYAAAAVAAAAYXR0ZW1wdGVkIHRvIHRha2Ugb3duZXJzaGlwIG9mIFJ1c3QgdmFsdWUgd2hpbGUgaXQgd2FzIGJvcnJvd2VkAL4BAAAMAAAABAAAAL8BAADAAQAAwQEAQdiqwgALFQEAAADCAQAAUDIwMTJQMjAwOe+/vQBB+KrCAAtuAQAAAMMBAAChLhAASAAAAN8AAAA3AAAAoS4QAEgAAADgAAAAKwAAALxYEABJAAAAlQEAADIAAABEUhAAUAAAABwAAAAFAAAAB1MQAEwAAADPCAAADQAAAMQBAAAMAAAABAAAAMUBAADGAQAAxwEAQfCrwgALowYBAAAAyAEAAGEgZm9ybWF0dGluZyB0cmFpdCBpbXBsZW1lbnRhdGlvbiByZXR1cm5lZCBhbiBlcnJvciB3aGVuIHRoZSB1bmRlcmx5aW5nIHN0cmVhbSBkaWQgbm90AAAJIxAASAAAAI8CAAAOAAAATGF5b3V0RXJyb3IAyQEAAAwAAAAEAAAAygEAAMkBAAAMAAAABAAAAMsBAADKAQAAbJYQAMwBAADNAQAAzgEAAMwBAADPAQAAOx4QAHsAAABUAAAACQAAAOFJEAB0AAAAZQAAADgAAADhSRAAdAAAAGEAAAANAAAA4UkQAHQAAABe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QkJCQkJCQkJCQkJCQkJCQkJCQgAAAAAAAABISkhKSEpISkhKSEpISkhKSEpISkhKSEpISkhKSEpISkhKSEpISkhKSEpISkhKSEpISkhKSEpISkhKSEpISgAASkxKTEpMSkxKTEpMSkxKTEpMSkxKTEpMSkxKTEpMSkxKTEpMSkxKTEpMSkxKTEpMSkxKTEpMSkxKTEpMAAAAAE5QTlBOUE5QTlBOUE5QTlBOUE5QTlBOUE5QTlBOUE5QTlBOUE5QTlBOUE5QTlBOUE5QTlBOUE5QTlBOUE5QAABQUlBSUFJQUlBSUFJQUlBSUFJQUlBSUFJQUlBSUFJQUlBSUFJQUlBSUFJQUlBSUFJQUlBSUFJQUlBSUFIAAAAAVFZUVlRWVFZUVlRWVFZUVlRWVFZUVlRWVFZUVlRWVFZUVlRWVFZUVlRWVFZUVlRWVFZUVlRWVFZUVlRWVFYAAFZYVlhWWFZYVlhWWFZYVlhWWFZYVlhWWFZYVlhWWFZYVlhWWFZYVlhWWFZYVlhWWFZYVlhWWFZYVlhWWFZYAABYWlhaWFpYWlhaWFpYWlhaWFpYWlhaWFpYWlhaWFpYWlhaWFpYWlhaWFpYWlhaWFpYWlhaWFpYWlhaWFoAAAAAXF5cXlxeXF5cXlxeXF5cXlxeXF5cXlxeXF5cXlxeXF5cXlxeXF5cXlxeXF5cXlxeXF5cXlxeXF5cXlxeXF4AAF5gXmBeYF5gXmBeYF5gXmBeYF5gXmBeYF5gXmBeYF5gXmBeYF5gXmBeYF5gXmBeYF5gXmBeYF5gXmBeYAAAAABiZGJkYmRiZGJkYmRiZGJkYmRiZGJkYmRiZGJkYmRiZGJkYmRiZGJkYmRiZGJkYmRiZGJkYmRiZGJkYmRiZGBOYWl2ZURhdGVUaW1lIC0gVGltZURlbHRhYCBvdmVyZmxvd2VkAC1QEABpAAAAHwcAACYAAACuRxAAZgAAALMBAAAqAAAArkcQAGYAAADYAQAAFAAAAK5HEABmAAAA4QEAAEAAAAAAAAAAZJkQAAEAAAAECAEAQfDCwgALC2SZEAABAAAABAIBAEGJw8IACwqxEAABAAAABAcBAEGhw8IACwqxEAABAAAABAgBAEG4w8IACwtGGRIAAQAAAAQRAQBB0MPCAAsLRhkSAAEAAAAEEQEAQejDwgALC0YZEgABAAAABBIBAEH8w8IA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AAAAAAAAECcAAAAAAACghgEAAAAAAEBCDwAAAAAAgJaYAAAAAAAA4fUFAAAAAADKmjsAAAAAAOQLVAIAAAAA6HZIFwAAAAAQpdToAAAAAKByThgJAAAAQHoQ81oAAACAxqR+jQMAAAAAAAQAAAAEAAAA0AEAAAAAAAAEAAAABAAAANEBAADHWxAAWAAAACsAAAAjAAAALStOYU5pbmYwMC4wZTBlMGFzc2VydGlvbiBmYWlsZWQ6IGJ1Zi5sZW4oKSA+PSBzaWdfZGlnaXRzAAAAVFMQAFcAAABDAgAADQAAAGFzc2VydGlvbiBmYWlsZWQ6IGJ1Zi5sZW4oKSA+PSBtYXhsZW4AAABUUxAAVwAAAIsCAAANAAAAAAMGCQ0QExcaHSEkJysuMTU4OyB7ICB7CigKYXR0ZW1wdGVkIHRvIGJlZ2luIGEgbmV3IG1hcCBlbnRyeSB3aXRob3V0IGNvbXBsZXRpbmcgdGhlIHByZXZpb3VzIG9uZQAAAHkoEABQAAAA2QMAAA0AAABhdHRlbXB0ZWQgdG8gZmluaXNoIGEgbWFwIHdpdGggYSBwYXJ0aWFsIGVudHJ5AAB5KBAAUAAAALEEAAANAAAAZW50aXR5IG5vdCBmb3VuZHBlcm1pc3Npb24gZGVuaWVkY29ubmVjdGlvbiByZWZ1c2VkY29ubmVjdGlvbiByZXNldGhvc3QgdW5yZWFjaGFibGVuZXR3b3JrIHVucmVhY2hhYmxlY29ubmVjdGlvbiBhYm9ydGVkbm90IGNvbm5lY3RlZGFkZHJlc3MgaW4gdXNlYWRkcmVzcyBub3QgYXZhaWxhYmxlbmV0d29yayBkb3duYnJva2VuIHBpcGVlbnRpdHkgYWxyZWFkeSBleGlzdHNvcGVyYXRpb24gd291bGQgYmxvY2tub3QgYSBkaXJlY3RvcnlpcyBhIGRpcmVjdG9yeWRpcmVjdG9yeSBub3QgZW1wdHlyZWFkLW9ubHkgZmlsZXN5c3RlbSBvciBzdG9yYWdlIG1lZGl1bWZpbGVzeXN0ZW0gbG9vcCBvciBpbmRpcmVjdGlvbiBsaW1pdCAoZS5nLiBzeW1saW5rIGxvb3Apc3RhbGUgbmV0d29yayBmaWxlIGhhbmRsZWludmFsaWQgaW5wdXQgcGFyYW1ldGVyaW52YWxpZCBkYXRhdGlt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ANvniBwAAMKJihwAAP//eR0AAASKfR0AAOYOjh0AADiKAR6UAf//mx4AAMX/oR5eAf//AB8HAAgAEB8FAAgAIB8HAAgAMB8HAAgAQB8FAAgAUR8GAQgAYB8HAAgAcB8BAEoAch8DAFYAdh8BAGQAeB8BAIAAeh8BAHAAfB8BAH4AsB8BAAgAvh8AANvj0B8BAAgA4B8BAAgA5R8AAAcATiEAAOT/cCEPAPD/hCEAAP//0CQZAOb/MCwvAND/YSwAAP//ZSwAANXVZiwAANjVaCwEAf//cywAAP//diwAAP//gSxiAf//7CwCAf//8ywAAP//AC0lAKDjJy0AAKDjLS0AAKDjQaYsAf//gaYaAf//I6cMAf//M6c8Af//eqcCAf//f6cIAf//jKcAAP//kacCAf//lKcAADAAl6cSAf//tacOAf//yKcCAf//zacOAf//9qcAAP//U6sAAGD8cKtPADBoQf8ZAOD/3wBTAFMAAABJAbwCTgAAAPABSgAMAwAAkAOZAwgDAQOwA6UDCAMBA4cFNQVSBQAAlh5IADEDAACXHlQACAMAAJgeVwAKAwAAmR5ZAAoDAACaHkEAvgIAAFAfpQMTAwAAUh+lAxMDAANUH6UDEwMBA1YfpQMTA0IDgB8IH5kDAACBHwkfmQMAAIIfCh+ZAwAAgx8LH5kDAACEHwwfmQMAAIUfDR+ZAwAAhh8OH5kDAACHHw8fmQMAAIgfCB+ZAwAAiR8JH5kDAACKHwofmQMAAIsfCx+ZAwAAjB8MH5kDAACNHw0fmQMAAI4fDh+ZAwAAjx8PH5kDAACQHygfmQMAAJEfKR+ZAwAAkh8qH5kDAACTHysfmQMAAJQfLB+ZAwAAlR8tH5kDAACWHy4fmQMAAJcfLx+ZAwAAmB8oH5kDAACZHykfmQMAAJofKh+ZAwAAmx8rH5kDAACcHywfmQMAAJ0fLR+ZAwAAnh8uH5kDAACfHy8fmQMAAKAfaB+ZAwAAoR9pH5kDAACiH2ofmQMAAKMfax+ZAwAApB9sH5kDAAClH20fmQMAAKYfbh+ZAwAApx9vH5kDAACoH2gfmQMAAKkfaR+ZAwAAqh9qH5kDAACrH2sfmQMAAKwfbB+ZAwAArR9tH5kDAACuH24fmQMAAK8fbx+ZAwAAsh+6H5kDAACzH5EDmQMAALQfhgOZAwAAth+RA0IDAAC3H5EDQgOZA7wfkQOZAwAAwh/KH5kDAADDH5cDmQMAAMQfiQOZAwAAxh+XA0IDAADHH5cDQgOZA8wflwOZAwAA0h+ZAwgDAAPTH5kDCAMBA9YfmQNCAwAA1x+ZAwgDQgPiH6UDCAMAA+MfpQMIAwED5B+hAxMDAADmH6UDQgMAAOcfpQMIA0ID8h/6H5kDAADzH6kDmQMAAPQfjwOZAwAA9h+pA0IDAAD3H6kDQgOZA/wfqQOZAwAAAPtGAEYAAAAB+0YASQAAAAL7RgBMAAAAA/tGAEYASQAE+0YARgBMAAX7UwBUAAAABvtTAFQAAAAT+0QFRgUAABT7RAU1BQAAFftEBTsFAAAW+04FRgUAABf7RAU9BQAAKAQnANj/2AQjANj/lwUKANn/owUOANn/swUGANn/uwUBANn/wAwyAMD/cA0VAOD/wBgfAOD/YG4fAOD/u24YAOX/IukhAN7/AADUwhAAuQAAACrHEABmAAAAWsoQAAwAAAACAAAAAAAAALACAABdE2ABEhfgIL0fICF8LCAvBTBgMxWg4DT4pGA2DKagNh774DYA/uBC/QFhQ4AHIUcBCuFHJA2hSKsOIUovGCFLOxnhWvMeYVswNKFjHmEhZfBqoWVAbSFmT2/hZvCvYWedvKFoAM9haWfR4WkA2mFqAOCha67iIW3r5CFv0Oihb/vzYXEBAO5x8AE/cgADAACDBCAAkQVgAF0ToAASFyAfDCBgH+8sYCsqMOArb6agLAKoIC0e+yAuAP5gNp7/oDb9ASE3AQphNyQNITirDqE5LxghOvMeIUtANKFTHmHhVPBqYVVPb+FVnbxhVgDPYVdl0aFXANohWADgoVmu4iFb7OThXNDoYV0gAO5e8AF/X2AGAABmCeAAQBCgAWkT4AXuFmAGRhmgBnAgoAdgJKAJdifgCv0sYAsHMKALkjHgCyCmoAwwqCAO8KugDhD/IBAHAWEQ4QKhEFgIYRH6DOESYA6hFlAUYRdQFuEZ4BhhGvAbYRtQH+EbACQhHTBhoR1gauEdcG0hHoBuIR/0b2Ef8MyhH8DS4R/O1yEgQOHhIPDiISHw5GEhx+ihIXHsISIA8aEi8PvhI/r7MiTFAQAAiB8gAP0fMQEAQAG4AbYBswGsAagBoQGSAZABjAGIAYQCkgKQAlMDXQOTA4UEDAQGBbsGTgBByJnDAAvAA/8AAAD8//8PAqiqqqqqqqr///////8HAP/9AAAA/P//AAAAAAAAAoAAAAD/////D4Wq////////AAAAAP////8AAAAA/P///wAAAAAA////7/8AAAD8//8AAAEAAPD/////DwAAwP//////9/8D///AQwAAAAD//wAAAAAAAP//AAAAgP//f//A////AAAA/AAAAAAAAAD4AAD///////f8///3AwAA8FTVqqqqqqqqqqqqqqqqqqqqqqqqqqqqVf8A/wD/AN9APwD/AP8A/z//////YhXaPwAAAAAAAAA/IAAAAAAAijwAxAgAAIAQMgAAgP/7//sb/3/jqqqqLxm5///////9BwqlqgoAAF4HAAAAAAAEIAT//8//////Af8APwD/AP8A3ADPAP8A3ACqqqqqGlAIAP////+/IAAA//v/f+AHAAAAwN///wAAAAMAAAAfAAAAqqqqOgAAAAB/APgAAAAAAPcLAAAAAAAA/wUAAAAAAACqqqqqqqr6k6qqqqqqqv+VQFJVtaqqKaqqULqqqoKgqv////+qqqqqAAAAAKiqq6pVq6qqqqqq1CkxJE4qLVHm/P//DwAAwOsAQaWdwwALAT8AQbSdwwALAxAOOQBBxJ3DAAsBKQBB1J3DAAsBLQBB4Z3DAAsDCBM+AEHxncMACw1FLAA1MTMiAAAAAAk6AEGLnsMACwQDABA7AEGbnsMACwEUAEGnnsMACwUcAAAAQABBu57DAAsBSQBByp7DAAslIxEYNjcyMAckKwAdDCAAAC8AOTk5ABcXRxclGhkmAAVIAB4PTQBB+J7DAAsVCj0ABgAAHwAAAAAAAAAhABAbFycoAEGYn8MACwcQNAIWRgg8AEGon8MACwIQSgBBuJ/DAAuAPEMqOAtEQRINAUJOFUtMBC4AtgBKAKYAogCfAJYAlACOAIYAgwBAAUIBRgFTAQwBCAKSAowChgKCA6QDkgMUBLIEqwAAAAAAAP///////z8A/z8AAAD///8BAAAA/P//BwFUVVVVVVVV9VpVFQAAIAAAAAAA//////8DAAAA////X/wBAADw////A////wP//wAAAAAAAP//VVVVVVVV/v8AAAAAAABFgLDn3x8AAAB7VVVVVVVVBWxVVVVVVVUAapCkqkpVVdJVVShFVVV9X1VVVVVVVVVVVasqVVVVVVVVAAAAAFVVVVUAAAAAVFVUVapUVVVVVVUr1s7bsdXSrhEADwAPAB8ADwAAAAAAAAAPPwAAAP///wMDAADQZN4/AFVVVVUFKAQAIAAAAP//AAAAPwCqAP8AAEDX/v/7DwAAAAD//z8AAAD//39/AAAAAP/3NwAAAAAAelUAAAAAAAC/IAAAAAAAAFVVVVVVVVWqhDgnPlA9D8AAAAAAneolwACAHFVVVZDmAAL//////+cA////AwAA8AAAAAAAAP/3AP8APwD/AP8sLAUjLCwsLCwsLCwsLAUALCwFLCwsLCwsLCwsLCwsLCwsKCwsLCwsERFCESsdGBcsLCwgJBUWDw0iLCwsCx4nLCwsLAkILSwsLCwsLCwsLCwsLCwlHEMsLCwsLCwsLCwsLCwsLCwsLCwsLCwsLCwsLCwsLCwsLCwsLCwsOSwsLCwsLCwsLCwsLDE/LCwsLCwsLCwsLCwsLCxBQCwUDhAELCwsLDIsLCwsLCwsLCwsLCwsNSwsHywsLCwsLCwsLCwsLDYuLCwsLCwsLCwsLCwsMywJLywqISwsLCwsLCwsLDQTAxIKMCwsLCwsLCwsLCw0JhEbLCwsLCwsLCwsLCwsOgEaNwwHGTgpOwYCPj08RBw1EABfAAAA9gAAABUAAAAcNRAAXwAAAAEBAAAYAAAAAAAACAEIAwgGEAkQDRASGBcYHRgkICsgMyA8IEYoUChbKGcwczCAMI44nDirOLs4zEDdQO9AAkkVSSlJPlFTUWlRgFGYWbBZyVnjYf1hGGI0alBqbWqLaqpyyXLpcgp7K3tNe3CDk4O3g9yDAowojE+Md5SflMiU8pwcBRwFHAUcBQUCBQECBQYCBQMBAgUBBQYCBQcIAQIFAwkABgIFAQkFAwECBQkHBgUGAgUECAgCCAECBQIEBAEEAAYCBQECAgAHAAMBAgUGAQADBQEFBgIFAwAFAQcFBwgBAgUBBQIFCAcICQAGAgUHBgIJAwkEBQMBAgUDCAEEBgkHAgYFBgIFAQkABwMECAYDAggBAgUJBQMGBwQDAQYEAAYCBQQHBggDBwEFCAIAAwECBQIDCAQBCAUHCQEAAQUGAgUBAQkCAAkCCAkFBQAHCAECBQUJBgAEBgQEBwcFAwkABgIFAgkIAAIDAgIDCAcGCQUDAQIFAQQJAAEBBgEBCQMIBAcGBQYCBQcEBQAFCAAFCQYJAgMIAggBAgUDBwIFAgkAAgkIBAYBCQEEAAYCBQEIBgIGBAUBBAkCAwAJBQcAAwECBQkDAQMCAgUHBAYBBQQHCAUBBQYCBQQGBQYGAQIIBwMABwcDCQIFBwgBAgUCAwIIAwAGBAMGBQMIBgkGAggJAAYCBQEBBgQBBQMCAQgCBgkDBAgBBAQFAwECBQUIAgAHBgYACQEDBAYHBAAHAgIGBQYCBQIJAQADCAMABAUGBwMDBwADBgEDAggBAgUBBAUFAQkBBQICCAMGBggFAQgABgYEAAYCBQcCBwUJBQcGAQQBCAMEAgUJAAMDAgADAQIFAwYDBwkHCAgABwAJAQcBAgkFAQYGAAEFBgIFAQgBCAkICQQAAwUEBQgFBgQHBQgDAAAHCAECBQkACQQJBAcAAQcHAgkCCAIDBwkBBQADCQAGAgUEBQQHBAcDBQAICAYEBgQBAQgJBQcFAQkFAwECBQICBwMHAwYHBQQEAwIDAgAFCQQHCAcFCQcGBQYCBQEBAwYIBggDBwcCAQYBBgACCQcDCQMHCQgIAggBAgUFBggEAwQBCAgGAAgACAABBAgGCQYICQkEAQQABgIFAggEAgEHAAkEAwAEAAQAAAcEAwQIBAQJBwAHAAMBAgUBBAIBAAgFBAcBBQIAAgAAAwcBBwQCAgQIBQMFAQUGAgUHAQAFBAIHAwUHBgABAAABCAUIBwEBAgQCBgcFBwgBAgUDBQUCBwEDBgcICAAABQAACQIJAwUFBgIBAwMHCAkABgIFAQcHBgMFBggDCQQAAAIFAAQGBAYHBwgBAAYGCAkEBQMBAgUICAgBBwgEAQkHAAABAgUCAwIDAwgJAAUDAwQEBwIGBQYCBQQEBAAICQIACQgFAAAGAgYBBgEGCQQFAgYGBwIDBgMCCAECBQICAgAEBAYABAkCBQADAQMACAAIBAcCBgMDAwYBCAEGBAAGAgUBAQEAAgIDAAIEBgIFAQUGBQQABAIDBgMBBgYIAAkACAIAAwECBQUFBQEBAQUBAgMBAgUHCAIHAAIBAQgBBQgDBAAEBQQBAAEFBgIFAgcHBQUFBwUGAQUGAggJAQMFAQAFCQAHCQEHAAICBwAFAAcIAQIFAQMIBwcHCAcIAAcIAQQEBQYHBQUCCQUDCQUIBQEBAwUCBQMJAAYCBQYJAwgICQMJAAMJAAcCAggDBwcGBAcGCQcJAgUFBgcGAgYJBQMBAgUDBAYJBAQGCQUBCQUDBgEEAQgICAIDCAQICQYCBwgDCAEDBAcGBQYCBQEHAwQHAgMEBwUJBwYIAAcACQQEAQEJAgQECAEDCQEJAAYHAwgCCAECBQgGBwMGAQcDBwkICAQAAwUEBwIABQkGAgIEAAYJBQkFAwMGCQEEAAYCBQAAHDUQAF8AAABzAQAAEwAAAAtFEABZAAAArgAAABMAAABa1juS1lP07j87oQYpqj8R+GVlG2a0WJUHxSSkWcrHSna/PqJ/4a66SfYtDfC8eV1Tb86K35la6dxzeRAsLNj0lAXBtiug2JFp6EuKmxsHeflGcaQ2yE62hOLebILiSJe3mI1NRHri4yWbFggjGxv9cn94sGqMbY73IA7l9fAw/k+fllyF7wiyNalRXjMtvb0jR7yzZiuL3oIT5jWAeCytdqxVMCD7FosxzK8hUMs7TJMXazzoudytPb8bKiS+St943YVLYuhT2Q2vojStbR3Xa6ozbz1x1IdoreVAjGRyhgaVAMuMjcmpwhgfUa/9DmhIusD97/A71PLeZiUbvRICbXSY/pV2pYRXS2D3MLZLAYiRPn471M6lLV44Nb2jnkHqNc5dSolCz7l1hoKsTAZSsuGges6ViYGTCZTR6+9Dcx8aSRlC++uh+Av5xebrFBCmYJufEvpmyvZOd3fgJhrU0DiCR5e4AP20IlWVmLAgiYJjsYxecyCesDVVXV9utFVivN0vNpCoxR2DqjT3iSHreyvVu0O0EvfkI9UBdezppS07ZVWqsGuabjYlIckzskf4ib7q1JwGwQqEbmm7wJ6ZdixuJQpESPENJcpD6nAGwMrbZFeGKs2WKFdeapIGBDi8Ej7tJ3WAvPLs9QQ3CAXGa5eN6HGSoOsuaDPGREqG96N+WDGHW0STHSHg+2rus3pMnq79aHIVuGQp2LoF6mBZ30UaPQPPGua9M44phyS5b6trMAZiwdCPVuD4edS206WWhryHuvHEs2wYd5iJpEiPPKirKSkutuCH3pT+q80aMyVJC7rZ3HGMFAsdf4vA8J9vG44oEFSOr9lN5F6u8OwHSqKxMhTpcdtQYZ322SzoyW4Fr5+sMSeJ0lwiOggcMb7KxprHF/5wqwb0qkgKY71tfXiBuZ09TdYIsdXazLssCU7r8JOCRvCFpY7FCGD1uyUhJu04I1hsp07y9gq48iqvqm8oByxuR9HhrrQNZq/1GspFeYTbpMyCTe2QyJ+N2VA8l5dlEs5/o6AotboH8Q/lDH39/pbBX8zIcmKpSe1THk/cvL78sXf/eg+7E5zo6CWxCTb3Pc+qn6zpVIxhkbF3HYwDdQ2DlccXJGrvufWd1SVvRNLQ43r5Ha1EayhzBUt3xWqDYs7smzLsCkP5Z+NO1XZFJPsB6MI/p82T90GcIorUVu15AqLzDxHBeHVSQ2vWRFY0jEFFmKmqeGuJEwqDDNZrQe+RVr5T1VbGa5jMI4/LxhFrNuztqIrst4a+vyw5PxzrAqKzlKnW8zIU1/d7B0/jpYOK4LlTzLA/2cz12skiXI8krVjoaP+cjw9As9G+lZnZNmw3kaEfwrkJCBAjLfv/j0RHhbWKpzIoDArUq/n5/7MVmebibFE/Mo8MyRY7/H+QrR/QjeOSZ3/Zpz2uSvuf9JgnRLGcd0HfzxHNmR36xzF/MZXdg9UR10NWQEBS/Bx/7z59inIla2bqNShIZjvkXquOHK3P7gUAZUMy2kBKnTZWsmPYgmoHQD7UvpBoTiLidU8+h5GiBOimRHdaAuKqWlPjDak2ywWi0BUVcYOaVTEoXFHTAz6HykRbWg2RgNUemdkShMKGlP4KeVjotuCKZv+PF6VyqDm+TZduYuOYLUD/c13OjxLILSE9CvuOfxyIf2j6gJkLnbw0ZuZ8cp8jap8COaGATsTrwf8fHE6HrERHQ4fJIGK1ZrL/J6MiqdcVGRTp+6i6YgCf//FLtcmmrY+scZ2ptD1gwz93byJ8EJmzF87E0yFNOLQPVcsrm1R/oJ0B9khqYEahUyp+++CUT4QCwZltQvzLRHTaLjkZemMlQzHACFP7/lURkfqIn1i87pM98Monun6rVTV5tWO3NXV8JpbeWDQvi1XBS6I8JYOSG7C7Fm8B++2qsZ7Li+4jdyKc6tzKwXmpFV5GXxd1doqVoZLJHhnsic36CzZdEhTt+km3e2YfZ+yA+c6E9BZZqHkc5RpA54An4beC0liuNwnMMY8QiJCwuOyy0QfvmYULP/6yFaq03OanH4bJagBnzs6935rU4ZPgkadnvUJgAEGh1ovgJG1cLLvI4G1TeECRScyuGG6Ic/fp+lhIaJaQ9Vt/2p6JalB1pDmvLQFeenmZj4gDlkJSyQaEbXiB9djXf7OqgzvTpnsI5cjW4TLPzV9g1WQKiJCaSh77Js1/oeA7XIV/BlWaoO7yXG/A38nYSrOmHkjqwEiqL/SLsFf8jh1g0CbaJPHalDvxV862XXkSPIJYCLfWCD3Fdu2BJLUXF8uibspkDEuMdlRoom2i3dx9ywn9fc9dL5SpAgsJCxVUXf5MfF1DNTv50+Gm5SaNVPqer20aSgHFe8SaEJ9wsOm4xhsJoZxBtpo1wNTGjBwkZ/hiS8kD0mMBw/hE/NeRdkCbHc9dQmPe4Hk2VvtNNpQQwuRC9RL8FVmYxCt64UO5lPKdk7IXe1tvPlpb7GzK85yXQpzP7iyZBacxcicIvTCEvVODgyp4/8ZQvU4xSuw85ewoZCQ1Vr/4pDbRXq4TRg+Umb424ZV3G4eEhfaZmBcTuT9uhFl7VeIo5SZ0wH7dV+fPieUv2uoaM0+YSDhv6paQIXbvXcjS8D9jvloGC6W8tKlTa3V6B+0P+23xx03O6+GUKMYSWUno073k9pzwYDONXNm7q9ctcWTsnTTELDmAsLPPqpZNeY29Z8VB9XdHoNygg1X8oNfw7GAbSfmqLOSJRHK1ncSGFvQ5Ypu31TddrNXOIsV1KBwxxzqCJcuFdNeLgms2kzJjfbxkcfee06iGlzEDApz/Xa7rvU21hghTqPz9gwKDf/XZZi2hYqjKZ9J7/STDY99y0GC8pD2p3oCDbR73WZ7LR0J46w2NUxZhpAjmdPCFvtlSVmZRcOhbec2LH5JsJy6QZ/bfMkZx2WuAtlPbo9gcugDzl7+Xzc+GoKQo0swOpOiA8H2v/cCDqMjNsgaAEs0iYWxdGz2xpNL6gV8IIFeAa3ljGjHG7qbDnLA7BXQ2MOPL/GC9d6qQ9MOcigYRRPzbvju5rBXVtPH0RC1IFVX7ku7F84stBREXmUocTS0V3Rt1tvDueEbVXL9dY6B4WtRi0uSsKheYCjTvNHzIFnGJ+4YOrHoOn4aAlaBNPa7mNV3UElcZ0kao4LoJocxZYIN0idesn4ZY0pjpS8k/cDik0SsGzCNUd4P/kc/dJ0ajBmN7CL8sKVVkf7ZC1bEXTMg7Gsrud3NqPR/kk0qeHV+6yiA+9SqIYoaTjpzugnJ7tH5UjbI1KvtnOLJDqiNPmmGe6TEfw/T5gcbe1JTs4gD6BWR+8/k4PBE8iwTd041AvIPeXnA4R4sVC65F1EixUKsklnaMBhnu2o3ZVwmb3STWrTvJF6TP1Kj4h9blgArXpUzlvB2NAwrT9qlMHyHNTM+fXitlcITMh3TUH2dpACDDR3Y7P8bS39TIhHPgQQD02ewpCc93xxcK+6WQWFIAcRBo9MzCVbmdzHnPtO5mQI0UgnG/mdWT4h+sgTBVQEjYTPHGLwDLONsnF6J8alBaDqCtuDvA/QbS8ZzKHIXk8BEI2aZKML2IRi5E/WOmHW0WSo+QLj52FeycSp7+hzIETo5ZmrrN0xonRN3F/Sk/heHx70AowYjhMJVU93z0juZZ7ivRuXj1jD7dlJrOWBkw+HS7gufWMjCOFDrBAa8fPDZSauOhjD+8sZmI8cGaJ8vD5kTc5benFQ9g9Za5wPheOhCrKd6lEdsSuLK85/C29kjUFXRWD9aRF2bf6yGtZDRbSRsRlcklu86fa5M07L4A2Q2xyvs772nCh0a4QqfuQE9RXT36CmsEsylY5hJRKhGjpbQM3ObC4g8a94+rcrrqhefwR5Ogc9uT4PSzVg9pZWch7Vm4iFDSuBjy4CxTwz7BaWgwc1Vyg3NPl4z7EzrHGEJBHs/qTmRQI72v+pgI+Z6S0eWDpWJ9JGys2zm/SrdG90XfcqddzpbDS4mDt44yjLqLa08R9YF8tJ6rZGUyPy+pbgaiVXKim2GG1r3+/g57UwrIhXWHRQH9E4Y2X1/pLHQGvedS6ZZB/JinBDe3IzgRSCygp6P8UTt/0cUEpSyGFVr3xEjmPROF74L7Iufbc02YmvXaXw1YZqujuuvg0tBgPsGz0bcQ7j+WzKgmmQcF+Y0xH8bllOnPu/9ScH9JRnfx/dObD/3xYdWfM6bv7Yvqtv7IglN8brrKx8CPa+kupWT+e2NoGwppvfmwc8ajes79PS0+IVGmYRacTghcpgyhvga4jWnlD/obw2IK889PSW5IJvHD3pP44vP6zO/Do9uJWrd2Omtc222YHOB1WkYplvhlFAmGM1KJviNYE/GXs7v2f1mLZ8CmK+4sLljtfaBqdO8Xt0A4SNuU3BxXtE6kwqjr3eRQRhoSuhPkbGFiTfOSZhUe5deglugXHcj5uiCwd2DNMu+GJF6RLhId3HQUzgq4gP+qqK21tbpWJBOSmYEN5mC/1RIZI+NpbO2X9v/hEI+cl8Wr7/WNwWP0Hvo/jcqzg/22lmtzsbJ8sab4jzC9oOS8ZHxG0N3e213Q9rN8rOQO9r4NLKKKa6k6QnrwzWudkrMuEbdKrcZTydKYbMGGRHdgetVkndi3qHsHv8dx6ItKfGwFX2KHckmtZNccRxEtXZvHxvY6qc+b2D0N5JjVeTSCeXi0idPDwk6NEB3/Sstg8UvLEDaEujlRWCpy387+uO0e/pRDpSiIZe60TpfCPieppj16lM4y6v4pYiI9c4e4KYhmzByBX1I/Wn01BgioJjQqgP9jofcmz7DcwgfKUjDBNGD/vMm18ALdk7OJ/Gd88UE4Pyz84qxD1HggrLvA7TYpg6ebnQ1MqoRLlEvVMamE82ORAsUR39RlXnmeCn3TZfC8NUP21RZK/7UXRk0upD8WlgHqmUVOjr/RzktQOY3Pm/uBZMDW4XEvhsJe5Ihww4J6on3wTFpOuydzdl1VJrqRjIVOlm/4ENX4B2o66q8otu8m4ruLNlUK94kEieXbsqOrsNrqLoTqzHSsRStvyU9Ga67Ikp2SEgDJiws7y7vjFwbaerdENxdAu27OCb2q3J2HkFnlFQUdEGoKQsy26qnCVPpXjy0jEkqCRqmfZGVU8+n4LbP5q5bcIpiTR71+KXAkd/nf91a8kyt+eFk27xnGdur7i1q2VTzbTutXA2ugdxTl+q7xI2sLkiLm7cSFiJVZnrna7exFjjarX+mbU3X99wK0iBS06xgCy9sRgajS/LUD4aoZoSafwr1S1qJSB3yjRJnVX0nwRjNt50ulk4Qt5sp/hdstVgxApHBvjrjluJ+936ZSuWsPUM1My7ImH6cHrZfQp6dGE6QAIH4veHPIJMxegsgoDIxmANSOO1aQ+i1/9qL6Mg8vgACJcsprNHn5HrTLuf/SOqBAK0+8hoHXtyah/qi/h0nIEPbiNvSw5jK4JJ/J1/QtfcrZDUMxXaA/5u3Guw1yeRw9UJGUfXSIz1+p+CqRzpdjTKR1fM5IteHbaZu6GuE+vq+GyRsCmyLaUkTCaGGZzq1b6PuiwkGrkGfV8sO5P0KZcuL6pRkJa7pgxZca1GfJn4fN3A9gywXpuLa9IMnBu4fpAFQTOD5HI2ck7Wg7sqrpIwEpC+OGDHbANpQhZa8Kcrag+c6bqI+TcES5aT5bjQ7kCPjCwpJzuIyV5wQOsjASHQu2ubk7SPN3vZDCSG9eK/LGsSioShrw1ey08xoLNrauOB4yUt0gbAso4rDhjcNj2sYlX1OKlCMHWY0OrThafkicVzforHnsSK+wUdjG8J1agy1EIhiYJxvb3GWO+GxFMeT4axUPv/jwCIr/WBtky56OG8Xa0u42LYusPy8iPX5GcuJ3kYeqhPit1w+7aswd2A5b6rqU6lK7zIbptMKfEkfpmKXpOaUn6n+oJGKzR9eYIz8OZIiOseSf0q06oBkNf+yOiT4V+e7uo4OsJAQwaM9TGSuOWreq6oyk1y0FPELDqF+2MTFlVSWwzU15BssS9JI3Eb8+X1UXjoDQC+S+i9i74tZuDrcqnbGgxA6drq7OaluLCtJkdQTeyHVSRFpagkXyLo0GvpKFFfsSZ9Xw8OLW7j0YxLZ7c+2ca2CFltZNRlVMHnWkWtAoxIa4JjxM4Zeq32WSTXEEM/WoZjBLn9k91at/e9DG4j+ZKUD+jgOoRuWWX5qEeNuPvzPQvXIEUpjefPfApVbSc+9ARG2PhWY+lq2amCd2Y6iVqEqkeRMA591ZwX6xU3wSu1JdDVgYwGBVr3HenWgb1+mmtBBuHvC4qg0Hq2IhcSaS6HDKBBOWs8rRyFW7aQ2wtiIN/cWXe2A9BTsrKsQQXORqUHy3fZq4jOMEW5p6irmOQrKtko5g83ccxvFAGe1nstMeWTeyOPBVozcukV/oAd+IZi/F3kZsa8bivLo7MWGLFaA9O0usIyN3G2ypin05rhoIDQpel+yrVSLHU+3cx9khSpCMNb3nlnV1XFQU6hyIVC7ad0HWUH7SknNpmSQkqum50NXRC+Xdh3fQw78trdRk6ERLxk5elbRKYtqXPOyEPhEL7zvxWr1h3frQvUsnpo7VzeqKrbHsupQ5Ra0esc/ySoGl7RjeZ/T8Q0sss86B185wh5TP6oAx/BRe919Coo0CTal5gyWhPjuaNfX30sowQ6ATWORuCQ3KAIPytYf9/FOIGG6dyotIfuCRt9F0nn40Vc9kol532p1YdiUGEsaegSoD/ko2lVHF7tOuh5b3BSL1g73dgzpSO3VEzRS+mkM1eXKWapLEJ4qSlQCabcGUghcPPAW3dbEs97qAAMnxOWPdEovGJFPue9p0UKAdlwReyusW/PbT6hoRkmQI5byF9bymHLv0iKVhlbZ9Sh7s5jJs0OPpMSsHXR2Sju6Sk9CfQ2IuMv86SbSkNjKqd7jDh9T6uf6+CVvhTcS+lJXmtKmJeWi+LkzZrLA693wdkBEK9ksBN50PD9hcCTXcJLSVjPOewYSEUxMOtEtCEy7hum+wBvKlZSjLiFBvCcy8jNRFLkS3hz/5/qokywv/669J1zkVpWmP977V7b3O/ubbHE2IWg5Ec7WXpbQ2QV9wiTEwlfiICmgx/M5hhBF3zKs+fLo2Kw3C/bxCeuXVlL/WTRtpBHaQMj21aWyvBb03hhCxwcJJmj+mI4RHG0esxadUHXIz3IDPDytlGeJYF7fRqaROQBNhw9M730+Nl24Sg+omMQisHFpkCtejcD0K16OkcD0K16NwPczMzMzMzMzMzczMzMzMzMwAAAAAAAAAgABBx9vDAAsBoABB19vDAAsByABB59vDAAsB+gBB9tvDAAsCQJwAQYbcwwALAlDDAEGW3MMACwIk9ABBpdzDAAsDgJaYAEG13MMACwMgvL4AQcXcwwALAyhr7gBB1dzDAAsD+QKVAEHk3MMACwRAt0O6AEH03MMACwQQpdToAEGE3cMACwQq54SRAEGT3cMACwWA9CDmtQBBo93DAAsFoDGpX+MAQbPdwwALBQS/yRuOAEHD3cMACwXFLryisQBB0t3DAAsGQHY6awveAEHi3cMACwboiQQjx4oAQfLdwwALBmKsxet4rQBBgd7DAAsHgHoXtybX2ABBkd7DAAsHkKxuMniGhwBBod7DAAsHtFcKPxZoqQBBsd7DAAubKaHtzM4bwtMAAAAAAAAAAKCEFEBhUVmEAAAAAAAAAADIpRmQuaVvpQAAAAAAAAAAOg8g9CePy84AAAAAAAAAAIQJlPh4OT+BAAAAAAAAAEDlC7k21wePoQAAAAAAAABQ3k5nBM3J8skAAAAAAAAApJYigUVAfG/8AAAAAAAAAE2dtXArqK3FnQAAAAAAACDwBeNMNhIZN8UAAAAAAAAobMYb4MNW34T2AAAAAAAAMsdcEWw6lgsTmgAAAAAAQH88sxUHyXvOl8AAAAAAABCfSyDbSLsawr3wAAAAAADUhh70iA21UJl2lgAAAACARBQTMetQ4qQ/FLwAAAAAoFXZF/0l5RqOTxnrAAAAAAirz12+N8/QuNHvkgAAAADlyqFarQUDBSfGq7cAAABAnj1K8RnHQ8awt5blAAAA0AXNnG1vXOp7zjJ+jwAAAKIjAILki/PkGoK/XbMAAICKLICi3W4wnqFiLzXgAAAgrTcgC9VF3gKlnT0hjAAANMwi9CZF1pVDDgWNKa8AAEF/K7Fwlkx71FFG8PPaAEARX3bdDDwPzSTzK3bYiADIavtpCoilUwDu77aTDqsAekV6BA3qjmiA6aukONLVgNjWmEWQpHJB8HHrZmOjhVBHhn8r2qZHUWxOpkA8DKck2WdftpCQmWUH4s9QS8/Qbc9B9+O09P+fRO2BEo+BgqQhiXoO8fi/x5VoItfyIaMNaisZUi33rzm7AuuMb+rLkER2n6b49JsIasMlcAvl/rTVU0fQNvICRSKaFyYnT5+QZZQsQmLXAdaqgJ3v8CLH9X65t9I6TUKL1eCEK63r+LLep2WHieDSd4UMMztMk5sv64if9FXMY9Wmz/9JH3jC+yVrx3FrvzyKkMN/HCcW83rvRTlORu+LVjraz3HY7Zestcvj8It1l+zI0EOOTum9F6O+HO3uUj0n+8TUMaJj7d1L7mOoqqdM+Bz7JF9FXpRq73Q+qcrojzbkOe621nW5RCsSjlP94rNEXcipZEzT5xa2lnGovNtgSjod6r4P5JDNMf5G6VWJvN2IpKSuEx21Qb69mGOrq2sUq81Nmlhk4tEt7X48lpbG7IqgcGC3fo2iPFTP5R0e/KityIw4Zd6wy0spQ1+lJTsS2fqvhv4V3b6e8xO3Du9Jq8f8LRS/LYo3Q3hsMmk1bpb5eznZLrmsBFSWB3/Dwkn799qHj3rn1wbpe8ledDPc/drotJms8Iajce09uyigabwRIyLA16yoDM5oDeoyCMQr1qsqsA3Y0pABw5CkPwr122WrGo4Ix4P64HnaxmcmeVI/VqGxyrikOFkYkbgBcFcmz6sJXv3mzYZvXrUmAkzteGELxlpesIC0BVsxWIFPVNY5jnfxddygIcexPa5hY2lMyHHVbZMTyek4Hs0ZOrwDXzrOSkl4WPsjx2VAoEirBHvkwM4tSxeddpw/KGQN62KaHXFC+R1dxJSDTzK90KU7AGUNk3dldPV5ZON+7ESPyiBf6Ltqv2iZyx5OzxOLmX7oduJqRe/Cv36mIcPY7T+eohSbxRars+8eEOrzTunPxeXsgDvuStCVEkpyWNHxobsfKGHKqV1Eu5fcjq5FbooqJnL5PBR1Feq9kzIa1wkt9VjnG6YsaU2SVpxfcCYmPFku4aLPd8PgtmyDdwywL4tvepmLw1X0mORHZJUPnPttC+w/N5q1mN+OrF69iUG9JEfnD8UA436Xsle2LOyR7O1Y4VP2wJtePd/t4zdntmcpL2z0mVghW4aLdO6CANLgeb2HccCu6fFnrhGqo4AGWdjs6Y1wGmTuAdqVlMwgSG8O6LJYhpD+NEGI3dx/FI0FCTHe7qc0PoJRqhXUn1nwRku9lurRwc3i5dQayQdwrBiebJ4yI5nArQ+FsN0ExmvP4gNF/2u/MJlTphwVhrdGg9uEFv9G73x/6M9jmmdlGGQS5m5fjBWuT/GBfsBgP49+y09Jd++amaNtop3wOA8zXr7jHFWrAYAMCcvFLAfTv/WtXGMqFgKgT8v99vfIxy9z2XN+2k0BxBGfnvqa3dz952coHVGhATXWRsa4ARVU/eGBsmWlCULCi9j3JkIaqXxaIh9fB0ZpWVfnmlhpsOmNeHUzN4mXwy8tocGugxxksdZSAIRrfbR7eAnymqQjvV2MZ8AyY85QTetFl+BGNpa6t0D4//sBpSBmF72Y2MM7qeVQtv96Qs6oP13svs60ihMf5aPfjOmAyUe6kzcBsTZsM2/GF/Aj4bvZqLiEQV1ERwALuB3sbNkqENPm5ZF0FVnADaaSE+THGupDkC/baK03mMiHdxjdeaHkVLT7EcOYRb66KZReVNjJHWrhetbz/tZtKfQduzQnnlLijAxmWF+m5JkY5OkBsUXnGrCPfy73z13AXl1kQh0XoSHccx/69EN1cHa6fklyrgSViahTHHlKSQZqad7bDtpF+quSaGMXnduHBAPWkpJQ1/jWtkI8XYTSqUXCxZtbkoZbhrKpRbqSI4oLMreC8jZo8qceFNdod6xsjv9kI69EAu/RJtkMQ5XXBzIfH3btamE1g7gH6Em95kR/56bTqMW5AqSmCWKcbCAWX6GQCBM3aAPND4x6w4eo2zZkWuVrIiEigImXLNpUSUnC/bDeBmupKqBsvbcQqpvb8j1dlsjFUzXIx6zllJSCkm+M9Ls6t6hC+vkXH7o5I3fL13i1hHKpaZz7blMUBHYq/w3X4iXPE4TDukpoGYUT9f7RjFvvwhhl9Gldwl9mWLJ+AjiZ1Xkvv5hhetn7P3cv7wOG/0pY++6++tjP+g9V+6qEZ79dLrqq7jjPg/lTKrqVsqCX+ly0KpWDYfJ7dFqU3d+IPTl0YXW65PnumhFx+ZQX64xH0bkS6V24qgFWzTd67hK4zCK0q5E6swrBVeBirKoX5n8roRa2CWBNMWuYe1eUnd9fdkmc4wu4oP2FflrtfcLr++mtQY4Hc4S+E49YFByz5npkGdKxyI8lrtiyblnjX6CZvZ9G3rvzrtmOX8pv7jsEgNYj7IpUWA1IuXveJelKBSDMLKetaq4QmqcaVq+knQYo//cQ2QTalIBRoSsbhiIEef+aqodCCF3w0kT7kCgrRVe/QZWpU0p0rAcWOjXydRYtL5L60+hckZeJm4hCtwkufF2bfIQR2rr+NWGVaSWMOds0wpullZBpfoO5+kMu7wcSwrICz7v0A17kZ/mUffVES7mvYYH1eMK67uAbHdwyFp6nG7qhMhdzaSrZYmSTv5uFkaIoyv7czwN1j3t9eK8C5zXLsvw+1MNEUnPaXKutYbABv++dp2T6ahOICDoWGXocwq5rxdD9uEUYqooIW5+Yo3KaxvZFPSdXnlStipljP6aHIDyaS4Z49uJUrDZ/PM+PqSjLwN2nFrQbaleEnwvD89Py/fDVURyhokRtZUPnWXjEt56WJbOxpOVKZJ8UYXCWtWVGvO4f3g2fXT2HWXkM/CL/V+vqp1XRBrUMqdjLh911/xaT8ojVQiTxpwnOvulUU7/cty/rilNt7REMgS4kKijv0+X6pW2oyGgWjxCdVhp5daSPvIdEaX0BbvlVROxg15KNs6yplcPcgck3alUnOY33cOAXFHv0U+K7hWKVuEO4mkaMjuzMeHRtlZO7uqZUZkFYr7InAJfRyHo4amnQ6b9RLtueMcD8BXuZBuJBIvIX8/yIAx/4vePsH0Ra0qru3S88q8Mmdq0c6CfV8YZVatU7C9Z0sNPYI+JxilZ0dWJlBceFSU6EZ1Yth/Zs0RK7vsY4p9thZQGs+Ci0x4XXaW74BtFSur4B1zYz4ZyzJgJFW6SCczQXYUYCwOyEYLBCFnJNo5ABXfnXAvAnpXhc05vOIMz0QbT3jQPsMc6WM8hCAin/cVKhdXEEZ35BPiC9aaF5n4bThOnGYgAP0U1oLMQJWMdoCOajeHvAUkVhgjc1DC75gorfzFaacKfLfLFCoce8m5G2C0B2YKaI/ttdk4n5q8I1pA7Qk/jPav5SNfjr91bzQ00SxLj2gwXeUyF781oWmEpwi3ozenLD1qjpWbDxG75cTC5ZwBhPdAwTZHAc7qLtc995b/DeYhHniz7G0dSFlKgrrEVWy92K4S7ONwZKp7mSNhfXKz6VbZm6wcWHHBHoNwTdzLaN+sigFJnb1LEKkaIiCkCSmJwdyFl/EkpeTbVLqwzQtr4DJTowH5fctaDiHdYPhGSuRC4kfnPeqXGkjdLlidL+7OpcrV0QVhSODbFHXyyHPqgldBh1lGuZ8VDdGXf3KE4SL9EvyTzj/5ZSim+qmtlwa72Ce/sL3L8856wLVQEQTcZsY1r6DtPvCyHYTqoBVOD3Rzx4XOnjdacUh3EKgTTs+qxllrPjXFPR2agNTaFBpzkYf3ygHDSoRRDTUKAJEhFI3h5N5JEgiSvqgzIERqsK7UqTYF22aGu25KQ/hRdWTagd+Ln040IG5B3Ojmadq2ASJTbzeM7pg67SgBlgQmt8K9fBMBdC5CRaB6Ef+BKGW/ZMsvycUh2uMEnJJ7aXZ/Iz4N48RKek2Xyb+7GjfQHvQJgWpYroBgguQZ1Ohu5glSgfjk6togiKeZHE4icqubrypvGiWMuK7Ne19duxdGdprxCuZRe/1vOmkZkp76jgoW3KrD/dbsywEPa/8yrTWAoJ/ReOlIr/3JTz77D1B+9MS/zd2Zy2Hwo9+JWO+WQVEK+9Sg9EpKdMTHa78Te+GtQabZ0TVY3RX99T6u3FbSGJYciELFX44ptrdJK0m+S09Tz9MndqttuChhG3ocIdIjOMvD8VBaSSI+jV5Eozpeo/r6sPLYOmOxaxBY8OQKfyh03LKfgjkMpbHceyEhBR7+kgPnT2LDS9suR43xZUJWskqU2RGpxAtu+Oq4uOVPfCtonQGiDD0KOrcpausSm1cySshKHo88SMVg882h50opAt1+XJcRj7F5aJZYiSiGV6fKYvfo3e+Z37636qt+r+mBuQu90xVniF+qYe1WWlPn8idCpV3jVrk1woM4VfJ4ePlYg61VYDRrhz8n+mN/Fo87oqiYoshFemEO8f0IUtQ7BpdSstm7L2Z2r1E4Jz/CkOYik7nEJf9AHF8piij3u0kbrzSYMTd3FCdi8/y3OaITapcBwk19QN01P7Dv4QAaqD04wj7Qal6GMUXcmeqkBKMgQ4NvRIzuJ8WbR7xtXQ3D4FxkOx2oEb3G+hGvgKBZSOhreU3SgxkenlpBCbJoMcGbTyfMpyffVjH87UwfCjYx9hLxz9z9zyPKcBSvLsjDxnOTtjvAHKF4YIQW6XE9iF4AMFvtWCvJ2nStFJvRhOp9hEhi1LoiuFUZ1FnOyeIdEO1uf43UU781KCq+GTA7VCyeWQu8oXCrDnYhbauENikzsfdWo9nQycofubEOfUOngKZxLFDOKHAUV9YWqQxSSLZoAr+yfa6UGW3PmEtPbtLYBg9vmxUWTSu1M4puFzaTmg+HN4XrJ+Y1U04weN6OEjZHtIC9tfXrxqAdxJsGLaLD2aGs6R93VrxQFTXNz7EHjMQKFBdropYxvhs7mJnQrLf8gE6akp9Dti2SAorETNvZ/6RWNUM/HKug8pMteVQK1HeRd8qcDWvtSpWX+GXUjMzKuO7UlwjO5JFDAfqHRa/79W8mhcjC9qXBn8JtIRMf9v7C6Dc7ddwtmPXViDq37/xVP9Mcgl9TLQ83QupFVef7eofD66b7I/xDASOs3rNV/l0hvOKIXPp3peS0SAs4Fbz2PRgHlmw1EZNl5VoB9iMsO8BeHXQDSmn8O1asin+v7zK0fZjVDBj4c0Y4X6Ubn+8PaYT7HS2LnUAF6TnNMzn1aav9FuB0/oCYE1uMPIAEfsgC+GCshiYkzhQqb0+sBYJ2G7J829fb3PzOnnmJx4l7gc1TiALN2sA0DkIb/DVr3mYwpH4HgUmARQXerudKxs4PzMWBjLDN8CUnpSlcjrQwwegDcP/c+Wg+YYp7q65lSPJWAF0/2DfCQg31DpaSAq8y64xkd+0s0WdIvSkUFU+lcdM9xMHUeBHFEuR7ZS6fit5D8T4OWYoWPl+djjpiN32d0PGFiP/0ReL5xnjkh26qfqCQ9XdXNlci1wcm92aWRlZCBjb21wYXJpc29uIGZ1bmN0aW9uIGRvZXMgbm90IGNvcnJlY3RseSBpbXBsZW1lbnQgYSB0b3RhbCBvcmRlctYgEABfAAAAVgMAAAUAAAAAAAAA30UaPQPPGubB+8z+AAAAAMrGmscX/nCr3PvU/gAAAABP3Ly+/LF3//b73P4AAAAADNZrQe+RVr4R/OT+AAAAADz8f5CtH9CNLPzs/gAAAACDmlUxKFxR00b89P4AAAAAtcmmrY+scZ1h/Pz+AAAAAMuL7iN3Ipzqe/wE/wAAAABtU3hAkUnMrpb8DP8AAAAAV862XXkSPIKx/BT/AAAAADdW+002lBDCy/wc/wAAAABPmEg4b+qWkOb8JP8AAAAAxzqCJcuFdNcA/Sz/AAAAAPSXv5fNz4agG/00/wAAAADlrCoXmAo07zX9PP8AAAAAjrI1KvtnOLJQ/UT/AAAAADs/xtLf1MiEa/1M/wAAAAC6zdMaJ0TdxYX9VP8AAAAAlsklu86fa5Og/Vz/AAAAAISlYn0kbKzbuv1k/wAAAAD22l8NWGaro9X9bP8AAAAAJvHD3pP44vPv/XT/AAAAALiA/6qorbW1Cv58/wAAAACLSnxsBV9ihyX+hP8AAAAAUzDBNGD/vMk//oz/AAAAAFUmupGMhU6WWv6U/wAAAAC9filwJHf533T+nP8AAAAAj7jluJ+936aP/qT/AAAAAJR9dIjPX6n4qf6s/wAAAADPm6iPk3BEucT+tP8AAAAAaxUPv/jwCIrf/rz/AAAAALYxMWVVJbDN+f7E/wAAAACsf3vQxuI/mRT/zP8AAAAABjsrKsQQXOQu/9T/AAAAANOSc2mZJCSqSf/c/wAAAAAOygCD8rWH/WP/5P8AAAAA6xoRkmQI5bx+/+z/AAAAAMyIUG8JzLyMmf/0/wAAAAAsZRniWBe30bP//P8AQdaHxAALBUCczv8EAEHkh8QAC+QMEKXU6Oj/DAAAAAAAAABirMXreK0DABQAAAAAAIQJlPh4OT+BHgAcAAAAAACzFQfJe86XwDgAJAAAAAAAcFzqe84yfo9TACwAAAAAAGiA6aukONLVbQA0AAAAAABFIpoXJidPn4gAPAAAAAAAJ/vE1DGiY+2iAEQAAAAAAKityIw4Zd6wvQBMAAAAAADbZasajgjHg9gAVAAAAAAAmh1xQvkdXcTyAFwAAAAAAFjnG6YsaU2SDQFkAAAAAADqjXAaZO4B2icBbAAAAAAASnfvmpmjbaJCAXQAAAAAAIVrfbR7eAnyXAF8AAAAAAB3GN15oeRUtHcBhAAAAAAAwsWbW5KGW4aSAYwAAAAAAD1dlsjFUzXIrAGUAAAAAACzoJf6XLQqlccBnAAAAAAA41+gmb2fRt7hAaQAAAAAACWMOds0wpul/AGsAAAAAABcn5ijcprG9hYCtAAAAAAAzr7pVFO/3LcxArwAAAAAAOJBIvIX8/yITALEAAAAAACleFzTm84gzGYCzAAAAAAA31Mhe/NaFpiBAtQAAAAAADowH5fctaDimwLcAAAAAACWs+NcU9HZqLYC5AAAAAAAPESnpNl8m/vQAuwAAAAAABBEpKdMTHa76wL0AAAAAAAanEC2746riwYD/AAAAAAALIRXphDvH9AgAwQBAAAAACkxkenlpBCbOwMMAQAAAACdDJyh+5sQ51UDFAEAAAAAKfQ7YtkgKKxwAxwBAAAAAIXPp3peS0SAiwMkAQAAAAAt3awDQOQhv6UDLAEAAAAAj/9EXi+cZ47AAzQBAAAAAEG4jJydFzPU2gM8AQAAAACpG+O0ktsZnvUDRAEAAAAA2Xffum6/lusPBEwBAAAAAGFzc2VydGlvbiBmYWlsZWQ6IGQubWFudCA+IDC6HxAAYgAAAN4BAAAFAAAAuh8QAGIAAAB/AAAAFQAAALofEABiAAAANQIAABEAAAC6HxAAYgAAADgCAAAJAAAAuh8QAGIAAABuAgAACQAAALofEABiAAAAqwAAAAUAAABhc3NlcnRpb24gZmFpbGVkOiBkLm1pbnVzID4gMAAAALofEABiAAAArAAAAAUAAABhc3NlcnRpb24gZmFpbGVkOiBkLnBsdXMgPiAwuh8QAGIAAACtAAAABQAAAGFzc2VydGlvbiBmYWlsZWQ6IGQubWFudCArIGQucGx1cyA8ICgxIDw8IDYxKQAAALofEABiAAAAsQAAAAUAAAC6HxAAYgAAAAwBAAARAAAAuh8QAGIAAABCAQAACQAAAGFzc2VydGlvbiBmYWlsZWQ6IGQubWFudC5jaGVja2VkX3N1YihkLm1pbnVzKS5pc19zb21lKCkAuh8QAGIAAACvAAAABQAAAGFzc2VydGlvbiBmYWlsZWQ6IGQubWFudC5jaGVja2VkX2FkZChkLnBsdXMpLmlzX3NvbWUoKQAAuh8QAGIAAACuAAAABQAAAIA7EABjAAAADQEAAAUAAACAOxAAYwAAAA4BAAAFAAAAgDsQAGMAAAAPAQAABQAAAIA7EABjAAAAdAEAACQAAACAOxAAYwAAAHkBAAAvAAAAgDsQAGMAAACGAQAAEgAAAIA7EABjAAAAaAEAAA0AAACAOxAAYwAAAE4BAAAiAAAAgDsQAGMAAAARAQAABQAAAIA7EABjAAAAEAEAAAUAAACAOxAAYwAAAHgAAAAFAAAAgDsQAGMAAAB5AAAABQAAAIA7EABjAAAAegAAAAUAAACAOxAAYwAAAMQAAAAJAAAAgDsQAGMAAAD9AAAADQAAAIA7EABjAAAABAEAABIAAACAOxAAYwAAAHwAAAAFAAAAgDsQAGMAAAB7AAAABQAAALofEABiAAAA8QIAACYAAAC6HxAAYgAAAOUCAAAmAAAAuh8QAGIAAADOAgAAJgAAAC4uICAgIAAAAAAAAAAA8D8AAAAAAAAkQAAAAAAAAFlAAAAAAABAj0AAAAAAAIjDQAAAAAAAavhAAAAAAICELkEAAAAA0BJjQQAAAACE15dBAAAAAGXNzUEAAAAgX6ACQgAAAOh2SDdCAAAAopQabUIAAEDlnDCiQgAAkB7EvNZCAAA0JvVrDEMAgOA3ecNBQwCg2IVXNHZDAMhOZ23Bq0MAPZFg5FjhQ0CMtXgdrxVEUO/i1uQaS0SS1U0Gz/CARABBkJXEAAu5VjAxMGJudW1iZXIgdG9vIGxhcmdlIHRvIGZpdCBpbiB0YXJnZXQgdHlwZW51bWJlciB0b28gc21hbGwgdG8gZml0IGluIHRhcmdldCB0eXBlbnVtYmVyIHdvdWxkIGJlIHplcm8gZm9yIG5vbi16ZXJvIHR5cGVudW1iZXIgaXMgbm90IGEgcG93ZXIgb2YgdHdvMHgwMTIzNDU2Nzg5QUJDREVGY2Fubm90IHBhcnNlIGZsb2F0IGZyb20gZW1wdHkgc3RyaW5naW52YWxpZCBmbG9hdCBsaXRlcmFsAAAAc0wQAEsAAACFCwAAJgAAAHNMEABLAAAAjgsAABoAAABSZWZDZWxsIGFscmVhZHkgbXV0YWJseSBib3Jyb3dlZFJlZkNlbGwgYWxyZWFkeSBib3Jyb3dlZFRoZSBlbnYgZnVuY3Rpb24gZXhwZWN0cyBhIHNpbmd1bGFyLCB1bm5hbWVkLCBzdHJpbmcgYXJndW1lbnQuSWYgcHJvdmlkZWQsIHRoZSBzY2hlbWFzIGFycmF5IGNhbiBub3QgYmUgZW1wdHkuVGhlIGRhdGFzb3VyY2UgcHJvcGVydHkgYHVybGAgaXMgbm8gbG9uZ2VyIHN1cHBvcnRlZCBpbiBzY2hlbWEgZmlsZXMuIE1vdmUgY29ubmVjdGlvbiBVUkxzIGZvciBNaWdyYXRlIHRvIGBwcmlzbWEuY29uZmlnLnRzYCBhbmQgcGFzcyBlaXRoZXIgYGFkYXB0ZXJgIGZvciBhIGRpcmVjdCBkYXRhYmFzZSBjb25uZWN0aW9uIG9yIGBhY2NlbGVyYXRlVXJsYCBmb3IgQWNjZWxlcmF0ZSB0byB0aGUgYFByaXNtYUNsaWVudGAgY29uc3RydWN0b3IuIFNlZSBodHRwczovL3ByaXMubHkvZC9jb25maWctZGF0YXNvdXJjZSBhbmQgaHR0cHM6Ly9wcmlzLmx5L2QvcHJpc21hNy1jbGllbnQtY29uZmlnVGhlIGRhdGFzb3VyY2UgcHJvcGVydHkgYGRpcmVjdFVybGAgaXMgbm8gbG9uZ2VyIHN1cHBvcnRlZCBpbiBzY2hlbWEgZmlsZXMuIE1vdmUgY29ubmVjdGlvbiBVUkxzIHRvIGBwcmlzbWEuY29uZmlnLnRzYC4gU2VlIGh0dHBzOi8vcHJpcy5seS9kL2NvbmZpZy1kYXRhc291cmNlVGhlIGRhdGFzb3VyY2UgcHJvcGVydHkgYHNoYWRvd0RhdGFiYXNlVXJsYCBpcyBubyBsb25nZXIgc3VwcG9ydGVkIGluIHNjaGVtYSBmaWxlcy4gTW92ZSBjb25uZWN0aW9uIFVSTHMgdG8gYHByaXNtYS5jb25maWcudHNgLiBTZWUgaHR0cHM6Ly9wcmlzLmx5L2QvY29uZmlnLWRhdGFzb3VyY2VUaGUgYHJlZmVyZW50aWFsSW50ZWdyaXR5YCBhbmQgYHJlbGF0aW9uTW9kZWAgYXR0cmlidXRlcyBjYW5ub3QgYmUgdXNlZCB0b2dldGhlci4gUGxlYXNlIHVzZSBvbmx5IGByZWxhdGlvbk1vZGVgIGluc3RlYWQuVGhlIGVudiBmdW5jdGlvbiBkb2Vzbid0IGV4cGVjdCBuYW1lZCBhcmd1bWVudHNUaGUgYHJlZmVyZW50aWFsSW50ZWdyaXR5YCBhdHRyaWJ1dGUgaXMgZGVwcmVjYXRlZC4gUGxlYXNlIHVzZSBgcmVsYXRpb25Nb2RlYCBpbnN0ZWFkLiBMZWFybiBtb3JlIGF0IGh0dHBzOi8vcHJpcy5seS9kL3JlbGF0aW9uLW1vZGWTHxAAJgAAACQAAAAoAAAAY2xvc3VyZSBpbnZva2VkIHJlY3Vyc2l2ZWx5IG9yIGFmdGVyIGJlaW5nIGRyb3BwZWQAALBaEABaAAAAFBoAAAEAAAAAAAAABAAAAAQAAABoAAAAbmVnYXRpdmUgdmFsdWVzIGFyZSBub24temVyb1wkEABmAAAAZgAAACgAAABUcmllZCB0byBzaHJpbmsgdG8gYSBsYXJnZXIgY2FwYWNpdHnOURAAdQAAAC4DAAAJAAAAQ2Fubm90IHN1YnRyYWN0IGIgZnJvbSBhIGJlY2F1c2UgYiBpcyBsYXJnZXIgdGhhbiBhLvA4EABtAAAARQAAAAUAAADwOBAAbQAAAGUAAAAFAAAAdjoQAHAAAABKAAAAGwAAAHY6EABwAAAAUgAAABsAAAB2OhAAcAAAAFkBAAAnAAAAdjoQAHAAAABYAQAAJgAAAHY6EABwAAAA+AAAACYAAAB2OhAAcAAAAPcAAAAmAAAAdjoQAHAAAADzAAAAJgAAAHY6EABwAAAArQAAABoAAAB2OhAAcAAAALsAAAAWAAAAdjoQAHAAAAC6AAAAFgAAAHY6EABwAAAAaQAAAB8AAAB2OhAAcAAAAH8BAAAPAAAAdjoQAHAAAACCAQAADwAAAHY6EABwAAAALgAAABwAAAAAAAAAY2Fycnkgb3ZlcmZsb3cgZHVyaW5nIG11bHRpcGxpY2F0aW9uIQAAAHY6EABwAAAAOwAAAAUAAAD0IxAAZwAAACcAAAAZAAAAuyEQAGkAAADBAgAAHAAAALshEABpAAAAeAAAABoAAADYNxAAagAAADkAAAAaAAAAFTsQAGoAAACoAAAACQAAABU7EABqAAAA6wAAABgAAAAVOxAAagAAAOwAAAAOAAAAFTsQAGoAAAD2AAAAIQAAABU7EABqAAAA9wAAABgAAAAVOxAAagAAABgBAAA8AAAAFTsQAGoAAAAtAAAACQAAAPA4EABtAAAAhwAAACUAAABjYW5ub3QgcGFyc2UgaW50ZWdlciBmcm9tIGVtcHR5IHN0cmluZ2ludmFsaWQgZGlnaXQgZm91bmQgaW4gc3RyaW5nALshEABpAAAA2gAAABoAAADYNxAAagAAAGgAAAAiAAAALSYQAGEAAACHAQAAAQAAAEggEAAiAAAAhgAAADcAAABIIBAAIgAAAH8AAAANAAAASisQACUAAACyAQAAGQAAAEorEAAlAAAAsgEAACYAAABGaWVsZHMgb24gYW4gYWxyZWFkeSBpZ25vcmVkIE1vZGVsIGRvIG5vdCBuZWVkIGFuIGBAaWdub3JlYCBhbm5vdGF0aW9uLkBpZ25vcmUAAEorEAAlAAAAXQMAADsAAABKKxAAJQAAAGIDAAAeAAAASCAQACIAAADJAQAAKAAAAMJUEAAoAAAAIgAAADMAAADCVBAAKAAAACcAAAAeAAAAwlQQACgAAABSAAAARwAAAMJUEAAoAAAAUwAAACYAAADCVBAAKAAAAFMAAAAwAAAAwlQQACgAAABcAAAAJgAAAMJUEAAoAAAAXAAAACwAAACJIxAALQAAACQAAAASAAAAiSMQAC0AAABrAAAAVgAAAJIdEAAvAAAAIAAAADMAAACSHRAALwAAACQAAAAeAAAAkh0QAC8AAABOAAAAQwAAAJIdEAAvAAAATwAAACIAAACSHRAALwAAAE8AAAAsAAAASW5ldE9wc0pzb25iT3BzSnNvbmJQYXRoT3BzQXJyYXlPcHNUZXh0T3BzQml0TWluTWF4T3BzVmFyQml0TWluTWF4T3BzQnBjaGFyQmxvb21PcHNCcGNoYXJNaW5NYXhPcHNCeXRlYUJsb29tT3BzQnl0ZWFNaW5NYXhPcHNEYXRlQmxvb21PcHNEYXRlTWluTWF4T3BzRGF0ZU1pbk1heE11bHRpT3BzRmxvYXQ0Qmxvb21PcHNGbG9hdDRNaW5NYXhPcHNGbG9hdDRNaW5NYXhNdWx0aU9wc0Zsb2F0OEJsb29tT3BzRmxvYXQ4TWluTWF4T3BzRmxvYXQ4TWluTWF4TXVsdGlPcHNJbmV0SW5jbHVzaW9uT3BzSW5ldEJsb29tT3BzSW5ldE1pbk1heE9wc0luZXRNaW5NYXhNdWx0aU9wc0ludDJCbG9vbU9wc0ludDJNaW5NYXhPcHNJbnQyTWluTWF4TXVsdGlPcHNJbnQ0Qmxvb21PcHNJbnQ0TWluTWF4T3BzSW50NE1pbk1heE11bHRpT3BzSW50OEJsb29tT3BzSW50OE1pbk1heE9wc0ludDhNaW5NYXhNdWx0aU9wc051bWVyaWNCbG9vbU9wc051bWVyaWNNaW5NYXhPcHNOdW1lcmljTWluTWF4TXVsdGlPcHNPaWRCbG9vbU9wc09pZE1pbk1heE9wc09pZE1pbk1heE11bHRpT3BzVGV4dEJsb29tT3BzVGV4dE1pbk1heE9wc1RpbWVzdGFtcEJsb29tT3BzVGltZXN0YW1wTWluTWF4T3BzVGltZXN0YW1wTWluTWF4TXVsdGlPcHNUaW1lc3RhbXBUekJsb29tT3BzVGltZXN0YW1wVHpNaW5NYXhPcHNUaW1lc3RhbXBUek1pbk1heE11bHRpT3BzVGltZUJsb29tT3BzVGltZU1pbk1heE9wc1RpbWVNaW5NYXhNdWx0aU9wc1RpbWVUekJsb29tT3BzVGltZVR6TWluTWF4T3BzVGltZVR6TWluTWF4TXVsdGlPcHNVdWlkQmxvb21PcHNVdWlkTWluTWF4T3BzAACiLBAALQAAALgAAAAWAAAASW52YWxpZCBwYXJhbWV0ZXIgdHlwZTogZXhwZWN0ZWQgc3RyaW5nb3BlcmF0b3IgY2xhc3NBc2MsIERlc2Njb25zdGFudCBsaXRlcmFsc2NoZW1hLnByaXNtYQABAAAAeFkQAB4AAAChAAAACQAAAEggEAAiAAAApgEAAFAAAABUcmFpbGluZyBjb21tYXMgYXJlIG5vdCB2YWxpZCBpbiBhdHRyaWJ1dGUgYXJndW1lbnRzLCBwbGVhc2UgcmVtb3ZlIHRoZSBjb21tYS6AhgBTdGF0ZSBlcnJvcjogd2UgY2Fubm90IHN0YXJ0IHZhbGlkYXRpbmcgbmV3IGFyZ3VtZW50cyBiZWZvcmUgYHZhbGlkYXRlX3Zpc2l0ZWRfYXJndW1lbnRzKClgIG9yIGBkaXNjYXJkX2FyZ3VtZW50cygpYCBoYXMgYmVlbiBjYWxsZWQuCsEgAIBgAAAAAEggEAAiAAAAWgEAAA0AAABIIBAAIgAAAA0BAAAUAAAASCAQACIAAAANAQAAOwAAAEggEAAiAAAAnAAAABkAAABhc3NlcnRpb24gZmFpbGVkOiBzZWxmLmF0dHJpYnV0ZXMudW51c2VkX2F0dHJpYnV0ZXMucmVtb3ZlKCZhdHRyX2lkeCkAAABIIBAAIgAAAJkAAAANAAAASCAQACIAAAAUAQAAFwAAAEggEAAiAAAAGwEAADAAAABObyBzdWNoIGFyZ3VtZW50LlN0YXRlIGVycm9yOiBtaXNzaW5nIGF0dHJpYnV0ZSBpbiB2YWxpZGF0ZV92aXNpdGVkX2FyZ3VtZW50cy4AAEggEAAiAAAAFgEAAA0AAABIIBAAIgAAAPwAAAAWAAAAYXNzZXJ0aW9uIGZhaWxlZDogc2VsZi5hdHRyaWJ1dGVzLnVudXNlZF9hdHRyaWJ1dGVzLnJlbW92ZSgmZmlyc3RfaWR4KQAASCAQACIA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ZGJnZW5lcmF0ZWQoKSB0YWtlcyBlaXRoZXIgbm8gYXJndW1lbnQsIG9yIGEgc2luZ2xlIG5vbmVtcHR5IHN0cmluZyBhcmd1bWVudC4AiSMQAC0AAAAXAAAAHgAAAIkjEAAtAAAAGAAAAB8AAACJIxAALQAAABsAAAAkAAAAT25seSBAZGVmYXVsdChkYmdlbmVyYXRlZCgiLi4uIikpIGNhbiBiZSB1c2VkIGZvciBleHRlbnNpb24gdHlwZXMuT25seSBAZGVmYXVsdChkYmdlbmVyYXRlZCgiLi4uIikpIGNhbiBiZSB1c2VkIGZvciBVbnN1cHBvcnRlZCB0eXBlcy5BIGJvb2xlYW4gbGl0ZXJhbCBtdXN0IGJlIGB0cnVlYCBvciBgZmFsc2VgLkBkZWZhdWx0BVRoZSBgwEpgIGZ1bmN0aW9uIGRvZXMgbm90IHRha2UgYW55IGFyZ3VtZW50LiBDb25zaWRlciBjaGFuZ2luZyB0aGlzIGRlZmF1bHQgdG8gYMgAAAQoKWAuAAAAAIkjEAAtAAAAWwAAAB4AAACJIxAALQAAAFwAAAAfAAAAVGhlIGBtYXBgIGFyZ3VtZW50IGlzIG5vdCBhbGxvd2VkIG9uIGEgY29tcG9zaXRlIHR5cGUgZmllbGQuiSMQAC0AAABiAAAAIQAAAEZpZWxkcyBvZiBjb21wb3NpdGUgdHlwZXMgY2Fubm90IGhhdmUgYGRiZ2VuZXJhdGVkKClgIGFzIGRlZmF1bHQuQ29tcG9zaXRlIGZpZWxkIHdpdGggZXh0ZW5zaW9uIHR5cGUgY2Fubm90IGhhdmUgZGVmYXVsdCB2YWx1ZXMuQ29tcG9zaXRlIGZpZWxkIG9mIHR5cGUgYFVuc3VwcG9ydGVkYCBjYW5ub3QgaGF2ZSBkZWZhdWx0IHZhbHVlcy5UaGUgZGVmYXVsdCB2YWx1ZSBvZiBhIGxpc3QgZmllbGQgbXVzdCBiZSBhIGxpc3QuAACJIxAALQAAAFsBAAAUAAAAiSMQAC0AAABcAQAAGwAAAERlZmF1bHRzIG9uIGZpZWxkcyBvZiB0eXBlIGNvbXBvc2l0ZSBhcmUgbm90IHN1cHBvcnRlZC4gUGxlYXNlIHJlbW92ZSB0aGUgYEBkZWZhdWx0YCBhdHRyaWJ1dGUuVGhlIGRlZmF1bHQgdmFsdWUgb2YgYSBub24tbGlzdCBmaWVsZCBjYW5ub3QgYmUgYSBsaXN0LgAAiSMQAC0AAADCAAAAGQAAAIkjEAAtAAAAwgAAACUAAABOYW1pbmcgYW4gYXV0b2luY3JlbWVudCBkZWZhdWx0IHZhbHVlIGlzIG5vdCBhbGxvd2VkLgQHAQIAAACSHRAALwAAAJkAAAASAAAAkh0QAC8AAACZAAAAHAAAAJIdEAAvAAAAogAAABUAAABGaWVsZHMgdGhhdCBhcmUgbWFya2VkIGFzIHNoYXJkIGtleXMgbXVzdCBiZSByZXF1aXJlZC5Ac2hhcmRLZXlBdCBtb3N0IG9uZSBmaWVsZCBtdXN0IGJlIG1hcmtlZCBhcyB0aGUgc2hhcmQga2V5IHdpdGggdGhlIGBAc2hhcmRLZXlgIGF0dHJpYnV0ZS6SHRAALwAAAIAAAAAkAAAAkh0QAC8AAAAOAAAAFAAAAJIdEAAvAAAASAAAAB4AAABFYWNoIG1vZGVsIG11c3QgaGF2ZSBhdCBtb3N0IG9uZSBzaGFyZCBrZXkuIFlvdSBjYW4ndCBoYXZlIGBAc2hhcmRLZXlgIGFuZCBgQEBzaGFyZEtleWAgYXQgdGhlIHNhbWUgdGltZS4AAACSHRAALwAAAGoAAAAfAAAAkh0QAC8AAAAvAAAAHQAAAJIdEAAvAAAAPwAAAB0AAABjb25zdGFudGNvbnN0YW50IG9yIGZ1bmN0aW9uD1RoZSBlbnVtIG5hbWUgYMCAowBgIGlzIGludmFsaWQuIEl0IGlzIGEgcmVzZXJ2ZWQgbmFtZS4gUGxlYXNlIGNoYW5nZSBpdC4gUmVhZCBtb3JlIGF0IGh0dHBzOi8vd3d3LnByaXNtYS5pby9kb2NzL3JlZmVyZW5jZS90b29scy1hbmQtaW50ZXJmYWNlcy9wcmlzbWEtc2NoZW1hL2RhdGEtbW9kZWwjbmFtaW5nLWVudW1zAFByaXNtYUNsaWVudGFzeW5jYXdhaXRicmVha2Nhc2VjYXRjaGNsYXNzY29uc3Rjb250aW51ZWRlYnVnZ2VyZG9lbHNlZXhwb3J0ZXh0ZW5kc2ZpbmFsbHlmb3JpZmltcGxlbWVudHNpbXBvcnRpbnN0YW5jZW9maW50ZXJmYWNlbGV0bmV3cGFja2FnZXByaXZhdGVwcm90ZWN0ZWRwdWJsaWNyZXR1cm5zdXBlcnN3aXRjaHRoaXN0aHJvd3RyeXR5cGVvZnZhcnZvaWR3aGlsZXdpdGh5aWVsZAAQMxEADAAAABwzEQAFAAAAITMRAAUAAAAmMxEABQAAACszEQAEAAAALzMRAAUAAAA0MxEABQAAADkzEQAFAAAAPjMRAAgAAABGMxEACAAAAHn5EQAHAAAApvwRAAYAAABOMxEAAgAAAFAzEQAEAAAAV1YSAAQAAABUMxEABgAAAFozEQAHAAAAKhkSAAUAAABhMxEABwAAAGgzEQADAAAAdA4SAAgAAABrMxEAAgAAAG0zEQAKAAAAdzMRAAYAAAAO/hEAAgAAAH0zEQAKAAAAhzMRAAkAAACQMxEAAwAAAJMzEQADAAAAMxkSAAQAAACWMxEABwAAAJ0zEQAHAAAApDMRAAkAAACtMxEABgAAALMzEQAGAAAAuTMRAAUAAAC+MxEABgAAAMQzEQAEAAAAyDMRAAUAAAAvGRIABAAAAM0zEQADAAAA0DMRAAYAAACldREABQAAANYzEQADAAAA2TMRAAQAAADdMxEABQAAAOIzEQAEAAAA5jMRAAUAAABgZm9ybWF0X2ZpZWxkc19pbl9lcnJvcl93aXRoX2xlYWRpbmdfd29yZGAgcmVzdWx0IGNhbiBvbmx5IGJlIGZvcm1hdHRlZCBvbmNlSisQACUAAABdBQAAEQAAAHMAQdTrxAALjgEBAAAA1QEAANYBAADXAQAA2AEAAEF0dHJpYnV0ZXNWYWxpZGF0aW9uU3RhdGVhdHRyaWJ1dGVzdW51c2VkX2F0dHJpYnV0ZXNDb21wb3NpdGVUeXBlSWRGaWVsZElkTW9kZWxJZFN0cmluZ0lkRW51bVZhbHVlSWS+AQAADAAAAAQAAADZAQAA2gEAANsBAEHs7MQACz4BAAAAwgEAAE1vZGVsRmllbGRFbnVtVmFsdWVDb21wb3NpdGVUeXBlRmllbGRBdHRyaWJ1dGVJZOKQjeKQigBB5O3EAAsBAQBBiu7EAAsCAgMAQcruxAALAQEAQZT1xAALAQEAQaT1xAALAQEAQZj3xAALQQEAAAAAAAAA/wcAAACAAAAAAACAAAAAAJA6EQAgAAAAqjYRAOADAACQOxEABAAAAAEAAAAAAAAAAQAAAAAAAAAIAEHo98QAC1b+//8H/v//BwAAAAAABCAE//9/////f////////////////////////////////////////////////////////////////////////////8P/AwAfUABBzvjEAAvcCt+8QNf///v///////////+///////////////////////8D/P///////////////////////////v///38C//////8BAAAAAAAAAAD///+HBwAAAAAA//////8HAAAAwP7//////////////y8AYMAAnAAA/f///wAAAOD/////////////PwACAAD8////BzAEAAECAwQFBgcICQoLDA0ODxAREhMUFRYXGBcZGhscHR4fICEiIyMjIyMkJSYnKCkqKyMjIyMjIyMjLC0uLzAxMjM0NTY3ODkDOjs8Hj0+P0BBQkNEIyMjHiMjIyNFRkdIHklKHktMTR4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eIyMjTk9QUVJTHh4eHh4eHlQrVVZXI1hZHh4eHh4eHh4jIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjHiMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyNaWyMjIyNcXV5AXyNgYWIxY2RlZmdoaWprbG1uI28jIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyNwcR4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHiMjIyMjciNzdHV2dyMjIyN4eXp7HnwjfX5/gIH//z8EEAEAAP///wH/B/////4AAP//////AwAAAAAAAPD///////8jAAAB/wMA/v/hn/n///3FIwBAALADAAMQ4If5///9bQMAAABeAAAcAOC/+////e0jAAABAAMAAALgn/n///3tIwAAALADAAIA6Mc91hjH/wMAAAEAAAAAAODf/f///f8jAAAANwMAAADh3/3///3vIwAAAHADAAYA8N/9/////ycAQHCAAwAA/OD/f/z///svfwAAAAAAAAD+//////8NANb3//+v/w0gXwAA8AAAAAABAAAAAAAAAP/+////HwAAAB8AQbiDxQAL4wH//////wcAgAAAPzxiwOH/A0AAAP////+/IP//////9////////////z1/Pf//////Pf////89fz3/f/////////89//////////8HAAAAAP//AAD/////////////Pz/+////////////////n////v//B////////////wf+Af//A4D//wMA//8DAP/fAQD///////8PAAAAgBAAAAAAAAAAAP//////////////AZ//////Bf//////////PwD///9/AAAAAAAA////Px8A//////8P/////38A////////HwBBpIXFAAuwAYAAAADg//////8PAOAfAAAAAAAA+P///wHAAPz/////PwAAAP////8PAAAAAOAA/P///z//B///////5wAAAAAA3m8E//8/P/////8/P/+q////P////////99f3B/PD/8f3B8AAAAAAAACgAAA/x8AAAAAhPwvPlC9//PgQwAAAAAAABgAAAAAAAAA/////x94DAD/////vyD/////////gAAA//9/AH9/f39/f39/AEHdhsUAC8QTgAAAYAAAAAAAPhj//3/g/v/////////////34P///////v//fwAA/////wAAAAAAAP///x8AAAAAAAAAAP//////P/8f//8ADAAA//////9/AID///8//////wAAgP/8//////n///////////8fAAD+/7v3//8HAAAA/P//////DwAAAAAAAAD8aAD8//8/AP//fwAAAP///x/w//////8HAACAAADf/wB8//////8BAAD3DwAA//9/xP///////2I+BQAAOP8HHAB+fn4Af3////////f/A////////wcAAAD/////DwD//3/4//////8P//////8///////8DAAAAAH8A+KD//X9f2/////////////////8DAAAA+P///////////////z8AAP///////////P///////wAAAAAA/w8AAAAAAADf//////////8fAAAAAP7//wf+//8HwP////////////9//Pz8HAAAAAAAAQIDBAUGBwgFCQoFCwwFBwcHBwcHBwcHBw0ODwcQEQcSBxMFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFAAECAwQEBAQEBAUGBwgJCgICCwwNDg8QAgICAhESEwQUFRYXGBkaBBscHR4fICEEAiIjIyQlJgQEBCcoKSorLC0uLzAxMjM0NTY3Fjg5Ojs8PT4/BARAQT5CQwRERQQERgRHSElKS0xNTk9QBAQEUVJTVARVVldYBAQEWVoEWwQCAgICAgICAgICAgICAhkEBAQCAgJcBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBF1eAgICAgICAgICAgICAgICAj5fAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgMCAgICAgICAgJFBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBGAEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQCAgICAgICAlBhYmM+ZFQEBAQEBARlBAQEAmZnAmhpagICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJrFgQCIwQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEbAICAgJtbgICAgICbwQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAJwcQQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEAnJzdHV2AgICAnd4eXp7fAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAR9BAQEfn8EBICBBAQEBGNGBAQEBAQEBIIEBASDBAQEhAQEBIUCAgKGAocEBAQEBAQEBAQEBAQEBAQEBASIiYoEBAQEBAICAgICAgICAgICAgICAgICAgICAgICAgICAosCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgkCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAowCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICjQICAgICAgICAmAEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAICAgICAgICYAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEAgICAgICAgICAgICAo4CAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICjwQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAT/7///f///t/8//z8AAAAA////////////////////BwAAAAAAAAAA////H////////wEAAAAAAP////8A4P///QP/////PwD///8//////w//AAAAAAAA////PwAA/////w//////D///////AP///////w8A//f/97f/+//7G////////w8A////////fwD//z8A/wAAAL////////0HP/3/////v5H//z8A//9/AP///38AAAAAAAAAAP//NwD//z8A////A////wMAAAAA/////////8ABAO/+//8/AAAAAAD///8f////HwAAAAD//v//HwAAAP///////z8A//8/AP//BwD//wMAAAAAAP8BAAAAAAAA////////BwD/////DwAAAAD8//8/gP//PwAAAAAAAAD//////wMDAPwAAAAAAAAA////H4AA//8/AAAAAAD//wMAAAAAAP//HwAAAP//fwD4////////AAAAAAAAACYA+P//////AAAAAP///wEAAPj///9/AAAAkAD/////RwD4//////8HAB4AABQAAAAA///7//8PAIABAAAAAAAAAH+9/7//Af//4J/5///97SMAAAHgAwAAAP9L/////78AAAAKAAAAAAD///////8fAIAHAIADAAAA////////AACwAAAAAAAAAP//////fwAAAAAADwAAAAAQAAAAAAAAAP//////BwAB////BwAAAAB/AAAAAAAAAP//////DwAAAAAAAP//////////AAAAgH/yb////wCAAgBBrJrFAAuFAf/8/////wEACgAAAAH4/////wcEAAAB8P//////AwAgAAD///////////8B/////wEAAAD//f///38AAAEAAAAAAPz///8AAAAAAAB/+/////8BAEAAAAC//f///wMAAQAA//////8PAAAAAAAAAAD//wcA9P/9////DwAAAAAAAAABAA8AQbqbxQALlwT///////////////8BAH4AAAD/////////PwAAAAD///9/AAD///////////9/AAD///8/AAAPAAAA+P//4P//////HwAAAAAAAP////n//w8AAAAAAP8HAQAAAAAAAAD4/wAAAAAAAAAACwAMAP//PwAAAACAAAAAAAAA72//////BwAEAAAAJwDwAP///////////w///////wf/H/8B/wMAAAAA///f///////////fZN7/6+//////////v+ff3////3tf/P3///////////8//////f//9/////f//9/////f//9/////f/////3////9///3DwAAAAAAAP///3/gBwAAAAAAAAAA/////////z8AAP//////H4A/AEAAAAAAAAAAAP///w8AAAAA////PwEA////f7c/H8AAAAAAf2//fx8AAAAAAAAADwgAAAAAAADv////lv73CoTqlqqW9/de//v/D+77/w//////AAAAAP//////P////////wEA////B/////////////////8D4DsRACAAAADgPBEA4AMAAMBAEQCCAAAA0EQRAAABAADQRREAAAUAANBKEQCQAAAAUG9zaXRpb26DSRAAXQAAAIoAAAAJAAAAg0kQAF0AAABQAAAAMwAAANwBAAAUAAAABAAAAN0BAABJbnZhbGlkIFVURjjLTxAAYQAAAH8AAAAkAEHcn8UAC8IFAQAAAMIBAACXUBAAYwAAAKcCAAAOAAAAdmFyaWFudCBpZGVudGlmaWVyc3RydWN0IFBsYWNlaG9sZGVyW1kQABwAAADDAAAAOAAAAGJpZ2ludGRlY2ltYWxwYXJhbSBuYW1lSlNPTiBwYXJhbSB2YWx1ZVByaXNtYVZhbHVlSlNPTiBieXRlcyB2YWx1ZUpTT04gZGVjaW1hbCB2YWx1ZUpTT04gYmlnaW50IHZhbHVlSlNPTiBkYXRlIG9iamVjdAAAAIcBAAAEAAAABAAAAIgBAABbWRAAHAAAAAMBAABHAAAAYWRqYWNlbnRseSB0YWdnZWQgZW51bSBQcmlzbWFWYWx1ZVR5cGVGcm9tVXRmOEVycm9yVXRmOEVycm9ydmFsaWRfdXBfdG9lcnJvcl9sZW6+AQAADAAAAAQAAADeAQAA3wEAAOABAABD1MybXB7iY+GWK0Q/G73ScHJvdmlkZXJvdXRwdXRiaW5hcnlUYXJnZXRzcHJldmlld0ZlYXR1cmVzc2NoZW1hcwAAAF1DpdYiQu7TQiTWBl4yBCYXSxAALAAAACwAAAA7AAAAWVoQAFYAAADHAAAAJQAAAFlaEABWAAAAxwAAAEEAAABWKBAAIgAAAMMAAAAkAAAAVigQACIAAADDAAAAOwAAAER1cGxpY2F0ZWQgc2NoZW1hIG5hbWVzIGFyZSBub3QgYWxsb3dlZFRoZSBgc2NoZW1hc2AgcHJvcGVydHkgaXMgbm90IHN1cHBvcnRlZCBvbiB0aGUgY3VycmVudCBjb25uZWN0b3IuVGhlIGFyZ3VtZW50IG11c3QgaGF2ZSBhIG5hbWV2ZXJzaW9uQHVuaXF1ZUBAdW5pcXVlQEBmdWxsdGV4dEBAaW5kZXisUxAALwAAAD4BAAAKAAAAvgEAAAwAAAAEAAAA4QEAAOIBAADjAQBBqKXFAAvpDgEAAADCAQAAbGl0ZXJhbGZ1bmN0aW9uYWwAAAAmKBAALwAAAB8AAAABAAAAcG9zdGdyZXNxbGZ0cy1wb3N0Z3Jlc0FnZ3JlZ2F0ZUFwaUF0b21pY051bWJlck9wZXJhdGlvbnNDbGllbnRFeHRlbnNpb25zQ29ja3JvYWNoZGJDb25uZWN0T3JDcmVhdGVDcmVhdGVNYW55RGF0YVByb3h5RGVub0RyaXZlckFkYXB0ZXJzRXh0ZW5kZWRJbmRleGVzRXh0ZW5kZWRXaGVyZVVuaXF1ZUZpZWxkUmVmZXJlbmNlRmlsdGVySnNvbkZpbHRlcmVkUmVsYXRpb25Db3VudEZ1bGxUZXh0SW5kZXhGdWxsVGV4dFNlYXJjaEZ1bGxUZXh0U2VhcmNoUG9zdGdyZXNHcm91cEJ5SW1wcm92ZWRRdWVyeVJhd0ludGVyYWN0aXZlVHJhbnNhY3Rpb25zSnNvblByb3RvY29sTWljcm9zb2Z0U3FsU2VydmVyTWlkZGxld2FyZXNNb25nb0RiTXVsdGlTY2hlbWFOQXBpTmFtZWRDb25zdHJhaW50c05hdGl2ZURpc3RpbmN0TmF0aXZlVHlwZXNPbWl0QXBpT3JkZXJCeUFnZ3JlZ2F0ZUdyb3VwT3JkZXJCeU51bGxzT3JkZXJCeVJlbGF0aW9uUGFydGlhbEluZGV4ZXNQb3N0Z3Jlc3FsRXh0ZW5zaW9uc1ByaXNtYVNjaGVtYUZvbGRlclF1ZXJ5Q29tcGlsZXJSZWFjdE5hdGl2ZVJlZmVyZW50aWFsQWN0aW9uc1JlZmVyZW50aWFsSW50ZWdyaXR5UmVsYXRpb25Kb2luc1NjaGVtYUVuZ2luZURyaXZlckFkYXB0ZXJzU2VsZWN0UmVsYXRpb25Db3VudFNoYXJkS2V5c1N0cmljdFVuZGVmaW5lZENoZWNrc1RyYWNpbmdUcmFuc2FjdGlvbkFwaVR5cGVkU3FsVW5jaGVja2VkU2NhbGFySW5wdXRzVmlld3NTbWFsbEludEludGVnZXJNb25leUluZXRPaWRDaXRleHRSZWFsRG91YmxlUHJlY2lzaW9uVmFyQ2hhckJ5dGVBVGltZXN0YW1wVGltZXN0YW1wdHpUaW1ldHpCaXRWYXJCaXRKc29uQmEgbm9ubmVnYXRpdmUgaW50ZWdlcnR3byBub25uZWdhdGl2ZSBpbnRlZ2Vyc0V4cGVjdGVkIHRoaXMgdG8gYmUgYW4gZW52IGZ1bmN0aW9uLkV4YWN0bHkgb25lIHN0cmluZyBwYXJhbWV0ZXIgbXVzdCBiZSBwYXNzZWQgdG8gdGhlIGVudiBmdW5jdGlvbi4AAMooEAAqAAAAbgAAACoAAABUaGlzIGlzIG5vdCBhIGZ1bmN0aW9uIGV4cHJlc3Npb24gYnV0IGV4cGVjdGVkIGl0IHRvIGJlIG9uZS5zY2hlbWFzID0gWyQwXXNjaGVtYXMgPSBbImZvbyIsICJiYXIiLCAiYmF6Il1UaGUgbGlzdCBvZiBkYXRhYmFzZSBzY2hlbWFzLiBbTGVhcm4gTW9yZV0oaHR0cHM6Ly9wcmlzLmx5L2QvbXVsdGktc2NoZW1hLWNvbmZpZ3VyYXRpb24pZXh0ZW5zaW9uc2V4dGVuc2lvbnMgPSBbJDBdZXh0ZW5zaW9ucyA9IFtwZ190cmdtLCBwb3N0Z2lzKHZlcnNpb246ICIyLjEiKV1FbmFibGUgUG9zdGdyZVNRTCBleHRlbnNpb25zLiBbTGVhcm4gbW9yZV0oaHR0cHM6Ly9wcmlzLmx5L2QvcG9zdGdyZXNxbC1leHRlbnNpb25zKWVuZ2luZVR5cGVBIGRhdGFzb3VyY2UgbXVzdCBub3QgdXNlIHRoZSBlbnYoKSBmdW5jdGlvbiBpbiB0aGUgcHJvdmlkZXIgYXJndW1lbnQudXJsc2hhZG93RGF0YWJhc2VVcmxkaXJlY3RVcmxUaGUgcHJvdmlkZXIgYXJndW1lbnQgaW4gYSBkYXRhc291cmNlIG11c3Qgbm90IGJlIGVtcHR5VGhlIHByb3ZpZGVyIGFyZ3VtZW50IGluIGEgZGF0YXNvdXJjZSBtdXN0IGJlIGEgc3RyaW5nIGxpdGVyYWxyZWZlcmVudGlhbEludGVncml0eXJlbGF0aW9uTW9kZXByaXNtYWZvcmVpZ25LZXlzWW91IGRlZmluZWQgbW9yZSB0aGFuIG9uZSBkYXRhc291cmNlLiBUaGlzIGlzIG5vdCBhbGxvd2VkIHlldCBiZWNhdXNlIHN1cHBvcnQgZm9yIG11bHRpcGxlIGRhdGFiYXNlcyBoYXMgbm90IGJlZW4gaW1wbGVtZW50ZWQgeWV0LlByZXZpZXcgZmVhdHVyZXMgYXJlIG9ubHkgc3VwcG9ydGVkIGluIHRoZSBnZW5lcmF0b3IgYmxvY2suIFBsZWFzZSBtb3ZlIHRoaXMgZmllbGQgdG8gdGhlIGdlbmVyYXRvciBibG9jay4AQZy0xQALiQcBAAAA5QEAAOYBAADnAQAA6AEAAOkBAADqAQAA6wEAAJoBAACbAQAA7AEAAJ0BAADtAQAA7gEAAO8BAADwAQAA8QEAAPIBAACkAQAA8wEAAKQBAACmAQAA9AEAAKgBAAD1AQAA9gEAAPcBAAD4AQAA+QEAAPoBAAD7AQAA/AEAAL0BAAD9AQAA/gEAAP8BAACxAQAAAAIAAAECAAACAgAAAwIAAAQCAAAFAgAABgIAAAcCAAC9AQAAvQEAAL0BAAC9AQAAvQEAAFNwR2lzdCBkb2VzIG5vdCBzdXBwb3J0IG11bHRpLWNvbHVtbiBpbmRpY2VzLlRoZSBgZXh0ZW5zaW9uc2AgcHJvcGVydHkgaXMgb25seSBhdmFpbGFibGUgd2l0aCB0aGUgYHBvc3RncmVzcWxFeHRlbnNpb25zYCBwcmV2aWV3IGZlYXR1cmUuVGhlIG5hbWUgb2YgYW4gZXh0ZW5zaW9uIG11c3Qgbm90IGJlIGVtcHR5LlRoZSBjaGFyYWN0ZXIgYC1gIGlzIG5vdCBhbGxvd2VkIGluIGV4dGVuc2lvbiBuYW1lcy5UaGUgbmFtZSBvZiBhbiBleHRlbnNpb24gbXVzdCBub3Qgc3RhcnQgd2l0aCBhIG51bWJlci4lWS0lbS0lZCVIOiVNOiVTJS5mAAAAfykQACwAAAAzAAAAGQAAACVZLSVtLSVkVCVIOiVNOiVTJS5mPFByaXNtYSBzY2hlbWE+ZW1wdHlpbnRlcm5hbCBlcnJvcjogZW50ZXJlZCB1bnJlYWNoYWJsZSBjb2RlOiBFbXB0eURhdGFtb2RlbENvbm5lY3Rvcjo6bmF0aXZlX3R5cGVfdG9fc3RyaW5nKCkAAEYvEAA3AAAAOgAAAAkAAABwc2xfY29yZTo6ZGF0YW1vZGVsX2Nvbm5lY3Rvcjo6ZW1wdHlfY29ubmVjdG9yOjpFbXB0eURhdGFtb2RlbENvbm5lY3RvcgBGLxAANwAAAE0AAAAJAAAA9zEQAHMAAADvBQAAIgAAAHArEAArAAAAKAAAAAEAAABwb3N0Z3Jlc211c3Qgc3RhcnQgd2l0aCB0aGUgcHJvdG9jb2wgYHBvc3RncmVzcWw6Ly9gIG9yIGBwb3N0Z3JlczovL2AuAAB+LxAAQwAAAIcCAAA4AAAAaGV4Ynl0ZXN+LxAAQwAAAJECAAAWAAAADwBBsLvFAAutBwgCAAAYAAAABAAAAHYAAAAJAgAAfi8QAEMAAAB0AgAAOAAAAH4vEABDAAAAfQIAABYAAAAQAAAAAQAAAAMAAAB+LxAAQwAAAOMBAAAVAAAAQ2FuIGhhbmRsZSBlcXVhbGl0eSBhbmQgcmFuZ2UgcXVlcmllcyBvbiBkYXRhIHRoYXQgY2FuIGJlIHNvcnRlZCBpbnRvIHNvbWUgb3JkZXJpbmcgKGRlZmF1bHQpLkNhbiBoYW5kbGUgc2ltcGxlIGVxdWFsaXR5IHF1ZXJpZXMsIGJ1dCBubyBvcmRlcmluZy4gRmFzdGVyIHRoYW4gQlRyZWUsIGlmIG9yZGVyaW5nIGlzIG5vdCBuZWVkZWQuR2VuZXJhbGl6ZWQgU2VhcmNoIFRyZWUuIEEgZnJhbWV3b3JrIGZvciBidWlsZGluZyBzcGVjaWFsaXplZCBpbmRpY2VzIGZvciBjdXN0b20gZGF0YSB0eXBlcy5HZW5lcmFsaXplZCBJbnZlcnRlZCBJbmRleC4gVXNlZnVsIGZvciBpbmRleGluZyBjb21wb3NpdGUgaXRlbXMsIHN1Y2ggYXMgYXJyYXlzIG9yIHRleHQuU3BhY2UtcGFydGl0aW9uZWQgR2VuZXJhbGl6ZWQgU2VhcmNoIFRyZWUuIEZvciBpbXBsZW50aW5nIGEgd2lkZSByYW5nZSBvZiBkaWZmZXJlbnQgbm9uLWJhbGFuY2VkIGRhdGEgc3RydWN0dXJlcy5CbG9jayBSYW5nZSBJbmRleC4gSWYgdGhlIGRhdGEgaGFzIHNvbWUgbmF0dXJhbCBjb3JyZWxhdGlvbiB3aXRoIHRoZWlyIHBoeXNpY2FsIGxvY2F0aW9uIHdpdGhpbiB0aGUgdGFibGUsIGNhbiBjb21wcmVzcyB2ZXJ5IGxhcmdlIGFtb3VudCBvZiBkYXRhIGludG8gYSBzbWFsbCBzcGFjZS5yYXdyYXcoIiQwIikAAH4vEABDAAAAUwIAAA4AAAAKAgAAGAAAAAQAAAALAgAAfi8QAEMAAAA1AQAALQAAAH4vEABDAAAAiAEAAEUAAABQcmVjaXNpb24gbXVzdCBiZSBwb3NpdGl2ZSB3aXRoIGEgbWF4aW11bSB2YWx1ZSBvZiAxMDAwLk0gY2FuIHJhbmdlIGZyb20gMCB0byA2Lk0gbXVzdCBiZSBhIHBvc2l0aXZlIGludGVnZXIuAAAAfi8QAEMAAACiAQAASgAAAAAAAAADAEHowsUACwUBAAAABABB+MLFAAsFAgAAAAsAQYjDxQALFQgAAAABAAAAQQAAAB4AAAADAAAAFQBBqMPFAAsFBAAAAA4AQbjDxQALFQUAAAAQAAAAAQAAAAMAAAAHAAAADwBB2MPFAAsFBgAAABsAQejDxQAL1gjCLxAAJwAAAKgAAABAAAAAwi8QACcAAACOAAAAEgAAAGludGVybmFsIGVycm9yOiBlbnRlcmVkIHVucmVhY2hhYmxlIGNvZGU6IFRoaXMgbWV0aG9kIGlzIG9ubHkgaW1wbGVtZW50ZWQgb24gY29ubmVjdG9ycyB3aXRoIGxhdGVyYWwgam9pbiBzdXBwb3J0LgAAwi8QACcAAAAmAQAACQAAAMIvEAAnAAAAHgEAAAkAAADDIAAgaQUAAAAAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJKSEpISkhKSEpISkhKSEpISkhKSEpISkhKSEpISkhKSEpISkhKSEpISkhKSEpISkhKSEpISkhKSEpISkhKSExKTEpMSkxKTEpMSkxKTEpMSkxKTEpMSkxKTEpMSkxKTEpMSkxKTEpMSkxKTEpMSkxKTEpMSkxKTEpMSlBOUE5QTlBOUE5QTlBOUE5QTlBOUE5QTlBOUE5QTlBOUE5QTlBOUE5QTlBOUE5QTlBOUE5QTlBOUE5QTlBOUlBSUFJQUlBSUFJQUlBSUFJQUlBSUFJQUlBSUFJQUlBSUFJQUlBSUFJQUlBSUFJQUlBSUFJQUlBSUFJQVlRWVFZUVlRWVFZUVlRWVFZUVlRWVFZUVlRWVFZUVlRWVFZUVlRWVFZUVlRWVFZUVlRWVFZUVlRWVFZUVlRYVlhWWFZYVlhWWFZYVlhWWFZYVlhWWFZYVlhWWFZYVlhWWFZYVlhWWFZYVlhWWFZYVlhWWFZYVlhWWFZYVlpYWlhaWFpYWlhaWFpYWlhaWFpYWlhaWFpYWlhaWFpYWlhaWFpYWlhaWFpYWlhaWFpYWlhaWFpYWlhaWF5cXlxeXF5cXlxeXF5cXlxeXF5cXlxeXF5cXlxeXF5cXlxeXF5cXlxeXF5cXlxeXF5cXlxeXF5cXlxeXF5cYF5gXmBeYF5gXmBeYF5gXmBeYF5gXmBeYF5gXmBeYF5gXmBeYF5gXmBeYF5gXmBeYF5gXmBeYF5gXmBeZGJkYmRiZGJkYmRiZGJkYmRiZGJkYmRiZGJkYmRiZGJkYmRiZGJkYmRiZGJkYmRiZGJkYmRiZGJkYmRiZGIAAACEKhAAZgAAAAgBAAAbAAAAAS7DIAAAaQMAAAEuwyAAAGkGAAABLsMgAABpCQAAIEFTQyBERVNDQVNDIE5VTExTIEZJUlNUQVNDIE5VTExTIExBU1RERVNDIE5VTExTIEZJUlNUREVTQyBOVUxMUyBMQVNUJy1JbmZpbml0eSdJbmZpbml0eScnTmFOJ0FSUkFZWwAAhwEAAAQAAAAEAAAAiAEAAJwrEAAeAAAAGwEAAE8AAAA6OnRleHQAQcjMxQAL7iQBAAAAwgEAAHdyaXRpbmcgcmZjMzMzOSBkYXRldGltZSB0byBzdHJpbmcgc2hvdWxkIG5ldmVyIGZhaWyXUBAAYwAAAH8CAAAOAAAAVGhlIFJvdyBtdXN0IGhhdmUgYSBzaW5nbGUgUGFyYW1ldGVyaXplZCBpdGVtAAAAVR8QABUAAAA9AAAADgAAAGludGVybmFsIGVycm9yOiBlbnRlcmVkIHVucmVhY2hhYmxlIGNvZGU6IFRoZSBSb3cgbXVzdCBoYXZlIGEgc2luZ2xlIFBhcmFtZXRlcml6ZWQgaXRlbQBVHxAAFQAAAEUAAAASAAAAOjpudW1lcmljOjpqc29uYlRPX0pTT05CKG51bWVyaWN0ZXh0VU5JT04gQUxMVU5JT048dW5rbm93biBob3N0Pr4BAAAMAAAABAAAAAwCAAANAgAADgIAAEZPUkVJR04gS0VZKG5vdCBhdmFpbGFibGUpIExJS0UgKERFTEVURSBGUk9NIElOU0VSVCBJTlRPICBERUZBVUxUIFZBTFVFUyBPTiBDT05GTElDVCBETyBOT1RISU5HIE9OIENPTkZMSUNUIERPIChOT1QgdG9fdHNxdWVyeSggTk9UIExJS0UgdG9fdHN2ZWN0b3IoY29uY2F0X3dzKCcgJywgSlNPTiBwYXRoIHN0cmluZyBub3RhdGlvbiBpcyBub3Qgc3VwcG9ydGVkIGZvciBQb3N0Z3JlcwCcKxAAHgAAALoBAAAkAAAAIz4+XTo6dGV4dFtdIz4+QVJSQVlbXTo6dGV4dFtdSlNPTkJfQUdHSlNPTkJfVFlQRU9Gc3RyaW5nbnVtYmVyYm9vbGVhbiBMSU1JVCBKU09OQl9CVUlMRF9PQkpFQ1RDQVNUKEFSUkFZX1RPX1NUUklOR0FSUkFZX0FHRycsJyggTk9UIC0+ME1BWE1JTkFycmF5PD5UdXBsZTxUb28gbWFueSBEQiBjb25uZWN0aW9ucyBvcGVuZWRTZXJ2ZXIgaGFzIGNsb3NlZCB0aGUgY29ubmVjdGlvbi5RdWVyeSByZXR1cm5lZCBubyBkYXRhLlRoZSBwcm92aWRlZCBhcmd1bWVudHMgYXJlIG5vdCBzdXBwb3J0ZWRUaW1lZCBvdXQgZHVyaW5nIHF1ZXJ5IGV4ZWN1dGlvbi5UcmFuc2FjdGlvbiB3cml0ZSBjb25mbGlj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ABIAAAAzAgAAAAIAAAgAAAA0AgAAcXVlcnkgY29tcGlsZXIgY29ubmVjdHMgc2hvdWxkIG5ldmVyIGhhdmUgbW9yZSB0aGFuIG9uZSBjaGlsZCBleHByZXNzaW9utkEQADoAAABeAQAAEgAAADUCAAAAAgAACAAAADYCAABxdWVyeSBjb21waWxlciBjb25uZWN0cyBzaG91bGQgbmV2ZXIgaGF2ZSBtb3JlIHRoYW4gb25lIHBhcmVudCBleHByZXNzaW9uAAAAtkEQADoAAABZAQAAEgAAAHNob3VsZCBoYXZlIHBhcmVudCBJRCBmb3IgZGlzY29ubmVjdLZBEAA6AAAAagEAADAAAAA3AgAAeAAAAAQAAAA4AgAAc2hvdWxkIGhhdmUgZXhhY3RseSBvbmUgcXVlcnkgZm9yIHVwZGF0ZSB3aXRoIHNlbGVjdGlvbgC2QRAAOgAAAIsBAAAKAAAAHj8QAE4AAABJAAAAKQAAAFN0cmluZ0NodW5rY2h1bmtQYXJhbWV0ZXIAAAA5AgAADAAAAAQAAAClAAAAUGFyYW1ldGVyVHVwbGVpdGVtX3ByZWZpeGl0ZW1fc2VwYXJhdG9yaXRlbV9zdWZmaXhQYXJhbWV0ZXJUdXBsZUxpc3Rncm91cF9zZXBhcmF0b3IAOgIAADQAAAAEAAAA3QAAAAAAAAAEAAAABAAAAMwAAABSb3dUb0pzb25leHBycHJldHR5X3ByaW50SnNvblVucXVvdGVKc29uQXJyYXlBZ2dKc29uQnVpbGRPYmplY3RleHByc0pzb25FeHRyYWN0TGFzdEFycmF5RWxlbUFnZ3JlZ2F0ZVRvU3RyaW5nTG93ZXJVcHBlckNvbmNhdFRleHRTZWFyY2hjb2x1bW5NYXhpbXVtTWluaW11bUNvYWxlc2NlU3RyaW5naWZ5b25seSBhIHNpbmdsZSBxdWVyeSBjYW4gYmUgY29tcGlsZWQgYXQgYSB0aW1lUGxhY2Vob2xkZXJGb3JtYXRwcmVmaXhoYXNfbnVtYmVyaW5nAAAAOwIAABAAAAAEAAAA3gAAADwCAAAMAAAABAAAAN8AAAAAAAAABAAAAAQAAADgAAAARGVsZXRldGFibGVjb25kaXRpb25zcmV0dXJuaW5nAAA9AgAADAAAAAQAAADqAAAAPgIAAAwAAAAEAAAA/wAAAD8CAAAMAAAABAAAAOgAAAAAAAAABAAAAAQAAADmAAAAY29sdW1ucwAmdBEABQAAAIB0EQAHAAAA2gMSAAYAAAArdBEACgAAAHEUEgAHAAAANXQRAAkAAABGbGF0TWFwVmFsdWVzcm93c05vQ29uZGl0aW9uTmVnYXRpdmVDb25kaXRpb25Db21wb3VuZHR5cF9BdmFpbGFibGVVbmF2YWlsYWJsZUl0ZXJleHRlbnNpb24gdHlwZSBub3QgZm91bmQAAAAFNBAAMAAAAMUBAAAWAAAARXhhY3RseU9uZUVycm9yc2Vjb25kSm9pbkRhdGFsYXRlcmFsSnNvbkV4dHJhY3RGaXJzdEFycmF5RWxlbVRleHRTZWFyY2hSZWxldmFuY2VAAgAAYAAAAAgAAABBAgAAU3ViTXVsRGl2UmVtTWVyZ2V1c2luZ3doZW5fbm90X21hdGNoZWREaXN0aW5jdAAAQgIAAAwAAAAEAAAAQwIAAEQCAAAMAAAABAAAAEUCAABGAgAADAAAAAQAAABHAgAASAIAAAwAAAAEAAAASQIAAEoCAABIAAAACAAAAEsCAABMAgAADAAAAAQAAABNAgAATgIAAAwAAAAEAAAATwIAAHRhYmxlc29yZGVyaW5nZ3JvdXBpbmdvZmZzZXRqb2luc2N0ZXMAAABM+REACAAAADR2EQAGAAAAgHQRAAcAAAArdBEACgAAADp2EQAIAAAAQnYRAAgAAAAw/hEABgAAADb+EQAFAAAASnYRAAYAAABQdhEABQAAAFV2EQAEAAAAcRQSAAcAAABTZWxlY3RMaWtlTm90TGlrZU5vdE51bGxCZXR3ZWVuTm90QmV0d2Vlbk1hdGNoZXNOb3RNYXRjaGVzRXhpc3RzTm90RXhpc3RzSW5zZXJ0Um93TnVtYmVySnNvbkV4dHJhY3RVdWlkVG9CaW5VdWlkVG9CaW5Td2FwcGVkT3JkZXJpbmdJbm5lckxlZnRSaWdodEZ1bGxFbnVtVmFyaWFudFVzaW5nYmFzZV9xdWVyeWFzX3RhYmxlb25fY29uZGl0aW9uc0dyb3VwaW5nAAAAUAIAADQAAAAEAAAAUQIAAFICAACAAAAABAAAAFMCAABvbl9jb25mbGljdAAmdBEABQAAAIB0EQAHAAAA2gMSAAYAAACsdxEACwAAADV0EQAJAAAAcRQSAAcAAABBcnJheUNvbnRhaW5zQXJyYXlOb3RDb250YWluc1R5cGVFcXVhbHNUeXBlTm90RXF1YWxzUm93Q29uc3RhbnRPbkNsYXVzZVJhd1NxbHNxbGFyZ190eXBlc1RlbXBsYXRlU3FsZnJhZ21lbnRzcGxhY2Vob2xkZXJfZm9ybWF0Y2h1bmthYmxlRXhwcmVzc2lvbnNlbGVjdHN0eXBlc3R5cGVkbmF0aXZlX2NvbHVtbl90eXBlAAAAvgEAAAwAAAAEAAAAVAIAAFUCAABWAgBBwPHFAAvWGAEAAADCAQAASW50MzJJbnQ2NERvdWJsZVRleHRFbnVtQXJyYXlOdW1lcmljWG1sRGF0ZVRpbWVPcGFxdWVPcGFxdWVWYWx1ZXR5cFVua25vd25UdXBsZUZsYXR0ZW5Db21wYXRpdGVyZnJvbnRpdGVyYmFja2l0ZXJJdGVtb3B0SW50b0l0ZXJXAgAAKAAAAAQAAABYAgAAc2hvdWxkIGdlbmVyYXRlIGV4YWN0bHkgb25lIGRlbGV0ZQAAIFkQADoAAADVAQAAEgAAAHNob3VsZCBoYXZlIHJlY29yZCBzZWxlY3RvcnMgZm9yIHVwZGF0ZQAgWRAAOgAAAFoBAAAWAAAAc2hvdWxkIGdlbmVyYXRlIGV4YWN0bHkgb25lIHVwZGF0ZSBxdWVyeSBZEAA6AAAAZQEAABIAAABwcm9kdWN0AFkCAABkAAAABAAAAFoCAABzaG91bGQgaGF2ZSBvbmUgZmllbGQgaW4gbTJtIHJlbGF0aW9uAAAAIFkQADoAAADFAAAADgAAACBZEAA6AAAA7wEAACwAAAAgWRAAOgAAAO8BAABDAAAAIFkQADoAAADwAQAAMgAAACBZEAA6AAAA8AEAAEcAAABDb21tb25UYWJsZUV4cHJlc3Npb25PdmVycGFydGl0aW9uaW5nb3ZlcmV4dHJhY3RfYXNfc3RyaW5nZWxlbWVudHNFbnVtTmFtZXNjaGVtYV9uYW1lQXJnVHlwZWFyaXR5c2NhbGFyX3R5cGVkYl90eXBlTnVtYmVyQ29sdW1uUmVmRnVzZVVuc3VwcG9ydGVkU2NhbGFyV3JpdGVPcGVyYXRpb25QYXJhbWV0ZXJpemVkUGFyYW1ldGVyaXplZFJvd1Jhd1ZhbHVlQ29sdW1uU2VsZWN0aW9uQXN0ZXJpc2tPcENvbmRpdGlvblRyZWVDb21wYXJlVGFibGVKb2luZWRUYWJsZUFzY0Rlc2NBc2NOdWxsc0ZpcnN0QXNjTnVsbHNMYXN0RGVzY051bGxzRmlyc3REZXNjTnVsbHNMYXN0RmllbGRzSW5kZXhGb3JlaWduS2V5Q2Fubm90UGFyc2VkYXRhYmFzZWluZGV4X2RlZmluaXRpb25zAFsCAABIAAAACAAAAFwCAAAAAAAABgAAAAIAAABdAgAAXgIAABAAAAAEAAAAXwIAAAAAAAABAAAAAQAAAGACAAB0eXBlX2ZhbWlseW5hdGl2ZV90eXBlaXNfZW51bWlzX2xpc3Rpc19zZWxlY3RlZAAgVhIABAAAACZ0EQAFAAAAEKIRAAUAAAB5+REABwAAAEh8EQALAAAAU3wRAAsAAABefBEABwAAAGV8EQAHAAAAbHwRAAsAAABEb05vdGhpbmdZZXNOb0RhdGFiYXNlTm90UmVhY2hhYmxlTG9jYXRpb25ob3N0cG9ydG9yaWdpbmFsX2NvZGVvcmlnaW5hbF9tZXNzYWdlUHJvdmlkZWRHZW5lcmF0ZWRSYXdDb25uZWN0b3JFcnJvcnN0YXR1c3JlYXNvblF1ZXJ5RXJyb3JUb29NYW55Q29ubmVjdGlvbnNRdWVyeUludmFsaWRJbnB1dERhdGFiYXNlTm90UmVhY2hhYmxlZGF0YWJhc2VfbG9jYXRpb25EYXRhYmFzZURvZXNOb3RFeGlzdGRiX25hbWVEYXRhYmFzZUFjY2Vzc0RlbmllZERhdGFiYXNlQWxyZWFkeUV4aXN0c1Rsc0Nvbm5lY3Rpb25FcnJvckNvbm5lY3Rpb25DbG9zZWRBdXRoZW50aWNhdGlvbkZhaWxlZHVzZXJUYWJsZURvZXNOb3RFeGlzdFVuaXF1ZUNvbnN0cmFpbnRWaW9sYXRpb25jb25zdHJhaW50TnVsbENvbnN0cmFpbnRWaW9sYXRpb25Gb3JlaWduS2V5Q29uc3RyYWludFZpb2xhdGlvbkNvbHVtblJlYWRGYWlsdXJlUmVzdWx0SW5kZXhPdXRPZkJvdW5kc0NvbHVtbk5vdEZvdW5kUmVzdWx0VHlwZU1pc21hdGNoRGF0YWJhc2VVcmxJc0ludmFsaWRDb252ZXJzaW9uRXJyb3JMZW5ndGhNaXNtYXRjaEludmFsaWRDb25uZWN0aW9uQXJndW1lbnRzU29ja2V0VGltZW91dFZhbHVlT3V0T2ZSYW5nZUluY29ycmVjdE51bWJlck9mUGFyYW1ldGVyc2V4cGVjdGVkYWN0dWFsVHJhbnNhY3Rpb25BbHJlYWR5Q2xvc2VkVHJhbnNhY3Rpb25Xcml0ZUNvbmZsaWN0Um9sbGJhY2tXaXRob3V0QmVnaW5JbnZhbGlkSXNvbGF0aW9uTGV2ZWxVVUlERXJyb3JNaXNzaW5nRnVsbFRleHRTZWFyY2hJbmRleFVuc3VwcG9ydGVkQ29sdW1uVHlwZWNvbHVtbl90eXBlRXh0ZXJuYWxFcnJvck9wYXF1ZUFzUmF3VmFsdWVSYW5RdWVyeVdpdGhPcGFxdWVQYXJhbU5hdGl2ZUNvbHVtblR5cGVsZW5ndGgAAKZKNnmPnP13bBK9yC/54sYgSU5ORVIgSk9JTiAgTEVGVCBKT0lOICBSSUdIVCBKT0lOICBGVUxMIEpPSU4gbm90IGltcGxlbWVudGVkOiBNZXJnZXMgbm90IHN1cHBvcnRlZCBmb3IgdGhlIHVuZGVybHlpbmcgZGF0YWJhc2UuMC8QABUAAAAAAgAACQAAAFdJVEggAAAAMC8QABUAAAA2AgAAKAAAAFNFTEVDVCBESVNUSU5DVCBESVNUSU5DVCBPTiAgRlJPTSAgV0hFUkUgIEdST1VQIEJZICBPUkRFUiBCWSBVUERBVEUgIFNFVCAgUkVUVVJOSU5HICA9IEFWRy8qICAqLzAvEAAVAAAAfQMAACoAAAAgSU4gMT0wZnVuY3Rpb24gY2FsbCBhZ2FpbnN0IGEgcm93IG9mIGV4cHJlc3Npb25zIG11c3QgaGF2ZSBhIG5hbWUAADAvEAAVAAAApQMAABkAAAAwLxAAFQAAAKIDAAAZAAAAMC8QABUAAABdAwAAKgAAADAvEAAVAAAAXgMAADMAAAAgPD4gMC8QABUAAAD+AwAAKgAAACBOT1QgSU4gMT0xADAvEAAVAAAAMQQAABkAAAAwLxAAFQAAAC4EAAAZAAAAMC8QABUAAADeAwAAKgAAADAvEAAVAAAA3wMAADMAAAAgSVMgTk9UIE5VTEwgQkVUV0VFTiAgTk9UIEJFVFdFRU4gQU5ZQUxMRVhJU1RTTk9UIEVYSVNUU1JPV19OVU1CRVIoKSBPVkVSUk9XX05VTUJFUigpIE9WRVIoKUNPVU5UKCopdXVpZF90b19iaW4odXVpZCgpKXV1aWRfdG9fYmluKHV1aWQoKSwgMSl1dWlkKCkgPCBERUZBVUxUID4gUEFSVElUSU9OIEJZIE9SREVSIEJZIAAAAAAAAAEAAAABAAAAhgEAAFtZEAAcAAAANAEAACwAAABwcmlzbWFfX3R5cGVwYXJhbXByaXNtYV9fdmFsdWUAAGECAAAEAAAABAAAAIgBAABnZW5lcmF0b3JDYWxscmV0dXJuVHlwZQBbWRAAHAAAAGYBAAAKAAAAJUMQAIQAAABOAAAANQAAAGICAAAkAAAABAAAAGMCAABkAgAAAAAAAAEAAAABAAAAFgIAABcCAABlAgAALAAAAAQAAABmAgAAZwIAAGICAAAkAAAABAAAAGgCAABpAgAAAAAAAAQAAAAEAAAAagIAAGsCAABsAgAAFAAAAAQAAABtAgAAbgIAAG42EAB0AAAA5wUAABQAAABuNhAAdAAAAOcFAAAhAAAAbjYQAHQAAADbBQAAIQAAAG9wZXJhdGlvbiBub3Qgc3VwcG9ydGVkIG9uIHRoaXMgcGxhdGZvcm0YhBEAKAAAACQAAAAAAAAAAgAAAECEEQAnKhAAOQAAAHIAAAAbAAAAaW50ZXJuYWwgZXJyb3I6IGVudGVyZWQgdW5yZWFjaGFibGUgY29kZTogVW5leHBlY3RlZCByZWxhdGlvbiBhZ2dyZWdhdGlvbiBzZWxlY3Rpb24gaW5zaWRlIGEgY29tcG9zaXRlIHR5cGUgcXVlcnkAAAAnKhAAOQAAAG4AAAAVAAAAcmVhZF9pZHNfaW5mYWxsaWJsZWZpbmRfY2hpbGRyZW5fYnlfcGFyZW50AEGgisYAC+EBAQAAAG8CAABwAgAAz0QQADsAAADNAAAANQAAAKA0EABIAAAATgIAABYAAABNaXNzaW5nUmVxdWlyZWRBcmd1bWVudGFyZ3VtZW50X25hbWVmaWVsZF9uYW1lb2JqZWN0X25hbWVSZWxhdGlvblZpb2xhdGlvbnJlbGF0aW9uX25hbWVJbnB1dEVycm9ybW9kZWxBbW9kZWxCcmVsYXRpb25UeXBlb3BlcmF0aW9ubmVlZGVkRm9yZXhwZWN0ZWRSb3dzUmVjb3Jkc05vdENvbm5lY3Rl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AAAAEAAAAEAAAACAiABFdmVyeSBmaWVsZCB1c2VkIGluIGBoYXZpbmdgIGZpbHRlcnMgbXVzdCBlaXRoZXIgYmUgYW4gYWdncmVnYXRpb24gZmlsdGVyIG9yIGJlIGluY2x1ZGVkIGluIHRoZSBzZWxlY3Rpb24gb2YgdGhlIHF1ZXJ5LiBNaXNzaW5nIGZpZWxkczogwABBdCBsZWFzdCBvbmUgc2VsZWN0aW9uIGlzIHJlcXVpcmVkIGZvciB0aGUgYGJ5YCBhcmd1bWVudC5FeHBlY3RlZCBwYXJzaW5nIHRvIGd1YXJhbnRlZSBlaXRoZXIgYSBzaW5nbGUgZW51bSBvciBhIGxpc3Qgb2YgZW51bXMgaXMgcHJvdmlkZWQgZm9yIGdyb3VwIGJ5IGBieWAgYXJnLoCCAEV2ZXJ5IHNlbGVjdGVkIHNjYWxhciBmaWVsZCB0aGF0IGlzIG5vdCBwYXJ0IG9mIGFuIGFnZ3JlZ2F0aW9uIG11c3QgYmUgaW5jbHVkZWQgaW4gdGhlIGJ5LWFyZ3VtZW50cyBvZiB0aGUgcXVlcnkuIE1pc3NpbmcgZmllbGRzOiDAAAAAAPEdEABJAAAAiAAAAA4AAADxHRAASQAAAJQAAAAOAAAA8R0QAEkAAAAMAAAAMwAAAPEdEABJAAAAFAAAAC0AAACqQxAASgAAAAkAAAAtAAAAVW5hYmxlIHRvIHByb2Nlc3MgY29tYmluYXRpb24gb2YgcXVlcnkgYXJndW1lbnRzIGZvciBhZ2dyZWdhdGlvbiBxdWVyeS4gUGxlYXNlIG5vdGUgdGhhdCBpdCBpcyBub3QgcG9zc2libGUgYXQgdGhlIG1vbWVudCB0byBoYXZlIGEgbnVsbC1jdXJzb3IsIG9yIGEgY3Vyc29yIGFuZCBvcmRlckJ5IGNvbWJpbmF0aW9uIHRoYXQgbm90IHN0YWJsZSAodW5pcXVlKS5TZXQgaXMgbm90IHN1cHBvcnRlZCBvbiBvbmUtdG8tb25lIHJlbGF0aW9ucy4ANVUQAEYAAAAwAAAACQBB3LzGAAv9AQEAAAC9AgAAvgIAAFtRdWVyeSBHcmFwaF0gRXhwZWN0ZWQgb25seSBvbmUgbmVzdGVkIGNyZWF0ZSBub2RlIG9uIGEgMTptIHJlbGF0aW9uIHdpdGggaW5saW5lIElEcyBvbiB0aGUgcGFyZW50LgBVVhAASQAAALIBAAAKAAAAW1F1ZXJ5IEdyYXBoXSBFeHBlY3RlZCBvbmUgbmVzdGVkIGNyZWF0ZSBub2RlIG9uIGEgMTptIHJlbGF0aW9uIHdpdGggaW5saW5lIElEcyBvbiB0aGUgcGFyZW50LgAAVVYQAEkAAAASAQAADgAAAFVWEABJAAAAHAIAAFgAQeS+xgALli8BAAAAvwIAAMACAACfVhAASQAAAEkAAABCAAAAn1YQAEkAAAA3AAAATgAAAJ9WEABJAAAAOgAAADoAAACfVhAASQAAAH8AAAA2AAAAn1YQAEkAAACAAAAANgAAAGNyZWF0ZSBhcmd1bWVudCBpcyBtaXNzaW5nAADrVBAASQAAAG8AAAA9AAAAdXBkYXRlIGFyZ3VtZW50IGlzIG1pc3NpbmcAAOtUEABJAAAAcAAAAD0AAABpbnRlcm5hbCBlcnJvcjogZW50ZXJlZCB1bnJlYWNoYWJsZSBjb2RlOiB3aGVyZSBhcmd1bWVudCBpcyBtaXNzaW5nAOtUEABJAAAAfAAAAB0AAAAAVhAAVAAAALcAAAAeAAAAAFYQAFQAAAC6AAAANAAAAABWEABUAAAAvQAAADYAAAAAVhAAVAAAAGgAAAA4AAAAAFYQAFQAAABrAAAAOgAAAABWEABUAAAABAEAADgAAAAAVhAAVAAAAAcBAAA6AAAAAFYQAFQAAAB6AQAAHgAAAABWEABUAAAAfQEAADQAAAAAVhAAVAAAAIABAAA2AAAAY00QAEUAAAC1AAAAMAAAAE1vZGVsTm90Rm91bmQAAAC+AQAADAAAAAQAAAA1AQAARmllbGROb3RGb3VuZGNvbnRhaW5lcl90eXBlY29udGFpbmVyX25hbWVTY2FsYXJGaWVsZE5vdEZvdW5kQ29tcG9zaXRlRmllbGROb3RGb3VuZFJlbGF0aW9uRmllbGROb3RGb3VuZEVudW1Ob3RGb3VuZEJpdEZsYWdzPFF1ZXJ5T3B0aW9uPmJpdHNmbGFnc1JldHVybkludmFyaWFudFZpb2xhdGlvbkludmFsaWROb2RlVHJhbnNmb3JtYXRpb24AADkCAAAMAAAABAAAANcAAABhbGlhc1VwZGF0ZU9yQ3JlYXRlQXJnc0lucHV0IGNhbiBvbmx5IGJlIHVzZWQgd2l0aCB1cGRhdGUgb3IgY3JlYXRlIG5vZGVzAAAA9yUQADUAAAASAAAAFgAAAFVwZGF0ZU9yQ3JlYXRlQXJnc0lucHV0IGNhbiBvbmx5IGJlIHVzZWQgd2l0aCBXcml0ZVF1ZXJ5IG5vZGVzAAD3JRAANQAAABUAAAANAAAAZmFpbGVkIHRvIHBhcnNlIGJpZ2ludC9iaWd1aW50UmVjb3JkUXVlcnlGaWx0ZXJJbnB1dCBjYW4gb25seSBiZSB1c2VkIHdpdGggTm9kZTo6UXVlcnkoUXVlcnk6OlJlYWQoUmVhZFF1ZXJ5OjpSZWNvcmRRdWVyeShycSkpKQDaohEAYQAAAPclEAA1AAAAMQAAAAEAAAATUmVjb3JkUXVlcnkobmFtZTogJ8AOJywgc2VsZWN0aW9uOiDACiwgZmlsdGVyOiDBIACAYAEpABhNYW55UmVjb3Jkc1F1ZXJ5KG5hbWU6ICfACycsIG1vZGVsOiAnwA4nLCBzZWxlY3Rpb246IMAILCBhcmdzOiDBIACAYAEpAENvbm5lY3RSZWNvcmRzRGlzY29ubmVjdFJlY29yZHMAC1sQAF0AAAD7BgAAMAAAAFJlY29yZFF1ZXJ5RmlsdGVySW5wdXQUQ3JlYXRlUmVjb3JkKG1vZGVsOiDACCwgYXJnczogwSAAgGABKQAYQ3JlYXRlTWFueVJlY29yZChtb2RlbDogwBMsIHNlbGVjdGVkX2ZpZWxkczogwSAAgGABKQAUVXBkYXRlUmVjb3JkKG1vZGVsOiDADSwgc2VsZWN0aW9uOiDBIACAYAEpAA5EZWxldGVSZWNvcmQ6IMACLCDBIACAYAIsIMEgAIBgABlVcGRhdGVNYW55UmVjb3Jkcyhtb2RlbDogwAgsIGFyZ3M6IMEgAIBgASkADEV4ZWN1dGVSYXc6IMEgAIBgAApRdWVyeVJhdzogwSAAgGAAcGFyc2VyIGVycm9yLCBzZWUgdG9fc3RyaW5nKCkgZm9yIGRldGFpbHMAAAAAAAAABAAAAAQAAAAfAQAAUmVjb3JkRmlsdGVyc2VsZWN0b3JzTWFueVJlY29yZHNRdWVyeUZpbHRlcklucHV0IGNhbiBvbmx5IGJlIHVzZWQgd2l0aCBOb2RlOjpRdWVyeShRdWVyeTo6UmVhZChSZWFkUXVlcnk6Ok1hbnlSZWNvcmRzUXVlcnkobXJxKSkpAAAAZaURAGwAAAD3JRAANQAAADcAAAABAAAAYWxsRG9tYWluRXJyb3JNYW55UmVjb3Jkc1F1ZXJ5RmlsdGVySW5wdXQgfCA8ZW1wdHk+RXhlY3V0aW9uT3JkZXJQYXJlbnRSZXN1bHRUaGVuRWxzZVVwZGF0ZVJlY29yZFNlbGVjdG9yc0lucHV0IGNhbiBvbmx5IGJlIHVzZWQgd2l0aCBOb2RlOjpRdWVyeShRdWVyeTo6V3JpdGUoV3JpdGVRdWVyeTo6VXBkYXRlUmVjb3JkKHVyKSkpAAAAQaYRAGgAAAD3JRAANQAAAD0AAAABAAAAQ291bnRBbGxBZ2dyZWdhdGlvblNlbGVjdGlvbmRt0yAAgGkBAADTIACAbQEAANMgAIBrAQAAAACiIBAAMwAAAJkAAABFAAAAUkVMQVRJT05fVklPTEFUSU9OAAAiMBAANAAAAG0AAAAkAAAAVXBkYXRlUmVjb3JkU2VsZWN0b3JzSW5wdXRDb21wb3NpdGVFbnZlbG9wZVJlbGF0aW9uRW52ZWxvcGVGaWVsZFJlZlR5cGVXaGVyZUlucHV0VHlwZU5lc3RlZFRvT25lVXBkYXRlRW52ZWxvcGVQYXJzZWRJbnB1dE1hcHRhZ1VwZGF0ZU1hbnlSZWNvcmRzU2VsZWN0b3JzSW5wdXQgY2FuIG9ubHkgYmUgdXNlZCB3aXRoIE5vZGU6OlF1ZXJ5KFF1ZXJ5OjpXcml0ZShXcml0ZVF1ZXJ5OjpVcGRhdGVNYW55UmVjb3Jkcyh1cikpKQAAAK+nEQByAAAA9yUQADUAAABDAAAAAQAAAENoYXJjaGFyYWN0ZXJTaW1wbGVMZW5ndGhsZW5CeXRlTGVuZ3RoR3JvdXBDb3VudEdyb3VwTGVuZ3RoZ3JvdXBJbnZhbGlkVVRGOE1JU1NJTkdfUkVDT1JEAAAAIjAQADQAAACLAAAAJAAAAFVwZGF0ZU1hbnlSZWNvcmRzU2VsZWN0b3JzSW5wdXREZWxldGVSZWNvcmRTZWxlY3RvcnNJbnB1dCBjYW4gb25seSBiZSB1c2VkIHdpdGggTm9kZTo6UXVlcnkoUXVlcnk6OldyaXRlKFdyaXRlUXVlcnk6OkRlbGV0ZVJlY29yZChkcikpKQDHqBEAaAAAAPclEAA1AAAASQAAAAEAAABNSVNTSU5HX1JFTEFURURfUkVDT1JEAAAiMBAANAAAAMkAAAAkAAAARGVsZXRlUmVjb3JkU2VsZWN0b3JzSW5wdXQAAMICAAAIAAAABAAAAKEAAADDAgAAqAAAAAgAAACiAAAAxAIAAAwAAAAEAAAAxQIAAMYCAAAMAAAABAAAAMcCAADIAgAADAAAAAQAAACjAAAAcGFyZW50X2ZpZWxkc2VsZWN0ZWRfZmllbGRzbmVzdGVkc2VsZWN0aW9uX29yZGVycGFyZW50X3Jlc3VsdHMAACBWEgAEAAAAEKIRAAUAAADcqREADAAAAFFIEgAEAAAA6KkRAA8AAAD3qREABgAAAP2pEQAPAAAADKoRAA4AAABSZWxhdGVkUmVjb3Jkc1F1ZXJ5AMkCAAAMAAAABAAAAG8BAADKAgAADAAAAAQAAADLAgAAzAIAAAwAAAAEAAAAzQIAAM4CAAAMAAAABAAAADEBAAAAAAAABAAAAAQAAAAVAQAAZ3JvdXBfYnkgVhIABAAAABCiEQAFAAAAkgUSAAUAAAD9qREADwAAAFFIEgAEAAAAXKURAAkAAADAqhEACAAAADD+EQAGAAAAQWdncmVnYXRlUmVjb3Jkc1F1ZXJ5SW50ZXJuYWxEYXRhTW9kZWxEaWZmTGVmdFRvUmlnaHREaWZmUmlnaHRUb0xlZnRVcGRhdGVPckNyZWF0ZUFyZ3NJbnB1dADKVxAAKQAAAFwAAAASAAAAylcQACkAAABkAAAAEgAAAG42EAB0AAAAzwEAADcAAABXcml0ZUFyZ3NyZXF1ZXN0X25vd0lOQ09NUExFVEVfQ09OTkVDVF9JTlBVVCIwEAA0AAAA4QAAACQAAABEZWxldGVNYW55UmVjb3Jkc1NlbGVjdG9yc0lucHV0IGNhbiBvbmx5IGJlIHVzZWQgd2l0aCBOb2RlOjpRdWVyeShRdWVyeTo6V3JpdGUoV3JpdGVRdWVyeTo6RGVsZXRlTWFueVJlY29yZHMoZHIpKSkAANCrEQByAAAA9yUQADUAAABPAAAAAQAAAFJlY29yZFF1ZXJ5TWFueVJlY29yZHNRdWVyeWpvaW5JTkNPTVBMRVRFX0NPTk5FQ1RfT1VUUFVUIjAQADQAAAD/AAAAJAAAAERlbGV0ZU1hbnlSZWNvcmRzU2VsZWN0b3JzSW5wdXRSRUNPUkRTX05PVF9DT05ORUNURUQiMBAANAAAABwBAAAkAAAATGVmdFNpZGVEaWZmSW5wdXQgY2FuIG9ubHkgYmUgdXNlZCB3aXRoIE5vZGU6OkNvbXB1dGF0aW9uKENvbXB1dGF0aW9uOjpEaWZmTGVmdFRvUmlnaHQoZGlmZl9ub2RlKSB8CkNvbXB1dGF0aW9uOjpEaWZmUmlnaHRUb0xlZnQoZGlmZl9ub2RlKSnorBEAjAAAAPclEAA1AAAAVQAAAAEAAABWYWxpZGF0aW9uRXJyb3JtZXRhYSBxdWVyeWFuIHVwZGF0ZWFuIHVwc2VydGEgZGVsZXRlYSBkaXNjb25uZWN0YSBjb25uZWN0YSBuZXN0ZWQgY3JlYXRlYSBuZXN0ZWQgdXBkYXRlYSBuZXN0ZWQgdXBzZXJ0YSBuZXN0ZWQgZGVsZXRlYSBuZXN0ZWQgc2V0YSBuZXN0ZWQgY29ubmVjdGEgbmVzdGVkIGNvbm5lY3Qgb3IgY3JlYXRlTGVmdFNpZGVEaWZmSW5wdXRSaWdodFNpZGVEaWZmSW5wdXQgY2FuIG9ubHkgYmUgdXNlZCB3aXRoIE5vZGU6OkNvbXB1dGF0aW9uKENvbXB1dGF0aW9uOjpEaWZmTGVmdFRvUmlnaHQoZGlmZl9ub2RlKSB8CkNvbXB1dGF0aW9uOjpEaWZmUmlnaHRUb0xlZnQoZGlmZl9ub2RlKSkAAABYrhEAjQAAAPclEAA1AAAAWwAAAAEAAABSaWdodFNpZGVEaWZmSW5wdXRwZXJmb3JtIGEgbmVzdGVkIHVwZGF0ZWRpc2Nvbm5lY3QgZXhpc3RpbmcgY2hpbGQgcmVjb3Jkc0lmSW5wdXQgY2FuIG9ubHkgYmUgdXNlZCB3aXRoIE5vZGU6OkZsb3coRmxvdzo6SWYgeyBkYXRhLCAuLiB9KQAAAEqvEQA/AAAA9yUQADUAAABhAAAAAQAAAENyZWF0ZU1hbnlSZWNvcmRzRmllbGRzb3JkZXJJZklucHV0UmV0dXJuSW5wdXQgY2FuIG9ubHkgYmUgdXNlZCB3aXRoIE5vZGU6OkZsb3coRmxvdzo6UmV0dXJuKGRhdGEpKQDHrxEAQAAAAPclEAA1AAAAZwAAAAEAAABUaHJvd09uRW1wdHlTaW5nbGVPcmRlckJ5TWFwb25lLXRvLW9uZW9uZS10by1tYW55bWFueS10by1tYW55UmV0dXJuSW5wdXRSZWxhdGVkUmVjb3Jkc1NlbGVjdG9yc0lucHV0IGNhbiBvbmx5IGJlIHVzZWQgd2l0aCBOb2RlOjpRdWVyeShRdWVyeTo6UmVhZChSZWFkUXVlcnk6OlJlbGF0ZWRSZWNvcmRzUXVlcnkocnEpKSkAaLARAG8AAAD3JRAANQAAAG0AAAABAAAAU2NoZW1hRXJyb3JRdWVyeVBhcnNlckVycm9yQXNzZXJ0aW9uRXJyb3JwYXJlbnRfbmFtZWNoaWxkX25hbWVSZWNvcmROb3RGb3VuZFF1ZXJ5R3JhcGhFcnJvclJlbGF0ZWRSZWNvcmRzU2VsZWN0b3JzSW5wdXRtb2RlbF9hbW9kZWxfYkNvbm5lY3RQYXJlbnRJbnB1dCBjYW4gb25seSBiZSB1c2VkIHdpdGggTm9kZTo6UXVlcnkoUXVlcnk6OldyaXRlKFdyaXRlUXVlcnk6OkNvbm5lY3RSZWNvcmRzKGNyKSkpAHWxEQBiAAAA9yUQADUAAABzAAAAAQAAAENvbm5lY3RQYXJlbnRJbnB1dENvbm5lY3RDaGlsZHJlbklucHV0IGNhbiBvbmx5IGJlIHVzZWQgd2l0aCBOb2RlOjpRdWVyeShRdWVyeTo6V3JpdGUoV3JpdGVRdWVyeTo6Q29ubmVjdFJlY29yZHMoY3IpKSkAAAKyEQBkAAAA9yUQADUAAAB5AAAAAQAAAENvbm5lY3RDaGlsZHJlbklucHV0UXVlcnlPcHRpb25zRGlzY29ubmVjdFBhcmVudElucHV0IGNhbiBvbmx5IGJlIHVzZWQgd2l0aCBOb2RlOjpRdWVyeShRdWVyeTo6V3JpdGUoV3JpdGVRdWVyeTo6RGlzY29ubmVjdFJlY29yZHMoZHIpKSmgshEAaAAAAPclEAA1AAAAfwAAAAEAAABBdE1vc3RPbmVFeGFjdGx5T25lQWxsRmlsdGVyRXhhY3RseU9uZUZpbHRlckV4YWN0bHlPbmVXcml0ZUFyZ3NEaXNjYXJkRGlzY29ubmVjdFBhcmVudElucHV0RGlzY29ubmVjdENoaWxkcmVuSW5wdXQgY2FuIG9ubHkgYmUgdXNlZCB3aXRoIE5vZGU6OlF1ZXJ5KFF1ZXJ5OjpXcml0ZShXcml0ZVF1ZXJ5OjpEaXNjb25u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b3DCHRAALgAAAMIAAAAOAAAACgBBwPbGAAv9AWFzc2VydGlvbiBmYWlsZWQ6IGlkeCA8IENBUEFDSVRZAkkQAIAAAAC6AgAACQAAAAAAAAABAAAAAQAAANUCAADpNBAAMgAAACcBAABXAAAA6TQQADIAAAAoAQAAXQAAAIECAAAMAAAABAAAANYCAADpNBAAMgAAACkBAABbAAAA6TQQADIAAAAqAQAAXQAAAOk0EAAyAAAAKwEAABYAAAAAAAAAAQAAAAEAAADXAgAA6TQQADIAAAAzAQAAXwAAAHgCAAAYAAAABAAAAHkCAADpNBAAMgAAADcBAABtAAAA6TQQADIAAAA2AQAAWwAAAOk0EAAyAAAAOAEAABYAQcj4xgALiRABAAAA2AIAAOk0EAAyAAAALgEAAF0AAADpNBAAMgAAADABAAAWAAAA6TQQADIAAAAgAQAANwAAAOk0EAAyAAAAFAEAADMAAADpNBAAMgAAAAoBAAAzAAAA6TQQADIAAABCAQAAEgAAACFOEAA3AAAASQAAADIAAAAhThAANwAAAFEAAAAkAAAAayAQADYAAAAoAAAAWQAAAFJlbGF0aW9uRmlsdGVybmVzdGVkX2ZpbHRlclNpbmdsZVByb2plY3Rpb25Db21wb3VuZFByb2plY3Rpb25PYmplY3RNZW1iZXJrZXlzcGFuUmVsYXRpb25GaWVsZENvbXBvc2l0ZUZpZWxkVHlwZUlkZW50aWZpZXJGaWxlSWRDb252ZXJzaW9uRmFpbHVyZWZyb210b1NjYWxhckZpZWxkUGFyc2VEZWNpbWFsUGFyc2VJbnRQYXJzZUJpZ0ludFBhcnNlRXJyb3JPdXRPZlJhbmdlSW1wb3NzaWJsZU5vdEVub3VnaEludmFsaWRUb29TaG9ydFRvb0xvbmdCYWRGb3JtYXRfX05vbmV4aGF1c3RpdmVRdWVyeUFyZ3VtZW50c29yZGVyX2J5aWdub3JlX3NraXBpZ25vcmVfdGFrZXJlbGF0aW9uX2xvYWRfc3RyYXRlZ3lQYXJlbnRDb250YWluZXJlbnVtX3ZhcmlhbnRDb21wb3NpdGVUeXBlTnVtZXJpY1ZhbHVlU3RyaW5nVmFsdWVDb25zdGFudFZhbHVlRnVuY3Rpb25Bcmd1bWVudHNMaXN0ZW1wdHlfYXJndW1lbnRzUGFyc2VGbG9hdEVycm9yUGFyc2VCaWdJbnRFcnJvckV4dGVuc2lvblR5cGVJZEFyZ3VtZW50AAAA6yoQADAAAAA5AQAAKwAAAOsqEAAwAAAAOgEAACoAAABFbXB0eUFyZ3VtZW50SW52YWxpZERpZ2l0Q29tcG9zaXRlU2VsZWN0aW9uc2VsZWN0aW9uc09yZGVyQnlTY2FsYXJzb3J0X29yZGVybnVsbHNfb3JkZXJPcmRlckJ5U2NhbGFyQWdncmVnYXRpb25zb3J0X2FnZ3JlZ2F0aW9uT3JkZXJCeVRvTWFueUFnZ3JlZ2F0aW9uT3JkZXJCeVJlbGV2YW5jZUludGVybmFsRW51bUFsbE5lZ2F0aXZlT25lUGFyc2VCb29sRXJyb3JGaWVsZFNlbGVjdGlvblNwYW5zdGFydGVuZGZpbGVfaWRBc2NlbmRpbmdEZXNjZW5kaW5nUGFyc2VJbnRFcnJvckZpcnN0TGFzdEV2ZXJ5UmVsYXRlZFJlY29yZEF0TGVhc3RPbmVSZWxhdGVkUmVjb3JkTm9SZWxhdGVkUmVjb3JkVG9PbmVSZWxhdGVkUmVjb3JkRW51bUlkVmlydHVhbEpvaW5Qb3NPdmVyZmxvd05lZ092ZXJmbG93WmVyb05vdEFQb3dlck9mVHdvRXh0ZW5zaW9uUmVsYXRpb25TZWxlY3Rpb25yZXN1bHRfZmllbGRzUmVsYXRpb25Db3VudFNjYWxhckFnZ3JlZ2F0aW9uVG9NYW55QWdncmVnYXRpb25SZWxldmFuY2UBAAFBQkNERUZHSElKS0xNTk9QUVJTVFVWV1hZWmFiY2RlZmdoaWprbG1ub3BxcnN0dXZ3eHl6MDEyMzQ1Njc4OSsv/////////////////////////////////////////////////////////z7///8/NDU2Nzg5Ojs8Pf////////8AAQIDBAUGBwgJCgsMDQ4PEBESExQVFhcYGf///////xobHB0eHyAhIiMkJSYnKCkqKywtLi8wMTIz////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////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AABmAwAAZgMAQZz2xwAL6hEBAAAAZwMAAGgDAABoAwAAHAMAAAwAAAAEAAAAaQMAAGoDAABqAwAAHAMAAAwAAAAEAAAAawMAAGwDAABsAwAAHAMAAAwAAAAEAAAAbQMAAG4DAABuAwAAHAMAAAwAAAAEAAAAbwMAAHADAABwAwAAHAMAAAwAAAAEAAAAcQMAAHIDAAByAwAAHAMAAAwAAAAEAAAAcwMAAHQDAAB0AwAAHAMAAAwAAAAEAAAAdQMAAHYDAAB2AwAAHAMAAAwAAAAEAAAAdwMAAHgDAAB4AwAAHAMAAAwAAAAEAAAAeQMAAHoDAAB6AwAAcXVlcnlSYXdleGVjdXRlUmF3cnVuQ29tbWFuZFJhdwCMVBAANQAAACQAAAApAAAAjFQQADUAAAArAAAAKAAAAEV4cGVjdGVkIGxpbmtpbmcgZmllbGRzIHRvIGJlIHNjYWxhci4AAAA+RxAANwAAAJYAAAASAAAA6xwQADgAAAB3AAAAEgAAAHVwc2VydGRlbGV0ZU1hbnl1cGRhdGVNYW55ZGVsZXRlY29ubmVjdGRpc2Nvbm5lY3Rjb25uZWN0T3JDcmVhdGVjcmVhdGVNYW55aW50ZXJuYWwgZXJyb3I6IGVudGVyZWQgdW5yZWFjaGFibGUgY29kZTogU2NhbGFyVHlwZTo6TnVsbCBzaG91bGQgbmV2ZXIgcmVhY2ggdGhhdCBjb2RlIHBhdGgAAJVGEABEAAAAIAAAACEAAABpbnRlcm5hbCBlcnJvcjogZW50ZXJlZCB1bnJlYWNoYWJsZSBjb2RlOiBpbnB1dCByZWYgdHlwZSBvbmx5IHN1cHBvcnQgc2NhbGFyIG9yIGVudW1zAAAAlUYQAEQAAAAlAAAADgAAAHN0cmluZ19jb250YWluc3N0cmluZ19zdGFydHNfd2l0aHN0cmluZ19lbmRzX3dpdGhhcnJheV9zdGFydHNfd2l0aGFycmF5X2VuZHNfd2l0aGFycmF5X2NvbnRhaW5zbm90aW5ub3RJbmx0bHRlZ3RndGVza2lwdGFrZW9yZGVyQnlieWhhdmluZ2xpbWl0cmVsYXRpb25Mb2FkU3RyYXRlZ3lXaXRoQWdncmVnYXRpb25XaXRoUmVsYXRpb25Tb3J0T3JkZXJJbnB1dF9yZWxldmFuY2VBdmcAAAB4JxAASQAAAHIAAAASAAAAdW5zZXRTb3J0T3JkZXJBZmZlY3RlZFJvd3NPdXRwdXRRdWVyeU11dGF0aW9uTmVzdGVkT25lTmVzdGVkTWFueVVuY2hlY2tlZFJlbGF0aW9uTG9hZFN0cmF0ZWd5T25lT25lUmVxdWlyZWRNYW55VHJhbnNhY3Rpb25Jc29sYXRpb25MZXZlbGEqEAAiAAAAFQAAACAAAABmaW5kVW5pcXVlZmluZFVuaXF1ZU9yVGhyb3dmaW5kRmlyc3RmaW5kRmlyc3RPclRocm93ZmluZE1hbnljcmVhdGVPbmVjcmVhdGVNYW55QW5kUmV0dXJudXBkYXRlT25ldXBkYXRlTWFueUFuZFJldHVybmRlbGV0ZU9uZXVwc2VydE9uZWFnZ3JlZ2F0ZWdyb3VwQnlmaW5kUmF3YWdncmVnYXRlUmF3AAAAIFwQACkAAAA+AQAAEgAAAGludGVybmFsIGVycm9yOiBlbnRlcmVkIHVucmVhY2hhYmxlIGNvZGU6IGludmFsaWQgT25jZSBzdGF0ZbItEACAAAAAOgAAABIAAABEZWNpbWFsVVVJRERhdGFiYXNlQ2hlY2tlZENyZWF0ZUlucHV0Q2hlY2tlZFVwZGF0ZU1hbnlJbnB1dFVuY2hlY2tlZFVwZGF0ZU1hbnlJbnB1dENoZWNrZWRVcGRhdGVPbmVJbnB1dENvbXBvc2l0ZUNyZWF0ZUVudmVsb3BlSW5wdXRDb21wb3NpdGVDcmVhdGVJbnB1dENvbXBvc2l0ZURlbGV0ZU1hbnlJbnB1dENvbXBvc2l0ZVVwZGF0ZUVudmVsb3BlSW5wdXRDb21wb3NpdGVVcGRhdGVJbnB1dENvbXBvc2l0ZVVwZGF0ZU1hbnlJbnB1dENvbXBvc2l0ZVVwc2VydE9iamVjdElucHV0Q3JlYXRlTWFueUlucHV0Q3JlYXRlTWFueUFuZFJldHVybk91dHB1dENyZWF0ZU9uZVNjYWxhckxpc3RGaWVsZFVwZGF0ZU9wZXJhdGlvbnNJbnB1dE1vZGVsTmVzdGVkVXBzZXJ0TWFueUlucHV0TmVzdGVkVXBzZXJ0T25lSW5wdXRPcmRlckJ5QWdncmVnYXRlSW5wdXRPcmRlckJ5SW5wdXRPcmRlckJ5UmVsZXZhbmNlRmllbGRFbnVtT3JkZXJCeVJlbGV2YW5jZUlucHV0T3JkZXJCeVRvTWFueUFnZ3JlZ2F0ZUlucHV0UmVsYXRpb25DcmVhdGVJbnB1dFJlbGF0aW9uVXBkYXRlSW5wdXRTY2FsYXJGaWVsZEVudW1TY2FsYXJGaWx0ZXJJbnB1dFNjYWxhckxpc3RGaWx0ZXJJbnB1dFNjYWxhckxpc3RVcGRhdGVJbnB1dFRvTWFueUNvbXBvc2l0ZUZpbHRlcklucHV0VG9NYW55UmVsYXRpb25GaWx0ZXJJbnB1dFRvT25lQ29tcG9zaXRlRmlsdGVySW5wdXRUb09uZVJlbGF0aW9uRmlsdGVySW5wdXRVbmNoZWNrZWRDcmVhdGVJbnB1dFVuY2hlY2tlZFVwZGF0ZU9uZUlucHV0VXBkYXRlTWFueVdoZXJlQ29tYmluYXRpb25JbnB1dFVwZGF0ZU9uZVdoZXJlQ29tYmluYXRpb25JbnB1dFVwZGF0ZVRvT25lUmVsV2hlcmVDb21iaW5hdGlvbklucHV0VXBkYXRlTWFueUFuZFJldHVybk91dHB1dFdoZXJlSW5wdXRXaGVyZVVuaXF1ZUlucHV0UmF3U3RyaW5nRW51bVR5cGV2YWx1ZXNSZXF1aXJlZE9wdGlvbmFsvgEAAAwAAAAEAAAAewMAAHwDAAB9AwBBkIjIAAuGEgEAAADCAQAASW5wdXRPYmplY3RUeXBlI0lucHV0IEZpZWxkcyBDZWxsI2NvbnRhaW5lcgB8VRAAgwAAADkAAAASAAAA9UMQAE4AAABcAAAADgAAAEJvb2yARBAATgAAACkAAAAtAAAAgEQQAE4AAAAxAAAALAAAAElucHV0T2JqZWN0VHlwZUNvbnN0cmFpbnRzbWluX251bV9maWVsZHNtYXhfbnVtX2ZpZWxkc0RhdGFiYXNlRW51bVR5cGVpbnRlcm5hbF9lbnVtRmllbGRSZWZFbnVtVHlwZUlkZW50aWZpZXJuYW1lc3BhY2VQcmlzbWFKc29uTGlzdDM3EABcAAAAfgEAACQAAACVQhAAYAAAAN4CAAAqAAAAlUIQAGAAAADjAgAAHgAAAGNhbGwgbGltaXQgcmVhY2hlZAAAwicQAGMAAAA/AAAAKgAAAMInEABjAAAARgAAAB0AAADCJxAAYwAAAEoAAAASAAAAVW5zdXBwb3J0ZWQoW112aWV3bW9kZWxn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AAAA2kYQADEAAABEAAAALAAAAEEgY29tcG9zaXRlIHR5cGUgY2Fubm90IGhhdmUgYmxvY2stbGV2ZWwgYXR0cmlidXRlcy5BIGNvbXBvc2l0ZSB0eXBlIGNhbm5vdCBkZWZpbmUgYW4gaWQuQSBmdWxsdGV4dCBpbmRleCBzaG91bGQgYmUgZGVmaW5lZCBpbiB0aGUgbW9kZWwgY29udGFpbmluZyB0aGUgZW1iZWQuQW4gaW5kZXggc2hvdWxkIGJlIGRlZmluZWQgaW4gdGhlIG1vZGVsIGNvbnRhaW5pbmcgdGhlIGVtYmVkLkEgdW5pcXVlIGNvbnN0cmFpbnQgc2hvdWxkIGJlIGRlZmluZWQgaW4gdGhlIG1vZGVsIGNvbnRhaW5pbmcgdGhlIGVtYmVkLlRoZSBuYW1lIG9mIGEgY29tcG9zaXRlIHR5cGUgaXMgbm90IHBlcnNpc3RlZCBpbiB0aGUgZGF0YWJhc2UsIHRoZXJlZm9yZSBpdCBkb2VzIG5vdCBuZWVkIGEgbWFwcGVkIGRhdGFiYXNlIG5hbWUuY29tcG9zaXRlIHR5cGUAANpGEAAxAAAAZgAAAB4AAADaRhAAMQAAAGoAAAASAAAA6i8QADcAAABYAAAADgAAAOovEAA3AAAASwAAABIAAADqLxAANwAAADgAAAAYAAAA6i8QADcAAAAxAAAAGAAAAOovEAA3AAAANQAAACQAAADqLxAANwAAAD0AAAAOAAAAY29uZmlndXJhdGlvbiBibG9ja3NvdXJjZQAAAOovEAA3AAAAIwAAAB4AAADqLxAANwAAACsAAAASAAAA4B4QAHQAAAAHBAAANwAAAAZZEAAZAAAALwAAADoAAAACXHXDIAAAaQQAAHJ1bGVFT0lzY2hlbWFtb2RlbF9kZWNsYXJhdGlvbmZpZWxkX2RlY2xhcmF0aW9ubW9kZWxfY29udGVudHNmaWVsZF90eXBldW5zdXBwb3J0ZWRfdHlwZWJhc2VfdHlwZXVuc3VwcG9ydGVkX29wdGlvbmFsX2xpc3RfdHlwZWxpc3RfdHlwZW9wdGlvbmFsX3R5cGVsZWdhY3lfcmVxdWlyZWRfdHlwZWxlZ2FjeV9saXN0X3R5cGV0eXBlX2FsaWFzY29uZmlnX2Jsb2Nra2V5X3ZhbHVlY29uZmlnX2NvbnRlbnRzYXJiaXRyYXJ5X2Jsb2NrZW51bV9kZWNsYXJhdGlvbmVudW1fdmFsdWVfZGVjbGFyYXRpb25lbnVtX2NvbnRlbnRzYmxvY2tfYXR0cmlidXRlZmllbGRfYXR0cmlidXRlYXJndW1lbnRzX2xpc3Rhcmd1bWVudGVtcHR5X2FyZ3VtZW50bmFtZWRfYXJndW1lbnR0cmFpbGluZ19jb21tYWNvbW1lbnRfYmxvY2t0cmFpbGluZ19jb21tZW50ZG9jX2NvbW1lbnRjb21tZW50ZG9jX2NvbnRlbnRtdWx0aV9saW5lX2NvbW1lbnR1bmljb2RlX2FscGhhbnVtZXJpY2lkZW50aWZpZXJXSElURVNQQUNFTkVXTElORWVtcHR5X2xpbmVzQkxPQ0tfT1BFTkJMT0NLX0NMT1NFRU5VTV9LRVlXT1JETU9ERUxfS0VZV09SRFRZUEVfS0VZV09SRFZJRVdfS0VZV09SREdFTkVSQVRPUl9LRVlXT1JEREFUQVNPVVJDRV9LRVlXT1JETEVHQUNZX0NPTE9OQ0FUQ0hfQUxMQkxPQ0tfTEVWRUxfQ0FUQ0hfQUxMZnVuY3Rpb25fY2FsbGFycmF5X2V4cHJlc3Npb25vYmplY3RfZXhwcmVzc2lvbmV4cHJlc3Npb25udW1lcmljX2xpdGVyYWxBU0NJSV9DT05UUk9MX0NIQVJBQ1RFUnN0cmluZ19lc2NhcGVzdHJpbmdfY29udGVudHN0cmluZ19saXRlcmFsU3RhcnRwb3NFbmRhIGJ5dGUgYXJyYXlhbiBpbnRlZ2VyYSBmbG9hdGEgY2hhcmFuIG9wdGlvbmFsYSBzZXF1ZW5jZWEgdHVwbGVhIHR1cGxlIHN0cnVjdDEgZWxlbWVudCBpbiBtYXAxIGVsZW1lbnQgaW4gc2VxdWVuY2VieXRlIGFycmF5dW5pdCB2YWx1ZU9wdGlvbiB2YWx1ZW5ld3R5cGUgc3RydWN0c2VxdWVuY2VtYXB1bml0IHZhcmlhbnRuZXd0eXBlIHZhcmlhbnR0dXBsZSB2YXJpYW50c3RydWN0IHZhcmlhbnR1bml0dTMyYSBib29sZWFuYSBzdHJpbmdleHBsaWNpdCBwYW5pYwD7UBAAYgAAACQJAAASAAAAb25lIG9mIAAAAAAACAAAAAQAAACBAwAAggMAAIMDAAAu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hNMXjCQKH4NGyOtfdOioJQAAbBoSAAEAAABwGhIAAQAAAHQaEgABAAAAeBoSAAEAAAB8GhIAAgAAAIQaEgADAAAAkBoSAAUAAACkGhIACgAAAMwaEgATAAAAGBsSACYAAACwGxIASwAAANwcEgCVAAAAMB8SACoBAADYIxIAUwIAALU+EABoAAAAmAEAABYAAAC1PhAAaAAAALMBAAAkAAAAtT4QAGgAAABBAQAALAAAAGZtdCBlcnJvckFycmF5IE9iamVjdCBhbnkgdmFsaWQgSlNPTiB2YWx1ZXJhdyB2YWx1ZUVPRiB3aGlsZSBwYXJzaW5nIGEgbGlzdEVPRiB3aGlsZSBwYXJzaW5nIGFuIG9iamVjdEVPRiB3aGlsZSBwYXJzaW5nIGEgc3RyaW5nRU9GIHdoaWxlIHBhcnNpbmcgYSB2YWx1ZWV4cGVjdGVkIGA6YGV4cGVjdGVkIGAsYCBvciBgXWBleHBlY3RlZCBgLGAgb3IgYH1gZXhwZWN0ZWQgaWRlbnRleHBlY3RlZCB2YWx1ZWV4cGVjdGVkIGAiYGludmFsaWQgZXNjYXBlaW52YWxpZCBudW1iZXJudW1iZXIgb3V0IG9mIHJhbmdlaW52YWxpZCB1bmljb2RlIGNvZGUgcG9pbnRjb250cm9sIGNoYXJhY3RlciAoXHUwMDAwLVx1MDAxRikgZm91bmQgd2hpbGUgcGFyc2luZyBhIHN0cmluZ2tleSBtdXN0IGJlIGEgc3RyaW5naW52YWxpZCB2YWx1ZTogZXhwZWN0ZWQga2V5IHRvIGJlIGEgbnVtYmVyIGluIHF1b3Rlc2Zsb2F0IGtleSBtdXN0IGJlIGZpbml0ZSAoZ290IE5hTiBvciArLy1pbmYpbG9uZSBsZWFkaW5nIHN1cnJvZ2F0ZSBpbiBoZXggZXNjYXBldHJhaWxpbmcgY29tbWF0cmFpbGluZyBjaGFyYWN0ZXJzdW5leHBlY3RlZCBlbmQgb2YgaGV4IGVzY2FwZXJlY3Vyc2lvbiBsaW1pdCBleGNlZWRlZAA/MxAAZQAAALkBAAAuAAAAMFgQAGAAAAA+AgAAJQAAAKUzEABfAAAAogIAACoAAAByYXcgdmFsdWUgd2FzIG5vdCBlbWl0dGVkAAAAPzMQAGUAAACoAgAAHgAAAL4BAAAMAAAABAAAAIQD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YWluc1NvbWVJc0VtcHR5T25lUmVsYXRpb25Jc051bGxGaWx0ZXK+AQAADAAAAAQAAACeAwAAnwMAAKADAEGAk8kAC/0SAQAAAMIBAABVbmV4cGVjdGVkV3JpdGVPcGVyYXRpb25TY2FsYXJGaWx0ZXJwcm9qZWN0aW9ubW9kZUNvbXBvc2l0ZUZpbHRlcgAAAKkcEABBAAAADwAAABsAAABpbnRlcm5hbCBlcnJvcjogZW50ZXJlZCB1bnJlYWNoYWJsZSBjb2RlOiBUd29XYXlFbWJlZGRlZE1hbnlUb01hbnkgcmVsYXRpb24gaW4gc3FsLXF1ZXJ5LWNvbm5lY3RvcgAAijkQAFAAAABWAAAAEQAAAG5vdCBpbXBsZW1lbnRlZDogU1FMIGNvbm5lY3RvcnMgZG8gbm90IHN1cHBvcnQgY29tcG9zaXRlcyB5ZXQuAADqLhAARQAAAEsBAAAlAAAA6i4QAEUAAABWAQAAGgAAAEA+JiY8Pj1BbGwgdmlydHVhbCBmaWVsZHMgbXVzdCBiZSB2aXNpdGVkIGJlZm9yZSBjYWxsaW5nIGJ1aWxkX3ZpcnR1YWxfZXhwcgC3PRAARQAAAMEAAAAOAAAAAACAPwAAIEEAAMhCAAB6RABAHEYAUMNHACR0SYCWGEsgvL5MKGtuTvkCFVAlIhAAaAAAAB8AAAAaAAAATm90RXF1YWxzTm90Q29udGFpbnNTdGFydHNXaXRoTm90U3RhcnRzV2l0aEVuZHNXaXRoTm90RW5kc1dpdGhMZXNzVGhhbkxlc3NUaGFuT3JFcXVhbHNHcmVhdGVyVGhhbkdyZWF0ZXJUaGFuT3JFcXVhbHNJbk5vdEluSnNvbkNvbXBhcmVTZWFyY2hOb3RTZWFyY2gAAABVGxAAZQAAADgCAAAtAAAATGlzdENvdW50QXZlcmFnZVN1bU1pbk1heERhdGFzb3VyY2VGaWVsZE5hbWUwMDAxMDIwMzA0MDUwNjA3MDgwOTEwMTExMjEzMTQxNTE2MTcxODE5MjAyMTIyMjMyNDI1MjYyNzI4MjkzMDMxMzIzMzM0MzUzNjM3MzgzOTQwNDE0MjQzNDQ0NTQ2NDc0ODQ5NTA1MTUyNTM1NDU1NTY1NzU4NTk2MDYxNjI2MzY0NjU2NjY3Njg2OTcwNzE3MjczNzQ3NTc2Nzc3ODc5ODA4MTgyODM4NDg1ODY4Nzg4ODk5MDkxOTI5Mzk0OTU5Njk3OTg5OUJvb2xlYW5FbnVtSW50VXVpZEpzb25PYmplY3ROdWxsRGF0ZVRpbWVGbG9hdEJ5dGVzcmV0dXJuX3R5cGVBbnlGaWVsZFNldFVuc2V0QWRkU3VidHJhY3RNdWx0aXBseURpdmlkZVB1c2hVcGRhdGVVcHNlcnRzZXR1cGRhdGVVcGRhdGVNYW55ZmlsdGVyRGVsZXRlTWFueXR5cGVOZXN0ZWRXcml0ZXdyaXRlc3Jvb3Qgc2VsZWN0aW5uZXIgc2VsZWN0bWlkZGxlIHNlbGVjdG91dGVyIHNlbGVjdAAAAAAAAAgAAAAEAAAAoQMAAKIDAACjAwAApAMAAMQBAAAMAAAABAAAAKUDAACmAwAApwMAAAAAAAAIAAAABAAAAKgDAACpAwAAqgMAAKsDAACsAwAAEAAAAAQAAACtAwAArgMAAK8DAACkAwAAXPbpX9wC9rnxwXBs8mHBJNoHjEl4ZUzTwn2PTZafJs9hc3NlcnRpb24gZmFpbGVkOiBwc2l6ZSA+PSBzaXplICsgbWluX292ZXJoZWFkAACRWBAAKgAAALEEAAAJAAAAYXNzZXJ0aW9uIGZhaWxlZDogcHNpemUgPD0gc2l6ZSArIG1heF9vdmVyaGVhZAAAkVgQACoAAAC3BAAADQAAAHJ3bG9jayBvdmVyZmxvd2VkIHJlYWQgbG9ja3NULRAAXQAAABUAAAAsAAAAY2Fubm90IG1vZGlmeSB0aGUgcGFuaWMgaG9vayBmcm9tIGEgcGFuaWNraW5nIHRocmVhZB5AEABMAAAAkAAAAAkAAABMYXp5TG9jayBpbnN0YW5jZSBoYXMgcHJldmlvdXNseSBiZWVuIHBvaXNvbmVkAABjPhAAUQAAAJ8BAAAFAAAAb3BlcmF0aW9uIHN1Y2Nlc3NmdWxXb3VsZEJsb2NrAAAAAAAACAAAAAQAAACwAwAATm90Rm91bmRQZXJtaXNzaW9uRGVuaWVkQ29ubmVjdGlvblJlZnVzZWRDb25uZWN0aW9uUmVzZXRIb3N0VW5yZWFjaGFibGVOZXR3b3JrVW5yZWFjaGFibGVDb25uZWN0aW9uQWJvcnRlZE5vdENvbm5lY3RlZEFkZHJJblVzZUFkZHJOb3RBdmFpbGFibGVOZXR3b3JrRG93bkJyb2tlblBpcGVBbHJlYWR5RXhpc3RzTm90QURpcmVjdG9yeUlzQURpcmVjdG9yeURpcmVjdG9yeU5vdEVtcHR5UmVhZE9ubHlGaWxlc3lzdGVtRmlsZXN5c3RlbUxvb3BTdGFsZU5ldHdvcmtGaWxlSGFuZGxlSW52YWxpZElucHV0SW52YWxpZERhdGFUaW1lZE91dFdyaXRlWmVyb1N0b3JhZ2VGdWxsTm90U2Vla2FibGVRdW90YUV4Y2VlZGVkRmlsZVRvb0xhcmdlUmVzb3VyY2VCdXN5RXhlY3V0YWJsZUZpbGVCdXN5RGVhZGxvY2tDcm9zc2VzRGV2aWNlc1Rvb01hbnlMaW5rc0ludmFsaWRGaWxlbmFtZUFyZ3VtZW50TGlzdFRvb0xvbmdJbnRlcnJ1cHRlZFVuc3VwcG9ydGVkVW5leHBlY3RlZEVvZk91dE9mTWVtb3J5SW5Qcm9ncmVzc090aGVyVW5jYXRlZ29yaXplZE9zY29kZWtpbmRtZXNzYWdlS2luZEN1c3RvbWVycm9ycGFuaWNrZWQgYXQgxAEAAAwAAAAEAAAAsQMAAHJ3bG9jayBoYXMgbm90IGJlZW4gbG9ja2VkIGZvciByZWFkaW5nAABULRAAXQAAAD4AAAAJAAAAwyAAAGkgAADDIAAAaRAAAMMgAABpAgAAY2Fubm90IGVudGVyIGEgdGFzay1sb2NhbCBzY29wZSB3aGlsZSB0aGUgdGFzay1sb2NhbCBzdG9yYWdlIGlzIGJvcnJvd2VkY2Fubm90IGVudGVyIGEgdGFzay1sb2NhbCBzY29wZSBkdXJpbmcgb3IgYWZ0ZXIgZGVzdHJ1Y3Rpb24gb2YgdGhlIHVuZGVybHlpbmcgdGhyZWFkLWxvY2FsAgICAgICAgICAgIAQZqmyQALCAICAAAAAAACAEHRpskACwECAEH3pskACwEBAEGSp8kACwEBAEH0p8kAC58Bl1kQAFsAAABsAAAAGAAAAJdZEABbAAAAbQAAACUAAACXWRAAWwAAAGUAAAAlAAAAl1kQAFsAAABfAAAAJQAAAEF0dGVtcHRlZCB0byBpbml0aWFsaXplIHRocmVhZC1sb2NhbCB3aGlsZSBpdCBpcyBiZWluZyBkcm9wcGVkAADQLBAAgwAAAGsAAAANAAAAAAAAAP//////////iFQSAEGgqckACyN1dXV1dXV1dWJ0bnVmcnV1dXV1dXV1dXV1dXV1dXV1dQAAIgBB/KnJAAsBXABBoKvJAAvWBGludGVybmFsIGVycm9yOiBlbnRlcmVkIHVucmVhY2hhYmxlIGNvZGUzLhAAbQAAAMgAAAAWAAAAYXR0ZW1wdCB0byBqb2luIGludG8gY29sbGVjdGlvbiB3aXRoIGxlbiA+IHVzaXplOjpNQVgAAAAzLhAAbQAAAK8AAAAKAAAAbmFtZWZpZWxkc3R5cGVOYW1laXNSZWxhdGlvbm9iamVjdHNjYWxhcmxpc3RlbGVtZW50VHlwZWVudW10eXBlTmFtZXNyZXF1aXJlZG1pbkZpZWxkQ291bnRtYXhGaWVsZENvdW50cmVxdWlyZWRGaWVsZHNVbmV4cGVjdGVkUnVudGltZUVycm9yRW1wdHlTZWxlY3Rpb25JbnZhbGlkQXJndW1lbnRUeXBlSW52YWxpZEFyZ3VtZW50VmFsdWVTb21lRmllbGRzTWlzc2luZ1Rvb01hbnlGaWVsZHNHaXZlblNlbGVjdGlvblNldE9uU2NhbGFyUmVxdWlyZWRBcmd1bWVudE1pc3NpbmdVbmlvblVua25vd25Bcmd1bWVudFVua25vd25JbnB1dEZpZWxkVW5rbm93blNlbGVjdGlvbkZpZWxkVmFsdWVUb29MYXJnZT8zEABlAAAAmwEAAC4AAABzZXJpYWxpemVfdmFsdWUgY2FsbGVkIGJlZm9yZSBzZXJpYWxpemVfa2V5AD8zEABlAAAAqAEAAB8AAAA/MxAAZQAAAK8BAAAuAAAAM0YQAGEAAAA7AAAAIwAAAL4BAAAMAAAABAAAALIDAACzAwAAtAMAQYCwyQAL5QMBAAAAwgEAAGNhbGxlZCBgUmVzdWx0Ojp1bndyYXAoKWAgb24gYW4gYEVycmAgdmFsdWUAaVsQAF0AAACFCQAANAAAAG1pZCA+IGxlbkV4cGVjdGVkIGEgbWluaW11bSBvZiAxIGZpZWxkIHRvIGJlIHByZXNlbnQsIGdvdCAwb3V0cHV0VHlwZXNlbGVjdGlvblBhdGgAAIcBAAAEAAAABAAAAIgBAAA/OhAANgAAAH8AAAAYAAAAQXJndW1lbnQgcGF0aCBjYW5ub3Qgbm90IGJlIGVtcHR5AAAAPzoQADYAAAD/AQAAMgAAAEJpZ0ludGFyZ3VtZW50UGF0aAAAPzoQADYAAAAHAgAAGAAAAEFyZ3VtZW50IGRvZXMgbm90IGV4aXN0IGluIGVuY2xvc2luZyB0eXBlYXJndW1lbnRzAAA/OhAANgAAAHEBAAARAAAAaW5wdXRUeXBlY29uc3RyYWludHM/OhAANgAAAPIAAAARAAAAPzoQADYAAACgAQAAEQAAACwgaW5mZXJyZWRUeXBlAAA/OhAANgAAAKcAAAARAAAAPzoQADYAAAAJAQAAEQAAAD86EAA2AAAAygAAADIAAAB1bmRlcmx5aW5nRXJyb3IAPzoQADYAAADRAAAAGABB+7PJAAsBgABBmLTJAAvTGz86EAA2AAAA1gAAABgAAABmaWVsZE5hbWUAAAA/OhAANgAAANgBAAAYAAAAU2VsZWN0aW9uIHBhdGggbXVzdCBub3QgYmUgZW1wdHk/OhAANgAAALcBAAAjAAAAPzoQADYAAAC9AQAAGAAAAGlucHV0VHlwZXMAAD86EAA2AAAAJQEAABEAAABkZXBlbmRlbnRBcmd1bWVudFBhdGgAAAA/OhAANgAAAEwBAAAYAAAAZXJyb3JzAAA/OhAANgAAAOUBAAAYAAAAM0YQAGEAAABYAQAAOAAAAGEgRGlzcGxheSBpbXBsZW1lbnRhdGlvbiByZXR1cm5lZCBhbiBlcnJvciB1bmV4cGVjdGVkbHkAbT8QAHAAAABxCwAADgAAAEVycm9yAAAAaVsQAF0AAACCCQAANgAAAAAAAAAJAAAADgAAABMAAAAYAAAAMDEyMzQ1Njc4OWFiY2RlZv///////////////////////////////////////////////////////////////wABAgMEBQYHCAn/////////CgsMDQ4P//////////////////////////////////8KCwwNDg////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////8AECAwQFBgcICQoLDA0ODw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EQAAAA8AAAAPAAAAEgAAABEAAAAMAAAACQAAABAAAAALAAAACgAAAA0AAAAKAAAADQAAAAwAAAARAAAAEgAAAA4AAAAWAAAADAAAAAsAAAAIAAAACQAAAAsAAAALAAAADQAAAAwAAAAMAAAAEgAAAAgAAAAOAAAADAAAAA8AAAATAAAACwAAAAsAAAANAAAACwAAAAoAAAAFAAAADQAAALBPEgC4TxIAyE8SANlPEgDoTxIA908SAAlQEgAaUBIAJlASAC9QEgA/UBIASlASAFRQEgCUTxIAYVASAG5QEgB6UBIAi1ASAJ1QEgCrUBIAwVASAM1QEgDYUBIA4FASAOlQEgD0UBIA/1ASAAxREgAYURIAJFESADZREgA+URIATFESAFhREgBnURIAelESAIVREgCQURIAnVESAKhREgCyURIAt1ESAAgAAAAQAAAAEQAAAA8AAAAPAAAAEgAAABEAAAAMAAAACQAAABAAAAALAAAACgAAAA0AAAAKAAAADQAAAAwAAAARAAAAEgAAAA4AAAAWAAAADAAAAAsAAAAIAAAACQAAAAsAAAALAAAADQAAAAwAAAAMAAAAEgAAAAgAAAAOAAAADAAAAA8AAAATAAAACwAAAAsAAAANAAAACwAAAAoAAAAFAAAADQAAALBPEgC4TxIAyE8SANlPEgDoTxIA908SAAlQEgAaUBIAJlASAC9QEgA/UBIASlASAFRQEgCUTxIAYVASAG5QEgB6UBIAi1ASAJ1QEgCrUBIAwVASAM1QEgDYUBIA4FASAOlQEgD0UBIA/1ASAAxREgAYURIAJFESADZREgA+URIATFESAFhREgBnURIAelESAIVREgCQURIAnVESAKhREgCyURIAt1ESAAgAAAAQAAAAEQAAAA8AAAAPAAAAEgAAABEAAAAMAAAACQAAABAAAAALAAAACgAAAA0AAAAKAAAADQAAAAwAAAARAAAAEgAAAA4AAAAWAAAADAAAAAsAAAAIAAAACQAAAAsAAAALAAAADQAAAAwAAAAMAAAAEgAAAAgAAAAOAAAADAAAAA8AAAATAAAACwAAAAsAAAANAAAACwAAAAoAAAAFAAAADQAAALBPEgC4TxIAyE8SANlPEgDoTxIA908SAAlQEgAaUBIAJlASAC9QEgA/UBIASlASAFRQEgCUTxIAYVASAG5QEgB6UBIAi1ASAJ1QEgCrUBIAwVASAM1QEgDYUBIA4FASAOlQEgD0UBIA/1ASAAxREgAYURIAJFESADZREgA+URIATFESAFhREgBnURIAelESAIVREgCQURIAnVESAKhREgCyURIAt1ESAEGQ68kACwLkAQBBiOzJAAsE/////wBBqOzJAAsCpAIAQbjsyQALDQEAAADBAgAAAAAAAAQ=";
+export {
+ wasm
+};
diff --git a/apps/api/.output/dist/chunks/source-SMPGMLTA.js b/apps/api/.output/dist/chunks/source-SMPGMLTA.js
new file mode 100644
index 0000000..9c45426
--- /dev/null
+++ b/apps/api/.output/dist/chunks/source-SMPGMLTA.js
@@ -0,0 +1,4507 @@
+import { createRequire as __bundleCreateRequire } from "node:module"; const require = __bundleCreateRequire(import.meta.url);
+import {
+ require_src
+} from "./chunk-C4DYPKAN.js";
+import "./chunk-A34KYKJP.js";
+import {
+ __commonJS,
+ __esm,
+ __name,
+ __toESM
+} from "./chunk-T6GW54FI.js";
+
+// ../../node_modules/.pnpm/ieee754@1.2.1/node_modules/ieee754/index.js
+var require_ieee754 = __commonJS({
+ "../../node_modules/.pnpm/ieee754@1.2.1/node_modules/ieee754/index.js"(exports) {
+ exports.read = function(buffer, offset, isLE, mLen, nBytes) {
+ var e, m;
+ var eLen = nBytes * 8 - mLen - 1;
+ var eMax = (1 << eLen) - 1;
+ var eBias = eMax >> 1;
+ var nBits = -7;
+ var i = isLE ? nBytes - 1 : 0;
+ var d = isLE ? -1 : 1;
+ var s = buffer[offset + i];
+ i += d;
+ e = s & (1 << -nBits) - 1;
+ s >>= -nBits;
+ nBits += eLen;
+ for (; nBits > 0; e = e * 256 + buffer[offset + i], i += d, nBits -= 8) {
+ }
+ m = e & (1 << -nBits) - 1;
+ e >>= -nBits;
+ nBits += mLen;
+ for (; nBits > 0; m = m * 256 + buffer[offset + i], i += d, nBits -= 8) {
+ }
+ if (e === 0) {
+ e = 1 - eBias;
+ } else if (e === eMax) {
+ return m ? NaN : (s ? -1 : 1) * Infinity;
+ } else {
+ m = m + Math.pow(2, mLen);
+ e = e - eBias;
+ }
+ return (s ? -1 : 1) * m * Math.pow(2, e - mLen);
+ };
+ exports.write = function(buffer, value, offset, isLE, mLen, nBytes) {
+ var e, m, c;
+ var eLen = nBytes * 8 - mLen - 1;
+ var eMax = (1 << eLen) - 1;
+ var eBias = eMax >> 1;
+ var rt = mLen === 23 ? Math.pow(2, -24) - Math.pow(2, -77) : 0;
+ var i = isLE ? 0 : nBytes - 1;
+ var d = isLE ? 1 : -1;
+ var s = value < 0 || value === 0 && 1 / value < 0 ? 1 : 0;
+ value = Math.abs(value);
+ if (isNaN(value) || value === Infinity) {
+ m = isNaN(value) ? 1 : 0;
+ e = eMax;
+ } else {
+ e = Math.floor(Math.log(value) / Math.LN2);
+ if (value * (c = Math.pow(2, -e)) < 1) {
+ e--;
+ c *= 2;
+ }
+ if (e + eBias >= 1) {
+ value += rt / c;
+ } else {
+ value += rt * Math.pow(2, 1 - eBias);
+ }
+ if (value * c >= 2) {
+ e++;
+ c /= 2;
+ }
+ if (e + eBias >= eMax) {
+ m = 0;
+ e = eMax;
+ } else if (e + eBias >= 1) {
+ m = (value * c - 1) * Math.pow(2, mLen);
+ e = e + eBias;
+ } else {
+ m = value * Math.pow(2, eBias - 1) * Math.pow(2, mLen);
+ e = 0;
+ }
+ }
+ for (; mLen >= 8; buffer[offset + i] = m & 255, i += d, m /= 256, mLen -= 8) {
+ }
+ e = e << mLen | m;
+ eLen += mLen;
+ for (; eLen > 0; buffer[offset + i] = e & 255, i += d, e /= 256, eLen -= 8) {
+ }
+ buffer[offset + i - d] |= s * 128;
+ };
+ }
+});
+
+// ../../node_modules/.pnpm/@borewit+text-codec@0.2.2/node_modules/@borewit/text-codec/lib/index.js
+function utf8Decoder() {
+ if (typeof globalThis.TextDecoder === "undefined")
+ return void 0;
+ return _utf8Decoder !== null && _utf8Decoder !== void 0 ? _utf8Decoder : _utf8Decoder = new globalThis.TextDecoder("utf-8");
+}
+function textDecode(bytes, encoding = "utf-8") {
+ switch (encoding.toLowerCase()) {
+ case "utf-8":
+ case "utf8": {
+ const dec = utf8Decoder();
+ return dec ? dec.decode(bytes) : decodeUTF8(bytes);
+ }
+ case "utf-16le":
+ return decodeUTF16LE(bytes);
+ case "us-ascii":
+ case "ascii":
+ return decodeASCII(bytes);
+ case "latin1":
+ case "iso-8859-1":
+ return decodeLatin1(bytes);
+ case "windows-1252":
+ return decodeWindows1252(bytes);
+ default:
+ throw new RangeError(`Encoding '${encoding}' not supported`);
+ }
+}
+function flushChunk(parts, chunk) {
+ if (chunk.length === 0)
+ return;
+ parts.push(String.fromCharCode.apply(null, chunk));
+ chunk.length = 0;
+}
+function pushCodeUnit(parts, chunk, codeUnit) {
+ chunk.push(codeUnit);
+ if (chunk.length >= CHUNK)
+ flushChunk(parts, chunk);
+}
+function pushCodePoint(parts, chunk, cp) {
+ if (cp <= 65535) {
+ pushCodeUnit(parts, chunk, cp);
+ return;
+ }
+ cp -= 65536;
+ pushCodeUnit(parts, chunk, 55296 + (cp >> 10));
+ pushCodeUnit(parts, chunk, 56320 + (cp & 1023));
+}
+function decodeUTF8(bytes) {
+ const parts = [];
+ const chunk = [];
+ let i = 0;
+ if (bytes.length >= 3 && bytes[0] === 239 && bytes[1] === 187 && bytes[2] === 191) {
+ i = 3;
+ }
+ while (i < bytes.length) {
+ const b1 = bytes[i];
+ if (b1 <= 127) {
+ pushCodeUnit(parts, chunk, b1);
+ i++;
+ continue;
+ }
+ if (b1 < 194 || b1 > 244) {
+ pushCodeUnit(parts, chunk, REPLACEMENT);
+ i++;
+ continue;
+ }
+ if (b1 <= 223) {
+ if (i + 1 >= bytes.length) {
+ pushCodeUnit(parts, chunk, REPLACEMENT);
+ i++;
+ continue;
+ }
+ const b22 = bytes[i + 1];
+ if ((b22 & 192) !== 128) {
+ pushCodeUnit(parts, chunk, REPLACEMENT);
+ i++;
+ continue;
+ }
+ const cp2 = (b1 & 31) << 6 | b22 & 63;
+ pushCodeUnit(parts, chunk, cp2);
+ i += 2;
+ continue;
+ }
+ if (b1 <= 239) {
+ if (i + 2 >= bytes.length) {
+ pushCodeUnit(parts, chunk, REPLACEMENT);
+ i++;
+ continue;
+ }
+ const b22 = bytes[i + 1];
+ const b32 = bytes[i + 2];
+ const valid2 = (b22 & 192) === 128 && (b32 & 192) === 128 && !(b1 === 224 && b22 < 160) && // overlong
+ !(b1 === 237 && b22 >= 160);
+ if (!valid2) {
+ pushCodeUnit(parts, chunk, REPLACEMENT);
+ i++;
+ continue;
+ }
+ const cp2 = (b1 & 15) << 12 | (b22 & 63) << 6 | b32 & 63;
+ pushCodeUnit(parts, chunk, cp2);
+ i += 3;
+ continue;
+ }
+ if (i + 3 >= bytes.length) {
+ pushCodeUnit(parts, chunk, REPLACEMENT);
+ i++;
+ continue;
+ }
+ const b2 = bytes[i + 1];
+ const b3 = bytes[i + 2];
+ const b4 = bytes[i + 3];
+ const valid = (b2 & 192) === 128 && (b3 & 192) === 128 && (b4 & 192) === 128 && !(b1 === 240 && b2 < 144) && // overlong
+ !(b1 === 244 && b2 > 143);
+ if (!valid) {
+ pushCodeUnit(parts, chunk, REPLACEMENT);
+ i++;
+ continue;
+ }
+ const cp = (b1 & 7) << 18 | (b2 & 63) << 12 | (b3 & 63) << 6 | b4 & 63;
+ pushCodePoint(parts, chunk, cp);
+ i += 4;
+ }
+ flushChunk(parts, chunk);
+ return parts.join("");
+}
+function decodeUTF16LE(bytes) {
+ const parts = [];
+ const chunk = [];
+ const len = bytes.length;
+ let i = 0;
+ while (i + 1 < len) {
+ const u1 = bytes[i] | bytes[i + 1] << 8;
+ i += 2;
+ if (u1 >= 55296 && u1 <= 56319) {
+ if (i + 1 < len) {
+ const u2 = bytes[i] | bytes[i + 1] << 8;
+ if (u2 >= 56320 && u2 <= 57343) {
+ pushCodeUnit(parts, chunk, u1);
+ pushCodeUnit(parts, chunk, u2);
+ i += 2;
+ } else {
+ pushCodeUnit(parts, chunk, REPLACEMENT);
+ }
+ } else {
+ pushCodeUnit(parts, chunk, REPLACEMENT);
+ }
+ continue;
+ }
+ if (u1 >= 56320 && u1 <= 57343) {
+ pushCodeUnit(parts, chunk, REPLACEMENT);
+ continue;
+ }
+ pushCodeUnit(parts, chunk, u1);
+ }
+ if (i < len) {
+ pushCodeUnit(parts, chunk, REPLACEMENT);
+ }
+ flushChunk(parts, chunk);
+ return parts.join("");
+}
+function decodeASCII(bytes) {
+ const parts = [];
+ for (let i = 0; i < bytes.length; i += CHUNK) {
+ const end = Math.min(bytes.length, i + CHUNK);
+ const codes = new Array(end - i);
+ for (let j = i, k = 0; j < end; j++, k++) {
+ codes[k] = bytes[j] & 127;
+ }
+ parts.push(String.fromCharCode.apply(null, codes));
+ }
+ return parts.join("");
+}
+function decodeLatin1(bytes) {
+ const parts = [];
+ for (let i = 0; i < bytes.length; i += CHUNK) {
+ const end = Math.min(bytes.length, i + CHUNK);
+ const codes = new Array(end - i);
+ for (let j = i, k = 0; j < end; j++, k++) {
+ codes[k] = bytes[j];
+ }
+ parts.push(String.fromCharCode.apply(null, codes));
+ }
+ return parts.join("");
+}
+function decodeWindows1252(bytes) {
+ const parts = [];
+ let out = "";
+ for (let i = 0; i < bytes.length; i++) {
+ const b = bytes[i];
+ const extra = b >= 128 && b <= 159 ? WINDOWS_1252_EXTRA[b] : void 0;
+ out += extra !== null && extra !== void 0 ? extra : String.fromCharCode(b);
+ if (out.length >= CHUNK) {
+ parts.push(out);
+ out = "";
+ }
+ }
+ if (out)
+ parts.push(out);
+ return parts.join("");
+}
+var WINDOWS_1252_EXTRA, WINDOWS_1252_REVERSE, _utf8Decoder, CHUNK, REPLACEMENT;
+var init_lib = __esm({
+ "../../node_modules/.pnpm/@borewit+text-codec@0.2.2/node_modules/@borewit/text-codec/lib/index.js"() {
+ WINDOWS_1252_EXTRA = {
+ 128: "\u20AC",
+ 130: "\u201A",
+ 131: "\u0192",
+ 132: "\u201E",
+ 133: "\u2026",
+ 134: "\u2020",
+ 135: "\u2021",
+ 136: "\u02C6",
+ 137: "\u2030",
+ 138: "\u0160",
+ 139: "\u2039",
+ 140: "\u0152",
+ 142: "\u017D",
+ 145: "\u2018",
+ 146: "\u2019",
+ 147: "\u201C",
+ 148: "\u201D",
+ 149: "\u2022",
+ 150: "\u2013",
+ 151: "\u2014",
+ 152: "\u02DC",
+ 153: "\u2122",
+ 154: "\u0161",
+ 155: "\u203A",
+ 156: "\u0153",
+ 158: "\u017E",
+ 159: "\u0178"
+ };
+ WINDOWS_1252_REVERSE = {};
+ for (const [code, char] of Object.entries(WINDOWS_1252_EXTRA)) {
+ WINDOWS_1252_REVERSE[char] = Number.parseInt(code, 10);
+ }
+ __name(utf8Decoder, "utf8Decoder");
+ CHUNK = 32 * 1024;
+ REPLACEMENT = 65533;
+ __name(textDecode, "textDecode");
+ __name(flushChunk, "flushChunk");
+ __name(pushCodeUnit, "pushCodeUnit");
+ __name(pushCodePoint, "pushCodePoint");
+ __name(decodeUTF8, "decodeUTF8");
+ __name(decodeUTF16LE, "decodeUTF16LE");
+ __name(decodeASCII, "decodeASCII");
+ __name(decodeLatin1, "decodeLatin1");
+ __name(decodeWindows1252, "decodeWindows1252");
+ }
+});
+
+// ../../node_modules/.pnpm/token-types@6.1.2/node_modules/token-types/lib/index.js
+function dv(array) {
+ return new DataView(array.buffer, array.byteOffset);
+}
+var ieee754, UINT8, UINT16_LE, UINT16_BE, UINT32_LE, UINT32_BE, INT32_BE, UINT64_LE, StringType;
+var init_lib2 = __esm({
+ "../../node_modules/.pnpm/token-types@6.1.2/node_modules/token-types/lib/index.js"() {
+ ieee754 = __toESM(require_ieee754(), 1);
+ init_lib();
+ __name(dv, "dv");
+ UINT8 = {
+ len: 1,
+ get(array, offset) {
+ return dv(array).getUint8(offset);
+ },
+ put(array, offset, value) {
+ dv(array).setUint8(offset, value);
+ return offset + 1;
+ }
+ };
+ UINT16_LE = {
+ len: 2,
+ get(array, offset) {
+ return dv(array).getUint16(offset, true);
+ },
+ put(array, offset, value) {
+ dv(array).setUint16(offset, value, true);
+ return offset + 2;
+ }
+ };
+ UINT16_BE = {
+ len: 2,
+ get(array, offset) {
+ return dv(array).getUint16(offset);
+ },
+ put(array, offset, value) {
+ dv(array).setUint16(offset, value);
+ return offset + 2;
+ }
+ };
+ UINT32_LE = {
+ len: 4,
+ get(array, offset) {
+ return dv(array).getUint32(offset, true);
+ },
+ put(array, offset, value) {
+ dv(array).setUint32(offset, value, true);
+ return offset + 4;
+ }
+ };
+ UINT32_BE = {
+ len: 4,
+ get(array, offset) {
+ return dv(array).getUint32(offset);
+ },
+ put(array, offset, value) {
+ dv(array).setUint32(offset, value);
+ return offset + 4;
+ }
+ };
+ INT32_BE = {
+ len: 4,
+ get(array, offset) {
+ return dv(array).getInt32(offset);
+ },
+ put(array, offset, value) {
+ dv(array).setInt32(offset, value);
+ return offset + 4;
+ }
+ };
+ UINT64_LE = {
+ len: 8,
+ get(array, offset) {
+ return dv(array).getBigUint64(offset, true);
+ },
+ put(array, offset, value) {
+ dv(array).setBigUint64(offset, value, true);
+ return offset + 8;
+ }
+ };
+ StringType = class {
+ static {
+ __name(this, "StringType");
+ }
+ constructor(len, encoding) {
+ this.len = len;
+ this.encoding = encoding;
+ }
+ get(data, offset = 0) {
+ const bytes = data.subarray(offset, offset + this.len);
+ return textDecode(bytes, this.encoding);
+ }
+ };
+ }
+});
+
+// ../../node_modules/.pnpm/strtok3@10.6.2/node_modules/strtok3/lib/stream/Errors.js
+var defaultMessages, EndOfStreamError, AbortError;
+var init_Errors = __esm({
+ "../../node_modules/.pnpm/strtok3@10.6.2/node_modules/strtok3/lib/stream/Errors.js"() {
+ defaultMessages = "End-Of-Stream";
+ EndOfStreamError = class extends Error {
+ static {
+ __name(this, "EndOfStreamError");
+ }
+ constructor() {
+ super(defaultMessages);
+ this.name = "EndOfStreamError";
+ }
+ };
+ AbortError = class extends Error {
+ static {
+ __name(this, "AbortError");
+ }
+ constructor(message = "The operation was aborted") {
+ super(message);
+ this.name = "AbortError";
+ }
+ };
+ }
+});
+
+// ../../node_modules/.pnpm/strtok3@10.6.2/node_modules/strtok3/lib/AbortSignal.js
+function throwIfAborted(signal) {
+ if (signal?.aborted) {
+ throw new AbortError();
+ }
+}
+var init_AbortSignal = __esm({
+ "../../node_modules/.pnpm/strtok3@10.6.2/node_modules/strtok3/lib/AbortSignal.js"() {
+ init_Errors();
+ __name(throwIfAborted, "throwIfAborted");
+ }
+});
+
+// ../../node_modules/.pnpm/strtok3@10.6.2/node_modules/strtok3/lib/BufferSizeError.js
+function getMaxBufferSize(options) {
+ const limit = options?.maxBufferSize ?? Number.POSITIVE_INFINITY;
+ if (limit !== Number.POSITIVE_INFINITY && (!Number.isSafeInteger(limit) || limit <= 0)) {
+ throw new RangeError("maxBufferSize must be a positive safe integer or Infinity");
+ }
+ return limit;
+}
+var BufferSizeError;
+var init_BufferSizeError = __esm({
+ "../../node_modules/.pnpm/strtok3@10.6.2/node_modules/strtok3/lib/BufferSizeError.js"() {
+ BufferSizeError = class extends RangeError {
+ static {
+ __name(this, "BufferSizeError");
+ }
+ /**
+ * Create an error describing an allocation that exceeds the configured limit.
+ * @param requestedSize - Requested buffer size in bytes
+ * @param maxBufferSize - Configured maximum buffer size in bytes
+ */
+ constructor(requestedSize, maxBufferSize) {
+ super(`Requested buffer size ${requestedSize} exceeds maxBufferSize ${maxBufferSize}`);
+ this.requestedSize = requestedSize;
+ this.maxBufferSize = maxBufferSize;
+ this.name = "BufferSizeError";
+ }
+ };
+ __name(getMaxBufferSize, "getMaxBufferSize");
+ }
+});
+
+// ../../node_modules/.pnpm/strtok3@10.6.2/node_modules/strtok3/lib/stream/AbstractStreamReader.js
+var AbstractStreamReader;
+var init_AbstractStreamReader = __esm({
+ "../../node_modules/.pnpm/strtok3@10.6.2/node_modules/strtok3/lib/stream/AbstractStreamReader.js"() {
+ init_Errors();
+ AbstractStreamReader = class {
+ static {
+ __name(this, "AbstractStreamReader");
+ }
+ constructor() {
+ this.endOfStream = false;
+ this.interrupted = false;
+ this.peekQueue = [];
+ }
+ async peek(uint8Array, mayBeLess = false) {
+ const bytesRead = await this.read(uint8Array, mayBeLess);
+ this.peekQueue.push(uint8Array.subarray(0, bytesRead));
+ return bytesRead;
+ }
+ async read(buffer, mayBeLess = false) {
+ if (buffer.length === 0) {
+ return 0;
+ }
+ let bytesRead = this.readFromPeekBuffer(buffer);
+ if (!this.endOfStream) {
+ bytesRead += await this.readRemainderFromStream(buffer.subarray(bytesRead), mayBeLess);
+ }
+ if (bytesRead === 0 && !mayBeLess) {
+ throw new EndOfStreamError();
+ }
+ return bytesRead;
+ }
+ /**
+ * Read chunk from stream
+ * @param buffer - Target Uint8Array (or Buffer) to store data read from stream in
+ * @returns Number of bytes read
+ */
+ readFromPeekBuffer(buffer) {
+ let remaining = buffer.length;
+ let bytesRead = 0;
+ while (this.peekQueue.length > 0 && remaining > 0) {
+ const peekData = this.peekQueue.pop();
+ if (!peekData) {
+ throw new Error("peekData should be defined");
+ }
+ const lenCopy = Math.min(peekData.length, remaining);
+ buffer.set(peekData.subarray(0, lenCopy), bytesRead);
+ bytesRead += lenCopy;
+ remaining -= lenCopy;
+ if (lenCopy < peekData.length) {
+ this.peekQueue.push(peekData.subarray(lenCopy));
+ }
+ }
+ return bytesRead;
+ }
+ async readRemainderFromStream(buffer, mayBeLess) {
+ let bytesRead = 0;
+ while (bytesRead < buffer.length && !this.endOfStream) {
+ if (this.interrupted) {
+ throw new AbortError();
+ }
+ const chunkLen = await this.readFromStream(buffer.subarray(bytesRead), mayBeLess);
+ if (chunkLen === 0) {
+ break;
+ }
+ bytesRead += chunkLen;
+ }
+ if (!mayBeLess && bytesRead < buffer.length) {
+ throw new EndOfStreamError();
+ }
+ return bytesRead;
+ }
+ };
+ }
+});
+
+// ../../node_modules/.pnpm/strtok3@10.6.2/node_modules/strtok3/lib/stream/Deferred.js
+var init_Deferred = __esm({
+ "../../node_modules/.pnpm/strtok3@10.6.2/node_modules/strtok3/lib/stream/Deferred.js"() {
+ }
+});
+
+// ../../node_modules/.pnpm/strtok3@10.6.2/node_modules/strtok3/lib/stream/StreamReader.js
+var init_StreamReader = __esm({
+ "../../node_modules/.pnpm/strtok3@10.6.2/node_modules/strtok3/lib/stream/StreamReader.js"() {
+ init_AbstractStreamReader();
+ init_Deferred();
+ init_Errors();
+ }
+});
+
+// ../../node_modules/.pnpm/strtok3@10.6.2/node_modules/strtok3/lib/stream/WebStreamReader.js
+var WebStreamReader;
+var init_WebStreamReader = __esm({
+ "../../node_modules/.pnpm/strtok3@10.6.2/node_modules/strtok3/lib/stream/WebStreamReader.js"() {
+ init_AbstractStreamReader();
+ WebStreamReader = class extends AbstractStreamReader {
+ static {
+ __name(this, "WebStreamReader");
+ }
+ constructor(reader) {
+ super();
+ this.reader = reader;
+ }
+ async abort() {
+ return this.close();
+ }
+ async close() {
+ this.reader.releaseLock();
+ }
+ };
+ }
+});
+
+// ../../node_modules/.pnpm/strtok3@10.6.2/node_modules/strtok3/lib/stream/WebStreamByobReader.js
+var WebStreamByobReader;
+var init_WebStreamByobReader = __esm({
+ "../../node_modules/.pnpm/strtok3@10.6.2/node_modules/strtok3/lib/stream/WebStreamByobReader.js"() {
+ init_WebStreamReader();
+ WebStreamByobReader = class extends WebStreamReader {
+ static {
+ __name(this, "WebStreamByobReader");
+ }
+ /**
+ * Read from stream
+ * @param buffer - Target Uint8Array (or Buffer) to store data read from stream in
+ * @param mayBeLess - If true, may fill the buffer partially
+ * @protected Bytes read
+ */
+ async readFromStream(buffer, mayBeLess) {
+ if (buffer.length === 0) {
+ return 0;
+ }
+ const result = await this.reader.read(new Uint8Array(buffer.length), {
+ min: mayBeLess ? void 0 : buffer.length
+ });
+ if (result.done) {
+ this.endOfStream = result.done;
+ }
+ if (result.value) {
+ buffer.set(result.value);
+ return result.value.length;
+ }
+ return 0;
+ }
+ };
+ }
+});
+
+// ../../node_modules/.pnpm/strtok3@10.6.2/node_modules/strtok3/lib/stream/WebStreamDefaultReader.js
+var WebStreamDefaultReader;
+var init_WebStreamDefaultReader = __esm({
+ "../../node_modules/.pnpm/strtok3@10.6.2/node_modules/strtok3/lib/stream/WebStreamDefaultReader.js"() {
+ init_AbstractStreamReader();
+ init_Errors();
+ WebStreamDefaultReader = class extends AbstractStreamReader {
+ static {
+ __name(this, "WebStreamDefaultReader");
+ }
+ constructor(reader) {
+ super();
+ this.reader = reader;
+ this.buffer = null;
+ }
+ /**
+ * Copy chunk to target, and store the remainder in this.buffer
+ */
+ writeChunk(target, chunk) {
+ const written = Math.min(chunk.length, target.length);
+ target.set(chunk.subarray(0, written));
+ if (written < chunk.length) {
+ this.buffer = chunk.subarray(written);
+ } else {
+ this.buffer = null;
+ }
+ return written;
+ }
+ /**
+ * Read from stream
+ * @param buffer - Target Uint8Array (or Buffer) to store data read from stream in
+ * @param mayBeLess - If true, may fill the buffer partially
+ * @protected Bytes read
+ */
+ async readFromStream(buffer, mayBeLess) {
+ if (buffer.length === 0) {
+ return 0;
+ }
+ let totalBytesRead = 0;
+ if (this.buffer) {
+ totalBytesRead += this.writeChunk(buffer, this.buffer);
+ }
+ while (totalBytesRead < buffer.length && !this.endOfStream) {
+ const result = await this.reader.read();
+ if (result.done) {
+ this.endOfStream = true;
+ break;
+ }
+ if (result.value) {
+ totalBytesRead += this.writeChunk(buffer.subarray(totalBytesRead), result.value);
+ }
+ }
+ if (!mayBeLess && totalBytesRead === 0 && this.endOfStream) {
+ throw new EndOfStreamError();
+ }
+ return totalBytesRead;
+ }
+ abort() {
+ this.interrupted = true;
+ return this.reader.cancel();
+ }
+ async close() {
+ try {
+ await this.abort();
+ } finally {
+ this.reader.releaseLock();
+ }
+ }
+ };
+ }
+});
+
+// ../../node_modules/.pnpm/strtok3@10.6.2/node_modules/strtok3/lib/stream/WebStreamReaderFactory.js
+function makeWebStreamReader(stream) {
+ try {
+ const reader = stream.getReader({ mode: "byob" });
+ if (reader instanceof ReadableStreamDefaultReader) {
+ return new WebStreamDefaultReader(reader);
+ }
+ return new WebStreamByobReader(reader);
+ } catch (error) {
+ if (error instanceof TypeError) {
+ return new WebStreamDefaultReader(stream.getReader());
+ }
+ throw error;
+ }
+}
+var init_WebStreamReaderFactory = __esm({
+ "../../node_modules/.pnpm/strtok3@10.6.2/node_modules/strtok3/lib/stream/WebStreamReaderFactory.js"() {
+ init_WebStreamByobReader();
+ init_WebStreamDefaultReader();
+ __name(makeWebStreamReader, "makeWebStreamReader");
+ }
+});
+
+// ../../node_modules/.pnpm/strtok3@10.6.2/node_modules/strtok3/lib/stream/index.js
+var init_stream = __esm({
+ "../../node_modules/.pnpm/strtok3@10.6.2/node_modules/strtok3/lib/stream/index.js"() {
+ init_Errors();
+ init_StreamReader();
+ init_WebStreamByobReader();
+ init_WebStreamDefaultReader();
+ init_WebStreamReaderFactory();
+ }
+});
+
+// ../../node_modules/.pnpm/strtok3@10.6.2/node_modules/strtok3/lib/AbstractTokenizer.js
+var AbstractTokenizer;
+var init_AbstractTokenizer = __esm({
+ "../../node_modules/.pnpm/strtok3@10.6.2/node_modules/strtok3/lib/AbstractTokenizer.js"() {
+ init_AbortSignal();
+ init_BufferSizeError();
+ init_stream();
+ AbstractTokenizer = class {
+ static {
+ __name(this, "AbstractTokenizer");
+ }
+ /**
+ * Constructor
+ * @param options Tokenizer options
+ * @protected
+ */
+ constructor(options) {
+ this.numBuffer = new Uint8Array(8);
+ this.position = 0;
+ this.maxBufferSize = getMaxBufferSize(options);
+ throwIfAborted(options?.abortSignal);
+ this.onClose = options?.onClose;
+ if (options?.abortSignal) {
+ this.addAbortListener(options.abortSignal, () => {
+ void this.abort().catch(() => {
+ });
+ });
+ }
+ }
+ addAbortListener(signal, listener) {
+ this.abortSignal = signal;
+ this.abortListener = listener;
+ signal.addEventListener("abort", listener, { once: true });
+ }
+ removeAbortListener() {
+ if (this.abortListener) {
+ this.abortSignal?.removeEventListener("abort", this.abortListener);
+ }
+ this.abortSignal = void 0;
+ this.abortListener = void 0;
+ }
+ /**
+ * Read a token from the tokenizer-stream
+ * @param token - The token to read
+ * @param position - If provided, the desired position in the tokenizer-stream
+ * @returns Promise with token data
+ */
+ async readToken(token, position = this.position) {
+ this.validateTokenRead(token.len, position);
+ const uint8Array = new Uint8Array(token.len);
+ const len = await this.readBuffer(uint8Array, { position });
+ if (len < token.len) {
+ throw new EndOfStreamError();
+ }
+ return token.get(uint8Array, 0);
+ }
+ /**
+ * Peek a token from the tokenizer-stream.
+ * @param token - Token to peek from the tokenizer-stream.
+ * @param position - Offset where to begin reading within the file. If position is null, data will be read from the current file position.
+ * @returns Promise with token data
+ */
+ async peekToken(token, position = this.position) {
+ const peekPosition = position ?? this.position;
+ this.validateTokenRead(token.len, peekPosition, true);
+ const uint8Array = new Uint8Array(token.len);
+ const len = await this.peekBuffer(uint8Array, { position: peekPosition });
+ if (len < token.len) {
+ throw new EndOfStreamError();
+ }
+ return token.get(uint8Array, 0);
+ }
+ /**
+ * Read a numeric token from the stream
+ * @param token - Numeric token
+ * @returns Promise with number
+ */
+ async readNumber(token) {
+ const len = await this.readBuffer(this.numBuffer, { length: token.len });
+ if (len < token.len) {
+ throw new EndOfStreamError();
+ }
+ return token.get(this.numBuffer, 0);
+ }
+ /**
+ * Read a numeric token from the stream
+ * @param token - Numeric token
+ * @returns Promise with number
+ */
+ async peekNumber(token) {
+ const len = await this.peekBuffer(this.numBuffer, { length: token.len });
+ if (len < token.len) {
+ throw new EndOfStreamError();
+ }
+ return token.get(this.numBuffer, 0);
+ }
+ /**
+ * Ignore number of bytes, advances the pointer in under tokenizer-stream.
+ * @param length - Number of bytes to ignore. Must be ≥ 0.
+ * @return resolves the number of bytes ignored, equals length if this available, otherwise the number of bytes available
+ */
+ async ignore(length) {
+ if (length < 0) {
+ throw new RangeError("ignore length must be \u2265 0 bytes");
+ }
+ this.validateLength(length, "ignore length");
+ this.validateLength(this.position + length, "end position");
+ if (this.fileInfo.size !== void 0) {
+ const bytesLeft = this.fileInfo.size - this.position;
+ if (length > bytesLeft) {
+ this.position += bytesLeft;
+ return bytesLeft;
+ }
+ }
+ this.position += length;
+ return length;
+ }
+ async close() {
+ this.removeAbortListener();
+ await this.abort();
+ await this.onClose?.();
+ }
+ /**
+ * Validate a byte length or position before using it in buffer calculations.
+ * @param value - Value that must be a non-negative safe integer
+ * @param name - Label used in the validation error
+ * @throws RangeError if the value is negative or not a safe integer
+ */
+ validateLength(value, name) {
+ if (!Number.isSafeInteger(value) || value < 0) {
+ throw new RangeError(`${name} must be a non-negative safe integer`);
+ }
+ }
+ /**
+ * Validate a requested buffer size against the configured allocation limit.
+ * @param length - Requested buffer size in bytes
+ * @throws RangeError if the length is negative or not a safe integer
+ * @throws BufferSizeError if the length exceeds maxBufferSize
+ */
+ validateBufferSize(length) {
+ this.validateLength(length, "buffer length");
+ if (length > this.maxBufferSize) {
+ throw new BufferSizeError(length, this.maxBufferSize);
+ }
+ }
+ /**
+ * Validate a token request before allocating a buffer or consuming input.
+ * @param length - Token length in bytes
+ * @param position - Byte offset where the token starts
+ * @param peek - Whether to include skipped stream bytes in the lookahead limit
+ * @throws RangeError if a length or position is negative or not a safe integer
+ * @throws BufferSizeError if the token buffer or stream lookahead exceeds maxBufferSize
+ * @throws Error if a stream request starts before the current position
+ * @throws EndOfStreamError if the token extends beyond the known input size
+ */
+ validateTokenRead(length, position, peek = false) {
+ this.validateBufferSize(length);
+ this.validateLength(position, "position");
+ this.validateLength(position + length, "end position");
+ if (!this.supportsRandomAccess() && position < this.position) {
+ throw new Error("`options.position` must be equal or greater than `tokenizer.position`");
+ }
+ if (peek && !this.supportsRandomAccess()) {
+ this.validateBufferSize(length + position - this.position);
+ }
+ if (this.fileInfo.size !== void 0 && length > this.fileInfo.size - position) {
+ throw new EndOfStreamError();
+ }
+ }
+ /**
+ * Apply defaults and validate buffer read or peek options.
+ * @param uint8Array - Target buffer whose length is the default read length
+ * @param options - Requested length, position and partial-read behavior
+ * @returns Validated options with an explicit length, position and mayBeLess flag
+ * @throws RangeError if a length or position is invalid, or the length exceeds the target buffer
+ * @throws Error if a stream request starts before the current position
+ */
+ normalizeOptions(uint8Array, options) {
+ const length = options?.length ?? uint8Array.length;
+ const position = options?.position ?? this.position;
+ this.validateLength(length, "length");
+ this.validateLength(position, "position");
+ this.validateLength(position + length, "end position");
+ if (length > uint8Array.length) {
+ throw new RangeError("length must not exceed the target buffer length");
+ }
+ if (!this.supportsRandomAccess() && position < this.position) {
+ throw new Error("`options.position` must be equal or greater than `tokenizer.position`");
+ }
+ return { length, position, mayBeLess: options?.mayBeLess ?? false };
+ }
+ abort() {
+ this.removeAbortListener();
+ return Promise.resolve();
+ }
+ };
+ }
+});
+
+// ../../node_modules/.pnpm/strtok3@10.6.2/node_modules/strtok3/lib/BlobTokenizer.js
+var BlobTokenizer;
+var init_BlobTokenizer = __esm({
+ "../../node_modules/.pnpm/strtok3@10.6.2/node_modules/strtok3/lib/BlobTokenizer.js"() {
+ init_AbstractTokenizer();
+ init_stream();
+ BlobTokenizer = class extends AbstractTokenizer {
+ static {
+ __name(this, "BlobTokenizer");
+ }
+ /**
+ * Construct BufferTokenizer
+ * @param blob - Uint8Array to tokenize
+ * @param options Tokenizer options
+ */
+ constructor(blob, options) {
+ super(options);
+ this.blob = blob;
+ this.fileInfo = { ...options?.fileInfo ?? {}, ...{ size: blob.size, mimeType: blob.type } };
+ }
+ /**
+ * Read buffer from tokenizer
+ * @param uint8Array - Uint8Array to tokenize
+ * @param options - Read behaviour options
+ * @returns {Promise}
+ */
+ async readBuffer(uint8Array, options) {
+ const normOptions = this.normalizeOptions(uint8Array, options);
+ const bytesRead = await this.peekBuffer(uint8Array, normOptions);
+ this.position = normOptions.position + bytesRead;
+ return bytesRead;
+ }
+ /**
+ * Peek (read ahead) buffer from tokenizer
+ * @param buffer
+ * @param options - Read behaviour options
+ * @returns {Promise}
+ */
+ async peekBuffer(buffer, options) {
+ const normOptions = this.normalizeOptions(buffer, options);
+ const bytes2read = Math.max(0, Math.min(this.blob.size - normOptions.position, normOptions.length));
+ if (!normOptions.mayBeLess && bytes2read < normOptions.length) {
+ throw new EndOfStreamError();
+ }
+ for (let offset = 0; offset < bytes2read; ) {
+ const chunkLength = Math.min(this.maxBufferSize, bytes2read - offset);
+ const position = normOptions.position + offset;
+ const arrayBuffer = await this.blob.slice(position, position + chunkLength).arrayBuffer();
+ buffer.set(new Uint8Array(arrayBuffer), offset);
+ offset += chunkLength;
+ }
+ return bytes2read;
+ }
+ close() {
+ return super.close();
+ }
+ supportsRandomAccess() {
+ return true;
+ }
+ setPosition(position) {
+ this.position = position;
+ }
+ };
+ }
+});
+
+// ../../node_modules/.pnpm/strtok3@10.6.2/node_modules/strtok3/lib/BufferTokenizer.js
+var BufferTokenizer;
+var init_BufferTokenizer = __esm({
+ "../../node_modules/.pnpm/strtok3@10.6.2/node_modules/strtok3/lib/BufferTokenizer.js"() {
+ init_AbstractTokenizer();
+ init_stream();
+ BufferTokenizer = class extends AbstractTokenizer {
+ static {
+ __name(this, "BufferTokenizer");
+ }
+ /**
+ * Construct BufferTokenizer
+ * @param uint8Array - Uint8Array to tokenize
+ * @param options Tokenizer options
+ */
+ constructor(uint8Array, options) {
+ super(options);
+ this.uint8Array = uint8Array;
+ this.fileInfo = { ...options?.fileInfo ?? {}, ...{ size: uint8Array.length } };
+ }
+ /**
+ * Read buffer from tokenizer
+ * @param uint8Array - Uint8Array to tokenize
+ * @param options - Read behaviour options
+ * @returns {Promise}
+ */
+ async readBuffer(uint8Array, options) {
+ const normOptions = this.normalizeOptions(uint8Array, options);
+ const bytesRead = await this.peekBuffer(uint8Array, normOptions);
+ this.position = normOptions.position + bytesRead;
+ return bytesRead;
+ }
+ /**
+ * Peek (read ahead) buffer from tokenizer
+ * @param uint8Array
+ * @param options - Read behaviour options
+ * @returns {Promise}
+ */
+ async peekBuffer(uint8Array, options) {
+ const normOptions = this.normalizeOptions(uint8Array, options);
+ const bytes2read = Math.max(0, Math.min(this.uint8Array.length - normOptions.position, normOptions.length));
+ if (!normOptions.mayBeLess && bytes2read < normOptions.length) {
+ throw new EndOfStreamError();
+ }
+ uint8Array.set(this.uint8Array.subarray(normOptions.position, normOptions.position + bytes2read));
+ return bytes2read;
+ }
+ close() {
+ return super.close();
+ }
+ supportsRandomAccess() {
+ return true;
+ }
+ setPosition(position) {
+ this.position = position;
+ }
+ };
+ }
+});
+
+// ../../node_modules/.pnpm/strtok3@10.6.2/node_modules/strtok3/lib/ReadStreamTokenizer.js
+var ignoreChunkSize, ReadStreamTokenizer;
+var init_ReadStreamTokenizer = __esm({
+ "../../node_modules/.pnpm/strtok3@10.6.2/node_modules/strtok3/lib/ReadStreamTokenizer.js"() {
+ init_AbstractTokenizer();
+ init_stream();
+ ignoreChunkSize = 256e3;
+ ReadStreamTokenizer = class extends AbstractTokenizer {
+ static {
+ __name(this, "ReadStreamTokenizer");
+ }
+ /**
+ * Constructor
+ * @param streamReader stream-reader to read from
+ * @param options Tokenizer options
+ */
+ constructor(streamReader, options) {
+ super(options);
+ this.streamReader = streamReader;
+ this.fileInfo = options?.fileInfo ?? {};
+ }
+ /**
+ * Read buffer from tokenizer
+ * @param uint8Array - Target Uint8Array to fill with data read from the tokenizer-stream
+ * @param options - Read behaviour options
+ * @returns Promise with number of bytes read
+ */
+ async readBuffer(uint8Array, options) {
+ const normOptions = this.normalizeOptions(uint8Array, options);
+ const skipBytes = normOptions.position - this.position;
+ if (skipBytes > 0) {
+ await this.ignore(skipBytes);
+ return this.readBuffer(uint8Array, options);
+ }
+ if (skipBytes < 0) {
+ throw new Error("`options.position` must be equal or greater than `tokenizer.position`");
+ }
+ if (normOptions.length === 0) {
+ return 0;
+ }
+ let bytesRead = 0;
+ while (bytesRead < normOptions.length) {
+ const chunkLength = Math.min(this.maxBufferSize, normOptions.length - bytesRead);
+ const count = await this.streamReader.read(uint8Array.subarray(bytesRead, bytesRead + chunkLength), true);
+ bytesRead += count;
+ this.position += count;
+ if (count < chunkLength) {
+ break;
+ }
+ }
+ if (!normOptions.mayBeLess && bytesRead < normOptions.length) {
+ throw new EndOfStreamError();
+ }
+ return bytesRead;
+ }
+ /**
+ * Peek (read ahead) buffer from tokenizer
+ * @param uint8Array - Uint8Array (or Buffer) to write data to
+ * @param options - Read behaviour options
+ * @returns Promise with number of bytes peeked
+ */
+ async peekBuffer(uint8Array, options) {
+ const normOptions = this.normalizeOptions(uint8Array, options);
+ if (normOptions.length === 0) {
+ return 0;
+ }
+ const lookaheadSize = normOptions.length + normOptions.position - this.position;
+ this.validateBufferSize(lookaheadSize);
+ let bytesRead = 0;
+ if (normOptions.position) {
+ const skipBytes = normOptions.position - this.position;
+ if (skipBytes > 0) {
+ const skipBuffer = new Uint8Array(normOptions.length + skipBytes);
+ bytesRead = await this.peekBuffer(skipBuffer, { mayBeLess: normOptions.mayBeLess });
+ const bytesPeeked = Math.max(0, bytesRead - skipBytes);
+ uint8Array.set(skipBuffer.subarray(skipBytes, skipBytes + bytesPeeked));
+ return bytesPeeked;
+ }
+ if (skipBytes < 0) {
+ throw new Error("Cannot peek from a negative offset in a stream");
+ }
+ }
+ if (normOptions.length > 0) {
+ try {
+ const peekBuffer = new Uint8Array(normOptions.length);
+ bytesRead = await this.streamReader.peek(peekBuffer, true);
+ uint8Array.set(peekBuffer.subarray(0, bytesRead));
+ } catch (err) {
+ if (options?.mayBeLess && err instanceof EndOfStreamError) {
+ return 0;
+ }
+ throw err;
+ }
+ if (!normOptions.mayBeLess && bytesRead < normOptions.length) {
+ throw new EndOfStreamError();
+ }
+ }
+ return bytesRead;
+ }
+ /**
+ * @param length Number of bytes to ignore. Must be ≥ 0.
+ */
+ async ignore(length) {
+ if (length < 0) {
+ throw new RangeError("ignore length must be \u2265 0 bytes");
+ }
+ this.validateLength(length, "ignore length");
+ this.validateLength(this.position + length, "end position");
+ const bufSize = Math.min(ignoreChunkSize, this.maxBufferSize, length);
+ const buf = new Uint8Array(bufSize);
+ let totBytesRead = 0;
+ while (totBytesRead < length) {
+ const remaining = length - totBytesRead;
+ const bytesRead = await this.readBuffer(buf, { length: Math.min(bufSize, remaining) });
+ if (bytesRead < 0) {
+ return bytesRead;
+ }
+ totBytesRead += bytesRead;
+ }
+ return totBytesRead;
+ }
+ abort() {
+ this.removeAbortListener();
+ return this.streamReader.abort();
+ }
+ async close() {
+ this.removeAbortListener();
+ return this.streamReader.close();
+ }
+ supportsRandomAccess() {
+ return false;
+ }
+ };
+ }
+});
+
+// ../../node_modules/.pnpm/strtok3@10.6.2/node_modules/strtok3/lib/isRandomAccessTokenizer.js
+var init_isRandomAccessTokenizer = __esm({
+ "../../node_modules/.pnpm/strtok3@10.6.2/node_modules/strtok3/lib/isRandomAccessTokenizer.js"() {
+ }
+});
+
+// ../../node_modules/.pnpm/strtok3@10.6.2/node_modules/strtok3/lib/TokenizerBoundaryError.js
+var init_TokenizerBoundaryError = __esm({
+ "../../node_modules/.pnpm/strtok3@10.6.2/node_modules/strtok3/lib/TokenizerBoundaryError.js"() {
+ }
+});
+
+// ../../node_modules/.pnpm/strtok3@10.6.2/node_modules/strtok3/lib/TokenizerView.js
+var init_TokenizerView = __esm({
+ "../../node_modules/.pnpm/strtok3@10.6.2/node_modules/strtok3/lib/TokenizerView.js"() {
+ init_isRandomAccessTokenizer();
+ init_stream();
+ init_TokenizerBoundaryError();
+ }
+});
+
+// ../../node_modules/.pnpm/strtok3@10.6.2/node_modules/strtok3/lib/core.js
+function fromWebStream(webStream, options) {
+ getMaxBufferSize(options);
+ throwIfAborted(options?.abortSignal);
+ const webStreamReader = makeWebStreamReader(webStream);
+ return new ReadStreamTokenizer(webStreamReader, options);
+}
+function fromBuffer(uint8Array, options) {
+ return new BufferTokenizer(uint8Array, options);
+}
+function fromBlob(blob, options) {
+ return new BlobTokenizer(blob, options);
+}
+var init_core = __esm({
+ "../../node_modules/.pnpm/strtok3@10.6.2/node_modules/strtok3/lib/core.js"() {
+ init_AbortSignal();
+ init_BlobTokenizer();
+ init_BufferSizeError();
+ init_BufferTokenizer();
+ init_ReadStreamTokenizer();
+ init_stream();
+ init_AbstractTokenizer();
+ init_BufferSizeError();
+ init_isRandomAccessTokenizer();
+ init_stream();
+ init_TokenizerBoundaryError();
+ init_TokenizerView();
+ __name(fromWebStream, "fromWebStream");
+ __name(fromBuffer, "fromBuffer");
+ __name(fromBlob, "fromBlob");
+ }
+});
+
+// ../../node_modules/.pnpm/@tokenizer+inflate@0.4.1/node_modules/@tokenizer/inflate/lib/ZipToken.js
+var Signature, DataDescriptor, LocalFileHeaderToken, EndOfCentralDirectoryRecordToken, FileHeader;
+var init_ZipToken = __esm({
+ "../../node_modules/.pnpm/@tokenizer+inflate@0.4.1/node_modules/@tokenizer/inflate/lib/ZipToken.js"() {
+ init_lib2();
+ Signature = {
+ LocalFileHeader: 67324752,
+ DataDescriptor: 134695760,
+ CentralFileHeader: 33639248,
+ EndOfCentralDirectory: 101010256
+ };
+ DataDescriptor = {
+ get(array) {
+ return {
+ signature: UINT32_LE.get(array, 0),
+ compressedSize: UINT32_LE.get(array, 8),
+ uncompressedSize: UINT32_LE.get(array, 12)
+ };
+ },
+ len: 16
+ };
+ LocalFileHeaderToken = {
+ get(array) {
+ const flags = UINT16_LE.get(array, 6);
+ return {
+ signature: UINT32_LE.get(array, 0),
+ minVersion: UINT16_LE.get(array, 4),
+ dataDescriptor: !!(flags & 8),
+ compressedMethod: UINT16_LE.get(array, 8),
+ compressedSize: UINT32_LE.get(array, 18),
+ uncompressedSize: UINT32_LE.get(array, 22),
+ filenameLength: UINT16_LE.get(array, 26),
+ extraFieldLength: UINT16_LE.get(array, 28),
+ filename: null
+ };
+ },
+ len: 30
+ };
+ EndOfCentralDirectoryRecordToken = {
+ get(array) {
+ return {
+ signature: UINT32_LE.get(array, 0),
+ nrOfThisDisk: UINT16_LE.get(array, 4),
+ nrOfThisDiskWithTheStart: UINT16_LE.get(array, 6),
+ nrOfEntriesOnThisDisk: UINT16_LE.get(array, 8),
+ nrOfEntriesOfSize: UINT16_LE.get(array, 10),
+ sizeOfCd: UINT32_LE.get(array, 12),
+ offsetOfStartOfCd: UINT32_LE.get(array, 16),
+ zipFileCommentLength: UINT16_LE.get(array, 20)
+ };
+ },
+ len: 22
+ };
+ FileHeader = {
+ get(array) {
+ const flags = UINT16_LE.get(array, 8);
+ return {
+ signature: UINT32_LE.get(array, 0),
+ minVersion: UINT16_LE.get(array, 6),
+ dataDescriptor: !!(flags & 8),
+ compressedMethod: UINT16_LE.get(array, 10),
+ compressedSize: UINT32_LE.get(array, 20),
+ uncompressedSize: UINT32_LE.get(array, 24),
+ filenameLength: UINT16_LE.get(array, 28),
+ extraFieldLength: UINT16_LE.get(array, 30),
+ fileCommentLength: UINT16_LE.get(array, 32),
+ relativeOffsetOfLocalHeader: UINT32_LE.get(array, 42),
+ filename: null
+ };
+ },
+ len: 46
+ };
+ }
+});
+
+// ../../node_modules/.pnpm/@tokenizer+inflate@0.4.1/node_modules/@tokenizer/inflate/lib/ZipHandler.js
+function signatureToArray(signature) {
+ const signatureBytes = new Uint8Array(UINT32_LE.len);
+ UINT32_LE.put(signatureBytes, 0, signature);
+ return signatureBytes;
+}
+function indexOf(buffer, portion) {
+ const bufferLength = buffer.length;
+ const portionLength = portion.length;
+ if (portionLength > bufferLength)
+ return -1;
+ for (let i = 0; i <= bufferLength - portionLength; i++) {
+ let found = true;
+ for (let j = 0; j < portionLength; j++) {
+ if (buffer[i + j] !== portion[j]) {
+ found = false;
+ break;
+ }
+ }
+ if (found) {
+ return i;
+ }
+ }
+ return -1;
+}
+function mergeArrays(chunks) {
+ const totalLength = chunks.reduce((acc, curr) => acc + curr.length, 0);
+ const mergedArray = new Uint8Array(totalLength);
+ let offset = 0;
+ for (const chunk of chunks) {
+ mergedArray.set(chunk, offset);
+ offset += chunk.length;
+ }
+ return mergedArray;
+}
+var import_debug, debug, syncBufferSize, ddSignatureArray, eocdSignatureBytes, ZipHandler;
+var init_ZipHandler = __esm({
+ "../../node_modules/.pnpm/@tokenizer+inflate@0.4.1/node_modules/@tokenizer/inflate/lib/ZipHandler.js"() {
+ init_lib2();
+ import_debug = __toESM(require_src(), 1);
+ init_ZipToken();
+ __name(signatureToArray, "signatureToArray");
+ debug = (0, import_debug.default)("tokenizer:inflate");
+ syncBufferSize = 256 * 1024;
+ ddSignatureArray = signatureToArray(Signature.DataDescriptor);
+ eocdSignatureBytes = signatureToArray(Signature.EndOfCentralDirectory);
+ ZipHandler = class _ZipHandler {
+ static {
+ __name(this, "ZipHandler");
+ }
+ constructor(tokenizer) {
+ this.tokenizer = tokenizer;
+ this.syncBuffer = new Uint8Array(syncBufferSize);
+ }
+ async isZip() {
+ return await this.peekSignature() === Signature.LocalFileHeader;
+ }
+ peekSignature() {
+ return this.tokenizer.peekToken(UINT32_LE);
+ }
+ async findEndOfCentralDirectoryLocator() {
+ const randomReadTokenizer = this.tokenizer;
+ const chunkLength = Math.min(16 * 1024, randomReadTokenizer.fileInfo.size);
+ const buffer = this.syncBuffer.subarray(0, chunkLength);
+ await this.tokenizer.readBuffer(buffer, { position: randomReadTokenizer.fileInfo.size - chunkLength });
+ for (let i = buffer.length - 4; i >= 0; i--) {
+ if (buffer[i] === eocdSignatureBytes[0] && buffer[i + 1] === eocdSignatureBytes[1] && buffer[i + 2] === eocdSignatureBytes[2] && buffer[i + 3] === eocdSignatureBytes[3]) {
+ return randomReadTokenizer.fileInfo.size - chunkLength + i;
+ }
+ }
+ return -1;
+ }
+ async readCentralDirectory() {
+ if (!this.tokenizer.supportsRandomAccess()) {
+ debug("Cannot reading central-directory without random-read support");
+ return;
+ }
+ debug("Reading central-directory...");
+ const pos = this.tokenizer.position;
+ const offset = await this.findEndOfCentralDirectoryLocator();
+ if (offset > 0) {
+ debug("Central-directory 32-bit signature found");
+ const eocdHeader = await this.tokenizer.readToken(EndOfCentralDirectoryRecordToken, offset);
+ const files = [];
+ this.tokenizer.setPosition(eocdHeader.offsetOfStartOfCd);
+ for (let n = 0; n < eocdHeader.nrOfEntriesOfSize; ++n) {
+ const entry = await this.tokenizer.readToken(FileHeader);
+ if (entry.signature !== Signature.CentralFileHeader) {
+ throw new Error("Expected Central-File-Header signature");
+ }
+ entry.filename = await this.tokenizer.readToken(new StringType(entry.filenameLength, "utf-8"));
+ await this.tokenizer.ignore(entry.extraFieldLength);
+ await this.tokenizer.ignore(entry.fileCommentLength);
+ files.push(entry);
+ debug(`Add central-directory file-entry: n=${n + 1}/${files.length}: filename=${files[n].filename}`);
+ }
+ this.tokenizer.setPosition(pos);
+ return files;
+ }
+ this.tokenizer.setPosition(pos);
+ }
+ async unzip(fileCb) {
+ const entries = await this.readCentralDirectory();
+ if (entries) {
+ return this.iterateOverCentralDirectory(entries, fileCb);
+ }
+ let stop = false;
+ do {
+ const zipHeader = await this.readLocalFileHeader();
+ if (!zipHeader)
+ break;
+ const next = fileCb(zipHeader);
+ stop = !!next.stop;
+ let fileData;
+ await this.tokenizer.ignore(zipHeader.extraFieldLength);
+ if (zipHeader.dataDescriptor && zipHeader.compressedSize === 0) {
+ const chunks = [];
+ let len = syncBufferSize;
+ debug("Compressed-file-size unknown, scanning for next data-descriptor-signature....");
+ let nextHeaderIndex = -1;
+ while (nextHeaderIndex < 0 && len === syncBufferSize) {
+ len = await this.tokenizer.peekBuffer(this.syncBuffer, { mayBeLess: true });
+ nextHeaderIndex = indexOf(this.syncBuffer.subarray(0, len), ddSignatureArray);
+ const size = nextHeaderIndex >= 0 ? nextHeaderIndex : len;
+ if (next.handler) {
+ const data = new Uint8Array(size);
+ await this.tokenizer.readBuffer(data);
+ chunks.push(data);
+ } else {
+ await this.tokenizer.ignore(size);
+ }
+ }
+ debug(`Found data-descriptor-signature at pos=${this.tokenizer.position}`);
+ if (next.handler) {
+ await this.inflate(zipHeader, mergeArrays(chunks), next.handler);
+ }
+ } else {
+ if (next.handler) {
+ debug(`Reading compressed-file-data: ${zipHeader.compressedSize} bytes`);
+ fileData = new Uint8Array(zipHeader.compressedSize);
+ await this.tokenizer.readBuffer(fileData);
+ await this.inflate(zipHeader, fileData, next.handler);
+ } else {
+ debug(`Ignoring compressed-file-data: ${zipHeader.compressedSize} bytes`);
+ await this.tokenizer.ignore(zipHeader.compressedSize);
+ }
+ }
+ debug(`Reading data-descriptor at pos=${this.tokenizer.position}`);
+ if (zipHeader.dataDescriptor) {
+ const dataDescriptor = await this.tokenizer.readToken(DataDescriptor);
+ if (dataDescriptor.signature !== 134695760) {
+ throw new Error(`Expected data-descriptor-signature at position ${this.tokenizer.position - DataDescriptor.len}`);
+ }
+ }
+ } while (!stop);
+ }
+ async iterateOverCentralDirectory(entries, fileCb) {
+ for (const fileHeader of entries) {
+ const next = fileCb(fileHeader);
+ if (next.handler) {
+ this.tokenizer.setPosition(fileHeader.relativeOffsetOfLocalHeader);
+ const zipHeader = await this.readLocalFileHeader();
+ if (zipHeader) {
+ await this.tokenizer.ignore(zipHeader.extraFieldLength);
+ const fileData = new Uint8Array(fileHeader.compressedSize);
+ await this.tokenizer.readBuffer(fileData);
+ await this.inflate(zipHeader, fileData, next.handler);
+ }
+ }
+ if (next.stop)
+ break;
+ }
+ }
+ async inflate(zipHeader, fileData, cb) {
+ if (zipHeader.compressedMethod === 0) {
+ return cb(fileData);
+ }
+ if (zipHeader.compressedMethod !== 8) {
+ throw new Error(`Unsupported ZIP compression method: ${zipHeader.compressedMethod}`);
+ }
+ debug(`Decompress filename=${zipHeader.filename}, compressed-size=${fileData.length}`);
+ const uncompressedData = await _ZipHandler.decompressDeflateRaw(fileData);
+ return cb(uncompressedData);
+ }
+ static async decompressDeflateRaw(data) {
+ const input = new ReadableStream({
+ start(controller) {
+ controller.enqueue(data);
+ controller.close();
+ }
+ });
+ const ds = new DecompressionStream("deflate-raw");
+ const output = input.pipeThrough(ds);
+ try {
+ const response = new Response(output);
+ const buffer = await response.arrayBuffer();
+ return new Uint8Array(buffer);
+ } catch (err) {
+ const message = err instanceof Error ? `Failed to deflate ZIP entry: ${err.message}` : "Unknown decompression error in ZIP entry";
+ throw new TypeError(message);
+ }
+ }
+ async readLocalFileHeader() {
+ const signature = await this.tokenizer.peekToken(UINT32_LE);
+ if (signature === Signature.LocalFileHeader) {
+ const header = await this.tokenizer.readToken(LocalFileHeaderToken);
+ header.filename = await this.tokenizer.readToken(new StringType(header.filenameLength, "utf-8"));
+ return header;
+ }
+ if (signature === Signature.CentralFileHeader) {
+ return false;
+ }
+ if (signature === 3759263696) {
+ throw new Error("Encrypted ZIP");
+ }
+ throw new Error("Unexpected signature");
+ }
+ };
+ __name(indexOf, "indexOf");
+ __name(mergeArrays, "mergeArrays");
+ }
+});
+
+// ../../node_modules/.pnpm/@tokenizer+inflate@0.4.1/node_modules/@tokenizer/inflate/lib/GzipHandler.js
+var GzipHandler;
+var init_GzipHandler = __esm({
+ "../../node_modules/.pnpm/@tokenizer+inflate@0.4.1/node_modules/@tokenizer/inflate/lib/GzipHandler.js"() {
+ GzipHandler = class {
+ static {
+ __name(this, "GzipHandler");
+ }
+ constructor(tokenizer) {
+ this.tokenizer = tokenizer;
+ }
+ inflate() {
+ const tokenizer = this.tokenizer;
+ return new ReadableStream({
+ async pull(controller) {
+ const buffer = new Uint8Array(1024);
+ const size = await tokenizer.readBuffer(buffer, { mayBeLess: true });
+ if (size === 0) {
+ controller.close();
+ return;
+ }
+ controller.enqueue(buffer.subarray(0, size));
+ }
+ }).pipeThrough(new DecompressionStream("gzip"));
+ }
+ };
+ }
+});
+
+// ../../node_modules/.pnpm/@tokenizer+inflate@0.4.1/node_modules/@tokenizer/inflate/lib/index.js
+var init_lib3 = __esm({
+ "../../node_modules/.pnpm/@tokenizer+inflate@0.4.1/node_modules/@tokenizer/inflate/lib/index.js"() {
+ init_ZipHandler();
+ init_GzipHandler();
+ }
+});
+
+// ../../node_modules/.pnpm/uint8array-extras@1.6.0/node_modules/uint8array-extras/index.js
+function isType(value, typeConstructor, typeStringified) {
+ if (!value) {
+ return false;
+ }
+ if (value.constructor === typeConstructor) {
+ return true;
+ }
+ return objectToString.call(value) === typeStringified;
+}
+function isUint8Array(value) {
+ return isType(value, Uint8Array, uint8ArrayStringified);
+}
+function isArrayBuffer(value) {
+ return isType(value, ArrayBuffer, arrayBufferStringified);
+}
+function isUint8ArrayOrArrayBuffer(value) {
+ return isUint8Array(value) || isArrayBuffer(value);
+}
+function toUint8ArrayIfArrayBuffer(value) {
+ return isArrayBuffer(value) ? new Uint8Array(value) : value;
+}
+function assertUint8ArrayOrArrayBuffer(value) {
+ if (!isUint8ArrayOrArrayBuffer(value)) {
+ throw new TypeError(`Expected \`Uint8Array\` or \`ArrayBuffer\`, got \`${typeof value}\``);
+ }
+}
+function concatUint8Arrays(arrays, totalLength) {
+ if (arrays.length === 0) {
+ return new Uint8Array(0);
+ }
+ totalLength ??= arrays.reduce((accumulator, currentValue) => accumulator + currentValue.byteLength, 0);
+ const returnValue = new Uint8Array(totalLength);
+ let offset = 0;
+ for (let array of arrays) {
+ assertUint8ArrayOrArrayBuffer(array);
+ array = toUint8ArrayIfArrayBuffer(array);
+ returnValue.set(array, offset);
+ offset += array.length;
+ }
+ return returnValue;
+}
+function getUintBE(view) {
+ const { byteLength } = view;
+ if (byteLength === 6) {
+ return view.getUint16(0) * 2 ** 32 + view.getUint32(2);
+ }
+ if (byteLength === 5) {
+ return view.getUint8(0) * 2 ** 32 + view.getUint32(1);
+ }
+ if (byteLength === 4) {
+ return view.getUint32(0);
+ }
+ if (byteLength === 3) {
+ return view.getUint8(0) * 2 ** 16 + view.getUint16(1);
+ }
+ if (byteLength === 2) {
+ return view.getUint16(0);
+ }
+ if (byteLength === 1) {
+ return view.getUint8(0);
+ }
+}
+var objectToString, uint8ArrayStringified, arrayBufferStringified, cachedDecoders, cachedEncoder, byteToHexLookupTable;
+var init_uint8array_extras = __esm({
+ "../../node_modules/.pnpm/uint8array-extras@1.6.0/node_modules/uint8array-extras/index.js"() {
+ objectToString = Object.prototype.toString;
+ uint8ArrayStringified = "[object Uint8Array]";
+ arrayBufferStringified = "[object ArrayBuffer]";
+ __name(isType, "isType");
+ __name(isUint8Array, "isUint8Array");
+ __name(isArrayBuffer, "isArrayBuffer");
+ __name(isUint8ArrayOrArrayBuffer, "isUint8ArrayOrArrayBuffer");
+ __name(toUint8ArrayIfArrayBuffer, "toUint8ArrayIfArrayBuffer");
+ __name(assertUint8ArrayOrArrayBuffer, "assertUint8ArrayOrArrayBuffer");
+ __name(concatUint8Arrays, "concatUint8Arrays");
+ cachedDecoders = {
+ utf8: new globalThis.TextDecoder("utf8")
+ };
+ cachedEncoder = new globalThis.TextEncoder();
+ byteToHexLookupTable = Array.from({ length: 256 }, (_, index) => index.toString(16).padStart(2, "0"));
+ __name(getUintBE, "getUintBE");
+ }
+});
+
+// ../../node_modules/.pnpm/file-type@22.1.1/node_modules/file-type/source/tokens.js
+function stringToBytes(string, encoding) {
+ if (encoding === "utf-16le") {
+ const bytes = [];
+ for (let index = 0; index < string.length; index++) {
+ const code = string.charCodeAt(index);
+ bytes.push(code & 255, code >> 8 & 255);
+ }
+ return bytes;
+ }
+ if (encoding === "utf-16be") {
+ const bytes = [];
+ for (let index = 0; index < string.length; index++) {
+ const code = string.charCodeAt(index);
+ bytes.push(code >> 8 & 255, code & 255);
+ }
+ return bytes;
+ }
+ return [...string].map((character) => character.charCodeAt(0));
+}
+function tarHeaderChecksumMatches(arrayBuffer, offset = 0) {
+ const readSum = Number.parseInt(new StringType(6).get(arrayBuffer, 148).replace(new RegExp("\\0.*$", "v"), "").trim(), 8);
+ if (Number.isNaN(readSum)) {
+ return false;
+ }
+ let sum = 8 * 32;
+ for (let index = offset; index < offset + 148; index++) {
+ sum += arrayBuffer[index];
+ }
+ for (let index = offset + 156; index < offset + 512; index++) {
+ sum += arrayBuffer[index];
+ }
+ return readSum === sum;
+}
+var uint32SyncSafeToken;
+var init_tokens = __esm({
+ "../../node_modules/.pnpm/file-type@22.1.1/node_modules/file-type/source/tokens.js"() {
+ init_lib2();
+ __name(stringToBytes, "stringToBytes");
+ __name(tarHeaderChecksumMatches, "tarHeaderChecksumMatches");
+ uint32SyncSafeToken = {
+ get: /* @__PURE__ */ __name((buffer, offset) => buffer[offset + 3] & 127 | (buffer[offset + 2] & 127) << 7 | (buffer[offset + 1] & 127) << 14 | (buffer[offset] & 127) << 21, "get"),
+ len: 4
+ };
+ }
+});
+
+// ../../node_modules/.pnpm/file-type@22.1.1/node_modules/file-type/source/supported.js
+var extensions, mimeTypes;
+var init_supported = __esm({
+ "../../node_modules/.pnpm/file-type@22.1.1/node_modules/file-type/source/supported.js"() {
+ extensions = [
+ "jpg",
+ "png",
+ "apng",
+ "gif",
+ "webp",
+ "flif",
+ "xcf",
+ "cr2",
+ "cr3",
+ "orf",
+ "arw",
+ "dng",
+ "nef",
+ "rw2",
+ "raf",
+ "tif",
+ "bmp",
+ "icns",
+ "jxr",
+ "psd",
+ "indd",
+ "zip",
+ "tar",
+ "rar",
+ "gz",
+ "bz2",
+ "7z",
+ "dmg",
+ "mp4",
+ "mid",
+ "mkv",
+ "webm",
+ "mov",
+ "avi",
+ "mpg",
+ "mp2",
+ "mp3",
+ "m4a",
+ "oga",
+ "ogg",
+ "ogv",
+ "opus",
+ "flac",
+ "wav",
+ "spx",
+ "amr",
+ "pdf",
+ "epub",
+ "elf",
+ "macho",
+ "exe",
+ "swf",
+ "rtf",
+ "wasm",
+ "woff",
+ "woff2",
+ "eot",
+ "ttf",
+ "otf",
+ "ttc",
+ "ico",
+ "flv",
+ "ps",
+ "xz",
+ "sqlite",
+ "nes",
+ "crx",
+ "xpi",
+ "cab",
+ "deb",
+ "ar",
+ "rpm",
+ "Z",
+ "lz",
+ "cfb",
+ "mxf",
+ "mts",
+ "blend",
+ "bpg",
+ "docx",
+ "pptx",
+ "xlsx",
+ "3gp",
+ "3g2",
+ "j2c",
+ "jp2",
+ "jpm",
+ "jpx",
+ "mj2",
+ "aif",
+ "qcp",
+ "odt",
+ "ods",
+ "odp",
+ "xml",
+ "mobi",
+ "heic",
+ "cur",
+ "ktx",
+ "ape",
+ "wv",
+ "dcm",
+ "ics",
+ "glb",
+ "pcap",
+ "dsf",
+ "lnk",
+ "alias",
+ "voc",
+ "ac3",
+ "m4v",
+ "m4p",
+ "m4b",
+ "f4v",
+ "f4p",
+ "f4b",
+ "f4a",
+ "mie",
+ "asf",
+ "ogm",
+ "ogx",
+ "mpc",
+ "arrow",
+ "shp",
+ "aac",
+ "mp1",
+ "it",
+ "s3m",
+ "xm",
+ "skp",
+ "avif",
+ "eps",
+ "lzh",
+ "pgp",
+ "asar",
+ "stl",
+ "chm",
+ "3mf",
+ "zst",
+ "jxl",
+ "vcf",
+ "jls",
+ "pst",
+ "dwg",
+ "parquet",
+ "class",
+ "arj",
+ "cpio",
+ "ace",
+ "avro",
+ "icc",
+ "fbx",
+ "vsdx",
+ "vtt",
+ "apk",
+ "drc",
+ "lz4",
+ "potx",
+ "xltx",
+ "dotx",
+ "xltm",
+ "ott",
+ "ots",
+ "otp",
+ "odg",
+ "otg",
+ "xlsm",
+ "docm",
+ "dotm",
+ "potm",
+ "pptm",
+ "jar",
+ "jmp",
+ "rm",
+ "sav",
+ "ppsm",
+ "ppsx",
+ "tar.gz",
+ "reg",
+ "dat",
+ "key",
+ "numbers",
+ "pages",
+ "iso"
+ ];
+ mimeTypes = [
+ "image/jpeg",
+ "image/png",
+ "image/gif",
+ "image/webp",
+ "image/flif",
+ "image/x-xcf",
+ "image/x-canon-cr2",
+ "image/x-canon-cr3",
+ "image/tiff",
+ "image/bmp",
+ "image/vnd.ms-photo",
+ "image/vnd.adobe.photoshop",
+ "application/x-indesign",
+ "application/epub+zip",
+ "application/x-xpinstall",
+ "application/vnd.ms-powerpoint.slideshow.macroenabled.12",
+ "application/vnd.oasis.opendocument.text",
+ "application/vnd.oasis.opendocument.spreadsheet",
+ "application/vnd.oasis.opendocument.presentation",
+ "application/vnd.openxmlformats-officedocument.wordprocessingml.document",
+ "application/vnd.openxmlformats-officedocument.presentationml.presentation",
+ "application/vnd.openxmlformats-officedocument.spreadsheetml.sheet",
+ "application/vnd.openxmlformats-officedocument.presentationml.slideshow",
+ "application/zip",
+ "application/x-tar",
+ "application/x-rar-compressed",
+ "application/gzip",
+ "application/x-bzip2",
+ "application/x-7z-compressed",
+ "application/x-apple-diskimage",
+ "application/vnd.apache.arrow.file",
+ "video/mp4",
+ "audio/midi",
+ "video/matroska",
+ "video/webm",
+ "video/quicktime",
+ "video/vnd.avi",
+ "audio/wav",
+ "audio/qcelp",
+ "audio/x-ms-asf",
+ "video/x-ms-asf",
+ "application/vnd.ms-asf",
+ "video/mpeg",
+ "video/3gpp",
+ "audio/mpeg",
+ "audio/mp4",
+ // RFC 4337
+ "video/ogg",
+ "audio/ogg",
+ "audio/ogg; codecs=opus",
+ "application/ogg",
+ "audio/flac",
+ "audio/ape",
+ "audio/wavpack",
+ "audio/amr",
+ "application/pdf",
+ "application/x-elf",
+ "application/x-mach-binary",
+ "application/x-msdownload",
+ "application/x-shockwave-flash",
+ "application/rtf",
+ "application/wasm",
+ "font/woff",
+ "font/woff2",
+ "application/vnd.ms-fontobject",
+ "font/ttf",
+ "font/otf",
+ "font/collection",
+ "image/x-icon",
+ "video/x-flv",
+ "application/postscript",
+ "application/eps",
+ "application/x-xz",
+ "application/x-sqlite3",
+ "application/x-nintendo-nes-rom",
+ "application/x-google-chrome-extension",
+ "application/vnd.ms-cab-compressed",
+ "application/x-deb",
+ "application/x-unix-archive",
+ "application/x-rpm",
+ "application/x-compress",
+ "application/lzip",
+ "application/x-cfb",
+ "application/x-mie",
+ "application/mxf",
+ "video/mp2t",
+ "application/x-blender",
+ "image/bpg",
+ "image/j2c",
+ "image/jp2",
+ "image/jpx",
+ "image/jpm",
+ "image/mj2",
+ "audio/aiff",
+ "application/xml",
+ "application/x-mobipocket-ebook",
+ "image/heif",
+ "image/heif-sequence",
+ "image/heic",
+ "image/heic-sequence",
+ "image/icns",
+ "image/ktx",
+ "application/dicom",
+ "audio/x-musepack",
+ "text/calendar",
+ "text/vcard",
+ "text/vtt",
+ "model/gltf-binary",
+ "application/vnd.tcpdump.pcap",
+ "audio/x-dsf",
+ // Non-standard
+ "application/x-ms-shortcut",
+ // Informal, used by freedesktop.org shared-mime-info
+ "application/x-ft-apple.alias",
+ "audio/x-voc",
+ "audio/vnd.dolby.dd-raw",
+ "audio/x-m4a",
+ "image/apng",
+ "image/x-olympus-orf",
+ "image/x-sony-arw",
+ "image/x-adobe-dng",
+ "image/x-nikon-nef",
+ "image/x-panasonic-rw2",
+ "image/x-fujifilm-raf",
+ "video/x-m4v",
+ "video/3gpp2",
+ "application/x-esri-shape",
+ "audio/aac",
+ "audio/x-it",
+ "audio/x-s3m",
+ "audio/x-xm",
+ "video/MP1S",
+ "video/MP2P",
+ "application/vnd.sketchup.skp",
+ "image/avif",
+ "application/x-lzh-compressed",
+ "application/pgp-encrypted",
+ "application/x-asar",
+ "model/stl",
+ "application/vnd.ms-htmlhelp",
+ "model/3mf",
+ "image/jxl",
+ "application/zstd",
+ "image/jls",
+ "application/vnd.ms-outlook",
+ "image/vnd.dwg",
+ "application/vnd.apache.parquet",
+ "application/java-vm",
+ "application/x-arj",
+ "application/x-cpio",
+ "application/x-ace-compressed",
+ "application/avro",
+ "application/vnd.iccprofile",
+ "application/x-ft-fbx",
+ "application/vnd.visio",
+ "application/vnd.android.package-archive",
+ "application/x-ft-draco",
+ "application/x-lz4",
+ // Informal, used by freedesktop.org shared-mime-info
+ "application/vnd.openxmlformats-officedocument.presentationml.template",
+ "application/vnd.openxmlformats-officedocument.spreadsheetml.template",
+ "application/vnd.openxmlformats-officedocument.wordprocessingml.template",
+ "application/vnd.ms-excel.template.macroenabled.12",
+ "application/vnd.oasis.opendocument.text-template",
+ "application/vnd.oasis.opendocument.spreadsheet-template",
+ "application/vnd.oasis.opendocument.presentation-template",
+ "application/vnd.oasis.opendocument.graphics",
+ "application/vnd.oasis.opendocument.graphics-template",
+ "application/vnd.ms-excel.sheet.macroenabled.12",
+ "application/vnd.ms-word.document.macroenabled.12",
+ "application/vnd.ms-word.template.macroenabled.12",
+ "application/vnd.ms-powerpoint.template.macroenabled.12",
+ "application/vnd.ms-powerpoint.presentation.macroenabled.12",
+ "application/java-archive",
+ "application/vnd.rn-realmedia",
+ "application/x-spss-sav",
+ "application/x-ms-regedit",
+ "application/x-ft-windows-registry-hive",
+ "application/x-jmp-data",
+ "application/vnd.apple.keynote",
+ "application/vnd.apple.numbers",
+ "application/vnd.apple.pages",
+ "application/x-iso9660-image"
+ ];
+ }
+});
+
+// ../../node_modules/.pnpm/file-type@22.1.1/node_modules/file-type/source/parser.js
+function getSafeBound(value, maximum, reason) {
+ if (!Number.isFinite(value) || value < 0 || value > maximum) {
+ throw new ParserHardLimitError(`${reason} has invalid size ${value} (maximum ${maximum} bytes)`);
+ }
+ return value;
+}
+async function safeIgnore(tokenizer, length, { maximumLength = maximumUntrustedSkipSizeInBytes, reason = "skip" } = {}) {
+ const safeLength = getSafeBound(length, maximumLength, reason);
+ await tokenizer.ignore(safeLength);
+}
+async function safeReadBuffer(tokenizer, buffer, options, { maximumLength = buffer.length, reason = "read" } = {}) {
+ const length = options?.length ?? buffer.length;
+ const safeLength = getSafeBound(length, maximumLength, reason);
+ return tokenizer.readBuffer(buffer, {
+ ...options,
+ length: safeLength
+ });
+}
+function checkBytes(buffer, headers, options) {
+ options = {
+ offset: 0,
+ ...options
+ };
+ for (const [index, header] of headers.entries()) {
+ if (options.mask) {
+ if (header !== (options.mask[index] & buffer[index + options.offset])) {
+ return false;
+ }
+ } else if (header !== buffer[index + options.offset]) {
+ return false;
+ }
+ }
+ return true;
+}
+function hasUnknownFileSize(tokenizer) {
+ const fileSize = tokenizer.fileInfo.size;
+ return !Number.isFinite(fileSize) || fileSize === Number.MAX_SAFE_INTEGER;
+}
+function hasExceededUnknownSizeScanBudget(tokenizer, startOffset, maximumBytes) {
+ return hasUnknownFileSize(tokenizer) && tokenizer.position - startOffset > maximumBytes;
+}
+var maximumUntrustedSkipSizeInBytes, ParserHardLimitError;
+var init_parser = __esm({
+ "../../node_modules/.pnpm/file-type@22.1.1/node_modules/file-type/source/parser.js"() {
+ maximumUntrustedSkipSizeInBytes = 16 * 1024 * 1024;
+ ParserHardLimitError = class extends Error {
+ static {
+ __name(this, "ParserHardLimitError");
+ }
+ };
+ __name(getSafeBound, "getSafeBound");
+ __name(safeIgnore, "safeIgnore");
+ __name(safeReadBuffer, "safeReadBuffer");
+ __name(checkBytes, "checkBytes");
+ __name(hasUnknownFileSize, "hasUnknownFileSize");
+ __name(hasExceededUnknownSizeScanBudget, "hasExceededUnknownSizeScanBudget");
+ }
+});
+
+// ../../node_modules/.pnpm/file-type@22.1.1/node_modules/file-type/source/detectors/zip.js
+async function decompressDeflateRawWithLimit(data, { maximumLength = maximumZipEntrySizeInBytes } = {}) {
+ const input = new ReadableStream({
+ start(controller) {
+ controller.enqueue(data);
+ controller.close();
+ }
+ });
+ const output = input.pipeThrough(new DecompressionStream("deflate-raw"));
+ const reader = output.getReader();
+ const chunks = [];
+ let totalLength = 0;
+ try {
+ for (; ; ) {
+ const { done, value } = await reader.read();
+ if (done) {
+ break;
+ }
+ totalLength += value.length;
+ if (totalLength > maximumLength) {
+ await reader.cancel().catch(() => {
+ });
+ throw new Error(`ZIP entry decompressed data exceeds ${maximumLength} bytes`);
+ }
+ chunks.push(value);
+ }
+ } catch (error) {
+ if (error.code !== "ERR_TRAILING_JUNK_AFTER_STREAM_END") {
+ throw error;
+ }
+ } finally {
+ reader.releaseLock();
+ }
+ const uncompressedData = new Uint8Array(totalLength);
+ let offset = 0;
+ for (const chunk of chunks) {
+ uncompressedData.set(chunk, offset);
+ offset += chunk.length;
+ }
+ return uncompressedData;
+}
+function mergeByteChunks(chunks, totalLength) {
+ const merged = new Uint8Array(totalLength);
+ let offset = 0;
+ for (const chunk of chunks) {
+ merged.set(chunk, offset);
+ offset += chunk.length;
+ }
+ return merged;
+}
+function getMaximumZipBufferedReadLength(tokenizer) {
+ const fileSize = tokenizer.fileInfo.size;
+ const remainingBytes = Number.isFinite(fileSize) ? Math.max(0, fileSize - tokenizer.position) : Number.MAX_SAFE_INTEGER;
+ return Math.min(remainingBytes, maximumZipBufferedReadSizeInBytes);
+}
+function isRecoverableZipError(error) {
+ if (error instanceof EndOfStreamError) {
+ return true;
+ }
+ if (error instanceof ParserHardLimitError) {
+ return true;
+ }
+ if (!(error instanceof Error)) {
+ return false;
+ }
+ if (recoverableZipErrorMessages.has(error.message)) {
+ return true;
+ }
+ if (recoverableZipErrorCodes.has(error.code)) {
+ return true;
+ }
+ for (const prefix of recoverableZipErrorMessagePrefixes) {
+ if (error.message.startsWith(prefix)) {
+ return true;
+ }
+ }
+ return false;
+}
+function canReadZipEntryForDetection(zipHeader, maximumSize = maximumZipEntrySizeInBytes) {
+ const sizes = [zipHeader.compressedSize, zipHeader.uncompressedSize];
+ for (const size of sizes) {
+ if (!Number.isFinite(size) || size < 0 || size > maximumSize) {
+ return false;
+ }
+ }
+ return true;
+}
+function createIWorkZipDetectionState() {
+ return {
+ hasDocumentEntry: false,
+ hasMasterSlideEntry: false,
+ hasTablesEntry: false,
+ hasCalculationEngineEntry: false
+ };
+}
+function updateIWorkZipDetectionStateFromFilename(iWorkState, filename) {
+ if (filename === "Index/Document.iwa") {
+ iWorkState.hasDocumentEntry = true;
+ }
+ if (filename.startsWith("Index/MasterSlide")) {
+ iWorkState.hasMasterSlideEntry = true;
+ }
+ if (filename.startsWith("Index/Tables/")) {
+ iWorkState.hasTablesEntry = true;
+ }
+ if (filename === "Index/CalculationEngine.iwa") {
+ iWorkState.hasCalculationEngineEntry = true;
+ }
+}
+function getIWorkFileTypeFromZipEntries(iWorkState) {
+ if (!iWorkState.hasDocumentEntry) {
+ return;
+ }
+ if (iWorkState.hasMasterSlideEntry) {
+ return { ext: "key", mime: "application/vnd.apple.keynote" };
+ }
+ if (iWorkState.hasTablesEntry) {
+ return { ext: "numbers", mime: "application/vnd.apple.numbers" };
+ }
+ return { ext: "pages", mime: "application/vnd.apple.pages" };
+}
+function getFileTypeFromMimeType(mimeType) {
+ mimeType = mimeType.toLowerCase();
+ switch (mimeType) {
+ case "application/epub+zip":
+ return { ext: "epub", mime: mimeType };
+ case "application/vnd.oasis.opendocument.text":
+ return { ext: "odt", mime: mimeType };
+ case "application/vnd.oasis.opendocument.text-template":
+ return { ext: "ott", mime: mimeType };
+ case "application/vnd.oasis.opendocument.spreadsheet":
+ return { ext: "ods", mime: mimeType };
+ case "application/vnd.oasis.opendocument.spreadsheet-template":
+ return { ext: "ots", mime: mimeType };
+ case "application/vnd.oasis.opendocument.presentation":
+ return { ext: "odp", mime: mimeType };
+ case "application/vnd.oasis.opendocument.presentation-template":
+ return { ext: "otp", mime: mimeType };
+ case "application/vnd.oasis.opendocument.graphics":
+ return { ext: "odg", mime: mimeType };
+ case "application/vnd.oasis.opendocument.graphics-template":
+ return { ext: "otg", mime: mimeType };
+ case "application/vnd.openxmlformats-officedocument.presentationml.slideshow":
+ return { ext: "ppsx", mime: mimeType };
+ case "application/vnd.openxmlformats-officedocument.spreadsheetml.sheet":
+ return { ext: "xlsx", mime: mimeType };
+ case "application/vnd.ms-excel.sheet.macroenabled":
+ return { ext: "xlsm", mime: "application/vnd.ms-excel.sheet.macroenabled.12" };
+ case "application/vnd.openxmlformats-officedocument.spreadsheetml.template":
+ return { ext: "xltx", mime: mimeType };
+ case "application/vnd.ms-excel.template.macroenabled":
+ return { ext: "xltm", mime: "application/vnd.ms-excel.template.macroenabled.12" };
+ case "application/vnd.ms-powerpoint.slideshow.macroenabled":
+ return { ext: "ppsm", mime: "application/vnd.ms-powerpoint.slideshow.macroenabled.12" };
+ case "application/vnd.openxmlformats-officedocument.wordprocessingml.document":
+ return { ext: "docx", mime: mimeType };
+ case "application/vnd.ms-word.document.macroenabled":
+ return { ext: "docm", mime: "application/vnd.ms-word.document.macroenabled.12" };
+ case "application/vnd.openxmlformats-officedocument.wordprocessingml.template":
+ return { ext: "dotx", mime: mimeType };
+ case "application/vnd.ms-word.template.macroenabledtemplate":
+ return { ext: "dotm", mime: "application/vnd.ms-word.template.macroenabled.12" };
+ case "application/vnd.openxmlformats-officedocument.presentationml.template":
+ return { ext: "potx", mime: mimeType };
+ case "application/vnd.ms-powerpoint.template.macroenabled":
+ return { ext: "potm", mime: "application/vnd.ms-powerpoint.template.macroenabled.12" };
+ case "application/vnd.openxmlformats-officedocument.presentationml.presentation":
+ return { ext: "pptx", mime: mimeType };
+ case "application/vnd.ms-powerpoint.presentation.macroenabled":
+ return { ext: "pptm", mime: "application/vnd.ms-powerpoint.presentation.macroenabled.12" };
+ case "application/vnd.ms-visio.drawing":
+ return { ext: "vsdx", mime: "application/vnd.visio" };
+ case "application/vnd.ms-package.3dmanufacturing-3dmodel+xml":
+ return { ext: "3mf", mime: "model/3mf" };
+ default:
+ }
+}
+function createOpenXmlZipDetectionState() {
+ return {
+ hasContentTypesEntry: false,
+ hasParsedContentTypesEntry: false,
+ isParsingContentTypes: false,
+ hasUnparseableContentTypes: false,
+ hasWordDirectory: false,
+ hasPresentationDirectory: false,
+ hasSpreadsheetDirectory: false,
+ hasThreeDimensionalModelEntry: false
+ };
+}
+function updateOpenXmlZipDetectionStateFromFilename(openXmlState, filename) {
+ if (filename.startsWith("word/")) {
+ openXmlState.hasWordDirectory = true;
+ }
+ if (filename.startsWith("ppt/")) {
+ openXmlState.hasPresentationDirectory = true;
+ }
+ if (filename.startsWith("xl/")) {
+ openXmlState.hasSpreadsheetDirectory = true;
+ }
+ if (filename.startsWith("3D/") && filename.endsWith(".model")) {
+ openXmlState.hasThreeDimensionalModelEntry = true;
+ }
+}
+function getOpenXmlFileTypeFromDirectoryNames(openXmlState) {
+ if (openXmlState.hasWordDirectory) {
+ return {
+ ext: "docx",
+ mime: "application/vnd.openxmlformats-officedocument.wordprocessingml.document"
+ };
+ }
+ if (openXmlState.hasPresentationDirectory) {
+ return {
+ ext: "pptx",
+ mime: "application/vnd.openxmlformats-officedocument.presentationml.presentation"
+ };
+ }
+ if (openXmlState.hasSpreadsheetDirectory) {
+ return {
+ ext: "xlsx",
+ mime: "application/vnd.openxmlformats-officedocument.spreadsheetml.sheet"
+ };
+ }
+ if (openXmlState.hasThreeDimensionalModelEntry) {
+ return {
+ ext: "3mf",
+ mime: "model/3mf"
+ };
+ }
+}
+function getOpenXmlFileTypeFromZipEntries(openXmlState) {
+ if (!openXmlState.hasContentTypesEntry || openXmlState.hasUnparseableContentTypes || openXmlState.isParsingContentTypes || openXmlState.hasParsedContentTypesEntry) {
+ return;
+ }
+ return getOpenXmlFileTypeFromDirectoryNames(openXmlState);
+}
+function getOpenXmlMimeTypeFromContentTypesXml(xmlContent) {
+ const endPosition = xmlContent.indexOf('.main+xml"');
+ if (endPosition === -1) {
+ const mimeType = "application/vnd.ms-package.3dmanufacturing-3dmodel+xml";
+ if (xmlContent.includes(`ContentType="${mimeType}"`)) {
+ return mimeType;
+ }
+ return;
+ }
+ const truncatedContent = xmlContent.slice(0, endPosition);
+ const firstQuotePosition = truncatedContent.lastIndexOf('"');
+ return truncatedContent.slice(firstQuotePosition + 1);
+}
+function findZipDataDescriptorOffset(buffer, bytesConsumed) {
+ if (buffer.length < zipDataDescriptorLengthInBytes) {
+ return -1;
+ }
+ const lastPossibleDescriptorOffset = buffer.length - zipDataDescriptorLengthInBytes;
+ for (let index = 0; index <= lastPossibleDescriptorOffset; index++) {
+ if (UINT32_LE.get(buffer, index) === zipDataDescriptorSignature && UINT32_LE.get(buffer, index + 8) === bytesConsumed + index) {
+ return index;
+ }
+ }
+ return -1;
+}
+async function readZipDataDescriptorEntryWithLimit(zipHandler, { shouldBuffer, maximumLength = maximumZipEntrySizeInBytes } = {}) {
+ const { syncBuffer } = zipHandler;
+ const { length: syncBufferLength } = syncBuffer;
+ const chunks = [];
+ let bytesConsumed = 0;
+ for (; ; ) {
+ const length = await zipHandler.tokenizer.peekBuffer(syncBuffer, { mayBeLess: true });
+ const dataDescriptorOffset = findZipDataDescriptorOffset(syncBuffer.subarray(0, length), bytesConsumed);
+ const retainedLength = dataDescriptorOffset >= 0 ? 0 : length === syncBufferLength ? Math.min(zipDataDescriptorOverlapLengthInBytes, length - 1) : 0;
+ const chunkLength = dataDescriptorOffset >= 0 ? dataDescriptorOffset : length - retainedLength;
+ if (chunkLength === 0) {
+ break;
+ }
+ bytesConsumed += chunkLength;
+ if (bytesConsumed > maximumLength) {
+ throw new ParserHardLimitError(`ZIP entry data descriptor not found within ${maximumLength} bytes`);
+ }
+ if (shouldBuffer) {
+ const data = new Uint8Array(chunkLength);
+ await zipHandler.tokenizer.readBuffer(data);
+ chunks.push(data);
+ } else {
+ await zipHandler.tokenizer.ignore(chunkLength);
+ }
+ if (dataDescriptorOffset >= 0) {
+ break;
+ }
+ }
+ if (!hasUnknownFileSize(zipHandler.tokenizer)) {
+ zipHandler.knownSizeDescriptorScannedBytes += bytesConsumed;
+ }
+ if (!shouldBuffer) {
+ return;
+ }
+ return mergeByteChunks(chunks, bytesConsumed);
+}
+function getRemainingZipScanBudget(zipHandler, startOffset) {
+ if (hasUnknownFileSize(zipHandler.tokenizer)) {
+ return Math.max(0, maximumUntrustedSkipSizeInBytes - (zipHandler.tokenizer.position - startOffset));
+ }
+ return Math.max(0, maximumZipEntrySizeInBytes - zipHandler.knownSizeDescriptorScannedBytes);
+}
+async function readZipEntryData(zipHandler, zipHeader, { shouldBuffer, maximumDescriptorLength = maximumZipEntrySizeInBytes } = {}) {
+ if (zipHeader.dataDescriptor && zipHeader.compressedSize === 0) {
+ return readZipDataDescriptorEntryWithLimit(zipHandler, {
+ shouldBuffer,
+ maximumLength: maximumDescriptorLength
+ });
+ }
+ if (!shouldBuffer) {
+ await safeIgnore(zipHandler.tokenizer, zipHeader.compressedSize, {
+ maximumLength: hasUnknownFileSize(zipHandler.tokenizer) ? maximumZipEntrySizeInBytes : zipHandler.tokenizer.fileInfo.size,
+ reason: "ZIP entry compressed data"
+ });
+ return;
+ }
+ const maximumLength = getMaximumZipBufferedReadLength(zipHandler.tokenizer);
+ if (!Number.isFinite(zipHeader.compressedSize) || zipHeader.compressedSize < 0 || zipHeader.compressedSize > maximumLength) {
+ throw new Error(`ZIP entry compressed data exceeds ${maximumLength} bytes`);
+ }
+ const fileData = new Uint8Array(zipHeader.compressedSize);
+ await zipHandler.tokenizer.readBuffer(fileData);
+ return fileData;
+}
+async function detectZip(tokenizer) {
+ let fileType;
+ const openXmlState = createOpenXmlZipDetectionState();
+ const iWorkState = createIWorkZipDetectionState();
+ try {
+ await new ZipHandler(tokenizer).unzip((zipHeader) => {
+ updateOpenXmlZipDetectionStateFromFilename(openXmlState, zipHeader.filename);
+ updateIWorkZipDetectionStateFromFilename(iWorkState, zipHeader.filename);
+ if (iWorkState.hasDocumentEntry && (iWorkState.hasMasterSlideEntry || iWorkState.hasTablesEntry)) {
+ fileType = getIWorkFileTypeFromZipEntries(iWorkState);
+ return { stop: true };
+ }
+ const isOpenXmlContentTypesEntry = zipHeader.filename === "[Content_Types].xml";
+ const openXmlFileTypeFromEntries = getOpenXmlFileTypeFromZipEntries(openXmlState);
+ if (!isOpenXmlContentTypesEntry && openXmlFileTypeFromEntries) {
+ fileType = openXmlFileTypeFromEntries;
+ return {
+ stop: true
+ };
+ }
+ switch (zipHeader.filename) {
+ case "META-INF/mozilla.rsa":
+ fileType = {
+ ext: "xpi",
+ mime: "application/x-xpinstall"
+ };
+ return {
+ stop: true
+ };
+ case "META-INF/MANIFEST.MF":
+ fileType = {
+ ext: "jar",
+ mime: "application/java-archive"
+ };
+ return {
+ stop: true
+ };
+ case "mimetype":
+ if (!canReadZipEntryForDetection(zipHeader, maximumZipTextEntrySizeInBytes)) {
+ return {};
+ }
+ return {
+ async handler(fileData) {
+ const mimeType = new TextDecoder("utf-8").decode(fileData).trim();
+ fileType = getFileTypeFromMimeType(mimeType);
+ },
+ stop: true
+ };
+ case "[Content_Types].xml": {
+ openXmlState.hasContentTypesEntry = true;
+ if (!canReadZipEntryForDetection(zipHeader, maximumZipTextEntrySizeInBytes)) {
+ openXmlState.hasUnparseableContentTypes = true;
+ return {};
+ }
+ openXmlState.isParsingContentTypes = true;
+ return {
+ async handler(fileData) {
+ const xmlContent = new TextDecoder("utf-8").decode(fileData);
+ const mimeType = getOpenXmlMimeTypeFromContentTypesXml(xmlContent);
+ if (mimeType) {
+ fileType = getFileTypeFromMimeType(mimeType);
+ }
+ openXmlState.hasParsedContentTypesEntry = true;
+ openXmlState.isParsingContentTypes = false;
+ },
+ stop: true
+ };
+ }
+ default:
+ if (new RegExp("classes\\d*\\.dex", "v").test(zipHeader.filename)) {
+ fileType = {
+ ext: "apk",
+ mime: "application/vnd.android.package-archive"
+ };
+ return { stop: true };
+ }
+ return {};
+ }
+ });
+ } catch (error) {
+ if (!isRecoverableZipError(error)) {
+ throw error;
+ }
+ if (openXmlState.isParsingContentTypes) {
+ openXmlState.isParsingContentTypes = false;
+ openXmlState.hasUnparseableContentTypes = true;
+ }
+ if (!fileType && (error instanceof EndOfStreamError || error instanceof ParserHardLimitError) && !openXmlState.hasContentTypesEntry) {
+ fileType = getOpenXmlFileTypeFromDirectoryNames(openXmlState);
+ }
+ }
+ const iWorkFileType = hasUnknownFileSize(tokenizer) && iWorkState.hasDocumentEntry && !iWorkState.hasMasterSlideEntry && !iWorkState.hasTablesEntry && !iWorkState.hasCalculationEngineEntry ? void 0 : getIWorkFileTypeFromZipEntries(iWorkState);
+ return fileType ?? getOpenXmlFileTypeFromZipEntries(openXmlState) ?? iWorkFileType ?? {
+ ext: "zip",
+ mime: "application/zip"
+ };
+}
+var maximumZipEntrySizeInBytes, maximumZipEntryCount, maximumZipBufferedReadSizeInBytes, maximumZipTextEntrySizeInBytes, recoverableZipErrorMessages, recoverableZipErrorMessagePrefixes, recoverableZipErrorCodes, zipDataDescriptorSignature, zipDataDescriptorLengthInBytes, zipDataDescriptorOverlapLengthInBytes;
+var init_zip = __esm({
+ "../../node_modules/.pnpm/file-type@22.1.1/node_modules/file-type/source/detectors/zip.js"() {
+ init_lib2();
+ init_core();
+ init_lib3();
+ init_parser();
+ maximumZipEntrySizeInBytes = 1024 * 1024;
+ maximumZipEntryCount = 1024;
+ maximumZipBufferedReadSizeInBytes = 2 ** 31 - 1;
+ maximumZipTextEntrySizeInBytes = maximumZipEntrySizeInBytes;
+ recoverableZipErrorMessages = /* @__PURE__ */ new Set([
+ "Unexpected signature",
+ "Encrypted ZIP",
+ "Expected Central-File-Header signature"
+ ]);
+ recoverableZipErrorMessagePrefixes = [
+ "ZIP entry count exceeds ",
+ "Unsupported ZIP compression method:",
+ "ZIP entry compressed data exceeds ",
+ "ZIP entry decompressed data exceeds ",
+ "Expected data-descriptor-signature at position "
+ ];
+ recoverableZipErrorCodes = /* @__PURE__ */ new Set([
+ "Z_BUF_ERROR",
+ "Z_DATA_ERROR",
+ "ERR_INVALID_STATE"
+ ]);
+ __name(decompressDeflateRawWithLimit, "decompressDeflateRawWithLimit");
+ __name(mergeByteChunks, "mergeByteChunks");
+ __name(getMaximumZipBufferedReadLength, "getMaximumZipBufferedReadLength");
+ __name(isRecoverableZipError, "isRecoverableZipError");
+ __name(canReadZipEntryForDetection, "canReadZipEntryForDetection");
+ __name(createIWorkZipDetectionState, "createIWorkZipDetectionState");
+ __name(updateIWorkZipDetectionStateFromFilename, "updateIWorkZipDetectionStateFromFilename");
+ __name(getIWorkFileTypeFromZipEntries, "getIWorkFileTypeFromZipEntries");
+ __name(getFileTypeFromMimeType, "getFileTypeFromMimeType");
+ __name(createOpenXmlZipDetectionState, "createOpenXmlZipDetectionState");
+ __name(updateOpenXmlZipDetectionStateFromFilename, "updateOpenXmlZipDetectionStateFromFilename");
+ __name(getOpenXmlFileTypeFromDirectoryNames, "getOpenXmlFileTypeFromDirectoryNames");
+ __name(getOpenXmlFileTypeFromZipEntries, "getOpenXmlFileTypeFromZipEntries");
+ __name(getOpenXmlMimeTypeFromContentTypesXml, "getOpenXmlMimeTypeFromContentTypesXml");
+ zipDataDescriptorSignature = 134695760;
+ zipDataDescriptorLengthInBytes = 16;
+ zipDataDescriptorOverlapLengthInBytes = zipDataDescriptorLengthInBytes - 1;
+ __name(findZipDataDescriptorOffset, "findZipDataDescriptorOffset");
+ __name(readZipDataDescriptorEntryWithLimit, "readZipDataDescriptorEntryWithLimit");
+ __name(getRemainingZipScanBudget, "getRemainingZipScanBudget");
+ __name(readZipEntryData, "readZipEntryData");
+ ZipHandler.prototype.inflate = async function(zipHeader, fileData, callback) {
+ if (zipHeader.compressedMethod === 0) {
+ return callback(fileData);
+ }
+ if (zipHeader.compressedMethod !== 8) {
+ throw new Error(`Unsupported ZIP compression method: ${zipHeader.compressedMethod}`);
+ }
+ const uncompressedData = await decompressDeflateRawWithLimit(fileData, { maximumLength: maximumZipEntrySizeInBytes });
+ return callback(uncompressedData);
+ };
+ ZipHandler.prototype.unzip = async function(fileCallback) {
+ let stop = false;
+ let zipEntryCount = 0;
+ const zipScanStart = this.tokenizer.position;
+ this.knownSizeDescriptorScannedBytes = 0;
+ do {
+ if (hasExceededUnknownSizeScanBudget(this.tokenizer, zipScanStart, maximumUntrustedSkipSizeInBytes)) {
+ throw new ParserHardLimitError(`ZIP stream probing exceeds ${maximumUntrustedSkipSizeInBytes} bytes`);
+ }
+ const zipHeader = await this.readLocalFileHeader();
+ if (!zipHeader) {
+ break;
+ }
+ zipEntryCount++;
+ if (zipEntryCount > maximumZipEntryCount) {
+ throw new Error(`ZIP entry count exceeds ${maximumZipEntryCount}`);
+ }
+ const next = fileCallback(zipHeader);
+ stop = Boolean(next.stop);
+ await this.tokenizer.ignore(zipHeader.extraFieldLength);
+ const fileData = await readZipEntryData(this, zipHeader, {
+ shouldBuffer: Boolean(next.handler),
+ maximumDescriptorLength: Math.min(maximumZipEntrySizeInBytes, getRemainingZipScanBudget(this, zipScanStart))
+ });
+ if (next.handler) {
+ await this.inflate(zipHeader, fileData, next.handler);
+ }
+ if (zipHeader.dataDescriptor) {
+ const dataDescriptor = new Uint8Array(zipDataDescriptorLengthInBytes);
+ await this.tokenizer.readBuffer(dataDescriptor);
+ if (UINT32_LE.get(dataDescriptor, 0) !== zipDataDescriptorSignature) {
+ throw new Error(`Expected data-descriptor-signature at position ${this.tokenizer.position - dataDescriptor.length}`);
+ }
+ }
+ if (hasExceededUnknownSizeScanBudget(this.tokenizer, zipScanStart, maximumUntrustedSkipSizeInBytes)) {
+ throw new ParserHardLimitError(`ZIP stream probing exceeds ${maximumUntrustedSkipSizeInBytes} bytes`);
+ }
+ } while (!stop);
+ };
+ __name(detectZip, "detectZip");
+ }
+});
+
+// ../../node_modules/.pnpm/file-type@22.1.1/node_modules/file-type/source/detectors/ebml.js
+async function detectEbml(tokenizer) {
+ async function readField() {
+ const msb = await tokenizer.peekNumber(UINT8);
+ let mask = 128;
+ let ic = 0;
+ while ((msb & mask) === 0 && mask !== 0) {
+ ++ic;
+ mask >>= 1;
+ }
+ const id = new Uint8Array(ic + 1);
+ await safeReadBuffer(tokenizer, id, void 0, {
+ maximumLength: id.length,
+ reason: "EBML field"
+ });
+ return id;
+ }
+ __name(readField, "readField");
+ async function readElement() {
+ const idField = await readField();
+ const lengthField = await readField();
+ lengthField[0] ^= 128 >> lengthField.length - 1;
+ const nrLength = Math.min(6, lengthField.length);
+ const idView = new DataView(idField.buffer);
+ const lengthView = new DataView(lengthField.buffer, lengthField.length - nrLength, nrLength);
+ return {
+ id: getUintBE(idView),
+ len: getUintBE(lengthView)
+ };
+ }
+ __name(readElement, "readElement");
+ async function readChildren(children) {
+ let ebmlElementCount = 0;
+ while (children > 0) {
+ ebmlElementCount++;
+ if (ebmlElementCount > maximumEbmlElementCount) {
+ return;
+ }
+ if (hasExceededUnknownSizeScanBudget(tokenizer, ebmlScanStart, maximumUntrustedSkipSizeInBytes)) {
+ return;
+ }
+ const previousPosition = tokenizer.position;
+ const element = await readElement();
+ if (element.id === 17026) {
+ if (element.len > maximumEbmlDocumentTypeSizeInBytes) {
+ return;
+ }
+ const documentTypeLength = getSafeBound(element.len, maximumEbmlDocumentTypeSizeInBytes, "EBML DocType");
+ const rawValue = await tokenizer.readToken(new StringType(documentTypeLength));
+ return rawValue.replaceAll(new RegExp("\\0.*$", "gv"), "");
+ }
+ if (hasUnknownFileSize(tokenizer) && (!Number.isFinite(element.len) || element.len < 0 || element.len > maximumEbmlElementPayloadSizeInBytes)) {
+ return;
+ }
+ await safeIgnore(tokenizer, element.len, {
+ maximumLength: hasUnknownFileSize(tokenizer) ? maximumEbmlElementPayloadSizeInBytes : tokenizer.fileInfo.size,
+ reason: "EBML payload"
+ });
+ --children;
+ if (tokenizer.position <= previousPosition) {
+ return;
+ }
+ }
+ }
+ __name(readChildren, "readChildren");
+ const rootElement = await readElement();
+ const ebmlScanStart = tokenizer.position;
+ const documentType = await readChildren(rootElement.len);
+ switch (documentType) {
+ case "webm":
+ return {
+ ext: "webm",
+ mime: "video/webm"
+ };
+ case "matroska":
+ return {
+ ext: "mkv",
+ mime: "video/matroska"
+ };
+ default:
+ }
+}
+var maximumEbmlDocumentTypeSizeInBytes, maximumEbmlElementPayloadSizeInBytes, maximumEbmlElementCount;
+var init_ebml = __esm({
+ "../../node_modules/.pnpm/file-type@22.1.1/node_modules/file-type/source/detectors/ebml.js"() {
+ init_lib2();
+ init_uint8array_extras();
+ init_parser();
+ maximumEbmlDocumentTypeSizeInBytes = 64;
+ maximumEbmlElementPayloadSizeInBytes = 1024 * 1024;
+ maximumEbmlElementCount = 256;
+ __name(detectEbml, "detectEbml");
+ }
+});
+
+// ../../node_modules/.pnpm/file-type@22.1.1/node_modules/file-type/source/detectors/png.js
+function isPngAncillaryChunk(type) {
+ return (type.codePointAt(0) & 32) !== 0;
+}
+async function detectPng(tokenizer) {
+ const pngFileType = {
+ ext: "png",
+ mime: "image/png"
+ };
+ const apngFileType = {
+ ext: "apng",
+ mime: "image/apng"
+ };
+ await tokenizer.ignore(8);
+ async function readChunkHeader() {
+ return {
+ length: await tokenizer.readToken(INT32_BE),
+ type: await tokenizer.readToken(new StringType(4, "latin1"))
+ };
+ }
+ __name(readChunkHeader, "readChunkHeader");
+ const isUnknownPngStream = hasUnknownFileSize(tokenizer);
+ const pngScanStart = tokenizer.position;
+ let pngChunkCount = 0;
+ let hasSeenImageHeader = false;
+ do {
+ pngChunkCount++;
+ if (pngChunkCount > maximumPngChunkCount) {
+ break;
+ }
+ if (hasExceededUnknownSizeScanBudget(tokenizer, pngScanStart, maximumPngStreamScanBudgetInBytes)) {
+ break;
+ }
+ const previousPosition = tokenizer.position;
+ const chunk = await readChunkHeader();
+ if (chunk.length < 0) {
+ return;
+ }
+ if (chunk.type === "IHDR") {
+ if (chunk.length !== 13) {
+ return;
+ }
+ hasSeenImageHeader = true;
+ }
+ switch (chunk.type) {
+ case "IDAT":
+ return pngFileType;
+ case "acTL":
+ return apngFileType;
+ default:
+ if (!hasSeenImageHeader && chunk.type !== "CgBI") {
+ return;
+ }
+ if (isUnknownPngStream && chunk.length > maximumPngChunkSizeInBytes) {
+ return hasSeenImageHeader && isPngAncillaryChunk(chunk.type) ? pngFileType : void 0;
+ }
+ try {
+ await safeIgnore(tokenizer, chunk.length + 4, {
+ maximumLength: isUnknownPngStream ? maximumPngChunkSizeInBytes + 4 : tokenizer.fileInfo.size,
+ reason: "PNG chunk payload"
+ });
+ } catch (error) {
+ if (!isUnknownPngStream && (error instanceof ParserHardLimitError || error instanceof EndOfStreamError)) {
+ return pngFileType;
+ }
+ throw error;
+ }
+ }
+ if (tokenizer.position <= previousPosition) {
+ break;
+ }
+ } while (tokenizer.position + 8 < tokenizer.fileInfo.size);
+ return pngFileType;
+}
+var maximumPngChunkCount, maximumPngStreamScanBudgetInBytes, maximumPngChunkSizeInBytes;
+var init_png = __esm({
+ "../../node_modules/.pnpm/file-type@22.1.1/node_modules/file-type/source/detectors/png.js"() {
+ init_lib2();
+ init_core();
+ init_parser();
+ maximumPngChunkCount = 512;
+ maximumPngStreamScanBudgetInBytes = 16 * 1024 * 1024;
+ maximumPngChunkSizeInBytes = 1024 * 1024;
+ __name(isPngAncillaryChunk, "isPngAncillaryChunk");
+ __name(detectPng, "detectPng");
+ }
+});
+
+// ../../node_modules/.pnpm/file-type@22.1.1/node_modules/file-type/source/detectors/asf.js
+async function detectAsf(tokenizer) {
+ let isMalformedAsf = false;
+ try {
+ async function readHeader() {
+ const guid = new Uint8Array(16);
+ await safeReadBuffer(tokenizer, guid, void 0, {
+ maximumLength: guid.length,
+ reason: "ASF header GUID"
+ });
+ return {
+ id: guid,
+ size: Number(await tokenizer.readToken(UINT64_LE))
+ };
+ }
+ __name(readHeader, "readHeader");
+ await safeIgnore(tokenizer, 30, {
+ maximumLength: 30,
+ reason: "ASF header prelude"
+ });
+ const isUnknownFileSize = hasUnknownFileSize(tokenizer);
+ const asfHeaderScanStart = tokenizer.position;
+ let asfHeaderObjectCount = 0;
+ while (tokenizer.position + 24 < tokenizer.fileInfo.size) {
+ asfHeaderObjectCount++;
+ if (asfHeaderObjectCount > maximumAsfHeaderObjectCount) {
+ break;
+ }
+ if (hasExceededUnknownSizeScanBudget(tokenizer, asfHeaderScanStart, maximumUntrustedSkipSizeInBytes)) {
+ break;
+ }
+ const previousPosition = tokenizer.position;
+ const header = await readHeader();
+ let payload = header.size - 24;
+ if (!Number.isFinite(payload) || payload < 0) {
+ isMalformedAsf = true;
+ break;
+ }
+ if (checkBytes(header.id, [145, 7, 220, 183, 183, 169, 207, 17, 142, 230, 0, 192, 12, 32, 83, 101])) {
+ const typeId = new Uint8Array(16);
+ payload -= await safeReadBuffer(tokenizer, typeId, void 0, {
+ maximumLength: typeId.length,
+ reason: "ASF stream type GUID"
+ });
+ if (checkBytes(typeId, [64, 158, 105, 248, 77, 91, 207, 17, 168, 253, 0, 128, 95, 92, 68, 43])) {
+ return {
+ ext: "asf",
+ mime: "audio/x-ms-asf"
+ };
+ }
+ if (checkBytes(typeId, [192, 239, 25, 188, 77, 91, 207, 17, 168, 253, 0, 128, 95, 92, 68, 43])) {
+ return {
+ ext: "asf",
+ mime: "video/x-ms-asf"
+ };
+ }
+ break;
+ }
+ if (isUnknownFileSize && payload > maximumAsfHeaderPayloadSizeInBytes) {
+ isMalformedAsf = true;
+ break;
+ }
+ await safeIgnore(tokenizer, payload, {
+ maximumLength: isUnknownFileSize ? maximumAsfHeaderPayloadSizeInBytes : tokenizer.fileInfo.size,
+ reason: "ASF header payload"
+ });
+ if (tokenizer.position <= previousPosition) {
+ isMalformedAsf = true;
+ break;
+ }
+ }
+ } catch (error) {
+ if (error instanceof EndOfStreamError || error instanceof ParserHardLimitError) {
+ if (hasUnknownFileSize(tokenizer)) {
+ isMalformedAsf = true;
+ }
+ } else {
+ throw error;
+ }
+ }
+ if (isMalformedAsf) {
+ return;
+ }
+ return {
+ ext: "asf",
+ mime: "application/vnd.ms-asf"
+ };
+}
+var maximumAsfHeaderObjectCount, maximumAsfHeaderPayloadSizeInBytes;
+var init_asf = __esm({
+ "../../node_modules/.pnpm/file-type@22.1.1/node_modules/file-type/source/detectors/asf.js"() {
+ init_lib2();
+ init_core();
+ init_parser();
+ maximumAsfHeaderObjectCount = 512;
+ maximumAsfHeaderPayloadSizeInBytes = 1024 * 1024;
+ __name(detectAsf, "detectAsf");
+ }
+});
+
+// ../../node_modules/.pnpm/file-type@22.1.1/node_modules/file-type/source/index.js
+function normalizeSampleSize(sampleSize) {
+ if (!Number.isFinite(sampleSize)) {
+ return reasonableDetectionSizeInBytes;
+ }
+ return Math.max(1, Math.trunc(sampleSize));
+}
+function normalizeMpegOffsetTolerance(mpegOffsetTolerance) {
+ if (!Number.isFinite(mpegOffsetTolerance)) {
+ return 0;
+ }
+ return Math.max(0, Math.min(maximumMpegOffsetTolerance, Math.trunc(mpegOffsetTolerance)));
+}
+function getKnownFileSizeOrMaximum(fileSize) {
+ if (!Number.isFinite(fileSize)) {
+ return Number.MAX_SAFE_INTEGER;
+ }
+ return Math.max(0, fileSize);
+}
+function importAtRuntime(specifier) {
+ return import(
+ /* @vite-ignore */
+ /* webpackIgnore: true */
+ specifier
+ );
+}
+function toDefaultStream(stream) {
+ return stream.pipeThrough(new TransformStream());
+}
+function readWithSignal(reader, signal) {
+ if (signal === void 0) {
+ return reader.read();
+ }
+ signal.throwIfAborted();
+ return Promise.race([
+ reader.read(),
+ new Promise((_resolve, reject) => {
+ signal.addEventListener("abort", () => {
+ reject(signal.reason);
+ reader.cancel(signal.reason).catch(() => {
+ });
+ }, { once: true });
+ })
+ ]);
+}
+function createByteLimitedReadableStream(stream, maximumBytes) {
+ const reader = stream.getReader();
+ let emittedBytes = 0;
+ let sourceDone = false;
+ let sourceCanceled = false;
+ const cancelSource = /* @__PURE__ */ __name(async (reason) => {
+ if (sourceDone || sourceCanceled) {
+ return;
+ }
+ sourceCanceled = true;
+ await reader.cancel(reason);
+ }, "cancelSource");
+ return new ReadableStream({
+ async pull(controller) {
+ if (emittedBytes >= maximumBytes) {
+ controller.close();
+ await cancelSource();
+ return;
+ }
+ const { done, value } = await reader.read();
+ if (done || !value) {
+ sourceDone = true;
+ controller.close();
+ return;
+ }
+ const remainingBytes = maximumBytes - emittedBytes;
+ if (value.length > remainingBytes) {
+ controller.enqueue(value.subarray(0, remainingBytes));
+ emittedBytes += remainingBytes;
+ controller.close();
+ await cancelSource();
+ return;
+ }
+ controller.enqueue(value);
+ emittedBytes += value.length;
+ },
+ async cancel(reason) {
+ await cancelSource(reason);
+ }
+ });
+}
+async function fileTypeFromStream(stream, options) {
+ return new FileTypeParser(options).fromStream(stream);
+}
+async function fileTypeFromBuffer(input, options) {
+ return new FileTypeParser(options).fromBuffer(input);
+}
+async function fileTypeFromBlob(blob, options) {
+ return new FileTypeParser(options).fromBlob(blob);
+}
+async function fileTypeFromTokenizer(tokenizer, options) {
+ return new FileTypeParser(options).fromTokenizer(tokenizer);
+}
+async function fileTypeStream(webStream, options) {
+ return new FileTypeParser(options).toDetectionStream(webStream, options);
+}
+async function fileTypeFromFile(path, options) {
+ return new FileTypeParser(options).fromFile(path);
+}
+var reasonableDetectionSizeInBytes, maximumMpegOffsetTolerance, maximumNestedGzipDetectionSizeInBytes, maximumNestedGzipProbeDepth, unknownSizeGzipProbeTimeoutInMilliseconds, maximumId3HeaderSizeInBytes, maximumTiffTagCount, maximumDetectionReentryCount, maximumTiffStreamIfdOffsetInBytes, maximumTiffIfdOffsetInBytes, FileTypeParser, supportedExtensions, supportedMimeTypes;
+var init_source = __esm({
+ "../../node_modules/.pnpm/file-type@22.1.1/node_modules/file-type/source/index.js"() {
+ init_lib2();
+ init_core();
+ init_lib3();
+ init_uint8array_extras();
+ init_tokens();
+ init_supported();
+ init_parser();
+ init_zip();
+ init_ebml();
+ init_png();
+ init_asf();
+ reasonableDetectionSizeInBytes = 4100;
+ maximumMpegOffsetTolerance = reasonableDetectionSizeInBytes - 4;
+ maximumNestedGzipDetectionSizeInBytes = maximumUntrustedSkipSizeInBytes;
+ maximumNestedGzipProbeDepth = 1;
+ unknownSizeGzipProbeTimeoutInMilliseconds = 100;
+ maximumId3HeaderSizeInBytes = maximumUntrustedSkipSizeInBytes;
+ maximumTiffTagCount = 512;
+ maximumDetectionReentryCount = 256;
+ maximumTiffStreamIfdOffsetInBytes = 1024 * 1024;
+ maximumTiffIfdOffsetInBytes = maximumUntrustedSkipSizeInBytes;
+ __name(normalizeSampleSize, "normalizeSampleSize");
+ __name(normalizeMpegOffsetTolerance, "normalizeMpegOffsetTolerance");
+ __name(getKnownFileSizeOrMaximum, "getKnownFileSizeOrMaximum");
+ __name(importAtRuntime, "importAtRuntime");
+ __name(toDefaultStream, "toDefaultStream");
+ __name(readWithSignal, "readWithSignal");
+ __name(createByteLimitedReadableStream, "createByteLimitedReadableStream");
+ __name(fileTypeFromStream, "fileTypeFromStream");
+ __name(fileTypeFromBuffer, "fileTypeFromBuffer");
+ __name(fileTypeFromBlob, "fileTypeFromBlob");
+ __name(fileTypeFromTokenizer, "fileTypeFromTokenizer");
+ __name(fileTypeStream, "fileTypeStream");
+ FileTypeParser = class _FileTypeParser {
+ static {
+ __name(this, "FileTypeParser");
+ }
+ constructor(options) {
+ const normalizedMpegOffsetTolerance = normalizeMpegOffsetTolerance(options?.mpegOffsetTolerance);
+ this.options = {
+ ...options,
+ mpegOffsetTolerance: normalizedMpegOffsetTolerance
+ };
+ this.detectors = [
+ ...this.options.customDetectors ?? [],
+ { id: "core", detect: this.detectConfident },
+ { id: "core.imprecise", detect: this.detectImprecise }
+ ];
+ this.tokenizerOptions = {
+ abortSignal: this.options.signal
+ };
+ this.gzipProbeDepth = 0;
+ }
+ getTokenizerOptions() {
+ return {
+ ...this.tokenizerOptions
+ };
+ }
+ createTokenizerFromWebStream(stream) {
+ return fromWebStream(toDefaultStream(stream), this.getTokenizerOptions());
+ }
+ async parseTokenizer(tokenizer, detectionReentryCount = 0) {
+ this.detectionReentryCount = detectionReentryCount;
+ const initialPosition = tokenizer.position;
+ for (const detector of this.detectors) {
+ let fileType;
+ try {
+ fileType = await detector.detect(tokenizer);
+ } catch (error) {
+ if (error instanceof EndOfStreamError) {
+ return;
+ }
+ if (error instanceof ParserHardLimitError) {
+ return;
+ }
+ throw error;
+ }
+ if (fileType) {
+ return fileType;
+ }
+ if (initialPosition !== tokenizer.position) {
+ return void 0;
+ }
+ }
+ }
+ async fromTokenizer(tokenizer) {
+ try {
+ return await this.parseTokenizer(tokenizer);
+ } finally {
+ await tokenizer.close();
+ }
+ }
+ async fromBuffer(input) {
+ if (!(input instanceof Uint8Array || input instanceof ArrayBuffer)) {
+ throw new TypeError(`Expected the \`input\` argument to be of type \`Uint8Array\` or \`ArrayBuffer\`, got \`${typeof input}\``);
+ }
+ const buffer = input instanceof Uint8Array ? input : new Uint8Array(input);
+ if (!(buffer?.length > 1)) {
+ return;
+ }
+ return this.fromTokenizer(fromBuffer(buffer, this.getTokenizerOptions()));
+ }
+ async fromBlob(blob) {
+ this.options.signal?.throwIfAborted();
+ const tokenizer = fromBlob(blob, this.getTokenizerOptions());
+ return this.fromTokenizer(tokenizer);
+ }
+ async fromStream(stream) {
+ this.options.signal?.throwIfAborted();
+ const tokenizer = this.createTokenizerFromWebStream(stream);
+ return this.fromTokenizer(tokenizer);
+ }
+ async fromFile(path) {
+ this.options.signal?.throwIfAborted();
+ const [{ default: fsPromises }, { FileTokenizer }] = await Promise.all([
+ importAtRuntime("node:fs/promises"),
+ importAtRuntime("strtok3")
+ ]);
+ const fileHandle = await fsPromises.open(path, fsPromises.constants.O_RDONLY | fsPromises.constants.O_NONBLOCK);
+ const fileStat = await fileHandle.stat();
+ if (!fileStat.isFile()) {
+ await fileHandle.close();
+ return;
+ }
+ const tokenizer = new FileTokenizer(fileHandle, {
+ ...this.getTokenizerOptions(),
+ fileInfo: { path, size: fileStat.size }
+ });
+ return this.fromTokenizer(tokenizer);
+ }
+ async toDetectionStream(stream, options) {
+ this.options.signal?.throwIfAborted();
+ const sampleSize = normalizeSampleSize(options?.sampleSize ?? reasonableDetectionSizeInBytes);
+ let detectedFileType;
+ let streamEnded = false;
+ const reader = stream.getReader();
+ const chunks = [];
+ let totalSize = 0;
+ try {
+ while (totalSize < sampleSize) {
+ const { value, done } = await readWithSignal(reader, this.options.signal);
+ if (done || !value) {
+ streamEnded = true;
+ break;
+ }
+ chunks.push(value);
+ totalSize += value.length;
+ }
+ if (!streamEnded && totalSize === sampleSize) {
+ const { value, done } = await readWithSignal(reader, this.options.signal);
+ if (done || !value) {
+ streamEnded = true;
+ } else {
+ chunks.push(value);
+ totalSize += value.length;
+ }
+ }
+ } finally {
+ reader.releaseLock();
+ }
+ if (totalSize > 0) {
+ const sample = chunks.length === 1 ? chunks[0] : concatUint8Arrays(chunks);
+ try {
+ detectedFileType = await this.fromBuffer(sample.subarray(0, sampleSize));
+ } catch (error) {
+ if (!(error instanceof EndOfStreamError)) {
+ throw error;
+ }
+ detectedFileType = void 0;
+ }
+ if (!streamEnded && detectedFileType?.ext === "pages") {
+ detectedFileType = {
+ ext: "zip",
+ mime: "application/zip"
+ };
+ }
+ }
+ const transformStream = new TransformStream({
+ start(controller) {
+ for (const chunk of chunks) {
+ controller.enqueue(chunk);
+ }
+ },
+ transform(chunk, controller) {
+ controller.enqueue(chunk);
+ }
+ });
+ const newStream = stream.pipeThrough(transformStream);
+ newStream.fileType = detectedFileType;
+ return newStream;
+ }
+ async detectGzip(tokenizer) {
+ if (this.gzipProbeDepth >= maximumNestedGzipProbeDepth) {
+ return {
+ ext: "gz",
+ mime: "application/gzip"
+ };
+ }
+ const gzipHandler = new GzipHandler(tokenizer);
+ const limitedInflatedStream = createByteLimitedReadableStream(gzipHandler.inflate(), maximumNestedGzipDetectionSizeInBytes);
+ const hasUnknownSize = hasUnknownFileSize(tokenizer);
+ let timeout;
+ let probeSignal;
+ let probeParser;
+ let compressedFileType;
+ if (hasUnknownSize) {
+ const timeoutController = new AbortController();
+ timeout = setTimeout(() => {
+ timeoutController.abort(new DOMException(`Operation timed out after ${unknownSizeGzipProbeTimeoutInMilliseconds} ms`, "TimeoutError"));
+ }, unknownSizeGzipProbeTimeoutInMilliseconds);
+ probeSignal = this.options.signal === void 0 ? timeoutController.signal : AbortSignal.any([this.options.signal, timeoutController.signal]);
+ probeParser = new _FileTypeParser({
+ ...this.options,
+ signal: probeSignal
+ });
+ probeParser.gzipProbeDepth = this.gzipProbeDepth + 1;
+ } else {
+ this.gzipProbeDepth++;
+ }
+ try {
+ compressedFileType = await (probeParser ?? this).fromStream(limitedInflatedStream);
+ } catch (error) {
+ if (error?.name === "AbortError" && probeSignal?.reason?.name !== "TimeoutError") {
+ throw error;
+ }
+ } finally {
+ clearTimeout(timeout);
+ if (!hasUnknownSize) {
+ this.gzipProbeDepth--;
+ }
+ }
+ if (compressedFileType?.ext === "tar") {
+ return {
+ ext: "tar.gz",
+ mime: "application/gzip"
+ };
+ }
+ return {
+ ext: "gz",
+ mime: "application/gzip"
+ };
+ }
+ check(header, options) {
+ return checkBytes(this.buffer, header, options);
+ }
+ checkString(header, options) {
+ return this.check(stringToBytes(header, options?.encoding), options);
+ }
+ // Detections with a high degree of certainty in identifying the correct file type
+ detectConfident = /* @__PURE__ */ __name(async (tokenizer) => {
+ this.buffer = new Uint8Array(reasonableDetectionSizeInBytes);
+ if (tokenizer.fileInfo.size === void 0) {
+ tokenizer.fileInfo.size = Number.MAX_SAFE_INTEGER;
+ }
+ this.tokenizer = tokenizer;
+ if (hasUnknownFileSize(tokenizer)) {
+ await tokenizer.peekBuffer(this.buffer, { length: 3, mayBeLess: true });
+ if (this.check([31, 139, 8])) {
+ return this.detectGzip(tokenizer);
+ }
+ }
+ await tokenizer.peekBuffer(this.buffer, { length: 32, mayBeLess: true });
+ if (this.check([66, 77])) {
+ return {
+ ext: "bmp",
+ mime: "image/bmp"
+ };
+ }
+ if (this.check([11, 119])) {
+ return {
+ ext: "ac3",
+ mime: "audio/vnd.dolby.dd-raw"
+ };
+ }
+ if (this.check([120, 1])) {
+ return {
+ ext: "dmg",
+ mime: "application/x-apple-diskimage"
+ };
+ }
+ if (this.check([77, 90])) {
+ return {
+ ext: "exe",
+ mime: "application/x-msdownload"
+ };
+ }
+ if (this.check([37, 33])) {
+ await tokenizer.peekBuffer(this.buffer, { length: 24, mayBeLess: true });
+ if (this.checkString("PS-Adobe-", { offset: 2 }) && this.checkString(" EPSF-", { offset: 14 })) {
+ return {
+ ext: "eps",
+ mime: "application/eps"
+ };
+ }
+ return {
+ ext: "ps",
+ mime: "application/postscript"
+ };
+ }
+ if (this.check([31, 160]) || this.check([31, 157])) {
+ return {
+ ext: "Z",
+ mime: "application/x-compress"
+ };
+ }
+ if (this.check([199, 113])) {
+ return {
+ ext: "cpio",
+ mime: "application/x-cpio"
+ };
+ }
+ if (this.check([96, 234])) {
+ return {
+ ext: "arj",
+ mime: "application/x-arj"
+ };
+ }
+ if (this.check([239, 187, 191])) {
+ if (this.detectionReentryCount >= maximumDetectionReentryCount) {
+ return;
+ }
+ this.detectionReentryCount++;
+ await this.tokenizer.ignore(3);
+ return this.detectConfident(tokenizer);
+ }
+ if (this.check([71, 73, 70])) {
+ return {
+ ext: "gif",
+ mime: "image/gif"
+ };
+ }
+ if (this.check([73, 73, 188])) {
+ return {
+ ext: "jxr",
+ mime: "image/vnd.ms-photo"
+ };
+ }
+ if (this.check([31, 139, 8])) {
+ return this.detectGzip(tokenizer);
+ }
+ if (this.check([66, 90, 104])) {
+ return {
+ ext: "bz2",
+ mime: "application/x-bzip2"
+ };
+ }
+ if (this.checkString("ID3")) {
+ await safeIgnore(tokenizer, 6, {
+ maximumLength: 6,
+ reason: "ID3 header prefix"
+ });
+ const id3HeaderLength = await tokenizer.readToken(uint32SyncSafeToken);
+ const isUnknownFileSize = hasUnknownFileSize(tokenizer);
+ if (!Number.isFinite(id3HeaderLength) || id3HeaderLength < 0 || isUnknownFileSize && (id3HeaderLength > maximumId3HeaderSizeInBytes || tokenizer.position + id3HeaderLength > maximumId3HeaderSizeInBytes)) {
+ return;
+ }
+ if (tokenizer.position + id3HeaderLength > tokenizer.fileInfo.size) {
+ if (isUnknownFileSize) {
+ return;
+ }
+ return {
+ ext: "mp3",
+ mime: "audio/mpeg"
+ };
+ }
+ try {
+ await safeIgnore(tokenizer, id3HeaderLength, {
+ maximumLength: isUnknownFileSize ? maximumId3HeaderSizeInBytes : tokenizer.fileInfo.size,
+ reason: "ID3 payload"
+ });
+ } catch (error) {
+ if (error instanceof EndOfStreamError) {
+ return;
+ }
+ throw error;
+ }
+ if (this.detectionReentryCount >= maximumDetectionReentryCount) {
+ return;
+ }
+ this.detectionReentryCount++;
+ return this.parseTokenizer(tokenizer, this.detectionReentryCount);
+ }
+ if (this.checkString("MP+")) {
+ return {
+ ext: "mpc",
+ mime: "audio/x-musepack"
+ };
+ }
+ if ((this.buffer[0] === 67 || this.buffer[0] === 70) && this.check([87, 83], { offset: 1 })) {
+ return {
+ ext: "swf",
+ mime: "application/x-shockwave-flash"
+ };
+ }
+ if (this.check([255, 216, 255])) {
+ if (this.check([247], { offset: 3 })) {
+ return {
+ ext: "jls",
+ mime: "image/jls"
+ };
+ }
+ return {
+ ext: "jpg",
+ mime: "image/jpeg"
+ };
+ }
+ if (this.check([79, 98, 106, 1])) {
+ return {
+ ext: "avro",
+ mime: "application/avro"
+ };
+ }
+ if (this.checkString("FLIF")) {
+ return {
+ ext: "flif",
+ mime: "image/flif"
+ };
+ }
+ if (this.checkString("8BPS")) {
+ return {
+ ext: "psd",
+ mime: "image/vnd.adobe.photoshop"
+ };
+ }
+ if (this.checkString("MPCK")) {
+ return {
+ ext: "mpc",
+ mime: "audio/x-musepack"
+ };
+ }
+ if (this.checkString("FORM")) {
+ return {
+ ext: "aif",
+ mime: "audio/aiff"
+ };
+ }
+ if (this.checkString("icns", { offset: 0 })) {
+ return {
+ ext: "icns",
+ mime: "image/icns"
+ };
+ }
+ if (this.check([80, 75, 3, 4])) {
+ return detectZip(tokenizer);
+ }
+ if (this.checkString("OggS")) {
+ await tokenizer.ignore(28);
+ const type = new Uint8Array(8);
+ await tokenizer.readBuffer(type);
+ if (checkBytes(type, [79, 112, 117, 115, 72, 101, 97, 100])) {
+ return {
+ ext: "opus",
+ mime: "audio/ogg; codecs=opus"
+ };
+ }
+ if (checkBytes(type, [128, 116, 104, 101, 111, 114, 97])) {
+ return {
+ ext: "ogv",
+ mime: "video/ogg"
+ };
+ }
+ if (checkBytes(type, [1, 118, 105, 100, 101, 111, 0])) {
+ return {
+ ext: "ogm",
+ mime: "video/ogg"
+ };
+ }
+ if (checkBytes(type, [127, 70, 76, 65, 67])) {
+ return {
+ ext: "oga",
+ mime: "audio/ogg"
+ };
+ }
+ if (checkBytes(type, [83, 112, 101, 101, 120, 32, 32])) {
+ return {
+ ext: "spx",
+ mime: "audio/ogg"
+ };
+ }
+ if (checkBytes(type, [1, 118, 111, 114, 98, 105, 115])) {
+ return {
+ ext: "ogg",
+ mime: "audio/ogg"
+ };
+ }
+ return {
+ ext: "ogx",
+ mime: "application/ogg"
+ };
+ }
+ if (this.check([80, 75]) && (this.buffer[2] === 3 || this.buffer[2] === 5 || this.buffer[2] === 7) && (this.buffer[3] === 4 || this.buffer[3] === 6 || this.buffer[3] === 8)) {
+ return {
+ ext: "zip",
+ mime: "application/zip"
+ };
+ }
+ if (this.checkString("MThd")) {
+ return {
+ ext: "mid",
+ mime: "audio/midi"
+ };
+ }
+ if (this.checkString("wOFF") && (this.check([0, 1, 0, 0], { offset: 4 }) || this.checkString("OTTO", { offset: 4 }))) {
+ return {
+ ext: "woff",
+ mime: "font/woff"
+ };
+ }
+ if (this.checkString("wOF2") && (this.check([0, 1, 0, 0], { offset: 4 }) || this.checkString("OTTO", { offset: 4 }))) {
+ return {
+ ext: "woff2",
+ mime: "font/woff2"
+ };
+ }
+ if (this.check([212, 195, 178, 161]) || this.check([161, 178, 195, 212])) {
+ return {
+ ext: "pcap",
+ mime: "application/vnd.tcpdump.pcap"
+ };
+ }
+ if (this.checkString("DSD ")) {
+ return {
+ ext: "dsf",
+ mime: "audio/x-dsf"
+ // Non-standard
+ };
+ }
+ if (this.checkString("LZIP")) {
+ return {
+ ext: "lz",
+ mime: "application/lzip"
+ };
+ }
+ if (this.checkString("fLaC")) {
+ return {
+ ext: "flac",
+ mime: "audio/flac"
+ };
+ }
+ if (this.check([66, 80, 71, 251])) {
+ return {
+ ext: "bpg",
+ mime: "image/bpg"
+ };
+ }
+ if (this.checkString("wvpk")) {
+ return {
+ ext: "wv",
+ mime: "audio/wavpack"
+ };
+ }
+ if (this.checkString("%PDF")) {
+ return {
+ ext: "pdf",
+ mime: "application/pdf"
+ };
+ }
+ if (this.check([0, 97, 115, 109])) {
+ return {
+ ext: "wasm",
+ mime: "application/wasm"
+ };
+ }
+ if (this.check([73, 73])) {
+ const fileType = await this.readTiffHeader(false);
+ if (fileType) {
+ return fileType;
+ }
+ }
+ if (this.check([77, 77])) {
+ const fileType = await this.readTiffHeader(true);
+ if (fileType) {
+ return fileType;
+ }
+ }
+ if (this.checkString("MAC ")) {
+ return {
+ ext: "ape",
+ mime: "audio/ape"
+ };
+ }
+ if (this.check([26, 69, 223, 163])) {
+ return detectEbml(tokenizer);
+ }
+ if (this.checkString("SQLi")) {
+ return {
+ ext: "sqlite",
+ mime: "application/x-sqlite3"
+ };
+ }
+ if (this.check([78, 69, 83, 26])) {
+ return {
+ ext: "nes",
+ mime: "application/x-nintendo-nes-rom"
+ };
+ }
+ if (this.checkString("Cr24")) {
+ return {
+ ext: "crx",
+ mime: "application/x-google-chrome-extension"
+ };
+ }
+ if (this.checkString("MSCF") || this.checkString("ISc(")) {
+ return {
+ ext: "cab",
+ mime: "application/vnd.ms-cab-compressed"
+ };
+ }
+ if (this.check([237, 171, 238, 219])) {
+ return {
+ ext: "rpm",
+ mime: "application/x-rpm"
+ };
+ }
+ if (this.check([197, 208, 211, 198])) {
+ return {
+ ext: "eps",
+ mime: "application/eps"
+ };
+ }
+ if (this.check([40, 181, 47, 253])) {
+ return {
+ ext: "zst",
+ mime: "application/zstd"
+ };
+ }
+ if (this.check([127, 69, 76, 70])) {
+ return {
+ ext: "elf",
+ mime: "application/x-elf"
+ };
+ }
+ if (this.check([33, 66, 68, 78])) {
+ return {
+ ext: "pst",
+ mime: "application/vnd.ms-outlook"
+ };
+ }
+ if (this.checkString("PAR1") || this.checkString("PARE")) {
+ return {
+ ext: "parquet",
+ mime: "application/vnd.apache.parquet"
+ };
+ }
+ if (this.checkString("ttcf")) {
+ return {
+ ext: "ttc",
+ mime: "font/collection"
+ };
+ }
+ if (this.check([254, 237, 250, 206]) || this.check([254, 237, 250, 207]) || this.check([206, 250, 237, 254]) || this.check([207, 250, 237, 254])) {
+ return {
+ ext: "macho",
+ mime: "application/x-mach-binary"
+ };
+ }
+ if (this.check([4, 34, 77, 24])) {
+ return {
+ ext: "lz4",
+ mime: "application/x-lz4"
+ // Informal, used by freedesktop.org shared-mime-info
+ };
+ }
+ if (this.checkString("regf")) {
+ return {
+ ext: "dat",
+ mime: "application/x-ft-windows-registry-hive"
+ };
+ }
+ if (this.checkString("$FL2") || this.checkString("$FL3")) {
+ return {
+ ext: "sav",
+ mime: "application/x-spss-sav"
+ };
+ }
+ if (this.check([79, 84, 84, 79, 0])) {
+ return {
+ ext: "otf",
+ mime: "font/otf"
+ };
+ }
+ if (this.checkString("#!AMR")) {
+ return {
+ ext: "amr",
+ mime: "audio/amr"
+ };
+ }
+ if (this.checkString(String.raw`{\rtf`)) {
+ return {
+ ext: "rtf",
+ mime: "application/rtf"
+ };
+ }
+ if (this.check([70, 76, 86, 1])) {
+ return {
+ ext: "flv",
+ mime: "video/x-flv"
+ };
+ }
+ if (this.checkString("IMPM")) {
+ return {
+ ext: "it",
+ mime: "audio/x-it"
+ };
+ }
+ if (this.checkString("-lh0-", { offset: 2 }) || this.checkString("-lh1-", { offset: 2 }) || this.checkString("-lh2-", { offset: 2 }) || this.checkString("-lh3-", { offset: 2 }) || this.checkString("-lh4-", { offset: 2 }) || this.checkString("-lh5-", { offset: 2 }) || this.checkString("-lh6-", { offset: 2 }) || this.checkString("-lh7-", { offset: 2 }) || this.checkString("-lzs-", { offset: 2 }) || this.checkString("-lz4-", { offset: 2 }) || this.checkString("-lz5-", { offset: 2 }) || this.checkString("-lhd-", { offset: 2 })) {
+ return {
+ ext: "lzh",
+ mime: "application/x-lzh-compressed"
+ };
+ }
+ if (this.check([0, 0, 1, 186])) {
+ if (this.check([33], { offset: 4, mask: [241] })) {
+ return {
+ ext: "mpg",
+ // May also be .ps, .mpeg
+ mime: "video/MP1S"
+ };
+ }
+ if (this.check([68], { offset: 4, mask: [196] })) {
+ return {
+ ext: "mpg",
+ // May also be .mpg, .m2p, .vob or .sub
+ mime: "video/MP2P"
+ };
+ }
+ }
+ if (this.checkString("ITSF")) {
+ return {
+ ext: "chm",
+ mime: "application/vnd.ms-htmlhelp"
+ };
+ }
+ if (this.check([202, 254, 186, 190])) {
+ const machOArchitectureCount = UINT32_BE.get(this.buffer, 4);
+ const javaClassFileMajorVersion = UINT16_BE.get(this.buffer, 6);
+ if (machOArchitectureCount > 0 && machOArchitectureCount <= 30) {
+ return {
+ ext: "macho",
+ mime: "application/x-mach-binary"
+ };
+ }
+ if (javaClassFileMajorVersion > 30) {
+ return {
+ ext: "class",
+ mime: "application/java-vm"
+ };
+ }
+ }
+ if (this.checkString(".RMF")) {
+ return {
+ ext: "rm",
+ mime: "application/vnd.rn-realmedia"
+ };
+ }
+ if (this.checkString("DRACO")) {
+ return {
+ ext: "drc",
+ mime: "application/x-ft-draco"
+ };
+ }
+ if (this.check([253, 55, 122, 88, 90, 0])) {
+ return {
+ ext: "xz",
+ mime: "application/x-xz"
+ };
+ }
+ if (this.checkString("= 1e3 && version <= 1050) {
+ return {
+ ext: "dwg",
+ mime: "image/vnd.dwg"
+ };
+ }
+ }
+ if (this.checkString("070707")) {
+ return {
+ ext: "cpio",
+ mime: "application/x-cpio"
+ };
+ }
+ if (this.checkString("BLENDER")) {
+ return {
+ ext: "blend",
+ mime: "application/x-blender"
+ };
+ }
+ if (this.checkString("!")) {
+ await tokenizer.ignore(8);
+ const string = await tokenizer.readToken(new StringType(13, "ascii"));
+ if (string === "debian-binary") {
+ return {
+ ext: "deb",
+ mime: "application/x-deb"
+ };
+ }
+ return {
+ ext: "ar",
+ mime: "application/x-unix-archive"
+ };
+ }
+ if (this.checkString("WEBVTT") && // One of LF, CR, tab, space, or end of file must follow "WEBVTT" per the spec (see `fixture/fixture-vtt-*.vtt` for examples). Note that `\0` is technically the null character (there is no such thing as an EOF character). However, checking for `\0` gives us the same result as checking for the end of the stream.
+ ["\n", "\r", " ", " ", "\0"].some((char7) => this.checkString(char7, { offset: 6 }))) {
+ return {
+ ext: "vtt",
+ mime: "text/vtt"
+ };
+ }
+ if (this.check([137, 80, 78, 71, 13, 10, 26, 10])) {
+ return detectPng(tokenizer);
+ }
+ if (this.check([65, 82, 82, 79, 87, 49, 0, 0])) {
+ return {
+ ext: "arrow",
+ mime: "application/vnd.apache.arrow.file"
+ };
+ }
+ if (this.check([103, 108, 84, 70, 2, 0, 0, 0])) {
+ return {
+ ext: "glb",
+ mime: "model/gltf-binary"
+ };
+ }
+ if (this.check([102, 114, 101, 101], { offset: 4 }) || this.check([109, 100, 97, 116], { offset: 4 }) || this.check([109, 111, 111, 118], { offset: 4 }) || this.check([119, 105, 100, 101], { offset: 4 })) {
+ return {
+ ext: "mov",
+ mime: "video/quicktime"
+ };
+ }
+ if (this.check([73, 73, 82, 79, 8, 0, 0, 0, 24])) {
+ return {
+ ext: "orf",
+ mime: "image/x-olympus-orf"
+ };
+ }
+ if (this.checkString("gimp xcf ")) {
+ return {
+ ext: "xcf",
+ mime: "image/x-xcf"
+ };
+ }
+ if (this.checkString("ftyp", { offset: 4 }) && (this.buffer[8] & 96) !== 0) {
+ const brandMajor = new StringType(4, "latin1").get(this.buffer, 8).replace("\0", " ").trim();
+ switch (brandMajor) {
+ case "avif":
+ case "avis":
+ return { ext: "avif", mime: "image/avif" };
+ case "mif1":
+ return { ext: "heic", mime: "image/heif" };
+ case "msf1":
+ return { ext: "heic", mime: "image/heif-sequence" };
+ case "heic":
+ case "heix":
+ return { ext: "heic", mime: "image/heic" };
+ case "hevc":
+ case "hevx":
+ return { ext: "heic", mime: "image/heic-sequence" };
+ case "qt":
+ return { ext: "mov", mime: "video/quicktime" };
+ case "M4V":
+ case "M4VH":
+ case "M4VP":
+ return { ext: "m4v", mime: "video/x-m4v" };
+ case "M4P":
+ return { ext: "m4p", mime: "video/mp4" };
+ case "M4B":
+ return { ext: "m4b", mime: "audio/mp4" };
+ case "M4A":
+ return { ext: "m4a", mime: "audio/x-m4a" };
+ case "F4V":
+ return { ext: "f4v", mime: "video/mp4" };
+ case "F4P":
+ return { ext: "f4p", mime: "video/mp4" };
+ case "F4A":
+ return { ext: "f4a", mime: "audio/mp4" };
+ case "F4B":
+ return { ext: "f4b", mime: "audio/mp4" };
+ case "crx":
+ return { ext: "cr3", mime: "image/x-canon-cr3" };
+ default:
+ if (brandMajor.startsWith("3g")) {
+ if (brandMajor.startsWith("3g2")) {
+ return { ext: "3g2", mime: "video/3gpp2" };
+ }
+ return { ext: "3gp", mime: "video/3gpp" };
+ }
+ return { ext: "mp4", mime: "video/mp4" };
+ }
+ }
+ if (this.checkString("REGEDIT4\r\n")) {
+ return {
+ ext: "reg",
+ mime: "application/x-ms-regedit"
+ };
+ }
+ if (this.check([82, 73, 70, 70])) {
+ if (this.checkString("WEBP", { offset: 8 })) {
+ return {
+ ext: "webp",
+ mime: "image/webp"
+ };
+ }
+ if (this.check([65, 86, 73], { offset: 8 })) {
+ return {
+ ext: "avi",
+ mime: "video/vnd.avi"
+ };
+ }
+ if (this.check([87, 65, 86, 69], { offset: 8 })) {
+ return {
+ ext: "wav",
+ mime: "audio/wav"
+ };
+ }
+ if (this.check([81, 76, 67, 77], { offset: 8 })) {
+ return {
+ ext: "qcp",
+ mime: "audio/qcelp"
+ };
+ }
+ }
+ if (this.check([73, 73, 85, 0, 24, 0, 0, 0, 136, 231, 116, 216])) {
+ return {
+ ext: "rw2",
+ mime: "image/x-panasonic-rw2"
+ };
+ }
+ if (this.check([48, 38, 178, 117, 142, 102, 207, 17, 166, 217])) {
+ return detectAsf(tokenizer);
+ }
+ if (this.check([171, 75, 84, 88, 32, 49, 49, 187, 13, 10, 26, 10])) {
+ return {
+ ext: "ktx",
+ mime: "image/ktx"
+ };
+ }
+ if ((this.check([126, 16, 4]) || this.check([126, 24, 4])) && this.check([48, 77, 73, 69], { offset: 4 })) {
+ return {
+ ext: "mie",
+ mime: "application/x-mie"
+ };
+ }
+ if (this.check([39, 10, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], { offset: 2 })) {
+ return {
+ ext: "shp",
+ mime: "application/x-esri-shape"
+ };
+ }
+ if (this.check([255, 79, 255, 81])) {
+ return {
+ ext: "j2c",
+ mime: "image/j2c"
+ };
+ }
+ if (this.check([0, 0, 0, 12, 106, 80, 32, 32, 13, 10, 135, 10])) {
+ await tokenizer.ignore(20);
+ const type = await tokenizer.readToken(new StringType(4, "ascii"));
+ switch (type) {
+ case "jp2 ":
+ return {
+ ext: "jp2",
+ mime: "image/jp2"
+ };
+ case "jpx ":
+ return {
+ ext: "jpx",
+ mime: "image/jpx"
+ };
+ case "jpm ":
+ return {
+ ext: "jpm",
+ mime: "image/jpm"
+ };
+ case "mjp2":
+ return {
+ ext: "mj2",
+ mime: "image/mj2"
+ };
+ default:
+ return;
+ }
+ }
+ if (this.check([255, 10]) || this.check([0, 0, 0, 12, 74, 88, 76, 32, 13, 10, 135, 10])) {
+ return {
+ ext: "jxl",
+ mime: "image/jxl"
+ };
+ }
+ if (this.check([254, 255])) {
+ if (this.checkString("= 16) {
+ const jsonSize = new DataView(this.buffer.buffer).getUint32(12, true);
+ if (jsonSize > 12 && this.buffer.length >= jsonSize + 16) {
+ try {
+ const header = new TextDecoder().decode(this.buffer.subarray(16, jsonSize + 16));
+ const json = JSON.parse(header);
+ if (json.files) {
+ return {
+ ext: "asar",
+ mime: "application/x-asar"
+ };
+ }
+ } catch {
+ }
+ }
+ }
+ if (this.check([6, 14, 43, 52, 2, 5, 1, 1, 13, 1, 2, 1, 1, 2])) {
+ return {
+ ext: "mxf",
+ mime: "application/mxf"
+ };
+ }
+ if (this.checkString("SCRM", { offset: 44 })) {
+ return {
+ ext: "s3m",
+ mime: "audio/x-s3m"
+ };
+ }
+ if (this.check([71]) && this.check([71], { offset: 188 })) {
+ return {
+ ext: "mts",
+ mime: "video/mp2t"
+ };
+ }
+ if (this.check([71], { offset: 4 }) && this.check([71], { offset: 196 })) {
+ return {
+ ext: "mts",
+ mime: "video/mp2t"
+ };
+ }
+ if (this.check([66, 79, 79, 75, 77, 79, 66, 73], { offset: 60 })) {
+ return {
+ ext: "mobi",
+ mime: "application/x-mobipocket-ebook"
+ };
+ }
+ if (this.check([68, 73, 67, 77], { offset: 128 })) {
+ return {
+ ext: "dcm",
+ mime: "application/dicom"
+ };
+ }
+ if (this.check([76, 0, 0, 0, 1, 20, 2, 0, 0, 0, 0, 0, 192, 0, 0, 0, 0, 0, 0, 70])) {
+ return {
+ ext: "lnk",
+ mime: "application/x-ms-shortcut"
+ // Informal, used by freedesktop.org shared-mime-info
+ };
+ }
+ if (this.check([98, 111, 111, 107, 0, 0, 0, 0, 109, 97, 114, 107, 0, 0, 0, 0])) {
+ return {
+ ext: "alias",
+ mime: "application/x-ft-apple.alias"
+ };
+ }
+ if (this.checkString("Kaydara FBX Binary \0")) {
+ return {
+ ext: "fbx",
+ mime: "application/x-ft-fbx"
+ };
+ }
+ if (this.check([76, 80], { offset: 34 }) && (this.check([0, 0, 1], { offset: 8 }) || this.check([1, 0, 2], { offset: 8 }) || this.check([2, 0, 2], { offset: 8 }))) {
+ return {
+ ext: "eot",
+ mime: "application/vnd.ms-fontobject"
+ };
+ }
+ if (this.check([6, 6, 237, 245, 216, 29, 70, 229, 189, 49, 239, 231, 254, 116, 183, 29])) {
+ return {
+ ext: "indd",
+ mime: "application/x-indesign"
+ };
+ }
+ if (this.check([255, 255, 0, 0, 7, 0, 0, 0, 4, 0, 0, 0, 1, 0, 1, 0]) || this.check([0, 0, 255, 255, 0, 0, 0, 7, 0, 0, 0, 4, 0, 1, 0, 1])) {
+ return {
+ ext: "jmp",
+ mime: "application/x-jmp-data"
+ };
+ }
+ await tokenizer.peekBuffer(this.buffer, { length: Math.min(512, tokenizer.fileInfo.size), mayBeLess: true });
+ if (this.checkString("ustar", { offset: 257 }) && (this.checkString("\0", { offset: 262 }) || this.checkString(" ", { offset: 262 })) || this.check([0, 0, 0, 0, 0, 0], { offset: 257 }) && tarHeaderChecksumMatches(this.buffer)) {
+ return {
+ ext: "tar",
+ mime: "application/x-tar"
+ };
+ }
+ if (this.check([255, 254])) {
+ const encoding = "utf-16le";
+ if (this.checkString("= isoStandardIdentifierOffset + isoStandardIdentifierLength) {
+ const isoStandardIdentifier = new Uint8Array(isoStandardIdentifierLength);
+ await tokenizer.peekBuffer(isoStandardIdentifier, {
+ position: isoStandardIdentifierOffset,
+ length: isoStandardIdentifierLength,
+ mayBeLess: true
+ });
+ if (checkBytes(isoStandardIdentifier, stringToBytes("CD001"))) {
+ return {
+ ext: "iso",
+ mime: "application/x-iso9660-image"
+ };
+ }
+ }
+ }, "detectConfident");
+ // Detections with limited supporting data, resulting in a higher likelihood of false positives
+ detectImprecise = /* @__PURE__ */ __name(async (tokenizer) => {
+ this.buffer = new Uint8Array(reasonableDetectionSizeInBytes);
+ const fileSize = getKnownFileSizeOrMaximum(tokenizer.fileInfo.size);
+ await tokenizer.peekBuffer(this.buffer, { length: Math.min(8, fileSize), mayBeLess: true });
+ if (this.check([0, 0, 1, 186]) || this.check([0, 0, 1, 179])) {
+ return {
+ ext: "mpg",
+ mime: "video/mpeg"
+ };
+ }
+ if (this.check([0, 1, 0, 0, 0])) {
+ return {
+ ext: "ttf",
+ mime: "font/ttf"
+ };
+ }
+ if (this.check([0, 0, 1, 0])) {
+ return {
+ ext: "ico",
+ mime: "image/x-icon"
+ };
+ }
+ if (this.check([0, 0, 2, 0])) {
+ return {
+ ext: "cur",
+ mime: "image/x-icon"
+ };
+ }
+ await tokenizer.peekBuffer(this.buffer, { length: Math.min(4 + this.options.mpegOffsetTolerance, fileSize), mayBeLess: true });
+ if (this.buffer.length >= 4 + this.options.mpegOffsetTolerance) {
+ for (let depth = 0; depth <= this.options.mpegOffsetTolerance; ++depth) {
+ const type = this.scanMpeg(depth);
+ if (type) {
+ return type;
+ }
+ }
+ }
+ }, "detectImprecise");
+ async readTiffTag(bigEndian) {
+ const tagId = await this.tokenizer.readToken(bigEndian ? UINT16_BE : UINT16_LE);
+ await this.tokenizer.ignore(10);
+ switch (tagId) {
+ case 50341:
+ return {
+ ext: "arw",
+ mime: "image/x-sony-arw"
+ };
+ case 50706:
+ return {
+ ext: "dng",
+ mime: "image/x-adobe-dng"
+ };
+ default:
+ }
+ }
+ async readTiffIFD(bigEndian) {
+ const numberOfTags = await this.tokenizer.readToken(bigEndian ? UINT16_BE : UINT16_LE);
+ if (numberOfTags > maximumTiffTagCount) {
+ return;
+ }
+ if (hasUnknownFileSize(this.tokenizer) && 2 + numberOfTags * 12 > maximumTiffIfdOffsetInBytes) {
+ return;
+ }
+ for (let n = 0; n < numberOfTags; ++n) {
+ const fileType = await this.readTiffTag(bigEndian);
+ if (fileType) {
+ return fileType;
+ }
+ }
+ }
+ async readTiffHeader(bigEndian) {
+ const tiffFileType = {
+ ext: "tif",
+ mime: "image/tiff"
+ };
+ const version = (bigEndian ? UINT16_BE : UINT16_LE).get(this.buffer, 2);
+ const ifdOffset = (bigEndian ? UINT32_BE : UINT32_LE).get(this.buffer, 4);
+ if (version === 42) {
+ if (ifdOffset >= 6) {
+ if (this.checkString("CR", { offset: 8 })) {
+ return {
+ ext: "cr2",
+ mime: "image/x-canon-cr2"
+ };
+ }
+ if (ifdOffset >= 8) {
+ const someId1 = (bigEndian ? UINT16_BE : UINT16_LE).get(this.buffer, 8);
+ const someId2 = (bigEndian ? UINT16_BE : UINT16_LE).get(this.buffer, 10);
+ if (someId1 === 28 && someId2 === 254 || someId1 === 31 && someId2 === 11) {
+ return {
+ ext: "nef",
+ mime: "image/x-nikon-nef"
+ };
+ }
+ }
+ }
+ if (hasUnknownFileSize(this.tokenizer) && ifdOffset > maximumTiffStreamIfdOffsetInBytes) {
+ return tiffFileType;
+ }
+ const maximumTiffOffset = hasUnknownFileSize(this.tokenizer) ? maximumTiffIfdOffsetInBytes : this.tokenizer.fileInfo.size;
+ try {
+ await safeIgnore(this.tokenizer, ifdOffset, {
+ maximumLength: maximumTiffOffset,
+ reason: "TIFF IFD offset"
+ });
+ } catch (error) {
+ if (error instanceof EndOfStreamError) {
+ return;
+ }
+ throw error;
+ }
+ let fileType;
+ try {
+ fileType = await this.readTiffIFD(bigEndian);
+ } catch (error) {
+ if (error instanceof EndOfStreamError) {
+ return;
+ }
+ throw error;
+ }
+ return fileType ?? tiffFileType;
+ }
+ if (version === 43) {
+ return tiffFileType;
+ }
+ }
+ /**
+ Scan check MPEG 1 or 2 Layer 3 header, or 'layer 0' for ADTS (MPEG sync-word 0xFFE).
+
+ @param offset - Offset to scan for sync-preamble.
+ @returns {{ext: string, mime: string}}
+ */
+ scanMpeg(offset) {
+ if (this.check([255, 224], { offset, mask: [255, 224] })) {
+ if (this.check([16], { offset: offset + 1, mask: [22] })) {
+ return {
+ ext: "aac",
+ mime: "audio/aac"
+ };
+ }
+ if (this.check([255, 254], { offset })) {
+ return;
+ }
+ if (this.check([8], { offset: offset + 1, mask: [24] })) {
+ return;
+ }
+ if (this.check([240], { offset: offset + 2, mask: [240] })) {
+ return;
+ }
+ if (this.check([12], { offset: offset + 2, mask: [12] })) {
+ return;
+ }
+ if (this.check([2], { offset: offset + 1, mask: [6] })) {
+ return {
+ ext: "mp3",
+ mime: "audio/mpeg"
+ };
+ }
+ if (this.check([4], { offset: offset + 1, mask: [6] })) {
+ return {
+ ext: "mp2",
+ mime: "audio/mpeg"
+ };
+ }
+ if (this.check([6], { offset: offset + 1, mask: [6] })) {
+ return {
+ ext: "mp1",
+ mime: "audio/mpeg"
+ };
+ }
+ }
+ }
+ };
+ supportedExtensions = new Set(extensions);
+ supportedMimeTypes = new Set(mimeTypes);
+ __name(fileTypeFromFile, "fileTypeFromFile");
+ }
+});
+init_source();
+export {
+ FileTypeParser,
+ fileTypeFromBlob,
+ fileTypeFromBuffer,
+ fileTypeFromFile,
+ fileTypeFromStream,
+ fileTypeFromTokenizer,
+ fileTypeStream,
+ normalizeSampleSize,
+ reasonableDetectionSizeInBytes,
+ supportedExtensions,
+ supportedMimeTypes
+};
diff --git a/apps/api/.output/dist/main.js b/apps/api/.output/dist/main.js
new file mode 100644
index 0000000..d61da50
--- /dev/null
+++ b/apps/api/.output/dist/main.js
@@ -0,0 +1,3595 @@
+import { createRequire as __bundleCreateRequire } from "node:module"; const require = __bundleCreateRequire(import.meta.url);
+import {
+ ACCEPTED_IMAGE_TYPES,
+ AuditService,
+ AuthService,
+ CommonModule,
+ JwtModule,
+ JwtService,
+ MESSAGE_STATUSES,
+ PrismaModule,
+ PrismaService,
+ RevalidateService,
+ S3Storage,
+ SECTION_KEYS,
+ categoryInputSchema,
+ changePasswordSchema,
+ contactInputSchema,
+ env,
+ external_exports,
+ hashPassword,
+ isProd,
+ isSectionKey,
+ loginSchema,
+ mediaUpdateSchema,
+ messageUpdateSchema,
+ prismaNamespace_exports,
+ productInputSchema,
+ productListQuerySchema,
+ reorderSchema,
+ sectionSchemas,
+ toIssues,
+ toUserDto,
+ toWebp,
+ userCreateSchema,
+ userUpdateSchema
+} from "./chunks/chunk-TXBARIZB.js";
+import "./chunks/chunk-KIUJQ22G.js";
+import {
+ APP_FILTER,
+ APP_GUARD,
+ FileInterceptor,
+ NestFactory,
+ Reflector,
+ core_exports,
+ init_core,
+ init_platform_express,
+ require_cookie
+} from "./chunks/chunk-XSOBN2CI.js";
+import {
+ BadRequestException,
+ Body,
+ Catch,
+ ConflictException,
+ Controller,
+ Delete,
+ ForbiddenException,
+ Get,
+ HttpCode,
+ HttpStatus,
+ Injectable,
+ Logger,
+ Module,
+ NotFoundException,
+ Param,
+ Patch,
+ Post,
+ Put,
+ Query,
+ Req,
+ Res,
+ ServiceUnavailableException,
+ SetMetadata,
+ UnauthorizedException,
+ UploadedFile,
+ UseGuards,
+ UseInterceptors,
+ applyDecorators,
+ common_exports,
+ createParamDecorator,
+ init_common
+} from "./chunks/chunk-BX2ML7LW.js";
+import "./chunks/chunk-C4DYPKAN.js";
+import "./chunks/chunk-A34KYKJP.js";
+import "./chunks/chunk-6UPY3HEI.js";
+import {
+ __commonJS,
+ __name,
+ __require,
+ __toCommonJS,
+ __toESM
+} from "./chunks/chunk-T6GW54FI.js";
+
+// ../../node_modules/.pnpm/cookie-signature@1.0.6/node_modules/cookie-signature/index.js
+var require_cookie_signature = __commonJS({
+ "../../node_modules/.pnpm/cookie-signature@1.0.6/node_modules/cookie-signature/index.js"(exports) {
+ var crypto = __require("crypto");
+ exports.sign = function(val, secret) {
+ if ("string" != typeof val) throw new TypeError("Cookie value must be provided as a string.");
+ if ("string" != typeof secret) throw new TypeError("Secret string must be provided.");
+ return val + "." + crypto.createHmac("sha256", secret).update(val).digest("base64").replace(/\=+$/, "");
+ };
+ exports.unsign = function(val, secret) {
+ if ("string" != typeof val) throw new TypeError("Signed cookie string must be provided.");
+ if ("string" != typeof secret) throw new TypeError("Secret string must be provided.");
+ var str = val.slice(0, val.lastIndexOf(".")), mac = exports.sign(str, secret);
+ return sha1(mac) == sha1(val) ? str : false;
+ };
+ function sha1(str) {
+ return crypto.createHash("sha1").update(str).digest("hex");
+ }
+ __name(sha1, "sha1");
+ }
+});
+
+// ../../node_modules/.pnpm/cookie-parser@1.4.7/node_modules/cookie-parser/index.js
+var require_cookie_parser = __commonJS({
+ "../../node_modules/.pnpm/cookie-parser@1.4.7/node_modules/cookie-parser/index.js"(exports, module) {
+ "use strict";
+ var cookie = require_cookie();
+ var signature = require_cookie_signature();
+ module.exports = cookieParser2;
+ module.exports.JSONCookie = JSONCookie;
+ module.exports.JSONCookies = JSONCookies;
+ module.exports.signedCookie = signedCookie;
+ module.exports.signedCookies = signedCookies;
+ function cookieParser2(secret, options) {
+ var secrets = !secret || Array.isArray(secret) ? secret || [] : [secret];
+ return /* @__PURE__ */ __name(function cookieParser3(req, res, next) {
+ if (req.cookies) {
+ return next();
+ }
+ var cookies = req.headers.cookie;
+ req.secret = secrets[0];
+ req.cookies = /* @__PURE__ */ Object.create(null);
+ req.signedCookies = /* @__PURE__ */ Object.create(null);
+ if (!cookies) {
+ return next();
+ }
+ req.cookies = cookie.parse(cookies, options);
+ if (secrets.length !== 0) {
+ req.signedCookies = signedCookies(req.cookies, secrets);
+ req.signedCookies = JSONCookies(req.signedCookies);
+ }
+ req.cookies = JSONCookies(req.cookies);
+ next();
+ }, "cookieParser");
+ }
+ __name(cookieParser2, "cookieParser");
+ function JSONCookie(str) {
+ if (typeof str !== "string" || str.substr(0, 2) !== "j:") {
+ return void 0;
+ }
+ try {
+ return JSON.parse(str.slice(2));
+ } catch (err) {
+ return void 0;
+ }
+ }
+ __name(JSONCookie, "JSONCookie");
+ function JSONCookies(obj) {
+ var cookies = Object.keys(obj);
+ var key;
+ var val;
+ for (var i = 0; i < cookies.length; i++) {
+ key = cookies[i];
+ val = JSONCookie(obj[key]);
+ if (val) {
+ obj[key] = val;
+ }
+ }
+ return obj;
+ }
+ __name(JSONCookies, "JSONCookies");
+ function signedCookie(str, secret) {
+ if (typeof str !== "string") {
+ return void 0;
+ }
+ if (str.substr(0, 2) !== "s:") {
+ return str;
+ }
+ var secrets = !secret || Array.isArray(secret) ? secret || [] : [secret];
+ for (var i = 0; i < secrets.length; i++) {
+ var val = signature.unsign(str.slice(2), secrets[i]);
+ if (val !== false) {
+ return val;
+ }
+ }
+ return false;
+ }
+ __name(signedCookie, "signedCookie");
+ function signedCookies(obj, secret) {
+ var cookies = Object.keys(obj);
+ var dec;
+ var key;
+ var ret = /* @__PURE__ */ Object.create(null);
+ var val;
+ for (var i = 0; i < cookies.length; i++) {
+ key = cookies[i];
+ val = obj[key];
+ dec = signedCookie(val, secret);
+ if (val !== dec) {
+ ret[key] = dec;
+ delete obj[key];
+ }
+ }
+ return ret;
+ }
+ __name(signedCookies, "signedCookies");
+ }
+});
+
+// ../../node_modules/.pnpm/@nestjs+throttler@6.7.1_@ne_8947d8974bd7ad1fe5135dd2888a680f/node_modules/@nestjs/throttler/dist/ip.js
+var require_ip = __commonJS({
+ "../../node_modules/.pnpm/@nestjs+throttler@6.7.1_@ne_8947d8974bd7ad1fe5135dd2888a680f/node_modules/@nestjs/throttler/dist/ip.js"(exports) {
+ "use strict";
+ Object.defineProperty(exports, "__esModule", { value: true });
+ exports.DEFAULT_IPV6_SUBNET_PREFIX = void 0;
+ exports.normalizeIp = normalizeIp;
+ var net_1 = __require("net");
+ exports.DEFAULT_IPV6_SUBNET_PREFIX = 64;
+ function toHextets(address) {
+ let head = address;
+ const lastColon = head.lastIndexOf(":");
+ const tail = head.slice(lastColon + 1);
+ if (tail.includes(".")) {
+ const octets = tail.split(".").map(Number);
+ if (octets.length !== 4 || octets.some((o) => !Number.isInteger(o) || o < 0 || o > 255)) {
+ return null;
+ }
+ const high = (octets[0] << 8 | octets[1]).toString(16);
+ const low = (octets[2] << 8 | octets[3]).toString(16);
+ head = `${head.slice(0, lastColon + 1)}${high}:${low}`;
+ }
+ const sides = head.split("::");
+ if (sides.length > 2) {
+ return null;
+ }
+ const left = sides[0] ? sides[0].split(":") : [];
+ const right = sides.length === 2 && sides[1] ? sides[1].split(":") : [];
+ const fill = sides.length === 2 ? 8 - left.length - right.length : 0;
+ if (fill < 0 || left.length + fill + right.length !== 8) {
+ return null;
+ }
+ const groups = [...left, ...new Array(fill).fill("0"), ...right];
+ const hextets = groups.map((group) => parseInt(group, 16));
+ if (hextets.some((hextet) => !Number.isInteger(hextet) || hextet < 0 || hextet > 65535)) {
+ return null;
+ }
+ return hextets;
+ }
+ __name(toHextets, "toHextets");
+ function maskHextets(hextets, prefix) {
+ return hextets.map((hextet, index) => {
+ const bitsBefore = index * 16;
+ if (prefix >= bitsBefore + 16) {
+ return hextet;
+ }
+ if (prefix <= bitsBefore) {
+ return 0;
+ }
+ const keep = prefix - bitsBefore;
+ return hextet & (65535 << 16 - keep & 65535);
+ });
+ }
+ __name(maskHextets, "maskHextets");
+ function formatIpv6(hextets) {
+ let bestStart = -1;
+ let bestLength = 0;
+ let runStart = -1;
+ let runLength = 0;
+ for (let index = 0; index < hextets.length; index++) {
+ if (hextets[index] !== 0) {
+ runStart = -1;
+ runLength = 0;
+ continue;
+ }
+ if (runStart === -1) {
+ runStart = index;
+ }
+ runLength++;
+ if (runLength > bestLength) {
+ bestStart = runStart;
+ bestLength = runLength;
+ }
+ }
+ const groups = hextets.map((hextet) => hextet.toString(16));
+ if (bestLength < 2) {
+ return groups.join(":");
+ }
+ return `${groups.slice(0, bestStart).join(":")}::${groups.slice(bestStart + bestLength).join(":")}`;
+ }
+ __name(formatIpv6, "formatIpv6");
+ function normalizeIp(ip, ipv6SubnetPrefix = exports.DEFAULT_IPV6_SUBNET_PREFIX) {
+ if (typeof ip !== "string" || ip.length === 0) {
+ return ip;
+ }
+ const zoneIndex = ip.indexOf("%");
+ const bare = zoneIndex === -1 ? ip : ip.slice(0, zoneIndex);
+ const version = (0, net_1.isIP)(bare);
+ if (version === 4) {
+ return bare;
+ }
+ if (version !== 6) {
+ return ip;
+ }
+ const hextets = toHextets(bare.toLowerCase());
+ if (!hextets) {
+ return ip;
+ }
+ const isLoopback = hextets[7] === 1 && hextets.slice(0, 7).every((hextet) => hextet === 0);
+ if (isLoopback) {
+ return "::1";
+ }
+ const isIpv4Mapped = hextets[0] === 0 && hextets[1] === 0 && hextets[2] === 0 && hextets[3] === 0 && hextets[4] === 0 && hextets[5] === 65535;
+ if (isIpv4Mapped) {
+ return [hextets[6] >> 8, hextets[6] & 255, hextets[7] >> 8, hextets[7] & 255].join(".");
+ }
+ const prefix = Number.isFinite(ipv6SubnetPrefix) ? Math.min(Math.max(Math.trunc(ipv6SubnetPrefix), 0), 128) : exports.DEFAULT_IPV6_SUBNET_PREFIX;
+ return `${formatIpv6(maskHextets(hextets, prefix))}/${prefix}`;
+ }
+ __name(normalizeIp, "normalizeIp");
+ }
+});
+
+// ../../node_modules/.pnpm/@nestjs+throttler@6.7.1_@ne_8947d8974bd7ad1fe5135dd2888a680f/node_modules/@nestjs/throttler/dist/throttler-module-options.interface.js
+var require_throttler_module_options_interface = __commonJS({
+ "../../node_modules/.pnpm/@nestjs+throttler@6.7.1_@ne_8947d8974bd7ad1fe5135dd2888a680f/node_modules/@nestjs/throttler/dist/throttler-module-options.interface.js"(exports) {
+ "use strict";
+ Object.defineProperty(exports, "__esModule", { value: true });
+ }
+});
+
+// ../../node_modules/.pnpm/@nestjs+throttler@6.7.1_@ne_8947d8974bd7ad1fe5135dd2888a680f/node_modules/@nestjs/throttler/dist/throttler-storage.interface.js
+var require_throttler_storage_interface = __commonJS({
+ "../../node_modules/.pnpm/@nestjs+throttler@6.7.1_@ne_8947d8974bd7ad1fe5135dd2888a680f/node_modules/@nestjs/throttler/dist/throttler-storage.interface.js"(exports) {
+ "use strict";
+ Object.defineProperty(exports, "__esModule", { value: true });
+ exports.ThrottlerStorage = void 0;
+ exports.ThrottlerStorage = /* @__PURE__ */ Symbol("ThrottlerStorage");
+ }
+});
+
+// ../../node_modules/.pnpm/@nestjs+throttler@6.7.1_@ne_8947d8974bd7ad1fe5135dd2888a680f/node_modules/@nestjs/throttler/dist/throttler.constants.js
+var require_throttler_constants = __commonJS({
+ "../../node_modules/.pnpm/@nestjs+throttler@6.7.1_@ne_8947d8974bd7ad1fe5135dd2888a680f/node_modules/@nestjs/throttler/dist/throttler.constants.js"(exports) {
+ "use strict";
+ Object.defineProperty(exports, "__esModule", { value: true });
+ exports.THROTTLER_SKIP = exports.THROTTLER_OPTIONS = exports.THROTTLER_KEY_GENERATOR = exports.THROTTLER_BLOCK_DURATION = exports.THROTTLER_TRACKER = exports.THROTTLER_TTL = exports.THROTTLER_LIMIT = void 0;
+ exports.THROTTLER_LIMIT = "THROTTLER:LIMIT";
+ exports.THROTTLER_TTL = "THROTTLER:TTL";
+ exports.THROTTLER_TRACKER = "THROTTLER:TRACKER";
+ exports.THROTTLER_BLOCK_DURATION = "THROTTLER:BLOCK_DURATION";
+ exports.THROTTLER_KEY_GENERATOR = "THROTTLER:KEY_GENERATOR";
+ exports.THROTTLER_OPTIONS = "THROTTLER:MODULE_OPTIONS";
+ exports.THROTTLER_SKIP = "THROTTLER:SKIP";
+ }
+});
+
+// ../../node_modules/.pnpm/@nestjs+throttler@6.7.1_@ne_8947d8974bd7ad1fe5135dd2888a680f/node_modules/@nestjs/throttler/dist/throttler.service.js
+var require_throttler_service = __commonJS({
+ "../../node_modules/.pnpm/@nestjs+throttler@6.7.1_@ne_8947d8974bd7ad1fe5135dd2888a680f/node_modules/@nestjs/throttler/dist/throttler.service.js"(exports) {
+ "use strict";
+ var __decorate15 = exports && exports.__decorate || function(decorators, target, key, desc) {
+ var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
+ if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
+ else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
+ return c > 3 && r && Object.defineProperty(target, key, r), r;
+ };
+ Object.defineProperty(exports, "__esModule", { value: true });
+ exports.ThrottlerStorageService = exports.DEFAULT_SWEEP_INTERVAL = void 0;
+ var common_1 = (init_common(), __toCommonJS(common_exports));
+ var async_hooks_1 = __require("async_hooks");
+ exports.DEFAULT_SWEEP_INTERVAL = 6e4;
+ var ThrottlerStorageService = class ThrottlerStorageService {
+ static {
+ __name(this, "ThrottlerStorageService");
+ }
+ constructor() {
+ this._storage = /* @__PURE__ */ new Map();
+ this.hitExpirations = /* @__PURE__ */ new Map();
+ this.sweepIntervalMs = exports.DEFAULT_SWEEP_INTERVAL;
+ this.startSweep = async_hooks_1.AsyncResource.bind(() => {
+ var _a, _b;
+ this.sweepInterval = setInterval(() => this.evictIdleRecords(), this.sweepIntervalMs);
+ (_b = (_a = this.sweepInterval).unref) === null || _b === void 0 ? void 0 : _b.call(_a);
+ });
+ }
+ ensureSweep() {
+ if (this.sweepInterval) {
+ return;
+ }
+ this.startSweep();
+ }
+ get storage() {
+ return this._storage;
+ }
+ evictIdleRecords(now = Date.now()) {
+ for (const [key, record] of this._storage) {
+ if (record.isBlocked && record.blockExpiresAt > now) {
+ continue;
+ }
+ if (record.expiresAt > now) {
+ continue;
+ }
+ if (this.hasLiveHits(key, now)) {
+ continue;
+ }
+ this.hitExpirations.delete(key);
+ this._storage.delete(key);
+ }
+ }
+ hasLiveHits(key, now) {
+ const expirations = this.hitExpirations.get(key);
+ if (!expirations) {
+ return false;
+ }
+ for (const hits of expirations.values()) {
+ if (hits.some((expiresAt) => expiresAt > now)) {
+ return true;
+ }
+ }
+ return false;
+ }
+ getHitExpirations(key, throttlerName) {
+ let expirations = this.hitExpirations.get(key);
+ if (!expirations) {
+ expirations = /* @__PURE__ */ new Map();
+ this.hitExpirations.set(key, expirations);
+ }
+ let hits = expirations.get(throttlerName);
+ if (!hits) {
+ hits = [];
+ expirations.set(throttlerName, hits);
+ }
+ return hits;
+ }
+ pruneExpiredHits(key, throttlerName, now = Date.now()) {
+ const hits = this.getHitExpirations(key, throttlerName).filter((expiresAt) => expiresAt > now);
+ this.hitExpirations.get(key).set(throttlerName, hits);
+ this.storage.get(key).totalHits.set(throttlerName, hits.length);
+ }
+ getExpirationTime(key) {
+ return Math.ceil((this.storage.get(key).expiresAt - Date.now()) / 1e3);
+ }
+ getBlockExpirationTime(key) {
+ return Math.ceil((this.storage.get(key).blockExpiresAt - Date.now()) / 1e3);
+ }
+ resetBlockedRequest(key, throttlerName) {
+ this.storage.get(key).isBlocked = false;
+ this.storage.get(key).totalHits.set(throttlerName, 0);
+ this.hitExpirations.get(key).set(throttlerName, []);
+ }
+ fireHitCount(key, throttlerName, ttl) {
+ const { totalHits } = this.storage.get(key);
+ totalHits.set(throttlerName, totalHits.get(throttlerName) + 1);
+ this.getHitExpirations(key, throttlerName).push(Date.now() + ttl);
+ }
+ incrementWithoutBlock(key, ttlMilliseconds, limit, throttlerName, timeToExpire) {
+ const { totalHits } = this.storage.get(key);
+ const isBlocked = totalHits.get(throttlerName) >= limit;
+ if (!isBlocked) {
+ this.fireHitCount(key, throttlerName, ttlMilliseconds);
+ }
+ const hits = this.getHitExpirations(key, throttlerName);
+ const timeToBlockExpire = hits.length ? Math.ceil((Math.min(...hits) - Date.now()) / 1e3) : timeToExpire;
+ return {
+ totalHits: totalHits.get(throttlerName) + (isBlocked ? 1 : 0),
+ timeToExpire,
+ isBlocked,
+ timeToBlockExpire: isBlocked ? timeToBlockExpire : 0
+ };
+ }
+ async increment(key, ttl, limit, blockDuration, throttlerName) {
+ const ttlMilliseconds = ttl;
+ const blockDurationMilliseconds = blockDuration;
+ this.ensureSweep();
+ if (!this.storage.has(key)) {
+ this.storage.set(key, {
+ totalHits: /* @__PURE__ */ new Map([[throttlerName, 0]]),
+ expiresAt: Date.now() + ttlMilliseconds,
+ blockExpiresAt: 0,
+ isBlocked: false
+ });
+ }
+ this.pruneExpiredHits(key, throttlerName);
+ let timeToExpire = this.getExpirationTime(key);
+ if (timeToExpire <= 0) {
+ this.storage.get(key).expiresAt = Date.now() + ttlMilliseconds;
+ timeToExpire = this.getExpirationTime(key);
+ }
+ if (blockDurationMilliseconds <= 0) {
+ return this.incrementWithoutBlock(key, ttlMilliseconds, limit, throttlerName, timeToExpire);
+ }
+ if (!this.storage.get(key).isBlocked) {
+ this.fireHitCount(key, throttlerName, ttlMilliseconds);
+ }
+ if (this.storage.get(key).totalHits.get(throttlerName) > limit && !this.storage.get(key).isBlocked) {
+ this.storage.get(key).isBlocked = true;
+ this.storage.get(key).blockExpiresAt = Date.now() + blockDurationMilliseconds;
+ }
+ const timeToBlockExpire = this.getBlockExpirationTime(key);
+ if (timeToBlockExpire <= 0 && this.storage.get(key).isBlocked) {
+ this.resetBlockedRequest(key, throttlerName);
+ this.fireHitCount(key, throttlerName, ttlMilliseconds);
+ }
+ return {
+ totalHits: this.storage.get(key).totalHits.get(throttlerName),
+ timeToExpire,
+ isBlocked: this.storage.get(key).isBlocked,
+ timeToBlockExpire
+ };
+ }
+ onApplicationShutdown() {
+ if (this.sweepInterval) {
+ clearInterval(this.sweepInterval);
+ this.sweepInterval = void 0;
+ }
+ this.hitExpirations.clear();
+ this._storage.clear();
+ }
+ };
+ exports.ThrottlerStorageService = ThrottlerStorageService;
+ exports.ThrottlerStorageService = ThrottlerStorageService = __decorate15([
+ (0, common_1.Injectable)()
+ ], ThrottlerStorageService);
+ }
+});
+
+// ../../node_modules/.pnpm/@nestjs+throttler@6.7.1_@ne_8947d8974bd7ad1fe5135dd2888a680f/node_modules/@nestjs/throttler/dist/throttler.providers.js
+var require_throttler_providers = __commonJS({
+ "../../node_modules/.pnpm/@nestjs+throttler@6.7.1_@ne_8947d8974bd7ad1fe5135dd2888a680f/node_modules/@nestjs/throttler/dist/throttler.providers.js"(exports) {
+ "use strict";
+ Object.defineProperty(exports, "__esModule", { value: true });
+ exports.getStorageToken = exports.getOptionsToken = exports.ThrottlerStorageProvider = void 0;
+ exports.createThrottlerProviders = createThrottlerProviders;
+ var throttler_storage_interface_1 = require_throttler_storage_interface();
+ var throttler_constants_1 = require_throttler_constants();
+ var throttler_service_1 = require_throttler_service();
+ function createThrottlerProviders(options) {
+ return [
+ {
+ provide: throttler_constants_1.THROTTLER_OPTIONS,
+ useValue: options
+ }
+ ];
+ }
+ __name(createThrottlerProviders, "createThrottlerProviders");
+ exports.ThrottlerStorageProvider = {
+ provide: throttler_storage_interface_1.ThrottlerStorage,
+ useFactory: /* @__PURE__ */ __name((options) => {
+ return !Array.isArray(options) && options.storage ? options.storage : new throttler_service_1.ThrottlerStorageService();
+ }, "useFactory"),
+ inject: [throttler_constants_1.THROTTLER_OPTIONS]
+ };
+ var getOptionsToken = /* @__PURE__ */ __name(() => throttler_constants_1.THROTTLER_OPTIONS, "getOptionsToken");
+ exports.getOptionsToken = getOptionsToken;
+ var getStorageToken = /* @__PURE__ */ __name(() => throttler_storage_interface_1.ThrottlerStorage, "getStorageToken");
+ exports.getStorageToken = getStorageToken;
+ }
+});
+
+// ../../node_modules/.pnpm/@nestjs+throttler@6.7.1_@ne_8947d8974bd7ad1fe5135dd2888a680f/node_modules/@nestjs/throttler/dist/throttler.decorator.js
+var require_throttler_decorator = __commonJS({
+ "../../node_modules/.pnpm/@nestjs+throttler@6.7.1_@ne_8947d8974bd7ad1fe5135dd2888a680f/node_modules/@nestjs/throttler/dist/throttler.decorator.js"(exports) {
+ "use strict";
+ Object.defineProperty(exports, "__esModule", { value: true });
+ exports.InjectThrottlerStorage = exports.InjectThrottlerOptions = exports.SkipThrottle = exports.Throttle = void 0;
+ var common_1 = (init_common(), __toCommonJS(common_exports));
+ var throttler_constants_1 = require_throttler_constants();
+ var throttler_providers_1 = require_throttler_providers();
+ function setThrottlerMetadata(target, options) {
+ for (const name in options) {
+ Reflect.defineMetadata(throttler_constants_1.THROTTLER_TTL + name, options[name].ttl, target);
+ Reflect.defineMetadata(throttler_constants_1.THROTTLER_LIMIT + name, options[name].limit, target);
+ Reflect.defineMetadata(throttler_constants_1.THROTTLER_BLOCK_DURATION + name, options[name].blockDuration, target);
+ Reflect.defineMetadata(throttler_constants_1.THROTTLER_TRACKER + name, options[name].getTracker, target);
+ Reflect.defineMetadata(throttler_constants_1.THROTTLER_KEY_GENERATOR + name, options[name].generateKey, target);
+ }
+ }
+ __name(setThrottlerMetadata, "setThrottlerMetadata");
+ var Throttle3 = /* @__PURE__ */ __name((options) => {
+ return (target, propertyKey, descriptor) => {
+ if (descriptor) {
+ setThrottlerMetadata(descriptor.value, options);
+ return descriptor;
+ }
+ setThrottlerMetadata(target, options);
+ return target;
+ };
+ }, "Throttle");
+ exports.Throttle = Throttle3;
+ var SkipThrottle = /* @__PURE__ */ __name((skip = { default: true }) => {
+ return (target, propertyKey, descriptor) => {
+ var _a;
+ const reflectionTarget = (_a = descriptor === null || descriptor === void 0 ? void 0 : descriptor.value) !== null && _a !== void 0 ? _a : target;
+ for (const key in skip) {
+ Reflect.defineMetadata(throttler_constants_1.THROTTLER_SKIP + key, skip[key], reflectionTarget);
+ }
+ return descriptor !== null && descriptor !== void 0 ? descriptor : target;
+ };
+ }, "SkipThrottle");
+ exports.SkipThrottle = SkipThrottle;
+ var InjectThrottlerOptions = /* @__PURE__ */ __name(() => (0, common_1.Inject)((0, throttler_providers_1.getOptionsToken)()), "InjectThrottlerOptions");
+ exports.InjectThrottlerOptions = InjectThrottlerOptions;
+ var InjectThrottlerStorage = /* @__PURE__ */ __name(() => (0, common_1.Inject)((0, throttler_providers_1.getStorageToken)()), "InjectThrottlerStorage");
+ exports.InjectThrottlerStorage = InjectThrottlerStorage;
+ }
+});
+
+// ../../node_modules/.pnpm/@nestjs+throttler@6.7.1_@ne_8947d8974bd7ad1fe5135dd2888a680f/node_modules/@nestjs/throttler/dist/throttler.exception.js
+var require_throttler_exception = __commonJS({
+ "../../node_modules/.pnpm/@nestjs+throttler@6.7.1_@ne_8947d8974bd7ad1fe5135dd2888a680f/node_modules/@nestjs/throttler/dist/throttler.exception.js"(exports) {
+ "use strict";
+ Object.defineProperty(exports, "__esModule", { value: true });
+ exports.ThrottlerException = exports.throttlerMessage = void 0;
+ var common_1 = (init_common(), __toCommonJS(common_exports));
+ exports.throttlerMessage = "ThrottlerException: Too Many Requests";
+ var ThrottlerException = class extends common_1.HttpException {
+ static {
+ __name(this, "ThrottlerException");
+ }
+ constructor(message) {
+ super(`${message || exports.throttlerMessage}`, common_1.HttpStatus.TOO_MANY_REQUESTS);
+ }
+ };
+ exports.ThrottlerException = ThrottlerException;
+ }
+});
+
+// ../../node_modules/.pnpm/@nestjs+throttler@6.7.1_@ne_8947d8974bd7ad1fe5135dd2888a680f/node_modules/@nestjs/throttler/dist/hash.js
+var require_hash = __commonJS({
+ "../../node_modules/.pnpm/@nestjs+throttler@6.7.1_@ne_8947d8974bd7ad1fe5135dd2888a680f/node_modules/@nestjs/throttler/dist/hash.js"(exports) {
+ "use strict";
+ Object.defineProperty(exports, "__esModule", { value: true });
+ exports.sha256 = sha256;
+ var crypto = __require("node:crypto");
+ function sha256(text) {
+ return crypto.createHash("sha256").update(text).digest("hex");
+ }
+ __name(sha256, "sha256");
+ }
+});
+
+// ../../node_modules/.pnpm/@nestjs+throttler@6.7.1_@ne_8947d8974bd7ad1fe5135dd2888a680f/node_modules/@nestjs/throttler/dist/throttler.guard.js
+var require_throttler_guard = __commonJS({
+ "../../node_modules/.pnpm/@nestjs+throttler@6.7.1_@ne_8947d8974bd7ad1fe5135dd2888a680f/node_modules/@nestjs/throttler/dist/throttler.guard.js"(exports) {
+ "use strict";
+ var __decorate15 = exports && exports.__decorate || function(decorators, target, key, desc) {
+ var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
+ if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
+ else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
+ return c > 3 && r && Object.defineProperty(target, key, r), r;
+ };
+ var __metadata14 = exports && exports.__metadata || function(k, v) {
+ if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
+ };
+ var __param8 = exports && exports.__param || function(paramIndex, decorator) {
+ return function(target, key) {
+ decorator(target, key, paramIndex);
+ };
+ };
+ var ThrottlerGuard_1;
+ Object.defineProperty(exports, "__esModule", { value: true });
+ exports.ThrottlerGuard = void 0;
+ var common_1 = (init_common(), __toCommonJS(common_exports));
+ var core_1 = (init_core(), __toCommonJS(core_exports));
+ var hash_1 = require_hash();
+ var ip_1 = require_ip();
+ var throttler_storage_interface_1 = require_throttler_storage_interface();
+ var throttler_constants_1 = require_throttler_constants();
+ var throttler_decorator_1 = require_throttler_decorator();
+ var throttler_exception_1 = require_throttler_exception();
+ var ThrottlerGuard2 = ThrottlerGuard_1 = class ThrottlerGuard {
+ static {
+ __name(this, "ThrottlerGuard");
+ }
+ constructor(options, storageService, reflector) {
+ this.options = options;
+ this.storageService = storageService;
+ this.reflector = reflector;
+ this.headerPrefix = "X-RateLimit";
+ this.logger = new common_1.Logger(ThrottlerGuard_1.name);
+ this.errorMessage = throttler_exception_1.throttlerMessage;
+ this.ipv6SubnetPrefix = ip_1.DEFAULT_IPV6_SUBNET_PREFIX;
+ }
+ async onModuleInit() {
+ var _a, _b, _c;
+ var _d, _e;
+ this.throttlers = (Array.isArray(this.options) ? this.options : this.options.throttlers).sort((first, second) => {
+ if (typeof first.ttl === "function") {
+ return 1;
+ }
+ if (typeof second.ttl === "function") {
+ return 0;
+ }
+ return first.ttl - second.ttl;
+ }).map((opt) => {
+ var _a2;
+ return Object.assign(Object.assign({}, opt), { name: (_a2 = opt.name) !== null && _a2 !== void 0 ? _a2 : "default" });
+ });
+ if (!this.throttlers.length) {
+ this.logger.warn("No throttlers are configured, so no request is limited. Provide at least one entry to ThrottlerModule.forRoot() or return one from ThrottlerModule.forRootAsync().");
+ }
+ if (Array.isArray(this.options)) {
+ this.commonOptions = {};
+ } else {
+ this.commonOptions = {
+ skipIf: this.options.skipIf,
+ ignoreUserAgents: this.options.ignoreUserAgents,
+ getTracker: this.options.getTracker,
+ generateKey: this.options.generateKey,
+ setHeaders: this.options.setHeaders
+ };
+ this.ipv6SubnetPrefix = (_a = this.options.ipv6SubnetPrefix) !== null && _a !== void 0 ? _a : ip_1.DEFAULT_IPV6_SUBNET_PREFIX;
+ }
+ (_b = (_d = this.commonOptions).getTracker) !== null && _b !== void 0 ? _b : _d.getTracker = this.getTracker.bind(this);
+ (_c = (_e = this.commonOptions).generateKey) !== null && _c !== void 0 ? _c : _e.generateKey = this.generateKey.bind(this);
+ }
+ async canActivate(context) {
+ var _a;
+ const handler = context.getHandler();
+ const classRef = context.getClass();
+ if (await this.shouldSkip(context)) {
+ return true;
+ }
+ const continues = [];
+ for (const namedThrottler of this.throttlers) {
+ const skip = this.reflector.getAllAndOverride(throttler_constants_1.THROTTLER_SKIP + namedThrottler.name, [
+ handler,
+ classRef
+ ]);
+ const skipIf = namedThrottler.skipIf || this.commonOptions.skipIf;
+ if (skip || (skipIf === null || skipIf === void 0 ? void 0 : skipIf(context))) {
+ continues.push(true);
+ continue;
+ }
+ const routeOrClassLimit = this.reflector.getAllAndOverride(throttler_constants_1.THROTTLER_LIMIT + namedThrottler.name, [handler, classRef]);
+ const routeOrClassTtl = this.reflector.getAllAndOverride(throttler_constants_1.THROTTLER_TTL + namedThrottler.name, [handler, classRef]);
+ const routeOrClassBlockDuration = this.reflector.getAllAndOverride(throttler_constants_1.THROTTLER_BLOCK_DURATION + namedThrottler.name, [handler, classRef]);
+ const routeOrClassGetTracker = this.reflector.getAllAndOverride(throttler_constants_1.THROTTLER_TRACKER + namedThrottler.name, [handler, classRef]);
+ const routeOrClassGetKeyGenerator = this.reflector.getAllAndOverride(throttler_constants_1.THROTTLER_KEY_GENERATOR + namedThrottler.name, [handler, classRef]);
+ const limit = this.toNumber(await this.resolveValue(context, routeOrClassLimit !== null && routeOrClassLimit !== void 0 ? routeOrClassLimit : namedThrottler.limit), "limit", namedThrottler.name);
+ const ttl = this.toNumber(await this.resolveValue(context, routeOrClassTtl !== null && routeOrClassTtl !== void 0 ? routeOrClassTtl : namedThrottler.ttl), "ttl", namedThrottler.name);
+ const blockDuration = this.toNumber(await this.resolveValue(context, (_a = routeOrClassBlockDuration !== null && routeOrClassBlockDuration !== void 0 ? routeOrClassBlockDuration : namedThrottler.blockDuration) !== null && _a !== void 0 ? _a : ttl), "blockDuration", namedThrottler.name);
+ const getTracker = routeOrClassGetTracker || namedThrottler.getTracker || this.commonOptions.getTracker;
+ const generateKey = routeOrClassGetKeyGenerator || namedThrottler.generateKey || this.commonOptions.generateKey;
+ continues.push(await this.handleRequest({
+ context,
+ limit,
+ ttl,
+ throttler: namedThrottler,
+ blockDuration,
+ getTracker,
+ generateKey
+ }));
+ }
+ return continues.every((cont) => cont);
+ }
+ async shouldSkip(_context) {
+ return false;
+ }
+ async handleRequest(requestProps) {
+ var _a, _b, _c;
+ const { context, limit, ttl, throttler, blockDuration, getTracker, generateKey } = requestProps;
+ const { req, res } = this.getRequestResponse(context);
+ const ignoreUserAgents = (_a = throttler.ignoreUserAgents) !== null && _a !== void 0 ? _a : this.commonOptions.ignoreUserAgents;
+ if (Array.isArray(ignoreUserAgents)) {
+ for (const pattern of ignoreUserAgents) {
+ if (pattern.test(req.headers["user-agent"])) {
+ return true;
+ }
+ }
+ }
+ const tracker = await getTracker(req, context);
+ const key = generateKey(context, tracker, throttler.name);
+ const { totalHits, timeToExpire, isBlocked, timeToBlockExpire } = await this.storageService.increment(key, ttl, limit, blockDuration, throttler.name);
+ const getThrottlerSuffix = /* @__PURE__ */ __name((name) => name === "default" ? "" : `-${name}`, "getThrottlerSuffix");
+ const setHeaders = (_c = (_b = throttler.setHeaders) !== null && _b !== void 0 ? _b : this.commonOptions.setHeaders) !== null && _c !== void 0 ? _c : true;
+ if (isBlocked) {
+ if (setHeaders) {
+ this.setResponseHeader(res, `Retry-After${getThrottlerSuffix(throttler.name)}`, timeToBlockExpire);
+ }
+ await this.throwThrottlingException(context, {
+ limit,
+ ttl,
+ key,
+ tracker,
+ totalHits,
+ timeToExpire,
+ isBlocked,
+ timeToBlockExpire
+ });
+ }
+ if (setHeaders) {
+ this.setResponseHeader(res, `${this.headerPrefix}-Limit${getThrottlerSuffix(throttler.name)}`, limit);
+ this.setResponseHeader(res, `${this.headerPrefix}-Remaining${getThrottlerSuffix(throttler.name)}`, Math.max(0, limit - totalHits));
+ this.setResponseHeader(res, `${this.headerPrefix}-Reset${getThrottlerSuffix(throttler.name)}`, timeToExpire);
+ }
+ return true;
+ }
+ async getTracker(req) {
+ return (0, ip_1.normalizeIp)(req.ip, this.ipv6SubnetPrefix);
+ }
+ setResponseHeader(res, name, value) {
+ if (typeof res.header === "function") {
+ res.header(name, value);
+ } else if (typeof res.setHeader === "function") {
+ res.setHeader(name, value);
+ }
+ }
+ getRequestResponse(context) {
+ const http = context.switchToHttp();
+ return { req: http.getRequest(), res: http.getResponse() };
+ }
+ generateKey(context, suffix, name) {
+ const prefix = `${context.getClass().name}-${context.getHandler().name}-${name}`;
+ return (0, hash_1.sha256)(`${prefix}-${suffix}`);
+ }
+ async throwThrottlingException(context, throttlerLimitDetail) {
+ throw new throttler_exception_1.ThrottlerException(await this.getErrorMessage(context, throttlerLimitDetail));
+ }
+ async getErrorMessage(context, throttlerLimitDetail) {
+ if (!Array.isArray(this.options)) {
+ if (!this.options.errorMessage)
+ return this.errorMessage;
+ return typeof this.options.errorMessage === "function" ? this.options.errorMessage(context, throttlerLimitDetail) : this.options.errorMessage;
+ }
+ return this.errorMessage;
+ }
+ toNumber(value, option, throttlerName) {
+ const number = typeof value === "string" && value.trim() !== "" ? Number(value) : value;
+ if (typeof number !== "number" || Number.isNaN(number)) {
+ throw new Error(`Invalid "${option}" for the "${throttlerName}" throttler: expected a number, got ${JSON.stringify(value)}.`);
+ }
+ return number;
+ }
+ async resolveValue(context, resolvableValue) {
+ return typeof resolvableValue === "function" ? resolvableValue(context) : resolvableValue;
+ }
+ };
+ exports.ThrottlerGuard = ThrottlerGuard2;
+ exports.ThrottlerGuard = ThrottlerGuard2 = ThrottlerGuard_1 = __decorate15([
+ (0, common_1.Injectable)(),
+ __param8(0, (0, throttler_decorator_1.InjectThrottlerOptions)()),
+ __param8(1, (0, throttler_decorator_1.InjectThrottlerStorage)()),
+ __metadata14("design:paramtypes", [Object, Object, core_1.Reflector])
+ ], ThrottlerGuard2);
+ }
+});
+
+// ../../node_modules/.pnpm/@nestjs+throttler@6.7.1_@ne_8947d8974bd7ad1fe5135dd2888a680f/node_modules/@nestjs/throttler/dist/throttler.guard.interface.js
+var require_throttler_guard_interface = __commonJS({
+ "../../node_modules/.pnpm/@nestjs+throttler@6.7.1_@ne_8947d8974bd7ad1fe5135dd2888a680f/node_modules/@nestjs/throttler/dist/throttler.guard.interface.js"(exports) {
+ "use strict";
+ Object.defineProperty(exports, "__esModule", { value: true });
+ }
+});
+
+// ../../node_modules/.pnpm/@nestjs+throttler@6.7.1_@ne_8947d8974bd7ad1fe5135dd2888a680f/node_modules/@nestjs/throttler/dist/throttler.module.js
+var require_throttler_module = __commonJS({
+ "../../node_modules/.pnpm/@nestjs+throttler@6.7.1_@ne_8947d8974bd7ad1fe5135dd2888a680f/node_modules/@nestjs/throttler/dist/throttler.module.js"(exports) {
+ "use strict";
+ var __decorate15 = exports && exports.__decorate || function(decorators, target, key, desc) {
+ var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
+ if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
+ else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
+ return c > 3 && r && Object.defineProperty(target, key, r), r;
+ };
+ var ThrottlerModule_1;
+ Object.defineProperty(exports, "__esModule", { value: true });
+ exports.ThrottlerModule = void 0;
+ var common_1 = (init_common(), __toCommonJS(common_exports));
+ var throttler_constants_1 = require_throttler_constants();
+ var throttler_providers_1 = require_throttler_providers();
+ var ThrottlerModule2 = ThrottlerModule_1 = class ThrottlerModule {
+ static {
+ __name(this, "ThrottlerModule");
+ }
+ static forRoot(options = []) {
+ const providers = [...(0, throttler_providers_1.createThrottlerProviders)(options), throttler_providers_1.ThrottlerStorageProvider];
+ return {
+ module: ThrottlerModule_1,
+ providers,
+ exports: providers
+ };
+ }
+ static forRootAsync(options) {
+ const providers = [...this.createAsyncProviders(options), throttler_providers_1.ThrottlerStorageProvider];
+ return {
+ module: ThrottlerModule_1,
+ imports: options.imports || [],
+ providers,
+ exports: providers
+ };
+ }
+ static createAsyncProviders(options) {
+ if (options.useExisting || options.useFactory) {
+ return [this.createAsyncOptionsProvider(options)];
+ }
+ return [
+ this.createAsyncOptionsProvider(options),
+ {
+ provide: options.useClass,
+ useClass: options.useClass
+ }
+ ];
+ }
+ static createAsyncOptionsProvider(options) {
+ if (options.useFactory) {
+ return {
+ provide: throttler_constants_1.THROTTLER_OPTIONS,
+ useFactory: options.useFactory,
+ inject: options.inject || []
+ };
+ }
+ return {
+ provide: throttler_constants_1.THROTTLER_OPTIONS,
+ useFactory: /* @__PURE__ */ __name(async (optionsFactory) => await optionsFactory.createThrottlerOptions(), "useFactory"),
+ inject: [options.useExisting || options.useClass]
+ };
+ }
+ };
+ exports.ThrottlerModule = ThrottlerModule2;
+ exports.ThrottlerModule = ThrottlerModule2 = ThrottlerModule_1 = __decorate15([
+ (0, common_1.Global)(),
+ (0, common_1.Module)({})
+ ], ThrottlerModule2);
+ }
+});
+
+// ../../node_modules/.pnpm/@nestjs+throttler@6.7.1_@ne_8947d8974bd7ad1fe5135dd2888a680f/node_modules/@nestjs/throttler/dist/utilities.js
+var require_utilities = __commonJS({
+ "../../node_modules/.pnpm/@nestjs+throttler@6.7.1_@ne_8947d8974bd7ad1fe5135dd2888a680f/node_modules/@nestjs/throttler/dist/utilities.js"(exports) {
+ "use strict";
+ Object.defineProperty(exports, "__esModule", { value: true });
+ exports.weeks = exports.days = exports.hours = exports.minutes = exports.seconds = void 0;
+ var seconds = /* @__PURE__ */ __name((howMany) => howMany * 1e3, "seconds");
+ exports.seconds = seconds;
+ var minutes = /* @__PURE__ */ __name((howMany) => 60 * howMany * (0, exports.seconds)(1), "minutes");
+ exports.minutes = minutes;
+ var hours = /* @__PURE__ */ __name((howMany) => 60 * howMany * (0, exports.minutes)(1), "hours");
+ exports.hours = hours;
+ var days = /* @__PURE__ */ __name((howMany) => 24 * howMany * (0, exports.hours)(1), "days");
+ exports.days = days;
+ var weeks = /* @__PURE__ */ __name((howMany) => 7 * howMany * (0, exports.days)(1), "weeks");
+ exports.weeks = weeks;
+ }
+});
+
+// ../../node_modules/.pnpm/@nestjs+throttler@6.7.1_@ne_8947d8974bd7ad1fe5135dd2888a680f/node_modules/@nestjs/throttler/dist/index.js
+var require_dist = __commonJS({
+ "../../node_modules/.pnpm/@nestjs+throttler@6.7.1_@ne_8947d8974bd7ad1fe5135dd2888a680f/node_modules/@nestjs/throttler/dist/index.js"(exports) {
+ "use strict";
+ var __createBinding = exports && exports.__createBinding || (Object.create ? (function(o, m, k, k2) {
+ if (k2 === void 0) k2 = k;
+ var desc = Object.getOwnPropertyDescriptor(m, k);
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
+ desc = { enumerable: true, get: /* @__PURE__ */ __name(function() {
+ return m[k];
+ }, "get") };
+ }
+ Object.defineProperty(o, k2, desc);
+ }) : (function(o, m, k, k2) {
+ if (k2 === void 0) k2 = k;
+ o[k2] = m[k];
+ }));
+ var __exportStar = exports && exports.__exportStar || function(m, exports2) {
+ for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports2, p)) __createBinding(exports2, m, p);
+ };
+ Object.defineProperty(exports, "__esModule", { value: true });
+ exports.getStorageToken = exports.getOptionsToken = void 0;
+ __exportStar(require_ip(), exports);
+ __exportStar(require_throttler_module_options_interface(), exports);
+ __exportStar(require_throttler_storage_interface(), exports);
+ __exportStar(require_throttler_decorator(), exports);
+ __exportStar(require_throttler_exception(), exports);
+ __exportStar(require_throttler_guard(), exports);
+ __exportStar(require_throttler_guard_interface(), exports);
+ __exportStar(require_throttler_module(), exports);
+ var throttler_providers_1 = require_throttler_providers();
+ Object.defineProperty(exports, "getOptionsToken", { enumerable: true, get: /* @__PURE__ */ __name(function() {
+ return throttler_providers_1.getOptionsToken;
+ }, "get") });
+ Object.defineProperty(exports, "getStorageToken", { enumerable: true, get: /* @__PURE__ */ __name(function() {
+ return throttler_providers_1.getStorageToken;
+ }, "get") });
+ __exportStar(require_throttler_service(), exports);
+ __exportStar(require_utilities(), exports);
+ }
+});
+
+// dist/main.js
+init_core();
+var import_cookie_parser = __toESM(require_cookie_parser(), 1);
+
+// ../../node_modules/.pnpm/helmet@8.3.0/node_modules/helmet/index.mjs
+var dashify = /* @__PURE__ */ __name((str) => str.replace(/[A-Z]/g, (capitalLetter) => "-" + capitalLetter.toLowerCase()), "dashify");
+var errify = /* @__PURE__ */ __name((err) => err instanceof Error ? err : new Error(String(err)), "errify");
+var isString = /* @__PURE__ */ __name((value) => typeof value === "string", "isString");
+var throwErrorIfExists = /* @__PURE__ */ __name((err) => {
+ if (err) throw err;
+}, "throwErrorIfExists");
+var dangerouslyDisableDefaultSrc = /* @__PURE__ */ Symbol("dangerouslyDisableDefaultSrc");
+var SHOULD_BE_QUOTED = /* @__PURE__ */ new Set(["none", "self", "strict-dynamic", "report-sample", "inline-speculation-rules", "unsafe-inline", "unsafe-eval", "unsafe-hashes", "wasm-unsafe-eval"]);
+var getDefaultDirectives = /* @__PURE__ */ __name(() => ({
+ "default-src": ["'self'"],
+ "base-uri": ["'self'"],
+ "font-src": ["'self'", "https:", "data:"],
+ "form-action": ["'self'"],
+ "frame-ancestors": ["'self'"],
+ "img-src": ["'self'", "data:"],
+ "object-src": ["'none'"],
+ "script-src": ["'self'"],
+ "script-src-attr": ["'none'"],
+ "style-src": ["'self'", "https:", "'unsafe-inline'"],
+ "upgrade-insecure-requests": []
+}), "getDefaultDirectives");
+var parseDirectiveName = /* @__PURE__ */ __name((rawDirectiveName) => {
+ if (rawDirectiveName.length === 0 || !/^[a-z](?:[a-zA-Z0-9-]*[a-zA-Z0-9])?$/.test(rawDirectiveName)) {
+ throw new Error(`Content-Security-Policy received an invalid directive name ${JSON.stringify(rawDirectiveName)}`);
+ }
+ return dashify(rawDirectiveName);
+}, "parseDirectiveName");
+var getDirectiveValueValidationError = /* @__PURE__ */ __name((directiveName, directiveValue) => /;|,/.test(directiveValue) ? new Error(`Content-Security-Policy received an invalid directive value for ${JSON.stringify(directiveName)}`) : null, "getDirectiveValueValidationError");
+var getDirectiveValueEntryValidationError = /* @__PURE__ */ __name((directiveName, directiveValueEntry) => SHOULD_BE_QUOTED.has(directiveValueEntry) || directiveValueEntry.startsWith("nonce-") || directiveValueEntry.startsWith("sha256-") || directiveValueEntry.startsWith("sha384-") || directiveValueEntry.startsWith("sha512-") ? new Error(`Content-Security-Policy received an invalid directive value for ${JSON.stringify(directiveName)}. ${JSON.stringify(directiveValueEntry)} should be quoted`) : null, "getDirectiveValueEntryValidationError");
+var stringifyDirectiveValue = /* @__PURE__ */ __name((directiveValue) => {
+ if (Array.isArray(directiveValue)) {
+ return directiveValue.every(isString) ? directiveValue.join(" ") : null;
+ }
+ if (directiveValue instanceof Set) {
+ return stringifyDirectiveValue(Array.from(directiveValue));
+ }
+ return null;
+}, "stringifyDirectiveValue");
+var parseDirectives = /* @__PURE__ */ __name(({ useDefaults = true, directives: rawDirectives = {} }) => {
+ const result = new Map(useDefaults ? Object.entries(getDefaultDirectives()) : []);
+ let hasDisabledDefaultSrc = false;
+ const directiveNamesSeen = /* @__PURE__ */ new Set();
+ for (const rawDirectiveName in rawDirectives) {
+ if (!Object.hasOwn(rawDirectives, rawDirectiveName)) {
+ continue;
+ }
+ const directiveName = parseDirectiveName(rawDirectiveName);
+ if (directiveNamesSeen.has(directiveName)) {
+ throw new Error(`Content-Security-Policy received a duplicate directive ${JSON.stringify(directiveName)}`);
+ }
+ directiveNamesSeen.add(directiveName);
+ const rawDirectiveValue = rawDirectives[rawDirectiveName];
+ let directiveValue;
+ if (rawDirectiveValue === null) {
+ if (directiveName === "default-src") {
+ throw new Error("Content-Security-Policy needs a default-src but it was set to `null`. If you really want to disable it, set it to `contentSecurityPolicy.dangerouslyDisableDefaultSrc`.");
+ }
+ result.delete(directiveName);
+ continue;
+ } else if (typeof rawDirectiveValue === "string") {
+ directiveValue = [rawDirectiveValue];
+ } else if (rawDirectiveValue === dangerouslyDisableDefaultSrc) {
+ if (directiveName === "default-src") {
+ hasDisabledDefaultSrc = true;
+ result.delete(directiveName);
+ continue;
+ } else {
+ throw new Error(`Content-Security-Policy: tried to disable ${JSON.stringify(directiveName)} as if it were default-src; simply omit the key`);
+ }
+ } else if (rawDirectiveValue) {
+ directiveValue = rawDirectiveValue;
+ } else {
+ throw new Error(`Content-Security-Policy received an invalid directive value for ${JSON.stringify(directiveName)}`);
+ }
+ for (const element of directiveValue) {
+ if (typeof element !== "string") continue;
+ throwErrorIfExists(getDirectiveValueValidationError(directiveName, element) ?? getDirectiveValueEntryValidationError(directiveName, element));
+ }
+ result.set(directiveName, directiveValue);
+ }
+ if (!result.size) {
+ throw new Error("Content-Security-Policy has no directives. Either set some or disable the header");
+ }
+ if (!result.has("default-src") && !hasDisabledDefaultSrc) {
+ throw new Error("Content-Security-Policy needs a default-src but none was provided. If you really want to disable it, set it to `contentSecurityPolicy.dangerouslyDisableDefaultSrc`.");
+ }
+ let stringResult = "";
+ let shouldUseStringResult = true;
+ for (const [directiveName, directiveValue] of result) {
+ const directiveValueString = stringifyDirectiveValue(directiveValue);
+ if (directiveValueString === null) {
+ shouldUseStringResult = false;
+ break;
+ } else {
+ if (stringResult) stringResult += ";";
+ stringResult += directiveValueString ? `${directiveName} ${directiveValueString}` : directiveName;
+ }
+ }
+ return shouldUseStringResult ? stringResult : result;
+}, "parseDirectives");
+function getHeaderValue(req, res, normalizedDirectives) {
+ const result = [];
+ for (const [directiveName, rawDirectiveValue] of normalizedDirectives) {
+ let directiveValue = "";
+ for (const element of rawDirectiveValue) {
+ if (typeof element === "function") {
+ let newElement;
+ try {
+ newElement = element(req, res);
+ } catch (err2) {
+ return errify(err2);
+ }
+ const err = getDirectiveValueEntryValidationError(directiveName, newElement);
+ if (err) return err;
+ directiveValue += " " + newElement;
+ } else {
+ directiveValue += " " + element;
+ }
+ }
+ if (directiveValue) {
+ const err = getDirectiveValueValidationError(directiveName, directiveValue);
+ if (err) return err;
+ result.push(`${directiveName}${directiveValue}`);
+ } else {
+ result.push(directiveName);
+ }
+ }
+ return result.join(";");
+}
+__name(getHeaderValue, "getHeaderValue");
+var contentSecurityPolicy = /* @__PURE__ */ __name(function contentSecurityPolicy2(options = {}) {
+ const headerName = options.reportOnly ? "Content-Security-Policy-Report-Only" : "Content-Security-Policy";
+ const parsedDirectives = parseDirectives(options);
+ if (typeof parsedDirectives === "string") {
+ return /* @__PURE__ */ __name(function contentSecurityPolicyMiddleware(_req, res, next) {
+ res.setHeader(headerName, parsedDirectives);
+ next();
+ }, "contentSecurityPolicyMiddleware");
+ }
+ return /* @__PURE__ */ __name(function contentSecurityPolicyMiddleware(req, res, next) {
+ const result = getHeaderValue(req, res, parsedDirectives);
+ if (result instanceof Error) {
+ next(result);
+ } else {
+ res.setHeader(headerName, result);
+ next();
+ }
+ }, "contentSecurityPolicyMiddleware");
+}, "contentSecurityPolicy");
+contentSecurityPolicy.getDefaultDirectives = getDefaultDirectives;
+contentSecurityPolicy.dangerouslyDisableDefaultSrc = dangerouslyDisableDefaultSrc;
+var ALLOWED_POLICIES$2 = /* @__PURE__ */ new Set(["require-corp", "credentialless", "unsafe-none"]);
+function getHeaderValueFromOptions$6({ policy = "require-corp" }) {
+ if (ALLOWED_POLICIES$2.has(policy)) {
+ return policy;
+ } else {
+ throw new Error(`Cross-Origin-Embedder-Policy does not support the ${JSON.stringify(policy)} policy`);
+ }
+}
+__name(getHeaderValueFromOptions$6, "getHeaderValueFromOptions$6");
+function crossOriginEmbedderPolicy(options = {}) {
+ const headerValue = getHeaderValueFromOptions$6(options);
+ return /* @__PURE__ */ __name(function crossOriginEmbedderPolicyMiddleware(_req, res, next) {
+ res.setHeader("Cross-Origin-Embedder-Policy", headerValue);
+ next();
+ }, "crossOriginEmbedderPolicyMiddleware");
+}
+__name(crossOriginEmbedderPolicy, "crossOriginEmbedderPolicy");
+var ALLOWED_POLICIES$1 = /* @__PURE__ */ new Set(["same-origin", "same-origin-allow-popups", "noopener-allow-popups", "unsafe-none"]);
+function getHeaderValueFromOptions$5({ policy = "same-origin" }) {
+ if (ALLOWED_POLICIES$1.has(policy)) {
+ return policy;
+ } else {
+ throw new Error(`Cross-Origin-Opener-Policy does not support the ${JSON.stringify(policy)} policy`);
+ }
+}
+__name(getHeaderValueFromOptions$5, "getHeaderValueFromOptions$5");
+function crossOriginOpenerPolicy(options = {}) {
+ const headerValue = getHeaderValueFromOptions$5(options);
+ return /* @__PURE__ */ __name(function crossOriginOpenerPolicyMiddleware(_req, res, next) {
+ res.setHeader("Cross-Origin-Opener-Policy", headerValue);
+ next();
+ }, "crossOriginOpenerPolicyMiddleware");
+}
+__name(crossOriginOpenerPolicy, "crossOriginOpenerPolicy");
+var ALLOWED_POLICIES = /* @__PURE__ */ new Set(["same-origin", "same-site", "cross-origin"]);
+function getHeaderValueFromOptions$4({ policy = "same-origin" }) {
+ if (ALLOWED_POLICIES.has(policy)) {
+ return policy;
+ } else {
+ throw new Error(`Cross-Origin-Resource-Policy does not support the ${JSON.stringify(policy)} policy`);
+ }
+}
+__name(getHeaderValueFromOptions$4, "getHeaderValueFromOptions$4");
+function crossOriginResourcePolicy(options = {}) {
+ const headerValue = getHeaderValueFromOptions$4(options);
+ return /* @__PURE__ */ __name(function crossOriginResourcePolicyMiddleware(_req, res, next) {
+ res.setHeader("Cross-Origin-Resource-Policy", headerValue);
+ next();
+ }, "crossOriginResourcePolicyMiddleware");
+}
+__name(crossOriginResourcePolicy, "crossOriginResourcePolicy");
+function originAgentCluster() {
+ return /* @__PURE__ */ __name(function originAgentClusterMiddleware(_req, res, next) {
+ res.setHeader("Origin-Agent-Cluster", "?1");
+ next();
+ }, "originAgentClusterMiddleware");
+}
+__name(originAgentCluster, "originAgentCluster");
+var ALLOWED_TOKENS = /* @__PURE__ */ new Set(["no-referrer", "no-referrer-when-downgrade", "same-origin", "origin", "strict-origin", "origin-when-cross-origin", "strict-origin-when-cross-origin", "unsafe-url", ""]);
+function getHeaderValueFromOptions$3({ policy = ["no-referrer"] }) {
+ const tokens = typeof policy === "string" ? [policy] : policy;
+ if (tokens.length === 0) {
+ throw new Error("Referrer-Policy received no policy tokens");
+ }
+ const tokensSeen = /* @__PURE__ */ new Set();
+ tokens.forEach((token) => {
+ if (!ALLOWED_TOKENS.has(token)) {
+ throw new Error(`Referrer-Policy received an unexpected policy token ${JSON.stringify(token)}`);
+ } else if (tokensSeen.has(token)) {
+ throw new Error(`Referrer-Policy received a duplicate policy token ${JSON.stringify(token)}`);
+ }
+ tokensSeen.add(token);
+ });
+ return tokens.join(",");
+}
+__name(getHeaderValueFromOptions$3, "getHeaderValueFromOptions$3");
+function referrerPolicy(options = {}) {
+ const headerValue = getHeaderValueFromOptions$3(options);
+ return /* @__PURE__ */ __name(function referrerPolicyMiddleware(_req, res, next) {
+ res.setHeader("Referrer-Policy", headerValue);
+ next();
+ }, "referrerPolicyMiddleware");
+}
+__name(referrerPolicy, "referrerPolicy");
+var DEFAULT_MAX_AGE = 365 * 24 * 60 * 60;
+function parseMaxAge(value = DEFAULT_MAX_AGE) {
+ if (value >= 0 && Number.isFinite(value)) {
+ return Math.floor(value);
+ } else {
+ throw new Error(`Strict-Transport-Security: ${JSON.stringify(value)} is not a valid value for maxAge. Please choose a positive integer.`);
+ }
+}
+__name(parseMaxAge, "parseMaxAge");
+function getHeaderValueFromOptions$2(options) {
+ if ("maxage" in options) {
+ throw new Error("Strict-Transport-Security received an unsupported property, `maxage`. Did you mean to pass `maxAge`?");
+ }
+ if ("includeSubdomains" in options) {
+ throw new Error('Strict-Transport-Security middleware should use `includeSubDomains` instead of `includeSubdomains`. (The correct one has an uppercase "D".)');
+ }
+ const directives = [`max-age=${parseMaxAge(options.maxAge)}`];
+ if (options.includeSubDomains === void 0 || options.includeSubDomains) {
+ directives.push("includeSubDomains");
+ }
+ if (options.preload) {
+ directives.push("preload");
+ }
+ return directives.join("; ");
+}
+__name(getHeaderValueFromOptions$2, "getHeaderValueFromOptions$2");
+function strictTransportSecurity(options = {}) {
+ const headerValue = getHeaderValueFromOptions$2(options);
+ return /* @__PURE__ */ __name(function strictTransportSecurityMiddleware(_req, res, next) {
+ res.setHeader("Strict-Transport-Security", headerValue);
+ next();
+ }, "strictTransportSecurityMiddleware");
+}
+__name(strictTransportSecurity, "strictTransportSecurity");
+function xContentTypeOptions() {
+ return /* @__PURE__ */ __name(function xContentTypeOptionsMiddleware(_req, res, next) {
+ res.setHeader("X-Content-Type-Options", "nosniff");
+ next();
+ }, "xContentTypeOptionsMiddleware");
+}
+__name(xContentTypeOptions, "xContentTypeOptions");
+function xDnsPrefetchControl(options = {}) {
+ const headerValue = options.allow ? "on" : "off";
+ return /* @__PURE__ */ __name(function xDnsPrefetchControlMiddleware(_req, res, next) {
+ res.setHeader("X-DNS-Prefetch-Control", headerValue);
+ next();
+ }, "xDnsPrefetchControlMiddleware");
+}
+__name(xDnsPrefetchControl, "xDnsPrefetchControl");
+function xDownloadOptions() {
+ return /* @__PURE__ */ __name(function xDownloadOptionsMiddleware(_req, res, next) {
+ res.setHeader("X-Download-Options", "noopen");
+ next();
+ }, "xDownloadOptionsMiddleware");
+}
+__name(xDownloadOptions, "xDownloadOptions");
+function getHeaderValueFromOptions$1({ action = "sameorigin" }) {
+ const normalizedAction = typeof action === "string" ? action.toUpperCase() : action;
+ switch (normalizedAction) {
+ case "SAME-ORIGIN":
+ return "SAMEORIGIN";
+ case "DENY":
+ case "SAMEORIGIN":
+ return normalizedAction;
+ default:
+ throw new Error(`X-Frame-Options received an invalid action ${JSON.stringify(action)}`);
+ }
+}
+__name(getHeaderValueFromOptions$1, "getHeaderValueFromOptions$1");
+function xFrameOptions(options = {}) {
+ const headerValue = getHeaderValueFromOptions$1(options);
+ return /* @__PURE__ */ __name(function xFrameOptionsMiddleware(_req, res, next) {
+ res.setHeader("X-Frame-Options", headerValue);
+ next();
+ }, "xFrameOptionsMiddleware");
+}
+__name(xFrameOptions, "xFrameOptions");
+var ALLOWED_PERMITTED_POLICIES = /* @__PURE__ */ new Set(["none", "master-only", "by-content-type", "all"]);
+function getHeaderValueFromOptions({ permittedPolicies = "none" }) {
+ if (ALLOWED_PERMITTED_POLICIES.has(permittedPolicies)) {
+ return permittedPolicies;
+ } else {
+ throw new Error(`X-Permitted-Cross-Domain-Policies does not support ${JSON.stringify(permittedPolicies)}`);
+ }
+}
+__name(getHeaderValueFromOptions, "getHeaderValueFromOptions");
+function xPermittedCrossDomainPolicies(options = {}) {
+ const headerValue = getHeaderValueFromOptions(options);
+ return /* @__PURE__ */ __name(function xPermittedCrossDomainPoliciesMiddleware(_req, res, next) {
+ res.setHeader("X-Permitted-Cross-Domain-Policies", headerValue);
+ next();
+ }, "xPermittedCrossDomainPoliciesMiddleware");
+}
+__name(xPermittedCrossDomainPolicies, "xPermittedCrossDomainPolicies");
+function xPoweredBy() {
+ return /* @__PURE__ */ __name(function xPoweredByMiddleware(_req, res, next) {
+ res.removeHeader("X-Powered-By");
+ next();
+ }, "xPoweredByMiddleware");
+}
+__name(xPoweredBy, "xPoweredBy");
+function xXssProtection() {
+ return /* @__PURE__ */ __name(function xXssProtectionMiddleware(_req, res, next) {
+ res.setHeader("X-XSS-Protection", "0");
+ next();
+ }, "xXssProtectionMiddleware");
+}
+__name(xXssProtection, "xXssProtection");
+function getMiddlewareFunctionsFromOptions(options) {
+ const result = [];
+ switch (options.contentSecurityPolicy) {
+ case void 0:
+ case true:
+ result.push(contentSecurityPolicy());
+ break;
+ case false:
+ break;
+ default:
+ result.push(contentSecurityPolicy(options.contentSecurityPolicy));
+ break;
+ }
+ switch (options.crossOriginEmbedderPolicy) {
+ case void 0:
+ case false:
+ break;
+ case true:
+ result.push(crossOriginEmbedderPolicy());
+ break;
+ default:
+ result.push(crossOriginEmbedderPolicy(options.crossOriginEmbedderPolicy));
+ break;
+ }
+ switch (options.crossOriginOpenerPolicy) {
+ case void 0:
+ case true:
+ result.push(crossOriginOpenerPolicy());
+ break;
+ case false:
+ break;
+ default:
+ result.push(crossOriginOpenerPolicy(options.crossOriginOpenerPolicy));
+ break;
+ }
+ switch (options.crossOriginResourcePolicy) {
+ case void 0:
+ case true:
+ result.push(crossOriginResourcePolicy());
+ break;
+ case false:
+ break;
+ default:
+ result.push(crossOriginResourcePolicy(options.crossOriginResourcePolicy));
+ break;
+ }
+ switch (options.originAgentCluster) {
+ case void 0:
+ case true:
+ result.push(originAgentCluster());
+ break;
+ case false:
+ break;
+ default:
+ console.warn("Origin-Agent-Cluster does not take options. Remove the property to silence this warning.");
+ result.push(originAgentCluster());
+ break;
+ }
+ switch (options.referrerPolicy) {
+ case void 0:
+ case true:
+ result.push(referrerPolicy());
+ break;
+ case false:
+ break;
+ default:
+ result.push(referrerPolicy(options.referrerPolicy));
+ break;
+ }
+ if ("strictTransportSecurity" in options && "hsts" in options) {
+ throw new Error("Strict-Transport-Security option was specified twice. Remove the `hsts` option to fix this error.");
+ }
+ const strictTransportSecurityOption = options.strictTransportSecurity ?? options.hsts;
+ switch (strictTransportSecurityOption) {
+ case void 0:
+ case true:
+ result.push(strictTransportSecurity());
+ break;
+ case false:
+ break;
+ default:
+ result.push(strictTransportSecurity(strictTransportSecurityOption));
+ break;
+ }
+ if ("xContentTypeOptions" in options && "noSniff" in options) {
+ throw new Error("X-Content-Type-Options option was specified twice. Remove the `noSniff` option to fix this error.");
+ }
+ const xContentTypeOptionsOption = options.xContentTypeOptions ?? options.noSniff;
+ switch (xContentTypeOptionsOption) {
+ case void 0:
+ case true:
+ result.push(xContentTypeOptions());
+ break;
+ case false:
+ break;
+ default:
+ console.warn("X-Content-Type-Options does not take options. Remove the property to silence this warning.");
+ result.push(xContentTypeOptions());
+ break;
+ }
+ if ("xDnsPrefetchControl" in options && "dnsPrefetchControl" in options) {
+ throw new Error("X-DNS-Prefetch-Control option was specified twice. Remove the `dnsPrefetchControl` option to fix this error.");
+ }
+ const xDnsPrefetchControlOption = options.xDnsPrefetchControl ?? options.dnsPrefetchControl;
+ switch (xDnsPrefetchControlOption) {
+ case void 0:
+ case true:
+ result.push(xDnsPrefetchControl());
+ break;
+ case false:
+ break;
+ default:
+ result.push(xDnsPrefetchControl(xDnsPrefetchControlOption));
+ break;
+ }
+ if ("xDownloadOptions" in options && "ieNoOpen" in options) {
+ throw new Error("X-Download-Options option was specified twice. Remove the `ieNoOpen` option to fix this error.");
+ }
+ const xDownloadOptionsOption = options.xDownloadOptions ?? options.ieNoOpen;
+ switch (xDownloadOptionsOption) {
+ case void 0:
+ case true:
+ result.push(xDownloadOptions());
+ break;
+ case false:
+ break;
+ default:
+ console.warn("X-Download-Options does not take options. Remove the property to silence this warning.");
+ result.push(xDownloadOptions());
+ break;
+ }
+ if ("xFrameOptions" in options && "frameguard" in options) {
+ throw new Error("X-Frame-Options option was specified twice. Remove the `frameguard` option to fix this error.");
+ }
+ const xFrameOptionsOption = options.xFrameOptions ?? options.frameguard;
+ switch (xFrameOptionsOption) {
+ case void 0:
+ case true:
+ result.push(xFrameOptions());
+ break;
+ case false:
+ break;
+ default:
+ result.push(xFrameOptions(xFrameOptionsOption));
+ break;
+ }
+ if ("xPermittedCrossDomainPolicies" in options && "permittedCrossDomainPolicies" in options) {
+ throw new Error("X-Permitted-Cross-Domain-Policies option was specified twice. Remove the `permittedCrossDomainPolicies` option to fix this error.");
+ }
+ const xPermittedCrossDomainPoliciesOption = options.xPermittedCrossDomainPolicies ?? options.permittedCrossDomainPolicies;
+ switch (xPermittedCrossDomainPoliciesOption) {
+ case void 0:
+ case true:
+ result.push(xPermittedCrossDomainPolicies());
+ break;
+ case false:
+ break;
+ default:
+ result.push(xPermittedCrossDomainPolicies(xPermittedCrossDomainPoliciesOption));
+ break;
+ }
+ if ("xPoweredBy" in options && "hidePoweredBy" in options) {
+ throw new Error("X-Powered-By option was specified twice. Remove the `hidePoweredBy` option to fix this error.");
+ }
+ const xPoweredByOption = options.xPoweredBy ?? options.hidePoweredBy;
+ switch (xPoweredByOption) {
+ case void 0:
+ case true:
+ result.push(xPoweredBy());
+ break;
+ case false:
+ break;
+ default:
+ console.warn("X-Powered-By does not take options. Remove the property to silence this warning.");
+ result.push(xPoweredBy());
+ break;
+ }
+ if ("xXssProtection" in options && "xssFilter" in options) {
+ throw new Error("X-XSS-Protection option was specified twice. Remove the `xssFilter` option to fix this error.");
+ }
+ const xXssProtectionOption = options.xXssProtection ?? options.xssFilter;
+ switch (xXssProtectionOption) {
+ case void 0:
+ case true:
+ result.push(xXssProtection());
+ break;
+ case false:
+ break;
+ default:
+ console.warn("X-XSS-Protection does not take options. Remove the property to silence this warning.");
+ result.push(xXssProtection());
+ break;
+ }
+ return result;
+}
+__name(getMiddlewareFunctionsFromOptions, "getMiddlewareFunctionsFromOptions");
+var helmet = Object.assign(
+ /* @__PURE__ */ __name(function helmet2(options = {}) {
+ if (options.constructor?.name === "IncomingMessage") {
+ throw new Error("It appears you have done something like `app.use(helmet)`, but it should be `app.use(helmet())`.");
+ }
+ const middlewareFunctions = getMiddlewareFunctionsFromOptions(options);
+ return /* @__PURE__ */ __name(function helmetMiddleware(req, res, next) {
+ let middlewareIndex = 0;
+ (/* @__PURE__ */ __name((function internalNext(err) {
+ if (err) {
+ next(err);
+ return;
+ }
+ const middlewareFunction = middlewareFunctions[middlewareIndex];
+ if (middlewareFunction) {
+ middlewareIndex++;
+ middlewareFunction(req, res, internalNext);
+ } else {
+ next();
+ }
+ }), "internalNext"))();
+ }, "helmetMiddleware");
+ }, "helmet"),
+ {
+ contentSecurityPolicy,
+ crossOriginEmbedderPolicy,
+ crossOriginOpenerPolicy,
+ crossOriginResourcePolicy,
+ originAgentCluster,
+ referrerPolicy,
+ strictTransportSecurity,
+ xContentTypeOptions,
+ xDnsPrefetchControl,
+ xDownloadOptions,
+ xFrameOptions,
+ xPermittedCrossDomainPolicies,
+ xPoweredBy,
+ xXssProtection,
+ // Legacy aliases
+ dnsPrefetchControl: xDnsPrefetchControl,
+ xssFilter: xXssProtection,
+ permittedCrossDomainPolicies: xPermittedCrossDomainPolicies,
+ ieNoOpen: xDownloadOptions,
+ noSniff: xContentTypeOptions,
+ frameguard: xFrameOptions,
+ hidePoweredBy: xPoweredBy,
+ hsts: strictTransportSecurity
+ }
+);
+
+// dist/app.module.js
+init_common();
+init_core();
+var import_throttler3 = __toESM(require_dist(), 1);
+
+// dist/auth/auth.controller.js
+init_common();
+var import_throttler = __toESM(require_dist(), 1);
+
+// dist/common/auth.js
+init_common();
+init_core();
+var __decorate = function(decorators, target, key, desc) {
+ var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
+ if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
+ else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
+ return c > 3 && r && Object.defineProperty(target, key, r), r;
+};
+var __metadata = function(k, v) {
+ if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
+};
+var ROLES_KEY = "roles";
+var JwtAuthGuard = class JwtAuthGuard2 {
+ static {
+ __name(this, "JwtAuthGuard");
+ }
+ jwt;
+ reflector;
+ prisma;
+ constructor(jwt, reflector, prisma) {
+ this.jwt = jwt;
+ this.reflector = reflector;
+ this.prisma = prisma;
+ }
+ async canActivate(ctx) {
+ const req = ctx.switchToHttp().getRequest();
+ const [scheme, token] = (req.headers.authorization ?? "").split(" ");
+ if (scheme !== "Bearer" || !token)
+ throw new UnauthorizedException("\u0627\u0628\u062A\u062F\u0627 \u0648\u0627\u0631\u062F \u0634\u0648\u06CC\u062F");
+ let payload;
+ try {
+ payload = await this.jwt.verifyAsync(token);
+ } catch {
+ throw new UnauthorizedException("\u0646\u0634\u0633\u062A \u0634\u0645\u0627 \u0645\u0646\u0642\u0636\u06CC \u0634\u062F\u0647 \u0627\u0633\u062A");
+ }
+ const user = await this.prisma.adminUser.findUnique({ where: { id: payload.sub } });
+ if (!user?.isActive)
+ throw new UnauthorizedException("\u062D\u0633\u0627\u0628 \u06A9\u0627\u0631\u0628\u0631\u06CC \u063A\u06CC\u0631\u0641\u0639\u0627\u0644 \u0627\u0633\u062A");
+ req.user = { id: user.id, phone: user.phone, name: user.name, role: user.role };
+ const roles = this.reflector.getAllAndOverride(ROLES_KEY, [
+ ctx.getHandler(),
+ ctx.getClass()
+ ]);
+ if (roles?.length && !roles.includes(user.role)) {
+ throw new ForbiddenException("\u0628\u0631\u0627\u06CC \u0627\u06CC\u0646 \u06A9\u0627\u0631 \u062F\u0633\u062A\u0631\u0633\u06CC \u0646\u062F\u0627\u0631\u06CC\u062F");
+ }
+ return true;
+ }
+};
+JwtAuthGuard = __decorate([
+ Injectable(),
+ __metadata("design:paramtypes", [
+ JwtService,
+ Reflector,
+ PrismaService
+ ])
+], JwtAuthGuard);
+var AdminAuth = /* @__PURE__ */ __name((...roles) => applyDecorators(SetMetadata(ROLES_KEY, roles), UseGuards(JwtAuthGuard)), "AdminAuth");
+var Roles = /* @__PURE__ */ __name((...roles) => SetMetadata(ROLES_KEY, roles), "Roles");
+var CurrentUser = createParamDecorator((_, ctx) => ctx.switchToHttp().getRequest().user);
+
+// dist/common/zod.pipe.js
+init_common();
+external_exports.config(external_exports.locales.fa());
+var ZodPipe = class {
+ static {
+ __name(this, "ZodPipe");
+ }
+ schema;
+ constructor(schema) {
+ this.schema = schema;
+ }
+ transform(value) {
+ const result = this.schema.safeParse(value);
+ if (!result.success) {
+ throw new BadRequestException({
+ statusCode: 400,
+ message: "\u0627\u0637\u0644\u0627\u0639\u0627\u062A \u0648\u0627\u0631\u062F\u0634\u062F\u0647 \u0645\u0639\u062A\u0628\u0631 \u0646\u06CC\u0633\u062A",
+ issues: toIssues(result.error)
+ });
+ }
+ return result.data;
+ }
+};
+var IdPipe = new ZodPipe(external_exports.coerce.number().int().positive());
+
+// dist/auth/auth.controller.js
+var __decorate2 = function(decorators, target, key, desc) {
+ var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
+ if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
+ else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
+ return c > 3 && r && Object.defineProperty(target, key, r), r;
+};
+var __metadata2 = function(k, v) {
+ if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
+};
+var __param = function(paramIndex, decorator) {
+ return function(target, key) {
+ decorator(target, key, paramIndex);
+ };
+};
+var COOKIE = "imen_rt";
+var COOKIE_PATH = "/api/admin/auth";
+var ua = /* @__PURE__ */ __name((req) => req.headers["user-agent"] ?? "", "ua");
+var readCookie = /* @__PURE__ */ __name((req) => req.cookies?.[COOKIE], "readCookie");
+var AuthController = class AuthController2 {
+ static {
+ __name(this, "AuthController");
+ }
+ auth;
+ constructor(auth) {
+ this.auth = auth;
+ }
+ async login(body, req, res) {
+ return this.respond(res, await this.auth.login(body, ua(req)));
+ }
+ async refresh(req, res) {
+ try {
+ return this.respond(res, await this.auth.refresh(readCookie(req), ua(req)));
+ } catch (e) {
+ res.clearCookie(COOKIE, { path: COOKIE_PATH });
+ throw e;
+ }
+ }
+ async logout(req, res) {
+ await this.auth.logout(readCookie(req));
+ res.clearCookie(COOKIE, { path: COOKIE_PATH });
+ }
+ me(user) {
+ return this.auth.me(user.id);
+ }
+ async changePassword(body, user) {
+ await this.auth.changePassword(user.id, body);
+ }
+ respond(res, t) {
+ res.cookie(COOKIE, t.refreshToken, {
+ httpOnly: true,
+ secure: isProd && env.COOKIE_SECURE,
+ sameSite: "strict",
+ path: COOKIE_PATH,
+ expires: t.refreshExpiresAt
+ });
+ return { accessToken: t.accessToken, user: t.user };
+ }
+};
+__decorate2([
+ Post("login"),
+ HttpCode(200),
+ (0, import_throttler.Throttle)({ default: { limit: 8, ttl: 6e4 } }),
+ __param(0, Body(new ZodPipe(loginSchema))),
+ __param(1, Req()),
+ __param(2, Res({ passthrough: true })),
+ __metadata2("design:type", Function),
+ __metadata2("design:paramtypes", [Object, Object, Object]),
+ __metadata2("design:returntype", Promise)
+], AuthController.prototype, "login", null);
+__decorate2([
+ Post("refresh"),
+ HttpCode(200),
+ (0, import_throttler.Throttle)({ default: { limit: 30, ttl: 6e4 } }),
+ __param(0, Req()),
+ __param(1, Res({ passthrough: true })),
+ __metadata2("design:type", Function),
+ __metadata2("design:paramtypes", [Object, Object]),
+ __metadata2("design:returntype", Promise)
+], AuthController.prototype, "refresh", null);
+__decorate2([
+ Post("logout"),
+ HttpCode(204),
+ __param(0, Req()),
+ __param(1, Res({ passthrough: true })),
+ __metadata2("design:type", Function),
+ __metadata2("design:paramtypes", [Object, Object]),
+ __metadata2("design:returntype", Promise)
+], AuthController.prototype, "logout", null);
+__decorate2([
+ Get("me"),
+ AdminAuth(),
+ __param(0, CurrentUser()),
+ __metadata2("design:type", Function),
+ __metadata2("design:paramtypes", [Object]),
+ __metadata2("design:returntype", void 0)
+], AuthController.prototype, "me", null);
+__decorate2([
+ Post("change-password"),
+ HttpCode(204),
+ AdminAuth(),
+ __param(0, Body(new ZodPipe(changePasswordSchema))),
+ __param(1, CurrentUser()),
+ __metadata2("design:type", Function),
+ __metadata2("design:paramtypes", [Object, Object]),
+ __metadata2("design:returntype", Promise)
+], AuthController.prototype, "changePassword", null);
+AuthController = __decorate2([
+ Controller("admin/auth"),
+ __metadata2("design:paramtypes", [AuthService])
+], AuthController);
+var AuthModule = class AuthModule2 {
+ static {
+ __name(this, "AuthModule");
+ }
+};
+AuthModule = __decorate2([
+ Module({
+ imports: [
+ JwtModule.register({
+ global: true,
+ secret: env.JWT_SECRET,
+ signOptions: { expiresIn: env.JWT_ACCESS_TTL }
+ })
+ ],
+ controllers: [AuthController],
+ providers: [AuthService],
+ exports: [AuthService]
+ })
+], AuthModule);
+
+// dist/catalog/catalog.module.js
+init_common();
+
+// dist/media/media.controller.js
+init_common();
+init_platform_express();
+
+// dist/media/media.service.js
+init_common();
+import { randomUUID } from "node:crypto";
+var __decorate3 = function(decorators, target, key, desc) {
+ var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
+ if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
+ else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
+ return c > 3 && r && Object.defineProperty(target, key, r), r;
+};
+var __metadata3 = function(k, v) {
+ if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
+};
+var MediaService_1;
+var MediaService = MediaService_1 = class MediaService2 {
+ static {
+ __name(this, "MediaService");
+ }
+ prisma;
+ audit;
+ revalidate;
+ logger = new Logger(MediaService_1.name);
+ storage = new S3Storage();
+ constructor(prisma, audit, revalidate) {
+ this.prisma = prisma;
+ this.audit = audit;
+ this.revalidate = revalidate;
+ }
+ async onModuleInit() {
+ if (!env.S3_ENSURE_BUCKET)
+ return;
+ try {
+ await this.storage.ensureBucket();
+ } catch (e) {
+ this.logger.error(`could not prepare bucket "${env.S3_BUCKET}": ${String(e)}`);
+ }
+ }
+ url(key) {
+ return this.storage.publicUrl(key);
+ }
+ toDto(m) {
+ return {
+ id: m.id,
+ url: this.url(m.key),
+ alt: m.alt,
+ mime: m.mime,
+ size: m.size,
+ width: m.width,
+ height: m.height,
+ originalName: m.originalName,
+ createdAt: m.createdAt.toISOString()
+ };
+ }
+ async list(page, pageSize, q) {
+ const where = q ? {
+ OR: [
+ { originalName: { contains: q, mode: "insensitive" } },
+ { alt: { contains: q, mode: "insensitive" } }
+ ]
+ } : {};
+ const [items, total] = await this.prisma.$transaction([
+ this.prisma.media.findMany({
+ where,
+ orderBy: { id: "desc" },
+ skip: (page - 1) * pageSize,
+ take: pageSize
+ }),
+ this.prisma.media.count({ where })
+ ]);
+ return { items: items.map((m) => this.toDto(m)), total, page, pageSize };
+ }
+ async upload(file, alt, userId) {
+ if (!file)
+ throw new BadRequestException("\u0641\u0627\u06CC\u0644\u06CC \u0627\u0631\u0633\u0627\u0644 \u0646\u0634\u062F\u0647 \u0627\u0633\u062A");
+ if (!ACCEPTED_IMAGE_TYPES.includes(file.mimetype)) {
+ throw new BadRequestException("\u0641\u0642\u0637 \u062A\u0635\u0627\u0648\u06CC\u0631 JPG\u060C PNG\u060C WebP\u060C AVIF \u0648 GIF \u067E\u0630\u06CC\u0631\u0641\u062A\u0647 \u0645\u06CC\u200C\u0634\u0648\u0646\u062F");
+ }
+ let image;
+ try {
+ image = await toWebp(file.buffer);
+ } catch {
+ throw new BadRequestException("\u0641\u0627\u06CC\u0644 \u062A\u0635\u0648\u06CC\u0631 \u0642\u0627\u0628\u0644 \u067E\u0631\u062F\u0627\u0632\u0634 \u0646\u06CC\u0633\u062A");
+ }
+ const now = /* @__PURE__ */ new Date();
+ const month = String(now.getMonth() + 1).padStart(2, "0");
+ const key = `uploads/${now.getFullYear()}/${month}/${randomUUID()}.webp`;
+ await this.storage.put(key, image.data, "image/webp");
+ const media = await this.prisma.media.create({
+ data: {
+ key,
+ mime: "image/webp",
+ size: image.size,
+ width: image.width,
+ height: image.height,
+ alt: alt.trim().slice(0, 200),
+ originalName: Buffer.from(file.originalname, "latin1").toString("utf8").slice(0, 200)
+ }
+ });
+ this.audit.log(userId, "upload", "media", media.id, media.originalName);
+ return this.toDto(media);
+ }
+ async updateAlt(id, alt, userId) {
+ const media = await this.prisma.media.update({ where: { id }, data: { alt } });
+ this.audit.log(userId, "update", "media", id, media.originalName);
+ this.revalidate.trigger();
+ return this.toDto(media);
+ }
+ async remove(id, userId) {
+ const media = await this.prisma.media.findUnique({
+ where: { id },
+ include: { _count: { select: { categoryCovers: true, productImages: true, productGallery: true } } }
+ });
+ if (!media)
+ throw new NotFoundException("\u0641\u0627\u06CC\u0644 \u067E\u06CC\u062F\u0627 \u0646\u0634\u062F");
+ const { categoryCovers, productImages, productGallery } = media._count;
+ const sections = await this.prisma.$queryRaw`
+ SELECT key FROM "SiteSection" WHERE data::text LIKE ${"%" + media.key + "%"}`;
+ if (categoryCovers + productImages + productGallery + sections.length > 0) {
+ throw new ConflictException("\u0627\u06CC\u0646 \u062A\u0635\u0648\u06CC\u0631 \u062F\u0631 \u0645\u062D\u0635\u0648\u0644\u0627\u062A\u060C \u062F\u0633\u062A\u0647\u200C\u0647\u0627 \u06CC\u0627 \u0628\u062E\u0634\u200C\u0647\u0627\u06CC \u0633\u0627\u06CC\u062A \u0627\u0633\u062A\u0641\u0627\u062F\u0647 \u0634\u062F\u0647 \u0648 \u0642\u0627\u0628\u0644 \u062D\u0630\u0641 \u0646\u06CC\u0633\u062A");
+ }
+ await this.prisma.media.delete({ where: { id } });
+ await this.storage.remove(media.key).catch((e) => {
+ this.logger.warn(`could not delete object ${media.key}: ${String(e)}`);
+ });
+ this.audit.log(userId, "delete", "media", id, media.originalName);
+ }
+};
+MediaService = MediaService_1 = __decorate3([
+ Injectable(),
+ __metadata3("design:paramtypes", [
+ PrismaService,
+ AuditService,
+ RevalidateService
+ ])
+], MediaService);
+
+// dist/media/media.controller.js
+var __decorate4 = function(decorators, target, key, desc) {
+ var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
+ if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
+ else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
+ return c > 3 && r && Object.defineProperty(target, key, r), r;
+};
+var __metadata4 = function(k, v) {
+ if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
+};
+var __param2 = function(paramIndex, decorator) {
+ return function(target, key) {
+ decorator(target, key, paramIndex);
+ };
+};
+var listQuery = external_exports.object({
+ page: external_exports.coerce.number().int().min(1).default(1),
+ pageSize: external_exports.coerce.number().int().min(1).max(100).default(40),
+ q: external_exports.string().trim().max(100).optional()
+});
+var MediaController = class MediaController2 {
+ static {
+ __name(this, "MediaController");
+ }
+ media;
+ constructor(media) {
+ this.media = media;
+ }
+ list(q) {
+ return this.media.list(q.page, q.pageSize, q.q);
+ }
+ upload(file, alt, user) {
+ return this.media.upload(file, typeof alt === "string" ? alt : "", user.id);
+ }
+ update(id, body, user) {
+ return this.media.updateAlt(id, body.alt, user.id);
+ }
+ async remove(id, user) {
+ await this.media.remove(id, user.id);
+ }
+};
+__decorate4([
+ Get(),
+ __param2(0, Query(new ZodPipe(listQuery))),
+ __metadata4("design:type", Function),
+ __metadata4("design:paramtypes", [Object]),
+ __metadata4("design:returntype", void 0)
+], MediaController.prototype, "list", null);
+__decorate4([
+ Post(),
+ UseInterceptors(FileInterceptor("file", { limits: { fileSize: 15 * 1024 * 1024 } })),
+ __param2(0, UploadedFile()),
+ __param2(1, Body("alt")),
+ __param2(2, CurrentUser()),
+ __metadata4("design:type", Function),
+ __metadata4("design:paramtypes", [Object, Object, Object]),
+ __metadata4("design:returntype", void 0)
+], MediaController.prototype, "upload", null);
+__decorate4([
+ Patch(":id"),
+ __param2(0, Param("id", IdPipe)),
+ __param2(1, Body(new ZodPipe(mediaUpdateSchema))),
+ __param2(2, CurrentUser()),
+ __metadata4("design:type", Function),
+ __metadata4("design:paramtypes", [Number, Object, Object]),
+ __metadata4("design:returntype", void 0)
+], MediaController.prototype, "update", null);
+__decorate4([
+ Roles("ADMIN"),
+ Delete(":id"),
+ HttpCode(204),
+ __param2(0, Param("id", IdPipe)),
+ __param2(1, CurrentUser()),
+ __metadata4("design:type", Function),
+ __metadata4("design:paramtypes", [Number, Object]),
+ __metadata4("design:returntype", Promise)
+], MediaController.prototype, "remove", null);
+MediaController = __decorate4([
+ AdminAuth(),
+ Controller("admin/media"),
+ __metadata4("design:paramtypes", [MediaService])
+], MediaController);
+var MediaModule = class MediaModule2 {
+ static {
+ __name(this, "MediaModule");
+ }
+};
+MediaModule = __decorate4([
+ Module({
+ controllers: [MediaController],
+ providers: [MediaService],
+ exports: [MediaService]
+ })
+], MediaModule);
+
+// dist/catalog/categories.service.js
+init_common();
+var __decorate5 = function(decorators, target, key, desc) {
+ var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
+ if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
+ else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
+ return c > 3 && r && Object.defineProperty(target, key, r), r;
+};
+var __metadata5 = function(k, v) {
+ if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
+};
+var withCover = { coverImage: true };
+var CategoriesService = class CategoriesService2 {
+ static {
+ __name(this, "CategoriesService");
+ }
+ prisma;
+ media;
+ audit;
+ revalidate;
+ constructor(prisma, media, audit, revalidate) {
+ this.prisma = prisma;
+ this.media = media;
+ this.audit = audit;
+ this.revalidate = revalidate;
+ }
+ async list() {
+ const rows = await this.prisma.category.findMany({
+ orderBy: [{ sortOrder: "asc" }, { id: "asc" }],
+ include: { ...withCover, _count: { select: { products: true, groups: true } } }
+ });
+ return rows.map(({ coverImage, _count, ...c }) => ({
+ ...c,
+ coverImage: coverImage && this.media.toDto(coverImage),
+ productCount: _count.products,
+ groupCount: _count.groups
+ }));
+ }
+ async get(id) {
+ const { coverImage, ...c } = await this.prisma.category.findUniqueOrThrow({
+ where: { id },
+ include: {
+ ...withCover,
+ groups: {
+ orderBy: { sortOrder: "asc" },
+ include: { _count: { select: { products: true } } }
+ }
+ }
+ });
+ return {
+ ...c,
+ coverImage: coverImage && this.media.toDto(coverImage),
+ groups: c.groups.map(({ _count, ...g }) => ({ ...g, productCount: _count.products }))
+ };
+ }
+ async create(input, userId) {
+ this.assertUniqueGroupSlugs(input);
+ const { groups, ...data } = input;
+ const last = await this.prisma.category.aggregate({ _max: { sortOrder: true } });
+ const category = await this.prisma.category.create({
+ data: {
+ ...data,
+ sortOrder: (last._max.sortOrder ?? -1) + 1,
+ groups: {
+ create: groups.map((g, i) => ({ slug: g.slug, name: g.name, desc: g.desc, sortOrder: i }))
+ }
+ }
+ });
+ this.audit.log(userId, "create", "category", category.id, category.name);
+ this.revalidate.trigger();
+ return this.get(category.id);
+ }
+ async update(id, input, userId) {
+ this.assertUniqueGroupSlugs(input);
+ const { groups, ...data } = input;
+ await this.prisma.$transaction(async (tx) => {
+ const category = await tx.category.update({ where: { id }, data });
+ const keepIds = groups.flatMap((g) => g.id ? [g.id] : []);
+ await tx.productGroup.deleteMany({ where: { categoryId: id, id: { notIn: keepIds } } });
+ for (const g of groups) {
+ if (g.id) {
+ await tx.productGroup.update({
+ where: { id: g.id, categoryId: id },
+ data: { slug: `__tmp-${g.id}` }
+ });
+ }
+ }
+ for (const [i, g] of groups.entries()) {
+ const fields = { slug: g.slug, name: g.name, desc: g.desc, sortOrder: i };
+ if (g.id) {
+ await tx.productGroup.update({ where: { id: g.id, categoryId: id }, data: fields });
+ } else {
+ await tx.productGroup.create({ data: { ...fields, categoryId: id } });
+ }
+ }
+ this.audit.log(userId, "update", "category", id, category.name);
+ });
+ this.revalidate.trigger();
+ return this.get(id);
+ }
+ async remove(id, userId) {
+ const category = await this.prisma.category.findUniqueOrThrow({
+ where: { id },
+ include: { _count: { select: { products: true } } }
+ });
+ if (category._count.products > 0) {
+ throw new ConflictException(`\u0627\u06CC\u0646 \u062F\u0633\u062A\u0647 ${category._count.products} \u0645\u062D\u0635\u0648\u0644 \u062F\u0627\u0631\u062F\u061B \u0627\u0628\u062A\u062F\u0627 \u0645\u062D\u0635\u0648\u0644\u0627\u062A \u0631\u0627 \u062D\u0630\u0641 \u06CC\u0627 \u062C\u0627\u0628\u0647\u200C\u062C\u0627 \u06A9\u0646\u06CC\u062F`);
+ }
+ await this.prisma.category.delete({ where: { id } });
+ this.audit.log(userId, "delete", "category", id, category.name);
+ this.revalidate.trigger();
+ }
+ async reorder(ids, userId) {
+ await this.prisma.$transaction(ids.map((id, i) => this.prisma.category.update({ where: { id }, data: { sortOrder: i } })));
+ this.audit.log(userId, "reorder", "category", "", `${ids.length} \u062F\u0633\u062A\u0647`);
+ this.revalidate.trigger();
+ }
+ assertUniqueGroupSlugs(input) {
+ const slugs = input.groups.map((g) => g.slug);
+ if (new Set(slugs).size !== slugs.length) {
+ throw new ConflictException("\u0627\u0633\u0644\u0627\u06AF \u0632\u06CC\u0631\u06AF\u0631\u0648\u0647\u200C\u0647\u0627 \u0628\u0627\u06CC\u062F \u06CC\u06A9\u062A\u0627 \u0628\u0627\u0634\u062F");
+ }
+ }
+};
+CategoriesService = __decorate5([
+ Injectable(),
+ __metadata5("design:paramtypes", [
+ PrismaService,
+ MediaService,
+ AuditService,
+ RevalidateService
+ ])
+], CategoriesService);
+
+// dist/catalog/products.service.js
+init_common();
+var __decorate6 = function(decorators, target, key, desc) {
+ var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
+ if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
+ else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
+ return c > 3 && r && Object.defineProperty(target, key, r), r;
+};
+var __metadata6 = function(k, v) {
+ if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
+};
+var ProductsService = class ProductsService2 {
+ static {
+ __name(this, "ProductsService");
+ }
+ prisma;
+ media;
+ audit;
+ revalidate;
+ constructor(prisma, media, audit, revalidate) {
+ this.prisma = prisma;
+ this.media = media;
+ this.audit = audit;
+ this.revalidate = revalidate;
+ }
+ async list(q) {
+ const where = {
+ ...q.categoryId && { categoryId: q.categoryId },
+ ...q.groupId && { groupId: q.groupId },
+ ...q.status && { isPublished: q.status === "published" },
+ ...q.q && {
+ OR: [
+ { name: { contains: q.q, mode: "insensitive" } },
+ { nameEn: { contains: q.q, mode: "insensitive" } },
+ { code: { contains: q.q, mode: "insensitive" } }
+ ]
+ }
+ };
+ const [rows, total] = await this.prisma.$transaction([
+ this.prisma.product.findMany({
+ where,
+ orderBy: [{ category: { sortOrder: "asc" } }, { sortOrder: "asc" }, { id: "asc" }],
+ skip: (q.page - 1) * q.pageSize,
+ take: q.pageSize,
+ include: {
+ image: true,
+ category: { select: { id: true, name: true } },
+ group: { select: { id: true, name: true } }
+ }
+ }),
+ this.prisma.product.count({ where })
+ ]);
+ return {
+ items: rows.map(({ image, ...p }) => ({ ...p, image: image && this.media.toDto(image) })),
+ total,
+ page: q.page,
+ pageSize: q.pageSize
+ };
+ }
+ async get(id) {
+ const { image, gallery, ...p } = await this.prisma.product.findUniqueOrThrow({
+ where: { id },
+ include: { image: true, gallery: { orderBy: { sortOrder: "asc" }, include: { media: true } } }
+ });
+ return {
+ ...p,
+ image: image && this.media.toDto(image),
+ gallery: gallery.map((g) => this.media.toDto(g.media))
+ };
+ }
+ async create(input, userId) {
+ await this.assertGroup(input);
+ const { galleryIds, ...data } = input;
+ const last = await this.prisma.product.aggregate({
+ where: { categoryId: input.categoryId },
+ _max: { sortOrder: true }
+ });
+ const product = await this.prisma.product.create({
+ data: {
+ ...data,
+ sortOrder: (last._max.sortOrder ?? -1) + 1,
+ gallery: { create: unique(galleryIds).map((mediaId, i) => ({ mediaId, sortOrder: i })) }
+ }
+ });
+ this.audit.log(userId, "create", "product", product.id, product.name);
+ this.revalidate.trigger();
+ return this.get(product.id);
+ }
+ async update(id, input, userId) {
+ await this.assertGroup(input);
+ const { galleryIds, ...data } = input;
+ const product = await this.prisma.product.update({
+ where: { id },
+ data: {
+ ...data,
+ gallery: {
+ deleteMany: {},
+ create: unique(galleryIds).map((mediaId, i) => ({ mediaId, sortOrder: i }))
+ }
+ }
+ });
+ this.audit.log(userId, "update", "product", id, product.name);
+ this.revalidate.trigger();
+ return this.get(id);
+ }
+ async setPublished(id, isPublished, userId) {
+ const product = await this.prisma.product.update({ where: { id }, data: { isPublished } });
+ this.audit.log(userId, isPublished ? "publish" : "unpublish", "product", id, product.name);
+ this.revalidate.trigger();
+ return { id, isPublished };
+ }
+ async duplicate(id, userId) {
+ const src = await this.prisma.product.findUniqueOrThrow({
+ where: { id },
+ include: { gallery: true }
+ });
+ let n = 1;
+ const taken = /* @__PURE__ */ __name(async (code, slug) => await this.prisma.product.count({ where: { OR: [{ code }, { slug }] } }) > 0, "taken");
+ while (await taken(`${src.code}-${n}`, `${src.slug}-copy-${n}`))
+ n++;
+ const copy = await this.prisma.product.create({
+ data: {
+ categoryId: src.categoryId,
+ groupId: src.groupId,
+ code: `${src.code}-${n}`,
+ slug: `${src.slug}-copy-${n}`,
+ name: `${src.name} (\u06A9\u067E\u06CC)`,
+ nameEn: src.nameEn,
+ desc: src.desc,
+ specs: src.specs,
+ variants: src.variants,
+ details: src.details,
+ brand: src.brand,
+ origin: src.origin,
+ sizes: src.sizes,
+ standards: src.standards,
+ features: src.features,
+ applications: src.applications,
+ attributes: src.attributes ?? [],
+ packaging: src.packaging,
+ minOrder: src.minOrder,
+ seoTitle: src.seoTitle,
+ seoDescription: src.seoDescription,
+ imageId: src.imageId,
+ sortOrder: src.sortOrder + 1,
+ isPublished: false,
+ gallery: {
+ create: src.gallery.map((g) => ({ mediaId: g.mediaId, sortOrder: g.sortOrder }))
+ }
+ }
+ });
+ this.audit.log(userId, "duplicate", "product", copy.id, copy.name);
+ return this.get(copy.id);
+ }
+ async remove(id, userId) {
+ const product = await this.prisma.product.delete({ where: { id } });
+ this.audit.log(userId, "delete", "product", id, product.name);
+ this.revalidate.trigger();
+ }
+ async reorder(ids, userId) {
+ await this.prisma.$transaction(ids.map((id, i) => this.prisma.product.update({ where: { id }, data: { sortOrder: i } })));
+ this.audit.log(userId, "reorder", "product", "", `${ids.length} \u0645\u062D\u0635\u0648\u0644`);
+ this.revalidate.trigger();
+ }
+ async assertGroup(input) {
+ if (!input.groupId)
+ return;
+ const group = await this.prisma.productGroup.findUnique({ where: { id: input.groupId } });
+ if (group?.categoryId !== input.categoryId) {
+ throw new BadRequestException("\u0632\u06CC\u0631\u06AF\u0631\u0648\u0647 \u0627\u0646\u062A\u062E\u0627\u0628\u200C\u0634\u062F\u0647 \u0645\u062A\u0639\u0644\u0642 \u0628\u0647 \u0627\u06CC\u0646 \u062F\u0633\u062A\u0647 \u0646\u06CC\u0633\u062A");
+ }
+ }
+};
+ProductsService = __decorate6([
+ Injectable(),
+ __metadata6("design:paramtypes", [
+ PrismaService,
+ MediaService,
+ AuditService,
+ RevalidateService
+ ])
+], ProductsService);
+var unique = /* @__PURE__ */ __name((ids) => [...new Set(ids)], "unique");
+
+// dist/catalog/catalog.module.js
+var __decorate7 = function(decorators, target, key, desc) {
+ var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
+ if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
+ else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
+ return c > 3 && r && Object.defineProperty(target, key, r), r;
+};
+var __metadata7 = function(k, v) {
+ if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
+};
+var __param3 = function(paramIndex, decorator) {
+ return function(target, key) {
+ decorator(target, key, paramIndex);
+ };
+};
+var publishSchema = external_exports.object({ isPublished: external_exports.boolean() });
+var CategoriesController = class CategoriesController2 {
+ static {
+ __name(this, "CategoriesController");
+ }
+ categories;
+ constructor(categories) {
+ this.categories = categories;
+ }
+ list() {
+ return this.categories.list();
+ }
+ get(id) {
+ return this.categories.get(id);
+ }
+ create(body, user) {
+ return this.categories.create(body, user.id);
+ }
+ async reorder(body, user) {
+ await this.categories.reorder(body.ids, user.id);
+ }
+ update(id, body, user) {
+ return this.categories.update(id, body, user.id);
+ }
+ async remove(id, user) {
+ await this.categories.remove(id, user.id);
+ }
+};
+__decorate7([
+ Get(),
+ __metadata7("design:type", Function),
+ __metadata7("design:paramtypes", []),
+ __metadata7("design:returntype", void 0)
+], CategoriesController.prototype, "list", null);
+__decorate7([
+ Get(":id"),
+ __param3(0, Param("id", IdPipe)),
+ __metadata7("design:type", Function),
+ __metadata7("design:paramtypes", [Number]),
+ __metadata7("design:returntype", void 0)
+], CategoriesController.prototype, "get", null);
+__decorate7([
+ Post(),
+ __param3(0, Body(new ZodPipe(categoryInputSchema))),
+ __param3(1, CurrentUser()),
+ __metadata7("design:type", Function),
+ __metadata7("design:paramtypes", [Object, Object]),
+ __metadata7("design:returntype", void 0)
+], CategoriesController.prototype, "create", null);
+__decorate7([
+ Post("reorder"),
+ HttpCode(204),
+ __param3(0, Body(new ZodPipe(reorderSchema))),
+ __param3(1, CurrentUser()),
+ __metadata7("design:type", Function),
+ __metadata7("design:paramtypes", [Object, Object]),
+ __metadata7("design:returntype", Promise)
+], CategoriesController.prototype, "reorder", null);
+__decorate7([
+ Put(":id"),
+ __param3(0, Param("id", IdPipe)),
+ __param3(1, Body(new ZodPipe(categoryInputSchema))),
+ __param3(2, CurrentUser()),
+ __metadata7("design:type", Function),
+ __metadata7("design:paramtypes", [Number, Object, Object]),
+ __metadata7("design:returntype", void 0)
+], CategoriesController.prototype, "update", null);
+__decorate7([
+ Roles("ADMIN"),
+ Delete(":id"),
+ HttpCode(204),
+ __param3(0, Param("id", IdPipe)),
+ __param3(1, CurrentUser()),
+ __metadata7("design:type", Function),
+ __metadata7("design:paramtypes", [Number, Object]),
+ __metadata7("design:returntype", Promise)
+], CategoriesController.prototype, "remove", null);
+CategoriesController = __decorate7([
+ AdminAuth(),
+ Controller("admin/categories"),
+ __metadata7("design:paramtypes", [CategoriesService])
+], CategoriesController);
+var ProductsController = class ProductsController2 {
+ static {
+ __name(this, "ProductsController");
+ }
+ products;
+ constructor(products) {
+ this.products = products;
+ }
+ list(q) {
+ return this.products.list(q);
+ }
+ get(id) {
+ return this.products.get(id);
+ }
+ create(body, user) {
+ return this.products.create(body, user.id);
+ }
+ async reorder(body, user) {
+ await this.products.reorder(body.ids, user.id);
+ }
+ duplicate(id, user) {
+ return this.products.duplicate(id, user.id);
+ }
+ publish(id, body, user) {
+ return this.products.setPublished(id, body.isPublished, user.id);
+ }
+ update(id, body, user) {
+ return this.products.update(id, body, user.id);
+ }
+ async remove(id, user) {
+ await this.products.remove(id, user.id);
+ }
+};
+__decorate7([
+ Get(),
+ __param3(0, Query(new ZodPipe(productListQuerySchema))),
+ __metadata7("design:type", Function),
+ __metadata7("design:paramtypes", [Object]),
+ __metadata7("design:returntype", void 0)
+], ProductsController.prototype, "list", null);
+__decorate7([
+ Get(":id"),
+ __param3(0, Param("id", IdPipe)),
+ __metadata7("design:type", Function),
+ __metadata7("design:paramtypes", [Number]),
+ __metadata7("design:returntype", void 0)
+], ProductsController.prototype, "get", null);
+__decorate7([
+ Post(),
+ __param3(0, Body(new ZodPipe(productInputSchema))),
+ __param3(1, CurrentUser()),
+ __metadata7("design:type", Function),
+ __metadata7("design:paramtypes", [Object, Object]),
+ __metadata7("design:returntype", void 0)
+], ProductsController.prototype, "create", null);
+__decorate7([
+ Post("reorder"),
+ HttpCode(204),
+ __param3(0, Body(new ZodPipe(reorderSchema))),
+ __param3(1, CurrentUser()),
+ __metadata7("design:type", Function),
+ __metadata7("design:paramtypes", [Object, Object]),
+ __metadata7("design:returntype", Promise)
+], ProductsController.prototype, "reorder", null);
+__decorate7([
+ Post(":id/duplicate"),
+ __param3(0, Param("id", IdPipe)),
+ __param3(1, CurrentUser()),
+ __metadata7("design:type", Function),
+ __metadata7("design:paramtypes", [Number, Object]),
+ __metadata7("design:returntype", void 0)
+], ProductsController.prototype, "duplicate", null);
+__decorate7([
+ Patch(":id/publish"),
+ __param3(0, Param("id", IdPipe)),
+ __param3(1, Body(new ZodPipe(publishSchema))),
+ __param3(2, CurrentUser()),
+ __metadata7("design:type", Function),
+ __metadata7("design:paramtypes", [Number, Object, Object]),
+ __metadata7("design:returntype", void 0)
+], ProductsController.prototype, "publish", null);
+__decorate7([
+ Put(":id"),
+ __param3(0, Param("id", IdPipe)),
+ __param3(1, Body(new ZodPipe(productInputSchema))),
+ __param3(2, CurrentUser()),
+ __metadata7("design:type", Function),
+ __metadata7("design:paramtypes", [Number, Object, Object]),
+ __metadata7("design:returntype", void 0)
+], ProductsController.prototype, "update", null);
+__decorate7([
+ Roles("ADMIN"),
+ Delete(":id"),
+ HttpCode(204),
+ __param3(0, Param("id", IdPipe)),
+ __param3(1, CurrentUser()),
+ __metadata7("design:type", Function),
+ __metadata7("design:paramtypes", [Number, Object]),
+ __metadata7("design:returntype", Promise)
+], ProductsController.prototype, "remove", null);
+ProductsController = __decorate7([
+ AdminAuth(),
+ Controller("admin/products"),
+ __metadata7("design:paramtypes", [ProductsService])
+], ProductsController);
+var CatalogModule = class CatalogModule2 {
+ static {
+ __name(this, "CatalogModule");
+ }
+};
+CatalogModule = __decorate7([
+ Module({
+ imports: [MediaModule],
+ controllers: [CategoriesController, ProductsController],
+ providers: [CategoriesService, ProductsService]
+ })
+], CatalogModule);
+
+// dist/common/prisma-exception.filter.js
+init_common();
+var __decorate8 = function(decorators, target, key, desc) {
+ var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
+ if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
+ else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
+ return c > 3 && r && Object.defineProperty(target, key, r), r;
+};
+var FIELD_LABELS = {
+ slug: "\u0627\u0633\u0644\u0627\u06AF",
+ code: "\u06A9\u062F",
+ email: "\u0627\u06CC\u0645\u06CC\u0644",
+ phone: "\u0634\u0645\u0627\u0631\u0647 \u0645\u0648\u0628\u0627\u06CC\u0644"
+};
+function uniqueFields(meta) {
+ if (meta?.target)
+ return Array.isArray(meta.target) ? meta.target : [meta.target];
+ const constraint = meta?.driverAdapterError?.cause?.constraint;
+ if (constraint?.fields)
+ return constraint.fields;
+ const match = constraint?.index?.match(/^[^_]+_(.+)_key$/);
+ return match ? match[1].split("_") : [];
+}
+__name(uniqueFields, "uniqueFields");
+var PrismaExceptionFilter = class PrismaExceptionFilter2 {
+ static {
+ __name(this, "PrismaExceptionFilter");
+ }
+ catch(error, host) {
+ const res = host.switchToHttp().getResponse();
+ switch (error.code) {
+ case "P2002": {
+ const fields = uniqueFields(error.meta).filter((f) => !f.endsWith("Id")).map((f) => FIELD_LABELS[f] ?? f).join("\u060C ");
+ return res.status(HttpStatus.CONFLICT).json({
+ statusCode: HttpStatus.CONFLICT,
+ message: fields ? `\u0645\u0642\u062F\u0627\u0631 \xAB${fields}\xBB \u062A\u06A9\u0631\u0627\u0631\u06CC \u0627\u0633\u062A` : "\u0645\u0642\u062F\u0627\u0631 \u062A\u06A9\u0631\u0627\u0631\u06CC \u0627\u0633\u062A"
+ });
+ }
+ case "P2003":
+ return res.status(HttpStatus.CONFLICT).json({
+ statusCode: HttpStatus.CONFLICT,
+ message: "\u0627\u06CC\u0646 \u0645\u0648\u0631\u062F \u0628\u0647 \u062F\u0627\u062F\u0647\u200C\u0647\u0627\u06CC \u062F\u06CC\u06AF\u0631\u06CC \u0648\u0627\u0628\u0633\u062A\u0647 \u0627\u0633\u062A"
+ });
+ case "P2025":
+ return res.status(HttpStatus.NOT_FOUND).json({ statusCode: HttpStatus.NOT_FOUND, message: "\u0645\u0648\u0631\u062F \u067E\u06CC\u062F\u0627 \u0646\u0634\u062F" });
+ default:
+ return res.status(HttpStatus.INTERNAL_SERVER_ERROR).json({
+ statusCode: HttpStatus.INTERNAL_SERVER_ERROR,
+ message: "\u062E\u0637\u0627\u06CC \u067E\u0627\u06CC\u06AF\u0627\u0647 \u062F\u0627\u062F\u0647"
+ });
+ }
+ }
+};
+PrismaExceptionFilter = __decorate8([
+ Catch(prismaNamespace_exports.PrismaClientKnownRequestError)
+], PrismaExceptionFilter);
+
+// dist/contact/contact.module.js
+init_common();
+var import_throttler2 = __toESM(require_dist(), 1);
+var __decorate9 = function(decorators, target, key, desc) {
+ var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
+ if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
+ else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
+ return c > 3 && r && Object.defineProperty(target, key, r), r;
+};
+var __metadata8 = function(k, v) {
+ if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
+};
+var __param4 = function(paramIndex, decorator) {
+ return function(target, key) {
+ decorator(target, key, paramIndex);
+ };
+};
+var listQuery2 = external_exports.object({
+ status: external_exports.enum(MESSAGE_STATUSES).optional(),
+ page: external_exports.coerce.number().int().min(1).default(1),
+ pageSize: external_exports.coerce.number().int().min(1).max(100).default(20)
+});
+var toMessageDto = /* @__PURE__ */ __name((m) => ({
+ id: m.id,
+ name: m.name,
+ org: m.org,
+ phone: m.phone,
+ message: m.message,
+ status: m.status,
+ createdAt: m.createdAt.toISOString()
+}), "toMessageDto");
+var ContactService = class ContactService2 {
+ static {
+ __name(this, "ContactService");
+ }
+ prisma;
+ audit;
+ constructor(prisma, audit) {
+ this.prisma = prisma;
+ this.audit = audit;
+ }
+ async submit(input, ip, userAgent) {
+ if (input.website)
+ return;
+ await this.prisma.contactMessage.create({
+ data: {
+ name: input.name,
+ org: input.org,
+ phone: input.phone,
+ message: input.message,
+ ip: ip.slice(0, 64),
+ userAgent: userAgent.slice(0, 300)
+ }
+ });
+ }
+ async list(q) {
+ const where = q.status ? { status: q.status } : {};
+ const [items, total] = await this.prisma.$transaction([
+ this.prisma.contactMessage.findMany({
+ where,
+ orderBy: { id: "desc" },
+ skip: (q.page - 1) * q.pageSize,
+ take: q.pageSize
+ }),
+ this.prisma.contactMessage.count({ where })
+ ]);
+ return { items: items.map(toMessageDto), total, page: q.page, pageSize: q.pageSize };
+ }
+ async setStatus(id, status) {
+ return toMessageDto(await this.prisma.contactMessage.update({ where: { id }, data: { status } }));
+ }
+ async remove(id, userId) {
+ const m = await this.prisma.contactMessage.delete({ where: { id } });
+ this.audit.log(userId, "delete", "message", id, m.name);
+ }
+};
+ContactService = __decorate9([
+ Injectable(),
+ __metadata8("design:paramtypes", [
+ PrismaService,
+ AuditService
+ ])
+], ContactService);
+var PublicContactController = class PublicContactController2 {
+ static {
+ __name(this, "PublicContactController");
+ }
+ contact;
+ constructor(contact) {
+ this.contact = contact;
+ }
+ async submit(body, req) {
+ await this.contact.submit(body, req.ip ?? "", req.headers["user-agent"] ?? "");
+ return { ok: true };
+ }
+};
+__decorate9([
+ Post(),
+ HttpCode(201),
+ (0, import_throttler2.Throttle)({ default: { limit: 5, ttl: 10 * 6e4 } }),
+ __param4(0, Body(new ZodPipe(contactInputSchema))),
+ __param4(1, Req()),
+ __metadata8("design:type", Function),
+ __metadata8("design:paramtypes", [Object, Object]),
+ __metadata8("design:returntype", Promise)
+], PublicContactController.prototype, "submit", null);
+PublicContactController = __decorate9([
+ Controller("public/contact"),
+ __metadata8("design:paramtypes", [ContactService])
+], PublicContactController);
+var MessagesController = class MessagesController2 {
+ static {
+ __name(this, "MessagesController");
+ }
+ contact;
+ constructor(contact) {
+ this.contact = contact;
+ }
+ list(q) {
+ return this.contact.list(q);
+ }
+ update(id, body) {
+ return this.contact.setStatus(id, body.status);
+ }
+ async remove(id, user) {
+ await this.contact.remove(id, user.id);
+ }
+};
+__decorate9([
+ Get(),
+ __param4(0, Query(new ZodPipe(listQuery2))),
+ __metadata8("design:type", Function),
+ __metadata8("design:paramtypes", [Object]),
+ __metadata8("design:returntype", void 0)
+], MessagesController.prototype, "list", null);
+__decorate9([
+ Patch(":id"),
+ __param4(0, Param("id", IdPipe)),
+ __param4(1, Body(new ZodPipe(messageUpdateSchema))),
+ __metadata8("design:type", Function),
+ __metadata8("design:paramtypes", [Number, Object]),
+ __metadata8("design:returntype", void 0)
+], MessagesController.prototype, "update", null);
+__decorate9([
+ Roles("ADMIN"),
+ Delete(":id"),
+ HttpCode(204),
+ __param4(0, Param("id", IdPipe)),
+ __param4(1, CurrentUser()),
+ __metadata8("design:type", Function),
+ __metadata8("design:paramtypes", [Number, Object]),
+ __metadata8("design:returntype", Promise)
+], MessagesController.prototype, "remove", null);
+MessagesController = __decorate9([
+ AdminAuth(),
+ Controller("admin/messages"),
+ __metadata8("design:paramtypes", [ContactService])
+], MessagesController);
+var ContactModule = class ContactModule2 {
+ static {
+ __name(this, "ContactModule");
+ }
+};
+ContactModule = __decorate9([
+ Module({
+ controllers: [PublicContactController, MessagesController],
+ providers: [ContactService]
+ })
+], ContactModule);
+
+// dist/dashboard/dashboard.module.js
+init_common();
+var __decorate10 = function(decorators, target, key, desc) {
+ var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
+ if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
+ else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
+ return c > 3 && r && Object.defineProperty(target, key, r), r;
+};
+var __metadata9 = function(k, v) {
+ if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
+};
+var DAY_NAMES = ["\u06CC\u06A9\u0634\u0646\u0628\u0647", "\u062F\u0648\u0634\u0646\u0628\u0647", "\u0633\u0647\u200C\u0634\u0646\u0628\u0647", "\u0686\u0647\u0627\u0631\u0634\u0646\u0628\u0647", "\u067E\u0646\u062C\u200C\u0634\u0646\u0628\u0647", "\u062C\u0645\u0639\u0647", "\u0634\u0646\u0628\u0647"];
+var DashboardController = class DashboardController2 {
+ static {
+ __name(this, "DashboardController");
+ }
+ prisma;
+ constructor(prisma) {
+ this.prisma = prisma;
+ }
+ async get() {
+ const [categories, products, draftProducts, newMessages, readMessages, archivedMessages, media, messages, activity, categoryRows, sectionRows] = await Promise.all([
+ this.prisma.category.count(),
+ this.prisma.product.count(),
+ this.prisma.product.count({ where: { isPublished: false } }),
+ this.prisma.contactMessage.count({ where: { status: "NEW" } }),
+ this.prisma.contactMessage.count({ where: { status: "READ" } }),
+ this.prisma.contactMessage.count({ where: { status: "ARCHIVED" } }),
+ this.prisma.media.count(),
+ this.prisma.contactMessage.findMany({ orderBy: { id: "desc" }, take: 6 }),
+ this.prisma.auditLog.findMany({
+ orderBy: { id: "desc" },
+ take: 10,
+ include: { user: { select: { name: true } } }
+ }),
+ this.prisma.category.findMany({
+ select: { id: true, name: true, _count: { select: { products: true } } },
+ orderBy: { products: { _count: "desc" } },
+ take: 7
+ }),
+ this.prisma.siteSection.findMany()
+ ]);
+ let hiddenCount = 0;
+ for (const s of sectionRows) {
+ if (s.data && typeof s.data === "object" && s.data.enabled === false) {
+ hiddenCount++;
+ }
+ }
+ const now = /* @__PURE__ */ new Date();
+ const trend = [];
+ for (let i = 6; i >= 0; i--) {
+ const start = new Date(now.getFullYear(), now.getMonth(), now.getDate() - i, 0, 0, 0);
+ const end = new Date(now.getFullYear(), now.getMonth(), now.getDate() - i, 23, 59, 59, 999);
+ const count = await this.prisma.contactMessage.count({
+ where: { createdAt: { gte: start, lte: end } }
+ });
+ trend.push({
+ date: start.toISOString().slice(0, 10),
+ dayName: DAY_NAMES[start.getDay()],
+ messages: count
+ });
+ }
+ return {
+ categories,
+ products,
+ draftProducts,
+ newMessages,
+ media,
+ recentMessages: messages.map(toMessageDto),
+ recentActivity: activity.map((a) => ({
+ id: a.id,
+ action: a.action,
+ entity: a.entity,
+ summary: a.summary,
+ user: a.user?.name ?? null,
+ createdAt: a.createdAt.toISOString()
+ })),
+ categoryStats: categoryRows.map((c) => ({
+ id: c.id,
+ name: c.name,
+ count: c._count.products
+ })),
+ messageBreakdown: {
+ new: newMessages,
+ read: readMessages,
+ archived: archivedMessages,
+ total: newMessages + readMessages + archivedMessages
+ },
+ sectionsSummary: {
+ total: SECTION_KEYS.length,
+ visible: SECTION_KEYS.length - hiddenCount,
+ hidden: hiddenCount
+ },
+ trend
+ };
+ }
+};
+__decorate10([
+ Get(),
+ __metadata9("design:type", Function),
+ __metadata9("design:paramtypes", []),
+ __metadata9("design:returntype", Promise)
+], DashboardController.prototype, "get", null);
+DashboardController = __decorate10([
+ AdminAuth(),
+ Controller("admin/dashboard"),
+ __metadata9("design:paramtypes", [PrismaService])
+], DashboardController);
+var DashboardModule = class DashboardModule2 {
+ static {
+ __name(this, "DashboardModule");
+ }
+};
+DashboardModule = __decorate10([
+ Module({ controllers: [DashboardController] })
+], DashboardModule);
+
+// dist/public/public.module.js
+init_common();
+
+// dist/sections/sections.module.js
+init_common();
+var __decorate11 = function(decorators, target, key, desc) {
+ var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
+ if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
+ else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
+ return c > 3 && r && Object.defineProperty(target, key, r), r;
+};
+var __metadata10 = function(k, v) {
+ if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
+};
+var __param5 = function(paramIndex, decorator) {
+ return function(target, key) {
+ decorator(target, key, paramIndex);
+ };
+};
+var SectionsService = class SectionsService2 {
+ static {
+ __name(this, "SectionsService");
+ }
+ prisma;
+ audit;
+ revalidate;
+ constructor(prisma, audit, revalidate) {
+ this.prisma = prisma;
+ this.audit = audit;
+ this.revalidate = revalidate;
+ }
+ async getAll() {
+ const rows = await this.prisma.siteSection.findMany();
+ const byKey = new Map(rows.map((r) => [r.key, r.data]));
+ const missing = SECTION_KEYS.filter((k) => !byKey.has(k));
+ if (missing.length) {
+ throw new ServiceUnavailableException(`\u0645\u062D\u062A\u0648\u0627\u06CC \u0633\u0627\u06CC\u062A \u0645\u0642\u062F\u0627\u0631\u062F\u0647\u06CC \u0646\u0634\u062F\u0647 \u0627\u0633\u062A (${missing.join(", ")}) \u2014 pnpm db:seed \u0631\u0627 \u0627\u062C\u0631\u0627 \u06A9\u0646\u06CC\u062F`);
+ }
+ return Object.fromEntries(SECTION_KEYS.map((k) => [k, sectionSchemas[k].parse(byKey.get(k))]));
+ }
+ async get(key) {
+ if (!isSectionKey(key))
+ throw new NotFoundException("\u0628\u062E\u0634 \u067E\u06CC\u062F\u0627 \u0646\u0634\u062F");
+ const row = await this.prisma.siteSection.findUnique({ where: { key } });
+ if (!row)
+ throw new NotFoundException("\u0628\u062E\u0634 \u067E\u06CC\u062F\u0627 \u0646\u0634\u062F");
+ return { key, data: sectionSchemas[key].parse(row.data), updatedAt: row.updatedAt };
+ }
+ async update(key, body, user) {
+ if (!isSectionKey(key))
+ throw new NotFoundException("\u0628\u062E\u0634 \u067E\u06CC\u062F\u0627 \u0646\u0634\u062F");
+ if (key === "settings" && user.role !== "ADMIN") {
+ throw new ForbiddenException("\u0641\u0642\u0637 \u0645\u062F\u06CC\u0631 \u06A9\u0644 \u0645\u06CC\u200C\u062A\u0648\u0627\u0646\u062F \u062A\u0646\u0638\u06CC\u0645\u0627\u062A \u0633\u0627\u06CC\u062A \u0631\u0627 \u062A\u063A\u06CC\u06CC\u0631 \u062F\u0647\u062F");
+ }
+ const parsed = sectionSchemas[key].safeParse(body);
+ if (!parsed.success) {
+ throw new BadRequestException({
+ statusCode: 400,
+ message: "\u0627\u0637\u0644\u0627\u0639\u0627\u062A \u0648\u0627\u0631\u062F\u0634\u062F\u0647 \u0645\u0639\u062A\u0628\u0631 \u0646\u06CC\u0633\u062A",
+ issues: toIssues(parsed.error)
+ });
+ }
+ const row = await this.prisma.siteSection.upsert({
+ where: { key },
+ create: { key, data: parsed.data, updatedById: user.id },
+ update: { data: parsed.data, updatedById: user.id }
+ });
+ this.audit.log(user.id, "update", "section", key, key);
+ this.revalidate.trigger();
+ return { key, data: parsed.data, updatedAt: row.updatedAt };
+ }
+ async listAdmin() {
+ const rows = await this.prisma.siteSection.findMany();
+ const byKey = new Map(rows.map((r) => [r.key, r]));
+ return SECTION_KEYS.map((key) => {
+ const row = byKey.get(key);
+ let data = null;
+ if (row) {
+ const parsed = sectionSchemas[key].safeParse(row.data);
+ data = parsed.success ? parsed.data : row.data;
+ }
+ return {
+ key,
+ updatedAt: row?.updatedAt?.toISOString() ?? null,
+ enabled: data && typeof data === "object" && "enabled" in data ? data.enabled !== false : true
+ };
+ });
+ }
+ async setVisibility(key, enabled, user) {
+ if (!isSectionKey(key))
+ throw new NotFoundException("\u0628\u062E\u0634 \u067E\u06CC\u062F\u0627 \u0646\u0634\u062F");
+ if (key === "settings") {
+ throw new BadRequestException("\u062A\u0646\u0638\u06CC\u0645\u0627\u062A \u0633\u0627\u06CC\u062A \u0642\u0627\u0628\u0644\u06CC\u062A \u062A\u063A\u06CC\u06CC\u0631 \u0648\u0636\u0639\u06CC\u062A \u0646\u0645\u0627\u06CC\u0634 \u0646\u062F\u0627\u0631\u062F");
+ }
+ const row = await this.prisma.siteSection.findUnique({ where: { key } });
+ if (!row)
+ throw new NotFoundException("\u0628\u062E\u0634 \u067E\u06CC\u062F\u0627 \u0646\u0634\u062F");
+ const currentData = row.data && typeof row.data === "object" ? { ...row.data } : {};
+ currentData.enabled = enabled;
+ const parsed = sectionSchemas[key].safeParse(currentData);
+ if (!parsed.success) {
+ throw new BadRequestException({
+ statusCode: 400,
+ message: "\u0627\u0637\u0644\u0627\u0639\u0627\u062A \u0628\u062E\u0634 \u0645\u0639\u062A\u0628\u0631 \u0646\u06CC\u0633\u062A",
+ issues: toIssues(parsed.error)
+ });
+ }
+ const updated = await this.prisma.siteSection.update({
+ where: { key },
+ data: { data: parsed.data, updatedById: user.id }
+ });
+ this.audit.log(user.id, "update", "section", key, `\u062A\u063A\u06CC\u06CC\u0631 \u0648\u0636\u0639\u06CC\u062A \u0646\u0645\u0627\u06CC\u0634 \u0628\u0647 ${enabled ? "\u0646\u0645\u0627\u06CC\u0634" : "\u0639\u062F\u0645 \u0646\u0645\u0627\u06CC\u0634"}`);
+ this.revalidate.trigger();
+ return {
+ key,
+ enabled: parsed.data.enabled !== false,
+ updatedAt: updated.updatedAt.toISOString()
+ };
+ }
+};
+SectionsService = __decorate11([
+ Injectable(),
+ __metadata10("design:paramtypes", [
+ PrismaService,
+ AuditService,
+ RevalidateService
+ ])
+], SectionsService);
+var SectionsController = class SectionsController2 {
+ static {
+ __name(this, "SectionsController");
+ }
+ sections;
+ constructor(sections) {
+ this.sections = sections;
+ }
+ list() {
+ return this.sections.listAdmin();
+ }
+ get(key) {
+ return this.sections.get(key);
+ }
+ update(key, body, user) {
+ return this.sections.update(key, body, user);
+ }
+ setVisibility(key, body, user) {
+ const enabled = body && typeof body.enabled === "boolean" ? body.enabled : Boolean(body?.enabled);
+ return this.sections.setVisibility(key, enabled, user);
+ }
+};
+__decorate11([
+ Get(),
+ __metadata10("design:type", Function),
+ __metadata10("design:paramtypes", []),
+ __metadata10("design:returntype", void 0)
+], SectionsController.prototype, "list", null);
+__decorate11([
+ Get(":key"),
+ __param5(0, Param("key")),
+ __metadata10("design:type", Function),
+ __metadata10("design:paramtypes", [String]),
+ __metadata10("design:returntype", void 0)
+], SectionsController.prototype, "get", null);
+__decorate11([
+ Put(":key"),
+ __param5(0, Param("key")),
+ __param5(1, Body()),
+ __param5(2, CurrentUser()),
+ __metadata10("design:type", Function),
+ __metadata10("design:paramtypes", [String, Object, Object]),
+ __metadata10("design:returntype", void 0)
+], SectionsController.prototype, "update", null);
+__decorate11([
+ Patch(":key/visibility"),
+ __param5(0, Param("key")),
+ __param5(1, Body()),
+ __param5(2, CurrentUser()),
+ __metadata10("design:type", Function),
+ __metadata10("design:paramtypes", [String, Object, Object]),
+ __metadata10("design:returntype", void 0)
+], SectionsController.prototype, "setVisibility", null);
+SectionsController = __decorate11([
+ AdminAuth(),
+ Controller("admin/sections"),
+ __metadata10("design:paramtypes", [SectionsService])
+], SectionsController);
+var SectionsModule = class SectionsModule2 {
+ static {
+ __name(this, "SectionsModule");
+ }
+};
+SectionsModule = __decorate11([
+ Module({
+ controllers: [SectionsController],
+ providers: [SectionsService],
+ exports: [SectionsService]
+ })
+], SectionsModule);
+
+// dist/public/public.module.js
+var __decorate12 = function(decorators, target, key, desc) {
+ var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
+ if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
+ else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
+ return c > 3 && r && Object.defineProperty(target, key, r), r;
+};
+var __metadata11 = function(k, v) {
+ if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
+};
+var __param6 = function(paramIndex, decorator) {
+ return function(target, key) {
+ decorator(target, key, paramIndex);
+ };
+};
+var visible = { isPublished: true, category: { isPublished: true } };
+var RELATED_LIMIT = 4;
+var isAttribute = /* @__PURE__ */ __name((a) => !!a && typeof a === "object" && typeof a.name === "string" && typeof a.value === "string", "isAttribute");
+var PublicService = class PublicService2 {
+ static {
+ __name(this, "PublicService");
+ }
+ prisma;
+ media;
+ sections;
+ constructor(prisma, media, sections) {
+ this.prisma = prisma;
+ this.media = media;
+ this.sections = sections;
+ }
+ async site() {
+ const [sections, categories] = await Promise.all([this.sections.getAll(), this.categories()]);
+ return { sections, categories };
+ }
+ async categories() {
+ const rows = await this.prisma.category.findMany({
+ where: { isPublished: true },
+ orderBy: [{ sortOrder: "asc" }, { id: "asc" }],
+ include: {
+ coverImage: true,
+ _count: { select: { products: { where: { isPublished: true } } } }
+ }
+ });
+ return rows.map((c) => ({
+ slug: c.slug,
+ code: c.code,
+ name: c.name,
+ nameEn: c.nameEn,
+ shortDesc: c.shortDesc,
+ icon: c.icon,
+ coverImage: c.coverImage && this.media.url(c.coverImage.key),
+ productCount: c._count.products
+ }));
+ }
+ async category(slug) {
+ const c = await this.prisma.category.findFirst({
+ where: { slug, isPublished: true },
+ include: {
+ coverImage: true,
+ groups: { orderBy: { sortOrder: "asc" } },
+ products: {
+ where: { isPublished: true },
+ orderBy: [{ sortOrder: "asc" }, { id: "asc" }],
+ include: { image: true, group: { select: { slug: true } } }
+ }
+ }
+ });
+ if (!c)
+ throw new NotFoundException("\u062F\u0633\u062A\u0647\u200C\u0628\u0646\u062F\u06CC \u06CC\u0627\u0641\u062A \u0646\u0634\u062F");
+ const products = c.products.map((p) => this.toPublicProduct(p));
+ const usedGroups = new Set(products.map((p) => p.group));
+ return {
+ slug: c.slug,
+ code: c.code,
+ name: c.name,
+ nameEn: c.nameEn,
+ shortDesc: c.shortDesc,
+ fullDesc: c.fullDesc,
+ icon: c.icon,
+ seoTitle: c.seoTitle,
+ seoDescription: c.seoDescription,
+ coverImage: c.coverImage && this.media.url(c.coverImage.key),
+ productCount: products.length,
+ groups: c.groups.filter((g) => usedGroups.has(g.slug)).map((g) => ({ slug: g.slug, name: g.name, desc: g.desc })),
+ products
+ };
+ }
+ async product(slug) {
+ const p = await this.prisma.product.findFirst({
+ where: { slug, ...visible },
+ include: {
+ image: true,
+ gallery: { orderBy: { sortOrder: "asc" }, include: { media: true } },
+ group: true,
+ category: { include: { coverImage: true } }
+ }
+ });
+ if (!p)
+ throw new NotFoundException("\u0645\u062D\u0635\u0648\u0644 \u06CC\u0627\u0641\u062A \u0646\u0634\u062F");
+ const media = /* @__PURE__ */ new Map();
+ for (const m of [p.image, ...p.gallery.map((g) => g.media)])
+ if (m)
+ media.set(m.id, m);
+ const siblings = await this.prisma.product.findMany({
+ where: { categoryId: p.categoryId, isPublished: true, id: { not: p.id } },
+ orderBy: [{ sortOrder: "asc" }, { id: "asc" }],
+ include: { image: true, group: { select: { slug: true } } }
+ });
+ const sameGroup = /* @__PURE__ */ __name((s) => p.groupId !== null && s.groupId === p.groupId, "sameGroup");
+ const related = [...siblings.filter(sameGroup), ...siblings.filter((s) => !sameGroup(s))].slice(0, RELATED_LIMIT).map((s) => this.toPublicProduct(s));
+ return {
+ ...this.toPublicProduct(p),
+ details: p.details,
+ brand: p.brand,
+ origin: p.origin,
+ sizes: p.sizes,
+ standards: p.standards,
+ features: p.features,
+ applications: p.applications,
+ attributes: Array.isArray(p.attributes) ? p.attributes.filter(isAttribute) : [],
+ packaging: p.packaging,
+ minOrder: p.minOrder,
+ seoTitle: p.seoTitle,
+ seoDescription: p.seoDescription,
+ images: [...media.values()].map((m) => ({
+ url: this.media.url(m.key),
+ alt: m.alt || p.name,
+ width: m.width,
+ height: m.height
+ })),
+ groupName: p.group?.name ?? null,
+ category: {
+ slug: p.category.slug,
+ code: p.category.code,
+ name: p.category.name,
+ nameEn: p.category.nameEn,
+ fullDesc: p.category.fullDesc,
+ coverImage: p.category.coverImage && this.media.url(p.category.coverImage.key)
+ },
+ related,
+ updatedAt: p.updatedAt.toISOString()
+ };
+ }
+ async productRefs() {
+ const rows = await this.prisma.product.findMany({
+ where: visible,
+ orderBy: [{ category: { sortOrder: "asc" } }, { sortOrder: "asc" }],
+ select: { slug: true, updatedAt: true }
+ });
+ return rows.map((r) => ({ slug: r.slug, updatedAt: r.updatedAt.toISOString() }));
+ }
+ toPublicProduct(p) {
+ return {
+ code: p.code,
+ slug: p.slug,
+ name: p.name,
+ nameEn: p.nameEn,
+ desc: p.desc,
+ specs: p.specs,
+ variants: p.variants,
+ image: p.image && this.media.url(p.image.key),
+ group: p.group?.slug ?? null
+ };
+ }
+};
+PublicService = __decorate12([
+ Injectable(),
+ __metadata11("design:paramtypes", [
+ PrismaService,
+ MediaService,
+ SectionsService
+ ])
+], PublicService);
+var PublicController = class PublicController2 {
+ static {
+ __name(this, "PublicController");
+ }
+ publicData;
+ constructor(publicData) {
+ this.publicData = publicData;
+ }
+ site() {
+ return this.publicData.site();
+ }
+ categories() {
+ return this.publicData.categories();
+ }
+ category(slug) {
+ return this.publicData.category(slug);
+ }
+ products() {
+ return this.publicData.productRefs();
+ }
+ product(slug) {
+ return this.publicData.product(slug);
+ }
+};
+__decorate12([
+ Get("site"),
+ __metadata11("design:type", Function),
+ __metadata11("design:paramtypes", []),
+ __metadata11("design:returntype", void 0)
+], PublicController.prototype, "site", null);
+__decorate12([
+ Get("categories"),
+ __metadata11("design:type", Function),
+ __metadata11("design:paramtypes", []),
+ __metadata11("design:returntype", void 0)
+], PublicController.prototype, "categories", null);
+__decorate12([
+ Get("categories/:slug"),
+ __param6(0, Param("slug")),
+ __metadata11("design:type", Function),
+ __metadata11("design:paramtypes", [String]),
+ __metadata11("design:returntype", void 0)
+], PublicController.prototype, "category", null);
+__decorate12([
+ Get("products"),
+ __metadata11("design:type", Function),
+ __metadata11("design:paramtypes", []),
+ __metadata11("design:returntype", void 0)
+], PublicController.prototype, "products", null);
+__decorate12([
+ Get("products/:slug"),
+ __param6(0, Param("slug")),
+ __metadata11("design:type", Function),
+ __metadata11("design:paramtypes", [String]),
+ __metadata11("design:returntype", void 0)
+], PublicController.prototype, "product", null);
+PublicController = __decorate12([
+ Controller("public"),
+ __metadata11("design:paramtypes", [PublicService])
+], PublicController);
+var PublicModule = class PublicModule2 {
+ static {
+ __name(this, "PublicModule");
+ }
+};
+PublicModule = __decorate12([
+ Module({
+ imports: [MediaModule, SectionsModule],
+ controllers: [PublicController],
+ providers: [PublicService]
+ })
+], PublicModule);
+
+// dist/users/users.controller.js
+init_common();
+var __decorate13 = function(decorators, target, key, desc) {
+ var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
+ if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
+ else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
+ return c > 3 && r && Object.defineProperty(target, key, r), r;
+};
+var __metadata12 = function(k, v) {
+ if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
+};
+var __param7 = function(paramIndex, decorator) {
+ return function(target, key) {
+ decorator(target, key, paramIndex);
+ };
+};
+var UsersService = class UsersService2 {
+ static {
+ __name(this, "UsersService");
+ }
+ prisma;
+ auth;
+ audit;
+ constructor(prisma, auth, audit) {
+ this.prisma = prisma;
+ this.auth = auth;
+ this.audit = audit;
+ }
+ async list() {
+ const users = await this.prisma.adminUser.findMany({ orderBy: { id: "asc" } });
+ return users.map(toUserDto);
+ }
+ async create(input, actor) {
+ const user = await this.prisma.adminUser.create({
+ data: {
+ phone: input.phone,
+ name: input.name,
+ role: input.role,
+ passwordHash: await hashPassword(input.password)
+ }
+ });
+ this.audit.log(actor.id, "create", "user", user.id, user.phone);
+ return toUserDto(user);
+ }
+ async update(id, input, actor) {
+ if (id === actor.id && (input.role !== "ADMIN" || !input.isActive)) {
+ throw new BadRequestException("\u0646\u0645\u06CC\u200C\u062A\u0648\u0627\u0646\u06CC\u062F \u0646\u0642\u0634 \u06CC\u0627 \u0648\u0636\u0639\u06CC\u062A \u062D\u0633\u0627\u0628 \u062E\u0648\u062F\u062A\u0627\u0646 \u0631\u0627 \u062A\u063A\u06CC\u06CC\u0631 \u062F\u0647\u06CC\u062F");
+ }
+ const user = await this.prisma.adminUser.update({
+ where: { id },
+ data: {
+ name: input.name,
+ role: input.role,
+ isActive: input.isActive,
+ ...input.password ? { passwordHash: await hashPassword(input.password) } : {}
+ }
+ });
+ if (input.password || !input.isActive)
+ await this.auth.revokeAll(id);
+ this.audit.log(actor.id, "update", "user", id, user.phone);
+ return toUserDto(user);
+ }
+ async remove(id, actor) {
+ if (id === actor.id)
+ throw new BadRequestException("\u0646\u0645\u06CC\u200C\u062A\u0648\u0627\u0646\u06CC\u062F \u062D\u0633\u0627\u0628 \u062E\u0648\u062F\u062A\u0627\u0646 \u0631\u0627 \u062D\u0630\u0641 \u06A9\u0646\u06CC\u062F");
+ const user = await this.prisma.adminUser.delete({ where: { id } });
+ this.audit.log(actor.id, "delete", "user", id, user.phone);
+ }
+};
+UsersService = __decorate13([
+ Injectable(),
+ __metadata12("design:paramtypes", [
+ PrismaService,
+ AuthService,
+ AuditService
+ ])
+], UsersService);
+var UsersController = class UsersController2 {
+ static {
+ __name(this, "UsersController");
+ }
+ users;
+ constructor(users) {
+ this.users = users;
+ }
+ list() {
+ return this.users.list();
+ }
+ create(body, actor) {
+ return this.users.create(body, actor);
+ }
+ update(id, body, actor) {
+ return this.users.update(id, body, actor);
+ }
+ async remove(id, actor) {
+ await this.users.remove(id, actor);
+ }
+};
+__decorate13([
+ Get(),
+ __metadata12("design:type", Function),
+ __metadata12("design:paramtypes", []),
+ __metadata12("design:returntype", void 0)
+], UsersController.prototype, "list", null);
+__decorate13([
+ Post(),
+ __param7(0, Body(new ZodPipe(userCreateSchema))),
+ __param7(1, CurrentUser()),
+ __metadata12("design:type", Function),
+ __metadata12("design:paramtypes", [Object, Object]),
+ __metadata12("design:returntype", void 0)
+], UsersController.prototype, "create", null);
+__decorate13([
+ Put(":id"),
+ __param7(0, Param("id", IdPipe)),
+ __param7(1, Body(new ZodPipe(userUpdateSchema))),
+ __param7(2, CurrentUser()),
+ __metadata12("design:type", Function),
+ __metadata12("design:paramtypes", [Number, Object, Object]),
+ __metadata12("design:returntype", void 0)
+], UsersController.prototype, "update", null);
+__decorate13([
+ Delete(":id"),
+ HttpCode(204),
+ __param7(0, Param("id", IdPipe)),
+ __param7(1, CurrentUser()),
+ __metadata12("design:type", Function),
+ __metadata12("design:paramtypes", [Number, Object]),
+ __metadata12("design:returntype", Promise)
+], UsersController.prototype, "remove", null);
+UsersController = __decorate13([
+ AdminAuth("ADMIN"),
+ Controller("admin/users"),
+ __metadata12("design:paramtypes", [UsersService])
+], UsersController);
+var UsersModule = class UsersModule2 {
+ static {
+ __name(this, "UsersModule");
+ }
+};
+UsersModule = __decorate13([
+ Module({
+ imports: [AuthModule],
+ controllers: [UsersController],
+ providers: [UsersService]
+ })
+], UsersModule);
+
+// dist/app.module.js
+var __decorate14 = function(decorators, target, key, desc) {
+ var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
+ if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
+ else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
+ return c > 3 && r && Object.defineProperty(target, key, r), r;
+};
+var __metadata13 = function(k, v) {
+ if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
+};
+var HealthController = class HealthController2 {
+ static {
+ __name(this, "HealthController");
+ }
+ prisma;
+ constructor(prisma) {
+ this.prisma = prisma;
+ }
+ async health() {
+ await this.prisma.$queryRaw`SELECT 1`;
+ return { ok: true };
+ }
+};
+__decorate14([
+ Get(),
+ __metadata13("design:type", Function),
+ __metadata13("design:paramtypes", []),
+ __metadata13("design:returntype", Promise)
+], HealthController.prototype, "health", null);
+HealthController = __decorate14([
+ Controller("health"),
+ __metadata13("design:paramtypes", [PrismaService])
+], HealthController);
+var AppModule = class AppModule2 {
+ static {
+ __name(this, "AppModule");
+ }
+};
+AppModule = __decorate14([
+ Module({
+ imports: [
+ import_throttler3.ThrottlerModule.forRoot([{ ttl: 6e4, limit: 300 }]),
+ PrismaModule,
+ CommonModule,
+ AuthModule,
+ UsersModule,
+ MediaModule,
+ CatalogModule,
+ SectionsModule,
+ ContactModule,
+ PublicModule,
+ DashboardModule
+ ],
+ controllers: [HealthController],
+ providers: [
+ { provide: APP_GUARD, useClass: import_throttler3.ThrottlerGuard },
+ { provide: APP_FILTER, useClass: PrismaExceptionFilter }
+ ]
+ })
+], AppModule);
+
+// dist/main.js
+async function bootstrap() {
+ const app = await NestFactory.create(AppModule);
+ app.set("trust proxy", env.TRUST_PROXY);
+ app.setGlobalPrefix("api");
+ app.use(helmet());
+ app.use((0, import_cookie_parser.default)());
+ const origins = env.CORS_ORIGINS.split(",").map((o) => o.trim()).filter(Boolean);
+ if (origins.length)
+ app.enableCors({ origin: origins, credentials: true });
+ app.enableShutdownHooks();
+ await app.listen(env.PORT);
+}
+__name(bootstrap, "bootstrap");
+await bootstrap();
diff --git a/apps/api/.output/dist/migrate.js b/apps/api/.output/dist/migrate.js
new file mode 100644
index 0000000..1b964b3
--- /dev/null
+++ b/apps/api/.output/dist/migrate.js
@@ -0,0 +1,67 @@
+import { createRequire as __bundleCreateRequire } from "node:module"; const require = __bundleCreateRequire(import.meta.url);
+import {
+ esm_default
+} from "./chunks/chunk-KIUJQ22G.js";
+import {
+ __name
+} from "./chunks/chunk-T6GW54FI.js";
+
+// dist/migrate.js
+import { createHash, randomUUID } from "node:crypto";
+import { existsSync } from "node:fs";
+import { readdir, readFile } from "node:fs/promises";
+import path from "node:path";
+import { fileURLToPath } from "node:url";
+if (existsSync(".env"))
+ process.loadEnvFile(".env");
+var MIGRATIONS_DIR = path.resolve(path.dirname(fileURLToPath(import.meta.url)), "../prisma/migrations");
+var LOCK_ID = 72707369;
+var client = new esm_default.Client({ connectionString: process.env.DATABASE_URL });
+async function main() {
+ await client.query(`SELECT pg_advisory_lock(${LOCK_ID})`);
+ await client.query(`CREATE TABLE IF NOT EXISTS "_prisma_migrations" (
+ "id" VARCHAR(36) PRIMARY KEY NOT NULL,
+ "checksum" VARCHAR(64) NOT NULL,
+ "finished_at" TIMESTAMPTZ,
+ "migration_name" VARCHAR(255) NOT NULL,
+ "logs" TEXT,
+ "rolled_back_at" TIMESTAMPTZ,
+ "started_at" TIMESTAMPTZ NOT NULL DEFAULT now(),
+ "applied_steps_count" INTEGER NOT NULL DEFAULT 0
+ )`);
+ const { rows } = await client.query(`SELECT migration_name, finished_at FROM "_prisma_migrations" WHERE rolled_back_at IS NULL`);
+ const failed = rows.find((r) => !r.finished_at);
+ if (failed) {
+ throw new Error(`migration ${failed.migration_name} failed earlier; fix the database, then mark it with \`prisma migrate resolve\` (see its "logs" column in _prisma_migrations)`);
+ }
+ const applied = new Set(rows.map((r) => r.migration_name));
+ const entries = await readdir(MIGRATIONS_DIR, { withFileTypes: true });
+ const pending = entries.filter((e) => e.isDirectory() && !applied.has(e.name)).map((e) => e.name).sort();
+ for (const name of pending) {
+ const script = await readFile(path.join(MIGRATIONS_DIR, name, "migration.sql"), "utf8");
+ const id = randomUUID();
+ await client.query(`INSERT INTO "_prisma_migrations" (id, checksum, migration_name) VALUES ($1, $2, $3)`, [id, createHash("sha256").update(script).digest("hex"), name]);
+ try {
+ await client.query(script);
+ } catch (e) {
+ await client.query(`UPDATE "_prisma_migrations" SET logs = $2 WHERE id = $1`, [
+ id,
+ String(e)
+ ]);
+ throw new Error(`migration ${name} failed`, { cause: e });
+ }
+ await client.query(`UPDATE "_prisma_migrations" SET finished_at = now(), applied_steps_count = 1 WHERE id = $1`, [id]);
+ console.log(`applied ${name}`);
+ }
+ console.log(pending.length ? `${pending.length} migration(s) applied` : "no pending migrations");
+}
+__name(main, "main");
+try {
+ await client.connect();
+ await main();
+} catch (e) {
+ console.error(e);
+ process.exitCode = 1;
+} finally {
+ await client.end();
+}
diff --git a/apps/api/.output/dist/seed/seed.js b/apps/api/.output/dist/seed/seed.js
new file mode 100644
index 0000000..391899b
--- /dev/null
+++ b/apps/api/.output/dist/seed/seed.js
@@ -0,0 +1,1460 @@
+import { createRequire as __bundleCreateRequire } from "node:module"; const require = __bundleCreateRequire(import.meta.url);
+import {
+ S3Storage,
+ SECTION_KEYS,
+ createPrismaClient,
+ env,
+ hashPassword,
+ normalizeIrMobile,
+ sectionSchemas,
+ toWebp
+} from "../chunks/chunk-TXBARIZB.js";
+import "../chunks/chunk-KIUJQ22G.js";
+import "../chunks/chunk-BX2ML7LW.js";
+import "../chunks/chunk-A34KYKJP.js";
+import "../chunks/chunk-6UPY3HEI.js";
+import {
+ __name
+} from "../chunks/chunk-T6GW54FI.js";
+
+// dist/seed/seed.js
+import { mkdir, readFile, writeFile } from "node:fs/promises";
+import path from "node:path";
+import { fileURLToPath } from "node:url";
+
+// dist/seed/data/categories.js
+var CATEGORIES = [
+ {
+ slug: "workwear",
+ code: "IP-C01",
+ name: "\u067E\u0648\u0634\u0627\u06A9 \u06A9\u0627\u0631 \u0648 \u0627\u0644\u0628\u0633\u0647 \u0635\u0646\u0639\u062A\u06CC",
+ en: "INDUSTRIAL WORKWEAR",
+ shortDesc: "\u0644\u0628\u0627\u0633\u200C\u06A9\u0627\u0631 \u0635\u0646\u0639\u062A\u06CC \u0628\u0627 \u067E\u0627\u0631\u0686\u0647 \u0641\u0644\u0627\u0645\u0646\u062A \u06A9\u062C\u0631\u0627\u0647 \u0627\u0639\u0644\u0627\u060C \u062F\u0648\u062E\u062A \u0633\u0647 \u0633\u0648\u0632\u0646\u0647 \u0648 \u0622\u0633\u062A\u0631 \u0639\u0631\u0642\u200C\u06AF\u06CC\u0631\u061B \u0645\u0646\u0627\u0633\u0628 \u0645\u062D\u06CC\u0637\u200C\u0647\u0627\u06CC \u06A9\u0627\u0631\u06AF\u0627\u0647\u06CC \u0648 \u0635\u0646\u0639\u062A\u06CC.",
+ fullDesc: "\u0645\u062C\u0645\u0648\u0639\u0647 \u06A9\u0627\u0645\u0644 \u067E\u0648\u0634\u0627\u06A9 \u06A9\u0627\u0631 \u0635\u0646\u0639\u062A\u06CC \u0634\u0627\u0645\u0644 \u06A9\u0627\u067E\u0634\u0646 \u0648 \u0634\u0644\u0648\u0627\u0631 \u0645\u0647\u0646\u062F\u0633\u06CC\u060C \u0644\u0628\u0627\u0633 \u062C\u0648\u0634\u06A9\u0627\u0631\u06CC\u060C \u067E\u06CC\u0634\u200C\u0628\u0646\u062F \u062F\u0648\u0628\u0646\u062F\u0647 \u0648 \u062A\u06CC\u200C\u0634\u0631\u062A \u06A9\u0627\u0631. \u062A\u0645\u0627\u0645\u06CC \u0645\u062F\u0644\u200C\u0647\u0627 \u0628\u0627 \u067E\u0627\u0631\u0686\u0647 \u0641\u0644\u0627\u0645\u0646\u062A \u06A9\u062C\u0631\u0627\u0647 \u0627\u0639\u0644\u0627 \u0648 \u06A9\u062A\u0627\u0646 \u0645\u0642\u0627\u0648\u0645\u060C \u062F\u0648\u062E\u062A \u0635\u0646\u0639\u062A\u06CC \u0633\u0647 \u0633\u0648\u0632\u0646\u0647 \u067E\u06CC\u0648\u0633\u062A\u0647 \u0628\u0631\u0627\u06CC \u062C\u0644\u0648\u06AF\u06CC\u0631\u06CC \u0627\u0632 \u0634\u06A9\u0627\u0641\u062A\u06AF\u06CC \u062F\u0631\u0632\u0647\u0627 \u0648 \u0622\u0633\u062A\u0631 \u0639\u0631\u0642\u200C\u06AF\u06CC\u0631 \u0627\u062E\u062A\u0635\u0627\u0635\u06CC \u062A\u0648\u0644\u06CC\u062F \u0645\u06CC\u200C\u0634\u0648\u0646\u062F. \u0645\u0648\u062C\u0648\u062F \u062F\u0631 \u0633\u0627\u06CC\u0632\u0647\u0627\u06CC M \u062A\u0627 4XL.",
+ icon: "Shirt",
+ products: [
+ {
+ code: "IP-W01",
+ name: "\u0644\u0628\u0627\u0633\u06A9\u0627\u0631 \u0645\u062F\u0644 \u0622\u0644\u0641\u0627",
+ en: "ALPHA WORKWEAR",
+ desc: "\u06A9\u0627\u067E\u0634\u0646 \u0648 \u0634\u0644\u0648\u0627\u0631 \u0645\u0647\u0646\u062F\u0633\u06CC \u0628\u0627 \u062C\u06CC\u0628\u200C\u0647\u0627\u06CC \u067E\u0627\u06A9\u062A\u06CC \u0648 \u0632\u06CC\u067E\u200C\u062F\u0627\u0631\u060C \u0646\u0648\u0627\u0631 \u0645\u063A\u0632\u06CC \u062A\u0632\u0626\u06CC\u0646\u06CC \u0648 \u0637\u0631\u0627\u062D\u06CC \u0627\u0631\u06AF\u0648\u0646\u0648\u0645\u06CC\u06A9 \u0628\u0631\u0627\u06CC \u062A\u06CC\u0645\u200C\u0647\u0627\u06CC \u0641\u0646\u06CC \u0648 \u0645\u0647\u0646\u062F\u0633\u06CC.",
+ specs: ["\u0641\u0644\u0627\u0645\u0646\u062A \u06A9\u062C\u0631\u0627\u0647 \u0627\u0639\u0644\u0627", "\u062F\u0648\u062E\u062A \u0633\u0647 \u0633\u0648\u0632\u0646\u0647", "\u0622\u0633\u062A\u0631 \u0639\u0631\u0642\u200C\u06AF\u06CC\u0631", "\u0633\u0627\u06CC\u0632 M \u062A\u0627 4XL"],
+ variants: [
+ "\u0637\u0648\u0633\u06CC/\u0622\u0628\u06CC",
+ "\u0645\u0634\u06A9\u06CC/\u0642\u0631\u0645\u0632",
+ "\u0645\u0634\u06A9\u06CC/\u0632\u0631\u062F",
+ "\u06A9\u0631\u0645/\u0633\u0631\u0645\u0647\u200C\u0627\u06CC"
+ ]
+ },
+ {
+ code: "IP-W02",
+ name: "\u0644\u0628\u0627\u0633\u06A9\u0627\u0631 \u0645\u062F\u0644 \u0627\u0648\u0631\u062C\u06CC\u0646\u0627\u0644",
+ en: "ORIGINAL WORKWEAR",
+ desc: "\u06A9\u0627\u067E\u0634\u0646 \u0648 \u0634\u0644\u0648\u0627\u0631 \u0627\u0633\u062A\u0627\u0646\u062F\u0627\u0631\u062F \u0628\u0627 \u062F\u0648\u0627\u0645 \u0628\u0627\u0644\u0627\u060C \u0645\u0646\u0627\u0633\u0628 \u06A9\u0627\u062F\u0631 \u0641\u0646\u06CC \u06A9\u0627\u0631\u062E\u0627\u0646\u062C\u0627\u062A \u0648 \u062E\u0637\u0648\u0637 \u062A\u0648\u0644\u06CC\u062F \u0628\u0627 \u062A\u0631\u06A9\u06CC\u0628\u200C\u0647\u0627\u06CC \u0635\u0646\u0639\u062A\u06CC \u062F\u0648\u0631\u0646\u06AF.",
+ specs: ["\u06A9\u062A\u0627\u0646 \u0645\u0642\u0627\u0648\u0645", "\u062F\u0648\u062E\u062A \u0633\u0647 \u0633\u0648\u0632\u0646\u0647", "\u0622\u0633\u062A\u0631 \u0639\u0631\u0642\u200C\u06AF\u06CC\u0631", "\u0633\u0627\u06CC\u0632 M \u062A\u0627 4XL"],
+ variants: ["\u062A\u0631\u06A9\u06CC\u0628\u200C\u0647\u0627\u06CC \u0635\u0646\u0639\u062A\u06CC \u062F\u0648\u0631\u0646\u06AF"]
+ },
+ {
+ code: "IP-W03",
+ name: "\u0644\u0628\u0627\u0633\u06A9\u0627\u0631 \u0645\u062F\u0644 \u0628\u0648\u0641\u0627\u0644\u0648",
+ en: "BUFFALO WORKWEAR",
+ desc: "\u0637\u0631\u0627\u062D\u06CC \u0627\u0633\u067E\u0631\u062A \u0628\u0627 \u0628\u0631\u0634\u200C\u0647\u0627\u06CC \u062A\u0642\u0648\u06CC\u062A\u06CC \u0631\u0648\u06CC \u0634\u0627\u0646\u0647 \u0648 \u0628\u0627\u0632\u0648\u060C \u0632\u06CC\u067E \u0645\u062E\u0641\u06CC \u0645\u062D\u0627\u0641\u0638\u200C\u062F\u0627\u0631\u061B \u0645\u0646\u0627\u0633\u0628 \u0645\u062D\u06CC\u0637\u200C\u0647\u0627\u06CC \u0635\u0646\u0639\u062A\u06CC \u0641\u0639\u0627\u0644.",
+ specs: ["\u0641\u0644\u0627\u0645\u0646\u062A \u06A9\u062C\u0631\u0627\u0647 \u0627\u0639\u0644\u0627", "\u0632\u06CC\u067E \u0645\u062E\u0641\u06CC \u0645\u062D\u0627\u0641\u0638\u200C\u062F\u0627\u0631", "\u0628\u0631\u0634 \u062A\u0642\u0648\u06CC\u062A\u06CC \u0634\u0627\u0646\u0647", "\u0633\u0627\u06CC\u0632 M \u062A\u0627 4XL"],
+ variants: [
+ "\u0633\u0631\u0645\u0647\u200C\u0627\u06CC/\u0632\u0631\u062F",
+ "\u0637\u0648\u0633\u06CC/\u0642\u0631\u0645\u0632",
+ "\u0637\u0648\u0633\u06CC/\u062E\u0631\u062F\u0644\u06CC",
+ "\u0622\u0628\u06CC/\u0645\u0634\u06A9\u06CC"
+ ]
+ },
+ {
+ code: "IP-W04",
+ name: "\u0644\u0628\u0627\u0633\u06A9\u0627\u0631 \u0633\u062A \u0648\u0631\u06A9",
+ en: "SET WORK",
+ desc: "\u0633\u062A \u0627\u062F\u0627\u0631\u06CC/\u06A9\u0627\u0631\u06AF\u0627\u0647\u06CC \u0628\u0627 \u0627\u0646\u0639\u0637\u0627\u0641 \u0628\u0627\u0644\u0627 \u062C\u0647\u062A \u0641\u0639\u0627\u0644\u06CC\u062A\u200C\u0647\u0627\u06CC \u0641\u0646\u06CC \u0648 \u062A\u0639\u0645\u06CC\u0631\u0627\u062A\u06CC\u061B \u0642\u0627\u0628\u0644 \u0627\u0633\u062A\u0641\u0627\u062F\u0647 \u062F\u0631 \u0645\u062D\u06CC\u0637\u200C\u0647\u0627\u06CC \u0633\u062A\u0627\u062F\u06CC \u0648 \u0639\u0645\u0644\u06CC\u0627\u062A\u06CC.",
+ specs: ["\u06A9\u062A\u0627\u0646 \u0645\u0642\u0627\u0648\u0645", "\u062F\u0648\u062E\u062A \u0633\u0647 \u0633\u0648\u0632\u0646\u0647", "\u0637\u0631\u0627\u062D\u06CC \u0645\u0646\u0639\u0637\u0641", "\u0633\u0627\u06CC\u0632 M \u062A\u0627 4XL"],
+ variants: ["\u062A\u0631\u06A9\u06CC\u0628\u200C\u0647\u0627\u06CC \u0686\u0646\u062F\u06AF\u0627\u0646\u0647 \u06A9\u0627\u0631\u06AF\u0627\u0647\u06CC"]
+ },
+ {
+ code: "IP-W05",
+ name: "\u0644\u0628\u0627\u0633\u06A9\u0627\u0631 \u062C\u0648\u0634\u06A9\u0627\u0631\u06CC",
+ en: "WELDING WORKWEAR",
+ desc: "\u0645\u062A\u0631\u06CC\u0627\u0644 \u0633\u0646\u06AF\u06CC\u0646 \u06A9\u062A\u0627\u0646 \u06CC\u0627 \u0686\u0631\u0645 \u062C\u0647\u062A \u0645\u0642\u0627\u0648\u0645\u062A \u062F\u0631 \u0628\u0631\u0627\u0628\u0631 \u067E\u0627\u0634\u0634 \u062C\u0631\u0642\u0647\u200C\u0647\u0627\u06CC \u0645\u0630\u0627\u0628\u061B \u0637\u0631\u0627\u062D\u06CC\u200C\u0634\u062F\u0647 \u0628\u0631\u0627\u06CC \u062C\u0648\u0634\u06A9\u0627\u0631\u0627\u0646 \u0635\u0646\u0639\u062A\u06CC.",
+ specs: ["\u0645\u0642\u0627\u0648\u0645 \u0628\u0647 \u062C\u0631\u0642\u0647 \u0645\u0630\u0627\u0628", "\u06A9\u062A\u0627\u0646 \u0633\u0646\u06AF\u06CC\u0646 / \u0686\u0631\u0645", "\u062F\u0648\u062E\u062A \u0635\u0646\u0639\u062A\u06CC", "\u0633\u0627\u06CC\u0632 M \u062A\u0627 4XL"]
+ },
+ {
+ code: "IP-W06",
+ name: "\u067E\u06CC\u0634\u200C\u0628\u0646\u062F \u062F\u0648\u0628\u0646\u062F\u0647",
+ en: "BIB OVERALLS",
+ desc: "\u0622\u0632\u0627\u062F\u06CC \u0639\u0645\u0644 \u06A9\u0627\u0645\u0644 \u06A9\u062A\u0641 \u0648 \u0634\u0627\u0646\u0647 \u0628\u0627 \u062C\u06CC\u0628\u200C\u0647\u0627\u06CC \u0686\u0646\u062F\u0645\u0646\u0638\u0648\u0631\u0647 \u0627\u0628\u0632\u0627\u0631 \u0628\u0631 \u0631\u0648\u06CC \u067E\u06CC\u0634\u200C\u0633\u06CC\u0646\u0647\u061B \u0627\u06CC\u062F\u0647\u200C\u0622\u0644 \u0628\u0631\u0627\u06CC \u06A9\u0627\u0631\u0647\u0627\u06CC \u062A\u0639\u0645\u06CC\u0631\u0627\u062A\u06CC \u0648 \u0645\u0648\u0646\u062A\u0627\u0698.",
+ specs: ["\u0622\u0632\u0627\u062F\u06CC \u062D\u0631\u06A9\u062A \u0634\u0627\u0646\u0647", "\u062C\u06CC\u0628 \u0627\u0628\u0632\u0627\u0631 \u067E\u06CC\u0634\u200C\u0633\u06CC\u0646\u0647", "\u062F\u0648\u062E\u062A \u0633\u0647 \u0633\u0648\u0632\u0646\u0647", "\u0633\u0627\u06CC\u0632 M \u062A\u0627 4XL"],
+ variants: ["\u0633\u0631\u0645\u0647\u200C\u0627\u06CC", "\u062E\u0627\u06A9\u0633\u062A\u0631\u06CC"]
+ },
+ {
+ code: "IP-W07",
+ name: "\u062A\u06CC\u200C\u0634\u0631\u062A \u0635\u0646\u0639\u062A\u06CC",
+ en: "INDUSTRIAL T-SHIRT",
+ desc: "\u062A\u06CC\u200C\u0634\u0631\u062A \u06CC\u0642\u0647\u200C\u062F\u0627\u0631 \u062C\u0648\u062F\u0648\u0646 / \u067E\u0646\u0628\u0647\u200C\u0627\u06CC \u0645\u0646\u0627\u0633\u0628 \u0641\u0635\u0648\u0644 \u06AF\u0631\u0645 \u0648 \u0632\u06CC\u0631\u067E\u0648\u0634 \u06A9\u0627\u067E\u0634\u0646 \u06A9\u0627\u0631\u06AF\u0627\u0647\u06CC \u062F\u0631 \u0633\u0648\u0644\u0647\u200C\u0647\u0627\u06CC \u0633\u0631\u067E\u0648\u0634\u06CC\u062F\u0647.",
+ specs: ["\u067E\u0646\u0628\u0647 / \u062C\u0648\u062F\u0648\u0646", "\u06CC\u0642\u0647\u200C\u062F\u0627\u0631", "\u0645\u0646\u0627\u0633\u0628 \u0641\u0635\u0648\u0644 \u06AF\u0631\u0645", "\u0633\u0627\u06CC\u0632 M \u062A\u0627 4XL"]
+ }
+ ]
+ },
+ {
+ slug: "safety-footwear",
+ code: "IP-C02",
+ name: "\u067E\u0627\u06CC\u067E\u0648\u0634 \u0648 \u06A9\u0641\u0634 \u0627\u06CC\u0645\u0646\u06CC",
+ en: "SAFETY FOOTWEAR",
+ shortDesc: "\u06A9\u0641\u0634\u200C\u0647\u0627\u06CC \u0627\u062F\u0627\u0631\u06CC \u0648 \u06A9\u0641\u0634\u200C\u0647\u0627\u06CC \u0627\u06CC\u0645\u0646\u06CC \u06A9\u0627\u0631\u06AF\u0631\u06CC\u061B \u0631\u0627\u062D\u062A \u0648 \u0634\u06A9\u06CC\u0644 \u0628\u0631\u0627\u06CC \u0645\u062D\u06CC\u0637 \u0627\u062F\u0627\u0631\u06CC\u060C \u0645\u0642\u0627\u0648\u0645 \u0648 \u0636\u062F \u0644\u063A\u0632\u0634 \u0628\u0631\u0627\u06CC \u06A9\u0627\u0631\u06AF\u0627\u0647.",
+ fullDesc: "\u067E\u0627\u06CC\u067E\u0648\u0634 \u0627\u06CC\u0645\u0646\u06CC \u0634\u0627\u0645\u0644 \u06A9\u0641\u0634\u200C\u0647\u0627\u06CC \u0627\u062F\u0627\u0631\u06CC \u0628\u0631\u0627\u06CC \u0645\u062D\u06CC\u0637\u200C\u0647\u0627\u06CC \u0627\u062F\u0627\u0631\u06CC \u0648 \u0633\u0628\u06A9 \u0635\u0646\u0639\u062A\u06CC \u0648 \u06A9\u0641\u0634\u200C\u0647\u0627\u06CC \u0627\u06CC\u0645\u0646\u06CC \u06A9\u0627\u0631\u06AF\u0631\u06CC \u0628\u0631\u0627\u06CC \u06A9\u0627\u0631\u06AF\u0627\u0647\u200C\u0647\u0627 \u0648 \u067E\u0631\u0648\u0698\u0647\u200C\u0647\u0627\u06CC \u0633\u0627\u062E\u062A\u0645\u0627\u0646\u06CC\u061B \u0628\u0627 \u0632\u06CC\u0631\u0647 \u0645\u0642\u0627\u0648\u0645 \u0648 \u0645\u0648\u0627\u062F \u0645\u0642\u0627\u0648\u0645 \u062F\u0631 \u0628\u0631\u0627\u0628\u0631 \u0633\u0627\u06CC\u0634 \u0648 \u0645\u0648\u0627\u062F \u0634\u06CC\u0645\u06CC\u0627\u06CC\u06CC \u0633\u0628\u06A9.",
+ icon: "Footprints",
+ groups: [
+ { slug: "office", name: "\u06A9\u0641\u0634 \u0627\u062F\u0627\u0631\u06CC", desc: "\u0645\u0646\u0627\u0633\u0628 \u0645\u062D\u06CC\u0637\u200C\u0647\u0627\u06CC \u0627\u062F\u0627\u0631\u06CC \u0648 \u0633\u0628\u06A9 \u0635\u0646\u0639\u062A\u06CC\u060C \u0631\u0627\u062D\u062A\u060C \u0633\u0628\u06A9 \u0648 \u0634\u06A9\u06CC\u0644 \u0628\u0627 \u0632\u06CC\u0631\u0647 \u0645\u0642\u0627\u0648\u0645." },
+ { slug: "worker", name: "\u06A9\u0641\u0634 \u0627\u06CC\u0645\u0646\u06CC \u06A9\u0627\u0631\u06AF\u0631\u06CC", desc: "\u0645\u0646\u0627\u0633\u0628 \u06A9\u0627\u0631\u06AF\u0627\u0647\u200C\u0647\u0627 \u0648 \u067E\u0631\u0648\u0698\u0647\u200C\u0647\u0627\u06CC \u0633\u0627\u062E\u062A\u0645\u0627\u0646\u06CC\u060C \u0645\u0642\u0627\u0648\u0645 \u062F\u0631 \u0628\u0631\u0627\u0628\u0631 \u0633\u0627\u06CC\u0634 \u0648 \u0645\u0648\u0627\u062F \u0634\u06CC\u0645\u06CC\u0627\u06CC\u06CC \u0633\u0628\u06A9." }
+ ],
+ products: [
+ {
+ code: "IP-F01",
+ group: "office",
+ name: "\u06A9\u0641\u0634 \u0627\u062F\u0627\u0631\u06CC \u0645\u062F\u0644 \u06F1\u06F1\u06F7\u06F4",
+ en: "OFFICE SHOE 1174",
+ desc: "\u0645\u0646\u0627\u0633\u0628 \u0645\u062D\u06CC\u0637\u200C\u0647\u0627\u06CC \u0627\u062F\u0627\u0631\u06CC \u0648 \u0633\u0628\u06A9 \u0635\u0646\u0639\u062A\u06CC\u060C \u0631\u0627\u062D\u062A\u060C \u0633\u0628\u06A9 \u0648 \u0634\u06A9\u06CC\u0644 \u0628\u0627 \u0632\u06CC\u0631\u0647 \u0645\u0642\u0627\u0648\u0645.",
+ specs: ["\u0686\u0631\u0645 \u0646\u0628\u0648\u06A9", "\u0628\u0646\u062F\u062F\u0627\u0631", "\u0632\u06CC\u0631\u0647 \u0645\u0642\u0627\u0648\u0645"],
+ image: "/images/products/shoes/office/1.webp"
+ },
+ {
+ code: "IP-F02",
+ group: "office",
+ name: "\u06A9\u0641\u0634 \u0627\u062F\u0627\u0631\u06CC \u0628\u06CC\u200C\u0628\u0646\u062F \u0645\u062F\u0644 \u06F6",
+ en: "SLIP-ON OFFICE SHOE",
+ desc: "\u0645\u0646\u0627\u0633\u0628 \u0645\u062D\u06CC\u0637\u200C\u0647\u0627\u06CC \u0627\u062F\u0627\u0631\u06CC \u0648 \u0633\u0628\u06A9 \u0635\u0646\u0639\u062A\u06CC\u060C \u0631\u0627\u062D\u062A\u060C \u0633\u0628\u06A9 \u0648 \u0634\u06A9\u06CC\u0644 \u0628\u0627 \u0632\u06CC\u0631\u0647 \u0645\u0642\u0627\u0648\u0645.",
+ specs: ["\u0686\u0631\u0645 \u0637\u0628\u06CC\u0639\u06CC", "\u0628\u062F\u0648\u0646 \u0628\u0646\u062F", "\u0632\u06CC\u0631\u0647 \u0645\u0642\u0627\u0648\u0645"],
+ image: "/images/products/shoes/office/2.webp"
+ },
+ {
+ code: "IP-F03",
+ group: "office",
+ name: "\u06A9\u0641\u0634 \u0627\u062F\u0627\u0631\u06CC \u0628\u0646\u062F\u062F\u0627\u0631 \u0645\u0634\u06A9\u06CC",
+ en: "LACE-UP OFFICE SHOE",
+ desc: "\u0645\u0646\u0627\u0633\u0628 \u0645\u062D\u06CC\u0637\u200C\u0647\u0627\u06CC \u0627\u062F\u0627\u0631\u06CC \u0648 \u0633\u0628\u06A9 \u0635\u0646\u0639\u062A\u06CC\u060C \u0631\u0627\u062D\u062A\u060C \u0633\u0628\u06A9 \u0648 \u0634\u06A9\u06CC\u0644 \u0628\u0627 \u0632\u06CC\u0631\u0647 \u0645\u0642\u0627\u0648\u0645.",
+ specs: ["\u0686\u0631\u0645 \u0637\u0628\u06CC\u0639\u06CC", "\u0628\u0646\u062F\u062F\u0627\u0631", "\u0632\u06CC\u0631\u0647 \u0645\u0642\u0627\u0648\u0645"],
+ image: "/images/products/shoes/office/3.webp"
+ },
+ {
+ code: "IP-F04",
+ group: "office",
+ name: "\u06A9\u0641\u0634 \u0627\u062F\u0627\u0631\u06CC \u0628\u06CC\u200C\u0628\u0646\u062F AAEA075",
+ en: "SLIP-ON OFFICE SHOE AAEA075",
+ desc: "\u0645\u0646\u0627\u0633\u0628 \u0645\u062D\u06CC\u0637\u200C\u0647\u0627\u06CC \u0627\u062F\u0627\u0631\u06CC \u0648 \u0633\u0628\u06A9 \u0635\u0646\u0639\u062A\u06CC\u060C \u0631\u0627\u062D\u062A\u060C \u0633\u0628\u06A9 \u0648 \u0634\u06A9\u06CC\u0644 \u0628\u0627 \u0632\u06CC\u0631\u0647 \u0645\u0642\u0627\u0648\u0645.",
+ specs: ["\u0686\u0631\u0645 \u0637\u0628\u06CC\u0639\u06CC", "\u0628\u062F\u0648\u0646 \u0628\u0646\u062F", "\u0632\u06CC\u0631\u0647 \u0645\u0642\u0627\u0648\u0645"],
+ image: "/images/products/shoes/office/4.webp"
+ },
+ {
+ code: "IP-F05",
+ group: "office",
+ name: "\u06A9\u0641\u0634 \u0627\u062F\u0627\u0631\u06CC \u0634\u0628\u0631\u0648",
+ en: "SHEBRO OFFICE SHOE",
+ desc: "\u0645\u0646\u0627\u0633\u0628 \u0645\u062D\u06CC\u0637\u200C\u0647\u0627\u06CC \u0627\u062F\u0627\u0631\u06CC \u0648 \u0633\u0628\u06A9 \u0635\u0646\u0639\u062A\u06CC\u060C \u0631\u0627\u062D\u062A\u060C \u0633\u0628\u06A9 \u0648 \u0634\u06A9\u06CC\u0644 \u0628\u0627 \u0632\u06CC\u0631\u0647 \u0645\u0642\u0627\u0648\u0645.",
+ specs: ["\u0686\u0631\u0645 \u0637\u0628\u06CC\u0639\u06CC", "\u0628\u0646\u062F\u062F\u0627\u0631", "\u0632\u06CC\u0631\u0647 \u0645\u0642\u0627\u0648\u0645"],
+ image: "/images/products/shoes/office/5.webp"
+ },
+ {
+ code: "IP-F06",
+ group: "office",
+ name: "\u06A9\u0641\u0634 \u0627\u062F\u0627\u0631\u06CC \u0628\u06CC\u200C\u0628\u0646\u062F \u06A9\u0644\u0627\u0633\u06CC\u06A9",
+ en: "CLASSIC SLIP-ON OFFICE SHOE",
+ desc: "\u0645\u0646\u0627\u0633\u0628 \u0645\u062D\u06CC\u0637\u200C\u0647\u0627\u06CC \u0627\u062F\u0627\u0631\u06CC \u0648 \u0633\u0628\u06A9 \u0635\u0646\u0639\u062A\u06CC\u060C \u0631\u0627\u062D\u062A\u060C \u0633\u0628\u06A9 \u0648 \u0634\u06A9\u06CC\u0644 \u0628\u0627 \u0632\u06CC\u0631\u0647 \u0645\u0642\u0627\u0648\u0645.",
+ specs: ["\u0686\u0631\u0645 \u0637\u0628\u06CC\u0639\u06CC", "\u0628\u062F\u0648\u0646 \u0628\u0646\u062F", "\u0632\u06CC\u0631\u0647 \u0645\u0642\u0627\u0648\u0645"],
+ image: "/images/products/shoes/office/6.webp"
+ },
+ {
+ code: "IP-F07",
+ group: "office",
+ name: "\u06A9\u0641\u0634 \u0627\u062F\u0627\u0631\u06CC \u06A9\u0627\u0644\u062C",
+ en: "LOAFER OFFICE SHOE",
+ desc: "\u0645\u0646\u0627\u0633\u0628 \u0645\u062D\u06CC\u0637\u200C\u0647\u0627\u06CC \u0627\u062F\u0627\u0631\u06CC \u0648 \u0633\u0628\u06A9 \u0635\u0646\u0639\u062A\u06CC\u060C \u0631\u0627\u062D\u062A\u060C \u0633\u0628\u06A9 \u0648 \u0634\u06A9\u06CC\u0644 \u0628\u0627 \u0632\u06CC\u0631\u0647 \u0645\u0642\u0627\u0648\u0645.",
+ specs: ["\u0686\u0631\u0645 \u0637\u0628\u06CC\u0639\u06CC", "\u06A9\u0627\u0644\u062C", "\u0632\u06CC\u0631\u0647 \u0645\u0642\u0627\u0648\u0645"],
+ image: "/images/products/shoes/office/7.webp"
+ },
+ {
+ code: "IP-F08",
+ group: "office",
+ name: "\u06A9\u0641\u0634 \u0627\u062F\u0627\u0631\u06CC \u062F\u06CC\u067E\u0644\u0645\u0627\u062A",
+ en: "DIPLOMAT OFFICE SHOE",
+ desc: "\u0645\u0646\u0627\u0633\u0628 \u0645\u062D\u06CC\u0637\u200C\u0647\u0627\u06CC \u0627\u062F\u0627\u0631\u06CC \u0648 \u0633\u0628\u06A9 \u0635\u0646\u0639\u062A\u06CC\u060C \u0631\u0627\u062D\u062A\u060C \u0633\u0628\u06A9 \u0648 \u0634\u06A9\u06CC\u0644 \u0628\u0627 \u0632\u06CC\u0631\u0647 \u0645\u0642\u0627\u0648\u0645.",
+ specs: ["\u0686\u0631\u0645 \u0637\u0628\u06CC\u0639\u06CC", "\u0628\u0646\u062F\u062F\u0627\u0631", "\u0637\u0631\u0627\u062D\u06CC \u0631\u0633\u0645\u06CC"],
+ image: "/images/products/shoes/office/8.webp"
+ },
+ {
+ code: "IP-F09",
+ group: "worker",
+ name: "\u06A9\u0641\u0634 \u0627\u06CC\u0645\u0646\u06CC \u06A9\u0627\u0631\u06AF\u0631\u06CC \u0645\u062F\u0644 \u06F1",
+ en: "WORKER SAFETY SHOE",
+ desc: "\u0645\u0646\u0627\u0633\u0628 \u06A9\u0627\u0631\u06AF\u0627\u0647\u200C\u0647\u0627 \u0648 \u067E\u0631\u0648\u0698\u0647\u200C\u0647\u0627\u06CC \u0633\u0627\u062E\u062A\u0645\u0627\u0646\u06CC\u060C \u0645\u0642\u0627\u0648\u0645 \u062F\u0631 \u0628\u0631\u0627\u0628\u0631 \u0633\u0627\u06CC\u0634 \u0648 \u0645\u0648\u0627\u062F \u0634\u06CC\u0645\u06CC\u0627\u06CC\u06CC \u0633\u0628\u06A9.",
+ specs: ["\u0645\u0642\u0627\u0648\u0645 \u0628\u0647 \u0633\u0627\u06CC\u0634", "\u0632\u06CC\u0631\u0647 \u0636\u062F \u0644\u063A\u0632\u0634"],
+ image: "/images/products/shoes/worker/1.png"
+ },
+ {
+ code: "IP-F10",
+ group: "worker",
+ name: "\u06A9\u0641\u0634 \u0627\u06CC\u0645\u0646\u06CC \u06A9\u0627\u0631\u06AF\u0631\u06CC \u0645\u062F\u0644 \u06F2",
+ en: "WORKER SAFETY SHOE",
+ desc: "\u0645\u0646\u0627\u0633\u0628 \u06A9\u0627\u0631\u06AF\u0627\u0647\u200C\u0647\u0627 \u0648 \u067E\u0631\u0648\u0698\u0647\u200C\u0647\u0627\u06CC \u0633\u0627\u062E\u062A\u0645\u0627\u0646\u06CC\u060C \u0645\u0642\u0627\u0648\u0645 \u062F\u0631 \u0628\u0631\u0627\u0628\u0631 \u0633\u0627\u06CC\u0634 \u0648 \u0645\u0648\u0627\u062F \u0634\u06CC\u0645\u06CC\u0627\u06CC\u06CC \u0633\u0628\u06A9.",
+ specs: ["\u0645\u0642\u0627\u0648\u0645 \u0628\u0647 \u0633\u0627\u06CC\u0634", "\u0632\u06CC\u0631\u0647 \u0636\u062F \u0644\u063A\u0632\u0634"],
+ image: "/images/products/shoes/worker/2.png"
+ },
+ {
+ code: "IP-F11",
+ group: "worker",
+ name: "\u06A9\u0641\u0634 \u0627\u06CC\u0645\u0646\u06CC \u06A9\u0627\u0631\u06AF\u0631\u06CC \u0645\u062F\u0644 \u06F9\u06F0",
+ en: "WORKER SAFETY SHOE 90",
+ desc: "\u0645\u0646\u0627\u0633\u0628 \u06A9\u0627\u0631\u06AF\u0627\u0647\u200C\u0647\u0627 \u0648 \u067E\u0631\u0648\u0698\u0647\u200C\u0647\u0627\u06CC \u0633\u0627\u062E\u062A\u0645\u0627\u0646\u06CC\u060C \u0645\u0642\u0627\u0648\u0645 \u062F\u0631 \u0628\u0631\u0627\u0628\u0631 \u0633\u0627\u06CC\u0634 \u0648 \u0645\u0648\u0627\u062F \u0634\u06CC\u0645\u06CC\u0627\u06CC\u06CC \u0633\u0628\u06A9.",
+ specs: ["\u0645\u0642\u0627\u0648\u0645 \u0628\u0647 \u0633\u0627\u06CC\u0634", "\u0632\u06CC\u0631\u0647 \u0636\u062F \u0644\u063A\u0632\u0634"],
+ image: "/images/products/shoes/worker/3.png"
+ },
+ {
+ code: "IP-F12",
+ group: "worker",
+ name: "\u06A9\u0641\u0634 \u0627\u06CC\u0645\u0646\u06CC \u067E\u0627\u062A\u0646 \u067E\u062F\u06CC\u062F\u0647 \u062A\u0628\u0631\u06CC\u0632 \u0645\u062F\u0644 \u0631\u0627\u06CC\u06A9\u0627 S1017",
+ en: "PATEN PADIDEH RAYKA S1017",
+ desc: "\u0645\u0646\u0627\u0633\u0628 \u06A9\u0627\u0631\u06AF\u0627\u0647\u200C\u0647\u0627 \u0648 \u067E\u0631\u0648\u0698\u0647\u200C\u0647\u0627\u06CC \u0633\u0627\u062E\u062A\u0645\u0627\u0646\u06CC\u060C \u0645\u0642\u0627\u0648\u0645 \u062F\u0631 \u0628\u0631\u0627\u0628\u0631 \u0633\u0627\u06CC\u0634 \u0648 \u0645\u0648\u0627\u062F \u0634\u06CC\u0645\u06CC\u0627\u06CC\u06CC \u0633\u0628\u06A9.",
+ specs: ["\u067E\u0627\u062A\u0646 \u067E\u062F\u06CC\u062F\u0647 \u062A\u0628\u0631\u06CC\u0632", "\u0645\u0642\u0627\u0648\u0645 \u0628\u0647 \u0633\u0627\u06CC\u0634", "\u0632\u06CC\u0631\u0647 \u0636\u062F \u0644\u063A\u0632\u0634"],
+ image: "/images/products/shoes/worker/4.png"
+ },
+ {
+ code: "IP-F13",
+ group: "worker",
+ name: "\u06A9\u0641\u0634 \u0627\u06CC\u0645\u0646\u06CC \u067E\u06CC\u0645\u0627 \u0645\u062F\u0644 \u062F\u0646\u0627",
+ en: "PAYMA DENA SAFETY SHOE",
+ desc: "\u0645\u0646\u0627\u0633\u0628 \u06A9\u0627\u0631\u06AF\u0627\u0647\u200C\u0647\u0627 \u0648 \u067E\u0631\u0648\u0698\u0647\u200C\u0647\u0627\u06CC \u0633\u0627\u062E\u062A\u0645\u0627\u0646\u06CC\u060C \u0645\u0642\u0627\u0648\u0645 \u062F\u0631 \u0628\u0631\u0627\u0628\u0631 \u0633\u0627\u06CC\u0634 \u0648 \u0645\u0648\u0627\u062F \u0634\u06CC\u0645\u06CC\u0627\u06CC\u06CC \u0633\u0628\u06A9.",
+ specs: ["\u067E\u06CC\u0645\u0627", "\u0645\u0642\u0627\u0648\u0645 \u0628\u0647 \u0633\u0627\u06CC\u0634", "\u0632\u06CC\u0631\u0647 \u0636\u062F \u0644\u063A\u0632\u0634"],
+ image: "/images/products/shoes/worker/5.png"
+ },
+ {
+ code: "IP-F14",
+ group: "worker",
+ name: "\u06A9\u0641\u0634 \u06A9\u0627\u0631 \u06A9\u0627\u0631\u06AF\u0631\u06CC \u0633\u0627\u0642\u200C\u062F\u0627\u0631",
+ en: "WORKER SAFETY BOOT",
+ desc: "\u0645\u0646\u0627\u0633\u0628 \u06A9\u0627\u0631\u06AF\u0627\u0647\u200C\u0647\u0627 \u0648 \u067E\u0631\u0648\u0698\u0647\u200C\u0647\u0627\u06CC \u0633\u0627\u062E\u062A\u0645\u0627\u0646\u06CC\u060C \u0645\u0642\u0627\u0648\u0645 \u062F\u0631 \u0628\u0631\u0627\u0628\u0631 \u0633\u0627\u06CC\u0634 \u0648 \u0645\u0648\u0627\u062F \u0634\u06CC\u0645\u06CC\u0627\u06CC\u06CC \u0633\u0628\u06A9.",
+ specs: ["\u0633\u0627\u0642\u200C\u062F\u0627\u0631", "\u0645\u0642\u0627\u0648\u0645 \u0628\u0647 \u0633\u0627\u06CC\u0634", "\u0632\u06CC\u0631\u0647 \u0636\u062F \u0644\u063A\u0632\u0634"],
+ image: "/images/products/shoes/worker/6.png"
+ }
+ ]
+ },
+ {
+ slug: "protective-gloves",
+ code: "IP-C03",
+ name: "\u062F\u0633\u062A\u06A9\u0634\u200C\u0647\u0627\u06CC \u062D\u0641\u0627\u0638\u062A\u06CC",
+ en: "PROTECTIVE GLOVES",
+ shortDesc: "\u062F\u0633\u062A\u06A9\u0634\u200C\u0647\u0627\u06CC \u0636\u062F \u0628\u0631\u0634\u060C \u0686\u0631\u0645\u060C \u0636\u062F \u0627\u0633\u06CC\u062F \u0648 \u0636\u062F \u062D\u0644\u0627\u0644 \u0628\u0631\u0627\u06CC \u06A9\u0627\u0631\u0647\u0627\u06CC \u0633\u0646\u06AF\u06CC\u0646 \u0635\u0646\u0639\u062A\u06CC\u060C \u062C\u0648\u0634\u06A9\u0627\u0631\u06CC \u0648 \u062A\u0645\u0627\u0633 \u0628\u0627 \u0645\u0648\u0627\u062F \u0634\u06CC\u0645\u06CC\u0627\u06CC\u06CC.",
+ fullDesc: "\u062F\u0633\u062A\u06A9\u0634\u200C\u0647\u0627\u06CC \u062D\u0641\u0627\u0638\u062A \u0641\u0631\u062F\u06CC \u0634\u0627\u0645\u0644 \u0645\u062F\u0644\u200C\u0647\u0627\u06CC \u0636\u062F \u0628\u0631\u0634\u060C \u0686\u0631\u0645\u060C \u0636\u062F \u0627\u0633\u06CC\u062F \u0648 \u0636\u062F \u062D\u0644\u0627\u0644\u061B \u0627\u0632 \u0628\u0631\u0646\u062F\u0647\u0627\u06CC \u0627\u0633\u062A\u0627\u062F\u06A9\u0627\u0631\u060C \u0627\u0645\u0631\u06CC\u06A9\u0646 \u0633\u06CC\u0641\u062A\u06CC\u060C \u0645\u0627\u06A9\u0633\u06CC \u062F\u0631\u0627\u06CC \u0648 NM Safety. \u0647\u0631 \u0645\u062F\u0644 \u0645\u062A\u0646\u0627\u0633\u0628 \u0628\u0627 \u0646\u0648\u0639 \u062E\u0637\u0631 \u0645\u062D\u06CC\u0637 \u06A9\u0627\u0631 \u0627\u0646\u062A\u062E\u0627\u0628 \u0634\u062F\u0647 \u0627\u0633\u062A.",
+ icon: "Hand",
+ groups: [
+ { slug: "cut", name: "\u062F\u0633\u062A\u06A9\u0634 \u0636\u062F \u0628\u0631\u0634", desc: "\u0627\u06CC\u0645\u0646 \u062F\u0631 \u0628\u0631\u0627\u0628\u0631 \u062A\u06CC\u063A\u0647\u200C\u0647\u0627 \u0648 \u0641\u0644\u0632\u0627\u062A \u062A\u06CC\u0632." },
+ { slug: "leather", name: "\u062F\u0633\u062A\u06A9\u0634 \u0686\u0631\u0645", desc: "\u0645\u062D\u0627\u0641\u0638 \u062F\u0633\u062A \u062F\u0631 \u0628\u0631\u0627\u0628\u0631 \u062D\u0631\u0627\u0631\u062A\u060C \u062C\u0631\u0642\u0647 \u0648 \u0633\u0627\u06CC\u0634 \u062F\u0631 \u06A9\u0627\u0631\u0647\u0627\u06CC \u0633\u0646\u06AF\u06CC\u0646 \u0648 \u062C\u0648\u0634\u06A9\u0627\u0631\u06CC." },
+ { slug: "acid", name: "\u062F\u0633\u062A\u06A9\u0634 \u0636\u062F \u0627\u0633\u06CC\u062F", desc: "\u0645\u062D\u0627\u0641\u0638\u062A \u06A9\u0627\u0645\u0644 \u062F\u0631 \u0628\u0631\u0627\u0628\u0631 \u0627\u0633\u06CC\u062F\u0647\u0627 \u0648 \u0628\u0627\u0632\u0647\u0627." },
+ { slug: "solvent", name: "\u062F\u0633\u062A\u06A9\u0634 \u0636\u062F \u062D\u0644\u0627\u0644", desc: "\u0645\u0642\u0627\u0648\u0645\u062A \u0628\u0627\u0644\u0627 \u062F\u0631 \u0628\u0631\u0627\u0628\u0631 \u062A\u0645\u0627\u0633 \u0628\u0627 \u0645\u0648\u0627\u062F \u0634\u06CC\u0645\u06CC\u0627\u06CC\u06CC." }
+ ],
+ products: [
+ {
+ code: "IP-G01",
+ group: "cut",
+ name: "\u062F\u0633\u062A\u06A9\u0634 \u0636\u062F \u0628\u0631\u0634 \u0644\u0627\u062A\u06A9\u0633\u06CC",
+ en: "LATEX CUT-RESISTANT GLOVE",
+ desc: "\u0627\u06CC\u0645\u0646 \u062F\u0631 \u0628\u0631\u0627\u0628\u0631 \u062A\u06CC\u063A\u0647\u200C\u0647\u0627 \u0648 \u0641\u0644\u0632\u0627\u062A \u062A\u06CC\u0632.",
+ specs: ["\u0636\u062F \u0628\u0631\u0634", "\u067E\u0648\u0634\u0634 \u0644\u0627\u062A\u06A9\u0633"],
+ image: "/images/products/gloves/cut/1.webp"
+ },
+ {
+ code: "IP-G02",
+ group: "cut",
+ name: "\u062F\u0633\u062A\u06A9\u0634 \u0636\u062F \u0628\u0631\u0634 \u0645\u062F\u0644 \u06F2",
+ en: "CUT-RESISTANT GLOVE",
+ desc: "\u0627\u06CC\u0645\u0646 \u062F\u0631 \u0628\u0631\u0627\u0628\u0631 \u062A\u06CC\u063A\u0647\u200C\u0647\u0627 \u0648 \u0641\u0644\u0632\u0627\u062A \u062A\u06CC\u0632.",
+ specs: ["\u0636\u062F \u0628\u0631\u0634"],
+ image: "/images/products/gloves/cut/2.webp"
+ },
+ {
+ code: "IP-G03",
+ group: "cut",
+ name: "\u062F\u0633\u062A\u06A9\u0634 \u0636\u062F \u0628\u0631\u0634 \u0645\u062F\u0644 \u06F3",
+ en: "CUT-RESISTANT GLOVE",
+ desc: "\u0627\u06CC\u0645\u0646 \u062F\u0631 \u0628\u0631\u0627\u0628\u0631 \u062A\u06CC\u063A\u0647\u200C\u0647\u0627 \u0648 \u0641\u0644\u0632\u0627\u062A \u062A\u06CC\u0632.",
+ specs: ["\u0636\u062F \u0628\u0631\u0634"],
+ image: "/images/products/gloves/cut/3.webp"
+ },
+ {
+ code: "IP-G04",
+ group: "cut",
+ name: "\u062F\u0633\u062A\u06A9\u0634 \u0636\u062F \u0628\u0631\u0634 \u0627\u0633\u062A\u0627\u062F\u06A9\u0627\u0631 \u06F1\u06F2 \u062C\u0641\u062A\u06CC",
+ en: "OSTADKAR CUT-RESISTANT GLOVE",
+ desc: "\u0627\u06CC\u0645\u0646 \u062F\u0631 \u0628\u0631\u0627\u0628\u0631 \u062A\u06CC\u063A\u0647\u200C\u0647\u0627 \u0648 \u0641\u0644\u0632\u0627\u062A \u062A\u06CC\u0632.",
+ specs: ["\u0636\u062F \u0628\u0631\u0634", "\u0627\u0633\u062A\u0627\u062F\u06A9\u0627\u0631", "\u0628\u0633\u062A\u0647 \u06F1\u06F2 \u062C\u0641\u062A\u06CC"],
+ image: "/images/products/gloves/cut/4.webp"
+ },
+ {
+ code: "IP-G05",
+ group: "cut",
+ name: "\u062F\u0633\u062A\u06A9\u0634 \u0636\u062F \u0628\u0631\u0634 \u062A\u0627\u0646\u06AF \u0648\u0627\u0646\u06AF",
+ en: "TANG WANG CUT-RESISTANT GLOVE",
+ desc: "\u0627\u06CC\u0645\u0646 \u062F\u0631 \u0628\u0631\u0627\u0628\u0631 \u062A\u06CC\u063A\u0647\u200C\u0647\u0627 \u0648 \u0641\u0644\u0632\u0627\u062A \u062A\u06CC\u0632.",
+ specs: ["\u0636\u062F \u0628\u0631\u0634", "\u062A\u0627\u0646\u06AF \u0648\u0627\u0646\u06AF"],
+ image: "/images/products/gloves/cut/5.webp"
+ },
+ {
+ code: "IP-G06",
+ group: "leather",
+ name: "\u062F\u0633\u062A\u06A9\u0634 \u0686\u0631\u0645 \u0645\u062F\u0644 \u06F0\u06F7",
+ en: "LEATHER GLOVE",
+ desc: "\u0645\u062D\u0627\u0641\u0638 \u062F\u0633\u062A \u062F\u0631 \u0628\u0631\u0627\u0628\u0631 \u062D\u0631\u0627\u0631\u062A\u060C \u062C\u0631\u0642\u0647 \u0648 \u0633\u0627\u06CC\u0634 \u062F\u0631 \u06A9\u0627\u0631\u0647\u0627\u06CC \u0633\u0646\u06AF\u06CC\u0646 \u0648 \u062C\u0648\u0634\u06A9\u0627\u0631\u06CC.",
+ specs: ["\u0686\u0631\u0645"],
+ image: "/images/products/gloves/leather/1.webp"
+ },
+ {
+ code: "IP-G07",
+ group: "leather",
+ name: "\u062F\u0633\u062A\u06A9\u0634 \u0686\u0631\u0645 BMW",
+ en: "BMW LEATHER GLOVE",
+ desc: "\u0645\u062D\u0627\u0641\u0638 \u062F\u0633\u062A \u062F\u0631 \u0628\u0631\u0627\u0628\u0631 \u062D\u0631\u0627\u0631\u062A\u060C \u062C\u0631\u0642\u0647 \u0648 \u0633\u0627\u06CC\u0634 \u062F\u0631 \u06A9\u0627\u0631\u0647\u0627\u06CC \u0633\u0646\u06AF\u06CC\u0646 \u0648 \u062C\u0648\u0634\u06A9\u0627\u0631\u06CC.",
+ specs: ["\u0686\u0631\u0645", "\u0633\u0627\u0642 \u0628\u0644\u0646\u062F"],
+ image: "/images/products/gloves/leather/2.webp"
+ },
+ {
+ code: "IP-G08",
+ group: "leather",
+ name: "\u062F\u0633\u062A\u06A9\u0634 \u06A9\u0641 \u0686\u0631\u0645 \u062F\u0648\u0628\u0644 \u0633\u0627\u0642 \u067E\u0627\u0631\u0686\u0647\u200C\u0627\u06CC",
+ en: "DOUBLE-PALM LEATHER GLOVE, FABRIC CUFF",
+ desc: "\u0645\u062D\u0627\u0641\u0638 \u062F\u0633\u062A \u062F\u0631 \u0628\u0631\u0627\u0628\u0631 \u062D\u0631\u0627\u0631\u062A\u060C \u062C\u0631\u0642\u0647 \u0648 \u0633\u0627\u06CC\u0634 \u062F\u0631 \u06A9\u0627\u0631\u0647\u0627\u06CC \u0633\u0646\u06AF\u06CC\u0646 \u0648 \u062C\u0648\u0634\u06A9\u0627\u0631\u06CC.",
+ specs: ["\u06A9\u0641 \u0686\u0631\u0645 \u062F\u0648\u0628\u0644", "\u0633\u0627\u0642 \u067E\u0627\u0631\u0686\u0647\u200C\u0627\u06CC"],
+ image: "/images/products/gloves/leather/3.webp"
+ },
+ {
+ code: "IP-G09",
+ group: "leather",
+ name: "\u062F\u0633\u062A\u06A9\u0634 \u06A9\u0641 \u0686\u0631\u0645 \u062F\u0648\u0628\u0644 \u0633\u0627\u0642 \u0686\u0631\u0645",
+ en: "DOUBLE-PALM LEATHER GLOVE, LEATHER CUFF",
+ desc: "\u0645\u062D\u0627\u0641\u0638 \u062F\u0633\u062A \u062F\u0631 \u0628\u0631\u0627\u0628\u0631 \u062D\u0631\u0627\u0631\u062A\u060C \u062C\u0631\u0642\u0647 \u0648 \u0633\u0627\u06CC\u0634 \u062F\u0631 \u06A9\u0627\u0631\u0647\u0627\u06CC \u0633\u0646\u06AF\u06CC\u0646 \u0648 \u062C\u0648\u0634\u06A9\u0627\u0631\u06CC.",
+ specs: ["\u06A9\u0641 \u0686\u0631\u0645 \u062F\u0648\u0628\u0644", "\u0633\u0627\u0642 \u0686\u0631\u0645"],
+ image: "/images/products/gloves/leather/4.webp"
+ },
+ {
+ code: "IP-G10",
+ group: "leather",
+ name: "\u062F\u0633\u062A\u06A9\u0634 \u0647\u0648\u0628\u0627\u0631\u062A \u0627\u0645\u0631\u06CC\u06A9\u0646 \u0633\u06CC\u0641\u062A\u06CC",
+ en: "AMERICAN SAFETY HOBART GLOVE",
+ desc: "\u0645\u062D\u0627\u0641\u0638 \u062F\u0633\u062A \u062F\u0631 \u0628\u0631\u0627\u0628\u0631 \u062D\u0631\u0627\u0631\u062A\u060C \u062C\u0631\u0642\u0647 \u0648 \u0633\u0627\u06CC\u0634 \u062F\u0631 \u06A9\u0627\u0631\u0647\u0627\u06CC \u0633\u0646\u06AF\u06CC\u0646 \u0648 \u062C\u0648\u0634\u06A9\u0627\u0631\u06CC.",
+ specs: ["\u0686\u0631\u0645", "\u062C\u0648\u0634\u06A9\u0627\u0631\u06CC", "EN 388 / EN 407"],
+ image: "/images/products/gloves/leather/5.webp"
+ },
+ {
+ code: "IP-G11",
+ group: "leather",
+ name: "\u062F\u0633\u062A\u06A9\u0634 \u0647\u0648\u0628\u0627\u0631\u062A \u0637\u0631\u062D \u0641\u0631\u0627\u0646\u0633\u0647",
+ en: "FRENCH-STYLE HOBART GLOVE",
+ desc: "\u0645\u062D\u0627\u0641\u0638 \u062F\u0633\u062A \u062F\u0631 \u0628\u0631\u0627\u0628\u0631 \u062D\u0631\u0627\u0631\u062A\u060C \u062C\u0631\u0642\u0647 \u0648 \u0633\u0627\u06CC\u0634 \u062F\u0631 \u06A9\u0627\u0631\u0647\u0627\u06CC \u0633\u0646\u06AF\u06CC\u0646 \u0648 \u062C\u0648\u0634\u06A9\u0627\u0631\u06CC.",
+ specs: ["\u0686\u0631\u0645", "\u062C\u0648\u0634\u06A9\u0627\u0631\u06CC"],
+ image: "/images/products/gloves/leather/6.webp"
+ },
+ {
+ code: "IP-G12",
+ group: "acid",
+ name: "\u062F\u0633\u062A\u06A9\u0634 \u0636\u062F \u0627\u0633\u06CC\u062F \u0645\u062F\u0644 \u06F1",
+ en: "ACID-RESISTANT GLOVE",
+ desc: "\u0645\u062D\u0627\u0641\u0638\u062A \u06A9\u0627\u0645\u0644 \u062F\u0631 \u0628\u0631\u0627\u0628\u0631 \u0627\u0633\u06CC\u062F\u0647\u0627 \u0648 \u0628\u0627\u0632\u0647\u0627.",
+ specs: ["\u0636\u062F \u0627\u0633\u06CC\u062F"],
+ image: "/images/products/gloves/acid/1.webp"
+ },
+ {
+ code: "IP-G13",
+ group: "acid",
+ name: "\u062F\u0633\u062A\u06A9\u0634 \u0636\u062F \u0627\u0633\u06CC\u062F \u0645\u062F\u0644 \u06F2",
+ en: "ACID-RESISTANT GLOVE",
+ desc: "\u0645\u062D\u0627\u0641\u0638\u062A \u06A9\u0627\u0645\u0644 \u062F\u0631 \u0628\u0631\u0627\u0628\u0631 \u0627\u0633\u06CC\u062F\u0647\u0627 \u0648 \u0628\u0627\u0632\u0647\u0627.",
+ specs: ["\u0636\u062F \u0627\u0633\u06CC\u062F"],
+ image: "/images/products/gloves/acid/2.webp"
+ },
+ {
+ code: "IP-G14",
+ group: "acid",
+ name: "\u062F\u0633\u062A\u06A9\u0634 \u0636\u062F \u0627\u0633\u06CC\u062F \u0645\u062F\u0644 \u06F3",
+ en: "ACID-RESISTANT GLOVE",
+ desc: "\u0645\u062D\u0627\u0641\u0638\u062A \u06A9\u0627\u0645\u0644 \u062F\u0631 \u0628\u0631\u0627\u0628\u0631 \u0627\u0633\u06CC\u062F\u0647\u0627 \u0648 \u0628\u0627\u0632\u0647\u0627.",
+ specs: ["\u0636\u062F \u0627\u0633\u06CC\u062F"],
+ image: "/images/products/gloves/acid/3.webp"
+ },
+ {
+ code: "IP-G15",
+ group: "acid",
+ name: "\u062F\u0633\u062A\u06A9\u0634 \u0636\u062F \u0627\u0633\u06CC\u062F \u0645\u0642\u0627\u0648\u0645 \u0634\u06CC\u0645\u06CC\u0627\u06CC\u06CC",
+ en: "CHEMICAL-RESISTANT GLOVE",
+ desc: "\u0645\u062D\u0627\u0641\u0638\u062A \u06A9\u0627\u0645\u0644 \u062F\u0631 \u0628\u0631\u0627\u0628\u0631 \u0627\u0633\u06CC\u062F\u0647\u0627 \u0648 \u0628\u0627\u0632\u0647\u0627.",
+ specs: ["\u0636\u062F \u0627\u0633\u06CC\u062F", "\u0645\u0642\u0627\u0648\u0645 \u0634\u06CC\u0645\u06CC\u0627\u06CC\u06CC", "\u0633\u0627\u0642 \u0628\u0644\u0646\u062F"],
+ image: "/images/products/gloves/acid/4.webp"
+ },
+ {
+ code: "IP-G16",
+ group: "solvent",
+ name: "\u062F\u0633\u062A\u06A9\u0634 \u0636\u062F \u062D\u0644\u0627\u0644 \u0645\u062F\u0644 \u06F1\u06F3",
+ en: "SOLVENT-RESISTANT GLOVE",
+ desc: "\u0645\u0642\u0627\u0648\u0645\u062A \u0628\u0627\u0644\u0627 \u062F\u0631 \u0628\u0631\u0627\u0628\u0631 \u062A\u0645\u0627\u0633 \u0628\u0627 \u0645\u0648\u0627\u062F \u0634\u06CC\u0645\u06CC\u0627\u06CC\u06CC.",
+ specs: ["\u0636\u062F \u062D\u0644\u0627\u0644"],
+ image: "/images/products/gloves/solvent/1.webp"
+ },
+ {
+ code: "IP-G17",
+ group: "solvent",
+ name: "\u062F\u0633\u062A\u06A9\u0634 \u0645\u0627\u06A9\u0633\u06CC \u062F\u0631\u0627\u06CC \u067E\u0644\u0627\u0633 56-530",
+ en: "MAXIDRY PLUS 56-530",
+ desc: "\u0645\u0642\u0627\u0648\u0645\u062A \u0628\u0627\u0644\u0627 \u062F\u0631 \u0628\u0631\u0627\u0628\u0631 \u062A\u0645\u0627\u0633 \u0628\u0627 \u0645\u0648\u0627\u062F \u0634\u06CC\u0645\u06CC\u0627\u06CC\u06CC.",
+ specs: ["\u0636\u062F \u062D\u0644\u0627\u0644", "MaxiDry Plus"],
+ image: "/images/products/gloves/solvent/2.webp"
+ },
+ {
+ code: "IP-G18",
+ group: "solvent",
+ name: "\u062F\u0633\u062A\u06A9\u0634 \u0636\u062F \u062D\u0644\u0627\u0644 \u0646\u06CC\u062A\u0631\u06CC\u0644\u06CC",
+ en: "NITRILE SOLVENT-RESISTANT GLOVE",
+ desc: "\u0645\u0642\u0627\u0648\u0645\u062A \u0628\u0627\u0644\u0627 \u062F\u0631 \u0628\u0631\u0627\u0628\u0631 \u062A\u0645\u0627\u0633 \u0628\u0627 \u0645\u0648\u0627\u062F \u0634\u06CC\u0645\u06CC\u0627\u06CC\u06CC.",
+ specs: ["\u0636\u062F \u062D\u0644\u0627\u0644", "\u0646\u06CC\u062A\u0631\u06CC\u0644"],
+ image: "/images/products/gloves/solvent/3.webp"
+ },
+ {
+ code: "IP-G19",
+ group: "solvent",
+ name: "\u062F\u0633\u062A\u06A9\u0634 \u0646\u06CC\u062A\u0631\u06CC\u0644 \u0622\u0632\u0645\u0627\u06CC\u0634\u06AF\u0627\u0647\u06CC \u0636\u062F \u062D\u0644\u0627\u0644 NM Safety",
+ en: "NM SAFETY NITRILE LAB GLOVE",
+ desc: "\u0645\u0642\u0627\u0648\u0645\u062A \u0628\u0627\u0644\u0627 \u062F\u0631 \u0628\u0631\u0627\u0628\u0631 \u062A\u0645\u0627\u0633 \u0628\u0627 \u0645\u0648\u0627\u062F \u0634\u06CC\u0645\u06CC\u0627\u06CC\u06CC.",
+ specs: ["\u0636\u062F \u062D\u0644\u0627\u0644", "\u0646\u06CC\u062A\u0631\u06CC\u0644", "\u0622\u0632\u0645\u0627\u06CC\u0634\u06AF\u0627\u0647\u06CC"],
+ image: "/images/products/gloves/solvent/4.webp"
+ }
+ ]
+ },
+ {
+ slug: "safety-helmets",
+ code: "IP-C04",
+ name: "\u06A9\u0644\u0627\u0647 \u0627\u06CC\u0645\u0646\u06CC",
+ en: "SAFETY HELMETS",
+ shortDesc: "\u06A9\u0644\u0627\u0647\u200C\u0647\u0627\u06CC \u0627\u06CC\u0645\u0646\u06CC \u06A9\u0627\u0631\u06AF\u0631\u06CC\u060C \u0645\u0647\u0646\u062F\u0633\u06CC\u060C \u06A9\u0627\u0631 \u062F\u0631 \u0627\u0631\u062A\u0641\u0627\u0639 \u0648 \u06A9\u067E \u0627\u06CC\u0645\u0646\u06CC\u061B \u0645\u0642\u0627\u0648\u0645 \u062F\u0631 \u0628\u0631\u0627\u0628\u0631 \u0636\u0631\u0628\u0647 \u0648 \u0633\u0642\u0648\u0637 \u0627\u062C\u0633\u0627\u0645.",
+ fullDesc: "\u0627\u0646\u0648\u0627\u0639 \u06A9\u0644\u0627\u0647 \u0627\u06CC\u0645\u0646\u06CC \u0635\u0646\u0639\u062A\u06CC \u0634\u0627\u0645\u0644 \u0645\u062F\u0644\u200C\u0647\u0627\u06CC \u06A9\u0627\u0631\u06AF\u0631\u06CC\u060C \u0645\u0647\u0646\u062F\u0633\u06CC\u060C \u06A9\u0627\u0631 \u062F\u0631 \u0627\u0631\u062A\u0641\u0627\u0639 \u0628\u0627 \u0628\u0646\u062F \u0686\u0627\u0646\u0647 \u0642\u0627\u0628\u0644 \u062A\u0646\u0638\u06CC\u0645 \u0648 \u06A9\u067E \u0627\u06CC\u0645\u0646\u06CC \u0633\u0628\u06A9. \u0628\u0627 \u067E\u0648\u0633\u062A\u0647 \u0636\u0631\u0628\u0647\u200C\u06AF\u06CC\u0631 \u0645\u0642\u0627\u0648\u0645\u060C \u0631\u06AF\u0644\u0627\u0698 \u062F\u0627\u062E\u0644\u06CC \u0642\u0627\u0628\u0644 \u062A\u0646\u0638\u06CC\u0645 \u0648 \u062A\u0646\u0648\u0639 \u0631\u0646\u06AF\u06CC \u0627\u0633\u062A\u0627\u0646\u062F\u0627\u0631\u062F HSE.",
+ icon: "HardHat",
+ groups: [
+ { slug: "worker", name: "\u06A9\u0644\u0627\u0647 \u06A9\u0627\u0631\u06AF\u0631\u06CC", desc: "\u0645\u062D\u0627\u0641\u0638\u062A \u0627\u0632 \u0633\u0631 \u062F\u0631 \u0645\u062D\u06CC\u0637\u200C\u0647\u0627\u06CC \u0635\u0646\u0639\u062A\u06CC \u0648 \u06A9\u0627\u0631\u06AF\u0627\u0647\u200C\u0647\u0627\u060C \u0645\u0642\u0627\u0648\u0645 \u062F\u0631 \u0628\u0631\u0627\u0628\u0631 \u0636\u0631\u0628\u0647 \u0648 \u0633\u0642\u0648\u0637 \u0627\u062C\u0633\u0627\u0645." },
+ { slug: "engineering", name: "\u06A9\u0644\u0627\u0647 \u0645\u0647\u0646\u062F\u0633\u06CC", desc: "\u0645\u0646\u0627\u0633\u0628 \u0645\u062D\u06CC\u0637\u200C\u0647\u0627\u06CC \u0627\u062F\u0627\u0631\u06CC \u0648 \u0635\u0646\u0639\u062A\u06CC \u0633\u0628\u06A9\u060C \u0631\u0627\u062D\u062A \u0648 \u0634\u06A9\u06CC\u0644 \u0628\u0627 \u062A\u0647\u0648\u06CC\u0647 \u0645\u0646\u0627\u0633\u0628." },
+ { slug: "height", name: "\u06A9\u0627\u0631 \u062F\u0631 \u0627\u0631\u062A\u0641\u0627\u0639", desc: "\u062F\u0627\u0631\u0627\u06CC \u0628\u0646\u062F \u0686\u0627\u0646\u0647 \u0642\u0627\u0628\u0644 \u062A\u0646\u0638\u06CC\u0645 \u0628\u0631\u0627\u06CC \u062B\u0628\u0627\u062A \u0628\u06CC\u0634\u062A\u0631 \u0647\u0646\u06AF\u0627\u0645 \u06A9\u0627\u0631 \u062F\u0631 \u0627\u0631\u062A\u0641\u0627\u0639." },
+ { slug: "cap", name: "\u06A9\u067E \u0627\u06CC\u0645\u0646\u06CC", desc: "\u0633\u0628\u06A9 \u0648 \u0631\u0627\u062D\u062A\u060C \u0645\u0646\u0627\u0633\u0628 \u0627\u0633\u062A\u0641\u0627\u062F\u0647 \u0631\u0648\u0632\u0645\u0631\u0647 \u062F\u0631 \u0645\u062D\u06CC\u0637\u200C\u0647\u0627\u06CC \u0635\u0646\u0639\u062A\u06CC \u0648 \u0627\u062F\u0627\u0631\u06CC." }
+ ],
+ products: [
+ {
+ code: "IP-H01",
+ group: "worker",
+ name: "\u06A9\u0644\u0627\u0647 \u0627\u06CC\u0645\u0646\u06CC \u06A9\u0627\u0631\u06AF\u0631\u06CC \u0622\u0628\u06CC",
+ en: "WORKER SAFETY HELMET",
+ desc: "\u0645\u062D\u0627\u0641\u0638\u062A \u0627\u0632 \u0633\u0631 \u062F\u0631 \u0645\u062D\u06CC\u0637\u200C\u0647\u0627\u06CC \u0635\u0646\u0639\u062A\u06CC \u0648 \u06A9\u0627\u0631\u06AF\u0627\u0647\u200C\u0647\u0627\u060C \u0645\u0642\u0627\u0648\u0645 \u062F\u0631 \u0628\u0631\u0627\u0628\u0631 \u0636\u0631\u0628\u0647 \u0648 \u0633\u0642\u0648\u0637 \u0627\u062C\u0633\u0627\u0645.",
+ specs: ["\u067E\u0648\u0633\u062A\u0647 \u0636\u0631\u0628\u0647\u200C\u06AF\u06CC\u0631", "\u0631\u06AF\u0644\u0627\u0698 \u0642\u0627\u0628\u0644 \u062A\u0646\u0638\u06CC\u0645"],
+ image: "/images/products/helmets/2.webp"
+ },
+ {
+ code: "IP-H02",
+ group: "engineering",
+ name: "\u06A9\u0644\u0627\u0647 \u0627\u06CC\u0645\u0646\u06CC \u0645\u0647\u0646\u062F\u0633\u06CC \u067E\u0627\u062F\u06A9\u0633",
+ en: "PADEX ENGINEERING HELMET",
+ desc: "\u0645\u0646\u0627\u0633\u0628 \u0645\u062D\u06CC\u0637\u200C\u0647\u0627\u06CC \u0627\u062F\u0627\u0631\u06CC \u0648 \u0635\u0646\u0639\u062A\u06CC \u0633\u0628\u06A9\u060C \u0631\u0627\u062D\u062A \u0648 \u0634\u06A9\u06CC\u0644 \u0628\u0627 \u062A\u0647\u0648\u06CC\u0647 \u0645\u0646\u0627\u0633\u0628.",
+ specs: ["\u067E\u0627\u062F\u06A9\u0633", "\u062A\u0647\u0648\u06CC\u0647 \u0645\u0646\u0627\u0633\u0628", "\u0631\u06AF\u0644\u0627\u0698 \u0642\u0627\u0628\u0644 \u062A\u0646\u0638\u06CC\u0645"],
+ image: "/images/products/helmets/11.webp"
+ },
+ {
+ code: "IP-H03",
+ group: "engineering",
+ name: "\u06A9\u0644\u0627\u0647 \u0627\u06CC\u0645\u0646\u06CC \u0645\u0647\u0646\u062F\u0633\u06CC \u067E\u0627\u062F\u06A9\u0633 PADX",
+ en: "PADEX PADX ENGINEERING HELMET",
+ desc: "\u0645\u0646\u0627\u0633\u0628 \u0645\u062D\u06CC\u0637\u200C\u0647\u0627\u06CC \u0627\u062F\u0627\u0631\u06CC \u0648 \u0635\u0646\u0639\u062A\u06CC \u0633\u0628\u06A9\u060C \u0631\u0627\u062D\u062A \u0648 \u0634\u06A9\u06CC\u0644 \u0628\u0627 \u062A\u0647\u0648\u06CC\u0647 \u0645\u0646\u0627\u0633\u0628.",
+ specs: ["\u067E\u0627\u062F\u06A9\u0633", "\u062A\u0647\u0648\u06CC\u0647 \u0645\u0646\u0627\u0633\u0628", "\u0631\u06AF\u0644\u0627\u0698 \u0642\u0627\u0628\u0644 \u062A\u0646\u0638\u06CC\u0645"],
+ image: "/images/products/helmets/12.webp"
+ },
+ {
+ code: "IP-H04",
+ group: "engineering",
+ name: "\u06A9\u0644\u0627\u0647 \u0627\u06CC\u0645\u0646\u06CC \u0645\u0647\u0646\u062F\u0633 \u067E\u0627\u062F\u06A9\u0633 (\u0646\u0645\u0627\u06CC \u062F\u0627\u062E\u0644\u06CC)",
+ en: "PADEX HELMET HARNESS",
+ desc: "\u0645\u0646\u0627\u0633\u0628 \u0645\u062D\u06CC\u0637\u200C\u0647\u0627\u06CC \u0627\u062F\u0627\u0631\u06CC \u0648 \u0635\u0646\u0639\u062A\u06CC \u0633\u0628\u06A9\u060C \u0631\u0627\u062D\u062A \u0648 \u0634\u06A9\u06CC\u0644 \u0628\u0627 \u062A\u0647\u0648\u06CC\u0647 \u0645\u0646\u0627\u0633\u0628.",
+ specs: ["\u067E\u0627\u062F\u06A9\u0633", "\u06CC\u0631\u0627\u0642 \u062F\u0627\u062E\u0644\u06CC", "\u0631\u06AF\u0644\u0627\u0698 \u0642\u0627\u0628\u0644 \u062A\u0646\u0638\u06CC\u0645"],
+ image: "/images/products/helmets/10.webp"
+ },
+ {
+ code: "IP-H05",
+ group: "height",
+ name: "\u06A9\u0644\u0627\u0647 \u0627\u06CC\u0645\u0646\u06CC \u06A9\u0627\u0631 \u062F\u0631 \u0627\u0631\u062A\u0641\u0627\u0639 \u0628\u0627 \u0639\u06CC\u0646\u06A9",
+ en: "HEIGHT HELMET WITH VISOR",
+ desc: "\u062F\u0627\u0631\u0627\u06CC \u0628\u0646\u062F \u0686\u0627\u0646\u0647 \u0642\u0627\u0628\u0644 \u062A\u0646\u0638\u06CC\u0645 \u0628\u0631\u0627\u06CC \u062B\u0628\u0627\u062A \u0628\u06CC\u0634\u062A\u0631 \u0647\u0646\u06AF\u0627\u0645 \u06A9\u0627\u0631 \u062F\u0631 \u0627\u0631\u062A\u0641\u0627\u0639.",
+ specs: ["\u0628\u0646\u062F \u0686\u0627\u0646\u0647", "\u0639\u06CC\u0646\u06A9 \u062F\u0627\u062E\u0644\u06CC", "\u0631\u06AF\u0644\u0627\u0698 \u0642\u0627\u0628\u0644 \u062A\u0646\u0638\u06CC\u0645"],
+ image: "/images/products/helmets/1.webp"
+ },
+ {
+ code: "IP-H06",
+ group: "height",
+ name: "\u06A9\u0644\u0627\u0647 \u0627\u06CC\u0645\u0646\u06CC \u06A9\u0627\u0631 \u062F\u0631 \u0627\u0631\u062A\u0641\u0627\u0639 uvex",
+ en: "UVEX HEIGHT HELMET",
+ desc: "\u062F\u0627\u0631\u0627\u06CC \u0628\u0646\u062F \u0686\u0627\u0646\u0647 \u0642\u0627\u0628\u0644 \u062A\u0646\u0638\u06CC\u0645 \u0628\u0631\u0627\u06CC \u062B\u0628\u0627\u062A \u0628\u06CC\u0634\u062A\u0631 \u0647\u0646\u06AF\u0627\u0645 \u06A9\u0627\u0631 \u062F\u0631 \u0627\u0631\u062A\u0641\u0627\u0639.",
+ specs: ["uvex", "\u0628\u0646\u062F \u0686\u0627\u0646\u0647", "\u062A\u0647\u0648\u06CC\u0647 \u0645\u0646\u0627\u0633\u0628"],
+ image: "/images/products/helmets/3.webp"
+ },
+ {
+ code: "IP-H07",
+ group: "height",
+ name: "\u06A9\u0644\u0627\u0647 \u0627\u06CC\u0645\u0646\u06CC \u06A9\u0627\u0631 \u062F\u0631 \u0627\u0631\u062A\u0641\u0627\u0639 \u0633\u0628\u0632",
+ en: "HEIGHT SAFETY HELMET",
+ desc: "\u062F\u0627\u0631\u0627\u06CC \u0628\u0646\u062F \u0686\u0627\u0646\u0647 \u0642\u0627\u0628\u0644 \u062A\u0646\u0638\u06CC\u0645 \u0628\u0631\u0627\u06CC \u062B\u0628\u0627\u062A \u0628\u06CC\u0634\u062A\u0631 \u0647\u0646\u06AF\u0627\u0645 \u06A9\u0627\u0631 \u062F\u0631 \u0627\u0631\u062A\u0641\u0627\u0639.",
+ specs: ["\u0628\u0646\u062F \u0686\u0627\u0646\u0647", "\u0631\u06AF\u0644\u0627\u0698 \u0642\u0627\u0628\u0644 \u062A\u0646\u0638\u06CC\u0645"],
+ image: "/images/products/helmets/4.webp"
+ },
+ {
+ code: "IP-H08",
+ group: "height",
+ name: "\u06A9\u0644\u0627\u0647 \u0627\u06CC\u0645\u0646\u06CC \u0635\u0646\u0639\u062A\u06CC MK8",
+ en: "MK8 INDUSTRIAL HELMET",
+ desc: "\u062F\u0627\u0631\u0627\u06CC \u0628\u0646\u062F \u0686\u0627\u0646\u0647 \u0642\u0627\u0628\u0644 \u062A\u0646\u0638\u06CC\u0645 \u0628\u0631\u0627\u06CC \u062B\u0628\u0627\u062A \u0628\u06CC\u0634\u062A\u0631 \u0647\u0646\u06AF\u0627\u0645 \u06A9\u0627\u0631 \u062F\u0631 \u0627\u0631\u062A\u0641\u0627\u0639.",
+ specs: ["MK8", "\u0628\u0646\u062F \u0686\u0627\u0646\u0647", "\u062A\u0647\u0648\u06CC\u0647 \u0645\u0646\u0627\u0633\u0628"],
+ image: "/images/products/helmets/9.webp"
+ },
+ {
+ code: "IP-H09",
+ group: "cap",
+ name: "\u06A9\u067E \u0627\u06CC\u0645\u0646\u06CC \u0636\u0631\u0628\u0647\u200C\u06AF\u06CC\u0631",
+ en: "SAFETY BUMP CAP",
+ desc: "\u0633\u0628\u06A9 \u0648 \u0631\u0627\u062D\u062A\u060C \u0645\u0646\u0627\u0633\u0628 \u0627\u0633\u062A\u0641\u0627\u062F\u0647 \u0631\u0648\u0632\u0645\u0631\u0647 \u062F\u0631 \u0645\u062D\u06CC\u0637\u200C\u0647\u0627\u06CC \u0635\u0646\u0639\u062A\u06CC \u0648 \u0627\u062F\u0627\u0631\u06CC.",
+ specs: ["\u0646\u0642\u0627\u0628\u200C\u062F\u0627\u0631", "\u0636\u0631\u0628\u0647\u200C\u06AF\u06CC\u0631 \u062F\u0627\u062E\u0644\u06CC", "\u0633\u0628\u06A9\u200C\u0648\u0632\u0646"],
+ image: "/images/products/helmets/5.webp"
+ }
+ ]
+ },
+ {
+ slug: "eye-protection",
+ code: "IP-C05",
+ name: "\u0639\u06CC\u0646\u06A9 \u0627\u06CC\u0645\u0646\u06CC \u0648 \u0635\u0646\u0639\u062A\u06CC",
+ en: "EYE PROTECTION",
+ shortDesc: "\u0639\u06CC\u0646\u06A9\u200C\u0647\u0627\u06CC \u0634\u0641\u0627\u0641 \u0648 \u062F\u0648\u062F\u06CC \u0648 \u06AF\u0627\u06AF\u0644\u200C\u0647\u0627\u06CC \u0645\u062D\u0627\u0641\u0638\u062A\u06CC \u0628\u0627 \u0648\u06CC\u0698\u06AF\u06CC\u200C\u0647\u0627\u06CC \u0636\u062F \u0636\u0631\u0628\u0647\u060C \u0636\u062F \u062E\u0634\u060C \u0636\u062F \u0628\u062E\u0627\u0631 \u0648 UV.",
+ fullDesc: "\u0639\u06CC\u0646\u06A9\u200C\u0647\u0627\u06CC \u0627\u06CC\u0645\u0646\u06CC \u0635\u0646\u0639\u062A\u06CC \u0634\u0627\u0645\u0644 \u0639\u06CC\u0646\u06A9\u200C\u0647\u0627\u06CC \u0634\u0641\u0627\u0641\u060C \u062F\u0648\u062F\u06CC \u0648 UV \u0648 \u06AF\u0627\u06AF\u0644\u200C\u0647\u0627\u06CC \u06A9\u0634\u200C\u062F\u0627\u0631 \u0627\u0632 \u0628\u0631\u0646\u062F\u0647\u0627\u06CC uvex\u060C \u062A\u0648\u062A\u0627\u0635\u060C \u06A9\u0627\u0646\u0627\u0633\u06CC\u0641 \u0648 \u062A\u06A9 \u067E\u0644\u0627\u0633\u062A. \u0636\u062F \u0636\u0631\u0628\u0647\u060C \u0636\u062F \u062E\u0634\u060C \u0636\u062F \u0628\u062E\u0627\u0631 \u0648 \u0642\u0627\u0628\u0644 \u062A\u0646\u0638\u06CC\u0645 \u0628\u0631\u0627\u06CC \u0627\u0646\u0648\u0627\u0639 \u0633\u0627\u06CC\u0632 \u0635\u0648\u0631\u062A.",
+ icon: "Glasses",
+ groups: [
+ { slug: "clear", name: "\u0639\u06CC\u0646\u06A9 \u0634\u0641\u0627\u0641", desc: "\u0645\u062D\u0627\u0641\u0638\u062A \u0627\u0632 \u0686\u0634\u0645\u200C\u0647\u0627 \u062F\u0631 \u0628\u0631\u0627\u0628\u0631 \u0628\u0631\u062E\u0648\u0631\u062F \u0627\u062C\u0633\u0627\u0645 \u0648 \u0627\u0628\u0632\u0627\u0631\u061B \u0636\u062F \u062E\u0634 \u0628\u0627 \u062F\u06CC\u062F \u0648\u0627\u0636\u062D." },
+ { slug: "tinted", name: "\u0639\u06CC\u0646\u06A9 \u062F\u0648\u062F\u06CC \u0648 UV", desc: "\u0645\u062D\u0627\u0641\u0638\u062A \u062F\u0631 \u0628\u0631\u0627\u0628\u0631 \u0627\u0634\u0639\u0647 \u0645\u0636\u0631 \u062E\u0648\u0631\u0634\u06CC\u062F \u0648 \u0646\u0648\u0631 \u0634\u062F\u06CC\u062F." },
+ { slug: "goggle", name: "\u06AF\u0627\u06AF\u0644", desc: "\u0636\u062F \u0628\u062E\u0627\u0631 \u0648 \u0636\u062F \u0636\u0631\u0628\u0647\u061B \u062C\u0644\u0648\u06AF\u06CC\u0631\u06CC \u0627\u0632 \u0627\u06CC\u062C\u0627\u062F \u0645\u0647 \u062F\u0631 \u0645\u062D\u06CC\u0637\u200C\u0647\u0627\u06CC \u06AF\u0631\u0645 \u06CC\u0627 \u0645\u0631\u0637\u0648\u0628." }
+ ],
+ products: [
+ {
+ code: "IP-E01",
+ group: "clear",
+ name: "\u0639\u06CC\u0646\u06A9 \u0627\u06CC\u0645\u0646\u06CC \u0634\u0641\u0627\u0641 \u062F\u0633\u062A\u0647 \u0642\u0627\u0628\u0644 \u062A\u0646\u0638\u06CC\u0645",
+ en: "ADJUSTABLE CLEAR SAFETY GLASSES",
+ desc: "\u0645\u062D\u0627\u0641\u0638\u062A \u0627\u0632 \u0686\u0634\u0645\u200C\u0647\u0627 \u062F\u0631 \u0628\u0631\u0627\u0628\u0631 \u0628\u0631\u062E\u0648\u0631\u062F \u0627\u062C\u0633\u0627\u0645 \u0648 \u0627\u0628\u0632\u0627\u0631\u061B \u0642\u0627\u0628\u0644 \u062A\u0646\u0638\u06CC\u0645 \u0628\u0631\u0627\u06CC \u0627\u0646\u0648\u0627\u0639 \u0633\u0627\u06CC\u0632 \u0635\u0648\u0631\u062A.",
+ specs: ["\u0636\u062F \u0636\u0631\u0628\u0647", "\u0642\u0627\u0628\u0644 \u062A\u0646\u0638\u06CC\u0645"],
+ image: "/images/products/eyewear/1.webp"
+ },
+ {
+ code: "IP-E02",
+ group: "clear",
+ name: "\u0639\u06CC\u0646\u06A9 \u0627\u06CC\u0645\u0646\u06CC \u0631\u0648\u0637\u0628\u06CC",
+ en: "OVER-SPEC SAFETY GLASSES",
+ desc: "\u0645\u062D\u0627\u0641\u0638\u062A \u0627\u0632 \u0686\u0634\u0645\u200C\u0647\u0627 \u062F\u0631 \u0628\u0631\u0627\u0628\u0631 \u0628\u0631\u062E\u0648\u0631\u062F \u0627\u062C\u0633\u0627\u0645 \u0648 \u0627\u0628\u0632\u0627\u0631\u061B \u0642\u0627\u0628\u0644 \u0627\u0633\u062A\u0641\u0627\u062F\u0647 \u0631\u0648\u06CC \u0639\u06CC\u0646\u06A9 \u0637\u0628\u06CC.",
+ specs: ["\u0636\u062F \u0636\u0631\u0628\u0647", "\u0631\u0648\u0637\u0628\u06CC"],
+ image: "/images/products/eyewear/4.webp"
+ },
+ {
+ code: "IP-E03",
+ group: "clear",
+ name: "\u0639\u06CC\u0646\u06A9 \u0627\u06CC\u0645\u0646\u06CC uvex i-5",
+ en: "UVEX I-5 SAFETY GLASSES",
+ desc: "\u0645\u062D\u0627\u0641\u0638\u062A \u0627\u0632 \u0686\u0634\u0645\u200C\u0647\u0627 \u062F\u0631 \u0628\u0631\u0627\u0628\u0631 \u0628\u0631\u062E\u0648\u0631\u062F \u0627\u062C\u0633\u0627\u0645 \u0648 \u0627\u0628\u0632\u0627\u0631\u061B \u0636\u062F \u062E\u0634 \u0628\u0627 \u062F\u06CC\u062F \u0648\u0627\u0636\u062D.",
+ specs: ["uvex", "\u0636\u062F \u0636\u0631\u0628\u0647", "\u0636\u062F \u062E\u0634"],
+ image: "/images/products/eyewear/5.webp"
+ },
+ {
+ code: "IP-E04",
+ group: "clear",
+ name: "\u0639\u06CC\u0646\u06A9 \u0634\u06CC\u0634\u0647 \u0633\u0641\u06CC\u062F \u062A\u06A9 \u067E\u0644\u0627\u0633\u062A",
+ en: "TAK PLAST CLEAR GLASSES",
+ desc: "\u0645\u062D\u0627\u0641\u0638\u062A \u0627\u0632 \u0686\u0634\u0645\u200C\u0647\u0627 \u062F\u0631 \u0628\u0631\u0627\u0628\u0631 \u0628\u0631\u062E\u0648\u0631\u062F \u0627\u062C\u0633\u0627\u0645 \u0648 \u0627\u0628\u0632\u0627\u0631\u061B \u062F\u0627\u0631\u0627\u06CC \u0645\u062D\u0627\u0641\u0638 \u06A9\u0646\u0627\u0631\u06CC.",
+ specs: ["\u062A\u06A9 \u067E\u0644\u0627\u0633\u062A", "\u0645\u062D\u0627\u0641\u0638 \u06A9\u0646\u0627\u0631\u06CC"],
+ image: "/images/products/eyewear/11.webp"
+ },
+ {
+ code: "IP-E05",
+ group: "tinted",
+ name: "\u0639\u06CC\u0646\u06A9 \u0627\u06CC\u0645\u0646\u06CC uvex \u062F\u0648\u062F\u06CC",
+ en: "UVEX TINTED SAFETY GLASSES",
+ desc: "\u0645\u062D\u0627\u0641\u0638\u062A \u062F\u0631 \u0628\u0631\u0627\u0628\u0631 \u0627\u0634\u0639\u0647 \u0645\u0636\u0631 \u062E\u0648\u0631\u0634\u06CC\u062F \u0648 \u0646\u0648\u0631 \u0634\u062F\u06CC\u062F.",
+ specs: ["uvex", "\u0634\u06CC\u0634\u0647 UV", "\u0636\u062F \u0636\u0631\u0628\u0647"],
+ image: "/images/products/eyewear/6.webp"
+ },
+ {
+ code: "IP-E06",
+ group: "tinted",
+ name: "\u0639\u06CC\u0646\u06A9 \u0627\u06CC\u0645\u0646\u06CC \u062A\u0648\u062A\u0627\u0635 AT113",
+ en: "TOTAS AT113",
+ desc: "\u0645\u062D\u0627\u0641\u0638\u062A \u062F\u0631 \u0628\u0631\u0627\u0628\u0631 \u0627\u0634\u0639\u0647 \u0645\u0636\u0631 \u062E\u0648\u0631\u0634\u06CC\u062F \u0648 \u0646\u0648\u0631 \u0634\u062F\u06CC\u062F.",
+ specs: ["\u062A\u0648\u062A\u0627\u0635", "\u0634\u06CC\u0634\u0647 UV", "\u0636\u062F \u0636\u0631\u0628\u0647"],
+ image: "/images/products/eyewear/7.webp"
+ },
+ {
+ code: "IP-E07",
+ group: "tinted",
+ name: "\u0639\u06CC\u0646\u06A9 \u0627\u06CC\u0645\u0646\u06CC \u06A9\u0627\u0646\u0627\u0633\u06CC\u0641 20105",
+ en: "CANASAFE 20105",
+ desc: "\u0645\u062D\u0627\u0641\u0638\u062A \u062F\u0631 \u0628\u0631\u0627\u0628\u0631 \u0627\u0634\u0639\u0647 \u0645\u0636\u0631 \u0648 \u0646\u0648\u0631 \u0634\u062F\u06CC\u062F \u062C\u0648\u0634\u06A9\u0627\u0631\u06CC.",
+ specs: ["\u06A9\u0627\u0646\u0627\u0633\u06CC\u0641", "\u0634\u06CC\u0634\u0647 UV", "\u0642\u0627\u0628\u0644 \u062A\u0646\u0638\u06CC\u0645"],
+ image: "/images/products/eyewear/9.webp"
+ },
+ {
+ code: "IP-E08",
+ group: "tinted",
+ name: "\u0639\u06CC\u0646\u06A9 \u062A\u0648\u062A\u0627\u0635 AT116",
+ en: "TOTAS AT116",
+ desc: "\u0645\u062D\u0627\u0641\u0638\u062A \u062F\u0631 \u0628\u0631\u0627\u0628\u0631 \u0627\u0634\u0639\u0647 \u0645\u0636\u0631 \u062E\u0648\u0631\u0634\u06CC\u062F \u0648 \u0646\u0648\u0631 \u0634\u062F\u06CC\u062F.",
+ specs: ["\u062A\u0648\u062A\u0627\u0635", "\u0634\u06CC\u0634\u0647 UV", "\u0631\u0648\u0637\u0628\u06CC"],
+ image: "/images/products/eyewear/10.webp"
+ },
+ {
+ code: "IP-E09",
+ group: "goggle",
+ name: "\u06AF\u0627\u06AF\u0644 uvex ultravision",
+ en: "UVEX ULTRAVISION GOGGLE",
+ desc: "\u0636\u062F \u0628\u062E\u0627\u0631 \u0648 \u0636\u062F \u0636\u0631\u0628\u0647\u061B \u062C\u0644\u0648\u06AF\u06CC\u0631\u06CC \u0627\u0632 \u0627\u06CC\u062C\u0627\u062F \u0645\u0647 \u062F\u0631 \u0645\u062D\u06CC\u0637\u200C\u0647\u0627\u06CC \u06AF\u0631\u0645 \u06CC\u0627 \u0645\u0631\u0637\u0648\u0628.",
+ specs: ["uvex", "\u0636\u062F \u0628\u062E\u0627\u0631", "\u06A9\u0634\u200C\u062F\u0627\u0631"],
+ image: "/images/products/eyewear/2.webp"
+ },
+ {
+ code: "IP-E10",
+ group: "goggle",
+ name: "\u06AF\u0627\u06AF\u0644 \u0627\u06CC\u0645\u0646\u06CC \u06A9\u0634\u200C\u062F\u0627\u0631",
+ en: "SAFETY GOGGLE",
+ desc: "\u0636\u062F \u0628\u062E\u0627\u0631 \u0648 \u0636\u062F \u0636\u0631\u0628\u0647\u061B \u062C\u0644\u0648\u06AF\u06CC\u0631\u06CC \u0627\u0632 \u0627\u06CC\u062C\u0627\u062F \u0645\u0647 \u062F\u0631 \u0645\u062D\u06CC\u0637\u200C\u0647\u0627\u06CC \u06AF\u0631\u0645 \u06CC\u0627 \u0645\u0631\u0637\u0648\u0628.",
+ specs: ["\u0636\u062F \u0628\u062E\u0627\u0631", "\u06A9\u0634\u200C\u062F\u0627\u0631"],
+ image: "/images/products/eyewear/3.webp"
+ },
+ {
+ code: "IP-E11",
+ group: "goggle",
+ name: "\u06AF\u0627\u06AF\u0644 \u0627\u06CC\u0645\u0646\u06CC \u062A\u0648\u062A\u0627\u0635 ATBM",
+ en: "TOTAS ATBM GOGGLE",
+ desc: "\u0636\u062F \u0628\u062E\u0627\u0631 \u0648 \u0636\u062F \u0636\u0631\u0628\u0647\u061B \u062C\u0644\u0648\u06AF\u06CC\u0631\u06CC \u0627\u0632 \u0627\u06CC\u062C\u0627\u062F \u0645\u0647 \u062F\u0631 \u0645\u062D\u06CC\u0637\u200C\u0647\u0627\u06CC \u06AF\u0631\u0645 \u06CC\u0627 \u0645\u0631\u0637\u0648\u0628.",
+ specs: ["\u062A\u0648\u062A\u0627\u0635", "\u0636\u062F \u0628\u062E\u0627\u0631", "\u06A9\u0634\u200C\u062F\u0627\u0631"],
+ image: "/images/products/eyewear/8.webp"
+ }
+ ]
+ },
+ {
+ slug: "hearing-protection",
+ code: "IP-C06",
+ name: "\u062D\u0641\u0627\u0638\u062A \u0634\u0646\u0648\u0627\u06CC\u06CC",
+ en: "HEARING PROTECTION",
+ shortDesc: "\u0627\u06CC\u0631\u0645\u0627\u0641 \u0631\u0648\u06AF\u0648\u0634\u06CC \u0628\u0627 \u06A9\u0627\u0647\u0634 \u06F2\u06F8 \u062F\u0633\u06CC\u200C\u0628\u0644 \u0648 \u0627\u06CC\u0631\u067E\u0644\u0627\u06AF\u200C\u0647\u0627\u06CC \u0627\u0633\u0641\u0646\u062C\u06CC \u0648 \u0633\u06CC\u0644\u06CC\u06A9\u0648\u0646\u06CC \u0628\u0631\u0627\u06CC \u0645\u062D\u06CC\u0637\u200C\u0647\u0627\u06CC \u067E\u0631\u0633\u0631\u0648\u0635\u062F\u0627.",
+ fullDesc: "\u062A\u062C\u0647\u06CC\u0632\u0627\u062A \u062D\u0641\u0627\u0638\u062A \u0634\u0646\u0648\u0627\u06CC\u06CC \u0634\u0627\u0645\u0644 \u0627\u06CC\u0631\u0645\u0627\u0641 (\u0645\u062D\u0627\u0641\u0638 \u0631\u0648\u06AF\u0648\u0634\u06CC) \u0628\u0627 \u06A9\u0627\u0647\u0634 \u062A\u0631\u0627\u0632 \u0635\u062F\u0627 \u062A\u0627 \u06F2\u06F8 \u062F\u0633\u06CC\u200C\u0628\u0644 \u0648 \u0627\u06CC\u0631\u067E\u0644\u0627\u06AF (\u062F\u0627\u062E\u0644\u200C\u06AF\u0648\u0634\u06CC) \u062F\u0631 \u0645\u062F\u0644\u200C\u0647\u0627\u06CC \u0627\u0633\u0641\u0646\u062C\u06CC \u0641\u0631\u0645\u200C\u06AF\u06CC\u0631 \u0648 \u067E\u0644\u0647\u200C\u0627\u06CC \u0633\u06CC\u0644\u06CC\u06A9\u0648\u0646\u06CC. \u0645\u0646\u0627\u0633\u0628 \u0645\u062D\u06CC\u0637\u200C\u0647\u0627\u06CC \u0628\u0627 \u0622\u0644\u0648\u062F\u06AF\u06CC \u0635\u0648\u062A\u06CC \u0628\u0627\u0644\u0627\u06CC \u06F8\u06F5 \u062F\u0633\u06CC\u200C\u0628\u0644\u060C \u06A9\u0645\u067E\u0631\u0633\u0648\u0631\u062E\u0627\u0646\u0647\u200C\u0647\u0627 \u0648 \u062E\u0637\u0648\u0637 \u062A\u0648\u0644\u06CC\u062F \u0633\u0646\u06AF\u06CC\u0646.",
+ icon: "Ear",
+ groups: [
+ { slug: "earmuff", name: "\u0627\u06CC\u0631\u0645\u0627\u0641", desc: "\u06A9\u0627\u0647\u0634 \u0635\u062F\u0627 \u062A\u0627 \u06F2\u06F8 \u062F\u0633\u06CC\u200C\u0628\u0644\u060C \u0645\u0646\u0627\u0633\u0628 \u0645\u062D\u06CC\u0637\u200C\u0647\u0627\u06CC \u0635\u0646\u0639\u062A\u06CC \u0648 \u06A9\u0627\u0631\u06AF\u0627\u0647\u06CC\u060C \u0642\u0627\u0628\u0644 \u062A\u0646\u0638\u06CC\u0645 \u0648 \u0631\u0627\u062D\u062A \u0628\u0631\u0627\u06CC \u0627\u0633\u062A\u0641\u0627\u062F\u0647 \u0637\u0648\u0644\u0627\u0646\u06CC." },
+ { slug: "earplug", name: "\u0627\u06CC\u0631\u067E\u0644\u0627\u06AF", desc: "\u0645\u062D\u0627\u0641\u0638\u062A \u062F\u0631 \u0628\u0631\u0627\u0628\u0631 \u0635\u062F\u0627\u0647\u0627\u06CC \u0634\u062F\u06CC\u062F \u0648 \u0646\u0648\u06CC\u0632 \u0645\u062D\u06CC\u0637\u060C \u0633\u0628\u06A9 \u0648 \u0631\u0627\u062D\u062A\u060C \u0645\u062F\u0644\u200C\u0647\u0627\u06CC \u06CC\u06A9\u0628\u0627\u0631 \u0645\u0635\u0631\u0641 \u0648 \u0686\u0646\u062F\u0628\u0627\u0631 \u0645\u0635\u0631\u0641." }
+ ],
+ products: [
+ {
+ code: "IP-HP01",
+ group: "earmuff",
+ name: "\u0627\u06CC\u0631\u0645\u0627\u0641 \u0647\u0644\u0628\u0631\u06AF",
+ en: "HELLBERG EARMUFF",
+ desc: "\u06A9\u0627\u0647\u0634 \u0635\u062F\u0627 \u062A\u0627 \u06F2\u06F8 \u062F\u0633\u06CC\u200C\u0628\u0644\u060C \u0645\u0646\u0627\u0633\u0628 \u0645\u062D\u06CC\u0637\u200C\u0647\u0627\u06CC \u0635\u0646\u0639\u062A\u06CC \u0648 \u06A9\u0627\u0631\u06AF\u0627\u0647\u06CC\u060C \u0642\u0627\u0628\u0644 \u062A\u0646\u0638\u06CC\u0645 \u0648 \u0631\u0627\u062D\u062A \u0628\u0631\u0627\u06CC \u0627\u0633\u062A\u0641\u0627\u062F\u0647 \u0637\u0648\u0644\u0627\u0646\u06CC.",
+ specs: ["Hellberg", "\u0647\u062F\u0628\u0646\u062F \u0642\u0627\u0628\u0644 \u062A\u0646\u0638\u06CC\u0645", "\u0628\u0627\u0644\u0634\u062A\u06A9 \u0646\u0631\u0645"],
+ image: "/images/products/hearing/1.webp"
+ },
+ {
+ code: "IP-HP02",
+ group: "earmuff",
+ name: "\u0627\u06CC\u0631\u0645\u0627\u0641 uvex K2",
+ en: "UVEX K2 EARMUFF",
+ desc: "\u06A9\u0627\u0647\u0634 \u0635\u062F\u0627 \u062A\u0627 \u06F2\u06F8 \u062F\u0633\u06CC\u200C\u0628\u0644\u060C \u0645\u0646\u0627\u0633\u0628 \u0645\u062D\u06CC\u0637\u200C\u0647\u0627\u06CC \u0635\u0646\u0639\u062A\u06CC \u0648 \u06A9\u0627\u0631\u06AF\u0627\u0647\u06CC\u060C \u0642\u0627\u0628\u0644 \u062A\u0646\u0638\u06CC\u0645 \u0648 \u0631\u0627\u062D\u062A \u0628\u0631\u0627\u06CC \u0627\u0633\u062A\u0641\u0627\u062F\u0647 \u0637\u0648\u0644\u0627\u0646\u06CC.",
+ specs: ["uvex", "\u0647\u062F\u0628\u0646\u062F \u0642\u0627\u0628\u0644 \u062A\u0646\u0638\u06CC\u0645", "\u0628\u0627\u0644\u0634\u062A\u06A9 \u0646\u0631\u0645"],
+ image: "/images/products/hearing/2.webp"
+ },
+ {
+ code: "IP-HP03",
+ group: "earmuff",
+ name: "\u0627\u06CC\u0631\u0645\u0627\u0641 \u0628\u0648\u0641\u0627\u0644\u0648 110",
+ en: "BUFFALO 110 EARMUFF",
+ desc: "\u06A9\u0627\u0647\u0634 \u0635\u062F\u0627 \u062A\u0627 \u06F2\u06F8 \u062F\u0633\u06CC\u200C\u0628\u0644\u060C \u0645\u0646\u0627\u0633\u0628 \u0645\u062D\u06CC\u0637\u200C\u0647\u0627\u06CC \u0635\u0646\u0639\u062A\u06CC \u0648 \u06A9\u0627\u0631\u06AF\u0627\u0647\u06CC\u060C \u0642\u0627\u0628\u0644 \u062A\u0646\u0638\u06CC\u0645 \u0648 \u0631\u0627\u062D\u062A \u0628\u0631\u0627\u06CC \u0627\u0633\u062A\u0641\u0627\u062F\u0647 \u0637\u0648\u0644\u0627\u0646\u06CC.",
+ specs: ["\u0628\u0648\u0641\u0627\u0644\u0648", "\u0647\u062F\u0628\u0646\u062F \u0642\u0627\u0628\u0644 \u062A\u0646\u0638\u06CC\u0645", "\u0628\u0627\u0644\u0634\u062A\u06A9 \u0646\u0631\u0645"],
+ image: "/images/products/hearing/4.webp"
+ },
+ {
+ code: "IP-HP04",
+ group: "earmuff",
+ name: "\u06AF\u0648\u0634\u06CC \u0635\u062F\u0627\u06AF\u06CC\u0631 3M",
+ en: "3M EARMUFF",
+ desc: "\u06A9\u0627\u0647\u0634 \u0635\u062F\u0627 \u062A\u0627 \u06F2\u06F8 \u062F\u0633\u06CC\u200C\u0628\u0644\u060C \u0645\u0646\u0627\u0633\u0628 \u0645\u062D\u06CC\u0637\u200C\u0647\u0627\u06CC \u0635\u0646\u0639\u062A\u06CC \u0648 \u06A9\u0627\u0631\u06AF\u0627\u0647\u06CC\u060C \u0642\u0627\u0628\u0644 \u062A\u0646\u0638\u06CC\u0645 \u0648 \u0631\u0627\u062D\u062A \u0628\u0631\u0627\u06CC \u0627\u0633\u062A\u0641\u0627\u062F\u0647 \u0637\u0648\u0644\u0627\u0646\u06CC.",
+ specs: ["3M", "\u0647\u062F\u0628\u0646\u062F \u0642\u0627\u0628\u0644 \u062A\u0646\u0638\u06CC\u0645", "\u0628\u0627\u0644\u0634\u062A\u06A9 \u0646\u0631\u0645"],
+ image: "/images/products/hearing/8.webp"
+ },
+ {
+ code: "IP-HP05",
+ group: "earplug",
+ name: "\u0627\u06CC\u0631\u067E\u0644\u0627\u06AF \u06A9\u0627\u0633\u062A\u0627 \u0645\u06A9\u0633 \u0641\u06CC\u062A MAXFIT",
+ en: "COSTA MAXFIT EARPLUG",
+ desc: "\u0645\u062D\u0627\u0641\u0638\u062A \u062F\u0631 \u0628\u0631\u0627\u0628\u0631 \u0635\u062F\u0627\u0647\u0627\u06CC \u0634\u062F\u06CC\u062F \u0648 \u0646\u0648\u06CC\u0632 \u0645\u062D\u06CC\u0637\u060C \u0633\u0628\u06A9 \u0648 \u0631\u0627\u062D\u062A.",
+ specs: ["\u0633\u06CC\u0644\u06CC\u06A9\u0648\u0646\u06CC \u067E\u0644\u0647\u200C\u0627\u06CC", "\u0628\u0646\u062F\u062F\u0627\u0631", "\u0686\u0646\u062F\u0628\u0627\u0631 \u0645\u0635\u0631\u0641"],
+ image: "/images/products/hearing/3.webp"
+ },
+ {
+ code: "IP-HP06",
+ group: "earplug",
+ name: "\u0627\u06CC\u0631\u067E\u0644\u0627\u06AF \u0627\u0633\u0641\u0646\u062C\u06CC Bilsom 303L",
+ en: "BILSOM 303L FOAM EARPLUG",
+ desc: "\u0645\u062D\u0627\u0641\u0638\u062A \u062F\u0631 \u0628\u0631\u0627\u0628\u0631 \u0635\u062F\u0627\u0647\u0627\u06CC \u0634\u062F\u06CC\u062F \u0648 \u0646\u0648\u06CC\u0632 \u0645\u062D\u06CC\u0637\u060C \u0633\u0628\u06A9 \u0648 \u0631\u0627\u062D\u062A.",
+ specs: ["\u0627\u0633\u0641\u0646\u062C\u06CC", "\u0628\u0646\u062F\u062F\u0627\u0631 / \u0628\u062F\u0648\u0646 \u0628\u0646\u062F", "\u06CC\u06A9\u0628\u0627\u0631 \u0645\u0635\u0631\u0641"],
+ image: "/images/products/hearing/5.webp"
+ },
+ {
+ code: "IP-HP07",
+ group: "earplug",
+ name: "\u0627\u06CC\u0631\u067E\u0644\u0627\u06AF \u0627\u0633\u0641\u0646\u062C\u06CC \u0645\u0627\u06AF\u0645\u0627",
+ en: "MAGMA FOAM EARPLUG",
+ desc: "\u0645\u062D\u0627\u0641\u0638\u062A \u062F\u0631 \u0628\u0631\u0627\u0628\u0631 \u0635\u062F\u0627\u0647\u0627\u06CC \u0634\u062F\u06CC\u062F \u0648 \u0646\u0648\u06CC\u0632 \u0645\u062D\u06CC\u0637\u060C \u0633\u0628\u06A9 \u0648 \u0631\u0627\u062D\u062A.",
+ specs: ["\u0627\u0633\u0641\u0646\u062C\u06CC", "\u06CC\u06A9\u0628\u0627\u0631 \u0645\u0635\u0631\u0641"],
+ image: "/images/products/hearing/6.webp"
+ },
+ {
+ code: "IP-HP08",
+ group: "earplug",
+ name: "\u0627\u06CC\u0631\u067E\u0644\u0627\u06AF \u0645\u06A9\u0633 \u0641\u06CC\u062A \u0628\u0627 \u0642\u0627\u0628",
+ en: "MAXFIT EARPLUG WITH CASE",
+ desc: "\u0645\u062D\u0627\u0641\u0638\u062A \u062F\u0631 \u0628\u0631\u0627\u0628\u0631 \u0635\u062F\u0627\u0647\u0627\u06CC \u0634\u062F\u06CC\u062F \u0648 \u0646\u0648\u06CC\u0632 \u0645\u062D\u06CC\u0637\u060C \u0633\u0628\u06A9 \u0648 \u0631\u0627\u062D\u062A.",
+ specs: ["\u0633\u06CC\u0644\u06CC\u06A9\u0648\u0646\u06CC \u067E\u0644\u0647\u200C\u0627\u06CC", "\u0628\u0646\u062F\u062F\u0627\u0631", "\u0642\u0627\u0628 \u0646\u06AF\u0647\u062F\u0627\u0631\u06CC"],
+ image: "/images/products/hearing/7.webp"
+ }
+ ]
+ },
+ {
+ slug: "respiratory-protection",
+ code: "IP-C07",
+ name: "\u062D\u0641\u0627\u0638\u062A \u062A\u0646\u0641\u0633\u06CC",
+ en: "RESPIRATORY PROTECTION",
+ shortDesc: "\u0645\u0627\u0633\u06A9\u200C\u0647\u0627\u06CC \u0646\u06CC\u0645\u200C\u0635\u0648\u0631\u062A\u060C \u062A\u0645\u0627\u0645\u200C\u0635\u0648\u0631\u062A\u060C \u0634\u06CC\u0645\u06CC\u0627\u06CC\u06CC\u060C P2/P3 \u0648 \u0641\u06CC\u0644\u062A\u0631\u062F\u0627\u0631 \u0628\u0631\u0627\u06CC \u0645\u062D\u0627\u0641\u0638\u062A \u062F\u0631 \u0628\u0631\u0627\u0628\u0631 \u06AF\u0627\u0632\u0647\u0627 \u0648 \u0630\u0631\u0627\u062A.",
+ fullDesc: "\u062A\u062C\u0647\u06CC\u0632\u0627\u062A \u062D\u0641\u0627\u0638\u062A \u062A\u0646\u0641\u0633\u06CC \u0634\u0627\u0645\u0644 \u0645\u0627\u0633\u06A9\u200C\u0647\u0627\u06CC \u0646\u06CC\u0645\u200C\u0635\u0648\u0631\u062A\u060C \u062A\u0645\u0627\u0645\u200C\u0635\u0648\u0631\u062A\u060C \u0634\u06CC\u0645\u06CC\u0627\u06CC\u06CC \u0628\u0627 \u06A9\u0627\u0631\u062A\u0631\u06CC\u062C \u062A\u062E\u0635\u0635\u06CC\u060C \u0645\u0627\u0633\u06A9\u200C\u0647\u0627\u06CC \u0641\u06CC\u0644\u062A\u0631\u062F\u0627\u0631 P2/P3 \u0628\u0631\u0627\u06CC \u0630\u0631\u0627\u062A \u0645\u06CC\u06A9\u0631\u0648\u0646\u06CC\u060C \u0645\u0627\u0633\u06A9\u200C\u0647\u0627\u06CC \u0628\u0627 \u0641\u06CC\u0644\u062A\u0631 \u062A\u0639\u0648\u06CC\u0636\u06CC \u0627\u0642\u062A\u0635\u0627\u062F\u06CC \u0648 \u0645\u0627\u0633\u06A9\u200C\u0647\u0627\u06CC \u0633\u0647\u200C\u0644\u0627\u06CC\u0647 \u0628\u0647\u062F\u0627\u0634\u062A\u06CC. \u0645\u0646\u0627\u0633\u0628 \u06A9\u0627\u0631 \u0628\u0627 \u062D\u0644\u0627\u0644\u200C\u0647\u0627\u06CC \u0641\u0631\u0627\u0631\u060C \u063A\u0628\u0627\u0631\u0647\u0627\u06CC \u0645\u0639\u062F\u0646\u06CC\u060C \u0631\u0646\u06AF\u200C\u067E\u0627\u0634\u06CC \u0648 \u062E\u0637\u0648\u0637 \u0634\u06CC\u0645\u06CC\u0627\u06CC\u06CC.",
+ icon: "ShieldPlus",
+ groups: [
+ { slug: "half", name: "\u0645\u0627\u0633\u06A9 \u0646\u06CC\u0645\u200C\u0635\u0648\u0631\u062A", desc: "\u067E\u0648\u0634\u0634\u200C\u062F\u0647\u06CC \u0628\u06CC\u0646\u06CC \u0648 \u062F\u0647\u0627\u0646 \u0628\u0627 \u0641\u06CC\u0644\u062A\u0631 \u0642\u0627\u0628\u0644 \u062A\u0639\u0648\u06CC\u0636\u061B \u0645\u0646\u0627\u0633\u0628 \u0645\u062D\u06CC\u0637\u200C\u0647\u0627\u06CC \u0635\u0646\u0639\u062A\u06CC \u0628\u0627 \u0622\u0644\u0648\u062F\u06AF\u06CC \u0645\u062A\u0648\u0633\u0637 \u0648 \u0628\u062E\u0627\u0631\u0627\u062A \u0634\u06CC\u0645\u06CC\u0627\u06CC\u06CC." },
+ { slug: "full", name: "\u0645\u0627\u0633\u06A9 \u062A\u0645\u0627\u0645\u200C\u0635\u0648\u0631\u062A", desc: "\u0645\u062D\u0627\u0641\u0638\u062A \u06A9\u0627\u0645\u0644 \u0627\u0632 \u0635\u0648\u0631\u062A \u0648 \u0686\u0634\u0645\u200C\u0647\u0627\u060C \u0645\u0646\u0627\u0633\u0628 \u06A9\u0627\u0631 \u0628\u0627 \u0645\u0648\u0627\u062F \u0634\u06CC\u0645\u06CC\u0627\u06CC\u06CC \u0648 \u0645\u062D\u06CC\u0637\u200C\u0647\u0627\u06CC \u067E\u0631\u062E\u0637\u0631." },
+ { slug: "particulate", name: "\u0645\u0627\u0633\u06A9 \u0641\u06CC\u0644\u062A\u0631\u062F\u0627\u0631 P2/P3", desc: "\u0645\u062D\u0627\u0641\u0638\u062A \u062F\u0631 \u0628\u0631\u0627\u0628\u0631 \u06AF\u0631\u062F \u0648 \u063A\u0628\u0627\u0631 \u0648 \u0630\u0631\u0627\u062A \u0645\u0639\u0644\u0642 \u062F\u0631 \u0647\u0648\u0627." },
+ { slug: "medical", name: "\u0645\u0627\u0633\u06A9 \u0633\u0647\u200C\u0644\u0627\u06CC\u0647", desc: "\u0645\u0627\u0633\u06A9 \u0633\u0628\u06A9 \u0648 \u0631\u0627\u062D\u062A\u060C \u0645\u0646\u0627\u0633\u0628 \u0627\u0633\u062A\u0641\u0627\u062F\u0647 \u0631\u0648\u0632\u0645\u0631\u0647 \u0648 \u0645\u062D\u06CC\u0637\u200C\u0647\u0627\u06CC \u0628\u0627 \u0622\u0644\u0648\u062F\u06AF\u06CC \u06A9\u0645." }
+ ],
+ products: [
+ {
+ code: "IP-R01",
+ group: "half",
+ name: "\u0645\u0627\u0633\u06A9 \u0646\u06CC\u0645\u200C\u0635\u0648\u0631\u062A \u0628\u0627 \u0641\u06CC\u0644\u062A\u0631 \u062A\u0639\u0648\u06CC\u0636\u06CC",
+ en: "HALF-FACE RESPIRATOR WITH FILTERS",
+ desc: "\u067E\u0648\u0634\u0634\u200C\u062F\u0647\u06CC \u0628\u06CC\u0646\u06CC \u0648 \u062F\u0647\u0627\u0646 \u0628\u0627 \u0641\u06CC\u0644\u062A\u0631 \u0642\u0627\u0628\u0644 \u062A\u0639\u0648\u06CC\u0636 \u0628\u0631\u0627\u06CC \u0627\u0633\u062A\u0641\u0627\u062F\u0647 \u0637\u0648\u0644\u0627\u0646\u06CC\u200C\u0645\u062F\u062A.",
+ specs: ["\u0646\u06CC\u0645\u200C\u0635\u0648\u0631\u062A", "\u0641\u06CC\u0644\u062A\u0631 \u062A\u0639\u0648\u06CC\u0636\u06CC", "\u062F\u0648 \u06A9\u0627\u0631\u062A\u0631\u06CC\u062C"],
+ image: "/images/products/respiratory/5.webp"
+ },
+ {
+ code: "IP-R02",
+ group: "half",
+ name: "\u0645\u0627\u0633\u06A9 \u0646\u06CC\u0645\u200C\u0635\u0648\u0631\u062A \u0646\u0648\u0631\u062B 5500",
+ en: "NORTH 5500 HALF MASK",
+ desc: "\u067E\u0648\u0634\u0634\u200C\u062F\u0647\u06CC \u0628\u06CC\u0646\u06CC \u0648 \u062F\u0647\u0627\u0646\u060C \u0645\u0646\u0627\u0633\u0628 \u0645\u062D\u06CC\u0637\u200C\u0647\u0627\u06CC \u0635\u0646\u0639\u062A\u06CC \u0628\u0627 \u0622\u0644\u0648\u062F\u06AF\u06CC \u0645\u062A\u0648\u0633\u0637.",
+ specs: ["North", "\u0646\u06CC\u0645\u200C\u0635\u0648\u0631\u062A", "\u0641\u06CC\u0644\u062A\u0631 \u062A\u0639\u0648\u06CC\u0636\u06CC"],
+ image: "/images/products/respiratory/6.webp"
+ },
+ {
+ code: "IP-R03",
+ group: "half",
+ name: "\u0645\u0627\u0633\u06A9 \u0634\u06CC\u0645\u06CC\u0627\u06CC\u06CC \u0646\u06CC\u0645\u200C\u0635\u0648\u0631\u062A 3M",
+ en: "3M HALF-FACE RESPIRATOR",
+ desc: "\u0645\u062D\u0627\u0641\u0638\u062A \u062F\u0631 \u0628\u0631\u0627\u0628\u0631 \u0628\u062E\u0627\u0631\u0627\u062A \u0648 \u06AF\u0627\u0632\u0647\u0627\u06CC \u0634\u06CC\u0645\u06CC\u0627\u06CC\u06CC \u0628\u0627 \u06A9\u0627\u0631\u062A\u0631\u06CC\u062C \u0648 \u0641\u06CC\u0644\u062A\u0631 \u0642\u0627\u0628\u0644 \u062A\u0639\u0648\u06CC\u0636.",
+ specs: ["3M", "\u06A9\u0627\u0631\u062A\u0631\u06CC\u062C \u0634\u06CC\u0645\u06CC\u0627\u06CC\u06CC", "\u0641\u06CC\u0644\u062A\u0631 \u062A\u0639\u0648\u06CC\u0636\u06CC"],
+ image: "/images/products/respiratory/7.webp"
+ },
+ {
+ code: "IP-R04",
+ group: "half",
+ name: "\u0645\u0627\u0633\u06A9 \u0646\u06CC\u0645\u200C\u0635\u0648\u0631\u062A \u0646\u0648\u0631\u062B 7700",
+ en: "NORTH 7700 HALF MASK",
+ desc: "\u067E\u0648\u0634\u0634\u200C\u062F\u0647\u06CC \u0628\u06CC\u0646\u06CC \u0648 \u062F\u0647\u0627\u0646 \u0628\u0627 \u0628\u062F\u0646\u0647 \u0633\u06CC\u0644\u06CC\u06A9\u0648\u0646\u06CC\u060C \u0645\u0646\u0627\u0633\u0628 \u0627\u0633\u062A\u0641\u0627\u062F\u0647 \u0637\u0648\u0644\u0627\u0646\u06CC\u200C\u0645\u062F\u062A.",
+ specs: ["North", "\u0633\u06CC\u0644\u06CC\u06A9\u0648\u0646\u06CC", "\u0641\u06CC\u0644\u062A\u0631 \u062A\u0639\u0648\u06CC\u0636\u06CC"],
+ image: "/images/products/respiratory/11.webp"
+ },
+ {
+ code: "IP-R05",
+ group: "half",
+ name: "\u0645\u0627\u0633\u06A9 \u0646\u06CC\u0645\u200C\u0635\u0648\u0631\u062A \u0646\u0648\u0631\u062B 7700 (\u0646\u0645\u0627\u06CC \u062C\u0627\u0646\u0628\u06CC)",
+ en: "NORTH 7700 HALF MASK",
+ desc: "\u067E\u0648\u0634\u0634\u200C\u062F\u0647\u06CC \u0628\u06CC\u0646\u06CC \u0648 \u062F\u0647\u0627\u0646 \u0628\u0627 \u0628\u062F\u0646\u0647 \u0633\u06CC\u0644\u06CC\u06A9\u0648\u0646\u06CC\u060C \u0645\u0646\u0627\u0633\u0628 \u0627\u0633\u062A\u0641\u0627\u062F\u0647 \u0637\u0648\u0644\u0627\u0646\u06CC\u200C\u0645\u062F\u062A.",
+ specs: ["North", "\u0633\u06CC\u0644\u06CC\u06A9\u0648\u0646\u06CC", "\u0641\u06CC\u0644\u062A\u0631 \u062A\u0639\u0648\u06CC\u0636\u06CC"],
+ image: "/images/products/respiratory/10.webp"
+ },
+ {
+ code: "IP-R06",
+ group: "full",
+ name: "\u0645\u0627\u0633\u06A9 \u062A\u0645\u0627\u0645\u200C\u0635\u0648\u0631\u062A",
+ en: "FULL-FACE RESPIRATOR",
+ desc: "\u0645\u062D\u0627\u0641\u0638\u062A \u06A9\u0627\u0645\u0644 \u0627\u0632 \u0635\u0648\u0631\u062A \u0648 \u0686\u0634\u0645\u200C\u0647\u0627\u060C \u0645\u0646\u0627\u0633\u0628 \u06A9\u0627\u0631 \u0628\u0627 \u0645\u0648\u0627\u062F \u0634\u06CC\u0645\u06CC\u0627\u06CC\u06CC \u0648 \u0645\u062D\u06CC\u0637\u200C\u0647\u0627\u06CC \u067E\u0631\u062E\u0637\u0631.",
+ specs: ["\u062A\u0645\u0627\u0645\u200C\u0635\u0648\u0631\u062A", "\u0634\u06CC\u0634\u0647 \u0636\u062F \u0636\u0631\u0628\u0647", "\u0641\u06CC\u0644\u062A\u0631 \u062A\u0639\u0648\u06CC\u0636\u06CC"],
+ image: "/images/products/respiratory/4.webp"
+ },
+ {
+ code: "IP-R07",
+ group: "full",
+ name: "\u0645\u0627\u0633\u06A9 \u062A\u0646\u0641\u0633\u06CC \u062F\u0631\u0627\u06AF\u0631",
+ en: "DR\xC4GER FULL-FACE RESPIRATOR",
+ desc: "\u0645\u062D\u0627\u0641\u0638\u062A \u06A9\u0627\u0645\u0644 \u0627\u0632 \u0635\u0648\u0631\u062A \u0648 \u0686\u0634\u0645\u200C\u0647\u0627\u060C \u0645\u0646\u0627\u0633\u0628 \u06A9\u0627\u0631 \u0628\u0627 \u0645\u0648\u0627\u062F \u0634\u06CC\u0645\u06CC\u0627\u06CC\u06CC \u0648 \u0645\u062D\u06CC\u0637\u200C\u0647\u0627\u06CC \u067E\u0631\u062E\u0637\u0631.",
+ specs: ["Dr\xE4ger", "\u062A\u0645\u0627\u0645\u200C\u0635\u0648\u0631\u062A", "\u0641\u06CC\u0644\u062A\u0631 \u0686\u0646\u062F\u0645\u0646\u0638\u0648\u0631\u0647"],
+ image: "/images/products/respiratory/8.webp"
+ },
+ {
+ code: "IP-R08",
+ group: "particulate",
+ name: "\u0645\u0627\u0633\u06A9 \u0641\u06CC\u0644\u062A\u0631\u062F\u0627\u0631 \u062A\u0627\u0634\u0648",
+ en: "FOLDABLE PARTICULATE MASK",
+ desc: "\u0645\u062D\u0627\u0641\u0638\u062A \u062F\u0631 \u0628\u0631\u0627\u0628\u0631 \u06AF\u0631\u062F \u0648 \u063A\u0628\u0627\u0631 \u0648 \u0630\u0631\u0627\u062A \u0645\u0639\u0644\u0642 \u062F\u0631 \u0647\u0648\u0627.",
+ specs: ["P2", "\u062A\u0627\u0634\u0648", "\u06CC\u06A9\u0628\u0627\u0631 \u0645\u0635\u0631\u0641"],
+ image: "/images/products/respiratory/1.webp"
+ },
+ {
+ code: "IP-R09",
+ group: "particulate",
+ name: "\u0645\u0627\u0633\u06A9 \u0641\u06CC\u0644\u062A\u0631\u062F\u0627\u0631 \u0633\u0648\u067E\u0627\u067E\u200C\u062F\u0627\u0631",
+ en: "VALVED PARTICULATE MASK",
+ desc: "\u0645\u062D\u0627\u0641\u0638\u062A \u062F\u0631 \u0628\u0631\u0627\u0628\u0631 \u06AF\u0631\u062F \u0648 \u063A\u0628\u0627\u0631 \u0648 \u0630\u0631\u0627\u062A \u0645\u0639\u0644\u0642 \u062F\u0631 \u0647\u0648\u0627.",
+ specs: ["P2 / P3", "\u0633\u0648\u067E\u0627\u067E \u0628\u0627\u0632\u062F\u0645\u06CC", "\u06CC\u06A9\u0628\u0627\u0631 \u0645\u0635\u0631\u0641"],
+ image: "/images/products/respiratory/2.webp"
+ },
+ {
+ code: "IP-R10",
+ group: "particulate",
+ name: "\u0645\u0627\u0633\u06A9 \u0641\u06CC\u0644\u062A\u0631\u062F\u0627\u0631 \u062F\u0631\u0627\u06AF\u0631 \u0633\u0648\u067E\u0627\u067E\u200C\u062F\u0627\u0631",
+ en: "DR\xC4GER VALVED PARTICULATE MASK",
+ desc: "\u0645\u062D\u0627\u0641\u0638\u062A \u062F\u0631 \u0628\u0631\u0627\u0628\u0631 \u06AF\u0631\u062F \u0648 \u063A\u0628\u0627\u0631 \u0648 \u0630\u0631\u0627\u062A \u0645\u0639\u0644\u0642 \u062F\u0631 \u0647\u0648\u0627.",
+ specs: ["Dr\xE4ger", "\u0633\u0648\u067E\u0627\u067E \u0628\u0627\u0632\u062F\u0645\u06CC", "P2 / P3"],
+ image: "/images/products/respiratory/3.webp"
+ },
+ {
+ code: "IP-R11",
+ group: "medical",
+ name: "\u0645\u0627\u0633\u06A9 \u0633\u0647\u200C\u0644\u0627\u06CC\u0647 \u067E\u0632\u0634\u06A9\u06CC",
+ en: "THREE-LAYER MEDICAL MASK",
+ desc: "\u0645\u0627\u0633\u06A9 \u0633\u0628\u06A9 \u0648 \u0631\u0627\u062D\u062A\u060C \u0645\u0646\u0627\u0633\u0628 \u0627\u0633\u062A\u0641\u0627\u062F\u0647 \u0631\u0648\u0632\u0645\u0631\u0647 \u0648 \u0645\u062D\u06CC\u0637\u200C\u0647\u0627\u06CC \u0628\u0627 \u0622\u0644\u0648\u062F\u06AF\u06CC \u06A9\u0645.",
+ specs: ["\u0633\u0647\u200C\u0644\u0627\u06CC\u0647", "\u06CC\u06A9\u0628\u0627\u0631 \u0645\u0635\u0631\u0641", "\u0628\u0633\u062A\u0647 \u06F5\u06F0 \u0639\u062F\u062F\u06CC"],
+ image: "/images/products/respiratory/9.webp"
+ }
+ ]
+ },
+ {
+ slug: "traffic-equipment",
+ code: "IP-C08",
+ name: "\u062A\u062C\u0647\u06CC\u0632\u0627\u062A \u062A\u0631\u0627\u0641\u06CC\u06A9\u06CC \u0648 \u0627\u06CC\u0645\u0646\u06CC \u0645\u062D\u06CC\u0637\u06CC",
+ en: "TRAFFIC & SITE SAFETY",
+ shortDesc: "\u0645\u062E\u0631\u0648\u0637\u060C \u0646\u06CC\u0648\u062C\u0631\u0633\u06CC\u060C \u0627\u0633\u062A\u0648\u0627\u0646\u0647\u060C \u0633\u0631\u0639\u062A\u200C\u06AF\u06CC\u0631\u060C \u0622\u06CC\u0646\u0647 \u0645\u062D\u062F\u0628 \u0648 \u0633\u0627\u06CC\u0631 \u062A\u062C\u0647\u06CC\u0632\u0627\u062A \u0627\u06CC\u0645\u0646\u200C\u0633\u0627\u0632\u06CC \u0645\u062D\u0648\u0637\u0647 \u0635\u0646\u0639\u062A\u06CC.",
+ fullDesc: "\u062A\u062C\u0647\u06CC\u0632\u0627\u062A \u062A\u0631\u0627\u0641\u06CC\u06A9\u06CC \u0648 \u0627\u06CC\u0645\u0646\u06CC \u0645\u062D\u06CC\u0637\u06CC \u0634\u0627\u0645\u0644 \u0645\u062E\u0631\u0648\u0637 \u062A\u0631\u0627\u0641\u06CC\u06A9\u06CC\u060C \u0646\u06CC\u0648\u062C\u0631\u0633\u06CC \u067E\u0644\u0627\u0633\u062A\u06CC\u06A9\u06CC\u060C \u0627\u0633\u062A\u0648\u0627\u0646\u0647 \u0648 \u0628\u0648\u0644\u0627\u0631\u062F\u060C \u0686\u0631\u0627\u063A \u0648 \u062A\u0627\u0628\u0644\u0648\u0647\u0627\u06CC \u0647\u0634\u062F\u0627\u0631\u062F\u0647\u0646\u062F\u0647\u060C \u0628\u0627\u062A\u0648\u0645 \u062A\u0631\u0627\u0641\u06CC\u06A9\u06CC\u060C \u0646\u0648\u0627\u0631\u0647\u0627\u06CC \u062E\u0637\u0631\u060C \u0633\u0631\u0639\u062A\u200C\u06AF\u06CC\u0631 \u0644\u0627\u0633\u062A\u06CC\u06A9\u06CC\u060C \u0622\u06CC\u0646\u0647\u200C\u0647\u0627\u06CC \u0645\u062D\u062F\u0628\u060C \u0645\u062D\u0627\u0641\u0638 \u06AF\u0648\u0634\u0647 \u0633\u062A\u0648\u0646 \u0648 \u06AF\u0644\u200C\u0645\u06CC\u062E \u062E\u0648\u0631\u0634\u06CC\u062F\u06CC. \u0645\u0646\u0627\u0633\u0628 \u0627\u06CC\u0645\u0646\u200C\u0633\u0627\u0632\u06CC \u0645\u062D\u0648\u0637\u0647 \u06A9\u0627\u0631\u062E\u0627\u0646\u0647\u060C \u0627\u0646\u0628\u0627\u0631\u0647\u0627\u060C \u0631\u0645\u067E\u200C\u0647\u0627 \u0648 \u067E\u0627\u0631\u06A9\u06CC\u0646\u06AF\u200C\u0647\u0627.",
+ icon: "TriangleAlert",
+ products: [
+ {
+ code: "IP-T01",
+ name: "\u0645\u062E\u0631\u0648\u0637 \u062A\u0631\u0627\u0641\u06CC\u06A9\u06CC",
+ en: "TRAFFIC CONE",
+ desc: "PVC \u0627\u0646\u0639\u0637\u0627\u0641\u200C\u067E\u0630\u06CC\u0631 \u0628\u0627 \u0634\u0628\u0631\u0646\u06AF\u200C\u0647\u0627\u06CC \u0627\u0633\u062A\u0627\u0646\u062F\u0627\u0631\u062F \u0631\u0648\u0632 \u0648 \u0634\u0628\u061B \u0645\u0642\u0627\u0648\u0645 \u062F\u0631 \u0628\u0631\u0627\u0628\u0631 \u0648\u0627\u0698\u06AF\u0648\u0646\u06CC \u0648 \u0636\u0631\u0628\u0647 \u062E\u0648\u062F\u0631\u0648.",
+ specs: ["PVC \u0627\u0646\u0639\u0637\u0627\u0641\u200C\u067E\u0630\u06CC\u0631", "\u0634\u0628\u0631\u0646\u06AF \u0627\u0633\u062A\u0627\u0646\u062F\u0627\u0631\u062F", "\u0645\u0642\u0627\u0648\u0645 \u0628\u0647 \u0648\u0627\u0698\u06AF\u0648\u0646\u06CC", "\u0642\u0627\u0628\u0644 \u0631\u0624\u06CC\u062A \u0634\u0628\u0627\u0646\u0647"]
+ },
+ {
+ code: "IP-T02",
+ name: "\u0646\u06CC\u0648\u062C\u0631\u0633\u06CC \u067E\u0644\u0627\u0633\u062A\u06CC\u06A9\u06CC",
+ en: "NEW JERSEY BARRIER",
+ desc: "\u0628\u062F\u0646\u0647 \u067E\u0644\u06CC\u200C\u0627\u062A\u06CC\u0644\u0646\u06CC \u0645\u062F\u0648\u0644\u0627\u0631 \u0642\u0627\u0628\u0644 \u0627\u062A\u0635\u0627\u0644 \u0628\u0627 \u0642\u0627\u0628\u0644\u06CC\u062A \u067E\u0631\u0634\u0648\u0646\u062F\u06AF\u06CC \u0628\u0627 \u0622\u0628 \u06CC\u0627 \u0645\u0627\u0633\u0647 \u062C\u0647\u062A \u062A\u062B\u0628\u06CC\u062A \u0648 \u0627\u06CC\u062C\u0627\u062F \u062D\u0627\u0626\u0644.",
+ specs: ["\u067E\u0644\u06CC\u200C\u0627\u062A\u06CC\u0644\u0646 \u0645\u062F\u0648\u0644\u0627\u0631", "\u0642\u0627\u0628\u0644 \u0627\u062A\u0635\u0627\u0644", "\u067E\u0631\u0634\u062F\u0646\u06CC \u0628\u0627 \u0622\u0628/\u0645\u0627\u0633\u0647", "\u0645\u0642\u0627\u0648\u0645 UV"]
+ },
+ {
+ code: "IP-T03",
+ name: "\u0627\u0633\u062A\u0648\u0627\u0646\u0647 \u062A\u0631\u0627\u0641\u06CC\u06A9\u06CC",
+ en: "TRAFFIC BOLLARD",
+ desc: "\u067E\u0644\u06CC\u200C\u0627\u0648\u0631\u062A\u0627\u0646 \u0627\u0631\u062A\u062C\u0627\u0639\u06CC \u0627\u0646\u0639\u0637\u0627\u0641\u200C\u067E\u0630\u06CC\u0631 \u067E\u0633 \u0627\u0632 \u0636\u0631\u0628\u0647\u061B \u0645\u062C\u0647\u0632 \u0628\u0647 \u062D\u0644\u0642\u0647\u200C\u0647\u0627\u06CC \u0634\u0628\u0631\u0646\u06AF \u0647\u0634\u062F\u0627\u0631 \u0628\u0631\u0627\u06CC \u062A\u0641\u06A9\u06CC\u06A9 \u0645\u0633\u06CC\u0631.",
+ specs: ["\u067E\u0644\u06CC\u200C\u0627\u0648\u0631\u062A\u0627\u0646 \u0627\u0631\u062A\u062C\u0627\u0639\u06CC", "\u0628\u0627\u0632\u06AF\u0634\u062A \u067E\u0633 \u0627\u0632 \u0636\u0631\u0628\u0647", "\u0634\u0628\u0631\u0646\u06AF \u0647\u0634\u062F\u0627\u0631", "\u0646\u0635\u0628 \u0622\u0633\u0627\u0646"]
+ },
+ {
+ code: "IP-T04",
+ name: "\u0686\u0631\u0627\u063A \u0648 \u062A\u0627\u0628\u0644\u0648\u06CC \u0647\u0634\u062F\u0627\u0631",
+ en: "WARNING LIGHT & SIGN",
+ desc: "\u0686\u0631\u0627\u063A\u200C\u0647\u0627\u06CC \u0686\u0634\u0645\u06A9\u200C\u0632\u0646 \u0633\u0648\u0644\u0627\u0631\u060C \u062A\u0627\u0628\u0644\u0648\u06CC \u062F\u0633\u062A\u06CC \u0627\u06CC\u0633\u062A/\u062D\u0631\u06A9\u062A \u0648 \u062A\u0627\u0628\u0644\u0648\u0647\u0627\u06CC \u0639\u0644\u0627\u0626\u0645 \u0647\u0634\u062F\u0627\u0631\u062F\u0647\u0646\u062F\u0647 \u062A\u0631\u0627\u0641\u06CC\u06A9\u06CC.",
+ specs: ["\u0633\u0648\u0644\u0627\u0631 / \u0628\u0627\u062A\u0631\u06CC", "LED \u0686\u0634\u0645\u06A9\u200C\u0632\u0646", "\u062A\u0627\u0628\u0644\u0648\u06CC Stop/Go", "\u0639\u0644\u0627\u0626\u0645 \u0627\u0633\u062A\u0627\u0646\u062F\u0627\u0631\u062F"]
+ },
+ {
+ code: "IP-T05",
+ name: "\u0628\u0627\u062A\u0648\u0645 \u062A\u0631\u0627\u0641\u06CC\u06A9\u06CC",
+ en: "TRAFFIC BATON",
+ desc: "\u0628\u0627\u062A\u0648\u0645 LED \u062F\u0627\u0631 \u062F\u0633\u062A\u06CC \u062C\u0647\u062A \u0647\u062F\u0627\u06CC\u062A \u062A\u0631\u0627\u0641\u06CC\u06A9 \u062F\u0631 \u0634\u0628 \u0648 \u0645\u062D\u06CC\u0637\u200C\u0647\u0627\u06CC \u06A9\u0645\u200C\u0646\u0648\u0631\u061B \u0633\u0628\u06A9 \u0648 \u0627\u0631\u06AF\u0648\u0646\u0648\u0645\u06CC\u06A9.",
+ specs: ["LED \u062F\u0627\u062E\u0644\u06CC", "\u0642\u0627\u0628\u0644 \u0631\u0624\u06CC\u062A \u0634\u0628\u0627\u0646\u0647", "\u0633\u0628\u06A9\u200C\u0648\u0632\u0646", "\u0627\u0631\u06AF\u0648\u0646\u0648\u0645\u06CC\u06A9"]
+ },
+ {
+ code: "IP-T06",
+ name: "\u0646\u0648\u0627\u0631 \u062E\u0637\u0631",
+ en: "CAUTION TAPE",
+ desc: "\u0646\u0648\u0627\u0631 \u0634\u0637\u0631\u0646\u062C\u06CC \u0648 \u062E\u0637\u200C\u06A9\u0634\u06CC \u0632\u0631\u062F/\u0642\u0631\u0645\u0632 \u0647\u0634\u062F\u0627\u0631 \u0645\u062D\u0648\u0637\u0647 \u06AF\u0648\u062F\u0628\u0631\u062F\u0627\u0631\u06CC \u0648 \u0645\u0646\u0627\u0637\u0642 \u062E\u0637\u0631\u0646\u0627\u06A9 \u0628\u0627 \u0631\u0648\u0644\u200C\u0647\u0627\u06CC \u0628\u0627\u0632\u062A\u0627\u0628\u0646\u062F\u0647 \u0646\u0648\u0631.",
+ specs: ["\u0632\u0631\u062F / \u0642\u0631\u0645\u0632 \u0647\u0634\u062F\u0627\u0631", "\u0628\u0627\u0632\u062A\u0627\u0628\u0646\u062F\u0647 \u0646\u0648\u0631", "\u0631\u0648\u0644 \u0628\u0644\u0646\u062F", "\u0645\u0642\u0627\u0648\u0645 \u0628\u0647 \u067E\u0627\u0631\u06AF\u06CC"]
+ },
+ {
+ code: "IP-T07",
+ name: "\u0633\u0631\u0639\u062A\u200C\u06AF\u06CC\u0631 \u0644\u0627\u0633\u062A\u06CC\u06A9\u06CC",
+ en: "RUBBER SPEED BUMP",
+ desc: "\u0642\u0637\u0639\u0627\u062A \u0644\u0627\u0633\u062A\u06CC\u06A9\u06CC \u0633\u0646\u06AF\u06CC\u0646 \u0645\u062F\u0648\u0644\u0627\u0631 \u0628\u0627 \u0645\u0642\u0627\u0648\u0645\u062A \u0648\u0632\u0646\u06CC \u0628\u0627\u0644\u0627 \u0648 \u0627\u0644\u0645\u0627\u0646\u200C\u0647\u0627\u06CC \u0628\u0627\u0632\u062A\u0627\u0628\u0634 \u0634\u0628\u0627\u0646\u0647\u061B \u0646\u0635\u0628 \u0622\u0633\u0627\u0646.",
+ specs: ["\u0644\u0627\u0633\u062A\u06CC\u06A9\u06CC \u0645\u062F\u0648\u0644\u0627\u0631", "\u0645\u0642\u0627\u0648\u0645\u062A \u0648\u0632\u0646\u06CC \u0628\u0627\u0644\u0627", "\u0628\u0627\u0632\u062A\u0627\u0628 \u0634\u0628\u0627\u0646\u0647", "\u0646\u0635\u0628 \u067E\u06CC\u0686\u06CC"]
+ },
+ {
+ code: "IP-T08",
+ name: "\u0622\u06CC\u0646\u0647 \u0645\u062D\u062F\u0628 \u062A\u0631\u0627\u0641\u06CC\u06A9\u06CC",
+ en: "CONVEX TRAFFIC MIRROR",
+ desc: "\u0622\u06CC\u0646\u0647 \u0646\u0634\u06A9\u0646 \u0641\u0631\u06CC\u0645\u200C\u062F\u0627\u0631 \u0648 \u06A9\u0644\u0627\u0647\u200C\u062F\u0627\u0631 \u062C\u0647\u062A \u067E\u0648\u0634\u0634 \u0646\u0642\u0627\u0637 \u06A9\u0648\u0631 \u067E\u06CC\u0686\u200C\u0647\u0627\u060C \u062A\u0642\u0627\u0637\u0639\u200C\u0647\u0627 \u0648 \u062F\u0631\u0628 \u0627\u0646\u0628\u0627\u0631.",
+ specs: ["\u0646\u0634\u06A9\u0646", "\u0641\u0631\u06CC\u0645\u200C\u062F\u0627\u0631 \u0648 \u06A9\u0644\u0627\u0647\u200C\u062F\u0627\u0631", "\u067E\u0648\u0634\u0634 \u0646\u0642\u0627\u0637 \u06A9\u0648\u0631", "\u0645\u0642\u0627\u0648\u0645 \u0628\u0647 \u0622\u0628 \u0648 \u0628\u0627\u062F"]
+ },
+ {
+ code: "IP-T09",
+ name: "\u0645\u062D\u0627\u0641\u0638 \u06AF\u0648\u0634\u0647 \u0633\u062A\u0648\u0646",
+ en: "CORNER GUARD",
+ desc: "\u0636\u0631\u0628\u0647\u200C\u06AF\u06CC\u0631 \u0644\u0627\u0633\u062A\u06CC\u06A9\u06CC \u0634\u0628\u0631\u0646\u06AF\u200C\u062F\u0627\u0631 \u062C\u0647\u062A \u0646\u0635\u0628 \u0631\u0648\u06CC \u0633\u062A\u0648\u0646\u200C\u0647\u0627 \u0628\u0631\u0627\u06CC \u0645\u0645\u0627\u0646\u0639\u062A \u0627\u0632 \u0622\u0633\u06CC\u0628 \u0644\u06CC\u0641\u062A\u0631\u0627\u06A9 \u0648 \u062E\u0648\u062F\u0631\u0648\u0647\u0627\u06CC \u0633\u0646\u06AF\u06CC\u0646.",
+ specs: ["\u0644\u0627\u0633\u062A\u06CC\u06A9\u06CC \u0636\u0631\u0628\u0647\u200C\u06AF\u06CC\u0631", "\u0634\u0628\u0631\u0646\u06AF\u200C\u062F\u0627\u0631", "\u0646\u0635\u0628 \u062F\u06CC\u0648\u0627\u0631\u06CC", "\u0645\u062D\u0627\u0641\u0638 \u0633\u062A\u0648\u0646"]
+ },
+ {
+ code: "IP-T10",
+ name: "\u06AF\u0644\u200C\u0645\u06CC\u062E \u062A\u0631\u0627\u0641\u06CC\u06A9\u06CC \u062E\u0648\u0631\u0634\u06CC\u062F\u06CC",
+ en: "SOLAR ROAD STUD",
+ desc: "\u0628\u062F\u0646\u0647 \u0622\u0644\u0648\u0645\u06CC\u0646\u06CC\u0648\u0645\u06CC \u0645\u0633\u062A\u062D\u06A9\u0645 \u0645\u062C\u0647\u0632 \u0628\u0647 \u067E\u0646\u0644 \u062E\u0648\u0631\u0634\u06CC\u062F\u06CC \u0648 LED \u062C\u0647\u062A \u062A\u0639\u06CC\u06CC\u0646 \u0645\u0633\u06CC\u0631 \u0648 \u062E\u0637\u200C\u06A9\u0634\u06CC \u0634\u0628\u0627\u0646\u0647.",
+ specs: ["\u0622\u0644\u0648\u0645\u06CC\u0646\u06CC\u0648\u0645 \u0645\u0633\u062A\u062D\u06A9\u0645", "\u067E\u0646\u0644 \u062E\u0648\u0631\u0634\u06CC\u062F\u06CC", "LED", "\u0645\u0642\u0627\u0648\u0645 \u0628\u0647 \u0639\u0628\u0648\u0631 \u062E\u0648\u062F\u0631\u0648"]
+ }
+ ]
+ }
+];
+
+// dist/seed/data/sections.js
+var SECTIONS = {
+ settings: {
+ name: "\u0627\u06CC\u0645\u0646 \u067E\u06CC\u0634\u06AF\u0627\u0645\u0627\u0646",
+ nameEn: "Imen Pishgaman Safety",
+ title: "\u0627\u06CC\u0645\u0646 \u067E\u06CC\u0634\u06AF\u0627\u0645\u0627\u0646 | \u062A\u062C\u0647\u06CC\u0632\u0627\u062A \u0627\u06CC\u0645\u0646\u06CC \u0648 \u062D\u0641\u0627\u0638\u062A \u0641\u0631\u062F\u06CC \u0635\u0646\u0639\u062A\u06CC",
+ description: "\u0627\u06CC\u0645\u0646 \u067E\u06CC\u0634\u06AF\u0627\u0645\u0627\u0646 \u2014 \u062A\u0623\u0645\u06CC\u0646\u200C\u06A9\u0646\u0646\u062F\u0647 \u062A\u062E\u0635\u0635\u06CC \u062A\u062C\u0647\u06CC\u0632\u0627\u062A \u062D\u0641\u0627\u0638\u062A \u0641\u0631\u062F\u06CC (PPE)\u060C \u0628\u0627\u0632\u0631\u0633\u06CC\u060C \u0622\u0645\u0648\u0632\u0634 \u0648 \u0631\u0627\u0647\u06A9\u0627\u0631\u0647\u0627\u06CC \u0627\u06CC\u0645\u0646\u06CC \u0635\u0646\u0639\u062A\u06CC \u0628\u0631\u0627\u06CC \u0633\u0627\u0632\u0645\u0627\u0646\u200C\u0647\u0627\u06CC\u06CC \u06A9\u0647 \u062C\u0627\u0646 \u0627\u0646\u0633\u0627\u0646\u200C\u0647\u0627 \u0631\u0627 \u062C\u062F\u06CC \u0645\u06CC\u200C\u06AF\u06CC\u0631\u0646\u062F.",
+ phone: "+98-21-91008800",
+ phoneDisplay: "\u06F0\u06F2\u06F1 - \u06F9\u06F1 \u06F0\u06F0 \u06F8\u06F8 \u06F0\u06F0",
+ email: "info@imenpishgaman.ir",
+ address: {
+ street: "\u062E\u06CC\u0627\u0628\u0627\u0646 \u06A9\u0627\u0631\u06AF\u0631 \u0634\u0645\u0627\u0644\u06CC\u060C \u062E\u06CC\u0627\u0628\u0627\u0646 \u0641\u0631\u060C \u06A9\u0648\u0686\u0647 \u062F\u0648\u0645\u060C \u067E\u0644\u0627\u06A9 \u06F1\u06F2",
+ locality: "\u062A\u0647\u0631\u0627\u0646",
+ country: "IR"
+ },
+ workingHours: "\u0634\u0646\u0628\u0647 \u062A\u0627 \u067E\u0646\u062C\u0634\u0646\u0628\u0647 \u2014 \u06F8:\u06F0\u06F0 \u062A\u0627 \u06F1\u06F7:\u06F0\u06F0",
+ openingHours: {
+ days: ["Saturday", "Sunday", "Monday", "Tuesday", "Wednesday", "Thursday"],
+ opens: "08:00",
+ closes: "17:00"
+ },
+ foundingDate: "2007",
+ socials: [
+ { type: "website", url: "/" },
+ { type: "email", url: "mailto:info@imenpishgaman.ir" },
+ { type: "phone", url: "tel:+982191008800" }
+ ],
+ ogImage: {
+ url: "asset:hero.jpg",
+ alt: "\u06A9\u0627\u0631\u06AF\u0631 \u0635\u0646\u0639\u062A\u06CC \u0628\u0627 \u062A\u062C\u0647\u06CC\u0632\u0627\u062A \u0627\u06CC\u0645\u0646\u06CC \u06A9\u0627\u0645\u0644",
+ width: 1792,
+ height: 1008
+ }
+ },
+ hero: {
+ enabled: true,
+ badge: "\u062A\u0623\u0645\u06CC\u0646\u200C\u06A9\u0646\u0646\u062F\u0647 \u0631\u0633\u0645\u06CC \u062A\u062C\u0647\u06CC\u0632\u0627\u062A \u062D\u0641\u0627\u0638\u062A \u0641\u0631\u062F\u06CC (PPE)",
+ title: "\u0627\u06CC\u0645\u0646\u06CC \u06CC\u0639\u0646\u06CC",
+ titleHighlight: "\u0628\u0627\u0632\u06AF\u0634\u062A \u0628\u0647 \u062E\u0627\u0646\u0647",
+ intro: "\u0627\u06CC\u0645\u0646 \u067E\u06CC\u0634\u06AF\u0627\u0645\u0627\u0646 \u0628\u0627 \u0628\u06CC\u0634 \u0627\u0632 \u06F1\u06F8 \u0633\u0627\u0644 \u062A\u062C\u0631\u0628\u0647\u060C \u062A\u0623\u0645\u06CC\u0646\u200C\u06A9\u0646\u0646\u062F\u0647 \u062A\u062E\u0635\u0635\u06CC \u062A\u062C\u0647\u06CC\u0632\u0627\u062A \u0627\u06CC\u0645\u0646\u06CC \u0648 \u062D\u0641\u0627\u0638\u062A \u0641\u0631\u062F\u06CC \u0628\u0631\u0627\u06CC \u0633\u0627\u0632\u0645\u0627\u0646\u200C\u0647\u0627\u06CC\u06CC \u0627\u0633\u062A \u06A9\u0647 \u062C\u0627\u0646 \u0627\u0646\u0633\u0627\u0646\u200C\u0647\u0627 \u0631\u0627 \u062C\u062F\u06CC \u0645\u06CC\u200C\u06AF\u06CC\u0631\u0646\u062F\u061B \u0627\u0632 \u06A9\u0644\u0627\u0647 \u0627\u06CC\u0645\u0646\u06CC \u062A\u0627 \u0647\u0627\u0631\u0646\u0633 \u0646\u062C\u0627\u062A\u060C \u0627\u0632 \u0645\u0634\u0627\u0648\u0631\u0647 \u062A\u0627 \u0628\u0627\u0632\u0631\u0633\u06CC \u0648 \u0622\u0645\u0648\u0632\u0634.",
+ primaryCta: { label: "\u062F\u0631\u062E\u0648\u0627\u0633\u062A \u0645\u0634\u0627\u0648\u0631\u0647 \u0631\u0627\u06CC\u06AF\u0627\u0646", href: "#contact" },
+ secondaryCta: { label: "\u0645\u0634\u0627\u0647\u062F\u0647 \u0645\u062D\u0635\u0648\u0644\u0627\u062A", href: "#products" },
+ chips: [
+ { icon: "ShieldCheck", label: "ISO 9001:2015" },
+ { icon: "BadgeCheck", label: "CE CERTIFIED" },
+ { icon: "Award", label: "EN STANDARDS" }
+ ],
+ miniStats: [
+ { value: "\u06F1\u06F8+", label: "\u0633\u0627\u0644 \u062A\u062C\u0631\u0628\u0647 \u062F\u0631 \u0635\u0646\u0639\u062A \u0627\u06CC\u0645\u0646\u06CC" },
+ { value: "\u06F8\u06F5\u06F0+", label: "\u0633\u0627\u0632\u0645\u0627\u0646 \u062A\u062D\u062A \u067E\u0648\u0634\u0634" },
+ { value: "\u06F9\u06F8\u066A", label: "\u0631\u0636\u0627\u06CC\u062A \u0645\u0634\u062A\u0631\u06CC\u0627\u0646" }
+ ],
+ image: { url: "asset:hero.jpg", alt: "\u06A9\u0627\u0631\u06AF\u0631 \u0635\u0646\u0639\u062A\u06CC \u0628\u0627 \u062A\u062C\u0647\u06CC\u0632\u0627\u062A \u0627\u06CC\u0645\u0646\u06CC \u06A9\u0627\u0645\u0644" },
+ lastInspection: "\u06F1\u06F4\u06F0\u06F4/\u06F0\u06F8/\u06F1\u06F2"
+ },
+ tape: {
+ enabled: true,
+ items: [
+ "ISO 9001:2015",
+ "CE CERTIFIED",
+ "\u06AF\u0627\u0631\u0627\u0646\u062A\u06CC \u0627\u0635\u0627\u0644\u062A \u06A9\u0627\u0644\u0627",
+ "\u062A\u062D\u0648\u06CC\u0644 \u0633\u0631\u0627\u0633\u0631\u06CC \u06A9\u0634\u0648\u0631\u06CC",
+ "\u0645\u0634\u0627\u0648\u0631\u0647 \u0648 \u0628\u0627\u0632\u0631\u0633\u06CC \u062A\u062E\u0635\u0635\u06CC \u0631\u0627\u06CC\u06AF\u0627\u0646",
+ "EN STANDARDS",
+ "\u067E\u0634\u062A\u06CC\u0628\u0627\u0646\u06CC \u06F2\u06F4/\u06F7 \u0642\u0631\u0627\u0631\u062F\u0627\u062F\u0647\u0627\u06CC \u0633\u0627\u0632\u0645\u0627\u0646\u06CC",
+ "\u062A\u0633\u062A \u0646\u0645\u0648\u0646\u0647 \u0642\u0628\u0644 \u0627\u0632 \u062E\u0631\u06CC\u062F"
+ ]
+ },
+ stats: {
+ enabled: true,
+ items: [
+ { end: 18, suffix: "+", label: "\u0633\u0627\u0644 \u062A\u062C\u0631\u0628\u0647 \u062F\u0631 \u0635\u0646\u0639\u062A \u0627\u06CC\u0645\u0646\u06CC", note: "SINCE 2007" },
+ { end: 2400, suffix: "+", label: "\u06A9\u062F \u06A9\u0627\u0644\u0627\u06CC \u0627\u06CC\u0645\u0646\u06CC", note: "PPE CATALOG" },
+ { end: 850, suffix: "+", label: "\u0645\u0634\u062A\u0631\u06CC \u0633\u0627\u0632\u0645\u0627\u0646\u06CC \u0641\u0639\u0627\u0644", note: "B2B CLIENTS" },
+ { end: 98, suffix: "\u066A", label: "\u0631\u0636\u0627\u06CC\u062A \u0645\u0634\u062A\u0631\u06CC\u0627\u0646", note: "SATISFACTION" }
+ ]
+ },
+ productsIntro: {
+ enabled: true,
+ head: {
+ tag: "\u06F0\u06F1 \u2014 \u0645\u062D\u0635\u0648\u0644\u0627\u062A",
+ title: "\u062E\u0637 \u0627\u0648\u0644 \u062F\u0641\u0627\u0639\u060C\n\u062A\u062C\u0647\u06CC\u0632\u0627\u062A \u0645\u0627\u0633\u062A",
+ highlight: "",
+ desc: "\u0647\u0631 \u0645\u062D\u0635\u0648\u0644 \u067E\u06CC\u0634 \u0627\u0632 \u0639\u0631\u0636\u0647\u060C \u0632\u06CC\u0631 \u0630\u0631\u0647\u200C\u0628\u06CC\u0646 \u06A9\u0646\u062A\u0631\u0644 \u06A9\u06CC\u0641\u06CC\u062A \u0648 \u062A\u0637\u0628\u06CC\u0642 \u0628\u0627 \u0627\u0633\u062A\u0627\u0646\u062F\u0627\u0631\u062F\u0647\u0627\u06CC \u062C\u0647\u0627\u0646\u06CC \u0642\u0631\u0627\u0631 \u0645\u06CC\u200C\u06AF\u06CC\u0631\u062F."
+ },
+ ctaLabel: "\u062F\u0631\u06CC\u0627\u0641\u062A \u06A9\u0627\u062A\u0627\u0644\u0648\u06AF \u06A9\u0627\u0645\u0644",
+ trust: [
+ {
+ icon: "BadgeCheck",
+ title: "\u06AF\u0627\u0631\u0627\u0646\u062A\u06CC \u0627\u0635\u0627\u0644\u062A \u06A9\u0627\u0644\u0627",
+ desc: "\u062A\u0645\u0627\u0645 \u0645\u062D\u0635\u0648\u0644\u0627\u062A \u0628\u0627 \u0641\u0627\u06A9\u062A\u0648\u0631 \u0631\u0633\u0645\u06CC \u0648 \u06A9\u062F \u0631\u0647\u06AF\u06CC\u0631\u06CC \u0627\u0635\u0627\u0644\u062A"
+ },
+ {
+ icon: "PackageCheck",
+ title: "\u062A\u0633\u062A \u0646\u0645\u0648\u0646\u0647 \u0642\u0628\u0644 \u0627\u0632 \u062E\u0631\u06CC\u062F",
+ desc: "\u0646\u0645\u0648\u0646\u0647\u200C\u0647\u0627\u06CC \u0646\u0645\u0627\u06CC\u0634\u06CC \u0628\u0631\u0627\u06CC \u0627\u0631\u0632\u06CC\u0627\u0628\u06CC \u062A\u06CC\u0645 HSE \u0634\u0645\u0627"
+ },
+ {
+ icon: "ShieldCheck",
+ title: "\u0627\u0645\u06A9\u0627\u0646 \u0642\u0631\u0627\u0631\u062F\u0627\u062F \u0633\u0627\u0644\u0627\u0646\u0647",
+ desc: "\u0642\u06CC\u0645\u062A \u062B\u0627\u0628\u062A \u0648 \u062A\u0623\u0645\u06CC\u0646 \u0645\u0633\u062A\u0645\u0631 \u0628\u0631\u0627\u06CC \u0633\u0627\u0632\u0645\u0627\u0646\u200C\u0647\u0627\u06CC \u0628\u0632\u0631\u06AF"
+ }
+ ]
+ },
+ about: {
+ enabled: true,
+ head: {
+ tag: "\u06F0\u06F2 \u2014 \u062F\u0631\u0628\u0627\u0631\u0647 \u0645\u0627",
+ title: "\u0627\u06CC\u0645\u0646\u06CC \u0628\u0631\u0627\u06CC \u0645\u0627 \u0634\u0639\u0627\u0631 \u0646\u06CC\u0633\u062A\u061B",
+ highlight: "\u0642\u0631\u0627\u0631\u062F\u0627\u062F \u0627\u0633\u062A.",
+ desc: ""
+ },
+ body: "\u0627\u0632 \u0633\u0627\u0644 \u06F1\u06F3\u06F8\u06F6\u060C \u0632\u0645\u0627\u0646\u06CC \u06A9\u0647 \u0627\u0648\u0644\u06CC\u0646 \u06A9\u0644\u0627\u0647 \u0627\u06CC\u0645\u0646\u06CC \u0631\u0627 \u0628\u0647 \u06CC\u06A9 \u06A9\u0627\u0631\u06AF\u0627\u0647 \u06A9\u0648\u0686\u06A9 \u062F\u0631 \u062C\u0646\u0648\u0628 \u062A\u0647\u0631\u0627\u0646 \u0641\u0631\u0648\u062E\u062A\u06CC\u0645\u060C \u0628\u0627\u0648\u0631 \u0645\u0627 \u0647\u0645\u06CC\u0646 \u06CC\u06A9 \u062C\u0645\u0644\u0647 \u0628\u0648\u062F: \u067E\u0634\u062A \u0647\u0631 \u062A\u062C\u0647\u06CC\u0632 \u0627\u06CC\u0645\u0646\u06CC\u060C \u06CC\u06A9 \u062E\u0627\u0646\u0648\u0627\u062F\u0647 \u0647\u0633\u062A \u06A9\u0647 \u0645\u0646\u062A\u0638\u0631 \u0628\u0627\u0632\u06AF\u0634\u062A \u0639\u0632\u06CC\u0632\u0634 \u0627\u0633\u062A. \u0627\u0645\u0631\u0648\u0632 \u0628\u0627 \u0628\u06CC\u0634 \u0627\u0632 \u06F8\u06F5\u06F0 \u0633\u0627\u0632\u0645\u0627\u0646\u060C \u0627\u0632 \u067E\u0627\u0644\u0627\u06CC\u0634\u06AF\u0627\u0647\u200C\u0647\u0627 \u062A\u0627 \u0645\u0639\u0627\u062F\u0646 \u0648 \u0633\u0627\u06CC\u062A\u200C\u0647\u0627\u06CC \u0633\u0627\u062E\u062A\u0645\u0627\u0646\u06CC\u060C \u062F\u0631 \u06A9\u0646\u0627\u0631 \u06A9\u0633\u0627\u0646\u06CC \u0647\u0633\u062A\u06CC\u0645 \u06A9\u0647 \u0627\u06CC\u0645\u0646\u06CC \u0631\u0627 \u06CC\u06A9 \u062E\u0637 \u0642\u0631\u0645\u0632 \u0645\u06CC\u200C\u062F\u0627\u0646\u0646\u062F.",
+ image: { url: "asset:about.jpg", alt: "\u0627\u0646\u0628\u0627\u0631 \u062A\u062C\u0647\u06CC\u0632\u0627\u062A \u0627\u06CC\u0645\u0646\u06CC \u0627\u06CC\u0645\u0646 \u067E\u06CC\u0634\u06AF\u0627\u0645\u0627\u0646" },
+ badge: { value: "\u06F1\u06F8+", label: "\u0633\u0627\u0644 \u062D\u0641\u0627\u0638\u062A \u0627\u0632\n\u062C\u0627\u0646 \u0646\u06CC\u0631\u0648\u06CC \u06A9\u0627\u0631" },
+ timeline: [
+ { year: "\u06F1\u06F3\u06F8\u06F6", text: "\u062A\u0623\u0633\u06CC\u0633 \u0627\u06CC\u0645\u0646 \u067E\u06CC\u0634\u06AF\u0627\u0645\u0627\u0646 \u062F\u0631 \u062A\u0647\u0631\u0627\u0646 \u0628\u0627 \u062A\u0645\u0631\u06A9\u0632 \u0628\u0631 \u062A\u062C\u0647\u06CC\u0632\u0627\u062A \u062D\u0641\u0627\u0638\u062A \u0641\u0631\u062F\u06CC" },
+ { year: "\u06F1\u06F3\u06F9\u06F2", text: "\u062A\u0648\u0633\u0639\u0647 \u0634\u0628\u06A9\u0647 \u062A\u0648\u0632\u06CC\u0639 \u0628\u0647 \u062A\u0645\u0627\u0645 \u06F3\u06F1 \u0627\u0633\u062A\u0627\u0646 \u06A9\u0634\u0648\u0631" },
+ { year: "\u06F1\u06F3\u06F9\u06F8", text: "\u0631\u0627\u0647\u200C\u0627\u0646\u062F\u0627\u0632\u06CC \u0622\u0632\u0645\u0627\u06CC\u0634\u06AF\u0627\u0647 \u06A9\u0646\u062A\u0631\u0644 \u06A9\u06CC\u0641\u06CC\u062A \u0648 \u062A\u0633\u062A \u062A\u062C\u0647\u06CC\u0632\u0627\u062A" },
+ { year: "\u06F1\u06F4\u06F0\u06F2", text: "\u0627\u0641\u062A\u062A\u0627\u062D \u0645\u0631\u06A9\u0632 \u062A\u062E\u0635\u0635\u06CC \u0622\u0645\u0648\u0632\u0634 \u0648 \u0628\u0627\u0632\u0631\u0633\u06CC HSE" }
+ ],
+ features: [
+ { icon: "Globe", label: "\u0646\u0645\u0627\u06CC\u0646\u062F\u0647 \u0631\u0633\u0645\u06CC \u06F4\u06F0+ \u0628\u0631\u0646\u062F \u062C\u0647\u0627\u0646\u06CC" },
+ { icon: "Users", label: "\u062A\u06CC\u0645 \u0645\u0647\u0646\u062F\u0633\u06CC \u0648 \u0628\u0627\u0632\u0631\u0633\u06CC HSE" },
+ { icon: "Headset", label: "\u067E\u0634\u062A\u06CC\u0628\u0627\u0646\u06CC \u06F2\u06F4/\u06F7 \u0642\u0631\u0627\u0631\u062F\u0627\u062F\u0647\u0627" }
+ ]
+ },
+ services: {
+ enabled: true,
+ head: {
+ tag: "\u06F0\u06F3 \u2014 \u062E\u062F\u0645\u0627\u062A",
+ title: "\u0641\u0631\u0627\u062A\u0631 \u0627\u0632 \u062A\u0623\u0645\u06CC\u0646\u061B\n\u0647\u0645\u0631\u0627\u0647\u06CC \u06A9\u0627\u0645\u0644 \u0627\u06CC\u0645\u0646\u06CC",
+ highlight: "",
+ desc: "\u0645\u0627 \u062F\u0631 \u0627\u06CC\u0645\u0646 \u067E\u06CC\u0634\u06AF\u0627\u0645\u0627\u0646\u060C \u062A\u062C\u0647\u06CC\u0632\u0627\u062A \u0631\u0627 \u062A\u062D\u0648\u06CC\u0644 \u0645\u06CC\u200C\u062F\u0647\u06CC\u0645 \u0648 \u06A9\u0646\u0627\u0631 \u0634\u0645\u0627 \u0645\u06CC\u200C\u0645\u0627\u0646\u06CC\u0645\u061B \u0627\u0632 \u0646\u062E\u0633\u062A\u06CC\u0646 \u0627\u0631\u0632\u06CC\u0627\u0628\u06CC \u0631\u06CC\u0633\u06A9 \u062A\u0627 \u0622\u062E\u0631\u06CC\u0646 \u062A\u0633\u062A \u062F\u0648\u0631\u0647\u200C\u0627\u06CC."
+ },
+ items: [
+ {
+ icon: "ClipboardCheck",
+ title: "\u0628\u0627\u0632\u0631\u0633\u06CC \u0648 \u0627\u0631\u0632\u06CC\u0627\u0628\u06CC \u0631\u06CC\u0633\u06A9",
+ desc: "\u062A\u06CC\u0645 \u0645\u0647\u0646\u062F\u0633\u06CC \u0645\u0627 \u0628\u0627 \u0628\u0627\u0632\u062F\u06CC\u062F \u0627\u0632 \u0633\u0627\u06CC\u062A \u0634\u0645\u0627\u060C \u062E\u0637\u0631\u0627\u062A \u0631\u0627 \u0634\u0646\u0627\u0633\u0627\u06CC\u06CC\u060C \u0627\u0648\u0644\u0648\u06CC\u062A\u200C\u0628\u0646\u062F\u06CC \u0648 \u0628\u0631\u0627\u06CC \u0647\u0631 \u06A9\u062F\u0627\u0645 \u0631\u0627\u0647\u06A9\u0627\u0631 \u0627\u062C\u0631\u0627\u06CC\u06CC \u0645\u0634\u062E\u0635 \u0628\u0627 \u0628\u0631\u0622\u0648\u0631\u062F \u0647\u0632\u06CC\u0646\u0647 \u0627\u0631\u0627\u0626\u0647 \u0645\u06CC\u200C\u062F\u0647\u062F.",
+ items: [
+ "\u0627\u0631\u0632\u06CC\u0627\u0628\u06CC HAZOP \u0648 HAZID",
+ "\u0634\u0646\u0627\u0633\u0627\u06CC\u06CC \u0648 \u0627\u0648\u0644\u0648\u06CC\u062A\u200C\u0628\u0646\u062F\u06CC \u062E\u0637\u0631\u0627\u062A",
+ "\u06AF\u0632\u0627\u0631\u0634 \u0645\u062F\u06CC\u0631\u06CC\u062A\u06CC \u0628\u0627 \u0631\u0627\u0647\u06A9\u0627\u0631 \u0627\u062C\u0631\u0627\u06CC\u06CC"
+ ]
+ },
+ {
+ icon: "GraduationCap",
+ title: "\u0622\u0645\u0648\u0632\u0634 \u062A\u062E\u0635\u0635\u06CC \u0627\u06CC\u0645\u0646\u06CC",
+ desc: "\u0627\u0632 \u062F\u0648\u0631\u0647\u200C\u0647\u0627\u06CC \u0639\u0645\u0648\u0645\u06CC \u062A\u0627 \u062A\u0631\u0628\u06CC\u062A \u0645\u0631\u0628\u06CC\u061B \u0622\u0645\u0648\u0632\u0634\u200C\u0647\u0627\u06CC \u0639\u0645\u0644\u06CC \u0648 \u0645\u06CC\u062F\u0627\u0646\u06CC \u06A9\u0647 \u0627\u06CC\u0645\u0646\u06CC \u0631\u0627 \u0627\u0632 \u062F\u0641\u062A\u0631 \u06A9\u0644\u0627\u0646\u200C\u0647\u0627 \u0628\u0647 \u0631\u0641\u062A\u0627\u0631 \u0631\u0648\u0632\u0645\u0631\u0647 \u067E\u0631\u0633\u0646\u0644 \u062A\u0628\u062F\u06CC\u0644 \u0645\u06CC\u200C\u06A9\u0646\u062F.",
+ items: [
+ "\u062F\u0648\u0631\u0647\u200C\u0647\u0627\u06CC \u0639\u0645\u0648\u0645\u06CC \u0648 \u062A\u062E\u0635\u0635\u06CC HSE",
+ "\u062A\u0631\u0628\u06CC\u062A \u0645\u0631\u0628\u06CC \u0627\u06CC\u0645\u0646\u06CC \u0633\u0627\u06CC\u062A",
+ "\u0645\u0627\u0646\u0648\u0631 \u0648 \u0634\u0628\u06CC\u0647\u200C\u0633\u0627\u0632\u06CC \u0634\u0631\u0627\u06CC\u0637 \u0627\u0636\u0637\u0631\u0627\u0631\u06CC"
+ ]
+ },
+ {
+ icon: "Gauge",
+ title: "\u062A\u0633\u062A \u0648 \u06A9\u0627\u0644\u06CC\u0628\u0631\u0627\u0633\u06CC\u0648\u0646 \u062A\u062C\u0647\u06CC\u0632\u0627\u062A",
+ desc: "\u062A\u062C\u0647\u06CC\u0632\u0627\u062A \u0627\u06CC\u0645\u0646\u06CC \u0641\u0642\u0637 \u0648\u0642\u062A\u06CC \u0642\u0627\u0628\u0644 \u0627\u0639\u062A\u0645\u0627\u062F\u0646\u062F \u06A9\u0647 \u062A\u0633\u062A \u0634\u062F\u0647 \u0628\u0627\u0634\u0646\u062F. \u062A\u0633\u062A \u062F\u0648\u0631\u0647\u200C\u0627\u06CC\u060C \u0633\u0631\u0648\u06CC\u0633 \u0648 \u0635\u062F\u0648\u0631 \u06AF\u0648\u0627\u0647\u06CC \u0645\u0639\u062A\u0628\u0631 \u0631\u0627 \u0628\u0647 \u062A\u06CC\u0645 \u062A\u062E\u0635\u0635\u06CC \u0645\u0627 \u0628\u0633\u067E\u0627\u0631\u06CC\u062F.",
+ items: [
+ "\u062A\u0633\u062A \u0647\u0627\u0631\u0646\u0633 \u0648 \u0644\u0627\u06CC\u0646 \u0646\u062C\u0627\u062A",
+ "\u06A9\u0627\u0644\u06CC\u0628\u0631\u0627\u0633\u06CC\u0648\u0646 \u0622\u0634\u06A9\u0627\u0631\u0633\u0627\u0632\u0647\u0627\u06CC \u06AF\u0627\u0632",
+ "\u0633\u0631\u0648\u06CC\u0633 \u062F\u0648\u0631\u0647\u200C\u0627\u06CC \u0648 \u0635\u062F\u0648\u0631 \u06AF\u0648\u0627\u0647\u06CC"
+ ]
+ },
+ {
+ icon: "Truck",
+ title: "\u062A\u0623\u0645\u06CC\u0646 \u0648 \u0644\u062C\u0633\u062A\u06CC\u06A9 \u0633\u0627\u0632\u0645\u0627\u0646\u06CC",
+ desc: "\u0628\u0627 \u0642\u0631\u0627\u0631\u062F\u0627\u062F \u0633\u0627\u0644\u0627\u0646\u0647\u060C \u0642\u06CC\u0645\u062A\u200C\u06AF\u0630\u0627\u0631\u06CC \u0634\u0641\u0627\u0641 \u0648 \u0627\u0646\u0628\u0627\u0631 \u0645\u062D\u0644\u06CC \u062F\u0631 \u0633\u0627\u06CC\u062A \u0634\u0645\u0627\u060C \u0646\u06AF\u0631\u0627\u0646\u06CC \u06A9\u0645\u0628\u0648\u062F \u062A\u062C\u0647\u06CC\u0632\u0627\u062A \u0631\u0627 \u0627\u0632 \u0641\u0647\u0631\u0633\u062A \u062F\u063A\u062F\u063A\u0647\u200C\u0647\u0627\u06CC\u062A\u0627\u0646 \u062D\u0630\u0641 \u06A9\u0646\u06CC\u062F.",
+ items: [
+ "\u0642\u0631\u0627\u0631\u062F\u0627\u062F \u0633\u0627\u0644\u0627\u0646\u0647 \u0628\u0627 \u0642\u06CC\u0645\u062A \u062B\u0627\u0628\u062A",
+ "\u0627\u0646\u0628\u0627\u0631 \u0645\u062D\u0644\u06CC \u062F\u0631 \u0633\u0627\u06CC\u062A \u0634\u0645\u0627",
+ "\u062A\u062D\u0648\u06CC\u0644 \u0633\u0631\u0627\u0633\u0631\u06CC \u062F\u0631 \u06F4\u06F8 \u0633\u0627\u0639\u062A"
+ ]
+ }
+ ]
+ },
+ standards: {
+ enabled: true,
+ head: {
+ tag: "\u06F0\u06F4 \u2014 \u0627\u0633\u062A\u0627\u0646\u062F\u0627\u0631\u062F\u0647\u0627",
+ title: "\u0645\u0647\u0631\u062A\u0623\u06CC\u06CC\u062F \u062C\u0647\u0627\u0646\u06CC\n\u0631\u0648\u06CC \u0647\u0631 \u0645\u062D\u0635\u0648\u0644",
+ highlight: "",
+ desc: "\u0645\u0627 \u0641\u0642\u0637 \u062A\u062C\u0647\u06CC\u0632\u0627\u062A\u06CC \u0631\u0627 \u0639\u0631\u0636\u0647 \u0645\u06CC\u200C\u06A9\u0646\u06CC\u0645 \u06A9\u0647 \u062A\u0623\u06CC\u06CC\u062F\u06CC\u0647 \u0645\u0639\u062A\u0628\u0631 \u0628\u06CC\u0646\u200C\u0627\u0644\u0645\u0644\u0644\u06CC \u0648 \u062A\u0633\u062A \u0622\u0632\u0645\u0627\u06CC\u0634\u06AF\u0627\u0647\u06CC \u062F\u0627\u0634\u062A\u0647 \u0628\u0627\u0634\u0646\u062F\u061B \u0628\u062F\u0648\u0646 \u0627\u0633\u062A\u062B\u0646\u0627."
+ },
+ note: "\u0634\u0645\u0627\u0631\u0647 \u0633\u0631\u06CC\u0627\u0644 \u062A\u0645\u0627\u0645 \u0645\u062D\u0635\u0648\u0644\u0627\u062A \u062F\u0631 \u067E\u0627\u06CC\u06AF\u0627\u0647 \u062F\u0627\u062F\u0647 \u0627\u0633\u062A\u0627\u0646\u062F\u0627\u0631\u062F\u0647\u0627\u06CC \u0627\u0631\u0648\u067E\u0627 \u0642\u0627\u0628\u0644 \u0627\u0633\u062A\u0639\u0644\u0627\u0645 \u0627\u0633\u062A \u0648 \u06AF\u0648\u0627\u0647\u06CC \u062A\u0633\u062A \u0647\u0631 \u0628\u0686 \u062A\u062D\u0648\u06CC\u0644 \u0645\u0634\u062A\u0631\u06CC \u0645\u06CC\u200C\u0634\u0648\u062F.",
+ ctaLabel: "\u062F\u0631\u062E\u0648\u0627\u0633\u062A \u06AF\u0648\u0627\u0647\u06CC \u062A\u0633\u062A \u0645\u062D\u0635\u0648\u0644\u0627\u062A",
+ items: [
+ { code: "EN 397", label: "\u06A9\u0644\u0627\u0647 \u0627\u06CC\u0645\u0646\u06CC \u0635\u0646\u0639\u062A\u06CC" },
+ { code: "EN 388", label: "\u062F\u0633\u062A\u06A9\u0634\u200C\u0647\u0627\u06CC \u0645\u06A9\u0627\u0646\u06CC\u06A9\u06CC" },
+ { code: "EN 166", label: "\u0645\u062D\u0627\u0641\u0638 \u0686\u0634\u0645 \u0648 \u0635\u0648\u0631\u062A" },
+ { code: "EN 361", label: "\u0647\u0627\u0631\u0646\u0633 \u0636\u062F\u0633\u0642\u0648\u0637" },
+ { code: "ISO 20345", label: "\u06A9\u0641\u0634 \u0627\u06CC\u0645\u0646\u06CC" },
+ { code: "ISO 9001", label: "\u0633\u06CC\u0633\u062A\u0645 \u0645\u062F\u06CC\u0631\u06CC\u062A \u06A9\u06CC\u0641\u06CC\u062A" }
+ ]
+ },
+ industries: {
+ enabled: true,
+ head: {
+ tag: "\u06F0\u06F5 \u2014 \u0635\u0646\u0627\u06CC\u0639",
+ title: "\u062D\u0636\u0648\u0631 \u062F\u0631 \u0633\u062E\u062A\u200C\u062A\u0631\u06CC\u0646\n\u0645\u06CC\u062F\u0627\u0646\u200C\u0647\u0627\u06CC \u06A9\u0627\u0631\u06CC",
+ highlight: "",
+ desc: "\u062C\u0627\u06CC\u06CC \u06A9\u0647 \u062F\u0645\u0627\u06CC \u0645\u062D\u06CC\u0637 \u0627\u0632 \u06F5\u06F0 \u062F\u0631\u062C\u0647 \u06AF\u0630\u0631 \u0645\u06CC\u200C\u06A9\u0646\u062F \u06CC\u0627 \u0627\u0631\u062A\u0641\u0627\u0639 \u06A9\u0627\u0631 \u0628\u0647 \u062F\u0647\u200C\u0647\u0627 \u0645\u062A\u0631 \u0645\u06CC\u200C\u0631\u0633\u062F\u060C \u062A\u062C\u0647\u06CC\u0632\u0627\u062A \u0645\u0627 \u0628\u0627\u06CC\u062F \u0628\u06CC\u200C\u0646\u0642\u0635 \u0639\u0645\u0644 \u06A9\u0646\u0646\u062F \u2014 \u0648 \u0639\u0645\u0644 \u0645\u06CC\u200C\u06A9\u0646\u0646\u062F."
+ },
+ items: [
+ { name: "\u0646\u0641\u062A \u0648 \u06AF\u0627\u0632", nameEn: "OIL & GAS", count: "\u06F1\u06F4\u06F0+", image: { url: "asset:industries/oil-gas.jpg", alt: "\u0646\u0641\u062A \u0648 \u06AF\u0627\u0632" } },
+ { name: "\u0633\u0627\u062E\u062A\u0645\u0627\u0646 \u0648 \u0639\u0645\u0631\u0627\u0646", nameEn: "CONSTRUCTION", count: "\u06F2\u06F1\u06F0+", image: { url: "asset:industries/construction.jpg", alt: "\u0633\u0627\u062E\u062A\u0645\u0627\u0646 \u0648 \u0639\u0645\u0631\u0627\u0646" } },
+ { name: "\u067E\u062A\u0631\u0648\u0634\u06CC\u0645\u06CC", nameEn: "PETROCHEMICAL", count: "\u06F9\u06F0+", image: { url: "asset:industries/petrochemical.jpg", alt: "\u067E\u062A\u0631\u0648\u0634\u06CC\u0645\u06CC" } },
+ { name: "\u0635\u0646\u0627\u06CC\u0639 \u0645\u0639\u062F\u0646\u06CC", nameEn: "MINING", count: "\u06F7\u06F5+", image: { url: "asset:industries/mining.jpg", alt: "\u0635\u0646\u0627\u06CC\u0639 \u0645\u0639\u062F\u0646\u06CC" } },
+ { name: "\u0628\u0631\u0642 \u0648 \u0627\u0646\u0631\u0698\u06CC", nameEn: "POWER & ENERGY", count: "\u06F6\u06F0+", image: { url: "asset:industries/power-energy.jpg", alt: "\u0628\u0631\u0642 \u0648 \u0627\u0646\u0631\u0698\u06CC" } },
+ { name: "\u062D\u0645\u0644\u200C\u0648\u0646\u0642\u0644 \u0648 \u0644\u062C\u0633\u062A\u06CC\u06A9", nameEn: "TRANSPORT", count: "\u06F4\u06F5+", image: { url: "asset:industries/transport.jpg", alt: "\u062D\u0645\u0644\u200C\u0648\u0646\u0642\u0644 \u0648 \u0644\u062C\u0633\u062A\u06CC\u06A9" } }
+ ]
+ },
+ testimonials: {
+ enabled: true,
+ head: { tag: "\u06F0\u06F6 \u2014 \u0627\u0639\u062A\u0645\u0627\u062F", title: "\u0622\u0646\u0686\u0647 \u0645\u0634\u062A\u0631\u06CC\u0627\u0646 \u0645\u0627 \u0645\u06CC\u200C\u06AF\u0648\u06CC\u0646\u062F", highlight: "", desc: "" },
+ items: [
+ {
+ text: "\u0627\u06CC\u0645\u0646 \u067E\u06CC\u0634\u06AF\u0627\u0645\u0627\u0646 \u0641\u0642\u0637 \u062A\u0623\u0645\u06CC\u0646\u200C\u06A9\u0646\u0646\u062F\u0647 \u0646\u06CC\u0633\u062A\u061B \u0634\u0631\u06CC\u06A9 \u0627\u06CC\u0645\u0646\u06CC \u0645\u0627\u0633\u062A. \u0628\u0627\u0632\u0631\u0633\u06CC\u200C\u0647\u0627\u06CC \u062F\u0648\u0631\u0647\u200C\u0627\u06CC \u0648 \u0622\u0645\u0648\u0632\u0634\u200C\u0647\u0627\u06CC \u0645\u06CC\u062F\u0627\u0646\u06CC\u200C\u0634\u0627\u0646 \u0646\u0631\u062E \u062D\u0648\u0627\u062F\u062B \u0633\u0627\u06CC\u062A \u0631\u0627 \u0628\u0647 \u06A9\u0645\u062A\u0631\u06CC\u0646 \u0631\u0642\u0645 \u062A\u0627\u0631\u06CC\u062E \u0645\u062C\u0645\u0648\u0639\u0647 \u0631\u0633\u0627\u0646\u062F.",
+ name: "\u0645\u0647\u0646\u062F\u0633 \u0631\u0636\u0627 \u06A9\u0627\u0638\u0645\u06CC",
+ role: "\u0645\u062F\u06CC\u0631 HSE \u2014 \u0645\u062C\u062A\u0645\u0639 \u067E\u062A\u0631\u0648\u0634\u06CC\u0645\u06CC \u062E\u0644\u06CC\u062C \u0641\u0627\u0631\u0633"
+ },
+ {
+ text: "\u06A9\u06CC\u0641\u06CC\u062A \u062A\u062C\u0647\u06CC\u0632\u0627\u062A \u0648 \u0633\u0631\u0639\u062A \u067E\u0627\u0633\u062E\u200C\u06AF\u0648\u06CC\u06CC \u062F\u0631 \u0633\u0637\u062D\u06CC \u0628\u0648\u062F \u06A9\u0647 \u0642\u0631\u0627\u0631\u062F\u0627\u062F \u0633\u0627\u0644\u0627\u0646\u0647 \u0631\u0627 \u0628\u062F\u0648\u0646 \u0647\u06CC\u0686 \u062A\u0631\u062F\u06CC\u062F\u06CC \u062A\u0645\u062F\u06CC\u062F \u06A9\u0631\u062F\u06CC\u0645\u061B \u0627\u0632 \u062E\u0637 \u062A\u0648\u0644\u06CC\u062F \u062A\u0627 \u062F\u0641\u062A\u0631 \u0645\u0631\u06A9\u0632\u06CC.",
+ name: "\u0633\u0627\u0631\u0627 \u0645\u062D\u0645\u062F\u06CC",
+ role: "\u0633\u0631\u067E\u0631\u0633\u062A \u062A\u062F\u0627\u0631\u06A9\u0627\u062A \u2014 \u0647\u0644\u062F\u06CC\u0646\u06AF \u0633\u0627\u062E\u062A\u0645\u0627\u0646\u06CC \u0622\u0631\u06A9\u0627\u0646"
+ },
+ {
+ text: "\u06F1\u06F4\u06F0 \u06A9\u06CC\u0644\u0648\u0645\u062A\u0631 \u062F\u0648\u0631\u062A\u0631 \u0627\u0632 \u0633\u0627\u06CC\u062A\u060C \u062F\u0631 \u0639\u0631\u0636 \u06F2\u06F4 \u0633\u0627\u0639\u062A \u062A\u062C\u0647\u06CC\u0632\u0627\u062A \u062D\u06CC\u0627\u062A\u06CC \u0631\u0627 \u062A\u062D\u0648\u06CC\u0644 \u06AF\u0631\u0641\u062A\u06CC\u0645. \u0628\u0647 \u0627\u06CC\u0646 \u0645\u06CC\u200C\u06AF\u0648\u06CC\u0646\u062F \u0634\u0631\u06CC\u06A9 \u0648\u0627\u0642\u0639\u06CC \u06A9\u0627\u0631\u06CC.",
+ name: "\u0627\u0645\u06CC\u0631\u062D\u0633\u06CC\u0646 \u0631\u0627\u062F",
+ role: "\u0645\u062F\u06CC\u0631 \u067E\u0631\u0648\u0698\u0647 \u2014 \u0635\u0646\u0627\u06CC\u0639 \u0645\u0639\u062F\u0646\u06CC \u06A9\u0627\u0648\u0647"
+ }
+ ]
+ },
+ contact: {
+ enabled: true,
+ head: {
+ tag: "\u06F0\u06F7 \u2014 \u062A\u0645\u0627\u0633",
+ title: "\u0628\u06CC\u0627\u06CC\u06CC\u062F \u0627\u06CC\u0645\u0646\u06CC \u0631\u0627\n\u0628\u0627 \u0647\u0645 \u062C\u062F\u06CC \u0628\u06AF\u06CC\u0631\u06CC\u0645",
+ highlight: "",
+ desc: "\u0641\u0631\u0645 \u0631\u0627 \u067E\u0631 \u06A9\u0646\u06CC\u062F \u062A\u0627 \u06A9\u0627\u0631\u0634\u0646\u0627\u0633\u0627\u0646 \u0645\u0627 \u0628\u0631\u0627\u06CC \u0647\u0645\u0627\u0647\u0646\u06AF\u06CC \u062C\u0644\u0633\u0647 \u0628\u0627\u0632\u062F\u06CC\u062F \u0631\u0627\u06CC\u06AF\u0627\u0646 \u0633\u0627\u06CC\u062A \u0634\u0645\u0627 \u062A\u0645\u0627\u0633 \u0628\u06AF\u06CC\u0631\u0646\u062F\u061B \u06CC\u0627 \u0645\u0633\u062A\u0642\u06CC\u0645 \u0628\u0627 \u0645\u0627 \u062F\u0631 \u0627\u0631\u062A\u0628\u0627\u0637 \u0628\u0627\u0634\u06CC\u062F."
+ },
+ emergencyTitle: "\u067E\u0627\u0633\u062E\u200C\u06AF\u0648\u06CC\u06CC \u0627\u0636\u0637\u0631\u0627\u0631\u06CC \u06F2\u06F4/\u06F7",
+ emergencyText: "\u0628\u0631\u0627\u06CC \u0645\u0634\u062A\u0631\u06CC\u0627\u0646 \u062F\u0627\u0631\u0627\u06CC \u0642\u0631\u0627\u0631\u062F\u0627\u062F \u0633\u0627\u0632\u0645\u0627\u0646\u06CC\u060C \u062E\u0637 \u0648\u06CC\u0698\u0647 \u062D\u0648\u0627\u062F\u062B \u0648 \u062A\u0623\u0645\u06CC\u0646 \u0641\u0648\u0631\u06CC \u062A\u062C\u0647\u06CC\u0632\u0627\u062A \u062F\u0631 \u062A\u0645\u0627\u0645 \u0633\u0627\u0639\u0627\u062A \u0634\u0628\u0627\u0646\u0647\u200C\u0631\u0648\u0632 \u0641\u0639\u0627\u0644 \u0627\u0633\u062A.",
+ formTag: "// \u0641\u0631\u0645 \u062F\u0631\u062E\u0648\u0627\u0633\u062A \u0645\u0634\u0627\u0648\u0631\u0647",
+ formTitle: "\u062F\u0631 \u06A9\u0645\u062A\u0631 \u0627\u0632 \u06F2\u06F4 \u0633\u0627\u0639\u062A\n\u0628\u0627 \u0634\u0645\u0627 \u062A\u0645\u0627\u0633 \u0645\u06CC\u200C\u06AF\u06CC\u0631\u06CC\u0645",
+ successTitle: "\u062F\u0631\u062E\u0648\u0627\u0633\u062A \u0634\u0645\u0627 \u062B\u0628\u062A \u0634\u062F",
+ successText: "\u06A9\u0627\u0631\u0634\u0646\u0627\u0633\u0627\u0646 \u0645\u0627 \u062A\u0627 \u06F2\u06F4 \u0633\u0627\u0639\u062A \u0622\u06CC\u0646\u062F\u0647 \u0628\u0631\u0627\u06CC \u0647\u0645\u0627\u0647\u0646\u06AF\u06CC \u062C\u0644\u0633\u0647 \u0628\u0627\u0632\u062F\u06CC\u062F \u0628\u0627 \u0634\u0645\u0627 \u062A\u0645\u0627\u0633 \u0645\u06CC\u200C\u06AF\u06CC\u0631\u0646\u062F."
+ },
+ footer: {
+ enabled: true,
+ about: "\u062A\u0623\u0645\u06CC\u0646\u200C\u06A9\u0646\u0646\u062F\u0647 \u062A\u062E\u0635\u0635\u06CC \u062A\u062C\u0647\u06CC\u0632\u0627\u062A \u062D\u0641\u0627\u0638\u062A \u0641\u0631\u062F\u06CC \u0648 \u0631\u0627\u0647\u06A9\u0627\u0631\u0647\u0627\u06CC \u0627\u06CC\u0645\u0646\u06CC \u0635\u0646\u0639\u062A\u06CC\u061B \u0647\u0645\u0631\u0627\u0647 \u0633\u0627\u0632\u0645\u0627\u0646\u200C\u0647\u0627 \u0627\u0632 \u0633\u0627\u0644 \u06F1\u06F3\u06F8\u06F6 \u062F\u0631 \u0645\u0633\u06CC\u0631 \u0635\u0641\u0631 \u0634\u062F\u0646 \u062D\u0648\u0627\u062F\u062B \u06A9\u0627\u0631\u06CC.",
+ copyright: "\xA9 \u06F1\u06F4\u06F0\u06F4 \u0627\u06CC\u0645\u0646 \u067E\u06CC\u0634\u06AF\u0627\u0645\u0627\u0646 \u2014 \u062A\u0645\u0627\u0645\u06CC \u062D\u0642\u0648\u0642 \u0645\u062D\u0641\u0648\u0638 \u0627\u0633\u062A.",
+ certLine: "ISO 9001:2015 \u2014 CE CERTIFIED PPE SUPPLIER",
+ emergencyNote: "\u067E\u0634\u062A\u06CC\u0628\u0627\u0646\u06CC \u0627\u0636\u0637\u0631\u0627\u0631\u06CC: \u06F2\u06F4/\u06F7"
+ }
+};
+var CATEGORY_COVERS = {
+ workwear: "products/vest.jpg",
+ "safety-footwear": "products/shoes.jpg",
+ "protective-gloves": "products/gloves.jpg",
+ "safety-helmets": "products/helmet.jpg",
+ "eye-protection": "products/goggles.jpg",
+ "hearing-protection": "products/hearing.jpg",
+ "respiratory-protection": "products/respiratory.jpg",
+ "traffic-equipment": "products/traffic.jpg"
+};
+
+// dist/seed/seed.js
+var ASSETS_DIR = process.env.SEED_ASSETS_DIR ?? path.resolve(path.dirname(fileURLToPath(import.meta.url)), "../../seed-assets");
+var OVERWRITE_SECTIONS = ["1", "true"].includes(process.env.SEED_OVERWRITE_SECTIONS ?? "");
+var prisma = createPrismaClient();
+var storage = new S3Storage();
+var uploaded = /* @__PURE__ */ new Map();
+async function asset(rel, alt = "") {
+ const cached = uploaded.get(rel);
+ if (cached)
+ return cached;
+ const key = `seed/${rel.replace(/\.[^.]+$/, "")}.webp`;
+ let media = await prisma.media.findUnique({ where: { key } });
+ if (!media) {
+ const image = await toWebp(await readFile(path.join(ASSETS_DIR, rel)));
+ try {
+ await storage.put(key, image.data, "image/webp");
+ } catch {
+ try {
+ const targetPath = path.resolve(ASSETS_DIR, "../../.s3data/imen-media", key);
+ await mkdir(path.dirname(targetPath), { recursive: true });
+ await writeFile(targetPath, image.data);
+ } catch {
+ }
+ }
+ media = await prisma.media.create({
+ data: {
+ key,
+ mime: "image/webp",
+ size: image.size,
+ width: image.width,
+ height: image.height,
+ alt,
+ originalName: path.basename(rel)
+ }
+ });
+ }
+ const result = { id: media.id, url: storage.publicUrl(key) };
+ uploaded.set(rel, result);
+ return result;
+}
+__name(asset, "asset");
+async function resolveAssets(value) {
+ if (Array.isArray(value))
+ return Promise.all(value.map(resolveAssets));
+ if (value && typeof value === "object") {
+ const entries = await Promise.all(Object.entries(value).map(async ([k, v]) => {
+ if (k === "url" && typeof v === "string" && v.startsWith("asset:")) {
+ return [k, (await asset(v.slice("asset:".length))).url];
+ }
+ return [k, await resolveAssets(v)];
+ }));
+ return Object.fromEntries(entries);
+ }
+ return value;
+}
+__name(resolveAssets, "resolveAssets");
+async function seedSections() {
+ for (const key of SECTION_KEYS) {
+ const exists = await prisma.siteSection.findUnique({ where: { key } });
+ if (exists && !OVERWRITE_SECTIONS)
+ continue;
+ const data = sectionSchemas[key].parse(await resolveAssets(SECTIONS[key]));
+ await prisma.siteSection.upsert({ where: { key }, create: { key, data }, update: { data } });
+ console.log(` section ${key}`);
+ }
+}
+__name(seedSections, "seedSections");
+async function seedCatalog() {
+ for (const [ci, c] of CATEGORIES.entries()) {
+ if (await prisma.category.findUnique({ where: { slug: c.slug } }))
+ continue;
+ const coverPath = CATEGORY_COVERS[c.slug];
+ const cover = coverPath ? await asset(coverPath, c.name) : null;
+ const category = await prisma.category.create({
+ data: {
+ slug: c.slug,
+ code: c.code,
+ name: c.name,
+ nameEn: c.en,
+ shortDesc: c.shortDesc,
+ fullDesc: c.fullDesc,
+ icon: c.icon,
+ coverImageId: cover?.id ?? null,
+ sortOrder: ci,
+ groups: {
+ create: (c.groups ?? []).map((g, i) => ({
+ slug: g.slug,
+ name: g.name,
+ desc: g.desc,
+ sortOrder: i
+ }))
+ }
+ },
+ include: { groups: true }
+ });
+ const groupIds = new Map(category.groups.map((g) => [g.slug, g.id]));
+ for (const [pi, p] of c.products.entries()) {
+ const image = p.image ? await asset(p.image.replace(/^\/images\//, ""), p.name) : null;
+ await prisma.product.create({
+ data: {
+ categoryId: category.id,
+ groupId: p.group ? groupIds.get(p.group) ?? null : null,
+ code: p.code,
+ slug: p.code.toLowerCase(),
+ name: p.name,
+ nameEn: p.en,
+ desc: p.desc,
+ specs: [...p.specs],
+ variants: [...p.variants ?? []],
+ imageId: image?.id ?? null,
+ sortOrder: pi
+ }
+ });
+ }
+ console.log(` category ${c.slug} (${c.products.length} products)`);
+ }
+}
+__name(seedCatalog, "seedCatalog");
+async function seedAdmin() {
+ if (!env.ADMIN_PHONE || !env.ADMIN_PASSWORD) {
+ console.log(" ADMIN_PHONE / ADMIN_PASSWORD not set \u2014 skipping admin user");
+ return;
+ }
+ const phone = normalizeIrMobile(env.ADMIN_PHONE);
+ if (!/^09\d{9}$/.test(phone)) {
+ console.log(` ADMIN_PHONE invalid (${env.ADMIN_PHONE}) \u2014 skipping admin user`);
+ return;
+ }
+ const existing = await prisma.adminUser.findUnique({ where: { phone } });
+ if (existing)
+ return;
+ const legacy = await prisma.adminUser.findFirst({
+ where: { role: "ADMIN", phone: { contains: "@" } },
+ orderBy: { id: "asc" }
+ });
+ if (legacy) {
+ await prisma.adminUser.update({
+ where: { id: legacy.id },
+ data: { phone, name: env.ADMIN_NAME, passwordHash: await hashPassword(env.ADMIN_PASSWORD) }
+ });
+ console.log(` admin user migrated to ${phone}`);
+ return;
+ }
+ await prisma.adminUser.create({
+ data: {
+ phone,
+ name: env.ADMIN_NAME,
+ role: "ADMIN",
+ passwordHash: await hashPassword(env.ADMIN_PASSWORD)
+ }
+ });
+ console.log(` admin user ${phone}`);
+}
+__name(seedAdmin, "seedAdmin");
+async function seedMessages() {
+ const count = await prisma.contactMessage.count();
+ if (count > 0)
+ return;
+ const samples = [
+ {
+ name: "\u0645\u0647\u0646\u062F\u0633 \u0631\u0636\u0627 \u06A9\u0627\u0638\u0645\u06CC",
+ org: "\u0645\u062C\u062A\u0645\u0639 \u067E\u062A\u0631\u0648\u0634\u06CC\u0645\u06CC \u062E\u0644\u06CC\u062C \u0641\u0627\u0631\u0633",
+ phone: "09121112233",
+ message: "\u062F\u0631\u062E\u0648\u0627\u0633\u062A \u067E\u06CC\u0634\u200C\u0641\u0627\u06A9\u062A\u0648\u0631 \u06F5\u06F0\u06F0 \u0639\u062F\u062F \u0647\u0627\u0631\u0646\u0633 \u0627\u06CC\u0645\u0646\u06CC \u062F\u0648 \u0642\u0644\u0627\u0628 \u0648 \u06A9\u0644\u0627\u0647 \u0627\u06CC\u0645\u0646\u06CC \u0627\u0633\u062A\u0627\u0646\u062F\u0627\u0631\u062F EN 397 \u0628\u0631\u0627\u06CC \u0641\u0627\u0632 \u06F2 \u067E\u062A\u0631\u0648\u0634\u06CC\u0645\u06CC.",
+ status: "NEW",
+ createdAt: new Date(Date.now() - 1e3 * 60 * 35)
+ },
+ {
+ name: "\u0633\u0627\u0631\u0627 \u0645\u062D\u0645\u062F\u06CC",
+ org: "\u0647\u0644\u062F\u06CC\u0646\u06AF \u0633\u0627\u062E\u062A\u0645\u0627\u0646\u06CC \u0622\u0631\u06A9\u0627\u0646",
+ phone: "09122223344",
+ message: "\u0627\u0633\u062A\u0639\u0644\u0627\u0645 \u0642\u06CC\u0645\u062A \u0648 \u0647\u0645\u0627\u0647\u0646\u06AF\u06CC \u062C\u0644\u0633\u0647 \u0628\u0627\u0632\u062F\u06CC\u062F \u062C\u0647\u062A \u0639\u0642\u062F \u0642\u0631\u0627\u0631\u062F\u0627\u062F \u0633\u0627\u0644\u0627\u0646\u0647 \u062A\u0623\u0645\u06CC\u0646 \u062A\u062C\u0647\u06CC\u0632\u0627\u062A \u062D\u0641\u0627\u0638\u062A \u0641\u0631\u062F\u06CC \u06F1\u06F2 \u067E\u0631\u0648\u0698\u0647 \u0641\u0639\u0627\u0644.",
+ status: "NEW",
+ createdAt: new Date(Date.now() - 1e3 * 60 * 120)
+ },
+ {
+ name: "\u0627\u0645\u06CC\u0631\u062D\u0633\u06CC\u0646 \u0631\u0627\u062F",
+ org: "\u0635\u0646\u0627\u06CC\u0639 \u0645\u0639\u062F\u0646\u06CC \u06A9\u0627\u0648\u0647",
+ phone: "09123334455",
+ message: "\u062F\u0631\u062E\u0648\u0627\u0633\u062A \u062A\u0623\u0645\u06CC\u0646 \u0641\u0648\u0631\u06CC \u06F2\u06F0\u06F0 \u062C\u0641\u062A \u062F\u0633\u062A\u06A9\u0634 \u0627\u06CC\u0645\u0646\u06CC \u0636\u062F\u0628\u0631\u0634 \u0648 \u06A9\u0641\u0634 \u0627\u06CC\u0645\u0646\u06CC \u0636\u062F\u0627\u0633\u06CC\u062F \u0648 \u067E\u0646\u062C\u0647 \u06A9\u0627\u0645\u067E\u0648\u0632\u06CC\u062A \u0628\u0631\u0627\u06CC \u0633\u0627\u06CC\u062A \u06CC\u0632\u062F.",
+ status: "READ",
+ createdAt: new Date(Date.now() - 1e3 * 60 * 60 * 8)
+ },
+ {
+ name: "\u0645\u0647\u0646\u062F\u0633 \u0639\u0644\u06CC\u0631\u0636\u0627 \u0628\u0647\u0631\u0627\u0645\u06CC",
+ org: "\u0634\u0631\u06A9\u062A \u0646\u0641\u062A \u0648 \u06AF\u0627\u0632 \u067E\u0627\u0631\u0633",
+ phone: "09124445566",
+ message: "\u062A\u0642\u0627\u0636\u0627\u06CC \u0627\u0631\u0633\u0627\u0644 \u06A9\u0627\u062A\u0627\u0644\u0648\u06AF \u0648 \u0646\u0645\u0648\u0646\u0647 \u0639\u06CC\u0646\u06A9 \u0627\u06CC\u0645\u0646\u06CC \u0627\u0633\u062A\u0627\u0646\u062F\u0627\u0631\u062F EN 166 \u0648 \u0645\u062D\u0627\u0641\u0638 \u06AF\u0648\u0634 \u0627\u06CC\u0631\u0645\u0627\u0641 \u062C\u0647\u062A \u0622\u0632\u0645\u0627\u06CC\u0634 \u0648\u0627\u062D\u062F HSE.",
+ status: "NEW",
+ createdAt: new Date(Date.now() - 1e3 * 60 * 60 * 24)
+ },
+ {
+ name: "\u0645\u0631\u06CC\u0645 \u0631\u0636\u0627\u06CC\u06CC",
+ org: "\u062F\u0627\u0631\u0648\u0633\u0627\u0632\u06CC \u0631\u0627\u0632\u06A9",
+ phone: "09125556677",
+ message: "\u062F\u0631\u062E\u0648\u0627\u0633\u062A \u0645\u0634\u0627\u0648\u0631\u0647 \u062A\u062E\u0635\u0635\u06CC \u062F\u0631 \u0631\u0627\u0628\u0637\u0647 \u0628\u0627 \u0645\u0627\u0633\u06A9\u200C\u0647\u0627\u06CC \u0641\u06CC\u0644\u062A\u0631\u062F\u0627\u0631 \u0630\u0631\u0627\u062A \u0634\u06CC\u0645\u06CC\u0627\u06CC\u06CC \u0648 \u0644\u0628\u0627\u0633\u200C\u0647\u0627\u06CC \u06CC\u06A9\u0628\u0627\u0631 \u0645\u0635\u0631\u0641 \u0622\u0632\u0645\u0627\u06CC\u0634\u06AF\u0627\u0647\u06CC.",
+ status: "READ",
+ createdAt: new Date(Date.now() - 1e3 * 60 * 60 * 36)
+ },
+ {
+ name: "\u0645\u0647\u0646\u062F\u0633 \u0645\u0647\u062F\u06CC \u06CC\u0648\u0633\u0641\u06CC",
+ org: "\u0641\u0648\u0644\u0627\u062F \u0645\u0628\u0627\u0631\u06A9\u0647 \u0627\u0635\u0641\u0647\u0627\u0646",
+ phone: "09126667788",
+ message: "\u062F\u0631\u062E\u0648\u0627\u0633\u062A \u0628\u0631\u06AF\u0632\u0627\u0631\u06CC \u062C\u0644\u0633\u0647 \u0641\u0646\u06CC \u0628\u0631\u0627\u06CC \u062A\u0645\u062F\u06CC\u062F \u0642\u0631\u0627\u0631\u062F\u0627\u062F \u062A\u0623\u0645\u06CC\u0646 \u0644\u0628\u0627\u0633 \u06A9\u0627\u0631 \u0646\u0633\u0648\u0632\u060C \u0634\u06CC\u0644\u062F \u0645\u062D\u0627\u0641\u0638 \u0635\u0648\u0631\u062A \u0648 \u067E\u0627\u0628\u0646\u062F \u0646\u0633\u0648\u0632.",
+ status: "ARCHIVED",
+ createdAt: new Date(Date.now() - 1e3 * 60 * 60 * 72)
+ },
+ {
+ name: "\u067E\u06CC\u0645\u0627\u0646 \u0646\u0627\u062F\u0631\u06CC",
+ org: "\u062E\u0637\u0648\u0637 \u0644\u0648\u0644\u0647 \u0648 \u0645\u062E\u0627\u0628\u0631\u0627\u062A \u0646\u0641\u062A",
+ phone: "09127778899",
+ message: "\u0627\u0633\u062A\u0639\u0644\u0627\u0645 \u0645\u0648\u062C\u0648\u062F\u06CC \u062A\u062C\u0647\u06CC\u0632\u0627\u062A \u0646\u062C\u0627\u062A \u062F\u0631 \u0641\u0636\u0627\u0647\u0627\u06CC \u0628\u0633\u062A\u0647\u060C \u0633\u0647\u200C\u067E\u0627\u06CC\u0647 \u0646\u062C\u0627\u062A (Tripod) \u0648 \u0648\u06CC\u0646\u0686 \u0647\u0645\u0631\u0627\u0647 \u0628\u0627 \u06AF\u0648\u0627\u0647\u06CC \u06A9\u0627\u0644\u06CC\u0628\u0631\u0627\u0633\u06CC\u0648\u0646.",
+ status: "NEW",
+ createdAt: new Date(Date.now() - 1e3 * 60 * 60 * 96)
+ },
+ {
+ name: "\u062F\u06A9\u062A\u0631 \u0645\u062C\u06CC\u062F \u0627\u0633\u062F\u06CC",
+ org: "\u0633\u06CC\u0645\u0627\u0646 \u062A\u0647\u0631\u0627\u0646",
+ phone: "09128889900",
+ message: "\u062F\u0631\u062E\u0648\u0627\u0633\u062A \u0628\u0631\u06AF\u0632\u0627\u0631\u06CC \u062F\u0648\u0631\u0647 \u0622\u0645\u0648\u0632\u0634\u06CC \u06A9\u0627\u0631 \u062F\u0631 \u0627\u0631\u062A\u0641\u0627\u0639 \u0628\u0631\u0627\u06CC \u067E\u0631\u0633\u0646\u0644 \u067E\u06CC\u0645\u0627\u0646\u06A9\u0627\u0631 \u0648 \u0628\u0627\u0632\u0631\u0633\u06CC \u062F\u0648\u0631\u0647\u200C\u0627\u06CC \u062E\u0637\u0648\u0637 \u062D\u06CC\u0627\u062A (Lifeline).",
+ status: "READ",
+ createdAt: new Date(Date.now() - 1e3 * 60 * 60 * 120)
+ }
+ ];
+ for (const msg of samples) {
+ await prisma.contactMessage.create({ data: msg });
+ }
+ console.log(` seeded ${samples.length} sample contact messages`);
+}
+__name(seedMessages, "seedMessages");
+async function main() {
+ if (env.S3_ENSURE_BUCKET) {
+ try {
+ await storage.ensureBucket();
+ } catch {
+ console.log(" ensureBucket skipped");
+ }
+ }
+ console.log("seeding sections\u2026");
+ await seedSections();
+ console.log("seeding catalog\u2026");
+ await seedCatalog();
+ console.log("seeding admin\u2026");
+ await seedAdmin();
+ console.log("seeding messages\u2026");
+ await seedMessages();
+ const [categories, products, media] = await Promise.all([
+ prisma.category.count(),
+ prisma.product.count(),
+ prisma.media.count()
+ ]);
+ console.log(`done: ${categories} categories, ${products} products, ${media} media files`);
+}
+__name(main, "main");
+try {
+ await main();
+} catch (e) {
+ console.error(e);
+ process.exitCode = 1;
+} finally {
+ await prisma.$disconnect();
+}
diff --git a/apps/api/.output/node_modules/@img/colour/LICENSE.md b/apps/api/.output/node_modules/@img/colour/LICENSE.md
new file mode 100644
index 0000000..292c550
--- /dev/null
+++ b/apps/api/.output/node_modules/@img/colour/LICENSE.md
@@ -0,0 +1,82 @@
+# Licensing
+
+## color
+
+Copyright (c) 2012 Heather Arthur
+
+Permission is hereby granted, free of charge, to any person obtaining
+a copy of this software and associated documentation files (the
+"Software"), to deal in the Software without restriction, including
+without limitation the rights to use, copy, modify, merge, publish,
+distribute, sublicense, and/or sell copies of the Software, and to
+permit persons to whom the Software is furnished to do so, subject to
+the following conditions:
+
+The above copyright notice and this permission notice shall be
+included in all copies or substantial portions of the Software.
+
+THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
+EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
+MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
+NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
+LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
+OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
+WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
+
+## color-convert
+
+Copyright (c) 2011-2016 Heather Arthur .
+Copyright (c) 2016-2021 Josh Junon .
+
+Permission is hereby granted, free of charge, to any person obtaining
+a copy of this software and associated documentation files (the
+"Software"), to deal in the Software without restriction, including
+without limitation the rights to use, copy, modify, merge, publish,
+distribute, sublicense, and/or sell copies of the Software, and to
+permit persons to whom the Software is furnished to do so, subject to
+the following conditions:
+
+The above copyright notice and this permission notice shall be
+included in all copies or substantial portions of the Software.
+
+THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
+EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
+MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
+NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
+LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
+OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
+WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
+
+## color-string
+
+Copyright (c) 2011 Heather Arthur
+
+Permission is hereby granted, free of charge, to any person obtaining
+a copy of this software and associated documentation files (the
+"Software"), to deal in the Software without restriction, including
+without limitation the rights to use, copy, modify, merge, publish,
+distribute, sublicense, and/or sell copies of the Software, and to
+permit persons to whom the Software is furnished to do so, subject to
+the following conditions:
+
+The above copyright notice and this permission notice shall be
+included in all copies or substantial portions of the Software.
+
+THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
+EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
+MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
+NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
+LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
+OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
+WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
+
+## color-name
+
+The MIT License (MIT)
+Copyright (c) 2015 Dmitry Ivanov
+
+Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:
+
+The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.
+
+THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
diff --git a/apps/api/.output/node_modules/@img/colour/README.md b/apps/api/.output/node_modules/@img/colour/README.md
new file mode 100644
index 0000000..a33e4eb
--- /dev/null
+++ b/apps/api/.output/node_modules/@img/colour/README.md
@@ -0,0 +1,15 @@
+# `@img/colour`
+
+The latest version of the
+[color](https://www.npmjs.com/package/color)
+package is now ESM-only,
+however some JavaScript runtimes do not yet support this,
+which includes versions of Node.js prior to 20.19.0.
+
+This package converts the `color` package and its dependencies,
+all of which are MIT-licensed, to CommonJS.
+
+- [color](https://www.npmjs.com/package/color)
+- [color-convert](https://www.npmjs.com/package/color-convert)
+- [color-string](https://www.npmjs.com/package/color-string)
+- [color-name](https://www.npmjs.com/package/color-name)
diff --git a/apps/api/.output/node_modules/@img/colour/color.cjs b/apps/api/.output/node_modules/@img/colour/color.cjs
new file mode 100644
index 0000000..d5b7ee2
--- /dev/null
+++ b/apps/api/.output/node_modules/@img/colour/color.cjs
@@ -0,0 +1,1596 @@
+var __defProp = Object.defineProperty;
+var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
+var __getOwnPropNames = Object.getOwnPropertyNames;
+var __hasOwnProp = Object.prototype.hasOwnProperty;
+var __export = (target, all) => {
+ for (var name in all)
+ __defProp(target, name, { get: all[name], enumerable: true });
+};
+var __copyProps = (to, from, except, desc) => {
+ if (from && typeof from === "object" || typeof from === "function") {
+ for (let key of __getOwnPropNames(from))
+ if (!__hasOwnProp.call(to, key) && key !== except)
+ __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
+ }
+ return to;
+};
+var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
+
+// node_modules/color/index.js
+var index_exports = {};
+__export(index_exports, {
+ default: () => index_default
+});
+module.exports = __toCommonJS(index_exports);
+
+// node_modules/color-name/index.js
+var colors = {
+ aliceblue: [240, 248, 255],
+ antiquewhite: [250, 235, 215],
+ aqua: [0, 255, 255],
+ aquamarine: [127, 255, 212],
+ azure: [240, 255, 255],
+ beige: [245, 245, 220],
+ bisque: [255, 228, 196],
+ black: [0, 0, 0],
+ blanchedalmond: [255, 235, 205],
+ blue: [0, 0, 255],
+ blueviolet: [138, 43, 226],
+ brown: [165, 42, 42],
+ burlywood: [222, 184, 135],
+ cadetblue: [95, 158, 160],
+ chartreuse: [127, 255, 0],
+ chocolate: [210, 105, 30],
+ coral: [255, 127, 80],
+ cornflowerblue: [100, 149, 237],
+ cornsilk: [255, 248, 220],
+ crimson: [220, 20, 60],
+ cyan: [0, 255, 255],
+ darkblue: [0, 0, 139],
+ darkcyan: [0, 139, 139],
+ darkgoldenrod: [184, 134, 11],
+ darkgray: [169, 169, 169],
+ darkgreen: [0, 100, 0],
+ darkgrey: [169, 169, 169],
+ darkkhaki: [189, 183, 107],
+ darkmagenta: [139, 0, 139],
+ darkolivegreen: [85, 107, 47],
+ darkorange: [255, 140, 0],
+ darkorchid: [153, 50, 204],
+ darkred: [139, 0, 0],
+ darksalmon: [233, 150, 122],
+ darkseagreen: [143, 188, 143],
+ darkslateblue: [72, 61, 139],
+ darkslategray: [47, 79, 79],
+ darkslategrey: [47, 79, 79],
+ darkturquoise: [0, 206, 209],
+ darkviolet: [148, 0, 211],
+ deeppink: [255, 20, 147],
+ deepskyblue: [0, 191, 255],
+ dimgray: [105, 105, 105],
+ dimgrey: [105, 105, 105],
+ dodgerblue: [30, 144, 255],
+ firebrick: [178, 34, 34],
+ floralwhite: [255, 250, 240],
+ forestgreen: [34, 139, 34],
+ fuchsia: [255, 0, 255],
+ gainsboro: [220, 220, 220],
+ ghostwhite: [248, 248, 255],
+ gold: [255, 215, 0],
+ goldenrod: [218, 165, 32],
+ gray: [128, 128, 128],
+ green: [0, 128, 0],
+ greenyellow: [173, 255, 47],
+ grey: [128, 128, 128],
+ honeydew: [240, 255, 240],
+ hotpink: [255, 105, 180],
+ indianred: [205, 92, 92],
+ indigo: [75, 0, 130],
+ ivory: [255, 255, 240],
+ khaki: [240, 230, 140],
+ lavender: [230, 230, 250],
+ lavenderblush: [255, 240, 245],
+ lawngreen: [124, 252, 0],
+ lemonchiffon: [255, 250, 205],
+ lightblue: [173, 216, 230],
+ lightcoral: [240, 128, 128],
+ lightcyan: [224, 255, 255],
+ lightgoldenrodyellow: [250, 250, 210],
+ lightgray: [211, 211, 211],
+ lightgreen: [144, 238, 144],
+ lightgrey: [211, 211, 211],
+ lightpink: [255, 182, 193],
+ lightsalmon: [255, 160, 122],
+ lightseagreen: [32, 178, 170],
+ lightskyblue: [135, 206, 250],
+ lightslategray: [119, 136, 153],
+ lightslategrey: [119, 136, 153],
+ lightsteelblue: [176, 196, 222],
+ lightyellow: [255, 255, 224],
+ lime: [0, 255, 0],
+ limegreen: [50, 205, 50],
+ linen: [250, 240, 230],
+ magenta: [255, 0, 255],
+ maroon: [128, 0, 0],
+ mediumaquamarine: [102, 205, 170],
+ mediumblue: [0, 0, 205],
+ mediumorchid: [186, 85, 211],
+ mediumpurple: [147, 112, 219],
+ mediumseagreen: [60, 179, 113],
+ mediumslateblue: [123, 104, 238],
+ mediumspringgreen: [0, 250, 154],
+ mediumturquoise: [72, 209, 204],
+ mediumvioletred: [199, 21, 133],
+ midnightblue: [25, 25, 112],
+ mintcream: [245, 255, 250],
+ mistyrose: [255, 228, 225],
+ moccasin: [255, 228, 181],
+ navajowhite: [255, 222, 173],
+ navy: [0, 0, 128],
+ oldlace: [253, 245, 230],
+ olive: [128, 128, 0],
+ olivedrab: [107, 142, 35],
+ orange: [255, 165, 0],
+ orangered: [255, 69, 0],
+ orchid: [218, 112, 214],
+ palegoldenrod: [238, 232, 170],
+ palegreen: [152, 251, 152],
+ paleturquoise: [175, 238, 238],
+ palevioletred: [219, 112, 147],
+ papayawhip: [255, 239, 213],
+ peachpuff: [255, 218, 185],
+ peru: [205, 133, 63],
+ pink: [255, 192, 203],
+ plum: [221, 160, 221],
+ powderblue: [176, 224, 230],
+ purple: [128, 0, 128],
+ rebeccapurple: [102, 51, 153],
+ red: [255, 0, 0],
+ rosybrown: [188, 143, 143],
+ royalblue: [65, 105, 225],
+ saddlebrown: [139, 69, 19],
+ salmon: [250, 128, 114],
+ sandybrown: [244, 164, 96],
+ seagreen: [46, 139, 87],
+ seashell: [255, 245, 238],
+ sienna: [160, 82, 45],
+ silver: [192, 192, 192],
+ skyblue: [135, 206, 235],
+ slateblue: [106, 90, 205],
+ slategray: [112, 128, 144],
+ slategrey: [112, 128, 144],
+ snow: [255, 250, 250],
+ springgreen: [0, 255, 127],
+ steelblue: [70, 130, 180],
+ tan: [210, 180, 140],
+ teal: [0, 128, 128],
+ thistle: [216, 191, 216],
+ tomato: [255, 99, 71],
+ turquoise: [64, 224, 208],
+ violet: [238, 130, 238],
+ wheat: [245, 222, 179],
+ white: [255, 255, 255],
+ whitesmoke: [245, 245, 245],
+ yellow: [255, 255, 0],
+ yellowgreen: [154, 205, 50]
+};
+for (const key in colors) Object.freeze(colors[key]);
+var color_name_default = Object.freeze(colors);
+
+// node_modules/color-string/index.js
+var reverseNames = /* @__PURE__ */ Object.create(null);
+for (const name in color_name_default) {
+ if (Object.hasOwn(color_name_default, name)) {
+ reverseNames[color_name_default[name]] = name;
+ }
+}
+var cs = {
+ to: {},
+ get: {}
+};
+cs.get = function(string) {
+ const prefix = string.slice(0, 3).toLowerCase();
+ let value;
+ let model;
+ switch (prefix) {
+ case "hsl": {
+ value = cs.get.hsl(string);
+ model = "hsl";
+ break;
+ }
+ case "hwb": {
+ value = cs.get.hwb(string);
+ model = "hwb";
+ break;
+ }
+ default: {
+ value = cs.get.rgb(string);
+ model = "rgb";
+ break;
+ }
+ }
+ if (!value) {
+ return null;
+ }
+ return { model, value };
+};
+cs.get.rgb = function(string) {
+ if (!string) {
+ return null;
+ }
+ const abbr = /^#([a-f\d]{3,4})$/i;
+ const hex = /^#([a-f\d]{6})([a-f\d]{2})?$/i;
+ const rgba = /^rgba?\(\s*([+-]?(?:\d*\.)?\d+(?:e\d+)?)(?=[\s,])\s*(?:,\s*)?([+-]?(?:\d*\.)?\d+(?:e\d+)?)(?=[\s,])\s*(?:,\s*)?([+-]?(?:\d*\.)?\d+(?:e\d+)?)\s*(?:[\s,|/]\s*([+-]?(?:\d*\.)?\d+(?:e\d+)?)(%?)\s*)?\)$/i;
+ const per = /^rgba?\(\s*([+-]?[\d.]+)%\s*,?\s*([+-]?[\d.]+)%\s*,?\s*([+-]?[\d.]+)%\s*(?:[\s,|/]\s*([+-]?[\d.]+)(%?)\s*)?\)$/i;
+ const keyword = /^(\w+)$/;
+ let rgb = [0, 0, 0, 1];
+ let match;
+ let i;
+ let hexAlpha;
+ if (match = string.match(hex)) {
+ hexAlpha = match[2];
+ match = match[1];
+ for (i = 0; i < 3; i++) {
+ const i2 = i * 2;
+ rgb[i] = Number.parseInt(match.slice(i2, i2 + 2), 16);
+ }
+ if (hexAlpha) {
+ rgb[3] = Number.parseInt(hexAlpha, 16) / 255;
+ }
+ } else if (match = string.match(abbr)) {
+ match = match[1];
+ hexAlpha = match[3];
+ for (i = 0; i < 3; i++) {
+ rgb[i] = Number.parseInt(match[i] + match[i], 16);
+ }
+ if (hexAlpha) {
+ rgb[3] = Number.parseInt(hexAlpha + hexAlpha, 16) / 255;
+ }
+ } else if (match = string.match(rgba)) {
+ for (i = 0; i < 3; i++) {
+ rgb[i] = Number.parseFloat(match[i + 1]);
+ }
+ if (match[4]) {
+ rgb[3] = match[5] ? Number.parseFloat(match[4]) * 0.01 : Number.parseFloat(match[4]);
+ }
+ } else if (match = string.match(per)) {
+ for (i = 0; i < 3; i++) {
+ rgb[i] = Math.round(Number.parseFloat(match[i + 1]) * 2.55);
+ }
+ if (match[4]) {
+ rgb[3] = match[5] ? Number.parseFloat(match[4]) * 0.01 : Number.parseFloat(match[4]);
+ }
+ } else if (match = string.toLowerCase().match(keyword)) {
+ if (match[1] === "transparent") {
+ return [0, 0, 0, 0];
+ }
+ if (!Object.hasOwn(color_name_default, match[1])) {
+ return null;
+ }
+ rgb = color_name_default[match[1]].slice();
+ rgb[3] = 1;
+ return rgb;
+ } else {
+ return null;
+ }
+ for (i = 0; i < 3; i++) {
+ rgb[i] = clamp(rgb[i], 0, 255);
+ }
+ rgb[3] = clamp(rgb[3], 0, 1);
+ return rgb;
+};
+cs.get.hsl = function(string) {
+ if (!string) {
+ return null;
+ }
+ const hsl = /^hsla?\(\s*([+-]?(?:\d{0,3}\.)?\d+)(?:deg)?\s*,?\s*([+-]?[\d.]+)%\s*,?\s*([+-]?[\d.]+)%\s*(?:[,|/]\s*([+-]?(?=\.\d|\d)(?:0|[1-9]\d*)?(?:\.\d*)?(?:e[+-]?\d+)?)\s*)?\)$/i;
+ const match = string.match(hsl);
+ if (match) {
+ const alpha = Number.parseFloat(match[4]);
+ const h = (Number.parseFloat(match[1]) % 360 + 360) % 360;
+ const s = clamp(Number.parseFloat(match[2]), 0, 100);
+ const l = clamp(Number.parseFloat(match[3]), 0, 100);
+ const a = clamp(Number.isNaN(alpha) ? 1 : alpha, 0, 1);
+ return [h, s, l, a];
+ }
+ return null;
+};
+cs.get.hwb = function(string) {
+ if (!string) {
+ return null;
+ }
+ const hwb = /^hwb\(\s*([+-]?\d{0,3}(?:\.\d+)?)(?:deg)?\s*[\s,]\s*([+-]?[\d.]+)%\s*[\s,]\s*([+-]?[\d.]+)%\s*(?:[\s,]\s*([+-]?(?=\.\d|\d)(?:0|[1-9]\d*)?(?:\.\d*)?(?:e[+-]?\d+)?)\s*)?\)$/i;
+ const match = string.match(hwb);
+ if (match) {
+ const alpha = Number.parseFloat(match[4]);
+ const h = (Number.parseFloat(match[1]) % 360 + 360) % 360;
+ const w = clamp(Number.parseFloat(match[2]), 0, 100);
+ const b = clamp(Number.parseFloat(match[3]), 0, 100);
+ const a = clamp(Number.isNaN(alpha) ? 1 : alpha, 0, 1);
+ return [h, w, b, a];
+ }
+ return null;
+};
+cs.to.hex = function(...rgba) {
+ return "#" + hexDouble(rgba[0]) + hexDouble(rgba[1]) + hexDouble(rgba[2]) + (rgba[3] < 1 ? hexDouble(Math.round(rgba[3] * 255)) : "");
+};
+cs.to.rgb = function(...rgba) {
+ return rgba.length < 4 || rgba[3] === 1 ? "rgb(" + Math.round(rgba[0]) + ", " + Math.round(rgba[1]) + ", " + Math.round(rgba[2]) + ")" : "rgba(" + Math.round(rgba[0]) + ", " + Math.round(rgba[1]) + ", " + Math.round(rgba[2]) + ", " + rgba[3] + ")";
+};
+cs.to.rgb.percent = function(...rgba) {
+ const r = Math.round(rgba[0] / 255 * 100);
+ const g = Math.round(rgba[1] / 255 * 100);
+ const b = Math.round(rgba[2] / 255 * 100);
+ return rgba.length < 4 || rgba[3] === 1 ? "rgb(" + r + "%, " + g + "%, " + b + "%)" : "rgba(" + r + "%, " + g + "%, " + b + "%, " + rgba[3] + ")";
+};
+cs.to.hsl = function(...hsla) {
+ return hsla.length < 4 || hsla[3] === 1 ? "hsl(" + hsla[0] + ", " + hsla[1] + "%, " + hsla[2] + "%)" : "hsla(" + hsla[0] + ", " + hsla[1] + "%, " + hsla[2] + "%, " + hsla[3] + ")";
+};
+cs.to.hwb = function(...hwba) {
+ let a = "";
+ if (hwba.length >= 4 && hwba[3] !== 1) {
+ a = ", " + hwba[3];
+ }
+ return "hwb(" + hwba[0] + ", " + hwba[1] + "%, " + hwba[2] + "%" + a + ")";
+};
+cs.to.keyword = function(...rgb) {
+ return reverseNames[rgb.slice(0, 3)];
+};
+function clamp(number_, min, max) {
+ return Math.min(Math.max(min, number_), max);
+}
+function hexDouble(number_) {
+ const string_ = Math.round(number_).toString(16).toUpperCase();
+ return string_.length < 2 ? "0" + string_ : string_;
+}
+var color_string_default = cs;
+
+// node_modules/color-convert/conversions.js
+var reverseKeywords = {};
+for (const key of Object.keys(color_name_default)) {
+ reverseKeywords[color_name_default[key]] = key;
+}
+var convert = {
+ rgb: { channels: 3, labels: "rgb" },
+ hsl: { channels: 3, labels: "hsl" },
+ hsv: { channels: 3, labels: "hsv" },
+ hwb: { channels: 3, labels: "hwb" },
+ cmyk: { channels: 4, labels: "cmyk" },
+ xyz: { channels: 3, labels: "xyz" },
+ lab: { channels: 3, labels: "lab" },
+ oklab: { channels: 3, labels: ["okl", "oka", "okb"] },
+ lch: { channels: 3, labels: "lch" },
+ oklch: { channels: 3, labels: ["okl", "okc", "okh"] },
+ hex: { channels: 1, labels: ["hex"] },
+ keyword: { channels: 1, labels: ["keyword"] },
+ ansi16: { channels: 1, labels: ["ansi16"] },
+ ansi256: { channels: 1, labels: ["ansi256"] },
+ hcg: { channels: 3, labels: ["h", "c", "g"] },
+ apple: { channels: 3, labels: ["r16", "g16", "b16"] },
+ gray: { channels: 1, labels: ["gray"] }
+};
+var conversions_default = convert;
+var LAB_FT = (6 / 29) ** 3;
+function srgbNonlinearTransform(c) {
+ const cc = c > 31308e-7 ? 1.055 * c ** (1 / 2.4) - 0.055 : c * 12.92;
+ return Math.min(Math.max(0, cc), 1);
+}
+function srgbNonlinearTransformInv(c) {
+ return c > 0.04045 ? ((c + 0.055) / 1.055) ** 2.4 : c / 12.92;
+}
+for (const model of Object.keys(convert)) {
+ if (!("channels" in convert[model])) {
+ throw new Error("missing channels property: " + model);
+ }
+ if (!("labels" in convert[model])) {
+ throw new Error("missing channel labels property: " + model);
+ }
+ if (convert[model].labels.length !== convert[model].channels) {
+ throw new Error("channel and label counts mismatch: " + model);
+ }
+ const { channels, labels } = convert[model];
+ delete convert[model].channels;
+ delete convert[model].labels;
+ Object.defineProperty(convert[model], "channels", { value: channels });
+ Object.defineProperty(convert[model], "labels", { value: labels });
+}
+convert.rgb.hsl = function(rgb) {
+ const r = rgb[0] / 255;
+ const g = rgb[1] / 255;
+ const b = rgb[2] / 255;
+ const min = Math.min(r, g, b);
+ const max = Math.max(r, g, b);
+ const delta = max - min;
+ let h;
+ let s;
+ switch (max) {
+ case min: {
+ h = 0;
+ break;
+ }
+ case r: {
+ h = (g - b) / delta;
+ break;
+ }
+ case g: {
+ h = 2 + (b - r) / delta;
+ break;
+ }
+ case b: {
+ h = 4 + (r - g) / delta;
+ break;
+ }
+ }
+ h = Math.min(h * 60, 360);
+ if (h < 0) {
+ h += 360;
+ }
+ const l = (min + max) / 2;
+ if (max === min) {
+ s = 0;
+ } else if (l <= 0.5) {
+ s = delta / (max + min);
+ } else {
+ s = delta / (2 - max - min);
+ }
+ return [h, s * 100, l * 100];
+};
+convert.rgb.hsv = function(rgb) {
+ let rdif;
+ let gdif;
+ let bdif;
+ let h;
+ let s;
+ const r = rgb[0] / 255;
+ const g = rgb[1] / 255;
+ const b = rgb[2] / 255;
+ const v = Math.max(r, g, b);
+ const diff = v - Math.min(r, g, b);
+ const diffc = function(c) {
+ return (v - c) / 6 / diff + 1 / 2;
+ };
+ if (diff === 0) {
+ h = 0;
+ s = 0;
+ } else {
+ s = diff / v;
+ rdif = diffc(r);
+ gdif = diffc(g);
+ bdif = diffc(b);
+ switch (v) {
+ case r: {
+ h = bdif - gdif;
+ break;
+ }
+ case g: {
+ h = 1 / 3 + rdif - bdif;
+ break;
+ }
+ case b: {
+ h = 2 / 3 + gdif - rdif;
+ break;
+ }
+ }
+ if (h < 0) {
+ h += 1;
+ } else if (h > 1) {
+ h -= 1;
+ }
+ }
+ return [
+ h * 360,
+ s * 100,
+ v * 100
+ ];
+};
+convert.rgb.hwb = function(rgb) {
+ const r = rgb[0];
+ const g = rgb[1];
+ let b = rgb[2];
+ const h = convert.rgb.hsl(rgb)[0];
+ const w = 1 / 255 * Math.min(r, Math.min(g, b));
+ b = 1 - 1 / 255 * Math.max(r, Math.max(g, b));
+ return [h, w * 100, b * 100];
+};
+convert.rgb.oklab = function(rgb) {
+ const r = srgbNonlinearTransformInv(rgb[0] / 255);
+ const g = srgbNonlinearTransformInv(rgb[1] / 255);
+ const b = srgbNonlinearTransformInv(rgb[2] / 255);
+ const lp = Math.cbrt(0.4122214708 * r + 0.5363325363 * g + 0.0514459929 * b);
+ const mp = Math.cbrt(0.2119034982 * r + 0.6806995451 * g + 0.1073969566 * b);
+ const sp = Math.cbrt(0.0883024619 * r + 0.2817188376 * g + 0.6299787005 * b);
+ const l = 0.2104542553 * lp + 0.793617785 * mp - 0.0040720468 * sp;
+ const aa = 1.9779984951 * lp - 2.428592205 * mp + 0.4505937099 * sp;
+ const bb = 0.0259040371 * lp + 0.7827717662 * mp - 0.808675766 * sp;
+ return [l * 100, aa * 100, bb * 100];
+};
+convert.rgb.cmyk = function(rgb) {
+ const r = rgb[0] / 255;
+ const g = rgb[1] / 255;
+ const b = rgb[2] / 255;
+ const k = Math.min(1 - r, 1 - g, 1 - b);
+ const c = (1 - r - k) / (1 - k) || 0;
+ const m = (1 - g - k) / (1 - k) || 0;
+ const y = (1 - b - k) / (1 - k) || 0;
+ return [c * 100, m * 100, y * 100, k * 100];
+};
+function comparativeDistance(x, y) {
+ return (x[0] - y[0]) ** 2 + (x[1] - y[1]) ** 2 + (x[2] - y[2]) ** 2;
+}
+convert.rgb.keyword = function(rgb) {
+ const reversed = reverseKeywords[rgb];
+ if (reversed) {
+ return reversed;
+ }
+ let currentClosestDistance = Number.POSITIVE_INFINITY;
+ let currentClosestKeyword;
+ for (const keyword of Object.keys(color_name_default)) {
+ const value = color_name_default[keyword];
+ const distance = comparativeDistance(rgb, value);
+ if (distance < currentClosestDistance) {
+ currentClosestDistance = distance;
+ currentClosestKeyword = keyword;
+ }
+ }
+ return currentClosestKeyword;
+};
+convert.keyword.rgb = function(keyword) {
+ return [...color_name_default[keyword]];
+};
+convert.rgb.xyz = function(rgb) {
+ const r = srgbNonlinearTransformInv(rgb[0] / 255);
+ const g = srgbNonlinearTransformInv(rgb[1] / 255);
+ const b = srgbNonlinearTransformInv(rgb[2] / 255);
+ const x = r * 0.4124564 + g * 0.3575761 + b * 0.1804375;
+ const y = r * 0.2126729 + g * 0.7151522 + b * 0.072175;
+ const z = r * 0.0193339 + g * 0.119192 + b * 0.9503041;
+ return [x * 100, y * 100, z * 100];
+};
+convert.rgb.lab = function(rgb) {
+ const xyz = convert.rgb.xyz(rgb);
+ let x = xyz[0];
+ let y = xyz[1];
+ let z = xyz[2];
+ x /= 95.047;
+ y /= 100;
+ z /= 108.883;
+ x = x > LAB_FT ? x ** (1 / 3) : 7.787 * x + 16 / 116;
+ y = y > LAB_FT ? y ** (1 / 3) : 7.787 * y + 16 / 116;
+ z = z > LAB_FT ? z ** (1 / 3) : 7.787 * z + 16 / 116;
+ const l = 116 * y - 16;
+ const a = 500 * (x - y);
+ const b = 200 * (y - z);
+ return [l, a, b];
+};
+convert.hsl.rgb = function(hsl) {
+ const h = hsl[0] / 360;
+ const s = hsl[1] / 100;
+ const l = hsl[2] / 100;
+ let t3;
+ let value;
+ if (s === 0) {
+ value = l * 255;
+ return [value, value, value];
+ }
+ const t2 = l < 0.5 ? l * (1 + s) : l + s - l * s;
+ const t1 = 2 * l - t2;
+ const rgb = [0, 0, 0];
+ for (let i = 0; i < 3; i++) {
+ t3 = h + 1 / 3 * -(i - 1);
+ if (t3 < 0) {
+ t3++;
+ }
+ if (t3 > 1) {
+ t3--;
+ }
+ if (6 * t3 < 1) {
+ value = t1 + (t2 - t1) * 6 * t3;
+ } else if (2 * t3 < 1) {
+ value = t2;
+ } else if (3 * t3 < 2) {
+ value = t1 + (t2 - t1) * (2 / 3 - t3) * 6;
+ } else {
+ value = t1;
+ }
+ rgb[i] = value * 255;
+ }
+ return rgb;
+};
+convert.hsl.hsv = function(hsl) {
+ const h = hsl[0];
+ let s = hsl[1] / 100;
+ let l = hsl[2] / 100;
+ let smin = s;
+ const lmin = Math.max(l, 0.01);
+ l *= 2;
+ s *= l <= 1 ? l : 2 - l;
+ smin *= lmin <= 1 ? lmin : 2 - lmin;
+ const v = (l + s) / 2;
+ const sv = l === 0 ? 2 * smin / (lmin + smin) : 2 * s / (l + s);
+ return [h, sv * 100, v * 100];
+};
+convert.hsv.rgb = function(hsv) {
+ const h = hsv[0] / 60;
+ const s = hsv[1] / 100;
+ let v = hsv[2] / 100;
+ const hi = Math.floor(h) % 6;
+ const f = h - Math.floor(h);
+ const p = 255 * v * (1 - s);
+ const q = 255 * v * (1 - s * f);
+ const t = 255 * v * (1 - s * (1 - f));
+ v *= 255;
+ switch (hi) {
+ case 0: {
+ return [v, t, p];
+ }
+ case 1: {
+ return [q, v, p];
+ }
+ case 2: {
+ return [p, v, t];
+ }
+ case 3: {
+ return [p, q, v];
+ }
+ case 4: {
+ return [t, p, v];
+ }
+ case 5: {
+ return [v, p, q];
+ }
+ }
+};
+convert.hsv.hsl = function(hsv) {
+ const h = hsv[0];
+ const s = hsv[1] / 100;
+ const v = hsv[2] / 100;
+ const vmin = Math.max(v, 0.01);
+ let sl;
+ let l;
+ l = (2 - s) * v;
+ const lmin = (2 - s) * vmin;
+ sl = s * vmin;
+ sl /= lmin <= 1 ? lmin : 2 - lmin;
+ sl = sl || 0;
+ l /= 2;
+ return [h, sl * 100, l * 100];
+};
+convert.hwb.rgb = function(hwb) {
+ const h = hwb[0] / 360;
+ let wh = hwb[1] / 100;
+ let bl = hwb[2] / 100;
+ const ratio = wh + bl;
+ let f;
+ if (ratio > 1) {
+ wh /= ratio;
+ bl /= ratio;
+ }
+ const i = Math.floor(6 * h);
+ const v = 1 - bl;
+ f = 6 * h - i;
+ if ((i & 1) !== 0) {
+ f = 1 - f;
+ }
+ const n = wh + f * (v - wh);
+ let r;
+ let g;
+ let b;
+ switch (i) {
+ default:
+ case 6:
+ case 0: {
+ r = v;
+ g = n;
+ b = wh;
+ break;
+ }
+ case 1: {
+ r = n;
+ g = v;
+ b = wh;
+ break;
+ }
+ case 2: {
+ r = wh;
+ g = v;
+ b = n;
+ break;
+ }
+ case 3: {
+ r = wh;
+ g = n;
+ b = v;
+ break;
+ }
+ case 4: {
+ r = n;
+ g = wh;
+ b = v;
+ break;
+ }
+ case 5: {
+ r = v;
+ g = wh;
+ b = n;
+ break;
+ }
+ }
+ return [r * 255, g * 255, b * 255];
+};
+convert.cmyk.rgb = function(cmyk) {
+ const c = cmyk[0] / 100;
+ const m = cmyk[1] / 100;
+ const y = cmyk[2] / 100;
+ const k = cmyk[3] / 100;
+ const r = 1 - Math.min(1, c * (1 - k) + k);
+ const g = 1 - Math.min(1, m * (1 - k) + k);
+ const b = 1 - Math.min(1, y * (1 - k) + k);
+ return [r * 255, g * 255, b * 255];
+};
+convert.xyz.rgb = function(xyz) {
+ const x = xyz[0] / 100;
+ const y = xyz[1] / 100;
+ const z = xyz[2] / 100;
+ let r;
+ let g;
+ let b;
+ r = x * 3.2404542 + y * -1.5371385 + z * -0.4985314;
+ g = x * -0.969266 + y * 1.8760108 + z * 0.041556;
+ b = x * 0.0556434 + y * -0.2040259 + z * 1.0572252;
+ r = srgbNonlinearTransform(r);
+ g = srgbNonlinearTransform(g);
+ b = srgbNonlinearTransform(b);
+ return [r * 255, g * 255, b * 255];
+};
+convert.xyz.lab = function(xyz) {
+ let x = xyz[0];
+ let y = xyz[1];
+ let z = xyz[2];
+ x /= 95.047;
+ y /= 100;
+ z /= 108.883;
+ x = x > LAB_FT ? x ** (1 / 3) : 7.787 * x + 16 / 116;
+ y = y > LAB_FT ? y ** (1 / 3) : 7.787 * y + 16 / 116;
+ z = z > LAB_FT ? z ** (1 / 3) : 7.787 * z + 16 / 116;
+ const l = 116 * y - 16;
+ const a = 500 * (x - y);
+ const b = 200 * (y - z);
+ return [l, a, b];
+};
+convert.xyz.oklab = function(xyz) {
+ const x = xyz[0] / 100;
+ const y = xyz[1] / 100;
+ const z = xyz[2] / 100;
+ const lp = Math.cbrt(0.8189330101 * x + 0.3618667424 * y - 0.1288597137 * z);
+ const mp = Math.cbrt(0.0329845436 * x + 0.9293118715 * y + 0.0361456387 * z);
+ const sp = Math.cbrt(0.0482003018 * x + 0.2643662691 * y + 0.633851707 * z);
+ const l = 0.2104542553 * lp + 0.793617785 * mp - 0.0040720468 * sp;
+ const a = 1.9779984951 * lp - 2.428592205 * mp + 0.4505937099 * sp;
+ const b = 0.0259040371 * lp + 0.7827717662 * mp - 0.808675766 * sp;
+ return [l * 100, a * 100, b * 100];
+};
+convert.oklab.oklch = function(oklab) {
+ return convert.lab.lch(oklab);
+};
+convert.oklab.xyz = function(oklab) {
+ const ll = oklab[0] / 100;
+ const a = oklab[1] / 100;
+ const b = oklab[2] / 100;
+ const l = (0.999999998 * ll + 0.396337792 * a + 0.215803758 * b) ** 3;
+ const m = (1.000000008 * ll - 0.105561342 * a - 0.063854175 * b) ** 3;
+ const s = (1.000000055 * ll - 0.089484182 * a - 1.291485538 * b) ** 3;
+ const x = 1.227013851 * l - 0.55779998 * m + 0.281256149 * s;
+ const y = -0.040580178 * l + 1.11225687 * m - 0.071676679 * s;
+ const z = -0.076381285 * l - 0.421481978 * m + 1.58616322 * s;
+ return [x * 100, y * 100, z * 100];
+};
+convert.oklab.rgb = function(oklab) {
+ const ll = oklab[0] / 100;
+ const aa = oklab[1] / 100;
+ const bb = oklab[2] / 100;
+ const l = (ll + 0.3963377774 * aa + 0.2158037573 * bb) ** 3;
+ const m = (ll - 0.1055613458 * aa - 0.0638541728 * bb) ** 3;
+ const s = (ll - 0.0894841775 * aa - 1.291485548 * bb) ** 3;
+ const r = srgbNonlinearTransform(4.0767416621 * l - 3.3077115913 * m + 0.2309699292 * s);
+ const g = srgbNonlinearTransform(-1.2684380046 * l + 2.6097574011 * m - 0.3413193965 * s);
+ const b = srgbNonlinearTransform(-0.0041960863 * l - 0.7034186147 * m + 1.707614701 * s);
+ return [r * 255, g * 255, b * 255];
+};
+convert.oklch.oklab = function(oklch) {
+ return convert.lch.lab(oklch);
+};
+convert.lab.xyz = function(lab) {
+ const l = lab[0];
+ const a = lab[1];
+ const b = lab[2];
+ let x;
+ let y;
+ let z;
+ y = (l + 16) / 116;
+ x = a / 500 + y;
+ z = y - b / 200;
+ const y2 = y ** 3;
+ const x2 = x ** 3;
+ const z2 = z ** 3;
+ y = y2 > LAB_FT ? y2 : (y - 16 / 116) / 7.787;
+ x = x2 > LAB_FT ? x2 : (x - 16 / 116) / 7.787;
+ z = z2 > LAB_FT ? z2 : (z - 16 / 116) / 7.787;
+ x *= 95.047;
+ y *= 100;
+ z *= 108.883;
+ return [x, y, z];
+};
+convert.lab.lch = function(lab) {
+ const l = lab[0];
+ const a = lab[1];
+ const b = lab[2];
+ let h;
+ const hr = Math.atan2(b, a);
+ h = hr * 360 / 2 / Math.PI;
+ if (h < 0) {
+ h += 360;
+ }
+ const c = Math.sqrt(a * a + b * b);
+ return [l, c, h];
+};
+convert.lch.lab = function(lch) {
+ const l = lch[0];
+ const c = lch[1];
+ const h = lch[2];
+ const hr = h / 360 * 2 * Math.PI;
+ const a = c * Math.cos(hr);
+ const b = c * Math.sin(hr);
+ return [l, a, b];
+};
+convert.rgb.ansi16 = function(args, saturation = null) {
+ const [r, g, b] = args;
+ let value = saturation === null ? convert.rgb.hsv(args)[2] : saturation;
+ value = Math.round(value / 50);
+ if (value === 0) {
+ return 30;
+ }
+ let ansi = 30 + (Math.round(b / 255) << 2 | Math.round(g / 255) << 1 | Math.round(r / 255));
+ if (value === 2) {
+ ansi += 60;
+ }
+ return ansi;
+};
+convert.hsv.ansi16 = function(args) {
+ return convert.rgb.ansi16(convert.hsv.rgb(args), args[2]);
+};
+convert.rgb.ansi256 = function(args) {
+ const r = args[0];
+ const g = args[1];
+ const b = args[2];
+ if (r >> 4 === g >> 4 && g >> 4 === b >> 4) {
+ if (r < 8) {
+ return 16;
+ }
+ if (r > 248) {
+ return 231;
+ }
+ return Math.round((r - 8) / 247 * 24) + 232;
+ }
+ const ansi = 16 + 36 * Math.round(r / 255 * 5) + 6 * Math.round(g / 255 * 5) + Math.round(b / 255 * 5);
+ return ansi;
+};
+convert.ansi16.rgb = function(args) {
+ args = args[0];
+ let color = args % 10;
+ if (color === 0 || color === 7) {
+ if (args > 50) {
+ color += 3.5;
+ }
+ color = color / 10.5 * 255;
+ return [color, color, color];
+ }
+ const mult = (Math.trunc(args > 50) + 1) * 0.5;
+ const r = (color & 1) * mult * 255;
+ const g = (color >> 1 & 1) * mult * 255;
+ const b = (color >> 2 & 1) * mult * 255;
+ return [r, g, b];
+};
+convert.ansi256.rgb = function(args) {
+ args = args[0];
+ if (args >= 232) {
+ const c = (args - 232) * 10 + 8;
+ return [c, c, c];
+ }
+ args -= 16;
+ let rem;
+ const r = Math.floor(args / 36) / 5 * 255;
+ const g = Math.floor((rem = args % 36) / 6) / 5 * 255;
+ const b = rem % 6 / 5 * 255;
+ return [r, g, b];
+};
+convert.rgb.hex = function(args) {
+ const integer = ((Math.round(args[0]) & 255) << 16) + ((Math.round(args[1]) & 255) << 8) + (Math.round(args[2]) & 255);
+ const string = integer.toString(16).toUpperCase();
+ return "000000".slice(string.length) + string;
+};
+convert.hex.rgb = function(args) {
+ const match = args.toString(16).match(/[a-f\d]{6}|[a-f\d]{3}/i);
+ if (!match) {
+ return [0, 0, 0];
+ }
+ let colorString = match[0];
+ if (match[0].length === 3) {
+ colorString = [...colorString].map((char) => char + char).join("");
+ }
+ const integer = Number.parseInt(colorString, 16);
+ const r = integer >> 16 & 255;
+ const g = integer >> 8 & 255;
+ const b = integer & 255;
+ return [r, g, b];
+};
+convert.rgb.hcg = function(rgb) {
+ const r = rgb[0] / 255;
+ const g = rgb[1] / 255;
+ const b = rgb[2] / 255;
+ const max = Math.max(Math.max(r, g), b);
+ const min = Math.min(Math.min(r, g), b);
+ const chroma = max - min;
+ let hue;
+ const grayscale = chroma < 1 ? min / (1 - chroma) : 0;
+ if (chroma <= 0) {
+ hue = 0;
+ } else if (max === r) {
+ hue = (g - b) / chroma % 6;
+ } else if (max === g) {
+ hue = 2 + (b - r) / chroma;
+ } else {
+ hue = 4 + (r - g) / chroma;
+ }
+ hue /= 6;
+ hue %= 1;
+ return [hue * 360, chroma * 100, grayscale * 100];
+};
+convert.hsl.hcg = function(hsl) {
+ const s = hsl[1] / 100;
+ const l = hsl[2] / 100;
+ const c = l < 0.5 ? 2 * s * l : 2 * s * (1 - l);
+ let f = 0;
+ if (c < 1) {
+ f = (l - 0.5 * c) / (1 - c);
+ }
+ return [hsl[0], c * 100, f * 100];
+};
+convert.hsv.hcg = function(hsv) {
+ const s = hsv[1] / 100;
+ const v = hsv[2] / 100;
+ const c = s * v;
+ let f = 0;
+ if (c < 1) {
+ f = (v - c) / (1 - c);
+ }
+ return [hsv[0], c * 100, f * 100];
+};
+convert.hcg.rgb = function(hcg) {
+ const h = hcg[0] / 360;
+ const c = hcg[1] / 100;
+ const g = hcg[2] / 100;
+ if (c === 0) {
+ return [g * 255, g * 255, g * 255];
+ }
+ const pure = [0, 0, 0];
+ const hi = h % 1 * 6;
+ const v = hi % 1;
+ const w = 1 - v;
+ let mg = 0;
+ switch (Math.floor(hi)) {
+ case 0: {
+ pure[0] = 1;
+ pure[1] = v;
+ pure[2] = 0;
+ break;
+ }
+ case 1: {
+ pure[0] = w;
+ pure[1] = 1;
+ pure[2] = 0;
+ break;
+ }
+ case 2: {
+ pure[0] = 0;
+ pure[1] = 1;
+ pure[2] = v;
+ break;
+ }
+ case 3: {
+ pure[0] = 0;
+ pure[1] = w;
+ pure[2] = 1;
+ break;
+ }
+ case 4: {
+ pure[0] = v;
+ pure[1] = 0;
+ pure[2] = 1;
+ break;
+ }
+ default: {
+ pure[0] = 1;
+ pure[1] = 0;
+ pure[2] = w;
+ }
+ }
+ mg = (1 - c) * g;
+ return [
+ (c * pure[0] + mg) * 255,
+ (c * pure[1] + mg) * 255,
+ (c * pure[2] + mg) * 255
+ ];
+};
+convert.hcg.hsv = function(hcg) {
+ const c = hcg[1] / 100;
+ const g = hcg[2] / 100;
+ const v = c + g * (1 - c);
+ let f = 0;
+ if (v > 0) {
+ f = c / v;
+ }
+ return [hcg[0], f * 100, v * 100];
+};
+convert.hcg.hsl = function(hcg) {
+ const c = hcg[1] / 100;
+ const g = hcg[2] / 100;
+ const l = g * (1 - c) + 0.5 * c;
+ let s = 0;
+ if (l > 0 && l < 0.5) {
+ s = c / (2 * l);
+ } else if (l >= 0.5 && l < 1) {
+ s = c / (2 * (1 - l));
+ }
+ return [hcg[0], s * 100, l * 100];
+};
+convert.hcg.hwb = function(hcg) {
+ const c = hcg[1] / 100;
+ const g = hcg[2] / 100;
+ const v = c + g * (1 - c);
+ return [hcg[0], (v - c) * 100, (1 - v) * 100];
+};
+convert.hwb.hcg = function(hwb) {
+ const w = hwb[1] / 100;
+ const b = hwb[2] / 100;
+ const v = 1 - b;
+ const c = v - w;
+ let g = 0;
+ if (c < 1) {
+ g = (v - c) / (1 - c);
+ }
+ return [hwb[0], c * 100, g * 100];
+};
+convert.apple.rgb = function(apple) {
+ return [apple[0] / 65535 * 255, apple[1] / 65535 * 255, apple[2] / 65535 * 255];
+};
+convert.rgb.apple = function(rgb) {
+ return [rgb[0] / 255 * 65535, rgb[1] / 255 * 65535, rgb[2] / 255 * 65535];
+};
+convert.gray.rgb = function(args) {
+ return [args[0] / 100 * 255, args[0] / 100 * 255, args[0] / 100 * 255];
+};
+convert.gray.hsl = function(args) {
+ return [0, 0, args[0]];
+};
+convert.gray.hsv = convert.gray.hsl;
+convert.gray.hwb = function(gray) {
+ return [0, 100, gray[0]];
+};
+convert.gray.cmyk = function(gray) {
+ return [0, 0, 0, gray[0]];
+};
+convert.gray.lab = function(gray) {
+ return [gray[0], 0, 0];
+};
+convert.gray.hex = function(gray) {
+ const value = Math.round(gray[0] / 100 * 255) & 255;
+ const integer = (value << 16) + (value << 8) + value;
+ const string = integer.toString(16).toUpperCase();
+ return "000000".slice(string.length) + string;
+};
+convert.rgb.gray = function(rgb) {
+ const value = (rgb[0] + rgb[1] + rgb[2]) / 3;
+ return [value / 255 * 100];
+};
+
+// node_modules/color-convert/route.js
+function buildGraph() {
+ const graph = {};
+ const models2 = Object.keys(conversions_default);
+ for (let { length } = models2, i = 0; i < length; i++) {
+ graph[models2[i]] = {
+ // http://jsperf.com/1-vs-infinity
+ // micro-opt, but this is simple.
+ distance: -1,
+ parent: null
+ };
+ }
+ return graph;
+}
+function deriveBFS(fromModel) {
+ const graph = buildGraph();
+ const queue = [fromModel];
+ graph[fromModel].distance = 0;
+ while (queue.length > 0) {
+ const current = queue.pop();
+ const adjacents = Object.keys(conversions_default[current]);
+ for (let { length } = adjacents, i = 0; i < length; i++) {
+ const adjacent = adjacents[i];
+ const node = graph[adjacent];
+ if (node.distance === -1) {
+ node.distance = graph[current].distance + 1;
+ node.parent = current;
+ queue.unshift(adjacent);
+ }
+ }
+ }
+ return graph;
+}
+function link(from, to) {
+ return function(args) {
+ return to(from(args));
+ };
+}
+function wrapConversion(toModel, graph) {
+ const path = [graph[toModel].parent, toModel];
+ let fn = conversions_default[graph[toModel].parent][toModel];
+ let cur = graph[toModel].parent;
+ while (graph[cur].parent) {
+ path.unshift(graph[cur].parent);
+ fn = link(conversions_default[graph[cur].parent][cur], fn);
+ cur = graph[cur].parent;
+ }
+ fn.conversion = path;
+ return fn;
+}
+function route(fromModel) {
+ const graph = deriveBFS(fromModel);
+ const conversion = {};
+ const models2 = Object.keys(graph);
+ for (let { length } = models2, i = 0; i < length; i++) {
+ const toModel = models2[i];
+ const node = graph[toModel];
+ if (node.parent === null) {
+ continue;
+ }
+ conversion[toModel] = wrapConversion(toModel, graph);
+ }
+ return conversion;
+}
+var route_default = route;
+
+// node_modules/color-convert/index.js
+var convert2 = {};
+var models = Object.keys(conversions_default);
+function wrapRaw(fn) {
+ const wrappedFn = function(...args) {
+ const arg0 = args[0];
+ if (arg0 === void 0 || arg0 === null) {
+ return arg0;
+ }
+ if (arg0.length > 1) {
+ args = arg0;
+ }
+ return fn(args);
+ };
+ if ("conversion" in fn) {
+ wrappedFn.conversion = fn.conversion;
+ }
+ return wrappedFn;
+}
+function wrapRounded(fn) {
+ const wrappedFn = function(...args) {
+ const arg0 = args[0];
+ if (arg0 === void 0 || arg0 === null) {
+ return arg0;
+ }
+ if (arg0.length > 1) {
+ args = arg0;
+ }
+ const result = fn(args);
+ if (typeof result === "object") {
+ for (let { length } = result, i = 0; i < length; i++) {
+ result[i] = Math.round(result[i]);
+ }
+ }
+ return result;
+ };
+ if ("conversion" in fn) {
+ wrappedFn.conversion = fn.conversion;
+ }
+ return wrappedFn;
+}
+for (const fromModel of models) {
+ convert2[fromModel] = {};
+ Object.defineProperty(convert2[fromModel], "channels", { value: conversions_default[fromModel].channels });
+ Object.defineProperty(convert2[fromModel], "labels", { value: conversions_default[fromModel].labels });
+ const routes = route_default(fromModel);
+ const routeModels = Object.keys(routes);
+ for (const toModel of routeModels) {
+ const fn = routes[toModel];
+ convert2[fromModel][toModel] = wrapRounded(fn);
+ convert2[fromModel][toModel].raw = wrapRaw(fn);
+ }
+}
+var color_convert_default = convert2;
+
+// node_modules/color/index.js
+var skippedModels = [
+ // To be honest, I don't really feel like keyword belongs in color convert, but eh.
+ "keyword",
+ // Gray conflicts with some method names, and has its own method defined.
+ "gray",
+ // Shouldn't really be in color-convert either...
+ "hex"
+];
+var hashedModelKeys = {};
+for (const model of Object.keys(color_convert_default)) {
+ hashedModelKeys[[...color_convert_default[model].labels].sort().join("")] = model;
+}
+var limiters = {};
+function Color(object, model) {
+ if (!(this instanceof Color)) {
+ return new Color(object, model);
+ }
+ if (model && model in skippedModels) {
+ model = null;
+ }
+ if (model && !(model in color_convert_default)) {
+ throw new Error("Unknown model: " + model);
+ }
+ let i;
+ let channels;
+ if (object == null) {
+ this.model = "rgb";
+ this.color = [0, 0, 0];
+ this.valpha = 1;
+ } else if (object instanceof Color) {
+ this.model = object.model;
+ this.color = [...object.color];
+ this.valpha = object.valpha;
+ } else if (typeof object === "string") {
+ const result = color_string_default.get(object);
+ if (result === null) {
+ throw new Error("Unable to parse color from string: " + object);
+ }
+ this.model = result.model;
+ channels = color_convert_default[this.model].channels;
+ this.color = result.value.slice(0, channels);
+ this.valpha = typeof result.value[channels] === "number" ? result.value[channels] : 1;
+ } else if (object.length > 0) {
+ this.model = model || "rgb";
+ channels = color_convert_default[this.model].channels;
+ const newArray = Array.prototype.slice.call(object, 0, channels);
+ this.color = zeroArray(newArray, channels);
+ this.valpha = typeof object[channels] === "number" ? object[channels] : 1;
+ } else if (typeof object === "number") {
+ this.model = "rgb";
+ this.color = [
+ object >> 16 & 255,
+ object >> 8 & 255,
+ object & 255
+ ];
+ this.valpha = 1;
+ } else {
+ this.valpha = 1;
+ const keys = Object.keys(object);
+ if ("alpha" in object) {
+ keys.splice(keys.indexOf("alpha"), 1);
+ this.valpha = typeof object.alpha === "number" ? object.alpha : 0;
+ }
+ const hashedKeys = keys.sort().join("");
+ if (!(hashedKeys in hashedModelKeys)) {
+ throw new Error("Unable to parse color from object: " + JSON.stringify(object));
+ }
+ this.model = hashedModelKeys[hashedKeys];
+ const { labels } = color_convert_default[this.model];
+ const color = [];
+ for (i = 0; i < labels.length; i++) {
+ color.push(object[labels[i]]);
+ }
+ this.color = zeroArray(color);
+ }
+ if (limiters[this.model]) {
+ channels = color_convert_default[this.model].channels;
+ for (i = 0; i < channels; i++) {
+ const limit = limiters[this.model][i];
+ if (limit) {
+ this.color[i] = limit(this.color[i]);
+ }
+ }
+ }
+ this.valpha = Math.max(0, Math.min(1, this.valpha));
+ if (Object.freeze) {
+ Object.freeze(this);
+ }
+}
+Color.prototype = {
+ toString() {
+ return this.string();
+ },
+ toJSON() {
+ return this[this.model]();
+ },
+ string(places) {
+ let self = this.model in color_string_default.to ? this : this.rgb();
+ self = self.round(typeof places === "number" ? places : 1);
+ const arguments_ = self.valpha === 1 ? self.color : [...self.color, this.valpha];
+ return color_string_default.to[self.model](...arguments_);
+ },
+ percentString(places) {
+ const self = this.rgb().round(typeof places === "number" ? places : 1);
+ const arguments_ = self.valpha === 1 ? self.color : [...self.color, this.valpha];
+ return color_string_default.to.rgb.percent(...arguments_);
+ },
+ array() {
+ return this.valpha === 1 ? [...this.color] : [...this.color, this.valpha];
+ },
+ object() {
+ const result = {};
+ const { channels } = color_convert_default[this.model];
+ const { labels } = color_convert_default[this.model];
+ for (let i = 0; i < channels; i++) {
+ result[labels[i]] = this.color[i];
+ }
+ if (this.valpha !== 1) {
+ result.alpha = this.valpha;
+ }
+ return result;
+ },
+ unitArray() {
+ const rgb = this.rgb().color;
+ rgb[0] /= 255;
+ rgb[1] /= 255;
+ rgb[2] /= 255;
+ if (this.valpha !== 1) {
+ rgb.push(this.valpha);
+ }
+ return rgb;
+ },
+ unitObject() {
+ const rgb = this.rgb().object();
+ rgb.r /= 255;
+ rgb.g /= 255;
+ rgb.b /= 255;
+ if (this.valpha !== 1) {
+ rgb.alpha = this.valpha;
+ }
+ return rgb;
+ },
+ round(places) {
+ places = Math.max(places || 0, 0);
+ return new Color([...this.color.map(roundToPlace(places)), this.valpha], this.model);
+ },
+ alpha(value) {
+ if (value !== void 0) {
+ return new Color([...this.color, Math.max(0, Math.min(1, value))], this.model);
+ }
+ return this.valpha;
+ },
+ // Rgb
+ red: getset("rgb", 0, maxfn(255)),
+ green: getset("rgb", 1, maxfn(255)),
+ blue: getset("rgb", 2, maxfn(255)),
+ hue: getset(["hsl", "hsv", "hsl", "hwb", "hcg"], 0, (value) => (value % 360 + 360) % 360),
+ saturationl: getset("hsl", 1, maxfn(100)),
+ lightness: getset("hsl", 2, maxfn(100)),
+ saturationv: getset("hsv", 1, maxfn(100)),
+ value: getset("hsv", 2, maxfn(100)),
+ chroma: getset("hcg", 1, maxfn(100)),
+ gray: getset("hcg", 2, maxfn(100)),
+ white: getset("hwb", 1, maxfn(100)),
+ wblack: getset("hwb", 2, maxfn(100)),
+ cyan: getset("cmyk", 0, maxfn(100)),
+ magenta: getset("cmyk", 1, maxfn(100)),
+ yellow: getset("cmyk", 2, maxfn(100)),
+ black: getset("cmyk", 3, maxfn(100)),
+ x: getset("xyz", 0, maxfn(95.047)),
+ y: getset("xyz", 1, maxfn(100)),
+ z: getset("xyz", 2, maxfn(108.833)),
+ l: getset("lab", 0, maxfn(100)),
+ a: getset("lab", 1),
+ b: getset("lab", 2),
+ keyword(value) {
+ if (value !== void 0) {
+ return new Color(value);
+ }
+ return color_convert_default[this.model].keyword(this.color);
+ },
+ hex(value) {
+ if (value !== void 0) {
+ return new Color(value);
+ }
+ return color_string_default.to.hex(...this.rgb().round().color);
+ },
+ hexa(value) {
+ if (value !== void 0) {
+ return new Color(value);
+ }
+ const rgbArray = this.rgb().round().color;
+ let alphaHex = Math.round(this.valpha * 255).toString(16).toUpperCase();
+ if (alphaHex.length === 1) {
+ alphaHex = "0" + alphaHex;
+ }
+ return color_string_default.to.hex(...rgbArray) + alphaHex;
+ },
+ rgbNumber() {
+ const rgb = this.rgb().color;
+ return (rgb[0] & 255) << 16 | (rgb[1] & 255) << 8 | rgb[2] & 255;
+ },
+ luminosity() {
+ const rgb = this.rgb().color;
+ const lum = [];
+ for (const [i, element] of rgb.entries()) {
+ const chan = element / 255;
+ lum[i] = chan <= 0.04045 ? chan / 12.92 : ((chan + 0.055) / 1.055) ** 2.4;
+ }
+ return 0.2126 * lum[0] + 0.7152 * lum[1] + 0.0722 * lum[2];
+ },
+ contrast(color2) {
+ const lum1 = this.luminosity();
+ const lum2 = color2.luminosity();
+ if (lum1 > lum2) {
+ return (lum1 + 0.05) / (lum2 + 0.05);
+ }
+ return (lum2 + 0.05) / (lum1 + 0.05);
+ },
+ level(color2) {
+ const contrastRatio = this.contrast(color2);
+ if (contrastRatio >= 7) {
+ return "AAA";
+ }
+ return contrastRatio >= 4.5 ? "AA" : "";
+ },
+ isDark() {
+ const rgb = this.rgb().color;
+ const yiq = (rgb[0] * 2126 + rgb[1] * 7152 + rgb[2] * 722) / 1e4;
+ return yiq < 128;
+ },
+ isLight() {
+ return !this.isDark();
+ },
+ negate() {
+ const rgb = this.rgb();
+ for (let i = 0; i < 3; i++) {
+ rgb.color[i] = 255 - rgb.color[i];
+ }
+ return rgb;
+ },
+ lighten(ratio) {
+ const hsl = this.hsl();
+ hsl.color[2] += hsl.color[2] * ratio;
+ return hsl;
+ },
+ darken(ratio) {
+ const hsl = this.hsl();
+ hsl.color[2] -= hsl.color[2] * ratio;
+ return hsl;
+ },
+ saturate(ratio) {
+ const hsl = this.hsl();
+ hsl.color[1] += hsl.color[1] * ratio;
+ return hsl;
+ },
+ desaturate(ratio) {
+ const hsl = this.hsl();
+ hsl.color[1] -= hsl.color[1] * ratio;
+ return hsl;
+ },
+ whiten(ratio) {
+ const hwb = this.hwb();
+ hwb.color[1] += hwb.color[1] * ratio;
+ return hwb;
+ },
+ blacken(ratio) {
+ const hwb = this.hwb();
+ hwb.color[2] += hwb.color[2] * ratio;
+ return hwb;
+ },
+ grayscale() {
+ const rgb = this.rgb().color;
+ const value = rgb[0] * 0.3 + rgb[1] * 0.59 + rgb[2] * 0.11;
+ return Color.rgb(value, value, value);
+ },
+ fade(ratio) {
+ return this.alpha(this.valpha - this.valpha * ratio);
+ },
+ opaquer(ratio) {
+ return this.alpha(this.valpha + this.valpha * ratio);
+ },
+ rotate(degrees) {
+ const hsl = this.hsl();
+ let hue = hsl.color[0];
+ hue = (hue + degrees) % 360;
+ hue = hue < 0 ? 360 + hue : hue;
+ hsl.color[0] = hue;
+ return hsl;
+ },
+ mix(mixinColor, weight) {
+ if (!mixinColor || !mixinColor.rgb) {
+ throw new Error('Argument to "mix" was not a Color instance, but rather an instance of ' + typeof mixinColor);
+ }
+ const color1 = mixinColor.rgb();
+ const color2 = this.rgb();
+ const p = weight === void 0 ? 0.5 : weight;
+ const w = 2 * p - 1;
+ const a = color1.alpha() - color2.alpha();
+ const w1 = ((w * a === -1 ? w : (w + a) / (1 + w * a)) + 1) / 2;
+ const w2 = 1 - w1;
+ return Color.rgb(
+ w1 * color1.red() + w2 * color2.red(),
+ w1 * color1.green() + w2 * color2.green(),
+ w1 * color1.blue() + w2 * color2.blue(),
+ color1.alpha() * p + color2.alpha() * (1 - p)
+ );
+ }
+};
+for (const model of Object.keys(color_convert_default)) {
+ if (skippedModels.includes(model)) {
+ continue;
+ }
+ const { channels } = color_convert_default[model];
+ Color.prototype[model] = function(...arguments_) {
+ if (this.model === model) {
+ return new Color(this);
+ }
+ if (arguments_.length > 0) {
+ return new Color(arguments_, model);
+ }
+ return new Color([...assertArray(color_convert_default[this.model][model].raw(this.color)), this.valpha], model);
+ };
+ Color[model] = function(...arguments_) {
+ let color = arguments_[0];
+ if (typeof color === "number") {
+ color = zeroArray(arguments_, channels);
+ }
+ return new Color(color, model);
+ };
+}
+function roundTo(number, places) {
+ return Number(number.toFixed(places));
+}
+function roundToPlace(places) {
+ return function(number) {
+ return roundTo(number, places);
+ };
+}
+function getset(model, channel, modifier) {
+ model = Array.isArray(model) ? model : [model];
+ for (const m of model) {
+ (limiters[m] ||= [])[channel] = modifier;
+ }
+ model = model[0];
+ return function(value) {
+ let result;
+ if (value !== void 0) {
+ if (modifier) {
+ value = modifier(value);
+ }
+ result = this[model]();
+ result.color[channel] = value;
+ return result;
+ }
+ result = this[model]().color[channel];
+ if (modifier) {
+ result = modifier(result);
+ }
+ return result;
+ };
+}
+function maxfn(max) {
+ return function(v) {
+ return Math.max(0, Math.min(max, v));
+ };
+}
+function assertArray(value) {
+ return Array.isArray(value) ? value : [value];
+}
+function zeroArray(array, length) {
+ for (let i = 0; i < length; i++) {
+ if (typeof array[i] !== "number") {
+ array[i] = 0;
+ }
+ }
+ return array;
+}
+var index_default = Color;
diff --git a/apps/api/.output/node_modules/@img/colour/index.cjs b/apps/api/.output/node_modules/@img/colour/index.cjs
new file mode 100644
index 0000000..25596b2
--- /dev/null
+++ b/apps/api/.output/node_modules/@img/colour/index.cjs
@@ -0,0 +1 @@
+module.exports = require("./color.cjs").default;
diff --git a/apps/api/.output/node_modules/@img/colour/index.d.ts b/apps/api/.output/node_modules/@img/colour/index.d.ts
new file mode 100644
index 0000000..ca2461f
--- /dev/null
+++ b/apps/api/.output/node_modules/@img/colour/index.d.ts
@@ -0,0 +1,929 @@
+// Generated by dts-bundle-generator v9.5.1
+
+type Channels = number;
+type RGB = [
+ r: number,
+ g: number,
+ b: number
+];
+type HSL = [
+ h: number,
+ s: number,
+ l: number
+];
+type HSV = [
+ h: number,
+ s: number,
+ v: number
+];
+type CMYK = [
+ c: number,
+ m: number,
+ y: number,
+ k: number
+];
+type LAB = [
+ l: number,
+ a: number,
+ b: number
+];
+type LCH = [
+ l: number,
+ c: number,
+ h: number
+];
+type HCG = [
+ h: number,
+ c: number,
+ g: number
+];
+type HWB = [
+ h: number,
+ w: number,
+ b: number
+];
+type XYZ = [
+ x: number,
+ y: number,
+ z: number
+];
+type Apple = [
+ r16: number,
+ g16: number,
+ b16: number
+];
+type Gray = [
+ gray: number
+];
+type ANSI16 = number;
+type ANSI256 = number;
+type Keyword = string;
+type HEX = string;
+declare namespace route {
+ type rgb = {
+ hsl(from: RGB): HSL;
+ hsl(...from: RGB): HSL;
+ hsl(from: RGB): HSL;
+ hsl(...from: RGB): HSL;
+ hsv(from: RGB): HSV;
+ hsv(...from: RGB): HSV;
+ hwb(from: RGB): HWB;
+ hwb(...from: RGB): HWB;
+ cmyk(from: RGB): CMYK;
+ cmyk(...from: RGB): CMYK;
+ xyz(from: RGB): XYZ;
+ xyz(...from: RGB): XYZ;
+ lab(from: RGB): LAB;
+ lab(...from: RGB): LAB;
+ lch(from: RGB): LCH;
+ lch(...from: RGB): LCH;
+ hex(from: RGB): HEX;
+ hex(...from: RGB): HEX;
+ keyword(from: RGB): Keyword;
+ keyword(...from: RGB): Keyword;
+ ansi16(from: RGB): ANSI16;
+ ansi16(...from: RGB): ANSI16;
+ ansi256(from: RGB): ANSI256;
+ ansi256(...from: RGB): ANSI256;
+ hcg(from: RGB): HCG;
+ hcg(...from: RGB): HCG;
+ apple(from: RGB): Apple;
+ apple(...from: RGB): Apple;
+ gray(from: RGB): Gray;
+ gray(...from: RGB): Gray;
+ };
+ type hsl = {
+ rgb(from: HSL): RGB;
+ rgb(...from: HSL): RGB;
+ hsv(from: HSL): HSV;
+ hsv(...from: HSL): HSV;
+ hwb(from: HSL): HWB;
+ hwb(...from: HSL): HWB;
+ cmyk(from: HSL): CMYK;
+ cmyk(...from: HSL): CMYK;
+ xyz(from: HSL): XYZ;
+ xyz(...from: HSL): XYZ;
+ lab(from: HSL): LAB;
+ lab(...from: HSL): LAB;
+ lch(from: HSL): LCH;
+ lch(...from: HSL): LCH;
+ hex(from: HSL): HEX;
+ hex(...from: HSL): HEX;
+ keyword(from: HSL): Keyword;
+ keyword(...from: HSL): Keyword;
+ ansi16(from: HSL): ANSI16;
+ ansi16(...from: HSL): ANSI16;
+ ansi256(from: HSL): ANSI256;
+ ansi256(...from: HSL): ANSI256;
+ hcg(from: HSL): HCG;
+ hcg(...from: HSL): HCG;
+ apple(from: HSL): Apple;
+ apple(...from: HSL): Apple;
+ gray(from: HSL): Gray;
+ gray(...from: HSL): Gray;
+ };
+ type hsv = {
+ rgb(from: HSV): RGB;
+ rgb(...from: HSV): RGB;
+ hsl(from: HSV): HSL;
+ hsl(...from: HSV): HSL;
+ hwb(from: HSV): HWB;
+ hwb(...from: HSV): HWB;
+ cmyk(from: HSV): CMYK;
+ cmyk(...from: HSV): CMYK;
+ xyz(from: HSV): XYZ;
+ xyz(...from: HSV): XYZ;
+ lab(from: HSV): LAB;
+ lab(...from: HSV): LAB;
+ lch(from: HSV): LCH;
+ lch(...from: HSV): LCH;
+ hex(from: HSV): HEX;
+ hex(...from: HSV): HEX;
+ keyword(from: HSV): Keyword;
+ keyword(...from: HSV): Keyword;
+ ansi16(from: HSV): ANSI16;
+ ansi16(...from: HSV): ANSI16;
+ ansi256(from: HSV): ANSI256;
+ ansi256(...from: HSV): ANSI256;
+ hcg(from: HSV): HCG;
+ hcg(...from: HSV): HCG;
+ apple(from: HSV): Apple;
+ apple(...from: HSV): Apple;
+ gray(from: HSV): Gray;
+ gray(...from: HSV): Gray;
+ };
+ type hwb = {
+ rgb(from: HWB): RGB;
+ rgb(...from: HWB): RGB;
+ hsl(from: HWB): HSL;
+ hsl(...from: HWB): HSL;
+ hsv(from: HWB): HSV;
+ hsv(...from: HWB): HSV;
+ cmyk(from: HWB): CMYK;
+ cmyk(...from: HWB): CMYK;
+ xyz(from: HWB): XYZ;
+ xyz(...from: HWB): XYZ;
+ lab(from: HWB): LAB;
+ lab(...from: HWB): LAB;
+ lch(from: HWB): LCH;
+ lch(...from: HWB): LCH;
+ hex(from: HWB): HEX;
+ hex(...from: HWB): HEX;
+ keyword(from: HWB): Keyword;
+ keyword(...from: HWB): Keyword;
+ ansi16(from: HWB): ANSI16;
+ ansi16(...from: HWB): ANSI16;
+ ansi256(from: HWB): ANSI256;
+ ansi256(...from: HWB): ANSI256;
+ hcg(from: HWB): HCG;
+ hcg(...from: HWB): HCG;
+ apple(from: HWB): Apple;
+ apple(...from: HWB): Apple;
+ gray(from: HWB): Gray;
+ gray(...from: HWB): Gray;
+ };
+ type cmyk = {
+ rgb(from: CMYK): RGB;
+ rgb(...from: CMYK): RGB;
+ hsl(from: CMYK): HSL;
+ hsl(...from: CMYK): HSL;
+ hsv(from: CMYK): HSV;
+ hsv(...from: CMYK): HSV;
+ hwb(from: CMYK): HWB;
+ hwb(...from: CMYK): HWB;
+ xyz(from: CMYK): XYZ;
+ xyz(...from: CMYK): XYZ;
+ lab(from: CMYK): LAB;
+ lab(...from: CMYK): LAB;
+ lch(from: CMYK): LCH;
+ lch(...from: CMYK): LCH;
+ hex(from: CMYK): HEX;
+ hex(...from: CMYK): HEX;
+ keyword(from: CMYK): Keyword;
+ keyword(...from: CMYK): Keyword;
+ ansi16(from: CMYK): ANSI16;
+ ansi16(...from: CMYK): ANSI16;
+ ansi256(from: CMYK): ANSI256;
+ ansi256(...from: CMYK): ANSI256;
+ hcg(from: CMYK): HCG;
+ hcg(...from: CMYK): HCG;
+ apple(from: CMYK): Apple;
+ apple(...from: CMYK): Apple;
+ gray(from: CMYK): Gray;
+ gray(...from: CMYK): Gray;
+ };
+ type xyz = {
+ rgb(from: XYZ): RGB;
+ rgb(...from: XYZ): RGB;
+ hsl(from: XYZ): HSL;
+ hsl(...from: XYZ): HSL;
+ hsv(from: XYZ): HSV;
+ hsv(...from: XYZ): HSV;
+ hwb(from: XYZ): HWB;
+ hwb(...from: XYZ): HWB;
+ cmyk(from: XYZ): CMYK;
+ cmyk(...from: XYZ): CMYK;
+ lab(from: XYZ): LAB;
+ lab(...from: XYZ): LAB;
+ lch(from: XYZ): LCH;
+ lch(...from: XYZ): LCH;
+ hex(from: XYZ): HEX;
+ hex(...from: XYZ): HEX;
+ keyword(from: XYZ): Keyword;
+ keyword(...from: XYZ): Keyword;
+ ansi16(from: XYZ): ANSI16;
+ ansi16(...from: XYZ): ANSI16;
+ ansi256(from: XYZ): ANSI256;
+ ansi256(...from: XYZ): ANSI256;
+ hcg(from: XYZ): HCG;
+ hcg(...from: XYZ): HCG;
+ apple(from: XYZ): Apple;
+ apple(...from: XYZ): Apple;
+ gray(from: XYZ): Gray;
+ gray(...from: XYZ): Gray;
+ };
+ type lab = {
+ rgb(from: LAB): RGB;
+ rgb(...from: LAB): RGB;
+ hsl(from: LAB): HSL;
+ hsl(...from: LAB): HSL;
+ hsv(from: LAB): HSV;
+ hsv(...from: LAB): HSV;
+ hwb(from: LAB): HWB;
+ hwb(...from: LAB): HWB;
+ cmyk(from: LAB): CMYK;
+ cmyk(...from: LAB): CMYK;
+ xyz(from: LAB): XYZ;
+ xyz(...from: LAB): XYZ;
+ lch(from: LAB): LCH;
+ lch(...from: LAB): LCH;
+ hex(from: LAB): HEX;
+ hex(...from: LAB): HEX;
+ keyword(from: LAB): Keyword;
+ keyword(...from: LAB): Keyword;
+ ansi16(from: LAB): ANSI16;
+ ansi16(...from: LAB): ANSI16;
+ ansi256(from: LAB): ANSI256;
+ ansi256(...from: LAB): ANSI256;
+ hcg(from: LAB): HCG;
+ hcg(...from: LAB): HCG;
+ apple(from: LAB): Apple;
+ apple(...from: LAB): Apple;
+ gray(from: LAB): Gray;
+ gray(...from: LAB): Gray;
+ };
+ type lch = {
+ rgb(from: LCH): RGB;
+ rgb(...from: LCH): RGB;
+ hsl(from: LCH): HSL;
+ hsl(...from: LCH): HSL;
+ hsv(from: LCH): HSV;
+ hsv(...from: LCH): HSV;
+ hwb(from: LCH): HWB;
+ hwb(...from: LCH): HWB;
+ cmyk(from: LCH): CMYK;
+ cmyk(...from: LCH): CMYK;
+ xyz(from: LCH): XYZ;
+ xyz(...from: LCH): XYZ;
+ lab(from: LCH): LAB;
+ lab(...from: LCH): LAB;
+ hex(from: LCH): HEX;
+ hex(...from: LCH): HEX;
+ keyword(from: LCH): Keyword;
+ keyword(...from: LCH): Keyword;
+ ansi16(from: LCH): ANSI16;
+ ansi16(...from: LCH): ANSI16;
+ ansi256(from: LCH): ANSI256;
+ ansi256(...from: LCH): ANSI256;
+ hcg(from: LCH): HCG;
+ hcg(...from: LCH): HCG;
+ apple(from: LCH): Apple;
+ apple(...from: LCH): Apple;
+ gray(from: LCH): Gray;
+ gray(...from: LCH): Gray;
+ };
+ type hex = {
+ rgb(from: HEX): RGB;
+ hsl(from: HEX): HSL;
+ hsv(from: HEX): HSV;
+ hwb(from: HEX): HWB;
+ cmyk(from: HEX): CMYK;
+ xyz(from: HEX): XYZ;
+ lab(from: HEX): LAB;
+ lch(from: HEX): LCH;
+ keyword(from: HEX): Keyword;
+ ansi16(from: HEX): ANSI16;
+ ansi256(from: HEX): ANSI256;
+ hcg(from: HEX): HCG;
+ apple(from: HEX): Apple;
+ gray(from: HEX): Gray;
+ };
+ type keyword = {
+ rgb(from: Keyword): RGB;
+ hsl(from: Keyword): HSL;
+ hsv(from: Keyword): HSV;
+ hwb(from: Keyword): HWB;
+ cmyk(from: Keyword): CMYK;
+ xyz(from: Keyword): XYZ;
+ lab(from: Keyword): LAB;
+ lch(from: Keyword): LCH;
+ hex(from: Keyword): HEX;
+ ansi16(from: Keyword): ANSI16;
+ ansi256(from: Keyword): ANSI256;
+ hcg(from: Keyword): HCG;
+ apple(from: Keyword): Apple;
+ gray(from: Keyword): Gray;
+ };
+ type ansi16 = {
+ rgb(from: ANSI16): RGB;
+ hsl(from: ANSI16): HSL;
+ hsv(from: ANSI16): HSV;
+ hwb(from: ANSI16): HWB;
+ cmyk(from: ANSI16): CMYK;
+ xyz(from: ANSI16): XYZ;
+ lab(from: ANSI16): LAB;
+ lch(from: ANSI16): LCH;
+ hex(from: ANSI16): HEX;
+ keyword(from: ANSI16): Keyword;
+ ansi256(from: ANSI16): ANSI256;
+ hcg(from: ANSI16): HCG;
+ apple(from: ANSI16): Apple;
+ gray(from: ANSI16): Gray;
+ };
+ type ansi256 = {
+ rgb(from: ANSI256): RGB;
+ hsl(from: ANSI256): HSL;
+ hsv(from: ANSI256): HSV;
+ hwb(from: ANSI256): HWB;
+ cmyk(from: ANSI256): CMYK;
+ xyz(from: ANSI256): XYZ;
+ lab(from: ANSI256): LAB;
+ lch(from: ANSI256): LCH;
+ hex(from: ANSI256): HEX;
+ keyword(from: ANSI256): Keyword;
+ ansi16(from: ANSI256): ANSI16;
+ hcg(from: ANSI256): HCG;
+ apple(from: ANSI256): Apple;
+ gray(from: ANSI256): Gray;
+ };
+ type hcg = {
+ rgb(from: HCG): RGB;
+ rgb(...from: HCG): RGB;
+ hsl(from: HCG): HSL;
+ hsl(...from: HCG): HSL;
+ hsv(from: HCG): HSV;
+ hsv(...from: HCG): HSV;
+ hwb(from: HCG): HWB;
+ hwb(...from: HCG): HWB;
+ cmyk(from: HCG): CMYK;
+ cmyk(...from: HCG): CMYK;
+ xyz(from: HCG): XYZ;
+ xyz(...from: HCG): XYZ;
+ lab(from: HCG): LAB;
+ lab(...from: HCG): LAB;
+ lch(from: HCG): LCH;
+ lch(...from: HCG): LCH;
+ hex(from: HCG): HEX;
+ hex(...from: HCG): HEX;
+ keyword(from: HCG): Keyword;
+ keyword(...from: HCG): Keyword;
+ ansi16(from: HCG): ANSI16;
+ ansi16(...from: HCG): ANSI16;
+ ansi256(from: HCG): ANSI256;
+ ansi256(...from: HCG): ANSI256;
+ apple(from: HCG): Apple;
+ apple(...from: HCG): Apple;
+ gray(from: HCG): Gray;
+ gray(...from: HCG): Gray;
+ };
+ type apple = {
+ rgb(from: Apple): RGB;
+ rgb(...from: Apple): RGB;
+ hsl(from: Apple): HSL;
+ hsl(...from: Apple): HSL;
+ hsv(from: Apple): HSV;
+ hsv(...from: Apple): HSV;
+ hwb(from: Apple): HWB;
+ hwb(...from: Apple): HWB;
+ cmyk(from: Apple): CMYK;
+ cmyk(...from: Apple): CMYK;
+ xyz(from: Apple): XYZ;
+ xyz(...from: Apple): XYZ;
+ lab(from: Apple): LAB;
+ lab(...from: Apple): LAB;
+ lch(from: Apple): LCH;
+ lch(...from: Apple): LCH;
+ hex(from: Apple): HEX;
+ hex(...from: Apple): HEX;
+ keyword(from: Apple): Keyword;
+ keyword(...from: Apple): Keyword;
+ ansi16(from: Apple): ANSI16;
+ ansi16(...from: Apple): ANSI16;
+ ansi256(from: Apple): ANSI256;
+ ansi256(...from: Apple): ANSI256;
+ hcg(from: Apple): HCG;
+ hcg(...from: Apple): HCG;
+ gray(from: Apple): Gray;
+ gray(...from: Apple): Gray;
+ };
+ type gray = {
+ rgb(from: Gray): RGB;
+ rgb(...from: Gray): RGB;
+ hsl(from: Gray): HSL;
+ hsl(...from: Gray): HSL;
+ hsv(from: Gray): HSV;
+ hsv(...from: Gray): HSV;
+ hwb(from: Gray): HWB;
+ hwb(...from: Gray): HWB;
+ cmyk(from: Gray): CMYK;
+ cmyk(...from: Gray): CMYK;
+ xyz(from: Gray): XYZ;
+ xyz(...from: Gray): XYZ;
+ lab(from: Gray): LAB;
+ lab(...from: Gray): LAB;
+ lch(from: Gray): LCH;
+ lch(...from: Gray): LCH;
+ hex(from: Gray): HEX;
+ hex(...from: Gray): HEX;
+ keyword(from: Gray): Keyword;
+ keyword(...from: Gray): Keyword;
+ ansi16(from: Gray): ANSI16;
+ ansi16(...from: Gray): ANSI16;
+ ansi256(from: Gray): ANSI256;
+ ansi256(...from: Gray): ANSI256;
+ hcg(from: Gray): HCG;
+ hcg(...from: Gray): HCG;
+ apple(from: Gray): Apple;
+ apple(...from: Gray): Apple;
+ };
+}
+declare function route(fromModel: "rgb"): route.rgb;
+declare function route(fromModel: "hsl"): route.hsl;
+declare function route(fromModel: "hsv"): route.hsv;
+declare function route(fromModel: "hwb"): route.hwb;
+declare function route(fromModel: "cmyk"): route.cmyk;
+declare function route(fromModel: "xyz"): route.xyz;
+declare function route(fromModel: "lab"): route.lab;
+declare function route(fromModel: "lch"): route.lch;
+declare function route(fromModel: "hex"): route.hex;
+declare function route(fromModel: "keyword"): route.keyword;
+declare function route(fromModel: "ansi16"): route.ansi16;
+declare function route(fromModel: "ansi256"): route.ansi256;
+declare function route(fromModel: "hcg"): route.hcg;
+declare function route(fromModel: "apple"): route.apple;
+declare function route(fromModel: "gray"): route.gray;
+type Convert = {
+ rgb: {
+ channels: Channels;
+ labels: "rgb";
+ hsl: {
+ (...rgb: RGB): HSL;
+ raw: (...rgb: RGB) => HSL;
+ };
+ hsv: {
+ (...rgb: RGB): HSV;
+ raw: (...rgb: RGB) => HSV;
+ };
+ hwb: {
+ (...rgb: RGB): HWB;
+ raw: (...rgb: RGB) => HWB;
+ };
+ hcg: {
+ (...rgb: RGB): HCG;
+ raw: (...rgb: RGB) => HCG;
+ };
+ cmyk: {
+ (...rgb: RGB): CMYK;
+ raw: (...rgb: RGB) => CMYK;
+ };
+ keyword: {
+ (...rgb: RGB): Keyword;
+ raw: (...rgb: RGB) => Keyword;
+ };
+ ansi16: {
+ (...rgb: RGB): ANSI16;
+ raw: (...rgb: RGB) => ANSI16;
+ };
+ ansi256: {
+ (...rgb: RGB): ANSI256;
+ raw: (...rgb: RGB) => ANSI256;
+ };
+ apple: {
+ (...rgb: RGB): Apple;
+ raw: (...rgb: RGB) => Apple;
+ };
+ hex: {
+ (...rgb: RGB): HEX;
+ raw: (...rgb: RGB) => HEX;
+ };
+ gray: {
+ (...rgb: RGB): Gray;
+ raw: (...rgb: RGB) => Gray;
+ };
+ } & route.rgb & {
+ [F in keyof route.rgb]: {
+ raw: route.rgb[F];
+ };
+ };
+ keyword: {
+ channels: Channels;
+ rgb: {
+ (keyword: Keyword): RGB;
+ raw: (keyword: Keyword) => RGB;
+ };
+ } & route.keyword & {
+ [F in keyof route.keyword]: {
+ raw: route.keyword[F];
+ };
+ };
+ hsl: {
+ channels: Channels;
+ labels: "hsl";
+ rgb: {
+ (...hsl: HSL): RGB;
+ raw: (...hsl: HSL) => RGB;
+ };
+ hsv: {
+ (...hsl: HSL): HSV;
+ raw: (...hsl: HSL) => HSV;
+ };
+ hcg: {
+ (...hsl: HSL): HCG;
+ raw: (...hsl: HSL) => HCG;
+ };
+ } & route.hsl & {
+ [F in keyof route.hsl]: {
+ raw: route.hsl[F];
+ };
+ };
+ hsv: {
+ channels: Channels;
+ labels: "hsv";
+ hcg: {
+ (...hsv: HSV): HCG;
+ raw: (...hsv: HSV) => HCG;
+ };
+ rgb: {
+ (...hsv: HSV): RGB;
+ raw: (...hsv: HSV) => RGB;
+ };
+ hsv: {
+ (...hsv: HSV): HSV;
+ raw: (...hsv: HSV) => HSV;
+ };
+ hsl: {
+ (...hsv: HSV): HSL;
+ raw: (...hsv: HSV) => HSL;
+ };
+ hwb: {
+ (...hsv: HSV): HWB;
+ raw: (...hsv: HSV) => HWB;
+ };
+ ansi16: {
+ (...hsv: HSV): ANSI16;
+ raw: (...hsv: HSV) => ANSI16;
+ };
+ } & route.hsv & {
+ [F in keyof route.hsv]: {
+ raw: route.hsv[F];
+ };
+ };
+ hwb: {
+ channels: Channels;
+ labels: "hwb";
+ hcg: {
+ (...hwb: HWB): HCG;
+ raw: (...hwb: HWB) => HCG;
+ };
+ rgb: {
+ (...hwb: HWB): RGB;
+ raw: (...hwb: HWB) => RGB;
+ };
+ } & route.hwb & {
+ [F in keyof route.hwb]: {
+ raw: route.hwb[F];
+ };
+ };
+ cmyk: {
+ channels: Channels;
+ labels: "cmyk";
+ rgb: {
+ (...cmyk: CMYK): RGB;
+ raw: (...cmyk: CMYK) => RGB;
+ };
+ } & route.cmyk & {
+ [F in keyof route.cmyk]: {
+ raw: route.cmyk[F];
+ };
+ };
+ xyz: {
+ channels: Channels;
+ labels: "xyz";
+ rgb: {
+ (...xyz: XYZ): RGB;
+ raw: (...xyz: XYZ) => RGB;
+ };
+ lab: {
+ (...xyz: XYZ): LAB;
+ raw: (...xyz: XYZ) => LAB;
+ };
+ } & route.xyz & {
+ [F in keyof route.xyz]: {
+ raw: route.xyz[F];
+ };
+ };
+ lab: {
+ channels: Channels;
+ labels: "lab";
+ xyz: {
+ (...lab: LAB): XYZ;
+ raw: (...lab: LAB) => XYZ;
+ };
+ lch: {
+ (...lab: LAB): LCH;
+ raw: (...lab: LAB) => LCH;
+ };
+ } & route.lab & {
+ [F in keyof route.lab]: {
+ raw: route.lab[F];
+ };
+ };
+ lch: {
+ channels: Channels;
+ labels: "lch";
+ lab: {
+ (...lch: LCH): LAB;
+ raw: (...lch: LCH) => LAB;
+ };
+ } & route.lch & {
+ [F in keyof route.lch]: {
+ raw: route.lch[F];
+ };
+ };
+ hex: {
+ channels: Channels;
+ labels: [
+ "hex"
+ ];
+ rgb: {
+ (hex: HEX): RGB;
+ raw: (hex: HEX) => RGB;
+ };
+ } & route.hex & {
+ [F in keyof route.hex]: {
+ raw: route.hex[F];
+ };
+ };
+ ansi16: {
+ channels: Channels;
+ labels: [
+ "ansi16"
+ ];
+ rgb: {
+ (ansi16: ANSI16): RGB;
+ raw: (ansi16: ANSI16) => RGB;
+ };
+ } & route.ansi16 & {
+ [F in keyof route.ansi16]: {
+ raw: route.ansi16[F];
+ };
+ };
+ ansi256: {
+ channels: Channels;
+ labels: [
+ "ansi256"
+ ];
+ rgb: {
+ (ansi256: ANSI256): RGB;
+ raw: (ansi256: ANSI256) => RGB;
+ };
+ } & route.ansi256 & {
+ [F in keyof route.ansi256]: {
+ raw: route.ansi256[F];
+ };
+ };
+ hcg: {
+ channels: Channels;
+ labels: [
+ "h",
+ "c",
+ "g"
+ ];
+ rgb: {
+ (...hcg: HCG): RGB;
+ raw: (...hcg: HCG) => RGB;
+ };
+ hsv: {
+ (...hcg: HCG): HSV;
+ raw: (...hcg: HCG) => HSV;
+ };
+ hwb: {
+ (...hcg: HCG): HWB;
+ raw: (...hcg: HCG) => HWB;
+ };
+ } & route.hcg & {
+ [F in keyof route.hcg]: {
+ raw: route.hcg[F];
+ };
+ };
+ apple: {
+ channels: Channels;
+ labels: [
+ "r16",
+ "g16",
+ "b16"
+ ];
+ rgb: {
+ (...apple: Apple): RGB;
+ raw: (...apple: Apple) => RGB;
+ };
+ } & route.apple & {
+ [F in keyof route.apple]: {
+ raw: route.apple[F];
+ };
+ };
+ gray: {
+ channels: Channels;
+ labels: [
+ "gray"
+ ];
+ rgb: {
+ (...gray: Gray): RGB;
+ raw: (...gray: Gray) => RGB;
+ };
+ hsl: {
+ (...gray: Gray): HSL;
+ raw: (...gray: Gray) => HSL;
+ };
+ hsv: {
+ (...gray: Gray): HSV;
+ raw: (...gray: Gray) => HSV;
+ };
+ hwb: {
+ (...gray: Gray): HWB;
+ raw: (...gray: Gray) => HWB;
+ };
+ cmyk: {
+ (...gray: Gray): CMYK;
+ raw: (...gray: Gray) => CMYK;
+ };
+ lab: {
+ (...gray: Gray): LAB;
+ raw: (...gray: Gray) => LAB;
+ };
+ hex: {
+ (...gray: Gray): HEX;
+ raw: (...gray: Gray) => HEX;
+ };
+ } & route.gray & {
+ [F in keyof route.gray]: {
+ raw: route.gray[F];
+ };
+ };
+};
+declare const convert: Convert;
+export type ColorLike = ColorInstance | string | ArrayLike | number | Record;
+export type ColorJson = {
+ model: string;
+ color: number[];
+ valpha: number;
+};
+export type ColorObject = {
+ alpha?: number | undefined;
+} & Record;
+// eslint-disable-next-line @typescript-eslint/consistent-type-definitions
+export interface ColorInstance {
+ toString(): string;
+ // eslint-disable-next-line @typescript-eslint/naming-convention
+ toJSON(): ColorJson;
+ string(places?: number): string;
+ percentString(places?: number): string;
+ array(): number[];
+ object(): ColorObject;
+ unitArray(): number[];
+ unitObject(): {
+ r: number;
+ g: number;
+ b: number;
+ alpha?: number | undefined;
+ };
+ round(places?: number): ColorInstance;
+ alpha(): number;
+ alpha(value: number): ColorInstance;
+ red(): number;
+ red(value: number): ColorInstance;
+ green(): number;
+ green(value: number): ColorInstance;
+ blue(): number;
+ blue(value: number): ColorInstance;
+ hue(): number;
+ hue(value: number): ColorInstance;
+ saturationl(): number;
+ saturationl(value: number): ColorInstance;
+ lightness(): number;
+ lightness(value: number): ColorInstance;
+ saturationv(): number;
+ saturationv(value: number): ColorInstance;
+ value(): number;
+ value(value: number): ColorInstance;
+ chroma(): number;
+ chroma(value: number): ColorInstance;
+ gray(): number;
+ gray(value: number): ColorInstance;
+ white(): number;
+ white(value: number): ColorInstance;
+ wblack(): number;
+ wblack(value: number): ColorInstance;
+ cyan(): number;
+ cyan(value: number): ColorInstance;
+ magenta(): number;
+ magenta(value: number): ColorInstance;
+ yellow(): number;
+ yellow(value: number): ColorInstance;
+ black(): number;
+ black(value: number): ColorInstance;
+ x(): number;
+ x(value: number): ColorInstance;
+ y(): number;
+ y(value: number): ColorInstance;
+ z(): number;
+ z(value: number): ColorInstance;
+ l(): number;
+ l(value: number): ColorInstance;
+ a(): number;
+ a(value: number): ColorInstance;
+ b(): number;
+ b(value: number): ColorInstance;
+ keyword(): string;
+ keyword(value: V): ColorInstance;
+ hex(): string;
+ hex(value: V): ColorInstance;
+ hexa(): string;
+ hexa(value: V): ColorInstance;
+ rgbNumber(): number;
+ luminosity(): number;
+ contrast(color2: ColorInstance): number;
+ level(color2: ColorInstance): "AAA" | "AA" | "";
+ isDark(): boolean;
+ isLight(): boolean;
+ negate(): ColorInstance;
+ lighten(ratio: number): ColorInstance;
+ darken(ratio: number): ColorInstance;
+ saturate(ratio: number): ColorInstance;
+ desaturate(ratio: number): ColorInstance;
+ whiten(ratio: number): ColorInstance;
+ blacken(ratio: number): ColorInstance;
+ grayscale(): ColorInstance;
+ fade(ratio: number): ColorInstance;
+ opaquer(ratio: number): ColorInstance;
+ rotate(degrees: number): ColorInstance;
+ mix(mixinColor: ColorInstance, weight?: number): ColorInstance;
+ rgb(...arguments_: number[]): ColorInstance;
+ hsl(...arguments_: number[]): ColorInstance;
+ hsv(...arguments_: number[]): ColorInstance;
+ hwb(...arguments_: number[]): ColorInstance;
+ cmyk(...arguments_: number[]): ColorInstance;
+ xyz(...arguments_: number[]): ColorInstance;
+ lab(...arguments_: number[]): ColorInstance;
+ lch(...arguments_: number[]): ColorInstance;
+ ansi16(...arguments_: number[]): ColorInstance;
+ ansi256(...arguments_: number[]): ColorInstance;
+ hcg(...arguments_: number[]): ColorInstance;
+ apple(...arguments_: number[]): ColorInstance;
+}
+export type ColorConstructor = {
+ (object?: ColorLike, model?: keyof (typeof convert)): ColorInstance;
+ new (object?: ColorLike, model?: keyof (typeof convert)): ColorInstance;
+ rgb(...value: number[]): ColorInstance;
+ rgb(color: ColorLike): ColorInstance;
+ hsl(...value: number[]): ColorInstance;
+ hsl(color: ColorLike): ColorInstance;
+ hsv(...value: number[]): ColorInstance;
+ hsv(color: ColorLike): ColorInstance;
+ hwb(...value: number[]): ColorInstance;
+ hwb(color: ColorLike): ColorInstance;
+ cmyk(...value: number[]): ColorInstance;
+ cmyk(color: ColorLike): ColorInstance;
+ xyz(...value: number[]): ColorInstance;
+ xyz(color: ColorLike): ColorInstance;
+ lab(...value: number[]): ColorInstance;
+ lab(color: ColorLike): ColorInstance;
+ lch(...value: number[]): ColorInstance;
+ lch(color: ColorLike): ColorInstance;
+ ansi16(...value: number[]): ColorInstance;
+ ansi16(color: ColorLike): ColorInstance;
+ ansi256(...value: number[]): ColorInstance;
+ ansi256(color: ColorLike): ColorInstance;
+ hcg(...value: number[]): ColorInstance;
+ hcg(color: ColorLike): ColorInstance;
+ apple(...value: number[]): ColorInstance;
+ apple(color: ColorLike): ColorInstance;
+};
+// eslint-disable-next-line @typescript-eslint/naming-convention
+declare const Color: ColorConstructor;
+
+export {
+ Color as default,
+};
+
+export {};
diff --git a/apps/api/.output/node_modules/@img/colour/package.json b/apps/api/.output/node_modules/@img/colour/package.json
new file mode 100644
index 0000000..38887d1
--- /dev/null
+++ b/apps/api/.output/node_modules/@img/colour/package.json
@@ -0,0 +1,58 @@
+{
+ "name": "@img/colour",
+ "version": "1.1.0",
+ "description": "The ESM-only 'color' package made compatible for use with CommonJS runtimes",
+ "license": "MIT",
+ "main": "index.cjs",
+ "types": "index.d.ts",
+ "exports": {
+ ".": {
+ "types": "./index.d.ts",
+ "require": "./index.cjs",
+ "default": "./index.cjs"
+ },
+ "./package.json": "./package.json"
+ },
+ "authors": [
+ "Heather Arthur ",
+ "Josh Junon ",
+ "Maxime Thirouin",
+ "Dyma Ywanov ",
+ "LitoMore (https://github.com/LitoMore)"
+ ],
+ "engines": {
+ "node": ">=18"
+ },
+ "files": [
+ "color.cjs",
+ "index.d.ts"
+ ],
+ "publishConfig": {
+ "access": "public"
+ },
+ "repository": {
+ "type": "git",
+ "url": "git+https://github.com/lovell/colour.git"
+ },
+ "type": "commonjs",
+ "keywords": [
+ "color",
+ "colour",
+ "cjs",
+ "commonjs"
+ ],
+ "scripts": {
+ "build:cjs": "esbuild node_modules/color/index.js --bundle --platform=node --outfile=color.cjs",
+ "build:dts": "dts-bundle-generator ./dts-src.ts -o index.d.ts --project tsconfig.build.json --external-inlines color --external-inlines color-convert --export-referenced-types=false",
+ "build": "npm run build:cjs && npm run build:dts",
+ "test": "node --test"
+ },
+ "devDependencies": {
+ "color": "5.0.3",
+ "color-convert": "3.1.3",
+ "color-name": "2.1.0",
+ "color-string": "2.1.4",
+ "dts-bundle-generator": "^9.5.1",
+ "esbuild": "^0.27.3"
+ }
+}
diff --git a/apps/api/.output/node_modules/@img/sharp-libvips-linuxmusl-x64/README.md b/apps/api/.output/node_modules/@img/sharp-libvips-linuxmusl-x64/README.md
new file mode 100644
index 0000000..df8cd0e
--- /dev/null
+++ b/apps/api/.output/node_modules/@img/sharp-libvips-linuxmusl-x64/README.md
@@ -0,0 +1,46 @@
+# `@img/sharp-libvips-linuxmusl-x64`
+
+Prebuilt libvips and dependencies for use with sharp on Linux (musl) x64.
+
+## Licensing
+
+This software contains third-party libraries
+used under the terms of the following licenses:
+
+| Library | Used under the terms of |
+|---------------|-----------------------------------------------------------------------------------------------------------|
+| aom | BSD 2-Clause + [Alliance for Open Media Patent License 1.0](https://aomedia.org/license/patent-license/) |
+| cairo | Mozilla Public License 1.1 |
+| cgif | MIT License |
+| expat | MIT License |
+| fontconfig | [fontconfig License](https://gitlab.freedesktop.org/fontconfig/fontconfig/blob/main/COPYING) (BSD-like) |
+| freetype | [freetype License](https://git.savannah.gnu.org/cgit/freetype/freetype2.git/tree/docs/FTL.TXT) (BSD-like) |
+| fribidi | LGPLv3 |
+| glib | LGPLv3 |
+| harfbuzz | MIT License |
+| highway | BSD 3-Clause |
+| lcms | MIT License |
+| libarchive | BSD 2-Clause |
+| libexif | LGPLv3 |
+| libffi | MIT License |
+| libheif | LGPLv3 |
+| libimagequant | [BSD 2-Clause](https://github.com/lovell/libimagequant/blob/main/COPYRIGHT) |
+| libnsgif | MIT License |
+| libpng | [libpng License](https://github.com/pnggroup/libpng/blob/master/LICENSE) |
+| librsvg | LGPLv3 |
+| libtiff | [libtiff License](https://gitlab.com/libtiff/libtiff/blob/master/LICENSE.md) (BSD-like) |
+| libultrahdr | MIT License |
+| libvips | LGPLv3 |
+| libwebp | New BSD License |
+| libxml2 | MIT License |
+| mozjpeg | [zlib License, IJG License, BSD 3-Clause](https://github.com/mozilla/mozjpeg/blob/master/LICENSE.md) |
+| pango | LGPLv3 |
+| pixman | MIT License |
+| proxy-libintl | LGPLv3 |
+| zlib-ng | [zlib License](https://github.com/zlib-ng/zlib-ng/blob/develop/LICENSE.md) |
+
+Use of libraries under the terms of the LGPLv3 is via the
+"any later version" clause of the LGPLv2 or LGPLv2.1.
+
+Please report any errors or omissions via
+https://github.com/lovell/sharp-libvips/issues/new
diff --git a/apps/api/.output/node_modules/@img/sharp-libvips-linuxmusl-x64/lib/glib-2.0/include/glibconfig.h b/apps/api/.output/node_modules/@img/sharp-libvips-linuxmusl-x64/lib/glib-2.0/include/glibconfig.h
new file mode 100644
index 0000000..0c049d4
--- /dev/null
+++ b/apps/api/.output/node_modules/@img/sharp-libvips-linuxmusl-x64/lib/glib-2.0/include/glibconfig.h
@@ -0,0 +1,219 @@
+/* glibconfig.h
+ *
+ * This is a generated file. Please modify 'glibconfig.h.in'
+ */
+
+#ifndef __GLIBCONFIG_H__
+#define __GLIBCONFIG_H__
+
+#include
+
+#include
+#include
+#define GLIB_HAVE_ALLOCA_H
+
+#define GLIB_STATIC_COMPILATION 1
+#define GOBJECT_STATIC_COMPILATION 1
+#define GIO_STATIC_COMPILATION 1
+#define GMODULE_STATIC_COMPILATION 1
+#define GI_STATIC_COMPILATION 1
+
+/* Specifies that GLib's g_print*() functions wrap the
+ * system printf functions. This is useful to know, for example,
+ * when using glibc's register_printf_function().
+ */
+#define GLIB_USING_SYSTEM_PRINTF
+
+G_BEGIN_DECLS
+
+#define G_MINFLOAT FLT_MIN
+#define G_MAXFLOAT FLT_MAX
+#define G_MINDOUBLE DBL_MIN
+#define G_MAXDOUBLE DBL_MAX
+#define G_MINSHORT SHRT_MIN
+#define G_MAXSHORT SHRT_MAX
+#define G_MAXUSHORT USHRT_MAX
+#define G_MININT INT_MIN
+#define G_MAXINT INT_MAX
+#define G_MAXUINT UINT_MAX
+#define G_MINLONG LONG_MIN
+#define G_MAXLONG LONG_MAX
+#define G_MAXULONG ULONG_MAX
+
+typedef signed char gint8;
+typedef unsigned char guint8;
+
+typedef signed short gint16;
+typedef unsigned short guint16;
+
+#define G_GINT16_MODIFIER "h"
+#define G_GINT16_FORMAT "hi"
+#define G_GUINT16_FORMAT "hu"
+
+
+typedef signed int gint32;
+typedef unsigned int guint32;
+
+#define G_GINT32_MODIFIER ""
+#define G_GINT32_FORMAT "i"
+#define G_GUINT32_FORMAT "u"
+
+
+#define G_HAVE_GINT64 1 /* deprecated, always true */
+
+typedef signed long gint64;
+typedef unsigned long guint64;
+
+#define G_GINT64_CONSTANT(val) (val##L)
+#define G_GUINT64_CONSTANT(val) (val##UL)
+
+#define G_GINT64_MODIFIER "l"
+#define G_GINT64_FORMAT "li"
+#define G_GUINT64_FORMAT "lu"
+
+
+#define GLIB_SIZEOF_VOID_P 8
+#define GLIB_SIZEOF_LONG 8
+#define GLIB_SIZEOF_SIZE_T 8
+#define GLIB_SIZEOF_SSIZE_T 8
+
+typedef signed long gssize;
+typedef unsigned long gsize;
+#define G_GSIZE_MODIFIER "l"
+#define G_GSSIZE_MODIFIER "l"
+#define G_GSIZE_FORMAT "lu"
+#define G_GSSIZE_FORMAT "li"
+
+#define G_MAXSIZE G_MAXULONG
+#define G_MINSSIZE G_MINLONG
+#define G_MAXSSIZE G_MAXLONG
+
+typedef gint64 goffset;
+#define G_MINOFFSET G_MININT64
+#define G_MAXOFFSET G_MAXINT64
+
+#define G_GOFFSET_MODIFIER G_GINT64_MODIFIER
+#define G_GOFFSET_FORMAT G_GINT64_FORMAT
+#define G_GOFFSET_CONSTANT(val) G_GINT64_CONSTANT(val)
+
+#define G_POLLFD_FORMAT "%d"
+
+#define GPOINTER_TO_INT(p) ((gint) (glong) (p))
+#define GPOINTER_TO_UINT(p) ((guint) (gulong) (p))
+
+#define GINT_TO_POINTER(i) ((gpointer) (glong) (i))
+#define GUINT_TO_POINTER(u) ((gpointer) (gulong) (u))
+
+typedef signed long gintptr;
+typedef unsigned long guintptr;
+
+#define G_GINTPTR_MODIFIER "l"
+#define G_GINTPTR_FORMAT "li"
+#define G_GUINTPTR_FORMAT "lu"
+
+#define GLIB_MAJOR_VERSION 2
+#define GLIB_MINOR_VERSION 90
+#define GLIB_MICRO_VERSION 0
+
+#define G_OS_UNIX
+
+#define G_VA_COPY va_copy
+
+#define G_VA_COPY_AS_ARRAY 1
+
+#define G_HAVE_ISO_VARARGS 1
+
+/* gcc-2.95.x supports both gnu style and ISO varargs, but if -ansi
+ * is passed ISO vararg support is turned off, and there is no work
+ * around to turn it on, so we unconditionally turn it off.
+ */
+#if __GNUC__ == 2 && __GNUC_MINOR__ == 95
+# undef G_HAVE_ISO_VARARGS
+#endif
+
+#define G_HAVE_GROWING_STACK 0
+
+#ifndef _MSC_VER
+# define G_HAVE_GNUC_VARARGS 1
+#endif
+
+#if defined(__SUNPRO_C) && (__SUNPRO_C >= 0x590)
+#define G_GNUC_INTERNAL __attribute__((visibility("hidden")))
+#elif defined(__SUNPRO_C) && (__SUNPRO_C >= 0x550)
+#define G_GNUC_INTERNAL __hidden
+#elif defined (__GNUC__) && defined (G_HAVE_GNUC_VISIBILITY)
+#define G_GNUC_INTERNAL __attribute__((visibility("hidden")))
+#else
+#define G_GNUC_INTERNAL
+#endif
+
+#define G_THREADS_ENABLED
+#define G_THREADS_IMPL_POSIX
+
+#define G_ATOMIC_LOCK_FREE
+
+#define GINT16_TO_LE(val) ((gint16) (val))
+#define GUINT16_TO_LE(val) ((guint16) (val))
+#define GINT16_TO_BE(val) ((gint16) GUINT16_SWAP_LE_BE (val))
+#define GUINT16_TO_BE(val) (GUINT16_SWAP_LE_BE (val))
+
+#define GINT32_TO_LE(val) ((gint32) (val))
+#define GUINT32_TO_LE(val) ((guint32) (val))
+#define GINT32_TO_BE(val) ((gint32) GUINT32_SWAP_LE_BE (val))
+#define GUINT32_TO_BE(val) (GUINT32_SWAP_LE_BE (val))
+
+#define GINT64_TO_LE(val) ((gint64) (val))
+#define GUINT64_TO_LE(val) ((guint64) (val))
+#define GINT64_TO_BE(val) ((gint64) GUINT64_SWAP_LE_BE (val))
+#define GUINT64_TO_BE(val) (GUINT64_SWAP_LE_BE (val))
+
+#define GLONG_TO_LE(val) ((glong) GINT64_TO_LE (val))
+#define GULONG_TO_LE(val) ((gulong) GUINT64_TO_LE (val))
+#define GLONG_TO_BE(val) ((glong) GINT64_TO_BE (val))
+#define GULONG_TO_BE(val) ((gulong) GUINT64_TO_BE (val))
+#define GINT_TO_LE(val) ((gint) GINT32_TO_LE (val))
+#define GUINT_TO_LE(val) ((guint) GUINT32_TO_LE (val))
+#define GINT_TO_BE(val) ((gint) GINT32_TO_BE (val))
+#define GUINT_TO_BE(val) ((guint) GUINT32_TO_BE (val))
+#define GSIZE_TO_LE(val) ((gsize) GUINT64_TO_LE (val))
+#define GSSIZE_TO_LE(val) ((gssize) GINT64_TO_LE (val))
+#define GSIZE_TO_BE(val) ((gsize) GUINT64_TO_BE (val))
+#define GSSIZE_TO_BE(val) ((gssize) GINT64_TO_BE (val))
+#define G_BYTE_ORDER G_LITTLE_ENDIAN
+
+#define GLIB_SYSDEF_POLLIN =1
+#define GLIB_SYSDEF_POLLOUT =4
+#define GLIB_SYSDEF_POLLPRI =2
+#define GLIB_SYSDEF_POLLHUP =16
+#define GLIB_SYSDEF_POLLERR =8
+#define GLIB_SYSDEF_POLLNVAL =32
+
+/* No way to disable deprecation warnings for macros, so only emit deprecation
+ * warnings on platforms where usage of this macro is broken */
+#if defined(__APPLE__) || defined(_MSC_VER) || defined(__CYGWIN__)
+#define G_MODULE_SUFFIX "so" GLIB_DEPRECATED_MACRO_IN_2_76
+#else
+#define G_MODULE_SUFFIX "so"
+#endif
+
+typedef int GPid;
+#define G_PID_FORMAT "i"
+
+#define GLIB_SYSDEF_AF_UNIX 1
+#define GLIB_SYSDEF_AF_INET 2
+#define GLIB_SYSDEF_AF_INET6 10
+
+#define GLIB_SYSDEF_MSG_OOB 1
+#define GLIB_SYSDEF_MSG_PEEK 2
+#define GLIB_SYSDEF_MSG_DONTROUTE 4
+
+#define G_DIR_SEPARATOR '/'
+#define G_DIR_SEPARATOR_S "/"
+#define G_SEARCHPATH_SEPARATOR ':'
+#define G_SEARCHPATH_SEPARATOR_S ":"
+
+#undef G_HAVE_FREE_SIZED
+
+G_END_DECLS
+
+#endif /* __GLIBCONFIG_H__ */
diff --git a/apps/api/.output/node_modules/@img/sharp-libvips-linuxmusl-x64/lib/index.js b/apps/api/.output/node_modules/@img/sharp-libvips-linuxmusl-x64/lib/index.js
new file mode 100644
index 0000000..5092b4d
--- /dev/null
+++ b/apps/api/.output/node_modules/@img/sharp-libvips-linuxmusl-x64/lib/index.js
@@ -0,0 +1 @@
+module.exports = __dirname;
diff --git a/apps/api/.output/node_modules/@img/sharp-libvips-linuxmusl-x64/lib/libvips-cpp.so.8.18.7 b/apps/api/.output/node_modules/@img/sharp-libvips-linuxmusl-x64/lib/libvips-cpp.so.8.18.7
new file mode 100644
index 0000000..dad50d3
Binary files /dev/null and b/apps/api/.output/node_modules/@img/sharp-libvips-linuxmusl-x64/lib/libvips-cpp.so.8.18.7 differ
diff --git a/apps/api/.output/node_modules/@img/sharp-libvips-linuxmusl-x64/package.json b/apps/api/.output/node_modules/@img/sharp-libvips-linuxmusl-x64/package.json
new file mode 100644
index 0000000..6a9db79
--- /dev/null
+++ b/apps/api/.output/node_modules/@img/sharp-libvips-linuxmusl-x64/package.json
@@ -0,0 +1,43 @@
+{
+ "name": "@img/sharp-libvips-linuxmusl-x64",
+ "version": "1.3.4",
+ "description": "Prebuilt libvips and dependencies for use with sharp on Linux (musl) x64",
+ "author": "Lovell Fuller ",
+ "homepage": "https://sharp.pixelplumbing.com",
+ "repository": {
+ "type": "git",
+ "url": "git+https://github.com/lovell/sharp-libvips.git",
+ "directory": "npm/linuxmusl-x64"
+ },
+ "license": "LGPL-3.0-or-later",
+ "funding": {
+ "url": "https://opencollective.com/libvips"
+ },
+ "preferUnplugged": true,
+ "publishConfig": {
+ "access": "public"
+ },
+ "files": [
+ "lib",
+ "versions.json"
+ ],
+ "type": "commonjs",
+ "exports": {
+ "./lib": "./lib/index.js",
+ "./package": "./package.json",
+ "./versions": "./versions.json",
+ "./binary": "./lib/libvips-cpp.so.8.18.7"
+ },
+ "config": {
+ "musl": ">=1.2.5"
+ },
+ "os": [
+ "linux"
+ ],
+ "libc": [
+ "musl"
+ ],
+ "cpu": [
+ "x64"
+ ]
+}
diff --git a/apps/api/.output/node_modules/@img/sharp-libvips-linuxmusl-x64/versions.json b/apps/api/.output/node_modules/@img/sharp-libvips-linuxmusl-x64/versions.json
new file mode 100644
index 0000000..2f8fea6
--- /dev/null
+++ b/apps/api/.output/node_modules/@img/sharp-libvips-linuxmusl-x64/versions.json
@@ -0,0 +1,30 @@
+{
+ "aom": "3.15.1",
+ "archive": "3.8.9",
+ "cairo": "1.18.6",
+ "cgif": "0.5.4",
+ "exif": "0.6.26",
+ "expat": "2.8.5",
+ "ffi": "3.8.0",
+ "fontconfig": "2.18.3",
+ "freetype": "2.14.3",
+ "fribidi": "1.0.17",
+ "glib": "2.90.0",
+ "harfbuzz": "14.5.0",
+ "heif": "1.23.5",
+ "highway": "1.4.0",
+ "imagequant": "2.4.1",
+ "lcms": "2.19.1",
+ "mozjpeg": "0826579",
+ "pango": "1.58.2",
+ "pixman": "0.46.4",
+ "png": "1.6.58",
+ "proxy-libintl": "0.5",
+ "rsvg": "2.63.2",
+ "tiff": "4.7.2",
+ "uhdr": "2.0.2",
+ "vips": "8.18.7",
+ "webp": "1.6.0",
+ "xml2": "2.15.4",
+ "zlib-ng": "2.3.3"
+}
\ No newline at end of file
diff --git a/apps/api/.output/node_modules/@img/sharp-linuxmusl-x64/LICENSE b/apps/api/.output/node_modules/@img/sharp-linuxmusl-x64/LICENSE
new file mode 100644
index 0000000..37ec93a
--- /dev/null
+++ b/apps/api/.output/node_modules/@img/sharp-linuxmusl-x64/LICENSE
@@ -0,0 +1,191 @@
+Apache License
+Version 2.0, January 2004
+http://www.apache.org/licenses/
+
+TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION
+
+1. Definitions.
+
+"License" shall mean the terms and conditions for use, reproduction, and
+distribution as defined by Sections 1 through 9 of this document.
+
+"Licensor" shall mean the copyright owner or entity authorized by the copyright
+owner that is granting the License.
+
+"Legal Entity" shall mean the union of the acting entity and all other entities
+that control, are controlled by, or are under common control with that entity.
+For the purposes of this definition, "control" means (i) the power, direct or
+indirect, to cause the direction or management of such entity, whether by
+contract or otherwise, or (ii) ownership of fifty percent (50%) or more of the
+outstanding shares, or (iii) beneficial ownership of such entity.
+
+"You" (or "Your") shall mean an individual or Legal Entity exercising
+permissions granted by this License.
+
+"Source" form shall mean the preferred form for making modifications, including
+but not limited to software source code, documentation source, and configuration
+files.
+
+"Object" form shall mean any form resulting from mechanical transformation or
+translation of a Source form, including but not limited to compiled object code,
+generated documentation, and conversions to other media types.
+
+"Work" shall mean the work of authorship, whether in Source or Object form, made
+available under the License, as indicated by a copyright notice that is included
+in or attached to the work (an example is provided in the Appendix below).
+
+"Derivative Works" shall mean any work, whether in Source or Object form, that
+is based on (or derived from) the Work and for which the editorial revisions,
+annotations, elaborations, or other modifications represent, as a whole, an
+original work of authorship. For the purposes of this License, Derivative Works
+shall not include works that remain separable from, or merely link (or bind by
+name) to the interfaces of, the Work and Derivative Works thereof.
+
+"Contribution" shall mean any work of authorship, including the original version
+of the Work and any modifications or additions to that Work or Derivative Works
+thereof, that is intentionally submitted to Licensor for inclusion in the Work
+by the copyright owner or by an individual or Legal Entity authorized to submit
+on behalf of the copyright owner. For the purposes of this definition,
+"submitted" means any form of electronic, verbal, or written communication sent
+to the Licensor or its representatives, including but not limited to
+communication on electronic mailing lists, source code control systems, and
+issue tracking systems that are managed by, or on behalf of, the Licensor for
+the purpose of discussing and improving the Work, but excluding communication
+that is conspicuously marked or otherwise designated in writing by the copyright
+owner as "Not a Contribution."
+
+"Contributor" shall mean Licensor and any individual or Legal Entity on behalf
+of whom a Contribution has been received by Licensor and subsequently
+incorporated within the Work.
+
+2. Grant of Copyright License.
+
+Subject to the terms and conditions of this License, each Contributor hereby
+grants to You a perpetual, worldwide, non-exclusive, no-charge, royalty-free,
+irrevocable copyright license to reproduce, prepare Derivative Works of,
+publicly display, publicly perform, sublicense, and distribute the Work and such
+Derivative Works in Source or Object form.
+
+3. Grant of Patent License.
+
+Subject to the terms and conditions of this License, each Contributor hereby
+grants to You a perpetual, worldwide, non-exclusive, no-charge, royalty-free,
+irrevocable (except as stated in this section) patent license to make, have
+made, use, offer to sell, sell, import, and otherwise transfer the Work, where
+such license applies only to those patent claims licensable by such Contributor
+that are necessarily infringed by their Contribution(s) alone or by combination
+of their Contribution(s) with the Work to which such Contribution(s) was
+submitted. If You institute patent litigation against any entity (including a
+cross-claim or counterclaim in a lawsuit) alleging that the Work or a
+Contribution incorporated within the Work constitutes direct or contributory
+patent infringement, then any patent licenses granted to You under this License
+for that Work shall terminate as of the date such litigation is filed.
+
+4. Redistribution.
+
+You may reproduce and distribute copies of the Work or Derivative Works thereof
+in any medium, with or without modifications, and in Source or Object form,
+provided that You meet the following conditions:
+
+You must give any other recipients of the Work or Derivative Works a copy of
+this License; and
+You must cause any modified files to carry prominent notices stating that You
+changed the files; and
+You must retain, in the Source form of any Derivative Works that You distribute,
+all copyright, patent, trademark, and attribution notices from the Source form
+of the Work, excluding those notices that do not pertain to any part of the
+Derivative Works; and
+If the Work includes a "NOTICE" text file as part of its distribution, then any
+Derivative Works that You distribute must include a readable copy of the
+attribution notices contained within such NOTICE file, excluding those notices
+that do not pertain to any part of the Derivative Works, in at least one of the
+following places: within a NOTICE text file distributed as part of the
+Derivative Works; within the Source form or documentation, if provided along
+with the Derivative Works; or, within a display generated by the Derivative
+Works, if and wherever such third-party notices normally appear. The contents of
+the NOTICE file are for informational purposes only and do not modify the
+License. You may add Your own attribution notices within Derivative Works that
+You distribute, alongside or as an addendum to the NOTICE text from the Work,
+provided that such additional attribution notices cannot be construed as
+modifying the License.
+You may add Your own copyright statement to Your modifications and may provide
+additional or different license terms and conditions for use, reproduction, or
+distribution of Your modifications, or for any such Derivative Works as a whole,
+provided Your use, reproduction, and distribution of the Work otherwise complies
+with the conditions stated in this License.
+
+5. Submission of Contributions.
+
+Unless You explicitly state otherwise, any Contribution intentionally submitted
+for inclusion in the Work by You to the Licensor shall be under the terms and
+conditions of this License, without any additional terms or conditions.
+Notwithstanding the above, nothing herein shall supersede or modify the terms of
+any separate license agreement you may have executed with Licensor regarding
+such Contributions.
+
+6. Trademarks.
+
+This License does not grant permission to use the trade names, trademarks,
+service marks, or product names of the Licensor, except as required for
+reasonable and customary use in describing the origin of the Work and
+reproducing the content of the NOTICE file.
+
+7. Disclaimer of Warranty.
+
+Unless required by applicable law or agreed to in writing, Licensor provides the
+Work (and each Contributor provides its Contributions) on an "AS IS" BASIS,
+WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied,
+including, without limitation, any warranties or conditions of TITLE,
+NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A PARTICULAR PURPOSE. You are
+solely responsible for determining the appropriateness of using or
+redistributing the Work and assume any risks associated with Your exercise of
+permissions under this License.
+
+8. Limitation of Liability.
+
+In no event and under no legal theory, whether in tort (including negligence),
+contract, or otherwise, unless required by applicable law (such as deliberate
+and grossly negligent acts) or agreed to in writing, shall any Contributor be
+liable to You for damages, including any direct, indirect, special, incidental,
+or consequential damages of any character arising as a result of this License or
+out of the use or inability to use the Work (including but not limited to
+damages for loss of goodwill, work stoppage, computer failure or malfunction, or
+any and all other commercial damages or losses), even if such Contributor has
+been advised of the possibility of such damages.
+
+9. Accepting Warranty or Additional Liability.
+
+While redistributing the Work or Derivative Works thereof, You may choose to
+offer, and charge a fee for, acceptance of support, warranty, indemnity, or
+other liability obligations and/or rights consistent with this License. However,
+in accepting such obligations, You may act only on Your own behalf and on Your
+sole responsibility, not on behalf of any other Contributor, and only if You
+agree to indemnify, defend, and hold each Contributor harmless for any liability
+incurred by, or claims asserted against, such Contributor by reason of your
+accepting any such warranty or additional liability.
+
+END OF TERMS AND CONDITIONS
+
+APPENDIX: How to apply the Apache License to your work
+
+To apply the Apache License to your work, attach the following boilerplate
+notice, with the fields enclosed by brackets "[]" replaced with your own
+identifying information. (Don't include the brackets!) The text should be
+enclosed in the appropriate comment syntax for the file format. We also
+recommend that a file or class name and description of purpose be included on
+the same "printed page" as the copyright notice for easier identification within
+third-party archives.
+
+ Copyright [yyyy] [name of copyright owner]
+
+ Licensed under the Apache License, Version 2.0 (the "License");
+ you may not use this file except in compliance with the License.
+ You may obtain a copy of the License at
+
+ http://www.apache.org/licenses/LICENSE-2.0
+
+ Unless required by applicable law or agreed to in writing, software
+ distributed under the License is distributed on an "AS IS" BASIS,
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ See the License for the specific language governing permissions and
+ limitations under the License.
diff --git a/apps/api/.output/node_modules/@img/sharp-linuxmusl-x64/README.md b/apps/api/.output/node_modules/@img/sharp-linuxmusl-x64/README.md
new file mode 100644
index 0000000..f651f98
--- /dev/null
+++ b/apps/api/.output/node_modules/@img/sharp-linuxmusl-x64/README.md
@@ -0,0 +1,18 @@
+# `@img/sharp-linuxmusl-x64`
+
+Prebuilt sharp for use with Linux (musl) x64.
+
+## Licensing
+
+Copyright 2013 Lovell Fuller and others.
+
+Licensed under the Apache License, Version 2.0 (the "License");
+you may not use this file except in compliance with the License.
+You may obtain a copy of the License at
+[https://www.apache.org/licenses/LICENSE-2.0](https://www.apache.org/licenses/LICENSE-2.0)
+
+Unless required by applicable law or agreed to in writing, software
+distributed under the License is distributed on an "AS IS" BASIS,
+WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+See the License for the specific language governing permissions and
+limitations under the License.
diff --git a/apps/api/.output/node_modules/@img/sharp-linuxmusl-x64/index.cjs b/apps/api/.output/node_modules/@img/sharp-linuxmusl-x64/index.cjs
new file mode 100644
index 0000000..0c762ae
--- /dev/null
+++ b/apps/api/.output/node_modules/@img/sharp-linuxmusl-x64/index.cjs
@@ -0,0 +1,2 @@
+try { require.resolve('@img/sharp-libvips-linuxmusl-x64/binary'); } catch {}
+module.exports = require('./lib/sharp-linuxmusl-x64-0.35.5.node');
\ No newline at end of file
diff --git a/apps/api/.output/node_modules/@img/sharp-linuxmusl-x64/lib/sharp-linuxmusl-x64-0.35.5.node b/apps/api/.output/node_modules/@img/sharp-linuxmusl-x64/lib/sharp-linuxmusl-x64-0.35.5.node
new file mode 100644
index 0000000..176677b
Binary files /dev/null and b/apps/api/.output/node_modules/@img/sharp-linuxmusl-x64/lib/sharp-linuxmusl-x64-0.35.5.node differ
diff --git a/apps/api/.output/node_modules/@img/sharp-linuxmusl-x64/package.json b/apps/api/.output/node_modules/@img/sharp-linuxmusl-x64/package.json
new file mode 100644
index 0000000..6e2b9c9
--- /dev/null
+++ b/apps/api/.output/node_modules/@img/sharp-linuxmusl-x64/package.json
@@ -0,0 +1,47 @@
+{
+ "name": "@img/sharp-linuxmusl-x64",
+ "version": "0.35.5",
+ "description": "Prebuilt sharp for use with Linux (musl) x64",
+ "author": "Lovell Fuller ",
+ "homepage": "https://sharp.pixelplumbing.com",
+ "repository": {
+ "type": "git",
+ "url": "git+https://github.com/lovell/sharp.git",
+ "directory": "npm/linuxmusl-x64"
+ },
+ "license": "Apache-2.0",
+ "funding": {
+ "url": "https://opencollective.com/libvips"
+ },
+ "preferUnplugged": true,
+ "optionalDependencies": {
+ "@img/sharp-libvips-linuxmusl-x64": "1.3.4"
+ },
+ "files": [
+ "index.cjs",
+ "lib"
+ ],
+ "publishConfig": {
+ "access": "public"
+ },
+ "type": "commonjs",
+ "exports": {
+ "./sharp.node": "./index.cjs",
+ "./package": "./package.json"
+ },
+ "engines": {
+ "node": ">=20.9.0"
+ },
+ "config": {
+ "musl": ">=1.2.5"
+ },
+ "os": [
+ "linux"
+ ],
+ "libc": [
+ "musl"
+ ],
+ "cpu": [
+ "x64"
+ ]
+}
diff --git a/apps/api/.output/node_modules/@node-rs/argon2-linux-x64-musl/README.md b/apps/api/.output/node_modules/@node-rs/argon2-linux-x64-musl/README.md
new file mode 100644
index 0000000..3786de0
--- /dev/null
+++ b/apps/api/.output/node_modules/@node-rs/argon2-linux-x64-musl/README.md
@@ -0,0 +1,3 @@
+# `@node-rs/argon2-linux-x64-musl`
+
+This is the **x86_64-unknown-linux-musl** binary for `@node-rs/argon2`
diff --git a/apps/api/.output/node_modules/@node-rs/argon2-linux-x64-musl/argon2.linux-x64-musl.node b/apps/api/.output/node_modules/@node-rs/argon2-linux-x64-musl/argon2.linux-x64-musl.node
new file mode 100644
index 0000000..0606227
Binary files /dev/null and b/apps/api/.output/node_modules/@node-rs/argon2-linux-x64-musl/argon2.linux-x64-musl.node differ
diff --git a/apps/api/.output/node_modules/@node-rs/argon2-linux-x64-musl/package.json b/apps/api/.output/node_modules/@node-rs/argon2-linux-x64-musl/package.json
new file mode 100644
index 0000000..9a7465e
--- /dev/null
+++ b/apps/api/.output/node_modules/@node-rs/argon2-linux-x64-musl/package.json
@@ -0,0 +1,42 @@
+{
+ "name": "@node-rs/argon2-linux-x64-musl",
+ "version": "2.2.2",
+ "cpu": [
+ "x64"
+ ],
+ "main": "argon2.linux-x64-musl.node",
+ "files": [
+ "argon2.linux-x64-musl.node"
+ ],
+ "description": "argon2-rust binding for Node.js",
+ "keywords": [
+ "argon2",
+ "argon2-password",
+ "crypto",
+ "encryption",
+ "hash",
+ "hashing",
+ "password",
+ "secure",
+ "verify"
+ ],
+ "homepage": "https://github.com/napi-rs/node-rs",
+ "license": "MIT",
+ "engines": {
+ "node": ">= 10"
+ },
+ "repository": {
+ "type": "git",
+ "url": "git+https://github.com/napi-rs/node-rs.git"
+ },
+ "publishConfig": {
+ "registry": "https://registry.npmjs.org/",
+ "access": "public"
+ },
+ "os": [
+ "linux"
+ ],
+ "libc": [
+ "musl"
+ ]
+}
diff --git a/apps/api/.output/node_modules/@node-rs/argon2/LICENSE b/apps/api/.output/node_modules/@node-rs/argon2/LICENSE
new file mode 100644
index 0000000..6404653
--- /dev/null
+++ b/apps/api/.output/node_modules/@node-rs/argon2/LICENSE
@@ -0,0 +1,21 @@
+MIT License
+
+Copyright (c) 2020-present LongYinan
+
+Permission is hereby granted, free of charge, to any person obtaining a copy
+of this software and associated documentation files (the "Software"), to deal
+in the Software without restriction, including without limitation the rights
+to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
+copies of the Software, and to permit persons to whom the Software is
+furnished to do so, subject to the following conditions:
+
+The above copyright notice and this permission notice shall be included in all
+copies or substantial portions of the Software.
+
+THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
+OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
+SOFTWARE.
diff --git a/apps/api/.output/node_modules/@node-rs/argon2/README.md b/apps/api/.output/node_modules/@node-rs/argon2/README.md
new file mode 100644
index 0000000..e15c0ac
--- /dev/null
+++ b/apps/api/.output/node_modules/@node-rs/argon2/README.md
@@ -0,0 +1,166 @@
+# `@node-rs/argon2`
+
+
+
+
+[argon2-rust](https://crates.io/crates/argon2-rust) binding for Node.js.
+
+Argon2 is a [key derivation function](https://en.wikipedia.org/wiki/Key_derivation_function) that was selected as the winner of the [Password Hashing Competition(PHC)](https://password-hashing.net) in July 2015.
+
+Argon2 summarizes the state of the art in the design of memory-hard functions and can be used to hash passwords for credential storage, key derivation, or other applications.
+
+It has a simple design aimed at the highest memory filling rate and effective use of multiple computing units, while still providing defense against tradeoff attacks (by exploiting the cache and memory organization of the recent processors).
+
+## Features
+
+- Faster than node-argon2 and `node:crypto.argon2` at the same m/t/p (see Benchmarks).
+- No node-gyp and postinstall.
+- Cross-platform support, including [Apple M1](https://www.apple.com/newsroom/2020/11/apple-unleashes-m1/).
+- Smaller file size after npm installation(476K vs [node-argon2](https://github.com/ranisalt/node-argon2) 3.7M).
+- `@node-rs/argon2` supports all three algorithms:
+ - Argon2i: Optimizes against GPU cracking attacks but vulnerable to side-channels.
+ Accesses the memory array in a password dependent order, reducing the possibility of time–memory tradeoff (TMTO) attacks.
+ - Argon2d: Optimized to resist side-channel attacks.
+ Accesses the memory array in a password independent order, increasing the possibility of time-memory tradeoff (TMTO) attacks.
+ - **Argon2id**: default value, this is the default algorithm for normative recommendations.
+ Hybrid that mixes Argon2i and Argon2d passes.
+ Uses the Argon2i approach for the first half pass over memory and Argon2d approach for subsequent passes. This effectively places it in the “middle” between the other two: it doesn’t provide as good TMTO/GPU cracking resistance as Argon2d, nor as good of side-channel resistance as Argon2i, but overall provides the most well-rounded approach to both classes of attacks.
+
+# Benchmarks
+
+Comparing each library's **defaults** is not 1:1. `@node-rs/argon2` defaults to `m=19456,t=2,p=1`; `argon2` (node-argon2) defaults to `m=65536,t=3,p=4`. See [#841](https://github.com/napi-rs/node-rs/issues/841).
+
+This bench pins the same password, salt, Argon2id v=19, m, t, p, and 32-byte tag. Only the **raw** KDF is timed. The tag is asserted equal on every run. Native impls are interleaved with each other; JS/wasm are a separate group so a 7 ms hash is not timed after a 400 ms JS loop.
+
+Apple M5 Max / arm64 / Node 24 / [argon2-rust 1.1.0](https://crates.io/crates/argon2-rust). Median ms. See [benchmark/](benchmark/argon2.ts).
+
+**Native async raw** — same calling shape as node-argon2 (no sync API there):
+
+| params | @node-rs/argon2 | node-argon2 | node:crypto |
+| --------------------- | --------------: | ----------: | ----------: |
+| m=19456 KiB, t=2, p=1 | **7.58** | 15.41 | 13.05 |
+| m=65536 KiB, t=3, p=1 | **49.35** | 84.57 | 71.71 |
+| m=65536 KiB, t=3, p=4 | **13.62** | 22.54 | 20.83 |
+
+**JS / wasm raw** — same params, same tags:
+
+| params | hash-wasm | @noble/hashes |
+| --------------------- | --------: | ------------: |
+| m=19456 KiB, t=2, p=1 | 19.79 | 86.14 |
+| m=65536 KiB, t=3, p=1 | 104.09 | 433.07 |
+| m=65536 KiB, t=3, p=4 | 106.06 | 435.39 |
+
+hash-wasm and `@noble/hashes` do not run lanes in parallel, so their p=4 row is the p=1 work.
+
+## API
+
+```typescript
+export const enum Algorithm {
+ Argon2d = 0,
+ Argon2i = 1,
+ Argon2id = 2,
+}
+export const enum Version {
+ /** Version 16 (0x10 in hex) */
+ V0x10 = 0,
+ /**
+ * Default value
+ * Version 19 (0x13 in hex, default)
+ */
+ V0x13 = 1,
+}
+export interface Options {
+ /**
+ * The amount of memory to be used by the hash function, in kilobytes. Each thread will have a memory pool of this size. Note that large values for highly concurrent usage will cause starvation and thrashing if your system memory gets full.
+ *
+ * Value is an integer in decimal (1 to 10 digits), between 1 and (2^32)-1.
+ *
+ * The default value is 19456, meaning a pool of 19 MiB per thread.
+ */
+ memoryCost?: number | undefined | null
+ /**
+ * The time cost is the amount of passes (iterations) used by the hash function. It increases hash strength at the cost of time required to compute.
+ *
+ * Value is an integer in decimal (1 to 10 digits), between 1 and (2^32)-1.
+ *
+ * The default value is 2.
+ */
+ timeCost?: number | undefined | null
+ /**
+ * The hash length is the length of the hash function output in bytes. Note that the resulting hash is encoded with Base 64, so the digest will be ~1/3 longer.
+ *
+ * The default value is 32, which produces raw hashes of 32 bytes or digests of 43 characters.
+ */
+ outputLen?: number | undefined | null
+ /**
+ * The amount of threads to compute the hash on. Each thread has a memory pool with memoryCost size. Note that changing it also changes the resulting hash.
+ *
+ * Value is an integer in decimal (1 to 3 digits), between 1 and 255.
+ *
+ * The default value is 1, meaning a single thread is used.
+ */
+ parallelism?: number | undefined | null
+ algorithm?: Algorithm | undefined | null
+ version?: Version | undefined | null
+ secret?: Buffer | undefined | null
+}
+export function hash(
+ password: string | Buffer,
+ options?: Options | undefined | null,
+ abortSignal?: AbortSignal | undefined | null,
+): Promise
+export function verify(
+ hashed: string | Buffer,
+ password: string | Buffer,
+ options?: Options | undefined | null,
+ abortSignal?: AbortSignal | undefined | null,
+): Promise
+```
+
+## `parseOptions` — needs-rehash checks
+
+`parseOptions` parses an encoded PHC hash string and returns the parameters it was created with. Compare them against your current policy to decide whether a stored hash should be rehashed at next login.
+
+```typescript
+import { Algorithm, parseOptions, Version } from '@node-rs/argon2'
+
+const POLICY = {
+ algorithm: Algorithm.Argon2id,
+ version: Version.V0x13,
+ memoryCost: 19456,
+ timeCost: 2,
+ parallelism: 1,
+ outputLen: 32,
+} as const
+
+function needsRehash(hashed: string): boolean {
+ const parsed = parseOptions(hashed)
+ return (
+ parsed.algorithm !== POLICY.algorithm ||
+ parsed.version !== POLICY.version ||
+ parsed.memoryCost !== POLICY.memoryCost ||
+ parsed.timeCost !== POLICY.timeCost ||
+ parsed.parallelism !== POLICY.parallelism ||
+ parsed.outputLen !== POLICY.outputLen ||
+ parsed.saltLen < 16
+ )
+}
+```
+
+```typescript
+export interface ParsedHashOptions {
+ algorithm: Algorithm
+ version: Version
+ /** Memory cost in kibibytes (`m=` in the PHC string). */
+ memoryCost: number
+ /** Time cost / number of passes (`t=` in the PHC string). */
+ timeCost: number
+ /** Degree of parallelism (`p=` in the PHC string). */
+ parallelism: number
+ /** Length of the raw hash output in bytes. */
+ outputLen: number
+ /** Byte length of the decoded salt. This package generates 16-byte salts; older hashes may carry shorter ones. */
+ saltLen: number
+}
+export function parseOptions(hashed: string | Uint8Array): ParsedHashOptions
+```
diff --git a/apps/api/.output/node_modules/@node-rs/argon2/browser.js b/apps/api/.output/node_modules/@node-rs/argon2/browser.js
new file mode 100644
index 0000000..3175b79
--- /dev/null
+++ b/apps/api/.output/node_modules/@node-rs/argon2/browser.js
@@ -0,0 +1 @@
+export * from '@node-rs/argon2-wasm32-wasi'
diff --git a/apps/api/.output/node_modules/@node-rs/argon2/index.d.ts b/apps/api/.output/node_modules/@node-rs/argon2/index.d.ts
new file mode 100644
index 0000000..2d5d2bd
--- /dev/null
+++ b/apps/api/.output/node_modules/@node-rs/argon2/index.d.ts
@@ -0,0 +1,104 @@
+/* auto-generated by NAPI-RS */
+/* eslint-disable */
+export declare const enum Algorithm {
+ /**
+ * Optimizes against GPU cracking attacks but vulnerable to side-channels.
+ * Accesses the memory array in a password dependent order, reducing the possibility of time–memory tradeoff (TMTO) attacks.
+ */
+ Argon2d = 0,
+ /**
+ * Optimized to resist side-channel attacks.
+ * Accesses the memory array in a password independent order, increasing the possibility of time-memory tradeoff (TMTO) attacks.
+ */
+ Argon2i = 1,
+ /**
+ * Default value, this is the default algorithm for normative recommendations.
+ * Hybrid that mixes Argon2i and Argon2d passes.
+ * Uses the Argon2i approach for the first half pass over memory and Argon2d approach for subsequent passes. This effectively places it in the “middle” between the other two: it doesn’t provide as good TMTO/GPU cracking resistance as Argon2d, nor as good of side-channel resistance as Argon2i, but overall provides the most well-rounded approach to both classes of attacks.
+ */
+ Argon2id = 2
+}
+
+export declare function hash(password: string | Uint8Array, options?: Options | undefined | null, abortSignal?: AbortSignal | undefined | null): Promise
+
+export declare function hashRaw(password: string | Uint8Array, options?: Options | undefined | null, abortSignal?: AbortSignal | undefined | null): Promise
+
+export declare function hashRawSync(password: string | Uint8Array, options?: Options | undefined | null): Buffer
+
+export declare function hashSync(password: string | Uint8Array, options?: Options | undefined | null): string
+
+export interface Options {
+ /**
+ * The amount of memory to be used by the hash function, in kilobytes. Each thread will have a memory pool of this size. Note that large values for highly concurrent usage will cause starvation and thrashing if your system memory gets full.
+ *
+ * Value is an integer in decimal (1 to 10 digits), between 1 and (2^32)-1.
+ *
+ * The default value is 19456, meaning a pool of 19 MiB per thread.
+ */
+ memoryCost?: number
+ /**
+ * The time cost is the amount of passes (iterations) used by the hash function. It increases hash strength at the cost of time required to compute.
+ *
+ * Value is an integer in decimal (1 to 10 digits), between 1 and (2^32)-1.
+ *
+ * The default value is 2.
+ */
+ timeCost?: number
+ /**
+ * The hash length is the length of the hash function output in bytes. Note that the resulting hash is encoded with Base 64, so the digest will be ~1/3 longer.
+ *
+ * The default value is 32, which produces raw hashes of 32 bytes or digests of 43 characters.
+ */
+ outputLen?: number
+ /**
+ * The amount of threads to compute the hash on. Each thread has a memory pool with memoryCost size. Note that changing it also changes the resulting hash.
+ *
+ * Value is an integer in decimal (1 to 3 digits), between 1 and 255.
+ *
+ * The default value is 1, meaning a single thread is used.
+ */
+ parallelism?: number
+ algorithm?: Algorithm
+ version?: Version
+ secret?: Uint8Array
+ salt?: Uint8Array
+}
+
+export interface ParsedHashOptions {
+ algorithm: Algorithm
+ version: Version
+ /** Memory cost in kibibytes (`m=` in the PHC string). */
+ memoryCost: number
+ /** Time cost / number of passes (`t=` in the PHC string). */
+ timeCost: number
+ /** Degree of parallelism (`p=` in the PHC string). */
+ parallelism: number
+ /** Length of the raw hash output in bytes. */
+ outputLen: number
+ /**
+ * Byte length of the decoded salt. This package generates 16-byte salts;
+ * older hashes may carry shorter ones.
+ */
+ saltLen: number
+}
+
+/**
+ * Parses an encoded argon2 hash string (PHC format) and returns the parameters
+ * it was created with. Useful for "needs rehash" checks: compare the returned
+ * parameters against your current policy and rehash when they differ.
+ */
+export declare function parseOptions(hashed: string | Uint8Array): ParsedHashOptions
+
+export declare function verify(hashed: string | Uint8Array, password: string | Uint8Array, options?: Options | undefined | null, abortSignal?: AbortSignal | undefined | null): Promise
+
+export declare function verifySync(hashed: string | Uint8Array, password: string | Uint8Array, options?: Options | undefined | null): boolean
+
+export declare const enum Version {
+ /** Version 16 (0x10 in hex) */
+ V0x10 = 0,
+ /**
+ * Default value
+ * Version 19 (0x13 in hex)
+ */
+ V0x13 = 1
+}
diff --git a/apps/api/.output/node_modules/@node-rs/argon2/index.js b/apps/api/.output/node_modules/@node-rs/argon2/index.js
new file mode 100644
index 0000000..22026da
--- /dev/null
+++ b/apps/api/.output/node_modules/@node-rs/argon2/index.js
@@ -0,0 +1,711 @@
+// prettier-ignore
+/* eslint-disable */
+// @ts-nocheck
+/* auto-generated by NAPI-RS */
+
+const { readFileSync } = require('fs')
+let nativeBinding = null
+const loadErrors = []
+
+const isMusl = () => {
+ let musl = false
+ if (process.platform === 'linux') {
+ musl = isMuslFromFilesystem()
+ if (musl === null) {
+ musl = isMuslFromReport()
+ }
+ if (musl === null) {
+ musl = isMuslFromChildProcess()
+ }
+ }
+ return musl
+}
+
+const isFileMusl = (f) => f.includes('libc.musl-') || f.includes('ld-musl-')
+
+const isMuslFromFilesystem = () => {
+ try {
+ return readFileSync('/usr/bin/ldd', 'utf-8').includes('musl')
+ } catch {
+ return null
+ }
+}
+
+const isMuslFromReport = () => {
+ let report = null
+ if (process.report && typeof process.report.getReport === 'function') {
+ process.report.excludeNetwork = true
+ report = process.report.getReport()
+ }
+ if (!report) {
+ return null
+ }
+ if (report.header && report.header.glibcVersionRuntime) {
+ return false
+ }
+ if (Array.isArray(report.sharedObjects)) {
+ if (report.sharedObjects.some(isFileMusl)) {
+ return true
+ }
+ }
+ return false
+}
+
+const isMuslFromChildProcess = () => {
+ try {
+ return require('child_process').execSync('ldd --version', { encoding: 'utf8' }).includes('musl')
+ } catch (e) {
+ // If we reach this case, we don't know if the system is musl or not, so is better to just fallback to false
+ return false
+ }
+}
+
+function requireNative() {
+ if (process.env.NAPI_RS_NATIVE_LIBRARY_PATH) {
+ try {
+ return require(process.env.NAPI_RS_NATIVE_LIBRARY_PATH);
+ } catch (err) {
+ loadErrors.push(err)
+ }
+ } else if (process.platform === 'android') {
+ if (process.arch === 'arm64') {
+ try {
+ return require('./argon2.android-arm64.node')
+ } catch (e) {
+ loadErrors.push(e)
+ }
+ try {
+ const binding = require('@node-rs/argon2-android-arm64')
+ const bindingPackageVersion = require('@node-rs/argon2-android-arm64/package.json').version
+ if (bindingPackageVersion !== '2.1.0' && process.env.NAPI_RS_ENFORCE_VERSION_CHECK && process.env.NAPI_RS_ENFORCE_VERSION_CHECK !== '0') {
+ throw new Error(`Native binding package version mismatch, expected 2.1.0 but got ${bindingPackageVersion}. You can reinstall dependencies to fix this issue.`)
+ }
+ return binding
+ } catch (e) {
+ loadErrors.push(e)
+ }
+ } else if (process.arch === 'arm') {
+ try {
+ return require('./argon2.android-arm-eabi.node')
+ } catch (e) {
+ loadErrors.push(e)
+ }
+ try {
+ const binding = require('@node-rs/argon2-android-arm-eabi')
+ const bindingPackageVersion = require('@node-rs/argon2-android-arm-eabi/package.json').version
+ if (bindingPackageVersion !== '2.1.0' && process.env.NAPI_RS_ENFORCE_VERSION_CHECK && process.env.NAPI_RS_ENFORCE_VERSION_CHECK !== '0') {
+ throw new Error(`Native binding package version mismatch, expected 2.1.0 but got ${bindingPackageVersion}. You can reinstall dependencies to fix this issue.`)
+ }
+ return binding
+ } catch (e) {
+ loadErrors.push(e)
+ }
+ } else {
+ loadErrors.push(new Error(`Unsupported architecture on Android ${process.arch}`))
+ }
+ } else if (process.platform === 'win32') {
+ if (process.arch === 'x64') {
+ if ((process.config && process.config.variables && process.config.variables.shlib_suffix === 'dll.a') || (process.config && process.config.variables && process.config.variables.node_target_type === 'shared_library')) {
+ try {
+ return require('./argon2.win32-x64-gnu.node')
+ } catch (e) {
+ loadErrors.push(e)
+ }
+ try {
+ const binding = require('@node-rs/argon2-win32-x64-gnu')
+ const bindingPackageVersion = require('@node-rs/argon2-win32-x64-gnu/package.json').version
+ if (bindingPackageVersion !== '2.1.0' && process.env.NAPI_RS_ENFORCE_VERSION_CHECK && process.env.NAPI_RS_ENFORCE_VERSION_CHECK !== '0') {
+ throw new Error(`Native binding package version mismatch, expected 2.1.0 but got ${bindingPackageVersion}. You can reinstall dependencies to fix this issue.`)
+ }
+ return binding
+ } catch (e) {
+ loadErrors.push(e)
+ }
+ } else {
+ try {
+ return require('./argon2.win32-x64-msvc.node')
+ } catch (e) {
+ loadErrors.push(e)
+ }
+ try {
+ const binding = require('@node-rs/argon2-win32-x64-msvc')
+ const bindingPackageVersion = require('@node-rs/argon2-win32-x64-msvc/package.json').version
+ if (bindingPackageVersion !== '2.1.0' && process.env.NAPI_RS_ENFORCE_VERSION_CHECK && process.env.NAPI_RS_ENFORCE_VERSION_CHECK !== '0') {
+ throw new Error(`Native binding package version mismatch, expected 2.1.0 but got ${bindingPackageVersion}. You can reinstall dependencies to fix this issue.`)
+ }
+ return binding
+ } catch (e) {
+ loadErrors.push(e)
+ }
+ }
+ } else if (process.arch === 'ia32') {
+ try {
+ return require('./argon2.win32-ia32-msvc.node')
+ } catch (e) {
+ loadErrors.push(e)
+ }
+ try {
+ const binding = require('@node-rs/argon2-win32-ia32-msvc')
+ const bindingPackageVersion = require('@node-rs/argon2-win32-ia32-msvc/package.json').version
+ if (bindingPackageVersion !== '2.1.0' && process.env.NAPI_RS_ENFORCE_VERSION_CHECK && process.env.NAPI_RS_ENFORCE_VERSION_CHECK !== '0') {
+ throw new Error(`Native binding package version mismatch, expected 2.1.0 but got ${bindingPackageVersion}. You can reinstall dependencies to fix this issue.`)
+ }
+ return binding
+ } catch (e) {
+ loadErrors.push(e)
+ }
+ } else if (process.arch === 'arm64') {
+ try {
+ return require('./argon2.win32-arm64-msvc.node')
+ } catch (e) {
+ loadErrors.push(e)
+ }
+ try {
+ const binding = require('@node-rs/argon2-win32-arm64-msvc')
+ const bindingPackageVersion = require('@node-rs/argon2-win32-arm64-msvc/package.json').version
+ if (bindingPackageVersion !== '2.1.0' && process.env.NAPI_RS_ENFORCE_VERSION_CHECK && process.env.NAPI_RS_ENFORCE_VERSION_CHECK !== '0') {
+ throw new Error(`Native binding package version mismatch, expected 2.1.0 but got ${bindingPackageVersion}. You can reinstall dependencies to fix this issue.`)
+ }
+ return binding
+ } catch (e) {
+ loadErrors.push(e)
+ }
+ } else {
+ loadErrors.push(new Error(`Unsupported architecture on Windows: ${process.arch}`))
+ }
+ } else if (process.platform === 'darwin') {
+ try {
+ return require('./argon2.darwin-universal.node')
+ } catch (e) {
+ loadErrors.push(e)
+ }
+ try {
+ const binding = require('@node-rs/argon2-darwin-universal')
+ const bindingPackageVersion = require('@node-rs/argon2-darwin-universal/package.json').version
+ if (bindingPackageVersion !== '2.1.0' && process.env.NAPI_RS_ENFORCE_VERSION_CHECK && process.env.NAPI_RS_ENFORCE_VERSION_CHECK !== '0') {
+ throw new Error(`Native binding package version mismatch, expected 2.1.0 but got ${bindingPackageVersion}. You can reinstall dependencies to fix this issue.`)
+ }
+ return binding
+ } catch (e) {
+ loadErrors.push(e)
+ }
+ if (process.arch === 'x64') {
+ try {
+ return require('./argon2.darwin-x64.node')
+ } catch (e) {
+ loadErrors.push(e)
+ }
+ try {
+ const binding = require('@node-rs/argon2-darwin-x64')
+ const bindingPackageVersion = require('@node-rs/argon2-darwin-x64/package.json').version
+ if (bindingPackageVersion !== '2.1.0' && process.env.NAPI_RS_ENFORCE_VERSION_CHECK && process.env.NAPI_RS_ENFORCE_VERSION_CHECK !== '0') {
+ throw new Error(`Native binding package version mismatch, expected 2.1.0 but got ${bindingPackageVersion}. You can reinstall dependencies to fix this issue.`)
+ }
+ return binding
+ } catch (e) {
+ loadErrors.push(e)
+ }
+ } else if (process.arch === 'arm64') {
+ try {
+ return require('./argon2.darwin-arm64.node')
+ } catch (e) {
+ loadErrors.push(e)
+ }
+ try {
+ const binding = require('@node-rs/argon2-darwin-arm64')
+ const bindingPackageVersion = require('@node-rs/argon2-darwin-arm64/package.json').version
+ if (bindingPackageVersion !== '2.1.0' && process.env.NAPI_RS_ENFORCE_VERSION_CHECK && process.env.NAPI_RS_ENFORCE_VERSION_CHECK !== '0') {
+ throw new Error(`Native binding package version mismatch, expected 2.1.0 but got ${bindingPackageVersion}. You can reinstall dependencies to fix this issue.`)
+ }
+ return binding
+ } catch (e) {
+ loadErrors.push(e)
+ }
+ } else {
+ loadErrors.push(new Error(`Unsupported architecture on macOS: ${process.arch}`))
+ }
+ } else if (process.platform === 'freebsd') {
+ if (process.arch === 'x64') {
+ try {
+ return require('./argon2.freebsd-x64.node')
+ } catch (e) {
+ loadErrors.push(e)
+ }
+ try {
+ const binding = require('@node-rs/argon2-freebsd-x64')
+ const bindingPackageVersion = require('@node-rs/argon2-freebsd-x64/package.json').version
+ if (bindingPackageVersion !== '2.1.0' && process.env.NAPI_RS_ENFORCE_VERSION_CHECK && process.env.NAPI_RS_ENFORCE_VERSION_CHECK !== '0') {
+ throw new Error(`Native binding package version mismatch, expected 2.1.0 but got ${bindingPackageVersion}. You can reinstall dependencies to fix this issue.`)
+ }
+ return binding
+ } catch (e) {
+ loadErrors.push(e)
+ }
+ } else if (process.arch === 'arm64') {
+ try {
+ return require('./argon2.freebsd-arm64.node')
+ } catch (e) {
+ loadErrors.push(e)
+ }
+ try {
+ const binding = require('@node-rs/argon2-freebsd-arm64')
+ const bindingPackageVersion = require('@node-rs/argon2-freebsd-arm64/package.json').version
+ if (bindingPackageVersion !== '2.1.0' && process.env.NAPI_RS_ENFORCE_VERSION_CHECK && process.env.NAPI_RS_ENFORCE_VERSION_CHECK !== '0') {
+ throw new Error(`Native binding package version mismatch, expected 2.1.0 but got ${bindingPackageVersion}. You can reinstall dependencies to fix this issue.`)
+ }
+ return binding
+ } catch (e) {
+ loadErrors.push(e)
+ }
+ } else {
+ loadErrors.push(new Error(`Unsupported architecture on FreeBSD: ${process.arch}`))
+ }
+ } else if (process.platform === 'linux') {
+ if (process.arch === 'x64') {
+ if (isMusl()) {
+ try {
+ return require('./argon2.linux-x64-musl.node')
+ } catch (e) {
+ loadErrors.push(e)
+ }
+ try {
+ const binding = require('@node-rs/argon2-linux-x64-musl')
+ const bindingPackageVersion = require('@node-rs/argon2-linux-x64-musl/package.json').version
+ if (bindingPackageVersion !== '2.1.0' && process.env.NAPI_RS_ENFORCE_VERSION_CHECK && process.env.NAPI_RS_ENFORCE_VERSION_CHECK !== '0') {
+ throw new Error(`Native binding package version mismatch, expected 2.1.0 but got ${bindingPackageVersion}. You can reinstall dependencies to fix this issue.`)
+ }
+ return binding
+ } catch (e) {
+ loadErrors.push(e)
+ }
+ } else {
+ try {
+ return require('./argon2.linux-x64-gnu.node')
+ } catch (e) {
+ loadErrors.push(e)
+ }
+ try {
+ const binding = require('@node-rs/argon2-linux-x64-gnu')
+ const bindingPackageVersion = require('@node-rs/argon2-linux-x64-gnu/package.json').version
+ if (bindingPackageVersion !== '2.1.0' && process.env.NAPI_RS_ENFORCE_VERSION_CHECK && process.env.NAPI_RS_ENFORCE_VERSION_CHECK !== '0') {
+ throw new Error(`Native binding package version mismatch, expected 2.1.0 but got ${bindingPackageVersion}. You can reinstall dependencies to fix this issue.`)
+ }
+ return binding
+ } catch (e) {
+ loadErrors.push(e)
+ }
+ }
+ } else if (process.arch === 'arm64') {
+ if (isMusl()) {
+ try {
+ return require('./argon2.linux-arm64-musl.node')
+ } catch (e) {
+ loadErrors.push(e)
+ }
+ try {
+ const binding = require('@node-rs/argon2-linux-arm64-musl')
+ const bindingPackageVersion = require('@node-rs/argon2-linux-arm64-musl/package.json').version
+ if (bindingPackageVersion !== '2.1.0' && process.env.NAPI_RS_ENFORCE_VERSION_CHECK && process.env.NAPI_RS_ENFORCE_VERSION_CHECK !== '0') {
+ throw new Error(`Native binding package version mismatch, expected 2.1.0 but got ${bindingPackageVersion}. You can reinstall dependencies to fix this issue.`)
+ }
+ return binding
+ } catch (e) {
+ loadErrors.push(e)
+ }
+ } else {
+ try {
+ return require('./argon2.linux-arm64-gnu.node')
+ } catch (e) {
+ loadErrors.push(e)
+ }
+ try {
+ const binding = require('@node-rs/argon2-linux-arm64-gnu')
+ const bindingPackageVersion = require('@node-rs/argon2-linux-arm64-gnu/package.json').version
+ if (bindingPackageVersion !== '2.1.0' && process.env.NAPI_RS_ENFORCE_VERSION_CHECK && process.env.NAPI_RS_ENFORCE_VERSION_CHECK !== '0') {
+ throw new Error(`Native binding package version mismatch, expected 2.1.0 but got ${bindingPackageVersion}. You can reinstall dependencies to fix this issue.`)
+ }
+ return binding
+ } catch (e) {
+ loadErrors.push(e)
+ }
+ }
+ } else if (process.arch === 'arm') {
+ if (isMusl()) {
+ try {
+ return require('./argon2.linux-arm-musleabihf.node')
+ } catch (e) {
+ loadErrors.push(e)
+ }
+ try {
+ const binding = require('@node-rs/argon2-linux-arm-musleabihf')
+ const bindingPackageVersion = require('@node-rs/argon2-linux-arm-musleabihf/package.json').version
+ if (bindingPackageVersion !== '2.1.0' && process.env.NAPI_RS_ENFORCE_VERSION_CHECK && process.env.NAPI_RS_ENFORCE_VERSION_CHECK !== '0') {
+ throw new Error(`Native binding package version mismatch, expected 2.1.0 but got ${bindingPackageVersion}. You can reinstall dependencies to fix this issue.`)
+ }
+ return binding
+ } catch (e) {
+ loadErrors.push(e)
+ }
+ } else {
+ try {
+ return require('./argon2.linux-arm-gnueabihf.node')
+ } catch (e) {
+ loadErrors.push(e)
+ }
+ try {
+ const binding = require('@node-rs/argon2-linux-arm-gnueabihf')
+ const bindingPackageVersion = require('@node-rs/argon2-linux-arm-gnueabihf/package.json').version
+ if (bindingPackageVersion !== '2.1.0' && process.env.NAPI_RS_ENFORCE_VERSION_CHECK && process.env.NAPI_RS_ENFORCE_VERSION_CHECK !== '0') {
+ throw new Error(`Native binding package version mismatch, expected 2.1.0 but got ${bindingPackageVersion}. You can reinstall dependencies to fix this issue.`)
+ }
+ return binding
+ } catch (e) {
+ loadErrors.push(e)
+ }
+ }
+ } else if (process.arch === 'loong64') {
+ if (isMusl()) {
+ try {
+ return require('./argon2.linux-loong64-musl.node')
+ } catch (e) {
+ loadErrors.push(e)
+ }
+ try {
+ const binding = require('@node-rs/argon2-linux-loong64-musl')
+ const bindingPackageVersion = require('@node-rs/argon2-linux-loong64-musl/package.json').version
+ if (bindingPackageVersion !== '2.1.0' && process.env.NAPI_RS_ENFORCE_VERSION_CHECK && process.env.NAPI_RS_ENFORCE_VERSION_CHECK !== '0') {
+ throw new Error(`Native binding package version mismatch, expected 2.1.0 but got ${bindingPackageVersion}. You can reinstall dependencies to fix this issue.`)
+ }
+ return binding
+ } catch (e) {
+ loadErrors.push(e)
+ }
+ } else {
+ try {
+ return require('./argon2.linux-loong64-gnu.node')
+ } catch (e) {
+ loadErrors.push(e)
+ }
+ try {
+ const binding = require('@node-rs/argon2-linux-loong64-gnu')
+ const bindingPackageVersion = require('@node-rs/argon2-linux-loong64-gnu/package.json').version
+ if (bindingPackageVersion !== '2.1.0' && process.env.NAPI_RS_ENFORCE_VERSION_CHECK && process.env.NAPI_RS_ENFORCE_VERSION_CHECK !== '0') {
+ throw new Error(`Native binding package version mismatch, expected 2.1.0 but got ${bindingPackageVersion}. You can reinstall dependencies to fix this issue.`)
+ }
+ return binding
+ } catch (e) {
+ loadErrors.push(e)
+ }
+ }
+ } else if (process.arch === 'riscv64') {
+ if (isMusl()) {
+ try {
+ return require('./argon2.linux-riscv64-musl.node')
+ } catch (e) {
+ loadErrors.push(e)
+ }
+ try {
+ const binding = require('@node-rs/argon2-linux-riscv64-musl')
+ const bindingPackageVersion = require('@node-rs/argon2-linux-riscv64-musl/package.json').version
+ if (bindingPackageVersion !== '2.1.0' && process.env.NAPI_RS_ENFORCE_VERSION_CHECK && process.env.NAPI_RS_ENFORCE_VERSION_CHECK !== '0') {
+ throw new Error(`Native binding package version mismatch, expected 2.1.0 but got ${bindingPackageVersion}. You can reinstall dependencies to fix this issue.`)
+ }
+ return binding
+ } catch (e) {
+ loadErrors.push(e)
+ }
+ } else {
+ try {
+ return require('./argon2.linux-riscv64-gnu.node')
+ } catch (e) {
+ loadErrors.push(e)
+ }
+ try {
+ const binding = require('@node-rs/argon2-linux-riscv64-gnu')
+ const bindingPackageVersion = require('@node-rs/argon2-linux-riscv64-gnu/package.json').version
+ if (bindingPackageVersion !== '2.1.0' && process.env.NAPI_RS_ENFORCE_VERSION_CHECK && process.env.NAPI_RS_ENFORCE_VERSION_CHECK !== '0') {
+ throw new Error(`Native binding package version mismatch, expected 2.1.0 but got ${bindingPackageVersion}. You can reinstall dependencies to fix this issue.`)
+ }
+ return binding
+ } catch (e) {
+ loadErrors.push(e)
+ }
+ }
+ } else if (process.arch === 'ppc64') {
+ try {
+ return require('./argon2.linux-ppc64-gnu.node')
+ } catch (e) {
+ loadErrors.push(e)
+ }
+ try {
+ const binding = require('@node-rs/argon2-linux-ppc64-gnu')
+ const bindingPackageVersion = require('@node-rs/argon2-linux-ppc64-gnu/package.json').version
+ if (bindingPackageVersion !== '2.1.0' && process.env.NAPI_RS_ENFORCE_VERSION_CHECK && process.env.NAPI_RS_ENFORCE_VERSION_CHECK !== '0') {
+ throw new Error(`Native binding package version mismatch, expected 2.1.0 but got ${bindingPackageVersion}. You can reinstall dependencies to fix this issue.`)
+ }
+ return binding
+ } catch (e) {
+ loadErrors.push(e)
+ }
+ } else if (process.arch === 's390x') {
+ try {
+ return require('./argon2.linux-s390x-gnu.node')
+ } catch (e) {
+ loadErrors.push(e)
+ }
+ try {
+ const binding = require('@node-rs/argon2-linux-s390x-gnu')
+ const bindingPackageVersion = require('@node-rs/argon2-linux-s390x-gnu/package.json').version
+ if (bindingPackageVersion !== '2.1.0' && process.env.NAPI_RS_ENFORCE_VERSION_CHECK && process.env.NAPI_RS_ENFORCE_VERSION_CHECK !== '0') {
+ throw new Error(`Native binding package version mismatch, expected 2.1.0 but got ${bindingPackageVersion}. You can reinstall dependencies to fix this issue.`)
+ }
+ return binding
+ } catch (e) {
+ loadErrors.push(e)
+ }
+ } else {
+ loadErrors.push(new Error(`Unsupported architecture on Linux: ${process.arch}`))
+ }
+ } else if (process.platform === 'openharmony') {
+ if (process.arch === 'arm64') {
+ try {
+ return require('./argon2.openharmony-arm64.node')
+ } catch (e) {
+ loadErrors.push(e)
+ }
+ try {
+ const binding = require('@node-rs/argon2-openharmony-arm64')
+ const bindingPackageVersion = require('@node-rs/argon2-openharmony-arm64/package.json').version
+ if (bindingPackageVersion !== '2.1.0' && process.env.NAPI_RS_ENFORCE_VERSION_CHECK && process.env.NAPI_RS_ENFORCE_VERSION_CHECK !== '0') {
+ throw new Error(`Native binding package version mismatch, expected 2.1.0 but got ${bindingPackageVersion}. You can reinstall dependencies to fix this issue.`)
+ }
+ return binding
+ } catch (e) {
+ loadErrors.push(e)
+ }
+ } else if (process.arch === 'x64') {
+ try {
+ return require('./argon2.openharmony-x64.node')
+ } catch (e) {
+ loadErrors.push(e)
+ }
+ try {
+ const binding = require('@node-rs/argon2-openharmony-x64')
+ const bindingPackageVersion = require('@node-rs/argon2-openharmony-x64/package.json').version
+ if (bindingPackageVersion !== '2.1.0' && process.env.NAPI_RS_ENFORCE_VERSION_CHECK && process.env.NAPI_RS_ENFORCE_VERSION_CHECK !== '0') {
+ throw new Error(`Native binding package version mismatch, expected 2.1.0 but got ${bindingPackageVersion}. You can reinstall dependencies to fix this issue.`)
+ }
+ return binding
+ } catch (e) {
+ loadErrors.push(e)
+ }
+ } else if (process.arch === 'arm') {
+ try {
+ return require('./argon2.openharmony-arm.node')
+ } catch (e) {
+ loadErrors.push(e)
+ }
+ try {
+ const binding = require('@node-rs/argon2-openharmony-arm')
+ const bindingPackageVersion = require('@node-rs/argon2-openharmony-arm/package.json').version
+ if (bindingPackageVersion !== '2.1.0' && process.env.NAPI_RS_ENFORCE_VERSION_CHECK && process.env.NAPI_RS_ENFORCE_VERSION_CHECK !== '0') {
+ throw new Error(`Native binding package version mismatch, expected 2.1.0 but got ${bindingPackageVersion}. You can reinstall dependencies to fix this issue.`)
+ }
+ return binding
+ } catch (e) {
+ loadErrors.push(e)
+ }
+ } else {
+ loadErrors.push(new Error(`Unsupported architecture on OpenHarmony: ${process.arch}`))
+ }
+ } else {
+ loadErrors.push(new Error(`Unsupported OS: ${process.platform}, architecture: ${process.arch}`))
+ }
+}
+
+function createLoadErrorChain(errors) {
+ return errors.reduce((previous, current) => {
+ let message
+ try {
+ message =
+ current && typeof current.message === 'string'
+ ? current.message
+ : String(current)
+ } catch {
+ message = 'Unknown error'
+ }
+ const error = new Error(message)
+ error.cause = previous
+ return error
+ }, null)
+}
+
+// NAPI_RS_FORCE_WASI is a tri-state flag:
+// unset / any other value → native binding preferred, WASI is only a fallback
+// 'true' → prefer WASI, but retain native as a lazy fallback
+// 'error' → require WASI without initializing a native fallback
+// Treating any non-empty string as truthy (the historical behavior) meant
+// NAPI_RS_FORCE_WASI=false, NAPI_RS_FORCE_WASI=0, etc. inadvertently triggered
+// the WASI path, causing ENOENT for packages shipped without a .wasi.cjs file.
+//
+// NAPI_RS_WASI_FLAVOR selects one exact generated flavor and implies strict
+// WASI loading. It never crosses into another flavor or falls back to native.
+const __napiWasiFlavors = ["wasm32-wasi"]
+const __napiWasiFlavor = process.env.NAPI_RS_WASI_FLAVOR
+const __napiWasiFlavorRequested =
+ typeof __napiWasiFlavor === 'string' && __napiWasiFlavor.length > 0
+if (
+ __napiWasiFlavorRequested &&
+ __napiWasiFlavors.indexOf(__napiWasiFlavor) === -1
+) {
+ throw new Error(
+ 'Unsupported WASI flavor "' +
+ __napiWasiFlavor +
+ '". Available flavors: ' +
+ __napiWasiFlavors.join(', '),
+ )
+}
+const forceWasiError = process.env.NAPI_RS_FORCE_WASI === 'error'
+const forceWasi =
+ process.env.NAPI_RS_FORCE_WASI === 'true' ||
+ forceWasiError ||
+ __napiWasiFlavorRequested
+
+if (!forceWasi) {
+ nativeBinding = requireNative()
+}
+
+if (!nativeBinding || forceWasi) {
+ let wasiBinding = null
+ let wasiBindingLoaded = false
+ const wasiBindingErrors = []
+ const __napiWasiResolveCandidate = (specifier, isPackage, localArtifacts) => {
+ try {
+ require.resolve(specifier)
+ } catch (resolveError) {
+ if (!resolveError || resolveError.code !== 'MODULE_NOT_FOUND') {
+ throw resolveError
+ }
+ if (isPackage) {
+ try {
+ require.resolve(specifier + '/package.json')
+ } catch (packageError) {
+ if (packageError && packageError.code === 'MODULE_NOT_FOUND') {
+ return resolveError
+ }
+ // An exports restriction proves the package exists even when its
+ // package.json is not public. Preserve the root resolution failure.
+ throw resolveError
+ }
+ // The package exists but its main/export target is broken.
+ throw resolveError
+ }
+ return resolveError
+ }
+ if (localArtifacts) {
+ let artifactError = null
+ for (let i = 0; i < localArtifacts.length; i++) {
+ try {
+ require.resolve(localArtifacts[i])
+ return null
+ } catch (resolveError) {
+ if (!resolveError || resolveError.code !== 'MODULE_NOT_FOUND') {
+ throw resolveError
+ }
+ artifactError = resolveError
+ }
+ }
+ return artifactError
+ }
+ return null
+ }
+ if (!wasiBindingLoaded && (!__napiWasiFlavorRequested || __napiWasiFlavor === "wasm32-wasi")) {
+ let candidateError = null
+ let candidateFailed = false
+ try {
+ candidateError = __napiWasiResolveCandidate('./argon2.wasi.cjs', false, ["./argon2.wasm32-wasi.debug.wasm","./argon2.wasm32-wasi.wasm"])
+ candidateFailed = candidateError !== null
+ if (!candidateFailed) {
+ wasiBinding = require('./argon2.wasi.cjs')
+ nativeBinding = wasiBinding
+ wasiBindingLoaded = true
+ }
+ } catch (err) {
+ candidateError = err
+ candidateFailed = true
+ }
+ if (candidateFailed) {
+ wasiBindingErrors.push(candidateError)
+ loadErrors.push(candidateError)
+ }
+ }
+ if (!wasiBindingLoaded && (!__napiWasiFlavorRequested || __napiWasiFlavor === "wasm32-wasi")) {
+ let candidateError = null
+ let candidateFailed = false
+ try {
+ candidateError = __napiWasiResolveCandidate('@node-rs/argon2-wasm32-wasi', true, undefined)
+ candidateFailed = candidateError !== null
+ if (!candidateFailed) {
+ if (process.env.NAPI_RS_ENFORCE_VERSION_CHECK && process.env.NAPI_RS_ENFORCE_VERSION_CHECK !== '0') {
+ const bindingPackageVersion = require('@node-rs/argon2-wasm32-wasi/package.json').version
+ if (bindingPackageVersion !== '2.1.0') {
+ throw new Error(`WASI binding package version mismatch, expected 2.1.0 but got ${bindingPackageVersion}. You can reinstall dependencies to fix this issue.`)
+ }
+ }
+ wasiBinding = require('@node-rs/argon2-wasm32-wasi')
+ nativeBinding = wasiBinding
+ wasiBindingLoaded = true
+ }
+ } catch (err) {
+ candidateError = err
+ candidateFailed = true
+ }
+ if (candidateFailed) {
+ wasiBindingErrors.push(candidateError)
+ loadErrors.push(candidateError)
+ }
+ }
+ if (
+ !wasiBindingLoaded &&
+ forceWasi &&
+ !forceWasiError &&
+ !__napiWasiFlavorRequested
+ ) {
+ nativeBinding = requireNative()
+ }
+ if ((forceWasiError || __napiWasiFlavorRequested) && !wasiBindingLoaded) {
+ const error = new Error(
+ __napiWasiFlavorRequested
+ ? 'WASI binding for flavor "' + __napiWasiFlavor + '" not found'
+ : 'WASI binding not found and NAPI_RS_FORCE_WASI is set to error',
+ )
+ error.cause = createLoadErrorChain(wasiBindingErrors)
+ throw error
+ }
+}
+
+if (!nativeBinding) {
+ if (loadErrors.length > 0) {
+ const error = new Error(
+ `Cannot find native binding. ` +
+ `npm has a bug related to optional dependencies (https://github.com/npm/cli/issues/4828). ` +
+ 'Please try `npm i` again after removing both package-lock.json and node_modules directory.',
+ )
+ // assign instead of the `new Error(message, { cause })` options form,
+ // which Node < 16.9 silently ignores
+ error.cause = createLoadErrorChain(loadErrors)
+ throw error
+ }
+ throw new Error(`Failed to load native binding`)
+}
+
+module.exports = nativeBinding
+module.exports.Algorithm = nativeBinding.Algorithm
+module.exports.hash = nativeBinding.hash
+module.exports.hashRaw = nativeBinding.hashRaw
+module.exports.hashRawSync = nativeBinding.hashRawSync
+module.exports.hashSync = nativeBinding.hashSync
+module.exports.parseOptions = nativeBinding.parseOptions
+module.exports.verify = nativeBinding.verify
+module.exports.verifySync = nativeBinding.verifySync
+module.exports.Version = nativeBinding.Version
diff --git a/apps/api/.output/node_modules/@node-rs/argon2/package.json b/apps/api/.output/node_modules/@node-rs/argon2/package.json
new file mode 100644
index 0000000..0b5f197
--- /dev/null
+++ b/apps/api/.output/node_modules/@node-rs/argon2/package.json
@@ -0,0 +1,95 @@
+{
+ "name": "@node-rs/argon2",
+ "version": "2.2.2",
+ "description": "argon2-rust binding for Node.js",
+ "keywords": [
+ "argon2",
+ "argon2-password",
+ "crypto",
+ "encryption",
+ "hash",
+ "hashing",
+ "password",
+ "secure",
+ "verify"
+ ],
+ "homepage": "https://github.com/napi-rs/node-rs",
+ "license": "MIT",
+ "repository": {
+ "type": "git",
+ "url": "git+https://github.com/napi-rs/node-rs.git"
+ },
+ "files": [
+ "browser.js",
+ "index.d.ts",
+ "index.js"
+ ],
+ "main": "index.js",
+ "browser": "browser.js",
+ "types": "index.d.ts",
+ "publishConfig": {
+ "access": "public",
+ "registry": "https://registry.npmjs.org/"
+ },
+ "scripts": {
+ "artifacts": "napi artifacts -d ../../artifacts",
+ "bench": "cross-env NODE_ENV=production node --import @oxc-node/core/register benchmark/argon2.ts",
+ "build": "oxnode ./build.ts --platform --release",
+ "build:debug": "oxnode ./build.ts --platform",
+ "prepublishOnly": "napi prepublish",
+ "version": "napi version"
+ },
+ "devDependencies": {
+ "@napi-rs/cli": "^3.10.8",
+ "@noble/hashes": "^2.3.0",
+ "@oxc-node/cli": "^0.1.0",
+ "@oxc-node/core": "^0.1.0",
+ "argon2": "^0.45.1",
+ "cross-env": "^10.1.0",
+ "hash-wasm": "^4.12.0",
+ "tinybench": "^6.1.3"
+ },
+ "napi": {
+ "binaryName": "argon2",
+ "targets": [
+ "x86_64-apple-darwin",
+ "aarch64-apple-darwin",
+ "x86_64-pc-windows-msvc",
+ "x86_64-unknown-linux-gnu",
+ "aarch64-linux-android",
+ "aarch64-unknown-linux-gnu",
+ "aarch64-unknown-linux-musl",
+ "aarch64-pc-windows-msvc",
+ "armv7-unknown-linux-gnueabihf",
+ "x86_64-unknown-linux-musl",
+ "x86_64-unknown-freebsd",
+ "i686-pc-windows-msvc",
+ "armv7-linux-androideabi",
+ "wasm32-wasip1-threads"
+ ],
+ "wasm": {
+ "browser": {
+ "fs": false
+ }
+ }
+ },
+ "engines": {
+ "node": ">= 10"
+ },
+ "gitHead": "b706e3035f5d4d487ae66ea0549a041cd509e5d4",
+ "optionalDependencies": {
+ "@node-rs/argon2-darwin-x64": "2.2.2",
+ "@node-rs/argon2-darwin-arm64": "2.2.2",
+ "@node-rs/argon2-win32-x64-msvc": "2.2.2",
+ "@node-rs/argon2-linux-x64-gnu": "2.2.2",
+ "@node-rs/argon2-android-arm64": "2.2.2",
+ "@node-rs/argon2-linux-arm64-gnu": "2.2.2",
+ "@node-rs/argon2-linux-arm64-musl": "2.2.2",
+ "@node-rs/argon2-win32-arm64-msvc": "2.2.2",
+ "@node-rs/argon2-linux-arm-gnueabihf": "2.2.2",
+ "@node-rs/argon2-linux-x64-musl": "2.2.2",
+ "@node-rs/argon2-freebsd-x64": "2.2.2",
+ "@node-rs/argon2-win32-ia32-msvc": "2.2.2",
+ "@node-rs/argon2-android-arm-eabi": "2.2.2"
+ }
+}
diff --git a/apps/api/.output/node_modules/detect-libc/LICENSE b/apps/api/.output/node_modules/detect-libc/LICENSE
new file mode 100644
index 0000000..8dada3e
--- /dev/null
+++ b/apps/api/.output/node_modules/detect-libc/LICENSE
@@ -0,0 +1,201 @@
+ Apache License
+ Version 2.0, January 2004
+ http://www.apache.org/licenses/
+
+ TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION
+
+ 1. Definitions.
+
+ "License" shall mean the terms and conditions for use, reproduction,
+ and distribution as defined by Sections 1 through 9 of this document.
+
+ "Licensor" shall mean the copyright owner or entity authorized by
+ the copyright owner that is granting the License.
+
+ "Legal Entity" shall mean the union of the acting entity and all
+ other entities that control, are controlled by, or are under common
+ control with that entity. For the purposes of this definition,
+ "control" means (i) the power, direct or indirect, to cause the
+ direction or management of such entity, whether by contract or
+ otherwise, or (ii) ownership of fifty percent (50%) or more of the
+ outstanding shares, or (iii) beneficial ownership of such entity.
+
+ "You" (or "Your") shall mean an individual or Legal Entity
+ exercising permissions granted by this License.
+
+ "Source" form shall mean the preferred form for making modifications,
+ including but not limited to software source code, documentation
+ source, and configuration files.
+
+ "Object" form shall mean any form resulting from mechanical
+ transformation or translation of a Source form, including but
+ not limited to compiled object code, generated documentation,
+ and conversions to other media types.
+
+ "Work" shall mean the work of authorship, whether in Source or
+ Object form, made available under the License, as indicated by a
+ copyright notice that is included in or attached to the work
+ (an example is provided in the Appendix below).
+
+ "Derivative Works" shall mean any work, whether in Source or Object
+ form, that is based on (or derived from) the Work and for which the
+ editorial revisions, annotations, elaborations, or other modifications
+ represent, as a whole, an original work of authorship. For the purposes
+ of this License, Derivative Works shall not include works that remain
+ separable from, or merely link (or bind by name) to the interfaces of,
+ the Work and Derivative Works thereof.
+
+ "Contribution" shall mean any work of authorship, including
+ the original version of the Work and any modifications or additions
+ to that Work or Derivative Works thereof, that is intentionally
+ submitted to Licensor for inclusion in the Work by the copyright owner
+ or by an individual or Legal Entity authorized to submit on behalf of
+ the copyright owner. For the purposes of this definition, "submitted"
+ means any form of electronic, verbal, or written communication sent
+ to the Licensor or its representatives, including but not limited to
+ communication on electronic mailing lists, source code control systems,
+ and issue tracking systems that are managed by, or on behalf of, the
+ Licensor for the purpose of discussing and improving the Work, but
+ excluding communication that is conspicuously marked or otherwise
+ designated in writing by the copyright owner as "Not a Contribution."
+
+ "Contributor" shall mean Licensor and any individual or Legal Entity
+ on behalf of whom a Contribution has been received by Licensor and
+ subsequently incorporated within the Work.
+
+ 2. Grant of Copyright License. Subject to the terms and conditions of
+ this License, each Contributor hereby grants to You a perpetual,
+ worldwide, non-exclusive, no-charge, royalty-free, irrevocable
+ copyright license to reproduce, prepare Derivative Works of,
+ publicly display, publicly perform, sublicense, and distribute the
+ Work and such Derivative Works in Source or Object form.
+
+ 3. Grant of Patent License. Subject to the terms and conditions of
+ this License, each Contributor hereby grants to You a perpetual,
+ worldwide, non-exclusive, no-charge, royalty-free, irrevocable
+ (except as stated in this section) patent license to make, have made,
+ use, offer to sell, sell, import, and otherwise transfer the Work,
+ where such license applies only to those patent claims licensable
+ by such Contributor that are necessarily infringed by their
+ Contribution(s) alone or by combination of their Contribution(s)
+ with the Work to which such Contribution(s) was submitted. If You
+ institute patent litigation against any entity (including a
+ cross-claim or counterclaim in a lawsuit) alleging that the Work
+ or a Contribution incorporated within the Work constitutes direct
+ or contributory patent infringement, then any patent licenses
+ granted to You under this License for that Work shall terminate
+ as of the date such litigation is filed.
+
+ 4. Redistribution. You may reproduce and distribute copies of the
+ Work or Derivative Works thereof in any medium, with or without
+ modifications, and in Source or Object form, provided that You
+ meet the following conditions:
+
+ (a) You must give any other recipients of the Work or
+ Derivative Works a copy of this License; and
+
+ (b) You must cause any modified files to carry prominent notices
+ stating that You changed the files; and
+
+ (c) You must retain, in the Source form of any Derivative Works
+ that You distribute, all copyright, patent, trademark, and
+ attribution notices from the Source form of the Work,
+ excluding those notices that do not pertain to any part of
+ the Derivative Works; and
+
+ (d) If the Work includes a "NOTICE" text file as part of its
+ distribution, then any Derivative Works that You distribute must
+ include a readable copy of the attribution notices contained
+ within such NOTICE file, excluding those notices that do not
+ pertain to any part of the Derivative Works, in at least one
+ of the following places: within a NOTICE text file distributed
+ as part of the Derivative Works; within the Source form or
+ documentation, if provided along with the Derivative Works; or,
+ within a display generated by the Derivative Works, if and
+ wherever such third-party notices normally appear. The contents
+ of the NOTICE file are for informational purposes only and
+ do not modify the License. You may add Your own attribution
+ notices within Derivative Works that You distribute, alongside
+ or as an addendum to the NOTICE text from the Work, provided
+ that such additional attribution notices cannot be construed
+ as modifying the License.
+
+ You may add Your own copyright statement to Your modifications and
+ may provide additional or different license terms and conditions
+ for use, reproduction, or distribution of Your modifications, or
+ for any such Derivative Works as a whole, provided Your use,
+ reproduction, and distribution of the Work otherwise complies with
+ the conditions stated in this License.
+
+ 5. Submission of Contributions. Unless You explicitly state otherwise,
+ any Contribution intentionally submitted for inclusion in the Work
+ by You to the Licensor shall be under the terms and conditions of
+ this License, without any additional terms or conditions.
+ Notwithstanding the above, nothing herein shall supersede or modify
+ the terms of any separate license agreement you may have executed
+ with Licensor regarding such Contributions.
+
+ 6. Trademarks. This License does not grant permission to use the trade
+ names, trademarks, service marks, or product names of the Licensor,
+ except as required for reasonable and customary use in describing the
+ origin of the Work and reproducing the content of the NOTICE file.
+
+ 7. Disclaimer of Warranty. Unless required by applicable law or
+ agreed to in writing, Licensor provides the Work (and each
+ Contributor provides its Contributions) on an "AS IS" BASIS,
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
+ implied, including, without limitation, any warranties or conditions
+ of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A
+ PARTICULAR PURPOSE. You are solely responsible for determining the
+ appropriateness of using or redistributing the Work and assume any
+ risks associated with Your exercise of permissions under this License.
+
+ 8. Limitation of Liability. In no event and under no legal theory,
+ whether in tort (including negligence), contract, or otherwise,
+ unless required by applicable law (such as deliberate and grossly
+ negligent acts) or agreed to in writing, shall any Contributor be
+ liable to You for damages, including any direct, indirect, special,
+ incidental, or consequential damages of any character arising as a
+ result of this License or out of the use or inability to use the
+ Work (including but not limited to damages for loss of goodwill,
+ work stoppage, computer failure or malfunction, or any and all
+ other commercial damages or losses), even if such Contributor
+ has been advised of the possibility of such damages.
+
+ 9. Accepting Warranty or Additional Liability. While redistributing
+ the Work or Derivative Works thereof, You may choose to offer,
+ and charge a fee for, acceptance of support, warranty, indemnity,
+ or other liability obligations and/or rights consistent with this
+ License. However, in accepting such obligations, You may act only
+ on Your own behalf and on Your sole responsibility, not on behalf
+ of any other Contributor, and only if You agree to indemnify,
+ defend, and hold each Contributor harmless for any liability
+ incurred by, or claims asserted against, such Contributor by reason
+ of your accepting any such warranty or additional liability.
+
+ END OF TERMS AND CONDITIONS
+
+ APPENDIX: How to apply the Apache License to your work.
+
+ To apply the Apache License to your work, attach the following
+ boilerplate notice, with the fields enclosed by brackets "{}"
+ replaced with your own identifying information. (Don't include
+ the brackets!) The text should be enclosed in the appropriate
+ comment syntax for the file format. We also recommend that a
+ file or class name and description of purpose be included on the
+ same "printed page" as the copyright notice for easier
+ identification within third-party archives.
+
+ Copyright {yyyy} {name of copyright owner}
+
+ Licensed under the Apache License, Version 2.0 (the "License");
+ you may not use this file except in compliance with the License.
+ You may obtain a copy of the License at
+
+ http://www.apache.org/licenses/LICENSE-2.0
+
+ Unless required by applicable law or agreed to in writing, software
+ distributed under the License is distributed on an "AS IS" BASIS,
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ See the License for the specific language governing permissions and
+ limitations under the License.
diff --git a/apps/api/.output/node_modules/detect-libc/README.md b/apps/api/.output/node_modules/detect-libc/README.md
new file mode 100644
index 0000000..23212fd
--- /dev/null
+++ b/apps/api/.output/node_modules/detect-libc/README.md
@@ -0,0 +1,163 @@
+# detect-libc
+
+Node.js module to detect details of the C standard library (libc)
+implementation provided by a given Linux system.
+
+Currently supports detection of GNU glibc and MUSL libc.
+
+Provides asychronous and synchronous functions for the
+family (e.g. `glibc`, `musl`) and version (e.g. `1.23`, `1.2.3`).
+
+The version numbers of libc implementations
+are not guaranteed to be semver-compliant.
+
+For previous v1.x releases, please see the
+[v1](https://github.com/lovell/detect-libc/tree/v1) branch.
+
+## Install
+
+```sh
+npm install detect-libc
+```
+
+## API
+
+### GLIBC
+
+```ts
+const GLIBC: string = 'glibc';
+```
+
+A String constant containing the value `glibc`.
+
+### MUSL
+
+```ts
+const MUSL: string = 'musl';
+```
+
+A String constant containing the value `musl`.
+
+### family
+
+```ts
+function family(): Promise;
+```
+
+Resolves asychronously with:
+
+* `glibc` or `musl` when the libc family can be determined
+* `null` when the libc family cannot be determined
+* `null` when run on a non-Linux platform
+
+```js
+const { family, GLIBC, MUSL } = require('detect-libc');
+
+switch (await family()) {
+ case GLIBC: ...
+ case MUSL: ...
+ case null: ...
+}
+```
+
+### familySync
+
+```ts
+function familySync(): string | null;
+```
+
+Synchronous version of `family()`.
+
+```js
+const { familySync, GLIBC, MUSL } = require('detect-libc');
+
+switch (familySync()) {
+ case GLIBC: ...
+ case MUSL: ...
+ case null: ...
+}
+```
+
+### version
+
+```ts
+function version(): Promise;
+```
+
+Resolves asychronously with:
+
+* The version when it can be determined
+* `null` when the libc family cannot be determined
+* `null` when run on a non-Linux platform
+
+```js
+const { version } = require('detect-libc');
+
+const v = await version();
+if (v) {
+ const [major, minor, patch] = v.split('.');
+}
+```
+
+### versionSync
+
+```ts
+function versionSync(): string | null;
+```
+
+Synchronous version of `version()`.
+
+```js
+const { versionSync } = require('detect-libc');
+
+const v = versionSync();
+if (v) {
+ const [major, minor, patch] = v.split('.');
+}
+```
+
+### isNonGlibcLinux
+
+```ts
+function isNonGlibcLinux(): Promise;
+```
+
+Resolves asychronously with:
+
+* `false` when the libc family is `glibc`
+* `true` when the libc family is not `glibc`
+* `false` when run on a non-Linux platform
+
+```js
+const { isNonGlibcLinux } = require('detect-libc');
+
+if (await isNonGlibcLinux()) { ... }
+```
+
+### isNonGlibcLinuxSync
+
+```ts
+function isNonGlibcLinuxSync(): boolean;
+```
+
+Synchronous version of `isNonGlibcLinux()`.
+
+```js
+const { isNonGlibcLinuxSync } = require('detect-libc');
+
+if (isNonGlibcLinuxSync()) { ... }
+```
+
+## Licensing
+
+Copyright 2017 Lovell Fuller and others.
+
+Licensed under the Apache License, Version 2.0 (the "License");
+you may not use this file except in compliance with the License.
+You may obtain a copy of the License at [http://www.apache.org/licenses/LICENSE-2.0](http://www.apache.org/licenses/LICENSE-2.0.html)
+
+Unless required by applicable law or agreed to in writing, software
+distributed under the License is distributed on an "AS IS" BASIS,
+WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+See the License for the specific language governing permissions and
+limitations under the License.
diff --git a/apps/api/.output/node_modules/detect-libc/index.d.ts b/apps/api/.output/node_modules/detect-libc/index.d.ts
new file mode 100644
index 0000000..4c0fb2b
--- /dev/null
+++ b/apps/api/.output/node_modules/detect-libc/index.d.ts
@@ -0,0 +1,14 @@
+// Copyright 2017 Lovell Fuller and others.
+// SPDX-License-Identifier: Apache-2.0
+
+export const GLIBC: 'glibc';
+export const MUSL: 'musl';
+
+export function family(): Promise;
+export function familySync(): string | null;
+
+export function isNonGlibcLinux(): Promise;
+export function isNonGlibcLinuxSync(): boolean;
+
+export function version(): Promise;
+export function versionSync(): string | null;
diff --git a/apps/api/.output/node_modules/detect-libc/lib/detect-libc.js b/apps/api/.output/node_modules/detect-libc/lib/detect-libc.js
new file mode 100644
index 0000000..01299b4
--- /dev/null
+++ b/apps/api/.output/node_modules/detect-libc/lib/detect-libc.js
@@ -0,0 +1,313 @@
+// Copyright 2017 Lovell Fuller and others.
+// SPDX-License-Identifier: Apache-2.0
+
+'use strict';
+
+const childProcess = require('child_process');
+const { isLinux, getReport } = require('./process');
+const { LDD_PATH, SELF_PATH, readFile, readFileSync } = require('./filesystem');
+const { interpreterPath } = require('./elf');
+
+let cachedFamilyInterpreter;
+let cachedFamilyFilesystem;
+let cachedVersionFilesystem;
+
+const command = 'getconf GNU_LIBC_VERSION 2>&1 || true; ldd --version 2>&1 || true';
+let commandOut = '';
+
+const safeCommand = () => {
+ if (!commandOut) {
+ return new Promise((resolve) => {
+ childProcess.exec(command, (err, out) => {
+ commandOut = err ? ' ' : out;
+ resolve(commandOut);
+ });
+ });
+ }
+ return commandOut;
+};
+
+const safeCommandSync = () => {
+ if (!commandOut) {
+ try {
+ commandOut = childProcess.execSync(command, { encoding: 'utf8' });
+ } catch (_err) {
+ commandOut = ' ';
+ }
+ }
+ return commandOut;
+};
+
+/**
+ * A String constant containing the value `glibc`.
+ * @type {string}
+ * @public
+ */
+const GLIBC = 'glibc';
+
+/**
+ * A Regexp constant to get the GLIBC Version.
+ * @type {string}
+ */
+const RE_GLIBC_VERSION = /LIBC[a-z0-9 \-).]*?(\d+\.\d+)/i;
+
+/**
+ * A String constant containing the value `musl`.
+ * @type {string}
+ * @public
+ */
+const MUSL = 'musl';
+
+const isFileMusl = (f) => f.includes('libc.musl-') || f.includes('ld-musl-');
+
+const familyFromReport = () => {
+ const report = getReport();
+ if (report.header && report.header.glibcVersionRuntime) {
+ return GLIBC;
+ }
+ if (Array.isArray(report.sharedObjects)) {
+ if (report.sharedObjects.some(isFileMusl)) {
+ return MUSL;
+ }
+ }
+ return null;
+};
+
+const familyFromCommand = (out) => {
+ const [getconf, ldd1] = out.split(/[\r\n]+/);
+ if (getconf && getconf.includes(GLIBC)) {
+ return GLIBC;
+ }
+ if (ldd1 && ldd1.includes(MUSL)) {
+ return MUSL;
+ }
+ return null;
+};
+
+const familyFromInterpreterPath = (path) => {
+ if (path) {
+ if (path.includes('/ld-musl-')) {
+ return MUSL;
+ } else if (path.includes('/ld-linux-')) {
+ return GLIBC;
+ }
+ }
+ return null;
+};
+
+const getFamilyFromLddContent = (content) => {
+ content = content.toString();
+ if (content.includes('musl')) {
+ return MUSL;
+ }
+ if (content.includes('GNU C Library')) {
+ return GLIBC;
+ }
+ return null;
+};
+
+const familyFromFilesystem = async () => {
+ if (cachedFamilyFilesystem !== undefined) {
+ return cachedFamilyFilesystem;
+ }
+ cachedFamilyFilesystem = null;
+ try {
+ const lddContent = await readFile(LDD_PATH);
+ cachedFamilyFilesystem = getFamilyFromLddContent(lddContent);
+ } catch (e) {}
+ return cachedFamilyFilesystem;
+};
+
+const familyFromFilesystemSync = () => {
+ if (cachedFamilyFilesystem !== undefined) {
+ return cachedFamilyFilesystem;
+ }
+ cachedFamilyFilesystem = null;
+ try {
+ const lddContent = readFileSync(LDD_PATH);
+ cachedFamilyFilesystem = getFamilyFromLddContent(lddContent);
+ } catch (e) {}
+ return cachedFamilyFilesystem;
+};
+
+const familyFromInterpreter = async () => {
+ if (cachedFamilyInterpreter !== undefined) {
+ return cachedFamilyInterpreter;
+ }
+ cachedFamilyInterpreter = null;
+ try {
+ const selfContent = await readFile(SELF_PATH);
+ const path = interpreterPath(selfContent);
+ cachedFamilyInterpreter = familyFromInterpreterPath(path);
+ } catch (e) {}
+ return cachedFamilyInterpreter;
+};
+
+const familyFromInterpreterSync = () => {
+ if (cachedFamilyInterpreter !== undefined) {
+ return cachedFamilyInterpreter;
+ }
+ cachedFamilyInterpreter = null;
+ try {
+ const selfContent = readFileSync(SELF_PATH);
+ const path = interpreterPath(selfContent);
+ cachedFamilyInterpreter = familyFromInterpreterPath(path);
+ } catch (e) {}
+ return cachedFamilyInterpreter;
+};
+
+/**
+ * Resolves with the libc family when it can be determined, `null` otherwise.
+ * @returns {Promise}
+ */
+const family = async () => {
+ let family = null;
+ if (isLinux()) {
+ family = await familyFromInterpreter();
+ if (!family) {
+ family = await familyFromFilesystem();
+ if (!family) {
+ family = familyFromReport();
+ }
+ if (!family) {
+ const out = await safeCommand();
+ family = familyFromCommand(out);
+ }
+ }
+ }
+ return family;
+};
+
+/**
+ * Returns the libc family when it can be determined, `null` otherwise.
+ * @returns {?string}
+ */
+const familySync = () => {
+ let family = null;
+ if (isLinux()) {
+ family = familyFromInterpreterSync();
+ if (!family) {
+ family = familyFromFilesystemSync();
+ if (!family) {
+ family = familyFromReport();
+ }
+ if (!family) {
+ const out = safeCommandSync();
+ family = familyFromCommand(out);
+ }
+ }
+ }
+ return family;
+};
+
+/**
+ * Resolves `true` only when the platform is Linux and the libc family is not `glibc`.
+ * @returns {Promise}
+ */
+const isNonGlibcLinux = async () => isLinux() && await family() !== GLIBC;
+
+/**
+ * Returns `true` only when the platform is Linux and the libc family is not `glibc`.
+ * @returns {boolean}
+ */
+const isNonGlibcLinuxSync = () => isLinux() && familySync() !== GLIBC;
+
+const versionFromFilesystem = async () => {
+ if (cachedVersionFilesystem !== undefined) {
+ return cachedVersionFilesystem;
+ }
+ cachedVersionFilesystem = null;
+ try {
+ const lddContent = await readFile(LDD_PATH);
+ const versionMatch = lddContent.match(RE_GLIBC_VERSION);
+ if (versionMatch) {
+ cachedVersionFilesystem = versionMatch[1];
+ }
+ } catch (e) {}
+ return cachedVersionFilesystem;
+};
+
+const versionFromFilesystemSync = () => {
+ if (cachedVersionFilesystem !== undefined) {
+ return cachedVersionFilesystem;
+ }
+ cachedVersionFilesystem = null;
+ try {
+ const lddContent = readFileSync(LDD_PATH);
+ const versionMatch = lddContent.match(RE_GLIBC_VERSION);
+ if (versionMatch) {
+ cachedVersionFilesystem = versionMatch[1];
+ }
+ } catch (e) {}
+ return cachedVersionFilesystem;
+};
+
+const versionFromReport = () => {
+ const report = getReport();
+ if (report.header && report.header.glibcVersionRuntime) {
+ return report.header.glibcVersionRuntime;
+ }
+ return null;
+};
+
+const versionSuffix = (s) => s.trim().split(/\s+/)[1];
+
+const versionFromCommand = (out) => {
+ const [getconf, ldd1, ldd2] = out.split(/[\r\n]+/);
+ if (getconf && getconf.includes(GLIBC)) {
+ return versionSuffix(getconf);
+ }
+ if (ldd1 && ldd2 && ldd1.includes(MUSL)) {
+ return versionSuffix(ldd2);
+ }
+ return null;
+};
+
+/**
+ * Resolves with the libc version when it can be determined, `null` otherwise.
+ * @returns {Promise}
+ */
+const version = async () => {
+ let version = null;
+ if (isLinux()) {
+ version = await versionFromFilesystem();
+ if (!version) {
+ version = versionFromReport();
+ }
+ if (!version) {
+ const out = await safeCommand();
+ version = versionFromCommand(out);
+ }
+ }
+ return version;
+};
+
+/**
+ * Returns the libc version when it can be determined, `null` otherwise.
+ * @returns {?string}
+ */
+const versionSync = () => {
+ let version = null;
+ if (isLinux()) {
+ version = versionFromFilesystemSync();
+ if (!version) {
+ version = versionFromReport();
+ }
+ if (!version) {
+ const out = safeCommandSync();
+ version = versionFromCommand(out);
+ }
+ }
+ return version;
+};
+
+module.exports = {
+ GLIBC,
+ MUSL,
+ family,
+ familySync,
+ isNonGlibcLinux,
+ isNonGlibcLinuxSync,
+ version,
+ versionSync
+};
diff --git a/apps/api/.output/node_modules/detect-libc/lib/elf.js b/apps/api/.output/node_modules/detect-libc/lib/elf.js
new file mode 100644
index 0000000..aa166aa
--- /dev/null
+++ b/apps/api/.output/node_modules/detect-libc/lib/elf.js
@@ -0,0 +1,39 @@
+// Copyright 2017 Lovell Fuller and others.
+// SPDX-License-Identifier: Apache-2.0
+
+'use strict';
+
+const interpreterPath = (elf) => {
+ if (elf.length < 64) {
+ return null;
+ }
+ if (elf.readUInt32BE(0) !== 0x7F454C46) {
+ // Unexpected magic bytes
+ return null;
+ }
+ if (elf.readUInt8(4) !== 2) {
+ // Not a 64-bit ELF
+ return null;
+ }
+ if (elf.readUInt8(5) !== 1) {
+ // Not little-endian
+ return null;
+ }
+ const offset = elf.readUInt32LE(32);
+ const size = elf.readUInt16LE(54);
+ const count = elf.readUInt16LE(56);
+ for (let i = 0; i < count; i++) {
+ const headerOffset = offset + (i * size);
+ const type = elf.readUInt32LE(headerOffset);
+ if (type === 3) {
+ const fileOffset = elf.readUInt32LE(headerOffset + 8);
+ const fileSize = elf.readUInt32LE(headerOffset + 32);
+ return elf.subarray(fileOffset, fileOffset + fileSize).toString().replace(/\0.*$/g, '');
+ }
+ }
+ return null;
+};
+
+module.exports = {
+ interpreterPath
+};
diff --git a/apps/api/.output/node_modules/detect-libc/lib/filesystem.js b/apps/api/.output/node_modules/detect-libc/lib/filesystem.js
new file mode 100644
index 0000000..4c2443c
--- /dev/null
+++ b/apps/api/.output/node_modules/detect-libc/lib/filesystem.js
@@ -0,0 +1,51 @@
+// Copyright 2017 Lovell Fuller and others.
+// SPDX-License-Identifier: Apache-2.0
+
+'use strict';
+
+const fs = require('fs');
+
+const LDD_PATH = '/usr/bin/ldd';
+const SELF_PATH = '/proc/self/exe';
+const MAX_LENGTH = 2048;
+
+/**
+ * Read the content of a file synchronous
+ *
+ * @param {string} path
+ * @returns {Buffer}
+ */
+const readFileSync = (path) => {
+ const fd = fs.openSync(path, 'r');
+ const buffer = Buffer.alloc(MAX_LENGTH);
+ const bytesRead = fs.readSync(fd, buffer, 0, MAX_LENGTH, 0);
+ fs.close(fd, () => {});
+ return buffer.subarray(0, bytesRead);
+};
+
+/**
+ * Read the content of a file
+ *
+ * @param {string} path
+ * @returns {Promise}
+ */
+const readFile = (path) => new Promise((resolve, reject) => {
+ fs.open(path, 'r', (err, fd) => {
+ if (err) {
+ reject(err);
+ } else {
+ const buffer = Buffer.alloc(MAX_LENGTH);
+ fs.read(fd, buffer, 0, MAX_LENGTH, 0, (_, bytesRead) => {
+ resolve(buffer.subarray(0, bytesRead));
+ fs.close(fd, () => {});
+ });
+ }
+ });
+});
+
+module.exports = {
+ LDD_PATH,
+ SELF_PATH,
+ readFileSync,
+ readFile
+};
diff --git a/apps/api/.output/node_modules/detect-libc/lib/process.js b/apps/api/.output/node_modules/detect-libc/lib/process.js
new file mode 100644
index 0000000..ee78ad2
--- /dev/null
+++ b/apps/api/.output/node_modules/detect-libc/lib/process.js
@@ -0,0 +1,24 @@
+// Copyright 2017 Lovell Fuller and others.
+// SPDX-License-Identifier: Apache-2.0
+
+'use strict';
+
+const isLinux = () => process.platform === 'linux';
+
+let report = null;
+const getReport = () => {
+ if (!report) {
+ /* istanbul ignore next */
+ if (isLinux() && process.report) {
+ const orig = process.report.excludeNetwork;
+ process.report.excludeNetwork = true;
+ report = process.report.getReport();
+ process.report.excludeNetwork = orig;
+ } else {
+ report = {};
+ }
+ }
+ return report;
+};
+
+module.exports = { isLinux, getReport };
diff --git a/apps/api/.output/node_modules/detect-libc/package.json b/apps/api/.output/node_modules/detect-libc/package.json
new file mode 100644
index 0000000..36d0f2b
--- /dev/null
+++ b/apps/api/.output/node_modules/detect-libc/package.json
@@ -0,0 +1,44 @@
+{
+ "name": "detect-libc",
+ "version": "2.1.2",
+ "description": "Node.js module to detect the C standard library (libc) implementation family and version",
+ "main": "lib/detect-libc.js",
+ "files": [
+ "lib/",
+ "index.d.ts"
+ ],
+ "scripts": {
+ "test": "semistandard && nyc --reporter=text --check-coverage --branches=100 ava test/unit.js",
+ "changelog": "conventional-changelog -i CHANGELOG.md -s",
+ "bench": "node benchmark/detect-libc",
+ "bench:calls": "node benchmark/call-familySync.js && sleep 1 && node benchmark/call-isNonGlibcLinuxSync.js && sleep 1 && node benchmark/call-versionSync.js"
+ },
+ "repository": {
+ "type": "git",
+ "url": "git://github.com/lovell/detect-libc.git"
+ },
+ "keywords": [
+ "libc",
+ "glibc",
+ "musl"
+ ],
+ "author": "Lovell Fuller ",
+ "contributors": [
+ "Niklas Salmoukas ",
+ "Vinícius Lourenço "
+ ],
+ "license": "Apache-2.0",
+ "devDependencies": {
+ "ava": "^2.4.0",
+ "benchmark": "^2.1.4",
+ "conventional-changelog-cli": "^5.0.0",
+ "eslint-config-standard": "^13.0.1",
+ "nyc": "^15.1.0",
+ "proxyquire": "^2.1.3",
+ "semistandard": "^14.2.3"
+ },
+ "engines": {
+ "node": ">=8"
+ },
+ "types": "index.d.ts"
+}
diff --git a/apps/api/.output/node_modules/semver/LICENSE b/apps/api/.output/node_modules/semver/LICENSE
new file mode 100644
index 0000000..19129e3
--- /dev/null
+++ b/apps/api/.output/node_modules/semver/LICENSE
@@ -0,0 +1,15 @@
+The ISC License
+
+Copyright (c) Isaac Z. Schlueter and Contributors
+
+Permission to use, copy, modify, and/or distribute this software for any
+purpose with or without fee is hereby granted, provided that the above
+copyright notice and this permission notice appear in all copies.
+
+THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
+WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
+MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR
+ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
+WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
+ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR
+IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
diff --git a/apps/api/.output/node_modules/semver/README.md b/apps/api/.output/node_modules/semver/README.md
new file mode 100644
index 0000000..5e03abc
--- /dev/null
+++ b/apps/api/.output/node_modules/semver/README.md
@@ -0,0 +1,680 @@
+semver(1) -- The semantic versioner for npm
+===========================================
+
+## Install
+
+```bash
+npm install semver
+````
+
+## Usage
+
+As a node module:
+
+```js
+const semver = require('semver')
+
+semver.valid('1.2.3') // '1.2.3'
+semver.valid('a.b.c') // null
+semver.clean(' =v1.2.3 ') // '1.2.3'
+semver.satisfies('1.2.3', '1.x || >=2.5.0 || 5.0.0 - 7.2.3') // true
+semver.gt('1.2.3', '9.8.7') // false
+semver.lt('1.2.3', '9.8.7') // true
+semver.minVersion('>=1.0.0') // '1.0.0'
+semver.valid(semver.coerce('v2')) // '2.0.0'
+semver.valid(semver.coerce('42.6.7.9.3-alpha')) // '42.6.7'
+```
+
+You can also just load the module for the function that you care about if
+you'd like to minimize your footprint.
+
+```js
+// load the whole API at once in a single object
+const semver = require('semver')
+
+// or just load the bits you need
+// all of them listed here, just pick and choose what you want
+
+// classes
+const SemVer = require('semver/classes/semver')
+const Comparator = require('semver/classes/comparator')
+const Range = require('semver/classes/range')
+
+// functions for working with versions
+const semverParse = require('semver/functions/parse')
+const semverValid = require('semver/functions/valid')
+const semverClean = require('semver/functions/clean')
+const semverInc = require('semver/functions/inc')
+const semverDiff = require('semver/functions/diff')
+const semverMajor = require('semver/functions/major')
+const semverMinor = require('semver/functions/minor')
+const semverPatch = require('semver/functions/patch')
+const semverPrerelease = require('semver/functions/prerelease')
+const semverCompare = require('semver/functions/compare')
+const semverRcompare = require('semver/functions/rcompare')
+const semverCompareLoose = require('semver/functions/compare-loose')
+const semverCompareBuild = require('semver/functions/compare-build')
+const semverSort = require('semver/functions/sort')
+const semverRsort = require('semver/functions/rsort')
+const semverTruncate = require('semver/functions/truncate')
+
+// low-level comparators between versions
+const semverGt = require('semver/functions/gt')
+const semverLt = require('semver/functions/lt')
+const semverEq = require('semver/functions/eq')
+const semverNeq = require('semver/functions/neq')
+const semverGte = require('semver/functions/gte')
+const semverLte = require('semver/functions/lte')
+const semverCmp = require('semver/functions/cmp')
+const semverCoerce = require('semver/functions/coerce')
+
+// working with ranges
+const semverSatisfies = require('semver/functions/satisfies')
+const semverMaxSatisfying = require('semver/ranges/max-satisfying')
+const semverMinSatisfying = require('semver/ranges/min-satisfying')
+const semverToComparators = require('semver/ranges/to-comparators')
+const semverMinVersion = require('semver/ranges/min-version')
+const semverValidRange = require('semver/ranges/valid')
+const semverOutside = require('semver/ranges/outside')
+const semverGtr = require('semver/ranges/gtr')
+const semverLtr = require('semver/ranges/ltr')
+const semverIntersects = require('semver/ranges/intersects')
+const semverSimplifyRange = require('semver/ranges/simplify')
+const semverRangeSubset = require('semver/ranges/subset')
+```
+
+As a command-line utility:
+
+```
+$ semver -h
+
+A JavaScript implementation of the https://semver.org/ specification
+Copyright Isaac Z. Schlueter
+
+Usage: semver [options] [ [...]]
+Prints valid versions sorted by SemVer precedence
+
+Options:
+-r --range
+ Print versions that match the specified range.
+
+-i --increment []
+ Increment a version by the specified level. Level can
+ be one of: major, minor, patch, premajor, preminor,
+ prepatch, prerelease, or release. Default level is 'patch'.
+ Only one version may be specified.
+
+--preid
+ Identifier to be used to prefix premajor, preminor,
+ prepatch or prerelease version increments.
+
+-l --loose
+ Interpret versions and ranges loosely
+
+-n <0|1|false>
+ Base number for prerelease identifier (default: 0).
+ Use false to omit the number altogether.
+
+-p --include-prerelease
+ Always include prerelease versions in range matching
+
+-c --coerce
+ Coerce a string into SemVer if possible
+ (does not imply --loose)
+
+--rtl
+ Coerce version strings right to left
+
+--ltr
+ Coerce version strings left to right (default)
+
+Program exits successfully if any valid version satisfies
+all supplied ranges, and prints all satisfying versions.
+
+If no satisfying versions are found, then exits failure.
+
+Versions are printed in ascending order, so supplying
+multiple versions to the utility will just sort them.
+```
+
+## Versions
+
+A "version" is described by the `v2.0.0` specification found at
+ .
+
+A leading `"="` or `"v"` character is stripped off and ignored.
+Support for stripping a leading "v" is kept for compatibility with `v1.0.0` of the SemVer
+specification but should not be used anymore.
+
+## Ranges
+
+A `version range` is a set of `comparators` that specify versions
+that satisfy the range.
+
+A `comparator` is composed of an `operator` and a `version`. The set
+of primitive `operators` is:
+
+* `<` Less than
+* `<=` Less than or equal to
+* `>` Greater than
+* `>=` Greater than or equal to
+* `=` Equal. If no operator is specified, then equality is assumed,
+ so this operator is optional but MAY be included.
+
+For example, the comparator `>=1.2.7` would match the versions
+`1.2.7`, `1.2.8`, `2.5.3`, and `1.3.9`, but not the versions `1.2.6`
+or `1.1.0`. The comparator `>1` is equivalent to `>=2.0.0` and
+would match the versions `2.0.0` and `3.1.0`, but not the versions
+`1.0.1` or `1.1.0`.
+
+Comparators can be joined by whitespace to form a `comparator set`,
+which is satisfied by the **intersection** of all of the comparators
+it includes.
+
+A range is composed of one or more comparator sets, joined by `||`. A
+version matches a range if and only if every comparator in at least
+one of the `||`-separated comparator sets is satisfied by the version.
+
+For example, the range `>=1.2.7 <1.3.0` would match the versions
+`1.2.7`, `1.2.8`, and `1.2.99`, but not the versions `1.2.6`, `1.3.0`,
+or `1.1.0`.
+
+The range `1.2.7 || >=1.2.9 <2.0.0` would match the versions `1.2.7`,
+`1.2.9`, and `1.4.6`, but not the versions `1.2.8` or `2.0.0`.
+
+### Prerelease Tags
+
+If a version has a prerelease tag (for example, `1.2.3-alpha.3`) then
+it will only be allowed to satisfy comparator sets if at least one
+comparator with the same `[major, minor, patch]` tuple also has a
+prerelease tag.
+
+For example, the range `>1.2.3-alpha.3` would be allowed to match the
+version `1.2.3-alpha.7`, but it would *not* be satisfied by
+`3.4.5-alpha.9`, even though `3.4.5-alpha.9` is technically "greater
+than" `1.2.3-alpha.3` according to the SemVer sort rules. The version
+range only accepts prerelease tags on the `1.2.3` version.
+Version `3.4.5` *would* satisfy the range because it does not have a
+prerelease flag, and `3.4.5` is greater than `1.2.3-alpha.7`.
+
+The purpose of this behavior is twofold. First, prerelease versions
+frequently are updated very quickly, and contain many breaking changes
+that are (by the author's design) not yet fit for public consumption.
+Therefore, by default, they are excluded from range-matching
+semantics.
+
+Second, a user who has opted into using a prerelease version has
+indicated the intent to use *that specific* set of
+alpha/beta/rc versions. By including a prerelease tag in the range,
+the user is indicating that they are aware of the risk. However, it
+is still not appropriate to assume that they have opted into taking a
+similar risk on the *next* set of prerelease versions.
+
+Note that this behavior can be suppressed (treating all prerelease
+versions as if they were normal versions, for range-matching)
+by setting the `includePrerelease` flag on the options
+object to any
+[functions](https://github.com/npm/node-semver#functions) that do
+range matching.
+
+#### Prerelease Identifiers
+
+The method `.inc` takes an additional `identifier` string argument that
+will append the value of the string as a prerelease identifier:
+
+```javascript
+semver.inc('1.2.3', 'prerelease', 'beta')
+// '1.2.4-beta.0'
+```
+
+command-line example:
+
+```bash
+$ semver 1.2.3 -i prerelease --preid beta
+1.2.4-beta.0
+```
+
+Which then can be used to increment further:
+
+```bash
+$ semver 1.2.4-beta.0 -i prerelease
+1.2.4-beta.1
+```
+
+To get out of the prerelease phase, use the `release` option:
+
+```bash
+$ semver 1.2.4-beta.1 -i release
+1.2.4
+```
+
+#### Prerelease Identifier Base
+
+The method `.inc` takes an optional parameter 'identifierBase' string
+that will let you let your prerelease number as zero-based or one-based.
+Set to `false` to omit the prerelease number altogether.
+If you do not specify this parameter, it will default to zero-based.
+
+```javascript
+semver.inc('1.2.3', 'prerelease', 'beta', '1')
+// '1.2.4-beta.1'
+```
+
+```javascript
+semver.inc('1.2.3', 'prerelease', 'beta', false)
+// '1.2.4-beta'
+```
+
+command-line example:
+
+```bash
+$ semver 1.2.3 -i prerelease --preid beta -n 1
+1.2.4-beta.1
+```
+
+```bash
+$ semver 1.2.3 -i prerelease --preid beta -n false
+1.2.4-beta
+```
+
+### Advanced Range Syntax
+
+Advanced range syntax desugars to primitive comparators in
+deterministic ways.
+
+Advanced ranges may be combined in the same way as primitive
+comparators using white space or `||`.
+
+#### Hyphen Ranges `X.Y.Z - A.B.C`
+
+Specifies an inclusive set.
+
+* `1.2.3 - 2.3.4` := `>=1.2.3 <=2.3.4`
+
+If a partial version is provided as the first version in the inclusive
+range, then the missing pieces are replaced with zeroes.
+
+* `1.2 - 2.3.4` := `>=1.2.0 <=2.3.4`
+
+If a partial version is provided as the second version in the
+inclusive range, then all versions that start with the supplied parts
+of the tuple are accepted, but nothing that would be greater than the
+provided tuple parts.
+
+* `1.2.3 - 2.3` := `>=1.2.3 <2.4.0-0`
+* `1.2.3 - 2` := `>=1.2.3 <3.0.0-0`
+
+#### X-Ranges `1.2.x` `1.X` `1.2.*` `*`
+
+Any of `X`, `x`, or `*` may be used to "stand in" for one of the
+numeric values in the `[major, minor, patch]` tuple.
+
+* `*` := `>=0.0.0` (Any non-prerelease version satisfies, unless
+ `includePrerelease` is specified, in which case any version at all
+ satisfies)
+* `1.x` := `>=1.0.0 <2.0.0-0` (Matching major version)
+* `1.2.x` := `>=1.2.0 <1.3.0-0` (Matching major and minor versions)
+
+A partial version range is treated as an X-Range, so the special
+character is in fact optional.
+
+* `""` (empty string) := `*` := `>=0.0.0`
+* `1` := `1.x.x` := `>=1.0.0 <2.0.0-0`
+* `1.2` := `1.2.x` := `>=1.2.0 <1.3.0-0`
+
+#### Tilde Ranges `~1.2.3` `~1.2` `~1`
+
+Allows patch-level changes if a minor version is specified on the
+comparator. Allows minor-level changes if not.
+
+* `~1.2.3` := `>=1.2.3 <1.(2+1).0` := `>=1.2.3 <1.3.0-0`
+* `~1.2` := `>=1.2.0 <1.(2+1).0` := `>=1.2.0 <1.3.0-0` (Same as `1.2.x`)
+* `~1` := `>=1.0.0 <(1+1).0.0` := `>=1.0.0 <2.0.0-0` (Same as `1.x`)
+* `~0.2.3` := `>=0.2.3 <0.(2+1).0` := `>=0.2.3 <0.3.0-0`
+* `~0.2` := `>=0.2.0 <0.(2+1).0` := `>=0.2.0 <0.3.0-0` (Same as `0.2.x`)
+* `~0` := `>=0.0.0 <(0+1).0.0` := `>=0.0.0 <1.0.0-0` (Same as `0.x`)
+* `~1.2.3-beta.2` := `>=1.2.3-beta.2 <1.3.0-0` Note that prereleases in
+ the `1.2.3` version will be allowed, if they are greater than or
+ equal to `beta.2`. So, `1.2.3-beta.4` would be allowed, but
+ `1.2.4-beta.2` would not, because it is a prerelease of a
+ different `[major, minor, patch]` tuple.
+
+#### Caret Ranges `^1.2.3` `^0.2.5` `^0.0.4`
+
+Allows changes that do not modify the left-most non-zero element in the
+`[major, minor, patch]` tuple. In other words, this allows patch and
+minor updates for versions `1.0.0` and above, patch updates for
+versions `0.X >=0.1.0`, and *no* updates for versions `0.0.X`.
+
+Many authors treat a `0.x` version as if the `x` were the major
+"breaking-change" indicator.
+
+Caret ranges are ideal when an author may make breaking changes
+between `0.2.4` and `0.3.0` releases, which is a common practice.
+However, it presumes that there will *not* be breaking changes between
+`0.2.4` and `0.2.5`. It allows for changes that are presumed to be
+additive (but non-breaking), according to commonly observed practices.
+
+* `^1.2.3` := `>=1.2.3 <2.0.0-0`
+* `^0.2.3` := `>=0.2.3 <0.3.0-0`
+* `^0.0.3` := `>=0.0.3 <0.0.4-0`
+* `^1.2.3-beta.2` := `>=1.2.3-beta.2 <2.0.0-0` Note that prereleases in
+ the `1.2.3` version will be allowed, if they are greater than or
+ equal to `beta.2`. So, `1.2.3-beta.4` would be allowed, but
+ `1.2.4-beta.2` would not, because it is a prerelease of a
+ different `[major, minor, patch]` tuple.
+* `^0.0.3-beta` := `>=0.0.3-beta <0.0.4-0` Note that prereleases in the
+ `0.0.3` version *only* will be allowed, if they are greater than or
+ equal to `beta`. So, `0.0.3-pr.2` would be allowed.
+
+When parsing caret ranges, a missing `patch` value desugars to the
+number `0`, but will allow flexibility within that value, even if the
+major and minor versions are both `0`.
+
+* `^1.2.x` := `>=1.2.0 <2.0.0-0`
+* `^0.0.x` := `>=0.0.0 <0.1.0-0`
+* `^0.0` := `>=0.0.0 <0.1.0-0`
+
+A missing `minor` and `patch` values will desugar to zero, but also
+allow flexibility within those values, even if the major version is
+zero.
+
+* `^1.x` := `>=1.0.0 <2.0.0-0`
+* `^0.x` := `>=0.0.0 <1.0.0-0`
+
+### Range Grammar
+
+Putting all this together, here is a Backus-Naur grammar for ranges,
+for the benefit of parser authors:
+
+```bnf
+range-set ::= range ( logical-or range ) *
+logical-or ::= ( ' ' ) * '||' ( ' ' ) *
+range ::= hyphen | simple ( ' ' simple ) * | ''
+hyphen ::= partial ' - ' partial
+simple ::= primitive | partial | tilde | caret
+primitive ::= ( '<' | '>' | '>=' | '<=' | '=' ) partial
+partial ::= xr ( '.' xr ( '.' xr qualifier ? )? )?
+xr ::= 'x' | 'X' | '*' | nr
+nr ::= '0' | ['1'-'9'] ( ['0'-'9'] ) *
+tilde ::= '~' partial
+caret ::= '^' partial
+qualifier ::= ( '-' pre )? ( '+' build )?
+pre ::= prepart ( '.' prepart ) *
+prepart ::= nr | alphanumid
+build ::= buildid ( '.' buildid ) *
+alphanumid ::= ( ['0'-'9'] ) * [-A-Za-z] [-0-9A-Za-z] *
+buildid ::= [-0-9A-Za-z]+
+```
+
+Note: Prerelease identifiers (`pre`) use `nr` for numeric parts, which
+disallows leading zeros (e.g., `1.2.3-00` is invalid). Build metadata
+identifiers (`build`) allow any alphanumeric string including leading
+zeros (e.g., `1.2.3+00` is valid). This matches the
+[SemVer 2.0.0 specification](https://semver.org/#spec-item-9).
+
+## Functions
+
+All methods and classes take a final `options` object argument. All
+options in this object are `false` by default. The options supported
+are:
+
+- `loose`: Be more forgiving about not-quite-valid semver strings.
+ (Any resulting output will always be 100% strict compliant, of
+ course.) For backwards compatibility reasons, if the `options`
+ argument is a boolean value instead of an object, it is interpreted
+ to be the `loose` param.
+- `includePrerelease`: Set to suppress the [default
+ behavior](https://github.com/npm/node-semver#prerelease-tags) of
+ excluding prerelease tagged versions from ranges unless they are
+ explicitly opted into.
+
+Strict-mode Comparators and Ranges will be strict about the SemVer
+strings that they parse.
+
+* `valid(v)`: Return the parsed version, or null if it's not valid.
+* `inc(v, releaseType, options, identifier, identifierBase)`:
+ Return the version incremented by the release
+ type (`major`, `premajor`, `minor`, `preminor`, `patch`,
+ `prepatch`, `prerelease`, or `release`), or null if it's not valid
+ * `premajor` in one call will bump the version up to the next major
+ version and down to a prerelease of that major version.
+ `preminor`, and `prepatch` work the same way.
+ * If called from a non-prerelease version, `prerelease` will work the
+ same as `prepatch`. It increments the patch version and then makes a
+ prerelease. If the input version is already a prerelease it simply
+ increments it.
+ * `release` will remove any prerelease part of the version.
+ * `identifier` can be used to prefix `premajor`, `preminor`,
+ `prepatch`, or `prerelease` version increments. `identifierBase`
+ is the base to be used for the `prerelease` identifier.
+* `prerelease(v)`: Returns an array of prerelease components, or null
+ if none exist. Example: `prerelease('1.2.3-alpha.1') -> ['alpha', 1]`
+* `major(v)`: Return the major version number.
+* `minor(v)`: Return the minor version number.
+* `patch(v)`: Return the patch version number.
+* `intersects(r1, r2, loose)`: Return true if the two supplied ranges
+ or comparators intersect.
+* `parse(v)`: Attempt to parse a string as a semantic version, returning either
+ a `SemVer` object or `null`.
+* `truncate(v, releaseType)`: Return the version with components _lower_
+ than `releaseType` dropped off, e.g.:
+ * `major` removes build & prerelease info and sets minor & patch to 0.
+ * `minor` removes build & prerelease info, and sets patch to 0
+ * `patch` removes build & prerelease info
+ * All prerelease types remove build info only
+
+### Comparison
+
+* `gt(v1, v2)`: `v1 > v2`
+* `gte(v1, v2)`: `v1 >= v2`
+* `lt(v1, v2)`: `v1 < v2`
+* `lte(v1, v2)`: `v1 <= v2`
+* `eq(v1, v2)`: `v1 == v2` This is true if they're logically equivalent,
+ even if they're not the same string. You already know how to
+ compare strings.
+* `neq(v1, v2)`: `v1 != v2` The opposite of `eq`.
+* `cmp(v1, comparator, v2)`: Pass in a comparison string, and it'll call
+ the corresponding function above. `"==="` and `"!=="` do simple
+ string comparison, but are included for completeness. Throws if an
+ invalid comparison string is provided.
+* `compare(v1, v2)`: Return `0` if `v1 == v2`, or `1` if `v1` is greater, or `-1` if
+ `v2` is greater. Sorts in ascending order if passed to `Array.sort()`.
+* `rcompare(v1, v2)`: The reverse of `compare`. Sorts an array of versions
+ in descending order when passed to `Array.sort()`.
+* `compareBuild(v1, v2)`: The same as `compare` but considers `build` when two versions
+ are equal. Sorts in ascending order if passed to `Array.sort()`.
+* `compareLoose(v1, v2)`: Short for `compare(v1, v2, { loose: true })`.
+* `diff(v1, v2)`: Returns the difference between two versions by the release type
+ (`major`, `premajor`, `minor`, `preminor`, `patch`, `prepatch`, or `prerelease`),
+ or null if the versions are the same.
+
+### Sorting
+
+* `sort(versions)`: Returns a sorted array of versions based on the `compareBuild`
+ function.
+* `rsort(versions)`: The reverse of `sort`. Returns an array of versions based on
+ the `compareBuild` function in descending order.
+
+### Comparators
+
+* `intersects(comparator)`: Return true if the comparators intersect
+
+### Ranges
+
+* `validRange(range)`: Return the valid range or null if it's not valid.
+* `satisfies(version, range)`: Return true if the version satisfies the
+ range.
+* `maxSatisfying(versions, range)`: Return the highest version in the list
+ that satisfies the range, or `null` if none of them do.
+* `minSatisfying(versions, range)`: Return the lowest version in the list
+ that satisfies the range, or `null` if none of them do.
+* `minVersion(range)`: Return the lowest version that can match
+ the given range.
+* `gtr(version, range)`: Return `true` if the version is greater than all the
+ versions possible in the range.
+* `ltr(version, range)`: Return `true` if the version is less than all the
+ versions possible in the range.
+* `outside(version, range, hilo)`: Return true if the version is outside
+ the bounds of the range in either the high or low direction. The
+ `hilo` argument must be either the string `'>'` or `'<'`. (This is
+ the function called by `gtr` and `ltr`.)
+* `intersects(range)`: Return true if any of the range comparators intersect.
+* `simplifyRange(versions, range)`: Return a "simplified" range that
+ matches the same items in the `versions` list as the range specified. Note
+ that it does *not* guarantee that it would match the same versions in all
+ cases, only for the set of versions provided. This is useful when
+ generating ranges by joining together multiple versions with `||`
+ programmatically, to provide the user with something a bit more
+ ergonomic. If the provided range is shorter in string-length than the
+ generated range, then that is returned.
+* `subset(subRange, superRange)`: Return `true` if the `subRange` range is
+ entirely contained by the `superRange` range.
+
+Note that, since ranges may be non-contiguous, a version might not be
+greater than a range, less than a range, *or* satisfy a range! For
+example, the range `1.2 <1.2.9 || >2.0.0` would have a hole from `1.2.9`
+until `2.0.0`, so version `1.2.10` would not be greater than the
+range (because `2.0.1` satisfies, which is higher), nor less than the
+range (since `1.2.8` satisfies, which is lower), and it also does not
+satisfy the range.
+
+If you want to know if a version satisfies or does not satisfy a
+range, use the `satisfies(version, range)` function.
+
+### Coercion
+
+* `coerce(version, options)`: Coerces a string to semver if possible
+
+This aims to provide a very forgiving translation of a non-semver string to
+semver. It looks for the first digit in a string and consumes all
+remaining characters which satisfy at least a partial semver (e.g., `1`,
+`1.2`, `1.2.3`) up to the max permitted length (256 characters). Longer
+versions are simply truncated (`4.6.3.9.2-alpha2` becomes `4.6.3`). All
+surrounding text is simply ignored (`v3.4 replaces v3.3.1` becomes
+`3.4.0`). Only text which lacks digits will fail coercion (`version one`
+is not valid). The maximum length for any semver component considered for
+coercion is 16 characters; longer components will be ignored
+(`10000000000000000.4.7.4` becomes `4.7.4`). The maximum value for any
+semver component is `Number.MAX_SAFE_INTEGER || (2**53 - 1)`; higher value
+components are invalid (`9999999999999999.4.7.4` is likely invalid).
+
+If the `options.rtl` flag is set, then `coerce` will return the right-most
+coercible tuple that does not share an ending index with a longer coercible
+tuple. For example, `1.2.3.4` will return `2.3.4` in rtl mode, not
+`4.0.0`. `1.2.3/4` will return `4.0.0`, because the `4` is not a part of
+any other overlapping SemVer tuple.
+
+If the `options.includePrerelease` flag is set, then the `coerce` result will contain
+prerelease and build parts of a version. For example, `1.2.3.4-rc.1+rev.2`
+will preserve prerelease `rc.1` and build `rev.2` in the result.
+
+### Clean
+
+* `clean(version)`: Clean a string to be a valid semver if possible
+
+This will return a cleaned and trimmed semver version. If the provided
+version is not valid a null will be returned. This does not work for
+ranges.
+
+ex.
+* `s.clean(' = v 2.1.5foo')`: `null`
+* `s.clean(' = v 2.1.5foo', { loose: true })`: `'2.1.5-foo'`
+* `s.clean(' = v 2.1.5-foo')`: `null`
+* `s.clean(' = v 2.1.5-foo', { loose: true })`: `'2.1.5-foo'`
+* `s.clean('=v2.1.5')`: `'2.1.5'`
+* `s.clean(' =v2.1.5')`: `'2.1.5'`
+* `s.clean(' 2.1.5 ')`: `'2.1.5'`
+* `s.clean('~1.0.0')`: `null`
+
+## Constants
+
+As a convenience, helper constants are exported to provide information about what `node-semver` supports:
+
+### `RELEASE_TYPES`
+
+- major
+- premajor
+- minor
+- preminor
+- patch
+- prepatch
+- prerelease
+
+```
+const semver = require('semver');
+
+if (semver.RELEASE_TYPES.includes(arbitraryUserInput)) {
+ console.log('This is a valid release type!');
+} else {
+ console.warn('This is NOT a valid release type!');
+}
+```
+
+### `SEMVER_SPEC_VERSION`
+
+2.0.0
+
+```
+const semver = require('semver');
+
+console.log('We are currently using the semver specification version:', semver.SEMVER_SPEC_VERSION);
+```
+
+## Exported Modules
+
+
+
+You may pull in just the part of this semver utility that you need if you
+are sensitive to packing and tree-shaking concerns. The main
+`require('semver')` export uses getter functions to lazily load the parts
+of the API that are used.
+
+The following modules are available:
+
+* `require('semver')`
+* `require('semver/classes')`
+* `require('semver/classes/comparator')`
+* `require('semver/classes/range')`
+* `require('semver/classes/semver')`
+* `require('semver/functions/clean')`
+* `require('semver/functions/cmp')`
+* `require('semver/functions/coerce')`
+* `require('semver/functions/compare')`
+* `require('semver/functions/compare-build')`
+* `require('semver/functions/compare-loose')`
+* `require('semver/functions/diff')`
+* `require('semver/functions/eq')`
+* `require('semver/functions/gt')`
+* `require('semver/functions/gte')`
+* `require('semver/functions/inc')`
+* `require('semver/functions/lt')`
+* `require('semver/functions/lte')`
+* `require('semver/functions/major')`
+* `require('semver/functions/minor')`
+* `require('semver/functions/neq')`
+* `require('semver/functions/parse')`
+* `require('semver/functions/patch')`
+* `require('semver/functions/prerelease')`
+* `require('semver/functions/rcompare')`
+* `require('semver/functions/rsort')`
+* `require('semver/functions/satisfies')`
+* `require('semver/functions/sort')`
+* `require('semver/functions/truncate')`
+* `require('semver/functions/valid')`
+* `require('semver/ranges/gtr')`
+* `require('semver/ranges/intersects')`
+* `require('semver/ranges/ltr')`
+* `require('semver/ranges/max-satisfying')`
+* `require('semver/ranges/min-satisfying')`
+* `require('semver/ranges/min-version')`
+* `require('semver/ranges/outside')`
+* `require('semver/ranges/simplify')`
+* `require('semver/ranges/subset')`
+* `require('semver/ranges/to-comparators')`
+* `require('semver/ranges/valid')`
+
diff --git a/apps/api/.output/node_modules/semver/bin/semver.js b/apps/api/.output/node_modules/semver/bin/semver.js
new file mode 100644
index 0000000..9ae8aad
--- /dev/null
+++ b/apps/api/.output/node_modules/semver/bin/semver.js
@@ -0,0 +1,195 @@
+#!/usr/bin/env node
+// Standalone semver comparison program.
+// Exits successfully and prints matching version(s) if
+// any supplied version is valid and passes all tests.
+
+'use strict'
+
+const argv = process.argv.slice(2)
+
+let versions = []
+
+const range = []
+
+let inc = null
+
+const version = require('../package.json').version
+
+let loose = false
+
+let includePrerelease = false
+
+let coerce = false
+
+let rtl = false
+
+let identifier
+
+let identifierBase
+
+const semver = require('../')
+const parseOptions = require('../internal/parse-options')
+
+let reverse = false
+
+let options = {}
+
+const main = () => {
+ if (!argv.length) {
+ return help()
+ }
+ while (argv.length) {
+ let a = argv.shift()
+ const indexOfEqualSign = a.indexOf('=')
+ if (indexOfEqualSign !== -1) {
+ const value = a.slice(indexOfEqualSign + 1)
+ a = a.slice(0, indexOfEqualSign)
+ argv.unshift(value)
+ }
+
+ switch (a) {
+ case '-rv': case '-rev': case '--rev': case '--reverse':
+ reverse = true
+ break
+ case '-l': case '--loose':
+ loose = true
+ break
+ case '-p': case '--include-prerelease':
+ includePrerelease = true
+ break
+ case '-v': case '--version':
+ versions.push(argv.shift())
+ break
+ case '-i': case '--inc': case '--increment':
+ if (semver.RELEASE_TYPES.includes(argv[0]) || (argv[0] === 'release')) {
+ inc = { value: argv.shift(), maybeErrantValue: null, option: a }
+ } else {
+ inc = { value: 'patch', maybeErrantValue: argv[0], option: a }
+ }
+ break
+ case '--preid':
+ identifier = argv.shift()
+ break
+ case '-r': case '--range':
+ range.push(argv.shift())
+ break
+ case '-n':
+ identifierBase = argv.shift()
+ if (identifierBase === 'false') {
+ identifierBase = false
+ }
+ break
+ case '-c': case '--coerce':
+ coerce = true
+ break
+ case '--rtl':
+ rtl = true
+ break
+ case '--ltr':
+ rtl = false
+ break
+ case '-h': case '--help': case '-?':
+ return help()
+ default:
+ versions.push(a)
+ break
+ }
+ }
+
+ options = parseOptions({ loose, includePrerelease, rtl })
+
+ if (
+ inc &&
+ versions.includes(inc.maybeErrantValue) &&
+ !semver.valid(inc.maybeErrantValue, options)
+ ) {
+ console.warn(`Invalid value for ${inc.option}; defaulting to 'patch'. This may become a failure in future major versions.`)
+ }
+
+ versions = versions.map((v) => {
+ return coerce ? (semver.coerce(v, options) || { version: v }).version : v
+ }).filter((v) => {
+ return semver.valid(v, options)
+ })
+ if (!versions.length) {
+ return fail()
+ }
+ if (inc && (versions.length !== 1 || range.length)) {
+ return failInc()
+ }
+
+ for (let i = 0, l = range.length; i < l; i++) {
+ versions = versions.filter((v) => {
+ return semver.satisfies(v, range[i], options)
+ })
+ if (!versions.length) {
+ return fail()
+ }
+ }
+ versions
+ .sort((a, b) => semver[reverse ? 'rcompare' : 'compare'](a, b, options))
+ .map(v => semver.clean(v, options))
+ .map(v => inc ? semver.inc(v, inc.value, options, identifier, identifierBase) : v)
+ .forEach(v => console.log(v))
+}
+
+const failInc = () => {
+ console.error('--inc can only be used on a single version with no range')
+ fail()
+}
+
+const fail = () => process.exit(1)
+
+const help = () => console.log(
+`SemVer ${version}
+
+A JavaScript implementation of the https://semver.org/ specification
+Copyright Isaac Z. Schlueter
+
+Usage: semver [options] [ [...]]
+Prints valid versions sorted by SemVer precedence
+
+Options:
+-r --range
+ Print versions that match the specified range.
+
+-i --increment []
+ Increment a version by the specified level. Level can
+ be one of: major, minor, patch, premajor, preminor,
+ prepatch, prerelease, or release. Default level is 'patch'.
+ Only one version may be specified.
+
+--preid
+ Identifier to be used to prefix premajor, preminor,
+ prepatch or prerelease version increments.
+
+-l --loose
+ Interpret versions and ranges loosely
+
+-p --include-prerelease
+ Always include prerelease versions in range matching
+
+-c --coerce
+ Coerce a string into SemVer if possible
+ (does not imply --loose)
+
+--rtl
+ Coerce version strings right to left
+
+--ltr
+ Coerce version strings left to right (default)
+
+-n
+ Base number to be used for the prerelease identifier.
+ Can be either 0 or 1, or false to omit the number altogether.
+ Defaults to 0.
+
+Program exits successfully if any valid version satisfies
+all supplied ranges, and prints all satisfying versions.
+
+If no satisfying versions are found, then exits failure.
+
+Versions are printed in ascending order, so supplying
+multiple versions to the utility will just sort them.`)
+
+main()
diff --git a/apps/api/.output/node_modules/semver/classes/comparator.js b/apps/api/.output/node_modules/semver/classes/comparator.js
new file mode 100644
index 0000000..647c1f0
--- /dev/null
+++ b/apps/api/.output/node_modules/semver/classes/comparator.js
@@ -0,0 +1,143 @@
+'use strict'
+
+const ANY = Symbol('SemVer ANY')
+// hoisted class for cyclic dependency
+class Comparator {
+ static get ANY () {
+ return ANY
+ }
+
+ constructor (comp, options) {
+ options = parseOptions(options)
+
+ if (comp instanceof Comparator) {
+ if (comp.loose === !!options.loose) {
+ return comp
+ } else {
+ comp = comp.value
+ }
+ }
+
+ comp = comp.trim().split(/\s+/).join(' ')
+ debug('comparator', comp, options)
+ this.options = options
+ this.loose = !!options.loose
+ this.parse(comp)
+
+ if (this.semver === ANY) {
+ this.value = ''
+ } else {
+ this.value = this.operator + this.semver.version
+ }
+
+ debug('comp', this)
+ }
+
+ parse (comp) {
+ const r = this.options.loose ? re[t.COMPARATORLOOSE] : re[t.COMPARATOR]
+ const m = comp.match(r)
+
+ if (!m) {
+ throw new TypeError(`Invalid comparator: ${comp}`)
+ }
+
+ this.operator = m[1] !== undefined ? m[1] : ''
+ if (this.operator === '=') {
+ this.operator = ''
+ }
+
+ // if it literally is just '>' or '' then allow anything.
+ if (!m[2]) {
+ this.semver = ANY
+ } else {
+ this.semver = new SemVer(m[2], this.options.loose)
+ }
+ }
+
+ toString () {
+ return this.value
+ }
+
+ test (version) {
+ debug('Comparator.test', version, this.options.loose)
+
+ if (this.semver === ANY || version === ANY) {
+ return true
+ }
+
+ if (typeof version === 'string') {
+ try {
+ version = new SemVer(version, this.options)
+ } catch (er) {
+ return false
+ }
+ }
+
+ return cmp(version, this.operator, this.semver, this.options)
+ }
+
+ intersects (comp, options) {
+ if (!(comp instanceof Comparator)) {
+ throw new TypeError('a Comparator is required')
+ }
+
+ if (this.operator === '') {
+ if (this.value === '') {
+ return true
+ }
+ return new Range(comp.value, options).test(this.value)
+ } else if (comp.operator === '') {
+ if (comp.value === '') {
+ return true
+ }
+ return new Range(this.value, options).test(comp.semver)
+ }
+
+ options = parseOptions(options)
+
+ // Special cases where nothing can possibly be lower
+ if (options.includePrerelease &&
+ (this.value === '<0.0.0-0' || comp.value === '<0.0.0-0')) {
+ return false
+ }
+ if (!options.includePrerelease &&
+ (this.value.startsWith('<0.0.0') || comp.value.startsWith('<0.0.0'))) {
+ return false
+ }
+
+ // Same direction increasing (> or >=)
+ if (this.operator.startsWith('>') && comp.operator.startsWith('>')) {
+ return true
+ }
+ // Same direction decreasing (< or <=)
+ if (this.operator.startsWith('<') && comp.operator.startsWith('<')) {
+ return true
+ }
+ // same SemVer and both sides are inclusive (<= or >=)
+ if (
+ (this.semver.version === comp.semver.version) &&
+ this.operator.includes('=') && comp.operator.includes('=')) {
+ return true
+ }
+ // opposite directions less than
+ if (cmp(this.semver, '<', comp.semver, options) &&
+ this.operator.startsWith('>') && comp.operator.startsWith('<')) {
+ return true
+ }
+ // opposite directions greater than
+ if (cmp(this.semver, '>', comp.semver, options) &&
+ this.operator.startsWith('<') && comp.operator.startsWith('>')) {
+ return true
+ }
+ return false
+ }
+}
+
+module.exports = Comparator
+
+const parseOptions = require('../internal/parse-options')
+const { safeRe: re, t } = require('../internal/re')
+const cmp = require('../functions/cmp')
+const debug = require('../internal/debug')
+const SemVer = require('./semver')
+const Range = require('./range')
diff --git a/apps/api/.output/node_modules/semver/classes/index.js b/apps/api/.output/node_modules/semver/classes/index.js
new file mode 100644
index 0000000..91c24ec
--- /dev/null
+++ b/apps/api/.output/node_modules/semver/classes/index.js
@@ -0,0 +1,7 @@
+'use strict'
+
+module.exports = {
+ SemVer: require('./semver.js'),
+ Range: require('./range.js'),
+ Comparator: require('./comparator.js'),
+}
diff --git a/apps/api/.output/node_modules/semver/classes/range.js b/apps/api/.output/node_modules/semver/classes/range.js
new file mode 100644
index 0000000..a7d6556
--- /dev/null
+++ b/apps/api/.output/node_modules/semver/classes/range.js
@@ -0,0 +1,577 @@
+'use strict'
+
+const SPACE_CHARACTERS = /\s+/g
+
+// hoisted class for cyclic dependency
+class Range {
+ constructor (range, options) {
+ options = parseOptions(options)
+
+ if (range instanceof Range) {
+ if (
+ range.loose === !!options.loose &&
+ range.includePrerelease === !!options.includePrerelease
+ ) {
+ return range
+ } else {
+ return new Range(range.raw, options)
+ }
+ }
+
+ if (range instanceof Comparator) {
+ // just put it in the set and return
+ this.raw = range.value
+ this.set = [[range]]
+ this.formatted = undefined
+ return this
+ }
+
+ this.options = options
+ this.loose = !!options.loose
+ this.includePrerelease = !!options.includePrerelease
+
+ // First reduce all whitespace as much as possible so we do not have to rely
+ // on potentially slow regexes like \s*. This is then stored and used for
+ // future error messages as well.
+ this.raw = range.trim().replace(SPACE_CHARACTERS, ' ')
+
+ // First, split on ||
+ this.set = this.raw
+ .split('||')
+ // map the range to a 2d array of comparators
+ .map(r => this.parseRange(r.trim()))
+ // throw out any comparator lists that are empty
+ // this generally means that it was not a valid range, which is allowed
+ // in loose mode, but will still throw if the WHOLE range is invalid.
+ .filter(c => c.length)
+
+ if (!this.set.length) {
+ throw new TypeError(`Invalid SemVer Range: ${this.raw}`)
+ }
+
+ // if we have any that are not the null set, throw out null sets.
+ if (this.set.length > 1) {
+ // keep the first one, in case they're all null sets
+ const first = this.set[0]
+ this.set = this.set.filter(c => !isNullSet(c[0]))
+ if (this.set.length === 0) {
+ this.set = [first]
+ } else if (this.set.length > 1) {
+ // if we have any that are *, then the range is just *
+ for (const c of this.set) {
+ if (c.length === 1 && isAny(c[0])) {
+ this.set = [c]
+ break
+ }
+ }
+ }
+ }
+
+ this.formatted = undefined
+ }
+
+ get range () {
+ if (this.formatted === undefined) {
+ this.formatted = ''
+ for (let i = 0; i < this.set.length; i++) {
+ if (i > 0) {
+ this.formatted += '||'
+ }
+ const comps = this.set[i]
+ for (let k = 0; k < comps.length; k++) {
+ if (k > 0) {
+ this.formatted += ' '
+ }
+ this.formatted += comps[k].toString().trim()
+ }
+ }
+ }
+ return this.formatted
+ }
+
+ format () {
+ return this.range
+ }
+
+ toString () {
+ return this.range
+ }
+
+ parseRange (range) {
+ // strip build metadata so it can't bleed into the version
+ range = range.replace(BUILDSTRIPRE, '')
+
+ // memoize range parsing for performance.
+ // this is a very hot path, and fully deterministic.
+ const memoOpts =
+ (this.options.includePrerelease && FLAG_INCLUDE_PRERELEASE) |
+ (this.options.loose && FLAG_LOOSE)
+ const memoKey = memoOpts + ':' + range
+ const cached = cache.get(memoKey)
+ if (cached) {
+ return cached
+ }
+
+ const loose = this.options.loose
+ // `1.2.3 - 1.2.4` => `>=1.2.3 <=1.2.4`
+ const hr = loose ? re[t.HYPHENRANGELOOSE] : re[t.HYPHENRANGE]
+ range = range.replace(hr, hyphenReplace(this.options.includePrerelease))
+ debug('hyphen replace', range)
+
+ // `> 1.2.3 < 1.2.5` => `>1.2.3 <1.2.5`
+ range = range.replace(re[t.COMPARATORTRIM], comparatorTrimReplace)
+ debug('comparator trim', range)
+
+ // `~ 1.2.3` => `~1.2.3`
+ range = range.replace(re[t.TILDETRIM], tildeTrimReplace)
+ debug('tilde trim', range)
+
+ // `^ 1.2.3` => `^1.2.3`
+ range = range.replace(re[t.CARETTRIM], caretTrimReplace)
+ debug('caret trim', range)
+
+ // At this point, the range is completely trimmed and
+ // ready to be split into comparators.
+
+ let rangeList = range
+ .split(' ')
+ .map(comp => parseComparator(comp, this.options))
+ .join(' ')
+ .split(/\s+/)
+ // >=0.0.0 is equivalent to *
+ .map(comp => replaceGTE0(comp, this.options))
+
+ if (loose) {
+ // in loose mode, throw out any that are not valid comparators
+ rangeList = rangeList.filter(comp => {
+ debug('loose invalid filter', comp, this.options)
+ return !!comp.match(re[t.COMPARATORLOOSE])
+ })
+ }
+ debug('range list', rangeList)
+
+ // if any comparators are the null set, then replace with JUST null set
+ // if more than one comparator, remove any * comparators
+ // also, don't include the same comparator more than once
+ const rangeMap = new Map()
+ const comparators = rangeList.map(comp => new Comparator(comp, this.options))
+ for (const comp of comparators) {
+ if (isNullSet(comp)) {
+ return [comp]
+ }
+ rangeMap.set(comp.value, comp)
+ }
+ if (rangeMap.size > 1 && rangeMap.has('')) {
+ rangeMap.delete('')
+ }
+
+ const result = [...rangeMap.values()]
+ cache.set(memoKey, result)
+ return result
+ }
+
+ intersects (range, options) {
+ if (!(range instanceof Range)) {
+ throw new TypeError('a Range is required')
+ }
+
+ return this.set.some((thisComparators) => {
+ return (
+ isSatisfiable(thisComparators, options) &&
+ range.set.some((rangeComparators) => {
+ return (
+ isSatisfiable(rangeComparators, options) &&
+ thisComparators.every((thisComparator) => {
+ return rangeComparators.every((rangeComparator) => {
+ return thisComparator.intersects(rangeComparator, options)
+ })
+ })
+ )
+ })
+ )
+ })
+ }
+
+ // if ANY of the sets match ALL of its comparators, then pass
+ test (version) {
+ if (!version) {
+ return false
+ }
+
+ if (typeof version === 'string') {
+ try {
+ version = new SemVer(version, this.options)
+ } catch (er) {
+ return false
+ }
+ }
+
+ for (let i = 0; i < this.set.length; i++) {
+ if (testSet(this.set[i], version, this.options)) {
+ return true
+ }
+ }
+ return false
+ }
+}
+
+module.exports = Range
+
+const LRU = require('../internal/lrucache')
+const cache = new LRU()
+
+const parseOptions = require('../internal/parse-options')
+const Comparator = require('./comparator')
+const debug = require('../internal/debug')
+const SemVer = require('./semver')
+const {
+ safeRe: re,
+ src,
+ t,
+ comparatorTrimReplace,
+ tildeTrimReplace,
+ caretTrimReplace,
+} = require('../internal/re')
+const { FLAG_INCLUDE_PRERELEASE, FLAG_LOOSE } = require('../internal/constants')
+
+// unbounded global build-metadata stripper used by parseRange
+const BUILDSTRIPRE = new RegExp(src[t.BUILD], 'g')
+
+const isNullSet = c => c.value === '<0.0.0-0'
+const isAny = c => c.value === ''
+
+// take a set of comparators and determine whether there
+// exists a version which can satisfy it
+const isSatisfiable = (comparators, options) => {
+ let result = true
+ const remainingComparators = comparators.slice()
+ let testComparator = remainingComparators.pop()
+
+ while (result && remainingComparators.length) {
+ result = remainingComparators.every((otherComparator) => {
+ return testComparator.intersects(otherComparator, options)
+ })
+
+ testComparator = remainingComparators.pop()
+ }
+
+ return result
+}
+
+// comprised of xranges, tildes, stars, and gtlt's at this point.
+// already replaced the hyphen ranges
+// turn into a set of JUST comparators.
+const parseComparator = (comp, options) => {
+ comp = comp.replace(re[t.BUILD], '')
+ debug('comp', comp, options)
+ comp = replaceCarets(comp, options)
+ debug('caret', comp)
+ comp = replaceTildes(comp, options)
+ debug('tildes', comp)
+ comp = replaceXRanges(comp, options)
+ debug('xrange', comp)
+ comp = replaceStars(comp, options)
+ debug('stars', comp)
+ return comp
+}
+
+const isX = id => !id || id.toLowerCase() === 'x' || id === '*'
+
+const invalidXRangeOrder = (M, m, p) => (
+ (isX(M) && !isX(m)) ||
+ (isX(m) && p && !isX(p))
+)
+
+// ~, ~> --> * (any, kinda silly)
+// ~2, ~2.x, ~2.x.x, ~>2, ~>2.x ~>2.x.x --> >=2.0.0 <3.0.0-0
+// ~2.0, ~2.0.x, ~>2.0, ~>2.0.x --> >=2.0.0 <2.1.0-0
+// ~1.2, ~1.2.x, ~>1.2, ~>1.2.x --> >=1.2.0 <1.3.0-0
+// ~1.2.3, ~>1.2.3 --> >=1.2.3 <1.3.0-0
+// ~1.2.0, ~>1.2.0 --> >=1.2.0 <1.3.0-0
+// ~0.0.1 --> >=0.0.1 <0.1.0-0
+const replaceTildes = (comp, options) => {
+ return comp
+ .trim()
+ .split(/\s+/)
+ .map((c) => replaceTilde(c, options))
+ .join(' ')
+}
+
+const replaceTilde = (comp, options) => {
+ const r = options.loose ? re[t.TILDELOOSE] : re[t.TILDE]
+ // if we're including prereleases in the match, then the lower bound is
+ // -0, the lowest possible prerelease value, just like x-ranges and carets.
+ // this keeps `~1.2` equivalent to the `1.2.x` x-range it's documented as.
+ const z = options.includePrerelease ? '-0' : ''
+ return comp.replace(r, (_, M, m, p, pr) => {
+ debug('tilde', comp, _, M, m, p, pr)
+ let ret
+
+ if (isX(M)) {
+ ret = ''
+ } else if (isX(m)) {
+ ret = `>=${M}.0.0${z} <${+M + 1}.0.0-0`
+ } else if (isX(p)) {
+ // ~1.2 == >=1.2.0 <1.3.0-0
+ ret = `>=${M}.${m}.0${z} <${M}.${+m + 1}.0-0`
+ } else if (pr) {
+ debug('replaceTilde pr', pr)
+ ret = `>=${M}.${m}.${p}-${pr
+ } <${M}.${+m + 1}.0-0`
+ } else {
+ // ~1.2.3 == >=1.2.3 <1.3.0-0
+ ret = `>=${M}.${m}.${p
+ } <${M}.${+m + 1}.0-0`
+ }
+
+ debug('tilde return', ret)
+ return ret
+ })
+}
+
+// ^ --> * (any, kinda silly)
+// ^2, ^2.x, ^2.x.x --> >=2.0.0 <3.0.0-0
+// ^2.0, ^2.0.x --> >=2.0.0 <3.0.0-0
+// ^1.2, ^1.2.x --> >=1.2.0 <2.0.0-0
+// ^1.2.3 --> >=1.2.3 <2.0.0-0
+// ^1.2.0 --> >=1.2.0 <2.0.0-0
+// ^0.0.1 --> >=0.0.1 <0.0.2-0
+// ^0.1.0 --> >=0.1.0 <0.2.0-0
+const replaceCarets = (comp, options) => {
+ return comp
+ .trim()
+ .split(/\s+/)
+ .map((c) => replaceCaret(c, options))
+ .join(' ')
+}
+
+const replaceCaret = (comp, options) => {
+ debug('caret', comp, options)
+ const r = options.loose ? re[t.CARETLOOSE] : re[t.CARET]
+ const z = options.includePrerelease ? '-0' : ''
+ return comp.replace(r, (_, M, m, p, pr) => {
+ debug('caret', comp, _, M, m, p, pr)
+ let ret
+
+ if (isX(M)) {
+ ret = ''
+ } else if (isX(m)) {
+ ret = `>=${M}.0.0${z} <${+M + 1}.0.0-0`
+ } else if (isX(p)) {
+ if (M === '0') {
+ ret = `>=${M}.${m}.0${z} <${M}.${+m + 1}.0-0`
+ } else {
+ ret = `>=${M}.${m}.0${z} <${+M + 1}.0.0-0`
+ }
+ } else if (pr) {
+ debug('replaceCaret pr', pr)
+ if (M === '0') {
+ if (m === '0') {
+ ret = `>=${M}.${m}.${p}-${pr
+ } <${M}.${m}.${+p + 1}-0`
+ } else {
+ ret = `>=${M}.${m}.${p}-${pr
+ } <${M}.${+m + 1}.0-0`
+ }
+ } else {
+ ret = `>=${M}.${m}.${p}-${pr
+ } <${+M + 1}.0.0-0`
+ }
+ } else {
+ debug('no pr')
+ if (M === '0') {
+ if (m === '0') {
+ ret = `>=${M}.${m}.${p
+ } <${M}.${m}.${+p + 1}-0`
+ } else {
+ ret = `>=${M}.${m}.${p
+ } <${M}.${+m + 1}.0-0`
+ }
+ } else {
+ ret = `>=${M}.${m}.${p
+ } <${+M + 1}.0.0-0`
+ }
+ }
+
+ debug('caret return', ret)
+ return ret
+ })
+}
+
+const replaceXRanges = (comp, options) => {
+ debug('replaceXRanges', comp, options)
+ return comp
+ .split(/\s+/)
+ .map((c) => replaceXRange(c, options))
+ .join(' ')
+}
+
+const replaceXRange = (comp, options) => {
+ comp = comp.trim()
+ const r = options.loose ? re[t.XRANGELOOSE] : re[t.XRANGE]
+ return comp.replace(r, (ret, gtlt, M, m, p, pr) => {
+ debug('xRange', comp, ret, gtlt, M, m, p, pr)
+ if (invalidXRangeOrder(M, m, p)) {
+ return comp
+ }
+
+ const xM = isX(M)
+ const xm = xM || isX(m)
+ const xp = xm || isX(p)
+ const anyX = xp
+
+ if (gtlt === '=' && anyX) {
+ gtlt = ''
+ }
+
+ // if we're including prereleases in the match, then we need
+ // to fix this to -0, the lowest possible prerelease value
+ pr = options.includePrerelease ? '-0' : ''
+
+ if (xM) {
+ if (gtlt === '>' || gtlt === '<') {
+ // nothing is allowed
+ ret = '<0.0.0-0'
+ } else {
+ // nothing is forbidden
+ ret = '*'
+ }
+ } else if (gtlt && anyX) {
+ // we know patch is an x, because we have any x at all.
+ // replace X with 0
+ if (xm) {
+ m = 0
+ }
+ p = 0
+
+ if (gtlt === '>') {
+ // >1 => >=2.0.0
+ // >1.2 => >=1.3.0
+ gtlt = '>='
+ if (xm) {
+ M = +M + 1
+ m = 0
+ p = 0
+ } else {
+ m = +m + 1
+ p = 0
+ }
+ } else if (gtlt === '<=') {
+ // <=0.7.x is actually <0.8.0, since any 0.7.x should
+ // pass. Similarly, <=7.x is actually <8.0.0, etc.
+ gtlt = '<'
+ if (xm) {
+ M = +M + 1
+ } else {
+ m = +m + 1
+ }
+ }
+
+ if (gtlt === '<') {
+ pr = '-0'
+ }
+
+ ret = `${gtlt + M}.${m}.${p}${pr}`
+ } else if (xm) {
+ ret = `>=${M}.0.0${pr} <${+M + 1}.0.0-0`
+ } else if (xp) {
+ ret = `>=${M}.${m}.0${pr
+ } <${M}.${+m + 1}.0-0`
+ }
+
+ debug('xRange return', ret)
+
+ return ret
+ })
+}
+
+// Because * is AND-ed with everything else in the comparator,
+// and '' means "any version", just remove the *s entirely.
+const replaceStars = (comp, options) => {
+ debug('replaceStars', comp, options)
+ // Looseness is ignored here. star is always as loose as it gets!
+ return comp
+ .trim()
+ .replace(re[t.STAR], '')
+}
+
+const replaceGTE0 = (comp, options) => {
+ debug('replaceGTE0', comp, options)
+ return comp
+ .trim()
+ .replace(re[options.includePrerelease ? t.GTE0PRE : t.GTE0], '')
+}
+
+// This function is passed to string.replace(re[t.HYPHENRANGE])
+// M, m, patch, prerelease, build
+// 1.2 - 3.4.5 => >=1.2.0 <=3.4.5
+// 1.2.3 - 3.4 => >=1.2.0 <3.5.0-0 Any 3.4.x will do
+// 1.2 - 3.4 => >=1.2.0 <3.5.0-0
+// TODO build?
+const hyphenReplace = incPr => ($0,
+ from, fM, fm, fp, fpr, fb,
+ to, tM, tm, tp, tpr) => {
+ if (isX(fM)) {
+ from = ''
+ } else if (isX(fm)) {
+ from = `>=${fM}.0.0${incPr ? '-0' : ''}`
+ } else if (isX(fp)) {
+ from = `>=${fM}.${fm}.0${incPr ? '-0' : ''}`
+ } else if (fpr) {
+ from = `>=${from}`
+ } else {
+ from = `>=${from}${incPr ? '-0' : ''}`
+ }
+
+ if (isX(tM)) {
+ to = ''
+ } else if (isX(tm)) {
+ to = `<${+tM + 1}.0.0-0`
+ } else if (isX(tp)) {
+ to = `<${tM}.${+tm + 1}.0-0`
+ } else if (tpr) {
+ to = `<=${tM}.${tm}.${tp}-${tpr}`
+ } else if (incPr) {
+ to = `<${tM}.${tm}.${+tp + 1}-0`
+ } else {
+ to = `<=${to}`
+ }
+
+ return `${from} ${to}`.trim()
+}
+
+const testSet = (set, version, options) => {
+ for (let i = 0; i < set.length; i++) {
+ if (!set[i].test(version)) {
+ return false
+ }
+ }
+
+ if (version.prerelease.length && !options.includePrerelease) {
+ // Find the set of versions that are allowed to have prereleases
+ // For example, ^1.2.3-pr.1 desugars to >=1.2.3-pr.1 <2.0.0
+ // That should allow `1.2.3-pr.2` to pass.
+ // However, `1.2.4-alpha.notready` should NOT be allowed,
+ // even though it's within the range set by the comparators.
+ for (let i = 0; i < set.length; i++) {
+ debug(set[i].semver)
+ if (set[i].semver === Comparator.ANY) {
+ continue
+ }
+
+ if (set[i].semver.prerelease.length > 0) {
+ const allowed = set[i].semver
+ if (allowed.major === version.major &&
+ allowed.minor === version.minor &&
+ allowed.patch === version.patch) {
+ return true
+ }
+ }
+ }
+
+ // Version has a -pre, but it's not one of the ones we like.
+ return false
+ }
+
+ return true
+}
diff --git a/apps/api/.output/node_modules/semver/classes/semver.js b/apps/api/.output/node_modules/semver/classes/semver.js
new file mode 100644
index 0000000..5438127
--- /dev/null
+++ b/apps/api/.output/node_modules/semver/classes/semver.js
@@ -0,0 +1,350 @@
+'use strict'
+
+const debug = require('../internal/debug')
+const { MAX_LENGTH, MAX_SAFE_INTEGER } = require('../internal/constants')
+const { safeRe: re, t } = require('../internal/re')
+
+const parseOptions = require('../internal/parse-options')
+const { compareIdentifiers } = require('../internal/identifiers')
+
+const isPrereleaseIdentifier = (prerelease, identifier) => {
+ const identifiers = identifier.split('.')
+ if (identifiers.length > prerelease.length) {
+ return false
+ }
+
+ for (let i = 0; i < identifiers.length; i++) {
+ if (compareIdentifiers(prerelease[i], identifiers[i]) !== 0) {
+ return false
+ }
+ }
+
+ return true
+}
+
+class SemVer {
+ constructor (version, options) {
+ options = parseOptions(options)
+
+ if (version instanceof SemVer) {
+ if (version.loose === !!options.loose &&
+ version.includePrerelease === !!options.includePrerelease) {
+ return version
+ } else {
+ version = version.version
+ }
+ } else if (typeof version !== 'string') {
+ throw new TypeError(`Invalid version. Must be a string. Got type "${typeof version}".`)
+ }
+
+ if (version.length > MAX_LENGTH) {
+ throw new TypeError(
+ `version is longer than ${MAX_LENGTH} characters`
+ )
+ }
+
+ debug('SemVer', version, options)
+ this.options = options
+ this.loose = !!options.loose
+ // this isn't actually relevant for versions, but keep it so that we
+ // don't run into trouble passing this.options around.
+ this.includePrerelease = !!options.includePrerelease
+
+ const m = version.trim().match(options.loose ? re[t.LOOSE] : re[t.FULL])
+
+ if (!m) {
+ throw new TypeError(`Invalid Version: ${version}`)
+ }
+
+ this.raw = version
+
+ // these are actually numbers
+ this.major = +m[1]
+ this.minor = +m[2]
+ this.patch = +m[3]
+
+ if (this.major > MAX_SAFE_INTEGER || this.major < 0) {
+ throw new TypeError('Invalid major version')
+ }
+
+ if (this.minor > MAX_SAFE_INTEGER || this.minor < 0) {
+ throw new TypeError('Invalid minor version')
+ }
+
+ if (this.patch > MAX_SAFE_INTEGER || this.patch < 0) {
+ throw new TypeError('Invalid patch version')
+ }
+
+ // numberify any prerelease numeric ids
+ if (!m[4]) {
+ this.prerelease = []
+ } else {
+ this.prerelease = m[4].split('.').map((id) => {
+ if (/^[0-9]+$/.test(id)) {
+ const num = +id
+ if (num >= 0 && num < MAX_SAFE_INTEGER) {
+ return num
+ }
+ }
+ return id
+ })
+ }
+
+ this.build = m[5] ? m[5].split('.') : []
+ this.format()
+ }
+
+ format () {
+ this.version = `${this.major}.${this.minor}.${this.patch}`
+ if (this.prerelease.length) {
+ this.version += `-${this.prerelease.join('.')}`
+ }
+ return this.version
+ }
+
+ toString () {
+ return this.version
+ }
+
+ compare (other) {
+ debug('SemVer.compare', this.version, this.options, other)
+ if (!(other instanceof SemVer)) {
+ if (typeof other === 'string' && other === this.version) {
+ return 0
+ }
+ other = new SemVer(other, this.options)
+ }
+
+ if (other.version === this.version) {
+ return 0
+ }
+
+ return this.compareMain(other) || this.comparePre(other)
+ }
+
+ compareMain (other) {
+ if (!(other instanceof SemVer)) {
+ other = new SemVer(other, this.options)
+ }
+
+ if (this.major < other.major) {
+ return -1
+ }
+ if (this.major > other.major) {
+ return 1
+ }
+ if (this.minor < other.minor) {
+ return -1
+ }
+ if (this.minor > other.minor) {
+ return 1
+ }
+ if (this.patch < other.patch) {
+ return -1
+ }
+ if (this.patch > other.patch) {
+ return 1
+ }
+ return 0
+ }
+
+ comparePre (other) {
+ if (!(other instanceof SemVer)) {
+ other = new SemVer(other, this.options)
+ }
+
+ // NOT having a prerelease is > having one
+ if (this.prerelease.length && !other.prerelease.length) {
+ return -1
+ } else if (!this.prerelease.length && other.prerelease.length) {
+ return 1
+ } else if (!this.prerelease.length && !other.prerelease.length) {
+ return 0
+ }
+
+ let i = 0
+ do {
+ const a = this.prerelease[i]
+ const b = other.prerelease[i]
+ debug('prerelease compare', i, a, b)
+ if (a === undefined && b === undefined) {
+ return 0
+ } else if (b === undefined) {
+ return 1
+ } else if (a === undefined) {
+ return -1
+ } else if (a === b) {
+ continue
+ } else {
+ return compareIdentifiers(a, b)
+ }
+ } while (++i)
+ }
+
+ compareBuild (other) {
+ if (!(other instanceof SemVer)) {
+ other = new SemVer(other, this.options)
+ }
+
+ let i = 0
+ do {
+ const a = this.build[i]
+ const b = other.build[i]
+ debug('build compare', i, a, b)
+ if (a === undefined && b === undefined) {
+ return 0
+ } else if (b === undefined) {
+ return 1
+ } else if (a === undefined) {
+ return -1
+ } else if (a === b) {
+ continue
+ } else {
+ return compareIdentifiers(a, b)
+ }
+ } while (++i)
+ }
+
+ // preminor will bump the version up to the next minor release, and immediately
+ // down to pre-release. premajor and prepatch work the same way.
+ inc (release, identifier, identifierBase) {
+ if (release.startsWith('pre')) {
+ if (!identifier && identifierBase === false) {
+ throw new Error('invalid increment argument: identifier is empty')
+ }
+ // Avoid an invalid semver results
+ if (identifier) {
+ const match = `-${identifier}`.match(this.options.loose ? re[t.PRERELEASELOOSE] : re[t.PRERELEASE])
+ if (!match || match[1] !== identifier) {
+ throw new Error(`invalid identifier: ${identifier}`)
+ }
+ }
+ }
+
+ switch (release) {
+ case 'premajor':
+ this.prerelease.length = 0
+ this.patch = 0
+ this.minor = 0
+ this.major++
+ this.inc('pre', identifier, identifierBase)
+ break
+ case 'preminor':
+ this.prerelease.length = 0
+ this.patch = 0
+ this.minor++
+ this.inc('pre', identifier, identifierBase)
+ break
+ case 'prepatch':
+ // If this is already a prerelease, it will bump to the next version
+ // drop any prereleases that might already exist, since they are not
+ // relevant at this point.
+ this.prerelease.length = 0
+ this.inc('patch', identifier, identifierBase)
+ this.inc('pre', identifier, identifierBase)
+ break
+ // If the input is a non-prerelease version, this acts the same as
+ // prepatch.
+ case 'prerelease':
+ if (this.prerelease.length === 0) {
+ this.inc('patch', identifier, identifierBase)
+ }
+ this.inc('pre', identifier, identifierBase)
+ break
+ case 'release':
+ if (this.prerelease.length === 0) {
+ throw new Error(`version ${this.raw} is not a prerelease`)
+ }
+ this.prerelease.length = 0
+ break
+
+ case 'major':
+ // If this is a pre-major version, bump up to the same major version.
+ // Otherwise increment major.
+ // 1.0.0-5 bumps to 1.0.0
+ // 1.1.0 bumps to 2.0.0
+ if (
+ this.minor !== 0 ||
+ this.patch !== 0 ||
+ this.prerelease.length === 0
+ ) {
+ this.major++
+ }
+ this.minor = 0
+ this.patch = 0
+ this.prerelease = []
+ break
+ case 'minor':
+ // If this is a pre-minor version, bump up to the same minor version.
+ // Otherwise increment minor.
+ // 1.2.0-5 bumps to 1.2.0
+ // 1.2.1 bumps to 1.3.0
+ if (this.patch !== 0 || this.prerelease.length === 0) {
+ this.minor++
+ }
+ this.patch = 0
+ this.prerelease = []
+ break
+ case 'patch':
+ // If this is not a pre-release version, it will increment the patch.
+ // If it is a pre-release it will bump up to the same patch version.
+ // 1.2.0-5 patches to 1.2.0
+ // 1.2.0 patches to 1.2.1
+ if (this.prerelease.length === 0) {
+ this.patch++
+ }
+ this.prerelease = []
+ break
+ // This probably shouldn't be used publicly.
+ // 1.0.0 'pre' would become 1.0.0-0 which is the wrong direction.
+ case 'pre': {
+ const base = Number(identifierBase) ? 1 : 0
+
+ if (this.prerelease.length === 0) {
+ this.prerelease = [base]
+ } else {
+ let i = this.prerelease.length
+ while (--i >= 0) {
+ if (typeof this.prerelease[i] === 'number') {
+ this.prerelease[i]++
+ i = -2
+ }
+ }
+ if (i === -1) {
+ // didn't increment anything
+ if (identifier === this.prerelease.join('.') && identifierBase === false) {
+ throw new Error('invalid increment argument: identifier already exists')
+ }
+ this.prerelease.push(base)
+ }
+ }
+ if (identifier) {
+ // 1.2.0-beta.1 bumps to 1.2.0-beta.2,
+ // 1.2.0-beta.fooblz or 1.2.0-beta bumps to 1.2.0-beta.0
+ let prerelease = [identifier, base]
+ if (identifierBase === false) {
+ prerelease = [identifier]
+ }
+ if (isPrereleaseIdentifier(this.prerelease, identifier)) {
+ const prereleaseBase = this.prerelease[identifier.split('.').length]
+ if (isNaN(prereleaseBase)) {
+ this.prerelease = prerelease
+ }
+ } else {
+ this.prerelease = prerelease
+ }
+ }
+ break
+ }
+ default:
+ throw new Error(`invalid increment argument: ${release}`)
+ }
+ this.raw = this.format()
+ if (this.build.length) {
+ this.raw += `+${this.build.join('.')}`
+ }
+ return this
+ }
+}
+
+module.exports = SemVer
diff --git a/apps/api/.output/node_modules/semver/functions/clean.js b/apps/api/.output/node_modules/semver/functions/clean.js
new file mode 100644
index 0000000..79703d6
--- /dev/null
+++ b/apps/api/.output/node_modules/semver/functions/clean.js
@@ -0,0 +1,8 @@
+'use strict'
+
+const parse = require('./parse')
+const clean = (version, options) => {
+ const s = parse(version.trim().replace(/^[=v]+/, ''), options)
+ return s ? s.version : null
+}
+module.exports = clean
diff --git a/apps/api/.output/node_modules/semver/functions/cmp.js b/apps/api/.output/node_modules/semver/functions/cmp.js
new file mode 100644
index 0000000..77487dc
--- /dev/null
+++ b/apps/api/.output/node_modules/semver/functions/cmp.js
@@ -0,0 +1,54 @@
+'use strict'
+
+const eq = require('./eq')
+const neq = require('./neq')
+const gt = require('./gt')
+const gte = require('./gte')
+const lt = require('./lt')
+const lte = require('./lte')
+
+const cmp = (a, op, b, loose) => {
+ switch (op) {
+ case '===':
+ if (typeof a === 'object') {
+ a = a.version
+ }
+ if (typeof b === 'object') {
+ b = b.version
+ }
+ return a === b
+
+ case '!==':
+ if (typeof a === 'object') {
+ a = a.version
+ }
+ if (typeof b === 'object') {
+ b = b.version
+ }
+ return a !== b
+
+ case '':
+ case '=':
+ case '==':
+ return eq(a, b, loose)
+
+ case '!=':
+ return neq(a, b, loose)
+
+ case '>':
+ return gt(a, b, loose)
+
+ case '>=':
+ return gte(a, b, loose)
+
+ case '<':
+ return lt(a, b, loose)
+
+ case '<=':
+ return lte(a, b, loose)
+
+ default:
+ throw new TypeError(`Invalid operator: ${op}`)
+ }
+}
+module.exports = cmp
diff --git a/apps/api/.output/node_modules/semver/functions/coerce.js b/apps/api/.output/node_modules/semver/functions/coerce.js
new file mode 100644
index 0000000..cfe0275
--- /dev/null
+++ b/apps/api/.output/node_modules/semver/functions/coerce.js
@@ -0,0 +1,62 @@
+'use strict'
+
+const SemVer = require('../classes/semver')
+const parse = require('./parse')
+const { safeRe: re, t } = require('../internal/re')
+
+const coerce = (version, options) => {
+ if (version instanceof SemVer) {
+ return version
+ }
+
+ if (typeof version === 'number') {
+ version = String(version)
+ }
+
+ if (typeof version !== 'string') {
+ return null
+ }
+
+ options = options || {}
+
+ let match = null
+ if (!options.rtl) {
+ match = version.match(options.includePrerelease ? re[t.COERCEFULL] : re[t.COERCE])
+ } else {
+ // Find the right-most coercible string that does not share
+ // a terminus with a more left-ward coercible string.
+ // Eg, '1.2.3.4' wants to coerce '2.3.4', not '3.4' or '4'
+ // With includePrerelease option set, '1.2.3.4-rc' wants to coerce '2.3.4-rc', not '2.3.4'
+ //
+ // Walk through the string checking with a /g regexp
+ // Manually set the index so as to pick up overlapping matches.
+ // Stop when we get a match that ends at the string end, since no
+ // coercible string can be more right-ward without the same terminus.
+ const coerceRtlRegex = options.includePrerelease ? re[t.COERCERTLFULL] : re[t.COERCERTL]
+ let next
+ while ((next = coerceRtlRegex.exec(version)) &&
+ (!match || match.index + match[0].length !== version.length)
+ ) {
+ if (!match ||
+ next.index + next[0].length !== match.index + match[0].length) {
+ match = next
+ }
+ coerceRtlRegex.lastIndex = next.index + next[1].length + next[2].length
+ }
+ // leave it in a clean state
+ coerceRtlRegex.lastIndex = -1
+ }
+
+ if (match === null) {
+ return null
+ }
+
+ const major = match[2]
+ const minor = match[3] || '0'
+ const patch = match[4] || '0'
+ const prerelease = options.includePrerelease && match[5] ? `-${match[5]}` : ''
+ const build = options.includePrerelease && match[6] ? `+${match[6]}` : ''
+
+ return parse(`${major}.${minor}.${patch}${prerelease}${build}`, options)
+}
+module.exports = coerce
diff --git a/apps/api/.output/node_modules/semver/functions/compare-build.js b/apps/api/.output/node_modules/semver/functions/compare-build.js
new file mode 100644
index 0000000..99157cf
--- /dev/null
+++ b/apps/api/.output/node_modules/semver/functions/compare-build.js
@@ -0,0 +1,9 @@
+'use strict'
+
+const SemVer = require('../classes/semver')
+const compareBuild = (a, b, loose) => {
+ const versionA = new SemVer(a, loose)
+ const versionB = new SemVer(b, loose)
+ return versionA.compare(versionB) || versionA.compareBuild(versionB)
+}
+module.exports = compareBuild
diff --git a/apps/api/.output/node_modules/semver/functions/compare-loose.js b/apps/api/.output/node_modules/semver/functions/compare-loose.js
new file mode 100644
index 0000000..7531634
--- /dev/null
+++ b/apps/api/.output/node_modules/semver/functions/compare-loose.js
@@ -0,0 +1,5 @@
+'use strict'
+
+const compare = require('./compare')
+const compareLoose = (a, b) => compare(a, b, true)
+module.exports = compareLoose
diff --git a/apps/api/.output/node_modules/semver/functions/compare.js b/apps/api/.output/node_modules/semver/functions/compare.js
new file mode 100644
index 0000000..63d8090
--- /dev/null
+++ b/apps/api/.output/node_modules/semver/functions/compare.js
@@ -0,0 +1,7 @@
+'use strict'
+
+const SemVer = require('../classes/semver')
+const compare = (a, b, loose) =>
+ new SemVer(a, loose).compare(new SemVer(b, loose))
+
+module.exports = compare
diff --git a/apps/api/.output/node_modules/semver/functions/diff.js b/apps/api/.output/node_modules/semver/functions/diff.js
new file mode 100644
index 0000000..c99ab51
--- /dev/null
+++ b/apps/api/.output/node_modules/semver/functions/diff.js
@@ -0,0 +1,60 @@
+'use strict'
+
+const parse = require('./parse.js')
+
+const diff = (version1, version2) => {
+ const v1 = parse(version1, null, true)
+ const v2 = parse(version2, null, true)
+ const comparison = v1.compare(v2)
+
+ if (comparison === 0) {
+ return null
+ }
+
+ const v1Higher = comparison > 0
+ const highVersion = v1Higher ? v1 : v2
+ const lowVersion = v1Higher ? v2 : v1
+ const highHasPre = !!highVersion.prerelease.length
+ const lowHasPre = !!lowVersion.prerelease.length
+
+ if (lowHasPre && !highHasPre) {
+ // Going from prerelease -> no prerelease requires some special casing
+
+ // If the low version has only a major, then it will always be a major
+ // Some examples:
+ // 1.0.0-1 -> 1.0.0
+ // 1.0.0-1 -> 1.1.1
+ // 1.0.0-1 -> 2.0.0
+ if (!lowVersion.patch && !lowVersion.minor) {
+ return 'major'
+ }
+
+ // If the main part has no difference
+ if (lowVersion.compareMain(highVersion) === 0) {
+ if (lowVersion.minor && !lowVersion.patch) {
+ return 'minor'
+ }
+ return 'patch'
+ }
+ }
+
+ // add the `pre` prefix if we are going to a prerelease version
+ const prefix = highHasPre ? 'pre' : ''
+
+ if (v1.major !== v2.major) {
+ return prefix + 'major'
+ }
+
+ if (v1.minor !== v2.minor) {
+ return prefix + 'minor'
+ }
+
+ if (v1.patch !== v2.patch) {
+ return prefix + 'patch'
+ }
+
+ // high and low are prereleases
+ return 'prerelease'
+}
+
+module.exports = diff
diff --git a/apps/api/.output/node_modules/semver/functions/eq.js b/apps/api/.output/node_modules/semver/functions/eq.js
new file mode 100644
index 0000000..5f0eead
--- /dev/null
+++ b/apps/api/.output/node_modules/semver/functions/eq.js
@@ -0,0 +1,5 @@
+'use strict'
+
+const compare = require('./compare')
+const eq = (a, b, loose) => compare(a, b, loose) === 0
+module.exports = eq
diff --git a/apps/api/.output/node_modules/semver/functions/gt.js b/apps/api/.output/node_modules/semver/functions/gt.js
new file mode 100644
index 0000000..84a57dd
--- /dev/null
+++ b/apps/api/.output/node_modules/semver/functions/gt.js
@@ -0,0 +1,5 @@
+'use strict'
+
+const compare = require('./compare')
+const gt = (a, b, loose) => compare(a, b, loose) > 0
+module.exports = gt
diff --git a/apps/api/.output/node_modules/semver/functions/gte.js b/apps/api/.output/node_modules/semver/functions/gte.js
new file mode 100644
index 0000000..7c52bdf
--- /dev/null
+++ b/apps/api/.output/node_modules/semver/functions/gte.js
@@ -0,0 +1,5 @@
+'use strict'
+
+const compare = require('./compare')
+const gte = (a, b, loose) => compare(a, b, loose) >= 0
+module.exports = gte
diff --git a/apps/api/.output/node_modules/semver/functions/inc.js b/apps/api/.output/node_modules/semver/functions/inc.js
new file mode 100644
index 0000000..ff999e9
--- /dev/null
+++ b/apps/api/.output/node_modules/semver/functions/inc.js
@@ -0,0 +1,21 @@
+'use strict'
+
+const SemVer = require('../classes/semver')
+
+const inc = (version, release, options, identifier, identifierBase) => {
+ if (typeof (options) === 'string') {
+ identifierBase = identifier
+ identifier = options
+ options = undefined
+ }
+
+ try {
+ return new SemVer(
+ version instanceof SemVer ? version.version : version,
+ options
+ ).inc(release, identifier, identifierBase).version
+ } catch (er) {
+ return null
+ }
+}
+module.exports = inc
diff --git a/apps/api/.output/node_modules/semver/functions/lt.js b/apps/api/.output/node_modules/semver/functions/lt.js
new file mode 100644
index 0000000..2fb32a0
--- /dev/null
+++ b/apps/api/.output/node_modules/semver/functions/lt.js
@@ -0,0 +1,5 @@
+'use strict'
+
+const compare = require('./compare')
+const lt = (a, b, loose) => compare(a, b, loose) < 0
+module.exports = lt
diff --git a/apps/api/.output/node_modules/semver/functions/lte.js b/apps/api/.output/node_modules/semver/functions/lte.js
new file mode 100644
index 0000000..da9ee8f
--- /dev/null
+++ b/apps/api/.output/node_modules/semver/functions/lte.js
@@ -0,0 +1,5 @@
+'use strict'
+
+const compare = require('./compare')
+const lte = (a, b, loose) => compare(a, b, loose) <= 0
+module.exports = lte
diff --git a/apps/api/.output/node_modules/semver/functions/major.js b/apps/api/.output/node_modules/semver/functions/major.js
new file mode 100644
index 0000000..e6d08dc
--- /dev/null
+++ b/apps/api/.output/node_modules/semver/functions/major.js
@@ -0,0 +1,5 @@
+'use strict'
+
+const SemVer = require('../classes/semver')
+const major = (a, loose) => new SemVer(a, loose).major
+module.exports = major
diff --git a/apps/api/.output/node_modules/semver/functions/minor.js b/apps/api/.output/node_modules/semver/functions/minor.js
new file mode 100644
index 0000000..9e70ffd
--- /dev/null
+++ b/apps/api/.output/node_modules/semver/functions/minor.js
@@ -0,0 +1,5 @@
+'use strict'
+
+const SemVer = require('../classes/semver')
+const minor = (a, loose) => new SemVer(a, loose).minor
+module.exports = minor
diff --git a/apps/api/.output/node_modules/semver/functions/neq.js b/apps/api/.output/node_modules/semver/functions/neq.js
new file mode 100644
index 0000000..84326b7
--- /dev/null
+++ b/apps/api/.output/node_modules/semver/functions/neq.js
@@ -0,0 +1,5 @@
+'use strict'
+
+const compare = require('./compare')
+const neq = (a, b, loose) => compare(a, b, loose) !== 0
+module.exports = neq
diff --git a/apps/api/.output/node_modules/semver/functions/parse.js b/apps/api/.output/node_modules/semver/functions/parse.js
new file mode 100644
index 0000000..d544d33
--- /dev/null
+++ b/apps/api/.output/node_modules/semver/functions/parse.js
@@ -0,0 +1,18 @@
+'use strict'
+
+const SemVer = require('../classes/semver')
+const parse = (version, options, throwErrors = false) => {
+ if (version instanceof SemVer) {
+ return version
+ }
+ try {
+ return new SemVer(version, options)
+ } catch (er) {
+ if (!throwErrors) {
+ return null
+ }
+ throw er
+ }
+}
+
+module.exports = parse
diff --git a/apps/api/.output/node_modules/semver/functions/patch.js b/apps/api/.output/node_modules/semver/functions/patch.js
new file mode 100644
index 0000000..7675162
--- /dev/null
+++ b/apps/api/.output/node_modules/semver/functions/patch.js
@@ -0,0 +1,5 @@
+'use strict'
+
+const SemVer = require('../classes/semver')
+const patch = (a, loose) => new SemVer(a, loose).patch
+module.exports = patch
diff --git a/apps/api/.output/node_modules/semver/functions/prerelease.js b/apps/api/.output/node_modules/semver/functions/prerelease.js
new file mode 100644
index 0000000..b8fe1db
--- /dev/null
+++ b/apps/api/.output/node_modules/semver/functions/prerelease.js
@@ -0,0 +1,8 @@
+'use strict'
+
+const parse = require('./parse')
+const prerelease = (version, options) => {
+ const parsed = parse(version, options)
+ return (parsed && parsed.prerelease.length) ? parsed.prerelease : null
+}
+module.exports = prerelease
diff --git a/apps/api/.output/node_modules/semver/functions/rcompare.js b/apps/api/.output/node_modules/semver/functions/rcompare.js
new file mode 100644
index 0000000..8e1c222
--- /dev/null
+++ b/apps/api/.output/node_modules/semver/functions/rcompare.js
@@ -0,0 +1,5 @@
+'use strict'
+
+const compare = require('./compare')
+const rcompare = (a, b, loose) => compare(b, a, loose)
+module.exports = rcompare
diff --git a/apps/api/.output/node_modules/semver/functions/rsort.js b/apps/api/.output/node_modules/semver/functions/rsort.js
new file mode 100644
index 0000000..5d3d200
--- /dev/null
+++ b/apps/api/.output/node_modules/semver/functions/rsort.js
@@ -0,0 +1,5 @@
+'use strict'
+
+const compareBuild = require('./compare-build')
+const rsort = (list, loose) => list.sort((a, b) => compareBuild(b, a, loose))
+module.exports = rsort
diff --git a/apps/api/.output/node_modules/semver/functions/satisfies.js b/apps/api/.output/node_modules/semver/functions/satisfies.js
new file mode 100644
index 0000000..a0264a2
--- /dev/null
+++ b/apps/api/.output/node_modules/semver/functions/satisfies.js
@@ -0,0 +1,12 @@
+'use strict'
+
+const Range = require('../classes/range')
+const satisfies = (version, range, options) => {
+ try {
+ range = new Range(range, options)
+ } catch (er) {
+ return false
+ }
+ return range.test(version)
+}
+module.exports = satisfies
diff --git a/apps/api/.output/node_modules/semver/functions/sort.js b/apps/api/.output/node_modules/semver/functions/sort.js
new file mode 100644
index 0000000..edb24b1
--- /dev/null
+++ b/apps/api/.output/node_modules/semver/functions/sort.js
@@ -0,0 +1,5 @@
+'use strict'
+
+const compareBuild = require('./compare-build')
+const sort = (list, loose) => list.sort((a, b) => compareBuild(a, b, loose))
+module.exports = sort
diff --git a/apps/api/.output/node_modules/semver/functions/truncate.js b/apps/api/.output/node_modules/semver/functions/truncate.js
new file mode 100644
index 0000000..8314e4e
--- /dev/null
+++ b/apps/api/.output/node_modules/semver/functions/truncate.js
@@ -0,0 +1,48 @@
+'use strict'
+
+const parse = require('./parse')
+const constants = require('../internal/constants')
+const SemVer = require('../classes/semver')
+
+const truncate = (version, truncation, options) => {
+ if (!constants.RELEASE_TYPES.includes(truncation)) {
+ return null
+ }
+
+ const clonedVersion = cloneInputVersion(version, options)
+ return clonedVersion && doTruncation(clonedVersion, truncation)
+}
+
+const cloneInputVersion = (version, options) => {
+ const versionStringToParse = (
+ version instanceof SemVer ? version.version : version
+ )
+
+ return parse(versionStringToParse, options)
+}
+
+const doTruncation = (version, truncation) => {
+ if (isPrerelease(truncation)) {
+ return version.version
+ }
+
+ version.prerelease = []
+
+ switch (truncation) {
+ case 'major':
+ version.minor = 0
+ version.patch = 0
+ break
+ case 'minor':
+ version.patch = 0
+ break
+ }
+
+ return version.format()
+}
+
+const isPrerelease = (type) => {
+ return type.startsWith('pre')
+}
+
+module.exports = truncate
diff --git a/apps/api/.output/node_modules/semver/functions/valid.js b/apps/api/.output/node_modules/semver/functions/valid.js
new file mode 100644
index 0000000..0db67ed
--- /dev/null
+++ b/apps/api/.output/node_modules/semver/functions/valid.js
@@ -0,0 +1,8 @@
+'use strict'
+
+const parse = require('./parse')
+const valid = (version, options) => {
+ const v = parse(version, options)
+ return v ? v.version : null
+}
+module.exports = valid
diff --git a/apps/api/.output/node_modules/semver/index.js b/apps/api/.output/node_modules/semver/index.js
new file mode 100644
index 0000000..bc1f608
--- /dev/null
+++ b/apps/api/.output/node_modules/semver/index.js
@@ -0,0 +1,93 @@
+'use strict'
+
+// just pre-load all the stuff that index.js lazily exports
+const internalRe = require('./internal/re')
+const constants = require('./internal/constants')
+const SemVer = require('./classes/semver')
+const identifiers = require('./internal/identifiers')
+const parse = require('./functions/parse')
+const valid = require('./functions/valid')
+const clean = require('./functions/clean')
+const inc = require('./functions/inc')
+const diff = require('./functions/diff')
+const major = require('./functions/major')
+const minor = require('./functions/minor')
+const patch = require('./functions/patch')
+const prerelease = require('./functions/prerelease')
+const compare = require('./functions/compare')
+const rcompare = require('./functions/rcompare')
+const compareLoose = require('./functions/compare-loose')
+const compareBuild = require('./functions/compare-build')
+const sort = require('./functions/sort')
+const rsort = require('./functions/rsort')
+const gt = require('./functions/gt')
+const lt = require('./functions/lt')
+const eq = require('./functions/eq')
+const neq = require('./functions/neq')
+const gte = require('./functions/gte')
+const lte = require('./functions/lte')
+const cmp = require('./functions/cmp')
+const coerce = require('./functions/coerce')
+const truncate = require('./functions/truncate')
+const Comparator = require('./classes/comparator')
+const Range = require('./classes/range')
+const satisfies = require('./functions/satisfies')
+const toComparators = require('./ranges/to-comparators')
+const maxSatisfying = require('./ranges/max-satisfying')
+const minSatisfying = require('./ranges/min-satisfying')
+const minVersion = require('./ranges/min-version')
+const validRange = require('./ranges/valid')
+const outside = require('./ranges/outside')
+const gtr = require('./ranges/gtr')
+const ltr = require('./ranges/ltr')
+const intersects = require('./ranges/intersects')
+const simplifyRange = require('./ranges/simplify')
+const subset = require('./ranges/subset')
+module.exports = {
+ parse,
+ valid,
+ clean,
+ inc,
+ diff,
+ major,
+ minor,
+ patch,
+ prerelease,
+ compare,
+ rcompare,
+ compareLoose,
+ compareBuild,
+ sort,
+ rsort,
+ gt,
+ lt,
+ eq,
+ neq,
+ gte,
+ lte,
+ cmp,
+ coerce,
+ truncate,
+ Comparator,
+ Range,
+ satisfies,
+ toComparators,
+ maxSatisfying,
+ minSatisfying,
+ minVersion,
+ validRange,
+ outside,
+ gtr,
+ ltr,
+ intersects,
+ simplifyRange,
+ subset,
+ SemVer,
+ re: internalRe.re,
+ src: internalRe.src,
+ tokens: internalRe.t,
+ SEMVER_SPEC_VERSION: constants.SEMVER_SPEC_VERSION,
+ RELEASE_TYPES: constants.RELEASE_TYPES,
+ compareIdentifiers: identifiers.compareIdentifiers,
+ rcompareIdentifiers: identifiers.rcompareIdentifiers,
+}
diff --git a/apps/api/.output/node_modules/semver/internal/constants.js b/apps/api/.output/node_modules/semver/internal/constants.js
new file mode 100644
index 0000000..6d1db91
--- /dev/null
+++ b/apps/api/.output/node_modules/semver/internal/constants.js
@@ -0,0 +1,37 @@
+'use strict'
+
+// Note: this is the semver.org version of the spec that it implements
+// Not necessarily the package version of this code.
+const SEMVER_SPEC_VERSION = '2.0.0'
+
+const MAX_LENGTH = 256
+const MAX_SAFE_INTEGER = Number.MAX_SAFE_INTEGER ||
+/* istanbul ignore next */ 9007199254740991
+
+// Max safe segment length for coercion.
+const MAX_SAFE_COMPONENT_LENGTH = 16
+
+// Max safe length for a build identifier. The max length minus 6 characters for
+// the shortest version with a build 0.0.0+BUILD.
+const MAX_SAFE_BUILD_LENGTH = MAX_LENGTH - 6
+
+const RELEASE_TYPES = [
+ 'major',
+ 'premajor',
+ 'minor',
+ 'preminor',
+ 'patch',
+ 'prepatch',
+ 'prerelease',
+]
+
+module.exports = {
+ MAX_LENGTH,
+ MAX_SAFE_COMPONENT_LENGTH,
+ MAX_SAFE_BUILD_LENGTH,
+ MAX_SAFE_INTEGER,
+ RELEASE_TYPES,
+ SEMVER_SPEC_VERSION,
+ FLAG_INCLUDE_PRERELEASE: 0b001,
+ FLAG_LOOSE: 0b010,
+}
diff --git a/apps/api/.output/node_modules/semver/internal/debug.js b/apps/api/.output/node_modules/semver/internal/debug.js
new file mode 100644
index 0000000..20d1e9d
--- /dev/null
+++ b/apps/api/.output/node_modules/semver/internal/debug.js
@@ -0,0 +1,11 @@
+'use strict'
+
+const debug = (
+ typeof process === 'object' &&
+ process.env &&
+ process.env.NODE_DEBUG &&
+ /\bsemver\b/i.test(process.env.NODE_DEBUG)
+) ? (...args) => console.error('SEMVER', ...args)
+ : () => {}
+
+module.exports = debug
diff --git a/apps/api/.output/node_modules/semver/internal/identifiers.js b/apps/api/.output/node_modules/semver/internal/identifiers.js
new file mode 100644
index 0000000..d053472
--- /dev/null
+++ b/apps/api/.output/node_modules/semver/internal/identifiers.js
@@ -0,0 +1,29 @@
+'use strict'
+
+const numeric = /^[0-9]+$/
+const compareIdentifiers = (a, b) => {
+ if (typeof a === 'number' && typeof b === 'number') {
+ return a === b ? 0 : a < b ? -1 : 1
+ }
+
+ const anum = numeric.test(a)
+ const bnum = numeric.test(b)
+
+ if (anum && bnum) {
+ a = +a
+ b = +b
+ }
+
+ return a === b ? 0
+ : (anum && !bnum) ? -1
+ : (bnum && !anum) ? 1
+ : a < b ? -1
+ : 1
+}
+
+const rcompareIdentifiers = (a, b) => compareIdentifiers(b, a)
+
+module.exports = {
+ compareIdentifiers,
+ rcompareIdentifiers,
+}
diff --git a/apps/api/.output/node_modules/semver/internal/lrucache.js b/apps/api/.output/node_modules/semver/internal/lrucache.js
new file mode 100644
index 0000000..b8bf526
--- /dev/null
+++ b/apps/api/.output/node_modules/semver/internal/lrucache.js
@@ -0,0 +1,42 @@
+'use strict'
+
+class LRUCache {
+ constructor () {
+ this.max = 1000
+ this.map = new Map()
+ }
+
+ get (key) {
+ const value = this.map.get(key)
+ if (value === undefined) {
+ return undefined
+ } else {
+ // Remove the key from the map and add it to the end
+ this.map.delete(key)
+ this.map.set(key, value)
+ return value
+ }
+ }
+
+ delete (key) {
+ return this.map.delete(key)
+ }
+
+ set (key, value) {
+ const deleted = this.delete(key)
+
+ if (!deleted && value !== undefined) {
+ // If cache is full, delete the least recently used item
+ if (this.map.size >= this.max) {
+ const firstKey = this.map.keys().next().value
+ this.delete(firstKey)
+ }
+
+ this.map.set(key, value)
+ }
+
+ return this
+ }
+}
+
+module.exports = LRUCache
diff --git a/apps/api/.output/node_modules/semver/internal/parse-options.js b/apps/api/.output/node_modules/semver/internal/parse-options.js
new file mode 100644
index 0000000..5295454
--- /dev/null
+++ b/apps/api/.output/node_modules/semver/internal/parse-options.js
@@ -0,0 +1,17 @@
+'use strict'
+
+// parse out just the options we care about
+const looseOption = Object.freeze({ loose: true })
+const emptyOpts = Object.freeze({ })
+const parseOptions = options => {
+ if (!options) {
+ return emptyOpts
+ }
+
+ if (typeof options !== 'object') {
+ return looseOption
+ }
+
+ return options
+}
+module.exports = parseOptions
diff --git a/apps/api/.output/node_modules/semver/internal/re.js b/apps/api/.output/node_modules/semver/internal/re.js
new file mode 100644
index 0000000..2ec2c22
--- /dev/null
+++ b/apps/api/.output/node_modules/semver/internal/re.js
@@ -0,0 +1,223 @@
+'use strict'
+
+const {
+ MAX_SAFE_COMPONENT_LENGTH,
+ MAX_SAFE_BUILD_LENGTH,
+ MAX_LENGTH,
+} = require('./constants')
+const debug = require('./debug')
+exports = module.exports = {}
+
+// The actual regexps go on exports.re
+const re = exports.re = []
+const safeRe = exports.safeRe = []
+const src = exports.src = []
+const safeSrc = exports.safeSrc = []
+const t = exports.t = {}
+let R = 0
+
+const LETTERDASHNUMBER = '[a-zA-Z0-9-]'
+
+// Replace some greedy regex tokens to prevent regex dos issues. These regex are
+// used internally via the safeRe object since all inputs in this library get
+// normalized first to trim and collapse all extra whitespace. The original
+// regexes are exported for userland consumption and lower level usage. A
+// future breaking change could export the safer regex only with a note that
+// all input should have extra whitespace removed.
+const safeRegexReplacements = [
+ ['\\s', 1],
+ ['\\d', MAX_LENGTH],
+ [LETTERDASHNUMBER, MAX_SAFE_BUILD_LENGTH],
+]
+
+const makeSafeRegex = (value) => {
+ for (const [token, max] of safeRegexReplacements) {
+ value = value
+ .split(`${token}*`).join(`${token}{0,${max}}`)
+ .split(`${token}+`).join(`${token}{1,${max}}`)
+ }
+ return value
+}
+
+const createToken = (name, value, isGlobal) => {
+ const safe = makeSafeRegex(value)
+ const index = R++
+ debug(name, index, value)
+ t[name] = index
+ src[index] = value
+ safeSrc[index] = safe
+ re[index] = new RegExp(value, isGlobal ? 'g' : undefined)
+ safeRe[index] = new RegExp(safe, isGlobal ? 'g' : undefined)
+}
+
+// The following Regular Expressions can be used for tokenizing,
+// validating, and parsing SemVer version strings.
+
+// ## Numeric Identifier
+// A single `0`, or a non-zero digit followed by zero or more digits.
+
+createToken('NUMERICIDENTIFIER', '0|[1-9]\\d*')
+createToken('NUMERICIDENTIFIERLOOSE', '\\d+')
+
+// ## Non-numeric Identifier
+// Zero or more digits, followed by a letter or hyphen, and then zero or
+// more letters, digits, or hyphens.
+
+createToken('NONNUMERICIDENTIFIER', `\\d*[a-zA-Z-]${LETTERDASHNUMBER}*`)
+
+// ## Main Version
+// Three dot-separated numeric identifiers.
+
+createToken('MAINVERSION', `(${src[t.NUMERICIDENTIFIER]})\\.` +
+ `(${src[t.NUMERICIDENTIFIER]})\\.` +
+ `(${src[t.NUMERICIDENTIFIER]})`)
+
+createToken('MAINVERSIONLOOSE', `(${src[t.NUMERICIDENTIFIERLOOSE]})\\.` +
+ `(${src[t.NUMERICIDENTIFIERLOOSE]})\\.` +
+ `(${src[t.NUMERICIDENTIFIERLOOSE]})`)
+
+// ## Pre-release Version Identifier
+// A numeric identifier, or a non-numeric identifier.
+// Non-numeric identifiers include numeric identifiers but can be longer.
+// Therefore non-numeric identifiers must go first.
+
+createToken('PRERELEASEIDENTIFIER', `(?:${src[t.NONNUMERICIDENTIFIER]
+}|${src[t.NUMERICIDENTIFIER]})`)
+
+createToken('PRERELEASEIDENTIFIERLOOSE', `(?:${src[t.NONNUMERICIDENTIFIER]
+}|${src[t.NUMERICIDENTIFIERLOOSE]})`)
+
+// ## Pre-release Version
+// Hyphen, followed by one or more dot-separated pre-release version
+// identifiers.
+
+createToken('PRERELEASE', `(?:-(${src[t.PRERELEASEIDENTIFIER]
+}(?:\\.${src[t.PRERELEASEIDENTIFIER]})*))`)
+
+createToken('PRERELEASELOOSE', `(?:-?(${src[t.PRERELEASEIDENTIFIERLOOSE]
+}(?:\\.${src[t.PRERELEASEIDENTIFIERLOOSE]})*))`)
+
+// ## Build Metadata Identifier
+// Any combination of digits, letters, or hyphens.
+
+createToken('BUILDIDENTIFIER', `${LETTERDASHNUMBER}+`)
+
+// ## Build Metadata
+// Plus sign, followed by one or more period-separated build metadata
+// identifiers.
+
+createToken('BUILD', `(?:\\+(${src[t.BUILDIDENTIFIER]
+}(?:\\.${src[t.BUILDIDENTIFIER]})*))`)
+
+// ## Full Version String
+// A main version, followed optionally by a pre-release version and
+// build metadata.
+
+// Note that the only major, minor, patch, and pre-release sections of
+// the version string are capturing groups. The build metadata is not a
+// capturing group, because it should not ever be used in version
+// comparison.
+
+createToken('FULLPLAIN', `v?${src[t.MAINVERSION]
+}${src[t.PRERELEASE]}?${
+ src[t.BUILD]}?`)
+
+createToken('FULL', `^${src[t.FULLPLAIN]}$`)
+
+// like full, but allows v1.2.3 and =1.2.3, which people do sometimes.
+// also, 1.0.0alpha1 (prerelease without the hyphen) which is pretty
+// common in the npm registry.
+createToken('LOOSEPLAIN', `[v=\\s]*${src[t.MAINVERSIONLOOSE]
+}${src[t.PRERELEASELOOSE]}?${
+ src[t.BUILD]}?`)
+
+createToken('LOOSE', `^${src[t.LOOSEPLAIN]}$`)
+
+createToken('GTLT', '((?:<|>)?=?)')
+
+// Something like "2.*" or "1.2.x".
+// Note that "x.x" is a valid xRange identifier, meaning "any version"
+// Only the first item is strictly required.
+createToken('XRANGEIDENTIFIERLOOSE', `${src[t.NUMERICIDENTIFIERLOOSE]}|x|X|\\*`)
+createToken('XRANGEIDENTIFIER', `${src[t.NUMERICIDENTIFIER]}|x|X|\\*`)
+
+createToken('XRANGEPLAIN', `[v=\\s]*(${src[t.XRANGEIDENTIFIER]})` +
+ `(?:\\.(${src[t.XRANGEIDENTIFIER]})` +
+ `(?:\\.(${src[t.XRANGEIDENTIFIER]})` +
+ `(?:${src[t.PRERELEASE]})?${
+ src[t.BUILD]}?` +
+ `)?)?`)
+
+createToken('XRANGEPLAINLOOSE', `[v=\\s]*(${src[t.XRANGEIDENTIFIERLOOSE]})` +
+ `(?:\\.(${src[t.XRANGEIDENTIFIERLOOSE]})` +
+ `(?:\\.(${src[t.XRANGEIDENTIFIERLOOSE]})` +
+ `(?:${src[t.PRERELEASELOOSE]})?${
+ src[t.BUILD]}?` +
+ `)?)?`)
+
+createToken('XRANGE', `^${src[t.GTLT]}\\s*${src[t.XRANGEPLAIN]}$`)
+createToken('XRANGELOOSE', `^${src[t.GTLT]}\\s*${src[t.XRANGEPLAINLOOSE]}$`)
+
+// Coercion.
+// Extract anything that could conceivably be a part of a valid semver
+createToken('COERCEPLAIN', `${'(^|[^\\d])' +
+ '(\\d{1,'}${MAX_SAFE_COMPONENT_LENGTH}})` +
+ `(?:\\.(\\d{1,${MAX_SAFE_COMPONENT_LENGTH}}))?` +
+ `(?:\\.(\\d{1,${MAX_SAFE_COMPONENT_LENGTH}}))?`)
+createToken('COERCE', `${src[t.COERCEPLAIN]}(?:$|[^\\d])`)
+createToken('COERCEFULL', src[t.COERCEPLAIN] +
+ `(?:${src[t.PRERELEASE]})?` +
+ `(?:${src[t.BUILD]})?` +
+ `(?:$|[^\\d])`)
+createToken('COERCERTL', src[t.COERCE], true)
+createToken('COERCERTLFULL', src[t.COERCEFULL], true)
+
+// Tilde ranges.
+// Meaning is "reasonably at or greater than"
+createToken('LONETILDE', '(?:~>?)')
+
+createToken('TILDETRIM', `(\\s*)${src[t.LONETILDE]}\\s+`, true)
+exports.tildeTrimReplace = '$1~'
+
+createToken('TILDE', `^${src[t.LONETILDE]}${src[t.XRANGEPLAIN]}$`)
+createToken('TILDELOOSE', `^${src[t.LONETILDE]}${src[t.XRANGEPLAINLOOSE]}$`)
+
+// Caret ranges.
+// Meaning is "at least and backwards compatible with"
+createToken('LONECARET', '(?:\\^)')
+
+createToken('CARETTRIM', `(\\s*)${src[t.LONECARET]}\\s+`, true)
+exports.caretTrimReplace = '$1^'
+
+createToken('CARET', `^${src[t.LONECARET]}${src[t.XRANGEPLAIN]}$`)
+createToken('CARETLOOSE', `^${src[t.LONECARET]}${src[t.XRANGEPLAINLOOSE]}$`)
+
+// A simple gt/lt/eq thing, or just "" to indicate "any version"
+createToken('COMPARATORLOOSE', `^${src[t.GTLT]}\\s*(${src[t.LOOSEPLAIN]})$|^$`)
+createToken('COMPARATOR', `^${src[t.GTLT]}\\s*(${src[t.FULLPLAIN]})$|^$`)
+
+// An expression to strip any whitespace between the gtlt and the thing
+// it modifies, so that `> 1.2.3` ==> `>1.2.3`
+createToken('COMPARATORTRIM', `(\\s*)${src[t.GTLT]
+}\\s*(${src[t.LOOSEPLAIN]}|${src[t.XRANGEPLAIN]})`, true)
+exports.comparatorTrimReplace = '$1$2$3'
+
+// Something like `1.2.3 - 1.2.4`
+// Note that these all use the loose form, because they'll be
+// checked against either the strict or loose comparator form
+// later.
+createToken('HYPHENRANGE', `^\\s*(${src[t.XRANGEPLAIN]})` +
+ `\\s+-\\s+` +
+ `(${src[t.XRANGEPLAIN]})` +
+ `\\s*$`)
+
+createToken('HYPHENRANGELOOSE', `^\\s*(${src[t.XRANGEPLAINLOOSE]})` +
+ `\\s+-\\s+` +
+ `(${src[t.XRANGEPLAINLOOSE]})` +
+ `\\s*$`)
+
+// Star ranges basically just allow anything at all.
+createToken('STAR', '(<|>)?=?\\s*\\*')
+// >=0.0.0 is like a star
+createToken('GTE0', '^\\s*>=\\s*0\\.0\\.0\\s*$')
+createToken('GTE0PRE', '^\\s*>=\\s*0\\.0\\.0-0\\s*$')
diff --git a/apps/api/.output/node_modules/semver/node_modules/.bin/semver b/apps/api/.output/node_modules/semver/node_modules/.bin/semver
new file mode 100644
index 0000000..45abba1
--- /dev/null
+++ b/apps/api/.output/node_modules/semver/node_modules/.bin/semver
@@ -0,0 +1,21 @@
+#!/bin/sh
+basedir=$(dirname "$(echo "$0" | sed -e 's,\\,/,g')")
+
+case `uname` in
+ *CYGWIN*|*MINGW*|*MSYS*)
+ if command -v cygpath > /dev/null 2>&1; then
+ basedir=`cygpath -w "$basedir"`
+ fi
+ ;;
+esac
+
+if [ -z "$NODE_PATH" ]; then
+ export NODE_PATH="/proc/cygdrive/e/imen pishghaman/imen_pishghaman/node_modules/.pnpm/semver@7.8.5/node_modules/semver/node_modules:/proc/cygdrive/e/imen pishghaman/imen_pishghaman/node_modules/.pnpm/semver@7.8.5/node_modules:/proc/cygdrive/e/imen pishghaman/imen_pishghaman/node_modules/.pnpm/node_modules"
+else
+ export NODE_PATH="/proc/cygdrive/e/imen pishghaman/imen_pishghaman/node_modules/.pnpm/semver@7.8.5/node_modules/semver/node_modules:/proc/cygdrive/e/imen pishghaman/imen_pishghaman/node_modules/.pnpm/semver@7.8.5/node_modules:/proc/cygdrive/e/imen pishghaman/imen_pishghaman/node_modules/.pnpm/node_modules:$NODE_PATH"
+fi
+if [ -x "$basedir/node" ]; then
+ exec "$basedir/node" "$basedir/../../bin/semver.js" "$@"
+else
+ exec node "$basedir/../../bin/semver.js" "$@"
+fi
diff --git a/apps/api/.output/node_modules/semver/node_modules/.bin/semver.CMD b/apps/api/.output/node_modules/semver/node_modules/.bin/semver.CMD
new file mode 100644
index 0000000..6bf4f01
--- /dev/null
+++ b/apps/api/.output/node_modules/semver/node_modules/.bin/semver.CMD
@@ -0,0 +1,12 @@
+@SETLOCAL
+@IF NOT DEFINED NODE_PATH (
+ @SET "NODE_PATH=E:\imen pishghaman\imen_pishghaman\node_modules\.pnpm\semver@7.8.5\node_modules\semver\node_modules;E:\imen pishghaman\imen_pishghaman\node_modules\.pnpm\semver@7.8.5\node_modules;E:\imen pishghaman\imen_pishghaman\node_modules\.pnpm\node_modules"
+) ELSE (
+ @SET "NODE_PATH=E:\imen pishghaman\imen_pishghaman\node_modules\.pnpm\semver@7.8.5\node_modules\semver\node_modules;E:\imen pishghaman\imen_pishghaman\node_modules\.pnpm\semver@7.8.5\node_modules;E:\imen pishghaman\imen_pishghaman\node_modules\.pnpm\node_modules;%NODE_PATH%"
+)
+@IF EXIST "%~dp0\node.exe" (
+ "%~dp0\node.exe" "%~dp0\..\..\bin\semver.js" %*
+) ELSE (
+ @SET PATHEXT=%PATHEXT:;.JS;=;%
+ node "%~dp0\..\..\bin\semver.js" %*
+)
diff --git a/apps/api/.output/node_modules/semver/node_modules/.bin/semver.ps1 b/apps/api/.output/node_modules/semver/node_modules/.bin/semver.ps1
new file mode 100644
index 0000000..5e848f7
--- /dev/null
+++ b/apps/api/.output/node_modules/semver/node_modules/.bin/semver.ps1
@@ -0,0 +1,41 @@
+#!/usr/bin/env pwsh
+$basedir=Split-Path $MyInvocation.MyCommand.Definition -Parent
+
+$exe=""
+$pathsep=":"
+$env_node_path=$env:NODE_PATH
+$new_node_path="E:\imen pishghaman\imen_pishghaman\node_modules\.pnpm\semver@7.8.5\node_modules\semver\node_modules;E:\imen pishghaman\imen_pishghaman\node_modules\.pnpm\semver@7.8.5\node_modules;E:\imen pishghaman\imen_pishghaman\node_modules\.pnpm\node_modules"
+if ($PSVersionTable.PSVersion -lt "6.0" -or $IsWindows) {
+ # Fix case when both the Windows and Linux builds of Node
+ # are installed in the same directory
+ $exe=".exe"
+ $pathsep=";"
+} else {
+ $new_node_path="/proc/cygdrive/e/imen pishghaman/imen_pishghaman/node_modules/.pnpm/semver@7.8.5/node_modules/semver/node_modules:/proc/cygdrive/e/imen pishghaman/imen_pishghaman/node_modules/.pnpm/semver@7.8.5/node_modules:/proc/cygdrive/e/imen pishghaman/imen_pishghaman/node_modules/.pnpm/node_modules"
+}
+if ([string]::IsNullOrEmpty($env_node_path)) {
+ $env:NODE_PATH=$new_node_path
+} else {
+ $env:NODE_PATH="$new_node_path$pathsep$env_node_path"
+}
+
+$ret=0
+if (Test-Path "$basedir/node$exe") {
+ # Support pipeline input
+ if ($MyInvocation.ExpectingInput) {
+ $input | & "$basedir/node$exe" "$basedir/../../bin/semver.js" $args
+ } else {
+ & "$basedir/node$exe" "$basedir/../../bin/semver.js" $args
+ }
+ $ret=$LASTEXITCODE
+} else {
+ # Support pipeline input
+ if ($MyInvocation.ExpectingInput) {
+ $input | & "node$exe" "$basedir/../../bin/semver.js" $args
+ } else {
+ & "node$exe" "$basedir/../../bin/semver.js" $args
+ }
+ $ret=$LASTEXITCODE
+}
+$env:NODE_PATH=$env_node_path
+exit $ret
diff --git a/apps/api/.output/node_modules/semver/package.json b/apps/api/.output/node_modules/semver/package.json
new file mode 100644
index 0000000..0cb7c7b
--- /dev/null
+++ b/apps/api/.output/node_modules/semver/package.json
@@ -0,0 +1,78 @@
+{
+ "name": "semver",
+ "version": "7.8.5",
+ "description": "The semantic version parser used by npm.",
+ "main": "index.js",
+ "scripts": {
+ "test": "tap",
+ "snap": "tap",
+ "lint": "npm run eslint",
+ "postlint": "template-oss-check",
+ "lintfix": "npm run eslint -- --fix",
+ "posttest": "npm run lint",
+ "template-oss-apply": "template-oss-apply --force",
+ "eslint": "eslint \"**/*.{js,cjs,ts,mjs,jsx,tsx}\""
+ },
+ "devDependencies": {
+ "@npmcli/eslint-config": "^7.0.0",
+ "@npmcli/template-oss": "5.0.0",
+ "benchmark": "^2.1.4",
+ "tap": "^16.0.0"
+ },
+ "license": "ISC",
+ "repository": {
+ "type": "git",
+ "url": "git+https://github.com/npm/node-semver.git"
+ },
+ "bin": {
+ "semver": "bin/semver.js"
+ },
+ "files": [
+ "bin/",
+ "lib/",
+ "classes/",
+ "functions/",
+ "internal/",
+ "ranges/",
+ "index.js",
+ "preload.js",
+ "range.bnf"
+ ],
+ "tap": {
+ "timeout": 30,
+ "coverage-map": "map.js",
+ "nyc-arg": [
+ "--exclude",
+ "tap-snapshots/**"
+ ]
+ },
+ "engines": {
+ "node": ">=10"
+ },
+ "author": "GitHub Inc.",
+ "templateOSS": {
+ "//@npmcli/template-oss": "This file is partially managed by @npmcli/template-oss. Edits may be overwritten.",
+ "version": "5.0.0",
+ "engines": ">=10",
+ "distPaths": [
+ "classes/",
+ "functions/",
+ "internal/",
+ "ranges/",
+ "index.js",
+ "preload.js",
+ "range.bnf"
+ ],
+ "allowPaths": [
+ "/classes/",
+ "/functions/",
+ "/internal/",
+ "/ranges/",
+ "/index.js",
+ "/preload.js",
+ "/range.bnf",
+ "/benchmarks"
+ ],
+ "publish": "true"
+ }
+}
diff --git a/apps/api/.output/node_modules/semver/preload.js b/apps/api/.output/node_modules/semver/preload.js
new file mode 100644
index 0000000..e6c47b9
--- /dev/null
+++ b/apps/api/.output/node_modules/semver/preload.js
@@ -0,0 +1,4 @@
+'use strict'
+
+// XXX remove in v8 or beyond
+module.exports = require('./index.js')
diff --git a/apps/api/.output/node_modules/semver/range.bnf b/apps/api/.output/node_modules/semver/range.bnf
new file mode 100644
index 0000000..a7a4bc3
--- /dev/null
+++ b/apps/api/.output/node_modules/semver/range.bnf
@@ -0,0 +1,17 @@
+range-set ::= range ( logical-or range ) *
+logical-or ::= ( ' ' ) * '||' ( ' ' ) *
+range ::= hyphen | simple ( ' ' simple ) * | ''
+hyphen ::= partial ' - ' partial
+simple ::= primitive | partial | tilde | caret
+primitive ::= ( '<' | '>' | '>=' | '<=' | '=' ) partial
+partial ::= xr ( '.' xr ( '.' xr qualifier ? )? )?
+xr ::= 'x' | 'X' | '*' | nr
+nr ::= '0' | [1-9] ( [0-9] ) *
+tilde ::= '~' partial
+caret ::= '^' partial
+qualifier ::= ( '-' pre )? ( '+' build )?
+pre ::= prepart ( '.' prepart ) *
+prepart ::= nr | alphanumid
+build ::= buildid ( '.' buildid ) *
+alphanumid ::= ( [0-9] ) * [A-Za-z-] [-0-9A-Za-z] *
+buildid ::= [-0-9A-Za-z]+
diff --git a/apps/api/.output/node_modules/semver/ranges/gtr.js b/apps/api/.output/node_modules/semver/ranges/gtr.js
new file mode 100644
index 0000000..0e7601f
--- /dev/null
+++ b/apps/api/.output/node_modules/semver/ranges/gtr.js
@@ -0,0 +1,6 @@
+'use strict'
+
+// Determine if version is greater than all the versions possible in the range.
+const outside = require('./outside')
+const gtr = (version, range, options) => outside(version, range, '>', options)
+module.exports = gtr
diff --git a/apps/api/.output/node_modules/semver/ranges/intersects.js b/apps/api/.output/node_modules/semver/ranges/intersects.js
new file mode 100644
index 0000000..917be7e
--- /dev/null
+++ b/apps/api/.output/node_modules/semver/ranges/intersects.js
@@ -0,0 +1,9 @@
+'use strict'
+
+const Range = require('../classes/range')
+const intersects = (r1, r2, options) => {
+ r1 = new Range(r1, options)
+ r2 = new Range(r2, options)
+ return r1.intersects(r2, options)
+}
+module.exports = intersects
diff --git a/apps/api/.output/node_modules/semver/ranges/ltr.js b/apps/api/.output/node_modules/semver/ranges/ltr.js
new file mode 100644
index 0000000..aa5e568
--- /dev/null
+++ b/apps/api/.output/node_modules/semver/ranges/ltr.js
@@ -0,0 +1,6 @@
+'use strict'
+
+const outside = require('./outside')
+// Determine if version is less than all the versions possible in the range
+const ltr = (version, range, options) => outside(version, range, '<', options)
+module.exports = ltr
diff --git a/apps/api/.output/node_modules/semver/ranges/max-satisfying.js b/apps/api/.output/node_modules/semver/ranges/max-satisfying.js
new file mode 100644
index 0000000..01fe5ae
--- /dev/null
+++ b/apps/api/.output/node_modules/semver/ranges/max-satisfying.js
@@ -0,0 +1,27 @@
+'use strict'
+
+const SemVer = require('../classes/semver')
+const Range = require('../classes/range')
+
+const maxSatisfying = (versions, range, options) => {
+ let max = null
+ let maxSV = null
+ let rangeObj = null
+ try {
+ rangeObj = new Range(range, options)
+ } catch (er) {
+ return null
+ }
+ versions.forEach((v) => {
+ if (rangeObj.test(v)) {
+ // satisfies(v, range, options)
+ if (!max || maxSV.compare(v) === -1) {
+ // compare(max, v, true)
+ max = v
+ maxSV = new SemVer(max, options)
+ }
+ }
+ })
+ return max
+}
+module.exports = maxSatisfying
diff --git a/apps/api/.output/node_modules/semver/ranges/min-satisfying.js b/apps/api/.output/node_modules/semver/ranges/min-satisfying.js
new file mode 100644
index 0000000..af89c8e
--- /dev/null
+++ b/apps/api/.output/node_modules/semver/ranges/min-satisfying.js
@@ -0,0 +1,26 @@
+'use strict'
+
+const SemVer = require('../classes/semver')
+const Range = require('../classes/range')
+const minSatisfying = (versions, range, options) => {
+ let min = null
+ let minSV = null
+ let rangeObj = null
+ try {
+ rangeObj = new Range(range, options)
+ } catch (er) {
+ return null
+ }
+ versions.forEach((v) => {
+ if (rangeObj.test(v)) {
+ // satisfies(v, range, options)
+ if (!min || minSV.compare(v) === 1) {
+ // compare(min, v, true)
+ min = v
+ minSV = new SemVer(min, options)
+ }
+ }
+ })
+ return min
+}
+module.exports = minSatisfying
diff --git a/apps/api/.output/node_modules/semver/ranges/min-version.js b/apps/api/.output/node_modules/semver/ranges/min-version.js
new file mode 100644
index 0000000..09a65aa
--- /dev/null
+++ b/apps/api/.output/node_modules/semver/ranges/min-version.js
@@ -0,0 +1,63 @@
+'use strict'
+
+const SemVer = require('../classes/semver')
+const Range = require('../classes/range')
+const gt = require('../functions/gt')
+
+const minVersion = (range, loose) => {
+ range = new Range(range, loose)
+
+ let minver = new SemVer('0.0.0')
+ if (range.test(minver)) {
+ return minver
+ }
+
+ minver = new SemVer('0.0.0-0')
+ if (range.test(minver)) {
+ return minver
+ }
+
+ minver = null
+ for (let i = 0; i < range.set.length; ++i) {
+ const comparators = range.set[i]
+
+ let setMin = null
+ comparators.forEach((comparator) => {
+ // Clone to avoid manipulating the comparator's semver object.
+ const compver = new SemVer(comparator.semver.version)
+ switch (comparator.operator) {
+ case '>':
+ if (compver.prerelease.length === 0) {
+ compver.patch++
+ } else {
+ compver.prerelease.push(0)
+ }
+ compver.raw = compver.format()
+ /* fallthrough */
+ case '':
+ case '>=':
+ if (!setMin || gt(compver, setMin)) {
+ setMin = compver
+ }
+ break
+ case '<':
+ case '<=':
+ /* Ignore maximum versions */
+ break
+ /* istanbul ignore next */
+ default:
+ throw new Error(`Unexpected operation: ${comparator.operator}`)
+ }
+ })
+ if (setMin && (!minver || gt(minver, setMin))) {
+ minver = setMin
+ }
+ }
+
+ if (minver && range.test(minver)) {
+ return minver
+ }
+
+ return null
+}
+module.exports = minVersion
diff --git a/apps/api/.output/node_modules/semver/ranges/outside.js b/apps/api/.output/node_modules/semver/ranges/outside.js
new file mode 100644
index 0000000..ca74421
--- /dev/null
+++ b/apps/api/.output/node_modules/semver/ranges/outside.js
@@ -0,0 +1,82 @@
+'use strict'
+
+const SemVer = require('../classes/semver')
+const Comparator = require('../classes/comparator')
+const { ANY } = Comparator
+const Range = require('../classes/range')
+const satisfies = require('../functions/satisfies')
+const gt = require('../functions/gt')
+const lt = require('../functions/lt')
+const lte = require('../functions/lte')
+const gte = require('../functions/gte')
+
+const outside = (version, range, hilo, options) => {
+ version = new SemVer(version, options)
+ range = new Range(range, options)
+
+ let gtfn, ltefn, ltfn, comp, ecomp
+ switch (hilo) {
+ case '>':
+ gtfn = gt
+ ltefn = lte
+ ltfn = lt
+ comp = '>'
+ ecomp = '>='
+ break
+ case '<':
+ gtfn = lt
+ ltefn = gte
+ ltfn = gt
+ comp = '<'
+ ecomp = '<='
+ break
+ default:
+ throw new TypeError('Must provide a hilo val of "<" or ">"')
+ }
+
+ // If it satisfies the range it is not outside
+ if (satisfies(version, range, options)) {
+ return false
+ }
+
+ // From now on, variable terms are as if we're in "gtr" mode.
+ // but note that everything is flipped for the "ltr" function.
+
+ for (let i = 0; i < range.set.length; ++i) {
+ const comparators = range.set[i]
+
+ let high = null
+ let low = null
+
+ comparators.forEach((comparator) => {
+ if (comparator.semver === ANY) {
+ comparator = new Comparator('>=0.0.0')
+ }
+ high = high || comparator
+ low = low || comparator
+ if (gtfn(comparator.semver, high.semver, options)) {
+ high = comparator
+ } else if (ltfn(comparator.semver, low.semver, options)) {
+ low = comparator
+ }
+ })
+
+ // If the edge version comparator has a operator then our version
+ // isn't outside it
+ if (high.operator === comp || high.operator === ecomp) {
+ return false
+ }
+
+ // If the lowest version comparator has an operator and our version
+ // is less than it then it isn't higher than the range
+ if ((!low.operator || low.operator === comp) &&
+ ltefn(version, low.semver)) {
+ return false
+ } else if (low.operator === ecomp && ltfn(version, low.semver)) {
+ return false
+ }
+ }
+ return true
+}
+
+module.exports = outside
diff --git a/apps/api/.output/node_modules/semver/ranges/simplify.js b/apps/api/.output/node_modules/semver/ranges/simplify.js
new file mode 100644
index 0000000..262732e
--- /dev/null
+++ b/apps/api/.output/node_modules/semver/ranges/simplify.js
@@ -0,0 +1,49 @@
+'use strict'
+
+// given a set of versions and a range, create a "simplified" range
+// that includes the same versions that the original range does
+// If the original range is shorter than the simplified one, return that.
+const satisfies = require('../functions/satisfies.js')
+const compare = require('../functions/compare.js')
+module.exports = (versions, range, options) => {
+ const set = []
+ let first = null
+ let prev = null
+ const v = versions.sort((a, b) => compare(a, b, options))
+ for (const version of v) {
+ const included = satisfies(version, range, options)
+ if (included) {
+ prev = version
+ if (!first) {
+ first = version
+ }
+ } else {
+ if (prev) {
+ set.push([first, prev])
+ }
+ prev = null
+ first = null
+ }
+ }
+ if (first) {
+ set.push([first, null])
+ }
+
+ const ranges = []
+ for (const [min, max] of set) {
+ if (min === max) {
+ ranges.push(min)
+ } else if (!max && min === v[0]) {
+ ranges.push('*')
+ } else if (!max) {
+ ranges.push(`>=${min}`)
+ } else if (min === v[0]) {
+ ranges.push(`<=${max}`)
+ } else {
+ ranges.push(`${min} - ${max}`)
+ }
+ }
+ const simplified = ranges.join(' || ')
+ const original = typeof range.raw === 'string' ? range.raw : String(range)
+ return simplified.length < original.length ? simplified : range
+}
diff --git a/apps/api/.output/node_modules/semver/ranges/subset.js b/apps/api/.output/node_modules/semver/ranges/subset.js
new file mode 100644
index 0000000..a949832
--- /dev/null
+++ b/apps/api/.output/node_modules/semver/ranges/subset.js
@@ -0,0 +1,249 @@
+'use strict'
+
+const Range = require('../classes/range.js')
+const Comparator = require('../classes/comparator.js')
+const { ANY } = Comparator
+const satisfies = require('../functions/satisfies.js')
+const compare = require('../functions/compare.js')
+
+// Complex range `r1 || r2 || ...` is a subset of `R1 || R2 || ...` iff:
+// - Every simple range `r1, r2, ...` is a null set, OR
+// - Every simple range `r1, r2, ...` which is not a null set is a subset of
+// some `R1, R2, ...`
+//
+// Simple range `c1 c2 ...` is a subset of simple range `C1 C2 ...` iff:
+// - If c is only the ANY comparator
+// - If C is only the ANY comparator, return true
+// - Else if in prerelease mode, return false
+// - else replace c with `[>=0.0.0]`
+// - If C is only the ANY comparator
+// - if in prerelease mode, return true
+// - else replace C with `[>=0.0.0]`
+// - Let EQ be the set of = comparators in c
+// - If EQ is more than one, return true (null set)
+// - Let GT be the highest > or >= comparator in c
+// - Let LT be the lowest < or <= comparator in c
+// - If GT and LT, and GT.semver > LT.semver, return true (null set)
+// - If any C is a = range, and GT or LT are set, return false
+// - If EQ
+// - If GT, and EQ does not satisfy GT, return true (null set)
+// - If LT, and EQ does not satisfy LT, return true (null set)
+// - If EQ satisfies every C, return true
+// - Else return false
+// - If GT
+// - If GT.semver is lower than any > or >= comp in C, return false
+// - If GT is >=, and GT.semver does not satisfy every C, return false
+// - If GT.semver has a prerelease, and not in prerelease mode
+// - If no C has a prerelease and the GT.semver tuple, return false
+// - If LT
+// - If LT.semver is greater than any < or <= comp in C, return false
+// - If LT is <=, and LT.semver does not satisfy every C, return false
+// - If LT.semver has a prerelease, and not in prerelease mode
+// - If no C has a prerelease and the LT.semver tuple, return false
+// - Else return true
+
+const subset = (sub, dom, options = {}) => {
+ if (sub === dom) {
+ return true
+ }
+
+ sub = new Range(sub, options)
+ dom = new Range(dom, options)
+ let sawNonNull = false
+
+ OUTER: for (const simpleSub of sub.set) {
+ for (const simpleDom of dom.set) {
+ const isSub = simpleSubset(simpleSub, simpleDom, options)
+ sawNonNull = sawNonNull || isSub !== null
+ if (isSub) {
+ continue OUTER
+ }
+ }
+ // the null set is a subset of everything, but null simple ranges in
+ // a complex range should be ignored. so if we saw a non-null range,
+ // then we know this isn't a subset, but if EVERY simple range was null,
+ // then it is a subset.
+ if (sawNonNull) {
+ return false
+ }
+ }
+ return true
+}
+
+const minimumVersionWithPreRelease = [new Comparator('>=0.0.0-0')]
+const minimumVersion = [new Comparator('>=0.0.0')]
+
+const simpleSubset = (sub, dom, options) => {
+ if (sub === dom) {
+ return true
+ }
+
+ if (sub.length === 1 && sub[0].semver === ANY) {
+ if (dom.length === 1 && dom[0].semver === ANY) {
+ return true
+ } else if (options.includePrerelease) {
+ sub = minimumVersionWithPreRelease
+ } else {
+ sub = minimumVersion
+ }
+ }
+
+ if (dom.length === 1 && dom[0].semver === ANY) {
+ if (options.includePrerelease) {
+ return true
+ } else {
+ dom = minimumVersion
+ }
+ }
+
+ const eqSet = new Set()
+ let gt, lt
+ for (const c of sub) {
+ if (c.operator === '>' || c.operator === '>=') {
+ gt = higherGT(gt, c, options)
+ } else if (c.operator === '<' || c.operator === '<=') {
+ lt = lowerLT(lt, c, options)
+ } else {
+ eqSet.add(c.semver)
+ }
+ }
+
+ if (eqSet.size > 1) {
+ return null
+ }
+
+ let gtltComp
+ if (gt && lt) {
+ gtltComp = compare(gt.semver, lt.semver, options)
+ if (gtltComp > 0) {
+ return null
+ } else if (gtltComp === 0 && (gt.operator !== '>=' || lt.operator !== '<=')) {
+ return null
+ }
+ }
+
+ // will iterate one or zero times
+ for (const eq of eqSet) {
+ if (gt && !satisfies(eq, String(gt), options)) {
+ return null
+ }
+
+ if (lt && !satisfies(eq, String(lt), options)) {
+ return null
+ }
+
+ for (const c of dom) {
+ if (!satisfies(eq, String(c), options)) {
+ return false
+ }
+ }
+
+ return true
+ }
+
+ let higher, lower
+ let hasDomLT, hasDomGT
+ // if the subset has a prerelease, we need a comparator in the superset
+ // with the same tuple and a prerelease, or it's not a subset
+ let needDomLTPre = lt &&
+ !options.includePrerelease &&
+ lt.semver.prerelease.length ? lt.semver : false
+ let needDomGTPre = gt &&
+ !options.includePrerelease &&
+ gt.semver.prerelease.length ? gt.semver : false
+ // exception: <1.2.3-0 is the same as <1.2.3
+ if (needDomLTPre && needDomLTPre.prerelease.length === 1 &&
+ lt.operator === '<' && needDomLTPre.prerelease[0] === 0) {
+ needDomLTPre = false
+ }
+
+ for (const c of dom) {
+ hasDomGT = hasDomGT || c.operator === '>' || c.operator === '>='
+ hasDomLT = hasDomLT || c.operator === '<' || c.operator === '<='
+ if (gt) {
+ if (needDomGTPre) {
+ if (c.semver.prerelease && c.semver.prerelease.length &&
+ c.semver.major === needDomGTPre.major &&
+ c.semver.minor === needDomGTPre.minor &&
+ c.semver.patch === needDomGTPre.patch) {
+ needDomGTPre = false
+ }
+ }
+ if (c.operator === '>' || c.operator === '>=') {
+ higher = higherGT(gt, c, options)
+ if (higher === c && higher !== gt) {
+ return false
+ }
+ } else if (gt.operator === '>=' && !c.test(gt.semver)) {
+ return false
+ }
+ }
+ if (lt) {
+ if (needDomLTPre) {
+ if (c.semver.prerelease && c.semver.prerelease.length &&
+ c.semver.major === needDomLTPre.major &&
+ c.semver.minor === needDomLTPre.minor &&
+ c.semver.patch === needDomLTPre.patch) {
+ needDomLTPre = false
+ }
+ }
+ if (c.operator === '<' || c.operator === '<=') {
+ lower = lowerLT(lt, c, options)
+ if (lower === c && lower !== lt) {
+ return false
+ }
+ } else if (lt.operator === '<=' && !c.test(lt.semver)) {
+ return false
+ }
+ }
+ if (!c.operator && (lt || gt) && gtltComp !== 0) {
+ return false
+ }
+ }
+
+ // if there was a < or >, and nothing in the dom, then must be false
+ // UNLESS it was limited by another range in the other direction.
+ // Eg, >1.0.0 <1.0.1 is still a subset of <2.0.0
+ if (gt && hasDomLT && !lt && gtltComp !== 0) {
+ return false
+ }
+
+ if (lt && hasDomGT && !gt && gtltComp !== 0) {
+ return false
+ }
+
+ // we needed a prerelease range in a specific tuple, but didn't get one
+ // then this isn't a subset. eg >=1.2.3-pre is not a subset of >=1.0.0,
+ // because it includes prereleases in the 1.2.3 tuple
+ if (needDomGTPre || needDomLTPre) {
+ return false
+ }
+
+ return true
+}
+
+// >=1.2.3 is lower than >1.2.3
+const higherGT = (a, b, options) => {
+ if (!a) {
+ return b
+ }
+ const comp = compare(a.semver, b.semver, options)
+ return comp > 0 ? a
+ : comp < 0 ? b
+ : b.operator === '>' && a.operator === '>=' ? b
+ : a
+}
+
+// <=1.2.3 is higher than <1.2.3
+const lowerLT = (a, b, options) => {
+ if (!a) {
+ return b
+ }
+ const comp = compare(a.semver, b.semver, options)
+ return comp < 0 ? a
+ : comp > 0 ? b
+ : b.operator === '<' && a.operator === '<=' ? b
+ : a
+}
+
+module.exports = subset
diff --git a/apps/api/.output/node_modules/semver/ranges/to-comparators.js b/apps/api/.output/node_modules/semver/ranges/to-comparators.js
new file mode 100644
index 0000000..5be2519
--- /dev/null
+++ b/apps/api/.output/node_modules/semver/ranges/to-comparators.js
@@ -0,0 +1,10 @@
+'use strict'
+
+const Range = require('../classes/range')
+
+// Mostly just for testing and legacy API reasons
+const toComparators = (range, options) =>
+ new Range(range, options).set
+ .map(comp => comp.map(c => c.value).join(' ').trim().split(' '))
+
+module.exports = toComparators
diff --git a/apps/api/.output/node_modules/semver/ranges/valid.js b/apps/api/.output/node_modules/semver/ranges/valid.js
new file mode 100644
index 0000000..cc6b0e9
--- /dev/null
+++ b/apps/api/.output/node_modules/semver/ranges/valid.js
@@ -0,0 +1,13 @@
+'use strict'
+
+const Range = require('../classes/range')
+const validRange = (range, options) => {
+ try {
+ // Return '*' instead of '' so that truthiness works.
+ // This will throw if it's invalid anyway
+ return new Range(range, options).range || '*'
+ } catch (er) {
+ return null
+ }
+}
+module.exports = validRange
diff --git a/apps/api/.output/node_modules/sharp/LICENSE b/apps/api/.output/node_modules/sharp/LICENSE
new file mode 100644
index 0000000..37ec93a
--- /dev/null
+++ b/apps/api/.output/node_modules/sharp/LICENSE
@@ -0,0 +1,191 @@
+Apache License
+Version 2.0, January 2004
+http://www.apache.org/licenses/
+
+TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION
+
+1. Definitions.
+
+"License" shall mean the terms and conditions for use, reproduction, and
+distribution as defined by Sections 1 through 9 of this document.
+
+"Licensor" shall mean the copyright owner or entity authorized by the copyright
+owner that is granting the License.
+
+"Legal Entity" shall mean the union of the acting entity and all other entities
+that control, are controlled by, or are under common control with that entity.
+For the purposes of this definition, "control" means (i) the power, direct or
+indirect, to cause the direction or management of such entity, whether by
+contract or otherwise, or (ii) ownership of fifty percent (50%) or more of the
+outstanding shares, or (iii) beneficial ownership of such entity.
+
+"You" (or "Your") shall mean an individual or Legal Entity exercising
+permissions granted by this License.
+
+"Source" form shall mean the preferred form for making modifications, including
+but not limited to software source code, documentation source, and configuration
+files.
+
+"Object" form shall mean any form resulting from mechanical transformation or
+translation of a Source form, including but not limited to compiled object code,
+generated documentation, and conversions to other media types.
+
+"Work" shall mean the work of authorship, whether in Source or Object form, made
+available under the License, as indicated by a copyright notice that is included
+in or attached to the work (an example is provided in the Appendix below).
+
+"Derivative Works" shall mean any work, whether in Source or Object form, that
+is based on (or derived from) the Work and for which the editorial revisions,
+annotations, elaborations, or other modifications represent, as a whole, an
+original work of authorship. For the purposes of this License, Derivative Works
+shall not include works that remain separable from, or merely link (or bind by
+name) to the interfaces of, the Work and Derivative Works thereof.
+
+"Contribution" shall mean any work of authorship, including the original version
+of the Work and any modifications or additions to that Work or Derivative Works
+thereof, that is intentionally submitted to Licensor for inclusion in the Work
+by the copyright owner or by an individual or Legal Entity authorized to submit
+on behalf of the copyright owner. For the purposes of this definition,
+"submitted" means any form of electronic, verbal, or written communication sent
+to the Licensor or its representatives, including but not limited to
+communication on electronic mailing lists, source code control systems, and
+issue tracking systems that are managed by, or on behalf of, the Licensor for
+the purpose of discussing and improving the Work, but excluding communication
+that is conspicuously marked or otherwise designated in writing by the copyright
+owner as "Not a Contribution."
+
+"Contributor" shall mean Licensor and any individual or Legal Entity on behalf
+of whom a Contribution has been received by Licensor and subsequently
+incorporated within the Work.
+
+2. Grant of Copyright License.
+
+Subject to the terms and conditions of this License, each Contributor hereby
+grants to You a perpetual, worldwide, non-exclusive, no-charge, royalty-free,
+irrevocable copyright license to reproduce, prepare Derivative Works of,
+publicly display, publicly perform, sublicense, and distribute the Work and such
+Derivative Works in Source or Object form.
+
+3. Grant of Patent License.
+
+Subject to the terms and conditions of this License, each Contributor hereby
+grants to You a perpetual, worldwide, non-exclusive, no-charge, royalty-free,
+irrevocable (except as stated in this section) patent license to make, have
+made, use, offer to sell, sell, import, and otherwise transfer the Work, where
+such license applies only to those patent claims licensable by such Contributor
+that are necessarily infringed by their Contribution(s) alone or by combination
+of their Contribution(s) with the Work to which such Contribution(s) was
+submitted. If You institute patent litigation against any entity (including a
+cross-claim or counterclaim in a lawsuit) alleging that the Work or a
+Contribution incorporated within the Work constitutes direct or contributory
+patent infringement, then any patent licenses granted to You under this License
+for that Work shall terminate as of the date such litigation is filed.
+
+4. Redistribution.
+
+You may reproduce and distribute copies of the Work or Derivative Works thereof
+in any medium, with or without modifications, and in Source or Object form,
+provided that You meet the following conditions:
+
+You must give any other recipients of the Work or Derivative Works a copy of
+this License; and
+You must cause any modified files to carry prominent notices stating that You
+changed the files; and
+You must retain, in the Source form of any Derivative Works that You distribute,
+all copyright, patent, trademark, and attribution notices from the Source form
+of the Work, excluding those notices that do not pertain to any part of the
+Derivative Works; and
+If the Work includes a "NOTICE" text file as part of its distribution, then any
+Derivative Works that You distribute must include a readable copy of the
+attribution notices contained within such NOTICE file, excluding those notices
+that do not pertain to any part of the Derivative Works, in at least one of the
+following places: within a NOTICE text file distributed as part of the
+Derivative Works; within the Source form or documentation, if provided along
+with the Derivative Works; or, within a display generated by the Derivative
+Works, if and wherever such third-party notices normally appear. The contents of
+the NOTICE file are for informational purposes only and do not modify the
+License. You may add Your own attribution notices within Derivative Works that
+You distribute, alongside or as an addendum to the NOTICE text from the Work,
+provided that such additional attribution notices cannot be construed as
+modifying the License.
+You may add Your own copyright statement to Your modifications and may provide
+additional or different license terms and conditions for use, reproduction, or
+distribution of Your modifications, or for any such Derivative Works as a whole,
+provided Your use, reproduction, and distribution of the Work otherwise complies
+with the conditions stated in this License.
+
+5. Submission of Contributions.
+
+Unless You explicitly state otherwise, any Contribution intentionally submitted
+for inclusion in the Work by You to the Licensor shall be under the terms and
+conditions of this License, without any additional terms or conditions.
+Notwithstanding the above, nothing herein shall supersede or modify the terms of
+any separate license agreement you may have executed with Licensor regarding
+such Contributions.
+
+6. Trademarks.
+
+This License does not grant permission to use the trade names, trademarks,
+service marks, or product names of the Licensor, except as required for
+reasonable and customary use in describing the origin of the Work and
+reproducing the content of the NOTICE file.
+
+7. Disclaimer of Warranty.
+
+Unless required by applicable law or agreed to in writing, Licensor provides the
+Work (and each Contributor provides its Contributions) on an "AS IS" BASIS,
+WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied,
+including, without limitation, any warranties or conditions of TITLE,
+NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A PARTICULAR PURPOSE. You are
+solely responsible for determining the appropriateness of using or
+redistributing the Work and assume any risks associated with Your exercise of
+permissions under this License.
+
+8. Limitation of Liability.
+
+In no event and under no legal theory, whether in tort (including negligence),
+contract, or otherwise, unless required by applicable law (such as deliberate
+and grossly negligent acts) or agreed to in writing, shall any Contributor be
+liable to You for damages, including any direct, indirect, special, incidental,
+or consequential damages of any character arising as a result of this License or
+out of the use or inability to use the Work (including but not limited to
+damages for loss of goodwill, work stoppage, computer failure or malfunction, or
+any and all other commercial damages or losses), even if such Contributor has
+been advised of the possibility of such damages.
+
+9. Accepting Warranty or Additional Liability.
+
+While redistributing the Work or Derivative Works thereof, You may choose to
+offer, and charge a fee for, acceptance of support, warranty, indemnity, or
+other liability obligations and/or rights consistent with this License. However,
+in accepting such obligations, You may act only on Your own behalf and on Your
+sole responsibility, not on behalf of any other Contributor, and only if You
+agree to indemnify, defend, and hold each Contributor harmless for any liability
+incurred by, or claims asserted against, such Contributor by reason of your
+accepting any such warranty or additional liability.
+
+END OF TERMS AND CONDITIONS
+
+APPENDIX: How to apply the Apache License to your work
+
+To apply the Apache License to your work, attach the following boilerplate
+notice, with the fields enclosed by brackets "[]" replaced with your own
+identifying information. (Don't include the brackets!) The text should be
+enclosed in the appropriate comment syntax for the file format. We also
+recommend that a file or class name and description of purpose be included on
+the same "printed page" as the copyright notice for easier identification within
+third-party archives.
+
+ Copyright [yyyy] [name of copyright owner]
+
+ Licensed under the Apache License, Version 2.0 (the "License");
+ you may not use this file except in compliance with the License.
+ You may obtain a copy of the License at
+
+ http://www.apache.org/licenses/LICENSE-2.0
+
+ Unless required by applicable law or agreed to in writing, software
+ distributed under the License is distributed on an "AS IS" BASIS,
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ See the License for the specific language governing permissions and
+ limitations under the License.
diff --git a/apps/api/.output/node_modules/sharp/README.md b/apps/api/.output/node_modules/sharp/README.md
new file mode 100644
index 0000000..7db7edd
--- /dev/null
+++ b/apps/api/.output/node_modules/sharp/README.md
@@ -0,0 +1,112 @@
+# sharp
+
+
+
+The typical use case for this high speed Node-API module
+is to convert large images in common formats to
+smaller, web-friendly JPEG, PNG, WebP, GIF and AVIF images of varying dimensions.
+
+It can be used with all JavaScript runtimes
+that provide support for Node-API v9, including
+Node.js (>= 20.9.0), Deno and Bun.
+
+Resizing an image is typically 4x-5x faster than using the
+quickest ImageMagick and GraphicsMagick settings
+due to its use of [libvips](https://github.com/libvips/libvips).
+
+Colour spaces, embedded ICC profiles and alpha transparency channels are all handled correctly.
+Lanczos resampling ensures quality is not sacrificed for speed.
+
+As well as image resizing, operations such as
+rotation, extraction, compositing and gamma correction are available.
+
+Most modern macOS, Windows and Linux systems
+do not require any additional install or runtime dependencies.
+
+## Documentation
+
+Visit [sharp.pixelplumbing.com](https://sharp.pixelplumbing.com/) for complete
+[installation instructions](https://sharp.pixelplumbing.com/install),
+[API documentation](https://sharp.pixelplumbing.com/api-constructor),
+[benchmark tests](https://sharp.pixelplumbing.com/performance) and
+[changelog](https://sharp.pixelplumbing.com/changelog).
+
+## Examples
+
+```sh
+npm install sharp
+```
+
+```javascript
+// ESM
+import sharp from 'sharp';
+
+// CJS
+const sharp = require('sharp');
+```
+
+```javascript
+await sharp(inputBuffer)
+ .resize({ width: 320, height: 240 })
+ .toFile('output.webp', (err, info) => { ... });
+```
+
+```javascript
+const output = await sharp('input.jpg')
+ .autoOrient()
+ .resize({ width: 200 })
+ .jpeg({ mozjpeg: true })
+ .toBuffer();
+```
+
+```javascript
+const semiTransparentRedPng = await sharp({
+ create: {
+ width: 48,
+ height: 48,
+ channels: 4,
+ background: { r: 255, g: 0, b: 0, alpha: 0.5 }
+ }
+})
+ .png()
+ .toBuffer();
+```
+
+```javascript
+const roundedCorners = Buffer.from(
+ ' '
+);
+
+const roundedCornerResizer =
+ sharp()
+ .resize(200, 200)
+ .composite([{
+ input: roundedCorners,
+ blend: 'dest-in'
+ }])
+ .png();
+
+readableStream
+ .pipe(roundedCornerResizer)
+ .pipe(writableStream);
+```
+
+## Contributing
+
+A [guide for contributors](https://github.com/lovell/sharp/blob/main/.github/CONTRIBUTING.md)
+covers reporting bugs, requesting features and submitting code changes.
+
+## Licensing
+
+Copyright 2013 Lovell Fuller and others.
+
+Licensed under the Apache License, Version 2.0 (the "License");
+you may not use this file except in compliance with the License.
+You may obtain a copy of the License at
+[https://www.apache.org/licenses/LICENSE-2.0](https://www.apache.org/licenses/LICENSE-2.0)
+
+Unless required by applicable law or agreed to in writing, software
+distributed under the License is distributed on an "AS IS" BASIS,
+WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+See the License for the specific language governing permissions and
+limitations under the License.
diff --git a/apps/api/.output/node_modules/sharp/dist/channel.cjs b/apps/api/.output/node_modules/sharp/dist/channel.cjs
new file mode 100644
index 0000000..4fcc58e
--- /dev/null
+++ b/apps/api/.output/node_modules/sharp/dist/channel.cjs
@@ -0,0 +1,177 @@
+/*!
+ Copyright 2013 Lovell Fuller and others.
+ SPDX-License-Identifier: Apache-2.0
+*/
+
+const is = require('./is.cjs');
+
+/**
+ * Boolean operations for bandbool.
+ * @private
+ */
+const bool = {
+ and: 'and',
+ or: 'or',
+ eor: 'eor'
+};
+
+/**
+ * Remove alpha channels, if any. This is a no-op if the image does not have an alpha channel.
+ *
+ * See also {@link /api-operation/#flatten flatten}.
+ *
+ * @example
+ * sharp('rgba.png')
+ * .removeAlpha()
+ * .toFile('rgb.png', function(err, info) {
+ * // rgb.png is a 3 channel image without an alpha channel
+ * });
+ *
+ * @returns {Sharp}
+ */
+function removeAlpha () {
+ this.options.removeAlpha = true;
+ return this;
+}
+
+/**
+ * Ensure the output image has an alpha transparency channel.
+ * If missing, the added alpha channel will have the specified
+ * transparency level, defaulting to fully-opaque (1).
+ * This is a no-op if the image already has an alpha channel.
+ *
+ * @since 0.21.2
+ *
+ * @example
+ * // rgba.png will be a 4 channel image with a fully-opaque alpha channel
+ * await sharp('rgb.jpg')
+ * .ensureAlpha()
+ * .toFile('rgba.png')
+ *
+ * @example
+ * // rgba is a 4 channel image with a fully-transparent alpha channel
+ * const rgba = await sharp(rgb)
+ * .ensureAlpha(0)
+ * .toBuffer();
+ *
+ * @param {number} [alpha=1] - alpha transparency level (0=fully-transparent, 1=fully-opaque)
+ * @returns {Sharp}
+ * @throws {Error} Invalid alpha transparency level
+ */
+function ensureAlpha (alpha) {
+ if (is.defined(alpha)) {
+ if (is.number(alpha) && is.inRange(alpha, 0, 1)) {
+ this.options.ensureAlpha = alpha;
+ } else {
+ throw is.invalidParameterError('alpha', 'number between 0 and 1', alpha);
+ }
+ } else {
+ this.options.ensureAlpha = 1;
+ }
+ return this;
+}
+
+/**
+ * Extract a single channel from a multi-channel image.
+ *
+ * The output colourspace will be either `b-w` (8-bit) or `grey16` (16-bit).
+ *
+ * @example
+ * // green.jpg is a greyscale image containing the green channel of the input
+ * await sharp(input)
+ * .extractChannel('green')
+ * .toFile('green.jpg');
+ *
+ * @example
+ * // red1 is the red value of the first pixel, red2 the second pixel etc.
+ * const [red1, red2, ...] = await sharp(input)
+ * .extractChannel(0)
+ * .raw()
+ * .toBuffer();
+ *
+ * @param {number|string} channel - zero-indexed channel/band number to extract, or `red`, `green`, `blue` or `alpha`.
+ * @returns {Sharp}
+ * @throws {Error} Invalid channel
+ */
+function extractChannel (channel) {
+ const channelMap = { red: 0, green: 1, blue: 2, alpha: 3 };
+ if (Object.keys(channelMap).includes(channel)) {
+ channel = channelMap[channel];
+ }
+ if (is.integer(channel) && is.inRange(channel, 0, 4)) {
+ this.options.extractChannel = channel;
+ } else {
+ throw is.invalidParameterError('channel', 'integer or one of: red, green, blue, alpha', channel);
+ }
+ return this;
+}
+
+/**
+ * Join one or more channels to the image.
+ * The meaning of the added channels depends on the output colourspace, set with `toColourspace()`.
+ * By default the output image will be web-friendly sRGB, with additional channels interpreted as alpha channels.
+ * Channel ordering follows vips convention:
+ * - sRGB: 0: Red, 1: Green, 2: Blue, 3: Alpha.
+ * - CMYK: 0: Magenta, 1: Cyan, 2: Yellow, 3: Black, 4: Alpha.
+ *
+ * Buffers may be any of the image formats supported by sharp.
+ * For raw pixel input, the `options` object should contain a `raw` attribute, which follows the format of the attribute of the same name in the `sharp()` constructor.
+ *
+ * @param {Array|string|Buffer} images - one or more images (file paths, Buffers).
+ * @param {Object} options - image options, see `sharp()` constructor.
+ * @returns {Sharp}
+ * @throws {Error} Invalid parameters
+ */
+function joinChannel (images, options) {
+ if (Array.isArray(images)) {
+ images.forEach(function (image) {
+ this.options.joinChannelIn.push(this._createInputDescriptor(image, options));
+ }, this);
+ } else {
+ this.options.joinChannelIn.push(this._createInputDescriptor(images, options));
+ }
+ return this;
+}
+
+/**
+ * Perform a bitwise boolean operation on all input image channels (bands) to produce a single channel output image.
+ *
+ * @example
+ * sharp('3-channel-rgb-input.png')
+ * .bandbool(sharp.bool.and)
+ * .toFile('1-channel-output.png', function (err, info) {
+ * // The output will be a single channel image where each pixel `P = R & G & B`.
+ * // If `I(1,1) = [247, 170, 14] = [0b11110111, 0b10101010, 0b00001111]`
+ * // then `O(1,1) = 0b11110111 & 0b10101010 & 0b00001111 = 0b00000010 = 2`.
+ * });
+ *
+ * @param {string} boolOp - one of `and`, `or` or `eor` to perform that bitwise operation, like the C logic operators `&`, `|` and `^` respectively.
+ * @returns {Sharp}
+ * @throws {Error} Invalid parameters
+ */
+function bandbool (boolOp) {
+ if (is.string(boolOp) && is.inArray(boolOp, ['and', 'or', 'eor'])) {
+ this.options.bandBoolOp = boolOp;
+ } else {
+ throw is.invalidParameterError('boolOp', 'one of: and, or, eor', boolOp);
+ }
+ return this;
+}
+
+/**
+ * Decorate the Sharp prototype with channel-related functions.
+ * @module Sharp
+ * @private
+ */
+module.exports = (Sharp) => {
+ Object.assign(Sharp.prototype, {
+ // Public instance functions
+ removeAlpha,
+ ensureAlpha,
+ extractChannel,
+ joinChannel,
+ bandbool
+ });
+ // Class attributes
+ Sharp.bool = bool;
+};
diff --git a/apps/api/.output/node_modules/sharp/dist/channel.mjs b/apps/api/.output/node_modules/sharp/dist/channel.mjs
new file mode 100644
index 0000000..1fdf0a9
--- /dev/null
+++ b/apps/api/.output/node_modules/sharp/dist/channel.mjs
@@ -0,0 +1,177 @@
+/*!
+ Copyright 2013 Lovell Fuller and others.
+ SPDX-License-Identifier: Apache-2.0
+*/
+
+import is from './is.mjs';
+
+/**
+ * Boolean operations for bandbool.
+ * @private
+ */
+const bool = {
+ and: 'and',
+ or: 'or',
+ eor: 'eor'
+};
+
+/**
+ * Remove alpha channels, if any. This is a no-op if the image does not have an alpha channel.
+ *
+ * See also {@link /api-operation/#flatten flatten}.
+ *
+ * @example
+ * sharp('rgba.png')
+ * .removeAlpha()
+ * .toFile('rgb.png', function(err, info) {
+ * // rgb.png is a 3 channel image without an alpha channel
+ * });
+ *
+ * @returns {Sharp}
+ */
+function removeAlpha () {
+ this.options.removeAlpha = true;
+ return this;
+}
+
+/**
+ * Ensure the output image has an alpha transparency channel.
+ * If missing, the added alpha channel will have the specified
+ * transparency level, defaulting to fully-opaque (1).
+ * This is a no-op if the image already has an alpha channel.
+ *
+ * @since 0.21.2
+ *
+ * @example
+ * // rgba.png will be a 4 channel image with a fully-opaque alpha channel
+ * await sharp('rgb.jpg')
+ * .ensureAlpha()
+ * .toFile('rgba.png')
+ *
+ * @example
+ * // rgba is a 4 channel image with a fully-transparent alpha channel
+ * const rgba = await sharp(rgb)
+ * .ensureAlpha(0)
+ * .toBuffer();
+ *
+ * @param {number} [alpha=1] - alpha transparency level (0=fully-transparent, 1=fully-opaque)
+ * @returns {Sharp}
+ * @throws {Error} Invalid alpha transparency level
+ */
+function ensureAlpha (alpha) {
+ if (is.defined(alpha)) {
+ if (is.number(alpha) && is.inRange(alpha, 0, 1)) {
+ this.options.ensureAlpha = alpha;
+ } else {
+ throw is.invalidParameterError('alpha', 'number between 0 and 1', alpha);
+ }
+ } else {
+ this.options.ensureAlpha = 1;
+ }
+ return this;
+}
+
+/**
+ * Extract a single channel from a multi-channel image.
+ *
+ * The output colourspace will be either `b-w` (8-bit) or `grey16` (16-bit).
+ *
+ * @example
+ * // green.jpg is a greyscale image containing the green channel of the input
+ * await sharp(input)
+ * .extractChannel('green')
+ * .toFile('green.jpg');
+ *
+ * @example
+ * // red1 is the red value of the first pixel, red2 the second pixel etc.
+ * const [red1, red2, ...] = await sharp(input)
+ * .extractChannel(0)
+ * .raw()
+ * .toBuffer();
+ *
+ * @param {number|string} channel - zero-indexed channel/band number to extract, or `red`, `green`, `blue` or `alpha`.
+ * @returns {Sharp}
+ * @throws {Error} Invalid channel
+ */
+function extractChannel (channel) {
+ const channelMap = { red: 0, green: 1, blue: 2, alpha: 3 };
+ if (Object.keys(channelMap).includes(channel)) {
+ channel = channelMap[channel];
+ }
+ if (is.integer(channel) && is.inRange(channel, 0, 4)) {
+ this.options.extractChannel = channel;
+ } else {
+ throw is.invalidParameterError('channel', 'integer or one of: red, green, blue, alpha', channel);
+ }
+ return this;
+}
+
+/**
+ * Join one or more channels to the image.
+ * The meaning of the added channels depends on the output colourspace, set with `toColourspace()`.
+ * By default the output image will be web-friendly sRGB, with additional channels interpreted as alpha channels.
+ * Channel ordering follows vips convention:
+ * - sRGB: 0: Red, 1: Green, 2: Blue, 3: Alpha.
+ * - CMYK: 0: Magenta, 1: Cyan, 2: Yellow, 3: Black, 4: Alpha.
+ *
+ * Buffers may be any of the image formats supported by sharp.
+ * For raw pixel input, the `options` object should contain a `raw` attribute, which follows the format of the attribute of the same name in the `sharp()` constructor.
+ *
+ * @param {Array|string|Buffer} images - one or more images (file paths, Buffers).
+ * @param {Object} options - image options, see `sharp()` constructor.
+ * @returns {Sharp}
+ * @throws {Error} Invalid parameters
+ */
+function joinChannel (images, options) {
+ if (Array.isArray(images)) {
+ images.forEach(function (image) {
+ this.options.joinChannelIn.push(this._createInputDescriptor(image, options));
+ }, this);
+ } else {
+ this.options.joinChannelIn.push(this._createInputDescriptor(images, options));
+ }
+ return this;
+}
+
+/**
+ * Perform a bitwise boolean operation on all input image channels (bands) to produce a single channel output image.
+ *
+ * @example
+ * sharp('3-channel-rgb-input.png')
+ * .bandbool(sharp.bool.and)
+ * .toFile('1-channel-output.png', function (err, info) {
+ * // The output will be a single channel image where each pixel `P = R & G & B`.
+ * // If `I(1,1) = [247, 170, 14] = [0b11110111, 0b10101010, 0b00001111]`
+ * // then `O(1,1) = 0b11110111 & 0b10101010 & 0b00001111 = 0b00000010 = 2`.
+ * });
+ *
+ * @param {string} boolOp - one of `and`, `or` or `eor` to perform that bitwise operation, like the C logic operators `&`, `|` and `^` respectively.
+ * @returns {Sharp}
+ * @throws {Error} Invalid parameters
+ */
+function bandbool (boolOp) {
+ if (is.string(boolOp) && is.inArray(boolOp, ['and', 'or', 'eor'])) {
+ this.options.bandBoolOp = boolOp;
+ } else {
+ throw is.invalidParameterError('boolOp', 'one of: and, or, eor', boolOp);
+ }
+ return this;
+}
+
+/**
+ * Decorate the Sharp prototype with channel-related functions.
+ * @module Sharp
+ * @private
+ */
+export default (Sharp) => {
+ Object.assign(Sharp.prototype, {
+ // Public instance functions
+ removeAlpha,
+ ensureAlpha,
+ extractChannel,
+ joinChannel,
+ bandbool
+ });
+ // Class attributes
+ Sharp.bool = bool;
+};
diff --git a/apps/api/.output/node_modules/sharp/dist/colour.cjs b/apps/api/.output/node_modules/sharp/dist/colour.cjs
new file mode 100644
index 0000000..b189a4a
--- /dev/null
+++ b/apps/api/.output/node_modules/sharp/dist/colour.cjs
@@ -0,0 +1,199 @@
+/*!
+ Copyright 2013 Lovell Fuller and others.
+ SPDX-License-Identifier: Apache-2.0
+*/
+
+const color = require('@img/colour');
+const is = require('./is.cjs');
+
+/**
+ * Colourspaces.
+ * @private
+ */
+const colourspace = {
+ multiband: 'multiband',
+ 'b-w': 'b-w',
+ bw: 'b-w',
+ cmyk: 'cmyk',
+ srgb: 'srgb'
+};
+
+/**
+ * Tint the image using the provided colour.
+ * An alpha channel may be present and will be unchanged by the operation.
+ *
+ * @example
+ * const output = await sharp(input)
+ * .tint({ r: 255, g: 240, b: 16 })
+ * .toBuffer();
+ *
+ * @param {string|Object} tint - Parsed by the [color](https://www.npmjs.org/package/color) module.
+ * @returns {Sharp}
+ * @throws {Error} Invalid parameter
+ */
+function tint (tint) {
+ this._setBackgroundColourOption('tint', tint);
+ return this;
+}
+
+/**
+ * Convert to 8-bit greyscale; 256 shades of grey.
+ * This is a linear operation. If the input image is in a non-linear colour space such as sRGB, use `gamma()` with `greyscale()` for the best results.
+ * By default the output image will be web-friendly sRGB and contain three (identical) colour channels.
+ * This may be overridden by other sharp operations such as `toColourspace('b-w')`,
+ * which will produce an output image containing one colour channel.
+ * An alpha channel may be present, and will be unchanged by the operation.
+ *
+ * @example
+ * const output = await sharp(input).greyscale().toBuffer();
+ *
+ * @param {Boolean} [greyscale=true]
+ * @returns {Sharp}
+ */
+function greyscale (greyscale) {
+ this.options.greyscale = is.bool(greyscale) ? greyscale : true;
+ return this;
+}
+
+/**
+ * Alternative spelling of `greyscale`.
+ * @param {Boolean} [grayscale=true]
+ * @returns {Sharp}
+ */
+function grayscale (grayscale) {
+ return this.greyscale(grayscale);
+}
+
+/**
+ * Set the pipeline colourspace.
+ *
+ * The input image will be converted to the provided colourspace at the start of the pipeline.
+ * All operations will use this colourspace before converting to the output colourspace,
+ * as defined by {@link #tocolourspace toColourspace}.
+ *
+ * @since 0.29.0
+ *
+ * @example
+ * // Run pipeline in 16 bits per channel RGB while converting final result to 8 bits per channel sRGB.
+ * await sharp(input)
+ * .pipelineColourspace('rgb16')
+ * .toColourspace('srgb')
+ * .toFile('16bpc-pipeline-to-8bpc-output.png')
+ *
+ * @param {string} [colourspace] - pipeline colourspace e.g. `rgb16`, `scrgb`, `lab`, `grey16` [...](https://www.libvips.org/API/current/enum.Interpretation.html)
+ * @returns {Sharp}
+ * @throws {Error} Invalid parameters
+ */
+function pipelineColourspace (colourspace) {
+ if (!is.string(colourspace)) {
+ throw is.invalidParameterError('colourspace', 'string', colourspace);
+ }
+ this.options.colourspacePipeline = colourspace;
+ return this;
+}
+
+/**
+ * Alternative spelling of `pipelineColourspace`.
+ * @param {string} [colorspace] - pipeline colorspace.
+ * @returns {Sharp}
+ * @throws {Error} Invalid parameters
+ */
+function pipelineColorspace (colorspace) {
+ return this.pipelineColourspace(colorspace);
+}
+
+/**
+ * Set the output colourspace.
+ * By default output image will be web-friendly sRGB, with additional channels interpreted as alpha channels.
+ *
+ * @example
+ * // Output 16 bits per pixel RGB
+ * await sharp(input)
+ * .toColourspace('rgb16')
+ * .toFile('16-bpp.png')
+ *
+ * @param {string} [colourspace] - output colourspace e.g. `srgb`, `rgb`, `cmyk`, `lab`, `b-w` [...](https://www.libvips.org/API/current/enum.Interpretation.html)
+ * @returns {Sharp}
+ * @throws {Error} Invalid parameters
+ */
+function toColourspace (colourspace) {
+ if (!is.string(colourspace)) {
+ throw is.invalidParameterError('colourspace', 'string', colourspace);
+ }
+ this.options.colourspace = colourspace;
+ return this;
+}
+
+/**
+ * Alternative spelling of `toColourspace`.
+ * @param {string} [colorspace] - output colorspace.
+ * @returns {Sharp}
+ * @throws {Error} Invalid parameters
+ */
+function toColorspace (colorspace) {
+ return this.toColourspace(colorspace);
+}
+
+/**
+ * Create a RGBA colour array from a given value.
+ * @private
+ * @param {string|Object} value
+ * @throws {Error} Invalid value
+ */
+function _getBackgroundColourOption (value) {
+ if (
+ is.object(value) ||
+ (is.string(value) && value.length >= 3 && value.length <= 200)
+ ) {
+ const colour = color(value);
+ const red = colour.red();
+ const green = colour.green();
+ const blue = colour.blue();
+ const alpha = Math.round(colour.alpha() * 255);
+ for (const [channel, component] of [['red', red], ['green', green], ['blue', blue], ['alpha', alpha]]) {
+ if (!is.number(component)) {
+ throw is.invalidParameterError(`background.${channel}`, 'number', component);
+ }
+ }
+ return [red, green, blue, alpha];
+ } else {
+ throw is.invalidParameterError('background', 'object or string', value);
+ }
+}
+
+/**
+ * Update a colour attribute of the this.options Object.
+ * @private
+ * @param {string} key
+ * @param {string|Object} value
+ * @throws {Error} Invalid value
+ */
+function _setBackgroundColourOption (key, value) {
+ if (is.defined(value)) {
+ this.options[key] = _getBackgroundColourOption(value);
+ }
+}
+
+/**
+ * Decorate the Sharp prototype with colour-related functions.
+ * @module Sharp
+ * @private
+ */
+module.exports = (Sharp) => {
+ Object.assign(Sharp.prototype, {
+ // Public
+ tint,
+ greyscale,
+ grayscale,
+ pipelineColourspace,
+ pipelineColorspace,
+ toColourspace,
+ toColorspace,
+ // Private
+ _getBackgroundColourOption,
+ _setBackgroundColourOption
+ });
+ // Class attributes
+ Sharp.colourspace = colourspace;
+ Sharp.colorspace = colourspace;
+};
diff --git a/apps/api/.output/node_modules/sharp/dist/colour.mjs b/apps/api/.output/node_modules/sharp/dist/colour.mjs
new file mode 100644
index 0000000..b437857
--- /dev/null
+++ b/apps/api/.output/node_modules/sharp/dist/colour.mjs
@@ -0,0 +1,199 @@
+/*!
+ Copyright 2013 Lovell Fuller and others.
+ SPDX-License-Identifier: Apache-2.0
+*/
+
+import color from '@img/colour';
+import is from './is.mjs';
+
+/**
+ * Colourspaces.
+ * @private
+ */
+const colourspace = {
+ multiband: 'multiband',
+ 'b-w': 'b-w',
+ bw: 'b-w',
+ cmyk: 'cmyk',
+ srgb: 'srgb'
+};
+
+/**
+ * Tint the image using the provided colour.
+ * An alpha channel may be present and will be unchanged by the operation.
+ *
+ * @example
+ * const output = await sharp(input)
+ * .tint({ r: 255, g: 240, b: 16 })
+ * .toBuffer();
+ *
+ * @param {string|Object} tint - Parsed by the [color](https://www.npmjs.org/package/color) module.
+ * @returns {Sharp}
+ * @throws {Error} Invalid parameter
+ */
+function tint (tint) {
+ this._setBackgroundColourOption('tint', tint);
+ return this;
+}
+
+/**
+ * Convert to 8-bit greyscale; 256 shades of grey.
+ * This is a linear operation. If the input image is in a non-linear colour space such as sRGB, use `gamma()` with `greyscale()` for the best results.
+ * By default the output image will be web-friendly sRGB and contain three (identical) colour channels.
+ * This may be overridden by other sharp operations such as `toColourspace('b-w')`,
+ * which will produce an output image containing one colour channel.
+ * An alpha channel may be present, and will be unchanged by the operation.
+ *
+ * @example
+ * const output = await sharp(input).greyscale().toBuffer();
+ *
+ * @param {Boolean} [greyscale=true]
+ * @returns {Sharp}
+ */
+function greyscale (greyscale) {
+ this.options.greyscale = is.bool(greyscale) ? greyscale : true;
+ return this;
+}
+
+/**
+ * Alternative spelling of `greyscale`.
+ * @param {Boolean} [grayscale=true]
+ * @returns {Sharp}
+ */
+function grayscale (grayscale) {
+ return this.greyscale(grayscale);
+}
+
+/**
+ * Set the pipeline colourspace.
+ *
+ * The input image will be converted to the provided colourspace at the start of the pipeline.
+ * All operations will use this colourspace before converting to the output colourspace,
+ * as defined by {@link #tocolourspace toColourspace}.
+ *
+ * @since 0.29.0
+ *
+ * @example
+ * // Run pipeline in 16 bits per channel RGB while converting final result to 8 bits per channel sRGB.
+ * await sharp(input)
+ * .pipelineColourspace('rgb16')
+ * .toColourspace('srgb')
+ * .toFile('16bpc-pipeline-to-8bpc-output.png')
+ *
+ * @param {string} [colourspace] - pipeline colourspace e.g. `rgb16`, `scrgb`, `lab`, `grey16` [...](https://www.libvips.org/API/current/enum.Interpretation.html)
+ * @returns {Sharp}
+ * @throws {Error} Invalid parameters
+ */
+function pipelineColourspace (colourspace) {
+ if (!is.string(colourspace)) {
+ throw is.invalidParameterError('colourspace', 'string', colourspace);
+ }
+ this.options.colourspacePipeline = colourspace;
+ return this;
+}
+
+/**
+ * Alternative spelling of `pipelineColourspace`.
+ * @param {string} [colorspace] - pipeline colorspace.
+ * @returns {Sharp}
+ * @throws {Error} Invalid parameters
+ */
+function pipelineColorspace (colorspace) {
+ return this.pipelineColourspace(colorspace);
+}
+
+/**
+ * Set the output colourspace.
+ * By default output image will be web-friendly sRGB, with additional channels interpreted as alpha channels.
+ *
+ * @example
+ * // Output 16 bits per pixel RGB
+ * await sharp(input)
+ * .toColourspace('rgb16')
+ * .toFile('16-bpp.png')
+ *
+ * @param {string} [colourspace] - output colourspace e.g. `srgb`, `rgb`, `cmyk`, `lab`, `b-w` [...](https://www.libvips.org/API/current/enum.Interpretation.html)
+ * @returns {Sharp}
+ * @throws {Error} Invalid parameters
+ */
+function toColourspace (colourspace) {
+ if (!is.string(colourspace)) {
+ throw is.invalidParameterError('colourspace', 'string', colourspace);
+ }
+ this.options.colourspace = colourspace;
+ return this;
+}
+
+/**
+ * Alternative spelling of `toColourspace`.
+ * @param {string} [colorspace] - output colorspace.
+ * @returns {Sharp}
+ * @throws {Error} Invalid parameters
+ */
+function toColorspace (colorspace) {
+ return this.toColourspace(colorspace);
+}
+
+/**
+ * Create a RGBA colour array from a given value.
+ * @private
+ * @param {string|Object} value
+ * @throws {Error} Invalid value
+ */
+function _getBackgroundColourOption (value) {
+ if (
+ is.object(value) ||
+ (is.string(value) && value.length >= 3 && value.length <= 200)
+ ) {
+ const colour = color(value);
+ const red = colour.red();
+ const green = colour.green();
+ const blue = colour.blue();
+ const alpha = Math.round(colour.alpha() * 255);
+ for (const [channel, component] of [['red', red], ['green', green], ['blue', blue], ['alpha', alpha]]) {
+ if (!is.number(component)) {
+ throw is.invalidParameterError(`background.${channel}`, 'number', component);
+ }
+ }
+ return [red, green, blue, alpha];
+ } else {
+ throw is.invalidParameterError('background', 'object or string', value);
+ }
+}
+
+/**
+ * Update a colour attribute of the this.options Object.
+ * @private
+ * @param {string} key
+ * @param {string|Object} value
+ * @throws {Error} Invalid value
+ */
+function _setBackgroundColourOption (key, value) {
+ if (is.defined(value)) {
+ this.options[key] = _getBackgroundColourOption(value);
+ }
+}
+
+/**
+ * Decorate the Sharp prototype with colour-related functions.
+ * @module Sharp
+ * @private
+ */
+export default (Sharp) => {
+ Object.assign(Sharp.prototype, {
+ // Public
+ tint,
+ greyscale,
+ grayscale,
+ pipelineColourspace,
+ pipelineColorspace,
+ toColourspace,
+ toColorspace,
+ // Private
+ _getBackgroundColourOption,
+ _setBackgroundColourOption
+ });
+ // Class attributes
+ Sharp.colourspace = colourspace;
+ Sharp.colorspace = colourspace;
+};
diff --git a/apps/api/.output/node_modules/sharp/dist/composite.cjs b/apps/api/.output/node_modules/sharp/dist/composite.cjs
new file mode 100644
index 0000000..630e174
--- /dev/null
+++ b/apps/api/.output/node_modules/sharp/dist/composite.cjs
@@ -0,0 +1,213 @@
+/*!
+ Copyright 2013 Lovell Fuller and others.
+ SPDX-License-Identifier: Apache-2.0
+*/
+
+const is = require('./is.cjs');
+
+/**
+ * Blend modes.
+ * @member
+ * @private
+ */
+const blend = {
+ clear: 'clear',
+ source: 'source',
+ over: 'over',
+ in: 'in',
+ out: 'out',
+ atop: 'atop',
+ dest: 'dest',
+ 'dest-over': 'dest-over',
+ 'dest-in': 'dest-in',
+ 'dest-out': 'dest-out',
+ 'dest-atop': 'dest-atop',
+ xor: 'xor',
+ add: 'add',
+ saturate: 'saturate',
+ multiply: 'multiply',
+ screen: 'screen',
+ overlay: 'overlay',
+ darken: 'darken',
+ lighten: 'lighten',
+ 'colour-dodge': 'colour-dodge',
+ 'color-dodge': 'colour-dodge',
+ 'colour-burn': 'colour-burn',
+ 'color-burn': 'colour-burn',
+ 'hard-light': 'hard-light',
+ 'soft-light': 'soft-light',
+ difference: 'difference',
+ exclusion: 'exclusion'
+};
+
+/**
+ * Composite image(s) over the processed (resized, extracted etc.) image.
+ *
+ * The images to composite must be the same size or smaller than the processed image.
+ * If both `top` and `left` options are provided, they take precedence over `gravity`.
+ *
+ * Other operations in the same processing pipeline (e.g. resize, rotate, flip,
+ * flop, extract) will always be applied to the input image before composition.
+ *
+ * The `blend` option can be one of `clear`, `source`, `over`, `in`, `out`, `atop`,
+ * `dest`, `dest-over`, `dest-in`, `dest-out`, `dest-atop`,
+ * `xor`, `add`, `saturate`, `multiply`, `screen`, `overlay`, `darken`, `lighten`,
+ * `colour-dodge`, `color-dodge`, `colour-burn`,`color-burn`,
+ * `hard-light`, `soft-light`, `difference`, `exclusion`.
+ *
+ * More information about blend modes can be found at
+ * https://www.libvips.org/API/current/enum.BlendMode.html
+ * and https://www.cairographics.org/operators/
+ *
+ * @since 0.22.0
+ *
+ * @example
+ * await sharp(background)
+ * .composite([
+ * { input: layer1, gravity: 'northwest' },
+ * { input: layer2, gravity: 'southeast' },
+ * ])
+ * .toFile('combined.png');
+ *
+ * @example
+ * const output = await sharp('input.gif', { animated: true })
+ * .composite([
+ * { input: 'overlay.png', tile: true, blend: 'saturate' }
+ * ])
+ * .toBuffer();
+ *
+ * @example
+ * sharp('input.png')
+ * .rotate(180)
+ * .resize(300)
+ * .flatten( { background: '#ff6600' } )
+ * .composite([{ input: 'overlay.png', gravity: 'southeast' }])
+ * .sharpen()
+ * .withMetadata()
+ * .webp( { quality: 90 } )
+ * .toBuffer()
+ * .then(function(outputBuffer) {
+ * // outputBuffer contains upside down, 300px wide, alpha channel flattened
+ * // onto orange background, composited with overlay.png with SE gravity,
+ * // sharpened, with metadata, 90% quality WebP image data. Phew!
+ * });
+ *
+ * @param {Object[]} images - Ordered list of images to composite
+ * @param {Buffer|String} [images[].input] - Buffer containing image data, String containing the path to an image file, or Create object (see below)
+ * @param {Object} [images[].input.create] - describes a blank overlay to be created.
+ * @param {Number} [images[].input.create.width]
+ * @param {Number} [images[].input.create.height]
+ * @param {Number} [images[].input.create.channels] - 3-4
+ * @param {String|Object} [images[].input.create.background] - parsed by the [color](https://www.npmjs.org/package/color) module to extract values for red, green, blue and alpha.
+ * @param {Object} [images[].input.text] - describes a new text image to be created.
+ * @param {string} [images[].input.text.text] - text to render as a UTF-8 string. It can contain Pango markup, for example `Le Monde`.
+ * @param {string} [images[].input.text.font] - font name to render with.
+ * @param {string} [images[].input.text.fontfile] - absolute filesystem path to a font file that can be used by `font`.
+ * @param {number} [images[].input.text.width=0] - integral number of pixels to word-wrap at. Lines of text wider than this will be broken at word boundaries.
+ * @param {number} [images[].input.text.height=0] - integral number of pixels high. When defined, `dpi` will be ignored and the text will automatically fit the pixel resolution defined by `width` and `height`. Will be ignored if `width` is not specified or set to 0.
+ * @param {string} [images[].input.text.align='left'] - text alignment (`'left'`, `'centre'`, `'center'`, `'right'`).
+ * @param {boolean} [images[].input.text.justify=false] - set this to true to apply justification to the text.
+ * @param {number} [images[].input.text.dpi=72] - the resolution (size) at which to render the text. Does not take effect if `height` is specified.
+ * @param {boolean} [images[].input.text.rgba=false] - set this to true to enable RGBA output. This is useful for colour emoji rendering, or support for Pango markup features like `Red! `.
+ * @param {number} [images[].input.text.spacing=0] - text line height in points. Will use the font line height if none is specified.
+ * @param {Boolean} [images[].autoOrient=false] - set to true to use EXIF orientation data, if present, to orient the image.
+ * @param {String} [images[].blend='over'] - how to blend this image with the image below.
+ * @param {String} [images[].gravity='centre'] - gravity at which to place the overlay.
+ * @param {Number} [images[].top] - the pixel offset from the top edge, an integer between -100000000 and 100000000.
+ * @param {Number} [images[].left] - the pixel offset from the left edge, an integer between -100000000 and 100000000.
+ * @param {Boolean} [images[].tile=false] - set to true to repeat the overlay image across the entire image with the given `gravity`.
+ * @param {Boolean} [images[].premultiplied=false] - set to true to avoid premultiplying the image below. Equivalent to the `--premultiplied` vips option.
+ * @param {Number} [images[].density=72] - number representing the DPI for vector overlay image.
+ * @param {Object} [images[].raw] - describes overlay when using raw pixel data.
+ * @param {Number} [images[].raw.width]
+ * @param {Number} [images[].raw.height]
+ * @param {Number} [images[].raw.channels]
+ * @param {boolean} [images[].animated=false] - Set to `true` to read all frames/pages of an animated image.
+ * @param {string} [images[].failOn='warning'] - @see {@link /api-constructor/ constructor parameters}
+ * @param {number|boolean} [images[].limitInputPixels=268402689] - @see {@link /api-constructor/ constructor parameters}
+ * @param {number|boolean} [images[].limitInputChannels=5] - @see {@link /api-constructor/ constructor parameters}
+ * @returns {Sharp}
+ * @throws {Error} Invalid parameters
+ */
+function composite (images) {
+ if (!Array.isArray(images)) {
+ throw is.invalidParameterError('images to composite', 'array', images);
+ }
+ this.options.composite = images.map(image => {
+ if (!is.object(image)) {
+ throw is.invalidParameterError('image to composite', 'object', image);
+ }
+ const inputOptions = this._inputOptionsFromObject(image);
+ const composite = {
+ input: this._createInputDescriptor(image.input, inputOptions, { allowStream: false }),
+ blend: 'over',
+ tile: false,
+ left: 0,
+ top: 0,
+ hasOffset: false,
+ gravity: 0,
+ premultiplied: false
+ };
+ if (is.defined(image.blend)) {
+ if (is.string(blend[image.blend])) {
+ composite.blend = blend[image.blend];
+ } else {
+ throw is.invalidParameterError('blend', 'valid blend name', image.blend);
+ }
+ }
+ if (is.defined(image.tile)) {
+ if (is.bool(image.tile)) {
+ composite.tile = image.tile;
+ } else {
+ throw is.invalidParameterError('tile', 'boolean', image.tile);
+ }
+ }
+ if (is.defined(image.left)) {
+ if (is.integer(image.left) && is.inRange(image.left, -100000000, 100000000)) {
+ composite.left = image.left;
+ } else {
+ throw is.invalidParameterError('left', 'integer between -100000000 and 100000000', image.left);
+ }
+ }
+ if (is.defined(image.top)) {
+ if (is.integer(image.top) && is.inRange(image.top, -100000000, 100000000)) {
+ composite.top = image.top;
+ } else {
+ throw is.invalidParameterError('top', 'integer between -100000000 and 100000000', image.top);
+ }
+ }
+ if (is.defined(image.top) !== is.defined(image.left)) {
+ throw new Error('Expected both left and top to be set');
+ } else {
+ composite.hasOffset = is.integer(image.top) && is.integer(image.left);
+ }
+ if (is.defined(image.gravity)) {
+ if (is.integer(image.gravity) && is.inRange(image.gravity, 0, 8)) {
+ composite.gravity = image.gravity;
+ } else if (is.string(image.gravity) && is.integer(this.constructor.gravity[image.gravity])) {
+ composite.gravity = this.constructor.gravity[image.gravity];
+ } else {
+ throw is.invalidParameterError('gravity', 'valid gravity', image.gravity);
+ }
+ }
+ if (is.defined(image.premultiplied)) {
+ if (is.bool(image.premultiplied)) {
+ composite.premultiplied = image.premultiplied;
+ } else {
+ throw is.invalidParameterError('premultiplied', 'boolean', image.premultiplied);
+ }
+ }
+ return composite;
+ });
+ return this;
+}
+
+/**
+ * Decorate the Sharp prototype with composite-related functions.
+ * @module Sharp
+ * @private
+ */
+module.exports = (Sharp) => {
+ Sharp.prototype.composite = composite;
+ Sharp.blend = blend;
+};
diff --git a/apps/api/.output/node_modules/sharp/dist/composite.mjs b/apps/api/.output/node_modules/sharp/dist/composite.mjs
new file mode 100644
index 0000000..4c8119a
--- /dev/null
+++ b/apps/api/.output/node_modules/sharp/dist/composite.mjs
@@ -0,0 +1,213 @@
+/*!
+ Copyright 2013 Lovell Fuller and others.
+ SPDX-License-Identifier: Apache-2.0
+*/
+
+import is from './is.mjs';
+
+/**
+ * Blend modes.
+ * @member
+ * @private
+ */
+const blend = {
+ clear: 'clear',
+ source: 'source',
+ over: 'over',
+ in: 'in',
+ out: 'out',
+ atop: 'atop',
+ dest: 'dest',
+ 'dest-over': 'dest-over',
+ 'dest-in': 'dest-in',
+ 'dest-out': 'dest-out',
+ 'dest-atop': 'dest-atop',
+ xor: 'xor',
+ add: 'add',
+ saturate: 'saturate',
+ multiply: 'multiply',
+ screen: 'screen',
+ overlay: 'overlay',
+ darken: 'darken',
+ lighten: 'lighten',
+ 'colour-dodge': 'colour-dodge',
+ 'color-dodge': 'colour-dodge',
+ 'colour-burn': 'colour-burn',
+ 'color-burn': 'colour-burn',
+ 'hard-light': 'hard-light',
+ 'soft-light': 'soft-light',
+ difference: 'difference',
+ exclusion: 'exclusion'
+};
+
+/**
+ * Composite image(s) over the processed (resized, extracted etc.) image.
+ *
+ * The images to composite must be the same size or smaller than the processed image.
+ * If both `top` and `left` options are provided, they take precedence over `gravity`.
+ *
+ * Other operations in the same processing pipeline (e.g. resize, rotate, flip,
+ * flop, extract) will always be applied to the input image before composition.
+ *
+ * The `blend` option can be one of `clear`, `source`, `over`, `in`, `out`, `atop`,
+ * `dest`, `dest-over`, `dest-in`, `dest-out`, `dest-atop`,
+ * `xor`, `add`, `saturate`, `multiply`, `screen`, `overlay`, `darken`, `lighten`,
+ * `colour-dodge`, `color-dodge`, `colour-burn`,`color-burn`,
+ * `hard-light`, `soft-light`, `difference`, `exclusion`.
+ *
+ * More information about blend modes can be found at
+ * https://www.libvips.org/API/current/enum.BlendMode.html
+ * and https://www.cairographics.org/operators/
+ *
+ * @since 0.22.0
+ *
+ * @example
+ * await sharp(background)
+ * .composite([
+ * { input: layer1, gravity: 'northwest' },
+ * { input: layer2, gravity: 'southeast' },
+ * ])
+ * .toFile('combined.png');
+ *
+ * @example
+ * const output = await sharp('input.gif', { animated: true })
+ * .composite([
+ * { input: 'overlay.png', tile: true, blend: 'saturate' }
+ * ])
+ * .toBuffer();
+ *
+ * @example
+ * sharp('input.png')
+ * .rotate(180)
+ * .resize(300)
+ * .flatten( { background: '#ff6600' } )
+ * .composite([{ input: 'overlay.png', gravity: 'southeast' }])
+ * .sharpen()
+ * .withMetadata()
+ * .webp( { quality: 90 } )
+ * .toBuffer()
+ * .then(function(outputBuffer) {
+ * // outputBuffer contains upside down, 300px wide, alpha channel flattened
+ * // onto orange background, composited with overlay.png with SE gravity,
+ * // sharpened, with metadata, 90% quality WebP image data. Phew!
+ * });
+ *
+ * @param {Object[]} images - Ordered list of images to composite
+ * @param {Buffer|String} [images[].input] - Buffer containing image data, String containing the path to an image file, or Create object (see below)
+ * @param {Object} [images[].input.create] - describes a blank overlay to be created.
+ * @param {Number} [images[].input.create.width]
+ * @param {Number} [images[].input.create.height]
+ * @param {Number} [images[].input.create.channels] - 3-4
+ * @param {String|Object} [images[].input.create.background] - parsed by the [color](https://www.npmjs.org/package/color) module to extract values for red, green, blue and alpha.
+ * @param {Object} [images[].input.text] - describes a new text image to be created.
+ * @param {string} [images[].input.text.text] - text to render as a UTF-8 string. It can contain Pango markup, for example `Le Monde`.
+ * @param {string} [images[].input.text.font] - font name to render with.
+ * @param {string} [images[].input.text.fontfile] - absolute filesystem path to a font file that can be used by `font`.
+ * @param {number} [images[].input.text.width=0] - integral number of pixels to word-wrap at. Lines of text wider than this will be broken at word boundaries.
+ * @param {number} [images[].input.text.height=0] - integral number of pixels high. When defined, `dpi` will be ignored and the text will automatically fit the pixel resolution defined by `width` and `height`. Will be ignored if `width` is not specified or set to 0.
+ * @param {string} [images[].input.text.align='left'] - text alignment (`'left'`, `'centre'`, `'center'`, `'right'`).
+ * @param {boolean} [images[].input.text.justify=false] - set this to true to apply justification to the text.
+ * @param {number} [images[].input.text.dpi=72] - the resolution (size) at which to render the text. Does not take effect if `height` is specified.
+ * @param {boolean} [images[].input.text.rgba=false] - set this to true to enable RGBA output. This is useful for colour emoji rendering, or support for Pango markup features like `Red! `.
+ * @param {number} [images[].input.text.spacing=0] - text line height in points. Will use the font line height if none is specified.
+ * @param {Boolean} [images[].autoOrient=false] - set to true to use EXIF orientation data, if present, to orient the image.
+ * @param {String} [images[].blend='over'] - how to blend this image with the image below.
+ * @param {String} [images[].gravity='centre'] - gravity at which to place the overlay.
+ * @param {Number} [images[].top] - the pixel offset from the top edge, an integer between -100000000 and 100000000.
+ * @param {Number} [images[].left] - the pixel offset from the left edge, an integer between -100000000 and 100000000.
+ * @param {Boolean} [images[].tile=false] - set to true to repeat the overlay image across the entire image with the given `gravity`.
+ * @param {Boolean} [images[].premultiplied=false] - set to true to avoid premultiplying the image below. Equivalent to the `--premultiplied` vips option.
+ * @param {Number} [images[].density=72] - number representing the DPI for vector overlay image.
+ * @param {Object} [images[].raw] - describes overlay when using raw pixel data.
+ * @param {Number} [images[].raw.width]
+ * @param {Number} [images[].raw.height]
+ * @param {Number} [images[].raw.channels]
+ * @param {boolean} [images[].animated=false] - Set to `true` to read all frames/pages of an animated image.
+ * @param {string} [images[].failOn='warning'] - @see {@link /api-constructor/ constructor parameters}
+ * @param {number|boolean} [images[].limitInputPixels=268402689] - @see {@link /api-constructor/ constructor parameters}
+ * @param {number|boolean} [images[].limitInputChannels=5] - @see {@link /api-constructor/ constructor parameters}
+ * @returns {Sharp}
+ * @throws {Error} Invalid parameters
+ */
+function composite (images) {
+ if (!Array.isArray(images)) {
+ throw is.invalidParameterError('images to composite', 'array', images);
+ }
+ this.options.composite = images.map(image => {
+ if (!is.object(image)) {
+ throw is.invalidParameterError('image to composite', 'object', image);
+ }
+ const inputOptions = this._inputOptionsFromObject(image);
+ const composite = {
+ input: this._createInputDescriptor(image.input, inputOptions, { allowStream: false }),
+ blend: 'over',
+ tile: false,
+ left: 0,
+ top: 0,
+ hasOffset: false,
+ gravity: 0,
+ premultiplied: false
+ };
+ if (is.defined(image.blend)) {
+ if (is.string(blend[image.blend])) {
+ composite.blend = blend[image.blend];
+ } else {
+ throw is.invalidParameterError('blend', 'valid blend name', image.blend);
+ }
+ }
+ if (is.defined(image.tile)) {
+ if (is.bool(image.tile)) {
+ composite.tile = image.tile;
+ } else {
+ throw is.invalidParameterError('tile', 'boolean', image.tile);
+ }
+ }
+ if (is.defined(image.left)) {
+ if (is.integer(image.left) && is.inRange(image.left, -100000000, 100000000)) {
+ composite.left = image.left;
+ } else {
+ throw is.invalidParameterError('left', 'integer between -100000000 and 100000000', image.left);
+ }
+ }
+ if (is.defined(image.top)) {
+ if (is.integer(image.top) && is.inRange(image.top, -100000000, 100000000)) {
+ composite.top = image.top;
+ } else {
+ throw is.invalidParameterError('top', 'integer between -100000000 and 100000000', image.top);
+ }
+ }
+ if (is.defined(image.top) !== is.defined(image.left)) {
+ throw new Error('Expected both left and top to be set');
+ } else {
+ composite.hasOffset = is.integer(image.top) && is.integer(image.left);
+ }
+ if (is.defined(image.gravity)) {
+ if (is.integer(image.gravity) && is.inRange(image.gravity, 0, 8)) {
+ composite.gravity = image.gravity;
+ } else if (is.string(image.gravity) && is.integer(this.constructor.gravity[image.gravity])) {
+ composite.gravity = this.constructor.gravity[image.gravity];
+ } else {
+ throw is.invalidParameterError('gravity', 'valid gravity', image.gravity);
+ }
+ }
+ if (is.defined(image.premultiplied)) {
+ if (is.bool(image.premultiplied)) {
+ composite.premultiplied = image.premultiplied;
+ } else {
+ throw is.invalidParameterError('premultiplied', 'boolean', image.premultiplied);
+ }
+ }
+ return composite;
+ });
+ return this;
+}
+
+/**
+ * Decorate the Sharp prototype with composite-related functions.
+ * @module Sharp
+ * @private
+ */
+export default (Sharp) => {
+ Sharp.prototype.composite = composite;
+ Sharp.blend = blend;
+};
diff --git a/apps/api/.output/node_modules/sharp/dist/constructor.cjs b/apps/api/.output/node_modules/sharp/dist/constructor.cjs
new file mode 100644
index 0000000..aab934b
--- /dev/null
+++ b/apps/api/.output/node_modules/sharp/dist/constructor.cjs
@@ -0,0 +1,511 @@
+/*!
+ Copyright 2013 Lovell Fuller and others.
+ SPDX-License-Identifier: Apache-2.0
+*/
+
+const util = require('node:util');
+const stream = require('node:stream');
+const is = require('./is.cjs');
+
+require('./sharp.cjs');
+
+// Use NODE_DEBUG=sharp to enable libvips warnings
+const debuglog = util.debuglog('sharp');
+
+const queueListener = (queueLength) => {
+ Sharp.queue.emit('change', queueLength);
+};
+
+/**
+ * Constructor factory to create an instance of `sharp`, to which further methods are chained.
+ *
+ * JPEG, PNG, WebP, GIF, AVIF or TIFF format image data can be streamed out from this object.
+ * When using Stream based output, derived attributes are available from the `info` event.
+ *
+ * Non-critical problems encountered during processing are emitted as `warning` events.
+ *
+ * Implements the [stream.Duplex](http://nodejs.org/api/stream.html#stream_class_stream_duplex) class.
+ *
+ * When loading more than one page/frame of an animated image,
+ * these are combined as a vertically-stacked "toilet roll" image
+ * where the overall height is the `pageHeight` multiplied by the number of `pages`.
+ *
+ * @constructs Sharp
+ *
+ * @emits Sharp#info
+ * @emits Sharp#warning
+ *
+ * @example
+ * sharp('input.jpg')
+ * .resize(300, 200)
+ * .toFile('output.jpg', function(err) {
+ * // output.jpg is a 300 pixels wide and 200 pixels high image
+ * // containing a scaled and cropped version of input.jpg
+ * });
+ *
+ * @example
+ * // Read image data from remote URL,
+ * // resize to 300 pixels wide,
+ * // emit an 'info' event with calculated dimensions
+ * // and finally write image data to writableStream
+ * const { body } = await fetch('https://...');
+ * const readableStream = Readable.fromWeb(body);
+ * const transformer = sharp()
+ * .resize(300)
+ * .on('info', ({ height }) => {
+ * console.log(`Image height is ${height}`);
+ * });
+ * readableStream.pipe(transformer).pipe(writableStream);
+ *
+ * @example
+ * // Web Streams API, requires Node.js >= 24.15.0
+ * const { Duplex } = require('node:stream');
+ *
+ * const { body } = await fetch('https://...');
+ * const transformer = Duplex.toWeb(
+ * sharp().resize(300),
+ * { readableType: 'bytes' }
+ * );
+ * body.pipeThrough(transformer).pipeTo(writable);
+ *
+ * @example
+ * // Create a blank 300x200 PNG image of semi-translucent red pixels
+ * sharp({
+ * create: {
+ * width: 300,
+ * height: 200,
+ * channels: 4,
+ * background: { r: 255, g: 0, b: 0, alpha: 0.5 }
+ * }
+ * })
+ * .png()
+ * .toBuffer()
+ * .then( ... );
+ *
+ * @example
+ * // Convert an animated GIF to an animated WebP
+ * await sharp('in.gif', { animated: true }).toFile('out.webp');
+ *
+ * @example
+ * // Read a raw array of pixels and save it to a png
+ * const input = Uint8Array.from([255, 255, 255, 0, 0, 0]); // or Uint8ClampedArray
+ * const image = sharp(input, {
+ * // because the input does not contain its dimensions or how many channels it has
+ * // we need to specify it in the constructor options
+ * raw: {
+ * width: 2,
+ * height: 1,
+ * channels: 3
+ * }
+ * });
+ * await image.toFile('my-two-pixels.png');
+ *
+ * @example
+ * // Generate RGB Gaussian noise
+ * await sharp({
+ * create: {
+ * width: 300,
+ * height: 200,
+ * channels: 3,
+ * noise: {
+ * type: 'gaussian',
+ * mean: 128,
+ * sigma: 30
+ * }
+ * }
+ * }).toFile('noise.png');
+ *
+ * @example
+ * // Generate an image from text
+ * await sharp({
+ * text: {
+ * text: 'Hello, world!',
+ * width: 400, // max width
+ * height: 300 // max height
+ * }
+ * }).toFile('text_bw.png');
+ *
+ * @example
+ * // Generate an rgba image from text using pango markup and font
+ * await sharp({
+ * text: {
+ * text: 'Red! blue ',
+ * font: 'sans',
+ * rgba: true,
+ * dpi: 300
+ * }
+ * }).toFile('text_rgba.png');
+ *
+ * @example
+ * // Join four input images as a 2x2 grid with a 4 pixel gutter
+ * const data = await sharp(
+ * [image1, image2, image3, image4],
+ * { join: { across: 2, shim: 4 } }
+ * ).toBuffer();
+ *
+ * @example
+ * // Generate a two-frame animated image from emoji
+ * const images = ['😀', '😛'].map(text => ({
+ * text: { text, width: 64, height: 64, channels: 4, rgba: true }
+ * }));
+ * await sharp(images, { join: { animated: true } }).toFile('out.gif');
+ *
+ * @param {(Buffer|ArrayBuffer|Uint8Array|Uint8ClampedArray|Int8Array|Uint16Array|Int16Array|Uint32Array|Int32Array|Float32Array|Float64Array|string|Array)} [input] - if present, can be
+ * a Buffer / ArrayBuffer / Uint8Array / Uint8ClampedArray containing JPEG, PNG, WebP, AVIF, GIF, SVG or TIFF image data, or
+ * a TypedArray containing raw pixel image data, or
+ * a String containing the filesystem path to an JPEG, PNG, WebP, AVIF, GIF, SVG or TIFF image file.
+ * An array of inputs can be provided, and these will be joined together.
+ * JPEG, PNG, WebP, AVIF, GIF, SVG, TIFF or raw pixel image data can be streamed into the object when not present.
+ * @param {Object} [options] - if present, is an Object with optional attributes.
+ * @param {string} [options.failOn='warning'] - When to abort processing of invalid pixel data, one of (in order of sensitivity, least to most): 'none', 'truncated', 'error', 'warning'. Higher levels imply lower levels. Invalid metadata will always abort. Use the default 'warning' level with untrusted input.
+ * @param {number|boolean} [options.limitInputPixels=268402689] - Do not process input images where the number of pixels
+ * (width x height) exceeds this limit. Assumes image dimensions contained in the input metadata can be trusted.
+ * An integral Number of pixels, zero or false to remove limit, true to use default limit of 268402689 (0x3FFF x 0x3FFF).
+ * @param {number|boolean} [options.limitInputChannels=5] - Do not process input images where the number of channels exceeds this limit. Assumes image metadata can be trusted.
+ * An integral Number of channels, zero or false to remove limit, true to use default limit of 5.
+ * @param {boolean} [options.unlimited=false] - Set this to `true` to remove safety features that help prevent memory exhaustion (JPEG, PNG, SVG, HEIF).
+ * @param {boolean} [options.autoOrient=false] - Set this to `true` to rotate/flip the image to match EXIF `Orientation`, if any.
+ * @param {boolean} [options.sequentialRead=true] - Set this to `false` to use random access rather than sequential read. Some operations will do this automatically.
+ * @param {number} [options.density=72] - The DPI at which to render SVG and PDF images, in the range 1 to 100000.
+ * @param {number} [options.ignoreIcc=false] - should the embedded ICC profile, if any, be ignored.
+ * @param {number} [options.pages=1] - Number of pages to extract for multi-page input (GIF, WebP, TIFF), use -1 for all pages.
+ * @param {number} [options.page=0] - Page number to start extracting from for multi-page input (GIF, WebP, TIFF), zero based.
+ * @param {boolean} [options.animated=false] - Set to `true` to read all frames/pages of an animated image (GIF, WebP, TIFF), equivalent of setting `pages` to `-1`.
+ * @param {Object} [options.raw] - describes raw pixel input image data. See `raw()` for pixel ordering.
+ * @param {number} [options.raw.width] - integral number of pixels wide.
+ * @param {number} [options.raw.height] - integral number of pixels high.
+ * @param {number} [options.raw.channels] - integral number of channels, between 1 and 4.
+ * @param {boolean} [options.raw.premultiplied] - specifies that the raw input has already been premultiplied, set to `true`
+ * to avoid sharp premultiplying the image. (optional, default `false`)
+ * @param {number} [options.raw.pageHeight] - The pixel height of each page/frame for animated images, must be an integral factor of `raw.height`.
+ * @param {Object} [options.create] - describes a new image to be created.
+ * @param {number} [options.create.width] - integral number of pixels wide.
+ * @param {number} [options.create.height] - integral number of pixels high.
+ * @param {number} [options.create.channels] - integral number of channels, either 3 (RGB) or 4 (RGBA).
+ * @param {string|Object} [options.create.background] - parsed by the [color](https://www.npmjs.org/package/color) module to extract values for red, green, blue and alpha.
+ * @param {number} [options.create.pageHeight] - The pixel height of each page/frame for animated images, must be an integral factor of `create.height`.
+ * @param {Object} [options.create.noise] - describes a noise to be created.
+ * @param {string} [options.create.noise.type] - type of generated noise, currently only `gaussian` is supported.
+ * @param {number} [options.create.noise.mean=128] - Mean value of pixels in the generated noise.
+ * @param {number} [options.create.noise.sigma=30] - Standard deviation of pixel values in the generated noise.
+ * @param {Object} [options.text] - describes a new text image to be created.
+ * @param {string} [options.text.text] - text to render as a UTF-8 string. It can contain Pango markup, for example `Le Monde`.
+ * @param {string} [options.text.font] - font name to render with.
+ * @param {string} [options.text.fontfile] - absolute filesystem path to a font file that can be used by `font`.
+ * @param {number} [options.text.width=0] - Integral number of pixels to word-wrap at. Lines of text wider than this will be broken at word boundaries.
+ * @param {number} [options.text.height=0] - Maximum integral number of pixels high. When defined, `dpi` will be ignored and the text will automatically fit the pixel resolution defined by `width` and `height`. Will be ignored if `width` is not specified or set to 0.
+ * @param {string} [options.text.align='left'] - Alignment style for multi-line text (`'left'`, `'centre'`, `'center'`, `'right'`).
+ * @param {boolean} [options.text.justify=false] - set this to true to apply justification to the text.
+ * @param {number} [options.text.dpi=72] - the resolution (size) at which to render the text. Does not take effect if `height` is specified.
+ * @param {boolean} [options.text.rgba=false] - set this to true to enable RGBA output. This is useful for colour emoji rendering, or support for pango markup features like `Red! `.
+ * @param {number} [options.text.spacing=0] - text line height in points. Will use the font line height if none is specified.
+ * @param {string} [options.text.wrap='word'] - word wrapping style when width is provided, one of: 'word', 'char', 'word-char' (prefer word, fallback to char) or 'none'.
+ * @param {Object} [options.join] - describes how an array of input images should be joined.
+ * @param {number} [options.join.across=1] - number of images to join horizontally.
+ * @param {boolean} [options.join.animated=false] - set this to `true` to join the images as an animated image.
+ * @param {number} [options.join.shim=0] - number of pixels to insert between joined images.
+ * @param {string|Object} [options.join.background] - parsed by the [color](https://www.npmjs.org/package/color) module to extract values for red, green, blue and alpha.
+ * @param {string} [options.join.halign='left'] - horizontal alignment style for images joined horizontally (`'left'`, `'centre'`, `'center'`, `'right'`).
+ * @param {string} [options.join.valign='top'] - vertical alignment style for images joined vertically (`'top'`, `'centre'`, `'center'`, `'bottom'`).
+ * @param {Object} [options.tiff] - Describes TIFF specific options.
+ * @param {number} [options.tiff.subifd=-1] - Sub Image File Directory to extract for OME-TIFF, defaults to main image.
+ * @param {Object} [options.svg] - Describes SVG specific options.
+ * @param {string} [options.svg.stylesheet] - Custom CSS for SVG input, applied with a User Origin during the CSS cascade.
+ * @param {boolean} [options.svg.highBitdepth=false] - Set to `true` to render SVG input at 32-bits per channel (128-bit) instead of 8-bits per channel (32-bit) RGBA.
+ * @param {Object} [options.pdf] - Describes PDF specific options. Requires the use of a globally-installed libvips compiled with support for PDFium, Poppler, ImageMagick or GraphicsMagick.
+ * @param {string|Object} [options.pdf.background] - Background colour to use when PDF is partially transparent. Parsed by the [color](https://www.npmjs.org/package/color) module to extract values for red, green, blue and alpha.
+ * @param {Object} [options.openSlide] - Describes OpenSlide specific options. Requires the use of a globally-installed libvips compiled with support for OpenSlide.
+ * @param {number} [options.openSlide.level=0] - Level to extract from a multi-level input, zero based.
+ * @param {Object} [options.jp2] - Describes JPEG 2000 specific options. Requires the use of a globally-installed libvips compiled with support for OpenJPEG.
+ * @param {boolean} [options.jp2.oneshot=false] - Set to `true` to decode tiled JPEG 2000 images in a single operation, improving compatibility.
+ * @returns {Sharp}
+ * @throws {Error} Invalid parameters
+ */
+const Sharp = function (input, options) {
+ // biome-ignore lint/complexity/noArguments: constructor factory
+ if (arguments.length === 1 && !is.defined(input)) {
+ throw new Error('Invalid input');
+ }
+ if (!(this instanceof Sharp)) {
+ return new Sharp(input, options);
+ }
+ stream.Duplex.call(this);
+ this.options = {
+ // resize options
+ topOffsetPre: -1,
+ leftOffsetPre: -1,
+ widthPre: -1,
+ heightPre: -1,
+ topOffsetPost: -1,
+ leftOffsetPost: -1,
+ widthPost: -1,
+ heightPost: -1,
+ width: -1,
+ height: -1,
+ canvas: 'crop',
+ position: 0,
+ resizeBackground: [0, 0, 0, 255],
+ angle: 0,
+ rotationAngle: 0,
+ rotationBackground: [0, 0, 0, 255],
+ rotateBefore: false,
+ orientBefore: false,
+ flip: false,
+ flop: false,
+ extendTop: 0,
+ extendBottom: 0,
+ extendLeft: 0,
+ extendRight: 0,
+ extendBackground: [0, 0, 0, 255],
+ extendWith: 'background',
+ withoutEnlargement: false,
+ withoutReduction: false,
+ affineMatrix: [],
+ affineBackground: [0, 0, 0, 255],
+ affineIdx: 0,
+ affineIdy: 0,
+ affineOdx: 0,
+ affineOdy: 0,
+ affineInterpolator: this.constructor.interpolators.bilinear,
+ kernel: 'lanczos3',
+ fastShrinkOnLoad: true,
+ // operations
+ tint: [-1, 0, 0, 0],
+ flatten: false,
+ flattenBackground: [0, 0, 0],
+ unflatten: false,
+ negate: false,
+ negateAlpha: true,
+ medianSize: 0,
+ blurSigma: 0,
+ precision: 'integer',
+ minAmpl: 0.2,
+ sharpenSigma: 0,
+ sharpenM1: 1,
+ sharpenM2: 2,
+ sharpenX1: 2,
+ sharpenY2: 10,
+ sharpenY3: 20,
+ threshold: 0,
+ thresholdGrayscale: true,
+ trimBackground: [],
+ trimThreshold: -1,
+ trimLineArt: false,
+ trimMargin: 0,
+ dilateWidth: 0,
+ erodeWidth: 0,
+ gamma: 0,
+ gammaOut: 0,
+ greyscale: false,
+ normalise: false,
+ normaliseLower: 1,
+ normaliseUpper: 99,
+ claheWidth: 0,
+ claheHeight: 0,
+ claheMaxSlope: 3,
+ brightness: 1,
+ saturation: 1,
+ hue: 0,
+ lightness: 0,
+ booleanBufferIn: null,
+ booleanFileIn: '',
+ joinChannelIn: [],
+ extractChannel: -1,
+ removeAlpha: false,
+ ensureAlpha: -1,
+ colourspace: 'srgb',
+ colourspacePipeline: 'last',
+ composite: [],
+ // output
+ fileOut: '',
+ formatOut: 'input',
+ streamOut: false,
+ typedArrayOut: false,
+ keepMetadata: 0,
+ withMetadataOrientation: -1,
+ withMetadataDensity: 0,
+ withIccProfile: '',
+ withExif: {},
+ withExifMerge: true,
+ withXmp: '',
+ keepGainMap: false,
+ withGainMap: false,
+ resolveWithObject: false,
+ loop: -1,
+ delay: [],
+ // output format
+ jpegQuality: 80,
+ jpegProgressive: false,
+ jpegChromaSubsampling: '4:2:0',
+ jpegTrellisQuantisation: false,
+ jpegOvershootDeringing: false,
+ jpegOptimiseScans: false,
+ jpegOptimiseCoding: true,
+ jpegQuantisationTable: 0,
+ pngProgressive: false,
+ pngCompressionLevel: 6,
+ pngAdaptiveFiltering: false,
+ pngPalette: false,
+ pngQuality: 100,
+ pngEffort: 7,
+ pngBitdepth: 8,
+ pngDither: 1,
+ jp2Quality: 80,
+ jp2TileHeight: 512,
+ jp2TileWidth: 512,
+ jp2Lossless: false,
+ jp2ChromaSubsampling: '4:4:4',
+ webpQuality: 80,
+ webpAlphaQuality: 100,
+ webpLossless: false,
+ webpNearLossless: false,
+ webpSmartSubsample: false,
+ webpSmartDeblock: false,
+ webpPreset: 'default',
+ webpEffort: 4,
+ webpMinSize: false,
+ webpMixed: false,
+ webpExact: false,
+ gifBitdepth: 8,
+ gifEffort: 7,
+ gifDither: 1,
+ gifInterFrameMaxError: 0,
+ gifInterPaletteMaxError: 3,
+ gifKeepDuplicateFrames: false,
+ gifReuse: true,
+ gifProgressive: false,
+ tiffQuality: 80,
+ tiffCompression: 'jpeg',
+ tiffBigtiff: false,
+ tiffPredictor: 'horizontal',
+ tiffPyramid: false,
+ tiffMiniswhite: false,
+ tiffBitdepth: 0,
+ tiffTile: false,
+ tiffTileHeight: 256,
+ tiffTileWidth: 256,
+ tiffXres: 1.0,
+ tiffYres: 1.0,
+ tiffResolutionUnit: 'inch',
+ heifQuality: 50,
+ heifLossless: false,
+ heifCompression: 'av1',
+ heifEffort: 4,
+ heifChromaSubsampling: '4:4:4',
+ heifBitdepth: 8,
+ heifTune: 'auto',
+ jxlDistance: 1,
+ jxlDecodingTier: 0,
+ jxlEffort: 7,
+ jxlLossless: false,
+ rawDepth: 'uchar',
+ tileSize: 256,
+ tileOverlap: 0,
+ tileContainer: 'fs',
+ tileLayout: 'dz',
+ tileFormat: 'last',
+ tileDepth: 'last',
+ tileAngle: 0,
+ tileSkipBlanks: -1,
+ tileBackground: [255, 255, 255, 255],
+ tileCentre: false,
+ tileId: 'https://example.com/iiif',
+ tileBasename: '',
+ timeoutSeconds: 0,
+ linearA: [],
+ linearB: [],
+ pdfBackground: [255, 255, 255, 255],
+ // Function to notify of libvips warnings
+ debuglog: warning => {
+ this.emit('warning', warning);
+ debuglog(warning);
+ },
+ // Function to notify of queue length changes
+ queueListener
+ };
+ this.options.input = this._createInputDescriptor(input, options, { allowStream: true });
+ return this;
+};
+Object.setPrototypeOf(Sharp.prototype, stream.Duplex.prototype);
+Object.setPrototypeOf(Sharp, stream.Duplex);
+
+/**
+ * Take a "snapshot" of the Sharp instance, returning a new instance.
+ * Cloned instances inherit the input of their parent instance.
+ * This allows multiple output Streams and therefore multiple processing pipelines to share a single input Stream.
+ *
+ * @example
+ * // firstWritableStream receives auto-rotated, resized readableStream
+ * // secondWritableStream receives auto-rotated, extracted region of readableStream
+ *
+ * const pipeline = sharp().rotate();
+ * pipeline
+ * .clone()
+ * .resize(800, 600)
+ * .pipe(firstWritableStream);
+ * pipeline
+ * .clone()
+ * .extract({ left: 20, top: 20, width: 100, height: 100 })
+ * .pipe(secondWritableStream);
+ * readableStream.pipe(pipeline);
+ *
+ * @example
+ * // Create a pipeline that will download an image, resize it and format it to different files
+ * // Using Promises to know when the pipeline is complete
+ *
+ * const sharpStream = sharp();
+ *
+ * const promises = [];
+ * promises.push(
+ * sharpStream
+ * .clone()
+ * .jpeg({ quality: 100 })
+ * .toFile("originalFile.jpg")
+ * );
+ * promises.push(
+ * sharpStream
+ * .clone()
+ * .resize({ width: 500 })
+ * .jpeg({ quality: 80 })
+ * .toFile("optimized-500.jpg")
+ * );
+ * promises.push(
+ * sharpStream
+ * .clone()
+ * .resize({ width: 500 })
+ * .webp({ quality: 80 })
+ * .toFile("optimized-500.webp")
+ * );
+ *
+ * const res = await fetch("https://www.example.com/some-file.jpg")
+ * Readable.fromWeb(res.body).pipe(sharpStream);
+ * await Promise.all(promises);
+ *
+ * @returns {Sharp}
+ */
+function clone () {
+ // Clone existing options
+ const clone = this.constructor.call();
+ const { debuglog, queueListener, ...options } = this.options;
+ clone.options = structuredClone(options);
+ clone.options.debuglog = debuglog;
+ clone.options.queueListener = queueListener;
+ // Pass 'finish' event to clone for Stream-based input
+ if (this._isStreamInput()) {
+ this._whenStreamInFinished(() => {
+ // Clone inherits input data
+ this._flattenBufferIn();
+ clone.options.input.buffer = this.options.input.buffer;
+ clone.emit('finish');
+ });
+ }
+ return clone;
+}
+Object.assign(Sharp.prototype, { clone });
+
+/**
+ * Export constructor.
+ * @module Sharp
+ * @private
+ */
+module.exports = Sharp;
diff --git a/apps/api/.output/node_modules/sharp/dist/constructor.mjs b/apps/api/.output/node_modules/sharp/dist/constructor.mjs
new file mode 100644
index 0000000..f2b9869
--- /dev/null
+++ b/apps/api/.output/node_modules/sharp/dist/constructor.mjs
@@ -0,0 +1,511 @@
+/*!
+ Copyright 2013 Lovell Fuller and others.
+ SPDX-License-Identifier: Apache-2.0
+*/
+
+import util from 'node:util';
+import stream from 'node:stream';
+import is from './is.mjs';
+
+import './sharp.mjs';
+
+// Use NODE_DEBUG=sharp to enable libvips warnings
+const debuglog = util.debuglog('sharp');
+
+const queueListener = (queueLength) => {
+ Sharp.queue.emit('change', queueLength);
+};
+
+/**
+ * Constructor factory to create an instance of `sharp`, to which further methods are chained.
+ *
+ * JPEG, PNG, WebP, GIF, AVIF or TIFF format image data can be streamed out from this object.
+ * When using Stream based output, derived attributes are available from the `info` event.
+ *
+ * Non-critical problems encountered during processing are emitted as `warning` events.
+ *
+ * Implements the [stream.Duplex](http://nodejs.org/api/stream.html#stream_class_stream_duplex) class.
+ *
+ * When loading more than one page/frame of an animated image,
+ * these are combined as a vertically-stacked "toilet roll" image
+ * where the overall height is the `pageHeight` multiplied by the number of `pages`.
+ *
+ * @constructs Sharp
+ *
+ * @emits Sharp#info
+ * @emits Sharp#warning
+ *
+ * @example
+ * sharp('input.jpg')
+ * .resize(300, 200)
+ * .toFile('output.jpg', function(err) {
+ * // output.jpg is a 300 pixels wide and 200 pixels high image
+ * // containing a scaled and cropped version of input.jpg
+ * });
+ *
+ * @example
+ * // Read image data from remote URL,
+ * // resize to 300 pixels wide,
+ * // emit an 'info' event with calculated dimensions
+ * // and finally write image data to writableStream
+ * const { body } = await fetch('https://...');
+ * const readableStream = Readable.fromWeb(body);
+ * const transformer = sharp()
+ * .resize(300)
+ * .on('info', ({ height }) => {
+ * console.log(`Image height is ${height}`);
+ * });
+ * readableStream.pipe(transformer).pipe(writableStream);
+ *
+ * @example
+ * // Web Streams API, requires Node.js >= 24.15.0
+ * import { Duplex } from 'node:stream';
+ *
+ * const { body } = await fetch('https://...');
+ * const transformer = Duplex.toWeb(
+ * sharp().resize(300),
+ * { readableType: 'bytes' }
+ * );
+ * body.pipeThrough(transformer).pipeTo(writable);
+ *
+ * @example
+ * // Create a blank 300x200 PNG image of semi-translucent red pixels
+ * sharp({
+ * create: {
+ * width: 300,
+ * height: 200,
+ * channels: 4,
+ * background: { r: 255, g: 0, b: 0, alpha: 0.5 }
+ * }
+ * })
+ * .png()
+ * .toBuffer()
+ * .then( ... );
+ *
+ * @example
+ * // Convert an animated GIF to an animated WebP
+ * await sharp('in.gif', { animated: true }).toFile('out.webp');
+ *
+ * @example
+ * // Read a raw array of pixels and save it to a png
+ * const input = Uint8Array.from([255, 255, 255, 0, 0, 0]); // or Uint8ClampedArray
+ * const image = sharp(input, {
+ * // because the input does not contain its dimensions or how many channels it has
+ * // we need to specify it in the constructor options
+ * raw: {
+ * width: 2,
+ * height: 1,
+ * channels: 3
+ * }
+ * });
+ * await image.toFile('my-two-pixels.png');
+ *
+ * @example
+ * // Generate RGB Gaussian noise
+ * await sharp({
+ * create: {
+ * width: 300,
+ * height: 200,
+ * channels: 3,
+ * noise: {
+ * type: 'gaussian',
+ * mean: 128,
+ * sigma: 30
+ * }
+ * }
+ * }).toFile('noise.png');
+ *
+ * @example
+ * // Generate an image from text
+ * await sharp({
+ * text: {
+ * text: 'Hello, world!',
+ * width: 400, // max width
+ * height: 300 // max height
+ * }
+ * }).toFile('text_bw.png');
+ *
+ * @example
+ * // Generate an rgba image from text using pango markup and font
+ * await sharp({
+ * text: {
+ * text: 'Red! blue ',
+ * font: 'sans',
+ * rgba: true,
+ * dpi: 300
+ * }
+ * }).toFile('text_rgba.png');
+ *
+ * @example
+ * // Join four input images as a 2x2 grid with a 4 pixel gutter
+ * const data = await sharp(
+ * [image1, image2, image3, image4],
+ * { join: { across: 2, shim: 4 } }
+ * ).toBuffer();
+ *
+ * @example
+ * // Generate a two-frame animated image from emoji
+ * const images = ['😀', '😛'].map(text => ({
+ * text: { text, width: 64, height: 64, channels: 4, rgba: true }
+ * }));
+ * await sharp(images, { join: { animated: true } }).toFile('out.gif');
+ *
+ * @param {(Buffer|ArrayBuffer|Uint8Array|Uint8ClampedArray|Int8Array|Uint16Array|Int16Array|Uint32Array|Int32Array|Float32Array|Float64Array|string|Array)} [input] - if present, can be
+ * a Buffer / ArrayBuffer / Uint8Array / Uint8ClampedArray containing JPEG, PNG, WebP, AVIF, GIF, SVG or TIFF image data, or
+ * a TypedArray containing raw pixel image data, or
+ * a String containing the filesystem path to an JPEG, PNG, WebP, AVIF, GIF, SVG or TIFF image file.
+ * An array of inputs can be provided, and these will be joined together.
+ * JPEG, PNG, WebP, AVIF, GIF, SVG, TIFF or raw pixel image data can be streamed into the object when not present.
+ * @param {Object} [options] - if present, is an Object with optional attributes.
+ * @param {string} [options.failOn='warning'] - When to abort processing of invalid pixel data, one of (in order of sensitivity, least to most): 'none', 'truncated', 'error', 'warning'. Higher levels imply lower levels. Invalid metadata will always abort. Use the default 'warning' level with untrusted input.
+ * @param {number|boolean} [options.limitInputPixels=268402689] - Do not process input images where the number of pixels
+ * (width x height) exceeds this limit. Assumes image dimensions contained in the input metadata can be trusted.
+ * An integral Number of pixels, zero or false to remove limit, true to use default limit of 268402689 (0x3FFF x 0x3FFF).
+ * @param {number|boolean} [options.limitInputChannels=5] - Do not process input images where the number of channels exceeds this limit. Assumes image metadata can be trusted.
+ * An integral Number of channels, zero or false to remove limit, true to use default limit of 5.
+ * @param {boolean} [options.unlimited=false] - Set this to `true` to remove safety features that help prevent memory exhaustion (JPEG, PNG, SVG, HEIF).
+ * @param {boolean} [options.autoOrient=false] - Set this to `true` to rotate/flip the image to match EXIF `Orientation`, if any.
+ * @param {boolean} [options.sequentialRead=true] - Set this to `false` to use random access rather than sequential read. Some operations will do this automatically.
+ * @param {number} [options.density=72] - The DPI at which to render SVG and PDF images, in the range 1 to 100000.
+ * @param {number} [options.ignoreIcc=false] - should the embedded ICC profile, if any, be ignored.
+ * @param {number} [options.pages=1] - Number of pages to extract for multi-page input (GIF, WebP, TIFF), use -1 for all pages.
+ * @param {number} [options.page=0] - Page number to start extracting from for multi-page input (GIF, WebP, TIFF), zero based.
+ * @param {boolean} [options.animated=false] - Set to `true` to read all frames/pages of an animated image (GIF, WebP, TIFF), equivalent of setting `pages` to `-1`.
+ * @param {Object} [options.raw] - describes raw pixel input image data. See `raw()` for pixel ordering.
+ * @param {number} [options.raw.width] - integral number of pixels wide.
+ * @param {number} [options.raw.height] - integral number of pixels high.
+ * @param {number} [options.raw.channels] - integral number of channels, between 1 and 4.
+ * @param {boolean} [options.raw.premultiplied] - specifies that the raw input has already been premultiplied, set to `true`
+ * to avoid sharp premultiplying the image. (optional, default `false`)
+ * @param {number} [options.raw.pageHeight] - The pixel height of each page/frame for animated images, must be an integral factor of `raw.height`.
+ * @param {Object} [options.create] - describes a new image to be created.
+ * @param {number} [options.create.width] - integral number of pixels wide.
+ * @param {number} [options.create.height] - integral number of pixels high.
+ * @param {number} [options.create.channels] - integral number of channels, either 3 (RGB) or 4 (RGBA).
+ * @param {string|Object} [options.create.background] - parsed by the [color](https://www.npmjs.org/package/color) module to extract values for red, green, blue and alpha.
+ * @param {number} [options.create.pageHeight] - The pixel height of each page/frame for animated images, must be an integral factor of `create.height`.
+ * @param {Object} [options.create.noise] - describes a noise to be created.
+ * @param {string} [options.create.noise.type] - type of generated noise, currently only `gaussian` is supported.
+ * @param {number} [options.create.noise.mean=128] - Mean value of pixels in the generated noise.
+ * @param {number} [options.create.noise.sigma=30] - Standard deviation of pixel values in the generated noise.
+ * @param {Object} [options.text] - describes a new text image to be created.
+ * @param {string} [options.text.text] - text to render as a UTF-8 string. It can contain Pango markup, for example `Le Monde`.
+ * @param {string} [options.text.font] - font name to render with.
+ * @param {string} [options.text.fontfile] - absolute filesystem path to a font file that can be used by `font`.
+ * @param {number} [options.text.width=0] - Integral number of pixels to word-wrap at. Lines of text wider than this will be broken at word boundaries.
+ * @param {number} [options.text.height=0] - Maximum integral number of pixels high. When defined, `dpi` will be ignored and the text will automatically fit the pixel resolution defined by `width` and `height`. Will be ignored if `width` is not specified or set to 0.
+ * @param {string} [options.text.align='left'] - Alignment style for multi-line text (`'left'`, `'centre'`, `'center'`, `'right'`).
+ * @param {boolean} [options.text.justify=false] - set this to true to apply justification to the text.
+ * @param {number} [options.text.dpi=72] - the resolution (size) at which to render the text. Does not take effect if `height` is specified.
+ * @param {boolean} [options.text.rgba=false] - set this to true to enable RGBA output. This is useful for colour emoji rendering, or support for pango markup features like `Red! `.
+ * @param {number} [options.text.spacing=0] - text line height in points. Will use the font line height if none is specified.
+ * @param {string} [options.text.wrap='word'] - word wrapping style when width is provided, one of: 'word', 'char', 'word-char' (prefer word, fallback to char) or 'none'.
+ * @param {Object} [options.join] - describes how an array of input images should be joined.
+ * @param {number} [options.join.across=1] - number of images to join horizontally.
+ * @param {boolean} [options.join.animated=false] - set this to `true` to join the images as an animated image.
+ * @param {number} [options.join.shim=0] - number of pixels to insert between joined images.
+ * @param {string|Object} [options.join.background] - parsed by the [color](https://www.npmjs.org/package/color) module to extract values for red, green, blue and alpha.
+ * @param {string} [options.join.halign='left'] - horizontal alignment style for images joined horizontally (`'left'`, `'centre'`, `'center'`, `'right'`).
+ * @param {string} [options.join.valign='top'] - vertical alignment style for images joined vertically (`'top'`, `'centre'`, `'center'`, `'bottom'`).
+ * @param {Object} [options.tiff] - Describes TIFF specific options.
+ * @param {number} [options.tiff.subifd=-1] - Sub Image File Directory to extract for OME-TIFF, defaults to main image.
+ * @param {Object} [options.svg] - Describes SVG specific options.
+ * @param {string} [options.svg.stylesheet] - Custom CSS for SVG input, applied with a User Origin during the CSS cascade.
+ * @param {boolean} [options.svg.highBitdepth=false] - Set to `true` to render SVG input at 32-bits per channel (128-bit) instead of 8-bits per channel (32-bit) RGBA.
+ * @param {Object} [options.pdf] - Describes PDF specific options. Requires the use of a globally-installed libvips compiled with support for PDFium, Poppler, ImageMagick or GraphicsMagick.
+ * @param {string|Object} [options.pdf.background] - Background colour to use when PDF is partially transparent. Parsed by the [color](https://www.npmjs.org/package/color) module to extract values for red, green, blue and alpha.
+ * @param {Object} [options.openSlide] - Describes OpenSlide specific options. Requires the use of a globally-installed libvips compiled with support for OpenSlide.
+ * @param {number} [options.openSlide.level=0] - Level to extract from a multi-level input, zero based.
+ * @param {Object} [options.jp2] - Describes JPEG 2000 specific options. Requires the use of a globally-installed libvips compiled with support for OpenJPEG.
+ * @param {boolean} [options.jp2.oneshot=false] - Set to `true` to decode tiled JPEG 2000 images in a single operation, improving compatibility.
+ * @returns {Sharp}
+ * @throws {Error} Invalid parameters
+ */
+const Sharp = function (input, options) {
+ // biome-ignore lint/complexity/noArguments: constructor factory
+ if (arguments.length === 1 && !is.defined(input)) {
+ throw new Error('Invalid input');
+ }
+ if (!(this instanceof Sharp)) {
+ return new Sharp(input, options);
+ }
+ stream.Duplex.call(this);
+ this.options = {
+ // resize options
+ topOffsetPre: -1,
+ leftOffsetPre: -1,
+ widthPre: -1,
+ heightPre: -1,
+ topOffsetPost: -1,
+ leftOffsetPost: -1,
+ widthPost: -1,
+ heightPost: -1,
+ width: -1,
+ height: -1,
+ canvas: 'crop',
+ position: 0,
+ resizeBackground: [0, 0, 0, 255],
+ angle: 0,
+ rotationAngle: 0,
+ rotationBackground: [0, 0, 0, 255],
+ rotateBefore: false,
+ orientBefore: false,
+ flip: false,
+ flop: false,
+ extendTop: 0,
+ extendBottom: 0,
+ extendLeft: 0,
+ extendRight: 0,
+ extendBackground: [0, 0, 0, 255],
+ extendWith: 'background',
+ withoutEnlargement: false,
+ withoutReduction: false,
+ affineMatrix: [],
+ affineBackground: [0, 0, 0, 255],
+ affineIdx: 0,
+ affineIdy: 0,
+ affineOdx: 0,
+ affineOdy: 0,
+ affineInterpolator: this.constructor.interpolators.bilinear,
+ kernel: 'lanczos3',
+ fastShrinkOnLoad: true,
+ // operations
+ tint: [-1, 0, 0, 0],
+ flatten: false,
+ flattenBackground: [0, 0, 0],
+ unflatten: false,
+ negate: false,
+ negateAlpha: true,
+ medianSize: 0,
+ blurSigma: 0,
+ precision: 'integer',
+ minAmpl: 0.2,
+ sharpenSigma: 0,
+ sharpenM1: 1,
+ sharpenM2: 2,
+ sharpenX1: 2,
+ sharpenY2: 10,
+ sharpenY3: 20,
+ threshold: 0,
+ thresholdGrayscale: true,
+ trimBackground: [],
+ trimThreshold: -1,
+ trimLineArt: false,
+ trimMargin: 0,
+ dilateWidth: 0,
+ erodeWidth: 0,
+ gamma: 0,
+ gammaOut: 0,
+ greyscale: false,
+ normalise: false,
+ normaliseLower: 1,
+ normaliseUpper: 99,
+ claheWidth: 0,
+ claheHeight: 0,
+ claheMaxSlope: 3,
+ brightness: 1,
+ saturation: 1,
+ hue: 0,
+ lightness: 0,
+ booleanBufferIn: null,
+ booleanFileIn: '',
+ joinChannelIn: [],
+ extractChannel: -1,
+ removeAlpha: false,
+ ensureAlpha: -1,
+ colourspace: 'srgb',
+ colourspacePipeline: 'last',
+ composite: [],
+ // output
+ fileOut: '',
+ formatOut: 'input',
+ streamOut: false,
+ typedArrayOut: false,
+ keepMetadata: 0,
+ withMetadataOrientation: -1,
+ withMetadataDensity: 0,
+ withIccProfile: '',
+ withExif: {},
+ withExifMerge: true,
+ withXmp: '',
+ keepGainMap: false,
+ withGainMap: false,
+ resolveWithObject: false,
+ loop: -1,
+ delay: [],
+ // output format
+ jpegQuality: 80,
+ jpegProgressive: false,
+ jpegChromaSubsampling: '4:2:0',
+ jpegTrellisQuantisation: false,
+ jpegOvershootDeringing: false,
+ jpegOptimiseScans: false,
+ jpegOptimiseCoding: true,
+ jpegQuantisationTable: 0,
+ pngProgressive: false,
+ pngCompressionLevel: 6,
+ pngAdaptiveFiltering: false,
+ pngPalette: false,
+ pngQuality: 100,
+ pngEffort: 7,
+ pngBitdepth: 8,
+ pngDither: 1,
+ jp2Quality: 80,
+ jp2TileHeight: 512,
+ jp2TileWidth: 512,
+ jp2Lossless: false,
+ jp2ChromaSubsampling: '4:4:4',
+ webpQuality: 80,
+ webpAlphaQuality: 100,
+ webpLossless: false,
+ webpNearLossless: false,
+ webpSmartSubsample: false,
+ webpSmartDeblock: false,
+ webpPreset: 'default',
+ webpEffort: 4,
+ webpMinSize: false,
+ webpMixed: false,
+ webpExact: false,
+ gifBitdepth: 8,
+ gifEffort: 7,
+ gifDither: 1,
+ gifInterFrameMaxError: 0,
+ gifInterPaletteMaxError: 3,
+ gifKeepDuplicateFrames: false,
+ gifReuse: true,
+ gifProgressive: false,
+ tiffQuality: 80,
+ tiffCompression: 'jpeg',
+ tiffBigtiff: false,
+ tiffPredictor: 'horizontal',
+ tiffPyramid: false,
+ tiffMiniswhite: false,
+ tiffBitdepth: 0,
+ tiffTile: false,
+ tiffTileHeight: 256,
+ tiffTileWidth: 256,
+ tiffXres: 1.0,
+ tiffYres: 1.0,
+ tiffResolutionUnit: 'inch',
+ heifQuality: 50,
+ heifLossless: false,
+ heifCompression: 'av1',
+ heifEffort: 4,
+ heifChromaSubsampling: '4:4:4',
+ heifBitdepth: 8,
+ heifTune: 'auto',
+ jxlDistance: 1,
+ jxlDecodingTier: 0,
+ jxlEffort: 7,
+ jxlLossless: false,
+ rawDepth: 'uchar',
+ tileSize: 256,
+ tileOverlap: 0,
+ tileContainer: 'fs',
+ tileLayout: 'dz',
+ tileFormat: 'last',
+ tileDepth: 'last',
+ tileAngle: 0,
+ tileSkipBlanks: -1,
+ tileBackground: [255, 255, 255, 255],
+ tileCentre: false,
+ tileId: 'https://example.com/iiif',
+ tileBasename: '',
+ timeoutSeconds: 0,
+ linearA: [],
+ linearB: [],
+ pdfBackground: [255, 255, 255, 255],
+ // Function to notify of libvips warnings
+ debuglog: warning => {
+ this.emit('warning', warning);
+ debuglog(warning);
+ },
+ // Function to notify of queue length changes
+ queueListener
+ };
+ this.options.input = this._createInputDescriptor(input, options, { allowStream: true });
+ return this;
+};
+Object.setPrototypeOf(Sharp.prototype, stream.Duplex.prototype);
+Object.setPrototypeOf(Sharp, stream.Duplex);
+
+/**
+ * Take a "snapshot" of the Sharp instance, returning a new instance.
+ * Cloned instances inherit the input of their parent instance.
+ * This allows multiple output Streams and therefore multiple processing pipelines to share a single input Stream.
+ *
+ * @example
+ * // firstWritableStream receives auto-rotated, resized readableStream
+ * // secondWritableStream receives auto-rotated, extracted region of readableStream
+ *
+ * const pipeline = sharp().rotate();
+ * pipeline
+ * .clone()
+ * .resize(800, 600)
+ * .pipe(firstWritableStream);
+ * pipeline
+ * .clone()
+ * .extract({ left: 20, top: 20, width: 100, height: 100 })
+ * .pipe(secondWritableStream);
+ * readableStream.pipe(pipeline);
+ *
+ * @example
+ * // Create a pipeline that will download an image, resize it and format it to different files
+ * // Using Promises to know when the pipeline is complete
+ *
+ * const sharpStream = sharp();
+ *
+ * const promises = [];
+ * promises.push(
+ * sharpStream
+ * .clone()
+ * .jpeg({ quality: 100 })
+ * .toFile("originalFile.jpg")
+ * );
+ * promises.push(
+ * sharpStream
+ * .clone()
+ * .resize({ width: 500 })
+ * .jpeg({ quality: 80 })
+ * .toFile("optimized-500.jpg")
+ * );
+ * promises.push(
+ * sharpStream
+ * .clone()
+ * .resize({ width: 500 })
+ * .webp({ quality: 80 })
+ * .toFile("optimized-500.webp")
+ * );
+ *
+ * const res = await fetch("https://www.example.com/some-file.jpg")
+ * Readable.fromWeb(res.body).pipe(sharpStream);
+ * await Promise.all(promises);
+ *
+ * @returns {Sharp}
+ */
+function clone () {
+ // Clone existing options
+ const clone = this.constructor.call();
+ const { debuglog, queueListener, ...options } = this.options;
+ clone.options = structuredClone(options);
+ clone.options.debuglog = debuglog;
+ clone.options.queueListener = queueListener;
+ // Pass 'finish' event to clone for Stream-based input
+ if (this._isStreamInput()) {
+ this._whenStreamInFinished(() => {
+ // Clone inherits input data
+ this._flattenBufferIn();
+ clone.options.input.buffer = this.options.input.buffer;
+ clone.emit('finish');
+ });
+ }
+ return clone;
+}
+Object.assign(Sharp.prototype, { clone });
+
+/**
+ * Export constructor.
+ * @module Sharp
+ * @private
+ */
+export default Sharp;
diff --git a/apps/api/.output/node_modules/sharp/dist/index.cjs b/apps/api/.output/node_modules/sharp/dist/index.cjs
new file mode 100644
index 0000000..dc07e92
--- /dev/null
+++ b/apps/api/.output/node_modules/sharp/dist/index.cjs
@@ -0,0 +1,25 @@
+/*!
+ Copyright 2013 Lovell Fuller and others.
+ SPDX-License-Identifier: Apache-2.0
+*/
+
+const Sharp = require('./constructor.cjs');
+const input = require('./input.cjs');
+const resize = require('./resize.cjs');
+const composite = require('./composite.cjs');
+const operation = require('./operation.cjs');
+const colour = require('./colour.cjs');
+const channel = require('./channel.cjs');
+const output = require('./output.cjs');
+const utility = require('./utility.cjs');
+
+input(Sharp);
+resize(Sharp);
+composite(Sharp);
+operation(Sharp);
+colour(Sharp);
+channel(Sharp);
+output(Sharp);
+utility(Sharp);
+
+module.exports = Sharp;
diff --git a/apps/api/.output/node_modules/sharp/dist/index.d.cts b/apps/api/.output/node_modules/sharp/dist/index.d.cts
new file mode 100644
index 0000000..470889a
--- /dev/null
+++ b/apps/api/.output/node_modules/sharp/dist/index.d.cts
@@ -0,0 +1,1999 @@
+/**
+ * Copyright 2017 François Nguyen and others.
+ *
+ * Billy Kwok
+ * Bradley Odell
+ * Espen Hovlandsdal
+ * Floris de Bijl
+ * François Nguyen
+ * Jamie Woodbury
+ * Wooseop Kim
+ *
+ * Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated
+ * documentation files (the "Software"), to deal in the Software without restriction, including without limitation
+ * the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to
+ * permit persons to whom the Software is furnished to do so, subject to the following conditions:
+ *
+ * The above copyright notice and this permission notice shall be included in all copies or substantial portions of
+ * the Software.
+ *
+ * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE
+ * WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR
+ * COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR
+ * OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
+ */
+
+// SPDX-License-Identifier: MIT
+
+///
+
+declare type Duplex = import('node:stream').Duplex;
+declare type ColorLike = import('@img/colour').ColorLike;
+
+//#region Constructor functions
+
+/**
+ * Creates a sharp instance from an image
+ * @param input Buffer containing JPEG, PNG, WebP, AVIF, GIF, SVG, TIFF or raw pixel image data, or String containing the path to an JPEG, PNG, WebP, AVIF, GIF, SVG or TIFF image file.
+ * @param options Object with optional attributes.
+ * @throws {Error} Invalid parameters
+ * @returns A sharp instance that can be used to chain operations
+ */
+declare function sharp(options?: sharp.SharpOptions): sharp.Sharp;
+declare function sharp(
+ input?: sharp.SharpInput | Array,
+ options?: sharp.SharpOptions,
+): sharp.Sharp;
+
+declare namespace sharp {
+ /** Object containing nested boolean values representing the available input and output formats/methods. */
+ const format: FormatEnum;
+
+ /** An Object containing the version numbers of sharp, libvips and its dependencies. */
+ const versions: {
+ aom?: string | undefined;
+ archive?: string | undefined;
+ cairo?: string | undefined;
+ cgif?: string | undefined;
+ exif?: string | undefined;
+ expat?: string | undefined;
+ ffi?: string | undefined;
+ fontconfig?: string | undefined;
+ freetype?: string | undefined;
+ fribidi?: string | undefined;
+ glib?: string | undefined;
+ harfbuzz?: string | undefined;
+ heif?: string | undefined;
+ highway?: string | undefined;
+ imagequant?: string | undefined;
+ lcms?: string | undefined;
+ mozjpeg?: string | undefined;
+ pango?: string | undefined;
+ pixman?: string | undefined;
+ png?: string | undefined;
+ "proxy-libintl"?: string | undefined;
+ rsvg?: string | undefined;
+ sharp: string;
+ spng?: string | undefined;
+ tiff?: string | undefined;
+ vips: string;
+ webp?: string | undefined;
+ xml?: string | undefined;
+ "zlib-ng"?: string | undefined;
+ };
+
+ /** An Object containing the available interpolators and their proper values */
+ const interpolators: Interpolators;
+
+ /** An EventEmitter that emits a change event when a task is either queued, waiting for libuv to provide a worker thread, complete */
+ const queue: NodeJS.EventEmitter;
+
+ //#endregion
+
+ //#region Utility functions
+
+ /**
+ * Gets or, when options are provided, sets the limits of libvips' operation cache.
+ * Existing entries in the cache will be trimmed after any change in limits.
+ * This method always returns cache statistics, useful for determining how much working memory is required for a particular task.
+ * @param options Object with the following attributes, or Boolean where true uses default cache settings and false removes all caching (optional, default true)
+ * @returns The cache results.
+ */
+ function cache(options?: boolean | CacheOptions): CacheResult;
+
+ /**
+ * Gets or sets the number of threads libvips' should create to process each image.
+ * The default value is the number of CPU cores. A value of 0 will reset to this default.
+ * The maximum number of images that can be processed in parallel is limited by libuv's UV_THREADPOOL_SIZE environment variable.
+ * @param concurrency The new concurrency value.
+ * @returns The current concurrency value.
+ */
+ function concurrency(concurrency?: number): number;
+
+ /**
+ * Provides access to internal task counters.
+ * @returns Object containing task counters
+ */
+ function counters(): SharpCounters;
+
+ /**
+ * Get and set use of SIMD vector unit instructions. Requires libvips to have been compiled with highway support.
+ * Improves the performance of resize, blur and sharpen operations by taking advantage of the SIMD vector unit of the CPU, e.g. Intel SSE and ARM NEON.
+ * @param enable enable or disable use of SIMD vector unit instructions
+ * @returns true if usage of SIMD vector unit instructions is enabled
+ */
+ function simd(enable?: boolean): boolean;
+
+ /**
+ * Block libvips operations at runtime.
+ *
+ * This is in addition to the `VIPS_BLOCK_UNTRUSTED` environment variable,
+ * which when set will block all "untrusted" operations.
+ *
+ * @since 0.32.4
+ *
+ * @example Block all TIFF input.
+ * sharp.block({
+ * operation: ['VipsForeignLoadTiff']
+ * });
+ *
+ * @param {Object} options
+ * @param {Array} options.operation - List of libvips low-level operation names to block.
+ */
+ function block(options: { operation: string[] }): void;
+
+ /**
+ * Unblock libvips operations at runtime.
+ *
+ * This is useful for defining a list of allowed operations.
+ *
+ * @since 0.32.4
+ *
+ * @example Block all input except WebP from the filesystem.
+ * sharp.block({
+ * operation: ['VipsForeignLoad']
+ * });
+ * sharp.unblock({
+ * operation: ['VipsForeignLoadWebpFile']
+ * });
+ *
+ * @example Block all input except JPEG and PNG from a Buffer or Stream.
+ * sharp.block({
+ * operation: ['VipsForeignLoad']
+ * });
+ * sharp.unblock({
+ * operation: ['VipsForeignLoadJpegBuffer', 'VipsForeignLoadPngBuffer']
+ * });
+ *
+ * @param {Object} options
+ * @param {Array} options.operation - List of libvips low-level operation names to unblock.
+ */
+ function unblock(options: { operation: string[] }): void;
+
+ //#endregion
+
+ const gravity: GravityEnum;
+ const strategy: StrategyEnum;
+ const kernel: KernelEnum;
+ const fit: FitEnum;
+ const bool: BoolEnum;
+
+ interface Sharp extends Duplex {
+ //#region Channel functions
+
+ /**
+ * Remove alpha channel, if any. This is a no-op if the image does not have an alpha channel.
+ * @returns A sharp instance that can be used to chain operations
+ */
+ removeAlpha(): Sharp;
+
+ /**
+ * Ensure alpha channel, if missing. The added alpha channel will be fully opaque. This is a no-op if the image already has an alpha channel.
+ * @param alpha transparency level (0=fully-transparent, 1=fully-opaque) (optional, default 1).
+ * @returns A sharp instance that can be used to chain operations
+ */
+ ensureAlpha(alpha?: number): Sharp;
+
+ /**
+ * Extract a single channel from a multi-channel image.
+ * @param channel zero-indexed channel/band number to extract, or red, green, blue or alpha.
+ * @throws {Error} Invalid channel
+ * @returns A sharp instance that can be used to chain operations
+ */
+ extractChannel(channel: 0 | 1 | 2 | 3 | 'red' | 'green' | 'blue' | 'alpha'): Sharp;
+
+ /**
+ * Join one or more channels to the image. The meaning of the added channels depends on the output colourspace, set with toColourspace().
+ * By default the output image will be web-friendly sRGB, with additional channels interpreted as alpha channels. Channel ordering follows vips convention:
+ * - sRGB: 0: Red, 1: Green, 2: Blue, 3: Alpha.
+ * - CMYK: 0: Magenta, 1: Cyan, 2: Yellow, 3: Black, 4: Alpha.
+ *
+ * Buffers may be any of the image formats supported by sharp.
+ * For raw pixel input, the options object should contain a raw attribute, which follows the format of the attribute of the same name in the sharp() constructor.
+ * @param images one or more images (file paths, Buffers).
+ * @param options image options, see sharp() constructor.
+ * @throws {Error} Invalid parameters
+ * @returns A sharp instance that can be used to chain operations
+ */
+ joinChannel(images: string | Buffer | ArrayLike, options?: SharpOptions): Sharp;
+
+ /**
+ * Perform a bitwise boolean operation on all input image channels (bands) to produce a single channel output image.
+ * @param boolOp one of "and", "or" or "eor" to perform that bitwise operation, like the C logic operators &, | and ^ respectively.
+ * @throws {Error} Invalid parameters
+ * @returns A sharp instance that can be used to chain operations
+ */
+ bandbool(boolOp: keyof BoolEnum): Sharp;
+
+ //#endregion
+
+ //#region Color functions
+
+ /**
+ * Tint the image using the provided colour.
+ * An alpha channel may be present and will be unchanged by the operation.
+ * @param tint Parsed by the color module.
+ * @returns A sharp instance that can be used to chain operations
+ */
+ tint(tint: ColorLike): Sharp;
+
+ /**
+ * Convert to 8-bit greyscale; 256 shades of grey.
+ * This is a linear operation.
+ * If the input image is in a non-linear colour space such as sRGB, use gamma() with greyscale() for the best results.
+ * By default the output image will be web-friendly sRGB and contain three (identical) colour channels.
+ * This may be overridden by other sharp operations such as toColourspace('b-w'), which will produce an output image containing one colour channel.
+ * An alpha channel may be present, and will be unchanged by the operation.
+ * @param greyscale true to enable and false to disable (defaults to true)
+ * @returns A sharp instance that can be used to chain operations
+ */
+ greyscale(greyscale?: boolean): Sharp;
+
+ /**
+ * Alternative spelling of greyscale().
+ * @param grayscale true to enable and false to disable (defaults to true)
+ * @returns A sharp instance that can be used to chain operations
+ */
+ grayscale(grayscale?: boolean): Sharp;
+
+ /**
+ * Set the pipeline colourspace.
+ * The input image will be converted to the provided colourspace at the start of the pipeline.
+ * All operations will use this colourspace before converting to the output colourspace, as defined by toColourspace.
+ *
+ * @param colourspace pipeline colourspace e.g. rgb16, scrgb, lab, grey16 ...
+ * @throws {Error} Invalid parameters
+ * @returns A sharp instance that can be used to chain operations
+ */
+ pipelineColourspace(colourspace?: string): Sharp;
+
+ /**
+ * Alternative spelling of pipelineColourspace
+ * @param colorspace pipeline colourspace e.g. rgb16, scrgb, lab, grey16 ...
+ * @throws {Error} Invalid parameters
+ * @returns A sharp instance that can be used to chain operations
+ */
+ pipelineColorspace(colorspace?: string): Sharp;
+
+ /**
+ * Set the output colourspace.
+ * By default output image will be web-friendly sRGB, with additional channels interpreted as alpha channels.
+ * @param colourspace output colourspace e.g. srgb, rgb, cmyk, lab, b-w ...
+ * @throws {Error} Invalid parameters
+ * @returns A sharp instance that can be used to chain operations
+ */
+ toColourspace(colourspace?: string): Sharp;
+
+ /**
+ * Alternative spelling of toColourspace().
+ * @param colorspace output colorspace e.g. srgb, rgb, cmyk, lab, b-w ...
+ * @throws {Error} Invalid parameters
+ * @returns A sharp instance that can be used to chain operations
+ */
+ toColorspace(colorspace: string): Sharp;
+
+ //#endregion
+
+ //#region Composite functions
+
+ /**
+ * Composite image(s) over the processed (resized, extracted etc.) image.
+ *
+ * The images to composite must be the same size or smaller than the processed image.
+ * If both `top` and `left` options are provided, they take precedence over `gravity`.
+ * @param images - Ordered list of images to composite
+ * @throws {Error} Invalid parameters
+ * @returns A sharp instance that can be used to chain operations
+ */
+ composite(images: OverlayOptions[]): Sharp;
+
+ //#endregion
+
+ //#region Input functions
+
+ /**
+ * Take a "snapshot" of the Sharp instance, returning a new instance.
+ * Cloned instances inherit the input of their parent instance.
+ * This allows multiple output Streams and therefore multiple processing pipelines to share a single input Stream.
+ * @returns A sharp instance that can be used to chain operations
+ */
+ clone(): Sharp;
+
+ /**
+ * Fast access to (uncached) image metadata without decoding any compressed image data.
+ * @returns A sharp instance that can be used to chain operations
+ */
+ metadata(callback: (err: Error, metadata: Metadata) => void): Sharp;
+
+ /**
+ * Fast access to (uncached) image metadata without decoding any compressed image data.
+ * @returns A promise that resolves with a metadata object
+ */
+ metadata(): Promise;
+
+ /**
+ * Keep all metadata (EXIF, ICC, XMP, IPTC) from the input image in the output image.
+ * @returns A sharp instance that can be used to chain operations
+ */
+ keepMetadata(): Sharp;
+
+ /**
+ * Access to pixel-derived image statistics for every channel in the image.
+ * @returns A sharp instance that can be used to chain operations
+ */
+ stats(callback: (err: Error, stats: Stats) => void): Sharp;
+
+ /**
+ * Access to pixel-derived image statistics for every channel in the image.
+ * @returns A promise that resolves with a stats object
+ */
+ stats(): Promise;
+
+ //#endregion
+
+ //#region Operation functions
+
+ /**
+ * Rotate the output image by either an explicit angle
+ * or auto-orient based on the EXIF `Orientation` tag.
+ *
+ * If an angle is provided, it is converted to a valid positive degree rotation.
+ * For example, `-450` will produce a 270 degree rotation.
+ *
+ * When rotating by an angle other than a multiple of 90,
+ * the background colour can be provided with the `background` option.
+ *
+ * If no angle is provided, it is determined from the EXIF data.
+ * Mirroring is supported and may infer the use of a flip operation.
+ *
+ * The use of `rotate` without an angle will remove the EXIF `Orientation` tag, if any.
+ *
+ * Only one rotation can occur per pipeline (aside from an initial call without
+ * arguments to orient via EXIF data). Previous calls to `rotate` in the same
+ * pipeline will be ignored.
+ *
+ * Multi-page images can only be rotated by 180 degrees.
+ *
+ * Method order is important when rotating, resizing and/or extracting regions,
+ * for example `.rotate(x).extract(y)` will produce a different result to `.extract(y).rotate(x)`.
+ *
+ * @example
+ * const pipeline = sharp()
+ * .rotate()
+ * .resize(null, 200)
+ * .toBuffer(function (err, outputBuffer, info) {
+ * // outputBuffer contains 200px high JPEG image data,
+ * // auto-rotated using EXIF Orientation tag
+ * // info.width and info.height contain the dimensions of the resized image
+ * });
+ * readableStream.pipe(pipeline);
+ *
+ * @example
+ * const rotateThenResize = await sharp(input)
+ * .rotate(90)
+ * .resize({ width: 16, height: 8, fit: 'fill' })
+ * .toBuffer();
+ * const resizeThenRotate = await sharp(input)
+ * .resize({ width: 16, height: 8, fit: 'fill' })
+ * .rotate(90)
+ * .toBuffer();
+ *
+ * @param {number} [angle=auto] angle of rotation.
+ * @param {Object} [options] - if present, is an Object with optional attributes.
+ * @param {string|Object} [options.background="#000000"] parsed by the [color](https://www.npmjs.org/package/color) module to extract values for red, green, blue and alpha.
+ * @returns {Sharp}
+ * @throws {Error} Invalid parameters
+ */
+ rotate(angle?: number, options?: RotateOptions): Sharp;
+
+ /**
+ * Alias for calling `rotate()` with no arguments, which orients the image based
+ * on EXIF orientsion.
+ *
+ * This operation is aliased to emphasize its purpose, helping to remove any
+ * confusion between rotation and orientation.
+ *
+ * @example
+ * const output = await sharp(input).autoOrient().toBuffer();
+ *
+ * @returns {Sharp}
+ */
+ autoOrient(): Sharp
+
+ /**
+ * Flip the image about the vertical Y axis. This always occurs after rotation, if any.
+ * The use of flip implies the removal of the EXIF Orientation tag, if any.
+ * @param flip true to enable and false to disable (defaults to true)
+ * @returns A sharp instance that can be used to chain operations
+ */
+ flip(flip?: boolean): Sharp;
+
+ /**
+ * Flop the image about the horizontal X axis. This always occurs after rotation, if any.
+ * The use of flop implies the removal of the EXIF Orientation tag, if any.
+ * @param flop true to enable and false to disable (defaults to true)
+ * @returns A sharp instance that can be used to chain operations
+ */
+ flop(flop?: boolean): Sharp;
+
+ /**
+ * Perform an affine transform on an image. This operation will always occur after resizing, extraction and rotation, if any.
+ * You must provide an array of length 4 or a 2x2 affine transformation matrix.
+ * By default, new pixels are filled with a black background. You can provide a background colour with the `background` option.
+ * A particular interpolator may also be specified. Set the `interpolator` option to an attribute of the `sharp.interpolators` Object e.g. `sharp.interpolators.nohalo`.
+ *
+ * In the case of a 2x2 matrix, the transform is:
+ * X = matrix[0, 0] * (x + idx) + matrix[0, 1] * (y + idy) + odx
+ * Y = matrix[1, 0] * (x + idx) + matrix[1, 1] * (y + idy) + ody
+ *
+ * where:
+ *
+ * x and y are the coordinates in input image.
+ * X and Y are the coordinates in output image.
+ * (0,0) is the upper left corner.
+ *
+ * @param matrix Affine transformation matrix, may either by a array of length four or a 2x2 matrix array
+ * @param options if present, is an Object with optional attributes.
+ *
+ * @returns A sharp instance that can be used to chain operations
+ */
+ affine(matrix: [number, number, number, number] | Matrix2x2, options?: AffineOptions): Sharp;
+
+ /**
+ * Sharpen the image.
+ * When used without parameters, performs a fast, mild sharpen of the output image.
+ * When a sigma is provided, performs a slower, more accurate sharpen of the L channel in the LAB colour space.
+ * Fine-grained control over the level of sharpening in "flat" (m1) and "jagged" (m2) areas is available.
+ * @param options if present, is an Object with optional attributes
+ * @throws {Error} Invalid parameters
+ * @returns A sharp instance that can be used to chain operations
+ */
+ sharpen(options?: SharpenOptions): Sharp;
+
+ /**
+ * Apply median filter. When used without parameters the default window is 3x3.
+ * @param size square mask size: size x size (optional, default 3)
+ * @throws {Error} Invalid parameters
+ * @returns A sharp instance that can be used to chain operations
+ */
+ median(size?: number): Sharp;
+
+ /**
+ * Blur the image.
+ * When used without parameters, performs a fast, mild blur of the output image.
+ * When a sigma is provided, performs a slower, more accurate Gaussian blur.
+ * When a boolean sigma is provided, ether blur mild or disable blur
+ * @param sigma a value between 0.3 and 1000 representing the sigma of the Gaussian mask, where sigma = 1 + radius / 2.
+ * @throws {Error} Invalid parameters
+ * @returns A sharp instance that can be used to chain operations
+ */
+ blur(sigma?: number | boolean | BlurOptions): Sharp;
+
+ /**
+ * Expand foreground objects using the dilate morphological operator.
+ * @param {Number} [width=1] dilation width in pixels.
+ * @throws {Error} Invalid parameters
+ * @returns A sharp instance that can be used to chain operations
+ */
+ dilate(width?: number): Sharp;
+
+ /**
+ * Shrink foreground objects using the erode morphological operator.
+ * @param {Number} [width=1] erosion width in pixels.
+ * @throws {Error} Invalid parameters
+ * @returns A sharp instance that can be used to chain operations
+ */
+ erode(width?: number): Sharp;
+
+ /**
+ * Merge alpha transparency channel, if any, with background.
+ * @param flatten true to enable and false to disable (defaults to true)
+ * @returns A sharp instance that can be used to chain operations
+ */
+ flatten(flatten?: boolean | FlattenOptions): Sharp;
+
+ /**
+ * Ensure the image has an alpha channel with all white pixel values made fully transparent.
+ * Existing alpha channel values for non-white pixels remain unchanged.
+ * @returns A sharp instance that can be used to chain operations
+ */
+ unflatten(): Sharp;
+
+ /**
+ * Apply a gamma correction by reducing the encoding (darken) pre-resize at a factor of 1/gamma then increasing the encoding (brighten) post-resize at a factor of gamma.
+ * This can improve the perceived brightness of a resized image in non-linear colour spaces.
+ * JPEG and WebP input images will not take advantage of the shrink-on-load performance optimisation when applying a gamma correction.
+ * Supply a second argument to use a different output gamma value, otherwise the first value is used in both cases.
+ * @param gamma value between 1.0 and 3.0. (optional, default 2.2)
+ * @param gammaOut value between 1.0 and 3.0. (optional, defaults to same as gamma)
+ * @throws {Error} Invalid parameters
+ * @returns A sharp instance that can be used to chain operations
+ */
+ gamma(gamma?: number, gammaOut?: number): Sharp;
+
+ /**
+ * Produce the "negative" of the image.
+ * @param negate true to enable and false to disable, or an object of options (defaults to true)
+ * @returns A sharp instance that can be used to chain operations
+ */
+ negate(negate?: boolean | NegateOptions): Sharp;
+
+ /**
+ * Enhance output image contrast by stretching its luminance to cover a full dynamic range.
+ *
+ * Uses a histogram-based approach, taking a default range of 1% to 99% to reduce sensitivity to noise at the extremes.
+ *
+ * Luminance values below the `lower` percentile will be underexposed by clipping to zero.
+ * Luminance values above the `upper` percentile will be overexposed by clipping to the max pixel value.
+ *
+ * @param normalise options
+ * @throws {Error} Invalid parameters
+ * @returns A sharp instance that can be used to chain operations
+ */
+ normalise(normalise?: NormaliseOptions): Sharp;
+
+ /**
+ * Alternative spelling of normalise.
+ * @param normalize options
+ * @throws {Error} Invalid parameters
+ * @returns A sharp instance that can be used to chain operations
+ */
+ normalize(normalize?: NormaliseOptions): Sharp;
+
+ /**
+ * Perform contrast limiting adaptive histogram equalization (CLAHE)
+ *
+ * This will, in general, enhance the clarity of the image by bringing out
+ * darker details. Please read more about CLAHE here:
+ * https://en.wikipedia.org/wiki/Adaptive_histogram_equalization#Contrast_Limited_AHE
+ *
+ * @param options clahe options
+ */
+ clahe(options: ClaheOptions): Sharp;
+
+ /**
+ * Convolve the image with the specified kernel.
+ * @param kernel the specified kernel
+ * @throws {Error} Invalid parameters
+ * @returns A sharp instance that can be used to chain operations
+ */
+ convolve(kernel: Kernel): Sharp;
+
+ /**
+ * Any pixel value greather than or equal to the threshold value will be set to 255, otherwise it will be set to 0.
+ * @param threshold a value in the range 0-255 representing the level at which the threshold will be applied. (optional, default 128)
+ * @param options threshold options
+ * @throws {Error} Invalid parameters
+ * @returns A sharp instance that can be used to chain operations
+ */
+ threshold(threshold?: number, options?: ThresholdOptions): Sharp;
+
+ /**
+ * Perform a bitwise boolean operation with operand image.
+ * This operation creates an output image where each pixel is the result of the selected bitwise boolean operation between the corresponding pixels of the input images.
+ * @param operand Buffer containing image data or String containing the path to an image file.
+ * @param operator one of "and", "or" or "eor" to perform that bitwise operation, like the C logic operators &, | and ^ respectively.
+ * @param options describes operand when using raw pixel data.
+ * @throws {Error} Invalid parameters
+ * @returns A sharp instance that can be used to chain operations
+ */
+ boolean(operand: string | Buffer, operator: keyof BoolEnum, options?: { raw: Raw }): Sharp;
+
+ /**
+ * Apply the linear formula a * input + b to the image (levels adjustment)
+ * @param a multiplier (optional, default 1.0)
+ * @param b offset (optional, default 0.0)
+ * @throws {Error} Invalid parameters
+ * @returns A sharp instance that can be used to chain operations
+ */
+ linear(a?: number | number[] | null, b?: number | number[]): Sharp;
+
+ /**
+ * Recomb the image with the specified matrix.
+ * @param inputMatrix 3x3 Recombination matrix or 4x4 Recombination matrix
+ * @throws {Error} Invalid parameters
+ * @returns A sharp instance that can be used to chain operations
+ */
+ recomb(inputMatrix: Matrix3x3 | Matrix4x4): Sharp;
+
+ /**
+ * Transforms the image using brightness, saturation, hue rotation and lightness.
+ * Brightness and lightness both operate on luminance, with the difference being that brightness is multiplicative whereas lightness is additive.
+ * @param options describes the modulation
+ * @returns A sharp instance that can be used to chain operations
+ */
+ modulate(options?: {
+ brightness?: number | undefined;
+ saturation?: number | undefined;
+ hue?: number | undefined;
+ lightness?: number | undefined;
+ }): Sharp;
+
+ //#endregion
+
+ //#region Output functions
+
+ /**
+ * Write output image data to a file.
+ * If an explicit output format is not selected, it will be inferred from the extension, with JPEG, PNG, WebP, AVIF, TIFF, DZI, and libvips' V format supported.
+ * Note that raw pixel data is only supported for buffer output.
+ * @param fileOut The path to write the image data to.
+ * @param callback Callback function called on completion with two arguments (err, info). info contains the output image format, size (bytes), width, height and channels.
+ * @throws {Error} Invalid parameters
+ * @returns A sharp instance that can be used to chain operations
+ */
+ toFile(fileOut: string, callback: (err: Error, info: OutputInfo) => void): Sharp;
+
+ /**
+ * Write output image data to a file.
+ * @param fileOut The path to write the image data to.
+ * @throws {Error} Invalid parameters
+ * @returns A promise that fulfills with an object containing information on the resulting file
+ */
+ toFile(fileOut: string): Promise;
+
+ /**
+ * Write output to a Buffer. JPEG, PNG, WebP, AVIF, TIFF, GIF and RAW output are supported.
+ * By default, the format will match the input image, except SVG input which becomes PNG output.
+ * @param callback Callback function called on completion with three arguments (err, buffer, info).
+ * @returns A sharp instance that can be used to chain operations
+ */
+ toBuffer(callback: (err: Error, buffer: Buffer, info: OutputInfo) => void): Sharp;
+
+ /**
+ * Write output to a Buffer. JPEG, PNG, WebP, AVIF, TIFF, GIF and RAW output are supported.
+ * By default, the format will match the input image, except SVG input which becomes PNG output.
+ * The underlying `ArrayBuffer` may be marked as non-transferable by some JavaScript runtimes.
+ * @param options resolve options
+ * @param options.resolveWithObject Resolve the Promise with an Object containing data and info properties instead of resolving only with data.
+ * @returns A promise that resolves with the Buffer data.
+ */
+ toBuffer(options?: { resolveWithObject: false }): Promise>;
+
+ /**
+ * Write output to a Buffer. JPEG, PNG, WebP, AVIF, TIFF, GIF and RAW output are supported.
+ * By default, the format will match the input image, except SVG input which becomes PNG output.
+ * The underlying `ArrayBuffer` may be marked as non-transferable by some JavaScript runtimes.
+ * @param options resolve options
+ * @param options.resolveWithObject Resolve the Promise with an Object containing data and info properties instead of resolving only with data.
+ * @returns A promise that resolves with an object containing the Buffer data and an info object containing the output image format, size (bytes), width, height and channels
+ */
+ toBuffer(options: { resolveWithObject: true }): Promise<{ data: Buffer; info: OutputInfo }>;
+
+ /**
+ * Write output to a Uint8Array backed by a transferable ArrayBuffer. JPEG, PNG, WebP, AVIF, TIFF, GIF and RAW output are supported.
+ * By default, the format will match the input image, except SVG input which becomes PNG output.
+ * @returns A promise that resolves with an object containing the Uint8Array data and an info object containing the output image format, size (bytes), width, height and channels
+ */
+ toUint8Array(): Promise<{ data: Uint8Array; info: OutputInfo }>;
+
+ /**
+ * Set output density (DPI) in EXIF metadata.
+ * @param density Density in dots per inch (DPI).
+ * @returns A sharp instance that can be used to chain operations
+ * @throws {Error} Invalid parameters
+ */
+ withDensity(density: number): Sharp;
+
+ /**
+ * Keep all EXIF metadata from the input image in the output image.
+ * EXIF metadata is unsupported for TIFF output.
+ * @returns A sharp instance that can be used to chain operations
+ */
+ keepExif(): Sharp;
+
+ /**
+ * Set EXIF metadata in the output image, ignoring any EXIF in the input image.
+ * @param {Exif} exif Object keyed by IFD0, IFD1 etc. of key/value string pairs to write as EXIF data.
+ * @returns A sharp instance that can be used to chain operations
+ * @throws {Error} Invalid parameters
+ */
+ withExif(exif: Exif): Sharp;
+
+ /**
+ * Update EXIF metadata from the input image in the output image.
+ * @param {Exif} exif Object keyed by IFD0, IFD1 etc. of key/value string pairs to write as EXIF data.
+ * @returns A sharp instance that can be used to chain operations
+ * @throws {Error} Invalid parameters
+ */
+ withExifMerge(exif: Exif): Sharp;
+
+ /**
+ * Keep ICC profile from the input image in the output image where possible.
+ * @returns A sharp instance that can be used to chain operations
+ */
+ keepIccProfile(): Sharp;
+
+ /**
+ * Transform using an ICC profile and attach to the output image.
+ * @param {string} icc - Absolute filesystem path to output ICC profile or built-in profile name (srgb, p3, cmyk).
+ * @returns A sharp instance that can be used to chain operations
+ * @throws {Error} Invalid parameters
+ */
+ withIccProfile(icc: string, options?: WithIccProfileOptions): Sharp;
+
+ /**
+ * Keep all XMP metadata from the input image in the output image.
+ * @returns A sharp instance that can be used to chain operations
+ */
+ keepXmp(): Sharp;
+
+ /**
+ * Set XMP metadata in the output image.
+ * @param {string} xmp - String containing XMP metadata to be embedded in the output image.
+ * @returns A sharp instance that can be used to chain operations
+ * @throws {Error} Invalid parameters
+ */
+ withXmp(xmp: string): Sharp;
+
+ /**
+ * Include all metadata (EXIF, XMP, IPTC) from the input image in the output image.
+ * The default behaviour, when withMetadata is not used, is to strip all metadata and convert to the device-independent sRGB colour space.
+ * This will also convert to and add a web-friendly sRGB ICC profile.
+ * @param withMetadata
+ * @throws {Error} Invalid parameters.
+ */
+ withMetadata(withMetadata?: WriteableMetadata): Sharp;
+
+ /**
+ * Use these JPEG options for output image.
+ * @param options Output options.
+ * @throws {Error} Invalid options
+ * @returns A sharp instance that can be used to chain operations
+ */
+ jpeg(options?: JpegOptions): Sharp;
+
+ /**
+ * Use these JP2 (JPEG 2000) options for output image.
+ * @param options Output options.
+ * @throws {Error} Invalid options
+ * @returns A sharp instance that can be used to chain operations
+ */
+ jp2(options?: Jp2Options): Sharp;
+
+ /**
+ * Use these JPEG-XL (JXL) options for output image.
+ * This feature is experimental, please do not use in production systems.
+ * Requires libvips compiled with support for libjxl.
+ * The prebuilt binaries do not include this.
+ * Image metadata (EXIF, XMP) is unsupported.
+ * @param options Output options.
+ * @throws {Error} Invalid options
+ * @returns A sharp instance that can be used to chain operations
+ */
+ jxl(options?: JxlOptions): Sharp;
+
+ /**
+ * Use these PNG options for output image.
+ * PNG output is always full colour at 8 or 16 bits per pixel.
+ * Indexed PNG input at 1, 2 or 4 bits per pixel is converted to 8 bits per pixel.
+ * @param options Output options.
+ * @throws {Error} Invalid options
+ * @returns A sharp instance that can be used to chain operations
+ */
+ png(options?: PngOptions): Sharp;
+
+ /**
+ * Use these WebP options for output image.
+ * @param options Output options.
+ * @throws {Error} Invalid options
+ * @returns A sharp instance that can be used to chain operations
+ */
+ webp(options?: WebpOptions): Sharp;
+
+ /**
+ * Use these GIF options for output image.
+ * Requires libvips compiled with support for ImageMagick or GraphicsMagick. The prebuilt binaries do not include this - see installing a custom libvips.
+ * @param options Output options.
+ * @throws {Error} Invalid options
+ * @returns A sharp instance that can be used to chain operations
+ */
+ gif(options?: GifOptions): Sharp;
+
+ /**
+ * Use these AVIF options for output image.
+ * @param options Output options.
+ * @throws {Error} Invalid options
+ * @returns A sharp instance that can be used to chain operations
+ */
+ avif(options?: AvifOptions): Sharp;
+
+ /**
+ * Use these HEIF options for output image.
+ * Support for patent-encumbered HEIC images requires the use of a globally-installed libvips compiled with support for libheif, libde265 and x265.
+ * @param options Output options.
+ * @throws {Error} Invalid options
+ * @returns A sharp instance that can be used to chain operations
+ */
+ heif(options?: HeifOptions): Sharp;
+
+ /**
+ * Use these TIFF options for output image.
+ * @param options Output options.
+ * @throws {Error} Invalid options
+ * @returns A sharp instance that can be used to chain operations
+ */
+ tiff(options?: TiffOptions): Sharp;
+
+ /**
+ * Force output to be raw, uncompressed uint8 pixel data.
+ * @param options Raw output options.
+ * @throws {Error} Invalid options
+ * @returns A sharp instance that can be used to chain operations
+ */
+ raw(options?: RawOptions): Sharp;
+
+ /**
+ * Force output to a given format.
+ * @param format a String or an Object with an 'id' attribute
+ * @param options output options
+ * @throws {Error} Unsupported format or options
+ * @returns A sharp instance that can be used to chain operations
+ */
+ toFormat(
+ format: keyof FormatEnum | AvailableFormatInfo | "avif",
+ options?:
+ | OutputOptions
+ | JpegOptions
+ | PngOptions
+ | WebpOptions
+ | AvifOptions
+ | HeifOptions
+ | JxlOptions
+ | GifOptions
+ | Jp2Options
+ | RawOptions
+ | TiffOptions,
+ ): Sharp;
+
+ /**
+ * Use tile-based deep zoom (image pyramid) output.
+ * Set the format and options for tile images via the toFormat, jpeg, png or webp functions.
+ * Use a .zip or .szi file extension with toFile to write to a compressed archive file format.
+ * @param tile tile options
+ * @throws {Error} Invalid options
+ * @returns A sharp instance that can be used to chain operations
+ */
+ tile(tile?: TileOptions): Sharp;
+
+ /**
+ * Set a timeout for processing, in seconds. Use a value of zero to continue processing indefinitely, the default behaviour.
+ * The clock starts when libvips opens an input image for processing. Time spent waiting for a libuv thread to become available is not included.
+ * @param options Object with a `seconds` attribute between 0 and 3600 (number)
+ * @throws {Error} Invalid options
+ * @returns A sharp instance that can be used to chain operations
+ */
+ timeout(options: TimeoutOptions): Sharp;
+
+ //#endregion
+
+ //#region Resize functions
+
+ /**
+ * Resize image to width, height or width x height.
+ *
+ * When both a width and height are provided, the possible methods by which the image should fit these are:
+ * - cover: Crop to cover both provided dimensions (the default).
+ * - contain: Embed within both provided dimensions.
+ * - fill: Ignore the aspect ratio of the input and stretch to both provided dimensions.
+ * - inside: Preserving aspect ratio, resize the image to be as large as possible while ensuring its dimensions are less than or equal to both those specified.
+ * - outside: Preserving aspect ratio, resize the image to be as small as possible while ensuring its dimensions are greater than or equal to both those specified.
+ * Some of these values are based on the object-fit CSS property.
+ *
+ * When using a fit of cover or contain, the default position is centre. Other options are:
+ * - sharp.position: top, right top, right, right bottom, bottom, left bottom, left, left top.
+ * - sharp.gravity: north, northeast, east, southeast, south, southwest, west, northwest, center or centre.
+ * - sharp.strategy: cover only, dynamically crop using either the entropy or attention strategy. Some of these values are based on the object-position CSS property.
+ *
+ * The strategy-based approach resizes so one dimension is at its target length then repeatedly ranks edge regions,
+ * discarding the edge with the lowest score based on the selected strategy.
+ * - entropy: focus on the region with the highest Shannon entropy.
+ * - attention: focus on the region with the highest luminance frequency, colour saturation and presence of skin tones.
+ *
+ * Possible interpolation kernels are:
+ * - nearest: Use nearest neighbour interpolation.
+ * - cubic: Use a Catmull-Rom spline.
+ * - lanczos2: Use a Lanczos kernel with a=2.
+ * - lanczos3: Use a Lanczos kernel with a=3 (the default).
+ *
+ * @param width pixels wide the resultant image should be. Use null or undefined to auto-scale the width to match the height.
+ * @param height pixels high the resultant image should be. Use null or undefined to auto-scale the height to match the width.
+ * @param options resize options
+ * @throws {Error} Invalid parameters
+ * @returns A sharp instance that can be used to chain operations
+ */
+ resize(widthOrOptions?: number | ResizeOptions | null, height?: number | null, options?: ResizeOptions): Sharp;
+
+ /**
+ * Shorthand for resize(null, null, options);
+ *
+ * @param options resize options
+ * @throws {Error} Invalid parameters
+ * @returns A sharp instance that can be used to chain operations
+ */
+ resize(options: ResizeOptions): Sharp;
+
+ /**
+ * Extend / pad / extrude one or more edges of the image with either
+ * the provided background colour or pixels derived from the image.
+ * This operation will always occur after resizing and extraction, if any.
+ * @param extend single pixel count to add to all edges or an Object with per-edge counts
+ * @throws {Error} Invalid parameters
+ * @returns A sharp instance that can be used to chain operations
+ */
+ extend(extend: number | ExtendOptions): Sharp;
+
+ /**
+ * Extract a region of the image.
+ * - Use extract() before resize() for pre-resize extraction.
+ * - Use extract() after resize() for post-resize extraction.
+ * - Use extract() before and after for both.
+ *
+ * @param region The region to extract
+ * @throws {Error} Invalid parameters
+ * @returns A sharp instance that can be used to chain operations
+ */
+ extract(region: Region): Sharp;
+
+ /**
+ * Trim pixels from all edges that contain values similar to the given background colour, which defaults to that of the top-left pixel.
+ * Images with an alpha channel will use the combined bounding box of alpha and non-alpha channels.
+ * The info response Object will contain trimOffsetLeft and trimOffsetTop properties.
+ * @param options trim options
+ * @throws {Error} Invalid parameters
+ * @returns A sharp instance that can be used to chain operations
+ */
+ trim(options?: TrimOptions): Sharp;
+
+ //#endregion
+ }
+
+ type SharpInput = Buffer
+ | ArrayBuffer
+ | Uint8Array
+ | Uint8ClampedArray
+ | Int8Array
+ | Uint16Array
+ | Int16Array
+ | Uint32Array
+ | Int32Array
+ | Float32Array
+ | Float64Array
+ | string;
+
+ interface SharpOptions {
+ /**
+ * Auto-orient based on the EXIF `Orientation` tag, if present.
+ * Mirroring is supported and may infer the use of a flip operation.
+ *
+ * Using this option will remove the EXIF `Orientation` tag, if any.
+ */
+ autoOrient?: boolean | undefined;
+ /**
+ * When to abort processing of invalid pixel data, one of (in order of sensitivity):
+ * 'none' (least), 'truncated', 'error' or 'warning' (most), highers level imply lower levels, invalid metadata will always abort.
+ * Use the default 'warning' level with untrusted input. (optional, default 'warning')
+ */
+ failOn?: FailOnOptions | undefined;
+ /**
+ * Do not process input images where the number of pixels (width x height) exceeds this limit.
+ * Assumes image dimensions contained in the input metadata can be trusted.
+ * An integral Number of pixels, zero or false to remove limit, true to use default limit of 268402689 (0x3FFF x 0x3FFF). (optional, default 268402689)
+ */
+ limitInputPixels?: number | boolean | undefined;
+ /**
+ * Do not process input images where the number of channels exceeds this limit.
+ * Assumes image metadata can be trusted.
+ * An integral Number of channels, zero or false to remove limit, true to use default limit of 5. (optional, default 5)
+ */
+ limitInputChannels?: number | boolean | undefined;
+ /** Set this to true to remove safety features that help prevent memory exhaustion (SVG, PNG). (optional, default false) */
+ unlimited?: boolean | undefined;
+ /** Set this to false to use random access rather than sequential read. Some operations will do this automatically. */
+ sequentialRead?: boolean | undefined;
+ /** The DPI at which to render SVG and PDF images, in the range 1 to 100000. (optional, default 72) */
+ density?: number | undefined;
+ /** Should the embedded ICC profile, if any, be ignored. */
+ ignoreIcc?: boolean | undefined;
+ /** Number of pages to extract for multi-page input (GIF, TIFF, PDF), use -1 for all pages */
+ pages?: number | undefined;
+ /** Page number to start extracting from for multi-page input (GIF, TIFF, PDF), zero based. (optional, default 0) */
+ page?: number | undefined;
+ /** TIFF specific input options */
+ tiff?: TiffInputOptions | undefined;
+ /** SVG specific input options */
+ svg?: SvgInputOptions | undefined;
+ /** PDF specific input options */
+ pdf?: PdfInputOptions | undefined;
+ /** OpenSlide specific input options */
+ openSlide?: OpenSlideInputOptions | undefined;
+ /** JPEG 2000 specific input options */
+ jp2?: Jp2InputOptions | undefined;
+ /** @deprecated Use {@link SharpOptions.tiff} instead */
+ subifd?: number | undefined;
+ /** @deprecated Use {@link SharpOptions.pdf} instead */
+ pdfBackground?: ColorLike | undefined;
+ /** @deprecated Use {@link SharpOptions.openSlide} instead */
+ level?: number | undefined;
+ /** Set to `true` to read all frames/pages of an animated image (equivalent of setting `pages` to `-1`). (optional, default false) */
+ animated?: boolean | undefined;
+ /** Describes raw pixel input image data. See raw() for pixel ordering. */
+ raw?: CreateRaw | undefined;
+ /** Describes a new image to be created. */
+ create?: Create | undefined;
+ /** Describes a new text image to be created. */
+ text?: CreateText | undefined;
+ /** Describes how array of input images should be joined. */
+ join?: Join | undefined;
+ }
+
+ interface CacheOptions {
+ /** Is the maximum memory in MB to use for this cache (optional, default 50) */
+ memory?: number | undefined;
+ /** Is the maximum number of files to hold open (optional, default 20) */
+ files?: number | undefined;
+ /** Is the maximum number of operations to cache (optional, default 100) */
+ items?: number | undefined;
+ }
+
+ interface TimeoutOptions {
+ /** Number of seconds after which processing will be stopped (default 0, eg disabled) */
+ seconds: number;
+ }
+
+ interface SharpCounters {
+ /** The number of tasks this module has queued waiting for libuv to provide a worker thread from its pool. */
+ queue: number;
+ /** The number of resize tasks currently being processed. */
+ process: number;
+ }
+
+ interface Raw {
+ width: number;
+ height: number;
+ channels: Channels;
+ }
+
+ interface CreateRaw extends Raw {
+ /** Specifies that the raw input has already been premultiplied, set to true to avoid sharp premultiplying the image. (optional, default false) */
+ premultiplied?: boolean | undefined;
+ /** The height of each page/frame for animated images, must be an integral factor of the overall image height. */
+ pageHeight?: number | undefined;
+ }
+
+ type CreateChannels = 3 | 4;
+
+ interface Create {
+ /** Number of pixels wide. */
+ width: number;
+ /** Number of pixels high. */
+ height: number;
+ /** Number of bands, 3 for RGB, 4 for RGBA */
+ channels: CreateChannels;
+ /** Parsed by the [color](https://www.npmjs.org/package/color) module to extract values for red, green, blue and alpha. */
+ background: ColorLike;
+ /** Describes a noise to be created. */
+ noise?: Noise | undefined;
+ /** The height of each page/frame for animated images, must be an integral factor of the overall image height. */
+ pageHeight?: number | undefined;
+
+ }
+
+ interface CreateText {
+ /** Text to render as a UTF-8 string. It can contain Pango markup, for example `Le Monde`. */
+ text: string;
+ /** Font name to render with. */
+ font?: string;
+ /** Absolute filesystem path to a font file that can be used by `font`. */
+ fontfile?: string;
+ /** Integral number of pixels to word-wrap at. Lines of text wider than this will be broken at word boundaries. (optional, default `0`) */
+ width?: number;
+ /**
+ * Integral number of pixels high. When defined, `dpi` will be ignored and the text will automatically fit the pixel resolution
+ * defined by `width` and `height`. Will be ignored if `width` is not specified or set to 0. (optional, default `0`)
+ */
+ height?: number;
+ /** Text alignment ('left', 'centre', 'center', 'right'). (optional, default 'left') */
+ align?: TextAlign;
+ /** Set this to true to apply justification to the text. (optional, default `false`) */
+ justify?: boolean;
+ /** The resolution (size) at which to render the text. Does not take effect if `height` is specified. (optional, default `72`) */
+ dpi?: number;
+ /**
+ * Set this to true to enable RGBA output. This is useful for colour emoji rendering,
+ * or support for pango markup features like `Red! `. (optional, default `false`)
+ */
+ rgba?: boolean;
+ /** Text line height in points. Will use the font line height if none is specified. (optional, default `0`) */
+ spacing?: number;
+ /** Word wrapping style when width is provided, one of: 'word', 'char', 'word-char' (prefer word, fallback to char) or 'none' */
+ wrap?: TextWrap;
+ }
+
+ interface Join {
+ /** Number of images per row. */
+ across?: number | undefined;
+ /** Treat input as frames of an animated image. */
+ animated?: boolean | undefined;
+ /** Space between images, in pixels. */
+ shim?: number | undefined;
+ /** Background colour. */
+ background?: ColorLike | undefined;
+ /** Horizontal alignment. */
+ halign?: HorizontalAlignment | undefined;
+ /** Vertical alignment. */
+ valign?: VerticalAlignment | undefined;
+ }
+
+ interface TiffInputOptions {
+ /** Sub Image File Directory to extract, defaults to main image. Use -1 for all subifds. */
+ subifd?: number | undefined;
+ }
+
+ interface SvgInputOptions {
+ /** Custom CSS for SVG input, applied with a User Origin during the CSS cascade. */
+ stylesheet?: string | undefined;
+ /** Set to `true` to render SVG input at 32-bits per channel (128-bit) instead of 8-bits per channel (32-bit) RGBA. */
+ highBitdepth?: boolean | undefined;
+ }
+
+ interface PdfInputOptions {
+ /** Background colour to use when PDF is partially transparent. Requires the use of a globally-installed libvips compiled with support for PDFium, Poppler, ImageMagick or GraphicsMagick. */
+ background?: ColorLike | undefined;
+ }
+
+ interface OpenSlideInputOptions {
+ /** Level to extract from a multi-level input, zero based. (optional, default 0) */
+ level?: number | undefined;
+ }
+
+ interface Jp2InputOptions {
+ /** Set to `true` to load JPEG 2000 images using [oneshot mode](https://github.com/libvips/libvips/issues/4205) */
+ oneshot?: boolean | undefined;
+ }
+
+ interface ExifDir {
+ [k: string]: string;
+ }
+
+ interface Exif {
+ 'IFD0'?: ExifDir;
+ 'IFD1'?: ExifDir;
+ 'IFD2'?: ExifDir;
+ 'IFD3'?: ExifDir;
+ }
+
+ type HeifCompression = 'av1' | 'hevc';
+
+ type HeifTune = 'auto' | 'iq' | 'psnr' | 'ssim';
+
+ type Unit = 'inch' | 'cm';
+
+ type MediaType =
+ 'application/pdf' |
+ 'image/avif' |
+ 'image/fits' |
+ 'image/gif' |
+ 'image/heic' |
+ 'image/jp2' |
+ 'image/jpeg' |
+ 'image/jxl' |
+ 'image/png' |
+ 'image/svg+xml' |
+ 'image/tiff' |
+ 'image/vnd.radiance' |
+ 'image/webp' |
+ 'image/x-exr' |
+ 'image/x-portable-pixmap';
+
+ interface WriteableMetadata {
+ /** Number of pixels per inch (DPI) */
+ density?: number | undefined;
+ /** Value between 1 and 8, used to update the EXIF Orientation tag. */
+ orientation?: number | undefined;
+ /**
+ * Filesystem path to output ICC profile, defaults to sRGB.
+ * @deprecated Use `withIccProfile()` instead.
+ */
+ icc?: string | undefined;
+ /**
+ * Object keyed by IFD0, IFD1 etc. of key/value string pairs to write as EXIF data.
+ * @deprecated Use `withExif()` or `withExifMerge()` instead.
+ */
+ exif?: Exif | undefined;
+ }
+
+ interface Metadata {
+ /** Number value of the EXIF Orientation header, if present */
+ orientation?: number | undefined;
+ /** Name of decoder used to decompress image data e.g. jpeg, png, webp, gif, svg */
+ format: keyof FormatEnum;
+ /** Total size of image in bytes, for Stream and Buffer input only */
+ size?: number | undefined;
+ /** Number of pixels wide (EXIF orientation is not taken into consideration) */
+ width: number;
+ /** Number of pixels high (EXIF orientation is not taken into consideration) */
+ height: number;
+ /** Any changed metadata after the image orientation is applied. */
+ autoOrient: {
+ /** Number of pixels wide (EXIF orientation is taken into consideration) */
+ width: number;
+ /** Number of pixels high (EXIF orientation is taken into consideration) */
+ height: number;
+ };
+ /** Name of colour space interpretation */
+ space: keyof ColourspaceEnum;
+ /** Number of bands e.g. 3 for sRGB, 4 for CMYK */
+ channels: Channels;
+ /** Name of pixel depth format e.g. uchar, char, ushort, float ... */
+ depth: keyof DepthEnum;
+ /** Number of pixels per inch (DPI), if present */
+ density?: number | undefined;
+ /** String containing JPEG chroma subsampling, 4:2:0 or 4:4:4 for RGB, 4:2:0:4 or 4:4:4:4 for CMYK */
+ chromaSubsampling?: string | undefined;
+ /** Boolean indicating whether the image is interlaced using a progressive scan */
+ isProgressive: boolean;
+ /** Boolean indicating whether the image is palette-based (GIF, PNG). */
+ isPalette: boolean;
+ /** Number of bits per sample for each channel (GIF, PNG). */
+ bitsPerSample?: number | undefined;
+ /** Number of pages/frames contained within the image, with support for TIFF, HEIF, PDF, animated GIF and animated WebP */
+ pages?: number | undefined;
+ /** Number of pixels high each page in a multi-page image will be. */
+ pageHeight?: number | undefined;
+ /** Number of times to loop an animated image, zero refers to a continuous loop. */
+ loop?: number | undefined;
+ /** Delay in ms between each page in an animated image, provided as an array of integers. */
+ delay?: number[] | undefined;
+ /** Number of the primary page in a HEIF image */
+ pagePrimary?: number | undefined;
+ /** Boolean indicating the presence of an embedded ICC profile */
+ hasProfile: boolean;
+ /** Boolean indicating the presence of an alpha transparency channel */
+ hasAlpha: boolean;
+ /** Buffer containing raw EXIF data, if present */
+ exif?: Buffer | undefined;
+ /** Buffer containing raw ICC profile data, if present */
+ icc?: Buffer | undefined;
+ /** Buffer containing raw IPTC data, if present */
+ iptc?: Buffer | undefined;
+ /** Buffer containing raw XMP data, if present */
+ xmp?: Buffer | undefined;
+ /** String containing XMP data, if valid UTF-8 */
+ xmpAsString?: string | undefined;
+ /** Buffer containing raw TIFFTAG_PHOTOSHOP data, if present */
+ tifftagPhotoshop?: Buffer | undefined;
+ /** The encoder used to compress an HEIF file, `av1` (AVIF) or `hevc` (HEIC) */
+ compression?: HeifCompression | undefined;
+ /** Default background colour, if present, for PNG (bKGD) and GIF images */
+ background?: { r: number; g: number; b: number } | { gray: number };
+ /** Details of each level in a multi-level image provided as an array of objects, requires libvips compiled with support for OpenSlide */
+ levels?: LevelMetadata[] | undefined;
+ /** Number of Sub Image File Directories in an OME-TIFF image */
+ subifds?: number | undefined;
+ /** The unit of resolution (density) */
+ resolutionUnit?: Unit | undefined;
+ /** String containing format for images loaded via *magick */
+ formatMagick?: string | undefined;
+ /** Array of keyword/text pairs representing PNG text blocks, if present. */
+ comments?: CommentsMetadata[] | undefined;
+ /** HDR gain map, if present */
+ gainMap?: GainMapMetadata | undefined;
+ /** Media Type (MIME Type) */
+ mediaType?: MediaType | undefined;
+ }
+
+ interface LevelMetadata {
+ width: number;
+ height: number;
+ }
+
+ interface CommentsMetadata {
+ keyword: string;
+ text: string;
+ }
+
+ interface GainMapMetadata {
+ /** JPEG image */
+ image: Buffer;
+ }
+
+ interface Stats {
+ /** Array of channel statistics for each channel in the image. */
+ channels: ChannelStats[];
+ /** Value to identify if the image is opaque or transparent, based on the presence and use of alpha channel */
+ isOpaque: boolean;
+ /** Histogram-based estimation of greyscale entropy, discarding alpha channel if any */
+ entropy: number;
+ /** Estimation of greyscale sharpness based on the standard deviation of a Laplacian convolution, discarding alpha channel if any */
+ sharpness: number;
+ /** Object containing most dominant sRGB colour based on a 4096-bin 3D histogram */
+ dominant: { r: number; g: number; b: number };
+ }
+
+ interface ChannelStats {
+ /** minimum value in the channel */
+ min: number;
+ /** maximum value in the channel */
+ max: number;
+ /** sum of all values in a channel */
+ sum: number;
+ /** sum of squared values in a channel */
+ squaresSum: number;
+ /** mean of the values in a channel */
+ mean: number;
+ /** standard deviation for the values in a channel */
+ stdev: number;
+ /** x-coordinate of one of the pixel where the minimum lies */
+ minX: number;
+ /** y-coordinate of one of the pixel where the minimum lies */
+ minY: number;
+ /** x-coordinate of one of the pixel where the maximum lies */
+ maxX: number;
+ /** y-coordinate of one of the pixel where the maximum lies */
+ maxY: number;
+ }
+
+ interface OutputOptions {
+ /** Force format output, otherwise attempt to use input format (optional, default true) */
+ force?: boolean | undefined;
+ }
+
+ interface WithIccProfileOptions {
+ /** Should the ICC profile be included in the output image metadata? (optional, default true) */
+ attach?: boolean | undefined;
+ }
+
+ interface JpegOptions extends OutputOptions {
+ /** Quality, integer 1-100 (optional, default 80) */
+ quality?: number | undefined;
+ /** Use progressive (interlace) scan (optional, default false) */
+ progressive?: boolean | undefined;
+ /** Set to '4:4:4' to prevent chroma subsampling when quality <= 90 (optional, default '4:2:0') */
+ chromaSubsampling?: string | undefined;
+ /** Apply trellis quantisation (optional, default false) */
+ trellisQuantisation?: boolean | undefined;
+ /** Apply overshoot deringing (optional, default false) */
+ overshootDeringing?: boolean | undefined;
+ /** Optimise progressive scans, forces progressive (optional, default false) */
+ optimiseScans?: boolean | undefined;
+ /** Alternative spelling of optimiseScans (optional, default false) */
+ optimizeScans?: boolean | undefined;
+ /** Optimise Huffman coding tables (optional, default true) */
+ optimiseCoding?: boolean | undefined;
+ /** Alternative spelling of optimiseCoding (optional, default true) */
+ optimizeCoding?: boolean | undefined;
+ /** Quantization table to use, integer 0-8 (optional, default 0) */
+ quantisationTable?: number | undefined;
+ /** Alternative spelling of quantisationTable (optional, default 0) */
+ quantizationTable?: number | undefined;
+ /** Use mozjpeg defaults (optional, default false) */
+ mozjpeg?: boolean | undefined;
+ }
+
+ interface Jp2Options extends OutputOptions {
+ /** Quality, integer 1-100 (optional, default 80) */
+ quality?: number;
+ /** Use lossless compression mode (optional, default false) */
+ lossless?: boolean;
+ /** Horizontal tile size (optional, default 512) */
+ tileWidth?: number;
+ /** Vertical tile size (optional, default 512) */
+ tileHeight?: number;
+ /** Set to '4:2:0' to enable chroma subsampling (optional, default '4:4:4') */
+ chromaSubsampling?: '4:4:4' | '4:2:0';
+ }
+
+ interface JxlOptions extends OutputOptions, AnimationOptions {
+ /** Maximum encoding error, between 0 (highest quality) and 15 (lowest quality) (optional, default 1.0) */
+ distance?: number;
+ /** Calculate distance based on JPEG-like quality, between 1 and 100, overrides distance if specified */
+ quality?: number;
+ /** Target decode speed tier, between 0 (highest quality) and 4 (lowest quality) (optional, default 0) */
+ decodingTier?: number;
+ /** Use lossless compression (optional, default false) */
+ lossless?: boolean;
+ /** CPU effort, between 1 (fastest) and 9 (slowest) (optional, default 7) */
+ effort?: number | undefined;
+ }
+
+ interface WebpOptions extends OutputOptions, AnimationOptions {
+ /** Quality, integer 1-100 (optional, default 80) */
+ quality?: number | undefined;
+ /** Quality of alpha layer, number from 0-100 (optional, default 100) */
+ alphaQuality?: number | undefined;
+ /** Use lossless compression mode (optional, default false) */
+ lossless?: boolean | undefined;
+ /** Use near_lossless compression mode (optional, default false) */
+ nearLossless?: boolean | undefined;
+ /** Use high quality chroma subsampling (optional, default false) */
+ smartSubsample?: boolean | undefined;
+ /** Auto-adjust the deblocking filter, slow but can improve low contrast edges (optional, default false) */
+ smartDeblock?: boolean | undefined;
+ /** Level of CPU effort to reduce file size, integer 0-6 (optional, default 4) */
+ effort?: number | undefined;
+ /** Prevent use of animation key frames to minimise file size (slow) (optional, default false) */
+ minSize?: boolean | undefined;
+ /** Allow mixture of lossy and lossless animation frames (slow) (optional, default false) */
+ mixed?: boolean | undefined;
+ /** Preset options: one of default, photo, picture, drawing, icon, text (optional, default 'default') */
+ preset?: keyof PresetEnum | undefined;
+ /** Preserve the colour data in transparent pixels (optional, default false) */
+ exact?: boolean | undefined;
+ }
+
+ interface AvifOptions extends OutputOptions {
+ /** quality, integer 1-100 (optional, default 50) */
+ quality?: number | undefined;
+ /** use lossless compression (optional, default false) */
+ lossless?: boolean | undefined;
+ /** Level of CPU effort to reduce file size, between 0 (fastest) and 9 (slowest) (optional, default 4) */
+ effort?: number | undefined;
+ /** set to '4:2:0' to use chroma subsampling, requires libvips v8.11.0 (optional, default '4:4:4') */
+ chromaSubsampling?: string | undefined;
+ /** Set bitdepth to 8, 10 or 12 bit (optional, default 8) */
+ bitdepth?: 8 | 10 | 12 | undefined;
+ /** Tune output for a quality metric, one of 'auto', 'iq', 'psnr' or 'ssim' (optional, default 'auto') */
+ tune?: HeifTune | undefined;
+ }
+
+ interface HeifOptions extends OutputOptions {
+ /** quality, integer 1-100 (optional, default 50) */
+ quality?: number | undefined;
+ /** compression format: av1, hevc (optional, default 'av1') */
+ compression?: HeifCompression | undefined;
+ /** use lossless compression (optional, default false) */
+ lossless?: boolean | undefined;
+ /** Level of CPU effort to reduce file size, between 0 (fastest) and 9 (slowest) (optional, default 4) */
+ effort?: number | undefined;
+ /** set to '4:2:0' to use chroma subsampling (optional, default '4:4:4') */
+ chromaSubsampling?: string | undefined;
+ /** Set bitdepth to 8, 10 or 12 bit (optional, default 8) */
+ bitdepth?: 8 | 10 | 12 | undefined;
+ /** Tune output for a quality metric, one of 'auto', 'iq', 'psnr' or 'ssim' (optional, default 'auto') */
+ tune?: HeifTune | undefined;
+ }
+
+ interface GifOptions extends OutputOptions, AnimationOptions {
+ /** Re-use existing palette, otherwise generate new (slow) */
+ reuse?: boolean | undefined;
+ /** Use progressive (interlace) scan */
+ progressive?: boolean | undefined;
+ /** Maximum number of palette entries, including transparency, between 2 and 256 (optional, default 256) */
+ colours?: number | undefined;
+ /** Alternative spelling of "colours". Maximum number of palette entries, including transparency, between 2 and 256 (optional, default 256) */
+ colors?: number | undefined;
+ /** Level of CPU effort to reduce file size, between 1 (fastest) and 10 (slowest) (optional, default 7) */
+ effort?: number | undefined;
+ /** Level of Floyd-Steinberg error diffusion, between 0 (least) and 1 (most) (optional, default 1.0) */
+ dither?: number | undefined;
+ /** Maximum inter-frame error for transparency, between 0 (lossless) and 32 (optional, default 0) */
+ interFrameMaxError?: number | undefined;
+ /** Maximum inter-palette error for palette reuse, between 0 and 256 (optional, default 3) */
+ interPaletteMaxError?: number | undefined;
+ /** Keep duplicate frames in the output instead of combining them (optional, default false) */
+ keepDuplicateFrames?: boolean | undefined;
+ }
+
+ interface TiffOptions extends OutputOptions {
+ /** Quality, integer 1-100 (optional, default 80) */
+ quality?: number | undefined;
+ /** Compression options: none, jpeg, deflate, packbits, ccittfax4, lzw, webp, zstd, jp2k (optional, default 'jpeg') */
+ compression?: string | undefined;
+ /** Use BigTIFF variant (has no effect when compression is none) (optional, default false) */
+ bigtiff?: boolean | undefined;
+ /** Compression predictor options: none, horizontal, float (optional, default 'horizontal') */
+ predictor?: string | undefined;
+ /** Write an image pyramid (optional, default false) */
+ pyramid?: boolean | undefined;
+ /** Write a tiled tiff (optional, default false) */
+ tile?: boolean | undefined;
+ /** Horizontal tile size (optional, default 256) */
+ tileWidth?: number | undefined;
+ /** Vertical tile size, valid values are integers in the range 1-32768 (optional, default 256) */
+ tileHeight?: number | undefined;
+ /** Horizontal resolution in pixels/mm, valid values are numbers in the range 0.001-1000000 (optional, default 1.0) */
+ xres?: number | undefined;
+ /** Vertical resolution in pixels/mm, valid values are numbers in the range 0.001-1000000 (optional, default 1.0) */
+ yres?: number | undefined;
+ /** Reduce bitdepth to 1, 2 or 4 bit (optional) */
+ bitdepth?: 1 | 2 | 4 | undefined;
+ /** Write 1-bit images as miniswhite (optional, default false) */
+ miniswhite?: boolean | undefined;
+ /** Resolution unit options: inch, cm (optional, default 'inch') */
+ resolutionUnit?: Unit | undefined;
+ }
+
+ interface PngOptions extends OutputOptions {
+ /** Use progressive (interlace) scan (optional, default false) */
+ progressive?: boolean | undefined;
+ /** zlib compression level, 0-9 (optional, default 6) */
+ compressionLevel?: number | undefined;
+ /** Use adaptive row filtering (optional, default false) */
+ adaptiveFiltering?: boolean | undefined;
+ /** Use the lowest number of colours needed to achieve given quality (optional, default `100`) */
+ quality?: number | undefined;
+ /** Level of CPU effort to reduce file size, between 1 (fastest) and 10 (slowest), sets palette to true (optional, default 7) */
+ effort?: number | undefined;
+ /** Quantise to a palette-based image with alpha transparency support (optional, default false) */
+ palette?: boolean | undefined;
+ /** Maximum number of palette entries (optional, default 256) */
+ colours?: number | undefined;
+ /** Alternative Spelling of "colours". Maximum number of palette entries (optional, default 256) */
+ colors?: number | undefined;
+ /** Level of Floyd-Steinberg error diffusion (optional, default 1.0) */
+ dither?: number | undefined;
+ }
+
+ interface RotateOptions {
+ /** parsed by the color module to extract values for red, green, blue and alpha. (optional, default "#000000") */
+ background?: ColorLike | undefined;
+ }
+
+ type Precision = 'integer' | 'float' | 'approximate';
+
+ interface BlurOptions {
+ /** A value between 0.3 and 1000 representing the sigma of the Gaussian mask, where `sigma = 1 + radius / 2` */
+ sigma: number;
+ /** A value between 0.001 and 1. A smaller value will generate a larger, more accurate mask. */
+ minAmplitude?: number;
+ /** How accurate the operation should be, one of: integer, float, approximate. (optional, default "integer") */
+ precision?: Precision | undefined;
+ }
+
+ interface FlattenOptions {
+ /** background colour, parsed by the color module, defaults to black. (optional, default {r:0,g:0,b:0}) */
+ background?: ColorLike | undefined;
+ }
+
+ interface NegateOptions {
+ /** whether or not to negate any alpha channel. (optional, default true) */
+ alpha?: boolean | undefined;
+ }
+
+ interface NormaliseOptions {
+ /** Percentile below which luminance values will be underexposed. */
+ lower?: number | undefined;
+ /** Percentile above which luminance values will be overexposed. */
+ upper?: number | undefined;
+ }
+
+ interface ResizeOptions {
+ /** Alternative means of specifying width. If both are present this takes priority. */
+ width?: number | undefined;
+ /** Alternative means of specifying height. If both are present this takes priority. */
+ height?: number | undefined;
+ /** How the image should be resized to fit both provided dimensions, one of cover, contain, fill, inside or outside. (optional, default 'cover') */
+ fit?: keyof FitEnum | undefined;
+ /** Position, gravity or strategy to use when fit is cover or contain. (optional, default 'centre') */
+ position?: number | string | undefined;
+ /** Background colour when using a fit of contain, parsed by the color module, defaults to black without transparency. (optional, default {r:0,g:0,b:0,alpha:1}) */
+ background?: ColorLike | undefined;
+ /** The kernel to use for image reduction. (optional, default 'lanczos3') */
+ kernel?: keyof KernelEnum | undefined;
+ /** Do not enlarge if the width or height are already less than the specified dimensions, equivalent to GraphicsMagick's > geometry option. (optional, default false) */
+ withoutEnlargement?: boolean | undefined;
+ /** Do not reduce if the width or height are already greater than the specified dimensions, equivalent to GraphicsMagick's < geometry option. (optional, default false) */
+ withoutReduction?: boolean | undefined;
+ /** Take greater advantage of the JPEG and WebP shrink-on-load feature, which can lead to a slight moiré pattern on some images. (optional, default true) */
+ fastShrinkOnLoad?: boolean | undefined;
+ }
+
+ interface Region {
+ /** zero-indexed offset from left edge, an integer between 0 and 100000000 */
+ left: number;
+ /** zero-indexed offset from top edge, an integer between 0 and 100000000 */
+ top: number;
+ /** dimension of extracted image, an integer between 0 and 100000000 */
+ width: number;
+ /** dimension of extracted image, an integer between 0 and 100000000 */
+ height: number;
+ }
+
+ interface Noise {
+ /** type of generated noise, currently only gaussian is supported. */
+ type: 'gaussian';
+ /** mean of pixels in generated noise. */
+ mean?: number | undefined;
+ /** standard deviation of pixels in generated noise. */
+ sigma?: number | undefined;
+ }
+
+ type ExtendWith = 'background' | 'copy' | 'repeat' | 'mirror';
+
+ interface ExtendOptions {
+ /** single pixel count to top edge, valid values are integers in the range 0-10000 (optional, default 0) */
+ top?: number | undefined;
+ /** single pixel count to left edge, valid values are integers in the range 0-10000 (optional, default 0) */
+ left?: number | undefined;
+ /** single pixel count to bottom edge, valid values are integers in the range 0-10000 (optional, default 0) */
+ bottom?: number | undefined;
+ /** single pixel count to right edge, valid values are integers in the range 0-10000 (optional, default 0) */
+ right?: number | undefined;
+ /** background colour, parsed by the color module, defaults to black without transparency. (optional, default {r:0,g:0,b:0,alpha:1}) */
+ background?: ColorLike | undefined;
+ /** how the extension is done, one of: "background", "copy", "repeat", "mirror" (optional, default `'background'`) */
+ extendWith?: ExtendWith | undefined;
+ }
+
+ interface TrimOptions {
+ /** Background colour, parsed by the color module, defaults to that of the top-left pixel. (optional) */
+ background?: ColorLike | undefined;
+ /** Allowed difference from the above colour, a positive number. (optional, default 10) */
+ threshold?: number | undefined;
+ /** Does the input more closely resemble line art (e.g. vector) rather than being photographic? (optional, default false) */
+ lineArt?: boolean | undefined;
+ /** Leave a margin around trimmed content, integral number of pixels between 0 and 10000000. (optional, default 0) */
+ margin?: number | undefined;
+ }
+
+ interface RawOptions {
+ depth?: keyof DepthEnum;
+ }
+
+ /** 1 for grayscale, 2 for grayscale + alpha, 3 for sRGB, 4 for CMYK or RGBA */
+ type Channels = 1 | 2 | 3 | 4;
+
+ type Colour = ColorLike;
+ type Color = ColorLike;
+
+ interface Kernel {
+ /** width of the kernel in pixels. */
+ width: number;
+ /** height of the kernel in pixels. */
+ height: number;
+ /** Array of length width*height containing the kernel values. */
+ kernel: ArrayLike;
+ /** the scale of the kernel in pixels. (optional, default sum) */
+ scale?: number | undefined;
+ /** the offset of the kernel in pixels. (optional, default 0) */
+ offset?: number | undefined;
+ }
+
+ interface ClaheOptions {
+ /** width of the region. Valid values are integers in the range 1-65536. */
+ width: number;
+ /** height of the region. Valid values are integers in the range 1-65536. */
+ height: number;
+ /** max slope of the cumulative contrast. A value of 0 disables contrast limiting. Valid values are integers in the range 0-100. (optional, default 3) */
+ maxSlope?: number | undefined;
+ }
+
+ interface ThresholdOptions {
+ /** convert to single channel greyscale. (optional, default true) */
+ greyscale?: boolean | undefined;
+ /** alternative spelling for greyscale. (optional, default true) */
+ grayscale?: boolean | undefined;
+ }
+
+ interface OverlayOptions extends SharpOptions {
+ /** Buffer containing image data, String containing the path to an image file, or Create object */
+ input?: string | Buffer | { create: Create } | { text: CreateText } | { raw: CreateRaw } | undefined;
+ /** how to blend this image with the image below. (optional, default `'over'`) */
+ blend?: Blend | undefined;
+ /** gravity at which to place the overlay. (optional, default 'centre') */
+ gravity?: Gravity | undefined;
+ /** the pixel offset from the top edge, an integer between -100000000 and 100000000. */
+ top?: number | undefined;
+ /** the pixel offset from the left edge, an integer between -100000000 and 100000000. */
+ left?: number | undefined;
+ /** set to true to repeat the overlay image across the entire image with the given gravity. (optional, default false) */
+ tile?: boolean | undefined;
+ /** Set to true to avoid premultipling the image below. Equivalent to the --premultiplied vips option. */
+ premultiplied?: boolean | undefined;
+ /** number representing the DPI for vector overlay image. (optional, default 72)*/
+ density?: number | undefined;
+ /** Set to true to read all frames/pages of an animated image. (optional, default false) */
+ animated?: boolean | undefined;
+ /** see sharp() constructor, (optional, default 'warning') */
+ failOn?: FailOnOptions | undefined;
+ /** see sharp() constructor, (optional, default 268402689) */
+ limitInputPixels?: number | boolean | undefined;
+ /** see sharp() constructor, (optional, default false) */
+ autoOrient?: boolean | undefined;
+ }
+
+ interface TileOptions {
+ /** Tile size in pixels, a value between 1 and 8192. (optional, default 256) */
+ size?: number | undefined;
+ /** Tile overlap in pixels, a value between 0 and 8192. (optional, default 0) */
+ overlap?: number | undefined;
+ /** Tile angle of rotation, must be a multiple of 90. (optional, default 0) */
+ angle?: number | undefined;
+ /** background colour, parsed by the color module, defaults to white without transparency. (optional, default {r:255,g:255,b:255,alpha:1}) */
+ background?: ColorLike | undefined;
+ /** How deep to make the pyramid, possible values are "onepixel", "onetile" or "one" (default based on layout) */
+ depth?: string | undefined;
+ /** Threshold to skip tile generation, a value 0 - 255 for 8-bit images or 0 - 65535 for 16-bit images */
+ skipBlanks?: number | undefined;
+ /** Tile container, with value fs (filesystem) or zip (compressed file). (optional, default 'fs') */
+ container?: TileContainer | undefined;
+ /** Filesystem layout, possible values are dz, iiif, iiif3, zoomify or google. (optional, default 'dz') */
+ layout?: TileLayout | undefined;
+ /** Centre image in tile. (optional, default false) */
+ centre?: boolean | undefined;
+ /** Alternative spelling of centre. (optional, default false) */
+ center?: boolean | undefined;
+ /** When layout is iiif/iiif3, sets the @id/id attribute of info.json (optional, default 'https://example.com/iiif') */
+ id?: string | undefined;
+ /** The name of the directory within the zip file when container is `zip`. */
+ basename?: string | undefined;
+ }
+
+ interface AnimationOptions {
+ /** Number of animation iterations, a value between 0 and 65535. Use 0 for infinite animation. (optional, default 0) */
+ loop?: number | undefined;
+ /** delay(s) between animation frames (in milliseconds), each value between 0 and 65535. (optional) */
+ delay?: number | number[] | undefined;
+ }
+
+ interface SharpenOptions {
+ /** The sigma of the Gaussian mask, where sigma = 1 + radius / 2, between 0.000001 and 10000 */
+ sigma: number;
+ /** The level of sharpening to apply to "flat" areas, between 0 and 1000000 (optional, default 1.0) */
+ m1?: number | undefined;
+ /** The level of sharpening to apply to "jagged" areas, between 0 and 1000000 (optional, default 2.0) */
+ m2?: number | undefined;
+ /** Threshold between "flat" and "jagged", between 0 and 1000000 (optional, default 2.0) */
+ x1?: number | undefined;
+ /** Maximum amount of brightening, between 0 and 1000000 (optional, default 10.0) */
+ y2?: number | undefined;
+ /** Maximum amount of darkening, between 0 and 1000000 (optional, default 20.0) */
+ y3?: number | undefined;
+ }
+
+ interface AffineOptions {
+ /** Parsed by the color module to extract values for red, green, blue and alpha. (optional, default "#000000") */
+ background?: string | object | undefined;
+ /** Input horizontal offset (optional, default 0) */
+ idx?: number | undefined;
+ /** Input vertical offset (optional, default 0) */
+ idy?: number | undefined;
+ /** Output horizontal offset (optional, default 0) */
+ odx?: number | undefined;
+ /** Output horizontal offset (optional, default 0) */
+ ody?: number | undefined;
+ /** Interpolator (optional, default sharp.interpolators.bicubic) */
+ interpolator?: Interpolators[keyof Interpolators] | undefined;
+ }
+
+ interface OutputInfo {
+ format: string;
+ size: number;
+ width: number;
+ height: number;
+ channels: Channels;
+ /** indicating if premultiplication was used */
+ premultiplied: boolean;
+ /** Indicates if the output image has an alpha channel */
+ hasAlpha: boolean;
+ /** Only defined when using a crop strategy */
+ cropOffsetLeft?: number | undefined;
+ /** Only defined when using a crop strategy */
+ cropOffsetTop?: number | undefined;
+ /** Only defined when using a trim method */
+ trimOffsetLeft?: number | undefined;
+ /** Only defined when using a trim method */
+ trimOffsetTop?: number | undefined;
+ /** DPI the font was rendered at, only defined when using `text` input */
+ textAutofitDpi?: number | undefined;
+ /** When using the attention crop strategy, the focal point of the cropped region */
+ attentionX?: number | undefined;
+ attentionY?: number | undefined;
+ /** Number of pages/frames contained within the image, with support for TIFF, HEIF, PDF, animated GIF and animated WebP */
+ pages?: number | undefined;
+ /** Number of pixels high each page in a multi-page image will be. */
+ pageHeight?: number | undefined;
+ }
+
+ interface AvailableFormatInfo {
+ id: string;
+ input: { file: boolean; buffer: boolean; stream: boolean; fileSuffix?: string[] };
+ output: { file: boolean; buffer: boolean; stream: boolean; alias?: string[] };
+ }
+
+ interface FitEnum {
+ contain: 'contain';
+ cover: 'cover';
+ fill: 'fill';
+ inside: 'inside';
+ outside: 'outside';
+ }
+
+ interface KernelEnum {
+ nearest: 'nearest';
+ cubic: 'cubic';
+ linear: 'linear';
+ mitchell: 'mitchell';
+ lanczos2: 'lanczos2';
+ lanczos3: 'lanczos3';
+ mks2013: 'mks2013';
+ mks2021: 'mks2021';
+ }
+
+ interface PresetEnum {
+ default: 'default';
+ picture: 'picture';
+ photo: 'photo';
+ drawing: 'drawing';
+ icon: 'icon';
+ text: 'text';
+ }
+
+ interface BoolEnum {
+ and: 'and';
+ or: 'or';
+ eor: 'eor';
+ }
+
+ interface ColourspaceEnum {
+ 'b-w': string;
+ cmc: string;
+ cmyk: string;
+ fourier: string;
+ grey16: string;
+ histogram: string;
+ hsv: string;
+ lab: string;
+ labq: string;
+ labs: string;
+ lch: string;
+ matrix: string;
+ multiband: string;
+ rgb: string;
+ rgb16: string;
+ scrgb: string;
+ srgb: string;
+ xyz: string;
+ yxy: string;
+ }
+
+ interface DepthEnum {
+ char: string;
+ complex: string;
+ double: string;
+ dpcomplex: string;
+ float: string;
+ int: string;
+ short: string;
+ uchar: string;
+ uint: string;
+ ushort: string;
+ }
+
+ type FailOnOptions = 'none' | 'truncated' | 'error' | 'warning';
+
+ type TextAlign = 'left' | 'centre' | 'center' | 'right';
+
+ type TextWrap = 'word' | 'char' | 'word-char' | 'none';
+
+ type HorizontalAlignment = 'left' | 'centre' | 'center' | 'right';
+
+ type VerticalAlignment = 'top' | 'centre' | 'center' | 'bottom';
+
+ type TileContainer = 'fs' | 'zip';
+
+ type TileLayout = 'dz' | 'iiif' | 'iiif3' | 'zoomify' | 'google';
+
+ type Blend =
+ | 'clear'
+ | 'source'
+ | 'over'
+ | 'in'
+ | 'out'
+ | 'atop'
+ | 'dest'
+ | 'dest-over'
+ | 'dest-in'
+ | 'dest-out'
+ | 'dest-atop'
+ | 'xor'
+ | 'add'
+ | 'saturate'
+ | 'multiply'
+ | 'screen'
+ | 'overlay'
+ | 'darken'
+ | 'lighten'
+ | 'color-dodge'
+ | 'colour-dodge'
+ | 'color-burn'
+ | 'colour-burn'
+ | 'hard-light'
+ | 'soft-light'
+ | 'difference'
+ | 'exclusion';
+
+ type Gravity = number | string;
+
+ interface GravityEnum {
+ north: number;
+ northeast: number;
+ southeast: number;
+ south: number;
+ southwest: number;
+ west: number;
+ northwest: number;
+ east: number;
+ center: number;
+ centre: number;
+ }
+
+ interface StrategyEnum {
+ entropy: number;
+ attention: number;
+ }
+
+ interface FormatEnum {
+ dcraw: AvailableFormatInfo;
+ dz: AvailableFormatInfo;
+ exr: AvailableFormatInfo;
+ fits: AvailableFormatInfo;
+ gif: AvailableFormatInfo;
+ heif: AvailableFormatInfo;
+ jpeg: AvailableFormatInfo;
+ jp2: AvailableFormatInfo;
+ jxl: AvailableFormatInfo;
+ magick: AvailableFormatInfo;
+ openslide: AvailableFormatInfo;
+ pdf: AvailableFormatInfo;
+ png: AvailableFormatInfo;
+ ppm: AvailableFormatInfo;
+ rad: AvailableFormatInfo;
+ raw: AvailableFormatInfo;
+ svg: AvailableFormatInfo;
+ tiff: AvailableFormatInfo;
+ vips: AvailableFormatInfo;
+ webp: AvailableFormatInfo;
+ }
+
+ interface CacheResult {
+ memory: { current: number; high: number; max: number };
+ files: { current: number; max: number };
+ items: { current: number; max: number };
+ }
+
+ interface Interpolators {
+ /** [Nearest neighbour interpolation](http://en.wikipedia.org/wiki/Nearest-neighbor_interpolation). Suitable for image enlargement only. */
+ nearest: 'nearest';
+ /** [Bilinear interpolation](http://en.wikipedia.org/wiki/Bilinear_interpolation). Faster than bicubic but with less smooth results. */
+ bilinear: 'bilinear';
+ /** [Bicubic interpolation](http://en.wikipedia.org/wiki/Bicubic_interpolation) (the default). */
+ bicubic: 'bicubic';
+ /**
+ * [LBB interpolation](https://github.com/libvips/libvips/blob/master/libvips/resample/lbb.cpp#L100).
+ * Prevents some "[acutance](http://en.wikipedia.org/wiki/Acutance)" but typically reduces performance by a factor of 2.
+ */
+ locallyBoundedBicubic: 'lbb';
+ /** [Nohalo interpolation](http://eprints.soton.ac.uk/268086/). Prevents acutance but typically reduces performance by a factor of 3. */
+ nohalo: 'nohalo';
+ /** [VSQBS interpolation](https://github.com/libvips/libvips/blob/master/libvips/resample/vsqbs.cpp#L48). Prevents "staircasing" when enlarging. */
+ vertexSplitQuadraticBasisSpline: 'vsqbs';
+ }
+
+ type Matrix2x2 = [[number, number], [number, number]];
+ type Matrix3x3 = [[number, number, number], [number, number, number], [number, number, number]];
+ type Matrix4x4 = [[number, number, number, number], [number, number, number, number], [number, number, number, number], [number, number, number, number]];
+}
+
+export = sharp;
diff --git a/apps/api/.output/node_modules/sharp/dist/index.d.mts b/apps/api/.output/node_modules/sharp/dist/index.d.mts
new file mode 100644
index 0000000..3d29d1e
--- /dev/null
+++ b/apps/api/.output/node_modules/sharp/dist/index.d.mts
@@ -0,0 +1,2046 @@
+/**
+ * Copyright 2017 François Nguyen and others.
+ *
+ * Billy Kwok
+ * Bradley Odell
+ * Espen Hovlandsdal
+ * Floris de Bijl
+ * François Nguyen
+ * Jamie Woodbury
+ * Wooseop Kim
+ *
+ * Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated
+ * documentation files (the "Software"), to deal in the Software without restriction, including without limitation
+ * the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to
+ * permit persons to whom the Software is furnished to do so, subject to the following conditions:
+ *
+ * The above copyright notice and this permission notice shall be included in all copies or substantial portions of
+ * the Software.
+ *
+ * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE
+ * WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR
+ * COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR
+ * OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
+ */
+
+// SPDX-License-Identifier: MIT
+
+///
+
+declare type Duplex = import('node:stream').Duplex;
+declare type ColorLike = import('@img/colour').ColorLike;
+
+//#region Constructor functions
+
+/**
+ * Creates a sharp instance from an image
+ * @param input Buffer containing JPEG, PNG, WebP, AVIF, GIF, SVG, TIFF or raw pixel image data, or String containing the path to an JPEG, PNG, WebP, AVIF, GIF, SVG or TIFF image file.
+ * @param options Object with optional attributes.
+ * @throws {Error} Invalid parameters
+ * @returns A sharp instance that can be used to chain operations
+ */
+
+/** Object containing nested boolean values representing the available input and output formats/methods. */
+export const format: FormatEnum;
+
+/** An Object containing the version numbers of sharp, libvips and its dependencies. */
+export const versions: {
+ aom?: string | undefined;
+ archive?: string | undefined;
+ cairo?: string | undefined;
+ cgif?: string | undefined;
+ exif?: string | undefined;
+ expat?: string | undefined;
+ ffi?: string | undefined;
+ fontconfig?: string | undefined;
+ freetype?: string | undefined;
+ fribidi?: string | undefined;
+ glib?: string | undefined;
+ harfbuzz?: string | undefined;
+ heif?: string | undefined;
+ highway?: string | undefined;
+ imagequant?: string | undefined;
+ lcms?: string | undefined;
+ mozjpeg?: string | undefined;
+ pango?: string | undefined;
+ pixman?: string | undefined;
+ png?: string | undefined;
+ "proxy-libintl"?: string | undefined;
+ rsvg?: string | undefined;
+ sharp: string;
+ spng?: string | undefined;
+ tiff?: string | undefined;
+ vips: string;
+ webp?: string | undefined;
+ xml?: string | undefined;
+ "zlib-ng"?: string | undefined;
+};
+
+/** An Object containing the available interpolators and their proper values */
+export const interpolators: Interpolators;
+
+/** An EventEmitter that emits a change event when a task is either queued, waiting for libuv to provide a worker thread, complete */
+export const queue: NodeJS.EventEmitter;
+
+//#endregion
+
+//#region Utility functions
+
+/**
+ * Gets or, when options are provided, sets the limits of libvips' operation cache.
+ * Existing entries in the cache will be trimmed after any change in limits.
+ * This method always returns cache statistics, useful for determining how much working memory is required for a particular task.
+ * @param options Object with the following attributes, or Boolean where true uses default cache settings and false removes all caching (optional, default true)
+ * @returns The cache results.
+ */
+export function cache(options?: boolean | CacheOptions): CacheResult;
+
+/**
+ * Gets or sets the number of threads libvips' should create to process each image.
+ * The default value is the number of CPU cores. A value of 0 will reset to this default.
+ * The maximum number of images that can be processed in parallel is limited by libuv's UV_THREADPOOL_SIZE environment variable.
+ * @param concurrency The new concurrency value.
+ * @returns The current concurrency value.
+ */
+export function concurrency(concurrency?: number): number;
+
+/**
+ * Provides access to internal task counters.
+ * @returns Object containing task counters
+ */
+export function counters(): SharpCounters;
+
+/**
+ * Get and set use of SIMD vector unit instructions. Requires libvips to have been compiled with highway support.
+ * Improves the performance of resize, blur and sharpen operations by taking advantage of the SIMD vector unit of the CPU, e.g. Intel SSE and ARM NEON.
+ * @param enable enable or disable use of SIMD vector unit instructions
+ * @returns true if usage of SIMD vector unit instructions is enabled
+ */
+export function simd(enable?: boolean): boolean;
+
+/**
+ * Block libvips operations at runtime.
+ *
+ * This is in addition to the `VIPS_BLOCK_UNTRUSTED` environment variable,
+ * which when set will block all "untrusted" operations.
+ *
+ * @since 0.32.4
+ *
+ * @example Block all TIFF input.
+ * block({
+ * operation: ['VipsForeignLoadTiff']
+ * });
+ *
+ * @param {Object} options
+ * @param {Array} options.operation - List of libvips low-level operation names to block.
+ */
+export function block(options: { operation: string[] }): void;
+
+/**
+ * Unblock libvips operations at runtime.
+ *
+ * This is useful for defining a list of allowed operations.
+ *
+ * @since 0.32.4
+ *
+ * @example Block all input except WebP from the filesystem.
+ * block({
+ * operation: ['VipsForeignLoad']
+ * });
+ * unblock({
+ * operation: ['VipsForeignLoadWebpFile']
+ * });
+ *
+ * @example Block all input except JPEG and PNG from a Buffer or Stream.
+ * block({
+ * operation: ['VipsForeignLoad']
+ * });
+ * unblock({
+ * operation: ['VipsForeignLoadJpegBuffer', 'VipsForeignLoadPngBuffer']
+ * });
+ *
+ * @param {Object} options
+ * @param {Array} options.operation - List of libvips low-level operation names to unblock.
+ */
+export function unblock(options: { operation: string[] }): void;
+
+//#endregion
+
+export const gravity: GravityEnum;
+export const strategy: StrategyEnum;
+export const kernel: KernelEnum;
+export const fit: FitEnum;
+export const bool: BoolEnum;
+
+export interface Sharp extends Duplex {
+ //#region Channel functions
+
+ /**
+ * Remove alpha channel, if any. This is a no-op if the image does not have an alpha channel.
+ * @returns A sharp instance that can be used to chain operations
+ */
+ removeAlpha(): Sharp;
+
+ /**
+ * Ensure alpha channel, if missing. The added alpha channel will be fully opaque. This is a no-op if the image already has an alpha channel.
+ * @param alpha transparency level (0=fully-transparent, 1=fully-opaque) (optional, default 1).
+ * @returns A sharp instance that can be used to chain operations
+ */
+ ensureAlpha(alpha?: number): Sharp;
+
+ /**
+ * Extract a single channel from a multi-channel image.
+ * @param channel zero-indexed channel/band number to extract, or red, green, blue or alpha.
+ * @throws {Error} Invalid channel
+ * @returns A sharp instance that can be used to chain operations
+ */
+ extractChannel(channel: 0 | 1 | 2 | 3 | 'red' | 'green' | 'blue' | 'alpha'): Sharp;
+
+ /**
+ * Join one or more channels to the image. The meaning of the added channels depends on the output colourspace, set with toColourspace().
+ * By default the output image will be web-friendly sRGB, with additional channels interpreted as alpha channels. Channel ordering follows vips convention:
+ * - sRGB: 0: Red, 1: Green, 2: Blue, 3: Alpha.
+ * - CMYK: 0: Magenta, 1: Cyan, 2: Yellow, 3: Black, 4: Alpha.
+ *
+ * Buffers may be any of the image formats supported by
+ * For raw pixel input, the options object should contain a raw attribute, which follows the format of the attribute of the same name in the sharp() constructor.
+ * @param images one or more images (file paths, Buffers).
+ * @param options image options, see sharp() constructor.
+ * @throws {Error} Invalid parameters
+ * @returns A sharp instance that can be used to chain operations
+ */
+ joinChannel(images: string | Buffer | ArrayLike, options?: SharpOptions): Sharp;
+
+ /**
+ * Perform a bitwise boolean operation on all input image channels (bands) to produce a single channel output image.
+ * @param boolOp one of "and", "or" or "eor" to perform that bitwise operation, like the C logic operators &, | and ^ respectively.
+ * @throws {Error} Invalid parameters
+ * @returns A sharp instance that can be used to chain operations
+ */
+ bandbool(boolOp: keyof BoolEnum): Sharp;
+
+ //#endregion
+
+ //#region Color functions
+
+ /**
+ * Tint the image using the provided colour.
+ * An alpha channel may be present and will be unchanged by the operation.
+ * @param tint Parsed by the color module.
+ * @returns A sharp instance that can be used to chain operations
+ */
+ tint(tint: ColorLike): Sharp;
+
+ /**
+ * Convert to 8-bit greyscale; 256 shades of grey.
+ * This is a linear operation.
+ * If the input image is in a non-linear colour space such as sRGB, use gamma() with greyscale() for the best results.
+ * By default the output image will be web-friendly sRGB and contain three (identical) colour channels.
+ * This may be overridden by other sharp operations such as toColourspace('b-w'), which will produce an output image containing one colour channel.
+ * An alpha channel may be present, and will be unchanged by the operation.
+ * @param greyscale true to enable and false to disable (defaults to true)
+ * @returns A sharp instance that can be used to chain operations
+ */
+ greyscale(greyscale?: boolean): Sharp;
+
+ /**
+ * Alternative spelling of greyscale().
+ * @param grayscale true to enable and false to disable (defaults to true)
+ * @returns A sharp instance that can be used to chain operations
+ */
+ grayscale(grayscale?: boolean): Sharp;
+
+ /**
+ * Set the pipeline colourspace.
+ * The input image will be converted to the provided colourspace at the start of the pipeline.
+ * All operations will use this colourspace before converting to the output colourspace, as defined by toColourspace.
+ *
+ * @param colourspace pipeline colourspace e.g. rgb16, scrgb, lab, grey16 ...
+ * @throws {Error} Invalid parameters
+ * @returns A sharp instance that can be used to chain operations
+ */
+ pipelineColourspace(colourspace?: string): Sharp;
+
+ /**
+ * Alternative spelling of pipelineColourspace
+ * @param colorspace pipeline colourspace e.g. rgb16, scrgb, lab, grey16 ...
+ * @throws {Error} Invalid parameters
+ * @returns A sharp instance that can be used to chain operations
+ */
+ pipelineColorspace(colorspace?: string): Sharp;
+
+ /**
+ * Set the output colourspace.
+ * By default output image will be web-friendly sRGB, with additional channels interpreted as alpha channels.
+ * @param colourspace output colourspace e.g. srgb, rgb, cmyk, lab, b-w ...
+ * @throws {Error} Invalid parameters
+ * @returns A sharp instance that can be used to chain operations
+ */
+ toColourspace(colourspace?: string): Sharp;
+
+ /**
+ * Alternative spelling of toColourspace().
+ * @param colorspace output colorspace e.g. srgb, rgb, cmyk, lab, b-w ...
+ * @throws {Error} Invalid parameters
+ * @returns A sharp instance that can be used to chain operations
+ */
+ toColorspace(colorspace: string): Sharp;
+
+ //#endregion
+
+ //#region Composite functions
+
+ /**
+ * Composite image(s) over the processed (resized, extracted etc.) image.
+ *
+ * The images to composite must be the same size or smaller than the processed image.
+ * If both `top` and `left` options are provided, they take precedence over `gravity`.
+ * @param images - Ordered list of images to composite
+ * @throws {Error} Invalid parameters
+ * @returns A sharp instance that can be used to chain operations
+ */
+ composite(images: OverlayOptions[]): Sharp;
+
+ //#endregion
+
+ //#region Input functions
+
+ /**
+ * Take a "snapshot" of the Sharp instance, returning a new instance.
+ * Cloned instances inherit the input of their parent instance.
+ * This allows multiple output Streams and therefore multiple processing pipelines to share a single input Stream.
+ * @returns A sharp instance that can be used to chain operations
+ */
+ clone(): Sharp;
+
+ /**
+ * Fast access to (uncached) image metadata without decoding any compressed image data.
+ * @returns A sharp instance that can be used to chain operations
+ */
+ metadata(callback: (err: Error, metadata: Metadata) => void): Sharp;
+
+ /**
+ * Fast access to (uncached) image metadata without decoding any compressed image data.
+ * @returns A promise that resolves with a metadata object
+ */
+ metadata(): Promise;
+
+ /**
+ * Keep all metadata (EXIF, ICC, XMP, IPTC) from the input image in the output image.
+ * @returns A sharp instance that can be used to chain operations
+ */
+ keepMetadata(): Sharp;
+
+ /**
+ * Access to pixel-derived image statistics for every channel in the image.
+ * @returns A sharp instance that can be used to chain operations
+ */
+ stats(callback: (err: Error, stats: Stats) => void): Sharp;
+
+ /**
+ * Access to pixel-derived image statistics for every channel in the image.
+ * @returns A promise that resolves with a stats object
+ */
+ stats(): Promise;
+
+ //#endregion
+
+ //#region Operation functions
+
+ /**
+ * Rotate the output image by either an explicit angle
+ * or auto-orient based on the EXIF `Orientation` tag.
+ *
+ * If an angle is provided, it is converted to a valid positive degree rotation.
+ * For example, `-450` will produce a 270 degree rotation.
+ *
+ * When rotating by an angle other than a multiple of 90,
+ * the background colour can be provided with the `background` option.
+ *
+ * If no angle is provided, it is determined from the EXIF data.
+ * Mirroring is supported and may infer the use of a flip operation.
+ *
+ * The use of `rotate` without an angle will remove the EXIF `Orientation` tag, if any.
+ *
+ * Only one rotation can occur per pipeline (aside from an initial call without
+ * arguments to orient via EXIF data). Previous calls to `rotate` in the same
+ * pipeline will be ignored.
+ *
+ * Multi-page images can only be rotated by 180 degrees.
+ *
+ * Method order is important when rotating, resizing and/or extracting regions,
+ * for example `.rotate(x).extract(y)` will produce a different result to `.extract(y).rotate(x)`.
+ *
+ * @example
+ * const pipeline = sharp()
+ * .rotate()
+ * .resize(null, 200)
+ * .toBuffer(function (err, outputBuffer, info) {
+ * // outputBuffer contains 200px high JPEG image data,
+ * // auto-rotated using EXIF Orientation tag
+ * // info.width and info.height contain the dimensions of the resized image
+ * });
+ * readableStream.pipe(pipeline);
+ *
+ * @example
+ * const rotateThenResize = await sharp(input)
+ * .rotate(90)
+ * .resize({ width: 16, height: 8, fit: 'fill' })
+ * .toBuffer();
+ * const resizeThenRotate = await sharp(input)
+ * .resize({ width: 16, height: 8, fit: 'fill' })
+ * .rotate(90)
+ * .toBuffer();
+ *
+ * @param {number} [angle=auto] angle of rotation.
+ * @param {Object} [options] - if present, is an Object with optional attributes.
+ * @param {string|Object} [options.background="#000000"] parsed by the [color](https://www.npmjs.org/package/color) module to extract values for red, green, blue and alpha.
+ * @returns {Sharp}
+ * @throws {Error} Invalid parameters
+ */
+ rotate(angle?: number, options?: RotateOptions): Sharp;
+
+ /**
+ * Alias for calling `rotate()` with no arguments, which orients the image based
+ * on EXIF orientsion.
+ *
+ * This operation is aliased to emphasize its purpose, helping to remove any
+ * confusion between rotation and orientation.
+ *
+ * @example
+ * const output = await sharp(input).autoOrient().toBuffer();
+ *
+ * @returns {Sharp}
+ */
+ autoOrient(): Sharp
+
+ /**
+ * Flip the image about the vertical Y axis. This always occurs after rotation, if any.
+ * The use of flip implies the removal of the EXIF Orientation tag, if any.
+ * @param flip true to enable and false to disable (defaults to true)
+ * @returns A sharp instance that can be used to chain operations
+ */
+ flip(flip?: boolean): Sharp;
+
+ /**
+ * Flop the image about the horizontal X axis. This always occurs after rotation, if any.
+ * The use of flop implies the removal of the EXIF Orientation tag, if any.
+ * @param flop true to enable and false to disable (defaults to true)
+ * @returns A sharp instance that can be used to chain operations
+ */
+ flop(flop?: boolean): Sharp;
+
+ /**
+ * Perform an affine transform on an image. This operation will always occur after resizing, extraction and rotation, if any.
+ * You must provide an array of length 4 or a 2x2 affine transformation matrix.
+ * By default, new pixels are filled with a black background. You can provide a background colour with the `background` option.
+ * A particular interpolator may also be specified. Set the `interpolator` option to an attribute of the `interpolators` Object e.g. `interpolators.nohalo`.
+ *
+ * In the case of a 2x2 matrix, the transform is:
+ * X = matrix[0, 0] * (x + idx) + matrix[0, 1] * (y + idy) + odx
+ * Y = matrix[1, 0] * (x + idx) + matrix[1, 1] * (y + idy) + ody
+ *
+ * where:
+ *
+ * x and y are the coordinates in input image.
+ * X and Y are the coordinates in output image.
+ * (0,0) is the upper left corner.
+ *
+ * @param matrix Affine transformation matrix, may either by a array of length four or a 2x2 matrix array
+ * @param options if present, is an Object with optional attributes.
+ *
+ * @returns A sharp instance that can be used to chain operations
+ */
+ affine(matrix: [number, number, number, number] | Matrix2x2, options?: AffineOptions): Sharp;
+
+ /**
+ * Sharpen the image.
+ * When used without parameters, performs a fast, mild sharpen of the output image.
+ * When a sigma is provided, performs a slower, more accurate sharpen of the L channel in the LAB colour space.
+ * Fine-grained control over the level of sharpening in "flat" (m1) and "jagged" (m2) areas is available.
+ * @param options if present, is an Object with optional attributes
+ * @throws {Error} Invalid parameters
+ * @returns A sharp instance that can be used to chain operations
+ */
+ sharpen(options?: SharpenOptions): Sharp;
+
+ /**
+ * Apply median filter. When used without parameters the default window is 3x3.
+ * @param size square mask size: size x size (optional, default 3)
+ * @throws {Error} Invalid parameters
+ * @returns A sharp instance that can be used to chain operations
+ */
+ median(size?: number): Sharp;
+
+ /**
+ * Blur the image.
+ * When used without parameters, performs a fast, mild blur of the output image.
+ * When a sigma is provided, performs a slower, more accurate Gaussian blur.
+ * When a boolean sigma is provided, ether blur mild or disable blur
+ * @param sigma a value between 0.3 and 1000 representing the sigma of the Gaussian mask, where sigma = 1 + radius / 2.
+ * @throws {Error} Invalid parameters
+ * @returns A sharp instance that can be used to chain operations
+ */
+ blur(sigma?: number | boolean | BlurOptions): Sharp;
+
+ /**
+ * Expand foreground objects using the dilate morphological operator.
+ * @param {Number} [width=1] dilation width in pixels.
+ * @throws {Error} Invalid parameters
+ * @returns A sharp instance that can be used to chain operations
+ */
+ dilate(width?: number): Sharp;
+
+ /**
+ * Shrink foreground objects using the erode morphological operator.
+ * @param {Number} [width=1] erosion width in pixels.
+ * @throws {Error} Invalid parameters
+ * @returns A sharp instance that can be used to chain operations
+ */
+ erode(width?: number): Sharp;
+
+ /**
+ * Merge alpha transparency channel, if any, with background.
+ * @param flatten true to enable and false to disable (defaults to true)
+ * @returns A sharp instance that can be used to chain operations
+ */
+ flatten(flatten?: boolean | FlattenOptions): Sharp;
+
+ /**
+ * Ensure the image has an alpha channel with all white pixel values made fully transparent.
+ * Existing alpha channel values for non-white pixels remain unchanged.
+ * @returns A sharp instance that can be used to chain operations
+ */
+ unflatten(): Sharp;
+
+ /**
+ * Apply a gamma correction by reducing the encoding (darken) pre-resize at a factor of 1/gamma then increasing the encoding (brighten) post-resize at a factor of gamma.
+ * This can improve the perceived brightness of a resized image in non-linear colour spaces.
+ * JPEG and WebP input images will not take advantage of the shrink-on-load performance optimisation when applying a gamma correction.
+ * Supply a second argument to use a different output gamma value, otherwise the first value is used in both cases.
+ * @param gamma value between 1.0 and 3.0. (optional, default 2.2)
+ * @param gammaOut value between 1.0 and 3.0. (optional, defaults to same as gamma)
+ * @throws {Error} Invalid parameters
+ * @returns A sharp instance that can be used to chain operations
+ */
+ gamma(gamma?: number, gammaOut?: number): Sharp;
+
+ /**
+ * Produce the "negative" of the image.
+ * @param negate true to enable and false to disable, or an object of options (defaults to true)
+ * @returns A sharp instance that can be used to chain operations
+ */
+ negate(negate?: boolean | NegateOptions): Sharp;
+
+ /**
+ * Enhance output image contrast by stretching its luminance to cover a full dynamic range.
+ *
+ * Uses a histogram-based approach, taking a default range of 1% to 99% to reduce sensitivity to noise at the extremes.
+ *
+ * Luminance values below the `lower` percentile will be underexposed by clipping to zero.
+ * Luminance values above the `upper` percentile will be overexposed by clipping to the max pixel value.
+ *
+ * @param normalise options
+ * @throws {Error} Invalid parameters
+ * @returns A sharp instance that can be used to chain operations
+ */
+ normalise(normalise?: NormaliseOptions): Sharp;
+
+ /**
+ * Alternative spelling of normalise.
+ * @param normalize options
+ * @throws {Error} Invalid parameters
+ * @returns A sharp instance that can be used to chain operations
+ */
+ normalize(normalize?: NormaliseOptions): Sharp;
+
+ /**
+ * Perform contrast limiting adaptive histogram equalization (CLAHE)
+ *
+ * This will, in general, enhance the clarity of the image by bringing out
+ * darker details. Please read more about CLAHE here:
+ * https://en.wikipedia.org/wiki/Adaptive_histogram_equalization#Contrast_Limited_AHE
+ *
+ * @param options clahe options
+ */
+ clahe(options: ClaheOptions): Sharp;
+
+ /**
+ * Convolve the image with the specified kernel.
+ * @param kernel the specified kernel
+ * @throws {Error} Invalid parameters
+ * @returns A sharp instance that can be used to chain operations
+ */
+ convolve(kernel: Kernel): Sharp;
+
+ /**
+ * Any pixel value greather than or equal to the threshold value will be set to 255, otherwise it will be set to 0.
+ * @param threshold a value in the range 0-255 representing the level at which the threshold will be applied. (optional, default 128)
+ * @param options threshold options
+ * @throws {Error} Invalid parameters
+ * @returns A sharp instance that can be used to chain operations
+ */
+ threshold(threshold?: number, options?: ThresholdOptions): Sharp;
+
+ /**
+ * Perform a bitwise boolean operation with operand image.
+ * This operation creates an output image where each pixel is the result of the selected bitwise boolean operation between the corresponding pixels of the input images.
+ * @param operand Buffer containing image data or String containing the path to an image file.
+ * @param operator one of "and", "or" or "eor" to perform that bitwise operation, like the C logic operators &, | and ^ respectively.
+ * @param options describes operand when using raw pixel data.
+ * @throws {Error} Invalid parameters
+ * @returns A sharp instance that can be used to chain operations
+ */
+ boolean(operand: string | Buffer, operator: keyof BoolEnum, options?: { raw: Raw }): Sharp;
+
+ /**
+ * Apply the linear formula a * input + b to the image (levels adjustment)
+ * @param a multiplier (optional, default 1.0)
+ * @param b offset (optional, default 0.0)
+ * @throws {Error} Invalid parameters
+ * @returns A sharp instance that can be used to chain operations
+ */
+ linear(a?: number | number[] | null, b?: number | number[]): Sharp;
+
+ /**
+ * Recomb the image with the specified matrix.
+ * @param inputMatrix 3x3 Recombination matrix or 4x4 Recombination matrix
+ * @throws {Error} Invalid parameters
+ * @returns A sharp instance that can be used to chain operations
+ */
+ recomb(inputMatrix: Matrix3x3 | Matrix4x4): Sharp;
+
+ /**
+ * Transforms the image using brightness, saturation, hue rotation and lightness.
+ * Brightness and lightness both operate on luminance, with the difference being that brightness is multiplicative whereas lightness is additive.
+ * @param options describes the modulation
+ * @returns A sharp instance that can be used to chain operations
+ */
+ modulate(options?: {
+ brightness?: number | undefined;
+ saturation?: number | undefined;
+ hue?: number | undefined;
+ lightness?: number | undefined;
+ }): Sharp;
+
+ //#endregion
+
+ //#region Output functions
+
+ /**
+ * Write output image data to a file.
+ * If an explicit output format is not selected, it will be inferred from the extension, with JPEG, PNG, WebP, AVIF, TIFF, DZI, and libvips' V format supported.
+ * Note that raw pixel data is only supported for buffer output.
+ * @param fileOut The path to write the image data to.
+ * @param callback Callback function called on completion with two arguments (err, info). info contains the output image format, size (bytes), width, height and channels.
+ * @throws {Error} Invalid parameters
+ * @returns A sharp instance that can be used to chain operations
+ */
+ toFile(fileOut: string, callback: (err: Error, info: OutputInfo) => void): Sharp;
+
+ /**
+ * Write output image data to a file.
+ * @param fileOut The path to write the image data to.
+ * @throws {Error} Invalid parameters
+ * @returns A promise that fulfills with an object containing information on the resulting file
+ */
+ toFile(fileOut: string): Promise;
+
+ /**
+ * Write output to a Buffer. JPEG, PNG, WebP, AVIF, TIFF, GIF and RAW output are supported.
+ * By default, the format will match the input image, except SVG input which becomes PNG output.
+ * @param callback Callback function called on completion with three arguments (err, buffer, info).
+ * @returns A sharp instance that can be used to chain operations
+ */
+ toBuffer(callback: (err: Error, buffer: Buffer, info: OutputInfo) => void): Sharp;
+
+ /**
+ * Write output to a Buffer. JPEG, PNG, WebP, AVIF, TIFF, GIF and RAW output are supported.
+ * By default, the format will match the input image, except SVG input which becomes PNG output.
+ * The underlying `ArrayBuffer` may be marked as non-transferable by some JavaScript runtimes.
+ * @param options resolve options
+ * @param options.resolveWithObject Resolve the Promise with an Object containing data and info properties instead of resolving only with data.
+ * @returns A promise that resolves with the Buffer data.
+ */
+ toBuffer(options?: { resolveWithObject: false }): Promise>;
+
+ /**
+ * Write output to a Buffer. JPEG, PNG, WebP, AVIF, TIFF, GIF and RAW output are supported.
+ * By default, the format will match the input image, except SVG input which becomes PNG output.
+ * The underlying `ArrayBuffer` may be marked as non-transferable by some JavaScript runtimes.
+ * @param options resolve options
+ * @param options.resolveWithObject Resolve the Promise with an Object containing data and info properties instead of resolving only with data.
+ * @returns A promise that resolves with an object containing the Buffer data and an info object containing the output image format, size (bytes), width, height and channels
+ */
+ toBuffer(options: { resolveWithObject: true }): Promise<{ data: Buffer; info: OutputInfo }>;
+
+ /**
+ * Write output to a Uint8Array backed by a transferable ArrayBuffer. JPEG, PNG, WebP, AVIF, TIFF, GIF and RAW output are supported.
+ * By default, the format will match the input image, except SVG input which becomes PNG output.
+ * @returns A promise that resolves with an object containing the Uint8Array data and an info object containing the output image format, size (bytes), width, height and channels
+ */
+ toUint8Array(): Promise<{ data: Uint8Array; info: OutputInfo }>;
+
+ /**
+ * Set output density (DPI) in EXIF metadata.
+ * @param density Density in dots per inch (DPI).
+ * @returns A sharp instance that can be used to chain operations
+ * @throws {Error} Invalid parameters
+ */
+ withDensity(density: number): Sharp;
+
+ /**
+ * Keep all EXIF metadata from the input image in the output image.
+ * EXIF metadata is unsupported for TIFF output.
+ * @returns A sharp instance that can be used to chain operations
+ */
+ keepExif(): Sharp;
+
+ /**
+ * Set EXIF metadata in the output image, ignoring any EXIF in the input image.
+ * @param {Exif} exif Object keyed by IFD0, IFD1 etc. of key/value string pairs to write as EXIF data.
+ * @returns A sharp instance that can be used to chain operations
+ * @throws {Error} Invalid parameters
+ */
+ withExif(exif: Exif): Sharp;
+
+ /**
+ * Update EXIF metadata from the input image in the output image.
+ * @param {Exif} exif Object keyed by IFD0, IFD1 etc. of key/value string pairs to write as EXIF data.
+ * @returns A sharp instance that can be used to chain operations
+ * @throws {Error} Invalid parameters
+ */
+ withExifMerge(exif: Exif): Sharp;
+
+ /**
+ * Keep ICC profile from the input image in the output image where possible.
+ * @returns A sharp instance that can be used to chain operations
+ */
+ keepIccProfile(): Sharp;
+
+ /**
+ * Transform using an ICC profile and attach to the output image.
+ * @param {string} icc - Absolute filesystem path to output ICC profile or built-in profile name (srgb, p3, cmyk).
+ * @returns A sharp instance that can be used to chain operations
+ * @throws {Error} Invalid parameters
+ */
+ withIccProfile(icc: string, options?: WithIccProfileOptions): Sharp;
+
+ /**
+ * Keep all XMP metadata from the input image in the output image.
+ * @returns A sharp instance that can be used to chain operations
+ */
+ keepXmp(): Sharp;
+
+ /**
+ * Set XMP metadata in the output image.
+ * @param {string} xmp - String containing XMP metadata to be embedded in the output image.
+ * @returns A sharp instance that can be used to chain operations
+ * @throws {Error} Invalid parameters
+ */
+ withXmp(xmp: string): Sharp;
+
+ /**
+ * Include all metadata (EXIF, XMP, IPTC) from the input image in the output image.
+ * The default behaviour, when withMetadata is not used, is to strip all metadata and convert to the device-independent sRGB colour space.
+ * This will also convert to and add a web-friendly sRGB ICC profile.
+ * @param withMetadata
+ * @throws {Error} Invalid parameters.
+ */
+ withMetadata(withMetadata?: WriteableMetadata): Sharp;
+
+ /**
+ * Use these JPEG options for output image.
+ * @param options Output options.
+ * @throws {Error} Invalid options
+ * @returns A sharp instance that can be used to chain operations
+ */
+ jpeg(options?: JpegOptions): Sharp;
+
+ /**
+ * Use these JP2 (JPEG 2000) options for output image.
+ * @param options Output options.
+ * @throws {Error} Invalid options
+ * @returns A sharp instance that can be used to chain operations
+ */
+ jp2(options?: Jp2Options): Sharp;
+
+ /**
+ * Use these JPEG-XL (JXL) options for output image.
+ * This feature is experimental, please do not use in production systems.
+ * Requires libvips compiled with support for libjxl.
+ * The prebuilt binaries do not include this.
+ * Image metadata (EXIF, XMP) is unsupported.
+ * @param options Output options.
+ * @throws {Error} Invalid options
+ * @returns A sharp instance that can be used to chain operations
+ */
+ jxl(options?: JxlOptions): Sharp;
+
+ /**
+ * Use these PNG options for output image.
+ * PNG output is always full colour at 8 or 16 bits per pixel.
+ * Indexed PNG input at 1, 2 or 4 bits per pixel is converted to 8 bits per pixel.
+ * @param options Output options.
+ * @throws {Error} Invalid options
+ * @returns A sharp instance that can be used to chain operations
+ */
+ png(options?: PngOptions): Sharp;
+
+ /**
+ * Use these WebP options for output image.
+ * @param options Output options.
+ * @throws {Error} Invalid options
+ * @returns A sharp instance that can be used to chain operations
+ */
+ webp(options?: WebpOptions): Sharp;
+
+ /**
+ * Use these GIF options for output image.
+ * Requires libvips compiled with support for ImageMagick or GraphicsMagick. The prebuilt binaries do not include this - see installing a custom libvips.
+ * @param options Output options.
+ * @throws {Error} Invalid options
+ * @returns A sharp instance that can be used to chain operations
+ */
+ gif(options?: GifOptions): Sharp;
+
+ /**
+ * Use these AVIF options for output image.
+ * @param options Output options.
+ * @throws {Error} Invalid options
+ * @returns A sharp instance that can be used to chain operations
+ */
+ avif(options?: AvifOptions): Sharp;
+
+ /**
+ * Use these HEIF options for output image.
+ * Support for patent-encumbered HEIC images requires the use of a globally-installed libvips compiled with support for libheif, libde265 and x265.
+ * @param options Output options.
+ * @throws {Error} Invalid options
+ * @returns A sharp instance that can be used to chain operations
+ */
+ heif(options?: HeifOptions): Sharp;
+
+ /**
+ * Use these TIFF options for output image.
+ * @param options Output options.
+ * @throws {Error} Invalid options
+ * @returns A sharp instance that can be used to chain operations
+ */
+ tiff(options?: TiffOptions): Sharp;
+
+ /**
+ * Force output to be raw, uncompressed uint8 pixel data.
+ * @param options Raw output options.
+ * @throws {Error} Invalid options
+ * @returns A sharp instance that can be used to chain operations
+ */
+ raw(options?: RawOptions): Sharp;
+
+ /**
+ * Force output to a given format.
+ * @param format a String or an Object with an 'id' attribute
+ * @param options output options
+ * @throws {Error} Unsupported format or options
+ * @returns A sharp instance that can be used to chain operations
+ */
+ toFormat(
+ format: keyof FormatEnum | AvailableFormatInfo | "avif",
+ options?:
+ | OutputOptions
+ | JpegOptions
+ | PngOptions
+ | WebpOptions
+ | AvifOptions
+ | HeifOptions
+ | JxlOptions
+ | GifOptions
+ | Jp2Options
+ | RawOptions
+ | TiffOptions,
+ ): Sharp;
+
+ /**
+ * Use tile-based deep zoom (image pyramid) output.
+ * Set the format and options for tile images via the toFormat, jpeg, png or webp functions.
+ * Use a .zip or .szi file extension with toFile to write to a compressed archive file format.
+ * @param tile tile options
+ * @throws {Error} Invalid options
+ * @returns A sharp instance that can be used to chain operations
+ */
+ tile(tile?: TileOptions): Sharp;
+
+ /**
+ * Set a timeout for processing, in seconds. Use a value of zero to continue processing indefinitely, the default behaviour.
+ * The clock starts when libvips opens an input image for processing. Time spent waiting for a libuv thread to become available is not included.
+ * @param options Object with a `seconds` attribute between 0 and 3600 (number)
+ * @throws {Error} Invalid options
+ * @returns A sharp instance that can be used to chain operations
+ */
+ timeout(options: TimeoutOptions): Sharp;
+
+ //#endregion
+
+ //#region Resize functions
+
+ /**
+ * Resize image to width, height or width x height.
+ *
+ * When both a width and height are provided, the possible methods by which the image should fit these are:
+ * - cover: Crop to cover both provided dimensions (the default).
+ * - contain: Embed within both provided dimensions.
+ * - fill: Ignore the aspect ratio of the input and stretch to both provided dimensions.
+ * - inside: Preserving aspect ratio, resize the image to be as large as possible while ensuring its dimensions are less than or equal to both those specified.
+ * - outside: Preserving aspect ratio, resize the image to be as small as possible while ensuring its dimensions are greater than or equal to both those specified.
+ * Some of these values are based on the object-fit CSS property.
+ *
+ * When using a fit of cover or contain, the default position is centre. Other options are:
+ * - position: top, right top, right, right bottom, bottom, left bottom, left, left top.
+ * - gravity: north, northeast, east, southeast, south, southwest, west, northwest, center or centre.
+ * - strategy: cover only, dynamically crop using either the entropy or attention strategy. Some of these values are based on the object-position CSS property.
+ *
+ * The strategy-based approach resizes so one dimension is at its target length then repeatedly ranks edge regions,
+ * discarding the edge with the lowest score based on the selected strategy.
+ * - entropy: focus on the region with the highest Shannon entropy.
+ * - attention: focus on the region with the highest luminance frequency, colour saturation and presence of skin tones.
+ *
+ * Possible interpolation kernels are:
+ * - nearest: Use nearest neighbour interpolation.
+ * - cubic: Use a Catmull-Rom spline.
+ * - lanczos2: Use a Lanczos kernel with a=2.
+ * - lanczos3: Use a Lanczos kernel with a=3 (the default).
+ *
+ * @param width pixels wide the resultant image should be. Use null or undefined to auto-scale the width to match the height.
+ * @param height pixels high the resultant image should be. Use null or undefined to auto-scale the height to match the width.
+ * @param options resize options
+ * @throws {Error} Invalid parameters
+ * @returns A sharp instance that can be used to chain operations
+ */
+ resize(widthOrOptions?: number | ResizeOptions | null, height?: number | null, options?: ResizeOptions): Sharp;
+
+ /**
+ * Shorthand for resize(null, null, options);
+ *
+ * @param options resize options
+ * @throws {Error} Invalid parameters
+ * @returns A sharp instance that can be used to chain operations
+ */
+ resize(options: ResizeOptions): Sharp;
+
+ /**
+ * Extend / pad / extrude one or more edges of the image with either
+ * the provided background colour or pixels derived from the image.
+ * This operation will always occur after resizing and extraction, if any.
+ * @param extend single pixel count to add to all edges or an Object with per-edge counts
+ * @throws {Error} Invalid parameters
+ * @returns A sharp instance that can be used to chain operations
+ */
+ extend(extend: number | ExtendOptions): Sharp;
+
+ /**
+ * Extract a region of the image.
+ * - Use extract() before resize() for pre-resize extraction.
+ * - Use extract() after resize() for post-resize extraction.
+ * - Use extract() before and after for both.
+ *
+ * @param region The region to extract
+ * @throws {Error} Invalid parameters
+ * @returns A sharp instance that can be used to chain operations
+ */
+ extract(region: Region): Sharp;
+
+ /**
+ * Trim pixels from all edges that contain values similar to the given background colour, which defaults to that of the top-left pixel.
+ * Images with an alpha channel will use the combined bounding box of alpha and non-alpha channels.
+ * The info response Object will contain trimOffsetLeft and trimOffsetTop properties.
+ * @param options trim options
+ * @throws {Error} Invalid parameters
+ * @returns A sharp instance that can be used to chain operations
+ */
+ trim(options?: TrimOptions): Sharp;
+
+ //#endregion
+}
+
+export type SharpInput = Buffer
+ | ArrayBuffer
+ | Uint8Array
+ | Uint8ClampedArray
+ | Int8Array
+ | Uint16Array
+ | Int16Array
+ | Uint32Array
+ | Int32Array
+ | Float32Array
+ | Float64Array
+ | string;
+
+export interface SharpOptions {
+ /**
+ * Auto-orient based on the EXIF `Orientation` tag, if present.
+ * Mirroring is supported and may infer the use of a flip operation.
+ *
+ * Using this option will remove the EXIF `Orientation` tag, if any.
+ */
+ autoOrient?: boolean | undefined;
+ /**
+ * When to abort processing of invalid pixel data, one of (in order of sensitivity):
+ * 'none' (least), 'truncated', 'error' or 'warning' (most), highers level imply lower levels, invalid metadata will always abort.
+ * Use the default 'warning' level with untrusted input. (optional, default 'warning')
+ */
+ failOn?: FailOnOptions | undefined;
+ /**
+ * Do not process input images where the number of pixels (width x height) exceeds this limit.
+ * Assumes image dimensions contained in the input metadata can be trusted.
+ * An integral Number of pixels, zero or false to remove limit, true to use default limit of 268402689 (0x3FFF x 0x3FFF). (optional, default 268402689)
+ */
+ limitInputPixels?: number | boolean | undefined;
+ /**
+ * Do not process input images where the number of channels exceeds this limit.
+ * Assumes image metadata can be trusted.
+ * An integral Number of channels, zero or false to remove limit, true to use default limit of 5. (optional, default 5)
+ */
+ limitInputChannels?: number | boolean | undefined;
+ /** Set this to true to remove safety features that help prevent memory exhaustion (SVG, PNG). (optional, default false) */
+ unlimited?: boolean | undefined;
+ /** Set this to false to use random access rather than sequential read. Some operations will do this automatically. */
+ sequentialRead?: boolean | undefined;
+ /** The DPI at which to render SVG and PDF images, in the range 1 to 100000. (optional, default 72) */
+ density?: number | undefined;
+ /** Should the embedded ICC profile, if any, be ignored. */
+ ignoreIcc?: boolean | undefined;
+ /** Number of pages to extract for multi-page input (GIF, TIFF, PDF), use -1 for all pages */
+ pages?: number | undefined;
+ /** Page number to start extracting from for multi-page input (GIF, TIFF, PDF), zero based. (optional, default 0) */
+ page?: number | undefined;
+ /** TIFF specific input options */
+ tiff?: TiffInputOptions | undefined;
+ /** SVG specific input options */
+ svg?: SvgInputOptions | undefined;
+ /** PDF specific input options */
+ pdf?: PdfInputOptions | undefined;
+ /** OpenSlide specific input options */
+ openSlide?: OpenSlideInputOptions | undefined;
+ /** JPEG 2000 specific input options */
+ jp2?: Jp2InputOptions | undefined;
+ /** @deprecated Use {@link SharpOptions.tiff} instead */
+ subifd?: number | undefined;
+ /** @deprecated Use {@link SharpOptions.pdf} instead */
+ pdfBackground?: ColorLike | undefined;
+ /** @deprecated Use {@link SharpOptions.openSlide} instead */
+ level?: number | undefined;
+ /** Set to `true` to read all frames/pages of an animated image (equivalent of setting `pages` to `-1`). (optional, default false) */
+ animated?: boolean | undefined;
+ /** Describes raw pixel input image data. See raw() for pixel ordering. */
+ raw?: CreateRaw | undefined;
+ /** Describes a new image to be created. */
+ create?: Create | undefined;
+ /** Describes a new text image to be created. */
+ text?: CreateText | undefined;
+ /** Describes how array of input images should be joined. */
+ join?: Join | undefined;
+}
+
+export interface CacheOptions {
+ /** Is the maximum memory in MB to use for this cache (optional, default 50) */
+ memory?: number | undefined;
+ /** Is the maximum number of files to hold open (optional, default 20) */
+ files?: number | undefined;
+ /** Is the maximum number of operations to cache (optional, default 100) */
+ items?: number | undefined;
+}
+
+export interface TimeoutOptions {
+ /** Number of seconds after which processing will be stopped (default 0, eg disabled) */
+ seconds: number;
+}
+
+export interface SharpCounters {
+ /** The number of tasks this module has queued waiting for libuv to provide a worker thread from its pool. */
+ queue: number;
+ /** The number of resize tasks currently being processed. */
+ process: number;
+}
+
+export interface Raw {
+ width: number;
+ height: number;
+ channels: Channels;
+}
+
+export interface CreateRaw extends Raw {
+ /** Specifies that the raw input has already been premultiplied, set to true to avoid sharp premultiplying the image. (optional, default false) */
+ premultiplied?: boolean | undefined;
+ /** The height of each page/frame for animated images, must be an integral factor of the overall image height. */
+ pageHeight?: number | undefined;
+}
+
+export type CreateChannels = 3 | 4;
+
+export interface Create {
+ /** Number of pixels wide. */
+ width: number;
+ /** Number of pixels high. */
+ height: number;
+ /** Number of bands, 3 for RGB, 4 for RGBA */
+ channels: CreateChannels;
+ /** Parsed by the [color](https://www.npmjs.org/package/color) module to extract values for red, green, blue and alpha. */
+ background: ColorLike;
+ /** Describes a noise to be created. */
+ noise?: Noise | undefined;
+ /** The height of each page/frame for animated images, must be an integral factor of the overall image height. */
+ pageHeight?: number | undefined;
+
+}
+
+export interface CreateText {
+ /** Text to render as a UTF-8 string. It can contain Pango markup, for example `Le Monde`. */
+ text: string;
+ /** Font name to render with. */
+ font?: string;
+ /** Absolute filesystem path to a font file that can be used by `font`. */
+ fontfile?: string;
+ /** Integral number of pixels to word-wrap at. Lines of text wider than this will be broken at word boundaries. (optional, default `0`) */
+ width?: number;
+ /**
+ * Integral number of pixels high. When defined, `dpi` will be ignored and the text will automatically fit the pixel resolution
+ * defined by `width` and `height`. Will be ignored if `width` is not specified or set to 0. (optional, default `0`)
+ */
+ height?: number;
+ /** Text alignment ('left', 'centre', 'center', 'right'). (optional, default 'left') */
+ align?: TextAlign;
+ /** Set this to true to apply justification to the text. (optional, default `false`) */
+ justify?: boolean;
+ /** The resolution (size) at which to render the text. Does not take effect if `height` is specified. (optional, default `72`) */
+ dpi?: number;
+ /**
+ * Set this to true to enable RGBA output. This is useful for colour emoji rendering,
+ * or support for pango markup features like `Red! `. (optional, default `false`)
+ */
+ rgba?: boolean;
+ /** Text line height in points. Will use the font line height if none is specified. (optional, default `0`) */
+ spacing?: number;
+ /** Word wrapping style when width is provided, one of: 'word', 'char', 'word-char' (prefer word, fallback to char) or 'none' */
+ wrap?: TextWrap;
+}
+
+export interface Join {
+ /** Number of images per row. */
+ across?: number | undefined;
+ /** Treat input as frames of an animated image. */
+ animated?: boolean | undefined;
+ /** Space between images, in pixels. */
+ shim?: number | undefined;
+ /** Background colour. */
+ background?: ColorLike | undefined;
+ /** Horizontal alignment. */
+ halign?: HorizontalAlignment | undefined;
+ /** Vertical alignment. */
+ valign?: VerticalAlignment | undefined;
+}
+
+export interface TiffInputOptions {
+ /** Sub Image File Directory to extract, defaults to main image. Use -1 for all subifds. */
+ subifd?: number | undefined;
+}
+
+export interface SvgInputOptions {
+ /** Custom CSS for SVG input, applied with a User Origin during the CSS cascade. */
+ stylesheet?: string | undefined;
+ /** Set to `true` to render SVG input at 32-bits per channel (128-bit) instead of 8-bits per channel (32-bit) RGBA. */
+ highBitdepth?: boolean | undefined;
+}
+
+export interface PdfInputOptions {
+ /** Background colour to use when PDF is partially transparent. Requires the use of a globally-installed libvips compiled with support for PDFium, Poppler, ImageMagick or GraphicsMagick. */
+ background?: ColorLike | undefined;
+}
+
+export interface OpenSlideInputOptions {
+ /** Level to extract from a multi-level input, zero based. (optional, default 0) */
+ level?: number | undefined;
+}
+
+export interface Jp2InputOptions {
+ /** Set to `true` to load JPEG 2000 images using [oneshot mode](https://github.com/libvips/libvips/issues/4205) */
+ oneshot?: boolean | undefined;
+}
+
+export interface ExifDir {
+ [k: string]: string;
+}
+
+export interface Exif {
+ 'IFD0'?: ExifDir;
+ 'IFD1'?: ExifDir;
+ 'IFD2'?: ExifDir;
+ 'IFD3'?: ExifDir;
+}
+
+export type HeifCompression = 'av1' | 'hevc';
+
+export type HeifTune = 'auto' | 'iq' | 'psnr' | 'ssim';
+
+export type Unit = 'inch' | 'cm';
+
+export type MediaType =
+ 'application/pdf' |
+ 'image/avif' |
+ 'image/fits' |
+ 'image/gif' |
+ 'image/heic' |
+ 'image/jp2' |
+ 'image/jpeg' |
+ 'image/jxl' |
+ 'image/png' |
+ 'image/svg+xml' |
+ 'image/tiff' |
+ 'image/vnd.radiance' |
+ 'image/webp' |
+ 'image/x-exr' |
+ 'image/x-portable-pixmap';
+
+export interface WriteableMetadata {
+ /** Number of pixels per inch (DPI) */
+ density?: number | undefined;
+ /** Value between 1 and 8, used to update the EXIF Orientation tag. */
+ orientation?: number | undefined;
+ /**
+ * Filesystem path to output ICC profile, defaults to sRGB.
+ * @deprecated Use `withIccProfile()` instead.
+ */
+ icc?: string | undefined;
+ /**
+ * Object keyed by IFD0, IFD1 etc. of key/value string pairs to write as EXIF data.
+ * @deprecated Use `withExif()` or `withExifMerge()` instead.
+ */
+ exif?: Exif | undefined;
+}
+
+export interface Metadata {
+ /** Number value of the EXIF Orientation header, if present */
+ orientation?: number | undefined;
+ /** Name of decoder used to decompress image data e.g. jpeg, png, webp, gif, svg */
+ format: keyof FormatEnum;
+ /** Total size of image in bytes, for Stream and Buffer input only */
+ size?: number | undefined;
+ /** Number of pixels wide (EXIF orientation is not taken into consideration) */
+ width: number;
+ /** Number of pixels high (EXIF orientation is not taken into consideration) */
+ height: number;
+ /** Any changed metadata after the image orientation is applied. */
+ autoOrient: {
+ /** Number of pixels wide (EXIF orientation is taken into consideration) */
+ width: number;
+ /** Number of pixels high (EXIF orientation is taken into consideration) */
+ height: number;
+ };
+ /** Name of colour space interpretation */
+ space: keyof ColourspaceEnum;
+ /** Number of bands e.g. 3 for sRGB, 4 for CMYK */
+ channels: Channels;
+ /** Name of pixel depth format e.g. uchar, char, ushort, float ... */
+ depth: keyof DepthEnum;
+ /** Number of pixels per inch (DPI), if present */
+ density?: number | undefined;
+ /** String containing JPEG chroma subsampling, 4:2:0 or 4:4:4 for RGB, 4:2:0:4 or 4:4:4:4 for CMYK */
+ chromaSubsampling?: string | undefined;
+ /** Boolean indicating whether the image is interlaced using a progressive scan */
+ isProgressive: boolean;
+ /** Boolean indicating whether the image is palette-based (GIF, PNG). */
+ isPalette: boolean;
+ /** Number of bits per sample for each channel (GIF, PNG). */
+ bitsPerSample?: number | undefined;
+ /** Number of pages/frames contained within the image, with support for TIFF, HEIF, PDF, animated GIF and animated WebP */
+ pages?: number | undefined;
+ /** Number of pixels high each page in a multi-page image will be. */
+ pageHeight?: number | undefined;
+ /** Number of times to loop an animated image, zero refers to a continuous loop. */
+ loop?: number | undefined;
+ /** Delay in ms between each page in an animated image, provided as an array of integers. */
+ delay?: number[] | undefined;
+ /** Number of the primary page in a HEIF image */
+ pagePrimary?: number | undefined;
+ /** Boolean indicating the presence of an embedded ICC profile */
+ hasProfile: boolean;
+ /** Boolean indicating the presence of an alpha transparency channel */
+ hasAlpha: boolean;
+ /** Buffer containing raw EXIF data, if present */
+ exif?: Buffer | undefined;
+ /** Buffer containing raw ICC profile data, if present */
+ icc?: Buffer | undefined;
+ /** Buffer containing raw IPTC data, if present */
+ iptc?: Buffer | undefined;
+ /** Buffer containing raw XMP data, if present */
+ xmp?: Buffer | undefined;
+ /** String containing XMP data, if valid UTF-8 */
+ xmpAsString?: string | undefined;
+ /** Buffer containing raw TIFFTAG_PHOTOSHOP data, if present */
+ tifftagPhotoshop?: Buffer | undefined;
+ /** The encoder used to compress an HEIF file, `av1` (AVIF) or `hevc` (HEIC) */
+ compression?: HeifCompression | undefined;
+ /** Default background colour, if present, for PNG (bKGD) and GIF images */
+ background?: { r: number; g: number; b: number } | { gray: number };
+ /** Details of each level in a multi-level image provided as an array of objects, requires libvips compiled with support for OpenSlide */
+ levels?: LevelMetadata[] | undefined;
+ /** Number of Sub Image File Directories in an OME-TIFF image */
+ subifds?: number | undefined;
+ /** The unit of resolution (density) */
+ resolutionUnit?: Unit | undefined;
+ /** String containing format for images loaded via *magick */
+ formatMagick?: string | undefined;
+ /** Array of keyword/text pairs representing PNG text blocks, if present. */
+ comments?: CommentsMetadata[] | undefined;
+ /** HDR gain map, if present */
+ gainMap?: GainMapMetadata | undefined;
+ /** Media Type (MIME Type) */
+ mediaType?: MediaType | undefined;
+}
+
+export interface LevelMetadata {
+ width: number;
+ height: number;
+}
+
+export interface CommentsMetadata {
+ keyword: string;
+ text: string;
+}
+
+export interface GainMapMetadata {
+ /** JPEG image */
+ image: Buffer;
+}
+
+export interface Stats {
+ /** Array of channel statistics for each channel in the image. */
+ channels: ChannelStats[];
+ /** Value to identify if the image is opaque or transparent, based on the presence and use of alpha channel */
+ isOpaque: boolean;
+ /** Histogram-based estimation of greyscale entropy, discarding alpha channel if any */
+ entropy: number;
+ /** Estimation of greyscale sharpness based on the standard deviation of a Laplacian convolution, discarding alpha channel if any */
+ sharpness: number;
+ /** Object containing most dominant sRGB colour based on a 4096-bin 3D histogram */
+ dominant: { r: number; g: number; b: number };
+}
+
+export interface ChannelStats {
+ /** minimum value in the channel */
+ min: number;
+ /** maximum value in the channel */
+ max: number;
+ /** sum of all values in a channel */
+ sum: number;
+ /** sum of squared values in a channel */
+ squaresSum: number;
+ /** mean of the values in a channel */
+ mean: number;
+ /** standard deviation for the values in a channel */
+ stdev: number;
+ /** x-coordinate of one of the pixel where the minimum lies */
+ minX: number;
+ /** y-coordinate of one of the pixel where the minimum lies */
+ minY: number;
+ /** x-coordinate of one of the pixel where the maximum lies */
+ maxX: number;
+ /** y-coordinate of one of the pixel where the maximum lies */
+ maxY: number;
+}
+
+export interface OutputOptions {
+ /** Force format output, otherwise attempt to use input format (optional, default true) */
+ force?: boolean | undefined;
+}
+
+export interface WithIccProfileOptions {
+ /** Should the ICC profile be included in the output image metadata? (optional, default true) */
+ attach?: boolean | undefined;
+}
+
+export interface JpegOptions extends OutputOptions {
+ /** Quality, integer 1-100 (optional, default 80) */
+ quality?: number | undefined;
+ /** Use progressive (interlace) scan (optional, default false) */
+ progressive?: boolean | undefined;
+ /** Set to '4:4:4' to prevent chroma subsampling when quality <= 90 (optional, default '4:2:0') */
+ chromaSubsampling?: string | undefined;
+ /** Apply trellis quantisation (optional, default false) */
+ trellisQuantisation?: boolean | undefined;
+ /** Apply overshoot deringing (optional, default false) */
+ overshootDeringing?: boolean | undefined;
+ /** Optimise progressive scans, forces progressive (optional, default false) */
+ optimiseScans?: boolean | undefined;
+ /** Alternative spelling of optimiseScans (optional, default false) */
+ optimizeScans?: boolean | undefined;
+ /** Optimise Huffman coding tables (optional, default true) */
+ optimiseCoding?: boolean | undefined;
+ /** Alternative spelling of optimiseCoding (optional, default true) */
+ optimizeCoding?: boolean | undefined;
+ /** Quantization table to use, integer 0-8 (optional, default 0) */
+ quantisationTable?: number | undefined;
+ /** Alternative spelling of quantisationTable (optional, default 0) */
+ quantizationTable?: number | undefined;
+ /** Use mozjpeg defaults (optional, default false) */
+ mozjpeg?: boolean | undefined;
+}
+
+export interface Jp2Options extends OutputOptions {
+ /** Quality, integer 1-100 (optional, default 80) */
+ quality?: number;
+ /** Use lossless compression mode (optional, default false) */
+ lossless?: boolean;
+ /** Horizontal tile size (optional, default 512) */
+ tileWidth?: number;
+ /** Vertical tile size (optional, default 512) */
+ tileHeight?: number;
+ /** Set to '4:2:0' to enable chroma subsampling (optional, default '4:4:4') */
+ chromaSubsampling?: '4:4:4' | '4:2:0';
+}
+
+export interface JxlOptions extends OutputOptions, AnimationOptions {
+ /** Maximum encoding error, between 0 (highest quality) and 15 (lowest quality) (optional, default 1.0) */
+ distance?: number;
+ /** Calculate distance based on JPEG-like quality, between 1 and 100, overrides distance if specified */
+ quality?: number;
+ /** Target decode speed tier, between 0 (highest quality) and 4 (lowest quality) (optional, default 0) */
+ decodingTier?: number;
+ /** Use lossless compression (optional, default false) */
+ lossless?: boolean;
+ /** CPU effort, between 1 (fastest) and 9 (slowest) (optional, default 7) */
+ effort?: number | undefined;
+}
+
+export interface WebpOptions extends OutputOptions, AnimationOptions {
+ /** Quality, integer 1-100 (optional, default 80) */
+ quality?: number | undefined;
+ /** Quality of alpha layer, number from 0-100 (optional, default 100) */
+ alphaQuality?: number | undefined;
+ /** Use lossless compression mode (optional, default false) */
+ lossless?: boolean | undefined;
+ /** Use near_lossless compression mode (optional, default false) */
+ nearLossless?: boolean | undefined;
+ /** Use high quality chroma subsampling (optional, default false) */
+ smartSubsample?: boolean | undefined;
+ /** Auto-adjust the deblocking filter, slow but can improve low contrast edges (optional, default false) */
+ smartDeblock?: boolean | undefined;
+ /** Level of CPU effort to reduce file size, integer 0-6 (optional, default 4) */
+ effort?: number | undefined;
+ /** Prevent use of animation key frames to minimise file size (slow) (optional, default false) */
+ minSize?: boolean | undefined;
+ /** Allow mixture of lossy and lossless animation frames (slow) (optional, default false) */
+ mixed?: boolean | undefined;
+ /** Preset options: one of default, photo, picture, drawing, icon, text (optional, default 'default') */
+ preset?: keyof PresetEnum | undefined;
+ /** Preserve the colour data in transparent pixels (optional, default false) */
+ exact?: boolean | undefined;
+}
+
+export interface AvifOptions extends OutputOptions {
+ /** quality, integer 1-100 (optional, default 50) */
+ quality?: number | undefined;
+ /** use lossless compression (optional, default false) */
+ lossless?: boolean | undefined;
+ /** Level of CPU effort to reduce file size, between 0 (fastest) and 9 (slowest) (optional, default 4) */
+ effort?: number | undefined;
+ /** set to '4:2:0' to use chroma subsampling, requires libvips v8.11.0 (optional, default '4:4:4') */
+ chromaSubsampling?: string | undefined;
+ /** Set bitdepth to 8, 10 or 12 bit (optional, default 8) */
+ bitdepth?: 8 | 10 | 12 | undefined;
+ /** Tune output for a quality metric, one of 'auto', 'iq', 'psnr' or 'ssim' (optional, default 'auto') */
+ tune?: HeifTune | undefined;
+}
+
+export interface HeifOptions extends OutputOptions {
+ /** quality, integer 1-100 (optional, default 50) */
+ quality?: number | undefined;
+ /** compression format: av1, hevc (optional, default 'av1') */
+ compression?: HeifCompression | undefined;
+ /** use lossless compression (optional, default false) */
+ lossless?: boolean | undefined;
+ /** Level of CPU effort to reduce file size, between 0 (fastest) and 9 (slowest) (optional, default 4) */
+ effort?: number | undefined;
+ /** set to '4:2:0' to use chroma subsampling (optional, default '4:4:4') */
+ chromaSubsampling?: string | undefined;
+ /** Set bitdepth to 8, 10 or 12 bit (optional, default 8) */
+ bitdepth?: 8 | 10 | 12 | undefined;
+ /** Tune output for a quality metric, one of 'auto', 'iq', 'psnr' or 'ssim' (optional, default 'auto') */
+ tune?: HeifTune | undefined;
+}
+
+export interface GifOptions extends OutputOptions, AnimationOptions {
+ /** Re-use existing palette, otherwise generate new (slow) */
+ reuse?: boolean | undefined;
+ /** Use progressive (interlace) scan */
+ progressive?: boolean | undefined;
+ /** Maximum number of palette entries, including transparency, between 2 and 256 (optional, default 256) */
+ colours?: number | undefined;
+ /** Alternative spelling of "colours". Maximum number of palette entries, including transparency, between 2 and 256 (optional, default 256) */
+ colors?: number | undefined;
+ /** Level of CPU effort to reduce file size, between 1 (fastest) and 10 (slowest) (optional, default 7) */
+ effort?: number | undefined;
+ /** Level of Floyd-Steinberg error diffusion, between 0 (least) and 1 (most) (optional, default 1.0) */
+ dither?: number | undefined;
+ /** Maximum inter-frame error for transparency, between 0 (lossless) and 32 (optional, default 0) */
+ interFrameMaxError?: number | undefined;
+ /** Maximum inter-palette error for palette reuse, between 0 and 256 (optional, default 3) */
+ interPaletteMaxError?: number | undefined;
+ /** Keep duplicate frames in the output instead of combining them (optional, default false) */
+ keepDuplicateFrames?: boolean | undefined;
+}
+
+export interface TiffOptions extends OutputOptions {
+ /** Quality, integer 1-100 (optional, default 80) */
+ quality?: number | undefined;
+ /** Compression options: none, jpeg, deflate, packbits, ccittfax4, lzw, webp, zstd, jp2k (optional, default 'jpeg') */
+ compression?: string | undefined;
+ /** Use BigTIFF variant (has no effect when compression is none) (optional, default false) */
+ bigtiff?: boolean | undefined;
+ /** Compression predictor options: none, horizontal, float (optional, default 'horizontal') */
+ predictor?: string | undefined;
+ /** Write an image pyramid (optional, default false) */
+ pyramid?: boolean | undefined;
+ /** Write a tiled tiff (optional, default false) */
+ tile?: boolean | undefined;
+ /** Horizontal tile size (optional, default 256) */
+ tileWidth?: number | undefined;
+ /** Vertical tile size, valid values are integers in the range 1-32768 (optional, default 256) */
+ tileHeight?: number | undefined;
+ /** Horizontal resolution in pixels/mm, valid values are numbers in the range 0.001-1000000 (optional, default 1.0) */
+ xres?: number | undefined;
+ /** Vertical resolution in pixels/mm, valid values are numbers in the range 0.001-1000000 (optional, default 1.0) */
+ yres?: number | undefined;
+ /** Reduce bitdepth to 1, 2 or 4 bit (optional) */
+ bitdepth?: 1 | 2 | 4 | undefined;
+ /** Write 1-bit images as miniswhite (optional, default false) */
+ miniswhite?: boolean | undefined;
+ /** Resolution unit options: inch, cm (optional, default 'inch') */
+ resolutionUnit?: Unit | undefined;
+}
+
+export interface PngOptions extends OutputOptions {
+ /** Use progressive (interlace) scan (optional, default false) */
+ progressive?: boolean | undefined;
+ /** zlib compression level, 0-9 (optional, default 6) */
+ compressionLevel?: number | undefined;
+ /** Use adaptive row filtering (optional, default false) */
+ adaptiveFiltering?: boolean | undefined;
+ /** Use the lowest number of colours needed to achieve given quality (optional, default `100`) */
+ quality?: number | undefined;
+ /** Level of CPU effort to reduce file size, between 1 (fastest) and 10 (slowest), sets palette to true (optional, default 7) */
+ effort?: number | undefined;
+ /** Quantise to a palette-based image with alpha transparency support (optional, default false) */
+ palette?: boolean | undefined;
+ /** Maximum number of palette entries (optional, default 256) */
+ colours?: number | undefined;
+ /** Alternative Spelling of "colours". Maximum number of palette entries (optional, default 256) */
+ colors?: number | undefined;
+ /** Level of Floyd-Steinberg error diffusion (optional, default 1.0) */
+ dither?: number | undefined;
+}
+
+export interface RotateOptions {
+ /** parsed by the color module to extract values for red, green, blue and alpha. (optional, default "#000000") */
+ background?: ColorLike | undefined;
+}
+
+export type Precision = 'integer' | 'float' | 'approximate';
+
+export interface BlurOptions {
+ /** A value between 0.3 and 1000 representing the sigma of the Gaussian mask, where `sigma = 1 + radius / 2` */
+ sigma: number;
+ /** A value between 0.001 and 1. A smaller value will generate a larger, more accurate mask. */
+ minAmplitude?: number;
+ /** How accurate the operation should be, one of: integer, float, approximate. (optional, default "integer") */
+ precision?: Precision | undefined;
+}
+
+export interface FlattenOptions {
+ /** background colour, parsed by the color module, defaults to black. (optional, default {r:0,g:0,b:0}) */
+ background?: ColorLike | undefined;
+}
+
+export interface NegateOptions {
+ /** whether or not to negate any alpha channel. (optional, default true) */
+ alpha?: boolean | undefined;
+}
+
+export interface NormaliseOptions {
+ /** Percentile below which luminance values will be underexposed. */
+ lower?: number | undefined;
+ /** Percentile above which luminance values will be overexposed. */
+ upper?: number | undefined;
+}
+
+export interface ResizeOptions {
+ /** Alternative means of specifying width. If both are present this takes priority. */
+ width?: number | undefined;
+ /** Alternative means of specifying height. If both are present this takes priority. */
+ height?: number | undefined;
+ /** How the image should be resized to fit both provided dimensions, one of cover, contain, fill, inside or outside. (optional, default 'cover') */
+ fit?: keyof FitEnum | undefined;
+ /** Position, gravity or strategy to use when fit is cover or contain. (optional, default 'centre') */
+ position?: number | string | undefined;
+ /** Background colour when using a fit of contain, parsed by the color module, defaults to black without transparency. (optional, default {r:0,g:0,b:0,alpha:1}) */
+ background?: ColorLike | undefined;
+ /** The kernel to use for image reduction. (optional, default 'lanczos3') */
+ kernel?: keyof KernelEnum | undefined;
+ /** Do not enlarge if the width or height are already less than the specified dimensions, equivalent to GraphicsMagick's > geometry option. (optional, default false) */
+ withoutEnlargement?: boolean | undefined;
+ /** Do not reduce if the width or height are already greater than the specified dimensions, equivalent to GraphicsMagick's < geometry option. (optional, default false) */
+ withoutReduction?: boolean | undefined;
+ /** Take greater advantage of the JPEG and WebP shrink-on-load feature, which can lead to a slight moiré pattern on some images. (optional, default true) */
+ fastShrinkOnLoad?: boolean | undefined;
+}
+
+export interface Region {
+ /** zero-indexed offset from left edge, an integer between 0 and 100000000 */
+ left: number;
+ /** zero-indexed offset from top edge, an integer between 0 and 100000000 */
+ top: number;
+ /** dimension of extracted image, an integer between 0 and 100000000 */
+ width: number;
+ /** dimension of extracted image, an integer between 0 and 100000000 */
+ height: number;
+}
+
+export interface Noise {
+ /** type of generated noise, currently only gaussian is supported. */
+ type: 'gaussian';
+ /** mean of pixels in generated noise. */
+ mean?: number | undefined;
+ /** standard deviation of pixels in generated noise. */
+ sigma?: number | undefined;
+}
+
+export type ExtendWith = 'background' | 'copy' | 'repeat' | 'mirror';
+
+export interface ExtendOptions {
+ /** single pixel count to top edge, valid values are integers in the range 0-10000 (optional, default 0) */
+ top?: number | undefined;
+ /** single pixel count to left edge, valid values are integers in the range 0-10000 (optional, default 0) */
+ left?: number | undefined;
+ /** single pixel count to bottom edge, valid values are integers in the range 0-10000 (optional, default 0) */
+ bottom?: number | undefined;
+ /** single pixel count to right edge, valid values are integers in the range 0-10000 (optional, default 0) */
+ right?: number | undefined;
+ /** background colour, parsed by the color module, defaults to black without transparency. (optional, default {r:0,g:0,b:0,alpha:1}) */
+ background?: ColorLike | undefined;
+ /** how the extension is done, one of: "background", "copy", "repeat", "mirror" (optional, default `'background'`) */
+ extendWith?: ExtendWith | undefined;
+}
+
+export interface TrimOptions {
+ /** Background colour, parsed by the color module, defaults to that of the top-left pixel. (optional) */
+ background?: ColorLike | undefined;
+ /** Allowed difference from the above colour, a positive number. (optional, default 10) */
+ threshold?: number | undefined;
+ /** Does the input more closely resemble line art (e.g. vector) rather than being photographic? (optional, default false) */
+ lineArt?: boolean | undefined;
+ /** Leave a margin around trimmed content, integral number of pixels between 0 and 10000000. (optional, default 0) */
+ margin?: number | undefined;
+}
+
+export interface RawOptions {
+ depth?: keyof DepthEnum;
+}
+
+/** 1 for grayscale, 2 for grayscale + alpha, 3 for sRGB, 4 for CMYK or RGBA */
+export type Channels = 1 | 2 | 3 | 4;
+
+export type Colour = ColorLike;
+export type Color = ColorLike;
+
+export interface Kernel {
+ /** width of the kernel in pixels. */
+ width: number;
+ /** height of the kernel in pixels. */
+ height: number;
+ /** Array of length width*height containing the kernel values. */
+ kernel: ArrayLike;
+ /** the scale of the kernel in pixels. (optional, default sum) */
+ scale?: number | undefined;
+ /** the offset of the kernel in pixels. (optional, default 0) */
+ offset?: number | undefined;
+}
+
+export interface ClaheOptions {
+ /** width of the region. Valid values are integers in the range 1-65536. */
+ width: number;
+ /** height of the region. Valid values are integers in the range 1-65536. */
+ height: number;
+ /** max slope of the cumulative contrast. A value of 0 disables contrast limiting. Valid values are integers in the range 0-100. (optional, default 3) */
+ maxSlope?: number | undefined;
+}
+
+export interface ThresholdOptions {
+ /** convert to single channel greyscale. (optional, default true) */
+ greyscale?: boolean | undefined;
+ /** alternative spelling for greyscale. (optional, default true) */
+ grayscale?: boolean | undefined;
+}
+
+export interface OverlayOptions extends SharpOptions {
+ /** Buffer containing image data, String containing the path to an image file, or Create object */
+ input?: string | Buffer | { create: Create } | { text: CreateText } | { raw: CreateRaw } | undefined;
+ /** how to blend this image with the image below. (optional, default `'over'`) */
+ blend?: Blend | undefined;
+ /** gravity at which to place the overlay. (optional, default 'centre') */
+ gravity?: Gravity | undefined;
+ /** the pixel offset from the top edge, an integer between -100000000 and 100000000. */
+ top?: number | undefined;
+ /** the pixel offset from the left edge, an integer between -100000000 and 100000000. */
+ left?: number | undefined;
+ /** set to true to repeat the overlay image across the entire image with the given gravity. (optional, default false) */
+ tile?: boolean | undefined;
+ /** Set to true to avoid premultipling the image below. Equivalent to the --premultiplied vips option. */
+ premultiplied?: boolean | undefined;
+ /** number representing the DPI for vector overlay image. (optional, default 72)*/
+ density?: number | undefined;
+ /** Set to true to read all frames/pages of an animated image. (optional, default false) */
+ animated?: boolean | undefined;
+ /** see sharp() constructor, (optional, default 'warning') */
+ failOn?: FailOnOptions | undefined;
+ /** see sharp() constructor, (optional, default 268402689) */
+ limitInputPixels?: number | boolean | undefined;
+ /** see sharp() constructor, (optional, default false) */
+ autoOrient?: boolean | undefined;
+}
+
+export interface TileOptions {
+ /** Tile size in pixels, a value between 1 and 8192. (optional, default 256) */
+ size?: number | undefined;
+ /** Tile overlap in pixels, a value between 0 and 8192. (optional, default 0) */
+ overlap?: number | undefined;
+ /** Tile angle of rotation, must be a multiple of 90. (optional, default 0) */
+ angle?: number | undefined;
+ /** background colour, parsed by the color module, defaults to white without transparency. (optional, default {r:255,g:255,b:255,alpha:1}) */
+ background?: ColorLike | undefined;
+ /** How deep to make the pyramid, possible values are "onepixel", "onetile" or "one" (default based on layout) */
+ depth?: string | undefined;
+ /** Threshold to skip tile generation, a value 0 - 255 for 8-bit images or 0 - 65535 for 16-bit images */
+ skipBlanks?: number | undefined;
+ /** Tile container, with value fs (filesystem) or zip (compressed file). (optional, default 'fs') */
+ container?: TileContainer | undefined;
+ /** Filesystem layout, possible values are dz, iiif, iiif3, zoomify or google. (optional, default 'dz') */
+ layout?: TileLayout | undefined;
+ /** Centre image in tile. (optional, default false) */
+ centre?: boolean | undefined;
+ /** Alternative spelling of centre. (optional, default false) */
+ center?: boolean | undefined;
+ /** When layout is iiif/iiif3, sets the @id/id attribute of info.json (optional, default 'https://example.com/iiif') */
+ id?: string | undefined;
+ /** The name of the directory within the zip file when container is `zip`. */
+ basename?: string | undefined;
+}
+
+export interface AnimationOptions {
+ /** Number of animation iterations, a value between 0 and 65535. Use 0 for infinite animation. (optional, default 0) */
+ loop?: number | undefined;
+ /** delay(s) between animation frames (in milliseconds), each value between 0 and 65535. (optional) */
+ delay?: number | number[] | undefined;
+}
+
+export interface SharpenOptions {
+ /** The sigma of the Gaussian mask, where sigma = 1 + radius / 2, between 0.000001 and 10000 */
+ sigma: number;
+ /** The level of sharpening to apply to "flat" areas, between 0 and 1000000 (optional, default 1.0) */
+ m1?: number | undefined;
+ /** The level of sharpening to apply to "jagged" areas, between 0 and 1000000 (optional, default 2.0) */
+ m2?: number | undefined;
+ /** Threshold between "flat" and "jagged", between 0 and 1000000 (optional, default 2.0) */
+ x1?: number | undefined;
+ /** Maximum amount of brightening, between 0 and 1000000 (optional, default 10.0) */
+ y2?: number | undefined;
+ /** Maximum amount of darkening, between 0 and 1000000 (optional, default 20.0) */
+ y3?: number | undefined;
+}
+
+export interface AffineOptions {
+ /** Parsed by the color module to extract values for red, green, blue and alpha. (optional, default "#000000") */
+ background?: string | object | undefined;
+ /** Input horizontal offset (optional, default 0) */
+ idx?: number | undefined;
+ /** Input vertical offset (optional, default 0) */
+ idy?: number | undefined;
+ /** Output horizontal offset (optional, default 0) */
+ odx?: number | undefined;
+ /** Output horizontal offset (optional, default 0) */
+ ody?: number | undefined;
+ /** Interpolator (optional, default interpolators.bicubic) */
+ interpolator?: Interpolators[keyof Interpolators] | undefined;
+}
+
+export interface OutputInfo {
+ format: string;
+ size: number;
+ width: number;
+ height: number;
+ channels: Channels;
+ /** indicating if premultiplication was used */
+ premultiplied: boolean;
+ /** Indicates if the output image has an alpha channel */
+ hasAlpha: boolean;
+ /** Only defined when using a crop strategy */
+ cropOffsetLeft?: number | undefined;
+ /** Only defined when using a crop strategy */
+ cropOffsetTop?: number | undefined;
+ /** Only defined when using a trim method */
+ trimOffsetLeft?: number | undefined;
+ /** Only defined when using a trim method */
+ trimOffsetTop?: number | undefined;
+ /** DPI the font was rendered at, only defined when using `text` input */
+ textAutofitDpi?: number | undefined;
+ /** When using the attention crop strategy, the focal point of the cropped region */
+ attentionX?: number | undefined;
+ attentionY?: number | undefined;
+ /** Number of pages/frames contained within the image, with support for TIFF, HEIF, PDF, animated GIF and animated WebP */
+ pages?: number | undefined;
+ /** Number of pixels high each page in a multi-page image will be. */
+ pageHeight?: number | undefined;
+}
+
+export interface AvailableFormatInfo {
+ id: string;
+ input: { file: boolean; buffer: boolean; stream: boolean; fileSuffix?: string[] };
+ output: { file: boolean; buffer: boolean; stream: boolean; alias?: string[] };
+}
+
+export interface FitEnum {
+ contain: 'contain';
+ cover: 'cover';
+ fill: 'fill';
+ inside: 'inside';
+ outside: 'outside';
+}
+
+export interface KernelEnum {
+ nearest: 'nearest';
+ cubic: 'cubic';
+ linear: 'linear';
+ mitchell: 'mitchell';
+ lanczos2: 'lanczos2';
+ lanczos3: 'lanczos3';
+ mks2013: 'mks2013';
+ mks2021: 'mks2021';
+}
+
+export interface PresetEnum {
+ default: 'default';
+ picture: 'picture';
+ photo: 'photo';
+ drawing: 'drawing';
+ icon: 'icon';
+ text: 'text';
+}
+
+export interface BoolEnum {
+ and: 'and';
+ or: 'or';
+ eor: 'eor';
+}
+
+export interface ColourspaceEnum {
+ 'b-w': string;
+ cmc: string;
+ cmyk: string;
+ fourier: string;
+ grey16: string;
+ histogram: string;
+ hsv: string;
+ lab: string;
+ labq: string;
+ labs: string;
+ lch: string;
+ matrix: string;
+ multiband: string;
+ rgb: string;
+ rgb16: string;
+ scrgb: string;
+ srgb: string;
+ xyz: string;
+ yxy: string;
+}
+
+export interface DepthEnum {
+ char: string;
+ complex: string;
+ double: string;
+ dpcomplex: string;
+ float: string;
+ int: string;
+ short: string;
+ uchar: string;
+ uint: string;
+ ushort: string;
+}
+
+export type FailOnOptions = 'none' | 'truncated' | 'error' | 'warning';
+
+export type TextAlign = 'left' | 'centre' | 'center' | 'right';
+
+export type TextWrap = 'word' | 'char' | 'word-char' | 'none';
+
+export type HorizontalAlignment = 'left' | 'centre' | 'center' | 'right';
+
+export type VerticalAlignment = 'top' | 'centre' | 'center' | 'bottom';
+
+export type TileContainer = 'fs' | 'zip';
+
+export type TileLayout = 'dz' | 'iiif' | 'iiif3' | 'zoomify' | 'google';
+
+export type Blend =
+ | 'clear'
+ | 'source'
+ | 'over'
+ | 'in'
+ | 'out'
+ | 'atop'
+ | 'dest'
+ | 'dest-over'
+ | 'dest-in'
+ | 'dest-out'
+ | 'dest-atop'
+ | 'xor'
+ | 'add'
+ | 'saturate'
+ | 'multiply'
+ | 'screen'
+ | 'overlay'
+ | 'darken'
+ | 'lighten'
+ | 'color-dodge'
+ | 'colour-dodge'
+ | 'color-burn'
+ | 'colour-burn'
+ | 'hard-light'
+ | 'soft-light'
+ | 'difference'
+ | 'exclusion';
+
+export type Gravity = number | string;
+
+export interface GravityEnum {
+ north: number;
+ northeast: number;
+ southeast: number;
+ south: number;
+ southwest: number;
+ west: number;
+ northwest: number;
+ east: number;
+ center: number;
+ centre: number;
+}
+
+export interface StrategyEnum {
+ entropy: number;
+ attention: number;
+}
+
+export interface FormatEnum {
+ dcraw: AvailableFormatInfo;
+ dz: AvailableFormatInfo;
+ exr: AvailableFormatInfo;
+ fits: AvailableFormatInfo;
+ gif: AvailableFormatInfo;
+ heif: AvailableFormatInfo;
+ jpeg: AvailableFormatInfo;
+ jp2: AvailableFormatInfo;
+ jxl: AvailableFormatInfo;
+ magick: AvailableFormatInfo;
+ openslide: AvailableFormatInfo;
+ pdf: AvailableFormatInfo;
+ png: AvailableFormatInfo;
+ ppm: AvailableFormatInfo;
+ rad: AvailableFormatInfo;
+ raw: AvailableFormatInfo;
+ svg: AvailableFormatInfo;
+ tiff: AvailableFormatInfo;
+ vips: AvailableFormatInfo;
+ webp: AvailableFormatInfo;
+}
+
+export interface CacheResult {
+ memory: { current: number; high: number; max: number };
+ files: { current: number; max: number };
+ items: { current: number; max: number };
+}
+
+export interface Interpolators {
+ /** [Nearest neighbour interpolation](http://en.wikipedia.org/wiki/Nearest-neighbor_interpolation). Suitable for image enlargement only. */
+ nearest: 'nearest';
+ /** [Bilinear interpolation](http://en.wikipedia.org/wiki/Bilinear_interpolation). Faster than bicubic but with less smooth results. */
+ bilinear: 'bilinear';
+ /** [Bicubic interpolation](http://en.wikipedia.org/wiki/Bicubic_interpolation) (the default). */
+ bicubic: 'bicubic';
+ /**
+ * [LBB interpolation](https://github.com/libvips/libvips/blob/master/libvips/resample/lbb.cpp#L100).
+ * Prevents some "[acutance](http://en.wikipedia.org/wiki/Acutance)" but typically reduces performance by a factor of 2.
+ */
+ locallyBoundedBicubic: 'lbb';
+ /** [Nohalo interpolation](http://eprints.soton.ac.uk/268086/). Prevents acutance but typically reduces performance by a factor of 3. */
+ nohalo: 'nohalo';
+ /** [VSQBS interpolation](https://github.com/libvips/libvips/blob/master/libvips/resample/vsqbs.cpp#L48). Prevents "staircasing" when enlarging. */
+ vertexSplitQuadraticBasisSpline: 'vsqbs';
+}
+
+export type Matrix2x2 = [[number, number], [number, number]];
+export type Matrix3x3 = [[number, number, number], [number, number, number], [number, number, number]];
+export type Matrix4x4 = [[number, number, number, number], [number, number, number, number], [number, number, number, number], [number, number, number, number]];
+
+export interface SharpConstructor {
+ (options?: SharpOptions): Sharp;
+ (input?: SharpInput | SharpInput[], options?: SharpOptions): Sharp;
+ new (options?: SharpOptions): Sharp;
+ new (input?: SharpInput | SharpInput[], options?: SharpOptions): Sharp;
+ format: FormatEnum;
+ versions: {
+ aom?: string | undefined;
+ archive?: string | undefined;
+ cairo?: string | undefined;
+ cgif?: string | undefined;
+ exif?: string | undefined;
+ expat?: string | undefined;
+ ffi?: string | undefined;
+ fontconfig?: string | undefined;
+ freetype?: string | undefined;
+ fribidi?: string | undefined;
+ glib?: string | undefined;
+ harfbuzz?: string | undefined;
+ heif?: string | undefined;
+ highway?: string | undefined;
+ imagequant?: string | undefined;
+ lcms?: string | undefined;
+ mozjpeg?: string | undefined;
+ pango?: string | undefined;
+ pixman?: string | undefined;
+ png?: string | undefined;
+ "proxy-libintl"?: string | undefined;
+ rsvg?: string | undefined;
+ sharp: string;
+ spng?: string | undefined;
+ tiff?: string | undefined;
+ vips: string;
+ webp?: string | undefined;
+ xml?: string | undefined;
+ "zlib-ng"?: string | undefined;
+ };
+ interpolators: Interpolators;
+ queue: NodeJS.EventEmitter;
+ cache(options?: boolean | CacheOptions): CacheResult;
+ concurrency(concurrency?: number): number;
+ counters(): SharpCounters;
+ simd(enable?: boolean): boolean;
+ block(options: { operation: string[] }): void;
+ unblock(options: { operation: string[] }): void;
+ gravity: GravityEnum;
+ strategy: StrategyEnum;
+ kernel: KernelEnum;
+ fit: FitEnum;
+ bool: BoolEnum;
+}
+
+declare const sharp: SharpConstructor;
+export default sharp;
+
diff --git a/apps/api/.output/node_modules/sharp/dist/index.mjs b/apps/api/.output/node_modules/sharp/dist/index.mjs
new file mode 100644
index 0000000..73a5ad2
--- /dev/null
+++ b/apps/api/.output/node_modules/sharp/dist/index.mjs
@@ -0,0 +1,25 @@
+/*!
+ Copyright 2013 Lovell Fuller and others.
+ SPDX-License-Identifier: Apache-2.0
+*/
+
+import Sharp from './constructor.mjs';
+import input from './input.mjs';
+import resize from './resize.mjs';
+import composite from './composite.mjs';
+import operation from './operation.mjs';
+import colour from './colour.mjs';
+import channel from './channel.mjs';
+import output from './output.mjs';
+import utility from './utility.mjs';
+
+input(Sharp);
+resize(Sharp);
+composite(Sharp);
+operation(Sharp);
+colour(Sharp);
+channel(Sharp);
+output(Sharp);
+utility(Sharp);
+
+export default Sharp;
diff --git a/apps/api/.output/node_modules/sharp/dist/input.cjs b/apps/api/.output/node_modules/sharp/dist/input.cjs
new file mode 100644
index 0000000..241b116
--- /dev/null
+++ b/apps/api/.output/node_modules/sharp/dist/input.cjs
@@ -0,0 +1,819 @@
+/*!
+ Copyright 2013 Lovell Fuller and others.
+ SPDX-License-Identifier: Apache-2.0
+*/
+
+const is = require('./is.cjs');
+const sharp = require('./sharp.cjs');
+
+/**
+ * Justification alignment
+ * @member
+ * @private
+ */
+const align = {
+ left: 'low',
+ top: 'low',
+ low: 'low',
+ center: 'centre',
+ centre: 'centre',
+ right: 'high',
+ bottom: 'high',
+ high: 'high'
+};
+
+const inputStreamParameters = [
+ // Limits and error handling
+ 'failOn', 'limitInputPixels', 'limitInputChannels', 'unlimited',
+ // Format-generic
+ 'animated', 'autoOrient', 'density', 'ignoreIcc', 'page', 'pages', 'sequentialRead',
+ // Format-specific
+ 'jp2', 'openSlide', 'pdf', 'raw', 'svg', 'tiff',
+ // Deprecated
+ 'openSlideLevel', 'pdfBackground', 'tiffSubifd'
+];
+
+/**
+ * Extract input options, if any, from an object.
+ * @private
+ */
+function _inputOptionsFromObject (obj) {
+ const params = inputStreamParameters
+ .filter(p => is.defined(obj[p]))
+ .map(p => ([p, obj[p]]));
+ return params.length
+ ? Object.fromEntries(params)
+ : undefined;
+}
+
+/**
+ * Create Object containing input and input-related options.
+ * @private
+ */
+function _createInputDescriptor (input, inputOptions, containerOptions) {
+ const inputDescriptor = {
+ autoOrient: false,
+ failOn: 'warning',
+ limitInputPixels: 0x3FFF ** 2,
+ limitInputChannels: 5,
+ ignoreIcc: false,
+ unlimited: false,
+ sequentialRead: true
+ };
+ if (is.string(input)) {
+ // filesystem
+ inputDescriptor.file = input;
+ } else if (is.buffer(input)) {
+ // Buffer
+ if (input.length === 0) {
+ throw Error('Input Buffer is empty');
+ }
+ inputDescriptor.buffer = input;
+ } else if (is.arrayBuffer(input)) {
+ if (input.byteLength === 0) {
+ throw Error('Input bit Array is empty');
+ }
+ inputDescriptor.buffer = Buffer.from(input, 0, input.byteLength);
+ } else if (is.typedArray(input)) {
+ if (input.length === 0) {
+ throw Error('Input Bit Array is empty');
+ }
+ inputDescriptor.buffer = Buffer.from(input.buffer, input.byteOffset, input.byteLength);
+ } else if (is.plainObject(input) && !is.defined(inputOptions)) {
+ // Plain Object descriptor, e.g. create
+ inputOptions = input;
+ if (_inputOptionsFromObject(inputOptions)) {
+ // Stream with options
+ inputDescriptor.buffer = [];
+ }
+ } else if (!is.defined(input) && !is.defined(inputOptions) && is.object(containerOptions) && containerOptions.allowStream) {
+ // Stream without options
+ inputDescriptor.buffer = [];
+ } else if (Array.isArray(input)) {
+ if (input.length > 1) {
+ // Join images together
+ if (!this.options.joining) {
+ this.options.joining = true;
+ this.options.join = input.map(i => this._createInputDescriptor(i));
+ } else {
+ throw new Error('Recursive join is unsupported');
+ }
+ } else {
+ throw new Error('Expected at least two images to join');
+ }
+ } else {
+ throw new Error(`Unsupported input '${input}' of type ${typeof input}${
+ is.defined(inputOptions) ? ` when also providing options of type ${typeof inputOptions}` : ''
+ }`);
+ }
+ if (is.object(inputOptions)) {
+ // failOn
+ if (is.defined(inputOptions.failOn)) {
+ if (is.string(inputOptions.failOn) && is.inArray(inputOptions.failOn, ['none', 'truncated', 'error', 'warning'])) {
+ inputDescriptor.failOn = inputOptions.failOn;
+ } else {
+ throw is.invalidParameterError('failOn', 'one of: none, truncated, error, warning', inputOptions.failOn);
+ }
+ }
+ // autoOrient
+ if (is.defined(inputOptions.autoOrient)) {
+ if (is.bool(inputOptions.autoOrient)) {
+ inputDescriptor.autoOrient = inputOptions.autoOrient;
+ } else {
+ throw is.invalidParameterError('autoOrient', 'boolean', inputOptions.autoOrient);
+ }
+ }
+ // Density
+ if (is.defined(inputOptions.density)) {
+ if (is.number(inputOptions.density) && is.inRange(inputOptions.density, 1, 100000)) {
+ inputDescriptor.density = inputOptions.density;
+ } else {
+ throw is.invalidParameterError('density', 'number between 1 and 100000', inputOptions.density);
+ }
+ }
+ // Ignore embeddded ICC profile
+ if (is.defined(inputOptions.ignoreIcc)) {
+ if (is.bool(inputOptions.ignoreIcc)) {
+ inputDescriptor.ignoreIcc = inputOptions.ignoreIcc;
+ } else {
+ throw is.invalidParameterError('ignoreIcc', 'boolean', inputOptions.ignoreIcc);
+ }
+ }
+ // limitInputPixels
+ if (is.defined(inputOptions.limitInputPixels)) {
+ if (is.bool(inputOptions.limitInputPixels)) {
+ inputDescriptor.limitInputPixels = inputOptions.limitInputPixels
+ ? 0x3FFF ** 2
+ : 0;
+ } else if (is.integer(inputOptions.limitInputPixels) && is.inRange(inputOptions.limitInputPixels, 0, Number.MAX_SAFE_INTEGER)) {
+ inputDescriptor.limitInputPixels = inputOptions.limitInputPixels;
+ } else {
+ throw is.invalidParameterError('limitInputPixels', 'positive integer', inputOptions.limitInputPixels);
+ }
+ }
+ // limitInputChannels
+ if (is.defined(inputOptions.limitInputChannels)) {
+ if (is.bool(inputOptions.limitInputChannels)) {
+ inputDescriptor.limitInputChannels = inputOptions.limitInputChannels ? 5 : 0;
+ } else if (is.integer(inputOptions.limitInputChannels) && is.inRange(inputOptions.limitInputChannels, 0, Number.MAX_SAFE_INTEGER)) {
+ inputDescriptor.limitInputChannels = inputOptions.limitInputChannels;
+ } else {
+ throw is.invalidParameterError('limitInputChannels', 'positive integer', inputOptions.limitInputChannels);
+ }
+ }
+ // unlimited
+ if (is.defined(inputOptions.unlimited)) {
+ if (is.bool(inputOptions.unlimited)) {
+ inputDescriptor.unlimited = inputOptions.unlimited;
+ } else {
+ throw is.invalidParameterError('unlimited', 'boolean', inputOptions.unlimited);
+ }
+ }
+ // sequentialRead
+ if (is.defined(inputOptions.sequentialRead)) {
+ if (is.bool(inputOptions.sequentialRead)) {
+ inputDescriptor.sequentialRead = inputOptions.sequentialRead;
+ } else {
+ throw is.invalidParameterError('sequentialRead', 'boolean', inputOptions.sequentialRead);
+ }
+ }
+ // Raw pixel input
+ if (is.defined(inputOptions.raw)) {
+ if (
+ is.object(inputOptions.raw) &&
+ is.integer(inputOptions.raw.width) && is.inRange(inputOptions.raw.width, 1, 100000000) &&
+ is.integer(inputOptions.raw.height) && is.inRange(inputOptions.raw.height, 1, 100000000) &&
+ is.integer(inputOptions.raw.channels) && is.inRange(inputOptions.raw.channels, 1, 4)
+ ) {
+ inputDescriptor.rawWidth = inputOptions.raw.width;
+ inputDescriptor.rawHeight = inputOptions.raw.height;
+ inputDescriptor.rawChannels = inputOptions.raw.channels;
+ switch (input.constructor) {
+ case Uint8Array:
+ case Uint8ClampedArray:
+ inputDescriptor.rawDepth = 'uchar';
+ break;
+ case Int8Array:
+ inputDescriptor.rawDepth = 'char';
+ break;
+ case Uint16Array:
+ inputDescriptor.rawDepth = 'ushort';
+ break;
+ case Int16Array:
+ inputDescriptor.rawDepth = 'short';
+ break;
+ case Uint32Array:
+ inputDescriptor.rawDepth = 'uint';
+ break;
+ case Int32Array:
+ inputDescriptor.rawDepth = 'int';
+ break;
+ case Float32Array:
+ inputDescriptor.rawDepth = 'float';
+ break;
+ case Float64Array:
+ inputDescriptor.rawDepth = 'double';
+ break;
+ default:
+ inputDescriptor.rawDepth = 'uchar';
+ break;
+ }
+ } else {
+ throw new Error('Expected width, height and channels for raw pixel input');
+ }
+ inputDescriptor.rawPremultiplied = false;
+ if (is.defined(inputOptions.raw.premultiplied)) {
+ if (is.bool(inputOptions.raw.premultiplied)) {
+ inputDescriptor.rawPremultiplied = inputOptions.raw.premultiplied;
+ } else {
+ throw is.invalidParameterError('raw.premultiplied', 'boolean', inputOptions.raw.premultiplied);
+ }
+ }
+ inputDescriptor.rawPageHeight = 0;
+ if (is.defined(inputOptions.raw.pageHeight)) {
+ if (is.integer(inputOptions.raw.pageHeight) && inputOptions.raw.pageHeight > 0 && inputOptions.raw.pageHeight <= inputOptions.raw.height) {
+ if (inputOptions.raw.height % inputOptions.raw.pageHeight !== 0) {
+ throw new Error(`Expected raw.height ${inputOptions.raw.height} to be a multiple of raw.pageHeight ${inputOptions.raw.pageHeight}`);
+ }
+ inputDescriptor.rawPageHeight = inputOptions.raw.pageHeight;
+ } else {
+ throw is.invalidParameterError('raw.pageHeight', 'positive integer', inputOptions.raw.pageHeight);
+ }
+ }
+ }
+ // Multi-page input (GIF, TIFF, PDF)
+ if (is.defined(inputOptions.animated)) {
+ if (is.bool(inputOptions.animated)) {
+ inputDescriptor.pages = inputOptions.animated ? -1 : 1;
+ } else {
+ throw is.invalidParameterError('animated', 'boolean', inputOptions.animated);
+ }
+ }
+ if (is.defined(inputOptions.pages)) {
+ if (is.integer(inputOptions.pages) && is.inRange(inputOptions.pages, -1, 100000)) {
+ inputDescriptor.pages = inputOptions.pages;
+ } else {
+ throw is.invalidParameterError('pages', 'integer between -1 and 100000', inputOptions.pages);
+ }
+ }
+ if (is.defined(inputOptions.page)) {
+ if (is.integer(inputOptions.page) && is.inRange(inputOptions.page, 0, 100000)) {
+ inputDescriptor.page = inputOptions.page;
+ } else {
+ throw is.invalidParameterError('page', 'integer between 0 and 100000', inputOptions.page);
+ }
+ }
+ // OpenSlide specific options
+ if (is.object(inputOptions.openSlide) && is.defined(inputOptions.openSlide.level)) {
+ if (is.integer(inputOptions.openSlide.level) && is.inRange(inputOptions.openSlide.level, 0, 256)) {
+ inputDescriptor.openSlideLevel = inputOptions.openSlide.level;
+ } else {
+ throw is.invalidParameterError('openSlide.level', 'integer between 0 and 256', inputOptions.openSlide.level);
+ }
+ } else if (is.defined(inputOptions.level)) {
+ // Deprecated
+ if (is.integer(inputOptions.level) && is.inRange(inputOptions.level, 0, 256)) {
+ inputDescriptor.openSlideLevel = inputOptions.level;
+ } else {
+ throw is.invalidParameterError('level', 'integer between 0 and 256', inputOptions.level);
+ }
+ }
+ // TIFF specific options
+ if (is.object(inputOptions.tiff) && is.defined(inputOptions.tiff.subifd)) {
+ if (is.integer(inputOptions.tiff.subifd) && is.inRange(inputOptions.tiff.subifd, -1, 100000)) {
+ inputDescriptor.tiffSubifd = inputOptions.tiff.subifd;
+ } else {
+ throw is.invalidParameterError('tiff.subifd', 'integer between -1 and 100000', inputOptions.tiff.subifd);
+ }
+ } else if (is.defined(inputOptions.subifd)) {
+ // Deprecated
+ if (is.integer(inputOptions.subifd) && is.inRange(inputOptions.subifd, -1, 100000)) {
+ inputDescriptor.tiffSubifd = inputOptions.subifd;
+ } else {
+ throw is.invalidParameterError('subifd', 'integer between -1 and 100000', inputOptions.subifd);
+ }
+ }
+ // SVG specific options
+ if (is.object(inputOptions.svg)) {
+ if (is.defined(inputOptions.svg.stylesheet)) {
+ if (is.string(inputOptions.svg.stylesheet)) {
+ inputDescriptor.svgStylesheet = inputOptions.svg.stylesheet;
+ } else {
+ throw is.invalidParameterError('svg.stylesheet', 'string', inputOptions.svg.stylesheet);
+ }
+ }
+ if (is.defined(inputOptions.svg.highBitdepth)) {
+ if (is.bool(inputOptions.svg.highBitdepth)) {
+ inputDescriptor.svgHighBitdepth = inputOptions.svg.highBitdepth;
+ } else {
+ throw is.invalidParameterError('svg.highBitdepth', 'boolean', inputOptions.svg.highBitdepth);
+ }
+ }
+ }
+ // PDF specific options
+ if (is.object(inputOptions.pdf) && is.defined(inputOptions.pdf.background)) {
+ inputDescriptor.pdfBackground = this._getBackgroundColourOption(inputOptions.pdf.background);
+ } else if (is.defined(inputOptions.pdfBackground)) {
+ // Deprecated
+ inputDescriptor.pdfBackground = this._getBackgroundColourOption(inputOptions.pdfBackground);
+ }
+ // JPEG 2000 specific options
+ if (is.object(inputOptions.jp2) && is.defined(inputOptions.jp2.oneshot)) {
+ if (is.bool(inputOptions.jp2.oneshot)) {
+ inputDescriptor.jp2Oneshot = inputOptions.jp2.oneshot;
+ } else {
+ throw is.invalidParameterError('jp2.oneshot', 'boolean', inputOptions.jp2.oneshot);
+ }
+ }
+ // Create new image
+ if (is.defined(inputOptions.create)) {
+ if (
+ is.object(inputOptions.create) &&
+ is.integer(inputOptions.create.width) && is.inRange(inputOptions.create.width, 1, 100000000) &&
+ is.integer(inputOptions.create.height) && is.inRange(inputOptions.create.height, 1, 100000000) &&
+ is.integer(inputOptions.create.channels)
+ ) {
+ inputDescriptor.createWidth = inputOptions.create.width;
+ inputDescriptor.createHeight = inputOptions.create.height;
+ inputDescriptor.createChannels = inputOptions.create.channels;
+ inputDescriptor.createPageHeight = 0;
+ if (is.defined(inputOptions.create.pageHeight)) {
+ if (is.integer(inputOptions.create.pageHeight) && inputOptions.create.pageHeight > 0 && inputOptions.create.pageHeight <= inputOptions.create.height) {
+ if (inputOptions.create.height % inputOptions.create.pageHeight !== 0) {
+ throw new Error(`Expected create.height ${inputOptions.create.height} to be a multiple of create.pageHeight ${inputOptions.create.pageHeight}`);
+ }
+ inputDescriptor.createPageHeight = inputOptions.create.pageHeight;
+ } else {
+ throw is.invalidParameterError('create.pageHeight', 'positive integer', inputOptions.create.pageHeight);
+ }
+ }
+ // Noise
+ if (is.defined(inputOptions.create.noise)) {
+ if (!is.object(inputOptions.create.noise)) {
+ throw new Error('Expected noise to be an object');
+ }
+ if (inputOptions.create.noise.type !== 'gaussian') {
+ throw new Error('Only gaussian noise is supported at the moment');
+ }
+ inputDescriptor.createNoiseType = inputOptions.create.noise.type;
+ if (!is.inRange(inputOptions.create.channels, 1, 4)) {
+ throw is.invalidParameterError('create.channels', 'number between 1 and 4', inputOptions.create.channels);
+ }
+ inputDescriptor.createNoiseMean = 128;
+ if (is.defined(inputOptions.create.noise.mean)) {
+ if (is.number(inputOptions.create.noise.mean) && is.inRange(inputOptions.create.noise.mean, 0, 10000)) {
+ inputDescriptor.createNoiseMean = inputOptions.create.noise.mean;
+ } else {
+ throw is.invalidParameterError('create.noise.mean', 'number between 0 and 10000', inputOptions.create.noise.mean);
+ }
+ }
+ inputDescriptor.createNoiseSigma = 30;
+ if (is.defined(inputOptions.create.noise.sigma)) {
+ if (is.number(inputOptions.create.noise.sigma) && is.inRange(inputOptions.create.noise.sigma, 0, 10000)) {
+ inputDescriptor.createNoiseSigma = inputOptions.create.noise.sigma;
+ } else {
+ throw is.invalidParameterError('create.noise.sigma', 'number between 0 and 10000', inputOptions.create.noise.sigma);
+ }
+ }
+ } else if (is.defined(inputOptions.create.background)) {
+ if (!is.inRange(inputOptions.create.channels, 3, 4)) {
+ throw is.invalidParameterError('create.channels', 'number between 3 and 4', inputOptions.create.channels);
+ }
+ inputDescriptor.createBackground = this._getBackgroundColourOption(inputOptions.create.background);
+ } else {
+ throw new Error('Expected valid noise or background to create a new input image');
+ }
+ delete inputDescriptor.buffer;
+ } else {
+ throw new Error('Expected valid width, height and channels to create a new input image');
+ }
+ }
+ // Create a new image with text
+ if (is.defined(inputOptions.text)) {
+ if (is.object(inputOptions.text) && is.string(inputOptions.text.text)) {
+ inputDescriptor.textValue = inputOptions.text.text;
+ if (is.defined(inputOptions.text.height) && is.defined(inputOptions.text.dpi)) {
+ throw new Error('Expected only one of dpi or height');
+ }
+ if (is.defined(inputOptions.text.font)) {
+ if (is.string(inputOptions.text.font)) {
+ inputDescriptor.textFont = inputOptions.text.font;
+ } else {
+ throw is.invalidParameterError('text.font', 'string', inputOptions.text.font);
+ }
+ }
+ if (is.defined(inputOptions.text.fontfile)) {
+ if (is.string(inputOptions.text.fontfile)) {
+ inputDescriptor.textFontfile = inputOptions.text.fontfile;
+ } else {
+ throw is.invalidParameterError('text.fontfile', 'string', inputOptions.text.fontfile);
+ }
+ }
+ if (is.defined(inputOptions.text.width)) {
+ if (is.integer(inputOptions.text.width) && is.inRange(inputOptions.text.width, 1, 1000000)) {
+ inputDescriptor.textWidth = inputOptions.text.width;
+ } else {
+ throw is.invalidParameterError('text.width', 'integer between 1 and 1000000', inputOptions.text.width);
+ }
+ }
+ if (is.defined(inputOptions.text.height)) {
+ if (is.integer(inputOptions.text.height) && is.inRange(inputOptions.text.height, 1, 1000000)) {
+ inputDescriptor.textHeight = inputOptions.text.height;
+ } else {
+ throw is.invalidParameterError('text.height', 'integer between 1 and 1000000', inputOptions.text.height);
+ }
+ }
+ if (is.defined(inputOptions.text.align)) {
+ if (is.string(inputOptions.text.align) && is.string(this.constructor.align[inputOptions.text.align])) {
+ inputDescriptor.textAlign = this.constructor.align[inputOptions.text.align];
+ } else {
+ throw is.invalidParameterError('text.align', 'valid alignment', inputOptions.text.align);
+ }
+ }
+ if (is.defined(inputOptions.text.justify)) {
+ if (is.bool(inputOptions.text.justify)) {
+ inputDescriptor.textJustify = inputOptions.text.justify;
+ } else {
+ throw is.invalidParameterError('text.justify', 'boolean', inputOptions.text.justify);
+ }
+ }
+ if (is.defined(inputOptions.text.dpi)) {
+ if (is.integer(inputOptions.text.dpi) && is.inRange(inputOptions.text.dpi, 1, 1000000)) {
+ inputDescriptor.textDpi = inputOptions.text.dpi;
+ } else {
+ throw is.invalidParameterError('text.dpi', 'integer between 1 and 1000000', inputOptions.text.dpi);
+ }
+ }
+ if (is.defined(inputOptions.text.rgba)) {
+ if (is.bool(inputOptions.text.rgba)) {
+ inputDescriptor.textRgba = inputOptions.text.rgba;
+ } else {
+ throw is.invalidParameterError('text.rgba', 'bool', inputOptions.text.rgba);
+ }
+ }
+ if (is.defined(inputOptions.text.spacing)) {
+ if (is.integer(inputOptions.text.spacing) && is.inRange(inputOptions.text.spacing, -1000000, 1000000)) {
+ inputDescriptor.textSpacing = inputOptions.text.spacing;
+ } else {
+ throw is.invalidParameterError('text.spacing', 'integer between -1000000 and 1000000', inputOptions.text.spacing);
+ }
+ }
+ if (is.defined(inputOptions.text.wrap)) {
+ if (is.string(inputOptions.text.wrap) && is.inArray(inputOptions.text.wrap, ['word', 'char', 'word-char', 'none'])) {
+ inputDescriptor.textWrap = inputOptions.text.wrap;
+ } else {
+ throw is.invalidParameterError('text.wrap', 'one of: word, char, word-char, none', inputOptions.text.wrap);
+ }
+ }
+ delete inputDescriptor.buffer;
+ } else {
+ throw new Error('Expected a valid string to create an image with text.');
+ }
+ }
+ // Join images together
+ if (is.defined(inputOptions.join)) {
+ if (is.defined(this.options.join)) {
+ if (is.defined(inputOptions.join.animated)) {
+ if (is.bool(inputOptions.join.animated)) {
+ inputDescriptor.joinAnimated = inputOptions.join.animated;
+ } else {
+ throw is.invalidParameterError('join.animated', 'boolean', inputOptions.join.animated);
+ }
+ }
+ if (is.defined(inputOptions.join.across)) {
+ if (is.integer(inputOptions.join.across) && is.inRange(inputOptions.join.across, 1, 1000000)) {
+ inputDescriptor.joinAcross = inputOptions.join.across;
+ } else {
+ throw is.invalidParameterError('join.across', 'integer between 1 and 100000', inputOptions.join.across);
+ }
+ }
+ if (is.defined(inputOptions.join.shim)) {
+ if (is.integer(inputOptions.join.shim) && is.inRange(inputOptions.join.shim, 0, 1000000)) {
+ inputDescriptor.joinShim = inputOptions.join.shim;
+ } else {
+ throw is.invalidParameterError('join.shim', 'integer between 0 and 100000', inputOptions.join.shim);
+ }
+ }
+ if (is.defined(inputOptions.join.background)) {
+ inputDescriptor.joinBackground = this._getBackgroundColourOption(inputOptions.join.background);
+ }
+ if (is.defined(inputOptions.join.halign)) {
+ if (is.string(inputOptions.join.halign) && is.string(this.constructor.align[inputOptions.join.halign])) {
+ inputDescriptor.joinHalign = this.constructor.align[inputOptions.join.halign];
+ } else {
+ throw is.invalidParameterError('join.halign', 'valid alignment', inputOptions.join.halign);
+ }
+ }
+ if (is.defined(inputOptions.join.valign)) {
+ if (is.string(inputOptions.join.valign) && is.string(this.constructor.align[inputOptions.join.valign])) {
+ inputDescriptor.joinValign = this.constructor.align[inputOptions.join.valign];
+ } else {
+ throw is.invalidParameterError('join.valign', 'valid alignment', inputOptions.join.valign);
+ }
+ }
+ } else {
+ throw new Error('Expected input to be an array of images to join');
+ }
+ }
+ } else if (is.defined(inputOptions)) {
+ throw new Error(`Invalid input options ${inputOptions}`);
+ }
+ return inputDescriptor;
+}
+
+/**
+ * Handle incoming Buffer chunk on Writable Stream.
+ * @private
+ * @param {Buffer} chunk
+ * @param {string} encoding - unused
+ * @param {Function} callback
+ */
+function _write (chunk, _encoding, callback) {
+ if (Array.isArray(this.options.input.buffer)) {
+ if (is.buffer(chunk)) {
+ this.options.input.buffer.push(chunk);
+ callback();
+ } else {
+ callback(new Error('Non-Buffer data on Writable Stream'));
+ }
+ } else {
+ callback(new Error('Unexpected data on Writable Stream'));
+ }
+}
+
+/**
+ * Flattens the array of chunks accumulated in input.buffer.
+ * @private
+ */
+function _flattenBufferIn () {
+ if (this._isStreamInput()) {
+ this.options.input.buffer = Buffer.concat(this.options.input.buffer);
+ }
+}
+
+/**
+ * Are we expecting Stream-based input?
+ * @private
+ * @returns {boolean}
+ */
+function _isStreamInput () {
+ return Array.isArray(this.options.input.buffer);
+}
+
+/**
+ * Call fn when the Writable side of Stream-based input has finished,
+ * or immediately when it already has, as 'finish' is emitted only once.
+ * @private
+ * @param {Function} fn
+ */
+function _whenStreamInFinished (fn) {
+ if (this.writableFinished) {
+ fn();
+ } else {
+ this.once('finish', fn);
+ }
+}
+
+/**
+ * Fast access to (uncached) image metadata without decoding any compressed pixel data.
+ *
+ * This is read from the header of the input image.
+ * It does not take into consideration any operations to be applied to the output image,
+ * such as resize or rotate.
+ *
+ * Dimensions in the response will respect the `page` and `pages` properties of the
+ * {@link /api-constructor/ constructor parameters}.
+ *
+ * A `Promise` is returned when `callback` is not provided.
+ *
+ * - `format`: Name of decoder used to parse image e.g. `jpeg`, `png`, `webp`, `gif`, `svg`, `heif`, `tiff`
+ * - `mediaType`: Media Type (MIME Type) e.g. `image/jpeg`, `image/png`, `image/svg+xml`, `image/avif`
+ * - `size`: Total size of image in bytes, for Stream and Buffer input only
+ * - `width`: Number of pixels wide (EXIF orientation is not taken into consideration, see example below)
+ * - `height`: Number of pixels high (EXIF orientation is not taken into consideration, see example below)
+ * - `space`: Name of colour space interpretation e.g. `srgb`, `rgb`, `cmyk`, `lab`, `b-w` [...](https://www.libvips.org/API/current/enum.Interpretation.html)
+ * - `channels`: Number of bands e.g. `3` for sRGB, `4` for CMYK
+ * - `depth`: Name of pixel depth format e.g. `uchar`, `char`, `ushort`, `float` [...](https://www.libvips.org/API/current/enum.BandFormat.html)
+ * - `density`: Number of pixels per inch (DPI), if present
+ * - `chromaSubsampling`: String containing JPEG chroma subsampling, `4:2:0` or `4:4:4` for RGB, `4:2:0:4` or `4:4:4:4` for CMYK
+ * - `isProgressive`: Boolean indicating whether the image is interlaced using a progressive scan
+ * - `isPalette`: Boolean indicating whether the image is palette-based (GIF, PNG).
+ * - `bitsPerSample`: Number of bits per sample for each channel (GIF, PNG, HEIF).
+ * - `pages`: Number of pages/frames contained within the image, with support for TIFF, HEIF, PDF, animated GIF and animated WebP
+ * - `pageHeight`: Number of pixels high each page in a multi-page image will be.
+ * - `loop`: Number of times to loop an animated image, zero refers to a continuous loop.
+ * - `delay`: Delay in ms between each page in an animated image, provided as an array of integers.
+ * - `pagePrimary`: Number of the primary page in a HEIF image
+ * - `levels`: Details of each level in a multi-level image provided as an array of objects, requires libvips compiled with support for OpenSlide
+ * - `subifds`: Number of Sub Image File Directories in an OME-TIFF image
+ * - `background`: Default background colour, if present, for PNG (bKGD) and GIF images
+ * - `compression`: The encoder used to compress an HEIF file, `av1` (AVIF) or `hevc` (HEIC)
+ * - `resolutionUnit`: The unit of resolution (density), either `inch` or `cm`, if present
+ * - `hasProfile`: Boolean indicating the presence of an embedded ICC profile
+ * - `hasAlpha`: Boolean indicating the presence of an alpha transparency channel
+ * - `orientation`: Number value of the EXIF Orientation header, if present
+ * - `exif`: Buffer containing raw EXIF data, if present
+ * - `icc`: Buffer containing raw [ICC](https://www.npmjs.com/package/icc) profile data, if present
+ * - `iptc`: Buffer containing raw IPTC data, if present
+ * - `xmp`: Buffer containing raw XMP data, if present
+ * - `xmpAsString`: String containing XMP data, if valid UTF-8.
+ * - `tifftagPhotoshop`: Buffer containing raw TIFFTAG_PHOTOSHOP data, if present
+ * - `formatMagick`: String containing format for images loaded via *magick
+ * - `comments`: Array of keyword/text pairs representing PNG text blocks, if present.
+ * - `gainMap.image`: HDR gain map, if present, as compressed JPEG image.
+ *
+ * @example
+ * const metadata = await sharp(input).metadata();
+ *
+ * @example
+ * const image = sharp(inputJpg);
+ * image
+ * .metadata()
+ * .then(function(metadata) {
+ * return image
+ * .resize(Math.round(metadata.width / 2))
+ * .webp()
+ * .toBuffer();
+ * })
+ * .then(function(data) {
+ * // data contains a WebP image half the width and height of the original JPEG
+ * });
+ *
+ * @example
+ * // Get dimensions taking EXIF Orientation into account.
+ * const { autoOrient } = await sharp(input).metadata();
+ * const { width, height } = autoOrient;
+ *
+ * @param {Function} [callback] - called with the arguments `(err, metadata)`
+ * @returns {Promise|Sharp}
+ */
+function metadata (callback) {
+ const stack = Error();
+ if (is.fn(callback)) {
+ if (this._isStreamInput()) {
+ this._whenStreamInFinished(() => {
+ this._flattenBufferIn();
+ sharp.metadata(this.options, (err, metadata) => {
+ if (err) {
+ callback(is.nativeError(err, stack));
+ } else {
+ callback(null, metadata);
+ }
+ });
+ });
+ } else {
+ sharp.metadata(this.options, (err, metadata) => {
+ if (err) {
+ callback(is.nativeError(err, stack));
+ } else {
+ callback(null, metadata);
+ }
+ });
+ }
+ return this;
+ } else {
+ if (this._isStreamInput()) {
+ return new Promise((resolve, reject) => {
+ this._whenStreamInFinished(() => {
+ this._flattenBufferIn();
+ sharp.metadata(this.options, (err, metadata) => {
+ if (err) {
+ reject(is.nativeError(err, stack));
+ } else {
+ resolve(metadata);
+ }
+ });
+ });
+ });
+ } else {
+ return new Promise((resolve, reject) => {
+ sharp.metadata(this.options, (err, metadata) => {
+ if (err) {
+ reject(is.nativeError(err, stack));
+ } else {
+ resolve(metadata);
+ }
+ });
+ });
+ }
+ }
+}
+
+/**
+ * Access to pixel-derived image statistics for every channel in the image.
+ * A `Promise` is returned when `callback` is not provided.
+ *
+ * - `channels`: Array of channel statistics for each channel in the image. Each channel statistic contains
+ * - `min` (minimum value in the channel)
+ * - `max` (maximum value in the channel)
+ * - `sum` (sum of all values in a channel)
+ * - `squaresSum` (sum of squared values in a channel)
+ * - `mean` (mean of the values in a channel)
+ * - `stdev` (standard deviation for the values in a channel)
+ * - `minX` (x-coordinate of one of the pixel where the minimum lies)
+ * - `minY` (y-coordinate of one of the pixel where the minimum lies)
+ * - `maxX` (x-coordinate of one of the pixel where the maximum lies)
+ * - `maxY` (y-coordinate of one of the pixel where the maximum lies)
+ * - `isOpaque`: Is the image fully opaque? Will be `true` if the image has no alpha channel or if every pixel is fully opaque.
+ * - `entropy`: Histogram-based estimation of greyscale entropy, discarding alpha channel if any.
+ * - `sharpness`: Estimation of greyscale sharpness based on the standard deviation of a Laplacian convolution, discarding alpha channel if any.
+ * - `dominant`: Object containing most dominant sRGB colour based on a 4096-bin 3D histogram.
+ *
+ * **Note**: Statistics are derived from the original input image. Any operations performed on the image must first be
+ * written to a buffer in order to run `stats` on the result (see third example).
+ *
+ * @example
+ * const image = sharp(inputJpg);
+ * image
+ * .stats()
+ * .then(function(stats) {
+ * // stats contains the channel-wise statistics array and the isOpaque value
+ * });
+ *
+ * @example
+ * const { entropy, sharpness, dominant } = await sharp(input).stats();
+ * const { r, g, b } = dominant;
+ *
+ * @example
+ * const image = sharp(input);
+ * // store intermediate result
+ * const part = await image.extract(region).toBuffer();
+ * // create new instance to obtain statistics of extracted region
+ * const stats = await sharp(part).stats();
+ *
+ * @param {Function} [callback] - called with the arguments `(err, stats)`
+ * @returns {Promise}
+ */
+function stats (callback) {
+ const stack = Error();
+ if (is.fn(callback)) {
+ if (this._isStreamInput()) {
+ this._whenStreamInFinished(() => {
+ this._flattenBufferIn();
+ sharp.stats(this.options, (err, stats) => {
+ if (err) {
+ callback(is.nativeError(err, stack));
+ } else {
+ callback(null, stats);
+ }
+ });
+ });
+ } else {
+ sharp.stats(this.options, (err, stats) => {
+ if (err) {
+ callback(is.nativeError(err, stack));
+ } else {
+ callback(null, stats);
+ }
+ });
+ }
+ return this;
+ } else {
+ if (this._isStreamInput()) {
+ return new Promise((resolve, reject) => {
+ this._whenStreamInFinished(() => {
+ this._flattenBufferIn();
+ sharp.stats(this.options, (err, stats) => {
+ if (err) {
+ reject(is.nativeError(err, stack));
+ } else {
+ resolve(stats);
+ }
+ });
+ });
+ });
+ } else {
+ return new Promise((resolve, reject) => {
+ sharp.stats(this.options, (err, stats) => {
+ if (err) {
+ reject(is.nativeError(err, stack));
+ } else {
+ resolve(stats);
+ }
+ });
+ });
+ }
+ }
+}
+
+/**
+ * Decorate the Sharp prototype with input-related functions.
+ * @module Sharp
+ * @private
+ */
+module.exports = (Sharp) => {
+ Object.assign(Sharp.prototype, {
+ // Private
+ _inputOptionsFromObject,
+ _createInputDescriptor,
+ _write,
+ _flattenBufferIn,
+ _isStreamInput,
+ _whenStreamInFinished,
+ // Public
+ metadata,
+ stats
+ });
+ // Class attributes
+ Sharp.align = align;
+};
diff --git a/apps/api/.output/node_modules/sharp/dist/input.mjs b/apps/api/.output/node_modules/sharp/dist/input.mjs
new file mode 100644
index 0000000..0cab99d
--- /dev/null
+++ b/apps/api/.output/node_modules/sharp/dist/input.mjs
@@ -0,0 +1,819 @@
+/*!
+ Copyright 2013 Lovell Fuller and others.
+ SPDX-License-Identifier: Apache-2.0
+*/
+
+import is from './is.mjs';
+import sharp from './sharp.mjs';
+
+/**
+ * Justification alignment
+ * @member
+ * @private
+ */
+const align = {
+ left: 'low',
+ top: 'low',
+ low: 'low',
+ center: 'centre',
+ centre: 'centre',
+ right: 'high',
+ bottom: 'high',
+ high: 'high'
+};
+
+const inputStreamParameters = [
+ // Limits and error handling
+ 'failOn', 'limitInputPixels', 'limitInputChannels', 'unlimited',
+ // Format-generic
+ 'animated', 'autoOrient', 'density', 'ignoreIcc', 'page', 'pages', 'sequentialRead',
+ // Format-specific
+ 'jp2', 'openSlide', 'pdf', 'raw', 'svg', 'tiff',
+ // Deprecated
+ 'openSlideLevel', 'pdfBackground', 'tiffSubifd'
+];
+
+/**
+ * Extract input options, if any, from an object.
+ * @private
+ */
+function _inputOptionsFromObject (obj) {
+ const params = inputStreamParameters
+ .filter(p => is.defined(obj[p]))
+ .map(p => ([p, obj[p]]));
+ return params.length
+ ? Object.fromEntries(params)
+ : undefined;
+}
+
+/**
+ * Create Object containing input and input-related options.
+ * @private
+ */
+function _createInputDescriptor (input, inputOptions, containerOptions) {
+ const inputDescriptor = {
+ autoOrient: false,
+ failOn: 'warning',
+ limitInputPixels: 0x3FFF ** 2,
+ limitInputChannels: 5,
+ ignoreIcc: false,
+ unlimited: false,
+ sequentialRead: true
+ };
+ if (is.string(input)) {
+ // filesystem
+ inputDescriptor.file = input;
+ } else if (is.buffer(input)) {
+ // Buffer
+ if (input.length === 0) {
+ throw Error('Input Buffer is empty');
+ }
+ inputDescriptor.buffer = input;
+ } else if (is.arrayBuffer(input)) {
+ if (input.byteLength === 0) {
+ throw Error('Input bit Array is empty');
+ }
+ inputDescriptor.buffer = Buffer.from(input, 0, input.byteLength);
+ } else if (is.typedArray(input)) {
+ if (input.length === 0) {
+ throw Error('Input Bit Array is empty');
+ }
+ inputDescriptor.buffer = Buffer.from(input.buffer, input.byteOffset, input.byteLength);
+ } else if (is.plainObject(input) && !is.defined(inputOptions)) {
+ // Plain Object descriptor, e.g. create
+ inputOptions = input;
+ if (_inputOptionsFromObject(inputOptions)) {
+ // Stream with options
+ inputDescriptor.buffer = [];
+ }
+ } else if (!is.defined(input) && !is.defined(inputOptions) && is.object(containerOptions) && containerOptions.allowStream) {
+ // Stream without options
+ inputDescriptor.buffer = [];
+ } else if (Array.isArray(input)) {
+ if (input.length > 1) {
+ // Join images together
+ if (!this.options.joining) {
+ this.options.joining = true;
+ this.options.join = input.map(i => this._createInputDescriptor(i));
+ } else {
+ throw new Error('Recursive join is unsupported');
+ }
+ } else {
+ throw new Error('Expected at least two images to join');
+ }
+ } else {
+ throw new Error(`Unsupported input '${input}' of type ${typeof input}${
+ is.defined(inputOptions) ? ` when also providing options of type ${typeof inputOptions}` : ''
+ }`);
+ }
+ if (is.object(inputOptions)) {
+ // failOn
+ if (is.defined(inputOptions.failOn)) {
+ if (is.string(inputOptions.failOn) && is.inArray(inputOptions.failOn, ['none', 'truncated', 'error', 'warning'])) {
+ inputDescriptor.failOn = inputOptions.failOn;
+ } else {
+ throw is.invalidParameterError('failOn', 'one of: none, truncated, error, warning', inputOptions.failOn);
+ }
+ }
+ // autoOrient
+ if (is.defined(inputOptions.autoOrient)) {
+ if (is.bool(inputOptions.autoOrient)) {
+ inputDescriptor.autoOrient = inputOptions.autoOrient;
+ } else {
+ throw is.invalidParameterError('autoOrient', 'boolean', inputOptions.autoOrient);
+ }
+ }
+ // Density
+ if (is.defined(inputOptions.density)) {
+ if (is.number(inputOptions.density) && is.inRange(inputOptions.density, 1, 100000)) {
+ inputDescriptor.density = inputOptions.density;
+ } else {
+ throw is.invalidParameterError('density', 'number between 1 and 100000', inputOptions.density);
+ }
+ }
+ // Ignore embeddded ICC profile
+ if (is.defined(inputOptions.ignoreIcc)) {
+ if (is.bool(inputOptions.ignoreIcc)) {
+ inputDescriptor.ignoreIcc = inputOptions.ignoreIcc;
+ } else {
+ throw is.invalidParameterError('ignoreIcc', 'boolean', inputOptions.ignoreIcc);
+ }
+ }
+ // limitInputPixels
+ if (is.defined(inputOptions.limitInputPixels)) {
+ if (is.bool(inputOptions.limitInputPixels)) {
+ inputDescriptor.limitInputPixels = inputOptions.limitInputPixels
+ ? 0x3FFF ** 2
+ : 0;
+ } else if (is.integer(inputOptions.limitInputPixels) && is.inRange(inputOptions.limitInputPixels, 0, Number.MAX_SAFE_INTEGER)) {
+ inputDescriptor.limitInputPixels = inputOptions.limitInputPixels;
+ } else {
+ throw is.invalidParameterError('limitInputPixels', 'positive integer', inputOptions.limitInputPixels);
+ }
+ }
+ // limitInputChannels
+ if (is.defined(inputOptions.limitInputChannels)) {
+ if (is.bool(inputOptions.limitInputChannels)) {
+ inputDescriptor.limitInputChannels = inputOptions.limitInputChannels ? 5 : 0;
+ } else if (is.integer(inputOptions.limitInputChannels) && is.inRange(inputOptions.limitInputChannels, 0, Number.MAX_SAFE_INTEGER)) {
+ inputDescriptor.limitInputChannels = inputOptions.limitInputChannels;
+ } else {
+ throw is.invalidParameterError('limitInputChannels', 'positive integer', inputOptions.limitInputChannels);
+ }
+ }
+ // unlimited
+ if (is.defined(inputOptions.unlimited)) {
+ if (is.bool(inputOptions.unlimited)) {
+ inputDescriptor.unlimited = inputOptions.unlimited;
+ } else {
+ throw is.invalidParameterError('unlimited', 'boolean', inputOptions.unlimited);
+ }
+ }
+ // sequentialRead
+ if (is.defined(inputOptions.sequentialRead)) {
+ if (is.bool(inputOptions.sequentialRead)) {
+ inputDescriptor.sequentialRead = inputOptions.sequentialRead;
+ } else {
+ throw is.invalidParameterError('sequentialRead', 'boolean', inputOptions.sequentialRead);
+ }
+ }
+ // Raw pixel input
+ if (is.defined(inputOptions.raw)) {
+ if (
+ is.object(inputOptions.raw) &&
+ is.integer(inputOptions.raw.width) && is.inRange(inputOptions.raw.width, 1, 100000000) &&
+ is.integer(inputOptions.raw.height) && is.inRange(inputOptions.raw.height, 1, 100000000) &&
+ is.integer(inputOptions.raw.channels) && is.inRange(inputOptions.raw.channels, 1, 4)
+ ) {
+ inputDescriptor.rawWidth = inputOptions.raw.width;
+ inputDescriptor.rawHeight = inputOptions.raw.height;
+ inputDescriptor.rawChannels = inputOptions.raw.channels;
+ switch (input.constructor) {
+ case Uint8Array:
+ case Uint8ClampedArray:
+ inputDescriptor.rawDepth = 'uchar';
+ break;
+ case Int8Array:
+ inputDescriptor.rawDepth = 'char';
+ break;
+ case Uint16Array:
+ inputDescriptor.rawDepth = 'ushort';
+ break;
+ case Int16Array:
+ inputDescriptor.rawDepth = 'short';
+ break;
+ case Uint32Array:
+ inputDescriptor.rawDepth = 'uint';
+ break;
+ case Int32Array:
+ inputDescriptor.rawDepth = 'int';
+ break;
+ case Float32Array:
+ inputDescriptor.rawDepth = 'float';
+ break;
+ case Float64Array:
+ inputDescriptor.rawDepth = 'double';
+ break;
+ default:
+ inputDescriptor.rawDepth = 'uchar';
+ break;
+ }
+ } else {
+ throw new Error('Expected width, height and channels for raw pixel input');
+ }
+ inputDescriptor.rawPremultiplied = false;
+ if (is.defined(inputOptions.raw.premultiplied)) {
+ if (is.bool(inputOptions.raw.premultiplied)) {
+ inputDescriptor.rawPremultiplied = inputOptions.raw.premultiplied;
+ } else {
+ throw is.invalidParameterError('raw.premultiplied', 'boolean', inputOptions.raw.premultiplied);
+ }
+ }
+ inputDescriptor.rawPageHeight = 0;
+ if (is.defined(inputOptions.raw.pageHeight)) {
+ if (is.integer(inputOptions.raw.pageHeight) && inputOptions.raw.pageHeight > 0 && inputOptions.raw.pageHeight <= inputOptions.raw.height) {
+ if (inputOptions.raw.height % inputOptions.raw.pageHeight !== 0) {
+ throw new Error(`Expected raw.height ${inputOptions.raw.height} to be a multiple of raw.pageHeight ${inputOptions.raw.pageHeight}`);
+ }
+ inputDescriptor.rawPageHeight = inputOptions.raw.pageHeight;
+ } else {
+ throw is.invalidParameterError('raw.pageHeight', 'positive integer', inputOptions.raw.pageHeight);
+ }
+ }
+ }
+ // Multi-page input (GIF, TIFF, PDF)
+ if (is.defined(inputOptions.animated)) {
+ if (is.bool(inputOptions.animated)) {
+ inputDescriptor.pages = inputOptions.animated ? -1 : 1;
+ } else {
+ throw is.invalidParameterError('animated', 'boolean', inputOptions.animated);
+ }
+ }
+ if (is.defined(inputOptions.pages)) {
+ if (is.integer(inputOptions.pages) && is.inRange(inputOptions.pages, -1, 100000)) {
+ inputDescriptor.pages = inputOptions.pages;
+ } else {
+ throw is.invalidParameterError('pages', 'integer between -1 and 100000', inputOptions.pages);
+ }
+ }
+ if (is.defined(inputOptions.page)) {
+ if (is.integer(inputOptions.page) && is.inRange(inputOptions.page, 0, 100000)) {
+ inputDescriptor.page = inputOptions.page;
+ } else {
+ throw is.invalidParameterError('page', 'integer between 0 and 100000', inputOptions.page);
+ }
+ }
+ // OpenSlide specific options
+ if (is.object(inputOptions.openSlide) && is.defined(inputOptions.openSlide.level)) {
+ if (is.integer(inputOptions.openSlide.level) && is.inRange(inputOptions.openSlide.level, 0, 256)) {
+ inputDescriptor.openSlideLevel = inputOptions.openSlide.level;
+ } else {
+ throw is.invalidParameterError('openSlide.level', 'integer between 0 and 256', inputOptions.openSlide.level);
+ }
+ } else if (is.defined(inputOptions.level)) {
+ // Deprecated
+ if (is.integer(inputOptions.level) && is.inRange(inputOptions.level, 0, 256)) {
+ inputDescriptor.openSlideLevel = inputOptions.level;
+ } else {
+ throw is.invalidParameterError('level', 'integer between 0 and 256', inputOptions.level);
+ }
+ }
+ // TIFF specific options
+ if (is.object(inputOptions.tiff) && is.defined(inputOptions.tiff.subifd)) {
+ if (is.integer(inputOptions.tiff.subifd) && is.inRange(inputOptions.tiff.subifd, -1, 100000)) {
+ inputDescriptor.tiffSubifd = inputOptions.tiff.subifd;
+ } else {
+ throw is.invalidParameterError('tiff.subifd', 'integer between -1 and 100000', inputOptions.tiff.subifd);
+ }
+ } else if (is.defined(inputOptions.subifd)) {
+ // Deprecated
+ if (is.integer(inputOptions.subifd) && is.inRange(inputOptions.subifd, -1, 100000)) {
+ inputDescriptor.tiffSubifd = inputOptions.subifd;
+ } else {
+ throw is.invalidParameterError('subifd', 'integer between -1 and 100000', inputOptions.subifd);
+ }
+ }
+ // SVG specific options
+ if (is.object(inputOptions.svg)) {
+ if (is.defined(inputOptions.svg.stylesheet)) {
+ if (is.string(inputOptions.svg.stylesheet)) {
+ inputDescriptor.svgStylesheet = inputOptions.svg.stylesheet;
+ } else {
+ throw is.invalidParameterError('svg.stylesheet', 'string', inputOptions.svg.stylesheet);
+ }
+ }
+ if (is.defined(inputOptions.svg.highBitdepth)) {
+ if (is.bool(inputOptions.svg.highBitdepth)) {
+ inputDescriptor.svgHighBitdepth = inputOptions.svg.highBitdepth;
+ } else {
+ throw is.invalidParameterError('svg.highBitdepth', 'boolean', inputOptions.svg.highBitdepth);
+ }
+ }
+ }
+ // PDF specific options
+ if (is.object(inputOptions.pdf) && is.defined(inputOptions.pdf.background)) {
+ inputDescriptor.pdfBackground = this._getBackgroundColourOption(inputOptions.pdf.background);
+ } else if (is.defined(inputOptions.pdfBackground)) {
+ // Deprecated
+ inputDescriptor.pdfBackground = this._getBackgroundColourOption(inputOptions.pdfBackground);
+ }
+ // JPEG 2000 specific options
+ if (is.object(inputOptions.jp2) && is.defined(inputOptions.jp2.oneshot)) {
+ if (is.bool(inputOptions.jp2.oneshot)) {
+ inputDescriptor.jp2Oneshot = inputOptions.jp2.oneshot;
+ } else {
+ throw is.invalidParameterError('jp2.oneshot', 'boolean', inputOptions.jp2.oneshot);
+ }
+ }
+ // Create new image
+ if (is.defined(inputOptions.create)) {
+ if (
+ is.object(inputOptions.create) &&
+ is.integer(inputOptions.create.width) && is.inRange(inputOptions.create.width, 1, 100000000) &&
+ is.integer(inputOptions.create.height) && is.inRange(inputOptions.create.height, 1, 100000000) &&
+ is.integer(inputOptions.create.channels)
+ ) {
+ inputDescriptor.createWidth = inputOptions.create.width;
+ inputDescriptor.createHeight = inputOptions.create.height;
+ inputDescriptor.createChannels = inputOptions.create.channels;
+ inputDescriptor.createPageHeight = 0;
+ if (is.defined(inputOptions.create.pageHeight)) {
+ if (is.integer(inputOptions.create.pageHeight) && inputOptions.create.pageHeight > 0 && inputOptions.create.pageHeight <= inputOptions.create.height) {
+ if (inputOptions.create.height % inputOptions.create.pageHeight !== 0) {
+ throw new Error(`Expected create.height ${inputOptions.create.height} to be a multiple of create.pageHeight ${inputOptions.create.pageHeight}`);
+ }
+ inputDescriptor.createPageHeight = inputOptions.create.pageHeight;
+ } else {
+ throw is.invalidParameterError('create.pageHeight', 'positive integer', inputOptions.create.pageHeight);
+ }
+ }
+ // Noise
+ if (is.defined(inputOptions.create.noise)) {
+ if (!is.object(inputOptions.create.noise)) {
+ throw new Error('Expected noise to be an object');
+ }
+ if (inputOptions.create.noise.type !== 'gaussian') {
+ throw new Error('Only gaussian noise is supported at the moment');
+ }
+ inputDescriptor.createNoiseType = inputOptions.create.noise.type;
+ if (!is.inRange(inputOptions.create.channels, 1, 4)) {
+ throw is.invalidParameterError('create.channels', 'number between 1 and 4', inputOptions.create.channels);
+ }
+ inputDescriptor.createNoiseMean = 128;
+ if (is.defined(inputOptions.create.noise.mean)) {
+ if (is.number(inputOptions.create.noise.mean) && is.inRange(inputOptions.create.noise.mean, 0, 10000)) {
+ inputDescriptor.createNoiseMean = inputOptions.create.noise.mean;
+ } else {
+ throw is.invalidParameterError('create.noise.mean', 'number between 0 and 10000', inputOptions.create.noise.mean);
+ }
+ }
+ inputDescriptor.createNoiseSigma = 30;
+ if (is.defined(inputOptions.create.noise.sigma)) {
+ if (is.number(inputOptions.create.noise.sigma) && is.inRange(inputOptions.create.noise.sigma, 0, 10000)) {
+ inputDescriptor.createNoiseSigma = inputOptions.create.noise.sigma;
+ } else {
+ throw is.invalidParameterError('create.noise.sigma', 'number between 0 and 10000', inputOptions.create.noise.sigma);
+ }
+ }
+ } else if (is.defined(inputOptions.create.background)) {
+ if (!is.inRange(inputOptions.create.channels, 3, 4)) {
+ throw is.invalidParameterError('create.channels', 'number between 3 and 4', inputOptions.create.channels);
+ }
+ inputDescriptor.createBackground = this._getBackgroundColourOption(inputOptions.create.background);
+ } else {
+ throw new Error('Expected valid noise or background to create a new input image');
+ }
+ delete inputDescriptor.buffer;
+ } else {
+ throw new Error('Expected valid width, height and channels to create a new input image');
+ }
+ }
+ // Create a new image with text
+ if (is.defined(inputOptions.text)) {
+ if (is.object(inputOptions.text) && is.string(inputOptions.text.text)) {
+ inputDescriptor.textValue = inputOptions.text.text;
+ if (is.defined(inputOptions.text.height) && is.defined(inputOptions.text.dpi)) {
+ throw new Error('Expected only one of dpi or height');
+ }
+ if (is.defined(inputOptions.text.font)) {
+ if (is.string(inputOptions.text.font)) {
+ inputDescriptor.textFont = inputOptions.text.font;
+ } else {
+ throw is.invalidParameterError('text.font', 'string', inputOptions.text.font);
+ }
+ }
+ if (is.defined(inputOptions.text.fontfile)) {
+ if (is.string(inputOptions.text.fontfile)) {
+ inputDescriptor.textFontfile = inputOptions.text.fontfile;
+ } else {
+ throw is.invalidParameterError('text.fontfile', 'string', inputOptions.text.fontfile);
+ }
+ }
+ if (is.defined(inputOptions.text.width)) {
+ if (is.integer(inputOptions.text.width) && is.inRange(inputOptions.text.width, 1, 1000000)) {
+ inputDescriptor.textWidth = inputOptions.text.width;
+ } else {
+ throw is.invalidParameterError('text.width', 'integer between 1 and 1000000', inputOptions.text.width);
+ }
+ }
+ if (is.defined(inputOptions.text.height)) {
+ if (is.integer(inputOptions.text.height) && is.inRange(inputOptions.text.height, 1, 1000000)) {
+ inputDescriptor.textHeight = inputOptions.text.height;
+ } else {
+ throw is.invalidParameterError('text.height', 'integer between 1 and 1000000', inputOptions.text.height);
+ }
+ }
+ if (is.defined(inputOptions.text.align)) {
+ if (is.string(inputOptions.text.align) && is.string(this.constructor.align[inputOptions.text.align])) {
+ inputDescriptor.textAlign = this.constructor.align[inputOptions.text.align];
+ } else {
+ throw is.invalidParameterError('text.align', 'valid alignment', inputOptions.text.align);
+ }
+ }
+ if (is.defined(inputOptions.text.justify)) {
+ if (is.bool(inputOptions.text.justify)) {
+ inputDescriptor.textJustify = inputOptions.text.justify;
+ } else {
+ throw is.invalidParameterError('text.justify', 'boolean', inputOptions.text.justify);
+ }
+ }
+ if (is.defined(inputOptions.text.dpi)) {
+ if (is.integer(inputOptions.text.dpi) && is.inRange(inputOptions.text.dpi, 1, 1000000)) {
+ inputDescriptor.textDpi = inputOptions.text.dpi;
+ } else {
+ throw is.invalidParameterError('text.dpi', 'integer between 1 and 1000000', inputOptions.text.dpi);
+ }
+ }
+ if (is.defined(inputOptions.text.rgba)) {
+ if (is.bool(inputOptions.text.rgba)) {
+ inputDescriptor.textRgba = inputOptions.text.rgba;
+ } else {
+ throw is.invalidParameterError('text.rgba', 'bool', inputOptions.text.rgba);
+ }
+ }
+ if (is.defined(inputOptions.text.spacing)) {
+ if (is.integer(inputOptions.text.spacing) && is.inRange(inputOptions.text.spacing, -1000000, 1000000)) {
+ inputDescriptor.textSpacing = inputOptions.text.spacing;
+ } else {
+ throw is.invalidParameterError('text.spacing', 'integer between -1000000 and 1000000', inputOptions.text.spacing);
+ }
+ }
+ if (is.defined(inputOptions.text.wrap)) {
+ if (is.string(inputOptions.text.wrap) && is.inArray(inputOptions.text.wrap, ['word', 'char', 'word-char', 'none'])) {
+ inputDescriptor.textWrap = inputOptions.text.wrap;
+ } else {
+ throw is.invalidParameterError('text.wrap', 'one of: word, char, word-char, none', inputOptions.text.wrap);
+ }
+ }
+ delete inputDescriptor.buffer;
+ } else {
+ throw new Error('Expected a valid string to create an image with text.');
+ }
+ }
+ // Join images together
+ if (is.defined(inputOptions.join)) {
+ if (is.defined(this.options.join)) {
+ if (is.defined(inputOptions.join.animated)) {
+ if (is.bool(inputOptions.join.animated)) {
+ inputDescriptor.joinAnimated = inputOptions.join.animated;
+ } else {
+ throw is.invalidParameterError('join.animated', 'boolean', inputOptions.join.animated);
+ }
+ }
+ if (is.defined(inputOptions.join.across)) {
+ if (is.integer(inputOptions.join.across) && is.inRange(inputOptions.join.across, 1, 1000000)) {
+ inputDescriptor.joinAcross = inputOptions.join.across;
+ } else {
+ throw is.invalidParameterError('join.across', 'integer between 1 and 100000', inputOptions.join.across);
+ }
+ }
+ if (is.defined(inputOptions.join.shim)) {
+ if (is.integer(inputOptions.join.shim) && is.inRange(inputOptions.join.shim, 0, 1000000)) {
+ inputDescriptor.joinShim = inputOptions.join.shim;
+ } else {
+ throw is.invalidParameterError('join.shim', 'integer between 0 and 100000', inputOptions.join.shim);
+ }
+ }
+ if (is.defined(inputOptions.join.background)) {
+ inputDescriptor.joinBackground = this._getBackgroundColourOption(inputOptions.join.background);
+ }
+ if (is.defined(inputOptions.join.halign)) {
+ if (is.string(inputOptions.join.halign) && is.string(this.constructor.align[inputOptions.join.halign])) {
+ inputDescriptor.joinHalign = this.constructor.align[inputOptions.join.halign];
+ } else {
+ throw is.invalidParameterError('join.halign', 'valid alignment', inputOptions.join.halign);
+ }
+ }
+ if (is.defined(inputOptions.join.valign)) {
+ if (is.string(inputOptions.join.valign) && is.string(this.constructor.align[inputOptions.join.valign])) {
+ inputDescriptor.joinValign = this.constructor.align[inputOptions.join.valign];
+ } else {
+ throw is.invalidParameterError('join.valign', 'valid alignment', inputOptions.join.valign);
+ }
+ }
+ } else {
+ throw new Error('Expected input to be an array of images to join');
+ }
+ }
+ } else if (is.defined(inputOptions)) {
+ throw new Error(`Invalid input options ${inputOptions}`);
+ }
+ return inputDescriptor;
+}
+
+/**
+ * Handle incoming Buffer chunk on Writable Stream.
+ * @private
+ * @param {Buffer} chunk
+ * @param {string} encoding - unused
+ * @param {Function} callback
+ */
+function _write (chunk, _encoding, callback) {
+ if (Array.isArray(this.options.input.buffer)) {
+ if (is.buffer(chunk)) {
+ this.options.input.buffer.push(chunk);
+ callback();
+ } else {
+ callback(new Error('Non-Buffer data on Writable Stream'));
+ }
+ } else {
+ callback(new Error('Unexpected data on Writable Stream'));
+ }
+}
+
+/**
+ * Flattens the array of chunks accumulated in input.buffer.
+ * @private
+ */
+function _flattenBufferIn () {
+ if (this._isStreamInput()) {
+ this.options.input.buffer = Buffer.concat(this.options.input.buffer);
+ }
+}
+
+/**
+ * Are we expecting Stream-based input?
+ * @private
+ * @returns {boolean}
+ */
+function _isStreamInput () {
+ return Array.isArray(this.options.input.buffer);
+}
+
+/**
+ * Call fn when the Writable side of Stream-based input has finished,
+ * or immediately when it already has, as 'finish' is emitted only once.
+ * @private
+ * @param {Function} fn
+ */
+function _whenStreamInFinished (fn) {
+ if (this.writableFinished) {
+ fn();
+ } else {
+ this.once('finish', fn);
+ }
+}
+
+/**
+ * Fast access to (uncached) image metadata without decoding any compressed pixel data.
+ *
+ * This is read from the header of the input image.
+ * It does not take into consideration any operations to be applied to the output image,
+ * such as resize or rotate.
+ *
+ * Dimensions in the response will respect the `page` and `pages` properties of the
+ * {@link /api-constructor/ constructor parameters}.
+ *
+ * A `Promise` is returned when `callback` is not provided.
+ *
+ * - `format`: Name of decoder used to parse image e.g. `jpeg`, `png`, `webp`, `gif`, `svg`, `heif`, `tiff`
+ * - `mediaType`: Media Type (MIME Type) e.g. `image/jpeg`, `image/png`, `image/svg+xml`, `image/avif`
+ * - `size`: Total size of image in bytes, for Stream and Buffer input only
+ * - `width`: Number of pixels wide (EXIF orientation is not taken into consideration, see example below)
+ * - `height`: Number of pixels high (EXIF orientation is not taken into consideration, see example below)
+ * - `space`: Name of colour space interpretation e.g. `srgb`, `rgb`, `cmyk`, `lab`, `b-w` [...](https://www.libvips.org/API/current/enum.Interpretation.html)
+ * - `channels`: Number of bands e.g. `3` for sRGB, `4` for CMYK
+ * - `depth`: Name of pixel depth format e.g. `uchar`, `char`, `ushort`, `float` [...](https://www.libvips.org/API/current/enum.BandFormat.html)
+ * - `density`: Number of pixels per inch (DPI), if present
+ * - `chromaSubsampling`: String containing JPEG chroma subsampling, `4:2:0` or `4:4:4` for RGB, `4:2:0:4` or `4:4:4:4` for CMYK
+ * - `isProgressive`: Boolean indicating whether the image is interlaced using a progressive scan
+ * - `isPalette`: Boolean indicating whether the image is palette-based (GIF, PNG).
+ * - `bitsPerSample`: Number of bits per sample for each channel (GIF, PNG, HEIF).
+ * - `pages`: Number of pages/frames contained within the image, with support for TIFF, HEIF, PDF, animated GIF and animated WebP
+ * - `pageHeight`: Number of pixels high each page in a multi-page image will be.
+ * - `loop`: Number of times to loop an animated image, zero refers to a continuous loop.
+ * - `delay`: Delay in ms between each page in an animated image, provided as an array of integers.
+ * - `pagePrimary`: Number of the primary page in a HEIF image
+ * - `levels`: Details of each level in a multi-level image provided as an array of objects, requires libvips compiled with support for OpenSlide
+ * - `subifds`: Number of Sub Image File Directories in an OME-TIFF image
+ * - `background`: Default background colour, if present, for PNG (bKGD) and GIF images
+ * - `compression`: The encoder used to compress an HEIF file, `av1` (AVIF) or `hevc` (HEIC)
+ * - `resolutionUnit`: The unit of resolution (density), either `inch` or `cm`, if present
+ * - `hasProfile`: Boolean indicating the presence of an embedded ICC profile
+ * - `hasAlpha`: Boolean indicating the presence of an alpha transparency channel
+ * - `orientation`: Number value of the EXIF Orientation header, if present
+ * - `exif`: Buffer containing raw EXIF data, if present
+ * - `icc`: Buffer containing raw [ICC](https://www.npmjs.com/package/icc) profile data, if present
+ * - `iptc`: Buffer containing raw IPTC data, if present
+ * - `xmp`: Buffer containing raw XMP data, if present
+ * - `xmpAsString`: String containing XMP data, if valid UTF-8.
+ * - `tifftagPhotoshop`: Buffer containing raw TIFFTAG_PHOTOSHOP data, if present
+ * - `formatMagick`: String containing format for images loaded via *magick
+ * - `comments`: Array of keyword/text pairs representing PNG text blocks, if present.
+ * - `gainMap.image`: HDR gain map, if present, as compressed JPEG image.
+ *
+ * @example
+ * const metadata = await sharp(input).metadata();
+ *
+ * @example
+ * const image = sharp(inputJpg);
+ * image
+ * .metadata()
+ * .then(function(metadata) {
+ * return image
+ * .resize(Math.round(metadata.width / 2))
+ * .webp()
+ * .toBuffer();
+ * })
+ * .then(function(data) {
+ * // data contains a WebP image half the width and height of the original JPEG
+ * });
+ *
+ * @example
+ * // Get dimensions taking EXIF Orientation into account.
+ * const { autoOrient } = await sharp(input).metadata();
+ * const { width, height } = autoOrient;
+ *
+ * @param {Function} [callback] - called with the arguments `(err, metadata)`
+ * @returns {Promise|Sharp}
+ */
+function metadata (callback) {
+ const stack = Error();
+ if (is.fn(callback)) {
+ if (this._isStreamInput()) {
+ this._whenStreamInFinished(() => {
+ this._flattenBufferIn();
+ sharp.metadata(this.options, (err, metadata) => {
+ if (err) {
+ callback(is.nativeError(err, stack));
+ } else {
+ callback(null, metadata);
+ }
+ });
+ });
+ } else {
+ sharp.metadata(this.options, (err, metadata) => {
+ if (err) {
+ callback(is.nativeError(err, stack));
+ } else {
+ callback(null, metadata);
+ }
+ });
+ }
+ return this;
+ } else {
+ if (this._isStreamInput()) {
+ return new Promise((resolve, reject) => {
+ this._whenStreamInFinished(() => {
+ this._flattenBufferIn();
+ sharp.metadata(this.options, (err, metadata) => {
+ if (err) {
+ reject(is.nativeError(err, stack));
+ } else {
+ resolve(metadata);
+ }
+ });
+ });
+ });
+ } else {
+ return new Promise((resolve, reject) => {
+ sharp.metadata(this.options, (err, metadata) => {
+ if (err) {
+ reject(is.nativeError(err, stack));
+ } else {
+ resolve(metadata);
+ }
+ });
+ });
+ }
+ }
+}
+
+/**
+ * Access to pixel-derived image statistics for every channel in the image.
+ * A `Promise` is returned when `callback` is not provided.
+ *
+ * - `channels`: Array of channel statistics for each channel in the image. Each channel statistic contains
+ * - `min` (minimum value in the channel)
+ * - `max` (maximum value in the channel)
+ * - `sum` (sum of all values in a channel)
+ * - `squaresSum` (sum of squared values in a channel)
+ * - `mean` (mean of the values in a channel)
+ * - `stdev` (standard deviation for the values in a channel)
+ * - `minX` (x-coordinate of one of the pixel where the minimum lies)
+ * - `minY` (y-coordinate of one of the pixel where the minimum lies)
+ * - `maxX` (x-coordinate of one of the pixel where the maximum lies)
+ * - `maxY` (y-coordinate of one of the pixel where the maximum lies)
+ * - `isOpaque`: Is the image fully opaque? Will be `true` if the image has no alpha channel or if every pixel is fully opaque.
+ * - `entropy`: Histogram-based estimation of greyscale entropy, discarding alpha channel if any.
+ * - `sharpness`: Estimation of greyscale sharpness based on the standard deviation of a Laplacian convolution, discarding alpha channel if any.
+ * - `dominant`: Object containing most dominant sRGB colour based on a 4096-bin 3D histogram.
+ *
+ * **Note**: Statistics are derived from the original input image. Any operations performed on the image must first be
+ * written to a buffer in order to run `stats` on the result (see third example).
+ *
+ * @example
+ * const image = sharp(inputJpg);
+ * image
+ * .stats()
+ * .then(function(stats) {
+ * // stats contains the channel-wise statistics array and the isOpaque value
+ * });
+ *
+ * @example
+ * const { entropy, sharpness, dominant } = await sharp(input).stats();
+ * const { r, g, b } = dominant;
+ *
+ * @example
+ * const image = sharp(input);
+ * // store intermediate result
+ * const part = await image.extract(region).toBuffer();
+ * // create new instance to obtain statistics of extracted region
+ * const stats = await sharp(part).stats();
+ *
+ * @param {Function} [callback] - called with the arguments `(err, stats)`
+ * @returns {Promise}
+ */
+function stats (callback) {
+ const stack = Error();
+ if (is.fn(callback)) {
+ if (this._isStreamInput()) {
+ this._whenStreamInFinished(() => {
+ this._flattenBufferIn();
+ sharp.stats(this.options, (err, stats) => {
+ if (err) {
+ callback(is.nativeError(err, stack));
+ } else {
+ callback(null, stats);
+ }
+ });
+ });
+ } else {
+ sharp.stats(this.options, (err, stats) => {
+ if (err) {
+ callback(is.nativeError(err, stack));
+ } else {
+ callback(null, stats);
+ }
+ });
+ }
+ return this;
+ } else {
+ if (this._isStreamInput()) {
+ return new Promise((resolve, reject) => {
+ this._whenStreamInFinished(() => {
+ this._flattenBufferIn();
+ sharp.stats(this.options, (err, stats) => {
+ if (err) {
+ reject(is.nativeError(err, stack));
+ } else {
+ resolve(stats);
+ }
+ });
+ });
+ });
+ } else {
+ return new Promise((resolve, reject) => {
+ sharp.stats(this.options, (err, stats) => {
+ if (err) {
+ reject(is.nativeError(err, stack));
+ } else {
+ resolve(stats);
+ }
+ });
+ });
+ }
+ }
+}
+
+/**
+ * Decorate the Sharp prototype with input-related functions.
+ * @module Sharp
+ * @private
+ */
+export default (Sharp) => {
+ Object.assign(Sharp.prototype, {
+ // Private
+ _inputOptionsFromObject,
+ _createInputDescriptor,
+ _write,
+ _flattenBufferIn,
+ _isStreamInput,
+ _whenStreamInFinished,
+ // Public
+ metadata,
+ stats
+ });
+ // Class attributes
+ Sharp.align = align;
+};
diff --git a/apps/api/.output/node_modules/sharp/dist/is.cjs b/apps/api/.output/node_modules/sharp/dist/is.cjs
new file mode 100644
index 0000000..fc36f3a
--- /dev/null
+++ b/apps/api/.output/node_modules/sharp/dist/is.cjs
@@ -0,0 +1,149 @@
+/*!
+ Copyright 2013 Lovell Fuller and others.
+ SPDX-License-Identifier: Apache-2.0
+*/
+
+/**
+ * Is this value defined and not null?
+ * @private
+ */
+const defined = (val) => typeof val !== 'undefined' && val !== null;
+
+/**
+ * Is this value an object?
+ * @private
+ */
+const object = (val) => typeof val === 'object';
+
+/**
+ * Is this value a plain object?
+ * @private
+ */
+const plainObject = (val) => Object.prototype.toString.call(val) === '[object Object]';
+
+/**
+ * Is this value a function?
+ * @private
+ */
+const fn = (val) => typeof val === 'function';
+
+/**
+ * Is this value a boolean?
+ * @private
+ */
+const bool = (val) => typeof val === 'boolean';
+
+/**
+ * Is this value a Buffer object?
+ * @private
+ */
+const buffer = (val) => val instanceof Buffer;
+
+/**
+ * Is this value a typed array object?. E.g. Uint8Array or Uint8ClampedArray?
+ * @private
+ */
+const typedArray = (val) => {
+ if (defined(val)) {
+ switch (val.constructor) {
+ case Uint8Array:
+ case Uint8ClampedArray:
+ case Int8Array:
+ case Uint16Array:
+ case Int16Array:
+ case Uint32Array:
+ case Int32Array:
+ case Float32Array:
+ case Float64Array:
+ return true;
+ }
+ }
+
+ return false;
+};
+
+/**
+ * Is this value an ArrayBuffer object?
+ * @private
+ */
+const arrayBuffer = (val) => val instanceof ArrayBuffer;
+
+/**
+ * Is this value a non-empty string?
+ * @private
+ */
+const string = (val) => typeof val === 'string' && val.length > 0;
+
+/**
+ * Is this value a real number?
+ * @private
+ */
+const number = (val) => typeof val === 'number' && Number.isFinite(val);
+
+/**
+ * Is this value an integer?
+ * @private
+ */
+const integer = (val) => Number.isInteger(val);
+
+/**
+ * Is this value within an inclusive given range?
+ * @private
+ */
+const inRange = (val, min, max) => val >= min && val <= max;
+
+/**
+ * Is this value within the elements of an array?
+ * @private
+ */
+const inArray = (val, list) => list.includes(val);
+
+/**
+ * Create an Error with a message relating to an invalid parameter.
+ *
+ * @param {string} name - parameter name.
+ * @param {string} expected - description of the type/value/range expected.
+ * @param {*} actual - the value received.
+ * @returns {Error} Containing the formatted message.
+ * @private
+ */
+const invalidParameterError = (name, expected, actual) => {
+ let actualString;
+ try {
+ actualString = String(actual).slice(0, 100);
+ } catch {}
+ return new Error(
+ `Expected ${expected} for ${name} but received ${actualString} of type ${typeof actual}`
+ );
+};
+
+/**
+ * Ensures an Error from C++ contains a JS stack.
+ *
+ * @param {Error} native - Error with message from C++.
+ * @param {Error} context - Error with stack from JS.
+ * @returns {Error} Error with message and stack.
+ * @private
+ */
+const nativeError = (native, context) => {
+ context.message = native.message;
+ return context;
+};
+
+module.exports = {
+ defined,
+ object,
+ plainObject,
+ fn,
+ bool,
+ buffer,
+ typedArray,
+ arrayBuffer,
+ string,
+ number,
+ integer,
+ inRange,
+ inArray,
+ invalidParameterError,
+ nativeError
+};
diff --git a/apps/api/.output/node_modules/sharp/dist/is.mjs b/apps/api/.output/node_modules/sharp/dist/is.mjs
new file mode 100644
index 0000000..f4911eb
--- /dev/null
+++ b/apps/api/.output/node_modules/sharp/dist/is.mjs
@@ -0,0 +1,149 @@
+/*!
+ Copyright 2013 Lovell Fuller and others.
+ SPDX-License-Identifier: Apache-2.0
+*/
+
+/**
+ * Is this value defined and not null?
+ * @private
+ */
+const defined = (val) => typeof val !== 'undefined' && val !== null;
+
+/**
+ * Is this value an object?
+ * @private
+ */
+const object = (val) => typeof val === 'object';
+
+/**
+ * Is this value a plain object?
+ * @private
+ */
+const plainObject = (val) => Object.prototype.toString.call(val) === '[object Object]';
+
+/**
+ * Is this value a function?
+ * @private
+ */
+const fn = (val) => typeof val === 'function';
+
+/**
+ * Is this value a boolean?
+ * @private
+ */
+const bool = (val) => typeof val === 'boolean';
+
+/**
+ * Is this value a Buffer object?
+ * @private
+ */
+const buffer = (val) => val instanceof Buffer;
+
+/**
+ * Is this value a typed array object?. E.g. Uint8Array or Uint8ClampedArray?
+ * @private
+ */
+const typedArray = (val) => {
+ if (defined(val)) {
+ switch (val.constructor) {
+ case Uint8Array:
+ case Uint8ClampedArray:
+ case Int8Array:
+ case Uint16Array:
+ case Int16Array:
+ case Uint32Array:
+ case Int32Array:
+ case Float32Array:
+ case Float64Array:
+ return true;
+ }
+ }
+
+ return false;
+};
+
+/**
+ * Is this value an ArrayBuffer object?
+ * @private
+ */
+const arrayBuffer = (val) => val instanceof ArrayBuffer;
+
+/**
+ * Is this value a non-empty string?
+ * @private
+ */
+const string = (val) => typeof val === 'string' && val.length > 0;
+
+/**
+ * Is this value a real number?
+ * @private
+ */
+const number = (val) => typeof val === 'number' && Number.isFinite(val);
+
+/**
+ * Is this value an integer?
+ * @private
+ */
+const integer = (val) => Number.isInteger(val);
+
+/**
+ * Is this value within an inclusive given range?
+ * @private
+ */
+const inRange = (val, min, max) => val >= min && val <= max;
+
+/**
+ * Is this value within the elements of an array?
+ * @private
+ */
+const inArray = (val, list) => list.includes(val);
+
+/**
+ * Create an Error with a message relating to an invalid parameter.
+ *
+ * @param {string} name - parameter name.
+ * @param {string} expected - description of the type/value/range expected.
+ * @param {*} actual - the value received.
+ * @returns {Error} Containing the formatted message.
+ * @private
+ */
+const invalidParameterError = (name, expected, actual) => {
+ let actualString;
+ try {
+ actualString = String(actual).slice(0, 100);
+ } catch {}
+ return new Error(
+ `Expected ${expected} for ${name} but received ${actualString} of type ${typeof actual}`
+ );
+};
+
+/**
+ * Ensures an Error from C++ contains a JS stack.
+ *
+ * @param {Error} native - Error with message from C++.
+ * @param {Error} context - Error with stack from JS.
+ * @returns {Error} Error with message and stack.
+ * @private
+ */
+const nativeError = (native, context) => {
+ context.message = native.message;
+ return context;
+};
+
+export default {
+ defined,
+ object,
+ plainObject,
+ fn,
+ bool,
+ buffer,
+ typedArray,
+ arrayBuffer,
+ string,
+ number,
+ integer,
+ inRange,
+ inArray,
+ invalidParameterError,
+ nativeError
+};
diff --git a/apps/api/.output/node_modules/sharp/dist/libvips.cjs b/apps/api/.output/node_modules/sharp/dist/libvips.cjs
new file mode 100644
index 0000000..b59b48f
--- /dev/null
+++ b/apps/api/.output/node_modules/sharp/dist/libvips.cjs
@@ -0,0 +1,212 @@
+/*!
+ Copyright 2013 Lovell Fuller and others.
+ SPDX-License-Identifier: Apache-2.0
+*/
+
+const { spawnSync } = require('node:child_process');
+const { createHash } = require('node:crypto');
+const semver = require('semver');
+const detectLibc = require('detect-libc');
+const pkg = require('../package.json');
+
+/* node:coverage ignore next */
+const minimumLibvipsVersionLabelled = process.env.npm_package_config_libvips || pkg.config.libvips;
+const minimumLibvipsVersion = semver.coerce(minimumLibvipsVersionLabelled).version;
+
+const prebuiltPlatforms = [
+ 'darwin-arm64', 'darwin-x64',
+ 'freebsd-arm64', 'freebsd-x64',
+ 'linux-arm', 'linux-arm64', 'linux-ppc64', 'linux-riscv64', 'linux-s390x', 'linux-wasm32', 'linux-x64',
+ 'linuxmusl-arm64', 'linuxmusl-x64',
+ 'win32-arm64', 'win32-ia32', 'win32-x64'
+];
+
+const spawnSyncOptions = {
+ encoding: 'utf8',
+ shell: true
+};
+
+const log = (item) => {
+ if (item instanceof Error) {
+ console.error(`sharp: Installation error: ${item.message}`);
+ } else {
+ console.log(`sharp: ${item}`);
+ }
+};
+
+/* node:coverage disable */
+
+const runtimeLibc = () => detectLibc.isNonGlibcLinuxSync() ? detectLibc.familySync() : '';
+
+const runtimePlatformArch = () => `${process.platform}${runtimeLibc()}-${process.arch}`;
+
+const buildPlatformArch = () => {
+ if (isEmscripten()) {
+ return 'wasm32';
+ }
+ const { npm_config_arch, npm_config_platform, npm_config_libc } = process.env;
+ const libc = typeof npm_config_libc === 'string' ? npm_config_libc : runtimeLibc();
+ return `${npm_config_platform || process.platform}${libc}-${npm_config_arch || process.arch}`;
+};
+
+const buildSharpLibvipsIncludeDir = () => {
+ try {
+ return require(`@img/sharp-libvips-dev-${buildPlatformArch()}/include`);
+ } catch {
+ try {
+ return require('@img/sharp-libvips-dev/include');
+ } catch {}
+ }
+ return '';
+};
+
+const buildSharpLibvipsCPlusPlusDir = () => {
+ try {
+ return require('@img/sharp-libvips-dev/cplusplus');
+ } catch {}
+ return '';
+};
+
+const buildSharpLibvipsLibDir = () => {
+ try {
+ return require(`@img/sharp-libvips-dev-${buildPlatformArch()}/lib`);
+ } catch {
+ try {
+ return require(`@img/sharp-libvips-${buildPlatformArch()}/lib`);
+ } catch {}
+ }
+ return '';
+};
+
+const isUnsupportedNodeRuntime = () => {
+ if (process.release?.name === 'node' && process.versions) {
+ if (!semver.satisfies(process.versions.node, pkg.engines.node)) {
+ return { found: process.versions.node, expected: pkg.engines.node };
+ }
+ }
+};
+
+const isEmscripten = () => {
+ const { CC } = process.env;
+ return Boolean(CC?.endsWith('/emcc'));
+};
+
+const isRosetta = () => {
+ if (process.platform === 'darwin' && process.arch === 'x64') {
+ const translated = spawnSync('sysctl sysctl.proc_translated', spawnSyncOptions).stdout;
+ return (translated || '').trim() === 'sysctl.proc_translated: 1';
+ }
+ return false;
+};
+
+/* node:coverage enable */
+
+const sha512 = (s) => createHash('sha512').update(s).digest('hex');
+
+const yarnLocator = () => {
+ try {
+ const identHash = sha512(`imgsharp-libvips-${buildPlatformArch()}`);
+ const npmVersion = semver.coerce(pkg.optionalDependencies[`@img/sharp-libvips-${buildPlatformArch()}`], {
+ includePrerelease: true
+ }).version;
+ return sha512(`${identHash}npm:${npmVersion}`).slice(0, 10);
+ } catch {}
+ return '';
+};
+
+/* node:coverage disable */
+
+const spawnRebuild = () =>
+ spawnSync(`node-gyp rebuild --directory=src ${isEmscripten() ? '--nodedir=emscripten' : ''}`, {
+ ...spawnSyncOptions,
+ stdio: 'inherit'
+ }).status;
+
+const globalLibvipsVersion = () => {
+ if (process.platform !== 'win32') {
+ const globalLibvipsVersion = spawnSync('pkg-config --modversion vips-cpp', {
+ ...spawnSyncOptions,
+ env: {
+ ...process.env,
+ PKG_CONFIG_PATH: pkgConfigPath()
+ }
+ }).stdout;
+ return (globalLibvipsVersion || '').trim();
+ } else {
+ return '';
+ }
+};
+
+const getBrewPkgConfigPath = () => {
+ try {
+ const brewPrefix = (spawnSync('brew', ['--prefix'], { encoding: 'utf8' }).stdout || '').trim();
+ if (brewPrefix) {
+ return `${brewPrefix}/lib/pkgconfig`;
+ }
+ } catch (_err) {}
+ return undefined;
+};
+
+const getPkgConfigPath = () => {
+ try {
+ const pkgConfigPath = (spawnSync('pkg-config', ['--variable', 'pc_path', 'pkg-config'], { encoding: 'utf8' }).stdout || '').trim();
+ if (pkgConfigPath) {
+ return pkgConfigPath;
+ }
+ } catch (_err) {}
+ return undefined;
+};
+
+/* node:coverage enable */
+
+const pkgConfigPath = () => {
+ if (process.platform !== 'win32') {
+ return [
+ getBrewPkgConfigPath(),
+ getPkgConfigPath(),
+ process.env.PKG_CONFIG_PATH
+ ].filter(Boolean).join(':');
+ } else {
+ return '';
+ }
+};
+
+const skipSearch = (status, reason, logger) => {
+ if (logger) {
+ logger(`Detected ${reason}, skipping search for globally-installed libvips`);
+ }
+ return status;
+};
+
+const useGlobalLibvips = (logger) => {
+ if (Boolean(process.env.SHARP_IGNORE_GLOBAL_LIBVIPS) === true) {
+ return skipSearch(false, 'SHARP_IGNORE_GLOBAL_LIBVIPS', logger);
+ }
+ if (Boolean(process.env.SHARP_FORCE_GLOBAL_LIBVIPS) === true) {
+ return skipSearch(true, 'SHARP_FORCE_GLOBAL_LIBVIPS', logger);
+ }
+ /* node:coverage ignore next 3 */
+ if (isRosetta()) {
+ return skipSearch(false, 'Rosetta', logger);
+ }
+ const globalVipsVersion = globalLibvipsVersion();
+ /* node:coverage ignore next */
+ return !!globalVipsVersion && semver.gte(globalVipsVersion, minimumLibvipsVersion);
+};
+
+module.exports = {
+ minimumLibvipsVersion,
+ prebuiltPlatforms,
+ buildPlatformArch,
+ buildSharpLibvipsIncludeDir,
+ buildSharpLibvipsCPlusPlusDir,
+ buildSharpLibvipsLibDir,
+ isUnsupportedNodeRuntime,
+ runtimePlatformArch,
+ log,
+ yarnLocator,
+ spawnRebuild,
+ globalLibvipsVersion,
+ pkgConfigPath,
+ useGlobalLibvips
+};
diff --git a/apps/api/.output/node_modules/sharp/dist/libvips.mjs b/apps/api/.output/node_modules/sharp/dist/libvips.mjs
new file mode 100644
index 0000000..35608ac
--- /dev/null
+++ b/apps/api/.output/node_modules/sharp/dist/libvips.mjs
@@ -0,0 +1,212 @@
+/*!
+ Copyright 2013 Lovell Fuller and others.
+ SPDX-License-Identifier: Apache-2.0
+*/
+
+import { spawnSync } from 'node:child_process';
+import { createHash } from 'node:crypto';
+import semver from 'semver';
+import detectLibc from 'detect-libc';
+import pkg from '../package.json' with { type: 'json' };
+
+/* node:coverage ignore next */
+const minimumLibvipsVersionLabelled = process.env.npm_package_config_libvips || pkg.config.libvips;
+const minimumLibvipsVersion = semver.coerce(minimumLibvipsVersionLabelled).version;
+
+const prebuiltPlatforms = [
+ 'darwin-arm64', 'darwin-x64',
+ 'freebsd-arm64', 'freebsd-x64',
+ 'linux-arm', 'linux-arm64', 'linux-ppc64', 'linux-riscv64', 'linux-s390x', 'linux-wasm32', 'linux-x64',
+ 'linuxmusl-arm64', 'linuxmusl-x64',
+ 'win32-arm64', 'win32-ia32', 'win32-x64'
+];
+
+const spawnSyncOptions = {
+ encoding: 'utf8',
+ shell: true
+};
+
+const log = (item) => {
+ if (item instanceof Error) {
+ console.error(`sharp: Installation error: ${item.message}`);
+ } else {
+ console.log(`sharp: ${item}`);
+ }
+};
+
+/* node:coverage disable */
+
+const runtimeLibc = () => detectLibc.isNonGlibcLinuxSync() ? detectLibc.familySync() : '';
+
+const runtimePlatformArch = () => `${process.platform}${runtimeLibc()}-${process.arch}`;
+
+const buildPlatformArch = () => {
+ if (isEmscripten()) {
+ return 'wasm32';
+ }
+ const { npm_config_arch, npm_config_platform, npm_config_libc } = process.env;
+ const libc = typeof npm_config_libc === 'string' ? npm_config_libc : runtimeLibc();
+ return `${npm_config_platform || process.platform}${libc}-${npm_config_arch || process.arch}`;
+};
+
+const buildSharpLibvipsIncludeDir = () => {
+ try {
+ return require(`@img/sharp-libvips-dev-${buildPlatformArch()}/include`);
+ } catch {
+ try {
+ return require('@img/sharp-libvips-dev/include');
+ } catch {}
+ }
+ return '';
+};
+
+const buildSharpLibvipsCPlusPlusDir = () => {
+ try {
+ return require('@img/sharp-libvips-dev/cplusplus');
+ } catch {}
+ return '';
+};
+
+const buildSharpLibvipsLibDir = () => {
+ try {
+ return require(`@img/sharp-libvips-dev-${buildPlatformArch()}/lib`);
+ } catch {
+ try {
+ return require(`@img/sharp-libvips-${buildPlatformArch()}/lib`);
+ } catch {}
+ }
+ return '';
+};
+
+const isUnsupportedNodeRuntime = () => {
+ if (process.release?.name === 'node' && process.versions) {
+ if (!semver.satisfies(process.versions.node, pkg.engines.node)) {
+ return { found: process.versions.node, expected: pkg.engines.node };
+ }
+ }
+};
+
+const isEmscripten = () => {
+ const { CC } = process.env;
+ return Boolean(CC?.endsWith('/emcc'));
+};
+
+const isRosetta = () => {
+ if (process.platform === 'darwin' && process.arch === 'x64') {
+ const translated = spawnSync('sysctl sysctl.proc_translated', spawnSyncOptions).stdout;
+ return (translated || '').trim() === 'sysctl.proc_translated: 1';
+ }
+ return false;
+};
+
+/* node:coverage enable */
+
+const sha512 = (s) => createHash('sha512').update(s).digest('hex');
+
+const yarnLocator = () => {
+ try {
+ const identHash = sha512(`imgsharp-libvips-${buildPlatformArch()}`);
+ const npmVersion = semver.coerce(pkg.optionalDependencies[`@img/sharp-libvips-${buildPlatformArch()}`], {
+ includePrerelease: true
+ }).version;
+ return sha512(`${identHash}npm:${npmVersion}`).slice(0, 10);
+ } catch {}
+ return '';
+};
+
+/* node:coverage disable */
+
+const spawnRebuild = () =>
+ spawnSync(`node-gyp rebuild --directory=src ${isEmscripten() ? '--nodedir=emscripten' : ''}`, {
+ ...spawnSyncOptions,
+ stdio: 'inherit'
+ }).status;
+
+const globalLibvipsVersion = () => {
+ if (process.platform !== 'win32') {
+ const globalLibvipsVersion = spawnSync('pkg-config --modversion vips-cpp', {
+ ...spawnSyncOptions,
+ env: {
+ ...process.env,
+ PKG_CONFIG_PATH: pkgConfigPath()
+ }
+ }).stdout;
+ return (globalLibvipsVersion || '').trim();
+ } else {
+ return '';
+ }
+};
+
+const getBrewPkgConfigPath = () => {
+ try {
+ const brewPrefix = (spawnSync('brew', ['--prefix'], { encoding: 'utf8' }).stdout || '').trim();
+ if (brewPrefix) {
+ return `${brewPrefix}/lib/pkgconfig`;
+ }
+ } catch (_err) {}
+ return undefined;
+};
+
+const getPkgConfigPath = () => {
+ try {
+ const pkgConfigPath = (spawnSync('pkg-config', ['--variable', 'pc_path', 'pkg-config'], { encoding: 'utf8' }).stdout || '').trim();
+ if (pkgConfigPath) {
+ return pkgConfigPath;
+ }
+ } catch (_err) {}
+ return undefined;
+};
+
+/* node:coverage enable */
+
+const pkgConfigPath = () => {
+ if (process.platform !== 'win32') {
+ return [
+ getBrewPkgConfigPath(),
+ getPkgConfigPath(),
+ process.env.PKG_CONFIG_PATH
+ ].filter(Boolean).join(':');
+ } else {
+ return '';
+ }
+};
+
+const skipSearch = (status, reason, logger) => {
+ if (logger) {
+ logger(`Detected ${reason}, skipping search for globally-installed libvips`);
+ }
+ return status;
+};
+
+const useGlobalLibvips = (logger) => {
+ if (Boolean(process.env.SHARP_IGNORE_GLOBAL_LIBVIPS) === true) {
+ return skipSearch(false, 'SHARP_IGNORE_GLOBAL_LIBVIPS', logger);
+ }
+ if (Boolean(process.env.SHARP_FORCE_GLOBAL_LIBVIPS) === true) {
+ return skipSearch(true, 'SHARP_FORCE_GLOBAL_LIBVIPS', logger);
+ }
+ /* node:coverage ignore next 3 */
+ if (isRosetta()) {
+ return skipSearch(false, 'Rosetta', logger);
+ }
+ const globalVipsVersion = globalLibvipsVersion();
+ /* node:coverage ignore next */
+ return !!globalVipsVersion && semver.gte(globalVipsVersion, minimumLibvipsVersion);
+};
+
+export default {
+ minimumLibvipsVersion,
+ prebuiltPlatforms,
+ buildPlatformArch,
+ buildSharpLibvipsIncludeDir,
+ buildSharpLibvipsCPlusPlusDir,
+ buildSharpLibvipsLibDir,
+ isUnsupportedNodeRuntime,
+ runtimePlatformArch,
+ log,
+ yarnLocator,
+ spawnRebuild,
+ globalLibvipsVersion,
+ pkgConfigPath,
+ useGlobalLibvips
+};
diff --git a/apps/api/.output/node_modules/sharp/dist/operation.cjs b/apps/api/.output/node_modules/sharp/dist/operation.cjs
new file mode 100644
index 0000000..f541070
--- /dev/null
+++ b/apps/api/.output/node_modules/sharp/dist/operation.cjs
@@ -0,0 +1,1002 @@
+/*!
+ Copyright 2013 Lovell Fuller and others.
+ SPDX-License-Identifier: Apache-2.0
+*/
+
+const is = require('./is.cjs');
+
+/**
+ * How accurate an operation should be.
+ * @member
+ * @private
+ */
+const vipsPrecision = {
+ integer: 'integer',
+ float: 'float',
+ approximate: 'approximate'
+};
+
+/**
+ * Rotate the output image.
+ *
+ * The provided angle is converted to a valid positive degree rotation.
+ * For example, `-450` will produce a 270 degree rotation.
+ *
+ * When rotating by an angle other than a multiple of 90,
+ * the background colour can be provided with the `background` option.
+ *
+ * For backwards compatibility, if no angle is provided, `.autoOrient()` will be called.
+ *
+ * Only one rotation can occur per pipeline (aside from an initial call without
+ * arguments to orient via EXIF data). Previous calls to `rotate` in the same
+ * pipeline will be ignored.
+ *
+ * Multi-page images can only be rotated by 180 degrees.
+ *
+ * Method order is important when rotating, resizing and/or extracting regions,
+ * for example `.rotate(x).extract(y)` will produce a different result to `.extract(y).rotate(x)`.
+ *
+ * @example
+ * const rotateThenResize = await sharp(input)
+ * .rotate(90)
+ * .resize({ width: 16, height: 8, fit: 'fill' })
+ * .toBuffer();
+ * const resizeThenRotate = await sharp(input)
+ * .resize({ width: 16, height: 8, fit: 'fill' })
+ * .rotate(90)
+ * .toBuffer();
+ *
+ * @param {number} [angle=auto] angle of rotation.
+ * @param {Object} [options] - if present, is an Object with optional attributes.
+ * @param {string|Object} [options.background="#000000"] parsed by the [color](https://www.npmjs.org/package/color) module to extract values for red, green, blue and alpha.
+ * @returns {Sharp}
+ * @throws {Error} Invalid parameters
+ */
+function rotate (angle, options) {
+ if (!is.defined(angle)) {
+ return this.autoOrient();
+ }
+ if (this.options.angle || this.options.rotationAngle) {
+ this.options.debuglog('ignoring previous rotate options');
+ this.options.angle = 0;
+ this.options.rotationAngle = 0;
+ }
+ if (is.integer(angle) && !(angle % 90)) {
+ this.options.angle = angle;
+ } else if (is.number(angle)) {
+ this.options.rotationAngle = angle;
+ if (is.object(options) && options.background) {
+ this._setBackgroundColourOption('rotationBackground', options.background);
+ }
+ } else {
+ throw is.invalidParameterError('angle', 'numeric', angle);
+ }
+ return this;
+}
+
+/**
+ * Auto-orient based on the EXIF `Orientation` tag, then remove the tag.
+ * Mirroring is supported and may infer the use of a flip operation.
+ *
+ * Only the EXIF `Orientation` tag is considered; orientation carried in other
+ * places, such as an XMP `tiff:Orientation` element, is left untouched and
+ * remains the responsibility of the consumer.
+ *
+ * Previous or subsequent use of `rotate(angle)` and either `flip()` or `flop()`
+ * will logically occur after auto-orientation, regardless of call order.
+ *
+ * @example
+ * const output = await sharp(input).autoOrient().toBuffer();
+ *
+ * @example
+ * const pipeline = sharp()
+ * .autoOrient()
+ * .resize(null, 200)
+ * .toBuffer(function (err, outputBuffer, info) {
+ * // outputBuffer contains 200px high JPEG image data,
+ * // auto-oriented using EXIF Orientation tag
+ * // info.width and info.height contain the dimensions of the resized image
+ * });
+ * readableStream.pipe(pipeline);
+ *
+ * @returns {Sharp}
+ */
+function autoOrient () {
+ this.options.input.autoOrient = true;
+ return this;
+}
+
+/**
+ * Mirror the image vertically (up-down) about the x-axis.
+ * This always occurs before rotation, if any.
+ *
+ * This operation does not work correctly with multi-page images.
+ *
+ * @example
+ * const output = await sharp(input).flip().toBuffer();
+ *
+ * @param {Boolean} [flip=true]
+ * @returns {Sharp}
+ */
+function flip (flip) {
+ this.options.flip = is.bool(flip) ? flip : true;
+ return this;
+}
+
+/**
+ * Mirror the image horizontally (left-right) about the y-axis.
+ * This always occurs before rotation, if any.
+ *
+ * @example
+ * const output = await sharp(input).flop().toBuffer();
+ *
+ * @param {Boolean} [flop=true]
+ * @returns {Sharp}
+ */
+function flop (flop) {
+ this.options.flop = is.bool(flop) ? flop : true;
+ return this;
+}
+
+/**
+ * Perform an affine transform on an image. This operation will always occur after resizing, extraction and rotation, if any.
+ *
+ * You must provide an array of length 4 or a 2x2 affine transformation matrix.
+ * By default, new pixels are filled with a black background. You can provide a background colour with the `background` option.
+ * A particular interpolator may also be specified. Set the `interpolator` option to an attribute of the `sharp.interpolators` Object e.g. `sharp.interpolators.nohalo`.
+ *
+ * In the case of a 2x2 matrix, the transform is:
+ * - X = `matrix[0, 0]` \* (x + `idx`) + `matrix[0, 1]` \* (y + `idy`) + `odx`
+ * - Y = `matrix[1, 0]` \* (x + `idx`) + `matrix[1, 1]` \* (y + `idy`) + `ody`
+ *
+ * where:
+ * - x and y are the coordinates in input image.
+ * - X and Y are the coordinates in output image.
+ * - (0,0) is the upper left corner.
+ *
+ * @since 0.27.0
+ *
+ * @example
+ * const pipeline = sharp()
+ * .affine([[1, 0.3], [0.1, 0.7]], {
+ * background: 'white',
+ * interpolator: sharp.interpolators.nohalo
+ * })
+ * .toBuffer((err, outputBuffer, info) => {
+ * // outputBuffer contains the transformed image
+ * // info.width and info.height contain the new dimensions
+ * });
+ *
+ * inputStream
+ * .pipe(pipeline);
+ *
+ * @param {Array