@midscene/ios 1.0.1-beta-20251107065041.0 → 1.0.1-beta-20251110115555.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/es/bin.mjs +0 -2
- package/dist/es/index.mjs +0 -2
- package/dist/lib/bin.js +0 -2
- package/dist/lib/index.js +0 -2
- package/dist/types/index.d.ts +2 -2
- package/package.json +5 -5
- package/static/index.html +1 -1
- package/static/static/css/index.e7a9c87e.css +2 -0
- package/static/static/css/index.e7a9c87e.css.map +1 -0
- package/static/static/js/{63.b6f8c5e5.js → 63.ddce0598.js} +4 -4
- package/static/static/js/{63.b6f8c5e5.js.map → 63.ddce0598.js.map} +1 -1
- package/static/static/js/index.2d9856e6.js +19 -0
- package/static/static/js/index.2d9856e6.js.map +1 -0
- package/static/static/css/index.07da784d.css +0 -2
- package/static/static/css/index.07da784d.css.map +0 -1
- package/static/static/js/index.10888628.js +0 -19
- package/static/static/js/index.10888628.js.map +0 -1
- /package/static/static/js/{63.b6f8c5e5.js.LICENSE.txt → 63.ddce0598.js.LICENSE.txt} +0 -0
- /package/static/static/js/{index.10888628.js.LICENSE.txt → index.2d9856e6.js.LICENSE.txt} +0 -0
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
/*! For license information please see 63.
|
|
1
|
+
/*! For license information please see 63.ddce0598.js.LICENSE.txt */
|
|
2
2
|
(self.webpackChunkplayground=self.webpackChunkplayground||[]).push([["63"],{68778:function(e,t,r){"use strict";r.d(t,{uy:()=>_,UA:()=>$,bK:()=>A,z1:()=>I,cM:()=>b});var n=r(18956),i=r(57358),o=2,a=.16,s=.05,l=.05,u=.15,c=5,f=4,h=[{index:7,opacity:.15},{index:6,opacity:.25},{index:5,opacity:.3},{index:5,opacity:.45},{index:5,opacity:.65},{index:5,opacity:.85},{index:4,opacity:.9},{index:3,opacity:.95},{index:2,opacity:.97},{index:1,opacity:.98}];function d(e){var t=e.r,r=e.g,i=e.b,o=(0,n.wE)(t,r,i);return{h:360*o.h,s:o.s,v:o.v}}function p(e){var t=e.r,r=e.g,i=e.b;return"#".concat((0,n.Ob)(t,r,i,!1))}function m(e,t,r){var n=r/100;return{r:(t.r-e.r)*n+e.r,g:(t.g-e.g)*n+e.g,b:(t.b-e.b)*n+e.b}}function g(e,t,r){var n;return(n=Math.round(e.h)>=60&&240>=Math.round(e.h)?r?Math.round(e.h)-o*t:Math.round(e.h)+o*t:r?Math.round(e.h)+o*t:Math.round(e.h)-o*t)<0?n+=360:n>=360&&(n-=360),n}function v(e,t,r){var n;return 0===e.h&&0===e.s?e.s:((n=r?e.s-a*t:t===f?e.s+a:e.s+s*t)>1&&(n=1),r&&t===c&&n>.1&&(n=.1),n<.06&&(n=.06),Number(n.toFixed(2)))}function y(e,t,r){var n;return(n=r?e.v+l*t:e.v-u*t)>1&&(n=1),Number(n.toFixed(2))}function b(e){for(var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},r=[],n=(0,i.RO)(e),o=c;o>0;o-=1){var a=d(n),s=p((0,i.RO)({h:g(a,o,!0),s:v(a,o,!0),v:y(a,o,!0)}));r.push(s)}r.push(p(n));for(var l=1;l<=f;l+=1){var u=d(n),b=p((0,i.RO)({h:g(u,l),s:v(u,l),v:y(u,l)}));r.push(b)}return"dark"===t.theme?h.map(function(e){var n=e.index,o=e.opacity;return p(m((0,i.RO)(t.backgroundColor||"#141414"),(0,i.RO)(r[n]),100*o))}):r}var _={red:"#F5222D",volcano:"#FA541C",orange:"#FA8C16",gold:"#FAAD14",yellow:"#FADB14",lime:"#A0D911",green:"#52C41A",cyan:"#13C2C2",blue:"#1677FF",geekblue:"#2F54EB",purple:"#722ED1",magenta:"#EB2F96",grey:"#666666"},w=["#fff1f0","#ffccc7","#ffa39e","#ff7875","#ff4d4f","#f5222d","#cf1322","#a8071a","#820014","#5c0011"];w.primary=w[5];var x=["#fff2e8","#ffd8bf","#ffbb96","#ff9c6e","#ff7a45","#fa541c","#d4380d","#ad2102","#871400","#610b00"];x.primary=x[5];var S=["#fff7e6","#ffe7ba","#ffd591","#ffc069","#ffa940","#fa8c16","#d46b08","#ad4e00","#873800","#612500"];S.primary=S[5];var A=["#fffbe6","#fff1b8","#ffe58f","#ffd666","#ffc53d","#faad14","#d48806","#ad6800","#874d00","#613400"];A.primary=A[5];var E=["#feffe6","#ffffb8","#fffb8f","#fff566","#ffec3d","#fadb14","#d4b106","#ad8b00","#876800","#614700"];E.primary=E[5];var C=["#fcffe6","#f4ffb8","#eaff8f","#d3f261","#bae637","#a0d911","#7cb305","#5b8c00","#3f6600","#254000"];C.primary=C[5];var O=["#f6ffed","#d9f7be","#b7eb8f","#95de64","#73d13d","#52c41a","#389e0d","#237804","#135200","#092b00"];O.primary=O[5];var k=["#e6fffb","#b5f5ec","#87e8de","#5cdbd3","#36cfc9","#13c2c2","#08979c","#006d75","#00474f","#002329"];k.primary=k[5];var I=["#e6f4ff","#bae0ff","#91caff","#69b1ff","#4096ff","#1677ff","#0958d9","#003eb3","#002c8c","#001d66"];I.primary=I[5];var T=["#f0f5ff","#d6e4ff","#adc6ff","#85a5ff","#597ef7","#2f54eb","#1d39c4","#10239e","#061178","#030852"];T.primary=T[5];var P=["#f9f0ff","#efdbff","#d3adf7","#b37feb","#9254de","#722ed1","#531dab","#391085","#22075e","#120338"];P.primary=P[5];var M=["#fff0f6","#ffd6e7","#ffadd2","#ff85c0","#f759ab","#eb2f96","#c41d7f","#9e1068","#780650","#520339"];M.primary=M[5];var R=["#a6a6a6","#999999","#8c8c8c","#808080","#737373","#666666","#404040","#1a1a1a","#000000","#000000"];R.primary=R[5];var $={red:w,volcano:x,orange:S,gold:A,yellow:E,lime:C,green:O,cyan:k,blue:I,geekblue:T,purple:P,magenta:M,grey:R},j=["#2a1215","#431418","#58181c","#791a1f","#a61d24","#d32029","#e84749","#f37370","#f89f9a","#fac8c3"];j.primary=j[5];var N=["#2b1611","#441d12","#592716","#7c3118","#aa3e19","#d84a1b","#e87040","#f3956a","#f8b692","#fad4bc"];N.primary=N[5];var B=["#2b1d11","#442a11","#593815","#7c4a15","#aa6215","#d87a16","#e89a3c","#f3b765","#f8cf8d","#fae3b7"];B.primary=B[5];var L=["#2b2111","#443111","#594214","#7c5914","#aa7714","#d89614","#e8b339","#f3cc62","#f8df8b","#faedb5"];L.primary=L[5];var z=["#2b2611","#443b11","#595014","#7c6e14","#aa9514","#d8bd14","#e8d639","#f3ea62","#f8f48b","#fafab5"];z.primary=z[5];var F=["#1f2611","#2e3c10","#3e4f13","#536d13","#6f9412","#8bbb11","#a9d134","#c9e75d","#e4f88b","#f0fab5"];F.primary=F[5];var D=["#162312","#1d3712","#274916","#306317","#3c8618","#49aa19","#6abe39","#8fd460","#b2e58b","#d5f2bb"];D.primary=D[5];var U=["#112123","#113536","#144848","#146262","#138585","#13a8a8","#33bcb7","#58d1c9","#84e2d8","#b2f1e8"];U.primary=U[5];var H=["#111a2c","#112545","#15325b","#15417e","#1554ad","#1668dc","#3c89e8","#65a9f3","#8dc5f8","#b7dcfa"];H.primary=H[5];var G=["#131629","#161d40","#1c2755","#203175","#263ea0","#2b4acb","#5273e0","#7f9ef3","#a8c1f8","#d2e0fa"];G.primary=G[5];var W=["#1a1325","#24163a","#301c4d","#3e2069","#51258f","#642ab5","#854eca","#ab7ae0","#cda8f0","#ebd7fa"];W.primary=W[5];var V=["#291321","#40162f","#551c3b","#75204f","#a02669","#cb2b83","#e0529c","#f37fb7","#f8a8cc","#fad2e3"];V.primary=V[5];var q=["#151515","#1f1f1f","#2d2d2d","#393939","#494949","#5a5a5a","#6a6a6a","#7b7b7b","#888888","#969696"];q.primary=q[5]},88077:function(e,t,r){"use strict";r.d(t,{oX:()=>E,L_:()=>j});var n=r(99828),i=r(53863),o=r(34011),a=r(46363),s=r(22155),l=r(19155),u=r(90797),c=r(6989),f=r(92401),h=r(5893),d=r(14058);let p=(0,c.A)(function e(){(0,u.A)(this,e)});var m="CALC_UNIT",g=RegExp(m,"g");function v(e){return"number"==typeof e?"".concat(e).concat(m):e}var y=function(e){(0,h.A)(r,e);var t=(0,d.A)(r);function r(e,i){(0,u.A)(this,r),a=t.call(this),(0,o.A)((0,f.A)(a),"result",""),(0,o.A)((0,f.A)(a),"unitlessCssVar",void 0),(0,o.A)((0,f.A)(a),"lowPriority",void 0);var a,s=(0,n.A)(e);return a.unitlessCssVar=i,e instanceof r?a.result="(".concat(e.result,")"):"number"===s?a.result=v(e):"string"===s&&(a.result=e),a}return(0,c.A)(r,[{key:"add",value:function(e){return e instanceof r?this.result="".concat(this.result," + ").concat(e.getResult()):("number"==typeof e||"string"==typeof e)&&(this.result="".concat(this.result," + ").concat(v(e))),this.lowPriority=!0,this}},{key:"sub",value:function(e){return e instanceof r?this.result="".concat(this.result," - ").concat(e.getResult()):("number"==typeof e||"string"==typeof e)&&(this.result="".concat(this.result," - ").concat(v(e))),this.lowPriority=!0,this}},{key:"mul",value:function(e){return this.lowPriority&&(this.result="(".concat(this.result,")")),e instanceof r?this.result="".concat(this.result," * ").concat(e.getResult(!0)):("number"==typeof e||"string"==typeof e)&&(this.result="".concat(this.result," * ").concat(e)),this.lowPriority=!1,this}},{key:"div",value:function(e){return this.lowPriority&&(this.result="(".concat(this.result,")")),e instanceof r?this.result="".concat(this.result," / ").concat(e.getResult(!0)):("number"==typeof e||"string"==typeof e)&&(this.result="".concat(this.result," / ").concat(e)),this.lowPriority=!1,this}},{key:"getResult",value:function(e){return this.lowPriority||e?"(".concat(this.result,")"):this.result}},{key:"equal",value:function(e){var t=this,r=(e||{}).unit,n=!0;return("boolean"==typeof r?n=r:Array.from(this.unitlessCssVar).some(function(e){return t.result.includes(e)})&&(n=!1),this.result=this.result.replace(g,n?"px":""),void 0!==this.lowPriority)?"calc(".concat(this.result,")"):this.result}}]),r}(p);let b=function(e){(0,h.A)(r,e);var t=(0,d.A)(r);function r(e){var n;return(0,u.A)(this,r),n=t.call(this),(0,o.A)((0,f.A)(n),"result",0),e instanceof r?n.result=e.result:"number"==typeof e&&(n.result=e),n}return(0,c.A)(r,[{key:"add",value:function(e){return e instanceof r?this.result+=e.result:"number"==typeof e&&(this.result+=e),this}},{key:"sub",value:function(e){return e instanceof r?this.result-=e.result:"number"==typeof e&&(this.result-=e),this}},{key:"mul",value:function(e){return e instanceof r?this.result*=e.result:"number"==typeof e&&(this.result*=e),this}},{key:"div",value:function(e){return e instanceof r?this.result/=e.result:"number"==typeof e&&(this.result/=e),this}},{key:"equal",value:function(){return this.result}}]),r}(p),_=function(e,t){var r="css"===e?y:b;return function(e){return new r(e,t)}},w=function(e,t){return"".concat([t,e.replace(/([A-Z]+)([A-Z][a-z]+)/g,"$1-$2").replace(/([a-z])([A-Z])/g,"$1-$2")].filter(Boolean).join("-"))};r(65260);let x=function(e,t,r,n){var o=(0,a.A)({},t[e]);null!=n&&n.deprecatedTokens&&n.deprecatedTokens.forEach(function(e){var t,r=(0,i.A)(e,2),n=r[0],a=r[1];(null!=o&&o[n]||null!=o&&o[a])&&(null!=(t=o[a])||(o[a]=null==o?void 0:o[n]))});var s=(0,a.A)((0,a.A)({},r),o);return Object.keys(s).forEach(function(e){s[e]===t[e]&&delete s[e]}),s};var S="undefined"!=typeof CSSINJS_STATISTIC,A=!0;function E(){for(var e=arguments.length,t=Array(e),r=0;r<e;r++)t[r]=arguments[r];if(!S)return Object.assign.apply(Object,[{}].concat(t));A=!1;var i={};return t.forEach(function(e){if("object"===(0,n.A)(e)){var t=Object.keys(e);t.forEach(function(t){Object.defineProperty(i,t,{configurable:!0,enumerable:!0,get:function(){return e[t]}})})}}),A=!0,i}var C={};function O(){}let k=function(e){var t,r=e,n=O;return S&&"undefined"!=typeof Proxy&&(t=new Set,r=new Proxy(e,{get:function(e,r){if(A){var n;null==(n=t)||n.add(r)}return e[r]}}),n=function(e,r){var n;C[e]={global:Array.from(t),component:(0,a.A)((0,a.A)({},null==(n=C[e])?void 0:n.component),r)}}),{token:r,keys:t,flush:n}},I=function(e,t,r){if("function"==typeof r){var n;return r(E(t,null!=(n=t[e])?n:{}))}return null!=r?r:{}},T=function(e){return"js"===e?{max:Math.max,min:Math.min}:{max:function(){for(var e=arguments.length,t=Array(e),r=0;r<e;r++)t[r]=arguments[r];return"max(".concat(t.map(function(e){return(0,l.zA)(e)}).join(","),")")},min:function(){for(var e=arguments.length,t=Array(e),r=0;r<e;r++)t[r]=arguments[r];return"min(".concat(t.map(function(e){return(0,l.zA)(e)}).join(","),")")}}};var P=6e5,M=new(function(){function e(){(0,u.A)(this,e),(0,o.A)(this,"map",new Map),(0,o.A)(this,"objectIDMap",new WeakMap),(0,o.A)(this,"nextID",0),(0,o.A)(this,"lastAccessBeat",new Map),(0,o.A)(this,"accessBeat",0)}return(0,c.A)(e,[{key:"set",value:function(e,t){this.clear();var r=this.getCompositeKey(e);this.map.set(r,t),this.lastAccessBeat.set(r,Date.now())}},{key:"get",value:function(e){var t=this.getCompositeKey(e),r=this.map.get(t);return this.lastAccessBeat.set(t,Date.now()),this.accessBeat+=1,r}},{key:"getCompositeKey",value:function(e){var t=this;return e.map(function(e){return e&&"object"===(0,n.A)(e)?"obj_".concat(t.getObjectID(e)):"".concat((0,n.A)(e),"_").concat(e)}).join("|")}},{key:"getObjectID",value:function(e){if(this.objectIDMap.has(e))return this.objectIDMap.get(e);var t=this.nextID;return this.objectIDMap.set(e,t),this.nextID+=1,t}},{key:"clear",value:function(){var e=this;if(this.accessBeat>1e4){var t=Date.now();this.lastAccessBeat.forEach(function(r,n){t-r>P&&(e.map.delete(n),e.lastAccessBeat.delete(n))}),this.accessBeat=0}}}]),e}());let R=function(e,t){return s.useMemo(function(){var r=M.get(t);if(r)return r;var n=e();return M.set(t,n),n},t)},$=function(){return{}},j=function(e){var t=e.useCSP,r=void 0===t?$:t,u=e.useToken,c=e.usePrefix,f=e.getResetStyles,h=e.getCommonStyle,d=e.getCompUnitless;function p(e,t,r){var n=r.unitless,i=r.injectStyle,o=void 0===i||i,a=r.prefixToken,c=r.ignore,f=function(i){var o=i.rootCls,s=i.cssVar,f=void 0===s?{}:s,h=u().realToken;return(0,l.RC)({path:[e],prefix:f.prefix,key:f.key,unitless:n,ignore:c,token:h,scope:o},function(){var n=I(e,h,t),i=x(e,h,n,{deprecatedTokens:null==r?void 0:r.deprecatedTokens});return Object.keys(n).forEach(function(e){i[a(e)]=i[e],delete i[e]}),i}),null};return function(t){var r=u().cssVar;return[function(n){return o&&r?s.createElement(s.Fragment,null,s.createElement(f,{rootCls:t,cssVar:r,component:e}),n):n},null==r?void 0:r.key]}}function m(t,o,s){var d=arguments.length>3&&void 0!==arguments[3]?arguments[3]:{},p=Array.isArray(t)?t:[t,t],m=(0,i.A)(p,1)[0],g=p.join("-"),v=e.layer||{name:"antd"};return function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:e,i=u(),p=i.theme,y=i.realToken,b=i.hashId,S=i.token,A=i.cssVar,C=c(),O=C.rootPrefixCls,P=C.iconPrefixCls,M=r(),$=A?"css":"js",j=R(function(){var e=new Set;return A&&Object.keys(d.unitless||{}).forEach(function(t){e.add((0,l.Ki)(t,A.prefix)),e.add((0,l.Ki)(t,w(m,A.prefix)))}),_($,e)},[$,m,null==A?void 0:A.prefix]),N=T($),B=N.max,L=N.min,z={theme:p,token:S,hashId:b,nonce:function(){return M.nonce},clientOnly:d.clientOnly,layer:v,order:d.order||-999};return(0,l.IV)((0,a.A)((0,a.A)({},z),{},{clientOnly:!1,path:["Shared",O]}),function(){return"function"==typeof f?f(S):[]}),[(0,l.IV)((0,a.A)((0,a.A)({},z),{},{path:[g,e,P]}),function(){if(!1===d.injectStyle)return[];var r=k(S),i=r.token,a=r.flush,u=I(m,y,s),c=".".concat(e),f=x(m,y,u,{deprecatedTokens:d.deprecatedTokens});A&&u&&"object"===(0,n.A)(u)&&Object.keys(u).forEach(function(e){u[e]="var(".concat((0,l.Ki)(e,w(m,A.prefix)),")")});var p=E(i,{componentCls:c,prefixCls:e,iconCls:".".concat(P),antCls:".".concat(O),calc:j,max:B,min:L},A?u:f),g=o(p,{hashId:b,prefixCls:e,rootPrefixCls:O,iconPrefixCls:P});a(m,f);var v="function"==typeof h?h(p,e,t,d.resetFont):null;return[!1===d.resetStyle?null:v,g]}),b]}}return{genStyleHooks:function(e,t,r,n){var s=Array.isArray(e)?e[0]:e;function l(e){return"".concat(String(s)).concat(e.slice(0,1).toUpperCase()).concat(e.slice(1))}var u=(null==n?void 0:n.unitless)||{},c="function"==typeof d?d(e):{},f=(0,a.A)((0,a.A)({},c),{},(0,o.A)({},l("zIndexPopup"),!0));Object.keys(u).forEach(function(e){f[l(e)]=u[e]});var h=(0,a.A)((0,a.A)({},n),{},{unitless:f,prefixToken:l}),g=m(e,t,r,h),v=p(s,r,h);return function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:e,r=g(e,t),n=(0,i.A)(r,2)[1],o=v(t),a=(0,i.A)(o,2);return[a[0],n,a[1]]}},genSubStyleComponent:function(e,t,r){var n=arguments.length>3&&void 0!==arguments[3]?arguments[3]:{},i=m(e,t,r,(0,a.A)({resetStyle:!1,order:-998},n));return function(e){var t=e.prefixCls,r=e.rootCls,n=void 0===r?t:r;return i(t,n),null}},genComponentStyleHook:m}}},19155:function(e,t,r){"use strict";r.d(t,{an:()=>T,Ki:()=>F,hV:()=>el,Mo:()=>td,RC:()=>th,zA:()=>L,IV:()=>tl});var n,i=r(34011),o=r(53863),a=r(43904),s=r(46363);let l=function(e){for(var t,r=0,n=0,i=e.length;i>=4;++n,i-=4)t=(65535&(t=255&e.charCodeAt(n)|(255&e.charCodeAt(++n))<<8|(255&e.charCodeAt(++n))<<16|(255&e.charCodeAt(++n))<<24))*0x5bd1e995+((t>>>16)*59797<<16),t^=t>>>24,r=(65535&t)*0x5bd1e995+((t>>>16)*59797<<16)^(65535&r)*0x5bd1e995+((r>>>16)*59797<<16);switch(i){case 3:r^=(255&e.charCodeAt(n+2))<<16;case 2:r^=(255&e.charCodeAt(n+1))<<8;case 1:r^=255&e.charCodeAt(n),r=(65535&r)*0x5bd1e995+((r>>>16)*59797<<16)}return r^=r>>>13,(((r=(65535&r)*0x5bd1e995+((r>>>16)*59797<<16))^r>>>15)>>>0).toString(36)};var u=r(58451),c=r(22155),f=r.t(c,2);r(64518),r(78216);var h=r(90797),d=r(6989),p="%";function m(e){return e.join(p)}let g=function(){function e(t){(0,h.A)(this,e),(0,i.A)(this,"instanceId",void 0),(0,i.A)(this,"cache",new Map),this.instanceId=t}return(0,d.A)(e,[{key:"get",value:function(e){return this.opGet(m(e))}},{key:"opGet",value:function(e){return this.cache.get(e)||null}},{key:"update",value:function(e,t){return this.opUpdate(m(e),t)}},{key:"opUpdate",value:function(e,t){var r=t(this.cache.get(e));null===r?this.cache.delete(e):this.cache.set(e,r)}}]),e}();var v="data-token-hash",y="data-css-hash",b="__cssinjs_instance__";function _(){var e=Math.random().toString(12).slice(2);if("undefined"!=typeof document&&document.head&&document.body){var t=document.body.querySelectorAll("style[".concat(y,"]"))||[],r=document.head.firstChild;Array.from(t).forEach(function(t){t[b]=t[b]||e,t[b]===e&&document.head.insertBefore(t,r)});var n={};Array.from(document.querySelectorAll("style[".concat(y,"]"))).forEach(function(t){var r,i=t.getAttribute(y);n[i]?t[b]===e&&(null==(r=t.parentNode)||r.removeChild(t)):n[i]=!0})}return new g(e)}let w=c.createContext({hashPriority:"low",cache:_(),defaultCache:!0});var x=r(99828),S=r(19352);function A(e,t){if(e.length!==t.length)return!1;for(var r=0;r<e.length;r++)if(e[r]!==t[r])return!1;return!0}var E=function(){function e(){(0,h.A)(this,e),(0,i.A)(this,"cache",void 0),(0,i.A)(this,"keys",void 0),(0,i.A)(this,"cacheCallTimes",void 0),this.cache=new Map,this.keys=[],this.cacheCallTimes=0}return(0,d.A)(e,[{key:"size",value:function(){return this.keys.length}},{key:"internalGet",value:function(e){var t,r,n=arguments.length>1&&void 0!==arguments[1]&&arguments[1],i={map:this.cache};return e.forEach(function(e){if(i){var t;i=null==(t=i)||null==(t=t.map)?void 0:t.get(e)}else i=void 0}),null!=(t=i)&&t.value&&n&&(i.value[1]=this.cacheCallTimes++),null==(r=i)?void 0:r.value}},{key:"get",value:function(e){var t;return null==(t=this.internalGet(e,!0))?void 0:t[0]}},{key:"has",value:function(e){return!!this.internalGet(e)}},{key:"set",value:function(t,r){var n=this;if(!this.has(t)){if(this.size()+1>e.MAX_CACHE_SIZE+e.MAX_CACHE_OFFSET){var i=this.keys.reduce(function(e,t){var r=(0,o.A)(e,2)[1];return n.internalGet(t)[1]<r?[t,n.internalGet(t)[1]]:e},[this.keys[0],this.cacheCallTimes]),a=(0,o.A)(i,1)[0];this.delete(a)}this.keys.push(t)}var s=this.cache;t.forEach(function(e,i){if(i===t.length-1)s.set(e,{value:[r,n.cacheCallTimes++]});else{var o=s.get(e);o?o.map||(o.map=new Map):s.set(e,{map:new Map}),s=s.get(e).map}})}},{key:"deleteByPath",value:function(e,t){var r,n=e.get(t[0]);if(1===t.length)return n.map?e.set(t[0],{map:n.map}):e.delete(t[0]),null==(r=n.value)?void 0:r[0];var i=this.deleteByPath(n.map,t.slice(1));return n.map&&0!==n.map.size||n.value||e.delete(t[0]),i}},{key:"delete",value:function(e){if(this.has(e))return this.keys=this.keys.filter(function(t){return!A(t,e)}),this.deleteByPath(this.cache,e)}}]),e}();(0,i.A)(E,"MAX_CACHE_SIZE",20),(0,i.A)(E,"MAX_CACHE_OFFSET",5);var C=r(36216),O=0,k=function(){function e(t){(0,h.A)(this,e),(0,i.A)(this,"derivatives",void 0),(0,i.A)(this,"id",void 0),this.derivatives=Array.isArray(t)?t:[t],this.id=O,0===t.length&&(0,C.$e)(t.length>0,"[Ant Design CSS-in-JS] Theme should have at least one derivative function."),O+=1}return(0,d.A)(e,[{key:"getDerivativeToken",value:function(e){return this.derivatives.reduce(function(t,r){return r(e,t)},void 0)}}]),e}(),I=new E;function T(e){var t=Array.isArray(e)?e:[e];return I.has(t)||I.set(t,new k(t)),I.get(t)}var P=new WeakMap,M={};function R(e,t){for(var r=P,n=0;n<t.length;n+=1){var i=t[n];r.has(i)||r.set(i,new WeakMap),r=r.get(i)}return r.has(M)||r.set(M,e()),r.get(M)}var $=new WeakMap;function j(e){var t=arguments.length>1&&void 0!==arguments[1]&&arguments[1],r=$.get(e)||"";return r||(Object.keys(e).forEach(function(n){var i=e[n];r+=n,i instanceof k?r+=i.id:i&&"object"===(0,x.A)(i)?r+=j(i,t):r+=i}),t&&(r=l(r)),$.set(e,r)),r}function N(e,t){return l("".concat(t,"_").concat(j(e,!0)))}"random-".concat(Date.now(),"-").concat(Math.random()).replace(/\./g,"");var B=(0,S.A)();function L(e){return"number"==typeof e?"".concat(e,"px"):e}function z(e,t,r){var n=arguments.length>3&&void 0!==arguments[3]?arguments[3]:{},o=arguments.length>4&&void 0!==arguments[4]&&arguments[4];if(o)return e;var a=(0,s.A)((0,s.A)({},n),{},(0,i.A)((0,i.A)({},v,t),y,r)),l=Object.keys(a).map(function(e){var t=a[e];return t?"".concat(e,'="').concat(t,'"'):null}).filter(function(e){return e}).join(" ");return"<style ".concat(l,">").concat(e,"</style>")}var F=function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:"";return"--".concat(t?"".concat(t,"-"):"").concat(e).replace(/([a-z0-9])([A-Z])/g,"$1-$2").replace(/([A-Z]+)([A-Z][a-z0-9]+)/g,"$1-$2").replace(/([a-z])([A-Z0-9])/g,"$1-$2").toLowerCase()},D=function(e,t,r){return Object.keys(e).length?".".concat(t).concat(null!=r&&r.scope?".".concat(r.scope):"","{").concat(Object.entries(e).map(function(e){var t=(0,o.A)(e,2),r=t[0],n=t[1];return"".concat(r,":").concat(n,";")}).join(""),"}"):""},U=function(e,t,r){var n={},i={};return Object.entries(e).forEach(function(e){var t=(0,o.A)(e,2),a=t[0],s=t[1];if(null!=r&&null!=(l=r.preserve)&&l[a])i[a]=s;else if(("string"==typeof s||"number"==typeof s)&&!(null!=r&&null!=(u=r.ignore)&&u[a])){var l,u,c,f=F(a,null==r?void 0:r.prefix);n[f]="number"!=typeof s||null!=r&&null!=(c=r.unitless)&&c[a]?String(s):"".concat(s,"px"),i[a]="var(".concat(f,")")}}),[i,D(n,t,{scope:null==r?void 0:r.scope})]},H=r(28367),G=(0,s.A)({},f).useInsertionEffect,W=function(e,t,r){c.useMemo(e,r),(0,H.A)(function(){return t(!0)},r)};let V=G?function(e,t,r){return G(function(){return e(),t()},r)}:W;var q=(0,s.A)({},f).useInsertionEffect,X=function(e){var t=[],r=!1;function n(e){r||t.push(e)}return c.useEffect(function(){return r=!1,function(){r=!0,t.length&&t.forEach(function(e){return e()})}},e),n},Y=function(){return function(e){e()}};let Z=void 0!==q?X:Y,K=function(){return!1};function J(e,t,r,n,i){var s=c.useContext(w).cache,l=m([e].concat((0,a.A)(t))),u=Z([l]);K();var f=function(e){s.opUpdate(l,function(t){var n=t||[void 0,void 0],i=(0,o.A)(n,2),a=i[0],s=[void 0===a?0:a,i[1]||r()];return e?e(s):s})};c.useMemo(function(){f()},[l]);var h=s.opGet(l)[1];return V(function(){null==i||i(h)},function(e){return f(function(t){var r=(0,o.A)(t,2),n=r[0],a=r[1];return e&&0===n&&(null==i||i(h)),[n+1,a]}),function(){s.opUpdate(l,function(t){var r=t||[],i=(0,o.A)(r,2),a=i[0],c=void 0===a?0:a,f=i[1];return 0==c-1?(u(function(){(e||!s.opGet(l))&&(null==n||n(f,!1))}),null):[c-1,f]})}},[l]),h}var Q={},ee="css",et=new Map;function er(e){et.set(e,(et.get(e)||0)+1)}function en(e,t){"undefined"!=typeof document&&document.querySelectorAll("style[".concat(v,'="').concat(e,'"]')).forEach(function(e){if(e[b]===t){var r;null==(r=e.parentNode)||r.removeChild(e)}})}var ei=0;function eo(e,t){et.set(e,(et.get(e)||0)-1);var r=Array.from(et.keys()),n=r.filter(function(e){return 0>=(et.get(e)||0)});r.length-n.length>ei&&n.forEach(function(e){en(e,t),et.delete(e)})}var ea=function(e,t,r,n){var i=r.getDerivativeToken(e),o=(0,s.A)((0,s.A)({},i),t);return n&&(o=n(o)),o},es="token";function el(e,t){var r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{},n=(0,c.useContext)(w),i=n.cache.instanceId,f=n.container,h=r.salt,d=void 0===h?"":h,p=r.override,m=void 0===p?Q:p,g=r.formatToken,_=r.getComputedToken,x=r.cssVar,S=R(function(){return Object.assign.apply(Object,[{}].concat((0,a.A)(t)))},t),A=j(S),E=j(m),C=x?j(x):"";return J(es,[d,e.id,A,E,C],function(){var t,r=_?_(S,m,e):ea(S,m,e,g),n=(0,s.A)({},r),i="";if(x){var a=U(r,x.key,{prefix:x.prefix,ignore:x.ignore,unitless:x.unitless,preserve:x.preserve}),u=(0,o.A)(a,2);r=u[0],i=u[1]}var c=N(r,d);r._tokenKey=c,n._tokenKey=N(n,d);var f=null!=(t=null==x?void 0:x.key)?t:c;r._themeKey=f,er(f);var h="".concat(ee,"-").concat(l(c));return r._hashId=h,[r,h,n,i,(null==x?void 0:x.key)||""]},function(e){eo(e[0]._themeKey,i)},function(e){var t=(0,o.A)(e,4),r=t[0],n=t[3];if(x&&n){var a=(0,u.BD)(n,l("css-variables-".concat(r._themeKey)),{mark:y,prepend:"queue",attachTo:f,priority:-999});a[b]=i,a.setAttribute(v,r._themeKey)}})}var eu=function(e,t,r){var n=(0,o.A)(e,5),i=n[2],a=n[3],s=n[4],l=(r||{}).plain;if(!a)return null;var u=i._tokenKey,c=-999,f=z(a,s,u,{"data-rc-order":"prependQueue","data-rc-priority":"".concat(c)},l);return[c,u,f]},ec=r(62128);let ef={animationIterationCount:1,borderImageOutset:1,borderImageSlice:1,borderImageWidth:1,boxFlex:1,boxFlexGroup:1,boxOrdinalGroup:1,columnCount:1,columns:1,flex:1,flexGrow:1,flexPositive:1,flexShrink:1,flexNegative:1,flexOrder:1,gridRow:1,gridRowEnd:1,gridRowSpan:1,gridRowStart:1,gridColumn:1,gridColumnEnd:1,gridColumnSpan:1,gridColumnStart:1,msGridRow:1,msGridRowSpan:1,msGridColumn:1,msGridColumnSpan:1,fontWeight:1,lineHeight:1,opacity:1,order:1,orphans:1,tabSize:1,widows:1,zIndex:1,zoom:1,WebkitLineClamp:1,fillOpacity:1,floodOpacity:1,stopOpacity:1,strokeDasharray:1,strokeDashoffset:1,strokeMiterlimit:1,strokeOpacity:1,strokeWidth:1};var eh="comm",ed="rule",ep="decl",em="@import",eg="@keyframes",ev="@layer",ey=Math.abs,eb=String.fromCharCode;function e_(e){return e.trim()}function ew(e,t,r){return e.replace(t,r)}function ex(e,t,r){return e.indexOf(t,r)}function eS(e,t){return 0|e.charCodeAt(t)}function eA(e,t,r){return e.slice(t,r)}function eE(e){return e.length}function eC(e){return e.length}function eO(e,t){return t.push(e),e}function ek(e,t){for(var r="",n=0;n<e.length;n++)r+=t(e[n],n,e,t)||"";return r}function eI(e,t,r,n){switch(e.type){case ev:if(e.children.length)break;case em:case ep:return e.return=e.return||e.value;case eh:return"";case eg:return e.return=e.value+"{"+ek(e.children,n)+"}";case ed:if(!eE(e.value=e.props.join(",")))return""}return eE(r=ek(e.children,n))?e.return=e.value+"{"+r+"}":""}var eT=1,eP=1,eM=0,eR=0,e$=0,ej="";function eN(e,t,r,n,i,o,a,s){return{value:e,root:t,parent:r,type:n,props:i,children:o,line:eT,column:eP,length:a,return:"",siblings:s}}function eB(){return e$}function eL(){return e$=eR>0?eS(ej,--eR):0,eP--,10===e$&&(eP=1,eT--),e$}function ez(){return e$=eR<eM?eS(ej,eR++):0,eP++,10===e$&&(eP=1,eT++),e$}function eF(){return eS(ej,eR)}function eD(){return eR}function eU(e,t){return eA(ej,e,t)}function eH(e){switch(e){case 0:case 9:case 10:case 13:case 32:return 5;case 33:case 43:case 44:case 47:case 62:case 64:case 126:case 59:case 123:case 125:return 4;case 58:return 3;case 34:case 39:case 40:case 91:return 2;case 41:case 93:return 1}return 0}function eG(e){return eT=eP=1,eM=eE(ej=e),eR=0,[]}function eW(e){return ej="",e}function eV(e){return e_(eU(eR-1,eY(91===e?e+2:40===e?e+1:e)))}function eq(e){for(;e$=eF();)if(e$<33)ez();else break;return eH(e)>2||eH(e$)>3?"":" "}function eX(e,t){for(;--t&&ez()&&!(e$<48)&&!(e$>102)&&(!(e$>57)||!(e$<65))&&(!(e$>70)||!(e$<97)););return eU(e,eD()+(t<6&&32==eF()&&32==ez()))}function eY(e){for(;ez();)switch(e$){case e:return eR;case 34:case 39:34!==e&&39!==e&&eY(e$);break;case 40:41===e&&eY(e);break;case 92:ez()}return eR}function eZ(e,t){for(;ez();)if(e+e$===57)break;else if(e+e$===84&&47===eF())break;return"/*"+eU(t,eR-1)+"*"+eb(47===e?e:ez())}function eK(e){for(;!eH(eF());)ez();return eU(e,eR)}function eJ(e){return eW(eQ("",null,null,null,[""],e=eG(e),0,[0],e))}function eQ(e,t,r,n,i,o,a,s,l){for(var u=0,c=0,f=a,h=0,d=0,p=0,m=1,g=1,v=1,y=0,b="",_=i,w=o,x=n,S=b;g;)switch(p=y,y=ez()){case 40:if(108!=p&&58==eS(S,f-1)){-1!=ex(S+=ew(eV(y),"&","&\f"),"&\f",ey(u?s[u-1]:0))&&(v=-1);break}case 34:case 39:case 91:S+=eV(y);break;case 9:case 10:case 13:case 32:S+=eq(p);break;case 92:S+=eX(eD()-1,7);continue;case 47:switch(eF()){case 42:case 47:eO(e1(eZ(ez(),eD()),t,r,l),l),(5==eH(p||1)||5==eH(eF()||1))&&eE(S)&&" "!==eA(S,-1,void 0)&&(S+=" ");break;default:S+="/"}break;case 123*m:s[u++]=eE(S)*v;case 125*m:case 59:case 0:switch(y){case 0:case 125:g=0;case 59+c:-1==v&&(S=ew(S,/\f/g,"")),d>0&&(eE(S)-f||0===m&&47===p)&&eO(d>32?e2(S+";",n,r,f-1,l):e2(ew(S," ","")+";",n,r,f-2,l),l);break;case 59:S+=";";default:if(eO(x=e0(S,t,r,u,c,i,s,b,_=[],w=[],f,o),o),123===y)if(0===c)eQ(S,t,x,x,_,o,f,s,w);else switch(99===h&&110===eS(S,3)?100:h){case 100:case 108:case 109:case 115:eQ(e,x,x,n&&eO(e0(e,x,x,0,0,i,s,b,i,_=[],f,w),w),i,w,f,s,n?_:w);break;default:eQ(S,x,x,x,[""],w,0,s,w)}}u=c=d=0,m=v=1,b=S="",f=a;break;case 58:f=1+eE(S),d=p;default:if(m<1){if(123==y)--m;else if(125==y&&0==m++&&125==eL())continue}switch(S+=eb(y),y*m){case 38:v=c>0?1:(S+="\f",-1);break;case 44:s[u++]=(eE(S)-1)*v,v=1;break;case 64:45===eF()&&(S+=eV(ez())),h=eF(),c=f=eE(b=S+=eK(eD())),y++;break;case 45:45===p&&2==eE(S)&&(m=0)}}return o}function e0(e,t,r,n,i,o,a,s,l,u,c,f){for(var h=i-1,d=0===i?o:[""],p=eC(d),m=0,g=0,v=0;m<n;++m)for(var y=0,b=eA(e,h+1,h=ey(g=a[m])),_=e;y<p;++y)(_=e_(g>0?d[y]+" "+b:ew(b,/&\f/g,d[y])))&&(l[v++]=_);return eN(e,t,r,0===i?ed:s,l,u,c,f)}function e1(e,t,r,n){return eN(e,t,r,eh,eb(eB()),eA(e,2,-2),0,n)}function e2(e,t,r,n,i){return eN(e,t,r,ep,eA(e,0,n),eA(e,n+1,-1),n,i)}var e3="data-ant-cssinjs-cache-path",e5="_FILE_STYLE__",e4=!0;function e6(){if(!n&&(n={},(0,S.A)())){var e,t=document.createElement("div");t.className=e3,t.style.position="fixed",t.style.visibility="hidden",t.style.top="-9999px",document.body.appendChild(t);var r=getComputedStyle(t).content||"";(r=r.replace(/^"/,"").replace(/"$/,"")).split(";").forEach(function(e){var t=e.split(":"),r=(0,o.A)(t,2),i=r[0],a=r[1];n[i]=a});var i=document.querySelector("style[".concat(e3,"]"));i&&(e4=!1,null==(e=i.parentNode)||e.removeChild(i)),document.body.removeChild(t)}}function e8(e){return e6(),!!n[e]}function e9(e){var t=n[e],r=null;if(t&&(0,S.A)())if(e4)r=e5;else{var i=document.querySelector("style[".concat(y,'="').concat(n[e],'"]'));i?r=i.innerHTML:delete n[e]}return[r,t]}var e7="_skip_check_",te="_multi_value_";function tt(e){return ek(eJ(e),eI).replace(/\{%%%\:[^;];}/g,";")}function tr(e){return"object"===(0,x.A)(e)&&e&&(e7 in e||te in e)}function tn(e,t,r){if(!t)return e;var n=".".concat(t),i="low"===r?":where(".concat(n,")"):n;return e.split(",").map(function(e){var t,r=e.trim().split(/\s+/),n=r[0]||"",o=(null==(t=n.match(/^\w+/))?void 0:t[0])||"";return[n="".concat(o).concat(i).concat(n.slice(o.length))].concat((0,a.A)(r.slice(1))).join(" ")}).join(",")}var ti=function e(t){var r=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{root:!0,parentSelectors:[]},i=n.root,l=n.injectHash,u=n.parentSelectors,c=r.hashId,f=r.layer,h=(r.path,r.hashPriority),d=r.transformers,p=void 0===d?[]:d,m=(r.linters,""),g={};function v(t){var n=t.getName(c);if(!g[n]){var i=e(t.style,r,{root:!1,parentSelectors:u}),a=(0,o.A)(i,1)[0];g[n]="@keyframes ".concat(t.getName(c)).concat(a)}}function y(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:[];return e.forEach(function(e){Array.isArray(e)?y(e,t):e&&t.push(e)}),t}return y(Array.isArray(t)?t:[t]).forEach(function(t){var n="string"!=typeof t||i?t:{};if("string"==typeof n)m+="".concat(n,"\n");else if(n._keyframe)v(n);else{var f=p.reduce(function(e,t){var r;return(null==t||null==(r=t.visit)?void 0:r.call(t,e))||e},n);Object.keys(f).forEach(function(t){var n=f[t];if("object"!==(0,x.A)(n)||!n||"animationName"===t&&n._keyframe||tr(n)){function d(e,t){var r=e.replace(/[A-Z]/g,function(e){return"-".concat(e.toLowerCase())}),n=t;ef[e]||"number"!=typeof n||0===n||(n="".concat(n,"px")),"animationName"===e&&null!=t&&t._keyframe&&(v(t),n=t.getName(c)),m+="".concat(r,":").concat(n,";")}var p,y=null!=(p=null==n?void 0:n.value)?p:n;"object"===(0,x.A)(n)&&null!=n&&n[te]&&Array.isArray(y)?y.forEach(function(e){d(t,e)}):d(t,y)}else{var b=!1,_=t.trim(),w=!1;(i||l)&&c?_.startsWith("@")?b=!0:_="&"===_?tn("",c,h):tn(t,c,h):i&&!c&&("&"===_||""===_)&&(_="",w=!0);var S=e(n,r,{root:w,injectHash:b,parentSelectors:[].concat((0,a.A)(u),[_])}),A=(0,o.A)(S,2),E=A[0],C=A[1];g=(0,s.A)((0,s.A)({},g),C),m+="".concat(_).concat(E)}})}}),i?f&&(m="@layer ".concat(f.name," {").concat(m,"}"),f.dependencies&&(g["@layer ".concat(f.name)]=f.dependencies.map(function(e){return"@layer ".concat(e,", ").concat(f.name,";")}).join("\n"))):m="{".concat(m,"}"),[m,g]};function to(e,t){return l("".concat(e.join("%")).concat(t))}function ta(){return null}var ts="style";function tl(e,t){var r=e.token,n=e.path,l=e.hashId,f=e.layer,h=e.nonce,d=e.clientOnly,p=e.order,m=void 0===p?0:p,g=c.useContext(w),_=g.autoClear,x=(g.mock,g.defaultCache),S=g.hashPriority,A=g.container,E=g.ssrInline,C=g.transformers,O=g.linters,k=g.cache,I=g.layer,T=r._tokenKey,P=[T];I&&P.push("layer"),P.push.apply(P,(0,a.A)(n));var M=B,R=J(ts,P,function(){var e=P.join("|");if(e8(e)){var r=e9(e),i=(0,o.A)(r,2),a=i[0],s=i[1];if(a)return[a,T,s,{},d,m]}var u=ti(t(),{hashId:l,hashPriority:S,layer:I?f:void 0,path:n.join("-"),transformers:C,linters:O}),c=(0,o.A)(u,2),h=c[0],p=c[1],g=tt(h),v=to(P,g);return[g,T,v,p,d,m]},function(e,t){var r=(0,o.A)(e,3)[2];(t||_)&&B&&(0,u.m6)(r,{mark:y})},function(e){var t=(0,o.A)(e,4),r=t[0],n=(t[1],t[2]),i=t[3];if(M&&r!==e5){var a={mark:y,prepend:!I&&"queue",attachTo:A,priority:m},l="function"==typeof h?h():h;l&&(a.csp={nonce:l});var c=[],f=[];Object.keys(i).forEach(function(e){e.startsWith("@layer")?c.push(e):f.push(e)}),c.forEach(function(e){(0,u.BD)(tt(i[e]),"_layer-".concat(e),(0,s.A)((0,s.A)({},a),{},{prepend:!0}))});var d=(0,u.BD)(r,n,a);d[b]=k.instanceId,d.setAttribute(v,T),f.forEach(function(e){(0,u.BD)(tt(i[e]),"_effect-".concat(e),a)})}}),$=(0,o.A)(R,3),j=$[0],N=$[1],L=$[2];return function(e){var t;return t=E&&!M&&x?c.createElement("style",(0,ec.A)({},(0,i.A)((0,i.A)({},v,N),y,L),{dangerouslySetInnerHTML:{__html:j}})):c.createElement(ta,null),c.createElement(c.Fragment,null,t,e)}}var tu=function(e,t,r){var n=(0,o.A)(e,6),i=n[0],a=n[1],s=n[2],l=n[3],u=n[4],c=n[5],f=(r||{}).plain;if(u)return null;var h=i,d={"data-rc-order":"prependQueue","data-rc-priority":"".concat(c)};return h=z(i,a,s,d,f),l&&Object.keys(l).forEach(function(e){if(!t[e]){t[e]=!0;var r=z(tt(l[e]),a,"_effect-".concat(e),d,f);e.startsWith("@layer")?h=r+h:h+=r}}),[c,s,h]},tc="cssVar",tf=function(e,t,r){var n=(0,o.A)(e,4),i=n[1],a=n[2],s=n[3],l=(r||{}).plain;if(!i)return null;var u=-999,c=z(i,s,a,{"data-rc-order":"prependQueue","data-rc-priority":"".concat(u)},l);return[u,a,c]};let th=function(e,t){var r=e.key,n=e.prefix,i=e.unitless,s=e.ignore,l=e.token,f=e.scope,h=void 0===f?"":f,d=(0,c.useContext)(w),p=d.cache.instanceId,m=d.container,g=l._tokenKey,_=[].concat((0,a.A)(e.path),[r,h,g]);return J(tc,_,function(){var e=U(t(),r,{prefix:n,unitless:i,ignore:s,scope:h}),a=(0,o.A)(e,2),l=a[0],u=a[1],c=to(_,u);return[l,u,c,r]},function(e){var t=(0,o.A)(e,3)[2];B&&(0,u.m6)(t,{mark:y})},function(e){var t=(0,o.A)(e,3),n=t[1],i=t[2];if(n){var a=(0,u.BD)(n,i,{mark:y,prepend:"queue",attachTo:m,priority:-999});a[b]=p,a.setAttribute(v,r)}})};(0,i.A)((0,i.A)((0,i.A)({},ts,tu),es,eu),tc,tf);let td=function(){function e(t,r){(0,h.A)(this,e),(0,i.A)(this,"name",void 0),(0,i.A)(this,"style",void 0),(0,i.A)(this,"_keyframe",!0),this.name=t,this.style=r}return(0,d.A)(e,[{key:"getName",value:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:"";return e?"".concat(e,"-").concat(this.name):this.name}}]),e}();function tp(e){return e.notSplit=!0,e}tp(["borderTop","borderBottom"]),tp(["borderTop"]),tp(["borderBottom"]),tp(["borderLeft","borderRight"]),tp(["borderLeft"]),tp(["borderRight"])},5837:function(e,t,r){"use strict";r.d(t,{A:()=>A});var n=r(62128),i=r(53863),o=r(34011),a=r(21313),s=r(22155),l=r(38487),u=r.n(l),c=r(68778),f=r(12893),h=r(46363),d=r(11820),p=["icon","className","onClick","style","primaryColor","secondaryColor"],m={primaryColor:"#333",secondaryColor:"#E6E6E6",calculated:!1};function g(e){var t=e.primaryColor,r=e.secondaryColor;m.primaryColor=t,m.secondaryColor=r||(0,d.Em)(t),m.calculated=!!r}function v(){return(0,h.A)({},m)}var y=function(e){var t=e.icon,r=e.className,n=e.onClick,i=e.style,o=e.primaryColor,l=e.secondaryColor,u=(0,a.A)(e,p),c=s.useRef(),f=m;if(o&&(f={primaryColor:o,secondaryColor:l||(0,d.Em)(o)}),(0,d.lf)(c),(0,d.$e)((0,d.P3)(t),"icon should be icon definiton, but got ".concat(t)),!(0,d.P3)(t))return null;var g=t;return g&&"function"==typeof g.icon&&(g=(0,h.A)((0,h.A)({},g),{},{icon:g.icon(f.primaryColor,f.secondaryColor)})),(0,d.cM)(g.icon,"svg-".concat(g.name),(0,h.A)((0,h.A)({className:r,onClick:n,style:i,"data-icon":g.name,width:"1em",height:"1em",fill:"currentColor","aria-hidden":"true"},u),{},{ref:c}))};y.displayName="IconReact",y.getTwoToneColors=v,y.setTwoToneColors=g;let b=y;function _(e){var t=(0,d.al)(e),r=(0,i.A)(t,2),n=r[0],o=r[1];return b.setTwoToneColors({primaryColor:n,secondaryColor:o})}function w(){var e=b.getTwoToneColors();return e.calculated?[e.primaryColor,e.secondaryColor]:e.primaryColor}var x=["className","icon","spin","rotate","tabIndex","onClick","twoToneColor"];_(c.z1.primary);var S=s.forwardRef(function(e,t){var r=e.className,l=e.icon,c=e.spin,h=e.rotate,p=e.tabIndex,m=e.onClick,g=e.twoToneColor,v=(0,a.A)(e,x),y=s.useContext(f.A),_=y.prefixCls,w=void 0===_?"anticon":_,S=y.rootClassName,A=u()(S,w,(0,o.A)((0,o.A)({},"".concat(w,"-").concat(l.name),!!l.name),"".concat(w,"-spin"),!!c||"loading"===l.name),r),E=p;void 0===E&&m&&(E=-1);var C=h?{msTransform:"rotate(".concat(h,"deg)"),transform:"rotate(".concat(h,"deg)")}:void 0,O=(0,d.al)(g),k=(0,i.A)(O,2),I=k[0],T=k[1];return s.createElement("span",(0,n.A)({role:"img","aria-label":l.name},v,{ref:t,tabIndex:E,onClick:m,className:A}),s.createElement(b,{icon:l,primaryColor:I,secondaryColor:T,style:C}))});S.displayName="AntdIcon",S.getTwoToneColor=w,S.setTwoToneColor=_;let A=S},12893:function(e,t,r){"use strict";r.d(t,{A:()=>n});let n=(0,r(22155).createContext)({})},99877:function(e,t,r){"use strict";r.d(t,{A:()=>m});var n=r(62128),i=r(46363),o=r(34011),a=r(21313),s=r(22155),l=r(38487),u=r.n(l),c=r(37233),f=r(12893),h=r(11820),d=["className","component","viewBox","spin","rotate","tabIndex","onClick","children"],p=s.forwardRef(function(e,t){var r=e.className,l=e.component,p=e.viewBox,m=e.spin,g=e.rotate,v=e.tabIndex,y=e.onClick,b=e.children,_=(0,a.A)(e,d),w=s.useRef(),x=(0,c.xK)(w,t);(0,h.$e)(!!(l||b),"Should have `component` prop or `children`."),(0,h.lf)(w);var S=s.useContext(f.A),A=S.prefixCls,E=void 0===A?"anticon":A,C=S.rootClassName,O=u()(C,E,(0,o.A)({},"".concat(E,"-spin"),!!m&&!!l),r),k=u()((0,o.A)({},"".concat(E,"-spin"),!!m)),I=g?{msTransform:"rotate(".concat(g,"deg)"),transform:"rotate(".concat(g,"deg)")}:void 0,T=(0,i.A)((0,i.A)({},h.yf),{},{className:k,style:I,viewBox:p});p||delete T.viewBox;var P=function(){return l?s.createElement(l,T,b):b?((0,h.$e)(!!p||1===s.Children.count(b)&&s.isValidElement(b)&&"use"===s.Children.only(b).type,"Make sure that you provide correct `viewBox` prop (default `0 0 1024 1024`) to the icon."),s.createElement("svg",(0,n.A)({},T,{viewBox:p}),b)):null},M=v;return void 0===M&&y&&(M=-1),s.createElement("span",(0,n.A)({role:"img"},_,{ref:x,tabIndex:M,onClick:y,className:O}),P())});p.displayName="AntdIcon";let m=p},97637:function(e,t,r){"use strict";r.d(t,{A:()=>l});var n=r(62128),i=r(22155);let o={icon:{tag:"svg",attrs:{viewBox:"64 64 896 896",focusable:"false"},children:[{tag:"path",attrs:{d:"M862 465.3h-81c-4.6 0-9 2-12.1 5.5L550 723.1V160c0-4.4-3.6-8-8-8h-60c-4.4 0-8 3.6-8 8v563.1L255.1 470.8c-3-3.5-7.4-5.5-12.1-5.5h-81c-6.8 0-10.5 8.1-6 13.2L487.9 861a31.96 31.96 0 0048.3 0L868 478.5c4.5-5.2.8-13.2-6-13.2z"}}]},name:"arrow-down",theme:"outlined"};var a=r(5837),s=function(e,t){return i.createElement(a.A,(0,n.A)({},e,{ref:t,icon:o}))};let l=i.forwardRef(s)},12664:function(e,t,r){"use strict";r.d(t,{A:()=>l});var n=r(62128),i=r(22155);let o={icon:{tag:"svg",attrs:{viewBox:"64 64 896 896",focusable:"false"},children:[{tag:"path",attrs:{d:"M869 487.8L491.2 159.9c-2.9-2.5-6.6-3.9-10.5-3.9h-88.5c-7.4 0-10.8 9.2-5.2 14l350.2 304H152c-4.4 0-8 3.6-8 8v60c0 4.4 3.6 8 8 8h585.1L386.9 854c-5.6 4.9-2.2 14 5.2 14h91.5c1.9 0 3.8-.7 5.2-2L869 536.2a32.07 32.07 0 000-48.4z"}}]},name:"arrow-right",theme:"outlined"};var a=r(5837),s=function(e,t){return i.createElement(a.A,(0,n.A)({},e,{ref:t,icon:o}))};let l=i.forwardRef(s)},63536:function(e,t,r){"use strict";r.d(t,{A:()=>l});var n=r(62128),i=r(22155);let o={icon:{tag:"svg",attrs:{viewBox:"64 64 896 896",focusable:"false"},children:[{tag:"path",attrs:{d:"M880 112H144c-17.7 0-32 14.3-32 32v736c0 17.7 14.3 32 32 32h736c17.7 0 32-14.3 32-32V144c0-17.7-14.3-32-32-32zm-40 728H184V184h656v656z"}}]},name:"border",theme:"outlined"};var a=r(5837),s=function(e,t){return i.createElement(a.A,(0,n.A)({},e,{ref:t,icon:o}))};let l=i.forwardRef(s)},19703:function(e,t,r){"use strict";r.d(t,{A:()=>l});var n=r(62128),i=r(22155);let o={icon:{tag:"svg",attrs:{viewBox:"0 0 1024 1024",focusable:"false"},children:[{tag:"path",attrs:{d:"M715.8 493.5L335 165.1c-14.2-12.2-35-1.2-35 18.5v656.8c0 19.7 20.8 30.7 35 18.5l380.8-328.4c10.9-9.4 10.9-27.6 0-37z"}}]},name:"caret-right",theme:"outlined"};var a=r(5837),s=function(e,t){return i.createElement(a.A,(0,n.A)({},e,{ref:t,icon:o}))};let l=i.forwardRef(s)},71556:function(e,t,r){"use strict";r.d(t,{A:()=>l});var n=r(62128),i=r(22155);let o={icon:{tag:"svg",attrs:{viewBox:"64 64 896 896",focusable:"false"},children:[{tag:"path",attrs:{d:"M512 64C264.6 64 64 264.6 64 512s200.6 448 448 448 448-200.6 448-448S759.4 64 512 64zm193.5 301.7l-210.6 292a31.8 31.8 0 01-51.7 0L318.5 484.9c-3.8-5.3 0-12.7 6.5-12.7h46.9c10.2 0 19.9 4.9 25.9 13.3l71.2 98.8 157.2-218c6-8.3 15.6-13.3 25.9-13.3H699c6.5 0 10.3 7.4 6.5 12.7z"}}]},name:"check-circle",theme:"filled"};var a=r(5837),s=function(e,t){return i.createElement(a.A,(0,n.A)({},e,{ref:t,icon:o}))};let l=i.forwardRef(s)},22479:function(e,t,r){"use strict";r.d(t,{A:()=>l});var n=r(62128),i=r(22155);let o={icon:{tag:"svg",attrs:{viewBox:"64 64 896 896",focusable:"false"},children:[{tag:"path",attrs:{d:"M912 190h-69.9c-9.8 0-19.1 4.5-25.1 12.2L404.7 724.5 207 474a32 32 0 00-25.1-12.2H112c-6.7 0-10.4 7.7-6.3 12.9l273.9 347c12.8 16.2 37.4 16.2 50.3 0l488.4-618.9c4.1-5.1.4-12.8-6.3-12.8z"}}]},name:"check",theme:"outlined"};var a=r(5837),s=function(e,t){return i.createElement(a.A,(0,n.A)({},e,{ref:t,icon:o}))};let l=i.forwardRef(s)},98697:function(e,t,r){"use strict";r.d(t,{A:()=>l});var n=r(62128),i=r(22155);let o={icon:{tag:"svg",attrs:{viewBox:"64 64 896 896",focusable:"false"},children:[{tag:"defs",attrs:{},children:[{tag:"style",attrs:{}}]},{tag:"path",attrs:{d:"M899.1 869.6l-53-305.6H864c14.4 0 26-11.6 26-26V346c0-14.4-11.6-26-26-26H618V138c0-14.4-11.6-26-26-26H432c-14.4 0-26 11.6-26 26v182H160c-14.4 0-26 11.6-26 26v192c0 14.4 11.6 26 26 26h17.9l-53 305.6a25.95 25.95 0 0025.6 30.4h723c1.5 0 3-.1 4.4-.4a25.88 25.88 0 0021.2-30zM204 390h272V182h72v208h272v104H204V390zm468 440V674c0-4.4-3.6-8-8-8h-48c-4.4 0-8 3.6-8 8v156H416V674c0-4.4-3.6-8-8-8h-48c-4.4 0-8 3.6-8 8v156H202.8l45.1-260H776l45.1 260H672z"}}]},name:"clear",theme:"outlined"};var a=r(5837),s=function(e,t){return i.createElement(a.A,(0,n.A)({},e,{ref:t,icon:o}))};let l=i.forwardRef(s)},34438:function(e,t,r){"use strict";r.d(t,{A:()=>l});var n=r(62128),i=r(22155);let o={icon:{tag:"svg",attrs:{viewBox:"64 64 896 896",focusable:"false"},children:[{tag:"path",attrs:{d:"M512 64C264.6 64 64 264.6 64 512s200.6 448 448 448 448-200.6 448-448S759.4 64 512 64zm0 820c-205.4 0-372-166.6-372-372s166.6-372 372-372 372 166.6 372 372-166.6 372-372 372z"}},{tag:"path",attrs:{d:"M686.7 638.6L544.1 535.5V288c0-4.4-3.6-8-8-8H488c-4.4 0-8 3.6-8 8v275.4c0 2.6 1.2 5 3.3 6.5l165.4 120.6c3.6 2.6 8.6 1.8 11.2-1.7l28.6-39c2.6-3.7 1.8-8.7-1.8-11.2z"}}]},name:"clock-circle",theme:"outlined"};var a=r(5837),s=function(e,t){return i.createElement(a.A,(0,n.A)({},e,{ref:t,icon:o}))};let l=i.forwardRef(s)},20004:function(e,t,r){"use strict";r.d(t,{A:()=>l});var n=r(62128),i=r(22155);let o={icon:{tag:"svg",attrs:{"fill-rule":"evenodd",viewBox:"64 64 896 896",focusable:"false"},children:[{tag:"path",attrs:{d:"M512 64c247.4 0 448 200.6 448 448S759.4 960 512 960 64 759.4 64 512 264.6 64 512 64zm127.98 274.82h-.04l-.08.06L512 466.75 384.14 338.88c-.04-.05-.06-.06-.08-.06a.12.12 0 00-.07 0c-.03 0-.05.01-.09.05l-45.02 45.02a.2.2 0 00-.05.09.12.12 0 000 .07v.02a.27.27 0 00.06.06L466.75 512 338.88 639.86c-.05.04-.06.06-.06.08a.12.12 0 000 .07c0 .03.01.05.05.09l45.02 45.02a.2.2 0 00.09.05.12.12 0 00.07 0c.02 0 .04-.01.08-.05L512 557.25l127.86 127.87c.04.04.06.05.08.05a.12.12 0 00.07 0c.03 0 .05-.01.09-.05l45.02-45.02a.2.2 0 00.05-.09.12.12 0 000-.07v-.02a.27.27 0 00-.05-.06L557.25 512l127.87-127.86c.04-.04.05-.06.05-.08a.12.12 0 000-.07c0-.03-.01-.05-.05-.09l-45.02-45.02a.2.2 0 00-.09-.05.12.12 0 00-.07 0z"}}]},name:"close-circle",theme:"filled"};var a=r(5837),s=function(e,t){return i.createElement(a.A,(0,n.A)({},e,{ref:t,icon:o}))};let l=i.forwardRef(s)},29345:function(e,t,r){"use strict";r.d(t,{A:()=>l});var n=r(62128),i=r(22155);let o={icon:{tag:"svg",attrs:{"fill-rule":"evenodd",viewBox:"64 64 896 896",focusable:"false"},children:[{tag:"path",attrs:{d:"M799.86 166.31c.02 0 .04.02.08.06l57.69 57.7c.04.03.05.05.06.08a.12.12 0 010 .06c0 .03-.02.05-.06.09L569.93 512l287.7 287.7c.04.04.05.06.06.09a.12.12 0 010 .07c0 .02-.02.04-.06.08l-57.7 57.69c-.03.04-.05.05-.07.06a.12.12 0 01-.07 0c-.03 0-.05-.02-.09-.06L512 569.93l-287.7 287.7c-.04.04-.06.05-.09.06a.12.12 0 01-.07 0c-.02 0-.04-.02-.08-.06l-57.69-57.7c-.04-.03-.05-.05-.06-.07a.12.12 0 010-.07c0-.03.02-.05.06-.09L454.07 512l-287.7-287.7c-.04-.04-.05-.06-.06-.09a.12.12 0 010-.07c0-.02.02-.04.06-.08l57.7-57.69c.03-.04.05-.05.07-.06a.12.12 0 01.07 0c.03 0 .05.02.09.06L512 454.07l287.7-287.7c.04-.04.06-.05.09-.06a.12.12 0 01.07 0z"}}]},name:"close",theme:"outlined"};var a=r(5837),s=function(e,t){return i.createElement(a.A,(0,n.A)({},e,{ref:t,icon:o}))};let l=i.forwardRef(s)},82179:function(e,t,r){"use strict";r.d(t,{A:()=>l});var n=r(62128),i=r(22155);let o={icon:{tag:"svg",attrs:{viewBox:"64 64 896 896",focusable:"false"},children:[{tag:"path",attrs:{d:"M884 256h-75c-5.1 0-9.9 2.5-12.9 6.6L512 654.2 227.9 262.6c-3-4.1-7.8-6.6-12.9-6.6h-75c-6.5 0-10.3 7.4-6.5 12.7l352.6 486.1c12.8 17.6 39 17.6 51.7 0l352.6-486.1c3.9-5.3.1-12.7-6.4-12.7z"}}]},name:"down",theme:"outlined"};var a=r(5837),s=function(e,t){return i.createElement(a.A,(0,n.A)({},e,{ref:t,icon:o}))};let l=i.forwardRef(s)},346:function(e,t,r){"use strict";r.d(t,{A:()=>l});var n=r(62128),i=r(22155);let o={icon:{tag:"svg",attrs:{viewBox:"64 64 896 896",focusable:"false"},children:[{tag:"path",attrs:{d:"M505.7 661a8 8 0 0012.6 0l112-141.7c4.1-5.2.4-12.9-6.3-12.9h-74.1V168c0-4.4-3.6-8-8-8h-60c-4.4 0-8 3.6-8 8v338.3H400c-6.7 0-10.4 7.7-6.3 12.9l112 141.8zM878 626h-60c-4.4 0-8 3.6-8 8v154H214V634c0-4.4-3.6-8-8-8h-60c-4.4 0-8 3.6-8 8v198c0 17.7 14.3 32 32 32h684c17.7 0 32-14.3 32-32V634c0-4.4-3.6-8-8-8z"}}]},name:"download",theme:"outlined"};var a=r(5837),s=function(e,t){return i.createElement(a.A,(0,n.A)({},e,{ref:t,icon:o}))};let l=i.forwardRef(s)},76549:function(e,t,r){"use strict";r.d(t,{A:()=>l});var n=r(62128),i=r(22155);let o={icon:{tag:"svg",attrs:{viewBox:"64 64 896 896",focusable:"false"},children:[{tag:"path",attrs:{d:"M512 64C264.6 64 64 264.6 64 512s200.6 448 448 448 448-200.6 448-448S759.4 64 512 64zm-32 232c0-4.4 3.6-8 8-8h48c4.4 0 8 3.6 8 8v272c0 4.4-3.6 8-8 8h-48c-4.4 0-8-3.6-8-8V296zm32 440a48.01 48.01 0 010-96 48.01 48.01 0 010 96z"}}]},name:"exclamation-circle",theme:"filled"};var a=r(5837),s=function(e,t){return i.createElement(a.A,(0,n.A)({},e,{ref:t,icon:o}))};let l=i.forwardRef(s)},622:function(e,t,r){"use strict";r.d(t,{A:()=>l});var n=r(62128),i=r(22155);let o={icon:{tag:"svg",attrs:{"fill-rule":"evenodd",viewBox:"64 64 896 896",focusable:"false"},children:[{tag:"path",attrs:{d:"M880 912H144c-17.7 0-32-14.3-32-32V144c0-17.7 14.3-32 32-32h360c4.4 0 8 3.6 8 8v56c0 4.4-3.6 8-8 8H184v656h656V520c0-4.4 3.6-8 8-8h56c4.4 0 8 3.6 8 8v360c0 17.7-14.3 32-32 32zM770.87 199.13l-52.2-52.2a8.01 8.01 0 014.7-13.6l179.4-21c5.1-.6 9.5 3.7 8.9 8.9l-21 179.4c-.8 6.6-8.9 9.4-13.6 4.7l-52.4-52.4-256.2 256.2a8.03 8.03 0 01-11.3 0l-42.4-42.4a8.03 8.03 0 010-11.3l256.1-256.3z"}}]},name:"export",theme:"outlined"};var a=r(5837),s=function(e,t){return i.createElement(a.A,(0,n.A)({},e,{ref:t,icon:o}))};let l=i.forwardRef(s)},73395:function(e,t,r){"use strict";r.d(t,{A:()=>l});var n=r(62128),i=r(22155);let o={icon:{tag:"svg",attrs:{viewBox:"64 64 896 896",focusable:"false"},children:[{tag:"path",attrs:{d:"M511.6 76.3C264.3 76.2 64 276.4 64 523.5 64 718.9 189.3 885 363.8 946c23.5 5.9 19.9-10.8 19.9-22.2v-77.5c-135.7 15.9-141.2-73.9-150.3-88.9C215 726 171.5 718 184.5 703c30.9-15.9 62.4 4 98.9 57.9 26.4 39.1 77.9 32.5 104 26 5.7-23.5 17.9-44.5 34.7-60.8-140.6-25.2-199.2-111-199.2-213 0-49.5 16.3-95 48.3-131.7-20.4-60.5 1.9-112.3 4.9-120 58.1-5.2 118.5 41.6 123.2 45.3 33-8.9 70.7-13.6 112.9-13.6 42.4 0 80.2 4.9 113.5 13.9 11.3-8.6 67.3-48.8 121.3-43.9 2.9 7.7 24.7 58.3 5.5 118 32.4 36.8 48.9 82.7 48.9 132.3 0 102.2-59 188.1-200 212.9a127.5 127.5 0 0138.1 91v112.5c.8 9 0 17.9 15 17.9 177.1-59.7 304.6-227 304.6-424.1 0-247.2-200.4-447.3-447.5-447.3z"}}]},name:"github",theme:"outlined"};var a=r(5837),s=function(e,t){return i.createElement(a.A,(0,n.A)({},e,{ref:t,icon:o}))};let l=i.forwardRef(s)},47804:function(e,t,r){"use strict";r.d(t,{A:()=>l});var n=r(62128),i=r(22155);let o={icon:{tag:"svg",attrs:{viewBox:"64 64 896 896",focusable:"false"},children:[{tag:"path",attrs:{d:"M512 64C264.6 64 64 264.6 64 512s200.6 448 448 448 448-200.6 448-448S759.4 64 512 64zm32 664c0 4.4-3.6 8-8 8h-48c-4.4 0-8-3.6-8-8V456c0-4.4 3.6-8 8-8h48c4.4 0 8 3.6 8 8v272zm-32-344a48.01 48.01 0 010-96 48.01 48.01 0 010 96z"}}]},name:"info-circle",theme:"filled"};var a=r(5837),s=function(e,t){return i.createElement(a.A,(0,n.A)({},e,{ref:t,icon:o}))};let l=i.forwardRef(s)},50852:function(e,t,r){"use strict";r.d(t,{A:()=>l});var n=r(62128),i=r(22155);let o={icon:{tag:"svg",attrs:{viewBox:"64 64 896 896",focusable:"false"},children:[{tag:"path",attrs:{d:"M512 64C264.6 64 64 264.6 64 512s200.6 448 448 448 448-200.6 448-448S759.4 64 512 64zm0 820c-205.4 0-372-166.6-372-372s166.6-372 372-372 372 166.6 372 372-166.6 372-372 372z"}},{tag:"path",attrs:{d:"M464 336a48 48 0 1096 0 48 48 0 10-96 0zm72 112h-48c-4.4 0-8 3.6-8 8v272c0 4.4 3.6 8 8 8h48c4.4 0 8-3.6 8-8V456c0-4.4-3.6-8-8-8z"}}]},name:"info-circle",theme:"outlined"};var a=r(5837),s=function(e,t){return i.createElement(a.A,(0,n.A)({},e,{ref:t,icon:o}))};let l=i.forwardRef(s)},728:function(e,t,r){"use strict";r.d(t,{A:()=>l});var n=r(62128),i=r(22155);let o={icon:{tag:"svg",attrs:{viewBox:"64 64 896 896",focusable:"false"},children:[{tag:"path",attrs:{d:"M724 218.3V141c0-6.7-7.7-10.4-12.9-6.3L260.3 486.8a31.86 31.86 0 000 50.3l450.8 352.1c5.3 4.1 12.9.4 12.9-6.3v-77.3c0-4.9-2.3-9.6-6.1-12.6l-360-281 360-281.1c3.8-3 6.1-7.7 6.1-12.6z"}}]},name:"left",theme:"outlined"};var a=r(5837),s=function(e,t){return i.createElement(a.A,(0,n.A)({},e,{ref:t,icon:o}))};let l=i.forwardRef(s)},30230:function(e,t,r){"use strict";r.d(t,{A:()=>l});var n=r(62128),i=r(22155);let o={icon:{tag:"svg",attrs:{viewBox:"0 0 1024 1024",focusable:"false"},children:[{tag:"path",attrs:{d:"M988 548c-19.9 0-36-16.1-36-36 0-59.4-11.6-117-34.6-171.3a440.45 440.45 0 00-94.3-139.9 437.71 437.71 0 00-139.9-94.3C629 83.6 571.4 72 512 72c-19.9 0-36-16.1-36-36s16.1-36 36-36c69.1 0 136.2 13.5 199.3 40.3C772.3 66 827 103 874 150c47 47 83.9 101.8 109.7 162.7 26.7 63.1 40.2 130.2 40.2 199.3.1 19.9-16 36-35.9 36z"}}]},name:"loading",theme:"outlined"};var a=r(5837),s=function(e,t){return i.createElement(a.A,(0,n.A)({},e,{ref:t,icon:o}))};let l=i.forwardRef(s)},11594:function(e,t,r){"use strict";r.d(t,{A:()=>l});var n=r(62128),i=r(22155);let o={icon:{tag:"svg",attrs:{viewBox:"64 64 896 896",focusable:"false"},children:[{tag:"path",attrs:{d:"M868 732h-70.3c-4.8 0-9.3 2.1-12.3 5.8-7 8.5-14.5 16.7-22.4 24.5a353.84 353.84 0 01-112.7 75.9A352.8 352.8 0 01512.4 866c-47.9 0-94.3-9.4-137.9-27.8a353.84 353.84 0 01-112.7-75.9 353.28 353.28 0 01-76-112.5C167.3 606.2 158 559.9 158 512s9.4-94.2 27.8-137.8c17.8-42.1 43.4-80 76-112.5s70.5-58.1 112.7-75.9c43.6-18.4 90-27.8 137.9-27.8 47.9 0 94.3 9.3 137.9 27.8 42.2 17.8 80.1 43.4 112.7 75.9 7.9 7.9 15.3 16.1 22.4 24.5 3 3.7 7.6 5.8 12.3 5.8H868c6.3 0 10.2-7 6.7-12.3C798 160.5 663.8 81.6 511.3 82 271.7 82.6 79.6 277.1 82 516.4 84.4 751.9 276.2 942 512.4 942c152.1 0 285.7-78.8 362.3-197.7 3.4-5.3-.4-12.3-6.7-12.3zm88.9-226.3L815 393.7c-5.3-4.2-13-.4-13 6.3v76H488c-4.4 0-8 3.6-8 8v56c0 4.4 3.6 8 8 8h314v76c0 6.7 7.8 10.5 13 6.3l141.9-112a8 8 0 000-12.6z"}}]},name:"logout",theme:"outlined"};var a=r(5837),s=function(e,t){return i.createElement(a.A,(0,n.A)({},e,{ref:t,icon:o}))};let l=i.forwardRef(s)},91064:function(e,t,r){"use strict";r.d(t,{A:()=>l});var n=r(62128),i=r(22155);let o={icon:{tag:"svg",attrs:{viewBox:"64 64 896 896",focusable:"false"},children:[{tag:"path",attrs:{d:"M872 474H152c-4.4 0-8 3.6-8 8v60c0 4.4 3.6 8 8 8h720c4.4 0 8-3.6 8-8v-60c0-4.4-3.6-8-8-8z"}}]},name:"minus",theme:"outlined"};var a=r(5837),s=function(e,t){return i.createElement(a.A,(0,n.A)({},e,{ref:t,icon:o}))};let l=i.forwardRef(s)},28586:function(e,t,r){"use strict";r.d(t,{A:()=>l});var n=r(62128),i=r(22155);let o={icon:{tag:"svg",attrs:{viewBox:"64 64 896 896",focusable:"false"},children:[{tag:"path",attrs:{d:"M512 64C264.6 64 64 264.6 64 512s200.6 448 448 448 448-200.6 448-448S759.4 64 512 64zm0 820c-205.4 0-372-166.6-372-372s166.6-372 372-372 372 166.6 372 372-166.6 372-372 372z"}},{tag:"path",attrs:{d:"M623.6 316.7C593.6 290.4 554 276 512 276s-81.6 14.5-111.6 40.7C369.2 344 352 380.7 352 420v7.6c0 4.4 3.6 8 8 8h48c4.4 0 8-3.6 8-8V420c0-44.1 43.1-80 96-80s96 35.9 96 80c0 31.1-22 59.6-56.1 72.7-21.2 8.1-39.2 22.3-52.1 40.9-13.1 19-19.9 41.8-19.9 64.9V620c0 4.4 3.6 8 8 8h48c4.4 0 8-3.6 8-8v-22.7a48.3 48.3 0 0130.9-44.8c59-22.7 97.1-74.7 97.1-132.5.1-39.3-17.1-76-48.3-103.3zM472 732a40 40 0 1080 0 40 40 0 10-80 0z"}}]},name:"question-circle",theme:"outlined"};var a=r(5837),s=function(e,t){return i.createElement(a.A,(0,n.A)({},e,{ref:t,icon:o}))};let l=i.forwardRef(s)},81649:function(e,t,r){"use strict";r.d(t,{A:()=>l});var n=r(62128),i=r(22155);let o={icon:{tag:"svg",attrs:{viewBox:"64 64 896 896",focusable:"false"},children:[{tag:"path",attrs:{d:"M909.1 209.3l-56.4 44.1C775.8 155.1 656.2 92 521.9 92 290 92 102.3 279.5 102 511.5 101.7 743.7 289.8 932 521.9 932c181.3 0 335.8-115 394.6-276.1 1.5-4.2-.7-8.9-4.9-10.3l-56.7-19.5a8 8 0 00-10.1 4.8c-1.8 5-3.8 10-5.9 14.9-17.3 41-42.1 77.8-73.7 109.4A344.77 344.77 0 01655.9 829c-42.3 17.9-87.4 27-133.8 27-46.5 0-91.5-9.1-133.8-27A341.5 341.5 0 01279 755.2a342.16 342.16 0 01-73.7-109.4c-17.9-42.4-27-87.4-27-133.9s9.1-91.5 27-133.9c17.3-41 42.1-77.8 73.7-109.4 31.6-31.6 68.4-56.4 109.3-73.8 42.3-17.9 87.4-27 133.8-27 46.5 0 91.5 9.1 133.8 27a341.5 341.5 0 01109.3 73.8c9.9 9.9 19.2 20.4 27.8 31.4l-60.2 47a8 8 0 003 14.1l175.6 43c5 1.2 9.9-2.6 9.9-7.7l.8-180.9c-.1-6.6-7.8-10.3-13-6.2z"}}]},name:"reload",theme:"outlined"};var a=r(5837),s=function(e,t){return i.createElement(a.A,(0,n.A)({},e,{ref:t,icon:o}))};let l=i.forwardRef(s)},74225:function(e,t,r){"use strict";r.d(t,{A:()=>l});var n=r(62128),i=r(22155);let o={icon:{tag:"svg",attrs:{viewBox:"64 64 896 896",focusable:"false"},children:[{tag:"path",attrs:{d:"M765.7 486.8L314.9 134.7A7.97 7.97 0 00302 141v77.3c0 4.9 2.3 9.6 6.1 12.6l360 281.1-360 281.1c-3.9 3-6.1 7.7-6.1 12.6V883c0 6.7 7.7 10.4 12.9 6.3l450.8-352.1a31.96 31.96 0 000-50.4z"}}]},name:"right",theme:"outlined"};var a=r(5837),s=function(e,t){return i.createElement(a.A,(0,n.A)({},e,{ref:t,icon:o}))};let l=i.forwardRef(s)},34189:function(e,t,r){"use strict";r.d(t,{A:()=>l});var n=r(62128),i=r(22155);let o={icon:{tag:"svg",attrs:{viewBox:"64 64 896 896",focusable:"false"},children:[{tag:"path",attrs:{d:"M909.6 854.5L649.9 594.8C690.2 542.7 712 479 712 412c0-80.2-31.3-155.4-87.9-212.1-56.6-56.7-132-87.9-212.1-87.9s-155.5 31.3-212.1 87.9C143.2 256.5 112 331.8 112 412c0 80.1 31.3 155.5 87.9 212.1C256.5 680.8 331.8 712 412 712c67 0 130.6-21.8 182.7-62l259.7 259.6a8.2 8.2 0 0011.6 0l43.6-43.5a8.2 8.2 0 000-11.6zM570.4 570.4C528 612.7 471.8 636 412 636s-116-23.3-158.4-65.6C211.3 528 188 471.8 188 412s23.3-116.1 65.6-158.4C296 211.3 352.2 188 412 188s116.1 23.2 158.4 65.6S636 352.2 636 412s-23.3 116.1-65.6 158.4z"}}]},name:"search",theme:"outlined"};var a=r(5837),s=function(e,t){return i.createElement(a.A,(0,n.A)({},e,{ref:t,icon:o}))};let l=i.forwardRef(s)},23940:function(e,t,r){"use strict";r.d(t,{A:()=>l});var n=r(62128),i=r(22155);let o={icon:{tag:"svg",attrs:{viewBox:"64 64 896 896",focusable:"false"},children:[{tag:"defs",attrs:{},children:[{tag:"style",attrs:{}}]},{tag:"path",attrs:{d:"M931.4 498.9L94.9 79.5c-3.4-1.7-7.3-2.1-11-1.2a15.99 15.99 0 00-11.7 19.3l86.2 352.2c1.3 5.3 5.2 9.6 10.4 11.3l147.7 50.7-147.6 50.7c-5.2 1.8-9.1 6-10.3 11.3L72.2 926.5c-.9 3.7-.5 7.6 1.2 10.9 3.9 7.9 13.5 11.1 21.5 7.2l836.5-417c3.1-1.5 5.6-4.1 7.2-7.1 3.9-8 .7-17.6-7.2-21.6zM170.8 826.3l50.3-205.6 295.2-101.3c2.3-.8 4.2-2.6 5-5 1.4-4.2-.8-8.7-5-10.2L221.1 403 171 198.2l628 314.9-628.2 313.2z"}}]},name:"send",theme:"outlined"};var a=r(5837),s=function(e,t){return i.createElement(a.A,(0,n.A)({},e,{ref:t,icon:o}))};let l=i.forwardRef(s)},13930:function(e,t,r){"use strict";r.d(t,{A:()=>l});var n=r(62128),i=r(22155);let o={icon:{tag:"svg",attrs:{viewBox:"64 64 896 896",focusable:"false"},children:[{tag:"path",attrs:{d:"M924.8 625.7l-65.5-56c3.1-19 4.7-38.4 4.7-57.8s-1.6-38.8-4.7-57.8l65.5-56a32.03 32.03 0 009.3-35.2l-.9-2.6a443.74 443.74 0 00-79.7-137.9l-1.8-2.1a32.12 32.12 0 00-35.1-9.5l-81.3 28.9c-30-24.6-63.5-44-99.7-57.6l-15.7-85a32.05 32.05 0 00-25.8-25.7l-2.7-.5c-52.1-9.4-106.9-9.4-159 0l-2.7.5a32.05 32.05 0 00-25.8 25.7l-15.8 85.4a351.86 351.86 0 00-99 57.4l-81.9-29.1a32 32 0 00-35.1 9.5l-1.8 2.1a446.02 446.02 0 00-79.7 137.9l-.9 2.6c-4.5 12.5-.8 26.5 9.3 35.2l66.3 56.6c-3.1 18.8-4.6 38-4.6 57.1 0 19.2 1.5 38.4 4.6 57.1L99 625.5a32.03 32.03 0 00-9.3 35.2l.9 2.6c18.1 50.4 44.9 96.9 79.7 137.9l1.8 2.1a32.12 32.12 0 0035.1 9.5l81.9-29.1c29.8 24.5 63.1 43.9 99 57.4l15.8 85.4a32.05 32.05 0 0025.8 25.7l2.7.5a449.4 449.4 0 00159 0l2.7-.5a32.05 32.05 0 0025.8-25.7l15.7-85a350 350 0 0099.7-57.6l81.3 28.9a32 32 0 0035.1-9.5l1.8-2.1c34.8-41.1 61.6-87.5 79.7-137.9l.9-2.6c4.5-12.3.8-26.3-9.3-35zM788.3 465.9c2.5 15.1 3.8 30.6 3.8 46.1s-1.3 31-3.8 46.1l-6.6 40.1 74.7 63.9a370.03 370.03 0 01-42.6 73.6L721 702.8l-31.4 25.8c-23.9 19.6-50.5 35-79.3 45.8l-38.1 14.3-17.9 97a377.5 377.5 0 01-85 0l-17.9-97.2-37.8-14.5c-28.5-10.8-55-26.2-78.7-45.7l-31.4-25.9-93.4 33.2c-17-22.9-31.2-47.6-42.6-73.6l75.5-64.5-6.5-40c-2.4-14.9-3.7-30.3-3.7-45.5 0-15.3 1.2-30.6 3.7-45.5l6.5-40-75.5-64.5c11.3-26.1 25.6-50.7 42.6-73.6l93.4 33.2 31.4-25.9c23.7-19.5 50.2-34.9 78.7-45.7l37.9-14.3 17.9-97.2c28.1-3.2 56.8-3.2 85 0l17.9 97 38.1 14.3c28.7 10.8 55.4 26.2 79.3 45.8l31.4 25.8 92.8-32.9c17 22.9 31.2 47.6 42.6 73.6L781.8 426l6.5 39.9zM512 326c-97.2 0-176 78.8-176 176s78.8 176 176 176 176-78.8 176-176-78.8-176-176-176zm79.2 255.2A111.6 111.6 0 01512 614c-29.9 0-58-11.7-79.2-32.8A111.6 111.6 0 01400 502c0-29.9 11.7-58 32.8-79.2C454 401.6 482.1 390 512 390c29.9 0 58 11.6 79.2 32.8A111.6 111.6 0 01624 502c0 29.9-11.7 58-32.8 79.2z"}}]},name:"setting",theme:"outlined"};var a=r(5837),s=function(e,t){return i.createElement(a.A,(0,n.A)({},e,{ref:t,icon:o}))};let l=i.forwardRef(s)},59126:function(e,t,r){"use strict";r.d(t,{A:()=>l});var n=r(62128),i=r(22155);let o={icon:{tag:"svg",attrs:{viewBox:"64 64 896 896",focusable:"false"},children:[{tag:"path",attrs:{d:"M464 720a48 48 0 1096 0 48 48 0 10-96 0zm16-304v184c0 4.4 3.6 8 8 8h48c4.4 0 8-3.6 8-8V416c0-4.4-3.6-8-8-8h-48c-4.4 0-8 3.6-8 8zm475.7 440l-416-720c-6.2-10.7-16.9-16-27.7-16s-21.6 5.3-27.7 16l-416 720C56 877.4 71.4 904 96 904h832c24.6 0 40-26.6 27.7-48zm-783.5-27.9L512 239.9l339.8 588.2H172.2z"}}]},name:"warning",theme:"outlined"};var a=r(5837),s=function(e,t){return i.createElement(a.A,(0,n.A)({},e,{ref:t,icon:o}))};let l=i.forwardRef(s)},11820:function(e,t,r){"use strict";r.d(t,{$e:()=>h,Em:()=>g,P3:()=>d,al:()=>v,cM:()=>m,lf:()=>_,yf:()=>y});var n=r(46363),i=r(99828),o=r(68778),a=r(58451),s=r(21843),l=r(36216),u=r(22155),c=r(12893);function f(e){return e.replace(/-(.)/g,function(e,t){return t.toUpperCase()})}function h(e,t){(0,l.Ay)(e,"[@ant-design/icons] ".concat(t))}function d(e){return"object"===(0,i.A)(e)&&"string"==typeof e.name&&"string"==typeof e.theme&&("object"===(0,i.A)(e.icon)||"function"==typeof e.icon)}function p(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};return Object.keys(e).reduce(function(t,r){var n=e[r];return"class"===r?(t.className=n,delete t.class):(delete t[r],t[f(r)]=n),t},{})}function m(e,t,r){return r?u.createElement(e.tag,(0,n.A)((0,n.A)({key:t},p(e.attrs)),r),(e.children||[]).map(function(r,n){return m(r,"".concat(t,"-").concat(e.tag,"-").concat(n))})):u.createElement(e.tag,(0,n.A)({key:t},p(e.attrs)),(e.children||[]).map(function(r,n){return m(r,"".concat(t,"-").concat(e.tag,"-").concat(n))}))}function g(e){return(0,o.cM)(e)[0]}function v(e){return e?Array.isArray(e)?e:[e]:[]}var y={width:"1em",height:"1em",fill:"currentColor","aria-hidden":"true",focusable:"false"},b="\n.anticon {\n display: inline-flex;\n align-items: center;\n color: inherit;\n font-style: normal;\n line-height: 0;\n text-align: center;\n text-transform: none;\n vertical-align: -0.125em;\n text-rendering: optimizeLegibility;\n -webkit-font-smoothing: antialiased;\n -moz-osx-font-smoothing: grayscale;\n}\n\n.anticon > * {\n line-height: 1;\n}\n\n.anticon svg {\n display: inline-block;\n}\n\n.anticon::before {\n display: none;\n}\n\n.anticon .anticon-icon {\n display: block;\n}\n\n.anticon[tabindex] {\n cursor: pointer;\n}\n\n.anticon-spin::before,\n.anticon-spin {\n display: inline-block;\n -webkit-animation: loadingCircle 1s infinite linear;\n animation: loadingCircle 1s infinite linear;\n}\n\n@-webkit-keyframes loadingCircle {\n 100% {\n -webkit-transform: rotate(360deg);\n transform: rotate(360deg);\n }\n}\n\n@keyframes loadingCircle {\n 100% {\n -webkit-transform: rotate(360deg);\n transform: rotate(360deg);\n }\n}\n",_=function(e){var t=(0,u.useContext)(c.A),r=t.csp,n=t.prefixCls,i=b;n&&(i=i.replace(/anticon/g,n)),(0,u.useEffect)(function(){var t=e.current,n=(0,s.j)(t);(0,a.BD)(i,"@ant-design-icons",{prepend:!0,csp:r,attachTo:n})},[])}},18956:function(e,t,r){"use strict";r.d(t,{H:()=>f,K6:()=>o,Me:()=>u,Ob:()=>c,YL:()=>s,_:()=>i,g8:()=>p,n6:()=>d,oS:()=>m,wE:()=>l});var n=r(60024);function i(e,t,r){return{r:255*(0,n.Cg)(e,255),g:255*(0,n.Cg)(t,255),b:255*(0,n.Cg)(r,255)}}function o(e,t,r){e=(0,n.Cg)(e,255);var i=Math.max(e,t=(0,n.Cg)(t,255),r=(0,n.Cg)(r,255)),o=Math.min(e,t,r),a=0,s=0,l=(i+o)/2;if(i===o)s=0,a=0;else{var u=i-o;switch(s=l>.5?u/(2-i-o):u/(i+o),i){case e:a=(t-r)/u+6*(t<r);break;case t:a=(r-e)/u+2;break;case r:a=(e-t)/u+4}a/=6}return{h:a,s:s,l:l}}function a(e,t,r){return(r<0&&(r+=1),r>1&&(r-=1),r<1/6)?e+6*r*(t-e):r<.5?t:r<2/3?e+(t-e)*(2/3-r)*6:e}function s(e,t,r){if(e=(0,n.Cg)(e,360),t=(0,n.Cg)(t,100),r=(0,n.Cg)(r,100),0===t)o=r,s=r,i=r;else{var i,o,s,l=r<.5?r*(1+t):r+t-r*t,u=2*r-l;i=a(u,l,e+1/3),o=a(u,l,e),s=a(u,l,e-1/3)}return{r:255*i,g:255*o,b:255*s}}function l(e,t,r){e=(0,n.Cg)(e,255);var i=Math.max(e,t=(0,n.Cg)(t,255),r=(0,n.Cg)(r,255)),o=Math.min(e,t,r),a=0,s=i,l=i-o,u=0===i?0:l/i;if(i===o)a=0;else{switch(i){case e:a=(t-r)/l+6*(t<r);break;case t:a=(r-e)/l+2;break;case r:a=(e-t)/l+4}a/=6}return{h:a,s:u,v:s}}function u(e,t,r){e=6*(0,n.Cg)(e,360),t=(0,n.Cg)(t,100),r=(0,n.Cg)(r,100);var i=Math.floor(e),o=e-i,a=r*(1-t),s=r*(1-o*t),l=r*(1-(1-o)*t),u=i%6;return{r:255*[r,s,a,a,l,r][u],g:255*[l,r,r,s,a,a][u],b:255*[a,a,l,r,r,s][u]}}function c(e,t,r,i){var o=[(0,n.wl)(Math.round(e).toString(16)),(0,n.wl)(Math.round(t).toString(16)),(0,n.wl)(Math.round(r).toString(16))];return i&&o[0].startsWith(o[0].charAt(1))&&o[1].startsWith(o[1].charAt(1))&&o[2].startsWith(o[2].charAt(1))?o[0].charAt(0)+o[1].charAt(0)+o[2].charAt(0):o.join("")}function f(e,t,r,i,o){var a=[(0,n.wl)(Math.round(e).toString(16)),(0,n.wl)(Math.round(t).toString(16)),(0,n.wl)(Math.round(r).toString(16)),(0,n.wl)(h(i))];return o&&a[0].startsWith(a[0].charAt(1))&&a[1].startsWith(a[1].charAt(1))&&a[2].startsWith(a[2].charAt(1))&&a[3].startsWith(a[3].charAt(1))?a[0].charAt(0)+a[1].charAt(0)+a[2].charAt(0)+a[3].charAt(0):a.join("")}function h(e){return Math.round(255*parseFloat(e)).toString(16)}function d(e){return p(e)/255}function p(e){return parseInt(e,16)}function m(e){return{r:e>>16,g:(65280&e)>>8,b:255&e}}},60718:function(e,t,r){"use strict";r.d(t,{D:()=>n});var n={aliceblue:"#f0f8ff",antiquewhite:"#faebd7",aqua:"#00ffff",aquamarine:"#7fffd4",azure:"#f0ffff",beige:"#f5f5dc",bisque:"#ffe4c4",black:"#000000",blanchedalmond:"#ffebcd",blue:"#0000ff",blueviolet:"#8a2be2",brown:"#a52a2a",burlywood:"#deb887",cadetblue:"#5f9ea0",chartreuse:"#7fff00",chocolate:"#d2691e",coral:"#ff7f50",cornflowerblue:"#6495ed",cornsilk:"#fff8dc",crimson:"#dc143c",cyan:"#00ffff",darkblue:"#00008b",darkcyan:"#008b8b",darkgoldenrod:"#b8860b",darkgray:"#a9a9a9",darkgreen:"#006400",darkgrey:"#a9a9a9",darkkhaki:"#bdb76b",darkmagenta:"#8b008b",darkolivegreen:"#556b2f",darkorange:"#ff8c00",darkorchid:"#9932cc",darkred:"#8b0000",darksalmon:"#e9967a",darkseagreen:"#8fbc8f",darkslateblue:"#483d8b",darkslategray:"#2f4f4f",darkslategrey:"#2f4f4f",darkturquoise:"#00ced1",darkviolet:"#9400d3",deeppink:"#ff1493",deepskyblue:"#00bfff",dimgray:"#696969",dimgrey:"#696969",dodgerblue:"#1e90ff",firebrick:"#b22222",floralwhite:"#fffaf0",forestgreen:"#228b22",fuchsia:"#ff00ff",gainsboro:"#dcdcdc",ghostwhite:"#f8f8ff",goldenrod:"#daa520",gold:"#ffd700",gray:"#808080",green:"#008000",greenyellow:"#adff2f",grey:"#808080",honeydew:"#f0fff0",hotpink:"#ff69b4",indianred:"#cd5c5c",indigo:"#4b0082",ivory:"#fffff0",khaki:"#f0e68c",lavenderblush:"#fff0f5",lavender:"#e6e6fa",lawngreen:"#7cfc00",lemonchiffon:"#fffacd",lightblue:"#add8e6",lightcoral:"#f08080",lightcyan:"#e0ffff",lightgoldenrodyellow:"#fafad2",lightgray:"#d3d3d3",lightgreen:"#90ee90",lightgrey:"#d3d3d3",lightpink:"#ffb6c1",lightsalmon:"#ffa07a",lightseagreen:"#20b2aa",lightskyblue:"#87cefa",lightslategray:"#778899",lightslategrey:"#778899",lightsteelblue:"#b0c4de",lightyellow:"#ffffe0",lime:"#00ff00",limegreen:"#32cd32",linen:"#faf0e6",magenta:"#ff00ff",maroon:"#800000",mediumaquamarine:"#66cdaa",mediumblue:"#0000cd",mediumorchid:"#ba55d3",mediumpurple:"#9370db",mediumseagreen:"#3cb371",mediumslateblue:"#7b68ee",mediumspringgreen:"#00fa9a",mediumturquoise:"#48d1cc",mediumvioletred:"#c71585",midnightblue:"#191970",mintcream:"#f5fffa",mistyrose:"#ffe4e1",moccasin:"#ffe4b5",navajowhite:"#ffdead",navy:"#000080",oldlace:"#fdf5e6",olive:"#808000",olivedrab:"#6b8e23",orange:"#ffa500",orangered:"#ff4500",orchid:"#da70d6",palegoldenrod:"#eee8aa",palegreen:"#98fb98",paleturquoise:"#afeeee",palevioletred:"#db7093",papayawhip:"#ffefd5",peachpuff:"#ffdab9",peru:"#cd853f",pink:"#ffc0cb",plum:"#dda0dd",powderblue:"#b0e0e6",purple:"#800080",rebeccapurple:"#663399",red:"#ff0000",rosybrown:"#bc8f8f",royalblue:"#4169e1",saddlebrown:"#8b4513",salmon:"#fa8072",sandybrown:"#f4a460",seagreen:"#2e8b57",seashell:"#fff5ee",sienna:"#a0522d",silver:"#c0c0c0",skyblue:"#87ceeb",slateblue:"#6a5acd",slategray:"#708090",slategrey:"#708090",snow:"#fffafa",springgreen:"#00ff7f",steelblue:"#4682b4",tan:"#d2b48c",teal:"#008080",thistle:"#d8bfd8",tomato:"#ff6347",turquoise:"#40e0d0",violet:"#ee82ee",wheat:"#f5deb3",white:"#ffffff",whitesmoke:"#f5f5f5",yellow:"#ffff00",yellowgreen:"#9acd32"}},57358:function(e,t,r){"use strict";r.d(t,{RO:()=>a});var n=r(18956),i=r(60718),o=r(60024);function a(e){var t={r:0,g:0,b:0},r=1,i=null,a=null,s=null,l=!1,u=!1;return"string"==typeof e&&(e=d(e)),"object"==typeof e&&(p(e.r)&&p(e.g)&&p(e.b)?(t=(0,n._)(e.r,e.g,e.b),l=!0,u="%"===String(e.r).substr(-1)?"prgb":"rgb"):p(e.h)&&p(e.s)&&p(e.v)?(i=(0,o.Px)(e.s),a=(0,o.Px)(e.v),t=(0,n.Me)(e.h,i,a),l=!0,u="hsv"):p(e.h)&&p(e.s)&&p(e.l)&&(i=(0,o.Px)(e.s),s=(0,o.Px)(e.l),t=(0,n.YL)(e.h,i,s),l=!0,u="hsl"),Object.prototype.hasOwnProperty.call(e,"a")&&(r=e.a)),r=(0,o.TV)(r),{ok:l,format:e.format||u,r:Math.min(255,Math.max(t.r,0)),g:Math.min(255,Math.max(t.g,0)),b:Math.min(255,Math.max(t.b,0)),a:r}}var s="[-\\+]?\\d+%?",l="[-\\+]?\\d*\\.\\d+%?",u="(?:".concat(l,")|(?:").concat(s,")"),c="[\\s|\\(]+(".concat(u,")[,|\\s]+(").concat(u,")[,|\\s]+(").concat(u,")\\s*\\)?"),f="[\\s|\\(]+(".concat(u,")[,|\\s]+(").concat(u,")[,|\\s]+(").concat(u,")[,|\\s]+(").concat(u,")\\s*\\)?"),h={CSS_UNIT:new RegExp(u),rgb:RegExp("rgb"+c),rgba:RegExp("rgba"+f),hsl:RegExp("hsl"+c),hsla:RegExp("hsla"+f),hsv:RegExp("hsv"+c),hsva:RegExp("hsva"+f),hex3:/^#?([0-9a-fA-F]{1})([0-9a-fA-F]{1})([0-9a-fA-F]{1})$/,hex6:/^#?([0-9a-fA-F]{2})([0-9a-fA-F]{2})([0-9a-fA-F]{2})$/,hex4:/^#?([0-9a-fA-F]{1})([0-9a-fA-F]{1})([0-9a-fA-F]{1})([0-9a-fA-F]{1})$/,hex8:/^#?([0-9a-fA-F]{2})([0-9a-fA-F]{2})([0-9a-fA-F]{2})([0-9a-fA-F]{2})$/};function d(e){if(0===(e=e.trim().toLowerCase()).length)return!1;var t=!1;if(i.D[e])e=i.D[e],t=!0;else if("transparent"===e)return{r:0,g:0,b:0,a:0,format:"name"};var r=h.rgb.exec(e);return r?{r:r[1],g:r[2],b:r[3]}:(r=h.rgba.exec(e))?{r:r[1],g:r[2],b:r[3],a:r[4]}:(r=h.hsl.exec(e))?{h:r[1],s:r[2],l:r[3]}:(r=h.hsla.exec(e))?{h:r[1],s:r[2],l:r[3],a:r[4]}:(r=h.hsv.exec(e))?{h:r[1],s:r[2],v:r[3]}:(r=h.hsva.exec(e))?{h:r[1],s:r[2],v:r[3],a:r[4]}:(r=h.hex8.exec(e))?{r:(0,n.g8)(r[1]),g:(0,n.g8)(r[2]),b:(0,n.g8)(r[3]),a:(0,n.n6)(r[4]),format:t?"name":"hex8"}:(r=h.hex6.exec(e))?{r:(0,n.g8)(r[1]),g:(0,n.g8)(r[2]),b:(0,n.g8)(r[3]),format:t?"name":"hex"}:(r=h.hex4.exec(e))?{r:(0,n.g8)(r[1]+r[1]),g:(0,n.g8)(r[2]+r[2]),b:(0,n.g8)(r[3]+r[3]),a:(0,n.n6)(r[4]+r[4]),format:t?"name":"hex8"}:!!(r=h.hex3.exec(e))&&{r:(0,n.g8)(r[1]+r[1]),g:(0,n.g8)(r[2]+r[2]),b:(0,n.g8)(r[3]+r[3]),format:t?"name":"hex"}}function p(e){return!!h.CSS_UNIT.exec(String(e))}},32006:function(e,t,r){"use strict";r.d(t,{q:()=>s});var n=r(18956),i=r(60718),o=r(57358),a=r(60024),s=function(){function e(t,r){if(void 0===t&&(t=""),void 0===r&&(r={}),t instanceof e)return t;"number"==typeof t&&(t=(0,n.oS)(t)),this.originalInput=t;var i,a=(0,o.RO)(t);this.originalInput=t,this.r=a.r,this.g=a.g,this.b=a.b,this.a=a.a,this.roundA=Math.round(100*this.a)/100,this.format=null!=(i=r.format)?i:a.format,this.gradientType=r.gradientType,this.r<1&&(this.r=Math.round(this.r)),this.g<1&&(this.g=Math.round(this.g)),this.b<1&&(this.b=Math.round(this.b)),this.isValid=a.ok}return e.prototype.isDark=function(){return 128>this.getBrightness()},e.prototype.isLight=function(){return!this.isDark()},e.prototype.getBrightness=function(){var e=this.toRgb();return(299*e.r+587*e.g+114*e.b)/1e3},e.prototype.getLuminance=function(){var e,t,r,n=this.toRgb(),i=n.r/255,o=n.g/255,a=n.b/255;return .2126*(e=i<=.03928?i/12.92:Math.pow((i+.055)/1.055,2.4))+.7152*(t=o<=.03928?o/12.92:Math.pow((o+.055)/1.055,2.4))+.0722*(r=a<=.03928?a/12.92:Math.pow((a+.055)/1.055,2.4))},e.prototype.getAlpha=function(){return this.a},e.prototype.setAlpha=function(e){return this.a=(0,a.TV)(e),this.roundA=Math.round(100*this.a)/100,this},e.prototype.isMonochrome=function(){return 0===this.toHsl().s},e.prototype.toHsv=function(){var e=(0,n.wE)(this.r,this.g,this.b);return{h:360*e.h,s:e.s,v:e.v,a:this.a}},e.prototype.toHsvString=function(){var e=(0,n.wE)(this.r,this.g,this.b),t=Math.round(360*e.h),r=Math.round(100*e.s),i=Math.round(100*e.v);return 1===this.a?"hsv(".concat(t,", ").concat(r,"%, ").concat(i,"%)"):"hsva(".concat(t,", ").concat(r,"%, ").concat(i,"%, ").concat(this.roundA,")")},e.prototype.toHsl=function(){var e=(0,n.K6)(this.r,this.g,this.b);return{h:360*e.h,s:e.s,l:e.l,a:this.a}},e.prototype.toHslString=function(){var e=(0,n.K6)(this.r,this.g,this.b),t=Math.round(360*e.h),r=Math.round(100*e.s),i=Math.round(100*e.l);return 1===this.a?"hsl(".concat(t,", ").concat(r,"%, ").concat(i,"%)"):"hsla(".concat(t,", ").concat(r,"%, ").concat(i,"%, ").concat(this.roundA,")")},e.prototype.toHex=function(e){return void 0===e&&(e=!1),(0,n.Ob)(this.r,this.g,this.b,e)},e.prototype.toHexString=function(e){return void 0===e&&(e=!1),"#"+this.toHex(e)},e.prototype.toHex8=function(e){return void 0===e&&(e=!1),(0,n.H)(this.r,this.g,this.b,this.a,e)},e.prototype.toHex8String=function(e){return void 0===e&&(e=!1),"#"+this.toHex8(e)},e.prototype.toHexShortString=function(e){return void 0===e&&(e=!1),1===this.a?this.toHexString(e):this.toHex8String(e)},e.prototype.toRgb=function(){return{r:Math.round(this.r),g:Math.round(this.g),b:Math.round(this.b),a:this.a}},e.prototype.toRgbString=function(){var e=Math.round(this.r),t=Math.round(this.g),r=Math.round(this.b);return 1===this.a?"rgb(".concat(e,", ").concat(t,", ").concat(r,")"):"rgba(".concat(e,", ").concat(t,", ").concat(r,", ").concat(this.roundA,")")},e.prototype.toPercentageRgb=function(){var e=function(e){return"".concat(Math.round(100*(0,a.Cg)(e,255)),"%")};return{r:e(this.r),g:e(this.g),b:e(this.b),a:this.a}},e.prototype.toPercentageRgbString=function(){var e=function(e){return Math.round(100*(0,a.Cg)(e,255))};return 1===this.a?"rgb(".concat(e(this.r),"%, ").concat(e(this.g),"%, ").concat(e(this.b),"%)"):"rgba(".concat(e(this.r),"%, ").concat(e(this.g),"%, ").concat(e(this.b),"%, ").concat(this.roundA,")")},e.prototype.toName=function(){if(0===this.a)return"transparent";if(this.a<1)return!1;for(var e="#"+(0,n.Ob)(this.r,this.g,this.b,!1),t=0,r=Object.entries(i.D);t<r.length;t++){var o=r[t],a=o[0];if(e===o[1])return a}return!1},e.prototype.toString=function(e){var t=!!e;e=null!=e?e:this.format;var r=!1,n=this.a<1&&this.a>=0;return!t&&n&&(e.startsWith("hex")||"name"===e)?"name"===e&&0===this.a?this.toName():this.toRgbString():("rgb"===e&&(r=this.toRgbString()),"prgb"===e&&(r=this.toPercentageRgbString()),("hex"===e||"hex6"===e)&&(r=this.toHexString()),"hex3"===e&&(r=this.toHexString(!0)),"hex4"===e&&(r=this.toHex8String(!0)),"hex8"===e&&(r=this.toHex8String()),"name"===e&&(r=this.toName()),"hsl"===e&&(r=this.toHslString()),"hsv"===e&&(r=this.toHsvString()),r||this.toHexString())},e.prototype.toNumber=function(){return(Math.round(this.r)<<16)+(Math.round(this.g)<<8)+Math.round(this.b)},e.prototype.clone=function(){return new e(this.toString())},e.prototype.lighten=function(t){void 0===t&&(t=10);var r=this.toHsl();return r.l+=t/100,r.l=(0,a.J$)(r.l),new e(r)},e.prototype.brighten=function(t){void 0===t&&(t=10);var r=this.toRgb();return r.r=Math.max(0,Math.min(255,r.r-Math.round(-(t/100*255)))),r.g=Math.max(0,Math.min(255,r.g-Math.round(-(t/100*255)))),r.b=Math.max(0,Math.min(255,r.b-Math.round(-(t/100*255)))),new e(r)},e.prototype.darken=function(t){void 0===t&&(t=10);var r=this.toHsl();return r.l-=t/100,r.l=(0,a.J$)(r.l),new e(r)},e.prototype.tint=function(e){return void 0===e&&(e=10),this.mix("white",e)},e.prototype.shade=function(e){return void 0===e&&(e=10),this.mix("black",e)},e.prototype.desaturate=function(t){void 0===t&&(t=10);var r=this.toHsl();return r.s-=t/100,r.s=(0,a.J$)(r.s),new e(r)},e.prototype.saturate=function(t){void 0===t&&(t=10);var r=this.toHsl();return r.s+=t/100,r.s=(0,a.J$)(r.s),new e(r)},e.prototype.greyscale=function(){return this.desaturate(100)},e.prototype.spin=function(t){var r=this.toHsl(),n=(r.h+t)%360;return r.h=n<0?360+n:n,new e(r)},e.prototype.mix=function(t,r){void 0===r&&(r=50);var n=this.toRgb(),i=new e(t).toRgb(),o=r/100;return new e({r:(i.r-n.r)*o+n.r,g:(i.g-n.g)*o+n.g,b:(i.b-n.b)*o+n.b,a:(i.a-n.a)*o+n.a})},e.prototype.analogous=function(t,r){void 0===t&&(t=6),void 0===r&&(r=30);var n=this.toHsl(),i=360/r,o=[this];for(n.h=(n.h-(i*t>>1)+720)%360;--t;)n.h=(n.h+i)%360,o.push(new e(n));return o},e.prototype.complement=function(){var t=this.toHsl();return t.h=(t.h+180)%360,new e(t)},e.prototype.monochromatic=function(t){void 0===t&&(t=6);for(var r=this.toHsv(),n=r.h,i=r.s,o=r.v,a=[],s=1/t;t--;)a.push(new e({h:n,s:i,v:o})),o=(o+s)%1;return a},e.prototype.splitcomplement=function(){var t=this.toHsl(),r=t.h;return[this,new e({h:(r+72)%360,s:t.s,l:t.l}),new e({h:(r+216)%360,s:t.s,l:t.l})]},e.prototype.onBackground=function(t){var r=this.toRgb(),n=new e(t).toRgb(),i=r.a+n.a*(1-r.a);return new e({r:(r.r*r.a+n.r*n.a*(1-r.a))/i,g:(r.g*r.a+n.g*n.a*(1-r.a))/i,b:(r.b*r.a+n.b*n.a*(1-r.a))/i,a:i})},e.prototype.triad=function(){return this.polyad(3)},e.prototype.tetrad=function(){return this.polyad(4)},e.prototype.polyad=function(t){for(var r=this.toHsl(),n=r.h,i=[this],o=360/t,a=1;a<t;a++)i.push(new e({h:(n+a*o)%360,s:r.s,l:r.l}));return i},e.prototype.equals=function(t){return this.toRgbString()===new e(t).toRgbString()},e}()},60024:function(e,t,r){"use strict";function n(e,t){o(e)&&(e="100%");var r=a(e);return(e=360===t?e:Math.min(t,Math.max(0,parseFloat(e))),r&&(e=parseInt(String(e*t),10)/100),1e-6>Math.abs(e-t))?1:e=360===t?(e<0?e%t+t:e%t)/parseFloat(String(t)):e%t/parseFloat(String(t))}function i(e){return Math.min(1,Math.max(0,e))}function o(e){return"string"==typeof e&&-1!==e.indexOf(".")&&1===parseFloat(e)}function a(e){return"string"==typeof e&&-1!==e.indexOf("%")}function s(e){return(isNaN(e=parseFloat(e))||e<0||e>1)&&(e=1),e}function l(e){return e<=1?"".concat(100*Number(e),"%"):e}function u(e){return 1===e.length?"0"+e:String(e)}r.d(t,{Cg:()=>n,J$:()=>i,Px:()=>l,TV:()=>s,wl:()=>u})},9006:function(e,t,r){"use strict";r.d(t,{A:()=>S});var n=r(53863),i=r(22155),o=r(70316),a=r(19352);r(36216);var s=r(37233);let l=i.createContext(null);var u=r(43904),c=r(28367),f=[];function h(e,t){var r=i.useState(function(){return(0,a.A)()?document.createElement("div"):null}),o=(0,n.A)(r,1)[0],s=i.useRef(!1),h=i.useContext(l),d=i.useState(f),p=(0,n.A)(d,2),m=p[0],g=p[1],v=h||(s.current?void 0:function(e){g(function(t){return[e].concat((0,u.A)(t))})});function y(){o.parentElement||document.body.appendChild(o),s.current=!0}function b(){var e;null==(e=o.parentElement)||e.removeChild(o),s.current=!1}return(0,c.A)(function(){return e?h?h(y):y():b(),b},[e]),(0,c.A)(function(){m.length&&(m.forEach(function(e){return e()}),g(f))},[m]),[o,v]}var d=r(58451);function p(e){var t,r,n="rc-scrollbar-measure-".concat(Math.random().toString(36).substring(7)),i=document.createElement("div");i.id=n;var o=i.style;if(o.position="absolute",o.left="0",o.top="0",o.width="100px",o.height="100px",o.overflow="scroll",e){var a=getComputedStyle(e);o.scrollbarColor=a.scrollbarColor,o.scrollbarWidth=a.scrollbarWidth;var s=getComputedStyle(e,"::-webkit-scrollbar"),l=parseInt(s.width,10),u=parseInt(s.height,10);try{var c=l?"width: ".concat(s.width,";"):"",f=u?"height: ".concat(s.height,";"):"";(0,d.BD)("\n#".concat(n,"::-webkit-scrollbar {\n").concat(c,"\n").concat(f,"\n}"),n)}catch(e){console.error(e),t=l,r=u}}document.body.appendChild(i);var h=e&&t&&!isNaN(t)?t:i.offsetWidth-i.clientWidth,p=e&&r&&!isNaN(r)?r:i.offsetHeight-i.clientHeight;return document.body.removeChild(i),(0,d.m6)(n),{width:h,height:p}}function m(e){return"undefined"!=typeof document&&e&&e instanceof Element?p(e):{width:0,height:0}}function g(){return document.body.scrollHeight>(window.innerHeight||document.documentElement.clientHeight)&&window.innerWidth>document.body.offsetWidth}var v="rc-util-locker-".concat(Date.now()),y=0;function b(e){var t=!!e,r=i.useState(function(){return y+=1,"".concat(v,"_").concat(y)}),o=(0,n.A)(r,1)[0];(0,c.A)(function(){if(t){var e=m(document.body).width,r=g();(0,d.BD)("\nhtml body {\n overflow-y: hidden;\n ".concat(r?"width: calc(100% - ".concat(e,"px);"):"","\n}"),o)}else(0,d.m6)(o);return function(){(0,d.m6)(o)}},[t,o])}var _=!1;function w(e){return"boolean"==typeof e&&(_=e),_}var x=function(e){return!1!==e&&((0,a.A)()&&e?"string"==typeof e?document.querySelector(e):"function"==typeof e?e():e:null)};let S=i.forwardRef(function(e,t){var r=e.open,u=e.autoLock,c=e.getContainer,f=e.debug,d=e.autoDestroy,p=void 0===d||d,m=e.children,g=i.useState(r),v=(0,n.A)(g,2),y=v[0],_=v[1],S=y||r;i.useEffect(function(){(p||r)&&_(r)},[r,p]);var A=i.useState(function(){return x(c)}),E=(0,n.A)(A,2),C=E[0],O=E[1];i.useEffect(function(){var e=x(c);O(null!=e?e:null)});var k=h(S&&!C,f),I=(0,n.A)(k,2),T=I[0],P=I[1],M=null!=C?C:T;b(u&&r&&(0,a.A)()&&(M===T||M===document.body));var R=null;m&&(0,s.f3)(m)&&t&&(R=m.ref);var $=(0,s.xK)(R,t);if(!S||!(0,a.A)()||void 0===C)return null;var j=!1===M||w(),N=m;return t&&(N=i.cloneElement(m,{ref:$})),i.createElement(l.Provider,{value:P},j?N:(0,o.createPortal)(N,M))})},74521:function(e,t,r){"use strict";r.d(t,{A:()=>q});var n=r(46363),i=r(53863),o=r(21313),a=r(9006),s=r(38487),l=r.n(s),u=r(34903),c=r(62634),f=r(21843),h=r(41186),d=r(94121),p=r(28367),m=r(84080),g=r(22155),v=r(62128),y=r(14309),b=r(37233);function _(e){var t=e.prefixCls,r=e.align,n=e.arrow,i=e.arrowPos,o=n||{},a=o.className,s=o.content,u=i.x,c=void 0===u?0:u,f=i.y,h=void 0===f?0:f,d=g.useRef();if(!r||!r.points)return null;var p={position:"absolute"};if(!1!==r.autoArrow){var m=r.points[0],v=r.points[1],y=m[0],b=m[1],_=v[0],w=v[1];y!==_&&["t","b"].includes(y)?"t"===y?p.top=0:p.bottom=0:p.top=h,b!==w&&["l","r"].includes(b)?"l"===b?p.left=0:p.right=0:p.left=c}return g.createElement("div",{ref:d,className:l()("".concat(t,"-arrow"),a),style:p},s)}function w(e){var t=e.prefixCls,r=e.open,n=e.zIndex,i=e.mask,o=e.motion;return i?g.createElement(y.Ay,(0,v.A)({},o,{motionAppear:!0,visible:r,removeOnLeave:!0}),function(e){var r=e.className;return g.createElement("div",{style:{zIndex:n},className:l()("".concat(t,"-mask"),r)})}):null}let x=g.memo(function(e){return e.children},function(e,t){return t.cache}),S=g.forwardRef(function(e,t){var r=e.popup,o=e.className,a=e.prefixCls,s=e.style,c=e.target,f=e.onVisibleChanged,h=e.open,d=e.keepDom,m=e.fresh,S=e.onClick,A=e.mask,E=e.arrow,C=e.arrowPos,O=e.align,k=e.motion,I=e.maskMotion,T=e.forceRender,P=e.getPopupContainer,M=e.autoDestroy,R=e.portal,$=e.zIndex,j=e.onMouseEnter,N=e.onMouseLeave,B=e.onPointerEnter,L=e.ready,z=e.offsetX,F=e.offsetY,D=e.offsetR,U=e.offsetB,H=e.onAlign,G=e.onPrepare,W=e.stretch,V=e.targetWidth,q=e.targetHeight,X="function"==typeof r?r():r,Y=h||d,Z=(null==P?void 0:P.length)>0,K=g.useState(!P||!Z),J=(0,i.A)(K,2),Q=J[0],ee=J[1];if((0,p.A)(function(){!Q&&Z&&c&&ee(!0)},[Q,Z,c]),!Q)return null;var et="auto",er={left:"-1000vw",top:"-1000vh",right:et,bottom:et};if(L||!h){var en,ei=O.points,eo=O.dynamicInset||(null==(en=O._experimental)?void 0:en.dynamicInset),ea=eo&&"r"===ei[0][1],es=eo&&"b"===ei[0][0];ea?(er.right=D,er.left=et):(er.left=z,er.right=et),es?(er.bottom=U,er.top=et):(er.top=F,er.bottom=et)}var el={};return W&&(W.includes("height")&&q?el.height=q:W.includes("minHeight")&&q&&(el.minHeight=q),W.includes("width")&&V?el.width=V:W.includes("minWidth")&&V&&(el.minWidth=V)),h||(el.pointerEvents="none"),g.createElement(R,{open:T||Y,getContainer:P&&function(){return P(c)},autoDestroy:M},g.createElement(w,{prefixCls:a,open:h,zIndex:$,mask:A,motion:I}),g.createElement(u.A,{onResize:H,disabled:!h},function(e){return g.createElement(y.Ay,(0,v.A)({motionAppear:!0,motionEnter:!0,motionLeave:!0,removeOnLeave:!1,forceRender:T,leavedClassName:"".concat(a,"-hidden")},k,{onAppearPrepare:G,onEnterPrepare:G,visible:h,onVisibleChanged:function(e){var t;null==k||null==(t=k.onVisibleChanged)||t.call(k,e),f(e)}}),function(r,i){var u=r.className,c=r.style,f=l()(a,u,o);return g.createElement("div",{ref:(0,b.K4)(e,t,i),className:f,style:(0,n.A)((0,n.A)((0,n.A)((0,n.A)({"--arrow-x":"".concat(C.x||0,"px"),"--arrow-y":"".concat(C.y||0,"px")},er),el),c),{},{boxSizing:"border-box",zIndex:$},s),onMouseEnter:j,onMouseLeave:N,onPointerEnter:B,onClick:S},E&&g.createElement(_,{prefixCls:a,arrow:E,arrowPos:C,align:O}),g.createElement(x,{cache:!h&&!m},X))})}))}),A=g.forwardRef(function(e,t){var r=e.children,n=e.getTriggerDOMNode,i=(0,b.f3)(r),o=g.useCallback(function(e){(0,b.Xf)(t,n?n(e):e)},[n]),a=(0,b.xK)(o,r.ref);return i?g.cloneElement(r,{ref:a}):r}),E=g.createContext(null);function C(e){return e?Array.isArray(e)?e:[e]:[]}function O(e,t,r,n){return g.useMemo(function(){var i=C(null!=r?r:t),o=C(null!=n?n:t),a=new Set(i),s=new Set(o);return e&&(a.has("hover")&&(a.delete("hover"),a.add("click")),s.has("hover")&&(s.delete("hover"),s.add("click"))),[a,s]},[e,t,r,n])}var k=r(49677);function I(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:[],t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:[],r=arguments.length>2?arguments[2]:void 0;return r?e[0]===t[0]:e[0]===t[0]&&e[1]===t[1]}function T(e,t,r,n){for(var i=r.points,o=Object.keys(e),a=0;a<o.length;a+=1){var s,l=o[a];if(I(null==(s=e[l])?void 0:s.points,i,n))return"".concat(t,"-placement-").concat(l)}return""}function P(e,t,r,n){return t||(r?{motionName:"".concat(e,"-").concat(r)}:n?{motionName:n}:null)}function M(e){return e.ownerDocument.defaultView}function R(e){for(var t=[],r=null==e?void 0:e.parentElement,n=["hidden","scroll","clip","auto"];r;){var i=M(r).getComputedStyle(r);[i.overflowX,i.overflowY,i.overflow].some(function(e){return n.includes(e)})&&t.push(r),r=r.parentElement}return t}function $(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:1;return Number.isNaN(e)?t:e}function j(e){return $(parseFloat(e),0)}function N(e,t){var r=(0,n.A)({},e);return(t||[]).forEach(function(e){if(!(e instanceof HTMLBodyElement||e instanceof HTMLHtmlElement)){var t=M(e).getComputedStyle(e),n=t.overflow,i=t.overflowClipMargin,o=t.borderTopWidth,a=t.borderBottomWidth,s=t.borderLeftWidth,l=t.borderRightWidth,u=e.getBoundingClientRect(),c=e.offsetHeight,f=e.clientHeight,h=e.offsetWidth,d=e.clientWidth,p=j(o),m=j(a),g=j(s),v=j(l),y=$(Math.round(u.width/h*1e3)/1e3),b=$(Math.round(u.height/c*1e3)/1e3),_=(h-d-g-v)*y,w=(c-f-p-m)*b,x=p*b,S=m*b,A=g*y,E=v*y,C=0,O=0;if("clip"===n){var k=j(i);C=k*y,O=k*b}var I=u.x+A-C,T=u.y+x-O,P=I+u.width+2*C-A-E-_,R=T+u.height+2*O-x-S-w;r.left=Math.max(r.left,I),r.top=Math.max(r.top,T),r.right=Math.min(r.right,P),r.bottom=Math.min(r.bottom,R)}}),r}function B(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:0,r="".concat(t),n=r.match(/^(.*)\%$/);return n?e*(parseFloat(n[1])/100):parseFloat(r)}function L(e,t){var r=t||[],n=(0,i.A)(r,2),o=n[0],a=n[1];return[B(e.width,o),B(e.height,a)]}function z(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:"";return[e[0],e[1]]}function F(e,t){var r,n,i=t[0],o=t[1];return n="t"===i?e.y:"b"===i?e.y+e.height:e.y+e.height/2,{x:r="l"===o?e.x:"r"===o?e.x+e.width:e.x+e.width/2,y:n}}function D(e,t){var r={t:"b",b:"t",l:"r",r:"l"};return e.map(function(e,n){return n===t?r[e]||"c":e}).join("")}function U(e,t,r,o,a,s,l){var u=g.useState({ready:!1,offsetX:0,offsetY:0,offsetR:0,offsetB:0,arrowX:0,arrowY:0,scaleX:1,scaleY:1,align:a[o]||{}}),f=(0,i.A)(u,2),d=f[0],m=f[1],v=g.useRef(0),y=g.useMemo(function(){return t?R(t):[]},[t]),b=g.useRef({}),_=function(){b.current={}};e||_();var w=(0,h.A)(function(){if(t&&r&&e){var u,f,h,d,p=t,g=p.ownerDocument,v=M(p).getComputedStyle(p),_=v.width,w=v.height,x=v.position,S=p.style.left,A=p.style.top,E=p.style.right,C=p.style.bottom,O=p.style.overflow,I=(0,n.A)((0,n.A)({},a[o]),s),T=g.createElement("div");if(null==(P=p.parentElement)||P.appendChild(T),T.style.left="".concat(p.offsetLeft,"px"),T.style.top="".concat(p.offsetTop,"px"),T.style.position=x,T.style.height="".concat(p.offsetHeight,"px"),T.style.width="".concat(p.offsetWidth,"px"),p.style.left="0",p.style.top="0",p.style.right="auto",p.style.bottom="auto",p.style.overflow="hidden",Array.isArray(r))U={x:r[0],y:r[1],width:0,height:0};else{var P,R,j,B,U,H,G,W=r.getBoundingClientRect();W.x=null!=(H=W.x)?H:W.left,W.y=null!=(G=W.y)?G:W.top,U={x:W.x,y:W.y,width:W.width,height:W.height}}var V=p.getBoundingClientRect();V.x=null!=(R=V.x)?R:V.left,V.y=null!=(j=V.y)?j:V.top;var q=g.documentElement,X=q.clientWidth,Y=q.clientHeight,Z=q.scrollWidth,K=q.scrollHeight,J=q.scrollTop,Q=q.scrollLeft,ee=V.height,et=V.width,er=U.height,en=U.width,ei={left:0,top:0,right:X,bottom:Y},eo={left:-Q,top:-J,right:Z-Q,bottom:K-J},ea=I.htmlRegion,es="visible",el="visibleFirst";"scroll"!==ea&&ea!==el&&(ea=es);var eu=ea===el,ec=N(eo,y),ef=N(ei,y),eh=ea===es?ef:ec,ed=eu?ef:eh;p.style.left="auto",p.style.top="auto",p.style.right="0",p.style.bottom="0";var ep=p.getBoundingClientRect();p.style.left=S,p.style.top=A,p.style.right=E,p.style.bottom=C,p.style.overflow=O,null==(B=p.parentElement)||B.removeChild(T);var em=$(Math.round(et/parseFloat(_)*1e3)/1e3),eg=$(Math.round(ee/parseFloat(w)*1e3)/1e3);if(!(0===em||0===eg||(0,c.fk)(r)&&!(0,k.A)(r))){var ev=I.offset,ey=I.targetOffset,eb=L(V,ev),e_=(0,i.A)(eb,2),ew=e_[0],ex=e_[1],eS=L(U,ey),eA=(0,i.A)(eS,2),eE=eA[0],eC=eA[1];U.x-=eE,U.y-=eC;var eO=I.points||[],ek=(0,i.A)(eO,2),eI=ek[0],eT=ek[1],eP=z(eT),eM=z(eI),eR=F(U,eP),e$=F(V,eM),ej=(0,n.A)({},I),eN=eR.x-e$.x+ew,eB=eR.y-e$.y+ex,eL=tS(eN,eB),ez=tS(eN,eB,ef),eF=F(U,["t","l"]),eD=F(V,["t","l"]),eU=F(U,["b","r"]),eH=F(V,["b","r"]),eG=I.overflow||{},eW=eG.adjustX,eV=eG.adjustY,eq=eG.shiftX,eX=eG.shiftY,eY=function(e){return"boolean"==typeof e?e:e>=0};tA();var eZ=eY(eV),eK=eM[0]===eP[0];if(eZ&&"t"===eM[0]&&(f>ed.bottom||b.current.bt)){var eJ=eB;eK?eJ-=ee-er:eJ=eF.y-eH.y-ex;var eQ=tS(eN,eJ),e0=tS(eN,eJ,ef);eQ>eL||eQ===eL&&(!eu||e0>=ez)?(b.current.bt=!0,eB=eJ,ex=-ex,ej.points=[D(eM,0),D(eP,0)]):b.current.bt=!1}if(eZ&&"b"===eM[0]&&(u<ed.top||b.current.tb)){var e1=eB;eK?e1+=ee-er:e1=eU.y-eD.y-ex;var e2=tS(eN,e1),e3=tS(eN,e1,ef);e2>eL||e2===eL&&(!eu||e3>=ez)?(b.current.tb=!0,eB=e1,ex=-ex,ej.points=[D(eM,0),D(eP,0)]):b.current.tb=!1}var e5=eY(eW),e4=eM[1]===eP[1];if(e5&&"l"===eM[1]&&(d>ed.right||b.current.rl)){var e6=eN;e4?e6-=et-en:e6=eF.x-eH.x-ew;var e8=tS(e6,eB),e9=tS(e6,eB,ef);e8>eL||e8===eL&&(!eu||e9>=ez)?(b.current.rl=!0,eN=e6,ew=-ew,ej.points=[D(eM,1),D(eP,1)]):b.current.rl=!1}if(e5&&"r"===eM[1]&&(h<ed.left||b.current.lr)){var e7=eN;e4?e7+=et-en:e7=eU.x-eD.x-ew;var te=tS(e7,eB),tt=tS(e7,eB,ef);te>eL||te===eL&&(!eu||tt>=ez)?(b.current.lr=!0,eN=e7,ew=-ew,ej.points=[D(eM,1),D(eP,1)]):b.current.lr=!1}tA();var tr=!0===eq?0:eq;"number"==typeof tr&&(h<ef.left&&(eN-=h-ef.left-ew,U.x+en<ef.left+tr&&(eN+=U.x-ef.left+en-tr)),d>ef.right&&(eN-=d-ef.right-ew,U.x>ef.right-tr&&(eN+=U.x-ef.right+tr)));var tn=!0===eX?0:eX;"number"==typeof tn&&(u<ef.top&&(eB-=u-ef.top-ex,U.y+er<ef.top+tn&&(eB+=U.y-ef.top+er-tn)),f>ef.bottom&&(eB-=f-ef.bottom-ex,U.y>ef.bottom-tn&&(eB+=U.y-ef.bottom+tn)));var ti=V.x+eN,to=ti+et,ta=V.y+eB,ts=ta+ee,tl=U.x,tu=tl+en,tc=U.y,tf=tc+er,th=Math.max(ti,tl),td=Math.min(to,tu),tp=(th+td)/2,tm=tp-ti,tg=Math.max(ta,tc),tv=Math.min(ts,tf),ty=(tg+tv)/2,tb=ty-ta;null==l||l(t,ej);var t_=ep.right-V.x-(eN+V.width),tw=ep.bottom-V.y-(eB+V.height);1===em&&(eN=Math.round(eN),t_=Math.round(t_)),1===eg&&(eB=Math.round(eB),tw=Math.round(tw));var tx={ready:!0,offsetX:eN/em,offsetY:eB/eg,offsetR:t_/em,offsetB:tw/eg,arrowX:tm/em,arrowY:tb/eg,scaleX:em,scaleY:eg,align:ej};m(tx)}function tS(e,t){var r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:eh,n=V.x+e,i=V.y+t,o=n+et,a=i+ee,s=Math.max(n,r.left),l=Math.max(i,r.top);return Math.max(0,(Math.min(o,r.right)-s)*(Math.min(a,r.bottom)-l))}function tA(){f=(u=V.y+eB)+ee,d=(h=V.x+eN)+et}}}),x=function(){v.current+=1;var e=v.current;Promise.resolve().then(function(){v.current===e&&w()})},S=function(){m(function(e){return(0,n.A)((0,n.A)({},e),{},{ready:!1})})};return(0,p.A)(S,[o]),(0,p.A)(function(){e||S()},[e]),[d.ready,d.offsetX,d.offsetY,d.offsetR,d.offsetB,d.arrowX,d.arrowY,d.scaleX,d.scaleY,d.align,x]}var H=r(43904);function G(e,t,r,n,i){(0,p.A)(function(){if(e&&t&&r){var o=r,a=R(t),s=R(o),l=M(o),u=new Set([l].concat((0,H.A)(a),(0,H.A)(s)));function c(){n(),i()}return u.forEach(function(e){e.addEventListener("scroll",c,{passive:!0})}),l.addEventListener("resize",c,{passive:!0}),n(),function(){u.forEach(function(e){e.removeEventListener("scroll",c),l.removeEventListener("resize",c)})}}},[e,t,r])}function W(e,t,r,n,i,o,a,s){var l=g.useRef(e);l.current=e,g.useEffect(function(){if(t&&n&&(!i||o)){var e=function(e){var t;l.current&&!a((null==(t=e.composedPath)||null==(t=t.call(e))?void 0:t[0])||e.target)&&s(!1)},u=M(n);u.addEventListener("mousedown",e,!0),u.addEventListener("contextmenu",e,!0);var c=(0,f.j)(r);return c&&(c.addEventListener("mousedown",e,!0),c.addEventListener("contextmenu",e,!0)),function(){u.removeEventListener("mousedown",e,!0),u.removeEventListener("contextmenu",e,!0),c&&(c.removeEventListener("mousedown",e,!0),c.removeEventListener("contextmenu",e,!0))}}},[t,r,n,i,o])}r(36216);var V=["prefixCls","children","action","showAction","hideAction","popupVisible","defaultPopupVisible","onPopupVisibleChange","afterPopupVisibleChange","mouseEnterDelay","mouseLeaveDelay","focusDelay","blurDelay","mask","maskClosable","getPopupContainer","forceRender","autoDestroy","destroyPopupOnHide","popup","popupClassName","popupStyle","popupPlacement","builtinPlacements","popupAlign","zIndex","stretch","getPopupClassNameFromAlign","fresh","alignPoint","onPopupClick","onPopupAlign","arrow","popupMotion","maskMotion","popupTransitionName","popupAnimation","maskTransitionName","maskAnimation","className","getTriggerDOMNode"];let q=function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:a.A;return g.forwardRef(function(t,r){var a,s,v=t.prefixCls,y=void 0===v?"rc-trigger-popup":v,b=t.children,_=t.action,w=void 0===_?"hover":_,x=t.showAction,C=t.hideAction,k=t.popupVisible,I=t.defaultPopupVisible,M=t.onPopupVisibleChange,R=t.afterPopupVisibleChange,$=t.mouseEnterDelay,j=t.mouseLeaveDelay,N=void 0===j?.1:j,B=t.focusDelay,L=t.blurDelay,z=t.mask,F=t.maskClosable,D=void 0===F||F,H=t.getPopupContainer,q=t.forceRender,X=t.autoDestroy,Y=t.destroyPopupOnHide,Z=t.popup,K=t.popupClassName,J=t.popupStyle,Q=t.popupPlacement,ee=t.builtinPlacements,et=void 0===ee?{}:ee,er=t.popupAlign,en=t.zIndex,ei=t.stretch,eo=t.getPopupClassNameFromAlign,ea=t.fresh,es=t.alignPoint,el=t.onPopupClick,eu=t.onPopupAlign,ec=t.arrow,ef=t.popupMotion,eh=t.maskMotion,ed=t.popupTransitionName,ep=t.popupAnimation,em=t.maskTransitionName,eg=t.maskAnimation,ev=t.className,ey=t.getTriggerDOMNode,eb=(0,o.A)(t,V),e_=X||Y||!1,ew=g.useState(!1),ex=(0,i.A)(ew,2),eS=ex[0],eA=ex[1];(0,p.A)(function(){eA((0,m.A)())},[]);var eE=g.useRef({}),eC=g.useContext(E),eO=g.useMemo(function(){return{registerSubPopup:function(e,t){eE.current[e]=t,null==eC||eC.registerSubPopup(e,t)}}},[eC]),ek=(0,d.A)(),eI=g.useState(null),eT=(0,i.A)(eI,2),eP=eT[0],eM=eT[1],eR=g.useRef(null),e$=(0,h.A)(function(e){eR.current=e,(0,c.fk)(e)&&eP!==e&&eM(e),null==eC||eC.registerSubPopup(ek,e)}),ej=g.useState(null),eN=(0,i.A)(ej,2),eB=eN[0],eL=eN[1],ez=g.useRef(null),eF=(0,h.A)(function(e){(0,c.fk)(e)&&eB!==e&&(eL(e),ez.current=e)}),eD=g.Children.only(b),eU=(null==eD?void 0:eD.props)||{},eH={},eG=(0,h.A)(function(e){var t,r,n=eB;return(null==n?void 0:n.contains(e))||(null==(t=(0,f.j)(n))?void 0:t.host)===e||e===n||(null==eP?void 0:eP.contains(e))||(null==(r=(0,f.j)(eP))?void 0:r.host)===e||e===eP||Object.values(eE.current).some(function(t){return(null==t?void 0:t.contains(e))||e===t})}),eW=P(y,ef,ep,ed),eV=P(y,eh,eg,em),eq=g.useState(I||!1),eX=(0,i.A)(eq,2),eY=eX[0],eZ=eX[1],eK=null!=k?k:eY,eJ=(0,h.A)(function(e){void 0===k&&eZ(e)});(0,p.A)(function(){eZ(k||!1)},[k]);var eQ=g.useRef(eK);eQ.current=eK;var e0=g.useRef([]);e0.current=[];var e1=(0,h.A)(function(e){var t;eJ(e),(null!=(t=e0.current[e0.current.length-1])?t:eK)!==e&&(e0.current.push(e),null==M||M(e))}),e2=g.useRef(),e3=function(){clearTimeout(e2.current)},e5=function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:0;e3(),0===t?e1(e):e2.current=setTimeout(function(){e1(e)},1e3*t)};g.useEffect(function(){return e3},[]);var e4=g.useState(!1),e6=(0,i.A)(e4,2),e8=e6[0],e9=e6[1];(0,p.A)(function(e){(!e||eK)&&e9(!0)},[eK]);var e7=g.useState(null),te=(0,i.A)(e7,2),tt=te[0],tr=te[1],tn=g.useState(null),ti=(0,i.A)(tn,2),to=ti[0],ta=ti[1],ts=function(e){ta([e.clientX,e.clientY])},tl=U(eK,eP,es&&null!==to?to:eB,Q,et,er,eu),tu=(0,i.A)(tl,11),tc=tu[0],tf=tu[1],th=tu[2],td=tu[3],tp=tu[4],tm=tu[5],tg=tu[6],tv=tu[7],ty=tu[8],tb=tu[9],t_=tu[10],tw=O(eS,w,x,C),tx=(0,i.A)(tw,2),tS=tx[0],tA=tx[1],tE=tS.has("click"),tC=tA.has("click")||tA.has("contextMenu"),tO=(0,h.A)(function(){e8||t_()});G(eK,eB,eP,tO,function(){eQ.current&&es&&tC&&e5(!1)}),(0,p.A)(function(){tO()},[to,Q]),(0,p.A)(function(){eK&&!(null!=et&&et[Q])&&tO()},[JSON.stringify(er)]);var tk=g.useMemo(function(){var e=T(et,y,tb,es);return l()(e,null==eo?void 0:eo(tb))},[tb,eo,et,y,es]);g.useImperativeHandle(r,function(){return{nativeElement:ez.current,popupElement:eR.current,forceAlign:tO}});var tI=g.useState(0),tT=(0,i.A)(tI,2),tP=tT[0],tM=tT[1],tR=g.useState(0),t$=(0,i.A)(tR,2),tj=t$[0],tN=t$[1],tB=function(){if(ei&&eB){var e=eB.getBoundingClientRect();tM(e.width),tN(e.height)}},tL=function(){tB(),tO()},tz=function(e){e9(!1),t_(),null==R||R(e)},tF=function(){return new Promise(function(e){tB(),tr(function(){return e})})};function tD(e,t,r,n){eH[e]=function(i){var o;null==n||n(i),e5(t,r);for(var a=arguments.length,s=Array(a>1?a-1:0),l=1;l<a;l++)s[l-1]=arguments[l];null==(o=eU[e])||o.call.apply(o,[eU,i].concat(s))}}(0,p.A)(function(){tt&&(t_(),tt(),tr(null))},[tt]),(tE||tC)&&(eH.onClick=function(e){var t;eQ.current&&tC?e5(!1):!eQ.current&&tE&&(ts(e),e5(!0));for(var r=arguments.length,n=Array(r>1?r-1:0),i=1;i<r;i++)n[i-1]=arguments[i];null==(t=eU.onClick)||t.call.apply(t,[eU,e].concat(n))}),W(eK,tC,eB,eP,z,D,eG,e5);var tU=tS.has("hover"),tH=tA.has("hover");tU&&(tD("onMouseEnter",!0,$,function(e){ts(e)}),tD("onPointerEnter",!0,$,function(e){ts(e)}),a=function(e){(eK||e8)&&null!=eP&&eP.contains(e.target)&&e5(!0,$)},es&&(eH.onMouseMove=function(e){var t;null==(t=eU.onMouseMove)||t.call(eU,e)})),tH&&(tD("onMouseLeave",!1,N),tD("onPointerLeave",!1,N),s=function(){e5(!1,N)}),tS.has("focus")&&tD("onFocus",!0,B),tA.has("focus")&&tD("onBlur",!1,L),tS.has("contextMenu")&&(eH.onContextMenu=function(e){var t;eQ.current&&tA.has("contextMenu")?e5(!1):(ts(e),e5(!0)),e.preventDefault();for(var r=arguments.length,n=Array(r>1?r-1:0),i=1;i<r;i++)n[i-1]=arguments[i];null==(t=eU.onContextMenu)||t.call.apply(t,[eU,e].concat(n))}),ev&&(eH.className=l()(eU.className,ev));var tG=(0,n.A)((0,n.A)({},eU),eH),tW={};["onContextMenu","onClick","onMouseDown","onTouchStart","onMouseEnter","onMouseLeave","onFocus","onBlur"].forEach(function(e){eb[e]&&(tW[e]=function(){for(var t,r=arguments.length,n=Array(r),i=0;i<r;i++)n[i]=arguments[i];null==(t=tG[e])||t.call.apply(t,[tG].concat(n)),eb[e].apply(eb,n)})});var tV=g.cloneElement(eD,(0,n.A)((0,n.A)({},tG),tW)),tq={x:tm,y:tg},tX=ec?(0,n.A)({},!0!==ec?ec:{}):null;return g.createElement(g.Fragment,null,g.createElement(u.A,{disabled:!eK,ref:eF,onResize:tL},g.createElement(A,{getTriggerDOMNode:ey},tV)),g.createElement(E.Provider,{value:eO},g.createElement(S,{portal:e,ref:e$,prefixCls:y,popup:Z,className:l()(K,tk),style:J,target:eB,onMouseEnter:a,onMouseLeave:s,onPointerEnter:a,zIndex:en,open:eK,keepDom:e8,fresh:ea,onClick:el,mask:z,motion:eW,maskMotion:eV,onVisibleChanged:tz,onPrepare:tF,forceRender:q,autoDestroy:e_,getPopupContainer:H,align:tb,arrow:tX,arrowPos:tq,ready:tc,offsetX:tf,offsetY:th,offsetR:td,offsetB:tp,onAlign:tO,stretch:ei,targetWidth:tP/tv,targetHeight:tj/ty})))})}(a.A)},36743:function(e,t,r){"use strict";var n=r(8963).Buffer,i=this&&this.__createBinding||(Object.create?function(e,t,r,n){void 0===n&&(n=r);var i=Object.getOwnPropertyDescriptor(t,r);(!i||("get"in i?!t.__esModule:i.writable||i.configurable))&&(i={enumerable:!0,get:function(){return t[r]}}),Object.defineProperty(e,n,i)}:function(e,t,r,n){void 0===n&&(n=r),e[n]=t[r]}),o=this&&this.__setModuleDefault||(Object.create?function(e,t){Object.defineProperty(e,"default",{enumerable:!0,value:t})}:function(e,t){e.default=t}),a=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var r in e)"default"!==r&&Object.prototype.hasOwnProperty.call(e,r)&&i(t,e,r);return o(t,e),t};Object.defineProperty(t,"__esModule",{value:!0}),t.req=t.json=t.toBuffer=void 0;let s=a(r(87069)),l=a(r(84033));async function u(e){let t=0,r=[];for await(let n of e)t+=n.length,r.push(n);return n.concat(r,t)}t.toBuffer=u,t.json=async function(e){let t=(await u(e)).toString("utf8");try{return JSON.parse(t)}catch(r){let e=r;throw e.message+=` (input: ${t})`,e}},t.req=function(e,t={}){let r=(("string"==typeof e?e:e.href).startsWith("https:")?l:s).request(e,t),n=new Promise((e,t)=>{r.once("response",e).once("error",t).end()});return r.then=n.then.bind(n),r}},56406:function(e,t,r){"use strict";var n=this&&this.__createBinding||(Object.create?function(e,t,r,n){void 0===n&&(n=r);var i=Object.getOwnPropertyDescriptor(t,r);(!i||("get"in i?!t.__esModule:i.writable||i.configurable))&&(i={enumerable:!0,get:function(){return t[r]}}),Object.defineProperty(e,n,i)}:function(e,t,r,n){void 0===n&&(n=r),e[n]=t[r]}),i=this&&this.__setModuleDefault||(Object.create?function(e,t){Object.defineProperty(e,"default",{enumerable:!0,value:t})}:function(e,t){e.default=t}),o=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var r in e)"default"!==r&&Object.prototype.hasOwnProperty.call(e,r)&&n(t,e,r);return i(t,e),t},a=this&&this.__exportStar||function(e,t){for(var r in e)"default"===r||Object.prototype.hasOwnProperty.call(t,r)||n(t,e,r)};Object.defineProperty(t,"__esModule",{value:!0}),t.Agent=void 0;let s=o(r(59946)),l=o(r(87069)),u=r(84033);a(r(36743),t);let c=Symbol("AgentBaseInternalState");class f extends l.Agent{constructor(e){super(e),this[c]={}}isSecureEndpoint(e){if(e){if("boolean"==typeof e.secureEndpoint)return e.secureEndpoint;if("string"==typeof e.protocol)return"https:"===e.protocol}let{stack:t}=Error();return"string"==typeof t&&t.split("\n").some(e=>-1!==e.indexOf("(https.js:")||-1!==e.indexOf("node:https:"))}incrementSockets(e){if(this.maxSockets===1/0&&this.maxTotalSockets===1/0)return null;this.sockets[e]||(this.sockets[e]=[]);let t=new s.Socket({writable:!1});return this.sockets[e].push(t),this.totalSocketCount++,t}decrementSockets(e,t){if(!this.sockets[e]||null===t)return;let r=this.sockets[e],n=r.indexOf(t);-1!==n&&(r.splice(n,1),this.totalSocketCount--,0===r.length&&delete this.sockets[e])}getName(e){return("boolean"==typeof e.secureEndpoint?e.secureEndpoint:this.isSecureEndpoint(e))?u.Agent.prototype.getName.call(this,e):super.getName(e)}createSocket(e,t,r){let n={...t,secureEndpoint:this.isSecureEndpoint(t)},i=this.getName(n),o=this.incrementSockets(i);Promise.resolve().then(()=>this.connect(e,n)).then(a=>{if(this.decrementSockets(i,o),a instanceof l.Agent)try{return a.addRequest(e,n)}catch(e){return r(e)}this[c].currentSocket=a,super.createSocket(e,t,r)},e=>{this.decrementSockets(i,o),r(e)})}createConnection(){let e=this[c].currentSocket;if(this[c].currentSocket=void 0,!e)throw Error("No socket was returned in the `connect()` function");return e}get defaultPort(){return this[c].defaultPort??("https:"===this.protocol?443:80)}set defaultPort(e){this[c]&&(this[c].defaultPort=e)}get protocol(){return this[c].protocol??(this.isSecureEndpoint()?"https:":"http:")}set protocol(e){this[c]&&(this[c].protocol=e)}}t.Agent=f},4297:function(e,t,r){"use strict";e=r.nmd(e);let n=10,i=(e=0)=>t=>`\u001B[${38+e};5;${t}m`,o=(e=0)=>(t,r,n)=>`\u001B[${38+e};2;${t};${r};${n}m`;Object.defineProperty(e,"exports",{enumerable:!0,get:function(){let e=new Map,t={modifier:{reset:[0,0],bold:[1,22],dim:[2,22],italic:[3,23],underline:[4,24],overline:[53,55],inverse:[7,27],hidden:[8,28],strikethrough:[9,29]},color:{black:[30,39],red:[31,39],green:[32,39],yellow:[33,39],blue:[34,39],magenta:[35,39],cyan:[36,39],white:[37,39],blackBright:[90,39],redBright:[91,39],greenBright:[92,39],yellowBright:[93,39],blueBright:[94,39],magentaBright:[95,39],cyanBright:[96,39],whiteBright:[97,39]},bgColor:{bgBlack:[40,49],bgRed:[41,49],bgGreen:[42,49],bgYellow:[43,49],bgBlue:[44,49],bgMagenta:[45,49],bgCyan:[46,49],bgWhite:[47,49],bgBlackBright:[100,49],bgRedBright:[101,49],bgGreenBright:[102,49],bgYellowBright:[103,49],bgBlueBright:[104,49],bgMagentaBright:[105,49],bgCyanBright:[106,49],bgWhiteBright:[107,49]}};for(let[r,n]of(t.color.gray=t.color.blackBright,t.bgColor.bgGray=t.bgColor.bgBlackBright,t.color.grey=t.color.blackBright,t.bgColor.bgGrey=t.bgColor.bgBlackBright,Object.entries(t))){for(let[r,i]of Object.entries(n))t[r]={open:`\u001B[${i[0]}m`,close:`\u001B[${i[1]}m`},n[r]=t[r],e.set(i[0],i[1]);Object.defineProperty(t,r,{value:n,enumerable:!1})}return Object.defineProperty(t,"codes",{value:e,enumerable:!1}),t.color.close="\x1b[39m",t.bgColor.close="\x1b[49m",t.color.ansi256=i(),t.color.ansi16m=o(),t.bgColor.ansi256=i(n),t.bgColor.ansi16m=o(n),Object.defineProperties(t,{rgbToAnsi256:{value:(e,t,r)=>e===t&&t===r?e<8?16:e>248?231:Math.round((e-8)/247*24)+232:16+36*Math.round(e/255*5)+6*Math.round(t/255*5)+Math.round(r/255*5),enumerable:!1},hexToRgb:{value:e=>{let t=/(?<colorString>[a-f\d]{6}|[a-f\d]{3})/i.exec(e.toString(16));if(!t)return[0,0,0];let{colorString:r}=t.groups;3===r.length&&(r=r.split("").map(e=>e+e).join(""));let n=Number.parseInt(r,16);return[n>>16&255,n>>8&255,255&n]},enumerable:!1},hexToAnsi256:{value:e=>t.rgbToAnsi256(...t.hexToRgb(e)),enumerable:!1}}),t}})},64419:function(e,t,r){"use strict";r.d(t,{A:()=>a});var n=r(22155),i=r(75983),o=r(51837);let a=e=>{let{space:t,form:r,children:a}=e;if(null==a)return null;let s=a;return r&&(s=n.createElement(i.XB,{override:!0,status:!0},s)),t&&(s=n.createElement(o.K6,null,s)),s}},5103:function(e,t,r){"use strict";r.d(t,{A:()=>l,U:()=>s});var n=r(22155),i=r(88127),o=r(21372),a=r(32649);function s(e){return t=>n.createElement(o.Ay,{theme:{token:{motion:!1,zIndexPopupBase:0}}},n.createElement(e,Object.assign({},t)))}let l=(e,t,r,o)=>s(s=>{let{prefixCls:l,style:u}=s,c=n.useRef(null),[f,h]=n.useState(0),[d,p]=n.useState(0),[m,g]=(0,i.A)(!1,{value:s.open}),{getPrefixCls:v}=n.useContext(a.QO),y=v(t||"select",l);n.useEffect(()=>{if(g(!0),"undefined"!=typeof ResizeObserver){let e=new ResizeObserver(e=>{let t=e[0].target;h(t.offsetHeight+8),p(t.offsetWidth)}),t=setInterval(()=>{var n;let i=r?`.${r(y)}`:`.${y}-dropdown`,o=null==(n=c.current)?void 0:n.querySelector(i);o&&(clearInterval(t),e.observe(o))},10);return()=>{clearInterval(t),e.disconnect()}}},[]);let b=Object.assign(Object.assign({},s),{style:Object.assign(Object.assign({},u),{margin:0}),open:m,visible:m,getPopupContainer:()=>c.current});o&&(b=o(b));let _={paddingBottom:f,position:"relative",minWidth:d};return n.createElement("div",{ref:c,style:_},n.createElement(e,Object.assign({},b)))})},55457:function(e,t,r){"use strict";r.d(t,{A:()=>o});var n=r(22155),i=r(20004);let o=e=>{let t;return"object"==typeof e&&(null==e?void 0:e.clearIcon)?t=e:e&&(t={clearIcon:n.createElement(i.A,null)}),t}},10977:function(e,t,r){"use strict";r.d(t,{YK:()=>c,jH:()=>a});var n=r(22155),i=r(48120),o=r(27218);let a=1e3,s={Modal:100,Drawer:100,Popover:100,Popconfirm:100,Tooltip:100,Tour:100,FloatButton:100},l={SelectLike:50,Dropdown:50,DatePicker:50,Menu:50,ImagePreview:1};function u(e){return e in s}let c=(e,t)=>{let r,[,a]=(0,i.Ay)(),c=n.useContext(o.A),f=u(e);if(void 0!==t)r=[t,t];else{let n=null!=c?c:0;f?n+=(c?0:a.zIndexPopupBase)+s[e]:n+=l[e],r=[void 0===c?t:n,n]}return r}},35561:function(e,t,r){"use strict";r.d(t,{A:()=>u,b:()=>l});var n=r(32649);let i=()=>({height:0,opacity:0}),o=e=>{let{scrollHeight:t}=e;return{height:t,opacity:1}},a=e=>({height:e?e.offsetHeight:0}),s=(e,t)=>(null==t?void 0:t.deadline)===!0||"height"===t.propertyName,l=(e,t,r)=>void 0!==r?r:`${e}-${t}`,u=function(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:n.yH;return{motionName:`${e}-motion-collapse`,onAppearStart:i,onEnterStart:i,onAppearActive:o,onEnterActive:o,onLeaveStart:a,onLeaveActive:i,onAppearEnd:s,onEnterEnd:s,onLeaveEnd:s,motionDeadline:500}}},3511:function(e,t,r){"use strict";r.d(t,{A:()=>l});var n=r(54755);function i(e,t,r,n){if(!1===n)return{adjustX:!1,adjustY:!1};let i=n&&"object"==typeof n?n:{},o={};switch(e){case"top":case"bottom":o.shiftX=2*t.arrowOffsetHorizontal+r,o.shiftY=!0,o.adjustY=!0;break;case"left":case"right":o.shiftY=2*t.arrowOffsetVertical+r,o.shiftX=!0,o.adjustX=!0}let a=Object.assign(Object.assign({},o),i);return a.shiftX||(a.adjustX=!0),a.shiftY||(a.adjustY=!0),a}let o={left:{points:["cr","cl"]},right:{points:["cl","cr"]},top:{points:["bc","tc"]},bottom:{points:["tc","bc"]},topLeft:{points:["bl","tl"]},leftTop:{points:["tr","tl"]},topRight:{points:["br","tr"]},rightTop:{points:["tl","tr"]},bottomRight:{points:["tr","br"]},rightBottom:{points:["bl","br"]},bottomLeft:{points:["tl","bl"]},leftBottom:{points:["br","bl"]}},a={topLeft:{points:["bl","tc"]},leftTop:{points:["tr","cl"]},topRight:{points:["br","tc"]},rightTop:{points:["tl","cr"]},bottomRight:{points:["tr","bc"]},rightBottom:{points:["bl","cr"]},bottomLeft:{points:["tl","bc"]},leftBottom:{points:["br","cl"]}},s=new Set(["topLeft","topRight","bottomLeft","bottomRight","leftTop","leftBottom","rightTop","rightBottom"]);function l(e){let{arrowWidth:t,autoAdjustOverflow:r,arrowPointAtCenter:l,offset:u,borderRadius:c,visibleFirst:f}=e,h=t/2,d={};return Object.keys(o).forEach(e=>{let p=Object.assign(Object.assign({},l&&a[e]||o[e]),{offset:[0,0],dynamicInset:!0});switch(d[e]=p,s.has(e)&&(p.autoArrow=!1),e){case"top":case"topLeft":case"topRight":p.offset[1]=-h-u;break;case"bottom":case"bottomLeft":case"bottomRight":p.offset[1]=h+u;break;case"left":case"leftTop":case"leftBottom":p.offset[0]=-h-u;break;case"right":case"rightTop":case"rightBottom":p.offset[0]=h+u}let m=(0,n.Ke)({contentRadius:c,limitVerticalRadius:!0});if(l)switch(e){case"topLeft":case"bottomLeft":p.offset[0]=-m.arrowOffsetHorizontal-h;break;case"topRight":case"bottomRight":p.offset[0]=m.arrowOffsetHorizontal+h;break;case"leftTop":case"rightTop":p.offset[1]=-(2*m.arrowOffsetHorizontal)+h;break;case"leftBottom":case"rightBottom":p.offset[1]=2*m.arrowOffsetHorizontal-h}p.overflow=i(e,m,t,r),f&&(p.htmlRegion="visibleFirst")}),d}},6416:function(e,t,r){"use strict";r.d(t,{Ob:()=>a,fx:()=>o,zv:()=>i});var n=r(22155);function i(e){return e&&n.isValidElement(e)&&e.type===n.Fragment}let o=(e,t,r)=>n.isValidElement(e)?n.cloneElement(e,"function"==typeof r?r(e.props||{}):r):t;function a(e,t){return o(e,e,t)}},86827:function(e,t,r){"use strict";r.d(t,{Ay:()=>l,ye:()=>o});var n=r(22155),i=r(48120);let o=["xxl","xl","lg","md","sm","xs"],a=e=>({xs:`(max-width: ${e.screenXSMax}px)`,sm:`(min-width: ${e.screenSM}px)`,md:`(min-width: ${e.screenMD}px)`,lg:`(min-width: ${e.screenLG}px)`,xl:`(min-width: ${e.screenXL}px)`,xxl:`(min-width: ${e.screenXXL}px)`}),s=e=>{let t=e,r=[].concat(o).reverse();return r.forEach((e,n)=>{let i=e.toUpperCase(),o=`screen${i}Min`,a=`screen${i}`;if(!(t[o]<=t[a]))throw Error(`${o}<=${a} fails : !(${t[o]}<=${t[a]})`);if(n<r.length-1){let e=`screen${i}Max`;if(!(t[a]<=t[e]))throw Error(`${a}<=${e} fails : !(${t[a]}<=${t[e]})`);let o=r[n+1].toUpperCase(),s=`screen${o}Min`;if(!(t[e]<=t[s]))throw Error(`${e}<=${s} fails : !(${t[e]}<=${t[s]})`)}}),e};function l(){let[,e]=(0,i.Ay)(),t=a(s(e));return n.useMemo(()=>{let e=new Map,r=-1,n={};return{matchHandlers:{},dispatch:t=>(n=t,e.forEach(e=>e(n)),e.size>=1),subscribe(t){return e.size||this.register(),r+=1,e.set(r,t),t(n),r},unsubscribe(t){e.delete(t),e.size||this.unregister()},unregister(){Object.keys(t).forEach(e=>{let r=t[e],n=this.matchHandlers[r];null==n||n.mql.removeListener(null==n?void 0:n.listener)}),e.clear()},register(){Object.keys(t).forEach(e=>{let r=t[e],i=t=>{let{matches:r}=t;this.dispatch(Object.assign(Object.assign({},n),{[e]:r}))},o=window.matchMedia(r);o.addListener(i),this.matchHandlers[r]={mql:o,listener:i},i(o)})},responsiveMap:t}},[e])}},3504:function(e,t,r){"use strict";r.d(t,{L:()=>o,v:()=>a});var n=r(38487),i=r.n(n);function o(e,t,r){return i()({[`${e}-status-success`]:"success"===t,[`${e}-status-warning`]:"warning"===t,[`${e}-status-error`]:"error"===t,[`${e}-status-validating`]:"validating"===t,[`${e}-has-feedback`]:r})}let a=(e,t)=>t||e},13863:function(e,t,r){"use strict";r.d(t,{_n:()=>o,rJ:()=>a});var n=r(22155);function i(){}r(36216);let o=n.createContext({}),a=()=>{let e=()=>{};return e.deprecated=i,e}},7512:function(e,t,r){"use strict";r.d(t,{A:()=>E});var n=r(22155),i=r(38487),o=r.n(i),a=r(49677),s=r(37233),l=r(32649),u=r(6416),c=r(49528);let f=e=>{let{componentCls:t,colorPrimary:r}=e;return{[t]:{position:"absolute",background:"transparent",pointerEvents:"none",boxSizing:"border-box",color:`var(--wave-color, ${r})`,boxShadow:"0 0 0 0 currentcolor",opacity:.2,"&.wave-motion-appear":{transition:`box-shadow 0.4s ${e.motionEaseOutCirc},opacity 2s ${e.motionEaseOutCirc}`,"&-active":{boxShadow:"0 0 0 6px currentcolor",opacity:0},"&.wave-quick":{transition:`box-shadow ${e.motionDurationSlow} ${e.motionEaseInOut},opacity ${e.motionDurationSlow} ${e.motionEaseInOut}`}}}}},h=(0,c.Or)("Wave",e=>[f(e)]);var d=r(41186),p=r(14597),m=r(48120),g=r(15950),v=r(14309),y=r(52310);function b(e){return e&&"#fff"!==e&&"#ffffff"!==e&&"rgb(255, 255, 255)"!==e&&"rgba(255, 255, 255, 1)"!==e&&!/rgba\((?:\d*, ){3}0\)/.test(e)&&"transparent"!==e}function _(e){let{borderTopColor:t,borderColor:r,backgroundColor:n}=getComputedStyle(e);return b(t)?t:b(r)?r:b(n)?n:null}function w(e){return Number.isNaN(e)?0:e}let x=e=>{let{className:t,target:r,component:i}=e,a=n.useRef(null),[l,u]=n.useState(null),[c,f]=n.useState([]),[h,d]=n.useState(0),[m,b]=n.useState(0),[x,S]=n.useState(0),[A,E]=n.useState(0),[C,O]=n.useState(!1),k={left:h,top:m,width:x,height:A,borderRadius:c.map(e=>`${e}px`).join(" ")};function I(){let e=getComputedStyle(r);u(_(r));let t="static"===e.position,{borderLeftWidth:n,borderTopWidth:i}=e;d(t?r.offsetLeft:w(-parseFloat(n))),b(t?r.offsetTop:w(-parseFloat(i))),S(r.offsetWidth),E(r.offsetHeight);let{borderTopLeftRadius:o,borderTopRightRadius:a,borderBottomLeftRadius:s,borderBottomRightRadius:l}=e;f([o,a,l,s].map(e=>w(parseFloat(e))))}if(l&&(k["--wave-color"]=l),n.useEffect(()=>{if(r){let e,t=(0,p.A)(()=>{I(),O(!0)});return"undefined"!=typeof ResizeObserver&&(e=new ResizeObserver(I)).observe(r),()=>{p.A.cancel(t),null==e||e.disconnect()}}},[]),!C)return null;let T=("Checkbox"===i||"Radio"===i)&&(null==r?void 0:r.classList.contains(g.D));return n.createElement(v.Ay,{visible:!0,motionAppear:!0,motionName:"wave-motion",motionDeadline:5e3,onAppearEnd:(e,t)=>{var r;if(t.deadline||"opacity"===t.propertyName){let e=null==(r=a.current)?void 0:r.parentElement;(0,y.v)(e).then(()=>{null==e||e.remove()})}return!1}},(e,r)=>{let{className:i}=e;return n.createElement("div",{ref:(0,s.K4)(a,r),className:o()(t,i,{"wave-quick":T}),style:k})})},S=(e,t)=>{var r;let{component:i}=t;if("Checkbox"===i&&!(null==(r=e.querySelector("input"))?void 0:r.checked))return;let o=document.createElement("div");o.style.position="absolute",o.style.left="0px",o.style.top="0px",null==e||e.insertBefore(o,null==e?void 0:e.firstChild),(0,y.X)(n.createElement(x,Object.assign({},t,{target:e})),o)},A=(e,t,r)=>{let{wave:i}=n.useContext(l.QO),[,o,a]=(0,m.Ay)(),s=(0,d.A)(n=>{let s=e.current;if((null==i?void 0:i.disabled)||!s)return;let l=s.querySelector(`.${g.D}`)||s,{showEffect:u}=i||{};(u||S)(l,{className:t,token:o,component:r,event:n,hashId:a})}),u=n.useRef();return e=>{p.A.cancel(u.current),u.current=(0,p.A)(()=>{s(e)})}},E=e=>{let{children:t,disabled:r,component:i}=e,{getPrefixCls:c}=(0,n.useContext)(l.QO),f=(0,n.useRef)(null),d=c("wave"),[,p]=h(d),m=A(f,o()(d,p),i);if(n.useEffect(()=>{let e=f.current;if(!e||1!==e.nodeType||r)return;let t=t=>{!(0,a.A)(t.target)||!e.getAttribute||e.getAttribute("disabled")||e.disabled||e.className.includes("disabled")||e.className.includes("-leave")||m(t)};return e.addEventListener("click",t,!0),()=>{e.removeEventListener("click",t,!0)}},[r]),!n.isValidElement(t))return null!=t?t:null;let g=(0,s.f3)(t)?(0,s.K4)(t.ref,f):f;return(0,u.Ob)(t,{ref:g})}},15950:function(e,t,r){"use strict";r.d(t,{D:()=>i});var n=r(32649);let i=`${n.yH}-wave-target`},27218:function(e,t,r){"use strict";r.d(t,{A:()=>n});let n=r(22155).createContext(void 0)},4521:function(e,t,r){"use strict";r.d(t,{A:()=>z});var n=r(22155),i=r(71556),o=r(20004),a=r(29345),s=r(76549),l=r(47804),u=r(38487),c=r.n(u),f=r(14309),h=r(65811),d=r(37233),p=r(6416),m=r(32649),g=r(19155),v=r(78091),y=r(49528);let b=(e,t,r,n,i)=>({background:e,border:`${(0,g.zA)(n.lineWidth)} ${n.lineType} ${t}`,[`${i}-icon`]:{color:r}}),_=e=>{let{componentCls:t,motionDurationSlow:r,marginXS:n,marginSM:i,fontSize:o,fontSizeLG:a,lineHeight:s,borderRadiusLG:l,motionEaseInOutCirc:u,withDescriptionIconSize:c,colorText:f,colorTextHeading:h,withDescriptionPadding:d,defaultPadding:p}=e;return{[t]:Object.assign(Object.assign({},(0,v.dF)(e)),{position:"relative",display:"flex",alignItems:"center",padding:p,wordWrap:"break-word",borderRadius:l,[`&${t}-rtl`]:{direction:"rtl"},[`${t}-content`]:{flex:1,minWidth:0},[`${t}-icon`]:{marginInlineEnd:n,lineHeight:0},"&-description":{display:"none",fontSize:o,lineHeight:s},"&-message":{color:h},[`&${t}-motion-leave`]:{overflow:"hidden",opacity:1,transition:`max-height ${r} ${u}, opacity ${r} ${u},
|
|
3
3
|
padding-top ${r} ${u}, padding-bottom ${r} ${u},
|
|
4
4
|
margin-bottom ${r} ${u}`},[`&${t}-motion-leave-active`]:{maxHeight:0,marginBottom:"0 !important",paddingTop:0,paddingBottom:0,opacity:0}}),[`${t}-with-description`]:{alignItems:"flex-start",padding:d,[`${t}-icon`]:{marginInlineEnd:i,fontSize:c,lineHeight:0},[`${t}-message`]:{display:"block",marginBottom:n,color:h,fontSize:a},[`${t}-description`]:{display:"block",color:f}},[`${t}-banner`]:{marginBottom:0,border:"0 !important",borderRadius:0}}},w=e=>{let{componentCls:t,colorSuccess:r,colorSuccessBorder:n,colorSuccessBg:i,colorWarning:o,colorWarningBorder:a,colorWarningBg:s,colorError:l,colorErrorBorder:u,colorErrorBg:c,colorInfo:f,colorInfoBorder:h,colorInfoBg:d}=e;return{[t]:{"&-success":b(i,n,r,e,t),"&-info":b(d,h,f,e,t),"&-warning":b(s,a,o,e,t),"&-error":Object.assign(Object.assign({},b(c,u,l,e,t)),{[`${t}-description > pre`]:{margin:0,padding:0}})}}},x=e=>{let{componentCls:t,iconCls:r,motionDurationMid:n,marginXS:i,fontSizeIcon:o,colorIcon:a,colorIconHover:s}=e;return{[t]:{"&-action":{marginInlineStart:i},[`${t}-close-icon`]:{marginInlineStart:i,padding:0,overflow:"hidden",fontSize:o,lineHeight:(0,g.zA)(o),backgroundColor:"transparent",border:"none",outline:"none",cursor:"pointer",[`${r}-close`]:{color:a,transition:`color ${n}`,"&:hover":{color:s}}},"&-close-text":{color:a,transition:`color ${n}`,"&:hover":{color:s}}}}},S=e=>{let t=12;return{withDescriptionIconSize:e.fontSizeHeading3,defaultPadding:`${e.paddingContentVerticalSM}px ${t}px`,withDescriptionPadding:`${e.paddingMD}px ${e.paddingContentHorizontalLG}px`}},A=(0,y.OF)("Alert",e=>[_(e),w(e),x(e)],S);var E=function(e,t){var r={};for(var n in e)Object.prototype.hasOwnProperty.call(e,n)&&0>t.indexOf(n)&&(r[n]=e[n]);if(null!=e&&"function"==typeof Object.getOwnPropertySymbols)for(var i=0,n=Object.getOwnPropertySymbols(e);i<n.length;i++)0>t.indexOf(n[i])&&Object.prototype.propertyIsEnumerable.call(e,n[i])&&(r[n[i]]=e[n[i]]);return r};let C={success:i.A,info:l.A,error:o.A,warning:s.A},O=e=>{let{icon:t,prefixCls:r,type:i}=e,o=C[i]||null;return t?(0,p.fx)(t,n.createElement("span",{className:`${r}-icon`},t),()=>({className:c()(`${r}-icon`,{[t.props.className]:t.props.className})})):n.createElement(o,{className:`${r}-icon`})},k=e=>{let{isClosable:t,prefixCls:r,closeIcon:i,handleClose:o,ariaProps:s}=e,l=!0===i||void 0===i?n.createElement(a.A,null):i;return t?n.createElement("button",Object.assign({type:"button",onClick:o,className:`${r}-close-icon`,tabIndex:0},s),l):null},I=n.forwardRef((e,t)=>{let{description:r,prefixCls:i,message:o,banner:a,className:s,rootClassName:l,style:u,onMouseEnter:p,onMouseLeave:g,onClick:v,afterClose:y,showIcon:b,closable:_,closeText:w,closeIcon:x,action:S,id:C}=e,I=E(e,["description","prefixCls","message","banner","className","rootClassName","style","onMouseEnter","onMouseLeave","onClick","afterClose","showIcon","closable","closeText","closeIcon","action","id"]),[T,P]=n.useState(!1),M=n.useRef(null);n.useImperativeHandle(t,()=>({nativeElement:M.current}));let{getPrefixCls:R,direction:$,alert:j}=n.useContext(m.QO),N=R("alert",i),[B,L,z]=A(N),F=t=>{var r;P(!0),null==(r=e.onClose)||r.call(e,t)},D=n.useMemo(()=>void 0!==e.type?e.type:a?"warning":"info",[e.type,a]),U=n.useMemo(()=>"object"==typeof _&&!!_.closeIcon||!!w||("boolean"==typeof _?_:!1!==x&&null!=x||!!(null==j?void 0:j.closable)),[w,x,_,null==j?void 0:j.closable]),H=!!a&&void 0===b||b,G=c()(N,`${N}-${D}`,{[`${N}-with-description`]:!!r,[`${N}-no-icon`]:!H,[`${N}-banner`]:!!a,[`${N}-rtl`]:"rtl"===$},null==j?void 0:j.className,s,l,z,L),W=(0,h.A)(I,{aria:!0,data:!0}),V=n.useMemo(()=>{var e,t;return"object"==typeof _&&_.closeIcon?_.closeIcon:w||(void 0!==x?x:"object"==typeof(null==j?void 0:j.closable)&&(null==(e=null==j?void 0:j.closable)?void 0:e.closeIcon)?null==(t=null==j?void 0:j.closable)?void 0:t.closeIcon:null==j?void 0:j.closeIcon)},[x,_,w,null==j?void 0:j.closeIcon]),q=n.useMemo(()=>{let e=null!=_?_:null==j?void 0:j.closable;if("object"==typeof e){let{closeIcon:t}=e;return E(e,["closeIcon"])}return{}},[_,null==j?void 0:j.closable]);return B(n.createElement(f.Ay,{visible:!T,motionName:`${N}-motion`,motionAppear:!1,motionEnter:!1,onLeaveStart:e=>({maxHeight:e.offsetHeight}),onLeaveEnd:y},(t,i)=>{let{className:a,style:s}=t;return n.createElement("div",Object.assign({id:C,ref:(0,d.K4)(M,i),"data-show":!T,className:c()(G,a),style:Object.assign(Object.assign(Object.assign({},null==j?void 0:j.style),u),s),onMouseEnter:p,onMouseLeave:g,onClick:v,role:"alert"},W),H?n.createElement(O,{description:r,icon:e.icon,prefixCls:N,type:D}):null,n.createElement("div",{className:`${N}-content`},o?n.createElement("div",{className:`${N}-message`},o):null,r?n.createElement("div",{className:`${N}-description`},r):null),S?n.createElement("div",{className:`${N}-action`},S):null,n.createElement(k,{isClosable:U,prefixCls:N,closeIcon:V,handleClose:F,ariaProps:q}))}))});var T=r(90797),P=r(6989),M=r(35050),R=r(81816),$=r(77278);function j(e,t,r){return t=(0,M.A)(t),(0,$.A)(e,(0,R.A)()?Reflect.construct(t,r||[],(0,M.A)(e).constructor):t.apply(e,r))}var N=r(5893);let B=function(e){function t(){var e;return(0,T.A)(this,t),e=j(this,t,arguments),e.state={error:void 0,info:{componentStack:""}},e}return(0,N.A)(t,e),(0,P.A)(t,[{key:"componentDidCatch",value:function(e,t){this.setState({error:e,info:t})}},{key:"render",value:function(){let{message:e,description:t,id:r,children:i}=this.props,{error:o,info:a}=this.state,s=(null==a?void 0:a.componentStack)||null,l=void 0===e?(o||"").toString():e,u=void 0===t?s:t;return o?n.createElement(I,{id:r,type:"error",message:l,description:n.createElement("pre",{style:{fontSize:"0.9em",overflowX:"auto"}},u)}):i}}])}(n.Component),L=I;L.ErrorBoundary=B;let z=L},64087:function(e,t,r){"use strict";r.d(t,{Ap:()=>a,DU:()=>s,u1:()=>u,uR:()=>f});var n=r(22155),i=r(6416);let o=/^[\u4E00-\u9FA5]{2}$/,a=o.test.bind(o);function s(e){return"danger"===e?{danger:!0}:{type:e}}function l(e){return"string"==typeof e}function u(e){return"text"===e||"link"===e}function c(e,t){if(null==e)return;let r=t?" ":"";return"string"!=typeof e&&"number"!=typeof e&&l(e.type)&&a(e.props.children)?(0,i.Ob)(e,{children:e.props.children.split("").join(r)}):l(e)?a(e)?n.createElement("span",null,e.split("").join(r)):n.createElement("span",null,e):(0,i.zv)(e)?n.createElement("span",null,e):e}function f(e,t){let r=!1,i=[];return n.Children.forEach(e,e=>{let t=typeof e,n="string"===t||"number"===t;if(r&&n){let t=i.length-1,r=i[t];i[t]=`${r}${e}`}else i.push(e);r=n}),n.Children.map(i,e=>c(e,t))}},77031:function(e,t,r){"use strict";r.d(t,{Ay:()=>eB});var n=r(22155),i=r(38487),o=r.n(i),a=r(36495),s=r(37233),l=r(7512),u=r(32649),c=r(51225),f=r(98763),h=r(51837),d=r(48120),p=function(e,t){var r={};for(var n in e)Object.prototype.hasOwnProperty.call(e,n)&&0>t.indexOf(n)&&(r[n]=e[n]);if(null!=e&&"function"==typeof Object.getOwnPropertySymbols)for(var i=0,n=Object.getOwnPropertySymbols(e);i<n.length;i++)0>t.indexOf(n[i])&&Object.prototype.propertyIsEnumerable.call(e,n[i])&&(r[n[i]]=e[n[i]]);return r};let m=n.createContext(void 0),g=e=>{let{getPrefixCls:t,direction:r}=n.useContext(u.QO),{prefixCls:i,size:a,className:s}=e,l=p(e,["prefixCls","size","className"]),c=t("btn-group",i),[,,f]=(0,d.Ay)(),h="";switch(a){case"large":h="lg";break;case"small":h="sm"}let g=o()(c,{[`${c}-${h}`]:h,[`${c}-rtl`]:"rtl"===r},s,f);return n.createElement(m.Provider,{value:a},n.createElement("div",Object.assign({},l,{className:g})))};var v=r(64087);let y=(0,n.forwardRef)((e,t)=>{let{className:r,style:i,children:a,prefixCls:s}=e,l=o()(`${s}-icon`,r);return n.createElement("span",{ref:t,className:l,style:i},a)});var b=r(30230),_=r(14309);let w=(0,n.forwardRef)((e,t)=>{let{prefixCls:r,className:i,style:a,iconClassName:s}=e,l=o()(`${r}-loading-icon`,i);return n.createElement(y,{prefixCls:r,className:l,style:a,ref:t},n.createElement(b.A,{className:s}))}),x=()=>({width:0,opacity:0,transform:"scale(0)"}),S=e=>({width:e.scrollWidth,opacity:1,transform:"scale(1)"}),A=e=>{let{prefixCls:t,loading:r,existIcon:i,className:o,style:a}=e,s=!!r;return i?n.createElement(w,{prefixCls:t,className:o,style:a}):n.createElement(_.Ay,{visible:s,motionName:`${t}-loading-icon-motion`,motionLeave:s,removeOnLeave:!0,onAppearStart:x,onAppearActive:S,onEnterStart:x,onEnterActive:S,onLeaveStart:S,onLeaveActive:x},(e,r)=>{let{className:i,style:s}=e;return n.createElement(w,{prefixCls:t,className:o,style:Object.assign(Object.assign({},a),s),ref:r,iconClassName:i})})};var E=r(19155),C=r(78091),O=r(88077),k=r(49528);let I=(e,t)=>({[`> span, > ${e}`]:{"&:not(:last-child)":{[`&, & > ${e}`]:{"&:not(:disabled)":{borderInlineEndColor:t}}},"&:not(:first-child)":{[`&, & > ${e}`]:{"&:not(:disabled)":{borderInlineStartColor:t}}}}}),T=e=>{let{componentCls:t,fontSize:r,lineWidth:n,groupBorderColor:i,colorErrorHover:o}=e;return{[`${t}-group`]:[{position:"relative",display:"inline-flex",[`> span, > ${t}`]:{"&:not(:last-child)":{[`&, & > ${t}`]:{borderStartEndRadius:0,borderEndEndRadius:0}},"&:not(:first-child)":{marginInlineStart:e.calc(n).mul(-1).equal(),[`&, & > ${t}`]:{borderStartStartRadius:0,borderEndStartRadius:0}}},[t]:{position:"relative",zIndex:1,"&:hover, &:focus, &:active":{zIndex:2},"&[disabled]":{zIndex:0}},[`${t}-icon-only`]:{fontSize:r}},I(`${t}-primary`,i),I(`${t}-danger`,o)]}};var P=r(90797),M=r(6989),R=r(5893),$=r(14058),j=r(46363),N=r(21313),B=r(99828),L=r(34011);let z=Math.round;function F(e,t){let r=e.replace(/^[^(]*\((.*)/,"$1").replace(/\).*/,"").match(/\d*\.?\d+%?/g)||[],n=r.map(e=>parseFloat(e));for(let e=0;e<3;e+=1)n[e]=t(n[e]||0,r[e]||"",e);return r[3]?n[3]=r[3].includes("%")?n[3]/100:n[3]:n[3]=1,n}let D=(e,t,r)=>0===r?e:e/100;function U(e,t){let r=t||255;return e>r?r:e<0?0:e}class H{constructor(e){function t(t){return t[0]in e&&t[1]in e&&t[2]in e}if((0,L.A)(this,"isValid",!0),(0,L.A)(this,"r",0),(0,L.A)(this,"g",0),(0,L.A)(this,"b",0),(0,L.A)(this,"a",1),(0,L.A)(this,"_h",void 0),(0,L.A)(this,"_s",void 0),(0,L.A)(this,"_l",void 0),(0,L.A)(this,"_v",void 0),(0,L.A)(this,"_max",void 0),(0,L.A)(this,"_min",void 0),(0,L.A)(this,"_brightness",void 0),e)if("string"==typeof e){const t=e.trim();function r(e){return t.startsWith(e)}/^#?[A-F\d]{3,8}$/i.test(t)?this.fromHexString(t):r("rgb")?this.fromRgbString(t):r("hsl")?this.fromHslString(t):(r("hsv")||r("hsb"))&&this.fromHsvString(t)}else if(e instanceof H)this.r=e.r,this.g=e.g,this.b=e.b,this.a=e.a,this._h=e._h,this._s=e._s,this._l=e._l,this._v=e._v;else if(t("rgb"))this.r=U(e.r),this.g=U(e.g),this.b=U(e.b),this.a="number"==typeof e.a?U(e.a,1):1;else if(t("hsl"))this.fromHsl(e);else if(t("hsv"))this.fromHsv(e);else throw Error("@ant-design/fast-color: unsupported input "+JSON.stringify(e))}setR(e){return this._sc("r",e)}setG(e){return this._sc("g",e)}setB(e){return this._sc("b",e)}setA(e){return this._sc("a",e,1)}setHue(e){let t=this.toHsv();return t.h=e,this._c(t)}getLuminance(){function e(e){let t=e/255;return t<=.03928?t/12.92:Math.pow((t+.055)/1.055,2.4)}return .2126*e(this.r)+.7152*e(this.g)+.0722*e(this.b)}getHue(){if(void 0===this._h){let e=this.getMax()-this.getMin();0===e?this._h=0:this._h=z(60*(this.r===this.getMax()?(this.g-this.b)/e+6*(this.g<this.b):this.g===this.getMax()?(this.b-this.r)/e+2:(this.r-this.g)/e+4))}return this._h}getSaturation(){if(void 0===this._s){let e=this.getMax()-this.getMin();0===e?this._s=0:this._s=e/this.getMax()}return this._s}getLightness(){return void 0===this._l&&(this._l=(this.getMax()+this.getMin())/510),this._l}getValue(){return void 0===this._v&&(this._v=this.getMax()/255),this._v}getBrightness(){return void 0===this._brightness&&(this._brightness=(299*this.r+587*this.g+114*this.b)/1e3),this._brightness}darken(e=10){let t=this.getHue(),r=this.getSaturation(),n=this.getLightness()-e/100;return n<0&&(n=0),this._c({h:t,s:r,l:n,a:this.a})}lighten(e=10){let t=this.getHue(),r=this.getSaturation(),n=this.getLightness()+e/100;return n>1&&(n=1),this._c({h:t,s:r,l:n,a:this.a})}mix(e,t=50){let r=this._c(e),n=t/100,i=e=>(r[e]-this[e])*n+this[e],o={r:z(i("r")),g:z(i("g")),b:z(i("b")),a:z(100*i("a"))/100};return this._c(o)}tint(e=10){return this.mix({r:255,g:255,b:255,a:1},e)}shade(e=10){return this.mix({r:0,g:0,b:0,a:1},e)}onBackground(e){let t=this._c(e),r=this.a+t.a*(1-this.a),n=e=>z((this[e]*this.a+t[e]*t.a*(1-this.a))/r);return this._c({r:n("r"),g:n("g"),b:n("b"),a:r})}isDark(){return 128>this.getBrightness()}isLight(){return this.getBrightness()>=128}equals(e){return this.r===e.r&&this.g===e.g&&this.b===e.b&&this.a===e.a}clone(){return this._c(this)}toHexString(){let e="#",t=(this.r||0).toString(16);e+=2===t.length?t:"0"+t;let r=(this.g||0).toString(16);e+=2===r.length?r:"0"+r;let n=(this.b||0).toString(16);if(e+=2===n.length?n:"0"+n,"number"==typeof this.a&&this.a>=0&&this.a<1){let t=z(255*this.a).toString(16);e+=2===t.length?t:"0"+t}return e}toHsl(){return{h:this.getHue(),s:this.getSaturation(),l:this.getLightness(),a:this.a}}toHslString(){let e=this.getHue(),t=z(100*this.getSaturation()),r=z(100*this.getLightness());return 1!==this.a?`hsla(${e},${t}%,${r}%,${this.a})`:`hsl(${e},${t}%,${r}%)`}toHsv(){return{h:this.getHue(),s:this.getSaturation(),v:this.getValue(),a:this.a}}toRgb(){return{r:this.r,g:this.g,b:this.b,a:this.a}}toRgbString(){return 1!==this.a?`rgba(${this.r},${this.g},${this.b},${this.a})`:`rgb(${this.r},${this.g},${this.b})`}toString(){return this.toRgbString()}_sc(e,t,r){let n=this.clone();return n[e]=U(t,r),n}_c(e){return new this.constructor(e)}getMax(){return void 0===this._max&&(this._max=Math.max(this.r,this.g,this.b)),this._max}getMin(){return void 0===this._min&&(this._min=Math.min(this.r,this.g,this.b)),this._min}fromHexString(e){let t=e.replace("#","");function r(e,r){return parseInt(t[e]+t[r||e],16)}t.length<6?(this.r=r(0),this.g=r(1),this.b=r(2),this.a=t[3]?r(3)/255:1):(this.r=r(0,1),this.g=r(2,3),this.b=r(4,5),this.a=t[6]?r(6,7)/255:1)}fromHsl({h:e,s:t,l:r,a:n}){if(this._h=e%360,this._s=t,this._l=r,this.a="number"==typeof n?n:1,t<=0){let e=z(255*r);this.r=e,this.g=e,this.b=e}let i=0,o=0,a=0,s=e/60,l=(1-Math.abs(2*r-1))*t,u=l*(1-Math.abs(s%2-1));s>=0&&s<1?(i=l,o=u):s>=1&&s<2?(i=u,o=l):s>=2&&s<3?(o=l,a=u):s>=3&&s<4?(o=u,a=l):s>=4&&s<5?(i=u,a=l):s>=5&&s<6&&(i=l,a=u);let c=r-l/2;this.r=z((i+c)*255),this.g=z((o+c)*255),this.b=z((a+c)*255)}fromHsv({h:e,s:t,v:r,a:n}){this._h=e%360,this._s=t,this._v=r,this.a="number"==typeof n?n:1;let i=z(255*r);if(this.r=i,this.g=i,this.b=i,t<=0)return;let o=e/60,a=Math.floor(o),s=o-a,l=z(r*(1-t)*255),u=z(r*(1-t*s)*255),c=z(r*(1-t*(1-s))*255);switch(a){case 0:this.g=c,this.b=l;break;case 1:this.r=u,this.b=l;break;case 2:this.r=l,this.b=c;break;case 3:this.r=l,this.g=u;break;case 4:this.r=c,this.g=l;break;default:this.g=l,this.b=u}}fromHsvString(e){let t=F(e,D);this.fromHsv({h:t[0],s:t[1],v:t[2],a:t[3]})}fromHslString(e){let t=F(e,D);this.fromHsl({h:t[0],s:t[1],l:t[2],a:t[3]})}fromRgbString(e){let t=F(e,(e,t)=>t.includes("%")?z(e/100*255):e);this.r=t[0],this.g=t[1],this.b=t[2],this.a=t[3]}}var G=["b"],W=["v"],V=function(e){return Math.round(Number(e||0))},q=function(e){if(e instanceof H)return e;if(e&&"object"===(0,B.A)(e)&&"h"in e&&"b"in e){var t=e,r=t.b,n=(0,N.A)(t,G);return(0,j.A)((0,j.A)({},n),{},{v:r})}return"string"==typeof e&&/hsb/.test(e)?e.replace(/hsb/,"hsv"):e},X=function(e){(0,R.A)(r,e);var t=(0,$.A)(r);function r(e){return(0,P.A)(this,r),t.call(this,q(e))}return(0,M.A)(r,[{key:"toHsbString",value:function(){var e=this.toHsb(),t=V(100*e.s),r=V(100*e.b),n=V(e.h),i=e.a,o="hsb(".concat(n,", ").concat(t,"%, ").concat(r,"%)"),a="hsba(".concat(n,", ").concat(t,"%, ").concat(r,"%, ").concat(i.toFixed(2*(0!==i)),")");return 1===i?o:a}},{key:"toHsb",value:function(){var e=this.toHsv(),t=e.v,r=(0,N.A)(e,W);return(0,j.A)((0,j.A)({},r),{},{b:t,a:this.a})}}]),r}(H);(function(e){e instanceof X||new X(e)})("#1677ff"),r(65260);let Y=(e,t)=>(null==e?void 0:e.replace(/[^\w/]/g,"").slice(0,t?8:6))||"",Z=(e,t)=>e?Y(e,t):"",K=function(){function e(t){var r;if((0,P.A)(this,e),this.cleared=!1,t instanceof e){this.metaColor=t.metaColor.clone(),this.colors=null==(r=t.colors)?void 0:r.map(t=>({color:new e(t.color),percent:t.percent})),this.cleared=t.cleared;return}let n=Array.isArray(t);n&&t.length?(this.colors=t.map(t=>{let{color:r,percent:n}=t;return{color:new e(r),percent:n}}),this.metaColor=new X(this.colors[0].color.metaColor)):this.metaColor=new X(n?"":t),t&&(!n||this.colors)||(this.metaColor=this.metaColor.setA(0),this.cleared=!0)}return(0,M.A)(e,[{key:"toHsb",value:function(){return this.metaColor.toHsb()}},{key:"toHsbString",value:function(){return this.metaColor.toHsbString()}},{key:"toHex",value:function(){return Z(this.toHexString(),this.metaColor.a<1)}},{key:"toHexString",value:function(){return this.metaColor.toHexString()}},{key:"toRgb",value:function(){return this.metaColor.toRgb()}},{key:"toRgbString",value:function(){return this.metaColor.toRgbString()}},{key:"isGradient",value:function(){return!!this.colors&&!this.cleared}},{key:"getColors",value:function(){return this.colors||[{color:this,percent:0}]}},{key:"toCssString",value:function(){let{colors:e}=this;if(e){let t=e.map(e=>`${e.color.toRgbString()} ${e.percent}%`).join(", ");return`linear-gradient(90deg, ${t})`}return this.metaColor.toRgbString()}},{key:"equals",value:function(e){return!!e&&this.isGradient()===e.isGradient()&&(this.isGradient()?this.colors.length===e.colors.length&&this.colors.every((t,r)=>{let n=e.colors[r];return t.percent===n.percent&&t.color.equals(n.color)}):this.toHexString()===e.toHexString())}}])}();r(88127);let J=(e,t)=>{let{r,g:n,b:i,a:o}=e.toRgb(),a=new X(e.toRgbString()).onBackground(t).toHsv();return o<=.5?a.v>.5:.299*r+.587*n+.114*i>192};var Q=r(391);let ee=e=>{let{paddingInline:t,onlyIconSize:r,paddingBlock:n}=e;return(0,O.oX)(e,{buttonPaddingHorizontal:t,buttonPaddingVertical:n,buttonIconOnlyFontSize:r})},et=e=>{var t,r,n,i,o,a;let s=null!=(t=e.contentFontSize)?t:e.fontSize,l=null!=(r=e.contentFontSizeSM)?r:e.fontSize,u=null!=(n=e.contentFontSizeLG)?n:e.fontSizeLG,c=null!=(i=e.contentLineHeight)?i:(0,Q.k)(s),f=null!=(o=e.contentLineHeightSM)?o:(0,Q.k)(l),h=null!=(a=e.contentLineHeightLG)?a:(0,Q.k)(u),d=J(new K(e.colorBgSolid),"#fff")?"#000":"#fff";return{fontWeight:400,defaultShadow:`0 ${e.controlOutlineWidth}px 0 ${e.controlTmpOutline}`,primaryShadow:`0 ${e.controlOutlineWidth}px 0 ${e.controlOutline}`,dangerShadow:`0 ${e.controlOutlineWidth}px 0 ${e.colorErrorOutline}`,primaryColor:e.colorTextLightSolid,dangerColor:e.colorTextLightSolid,borderColorDisabled:e.colorBorder,defaultGhostColor:e.colorBgContainer,ghostBg:"transparent",defaultGhostBorderColor:e.colorBgContainer,paddingInline:e.paddingContentHorizontal-e.lineWidth,paddingInlineLG:e.paddingContentHorizontal-e.lineWidth,paddingInlineSM:8-e.lineWidth,onlyIconSize:e.fontSizeLG,onlyIconSizeSM:e.fontSizeLG-2,onlyIconSizeLG:e.fontSizeLG+2,groupBorderColor:e.colorPrimaryHover,linkHoverBg:"transparent",textTextColor:e.colorText,textTextHoverColor:e.colorText,textTextActiveColor:e.colorText,textHoverBg:e.colorFillTertiary,defaultColor:e.colorText,defaultBg:e.colorBgContainer,defaultBorderColor:e.colorBorder,defaultBorderColorDisabled:e.colorBorder,defaultHoverBg:e.colorBgContainer,defaultHoverColor:e.colorPrimaryHover,defaultHoverBorderColor:e.colorPrimaryHover,defaultActiveBg:e.colorBgContainer,defaultActiveColor:e.colorPrimaryActive,defaultActiveBorderColor:e.colorPrimaryActive,solidTextColor:d,contentFontSize:s,contentFontSizeSM:l,contentFontSizeLG:u,contentLineHeight:c,contentLineHeightSM:f,contentLineHeightLG:h,paddingBlock:Math.max((e.controlHeight-s*c)/2-e.lineWidth,0),paddingBlockSM:Math.max((e.controlHeightSM-l*f)/2-e.lineWidth,0),paddingBlockLG:Math.max((e.controlHeightLG-u*h)/2-e.lineWidth,0)}},er=e=>{let{componentCls:t,iconCls:r,fontWeight:n}=e;return{[t]:{outline:"none",position:"relative",display:"inline-flex",gap:e.marginXS,alignItems:"center",justifyContent:"center",fontWeight:n,whiteSpace:"nowrap",textAlign:"center",backgroundImage:"none",background:"transparent",border:`${(0,E.zA)(e.lineWidth)} ${e.lineType} transparent`,cursor:"pointer",transition:`all ${e.motionDurationMid} ${e.motionEaseInOut}`,userSelect:"none",touchAction:"manipulation",color:e.colorText,"&:disabled > *":{pointerEvents:"none"},"> span":{display:"inline-flex"},[`${t}-icon`]:{lineHeight:1},"> a":{color:"currentColor"},"&:not(:disabled)":Object.assign({},(0,C.K8)(e)),[`&${t}-two-chinese-chars::first-letter`]:{letterSpacing:"0.34em"},[`&${t}-two-chinese-chars > *:not(${r})`]:{marginInlineEnd:"-0.34em",letterSpacing:"0.34em"},"&-icon-end":{flexDirection:"row-reverse"}}}},en=(e,t,r)=>({[`&:not(:disabled):not(${e}-disabled)`]:{"&:hover":t,"&:active":r}}),ei=e=>({minWidth:e.controlHeight,paddingInlineStart:0,paddingInlineEnd:0,borderRadius:"50%"}),eo=e=>({borderRadius:e.controlHeight,paddingInlineStart:e.calc(e.controlHeight).div(2).equal(),paddingInlineEnd:e.calc(e.controlHeight).div(2).equal()}),ea=e=>({cursor:"not-allowed",borderColor:e.borderColorDisabled,color:e.colorTextDisabled,background:e.colorBgContainerDisabled,boxShadow:"none"}),es=(e,t,r,n,i,o,a,s)=>({[`&${e}-background-ghost`]:Object.assign(Object.assign({color:r||void 0,background:t,borderColor:n||void 0,boxShadow:"none"},en(e,Object.assign({background:t},a),Object.assign({background:t},s))),{"&:disabled":{cursor:"not-allowed",color:i||void 0,borderColor:o||void 0}})}),el=e=>({[`&:disabled, &${e.componentCls}-disabled`]:Object.assign({},ea(e))}),eu=e=>({[`&:disabled, &${e.componentCls}-disabled`]:{cursor:"not-allowed",color:e.colorTextDisabled}}),ec=(e,t,r,n)=>Object.assign(Object.assign({},(n&&["link","text"].includes(n)?eu:el)(e)),en(e.componentCls,t,r)),ef=(e,t,r,n,i)=>({[`&${e.componentCls}-variant-solid`]:Object.assign({color:t,background:r},ec(e,n,i))}),eh=(e,t,r,n,i)=>({[`&${e.componentCls}-variant-outlined, &${e.componentCls}-variant-dashed`]:Object.assign({borderColor:t,background:r},ec(e,n,i))}),ed=e=>({[`&${e.componentCls}-variant-dashed`]:{borderStyle:"dashed"}}),ep=(e,t,r,n)=>({[`&${e.componentCls}-variant-filled`]:Object.assign({boxShadow:"none",background:t},ec(e,r,n))}),em=(e,t,r,n,i)=>({[`&${e.componentCls}-variant-${r}`]:Object.assign({color:t,boxShadow:"none"},ec(e,n,i,r))}),eg=e=>Object.assign(Object.assign(Object.assign(Object.assign(Object.assign({color:e.defaultColor,boxShadow:e.defaultShadow},ef(e,e.solidTextColor,e.colorBgSolid,{background:e.colorBgSolidHover},{background:e.colorBgSolidActive})),ed(e)),ep(e,e.colorFillTertiary,{background:e.colorFillSecondary},{background:e.colorFill})),em(e,e.textTextColor,"link",{color:e.colorLinkHover,background:e.linkHoverBg},{color:e.colorLinkActive})),es(e.componentCls,e.ghostBg,e.defaultGhostColor,e.defaultGhostBorderColor,e.colorTextDisabled,e.colorBorder)),ev=e=>Object.assign(Object.assign(Object.assign(Object.assign(Object.assign({color:e.colorPrimary,boxShadow:e.primaryShadow},eh(e,e.colorPrimary,e.colorBgContainer,{color:e.colorPrimaryTextHover,borderColor:e.colorPrimaryHover,background:e.colorBgContainer},{color:e.colorPrimaryTextActive,borderColor:e.colorPrimaryActive,background:e.colorBgContainer})),ed(e)),ep(e,e.colorPrimaryBg,{background:e.colorPrimaryBgHover},{background:e.colorPrimaryBorder})),em(e,e.colorLink,"text",{color:e.colorPrimaryTextHover,background:e.colorPrimaryBg},{color:e.colorPrimaryTextActive,background:e.colorPrimaryBorder})),es(e.componentCls,e.ghostBg,e.colorPrimary,e.colorPrimary,e.colorTextDisabled,e.colorBorder,{color:e.colorPrimaryHover,borderColor:e.colorPrimaryHover},{color:e.colorPrimaryActive,borderColor:e.colorPrimaryActive})),ey=e=>Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign({color:e.colorError,boxShadow:e.dangerShadow},ef(e,e.dangerColor,e.colorError,{background:e.colorErrorHover},{background:e.colorErrorActive})),eh(e,e.colorError,e.colorBgContainer,{color:e.colorErrorHover,borderColor:e.colorErrorBorderHover},{color:e.colorErrorActive,borderColor:e.colorErrorActive})),ed(e)),ep(e,e.colorErrorBg,{background:e.colorErrorBgFilledHover},{background:e.colorErrorBgActive})),em(e,e.colorError,"text",{color:e.colorErrorHover,background:e.colorErrorBg},{color:e.colorErrorHover,background:e.colorErrorBgActive})),em(e,e.colorError,"link",{color:e.colorErrorHover},{color:e.colorErrorActive})),es(e.componentCls,e.ghostBg,e.colorError,e.colorError,e.colorTextDisabled,e.colorBorder,{color:e.colorErrorHover,borderColor:e.colorErrorHover},{color:e.colorErrorActive,borderColor:e.colorErrorActive})),eb=e=>{let{componentCls:t}=e;return{[`${t}-color-default`]:eg(e),[`${t}-color-primary`]:ev(e),[`${t}-color-dangerous`]:ey(e)}},e_=e=>Object.assign(Object.assign(Object.assign(Object.assign({},eh(e,e.defaultBorderColor,e.defaultBg,{color:e.defaultHoverColor,borderColor:e.defaultHoverBorderColor,background:e.defaultHoverBg},{color:e.defaultActiveColor,borderColor:e.defaultActiveBorderColor,background:e.defaultActiveBg})),em(e,e.textTextColor,"text",{color:e.textTextHoverColor,background:e.textHoverBg},{color:e.textTextActiveColor,background:e.colorBgTextActive})),ef(e,e.primaryColor,e.colorPrimary,{background:e.colorPrimaryHover,color:e.primaryColor},{background:e.colorPrimaryActive,color:e.primaryColor})),em(e,e.colorLink,"link",{color:e.colorLinkHover,background:e.linkHoverBg},{color:e.colorLinkActive})),ew=function(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:"",{componentCls:r,controlHeight:n,fontSize:i,lineHeight:o,borderRadius:a,buttonPaddingHorizontal:s,iconCls:l,buttonPaddingVertical:u}=e,c=`${r}-icon-only`;return[{[t]:{fontSize:i,lineHeight:o,height:n,padding:`${(0,E.zA)(u)} ${(0,E.zA)(s)}`,borderRadius:a,[`&${c}`]:{width:n,paddingInline:0,[`&${r}-compact-item`]:{flex:"none"},[`&${r}-round`]:{width:"auto"},[l]:{fontSize:e.buttonIconOnlyFontSize}},[`&${r}-loading`]:{opacity:e.opacityLoading,cursor:"default"},[`${r}-loading-icon`]:{transition:`width ${e.motionDurationSlow} ${e.motionEaseInOut}, opacity ${e.motionDurationSlow} ${e.motionEaseInOut}`}}},{[`${r}${r}-circle${t}`]:ei(e)},{[`${r}${r}-round${t}`]:eo(e)}]},ex=e=>ew((0,O.oX)(e,{fontSize:e.contentFontSize,lineHeight:e.contentLineHeight}),e.componentCls),eS=e=>ew((0,O.oX)(e,{controlHeight:e.controlHeightSM,fontSize:e.contentFontSizeSM,lineHeight:e.contentLineHeightSM,padding:e.paddingXS,buttonPaddingHorizontal:e.paddingInlineSM,buttonPaddingVertical:e.paddingBlockSM,borderRadius:e.borderRadiusSM,buttonIconOnlyFontSize:e.onlyIconSizeSM}),`${e.componentCls}-sm`),eA=e=>ew((0,O.oX)(e,{controlHeight:e.controlHeightLG,fontSize:e.contentFontSizeLG,lineHeight:e.contentLineHeightLG,buttonPaddingHorizontal:e.paddingInlineLG,buttonPaddingVertical:e.paddingBlockLG,borderRadius:e.borderRadiusLG,buttonIconOnlyFontSize:e.onlyIconSizeLG}),`${e.componentCls}-lg`),eE=e=>{let{componentCls:t}=e;return{[t]:{[`&${t}-block`]:{width:"100%"}}}},eC=(0,k.OF)("Button",e=>{let t=ee(e);return[er(t),ex(t),eS(t),eA(t),eE(t),eb(t),e_(t),T(t)]},et,{unitless:{fontWeight:!0,contentLineHeight:!0,contentLineHeightSM:!0,contentLineHeightLG:!0}});var eO=r(1604);function ek(e,t){return{[`&-item:not(${t}-last-item)`]:{marginBottom:e.calc(e.lineWidth).mul(-1).equal()},"&-item":{"&:hover,&:focus,&:active":{zIndex:2},"&[disabled]":{zIndex:0}}}}function eI(e,t){return{[`&-item:not(${t}-first-item):not(${t}-last-item)`]:{borderRadius:0},[`&-item${t}-first-item:not(${t}-last-item)`]:{[`&, &${e}-sm, &${e}-lg`]:{borderEndEndRadius:0,borderEndStartRadius:0}},[`&-item${t}-last-item:not(${t}-first-item)`]:{[`&, &${e}-sm, &${e}-lg`]:{borderStartStartRadius:0,borderStartEndRadius:0}}}}function eT(e){let t=`${e.componentCls}-compact-vertical`;return{[t]:Object.assign(Object.assign({},ek(e,t)),eI(e.componentCls,t))}}let eP=e=>{let{componentCls:t,calc:r}=e;return{[t]:{[`&-compact-item${t}-primary`]:{[`&:not([disabled]) + ${t}-compact-item${t}-primary:not([disabled])`]:{position:"relative","&:before":{position:"absolute",top:r(e.lineWidth).mul(-1).equal(),insetInlineStart:r(e.lineWidth).mul(-1).equal(),display:"inline-block",width:e.lineWidth,height:`calc(100% + ${(0,E.zA)(e.lineWidth)} * 2)`,backgroundColor:e.colorPrimaryHover,content:'""'}}},"&-compact-vertical-item":{[`&${t}-primary`]:{[`&:not([disabled]) + ${t}-compact-vertical-item${t}-primary:not([disabled])`]:{position:"relative","&:before":{position:"absolute",top:r(e.lineWidth).mul(-1).equal(),insetInlineStart:r(e.lineWidth).mul(-1).equal(),display:"inline-block",width:`calc(100% + ${(0,E.zA)(e.lineWidth)} * 2)`,height:e.lineWidth,backgroundColor:e.colorPrimaryHover,content:'""'}}}}}}},eM=(0,k.bf)(["Button","compact"],e=>{let t=ee(e);return[(0,eO.G)(t),eT(t),eP(t)]},et);var eR=function(e,t){var r={};for(var n in e)Object.prototype.hasOwnProperty.call(e,n)&&0>t.indexOf(n)&&(r[n]=e[n]);if(null!=e&&"function"==typeof Object.getOwnPropertySymbols)for(var i=0,n=Object.getOwnPropertySymbols(e);i<n.length;i++)0>t.indexOf(n[i])&&Object.prototype.propertyIsEnumerable.call(e,n[i])&&(r[n[i]]=e[n[i]]);return r};function e$(e){if("object"==typeof e&&e){let t=null==e?void 0:e.delay;return{loading:(t=Number.isNaN(t)||"number"!=typeof t?0:t)<=0,delay:t}}return{loading:!!e,delay:0}}let ej={default:["default","outlined"],primary:["primary","solid"],dashed:["default","dashed"],link:["primary","link"],text:["default","text"]},eN=n.forwardRef((e,t)=>{var r,i,d,p;let{loading:g=!1,prefixCls:b,color:_,variant:w,type:x,danger:S=!1,shape:E="default",size:C,styles:O,disabled:k,className:I,rootClassName:T,children:P,icon:M,iconPosition:R="start",ghost:$=!1,block:j=!1,htmlType:N="button",classNames:B,style:L={},autoInsertSpace:z}=e,F=eR(e,["loading","prefixCls","color","variant","type","danger","shape","size","styles","disabled","className","rootClassName","children","icon","iconPosition","ghost","block","htmlType","classNames","style","autoInsertSpace"]),D=x||"default",[U,H]=(0,n.useMemo)(()=>{if(_&&w)return[_,w];let e=ej[D]||[];return S?["danger",e[1]]:e},[x,_,w,S]),G="danger"===U?"dangerous":U,{getPrefixCls:W,direction:V,button:q}=(0,n.useContext)(u.QO),X=null==(r=null!=z?z:null==q?void 0:q.autoInsertSpace)||r,Y=W("btn",b),[Z,K,J]=eC(Y),Q=(0,n.useContext)(c.A),ee=null!=k?k:Q,et=(0,n.useContext)(m),er=(0,n.useMemo)(()=>e$(g),[g]),[en,ei]=(0,n.useState)(er.loading),[eo,ea]=(0,n.useState)(!1),es=(0,n.createRef)(),el=(0,s.K4)(t,es),eu=1===n.Children.count(P)&&!M&&!(0,v.u1)(H);(0,n.useEffect)(()=>{let e=null;return er.delay>0?e=setTimeout(()=>{e=null,ei(!0)},er.delay):ei(er.loading),function(){e&&(clearTimeout(e),e=null)}},[er]),(0,n.useEffect)(()=>{if(!el||!el.current||!X)return;let e=el.current.textContent;eu&&(0,v.Ap)(e)?eo||ea(!0):eo&&ea(!1)},[el]);let ec=n.useCallback(t=>{var r;en||ee?t.preventDefault():null==(r=e.onClick)||r.call(e,t)},[e.onClick,en,ee]),{compactSize:ef,compactItemClassnames:eh}=(0,h.RQ)(Y,V),ed={large:"lg",small:"sm",middle:void 0},ep=(0,f.A)(e=>{var t,r;return null!=(r=null!=(t=null!=C?C:ef)?t:et)?r:e}),em=ep&&null!=(i=ed[ep])?i:"",eg=en?"loading":M,ev=(0,a.A)(F,["navigate"]),ey=o()(Y,K,J,{[`${Y}-${E}`]:"default"!==E&&E,[`${Y}-${D}`]:D,[`${Y}-dangerous`]:S,[`${Y}-color-${G}`]:G,[`${Y}-variant-${H}`]:H,[`${Y}-${em}`]:em,[`${Y}-icon-only`]:!P&&0!==P&&!!eg,[`${Y}-background-ghost`]:$&&!(0,v.u1)(H),[`${Y}-loading`]:en,[`${Y}-two-chinese-chars`]:eo&&X&&!en,[`${Y}-block`]:j,[`${Y}-rtl`]:"rtl"===V,[`${Y}-icon-end`]:"end"===R},eh,I,T,null==q?void 0:q.className),eb=Object.assign(Object.assign({},null==q?void 0:q.style),L),e_=o()(null==B?void 0:B.icon,null==(d=null==q?void 0:q.classNames)?void 0:d.icon),ew=Object.assign(Object.assign({},(null==O?void 0:O.icon)||{}),(null==(p=null==q?void 0:q.styles)?void 0:p.icon)||{}),ex=M&&!en?n.createElement(y,{prefixCls:Y,className:e_,style:ew},M):n.createElement(A,{existIcon:!!M,prefixCls:Y,loading:en}),eS=P||0===P?(0,v.uR)(P,eu&&X):null;if(void 0!==ev.href)return Z(n.createElement("a",Object.assign({},ev,{className:o()(ey,{[`${Y}-disabled`]:ee}),href:ee?void 0:ev.href,style:eb,onClick:ec,ref:el,tabIndex:ee?-1:0}),ex,eS));let eA=n.createElement("button",Object.assign({},F,{type:N,className:ey,style:eb,onClick:ec,disabled:ee,ref:el}),ex,eS,!!eh&&n.createElement(eM,{key:"compact",prefixCls:Y}));return(0,v.u1)(H)||(eA=n.createElement(l.A,{component:"Button",disabled:en},eA)),Z(eA)});eN.Group=g,eN.__ANT_BUTTON=!0;let eB=eN},53509:function(e,t,r){"use strict";r.d(t,{A:()=>T});var n=r(22155),i=r(38487),o=r.n(i),a=r(63534),s=r(37233),l=r(7512),u=r(15950),c=r(32649),f=r(51225),h=r(61308),d=r(75983);let p=n.createContext(null);var m=r(19155),g=r(78091),v=r(88077),y=r(49528);let b=e=>{let{checkboxCls:t}=e,r=`${t}-wrapper`;return[{[`${t}-group`]:Object.assign(Object.assign({},(0,g.dF)(e)),{display:"inline-flex",flexWrap:"wrap",columnGap:e.marginXS,[`> ${e.antCls}-row`]:{flex:1}}),[r]:Object.assign(Object.assign({},(0,g.dF)(e)),{display:"inline-flex",alignItems:"baseline",cursor:"pointer","&:after":{display:"inline-block",width:0,overflow:"hidden",content:"'\\a0'"},[`& + ${r}`]:{marginInlineStart:0},[`&${r}-in-form-item`]:{'input[type="checkbox"]':{width:14,height:14}}}),[t]:Object.assign(Object.assign({},(0,g.dF)(e)),{position:"relative",whiteSpace:"nowrap",lineHeight:1,cursor:"pointer",borderRadius:e.borderRadiusSM,alignSelf:"center",[`${t}-input`]:{position:"absolute",inset:0,zIndex:1,cursor:"pointer",opacity:0,margin:0,[`&:focus-visible + ${t}-inner`]:Object.assign({},(0,g.jk)(e))},[`${t}-inner`]:{boxSizing:"border-box",display:"block",width:e.checkboxSize,height:e.checkboxSize,direction:"ltr",backgroundColor:e.colorBgContainer,border:`${(0,m.zA)(e.lineWidth)} ${e.lineType} ${e.colorBorder}`,borderRadius:e.borderRadiusSM,borderCollapse:"separate",transition:`all ${e.motionDurationSlow}`,"&:after":{boxSizing:"border-box",position:"absolute",top:"50%",insetInlineStart:"25%",display:"table",width:e.calc(e.checkboxSize).div(14).mul(5).equal(),height:e.calc(e.checkboxSize).div(14).mul(8).equal(),border:`${(0,m.zA)(e.lineWidthBold)} solid ${e.colorWhite}`,borderTop:0,borderInlineStart:0,transform:"rotate(45deg) scale(0) translate(-50%,-50%)",opacity:0,content:'""',transition:`all ${e.motionDurationFast} ${e.motionEaseInBack}, opacity ${e.motionDurationFast}`}},"& + span":{paddingInlineStart:e.paddingXS,paddingInlineEnd:e.paddingXS}})},{[`
|
|
@@ -323,7 +323,7 @@ ${t}`)}return a})(e9);class tt extends e8{list(e,t={},r){return this._client.get
|
|
|
323
323
|
${tB(e)}`);if(null==o)throw new h(`missing choices[${n}].tool_calls[${r}].type
|
|
324
324
|
${tB(e)}`);if(null==u)throw new h(`missing choices[${n}].tool_calls[${r}].function.name
|
|
325
325
|
${tB(e)}`);if(null==l)throw new h(`missing choices[${n}].tool_calls[${r}].function.arguments
|
|
326
|
-
${tB(e)}`);return{...s,id:a,type:o,function:{...c,name:u,arguments:l}}})}}:{...o,message:{...u,content:a,role:c,refusal:t.refusal??null},finish_reason:r,index:n,logprobs:i}}),created:i,model:o,object:"chat.completion",...a?{system_fingerprint:a}:{}},t)}function tB(e){return JSON.stringify(e)}class tL extends tj{static fromReadableStream(e){let t=new tL(null);return t._run(()=>t._fromReadableStream(e)),t}static runTools(e,t,r){let n=new tL(t),i={...r,headers:{...r?.headers,"X-Stainless-Helper-Method":"runTools"}};return n._run(()=>n._runTools(e,t,i)),n}}class tz extends e8{constructor(){super(...arguments),this.messages=new tt(this._client)}create(e,t){return this._client.post("/chat/completions",{body:e,...t,stream:e.stream??!1})}retrieve(e,t){return this._client.get(te`/chat/completions/${e}`,t)}update(e,t,r){return this._client.post(te`/chat/completions/${e}`,{body:t,...r})}list(e={},t){return this._client.getAPIList("/chat/completions",eF,{query:e,...t})}delete(e,t){return this._client.delete(te`/chat/completions/${e}`,t)}parse(e,t){return th(e.tools),this._client.chat.completions.create(e,{...t,headers:{...t?.headers,"X-Stainless-Helper-Method":"chat.completions.parse"}})._thenUnwrap(t=>ta(t,e))}runTools(e,t){return e.stream?tL.runTools(this._client,e,t):tb.runTools(this._client,e,t)}stream(e,t){return tj.createChatCompletion(this._client,e,t)}}tz.Messages=tt;class tF extends e8{constructor(){super(...arguments),this.completions=new tz(this._client)}}tF.Completions=tz;let tD=Symbol("brand.privateNullableHeaders");function*tU(e){let t;if(!e)return;if(tD in e){let{values:t,nulls:r}=e;for(let e of(yield*t.entries(),r))yield[e,null];return}let r=!1;for(let n of(e instanceof Headers?t=e.entries():P(e)?t=e:(r=!0,t=Object.entries(e??{})),t)){let e=n[0];if("string"!=typeof e)throw TypeError("expected header name to be a string");let t=P(n[1])?n[1]:[n[1]],i=!1;for(let n of t)void 0!==n&&(r&&!i&&(i=!0,yield[e,null]),yield[e,n])}}let tH=e=>{let t=new Headers,r=new Set;for(let n of e){let e=new Set;for(let[i,o]of tU(n)){let n=i.toLowerCase();e.has(n)||(t.delete(i),e.add(n)),null===o?(t.delete(i),r.add(n)):(t.append(i,o),r.delete(n))}}return{[tD]:!0,values:t,nulls:r}};class tG extends e8{create(e,t){return this._client.post("/audio/speech",{body:e,...t,headers:tH([{Accept:"application/octet-stream"},t?.headers]),__binaryResponse:!0})}}class tW extends e8{create(e,t){return this._client.post("/audio/transcriptions",eq({body:e,...t,stream:e.stream??!1,__metadata:{model:e.model}},this._client))}}class tV extends e8{create(e,t){return this._client.post("/audio/translations",eq({body:e,...t,__metadata:{model:e.model}},this._client))}}class tq extends e8{constructor(){super(...arguments),this.transcriptions=new tW(this._client),this.translations=new tV(this._client),this.speech=new tG(this._client)}}tq.Transcriptions=tW,tq.Translations=tV,tq.Speech=tG;class tX extends e8{create(e,t){return this._client.post("/batches",{body:e,...t})}retrieve(e,t){return this._client.get(te`/batches/${e}`,t)}list(e={},t){return this._client.getAPIList("/batches",eF,{query:e,...t})}cancel(e,t){return this._client.post(te`/batches/${e}/cancel`,t)}}class tY extends e8{create(e,t){return this._client.post("/assistants",{body:e,...t,headers:tH([{"OpenAI-Beta":"assistants=v2"},t?.headers])})}retrieve(e,t){return this._client.get(te`/assistants/${e}`,{...t,headers:tH([{"OpenAI-Beta":"assistants=v2"},t?.headers])})}update(e,t,r){return this._client.post(te`/assistants/${e}`,{body:t,...r,headers:tH([{"OpenAI-Beta":"assistants=v2"},r?.headers])})}list(e={},t){return this._client.getAPIList("/assistants",eF,{query:e,...t,headers:tH([{"OpenAI-Beta":"assistants=v2"},t?.headers])})}delete(e,t){return this._client.delete(te`/assistants/${e}`,{...t,headers:tH([{"OpenAI-Beta":"assistants=v2"},t?.headers])})}}class tZ extends e8{create(e,t){return this._client.post("/realtime/sessions",{body:e,...t,headers:tH([{"OpenAI-Beta":"assistants=v2"},t?.headers])})}}class tK extends e8{create(e,t){return this._client.post("/realtime/transcription_sessions",{body:e,...t,headers:tH([{"OpenAI-Beta":"assistants=v2"},t?.headers])})}}class tJ extends e8{constructor(){super(...arguments),this.sessions=new tZ(this._client),this.transcriptionSessions=new tK(this._client)}}tJ.Sessions=tZ,tJ.TranscriptionSessions=tK;class tQ extends e8{create(e,t){return this._client.post("/chatkit/sessions",{body:e,...t,headers:tH([{"OpenAI-Beta":"chatkit_beta=v1"},t?.headers])})}cancel(e,t){return this._client.post(te`/chatkit/sessions/${e}/cancel`,{...t,headers:tH([{"OpenAI-Beta":"chatkit_beta=v1"},t?.headers])})}}class t0 extends e8{retrieve(e,t){return this._client.get(te`/chatkit/threads/${e}`,{...t,headers:tH([{"OpenAI-Beta":"chatkit_beta=v1"},t?.headers])})}list(e={},t){return this._client.getAPIList("/chatkit/threads",eD,{query:e,...t,headers:tH([{"OpenAI-Beta":"chatkit_beta=v1"},t?.headers])})}delete(e,t){return this._client.delete(te`/chatkit/threads/${e}`,{...t,headers:tH([{"OpenAI-Beta":"chatkit_beta=v1"},t?.headers])})}listItems(e,t={},r){return this._client.getAPIList(te`/chatkit/threads/${e}/items`,eD,{query:t,...r,headers:tH([{"OpenAI-Beta":"chatkit_beta=v1"},r?.headers])})}}class t1 extends e8{constructor(){super(...arguments),this.sessions=new tQ(this._client),this.threads=new t0(this._client)}uploadFile(e,t){return this._client.post("/chatkit/files",eV({body:e,...t,headers:tH([{"OpenAI-Beta":"chatkit_beta=v1"},t?.headers])},this._client))}}t1.Sessions=tQ,t1.Threads=t0;class t2 extends e8{create(e,t,r){return this._client.post(te`/threads/${e}/messages`,{body:t,...r,headers:tH([{"OpenAI-Beta":"assistants=v2"},r?.headers])})}retrieve(e,t,r){let{thread_id:n}=t;return this._client.get(te`/threads/${n}/messages/${e}`,{...r,headers:tH([{"OpenAI-Beta":"assistants=v2"},r?.headers])})}update(e,t,r){let{thread_id:n,...i}=t;return this._client.post(te`/threads/${n}/messages/${e}`,{body:i,...r,headers:tH([{"OpenAI-Beta":"assistants=v2"},r?.headers])})}list(e,t={},r){return this._client.getAPIList(te`/threads/${e}/messages`,eF,{query:t,...r,headers:tH([{"OpenAI-Beta":"assistants=v2"},r?.headers])})}delete(e,t,r){let{thread_id:n}=t;return this._client.delete(te`/threads/${n}/messages/${e}`,{...r,headers:tH([{"OpenAI-Beta":"assistants=v2"},r?.headers])})}}class t3 extends e8{retrieve(e,t,r){let{thread_id:n,run_id:i,...o}=t;return this._client.get(te`/threads/${n}/runs/${i}/steps/${e}`,{query:o,...r,headers:tH([{"OpenAI-Beta":"assistants=v2"},r?.headers])})}list(e,t,r){let{thread_id:n,...i}=t;return this._client.getAPIList(te`/threads/${n}/runs/${e}/steps`,eF,{query:i,...r,headers:tH([{"OpenAI-Beta":"assistants=v2"},r?.headers])})}}var t5,t4,t6,t8,t9,t7,re,rt,rr,rn,ri,ro,ra,rs,rl,ru,rc,rf,rh,rd,rp,rm,rg,rv,ry,rb,r_,rw,rx,rS,rA,rE,rC,rO,rk,rI,rT,rP,rM,rR,r$,rj,rN,rB,rL,rz,rF,rD,rU,rH,rG,rW,rV,rq,rX,rY,rZ,rK,rJ,rQ,r0,r1,r2,r3,r5,r4,r6,r8,r9,r7,ne,nt,nr,nn,ni,no,na=r(8963).Buffer;let ns=e=>{if(void 0!==na){let t=na.from(e,"base64");return Array.from(new Float32Array(t.buffer,t.byteOffset,t.length/Float32Array.BYTES_PER_ELEMENT))}{let t=atob(e),r=t.length,n=new Uint8Array(r);for(let e=0;e<r;e++)n[e]=t.charCodeAt(e);return Array.from(new Float32Array(n.buffer))}},nl=e=>void 0!==globalThis.process?globalThis.process.env?.[e]?.trim()??void 0:void 0!==globalThis.Deno?globalThis.Deno.env?.get?.(e)?.trim():void 0;class nu extends tm{constructor(){super(...arguments),rM.add(this),r$.set(this,[]),rj.set(this,{}),rN.set(this,{}),rB.set(this,void 0),rL.set(this,void 0),rz.set(this,void 0),rF.set(this,void 0),rD.set(this,void 0),rU.set(this,void 0),rH.set(this,void 0),rG.set(this,void 0),rW.set(this,void 0)}[(r$=new WeakMap,rj=new WeakMap,rN=new WeakMap,rB=new WeakMap,rL=new WeakMap,rz=new WeakMap,rF=new WeakMap,rD=new WeakMap,rU=new WeakMap,rH=new WeakMap,rG=new WeakMap,rW=new WeakMap,rM=new WeakSet,Symbol.asyncIterator)](){let e=[],t=[],r=!1;return this.on("event",r=>{let n=t.shift();n?n.resolve(r):e.push(r)}),this.on("end",()=>{for(let e of(r=!0,t))e.resolve(void 0);t.length=0}),this.on("abort",e=>{for(let n of(r=!0,t))n.reject(e);t.length=0}),this.on("error",e=>{for(let n of(r=!0,t))n.reject(e);t.length=0}),{next:async()=>e.length?{value:e.shift(),done:!1}:r?{value:void 0,done:!0}:new Promise((e,r)=>t.push({resolve:e,reject:r})).then(e=>e?{value:e,done:!1}:{value:void 0,done:!0}),return:async()=>(this.abort(),{value:void 0,done:!0})}}static fromReadableStream(e){let t=new rR;return t._run(()=>t._fromReadableStream(e)),t}async _fromReadableStream(e,t){let r=t?.signal;r&&(r.aborted&&this.controller.abort(),r.addEventListener("abort",()=>this.controller.abort())),this._connected();let n=eI.fromReadableStream(e,this.controller);for await(let e of n)l(this,rM,"m",rV).call(this,e);if(n.controller.signal?.aborted)throw new p;return this._addRun(l(this,rM,"m",rq).call(this))}toReadableStream(){return new eI(this[Symbol.asyncIterator].bind(this),this.controller).toReadableStream()}static createToolAssistantStream(e,t,r,n){let i=new rR;return i._run(()=>i._runToolAssistantStream(e,t,r,{...n,headers:{...n?.headers,"X-Stainless-Helper-Method":"stream"}})),i}async _createToolAssistantStream(e,t,r,n){let i=n?.signal;i&&(i.aborted&&this.controller.abort(),i.addEventListener("abort",()=>this.controller.abort()));let o={...r,stream:!0},a=await e.submitToolOutputs(t,o,{...n,signal:this.controller.signal});for await(let e of(this._connected(),a))l(this,rM,"m",rV).call(this,e);if(a.controller.signal?.aborted)throw new p;return this._addRun(l(this,rM,"m",rq).call(this))}static createThreadAssistantStream(e,t,r){let n=new rR;return n._run(()=>n._threadAssistantStream(e,t,{...r,headers:{...r?.headers,"X-Stainless-Helper-Method":"stream"}})),n}static createAssistantStream(e,t,r,n){let i=new rR;return i._run(()=>i._runAssistantStream(e,t,r,{...n,headers:{...n?.headers,"X-Stainless-Helper-Method":"stream"}})),i}currentEvent(){return l(this,rH,"f")}currentRun(){return l(this,rG,"f")}currentMessageSnapshot(){return l(this,rB,"f")}currentRunStepSnapshot(){return l(this,rW,"f")}async finalRunSteps(){return await this.done(),Object.values(l(this,rj,"f"))}async finalMessages(){return await this.done(),Object.values(l(this,rN,"f"))}async finalRun(){if(await this.done(),!l(this,rL,"f"))throw Error("Final run was not received.");return l(this,rL,"f")}async _createThreadAssistantStream(e,t,r){let n=r?.signal;n&&(n.aborted&&this.controller.abort(),n.addEventListener("abort",()=>this.controller.abort()));let i={...t,stream:!0},o=await e.createAndRun(i,{...r,signal:this.controller.signal});for await(let e of(this._connected(),o))l(this,rM,"m",rV).call(this,e);if(o.controller.signal?.aborted)throw new p;return this._addRun(l(this,rM,"m",rq).call(this))}async _createAssistantStream(e,t,r,n){let i=n?.signal;i&&(i.aborted&&this.controller.abort(),i.addEventListener("abort",()=>this.controller.abort()));let o={...r,stream:!0},a=await e.create(t,o,{...n,signal:this.controller.signal});for await(let e of(this._connected(),a))l(this,rM,"m",rV).call(this,e);if(a.controller.signal?.aborted)throw new p;return this._addRun(l(this,rM,"m",rq).call(this))}static accumulateDelta(e,t){for(let[r,n]of Object.entries(t)){if(!e.hasOwnProperty(r)){e[r]=n;continue}let t=e[r];if(null==t||"index"===r||"type"===r){e[r]=n;continue}if("string"==typeof t&&"string"==typeof n)t+=n;else if("number"==typeof t&&"number"==typeof n)t+=n;else if(j(t)&&j(n))t=this.accumulateDelta(t,n);else if(Array.isArray(t)&&Array.isArray(n)){if(t.every(e=>"string"==typeof e||"number"==typeof e)){t.push(...n);continue}for(let e of n){if(!j(e))throw Error(`Expected array delta entry to be an object but got: ${e}`);let r=e.index;if(null==r)throw console.error(e),Error("Expected array delta entry to have an `index` property");if("number"!=typeof r)throw Error(`Expected array delta entry \`index\` property to be a number but got ${r}`);let n=t[r];null==n?t.push(e):t[r]=this.accumulateDelta(n,e)}continue}else throw Error(`Unhandled record type: ${r}, deltaValue: ${n}, accValue: ${t}`);e[r]=t}return e}_addRun(e){return e}async _threadAssistantStream(e,t,r){return await this._createThreadAssistantStream(t,e,r)}async _runAssistantStream(e,t,r,n){return await this._createAssistantStream(t,e,r,n)}async _runToolAssistantStream(e,t,r,n){return await this._createToolAssistantStream(t,e,r,n)}}rR=nu,rV=function(e){if(!this.ended)switch(s(this,rH,e,"f"),l(this,rM,"m",rZ).call(this,e),e.event){case"thread.created":break;case"thread.run.created":case"thread.run.queued":case"thread.run.in_progress":case"thread.run.requires_action":case"thread.run.completed":case"thread.run.incomplete":case"thread.run.failed":case"thread.run.cancelling":case"thread.run.cancelled":case"thread.run.expired":l(this,rM,"m",r0).call(this,e);break;case"thread.run.step.created":case"thread.run.step.in_progress":case"thread.run.step.delta":case"thread.run.step.completed":case"thread.run.step.failed":case"thread.run.step.cancelled":case"thread.run.step.expired":l(this,rM,"m",rY).call(this,e);break;case"thread.message.created":case"thread.message.in_progress":case"thread.message.delta":case"thread.message.completed":case"thread.message.incomplete":l(this,rM,"m",rX).call(this,e);break;case"error":throw Error("Encountered an error event in event processing - errors should be processed earlier")}},rq=function(){if(this.ended)throw new h("stream has ended, this shouldn't happen");if(!l(this,rL,"f"))throw Error("Final run has not been received");return l(this,rL,"f")},rX=function(e){let[t,r]=l(this,rM,"m",rJ).call(this,e,l(this,rB,"f"));for(let e of(s(this,rB,t,"f"),l(this,rN,"f")[t.id]=t,r)){let r=t.content[e.index];r?.type=="text"&&this._emit("textCreated",r.text)}switch(e.event){case"thread.message.created":this._emit("messageCreated",e.data);break;case"thread.message.in_progress":break;case"thread.message.delta":if(this._emit("messageDelta",e.data.delta,t),e.data.delta.content)for(let r of e.data.delta.content){if("text"==r.type&&r.text){let e=r.text,n=t.content[r.index];if(n&&"text"==n.type)this._emit("textDelta",e,n.text);else throw Error("The snapshot associated with this text delta is not text or missing")}if(r.index!=l(this,rz,"f")){if(l(this,rF,"f"))switch(l(this,rF,"f").type){case"text":this._emit("textDone",l(this,rF,"f").text,l(this,rB,"f"));break;case"image_file":this._emit("imageFileDone",l(this,rF,"f").image_file,l(this,rB,"f"))}s(this,rz,r.index,"f")}s(this,rF,t.content[r.index],"f")}break;case"thread.message.completed":case"thread.message.incomplete":if(void 0!==l(this,rz,"f")){let t=e.data.content[l(this,rz,"f")];if(t)switch(t.type){case"image_file":this._emit("imageFileDone",t.image_file,l(this,rB,"f"));break;case"text":this._emit("textDone",t.text,l(this,rB,"f"))}}l(this,rB,"f")&&this._emit("messageDone",e.data),s(this,rB,void 0,"f")}},rY=function(e){let t=l(this,rM,"m",rK).call(this,e);switch(s(this,rW,t,"f"),e.event){case"thread.run.step.created":this._emit("runStepCreated",e.data);break;case"thread.run.step.delta":let r=e.data.delta;if(r.step_details&&"tool_calls"==r.step_details.type&&r.step_details.tool_calls&&"tool_calls"==t.step_details.type)for(let e of r.step_details.tool_calls)e.index==l(this,rD,"f")?this._emit("toolCallDelta",e,t.step_details.tool_calls[e.index]):(l(this,rU,"f")&&this._emit("toolCallDone",l(this,rU,"f")),s(this,rD,e.index,"f"),s(this,rU,t.step_details.tool_calls[e.index],"f"),l(this,rU,"f")&&this._emit("toolCallCreated",l(this,rU,"f")));this._emit("runStepDelta",e.data.delta,t);break;case"thread.run.step.completed":case"thread.run.step.failed":case"thread.run.step.cancelled":case"thread.run.step.expired":s(this,rW,void 0,"f"),"tool_calls"==e.data.step_details.type&&l(this,rU,"f")&&(this._emit("toolCallDone",l(this,rU,"f")),s(this,rU,void 0,"f")),this._emit("runStepDone",e.data,t)}},rZ=function(e){l(this,r$,"f").push(e),this._emit("event",e)},rK=function(e){switch(e.event){case"thread.run.step.created":return l(this,rj,"f")[e.data.id]=e.data,e.data;case"thread.run.step.delta":let t=l(this,rj,"f")[e.data.id];if(!t)throw Error("Received a RunStepDelta before creation of a snapshot");let r=e.data;if(r.delta){let n=rR.accumulateDelta(t,r.delta);l(this,rj,"f")[e.data.id]=n}return l(this,rj,"f")[e.data.id];case"thread.run.step.completed":case"thread.run.step.failed":case"thread.run.step.cancelled":case"thread.run.step.expired":case"thread.run.step.in_progress":l(this,rj,"f")[e.data.id]=e.data}if(l(this,rj,"f")[e.data.id])return l(this,rj,"f")[e.data.id];throw Error("No snapshot available")},rJ=function(e,t){let r=[];switch(e.event){case"thread.message.created":return[e.data,r];case"thread.message.delta":if(!t)throw Error("Received a delta with no existing snapshot (there should be one from message creation)");let n=e.data;if(n.delta.content)for(let e of n.delta.content)if(e.index in t.content){let r=t.content[e.index];t.content[e.index]=l(this,rM,"m",rQ).call(this,e,r)}else t.content[e.index]=e,r.push(e);return[t,r];case"thread.message.in_progress":case"thread.message.completed":case"thread.message.incomplete":if(t)return[t,r];throw Error("Received thread message event with no existing snapshot")}throw Error("Tried to accumulate a non-message event")},rQ=function(e,t){return rR.accumulateDelta(t,e)},r0=function(e){switch(s(this,rG,e.data,"f"),e.event){case"thread.run.created":case"thread.run.queued":case"thread.run.in_progress":break;case"thread.run.requires_action":case"thread.run.cancelled":case"thread.run.failed":case"thread.run.completed":case"thread.run.expired":case"thread.run.incomplete":s(this,rL,e.data,"f"),l(this,rU,"f")&&(this._emit("toolCallDone",l(this,rU,"f")),s(this,rU,void 0,"f"))}};class nc extends e8{constructor(){super(...arguments),this.steps=new t3(this._client)}create(e,t,r){let{include:n,...i}=t;return this._client.post(te`/threads/${e}/runs`,{query:{include:n},body:i,...r,headers:tH([{"OpenAI-Beta":"assistants=v2"},r?.headers]),stream:t.stream??!1})}retrieve(e,t,r){let{thread_id:n}=t;return this._client.get(te`/threads/${n}/runs/${e}`,{...r,headers:tH([{"OpenAI-Beta":"assistants=v2"},r?.headers])})}update(e,t,r){let{thread_id:n,...i}=t;return this._client.post(te`/threads/${n}/runs/${e}`,{body:i,...r,headers:tH([{"OpenAI-Beta":"assistants=v2"},r?.headers])})}list(e,t={},r){return this._client.getAPIList(te`/threads/${e}/runs`,eF,{query:t,...r,headers:tH([{"OpenAI-Beta":"assistants=v2"},r?.headers])})}cancel(e,t,r){let{thread_id:n}=t;return this._client.post(te`/threads/${n}/runs/${e}/cancel`,{...r,headers:tH([{"OpenAI-Beta":"assistants=v2"},r?.headers])})}async createAndPoll(e,t,r){let n=await this.create(e,t,r);return await this.poll(n.id,{thread_id:e},r)}createAndStream(e,t,r){return nu.createAssistantStream(e,this._client.beta.threads.runs,t,r)}async poll(e,t,r){let n=tH([r?.headers,{"X-Stainless-Poll-Helper":"true","X-Stainless-Custom-Poll-Interval":r?.pollIntervalMs?.toString()??void 0}]);for(;;){let{data:i,response:o}=await this.retrieve(e,t,{...r,headers:{...r?.headers,...n}}).withResponse();switch(i.status){case"queued":case"in_progress":case"cancelling":let a=5e3;if(r?.pollIntervalMs)a=r.pollIntervalMs;else{let e=o.headers.get("openai-poll-after-ms");if(e){let t=parseInt(e);isNaN(t)||(a=t)}}await L(a);break;case"requires_action":case"incomplete":case"cancelled":case"completed":case"failed":case"expired":return i}}}stream(e,t,r){return nu.createAssistantStream(e,this._client.beta.threads.runs,t,r)}submitToolOutputs(e,t,r){let{thread_id:n,...i}=t;return this._client.post(te`/threads/${n}/runs/${e}/submit_tool_outputs`,{body:i,...r,headers:tH([{"OpenAI-Beta":"assistants=v2"},r?.headers]),stream:t.stream??!1})}async submitToolOutputsAndPoll(e,t,r){let n=await this.submitToolOutputs(e,t,r);return await this.poll(n.id,t,r)}submitToolOutputsStream(e,t,r){return nu.createToolAssistantStream(e,this._client.beta.threads.runs,t,r)}}nc.Steps=t3;class nf extends e8{constructor(){super(...arguments),this.runs=new nc(this._client),this.messages=new t2(this._client)}create(e={},t){return this._client.post("/threads",{body:e,...t,headers:tH([{"OpenAI-Beta":"assistants=v2"},t?.headers])})}retrieve(e,t){return this._client.get(te`/threads/${e}`,{...t,headers:tH([{"OpenAI-Beta":"assistants=v2"},t?.headers])})}update(e,t,r){return this._client.post(te`/threads/${e}`,{body:t,...r,headers:tH([{"OpenAI-Beta":"assistants=v2"},r?.headers])})}delete(e,t){return this._client.delete(te`/threads/${e}`,{...t,headers:tH([{"OpenAI-Beta":"assistants=v2"},t?.headers])})}createAndRun(e,t){return this._client.post("/threads/runs",{body:e,...t,headers:tH([{"OpenAI-Beta":"assistants=v2"},t?.headers]),stream:e.stream??!1})}async createAndRunPoll(e,t){let r=await this.createAndRun(e,t);return await this.runs.poll(r.id,{thread_id:r.thread_id},t)}createAndRunStream(e,t){return nu.createThreadAssistantStream(e,this._client.beta.threads,t)}}nf.Runs=nc,nf.Messages=t2;class nh extends e8{constructor(){super(...arguments),this.realtime=new tJ(this._client),this.chatkit=new t1(this._client),this.assistants=new tY(this._client),this.threads=new nf(this._client)}}nh.Realtime=tJ,nh.ChatKit=t1,nh.Assistants=tY,nh.Threads=nf;class nd extends e8{create(e,t){return this._client.post("/completions",{body:e,...t,stream:e.stream??!1})}}class np extends e8{retrieve(e,t,r){let{container_id:n}=t;return this._client.get(te`/containers/${n}/files/${e}/content`,{...r,headers:tH([{Accept:"application/binary"},r?.headers]),__binaryResponse:!0})}}class nm extends e8{constructor(){super(...arguments),this.content=new np(this._client)}create(e,t,r){return this._client.post(te`/containers/${e}/files`,eq({body:t,...r},this._client))}retrieve(e,t,r){let{container_id:n}=t;return this._client.get(te`/containers/${n}/files/${e}`,r)}list(e,t={},r){return this._client.getAPIList(te`/containers/${e}/files`,eF,{query:t,...r})}delete(e,t,r){let{container_id:n}=t;return this._client.delete(te`/containers/${n}/files/${e}`,{...r,headers:tH([{Accept:"*/*"},r?.headers])})}}nm.Content=np;class ng extends e8{constructor(){super(...arguments),this.files=new nm(this._client)}create(e,t){return this._client.post("/containers",{body:e,...t})}retrieve(e,t){return this._client.get(te`/containers/${e}`,t)}list(e={},t){return this._client.getAPIList("/containers",eF,{query:e,...t})}delete(e,t){return this._client.delete(te`/containers/${e}`,{...t,headers:tH([{Accept:"*/*"},t?.headers])})}}ng.Files=nm;class nv extends e8{create(e,t,r){let{include:n,...i}=t;return this._client.post(te`/conversations/${e}/items`,{query:{include:n},body:i,...r})}retrieve(e,t,r){let{conversation_id:n,...i}=t;return this._client.get(te`/conversations/${n}/items/${e}`,{query:i,...r})}list(e,t={},r){return this._client.getAPIList(te`/conversations/${e}/items`,eD,{query:t,...r})}delete(e,t,r){let{conversation_id:n}=t;return this._client.delete(te`/conversations/${n}/items/${e}`,r)}}class ny extends e8{constructor(){super(...arguments),this.items=new nv(this._client)}create(e={},t){return this._client.post("/conversations",{body:e,...t})}retrieve(e,t){return this._client.get(te`/conversations/${e}`,t)}update(e,t,r){return this._client.post(te`/conversations/${e}`,{body:t,...r})}delete(e,t){return this._client.delete(te`/conversations/${e}`,t)}}ny.Items=nv;class nb extends e8{create(e,t){let r=!!e.encoding_format,n=r?e.encoding_format:"base64";r&&eO(this._client).debug("embeddings/user defined encoding_format:",e.encoding_format);let i=this._client.post("/embeddings",{body:{...e,encoding_format:n},...t});return r?i:(eO(this._client).debug("embeddings/decoding base64 embeddings from base64"),i._thenUnwrap(e=>(e&&e.data&&e.data.forEach(e=>{let t=e.embedding;e.embedding=ns(t)}),e)))}}class n_ extends e8{retrieve(e,t,r){let{eval_id:n,run_id:i}=t;return this._client.get(te`/evals/${n}/runs/${i}/output_items/${e}`,r)}list(e,t,r){let{eval_id:n,...i}=t;return this._client.getAPIList(te`/evals/${n}/runs/${e}/output_items`,eF,{query:i,...r})}}class nw extends e8{constructor(){super(...arguments),this.outputItems=new n_(this._client)}create(e,t,r){return this._client.post(te`/evals/${e}/runs`,{body:t,...r})}retrieve(e,t,r){let{eval_id:n}=t;return this._client.get(te`/evals/${n}/runs/${e}`,r)}list(e,t={},r){return this._client.getAPIList(te`/evals/${e}/runs`,eF,{query:t,...r})}delete(e,t,r){let{eval_id:n}=t;return this._client.delete(te`/evals/${n}/runs/${e}`,r)}cancel(e,t,r){let{eval_id:n}=t;return this._client.post(te`/evals/${n}/runs/${e}`,r)}}nw.OutputItems=n_;class nx extends e8{constructor(){super(...arguments),this.runs=new nw(this._client)}create(e,t){return this._client.post("/evals",{body:e,...t})}retrieve(e,t){return this._client.get(te`/evals/${e}`,t)}update(e,t,r){return this._client.post(te`/evals/${e}`,{body:t,...r})}list(e={},t){return this._client.getAPIList("/evals",eF,{query:e,...t})}delete(e,t){return this._client.delete(te`/evals/${e}`,t)}}nx.Runs=nw;class nS extends e8{create(e,t){return this._client.post("/files",eq({body:e,...t},this._client))}retrieve(e,t){return this._client.get(te`/files/${e}`,t)}list(e={},t){return this._client.getAPIList("/files",eF,{query:e,...t})}delete(e,t){return this._client.delete(te`/files/${e}`,t)}content(e,t){return this._client.get(te`/files/${e}/content`,{...t,headers:tH([{Accept:"application/binary"},t?.headers]),__binaryResponse:!0})}async waitForProcessing(e,{pollInterval:t=5e3,maxWait:r=18e5}={}){let n=new Set(["processed","error","deleted"]),i=Date.now(),o=await this.retrieve(e);for(;!o.status||!n.has(o.status);)if(await L(t),o=await this.retrieve(e),Date.now()-i>r)throw new g({message:`Giving up on waiting for file ${e} to finish processing after ${r} milliseconds.`});return o}}class nA extends e8{}class nE extends e8{run(e,t){return this._client.post("/fine_tuning/alpha/graders/run",{body:e,...t})}validate(e,t){return this._client.post("/fine_tuning/alpha/graders/validate",{body:e,...t})}}class nC extends e8{constructor(){super(...arguments),this.graders=new nE(this._client)}}nC.Graders=nE;class nO extends e8{create(e,t,r){return this._client.getAPIList(te`/fine_tuning/checkpoints/${e}/permissions`,ez,{body:t,method:"post",...r})}retrieve(e,t={},r){return this._client.get(te`/fine_tuning/checkpoints/${e}/permissions`,{query:t,...r})}delete(e,t,r){let{fine_tuned_model_checkpoint:n}=t;return this._client.delete(te`/fine_tuning/checkpoints/${n}/permissions/${e}`,r)}}class nk extends e8{constructor(){super(...arguments),this.permissions=new nO(this._client)}}nk.Permissions=nO;class nI extends e8{list(e,t={},r){return this._client.getAPIList(te`/fine_tuning/jobs/${e}/checkpoints`,eF,{query:t,...r})}}class nT extends e8{constructor(){super(...arguments),this.checkpoints=new nI(this._client)}create(e,t){return this._client.post("/fine_tuning/jobs",{body:e,...t})}retrieve(e,t){return this._client.get(te`/fine_tuning/jobs/${e}`,t)}list(e={},t){return this._client.getAPIList("/fine_tuning/jobs",eF,{query:e,...t})}cancel(e,t){return this._client.post(te`/fine_tuning/jobs/${e}/cancel`,t)}listEvents(e,t={},r){return this._client.getAPIList(te`/fine_tuning/jobs/${e}/events`,eF,{query:t,...r})}pause(e,t){return this._client.post(te`/fine_tuning/jobs/${e}/pause`,t)}resume(e,t){return this._client.post(te`/fine_tuning/jobs/${e}/resume`,t)}}nT.Checkpoints=nI;class nP extends e8{constructor(){super(...arguments),this.methods=new nA(this._client),this.jobs=new nT(this._client),this.checkpoints=new nk(this._client),this.alpha=new nC(this._client)}}nP.Methods=nA,nP.Jobs=nT,nP.Checkpoints=nk,nP.Alpha=nC;class nM extends e8{}class nR extends e8{constructor(){super(...arguments),this.graderModels=new nM(this._client)}}nR.GraderModels=nM;class n$ extends e8{createVariation(e,t){return this._client.post("/images/variations",eq({body:e,...t},this._client))}edit(e,t){return this._client.post("/images/edits",eq({body:e,...t,stream:e.stream??!1},this._client))}generate(e,t){return this._client.post("/images/generations",{body:e,...t,stream:e.stream??!1})}}class nj extends e8{retrieve(e,t){return this._client.get(te`/models/${e}`,t)}list(e){return this._client.getAPIList("/models",ez,e)}delete(e,t){return this._client.delete(te`/models/${e}`,t)}}class nN extends e8{create(e,t){return this._client.post("/moderations",{body:e,...t})}}class nB extends e8{accept(e,t,r){return this._client.post(te`/realtime/calls/${e}/accept`,{body:t,...r,headers:tH([{Accept:"*/*"},r?.headers])})}hangup(e,t){return this._client.post(te`/realtime/calls/${e}/hangup`,{...t,headers:tH([{Accept:"*/*"},t?.headers])})}refer(e,t,r){return this._client.post(te`/realtime/calls/${e}/refer`,{body:t,...r,headers:tH([{Accept:"*/*"},r?.headers])})}reject(e,t={},r){return this._client.post(te`/realtime/calls/${e}/reject`,{body:t,...r,headers:tH([{Accept:"*/*"},r?.headers])})}}class nL extends e8{create(e,t){return this._client.post("/realtime/client_secrets",{body:e,...t})}}class nz extends e8{constructor(){super(...arguments),this.clientSecrets=new nL(this._client),this.calls=new nB(this._client)}}function nF(e,t){return t&&nH(t)?nD(e,t):{...e,output_parsed:null,output:e.output.map(e=>"function_call"===e.type?{...e,parsed_arguments:null}:"message"===e.type?{...e,content:e.content.map(e=>({...e,parsed:null}))}:e)}}function nD(e,t){let r=e.output.map(e=>{if("function_call"===e.type)return{...e,parsed_arguments:nV(t,e)};if("message"===e.type){let r=e.content.map(e=>"output_text"===e.type?{...e,parsed:nU(t,e.text)}:e);return{...e,content:r}}return e}),n=Object.assign({},e,{output:r});return Object.getOwnPropertyDescriptor(e,"output_text")||nq(n),Object.defineProperty(n,"output_parsed",{enumerable:!0,get(){for(let e of n.output)if("message"===e.type){for(let t of e.content)if("output_text"===t.type&&null!==t.parsed)return t.parsed}return null}}),n}function nU(e,t){return e.text?.format?.type!=="json_schema"?null:"$parseRaw"in e.text?.format?(e.text?.format).$parseRaw(t):JSON.parse(t)}function nH(e){return!!tn(e.text?.format)}function nG(e){return e?.$brand==="auto-parseable-tool"}function nW(e,t){return e.find(e=>"function"===e.type&&e.name===t)}function nV(e,t){let r=nW(e.tools??[],t.name);return{...t,...t,parsed_arguments:nG(r)?r.$parseRaw(t.arguments):r?.strict?JSON.parse(t.arguments):null}}function nq(e){let t=[];for(let r of e.output)if("message"===r.type)for(let e of r.content)"output_text"===e.type&&t.push(e.text);e.output_text=t.join("")}nz.ClientSecrets=nL,nz.Calls=nB;class nX extends tm{constructor(e){super(),r1.add(this),r2.set(this,void 0),r3.set(this,void 0),r5.set(this,void 0),s(this,r2,e,"f")}static createResponse(e,t,r){let n=new nX(t);return n._run(()=>n._createOrRetrieveResponse(e,t,{...r,headers:{...r?.headers,"X-Stainless-Helper-Method":"stream"}})),n}async _createOrRetrieveResponse(e,t,r){let n,i=r?.signal;i&&(i.aborted&&this.controller.abort(),i.addEventListener("abort",()=>this.controller.abort())),l(this,r1,"m",r4).call(this);let o=null;for await(let i of("response_id"in t?(n=await e.responses.retrieve(t.response_id,{stream:!0},{...r,signal:this.controller.signal,stream:!0}),o=t.starting_after??null):n=await e.responses.create({...t,stream:!0},{...r,signal:this.controller.signal}),this._connected(),n))l(this,r1,"m",r6).call(this,i,o);if(n.controller.signal?.aborted)throw new p;return l(this,r1,"m",r8).call(this)}[(r2=new WeakMap,r3=new WeakMap,r5=new WeakMap,r1=new WeakSet,r4=function(){this.ended||s(this,r3,void 0,"f")},r6=function(e,t){if(this.ended)return;let r=(e,r)=>{(null==t||r.sequence_number>t)&&this._emit(e,r)},n=l(this,r1,"m",r9).call(this,e);switch(r("event",e),e.type){case"response.output_text.delta":{let t=n.output[e.output_index];if(!t)throw new h(`missing output at index ${e.output_index}`);if("message"===t.type){let n=t.content[e.content_index];if(!n)throw new h(`missing content at index ${e.content_index}`);if("output_text"!==n.type)throw new h(`expected content to be 'output_text', got ${n.type}`);r("response.output_text.delta",{...e,snapshot:n.text})}break}case"response.function_call_arguments.delta":{let t=n.output[e.output_index];if(!t)throw new h(`missing output at index ${e.output_index}`);"function_call"===t.type&&r("response.function_call_arguments.delta",{...e,snapshot:t.arguments});break}default:r(e.type,e)}},r8=function(){if(this.ended)throw new h("stream has ended, this shouldn't happen");let e=l(this,r3,"f");if(!e)throw new h("request ended without sending any events");s(this,r3,void 0,"f");let t=nY(e,l(this,r2,"f"));return s(this,r5,t,"f"),t},r9=function(e){let t=l(this,r3,"f");if(!t){if("response.created"!==e.type)throw new h(`When snapshot hasn't been set yet, expected 'response.created' event, got ${e.type}`);return s(this,r3,e.response,"f")}switch(e.type){case"response.output_item.added":t.output.push(e.item);break;case"response.content_part.added":{let r=t.output[e.output_index];if(!r)throw new h(`missing output at index ${e.output_index}`);let n=r.type,i=e.part;"message"===n&&"reasoning_text"!==i.type?r.content.push(i):"reasoning"===n&&"reasoning_text"===i.type&&(r.content||(r.content=[]),r.content.push(i));break}case"response.output_text.delta":{let r=t.output[e.output_index];if(!r)throw new h(`missing output at index ${e.output_index}`);if("message"===r.type){let t=r.content[e.content_index];if(!t)throw new h(`missing content at index ${e.content_index}`);if("output_text"!==t.type)throw new h(`expected content to be 'output_text', got ${t.type}`);t.text+=e.delta}break}case"response.function_call_arguments.delta":{let r=t.output[e.output_index];if(!r)throw new h(`missing output at index ${e.output_index}`);"function_call"===r.type&&(r.arguments+=e.delta);break}case"response.reasoning_text.delta":{let r=t.output[e.output_index];if(!r)throw new h(`missing output at index ${e.output_index}`);if("reasoning"===r.type){let t=r.content?.[e.content_index];if(!t)throw new h(`missing content at index ${e.content_index}`);if("reasoning_text"!==t.type)throw new h(`expected content to be 'reasoning_text', got ${t.type}`);t.text+=e.delta}break}case"response.completed":s(this,r3,e.response,"f")}return t},Symbol.asyncIterator)](){let e=[],t=[],r=!1;return this.on("event",r=>{let n=t.shift();n?n.resolve(r):e.push(r)}),this.on("end",()=>{for(let e of(r=!0,t))e.resolve(void 0);t.length=0}),this.on("abort",e=>{for(let n of(r=!0,t))n.reject(e);t.length=0}),this.on("error",e=>{for(let n of(r=!0,t))n.reject(e);t.length=0}),{next:async()=>e.length?{value:e.shift(),done:!1}:r?{value:void 0,done:!0}:new Promise((e,r)=>t.push({resolve:e,reject:r})).then(e=>e?{value:e,done:!1}:{value:void 0,done:!0}),return:async()=>(this.abort(),{value:void 0,done:!0})}}async finalResponse(){await this.done();let e=l(this,r5,"f");if(!e)throw new h("stream ended without producing a ChatCompletion");return e}}function nY(e,t){return nF(e,t)}class nZ extends e8{list(e,t={},r){return this._client.getAPIList(te`/responses/${e}/input_items`,eF,{query:t,...r})}}class nK extends e8{constructor(){super(...arguments),this.inputItems=new nZ(this._client)}create(e,t){return this._client.post("/responses",{body:e,...t,stream:e.stream??!1})._thenUnwrap(e=>("object"in e&&"response"===e.object&&nq(e),e))}retrieve(e,t={},r){return this._client.get(te`/responses/${e}`,{query:t,...r,stream:t?.stream??!1})._thenUnwrap(e=>("object"in e&&"response"===e.object&&nq(e),e))}delete(e,t){return this._client.delete(te`/responses/${e}`,{...t,headers:tH([{Accept:"*/*"},t?.headers])})}parse(e,t){return this._client.responses.create(e,t)._thenUnwrap(t=>nD(t,e))}stream(e,t){return nX.createResponse(this._client,e,t)}cancel(e,t){return this._client.post(te`/responses/${e}/cancel`,t)}}nK.InputItems=nZ;class nJ extends e8{create(e,t,r){return this._client.post(te`/uploads/${e}/parts`,eq({body:t,...r},this._client))}}class nQ extends e8{constructor(){super(...arguments),this.parts=new nJ(this._client)}create(e,t){return this._client.post("/uploads",{body:e,...t})}cancel(e,t){return this._client.post(te`/uploads/${e}/cancel`,t)}complete(e,t,r){return this._client.post(te`/uploads/${e}/complete`,{body:t,...r})}}nQ.Parts=nJ;let n0=async e=>{let t=await Promise.allSettled(e),r=t.filter(e=>"rejected"===e.status);if(r.length){for(let e of r)console.error(e.reason);throw Error(`${r.length} promise(s) failed - see the above errors`)}let n=[];for(let e of t)"fulfilled"===e.status&&n.push(e.value);return n};class n1 extends e8{create(e,t,r){return this._client.post(te`/vector_stores/${e}/file_batches`,{body:t,...r,headers:tH([{"OpenAI-Beta":"assistants=v2"},r?.headers])})}retrieve(e,t,r){let{vector_store_id:n}=t;return this._client.get(te`/vector_stores/${n}/file_batches/${e}`,{...r,headers:tH([{"OpenAI-Beta":"assistants=v2"},r?.headers])})}cancel(e,t,r){let{vector_store_id:n}=t;return this._client.post(te`/vector_stores/${n}/file_batches/${e}/cancel`,{...r,headers:tH([{"OpenAI-Beta":"assistants=v2"},r?.headers])})}async createAndPoll(e,t,r){let n=await this.create(e,t);return await this.poll(e,n.id,r)}listFiles(e,t,r){let{vector_store_id:n,...i}=t;return this._client.getAPIList(te`/vector_stores/${n}/file_batches/${e}/files`,eF,{query:i,...r,headers:tH([{"OpenAI-Beta":"assistants=v2"},r?.headers])})}async poll(e,t,r){let n=tH([r?.headers,{"X-Stainless-Poll-Helper":"true","X-Stainless-Custom-Poll-Interval":r?.pollIntervalMs?.toString()??void 0}]);for(;;){let{data:i,response:o}=await this.retrieve(t,{vector_store_id:e},{...r,headers:n}).withResponse();switch(i.status){case"in_progress":let a=5e3;if(r?.pollIntervalMs)a=r.pollIntervalMs;else{let e=o.headers.get("openai-poll-after-ms");if(e){let t=parseInt(e);isNaN(t)||(a=t)}}await L(a);break;case"failed":case"cancelled":case"completed":return i}}}async uploadAndPoll(e,{files:t,fileIds:r=[]},n){if(null==t||0==t.length)throw Error("No `files` provided to process. If you've already uploaded files you should use `.createAndPoll()` instead");let i=Math.min(n?.maxConcurrency??5,t.length),o=this._client,a=t.values(),s=[...r];async function l(e){for(let t of e){let e=await o.files.create({file:t,purpose:"assistants"},n);s.push(e.id)}}let u=Array(i).fill(a).map(l);return await n0(u),await this.createAndPoll(e,{file_ids:s})}}class n2 extends e8{create(e,t,r){return this._client.post(te`/vector_stores/${e}/files`,{body:t,...r,headers:tH([{"OpenAI-Beta":"assistants=v2"},r?.headers])})}retrieve(e,t,r){let{vector_store_id:n}=t;return this._client.get(te`/vector_stores/${n}/files/${e}`,{...r,headers:tH([{"OpenAI-Beta":"assistants=v2"},r?.headers])})}update(e,t,r){let{vector_store_id:n,...i}=t;return this._client.post(te`/vector_stores/${n}/files/${e}`,{body:i,...r,headers:tH([{"OpenAI-Beta":"assistants=v2"},r?.headers])})}list(e,t={},r){return this._client.getAPIList(te`/vector_stores/${e}/files`,eF,{query:t,...r,headers:tH([{"OpenAI-Beta":"assistants=v2"},r?.headers])})}delete(e,t,r){let{vector_store_id:n}=t;return this._client.delete(te`/vector_stores/${n}/files/${e}`,{...r,headers:tH([{"OpenAI-Beta":"assistants=v2"},r?.headers])})}async createAndPoll(e,t,r){let n=await this.create(e,t,r);return await this.poll(e,n.id,r)}async poll(e,t,r){let n=tH([r?.headers,{"X-Stainless-Poll-Helper":"true","X-Stainless-Custom-Poll-Interval":r?.pollIntervalMs?.toString()??void 0}]);for(;;){let i=await this.retrieve(t,{vector_store_id:e},{...r,headers:n}).withResponse(),o=i.data;switch(o.status){case"in_progress":let a=5e3;if(r?.pollIntervalMs)a=r.pollIntervalMs;else{let e=i.response.headers.get("openai-poll-after-ms");if(e){let t=parseInt(e);isNaN(t)||(a=t)}}await L(a);break;case"failed":case"completed":return o}}}async upload(e,t,r){let n=await this._client.files.create({file:t,purpose:"assistants"},r);return this.create(e,{file_id:n.id},r)}async uploadAndPoll(e,t,r){let n=await this.upload(e,t,r);return await this.poll(e,n.id,r)}content(e,t,r){let{vector_store_id:n}=t;return this._client.getAPIList(te`/vector_stores/${n}/files/${e}/content`,ez,{...r,headers:tH([{"OpenAI-Beta":"assistants=v2"},r?.headers])})}}class n3 extends e8{constructor(){super(...arguments),this.files=new n2(this._client),this.fileBatches=new n1(this._client)}create(e,t){return this._client.post("/vector_stores",{body:e,...t,headers:tH([{"OpenAI-Beta":"assistants=v2"},t?.headers])})}retrieve(e,t){return this._client.get(te`/vector_stores/${e}`,{...t,headers:tH([{"OpenAI-Beta":"assistants=v2"},t?.headers])})}update(e,t,r){return this._client.post(te`/vector_stores/${e}`,{body:t,...r,headers:tH([{"OpenAI-Beta":"assistants=v2"},r?.headers])})}list(e={},t){return this._client.getAPIList("/vector_stores",eF,{query:e,...t,headers:tH([{"OpenAI-Beta":"assistants=v2"},t?.headers])})}delete(e,t){return this._client.delete(te`/vector_stores/${e}`,{...t,headers:tH([{"OpenAI-Beta":"assistants=v2"},t?.headers])})}search(e,t,r){return this._client.getAPIList(te`/vector_stores/${e}/search`,ez,{body:t,method:"post",...r,headers:tH([{"OpenAI-Beta":"assistants=v2"},r?.headers])})}}n3.Files=n2,n3.FileBatches=n1;class n5 extends e8{create(e,t){return this._client.post("/videos",eV({body:e,...t},this._client))}retrieve(e,t){return this._client.get(te`/videos/${e}`,t)}list(e={},t){return this._client.getAPIList("/videos",eD,{query:e,...t})}delete(e,t){return this._client.delete(te`/videos/${e}`,t)}downloadContent(e,t={},r){return this._client.get(te`/videos/${e}/content`,{query:t,...r,headers:tH([{Accept:"application/binary"},r?.headers]),__binaryResponse:!0})}remix(e,t,r){return this._client.post(te`/videos/${e}/remix`,eV({body:t,...r},this._client))}}var n4=r(8963).Buffer;class n6 extends e8{constructor(){super(...arguments),r7.add(this)}async unwrap(e,t,r=this._client.webhookSecret,n=300){return await this.verifySignature(e,t,r,n),JSON.parse(e)}async verifySignature(e,t,r=this._client.webhookSecret,n=300){if("undefined"==typeof crypto||"function"!=typeof crypto.subtle.importKey||"function"!=typeof crypto.subtle.verify)throw Error("Webhook signature verification is only supported when the `crypto` global is defined");l(this,r7,"m",ne).call(this,r);let i=tH([t]).values,o=l(this,r7,"m",nt).call(this,i,"webhook-signature"),a=l(this,r7,"m",nt).call(this,i,"webhook-timestamp"),s=l(this,r7,"m",nt).call(this,i,"webhook-id"),u=parseInt(a,10);if(isNaN(u))throw new O("Invalid webhook timestamp format");let c=Math.floor(Date.now()/1e3);if(c-u>n)throw new O("Webhook timestamp is too old");if(u>c+n)throw new O("Webhook timestamp is too new");let f=o.split(" ").map(e=>e.startsWith("v1,")?e.substring(3):e),h=r.startsWith("whsec_")?n4.from(r.replace("whsec_",""),"base64"):n4.from(r,"utf-8"),d=s?`${s}.${a}.${e}`:`${a}.${e}`,p=await crypto.subtle.importKey("raw",h,{name:"HMAC",hash:"SHA-256"},!1,["verify"]);for(let e of f)try{let t=n4.from(e,"base64");if(await crypto.subtle.verify("HMAC",p,t,new TextEncoder().encode(d)))return}catch{continue}throw new O("The given webhook signature does not match the expected signature")}}r7=new WeakSet,ne=function(e){if("string"!=typeof e||0===e.length)throw Error("The webhook secret must either be set using the env var, OPENAI_WEBHOOK_SECRET, on the client class, OpenAI({ webhookSecret: '123' }), or passed to this function")},nt=function(e,t){if(!e)throw Error("Headers are required");let r=e.get(t);if(null==r)throw Error(`Missing required header: ${t}`);return r};class n8{constructor({baseURL:e=nl("OPENAI_BASE_URL"),apiKey:t=nl("OPENAI_API_KEY"),organization:r=nl("OPENAI_ORG_ID")??null,project:n=nl("OPENAI_PROJECT_ID")??null,webhookSecret:i=nl("OPENAI_WEBHOOK_SECRET")??null,...o}={}){if(nr.add(this),ni.set(this,void 0),this.completions=new nd(this),this.chat=new tF(this),this.embeddings=new nb(this),this.files=new nS(this),this.images=new n$(this),this.audio=new tq(this),this.moderations=new nN(this),this.models=new nj(this),this.fineTuning=new nP(this),this.graders=new nR(this),this.vectorStores=new n3(this),this.webhooks=new n6(this),this.beta=new nh(this),this.batches=new tX(this),this.uploads=new nQ(this),this.responses=new nK(this),this.realtime=new nz(this),this.conversations=new ny(this),this.evals=new nx(this),this.containers=new ng(this),this.videos=new n5(this),void 0===t)throw new h("Missing credentials. Please pass an `apiKey`, or set the `OPENAI_API_KEY` environment variable.");const a={apiKey:t,organization:r,project:n,webhookSecret:i,...o,baseURL:e||"https://api.openai.com/v1"};if(!a.dangerouslyAllowBrowser&&z())throw new h("It looks like you're running in a browser-like environment.\n\nThis is disabled by default, as it risks exposing your secret API credentials to attackers.\nIf you understand the risks and have appropriate mitigations in place,\nyou can set the `dangerouslyAllowBrowser` option to `true`, e.g.,\n\nnew OpenAI({ apiKey, dangerouslyAllowBrowser: true });\n\nhttps://help.openai.com/en/articles/5112595-best-practices-for-api-key-safety\n");this.baseURL=a.baseURL,this.timeout=a.timeout??nn.DEFAULT_TIMEOUT,this.logger=a.logger??console;const l="warn";this.logLevel=l,this.logLevel=ex(a.logLevel,"ClientOptions.logLevel",this)??ex(nl("OPENAI_LOG"),"process.env['OPENAI_LOG']",this)??l,this.fetchOptions=a.fetchOptions,this.maxRetries=a.maxRetries??2,this.fetch=a.fetch??V(),s(this,ni,K,"f"),this._options=a,this.apiKey="string"==typeof t?t:"Missing Key",this.organization=r,this.project=n,this.webhookSecret=i}withOptions(e){return new this.constructor({...this._options,baseURL:this.baseURL,maxRetries:this.maxRetries,timeout:this.timeout,logger:this.logger,logLevel:this.logLevel,fetch:this.fetch,fetchOptions:this.fetchOptions,apiKey:this.apiKey,organization:this.organization,project:this.project,webhookSecret:this.webhookSecret,...e})}defaultQuery(){return this._options.defaultQuery}validateHeaders({values:e,nulls:t}){}async authHeaders(e){return tH([{Authorization:`Bearer ${this.apiKey}`}])}stringifyQuery(e){return ep(e,{arrayFormat:"brackets"})}getUserAgent(){return`${this.constructor.name}/JS 6.3.0`}defaultIdempotencyKey(){return`stainless-node-retry-${u()}`}makeStatusError(e,t,r,n){return d.generate(e,t,r,n)}async _callApiKey(){let e,t=this._options.apiKey;if("function"!=typeof t)return!1;try{e=await t()}catch(e){if(e instanceof h)throw e;throw new h(`Failed to get token from 'apiKey' function: ${e.message}`,{cause:e})}if("string"!=typeof e||!e)throw new h(`Expected 'apiKey' function argument to return a string but it returned ${e}`);return this.apiKey=e,!0}buildURL(e,t,r){let n=!l(this,nr,"m",no).call(this)&&r||this.baseURL,i=new URL(I(e)?e:n+(n.endsWith("/")&&e.startsWith("/")?e.slice(1):e)),o=this.defaultQuery();return R(o)||(t={...o,...t}),"object"==typeof t&&t&&!Array.isArray(t)&&(i.search=this.stringifyQuery(t)),i.toString()}async prepareOptions(e){await this._callApiKey()}async prepareRequest(e,{url:t,options:r}){}get(e,t){return this.methodRequest("get",e,t)}post(e,t){return this.methodRequest("post",e,t)}patch(e,t){return this.methodRequest("patch",e,t)}put(e,t){return this.methodRequest("put",e,t)}delete(e,t){return this.methodRequest("delete",e,t)}methodRequest(e,t,r){return this.request(Promise.resolve(r).then(r=>({method:e,path:t,...r})))}request(e,t=null){return new eN(this,this.makeRequest(e,t,void 0))}async makeRequest(e,t,r){let n=await e,i=n.maxRetries??this.maxRetries;null==t&&(t=i),await this.prepareOptions(n);let{req:o,url:a,timeout:s}=await this.buildRequest(n,{retryCount:i-t});await this.prepareRequest(o,{url:a,options:n});let l="log_"+(0x1000000*Math.random()|0).toString(16).padStart(6,"0"),u=void 0===r?"":`, retryOf: ${r}`,h=Date.now();if(eO(this).debug(`[${l}] sending request`,ek({retryOfRequestLogID:r,method:n.method,url:a,options:n,headers:o.headers})),n.signal?.aborted)throw new p;let d=new AbortController,v=await this.fetchWithTimeout(a,o,s,d).catch(f),y=Date.now();if(v instanceof globalThis.Error){let e=`retrying, ${t} attempts remaining`;if(n.signal?.aborted)throw new p;let i=c(v)||/timed? ?out/i.test(String(v)+("cause"in v?String(v.cause):""));if(t)return eO(this).info(`[${l}] connection ${i?"timed out":"failed"} - ${e}`),eO(this).debug(`[${l}] connection ${i?"timed out":"failed"} (${e})`,ek({retryOfRequestLogID:r,url:a,durationMs:y-h,message:v.message})),this.retryRequest(n,t,r??l);if(eO(this).info(`[${l}] connection ${i?"timed out":"failed"} - error; no more retries left`),eO(this).debug(`[${l}] connection ${i?"timed out":"failed"} (error; no more retries left)`,ek({retryOfRequestLogID:r,url:a,durationMs:y-h,message:v.message})),i)throw new g;throw new m({cause:v})}let b=[...v.headers.entries()].filter(([e])=>"x-request-id"===e).map(([e,t])=>", "+e+": "+JSON.stringify(t)).join(""),_=`[${l}${u}${b}] ${o.method} ${a} ${v.ok?"succeeded":"failed"} with status ${v.status} in ${y-h}ms`;if(!v.ok){let e=await this.shouldRetry(v);if(t&&e){let e=`retrying, ${t} attempts remaining`;return await Z(v.body),eO(this).info(`${_} - ${e}`),eO(this).debug(`[${l}] response error (${e})`,ek({retryOfRequestLogID:r,url:v.url,status:v.status,headers:v.headers,durationMs:y-h})),this.retryRequest(n,t,r??l,v.headers)}let i=e?"error; no more retries left":"error; not retryable";eO(this).info(`${_} - ${i}`);let o=await v.text().catch(e=>f(e).message),a=B(o),s=a?void 0:o;throw eO(this).debug(`[${l}] response error (${i})`,ek({retryOfRequestLogID:r,url:v.url,status:v.status,headers:v.headers,message:s,durationMs:Date.now()-h})),this.makeStatusError(v.status,a,s,v.headers)}return eO(this).info(_),eO(this).debug(`[${l}] response start`,ek({retryOfRequestLogID:r,url:v.url,status:v.status,headers:v.headers,durationMs:y-h})),{response:v,options:n,controller:d,requestLogID:l,retryOfRequestLogID:r,startTime:h}}getAPIList(e,t,r){return this.requestAPIList(t,{method:"get",path:e,...r})}requestAPIList(e,t){return new eL(this,this.makeRequest(t,null,void 0),e)}async fetchWithTimeout(e,t,r,n){let{signal:i,method:o,...a}=t||{};i&&i.addEventListener("abort",()=>n.abort());let s=setTimeout(()=>n.abort(),r),l=globalThis.ReadableStream&&a.body instanceof globalThis.ReadableStream||"object"==typeof a.body&&null!==a.body&&Symbol.asyncIterator in a.body,u={signal:n.signal,...l?{duplex:"half"}:{},method:"GET",...a};o&&(u.method=o.toUpperCase());try{return await this.fetch.call(void 0,e,u)}finally{clearTimeout(s)}}async shouldRetry(e){let t=e.headers.get("x-should-retry");return"true"===t||"false"!==t&&(408===e.status||409===e.status||429===e.status||!!(e.status>=500))}async retryRequest(e,t,r,n){let i,o=n?.get("retry-after-ms");if(o){let e=parseFloat(o);Number.isNaN(e)||(i=e)}let a=n?.get("retry-after");if(a&&!i){let e=parseFloat(a);i=Number.isNaN(e)?Date.parse(a)-Date.now():1e3*e}if(!(i&&0<=i&&i<6e4)){let r=e.maxRetries??this.maxRetries;i=this.calculateDefaultRetryTimeoutMillis(t,r)}return await L(i),this.makeRequest(e,t-1,r)}calculateDefaultRetryTimeoutMillis(e,t){return Math.min(.5*Math.pow(2,t-e),8)*(1-.25*Math.random())*1e3}async buildRequest(e,{retryCount:t=0}={}){let r={...e},{method:n,path:i,query:o,defaultBaseURL:a}=r,s=this.buildURL(i,o,a);"timeout"in r&&N("timeout",r.timeout),r.timeout=r.timeout??this.timeout;let{bodyHeaders:l,body:u}=this.buildBody({options:r}),c=await this.buildHeaders({options:e,method:n,bodyHeaders:l,retryCount:t});return{req:{method:n,headers:c,...r.signal&&{signal:r.signal},...globalThis.ReadableStream&&u instanceof globalThis.ReadableStream&&{duplex:"half"},...u&&{body:u},...this.fetchOptions??{},...r.fetchOptions??{}},url:s,timeout:r.timeout}}async buildHeaders({options:e,method:t,bodyHeaders:r,retryCount:n}){let i={};this.idempotencyHeader&&"get"!==t&&(e.idempotencyKey||(e.idempotencyKey=this.defaultIdempotencyKey()),i[this.idempotencyHeader]=e.idempotencyKey);let o=tH([i,{Accept:"application/json","User-Agent":this.getUserAgent(),"X-Stainless-Retry-Count":String(n),...e.timeout?{"X-Stainless-Timeout":String(Math.trunc(e.timeout/1e3))}:{},...W(),"OpenAI-Organization":this.organization,"OpenAI-Project":this.project},await this.authHeaders(e),this._options.defaultHeaders,r,e.headers]);return this.validateHeaders(o),o.values}buildBody({options:{body:e,headers:t}}){if(!e)return{bodyHeaders:void 0,body:void 0};let r=tH([t]);return ArrayBuffer.isView(e)||e instanceof ArrayBuffer||e instanceof DataView||"string"==typeof e&&r.values.has("content-type")||globalThis.Blob&&e instanceof globalThis.Blob||e instanceof FormData||e instanceof URLSearchParams||globalThis.ReadableStream&&e instanceof globalThis.ReadableStream?{bodyHeaders:void 0,body:e}:"object"==typeof e&&(Symbol.asyncIterator in e||Symbol.iterator in e&&"next"in e&&"function"==typeof e.next)?{bodyHeaders:void 0,body:X(e)}:l(this,ni,"f").call(this,{body:e,headers:r})}}nn=n8,ni=new WeakMap,nr=new WeakSet,no=function(){return"https://api.openai.com/v1"!==this.baseURL},n8.OpenAI=nn,n8.DEFAULT_TIMEOUT=6e5,n8.OpenAIError=h,n8.APIError=d,n8.APIConnectionError=m,n8.APIConnectionTimeoutError=g,n8.APIUserAbortError=p,n8.NotFoundError=_,n8.ConflictError=w,n8.RateLimitError=S,n8.BadRequestError=v,n8.AuthenticationError=y,n8.InternalServerError=A,n8.PermissionDeniedError=b,n8.UnprocessableEntityError=x,n8.InvalidWebhookSignatureError=O,n8.toFile=e5,n8.Completions=nd,n8.Chat=tF,n8.Embeddings=nb,n8.Files=nS,n8.Images=n$,n8.Audio=tq,n8.Moderations=nN,n8.Models=nj,n8.FineTuning=nP,n8.Graders=nR,n8.VectorStores=n3,n8.Webhooks=n6,n8.Beta=nh,n8.Batches=tX,n8.Uploads=nQ,n8.Responses=nK,n8.Realtime=nz,n8.Conversations=ny,n8.Evals=nx,n8.Containers=ng,n8.Videos=n5,r(85409)},87531:function(e,t,r){"use strict";let n;r.d(t,{GD:()=>e7});var i=r(78137),o="in vec2 aPosition;\nout vec2 vTextureCoord;\n\nuniform vec4 uInputSize;\nuniform vec4 uOutputFrame;\nuniform vec4 uOutputTexture;\n\nvec4 filterVertexPosition( void )\n{\n vec2 position = aPosition * uOutputFrame.zw + uOutputFrame.xy;\n \n position.x = position.x * (2.0 / uOutputTexture.x) - 1.0;\n position.y = position.y * (2.0*uOutputTexture.z / uOutputTexture.y) - uOutputTexture.z;\n\n return vec4(position, 0.0, 1.0);\n}\n\nvec2 filterTextureCoord( void )\n{\n return aPosition * (uOutputFrame.zw * uInputSize.zw);\n}\n\nvoid main(void)\n{\n gl_Position = filterVertexPosition();\n vTextureCoord = filterTextureCoord();\n}\n",a="struct GlobalFilterUniforms {\n uInputSize:vec4<f32>,\n uInputPixel:vec4<f32>,\n uInputClamp:vec4<f32>,\n uOutputFrame:vec4<f32>,\n uGlobalFrame:vec4<f32>,\n uOutputTexture:vec4<f32>,\n};\n\n@group(0) @binding(0) var<uniform> gfu: GlobalFilterUniforms;\n\nstruct VSOutput {\n @builtin(position) position: vec4<f32>,\n @location(0) uv : vec2<f32>\n };\n\nfn filterVertexPosition(aPosition:vec2<f32>) -> vec4<f32>\n{\n var position = aPosition * gfu.uOutputFrame.zw + gfu.uOutputFrame.xy;\n\n position.x = position.x * (2.0 / gfu.uOutputTexture.x) - 1.0;\n position.y = position.y * (2.0*gfu.uOutputTexture.z / gfu.uOutputTexture.y) - gfu.uOutputTexture.z;\n\n return vec4(position, 0.0, 1.0);\n}\n\nfn filterTextureCoord( aPosition:vec2<f32> ) -> vec2<f32>\n{\n return aPosition * (gfu.uOutputFrame.zw * gfu.uInputSize.zw);\n}\n\nfn globalTextureCoord( aPosition:vec2<f32> ) -> vec2<f32>\n{\n return (aPosition.xy / gfu.uGlobalFrame.zw) + (gfu.uGlobalFrame.xy / gfu.uGlobalFrame.zw); \n}\n\nfn getSize() -> vec2<f32>\n{\n return gfu.uGlobalFrame.zw;\n}\n \n@vertex\nfn mainVertex(\n @location(0) aPosition : vec2<f32>, \n) -> VSOutput {\n return VSOutput(\n filterVertexPosition(aPosition),\n filterTextureCoord(aPosition)\n );\n}",s="in vec2 vTextureCoord;\nout vec4 finalColor;\n\nuniform sampler2D uTexture;\nuniform float uGamma;\nuniform float uContrast;\nuniform float uSaturation;\nuniform float uBrightness;\nuniform vec4 uColor;\n\nvoid main()\n{\n vec4 c = texture(uTexture, vTextureCoord);\n\n if (c.a > 0.0) {\n c.rgb /= c.a;\n\n vec3 rgb = pow(c.rgb, vec3(1. / uGamma));\n rgb = mix(vec3(.5), mix(vec3(dot(vec3(.2125, .7154, .0721), rgb)), rgb, uSaturation), uContrast);\n rgb.r *= uColor.r;\n rgb.g *= uColor.g;\n rgb.b *= uColor.b;\n c.rgb = rgb * uBrightness;\n\n c.rgb *= c.a;\n }\n\n finalColor = c * uColor.a;\n}\n",l="struct AdjustmentUniforms {\n uGamma: f32,\n uContrast: f32,\n uSaturation: f32,\n uBrightness: f32,\n uColor: vec4<f32>,\n};\n\n@group(0) @binding(1) var uTexture: texture_2d<f32>; \n@group(0) @binding(2) var uSampler: sampler;\n@group(1) @binding(0) var<uniform> adjustmentUniforms : AdjustmentUniforms;\n\n@fragment\nfn mainFragment(\n @location(0) uv: vec2<f32>,\n @builtin(position) position: vec4<f32>\n) -> @location(0) vec4<f32> {\n var sample = textureSample(uTexture, uSampler, uv);\n let color = adjustmentUniforms.uColor;\n\n if (sample.a > 0.0) \n {\n sample = vec4<f32>(sample.rgb / sample.a, sample.a);\n var rgb: vec3<f32> = pow(sample.rgb, vec3<f32>(1. / adjustmentUniforms.uGamma));\n rgb = mix(vec3<f32>(.5), mix(vec3<f32>(dot(vec3<f32>(.2125, .7154, .0721), rgb)), rgb, adjustmentUniforms.uSaturation), adjustmentUniforms.uContrast);\n rgb.r *= color.r;\n rgb.g *= color.g;\n rgb.b *= color.b;\n sample = vec4<f32>(rgb.rgb * adjustmentUniforms.uBrightness, sample.a);\n sample = vec4<f32>(sample.rgb * sample.a, sample.a);\n }\n\n return sample * color.a;\n}",u=Object.defineProperty,c=(e,t,r)=>t in e?u(e,t,{enumerable:!0,configurable:!0,writable:!0,value:r}):e[t]=r,f=(e,t,r)=>(c(e,"symbol"!=typeof t?t+"":t,r),r);let h=class e extends i.dJT{constructor(t){t={...e.DEFAULT_OPTIONS,...t},super({gpuProgram:i.BrD.from({vertex:{source:a,entryPoint:"mainVertex"},fragment:{source:l,entryPoint:"mainFragment"}}),glProgram:i.M2g.from({vertex:o,fragment:s,name:"adjustment-filter"}),resources:{adjustmentUniforms:{uGamma:{value:t.gamma,type:"f32"},uContrast:{value:t.contrast,type:"f32"},uSaturation:{value:t.saturation,type:"f32"},uBrightness:{value:t.brightness,type:"f32"},uColor:{value:[t.red,t.green,t.blue,t.alpha],type:"vec4<f32>"}}}}),f(this,"uniforms"),this.uniforms=this.resources.adjustmentUniforms.uniforms}get gamma(){return this.uniforms.uGamma}set gamma(e){this.uniforms.uGamma=e}get contrast(){return this.uniforms.uContrast}set contrast(e){this.uniforms.uContrast=e}get saturation(){return this.uniforms.uSaturation}set saturation(e){this.uniforms.uSaturation=e}get brightness(){return this.uniforms.uBrightness}set brightness(e){this.uniforms.uBrightness=e}get red(){return this.uniforms.uColor[0]}set red(e){this.uniforms.uColor[0]=e}get green(){return this.uniforms.uColor[1]}set green(e){this.uniforms.uColor[1]=e}get blue(){return this.uniforms.uColor[2]}set blue(e){this.uniforms.uColor[2]=e}get alpha(){return this.uniforms.uColor[3]}set alpha(e){this.uniforms.uColor[3]=e}};f(h,"DEFAULT_OPTIONS",{gamma:1,contrast:1,saturation:1,brightness:1,red:1,green:1,blue:1,alpha:1});var d="\nin vec2 vTextureCoord;\nout vec4 finalColor;\n\nuniform sampler2D uTexture;\nuniform vec2 uOffset;\n\nvoid main(void)\n{\n vec4 color = vec4(0.0);\n\n // Sample top left pixel\n color += texture(uTexture, vec2(vTextureCoord.x - uOffset.x, vTextureCoord.y + uOffset.y));\n\n // Sample top right pixel\n color += texture(uTexture, vec2(vTextureCoord.x + uOffset.x, vTextureCoord.y + uOffset.y));\n\n // Sample bottom right pixel\n color += texture(uTexture, vec2(vTextureCoord.x + uOffset.x, vTextureCoord.y - uOffset.y));\n\n // Sample bottom left pixel\n color += texture(uTexture, vec2(vTextureCoord.x - uOffset.x, vTextureCoord.y - uOffset.y));\n\n // Average\n color *= 0.25;\n\n finalColor = color;\n}",p="struct KawaseBlurUniforms {\n uOffset:vec2<f32>,\n};\n\n@group(0) @binding(1) var uTexture: texture_2d<f32>; \n@group(0) @binding(2) var uSampler: sampler;\n@group(1) @binding(0) var<uniform> kawaseBlurUniforms : KawaseBlurUniforms;\n\n@fragment\nfn mainFragment(\n @builtin(position) position: vec4<f32>,\n @location(0) uv : vec2<f32>\n) -> @location(0) vec4<f32> {\n let uOffset = kawaseBlurUniforms.uOffset;\n var color: vec4<f32> = vec4<f32>(0.0);\n\n // Sample top left pixel\n color += textureSample(uTexture, uSampler, vec2<f32>(uv.x - uOffset.x, uv.y + uOffset.y));\n // Sample top right pixel\n color += textureSample(uTexture, uSampler, vec2<f32>(uv.x + uOffset.x, uv.y + uOffset.y));\n // Sample bottom right pixel\n color += textureSample(uTexture, uSampler, vec2<f32>(uv.x + uOffset.x, uv.y - uOffset.y));\n // Sample bottom left pixel\n color += textureSample(uTexture, uSampler, vec2<f32>(uv.x - uOffset.x, uv.y - uOffset.y));\n // Average\n color *= 0.25;\n\n return color;\n}",m="\nprecision highp float;\nin vec2 vTextureCoord;\nout vec4 finalColor;\n\nuniform sampler2D uTexture;\nuniform vec2 uOffset;\n\nuniform vec4 uInputClamp;\n\nvoid main(void)\n{\n vec4 color = vec4(0.0);\n\n // Sample top left pixel\n color += texture(uTexture, clamp(vec2(vTextureCoord.x - uOffset.x, vTextureCoord.y + uOffset.y), uInputClamp.xy, uInputClamp.zw));\n\n // Sample top right pixel\n color += texture(uTexture, clamp(vec2(vTextureCoord.x + uOffset.x, vTextureCoord.y + uOffset.y), uInputClamp.xy, uInputClamp.zw));\n\n // Sample bottom right pixel\n color += texture(uTexture, clamp(vec2(vTextureCoord.x + uOffset.x, vTextureCoord.y - uOffset.y), uInputClamp.xy, uInputClamp.zw));\n\n // Sample bottom left pixel\n color += texture(uTexture, clamp(vec2(vTextureCoord.x - uOffset.x, vTextureCoord.y - uOffset.y), uInputClamp.xy, uInputClamp.zw));\n\n // Average\n color *= 0.25;\n\n finalColor = color;\n}\n",g="struct KawaseBlurUniforms {\n uOffset:vec2<f32>,\n};\n\nstruct GlobalFilterUniforms {\n uInputSize:vec4<f32>,\n uInputPixel:vec4<f32>,\n uInputClamp:vec4<f32>,\n uOutputFrame:vec4<f32>,\n uGlobalFrame:vec4<f32>,\n uOutputTexture:vec4<f32>,\n};\n\n@group(0) @binding(0) var<uniform> gfu: GlobalFilterUniforms;\n\n@group(0) @binding(1) var uTexture: texture_2d<f32>; \n@group(0) @binding(2) var uSampler: sampler;\n@group(1) @binding(0) var<uniform> kawaseBlurUniforms : KawaseBlurUniforms;\n\n@fragment\nfn mainFragment(\n @builtin(position) position: vec4<f32>,\n @location(0) uv : vec2<f32>\n) -> @location(0) vec4<f32> {\n let uOffset = kawaseBlurUniforms.uOffset;\n var color: vec4<f32> = vec4(0.0);\n\n // Sample top left pixel\n color += textureSample(uTexture, uSampler, clamp(vec2<f32>(uv.x - uOffset.x, uv.y + uOffset.y), gfu.uInputClamp.xy, gfu.uInputClamp.zw));\n // Sample top right pixel\n color += textureSample(uTexture, uSampler, clamp(vec2<f32>(uv.x + uOffset.x, uv.y + uOffset.y), gfu.uInputClamp.xy, gfu.uInputClamp.zw));\n // Sample bottom right pixel\n color += textureSample(uTexture, uSampler, clamp(vec2<f32>(uv.x + uOffset.x, uv.y - uOffset.y), gfu.uInputClamp.xy, gfu.uInputClamp.zw));\n // Sample bottom left pixel\n color += textureSample(uTexture, uSampler, clamp(vec2<f32>(uv.x - uOffset.x, uv.y - uOffset.y), gfu.uInputClamp.xy, gfu.uInputClamp.zw));\n // Average\n color *= 0.25;\n \n return color;\n}",v=Object.defineProperty,y=(e,t,r)=>t in e?v(e,t,{enumerable:!0,configurable:!0,writable:!0,value:r}):e[t]=r,b=(e,t,r)=>(y(e,"symbol"!=typeof t?t+"":t,r),r);let _=class e extends i.dJT{constructor(...t){let r=t[0]??{};("number"==typeof r||Array.isArray(r))&&((0,i.t66)("6.0.0","KawaseBlurFilter constructor params are now options object. See params: { strength, quality, clamp, pixelSize }"),r={strength:r},void 0!==t[1]&&(r.quality=t[1]),void 0!==t[2]&&(r.clamp=t[2])),r={...e.DEFAULT_OPTIONS,...r},super({gpuProgram:i.BrD.from({vertex:{source:a,entryPoint:"mainVertex"},fragment:{source:r?.clamp?g:p,entryPoint:"mainFragment"}}),glProgram:i.M2g.from({vertex:o,fragment:r?.clamp?m:d,name:"kawase-blur-filter"}),resources:{kawaseBlurUniforms:{uOffset:{value:new Float32Array(2),type:"vec2<f32>"}}}}),b(this,"uniforms"),b(this,"_pixelSize",{x:0,y:0}),b(this,"_clamp"),b(this,"_kernels",[]),b(this,"_blur"),b(this,"_quality"),this.uniforms=this.resources.kawaseBlurUniforms.uniforms,this.pixelSize=r.pixelSize??{x:1,y:1},Array.isArray(r.strength)?this.kernels=r.strength:"number"==typeof r.strength&&(this._blur=r.strength,this.quality=r.quality??3),this._clamp=!!r.clamp}apply(e,t,r,n){let o,a=this.pixelSizeX/t.source.width,s=this.pixelSizeY/t.source.height;if(1===this._quality||0===this._blur)o=this._kernels[0]+.5,this.uniforms.uOffset[0]=o*a,this.uniforms.uOffset[1]=o*s,e.applyFilter(this,t,r,n);else{let l,u=i.Wny.getSameSizeTexture(t),c=t,f=u,h=this._quality-1;for(let t=0;t<h;t++)o=this._kernels[t]+.5,this.uniforms.uOffset[0]=o*a,this.uniforms.uOffset[1]=o*s,e.applyFilter(this,c,f,!0),l=c,c=f,f=l;o=this._kernels[h]+.5,this.uniforms.uOffset[0]=o*a,this.uniforms.uOffset[1]=o*s,e.applyFilter(this,c,r,n),i.Wny.returnTexture(u)}}get strength(){return this._blur}set strength(e){this._blur=e,this._generateKernels()}get quality(){return this._quality}set quality(e){this._quality=Math.max(1,Math.round(e)),this._generateKernels()}get kernels(){return this._kernels}set kernels(e){Array.isArray(e)&&e.length>0?(this._kernels=e,this._quality=e.length,this._blur=Math.max(...e)):(this._kernels=[0],this._quality=1)}get pixelSize(){return this._pixelSize}set pixelSize(e){if("number"==typeof e){this.pixelSizeX=this.pixelSizeY=e;return}if(Array.isArray(e)){this.pixelSizeX=e[0],this.pixelSizeY=e[1];return}this._pixelSize=e}get pixelSizeX(){return this.pixelSize.x}set pixelSizeX(e){this.pixelSize.x=e}get pixelSizeY(){return this.pixelSize.y}set pixelSizeY(e){this.pixelSize.y=e}get clamp(){return this._clamp}_updatePadding(){this.padding=Math.ceil(this._kernels.reduce((e,t)=>e+t+.5,0))}_generateKernels(){let e=this._blur,t=this._quality,r=[e];if(e>0){let n=e,i=e/t;for(let e=1;e<t;e++)n-=i,r.push(n)}this._kernels=r,this._updatePadding()}};b(_,"DEFAULT_OPTIONS",{strength:4,quality:3,clamp:!1,pixelSize:{x:1,y:1}});let w=_;var x="in vec2 vTextureCoord;\nout vec4 finalColor;\n\nuniform sampler2D uTexture;\nuniform sampler2D uMapTexture;\nuniform float uBloomScale;\nuniform float uBrightness;\n\nvoid main() {\n vec4 color = texture(uTexture, vTextureCoord);\n color.rgb *= uBrightness;\n vec4 bloomColor = vec4(texture(uMapTexture, vTextureCoord).rgb, 0.0);\n bloomColor.rgb *= uBloomScale;\n finalColor = color + bloomColor;\n}\n",S="struct AdvancedBloomUniforms {\n uBloomScale: f32,\n uBrightness: f32,\n};\n\n@group(0) @binding(1) var uTexture: texture_2d<f32>; \n@group(0) @binding(2) var uSampler: sampler;\n@group(1) @binding(0) var<uniform> advancedBloomUniforms : AdvancedBloomUniforms;\n@group(1) @binding(1) var uMapTexture: texture_2d<f32>;\n\n@fragment\nfn mainFragment(\n @builtin(position) position: vec4<f32>,\n @location(0) uv : vec2<f32>\n) -> @location(0) vec4<f32> {\n var color = textureSample(uTexture, uSampler, uv);\n color = vec4<f32>(color.rgb * advancedBloomUniforms.uBrightness, color.a);\n\n var bloomColor = vec4<f32>(textureSample(uMapTexture, uSampler, uv).rgb, 0.0);\n bloomColor = vec4<f32>(bloomColor.rgb * advancedBloomUniforms.uBloomScale, bloomColor.a);\n \n return color + bloomColor;\n}\n",A="\nin vec2 vTextureCoord;\nout vec4 finalColor;\n\nuniform sampler2D uTexture;\nuniform float uThreshold;\n\nvoid main() {\n vec4 color = texture(uTexture, vTextureCoord);\n\n // A simple & fast algorithm for getting brightness.\n // It's inaccuracy , but good enought for this feature.\n float _max = max(max(color.r, color.g), color.b);\n float _min = min(min(color.r, color.g), color.b);\n float brightness = (_max + _min) * 0.5;\n\n if(brightness > uThreshold) {\n finalColor = color;\n } else {\n finalColor = vec4(0.0, 0.0, 0.0, 0.0);\n }\n}\n",E="struct ExtractBrightnessUniforms {\n uThreshold: f32,\n};\n\n@group(0) @binding(1) var uTexture: texture_2d<f32>; \n@group(0) @binding(2) var uSampler: sampler;\n@group(1) @binding(0) var<uniform> extractBrightnessUniforms : ExtractBrightnessUniforms;\n\n@fragment\nfn mainFragment(\n @builtin(position) position: vec4<f32>,\n @location(0) uv : vec2<f32>\n) -> @location(0) vec4<f32> {\n let color: vec4<f32> = textureSample(uTexture, uSampler, uv);\n\n // A simple & fast algorithm for getting brightness.\n // It's inaccurate, but good enough for this feature.\n let max: f32 = max(max(color.r, color.g), color.b);\n let min: f32 = min(min(color.r, color.g), color.b);\n let brightness: f32 = (max + min) * 0.5;\n\n return select(vec4<f32>(0.), color, brightness > extractBrightnessUniforms.uThreshold);\n}\n",C=Object.defineProperty,O=(e,t,r)=>t in e?C(e,t,{enumerable:!0,configurable:!0,writable:!0,value:r}):e[t]=r,k=(e,t,r)=>(O(e,"symbol"!=typeof t?t+"":t,r),r);let I=class e extends i.dJT{constructor(t){t={...e.DEFAULT_OPTIONS,...t},super({gpuProgram:i.BrD.from({vertex:{source:a,entryPoint:"mainVertex"},fragment:{source:E,entryPoint:"mainFragment"}}),glProgram:i.M2g.from({vertex:o,fragment:A,name:"extract-brightness-filter"}),resources:{extractBrightnessUniforms:{uThreshold:{value:t.threshold,type:"f32"}}}}),k(this,"uniforms"),this.uniforms=this.resources.extractBrightnessUniforms.uniforms}get threshold(){return this.uniforms.uThreshold}set threshold(e){this.uniforms.uThreshold=e}};k(I,"DEFAULT_OPTIONS",{threshold:.5});let T=I;var P=Object.defineProperty,M=(e,t,r)=>t in e?P(e,t,{enumerable:!0,configurable:!0,writable:!0,value:r}):e[t]=r,R=(e,t,r)=>(M(e,"symbol"!=typeof t?t+"":t,r),r);let $=class e extends i.dJT{constructor(t){t={...e.DEFAULT_OPTIONS,...t},super({gpuProgram:i.BrD.from({vertex:{source:a,entryPoint:"mainVertex"},fragment:{source:S,entryPoint:"mainFragment"}}),glProgram:i.M2g.from({vertex:o,fragment:x,name:"advanced-bloom-filter"}),resources:{advancedBloomUniforms:{uBloomScale:{value:t.bloomScale,type:"f32"},uBrightness:{value:t.brightness,type:"f32"}},uMapTexture:i.gPd.WHITE}}),R(this,"uniforms"),R(this,"bloomScale",1),R(this,"brightness",1),R(this,"_extractFilter"),R(this,"_blurFilter"),this.uniforms=this.resources.advancedBloomUniforms.uniforms,this._extractFilter=new T({threshold:t.threshold}),this._blurFilter=new w({strength:t.kernels??t.blur,quality:t.kernels?void 0:t.quality}),Object.assign(this,t)}apply(e,t,r,n){let o=i.Wny.getSameSizeTexture(t);this._extractFilter.apply(e,t,o,!0);let a=i.Wny.getSameSizeTexture(t);this._blurFilter.apply(e,o,a,!0),this.uniforms.uBloomScale=this.bloomScale,this.uniforms.uBrightness=this.brightness,this.resources.uMapTexture=a.source,e.applyFilter(this,t,r,n),i.Wny.returnTexture(a),i.Wny.returnTexture(o)}get threshold(){return this._extractFilter.threshold}set threshold(e){this._extractFilter.threshold=e}get kernels(){return this._blurFilter.kernels}set kernels(e){this._blurFilter.kernels=e}get blur(){return this._blurFilter.strength}set blur(e){this._blurFilter.strength=e}get quality(){return this._blurFilter.quality}set quality(e){this._blurFilter.quality=e}get pixelSize(){return this._blurFilter.pixelSize}set pixelSize(e){"number"==typeof e&&(e={x:e,y:e}),Array.isArray(e)&&(e={x:e[0],y:e[1]}),this._blurFilter.pixelSize=e}get pixelSizeX(){return this._blurFilter.pixelSizeX}set pixelSizeX(e){this._blurFilter.pixelSizeX=e}get pixelSizeY(){return this._blurFilter.pixelSizeY}set pixelSizeY(e){this._blurFilter.pixelSizeY=e}};R($,"DEFAULT_OPTIONS",{threshold:.5,bloomScale:1,brightness:1,blur:8,quality:4,pixelSize:{x:1,y:1}});var j="precision highp float;\nin vec2 vTextureCoord;\nout vec4 finalColor;\n\nuniform sampler2D uTexture;\nuniform float uSize;\nuniform vec3 uColor;\nuniform float uReplaceColor;\n\nuniform vec4 uInputSize;\n\nvec2 mapCoord( vec2 coord )\n{\n coord *= uInputSize.xy;\n coord += uInputSize.zw;\n\n return coord;\n}\n\nvec2 unmapCoord( vec2 coord )\n{\n coord -= uInputSize.zw;\n coord /= uInputSize.xy;\n\n return coord;\n}\n\nvec2 pixelate(vec2 coord, vec2 size)\n{\n return floor(coord / size) * size;\n}\n\nvec2 getMod(vec2 coord, vec2 size)\n{\n return mod(coord, size) / size;\n}\n\nfloat character(float n, vec2 p)\n{\n p = floor(p*vec2(4.0, 4.0) + 2.5);\n\n if (clamp(p.x, 0.0, 4.0) == p.x)\n {\n if (clamp(p.y, 0.0, 4.0) == p.y)\n {\n if (int(mod(n/exp2(p.x + 5.0*p.y), 2.0)) == 1) return 1.0;\n }\n }\n return 0.0;\n}\n\nvoid main()\n{\n vec2 coord = mapCoord(vTextureCoord);\n\n // get the grid position\n vec2 pixCoord = pixelate(coord, vec2(uSize));\n pixCoord = unmapCoord(pixCoord);\n\n // sample the color at grid position\n vec4 color = texture(uTexture, pixCoord);\n\n // brightness of the color as it's perceived by the human eye\n float gray = 0.3 * color.r + 0.59 * color.g + 0.11 * color.b;\n\n // determine the character to use\n float n = 65536.0; // .\n if (gray > 0.2) n = 65600.0; // :\n if (gray > 0.3) n = 332772.0; // *\n if (gray > 0.4) n = 15255086.0; // o\n if (gray > 0.5) n = 23385164.0; // &\n if (gray > 0.6) n = 15252014.0; // 8\n if (gray > 0.7) n = 13199452.0; // @\n if (gray > 0.8) n = 11512810.0; // #\n\n // get the mod..\n vec2 modd = getMod(coord, vec2(uSize));\n\n finalColor = (uReplaceColor > 0.5 ? vec4(uColor, 1.) : color) * character( n, vec2(-1.0) + modd * 2.0);\n}\n",N="struct AsciiUniforms {\n uSize: f32,\n uColor: vec3<f32>,\n uReplaceColor: f32,\n};\n\nstruct GlobalFilterUniforms {\n uInputSize:vec4<f32>,\n uInputPixel:vec4<f32>,\n uInputClamp:vec4<f32>,\n uOutputFrame:vec4<f32>,\n uGlobalFrame:vec4<f32>,\n uOutputTexture:vec4<f32>,\n};\n\n@group(0) @binding(0) var<uniform> gfu: GlobalFilterUniforms;\n\n@group(0) @binding(1) var uTexture: texture_2d<f32>; \n@group(0) @binding(2) var uSampler: sampler;\n@group(1) @binding(0) var<uniform> asciiUniforms : AsciiUniforms;\n\n@fragment\nfn mainFragment(\n @location(0) uv: vec2<f32>,\n @builtin(position) position: vec4<f32>\n) -> @location(0) vec4<f32> {\n let pixelSize: f32 = asciiUniforms.uSize;\n let coord: vec2<f32> = mapCoord(uv);\n\n // get the rounded color..\n var pixCoord: vec2<f32> = pixelate(coord, vec2<f32>(pixelSize));\n pixCoord = unmapCoord(pixCoord);\n\n var color = textureSample(uTexture, uSampler, pixCoord);\n\n // determine the character to use\n let gray: f32 = 0.3 * color.r + 0.59 * color.g + 0.11 * color.b;\n \n var n: f32 = 65536.0; // .\n if (gray > 0.2) {\n n = 65600.0; // :\n }\n if (gray > 0.3) {\n n = 332772.0; // *\n }\n if (gray > 0.4) {\n n = 15255086.0; // o\n }\n if (gray > 0.5) {\n n = 23385164.0; // &\n }\n if (gray > 0.6) {\n n = 15252014.0; // 8\n }\n if (gray > 0.7) {\n n = 13199452.0; // @\n }\n if (gray > 0.8) {\n n = 11512810.0; // #\n }\n\n // get the mod..\n let modd: vec2<f32> = getMod(coord, vec2<f32>(pixelSize));\n return select(color, vec4<f32>(asciiUniforms.uColor, 1.), asciiUniforms.uReplaceColor > 0.5) * character(n, vec2<f32>(-1.0) + modd * 2.0);\n}\n\nfn pixelate(coord: vec2<f32>, size: vec2<f32>) -> vec2<f32>\n{\n return floor( coord / size ) * size;\n}\n\nfn getMod(coord: vec2<f32>, size: vec2<f32>) -> vec2<f32>\n{\n return moduloVec2( coord , size) / size;\n}\n\nfn character(n: f32, p: vec2<f32>) -> f32\n{\n var q: vec2<f32> = floor(p*vec2<f32>(4.0, 4.0) + 2.5);\n\n if (clamp(q.x, 0.0, 4.0) == q.x)\n {\n if (clamp(q.y, 0.0, 4.0) == q.y)\n {\n if (i32(modulo(n/exp2(q.x + 5.0*q.y), 2.0)) == 1)\n {\n return 1.0;\n }\n }\n }\n\n return 0.0;\n}\n\nfn modulo(x: f32, y: f32) -> f32\n{\n return x - y * floor(x/y);\n}\n\nfn moduloVec2(x: vec2<f32>, y: vec2<f32>) -> vec2<f32>\n{\n return x - y * floor(x/y);\n}\n\nfn mapCoord(coord: vec2<f32> ) -> vec2<f32>\n{\n var mappedCoord: vec2<f32> = coord;\n mappedCoord *= gfu.uInputSize.xy;\n mappedCoord += gfu.uOutputFrame.xy;\n return mappedCoord;\n}\n\nfn unmapCoord(coord: vec2<f32> ) -> vec2<f32>\n{\n var mappedCoord: vec2<f32> = coord;\n mappedCoord -= gfu.uOutputFrame.xy;\n mappedCoord /= gfu.uInputSize.xy;\n return mappedCoord;\n}",B=Object.defineProperty,L=(e,t,r)=>t in e?B(e,t,{enumerable:!0,configurable:!0,writable:!0,value:r}):e[t]=r,z=(e,t,r)=>(L(e,"symbol"!=typeof t?t+"":t,r),r);let F=class e extends i.dJT{constructor(...t){let r=t[0]??{};"number"==typeof r&&((0,i.t66)("6.0.0","AsciiFilter constructor params are now options object. See params: { size, color, replaceColor }"),r={size:r});const n=r?.color&&!1!==r.replaceColor;r={...e.DEFAULT_OPTIONS,...r},super({gpuProgram:i.BrD.from({vertex:{source:a,entryPoint:"mainVertex"},fragment:{source:N,entryPoint:"mainFragment"}}),glProgram:i.M2g.from({vertex:o,fragment:j,name:"ascii-filter"}),resources:{asciiUniforms:{uSize:{value:r.size,type:"f32"},uColor:{value:new Float32Array(3),type:"vec3<f32>"},uReplaceColor:{value:Number(n),type:"f32"}}}}),z(this,"uniforms"),z(this,"_color"),this.uniforms=this.resources.asciiUniforms.uniforms,this._color=new i.Q1f,this.color=r.color??0xffffff}get size(){return this.uniforms.uSize}set size(e){this.uniforms.uSize=e}get color(){return this._color.value}set color(e){this._color.setValue(e);let[t,r,n]=this._color.toArray();this.uniforms.uColor[0]=t,this.uniforms.uColor[1]=r,this.uniforms.uColor[2]=n}get replaceColor(){return this.uniforms.uReplaceColor>.5}set replaceColor(e){this.uniforms.uReplaceColor=+!!e}};z(F,"DEFAULT_OPTIONS",{size:8,color:0xffffff,replaceColor:!1});i.eV2;var D="precision highp float;\nin vec2 vTextureCoord;\nout vec4 finalColor;\n\nuniform sampler2D uTexture;\nuniform vec2 uTransform;\nuniform vec3 uLightColor;\nuniform float uLightAlpha;\nuniform vec3 uShadowColor;\nuniform float uShadowAlpha;\n\nuniform vec4 uInputSize;\n\nvoid main(void) {\n vec2 transform = vec2(1.0 / uInputSize) * vec2(uTransform.x, uTransform.y);\n vec4 color = texture(uTexture, vTextureCoord);\n float light = texture(uTexture, vTextureCoord - transform).a;\n float shadow = texture(uTexture, vTextureCoord + transform).a;\n\n color.rgb = mix(color.rgb, uLightColor, clamp((color.a - light) * uLightAlpha, 0.0, 1.0));\n color.rgb = mix(color.rgb, uShadowColor, clamp((color.a - shadow) * uShadowAlpha, 0.0, 1.0));\n finalColor = vec4(color.rgb * color.a, color.a);\n}\n",U="struct BevelUniforms {\n uLightColor: vec3<f32>,\n uLightAlpha: f32,\n uShadowColor: vec3<f32>,\n uShadowAlpha: f32,\n uTransform: vec2<f32>,\n};\n\nstruct GlobalFilterUniforms {\n uInputSize:vec4<f32>,\n uInputPixel:vec4<f32>,\n uInputClamp:vec4<f32>,\n uOutputFrame:vec4<f32>,\n uGlobalFrame:vec4<f32>,\n uOutputTexture:vec4<f32>,\n};\n\n@group(0) @binding(0) var<uniform> gfu: GlobalFilterUniforms;\n\n@group(0) @binding(1) var uTexture: texture_2d<f32>; \n@group(0) @binding(2) var uSampler: sampler;\n@group(1) @binding(0) var<uniform> bevelUniforms : BevelUniforms;\n\n@fragment\nfn mainFragment(\n @builtin(position) position: vec4<f32>,\n @location(0) uv : vec2<f32>\n) -> @location(0) vec4<f32> {\n let transform = vec2<f32>(1.0 / gfu.uInputSize.xy) * vec2<f32>(bevelUniforms.uTransform.x, bevelUniforms.uTransform.y);\n var color: vec4<f32> = textureSample(uTexture, uSampler, uv);\n let lightSample: f32 = textureSample(uTexture, uSampler, uv - transform).a;\n let shadowSample: f32 = textureSample(uTexture, uSampler, uv + transform).a;\n\n let light = vec4<f32>(bevelUniforms.uLightColor, bevelUniforms.uLightAlpha);\n let shadow = vec4<f32>(bevelUniforms.uShadowColor, bevelUniforms.uShadowAlpha);\n\n color = vec4<f32>(mix(color.rgb, light.rgb, clamp((color.a - lightSample) * light.a, 0.0, 1.0)), color.a);\n color = vec4<f32>(mix(color.rgb, shadow.rgb, clamp((color.a - shadowSample) * shadow.a, 0.0, 1.0)), color.a);\n \n return vec4<f32>(color.rgb * color.a, color.a);\n}",H=Object.defineProperty,G=(e,t,r)=>t in e?H(e,t,{enumerable:!0,configurable:!0,writable:!0,value:r}):e[t]=r,W=(e,t,r)=>(G(e,"symbol"!=typeof t?t+"":t,r),r);let V=class e extends i.dJT{constructor(t){t={...e.DEFAULT_OPTIONS,...t},super({gpuProgram:i.BrD.from({vertex:{source:a,entryPoint:"mainVertex"},fragment:{source:U,entryPoint:"mainFragment"}}),glProgram:i.M2g.from({vertex:o,fragment:D,name:"bevel-filter"}),resources:{bevelUniforms:{uLightColor:{value:new Float32Array(3),type:"vec3<f32>"},uLightAlpha:{value:t.lightAlpha,type:"f32"},uShadowColor:{value:new Float32Array(3),type:"vec3<f32>"},uShadowAlpha:{value:t.shadowAlpha,type:"f32"},uTransform:{value:new Float32Array(2),type:"vec2<f32>"}}},padding:1}),W(this,"uniforms"),W(this,"_thickness"),W(this,"_rotation"),W(this,"_lightColor"),W(this,"_shadowColor"),this.uniforms=this.resources.bevelUniforms.uniforms,this._lightColor=new i.Q1f,this._shadowColor=new i.Q1f,this.lightColor=t.lightColor??0xffffff,this.shadowColor=t.shadowColor??0,Object.assign(this,t)}get rotation(){return this._rotation/i.Tde}set rotation(e){this._rotation=e*i.Tde,this._updateTransform()}get thickness(){return this._thickness}set thickness(e){this._thickness=e,this._updateTransform()}get lightColor(){return this._lightColor.value}set lightColor(e){this._lightColor.setValue(e);let[t,r,n]=this._lightColor.toArray();this.uniforms.uLightColor[0]=t,this.uniforms.uLightColor[1]=r,this.uniforms.uLightColor[2]=n}get lightAlpha(){return this.uniforms.uLightAlpha}set lightAlpha(e){this.uniforms.uLightAlpha=e}get shadowColor(){return this._shadowColor.value}set shadowColor(e){this._shadowColor.setValue(e);let[t,r,n]=this._shadowColor.toArray();this.uniforms.uShadowColor[0]=t,this.uniforms.uShadowColor[1]=r,this.uniforms.uShadowColor[2]=n}get shadowAlpha(){return this.uniforms.uShadowAlpha}set shadowAlpha(e){this.uniforms.uShadowAlpha=e}_updateTransform(){this.uniforms.uTransform[0]=this.thickness*Math.cos(this._rotation),this.uniforms.uTransform[1]=this.thickness*Math.sin(this._rotation)}};W(V,"DEFAULT_OPTIONS",{rotation:45,thickness:2,lightColor:0xffffff,lightAlpha:.7,shadowColor:0,shadowAlpha:.7});var q=Object.defineProperty,X=(e,t,r)=>t in e?q(e,t,{enumerable:!0,configurable:!0,writable:!0,value:r}):e[t]=r,Y=(e,t,r)=>(X(e,"symbol"!=typeof t?t+"":t,r),r);let Z=class e extends i.ZYG{constructor(...t){let r=t[0]??{};if("number"==typeof r||Array.isArray(r)||"x"in r&&"y"in r){(0,i.t66)("6.0.0","BloomFilter constructor params are now options object. See params: { strength, quality, resolution, kernelSize }");let e=r;Array.isArray(e)&&(e={x:e[0],y:e[1]}),r={strength:e},void 0!==t[1]&&(r.quality=t[1]),void 0!==t[2]&&(r.resolution=t[2]),void 0!==t[3]&&(r.kernelSize=t[3])}r={...e.DEFAULT_OPTIONS,...r},super(),Y(this,"_blurXFilter"),Y(this,"_blurYFilter"),Y(this,"_strength"),this._strength={x:2,y:2},r.strength&&("number"==typeof r.strength?(this._strength.x=r.strength,this._strength.y=r.strength):(this._strength.x=r.strength.x,this._strength.y=r.strength.y)),this._blurXFilter=new i.Hii({...r,horizontal:!0,strength:this.strengthX}),this._blurYFilter=new i.Hii({...r,horizontal:!1,strength:this.strengthY}),this._blurYFilter.blendMode="screen",Object.assign(this,r)}apply(e,t,r,n){let o=i.Wny.getSameSizeTexture(t);e.applyFilter(this,t,r,n),this._blurXFilter.apply(e,t,o,!0),this._blurYFilter.apply(e,o,r,!1),i.Wny.returnTexture(o)}get strength(){return this._strength}set strength(e){this._strength="number"==typeof e?{x:e,y:e}:e,this._updateStrength()}get strengthX(){return this.strength.x}set strengthX(e){this.strength.x=e,this._updateStrength()}get strengthY(){return this.strength.y}set strengthY(e){this.strength.y=e,this._updateStrength()}_updateStrength(){this._blurXFilter.blur=this.strengthX,this._blurYFilter.blur=this.strengthY}get blur(){return(0,i.t66)("6.0.0","BloomFilter.blur is deprecated, please use BloomFilter.strength instead"),this.strengthX}set blur(e){(0,i.t66)("6.0.0","BloomFilter.blur is deprecated, please use BloomFilter.strength instead"),this.strength=e}get blurX(){return(0,i.t66)("6.0.0","BloomFilter.blurX is deprecated, please use BloomFilter.strengthX instead"),this.strengthX}set blurX(e){(0,i.t66)("6.0.0","BloomFilter.blurX is deprecated, please use BloomFilter.strengthX instead"),this.strengthX=e}get blurY(){return(0,i.t66)("6.0.0","BloomFilter.blurY is deprecated, please use BloomFilter.strengthY instead"),this.strengthY}set blurY(e){(0,i.t66)("6.0.0","BloomFilter.blurY is deprecated, please use BloomFilter.strengthY instead"),this.strengthY=e}};Y(Z,"DEFAULT_OPTIONS",{strength:{x:2,y:2},quality:4,resolution:1,kernelSize:5});var K="precision highp float;\nin vec2 vTextureCoord;\nout vec4 finalColor;\n\nuniform sampler2D uTexture;\nuniform vec2 uDimensions;\nuniform vec2 uCenter;\nuniform float uRadius;\nuniform float uStrength;\n\nuniform vec4 uInputSize;\nuniform vec4 uInputClamp;\n\nvoid main()\n{\n vec2 coord = vTextureCoord * uInputSize.xy;\n coord -= uCenter * uDimensions.xy;\n float distance = length(coord);\n\n if (distance < uRadius) {\n float percent = distance / uRadius;\n if (uStrength > 0.0) {\n coord *= mix(1.0, smoothstep(0.0, uRadius / distance, percent), uStrength * 0.75);\n } else {\n coord *= mix(1.0, pow(percent, 1.0 + uStrength * 0.75) * uRadius / distance, 1.0 - percent);\n }\n }\n\n coord += uCenter * uDimensions.xy;\n coord /= uInputSize.xy;\n vec2 clampedCoord = clamp(coord, uInputClamp.xy, uInputClamp.zw);\n vec4 color = texture(uTexture, clampedCoord);\n\n if (coord != clampedCoord) {\n color *= max(0.0, 1.0 - length(coord - clampedCoord));\n }\n\n finalColor = color;\n}\n",J="struct BulgePinchUniforms {\n uDimensions: vec2<f32>,\n uCenter: vec2<f32>,\n uRadius: f32,\n uStrength: f32,\n};\n\nstruct GlobalFilterUniforms {\n uInputSize:vec4<f32>,\n uInputPixel:vec4<f32>,\n uInputClamp:vec4<f32>,\n uOutputFrame:vec4<f32>,\n uGlobalFrame:vec4<f32>,\n uOutputTexture:vec4<f32>,\n};\n\n@group(0) @binding(0) var<uniform> gfu: GlobalFilterUniforms;\n\n@group(0) @binding(1) var uTexture: texture_2d<f32>; \n@group(0) @binding(2) var uSampler: sampler;\n@group(1) @binding(0) var<uniform> bulgePinchUniforms : BulgePinchUniforms;\n\n@fragment\nfn mainFragment(\n @builtin(position) position: vec4<f32>,\n @location(0) uv : vec2<f32>\n) -> @location(0) vec4<f32> {\n let dimensions: vec2<f32> = bulgePinchUniforms.uDimensions;\n let center: vec2<f32> = bulgePinchUniforms.uCenter;\n let radius: f32 = bulgePinchUniforms.uRadius;\n let strength: f32 = bulgePinchUniforms.uStrength;\n var coord: vec2<f32> = (uv * gfu.uInputSize.xy) - center * dimensions.xy;\n\n let distance: f32 = length(coord);\n\n if (distance < radius) {\n let percent: f32 = distance / radius;\n if (strength > 0.0) {\n coord *= mix(1.0, smoothstep(0.0, radius / distance, percent), strength * 0.75);\n } else {\n coord *= mix(1.0, pow(percent, 1.0 + strength * 0.75) * radius / distance, 1.0 - percent);\n }\n }\n coord += (center * dimensions.xy);\n coord /= gfu.uInputSize.xy;\n\n let clampedCoord: vec2<f32> = clamp(coord, gfu.uInputClamp.xy, gfu.uInputClamp.zw);\n var color: vec4<f32> = textureSample(uTexture, uSampler, clampedCoord);\n if (coord.x != clampedCoord.x && coord.y != clampedCoord.y) {\n color *= max(0.0, 1.0 - length(coord - clampedCoord));\n }\n\n return color;\n}\n\nfn compareVec2(x: vec2<f32>, y: vec2<f32>) -> bool\n{\n if (x.x == y.x && x.y == y.y)\n {\n return true;\n }\n\n return false;\n}",Q=Object.defineProperty,ee=(e,t,r)=>t in e?Q(e,t,{enumerable:!0,configurable:!0,writable:!0,value:r}):e[t]=r,et=(e,t,r)=>(ee(e,"symbol"!=typeof t?t+"":t,r),r);let er=class e extends i.dJT{constructor(t){t={...e.DEFAULT_OPTIONS,...t},super({gpuProgram:i.BrD.from({vertex:{source:a,entryPoint:"mainVertex"},fragment:{source:J,entryPoint:"mainFragment"}}),glProgram:i.M2g.from({vertex:o,fragment:K,name:"bulge-pinch-filter"}),resources:{bulgePinchUniforms:{uDimensions:{value:[0,0],type:"vec2<f32>"},uCenter:{value:t.center,type:"vec2<f32>"},uRadius:{value:t.radius,type:"f32"},uStrength:{value:t.strength,type:"f32"}}}}),et(this,"uniforms"),this.uniforms=this.resources.bulgePinchUniforms.uniforms,Object.assign(this,t)}apply(e,t,r,n){this.uniforms.uDimensions[0]=t.frame.width,this.uniforms.uDimensions[1]=t.frame.height,e.applyFilter(this,t,r,n)}get center(){return this.uniforms.uCenter}set center(e){"number"==typeof e&&(e={x:e,y:e}),Array.isArray(e)&&(e={x:e[0],y:e[1]}),this.uniforms.uCenter=e}get centerX(){return this.uniforms.uCenter.x}set centerX(e){this.uniforms.uCenter.x=e}get centerY(){return this.uniforms.uCenter.y}set centerY(e){this.uniforms.uCenter.y=e}get radius(){return this.uniforms.uRadius}set radius(e){this.uniforms.uRadius=e}get strength(){return this.uniforms.uStrength}set strength(e){this.uniforms.uStrength=e}};et(er,"DEFAULT_OPTIONS",{center:{x:.5,y:.5},radius:100,strength:1});var en="precision highp float;\nin vec2 vTextureCoord;\nin vec2 vFilterCoord;\nout vec4 finalColor;\n\nconst int TYPE_LINEAR = 0;\nconst int TYPE_RADIAL = 1;\nconst int TYPE_CONIC = 2;\nconst int MAX_STOPS = 32;\n\nuniform sampler2D uTexture;\nuniform vec4 uOptions;\nuniform vec2 uCounts;\nuniform vec3 uColors[MAX_STOPS];\nuniform vec4 uStops[MAX_STOPS];\n\nconst float PI = 3.1415926538;\nconst float PI_2 = PI*2.;\n\nstruct ColorStop {\n float offset;\n vec3 color;\n float alpha;\n};\n\nmat2 rotate2d(float angle){\n return mat2(cos(angle), -sin(angle),\n sin(angle), cos(angle));\n}\n\nfloat projectLinearPosition(vec2 pos, float angle){\n vec2 center = vec2(0.5);\n vec2 result = pos - center;\n result = rotate2d(angle) * result;\n result = result + center;\n return clamp(result.x, 0., 1.);\n}\n\nfloat projectRadialPosition(vec2 pos) {\n float r = distance(pos, vec2(0.5));\n return clamp(2.*r, 0., 1.);\n}\n\nfloat projectAnglePosition(vec2 pos, float angle) {\n vec2 center = pos - vec2(0.5);\n float polarAngle=atan(-center.y, center.x);\n return mod(polarAngle + angle, PI_2) / PI_2;\n}\n\nfloat projectPosition(vec2 pos, int type, float angle) {\n if (type == TYPE_LINEAR) {\n return projectLinearPosition(pos, angle);\n } else if (type == TYPE_RADIAL) {\n return projectRadialPosition(pos);\n } else if (type == TYPE_CONIC) {\n return projectAnglePosition(pos, angle);\n }\n\n return pos.y;\n}\n\nvoid main(void) {\n int uType = int(uOptions[0]);\n float uAngle = uOptions[1];\n float uAlpha = uOptions[2];\n float uReplace = uOptions[3];\n\n int uNumStops = int(uCounts[0]);\n float uMaxColors = uCounts[1];\n\n // current/original color\n vec4 currentColor = texture(uTexture, vTextureCoord);\n\n // skip calculations if gradient alpha is 0\n if (0.0 == uAlpha) {\n finalColor = currentColor;\n return;\n }\n\n // project position\n float y = projectPosition(vFilterCoord, int(uType), radians(uAngle));\n\n // check gradient bounds\n float offsetMin = uStops[0][0];\n float offsetMax = 0.0;\n\n int numStops = int(uNumStops);\n\n for (int i = 0; i < MAX_STOPS; i++) {\n if (i == numStops-1){ // last index\n offsetMax = uStops[i][0];\n }\n }\n\n if (y < offsetMin || y > offsetMax) {\n finalColor = currentColor;\n return;\n }\n\n // limit colors\n if (uMaxColors > 0.) {\n float stepSize = 1./uMaxColors;\n float stepNumber = float(floor(y/stepSize));\n y = stepSize * (stepNumber + 0.5);// offset by 0.5 to use color from middle of segment\n }\n\n // find color stops\n ColorStop from;\n ColorStop to;\n\n for (int i = 0; i < MAX_STOPS; i++) {\n if (y >= uStops[i][0]) {\n from = ColorStop(uStops[i][0], uColors[i], uStops[i][1]);\n to = ColorStop(uStops[i+1][0], uColors[i+1], uStops[i+1][1]);\n }\n\n if (i == numStops-1){ // last index\n break;\n }\n }\n\n // mix colors from stops\n vec4 colorFrom = vec4(from.color * from.alpha, from.alpha);\n vec4 colorTo = vec4(to.color * to.alpha, to.alpha);\n\n float segmentHeight = to.offset - from.offset;\n float relativePos = y - from.offset;// position from 0 to [segmentHeight]\n float relativePercent = relativePos / segmentHeight;// position in percent between [from.offset] and [to.offset].\n\n float gradientAlpha = uAlpha * currentColor.a;\n vec4 gradientColor = mix(colorFrom, colorTo, relativePercent) * gradientAlpha;\n\n if (uReplace < 0.5) {\n // mix resulting color with current color\n finalColor = gradientColor + currentColor*(1.-gradientColor.a);\n } else {\n // replace with gradient color\n finalColor = gradientColor;\n }\n}\n",ei="in vec2 aPosition;\nout vec2 vTextureCoord;\nout vec2 vFilterCoord;\n\nuniform vec4 uInputSize;\nuniform vec4 uOutputFrame;\nuniform vec4 uOutputTexture;\n\nvec4 filterVertexPosition( void )\n{\n vec2 position = aPosition * uOutputFrame.zw + uOutputFrame.xy;\n \n position.x = position.x * (2.0 / uOutputTexture.x) - 1.0;\n position.y = position.y * (2.0*uOutputTexture.z / uOutputTexture.y) - uOutputTexture.z;\n\n return vec4(position, 0.0, 1.0);\n}\n\nvec2 filterTextureCoord( void )\n{\n return aPosition * (uOutputFrame.zw * uInputSize.zw);\n}\n\nvoid main(void)\n{\n gl_Position = filterVertexPosition();\n vTextureCoord = filterTextureCoord();\n vFilterCoord = vTextureCoord * uInputSize.xy / uOutputFrame.zw;\n}\n",eo="struct BaseUniforms {\n uOptions: vec4<f32>,\n uCounts: vec2<f32>,\n};\n\nstruct StopsUniforms {\n uColors: array<vec3<f32>, MAX_STOPS>,\n uStops: array<vec4<f32>, MAX_STOPS>,\n};\n\nstruct GlobalFilterUniforms {\n uInputSize:vec4<f32>,\n uInputPixel:vec4<f32>,\n uInputClamp:vec4<f32>,\n uOutputFrame:vec4<f32>,\n uGlobalFrame:vec4<f32>,\n uOutputTexture:vec4<f32>,\n};\n\n@group(0) @binding(0) var<uniform> gfu: GlobalFilterUniforms;\n\n@group(0) @binding(1) var uTexture: texture_2d<f32>; \n@group(0) @binding(2) var uSampler: sampler;\n@group(1) @binding(0) var<uniform> baseUniforms : BaseUniforms;\n@group(1) @binding(1) var<uniform> stopsUniforms : StopsUniforms;\n\nstruct VSOutput {\n @builtin(position) position: vec4<f32>,\n @location(0) uv : vec2<f32>,\n @location(1) coord : vec2<f32>\n};\n\nfn filterVertexPosition(aPosition:vec2<f32>) -> vec4<f32>\n{\n var position = aPosition * gfu.uOutputFrame.zw + gfu.uOutputFrame.xy;\n\n position.x = position.x * (2.0 / gfu.uOutputTexture.x) - 1.0;\n position.y = position.y * (2.0*gfu.uOutputTexture.z / gfu.uOutputTexture.y) - gfu.uOutputTexture.z;\n\n return vec4(position, 0.0, 1.0);\n}\n\nfn filterTextureCoord( aPosition:vec2<f32> ) -> vec2<f32>\n{\n return aPosition * (gfu.uOutputFrame.zw * gfu.uInputSize.zw);\n}\n\nfn filterCoord( vTextureCoord:vec2<f32> ) -> vec2<f32>\n{\n return vTextureCoord * gfu.uInputSize.xy / gfu.uOutputFrame.zw;\n}\n\nfn globalTextureCoord( aPosition:vec2<f32> ) -> vec2<f32>\n{\n return (aPosition.xy / gfu.uGlobalFrame.zw) + (gfu.uGlobalFrame.xy / gfu.uGlobalFrame.zw); \n}\n\nfn getSize() -> vec2<f32>\n{\n return gfu.uGlobalFrame.zw;\n}\n \n@vertex\nfn mainVertex(\n @location(0) aPosition : vec2<f32>, \n) -> VSOutput {\n let vTextureCoord: vec2<f32> = filterTextureCoord(aPosition);\n return VSOutput(\n filterVertexPosition(aPosition),\n vTextureCoord,\n filterCoord(vTextureCoord),\n );\n}\n\nstruct ColorStop {\n offset: f32,\n color: vec3<f32>,\n alpha: f32,\n};\n\nfn rotate2d(angle: f32) -> mat2x2<f32>{\n return mat2x2(cos(angle), -sin(angle),\n sin(angle), cos(angle));\n}\n\nfn projectLinearPosition(pos: vec2<f32>, angle: f32) -> f32 {\n var center: vec2<f32> = vec2<f32>(0.5);\n var result: vec2<f32> = pos - center;\n result = rotate2d(angle) * result;\n result = result + center;\n return clamp(result.x, 0.0, 1.0);\n}\n\nfn projectRadialPosition(pos: vec2<f32>) -> f32 {\n var r: f32 = distance(pos, vec2<f32>(0.5));\n return clamp(2.0 * r, 0.0, 1.0);\n}\n\nfn projectAnglePosition(pos: vec2<f32>, angle: f32) -> f32 {\n var center: vec2<f32> = pos - vec2<f32>(0.5, 0.5);\n var polarAngle: f32 = atan2(-center.y, center.x);\n return ((polarAngle + angle) % PI_2) / PI_2;\n}\n\nfn projectPosition(pos: vec2<f32>, gradientType: i32, angle: f32) -> f32 {\n if (gradientType == TYPE_LINEAR) {\n return projectLinearPosition(pos, angle);\n } else if (gradientType == TYPE_RADIAL) {\n return projectRadialPosition(pos);\n } else if (gradientType == TYPE_CONIC) {\n return projectAnglePosition(pos, angle);\n }\n\n return pos.y;\n}\n\n@fragment\nfn mainFragment(\n @builtin(position) position: vec4<f32>,\n @location(0) uv : vec2<f32>,\n @location(1) coord : vec2<f32>\n) -> @location(0) vec4<f32> {\n let uType: i32 = i32(baseUniforms.uOptions[0]);\n let uAngle: f32 = baseUniforms.uOptions[1];\n let uAlpha: f32 = baseUniforms.uOptions[2];\n let uReplace: f32 = baseUniforms.uOptions[3];\n\n let uNumStops: i32 = i32(baseUniforms.uCounts[0]);\n let uMaxColors: f32 = baseUniforms.uCounts[1];\n\n // current/original color\n var currentColor: vec4<f32> = textureSample(uTexture, uSampler, uv);\n\n // skip calculations if gradient alpha is 0\n if (uAlpha == 0.0) { return currentColor; }\n\n // project position\n var y: f32 = projectPosition(coord, uType, radians(uAngle));\n\n // check gradient bounds\n var offsetMin: f32 = stopsUniforms.uStops[0][0];\n var offsetMax: f32 = 0.0;\n\n let numStops: i32 = uNumStops;\n\n for (var i: i32 = 0; i < MAX_STOPS; i = i + 1) {\n if (i == numStops - 1) { // last index\n offsetMax = stopsUniforms.uStops[i][0];\n }\n }\n\n if (y < offsetMin || y > offsetMax) { return currentColor; }\n\n // limit colors\n if (uMaxColors > 0.0) {\n var stepSize: f32 = 1.0 / uMaxColors;\n var stepNumber: f32 = floor(y / stepSize);\n y = stepSize * (stepNumber + 0.5); // offset by 0.5 to use color from middle of segment\n }\n\n // find color stops\n var stopFrom: ColorStop;\n var stopTo: ColorStop;\n\n for (var i: i32 = 0; i < MAX_STOPS; i = i + 1) {\n if (y >= stopsUniforms.uStops[i][0]) {\n stopFrom = ColorStop(stopsUniforms.uStops[i][0], stopsUniforms.uColors[i], stopsUniforms.uStops[i][1]);\n stopTo = ColorStop(stopsUniforms.uStops[i + 1][0], stopsUniforms.uColors[i + 1], stopsUniforms.uStops[i + 1][1]);\n }\n\n if (i == numStops - 1) { // last index\n break;\n }\n }\n\n // mix colors from stops\n var colorFrom: vec4<f32> = vec4<f32>(stopFrom.color * stopFrom.alpha, stopFrom.alpha);\n var colorTo: vec4<f32> = vec4<f32>(stopTo.color * stopTo.alpha, stopTo.alpha);\n\n var segmentHeight: f32 = stopTo.offset - stopFrom.offset;\n var relativePos: f32 = y - stopFrom.offset; // position from 0 to [segmentHeight]\n var relativePercent: f32 = relativePos / segmentHeight; // position in percent between [from.offset] and [to.offset].\n\n var gradientAlpha: f32 = uAlpha * currentColor.a;\n var gradientColor: vec4<f32> = mix(colorFrom, colorTo, relativePercent) * gradientAlpha;\n\n if (uReplace < 0.5) {\n // mix resulting color with current color\n return gradientColor + currentColor * (1.0 - gradientColor.a);\n } else {\n // replace with gradient color\n return gradientColor;\n }\n}\n\nconst PI: f32 = 3.14159265358979323846264;\nconst PI_2: f32 = PI * 2.0;\n\nconst TYPE_LINEAR: i32 = 0;\nconst TYPE_RADIAL: i32 = 1;\nconst TYPE_CONIC: i32 = 2;\nconst MAX_STOPS: i32 = 32;",ea=ea||{};ea.stringify=function(){var e={"visit_linear-gradient":function(t){return e.visit_gradient(t)},"visit_repeating-linear-gradient":function(t){return e.visit_gradient(t)},"visit_radial-gradient":function(t){return e.visit_gradient(t)},"visit_repeating-radial-gradient":function(t){return e.visit_gradient(t)},visit_gradient:function(t){var r=e.visit(t.orientation);return r&&(r+=", "),t.type+"("+r+e.visit(t.colorStops)+")"},visit_shape:function(t){var r=t.value,n=e.visit(t.at),i=e.visit(t.style);return i&&(r+=" "+i),n&&(r+=" at "+n),r},"visit_default-radial":function(t){var r="",n=e.visit(t.at);return n&&(r+=n),r},"visit_extent-keyword":function(t){var r=t.value,n=e.visit(t.at);return n&&(r+=" at "+n),r},"visit_position-keyword":function(e){return e.value},visit_position:function(t){return e.visit(t.value.x)+" "+e.visit(t.value.y)},"visit_%":function(e){return e.value+"%"},visit_em:function(e){return e.value+"em"},visit_px:function(e){return e.value+"px"},visit_literal:function(t){return e.visit_color(t.value,t)},visit_hex:function(t){return e.visit_color("#"+t.value,t)},visit_rgb:function(t){return e.visit_color("rgb("+t.value.join(", ")+")",t)},visit_rgba:function(t){return e.visit_color("rgba("+t.value.join(", ")+")",t)},visit_color:function(t,r){var n=t,i=e.visit(r.length);return i&&(n+=" "+i),n},visit_angular:function(e){return e.value+"deg"},visit_directional:function(e){return"to "+e.value},visit_array:function(t){var r="",n=t.length;return t.forEach(function(t,i){r+=e.visit(t),i<n-1&&(r+=", ")}),r},visit:function(t){if(!t)return"";var r="";if(t instanceof Array)return e.visit_array(t,r);if(t.type){var n=e["visit_"+t.type];if(n)return n(t);throw Error("Missing visitor visit_"+t.type)}throw Error("Invalid node.")}};return function(t){return e.visit(t)}}();var ea=ea||{};ea.parse=function(){var e=/^(\-(webkit|o|ms|moz)\-)?(linear\-gradient)/i,t=/^(\-(webkit|o|ms|moz)\-)?(repeating\-linear\-gradient)/i,r=/^(\-(webkit|o|ms|moz)\-)?(radial\-gradient)/i,n=/^(\-(webkit|o|ms|moz)\-)?(repeating\-radial\-gradient)/i,i=/^to (left (top|bottom)|right (top|bottom)|left|right|top|bottom)/i,o=/^(closest\-side|closest\-corner|farthest\-side|farthest\-corner|contain|cover)/,a=/^(left|center|right|top|bottom)/i,s=/^(-?(([0-9]*\.[0-9]+)|([0-9]+\.?)))px/,l=/^(-?(([0-9]*\.[0-9]+)|([0-9]+\.?)))\%/,u=/^(-?(([0-9]*\.[0-9]+)|([0-9]+\.?)))em/,c=/^(-?(([0-9]*\.[0-9]+)|([0-9]+\.?)))deg/,f=/^\(/,h=/^\)/,d=/^,/,p=/^\#([0-9a-fA-F]+)/,m=/^([a-zA-Z]+)/,g=/^rgb/i,v=/^rgba/i,y=/^(([0-9]*\.[0-9]+)|([0-9]+\.?))/,b="";function _(e){var t=Error(b+": "+e);throw t.source=b,t}function w(){var e=x();return b.length>0&&_("Invalid input not EOF"),e}function x(){return B(S)}function S(){return A("linear-gradient",e,C)||A("repeating-linear-gradient",t,C)||A("radial-gradient",r,I)||A("repeating-radial-gradient",n,I)}function A(e,t,r){return E(t,function(t){var n=r();return n&&!Y(d)&&_("Missing comma before color stops"),{type:e,orientation:n,colorStops:B(L)}})}function E(e,t){var r=Y(e);if(r){Y(f)||_("Missing (");var n=t(r);return Y(h)||_("Missing )"),n}}function C(){return O()||k()}function O(){return X("directional",i,1)}function k(){return X("angular",c,1)}function I(){var e,t,r=T();return r&&((e=[]).push(r),t=b,Y(d)&&((r=T())?e.push(r):b=t)),e}function T(){var e=P()||M();if(e)e.at=$();else{var t=R();if(t){e=t;var r=$();r&&(e.at=r)}else{var n=j();n&&(e={type:"default-radial",at:n})}}return e}function P(){var e=X("shape",/^(circle)/i,0);return e&&(e.style=q()||R()),e}function M(){var e=X("shape",/^(ellipse)/i,0);return e&&(e.style=W()||R()),e}function R(){return X("extent-keyword",o,1)}function $(){if(X("position",/^at/,0)){var e=j();return e||_("Missing positioning value"),e}}function j(){var e=N();if(e.x||e.y)return{type:"position",value:e}}function N(){return{x:W(),y:W()}}function B(e){var t=e(),r=[];if(t)for(r.push(t);Y(d);)(t=e())?r.push(t):_("One extra comma");return r}function L(){var e=z();return e||_("Expected color definition"),e.length=W(),e}function z(){return D()||H()||U()||F()}function F(){return X("literal",m,0)}function D(){return X("hex",p,1)}function U(){return E(g,function(){return{type:"rgb",value:B(G)}})}function H(){return E(v,function(){return{type:"rgba",value:B(G)}})}function G(){return Y(y)[1]}function W(){return X("%",l,1)||V()||q()}function V(){return X("position-keyword",a,1)}function q(){return X("px",s,1)||X("em",u,1)}function X(e,t,r){var n=Y(t);if(n)return{type:e,value:n[r]}}function Y(e){var t,r;return(r=/^[\n\r\t\s]+/.exec(b))&&Z(r[0].length),(t=e.exec(b))&&Z(t[0].length),t}function Z(e){b=b.substr(e)}return function(e){return b=e.toString(),w()}}();var es=ea.parse;function el(e){let t=es(eg(e));if(0===t.length)throw Error("Invalid CSS gradient.");if(1!==t.length)throw Error("Unsupported CSS gradient (multiple gradients is not supported).");let r=t[0],n=eu(r.type);return{type:n,stops:ec(r.colorStops),angle:ep(r.orientation)}}function eu(e){let t={"linear-gradient":0,"radial-gradient":1};if(!(e in t))throw Error(`Unsupported gradient type "${e}"`);return t[e]}function ec(e){let t=eh(e),r=[],n=new i.Q1f;for(let i=0;i<e.length;i++){let o=ef(e[i]),a=n.setValue(o).toArray();r.push({offset:t[i],color:a.slice(0,3),alpha:a[3]})}return r}function ef(e){switch(e.type){case"hex":return`#${e.value}`;case"literal":return e.value;default:return`${e.type}(${e.value.join(",")})`}}function eh(e){let t=[],r=-1;for(let n=0;n<e.length;n++){let i=e[n],o=r;"literal"===i.type&&i.length&&"type"in i.length&&"%"===i.length.type&&"value"in i.length&&(o=parseFloat(i.length.value)/100),t.push(o)}let n=e=>{for(let n=e;n<t.length;n++)if(t[n]!==r)return{indexDelta:n-e,offset:t[n]};return{indexDelta:t.length-1-e,offset:1}},i=0;for(let e=0;e<t.length;e++){let o=t[e];if(o!==r)i=o;else if(0===e)t[e]=0;else if(e+1===t.length)t[e]=1;else{let r=n(e),o=(r.offset-i)/(1+r.indexDelta);for(let n=0;n<=r.indexDelta;n++)t[e+n]=i+(n+1)*o;e+=r.indexDelta,i=t[e]}}return t.map(ed)}function ed(e){let t=6;return e.toString().length>t?parseFloat(e.toString().substring(0,t)):e}function ep(e){if(void 0===e)return 0;if("type"in e&&"value"in e)switch(e.type){case"angular":return parseFloat(e.value);case"directional":return em(e.value)}return 0}function em(e){let t={left:270,top:0,bottom:180,right:90,"left top":315,"top left":315,"left bottom":225,"bottom left":225,"right top":45,"top right":45,"right bottom":135,"bottom right":135};if(!(e in t))throw Error(`Unsupported directional value "${e}"`);return t[e]}function eg(e){let t=e.replace(/\s{2,}/gu," ");return(t=(t=(t=(t=t.replace(/;/g,"")).replace(/ ,/g,",")).replace(/\( /g,"(")).replace(/ \)/g,")")).trim()}ea.stringify;var ev=Object.defineProperty,ey=(e,t,r)=>t in e?ev(e,t,{enumerable:!0,configurable:!0,writable:!0,value:r}):e[t]=r,eb=(e,t,r)=>(ey(e,"symbol"!=typeof t?t+"":t,r),r);let e_=90;function ew(e){return[...e].sort((e,t)=>e.offset-t.offset)}let ex=class e extends i.dJT{constructor(t){if(!(t=t&&"css"in t?{...el(t.css||""),alpha:t.alpha??e.defaults.alpha,maxColors:t.maxColors??e.defaults.maxColors}:{...e.defaults,...t}).stops||t.stops.length<2)throw Error("ColorGradientFilter requires at least 2 color stops.");const r=i.BrD.from({vertex:{source:eo,entryPoint:"mainVertex"},fragment:{source:eo,entryPoint:"mainFragment"}}),n=i.M2g.from({vertex:ei,fragment:en,name:"color-gradient-filter"}),o=32;super({gpuProgram:r,glProgram:n,resources:{baseUniforms:{uOptions:{value:[t.type,t.angle??e_,t.alpha,+!!t.replace],type:"vec4<f32>"},uCounts:{value:[t.stops.length,t.maxColors],type:"vec2<f32>"}},stopsUniforms:{uColors:{value:new Float32Array(3*o),type:"vec3<f32>",size:o},uStops:{value:new Float32Array(4*o),type:"vec4<f32>",size:o}}}}),eb(this,"baseUniforms"),eb(this,"stopsUniforms"),eb(this,"_stops",[]),this.baseUniforms=this.resources.baseUniforms.uniforms,this.stopsUniforms=this.resources.stopsUniforms.uniforms,Object.assign(this,t)}get stops(){return this._stops}set stops(e){let t,r,n,o=ew(e),a=new i.Q1f;for(let e=0;e<o.length;e++){a.setValue(o[e].color);let i=3*e;[t,r,n]=a.toArray(),this.stopsUniforms.uColors[i]=t,this.stopsUniforms.uColors[i+1]=r,this.stopsUniforms.uColors[i+2]=n,this.stopsUniforms.uStops[4*e]=o[e].offset,this.stopsUniforms.uStops[4*e+1]=o[e].alpha}this.baseUniforms.uCounts[0]=o.length,this._stops=o}get type(){return this.baseUniforms.uOptions[0]}set type(e){this.baseUniforms.uOptions[0]=e}get angle(){return this.baseUniforms.uOptions[1]+e_}set angle(e){this.baseUniforms.uOptions[1]=e-e_}get alpha(){return this.baseUniforms.uOptions[2]}set alpha(e){this.baseUniforms.uOptions[2]=e}get maxColors(){return this.baseUniforms.uCounts[1]}set maxColors(e){this.baseUniforms.uCounts[1]=e}get replace(){return this.baseUniforms.uOptions[3]>.5}set replace(e){this.baseUniforms.uOptions[3]=+!!e}};eb(ex,"LINEAR",0),eb(ex,"RADIAL",1),eb(ex,"CONIC",2),eb(ex,"defaults",{type:ex.LINEAR,stops:[{offset:0,color:0xff0000,alpha:1},{offset:1,color:255,alpha:1}],alpha:1,angle:90,maxColors:0,replace:!1});var eS="in vec2 vTextureCoord;\nout vec4 finalColor;\n\nuniform sampler2D uTexture;\nuniform sampler2D uMapTexture;\nuniform float uMix;\nuniform float uSize;\nuniform float uSliceSize;\nuniform float uSlicePixelSize;\nuniform float uSliceInnerSize;\n\nvoid main() {\n vec4 color = texture(uTexture, vTextureCoord.xy);\n vec4 adjusted;\n\n if (color.a > 0.0) {\n color.rgb /= color.a;\n float innerWidth = uSize - 1.0;\n float zSlice0 = min(floor(color.b * innerWidth), innerWidth);\n float zSlice1 = min(zSlice0 + 1.0, innerWidth);\n float xOffset = uSlicePixelSize * 0.5 + color.r * uSliceInnerSize;\n float s0 = xOffset + (zSlice0 * uSliceSize);\n float s1 = xOffset + (zSlice1 * uSliceSize);\n float yOffset = uSliceSize * 0.5 + color.g * (1.0 - uSliceSize);\n vec4 slice0Color = texture(uMapTexture, vec2(s0,yOffset));\n vec4 slice1Color = texture(uMapTexture, vec2(s1,yOffset));\n float zOffset = fract(color.b * innerWidth);\n adjusted = mix(slice0Color, slice1Color, zOffset);\n\n color.rgb *= color.a;\n }\n\n finalColor = vec4(mix(color, adjusted, uMix).rgb, color.a);\n\n}",eA="struct ColorMapUniforms {\n uMix: f32,\n uSize: f32,\n uSliceSize: f32,\n uSlicePixelSize: f32,\n uSliceInnerSize: f32,\n};\n\n@group(0) @binding(1) var uTexture: texture_2d<f32>; \n@group(0) @binding(2) var uSampler: sampler;\n@group(1) @binding(0) var<uniform> colorMapUniforms : ColorMapUniforms;\n@group(1) @binding(1) var uMapTexture: texture_2d<f32>;\n@group(1) @binding(2) var uMapSampler: sampler;\n\n@fragment\nfn mainFragment(\n @builtin(position) position: vec4<f32>,\n @location(0) uv : vec2<f32>\n) -> @location(0) vec4<f32> {\n var color:vec4<f32> = textureSample(uTexture, uSampler, uv);\n\n var adjusted: vec4<f32>;\n\n var altColor: vec4<f32> = vec4<f32>(color.rgb / color.a, color.a);\n let innerWidth: f32 = colorMapUniforms.uSize - 1.0;\n let zSlice0: f32 = min(floor(color.b * innerWidth), innerWidth);\n let zSlice1: f32 = min(zSlice0 + 1.0, innerWidth);\n let xOffset: f32 = colorMapUniforms.uSlicePixelSize * 0.5 + color.r * colorMapUniforms.uSliceInnerSize;\n let s0: f32 = xOffset + (zSlice0 * colorMapUniforms.uSliceSize);\n let s1: f32 = xOffset + (zSlice1 * colorMapUniforms.uSliceSize);\n let yOffset: f32 = colorMapUniforms.uSliceSize * 0.5 + color.g * (1.0 - colorMapUniforms.uSliceSize);\n let slice0Color: vec4<f32> = textureSample(uMapTexture, uMapSampler, vec2(s0,yOffset));\n let slice1Color: vec4<f32> = textureSample(uMapTexture, uMapSampler, vec2(s1,yOffset));\n let zOffset: f32 = fract(color.b * innerWidth);\n adjusted = mix(slice0Color, slice1Color, zOffset);\n altColor = vec4<f32>(color.rgb * color.a, color.a);\n\n let realColor: vec4<f32> = select(color, altColor, color.a > 0.0);\n\n return vec4<f32>(mix(realColor, adjusted, colorMapUniforms.uMix).rgb, realColor.a);\n}",eE=Object.defineProperty,eC=(e,t,r)=>t in e?eE(e,t,{enumerable:!0,configurable:!0,writable:!0,value:r}):e[t]=r,eO=(e,t,r)=>(eC(e,"symbol"!=typeof t?t+"":t,r),r);let ek=class e extends i.dJT{constructor(...t){let r=t[0]??{};if((r instanceof i.gPd||r instanceof i.v9C)&&((0,i.t66)("6.0.0","ColorMapFilter constructor params are now options object. See params: { colorMap, nearest, mix }"),r={colorMap:r},void 0!==t[1]&&(r.nearest=t[1]),void 0!==t[2]&&(r.mix=t[2])),!(r={...e.DEFAULT_OPTIONS,...r}).colorMap)throw Error("No color map texture source was provided to ColorMapFilter");super({gpuProgram:i.BrD.from({vertex:{source:a,entryPoint:"mainVertex"},fragment:{source:eA,entryPoint:"mainFragment"}}),glProgram:i.M2g.from({vertex:o,fragment:eS,name:"color-map-filter"}),resources:{colorMapUniforms:{uMix:{value:r.mix,type:"f32"},uSize:{value:0,type:"f32"},uSliceSize:{value:0,type:"f32"},uSlicePixelSize:{value:0,type:"f32"},uSliceInnerSize:{value:0,type:"f32"}},uMapTexture:r.colorMap.source,uMapSampler:r.colorMap.source.style}}),eO(this,"uniforms"),eO(this,"_size",0),eO(this,"_sliceSize",0),eO(this,"_slicePixelSize",0),eO(this,"_sliceInnerSize",0),eO(this,"_nearest",!1),eO(this,"_scaleMode","linear"),eO(this,"_colorMap"),this.uniforms=this.resources.colorMapUniforms.uniforms,Object.assign(this,r)}get mix(){return this.uniforms.uMix}set mix(e){this.uniforms.uMix=e}get colorSize(){return this._size}get colorMap(){return this._colorMap}set colorMap(e){if(!e||e===this.colorMap)return;let t=e instanceof i.gPd?e.source:e;t.style.scaleMode=this._scaleMode,t.autoGenerateMipmaps=!1,this._size=t.height,this._sliceSize=1/this._size,this._slicePixelSize=this._sliceSize/this._size,this._sliceInnerSize=this._slicePixelSize*(this._size-1),this.uniforms.uSize=this._size,this.uniforms.uSliceSize=this._sliceSize,this.uniforms.uSlicePixelSize=this._slicePixelSize,this.uniforms.uSliceInnerSize=this._sliceInnerSize,this.resources.uMapTexture=t,this._colorMap=e}get nearest(){return this._nearest}set nearest(e){this._nearest=e,this._scaleMode=e?"nearest":"linear";let t=this._colorMap;t&&t.source&&(t.source.scaleMode=this._scaleMode,t.source.autoGenerateMipmaps=!1,t.source.style.update(),t.source.update())}updateColorMap(){let e=this._colorMap;e?.source&&(e.source.update(),this.colorMap=e)}destroy(){this._colorMap?.destroy(),super.destroy()}};eO(ek,"DEFAULT_OPTIONS",{colorMap:i.gPd.WHITE,nearest:!1,mix:1});var eI="in vec2 vTextureCoord;\nout vec4 finalColor;\n\nuniform sampler2D uTexture;\nuniform vec3 uColor;\nuniform float uAlpha;\n\nvoid main(void) {\n vec4 c = texture(uTexture, vTextureCoord);\n finalColor = vec4(mix(c.rgb, uColor.rgb, c.a * uAlpha), c.a);\n}\n",eT="struct ColorOverlayUniforms {\n uColor: vec3<f32>,\n uAlpha: f32,\n};\n\n@group(0) @binding(1) var uTexture: texture_2d<f32>; \n@group(0) @binding(2) var uSampler: sampler;\n@group(1) @binding(0) var<uniform> colorOverlayUniforms : ColorOverlayUniforms;\n\n@fragment\nfn mainFragment(\n @builtin(position) position: vec4<f32>,\n @location(0) uv : vec2<f32>\n) -> @location(0) vec4<f32> {\n let c = textureSample(uTexture, uSampler, uv);\n return vec4<f32>(mix(c.rgb, colorOverlayUniforms.uColor.rgb, c.a * colorOverlayUniforms.uAlpha), c.a);\n}\n",eP=Object.defineProperty,eM=(e,t,r)=>t in e?eP(e,t,{enumerable:!0,configurable:!0,writable:!0,value:r}):e[t]=r,eR=(e,t,r)=>(eM(e,"symbol"!=typeof t?t+"":t,r),r);let e$=class e extends i.dJT{constructor(...t){let r=t[0]??{};("number"==typeof r||Array.isArray(r)||r instanceof Float32Array)&&((0,i.t66)("6.0.0","ColorOverlayFilter constructor params are now options object. See params: { color, alpha }"),r={color:r},void 0!==t[1]&&(r.alpha=t[1])),super({gpuProgram:i.BrD.from({vertex:{source:a,entryPoint:"mainVertex"},fragment:{source:eT,entryPoint:"mainFragment"}}),glProgram:i.M2g.from({vertex:o,fragment:eI,name:"color-overlay-filter"}),resources:{colorOverlayUniforms:{uColor:{value:new Float32Array(3),type:"vec3<f32>"},uAlpha:{value:(r={...e.DEFAULT_OPTIONS,...r}).alpha,type:"f32"}}}}),eR(this,"uniforms"),eR(this,"_color"),this.uniforms=this.resources.colorOverlayUniforms.uniforms,this._color=new i.Q1f,this.color=r.color??0}get color(){return this._color.value}set color(e){this._color.setValue(e);let[t,r,n]=this._color.toArray();this.uniforms.uColor[0]=t,this.uniforms.uColor[1]=r,this.uniforms.uColor[2]=n}get alpha(){return this.uniforms.uAlpha}set alpha(e){this.uniforms.uAlpha=e}};eR(e$,"DEFAULT_OPTIONS",{color:0,alpha:1});var ej="in vec2 vTextureCoord;\nout vec4 finalColor;\n\nuniform sampler2D uTexture;\nuniform vec3 uOriginalColor;\nuniform vec3 uTargetColor;\nuniform float uTolerance;\n\nvoid main(void) {\n vec4 c = texture(uTexture, vTextureCoord);\n vec3 colorDiff = uOriginalColor - (c.rgb / max(c.a, 0.0000000001));\n float colorDistance = length(colorDiff);\n float doReplace = step(colorDistance, uTolerance);\n finalColor = vec4(mix(c.rgb, (uTargetColor + colorDiff) * c.a, doReplace), c.a);\n}\n",eN="struct ColorReplaceUniforms {\n uOriginalColor: vec3<f32>,\n uTargetColor: vec3<f32>,\n uTolerance: f32,\n};\n\n@group(0) @binding(1) var uTexture: texture_2d<f32>; \n@group(0) @binding(2) var uSampler: sampler;\n@group(1) @binding(0) var<uniform> colorReplaceUniforms : ColorReplaceUniforms;\n\n@fragment\nfn mainFragment(\n @builtin(position) position: vec4<f32>,\n @location(0) uv : vec2<f32>\n) -> @location(0) vec4<f32> {\n let sample: vec4<f32> = textureSample(uTexture, uSampler, uv);\n\n let colorDiff: vec3<f32> = colorReplaceUniforms.uOriginalColor - (sample.rgb / max(sample.a, 0.0000000001));\n let colorDistance: f32 = length(colorDiff);\n let doReplace: f32 = step(colorDistance, colorReplaceUniforms.uTolerance);\n\n return vec4<f32>(mix(sample.rgb, (colorReplaceUniforms.uTargetColor + colorDiff) * sample.a, doReplace), sample.a);\n}",eB=Object.defineProperty,eL=(e,t,r)=>t in e?eB(e,t,{enumerable:!0,configurable:!0,writable:!0,value:r}):e[t]=r,ez=(e,t,r)=>(eL(e,"symbol"!=typeof t?t+"":t,r),r);let eF=class e extends i.dJT{constructor(...t){let r=t[0]??{};("number"==typeof r||Array.isArray(r)||r instanceof Float32Array)&&((0,i.t66)("6.0.0","ColorReplaceFilter constructor params are now options object. See params: { originalColor, targetColor, tolerance }"),r={originalColor:r},void 0!==t[1]&&(r.targetColor=t[1]),void 0!==t[2]&&(r.tolerance=t[2])),super({gpuProgram:i.BrD.from({vertex:{source:a,entryPoint:"mainVertex"},fragment:{source:eN,entryPoint:"mainFragment"}}),glProgram:i.M2g.from({vertex:o,fragment:ej,name:"color-replace-filter"}),resources:{colorReplaceUniforms:{uOriginalColor:{value:new Float32Array(3),type:"vec3<f32>"},uTargetColor:{value:new Float32Array(3),type:"vec3<f32>"},uTolerance:{value:(r={...e.DEFAULT_OPTIONS,...r}).tolerance,type:"f32"}}}}),ez(this,"uniforms"),ez(this,"_originalColor"),ez(this,"_targetColor"),this.uniforms=this.resources.colorReplaceUniforms.uniforms,this._originalColor=new i.Q1f,this._targetColor=new i.Q1f,this.originalColor=r.originalColor??0xff0000,this.targetColor=r.targetColor??0,Object.assign(this,r)}get originalColor(){return this._originalColor.value}set originalColor(e){this._originalColor.setValue(e);let[t,r,n]=this._originalColor.toArray();this.uniforms.uOriginalColor[0]=t,this.uniforms.uOriginalColor[1]=r,this.uniforms.uOriginalColor[2]=n}get targetColor(){return this._targetColor.value}set targetColor(e){this._targetColor.setValue(e);let[t,r,n]=this._targetColor.toArray();this.uniforms.uTargetColor[0]=t,this.uniforms.uTargetColor[1]=r,this.uniforms.uTargetColor[2]=n}get tolerance(){return this.uniforms.uTolerance}set tolerance(e){this.uniforms.uTolerance=e}set newColor(e){(0,i.t66)("6.0.0","ColorReplaceFilter.newColor is deprecated, please use ColorReplaceFilter.targetColor instead"),this.targetColor=e}get newColor(){return(0,i.t66)("6.0.0","ColorReplaceFilter.newColor is deprecated, please use ColorReplaceFilter.targetColor instead"),this.targetColor}set epsilon(e){(0,i.t66)("6.0.0","ColorReplaceFilter.epsilon is deprecated, please use ColorReplaceFilter.tolerance instead"),this.tolerance=e}get epsilon(){return(0,i.t66)("6.0.0","ColorReplaceFilter.epsilon is deprecated, please use ColorReplaceFilter.tolerance instead"),this.tolerance}};ez(eF,"DEFAULT_OPTIONS",{originalColor:0xff0000,targetColor:0,tolerance:.4});var eD="in vec2 vTextureCoord;\nout vec4 finalColor;\n\nuniform sampler2D uTexture;\nuniform vec2 uTexelSize;\nuniform mat3 uMatrix;\n\nvoid main(void)\n{\n vec4 c11 = texture(uTexture, vTextureCoord - uTexelSize); // top left\n vec4 c12 = texture(uTexture, vec2(vTextureCoord.x, vTextureCoord.y - uTexelSize.y)); // top center\n vec4 c13 = texture(uTexture, vec2(vTextureCoord.x + uTexelSize.x, vTextureCoord.y - uTexelSize.y)); // top right\n\n vec4 c21 = texture(uTexture, vec2(vTextureCoord.x - uTexelSize.x, vTextureCoord.y)); // mid left\n vec4 c22 = texture(uTexture, vTextureCoord); // mid center\n vec4 c23 = texture(uTexture, vec2(vTextureCoord.x + uTexelSize.x, vTextureCoord.y)); // mid right\n\n vec4 c31 = texture(uTexture, vec2(vTextureCoord.x - uTexelSize.x, vTextureCoord.y + uTexelSize.y)); // bottom left\n vec4 c32 = texture(uTexture, vec2(vTextureCoord.x, vTextureCoord.y + uTexelSize.y)); // bottom center\n vec4 c33 = texture(uTexture, vTextureCoord + uTexelSize); // bottom right\n\n finalColor =\n c11 * uMatrix[0][0] + c12 * uMatrix[0][1] + c13 * uMatrix[0][2] +\n c21 * uMatrix[1][0] + c22 * uMatrix[1][1] + c23 * uMatrix[1][2] +\n c31 * uMatrix[2][0] + c32 * uMatrix[2][1] + c33 * uMatrix[2][2];\n\n finalColor.a = c22.a;\n}",eU="struct ConvolutionUniforms {\n uMatrix: mat3x3<f32>,\n uTexelSize: vec2<f32>,\n};\n\n@group(0) @binding(1) var uTexture: texture_2d<f32>; \n@group(0) @binding(2) var uSampler: sampler;\n@group(1) @binding(0) var<uniform> convolutionUniforms : ConvolutionUniforms;\n\n@fragment\nfn mainFragment(\n @location(0) uv: vec2<f32>,\n @builtin(position) position: vec4<f32>\n) -> @location(0) vec4<f32> {\n let texelSize = convolutionUniforms.uTexelSize;\n let matrix = convolutionUniforms.uMatrix;\n\n let c11: vec4<f32> = textureSample(uTexture, uSampler, uv - texelSize); // top left\n let c12: vec4<f32> = textureSample(uTexture, uSampler, vec2<f32>(uv.x, uv.y - texelSize.y)); // top center\n let c13: vec4<f32> = textureSample(uTexture, uSampler, vec2<f32>(uv.x + texelSize.x, uv.y - texelSize.y)); // top right\n\n let c21: vec4<f32> = textureSample(uTexture, uSampler, vec2<f32>(uv.x - texelSize.x, uv.y)); // mid left\n let c22: vec4<f32> = textureSample(uTexture, uSampler, uv); // mid center\n let c23: vec4<f32> = textureSample(uTexture, uSampler, vec2<f32>(uv.x + texelSize.x, uv.y)); // mid right\n\n let c31: vec4<f32> = textureSample(uTexture, uSampler, vec2<f32>(uv.x - texelSize.x, uv.y + texelSize.y)); // bottom left\n let c32: vec4<f32> = textureSample(uTexture, uSampler, vec2<f32>(uv.x, uv.y + texelSize.y)); // bottom center\n let c33: vec4<f32> = textureSample(uTexture, uSampler, uv + texelSize); // bottom right\n\n var finalColor: vec4<f32> = vec4<f32>(\n c11 * matrix[0][0] + c12 * matrix[0][1] + c13 * matrix[0][2] +\n c21 * matrix[1][0] + c22 * matrix[1][1] + c23 * matrix[1][2] +\n c31 * matrix[2][0] + c32 * matrix[2][1] + c33 * matrix[2][2]\n );\n\n finalColor.a = c22.a;\n\n return finalColor;\n}",eH=Object.defineProperty,eG=(e,t,r)=>t in e?eH(e,t,{enumerable:!0,configurable:!0,writable:!0,value:r}):e[t]=r,eW=(e,t,r)=>(eG(e,"symbol"!=typeof t?t+"":t,r),r);let eV=class e extends i.dJT{constructor(...t){let r=t[0]??{};Array.isArray(r)&&((0,i.t66)("6.0.0","ConvolutionFilter constructor params are now options object. See params: { matrix, width, height }"),r={matrix:r},void 0!==t[1]&&(r.width=t[1]),void 0!==t[2]&&(r.height=t[2]));const n=(r={...e.DEFAULT_OPTIONS,...r}).width??200,s=r.height??200;super({gpuProgram:i.BrD.from({vertex:{source:a,entryPoint:"mainVertex"},fragment:{source:eU,entryPoint:"mainFragment"}}),glProgram:i.M2g.from({vertex:o,fragment:eD,name:"convolution-filter"}),resources:{convolutionUniforms:{uMatrix:{value:r.matrix,type:"mat3x3<f32>"},uTexelSize:{value:{x:1/n,y:1/s},type:"vec2<f32>"}}}}),eW(this,"uniforms"),this.uniforms=this.resources.convolutionUniforms.uniforms,this.width=n,this.height=s}get matrix(){return this.uniforms.uMatrix}set matrix(e){e.forEach((e,t)=>{this.uniforms.uMatrix[t]=e})}get width(){return 1/this.uniforms.uTexelSize.x}set width(e){this.uniforms.uTexelSize.x=1/e}get height(){return 1/this.uniforms.uTexelSize.y}set height(e){this.uniforms.uTexelSize.y=1/e}};eW(eV,"DEFAULT_OPTIONS",{matrix:new Float32Array(9),width:200,height:200});i.dJT;var eq="precision highp float;\nin vec2 vTextureCoord;\nout vec4 finalColor;\n\nuniform sampler2D uTexture;\nuniform vec4 uLine;\nuniform vec2 uNoise;\nuniform vec3 uVignette;\nuniform float uSeed;\nuniform float uTime;\nuniform vec2 uDimensions;\n\nuniform vec4 uInputSize;\n\nconst float SQRT_2 = 1.414213;\n\nfloat rand(vec2 co) {\n return fract(sin(dot(co.xy, vec2(12.9898, 78.233))) * 43758.5453);\n}\n\nfloat vignette(vec3 co, vec2 coord)\n{\n float outter = SQRT_2 - uVignette[0] * SQRT_2;\n vec2 dir = vec2(0.5) - coord;\n dir.y *= uDimensions.y / uDimensions.x;\n float darker = clamp((outter - length(dir) * SQRT_2) / ( 0.00001 + uVignette[2] * SQRT_2), 0.0, 1.0);\n return darker + (1.0 - darker) * (1.0 - uVignette[1]);\n}\n\nfloat noise(vec2 coord)\n{\n vec2 pixelCoord = coord * uInputSize.xy;\n pixelCoord.x = floor(pixelCoord.x / uNoise[1]);\n pixelCoord.y = floor(pixelCoord.y / uNoise[1]);\n return (rand(pixelCoord * uNoise[1] * uSeed) - 0.5) * uNoise[0];\n}\n\nvec3 interlaceLines(vec3 co, vec2 coord)\n{\n vec3 color = co;\n\n float curvature = uLine[0];\n float lineWidth = uLine[1];\n float lineContrast = uLine[2];\n float verticalLine = uLine[3];\n\n vec2 dir = vec2(coord * uInputSize.xy / uDimensions - 0.5);\n\n float _c = curvature > 0. ? curvature : 1.;\n float k = curvature > 0. ? (length(dir * dir) * 0.25 * _c * _c + 0.935 * _c) : 1.;\n vec2 uv = dir * k;\n float v = verticalLine > 0.5 ? uv.x * uDimensions.x : uv.y * uDimensions.y;\n v *= min(1.0, 2.0 / lineWidth ) / _c;\n float j = 1. + cos(v * 1.2 - uTime) * 0.5 * lineContrast;\n color *= j;\n\n float segment = verticalLine > 0.5 ? mod((dir.x + .5) * uDimensions.x, 4.) : mod((dir.y + .5) * uDimensions.y, 4.);\n color *= 0.99 + ceil(segment) * 0.015;\n\n return color;\n}\n\nvoid main(void)\n{\n finalColor = texture(uTexture, vTextureCoord);\n vec2 coord = vTextureCoord * uInputSize.xy / uDimensions;\n\n if (uNoise[0] > 0.0 && uNoise[1] > 0.0)\n {\n float n = noise(vTextureCoord);\n finalColor += vec4(n, n, n, finalColor.a);\n }\n\n if (uVignette[0] > 0.)\n {\n float v = vignette(finalColor.rgb, coord);\n finalColor *= vec4(v, v, v, finalColor.a);\n }\n\n if (uLine[1] > 0.0)\n {\n finalColor = vec4(interlaceLines(finalColor.rgb, vTextureCoord), finalColor.a); \n }\n}\n",eX="struct CRTUniforms {\n uLine: vec4<f32>,\n uNoise: vec2<f32>,\n uVignette: vec3<f32>,\n uSeed: f32,\n uTime: f32,\n uDimensions: vec2<f32>,\n};\n\nstruct GlobalFilterUniforms {\n uInputSize:vec4<f32>,\n uInputPixel:vec4<f32>,\n uInputClamp:vec4<f32>,\n uOutputFrame:vec4<f32>,\n uGlobalFrame:vec4<f32>,\n uOutputTexture:vec4<f32>,\n};\n\n@group(0) @binding(0) var<uniform> gfu: GlobalFilterUniforms;\n\n@group(0) @binding(1) var uTexture: texture_2d<f32>; \n@group(0) @binding(2) var uSampler: sampler;\n@group(1) @binding(0) var<uniform> crtUniforms : CRTUniforms;\n\n@fragment\nfn mainFragment(\n @builtin(position) position: vec4<f32>,\n @location(0) uv : vec2<f32>\n) -> @location(0) vec4<f32> {\n \n var color: vec4<f32> = textureSample(uTexture, uSampler, uv);\n let coord: vec2<f32> = uv * gfu.uInputSize.xy / crtUniforms.uDimensions;\n\n let uNoise = crtUniforms.uNoise;\n\n if (uNoise[0] > 0.0 && uNoise[1] > 0.0)\n {\n color += vec4<f32>(vec3<f32>(noise(uv)), color.a);\n }\n\n if (crtUniforms.uVignette[0] > 0.)\n {\n color *= vec4<f32>(vec3<f32>(vignette(color.rgb, coord)), color.a);\n }\n\n if (crtUniforms.uLine[1] > 0.0)\n {\n color = vec4<f32>(vec3<f32>(interlaceLines(color.rgb, uv)), color.a); \n }\n\n return color;\n}\n\nconst SQRT_2: f32 = 1.414213;\n\nfn modulo(x: f32, y: f32) -> f32\n{\n return x - y * floor(x/y);\n}\n\nfn rand(co: vec2<f32>) -> f32\n{\n return fract(sin(dot(co, vec2<f32>(12.9898, 78.233))) * 43758.5453);\n}\n\nfn vignette(co: vec3<f32>, coord: vec2<f32>) -> f32\n{\n let uVignette = crtUniforms.uVignette;\n let uDimensions = crtUniforms.uDimensions;\n \n let outter: f32 = SQRT_2 - uVignette[0] * SQRT_2;\n var dir: vec2<f32> = vec2<f32>(0.5) - coord;\n dir.y *= uDimensions.y / uDimensions.x;\n let darker: f32 = clamp((outter - length(dir) * SQRT_2) / ( 0.00001 + uVignette[2] * SQRT_2), 0.0, 1.0);\n return darker + (1.0 - darker) * (1.0 - uVignette[1]);\n}\n\nfn noise(coord: vec2<f32>) -> f32\n{\n let uNoise = crtUniforms.uNoise;\n let uSeed = crtUniforms.uSeed;\n\n var pixelCoord: vec2<f32> = coord * gfu.uInputSize.xy;\n pixelCoord.x = floor(pixelCoord.x / uNoise[1]);\n pixelCoord.y = floor(pixelCoord.y / uNoise[1]);\n return (rand(pixelCoord * uNoise[1] * uSeed) - 0.5) * uNoise[0];\n}\n\nfn interlaceLines(co: vec3<f32>, coord: vec2<f32>) -> vec3<f32>\n{\n var color = co;\n\n let uDimensions = crtUniforms.uDimensions;\n\n let curvature: f32 = crtUniforms.uLine[0];\n let lineWidth: f32 = crtUniforms.uLine[1];\n let lineContrast: f32 = crtUniforms.uLine[2];\n let verticalLine: f32 = crtUniforms.uLine[3];\n\n let dir: vec2<f32> = vec2<f32>(coord * gfu.uInputSize.xy / uDimensions - 0.5);\n\n let _c: f32 = select(1., curvature, curvature > 0.);\n let k: f32 = select(1., (length(dir * dir) * 0.25 * _c * _c + 0.935 * _c), curvature > 0.);\n let uv: vec2<f32> = dir * k;\n let v: f32 = select(uv.y * uDimensions.y, uv.x * uDimensions.x, verticalLine > 0.5) * min(1.0, 2.0 / lineWidth ) / _c;\n let j: f32 = 1. + cos(v * 1.2 - crtUniforms.uTime) * 0.5 * lineContrast;\n color *= j;\n\n let segment: f32 = select(modulo((dir.y + .5) * uDimensions.y, 4.), modulo((dir.x + .5) * uDimensions.x, 4.), verticalLine > 0.5);\n color *= 0.99 + ceil(segment) * 0.015;\n\n return color;\n}",eY=Object.defineProperty,eZ=(e,t,r)=>t in e?eY(e,t,{enumerable:!0,configurable:!0,writable:!0,value:r}):e[t]=r,eK=(e,t,r)=>(eZ(e,"symbol"!=typeof t?t+"":t,r),r);let eJ=class e extends i.dJT{constructor(t){t={...e.DEFAULT_OPTIONS,...t},super({gpuProgram:i.BrD.from({vertex:{source:a,entryPoint:"mainVertex"},fragment:{source:eX,entryPoint:"mainFragment"}}),glProgram:i.M2g.from({vertex:o,fragment:eq,name:"crt-filter"}),resources:{crtUniforms:{uLine:{value:new Float32Array(4),type:"vec4<f32>"},uNoise:{value:new Float32Array(2),type:"vec2<f32>"},uVignette:{value:new Float32Array(3),type:"vec3<f32>"},uSeed:{value:t.seed,type:"f32"},uTime:{value:t.time,type:"f32"},uDimensions:{value:new Float32Array(2),type:"vec2<f32>"}}}}),eK(this,"uniforms"),eK(this,"seed"),eK(this,"time"),this.uniforms=this.resources.crtUniforms.uniforms,Object.assign(this,t)}apply(e,t,r,n){this.uniforms.uDimensions[0]=t.frame.width,this.uniforms.uDimensions[1]=t.frame.height,this.uniforms.uSeed=this.seed,this.uniforms.uTime=this.time,e.applyFilter(this,t,r,n)}get curvature(){return this.uniforms.uLine[0]}set curvature(e){this.uniforms.uLine[0]=e}get lineWidth(){return this.uniforms.uLine[1]}set lineWidth(e){this.uniforms.uLine[1]=e}get lineContrast(){return this.uniforms.uLine[2]}set lineContrast(e){this.uniforms.uLine[2]=e}get verticalLine(){return this.uniforms.uLine[3]>.5}set verticalLine(e){this.uniforms.uLine[3]=+!!e}get noise(){return this.uniforms.uNoise[0]}set noise(e){this.uniforms.uNoise[0]=e}get noiseSize(){return this.uniforms.uNoise[1]}set noiseSize(e){this.uniforms.uNoise[1]=e}get vignetting(){return this.uniforms.uVignette[0]}set vignetting(e){this.uniforms.uVignette[0]=e}get vignettingAlpha(){return this.uniforms.uVignette[1]}set vignettingAlpha(e){this.uniforms.uVignette[1]=e}get vignettingBlur(){return this.uniforms.uVignette[2]}set vignettingBlur(e){this.uniforms.uVignette[2]=e}};eK(eJ,"DEFAULT_OPTIONS",{curvature:1,lineWidth:1,lineContrast:.25,verticalLine:!1,noise:0,noiseSize:1,vignetting:.3,vignettingAlpha:1,vignettingBlur:.3,time:0,seed:0});var eQ="precision highp float;\nin vec2 vTextureCoord;\nout vec4 finalColor;\n\nuniform sampler2D uTexture;\nuniform float uAngle;\nuniform float uScale;\nuniform bool uGrayScale;\n\nuniform vec4 uInputSize;\n\nfloat pattern()\n{\n float s = sin(uAngle), c = cos(uAngle);\n vec2 tex = vTextureCoord * uInputSize.xy;\n vec2 point = vec2(\n c * tex.x - s * tex.y,\n s * tex.x + c * tex.y\n ) * uScale;\n return (sin(point.x) * sin(point.y)) * 4.0;\n }\n\n void main()\n {\n vec4 color = texture(uTexture, vTextureCoord);\n vec3 colorRGB = vec3(color);\n\n if (uGrayScale)\n {\n colorRGB = vec3(color.r + color.g + color.b) / 3.0;\n }\n\n finalColor = vec4(colorRGB * 10.0 - 5.0 + pattern(), color.a);\n}\n",e0="struct DotUniforms {\n uScale:f32,\n uAngle:f32,\n uGrayScale:f32,\n};\n\nstruct GlobalFilterUniforms {\n uInputSize:vec4<f32>,\n uInputPixel:vec4<f32>,\n uInputClamp:vec4<f32>,\n uOutputFrame:vec4<f32>,\n uGlobalFrame:vec4<f32>,\n uOutputTexture:vec4<f32>,\n};\n\n@group(0) @binding(0) var<uniform> gfu: GlobalFilterUniforms;\n\n@group(0) @binding(1) var uTexture: texture_2d<f32>; \n@group(0) @binding(2) var uSampler: sampler;\n@group(1) @binding(0) var<uniform> dotUniforms : DotUniforms;\n\n@fragment\nfn mainFragment(\n @location(0) uv: vec2<f32>,\n @builtin(position) position: vec4<f32>\n) -> @location(0) vec4<f32> {\n let color: vec4<f32> = textureSample(uTexture, uSampler, uv);\n let gray: vec3<f32> = vec3<f32>(dot(color.rgb, vec3<f32>(0.299, 0.587, 0.114)));\n // dotUniforms.uGrayScale == 1 doesn't ever pass so it is converted to a float and compared to 0.5 instead \n let finalColor: vec3<f32> = select(color.rgb, gray, f32(dotUniforms.uGrayScale) >= 0.5);\n\n return vec4<f32>(finalColor * 10.0 - 5.0 + pattern(uv), color.a);\n}\n\nfn pattern(uv: vec2<f32>) -> f32\n{\n let s: f32 = sin(dotUniforms.uAngle);\n let c: f32 = cos(dotUniforms.uAngle);\n \n let tex: vec2<f32> = uv * gfu.uInputSize.xy;\n \n let p: vec2<f32> = vec2<f32>(\n c * tex.x - s * tex.y,\n s * tex.x + c * tex.y\n ) * dotUniforms.uScale;\n\n return (sin(p.x) * sin(p.y)) * 4.0;\n}",e1=Object.defineProperty,e2=(e,t,r)=>t in e?e1(e,t,{enumerable:!0,configurable:!0,writable:!0,value:r}):e[t]=r;e2(class e extends i.dJT{constructor(...t){let r=t[0]??{};"number"==typeof r&&((0,i.t66)("6.0.0","DotFilter constructor params are now options object. See params: { scale, angle, grayscale }"),r={scale:r},void 0!==t[1]&&(r.angle=t[1]),void 0!==t[2]&&(r.grayscale=t[2])),super({gpuProgram:i.BrD.from({vertex:{source:a,entryPoint:"mainVertex"},fragment:{source:e0,entryPoint:"mainFragment"}}),glProgram:i.M2g.from({vertex:o,fragment:eQ,name:"dot-filter"}),resources:{dotUniforms:{uScale:{value:(r={...e.DEFAULT_OPTIONS,...r}).scale,type:"f32"},uAngle:{value:r.angle,type:"f32"},uGrayScale:{value:+!!r.grayscale,type:"f32"}}}})}get scale(){return this.resources.dotUniforms.uniforms.uScale}set scale(e){this.resources.dotUniforms.uniforms.uScale=e}get angle(){return this.resources.dotUniforms.uniforms.uAngle}set angle(e){this.resources.dotUniforms.uniforms.uAngle=e}get grayscale(){return 1===this.resources.dotUniforms.uniforms.uGrayScale}set grayscale(e){this.resources.dotUniforms.uniforms.uGrayScale=+!!e}},"symbol"!=typeof(n="DEFAULT_OPTIONS")?n+"":n,{scale:1,angle:5,grayscale:!0});var e3="precision highp float;\nin vec2 vTextureCoord;\nout vec4 finalColor;\n\nuniform sampler2D uTexture;\nuniform float uAlpha;\nuniform vec3 uColor;\nuniform vec2 uOffset;\n\nuniform vec4 uInputSize;\n\nvoid main(void){\n vec4 sample = texture(uTexture, vTextureCoord - uOffset * uInputSize.zw);\n\n // Premultiply alpha\n sample.rgb = uColor.rgb * sample.a;\n\n // alpha user alpha\n sample *= uAlpha;\n\n finalColor = sample;\n}",e5="struct DropShadowUniforms {\n uAlpha: f32,\n uColor: vec3<f32>,\n uOffset: vec2<f32>,\n};\n\nstruct GlobalFilterUniforms {\n uInputSize:vec4<f32>,\n uInputPixel:vec4<f32>,\n uInputClamp:vec4<f32>,\n uOutputFrame:vec4<f32>,\n uGlobalFrame:vec4<f32>,\n uOutputTexture:vec4<f32>,\n};\n\n@group(0) @binding(0) var<uniform> gfu: GlobalFilterUniforms;\n\n@group(0) @binding(1) var uTexture: texture_2d<f32>; \n@group(0) @binding(2) var uSampler: sampler;\n@group(1) @binding(0) var<uniform> dropShadowUniforms : DropShadowUniforms;\n\n@fragment\nfn mainFragment(\n @builtin(position) position: vec4<f32>,\n @location(0) uv : vec2<f32>\n) -> @location(0) vec4<f32> {\n var color: vec4<f32> = textureSample(uTexture, uSampler, uv - dropShadowUniforms.uOffset * gfu.uInputSize.zw);\n\n // Premultiply alpha\n color = vec4<f32>(vec3<f32>(dropShadowUniforms.uColor.rgb * color.a), color.a);\n // alpha user alpha\n color *= dropShadowUniforms.uAlpha;\n\n return color;\n}",e4=Object.defineProperty,e6=(e,t,r)=>t in e?e4(e,t,{enumerable:!0,configurable:!0,writable:!0,value:r}):e[t]=r,e8=(e,t,r)=>(e6(e,"symbol"!=typeof t?t+"":t,r),r);let e9=class e extends i.dJT{constructor(t){t={...e.DEFAULT_OPTIONS,...t},super({gpuProgram:i.BrD.from({vertex:{source:a,entryPoint:"mainVertex"},fragment:{source:e5,entryPoint:"mainFragment"}}),glProgram:i.M2g.from({vertex:o,fragment:e3,name:"drop-shadow-filter"}),resources:{dropShadowUniforms:{uAlpha:{value:t.alpha,type:"f32"},uColor:{value:new Float32Array(3),type:"vec3<f32>"},uOffset:{value:t.offset,type:"vec2<f32>"}}},resolution:t.resolution}),e8(this,"uniforms"),e8(this,"shadowOnly",!1),e8(this,"_color"),e8(this,"_blurFilter"),e8(this,"_basePass"),this.uniforms=this.resources.dropShadowUniforms.uniforms,this._color=new i.Q1f,this.color=t.color??0,this._blurFilter=new w({strength:t.kernels??t.blur,quality:t.kernels?void 0:t.quality}),this._basePass=new i.dJT({gpuProgram:i.BrD.from({vertex:{source:a,entryPoint:"mainVertex"},fragment:{source:`
|
|
326
|
+
${tB(e)}`);return{...s,id:a,type:o,function:{...c,name:u,arguments:l}}})}}:{...o,message:{...u,content:a,role:c,refusal:t.refusal??null},finish_reason:r,index:n,logprobs:i}}),created:i,model:o,object:"chat.completion",...a?{system_fingerprint:a}:{}},t)}function tB(e){return JSON.stringify(e)}class tL extends tj{static fromReadableStream(e){let t=new tL(null);return t._run(()=>t._fromReadableStream(e)),t}static runTools(e,t,r){let n=new tL(t),i={...r,headers:{...r?.headers,"X-Stainless-Helper-Method":"runTools"}};return n._run(()=>n._runTools(e,t,i)),n}}class tz extends e8{constructor(){super(...arguments),this.messages=new tt(this._client)}create(e,t){return this._client.post("/chat/completions",{body:e,...t,stream:e.stream??!1})}retrieve(e,t){return this._client.get(te`/chat/completions/${e}`,t)}update(e,t,r){return this._client.post(te`/chat/completions/${e}`,{body:t,...r})}list(e={},t){return this._client.getAPIList("/chat/completions",eF,{query:e,...t})}delete(e,t){return this._client.delete(te`/chat/completions/${e}`,t)}parse(e,t){return th(e.tools),this._client.chat.completions.create(e,{...t,headers:{...t?.headers,"X-Stainless-Helper-Method":"chat.completions.parse"}})._thenUnwrap(t=>ta(t,e))}runTools(e,t){return e.stream?tL.runTools(this._client,e,t):tb.runTools(this._client,e,t)}stream(e,t){return tj.createChatCompletion(this._client,e,t)}}tz.Messages=tt;class tF extends e8{constructor(){super(...arguments),this.completions=new tz(this._client)}}tF.Completions=tz;let tD=Symbol("brand.privateNullableHeaders");function*tU(e){let t;if(!e)return;if(tD in e){let{values:t,nulls:r}=e;for(let e of(yield*t.entries(),r))yield[e,null];return}let r=!1;for(let n of(e instanceof Headers?t=e.entries():P(e)?t=e:(r=!0,t=Object.entries(e??{})),t)){let e=n[0];if("string"!=typeof e)throw TypeError("expected header name to be a string");let t=P(n[1])?n[1]:[n[1]],i=!1;for(let n of t)void 0!==n&&(r&&!i&&(i=!0,yield[e,null]),yield[e,n])}}let tH=e=>{let t=new Headers,r=new Set;for(let n of e){let e=new Set;for(let[i,o]of tU(n)){let n=i.toLowerCase();e.has(n)||(t.delete(i),e.add(n)),null===o?(t.delete(i),r.add(n)):(t.append(i,o),r.delete(n))}}return{[tD]:!0,values:t,nulls:r}};class tG extends e8{create(e,t){return this._client.post("/audio/speech",{body:e,...t,headers:tH([{Accept:"application/octet-stream"},t?.headers]),__binaryResponse:!0})}}class tW extends e8{create(e,t){return this._client.post("/audio/transcriptions",eq({body:e,...t,stream:e.stream??!1,__metadata:{model:e.model}},this._client))}}class tV extends e8{create(e,t){return this._client.post("/audio/translations",eq({body:e,...t,__metadata:{model:e.model}},this._client))}}class tq extends e8{constructor(){super(...arguments),this.transcriptions=new tW(this._client),this.translations=new tV(this._client),this.speech=new tG(this._client)}}tq.Transcriptions=tW,tq.Translations=tV,tq.Speech=tG;class tX extends e8{create(e,t){return this._client.post("/batches",{body:e,...t})}retrieve(e,t){return this._client.get(te`/batches/${e}`,t)}list(e={},t){return this._client.getAPIList("/batches",eF,{query:e,...t})}cancel(e,t){return this._client.post(te`/batches/${e}/cancel`,t)}}class tY extends e8{create(e,t){return this._client.post("/assistants",{body:e,...t,headers:tH([{"OpenAI-Beta":"assistants=v2"},t?.headers])})}retrieve(e,t){return this._client.get(te`/assistants/${e}`,{...t,headers:tH([{"OpenAI-Beta":"assistants=v2"},t?.headers])})}update(e,t,r){return this._client.post(te`/assistants/${e}`,{body:t,...r,headers:tH([{"OpenAI-Beta":"assistants=v2"},r?.headers])})}list(e={},t){return this._client.getAPIList("/assistants",eF,{query:e,...t,headers:tH([{"OpenAI-Beta":"assistants=v2"},t?.headers])})}delete(e,t){return this._client.delete(te`/assistants/${e}`,{...t,headers:tH([{"OpenAI-Beta":"assistants=v2"},t?.headers])})}}class tZ extends e8{create(e,t){return this._client.post("/realtime/sessions",{body:e,...t,headers:tH([{"OpenAI-Beta":"assistants=v2"},t?.headers])})}}class tK extends e8{create(e,t){return this._client.post("/realtime/transcription_sessions",{body:e,...t,headers:tH([{"OpenAI-Beta":"assistants=v2"},t?.headers])})}}class tJ extends e8{constructor(){super(...arguments),this.sessions=new tZ(this._client),this.transcriptionSessions=new tK(this._client)}}tJ.Sessions=tZ,tJ.TranscriptionSessions=tK;class tQ extends e8{create(e,t){return this._client.post("/chatkit/sessions",{body:e,...t,headers:tH([{"OpenAI-Beta":"chatkit_beta=v1"},t?.headers])})}cancel(e,t){return this._client.post(te`/chatkit/sessions/${e}/cancel`,{...t,headers:tH([{"OpenAI-Beta":"chatkit_beta=v1"},t?.headers])})}}class t0 extends e8{retrieve(e,t){return this._client.get(te`/chatkit/threads/${e}`,{...t,headers:tH([{"OpenAI-Beta":"chatkit_beta=v1"},t?.headers])})}list(e={},t){return this._client.getAPIList("/chatkit/threads",eD,{query:e,...t,headers:tH([{"OpenAI-Beta":"chatkit_beta=v1"},t?.headers])})}delete(e,t){return this._client.delete(te`/chatkit/threads/${e}`,{...t,headers:tH([{"OpenAI-Beta":"chatkit_beta=v1"},t?.headers])})}listItems(e,t={},r){return this._client.getAPIList(te`/chatkit/threads/${e}/items`,eD,{query:t,...r,headers:tH([{"OpenAI-Beta":"chatkit_beta=v1"},r?.headers])})}}class t1 extends e8{constructor(){super(...arguments),this.sessions=new tQ(this._client),this.threads=new t0(this._client)}uploadFile(e,t){return this._client.post("/chatkit/files",eV({body:e,...t,headers:tH([{"OpenAI-Beta":"chatkit_beta=v1"},t?.headers])},this._client))}}t1.Sessions=tQ,t1.Threads=t0;class t2 extends e8{create(e,t,r){return this._client.post(te`/threads/${e}/messages`,{body:t,...r,headers:tH([{"OpenAI-Beta":"assistants=v2"},r?.headers])})}retrieve(e,t,r){let{thread_id:n}=t;return this._client.get(te`/threads/${n}/messages/${e}`,{...r,headers:tH([{"OpenAI-Beta":"assistants=v2"},r?.headers])})}update(e,t,r){let{thread_id:n,...i}=t;return this._client.post(te`/threads/${n}/messages/${e}`,{body:i,...r,headers:tH([{"OpenAI-Beta":"assistants=v2"},r?.headers])})}list(e,t={},r){return this._client.getAPIList(te`/threads/${e}/messages`,eF,{query:t,...r,headers:tH([{"OpenAI-Beta":"assistants=v2"},r?.headers])})}delete(e,t,r){let{thread_id:n}=t;return this._client.delete(te`/threads/${n}/messages/${e}`,{...r,headers:tH([{"OpenAI-Beta":"assistants=v2"},r?.headers])})}}class t3 extends e8{retrieve(e,t,r){let{thread_id:n,run_id:i,...o}=t;return this._client.get(te`/threads/${n}/runs/${i}/steps/${e}`,{query:o,...r,headers:tH([{"OpenAI-Beta":"assistants=v2"},r?.headers])})}list(e,t,r){let{thread_id:n,...i}=t;return this._client.getAPIList(te`/threads/${n}/runs/${e}/steps`,eF,{query:i,...r,headers:tH([{"OpenAI-Beta":"assistants=v2"},r?.headers])})}}var t5,t4,t6,t8,t9,t7,re,rt,rr,rn,ri,ro,ra,rs,rl,ru,rc,rf,rh,rd,rp,rm,rg,rv,ry,rb,r_,rw,rx,rS,rA,rE,rC,rO,rk,rI,rT,rP,rM,rR,r$,rj,rN,rB,rL,rz,rF,rD,rU,rH,rG,rW,rV,rq,rX,rY,rZ,rK,rJ,rQ,r0,r1,r2,r3,r5,r4,r6,r8,r9,r7,ne,nt,nr,nn,ni,no,na=r(8963).Buffer;let ns=e=>{if(void 0!==na){let t=na.from(e,"base64");return Array.from(new Float32Array(t.buffer,t.byteOffset,t.length/Float32Array.BYTES_PER_ELEMENT))}{let t=atob(e),r=t.length,n=new Uint8Array(r);for(let e=0;e<r;e++)n[e]=t.charCodeAt(e);return Array.from(new Float32Array(n.buffer))}},nl=e=>void 0!==globalThis.process?globalThis.process.env?.[e]?.trim()??void 0:void 0!==globalThis.Deno?globalThis.Deno.env?.get?.(e)?.trim():void 0;class nu extends tm{constructor(){super(...arguments),rM.add(this),r$.set(this,[]),rj.set(this,{}),rN.set(this,{}),rB.set(this,void 0),rL.set(this,void 0),rz.set(this,void 0),rF.set(this,void 0),rD.set(this,void 0),rU.set(this,void 0),rH.set(this,void 0),rG.set(this,void 0),rW.set(this,void 0)}[(r$=new WeakMap,rj=new WeakMap,rN=new WeakMap,rB=new WeakMap,rL=new WeakMap,rz=new WeakMap,rF=new WeakMap,rD=new WeakMap,rU=new WeakMap,rH=new WeakMap,rG=new WeakMap,rW=new WeakMap,rM=new WeakSet,Symbol.asyncIterator)](){let e=[],t=[],r=!1;return this.on("event",r=>{let n=t.shift();n?n.resolve(r):e.push(r)}),this.on("end",()=>{for(let e of(r=!0,t))e.resolve(void 0);t.length=0}),this.on("abort",e=>{for(let n of(r=!0,t))n.reject(e);t.length=0}),this.on("error",e=>{for(let n of(r=!0,t))n.reject(e);t.length=0}),{next:async()=>e.length?{value:e.shift(),done:!1}:r?{value:void 0,done:!0}:new Promise((e,r)=>t.push({resolve:e,reject:r})).then(e=>e?{value:e,done:!1}:{value:void 0,done:!0}),return:async()=>(this.abort(),{value:void 0,done:!0})}}static fromReadableStream(e){let t=new rR;return t._run(()=>t._fromReadableStream(e)),t}async _fromReadableStream(e,t){let r=t?.signal;r&&(r.aborted&&this.controller.abort(),r.addEventListener("abort",()=>this.controller.abort())),this._connected();let n=eI.fromReadableStream(e,this.controller);for await(let e of n)l(this,rM,"m",rV).call(this,e);if(n.controller.signal?.aborted)throw new p;return this._addRun(l(this,rM,"m",rq).call(this))}toReadableStream(){return new eI(this[Symbol.asyncIterator].bind(this),this.controller).toReadableStream()}static createToolAssistantStream(e,t,r,n){let i=new rR;return i._run(()=>i._runToolAssistantStream(e,t,r,{...n,headers:{...n?.headers,"X-Stainless-Helper-Method":"stream"}})),i}async _createToolAssistantStream(e,t,r,n){let i=n?.signal;i&&(i.aborted&&this.controller.abort(),i.addEventListener("abort",()=>this.controller.abort()));let o={...r,stream:!0},a=await e.submitToolOutputs(t,o,{...n,signal:this.controller.signal});for await(let e of(this._connected(),a))l(this,rM,"m",rV).call(this,e);if(a.controller.signal?.aborted)throw new p;return this._addRun(l(this,rM,"m",rq).call(this))}static createThreadAssistantStream(e,t,r){let n=new rR;return n._run(()=>n._threadAssistantStream(e,t,{...r,headers:{...r?.headers,"X-Stainless-Helper-Method":"stream"}})),n}static createAssistantStream(e,t,r,n){let i=new rR;return i._run(()=>i._runAssistantStream(e,t,r,{...n,headers:{...n?.headers,"X-Stainless-Helper-Method":"stream"}})),i}currentEvent(){return l(this,rH,"f")}currentRun(){return l(this,rG,"f")}currentMessageSnapshot(){return l(this,rB,"f")}currentRunStepSnapshot(){return l(this,rW,"f")}async finalRunSteps(){return await this.done(),Object.values(l(this,rj,"f"))}async finalMessages(){return await this.done(),Object.values(l(this,rN,"f"))}async finalRun(){if(await this.done(),!l(this,rL,"f"))throw Error("Final run was not received.");return l(this,rL,"f")}async _createThreadAssistantStream(e,t,r){let n=r?.signal;n&&(n.aborted&&this.controller.abort(),n.addEventListener("abort",()=>this.controller.abort()));let i={...t,stream:!0},o=await e.createAndRun(i,{...r,signal:this.controller.signal});for await(let e of(this._connected(),o))l(this,rM,"m",rV).call(this,e);if(o.controller.signal?.aborted)throw new p;return this._addRun(l(this,rM,"m",rq).call(this))}async _createAssistantStream(e,t,r,n){let i=n?.signal;i&&(i.aborted&&this.controller.abort(),i.addEventListener("abort",()=>this.controller.abort()));let o={...r,stream:!0},a=await e.create(t,o,{...n,signal:this.controller.signal});for await(let e of(this._connected(),a))l(this,rM,"m",rV).call(this,e);if(a.controller.signal?.aborted)throw new p;return this._addRun(l(this,rM,"m",rq).call(this))}static accumulateDelta(e,t){for(let[r,n]of Object.entries(t)){if(!e.hasOwnProperty(r)){e[r]=n;continue}let t=e[r];if(null==t||"index"===r||"type"===r){e[r]=n;continue}if("string"==typeof t&&"string"==typeof n)t+=n;else if("number"==typeof t&&"number"==typeof n)t+=n;else if(j(t)&&j(n))t=this.accumulateDelta(t,n);else if(Array.isArray(t)&&Array.isArray(n)){if(t.every(e=>"string"==typeof e||"number"==typeof e)){t.push(...n);continue}for(let e of n){if(!j(e))throw Error(`Expected array delta entry to be an object but got: ${e}`);let r=e.index;if(null==r)throw console.error(e),Error("Expected array delta entry to have an `index` property");if("number"!=typeof r)throw Error(`Expected array delta entry \`index\` property to be a number but got ${r}`);let n=t[r];null==n?t.push(e):t[r]=this.accumulateDelta(n,e)}continue}else throw Error(`Unhandled record type: ${r}, deltaValue: ${n}, accValue: ${t}`);e[r]=t}return e}_addRun(e){return e}async _threadAssistantStream(e,t,r){return await this._createThreadAssistantStream(t,e,r)}async _runAssistantStream(e,t,r,n){return await this._createAssistantStream(t,e,r,n)}async _runToolAssistantStream(e,t,r,n){return await this._createToolAssistantStream(t,e,r,n)}}rR=nu,rV=function(e){if(!this.ended)switch(s(this,rH,e,"f"),l(this,rM,"m",rZ).call(this,e),e.event){case"thread.created":break;case"thread.run.created":case"thread.run.queued":case"thread.run.in_progress":case"thread.run.requires_action":case"thread.run.completed":case"thread.run.incomplete":case"thread.run.failed":case"thread.run.cancelling":case"thread.run.cancelled":case"thread.run.expired":l(this,rM,"m",r0).call(this,e);break;case"thread.run.step.created":case"thread.run.step.in_progress":case"thread.run.step.delta":case"thread.run.step.completed":case"thread.run.step.failed":case"thread.run.step.cancelled":case"thread.run.step.expired":l(this,rM,"m",rY).call(this,e);break;case"thread.message.created":case"thread.message.in_progress":case"thread.message.delta":case"thread.message.completed":case"thread.message.incomplete":l(this,rM,"m",rX).call(this,e);break;case"error":throw Error("Encountered an error event in event processing - errors should be processed earlier")}},rq=function(){if(this.ended)throw new h("stream has ended, this shouldn't happen");if(!l(this,rL,"f"))throw Error("Final run has not been received");return l(this,rL,"f")},rX=function(e){let[t,r]=l(this,rM,"m",rJ).call(this,e,l(this,rB,"f"));for(let e of(s(this,rB,t,"f"),l(this,rN,"f")[t.id]=t,r)){let r=t.content[e.index];r?.type=="text"&&this._emit("textCreated",r.text)}switch(e.event){case"thread.message.created":this._emit("messageCreated",e.data);break;case"thread.message.in_progress":break;case"thread.message.delta":if(this._emit("messageDelta",e.data.delta,t),e.data.delta.content)for(let r of e.data.delta.content){if("text"==r.type&&r.text){let e=r.text,n=t.content[r.index];if(n&&"text"==n.type)this._emit("textDelta",e,n.text);else throw Error("The snapshot associated with this text delta is not text or missing")}if(r.index!=l(this,rz,"f")){if(l(this,rF,"f"))switch(l(this,rF,"f").type){case"text":this._emit("textDone",l(this,rF,"f").text,l(this,rB,"f"));break;case"image_file":this._emit("imageFileDone",l(this,rF,"f").image_file,l(this,rB,"f"))}s(this,rz,r.index,"f")}s(this,rF,t.content[r.index],"f")}break;case"thread.message.completed":case"thread.message.incomplete":if(void 0!==l(this,rz,"f")){let t=e.data.content[l(this,rz,"f")];if(t)switch(t.type){case"image_file":this._emit("imageFileDone",t.image_file,l(this,rB,"f"));break;case"text":this._emit("textDone",t.text,l(this,rB,"f"))}}l(this,rB,"f")&&this._emit("messageDone",e.data),s(this,rB,void 0,"f")}},rY=function(e){let t=l(this,rM,"m",rK).call(this,e);switch(s(this,rW,t,"f"),e.event){case"thread.run.step.created":this._emit("runStepCreated",e.data);break;case"thread.run.step.delta":let r=e.data.delta;if(r.step_details&&"tool_calls"==r.step_details.type&&r.step_details.tool_calls&&"tool_calls"==t.step_details.type)for(let e of r.step_details.tool_calls)e.index==l(this,rD,"f")?this._emit("toolCallDelta",e,t.step_details.tool_calls[e.index]):(l(this,rU,"f")&&this._emit("toolCallDone",l(this,rU,"f")),s(this,rD,e.index,"f"),s(this,rU,t.step_details.tool_calls[e.index],"f"),l(this,rU,"f")&&this._emit("toolCallCreated",l(this,rU,"f")));this._emit("runStepDelta",e.data.delta,t);break;case"thread.run.step.completed":case"thread.run.step.failed":case"thread.run.step.cancelled":case"thread.run.step.expired":s(this,rW,void 0,"f"),"tool_calls"==e.data.step_details.type&&l(this,rU,"f")&&(this._emit("toolCallDone",l(this,rU,"f")),s(this,rU,void 0,"f")),this._emit("runStepDone",e.data,t)}},rZ=function(e){l(this,r$,"f").push(e),this._emit("event",e)},rK=function(e){switch(e.event){case"thread.run.step.created":return l(this,rj,"f")[e.data.id]=e.data,e.data;case"thread.run.step.delta":let t=l(this,rj,"f")[e.data.id];if(!t)throw Error("Received a RunStepDelta before creation of a snapshot");let r=e.data;if(r.delta){let n=rR.accumulateDelta(t,r.delta);l(this,rj,"f")[e.data.id]=n}return l(this,rj,"f")[e.data.id];case"thread.run.step.completed":case"thread.run.step.failed":case"thread.run.step.cancelled":case"thread.run.step.expired":case"thread.run.step.in_progress":l(this,rj,"f")[e.data.id]=e.data}if(l(this,rj,"f")[e.data.id])return l(this,rj,"f")[e.data.id];throw Error("No snapshot available")},rJ=function(e,t){let r=[];switch(e.event){case"thread.message.created":return[e.data,r];case"thread.message.delta":if(!t)throw Error("Received a delta with no existing snapshot (there should be one from message creation)");let n=e.data;if(n.delta.content)for(let e of n.delta.content)if(e.index in t.content){let r=t.content[e.index];t.content[e.index]=l(this,rM,"m",rQ).call(this,e,r)}else t.content[e.index]=e,r.push(e);return[t,r];case"thread.message.in_progress":case"thread.message.completed":case"thread.message.incomplete":if(t)return[t,r];throw Error("Received thread message event with no existing snapshot")}throw Error("Tried to accumulate a non-message event")},rQ=function(e,t){return rR.accumulateDelta(t,e)},r0=function(e){switch(s(this,rG,e.data,"f"),e.event){case"thread.run.created":case"thread.run.queued":case"thread.run.in_progress":break;case"thread.run.requires_action":case"thread.run.cancelled":case"thread.run.failed":case"thread.run.completed":case"thread.run.expired":case"thread.run.incomplete":s(this,rL,e.data,"f"),l(this,rU,"f")&&(this._emit("toolCallDone",l(this,rU,"f")),s(this,rU,void 0,"f"))}};class nc extends e8{constructor(){super(...arguments),this.steps=new t3(this._client)}create(e,t,r){let{include:n,...i}=t;return this._client.post(te`/threads/${e}/runs`,{query:{include:n},body:i,...r,headers:tH([{"OpenAI-Beta":"assistants=v2"},r?.headers]),stream:t.stream??!1})}retrieve(e,t,r){let{thread_id:n}=t;return this._client.get(te`/threads/${n}/runs/${e}`,{...r,headers:tH([{"OpenAI-Beta":"assistants=v2"},r?.headers])})}update(e,t,r){let{thread_id:n,...i}=t;return this._client.post(te`/threads/${n}/runs/${e}`,{body:i,...r,headers:tH([{"OpenAI-Beta":"assistants=v2"},r?.headers])})}list(e,t={},r){return this._client.getAPIList(te`/threads/${e}/runs`,eF,{query:t,...r,headers:tH([{"OpenAI-Beta":"assistants=v2"},r?.headers])})}cancel(e,t,r){let{thread_id:n}=t;return this._client.post(te`/threads/${n}/runs/${e}/cancel`,{...r,headers:tH([{"OpenAI-Beta":"assistants=v2"},r?.headers])})}async createAndPoll(e,t,r){let n=await this.create(e,t,r);return await this.poll(n.id,{thread_id:e},r)}createAndStream(e,t,r){return nu.createAssistantStream(e,this._client.beta.threads.runs,t,r)}async poll(e,t,r){let n=tH([r?.headers,{"X-Stainless-Poll-Helper":"true","X-Stainless-Custom-Poll-Interval":r?.pollIntervalMs?.toString()??void 0}]);for(;;){let{data:i,response:o}=await this.retrieve(e,t,{...r,headers:{...r?.headers,...n}}).withResponse();switch(i.status){case"queued":case"in_progress":case"cancelling":let a=5e3;if(r?.pollIntervalMs)a=r.pollIntervalMs;else{let e=o.headers.get("openai-poll-after-ms");if(e){let t=parseInt(e);isNaN(t)||(a=t)}}await L(a);break;case"requires_action":case"incomplete":case"cancelled":case"completed":case"failed":case"expired":return i}}}stream(e,t,r){return nu.createAssistantStream(e,this._client.beta.threads.runs,t,r)}submitToolOutputs(e,t,r){let{thread_id:n,...i}=t;return this._client.post(te`/threads/${n}/runs/${e}/submit_tool_outputs`,{body:i,...r,headers:tH([{"OpenAI-Beta":"assistants=v2"},r?.headers]),stream:t.stream??!1})}async submitToolOutputsAndPoll(e,t,r){let n=await this.submitToolOutputs(e,t,r);return await this.poll(n.id,t,r)}submitToolOutputsStream(e,t,r){return nu.createToolAssistantStream(e,this._client.beta.threads.runs,t,r)}}nc.Steps=t3;class nf extends e8{constructor(){super(...arguments),this.runs=new nc(this._client),this.messages=new t2(this._client)}create(e={},t){return this._client.post("/threads",{body:e,...t,headers:tH([{"OpenAI-Beta":"assistants=v2"},t?.headers])})}retrieve(e,t){return this._client.get(te`/threads/${e}`,{...t,headers:tH([{"OpenAI-Beta":"assistants=v2"},t?.headers])})}update(e,t,r){return this._client.post(te`/threads/${e}`,{body:t,...r,headers:tH([{"OpenAI-Beta":"assistants=v2"},r?.headers])})}delete(e,t){return this._client.delete(te`/threads/${e}`,{...t,headers:tH([{"OpenAI-Beta":"assistants=v2"},t?.headers])})}createAndRun(e,t){return this._client.post("/threads/runs",{body:e,...t,headers:tH([{"OpenAI-Beta":"assistants=v2"},t?.headers]),stream:e.stream??!1})}async createAndRunPoll(e,t){let r=await this.createAndRun(e,t);return await this.runs.poll(r.id,{thread_id:r.thread_id},t)}createAndRunStream(e,t){return nu.createThreadAssistantStream(e,this._client.beta.threads,t)}}nf.Runs=nc,nf.Messages=t2;class nh extends e8{constructor(){super(...arguments),this.realtime=new tJ(this._client),this.chatkit=new t1(this._client),this.assistants=new tY(this._client),this.threads=new nf(this._client)}}nh.Realtime=tJ,nh.ChatKit=t1,nh.Assistants=tY,nh.Threads=nf;class nd extends e8{create(e,t){return this._client.post("/completions",{body:e,...t,stream:e.stream??!1})}}class np extends e8{retrieve(e,t,r){let{container_id:n}=t;return this._client.get(te`/containers/${n}/files/${e}/content`,{...r,headers:tH([{Accept:"application/binary"},r?.headers]),__binaryResponse:!0})}}class nm extends e8{constructor(){super(...arguments),this.content=new np(this._client)}create(e,t,r){return this._client.post(te`/containers/${e}/files`,eq({body:t,...r},this._client))}retrieve(e,t,r){let{container_id:n}=t;return this._client.get(te`/containers/${n}/files/${e}`,r)}list(e,t={},r){return this._client.getAPIList(te`/containers/${e}/files`,eF,{query:t,...r})}delete(e,t,r){let{container_id:n}=t;return this._client.delete(te`/containers/${n}/files/${e}`,{...r,headers:tH([{Accept:"*/*"},r?.headers])})}}nm.Content=np;class ng extends e8{constructor(){super(...arguments),this.files=new nm(this._client)}create(e,t){return this._client.post("/containers",{body:e,...t})}retrieve(e,t){return this._client.get(te`/containers/${e}`,t)}list(e={},t){return this._client.getAPIList("/containers",eF,{query:e,...t})}delete(e,t){return this._client.delete(te`/containers/${e}`,{...t,headers:tH([{Accept:"*/*"},t?.headers])})}}ng.Files=nm;class nv extends e8{create(e,t,r){let{include:n,...i}=t;return this._client.post(te`/conversations/${e}/items`,{query:{include:n},body:i,...r})}retrieve(e,t,r){let{conversation_id:n,...i}=t;return this._client.get(te`/conversations/${n}/items/${e}`,{query:i,...r})}list(e,t={},r){return this._client.getAPIList(te`/conversations/${e}/items`,eD,{query:t,...r})}delete(e,t,r){let{conversation_id:n}=t;return this._client.delete(te`/conversations/${n}/items/${e}`,r)}}class ny extends e8{constructor(){super(...arguments),this.items=new nv(this._client)}create(e={},t){return this._client.post("/conversations",{body:e,...t})}retrieve(e,t){return this._client.get(te`/conversations/${e}`,t)}update(e,t,r){return this._client.post(te`/conversations/${e}`,{body:t,...r})}delete(e,t){return this._client.delete(te`/conversations/${e}`,t)}}ny.Items=nv;class nb extends e8{create(e,t){let r=!!e.encoding_format,n=r?e.encoding_format:"base64";r&&eO(this._client).debug("embeddings/user defined encoding_format:",e.encoding_format);let i=this._client.post("/embeddings",{body:{...e,encoding_format:n},...t});return r?i:(eO(this._client).debug("embeddings/decoding base64 embeddings from base64"),i._thenUnwrap(e=>(e&&e.data&&e.data.forEach(e=>{let t=e.embedding;e.embedding=ns(t)}),e)))}}class n_ extends e8{retrieve(e,t,r){let{eval_id:n,run_id:i}=t;return this._client.get(te`/evals/${n}/runs/${i}/output_items/${e}`,r)}list(e,t,r){let{eval_id:n,...i}=t;return this._client.getAPIList(te`/evals/${n}/runs/${e}/output_items`,eF,{query:i,...r})}}class nw extends e8{constructor(){super(...arguments),this.outputItems=new n_(this._client)}create(e,t,r){return this._client.post(te`/evals/${e}/runs`,{body:t,...r})}retrieve(e,t,r){let{eval_id:n}=t;return this._client.get(te`/evals/${n}/runs/${e}`,r)}list(e,t={},r){return this._client.getAPIList(te`/evals/${e}/runs`,eF,{query:t,...r})}delete(e,t,r){let{eval_id:n}=t;return this._client.delete(te`/evals/${n}/runs/${e}`,r)}cancel(e,t,r){let{eval_id:n}=t;return this._client.post(te`/evals/${n}/runs/${e}`,r)}}nw.OutputItems=n_;class nx extends e8{constructor(){super(...arguments),this.runs=new nw(this._client)}create(e,t){return this._client.post("/evals",{body:e,...t})}retrieve(e,t){return this._client.get(te`/evals/${e}`,t)}update(e,t,r){return this._client.post(te`/evals/${e}`,{body:t,...r})}list(e={},t){return this._client.getAPIList("/evals",eF,{query:e,...t})}delete(e,t){return this._client.delete(te`/evals/${e}`,t)}}nx.Runs=nw;class nS extends e8{create(e,t){return this._client.post("/files",eq({body:e,...t},this._client))}retrieve(e,t){return this._client.get(te`/files/${e}`,t)}list(e={},t){return this._client.getAPIList("/files",eF,{query:e,...t})}delete(e,t){return this._client.delete(te`/files/${e}`,t)}content(e,t){return this._client.get(te`/files/${e}/content`,{...t,headers:tH([{Accept:"application/binary"},t?.headers]),__binaryResponse:!0})}async waitForProcessing(e,{pollInterval:t=5e3,maxWait:r=18e5}={}){let n=new Set(["processed","error","deleted"]),i=Date.now(),o=await this.retrieve(e);for(;!o.status||!n.has(o.status);)if(await L(t),o=await this.retrieve(e),Date.now()-i>r)throw new g({message:`Giving up on waiting for file ${e} to finish processing after ${r} milliseconds.`});return o}}class nA extends e8{}class nE extends e8{run(e,t){return this._client.post("/fine_tuning/alpha/graders/run",{body:e,...t})}validate(e,t){return this._client.post("/fine_tuning/alpha/graders/validate",{body:e,...t})}}class nC extends e8{constructor(){super(...arguments),this.graders=new nE(this._client)}}nC.Graders=nE;class nO extends e8{create(e,t,r){return this._client.getAPIList(te`/fine_tuning/checkpoints/${e}/permissions`,ez,{body:t,method:"post",...r})}retrieve(e,t={},r){return this._client.get(te`/fine_tuning/checkpoints/${e}/permissions`,{query:t,...r})}delete(e,t,r){let{fine_tuned_model_checkpoint:n}=t;return this._client.delete(te`/fine_tuning/checkpoints/${n}/permissions/${e}`,r)}}class nk extends e8{constructor(){super(...arguments),this.permissions=new nO(this._client)}}nk.Permissions=nO;class nI extends e8{list(e,t={},r){return this._client.getAPIList(te`/fine_tuning/jobs/${e}/checkpoints`,eF,{query:t,...r})}}class nT extends e8{constructor(){super(...arguments),this.checkpoints=new nI(this._client)}create(e,t){return this._client.post("/fine_tuning/jobs",{body:e,...t})}retrieve(e,t){return this._client.get(te`/fine_tuning/jobs/${e}`,t)}list(e={},t){return this._client.getAPIList("/fine_tuning/jobs",eF,{query:e,...t})}cancel(e,t){return this._client.post(te`/fine_tuning/jobs/${e}/cancel`,t)}listEvents(e,t={},r){return this._client.getAPIList(te`/fine_tuning/jobs/${e}/events`,eF,{query:t,...r})}pause(e,t){return this._client.post(te`/fine_tuning/jobs/${e}/pause`,t)}resume(e,t){return this._client.post(te`/fine_tuning/jobs/${e}/resume`,t)}}nT.Checkpoints=nI;class nP extends e8{constructor(){super(...arguments),this.methods=new nA(this._client),this.jobs=new nT(this._client),this.checkpoints=new nk(this._client),this.alpha=new nC(this._client)}}nP.Methods=nA,nP.Jobs=nT,nP.Checkpoints=nk,nP.Alpha=nC;class nM extends e8{}class nR extends e8{constructor(){super(...arguments),this.graderModels=new nM(this._client)}}nR.GraderModels=nM;class n$ extends e8{createVariation(e,t){return this._client.post("/images/variations",eq({body:e,...t},this._client))}edit(e,t){return this._client.post("/images/edits",eq({body:e,...t,stream:e.stream??!1},this._client))}generate(e,t){return this._client.post("/images/generations",{body:e,...t,stream:e.stream??!1})}}class nj extends e8{retrieve(e,t){return this._client.get(te`/models/${e}`,t)}list(e){return this._client.getAPIList("/models",ez,e)}delete(e,t){return this._client.delete(te`/models/${e}`,t)}}class nN extends e8{create(e,t){return this._client.post("/moderations",{body:e,...t})}}class nB extends e8{accept(e,t,r){return this._client.post(te`/realtime/calls/${e}/accept`,{body:t,...r,headers:tH([{Accept:"*/*"},r?.headers])})}hangup(e,t){return this._client.post(te`/realtime/calls/${e}/hangup`,{...t,headers:tH([{Accept:"*/*"},t?.headers])})}refer(e,t,r){return this._client.post(te`/realtime/calls/${e}/refer`,{body:t,...r,headers:tH([{Accept:"*/*"},r?.headers])})}reject(e,t={},r){return this._client.post(te`/realtime/calls/${e}/reject`,{body:t,...r,headers:tH([{Accept:"*/*"},r?.headers])})}}class nL extends e8{create(e,t){return this._client.post("/realtime/client_secrets",{body:e,...t})}}class nz extends e8{constructor(){super(...arguments),this.clientSecrets=new nL(this._client),this.calls=new nB(this._client)}}function nF(e,t){return t&&nH(t)?nD(e,t):{...e,output_parsed:null,output:e.output.map(e=>"function_call"===e.type?{...e,parsed_arguments:null}:"message"===e.type?{...e,content:e.content.map(e=>({...e,parsed:null}))}:e)}}function nD(e,t){let r=e.output.map(e=>{if("function_call"===e.type)return{...e,parsed_arguments:nV(t,e)};if("message"===e.type){let r=e.content.map(e=>"output_text"===e.type?{...e,parsed:nU(t,e.text)}:e);return{...e,content:r}}return e}),n=Object.assign({},e,{output:r});return Object.getOwnPropertyDescriptor(e,"output_text")||nq(n),Object.defineProperty(n,"output_parsed",{enumerable:!0,get(){for(let e of n.output)if("message"===e.type){for(let t of e.content)if("output_text"===t.type&&null!==t.parsed)return t.parsed}return null}}),n}function nU(e,t){return e.text?.format?.type!=="json_schema"?null:"$parseRaw"in e.text?.format?(e.text?.format).$parseRaw(t):JSON.parse(t)}function nH(e){return!!tn(e.text?.format)}function nG(e){return e?.$brand==="auto-parseable-tool"}function nW(e,t){return e.find(e=>"function"===e.type&&e.name===t)}function nV(e,t){let r=nW(e.tools??[],t.name);return{...t,...t,parsed_arguments:nG(r)?r.$parseRaw(t.arguments):r?.strict?JSON.parse(t.arguments):null}}function nq(e){let t=[];for(let r of e.output)if("message"===r.type)for(let e of r.content)"output_text"===e.type&&t.push(e.text);e.output_text=t.join("")}nz.ClientSecrets=nL,nz.Calls=nB;class nX extends tm{constructor(e){super(),r1.add(this),r2.set(this,void 0),r3.set(this,void 0),r5.set(this,void 0),s(this,r2,e,"f")}static createResponse(e,t,r){let n=new nX(t);return n._run(()=>n._createOrRetrieveResponse(e,t,{...r,headers:{...r?.headers,"X-Stainless-Helper-Method":"stream"}})),n}async _createOrRetrieveResponse(e,t,r){let n,i=r?.signal;i&&(i.aborted&&this.controller.abort(),i.addEventListener("abort",()=>this.controller.abort())),l(this,r1,"m",r4).call(this);let o=null;for await(let i of("response_id"in t?(n=await e.responses.retrieve(t.response_id,{stream:!0},{...r,signal:this.controller.signal,stream:!0}),o=t.starting_after??null):n=await e.responses.create({...t,stream:!0},{...r,signal:this.controller.signal}),this._connected(),n))l(this,r1,"m",r6).call(this,i,o);if(n.controller.signal?.aborted)throw new p;return l(this,r1,"m",r8).call(this)}[(r2=new WeakMap,r3=new WeakMap,r5=new WeakMap,r1=new WeakSet,r4=function(){this.ended||s(this,r3,void 0,"f")},r6=function(e,t){if(this.ended)return;let r=(e,r)=>{(null==t||r.sequence_number>t)&&this._emit(e,r)},n=l(this,r1,"m",r9).call(this,e);switch(r("event",e),e.type){case"response.output_text.delta":{let t=n.output[e.output_index];if(!t)throw new h(`missing output at index ${e.output_index}`);if("message"===t.type){let n=t.content[e.content_index];if(!n)throw new h(`missing content at index ${e.content_index}`);if("output_text"!==n.type)throw new h(`expected content to be 'output_text', got ${n.type}`);r("response.output_text.delta",{...e,snapshot:n.text})}break}case"response.function_call_arguments.delta":{let t=n.output[e.output_index];if(!t)throw new h(`missing output at index ${e.output_index}`);"function_call"===t.type&&r("response.function_call_arguments.delta",{...e,snapshot:t.arguments});break}default:r(e.type,e)}},r8=function(){if(this.ended)throw new h("stream has ended, this shouldn't happen");let e=l(this,r3,"f");if(!e)throw new h("request ended without sending any events");s(this,r3,void 0,"f");let t=nY(e,l(this,r2,"f"));return s(this,r5,t,"f"),t},r9=function(e){let t=l(this,r3,"f");if(!t){if("response.created"!==e.type)throw new h(`When snapshot hasn't been set yet, expected 'response.created' event, got ${e.type}`);return s(this,r3,e.response,"f")}switch(e.type){case"response.output_item.added":t.output.push(e.item);break;case"response.content_part.added":{let r=t.output[e.output_index];if(!r)throw new h(`missing output at index ${e.output_index}`);let n=r.type,i=e.part;"message"===n&&"reasoning_text"!==i.type?r.content.push(i):"reasoning"===n&&"reasoning_text"===i.type&&(r.content||(r.content=[]),r.content.push(i));break}case"response.output_text.delta":{let r=t.output[e.output_index];if(!r)throw new h(`missing output at index ${e.output_index}`);if("message"===r.type){let t=r.content[e.content_index];if(!t)throw new h(`missing content at index ${e.content_index}`);if("output_text"!==t.type)throw new h(`expected content to be 'output_text', got ${t.type}`);t.text+=e.delta}break}case"response.function_call_arguments.delta":{let r=t.output[e.output_index];if(!r)throw new h(`missing output at index ${e.output_index}`);"function_call"===r.type&&(r.arguments+=e.delta);break}case"response.reasoning_text.delta":{let r=t.output[e.output_index];if(!r)throw new h(`missing output at index ${e.output_index}`);if("reasoning"===r.type){let t=r.content?.[e.content_index];if(!t)throw new h(`missing content at index ${e.content_index}`);if("reasoning_text"!==t.type)throw new h(`expected content to be 'reasoning_text', got ${t.type}`);t.text+=e.delta}break}case"response.completed":s(this,r3,e.response,"f")}return t},Symbol.asyncIterator)](){let e=[],t=[],r=!1;return this.on("event",r=>{let n=t.shift();n?n.resolve(r):e.push(r)}),this.on("end",()=>{for(let e of(r=!0,t))e.resolve(void 0);t.length=0}),this.on("abort",e=>{for(let n of(r=!0,t))n.reject(e);t.length=0}),this.on("error",e=>{for(let n of(r=!0,t))n.reject(e);t.length=0}),{next:async()=>e.length?{value:e.shift(),done:!1}:r?{value:void 0,done:!0}:new Promise((e,r)=>t.push({resolve:e,reject:r})).then(e=>e?{value:e,done:!1}:{value:void 0,done:!0}),return:async()=>(this.abort(),{value:void 0,done:!0})}}async finalResponse(){await this.done();let e=l(this,r5,"f");if(!e)throw new h("stream ended without producing a ChatCompletion");return e}}function nY(e,t){return nF(e,t)}class nZ extends e8{list(e,t={},r){return this._client.getAPIList(te`/responses/${e}/input_items`,eF,{query:t,...r})}}class nK extends e8{constructor(){super(...arguments),this.inputItems=new nZ(this._client)}create(e,t){return this._client.post("/responses",{body:e,...t,stream:e.stream??!1})._thenUnwrap(e=>("object"in e&&"response"===e.object&&nq(e),e))}retrieve(e,t={},r){return this._client.get(te`/responses/${e}`,{query:t,...r,stream:t?.stream??!1})._thenUnwrap(e=>("object"in e&&"response"===e.object&&nq(e),e))}delete(e,t){return this._client.delete(te`/responses/${e}`,{...t,headers:tH([{Accept:"*/*"},t?.headers])})}parse(e,t){return this._client.responses.create(e,t)._thenUnwrap(t=>nD(t,e))}stream(e,t){return nX.createResponse(this._client,e,t)}cancel(e,t){return this._client.post(te`/responses/${e}/cancel`,t)}}nK.InputItems=nZ;class nJ extends e8{create(e,t,r){return this._client.post(te`/uploads/${e}/parts`,eq({body:t,...r},this._client))}}class nQ extends e8{constructor(){super(...arguments),this.parts=new nJ(this._client)}create(e,t){return this._client.post("/uploads",{body:e,...t})}cancel(e,t){return this._client.post(te`/uploads/${e}/cancel`,t)}complete(e,t,r){return this._client.post(te`/uploads/${e}/complete`,{body:t,...r})}}nQ.Parts=nJ;let n0=async e=>{let t=await Promise.allSettled(e),r=t.filter(e=>"rejected"===e.status);if(r.length){for(let e of r)console.error(e.reason);throw Error(`${r.length} promise(s) failed - see the above errors`)}let n=[];for(let e of t)"fulfilled"===e.status&&n.push(e.value);return n};class n1 extends e8{create(e,t,r){return this._client.post(te`/vector_stores/${e}/file_batches`,{body:t,...r,headers:tH([{"OpenAI-Beta":"assistants=v2"},r?.headers])})}retrieve(e,t,r){let{vector_store_id:n}=t;return this._client.get(te`/vector_stores/${n}/file_batches/${e}`,{...r,headers:tH([{"OpenAI-Beta":"assistants=v2"},r?.headers])})}cancel(e,t,r){let{vector_store_id:n}=t;return this._client.post(te`/vector_stores/${n}/file_batches/${e}/cancel`,{...r,headers:tH([{"OpenAI-Beta":"assistants=v2"},r?.headers])})}async createAndPoll(e,t,r){let n=await this.create(e,t);return await this.poll(e,n.id,r)}listFiles(e,t,r){let{vector_store_id:n,...i}=t;return this._client.getAPIList(te`/vector_stores/${n}/file_batches/${e}/files`,eF,{query:i,...r,headers:tH([{"OpenAI-Beta":"assistants=v2"},r?.headers])})}async poll(e,t,r){let n=tH([r?.headers,{"X-Stainless-Poll-Helper":"true","X-Stainless-Custom-Poll-Interval":r?.pollIntervalMs?.toString()??void 0}]);for(;;){let{data:i,response:o}=await this.retrieve(t,{vector_store_id:e},{...r,headers:n}).withResponse();switch(i.status){case"in_progress":let a=5e3;if(r?.pollIntervalMs)a=r.pollIntervalMs;else{let e=o.headers.get("openai-poll-after-ms");if(e){let t=parseInt(e);isNaN(t)||(a=t)}}await L(a);break;case"failed":case"cancelled":case"completed":return i}}}async uploadAndPoll(e,{files:t,fileIds:r=[]},n){if(null==t||0==t.length)throw Error("No `files` provided to process. If you've already uploaded files you should use `.createAndPoll()` instead");let i=Math.min(n?.maxConcurrency??5,t.length),o=this._client,a=t.values(),s=[...r];async function l(e){for(let t of e){let e=await o.files.create({file:t,purpose:"assistants"},n);s.push(e.id)}}let u=Array(i).fill(a).map(l);return await n0(u),await this.createAndPoll(e,{file_ids:s})}}class n2 extends e8{create(e,t,r){return this._client.post(te`/vector_stores/${e}/files`,{body:t,...r,headers:tH([{"OpenAI-Beta":"assistants=v2"},r?.headers])})}retrieve(e,t,r){let{vector_store_id:n}=t;return this._client.get(te`/vector_stores/${n}/files/${e}`,{...r,headers:tH([{"OpenAI-Beta":"assistants=v2"},r?.headers])})}update(e,t,r){let{vector_store_id:n,...i}=t;return this._client.post(te`/vector_stores/${n}/files/${e}`,{body:i,...r,headers:tH([{"OpenAI-Beta":"assistants=v2"},r?.headers])})}list(e,t={},r){return this._client.getAPIList(te`/vector_stores/${e}/files`,eF,{query:t,...r,headers:tH([{"OpenAI-Beta":"assistants=v2"},r?.headers])})}delete(e,t,r){let{vector_store_id:n}=t;return this._client.delete(te`/vector_stores/${n}/files/${e}`,{...r,headers:tH([{"OpenAI-Beta":"assistants=v2"},r?.headers])})}async createAndPoll(e,t,r){let n=await this.create(e,t,r);return await this.poll(e,n.id,r)}async poll(e,t,r){let n=tH([r?.headers,{"X-Stainless-Poll-Helper":"true","X-Stainless-Custom-Poll-Interval":r?.pollIntervalMs?.toString()??void 0}]);for(;;){let i=await this.retrieve(t,{vector_store_id:e},{...r,headers:n}).withResponse(),o=i.data;switch(o.status){case"in_progress":let a=5e3;if(r?.pollIntervalMs)a=r.pollIntervalMs;else{let e=i.response.headers.get("openai-poll-after-ms");if(e){let t=parseInt(e);isNaN(t)||(a=t)}}await L(a);break;case"failed":case"completed":return o}}}async upload(e,t,r){let n=await this._client.files.create({file:t,purpose:"assistants"},r);return this.create(e,{file_id:n.id},r)}async uploadAndPoll(e,t,r){let n=await this.upload(e,t,r);return await this.poll(e,n.id,r)}content(e,t,r){let{vector_store_id:n}=t;return this._client.getAPIList(te`/vector_stores/${n}/files/${e}/content`,ez,{...r,headers:tH([{"OpenAI-Beta":"assistants=v2"},r?.headers])})}}class n3 extends e8{constructor(){super(...arguments),this.files=new n2(this._client),this.fileBatches=new n1(this._client)}create(e,t){return this._client.post("/vector_stores",{body:e,...t,headers:tH([{"OpenAI-Beta":"assistants=v2"},t?.headers])})}retrieve(e,t){return this._client.get(te`/vector_stores/${e}`,{...t,headers:tH([{"OpenAI-Beta":"assistants=v2"},t?.headers])})}update(e,t,r){return this._client.post(te`/vector_stores/${e}`,{body:t,...r,headers:tH([{"OpenAI-Beta":"assistants=v2"},r?.headers])})}list(e={},t){return this._client.getAPIList("/vector_stores",eF,{query:e,...t,headers:tH([{"OpenAI-Beta":"assistants=v2"},t?.headers])})}delete(e,t){return this._client.delete(te`/vector_stores/${e}`,{...t,headers:tH([{"OpenAI-Beta":"assistants=v2"},t?.headers])})}search(e,t,r){return this._client.getAPIList(te`/vector_stores/${e}/search`,ez,{body:t,method:"post",...r,headers:tH([{"OpenAI-Beta":"assistants=v2"},r?.headers])})}}n3.Files=n2,n3.FileBatches=n1;class n5 extends e8{create(e,t){return this._client.post("/videos",eV({body:e,...t},this._client))}retrieve(e,t){return this._client.get(te`/videos/${e}`,t)}list(e={},t){return this._client.getAPIList("/videos",eD,{query:e,...t})}delete(e,t){return this._client.delete(te`/videos/${e}`,t)}downloadContent(e,t={},r){return this._client.get(te`/videos/${e}/content`,{query:t,...r,headers:tH([{Accept:"application/binary"},r?.headers]),__binaryResponse:!0})}remix(e,t,r){return this._client.post(te`/videos/${e}/remix`,eV({body:t,...r},this._client))}}var n4=r(8963).Buffer;class n6 extends e8{constructor(){super(...arguments),r7.add(this)}async unwrap(e,t,r=this._client.webhookSecret,n=300){return await this.verifySignature(e,t,r,n),JSON.parse(e)}async verifySignature(e,t,r=this._client.webhookSecret,n=300){if("undefined"==typeof crypto||"function"!=typeof crypto.subtle.importKey||"function"!=typeof crypto.subtle.verify)throw Error("Webhook signature verification is only supported when the `crypto` global is defined");l(this,r7,"m",ne).call(this,r);let i=tH([t]).values,o=l(this,r7,"m",nt).call(this,i,"webhook-signature"),a=l(this,r7,"m",nt).call(this,i,"webhook-timestamp"),s=l(this,r7,"m",nt).call(this,i,"webhook-id"),u=parseInt(a,10);if(isNaN(u))throw new O("Invalid webhook timestamp format");let c=Math.floor(Date.now()/1e3);if(c-u>n)throw new O("Webhook timestamp is too old");if(u>c+n)throw new O("Webhook timestamp is too new");let f=o.split(" ").map(e=>e.startsWith("v1,")?e.substring(3):e),h=r.startsWith("whsec_")?n4.from(r.replace("whsec_",""),"base64"):n4.from(r,"utf-8"),d=s?`${s}.${a}.${e}`:`${a}.${e}`,p=await crypto.subtle.importKey("raw",h,{name:"HMAC",hash:"SHA-256"},!1,["verify"]);for(let e of f)try{let t=n4.from(e,"base64");if(await crypto.subtle.verify("HMAC",p,t,new TextEncoder().encode(d)))return}catch{continue}throw new O("The given webhook signature does not match the expected signature")}}r7=new WeakSet,ne=function(e){if("string"!=typeof e||0===e.length)throw Error("The webhook secret must either be set using the env var, OPENAI_WEBHOOK_SECRET, on the client class, OpenAI({ webhookSecret: '123' }), or passed to this function")},nt=function(e,t){if(!e)throw Error("Headers are required");let r=e.get(t);if(null==r)throw Error(`Missing required header: ${t}`);return r};class n8{constructor({baseURL:e=nl("OPENAI_BASE_URL"),apiKey:t=nl("OPENAI_API_KEY"),organization:r=nl("OPENAI_ORG_ID")??null,project:n=nl("OPENAI_PROJECT_ID")??null,webhookSecret:i=nl("OPENAI_WEBHOOK_SECRET")??null,...o}={}){if(nr.add(this),ni.set(this,void 0),this.completions=new nd(this),this.chat=new tF(this),this.embeddings=new nb(this),this.files=new nS(this),this.images=new n$(this),this.audio=new tq(this),this.moderations=new nN(this),this.models=new nj(this),this.fineTuning=new nP(this),this.graders=new nR(this),this.vectorStores=new n3(this),this.webhooks=new n6(this),this.beta=new nh(this),this.batches=new tX(this),this.uploads=new nQ(this),this.responses=new nK(this),this.realtime=new nz(this),this.conversations=new ny(this),this.evals=new nx(this),this.containers=new ng(this),this.videos=new n5(this),void 0===t)throw new h("Missing credentials. Please pass an `apiKey`, or set the `OPENAI_API_KEY` environment variable.");const a={apiKey:t,organization:r,project:n,webhookSecret:i,...o,baseURL:e||"https://api.openai.com/v1"};if(!a.dangerouslyAllowBrowser&&z())throw new h("It looks like you're running in a browser-like environment.\n\nThis is disabled by default, as it risks exposing your secret API credentials to attackers.\nIf you understand the risks and have appropriate mitigations in place,\nyou can set the `dangerouslyAllowBrowser` option to `true`, e.g.,\n\nnew OpenAI({ apiKey, dangerouslyAllowBrowser: true });\n\nhttps://help.openai.com/en/articles/5112595-best-practices-for-api-key-safety\n");this.baseURL=a.baseURL,this.timeout=a.timeout??nn.DEFAULT_TIMEOUT,this.logger=a.logger??console;const l="warn";this.logLevel=l,this.logLevel=ex(a.logLevel,"ClientOptions.logLevel",this)??ex(nl("OPENAI_LOG"),"process.env['OPENAI_LOG']",this)??l,this.fetchOptions=a.fetchOptions,this.maxRetries=a.maxRetries??2,this.fetch=a.fetch??V(),s(this,ni,K,"f"),this._options=a,this.apiKey="string"==typeof t?t:"Missing Key",this.organization=r,this.project=n,this.webhookSecret=i}withOptions(e){return new this.constructor({...this._options,baseURL:this.baseURL,maxRetries:this.maxRetries,timeout:this.timeout,logger:this.logger,logLevel:this.logLevel,fetch:this.fetch,fetchOptions:this.fetchOptions,apiKey:this.apiKey,organization:this.organization,project:this.project,webhookSecret:this.webhookSecret,...e})}defaultQuery(){return this._options.defaultQuery}validateHeaders({values:e,nulls:t}){}async authHeaders(e){return tH([{Authorization:`Bearer ${this.apiKey}`}])}stringifyQuery(e){return ep(e,{arrayFormat:"brackets"})}getUserAgent(){return`${this.constructor.name}/JS 6.3.0`}defaultIdempotencyKey(){return`stainless-node-retry-${u()}`}makeStatusError(e,t,r,n){return d.generate(e,t,r,n)}async _callApiKey(){let e,t=this._options.apiKey;if("function"!=typeof t)return!1;try{e=await t()}catch(e){if(e instanceof h)throw e;throw new h(`Failed to get token from 'apiKey' function: ${e.message}`,{cause:e})}if("string"!=typeof e||!e)throw new h(`Expected 'apiKey' function argument to return a string but it returned ${e}`);return this.apiKey=e,!0}buildURL(e,t,r){let n=!l(this,nr,"m",no).call(this)&&r||this.baseURL,i=new URL(I(e)?e:n+(n.endsWith("/")&&e.startsWith("/")?e.slice(1):e)),o=this.defaultQuery();return R(o)||(t={...o,...t}),"object"==typeof t&&t&&!Array.isArray(t)&&(i.search=this.stringifyQuery(t)),i.toString()}async prepareOptions(e){await this._callApiKey()}async prepareRequest(e,{url:t,options:r}){}get(e,t){return this.methodRequest("get",e,t)}post(e,t){return this.methodRequest("post",e,t)}patch(e,t){return this.methodRequest("patch",e,t)}put(e,t){return this.methodRequest("put",e,t)}delete(e,t){return this.methodRequest("delete",e,t)}methodRequest(e,t,r){return this.request(Promise.resolve(r).then(r=>({method:e,path:t,...r})))}request(e,t=null){return new eN(this,this.makeRequest(e,t,void 0))}async makeRequest(e,t,r){let n=await e,i=n.maxRetries??this.maxRetries;null==t&&(t=i),await this.prepareOptions(n);let{req:o,url:a,timeout:s}=await this.buildRequest(n,{retryCount:i-t});await this.prepareRequest(o,{url:a,options:n});let l="log_"+(0x1000000*Math.random()|0).toString(16).padStart(6,"0"),u=void 0===r?"":`, retryOf: ${r}`,h=Date.now();if(eO(this).debug(`[${l}] sending request`,ek({retryOfRequestLogID:r,method:n.method,url:a,options:n,headers:o.headers})),n.signal?.aborted)throw new p;let d=new AbortController,v=await this.fetchWithTimeout(a,o,s,d).catch(f),y=Date.now();if(v instanceof globalThis.Error){let e=`retrying, ${t} attempts remaining`;if(n.signal?.aborted)throw new p;let i=c(v)||/timed? ?out/i.test(String(v)+("cause"in v?String(v.cause):""));if(t)return eO(this).info(`[${l}] connection ${i?"timed out":"failed"} - ${e}`),eO(this).debug(`[${l}] connection ${i?"timed out":"failed"} (${e})`,ek({retryOfRequestLogID:r,url:a,durationMs:y-h,message:v.message})),this.retryRequest(n,t,r??l);if(eO(this).info(`[${l}] connection ${i?"timed out":"failed"} - error; no more retries left`),eO(this).debug(`[${l}] connection ${i?"timed out":"failed"} (error; no more retries left)`,ek({retryOfRequestLogID:r,url:a,durationMs:y-h,message:v.message})),i)throw new g;throw new m({cause:v})}let b=[...v.headers.entries()].filter(([e])=>"x-request-id"===e).map(([e,t])=>", "+e+": "+JSON.stringify(t)).join(""),_=`[${l}${u}${b}] ${o.method} ${a} ${v.ok?"succeeded":"failed"} with status ${v.status} in ${y-h}ms`;if(!v.ok){let e=await this.shouldRetry(v);if(t&&e){let e=`retrying, ${t} attempts remaining`;return await Z(v.body),eO(this).info(`${_} - ${e}`),eO(this).debug(`[${l}] response error (${e})`,ek({retryOfRequestLogID:r,url:v.url,status:v.status,headers:v.headers,durationMs:y-h})),this.retryRequest(n,t,r??l,v.headers)}let i=e?"error; no more retries left":"error; not retryable";eO(this).info(`${_} - ${i}`);let o=await v.text().catch(e=>f(e).message),a=B(o),s=a?void 0:o;throw eO(this).debug(`[${l}] response error (${i})`,ek({retryOfRequestLogID:r,url:v.url,status:v.status,headers:v.headers,message:s,durationMs:Date.now()-h})),this.makeStatusError(v.status,a,s,v.headers)}return eO(this).info(_),eO(this).debug(`[${l}] response start`,ek({retryOfRequestLogID:r,url:v.url,status:v.status,headers:v.headers,durationMs:y-h})),{response:v,options:n,controller:d,requestLogID:l,retryOfRequestLogID:r,startTime:h}}getAPIList(e,t,r){return this.requestAPIList(t,{method:"get",path:e,...r})}requestAPIList(e,t){return new eL(this,this.makeRequest(t,null,void 0),e)}async fetchWithTimeout(e,t,r,n){let{signal:i,method:o,...a}=t||{};i&&i.addEventListener("abort",()=>n.abort());let s=setTimeout(()=>n.abort(),r),l=globalThis.ReadableStream&&a.body instanceof globalThis.ReadableStream||"object"==typeof a.body&&null!==a.body&&Symbol.asyncIterator in a.body,u={signal:n.signal,...l?{duplex:"half"}:{},method:"GET",...a};o&&(u.method=o.toUpperCase());try{return await this.fetch.call(void 0,e,u)}finally{clearTimeout(s)}}async shouldRetry(e){let t=e.headers.get("x-should-retry");return"true"===t||"false"!==t&&(408===e.status||409===e.status||429===e.status||!!(e.status>=500))}async retryRequest(e,t,r,n){let i,o=n?.get("retry-after-ms");if(o){let e=parseFloat(o);Number.isNaN(e)||(i=e)}let a=n?.get("retry-after");if(a&&!i){let e=parseFloat(a);i=Number.isNaN(e)?Date.parse(a)-Date.now():1e3*e}if(!(i&&0<=i&&i<6e4)){let r=e.maxRetries??this.maxRetries;i=this.calculateDefaultRetryTimeoutMillis(t,r)}return await L(i),this.makeRequest(e,t-1,r)}calculateDefaultRetryTimeoutMillis(e,t){return Math.min(.5*Math.pow(2,t-e),8)*(1-.25*Math.random())*1e3}async buildRequest(e,{retryCount:t=0}={}){let r={...e},{method:n,path:i,query:o,defaultBaseURL:a}=r,s=this.buildURL(i,o,a);"timeout"in r&&N("timeout",r.timeout),r.timeout=r.timeout??this.timeout;let{bodyHeaders:l,body:u}=this.buildBody({options:r}),c=await this.buildHeaders({options:e,method:n,bodyHeaders:l,retryCount:t});return{req:{method:n,headers:c,...r.signal&&{signal:r.signal},...globalThis.ReadableStream&&u instanceof globalThis.ReadableStream&&{duplex:"half"},...u&&{body:u},...this.fetchOptions??{},...r.fetchOptions??{}},url:s,timeout:r.timeout}}async buildHeaders({options:e,method:t,bodyHeaders:r,retryCount:n}){let i={};this.idempotencyHeader&&"get"!==t&&(e.idempotencyKey||(e.idempotencyKey=this.defaultIdempotencyKey()),i[this.idempotencyHeader]=e.idempotencyKey);let o=tH([i,{Accept:"application/json","User-Agent":this.getUserAgent(),"X-Stainless-Retry-Count":String(n),...e.timeout?{"X-Stainless-Timeout":String(Math.trunc(e.timeout/1e3))}:{},...W(),"OpenAI-Organization":this.organization,"OpenAI-Project":this.project},await this.authHeaders(e),this._options.defaultHeaders,r,e.headers]);return this.validateHeaders(o),o.values}buildBody({options:{body:e,headers:t}}){if(!e)return{bodyHeaders:void 0,body:void 0};let r=tH([t]);return ArrayBuffer.isView(e)||e instanceof ArrayBuffer||e instanceof DataView||"string"==typeof e&&r.values.has("content-type")||globalThis.Blob&&e instanceof globalThis.Blob||e instanceof FormData||e instanceof URLSearchParams||globalThis.ReadableStream&&e instanceof globalThis.ReadableStream?{bodyHeaders:void 0,body:e}:"object"==typeof e&&(Symbol.asyncIterator in e||Symbol.iterator in e&&"next"in e&&"function"==typeof e.next)?{bodyHeaders:void 0,body:X(e)}:l(this,ni,"f").call(this,{body:e,headers:r})}}nn=n8,ni=new WeakMap,nr=new WeakSet,no=function(){return"https://api.openai.com/v1"!==this.baseURL},n8.OpenAI=nn,n8.DEFAULT_TIMEOUT=6e5,n8.OpenAIError=h,n8.APIError=d,n8.APIConnectionError=m,n8.APIConnectionTimeoutError=g,n8.APIUserAbortError=p,n8.NotFoundError=_,n8.ConflictError=w,n8.RateLimitError=S,n8.BadRequestError=v,n8.AuthenticationError=y,n8.InternalServerError=A,n8.PermissionDeniedError=b,n8.UnprocessableEntityError=x,n8.InvalidWebhookSignatureError=O,n8.toFile=e5,n8.Completions=nd,n8.Chat=tF,n8.Embeddings=nb,n8.Files=nS,n8.Images=n$,n8.Audio=tq,n8.Moderations=nN,n8.Models=nj,n8.FineTuning=nP,n8.Graders=nR,n8.VectorStores=n3,n8.Webhooks=n6,n8.Beta=nh,n8.Batches=tX,n8.Uploads=nQ,n8.Responses=nK,n8.Realtime=nz,n8.Conversations=ny,n8.Evals=nx,n8.Containers=ng,n8.Videos=n5,r(85409)},87531:function(e,t,r){"use strict";let n;r.d(t,{GD:()=>e7,qx:()=>th});var i=r(78137),o="in vec2 aPosition;\nout vec2 vTextureCoord;\n\nuniform vec4 uInputSize;\nuniform vec4 uOutputFrame;\nuniform vec4 uOutputTexture;\n\nvec4 filterVertexPosition( void )\n{\n vec2 position = aPosition * uOutputFrame.zw + uOutputFrame.xy;\n \n position.x = position.x * (2.0 / uOutputTexture.x) - 1.0;\n position.y = position.y * (2.0*uOutputTexture.z / uOutputTexture.y) - uOutputTexture.z;\n\n return vec4(position, 0.0, 1.0);\n}\n\nvec2 filterTextureCoord( void )\n{\n return aPosition * (uOutputFrame.zw * uInputSize.zw);\n}\n\nvoid main(void)\n{\n gl_Position = filterVertexPosition();\n vTextureCoord = filterTextureCoord();\n}\n",a="struct GlobalFilterUniforms {\n uInputSize:vec4<f32>,\n uInputPixel:vec4<f32>,\n uInputClamp:vec4<f32>,\n uOutputFrame:vec4<f32>,\n uGlobalFrame:vec4<f32>,\n uOutputTexture:vec4<f32>,\n};\n\n@group(0) @binding(0) var<uniform> gfu: GlobalFilterUniforms;\n\nstruct VSOutput {\n @builtin(position) position: vec4<f32>,\n @location(0) uv : vec2<f32>\n };\n\nfn filterVertexPosition(aPosition:vec2<f32>) -> vec4<f32>\n{\n var position = aPosition * gfu.uOutputFrame.zw + gfu.uOutputFrame.xy;\n\n position.x = position.x * (2.0 / gfu.uOutputTexture.x) - 1.0;\n position.y = position.y * (2.0*gfu.uOutputTexture.z / gfu.uOutputTexture.y) - gfu.uOutputTexture.z;\n\n return vec4(position, 0.0, 1.0);\n}\n\nfn filterTextureCoord( aPosition:vec2<f32> ) -> vec2<f32>\n{\n return aPosition * (gfu.uOutputFrame.zw * gfu.uInputSize.zw);\n}\n\nfn globalTextureCoord( aPosition:vec2<f32> ) -> vec2<f32>\n{\n return (aPosition.xy / gfu.uGlobalFrame.zw) + (gfu.uGlobalFrame.xy / gfu.uGlobalFrame.zw); \n}\n\nfn getSize() -> vec2<f32>\n{\n return gfu.uGlobalFrame.zw;\n}\n \n@vertex\nfn mainVertex(\n @location(0) aPosition : vec2<f32>, \n) -> VSOutput {\n return VSOutput(\n filterVertexPosition(aPosition),\n filterTextureCoord(aPosition)\n );\n}",s="in vec2 vTextureCoord;\nout vec4 finalColor;\n\nuniform sampler2D uTexture;\nuniform float uGamma;\nuniform float uContrast;\nuniform float uSaturation;\nuniform float uBrightness;\nuniform vec4 uColor;\n\nvoid main()\n{\n vec4 c = texture(uTexture, vTextureCoord);\n\n if (c.a > 0.0) {\n c.rgb /= c.a;\n\n vec3 rgb = pow(c.rgb, vec3(1. / uGamma));\n rgb = mix(vec3(.5), mix(vec3(dot(vec3(.2125, .7154, .0721), rgb)), rgb, uSaturation), uContrast);\n rgb.r *= uColor.r;\n rgb.g *= uColor.g;\n rgb.b *= uColor.b;\n c.rgb = rgb * uBrightness;\n\n c.rgb *= c.a;\n }\n\n finalColor = c * uColor.a;\n}\n",l="struct AdjustmentUniforms {\n uGamma: f32,\n uContrast: f32,\n uSaturation: f32,\n uBrightness: f32,\n uColor: vec4<f32>,\n};\n\n@group(0) @binding(1) var uTexture: texture_2d<f32>; \n@group(0) @binding(2) var uSampler: sampler;\n@group(1) @binding(0) var<uniform> adjustmentUniforms : AdjustmentUniforms;\n\n@fragment\nfn mainFragment(\n @location(0) uv: vec2<f32>,\n @builtin(position) position: vec4<f32>\n) -> @location(0) vec4<f32> {\n var sample = textureSample(uTexture, uSampler, uv);\n let color = adjustmentUniforms.uColor;\n\n if (sample.a > 0.0) \n {\n sample = vec4<f32>(sample.rgb / sample.a, sample.a);\n var rgb: vec3<f32> = pow(sample.rgb, vec3<f32>(1. / adjustmentUniforms.uGamma));\n rgb = mix(vec3<f32>(.5), mix(vec3<f32>(dot(vec3<f32>(.2125, .7154, .0721), rgb)), rgb, adjustmentUniforms.uSaturation), adjustmentUniforms.uContrast);\n rgb.r *= color.r;\n rgb.g *= color.g;\n rgb.b *= color.b;\n sample = vec4<f32>(rgb.rgb * adjustmentUniforms.uBrightness, sample.a);\n sample = vec4<f32>(sample.rgb * sample.a, sample.a);\n }\n\n return sample * color.a;\n}",u=Object.defineProperty,c=(e,t,r)=>t in e?u(e,t,{enumerable:!0,configurable:!0,writable:!0,value:r}):e[t]=r,f=(e,t,r)=>(c(e,"symbol"!=typeof t?t+"":t,r),r);let h=class e extends i.dJT{constructor(t){t={...e.DEFAULT_OPTIONS,...t},super({gpuProgram:i.BrD.from({vertex:{source:a,entryPoint:"mainVertex"},fragment:{source:l,entryPoint:"mainFragment"}}),glProgram:i.M2g.from({vertex:o,fragment:s,name:"adjustment-filter"}),resources:{adjustmentUniforms:{uGamma:{value:t.gamma,type:"f32"},uContrast:{value:t.contrast,type:"f32"},uSaturation:{value:t.saturation,type:"f32"},uBrightness:{value:t.brightness,type:"f32"},uColor:{value:[t.red,t.green,t.blue,t.alpha],type:"vec4<f32>"}}}}),f(this,"uniforms"),this.uniforms=this.resources.adjustmentUniforms.uniforms}get gamma(){return this.uniforms.uGamma}set gamma(e){this.uniforms.uGamma=e}get contrast(){return this.uniforms.uContrast}set contrast(e){this.uniforms.uContrast=e}get saturation(){return this.uniforms.uSaturation}set saturation(e){this.uniforms.uSaturation=e}get brightness(){return this.uniforms.uBrightness}set brightness(e){this.uniforms.uBrightness=e}get red(){return this.uniforms.uColor[0]}set red(e){this.uniforms.uColor[0]=e}get green(){return this.uniforms.uColor[1]}set green(e){this.uniforms.uColor[1]=e}get blue(){return this.uniforms.uColor[2]}set blue(e){this.uniforms.uColor[2]=e}get alpha(){return this.uniforms.uColor[3]}set alpha(e){this.uniforms.uColor[3]=e}};f(h,"DEFAULT_OPTIONS",{gamma:1,contrast:1,saturation:1,brightness:1,red:1,green:1,blue:1,alpha:1});var d="\nin vec2 vTextureCoord;\nout vec4 finalColor;\n\nuniform sampler2D uTexture;\nuniform vec2 uOffset;\n\nvoid main(void)\n{\n vec4 color = vec4(0.0);\n\n // Sample top left pixel\n color += texture(uTexture, vec2(vTextureCoord.x - uOffset.x, vTextureCoord.y + uOffset.y));\n\n // Sample top right pixel\n color += texture(uTexture, vec2(vTextureCoord.x + uOffset.x, vTextureCoord.y + uOffset.y));\n\n // Sample bottom right pixel\n color += texture(uTexture, vec2(vTextureCoord.x + uOffset.x, vTextureCoord.y - uOffset.y));\n\n // Sample bottom left pixel\n color += texture(uTexture, vec2(vTextureCoord.x - uOffset.x, vTextureCoord.y - uOffset.y));\n\n // Average\n color *= 0.25;\n\n finalColor = color;\n}",p="struct KawaseBlurUniforms {\n uOffset:vec2<f32>,\n};\n\n@group(0) @binding(1) var uTexture: texture_2d<f32>; \n@group(0) @binding(2) var uSampler: sampler;\n@group(1) @binding(0) var<uniform> kawaseBlurUniforms : KawaseBlurUniforms;\n\n@fragment\nfn mainFragment(\n @builtin(position) position: vec4<f32>,\n @location(0) uv : vec2<f32>\n) -> @location(0) vec4<f32> {\n let uOffset = kawaseBlurUniforms.uOffset;\n var color: vec4<f32> = vec4<f32>(0.0);\n\n // Sample top left pixel\n color += textureSample(uTexture, uSampler, vec2<f32>(uv.x - uOffset.x, uv.y + uOffset.y));\n // Sample top right pixel\n color += textureSample(uTexture, uSampler, vec2<f32>(uv.x + uOffset.x, uv.y + uOffset.y));\n // Sample bottom right pixel\n color += textureSample(uTexture, uSampler, vec2<f32>(uv.x + uOffset.x, uv.y - uOffset.y));\n // Sample bottom left pixel\n color += textureSample(uTexture, uSampler, vec2<f32>(uv.x - uOffset.x, uv.y - uOffset.y));\n // Average\n color *= 0.25;\n\n return color;\n}",m="\nprecision highp float;\nin vec2 vTextureCoord;\nout vec4 finalColor;\n\nuniform sampler2D uTexture;\nuniform vec2 uOffset;\n\nuniform vec4 uInputClamp;\n\nvoid main(void)\n{\n vec4 color = vec4(0.0);\n\n // Sample top left pixel\n color += texture(uTexture, clamp(vec2(vTextureCoord.x - uOffset.x, vTextureCoord.y + uOffset.y), uInputClamp.xy, uInputClamp.zw));\n\n // Sample top right pixel\n color += texture(uTexture, clamp(vec2(vTextureCoord.x + uOffset.x, vTextureCoord.y + uOffset.y), uInputClamp.xy, uInputClamp.zw));\n\n // Sample bottom right pixel\n color += texture(uTexture, clamp(vec2(vTextureCoord.x + uOffset.x, vTextureCoord.y - uOffset.y), uInputClamp.xy, uInputClamp.zw));\n\n // Sample bottom left pixel\n color += texture(uTexture, clamp(vec2(vTextureCoord.x - uOffset.x, vTextureCoord.y - uOffset.y), uInputClamp.xy, uInputClamp.zw));\n\n // Average\n color *= 0.25;\n\n finalColor = color;\n}\n",g="struct KawaseBlurUniforms {\n uOffset:vec2<f32>,\n};\n\nstruct GlobalFilterUniforms {\n uInputSize:vec4<f32>,\n uInputPixel:vec4<f32>,\n uInputClamp:vec4<f32>,\n uOutputFrame:vec4<f32>,\n uGlobalFrame:vec4<f32>,\n uOutputTexture:vec4<f32>,\n};\n\n@group(0) @binding(0) var<uniform> gfu: GlobalFilterUniforms;\n\n@group(0) @binding(1) var uTexture: texture_2d<f32>; \n@group(0) @binding(2) var uSampler: sampler;\n@group(1) @binding(0) var<uniform> kawaseBlurUniforms : KawaseBlurUniforms;\n\n@fragment\nfn mainFragment(\n @builtin(position) position: vec4<f32>,\n @location(0) uv : vec2<f32>\n) -> @location(0) vec4<f32> {\n let uOffset = kawaseBlurUniforms.uOffset;\n var color: vec4<f32> = vec4(0.0);\n\n // Sample top left pixel\n color += textureSample(uTexture, uSampler, clamp(vec2<f32>(uv.x - uOffset.x, uv.y + uOffset.y), gfu.uInputClamp.xy, gfu.uInputClamp.zw));\n // Sample top right pixel\n color += textureSample(uTexture, uSampler, clamp(vec2<f32>(uv.x + uOffset.x, uv.y + uOffset.y), gfu.uInputClamp.xy, gfu.uInputClamp.zw));\n // Sample bottom right pixel\n color += textureSample(uTexture, uSampler, clamp(vec2<f32>(uv.x + uOffset.x, uv.y - uOffset.y), gfu.uInputClamp.xy, gfu.uInputClamp.zw));\n // Sample bottom left pixel\n color += textureSample(uTexture, uSampler, clamp(vec2<f32>(uv.x - uOffset.x, uv.y - uOffset.y), gfu.uInputClamp.xy, gfu.uInputClamp.zw));\n // Average\n color *= 0.25;\n \n return color;\n}",v=Object.defineProperty,y=(e,t,r)=>t in e?v(e,t,{enumerable:!0,configurable:!0,writable:!0,value:r}):e[t]=r,b=(e,t,r)=>(y(e,"symbol"!=typeof t?t+"":t,r),r);let _=class e extends i.dJT{constructor(...t){let r=t[0]??{};("number"==typeof r||Array.isArray(r))&&((0,i.t66)("6.0.0","KawaseBlurFilter constructor params are now options object. See params: { strength, quality, clamp, pixelSize }"),r={strength:r},void 0!==t[1]&&(r.quality=t[1]),void 0!==t[2]&&(r.clamp=t[2])),r={...e.DEFAULT_OPTIONS,...r},super({gpuProgram:i.BrD.from({vertex:{source:a,entryPoint:"mainVertex"},fragment:{source:r?.clamp?g:p,entryPoint:"mainFragment"}}),glProgram:i.M2g.from({vertex:o,fragment:r?.clamp?m:d,name:"kawase-blur-filter"}),resources:{kawaseBlurUniforms:{uOffset:{value:new Float32Array(2),type:"vec2<f32>"}}}}),b(this,"uniforms"),b(this,"_pixelSize",{x:0,y:0}),b(this,"_clamp"),b(this,"_kernels",[]),b(this,"_blur"),b(this,"_quality"),this.uniforms=this.resources.kawaseBlurUniforms.uniforms,this.pixelSize=r.pixelSize??{x:1,y:1},Array.isArray(r.strength)?this.kernels=r.strength:"number"==typeof r.strength&&(this._blur=r.strength,this.quality=r.quality??3),this._clamp=!!r.clamp}apply(e,t,r,n){let o,a=this.pixelSizeX/t.source.width,s=this.pixelSizeY/t.source.height;if(1===this._quality||0===this._blur)o=this._kernels[0]+.5,this.uniforms.uOffset[0]=o*a,this.uniforms.uOffset[1]=o*s,e.applyFilter(this,t,r,n);else{let l,u=i.Wny.getSameSizeTexture(t),c=t,f=u,h=this._quality-1;for(let t=0;t<h;t++)o=this._kernels[t]+.5,this.uniforms.uOffset[0]=o*a,this.uniforms.uOffset[1]=o*s,e.applyFilter(this,c,f,!0),l=c,c=f,f=l;o=this._kernels[h]+.5,this.uniforms.uOffset[0]=o*a,this.uniforms.uOffset[1]=o*s,e.applyFilter(this,c,r,n),i.Wny.returnTexture(u)}}get strength(){return this._blur}set strength(e){this._blur=e,this._generateKernels()}get quality(){return this._quality}set quality(e){this._quality=Math.max(1,Math.round(e)),this._generateKernels()}get kernels(){return this._kernels}set kernels(e){Array.isArray(e)&&e.length>0?(this._kernels=e,this._quality=e.length,this._blur=Math.max(...e)):(this._kernels=[0],this._quality=1)}get pixelSize(){return this._pixelSize}set pixelSize(e){if("number"==typeof e){this.pixelSizeX=this.pixelSizeY=e;return}if(Array.isArray(e)){this.pixelSizeX=e[0],this.pixelSizeY=e[1];return}this._pixelSize=e}get pixelSizeX(){return this.pixelSize.x}set pixelSizeX(e){this.pixelSize.x=e}get pixelSizeY(){return this.pixelSize.y}set pixelSizeY(e){this.pixelSize.y=e}get clamp(){return this._clamp}_updatePadding(){this.padding=Math.ceil(this._kernels.reduce((e,t)=>e+t+.5,0))}_generateKernels(){let e=this._blur,t=this._quality,r=[e];if(e>0){let n=e,i=e/t;for(let e=1;e<t;e++)n-=i,r.push(n)}this._kernels=r,this._updatePadding()}};b(_,"DEFAULT_OPTIONS",{strength:4,quality:3,clamp:!1,pixelSize:{x:1,y:1}});let w=_;var x="in vec2 vTextureCoord;\nout vec4 finalColor;\n\nuniform sampler2D uTexture;\nuniform sampler2D uMapTexture;\nuniform float uBloomScale;\nuniform float uBrightness;\n\nvoid main() {\n vec4 color = texture(uTexture, vTextureCoord);\n color.rgb *= uBrightness;\n vec4 bloomColor = vec4(texture(uMapTexture, vTextureCoord).rgb, 0.0);\n bloomColor.rgb *= uBloomScale;\n finalColor = color + bloomColor;\n}\n",S="struct AdvancedBloomUniforms {\n uBloomScale: f32,\n uBrightness: f32,\n};\n\n@group(0) @binding(1) var uTexture: texture_2d<f32>; \n@group(0) @binding(2) var uSampler: sampler;\n@group(1) @binding(0) var<uniform> advancedBloomUniforms : AdvancedBloomUniforms;\n@group(1) @binding(1) var uMapTexture: texture_2d<f32>;\n\n@fragment\nfn mainFragment(\n @builtin(position) position: vec4<f32>,\n @location(0) uv : vec2<f32>\n) -> @location(0) vec4<f32> {\n var color = textureSample(uTexture, uSampler, uv);\n color = vec4<f32>(color.rgb * advancedBloomUniforms.uBrightness, color.a);\n\n var bloomColor = vec4<f32>(textureSample(uMapTexture, uSampler, uv).rgb, 0.0);\n bloomColor = vec4<f32>(bloomColor.rgb * advancedBloomUniforms.uBloomScale, bloomColor.a);\n \n return color + bloomColor;\n}\n",A="\nin vec2 vTextureCoord;\nout vec4 finalColor;\n\nuniform sampler2D uTexture;\nuniform float uThreshold;\n\nvoid main() {\n vec4 color = texture(uTexture, vTextureCoord);\n\n // A simple & fast algorithm for getting brightness.\n // It's inaccuracy , but good enought for this feature.\n float _max = max(max(color.r, color.g), color.b);\n float _min = min(min(color.r, color.g), color.b);\n float brightness = (_max + _min) * 0.5;\n\n if(brightness > uThreshold) {\n finalColor = color;\n } else {\n finalColor = vec4(0.0, 0.0, 0.0, 0.0);\n }\n}\n",E="struct ExtractBrightnessUniforms {\n uThreshold: f32,\n};\n\n@group(0) @binding(1) var uTexture: texture_2d<f32>; \n@group(0) @binding(2) var uSampler: sampler;\n@group(1) @binding(0) var<uniform> extractBrightnessUniforms : ExtractBrightnessUniforms;\n\n@fragment\nfn mainFragment(\n @builtin(position) position: vec4<f32>,\n @location(0) uv : vec2<f32>\n) -> @location(0) vec4<f32> {\n let color: vec4<f32> = textureSample(uTexture, uSampler, uv);\n\n // A simple & fast algorithm for getting brightness.\n // It's inaccurate, but good enough for this feature.\n let max: f32 = max(max(color.r, color.g), color.b);\n let min: f32 = min(min(color.r, color.g), color.b);\n let brightness: f32 = (max + min) * 0.5;\n\n return select(vec4<f32>(0.), color, brightness > extractBrightnessUniforms.uThreshold);\n}\n",C=Object.defineProperty,O=(e,t,r)=>t in e?C(e,t,{enumerable:!0,configurable:!0,writable:!0,value:r}):e[t]=r,k=(e,t,r)=>(O(e,"symbol"!=typeof t?t+"":t,r),r);let I=class e extends i.dJT{constructor(t){t={...e.DEFAULT_OPTIONS,...t},super({gpuProgram:i.BrD.from({vertex:{source:a,entryPoint:"mainVertex"},fragment:{source:E,entryPoint:"mainFragment"}}),glProgram:i.M2g.from({vertex:o,fragment:A,name:"extract-brightness-filter"}),resources:{extractBrightnessUniforms:{uThreshold:{value:t.threshold,type:"f32"}}}}),k(this,"uniforms"),this.uniforms=this.resources.extractBrightnessUniforms.uniforms}get threshold(){return this.uniforms.uThreshold}set threshold(e){this.uniforms.uThreshold=e}};k(I,"DEFAULT_OPTIONS",{threshold:.5});let T=I;var P=Object.defineProperty,M=(e,t,r)=>t in e?P(e,t,{enumerable:!0,configurable:!0,writable:!0,value:r}):e[t]=r,R=(e,t,r)=>(M(e,"symbol"!=typeof t?t+"":t,r),r);let $=class e extends i.dJT{constructor(t){t={...e.DEFAULT_OPTIONS,...t},super({gpuProgram:i.BrD.from({vertex:{source:a,entryPoint:"mainVertex"},fragment:{source:S,entryPoint:"mainFragment"}}),glProgram:i.M2g.from({vertex:o,fragment:x,name:"advanced-bloom-filter"}),resources:{advancedBloomUniforms:{uBloomScale:{value:t.bloomScale,type:"f32"},uBrightness:{value:t.brightness,type:"f32"}},uMapTexture:i.gPd.WHITE}}),R(this,"uniforms"),R(this,"bloomScale",1),R(this,"brightness",1),R(this,"_extractFilter"),R(this,"_blurFilter"),this.uniforms=this.resources.advancedBloomUniforms.uniforms,this._extractFilter=new T({threshold:t.threshold}),this._blurFilter=new w({strength:t.kernels??t.blur,quality:t.kernels?void 0:t.quality}),Object.assign(this,t)}apply(e,t,r,n){let o=i.Wny.getSameSizeTexture(t);this._extractFilter.apply(e,t,o,!0);let a=i.Wny.getSameSizeTexture(t);this._blurFilter.apply(e,o,a,!0),this.uniforms.uBloomScale=this.bloomScale,this.uniforms.uBrightness=this.brightness,this.resources.uMapTexture=a.source,e.applyFilter(this,t,r,n),i.Wny.returnTexture(a),i.Wny.returnTexture(o)}get threshold(){return this._extractFilter.threshold}set threshold(e){this._extractFilter.threshold=e}get kernels(){return this._blurFilter.kernels}set kernels(e){this._blurFilter.kernels=e}get blur(){return this._blurFilter.strength}set blur(e){this._blurFilter.strength=e}get quality(){return this._blurFilter.quality}set quality(e){this._blurFilter.quality=e}get pixelSize(){return this._blurFilter.pixelSize}set pixelSize(e){"number"==typeof e&&(e={x:e,y:e}),Array.isArray(e)&&(e={x:e[0],y:e[1]}),this._blurFilter.pixelSize=e}get pixelSizeX(){return this._blurFilter.pixelSizeX}set pixelSizeX(e){this._blurFilter.pixelSizeX=e}get pixelSizeY(){return this._blurFilter.pixelSizeY}set pixelSizeY(e){this._blurFilter.pixelSizeY=e}};R($,"DEFAULT_OPTIONS",{threshold:.5,bloomScale:1,brightness:1,blur:8,quality:4,pixelSize:{x:1,y:1}});var j="precision highp float;\nin vec2 vTextureCoord;\nout vec4 finalColor;\n\nuniform sampler2D uTexture;\nuniform float uSize;\nuniform vec3 uColor;\nuniform float uReplaceColor;\n\nuniform vec4 uInputSize;\n\nvec2 mapCoord( vec2 coord )\n{\n coord *= uInputSize.xy;\n coord += uInputSize.zw;\n\n return coord;\n}\n\nvec2 unmapCoord( vec2 coord )\n{\n coord -= uInputSize.zw;\n coord /= uInputSize.xy;\n\n return coord;\n}\n\nvec2 pixelate(vec2 coord, vec2 size)\n{\n return floor(coord / size) * size;\n}\n\nvec2 getMod(vec2 coord, vec2 size)\n{\n return mod(coord, size) / size;\n}\n\nfloat character(float n, vec2 p)\n{\n p = floor(p*vec2(4.0, 4.0) + 2.5);\n\n if (clamp(p.x, 0.0, 4.0) == p.x)\n {\n if (clamp(p.y, 0.0, 4.0) == p.y)\n {\n if (int(mod(n/exp2(p.x + 5.0*p.y), 2.0)) == 1) return 1.0;\n }\n }\n return 0.0;\n}\n\nvoid main()\n{\n vec2 coord = mapCoord(vTextureCoord);\n\n // get the grid position\n vec2 pixCoord = pixelate(coord, vec2(uSize));\n pixCoord = unmapCoord(pixCoord);\n\n // sample the color at grid position\n vec4 color = texture(uTexture, pixCoord);\n\n // brightness of the color as it's perceived by the human eye\n float gray = 0.3 * color.r + 0.59 * color.g + 0.11 * color.b;\n\n // determine the character to use\n float n = 65536.0; // .\n if (gray > 0.2) n = 65600.0; // :\n if (gray > 0.3) n = 332772.0; // *\n if (gray > 0.4) n = 15255086.0; // o\n if (gray > 0.5) n = 23385164.0; // &\n if (gray > 0.6) n = 15252014.0; // 8\n if (gray > 0.7) n = 13199452.0; // @\n if (gray > 0.8) n = 11512810.0; // #\n\n // get the mod..\n vec2 modd = getMod(coord, vec2(uSize));\n\n finalColor = (uReplaceColor > 0.5 ? vec4(uColor, 1.) : color) * character( n, vec2(-1.0) + modd * 2.0);\n}\n",N="struct AsciiUniforms {\n uSize: f32,\n uColor: vec3<f32>,\n uReplaceColor: f32,\n};\n\nstruct GlobalFilterUniforms {\n uInputSize:vec4<f32>,\n uInputPixel:vec4<f32>,\n uInputClamp:vec4<f32>,\n uOutputFrame:vec4<f32>,\n uGlobalFrame:vec4<f32>,\n uOutputTexture:vec4<f32>,\n};\n\n@group(0) @binding(0) var<uniform> gfu: GlobalFilterUniforms;\n\n@group(0) @binding(1) var uTexture: texture_2d<f32>; \n@group(0) @binding(2) var uSampler: sampler;\n@group(1) @binding(0) var<uniform> asciiUniforms : AsciiUniforms;\n\n@fragment\nfn mainFragment(\n @location(0) uv: vec2<f32>,\n @builtin(position) position: vec4<f32>\n) -> @location(0) vec4<f32> {\n let pixelSize: f32 = asciiUniforms.uSize;\n let coord: vec2<f32> = mapCoord(uv);\n\n // get the rounded color..\n var pixCoord: vec2<f32> = pixelate(coord, vec2<f32>(pixelSize));\n pixCoord = unmapCoord(pixCoord);\n\n var color = textureSample(uTexture, uSampler, pixCoord);\n\n // determine the character to use\n let gray: f32 = 0.3 * color.r + 0.59 * color.g + 0.11 * color.b;\n \n var n: f32 = 65536.0; // .\n if (gray > 0.2) {\n n = 65600.0; // :\n }\n if (gray > 0.3) {\n n = 332772.0; // *\n }\n if (gray > 0.4) {\n n = 15255086.0; // o\n }\n if (gray > 0.5) {\n n = 23385164.0; // &\n }\n if (gray > 0.6) {\n n = 15252014.0; // 8\n }\n if (gray > 0.7) {\n n = 13199452.0; // @\n }\n if (gray > 0.8) {\n n = 11512810.0; // #\n }\n\n // get the mod..\n let modd: vec2<f32> = getMod(coord, vec2<f32>(pixelSize));\n return select(color, vec4<f32>(asciiUniforms.uColor, 1.), asciiUniforms.uReplaceColor > 0.5) * character(n, vec2<f32>(-1.0) + modd * 2.0);\n}\n\nfn pixelate(coord: vec2<f32>, size: vec2<f32>) -> vec2<f32>\n{\n return floor( coord / size ) * size;\n}\n\nfn getMod(coord: vec2<f32>, size: vec2<f32>) -> vec2<f32>\n{\n return moduloVec2( coord , size) / size;\n}\n\nfn character(n: f32, p: vec2<f32>) -> f32\n{\n var q: vec2<f32> = floor(p*vec2<f32>(4.0, 4.0) + 2.5);\n\n if (clamp(q.x, 0.0, 4.0) == q.x)\n {\n if (clamp(q.y, 0.0, 4.0) == q.y)\n {\n if (i32(modulo(n/exp2(q.x + 5.0*q.y), 2.0)) == 1)\n {\n return 1.0;\n }\n }\n }\n\n return 0.0;\n}\n\nfn modulo(x: f32, y: f32) -> f32\n{\n return x - y * floor(x/y);\n}\n\nfn moduloVec2(x: vec2<f32>, y: vec2<f32>) -> vec2<f32>\n{\n return x - y * floor(x/y);\n}\n\nfn mapCoord(coord: vec2<f32> ) -> vec2<f32>\n{\n var mappedCoord: vec2<f32> = coord;\n mappedCoord *= gfu.uInputSize.xy;\n mappedCoord += gfu.uOutputFrame.xy;\n return mappedCoord;\n}\n\nfn unmapCoord(coord: vec2<f32> ) -> vec2<f32>\n{\n var mappedCoord: vec2<f32> = coord;\n mappedCoord -= gfu.uOutputFrame.xy;\n mappedCoord /= gfu.uInputSize.xy;\n return mappedCoord;\n}",B=Object.defineProperty,L=(e,t,r)=>t in e?B(e,t,{enumerable:!0,configurable:!0,writable:!0,value:r}):e[t]=r,z=(e,t,r)=>(L(e,"symbol"!=typeof t?t+"":t,r),r);let F=class e extends i.dJT{constructor(...t){let r=t[0]??{};"number"==typeof r&&((0,i.t66)("6.0.0","AsciiFilter constructor params are now options object. See params: { size, color, replaceColor }"),r={size:r});const n=r?.color&&!1!==r.replaceColor;r={...e.DEFAULT_OPTIONS,...r},super({gpuProgram:i.BrD.from({vertex:{source:a,entryPoint:"mainVertex"},fragment:{source:N,entryPoint:"mainFragment"}}),glProgram:i.M2g.from({vertex:o,fragment:j,name:"ascii-filter"}),resources:{asciiUniforms:{uSize:{value:r.size,type:"f32"},uColor:{value:new Float32Array(3),type:"vec3<f32>"},uReplaceColor:{value:Number(n),type:"f32"}}}}),z(this,"uniforms"),z(this,"_color"),this.uniforms=this.resources.asciiUniforms.uniforms,this._color=new i.Q1f,this.color=r.color??0xffffff}get size(){return this.uniforms.uSize}set size(e){this.uniforms.uSize=e}get color(){return this._color.value}set color(e){this._color.setValue(e);let[t,r,n]=this._color.toArray();this.uniforms.uColor[0]=t,this.uniforms.uColor[1]=r,this.uniforms.uColor[2]=n}get replaceColor(){return this.uniforms.uReplaceColor>.5}set replaceColor(e){this.uniforms.uReplaceColor=+!!e}};z(F,"DEFAULT_OPTIONS",{size:8,color:0xffffff,replaceColor:!1});i.eV2;var D="precision highp float;\nin vec2 vTextureCoord;\nout vec4 finalColor;\n\nuniform sampler2D uTexture;\nuniform vec2 uTransform;\nuniform vec3 uLightColor;\nuniform float uLightAlpha;\nuniform vec3 uShadowColor;\nuniform float uShadowAlpha;\n\nuniform vec4 uInputSize;\n\nvoid main(void) {\n vec2 transform = vec2(1.0 / uInputSize) * vec2(uTransform.x, uTransform.y);\n vec4 color = texture(uTexture, vTextureCoord);\n float light = texture(uTexture, vTextureCoord - transform).a;\n float shadow = texture(uTexture, vTextureCoord + transform).a;\n\n color.rgb = mix(color.rgb, uLightColor, clamp((color.a - light) * uLightAlpha, 0.0, 1.0));\n color.rgb = mix(color.rgb, uShadowColor, clamp((color.a - shadow) * uShadowAlpha, 0.0, 1.0));\n finalColor = vec4(color.rgb * color.a, color.a);\n}\n",U="struct BevelUniforms {\n uLightColor: vec3<f32>,\n uLightAlpha: f32,\n uShadowColor: vec3<f32>,\n uShadowAlpha: f32,\n uTransform: vec2<f32>,\n};\n\nstruct GlobalFilterUniforms {\n uInputSize:vec4<f32>,\n uInputPixel:vec4<f32>,\n uInputClamp:vec4<f32>,\n uOutputFrame:vec4<f32>,\n uGlobalFrame:vec4<f32>,\n uOutputTexture:vec4<f32>,\n};\n\n@group(0) @binding(0) var<uniform> gfu: GlobalFilterUniforms;\n\n@group(0) @binding(1) var uTexture: texture_2d<f32>; \n@group(0) @binding(2) var uSampler: sampler;\n@group(1) @binding(0) var<uniform> bevelUniforms : BevelUniforms;\n\n@fragment\nfn mainFragment(\n @builtin(position) position: vec4<f32>,\n @location(0) uv : vec2<f32>\n) -> @location(0) vec4<f32> {\n let transform = vec2<f32>(1.0 / gfu.uInputSize.xy) * vec2<f32>(bevelUniforms.uTransform.x, bevelUniforms.uTransform.y);\n var color: vec4<f32> = textureSample(uTexture, uSampler, uv);\n let lightSample: f32 = textureSample(uTexture, uSampler, uv - transform).a;\n let shadowSample: f32 = textureSample(uTexture, uSampler, uv + transform).a;\n\n let light = vec4<f32>(bevelUniforms.uLightColor, bevelUniforms.uLightAlpha);\n let shadow = vec4<f32>(bevelUniforms.uShadowColor, bevelUniforms.uShadowAlpha);\n\n color = vec4<f32>(mix(color.rgb, light.rgb, clamp((color.a - lightSample) * light.a, 0.0, 1.0)), color.a);\n color = vec4<f32>(mix(color.rgb, shadow.rgb, clamp((color.a - shadowSample) * shadow.a, 0.0, 1.0)), color.a);\n \n return vec4<f32>(color.rgb * color.a, color.a);\n}",H=Object.defineProperty,G=(e,t,r)=>t in e?H(e,t,{enumerable:!0,configurable:!0,writable:!0,value:r}):e[t]=r,W=(e,t,r)=>(G(e,"symbol"!=typeof t?t+"":t,r),r);let V=class e extends i.dJT{constructor(t){t={...e.DEFAULT_OPTIONS,...t},super({gpuProgram:i.BrD.from({vertex:{source:a,entryPoint:"mainVertex"},fragment:{source:U,entryPoint:"mainFragment"}}),glProgram:i.M2g.from({vertex:o,fragment:D,name:"bevel-filter"}),resources:{bevelUniforms:{uLightColor:{value:new Float32Array(3),type:"vec3<f32>"},uLightAlpha:{value:t.lightAlpha,type:"f32"},uShadowColor:{value:new Float32Array(3),type:"vec3<f32>"},uShadowAlpha:{value:t.shadowAlpha,type:"f32"},uTransform:{value:new Float32Array(2),type:"vec2<f32>"}}},padding:1}),W(this,"uniforms"),W(this,"_thickness"),W(this,"_rotation"),W(this,"_lightColor"),W(this,"_shadowColor"),this.uniforms=this.resources.bevelUniforms.uniforms,this._lightColor=new i.Q1f,this._shadowColor=new i.Q1f,this.lightColor=t.lightColor??0xffffff,this.shadowColor=t.shadowColor??0,Object.assign(this,t)}get rotation(){return this._rotation/i.Tde}set rotation(e){this._rotation=e*i.Tde,this._updateTransform()}get thickness(){return this._thickness}set thickness(e){this._thickness=e,this._updateTransform()}get lightColor(){return this._lightColor.value}set lightColor(e){this._lightColor.setValue(e);let[t,r,n]=this._lightColor.toArray();this.uniforms.uLightColor[0]=t,this.uniforms.uLightColor[1]=r,this.uniforms.uLightColor[2]=n}get lightAlpha(){return this.uniforms.uLightAlpha}set lightAlpha(e){this.uniforms.uLightAlpha=e}get shadowColor(){return this._shadowColor.value}set shadowColor(e){this._shadowColor.setValue(e);let[t,r,n]=this._shadowColor.toArray();this.uniforms.uShadowColor[0]=t,this.uniforms.uShadowColor[1]=r,this.uniforms.uShadowColor[2]=n}get shadowAlpha(){return this.uniforms.uShadowAlpha}set shadowAlpha(e){this.uniforms.uShadowAlpha=e}_updateTransform(){this.uniforms.uTransform[0]=this.thickness*Math.cos(this._rotation),this.uniforms.uTransform[1]=this.thickness*Math.sin(this._rotation)}};W(V,"DEFAULT_OPTIONS",{rotation:45,thickness:2,lightColor:0xffffff,lightAlpha:.7,shadowColor:0,shadowAlpha:.7});var q=Object.defineProperty,X=(e,t,r)=>t in e?q(e,t,{enumerable:!0,configurable:!0,writable:!0,value:r}):e[t]=r,Y=(e,t,r)=>(X(e,"symbol"!=typeof t?t+"":t,r),r);let Z=class e extends i.ZYG{constructor(...t){let r=t[0]??{};if("number"==typeof r||Array.isArray(r)||"x"in r&&"y"in r){(0,i.t66)("6.0.0","BloomFilter constructor params are now options object. See params: { strength, quality, resolution, kernelSize }");let e=r;Array.isArray(e)&&(e={x:e[0],y:e[1]}),r={strength:e},void 0!==t[1]&&(r.quality=t[1]),void 0!==t[2]&&(r.resolution=t[2]),void 0!==t[3]&&(r.kernelSize=t[3])}r={...e.DEFAULT_OPTIONS,...r},super(),Y(this,"_blurXFilter"),Y(this,"_blurYFilter"),Y(this,"_strength"),this._strength={x:2,y:2},r.strength&&("number"==typeof r.strength?(this._strength.x=r.strength,this._strength.y=r.strength):(this._strength.x=r.strength.x,this._strength.y=r.strength.y)),this._blurXFilter=new i.Hii({...r,horizontal:!0,strength:this.strengthX}),this._blurYFilter=new i.Hii({...r,horizontal:!1,strength:this.strengthY}),this._blurYFilter.blendMode="screen",Object.assign(this,r)}apply(e,t,r,n){let o=i.Wny.getSameSizeTexture(t);e.applyFilter(this,t,r,n),this._blurXFilter.apply(e,t,o,!0),this._blurYFilter.apply(e,o,r,!1),i.Wny.returnTexture(o)}get strength(){return this._strength}set strength(e){this._strength="number"==typeof e?{x:e,y:e}:e,this._updateStrength()}get strengthX(){return this.strength.x}set strengthX(e){this.strength.x=e,this._updateStrength()}get strengthY(){return this.strength.y}set strengthY(e){this.strength.y=e,this._updateStrength()}_updateStrength(){this._blurXFilter.blur=this.strengthX,this._blurYFilter.blur=this.strengthY}get blur(){return(0,i.t66)("6.0.0","BloomFilter.blur is deprecated, please use BloomFilter.strength instead"),this.strengthX}set blur(e){(0,i.t66)("6.0.0","BloomFilter.blur is deprecated, please use BloomFilter.strength instead"),this.strength=e}get blurX(){return(0,i.t66)("6.0.0","BloomFilter.blurX is deprecated, please use BloomFilter.strengthX instead"),this.strengthX}set blurX(e){(0,i.t66)("6.0.0","BloomFilter.blurX is deprecated, please use BloomFilter.strengthX instead"),this.strengthX=e}get blurY(){return(0,i.t66)("6.0.0","BloomFilter.blurY is deprecated, please use BloomFilter.strengthY instead"),this.strengthY}set blurY(e){(0,i.t66)("6.0.0","BloomFilter.blurY is deprecated, please use BloomFilter.strengthY instead"),this.strengthY=e}};Y(Z,"DEFAULT_OPTIONS",{strength:{x:2,y:2},quality:4,resolution:1,kernelSize:5});var K="precision highp float;\nin vec2 vTextureCoord;\nout vec4 finalColor;\n\nuniform sampler2D uTexture;\nuniform vec2 uDimensions;\nuniform vec2 uCenter;\nuniform float uRadius;\nuniform float uStrength;\n\nuniform vec4 uInputSize;\nuniform vec4 uInputClamp;\n\nvoid main()\n{\n vec2 coord = vTextureCoord * uInputSize.xy;\n coord -= uCenter * uDimensions.xy;\n float distance = length(coord);\n\n if (distance < uRadius) {\n float percent = distance / uRadius;\n if (uStrength > 0.0) {\n coord *= mix(1.0, smoothstep(0.0, uRadius / distance, percent), uStrength * 0.75);\n } else {\n coord *= mix(1.0, pow(percent, 1.0 + uStrength * 0.75) * uRadius / distance, 1.0 - percent);\n }\n }\n\n coord += uCenter * uDimensions.xy;\n coord /= uInputSize.xy;\n vec2 clampedCoord = clamp(coord, uInputClamp.xy, uInputClamp.zw);\n vec4 color = texture(uTexture, clampedCoord);\n\n if (coord != clampedCoord) {\n color *= max(0.0, 1.0 - length(coord - clampedCoord));\n }\n\n finalColor = color;\n}\n",J="struct BulgePinchUniforms {\n uDimensions: vec2<f32>,\n uCenter: vec2<f32>,\n uRadius: f32,\n uStrength: f32,\n};\n\nstruct GlobalFilterUniforms {\n uInputSize:vec4<f32>,\n uInputPixel:vec4<f32>,\n uInputClamp:vec4<f32>,\n uOutputFrame:vec4<f32>,\n uGlobalFrame:vec4<f32>,\n uOutputTexture:vec4<f32>,\n};\n\n@group(0) @binding(0) var<uniform> gfu: GlobalFilterUniforms;\n\n@group(0) @binding(1) var uTexture: texture_2d<f32>; \n@group(0) @binding(2) var uSampler: sampler;\n@group(1) @binding(0) var<uniform> bulgePinchUniforms : BulgePinchUniforms;\n\n@fragment\nfn mainFragment(\n @builtin(position) position: vec4<f32>,\n @location(0) uv : vec2<f32>\n) -> @location(0) vec4<f32> {\n let dimensions: vec2<f32> = bulgePinchUniforms.uDimensions;\n let center: vec2<f32> = bulgePinchUniforms.uCenter;\n let radius: f32 = bulgePinchUniforms.uRadius;\n let strength: f32 = bulgePinchUniforms.uStrength;\n var coord: vec2<f32> = (uv * gfu.uInputSize.xy) - center * dimensions.xy;\n\n let distance: f32 = length(coord);\n\n if (distance < radius) {\n let percent: f32 = distance / radius;\n if (strength > 0.0) {\n coord *= mix(1.0, smoothstep(0.0, radius / distance, percent), strength * 0.75);\n } else {\n coord *= mix(1.0, pow(percent, 1.0 + strength * 0.75) * radius / distance, 1.0 - percent);\n }\n }\n coord += (center * dimensions.xy);\n coord /= gfu.uInputSize.xy;\n\n let clampedCoord: vec2<f32> = clamp(coord, gfu.uInputClamp.xy, gfu.uInputClamp.zw);\n var color: vec4<f32> = textureSample(uTexture, uSampler, clampedCoord);\n if (coord.x != clampedCoord.x && coord.y != clampedCoord.y) {\n color *= max(0.0, 1.0 - length(coord - clampedCoord));\n }\n\n return color;\n}\n\nfn compareVec2(x: vec2<f32>, y: vec2<f32>) -> bool\n{\n if (x.x == y.x && x.y == y.y)\n {\n return true;\n }\n\n return false;\n}",Q=Object.defineProperty,ee=(e,t,r)=>t in e?Q(e,t,{enumerable:!0,configurable:!0,writable:!0,value:r}):e[t]=r,et=(e,t,r)=>(ee(e,"symbol"!=typeof t?t+"":t,r),r);let er=class e extends i.dJT{constructor(t){t={...e.DEFAULT_OPTIONS,...t},super({gpuProgram:i.BrD.from({vertex:{source:a,entryPoint:"mainVertex"},fragment:{source:J,entryPoint:"mainFragment"}}),glProgram:i.M2g.from({vertex:o,fragment:K,name:"bulge-pinch-filter"}),resources:{bulgePinchUniforms:{uDimensions:{value:[0,0],type:"vec2<f32>"},uCenter:{value:t.center,type:"vec2<f32>"},uRadius:{value:t.radius,type:"f32"},uStrength:{value:t.strength,type:"f32"}}}}),et(this,"uniforms"),this.uniforms=this.resources.bulgePinchUniforms.uniforms,Object.assign(this,t)}apply(e,t,r,n){this.uniforms.uDimensions[0]=t.frame.width,this.uniforms.uDimensions[1]=t.frame.height,e.applyFilter(this,t,r,n)}get center(){return this.uniforms.uCenter}set center(e){"number"==typeof e&&(e={x:e,y:e}),Array.isArray(e)&&(e={x:e[0],y:e[1]}),this.uniforms.uCenter=e}get centerX(){return this.uniforms.uCenter.x}set centerX(e){this.uniforms.uCenter.x=e}get centerY(){return this.uniforms.uCenter.y}set centerY(e){this.uniforms.uCenter.y=e}get radius(){return this.uniforms.uRadius}set radius(e){this.uniforms.uRadius=e}get strength(){return this.uniforms.uStrength}set strength(e){this.uniforms.uStrength=e}};et(er,"DEFAULT_OPTIONS",{center:{x:.5,y:.5},radius:100,strength:1});var en="precision highp float;\nin vec2 vTextureCoord;\nin vec2 vFilterCoord;\nout vec4 finalColor;\n\nconst int TYPE_LINEAR = 0;\nconst int TYPE_RADIAL = 1;\nconst int TYPE_CONIC = 2;\nconst int MAX_STOPS = 32;\n\nuniform sampler2D uTexture;\nuniform vec4 uOptions;\nuniform vec2 uCounts;\nuniform vec3 uColors[MAX_STOPS];\nuniform vec4 uStops[MAX_STOPS];\n\nconst float PI = 3.1415926538;\nconst float PI_2 = PI*2.;\n\nstruct ColorStop {\n float offset;\n vec3 color;\n float alpha;\n};\n\nmat2 rotate2d(float angle){\n return mat2(cos(angle), -sin(angle),\n sin(angle), cos(angle));\n}\n\nfloat projectLinearPosition(vec2 pos, float angle){\n vec2 center = vec2(0.5);\n vec2 result = pos - center;\n result = rotate2d(angle) * result;\n result = result + center;\n return clamp(result.x, 0., 1.);\n}\n\nfloat projectRadialPosition(vec2 pos) {\n float r = distance(pos, vec2(0.5));\n return clamp(2.*r, 0., 1.);\n}\n\nfloat projectAnglePosition(vec2 pos, float angle) {\n vec2 center = pos - vec2(0.5);\n float polarAngle=atan(-center.y, center.x);\n return mod(polarAngle + angle, PI_2) / PI_2;\n}\n\nfloat projectPosition(vec2 pos, int type, float angle) {\n if (type == TYPE_LINEAR) {\n return projectLinearPosition(pos, angle);\n } else if (type == TYPE_RADIAL) {\n return projectRadialPosition(pos);\n } else if (type == TYPE_CONIC) {\n return projectAnglePosition(pos, angle);\n }\n\n return pos.y;\n}\n\nvoid main(void) {\n int uType = int(uOptions[0]);\n float uAngle = uOptions[1];\n float uAlpha = uOptions[2];\n float uReplace = uOptions[3];\n\n int uNumStops = int(uCounts[0]);\n float uMaxColors = uCounts[1];\n\n // current/original color\n vec4 currentColor = texture(uTexture, vTextureCoord);\n\n // skip calculations if gradient alpha is 0\n if (0.0 == uAlpha) {\n finalColor = currentColor;\n return;\n }\n\n // project position\n float y = projectPosition(vFilterCoord, int(uType), radians(uAngle));\n\n // check gradient bounds\n float offsetMin = uStops[0][0];\n float offsetMax = 0.0;\n\n int numStops = int(uNumStops);\n\n for (int i = 0; i < MAX_STOPS; i++) {\n if (i == numStops-1){ // last index\n offsetMax = uStops[i][0];\n }\n }\n\n if (y < offsetMin || y > offsetMax) {\n finalColor = currentColor;\n return;\n }\n\n // limit colors\n if (uMaxColors > 0.) {\n float stepSize = 1./uMaxColors;\n float stepNumber = float(floor(y/stepSize));\n y = stepSize * (stepNumber + 0.5);// offset by 0.5 to use color from middle of segment\n }\n\n // find color stops\n ColorStop from;\n ColorStop to;\n\n for (int i = 0; i < MAX_STOPS; i++) {\n if (y >= uStops[i][0]) {\n from = ColorStop(uStops[i][0], uColors[i], uStops[i][1]);\n to = ColorStop(uStops[i+1][0], uColors[i+1], uStops[i+1][1]);\n }\n\n if (i == numStops-1){ // last index\n break;\n }\n }\n\n // mix colors from stops\n vec4 colorFrom = vec4(from.color * from.alpha, from.alpha);\n vec4 colorTo = vec4(to.color * to.alpha, to.alpha);\n\n float segmentHeight = to.offset - from.offset;\n float relativePos = y - from.offset;// position from 0 to [segmentHeight]\n float relativePercent = relativePos / segmentHeight;// position in percent between [from.offset] and [to.offset].\n\n float gradientAlpha = uAlpha * currentColor.a;\n vec4 gradientColor = mix(colorFrom, colorTo, relativePercent) * gradientAlpha;\n\n if (uReplace < 0.5) {\n // mix resulting color with current color\n finalColor = gradientColor + currentColor*(1.-gradientColor.a);\n } else {\n // replace with gradient color\n finalColor = gradientColor;\n }\n}\n",ei="in vec2 aPosition;\nout vec2 vTextureCoord;\nout vec2 vFilterCoord;\n\nuniform vec4 uInputSize;\nuniform vec4 uOutputFrame;\nuniform vec4 uOutputTexture;\n\nvec4 filterVertexPosition( void )\n{\n vec2 position = aPosition * uOutputFrame.zw + uOutputFrame.xy;\n \n position.x = position.x * (2.0 / uOutputTexture.x) - 1.0;\n position.y = position.y * (2.0*uOutputTexture.z / uOutputTexture.y) - uOutputTexture.z;\n\n return vec4(position, 0.0, 1.0);\n}\n\nvec2 filterTextureCoord( void )\n{\n return aPosition * (uOutputFrame.zw * uInputSize.zw);\n}\n\nvoid main(void)\n{\n gl_Position = filterVertexPosition();\n vTextureCoord = filterTextureCoord();\n vFilterCoord = vTextureCoord * uInputSize.xy / uOutputFrame.zw;\n}\n",eo="struct BaseUniforms {\n uOptions: vec4<f32>,\n uCounts: vec2<f32>,\n};\n\nstruct StopsUniforms {\n uColors: array<vec3<f32>, MAX_STOPS>,\n uStops: array<vec4<f32>, MAX_STOPS>,\n};\n\nstruct GlobalFilterUniforms {\n uInputSize:vec4<f32>,\n uInputPixel:vec4<f32>,\n uInputClamp:vec4<f32>,\n uOutputFrame:vec4<f32>,\n uGlobalFrame:vec4<f32>,\n uOutputTexture:vec4<f32>,\n};\n\n@group(0) @binding(0) var<uniform> gfu: GlobalFilterUniforms;\n\n@group(0) @binding(1) var uTexture: texture_2d<f32>; \n@group(0) @binding(2) var uSampler: sampler;\n@group(1) @binding(0) var<uniform> baseUniforms : BaseUniforms;\n@group(1) @binding(1) var<uniform> stopsUniforms : StopsUniforms;\n\nstruct VSOutput {\n @builtin(position) position: vec4<f32>,\n @location(0) uv : vec2<f32>,\n @location(1) coord : vec2<f32>\n};\n\nfn filterVertexPosition(aPosition:vec2<f32>) -> vec4<f32>\n{\n var position = aPosition * gfu.uOutputFrame.zw + gfu.uOutputFrame.xy;\n\n position.x = position.x * (2.0 / gfu.uOutputTexture.x) - 1.0;\n position.y = position.y * (2.0*gfu.uOutputTexture.z / gfu.uOutputTexture.y) - gfu.uOutputTexture.z;\n\n return vec4(position, 0.0, 1.0);\n}\n\nfn filterTextureCoord( aPosition:vec2<f32> ) -> vec2<f32>\n{\n return aPosition * (gfu.uOutputFrame.zw * gfu.uInputSize.zw);\n}\n\nfn filterCoord( vTextureCoord:vec2<f32> ) -> vec2<f32>\n{\n return vTextureCoord * gfu.uInputSize.xy / gfu.uOutputFrame.zw;\n}\n\nfn globalTextureCoord( aPosition:vec2<f32> ) -> vec2<f32>\n{\n return (aPosition.xy / gfu.uGlobalFrame.zw) + (gfu.uGlobalFrame.xy / gfu.uGlobalFrame.zw); \n}\n\nfn getSize() -> vec2<f32>\n{\n return gfu.uGlobalFrame.zw;\n}\n \n@vertex\nfn mainVertex(\n @location(0) aPosition : vec2<f32>, \n) -> VSOutput {\n let vTextureCoord: vec2<f32> = filterTextureCoord(aPosition);\n return VSOutput(\n filterVertexPosition(aPosition),\n vTextureCoord,\n filterCoord(vTextureCoord),\n );\n}\n\nstruct ColorStop {\n offset: f32,\n color: vec3<f32>,\n alpha: f32,\n};\n\nfn rotate2d(angle: f32) -> mat2x2<f32>{\n return mat2x2(cos(angle), -sin(angle),\n sin(angle), cos(angle));\n}\n\nfn projectLinearPosition(pos: vec2<f32>, angle: f32) -> f32 {\n var center: vec2<f32> = vec2<f32>(0.5);\n var result: vec2<f32> = pos - center;\n result = rotate2d(angle) * result;\n result = result + center;\n return clamp(result.x, 0.0, 1.0);\n}\n\nfn projectRadialPosition(pos: vec2<f32>) -> f32 {\n var r: f32 = distance(pos, vec2<f32>(0.5));\n return clamp(2.0 * r, 0.0, 1.0);\n}\n\nfn projectAnglePosition(pos: vec2<f32>, angle: f32) -> f32 {\n var center: vec2<f32> = pos - vec2<f32>(0.5, 0.5);\n var polarAngle: f32 = atan2(-center.y, center.x);\n return ((polarAngle + angle) % PI_2) / PI_2;\n}\n\nfn projectPosition(pos: vec2<f32>, gradientType: i32, angle: f32) -> f32 {\n if (gradientType == TYPE_LINEAR) {\n return projectLinearPosition(pos, angle);\n } else if (gradientType == TYPE_RADIAL) {\n return projectRadialPosition(pos);\n } else if (gradientType == TYPE_CONIC) {\n return projectAnglePosition(pos, angle);\n }\n\n return pos.y;\n}\n\n@fragment\nfn mainFragment(\n @builtin(position) position: vec4<f32>,\n @location(0) uv : vec2<f32>,\n @location(1) coord : vec2<f32>\n) -> @location(0) vec4<f32> {\n let uType: i32 = i32(baseUniforms.uOptions[0]);\n let uAngle: f32 = baseUniforms.uOptions[1];\n let uAlpha: f32 = baseUniforms.uOptions[2];\n let uReplace: f32 = baseUniforms.uOptions[3];\n\n let uNumStops: i32 = i32(baseUniforms.uCounts[0]);\n let uMaxColors: f32 = baseUniforms.uCounts[1];\n\n // current/original color\n var currentColor: vec4<f32> = textureSample(uTexture, uSampler, uv);\n\n // skip calculations if gradient alpha is 0\n if (uAlpha == 0.0) { return currentColor; }\n\n // project position\n var y: f32 = projectPosition(coord, uType, radians(uAngle));\n\n // check gradient bounds\n var offsetMin: f32 = stopsUniforms.uStops[0][0];\n var offsetMax: f32 = 0.0;\n\n let numStops: i32 = uNumStops;\n\n for (var i: i32 = 0; i < MAX_STOPS; i = i + 1) {\n if (i == numStops - 1) { // last index\n offsetMax = stopsUniforms.uStops[i][0];\n }\n }\n\n if (y < offsetMin || y > offsetMax) { return currentColor; }\n\n // limit colors\n if (uMaxColors > 0.0) {\n var stepSize: f32 = 1.0 / uMaxColors;\n var stepNumber: f32 = floor(y / stepSize);\n y = stepSize * (stepNumber + 0.5); // offset by 0.5 to use color from middle of segment\n }\n\n // find color stops\n var stopFrom: ColorStop;\n var stopTo: ColorStop;\n\n for (var i: i32 = 0; i < MAX_STOPS; i = i + 1) {\n if (y >= stopsUniforms.uStops[i][0]) {\n stopFrom = ColorStop(stopsUniforms.uStops[i][0], stopsUniforms.uColors[i], stopsUniforms.uStops[i][1]);\n stopTo = ColorStop(stopsUniforms.uStops[i + 1][0], stopsUniforms.uColors[i + 1], stopsUniforms.uStops[i + 1][1]);\n }\n\n if (i == numStops - 1) { // last index\n break;\n }\n }\n\n // mix colors from stops\n var colorFrom: vec4<f32> = vec4<f32>(stopFrom.color * stopFrom.alpha, stopFrom.alpha);\n var colorTo: vec4<f32> = vec4<f32>(stopTo.color * stopTo.alpha, stopTo.alpha);\n\n var segmentHeight: f32 = stopTo.offset - stopFrom.offset;\n var relativePos: f32 = y - stopFrom.offset; // position from 0 to [segmentHeight]\n var relativePercent: f32 = relativePos / segmentHeight; // position in percent between [from.offset] and [to.offset].\n\n var gradientAlpha: f32 = uAlpha * currentColor.a;\n var gradientColor: vec4<f32> = mix(colorFrom, colorTo, relativePercent) * gradientAlpha;\n\n if (uReplace < 0.5) {\n // mix resulting color with current color\n return gradientColor + currentColor * (1.0 - gradientColor.a);\n } else {\n // replace with gradient color\n return gradientColor;\n }\n}\n\nconst PI: f32 = 3.14159265358979323846264;\nconst PI_2: f32 = PI * 2.0;\n\nconst TYPE_LINEAR: i32 = 0;\nconst TYPE_RADIAL: i32 = 1;\nconst TYPE_CONIC: i32 = 2;\nconst MAX_STOPS: i32 = 32;",ea=ea||{};ea.stringify=function(){var e={"visit_linear-gradient":function(t){return e.visit_gradient(t)},"visit_repeating-linear-gradient":function(t){return e.visit_gradient(t)},"visit_radial-gradient":function(t){return e.visit_gradient(t)},"visit_repeating-radial-gradient":function(t){return e.visit_gradient(t)},visit_gradient:function(t){var r=e.visit(t.orientation);return r&&(r+=", "),t.type+"("+r+e.visit(t.colorStops)+")"},visit_shape:function(t){var r=t.value,n=e.visit(t.at),i=e.visit(t.style);return i&&(r+=" "+i),n&&(r+=" at "+n),r},"visit_default-radial":function(t){var r="",n=e.visit(t.at);return n&&(r+=n),r},"visit_extent-keyword":function(t){var r=t.value,n=e.visit(t.at);return n&&(r+=" at "+n),r},"visit_position-keyword":function(e){return e.value},visit_position:function(t){return e.visit(t.value.x)+" "+e.visit(t.value.y)},"visit_%":function(e){return e.value+"%"},visit_em:function(e){return e.value+"em"},visit_px:function(e){return e.value+"px"},visit_literal:function(t){return e.visit_color(t.value,t)},visit_hex:function(t){return e.visit_color("#"+t.value,t)},visit_rgb:function(t){return e.visit_color("rgb("+t.value.join(", ")+")",t)},visit_rgba:function(t){return e.visit_color("rgba("+t.value.join(", ")+")",t)},visit_color:function(t,r){var n=t,i=e.visit(r.length);return i&&(n+=" "+i),n},visit_angular:function(e){return e.value+"deg"},visit_directional:function(e){return"to "+e.value},visit_array:function(t){var r="",n=t.length;return t.forEach(function(t,i){r+=e.visit(t),i<n-1&&(r+=", ")}),r},visit:function(t){if(!t)return"";var r="";if(t instanceof Array)return e.visit_array(t,r);if(t.type){var n=e["visit_"+t.type];if(n)return n(t);throw Error("Missing visitor visit_"+t.type)}throw Error("Invalid node.")}};return function(t){return e.visit(t)}}();var ea=ea||{};ea.parse=function(){var e=/^(\-(webkit|o|ms|moz)\-)?(linear\-gradient)/i,t=/^(\-(webkit|o|ms|moz)\-)?(repeating\-linear\-gradient)/i,r=/^(\-(webkit|o|ms|moz)\-)?(radial\-gradient)/i,n=/^(\-(webkit|o|ms|moz)\-)?(repeating\-radial\-gradient)/i,i=/^to (left (top|bottom)|right (top|bottom)|left|right|top|bottom)/i,o=/^(closest\-side|closest\-corner|farthest\-side|farthest\-corner|contain|cover)/,a=/^(left|center|right|top|bottom)/i,s=/^(-?(([0-9]*\.[0-9]+)|([0-9]+\.?)))px/,l=/^(-?(([0-9]*\.[0-9]+)|([0-9]+\.?)))\%/,u=/^(-?(([0-9]*\.[0-9]+)|([0-9]+\.?)))em/,c=/^(-?(([0-9]*\.[0-9]+)|([0-9]+\.?)))deg/,f=/^\(/,h=/^\)/,d=/^,/,p=/^\#([0-9a-fA-F]+)/,m=/^([a-zA-Z]+)/,g=/^rgb/i,v=/^rgba/i,y=/^(([0-9]*\.[0-9]+)|([0-9]+\.?))/,b="";function _(e){var t=Error(b+": "+e);throw t.source=b,t}function w(){var e=x();return b.length>0&&_("Invalid input not EOF"),e}function x(){return B(S)}function S(){return A("linear-gradient",e,C)||A("repeating-linear-gradient",t,C)||A("radial-gradient",r,I)||A("repeating-radial-gradient",n,I)}function A(e,t,r){return E(t,function(t){var n=r();return n&&!Y(d)&&_("Missing comma before color stops"),{type:e,orientation:n,colorStops:B(L)}})}function E(e,t){var r=Y(e);if(r){Y(f)||_("Missing (");var n=t(r);return Y(h)||_("Missing )"),n}}function C(){return O()||k()}function O(){return X("directional",i,1)}function k(){return X("angular",c,1)}function I(){var e,t,r=T();return r&&((e=[]).push(r),t=b,Y(d)&&((r=T())?e.push(r):b=t)),e}function T(){var e=P()||M();if(e)e.at=$();else{var t=R();if(t){e=t;var r=$();r&&(e.at=r)}else{var n=j();n&&(e={type:"default-radial",at:n})}}return e}function P(){var e=X("shape",/^(circle)/i,0);return e&&(e.style=q()||R()),e}function M(){var e=X("shape",/^(ellipse)/i,0);return e&&(e.style=W()||R()),e}function R(){return X("extent-keyword",o,1)}function $(){if(X("position",/^at/,0)){var e=j();return e||_("Missing positioning value"),e}}function j(){var e=N();if(e.x||e.y)return{type:"position",value:e}}function N(){return{x:W(),y:W()}}function B(e){var t=e(),r=[];if(t)for(r.push(t);Y(d);)(t=e())?r.push(t):_("One extra comma");return r}function L(){var e=z();return e||_("Expected color definition"),e.length=W(),e}function z(){return D()||H()||U()||F()}function F(){return X("literal",m,0)}function D(){return X("hex",p,1)}function U(){return E(g,function(){return{type:"rgb",value:B(G)}})}function H(){return E(v,function(){return{type:"rgba",value:B(G)}})}function G(){return Y(y)[1]}function W(){return X("%",l,1)||V()||q()}function V(){return X("position-keyword",a,1)}function q(){return X("px",s,1)||X("em",u,1)}function X(e,t,r){var n=Y(t);if(n)return{type:e,value:n[r]}}function Y(e){var t,r;return(r=/^[\n\r\t\s]+/.exec(b))&&Z(r[0].length),(t=e.exec(b))&&Z(t[0].length),t}function Z(e){b=b.substr(e)}return function(e){return b=e.toString(),w()}}();var es=ea.parse;function el(e){let t=es(eg(e));if(0===t.length)throw Error("Invalid CSS gradient.");if(1!==t.length)throw Error("Unsupported CSS gradient (multiple gradients is not supported).");let r=t[0],n=eu(r.type);return{type:n,stops:ec(r.colorStops),angle:ep(r.orientation)}}function eu(e){let t={"linear-gradient":0,"radial-gradient":1};if(!(e in t))throw Error(`Unsupported gradient type "${e}"`);return t[e]}function ec(e){let t=eh(e),r=[],n=new i.Q1f;for(let i=0;i<e.length;i++){let o=ef(e[i]),a=n.setValue(o).toArray();r.push({offset:t[i],color:a.slice(0,3),alpha:a[3]})}return r}function ef(e){switch(e.type){case"hex":return`#${e.value}`;case"literal":return e.value;default:return`${e.type}(${e.value.join(",")})`}}function eh(e){let t=[],r=-1;for(let n=0;n<e.length;n++){let i=e[n],o=r;"literal"===i.type&&i.length&&"type"in i.length&&"%"===i.length.type&&"value"in i.length&&(o=parseFloat(i.length.value)/100),t.push(o)}let n=e=>{for(let n=e;n<t.length;n++)if(t[n]!==r)return{indexDelta:n-e,offset:t[n]};return{indexDelta:t.length-1-e,offset:1}},i=0;for(let e=0;e<t.length;e++){let o=t[e];if(o!==r)i=o;else if(0===e)t[e]=0;else if(e+1===t.length)t[e]=1;else{let r=n(e),o=(r.offset-i)/(1+r.indexDelta);for(let n=0;n<=r.indexDelta;n++)t[e+n]=i+(n+1)*o;e+=r.indexDelta,i=t[e]}}return t.map(ed)}function ed(e){let t=6;return e.toString().length>t?parseFloat(e.toString().substring(0,t)):e}function ep(e){if(void 0===e)return 0;if("type"in e&&"value"in e)switch(e.type){case"angular":return parseFloat(e.value);case"directional":return em(e.value)}return 0}function em(e){let t={left:270,top:0,bottom:180,right:90,"left top":315,"top left":315,"left bottom":225,"bottom left":225,"right top":45,"top right":45,"right bottom":135,"bottom right":135};if(!(e in t))throw Error(`Unsupported directional value "${e}"`);return t[e]}function eg(e){let t=e.replace(/\s{2,}/gu," ");return(t=(t=(t=(t=t.replace(/;/g,"")).replace(/ ,/g,",")).replace(/\( /g,"(")).replace(/ \)/g,")")).trim()}ea.stringify;var ev=Object.defineProperty,ey=(e,t,r)=>t in e?ev(e,t,{enumerable:!0,configurable:!0,writable:!0,value:r}):e[t]=r,eb=(e,t,r)=>(ey(e,"symbol"!=typeof t?t+"":t,r),r);let e_=90;function ew(e){return[...e].sort((e,t)=>e.offset-t.offset)}let ex=class e extends i.dJT{constructor(t){if(!(t=t&&"css"in t?{...el(t.css||""),alpha:t.alpha??e.defaults.alpha,maxColors:t.maxColors??e.defaults.maxColors}:{...e.defaults,...t}).stops||t.stops.length<2)throw Error("ColorGradientFilter requires at least 2 color stops.");const r=i.BrD.from({vertex:{source:eo,entryPoint:"mainVertex"},fragment:{source:eo,entryPoint:"mainFragment"}}),n=i.M2g.from({vertex:ei,fragment:en,name:"color-gradient-filter"}),o=32;super({gpuProgram:r,glProgram:n,resources:{baseUniforms:{uOptions:{value:[t.type,t.angle??e_,t.alpha,+!!t.replace],type:"vec4<f32>"},uCounts:{value:[t.stops.length,t.maxColors],type:"vec2<f32>"}},stopsUniforms:{uColors:{value:new Float32Array(3*o),type:"vec3<f32>",size:o},uStops:{value:new Float32Array(4*o),type:"vec4<f32>",size:o}}}}),eb(this,"baseUniforms"),eb(this,"stopsUniforms"),eb(this,"_stops",[]),this.baseUniforms=this.resources.baseUniforms.uniforms,this.stopsUniforms=this.resources.stopsUniforms.uniforms,Object.assign(this,t)}get stops(){return this._stops}set stops(e){let t,r,n,o=ew(e),a=new i.Q1f;for(let e=0;e<o.length;e++){a.setValue(o[e].color);let i=3*e;[t,r,n]=a.toArray(),this.stopsUniforms.uColors[i]=t,this.stopsUniforms.uColors[i+1]=r,this.stopsUniforms.uColors[i+2]=n,this.stopsUniforms.uStops[4*e]=o[e].offset,this.stopsUniforms.uStops[4*e+1]=o[e].alpha}this.baseUniforms.uCounts[0]=o.length,this._stops=o}get type(){return this.baseUniforms.uOptions[0]}set type(e){this.baseUniforms.uOptions[0]=e}get angle(){return this.baseUniforms.uOptions[1]+e_}set angle(e){this.baseUniforms.uOptions[1]=e-e_}get alpha(){return this.baseUniforms.uOptions[2]}set alpha(e){this.baseUniforms.uOptions[2]=e}get maxColors(){return this.baseUniforms.uCounts[1]}set maxColors(e){this.baseUniforms.uCounts[1]=e}get replace(){return this.baseUniforms.uOptions[3]>.5}set replace(e){this.baseUniforms.uOptions[3]=+!!e}};eb(ex,"LINEAR",0),eb(ex,"RADIAL",1),eb(ex,"CONIC",2),eb(ex,"defaults",{type:ex.LINEAR,stops:[{offset:0,color:0xff0000,alpha:1},{offset:1,color:255,alpha:1}],alpha:1,angle:90,maxColors:0,replace:!1});var eS="in vec2 vTextureCoord;\nout vec4 finalColor;\n\nuniform sampler2D uTexture;\nuniform sampler2D uMapTexture;\nuniform float uMix;\nuniform float uSize;\nuniform float uSliceSize;\nuniform float uSlicePixelSize;\nuniform float uSliceInnerSize;\n\nvoid main() {\n vec4 color = texture(uTexture, vTextureCoord.xy);\n vec4 adjusted;\n\n if (color.a > 0.0) {\n color.rgb /= color.a;\n float innerWidth = uSize - 1.0;\n float zSlice0 = min(floor(color.b * innerWidth), innerWidth);\n float zSlice1 = min(zSlice0 + 1.0, innerWidth);\n float xOffset = uSlicePixelSize * 0.5 + color.r * uSliceInnerSize;\n float s0 = xOffset + (zSlice0 * uSliceSize);\n float s1 = xOffset + (zSlice1 * uSliceSize);\n float yOffset = uSliceSize * 0.5 + color.g * (1.0 - uSliceSize);\n vec4 slice0Color = texture(uMapTexture, vec2(s0,yOffset));\n vec4 slice1Color = texture(uMapTexture, vec2(s1,yOffset));\n float zOffset = fract(color.b * innerWidth);\n adjusted = mix(slice0Color, slice1Color, zOffset);\n\n color.rgb *= color.a;\n }\n\n finalColor = vec4(mix(color, adjusted, uMix).rgb, color.a);\n\n}",eA="struct ColorMapUniforms {\n uMix: f32,\n uSize: f32,\n uSliceSize: f32,\n uSlicePixelSize: f32,\n uSliceInnerSize: f32,\n};\n\n@group(0) @binding(1) var uTexture: texture_2d<f32>; \n@group(0) @binding(2) var uSampler: sampler;\n@group(1) @binding(0) var<uniform> colorMapUniforms : ColorMapUniforms;\n@group(1) @binding(1) var uMapTexture: texture_2d<f32>;\n@group(1) @binding(2) var uMapSampler: sampler;\n\n@fragment\nfn mainFragment(\n @builtin(position) position: vec4<f32>,\n @location(0) uv : vec2<f32>\n) -> @location(0) vec4<f32> {\n var color:vec4<f32> = textureSample(uTexture, uSampler, uv);\n\n var adjusted: vec4<f32>;\n\n var altColor: vec4<f32> = vec4<f32>(color.rgb / color.a, color.a);\n let innerWidth: f32 = colorMapUniforms.uSize - 1.0;\n let zSlice0: f32 = min(floor(color.b * innerWidth), innerWidth);\n let zSlice1: f32 = min(zSlice0 + 1.0, innerWidth);\n let xOffset: f32 = colorMapUniforms.uSlicePixelSize * 0.5 + color.r * colorMapUniforms.uSliceInnerSize;\n let s0: f32 = xOffset + (zSlice0 * colorMapUniforms.uSliceSize);\n let s1: f32 = xOffset + (zSlice1 * colorMapUniforms.uSliceSize);\n let yOffset: f32 = colorMapUniforms.uSliceSize * 0.5 + color.g * (1.0 - colorMapUniforms.uSliceSize);\n let slice0Color: vec4<f32> = textureSample(uMapTexture, uMapSampler, vec2(s0,yOffset));\n let slice1Color: vec4<f32> = textureSample(uMapTexture, uMapSampler, vec2(s1,yOffset));\n let zOffset: f32 = fract(color.b * innerWidth);\n adjusted = mix(slice0Color, slice1Color, zOffset);\n altColor = vec4<f32>(color.rgb * color.a, color.a);\n\n let realColor: vec4<f32> = select(color, altColor, color.a > 0.0);\n\n return vec4<f32>(mix(realColor, adjusted, colorMapUniforms.uMix).rgb, realColor.a);\n}",eE=Object.defineProperty,eC=(e,t,r)=>t in e?eE(e,t,{enumerable:!0,configurable:!0,writable:!0,value:r}):e[t]=r,eO=(e,t,r)=>(eC(e,"symbol"!=typeof t?t+"":t,r),r);let ek=class e extends i.dJT{constructor(...t){let r=t[0]??{};if((r instanceof i.gPd||r instanceof i.v9C)&&((0,i.t66)("6.0.0","ColorMapFilter constructor params are now options object. See params: { colorMap, nearest, mix }"),r={colorMap:r},void 0!==t[1]&&(r.nearest=t[1]),void 0!==t[2]&&(r.mix=t[2])),!(r={...e.DEFAULT_OPTIONS,...r}).colorMap)throw Error("No color map texture source was provided to ColorMapFilter");super({gpuProgram:i.BrD.from({vertex:{source:a,entryPoint:"mainVertex"},fragment:{source:eA,entryPoint:"mainFragment"}}),glProgram:i.M2g.from({vertex:o,fragment:eS,name:"color-map-filter"}),resources:{colorMapUniforms:{uMix:{value:r.mix,type:"f32"},uSize:{value:0,type:"f32"},uSliceSize:{value:0,type:"f32"},uSlicePixelSize:{value:0,type:"f32"},uSliceInnerSize:{value:0,type:"f32"}},uMapTexture:r.colorMap.source,uMapSampler:r.colorMap.source.style}}),eO(this,"uniforms"),eO(this,"_size",0),eO(this,"_sliceSize",0),eO(this,"_slicePixelSize",0),eO(this,"_sliceInnerSize",0),eO(this,"_nearest",!1),eO(this,"_scaleMode","linear"),eO(this,"_colorMap"),this.uniforms=this.resources.colorMapUniforms.uniforms,Object.assign(this,r)}get mix(){return this.uniforms.uMix}set mix(e){this.uniforms.uMix=e}get colorSize(){return this._size}get colorMap(){return this._colorMap}set colorMap(e){if(!e||e===this.colorMap)return;let t=e instanceof i.gPd?e.source:e;t.style.scaleMode=this._scaleMode,t.autoGenerateMipmaps=!1,this._size=t.height,this._sliceSize=1/this._size,this._slicePixelSize=this._sliceSize/this._size,this._sliceInnerSize=this._slicePixelSize*(this._size-1),this.uniforms.uSize=this._size,this.uniforms.uSliceSize=this._sliceSize,this.uniforms.uSlicePixelSize=this._slicePixelSize,this.uniforms.uSliceInnerSize=this._sliceInnerSize,this.resources.uMapTexture=t,this._colorMap=e}get nearest(){return this._nearest}set nearest(e){this._nearest=e,this._scaleMode=e?"nearest":"linear";let t=this._colorMap;t&&t.source&&(t.source.scaleMode=this._scaleMode,t.source.autoGenerateMipmaps=!1,t.source.style.update(),t.source.update())}updateColorMap(){let e=this._colorMap;e?.source&&(e.source.update(),this.colorMap=e)}destroy(){this._colorMap?.destroy(),super.destroy()}};eO(ek,"DEFAULT_OPTIONS",{colorMap:i.gPd.WHITE,nearest:!1,mix:1});var eI="in vec2 vTextureCoord;\nout vec4 finalColor;\n\nuniform sampler2D uTexture;\nuniform vec3 uColor;\nuniform float uAlpha;\n\nvoid main(void) {\n vec4 c = texture(uTexture, vTextureCoord);\n finalColor = vec4(mix(c.rgb, uColor.rgb, c.a * uAlpha), c.a);\n}\n",eT="struct ColorOverlayUniforms {\n uColor: vec3<f32>,\n uAlpha: f32,\n};\n\n@group(0) @binding(1) var uTexture: texture_2d<f32>; \n@group(0) @binding(2) var uSampler: sampler;\n@group(1) @binding(0) var<uniform> colorOverlayUniforms : ColorOverlayUniforms;\n\n@fragment\nfn mainFragment(\n @builtin(position) position: vec4<f32>,\n @location(0) uv : vec2<f32>\n) -> @location(0) vec4<f32> {\n let c = textureSample(uTexture, uSampler, uv);\n return vec4<f32>(mix(c.rgb, colorOverlayUniforms.uColor.rgb, c.a * colorOverlayUniforms.uAlpha), c.a);\n}\n",eP=Object.defineProperty,eM=(e,t,r)=>t in e?eP(e,t,{enumerable:!0,configurable:!0,writable:!0,value:r}):e[t]=r,eR=(e,t,r)=>(eM(e,"symbol"!=typeof t?t+"":t,r),r);let e$=class e extends i.dJT{constructor(...t){let r=t[0]??{};("number"==typeof r||Array.isArray(r)||r instanceof Float32Array)&&((0,i.t66)("6.0.0","ColorOverlayFilter constructor params are now options object. See params: { color, alpha }"),r={color:r},void 0!==t[1]&&(r.alpha=t[1])),super({gpuProgram:i.BrD.from({vertex:{source:a,entryPoint:"mainVertex"},fragment:{source:eT,entryPoint:"mainFragment"}}),glProgram:i.M2g.from({vertex:o,fragment:eI,name:"color-overlay-filter"}),resources:{colorOverlayUniforms:{uColor:{value:new Float32Array(3),type:"vec3<f32>"},uAlpha:{value:(r={...e.DEFAULT_OPTIONS,...r}).alpha,type:"f32"}}}}),eR(this,"uniforms"),eR(this,"_color"),this.uniforms=this.resources.colorOverlayUniforms.uniforms,this._color=new i.Q1f,this.color=r.color??0}get color(){return this._color.value}set color(e){this._color.setValue(e);let[t,r,n]=this._color.toArray();this.uniforms.uColor[0]=t,this.uniforms.uColor[1]=r,this.uniforms.uColor[2]=n}get alpha(){return this.uniforms.uAlpha}set alpha(e){this.uniforms.uAlpha=e}};eR(e$,"DEFAULT_OPTIONS",{color:0,alpha:1});var ej="in vec2 vTextureCoord;\nout vec4 finalColor;\n\nuniform sampler2D uTexture;\nuniform vec3 uOriginalColor;\nuniform vec3 uTargetColor;\nuniform float uTolerance;\n\nvoid main(void) {\n vec4 c = texture(uTexture, vTextureCoord);\n vec3 colorDiff = uOriginalColor - (c.rgb / max(c.a, 0.0000000001));\n float colorDistance = length(colorDiff);\n float doReplace = step(colorDistance, uTolerance);\n finalColor = vec4(mix(c.rgb, (uTargetColor + colorDiff) * c.a, doReplace), c.a);\n}\n",eN="struct ColorReplaceUniforms {\n uOriginalColor: vec3<f32>,\n uTargetColor: vec3<f32>,\n uTolerance: f32,\n};\n\n@group(0) @binding(1) var uTexture: texture_2d<f32>; \n@group(0) @binding(2) var uSampler: sampler;\n@group(1) @binding(0) var<uniform> colorReplaceUniforms : ColorReplaceUniforms;\n\n@fragment\nfn mainFragment(\n @builtin(position) position: vec4<f32>,\n @location(0) uv : vec2<f32>\n) -> @location(0) vec4<f32> {\n let sample: vec4<f32> = textureSample(uTexture, uSampler, uv);\n\n let colorDiff: vec3<f32> = colorReplaceUniforms.uOriginalColor - (sample.rgb / max(sample.a, 0.0000000001));\n let colorDistance: f32 = length(colorDiff);\n let doReplace: f32 = step(colorDistance, colorReplaceUniforms.uTolerance);\n\n return vec4<f32>(mix(sample.rgb, (colorReplaceUniforms.uTargetColor + colorDiff) * sample.a, doReplace), sample.a);\n}",eB=Object.defineProperty,eL=(e,t,r)=>t in e?eB(e,t,{enumerable:!0,configurable:!0,writable:!0,value:r}):e[t]=r,ez=(e,t,r)=>(eL(e,"symbol"!=typeof t?t+"":t,r),r);let eF=class e extends i.dJT{constructor(...t){let r=t[0]??{};("number"==typeof r||Array.isArray(r)||r instanceof Float32Array)&&((0,i.t66)("6.0.0","ColorReplaceFilter constructor params are now options object. See params: { originalColor, targetColor, tolerance }"),r={originalColor:r},void 0!==t[1]&&(r.targetColor=t[1]),void 0!==t[2]&&(r.tolerance=t[2])),super({gpuProgram:i.BrD.from({vertex:{source:a,entryPoint:"mainVertex"},fragment:{source:eN,entryPoint:"mainFragment"}}),glProgram:i.M2g.from({vertex:o,fragment:ej,name:"color-replace-filter"}),resources:{colorReplaceUniforms:{uOriginalColor:{value:new Float32Array(3),type:"vec3<f32>"},uTargetColor:{value:new Float32Array(3),type:"vec3<f32>"},uTolerance:{value:(r={...e.DEFAULT_OPTIONS,...r}).tolerance,type:"f32"}}}}),ez(this,"uniforms"),ez(this,"_originalColor"),ez(this,"_targetColor"),this.uniforms=this.resources.colorReplaceUniforms.uniforms,this._originalColor=new i.Q1f,this._targetColor=new i.Q1f,this.originalColor=r.originalColor??0xff0000,this.targetColor=r.targetColor??0,Object.assign(this,r)}get originalColor(){return this._originalColor.value}set originalColor(e){this._originalColor.setValue(e);let[t,r,n]=this._originalColor.toArray();this.uniforms.uOriginalColor[0]=t,this.uniforms.uOriginalColor[1]=r,this.uniforms.uOriginalColor[2]=n}get targetColor(){return this._targetColor.value}set targetColor(e){this._targetColor.setValue(e);let[t,r,n]=this._targetColor.toArray();this.uniforms.uTargetColor[0]=t,this.uniforms.uTargetColor[1]=r,this.uniforms.uTargetColor[2]=n}get tolerance(){return this.uniforms.uTolerance}set tolerance(e){this.uniforms.uTolerance=e}set newColor(e){(0,i.t66)("6.0.0","ColorReplaceFilter.newColor is deprecated, please use ColorReplaceFilter.targetColor instead"),this.targetColor=e}get newColor(){return(0,i.t66)("6.0.0","ColorReplaceFilter.newColor is deprecated, please use ColorReplaceFilter.targetColor instead"),this.targetColor}set epsilon(e){(0,i.t66)("6.0.0","ColorReplaceFilter.epsilon is deprecated, please use ColorReplaceFilter.tolerance instead"),this.tolerance=e}get epsilon(){return(0,i.t66)("6.0.0","ColorReplaceFilter.epsilon is deprecated, please use ColorReplaceFilter.tolerance instead"),this.tolerance}};ez(eF,"DEFAULT_OPTIONS",{originalColor:0xff0000,targetColor:0,tolerance:.4});var eD="in vec2 vTextureCoord;\nout vec4 finalColor;\n\nuniform sampler2D uTexture;\nuniform vec2 uTexelSize;\nuniform mat3 uMatrix;\n\nvoid main(void)\n{\n vec4 c11 = texture(uTexture, vTextureCoord - uTexelSize); // top left\n vec4 c12 = texture(uTexture, vec2(vTextureCoord.x, vTextureCoord.y - uTexelSize.y)); // top center\n vec4 c13 = texture(uTexture, vec2(vTextureCoord.x + uTexelSize.x, vTextureCoord.y - uTexelSize.y)); // top right\n\n vec4 c21 = texture(uTexture, vec2(vTextureCoord.x - uTexelSize.x, vTextureCoord.y)); // mid left\n vec4 c22 = texture(uTexture, vTextureCoord); // mid center\n vec4 c23 = texture(uTexture, vec2(vTextureCoord.x + uTexelSize.x, vTextureCoord.y)); // mid right\n\n vec4 c31 = texture(uTexture, vec2(vTextureCoord.x - uTexelSize.x, vTextureCoord.y + uTexelSize.y)); // bottom left\n vec4 c32 = texture(uTexture, vec2(vTextureCoord.x, vTextureCoord.y + uTexelSize.y)); // bottom center\n vec4 c33 = texture(uTexture, vTextureCoord + uTexelSize); // bottom right\n\n finalColor =\n c11 * uMatrix[0][0] + c12 * uMatrix[0][1] + c13 * uMatrix[0][2] +\n c21 * uMatrix[1][0] + c22 * uMatrix[1][1] + c23 * uMatrix[1][2] +\n c31 * uMatrix[2][0] + c32 * uMatrix[2][1] + c33 * uMatrix[2][2];\n\n finalColor.a = c22.a;\n}",eU="struct ConvolutionUniforms {\n uMatrix: mat3x3<f32>,\n uTexelSize: vec2<f32>,\n};\n\n@group(0) @binding(1) var uTexture: texture_2d<f32>; \n@group(0) @binding(2) var uSampler: sampler;\n@group(1) @binding(0) var<uniform> convolutionUniforms : ConvolutionUniforms;\n\n@fragment\nfn mainFragment(\n @location(0) uv: vec2<f32>,\n @builtin(position) position: vec4<f32>\n) -> @location(0) vec4<f32> {\n let texelSize = convolutionUniforms.uTexelSize;\n let matrix = convolutionUniforms.uMatrix;\n\n let c11: vec4<f32> = textureSample(uTexture, uSampler, uv - texelSize); // top left\n let c12: vec4<f32> = textureSample(uTexture, uSampler, vec2<f32>(uv.x, uv.y - texelSize.y)); // top center\n let c13: vec4<f32> = textureSample(uTexture, uSampler, vec2<f32>(uv.x + texelSize.x, uv.y - texelSize.y)); // top right\n\n let c21: vec4<f32> = textureSample(uTexture, uSampler, vec2<f32>(uv.x - texelSize.x, uv.y)); // mid left\n let c22: vec4<f32> = textureSample(uTexture, uSampler, uv); // mid center\n let c23: vec4<f32> = textureSample(uTexture, uSampler, vec2<f32>(uv.x + texelSize.x, uv.y)); // mid right\n\n let c31: vec4<f32> = textureSample(uTexture, uSampler, vec2<f32>(uv.x - texelSize.x, uv.y + texelSize.y)); // bottom left\n let c32: vec4<f32> = textureSample(uTexture, uSampler, vec2<f32>(uv.x, uv.y + texelSize.y)); // bottom center\n let c33: vec4<f32> = textureSample(uTexture, uSampler, uv + texelSize); // bottom right\n\n var finalColor: vec4<f32> = vec4<f32>(\n c11 * matrix[0][0] + c12 * matrix[0][1] + c13 * matrix[0][2] +\n c21 * matrix[1][0] + c22 * matrix[1][1] + c23 * matrix[1][2] +\n c31 * matrix[2][0] + c32 * matrix[2][1] + c33 * matrix[2][2]\n );\n\n finalColor.a = c22.a;\n\n return finalColor;\n}",eH=Object.defineProperty,eG=(e,t,r)=>t in e?eH(e,t,{enumerable:!0,configurable:!0,writable:!0,value:r}):e[t]=r,eW=(e,t,r)=>(eG(e,"symbol"!=typeof t?t+"":t,r),r);let eV=class e extends i.dJT{constructor(...t){let r=t[0]??{};Array.isArray(r)&&((0,i.t66)("6.0.0","ConvolutionFilter constructor params are now options object. See params: { matrix, width, height }"),r={matrix:r},void 0!==t[1]&&(r.width=t[1]),void 0!==t[2]&&(r.height=t[2]));const n=(r={...e.DEFAULT_OPTIONS,...r}).width??200,s=r.height??200;super({gpuProgram:i.BrD.from({vertex:{source:a,entryPoint:"mainVertex"},fragment:{source:eU,entryPoint:"mainFragment"}}),glProgram:i.M2g.from({vertex:o,fragment:eD,name:"convolution-filter"}),resources:{convolutionUniforms:{uMatrix:{value:r.matrix,type:"mat3x3<f32>"},uTexelSize:{value:{x:1/n,y:1/s},type:"vec2<f32>"}}}}),eW(this,"uniforms"),this.uniforms=this.resources.convolutionUniforms.uniforms,this.width=n,this.height=s}get matrix(){return this.uniforms.uMatrix}set matrix(e){e.forEach((e,t)=>{this.uniforms.uMatrix[t]=e})}get width(){return 1/this.uniforms.uTexelSize.x}set width(e){this.uniforms.uTexelSize.x=1/e}get height(){return 1/this.uniforms.uTexelSize.y}set height(e){this.uniforms.uTexelSize.y=1/e}};eW(eV,"DEFAULT_OPTIONS",{matrix:new Float32Array(9),width:200,height:200});i.dJT;var eq="precision highp float;\nin vec2 vTextureCoord;\nout vec4 finalColor;\n\nuniform sampler2D uTexture;\nuniform vec4 uLine;\nuniform vec2 uNoise;\nuniform vec3 uVignette;\nuniform float uSeed;\nuniform float uTime;\nuniform vec2 uDimensions;\n\nuniform vec4 uInputSize;\n\nconst float SQRT_2 = 1.414213;\n\nfloat rand(vec2 co) {\n return fract(sin(dot(co.xy, vec2(12.9898, 78.233))) * 43758.5453);\n}\n\nfloat vignette(vec3 co, vec2 coord)\n{\n float outter = SQRT_2 - uVignette[0] * SQRT_2;\n vec2 dir = vec2(0.5) - coord;\n dir.y *= uDimensions.y / uDimensions.x;\n float darker = clamp((outter - length(dir) * SQRT_2) / ( 0.00001 + uVignette[2] * SQRT_2), 0.0, 1.0);\n return darker + (1.0 - darker) * (1.0 - uVignette[1]);\n}\n\nfloat noise(vec2 coord)\n{\n vec2 pixelCoord = coord * uInputSize.xy;\n pixelCoord.x = floor(pixelCoord.x / uNoise[1]);\n pixelCoord.y = floor(pixelCoord.y / uNoise[1]);\n return (rand(pixelCoord * uNoise[1] * uSeed) - 0.5) * uNoise[0];\n}\n\nvec3 interlaceLines(vec3 co, vec2 coord)\n{\n vec3 color = co;\n\n float curvature = uLine[0];\n float lineWidth = uLine[1];\n float lineContrast = uLine[2];\n float verticalLine = uLine[3];\n\n vec2 dir = vec2(coord * uInputSize.xy / uDimensions - 0.5);\n\n float _c = curvature > 0. ? curvature : 1.;\n float k = curvature > 0. ? (length(dir * dir) * 0.25 * _c * _c + 0.935 * _c) : 1.;\n vec2 uv = dir * k;\n float v = verticalLine > 0.5 ? uv.x * uDimensions.x : uv.y * uDimensions.y;\n v *= min(1.0, 2.0 / lineWidth ) / _c;\n float j = 1. + cos(v * 1.2 - uTime) * 0.5 * lineContrast;\n color *= j;\n\n float segment = verticalLine > 0.5 ? mod((dir.x + .5) * uDimensions.x, 4.) : mod((dir.y + .5) * uDimensions.y, 4.);\n color *= 0.99 + ceil(segment) * 0.015;\n\n return color;\n}\n\nvoid main(void)\n{\n finalColor = texture(uTexture, vTextureCoord);\n vec2 coord = vTextureCoord * uInputSize.xy / uDimensions;\n\n if (uNoise[0] > 0.0 && uNoise[1] > 0.0)\n {\n float n = noise(vTextureCoord);\n finalColor += vec4(n, n, n, finalColor.a);\n }\n\n if (uVignette[0] > 0.)\n {\n float v = vignette(finalColor.rgb, coord);\n finalColor *= vec4(v, v, v, finalColor.a);\n }\n\n if (uLine[1] > 0.0)\n {\n finalColor = vec4(interlaceLines(finalColor.rgb, vTextureCoord), finalColor.a); \n }\n}\n",eX="struct CRTUniforms {\n uLine: vec4<f32>,\n uNoise: vec2<f32>,\n uVignette: vec3<f32>,\n uSeed: f32,\n uTime: f32,\n uDimensions: vec2<f32>,\n};\n\nstruct GlobalFilterUniforms {\n uInputSize:vec4<f32>,\n uInputPixel:vec4<f32>,\n uInputClamp:vec4<f32>,\n uOutputFrame:vec4<f32>,\n uGlobalFrame:vec4<f32>,\n uOutputTexture:vec4<f32>,\n};\n\n@group(0) @binding(0) var<uniform> gfu: GlobalFilterUniforms;\n\n@group(0) @binding(1) var uTexture: texture_2d<f32>; \n@group(0) @binding(2) var uSampler: sampler;\n@group(1) @binding(0) var<uniform> crtUniforms : CRTUniforms;\n\n@fragment\nfn mainFragment(\n @builtin(position) position: vec4<f32>,\n @location(0) uv : vec2<f32>\n) -> @location(0) vec4<f32> {\n \n var color: vec4<f32> = textureSample(uTexture, uSampler, uv);\n let coord: vec2<f32> = uv * gfu.uInputSize.xy / crtUniforms.uDimensions;\n\n let uNoise = crtUniforms.uNoise;\n\n if (uNoise[0] > 0.0 && uNoise[1] > 0.0)\n {\n color += vec4<f32>(vec3<f32>(noise(uv)), color.a);\n }\n\n if (crtUniforms.uVignette[0] > 0.)\n {\n color *= vec4<f32>(vec3<f32>(vignette(color.rgb, coord)), color.a);\n }\n\n if (crtUniforms.uLine[1] > 0.0)\n {\n color = vec4<f32>(vec3<f32>(interlaceLines(color.rgb, uv)), color.a); \n }\n\n return color;\n}\n\nconst SQRT_2: f32 = 1.414213;\n\nfn modulo(x: f32, y: f32) -> f32\n{\n return x - y * floor(x/y);\n}\n\nfn rand(co: vec2<f32>) -> f32\n{\n return fract(sin(dot(co, vec2<f32>(12.9898, 78.233))) * 43758.5453);\n}\n\nfn vignette(co: vec3<f32>, coord: vec2<f32>) -> f32\n{\n let uVignette = crtUniforms.uVignette;\n let uDimensions = crtUniforms.uDimensions;\n \n let outter: f32 = SQRT_2 - uVignette[0] * SQRT_2;\n var dir: vec2<f32> = vec2<f32>(0.5) - coord;\n dir.y *= uDimensions.y / uDimensions.x;\n let darker: f32 = clamp((outter - length(dir) * SQRT_2) / ( 0.00001 + uVignette[2] * SQRT_2), 0.0, 1.0);\n return darker + (1.0 - darker) * (1.0 - uVignette[1]);\n}\n\nfn noise(coord: vec2<f32>) -> f32\n{\n let uNoise = crtUniforms.uNoise;\n let uSeed = crtUniforms.uSeed;\n\n var pixelCoord: vec2<f32> = coord * gfu.uInputSize.xy;\n pixelCoord.x = floor(pixelCoord.x / uNoise[1]);\n pixelCoord.y = floor(pixelCoord.y / uNoise[1]);\n return (rand(pixelCoord * uNoise[1] * uSeed) - 0.5) * uNoise[0];\n}\n\nfn interlaceLines(co: vec3<f32>, coord: vec2<f32>) -> vec3<f32>\n{\n var color = co;\n\n let uDimensions = crtUniforms.uDimensions;\n\n let curvature: f32 = crtUniforms.uLine[0];\n let lineWidth: f32 = crtUniforms.uLine[1];\n let lineContrast: f32 = crtUniforms.uLine[2];\n let verticalLine: f32 = crtUniforms.uLine[3];\n\n let dir: vec2<f32> = vec2<f32>(coord * gfu.uInputSize.xy / uDimensions - 0.5);\n\n let _c: f32 = select(1., curvature, curvature > 0.);\n let k: f32 = select(1., (length(dir * dir) * 0.25 * _c * _c + 0.935 * _c), curvature > 0.);\n let uv: vec2<f32> = dir * k;\n let v: f32 = select(uv.y * uDimensions.y, uv.x * uDimensions.x, verticalLine > 0.5) * min(1.0, 2.0 / lineWidth ) / _c;\n let j: f32 = 1. + cos(v * 1.2 - crtUniforms.uTime) * 0.5 * lineContrast;\n color *= j;\n\n let segment: f32 = select(modulo((dir.y + .5) * uDimensions.y, 4.), modulo((dir.x + .5) * uDimensions.x, 4.), verticalLine > 0.5);\n color *= 0.99 + ceil(segment) * 0.015;\n\n return color;\n}",eY=Object.defineProperty,eZ=(e,t,r)=>t in e?eY(e,t,{enumerable:!0,configurable:!0,writable:!0,value:r}):e[t]=r,eK=(e,t,r)=>(eZ(e,"symbol"!=typeof t?t+"":t,r),r);let eJ=class e extends i.dJT{constructor(t){t={...e.DEFAULT_OPTIONS,...t},super({gpuProgram:i.BrD.from({vertex:{source:a,entryPoint:"mainVertex"},fragment:{source:eX,entryPoint:"mainFragment"}}),glProgram:i.M2g.from({vertex:o,fragment:eq,name:"crt-filter"}),resources:{crtUniforms:{uLine:{value:new Float32Array(4),type:"vec4<f32>"},uNoise:{value:new Float32Array(2),type:"vec2<f32>"},uVignette:{value:new Float32Array(3),type:"vec3<f32>"},uSeed:{value:t.seed,type:"f32"},uTime:{value:t.time,type:"f32"},uDimensions:{value:new Float32Array(2),type:"vec2<f32>"}}}}),eK(this,"uniforms"),eK(this,"seed"),eK(this,"time"),this.uniforms=this.resources.crtUniforms.uniforms,Object.assign(this,t)}apply(e,t,r,n){this.uniforms.uDimensions[0]=t.frame.width,this.uniforms.uDimensions[1]=t.frame.height,this.uniforms.uSeed=this.seed,this.uniforms.uTime=this.time,e.applyFilter(this,t,r,n)}get curvature(){return this.uniforms.uLine[0]}set curvature(e){this.uniforms.uLine[0]=e}get lineWidth(){return this.uniforms.uLine[1]}set lineWidth(e){this.uniforms.uLine[1]=e}get lineContrast(){return this.uniforms.uLine[2]}set lineContrast(e){this.uniforms.uLine[2]=e}get verticalLine(){return this.uniforms.uLine[3]>.5}set verticalLine(e){this.uniforms.uLine[3]=+!!e}get noise(){return this.uniforms.uNoise[0]}set noise(e){this.uniforms.uNoise[0]=e}get noiseSize(){return this.uniforms.uNoise[1]}set noiseSize(e){this.uniforms.uNoise[1]=e}get vignetting(){return this.uniforms.uVignette[0]}set vignetting(e){this.uniforms.uVignette[0]=e}get vignettingAlpha(){return this.uniforms.uVignette[1]}set vignettingAlpha(e){this.uniforms.uVignette[1]=e}get vignettingBlur(){return this.uniforms.uVignette[2]}set vignettingBlur(e){this.uniforms.uVignette[2]=e}};eK(eJ,"DEFAULT_OPTIONS",{curvature:1,lineWidth:1,lineContrast:.25,verticalLine:!1,noise:0,noiseSize:1,vignetting:.3,vignettingAlpha:1,vignettingBlur:.3,time:0,seed:0});var eQ="precision highp float;\nin vec2 vTextureCoord;\nout vec4 finalColor;\n\nuniform sampler2D uTexture;\nuniform float uAngle;\nuniform float uScale;\nuniform bool uGrayScale;\n\nuniform vec4 uInputSize;\n\nfloat pattern()\n{\n float s = sin(uAngle), c = cos(uAngle);\n vec2 tex = vTextureCoord * uInputSize.xy;\n vec2 point = vec2(\n c * tex.x - s * tex.y,\n s * tex.x + c * tex.y\n ) * uScale;\n return (sin(point.x) * sin(point.y)) * 4.0;\n }\n\n void main()\n {\n vec4 color = texture(uTexture, vTextureCoord);\n vec3 colorRGB = vec3(color);\n\n if (uGrayScale)\n {\n colorRGB = vec3(color.r + color.g + color.b) / 3.0;\n }\n\n finalColor = vec4(colorRGB * 10.0 - 5.0 + pattern(), color.a);\n}\n",e0="struct DotUniforms {\n uScale:f32,\n uAngle:f32,\n uGrayScale:f32,\n};\n\nstruct GlobalFilterUniforms {\n uInputSize:vec4<f32>,\n uInputPixel:vec4<f32>,\n uInputClamp:vec4<f32>,\n uOutputFrame:vec4<f32>,\n uGlobalFrame:vec4<f32>,\n uOutputTexture:vec4<f32>,\n};\n\n@group(0) @binding(0) var<uniform> gfu: GlobalFilterUniforms;\n\n@group(0) @binding(1) var uTexture: texture_2d<f32>; \n@group(0) @binding(2) var uSampler: sampler;\n@group(1) @binding(0) var<uniform> dotUniforms : DotUniforms;\n\n@fragment\nfn mainFragment(\n @location(0) uv: vec2<f32>,\n @builtin(position) position: vec4<f32>\n) -> @location(0) vec4<f32> {\n let color: vec4<f32> = textureSample(uTexture, uSampler, uv);\n let gray: vec3<f32> = vec3<f32>(dot(color.rgb, vec3<f32>(0.299, 0.587, 0.114)));\n // dotUniforms.uGrayScale == 1 doesn't ever pass so it is converted to a float and compared to 0.5 instead \n let finalColor: vec3<f32> = select(color.rgb, gray, f32(dotUniforms.uGrayScale) >= 0.5);\n\n return vec4<f32>(finalColor * 10.0 - 5.0 + pattern(uv), color.a);\n}\n\nfn pattern(uv: vec2<f32>) -> f32\n{\n let s: f32 = sin(dotUniforms.uAngle);\n let c: f32 = cos(dotUniforms.uAngle);\n \n let tex: vec2<f32> = uv * gfu.uInputSize.xy;\n \n let p: vec2<f32> = vec2<f32>(\n c * tex.x - s * tex.y,\n s * tex.x + c * tex.y\n ) * dotUniforms.uScale;\n\n return (sin(p.x) * sin(p.y)) * 4.0;\n}",e1=Object.defineProperty,e2=(e,t,r)=>t in e?e1(e,t,{enumerable:!0,configurable:!0,writable:!0,value:r}):e[t]=r;e2(class e extends i.dJT{constructor(...t){let r=t[0]??{};"number"==typeof r&&((0,i.t66)("6.0.0","DotFilter constructor params are now options object. See params: { scale, angle, grayscale }"),r={scale:r},void 0!==t[1]&&(r.angle=t[1]),void 0!==t[2]&&(r.grayscale=t[2])),super({gpuProgram:i.BrD.from({vertex:{source:a,entryPoint:"mainVertex"},fragment:{source:e0,entryPoint:"mainFragment"}}),glProgram:i.M2g.from({vertex:o,fragment:eQ,name:"dot-filter"}),resources:{dotUniforms:{uScale:{value:(r={...e.DEFAULT_OPTIONS,...r}).scale,type:"f32"},uAngle:{value:r.angle,type:"f32"},uGrayScale:{value:+!!r.grayscale,type:"f32"}}}})}get scale(){return this.resources.dotUniforms.uniforms.uScale}set scale(e){this.resources.dotUniforms.uniforms.uScale=e}get angle(){return this.resources.dotUniforms.uniforms.uAngle}set angle(e){this.resources.dotUniforms.uniforms.uAngle=e}get grayscale(){return 1===this.resources.dotUniforms.uniforms.uGrayScale}set grayscale(e){this.resources.dotUniforms.uniforms.uGrayScale=+!!e}},"symbol"!=typeof(n="DEFAULT_OPTIONS")?n+"":n,{scale:1,angle:5,grayscale:!0});var e3="precision highp float;\nin vec2 vTextureCoord;\nout vec4 finalColor;\n\nuniform sampler2D uTexture;\nuniform float uAlpha;\nuniform vec3 uColor;\nuniform vec2 uOffset;\n\nuniform vec4 uInputSize;\n\nvoid main(void){\n vec4 sample = texture(uTexture, vTextureCoord - uOffset * uInputSize.zw);\n\n // Premultiply alpha\n sample.rgb = uColor.rgb * sample.a;\n\n // alpha user alpha\n sample *= uAlpha;\n\n finalColor = sample;\n}",e5="struct DropShadowUniforms {\n uAlpha: f32,\n uColor: vec3<f32>,\n uOffset: vec2<f32>,\n};\n\nstruct GlobalFilterUniforms {\n uInputSize:vec4<f32>,\n uInputPixel:vec4<f32>,\n uInputClamp:vec4<f32>,\n uOutputFrame:vec4<f32>,\n uGlobalFrame:vec4<f32>,\n uOutputTexture:vec4<f32>,\n};\n\n@group(0) @binding(0) var<uniform> gfu: GlobalFilterUniforms;\n\n@group(0) @binding(1) var uTexture: texture_2d<f32>; \n@group(0) @binding(2) var uSampler: sampler;\n@group(1) @binding(0) var<uniform> dropShadowUniforms : DropShadowUniforms;\n\n@fragment\nfn mainFragment(\n @builtin(position) position: vec4<f32>,\n @location(0) uv : vec2<f32>\n) -> @location(0) vec4<f32> {\n var color: vec4<f32> = textureSample(uTexture, uSampler, uv - dropShadowUniforms.uOffset * gfu.uInputSize.zw);\n\n // Premultiply alpha\n color = vec4<f32>(vec3<f32>(dropShadowUniforms.uColor.rgb * color.a), color.a);\n // alpha user alpha\n color *= dropShadowUniforms.uAlpha;\n\n return color;\n}",e4=Object.defineProperty,e6=(e,t,r)=>t in e?e4(e,t,{enumerable:!0,configurable:!0,writable:!0,value:r}):e[t]=r,e8=(e,t,r)=>(e6(e,"symbol"!=typeof t?t+"":t,r),r);let e9=class e extends i.dJT{constructor(t){t={...e.DEFAULT_OPTIONS,...t},super({gpuProgram:i.BrD.from({vertex:{source:a,entryPoint:"mainVertex"},fragment:{source:e5,entryPoint:"mainFragment"}}),glProgram:i.M2g.from({vertex:o,fragment:e3,name:"drop-shadow-filter"}),resources:{dropShadowUniforms:{uAlpha:{value:t.alpha,type:"f32"},uColor:{value:new Float32Array(3),type:"vec3<f32>"},uOffset:{value:t.offset,type:"vec2<f32>"}}},resolution:t.resolution}),e8(this,"uniforms"),e8(this,"shadowOnly",!1),e8(this,"_color"),e8(this,"_blurFilter"),e8(this,"_basePass"),this.uniforms=this.resources.dropShadowUniforms.uniforms,this._color=new i.Q1f,this.color=t.color??0,this._blurFilter=new w({strength:t.kernels??t.blur,quality:t.kernels?void 0:t.quality}),this._basePass=new i.dJT({gpuProgram:i.BrD.from({vertex:{source:a,entryPoint:"mainVertex"},fragment:{source:`
|
|
327
327
|
@group(0) @binding(1) var uTexture: texture_2d<f32>;
|
|
328
328
|
@group(0) @binding(2) var uSampler: sampler;
|
|
329
329
|
@fragment
|
|
@@ -341,7 +341,7 @@ ${tB(e)}`);return{...s,id:a,type:o,function:{...c,name:u,arguments:l}}})}}:{...o
|
|
|
341
341
|
void main(void){
|
|
342
342
|
finalColor = texture(uTexture, vTextureCoord);
|
|
343
343
|
}
|
|
344
|
-
`,name:"drop-shadow-filter"}),resources:{}}),Object.assign(this,t)}apply(e,t,r,n){let o=i.Wny.getSameSizeTexture(t);e.applyFilter(this,t,o,!0),this._blurFilter.apply(e,o,r,n),this.shadowOnly||e.applyFilter(this._basePass,t,r,!1),i.Wny.returnTexture(o)}get offset(){return this.uniforms.uOffset}set offset(e){this.uniforms.uOffset=e,this._updatePadding()}get offsetX(){return this.offset.x}set offsetX(e){this.offset.x=e,this._updatePadding()}get offsetY(){return this.offset.y}set offsetY(e){this.offset.y=e,this._updatePadding()}get color(){return this._color.value}set color(e){this._color.setValue(e);let[t,r,n]=this._color.toArray();this.uniforms.uColor[0]=t,this.uniforms.uColor[1]=r,this.uniforms.uColor[2]=n}get alpha(){return this.uniforms.uAlpha}set alpha(e){this.uniforms.uAlpha=e}get blur(){return this._blurFilter.strength}set blur(e){this._blurFilter.strength=e,this._updatePadding()}get quality(){return this._blurFilter.quality}set quality(e){this._blurFilter.quality=e,this._updatePadding()}get kernels(){return this._blurFilter.kernels}set kernels(e){this._blurFilter.kernels=e}get pixelSize(){return this._blurFilter.pixelSize}set pixelSize(e){"number"==typeof e&&(e={x:e,y:e}),Array.isArray(e)&&(e={x:e[0],y:e[1]}),this._blurFilter.pixelSize=e}get pixelSizeX(){return this._blurFilter.pixelSizeX}set pixelSizeX(e){this._blurFilter.pixelSizeX=e}get pixelSizeY(){return this._blurFilter.pixelSizeY}set pixelSizeY(e){this._blurFilter.pixelSizeY=e}_updatePadding(){let e=Math.max(Math.abs(this.offsetX),Math.abs(this.offsetY));this.padding=e+2*this.blur+4*this.quality}};e8(e9,"DEFAULT_OPTIONS",{offset:{x:4,y:4},color:0,alpha:.5,shadowOnly:!1,kernels:void 0,blur:2,quality:3,pixelSize:{x:1,y:1},resolution:1});let e7=e9;i.dJT;var te="precision highp float;\nin vec2 vTextureCoord;\nout vec4 finalColor;\n\nuniform sampler2D uTexture;\nuniform sampler2D uDisplacementMap;\nuniform float uSeed;\nuniform vec2 uDimensions;\nuniform float uAspect;\nuniform float uFillMode;\nuniform float uOffset;\nuniform float uDirection;\nuniform vec2 uRed;\nuniform vec2 uGreen;\nuniform vec2 uBlue;\n\nuniform vec4 uInputSize;\nuniform vec4 uInputClamp;\n\nconst int TRANSPARENT = 0;\nconst int ORIGINAL = 1;\nconst int LOOP = 2;\nconst int CLAMP = 3;\nconst int MIRROR = 4;\n\nvoid main(void)\n{\n vec2 coord = (vTextureCoord * uInputSize.xy) / uDimensions;\n\n if (coord.x > 1.0 || coord.y > 1.0) {\n return;\n }\n\n float sinDir = sin(uDirection);\n float cosDir = cos(uDirection);\n\n float cx = coord.x - 0.5;\n float cy = (coord.y - 0.5) * uAspect;\n float ny = (-sinDir * cx + cosDir * cy) / uAspect + 0.5;\n\n // displacementMap: repeat\n // ny = ny > 1.0 ? ny - 1.0 : (ny < 0.0 ? 1.0 + ny : ny);\n\n // displacementMap: mirror\n ny = ny > 1.0 ? 2.0 - ny : (ny < 0.0 ? -ny : ny);\n\n vec4 dc = texture(uDisplacementMap, vec2(0.5, ny));\n\n float displacement = (dc.r - dc.g) * (uOffset / uInputSize.x);\n\n coord = vTextureCoord + vec2(cosDir * displacement, sinDir * displacement * uAspect);\n\n int fillMode = int(uFillMode);\n\n if (fillMode == CLAMP) {\n coord = clamp(coord, uInputClamp.xy, uInputClamp.zw);\n } else {\n if( coord.x > uInputClamp.z ) {\n if (fillMode == TRANSPARENT) {\n discard;\n } else if (fillMode == LOOP) {\n coord.x -= uInputClamp.z;\n } else if (fillMode == MIRROR) {\n coord.x = uInputClamp.z * 2.0 - coord.x;\n }\n } else if( coord.x < uInputClamp.x ) {\n if (fillMode == TRANSPARENT) {\n discard;\n } else if (fillMode == LOOP) {\n coord.x += uInputClamp.z;\n } else if (fillMode == MIRROR) {\n coord.x *= -uInputClamp.z;\n }\n }\n\n if( coord.y > uInputClamp.w ) {\n if (fillMode == TRANSPARENT) {\n discard;\n } else if (fillMode == LOOP) {\n coord.y -= uInputClamp.w;\n } else if (fillMode == MIRROR) {\n coord.y = uInputClamp.w * 2.0 - coord.y;\n }\n } else if( coord.y < uInputClamp.y ) {\n if (fillMode == TRANSPARENT) {\n discard;\n } else if (fillMode == LOOP) {\n coord.y += uInputClamp.w;\n } else if (fillMode == MIRROR) {\n coord.y *= -uInputClamp.w;\n }\n }\n }\n\n finalColor.r = texture(uTexture, coord + uRed * (1.0 - uSeed * 0.4) / uInputSize.xy).r;\n finalColor.g = texture(uTexture, coord + uGreen * (1.0 - uSeed * 0.3) / uInputSize.xy).g;\n finalColor.b = texture(uTexture, coord + uBlue * (1.0 - uSeed * 0.2) / uInputSize.xy).b;\n finalColor.a = texture(uTexture, coord).a;\n}\n",tt="struct GlitchUniforms {\n uSeed: f32,\n uDimensions: vec2<f32>,\n uAspect: f32,\n uFillMode: f32,\n uOffset: f32,\n uDirection: f32,\n uRed: vec2<f32>,\n uGreen: vec2<f32>,\n uBlue: vec2<f32>,\n};\n\nstruct GlobalFilterUniforms {\n uInputSize:vec4<f32>,\n uInputPixel:vec4<f32>,\n uInputClamp:vec4<f32>,\n uOutputFrame:vec4<f32>,\n uGlobalFrame:vec4<f32>,\n uOutputTexture:vec4<f32>,\n};\n\n@group(0) @binding(0) var<uniform> gfu: GlobalFilterUniforms;\n\n@group(0) @binding(1) var uTexture: texture_2d<f32>; \n@group(0) @binding(2) var uSampler: sampler;\n@group(1) @binding(0) var<uniform> glitchUniforms : GlitchUniforms;\n@group(1) @binding(1) var uDisplacementMap: texture_2d<f32>; \n@group(1) @binding(2) var uDisplacementSampler: sampler; \n\n@fragment\nfn mainFragment(\n @builtin(position) position: vec4<f32>,\n @location(0) uv : vec2<f32>\n) -> @location(0) vec4<f32> {\n let uSeed: f32 = glitchUniforms.uSeed;\n let uDimensions: vec2<f32> = glitchUniforms.uDimensions;\n let uAspect: f32 = glitchUniforms.uAspect;\n let uOffset: f32 = glitchUniforms.uOffset;\n let uDirection: f32 = glitchUniforms.uDirection;\n let uRed: vec2<f32> = glitchUniforms.uRed;\n let uGreen: vec2<f32> = glitchUniforms.uGreen;\n let uBlue: vec2<f32> = glitchUniforms.uBlue;\n\n let uInputSize: vec4<f32> = gfu.uInputSize;\n let uInputClamp: vec4<f32> = gfu.uInputClamp;\n\n var discarded: bool = false;\n var coord: vec2<f32> = (uv * uInputSize.xy) / uDimensions;\n\n if (coord.x > 1.0 || coord.y > 1.0) {\n discarded = true;\n }\n\n let sinDir: f32 = sin(uDirection);\n let cosDir: f32 = cos(uDirection);\n\n let cx: f32 = coord.x - 0.5;\n let cy: f32 = (coord.y - 0.5) * uAspect;\n var ny: f32 = (-sinDir * cx + cosDir * cy) / uAspect + 0.5;\n\n ny = select(select(ny, -ny, ny < 0.0), 2.0 - ny, ny > 1.0);\n\n let dc: vec4<f32> = textureSample(uDisplacementMap, uDisplacementSampler, vec2<f32>(0.5, ny));\n\n let displacement: f32 = (dc.r - dc.g) * (uOffset / uInputSize.x);\n\n coord = uv + vec2<f32>(cosDir * displacement, sinDir * displacement * uAspect);\n\n let fillMode: i32 = i32(glitchUniforms.uFillMode);\n\n if (fillMode == CLAMP) {\n coord = clamp(coord, uInputClamp.xy, uInputClamp.zw);\n } else {\n if (coord.x > uInputClamp.z) {\n if (fillMode == TRANSPARENT) {\n discarded = true;\n } else if (fillMode == LOOP) {\n coord.x = coord.x - uInputClamp.z;\n } else if (fillMode == MIRROR) {\n coord.x = uInputClamp.z * 2.0 - coord.x;\n }\n } else if (coord.x < uInputClamp.x) {\n if (fillMode == TRANSPARENT) {\n discarded = true;\n } else if (fillMode == LOOP) {\n coord.x = coord.x + uInputClamp.z;\n } else if (fillMode == MIRROR) {\n coord.x = coord.x * -uInputClamp.z;\n }\n }\n\n if (coord.y > uInputClamp.w) {\n if (fillMode == TRANSPARENT) {\n discarded = true;\n } else if (fillMode == LOOP) {\n coord.y = coord.y - uInputClamp.w;\n } else if (fillMode == MIRROR) {\n coord.y = uInputClamp.w * 2.0 - coord.y;\n }\n } else if (coord.y < uInputClamp.y) {\n if (fillMode == TRANSPARENT) {\n discarded = true;\n } else if (fillMode == LOOP) {\n coord.y = coord.y + uInputClamp.w;\n } else if (fillMode == MIRROR) {\n coord.y = coord.y * -uInputClamp.w;\n }\n }\n }\n\n let seedR: f32 = 1.0 - uSeed * 0.4;\n let seedG: f32 = 1.0 - uSeed * 0.3;\n let seedB: f32 = 1.0 - uSeed * 0.2;\n\n let offsetR: vec2<f32> = vec2(uRed.x * seedR / uInputSize.x, uRed.y * seedR / uInputSize.y);\n let offsetG: vec2<f32> = vec2(uGreen.x * seedG / uInputSize.x, uGreen.y * seedG / uInputSize.y);\n let offsetB: vec2<f32> = vec2(uBlue.x * seedB / uInputSize.x, uBlue.y * seedB / uInputSize.y);\n\n let r = textureSample(uTexture, uSampler, coord + offsetR).r;\n let g = textureSample(uTexture, uSampler, coord + offsetG).g;\n let b = textureSample(uTexture, uSampler, coord + offsetB).b;\n let a = textureSample(uTexture, uSampler, coord).a;\n\n return select(vec4<f32>(r, g, b, a), vec4<f32>(0.0,0.0,0.0,0.0), discarded);\n}\n\nconst TRANSPARENT: i32 = 0;\nconst ORIGINAL: i32 = 1;\nconst LOOP: i32 = 2;\nconst CLAMP: i32 = 3;\nconst MIRROR: i32 = 4;",tr=Object.defineProperty,tn=(e,t,r)=>t in e?tr(e,t,{enumerable:!0,configurable:!0,writable:!0,value:r}):e[t]=r,ti=(e,t,r)=>(tn(e,"symbol"!=typeof t?t+"":t,r),r);let to=class e extends i.dJT{constructor(t){t={...e.defaults,...t};const r=i.BrD.from({vertex:{source:a,entryPoint:"mainVertex"},fragment:{source:tt,entryPoint:"mainFragment"}}),n=i.M2g.from({vertex:o,fragment:te,name:"glitch-filter"}),s=document.createElement("canvas");s.width=4,s.height=t.sampleSize??512;const l=new i.gPd({source:new i.bEs({resource:s})});super({gpuProgram:r,glProgram:n,resources:{glitchUniforms:{uSeed:{value:t?.seed??0,type:"f32"},uDimensions:{value:new Float32Array(2),type:"vec2<f32>"},uAspect:{value:1,type:"f32"},uFillMode:{value:t?.fillMode??0,type:"f32"},uOffset:{value:t?.offset??100,type:"f32"},uDirection:{value:t?.direction??0,type:"f32"},uRed:{value:t.red,type:"vec2<f32>"},uGreen:{value:t.green,type:"vec2<f32>"},uBlue:{value:t.blue,type:"vec2<f32>"}},uDisplacementMap:l.source,uDisplacementSampler:l.source.style}}),ti(this,"uniforms"),ti(this,"average",!1),ti(this,"minSize",8),ti(this,"sampleSize",512),ti(this,"_canvas"),ti(this,"texture"),ti(this,"_slices",0),ti(this,"_sizes",new Float32Array(1)),ti(this,"_offsets",new Float32Array(1)),this.uniforms=this.resources.glitchUniforms.uniforms,this._canvas=s,this.texture=l,Object.assign(this,t)}apply(e,t,r,n){let{width:i,height:o}=t.frame;this.uniforms.uDimensions[0]=i,this.uniforms.uDimensions[1]=o,this.uniforms.uAspect=o/i,e.applyFilter(this,t,r,n)}_randomizeSizes(){let e=this._sizes,t=this._slices-1,r=this.sampleSize,n=Math.min(this.minSize/r,.9/this._slices);if(this.average){let r=this._slices,i=1;for(let o=0;o<t;o++){let t=Math.max(i/(r-o)*(1-.6*Math.random()),n);e[o]=t,i-=t}e[t]=i}else{let r=1,i=Math.sqrt(1/this._slices);for(let o=0;o<t;o++){let t=Math.max(i*r*Math.random(),n);e[o]=t,r-=t}e[t]=r}this.shuffle()}shuffle(){let e=this._sizes,t=this._slices-1;for(let r=t;r>0;r--){let t=Math.random()*r|0,n=e[r];e[r]=e[t],e[t]=n}}_randomizeOffsets(){for(let e=0;e<this._slices;e++)this._offsets[e]=Math.random()*(.5>Math.random()?-1:1)}refresh(){this._randomizeSizes(),this._randomizeOffsets(),this.redraw()}redraw(){let e,t=this.sampleSize,r=this.texture,n=this._canvas.getContext("2d");n.clearRect(0,0,8,t);let i=0;for(let r=0;r<this._slices;r++){e=Math.floor(256*this._offsets[r]);let o=this._sizes[r]*t,a=e>0?e:0,s=e<0?-e:0;n.fillStyle=`rgba(${a}, ${s}, 0, 1)`,n.fillRect(0,0|i,t,o+1|0),i+=o}r.source.update()}set sizes(e){let t=Math.min(this._slices,e.length);for(let r=0;r<t;r++)this._sizes[r]=e[r]}get sizes(){return this._sizes}set offsets(e){let t=Math.min(this._slices,e.length);for(let r=0;r<t;r++)this._offsets[r]=e[r]}get offsets(){return this._offsets}get slices(){return this._slices}set slices(e){this._slices!==e&&(this._slices=e,this._sizes=new Float32Array(e),this._offsets=new Float32Array(e),this.refresh())}get offset(){return this.uniforms.uOffset}set offset(e){this.uniforms.uOffset=e}get seed(){return this.uniforms.uSeed}set seed(e){this.uniforms.uSeed=e}get fillMode(){return this.uniforms.uFillMode}set fillMode(e){this.uniforms.uFillMode=e}get direction(){return this.uniforms.uDirection/i.Tde}set direction(e){this.uniforms.uDirection=e*i.Tde}get red(){return this.uniforms.uRed}set red(e){Array.isArray(e)&&(e={x:e[0],y:e[1]}),this.uniforms.uRed=e}get green(){return this.uniforms.uGreen}set green(e){Array.isArray(e)&&(e={x:e[0],y:e[1]}),this.uniforms.uGreen=e}get blue(){return this.uniforms.uBlue}set blue(e){Array.isArray(e)&&(e={x:e[0],y:e[1]}),this.uniforms.uBlue=e}destroy(){this.texture?.destroy(!0),this.texture=this._canvas=this.red=this.green=this.blue=this._sizes=this._offsets=null}};ti(to,"defaults",{slices:5,offset:100,direction:0,fillMode:0,average:!1,seed:0,red:{x:0,y:0},green:{x:0,y:0},blue:{x:0,y:0},minSize:8,sampleSize:512});var ta="precision highp float;\nin vec2 vTextureCoord;\nout vec4 finalColor;\n\nuniform sampler2D uTexture;\nuniform vec2 uStrength;\nuniform vec3 uColor;\nuniform float uKnockout;\nuniform float uAlpha;\n\nuniform vec4 uInputSize;\nuniform vec4 uInputClamp;\n\nconst float PI = 3.14159265358979323846264;\n\n// Hard-assignment of DIST and ANGLE_STEP_SIZE instead of using uDistance and uQuality to allow them to be use on GLSL loop conditions\nconst float DIST = __DIST__;\nconst float ANGLE_STEP_SIZE = min(__ANGLE_STEP_SIZE__, PI * 2.);\nconst float ANGLE_STEP_NUM = ceil(PI * 2. / ANGLE_STEP_SIZE);\nconst float MAX_TOTAL_ALPHA = ANGLE_STEP_NUM * DIST * (DIST + 1.) / 2.;\n\nvoid main(void) {\n vec2 px = vec2(1.) / uInputSize.xy;\n\n float totalAlpha = 0.;\n\n vec2 direction;\n vec2 displaced;\n vec4 curColor;\n\n for (float angle = 0.; angle < PI * 2.; angle += ANGLE_STEP_SIZE) {\n direction = vec2(cos(angle), sin(angle)) * px;\n\n for (float curDistance = 0.; curDistance < DIST; curDistance++) {\n displaced = clamp(vTextureCoord + direction * (curDistance + 1.), uInputClamp.xy, uInputClamp.zw);\n curColor = texture(uTexture, displaced);\n totalAlpha += (DIST - curDistance) * curColor.a;\n }\n }\n \n curColor = texture(uTexture, vTextureCoord);\n\n vec4 glowColor = vec4(uColor, uAlpha);\n bool knockout = uKnockout > .5;\n float innerStrength = uStrength[0];\n float outerStrength = uStrength[1];\n\n float alphaRatio = totalAlpha / MAX_TOTAL_ALPHA;\n float innerGlowAlpha = (1. - alphaRatio) * innerStrength * curColor.a * uAlpha;\n float innerGlowStrength = min(1., innerGlowAlpha);\n \n vec4 innerColor = mix(curColor, glowColor, innerGlowStrength);\n float outerGlowAlpha = alphaRatio * outerStrength * (1. - curColor.a) * uAlpha;\n float outerGlowStrength = min(1. - innerColor.a, outerGlowAlpha);\n vec4 outerGlowColor = outerGlowStrength * glowColor.rgba;\n\n if (knockout) {\n float resultAlpha = outerGlowAlpha + innerGlowAlpha;\n finalColor = vec4(glowColor.rgb * resultAlpha, resultAlpha);\n }\n else {\n finalColor = innerColor + outerGlowColor;\n }\n}\n",ts="struct GlowUniforms {\n uDistance: f32,\n uStrength: vec2<f32>,\n uColor: vec3<f32>,\n uAlpha: f32,\n uQuality: f32,\n uKnockout: f32,\n};\n\nstruct GlobalFilterUniforms {\n uInputSize:vec4<f32>,\n uInputPixel:vec4<f32>,\n uInputClamp:vec4<f32>,\n uOutputFrame:vec4<f32>,\n uGlobalFrame:vec4<f32>,\n uOutputTexture:vec4<f32>,\n};\n\n@group(0) @binding(0) var<uniform> gfu: GlobalFilterUniforms;\n\n@group(0) @binding(1) var uTexture: texture_2d<f32>; \n@group(0) @binding(2) var uSampler: sampler;\n@group(1) @binding(0) var<uniform> glowUniforms : GlowUniforms;\n\n@fragment\nfn mainFragment(\n @builtin(position) position: vec4<f32>,\n @location(0) uv : vec2<f32>\n) -> @location(0) vec4<f32> {\n let quality = glowUniforms.uQuality;\n let distance = glowUniforms.uDistance;\n\n let dist: f32 = glowUniforms.uDistance;\n let angleStepSize: f32 = min(1. / quality / distance, PI * 2.0);\n let angleStepNum: f32 = ceil(PI * 2.0 / angleStepSize);\n\n let px: vec2<f32> = vec2<f32>(1.0 / gfu.uInputSize.xy);\n\n var totalAlpha: f32 = 0.0;\n\n var direction: vec2<f32>;\n var displaced: vec2<f32>;\n var curColor: vec4<f32>;\n\n for (var angle = 0.0; angle < PI * 2.0; angle += angleStepSize) {\n direction = vec2<f32>(cos(angle), sin(angle)) * px;\n for (var curDistance = 0.0; curDistance < dist; curDistance+=1) {\n displaced = vec2<f32>(clamp(uv + direction * (curDistance + 1.0), gfu.uInputClamp.xy, gfu.uInputClamp.zw));\n curColor = textureSample(uTexture, uSampler, displaced);\n totalAlpha += (dist - curDistance) * curColor.a;\n }\n }\n \n curColor = textureSample(uTexture, uSampler, uv);\n\n let glowColorRGB = glowUniforms.uColor;\n let glowAlpha = glowUniforms.uAlpha;\n let glowColor = vec4<f32>(glowColorRGB, glowAlpha);\n let knockout: bool = glowUniforms.uKnockout > 0.5;\n let innerStrength = glowUniforms.uStrength[0];\n let outerStrength = glowUniforms.uStrength[1];\n\n let alphaRatio: f32 = (totalAlpha / (angleStepNum * dist * (dist + 1.0) / 2.0));\n let innerGlowAlpha: f32 = (1.0 - alphaRatio) * innerStrength * curColor.a * glowAlpha;\n let innerGlowStrength: f32 = min(1.0, innerGlowAlpha);\n \n let innerColor: vec4<f32> = mix(curColor, glowColor, innerGlowStrength);\n let outerGlowAlpha: f32 = alphaRatio * outerStrength * (1. - curColor.a) * glowAlpha;\n let outerGlowStrength: f32 = min(1.0 - innerColor.a, outerGlowAlpha);\n let outerGlowColor: vec4<f32> = outerGlowStrength * glowColor.rgba;\n \n if (knockout) {\n let resultAlpha: f32 = outerGlowAlpha + innerGlowAlpha;\n return vec4<f32>(glowColor.rgb * resultAlpha, resultAlpha);\n }\n else {\n return innerColor + outerGlowColor;\n }\n}\n\nconst PI: f32 = 3.14159265358979323846264;",tl=Object.defineProperty,tu=(e,t,r)=>t in e?tl(e,t,{enumerable:!0,configurable:!0,writable:!0,value:r}):e[t]=r,tc=(e,t,r)=>(tu(e,"symbol"!=typeof t?t+"":t,r),r);let tf=class e extends i.dJT{constructor(t){const r=(t={...e.DEFAULT_OPTIONS,...t}).distance??10,n=t.quality??.1;super({gpuProgram:i.BrD.from({vertex:{source:a,entryPoint:"mainVertex"},fragment:{source:ts,entryPoint:"mainFragment"}}),glProgram:i.M2g.from({vertex:o,fragment:ta.replace(/__ANGLE_STEP_SIZE__/gi,`${(1/n/r).toFixed(7)}`).replace(/__DIST__/gi,`${r.toFixed(0)}.0`),name:"glow-filter"}),resources:{glowUniforms:{uDistance:{value:r,type:"f32"},uStrength:{value:[t.innerStrength,t.outerStrength],type:"vec2<f32>"},uColor:{value:new Float32Array(3),type:"vec3<f32>"},uAlpha:{value:t.alpha,type:"f32"},uQuality:{value:n,type:"f32"},uKnockout:{value:+!!t?.knockout,type:"f32"}}},padding:r}),tc(this,"uniforms"),tc(this,"_color"),this.uniforms=this.resources.glowUniforms.uniforms,this._color=new i.Q1f,this.color=t.color??0xffffff}get distance(){return this.uniforms.uDistance}set distance(e){this.uniforms.uDistance=this.padding=e}get innerStrength(){return this.uniforms.uStrength[0]}set innerStrength(e){this.uniforms.uStrength[0]=e}get outerStrength(){return this.uniforms.uStrength[1]}set outerStrength(e){this.uniforms.uStrength[1]=e}get color(){return this._color.value}set color(e){this._color.setValue(e);let[t,r,n]=this._color.toArray();this.uniforms.uColor[0]=t,this.uniforms.uColor[1]=r,this.uniforms.uColor[2]=n}get alpha(){return this.uniforms.uAlpha}set alpha(e){this.uniforms.uAlpha=e}get quality(){return this.uniforms.uQuality}set quality(e){this.uniforms.uQuality=e}get knockout(){return 1===this.uniforms.uKnockout}set knockout(e){this.uniforms.uKnockout=+!!e}};tc(tf,"DEFAULT_OPTIONS",{distance:10,outerStrength:4,innerStrength:0,color:0xffffff,alpha:1,quality:.1,knockout:!1});var th="precision highp float;\nin vec2 vTextureCoord;\nout vec4 finalColor;\n\nuniform sampler2D uTexture;\nuniform vec2 uDimensions;\nuniform float uParallel;\nuniform vec2 uLight;\nuniform float uAspect;\nuniform float uTime;\nuniform vec3 uRay;\n\nuniform vec4 uInputSize;\n\n${PERLIN}\n\nvoid main(void) {\n vec2 uDimensions = uDimensions;\n bool uParallel = uParallel > 0.5;\n vec2 uLight = uLight;\n float uAspect = uAspect;\n\n vec2 coord = vTextureCoord * uInputSize.xy / uDimensions;\n\n float d;\n\n if (uParallel) {\n float _cos = uLight.x;\n float _sin = uLight.y;\n d = (_cos * coord.x) + (_sin * coord.y * uAspect);\n } else {\n float dx = coord.x - uLight.x / uDimensions.x;\n float dy = (coord.y - uLight.y / uDimensions.y) * uAspect;\n float dis = sqrt(dx * dx + dy * dy) + 0.00001;\n d = dy / dis;\n }\n\n float uTime = uTime;\n vec3 uRay = uRay;\n\n float gain = uRay[0];\n float lacunarity = uRay[1];\n float alpha = uRay[2];\n\n vec3 dir = vec3(d, d, 0.0);\n float noise = turb(dir + vec3(uTime, 0.0, 62.1 + uTime) * 0.05, vec3(480.0, 320.0, 480.0), lacunarity, gain);\n noise = mix(noise, 0.0, 0.3);\n //fade vertically.\n vec4 mist = vec4(vec3(noise), 1.0) * (1.0 - coord.y);\n mist.a = 1.0;\n // apply user alpha\n mist *= alpha;\n\n finalColor = texture(uTexture, vTextureCoord) + mist;\n}\n",td="struct GodrayUniforms {\n uLight: vec2<f32>,\n uParallel: f32,\n uAspect: f32,\n uTime: f32,\n uRay: vec3<f32>,\n uDimensions: vec2<f32>,\n};\n\nstruct GlobalFilterUniforms {\n uInputSize:vec4<f32>,\n uInputPixel:vec4<f32>,\n uInputClamp:vec4<f32>,\n uOutputFrame:vec4<f32>,\n uGlobalFrame:vec4<f32>,\n uOutputTexture:vec4<f32>,\n};\n\n@group(0) @binding(0) var<uniform> gfu: GlobalFilterUniforms;\n\n@group(0) @binding(1) var uTexture: texture_2d<f32>; \n@group(0) @binding(2) var uSampler: sampler;\n@group(1) @binding(0) var<uniform> godrayUniforms : GodrayUniforms;\n\n@fragment\nfn mainFragment(\n @builtin(position) position: vec4<f32>,\n @location(0) uv : vec2<f32>\n) -> @location(0) vec4<f32> {\n let uDimensions: vec2<f32> = godrayUniforms.uDimensions;\n let uParallel: bool = godrayUniforms.uParallel > 0.5;\n let uLight: vec2<f32> = godrayUniforms.uLight;\n let uAspect: f32 = godrayUniforms.uAspect;\n\n let coord: vec2<f32> = uv * gfu.uInputSize.xy / uDimensions;\n\n var d: f32;\n\n if (uParallel) {\n let _cos: f32 = uLight.x;\n let _sin: f32 = uLight.y;\n d = (_cos * coord.x) + (_sin * coord.y * uAspect);\n } else {\n let dx: f32 = coord.x - uLight.x / uDimensions.x;\n let dy: f32 = (coord.y - uLight.y / uDimensions.y) * uAspect;\n let dis: f32 = sqrt(dx * dx + dy * dy) + 0.00001;\n d = dy / dis;\n }\n\n let uTime: f32 = godrayUniforms.uTime;\n let uRay: vec3<f32> = godrayUniforms.uRay;\n \n let gain = uRay[0];\n let lacunarity = uRay[1];\n let alpha = uRay[2];\n\n let dir: vec3<f32> = vec3<f32>(d, d, 0.0);\n var noise: f32 = turb(dir + vec3<f32>(uTime, 0.0, 62.1 + uTime) * 0.05, vec3<f32>(480.0, 320.0, 480.0), lacunarity, gain);\n noise = mix(noise, 0.0, 0.3);\n //fade vertically.\n var mist: vec4<f32> = vec4<f32>(vec3<f32>(noise), 1.0) * (1.0 - coord.y);\n mist.a = 1.0;\n // apply user alpha\n mist *= alpha;\n return textureSample(uTexture, uSampler, uv) + mist;\n}\n\n${PERLIN}",tp="vec3 mod289(vec3 x)\n{\n return x - floor(x * (1.0 / 289.0)) * 289.0;\n}\nvec4 mod289(vec4 x)\n{\n return x - floor(x * (1.0 / 289.0)) * 289.0;\n}\nvec4 permute(vec4 x)\n{\n return mod289(((x * 34.0) + 1.0) * x);\n}\nvec4 taylorInvSqrt(vec4 r)\n{\n return 1.79284291400159 - 0.85373472095314 * r;\n}\nvec3 fade(vec3 t)\n{\n return t * t * t * (t * (t * 6.0 - 15.0) + 10.0);\n}\n// Classic Perlin noise, periodic variant\nfloat pnoise(vec3 P, vec3 rep)\n{\n vec3 Pi0 = mod(floor(P), rep); // Integer part, modulo period\n vec3 Pi1 = mod(Pi0 + vec3(1.0), rep); // Integer part + 1, mod period\n Pi0 = mod289(Pi0);\n Pi1 = mod289(Pi1);\n vec3 Pf0 = fract(P); // Fractional part for interpolation\n vec3 Pf1 = Pf0 - vec3(1.0); // Fractional part - 1.0\n vec4 ix = vec4(Pi0.x, Pi1.x, Pi0.x, Pi1.x);\n vec4 iy = vec4(Pi0.yy, Pi1.yy);\n vec4 iz0 = Pi0.zzzz;\n vec4 iz1 = Pi1.zzzz;\n vec4 ixy = permute(permute(ix) + iy);\n vec4 ixy0 = permute(ixy + iz0);\n vec4 ixy1 = permute(ixy + iz1);\n vec4 gx0 = ixy0 * (1.0 / 7.0);\n vec4 gy0 = fract(floor(gx0) * (1.0 / 7.0)) - 0.5;\n gx0 = fract(gx0);\n vec4 gz0 = vec4(0.5) - abs(gx0) - abs(gy0);\n vec4 sz0 = step(gz0, vec4(0.0));\n gx0 -= sz0 * (step(0.0, gx0) - 0.5);\n gy0 -= sz0 * (step(0.0, gy0) - 0.5);\n vec4 gx1 = ixy1 * (1.0 / 7.0);\n vec4 gy1 = fract(floor(gx1) * (1.0 / 7.0)) - 0.5;\n gx1 = fract(gx1);\n vec4 gz1 = vec4(0.5) - abs(gx1) - abs(gy1);\n vec4 sz1 = step(gz1, vec4(0.0));\n gx1 -= sz1 * (step(0.0, gx1) - 0.5);\n gy1 -= sz1 * (step(0.0, gy1) - 0.5);\n vec3 g000 = vec3(gx0.x, gy0.x, gz0.x);\n vec3 g100 = vec3(gx0.y, gy0.y, gz0.y);\n vec3 g010 = vec3(gx0.z, gy0.z, gz0.z);\n vec3 g110 = vec3(gx0.w, gy0.w, gz0.w);\n vec3 g001 = vec3(gx1.x, gy1.x, gz1.x);\n vec3 g101 = vec3(gx1.y, gy1.y, gz1.y);\n vec3 g011 = vec3(gx1.z, gy1.z, gz1.z);\n vec3 g111 = vec3(gx1.w, gy1.w, gz1.w);\n vec4 norm0 = taylorInvSqrt(vec4(dot(g000, g000), dot(g010, g010), dot(g100, g100), dot(g110, g110)));\n g000 *= norm0.x;\n g010 *= norm0.y;\n g100 *= norm0.z;\n g110 *= norm0.w;\n vec4 norm1 = taylorInvSqrt(vec4(dot(g001, g001), dot(g011, g011), dot(g101, g101), dot(g111, g111)));\n g001 *= norm1.x;\n g011 *= norm1.y;\n g101 *= norm1.z;\n g111 *= norm1.w;\n float n000 = dot(g000, Pf0);\n float n100 = dot(g100, vec3(Pf1.x, Pf0.yz));\n float n010 = dot(g010, vec3(Pf0.x, Pf1.y, Pf0.z));\n float n110 = dot(g110, vec3(Pf1.xy, Pf0.z));\n float n001 = dot(g001, vec3(Pf0.xy, Pf1.z));\n float n101 = dot(g101, vec3(Pf1.x, Pf0.y, Pf1.z));\n float n011 = dot(g011, vec3(Pf0.x, Pf1.yz));\n float n111 = dot(g111, Pf1);\n vec3 fade_xyz = fade(Pf0);\n vec4 n_z = mix(vec4(n000, n100, n010, n110), vec4(n001, n101, n011, n111), fade_xyz.z);\n vec2 n_yz = mix(n_z.xy, n_z.zw, fade_xyz.y);\n float n_xyz = mix(n_yz.x, n_yz.y, fade_xyz.x);\n return 2.2 * n_xyz;\n}\nfloat turb(vec3 P, vec3 rep, float lacunarity, float gain)\n{\n float sum = 0.0;\n float sc = 1.0;\n float totalgain = 1.0;\n for (float i = 0.0; i < 6.0; i++)\n {\n sum += totalgain * pnoise(P * sc, rep);\n sc *= lacunarity;\n totalgain *= gain;\n }\n return abs(sum);\n}\n",tm="// Taken from https://gist.github.com/munrocket/236ed5ba7e409b8bdf1ff6eca5dcdc39\n\nfn moduloVec3(x: vec3<f32>, y: vec3<f32>) -> vec3<f32>\n{\n return x - y * floor(x/y);\n}\nfn mod289Vec3(x: vec3<f32>) -> vec3<f32>\n{\n return x - floor(x * (1.0 / 289.0)) * 289.0;\n}\nfn mod289Vec4(x: vec4<f32>) -> vec4<f32>\n{\n return x - floor(x * (1.0 / 289.0)) * 289.0;\n}\nfn permute4(x: vec4<f32>) -> vec4<f32>\n{\n return mod289Vec4(((x * 34.0) + 1.0) * x);\n}\nfn taylorInvSqrt(r: vec4<f32>) -> vec4<f32>\n{\n return 1.79284291400159 - 0.85373472095314 * r;\n}\nfn fade3(t: vec3<f32>) -> vec3<f32>\n{\n return t * t * t * (t * (t * 6.0 - 15.0) + 10.0);\n}\nfn fade2(t: vec2<f32>) -> vec2<f32> { return t * t * t * (t * (t * 6. - 15.) + 10.); }\n\nfn perlinNoise2(P: vec2<f32>) -> f32 {\n var Pi: vec4<f32> = floor(P.xyxy) + vec4<f32>(0., 0., 1., 1.);\n let Pf = fract(P.xyxy) - vec4<f32>(0., 0., 1., 1.);\n Pi = Pi % vec4<f32>(289.); // To avoid truncation effects in permutation\n let ix = Pi.xzxz;\n let iy = Pi.yyww;\n let fx = Pf.xzxz;\n let fy = Pf.yyww;\n let i = permute4(permute4(ix) + iy);\n var gx: vec4<f32> = 2. * fract(i * 0.0243902439) - 1.; // 1/41 = 0.024...\n let gy = abs(gx) - 0.5;\n let tx = floor(gx + 0.5);\n gx = gx - tx;\n var g00: vec2<f32> = vec2<f32>(gx.x, gy.x);\n var g10: vec2<f32> = vec2<f32>(gx.y, gy.y);\n var g01: vec2<f32> = vec2<f32>(gx.z, gy.z);\n var g11: vec2<f32> = vec2<f32>(gx.w, gy.w);\n let norm = 1.79284291400159 - 0.85373472095314 *\n vec4<f32>(dot(g00, g00), dot(g01, g01), dot(g10, g10), dot(g11, g11));\n g00 = g00 * norm.x;\n g01 = g01 * norm.y;\n g10 = g10 * norm.z;\n g11 = g11 * norm.w;\n let n00 = dot(g00, vec2<f32>(fx.x, fy.x));\n let n10 = dot(g10, vec2<f32>(fx.y, fy.y));\n let n01 = dot(g01, vec2<f32>(fx.z, fy.z));\n let n11 = dot(g11, vec2<f32>(fx.w, fy.w));\n let fade_xy = fade2(Pf.xy);\n let n_x = mix(vec2<f32>(n00, n01), vec2<f32>(n10, n11), vec2<f32>(fade_xy.x));\n let n_xy = mix(n_x.x, n_x.y, fade_xy.y);\n return 2.3 * n_xy;\n}\n\n// Classic Perlin noise, periodic variant\nfn perlinNoise3(P: vec3<f32>, rep: vec3<f32>) -> f32\n{\n var Pi0: vec3<f32> = moduloVec3(floor(P), rep); // Integer part, modulo period\n var Pi1: vec3<f32> = moduloVec3(Pi0 + vec3<f32>(1.0), rep); // Integer part + 1, mod period\n Pi0 = mod289Vec3(Pi0);\n Pi1 = mod289Vec3(Pi1);\n let Pf0: vec3<f32> = fract(P); // Fractional part for interpolation\n let Pf1: vec3<f32> = Pf0 - vec3<f32>(1.0); // Fractional part - 1.0\n let ix: vec4<f32> = vec4<f32>(Pi0.x, Pi1.x, Pi0.x, Pi1.x);\n let iy: vec4<f32> = vec4<f32>(Pi0.yy, Pi1.yy);\n let iz0: vec4<f32> = Pi0.zzzz;\n let iz1: vec4<f32> = Pi1.zzzz;\n let ixy: vec4<f32> = permute4(permute4(ix) + iy);\n let ixy0: vec4<f32> = permute4(ixy + iz0);\n let ixy1: vec4<f32> = permute4(ixy + iz1);\n var gx0: vec4<f32> = ixy0 * (1.0 / 7.0);\n var gy0: vec4<f32> = fract(floor(gx0) * (1.0 / 7.0)) - 0.5;\n gx0 = fract(gx0);\n let gz0: vec4<f32> = vec4<f32>(0.5) - abs(gx0) - abs(gy0);\n let sz0: vec4<f32> = step(gz0, vec4<f32>(0.0));\n gx0 -= sz0 * (step(vec4<f32>(0.0), gx0) - 0.5);\n gy0 -= sz0 * (step(vec4<f32>(0.0), gy0) - 0.5);\n var gx1: vec4<f32> = ixy1 * (1.0 / 7.0);\n var gy1: vec4<f32> = fract(floor(gx1) * (1.0 / 7.0)) - 0.5;\n gx1 = fract(gx1);\n let gz1: vec4<f32> = vec4<f32>(0.5) - abs(gx1) - abs(gy1);\n let sz1: vec4<f32> = step(gz1, vec4<f32>(0.0));\n gx1 -= sz1 * (step(vec4<f32>(0.0), gx1) - 0.5);\n gy1 -= sz1 * (step(vec4<f32>(0.0), gy1) - 0.5);\n var g000: vec3<f32> = vec3<f32>(gx0.x, gy0.x, gz0.x);\n var g100: vec3<f32> = vec3<f32>(gx0.y, gy0.y, gz0.y);\n var g010: vec3<f32> = vec3<f32>(gx0.z, gy0.z, gz0.z);\n var g110: vec3<f32> = vec3<f32>(gx0.w, gy0.w, gz0.w);\n var g001: vec3<f32> = vec3<f32>(gx1.x, gy1.x, gz1.x);\n var g101: vec3<f32> = vec3<f32>(gx1.y, gy1.y, gz1.y);\n var g011: vec3<f32> = vec3<f32>(gx1.z, gy1.z, gz1.z);\n var g111: vec3<f32> = vec3<f32>(gx1.w, gy1.w, gz1.w);\n let norm0: vec4<f32> = taylorInvSqrt(vec4<f32>(dot(g000, g000), dot(g010, g010), dot(g100, g100), dot(g110, g110)));\n g000 *= norm0.x;\n g010 *= norm0.y;\n g100 *= norm0.z;\n g110 *= norm0.w;\n let norm1: vec4<f32> = taylorInvSqrt(vec4<f32>(dot(g001, g001), dot(g011, g011), dot(g101, g101), dot(g111, g111)));\n g001 *= norm1.x;\n g011 *= norm1.y;\n g101 *= norm1.z;\n g111 *= norm1.w;\n let n000: f32 = dot(g000, Pf0);\n let n100: f32 = dot(g100, vec3<f32>(Pf1.x, Pf0.yz));\n let n010: f32 = dot(g010, vec3<f32>(Pf0.x, Pf1.y, Pf0.z));\n let n110: f32 = dot(g110, vec3<f32>(Pf1.xy, Pf0.z));\n let n001: f32 = dot(g001, vec3<f32>(Pf0.xy, Pf1.z));\n let n101: f32 = dot(g101, vec3<f32>(Pf1.x, Pf0.y, Pf1.z));\n let n011: f32 = dot(g011, vec3<f32>(Pf0.x, Pf1.yz));\n let n111: f32 = dot(g111, Pf1);\n let fade_xyz: vec3<f32> = fade3(Pf0);\n let n_z: vec4<f32> = mix(vec4<f32>(n000, n100, n010, n110), vec4<f32>(n001, n101, n011, n111), fade_xyz.z);\n let n_yz: vec2<f32> = mix(n_z.xy, n_z.zw, fade_xyz.y);\n let n_xyz: f32 = mix(n_yz.x, n_yz.y, fade_xyz.x);\n return 2.2 * n_xyz;\n}\nfn turb(P: vec3<f32>, rep: vec3<f32>, lacunarity: f32, gain: f32) -> f32\n{\n var sum: f32 = 0.0;\n var sc: f32 = 1.0;\n var totalgain: f32 = 1.0;\n for (var i = 0.0; i < 6.0; i += 1)\n {\n sum += totalgain * perlinNoise3(P * sc, rep);\n sc *= lacunarity;\n totalgain *= gain;\n }\n return abs(sum);\n}",tg=Object.defineProperty,tv=(e,t,r)=>t in e?tg(e,t,{enumerable:!0,configurable:!0,writable:!0,value:r}):e[t]=r,ty=(e,t,r)=>(tv(e,"symbol"!=typeof t?t+"":t,r),r);let tb=class e extends i.dJT{constructor(t){t={...e.DEFAULT_OPTIONS,...t},super({gpuProgram:i.BrD.from({vertex:{source:a,entryPoint:"mainVertex"},fragment:{source:td.replace("${PERLIN}",tm),entryPoint:"mainFragment"}}),glProgram:i.M2g.from({vertex:o,fragment:th.replace("${PERLIN}",tp),name:"god-ray-filter"}),resources:{godrayUniforms:{uLight:{value:new Float32Array(2),type:"vec2<f32>"},uParallel:{value:0,type:"f32"},uAspect:{value:0,type:"f32"},uTime:{value:t.time,type:"f32"},uRay:{value:new Float32Array(3),type:"vec3<f32>"},uDimensions:{value:new Float32Array(2),type:"vec2<f32>"}}}}),ty(this,"uniforms"),ty(this,"time",0),ty(this,"_angleLight",[0,0]),ty(this,"_angle",0),ty(this,"_center"),this.uniforms=this.resources.godrayUniforms.uniforms,Object.assign(this,t)}apply(e,t,r,n){let i=t.frame.width,o=t.frame.height;this.uniforms.uLight[0]=this.parallel?this._angleLight[0]:this._center.x,this.uniforms.uLight[1]=this.parallel?this._angleLight[1]:this._center.y,this.uniforms.uDimensions[0]=i,this.uniforms.uDimensions[1]=o,this.uniforms.uAspect=o/i,this.uniforms.uTime=this.time,e.applyFilter(this,t,r,n)}get angle(){return this._angle}set angle(e){this._angle=e;let t=e*i.Tde;this._angleLight[0]=Math.cos(t),this._angleLight[1]=Math.sin(t)}get parallel(){return this.uniforms.uParallel>.5}set parallel(e){this.uniforms.uParallel=+!!e}get center(){return this._center}set center(e){Array.isArray(e)&&(e={x:e[0],y:e[1]}),this._center=e}get centerX(){return this.center.x}set centerX(e){this.center.x=e}get centerY(){return this.center.y}set centerY(e){this.center.y=e}get gain(){return this.uniforms.uRay[0]}set gain(e){this.uniforms.uRay[0]=e}get lacunarity(){return this.uniforms.uRay[1]}set lacunarity(e){this.uniforms.uRay[1]=e}get alpha(){return this.uniforms.uRay[2]}set alpha(e){this.uniforms.uRay[2]=e}};ty(tb,"DEFAULT_OPTIONS",{angle:30,gain:.5,lacunarity:2.5,parallel:!0,time:0,center:{x:0,y:0},alpha:1});i.dJT;var t_="in vec2 vTextureCoord;\nout vec4 finalColor;\n\nuniform sampler2D uTexture;\nuniform vec3 uHsl;\nuniform float uAlpha;\nuniform float uColorize;\n\n// https://en.wikipedia.org/wiki/Luma_(video)\nconst vec3 weight = vec3(0.299, 0.587, 0.114);\n\nfloat getWeightedAverage(vec3 rgb) {\n return rgb.r * weight.r + rgb.g * weight.g + rgb.b * weight.b;\n}\n\n// https://gist.github.com/mairod/a75e7b44f68110e1576d77419d608786?permalink_comment_id=3195243#gistcomment-3195243\nconst vec3 k = vec3(0.57735, 0.57735, 0.57735);\n\nvec3 hueShift(vec3 color, float angle) {\n float cosAngle = cos(angle);\n return vec3(\n color * cosAngle +\n cross(k, color) * sin(angle) +\n k * dot(k, color) * (1.0 - cosAngle)\n );\n}\n\nvoid main()\n{\n vec4 color = texture(uTexture, vTextureCoord);\n vec3 resultRGB = color.rgb;\n\n float hue = uHsl[0];\n float saturation = uHsl[1];\n float lightness = uHsl[2];\n\n // colorize\n if (uColorize > 0.5) {\n resultRGB = vec3(getWeightedAverage(resultRGB), 0., 0.);\n }\n\n // hue\n resultRGB = hueShift(resultRGB, hue);\n\n // saturation\n // https://github.com/evanw/glfx.js/blob/master/src/filters/adjust/huesaturation.js\n float average = (resultRGB.r + resultRGB.g + resultRGB.b) / 3.0;\n\n if (saturation > 0.) {\n resultRGB += (average - resultRGB) * (1. - 1. / (1.001 - saturation));\n } else {\n resultRGB -= (average - resultRGB) * saturation;\n }\n\n // lightness\n resultRGB = mix(resultRGB, vec3(ceil(lightness)) * color.a, abs(lightness));\n\n // alpha\n finalColor = mix(color, vec4(resultRGB, color.a), uAlpha);\n}\n",tw="struct HslUniforms {\n uHsl:vec3<f32>,\n uColorize:f32,\n uAlpha:f32,\n};\n\n@group(0) @binding(1) var uTexture: texture_2d<f32>; \n@group(0) @binding(2) var uSampler: sampler;\n@group(1) @binding(0) var<uniform> hslUniforms : HslUniforms;\n\n@fragment\nfn mainFragment(\n @location(0) uv: vec2<f32>,\n @builtin(position) position: vec4<f32>\n) -> @location(0) vec4<f32> {\n let color: vec4<f32> = textureSample(uTexture, uSampler, uv);\n var resultRGB: vec3<f32> = color.rgb;\n\n let hue: f32 = hslUniforms.uHsl[0];\n let saturation: f32 = hslUniforms.uHsl[1];\n let lightness: f32 = hslUniforms.uHsl[2];\n\n // colorize\n if (hslUniforms.uColorize > 0.5) {\n resultRGB = vec3<f32>(dot(color.rgb, vec3<f32>(0.299, 0.587, 0.114)), 0., 0.);\n }\n\n // hue\n resultRGB = hueShift(resultRGB, hue);\n\n // saturation\n // https://github.com/evanw/glfx.js/blob/master/src/filters/adjust/huesaturation.js\n let average: f32 = (resultRGB.r + resultRGB.g + resultRGB.b) / 3.0;\n\n if (saturation > 0.) {\n resultRGB += (average - resultRGB) * (1. - 1. / (1.001 - saturation));\n } else {\n resultRGB -= (average - resultRGB) * saturation;\n }\n\n // lightness\n resultRGB = mix(resultRGB, vec3<f32>(ceil(lightness)) * color.a, abs(lightness));\n\n // alpha\n return mix(color, vec4<f32>(resultRGB, color.a), hslUniforms.uAlpha);\n}\n\n// https://gist.github.com/mairod/a75e7b44f68110e1576d77419d608786?permalink_comment_id=3195243#gistcomment-3195243\nconst k: vec3<f32> = vec3(0.57735, 0.57735, 0.57735);\n\nfn hueShift(color: vec3<f32>, angle: f32) -> vec3<f32> \n{\n let cosAngle: f32 = cos(angle);\n return vec3<f32>(\n color * cosAngle +\n cross(k, color) * sin(angle) +\n k * dot(k, color) * (1.0 - cosAngle)\n );\n}",tx=Object.defineProperty,tS=(e,t,r)=>t in e?tx(e,t,{enumerable:!0,configurable:!0,writable:!0,value:r}):e[t]=r,tA=(e,t,r)=>(tS(e,"symbol"!=typeof t?t+"":t,r),r);let tE=class e extends i.dJT{constructor(t){t={...e.DEFAULT_OPTIONS,...t},super({gpuProgram:i.BrD.from({vertex:{source:a,entryPoint:"mainVertex"},fragment:{source:tw,entryPoint:"mainFragment"}}),glProgram:i.M2g.from({vertex:o,fragment:t_,name:"hsl-adjustment-filter"}),resources:{hslUniforms:{uHsl:{value:new Float32Array(3),type:"vec3<f32>"},uColorize:{value:+!!t.colorize,type:"f32"},uAlpha:{value:t.alpha,type:"f32"}}}}),tA(this,"uniforms"),tA(this,"_hue"),this.uniforms=this.resources.hslUniforms.uniforms,Object.assign(this,t)}get hue(){return this._hue}set hue(e){this._hue=e,this.uniforms.uHsl[0]=Math.PI/180*e}get saturation(){return this.uniforms.uHsl[1]}set saturation(e){this.uniforms.uHsl[1]=e}get lightness(){return this.uniforms.uHsl[2]}set lightness(e){this.uniforms.uHsl[2]=e}get colorize(){return 1===this.uniforms.uColorize}set colorize(e){this.uniforms.uColorize=+!!e}get alpha(){return this.uniforms.uAlpha}set alpha(e){this.uniforms.uAlpha=e}};tA(tE,"DEFAULT_OPTIONS",{hue:0,saturation:0,lightness:0,colorize:!1,alpha:1});var tC="precision highp float;\nin vec2 vTextureCoord;\nout vec4 finalColor;\n\nuniform sampler2D uTexture;\nuniform vec2 uVelocity;\nuniform int uKernelSize;\nuniform float uOffset;\n\nuniform vec4 uInputSize;\n\nconst int MAX_KERNEL_SIZE = 2048;\n\n// Notice:\n// the perfect way:\n// int kernelSize = min(uKernelSize, MAX_KERNELSIZE);\n// BUT in real use-case , uKernelSize < MAX_KERNELSIZE almost always.\n// So use uKernelSize directly.\n\nvoid main(void)\n{\n vec4 color = texture(uTexture, vTextureCoord);\n\n if (uKernelSize == 0)\n {\n finalColor = color;\n return;\n }\n\n vec2 velocity = uVelocity / uInputSize.xy;\n float offset = -uOffset / length(uVelocity) - 0.5;\n int k = uKernelSize - 1;\n\n for(int i = 0; i < MAX_KERNEL_SIZE - 1; i++) {\n if (i == k) {\n break;\n }\n vec2 bias = velocity * (float(i) / float(k) + offset);\n color += texture(uTexture, vTextureCoord + bias);\n }\n finalColor = color / float(uKernelSize);\n}\n",tO="struct MotionBlurUniforms {\n uVelocity: vec2<f32>,\n uKernelSize: f32,\n uOffset: f32,\n};\n\nstruct GlobalFilterUniforms {\n uInputSize:vec4<f32>,\n uInputPixel:vec4<f32>,\n uInputClamp:vec4<f32>,\n uOutputFrame:vec4<f32>,\n uGlobalFrame:vec4<f32>,\n uOutputTexture:vec4<f32>,\n};\n\n@group(0) @binding(0) var<uniform> gfu: GlobalFilterUniforms;\n\n@group(0) @binding(1) var uTexture: texture_2d<f32>; \n@group(0) @binding(2) var uSampler: sampler;\n@group(1) @binding(0) var<uniform> motionBlurUniforms : MotionBlurUniforms;\n\n@fragment\nfn mainFragment(\n @builtin(position) position: vec4<f32>,\n @location(0) uv : vec2<f32>\n) -> @location(0) vec4<f32> {\n let uVelocity = motionBlurUniforms.uVelocity;\n let uKernelSize = motionBlurUniforms.uKernelSize;\n let uOffset = motionBlurUniforms.uOffset;\n\n let velocity: vec2<f32> = uVelocity / gfu.uInputSize.xy;\n let offset: f32 = -uOffset / length(uVelocity) - 0.5;\n let k: i32 = i32(min(uKernelSize - 1, MAX_KERNEL_SIZE - 1));\n\n var color: vec4<f32> = textureSample(uTexture, uSampler, uv);\n\n for(var i: i32 = 0; i < k; i += 1) {\n let bias: vec2<f32> = velocity * (f32(i) / f32(k) + offset);\n color += textureSample(uTexture, uSampler, uv + bias);\n }\n \n return select(color / f32(uKernelSize), textureSample(uTexture, uSampler, uv), uKernelSize == 0);\n}\n\nconst MAX_KERNEL_SIZE: f32 = 2048;",tk=Object.defineProperty,tI=(e,t,r)=>t in e?tk(e,t,{enumerable:!0,configurable:!0,writable:!0,value:r}):e[t]=r,tT=(e,t,r)=>(tI(e,"symbol"!=typeof t?t+"":t,r),r);let tP=class e extends i.dJT{constructor(...t){let r=t[0]??{};(Array.isArray(r)||"x"in r&&"y"in r||r instanceof i.oA$)&&((0,i.t66)("6.0.0","MotionBlurFilter constructor params are now options object. See params: { velocity, kernelSize, offset }"),r={velocity:{x:"x"in r?r.x:r[0],y:"y"in r?r.y:r[1]}},void 0!==t[1]&&(r.kernelSize=t[1]),void 0!==t[2]&&(r.offset=t[2])),r={...e.DEFAULT_OPTIONS,...r},super({gpuProgram:i.BrD.from({vertex:{source:a,entryPoint:"mainVertex"},fragment:{source:tO,entryPoint:"mainFragment"}}),glProgram:i.M2g.from({vertex:o,fragment:tC,name:"motion-blur-filter"}),resources:{motionBlurUniforms:{uVelocity:{value:r.velocity,type:"vec2<f32>"},uKernelSize:{value:Math.trunc(r.kernelSize??5),type:"i32"},uOffset:{value:r.offset,type:"f32"}}}}),tT(this,"uniforms"),tT(this,"_kernelSize"),this.uniforms=this.resources.motionBlurUniforms.uniforms,Object.assign(this,r)}get velocity(){return this.uniforms.uVelocity}set velocity(e){Array.isArray(e)&&(e={x:e[0],y:e[1]}),this.uniforms.uVelocity=e,this._updateDirty()}get velocityX(){return this.velocity.x}set velocityX(e){this.velocity.x=e,this._updateDirty()}get velocityY(){return this.velocity.y}set velocityY(e){this.velocity.y=e,this._updateDirty()}get kernelSize(){return this._kernelSize}set kernelSize(e){this._kernelSize=e,this._updateDirty()}get offset(){return this.uniforms.uOffset}set offset(e){this.uniforms.uOffset=e}_updateDirty(){this.padding=(0|Math.max(Math.abs(this.velocityX),Math.abs(this.velocityY)))+1,this.uniforms.uKernelSize=0!==this.velocityX||0!==this.velocityY?this._kernelSize:0}};tT(tP,"DEFAULT_OPTIONS",{velocity:{x:0,y:0},kernelSize:5,offset:0});var tM="in vec2 vTextureCoord;\nout vec4 finalColor;\n\nconst int MAX_COLORS = ${MAX_COLORS};\n\nuniform sampler2D uTexture;\nuniform vec3 uOriginalColors[MAX_COLORS];\nuniform vec3 uTargetColors[MAX_COLORS];\nuniform float uTolerance;\n\nvoid main(void)\n{\n finalColor = texture(uTexture, vTextureCoord);\n\n float alpha = finalColor.a;\n if (alpha < 0.0001)\n {\n return;\n }\n\n vec3 color = finalColor.rgb / alpha;\n\n for(int i = 0; i < MAX_COLORS; i++)\n {\n vec3 origColor = uOriginalColors[i];\n if (origColor.r < 0.0)\n {\n break;\n }\n vec3 colorDiff = origColor - color;\n if (length(colorDiff) < uTolerance)\n {\n vec3 targetColor = uTargetColors[i];\n finalColor = vec4((targetColor + colorDiff) * alpha, alpha);\n return;\n }\n }\n}\n",tR="struct MultiColorReplaceUniforms {\n uOriginalColors: array<vec3<f32>, MAX_COLORS>,\n uTargetColors: array<vec3<f32>, MAX_COLORS>,\n uTolerance:f32,\n};\n\n@group(0) @binding(1) var uTexture: texture_2d<f32>; \n@group(0) @binding(2) var uSampler: sampler;\n@group(1) @binding(0) var<uniform> multiColorReplaceUniforms : MultiColorReplaceUniforms;\n\n@fragment\nfn mainFragment(\n @builtin(position) position: vec4<f32>,\n @location(0) uv : vec2<f32>\n) -> @location(0) vec4<f32> {\n let uOriginalColors = multiColorReplaceUniforms.uOriginalColors;\n let uTargetColors = multiColorReplaceUniforms.uTargetColors;\n let uTolerance = multiColorReplaceUniforms.uTolerance;\n\n var color: vec4<f32> = textureSample(uTexture, uSampler, uv);\n\n let alpha: f32 = color.a;\n\n if (alpha > 0.0001)\n {\n var modColor: vec3<f32> = vec3<f32>(color.rgb) / alpha;\n\n for(var i: i32 = 0; i < MAX_COLORS; i += 1)\n {\n let origColor: vec3<f32> = uOriginalColors[i];\n if (origColor.r < 0.0)\n {\n break;\n }\n let colorDiff: vec3<f32> = origColor - modColor;\n \n if (length(colorDiff) < uTolerance)\n {\n let targetColor: vec3<f32> = uTargetColors[i];\n color = vec4((targetColor + colorDiff) * alpha, alpha);\n return color;\n }\n }\n }\n\n return color;\n}\n\nconst MAX_COLORS: i32 = ${MAX_COLORS};",t$=Object.defineProperty,tj=(e,t,r)=>t in e?t$(e,t,{enumerable:!0,configurable:!0,writable:!0,value:r}):e[t]=r,tN=(e,t,r)=>(tj(e,"symbol"!=typeof t?t+"":t,r),r);let tB=class e extends i.dJT{constructor(...t){let r=t[0]??{};Array.isArray(r)&&((0,i.t66)("6.0.0","MultiColorReplaceFilter constructor params are now options object. See params: { replacements, tolerance, maxColors }"),r={replacements:r},t[1]&&(r.tolerance=t[1]),t[2]&&(r.maxColors=t[2]));const n=(r={...e.DEFAULT_OPTIONS,...r}).maxColors??r.replacements.length;super({gpuProgram:i.BrD.from({vertex:{source:a,entryPoint:"mainVertex"},fragment:{source:tR.replace(/\$\{MAX_COLORS\}/g,n.toFixed(0)),entryPoint:"mainFragment"}}),glProgram:i.M2g.from({vertex:o,fragment:tM.replace(/\$\{MAX_COLORS\}/g,n.toFixed(0)),name:"multi-color-replace-filter"}),resources:{multiColorReplaceUniforms:{uOriginalColors:{value:new Float32Array(3*n),type:"vec3<f32>",size:n},uTargetColors:{value:new Float32Array(3*n),type:"vec3<f32>",size:n},uTolerance:{value:r.tolerance,type:"f32"}}}}),tN(this,"uniforms"),tN(this,"_replacements",[]),tN(this,"_maxColors"),this._maxColors=n,this.uniforms=this.resources.multiColorReplaceUniforms.uniforms,this.replacements=r.replacements}set replacements(e){let t,r,n,o=this.uniforms.uOriginalColors,a=this.uniforms.uTargetColors,s=e.length,l=new i.Q1f;if(s>this._maxColors)throw Error(`Length of replacements (${s}) exceeds the maximum colors length (${this._maxColors})`);o[3*s]=-1;for(let i=0;i<s;i++){let s=e[i];l.setValue(s[0]),[t,r,n]=l.toArray(),o[3*i]=t,o[3*i+1]=r,o[3*i+2]=n,l.setValue(s[1]),[t,r,n]=l.toArray(),a[3*i]=t,a[3*i+1]=r,a[3*i+2]=n}this._replacements=e}get replacements(){return this._replacements}refresh(){this.replacements=this._replacements}get maxColors(){return this._maxColors}get tolerance(){return this.uniforms.uTolerance}set tolerance(e){this.uniforms.uTolerance=e}set epsilon(e){(0,i.t66)("6.0.0","MultiColorReplaceFilter.epsilon is deprecated, please use MultiColorReplaceFilter.tolerance instead"),this.tolerance=e}get epsilon(){return(0,i.t66)("6.0.0","MultiColorReplaceFilter.epsilon is deprecated, please use MultiColorReplaceFilter.tolerance instead"),this.tolerance}};tN(tB,"DEFAULT_OPTIONS",{replacements:[[0xff0000,255]],tolerance:.05,maxColors:void 0});var tL="precision highp float;\nin vec2 vTextureCoord;\nout vec4 finalColor;\n\nuniform sampler2D uTexture;\nuniform float uSepia;\nuniform vec2 uNoise;\nuniform vec3 uScratch;\nuniform vec3 uVignetting;\nuniform float uSeed;\nuniform vec2 uDimensions;\n\nuniform vec4 uInputSize;\n\nconst float SQRT_2 = 1.414213;\nconst vec3 SEPIA_RGB = vec3(112.0 / 255.0, 66.0 / 255.0, 20.0 / 255.0);\n\nfloat rand(vec2 co) {\n return fract(sin(dot(co.xy, vec2(12.9898, 78.233))) * 43758.5453);\n}\n\nvec3 Overlay(vec3 src, vec3 dst)\n{\n // if (dst <= 0.5) then: 2 * src * dst\n // if (dst > 0.5) then: 1 - 2 * (1 - dst) * (1 - src)\n return vec3((dst.x <= 0.5) ? (2.0 * src.x * dst.x) : (1.0 - 2.0 * (1.0 - dst.x) * (1.0 - src.x)),\n (dst.y <= 0.5) ? (2.0 * src.y * dst.y) : (1.0 - 2.0 * (1.0 - dst.y) * (1.0 - src.y)),\n (dst.z <= 0.5) ? (2.0 * src.z * dst.z) : (1.0 - 2.0 * (1.0 - dst.z) * (1.0 - src.z)));\n}\n\n\nvoid main()\n{\n finalColor = texture(uTexture, vTextureCoord);\n vec3 color = finalColor.rgb;\n\n if (uSepia > 0.0)\n {\n float gray = (color.x + color.y + color.z) / 3.0;\n vec3 grayscale = vec3(gray);\n\n color = Overlay(SEPIA_RGB, grayscale);\n\n color = grayscale + uSepia * (color - grayscale);\n }\n\n vec2 coord = vTextureCoord * uInputSize.xy / uDimensions.xy;\n\n float vignette = uVignetting[0];\n float vignetteAlpha = uVignetting[1];\n float vignetteBlur = uVignetting[2];\n\n if (vignette > 0.0)\n {\n float outter = SQRT_2 - vignette * SQRT_2;\n vec2 dir = vec2(vec2(0.5, 0.5) - coord);\n dir.y *= uDimensions.y / uDimensions.x;\n float darker = clamp((outter - length(dir) * SQRT_2) / ( 0.00001 + vignetteBlur * SQRT_2), 0.0, 1.0);\n color.rgb *= darker + (1.0 - darker) * (1.0 - vignetteAlpha);\n }\n\n float scratch = uScratch[0];\n float scratchDensity = uScratch[1];\n float scratchWidth = uScratch[2];\n\n if (scratchDensity > uSeed && scratch != 0.0)\n {\n float phase = uSeed * 256.0;\n float s = mod(floor(phase), 2.0);\n float dist = 1.0 / scratchDensity;\n float d = distance(coord, vec2(uSeed * dist, abs(s - uSeed * dist)));\n if (d < uSeed * 0.6 + 0.4)\n {\n highp float period = scratchDensity * 10.0;\n\n float xx = coord.x * period + phase;\n float aa = abs(mod(xx, 0.5) * 4.0);\n float bb = mod(floor(xx / 0.5), 2.0);\n float yy = (1.0 - bb) * aa + bb * (2.0 - aa);\n\n float kk = 2.0 * period;\n float dw = scratchWidth / uDimensions.x * (0.75 + uSeed);\n float dh = dw * kk;\n\n float tine = (yy - (2.0 - dh));\n\n if (tine > 0.0) {\n float _sign = sign(scratch);\n\n tine = s * tine / period + scratch + 0.1;\n tine = clamp(tine + 1.0, 0.5 + _sign * 0.5, 1.5 + _sign * 0.5);\n\n color.rgb *= tine;\n }\n }\n }\n\n float noise = uNoise[0];\n float noiseSize = uNoise[1];\n\n if (noise > 0.0 && noiseSize > 0.0)\n {\n vec2 pixelCoord = vTextureCoord.xy * uInputSize.xy;\n pixelCoord.x = floor(pixelCoord.x / noiseSize);\n pixelCoord.y = floor(pixelCoord.y / noiseSize);\n // vec2 d = pixelCoord * noiseSize * vec2(1024.0 + uSeed * 512.0, 1024.0 - uSeed * 512.0);\n // float _noise = snoise(d) * 0.5;\n float _noise = rand(pixelCoord * noiseSize * uSeed) - 0.5;\n color += _noise * noise;\n }\n\n finalColor.rgb = color;\n}",tz="struct OldFilmUniforms {\n uSepia: f32,\n uNoise: vec2<f32>,\n uScratch: vec3<f32>,\n uVignetting: vec3<f32>,\n uSeed: f32,\n uDimensions: vec2<f32>,\n};\n\nstruct GlobalFilterUniforms {\n uInputSize:vec4<f32>,\n uInputPixel:vec4<f32>,\n uInputClamp:vec4<f32>,\n uOutputFrame:vec4<f32>,\n uGlobalFrame:vec4<f32>,\n uOutputTexture:vec4<f32>,\n};\n\n@group(0) @binding(0) var<uniform> gfu: GlobalFilterUniforms;\n\n@group(0) @binding(1) var uTexture: texture_2d<f32>; \n@group(0) @binding(2) var uSampler: sampler;\n@group(1) @binding(0) var<uniform> oldFilmUniforms : OldFilmUniforms;\n\n@fragment\nfn mainFragment(\n @builtin(position) position: vec4<f32>,\n @location(0) uv : vec2<f32>\n) -> @location(0) vec4<f32> {\n var color: vec4<f32> = textureSample(uTexture, uSampler, uv);\n\n if (oldFilmUniforms.uSepia > 0.)\n {\n color = vec4<f32>(sepia(color.rgb), color.a);\n }\n\n let coord: vec2<f32> = uv * gfu.uInputSize.xy / oldFilmUniforms.uDimensions;\n\n if (oldFilmUniforms.uVignetting[0] > 0.)\n {\n color *= vec4<f32>(vec3<f32>(vignette(color.rgb, coord)), color.a);\n }\n\n let uScratch = oldFilmUniforms.uScratch; \n\n if (uScratch[1] > oldFilmUniforms.uSeed && uScratch[0] != 0.)\n {\n color = vec4<f32>(scratch(color.rgb, coord), color.a);\n }\n\n let uNoise = oldFilmUniforms.uNoise;\n\n if (uNoise[0] > 0.0 && uNoise[1] > 0.0)\n {\n color += vec4<f32>(vec3<f32>(noise(uv)), color.a);\n }\n\n return color;\n}\n\nconst SQRT_2: f32 = 1.414213;\nconst SEPIA_RGB: vec3<f32> = vec3<f32>(112.0 / 255.0, 66.0 / 255.0, 20.0 / 255.0);\n\nfn modulo(x: f32, y: f32) -> f32\n{\n return x - y * floor(x/y);\n}\n\nfn rand(co: vec2<f32>) -> f32\n{\n return fract(sin(dot(co, vec2<f32>(12.9898, 78.233))) * 43758.5453);\n}\n\nfn overlay(src: vec3<f32>, dst: vec3<f32>) -> vec3<f32>\n{\n // if (dst <= 0.5) then: 2 * src * dst\n // if (dst > 0.5) then: 1 - 2 * (1 - dst) * (1 - src)\n\n return vec3<f32>(\n select((1.0 - 2.0 * (1.0 - dst.x) * (1.0 - src.x)), (2.0 * src.x * dst.x), (dst.x <= 0.5)), \n select((1.0 - 2.0 * (1.0 - dst.y) * (1.0 - src.y)), (2.0 * src.y * dst.y), (dst.y <= 0.5)),\n select((1.0 - 2.0 * (1.0 - dst.z) * (1.0 - src.z)), (2.0 * src.z * dst.z), (dst.z <= 0.5))\n );\n}\n\nfn sepia(co: vec3<f32>) -> vec3<f32>\n{\n let gray: f32 = (co.x + co.y + co.z) / 3.0;\n let grayscale: vec3<f32> = vec3<f32>(gray);\n let color = overlay(SEPIA_RGB, grayscale);\n return grayscale + oldFilmUniforms.uSepia * (color - grayscale);\n}\n\nfn vignette(co: vec3<f32>, coord: vec2<f32>) -> f32\n{\n let uVignetting = oldFilmUniforms.uVignetting;\n let uDimensions = oldFilmUniforms.uDimensions;\n \n let outter: f32 = SQRT_2 - uVignetting[0] * SQRT_2;\n var dir: vec2<f32> = vec2<f32>(vec2<f32>(0.5) - coord);\n dir.y *= uDimensions.y / uDimensions.x;\n let darker: f32 = clamp((outter - length(dir) * SQRT_2) / ( 0.00001 + uVignetting[2] * SQRT_2), 0.0, 1.0);\n return darker + (1.0 - darker) * (1.0 - uVignetting[1]);\n}\n\nfn scratch(co: vec3<f32>, coord: vec2<f32>) -> vec3<f32>\n{\n var color = co;\n let uScratch = oldFilmUniforms.uScratch;\n let uSeed = oldFilmUniforms.uSeed;\n let uDimensions = oldFilmUniforms.uDimensions;\n\n let phase: f32 = uSeed * 256.0;\n let s: f32 = modulo(floor(phase), 2.0);\n let dist: f32 = 1.0 / uScratch[1];\n let d: f32 = distance(coord, vec2<f32>(uSeed * dist, abs(s - uSeed * dist)));\n\n if (d < uSeed * 0.6 + 0.4)\n {\n let period: f32 = uScratch[1] * 10.0;\n\n let xx: f32 = coord.x * period + phase;\n let aa: f32 = abs(modulo(xx, 0.5) * 4.0);\n let bb: f32 = modulo(floor(xx / 0.5), 2.0);\n let yy: f32 = (1.0 - bb) * aa + bb * (2.0 - aa);\n\n let kk: f32 = 2.0 * period;\n let dw: f32 = uScratch[2] / uDimensions.x * (0.75 + uSeed);\n let dh: f32 = dw * kk;\n\n var tine: f32 = (yy - (2.0 - dh));\n\n if (tine > 0.0) {\n let _sign: f32 = sign(uScratch[0]);\n\n tine = s * tine / period + uScratch[0] + 0.1;\n tine = clamp(tine + 1.0, 0.5 + _sign * 0.5, 1.5 + _sign * 0.5);\n\n color *= tine;\n }\n }\n\n return color;\n}\n\nfn noise(coord: vec2<f32>) -> f32\n{\n let uNoise = oldFilmUniforms.uNoise;\n let uSeed = oldFilmUniforms.uSeed;\n\n var pixelCoord: vec2<f32> = coord * gfu.uInputSize.xy;\n pixelCoord.x = floor(pixelCoord.x / uNoise[1]);\n pixelCoord.y = floor(pixelCoord.y / uNoise[1]);\n return (rand(pixelCoord * uNoise[1] * uSeed) - 0.5) * uNoise[0];\n}",tF=Object.defineProperty,tD=(e,t,r)=>t in e?tF(e,t,{enumerable:!0,configurable:!0,writable:!0,value:r}):e[t]=r,tU=(e,t,r)=>(tD(e,"symbol"!=typeof t?t+"":t,r),r);let tH=class e extends i.dJT{constructor(t){t={...e.DEFAULT_OPTIONS,...t},super({gpuProgram:i.BrD.from({vertex:{source:a,entryPoint:"mainVertex"},fragment:{source:tz,entryPoint:"mainFragment"}}),glProgram:i.M2g.from({vertex:o,fragment:tL,name:"old-film-filter"}),resources:{oldFilmUniforms:{uSepia:{value:t.sepia,type:"f32"},uNoise:{value:new Float32Array(2),type:"vec2<f32>"},uScratch:{value:new Float32Array(3),type:"vec3<f32>"},uVignetting:{value:new Float32Array(3),type:"vec3<f32>"},uSeed:{value:t.seed,type:"f32"},uDimensions:{value:new Float32Array(2),type:"vec2<f32>"}}}}),tU(this,"uniforms"),tU(this,"seed"),this.uniforms=this.resources.oldFilmUniforms.uniforms,Object.assign(this,t)}apply(e,t,r,n){this.uniforms.uDimensions[0]=t.frame.width,this.uniforms.uDimensions[1]=t.frame.height,this.uniforms.uSeed=this.seed,e.applyFilter(this,t,r,n)}get sepia(){return this.uniforms.uSepia}set sepia(e){this.uniforms.uSepia=e}get noise(){return this.uniforms.uNoise[0]}set noise(e){this.uniforms.uNoise[0]=e}get noiseSize(){return this.uniforms.uNoise[1]}set noiseSize(e){this.uniforms.uNoise[1]=e}get scratch(){return this.uniforms.uScratch[0]}set scratch(e){this.uniforms.uScratch[0]=e}get scratchDensity(){return this.uniforms.uScratch[1]}set scratchDensity(e){this.uniforms.uScratch[1]=e}get scratchWidth(){return this.uniforms.uScratch[2]}set scratchWidth(e){this.uniforms.uScratch[2]=e}get vignetting(){return this.uniforms.uVignetting[0]}set vignetting(e){this.uniforms.uVignetting[0]=e}get vignettingAlpha(){return this.uniforms.uVignetting[1]}set vignettingAlpha(e){this.uniforms.uVignetting[1]=e}get vignettingBlur(){return this.uniforms.uVignetting[2]}set vignettingBlur(e){this.uniforms.uVignetting[2]=e}};tU(tH,"DEFAULT_OPTIONS",{sepia:.3,noise:.3,noiseSize:1,scratch:.5,scratchDensity:.3,scratchWidth:1,vignetting:.3,vignettingAlpha:1,vignettingBlur:.3,seed:0});var tG="precision highp float;\nin vec2 vTextureCoord;\nout vec4 finalColor;\n\nuniform sampler2D uTexture;\nuniform vec2 uThickness;\nuniform vec3 uColor;\nuniform float uAlpha;\nuniform float uKnockout;\n\nuniform vec4 uInputClamp;\n\nconst float DOUBLE_PI = 2. * 3.14159265358979323846264;\nconst float ANGLE_STEP = ${ANGLE_STEP};\n\nfloat outlineMaxAlphaAtPos(vec2 pos) {\n if (uThickness.x == 0. || uThickness.y == 0.) {\n return 0.;\n }\n\n vec4 displacedColor;\n vec2 displacedPos;\n float maxAlpha = 0.;\n\n for (float angle = 0.; angle <= DOUBLE_PI; angle += ANGLE_STEP) {\n displacedPos.x = vTextureCoord.x + uThickness.x * cos(angle);\n displacedPos.y = vTextureCoord.y + uThickness.y * sin(angle);\n displacedColor = texture(uTexture, clamp(displacedPos, uInputClamp.xy, uInputClamp.zw));\n maxAlpha = max(maxAlpha, displacedColor.a);\n }\n\n return maxAlpha;\n}\n\nvoid main(void) {\n vec4 sourceColor = texture(uTexture, vTextureCoord);\n vec4 contentColor = sourceColor * float(uKnockout < 0.5);\n float outlineAlpha = uAlpha * outlineMaxAlphaAtPos(vTextureCoord.xy) * (1.-sourceColor.a);\n vec4 outlineColor = vec4(vec3(uColor) * outlineAlpha, outlineAlpha);\n finalColor = contentColor + outlineColor;\n}\n",tW="struct OutlineUniforms {\n uThickness:vec2<f32>,\n uColor:vec3<f32>,\n uAlpha:f32,\n uAngleStep:f32,\n uKnockout:f32,\n};\n\nstruct GlobalFilterUniforms {\n uInputSize:vec4<f32>,\n uInputPixel:vec4<f32>,\n uInputClamp:vec4<f32>,\n uOutputFrame:vec4<f32>,\n uGlobalFrame:vec4<f32>,\n uOutputTexture:vec4<f32>,\n};\n\n@group(0) @binding(0) var<uniform> gfu: GlobalFilterUniforms;\n\n@group(0) @binding(1) var uTexture: texture_2d<f32>; \n@group(0) @binding(2) var uSampler: sampler;\n@group(1) @binding(0) var<uniform> outlineUniforms : OutlineUniforms;\n\n@fragment\nfn mainFragment(\n @builtin(position) position: vec4<f32>,\n @location(0) uv : vec2<f32>\n) -> @location(0) vec4<f32> {\n let sourceColor: vec4<f32> = textureSample(uTexture, uSampler, uv);\n let contentColor: vec4<f32> = sourceColor * (1. - outlineUniforms.uKnockout);\n \n let outlineAlpha: f32 = outlineUniforms.uAlpha * outlineMaxAlphaAtPos(uv) * (1. - sourceColor.a);\n let outlineColor: vec4<f32> = vec4<f32>(vec3<f32>(outlineUniforms.uColor) * outlineAlpha, outlineAlpha);\n \n return contentColor + outlineColor;\n}\n\nfn outlineMaxAlphaAtPos(uv: vec2<f32>) -> f32 {\n let thickness = outlineUniforms.uThickness;\n\n if (thickness.x == 0. || thickness.y == 0.) {\n return 0.;\n }\n \n let angleStep = outlineUniforms.uAngleStep;\n\n var displacedColor: vec4<f32>;\n var displacedPos: vec2<f32>;\n\n var maxAlpha: f32 = 0.;\n var displaced: vec2<f32>;\n var curColor: vec4<f32>;\n\n for (var angle = 0.; angle <= DOUBLE_PI; angle += angleStep)\n {\n displaced.x = uv.x + thickness.x * cos(angle);\n displaced.y = uv.y + thickness.y * sin(angle);\n curColor = textureSample(uTexture, uSampler, clamp(displaced, gfu.uInputClamp.xy, gfu.uInputClamp.zw));\n maxAlpha = max(maxAlpha, curColor.a);\n }\n\n return maxAlpha;\n}\n\nconst DOUBLE_PI: f32 = 3.14159265358979323846264 * 2.;",tV=Object.defineProperty,tq=(e,t,r)=>t in e?tV(e,t,{enumerable:!0,configurable:!0,writable:!0,value:r}):e[t]=r,tX=(e,t,r)=>(tq(e,"symbol"!=typeof t?t+"":t,r),r);let tY=class e extends i.dJT{constructor(...t){let r=t[0]??{};"number"==typeof r&&((0,i.t66)("6.0.0","OutlineFilter constructor params are now options object. See params: { thickness, color, quality, alpha, knockout }"),r={thickness:r},void 0!==t[1]&&(r.color=t[1]),void 0!==t[2]&&(r.quality=t[2]),void 0!==t[3]&&(r.alpha=t[3]),void 0!==t[4]&&(r.knockout=t[4]));const n=(r={...e.DEFAULT_OPTIONS,...r}).quality??.1;super({gpuProgram:i.BrD.from({vertex:{source:a,entryPoint:"mainVertex"},fragment:{source:tW,entryPoint:"mainFragment"}}),glProgram:i.M2g.from({vertex:o,fragment:tG.replace(/\$\{ANGLE_STEP\}/,e.getAngleStep(n).toFixed(7)),name:"outline-filter"}),resources:{outlineUniforms:{uThickness:{value:new Float32Array(2),type:"vec2<f32>"},uColor:{value:new Float32Array(3),type:"vec3<f32>"},uAlpha:{value:r.alpha,type:"f32"},uAngleStep:{value:0,type:"f32"},uKnockout:{value:+!!r.knockout,type:"f32"}}}}),tX(this,"uniforms"),tX(this,"_thickness"),tX(this,"_quality"),tX(this,"_color"),this.uniforms=this.resources.outlineUniforms.uniforms,this.uniforms.uAngleStep=e.getAngleStep(n),this._color=new i.Q1f,this.color=r.color??0,Object.assign(this,r)}apply(e,t,r,n){this.uniforms.uThickness[0]=this.thickness/t.source.width,this.uniforms.uThickness[1]=this.thickness/t.source.height,e.applyFilter(this,t,r,n)}static getAngleStep(t){return parseFloat((2*Math.PI/Math.max(t*e.MAX_SAMPLES,e.MIN_SAMPLES)).toFixed(7))}get thickness(){return this._thickness}set thickness(e){this._thickness=this.padding=e}get color(){return this._color.value}set color(e){this._color.setValue(e);let[t,r,n]=this._color.toArray();this.uniforms.uColor[0]=t,this.uniforms.uColor[1]=r,this.uniforms.uColor[2]=n}get alpha(){return this.uniforms.uAlpha}set alpha(e){this.uniforms.uAlpha=e}get quality(){return this._quality}set quality(t){this._quality=t,this.uniforms.uAngleStep=e.getAngleStep(t)}get knockout(){return 1===this.uniforms.uKnockout}set knockout(e){this.uniforms.uKnockout=+!!e}};tX(tY,"DEFAULT_OPTIONS",{thickness:1,color:0,alpha:1,quality:.1,knockout:!1}),tX(tY,"MIN_SAMPLES",1),tX(tY,"MAX_SAMPLES",100);i.dJT;var tZ="precision highp float;\nin vec2 vTextureCoord;\nout vec4 finalColor;\n\nuniform sampler2D uTexture;\nuniform float uRadian;\nuniform vec2 uCenter;\nuniform float uRadius;\nuniform int uKernelSize;\n\nuniform vec4 uInputSize;\n\nconst int MAX_KERNEL_SIZE = 2048;\n\nvoid main(void)\n{\n vec4 color = texture(uTexture, vTextureCoord);\n\n if (uKernelSize == 0)\n {\n finalColor = color;\n return;\n }\n\n float aspect = uInputSize.y / uInputSize.x;\n vec2 center = uCenter.xy / uInputSize.xy;\n float gradient = uRadius / uInputSize.x * 0.3;\n float radius = uRadius / uInputSize.x - gradient * 0.5;\n int k = uKernelSize - 1;\n\n vec2 coord = vTextureCoord;\n vec2 dir = vec2(center - coord);\n float dist = length(vec2(dir.x, dir.y * aspect));\n\n float radianStep = uRadian;\n if (radius >= 0.0 && dist > radius) {\n float delta = dist - radius;\n float gap = gradient;\n float scale = 1.0 - abs(delta / gap);\n if (scale <= 0.0) {\n finalColor = color;\n return;\n }\n radianStep *= scale;\n }\n radianStep /= float(k);\n\n float s = sin(radianStep);\n float c = cos(radianStep);\n mat2 rotationMatrix = mat2(vec2(c, -s), vec2(s, c));\n\n for(int i = 0; i < MAX_KERNEL_SIZE - 1; i++) {\n if (i == k) {\n break;\n }\n\n coord -= center;\n coord.y *= aspect;\n coord = rotationMatrix * coord;\n coord.y /= aspect;\n coord += center;\n\n vec4 sample = texture(uTexture, coord);\n\n // switch to pre-multiplied alpha to correctly blur transparent images\n // sample.rgb *= sample.a;\n\n color += sample;\n }\n\n finalColor = color / float(uKernelSize);\n}\n",tK="struct RadialBlurUniforms {\n uRadian: f32,\n uCenter: vec2<f32>,\n uKernelSize: f32,\n uRadius: f32,\n};\n\nstruct GlobalFilterUniforms {\n uInputSize:vec4<f32>,\n uInputPixel:vec4<f32>,\n uInputClamp:vec4<f32>,\n uOutputFrame:vec4<f32>,\n uGlobalFrame:vec4<f32>,\n uOutputTexture:vec4<f32>,\n};\n\n@group(0) @binding(0) var<uniform> gfu: GlobalFilterUniforms;\n\n@group(0) @binding(1) var uTexture: texture_2d<f32>; \n@group(0) @binding(2) var uSampler: sampler;\n@group(1) @binding(0) var<uniform> radialBlurUniforms : RadialBlurUniforms;\n\n@fragment\nfn mainFragment(\n @builtin(position) position: vec4<f32>,\n @location(0) uv : vec2<f32>\n) -> @location(0) vec4<f32> {\n let uRadian = radialBlurUniforms.uRadian;\n let uCenter = radialBlurUniforms.uCenter;\n let uKernelSize = radialBlurUniforms.uKernelSize;\n let uRadius = radialBlurUniforms.uRadius;\n \n var returnColorOnly = false;\n\n if (uKernelSize == 0)\n {\n returnColorOnly = true;\n }\n\n let aspect: f32 = gfu.uInputSize.y / gfu.uInputSize.x;\n let center: vec2<f32> = uCenter.xy / gfu.uInputSize.xy;\n let gradient: f32 = uRadius / gfu.uInputSize.x * 0.3;\n let radius: f32 = uRadius / gfu.uInputSize.x - gradient * 0.5;\n let k: i32 = i32(uKernelSize - 1);\n\n var coord: vec2<f32> = uv;\n let dir: vec2<f32> = vec2<f32>(center - coord);\n let dist: f32 = length(vec2<f32>(dir.x, dir.y * aspect));\n\n var radianStep: f32 = uRadian;\n \n if (radius >= 0.0 && dist > radius)\n {\n let delta: f32 = dist - radius;\n let gap: f32 = gradient;\n let scale: f32 = 1.0 - abs(delta / gap);\n if (scale <= 0.0) {\n returnColorOnly = true;\n }\n radianStep *= scale;\n }\n\n radianStep /= f32(k);\n\n let s: f32 = sin(radianStep);\n let c: f32 = cos(radianStep);\n let rotationMatrix: mat2x2<f32> = mat2x2<f32>(vec2<f32>(c, -s), vec2<f32>(s, c));\n \n var color: vec4<f32> = textureSample(uTexture, uSampler, uv);\n let baseColor = vec4<f32>(color);\n\n let minK: i32 = min(i32(uKernelSize) - 1, MAX_KERNEL_SIZE - 1);\n\n for(var i: i32 = 0; i < minK; i += 1) \n {\n coord -= center;\n coord.y *= aspect;\n coord = rotationMatrix * coord;\n coord.y /= aspect;\n coord += center;\n let sample: vec4<f32> = textureSample(uTexture, uSampler, coord);\n // switch to pre-multiplied alpha to correctly blur transparent images\n // sample.rgb *= sample.a;\n color += sample;\n }\n\n return select(color / f32(uKernelSize), baseColor, returnColorOnly);\n}\n\nconst MAX_KERNEL_SIZE: i32 = 2048;",tJ=Object.defineProperty,tQ=(e,t,r)=>t in e?tJ(e,t,{enumerable:!0,configurable:!0,writable:!0,value:r}):e[t]=r,t0=(e,t,r)=>(tQ(e,"symbol"!=typeof t?t+"":t,r),r);let t1=class e extends i.dJT{constructor(...t){let r=t[0]??{};if("number"==typeof r){if((0,i.t66)("6.0.0","RadialBlurFilter constructor params are now options object. See params: { angle, center, kernelSize, radius }"),r={angle:r},t[1]){const e="x"in t[1]?t[1].x:t[1][0],n="y"in t[1]?t[1].y:t[1][1];r.center={x:e,y:n}}t[2]&&(r.kernelSize=t[2]),t[3]&&(r.radius=t[3])}r={...e.DEFAULT_OPTIONS,...r},super({gpuProgram:i.BrD.from({vertex:{source:a,entryPoint:"mainVertex"},fragment:{source:tK,entryPoint:"mainFragment"}}),glProgram:i.M2g.from({vertex:o,fragment:tZ,name:"radial-blur-filter"}),resources:{radialBlurUniforms:{uRadian:{value:0,type:"f32"},uCenter:{value:r.center,type:"vec2<f32>"},uKernelSize:{value:r.kernelSize,type:"i32"},uRadius:{value:r.radius,type:"f32"}}}}),t0(this,"uniforms"),t0(this,"_angle"),t0(this,"_kernelSize"),this.uniforms=this.resources.radialBlurUniforms.uniforms,Object.assign(this,r)}_updateKernelSize(){this.uniforms.uKernelSize=0!==this._angle?this.kernelSize:0}get angle(){return this._angle}set angle(e){this._angle=e,this.uniforms.uRadian=e*Math.PI/180,this._updateKernelSize()}get center(){return this.uniforms.uCenter}set center(e){Array.isArray(e)&&(e={x:e[0],y:e[1]}),this.uniforms.uCenter=e}get centerX(){return this.center.x}set centerX(e){this.center.x=e}get centerY(){return this.center.y}set centerY(e){this.center.y=e}get kernelSize(){return this._kernelSize}set kernelSize(e){this._kernelSize=e,this._updateKernelSize()}get radius(){return this.uniforms.uRadius}set radius(e){this.uniforms.uRadius=e<0||e===1/0?-1:e}};t0(t1,"DEFAULT_OPTIONS",{angle:0,center:{x:0,y:0},kernelSize:5,radius:-1});var t2="precision highp float;\nin vec2 vTextureCoord;\nout vec4 finalColor;\n\nuniform sampler2D uTexture;\nuniform float uMirror;\nuniform float uBoundary;\nuniform vec2 uAmplitude;\nuniform vec2 uWavelength;\nuniform vec2 uAlpha;\nuniform float uTime;\nuniform vec2 uDimensions;\n\nuniform vec4 uInputSize;\nuniform vec4 uInputClamp;\n\nfloat rand(vec2 co) {\n return fract(sin(dot(co.xy, vec2(12.9898, 78.233))) * 43758.5453);\n}\n\nvoid main(void)\n{\n vec2 pixelCoord = vTextureCoord.xy * uInputSize.xy;\n vec2 coord = pixelCoord / uDimensions;\n\n if (coord.y < uBoundary) {\n finalColor = texture(uTexture, vTextureCoord);\n return;\n }\n\n float k = (coord.y - uBoundary) / (1. - uBoundary + 0.0001);\n float areaY = uBoundary * uDimensions.y / uInputSize.y;\n float v = areaY + areaY - vTextureCoord.y;\n float y = uMirror > 0.5 ? v : vTextureCoord.y;\n\n float _amplitude = ((uAmplitude.y - uAmplitude.x) * k + uAmplitude.x ) / uInputSize.x;\n float _waveLength = ((uWavelength.y - uWavelength.x) * k + uWavelength.x) / uInputSize.y;\n float _alpha = (uAlpha.y - uAlpha.x) * k + uAlpha.x;\n\n float x = vTextureCoord.x + cos(v * 6.28 / _waveLength - uTime) * _amplitude;\n x = clamp(x, uInputClamp.x, uInputClamp.z);\n\n vec4 color = texture(uTexture, vec2(x, y));\n\n finalColor = color * _alpha;\n}\n",t3="struct ReflectionUniforms {\n uMirror: f32,\n uBoundary: f32,\n uAmplitude: vec2<f32>,\n uWavelength: vec2<f32>,\n uAlpha: vec2<f32>,\n uTime: f32,\n uDimensions: vec2<f32>,\n};\n\nstruct GlobalFilterUniforms {\n uInputSize:vec4<f32>,\n uInputPixel:vec4<f32>,\n uInputClamp:vec4<f32>,\n uOutputFrame:vec4<f32>,\n uGlobalFrame:vec4<f32>,\n uOutputTexture:vec4<f32>,\n};\n\n@group(0) @binding(0) var<uniform> gfu: GlobalFilterUniforms;\n\n@group(0) @binding(1) var uTexture: texture_2d<f32>; \n@group(0) @binding(2) var uSampler: sampler;\n@group(1) @binding(0) var<uniform> reflectionUniforms : ReflectionUniforms;\n\n@fragment\nfn mainFragment(\n @builtin(position) position: vec4<f32>,\n @location(0) uv : vec2<f32>\n) -> @location(0) vec4<f32> {\n let uDimensions: vec2<f32> = reflectionUniforms.uDimensions;\n let uBoundary: f32 = reflectionUniforms.uBoundary;\n let uMirror: bool = reflectionUniforms.uMirror > 0.5;\n let uAmplitude: vec2<f32> = reflectionUniforms.uAmplitude;\n let uWavelength: vec2<f32> = reflectionUniforms.uWavelength;\n let uAlpha: vec2<f32> = reflectionUniforms.uAlpha;\n let uTime: f32 = reflectionUniforms.uTime;\n\n let pixelCoord: vec2<f32> = uv * gfu.uInputSize.xy;\n let coord: vec2<f32> = pixelCoord /uDimensions;\n var returnColorOnly: bool = false;\n\n if (coord.y < uBoundary) {\n returnColorOnly = true;\n }\n\n let k: f32 = (coord.y - uBoundary) / (1. - uBoundary + 0.0001);\n let areaY: f32 = uBoundary * uDimensions.y / gfu.uInputSize.y;\n let v: f32 = areaY + areaY - uv.y;\n let y: f32 = select(uv.y, v, uMirror);\n\n let amplitude: f32 = ((uAmplitude.y - uAmplitude.x) * k + uAmplitude.x ) / gfu.uInputSize.x;\n let waveLength: f32 = ((uWavelength.y - uWavelength.x) * k + uWavelength.x) / gfu.uInputSize.y;\n let alpha: f32 = select((uAlpha.y - uAlpha.x) * k + uAlpha.x, 1., returnColorOnly);\n\n var x: f32 = uv.x + cos(v * 6.28 / waveLength - uTime) * amplitude;\n x = clamp(x, gfu.uInputClamp.x, gfu.uInputClamp.z);\n \n return textureSample(uTexture, uSampler, select(vec2<f32>(x, y), uv, returnColorOnly)) * alpha;\n}\n\nfn rand(co: vec2<f32>) -> f32 \n{\n return fract(sin(dot(co.xy, vec2(12.9898, 78.233))) * 43758.5453);\n}",t5=Object.defineProperty,t4=(e,t,r)=>t in e?t5(e,t,{enumerable:!0,configurable:!0,writable:!0,value:r}):e[t]=r,t6=(e,t,r)=>(t4(e,"symbol"!=typeof t?t+"":t,r),r);let t8=class e extends i.dJT{constructor(t){t={...e.DEFAULT_OPTIONS,...t},super({gpuProgram:i.BrD.from({vertex:{source:a,entryPoint:"mainVertex"},fragment:{source:t3,entryPoint:"mainFragment"}}),glProgram:i.M2g.from({vertex:o,fragment:t2,name:"reflection-filter"}),resources:{reflectionUniforms:{uMirror:{value:+!!t.mirror,type:"f32"},uBoundary:{value:t.boundary,type:"f32"},uAmplitude:{value:t.amplitude,type:"vec2<f32>"},uWavelength:{value:t.waveLength,type:"vec2<f32>"},uAlpha:{value:t.alpha,type:"vec2<f32>"},uTime:{value:t.time,type:"f32"},uDimensions:{value:new Float32Array(2),type:"vec2<f32>"}}}}),t6(this,"uniforms"),t6(this,"time",0),this.uniforms=this.resources.reflectionUniforms.uniforms,Object.assign(this,t)}apply(e,t,r,n){this.uniforms.uDimensions[0]=t.frame.width,this.uniforms.uDimensions[1]=t.frame.height,this.uniforms.uTime=this.time,e.applyFilter(this,t,r,n)}get mirror(){return this.uniforms.uMirror>.5}set mirror(e){this.uniforms.uMirror=+!!e}get boundary(){return this.uniforms.uBoundary}set boundary(e){this.uniforms.uBoundary=e}get amplitude(){return Array.from(this.uniforms.uAmplitude)}set amplitude(e){this.uniforms.uAmplitude[0]=e[0],this.uniforms.uAmplitude[1]=e[1]}get amplitudeStart(){return this.uniforms.uAmplitude[0]}set amplitudeStart(e){this.uniforms.uAmplitude[0]=e}get amplitudeEnd(){return this.uniforms.uAmplitude[1]}set amplitudeEnd(e){this.uniforms.uAmplitude[1]=e}get waveLength(){return Array.from(this.uniforms.uWavelength)}set waveLength(e){this.uniforms.uWavelength[0]=e[0],this.uniforms.uWavelength[1]=e[1]}get wavelengthStart(){return this.uniforms.uWavelength[0]}set wavelengthStart(e){this.uniforms.uWavelength[0]=e}get wavelengthEnd(){return this.uniforms.uWavelength[1]}set wavelengthEnd(e){this.uniforms.uWavelength[1]=e}get alpha(){return Array.from(this.uniforms.uAlpha)}set alpha(e){this.uniforms.uAlpha[0]=e[0],this.uniforms.uAlpha[1]=e[1]}get alphaStart(){return this.uniforms.uAlpha[0]}set alphaStart(e){this.uniforms.uAlpha[0]=e}get alphaEnd(){return this.uniforms.uAlpha[1]}set alphaEnd(e){this.uniforms.uAlpha[1]=e}};t6(t8,"DEFAULT_OPTIONS",{mirror:!0,boundary:.5,amplitude:[0,20],waveLength:[30,100],alpha:[1,1],time:0});var t9="precision highp float;\nin vec2 vTextureCoord;\nout vec4 finalColor;\n\nuniform sampler2D uTexture;\nuniform vec4 uInputSize;\nuniform vec2 uRed;\nuniform vec2 uGreen;\nuniform vec2 uBlue;\n\nvoid main(void)\n{\n float r = texture(uTexture, vTextureCoord + uRed/uInputSize.xy).r;\n float g = texture(uTexture, vTextureCoord + uGreen/uInputSize.xy).g;\n float b = texture(uTexture, vTextureCoord + uBlue/uInputSize.xy).b;\n float a = texture(uTexture, vTextureCoord).a;\n finalColor = vec4(r, g, b, a);\n}\n",t7="struct RgbSplitUniforms {\n uRed: vec2<f32>,\n uGreen: vec2<f32>,\n uBlue: vec3<f32>,\n};\n\nstruct GlobalFilterUniforms {\n uInputSize:vec4<f32>,\n uInputPixel:vec4<f32>,\n uInputClamp:vec4<f32>,\n uOutputFrame:vec4<f32>,\n uGlobalFrame:vec4<f32>,\n uOutputTexture:vec4<f32>,\n};\n\n@group(0) @binding(0) var<uniform> gfu: GlobalFilterUniforms;\n\n@group(0) @binding(1) var uTexture: texture_2d<f32>; \n@group(0) @binding(2) var uSampler: sampler;\n@group(1) @binding(0) var<uniform> rgbSplitUniforms : RgbSplitUniforms;\n\n@fragment\nfn mainFragment(\n @builtin(position) position: vec4<f32>,\n @location(0) uv : vec2<f32>\n) -> @location(0) vec4<f32> {\n let r = textureSample(uTexture, uSampler, uv + vec2<f32>(rgbSplitUniforms.uRed.x / gfu.uInputSize.x, rgbSplitUniforms.uRed.y / gfu.uInputSize.y)).r;\n let g = textureSample(uTexture, uSampler, uv + vec2<f32>(rgbSplitUniforms.uGreen.x / gfu.uInputSize.x, rgbSplitUniforms.uGreen.y / gfu.uInputSize.y)).g;\n let b = textureSample(uTexture, uSampler, uv + vec2<f32>(rgbSplitUniforms.uBlue.x / gfu.uInputSize.x, rgbSplitUniforms.uBlue.y / gfu.uInputSize.y)).b;\n let a = textureSample(uTexture, uSampler, uv).a;\n return vec4<f32>(r, g, b, a);\n}\n",re=Object.defineProperty,rt=(e,t,r)=>t in e?re(e,t,{enumerable:!0,configurable:!0,writable:!0,value:r}):e[t]=r,rr=(e,t,r)=>(rt(e,"symbol"!=typeof t?t+"":t,r),r);let rn=class e extends i.dJT{constructor(...t){let r=t[0]??{};(Array.isArray(r)||"x"in r&&"y"in r)&&((0,i.t66)("6.0.0","RGBSplitFilter constructor params are now options object. See params: { red, green, blue }"),r={red:r},void 0!==t[1]&&(r.green=t[1]),void 0!==t[2]&&(r.blue=t[2])),r={...e.DEFAULT_OPTIONS,...r},super({gpuProgram:i.BrD.from({vertex:{source:a,entryPoint:"mainVertex"},fragment:{source:t7,entryPoint:"mainFragment"}}),glProgram:i.M2g.from({vertex:o,fragment:t9,name:"rgb-split-filter"}),resources:{rgbSplitUniforms:{uRed:{value:r.red,type:"vec2<f32>"},uGreen:{value:r.green,type:"vec2<f32>"},uBlue:{value:r.blue,type:"vec2<f32>"}}}}),rr(this,"uniforms"),this.uniforms=this.resources.rgbSplitUniforms.uniforms,Object.assign(this,r)}get red(){return this.uniforms.uRed}set red(e){Array.isArray(e)&&(e={x:e[0],y:e[1]}),this.uniforms.uRed=e}get redX(){return this.red.x}set redX(e){this.red.x=e}get redY(){return this.red.y}set redY(e){this.red.y=e}get green(){return this.uniforms.uGreen}set green(e){Array.isArray(e)&&(e={x:e[0],y:e[1]}),this.uniforms.uGreen=e}get greenX(){return this.green.x}set greenX(e){this.green.x=e}get greenY(){return this.green.y}set greenY(e){this.green.y=e}get blue(){return this.uniforms.uBlue}set blue(e){Array.isArray(e)&&(e={x:e[0],y:e[1]}),this.uniforms.uBlue=e}get blueX(){return this.blue.x}set blueX(e){this.blue.x=e}get blueY(){return this.blue.y}set blueY(e){this.blue.y=e}};rr(rn,"DEFAULT_OPTIONS",{red:{x:-10,y:0},green:{x:0,y:10},blue:{x:0,y:0}});var ri="\nprecision highp float;\nin vec2 vTextureCoord;\nout vec4 finalColor;\n\nuniform sampler2D uTexture;\nuniform vec2 uCenter;\nuniform float uTime;\nuniform float uSpeed;\nuniform vec4 uWave;\n\nuniform vec4 uInputSize;\nuniform vec4 uInputClamp;\n\nconst float PI = 3.14159;\n\nvoid main()\n{\n float uAmplitude = uWave[0];\n float uWavelength = uWave[1];\n float uBrightness = uWave[2];\n float uRadius = uWave[3];\n\n float halfWavelength = uWavelength * 0.5 / uInputSize.x;\n float maxRadius = uRadius / uInputSize.x;\n float currentRadius = uTime * uSpeed / uInputSize.x;\n\n float fade = 1.0;\n\n if (maxRadius > 0.0) {\n if (currentRadius > maxRadius) {\n finalColor = texture(uTexture, vTextureCoord);\n return;\n }\n fade = 1.0 - pow(currentRadius / maxRadius, 2.0);\n }\n\n vec2 dir = vec2(vTextureCoord - uCenter / uInputSize.xy);\n dir.y *= uInputSize.y / uInputSize.x;\n float dist = length(dir);\n\n if (dist <= 0.0 || dist < currentRadius - halfWavelength || dist > currentRadius + halfWavelength) {\n finalColor = texture(uTexture, vTextureCoord);\n return;\n }\n\n vec2 diffUV = normalize(dir);\n\n float diff = (dist - currentRadius) / halfWavelength;\n\n float p = 1.0 - pow(abs(diff), 2.0);\n\n // float powDiff = diff * pow(p, 2.0) * ( amplitude * fade );\n float powDiff = 1.25 * sin(diff * PI) * p * ( uAmplitude * fade );\n\n vec2 offset = diffUV * powDiff / uInputSize.xy;\n\n // Do clamp :\n vec2 coord = vTextureCoord + offset;\n vec2 clampedCoord = clamp(coord, uInputClamp.xy, uInputClamp.zw);\n vec4 color = texture(uTexture, clampedCoord);\n if (coord != clampedCoord) {\n color *= max(0.0, 1.0 - length(coord - clampedCoord));\n }\n\n // No clamp :\n // finalColor = texture(uTexture, vTextureCoord + offset);\n\n color.rgb *= 1.0 + (uBrightness - 1.0) * p * fade;\n\n finalColor = color;\n}\n",ro="\nstruct ShockWaveUniforms {\n uTime: f32,\n uOffset: vec2<f32>,\n uSpeed: f32,\n uWave: vec4<f32>,\n};\n\nstruct GlobalFilterUniforms {\n uInputSize:vec4<f32>,\n uInputPixel:vec4<f32>,\n uInputClamp:vec4<f32>,\n uOutputFrame:vec4<f32>,\n uGlobalFrame:vec4<f32>,\n uOutputTexture:vec4<f32>,\n};\n\n@group(0) @binding(0) var<uniform> gfu: GlobalFilterUniforms;\n\n@group(0) @binding(1) var uTexture: texture_2d<f32>; \n@group(0) @binding(2) var uSampler: sampler;\n@group(1) @binding(0) var<uniform> shockwaveUniforms : ShockWaveUniforms;\n\n@fragment\nfn mainFragment(\n @builtin(position) position: vec4<f32>,\n @location(0) uv : vec2<f32>\n) -> @location(0) vec4<f32> {\n\n let uTime = shockwaveUniforms.uTime;\n let uOffset = shockwaveUniforms.uOffset;\n let uSpeed = shockwaveUniforms.uSpeed;\n let uAmplitude = shockwaveUniforms.uWave[0];\n let uWavelength = shockwaveUniforms.uWave[1];\n let uBrightness = shockwaveUniforms.uWave[2];\n let uRadius = shockwaveUniforms.uWave[3];\n let halfWavelength: f32 = uWavelength * 0.5 / gfu.uInputSize.x;\n let maxRadius: f32 = uRadius / gfu.uInputSize.x;\n let currentRadius: f32 = uTime * uSpeed / gfu.uInputSize.x;\n var fade: f32 = 1.0;\n var returnColorOnly: bool = false;\n \n if (maxRadius > 0.0) {\n if (currentRadius > maxRadius) {\n returnColorOnly = true;\n }\n fade = 1.0 - pow(currentRadius / maxRadius, 2.0);\n }\n var dir: vec2<f32> = vec2<f32>(uv - uOffset / gfu.uInputSize.xy);\n dir.y *= gfu.uInputSize.y / gfu.uInputSize.x;\n\n let dist:f32 = length(dir);\n\n if (dist <= 0.0 || dist < currentRadius - halfWavelength || dist > currentRadius + halfWavelength) {\n returnColorOnly = true;\n }\n\n let diffUV: vec2<f32> = normalize(dir);\n let diff: f32 = (dist - currentRadius) / halfWavelength;\n let p: f32 = 1.0 - pow(abs(diff), 2.0);\n let powDiff: f32 = 1.25 * sin(diff * PI) * p * ( uAmplitude * fade );\n let offset: vec2<f32> = diffUV * powDiff / gfu.uInputSize.xy;\n // Do clamp :\n let coord: vec2<f32> = uv + offset;\n let clampedCoord: vec2<f32> = clamp(coord, gfu.uInputClamp.xy, gfu.uInputClamp.zw);\n\n var clampedColor: vec4<f32> = textureSample(uTexture, uSampler, clampedCoord);\n \n if (boolVec2(coord, clampedCoord)) \n {\n clampedColor *= max(0.0, 1.0 - length(coord - clampedCoord));\n }\n // No clamp :\n var finalColor = clampedColor;\n\n return select(finalColor, textureSample(uTexture, uSampler, uv), returnColorOnly);\n}\n\nfn boolVec2(x: vec2<f32>, y: vec2<f32>) -> bool\n{\n if (x.x == y.x && x.y == y.y)\n {\n return true;\n }\n \n return false;\n}\n\nconst PI: f32 = 3.14159265358979323846264;\n",ra=Object.defineProperty,rs=(e,t,r)=>t in e?ra(e,t,{enumerable:!0,configurable:!0,writable:!0,value:r}):e[t]=r,rl=(e,t,r)=>(rs(e,"symbol"!=typeof t?t+"":t,r),r);let ru=class e extends i.dJT{constructor(...t){let r=t[0]??{};(Array.isArray(r)||"x"in r&&"y"in r)&&((0,i.t66)("6.0.0","ShockwaveFilter constructor params are now options object. See params: { center, speed, amplitude, wavelength, brightness, radius, time }"),r={center:r,...t[1]},void 0!==t[2]&&(r.time=t[2])),r={...e.DEFAULT_OPTIONS,...r},super({gpuProgram:i.BrD.from({vertex:{source:a,entryPoint:"mainVertex"},fragment:{source:ro,entryPoint:"mainFragment"}}),glProgram:i.M2g.from({vertex:o,fragment:ri,name:"shockwave-filter"}),resources:{shockwaveUniforms:{uTime:{value:r.time,type:"f32"},uCenter:{value:r.center,type:"vec2<f32>"},uSpeed:{value:r.speed,type:"f32"},uWave:{value:new Float32Array(4),type:"vec4<f32>"}}}}),rl(this,"uniforms"),rl(this,"time"),this.time=0,this.uniforms=this.resources.shockwaveUniforms.uniforms,Object.assign(this,r)}apply(e,t,r,n){this.uniforms.uTime=this.time,e.applyFilter(this,t,r,n)}get center(){return this.uniforms.uCenter}set center(e){Array.isArray(e)&&(e={x:e[0],y:e[1]}),this.uniforms.uCenter=e}get centerX(){return this.uniforms.uCenter.x}set centerX(e){this.uniforms.uCenter.x=e}get centerY(){return this.uniforms.uCenter.y}set centerY(e){this.uniforms.uCenter.y=e}get speed(){return this.uniforms.uSpeed}set speed(e){this.uniforms.uSpeed=e}get amplitude(){return this.uniforms.uWave[0]}set amplitude(e){this.uniforms.uWave[0]=e}get wavelength(){return this.uniforms.uWave[1]}set wavelength(e){this.uniforms.uWave[1]=e}get brightness(){return this.uniforms.uWave[2]}set brightness(e){this.uniforms.uWave[2]=e}get radius(){return this.uniforms.uWave[3]}set radius(e){this.uniforms.uWave[3]=e}};rl(ru,"DEFAULT_OPTIONS",{center:{x:0,y:0},speed:500,amplitude:30,wavelength:160,brightness:1,radius:-1});var rc="precision highp float;\nin vec2 vTextureCoord;\nout vec4 finalColor;\n\nuniform sampler2D uTexture;\nuniform sampler2D uMapTexture;\nuniform vec3 uColor;\nuniform float uAlpha;\nuniform vec2 uDimensions;\n\nuniform vec4 uInputSize;\n\nvoid main() {\n vec4 diffuseColor = texture(uTexture, vTextureCoord);\n vec2 lightCoord = (vTextureCoord * uInputSize.xy) / uDimensions;\n vec4 light = texture(uMapTexture, lightCoord);\n vec3 ambient = uColor.rgb * uAlpha;\n vec3 intensity = ambient + light.rgb;\n vec3 color = diffuseColor.rgb * intensity;\n finalColor = vec4(color, diffuseColor.a);\n}\n",rf="struct SimpleLightmapUniforms {\n uColor: vec3<f32>,\n uAlpha: f32,\n uDimensions: vec2<f32>,\n};\n\nstruct GlobalFilterUniforms {\n uInputSize:vec4<f32>,\n uInputPixel:vec4<f32>,\n uInputClamp:vec4<f32>,\n uOutputFrame:vec4<f32>,\n uGlobalFrame:vec4<f32>,\n uOutputTexture:vec4<f32>,\n};\n\n@group(0) @binding(0) var<uniform> gfu: GlobalFilterUniforms;\n\n@group(0) @binding(1) var uTexture: texture_2d<f32>; \n@group(0) @binding(2) var uSampler: sampler;\n@group(1) @binding(0) var<uniform> simpleLightmapUniforms : SimpleLightmapUniforms;\n@group(1) @binding(1) var uMapTexture: texture_2d<f32>;\n@group(1) @binding(2) var uMapSampler: sampler;\n\n@fragment\nfn mainFragment(\n @builtin(position) position: vec4<f32>,\n @location(0) uv : vec2<f32>,\n) -> @location(0) vec4<f32> {\n let uColor = simpleLightmapUniforms.uColor;\n let uAlpha = simpleLightmapUniforms.uAlpha;\n let uDimensions = simpleLightmapUniforms.uDimensions;\n\n let diffuseColor: vec4<f32> = textureSample(uTexture, uSampler, uv);\n let lightCoord: vec2<f32> = (uv * gfu.uInputSize.xy) / simpleLightmapUniforms.uDimensions;\n let light: vec4<f32> = textureSample(uMapTexture, uMapSampler, lightCoord);\n let ambient: vec3<f32> = uColor * uAlpha;\n let intensity: vec3<f32> = ambient + light.rgb;\n let finalColor: vec3<f32> = diffuseColor.rgb * intensity;\n return vec4<f32>(finalColor, diffuseColor.a);\n}",rh=Object.defineProperty,rd=(e,t,r)=>t in e?rh(e,t,{enumerable:!0,configurable:!0,writable:!0,value:r}):e[t]=r,rp=(e,t,r)=>(rd(e,"symbol"!=typeof t?t+"":t,r),r);let rm=class e extends i.dJT{constructor(...t){let r=t[0]??{};if(r instanceof i.gPd&&((0,i.t66)("6.0.0","SimpleLightmapFilter constructor params are now options object. See params: { lightMap, color, alpha }"),r={lightMap:r},void 0!==t[1]&&(r.color=t[1]),void 0!==t[2]&&(r.alpha=t[2])),!(r={...e.DEFAULT_OPTIONS,...r}).lightMap)throw Error("No light map texture source was provided to SimpleLightmapFilter");super({gpuProgram:i.BrD.from({vertex:{source:a,entryPoint:"mainVertex"},fragment:{source:rf,entryPoint:"mainFragment"}}),glProgram:i.M2g.from({vertex:o,fragment:rc,name:"simple-lightmap-filter"}),resources:{simpleLightmapUniforms:{uColor:{value:new Float32Array(3),type:"vec3<f32>"},uAlpha:{value:r.alpha,type:"f32"},uDimensions:{value:new Float32Array(2),type:"vec2<f32>"}},uMapTexture:r.lightMap.source,uMapSampler:r.lightMap.source.style}}),rp(this,"uniforms"),rp(this,"_color"),rp(this,"_lightMap"),this.uniforms=this.resources.simpleLightmapUniforms.uniforms,this._color=new i.Q1f,this.color=r.color??0,Object.assign(this,r)}apply(e,t,r,n){this.uniforms.uDimensions[0]=t.frame.width,this.uniforms.uDimensions[1]=t.frame.height,e.applyFilter(this,t,r,n)}get lightMap(){return this._lightMap}set lightMap(e){this._lightMap=e,this.resources.uMapTexture=e.source,this.resources.uMapSampler=e.source.style}get color(){return this._color.value}set color(e){this._color.setValue(e);let[t,r,n]=this._color.toArray();this.uniforms.uColor[0]=t,this.uniforms.uColor[1]=r,this.uniforms.uColor[2]=n}get alpha(){return this.uniforms.uAlpha}set alpha(e){this.uniforms.uAlpha=e}};rp(rm,"DEFAULT_OPTIONS",{lightMap:i.gPd.WHITE,color:0,alpha:1});var rg="in vec2 vTextureCoord;\nout vec4 finalColor;\n\nuniform sampler2D uTexture;\nuniform vec2 uBlur;\nuniform vec2 uStart;\nuniform vec2 uEnd;\nuniform vec2 uDelta;\nuniform vec2 uDimensions;\n\nfloat random(vec3 scale, float seed)\n{\n return fract(sin(dot(gl_FragCoord.xyz + seed, scale)) * 43758.5453 + seed);\n}\n\nvoid main(void)\n{\n vec4 color = vec4(0.0);\n float total = 0.0;\n\n float blur = uBlur[0];\n float gradientBlur = uBlur[1];\n\n float offset = random(vec3(12.9898, 78.233, 151.7182), 0.0);\n vec2 normal = normalize(vec2(uStart.y - uEnd.y, uEnd.x - uStart.x));\n float radius = smoothstep(0.0, 1.0, abs(dot(vTextureCoord * uDimensions - uStart, normal)) / gradientBlur) * blur;\n\n for (float t = -30.0; t <= 30.0; t++)\n {\n float percent = (t + offset - 0.5) / 30.0;\n float weight = 1.0 - abs(percent);\n vec4 sample = texture(uTexture, vTextureCoord + uDelta / uDimensions * percent * radius);\n sample.rgb *= sample.a;\n color += sample * weight;\n total += weight;\n }\n\n color /= total;\n color.rgb /= color.a + 0.00001;\n\n finalColor = color;\n}\n",rv="struct TiltShiftUniforms {\n uBlur: vec2<f32>,\n uStart: vec2<f32>,\n uEnd: vec2<f32>,\n uDelta: vec2<f32>,\n uDimensions: vec2<f32>,\n};\n\n@group(0) @binding(1) var uTexture: texture_2d<f32>; \n@group(0) @binding(2) var uSampler: sampler;\n@group(1) @binding(0) var<uniform> tiltShiftUniforms : TiltShiftUniforms;\n\n@fragment\nfn mainFragment(\n @builtin(position) position: vec4<f32>,\n @location(0) uv : vec2<f32>\n) -> @location(0) vec4<f32> {\n let uBlur = tiltShiftUniforms.uBlur[0];\n let uBlurGradient = tiltShiftUniforms.uBlur[1];\n let uStart = tiltShiftUniforms.uStart;\n let uEnd = tiltShiftUniforms.uEnd;\n let uDelta = tiltShiftUniforms.uDelta;\n let uDimensions = tiltShiftUniforms.uDimensions;\n\n var color: vec4<f32> = vec4<f32>(0.0);\n var total: f32 = 0.0;\n\n let offset: f32 = random(position, vec3<f32>(12.9898, 78.233, 151.7182), 0.0);\n let normal: vec2<f32> = normalize(vec2<f32>(uStart.y - uEnd.y, uEnd.x - uStart.x));\n let radius: f32 = smoothstep(0.0, 1.0, abs(dot(uv * uDimensions - uStart, normal)) / uBlurGradient) * uBlur;\n\n for (var t: f32 = -30.0; t <= 30.0; t += 1.0)\n {\n var percent: f32 = (t + offset - 0.5) / 30.0;\n var weight: f32 = 1.0 - abs(percent);\n var sample: vec4<f32> = textureSample(uTexture, uSampler, uv + uDelta / uDimensions * percent * radius);\n sample = vec4<f32>(sample.xyz * sample.a, sample.a); // multiply sample.rgb with sample.a\n color += sample * weight;\n total += weight;\n }\n\n color /= total;\n color = vec4<f32>(color.xyz / (color.a + 0.00001), color.a); // divide color.rgb by color.a + 0.00001\n\n return color;\n}\n\n\nfn random(position: vec4<f32>, scale: vec3<f32>, seed: f32) -> f32\n{\n return fract(sin(dot(position.xyz + seed, scale)) * 43758.5453 + seed);\n}",ry=Object.defineProperty,rb=(e,t,r)=>t in e?ry(e,t,{enumerable:!0,configurable:!0,writable:!0,value:r}):e[t]=r,r_=(e,t,r)=>(rb(e,"symbol"!=typeof t?t+"":t,r),r);let rw=class e extends i.dJT{constructor(t){const{width:r,height:n}=i.vrt.defaultOptions;t={...e.DEFAULT_OPTIONS,start:{x:0,y:n/2},end:{x:r,y:n/2},...t},super({gpuProgram:i.BrD.from({vertex:{source:a,entryPoint:"mainVertex"},fragment:{source:rv,entryPoint:"mainFragment"}}),glProgram:i.M2g.from({vertex:o,fragment:rg,name:"tilt-shift-axis-filter"}),resources:{tiltShiftUniforms:{uBlur:{value:new Float32Array([t.blur,t.gradientBlur]),type:"vec2<f32>"},uStart:{value:t.start,type:"vec2<f32>"},uEnd:{value:t.end,type:"vec2<f32>"},uDelta:{value:new Float32Array([0,0]),type:"vec2<f32>"},uDimensions:{value:new Float32Array([r,n]),type:"vec2<f32>"}}}}),r_(this,"uniforms"),r_(this,"_tiltAxis"),this.uniforms=this.resources.tiltShiftUniforms.uniforms,this._tiltAxis=t.axis}updateDimensions(e){let{uDimensions:t}=this.uniforms;t[0]=e.frame.width,t[1]=e.frame.height}updateDelta(){if(this.uniforms.uDelta[0]=0,this.uniforms.uDelta[1]=0,void 0===this._tiltAxis)return;let e=this.uniforms.uEnd,t=this.uniforms.uStart,r=e.x-t.x,n=e.y-t.y,i=Math.sqrt(r*r+n*n),o="vertical"===this._tiltAxis;this.uniforms.uDelta[0]=o?-n/i:r/i,this.uniforms.uDelta[1]=o?r/i:n/i}};r_(rw,"DEFAULT_OPTIONS",{blur:100,gradientBlur:600});var rx="precision highp float;\nin vec2 vTextureCoord;\nout vec4 finalColor;\n\nuniform sampler2D uTexture;\nuniform vec2 uTwist;\nuniform vec2 uOffset;\nuniform vec4 uInputSize;\n\nvec2 mapCoord( vec2 coord )\n{\n coord *= uInputSize.xy;\n coord += uInputSize.zw;\n\n return coord;\n}\n\nvec2 unmapCoord( vec2 coord )\n{\n coord -= uInputSize.zw;\n coord /= uInputSize.xy;\n\n return coord;\n}\n\nvec2 twist(vec2 coord)\n{\n coord -= uOffset;\n\n float dist = length(coord);\n float uRadius = uTwist[0];\n float uAngle = uTwist[1];\n\n if (dist < uRadius)\n {\n float ratioDist = (uRadius - dist) / uRadius;\n float angleMod = ratioDist * ratioDist * uAngle;\n float s = sin(angleMod);\n float c = cos(angleMod);\n coord = vec2(coord.x * c - coord.y * s, coord.x * s + coord.y * c);\n }\n\n coord += uOffset;\n\n return coord;\n}\n\nvoid main(void)\n{\n vec2 coord = mapCoord(vTextureCoord);\n coord = twist(coord);\n coord = unmapCoord(coord);\n finalColor = texture(uTexture, coord);\n}\n",rS="struct TwistUniforms {\n uTwist:vec2<f32>,\n uOffset:vec2<f32>,\n};\n\nstruct GlobalFilterUniforms {\n uInputSize:vec4<f32>,\n uInputPixel:vec4<f32>,\n uInputClamp:vec4<f32>,\n uOutputFrame:vec4<f32>,\n uGlobalFrame:vec4<f32>,\n uOutputTexture:vec4<f32>,\n};\n\n@group(0) @binding(0) var<uniform> gfu: GlobalFilterUniforms;\n\n@group(0) @binding(1) var uTexture: texture_2d<f32>; \n@group(0) @binding(2) var uSampler: sampler;\n@group(1) @binding(0) var<uniform> twistUniforms : TwistUniforms;\n\n@fragment\nfn mainFragment(\n @location(0) uv: vec2<f32>,\n @builtin(position) position: vec4<f32>\n) -> @location(0) vec4<f32> {\n return textureSample(uTexture, uSampler, unmapCoord(twist(mapCoord(uv))));\n}\n\nfn mapCoord(coord: vec2<f32> ) -> vec2<f32>\n{\n var mappedCoord: vec2<f32> = coord;\n mappedCoord *= gfu.uInputSize.xy;\n mappedCoord += gfu.uOutputFrame.xy;\n return mappedCoord;\n}\n\nfn unmapCoord(coord: vec2<f32> ) -> vec2<f32>\n{\n var mappedCoord: vec2<f32> = coord;\n mappedCoord -= gfu.uOutputFrame.xy;\n mappedCoord /= gfu.uInputSize.xy;\n return mappedCoord;\n}\n\nfn twist(coord: vec2<f32>) -> vec2<f32>\n{\n var twistedCoord: vec2<f32> = coord;\n let uRadius = twistUniforms.uTwist[0];\n let uAngle = twistUniforms.uTwist[1];\n let uOffset = twistUniforms.uOffset;\n\n twistedCoord -= uOffset;\n \n let dist = length(twistedCoord);\n\n if (dist < uRadius)\n {\n let ratioDist: f32 = (uRadius - dist) / uRadius;\n let angleMod: f32 = ratioDist * ratioDist * uAngle;\n let s: f32 = sin(angleMod);\n let c: f32 = cos(angleMod);\n twistedCoord = vec2<f32>(twistedCoord.x * c - twistedCoord.y * s, twistedCoord.x * s + twistedCoord.y * c);\n }\n\n twistedCoord += uOffset;\n return twistedCoord;\n}\n",rA=Object.defineProperty,rE=(e,t,r)=>t in e?rA(e,t,{enumerable:!0,configurable:!0,writable:!0,value:r}):e[t]=r,rC=(e,t,r)=>(rE(e,"symbol"!=typeof t?t+"":t,r),r);let rO=class e extends i.dJT{constructor(t){t={...e.DEFAULT_OPTIONS,...t},super({gpuProgram:i.BrD.from({vertex:{source:a,entryPoint:"mainVertex"},fragment:{source:rS,entryPoint:"mainFragment"}}),glProgram:i.M2g.from({vertex:o,fragment:rx,name:"twist-filter"}),resources:{twistUniforms:{uTwist:{value:[t.radius??0,t.angle??0],type:"vec2<f32>"},uOffset:{value:t.offset,type:"vec2<f32>"}}},...t}),rC(this,"uniforms"),this.uniforms=this.resources.twistUniforms.uniforms}get radius(){return this.uniforms.uTwist[0]}set radius(e){this.uniforms.uTwist[0]=e}get angle(){return this.uniforms.uTwist[1]}set angle(e){this.uniforms.uTwist[1]=e}get offset(){return this.uniforms.uOffset}set offset(e){this.uniforms.uOffset=e}get offsetX(){return this.offset.x}set offsetX(e){this.offset.x=e}get offsetY(){return this.offset.y}set offsetY(e){this.offset.y=e}};rC(rO,"DEFAULT_OPTIONS",{padding:20,radius:200,angle:4,offset:{x:0,y:0}});var rk="precision highp float;\nin vec2 vTextureCoord;\nout vec4 finalColor;\n\nuniform sampler2D uTexture;\nuniform float uStrength;\nuniform vec2 uCenter;\nuniform vec2 uRadii;\n\nuniform vec4 uInputSize;\n\nconst float MAX_KERNEL_SIZE = ${MAX_KERNEL_SIZE};\n\n// author: http://byteblacksmith.com/improvements-to-the-canonical-one-liner-glsl-rand-for-opengl-es-2-0/\nhighp float rand(vec2 co, float seed) {\n const highp float a = 12.9898, b = 78.233, c = 43758.5453;\n highp float dt = dot(co + seed, vec2(a, b)), sn = mod(dt, 3.14159);\n return fract(sin(sn) * c + seed);\n}\n\nvoid main() {\n float minGradient = uRadii[0] * 0.3;\n float innerRadius = (uRadii[0] + minGradient * 0.5) / uInputSize.x;\n\n float gradient = uRadii[1] * 0.3;\n float radius = (uRadii[1] - gradient * 0.5) / uInputSize.x;\n\n float countLimit = MAX_KERNEL_SIZE;\n\n vec2 dir = vec2(uCenter.xy / uInputSize.xy - vTextureCoord);\n float dist = length(vec2(dir.x, dir.y * uInputSize.y / uInputSize.x));\n\n float strength = uStrength;\n\n float delta = 0.0;\n float gap;\n if (dist < innerRadius) {\n delta = innerRadius - dist;\n gap = minGradient;\n } else if (radius >= 0.0 && dist > radius) { // radius < 0 means it's infinity\n delta = dist - radius;\n gap = gradient;\n }\n\n if (delta > 0.0) {\n float normalCount = gap / uInputSize.x;\n delta = (normalCount - delta) / normalCount;\n countLimit *= delta;\n strength *= delta;\n if (countLimit < 1.0)\n {\n gl_FragColor = texture(uTexture, vTextureCoord);\n return;\n }\n }\n\n // randomize the lookup values to hide the fixed number of samples\n float offset = rand(vTextureCoord, 0.0);\n\n float total = 0.0;\n vec4 color = vec4(0.0);\n\n dir *= strength;\n\n for (float t = 0.0; t < MAX_KERNEL_SIZE; t++) {\n float percent = (t + offset) / MAX_KERNEL_SIZE;\n float weight = 4.0 * (percent - percent * percent);\n vec2 p = vTextureCoord + dir * percent;\n vec4 sample = texture(uTexture, p);\n\n // switch to pre-multiplied alpha to correctly blur transparent images\n // sample.rgb *= sample.a;\n\n color += sample * weight;\n total += weight;\n\n if (t > countLimit){\n break;\n }\n }\n\n color /= total;\n // switch back from pre-multiplied alpha\n // color.rgb /= color.a + 0.00001;\n\n gl_FragColor = color;\n}\n",rI="struct ZoomBlurUniforms {\n uStrength:f32,\n uCenter:vec2<f32>,\n uRadii:vec2<f32>,\n};\n\nstruct GlobalFilterUniforms {\n uInputSize:vec4<f32>,\n uInputPixel:vec4<f32>,\n uInputClamp:vec4<f32>,\n uOutputFrame:vec4<f32>,\n uGlobalFrame:vec4<f32>,\n uOutputTexture:vec4<f32>,\n};\n\n@group(0) @binding(0) var<uniform> gfu: GlobalFilterUniforms;\n\n@group(0) @binding(1) var uTexture: texture_2d<f32>; \n@group(0) @binding(2) var uSampler: sampler;\n@group(1) @binding(0) var<uniform> zoomBlurUniforms : ZoomBlurUniforms;\n\n@fragment\nfn mainFragment(\n @builtin(position) position: vec4<f32>,\n @location(0) uv : vec2<f32>\n) -> @location(0) vec4<f32> {\n let uStrength = zoomBlurUniforms.uStrength;\n let uCenter = zoomBlurUniforms.uCenter;\n let uRadii = zoomBlurUniforms.uRadii;\n\n let minGradient: f32 = uRadii[0] * 0.3;\n let innerRadius: f32 = (uRadii[0] + minGradient * 0.5) / gfu.uInputSize.x;\n\n let gradient: f32 = uRadii[1] * 0.3;\n let radius: f32 = (uRadii[1] - gradient * 0.5) / gfu.uInputSize.x;\n\n let MAX_KERNEL_SIZE: f32 = ${MAX_KERNEL_SIZE};\n\n var countLimit: f32 = MAX_KERNEL_SIZE;\n\n var dir: vec2<f32> = vec2<f32>(uCenter / gfu.uInputSize.xy - uv);\n let dist: f32 = length(vec2<f32>(dir.x, dir.y * gfu.uInputSize.y / gfu.uInputSize.x));\n\n var strength: f32 = uStrength;\n\n var delta: f32 = 0.0;\n var gap: f32;\n\n if (dist < innerRadius) {\n delta = innerRadius - dist;\n gap = minGradient;\n } else if (radius >= 0.0 && dist > radius) { // radius < 0 means it's infinity\n delta = dist - radius;\n gap = gradient;\n }\n\n var returnColorOnly: bool = false;\n\n if (delta > 0.0) {\n let normalCount: f32 = gap / gfu.uInputSize.x;\n delta = (normalCount - delta) / normalCount;\n countLimit *= delta;\n strength *= delta;\n \n if (countLimit < 1.0)\n {\n returnColorOnly = true;;\n }\n }\n\n // randomize the lookup values to hide the fixed number of samples\n let offset: f32 = rand(uv, 0.0);\n\n var total: f32 = 0.0;\n var color: vec4<f32> = vec4<f32>(0.);\n\n dir *= strength;\n\n for (var t = 0.0; t < MAX_KERNEL_SIZE; t += 1.0) {\n let percent: f32 = (t + offset) / MAX_KERNEL_SIZE;\n let weight: f32 = 4.0 * (percent - percent * percent);\n let p: vec2<f32> = uv + dir * percent;\n let sample: vec4<f32> = textureSample(uTexture, uSampler, p);\n \n if (t < countLimit)\n {\n color += sample * weight;\n total += weight;\n }\n }\n\n color /= total;\n\n return select(color, textureSample(uTexture, uSampler, uv), returnColorOnly);\n}\n\nfn modulo(x: f32, y: f32) -> f32\n{\n return x - y * floor(x/y);\n}\n\n// author: http://byteblacksmith.com/improvements-to-the-canonical-one-liner-glsl-rand-for-opengl-es-2-0/\nfn rand(co: vec2<f32>, seed: f32) -> f32\n{\n let a: f32 = 12.9898;\n let b: f32 = 78.233;\n let c: f32 = 43758.5453;\n let dt: f32 = dot(co + seed, vec2<f32>(a, b));\n let sn: f32 = modulo(dt, 3.14159);\n return fract(sin(sn) * c + seed);\n}",rT=Object.defineProperty,rP=(e,t,r)=>t in e?rT(e,t,{enumerable:!0,configurable:!0,writable:!0,value:r}):e[t]=r,rM=(e,t,r)=>(rP(e,"symbol"!=typeof t?t+"":t,r),r);let rR=class e extends i.dJT{constructor(t){const r=(t={...e.DEFAULT_OPTIONS,...t}).maxKernelSize??32;super({gpuProgram:i.BrD.from({vertex:{source:a,entryPoint:"mainVertex"},fragment:{source:rI.replace("${MAX_KERNEL_SIZE}",r.toFixed(1)),entryPoint:"mainFragment"}}),glProgram:i.M2g.from({vertex:o,fragment:rk.replace("${MAX_KERNEL_SIZE}",r.toFixed(1)),name:"zoom-blur-filter"}),resources:{zoomBlurUniforms:{uStrength:{value:t.strength,type:"f32"},uCenter:{value:t.center,type:"vec2<f32>"},uRadii:{value:new Float32Array(2),type:"vec2<f32>"}}}}),rM(this,"uniforms"),this.uniforms=this.resources.zoomBlurUniforms.uniforms,Object.assign(this,t)}get strength(){return this.uniforms.uStrength}set strength(e){this.uniforms.uStrength=e}get center(){return this.uniforms.uCenter}set center(e){Array.isArray(e)&&(e={x:e[0],y:e[1]}),this.uniforms.uCenter=e}get centerX(){return this.uniforms.uCenter.x}set centerX(e){this.uniforms.uCenter.x=e}get centerY(){return this.uniforms.uCenter.y}set centerY(e){this.uniforms.uCenter.y=e}get innerRadius(){return this.uniforms.uRadii[0]}set innerRadius(e){this.uniforms.uRadii[0]=e}get radius(){return this.uniforms.uRadii[1]}set radius(e){this.uniforms.uRadii[1]=e<0||e===1/0?-1:e}};rM(rR,"DEFAULT_OPTIONS",{strength:.1,center:{x:0,y:0},innerRadius:0,radius:-1,maxKernelSize:32})},19495:function(e,t,r){"use strict";r.d(t,{l:()=>a});var n=r(42912),i=r(4226);class o{constructor(){this._parsers=[],this._cache=new Map,this._cacheMap=new Map}reset(){this._cacheMap.clear(),this._cache.clear()}has(e){return this._cache.has(e)}get(e){let t=this._cache.get(e);return t||(0,n.R)(`[Assets] Asset id ${e} was not found in the Cache`),t}set(e,t){let r,o=(0,i.z)(e);for(let e=0;e<this.parsers.length;e++){let n=this.parsers[e];if(n.test(t)){r=n.getCacheableAssets(o,t);break}}let a=new Map(Object.entries(r||{}));r||o.forEach(e=>{a.set(e,t)});let s=[...a.keys()],l={cacheKeys:s,keys:o};o.forEach(e=>{this._cacheMap.set(e,l)}),s.forEach(e=>{let i=r?r[e]:t;this._cache.has(e)&&this._cache.get(e)!==i&&(0,n.R)("[Cache] already has key:",e),this._cache.set(e,a.get(e))})}remove(e){if(!this._cacheMap.has(e))return void(0,n.R)(`[Assets] Asset id ${e} was not found in the Cache`);let t=this._cacheMap.get(e);t.cacheKeys.forEach(e=>{this._cache.delete(e)}),t.keys.forEach(e=>{this._cacheMap.delete(e)})}get parsers(){return this._parsers}}let a=new o},86001:function(e,t,r){"use strict";let n;r.d(t,{T:()=>i});var i=((n=i||{})[n.Low=0]="Low",n[n.Normal=1]="Normal",n[n.High=2]="High",n)},48292:function(e,t,r){"use strict";r.d(t,{x:()=>u});var n=r(42912),i=r(94819),o=r(4226);function a(e,t,r,n,i){let o=t[r];for(let s=0;s<o.length;s++){let l=o[s];r<t.length-1?a(e.replace(n[r],l),t,r+1,n,i):i.push(e.replace(n[r],l))}}function s(e){let t=/\{(.*?)\}/g,r=e.match(t),n=[];if(r){let t=[];r.forEach(e=>{let r=e.substring(1,e.length-1).split(",");t.push(r)}),a(e,t,0,r,n)}else n.push(e);return n}var l=r(40397);class u{constructor(){this._defaultBundleIdentifierOptions={connector:"-",createBundleAssetId:(e,t)=>`${e}${this._bundleIdConnector}${t}`,extractAssetIdFromBundle:(e,t)=>t.replace(`${e}${this._bundleIdConnector}`,"")},this._bundleIdConnector=this._defaultBundleIdentifierOptions.connector,this._createBundleAssetId=this._defaultBundleIdentifierOptions.createBundleAssetId,this._extractAssetIdFromBundle=this._defaultBundleIdentifierOptions.extractAssetIdFromBundle,this._assetMap={},this._preferredOrder=[],this._parsers=[],this._resolverHash={},this._bundles={}}setBundleIdentifier(e){if(this._bundleIdConnector=e.connector??this._bundleIdConnector,this._createBundleAssetId=e.createBundleAssetId??this._createBundleAssetId,this._extractAssetIdFromBundle=e.extractAssetIdFromBundle??this._extractAssetIdFromBundle,"bar"!==this._extractAssetIdFromBundle("foo",this._createBundleAssetId("foo","bar")))throw Error("[Resolver] GenerateBundleAssetId are not working correctly")}prefer(...e){e.forEach(e=>{this._preferredOrder.push(e),e.priority||(e.priority=Object.keys(e.params))}),this._resolverHash={}}set basePath(e){this._basePath=e}get basePath(){return this._basePath}set rootPath(e){this._rootPath=e}get rootPath(){return this._rootPath}get parsers(){return this._parsers}reset(){this.setBundleIdentifier(this._defaultBundleIdentifierOptions),this._assetMap={},this._preferredOrder=[],this._resolverHash={},this._rootPath=null,this._basePath=null,this._manifest=null,this._bundles={},this._defaultSearchParams=null}setDefaultSearchParams(e){if("string"==typeof e)this._defaultSearchParams=e;else{let t=e;this._defaultSearchParams=Object.keys(t).map(e=>`${encodeURIComponent(e)}=${encodeURIComponent(t[e])}`).join("&")}}getAlias(e){let{alias:t,src:r}=e;return(0,o.z)(t||r,e=>"string"==typeof e?e:Array.isArray(e)?e.map(e=>e?.src??e):e?.src?e.src:e,!0)}addManifest(e){this._manifest&&(0,n.R)("[Resolver] Manifest already exists, this will be overwritten"),this._manifest=e,e.bundles.forEach(e=>{this.addBundle(e.name,e.assets)})}addBundle(e,t){let r=[],n=t;Array.isArray(t)||(n=Object.entries(t).map(([e,t])=>"string"==typeof t||Array.isArray(t)?{alias:e,src:t}:{alias:e,...t})),n.forEach(t=>{let n,i=t.src,o=t.alias;if("string"==typeof o){let t=this._createBundleAssetId(e,o);r.push(t),n=[o,t]}else{let t=o.map(t=>this._createBundleAssetId(e,t));r.push(...t),n=[...o,...t]}this.add({...t,alias:n,src:i})}),this._bundles[e]=r}add(e){let t,r=[];Array.isArray(e)?r.push(...e):r.push(e),t=e=>{this.hasKey(e)&&(0,n.R)(`[Resolver] already has key: ${e} overwriting`)},(0,o.z)(r).forEach(e=>{let{src:r}=e,{data:n,format:i,loadParser:a}=e,l=(0,o.z)(r).map(e=>"string"==typeof e?s(e):Array.isArray(e)?e:[e]),u=this.getAlias(e);Array.isArray(u)?u.forEach(t):t(u);let c=[];l.forEach(e=>{e.forEach(e=>{let t={};if("object"!=typeof e){t.src=e;for(let r=0;r<this._parsers.length;r++){let n=this._parsers[r];if(n.test(e)){t=n.parse(e);break}}}else n=e.data??n,i=e.format??i,a=e.loadParser??a,t={...t,...e};if(!u)throw Error(`[Resolver] alias is undefined for this asset: ${t.src}`);t=this._buildResolvedAsset(t,{aliases:u,data:n,format:i,loadParser:a}),c.push(t)})}),u.forEach(e=>{this._assetMap[e]=c})})}resolveBundle(e){let t=(0,l.a)(e);e=(0,o.z)(e);let r={};return e.forEach(e=>{let t=this._bundles[e];if(t){let n=this.resolve(t),i={};for(let t in n){let r=n[t];i[this._extractAssetIdFromBundle(e,t)]=r}r[e]=i}}),t?r[e[0]]:r}resolveUrl(e){let t=this.resolve(e);if("string"!=typeof e){let e={};for(let r in t)e[r]=t[r].src;return e}return t.src}resolve(e){let t=(0,l.a)(e);e=(0,o.z)(e);let r={};return e.forEach(e=>{if(!this._resolverHash[e])if(this._assetMap[e]){let t=this._assetMap[e],r=this._getPreferredOrder(t);r?.priority.forEach(e=>{r.params[e].forEach(r=>{let n=t.filter(t=>!!t[e]&&t[e]===r);n.length&&(t=n)})}),this._resolverHash[e]=t[0]}else this._resolverHash[e]=this._buildResolvedAsset({alias:[e],src:e},{});r[e]=this._resolverHash[e]}),t?r[e[0]]:r}hasKey(e){return!!this._assetMap[e]}hasBundle(e){return!!this._bundles[e]}_getPreferredOrder(e){for(let t=0;t<e.length;t++){let t=e[0],r=this._preferredOrder.find(e=>e.params.format.includes(t.format));if(r)return r}return this._preferredOrder[0]}_appendDefaultSearchParams(e){if(!this._defaultSearchParams)return e;let t=/\?/.test(e)?"&":"?";return`${e}${t}${this._defaultSearchParams}`}_buildResolvedAsset(e,t){let{aliases:r,data:n,loadParser:o,format:a}=t;return(this._basePath||this._rootPath)&&(e.src=i.A.toAbsolute(e.src,this._basePath,this._rootPath)),e.alias=r??e.alias??[e.src],e.src=this._appendDefaultSearchParams(e.src),e.data={...n||{},...e.data},e.loadParser=o??e.loadParser,e.format=a??e.format??c(e.src),e}}function c(e){return e.split(".").pop().split("?").shift().split("#").shift()}u.RETINA_PREFIX=/@([0-9\.]+)x/},4226:function(e,t,r){"use strict";r.d(t,{z:()=>n});let n=(e,t,r=!1)=>(Array.isArray(e)||(e=[e]),t)?e.map(e=>"string"==typeof e||r?t(e):e):e},79437:function(e,t,r){"use strict";r.d(t,{Y:()=>n});let n=(e,t)=>{let r=t.split("?")[1];return r&&(e+=`?${r}`),e}},40397:function(e,t,r){"use strict";r.d(t,{a:()=>n});let n=e=>!Array.isArray(e)},82444:function(e,t,r){"use strict";r.d(t,{Q:()=>M});var n={grad:.9,turn:360,rad:360/(2*Math.PI)},i=function(e){return"string"==typeof e?e.length>0:"number"==typeof e},o=function(e,t,r){return void 0===t&&(t=0),void 0===r&&(r=Math.pow(10,t)),Math.round(r*e)/r+0},a=function(e,t,r){return void 0===t&&(t=0),void 0===r&&(r=1),e>r?r:e>t?e:t},s=function(e){return(e=isFinite(e)?e%360:0)>0?e:e+360},l=function(e){return{r:a(e.r,0,255),g:a(e.g,0,255),b:a(e.b,0,255),a:a(e.a)}},u=function(e){return{r:o(e.r),g:o(e.g),b:o(e.b),a:o(e.a,3)}},c=/^#([0-9a-f]{3,8})$/i,f=function(e){var t=e.toString(16);return t.length<2?"0"+t:t},h=function(e){var t=e.r,r=e.g,n=e.b,i=e.a,o=Math.max(t,r,n),a=o-Math.min(t,r,n),s=a?o===t?(r-n)/a:o===r?2+(n-t)/a:4+(t-r)/a:0;return{h:60*(s<0?s+6:s),s:o?a/o*100:0,v:o/255*100,a:i}},d=function(e){var t=e.h,r=e.s,n=e.v,i=e.a;t=t/360*6,r/=100,n/=100;var o=Math.floor(t),a=n*(1-r),s=n*(1-(t-o)*r),l=n*(1-(1-t+o)*r),u=o%6;return{r:255*[n,s,a,a,l,n][u],g:255*[l,n,n,s,a,a][u],b:255*[a,a,l,n,n,s][u],a:i}},p=function(e){return{h:s(e.h),s:a(e.s,0,100),l:a(e.l,0,100),a:a(e.a)}},m=function(e){return{h:o(e.h),s:o(e.s),l:o(e.l),a:o(e.a,3)}},g=function(e){var t,r,n;return d((r=(t=e).s,{h:t.h,s:(r*=((n=t.l)<50?n:100-n)/100)>0?2*r/(n+r)*100:0,v:n+r,a:t.a}))},v=function(e){var t,r,n,i;return{h:(t=h(e)).h,s:(i=(200-(r=t.s))*(n=t.v)/100)>0&&i<200?r*n/100/(i<=100?i:200-i)*100:0,l:i/2,a:t.a}},y=/^hsla?\(\s*([+-]?\d*\.?\d+)(deg|rad|grad|turn)?\s*,\s*([+-]?\d*\.?\d+)%\s*,\s*([+-]?\d*\.?\d+)%\s*(?:,\s*([+-]?\d*\.?\d+)(%)?\s*)?\)$/i,b=/^hsla?\(\s*([+-]?\d*\.?\d+)(deg|rad|grad|turn)?\s+([+-]?\d*\.?\d+)%\s+([+-]?\d*\.?\d+)%\s*(?:\/\s*([+-]?\d*\.?\d+)(%)?\s*)?\)$/i,_=/^rgba?\(\s*([+-]?\d*\.?\d+)(%)?\s*,\s*([+-]?\d*\.?\d+)(%)?\s*,\s*([+-]?\d*\.?\d+)(%)?\s*(?:,\s*([+-]?\d*\.?\d+)(%)?\s*)?\)$/i,w=/^rgba?\(\s*([+-]?\d*\.?\d+)(%)?\s+([+-]?\d*\.?\d+)(%)?\s+([+-]?\d*\.?\d+)(%)?\s*(?:\/\s*([+-]?\d*\.?\d+)(%)?\s*)?\)$/i,x={string:[[function(e){var t=c.exec(e);return t?(e=t[1]).length<=4?{r:parseInt(e[0]+e[0],16),g:parseInt(e[1]+e[1],16),b:parseInt(e[2]+e[2],16),a:4===e.length?o(parseInt(e[3]+e[3],16)/255,2):1}:6===e.length||8===e.length?{r:parseInt(e.substr(0,2),16),g:parseInt(e.substr(2,2),16),b:parseInt(e.substr(4,2),16),a:8===e.length?o(parseInt(e.substr(6,2),16)/255,2):1}:null:null},"hex"],[function(e){var t=_.exec(e)||w.exec(e);return t?t[2]!==t[4]||t[4]!==t[6]?null:l({r:Number(t[1])/(t[2]?100/255:1),g:Number(t[3])/(t[4]?100/255:1),b:Number(t[5])/(t[6]?100/255:1),a:void 0===t[7]?1:Number(t[7])/(t[8]?100:1)}):null},"rgb"],[function(e){var t,r,i=y.exec(e)||b.exec(e);return i?g(p({h:(t=i[1],void 0===(r=i[2])&&(r="deg"),Number(t)*(n[r]||1)),s:Number(i[3]),l:Number(i[4]),a:void 0===i[5]?1:Number(i[5])/(i[6]?100:1)})):null},"hsl"]],object:[[function(e){var t=e.r,r=e.g,n=e.b,o=e.a,a=void 0===o?1:o;return i(t)&&i(r)&&i(n)?l({r:Number(t),g:Number(r),b:Number(n),a:Number(a)}):null},"rgb"],[function(e){var t=e.h,r=e.s,n=e.l,o=e.a,a=void 0===o?1:o;return i(t)&&i(r)&&i(n)?g(p({h:Number(t),s:Number(r),l:Number(n),a:Number(a)})):null},"hsl"],[function(e){var t=e.h,r=e.s,n=e.v,o=e.a,l=void 0===o?1:o;return i(t)&&i(r)&&i(n)?d(function(e){return{h:s(e.h),s:a(e.s,0,100),v:a(e.v,0,100),a:a(e.a)}}({h:Number(t),s:Number(r),v:Number(n),a:Number(l)})):null},"hsv"]]},S=function(e,t){for(var r=0;r<t.length;r++){var n=t[r][0](e);if(n)return[n,t[r][1]]}return[null,void 0]},A=function(e){return"string"==typeof e?S(e.trim(),x.string):"object"==typeof e&&null!==e?S(e,x.object):[null,void 0]},E=function(e,t){var r=v(e);return{h:r.h,s:a(r.s+100*t,0,100),l:r.l,a:r.a}},C=function(e){return(299*e.r+587*e.g+114*e.b)/1e3/255},O=function(e,t){var r=v(e);return{h:r.h,s:r.s,l:a(r.l+100*t,0,100),a:r.a}},k=function(){function e(e){this.parsed=A(e)[0],this.rgba=this.parsed||{r:0,g:0,b:0,a:1}}return e.prototype.isValid=function(){return null!==this.parsed},e.prototype.brightness=function(){return o(C(this.rgba),2)},e.prototype.isDark=function(){return .5>C(this.rgba)},e.prototype.isLight=function(){return C(this.rgba)>=.5},e.prototype.toHex=function(){var e,t,r,n,i,a;return t=(e=u(this.rgba)).r,r=e.g,n=e.b,a=(i=e.a)<1?f(o(255*i)):"","#"+f(t)+f(r)+f(n)+a},e.prototype.toRgb=function(){return u(this.rgba)},e.prototype.toRgbString=function(){var e,t,r,n,i;return t=(e=u(this.rgba)).r,r=e.g,n=e.b,(i=e.a)<1?"rgba("+t+", "+r+", "+n+", "+i+")":"rgb("+t+", "+r+", "+n+")"},e.prototype.toHsl=function(){return m(v(this.rgba))},e.prototype.toHslString=function(){var e,t,r,n,i;return t=(e=m(v(this.rgba))).h,r=e.s,n=e.l,(i=e.a)<1?"hsla("+t+", "+r+"%, "+n+"%, "+i+")":"hsl("+t+", "+r+"%, "+n+"%)"},e.prototype.toHsv=function(){var e;return{h:o((e=h(this.rgba)).h),s:o(e.s),v:o(e.v),a:o(e.a,3)}},e.prototype.invert=function(){var e;return I({r:255-(e=this.rgba).r,g:255-e.g,b:255-e.b,a:e.a})},e.prototype.saturate=function(e){return void 0===e&&(e=.1),I(E(this.rgba,e))},e.prototype.desaturate=function(e){return void 0===e&&(e=.1),I(E(this.rgba,-e))},e.prototype.grayscale=function(){return I(E(this.rgba,-1))},e.prototype.lighten=function(e){return void 0===e&&(e=.1),I(O(this.rgba,e))},e.prototype.darken=function(e){return void 0===e&&(e=.1),I(O(this.rgba,-e))},e.prototype.rotate=function(e){return void 0===e&&(e=15),this.hue(this.hue()+e)},e.prototype.alpha=function(e){var t;return"number"==typeof e?I({r:(t=this.rgba).r,g:t.g,b:t.b,a:e}):o(this.rgba.a,3)},e.prototype.hue=function(e){var t=v(this.rgba);return"number"==typeof e?I({h:e,s:t.s,l:t.l,a:t.a}):o(t.h)},e.prototype.isEqual=function(e){return this.toHex()===I(e).toHex()},e}(),I=function(e){return e instanceof k?e:new k(e)},T=[];(function(e){e.forEach(function(e){0>T.indexOf(e)&&(e(k,x),T.push(e))})})([function e(e,t){var r={white:"#ffffff",bisque:"#ffe4c4",blue:"#0000ff",cadetblue:"#5f9ea0",chartreuse:"#7fff00",chocolate:"#d2691e",coral:"#ff7f50",antiquewhite:"#faebd7",aqua:"#00ffff",azure:"#f0ffff",whitesmoke:"#f5f5f5",papayawhip:"#ffefd5",plum:"#dda0dd",blanchedalmond:"#ffebcd",black:"#000000",gold:"#ffd700",goldenrod:"#daa520",gainsboro:"#dcdcdc",cornsilk:"#fff8dc",cornflowerblue:"#6495ed",burlywood:"#deb887",aquamarine:"#7fffd4",beige:"#f5f5dc",crimson:"#dc143c",cyan:"#00ffff",darkblue:"#00008b",darkcyan:"#008b8b",darkgoldenrod:"#b8860b",darkkhaki:"#bdb76b",darkgray:"#a9a9a9",darkgreen:"#006400",darkgrey:"#a9a9a9",peachpuff:"#ffdab9",darkmagenta:"#8b008b",darkred:"#8b0000",darkorchid:"#9932cc",darkorange:"#ff8c00",darkslateblue:"#483d8b",gray:"#808080",darkslategray:"#2f4f4f",darkslategrey:"#2f4f4f",deeppink:"#ff1493",deepskyblue:"#00bfff",wheat:"#f5deb3",firebrick:"#b22222",floralwhite:"#fffaf0",ghostwhite:"#f8f8ff",darkviolet:"#9400d3",magenta:"#ff00ff",green:"#008000",dodgerblue:"#1e90ff",grey:"#808080",honeydew:"#f0fff0",hotpink:"#ff69b4",blueviolet:"#8a2be2",forestgreen:"#228b22",lawngreen:"#7cfc00",indianred:"#cd5c5c",indigo:"#4b0082",fuchsia:"#ff00ff",brown:"#a52a2a",maroon:"#800000",mediumblue:"#0000cd",lightcoral:"#f08080",darkturquoise:"#00ced1",lightcyan:"#e0ffff",ivory:"#fffff0",lightyellow:"#ffffe0",lightsalmon:"#ffa07a",lightseagreen:"#20b2aa",linen:"#faf0e6",mediumaquamarine:"#66cdaa",lemonchiffon:"#fffacd",lime:"#00ff00",khaki:"#f0e68c",mediumseagreen:"#3cb371",limegreen:"#32cd32",mediumspringgreen:"#00fa9a",lightskyblue:"#87cefa",lightblue:"#add8e6",midnightblue:"#191970",lightpink:"#ffb6c1",mistyrose:"#ffe4e1",moccasin:"#ffe4b5",mintcream:"#f5fffa",lightslategray:"#778899",lightslategrey:"#778899",navajowhite:"#ffdead",navy:"#000080",mediumvioletred:"#c71585",powderblue:"#b0e0e6",palegoldenrod:"#eee8aa",oldlace:"#fdf5e6",paleturquoise:"#afeeee",mediumturquoise:"#48d1cc",mediumorchid:"#ba55d3",rebeccapurple:"#663399",lightsteelblue:"#b0c4de",mediumslateblue:"#7b68ee",thistle:"#d8bfd8",tan:"#d2b48c",orchid:"#da70d6",mediumpurple:"#9370db",purple:"#800080",pink:"#ffc0cb",skyblue:"#87ceeb",springgreen:"#00ff7f",palegreen:"#98fb98",red:"#ff0000",yellow:"#ffff00",slateblue:"#6a5acd",lavenderblush:"#fff0f5",peru:"#cd853f",palevioletred:"#db7093",violet:"#ee82ee",teal:"#008080",slategray:"#708090",slategrey:"#708090",aliceblue:"#f0f8ff",darkseagreen:"#8fbc8f",darkolivegreen:"#556b2f",greenyellow:"#adff2f",seagreen:"#2e8b57",seashell:"#fff5ee",tomato:"#ff6347",silver:"#c0c0c0",sienna:"#a0522d",lavender:"#e6e6fa",lightgreen:"#90ee90",orange:"#ffa500",orangered:"#ff4500",steelblue:"#4682b4",royalblue:"#4169e1",turquoise:"#40e0d0",yellowgreen:"#9acd32",salmon:"#fa8072",saddlebrown:"#8b4513",sandybrown:"#f4a460",rosybrown:"#bc8f8f",darksalmon:"#e9967a",lightgoldenrodyellow:"#fafad2",snow:"#fffafa",lightgrey:"#d3d3d3",lightgray:"#d3d3d3",dimgray:"#696969",dimgrey:"#696969",olivedrab:"#6b8e23",olive:"#808000"},n={};for(var i in r)n[r[i]]=i;var o={};e.prototype.toName=function(t){if(!(this.rgba.a||this.rgba.r||this.rgba.g||this.rgba.b))return"transparent";var i,a,s=n[this.toHex()];if(s)return s;if(null==t?void 0:t.closest){var l=this.toRgb(),u=1/0,c="black";if(!o.length)for(var f in r)o[f]=new e(r[f]).toRgb();for(var h in r){var d=(i=l,a=o[h],Math.pow(i.r-a.r,2)+Math.pow(i.g-a.g,2)+Math.pow(i.b-a.b,2));d<u&&(u=d,c=h)}return c}},t.string.push([function(t){var n=t.toLowerCase(),i="transparent"===n?"#0000":r[n];return i?new e(i).toRgb():null},"name"])}]);let P=class e{constructor(e=0xffffff){this._value=null,this._components=new Float32Array(4),this._components.fill(1),this._int=0xffffff,this.value=e}get red(){return this._components[0]}get green(){return this._components[1]}get blue(){return this._components[2]}get alpha(){return this._components[3]}setValue(e){return this.value=e,this}set value(t){if(t instanceof e)this._value=this._cloneSource(t._value),this._int=t._int,this._components.set(t._components);else if(null===t)throw Error("Cannot set Color#value to null");else null!==this._value&&this._isSourceEqual(this._value,t)||(this._normalize(t),this._value=this._cloneSource(t))}get value(){return this._value}_cloneSource(e){if("string"==typeof e||"number"==typeof e||e instanceof Number||null===e);else if(Array.isArray(e)||ArrayBuffer.isView(e))return e.slice(0);else if("object"==typeof e&&null!==e)return{...e};return e}_isSourceEqual(e,t){let r=typeof e;if(r!==typeof t)return!1;if("number"===r||"string"===r||e instanceof Number);else if(Array.isArray(e)&&Array.isArray(t)||ArrayBuffer.isView(e)&&ArrayBuffer.isView(t))return e.length===t.length&&e.every((e,r)=>e===t[r]);else if(null!==e&&null!==t){let r=Object.keys(e),n=Object.keys(t);return r.length===n.length&&r.every(r=>e[r]===t[r])}return e===t}toRgba(){let[e,t,r,n]=this._components;return{r:e,g:t,b:r,a:n}}toRgb(){let[e,t,r]=this._components;return{r:e,g:t,b:r}}toRgbaString(){let[e,t,r]=this.toUint8RgbArray();return`rgba(${e},${t},${r},${this.alpha})`}toUint8RgbArray(e){let[t,r,n]=this._components;return this._arrayRgb||(this._arrayRgb=[]),(e=e||this._arrayRgb)[0]=Math.round(255*t),e[1]=Math.round(255*r),e[2]=Math.round(255*n),e}toArray(e){this._arrayRgba||(this._arrayRgba=[]),e=e||this._arrayRgba;let[t,r,n,i]=this._components;return e[0]=t,e[1]=r,e[2]=n,e[3]=i,e}toRgbArray(e){this._arrayRgb||(this._arrayRgb=[]),e=e||this._arrayRgb;let[t,r,n]=this._components;return e[0]=t,e[1]=r,e[2]=n,e}toNumber(){return this._int}toBgrNumber(){let[e,t,r]=this.toUint8RgbArray();return(r<<16)+(t<<8)+e}toLittleEndianNumber(){let e=this._int;return(e>>16)+(65280&e)+((255&e)<<16)}multiply(t){let[r,n,i,o]=e._temp.setValue(t)._components;return this._components[0]*=r,this._components[1]*=n,this._components[2]*=i,this._components[3]*=o,this._refreshInt(),this._value=null,this}premultiply(e,t=!0){return t&&(this._components[0]*=e,this._components[1]*=e,this._components[2]*=e),this._components[3]=e,this._refreshInt(),this._value=null,this}toPremultiplied(e,t=!0){if(1===e)return -0x1000000+this._int;if(0===e)return t?0:this._int;let r=this._int>>16&255,n=this._int>>8&255,i=255&this._int;return t&&(r=r*e+.5|0,n=n*e+.5|0,i=i*e+.5|0),(255*e<<24)+(r<<16)+(n<<8)+i}toHex(){let e=this._int.toString(16);return`#${"000000".substring(0,6-e.length)+e}`}toHexa(){let e=Math.round(255*this._components[3]).toString(16);return this.toHex()+"00".substring(0,2-e.length)+e}setAlpha(e){return this._components[3]=this._clamp(e),this}_normalize(t){let r,n,i,o;if(("number"==typeof t||t instanceof Number)&&t>=0&&t<=0xffffff){let e=t;r=(e>>16&255)/255,n=(e>>8&255)/255,i=(255&e)/255,o=1}else if((Array.isArray(t)||t instanceof Float32Array)&&t.length>=3&&t.length<=4)t=this._clamp(t),[r,n,i,o=1]=t;else if((t instanceof Uint8Array||t instanceof Uint8ClampedArray)&&t.length>=3&&t.length<=4)t=this._clamp(t,0,255),[r,n,i,o=255]=t,r/=255,n/=255,i/=255,o/=255;else if("string"==typeof t||"object"==typeof t){if("string"==typeof t){let r=e.HEX_PATTERN.exec(t);r&&(t=`#${r[2]}`)}let a=I(t);a.isValid()&&({r,g:n,b:i,a:o}=a.rgba,r/=255,n/=255,i/=255)}if(void 0!==r)this._components[0]=r,this._components[1]=n,this._components[2]=i,this._components[3]=o,this._refreshInt();else throw Error(`Unable to convert color ${t}`)}_refreshInt(){this._clamp(this._components);let[e,t,r]=this._components;this._int=(255*e<<16)+(255*t<<8)+(255*r|0)}_clamp(e,t=0,r=1){return"number"==typeof e?Math.min(Math.max(e,t),r):(e.forEach((n,i)=>{e[i]=Math.min(Math.max(n,t),r)}),e)}static isColorLike(t){return"number"==typeof t||"string"==typeof t||t instanceof Number||t instanceof e||Array.isArray(t)||t instanceof Uint8Array||t instanceof Uint8ClampedArray||t instanceof Float32Array||void 0!==t.r&&void 0!==t.g&&void 0!==t.b||void 0!==t.r&&void 0!==t.g&&void 0!==t.b&&void 0!==t.a||void 0!==t.h&&void 0!==t.s&&void 0!==t.l||void 0!==t.h&&void 0!==t.s&&void 0!==t.l&&void 0!==t.a||void 0!==t.h&&void 0!==t.s&&void 0!==t.v||void 0!==t.h&&void 0!==t.s&&void 0!==t.v&&void 0!==t.a}};P.shared=new P,P._temp=new P,P.HEX_PATTERN=/^(#|0x)?(([a-f0-9]{3}){1,2}([a-f0-9]{2})?)$/i;let M=P},50160:function(e,t,r){"use strict";r.d(t,{e:()=>i});let n={createCanvas:(e,t)=>{let r=document.createElement("canvas");return r.width=e,r.height=t,r},getCanvasRenderingContext2D:()=>CanvasRenderingContext2D,getWebGLRenderingContext:()=>WebGLRenderingContext,getNavigator:()=>navigator,getBaseUrl:()=>document.baseURI??window.location.href,getFontFaceSet:()=>document.fonts,fetch:(e,t)=>fetch(e,t),parseXML:e=>new DOMParser().parseFromString(e,"text/xml")},i={get:()=>n,set(e){n=e}}},82295:function(e,t,r){"use strict";let n;r.d(t,{Ag:()=>i,XO:()=>s});var i=((n=i||{}).Application="application",n.WebGLPipes="webgl-pipes",n.WebGLPipesAdaptor="webgl-pipes-adaptor",n.WebGLSystem="webgl-system",n.WebGPUPipes="webgpu-pipes",n.WebGPUPipesAdaptor="webgpu-pipes-adaptor",n.WebGPUSystem="webgpu-system",n.CanvasSystem="canvas-system",n.CanvasPipesAdaptor="canvas-pipes-adaptor",n.CanvasPipes="canvas-pipes",n.Asset="asset",n.LoadParser="load-parser",n.ResolveParser="resolve-parser",n.CacheParser="cache-parser",n.DetectionParser="detection-parser",n.MaskEffect="mask-effect",n.BlendMode="blend-mode",n.TextureSource="texture-source",n.Environment="environment",n);let o=e=>{if("function"==typeof e||"object"==typeof e&&e.extension){if(!e.extension)throw Error("Extension class must have an extension object");e={..."object"!=typeof e.extension?{type:e.extension}:e.extension,ref:e}}if("object"==typeof e)e={...e};else throw Error("Invalid extension type");return"string"==typeof e.type&&(e.type=[e.type]),e},a=(e,t)=>o(e).priority??t,s={_addHandlers:{},_removeHandlers:{},_queue:{},remove(...e){return e.map(o).forEach(e=>{e.type.forEach(t=>this._removeHandlers[t]?.(e))}),this},add(...e){return e.map(o).forEach(e=>{e.type.forEach(t=>{let r=this._addHandlers,n=this._queue;r[t]?r[t]?.(e):(n[t]=n[t]||[],n[t]?.push(e))})}),this},handle(e,t,r){let n=this._addHandlers,i=this._removeHandlers;if(n[e]||i[e])throw Error(`Extension type ${e} already has a handler`);n[e]=t,i[e]=r;let o=this._queue;return o[e]&&(o[e]?.forEach(e=>t(e)),delete o[e]),this},handleByMap(e,t){return this.handle(e,e=>{e.name&&(t[e.name]=e.ref)},e=>{e.name&&delete t[e.name]})},handleByNamedList(e,t,r=-1){return this.handle(e,e=>{t.findIndex(t=>t.name===e.name)>=0||(t.push({name:e.name,value:e.ref}),t.sort((e,t)=>a(t.value,r)-a(e.value,r)))},e=>{let r=t.findIndex(t=>t.name===e.name);-1!==r&&t.splice(r,1)})},handleByList(e,t,r=-1){return this.handle(e,e=>{t.includes(e.ref)||(t.push(e.ref),t.sort((e,t)=>a(t,r)-a(e,r)))},e=>{let r=t.indexOf(e.ref);-1!==r&&t.splice(r,1)})}}},38974:function(e,t,r){"use strict";r.d(t,{d:()=>l});var n=r(36604),i=r(67331),o=r(56959),a=r(69071);let s=class e extends o.M{constructor(t){super(t={...e.defaultOptions,...t}),this.enabled=!0,this._state=a.U.for2d(),this.padding=t.padding,"boolean"==typeof t.antialias?this.antialias=t.antialias?"on":"off":this.antialias=t.antialias,this.resolution=t.resolution,this.blendRequired=t.blendRequired,this.addResource("uTexture",0,1)}apply(e,t,r,n){e.applyFilter(this,t,r,n)}get blendMode(){return this._state.blendMode}set blendMode(e){this._state.blendMode=e}static from(t){let r,o,{gpu:a,gl:s,...l}=t;return a&&(r=i.B.from(a)),s&&(o=n.M.from(s)),new e({gpuProgram:r,glProgram:o,...l})}};s.defaultOptions={blendMode:"normal",resolution:1,padding:0,antialias:"off",blendRequired:!1};let l=s},65173:function(e,t,r){"use strict";r.d(t,{a:()=>n});class n{constructor(e){this.pipe="filter",this.priority=1,this.filters=e?.filters,this.filterArea=e?.filterArea}destroy(){for(let e=0;e<this.filters.length;e++)this.filters[e].destroy();this.filters=null,this.filterArea=null}}},78137:function(e,t,r){"use strict";let n,i,o;r.d(t,{Q1f:()=>ez.Q,M2g:()=>eF.M,ZYG:()=>eX,oA$:()=>e7.o,lgM:()=>_,dJT:()=>eH.d,Tde:()=>e9.Td,Hii:()=>e6,sP:()=>eB,M_G:()=>tt.M,bRX:()=>te.b,EYj:()=>tf,gPd:()=>A.g,kxk:()=>to.k,BrD:()=>eD.B,mcf:()=>v.mc,t66:()=>y.t,Wny:()=>eY.W,eV2:()=>e8,vrt:()=>tn.v,v9C:()=>tr.v,bEs:()=>en.b,A1g:()=>ti.A});var a=r(82295);let s={extension:{type:a.Ag.Environment,name:"browser",priority:-1},test:()=>!0,load:async()=>{await Promise.all([r.e("779"),r.e("150"),r.e("260")]).then(r.bind(r,935))}},l={extension:{type:a.Ag.Environment,name:"webworker",priority:0},test:()=>"undefined"!=typeof self&&void 0!==self.WorkerGlobalScope,load:async()=>{await Promise.all([r.e("779"),r.e("150"),r.e("355")]).then(r.bind(r,50598))}};r(72934),r(30937);let u=[];async function c(e){if(e)for(let e=0;e<u.length;e++){let t=u[e];if(t.value.test())return void await t.value.load()}}a.XO.handleByNamedList(a.Ag.Environment,u);var f=r(50160),h=r(71771);function d(e){return void 0!==n?n:n=(()=>{let t={stencil:!0,failIfMajorPerformanceCaveat:e??h.k.defaultOptions.failIfMajorPerformanceCaveat};try{if(!f.e.get().getWebGLRenderingContext())return!1;let e=f.e.get().createCanvas().getContext("webgl",t),r=!!e?.getContextAttributes()?.stencil;if(e){let t=e.getExtension("WEBGL_lose_context");t&&t.loseContext()}return e=null,r}catch(e){return!1}})()}async function p(e={}){return void 0!==i?i:i=await (async()=>{if(!f.e.get().getNavigator().gpu)return!1;try{let t=await navigator.gpu.requestAdapter(e);return await t.requestDevice(),!0}catch(e){return!1}})()}let m=["webgl","webgpu","canvas"];async function g(e){let t,n=[];e.preference?(n.push(e.preference),m.forEach(t=>{t!==e.preference&&n.push(t)})):n=m.slice(),await c(e.manageImports??!0);let i={};for(let o=0;o<n.length;o++){let a=n[o];if("webgpu"===a&&await p()){let{WebGPURenderer:n}=await Promise.all([r.e("779"),r.e("631"),r.e("586")]).then(r.bind(r,42665));t=n,i={...e,...e.webgpu};break}if("webgl"===a&&d(e.failIfMajorPerformanceCaveat??h.k.defaultOptions.failIfMajorPerformanceCaveat)){let{WebGLRenderer:n}=await Promise.all([r.e("779"),r.e("631"),r.e("45")]).then(r.bind(r,25812));t=n,i={...e,...e.webgl};break}if("canvas"===a)throw i={...e},Error("CanvasRenderer is not yet implemented")}if(delete i.webgpu,delete i.webgl,!t)throw Error("No available renderer for the current environment");let o=new t;return await o.init(i),o}var v=r(3677),y=r(49722);let b=class e{constructor(...e){this.stage=new v.mc,void 0!==e[0]&&(0,y.t)("8.0.0","Application constructor options are deprecated, please use Application.init() instead.")}async init(t){t={...t},this.renderer=await g(t),e._plugins.forEach(e=>{e.init.call(this,t)})}render(){this.renderer.render({container:this.stage})}get canvas(){return this.renderer.canvas}get view(){return(0,y.t)("8.0.0","Application.view is deprecated, please use Application.canvas instead."),this.renderer.canvas}get screen(){return this.renderer.screen}destroy(t=!1,r=!1){let n=e._plugins.slice(0);n.reverse(),n.forEach(e=>{e.destroy.call(this)}),this.stage.destroy(r),this.stage=null,this.renderer.destroy(t),this.renderer=null}};b._plugins=[];let _=b;a.XO.handleByList(a.Ag.Application,_._plugins);var w=r(42912);class x{constructor(e,t=!1){this._loader=e,this._assetList=[],this._isLoading=!1,this._maxConcurrent=1,this.verbose=t}add(e){e.forEach(e=>{this._assetList.push(e)}),this.verbose&&console.log("[BackgroundLoader] assets: ",this._assetList),this._isActive&&!this._isLoading&&this._next()}async _next(){if(this._assetList.length&&this._isActive){this._isLoading=!0;let e=[],t=Math.min(this._assetList.length,this._maxConcurrent);for(let r=0;r<t;r++)e.push(this._assetList.pop());await this._loader.load(e),this._isLoading=!1,this._next()}}get active(){return this._isActive}set active(e){this._isActive!==e&&(this._isActive=e,e&&!this._isLoading&&this._next())}}var S=r(19495),A=r(55003);let E={extension:a.Ag.CacheParser,test:e=>Array.isArray(e)&&e.every(e=>e instanceof A.g),getCacheableAssets:(e,t)=>{let r={};return e.forEach(e=>{t.forEach((t,n)=>{r[e+(0===n?"":n+1)]=t})}),r}};async function C(e){if("Image"in globalThis)return new Promise(t=>{let r=new Image;r.onload=()=>{t(!0)},r.onerror=()=>{t(!1)},r.src=e});if("createImageBitmap"in globalThis&&"fetch"in globalThis){try{let t=await (await fetch(e)).blob();await createImageBitmap(t)}catch(e){return!1}return!0}return!1}let O={extension:{type:a.Ag.DetectionParser,priority:1},test:async()=>C("data:image/avif;base64,AAAAIGZ0eXBhdmlmAAAAAGF2aWZtaWYxbWlhZk1BMUIAAADybWV0YQAAAAAAAAAoaGRscgAAAAAAAAAAcGljdAAAAAAAAAAAAAAAAGxpYmF2aWYAAAAADnBpdG0AAAAAAAEAAAAeaWxvYwAAAABEAAABAAEAAAABAAABGgAAAB0AAAAoaWluZgAAAAAAAQAAABppbmZlAgAAAAABAABhdjAxQ29sb3IAAAAAamlwcnAAAABLaXBjbwAAABRpc3BlAAAAAAAAAAIAAAACAAAAEHBpeGkAAAAAAwgICAAAAAxhdjFDgQ0MAAAAABNjb2xybmNseAACAAIAAYAAAAAXaXBtYQAAAAAAAAABAAEEAQKDBAAAACVtZGF0EgAKCBgANogQEAwgMg8f8D///8WfhwB8+ErK42A="),add:async e=>[...e,"avif"],remove:async e=>e.filter(e=>"avif"!==e)},k=["png","jpg","jpeg"],I={extension:{type:a.Ag.DetectionParser,priority:-1},test:()=>Promise.resolve(!0),add:async e=>[...e,...k],remove:async e=>e.filter(e=>!k.includes(e))},T="WorkerGlobalScope"in globalThis&&globalThis instanceof globalThis.WorkerGlobalScope;function P(e){return!T&&""!==document.createElement("video").canPlayType(e)}let M={extension:{type:a.Ag.DetectionParser,priority:0},test:async()=>P("video/mp4"),add:async e=>[...e,"mp4","m4v"],remove:async e=>e.filter(e=>"mp4"!==e&&"m4v"!==e)},R={extension:{type:a.Ag.DetectionParser,priority:0},test:async()=>P("video/ogg"),add:async e=>[...e,"ogv"],remove:async e=>e.filter(e=>"ogv"!==e)},$={extension:{type:a.Ag.DetectionParser,priority:0},test:async()=>P("video/webm"),add:async e=>[...e,"webm"],remove:async e=>e.filter(e=>"webm"!==e)},j={extension:{type:a.Ag.DetectionParser,priority:0},test:async()=>C("data:image/webp;base64,UklGRh4AAABXRUJQVlA4TBEAAAAvAAAAAAfQ//73v/+BiOh/AAA="),add:async e=>[...e,"webp"],remove:async e=>e.filter(e=>"webp"!==e)};var N=r(94819),B=r(4226),L=r(40397);class z{constructor(){this._parsers=[],this._parsersValidated=!1,this.parsers=new Proxy(this._parsers,{set:(e,t,r)=>(this._parsersValidated=!1,e[t]=r,!0)}),this.promiseCache={}}reset(){this._parsersValidated=!1,this.promiseCache={}}_getLoadPromiseAndParser(e,t){let r={promise:null,parser:null};return r.promise=(async()=>{let n=null,i=null;if(t.loadParser&&((i=this._parserHash[t.loadParser])||(0,w.R)(`[Assets] specified load parser "${t.loadParser}" not found while loading ${e}`)),!i){for(let r=0;r<this.parsers.length;r++){let n=this.parsers[r];if(n.load&&n.test?.(e,t,this)){i=n;break}}if(!i)return(0,w.R)(`[Assets] ${e} could not be loaded as we don't know how to parse it, ensure the correct parser has been added`),null}n=await i.load(e,t,this),r.parser=i;for(let e=0;e<this.parsers.length;e++){let i=this.parsers[e];i.parse&&i.parse&&await i.testParse?.(n,t,this)&&(n=await i.parse(n,t,this)||n,r.parser=i)}return n})(),r}async load(e,t){this._parsersValidated||this._validateParsers();let r=0,n={},i=(0,L.a)(e),o=(0,B.z)(e,e=>({alias:[e],src:e})),a=o.length,s=o.map(async e=>{let i=N.A.toAbsolute(e.src);if(!n[e.src])try{this.promiseCache[i]||(this.promiseCache[i]=this._getLoadPromiseAndParser(i,e)),n[e.src]=await this.promiseCache[i].promise,t&&t(++r/a)}catch(t){throw delete this.promiseCache[i],delete n[e.src],Error(`[Loader.load] Failed to load ${i}.
|
|
344
|
+
`,name:"drop-shadow-filter"}),resources:{}}),Object.assign(this,t)}apply(e,t,r,n){let o=i.Wny.getSameSizeTexture(t);e.applyFilter(this,t,o,!0),this._blurFilter.apply(e,o,r,n),this.shadowOnly||e.applyFilter(this._basePass,t,r,!1),i.Wny.returnTexture(o)}get offset(){return this.uniforms.uOffset}set offset(e){this.uniforms.uOffset=e,this._updatePadding()}get offsetX(){return this.offset.x}set offsetX(e){this.offset.x=e,this._updatePadding()}get offsetY(){return this.offset.y}set offsetY(e){this.offset.y=e,this._updatePadding()}get color(){return this._color.value}set color(e){this._color.setValue(e);let[t,r,n]=this._color.toArray();this.uniforms.uColor[0]=t,this.uniforms.uColor[1]=r,this.uniforms.uColor[2]=n}get alpha(){return this.uniforms.uAlpha}set alpha(e){this.uniforms.uAlpha=e}get blur(){return this._blurFilter.strength}set blur(e){this._blurFilter.strength=e,this._updatePadding()}get quality(){return this._blurFilter.quality}set quality(e){this._blurFilter.quality=e,this._updatePadding()}get kernels(){return this._blurFilter.kernels}set kernels(e){this._blurFilter.kernels=e}get pixelSize(){return this._blurFilter.pixelSize}set pixelSize(e){"number"==typeof e&&(e={x:e,y:e}),Array.isArray(e)&&(e={x:e[0],y:e[1]}),this._blurFilter.pixelSize=e}get pixelSizeX(){return this._blurFilter.pixelSizeX}set pixelSizeX(e){this._blurFilter.pixelSizeX=e}get pixelSizeY(){return this._blurFilter.pixelSizeY}set pixelSizeY(e){this._blurFilter.pixelSizeY=e}_updatePadding(){let e=Math.max(Math.abs(this.offsetX),Math.abs(this.offsetY));this.padding=e+2*this.blur+4*this.quality}};e8(e9,"DEFAULT_OPTIONS",{offset:{x:4,y:4},color:0,alpha:.5,shadowOnly:!1,kernels:void 0,blur:2,quality:3,pixelSize:{x:1,y:1},resolution:1});let e7=e9;i.dJT;var te="precision highp float;\nin vec2 vTextureCoord;\nout vec4 finalColor;\n\nuniform sampler2D uTexture;\nuniform sampler2D uDisplacementMap;\nuniform float uSeed;\nuniform vec2 uDimensions;\nuniform float uAspect;\nuniform float uFillMode;\nuniform float uOffset;\nuniform float uDirection;\nuniform vec2 uRed;\nuniform vec2 uGreen;\nuniform vec2 uBlue;\n\nuniform vec4 uInputSize;\nuniform vec4 uInputClamp;\n\nconst int TRANSPARENT = 0;\nconst int ORIGINAL = 1;\nconst int LOOP = 2;\nconst int CLAMP = 3;\nconst int MIRROR = 4;\n\nvoid main(void)\n{\n vec2 coord = (vTextureCoord * uInputSize.xy) / uDimensions;\n\n if (coord.x > 1.0 || coord.y > 1.0) {\n return;\n }\n\n float sinDir = sin(uDirection);\n float cosDir = cos(uDirection);\n\n float cx = coord.x - 0.5;\n float cy = (coord.y - 0.5) * uAspect;\n float ny = (-sinDir * cx + cosDir * cy) / uAspect + 0.5;\n\n // displacementMap: repeat\n // ny = ny > 1.0 ? ny - 1.0 : (ny < 0.0 ? 1.0 + ny : ny);\n\n // displacementMap: mirror\n ny = ny > 1.0 ? 2.0 - ny : (ny < 0.0 ? -ny : ny);\n\n vec4 dc = texture(uDisplacementMap, vec2(0.5, ny));\n\n float displacement = (dc.r - dc.g) * (uOffset / uInputSize.x);\n\n coord = vTextureCoord + vec2(cosDir * displacement, sinDir * displacement * uAspect);\n\n int fillMode = int(uFillMode);\n\n if (fillMode == CLAMP) {\n coord = clamp(coord, uInputClamp.xy, uInputClamp.zw);\n } else {\n if( coord.x > uInputClamp.z ) {\n if (fillMode == TRANSPARENT) {\n discard;\n } else if (fillMode == LOOP) {\n coord.x -= uInputClamp.z;\n } else if (fillMode == MIRROR) {\n coord.x = uInputClamp.z * 2.0 - coord.x;\n }\n } else if( coord.x < uInputClamp.x ) {\n if (fillMode == TRANSPARENT) {\n discard;\n } else if (fillMode == LOOP) {\n coord.x += uInputClamp.z;\n } else if (fillMode == MIRROR) {\n coord.x *= -uInputClamp.z;\n }\n }\n\n if( coord.y > uInputClamp.w ) {\n if (fillMode == TRANSPARENT) {\n discard;\n } else if (fillMode == LOOP) {\n coord.y -= uInputClamp.w;\n } else if (fillMode == MIRROR) {\n coord.y = uInputClamp.w * 2.0 - coord.y;\n }\n } else if( coord.y < uInputClamp.y ) {\n if (fillMode == TRANSPARENT) {\n discard;\n } else if (fillMode == LOOP) {\n coord.y += uInputClamp.w;\n } else if (fillMode == MIRROR) {\n coord.y *= -uInputClamp.w;\n }\n }\n }\n\n finalColor.r = texture(uTexture, coord + uRed * (1.0 - uSeed * 0.4) / uInputSize.xy).r;\n finalColor.g = texture(uTexture, coord + uGreen * (1.0 - uSeed * 0.3) / uInputSize.xy).g;\n finalColor.b = texture(uTexture, coord + uBlue * (1.0 - uSeed * 0.2) / uInputSize.xy).b;\n finalColor.a = texture(uTexture, coord).a;\n}\n",tt="struct GlitchUniforms {\n uSeed: f32,\n uDimensions: vec2<f32>,\n uAspect: f32,\n uFillMode: f32,\n uOffset: f32,\n uDirection: f32,\n uRed: vec2<f32>,\n uGreen: vec2<f32>,\n uBlue: vec2<f32>,\n};\n\nstruct GlobalFilterUniforms {\n uInputSize:vec4<f32>,\n uInputPixel:vec4<f32>,\n uInputClamp:vec4<f32>,\n uOutputFrame:vec4<f32>,\n uGlobalFrame:vec4<f32>,\n uOutputTexture:vec4<f32>,\n};\n\n@group(0) @binding(0) var<uniform> gfu: GlobalFilterUniforms;\n\n@group(0) @binding(1) var uTexture: texture_2d<f32>; \n@group(0) @binding(2) var uSampler: sampler;\n@group(1) @binding(0) var<uniform> glitchUniforms : GlitchUniforms;\n@group(1) @binding(1) var uDisplacementMap: texture_2d<f32>; \n@group(1) @binding(2) var uDisplacementSampler: sampler; \n\n@fragment\nfn mainFragment(\n @builtin(position) position: vec4<f32>,\n @location(0) uv : vec2<f32>\n) -> @location(0) vec4<f32> {\n let uSeed: f32 = glitchUniforms.uSeed;\n let uDimensions: vec2<f32> = glitchUniforms.uDimensions;\n let uAspect: f32 = glitchUniforms.uAspect;\n let uOffset: f32 = glitchUniforms.uOffset;\n let uDirection: f32 = glitchUniforms.uDirection;\n let uRed: vec2<f32> = glitchUniforms.uRed;\n let uGreen: vec2<f32> = glitchUniforms.uGreen;\n let uBlue: vec2<f32> = glitchUniforms.uBlue;\n\n let uInputSize: vec4<f32> = gfu.uInputSize;\n let uInputClamp: vec4<f32> = gfu.uInputClamp;\n\n var discarded: bool = false;\n var coord: vec2<f32> = (uv * uInputSize.xy) / uDimensions;\n\n if (coord.x > 1.0 || coord.y > 1.0) {\n discarded = true;\n }\n\n let sinDir: f32 = sin(uDirection);\n let cosDir: f32 = cos(uDirection);\n\n let cx: f32 = coord.x - 0.5;\n let cy: f32 = (coord.y - 0.5) * uAspect;\n var ny: f32 = (-sinDir * cx + cosDir * cy) / uAspect + 0.5;\n\n ny = select(select(ny, -ny, ny < 0.0), 2.0 - ny, ny > 1.0);\n\n let dc: vec4<f32> = textureSample(uDisplacementMap, uDisplacementSampler, vec2<f32>(0.5, ny));\n\n let displacement: f32 = (dc.r - dc.g) * (uOffset / uInputSize.x);\n\n coord = uv + vec2<f32>(cosDir * displacement, sinDir * displacement * uAspect);\n\n let fillMode: i32 = i32(glitchUniforms.uFillMode);\n\n if (fillMode == CLAMP) {\n coord = clamp(coord, uInputClamp.xy, uInputClamp.zw);\n } else {\n if (coord.x > uInputClamp.z) {\n if (fillMode == TRANSPARENT) {\n discarded = true;\n } else if (fillMode == LOOP) {\n coord.x = coord.x - uInputClamp.z;\n } else if (fillMode == MIRROR) {\n coord.x = uInputClamp.z * 2.0 - coord.x;\n }\n } else if (coord.x < uInputClamp.x) {\n if (fillMode == TRANSPARENT) {\n discarded = true;\n } else if (fillMode == LOOP) {\n coord.x = coord.x + uInputClamp.z;\n } else if (fillMode == MIRROR) {\n coord.x = coord.x * -uInputClamp.z;\n }\n }\n\n if (coord.y > uInputClamp.w) {\n if (fillMode == TRANSPARENT) {\n discarded = true;\n } else if (fillMode == LOOP) {\n coord.y = coord.y - uInputClamp.w;\n } else if (fillMode == MIRROR) {\n coord.y = uInputClamp.w * 2.0 - coord.y;\n }\n } else if (coord.y < uInputClamp.y) {\n if (fillMode == TRANSPARENT) {\n discarded = true;\n } else if (fillMode == LOOP) {\n coord.y = coord.y + uInputClamp.w;\n } else if (fillMode == MIRROR) {\n coord.y = coord.y * -uInputClamp.w;\n }\n }\n }\n\n let seedR: f32 = 1.0 - uSeed * 0.4;\n let seedG: f32 = 1.0 - uSeed * 0.3;\n let seedB: f32 = 1.0 - uSeed * 0.2;\n\n let offsetR: vec2<f32> = vec2(uRed.x * seedR / uInputSize.x, uRed.y * seedR / uInputSize.y);\n let offsetG: vec2<f32> = vec2(uGreen.x * seedG / uInputSize.x, uGreen.y * seedG / uInputSize.y);\n let offsetB: vec2<f32> = vec2(uBlue.x * seedB / uInputSize.x, uBlue.y * seedB / uInputSize.y);\n\n let r = textureSample(uTexture, uSampler, coord + offsetR).r;\n let g = textureSample(uTexture, uSampler, coord + offsetG).g;\n let b = textureSample(uTexture, uSampler, coord + offsetB).b;\n let a = textureSample(uTexture, uSampler, coord).a;\n\n return select(vec4<f32>(r, g, b, a), vec4<f32>(0.0,0.0,0.0,0.0), discarded);\n}\n\nconst TRANSPARENT: i32 = 0;\nconst ORIGINAL: i32 = 1;\nconst LOOP: i32 = 2;\nconst CLAMP: i32 = 3;\nconst MIRROR: i32 = 4;",tr=Object.defineProperty,tn=(e,t,r)=>t in e?tr(e,t,{enumerable:!0,configurable:!0,writable:!0,value:r}):e[t]=r,ti=(e,t,r)=>(tn(e,"symbol"!=typeof t?t+"":t,r),r);let to=class e extends i.dJT{constructor(t){t={...e.defaults,...t};const r=i.BrD.from({vertex:{source:a,entryPoint:"mainVertex"},fragment:{source:tt,entryPoint:"mainFragment"}}),n=i.M2g.from({vertex:o,fragment:te,name:"glitch-filter"}),s=document.createElement("canvas");s.width=4,s.height=t.sampleSize??512;const l=new i.gPd({source:new i.bEs({resource:s})});super({gpuProgram:r,glProgram:n,resources:{glitchUniforms:{uSeed:{value:t?.seed??0,type:"f32"},uDimensions:{value:new Float32Array(2),type:"vec2<f32>"},uAspect:{value:1,type:"f32"},uFillMode:{value:t?.fillMode??0,type:"f32"},uOffset:{value:t?.offset??100,type:"f32"},uDirection:{value:t?.direction??0,type:"f32"},uRed:{value:t.red,type:"vec2<f32>"},uGreen:{value:t.green,type:"vec2<f32>"},uBlue:{value:t.blue,type:"vec2<f32>"}},uDisplacementMap:l.source,uDisplacementSampler:l.source.style}}),ti(this,"uniforms"),ti(this,"average",!1),ti(this,"minSize",8),ti(this,"sampleSize",512),ti(this,"_canvas"),ti(this,"texture"),ti(this,"_slices",0),ti(this,"_sizes",new Float32Array(1)),ti(this,"_offsets",new Float32Array(1)),this.uniforms=this.resources.glitchUniforms.uniforms,this._canvas=s,this.texture=l,Object.assign(this,t)}apply(e,t,r,n){let{width:i,height:o}=t.frame;this.uniforms.uDimensions[0]=i,this.uniforms.uDimensions[1]=o,this.uniforms.uAspect=o/i,e.applyFilter(this,t,r,n)}_randomizeSizes(){let e=this._sizes,t=this._slices-1,r=this.sampleSize,n=Math.min(this.minSize/r,.9/this._slices);if(this.average){let r=this._slices,i=1;for(let o=0;o<t;o++){let t=Math.max(i/(r-o)*(1-.6*Math.random()),n);e[o]=t,i-=t}e[t]=i}else{let r=1,i=Math.sqrt(1/this._slices);for(let o=0;o<t;o++){let t=Math.max(i*r*Math.random(),n);e[o]=t,r-=t}e[t]=r}this.shuffle()}shuffle(){let e=this._sizes,t=this._slices-1;for(let r=t;r>0;r--){let t=Math.random()*r|0,n=e[r];e[r]=e[t],e[t]=n}}_randomizeOffsets(){for(let e=0;e<this._slices;e++)this._offsets[e]=Math.random()*(.5>Math.random()?-1:1)}refresh(){this._randomizeSizes(),this._randomizeOffsets(),this.redraw()}redraw(){let e,t=this.sampleSize,r=this.texture,n=this._canvas.getContext("2d");n.clearRect(0,0,8,t);let i=0;for(let r=0;r<this._slices;r++){e=Math.floor(256*this._offsets[r]);let o=this._sizes[r]*t,a=e>0?e:0,s=e<0?-e:0;n.fillStyle=`rgba(${a}, ${s}, 0, 1)`,n.fillRect(0,0|i,t,o+1|0),i+=o}r.source.update()}set sizes(e){let t=Math.min(this._slices,e.length);for(let r=0;r<t;r++)this._sizes[r]=e[r]}get sizes(){return this._sizes}set offsets(e){let t=Math.min(this._slices,e.length);for(let r=0;r<t;r++)this._offsets[r]=e[r]}get offsets(){return this._offsets}get slices(){return this._slices}set slices(e){this._slices!==e&&(this._slices=e,this._sizes=new Float32Array(e),this._offsets=new Float32Array(e),this.refresh())}get offset(){return this.uniforms.uOffset}set offset(e){this.uniforms.uOffset=e}get seed(){return this.uniforms.uSeed}set seed(e){this.uniforms.uSeed=e}get fillMode(){return this.uniforms.uFillMode}set fillMode(e){this.uniforms.uFillMode=e}get direction(){return this.uniforms.uDirection/i.Tde}set direction(e){this.uniforms.uDirection=e*i.Tde}get red(){return this.uniforms.uRed}set red(e){Array.isArray(e)&&(e={x:e[0],y:e[1]}),this.uniforms.uRed=e}get green(){return this.uniforms.uGreen}set green(e){Array.isArray(e)&&(e={x:e[0],y:e[1]}),this.uniforms.uGreen=e}get blue(){return this.uniforms.uBlue}set blue(e){Array.isArray(e)&&(e={x:e[0],y:e[1]}),this.uniforms.uBlue=e}destroy(){this.texture?.destroy(!0),this.texture=this._canvas=this.red=this.green=this.blue=this._sizes=this._offsets=null}};ti(to,"defaults",{slices:5,offset:100,direction:0,fillMode:0,average:!1,seed:0,red:{x:0,y:0},green:{x:0,y:0},blue:{x:0,y:0},minSize:8,sampleSize:512});var ta="precision highp float;\nin vec2 vTextureCoord;\nout vec4 finalColor;\n\nuniform sampler2D uTexture;\nuniform vec2 uStrength;\nuniform vec3 uColor;\nuniform float uKnockout;\nuniform float uAlpha;\n\nuniform vec4 uInputSize;\nuniform vec4 uInputClamp;\n\nconst float PI = 3.14159265358979323846264;\n\n// Hard-assignment of DIST and ANGLE_STEP_SIZE instead of using uDistance and uQuality to allow them to be use on GLSL loop conditions\nconst float DIST = __DIST__;\nconst float ANGLE_STEP_SIZE = min(__ANGLE_STEP_SIZE__, PI * 2.);\nconst float ANGLE_STEP_NUM = ceil(PI * 2. / ANGLE_STEP_SIZE);\nconst float MAX_TOTAL_ALPHA = ANGLE_STEP_NUM * DIST * (DIST + 1.) / 2.;\n\nvoid main(void) {\n vec2 px = vec2(1.) / uInputSize.xy;\n\n float totalAlpha = 0.;\n\n vec2 direction;\n vec2 displaced;\n vec4 curColor;\n\n for (float angle = 0.; angle < PI * 2.; angle += ANGLE_STEP_SIZE) {\n direction = vec2(cos(angle), sin(angle)) * px;\n\n for (float curDistance = 0.; curDistance < DIST; curDistance++) {\n displaced = clamp(vTextureCoord + direction * (curDistance + 1.), uInputClamp.xy, uInputClamp.zw);\n curColor = texture(uTexture, displaced);\n totalAlpha += (DIST - curDistance) * curColor.a;\n }\n }\n \n curColor = texture(uTexture, vTextureCoord);\n\n vec4 glowColor = vec4(uColor, uAlpha);\n bool knockout = uKnockout > .5;\n float innerStrength = uStrength[0];\n float outerStrength = uStrength[1];\n\n float alphaRatio = totalAlpha / MAX_TOTAL_ALPHA;\n float innerGlowAlpha = (1. - alphaRatio) * innerStrength * curColor.a * uAlpha;\n float innerGlowStrength = min(1., innerGlowAlpha);\n \n vec4 innerColor = mix(curColor, glowColor, innerGlowStrength);\n float outerGlowAlpha = alphaRatio * outerStrength * (1. - curColor.a) * uAlpha;\n float outerGlowStrength = min(1. - innerColor.a, outerGlowAlpha);\n vec4 outerGlowColor = outerGlowStrength * glowColor.rgba;\n\n if (knockout) {\n float resultAlpha = outerGlowAlpha + innerGlowAlpha;\n finalColor = vec4(glowColor.rgb * resultAlpha, resultAlpha);\n }\n else {\n finalColor = innerColor + outerGlowColor;\n }\n}\n",ts="struct GlowUniforms {\n uDistance: f32,\n uStrength: vec2<f32>,\n uColor: vec3<f32>,\n uAlpha: f32,\n uQuality: f32,\n uKnockout: f32,\n};\n\nstruct GlobalFilterUniforms {\n uInputSize:vec4<f32>,\n uInputPixel:vec4<f32>,\n uInputClamp:vec4<f32>,\n uOutputFrame:vec4<f32>,\n uGlobalFrame:vec4<f32>,\n uOutputTexture:vec4<f32>,\n};\n\n@group(0) @binding(0) var<uniform> gfu: GlobalFilterUniforms;\n\n@group(0) @binding(1) var uTexture: texture_2d<f32>; \n@group(0) @binding(2) var uSampler: sampler;\n@group(1) @binding(0) var<uniform> glowUniforms : GlowUniforms;\n\n@fragment\nfn mainFragment(\n @builtin(position) position: vec4<f32>,\n @location(0) uv : vec2<f32>\n) -> @location(0) vec4<f32> {\n let quality = glowUniforms.uQuality;\n let distance = glowUniforms.uDistance;\n\n let dist: f32 = glowUniforms.uDistance;\n let angleStepSize: f32 = min(1. / quality / distance, PI * 2.0);\n let angleStepNum: f32 = ceil(PI * 2.0 / angleStepSize);\n\n let px: vec2<f32> = vec2<f32>(1.0 / gfu.uInputSize.xy);\n\n var totalAlpha: f32 = 0.0;\n\n var direction: vec2<f32>;\n var displaced: vec2<f32>;\n var curColor: vec4<f32>;\n\n for (var angle = 0.0; angle < PI * 2.0; angle += angleStepSize) {\n direction = vec2<f32>(cos(angle), sin(angle)) * px;\n for (var curDistance = 0.0; curDistance < dist; curDistance+=1) {\n displaced = vec2<f32>(clamp(uv + direction * (curDistance + 1.0), gfu.uInputClamp.xy, gfu.uInputClamp.zw));\n curColor = textureSample(uTexture, uSampler, displaced);\n totalAlpha += (dist - curDistance) * curColor.a;\n }\n }\n \n curColor = textureSample(uTexture, uSampler, uv);\n\n let glowColorRGB = glowUniforms.uColor;\n let glowAlpha = glowUniforms.uAlpha;\n let glowColor = vec4<f32>(glowColorRGB, glowAlpha);\n let knockout: bool = glowUniforms.uKnockout > 0.5;\n let innerStrength = glowUniforms.uStrength[0];\n let outerStrength = glowUniforms.uStrength[1];\n\n let alphaRatio: f32 = (totalAlpha / (angleStepNum * dist * (dist + 1.0) / 2.0));\n let innerGlowAlpha: f32 = (1.0 - alphaRatio) * innerStrength * curColor.a * glowAlpha;\n let innerGlowStrength: f32 = min(1.0, innerGlowAlpha);\n \n let innerColor: vec4<f32> = mix(curColor, glowColor, innerGlowStrength);\n let outerGlowAlpha: f32 = alphaRatio * outerStrength * (1. - curColor.a) * glowAlpha;\n let outerGlowStrength: f32 = min(1.0 - innerColor.a, outerGlowAlpha);\n let outerGlowColor: vec4<f32> = outerGlowStrength * glowColor.rgba;\n \n if (knockout) {\n let resultAlpha: f32 = outerGlowAlpha + innerGlowAlpha;\n return vec4<f32>(glowColor.rgb * resultAlpha, resultAlpha);\n }\n else {\n return innerColor + outerGlowColor;\n }\n}\n\nconst PI: f32 = 3.14159265358979323846264;",tl=Object.defineProperty,tu=(e,t,r)=>t in e?tl(e,t,{enumerable:!0,configurable:!0,writable:!0,value:r}):e[t]=r,tc=(e,t,r)=>(tu(e,"symbol"!=typeof t?t+"":t,r),r);let tf=class e extends i.dJT{constructor(t){const r=(t={...e.DEFAULT_OPTIONS,...t}).distance??10,n=t.quality??.1;super({gpuProgram:i.BrD.from({vertex:{source:a,entryPoint:"mainVertex"},fragment:{source:ts,entryPoint:"mainFragment"}}),glProgram:i.M2g.from({vertex:o,fragment:ta.replace(/__ANGLE_STEP_SIZE__/gi,`${(1/n/r).toFixed(7)}`).replace(/__DIST__/gi,`${r.toFixed(0)}.0`),name:"glow-filter"}),resources:{glowUniforms:{uDistance:{value:r,type:"f32"},uStrength:{value:[t.innerStrength,t.outerStrength],type:"vec2<f32>"},uColor:{value:new Float32Array(3),type:"vec3<f32>"},uAlpha:{value:t.alpha,type:"f32"},uQuality:{value:n,type:"f32"},uKnockout:{value:+!!t?.knockout,type:"f32"}}},padding:r}),tc(this,"uniforms"),tc(this,"_color"),this.uniforms=this.resources.glowUniforms.uniforms,this._color=new i.Q1f,this.color=t.color??0xffffff}get distance(){return this.uniforms.uDistance}set distance(e){this.uniforms.uDistance=this.padding=e}get innerStrength(){return this.uniforms.uStrength[0]}set innerStrength(e){this.uniforms.uStrength[0]=e}get outerStrength(){return this.uniforms.uStrength[1]}set outerStrength(e){this.uniforms.uStrength[1]=e}get color(){return this._color.value}set color(e){this._color.setValue(e);let[t,r,n]=this._color.toArray();this.uniforms.uColor[0]=t,this.uniforms.uColor[1]=r,this.uniforms.uColor[2]=n}get alpha(){return this.uniforms.uAlpha}set alpha(e){this.uniforms.uAlpha=e}get quality(){return this.uniforms.uQuality}set quality(e){this.uniforms.uQuality=e}get knockout(){return 1===this.uniforms.uKnockout}set knockout(e){this.uniforms.uKnockout=+!!e}};tc(tf,"DEFAULT_OPTIONS",{distance:10,outerStrength:4,innerStrength:0,color:0xffffff,alpha:1,quality:.1,knockout:!1});let th=tf;var td="precision highp float;\nin vec2 vTextureCoord;\nout vec4 finalColor;\n\nuniform sampler2D uTexture;\nuniform vec2 uDimensions;\nuniform float uParallel;\nuniform vec2 uLight;\nuniform float uAspect;\nuniform float uTime;\nuniform vec3 uRay;\n\nuniform vec4 uInputSize;\n\n${PERLIN}\n\nvoid main(void) {\n vec2 uDimensions = uDimensions;\n bool uParallel = uParallel > 0.5;\n vec2 uLight = uLight;\n float uAspect = uAspect;\n\n vec2 coord = vTextureCoord * uInputSize.xy / uDimensions;\n\n float d;\n\n if (uParallel) {\n float _cos = uLight.x;\n float _sin = uLight.y;\n d = (_cos * coord.x) + (_sin * coord.y * uAspect);\n } else {\n float dx = coord.x - uLight.x / uDimensions.x;\n float dy = (coord.y - uLight.y / uDimensions.y) * uAspect;\n float dis = sqrt(dx * dx + dy * dy) + 0.00001;\n d = dy / dis;\n }\n\n float uTime = uTime;\n vec3 uRay = uRay;\n\n float gain = uRay[0];\n float lacunarity = uRay[1];\n float alpha = uRay[2];\n\n vec3 dir = vec3(d, d, 0.0);\n float noise = turb(dir + vec3(uTime, 0.0, 62.1 + uTime) * 0.05, vec3(480.0, 320.0, 480.0), lacunarity, gain);\n noise = mix(noise, 0.0, 0.3);\n //fade vertically.\n vec4 mist = vec4(vec3(noise), 1.0) * (1.0 - coord.y);\n mist.a = 1.0;\n // apply user alpha\n mist *= alpha;\n\n finalColor = texture(uTexture, vTextureCoord) + mist;\n}\n",tp="struct GodrayUniforms {\n uLight: vec2<f32>,\n uParallel: f32,\n uAspect: f32,\n uTime: f32,\n uRay: vec3<f32>,\n uDimensions: vec2<f32>,\n};\n\nstruct GlobalFilterUniforms {\n uInputSize:vec4<f32>,\n uInputPixel:vec4<f32>,\n uInputClamp:vec4<f32>,\n uOutputFrame:vec4<f32>,\n uGlobalFrame:vec4<f32>,\n uOutputTexture:vec4<f32>,\n};\n\n@group(0) @binding(0) var<uniform> gfu: GlobalFilterUniforms;\n\n@group(0) @binding(1) var uTexture: texture_2d<f32>; \n@group(0) @binding(2) var uSampler: sampler;\n@group(1) @binding(0) var<uniform> godrayUniforms : GodrayUniforms;\n\n@fragment\nfn mainFragment(\n @builtin(position) position: vec4<f32>,\n @location(0) uv : vec2<f32>\n) -> @location(0) vec4<f32> {\n let uDimensions: vec2<f32> = godrayUniforms.uDimensions;\n let uParallel: bool = godrayUniforms.uParallel > 0.5;\n let uLight: vec2<f32> = godrayUniforms.uLight;\n let uAspect: f32 = godrayUniforms.uAspect;\n\n let coord: vec2<f32> = uv * gfu.uInputSize.xy / uDimensions;\n\n var d: f32;\n\n if (uParallel) {\n let _cos: f32 = uLight.x;\n let _sin: f32 = uLight.y;\n d = (_cos * coord.x) + (_sin * coord.y * uAspect);\n } else {\n let dx: f32 = coord.x - uLight.x / uDimensions.x;\n let dy: f32 = (coord.y - uLight.y / uDimensions.y) * uAspect;\n let dis: f32 = sqrt(dx * dx + dy * dy) + 0.00001;\n d = dy / dis;\n }\n\n let uTime: f32 = godrayUniforms.uTime;\n let uRay: vec3<f32> = godrayUniforms.uRay;\n \n let gain = uRay[0];\n let lacunarity = uRay[1];\n let alpha = uRay[2];\n\n let dir: vec3<f32> = vec3<f32>(d, d, 0.0);\n var noise: f32 = turb(dir + vec3<f32>(uTime, 0.0, 62.1 + uTime) * 0.05, vec3<f32>(480.0, 320.0, 480.0), lacunarity, gain);\n noise = mix(noise, 0.0, 0.3);\n //fade vertically.\n var mist: vec4<f32> = vec4<f32>(vec3<f32>(noise), 1.0) * (1.0 - coord.y);\n mist.a = 1.0;\n // apply user alpha\n mist *= alpha;\n return textureSample(uTexture, uSampler, uv) + mist;\n}\n\n${PERLIN}",tm="vec3 mod289(vec3 x)\n{\n return x - floor(x * (1.0 / 289.0)) * 289.0;\n}\nvec4 mod289(vec4 x)\n{\n return x - floor(x * (1.0 / 289.0)) * 289.0;\n}\nvec4 permute(vec4 x)\n{\n return mod289(((x * 34.0) + 1.0) * x);\n}\nvec4 taylorInvSqrt(vec4 r)\n{\n return 1.79284291400159 - 0.85373472095314 * r;\n}\nvec3 fade(vec3 t)\n{\n return t * t * t * (t * (t * 6.0 - 15.0) + 10.0);\n}\n// Classic Perlin noise, periodic variant\nfloat pnoise(vec3 P, vec3 rep)\n{\n vec3 Pi0 = mod(floor(P), rep); // Integer part, modulo period\n vec3 Pi1 = mod(Pi0 + vec3(1.0), rep); // Integer part + 1, mod period\n Pi0 = mod289(Pi0);\n Pi1 = mod289(Pi1);\n vec3 Pf0 = fract(P); // Fractional part for interpolation\n vec3 Pf1 = Pf0 - vec3(1.0); // Fractional part - 1.0\n vec4 ix = vec4(Pi0.x, Pi1.x, Pi0.x, Pi1.x);\n vec4 iy = vec4(Pi0.yy, Pi1.yy);\n vec4 iz0 = Pi0.zzzz;\n vec4 iz1 = Pi1.zzzz;\n vec4 ixy = permute(permute(ix) + iy);\n vec4 ixy0 = permute(ixy + iz0);\n vec4 ixy1 = permute(ixy + iz1);\n vec4 gx0 = ixy0 * (1.0 / 7.0);\n vec4 gy0 = fract(floor(gx0) * (1.0 / 7.0)) - 0.5;\n gx0 = fract(gx0);\n vec4 gz0 = vec4(0.5) - abs(gx0) - abs(gy0);\n vec4 sz0 = step(gz0, vec4(0.0));\n gx0 -= sz0 * (step(0.0, gx0) - 0.5);\n gy0 -= sz0 * (step(0.0, gy0) - 0.5);\n vec4 gx1 = ixy1 * (1.0 / 7.0);\n vec4 gy1 = fract(floor(gx1) * (1.0 / 7.0)) - 0.5;\n gx1 = fract(gx1);\n vec4 gz1 = vec4(0.5) - abs(gx1) - abs(gy1);\n vec4 sz1 = step(gz1, vec4(0.0));\n gx1 -= sz1 * (step(0.0, gx1) - 0.5);\n gy1 -= sz1 * (step(0.0, gy1) - 0.5);\n vec3 g000 = vec3(gx0.x, gy0.x, gz0.x);\n vec3 g100 = vec3(gx0.y, gy0.y, gz0.y);\n vec3 g010 = vec3(gx0.z, gy0.z, gz0.z);\n vec3 g110 = vec3(gx0.w, gy0.w, gz0.w);\n vec3 g001 = vec3(gx1.x, gy1.x, gz1.x);\n vec3 g101 = vec3(gx1.y, gy1.y, gz1.y);\n vec3 g011 = vec3(gx1.z, gy1.z, gz1.z);\n vec3 g111 = vec3(gx1.w, gy1.w, gz1.w);\n vec4 norm0 = taylorInvSqrt(vec4(dot(g000, g000), dot(g010, g010), dot(g100, g100), dot(g110, g110)));\n g000 *= norm0.x;\n g010 *= norm0.y;\n g100 *= norm0.z;\n g110 *= norm0.w;\n vec4 norm1 = taylorInvSqrt(vec4(dot(g001, g001), dot(g011, g011), dot(g101, g101), dot(g111, g111)));\n g001 *= norm1.x;\n g011 *= norm1.y;\n g101 *= norm1.z;\n g111 *= norm1.w;\n float n000 = dot(g000, Pf0);\n float n100 = dot(g100, vec3(Pf1.x, Pf0.yz));\n float n010 = dot(g010, vec3(Pf0.x, Pf1.y, Pf0.z));\n float n110 = dot(g110, vec3(Pf1.xy, Pf0.z));\n float n001 = dot(g001, vec3(Pf0.xy, Pf1.z));\n float n101 = dot(g101, vec3(Pf1.x, Pf0.y, Pf1.z));\n float n011 = dot(g011, vec3(Pf0.x, Pf1.yz));\n float n111 = dot(g111, Pf1);\n vec3 fade_xyz = fade(Pf0);\n vec4 n_z = mix(vec4(n000, n100, n010, n110), vec4(n001, n101, n011, n111), fade_xyz.z);\n vec2 n_yz = mix(n_z.xy, n_z.zw, fade_xyz.y);\n float n_xyz = mix(n_yz.x, n_yz.y, fade_xyz.x);\n return 2.2 * n_xyz;\n}\nfloat turb(vec3 P, vec3 rep, float lacunarity, float gain)\n{\n float sum = 0.0;\n float sc = 1.0;\n float totalgain = 1.0;\n for (float i = 0.0; i < 6.0; i++)\n {\n sum += totalgain * pnoise(P * sc, rep);\n sc *= lacunarity;\n totalgain *= gain;\n }\n return abs(sum);\n}\n",tg="// Taken from https://gist.github.com/munrocket/236ed5ba7e409b8bdf1ff6eca5dcdc39\n\nfn moduloVec3(x: vec3<f32>, y: vec3<f32>) -> vec3<f32>\n{\n return x - y * floor(x/y);\n}\nfn mod289Vec3(x: vec3<f32>) -> vec3<f32>\n{\n return x - floor(x * (1.0 / 289.0)) * 289.0;\n}\nfn mod289Vec4(x: vec4<f32>) -> vec4<f32>\n{\n return x - floor(x * (1.0 / 289.0)) * 289.0;\n}\nfn permute4(x: vec4<f32>) -> vec4<f32>\n{\n return mod289Vec4(((x * 34.0) + 1.0) * x);\n}\nfn taylorInvSqrt(r: vec4<f32>) -> vec4<f32>\n{\n return 1.79284291400159 - 0.85373472095314 * r;\n}\nfn fade3(t: vec3<f32>) -> vec3<f32>\n{\n return t * t * t * (t * (t * 6.0 - 15.0) + 10.0);\n}\nfn fade2(t: vec2<f32>) -> vec2<f32> { return t * t * t * (t * (t * 6. - 15.) + 10.); }\n\nfn perlinNoise2(P: vec2<f32>) -> f32 {\n var Pi: vec4<f32> = floor(P.xyxy) + vec4<f32>(0., 0., 1., 1.);\n let Pf = fract(P.xyxy) - vec4<f32>(0., 0., 1., 1.);\n Pi = Pi % vec4<f32>(289.); // To avoid truncation effects in permutation\n let ix = Pi.xzxz;\n let iy = Pi.yyww;\n let fx = Pf.xzxz;\n let fy = Pf.yyww;\n let i = permute4(permute4(ix) + iy);\n var gx: vec4<f32> = 2. * fract(i * 0.0243902439) - 1.; // 1/41 = 0.024...\n let gy = abs(gx) - 0.5;\n let tx = floor(gx + 0.5);\n gx = gx - tx;\n var g00: vec2<f32> = vec2<f32>(gx.x, gy.x);\n var g10: vec2<f32> = vec2<f32>(gx.y, gy.y);\n var g01: vec2<f32> = vec2<f32>(gx.z, gy.z);\n var g11: vec2<f32> = vec2<f32>(gx.w, gy.w);\n let norm = 1.79284291400159 - 0.85373472095314 *\n vec4<f32>(dot(g00, g00), dot(g01, g01), dot(g10, g10), dot(g11, g11));\n g00 = g00 * norm.x;\n g01 = g01 * norm.y;\n g10 = g10 * norm.z;\n g11 = g11 * norm.w;\n let n00 = dot(g00, vec2<f32>(fx.x, fy.x));\n let n10 = dot(g10, vec2<f32>(fx.y, fy.y));\n let n01 = dot(g01, vec2<f32>(fx.z, fy.z));\n let n11 = dot(g11, vec2<f32>(fx.w, fy.w));\n let fade_xy = fade2(Pf.xy);\n let n_x = mix(vec2<f32>(n00, n01), vec2<f32>(n10, n11), vec2<f32>(fade_xy.x));\n let n_xy = mix(n_x.x, n_x.y, fade_xy.y);\n return 2.3 * n_xy;\n}\n\n// Classic Perlin noise, periodic variant\nfn perlinNoise3(P: vec3<f32>, rep: vec3<f32>) -> f32\n{\n var Pi0: vec3<f32> = moduloVec3(floor(P), rep); // Integer part, modulo period\n var Pi1: vec3<f32> = moduloVec3(Pi0 + vec3<f32>(1.0), rep); // Integer part + 1, mod period\n Pi0 = mod289Vec3(Pi0);\n Pi1 = mod289Vec3(Pi1);\n let Pf0: vec3<f32> = fract(P); // Fractional part for interpolation\n let Pf1: vec3<f32> = Pf0 - vec3<f32>(1.0); // Fractional part - 1.0\n let ix: vec4<f32> = vec4<f32>(Pi0.x, Pi1.x, Pi0.x, Pi1.x);\n let iy: vec4<f32> = vec4<f32>(Pi0.yy, Pi1.yy);\n let iz0: vec4<f32> = Pi0.zzzz;\n let iz1: vec4<f32> = Pi1.zzzz;\n let ixy: vec4<f32> = permute4(permute4(ix) + iy);\n let ixy0: vec4<f32> = permute4(ixy + iz0);\n let ixy1: vec4<f32> = permute4(ixy + iz1);\n var gx0: vec4<f32> = ixy0 * (1.0 / 7.0);\n var gy0: vec4<f32> = fract(floor(gx0) * (1.0 / 7.0)) - 0.5;\n gx0 = fract(gx0);\n let gz0: vec4<f32> = vec4<f32>(0.5) - abs(gx0) - abs(gy0);\n let sz0: vec4<f32> = step(gz0, vec4<f32>(0.0));\n gx0 -= sz0 * (step(vec4<f32>(0.0), gx0) - 0.5);\n gy0 -= sz0 * (step(vec4<f32>(0.0), gy0) - 0.5);\n var gx1: vec4<f32> = ixy1 * (1.0 / 7.0);\n var gy1: vec4<f32> = fract(floor(gx1) * (1.0 / 7.0)) - 0.5;\n gx1 = fract(gx1);\n let gz1: vec4<f32> = vec4<f32>(0.5) - abs(gx1) - abs(gy1);\n let sz1: vec4<f32> = step(gz1, vec4<f32>(0.0));\n gx1 -= sz1 * (step(vec4<f32>(0.0), gx1) - 0.5);\n gy1 -= sz1 * (step(vec4<f32>(0.0), gy1) - 0.5);\n var g000: vec3<f32> = vec3<f32>(gx0.x, gy0.x, gz0.x);\n var g100: vec3<f32> = vec3<f32>(gx0.y, gy0.y, gz0.y);\n var g010: vec3<f32> = vec3<f32>(gx0.z, gy0.z, gz0.z);\n var g110: vec3<f32> = vec3<f32>(gx0.w, gy0.w, gz0.w);\n var g001: vec3<f32> = vec3<f32>(gx1.x, gy1.x, gz1.x);\n var g101: vec3<f32> = vec3<f32>(gx1.y, gy1.y, gz1.y);\n var g011: vec3<f32> = vec3<f32>(gx1.z, gy1.z, gz1.z);\n var g111: vec3<f32> = vec3<f32>(gx1.w, gy1.w, gz1.w);\n let norm0: vec4<f32> = taylorInvSqrt(vec4<f32>(dot(g000, g000), dot(g010, g010), dot(g100, g100), dot(g110, g110)));\n g000 *= norm0.x;\n g010 *= norm0.y;\n g100 *= norm0.z;\n g110 *= norm0.w;\n let norm1: vec4<f32> = taylorInvSqrt(vec4<f32>(dot(g001, g001), dot(g011, g011), dot(g101, g101), dot(g111, g111)));\n g001 *= norm1.x;\n g011 *= norm1.y;\n g101 *= norm1.z;\n g111 *= norm1.w;\n let n000: f32 = dot(g000, Pf0);\n let n100: f32 = dot(g100, vec3<f32>(Pf1.x, Pf0.yz));\n let n010: f32 = dot(g010, vec3<f32>(Pf0.x, Pf1.y, Pf0.z));\n let n110: f32 = dot(g110, vec3<f32>(Pf1.xy, Pf0.z));\n let n001: f32 = dot(g001, vec3<f32>(Pf0.xy, Pf1.z));\n let n101: f32 = dot(g101, vec3<f32>(Pf1.x, Pf0.y, Pf1.z));\n let n011: f32 = dot(g011, vec3<f32>(Pf0.x, Pf1.yz));\n let n111: f32 = dot(g111, Pf1);\n let fade_xyz: vec3<f32> = fade3(Pf0);\n let n_z: vec4<f32> = mix(vec4<f32>(n000, n100, n010, n110), vec4<f32>(n001, n101, n011, n111), fade_xyz.z);\n let n_yz: vec2<f32> = mix(n_z.xy, n_z.zw, fade_xyz.y);\n let n_xyz: f32 = mix(n_yz.x, n_yz.y, fade_xyz.x);\n return 2.2 * n_xyz;\n}\nfn turb(P: vec3<f32>, rep: vec3<f32>, lacunarity: f32, gain: f32) -> f32\n{\n var sum: f32 = 0.0;\n var sc: f32 = 1.0;\n var totalgain: f32 = 1.0;\n for (var i = 0.0; i < 6.0; i += 1)\n {\n sum += totalgain * perlinNoise3(P * sc, rep);\n sc *= lacunarity;\n totalgain *= gain;\n }\n return abs(sum);\n}",tv=Object.defineProperty,ty=(e,t,r)=>t in e?tv(e,t,{enumerable:!0,configurable:!0,writable:!0,value:r}):e[t]=r,tb=(e,t,r)=>(ty(e,"symbol"!=typeof t?t+"":t,r),r);let t_=class e extends i.dJT{constructor(t){t={...e.DEFAULT_OPTIONS,...t},super({gpuProgram:i.BrD.from({vertex:{source:a,entryPoint:"mainVertex"},fragment:{source:tp.replace("${PERLIN}",tg),entryPoint:"mainFragment"}}),glProgram:i.M2g.from({vertex:o,fragment:td.replace("${PERLIN}",tm),name:"god-ray-filter"}),resources:{godrayUniforms:{uLight:{value:new Float32Array(2),type:"vec2<f32>"},uParallel:{value:0,type:"f32"},uAspect:{value:0,type:"f32"},uTime:{value:t.time,type:"f32"},uRay:{value:new Float32Array(3),type:"vec3<f32>"},uDimensions:{value:new Float32Array(2),type:"vec2<f32>"}}}}),tb(this,"uniforms"),tb(this,"time",0),tb(this,"_angleLight",[0,0]),tb(this,"_angle",0),tb(this,"_center"),this.uniforms=this.resources.godrayUniforms.uniforms,Object.assign(this,t)}apply(e,t,r,n){let i=t.frame.width,o=t.frame.height;this.uniforms.uLight[0]=this.parallel?this._angleLight[0]:this._center.x,this.uniforms.uLight[1]=this.parallel?this._angleLight[1]:this._center.y,this.uniforms.uDimensions[0]=i,this.uniforms.uDimensions[1]=o,this.uniforms.uAspect=o/i,this.uniforms.uTime=this.time,e.applyFilter(this,t,r,n)}get angle(){return this._angle}set angle(e){this._angle=e;let t=e*i.Tde;this._angleLight[0]=Math.cos(t),this._angleLight[1]=Math.sin(t)}get parallel(){return this.uniforms.uParallel>.5}set parallel(e){this.uniforms.uParallel=+!!e}get center(){return this._center}set center(e){Array.isArray(e)&&(e={x:e[0],y:e[1]}),this._center=e}get centerX(){return this.center.x}set centerX(e){this.center.x=e}get centerY(){return this.center.y}set centerY(e){this.center.y=e}get gain(){return this.uniforms.uRay[0]}set gain(e){this.uniforms.uRay[0]=e}get lacunarity(){return this.uniforms.uRay[1]}set lacunarity(e){this.uniforms.uRay[1]=e}get alpha(){return this.uniforms.uRay[2]}set alpha(e){this.uniforms.uRay[2]=e}};tb(t_,"DEFAULT_OPTIONS",{angle:30,gain:.5,lacunarity:2.5,parallel:!0,time:0,center:{x:0,y:0},alpha:1});i.dJT;var tw="in vec2 vTextureCoord;\nout vec4 finalColor;\n\nuniform sampler2D uTexture;\nuniform vec3 uHsl;\nuniform float uAlpha;\nuniform float uColorize;\n\n// https://en.wikipedia.org/wiki/Luma_(video)\nconst vec3 weight = vec3(0.299, 0.587, 0.114);\n\nfloat getWeightedAverage(vec3 rgb) {\n return rgb.r * weight.r + rgb.g * weight.g + rgb.b * weight.b;\n}\n\n// https://gist.github.com/mairod/a75e7b44f68110e1576d77419d608786?permalink_comment_id=3195243#gistcomment-3195243\nconst vec3 k = vec3(0.57735, 0.57735, 0.57735);\n\nvec3 hueShift(vec3 color, float angle) {\n float cosAngle = cos(angle);\n return vec3(\n color * cosAngle +\n cross(k, color) * sin(angle) +\n k * dot(k, color) * (1.0 - cosAngle)\n );\n}\n\nvoid main()\n{\n vec4 color = texture(uTexture, vTextureCoord);\n vec3 resultRGB = color.rgb;\n\n float hue = uHsl[0];\n float saturation = uHsl[1];\n float lightness = uHsl[2];\n\n // colorize\n if (uColorize > 0.5) {\n resultRGB = vec3(getWeightedAverage(resultRGB), 0., 0.);\n }\n\n // hue\n resultRGB = hueShift(resultRGB, hue);\n\n // saturation\n // https://github.com/evanw/glfx.js/blob/master/src/filters/adjust/huesaturation.js\n float average = (resultRGB.r + resultRGB.g + resultRGB.b) / 3.0;\n\n if (saturation > 0.) {\n resultRGB += (average - resultRGB) * (1. - 1. / (1.001 - saturation));\n } else {\n resultRGB -= (average - resultRGB) * saturation;\n }\n\n // lightness\n resultRGB = mix(resultRGB, vec3(ceil(lightness)) * color.a, abs(lightness));\n\n // alpha\n finalColor = mix(color, vec4(resultRGB, color.a), uAlpha);\n}\n",tx="struct HslUniforms {\n uHsl:vec3<f32>,\n uColorize:f32,\n uAlpha:f32,\n};\n\n@group(0) @binding(1) var uTexture: texture_2d<f32>; \n@group(0) @binding(2) var uSampler: sampler;\n@group(1) @binding(0) var<uniform> hslUniforms : HslUniforms;\n\n@fragment\nfn mainFragment(\n @location(0) uv: vec2<f32>,\n @builtin(position) position: vec4<f32>\n) -> @location(0) vec4<f32> {\n let color: vec4<f32> = textureSample(uTexture, uSampler, uv);\n var resultRGB: vec3<f32> = color.rgb;\n\n let hue: f32 = hslUniforms.uHsl[0];\n let saturation: f32 = hslUniforms.uHsl[1];\n let lightness: f32 = hslUniforms.uHsl[2];\n\n // colorize\n if (hslUniforms.uColorize > 0.5) {\n resultRGB = vec3<f32>(dot(color.rgb, vec3<f32>(0.299, 0.587, 0.114)), 0., 0.);\n }\n\n // hue\n resultRGB = hueShift(resultRGB, hue);\n\n // saturation\n // https://github.com/evanw/glfx.js/blob/master/src/filters/adjust/huesaturation.js\n let average: f32 = (resultRGB.r + resultRGB.g + resultRGB.b) / 3.0;\n\n if (saturation > 0.) {\n resultRGB += (average - resultRGB) * (1. - 1. / (1.001 - saturation));\n } else {\n resultRGB -= (average - resultRGB) * saturation;\n }\n\n // lightness\n resultRGB = mix(resultRGB, vec3<f32>(ceil(lightness)) * color.a, abs(lightness));\n\n // alpha\n return mix(color, vec4<f32>(resultRGB, color.a), hslUniforms.uAlpha);\n}\n\n// https://gist.github.com/mairod/a75e7b44f68110e1576d77419d608786?permalink_comment_id=3195243#gistcomment-3195243\nconst k: vec3<f32> = vec3(0.57735, 0.57735, 0.57735);\n\nfn hueShift(color: vec3<f32>, angle: f32) -> vec3<f32> \n{\n let cosAngle: f32 = cos(angle);\n return vec3<f32>(\n color * cosAngle +\n cross(k, color) * sin(angle) +\n k * dot(k, color) * (1.0 - cosAngle)\n );\n}",tS=Object.defineProperty,tA=(e,t,r)=>t in e?tS(e,t,{enumerable:!0,configurable:!0,writable:!0,value:r}):e[t]=r,tE=(e,t,r)=>(tA(e,"symbol"!=typeof t?t+"":t,r),r);let tC=class e extends i.dJT{constructor(t){t={...e.DEFAULT_OPTIONS,...t},super({gpuProgram:i.BrD.from({vertex:{source:a,entryPoint:"mainVertex"},fragment:{source:tx,entryPoint:"mainFragment"}}),glProgram:i.M2g.from({vertex:o,fragment:tw,name:"hsl-adjustment-filter"}),resources:{hslUniforms:{uHsl:{value:new Float32Array(3),type:"vec3<f32>"},uColorize:{value:+!!t.colorize,type:"f32"},uAlpha:{value:t.alpha,type:"f32"}}}}),tE(this,"uniforms"),tE(this,"_hue"),this.uniforms=this.resources.hslUniforms.uniforms,Object.assign(this,t)}get hue(){return this._hue}set hue(e){this._hue=e,this.uniforms.uHsl[0]=Math.PI/180*e}get saturation(){return this.uniforms.uHsl[1]}set saturation(e){this.uniforms.uHsl[1]=e}get lightness(){return this.uniforms.uHsl[2]}set lightness(e){this.uniforms.uHsl[2]=e}get colorize(){return 1===this.uniforms.uColorize}set colorize(e){this.uniforms.uColorize=+!!e}get alpha(){return this.uniforms.uAlpha}set alpha(e){this.uniforms.uAlpha=e}};tE(tC,"DEFAULT_OPTIONS",{hue:0,saturation:0,lightness:0,colorize:!1,alpha:1});var tO="precision highp float;\nin vec2 vTextureCoord;\nout vec4 finalColor;\n\nuniform sampler2D uTexture;\nuniform vec2 uVelocity;\nuniform int uKernelSize;\nuniform float uOffset;\n\nuniform vec4 uInputSize;\n\nconst int MAX_KERNEL_SIZE = 2048;\n\n// Notice:\n// the perfect way:\n// int kernelSize = min(uKernelSize, MAX_KERNELSIZE);\n// BUT in real use-case , uKernelSize < MAX_KERNELSIZE almost always.\n// So use uKernelSize directly.\n\nvoid main(void)\n{\n vec4 color = texture(uTexture, vTextureCoord);\n\n if (uKernelSize == 0)\n {\n finalColor = color;\n return;\n }\n\n vec2 velocity = uVelocity / uInputSize.xy;\n float offset = -uOffset / length(uVelocity) - 0.5;\n int k = uKernelSize - 1;\n\n for(int i = 0; i < MAX_KERNEL_SIZE - 1; i++) {\n if (i == k) {\n break;\n }\n vec2 bias = velocity * (float(i) / float(k) + offset);\n color += texture(uTexture, vTextureCoord + bias);\n }\n finalColor = color / float(uKernelSize);\n}\n",tk="struct MotionBlurUniforms {\n uVelocity: vec2<f32>,\n uKernelSize: f32,\n uOffset: f32,\n};\n\nstruct GlobalFilterUniforms {\n uInputSize:vec4<f32>,\n uInputPixel:vec4<f32>,\n uInputClamp:vec4<f32>,\n uOutputFrame:vec4<f32>,\n uGlobalFrame:vec4<f32>,\n uOutputTexture:vec4<f32>,\n};\n\n@group(0) @binding(0) var<uniform> gfu: GlobalFilterUniforms;\n\n@group(0) @binding(1) var uTexture: texture_2d<f32>; \n@group(0) @binding(2) var uSampler: sampler;\n@group(1) @binding(0) var<uniform> motionBlurUniforms : MotionBlurUniforms;\n\n@fragment\nfn mainFragment(\n @builtin(position) position: vec4<f32>,\n @location(0) uv : vec2<f32>\n) -> @location(0) vec4<f32> {\n let uVelocity = motionBlurUniforms.uVelocity;\n let uKernelSize = motionBlurUniforms.uKernelSize;\n let uOffset = motionBlurUniforms.uOffset;\n\n let velocity: vec2<f32> = uVelocity / gfu.uInputSize.xy;\n let offset: f32 = -uOffset / length(uVelocity) - 0.5;\n let k: i32 = i32(min(uKernelSize - 1, MAX_KERNEL_SIZE - 1));\n\n var color: vec4<f32> = textureSample(uTexture, uSampler, uv);\n\n for(var i: i32 = 0; i < k; i += 1) {\n let bias: vec2<f32> = velocity * (f32(i) / f32(k) + offset);\n color += textureSample(uTexture, uSampler, uv + bias);\n }\n \n return select(color / f32(uKernelSize), textureSample(uTexture, uSampler, uv), uKernelSize == 0);\n}\n\nconst MAX_KERNEL_SIZE: f32 = 2048;",tI=Object.defineProperty,tT=(e,t,r)=>t in e?tI(e,t,{enumerable:!0,configurable:!0,writable:!0,value:r}):e[t]=r,tP=(e,t,r)=>(tT(e,"symbol"!=typeof t?t+"":t,r),r);let tM=class e extends i.dJT{constructor(...t){let r=t[0]??{};(Array.isArray(r)||"x"in r&&"y"in r||r instanceof i.oA$)&&((0,i.t66)("6.0.0","MotionBlurFilter constructor params are now options object. See params: { velocity, kernelSize, offset }"),r={velocity:{x:"x"in r?r.x:r[0],y:"y"in r?r.y:r[1]}},void 0!==t[1]&&(r.kernelSize=t[1]),void 0!==t[2]&&(r.offset=t[2])),r={...e.DEFAULT_OPTIONS,...r},super({gpuProgram:i.BrD.from({vertex:{source:a,entryPoint:"mainVertex"},fragment:{source:tk,entryPoint:"mainFragment"}}),glProgram:i.M2g.from({vertex:o,fragment:tO,name:"motion-blur-filter"}),resources:{motionBlurUniforms:{uVelocity:{value:r.velocity,type:"vec2<f32>"},uKernelSize:{value:Math.trunc(r.kernelSize??5),type:"i32"},uOffset:{value:r.offset,type:"f32"}}}}),tP(this,"uniforms"),tP(this,"_kernelSize"),this.uniforms=this.resources.motionBlurUniforms.uniforms,Object.assign(this,r)}get velocity(){return this.uniforms.uVelocity}set velocity(e){Array.isArray(e)&&(e={x:e[0],y:e[1]}),this.uniforms.uVelocity=e,this._updateDirty()}get velocityX(){return this.velocity.x}set velocityX(e){this.velocity.x=e,this._updateDirty()}get velocityY(){return this.velocity.y}set velocityY(e){this.velocity.y=e,this._updateDirty()}get kernelSize(){return this._kernelSize}set kernelSize(e){this._kernelSize=e,this._updateDirty()}get offset(){return this.uniforms.uOffset}set offset(e){this.uniforms.uOffset=e}_updateDirty(){this.padding=(0|Math.max(Math.abs(this.velocityX),Math.abs(this.velocityY)))+1,this.uniforms.uKernelSize=0!==this.velocityX||0!==this.velocityY?this._kernelSize:0}};tP(tM,"DEFAULT_OPTIONS",{velocity:{x:0,y:0},kernelSize:5,offset:0});var tR="in vec2 vTextureCoord;\nout vec4 finalColor;\n\nconst int MAX_COLORS = ${MAX_COLORS};\n\nuniform sampler2D uTexture;\nuniform vec3 uOriginalColors[MAX_COLORS];\nuniform vec3 uTargetColors[MAX_COLORS];\nuniform float uTolerance;\n\nvoid main(void)\n{\n finalColor = texture(uTexture, vTextureCoord);\n\n float alpha = finalColor.a;\n if (alpha < 0.0001)\n {\n return;\n }\n\n vec3 color = finalColor.rgb / alpha;\n\n for(int i = 0; i < MAX_COLORS; i++)\n {\n vec3 origColor = uOriginalColors[i];\n if (origColor.r < 0.0)\n {\n break;\n }\n vec3 colorDiff = origColor - color;\n if (length(colorDiff) < uTolerance)\n {\n vec3 targetColor = uTargetColors[i];\n finalColor = vec4((targetColor + colorDiff) * alpha, alpha);\n return;\n }\n }\n}\n",t$="struct MultiColorReplaceUniforms {\n uOriginalColors: array<vec3<f32>, MAX_COLORS>,\n uTargetColors: array<vec3<f32>, MAX_COLORS>,\n uTolerance:f32,\n};\n\n@group(0) @binding(1) var uTexture: texture_2d<f32>; \n@group(0) @binding(2) var uSampler: sampler;\n@group(1) @binding(0) var<uniform> multiColorReplaceUniforms : MultiColorReplaceUniforms;\n\n@fragment\nfn mainFragment(\n @builtin(position) position: vec4<f32>,\n @location(0) uv : vec2<f32>\n) -> @location(0) vec4<f32> {\n let uOriginalColors = multiColorReplaceUniforms.uOriginalColors;\n let uTargetColors = multiColorReplaceUniforms.uTargetColors;\n let uTolerance = multiColorReplaceUniforms.uTolerance;\n\n var color: vec4<f32> = textureSample(uTexture, uSampler, uv);\n\n let alpha: f32 = color.a;\n\n if (alpha > 0.0001)\n {\n var modColor: vec3<f32> = vec3<f32>(color.rgb) / alpha;\n\n for(var i: i32 = 0; i < MAX_COLORS; i += 1)\n {\n let origColor: vec3<f32> = uOriginalColors[i];\n if (origColor.r < 0.0)\n {\n break;\n }\n let colorDiff: vec3<f32> = origColor - modColor;\n \n if (length(colorDiff) < uTolerance)\n {\n let targetColor: vec3<f32> = uTargetColors[i];\n color = vec4((targetColor + colorDiff) * alpha, alpha);\n return color;\n }\n }\n }\n\n return color;\n}\n\nconst MAX_COLORS: i32 = ${MAX_COLORS};",tj=Object.defineProperty,tN=(e,t,r)=>t in e?tj(e,t,{enumerable:!0,configurable:!0,writable:!0,value:r}):e[t]=r,tB=(e,t,r)=>(tN(e,"symbol"!=typeof t?t+"":t,r),r);let tL=class e extends i.dJT{constructor(...t){let r=t[0]??{};Array.isArray(r)&&((0,i.t66)("6.0.0","MultiColorReplaceFilter constructor params are now options object. See params: { replacements, tolerance, maxColors }"),r={replacements:r},t[1]&&(r.tolerance=t[1]),t[2]&&(r.maxColors=t[2]));const n=(r={...e.DEFAULT_OPTIONS,...r}).maxColors??r.replacements.length;super({gpuProgram:i.BrD.from({vertex:{source:a,entryPoint:"mainVertex"},fragment:{source:t$.replace(/\$\{MAX_COLORS\}/g,n.toFixed(0)),entryPoint:"mainFragment"}}),glProgram:i.M2g.from({vertex:o,fragment:tR.replace(/\$\{MAX_COLORS\}/g,n.toFixed(0)),name:"multi-color-replace-filter"}),resources:{multiColorReplaceUniforms:{uOriginalColors:{value:new Float32Array(3*n),type:"vec3<f32>",size:n},uTargetColors:{value:new Float32Array(3*n),type:"vec3<f32>",size:n},uTolerance:{value:r.tolerance,type:"f32"}}}}),tB(this,"uniforms"),tB(this,"_replacements",[]),tB(this,"_maxColors"),this._maxColors=n,this.uniforms=this.resources.multiColorReplaceUniforms.uniforms,this.replacements=r.replacements}set replacements(e){let t,r,n,o=this.uniforms.uOriginalColors,a=this.uniforms.uTargetColors,s=e.length,l=new i.Q1f;if(s>this._maxColors)throw Error(`Length of replacements (${s}) exceeds the maximum colors length (${this._maxColors})`);o[3*s]=-1;for(let i=0;i<s;i++){let s=e[i];l.setValue(s[0]),[t,r,n]=l.toArray(),o[3*i]=t,o[3*i+1]=r,o[3*i+2]=n,l.setValue(s[1]),[t,r,n]=l.toArray(),a[3*i]=t,a[3*i+1]=r,a[3*i+2]=n}this._replacements=e}get replacements(){return this._replacements}refresh(){this.replacements=this._replacements}get maxColors(){return this._maxColors}get tolerance(){return this.uniforms.uTolerance}set tolerance(e){this.uniforms.uTolerance=e}set epsilon(e){(0,i.t66)("6.0.0","MultiColorReplaceFilter.epsilon is deprecated, please use MultiColorReplaceFilter.tolerance instead"),this.tolerance=e}get epsilon(){return(0,i.t66)("6.0.0","MultiColorReplaceFilter.epsilon is deprecated, please use MultiColorReplaceFilter.tolerance instead"),this.tolerance}};tB(tL,"DEFAULT_OPTIONS",{replacements:[[0xff0000,255]],tolerance:.05,maxColors:void 0});var tz="precision highp float;\nin vec2 vTextureCoord;\nout vec4 finalColor;\n\nuniform sampler2D uTexture;\nuniform float uSepia;\nuniform vec2 uNoise;\nuniform vec3 uScratch;\nuniform vec3 uVignetting;\nuniform float uSeed;\nuniform vec2 uDimensions;\n\nuniform vec4 uInputSize;\n\nconst float SQRT_2 = 1.414213;\nconst vec3 SEPIA_RGB = vec3(112.0 / 255.0, 66.0 / 255.0, 20.0 / 255.0);\n\nfloat rand(vec2 co) {\n return fract(sin(dot(co.xy, vec2(12.9898, 78.233))) * 43758.5453);\n}\n\nvec3 Overlay(vec3 src, vec3 dst)\n{\n // if (dst <= 0.5) then: 2 * src * dst\n // if (dst > 0.5) then: 1 - 2 * (1 - dst) * (1 - src)\n return vec3((dst.x <= 0.5) ? (2.0 * src.x * dst.x) : (1.0 - 2.0 * (1.0 - dst.x) * (1.0 - src.x)),\n (dst.y <= 0.5) ? (2.0 * src.y * dst.y) : (1.0 - 2.0 * (1.0 - dst.y) * (1.0 - src.y)),\n (dst.z <= 0.5) ? (2.0 * src.z * dst.z) : (1.0 - 2.0 * (1.0 - dst.z) * (1.0 - src.z)));\n}\n\n\nvoid main()\n{\n finalColor = texture(uTexture, vTextureCoord);\n vec3 color = finalColor.rgb;\n\n if (uSepia > 0.0)\n {\n float gray = (color.x + color.y + color.z) / 3.0;\n vec3 grayscale = vec3(gray);\n\n color = Overlay(SEPIA_RGB, grayscale);\n\n color = grayscale + uSepia * (color - grayscale);\n }\n\n vec2 coord = vTextureCoord * uInputSize.xy / uDimensions.xy;\n\n float vignette = uVignetting[0];\n float vignetteAlpha = uVignetting[1];\n float vignetteBlur = uVignetting[2];\n\n if (vignette > 0.0)\n {\n float outter = SQRT_2 - vignette * SQRT_2;\n vec2 dir = vec2(vec2(0.5, 0.5) - coord);\n dir.y *= uDimensions.y / uDimensions.x;\n float darker = clamp((outter - length(dir) * SQRT_2) / ( 0.00001 + vignetteBlur * SQRT_2), 0.0, 1.0);\n color.rgb *= darker + (1.0 - darker) * (1.0 - vignetteAlpha);\n }\n\n float scratch = uScratch[0];\n float scratchDensity = uScratch[1];\n float scratchWidth = uScratch[2];\n\n if (scratchDensity > uSeed && scratch != 0.0)\n {\n float phase = uSeed * 256.0;\n float s = mod(floor(phase), 2.0);\n float dist = 1.0 / scratchDensity;\n float d = distance(coord, vec2(uSeed * dist, abs(s - uSeed * dist)));\n if (d < uSeed * 0.6 + 0.4)\n {\n highp float period = scratchDensity * 10.0;\n\n float xx = coord.x * period + phase;\n float aa = abs(mod(xx, 0.5) * 4.0);\n float bb = mod(floor(xx / 0.5), 2.0);\n float yy = (1.0 - bb) * aa + bb * (2.0 - aa);\n\n float kk = 2.0 * period;\n float dw = scratchWidth / uDimensions.x * (0.75 + uSeed);\n float dh = dw * kk;\n\n float tine = (yy - (2.0 - dh));\n\n if (tine > 0.0) {\n float _sign = sign(scratch);\n\n tine = s * tine / period + scratch + 0.1;\n tine = clamp(tine + 1.0, 0.5 + _sign * 0.5, 1.5 + _sign * 0.5);\n\n color.rgb *= tine;\n }\n }\n }\n\n float noise = uNoise[0];\n float noiseSize = uNoise[1];\n\n if (noise > 0.0 && noiseSize > 0.0)\n {\n vec2 pixelCoord = vTextureCoord.xy * uInputSize.xy;\n pixelCoord.x = floor(pixelCoord.x / noiseSize);\n pixelCoord.y = floor(pixelCoord.y / noiseSize);\n // vec2 d = pixelCoord * noiseSize * vec2(1024.0 + uSeed * 512.0, 1024.0 - uSeed * 512.0);\n // float _noise = snoise(d) * 0.5;\n float _noise = rand(pixelCoord * noiseSize * uSeed) - 0.5;\n color += _noise * noise;\n }\n\n finalColor.rgb = color;\n}",tF="struct OldFilmUniforms {\n uSepia: f32,\n uNoise: vec2<f32>,\n uScratch: vec3<f32>,\n uVignetting: vec3<f32>,\n uSeed: f32,\n uDimensions: vec2<f32>,\n};\n\nstruct GlobalFilterUniforms {\n uInputSize:vec4<f32>,\n uInputPixel:vec4<f32>,\n uInputClamp:vec4<f32>,\n uOutputFrame:vec4<f32>,\n uGlobalFrame:vec4<f32>,\n uOutputTexture:vec4<f32>,\n};\n\n@group(0) @binding(0) var<uniform> gfu: GlobalFilterUniforms;\n\n@group(0) @binding(1) var uTexture: texture_2d<f32>; \n@group(0) @binding(2) var uSampler: sampler;\n@group(1) @binding(0) var<uniform> oldFilmUniforms : OldFilmUniforms;\n\n@fragment\nfn mainFragment(\n @builtin(position) position: vec4<f32>,\n @location(0) uv : vec2<f32>\n) -> @location(0) vec4<f32> {\n var color: vec4<f32> = textureSample(uTexture, uSampler, uv);\n\n if (oldFilmUniforms.uSepia > 0.)\n {\n color = vec4<f32>(sepia(color.rgb), color.a);\n }\n\n let coord: vec2<f32> = uv * gfu.uInputSize.xy / oldFilmUniforms.uDimensions;\n\n if (oldFilmUniforms.uVignetting[0] > 0.)\n {\n color *= vec4<f32>(vec3<f32>(vignette(color.rgb, coord)), color.a);\n }\n\n let uScratch = oldFilmUniforms.uScratch; \n\n if (uScratch[1] > oldFilmUniforms.uSeed && uScratch[0] != 0.)\n {\n color = vec4<f32>(scratch(color.rgb, coord), color.a);\n }\n\n let uNoise = oldFilmUniforms.uNoise;\n\n if (uNoise[0] > 0.0 && uNoise[1] > 0.0)\n {\n color += vec4<f32>(vec3<f32>(noise(uv)), color.a);\n }\n\n return color;\n}\n\nconst SQRT_2: f32 = 1.414213;\nconst SEPIA_RGB: vec3<f32> = vec3<f32>(112.0 / 255.0, 66.0 / 255.0, 20.0 / 255.0);\n\nfn modulo(x: f32, y: f32) -> f32\n{\n return x - y * floor(x/y);\n}\n\nfn rand(co: vec2<f32>) -> f32\n{\n return fract(sin(dot(co, vec2<f32>(12.9898, 78.233))) * 43758.5453);\n}\n\nfn overlay(src: vec3<f32>, dst: vec3<f32>) -> vec3<f32>\n{\n // if (dst <= 0.5) then: 2 * src * dst\n // if (dst > 0.5) then: 1 - 2 * (1 - dst) * (1 - src)\n\n return vec3<f32>(\n select((1.0 - 2.0 * (1.0 - dst.x) * (1.0 - src.x)), (2.0 * src.x * dst.x), (dst.x <= 0.5)), \n select((1.0 - 2.0 * (1.0 - dst.y) * (1.0 - src.y)), (2.0 * src.y * dst.y), (dst.y <= 0.5)),\n select((1.0 - 2.0 * (1.0 - dst.z) * (1.0 - src.z)), (2.0 * src.z * dst.z), (dst.z <= 0.5))\n );\n}\n\nfn sepia(co: vec3<f32>) -> vec3<f32>\n{\n let gray: f32 = (co.x + co.y + co.z) / 3.0;\n let grayscale: vec3<f32> = vec3<f32>(gray);\n let color = overlay(SEPIA_RGB, grayscale);\n return grayscale + oldFilmUniforms.uSepia * (color - grayscale);\n}\n\nfn vignette(co: vec3<f32>, coord: vec2<f32>) -> f32\n{\n let uVignetting = oldFilmUniforms.uVignetting;\n let uDimensions = oldFilmUniforms.uDimensions;\n \n let outter: f32 = SQRT_2 - uVignetting[0] * SQRT_2;\n var dir: vec2<f32> = vec2<f32>(vec2<f32>(0.5) - coord);\n dir.y *= uDimensions.y / uDimensions.x;\n let darker: f32 = clamp((outter - length(dir) * SQRT_2) / ( 0.00001 + uVignetting[2] * SQRT_2), 0.0, 1.0);\n return darker + (1.0 - darker) * (1.0 - uVignetting[1]);\n}\n\nfn scratch(co: vec3<f32>, coord: vec2<f32>) -> vec3<f32>\n{\n var color = co;\n let uScratch = oldFilmUniforms.uScratch;\n let uSeed = oldFilmUniforms.uSeed;\n let uDimensions = oldFilmUniforms.uDimensions;\n\n let phase: f32 = uSeed * 256.0;\n let s: f32 = modulo(floor(phase), 2.0);\n let dist: f32 = 1.0 / uScratch[1];\n let d: f32 = distance(coord, vec2<f32>(uSeed * dist, abs(s - uSeed * dist)));\n\n if (d < uSeed * 0.6 + 0.4)\n {\n let period: f32 = uScratch[1] * 10.0;\n\n let xx: f32 = coord.x * period + phase;\n let aa: f32 = abs(modulo(xx, 0.5) * 4.0);\n let bb: f32 = modulo(floor(xx / 0.5), 2.0);\n let yy: f32 = (1.0 - bb) * aa + bb * (2.0 - aa);\n\n let kk: f32 = 2.0 * period;\n let dw: f32 = uScratch[2] / uDimensions.x * (0.75 + uSeed);\n let dh: f32 = dw * kk;\n\n var tine: f32 = (yy - (2.0 - dh));\n\n if (tine > 0.0) {\n let _sign: f32 = sign(uScratch[0]);\n\n tine = s * tine / period + uScratch[0] + 0.1;\n tine = clamp(tine + 1.0, 0.5 + _sign * 0.5, 1.5 + _sign * 0.5);\n\n color *= tine;\n }\n }\n\n return color;\n}\n\nfn noise(coord: vec2<f32>) -> f32\n{\n let uNoise = oldFilmUniforms.uNoise;\n let uSeed = oldFilmUniforms.uSeed;\n\n var pixelCoord: vec2<f32> = coord * gfu.uInputSize.xy;\n pixelCoord.x = floor(pixelCoord.x / uNoise[1]);\n pixelCoord.y = floor(pixelCoord.y / uNoise[1]);\n return (rand(pixelCoord * uNoise[1] * uSeed) - 0.5) * uNoise[0];\n}",tD=Object.defineProperty,tU=(e,t,r)=>t in e?tD(e,t,{enumerable:!0,configurable:!0,writable:!0,value:r}):e[t]=r,tH=(e,t,r)=>(tU(e,"symbol"!=typeof t?t+"":t,r),r);let tG=class e extends i.dJT{constructor(t){t={...e.DEFAULT_OPTIONS,...t},super({gpuProgram:i.BrD.from({vertex:{source:a,entryPoint:"mainVertex"},fragment:{source:tF,entryPoint:"mainFragment"}}),glProgram:i.M2g.from({vertex:o,fragment:tz,name:"old-film-filter"}),resources:{oldFilmUniforms:{uSepia:{value:t.sepia,type:"f32"},uNoise:{value:new Float32Array(2),type:"vec2<f32>"},uScratch:{value:new Float32Array(3),type:"vec3<f32>"},uVignetting:{value:new Float32Array(3),type:"vec3<f32>"},uSeed:{value:t.seed,type:"f32"},uDimensions:{value:new Float32Array(2),type:"vec2<f32>"}}}}),tH(this,"uniforms"),tH(this,"seed"),this.uniforms=this.resources.oldFilmUniforms.uniforms,Object.assign(this,t)}apply(e,t,r,n){this.uniforms.uDimensions[0]=t.frame.width,this.uniforms.uDimensions[1]=t.frame.height,this.uniforms.uSeed=this.seed,e.applyFilter(this,t,r,n)}get sepia(){return this.uniforms.uSepia}set sepia(e){this.uniforms.uSepia=e}get noise(){return this.uniforms.uNoise[0]}set noise(e){this.uniforms.uNoise[0]=e}get noiseSize(){return this.uniforms.uNoise[1]}set noiseSize(e){this.uniforms.uNoise[1]=e}get scratch(){return this.uniforms.uScratch[0]}set scratch(e){this.uniforms.uScratch[0]=e}get scratchDensity(){return this.uniforms.uScratch[1]}set scratchDensity(e){this.uniforms.uScratch[1]=e}get scratchWidth(){return this.uniforms.uScratch[2]}set scratchWidth(e){this.uniforms.uScratch[2]=e}get vignetting(){return this.uniforms.uVignetting[0]}set vignetting(e){this.uniforms.uVignetting[0]=e}get vignettingAlpha(){return this.uniforms.uVignetting[1]}set vignettingAlpha(e){this.uniforms.uVignetting[1]=e}get vignettingBlur(){return this.uniforms.uVignetting[2]}set vignettingBlur(e){this.uniforms.uVignetting[2]=e}};tH(tG,"DEFAULT_OPTIONS",{sepia:.3,noise:.3,noiseSize:1,scratch:.5,scratchDensity:.3,scratchWidth:1,vignetting:.3,vignettingAlpha:1,vignettingBlur:.3,seed:0});var tW="precision highp float;\nin vec2 vTextureCoord;\nout vec4 finalColor;\n\nuniform sampler2D uTexture;\nuniform vec2 uThickness;\nuniform vec3 uColor;\nuniform float uAlpha;\nuniform float uKnockout;\n\nuniform vec4 uInputClamp;\n\nconst float DOUBLE_PI = 2. * 3.14159265358979323846264;\nconst float ANGLE_STEP = ${ANGLE_STEP};\n\nfloat outlineMaxAlphaAtPos(vec2 pos) {\n if (uThickness.x == 0. || uThickness.y == 0.) {\n return 0.;\n }\n\n vec4 displacedColor;\n vec2 displacedPos;\n float maxAlpha = 0.;\n\n for (float angle = 0.; angle <= DOUBLE_PI; angle += ANGLE_STEP) {\n displacedPos.x = vTextureCoord.x + uThickness.x * cos(angle);\n displacedPos.y = vTextureCoord.y + uThickness.y * sin(angle);\n displacedColor = texture(uTexture, clamp(displacedPos, uInputClamp.xy, uInputClamp.zw));\n maxAlpha = max(maxAlpha, displacedColor.a);\n }\n\n return maxAlpha;\n}\n\nvoid main(void) {\n vec4 sourceColor = texture(uTexture, vTextureCoord);\n vec4 contentColor = sourceColor * float(uKnockout < 0.5);\n float outlineAlpha = uAlpha * outlineMaxAlphaAtPos(vTextureCoord.xy) * (1.-sourceColor.a);\n vec4 outlineColor = vec4(vec3(uColor) * outlineAlpha, outlineAlpha);\n finalColor = contentColor + outlineColor;\n}\n",tV="struct OutlineUniforms {\n uThickness:vec2<f32>,\n uColor:vec3<f32>,\n uAlpha:f32,\n uAngleStep:f32,\n uKnockout:f32,\n};\n\nstruct GlobalFilterUniforms {\n uInputSize:vec4<f32>,\n uInputPixel:vec4<f32>,\n uInputClamp:vec4<f32>,\n uOutputFrame:vec4<f32>,\n uGlobalFrame:vec4<f32>,\n uOutputTexture:vec4<f32>,\n};\n\n@group(0) @binding(0) var<uniform> gfu: GlobalFilterUniforms;\n\n@group(0) @binding(1) var uTexture: texture_2d<f32>; \n@group(0) @binding(2) var uSampler: sampler;\n@group(1) @binding(0) var<uniform> outlineUniforms : OutlineUniforms;\n\n@fragment\nfn mainFragment(\n @builtin(position) position: vec4<f32>,\n @location(0) uv : vec2<f32>\n) -> @location(0) vec4<f32> {\n let sourceColor: vec4<f32> = textureSample(uTexture, uSampler, uv);\n let contentColor: vec4<f32> = sourceColor * (1. - outlineUniforms.uKnockout);\n \n let outlineAlpha: f32 = outlineUniforms.uAlpha * outlineMaxAlphaAtPos(uv) * (1. - sourceColor.a);\n let outlineColor: vec4<f32> = vec4<f32>(vec3<f32>(outlineUniforms.uColor) * outlineAlpha, outlineAlpha);\n \n return contentColor + outlineColor;\n}\n\nfn outlineMaxAlphaAtPos(uv: vec2<f32>) -> f32 {\n let thickness = outlineUniforms.uThickness;\n\n if (thickness.x == 0. || thickness.y == 0.) {\n return 0.;\n }\n \n let angleStep = outlineUniforms.uAngleStep;\n\n var displacedColor: vec4<f32>;\n var displacedPos: vec2<f32>;\n\n var maxAlpha: f32 = 0.;\n var displaced: vec2<f32>;\n var curColor: vec4<f32>;\n\n for (var angle = 0.; angle <= DOUBLE_PI; angle += angleStep)\n {\n displaced.x = uv.x + thickness.x * cos(angle);\n displaced.y = uv.y + thickness.y * sin(angle);\n curColor = textureSample(uTexture, uSampler, clamp(displaced, gfu.uInputClamp.xy, gfu.uInputClamp.zw));\n maxAlpha = max(maxAlpha, curColor.a);\n }\n\n return maxAlpha;\n}\n\nconst DOUBLE_PI: f32 = 3.14159265358979323846264 * 2.;",tq=Object.defineProperty,tX=(e,t,r)=>t in e?tq(e,t,{enumerable:!0,configurable:!0,writable:!0,value:r}):e[t]=r,tY=(e,t,r)=>(tX(e,"symbol"!=typeof t?t+"":t,r),r);let tZ=class e extends i.dJT{constructor(...t){let r=t[0]??{};"number"==typeof r&&((0,i.t66)("6.0.0","OutlineFilter constructor params are now options object. See params: { thickness, color, quality, alpha, knockout }"),r={thickness:r},void 0!==t[1]&&(r.color=t[1]),void 0!==t[2]&&(r.quality=t[2]),void 0!==t[3]&&(r.alpha=t[3]),void 0!==t[4]&&(r.knockout=t[4]));const n=(r={...e.DEFAULT_OPTIONS,...r}).quality??.1;super({gpuProgram:i.BrD.from({vertex:{source:a,entryPoint:"mainVertex"},fragment:{source:tV,entryPoint:"mainFragment"}}),glProgram:i.M2g.from({vertex:o,fragment:tW.replace(/\$\{ANGLE_STEP\}/,e.getAngleStep(n).toFixed(7)),name:"outline-filter"}),resources:{outlineUniforms:{uThickness:{value:new Float32Array(2),type:"vec2<f32>"},uColor:{value:new Float32Array(3),type:"vec3<f32>"},uAlpha:{value:r.alpha,type:"f32"},uAngleStep:{value:0,type:"f32"},uKnockout:{value:+!!r.knockout,type:"f32"}}}}),tY(this,"uniforms"),tY(this,"_thickness"),tY(this,"_quality"),tY(this,"_color"),this.uniforms=this.resources.outlineUniforms.uniforms,this.uniforms.uAngleStep=e.getAngleStep(n),this._color=new i.Q1f,this.color=r.color??0,Object.assign(this,r)}apply(e,t,r,n){this.uniforms.uThickness[0]=this.thickness/t.source.width,this.uniforms.uThickness[1]=this.thickness/t.source.height,e.applyFilter(this,t,r,n)}static getAngleStep(t){return parseFloat((2*Math.PI/Math.max(t*e.MAX_SAMPLES,e.MIN_SAMPLES)).toFixed(7))}get thickness(){return this._thickness}set thickness(e){this._thickness=this.padding=e}get color(){return this._color.value}set color(e){this._color.setValue(e);let[t,r,n]=this._color.toArray();this.uniforms.uColor[0]=t,this.uniforms.uColor[1]=r,this.uniforms.uColor[2]=n}get alpha(){return this.uniforms.uAlpha}set alpha(e){this.uniforms.uAlpha=e}get quality(){return this._quality}set quality(t){this._quality=t,this.uniforms.uAngleStep=e.getAngleStep(t)}get knockout(){return 1===this.uniforms.uKnockout}set knockout(e){this.uniforms.uKnockout=+!!e}};tY(tZ,"DEFAULT_OPTIONS",{thickness:1,color:0,alpha:1,quality:.1,knockout:!1}),tY(tZ,"MIN_SAMPLES",1),tY(tZ,"MAX_SAMPLES",100);i.dJT;var tK="precision highp float;\nin vec2 vTextureCoord;\nout vec4 finalColor;\n\nuniform sampler2D uTexture;\nuniform float uRadian;\nuniform vec2 uCenter;\nuniform float uRadius;\nuniform int uKernelSize;\n\nuniform vec4 uInputSize;\n\nconst int MAX_KERNEL_SIZE = 2048;\n\nvoid main(void)\n{\n vec4 color = texture(uTexture, vTextureCoord);\n\n if (uKernelSize == 0)\n {\n finalColor = color;\n return;\n }\n\n float aspect = uInputSize.y / uInputSize.x;\n vec2 center = uCenter.xy / uInputSize.xy;\n float gradient = uRadius / uInputSize.x * 0.3;\n float radius = uRadius / uInputSize.x - gradient * 0.5;\n int k = uKernelSize - 1;\n\n vec2 coord = vTextureCoord;\n vec2 dir = vec2(center - coord);\n float dist = length(vec2(dir.x, dir.y * aspect));\n\n float radianStep = uRadian;\n if (radius >= 0.0 && dist > radius) {\n float delta = dist - radius;\n float gap = gradient;\n float scale = 1.0 - abs(delta / gap);\n if (scale <= 0.0) {\n finalColor = color;\n return;\n }\n radianStep *= scale;\n }\n radianStep /= float(k);\n\n float s = sin(radianStep);\n float c = cos(radianStep);\n mat2 rotationMatrix = mat2(vec2(c, -s), vec2(s, c));\n\n for(int i = 0; i < MAX_KERNEL_SIZE - 1; i++) {\n if (i == k) {\n break;\n }\n\n coord -= center;\n coord.y *= aspect;\n coord = rotationMatrix * coord;\n coord.y /= aspect;\n coord += center;\n\n vec4 sample = texture(uTexture, coord);\n\n // switch to pre-multiplied alpha to correctly blur transparent images\n // sample.rgb *= sample.a;\n\n color += sample;\n }\n\n finalColor = color / float(uKernelSize);\n}\n",tJ="struct RadialBlurUniforms {\n uRadian: f32,\n uCenter: vec2<f32>,\n uKernelSize: f32,\n uRadius: f32,\n};\n\nstruct GlobalFilterUniforms {\n uInputSize:vec4<f32>,\n uInputPixel:vec4<f32>,\n uInputClamp:vec4<f32>,\n uOutputFrame:vec4<f32>,\n uGlobalFrame:vec4<f32>,\n uOutputTexture:vec4<f32>,\n};\n\n@group(0) @binding(0) var<uniform> gfu: GlobalFilterUniforms;\n\n@group(0) @binding(1) var uTexture: texture_2d<f32>; \n@group(0) @binding(2) var uSampler: sampler;\n@group(1) @binding(0) var<uniform> radialBlurUniforms : RadialBlurUniforms;\n\n@fragment\nfn mainFragment(\n @builtin(position) position: vec4<f32>,\n @location(0) uv : vec2<f32>\n) -> @location(0) vec4<f32> {\n let uRadian = radialBlurUniforms.uRadian;\n let uCenter = radialBlurUniforms.uCenter;\n let uKernelSize = radialBlurUniforms.uKernelSize;\n let uRadius = radialBlurUniforms.uRadius;\n \n var returnColorOnly = false;\n\n if (uKernelSize == 0)\n {\n returnColorOnly = true;\n }\n\n let aspect: f32 = gfu.uInputSize.y / gfu.uInputSize.x;\n let center: vec2<f32> = uCenter.xy / gfu.uInputSize.xy;\n let gradient: f32 = uRadius / gfu.uInputSize.x * 0.3;\n let radius: f32 = uRadius / gfu.uInputSize.x - gradient * 0.5;\n let k: i32 = i32(uKernelSize - 1);\n\n var coord: vec2<f32> = uv;\n let dir: vec2<f32> = vec2<f32>(center - coord);\n let dist: f32 = length(vec2<f32>(dir.x, dir.y * aspect));\n\n var radianStep: f32 = uRadian;\n \n if (radius >= 0.0 && dist > radius)\n {\n let delta: f32 = dist - radius;\n let gap: f32 = gradient;\n let scale: f32 = 1.0 - abs(delta / gap);\n if (scale <= 0.0) {\n returnColorOnly = true;\n }\n radianStep *= scale;\n }\n\n radianStep /= f32(k);\n\n let s: f32 = sin(radianStep);\n let c: f32 = cos(radianStep);\n let rotationMatrix: mat2x2<f32> = mat2x2<f32>(vec2<f32>(c, -s), vec2<f32>(s, c));\n \n var color: vec4<f32> = textureSample(uTexture, uSampler, uv);\n let baseColor = vec4<f32>(color);\n\n let minK: i32 = min(i32(uKernelSize) - 1, MAX_KERNEL_SIZE - 1);\n\n for(var i: i32 = 0; i < minK; i += 1) \n {\n coord -= center;\n coord.y *= aspect;\n coord = rotationMatrix * coord;\n coord.y /= aspect;\n coord += center;\n let sample: vec4<f32> = textureSample(uTexture, uSampler, coord);\n // switch to pre-multiplied alpha to correctly blur transparent images\n // sample.rgb *= sample.a;\n color += sample;\n }\n\n return select(color / f32(uKernelSize), baseColor, returnColorOnly);\n}\n\nconst MAX_KERNEL_SIZE: i32 = 2048;",tQ=Object.defineProperty,t0=(e,t,r)=>t in e?tQ(e,t,{enumerable:!0,configurable:!0,writable:!0,value:r}):e[t]=r,t1=(e,t,r)=>(t0(e,"symbol"!=typeof t?t+"":t,r),r);let t2=class e extends i.dJT{constructor(...t){let r=t[0]??{};if("number"==typeof r){if((0,i.t66)("6.0.0","RadialBlurFilter constructor params are now options object. See params: { angle, center, kernelSize, radius }"),r={angle:r},t[1]){const e="x"in t[1]?t[1].x:t[1][0],n="y"in t[1]?t[1].y:t[1][1];r.center={x:e,y:n}}t[2]&&(r.kernelSize=t[2]),t[3]&&(r.radius=t[3])}r={...e.DEFAULT_OPTIONS,...r},super({gpuProgram:i.BrD.from({vertex:{source:a,entryPoint:"mainVertex"},fragment:{source:tJ,entryPoint:"mainFragment"}}),glProgram:i.M2g.from({vertex:o,fragment:tK,name:"radial-blur-filter"}),resources:{radialBlurUniforms:{uRadian:{value:0,type:"f32"},uCenter:{value:r.center,type:"vec2<f32>"},uKernelSize:{value:r.kernelSize,type:"i32"},uRadius:{value:r.radius,type:"f32"}}}}),t1(this,"uniforms"),t1(this,"_angle"),t1(this,"_kernelSize"),this.uniforms=this.resources.radialBlurUniforms.uniforms,Object.assign(this,r)}_updateKernelSize(){this.uniforms.uKernelSize=0!==this._angle?this.kernelSize:0}get angle(){return this._angle}set angle(e){this._angle=e,this.uniforms.uRadian=e*Math.PI/180,this._updateKernelSize()}get center(){return this.uniforms.uCenter}set center(e){Array.isArray(e)&&(e={x:e[0],y:e[1]}),this.uniforms.uCenter=e}get centerX(){return this.center.x}set centerX(e){this.center.x=e}get centerY(){return this.center.y}set centerY(e){this.center.y=e}get kernelSize(){return this._kernelSize}set kernelSize(e){this._kernelSize=e,this._updateKernelSize()}get radius(){return this.uniforms.uRadius}set radius(e){this.uniforms.uRadius=e<0||e===1/0?-1:e}};t1(t2,"DEFAULT_OPTIONS",{angle:0,center:{x:0,y:0},kernelSize:5,radius:-1});var t3="precision highp float;\nin vec2 vTextureCoord;\nout vec4 finalColor;\n\nuniform sampler2D uTexture;\nuniform float uMirror;\nuniform float uBoundary;\nuniform vec2 uAmplitude;\nuniform vec2 uWavelength;\nuniform vec2 uAlpha;\nuniform float uTime;\nuniform vec2 uDimensions;\n\nuniform vec4 uInputSize;\nuniform vec4 uInputClamp;\n\nfloat rand(vec2 co) {\n return fract(sin(dot(co.xy, vec2(12.9898, 78.233))) * 43758.5453);\n}\n\nvoid main(void)\n{\n vec2 pixelCoord = vTextureCoord.xy * uInputSize.xy;\n vec2 coord = pixelCoord / uDimensions;\n\n if (coord.y < uBoundary) {\n finalColor = texture(uTexture, vTextureCoord);\n return;\n }\n\n float k = (coord.y - uBoundary) / (1. - uBoundary + 0.0001);\n float areaY = uBoundary * uDimensions.y / uInputSize.y;\n float v = areaY + areaY - vTextureCoord.y;\n float y = uMirror > 0.5 ? v : vTextureCoord.y;\n\n float _amplitude = ((uAmplitude.y - uAmplitude.x) * k + uAmplitude.x ) / uInputSize.x;\n float _waveLength = ((uWavelength.y - uWavelength.x) * k + uWavelength.x) / uInputSize.y;\n float _alpha = (uAlpha.y - uAlpha.x) * k + uAlpha.x;\n\n float x = vTextureCoord.x + cos(v * 6.28 / _waveLength - uTime) * _amplitude;\n x = clamp(x, uInputClamp.x, uInputClamp.z);\n\n vec4 color = texture(uTexture, vec2(x, y));\n\n finalColor = color * _alpha;\n}\n",t5="struct ReflectionUniforms {\n uMirror: f32,\n uBoundary: f32,\n uAmplitude: vec2<f32>,\n uWavelength: vec2<f32>,\n uAlpha: vec2<f32>,\n uTime: f32,\n uDimensions: vec2<f32>,\n};\n\nstruct GlobalFilterUniforms {\n uInputSize:vec4<f32>,\n uInputPixel:vec4<f32>,\n uInputClamp:vec4<f32>,\n uOutputFrame:vec4<f32>,\n uGlobalFrame:vec4<f32>,\n uOutputTexture:vec4<f32>,\n};\n\n@group(0) @binding(0) var<uniform> gfu: GlobalFilterUniforms;\n\n@group(0) @binding(1) var uTexture: texture_2d<f32>; \n@group(0) @binding(2) var uSampler: sampler;\n@group(1) @binding(0) var<uniform> reflectionUniforms : ReflectionUniforms;\n\n@fragment\nfn mainFragment(\n @builtin(position) position: vec4<f32>,\n @location(0) uv : vec2<f32>\n) -> @location(0) vec4<f32> {\n let uDimensions: vec2<f32> = reflectionUniforms.uDimensions;\n let uBoundary: f32 = reflectionUniforms.uBoundary;\n let uMirror: bool = reflectionUniforms.uMirror > 0.5;\n let uAmplitude: vec2<f32> = reflectionUniforms.uAmplitude;\n let uWavelength: vec2<f32> = reflectionUniforms.uWavelength;\n let uAlpha: vec2<f32> = reflectionUniforms.uAlpha;\n let uTime: f32 = reflectionUniforms.uTime;\n\n let pixelCoord: vec2<f32> = uv * gfu.uInputSize.xy;\n let coord: vec2<f32> = pixelCoord /uDimensions;\n var returnColorOnly: bool = false;\n\n if (coord.y < uBoundary) {\n returnColorOnly = true;\n }\n\n let k: f32 = (coord.y - uBoundary) / (1. - uBoundary + 0.0001);\n let areaY: f32 = uBoundary * uDimensions.y / gfu.uInputSize.y;\n let v: f32 = areaY + areaY - uv.y;\n let y: f32 = select(uv.y, v, uMirror);\n\n let amplitude: f32 = ((uAmplitude.y - uAmplitude.x) * k + uAmplitude.x ) / gfu.uInputSize.x;\n let waveLength: f32 = ((uWavelength.y - uWavelength.x) * k + uWavelength.x) / gfu.uInputSize.y;\n let alpha: f32 = select((uAlpha.y - uAlpha.x) * k + uAlpha.x, 1., returnColorOnly);\n\n var x: f32 = uv.x + cos(v * 6.28 / waveLength - uTime) * amplitude;\n x = clamp(x, gfu.uInputClamp.x, gfu.uInputClamp.z);\n \n return textureSample(uTexture, uSampler, select(vec2<f32>(x, y), uv, returnColorOnly)) * alpha;\n}\n\nfn rand(co: vec2<f32>) -> f32 \n{\n return fract(sin(dot(co.xy, vec2(12.9898, 78.233))) * 43758.5453);\n}",t4=Object.defineProperty,t6=(e,t,r)=>t in e?t4(e,t,{enumerable:!0,configurable:!0,writable:!0,value:r}):e[t]=r,t8=(e,t,r)=>(t6(e,"symbol"!=typeof t?t+"":t,r),r);let t9=class e extends i.dJT{constructor(t){t={...e.DEFAULT_OPTIONS,...t},super({gpuProgram:i.BrD.from({vertex:{source:a,entryPoint:"mainVertex"},fragment:{source:t5,entryPoint:"mainFragment"}}),glProgram:i.M2g.from({vertex:o,fragment:t3,name:"reflection-filter"}),resources:{reflectionUniforms:{uMirror:{value:+!!t.mirror,type:"f32"},uBoundary:{value:t.boundary,type:"f32"},uAmplitude:{value:t.amplitude,type:"vec2<f32>"},uWavelength:{value:t.waveLength,type:"vec2<f32>"},uAlpha:{value:t.alpha,type:"vec2<f32>"},uTime:{value:t.time,type:"f32"},uDimensions:{value:new Float32Array(2),type:"vec2<f32>"}}}}),t8(this,"uniforms"),t8(this,"time",0),this.uniforms=this.resources.reflectionUniforms.uniforms,Object.assign(this,t)}apply(e,t,r,n){this.uniforms.uDimensions[0]=t.frame.width,this.uniforms.uDimensions[1]=t.frame.height,this.uniforms.uTime=this.time,e.applyFilter(this,t,r,n)}get mirror(){return this.uniforms.uMirror>.5}set mirror(e){this.uniforms.uMirror=+!!e}get boundary(){return this.uniforms.uBoundary}set boundary(e){this.uniforms.uBoundary=e}get amplitude(){return Array.from(this.uniforms.uAmplitude)}set amplitude(e){this.uniforms.uAmplitude[0]=e[0],this.uniforms.uAmplitude[1]=e[1]}get amplitudeStart(){return this.uniforms.uAmplitude[0]}set amplitudeStart(e){this.uniforms.uAmplitude[0]=e}get amplitudeEnd(){return this.uniforms.uAmplitude[1]}set amplitudeEnd(e){this.uniforms.uAmplitude[1]=e}get waveLength(){return Array.from(this.uniforms.uWavelength)}set waveLength(e){this.uniforms.uWavelength[0]=e[0],this.uniforms.uWavelength[1]=e[1]}get wavelengthStart(){return this.uniforms.uWavelength[0]}set wavelengthStart(e){this.uniforms.uWavelength[0]=e}get wavelengthEnd(){return this.uniforms.uWavelength[1]}set wavelengthEnd(e){this.uniforms.uWavelength[1]=e}get alpha(){return Array.from(this.uniforms.uAlpha)}set alpha(e){this.uniforms.uAlpha[0]=e[0],this.uniforms.uAlpha[1]=e[1]}get alphaStart(){return this.uniforms.uAlpha[0]}set alphaStart(e){this.uniforms.uAlpha[0]=e}get alphaEnd(){return this.uniforms.uAlpha[1]}set alphaEnd(e){this.uniforms.uAlpha[1]=e}};t8(t9,"DEFAULT_OPTIONS",{mirror:!0,boundary:.5,amplitude:[0,20],waveLength:[30,100],alpha:[1,1],time:0});var t7="precision highp float;\nin vec2 vTextureCoord;\nout vec4 finalColor;\n\nuniform sampler2D uTexture;\nuniform vec4 uInputSize;\nuniform vec2 uRed;\nuniform vec2 uGreen;\nuniform vec2 uBlue;\n\nvoid main(void)\n{\n float r = texture(uTexture, vTextureCoord + uRed/uInputSize.xy).r;\n float g = texture(uTexture, vTextureCoord + uGreen/uInputSize.xy).g;\n float b = texture(uTexture, vTextureCoord + uBlue/uInputSize.xy).b;\n float a = texture(uTexture, vTextureCoord).a;\n finalColor = vec4(r, g, b, a);\n}\n",re="struct RgbSplitUniforms {\n uRed: vec2<f32>,\n uGreen: vec2<f32>,\n uBlue: vec3<f32>,\n};\n\nstruct GlobalFilterUniforms {\n uInputSize:vec4<f32>,\n uInputPixel:vec4<f32>,\n uInputClamp:vec4<f32>,\n uOutputFrame:vec4<f32>,\n uGlobalFrame:vec4<f32>,\n uOutputTexture:vec4<f32>,\n};\n\n@group(0) @binding(0) var<uniform> gfu: GlobalFilterUniforms;\n\n@group(0) @binding(1) var uTexture: texture_2d<f32>; \n@group(0) @binding(2) var uSampler: sampler;\n@group(1) @binding(0) var<uniform> rgbSplitUniforms : RgbSplitUniforms;\n\n@fragment\nfn mainFragment(\n @builtin(position) position: vec4<f32>,\n @location(0) uv : vec2<f32>\n) -> @location(0) vec4<f32> {\n let r = textureSample(uTexture, uSampler, uv + vec2<f32>(rgbSplitUniforms.uRed.x / gfu.uInputSize.x, rgbSplitUniforms.uRed.y / gfu.uInputSize.y)).r;\n let g = textureSample(uTexture, uSampler, uv + vec2<f32>(rgbSplitUniforms.uGreen.x / gfu.uInputSize.x, rgbSplitUniforms.uGreen.y / gfu.uInputSize.y)).g;\n let b = textureSample(uTexture, uSampler, uv + vec2<f32>(rgbSplitUniforms.uBlue.x / gfu.uInputSize.x, rgbSplitUniforms.uBlue.y / gfu.uInputSize.y)).b;\n let a = textureSample(uTexture, uSampler, uv).a;\n return vec4<f32>(r, g, b, a);\n}\n",rt=Object.defineProperty,rr=(e,t,r)=>t in e?rt(e,t,{enumerable:!0,configurable:!0,writable:!0,value:r}):e[t]=r,rn=(e,t,r)=>(rr(e,"symbol"!=typeof t?t+"":t,r),r);let ri=class e extends i.dJT{constructor(...t){let r=t[0]??{};(Array.isArray(r)||"x"in r&&"y"in r)&&((0,i.t66)("6.0.0","RGBSplitFilter constructor params are now options object. See params: { red, green, blue }"),r={red:r},void 0!==t[1]&&(r.green=t[1]),void 0!==t[2]&&(r.blue=t[2])),r={...e.DEFAULT_OPTIONS,...r},super({gpuProgram:i.BrD.from({vertex:{source:a,entryPoint:"mainVertex"},fragment:{source:re,entryPoint:"mainFragment"}}),glProgram:i.M2g.from({vertex:o,fragment:t7,name:"rgb-split-filter"}),resources:{rgbSplitUniforms:{uRed:{value:r.red,type:"vec2<f32>"},uGreen:{value:r.green,type:"vec2<f32>"},uBlue:{value:r.blue,type:"vec2<f32>"}}}}),rn(this,"uniforms"),this.uniforms=this.resources.rgbSplitUniforms.uniforms,Object.assign(this,r)}get red(){return this.uniforms.uRed}set red(e){Array.isArray(e)&&(e={x:e[0],y:e[1]}),this.uniforms.uRed=e}get redX(){return this.red.x}set redX(e){this.red.x=e}get redY(){return this.red.y}set redY(e){this.red.y=e}get green(){return this.uniforms.uGreen}set green(e){Array.isArray(e)&&(e={x:e[0],y:e[1]}),this.uniforms.uGreen=e}get greenX(){return this.green.x}set greenX(e){this.green.x=e}get greenY(){return this.green.y}set greenY(e){this.green.y=e}get blue(){return this.uniforms.uBlue}set blue(e){Array.isArray(e)&&(e={x:e[0],y:e[1]}),this.uniforms.uBlue=e}get blueX(){return this.blue.x}set blueX(e){this.blue.x=e}get blueY(){return this.blue.y}set blueY(e){this.blue.y=e}};rn(ri,"DEFAULT_OPTIONS",{red:{x:-10,y:0},green:{x:0,y:10},blue:{x:0,y:0}});var ro="\nprecision highp float;\nin vec2 vTextureCoord;\nout vec4 finalColor;\n\nuniform sampler2D uTexture;\nuniform vec2 uCenter;\nuniform float uTime;\nuniform float uSpeed;\nuniform vec4 uWave;\n\nuniform vec4 uInputSize;\nuniform vec4 uInputClamp;\n\nconst float PI = 3.14159;\n\nvoid main()\n{\n float uAmplitude = uWave[0];\n float uWavelength = uWave[1];\n float uBrightness = uWave[2];\n float uRadius = uWave[3];\n\n float halfWavelength = uWavelength * 0.5 / uInputSize.x;\n float maxRadius = uRadius / uInputSize.x;\n float currentRadius = uTime * uSpeed / uInputSize.x;\n\n float fade = 1.0;\n\n if (maxRadius > 0.0) {\n if (currentRadius > maxRadius) {\n finalColor = texture(uTexture, vTextureCoord);\n return;\n }\n fade = 1.0 - pow(currentRadius / maxRadius, 2.0);\n }\n\n vec2 dir = vec2(vTextureCoord - uCenter / uInputSize.xy);\n dir.y *= uInputSize.y / uInputSize.x;\n float dist = length(dir);\n\n if (dist <= 0.0 || dist < currentRadius - halfWavelength || dist > currentRadius + halfWavelength) {\n finalColor = texture(uTexture, vTextureCoord);\n return;\n }\n\n vec2 diffUV = normalize(dir);\n\n float diff = (dist - currentRadius) / halfWavelength;\n\n float p = 1.0 - pow(abs(diff), 2.0);\n\n // float powDiff = diff * pow(p, 2.0) * ( amplitude * fade );\n float powDiff = 1.25 * sin(diff * PI) * p * ( uAmplitude * fade );\n\n vec2 offset = diffUV * powDiff / uInputSize.xy;\n\n // Do clamp :\n vec2 coord = vTextureCoord + offset;\n vec2 clampedCoord = clamp(coord, uInputClamp.xy, uInputClamp.zw);\n vec4 color = texture(uTexture, clampedCoord);\n if (coord != clampedCoord) {\n color *= max(0.0, 1.0 - length(coord - clampedCoord));\n }\n\n // No clamp :\n // finalColor = texture(uTexture, vTextureCoord + offset);\n\n color.rgb *= 1.0 + (uBrightness - 1.0) * p * fade;\n\n finalColor = color;\n}\n",ra="\nstruct ShockWaveUniforms {\n uTime: f32,\n uOffset: vec2<f32>,\n uSpeed: f32,\n uWave: vec4<f32>,\n};\n\nstruct GlobalFilterUniforms {\n uInputSize:vec4<f32>,\n uInputPixel:vec4<f32>,\n uInputClamp:vec4<f32>,\n uOutputFrame:vec4<f32>,\n uGlobalFrame:vec4<f32>,\n uOutputTexture:vec4<f32>,\n};\n\n@group(0) @binding(0) var<uniform> gfu: GlobalFilterUniforms;\n\n@group(0) @binding(1) var uTexture: texture_2d<f32>; \n@group(0) @binding(2) var uSampler: sampler;\n@group(1) @binding(0) var<uniform> shockwaveUniforms : ShockWaveUniforms;\n\n@fragment\nfn mainFragment(\n @builtin(position) position: vec4<f32>,\n @location(0) uv : vec2<f32>\n) -> @location(0) vec4<f32> {\n\n let uTime = shockwaveUniforms.uTime;\n let uOffset = shockwaveUniforms.uOffset;\n let uSpeed = shockwaveUniforms.uSpeed;\n let uAmplitude = shockwaveUniforms.uWave[0];\n let uWavelength = shockwaveUniforms.uWave[1];\n let uBrightness = shockwaveUniforms.uWave[2];\n let uRadius = shockwaveUniforms.uWave[3];\n let halfWavelength: f32 = uWavelength * 0.5 / gfu.uInputSize.x;\n let maxRadius: f32 = uRadius / gfu.uInputSize.x;\n let currentRadius: f32 = uTime * uSpeed / gfu.uInputSize.x;\n var fade: f32 = 1.0;\n var returnColorOnly: bool = false;\n \n if (maxRadius > 0.0) {\n if (currentRadius > maxRadius) {\n returnColorOnly = true;\n }\n fade = 1.0 - pow(currentRadius / maxRadius, 2.0);\n }\n var dir: vec2<f32> = vec2<f32>(uv - uOffset / gfu.uInputSize.xy);\n dir.y *= gfu.uInputSize.y / gfu.uInputSize.x;\n\n let dist:f32 = length(dir);\n\n if (dist <= 0.0 || dist < currentRadius - halfWavelength || dist > currentRadius + halfWavelength) {\n returnColorOnly = true;\n }\n\n let diffUV: vec2<f32> = normalize(dir);\n let diff: f32 = (dist - currentRadius) / halfWavelength;\n let p: f32 = 1.0 - pow(abs(diff), 2.0);\n let powDiff: f32 = 1.25 * sin(diff * PI) * p * ( uAmplitude * fade );\n let offset: vec2<f32> = diffUV * powDiff / gfu.uInputSize.xy;\n // Do clamp :\n let coord: vec2<f32> = uv + offset;\n let clampedCoord: vec2<f32> = clamp(coord, gfu.uInputClamp.xy, gfu.uInputClamp.zw);\n\n var clampedColor: vec4<f32> = textureSample(uTexture, uSampler, clampedCoord);\n \n if (boolVec2(coord, clampedCoord)) \n {\n clampedColor *= max(0.0, 1.0 - length(coord - clampedCoord));\n }\n // No clamp :\n var finalColor = clampedColor;\n\n return select(finalColor, textureSample(uTexture, uSampler, uv), returnColorOnly);\n}\n\nfn boolVec2(x: vec2<f32>, y: vec2<f32>) -> bool\n{\n if (x.x == y.x && x.y == y.y)\n {\n return true;\n }\n \n return false;\n}\n\nconst PI: f32 = 3.14159265358979323846264;\n",rs=Object.defineProperty,rl=(e,t,r)=>t in e?rs(e,t,{enumerable:!0,configurable:!0,writable:!0,value:r}):e[t]=r,ru=(e,t,r)=>(rl(e,"symbol"!=typeof t?t+"":t,r),r);let rc=class e extends i.dJT{constructor(...t){let r=t[0]??{};(Array.isArray(r)||"x"in r&&"y"in r)&&((0,i.t66)("6.0.0","ShockwaveFilter constructor params are now options object. See params: { center, speed, amplitude, wavelength, brightness, radius, time }"),r={center:r,...t[1]},void 0!==t[2]&&(r.time=t[2])),r={...e.DEFAULT_OPTIONS,...r},super({gpuProgram:i.BrD.from({vertex:{source:a,entryPoint:"mainVertex"},fragment:{source:ra,entryPoint:"mainFragment"}}),glProgram:i.M2g.from({vertex:o,fragment:ro,name:"shockwave-filter"}),resources:{shockwaveUniforms:{uTime:{value:r.time,type:"f32"},uCenter:{value:r.center,type:"vec2<f32>"},uSpeed:{value:r.speed,type:"f32"},uWave:{value:new Float32Array(4),type:"vec4<f32>"}}}}),ru(this,"uniforms"),ru(this,"time"),this.time=0,this.uniforms=this.resources.shockwaveUniforms.uniforms,Object.assign(this,r)}apply(e,t,r,n){this.uniforms.uTime=this.time,e.applyFilter(this,t,r,n)}get center(){return this.uniforms.uCenter}set center(e){Array.isArray(e)&&(e={x:e[0],y:e[1]}),this.uniforms.uCenter=e}get centerX(){return this.uniforms.uCenter.x}set centerX(e){this.uniforms.uCenter.x=e}get centerY(){return this.uniforms.uCenter.y}set centerY(e){this.uniforms.uCenter.y=e}get speed(){return this.uniforms.uSpeed}set speed(e){this.uniforms.uSpeed=e}get amplitude(){return this.uniforms.uWave[0]}set amplitude(e){this.uniforms.uWave[0]=e}get wavelength(){return this.uniforms.uWave[1]}set wavelength(e){this.uniforms.uWave[1]=e}get brightness(){return this.uniforms.uWave[2]}set brightness(e){this.uniforms.uWave[2]=e}get radius(){return this.uniforms.uWave[3]}set radius(e){this.uniforms.uWave[3]=e}};ru(rc,"DEFAULT_OPTIONS",{center:{x:0,y:0},speed:500,amplitude:30,wavelength:160,brightness:1,radius:-1});var rf="precision highp float;\nin vec2 vTextureCoord;\nout vec4 finalColor;\n\nuniform sampler2D uTexture;\nuniform sampler2D uMapTexture;\nuniform vec3 uColor;\nuniform float uAlpha;\nuniform vec2 uDimensions;\n\nuniform vec4 uInputSize;\n\nvoid main() {\n vec4 diffuseColor = texture(uTexture, vTextureCoord);\n vec2 lightCoord = (vTextureCoord * uInputSize.xy) / uDimensions;\n vec4 light = texture(uMapTexture, lightCoord);\n vec3 ambient = uColor.rgb * uAlpha;\n vec3 intensity = ambient + light.rgb;\n vec3 color = diffuseColor.rgb * intensity;\n finalColor = vec4(color, diffuseColor.a);\n}\n",rh="struct SimpleLightmapUniforms {\n uColor: vec3<f32>,\n uAlpha: f32,\n uDimensions: vec2<f32>,\n};\n\nstruct GlobalFilterUniforms {\n uInputSize:vec4<f32>,\n uInputPixel:vec4<f32>,\n uInputClamp:vec4<f32>,\n uOutputFrame:vec4<f32>,\n uGlobalFrame:vec4<f32>,\n uOutputTexture:vec4<f32>,\n};\n\n@group(0) @binding(0) var<uniform> gfu: GlobalFilterUniforms;\n\n@group(0) @binding(1) var uTexture: texture_2d<f32>; \n@group(0) @binding(2) var uSampler: sampler;\n@group(1) @binding(0) var<uniform> simpleLightmapUniforms : SimpleLightmapUniforms;\n@group(1) @binding(1) var uMapTexture: texture_2d<f32>;\n@group(1) @binding(2) var uMapSampler: sampler;\n\n@fragment\nfn mainFragment(\n @builtin(position) position: vec4<f32>,\n @location(0) uv : vec2<f32>,\n) -> @location(0) vec4<f32> {\n let uColor = simpleLightmapUniforms.uColor;\n let uAlpha = simpleLightmapUniforms.uAlpha;\n let uDimensions = simpleLightmapUniforms.uDimensions;\n\n let diffuseColor: vec4<f32> = textureSample(uTexture, uSampler, uv);\n let lightCoord: vec2<f32> = (uv * gfu.uInputSize.xy) / simpleLightmapUniforms.uDimensions;\n let light: vec4<f32> = textureSample(uMapTexture, uMapSampler, lightCoord);\n let ambient: vec3<f32> = uColor * uAlpha;\n let intensity: vec3<f32> = ambient + light.rgb;\n let finalColor: vec3<f32> = diffuseColor.rgb * intensity;\n return vec4<f32>(finalColor, diffuseColor.a);\n}",rd=Object.defineProperty,rp=(e,t,r)=>t in e?rd(e,t,{enumerable:!0,configurable:!0,writable:!0,value:r}):e[t]=r,rm=(e,t,r)=>(rp(e,"symbol"!=typeof t?t+"":t,r),r);let rg=class e extends i.dJT{constructor(...t){let r=t[0]??{};if(r instanceof i.gPd&&((0,i.t66)("6.0.0","SimpleLightmapFilter constructor params are now options object. See params: { lightMap, color, alpha }"),r={lightMap:r},void 0!==t[1]&&(r.color=t[1]),void 0!==t[2]&&(r.alpha=t[2])),!(r={...e.DEFAULT_OPTIONS,...r}).lightMap)throw Error("No light map texture source was provided to SimpleLightmapFilter");super({gpuProgram:i.BrD.from({vertex:{source:a,entryPoint:"mainVertex"},fragment:{source:rh,entryPoint:"mainFragment"}}),glProgram:i.M2g.from({vertex:o,fragment:rf,name:"simple-lightmap-filter"}),resources:{simpleLightmapUniforms:{uColor:{value:new Float32Array(3),type:"vec3<f32>"},uAlpha:{value:r.alpha,type:"f32"},uDimensions:{value:new Float32Array(2),type:"vec2<f32>"}},uMapTexture:r.lightMap.source,uMapSampler:r.lightMap.source.style}}),rm(this,"uniforms"),rm(this,"_color"),rm(this,"_lightMap"),this.uniforms=this.resources.simpleLightmapUniforms.uniforms,this._color=new i.Q1f,this.color=r.color??0,Object.assign(this,r)}apply(e,t,r,n){this.uniforms.uDimensions[0]=t.frame.width,this.uniforms.uDimensions[1]=t.frame.height,e.applyFilter(this,t,r,n)}get lightMap(){return this._lightMap}set lightMap(e){this._lightMap=e,this.resources.uMapTexture=e.source,this.resources.uMapSampler=e.source.style}get color(){return this._color.value}set color(e){this._color.setValue(e);let[t,r,n]=this._color.toArray();this.uniforms.uColor[0]=t,this.uniforms.uColor[1]=r,this.uniforms.uColor[2]=n}get alpha(){return this.uniforms.uAlpha}set alpha(e){this.uniforms.uAlpha=e}};rm(rg,"DEFAULT_OPTIONS",{lightMap:i.gPd.WHITE,color:0,alpha:1});var rv="in vec2 vTextureCoord;\nout vec4 finalColor;\n\nuniform sampler2D uTexture;\nuniform vec2 uBlur;\nuniform vec2 uStart;\nuniform vec2 uEnd;\nuniform vec2 uDelta;\nuniform vec2 uDimensions;\n\nfloat random(vec3 scale, float seed)\n{\n return fract(sin(dot(gl_FragCoord.xyz + seed, scale)) * 43758.5453 + seed);\n}\n\nvoid main(void)\n{\n vec4 color = vec4(0.0);\n float total = 0.0;\n\n float blur = uBlur[0];\n float gradientBlur = uBlur[1];\n\n float offset = random(vec3(12.9898, 78.233, 151.7182), 0.0);\n vec2 normal = normalize(vec2(uStart.y - uEnd.y, uEnd.x - uStart.x));\n float radius = smoothstep(0.0, 1.0, abs(dot(vTextureCoord * uDimensions - uStart, normal)) / gradientBlur) * blur;\n\n for (float t = -30.0; t <= 30.0; t++)\n {\n float percent = (t + offset - 0.5) / 30.0;\n float weight = 1.0 - abs(percent);\n vec4 sample = texture(uTexture, vTextureCoord + uDelta / uDimensions * percent * radius);\n sample.rgb *= sample.a;\n color += sample * weight;\n total += weight;\n }\n\n color /= total;\n color.rgb /= color.a + 0.00001;\n\n finalColor = color;\n}\n",ry="struct TiltShiftUniforms {\n uBlur: vec2<f32>,\n uStart: vec2<f32>,\n uEnd: vec2<f32>,\n uDelta: vec2<f32>,\n uDimensions: vec2<f32>,\n};\n\n@group(0) @binding(1) var uTexture: texture_2d<f32>; \n@group(0) @binding(2) var uSampler: sampler;\n@group(1) @binding(0) var<uniform> tiltShiftUniforms : TiltShiftUniforms;\n\n@fragment\nfn mainFragment(\n @builtin(position) position: vec4<f32>,\n @location(0) uv : vec2<f32>\n) -> @location(0) vec4<f32> {\n let uBlur = tiltShiftUniforms.uBlur[0];\n let uBlurGradient = tiltShiftUniforms.uBlur[1];\n let uStart = tiltShiftUniforms.uStart;\n let uEnd = tiltShiftUniforms.uEnd;\n let uDelta = tiltShiftUniforms.uDelta;\n let uDimensions = tiltShiftUniforms.uDimensions;\n\n var color: vec4<f32> = vec4<f32>(0.0);\n var total: f32 = 0.0;\n\n let offset: f32 = random(position, vec3<f32>(12.9898, 78.233, 151.7182), 0.0);\n let normal: vec2<f32> = normalize(vec2<f32>(uStart.y - uEnd.y, uEnd.x - uStart.x));\n let radius: f32 = smoothstep(0.0, 1.0, abs(dot(uv * uDimensions - uStart, normal)) / uBlurGradient) * uBlur;\n\n for (var t: f32 = -30.0; t <= 30.0; t += 1.0)\n {\n var percent: f32 = (t + offset - 0.5) / 30.0;\n var weight: f32 = 1.0 - abs(percent);\n var sample: vec4<f32> = textureSample(uTexture, uSampler, uv + uDelta / uDimensions * percent * radius);\n sample = vec4<f32>(sample.xyz * sample.a, sample.a); // multiply sample.rgb with sample.a\n color += sample * weight;\n total += weight;\n }\n\n color /= total;\n color = vec4<f32>(color.xyz / (color.a + 0.00001), color.a); // divide color.rgb by color.a + 0.00001\n\n return color;\n}\n\n\nfn random(position: vec4<f32>, scale: vec3<f32>, seed: f32) -> f32\n{\n return fract(sin(dot(position.xyz + seed, scale)) * 43758.5453 + seed);\n}",rb=Object.defineProperty,r_=(e,t,r)=>t in e?rb(e,t,{enumerable:!0,configurable:!0,writable:!0,value:r}):e[t]=r,rw=(e,t,r)=>(r_(e,"symbol"!=typeof t?t+"":t,r),r);let rx=class e extends i.dJT{constructor(t){const{width:r,height:n}=i.vrt.defaultOptions;t={...e.DEFAULT_OPTIONS,start:{x:0,y:n/2},end:{x:r,y:n/2},...t},super({gpuProgram:i.BrD.from({vertex:{source:a,entryPoint:"mainVertex"},fragment:{source:ry,entryPoint:"mainFragment"}}),glProgram:i.M2g.from({vertex:o,fragment:rv,name:"tilt-shift-axis-filter"}),resources:{tiltShiftUniforms:{uBlur:{value:new Float32Array([t.blur,t.gradientBlur]),type:"vec2<f32>"},uStart:{value:t.start,type:"vec2<f32>"},uEnd:{value:t.end,type:"vec2<f32>"},uDelta:{value:new Float32Array([0,0]),type:"vec2<f32>"},uDimensions:{value:new Float32Array([r,n]),type:"vec2<f32>"}}}}),rw(this,"uniforms"),rw(this,"_tiltAxis"),this.uniforms=this.resources.tiltShiftUniforms.uniforms,this._tiltAxis=t.axis}updateDimensions(e){let{uDimensions:t}=this.uniforms;t[0]=e.frame.width,t[1]=e.frame.height}updateDelta(){if(this.uniforms.uDelta[0]=0,this.uniforms.uDelta[1]=0,void 0===this._tiltAxis)return;let e=this.uniforms.uEnd,t=this.uniforms.uStart,r=e.x-t.x,n=e.y-t.y,i=Math.sqrt(r*r+n*n),o="vertical"===this._tiltAxis;this.uniforms.uDelta[0]=o?-n/i:r/i,this.uniforms.uDelta[1]=o?r/i:n/i}};rw(rx,"DEFAULT_OPTIONS",{blur:100,gradientBlur:600});var rS="precision highp float;\nin vec2 vTextureCoord;\nout vec4 finalColor;\n\nuniform sampler2D uTexture;\nuniform vec2 uTwist;\nuniform vec2 uOffset;\nuniform vec4 uInputSize;\n\nvec2 mapCoord( vec2 coord )\n{\n coord *= uInputSize.xy;\n coord += uInputSize.zw;\n\n return coord;\n}\n\nvec2 unmapCoord( vec2 coord )\n{\n coord -= uInputSize.zw;\n coord /= uInputSize.xy;\n\n return coord;\n}\n\nvec2 twist(vec2 coord)\n{\n coord -= uOffset;\n\n float dist = length(coord);\n float uRadius = uTwist[0];\n float uAngle = uTwist[1];\n\n if (dist < uRadius)\n {\n float ratioDist = (uRadius - dist) / uRadius;\n float angleMod = ratioDist * ratioDist * uAngle;\n float s = sin(angleMod);\n float c = cos(angleMod);\n coord = vec2(coord.x * c - coord.y * s, coord.x * s + coord.y * c);\n }\n\n coord += uOffset;\n\n return coord;\n}\n\nvoid main(void)\n{\n vec2 coord = mapCoord(vTextureCoord);\n coord = twist(coord);\n coord = unmapCoord(coord);\n finalColor = texture(uTexture, coord);\n}\n",rA="struct TwistUniforms {\n uTwist:vec2<f32>,\n uOffset:vec2<f32>,\n};\n\nstruct GlobalFilterUniforms {\n uInputSize:vec4<f32>,\n uInputPixel:vec4<f32>,\n uInputClamp:vec4<f32>,\n uOutputFrame:vec4<f32>,\n uGlobalFrame:vec4<f32>,\n uOutputTexture:vec4<f32>,\n};\n\n@group(0) @binding(0) var<uniform> gfu: GlobalFilterUniforms;\n\n@group(0) @binding(1) var uTexture: texture_2d<f32>; \n@group(0) @binding(2) var uSampler: sampler;\n@group(1) @binding(0) var<uniform> twistUniforms : TwistUniforms;\n\n@fragment\nfn mainFragment(\n @location(0) uv: vec2<f32>,\n @builtin(position) position: vec4<f32>\n) -> @location(0) vec4<f32> {\n return textureSample(uTexture, uSampler, unmapCoord(twist(mapCoord(uv))));\n}\n\nfn mapCoord(coord: vec2<f32> ) -> vec2<f32>\n{\n var mappedCoord: vec2<f32> = coord;\n mappedCoord *= gfu.uInputSize.xy;\n mappedCoord += gfu.uOutputFrame.xy;\n return mappedCoord;\n}\n\nfn unmapCoord(coord: vec2<f32> ) -> vec2<f32>\n{\n var mappedCoord: vec2<f32> = coord;\n mappedCoord -= gfu.uOutputFrame.xy;\n mappedCoord /= gfu.uInputSize.xy;\n return mappedCoord;\n}\n\nfn twist(coord: vec2<f32>) -> vec2<f32>\n{\n var twistedCoord: vec2<f32> = coord;\n let uRadius = twistUniforms.uTwist[0];\n let uAngle = twistUniforms.uTwist[1];\n let uOffset = twistUniforms.uOffset;\n\n twistedCoord -= uOffset;\n \n let dist = length(twistedCoord);\n\n if (dist < uRadius)\n {\n let ratioDist: f32 = (uRadius - dist) / uRadius;\n let angleMod: f32 = ratioDist * ratioDist * uAngle;\n let s: f32 = sin(angleMod);\n let c: f32 = cos(angleMod);\n twistedCoord = vec2<f32>(twistedCoord.x * c - twistedCoord.y * s, twistedCoord.x * s + twistedCoord.y * c);\n }\n\n twistedCoord += uOffset;\n return twistedCoord;\n}\n",rE=Object.defineProperty,rC=(e,t,r)=>t in e?rE(e,t,{enumerable:!0,configurable:!0,writable:!0,value:r}):e[t]=r,rO=(e,t,r)=>(rC(e,"symbol"!=typeof t?t+"":t,r),r);let rk=class e extends i.dJT{constructor(t){t={...e.DEFAULT_OPTIONS,...t},super({gpuProgram:i.BrD.from({vertex:{source:a,entryPoint:"mainVertex"},fragment:{source:rA,entryPoint:"mainFragment"}}),glProgram:i.M2g.from({vertex:o,fragment:rS,name:"twist-filter"}),resources:{twistUniforms:{uTwist:{value:[t.radius??0,t.angle??0],type:"vec2<f32>"},uOffset:{value:t.offset,type:"vec2<f32>"}}},...t}),rO(this,"uniforms"),this.uniforms=this.resources.twistUniforms.uniforms}get radius(){return this.uniforms.uTwist[0]}set radius(e){this.uniforms.uTwist[0]=e}get angle(){return this.uniforms.uTwist[1]}set angle(e){this.uniforms.uTwist[1]=e}get offset(){return this.uniforms.uOffset}set offset(e){this.uniforms.uOffset=e}get offsetX(){return this.offset.x}set offsetX(e){this.offset.x=e}get offsetY(){return this.offset.y}set offsetY(e){this.offset.y=e}};rO(rk,"DEFAULT_OPTIONS",{padding:20,radius:200,angle:4,offset:{x:0,y:0}});var rI="precision highp float;\nin vec2 vTextureCoord;\nout vec4 finalColor;\n\nuniform sampler2D uTexture;\nuniform float uStrength;\nuniform vec2 uCenter;\nuniform vec2 uRadii;\n\nuniform vec4 uInputSize;\n\nconst float MAX_KERNEL_SIZE = ${MAX_KERNEL_SIZE};\n\n// author: http://byteblacksmith.com/improvements-to-the-canonical-one-liner-glsl-rand-for-opengl-es-2-0/\nhighp float rand(vec2 co, float seed) {\n const highp float a = 12.9898, b = 78.233, c = 43758.5453;\n highp float dt = dot(co + seed, vec2(a, b)), sn = mod(dt, 3.14159);\n return fract(sin(sn) * c + seed);\n}\n\nvoid main() {\n float minGradient = uRadii[0] * 0.3;\n float innerRadius = (uRadii[0] + minGradient * 0.5) / uInputSize.x;\n\n float gradient = uRadii[1] * 0.3;\n float radius = (uRadii[1] - gradient * 0.5) / uInputSize.x;\n\n float countLimit = MAX_KERNEL_SIZE;\n\n vec2 dir = vec2(uCenter.xy / uInputSize.xy - vTextureCoord);\n float dist = length(vec2(dir.x, dir.y * uInputSize.y / uInputSize.x));\n\n float strength = uStrength;\n\n float delta = 0.0;\n float gap;\n if (dist < innerRadius) {\n delta = innerRadius - dist;\n gap = minGradient;\n } else if (radius >= 0.0 && dist > radius) { // radius < 0 means it's infinity\n delta = dist - radius;\n gap = gradient;\n }\n\n if (delta > 0.0) {\n float normalCount = gap / uInputSize.x;\n delta = (normalCount - delta) / normalCount;\n countLimit *= delta;\n strength *= delta;\n if (countLimit < 1.0)\n {\n gl_FragColor = texture(uTexture, vTextureCoord);\n return;\n }\n }\n\n // randomize the lookup values to hide the fixed number of samples\n float offset = rand(vTextureCoord, 0.0);\n\n float total = 0.0;\n vec4 color = vec4(0.0);\n\n dir *= strength;\n\n for (float t = 0.0; t < MAX_KERNEL_SIZE; t++) {\n float percent = (t + offset) / MAX_KERNEL_SIZE;\n float weight = 4.0 * (percent - percent * percent);\n vec2 p = vTextureCoord + dir * percent;\n vec4 sample = texture(uTexture, p);\n\n // switch to pre-multiplied alpha to correctly blur transparent images\n // sample.rgb *= sample.a;\n\n color += sample * weight;\n total += weight;\n\n if (t > countLimit){\n break;\n }\n }\n\n color /= total;\n // switch back from pre-multiplied alpha\n // color.rgb /= color.a + 0.00001;\n\n gl_FragColor = color;\n}\n",rT="struct ZoomBlurUniforms {\n uStrength:f32,\n uCenter:vec2<f32>,\n uRadii:vec2<f32>,\n};\n\nstruct GlobalFilterUniforms {\n uInputSize:vec4<f32>,\n uInputPixel:vec4<f32>,\n uInputClamp:vec4<f32>,\n uOutputFrame:vec4<f32>,\n uGlobalFrame:vec4<f32>,\n uOutputTexture:vec4<f32>,\n};\n\n@group(0) @binding(0) var<uniform> gfu: GlobalFilterUniforms;\n\n@group(0) @binding(1) var uTexture: texture_2d<f32>; \n@group(0) @binding(2) var uSampler: sampler;\n@group(1) @binding(0) var<uniform> zoomBlurUniforms : ZoomBlurUniforms;\n\n@fragment\nfn mainFragment(\n @builtin(position) position: vec4<f32>,\n @location(0) uv : vec2<f32>\n) -> @location(0) vec4<f32> {\n let uStrength = zoomBlurUniforms.uStrength;\n let uCenter = zoomBlurUniforms.uCenter;\n let uRadii = zoomBlurUniforms.uRadii;\n\n let minGradient: f32 = uRadii[0] * 0.3;\n let innerRadius: f32 = (uRadii[0] + minGradient * 0.5) / gfu.uInputSize.x;\n\n let gradient: f32 = uRadii[1] * 0.3;\n let radius: f32 = (uRadii[1] - gradient * 0.5) / gfu.uInputSize.x;\n\n let MAX_KERNEL_SIZE: f32 = ${MAX_KERNEL_SIZE};\n\n var countLimit: f32 = MAX_KERNEL_SIZE;\n\n var dir: vec2<f32> = vec2<f32>(uCenter / gfu.uInputSize.xy - uv);\n let dist: f32 = length(vec2<f32>(dir.x, dir.y * gfu.uInputSize.y / gfu.uInputSize.x));\n\n var strength: f32 = uStrength;\n\n var delta: f32 = 0.0;\n var gap: f32;\n\n if (dist < innerRadius) {\n delta = innerRadius - dist;\n gap = minGradient;\n } else if (radius >= 0.0 && dist > radius) { // radius < 0 means it's infinity\n delta = dist - radius;\n gap = gradient;\n }\n\n var returnColorOnly: bool = false;\n\n if (delta > 0.0) {\n let normalCount: f32 = gap / gfu.uInputSize.x;\n delta = (normalCount - delta) / normalCount;\n countLimit *= delta;\n strength *= delta;\n \n if (countLimit < 1.0)\n {\n returnColorOnly = true;;\n }\n }\n\n // randomize the lookup values to hide the fixed number of samples\n let offset: f32 = rand(uv, 0.0);\n\n var total: f32 = 0.0;\n var color: vec4<f32> = vec4<f32>(0.);\n\n dir *= strength;\n\n for (var t = 0.0; t < MAX_KERNEL_SIZE; t += 1.0) {\n let percent: f32 = (t + offset) / MAX_KERNEL_SIZE;\n let weight: f32 = 4.0 * (percent - percent * percent);\n let p: vec2<f32> = uv + dir * percent;\n let sample: vec4<f32> = textureSample(uTexture, uSampler, p);\n \n if (t < countLimit)\n {\n color += sample * weight;\n total += weight;\n }\n }\n\n color /= total;\n\n return select(color, textureSample(uTexture, uSampler, uv), returnColorOnly);\n}\n\nfn modulo(x: f32, y: f32) -> f32\n{\n return x - y * floor(x/y);\n}\n\n// author: http://byteblacksmith.com/improvements-to-the-canonical-one-liner-glsl-rand-for-opengl-es-2-0/\nfn rand(co: vec2<f32>, seed: f32) -> f32\n{\n let a: f32 = 12.9898;\n let b: f32 = 78.233;\n let c: f32 = 43758.5453;\n let dt: f32 = dot(co + seed, vec2<f32>(a, b));\n let sn: f32 = modulo(dt, 3.14159);\n return fract(sin(sn) * c + seed);\n}",rP=Object.defineProperty,rM=(e,t,r)=>t in e?rP(e,t,{enumerable:!0,configurable:!0,writable:!0,value:r}):e[t]=r,rR=(e,t,r)=>(rM(e,"symbol"!=typeof t?t+"":t,r),r);let r$=class e extends i.dJT{constructor(t){const r=(t={...e.DEFAULT_OPTIONS,...t}).maxKernelSize??32;super({gpuProgram:i.BrD.from({vertex:{source:a,entryPoint:"mainVertex"},fragment:{source:rT.replace("${MAX_KERNEL_SIZE}",r.toFixed(1)),entryPoint:"mainFragment"}}),glProgram:i.M2g.from({vertex:o,fragment:rI.replace("${MAX_KERNEL_SIZE}",r.toFixed(1)),name:"zoom-blur-filter"}),resources:{zoomBlurUniforms:{uStrength:{value:t.strength,type:"f32"},uCenter:{value:t.center,type:"vec2<f32>"},uRadii:{value:new Float32Array(2),type:"vec2<f32>"}}}}),rR(this,"uniforms"),this.uniforms=this.resources.zoomBlurUniforms.uniforms,Object.assign(this,t)}get strength(){return this.uniforms.uStrength}set strength(e){this.uniforms.uStrength=e}get center(){return this.uniforms.uCenter}set center(e){Array.isArray(e)&&(e={x:e[0],y:e[1]}),this.uniforms.uCenter=e}get centerX(){return this.uniforms.uCenter.x}set centerX(e){this.uniforms.uCenter.x=e}get centerY(){return this.uniforms.uCenter.y}set centerY(e){this.uniforms.uCenter.y=e}get innerRadius(){return this.uniforms.uRadii[0]}set innerRadius(e){this.uniforms.uRadii[0]=e}get radius(){return this.uniforms.uRadii[1]}set radius(e){this.uniforms.uRadii[1]=e<0||e===1/0?-1:e}};rR(r$,"DEFAULT_OPTIONS",{strength:.1,center:{x:0,y:0},innerRadius:0,radius:-1,maxKernelSize:32})},19495:function(e,t,r){"use strict";r.d(t,{l:()=>a});var n=r(42912),i=r(4226);class o{constructor(){this._parsers=[],this._cache=new Map,this._cacheMap=new Map}reset(){this._cacheMap.clear(),this._cache.clear()}has(e){return this._cache.has(e)}get(e){let t=this._cache.get(e);return t||(0,n.R)(`[Assets] Asset id ${e} was not found in the Cache`),t}set(e,t){let r,o=(0,i.z)(e);for(let e=0;e<this.parsers.length;e++){let n=this.parsers[e];if(n.test(t)){r=n.getCacheableAssets(o,t);break}}let a=new Map(Object.entries(r||{}));r||o.forEach(e=>{a.set(e,t)});let s=[...a.keys()],l={cacheKeys:s,keys:o};o.forEach(e=>{this._cacheMap.set(e,l)}),s.forEach(e=>{let i=r?r[e]:t;this._cache.has(e)&&this._cache.get(e)!==i&&(0,n.R)("[Cache] already has key:",e),this._cache.set(e,a.get(e))})}remove(e){if(!this._cacheMap.has(e))return void(0,n.R)(`[Assets] Asset id ${e} was not found in the Cache`);let t=this._cacheMap.get(e);t.cacheKeys.forEach(e=>{this._cache.delete(e)}),t.keys.forEach(e=>{this._cacheMap.delete(e)})}get parsers(){return this._parsers}}let a=new o},86001:function(e,t,r){"use strict";let n;r.d(t,{T:()=>i});var i=((n=i||{})[n.Low=0]="Low",n[n.Normal=1]="Normal",n[n.High=2]="High",n)},48292:function(e,t,r){"use strict";r.d(t,{x:()=>u});var n=r(42912),i=r(94819),o=r(4226);function a(e,t,r,n,i){let o=t[r];for(let s=0;s<o.length;s++){let l=o[s];r<t.length-1?a(e.replace(n[r],l),t,r+1,n,i):i.push(e.replace(n[r],l))}}function s(e){let t=/\{(.*?)\}/g,r=e.match(t),n=[];if(r){let t=[];r.forEach(e=>{let r=e.substring(1,e.length-1).split(",");t.push(r)}),a(e,t,0,r,n)}else n.push(e);return n}var l=r(40397);class u{constructor(){this._defaultBundleIdentifierOptions={connector:"-",createBundleAssetId:(e,t)=>`${e}${this._bundleIdConnector}${t}`,extractAssetIdFromBundle:(e,t)=>t.replace(`${e}${this._bundleIdConnector}`,"")},this._bundleIdConnector=this._defaultBundleIdentifierOptions.connector,this._createBundleAssetId=this._defaultBundleIdentifierOptions.createBundleAssetId,this._extractAssetIdFromBundle=this._defaultBundleIdentifierOptions.extractAssetIdFromBundle,this._assetMap={},this._preferredOrder=[],this._parsers=[],this._resolverHash={},this._bundles={}}setBundleIdentifier(e){if(this._bundleIdConnector=e.connector??this._bundleIdConnector,this._createBundleAssetId=e.createBundleAssetId??this._createBundleAssetId,this._extractAssetIdFromBundle=e.extractAssetIdFromBundle??this._extractAssetIdFromBundle,"bar"!==this._extractAssetIdFromBundle("foo",this._createBundleAssetId("foo","bar")))throw Error("[Resolver] GenerateBundleAssetId are not working correctly")}prefer(...e){e.forEach(e=>{this._preferredOrder.push(e),e.priority||(e.priority=Object.keys(e.params))}),this._resolverHash={}}set basePath(e){this._basePath=e}get basePath(){return this._basePath}set rootPath(e){this._rootPath=e}get rootPath(){return this._rootPath}get parsers(){return this._parsers}reset(){this.setBundleIdentifier(this._defaultBundleIdentifierOptions),this._assetMap={},this._preferredOrder=[],this._resolverHash={},this._rootPath=null,this._basePath=null,this._manifest=null,this._bundles={},this._defaultSearchParams=null}setDefaultSearchParams(e){if("string"==typeof e)this._defaultSearchParams=e;else{let t=e;this._defaultSearchParams=Object.keys(t).map(e=>`${encodeURIComponent(e)}=${encodeURIComponent(t[e])}`).join("&")}}getAlias(e){let{alias:t,src:r}=e;return(0,o.z)(t||r,e=>"string"==typeof e?e:Array.isArray(e)?e.map(e=>e?.src??e):e?.src?e.src:e,!0)}addManifest(e){this._manifest&&(0,n.R)("[Resolver] Manifest already exists, this will be overwritten"),this._manifest=e,e.bundles.forEach(e=>{this.addBundle(e.name,e.assets)})}addBundle(e,t){let r=[],n=t;Array.isArray(t)||(n=Object.entries(t).map(([e,t])=>"string"==typeof t||Array.isArray(t)?{alias:e,src:t}:{alias:e,...t})),n.forEach(t=>{let n,i=t.src,o=t.alias;if("string"==typeof o){let t=this._createBundleAssetId(e,o);r.push(t),n=[o,t]}else{let t=o.map(t=>this._createBundleAssetId(e,t));r.push(...t),n=[...o,...t]}this.add({...t,alias:n,src:i})}),this._bundles[e]=r}add(e){let t,r=[];Array.isArray(e)?r.push(...e):r.push(e),t=e=>{this.hasKey(e)&&(0,n.R)(`[Resolver] already has key: ${e} overwriting`)},(0,o.z)(r).forEach(e=>{let{src:r}=e,{data:n,format:i,loadParser:a}=e,l=(0,o.z)(r).map(e=>"string"==typeof e?s(e):Array.isArray(e)?e:[e]),u=this.getAlias(e);Array.isArray(u)?u.forEach(t):t(u);let c=[];l.forEach(e=>{e.forEach(e=>{let t={};if("object"!=typeof e){t.src=e;for(let r=0;r<this._parsers.length;r++){let n=this._parsers[r];if(n.test(e)){t=n.parse(e);break}}}else n=e.data??n,i=e.format??i,a=e.loadParser??a,t={...t,...e};if(!u)throw Error(`[Resolver] alias is undefined for this asset: ${t.src}`);t=this._buildResolvedAsset(t,{aliases:u,data:n,format:i,loadParser:a}),c.push(t)})}),u.forEach(e=>{this._assetMap[e]=c})})}resolveBundle(e){let t=(0,l.a)(e);e=(0,o.z)(e);let r={};return e.forEach(e=>{let t=this._bundles[e];if(t){let n=this.resolve(t),i={};for(let t in n){let r=n[t];i[this._extractAssetIdFromBundle(e,t)]=r}r[e]=i}}),t?r[e[0]]:r}resolveUrl(e){let t=this.resolve(e);if("string"!=typeof e){let e={};for(let r in t)e[r]=t[r].src;return e}return t.src}resolve(e){let t=(0,l.a)(e);e=(0,o.z)(e);let r={};return e.forEach(e=>{if(!this._resolverHash[e])if(this._assetMap[e]){let t=this._assetMap[e],r=this._getPreferredOrder(t);r?.priority.forEach(e=>{r.params[e].forEach(r=>{let n=t.filter(t=>!!t[e]&&t[e]===r);n.length&&(t=n)})}),this._resolverHash[e]=t[0]}else this._resolverHash[e]=this._buildResolvedAsset({alias:[e],src:e},{});r[e]=this._resolverHash[e]}),t?r[e[0]]:r}hasKey(e){return!!this._assetMap[e]}hasBundle(e){return!!this._bundles[e]}_getPreferredOrder(e){for(let t=0;t<e.length;t++){let t=e[0],r=this._preferredOrder.find(e=>e.params.format.includes(t.format));if(r)return r}return this._preferredOrder[0]}_appendDefaultSearchParams(e){if(!this._defaultSearchParams)return e;let t=/\?/.test(e)?"&":"?";return`${e}${t}${this._defaultSearchParams}`}_buildResolvedAsset(e,t){let{aliases:r,data:n,loadParser:o,format:a}=t;return(this._basePath||this._rootPath)&&(e.src=i.A.toAbsolute(e.src,this._basePath,this._rootPath)),e.alias=r??e.alias??[e.src],e.src=this._appendDefaultSearchParams(e.src),e.data={...n||{},...e.data},e.loadParser=o??e.loadParser,e.format=a??e.format??c(e.src),e}}function c(e){return e.split(".").pop().split("?").shift().split("#").shift()}u.RETINA_PREFIX=/@([0-9\.]+)x/},4226:function(e,t,r){"use strict";r.d(t,{z:()=>n});let n=(e,t,r=!1)=>(Array.isArray(e)||(e=[e]),t)?e.map(e=>"string"==typeof e||r?t(e):e):e},79437:function(e,t,r){"use strict";r.d(t,{Y:()=>n});let n=(e,t)=>{let r=t.split("?")[1];return r&&(e+=`?${r}`),e}},40397:function(e,t,r){"use strict";r.d(t,{a:()=>n});let n=e=>!Array.isArray(e)},82444:function(e,t,r){"use strict";r.d(t,{Q:()=>M});var n={grad:.9,turn:360,rad:360/(2*Math.PI)},i=function(e){return"string"==typeof e?e.length>0:"number"==typeof e},o=function(e,t,r){return void 0===t&&(t=0),void 0===r&&(r=Math.pow(10,t)),Math.round(r*e)/r+0},a=function(e,t,r){return void 0===t&&(t=0),void 0===r&&(r=1),e>r?r:e>t?e:t},s=function(e){return(e=isFinite(e)?e%360:0)>0?e:e+360},l=function(e){return{r:a(e.r,0,255),g:a(e.g,0,255),b:a(e.b,0,255),a:a(e.a)}},u=function(e){return{r:o(e.r),g:o(e.g),b:o(e.b),a:o(e.a,3)}},c=/^#([0-9a-f]{3,8})$/i,f=function(e){var t=e.toString(16);return t.length<2?"0"+t:t},h=function(e){var t=e.r,r=e.g,n=e.b,i=e.a,o=Math.max(t,r,n),a=o-Math.min(t,r,n),s=a?o===t?(r-n)/a:o===r?2+(n-t)/a:4+(t-r)/a:0;return{h:60*(s<0?s+6:s),s:o?a/o*100:0,v:o/255*100,a:i}},d=function(e){var t=e.h,r=e.s,n=e.v,i=e.a;t=t/360*6,r/=100,n/=100;var o=Math.floor(t),a=n*(1-r),s=n*(1-(t-o)*r),l=n*(1-(1-t+o)*r),u=o%6;return{r:255*[n,s,a,a,l,n][u],g:255*[l,n,n,s,a,a][u],b:255*[a,a,l,n,n,s][u],a:i}},p=function(e){return{h:s(e.h),s:a(e.s,0,100),l:a(e.l,0,100),a:a(e.a)}},m=function(e){return{h:o(e.h),s:o(e.s),l:o(e.l),a:o(e.a,3)}},g=function(e){var t,r,n;return d((r=(t=e).s,{h:t.h,s:(r*=((n=t.l)<50?n:100-n)/100)>0?2*r/(n+r)*100:0,v:n+r,a:t.a}))},v=function(e){var t,r,n,i;return{h:(t=h(e)).h,s:(i=(200-(r=t.s))*(n=t.v)/100)>0&&i<200?r*n/100/(i<=100?i:200-i)*100:0,l:i/2,a:t.a}},y=/^hsla?\(\s*([+-]?\d*\.?\d+)(deg|rad|grad|turn)?\s*,\s*([+-]?\d*\.?\d+)%\s*,\s*([+-]?\d*\.?\d+)%\s*(?:,\s*([+-]?\d*\.?\d+)(%)?\s*)?\)$/i,b=/^hsla?\(\s*([+-]?\d*\.?\d+)(deg|rad|grad|turn)?\s+([+-]?\d*\.?\d+)%\s+([+-]?\d*\.?\d+)%\s*(?:\/\s*([+-]?\d*\.?\d+)(%)?\s*)?\)$/i,_=/^rgba?\(\s*([+-]?\d*\.?\d+)(%)?\s*,\s*([+-]?\d*\.?\d+)(%)?\s*,\s*([+-]?\d*\.?\d+)(%)?\s*(?:,\s*([+-]?\d*\.?\d+)(%)?\s*)?\)$/i,w=/^rgba?\(\s*([+-]?\d*\.?\d+)(%)?\s+([+-]?\d*\.?\d+)(%)?\s+([+-]?\d*\.?\d+)(%)?\s*(?:\/\s*([+-]?\d*\.?\d+)(%)?\s*)?\)$/i,x={string:[[function(e){var t=c.exec(e);return t?(e=t[1]).length<=4?{r:parseInt(e[0]+e[0],16),g:parseInt(e[1]+e[1],16),b:parseInt(e[2]+e[2],16),a:4===e.length?o(parseInt(e[3]+e[3],16)/255,2):1}:6===e.length||8===e.length?{r:parseInt(e.substr(0,2),16),g:parseInt(e.substr(2,2),16),b:parseInt(e.substr(4,2),16),a:8===e.length?o(parseInt(e.substr(6,2),16)/255,2):1}:null:null},"hex"],[function(e){var t=_.exec(e)||w.exec(e);return t?t[2]!==t[4]||t[4]!==t[6]?null:l({r:Number(t[1])/(t[2]?100/255:1),g:Number(t[3])/(t[4]?100/255:1),b:Number(t[5])/(t[6]?100/255:1),a:void 0===t[7]?1:Number(t[7])/(t[8]?100:1)}):null},"rgb"],[function(e){var t,r,i=y.exec(e)||b.exec(e);return i?g(p({h:(t=i[1],void 0===(r=i[2])&&(r="deg"),Number(t)*(n[r]||1)),s:Number(i[3]),l:Number(i[4]),a:void 0===i[5]?1:Number(i[5])/(i[6]?100:1)})):null},"hsl"]],object:[[function(e){var t=e.r,r=e.g,n=e.b,o=e.a,a=void 0===o?1:o;return i(t)&&i(r)&&i(n)?l({r:Number(t),g:Number(r),b:Number(n),a:Number(a)}):null},"rgb"],[function(e){var t=e.h,r=e.s,n=e.l,o=e.a,a=void 0===o?1:o;return i(t)&&i(r)&&i(n)?g(p({h:Number(t),s:Number(r),l:Number(n),a:Number(a)})):null},"hsl"],[function(e){var t=e.h,r=e.s,n=e.v,o=e.a,l=void 0===o?1:o;return i(t)&&i(r)&&i(n)?d(function(e){return{h:s(e.h),s:a(e.s,0,100),v:a(e.v,0,100),a:a(e.a)}}({h:Number(t),s:Number(r),v:Number(n),a:Number(l)})):null},"hsv"]]},S=function(e,t){for(var r=0;r<t.length;r++){var n=t[r][0](e);if(n)return[n,t[r][1]]}return[null,void 0]},A=function(e){return"string"==typeof e?S(e.trim(),x.string):"object"==typeof e&&null!==e?S(e,x.object):[null,void 0]},E=function(e,t){var r=v(e);return{h:r.h,s:a(r.s+100*t,0,100),l:r.l,a:r.a}},C=function(e){return(299*e.r+587*e.g+114*e.b)/1e3/255},O=function(e,t){var r=v(e);return{h:r.h,s:r.s,l:a(r.l+100*t,0,100),a:r.a}},k=function(){function e(e){this.parsed=A(e)[0],this.rgba=this.parsed||{r:0,g:0,b:0,a:1}}return e.prototype.isValid=function(){return null!==this.parsed},e.prototype.brightness=function(){return o(C(this.rgba),2)},e.prototype.isDark=function(){return .5>C(this.rgba)},e.prototype.isLight=function(){return C(this.rgba)>=.5},e.prototype.toHex=function(){var e,t,r,n,i,a;return t=(e=u(this.rgba)).r,r=e.g,n=e.b,a=(i=e.a)<1?f(o(255*i)):"","#"+f(t)+f(r)+f(n)+a},e.prototype.toRgb=function(){return u(this.rgba)},e.prototype.toRgbString=function(){var e,t,r,n,i;return t=(e=u(this.rgba)).r,r=e.g,n=e.b,(i=e.a)<1?"rgba("+t+", "+r+", "+n+", "+i+")":"rgb("+t+", "+r+", "+n+")"},e.prototype.toHsl=function(){return m(v(this.rgba))},e.prototype.toHslString=function(){var e,t,r,n,i;return t=(e=m(v(this.rgba))).h,r=e.s,n=e.l,(i=e.a)<1?"hsla("+t+", "+r+"%, "+n+"%, "+i+")":"hsl("+t+", "+r+"%, "+n+"%)"},e.prototype.toHsv=function(){var e;return{h:o((e=h(this.rgba)).h),s:o(e.s),v:o(e.v),a:o(e.a,3)}},e.prototype.invert=function(){var e;return I({r:255-(e=this.rgba).r,g:255-e.g,b:255-e.b,a:e.a})},e.prototype.saturate=function(e){return void 0===e&&(e=.1),I(E(this.rgba,e))},e.prototype.desaturate=function(e){return void 0===e&&(e=.1),I(E(this.rgba,-e))},e.prototype.grayscale=function(){return I(E(this.rgba,-1))},e.prototype.lighten=function(e){return void 0===e&&(e=.1),I(O(this.rgba,e))},e.prototype.darken=function(e){return void 0===e&&(e=.1),I(O(this.rgba,-e))},e.prototype.rotate=function(e){return void 0===e&&(e=15),this.hue(this.hue()+e)},e.prototype.alpha=function(e){var t;return"number"==typeof e?I({r:(t=this.rgba).r,g:t.g,b:t.b,a:e}):o(this.rgba.a,3)},e.prototype.hue=function(e){var t=v(this.rgba);return"number"==typeof e?I({h:e,s:t.s,l:t.l,a:t.a}):o(t.h)},e.prototype.isEqual=function(e){return this.toHex()===I(e).toHex()},e}(),I=function(e){return e instanceof k?e:new k(e)},T=[];(function(e){e.forEach(function(e){0>T.indexOf(e)&&(e(k,x),T.push(e))})})([function e(e,t){var r={white:"#ffffff",bisque:"#ffe4c4",blue:"#0000ff",cadetblue:"#5f9ea0",chartreuse:"#7fff00",chocolate:"#d2691e",coral:"#ff7f50",antiquewhite:"#faebd7",aqua:"#00ffff",azure:"#f0ffff",whitesmoke:"#f5f5f5",papayawhip:"#ffefd5",plum:"#dda0dd",blanchedalmond:"#ffebcd",black:"#000000",gold:"#ffd700",goldenrod:"#daa520",gainsboro:"#dcdcdc",cornsilk:"#fff8dc",cornflowerblue:"#6495ed",burlywood:"#deb887",aquamarine:"#7fffd4",beige:"#f5f5dc",crimson:"#dc143c",cyan:"#00ffff",darkblue:"#00008b",darkcyan:"#008b8b",darkgoldenrod:"#b8860b",darkkhaki:"#bdb76b",darkgray:"#a9a9a9",darkgreen:"#006400",darkgrey:"#a9a9a9",peachpuff:"#ffdab9",darkmagenta:"#8b008b",darkred:"#8b0000",darkorchid:"#9932cc",darkorange:"#ff8c00",darkslateblue:"#483d8b",gray:"#808080",darkslategray:"#2f4f4f",darkslategrey:"#2f4f4f",deeppink:"#ff1493",deepskyblue:"#00bfff",wheat:"#f5deb3",firebrick:"#b22222",floralwhite:"#fffaf0",ghostwhite:"#f8f8ff",darkviolet:"#9400d3",magenta:"#ff00ff",green:"#008000",dodgerblue:"#1e90ff",grey:"#808080",honeydew:"#f0fff0",hotpink:"#ff69b4",blueviolet:"#8a2be2",forestgreen:"#228b22",lawngreen:"#7cfc00",indianred:"#cd5c5c",indigo:"#4b0082",fuchsia:"#ff00ff",brown:"#a52a2a",maroon:"#800000",mediumblue:"#0000cd",lightcoral:"#f08080",darkturquoise:"#00ced1",lightcyan:"#e0ffff",ivory:"#fffff0",lightyellow:"#ffffe0",lightsalmon:"#ffa07a",lightseagreen:"#20b2aa",linen:"#faf0e6",mediumaquamarine:"#66cdaa",lemonchiffon:"#fffacd",lime:"#00ff00",khaki:"#f0e68c",mediumseagreen:"#3cb371",limegreen:"#32cd32",mediumspringgreen:"#00fa9a",lightskyblue:"#87cefa",lightblue:"#add8e6",midnightblue:"#191970",lightpink:"#ffb6c1",mistyrose:"#ffe4e1",moccasin:"#ffe4b5",mintcream:"#f5fffa",lightslategray:"#778899",lightslategrey:"#778899",navajowhite:"#ffdead",navy:"#000080",mediumvioletred:"#c71585",powderblue:"#b0e0e6",palegoldenrod:"#eee8aa",oldlace:"#fdf5e6",paleturquoise:"#afeeee",mediumturquoise:"#48d1cc",mediumorchid:"#ba55d3",rebeccapurple:"#663399",lightsteelblue:"#b0c4de",mediumslateblue:"#7b68ee",thistle:"#d8bfd8",tan:"#d2b48c",orchid:"#da70d6",mediumpurple:"#9370db",purple:"#800080",pink:"#ffc0cb",skyblue:"#87ceeb",springgreen:"#00ff7f",palegreen:"#98fb98",red:"#ff0000",yellow:"#ffff00",slateblue:"#6a5acd",lavenderblush:"#fff0f5",peru:"#cd853f",palevioletred:"#db7093",violet:"#ee82ee",teal:"#008080",slategray:"#708090",slategrey:"#708090",aliceblue:"#f0f8ff",darkseagreen:"#8fbc8f",darkolivegreen:"#556b2f",greenyellow:"#adff2f",seagreen:"#2e8b57",seashell:"#fff5ee",tomato:"#ff6347",silver:"#c0c0c0",sienna:"#a0522d",lavender:"#e6e6fa",lightgreen:"#90ee90",orange:"#ffa500",orangered:"#ff4500",steelblue:"#4682b4",royalblue:"#4169e1",turquoise:"#40e0d0",yellowgreen:"#9acd32",salmon:"#fa8072",saddlebrown:"#8b4513",sandybrown:"#f4a460",rosybrown:"#bc8f8f",darksalmon:"#e9967a",lightgoldenrodyellow:"#fafad2",snow:"#fffafa",lightgrey:"#d3d3d3",lightgray:"#d3d3d3",dimgray:"#696969",dimgrey:"#696969",olivedrab:"#6b8e23",olive:"#808000"},n={};for(var i in r)n[r[i]]=i;var o={};e.prototype.toName=function(t){if(!(this.rgba.a||this.rgba.r||this.rgba.g||this.rgba.b))return"transparent";var i,a,s=n[this.toHex()];if(s)return s;if(null==t?void 0:t.closest){var l=this.toRgb(),u=1/0,c="black";if(!o.length)for(var f in r)o[f]=new e(r[f]).toRgb();for(var h in r){var d=(i=l,a=o[h],Math.pow(i.r-a.r,2)+Math.pow(i.g-a.g,2)+Math.pow(i.b-a.b,2));d<u&&(u=d,c=h)}return c}},t.string.push([function(t){var n=t.toLowerCase(),i="transparent"===n?"#0000":r[n];return i?new e(i).toRgb():null},"name"])}]);let P=class e{constructor(e=0xffffff){this._value=null,this._components=new Float32Array(4),this._components.fill(1),this._int=0xffffff,this.value=e}get red(){return this._components[0]}get green(){return this._components[1]}get blue(){return this._components[2]}get alpha(){return this._components[3]}setValue(e){return this.value=e,this}set value(t){if(t instanceof e)this._value=this._cloneSource(t._value),this._int=t._int,this._components.set(t._components);else if(null===t)throw Error("Cannot set Color#value to null");else null!==this._value&&this._isSourceEqual(this._value,t)||(this._normalize(t),this._value=this._cloneSource(t))}get value(){return this._value}_cloneSource(e){if("string"==typeof e||"number"==typeof e||e instanceof Number||null===e);else if(Array.isArray(e)||ArrayBuffer.isView(e))return e.slice(0);else if("object"==typeof e&&null!==e)return{...e};return e}_isSourceEqual(e,t){let r=typeof e;if(r!==typeof t)return!1;if("number"===r||"string"===r||e instanceof Number);else if(Array.isArray(e)&&Array.isArray(t)||ArrayBuffer.isView(e)&&ArrayBuffer.isView(t))return e.length===t.length&&e.every((e,r)=>e===t[r]);else if(null!==e&&null!==t){let r=Object.keys(e),n=Object.keys(t);return r.length===n.length&&r.every(r=>e[r]===t[r])}return e===t}toRgba(){let[e,t,r,n]=this._components;return{r:e,g:t,b:r,a:n}}toRgb(){let[e,t,r]=this._components;return{r:e,g:t,b:r}}toRgbaString(){let[e,t,r]=this.toUint8RgbArray();return`rgba(${e},${t},${r},${this.alpha})`}toUint8RgbArray(e){let[t,r,n]=this._components;return this._arrayRgb||(this._arrayRgb=[]),(e=e||this._arrayRgb)[0]=Math.round(255*t),e[1]=Math.round(255*r),e[2]=Math.round(255*n),e}toArray(e){this._arrayRgba||(this._arrayRgba=[]),e=e||this._arrayRgba;let[t,r,n,i]=this._components;return e[0]=t,e[1]=r,e[2]=n,e[3]=i,e}toRgbArray(e){this._arrayRgb||(this._arrayRgb=[]),e=e||this._arrayRgb;let[t,r,n]=this._components;return e[0]=t,e[1]=r,e[2]=n,e}toNumber(){return this._int}toBgrNumber(){let[e,t,r]=this.toUint8RgbArray();return(r<<16)+(t<<8)+e}toLittleEndianNumber(){let e=this._int;return(e>>16)+(65280&e)+((255&e)<<16)}multiply(t){let[r,n,i,o]=e._temp.setValue(t)._components;return this._components[0]*=r,this._components[1]*=n,this._components[2]*=i,this._components[3]*=o,this._refreshInt(),this._value=null,this}premultiply(e,t=!0){return t&&(this._components[0]*=e,this._components[1]*=e,this._components[2]*=e),this._components[3]=e,this._refreshInt(),this._value=null,this}toPremultiplied(e,t=!0){if(1===e)return -0x1000000+this._int;if(0===e)return t?0:this._int;let r=this._int>>16&255,n=this._int>>8&255,i=255&this._int;return t&&(r=r*e+.5|0,n=n*e+.5|0,i=i*e+.5|0),(255*e<<24)+(r<<16)+(n<<8)+i}toHex(){let e=this._int.toString(16);return`#${"000000".substring(0,6-e.length)+e}`}toHexa(){let e=Math.round(255*this._components[3]).toString(16);return this.toHex()+"00".substring(0,2-e.length)+e}setAlpha(e){return this._components[3]=this._clamp(e),this}_normalize(t){let r,n,i,o;if(("number"==typeof t||t instanceof Number)&&t>=0&&t<=0xffffff){let e=t;r=(e>>16&255)/255,n=(e>>8&255)/255,i=(255&e)/255,o=1}else if((Array.isArray(t)||t instanceof Float32Array)&&t.length>=3&&t.length<=4)t=this._clamp(t),[r,n,i,o=1]=t;else if((t instanceof Uint8Array||t instanceof Uint8ClampedArray)&&t.length>=3&&t.length<=4)t=this._clamp(t,0,255),[r,n,i,o=255]=t,r/=255,n/=255,i/=255,o/=255;else if("string"==typeof t||"object"==typeof t){if("string"==typeof t){let r=e.HEX_PATTERN.exec(t);r&&(t=`#${r[2]}`)}let a=I(t);a.isValid()&&({r,g:n,b:i,a:o}=a.rgba,r/=255,n/=255,i/=255)}if(void 0!==r)this._components[0]=r,this._components[1]=n,this._components[2]=i,this._components[3]=o,this._refreshInt();else throw Error(`Unable to convert color ${t}`)}_refreshInt(){this._clamp(this._components);let[e,t,r]=this._components;this._int=(255*e<<16)+(255*t<<8)+(255*r|0)}_clamp(e,t=0,r=1){return"number"==typeof e?Math.min(Math.max(e,t),r):(e.forEach((n,i)=>{e[i]=Math.min(Math.max(n,t),r)}),e)}static isColorLike(t){return"number"==typeof t||"string"==typeof t||t instanceof Number||t instanceof e||Array.isArray(t)||t instanceof Uint8Array||t instanceof Uint8ClampedArray||t instanceof Float32Array||void 0!==t.r&&void 0!==t.g&&void 0!==t.b||void 0!==t.r&&void 0!==t.g&&void 0!==t.b&&void 0!==t.a||void 0!==t.h&&void 0!==t.s&&void 0!==t.l||void 0!==t.h&&void 0!==t.s&&void 0!==t.l&&void 0!==t.a||void 0!==t.h&&void 0!==t.s&&void 0!==t.v||void 0!==t.h&&void 0!==t.s&&void 0!==t.v&&void 0!==t.a}};P.shared=new P,P._temp=new P,P.HEX_PATTERN=/^(#|0x)?(([a-f0-9]{3}){1,2}([a-f0-9]{2})?)$/i;let M=P},50160:function(e,t,r){"use strict";r.d(t,{e:()=>i});let n={createCanvas:(e,t)=>{let r=document.createElement("canvas");return r.width=e,r.height=t,r},getCanvasRenderingContext2D:()=>CanvasRenderingContext2D,getWebGLRenderingContext:()=>WebGLRenderingContext,getNavigator:()=>navigator,getBaseUrl:()=>document.baseURI??window.location.href,getFontFaceSet:()=>document.fonts,fetch:(e,t)=>fetch(e,t),parseXML:e=>new DOMParser().parseFromString(e,"text/xml")},i={get:()=>n,set(e){n=e}}},82295:function(e,t,r){"use strict";let n;r.d(t,{Ag:()=>i,XO:()=>s});var i=((n=i||{}).Application="application",n.WebGLPipes="webgl-pipes",n.WebGLPipesAdaptor="webgl-pipes-adaptor",n.WebGLSystem="webgl-system",n.WebGPUPipes="webgpu-pipes",n.WebGPUPipesAdaptor="webgpu-pipes-adaptor",n.WebGPUSystem="webgpu-system",n.CanvasSystem="canvas-system",n.CanvasPipesAdaptor="canvas-pipes-adaptor",n.CanvasPipes="canvas-pipes",n.Asset="asset",n.LoadParser="load-parser",n.ResolveParser="resolve-parser",n.CacheParser="cache-parser",n.DetectionParser="detection-parser",n.MaskEffect="mask-effect",n.BlendMode="blend-mode",n.TextureSource="texture-source",n.Environment="environment",n);let o=e=>{if("function"==typeof e||"object"==typeof e&&e.extension){if(!e.extension)throw Error("Extension class must have an extension object");e={..."object"!=typeof e.extension?{type:e.extension}:e.extension,ref:e}}if("object"==typeof e)e={...e};else throw Error("Invalid extension type");return"string"==typeof e.type&&(e.type=[e.type]),e},a=(e,t)=>o(e).priority??t,s={_addHandlers:{},_removeHandlers:{},_queue:{},remove(...e){return e.map(o).forEach(e=>{e.type.forEach(t=>this._removeHandlers[t]?.(e))}),this},add(...e){return e.map(o).forEach(e=>{e.type.forEach(t=>{let r=this._addHandlers,n=this._queue;r[t]?r[t]?.(e):(n[t]=n[t]||[],n[t]?.push(e))})}),this},handle(e,t,r){let n=this._addHandlers,i=this._removeHandlers;if(n[e]||i[e])throw Error(`Extension type ${e} already has a handler`);n[e]=t,i[e]=r;let o=this._queue;return o[e]&&(o[e]?.forEach(e=>t(e)),delete o[e]),this},handleByMap(e,t){return this.handle(e,e=>{e.name&&(t[e.name]=e.ref)},e=>{e.name&&delete t[e.name]})},handleByNamedList(e,t,r=-1){return this.handle(e,e=>{t.findIndex(t=>t.name===e.name)>=0||(t.push({name:e.name,value:e.ref}),t.sort((e,t)=>a(t.value,r)-a(e.value,r)))},e=>{let r=t.findIndex(t=>t.name===e.name);-1!==r&&t.splice(r,1)})},handleByList(e,t,r=-1){return this.handle(e,e=>{t.includes(e.ref)||(t.push(e.ref),t.sort((e,t)=>a(t,r)-a(e,r)))},e=>{let r=t.indexOf(e.ref);-1!==r&&t.splice(r,1)})}}},38974:function(e,t,r){"use strict";r.d(t,{d:()=>l});var n=r(36604),i=r(67331),o=r(56959),a=r(69071);let s=class e extends o.M{constructor(t){super(t={...e.defaultOptions,...t}),this.enabled=!0,this._state=a.U.for2d(),this.padding=t.padding,"boolean"==typeof t.antialias?this.antialias=t.antialias?"on":"off":this.antialias=t.antialias,this.resolution=t.resolution,this.blendRequired=t.blendRequired,this.addResource("uTexture",0,1)}apply(e,t,r,n){e.applyFilter(this,t,r,n)}get blendMode(){return this._state.blendMode}set blendMode(e){this._state.blendMode=e}static from(t){let r,o,{gpu:a,gl:s,...l}=t;return a&&(r=i.B.from(a)),s&&(o=n.M.from(s)),new e({gpuProgram:r,glProgram:o,...l})}};s.defaultOptions={blendMode:"normal",resolution:1,padding:0,antialias:"off",blendRequired:!1};let l=s},65173:function(e,t,r){"use strict";r.d(t,{a:()=>n});class n{constructor(e){this.pipe="filter",this.priority=1,this.filters=e?.filters,this.filterArea=e?.filterArea}destroy(){for(let e=0;e<this.filters.length;e++)this.filters[e].destroy();this.filters=null,this.filterArea=null}}},78137:function(e,t,r){"use strict";let n,i,o;r.d(t,{Q1f:()=>ez.Q,M2g:()=>eF.M,ZYG:()=>eX,oA$:()=>e7.o,lgM:()=>_,dJT:()=>eH.d,Tde:()=>e9.Td,Hii:()=>e6,sP:()=>eB,M_G:()=>tt.M,bRX:()=>te.b,EYj:()=>tf,gPd:()=>A.g,kxk:()=>to.k,BrD:()=>eD.B,mcf:()=>v.mc,t66:()=>y.t,Wny:()=>eY.W,eV2:()=>e8,vrt:()=>tn.v,v9C:()=>tr.v,bEs:()=>en.b,A1g:()=>ti.A});var a=r(82295);let s={extension:{type:a.Ag.Environment,name:"browser",priority:-1},test:()=>!0,load:async()=>{await Promise.all([r.e("779"),r.e("150"),r.e("260")]).then(r.bind(r,935))}},l={extension:{type:a.Ag.Environment,name:"webworker",priority:0},test:()=>"undefined"!=typeof self&&void 0!==self.WorkerGlobalScope,load:async()=>{await Promise.all([r.e("779"),r.e("150"),r.e("355")]).then(r.bind(r,50598))}};r(72934),r(30937);let u=[];async function c(e){if(e)for(let e=0;e<u.length;e++){let t=u[e];if(t.value.test())return void await t.value.load()}}a.XO.handleByNamedList(a.Ag.Environment,u);var f=r(50160),h=r(71771);function d(e){return void 0!==n?n:n=(()=>{let t={stencil:!0,failIfMajorPerformanceCaveat:e??h.k.defaultOptions.failIfMajorPerformanceCaveat};try{if(!f.e.get().getWebGLRenderingContext())return!1;let e=f.e.get().createCanvas().getContext("webgl",t),r=!!e?.getContextAttributes()?.stencil;if(e){let t=e.getExtension("WEBGL_lose_context");t&&t.loseContext()}return e=null,r}catch(e){return!1}})()}async function p(e={}){return void 0!==i?i:i=await (async()=>{if(!f.e.get().getNavigator().gpu)return!1;try{let t=await navigator.gpu.requestAdapter(e);return await t.requestDevice(),!0}catch(e){return!1}})()}let m=["webgl","webgpu","canvas"];async function g(e){let t,n=[];e.preference?(n.push(e.preference),m.forEach(t=>{t!==e.preference&&n.push(t)})):n=m.slice(),await c(e.manageImports??!0);let i={};for(let o=0;o<n.length;o++){let a=n[o];if("webgpu"===a&&await p()){let{WebGPURenderer:n}=await Promise.all([r.e("779"),r.e("631"),r.e("586")]).then(r.bind(r,42665));t=n,i={...e,...e.webgpu};break}if("webgl"===a&&d(e.failIfMajorPerformanceCaveat??h.k.defaultOptions.failIfMajorPerformanceCaveat)){let{WebGLRenderer:n}=await Promise.all([r.e("779"),r.e("631"),r.e("45")]).then(r.bind(r,25812));t=n,i={...e,...e.webgl};break}if("canvas"===a)throw i={...e},Error("CanvasRenderer is not yet implemented")}if(delete i.webgpu,delete i.webgl,!t)throw Error("No available renderer for the current environment");let o=new t;return await o.init(i),o}var v=r(3677),y=r(49722);let b=class e{constructor(...e){this.stage=new v.mc,void 0!==e[0]&&(0,y.t)("8.0.0","Application constructor options are deprecated, please use Application.init() instead.")}async init(t){t={...t},this.renderer=await g(t),e._plugins.forEach(e=>{e.init.call(this,t)})}render(){this.renderer.render({container:this.stage})}get canvas(){return this.renderer.canvas}get view(){return(0,y.t)("8.0.0","Application.view is deprecated, please use Application.canvas instead."),this.renderer.canvas}get screen(){return this.renderer.screen}destroy(t=!1,r=!1){let n=e._plugins.slice(0);n.reverse(),n.forEach(e=>{e.destroy.call(this)}),this.stage.destroy(r),this.stage=null,this.renderer.destroy(t),this.renderer=null}};b._plugins=[];let _=b;a.XO.handleByList(a.Ag.Application,_._plugins);var w=r(42912);class x{constructor(e,t=!1){this._loader=e,this._assetList=[],this._isLoading=!1,this._maxConcurrent=1,this.verbose=t}add(e){e.forEach(e=>{this._assetList.push(e)}),this.verbose&&console.log("[BackgroundLoader] assets: ",this._assetList),this._isActive&&!this._isLoading&&this._next()}async _next(){if(this._assetList.length&&this._isActive){this._isLoading=!0;let e=[],t=Math.min(this._assetList.length,this._maxConcurrent);for(let r=0;r<t;r++)e.push(this._assetList.pop());await this._loader.load(e),this._isLoading=!1,this._next()}}get active(){return this._isActive}set active(e){this._isActive!==e&&(this._isActive=e,e&&!this._isLoading&&this._next())}}var S=r(19495),A=r(55003);let E={extension:a.Ag.CacheParser,test:e=>Array.isArray(e)&&e.every(e=>e instanceof A.g),getCacheableAssets:(e,t)=>{let r={};return e.forEach(e=>{t.forEach((t,n)=>{r[e+(0===n?"":n+1)]=t})}),r}};async function C(e){if("Image"in globalThis)return new Promise(t=>{let r=new Image;r.onload=()=>{t(!0)},r.onerror=()=>{t(!1)},r.src=e});if("createImageBitmap"in globalThis&&"fetch"in globalThis){try{let t=await (await fetch(e)).blob();await createImageBitmap(t)}catch(e){return!1}return!0}return!1}let O={extension:{type:a.Ag.DetectionParser,priority:1},test:async()=>C("data:image/avif;base64,AAAAIGZ0eXBhdmlmAAAAAGF2aWZtaWYxbWlhZk1BMUIAAADybWV0YQAAAAAAAAAoaGRscgAAAAAAAAAAcGljdAAAAAAAAAAAAAAAAGxpYmF2aWYAAAAADnBpdG0AAAAAAAEAAAAeaWxvYwAAAABEAAABAAEAAAABAAABGgAAAB0AAAAoaWluZgAAAAAAAQAAABppbmZlAgAAAAABAABhdjAxQ29sb3IAAAAAamlwcnAAAABLaXBjbwAAABRpc3BlAAAAAAAAAAIAAAACAAAAEHBpeGkAAAAAAwgICAAAAAxhdjFDgQ0MAAAAABNjb2xybmNseAACAAIAAYAAAAAXaXBtYQAAAAAAAAABAAEEAQKDBAAAACVtZGF0EgAKCBgANogQEAwgMg8f8D///8WfhwB8+ErK42A="),add:async e=>[...e,"avif"],remove:async e=>e.filter(e=>"avif"!==e)},k=["png","jpg","jpeg"],I={extension:{type:a.Ag.DetectionParser,priority:-1},test:()=>Promise.resolve(!0),add:async e=>[...e,...k],remove:async e=>e.filter(e=>!k.includes(e))},T="WorkerGlobalScope"in globalThis&&globalThis instanceof globalThis.WorkerGlobalScope;function P(e){return!T&&""!==document.createElement("video").canPlayType(e)}let M={extension:{type:a.Ag.DetectionParser,priority:0},test:async()=>P("video/mp4"),add:async e=>[...e,"mp4","m4v"],remove:async e=>e.filter(e=>"mp4"!==e&&"m4v"!==e)},R={extension:{type:a.Ag.DetectionParser,priority:0},test:async()=>P("video/ogg"),add:async e=>[...e,"ogv"],remove:async e=>e.filter(e=>"ogv"!==e)},$={extension:{type:a.Ag.DetectionParser,priority:0},test:async()=>P("video/webm"),add:async e=>[...e,"webm"],remove:async e=>e.filter(e=>"webm"!==e)},j={extension:{type:a.Ag.DetectionParser,priority:0},test:async()=>C("data:image/webp;base64,UklGRh4AAABXRUJQVlA4TBEAAAAvAAAAAAfQ//73v/+BiOh/AAA="),add:async e=>[...e,"webp"],remove:async e=>e.filter(e=>"webp"!==e)};var N=r(94819),B=r(4226),L=r(40397);class z{constructor(){this._parsers=[],this._parsersValidated=!1,this.parsers=new Proxy(this._parsers,{set:(e,t,r)=>(this._parsersValidated=!1,e[t]=r,!0)}),this.promiseCache={}}reset(){this._parsersValidated=!1,this.promiseCache={}}_getLoadPromiseAndParser(e,t){let r={promise:null,parser:null};return r.promise=(async()=>{let n=null,i=null;if(t.loadParser&&((i=this._parserHash[t.loadParser])||(0,w.R)(`[Assets] specified load parser "${t.loadParser}" not found while loading ${e}`)),!i){for(let r=0;r<this.parsers.length;r++){let n=this.parsers[r];if(n.load&&n.test?.(e,t,this)){i=n;break}}if(!i)return(0,w.R)(`[Assets] ${e} could not be loaded as we don't know how to parse it, ensure the correct parser has been added`),null}n=await i.load(e,t,this),r.parser=i;for(let e=0;e<this.parsers.length;e++){let i=this.parsers[e];i.parse&&i.parse&&await i.testParse?.(n,t,this)&&(n=await i.parse(n,t,this)||n,r.parser=i)}return n})(),r}async load(e,t){this._parsersValidated||this._validateParsers();let r=0,n={},i=(0,L.a)(e),o=(0,B.z)(e,e=>({alias:[e],src:e})),a=o.length,s=o.map(async e=>{let i=N.A.toAbsolute(e.src);if(!n[e.src])try{this.promiseCache[i]||(this.promiseCache[i]=this._getLoadPromiseAndParser(i,e)),n[e.src]=await this.promiseCache[i].promise,t&&t(++r/a)}catch(t){throw delete this.promiseCache[i],delete n[e.src],Error(`[Loader.load] Failed to load ${i}.
|
|
345
345
|
${t}`)}});return await Promise.all(s),i?n[o[0].src]:n}async unload(e){let t=(0,B.z)(e,e=>({alias:[e],src:e})).map(async e=>{let t=N.A.toAbsolute(e.src),r=this.promiseCache[t];if(r){let n=await r.promise;delete this.promiseCache[t],await r.parser?.unload?.(n,e,this)}});await Promise.all(t)}_validateParsers(){this._parsersValidated=!0,this._parserHash=this._parsers.filter(e=>e.name).reduce((e,t)=>(t.name?e[t.name]&&(0,w.R)(`[Assets] loadParser name conflict "${t.name}"`):(0,w.R)("[Assets] loadParser should have a name"),{...e,[t.name]:t}),{})}}function F(e,t){if(Array.isArray(t)){for(let r of t)if(e.startsWith(`data:${r}`))return!0;return!1}return e.startsWith(`data:${t}`)}function D(e,t){let r=e.split("?")[0],n=N.A.extname(r).toLowerCase();return Array.isArray(t)?t.includes(n):n===t}var U=r(86001);let H=".json",G="application/json",W={extension:{type:a.Ag.LoadParser,priority:U.T.Low},name:"loadJson",test:e=>F(e,G)||D(e,H),async load(e){let t=await f.e.get().fetch(e);return await t.json()}},V=".txt",q="text/plain",X={name:"loadTxt",extension:{type:a.Ag.LoadParser,priority:U.T.Low},test:e=>F(e,q)||D(e,V),async load(e){let t=await f.e.get().fetch(e);return await t.text()}},Y=["normal","bold","100","200","300","400","500","600","700","800","900"],Z=[".ttf",".otf",".woff",".woff2"],K=["font/ttf","font/otf","font/woff","font/woff2"],J=/^(--|-?[A-Z_])[0-9A-Z_-]*$/i;function Q(e){let t=N.A.extname(e),r=N.A.basename(e,t).replace(/(-|_)/g," ").toLowerCase().split(" ").map(e=>e.charAt(0).toUpperCase()+e.slice(1)),n=r.length>0;for(let e of r)if(!e.match(J)){n=!1;break}let i=r.join(" ");return n||(i=`"${i.replace(/[\\"]/g,"\\$&")}"`),i}let ee=/^[0-9A-Za-z%:/?#\[\]@!\$&'()\*\+,;=\-._~]*$/;function et(e){return ee.test(e)?e:encodeURI(e)}let er={extension:{type:a.Ag.LoadParser,priority:U.T.Low},name:"loadWebFont",test:e=>F(e,K)||D(e,Z),async load(e,t){let r=f.e.get().getFontFaceSet();if(r){let n=[],i=t.data?.family??Q(e),o=t.data?.weights?.filter(e=>Y.includes(e))??["normal"],a=t.data??{};for(let t=0;t<o.length;t++){let s=o[t],l=new FontFace(i,`url(${et(e)})`,{...a,weight:s});await l.load(),r.add(l),n.push(l)}return S.l.set(`${i}-and-url`,{url:e,fontFaces:n}),1===n.length?n[0]:n}return(0,w.R)("[loadWebFont] FontFace API is not supported. Skipping loading font"),null},unload(e){(Array.isArray(e)?e:[e]).forEach(e=>{S.l.remove(e.family),f.e.get().getFontFaceSet().delete(e)})}};var en=r(21393),ei=r(29398),eo=r(48292);function ea(e,t=1){let r=eo.x.RETINA_PREFIX?.exec(e);return r?parseFloat(r[1]):t}function es(e,t,r){e.label=r,e._sourceOrigin=r;let n=new A.g({source:e,label:r}),i=()=>{delete t.promiseCache[r],S.l.has(r)&&S.l.remove(r)};return n.source.once("destroy",()=>{t.promiseCache[r]&&((0,w.R)("[Assets] A TextureSource managed by Assets was destroyed instead of unloaded! Use Assets.unload() instead of destroying the TextureSource."),i())}),n.once("destroy",()=>{e.destroyed||((0,w.R)("[Assets] A Texture managed by Assets was destroyed instead of unloaded! Use Assets.unload() instead of destroying the Texture."),i())}),n}let el=".svg",eu="image/svg+xml",ec={extension:{type:a.Ag.LoadParser,priority:U.T.Low},name:"loadSVG",config:{crossOrigin:"anonymous",parseAsGraphicsContext:!1},test:e=>F(e,eu)||D(e,el),async load(e,t,r){return t.data.parseAsGraphicsContext??this.config.parseAsGraphicsContext?eh(e):ef(e,t,r,this.config.crossOrigin)},unload(e){e.destroy(!0)}};async function ef(e,t,r,n){let i=await f.e.get().fetch(e),o=await i.blob(),a=URL.createObjectURL(o),s=new Image;s.src=a,s.crossOrigin=n,await s.decode(),URL.revokeObjectURL(a);let l=document.createElement("canvas"),u=l.getContext("2d"),c=t.data?.resolution||ea(e),h=t.data?.width??s.width,d=t.data?.height??s.height;l.width=h*c,l.height=d*c,u.drawImage(s,0,0,h*c,d*c);let{parseAsGraphicsContext:p,...m}=t.data;return es(new en.b({resource:l,alphaMode:"premultiply-alpha-on-upload",resolution:c,...m}),r,e)}async function eh(e){let t=await f.e.get().fetch(e),r=await t.text(),n=new ei.T;return n.svg(r),n}let ed='(function () {\n \'use strict\';\n\n const WHITE_PNG = "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAQAAAC1HAwCAAAAC0lEQVR42mP8/x8AAwMCAO+ip1sAAAAASUVORK5CYII=";\n async function checkImageBitmap() {\n try {\n if (typeof createImageBitmap !== "function")\n return false;\n const response = await fetch(WHITE_PNG);\n const imageBlob = await response.blob();\n const imageBitmap = await createImageBitmap(imageBlob);\n return imageBitmap.width === 1 && imageBitmap.height === 1;\n } catch (e) {\n return false;\n }\n }\n void checkImageBitmap().then((result) => {\n self.postMessage(result);\n });\n\n})();\n',ep=null;class em{constructor(){ep||(ep=URL.createObjectURL(new Blob([ed],{type:"application/javascript"}))),this.worker=new Worker(ep)}}em.revokeObjectURL=function(){ep&&(URL.revokeObjectURL(ep),ep=null)};let eg="(function () {\n 'use strict';\n\n async function loadImageBitmap(url) {\n const response = await fetch(url);\n if (!response.ok) {\n throw new Error(`[WorkerManager.loadImageBitmap] Failed to fetch ${url}: ${response.status} ${response.statusText}`);\n }\n const imageBlob = await response.blob();\n const imageBitmap = await createImageBitmap(imageBlob);\n return imageBitmap;\n }\n self.onmessage = async (event) => {\n try {\n const imageBitmap = await loadImageBitmap(event.data.data[0]);\n self.postMessage({\n data: imageBitmap,\n uuid: event.data.uuid,\n id: event.data.id\n }, [imageBitmap]);\n } catch (e) {\n self.postMessage({\n error: e,\n uuid: event.data.uuid,\n id: event.data.id\n });\n }\n };\n\n})();\n",ev=null;class ey{constructor(){ev||(ev=URL.createObjectURL(new Blob([eg],{type:"application/javascript"}))),this.worker=new Worker(ev)}}ey.revokeObjectURL=function(){ev&&(URL.revokeObjectURL(ev),ev=null)};let eb=0;class e_{constructor(){this._initialized=!1,this._createdWorkers=0,this._workerPool=[],this._queue=[],this._resolveHash={}}isImageBitmapSupported(){return void 0!==this._isImageBitmapSupported||(this._isImageBitmapSupported=new Promise(e=>{let{worker:t}=new em;t.addEventListener("message",r=>{t.terminate(),em.revokeObjectURL(),e(r.data)})})),this._isImageBitmapSupported}loadImageBitmap(e){return this._run("loadImageBitmap",[e])}async _initWorkers(){this._initialized||(this._initialized=!0)}_getWorker(){void 0===o&&(o=navigator.hardwareConcurrency||4);let e=this._workerPool.pop();return!e&&this._createdWorkers<o&&(this._createdWorkers++,(e=new ey().worker).addEventListener("message",e=>{this._complete(e.data),this._returnWorker(e.target),this._next()})),e}_returnWorker(e){this._workerPool.push(e)}_complete(e){void 0!==e.error?this._resolveHash[e.uuid].reject(e.error):this._resolveHash[e.uuid].resolve(e.data),this._resolveHash[e.uuid]=null}async _run(e,t){await this._initWorkers();let r=new Promise((r,n)=>{this._queue.push({id:e,arguments:t,resolve:r,reject:n})});return this._next(),r}_next(){if(!this._queue.length)return;let e=this._getWorker();if(!e)return;let t=this._queue.pop(),r=t.id;this._resolveHash[eb]={resolve:t.resolve,reject:t.reject},e.postMessage({data:t.arguments,uuid:eb++,id:r})}}let ew=new e_,ex=[".jpeg",".jpg",".png",".webp",".avif"],eS=["image/jpeg","image/png","image/webp","image/avif"];async function eA(e){let t=await f.e.get().fetch(e);if(!t.ok)throw Error(`[loadImageBitmap] Failed to fetch ${e}: ${t.status} ${t.statusText}`);let r=await t.blob();return await createImageBitmap(r)}let eE={name:"loadTextures",extension:{type:a.Ag.LoadParser,priority:U.T.High},config:{preferWorkers:!0,preferCreateImageBitmap:!0,crossOrigin:"anonymous"},test:e=>F(e,eS)||D(e,ex),async load(e,t,r){let n=null;return n=globalThis.createImageBitmap&&this.config.preferCreateImageBitmap?this.config.preferWorkers&&await ew.isImageBitmapSupported()?await ew.loadImageBitmap(e):await eA(e):await new Promise(t=>{(n=new Image).crossOrigin=this.config.crossOrigin,n.src=e,n.complete?t(n):n.onload=()=>{t(n)}}),es(new en.b({resource:n,alphaMode:"premultiply-alpha-on-upload",resolution:t.data?.resolution||ea(e),...t.data}),r,e)},unload(e){e.destroy(!0)}};var eC=r(64255),eO=r(12278);let ek=[".mp4",".m4v",".webm",".ogg",".ogv",".h264",".avi",".mov"],eI=ek.map(e=>`video/${e.substring(1)}`);function eT(e,t,r){void 0!==r||t.startsWith("data:")?!1!==r&&(e.crossOrigin="string"==typeof r?r:"anonymous"):e.crossOrigin=eM(t)}function eP(e){return new Promise((t,r)=>{function n(){o(),t()}function i(e){o(),r(e)}function o(){e.removeEventListener("canplaythrough",n),e.removeEventListener("error",i)}e.addEventListener("canplaythrough",n),e.addEventListener("error",i),e.load()})}function eM(e,t=globalThis.location){if(e.startsWith("data:"))return"";t=t||globalThis.location;let r=new URL(e,document.baseURI);return r.hostname!==t.hostname||r.port!==t.port||r.protocol!==t.protocol?"anonymous":""}let eR={name:"loadVideo",extension:{type:a.Ag.LoadParser},config:null,test(e){let t=F(e,eI),r=D(e,ek);return t||r},async load(e,t,r){let n,i={...eC.$.defaultOptions,resolution:t.data?.resolution||ea(e),alphaMode:t.data?.alphaMode||await (0,eO.C)(),...t.data},o=document.createElement("video"),a={preload:!1!==i.autoLoad?"auto":void 0,"webkit-playsinline":!1!==i.playsinline?"":void 0,playsinline:!1!==i.playsinline?"":void 0,muted:!0===i.muted?"":void 0,loop:!0===i.loop?"":void 0,autoplay:!1!==i.autoPlay?"":void 0};Object.keys(a).forEach(e=>{let t=a[e];void 0!==t&&o.setAttribute(e,t)}),!0===i.muted&&(o.muted=!0),eT(o,e,i.crossorigin);let s=document.createElement("source");if(e.startsWith("data:"))n=e.slice(5,e.indexOf(";"));else if(!e.startsWith("blob:")){let t=e.split("?")[0].slice(e.lastIndexOf(".")+1).toLowerCase();n=eC.$.MIME_TYPES[t]||`video/${t}`}return s.src=e,n&&(s.type=n),new Promise(n=>{let a=async()=>{let s=new eC.$({...i,resource:o});o.removeEventListener("canplay",a),t.data.preload&&await eP(o),n(es(s,r,e))};o.addEventListener("canplay",a),o.appendChild(s)})},unload(e){e.destroy(!0)}},e$={extension:a.Ag.ResolveParser,test:eE.test,parse:e=>({resolution:parseFloat(eo.x.RETINA_PREFIX.exec(e)?.[1]??"1"),format:e.split(".").pop(),src:e})},ej={extension:a.Ag.ResolveParser,test:e=>eo.x.RETINA_PREFIX.test(e)&&e.endsWith(".json"),parse:e$.parse};class eN{constructor(){this._detections=[],this._initialized=!1,this.resolver=new eo.x,this.loader=new z,this.cache=S.l,this._backgroundLoader=new x(this.loader),this._backgroundLoader.active=!0,this.reset()}async init(e={}){if(this._initialized)return void(0,w.R)("[Assets]AssetManager already initialized, did you load before calling this Assets.init()?");if(this._initialized=!0,e.defaultSearchParams&&this.resolver.setDefaultSearchParams(e.defaultSearchParams),e.basePath&&(this.resolver.basePath=e.basePath),e.bundleIdentifier&&this.resolver.setBundleIdentifier(e.bundleIdentifier),e.manifest){let t=e.manifest;"string"==typeof t&&(t=await this.load(t)),this.resolver.addManifest(t)}let t=e.texturePreference?.resolution??1,r="number"==typeof t?[t]:t,n=await this._detectFormats({preferredFormats:e.texturePreference?.format,skipDetections:e.skipDetections,detections:this._detections});this.resolver.prefer({params:{format:n,resolution:r}}),e.preferences&&this.setPreferences(e.preferences)}add(e){this.resolver.add(e)}async load(e,t){this._initialized||await this.init();let r=(0,L.a)(e),n=(0,B.z)(e).map(e=>{if("string"!=typeof e){let t=this.resolver.getAlias(e);return t.some(e=>!this.resolver.hasKey(e))&&this.add(e),Array.isArray(t)?t[0]:t}return this.resolver.hasKey(e)||this.add({alias:e,src:e}),e}),i=this.resolver.resolve(n),o=await this._mapLoadToResolve(i,t);return r?o[n[0]]:o}addBundle(e,t){this.resolver.addBundle(e,t)}async loadBundle(e,t){this._initialized||await this.init();let r=!1;"string"==typeof e&&(r=!0,e=[e]);let n=this.resolver.resolveBundle(e),i={},o=Object.keys(n),a=0,s=0,l=()=>{t?.(++a/s)},u=o.map(e=>{let t=n[e];return s+=Object.keys(t).length,this._mapLoadToResolve(t,l).then(t=>{i[e]=t})});return await Promise.all(u),r?i[e[0]]:i}async backgroundLoad(e){this._initialized||await this.init(),"string"==typeof e&&(e=[e]);let t=this.resolver.resolve(e);this._backgroundLoader.add(Object.values(t))}async backgroundLoadBundle(e){this._initialized||await this.init(),"string"==typeof e&&(e=[e]),Object.values(this.resolver.resolveBundle(e)).forEach(e=>{this._backgroundLoader.add(Object.values(e))})}reset(){this.resolver.reset(),this.loader.reset(),this.cache.reset(),this._initialized=!1}get(e){if("string"==typeof e)return S.l.get(e);let t={};for(let r=0;r<e.length;r++)t[r]=S.l.get(e[r]);return t}async _mapLoadToResolve(e,t){let r=[...new Set(Object.values(e))];this._backgroundLoader.active=!1;let n=await this.loader.load(r,t);this._backgroundLoader.active=!0;let i={};return r.forEach(e=>{let t=n[e.src],r=[e.src];e.alias&&r.push(...e.alias),r.forEach(e=>{i[e]=t}),S.l.set(r,t)}),i}async unload(e){this._initialized||await this.init();let t=(0,B.z)(e).map(e=>"string"!=typeof e?e.src:e),r=this.resolver.resolve(t);await this._unloadFromResolved(r)}async unloadBundle(e){this._initialized||await this.init(),e=(0,B.z)(e);let t=this.resolver.resolveBundle(e),r=Object.keys(t).map(e=>this._unloadFromResolved(t[e]));await Promise.all(r)}async _unloadFromResolved(e){let t=Object.values(e);t.forEach(e=>{S.l.remove(e.src)}),await this.loader.unload(t)}async _detectFormats(e){let t=[];for(let r of(e.preferredFormats&&(t=Array.isArray(e.preferredFormats)?e.preferredFormats:[e.preferredFormats]),e.detections))e.skipDetections||await r.test()?t=await r.add(t):e.skipDetections||(t=await r.remove(t));return t=t.filter((e,r)=>t.indexOf(e)===r)}get detections(){return this._detections}setPreferences(e){this.loader.parsers.forEach(t=>{t.config&&Object.keys(t.config).filter(t=>t in e).forEach(r=>{t.config[r]=e[r]})})}}let eB=new eN;a.XO.handleByList(a.Ag.LoadParser,eB.loader.parsers).handleByList(a.Ag.ResolveParser,eB.resolver.parsers).handleByList(a.Ag.CacheParser,eB.cache.parsers).handleByList(a.Ag.DetectionParser,eB.detections),a.XO.add(E,I,O,j,M,R,$,W,X,er,ec,eE,eR,e$,ej);let eL={loader:a.Ag.LoadParser,resolver:a.Ag.ResolveParser,cache:a.Ag.CacheParser,detection:a.Ag.DetectionParser};a.XO.handle(a.Ag.Asset,e=>{let t=e.ref;Object.entries(eL).filter(([e])=>!!t[e]).forEach(([e,r])=>a.XO.add(Object.assign(t[e],{extension:t[e].extension??r})))},e=>{let t=e.ref;Object.keys(eL).filter(e=>!!t[e]).forEach(e=>a.XO.remove(t[e]))});var ez=r(82444),eF=r(36604),eD=r(67331),eU=r(88675),eH=r(38974),eG="in vec2 aPosition;\nout vec2 vTextureCoord;\n\nuniform vec4 uInputSize;\nuniform vec4 uOutputFrame;\nuniform vec4 uOutputTexture;\n\nvec4 filterVertexPosition( void )\n{\n vec2 position = aPosition * uOutputFrame.zw + uOutputFrame.xy;\n \n position.x = position.x * (2.0 / uOutputTexture.x) - 1.0;\n position.y = position.y * (2.0*uOutputTexture.z / uOutputTexture.y) - uOutputTexture.z;\n\n return vec4(position, 0.0, 1.0);\n}\n\nvec2 filterTextureCoord( void )\n{\n return aPosition * (uOutputFrame.zw * uInputSize.zw);\n}\n\nvoid main(void)\n{\n gl_Position = filterVertexPosition();\n vTextureCoord = filterTextureCoord();\n}\n",eW="\nin vec2 vTextureCoord;\n\nout vec4 finalColor;\n\nuniform float uAlpha;\nuniform sampler2D uTexture;\n\nvoid main()\n{\n finalColor = texture(uTexture, vTextureCoord) * uAlpha;\n}\n",eV="struct GlobalFilterUniforms {\n uInputSize:vec4<f32>,\n uInputPixel:vec4<f32>,\n uInputClamp:vec4<f32>,\n uOutputFrame:vec4<f32>,\n uGlobalFrame:vec4<f32>,\n uOutputTexture:vec4<f32>,\n};\n\nstruct AlphaUniforms {\n uAlpha:f32,\n};\n\n@group(0) @binding(0) var<uniform> gfu: GlobalFilterUniforms;\n@group(0) @binding(1) var uTexture: texture_2d<f32>;\n@group(0) @binding(2) var uSampler : sampler;\n\n@group(1) @binding(0) var<uniform> alphaUniforms : AlphaUniforms;\n\nstruct VSOutput {\n @builtin(position) position: vec4<f32>,\n @location(0) uv : vec2<f32>\n };\n\nfn filterVertexPosition(aPosition:vec2<f32>) -> vec4<f32>\n{\n var position = aPosition * gfu.uOutputFrame.zw + gfu.uOutputFrame.xy;\n\n position.x = position.x * (2.0 / gfu.uOutputTexture.x) - 1.0;\n position.y = position.y * (2.0*gfu.uOutputTexture.z / gfu.uOutputTexture.y) - gfu.uOutputTexture.z;\n\n return vec4(position, 0.0, 1.0);\n}\n\nfn filterTextureCoord( aPosition:vec2<f32> ) -> vec2<f32>\n{\n return aPosition * (gfu.uOutputFrame.zw * gfu.uInputSize.zw);\n}\n\nfn globalTextureCoord( aPosition:vec2<f32> ) -> vec2<f32>\n{\n return (aPosition.xy / gfu.uGlobalFrame.zw) + (gfu.uGlobalFrame.xy / gfu.uGlobalFrame.zw); \n}\n\nfn getSize() -> vec2<f32>\n{\n return gfu.uGlobalFrame.zw;\n}\n \n@vertex\nfn mainVertex(\n @location(0) aPosition : vec2<f32>, \n) -> VSOutput {\n return VSOutput(\n filterVertexPosition(aPosition),\n filterTextureCoord(aPosition)\n );\n}\n\n@fragment\nfn mainFragment(\n @location(0) uv: vec2<f32>,\n @builtin(position) position: vec4<f32>\n) -> @location(0) vec4<f32> {\n \n var sample = textureSample(uTexture, uSampler, uv);\n \n return sample * alphaUniforms.uAlpha;\n}";let eq=class e extends eH.d{constructor(t){t={...e.defaultOptions,...t};const r=eD.B.from({vertex:{source:eV,entryPoint:"mainVertex"},fragment:{source:eV,entryPoint:"mainFragment"}}),n=eF.M.from({vertex:eG,fragment:eW,name:"alpha-filter"}),{alpha:i,...o}=t;super({...o,gpuProgram:r,glProgram:n,resources:{alphaUniforms:new eU.k({uAlpha:{value:i,type:"f32"}})}})}get alpha(){return this.resources.alphaUniforms.uniforms.uAlpha}set alpha(e){this.resources.alphaUniforms.uniforms.uAlpha=e}};eq.defaultOptions={alpha:1};let eX=eq;var eY=r(64001),eZ=r(74711);let eK={5:[.153388,.221461,.250301],7:[.071303,.131514,.189879,.214607],9:[.028532,.067234,.124009,.179044,.20236],11:[.0093,.028002,.065984,.121703,.175713,.198596],13:[.002406,.009255,.027867,.065666,.121117,.174868,.197641],15:[489e-6,.002403,.009246,.02784,.065602,.120999,.174697,.197448]},eJ="in vec2 vBlurTexCoords[%size%];\nuniform sampler2D uTexture;\nout vec4 finalColor;\nvoid main(void)\n{\n finalColor = vec4(0.0);\n %blur%\n}";function eQ(e){let t,r=eK[e],n=r.length,i=eJ,o="",a="finalColor += texture(uTexture, vBlurTexCoords[%index%]) * %value%;";for(let i=0;i<e;i++){let s=a.replace("%index%",i.toString());t=i,i>=n&&(t=e-i-1),o+=s=s.replace("%value%",r[t].toString()),o+="\n"}return(i=i.replace("%blur%",o)).replace("%size%",e.toString())}let e0=`
|
|
346
346
|
in vec2 aPosition;
|
|
347
347
|
|
|
@@ -664,4 +664,4 @@ ${e}`:e}},h=Object.create(null),d=class e{constructor(t){const r=-1!==(t={...e.d
|
|
|
664
664
|
Deprecated since v${e}`):(o=o.split("\n").splice(r).join("\n"),console.groupCollapsed?(console.groupCollapsed("%cPixiJS Deprecation Warning: %c%s","color:#614108;background:#fffbe6","font-weight:normal;color:#614108;background:#fffbe6",`${t}
|
|
665
665
|
Deprecated since v${e}`),console.warn(o),console.groupEnd()):(console.warn("PixiJS Deprecation Warning: ",`${t}
|
|
666
666
|
Deprecated since v${e}`),console.warn(o))),n[t]=!0}},42912:function(e,t,r){"use strict";r.d(t,{R:()=>o});let n=0,i=500;function o(...e){n!==i&&(++n===i?console.warn("PixiJS Warning: too many warnings, no more warnings will be reported to the console by PixiJS."):console.warn("PixiJS Warning: ",...e))}},94819:function(e,t,r){"use strict";r.d(t,{A:()=>u});var n=r(50160);function i(e){if("string"!=typeof e)throw TypeError(`Path must be a string. Received ${JSON.stringify(e)}`)}function o(e){return e.split("?")[0].split("#")[0]}function a(e){return e.replace(/[.*+?^${}()|[\]\\]/g,"\\$&")}function s(e,t,r){return e.replace(RegExp(a(t),"g"),r)}function l(e,t){let r="",n=0,i=-1,o=0,a=-1;for(let s=0;s<=e.length;++s){if(s<e.length)a=e.charCodeAt(s);else if(47===a)break;else a=47;if(47===a){if(i===s-1||1===o);else if(i!==s-1&&2===o){if(r.length<2||2!==n||46!==r.charCodeAt(r.length-1)||46!==r.charCodeAt(r.length-2)){if(r.length>2){let e=r.lastIndexOf("/");if(e!==r.length-1){-1===e?(r="",n=0):n=(r=r.slice(0,e)).length-1-r.lastIndexOf("/"),i=s,o=0;continue}}else if(2===r.length||1===r.length){r="",n=0,i=s,o=0;continue}}t&&(r.length>0?r+="/..":r="..",n=2)}else r.length>0?r+=`/${e.slice(i+1,s)}`:r=e.slice(i+1,s),n=s-i-1;i=s,o=0}else 46===a&&-1!==o?++o:o=-1}return r}let u={toPosix:e=>s(e,"\\","/"),isUrl(e){return/^https?:/.test(this.toPosix(e))},isDataUrl:e=>/^data:([a-z]+\/[a-z0-9-+.]+(;[a-z0-9-.!#$%*+.{}|~`]+=[a-z0-9-.!#$%*+.{}()_|~`]+)*)?(;base64)?,([a-z0-9!$&',()*+;=\-._~:@\/?%\s<>]*?)$/i.test(e),isBlobUrl:e=>e.startsWith("blob:"),hasProtocol(e){return/^[^/:]+:/.test(this.toPosix(e))},getProtocol(e){i(e),e=this.toPosix(e);let t=/^file:\/\/\//.exec(e);if(t)return t[0];let r=/^[^/:]+:\/{0,2}/.exec(e);return r?r[0]:""},toAbsolute(e,t,r){if(i(e),this.isDataUrl(e)||this.isBlobUrl(e))return e;let a=o(this.toPosix(t??n.e.get().getBaseUrl())),s=o(this.toPosix(r??this.rootname(a)));return(e=this.toPosix(e)).startsWith("/")?u.join(s,e.slice(1)):this.isAbsolute(e)?e:this.join(a,e)},normalize(e){if(i(e),0===e.length)return".";if(this.isDataUrl(e)||this.isBlobUrl(e))return e;e=this.toPosix(e);let t="",r=e.startsWith("/");this.hasProtocol(e)&&(t=this.rootname(e),e=e.slice(t.length));let n=e.endsWith("/");return((e=l(e,!1)).length>0&&n&&(e+="/"),r)?`/${e}`:t+e},isAbsolute(e){return i(e),e=this.toPosix(e),!!this.hasProtocol(e)||e.startsWith("/")},join(...e){let t;if(0===e.length)return".";for(let r=0;r<e.length;++r){let n=e[r];if(i(n),n.length>0)if(void 0===t)t=n;else{let i=e[r-1]??"";this.joinExtensions.includes(this.extname(i).toLowerCase())?t+=`/../${n}`:t+=`/${n}`}}return void 0===t?".":this.normalize(t)},dirname(e){if(i(e),0===e.length)return".";let t=(e=this.toPosix(e)).charCodeAt(0),r=47===t,n=-1,o=!0,a=this.getProtocol(e),s=e;e=e.slice(a.length);for(let r=e.length-1;r>=1;--r)if(47===(t=e.charCodeAt(r))){if(!o){n=r;break}}else o=!1;return -1===n?r?"/":this.isUrl(s)?a+e:a:r&&1===n?"//":a+e.slice(0,n)},rootname(e){i(e);let t="";if(t=(e=this.toPosix(e)).startsWith("/")?"/":this.getProtocol(e),this.isUrl(e)){let r=e.indexOf("/",t.length);(t=-1!==r?e.slice(0,r):e).endsWith("/")||(t+="/")}return t},basename(e,t){let r;i(e),t&&i(t),e=o(this.toPosix(e));let n=0,a=-1,s=!0;if(void 0!==t&&t.length>0&&t.length<=e.length){if(t.length===e.length&&t===e)return"";let i=t.length-1,o=-1;for(r=e.length-1;r>=0;--r){let l=e.charCodeAt(r);if(47===l){if(!s){n=r+1;break}}else -1===o&&(s=!1,o=r+1),i>=0&&(l===t.charCodeAt(i)?-1==--i&&(a=r):(i=-1,a=o))}return n===a?a=o:-1===a&&(a=e.length),e.slice(n,a)}for(r=e.length-1;r>=0;--r)if(47===e.charCodeAt(r)){if(!s){n=r+1;break}}else -1===a&&(s=!1,a=r+1);return -1===a?"":e.slice(n,a)},extname(e){i(e),e=o(this.toPosix(e));let t=-1,r=0,n=-1,a=!0,s=0;for(let i=e.length-1;i>=0;--i){let o=e.charCodeAt(i);if(47===o){if(!a){r=i+1;break}continue}-1===n&&(a=!1,n=i+1),46===o?-1===t?t=i:1!==s&&(s=1):-1!==t&&(s=-1)}return -1===t||-1===n||0===s||1===s&&t===n-1&&t===r+1?"":e.slice(t,n)},parse(e){let t;i(e);let r={root:"",dir:"",base:"",ext:"",name:""};if(0===e.length)return r;let n=(e=o(this.toPosix(e))).charCodeAt(0),a=this.isAbsolute(e),s="";r.root=this.rootname(e),t=a||this.hasProtocol(e)?1:0;let l=-1,u=0,c=-1,f=!0,h=e.length-1,d=0;for(;h>=t;--h){if(47===(n=e.charCodeAt(h))){if(!f){u=h+1;break}continue}-1===c&&(f=!1,c=h+1),46===n?-1===l?l=h:1!==d&&(d=1):-1!==l&&(d=-1)}return -1===l||-1===c||0===d||1===d&&l===c-1&&l===u+1?-1!==c&&(0===u&&a?r.base=r.name=e.slice(1,c):r.base=r.name=e.slice(u,c)):(0===u&&a?(r.name=e.slice(1,l),r.base=e.slice(1,c)):(r.name=e.slice(u,l),r.base=e.slice(u,c)),r.ext=e.slice(l,c)),r.dir=this.dirname(e),s&&(r.dir=s+r.dir),r},sep:"/",delimiter:":",joinExtensions:[".html"]}},53061:function(e,t,r){"use strict";r.d(t,{b:()=>n});class n{constructor(e,t){this._pool=[],this._count=0,this._index=0,this._classType=e,t&&this.prepopulate(t)}prepopulate(e){for(let t=0;t<e;t++)this._pool[this._index++]=new this._classType;this._count+=e}get(e){let t;return t=this._index>0?this._pool[--this._index]:new this._classType,t.init?.(e),t}return(e){e.reset?.(),this._pool[this._index++]=e}get totalSize(){return this._count}get totalFree(){return this._index}get totalUsed(){return this._count-this._index}}},10710:function(e,t,r){"use strict";r.d(t,{Z:()=>o});var n=r(53061);class i{constructor(){this._poolsByClass=new Map}prepopulate(e,t){this.getPool(e).prepopulate(t)}get(e,t){return this.getPool(e).get(t)}return(e){this.getPool(e.constructor).return(e)}getPool(e){return this._poolsByClass.has(e)||this._poolsByClass.set(e,new n.b(e)),this._poolsByClass.get(e)}stats(){let e={};return this._poolsByClass.forEach(t=>{let r=e[t._classType.name]?t._classType.name+t._classType.ID:t._classType.name;e[r]={free:t.totalFree,used:t.totalUsed,size:t.totalSize}}),e}}let o=new i},61209:function(e,t,r){"use strict";let n;r.d(t,{A:()=>u});let i="undefined"!=typeof crypto&&crypto.randomUUID&&crypto.randomUUID.bind(crypto),o=new Uint8Array(16);function a(){if(!n){if("undefined"==typeof crypto||!crypto.getRandomValues)throw Error("crypto.getRandomValues() not supported. See https://github.com/uuidjs/uuid#getrandomvalues-not-supported");n=crypto.getRandomValues.bind(crypto)}return n(o)}let s=[];for(let e=0;e<256;++e)s.push((e+256).toString(16).slice(1));function l(e,t=0){return(s[e[t+0]]+s[e[t+1]]+s[e[t+2]]+s[e[t+3]]+"-"+s[e[t+4]]+s[e[t+5]]+"-"+s[e[t+6]]+s[e[t+7]]+"-"+s[e[t+8]]+s[e[t+9]]+"-"+s[e[t+10]]+s[e[t+11]]+s[e[t+12]]+s[e[t+13]]+s[e[t+14]]+s[e[t+15]]).toLowerCase()}let u=function(e,t,r){if(i&&!t&&!e)return i();let n=(e=e||{}).random??e.rng?.()??a();if(n.length<16)throw Error("Random bytes length must be >= 16");if(n[6]=15&n[6]|64,n[8]=63&n[8]|128,t){if((r=r||0)<0||r+16>t.length)throw RangeError(`UUID byte range ${r}:${r+15} is out of buffer bounds`);for(let e=0;e<16;++e)t[r+e]=n[e];return t}return l(n)}},23932:function(e,t,r){"use strict";let n;r.d(t,{Ii:()=>eM,kY:()=>tA,z:()=>tE}),function(e){e.assertEqual=e=>e,e.assertIs=function(e){},e.assertNever=function(e){throw Error()},e.arrayToEnum=e=>{let t={};for(let r of e)t[r]=r;return t},e.getValidEnumValues=t=>{let r=e.objectKeys(t).filter(e=>"number"!=typeof t[t[e]]),n={};for(let e of r)n[e]=t[e];return e.objectValues(n)},e.objectValues=t=>e.objectKeys(t).map(function(e){return t[e]}),e.objectKeys="function"==typeof Object.keys?e=>Object.keys(e):e=>{let t=[];for(let r in e)Object.prototype.hasOwnProperty.call(e,r)&&t.push(r);return t},e.find=(e,t)=>{for(let r of e)if(t(r))return r},e.isInteger="function"==typeof Number.isInteger?e=>Number.isInteger(e):e=>"number"==typeof e&&isFinite(e)&&Math.floor(e)===e,e.joinValues=function(e,t=" | "){return e.map(e=>"string"==typeof e?`'${e}'`:e).join(t)},e.jsonStringifyReplacer=(e,t)=>"bigint"==typeof t?t.toString():t}(tb||(tb={})),function(e){e.mergeShapes=(e,t)=>({...e,...t})}(t_||(t_={}));let i=tb.arrayToEnum(["string","nan","number","integer","float","boolean","date","bigint","symbol","function","undefined","null","array","object","unknown","promise","void","never","map","set"]),o=e=>{switch(typeof e){case"undefined":return i.undefined;case"string":return i.string;case"number":return isNaN(e)?i.nan:i.number;case"boolean":return i.boolean;case"function":return i.function;case"bigint":return i.bigint;case"symbol":return i.symbol;case"object":if(Array.isArray(e))return i.array;if(null===e)return i.null;if(e.then&&"function"==typeof e.then&&e.catch&&"function"==typeof e.catch)return i.promise;if("undefined"!=typeof Map&&e instanceof Map)return i.map;if("undefined"!=typeof Set&&e instanceof Set)return i.set;if("undefined"!=typeof Date&&e instanceof Date)return i.date;return i.object;default:return i.unknown}},a=tb.arrayToEnum(["invalid_type","invalid_literal","custom","invalid_union","invalid_union_discriminator","invalid_enum_value","unrecognized_keys","invalid_arguments","invalid_return_type","invalid_date","invalid_string","too_small","too_big","invalid_intersection_types","not_multiple_of","not_finite"]),s=e=>JSON.stringify(e,null,2).replace(/"([^"]+)":/g,"$1:");class l extends Error{get errors(){return this.issues}constructor(e){super(),this.issues=[],this.addIssue=e=>{this.issues=[...this.issues,e]},this.addIssues=(e=[])=>{this.issues=[...this.issues,...e]};const t=new.target.prototype;Object.setPrototypeOf?Object.setPrototypeOf(this,t):this.__proto__=t,this.name="ZodError",this.issues=e}format(e){let t=e||function(e){return e.message},r={_errors:[]},n=e=>{for(let i of e.issues)if("invalid_union"===i.code)i.unionErrors.map(n);else if("invalid_return_type"===i.code)n(i.returnTypeError);else if("invalid_arguments"===i.code)n(i.argumentsError);else if(0===i.path.length)r._errors.push(t(i));else{let e=r,n=0;for(;n<i.path.length;){let r=i.path[n];n===i.path.length-1?(e[r]=e[r]||{_errors:[]},e[r]._errors.push(t(i))):e[r]=e[r]||{_errors:[]},e=e[r],n++}}};return n(this),r}static assert(e){if(!(e instanceof l))throw Error(`Not a ZodError: ${e}`)}toString(){return this.message}get message(){return JSON.stringify(this.issues,tb.jsonStringifyReplacer,2)}get isEmpty(){return 0===this.issues.length}flatten(e=e=>e.message){let t={},r=[];for(let n of this.issues)n.path.length>0?(t[n.path[0]]=t[n.path[0]]||[],t[n.path[0]].push(e(n))):r.push(e(n));return{formErrors:r,fieldErrors:t}}get formErrors(){return this.flatten()}}l.create=e=>new l(e);let u=(e,t)=>{let r;switch(e.code){case a.invalid_type:r=e.received===i.undefined?"Required":`Expected ${e.expected}, received ${e.received}`;break;case a.invalid_literal:r=`Invalid literal value, expected ${JSON.stringify(e.expected,tb.jsonStringifyReplacer)}`;break;case a.unrecognized_keys:r=`Unrecognized key(s) in object: ${tb.joinValues(e.keys,", ")}`;break;case a.invalid_union:r="Invalid input";break;case a.invalid_union_discriminator:r=`Invalid discriminator value. Expected ${tb.joinValues(e.options)}`;break;case a.invalid_enum_value:r=`Invalid enum value. Expected ${tb.joinValues(e.options)}, received '${e.received}'`;break;case a.invalid_arguments:r="Invalid function arguments";break;case a.invalid_return_type:r="Invalid function return type";break;case a.invalid_date:r="Invalid date";break;case a.invalid_string:"object"==typeof e.validation?"includes"in e.validation?(r=`Invalid input: must include "${e.validation.includes}"`,"number"==typeof e.validation.position&&(r=`${r} at one or more positions greater than or equal to ${e.validation.position}`)):"startsWith"in e.validation?r=`Invalid input: must start with "${e.validation.startsWith}"`:"endsWith"in e.validation?r=`Invalid input: must end with "${e.validation.endsWith}"`:tb.assertNever(e.validation):r="regex"!==e.validation?`Invalid ${e.validation}`:"Invalid";break;case a.too_small:r="array"===e.type?`Array must contain ${e.exact?"exactly":e.inclusive?"at least":"more than"} ${e.minimum} element(s)`:"string"===e.type?`String must contain ${e.exact?"exactly":e.inclusive?"at least":"over"} ${e.minimum} character(s)`:"number"===e.type?`Number must be ${e.exact?"exactly equal to ":e.inclusive?"greater than or equal to ":"greater than "}${e.minimum}`:"date"===e.type?`Date must be ${e.exact?"exactly equal to ":e.inclusive?"greater than or equal to ":"greater than "}${new Date(Number(e.minimum))}`:"Invalid input";break;case a.too_big:r="array"===e.type?`Array must contain ${e.exact?"exactly":e.inclusive?"at most":"less than"} ${e.maximum} element(s)`:"string"===e.type?`String must contain ${e.exact?"exactly":e.inclusive?"at most":"under"} ${e.maximum} character(s)`:"number"===e.type?`Number must be ${e.exact?"exactly":e.inclusive?"less than or equal to":"less than"} ${e.maximum}`:"bigint"===e.type?`BigInt must be ${e.exact?"exactly":e.inclusive?"less than or equal to":"less than"} ${e.maximum}`:"date"===e.type?`Date must be ${e.exact?"exactly":e.inclusive?"smaller than or equal to":"smaller than"} ${new Date(Number(e.maximum))}`:"Invalid input";break;case a.custom:r="Invalid input";break;case a.invalid_intersection_types:r="Intersection results could not be merged";break;case a.not_multiple_of:r=`Number must be a multiple of ${e.multipleOf}`;break;case a.not_finite:r="Number must be finite";break;default:r=t.defaultError,tb.assertNever(e)}return{message:r}},c=u;function f(e){c=e}function h(){return c}let d=e=>{let{data:t,path:r,errorMaps:n,issueData:i}=e,o=[...r,...i.path||[]],a={...i,path:o};if(void 0!==i.message)return{...i,path:o,message:i.message};let s="";for(let e of n.filter(e=>!!e).slice().reverse())s=e(a,{data:t,defaultError:s}).message;return{...i,path:o,message:s}},p=[];function m(e,t){let r=h(),n=d({issueData:t,data:e.data,path:e.path,errorMaps:[e.common.contextualErrorMap,e.schemaErrorMap,r,r===u?void 0:u].filter(e=>!!e)});e.common.issues.push(n)}class g{constructor(){this.value="valid"}dirty(){"valid"===this.value&&(this.value="dirty")}abort(){"aborted"!==this.value&&(this.value="aborted")}static mergeArray(e,t){let r=[];for(let n of t){if("aborted"===n.status)return v;"dirty"===n.status&&e.dirty(),r.push(n.value)}return{status:e.value,value:r}}static async mergeObjectAsync(e,t){let r=[];for(let e of t){let t=await e.key,n=await e.value;r.push({key:t,value:n})}return g.mergeObjectSync(e,r)}static mergeObjectSync(e,t){let r={};for(let n of t){let{key:t,value:i}=n;if("aborted"===t.status||"aborted"===i.status)return v;"dirty"===t.status&&e.dirty(),"dirty"===i.status&&e.dirty(),"__proto__"!==t.value&&(void 0!==i.value||n.alwaysSet)&&(r[t.value]=i.value)}return{status:e.value,value:r}}}let v=Object.freeze({status:"aborted"}),y=e=>({status:"dirty",value:e}),b=e=>({status:"valid",value:e}),_=e=>"aborted"===e.status,w=e=>"dirty"===e.status,x=e=>"valid"===e.status,S=e=>"undefined"!=typeof Promise&&e instanceof Promise;function A(e,t,r,n){if("a"===r&&!n)throw TypeError("Private accessor was defined without a getter");if("function"==typeof t?e!==t||!n:!t.has(e))throw TypeError("Cannot read private member from an object whose class did not declare it");return"m"===r?n:"a"===r?n.call(e):n?n.value:t.get(e)}function E(e,t,r,n,i){if("m"===n)throw TypeError("Private method is not writable");if("a"===n&&!i)throw TypeError("Private accessor was defined without a setter");if("function"==typeof t?e!==t||!i:!t.has(e))throw TypeError("Cannot write private member to an object whose class did not declare it");return"a"===n?i.call(e,r):i?i.value=r:t.set(e,r),r}"function"==typeof SuppressedError&&SuppressedError,function(e){e.errToObj=e=>"string"==typeof e?{message:e}:e||{},e.toString=e=>"string"==typeof e?e:null==e?void 0:e.message}(tw||(tw={}));class C{constructor(e,t,r,n){this._cachedPath=[],this.parent=e,this.data=t,this._path=r,this._key=n}get path(){return this._cachedPath.length||(this._key instanceof Array?this._cachedPath.push(...this._path,...this._key):this._cachedPath.push(...this._path,this._key)),this._cachedPath}}let O=(e,t)=>{if(x(t))return{success:!0,data:t.value};if(!e.common.issues.length)throw Error("Validation failed but no issues detected.");return{success:!1,get error(){if(this._error)return this._error;let t=new l(e.common.issues);return this._error=t,this._error}}};function k(e){if(!e)return{};let{errorMap:t,invalid_type_error:r,required_error:n,description:i}=e;if(t&&(r||n))throw Error('Can\'t use "invalid_type_error" or "required_error" in conjunction with custom error map.');return t?{errorMap:t,description:i}:{errorMap:(t,i)=>{var o,a;let{message:s}=e;return"invalid_enum_value"===t.code?{message:null!=s?s:i.defaultError}:void 0===i.data?{message:null!=(o=null!=s?s:n)?o:i.defaultError}:"invalid_type"!==t.code?{message:i.defaultError}:{message:null!=(a=null!=s?s:r)?a:i.defaultError}},description:i}}class I{get description(){return this._def.description}_getType(e){return o(e.data)}_getOrReturnCtx(e,t){return t||{common:e.parent.common,data:e.data,parsedType:o(e.data),schemaErrorMap:this._def.errorMap,path:e.path,parent:e.parent}}_processInputParams(e){return{status:new g,ctx:{common:e.parent.common,data:e.data,parsedType:o(e.data),schemaErrorMap:this._def.errorMap,path:e.path,parent:e.parent}}}_parseSync(e){let t=this._parse(e);if(S(t))throw Error("Synchronous parse encountered promise.");return t}_parseAsync(e){return Promise.resolve(this._parse(e))}parse(e,t){let r=this.safeParse(e,t);if(r.success)return r.data;throw r.error}safeParse(e,t){var r;let n={common:{issues:[],async:null!=(r=null==t?void 0:t.async)&&r,contextualErrorMap:null==t?void 0:t.errorMap},path:(null==t?void 0:t.path)||[],schemaErrorMap:this._def.errorMap,parent:null,data:e,parsedType:o(e)},i=this._parseSync({data:e,path:n.path,parent:n});return O(n,i)}"~validate"(e){var t,r;let n={common:{issues:[],async:!!this["~standard"].async},path:[],schemaErrorMap:this._def.errorMap,parent:null,data:e,parsedType:o(e)};if(!this["~standard"].async)try{let t=this._parseSync({data:e,path:[],parent:n});return x(t)?{value:t.value}:{issues:n.common.issues}}catch(e){(null==(r=null==(t=null==e?void 0:e.message)?void 0:t.toLowerCase())?void 0:r.includes("encountered"))&&(this["~standard"].async=!0),n.common={issues:[],async:!0}}return this._parseAsync({data:e,path:[],parent:n}).then(e=>x(e)?{value:e.value}:{issues:n.common.issues})}async parseAsync(e,t){let r=await this.safeParseAsync(e,t);if(r.success)return r.data;throw r.error}async safeParseAsync(e,t){let r={common:{issues:[],contextualErrorMap:null==t?void 0:t.errorMap,async:!0},path:(null==t?void 0:t.path)||[],schemaErrorMap:this._def.errorMap,parent:null,data:e,parsedType:o(e)},n=this._parse({data:e,path:r.path,parent:r});return O(r,await (S(n)?n:Promise.resolve(n)))}refine(e,t){let r=e=>"string"==typeof t||void 0===t?{message:t}:"function"==typeof t?t(e):t;return this._refinement((t,n)=>{let i=e(t),o=()=>n.addIssue({code:a.custom,...r(t)});return"undefined"!=typeof Promise&&i instanceof Promise?i.then(e=>!!e||(o(),!1)):!!i||(o(),!1)})}refinement(e,t){return this._refinement((r,n)=>!!e(r)||(n.addIssue("function"==typeof t?t(r,n):t),!1))}_refinement(e){return new eP({schema:this,typeName:tA.ZodEffects,effect:{type:"refinement",refinement:e}})}superRefine(e){return this._refinement(e)}constructor(e){this.spa=this.safeParseAsync,this._def=e,this.parse=this.parse.bind(this),this.safeParse=this.safeParse.bind(this),this.parseAsync=this.parseAsync.bind(this),this.safeParseAsync=this.safeParseAsync.bind(this),this.spa=this.spa.bind(this),this.refine=this.refine.bind(this),this.refinement=this.refinement.bind(this),this.superRefine=this.superRefine.bind(this),this.optional=this.optional.bind(this),this.nullable=this.nullable.bind(this),this.nullish=this.nullish.bind(this),this.array=this.array.bind(this),this.promise=this.promise.bind(this),this.or=this.or.bind(this),this.and=this.and.bind(this),this.transform=this.transform.bind(this),this.brand=this.brand.bind(this),this.default=this.default.bind(this),this.catch=this.catch.bind(this),this.describe=this.describe.bind(this),this.pipe=this.pipe.bind(this),this.readonly=this.readonly.bind(this),this.isNullable=this.isNullable.bind(this),this.isOptional=this.isOptional.bind(this),this["~standard"]={version:1,vendor:"zod",validate:e=>this["~validate"](e)}}optional(){return eM.create(this,this._def)}nullable(){return eR.create(this,this._def)}nullish(){return this.nullable().optional()}array(){return eh.create(this)}promise(){return eT.create(this,this._def)}or(e){return em.create([this,e],this._def)}and(e){return eb.create(this,e,this._def)}transform(e){return new eP({...k(this._def),schema:this,typeName:tA.ZodEffects,effect:{type:"transform",transform:e}})}default(e){let t="function"==typeof e?e:()=>e;return new e$({...k(this._def),innerType:this,defaultValue:t,typeName:tA.ZodDefault})}brand(){return new eL({typeName:tA.ZodBranded,type:this,...k(this._def)})}catch(e){let t="function"==typeof e?e:()=>e;return new ej({...k(this._def),innerType:this,catchValue:t,typeName:tA.ZodCatch})}describe(e){return new this.constructor({...this._def,description:e})}pipe(e){return ez.create(this,e)}readonly(){return eF.create(this)}isOptional(){return this.safeParse(void 0).success}isNullable(){return this.safeParse(null).success}}let T=/^c[^\s-]{8,}$/i,P=/^[0-9a-z]+$/,M=/^[0-9A-HJKMNP-TV-Z]{26}$/i,R=/^[0-9a-fA-F]{8}\b-[0-9a-fA-F]{4}\b-[0-9a-fA-F]{4}\b-[0-9a-fA-F]{4}\b-[0-9a-fA-F]{12}$/i,$=/^[a-z0-9_-]{21}$/i,j=/^[A-Za-z0-9-_]+\.[A-Za-z0-9-_]+\.[A-Za-z0-9-_]*$/,N=/^[-+]?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)?)??$/,B=/^(?!\.)(?!.*\.\.)([A-Z0-9_'+\-\.]*)[A-Z0-9_+-]@([A-Z0-9][A-Z0-9\-]*\.)+[A-Z]{2,}$/i,L="^(\\p{Extended_Pictographic}|\\p{Emoji_Component})+$",z=/^(?:(?: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])$/,F=/^(?:(?:25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9][0-9]|[0-9])\.){3}(?:25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9][0-9]|[0-9])\/(3[0-2]|[12]?[0-9])$/,D=/^(([0-9a-fA-F]{1,4}:){7,7}[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,7}:|([0-9a-fA-F]{1,4}:){1,6}:[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,5}(:[0-9a-fA-F]{1,4}){1,2}|([0-9a-fA-F]{1,4}:){1,4}(:[0-9a-fA-F]{1,4}){1,3}|([0-9a-fA-F]{1,4}:){1,3}(:[0-9a-fA-F]{1,4}){1,4}|([0-9a-fA-F]{1,4}:){1,2}(:[0-9a-fA-F]{1,4}){1,5}|[0-9a-fA-F]{1,4}:((:[0-9a-fA-F]{1,4}){1,6})|:((:[0-9a-fA-F]{1,4}){1,7}|:)|fe80:(:[0-9a-fA-F]{0,4}){0,4}%[0-9a-zA-Z]{1,}|::(ffff(:0{1,4}){0,1}:){0,1}((25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])\.){3,3}(25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])|([0-9a-fA-F]{1,4}:){1,4}:((25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])\.){3,3}(25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9]))$/,U=/^(([0-9a-fA-F]{1,4}:){7,7}[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,7}:|([0-9a-fA-F]{1,4}:){1,6}:[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,5}(:[0-9a-fA-F]{1,4}){1,2}|([0-9a-fA-F]{1,4}:){1,4}(:[0-9a-fA-F]{1,4}){1,3}|([0-9a-fA-F]{1,4}:){1,3}(:[0-9a-fA-F]{1,4}){1,4}|([0-9a-fA-F]{1,4}:){1,2}(:[0-9a-fA-F]{1,4}){1,5}|[0-9a-fA-F]{1,4}:((:[0-9a-fA-F]{1,4}){1,6})|:((:[0-9a-fA-F]{1,4}){1,7}|:)|fe80:(:[0-9a-fA-F]{0,4}){0,4}%[0-9a-zA-Z]{1,}|::(ffff(:0{1,4}){0,1}:){0,1}((25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])\.){3,3}(25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])|([0-9a-fA-F]{1,4}:){1,4}:((25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])\.){3,3}(25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9]))\/(12[0-8]|1[01][0-9]|[1-9]?[0-9])$/,H=/^([0-9a-zA-Z+/]{4})*(([0-9a-zA-Z+/]{2}==)|([0-9a-zA-Z+/]{3}=))?$/,G=/^([0-9a-zA-Z-_]{4})*(([0-9a-zA-Z-_]{2}(==)?)|([0-9a-zA-Z-_]{3}(=)?))?$/,W="((\\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])))",V=RegExp(`^${W}$`);function q(e){let t="([01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d";return e.precision?t=`${t}\\.\\d{${e.precision}}`:null==e.precision&&(t=`${t}(\\.\\d+)?`),t}function X(e){return RegExp(`^${q(e)}$`)}function Y(e){let t=`${W}T${q(e)}`,r=[];return r.push(e.local?"Z?":"Z"),e.offset&&r.push("([+-]\\d{2}:?\\d{2})"),t=`${t}(${r.join("|")})`,RegExp(`^${t}$`)}function Z(e,t){return!!(("v4"===t||!t)&&z.test(e)||("v6"===t||!t)&&D.test(e))}function K(e,t){if(!j.test(e))return!1;try{let[r]=e.split("."),n=r.replace(/-/g,"+").replace(/_/g,"/").padEnd(r.length+(4-r.length%4)%4,"="),i=JSON.parse(atob(n));if("object"!=typeof i||null===i||!i.typ||!i.alg||t&&i.alg!==t)return!1;return!0}catch(e){return!1}}function J(e,t){return!!(("v4"===t||!t)&&F.test(e)||("v6"===t||!t)&&U.test(e))}class Q extends I{_parse(e){let t;if(this._def.coerce&&(e.data=String(e.data)),this._getType(e)!==i.string){let t=this._getOrReturnCtx(e);return m(t,{code:a.invalid_type,expected:i.string,received:t.parsedType}),v}let r=new g;for(let i of this._def.checks)if("min"===i.kind)e.data.length<i.value&&(m(t=this._getOrReturnCtx(e,t),{code:a.too_small,minimum:i.value,type:"string",inclusive:!0,exact:!1,message:i.message}),r.dirty());else if("max"===i.kind)e.data.length>i.value&&(m(t=this._getOrReturnCtx(e,t),{code:a.too_big,maximum:i.value,type:"string",inclusive:!0,exact:!1,message:i.message}),r.dirty());else if("length"===i.kind){let n=e.data.length>i.value,o=e.data.length<i.value;(n||o)&&(t=this._getOrReturnCtx(e,t),n?m(t,{code:a.too_big,maximum:i.value,type:"string",inclusive:!0,exact:!0,message:i.message}):o&&m(t,{code:a.too_small,minimum:i.value,type:"string",inclusive:!0,exact:!0,message:i.message}),r.dirty())}else if("email"===i.kind)B.test(e.data)||(m(t=this._getOrReturnCtx(e,t),{validation:"email",code:a.invalid_string,message:i.message}),r.dirty());else if("emoji"===i.kind)n||(n=RegExp(L,"u")),n.test(e.data)||(m(t=this._getOrReturnCtx(e,t),{validation:"emoji",code:a.invalid_string,message:i.message}),r.dirty());else if("uuid"===i.kind)R.test(e.data)||(m(t=this._getOrReturnCtx(e,t),{validation:"uuid",code:a.invalid_string,message:i.message}),r.dirty());else if("nanoid"===i.kind)$.test(e.data)||(m(t=this._getOrReturnCtx(e,t),{validation:"nanoid",code:a.invalid_string,message:i.message}),r.dirty());else if("cuid"===i.kind)T.test(e.data)||(m(t=this._getOrReturnCtx(e,t),{validation:"cuid",code:a.invalid_string,message:i.message}),r.dirty());else if("cuid2"===i.kind)P.test(e.data)||(m(t=this._getOrReturnCtx(e,t),{validation:"cuid2",code:a.invalid_string,message:i.message}),r.dirty());else if("ulid"===i.kind)M.test(e.data)||(m(t=this._getOrReturnCtx(e,t),{validation:"ulid",code:a.invalid_string,message:i.message}),r.dirty());else if("url"===i.kind)try{new URL(e.data)}catch(n){m(t=this._getOrReturnCtx(e,t),{validation:"url",code:a.invalid_string,message:i.message}),r.dirty()}else"regex"===i.kind?(i.regex.lastIndex=0,i.regex.test(e.data)||(m(t=this._getOrReturnCtx(e,t),{validation:"regex",code:a.invalid_string,message:i.message}),r.dirty())):"trim"===i.kind?e.data=e.data.trim():"includes"===i.kind?e.data.includes(i.value,i.position)||(m(t=this._getOrReturnCtx(e,t),{code:a.invalid_string,validation:{includes:i.value,position:i.position},message:i.message}),r.dirty()):"toLowerCase"===i.kind?e.data=e.data.toLowerCase():"toUpperCase"===i.kind?e.data=e.data.toUpperCase():"startsWith"===i.kind?e.data.startsWith(i.value)||(m(t=this._getOrReturnCtx(e,t),{code:a.invalid_string,validation:{startsWith:i.value},message:i.message}),r.dirty()):"endsWith"===i.kind?e.data.endsWith(i.value)||(m(t=this._getOrReturnCtx(e,t),{code:a.invalid_string,validation:{endsWith:i.value},message:i.message}),r.dirty()):"datetime"===i.kind?Y(i).test(e.data)||(m(t=this._getOrReturnCtx(e,t),{code:a.invalid_string,validation:"datetime",message:i.message}),r.dirty()):"date"===i.kind?V.test(e.data)||(m(t=this._getOrReturnCtx(e,t),{code:a.invalid_string,validation:"date",message:i.message}),r.dirty()):"time"===i.kind?X(i).test(e.data)||(m(t=this._getOrReturnCtx(e,t),{code:a.invalid_string,validation:"time",message:i.message}),r.dirty()):"duration"===i.kind?N.test(e.data)||(m(t=this._getOrReturnCtx(e,t),{validation:"duration",code:a.invalid_string,message:i.message}),r.dirty()):"ip"===i.kind?Z(e.data,i.version)||(m(t=this._getOrReturnCtx(e,t),{validation:"ip",code:a.invalid_string,message:i.message}),r.dirty()):"jwt"===i.kind?K(e.data,i.alg)||(m(t=this._getOrReturnCtx(e,t),{validation:"jwt",code:a.invalid_string,message:i.message}),r.dirty()):"cidr"===i.kind?J(e.data,i.version)||(m(t=this._getOrReturnCtx(e,t),{validation:"cidr",code:a.invalid_string,message:i.message}),r.dirty()):"base64"===i.kind?H.test(e.data)||(m(t=this._getOrReturnCtx(e,t),{validation:"base64",code:a.invalid_string,message:i.message}),r.dirty()):"base64url"===i.kind?G.test(e.data)||(m(t=this._getOrReturnCtx(e,t),{validation:"base64url",code:a.invalid_string,message:i.message}),r.dirty()):tb.assertNever(i);return{status:r.value,value:e.data}}_regex(e,t,r){return this.refinement(t=>e.test(t),{validation:t,code:a.invalid_string,...tw.errToObj(r)})}_addCheck(e){return new Q({...this._def,checks:[...this._def.checks,e]})}email(e){return this._addCheck({kind:"email",...tw.errToObj(e)})}url(e){return this._addCheck({kind:"url",...tw.errToObj(e)})}emoji(e){return this._addCheck({kind:"emoji",...tw.errToObj(e)})}uuid(e){return this._addCheck({kind:"uuid",...tw.errToObj(e)})}nanoid(e){return this._addCheck({kind:"nanoid",...tw.errToObj(e)})}cuid(e){return this._addCheck({kind:"cuid",...tw.errToObj(e)})}cuid2(e){return this._addCheck({kind:"cuid2",...tw.errToObj(e)})}ulid(e){return this._addCheck({kind:"ulid",...tw.errToObj(e)})}base64(e){return this._addCheck({kind:"base64",...tw.errToObj(e)})}base64url(e){return this._addCheck({kind:"base64url",...tw.errToObj(e)})}jwt(e){return this._addCheck({kind:"jwt",...tw.errToObj(e)})}ip(e){return this._addCheck({kind:"ip",...tw.errToObj(e)})}cidr(e){return this._addCheck({kind:"cidr",...tw.errToObj(e)})}datetime(e){var t,r;return"string"==typeof e?this._addCheck({kind:"datetime",precision:null,offset:!1,local:!1,message:e}):this._addCheck({kind:"datetime",precision:void 0===(null==e?void 0:e.precision)?null:null==e?void 0:e.precision,offset:null!=(t=null==e?void 0:e.offset)&&t,local:null!=(r=null==e?void 0:e.local)&&r,...tw.errToObj(null==e?void 0:e.message)})}date(e){return this._addCheck({kind:"date",message:e})}time(e){return"string"==typeof e?this._addCheck({kind:"time",precision:null,message:e}):this._addCheck({kind:"time",precision:void 0===(null==e?void 0:e.precision)?null:null==e?void 0:e.precision,...tw.errToObj(null==e?void 0:e.message)})}duration(e){return this._addCheck({kind:"duration",...tw.errToObj(e)})}regex(e,t){return this._addCheck({kind:"regex",regex:e,...tw.errToObj(t)})}includes(e,t){return this._addCheck({kind:"includes",value:e,position:null==t?void 0:t.position,...tw.errToObj(null==t?void 0:t.message)})}startsWith(e,t){return this._addCheck({kind:"startsWith",value:e,...tw.errToObj(t)})}endsWith(e,t){return this._addCheck({kind:"endsWith",value:e,...tw.errToObj(t)})}min(e,t){return this._addCheck({kind:"min",value:e,...tw.errToObj(t)})}max(e,t){return this._addCheck({kind:"max",value:e,...tw.errToObj(t)})}length(e,t){return this._addCheck({kind:"length",value:e,...tw.errToObj(t)})}nonempty(e){return this.min(1,tw.errToObj(e))}trim(){return new Q({...this._def,checks:[...this._def.checks,{kind:"trim"}]})}toLowerCase(){return new Q({...this._def,checks:[...this._def.checks,{kind:"toLowerCase"}]})}toUpperCase(){return new Q({...this._def,checks:[...this._def.checks,{kind:"toUpperCase"}]})}get isDatetime(){return!!this._def.checks.find(e=>"datetime"===e.kind)}get isDate(){return!!this._def.checks.find(e=>"date"===e.kind)}get isTime(){return!!this._def.checks.find(e=>"time"===e.kind)}get isDuration(){return!!this._def.checks.find(e=>"duration"===e.kind)}get isEmail(){return!!this._def.checks.find(e=>"email"===e.kind)}get isURL(){return!!this._def.checks.find(e=>"url"===e.kind)}get isEmoji(){return!!this._def.checks.find(e=>"emoji"===e.kind)}get isUUID(){return!!this._def.checks.find(e=>"uuid"===e.kind)}get isNANOID(){return!!this._def.checks.find(e=>"nanoid"===e.kind)}get isCUID(){return!!this._def.checks.find(e=>"cuid"===e.kind)}get isCUID2(){return!!this._def.checks.find(e=>"cuid2"===e.kind)}get isULID(){return!!this._def.checks.find(e=>"ulid"===e.kind)}get isIP(){return!!this._def.checks.find(e=>"ip"===e.kind)}get isCIDR(){return!!this._def.checks.find(e=>"cidr"===e.kind)}get isBase64(){return!!this._def.checks.find(e=>"base64"===e.kind)}get isBase64url(){return!!this._def.checks.find(e=>"base64url"===e.kind)}get minLength(){let e=null;for(let t of this._def.checks)"min"===t.kind&&(null===e||t.value>e)&&(e=t.value);return e}get maxLength(){let e=null;for(let t of this._def.checks)"max"===t.kind&&(null===e||t.value<e)&&(e=t.value);return e}}function ee(e,t){let r=(e.toString().split(".")[1]||"").length,n=(t.toString().split(".")[1]||"").length,i=r>n?r:n;return parseInt(e.toFixed(i).replace(".",""))%parseInt(t.toFixed(i).replace(".",""))/Math.pow(10,i)}Q.create=e=>{var t;return new Q({checks:[],typeName:tA.ZodString,coerce:null!=(t=null==e?void 0:e.coerce)&&t,...k(e)})};class et extends I{constructor(){super(...arguments),this.min=this.gte,this.max=this.lte,this.step=this.multipleOf}_parse(e){let t;if(this._def.coerce&&(e.data=Number(e.data)),this._getType(e)!==i.number){let t=this._getOrReturnCtx(e);return m(t,{code:a.invalid_type,expected:i.number,received:t.parsedType}),v}let r=new g;for(let n of this._def.checks)"int"===n.kind?tb.isInteger(e.data)||(m(t=this._getOrReturnCtx(e,t),{code:a.invalid_type,expected:"integer",received:"float",message:n.message}),r.dirty()):"min"===n.kind?(n.inclusive?e.data<n.value:e.data<=n.value)&&(m(t=this._getOrReturnCtx(e,t),{code:a.too_small,minimum:n.value,type:"number",inclusive:n.inclusive,exact:!1,message:n.message}),r.dirty()):"max"===n.kind?(n.inclusive?e.data>n.value:e.data>=n.value)&&(m(t=this._getOrReturnCtx(e,t),{code:a.too_big,maximum:n.value,type:"number",inclusive:n.inclusive,exact:!1,message:n.message}),r.dirty()):"multipleOf"===n.kind?0!==ee(e.data,n.value)&&(m(t=this._getOrReturnCtx(e,t),{code:a.not_multiple_of,multipleOf:n.value,message:n.message}),r.dirty()):"finite"===n.kind?Number.isFinite(e.data)||(m(t=this._getOrReturnCtx(e,t),{code:a.not_finite,message:n.message}),r.dirty()):tb.assertNever(n);return{status:r.value,value:e.data}}gte(e,t){return this.setLimit("min",e,!0,tw.toString(t))}gt(e,t){return this.setLimit("min",e,!1,tw.toString(t))}lte(e,t){return this.setLimit("max",e,!0,tw.toString(t))}lt(e,t){return this.setLimit("max",e,!1,tw.toString(t))}setLimit(e,t,r,n){return new et({...this._def,checks:[...this._def.checks,{kind:e,value:t,inclusive:r,message:tw.toString(n)}]})}_addCheck(e){return new et({...this._def,checks:[...this._def.checks,e]})}int(e){return this._addCheck({kind:"int",message:tw.toString(e)})}positive(e){return this._addCheck({kind:"min",value:0,inclusive:!1,message:tw.toString(e)})}negative(e){return this._addCheck({kind:"max",value:0,inclusive:!1,message:tw.toString(e)})}nonpositive(e){return this._addCheck({kind:"max",value:0,inclusive:!0,message:tw.toString(e)})}nonnegative(e){return this._addCheck({kind:"min",value:0,inclusive:!0,message:tw.toString(e)})}multipleOf(e,t){return this._addCheck({kind:"multipleOf",value:e,message:tw.toString(t)})}finite(e){return this._addCheck({kind:"finite",message:tw.toString(e)})}safe(e){return this._addCheck({kind:"min",inclusive:!0,value:Number.MIN_SAFE_INTEGER,message:tw.toString(e)})._addCheck({kind:"max",inclusive:!0,value:Number.MAX_SAFE_INTEGER,message:tw.toString(e)})}get minValue(){let e=null;for(let t of this._def.checks)"min"===t.kind&&(null===e||t.value>e)&&(e=t.value);return e}get maxValue(){let e=null;for(let t of this._def.checks)"max"===t.kind&&(null===e||t.value<e)&&(e=t.value);return e}get isInt(){return!!this._def.checks.find(e=>"int"===e.kind||"multipleOf"===e.kind&&tb.isInteger(e.value))}get isFinite(){let e=null,t=null;for(let r of this._def.checks)if("finite"===r.kind||"int"===r.kind||"multipleOf"===r.kind)return!0;else"min"===r.kind?(null===t||r.value>t)&&(t=r.value):"max"===r.kind&&(null===e||r.value<e)&&(e=r.value);return Number.isFinite(t)&&Number.isFinite(e)}}et.create=e=>new et({checks:[],typeName:tA.ZodNumber,coerce:(null==e?void 0:e.coerce)||!1,...k(e)});class er extends I{constructor(){super(...arguments),this.min=this.gte,this.max=this.lte}_parse(e){let t;if(this._def.coerce)try{e.data=BigInt(e.data)}catch(t){return this._getInvalidInput(e)}if(this._getType(e)!==i.bigint)return this._getInvalidInput(e);let r=new g;for(let n of this._def.checks)"min"===n.kind?(n.inclusive?e.data<n.value:e.data<=n.value)&&(m(t=this._getOrReturnCtx(e,t),{code:a.too_small,type:"bigint",minimum:n.value,inclusive:n.inclusive,message:n.message}),r.dirty()):"max"===n.kind?(n.inclusive?e.data>n.value:e.data>=n.value)&&(m(t=this._getOrReturnCtx(e,t),{code:a.too_big,type:"bigint",maximum:n.value,inclusive:n.inclusive,message:n.message}),r.dirty()):"multipleOf"===n.kind?e.data%n.value!==BigInt(0)&&(m(t=this._getOrReturnCtx(e,t),{code:a.not_multiple_of,multipleOf:n.value,message:n.message}),r.dirty()):tb.assertNever(n);return{status:r.value,value:e.data}}_getInvalidInput(e){let t=this._getOrReturnCtx(e);return m(t,{code:a.invalid_type,expected:i.bigint,received:t.parsedType}),v}gte(e,t){return this.setLimit("min",e,!0,tw.toString(t))}gt(e,t){return this.setLimit("min",e,!1,tw.toString(t))}lte(e,t){return this.setLimit("max",e,!0,tw.toString(t))}lt(e,t){return this.setLimit("max",e,!1,tw.toString(t))}setLimit(e,t,r,n){return new er({...this._def,checks:[...this._def.checks,{kind:e,value:t,inclusive:r,message:tw.toString(n)}]})}_addCheck(e){return new er({...this._def,checks:[...this._def.checks,e]})}positive(e){return this._addCheck({kind:"min",value:BigInt(0),inclusive:!1,message:tw.toString(e)})}negative(e){return this._addCheck({kind:"max",value:BigInt(0),inclusive:!1,message:tw.toString(e)})}nonpositive(e){return this._addCheck({kind:"max",value:BigInt(0),inclusive:!0,message:tw.toString(e)})}nonnegative(e){return this._addCheck({kind:"min",value:BigInt(0),inclusive:!0,message:tw.toString(e)})}multipleOf(e,t){return this._addCheck({kind:"multipleOf",value:e,message:tw.toString(t)})}get minValue(){let e=null;for(let t of this._def.checks)"min"===t.kind&&(null===e||t.value>e)&&(e=t.value);return e}get maxValue(){let e=null;for(let t of this._def.checks)"max"===t.kind&&(null===e||t.value<e)&&(e=t.value);return e}}er.create=e=>{var t;return new er({checks:[],typeName:tA.ZodBigInt,coerce:null!=(t=null==e?void 0:e.coerce)&&t,...k(e)})};class en extends I{_parse(e){if(this._def.coerce&&(e.data=!!e.data),this._getType(e)!==i.boolean){let t=this._getOrReturnCtx(e);return m(t,{code:a.invalid_type,expected:i.boolean,received:t.parsedType}),v}return b(e.data)}}en.create=e=>new en({typeName:tA.ZodBoolean,coerce:(null==e?void 0:e.coerce)||!1,...k(e)});class ei extends I{_parse(e){let t;if(this._def.coerce&&(e.data=new Date(e.data)),this._getType(e)!==i.date){let t=this._getOrReturnCtx(e);return m(t,{code:a.invalid_type,expected:i.date,received:t.parsedType}),v}if(isNaN(e.data.getTime()))return m(this._getOrReturnCtx(e),{code:a.invalid_date}),v;let r=new g;for(let n of this._def.checks)"min"===n.kind?e.data.getTime()<n.value&&(m(t=this._getOrReturnCtx(e,t),{code:a.too_small,message:n.message,inclusive:!0,exact:!1,minimum:n.value,type:"date"}),r.dirty()):"max"===n.kind?e.data.getTime()>n.value&&(m(t=this._getOrReturnCtx(e,t),{code:a.too_big,message:n.message,inclusive:!0,exact:!1,maximum:n.value,type:"date"}),r.dirty()):tb.assertNever(n);return{status:r.value,value:new Date(e.data.getTime())}}_addCheck(e){return new ei({...this._def,checks:[...this._def.checks,e]})}min(e,t){return this._addCheck({kind:"min",value:e.getTime(),message:tw.toString(t)})}max(e,t){return this._addCheck({kind:"max",value:e.getTime(),message:tw.toString(t)})}get minDate(){let e=null;for(let t of this._def.checks)"min"===t.kind&&(null===e||t.value>e)&&(e=t.value);return null!=e?new Date(e):null}get maxDate(){let e=null;for(let t of this._def.checks)"max"===t.kind&&(null===e||t.value<e)&&(e=t.value);return null!=e?new Date(e):null}}ei.create=e=>new ei({checks:[],coerce:(null==e?void 0:e.coerce)||!1,typeName:tA.ZodDate,...k(e)});class eo extends I{_parse(e){if(this._getType(e)!==i.symbol){let t=this._getOrReturnCtx(e);return m(t,{code:a.invalid_type,expected:i.symbol,received:t.parsedType}),v}return b(e.data)}}eo.create=e=>new eo({typeName:tA.ZodSymbol,...k(e)});class ea extends I{_parse(e){if(this._getType(e)!==i.undefined){let t=this._getOrReturnCtx(e);return m(t,{code:a.invalid_type,expected:i.undefined,received:t.parsedType}),v}return b(e.data)}}ea.create=e=>new ea({typeName:tA.ZodUndefined,...k(e)});class es extends I{_parse(e){if(this._getType(e)!==i.null){let t=this._getOrReturnCtx(e);return m(t,{code:a.invalid_type,expected:i.null,received:t.parsedType}),v}return b(e.data)}}es.create=e=>new es({typeName:tA.ZodNull,...k(e)});class el extends I{constructor(){super(...arguments),this._any=!0}_parse(e){return b(e.data)}}el.create=e=>new el({typeName:tA.ZodAny,...k(e)});class eu extends I{constructor(){super(...arguments),this._unknown=!0}_parse(e){return b(e.data)}}eu.create=e=>new eu({typeName:tA.ZodUnknown,...k(e)});class ec extends I{_parse(e){let t=this._getOrReturnCtx(e);return m(t,{code:a.invalid_type,expected:i.never,received:t.parsedType}),v}}ec.create=e=>new ec({typeName:tA.ZodNever,...k(e)});class ef extends I{_parse(e){if(this._getType(e)!==i.undefined){let t=this._getOrReturnCtx(e);return m(t,{code:a.invalid_type,expected:i.void,received:t.parsedType}),v}return b(e.data)}}ef.create=e=>new ef({typeName:tA.ZodVoid,...k(e)});class eh extends I{_parse(e){let{ctx:t,status:r}=this._processInputParams(e),n=this._def;if(t.parsedType!==i.array)return m(t,{code:a.invalid_type,expected:i.array,received:t.parsedType}),v;if(null!==n.exactLength){let e=t.data.length>n.exactLength.value,i=t.data.length<n.exactLength.value;(e||i)&&(m(t,{code:e?a.too_big:a.too_small,minimum:i?n.exactLength.value:void 0,maximum:e?n.exactLength.value:void 0,type:"array",inclusive:!0,exact:!0,message:n.exactLength.message}),r.dirty())}if(null!==n.minLength&&t.data.length<n.minLength.value&&(m(t,{code:a.too_small,minimum:n.minLength.value,type:"array",inclusive:!0,exact:!1,message:n.minLength.message}),r.dirty()),null!==n.maxLength&&t.data.length>n.maxLength.value&&(m(t,{code:a.too_big,maximum:n.maxLength.value,type:"array",inclusive:!0,exact:!1,message:n.maxLength.message}),r.dirty()),t.common.async)return Promise.all([...t.data].map((e,r)=>n.type._parseAsync(new C(t,e,t.path,r)))).then(e=>g.mergeArray(r,e));let o=[...t.data].map((e,r)=>n.type._parseSync(new C(t,e,t.path,r)));return g.mergeArray(r,o)}get element(){return this._def.type}min(e,t){return new eh({...this._def,minLength:{value:e,message:tw.toString(t)}})}max(e,t){return new eh({...this._def,maxLength:{value:e,message:tw.toString(t)}})}length(e,t){return new eh({...this._def,exactLength:{value:e,message:tw.toString(t)}})}nonempty(e){return this.min(1,e)}}function ed(e){if(e instanceof ep){let t={};for(let r in e.shape){let n=e.shape[r];t[r]=eM.create(ed(n))}return new ep({...e._def,shape:()=>t})}if(e instanceof eh)return new eh({...e._def,type:ed(e.element)});if(e instanceof eM)return eM.create(ed(e.unwrap()));if(e instanceof eR)return eR.create(ed(e.unwrap()));if(e instanceof e_)return e_.create(e.items.map(e=>ed(e)));else return e}eh.create=(e,t)=>new eh({type:e,minLength:null,maxLength:null,exactLength:null,typeName:tA.ZodArray,...k(t)});class ep extends I{constructor(){super(...arguments),this._cached=null,this.nonstrict=this.passthrough,this.augment=this.extend}_getCached(){if(null!==this._cached)return this._cached;let e=this._def.shape(),t=tb.objectKeys(e);return this._cached={shape:e,keys:t}}_parse(e){if(this._getType(e)!==i.object){let t=this._getOrReturnCtx(e);return m(t,{code:a.invalid_type,expected:i.object,received:t.parsedType}),v}let{status:t,ctx:r}=this._processInputParams(e),{shape:n,keys:o}=this._getCached(),s=[];if(!(this._def.catchall instanceof ec&&"strip"===this._def.unknownKeys))for(let e in r.data)o.includes(e)||s.push(e);let l=[];for(let e of o){let t=n[e],i=r.data[e];l.push({key:{status:"valid",value:e},value:t._parse(new C(r,i,r.path,e)),alwaysSet:e in r.data})}if(this._def.catchall instanceof ec){let e=this._def.unknownKeys;if("passthrough"===e)for(let e of s)l.push({key:{status:"valid",value:e},value:{status:"valid",value:r.data[e]}});else if("strict"===e)s.length>0&&(m(r,{code:a.unrecognized_keys,keys:s}),t.dirty());else if("strip"===e);else throw Error("Internal ZodObject error: invalid unknownKeys value.")}else{let e=this._def.catchall;for(let t of s){let n=r.data[t];l.push({key:{status:"valid",value:t},value:e._parse(new C(r,n,r.path,t)),alwaysSet:t in r.data})}}return r.common.async?Promise.resolve().then(async()=>{let e=[];for(let t of l){let r=await t.key,n=await t.value;e.push({key:r,value:n,alwaysSet:t.alwaysSet})}return e}).then(e=>g.mergeObjectSync(t,e)):g.mergeObjectSync(t,l)}get shape(){return this._def.shape()}strict(e){return tw.errToObj,new ep({...this._def,unknownKeys:"strict",...void 0!==e?{errorMap:(t,r)=>{var n,i,o,a;let s=null!=(o=null==(i=(n=this._def).errorMap)?void 0:i.call(n,t,r).message)?o:r.defaultError;return"unrecognized_keys"===t.code?{message:null!=(a=tw.errToObj(e).message)?a:s}:{message:s}}}:{}})}strip(){return new ep({...this._def,unknownKeys:"strip"})}passthrough(){return new ep({...this._def,unknownKeys:"passthrough"})}extend(e){return new ep({...this._def,shape:()=>({...this._def.shape(),...e})})}merge(e){return new ep({unknownKeys:e._def.unknownKeys,catchall:e._def.catchall,shape:()=>({...this._def.shape(),...e._def.shape()}),typeName:tA.ZodObject})}setKey(e,t){return this.augment({[e]:t})}catchall(e){return new ep({...this._def,catchall:e})}pick(e){let t={};return tb.objectKeys(e).forEach(r=>{e[r]&&this.shape[r]&&(t[r]=this.shape[r])}),new ep({...this._def,shape:()=>t})}omit(e){let t={};return tb.objectKeys(this.shape).forEach(r=>{e[r]||(t[r]=this.shape[r])}),new ep({...this._def,shape:()=>t})}deepPartial(){return ed(this)}partial(e){let t={};return tb.objectKeys(this.shape).forEach(r=>{let n=this.shape[r];e&&!e[r]?t[r]=n:t[r]=n.optional()}),new ep({...this._def,shape:()=>t})}required(e){let t={};return tb.objectKeys(this.shape).forEach(r=>{if(e&&!e[r])t[r]=this.shape[r];else{let e=this.shape[r];for(;e instanceof eM;)e=e._def.innerType;t[r]=e}}),new ep({...this._def,shape:()=>t})}keyof(){return eO(tb.objectKeys(this.shape))}}ep.create=(e,t)=>new ep({shape:()=>e,unknownKeys:"strip",catchall:ec.create(),typeName:tA.ZodObject,...k(t)}),ep.strictCreate=(e,t)=>new ep({shape:()=>e,unknownKeys:"strict",catchall:ec.create(),typeName:tA.ZodObject,...k(t)}),ep.lazycreate=(e,t)=>new ep({shape:e,unknownKeys:"strip",catchall:ec.create(),typeName:tA.ZodObject,...k(t)});class em extends I{_parse(e){let{ctx:t}=this._processInputParams(e),r=this._def.options;function n(e){for(let t of e)if("valid"===t.result.status)return t.result;for(let r of e)if("dirty"===r.result.status)return t.common.issues.push(...r.ctx.common.issues),r.result;let r=e.map(e=>new l(e.ctx.common.issues));return m(t,{code:a.invalid_union,unionErrors:r}),v}if(t.common.async)return Promise.all(r.map(async e=>{let r={...t,common:{...t.common,issues:[]},parent:null};return{result:await e._parseAsync({data:t.data,path:t.path,parent:r}),ctx:r}})).then(n);{let e,n=[];for(let i of r){let r={...t,common:{...t.common,issues:[]},parent:null},o=i._parseSync({data:t.data,path:t.path,parent:r});if("valid"===o.status)return o;"dirty"!==o.status||e||(e={result:o,ctx:r}),r.common.issues.length&&n.push(r.common.issues)}if(e)return t.common.issues.push(...e.ctx.common.issues),e.result;let i=n.map(e=>new l(e));return m(t,{code:a.invalid_union,unionErrors:i}),v}}get options(){return this._def.options}}em.create=(e,t)=>new em({options:e,typeName:tA.ZodUnion,...k(t)});let eg=e=>{if(e instanceof eE)return eg(e.schema);if(e instanceof eP)return eg(e.innerType());if(e instanceof eC)return[e.value];if(e instanceof ek)return e.options;if(e instanceof eI)return tb.objectValues(e.enum);else if(e instanceof e$)return eg(e._def.innerType);else if(e instanceof ea)return[void 0];else if(e instanceof es)return[null];else if(e instanceof eM)return[void 0,...eg(e.unwrap())];else if(e instanceof eR)return[null,...eg(e.unwrap())];else if(e instanceof eL)return eg(e.unwrap());else if(e instanceof eF)return eg(e.unwrap());else if(e instanceof ej)return eg(e._def.innerType);else return[]};class ev extends I{_parse(e){let{ctx:t}=this._processInputParams(e);if(t.parsedType!==i.object)return m(t,{code:a.invalid_type,expected:i.object,received:t.parsedType}),v;let r=this.discriminator,n=t.data[r],o=this.optionsMap.get(n);return o?t.common.async?o._parseAsync({data:t.data,path:t.path,parent:t}):o._parseSync({data:t.data,path:t.path,parent:t}):(m(t,{code:a.invalid_union_discriminator,options:Array.from(this.optionsMap.keys()),path:[r]}),v)}get discriminator(){return this._def.discriminator}get options(){return this._def.options}get optionsMap(){return this._def.optionsMap}static create(e,t,r){let n=new Map;for(let r of t){let t=eg(r.shape[e]);if(!t.length)throw Error(`A discriminator value for key \`${e}\` could not be extracted from all schema options`);for(let i of t){if(n.has(i))throw Error(`Discriminator property ${String(e)} has duplicate value ${String(i)}`);n.set(i,r)}}return new ev({typeName:tA.ZodDiscriminatedUnion,discriminator:e,options:t,optionsMap:n,...k(r)})}}function ey(e,t){let r=o(e),n=o(t);if(e===t)return{valid:!0,data:e};if(r===i.object&&n===i.object){let r=tb.objectKeys(t),n=tb.objectKeys(e).filter(e=>-1!==r.indexOf(e)),i={...e,...t};for(let r of n){let n=ey(e[r],t[r]);if(!n.valid)return{valid:!1};i[r]=n.data}return{valid:!0,data:i}}if(r===i.array&&n===i.array){if(e.length!==t.length)return{valid:!1};let r=[];for(let n=0;n<e.length;n++){let i=ey(e[n],t[n]);if(!i.valid)return{valid:!1};r.push(i.data)}return{valid:!0,data:r}}if(r===i.date&&n===i.date&&+e==+t)return{valid:!0,data:e};return{valid:!1}}class eb extends I{_parse(e){let{status:t,ctx:r}=this._processInputParams(e),n=(e,n)=>{if(_(e)||_(n))return v;let i=ey(e.value,n.value);return i.valid?((w(e)||w(n))&&t.dirty(),{status:t.value,value:i.data}):(m(r,{code:a.invalid_intersection_types}),v)};return r.common.async?Promise.all([this._def.left._parseAsync({data:r.data,path:r.path,parent:r}),this._def.right._parseAsync({data:r.data,path:r.path,parent:r})]).then(([e,t])=>n(e,t)):n(this._def.left._parseSync({data:r.data,path:r.path,parent:r}),this._def.right._parseSync({data:r.data,path:r.path,parent:r}))}}eb.create=(e,t,r)=>new eb({left:e,right:t,typeName:tA.ZodIntersection,...k(r)});class e_ extends I{_parse(e){let{status:t,ctx:r}=this._processInputParams(e);if(r.parsedType!==i.array)return m(r,{code:a.invalid_type,expected:i.array,received:r.parsedType}),v;if(r.data.length<this._def.items.length)return m(r,{code:a.too_small,minimum:this._def.items.length,inclusive:!0,exact:!1,type:"array"}),v;!this._def.rest&&r.data.length>this._def.items.length&&(m(r,{code:a.too_big,maximum:this._def.items.length,inclusive:!0,exact:!1,type:"array"}),t.dirty());let n=[...r.data].map((e,t)=>{let n=this._def.items[t]||this._def.rest;return n?n._parse(new C(r,e,r.path,t)):null}).filter(e=>!!e);return r.common.async?Promise.all(n).then(e=>g.mergeArray(t,e)):g.mergeArray(t,n)}get items(){return this._def.items}rest(e){return new e_({...this._def,rest:e})}}e_.create=(e,t)=>{if(!Array.isArray(e))throw Error("You must pass an array of schemas to z.tuple([ ... ])");return new e_({items:e,typeName:tA.ZodTuple,rest:null,...k(t)})};class ew extends I{get keySchema(){return this._def.keyType}get valueSchema(){return this._def.valueType}_parse(e){let{status:t,ctx:r}=this._processInputParams(e);if(r.parsedType!==i.object)return m(r,{code:a.invalid_type,expected:i.object,received:r.parsedType}),v;let n=[],o=this._def.keyType,s=this._def.valueType;for(let e in r.data)n.push({key:o._parse(new C(r,e,r.path,e)),value:s._parse(new C(r,r.data[e],r.path,e)),alwaysSet:e in r.data});return r.common.async?g.mergeObjectAsync(t,n):g.mergeObjectSync(t,n)}get element(){return this._def.valueType}static create(e,t,r){return new ew(t instanceof I?{keyType:e,valueType:t,typeName:tA.ZodRecord,...k(r)}:{keyType:Q.create(),valueType:e,typeName:tA.ZodRecord,...k(t)})}}class ex extends I{get keySchema(){return this._def.keyType}get valueSchema(){return this._def.valueType}_parse(e){let{status:t,ctx:r}=this._processInputParams(e);if(r.parsedType!==i.map)return m(r,{code:a.invalid_type,expected:i.map,received:r.parsedType}),v;let n=this._def.keyType,o=this._def.valueType,s=[...r.data.entries()].map(([e,t],i)=>({key:n._parse(new C(r,e,r.path,[i,"key"])),value:o._parse(new C(r,t,r.path,[i,"value"]))}));if(r.common.async){let e=new Map;return Promise.resolve().then(async()=>{for(let r of s){let n=await r.key,i=await r.value;if("aborted"===n.status||"aborted"===i.status)return v;("dirty"===n.status||"dirty"===i.status)&&t.dirty(),e.set(n.value,i.value)}return{status:t.value,value:e}})}{let e=new Map;for(let r of s){let n=r.key,i=r.value;if("aborted"===n.status||"aborted"===i.status)return v;("dirty"===n.status||"dirty"===i.status)&&t.dirty(),e.set(n.value,i.value)}return{status:t.value,value:e}}}}ex.create=(e,t,r)=>new ex({valueType:t,keyType:e,typeName:tA.ZodMap,...k(r)});class eS extends I{_parse(e){let{status:t,ctx:r}=this._processInputParams(e);if(r.parsedType!==i.set)return m(r,{code:a.invalid_type,expected:i.set,received:r.parsedType}),v;let n=this._def;null!==n.minSize&&r.data.size<n.minSize.value&&(m(r,{code:a.too_small,minimum:n.minSize.value,type:"set",inclusive:!0,exact:!1,message:n.minSize.message}),t.dirty()),null!==n.maxSize&&r.data.size>n.maxSize.value&&(m(r,{code:a.too_big,maximum:n.maxSize.value,type:"set",inclusive:!0,exact:!1,message:n.maxSize.message}),t.dirty());let o=this._def.valueType;function s(e){let r=new Set;for(let n of e){if("aborted"===n.status)return v;"dirty"===n.status&&t.dirty(),r.add(n.value)}return{status:t.value,value:r}}let l=[...r.data.values()].map((e,t)=>o._parse(new C(r,e,r.path,t)));return r.common.async?Promise.all(l).then(e=>s(e)):s(l)}min(e,t){return new eS({...this._def,minSize:{value:e,message:tw.toString(t)}})}max(e,t){return new eS({...this._def,maxSize:{value:e,message:tw.toString(t)}})}size(e,t){return this.min(e,t).max(e,t)}nonempty(e){return this.min(1,e)}}eS.create=(e,t)=>new eS({valueType:e,minSize:null,maxSize:null,typeName:tA.ZodSet,...k(t)});class eA extends I{constructor(){super(...arguments),this.validate=this.implement}_parse(e){let{ctx:t}=this._processInputParams(e);if(t.parsedType!==i.function)return m(t,{code:a.invalid_type,expected:i.function,received:t.parsedType}),v;function r(e,r){return d({data:e,path:t.path,errorMaps:[t.common.contextualErrorMap,t.schemaErrorMap,h(),u].filter(e=>!!e),issueData:{code:a.invalid_arguments,argumentsError:r}})}function n(e,r){return d({data:e,path:t.path,errorMaps:[t.common.contextualErrorMap,t.schemaErrorMap,h(),u].filter(e=>!!e),issueData:{code:a.invalid_return_type,returnTypeError:r}})}let o={errorMap:t.common.contextualErrorMap},s=t.data;if(this._def.returns instanceof eT){let e=this;return b(async function(...t){let i=new l([]),a=await e._def.args.parseAsync(t,o).catch(e=>{throw i.addIssue(r(t,e)),i}),u=await Reflect.apply(s,this,a);return await e._def.returns._def.type.parseAsync(u,o).catch(e=>{throw i.addIssue(n(u,e)),i})})}{let e=this;return b(function(...t){let i=e._def.args.safeParse(t,o);if(!i.success)throw new l([r(t,i.error)]);let a=Reflect.apply(s,this,i.data),u=e._def.returns.safeParse(a,o);if(!u.success)throw new l([n(a,u.error)]);return u.data})}}parameters(){return this._def.args}returnType(){return this._def.returns}args(...e){return new eA({...this._def,args:e_.create(e).rest(eu.create())})}returns(e){return new eA({...this._def,returns:e})}implement(e){return this.parse(e)}strictImplement(e){return this.parse(e)}static create(e,t,r){return new eA({args:e||e_.create([]).rest(eu.create()),returns:t||eu.create(),typeName:tA.ZodFunction,...k(r)})}}class eE extends I{get schema(){return this._def.getter()}_parse(e){let{ctx:t}=this._processInputParams(e);return this._def.getter()._parse({data:t.data,path:t.path,parent:t})}}eE.create=(e,t)=>new eE({getter:e,typeName:tA.ZodLazy,...k(t)});class eC extends I{_parse(e){if(e.data!==this._def.value){let t=this._getOrReturnCtx(e);return m(t,{received:t.data,code:a.invalid_literal,expected:this._def.value}),v}return{status:"valid",value:e.data}}get value(){return this._def.value}}function eO(e,t){return new ek({values:e,typeName:tA.ZodEnum,...k(t)})}eC.create=(e,t)=>new eC({value:e,typeName:tA.ZodLiteral,...k(t)});class ek extends I{constructor(){super(...arguments),tx.set(this,void 0)}_parse(e){if("string"!=typeof e.data){let t=this._getOrReturnCtx(e),r=this._def.values;return m(t,{expected:tb.joinValues(r),received:t.parsedType,code:a.invalid_type}),v}if(A(this,tx,"f")||E(this,tx,new Set(this._def.values),"f"),!A(this,tx,"f").has(e.data)){let t=this._getOrReturnCtx(e),r=this._def.values;return m(t,{received:t.data,code:a.invalid_enum_value,options:r}),v}return b(e.data)}get options(){return this._def.values}get enum(){let e={};for(let t of this._def.values)e[t]=t;return e}get Values(){let e={};for(let t of this._def.values)e[t]=t;return e}get Enum(){let e={};for(let t of this._def.values)e[t]=t;return e}extract(e,t=this._def){return ek.create(e,{...this._def,...t})}exclude(e,t=this._def){return ek.create(this.options.filter(t=>!e.includes(t)),{...this._def,...t})}}tx=new WeakMap,ek.create=eO;class eI extends I{constructor(){super(...arguments),tS.set(this,void 0)}_parse(e){let t=tb.getValidEnumValues(this._def.values),r=this._getOrReturnCtx(e);if(r.parsedType!==i.string&&r.parsedType!==i.number){let e=tb.objectValues(t);return m(r,{expected:tb.joinValues(e),received:r.parsedType,code:a.invalid_type}),v}if(A(this,tS,"f")||E(this,tS,new Set(tb.getValidEnumValues(this._def.values)),"f"),!A(this,tS,"f").has(e.data)){let e=tb.objectValues(t);return m(r,{received:r.data,code:a.invalid_enum_value,options:e}),v}return b(e.data)}get enum(){return this._def.values}}tS=new WeakMap,eI.create=(e,t)=>new eI({values:e,typeName:tA.ZodNativeEnum,...k(t)});class eT extends I{unwrap(){return this._def.type}_parse(e){let{ctx:t}=this._processInputParams(e);return t.parsedType!==i.promise&&!1===t.common.async?(m(t,{code:a.invalid_type,expected:i.promise,received:t.parsedType}),v):b((t.parsedType===i.promise?t.data:Promise.resolve(t.data)).then(e=>this._def.type.parseAsync(e,{path:t.path,errorMap:t.common.contextualErrorMap})))}}eT.create=(e,t)=>new eT({type:e,typeName:tA.ZodPromise,...k(t)});class eP extends I{innerType(){return this._def.schema}sourceType(){return this._def.schema._def.typeName===tA.ZodEffects?this._def.schema.sourceType():this._def.schema}_parse(e){let{status:t,ctx:r}=this._processInputParams(e),n=this._def.effect||null,i={addIssue:e=>{m(r,e),e.fatal?t.abort():t.dirty()},get path(){return r.path}};if(i.addIssue=i.addIssue.bind(i),"preprocess"===n.type){let e=n.transform(r.data,i);if(r.common.async)return Promise.resolve(e).then(async e=>{if("aborted"===t.value)return v;let n=await this._def.schema._parseAsync({data:e,path:r.path,parent:r});return"aborted"===n.status?v:"dirty"===n.status||"dirty"===t.value?y(n.value):n});{if("aborted"===t.value)return v;let n=this._def.schema._parseSync({data:e,path:r.path,parent:r});return"aborted"===n.status?v:"dirty"===n.status||"dirty"===t.value?y(n.value):n}}if("refinement"===n.type){let e=e=>{let t=n.refinement(e,i);if(r.common.async)return Promise.resolve(t);if(t instanceof Promise)throw Error("Async refinement encountered during synchronous parse operation. Use .parseAsync instead.");return e};if(!1!==r.common.async)return this._def.schema._parseAsync({data:r.data,path:r.path,parent:r}).then(r=>"aborted"===r.status?v:("dirty"===r.status&&t.dirty(),e(r.value).then(()=>({status:t.value,value:r.value}))));{let n=this._def.schema._parseSync({data:r.data,path:r.path,parent:r});return"aborted"===n.status?v:("dirty"===n.status&&t.dirty(),e(n.value),{status:t.value,value:n.value})}}if("transform"===n.type)if(!1!==r.common.async)return this._def.schema._parseAsync({data:r.data,path:r.path,parent:r}).then(e=>x(e)?Promise.resolve(n.transform(e.value,i)).then(e=>({status:t.value,value:e})):e);else{let e=this._def.schema._parseSync({data:r.data,path:r.path,parent:r});if(!x(e))return e;let o=n.transform(e.value,i);if(o instanceof Promise)throw Error("Asynchronous transform encountered during synchronous parse operation. Use .parseAsync instead.");return{status:t.value,value:o}}tb.assertNever(n)}}eP.create=(e,t,r)=>new eP({schema:e,typeName:tA.ZodEffects,effect:t,...k(r)}),eP.createWithPreprocess=(e,t,r)=>new eP({schema:t,effect:{type:"preprocess",transform:e},typeName:tA.ZodEffects,...k(r)});class eM extends I{_parse(e){return this._getType(e)===i.undefined?b(void 0):this._def.innerType._parse(e)}unwrap(){return this._def.innerType}}eM.create=(e,t)=>new eM({innerType:e,typeName:tA.ZodOptional,...k(t)});class eR extends I{_parse(e){return this._getType(e)===i.null?b(null):this._def.innerType._parse(e)}unwrap(){return this._def.innerType}}eR.create=(e,t)=>new eR({innerType:e,typeName:tA.ZodNullable,...k(t)});class e$ extends I{_parse(e){let{ctx:t}=this._processInputParams(e),r=t.data;return t.parsedType===i.undefined&&(r=this._def.defaultValue()),this._def.innerType._parse({data:r,path:t.path,parent:t})}removeDefault(){return this._def.innerType}}e$.create=(e,t)=>new e$({innerType:e,typeName:tA.ZodDefault,defaultValue:"function"==typeof t.default?t.default:()=>t.default,...k(t)});class ej extends I{_parse(e){let{ctx:t}=this._processInputParams(e),r={...t,common:{...t.common,issues:[]}},n=this._def.innerType._parse({data:r.data,path:r.path,parent:{...r}});return S(n)?n.then(e=>({status:"valid",value:"valid"===e.status?e.value:this._def.catchValue({get error(){return new l(r.common.issues)},input:r.data})})):{status:"valid",value:"valid"===n.status?n.value:this._def.catchValue({get error(){return new l(r.common.issues)},input:r.data})}}removeCatch(){return this._def.innerType}}ej.create=(e,t)=>new ej({innerType:e,typeName:tA.ZodCatch,catchValue:"function"==typeof t.catch?t.catch:()=>t.catch,...k(t)});class eN extends I{_parse(e){if(this._getType(e)!==i.nan){let t=this._getOrReturnCtx(e);return m(t,{code:a.invalid_type,expected:i.nan,received:t.parsedType}),v}return{status:"valid",value:e.data}}}eN.create=e=>new eN({typeName:tA.ZodNaN,...k(e)});let eB=Symbol("zod_brand");class eL extends I{_parse(e){let{ctx:t}=this._processInputParams(e),r=t.data;return this._def.type._parse({data:r,path:t.path,parent:t})}unwrap(){return this._def.type}}class ez extends I{_parse(e){let{status:t,ctx:r}=this._processInputParams(e);if(r.common.async)return(async()=>{let e=await this._def.in._parseAsync({data:r.data,path:r.path,parent:r});return"aborted"===e.status?v:"dirty"===e.status?(t.dirty(),y(e.value)):this._def.out._parseAsync({data:e.value,path:r.path,parent:r})})();{let e=this._def.in._parseSync({data:r.data,path:r.path,parent:r});return"aborted"===e.status?v:"dirty"===e.status?(t.dirty(),{status:"dirty",value:e.value}):this._def.out._parseSync({data:e.value,path:r.path,parent:r})}}static create(e,t){return new ez({in:e,out:t,typeName:tA.ZodPipeline})}}class eF extends I{_parse(e){let t=this._def.innerType._parse(e),r=e=>(x(e)&&(e.value=Object.freeze(e.value)),e);return S(t)?t.then(e=>r(e)):r(t)}unwrap(){return this._def.innerType}}function eD(e,t){let r="function"==typeof e?e(t):"string"==typeof e?{message:e}:e;return"string"==typeof r?{message:r}:r}function eU(e,t={},r){return e?el.create().superRefine((n,i)=>{var o,a;let s=e(n);if(s instanceof Promise)return s.then(e=>{var o,a;if(!e){let e=eD(t,n),s=null==(a=null!=(o=e.fatal)?o:r)||a;i.addIssue({code:"custom",...e,fatal:s})}});if(!s){let e=eD(t,n),s=null==(a=null!=(o=e.fatal)?o:r)||a;i.addIssue({code:"custom",...e,fatal:s})}}):el.create()}eF.create=(e,t)=>new eF({innerType:e,typeName:tA.ZodReadonly,...k(t)});let eH={object:ep.lazycreate};!function(e){e.ZodString="ZodString",e.ZodNumber="ZodNumber",e.ZodNaN="ZodNaN",e.ZodBigInt="ZodBigInt",e.ZodBoolean="ZodBoolean",e.ZodDate="ZodDate",e.ZodSymbol="ZodSymbol",e.ZodUndefined="ZodUndefined",e.ZodNull="ZodNull",e.ZodAny="ZodAny",e.ZodUnknown="ZodUnknown",e.ZodNever="ZodNever",e.ZodVoid="ZodVoid",e.ZodArray="ZodArray",e.ZodObject="ZodObject",e.ZodUnion="ZodUnion",e.ZodDiscriminatedUnion="ZodDiscriminatedUnion",e.ZodIntersection="ZodIntersection",e.ZodTuple="ZodTuple",e.ZodRecord="ZodRecord",e.ZodMap="ZodMap",e.ZodSet="ZodSet",e.ZodFunction="ZodFunction",e.ZodLazy="ZodLazy",e.ZodLiteral="ZodLiteral",e.ZodEnum="ZodEnum",e.ZodEffects="ZodEffects",e.ZodNativeEnum="ZodNativeEnum",e.ZodOptional="ZodOptional",e.ZodNullable="ZodNullable",e.ZodDefault="ZodDefault",e.ZodCatch="ZodCatch",e.ZodPromise="ZodPromise",e.ZodBranded="ZodBranded",e.ZodPipeline="ZodPipeline",e.ZodReadonly="ZodReadonly"}(tA||(tA={}));let eG=(e,t={message:`Input not instance of ${e.name}`})=>eU(t=>t instanceof e,t),eW=Q.create,eV=et.create,eq=eN.create,eX=er.create,eY=en.create,eZ=ei.create,eK=eo.create,eJ=ea.create,eQ=es.create,e0=el.create,e1=eu.create,e2=ec.create,e3=ef.create,e5=eh.create,e4=ep.create,e6=ep.strictCreate,e8=em.create,e9=ev.create,e7=eb.create,te=e_.create,tt=ew.create,tr=ex.create,tn=eS.create,ti=eA.create,to=eE.create,ta=eC.create,ts=ek.create,tl=eI.create,tu=eT.create,tc=eP.create,tf=eM.create,th=eR.create,td=eP.createWithPreprocess,tp=ez.create,tm=()=>eV().optional(),tg=()=>eY().optional(),tv={string:e=>Q.create({...e,coerce:!0}),number:e=>et.create({...e,coerce:!0}),boolean:e=>en.create({...e,coerce:!0}),bigint:e=>er.create({...e,coerce:!0}),date:e=>ei.create({...e,coerce:!0})},ty=v;var tb,t_,tw,tx,tS,tA,tE=Object.freeze({__proto__:null,defaultErrorMap:u,setErrorMap:f,getErrorMap:h,makeIssue:d,EMPTY_PATH:p,addIssueToContext:m,ParseStatus:g,INVALID:v,DIRTY:y,OK:b,isAborted:_,isDirty:w,isValid:x,isAsync:S,get util(){return tb},get objectUtil(){return t_},ZodParsedType:i,getParsedType:o,ZodType:I,datetimeRegex:Y,ZodString:Q,ZodNumber:et,ZodBigInt:er,ZodBoolean:en,ZodDate:ei,ZodSymbol:eo,ZodUndefined:ea,ZodNull:es,ZodAny:el,ZodUnknown:eu,ZodNever:ec,ZodVoid:ef,ZodArray:eh,ZodObject:ep,ZodUnion:em,ZodDiscriminatedUnion:ev,ZodIntersection:eb,ZodTuple:e_,ZodRecord:ew,ZodMap:ex,ZodSet:eS,ZodFunction:eA,ZodLazy:eE,ZodLiteral:eC,ZodEnum:ek,ZodNativeEnum:eI,ZodPromise:eT,ZodEffects:eP,ZodTransformer:eP,ZodOptional:eM,ZodNullable:eR,ZodDefault:e$,ZodCatch:ej,ZodNaN:eN,BRAND:eB,ZodBranded:eL,ZodPipeline:ez,ZodReadonly:eF,custom:eU,Schema:I,ZodSchema:I,late:eH,get ZodFirstPartyTypeKind(){return tA},coerce:tv,any:e0,array:e5,bigint:eX,boolean:eY,date:eZ,discriminatedUnion:e9,effect:tc,enum:ts,function:ti,instanceof:eG,intersection:e7,lazy:to,literal:ta,map:tr,nan:eq,nativeEnum:tl,never:e2,null:eQ,nullable:th,number:eV,object:e4,oboolean:tg,onumber:tm,optional:tf,ostring:()=>eW().optional(),pipeline:tp,preprocess:td,promise:tu,record:tt,set:tn,strictObject:e6,string:eW,symbol:eK,transformer:tc,tuple:te,undefined:eJ,union:e8,unknown:e1,void:e3,NEVER:ty,ZodIssueCode:a,quotelessJson:s,ZodError:l})},8113:function(e,t,r){"use strict";r.d(t,{vt:()=>h});let n=e=>{let t,r=new Set,n=(e,n)=>{let i="function"==typeof e?e(t):e;if(!Object.is(i,t)){let e=t;t=(null!=n?n:"object"!=typeof i||null===i)?i:Object.assign({},t,i),r.forEach(r=>r(t,e))}},i=()=>t,o={setState:n,getState:i,getInitialState:()=>a,subscribe:e=>(r.add(e),()=>r.delete(e)),destroy:()=>{r.clear()}},a=t=e(n,i,o);return o},i=e=>e?n(e):n;var o=r(22155),a=r(33016);let{useDebugValue:s}=o,{useSyncExternalStoreWithSelector:l}=a,u=e=>e;function c(e,t=u,r){let n=l(e.subscribe,e.getState,e.getServerState||e.getInitialState,t,r);return s(n),n}let f=e=>{let t="function"==typeof e?i(e):e,r=(e,r)=>c(t,e,r);return Object.assign(r,t),r},h=e=>e?f(e):f}}]);
|
|
667
|
-
//# sourceMappingURL=63.
|
|
667
|
+
//# sourceMappingURL=63.ddce0598.js.map
|