diff --git a/plugins/visage/visage.css b/plugins/visage/visage.css index e70f75e8..452cd608 100644 --- a/plugins/visage/visage.css +++ b/plugins/visage/visage.css @@ -497,6 +497,44 @@ background: rgba(255, 255, 255, 0.06); } +/* ======================== + STASHBOX WARNING BANNER + ======================== */ + +.visage-stashbox-banner { + display: flex; + align-items: center; + gap: 0.625rem; + padding: 0.625rem 1.5rem; + background: rgba(240, 160, 48, 0.08); + border-bottom: 1px solid rgba(240, 160, 48, 0.18); + flex-shrink: 0; +} + +.visage-stashbox-banner svg { + flex-shrink: 0; + color: #f0a030; +} + +.visage-stashbox-banner-text { + font-size: 0.75rem; + color: var(--v-text-2); + line-height: 1.4; +} + +.visage-stashbox-banner-text strong { + color: #f0a030; +} + +.visage-stashbox-banner-text a { + color: #f0a030; + text-decoration: underline; +} + +.visage-stashbox-banner-text a:hover { + color: #f0b040; +} + /* ======================== FACE STRIP ======================== */ @@ -829,6 +867,40 @@ pointer-events: none; } +/* Source badge roundel */ +.visage-source-badge { + position: absolute; + bottom: 0.5rem; + right: 0.5rem; + width: 20px; + height: 20px; + border-radius: 50%; + display: flex; + align-items: center; + justify-content: center; + font-family: 'IBM Plex Mono', 'JetBrains Mono', 'Fira Code', monospace; + font-size: 0.6rem; + font-weight: 700; + color: #fff; + box-shadow: 0 1px 4px rgba(0, 0, 0, 0.55); + z-index: 2; + pointer-events: auto; + cursor: help; + line-height: 1; +} + +.visage-source-stashdb { + background: #4a6fa5; +} + +.visage-source-javstash { + background: #c0392b; +} + +.visage-source-fansdb { + background: #27ae60; +} + /* Text overlay content */ .visage-card-meta { position: absolute; @@ -1790,6 +1862,124 @@ Everything below is wrapped in a media query so desktop is untouched. ======================== */ +/* === ERROR DIALOG === */ +.visage-error-backdrop { + position: fixed; + inset: 0; + z-index: 2147483646; + display: flex; + align-items: flex-start; + justify-content: center; + padding-top: 80px; + pointer-events: none; +} + +.visage-error-dialog { + pointer-events: auto; + display: flex; + align-items: center; + gap: 12px; + padding: 14px 20px 14px 16px; + border-radius: var(--v-r); + background: var(--v-surface); + border: 1px solid var(--v-border); + box-shadow: 0 8px 32px rgba(0, 0, 0, 0.5), 0 0 0 1px rgba(255, 255, 255, 0.04); + max-width: 520px; + min-width: 280px; + position: relative; + overflow: hidden; + animation: visage-error-in 0.25s var(--v-ease); + outline: none; +} + +.visage-error-dialog:focus { + box-shadow: 0 8px 32px rgba(0, 0, 0, 0.5), 0 0 0 2px var(--v-accent); +} + +@keyframes visage-error-in { + from { opacity: 0; transform: translateY(-16px) scale(0.96); } + to { opacity: 1; transform: translateY(0) scale(1); } +} + +.visage-error-icon { + flex-shrink: 0; + width: 32px; + height: 32px; + display: flex; + align-items: center; + justify-content: center; + border-radius: 50%; +} + +.visage-error-error .visage-error-icon { + color: #e04868; + background: rgba(224, 72, 104, 0.12); +} + +.visage-error-warning .visage-error-icon { + color: #f0a030; + background: rgba(240, 160, 48, 0.12); +} + +.visage-error-success .visage-error-icon { + color: #2dd4a0; + background: rgba(45, 212, 160, 0.12); +} + +.visage-error-message { + flex: 1; + font: 13px/1.45 var(--v-sans); + color: var(--v-text); + word-break: break-word; +} + +.visage-error-close { + flex-shrink: 0; + background: none; + border: none; + color: var(--v-text-2); + cursor: pointer; + padding: 4px; + border-radius: 4px; + display: flex; + align-items: center; + justify-content: center; + opacity: 0.6; + transition: opacity 0.15s, color 0.15s; +} + +.visage-error-close:hover { + opacity: 1; + color: var(--v-text); +} + +.visage-error-timer { + position: absolute; + bottom: 0; + left: 0; + height: 3px; + background: var(--v-accent); + border-radius: 0 0 0 var(--v-r); + animation: visage-error-timer 10s linear forwards; +} + +.visage-error-error .visage-error-timer { + background: #e04868; +} + +.visage-error-warning .visage-error-timer { + background: #f0a030; +} + +.visage-error-success .visage-error-timer { + background: #2dd4a0; +} + +@keyframes visage-error-timer { + from { width: 100%; } + to { width: 0%; } +} + @media (max-width: 768px) { .visage-modal { diff --git a/plugins/visage/visage.js b/plugins/visage/visage.js index fe570c4b..b4e8735d 100644 --- a/plugins/visage/visage.js +++ b/plugins/visage/visage.js @@ -1,4 +1,4 @@ -!function(){"use strict";const A=window.PluginApi.React,{createContext:e,useContext:t,useReducer:r,useCallback:n}=A,s={scenario:null,scenarioId:null,selectedFaceId:null,matches:[],facesData:[],loading:{},showMatchModal:!1,showFrameSelector:!1,showSpriteModal:!1,frameSelectorUrl:"",spriteResult:null,detectionMode:"sprite",scanProgress:0,scanProgressDesc:""};function o(A,e){switch(e.type){case"SET_SCENARIO":return{...A,scenario:e.scenario,scenarioId:e.id};case"SET_MATCHES":return{...A,matches:e.matches,showMatchModal:!0};case"SET_FACES_DATA":return{...A,facesData:e.data,frameSelectorUrl:e.url,showFrameSelector:!0};case"SET_SELECTED_FACE":return{...A,selectedFaceId:e.id};case"SET_LOADING":return{...A,loading:{...A.loading,[e.key]:e.value}};case"CLEAR_LOADING":{const t={...A.loading};return delete t[e.key],{...A,loading:t}}case"SHOW_MATCH_MODAL":return{...A,showMatchModal:e.show};case"SHOW_FRAME_SELECTOR":return{...A,showFrameSelector:e.show};case"SHOW_SPRITE_MODAL":return{...A,showSpriteModal:e.show};case"CLEAR_MATCHES":return{...A,matches:[],showMatchModal:!1};case"SET_SPRITE_RESULT":return{...A,spriteResult:e.result,showSpriteModal:!0};case"CLEAR_SPRITE_RESULT":return{...A,spriteResult:null,showSpriteModal:!1,scanProgress:0,scanProgressDesc:""};case"SET_DETECTION_MODE":return{...A,detectionMode:e.mode};case"SET_SCAN_PROGRESS":return{...A,scanProgress:e.progress,scanProgressDesc:e.desc};case"RESET":return{...s,scanProgress:0,scanProgressDesc:""};default:return A}}const i=e(null);function a({children:e,scenario:t,scenarioId:a}){const[B,c]=r(o,{...s,scenario:t||null,scenarioId:a||null}),l=n(((A,e)=>{c({type:"SET_SCENARIO",scenario:A,id:e})}),[]),g=n((A=>{c({type:"SET_MATCHES",matches:A})}),[]),u=n(((A,e)=>{c({type:"SET_FACES_DATA",data:A,url:e})}),[]),w=n((A=>{c({type:"SET_SELECTED_FACE",id:A})}),[]),Q=n(((A,e)=>{c({type:"SET_LOADING",key:A,value:e})}),[]),d=n((A=>{c({type:"CLEAR_LOADING",key:A})}),[]),C=n((A=>{c({type:"SHOW_MATCH_MODAL",show:A})}),[]),h=n((A=>{c({type:"SHOW_FRAME_SELECTOR",show:A})}),[]),U=n((A=>{c({type:"SHOW_SPRITE_MODAL",show:A})}),[]),F=n((()=>{c({type:"CLEAR_MATCHES"})}),[]),f=n((A=>{c({type:"SET_SPRITE_RESULT",result:A})}),[]),p=n((()=>{c({type:"CLEAR_SPRITE_RESULT"})}),[]),m=n((A=>{c({type:"SET_DETECTION_MODE",mode:A})}),[]),E=n(((A,e)=>{c({type:"SET_SCAN_PROGRESS",progress:A,desc:e})}),[]),H=n((()=>{c({type:"RESET"})}),[]),y={state:B,dispatch:c,setScenario:l,setMatches:g,setFacesData:u,setSelectedFace:w,setLoading:Q,clearLoading:d,showMatchModal:C,showFrameSelector:h,showSpriteModal:U,clearMatches:F,setSpriteResult:f,clearSpriteResult:p,setDetectionMode:m,setScanProgress:E,reset:H};return A.createElement(i.Provider,{value:y},e)}function B(){const A=t(i);if(!A)throw new Error("useVisage must be used within a VisageProvider");return A}"undefined"!=typeof globalThis?globalThis:"undefined"!=typeof window?window:"undefined"!=typeof global?global:"undefined"!=typeof self&&self; +!function(){"use strict";const A=window.PluginApi.React,{createContext:e,useContext:t,useReducer:r,useCallback:n}=A,s={scenario:null,scenarioId:null,selectedFaceId:null,matches:[],facesData:[],loading:{},showMatchModal:!1,showFrameSelector:!1,showSpriteModal:!1,frameSelectorUrl:"",spriteResult:null,detectionMode:"sprite",scanProgress:0,scanProgressDesc:"",errorDialog:null};function o(A,e){switch(e.type){case"SET_SCENARIO":return{...A,scenario:e.scenario,scenarioId:e.id};case"SET_MATCHES":return{...A,matches:e.matches,showMatchModal:!0};case"SET_FACES_DATA":return{...A,facesData:e.data,frameSelectorUrl:e.url,showFrameSelector:!0};case"SET_SELECTED_FACE":return{...A,selectedFaceId:e.id};case"SET_LOADING":return{...A,loading:{...A.loading,[e.key]:e.value}};case"CLEAR_LOADING":{const t={...A.loading};return delete t[e.key],{...A,loading:t}}case"SHOW_MATCH_MODAL":return{...A,showMatchModal:e.show};case"SHOW_FRAME_SELECTOR":return{...A,showFrameSelector:e.show};case"SHOW_SPRITE_MODAL":return{...A,showSpriteModal:e.show};case"CLEAR_MATCHES":return{...A,matches:[],showMatchModal:!1};case"SET_SPRITE_RESULT":return{...A,spriteResult:e.result,showSpriteModal:!0};case"CLEAR_SPRITE_RESULT":return{...A,spriteResult:null,showSpriteModal:!1,scanProgress:0,scanProgressDesc:""};case"SET_DETECTION_MODE":return{...A,detectionMode:e.mode};case"SHOW_ERROR_DIALOG":return{...A,errorDialog:{message:e.message,variant:e.variant}};case"HIDE_ERROR_DIALOG":return{...A,errorDialog:null};case"SET_SCAN_PROGRESS":return{...A,scanProgress:e.progress,scanProgressDesc:e.desc};case"RESET":return{...s,scanProgress:0,scanProgressDesc:""};default:return A}}const i=e(null);function a({children:e,scenario:t,scenarioId:a}){const[B,c]=r(o,{...s,scenario:t||null,scenarioId:a||null}),l=n(((A,e)=>{c({type:"SET_SCENARIO",scenario:A,id:e})}),[]),g=n((A=>{c({type:"SET_MATCHES",matches:A})}),[]),u=n(((A,e)=>{c({type:"SET_FACES_DATA",data:A,url:e})}),[]),w=n((A=>{c({type:"SET_SELECTED_FACE",id:A})}),[]),Q=n(((A,e)=>{c({type:"SET_LOADING",key:A,value:e})}),[]),d=n((A=>{c({type:"CLEAR_LOADING",key:A})}),[]),C=n((A=>{c({type:"SHOW_MATCH_MODAL",show:A})}),[]),h=n((A=>{c({type:"SHOW_FRAME_SELECTOR",show:A})}),[]),U=n((A=>{c({type:"SHOW_SPRITE_MODAL",show:A})}),[]),F=n((()=>{c({type:"CLEAR_MATCHES"})}),[]),f=n((A=>{c({type:"SET_SPRITE_RESULT",result:A})}),[]),p=n((()=>{c({type:"CLEAR_SPRITE_RESULT"})}),[]),m=n((A=>{c({type:"SET_DETECTION_MODE",mode:A})}),[]),E=n(((A,e)=>{c({type:"SET_SCAN_PROGRESS",progress:A,desc:e})}),[]),H=n((()=>{c({type:"RESET"})}),[]),y=n((A=>{c({type:"SHOW_ERROR_DIALOG",message:A,variant:"error"})}),[]),v=n((A=>{c({type:"SHOW_ERROR_DIALOG",message:A,variant:"warning"})}),[]),I=n((A=>{c({type:"SHOW_ERROR_DIALOG",message:A,variant:"success"})}),[]),K=n((()=>{c({type:"HIDE_ERROR_DIALOG"})}),[]),b={state:B,dispatch:c,setScenario:l,setMatches:g,setFacesData:u,setSelectedFace:w,setLoading:Q,clearLoading:d,showMatchModal:C,showFrameSelector:h,showSpriteModal:U,clearMatches:F,setSpriteResult:f,clearSpriteResult:p,setDetectionMode:m,setScanProgress:E,reset:H,showError:y,showWarning:v,showSuccess:I,hideErrorDialog:K};return A.createElement(i.Provider,{value:b},e)}function B(){const A=t(i);if(!A)throw new Error("useVisage must be used within a VisageProvider");return A}"undefined"!=typeof globalThis?globalThis:"undefined"!=typeof window?window:"undefined"!=typeof global?global:"undefined"!=typeof self&&self; /*! * html2canvas 1.4.1 * Copyright (c) 2022 Niklas von Hertzen @@ -19,4 +19,4 @@ var c,l,g=(c=function(A,e){A.exports=function(){ OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. ***************************************************************************** */ -var A=function(e,t){return A=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(A,e){A.__proto__=e}||function(A,e){for(var t in e)Object.prototype.hasOwnProperty.call(e,t)&&(A[t]=e[t])},A(e,t)};function e(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Class extends value "+String(t)+" is not a constructor or null");function r(){this.constructor=e}A(e,t),e.prototype=null===t?Object.create(t):(r.prototype=t.prototype,new r)}var t=function(){return t=Object.assign||function(A){for(var e,t=1,r=arguments.length;t0&&n[n.length-1])||6!==s[0]&&2!==s[0])){o=0;continue}if(3===s[0]&&(!n||s[1]>n[0]&&s[1]=55296&&n<=56319&&t>10),o%1024+56320)),(n+1===t||r.length>16384)&&(s+=String.fromCharCode.apply(String,r),r.length=0)}return s},l="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/",g="undefined"==typeof Uint8Array?[]:new Uint8Array(256),u=0;u>4,c[a++]=(15&r)<<4|n>>2,c[a++]=(3&n)<<6|63&s;return B},h=function(A){for(var e=A.length,t=[],r=0;r>F,E=(1<>F)+32,y=65536>>f,v=(1<=0){if(A<55296||A>56319&&A<=65535)return e=((e=this.index[A>>F])<>F)])<>f),e=this.index[e],e+=A>>F&v,e=((e=this.index[e])<M?(n.push(!0),o-=M):n.push(!1),-1!==["normal","auto","loose"].indexOf(e)&&-1!==[8208,8211,12316,12448].indexOf(A))return r.push(s),t.push(q);if(o===V||o===J){if(0===s)return r.push(s),t.push(cA);var i=t[s-1];return-1===xA.indexOf(i)?(r.push(r[s-1]),t.push(i)):(r.push(s),t.push(cA))}return r.push(s),o===lA?t.push("strict"===e?eA:CA):o===pA||o===BA?t.push(cA):o===mA?A>=131072&&A<=196605||A>=196608&&A<=262141?t.push(CA):t.push(cA):void t.push(o)})),[r,t,n]},OA=function(A,e,t,r){var n=r[t];if(Array.isArray(A)?-1!==A.indexOf(n):A===n)for(var s=t;s<=r.length;){if((a=r[++s])===e)return!0;if(a!==X)break}if(n===X)for(s=t;s>0;){var o=r[--s];if(Array.isArray(A)?-1!==A.indexOf(o):A===o)for(var i=t;i<=r.length;){var a;if((a=r[++i])===e)return!0;if(a!==X)break}if(o!==X)break}return!1},kA=function(A,e){for(var t=A;t>=0;){var r=e[t];if(r!==X)return r;t--}return 0},VA=function(A,e,t,r,n){if(0===t[r])return yA;var s=r-1;if(Array.isArray(n)&&!0===n[s])return yA;var o=s-1,i=s+1,a=e[s],B=o>=0?e[o]:0,c=e[i];if(a===O&&c===k)return yA;if(-1!==bA.indexOf(a))return HA;if(-1!==bA.indexOf(c))return yA;if(-1!==LA.indexOf(c))return yA;if(kA(s,e)===P)return vA;if(IA.get(A[s])===J)return yA;if((a===gA||a===uA)&&IA.get(A[i])===J)return yA;if(a===N||c===N)return yA;if(a===R)return yA;if(-1===[X,Y,Z].indexOf(a)&&c===R)return yA;if(-1!==[j,z,$,nA,aA].indexOf(c))return yA;if(kA(s,e)===tA)return yA;if(OA(rA,tA,s,e))return yA;if(OA([j,z],eA,s,e))return yA;if(OA(W,W,s,e))return yA;if(a===X)return vA;if(a===rA||c===rA)return yA;if(c===q||a===q)return vA;if(-1!==[Y,Z,eA].indexOf(c)||a===_)return yA;if(B===dA&&-1!==MA.indexOf(a))return yA;if(a===aA&&c===dA)return yA;if(c===AA)return yA;if(-1!==KA.indexOf(c)&&a===sA||-1!==KA.indexOf(a)&&c===sA)return yA;if(a===iA&&-1!==[CA,gA,uA].indexOf(c)||-1!==[CA,gA,uA].indexOf(a)&&c===oA)return yA;if(-1!==KA.indexOf(a)&&-1!==DA.indexOf(c)||-1!==DA.indexOf(a)&&-1!==KA.indexOf(c))return yA;if(-1!==[iA,oA].indexOf(a)&&(c===sA||-1!==[tA,Z].indexOf(c)&&e[i+1]===sA)||-1!==[tA,Z].indexOf(a)&&c===sA||a===sA&&-1!==[sA,aA,nA].indexOf(c))return yA;if(-1!==[sA,aA,nA,j,z].indexOf(c))for(var l=s;l>=0;){if((g=e[l])===sA)return yA;if(-1===[aA,nA].indexOf(g))break;l--}if(-1!==[iA,oA].indexOf(c))for(l=-1!==[j,z].indexOf(a)?o:s;l>=0;){var g;if((g=e[l])===sA)return yA;if(-1===[aA,nA].indexOf(g))break;l--}if(hA===a&&-1!==[hA,UA,wA,QA].indexOf(c)||-1!==[UA,wA].indexOf(a)&&-1!==[UA,FA].indexOf(c)||-1!==[FA,QA].indexOf(a)&&c===FA)return yA;if(-1!==SA.indexOf(a)&&-1!==[AA,oA].indexOf(c)||-1!==SA.indexOf(c)&&a===iA)return yA;if(-1!==KA.indexOf(a)&&-1!==KA.indexOf(c))return yA;if(a===nA&&-1!==KA.indexOf(c))return yA;if(-1!==KA.concat(sA).indexOf(a)&&c===tA&&-1===EA.indexOf(A[i])||-1!==KA.concat(sA).indexOf(c)&&a===z)return yA;if(a===fA&&c===fA){for(var u=t[s],w=1;u>0&&e[--u]===fA;)w++;if(w%2!=0)return yA}return a===gA&&c===uA?yA:vA},GA=function(A,e){e||(e={lineBreak:"normal",wordBreak:"normal"});var t=TA(A,e.lineBreak),r=t[0],n=t[1],s=t[2];"break-all"!==e.wordBreak&&"break-word"!==e.wordBreak||(n=n.map((function(A){return-1!==[sA,cA,pA].indexOf(A)?CA:A})));var o="keep-all"===e.wordBreak?s.map((function(e,t){return e&&A[t]>=19968&&A[t]<=40959})):void 0;return[r,n,o]},NA=function(){function A(A,e,t,r){this.codePoints=A,this.required=e===HA,this.start=t,this.end=r}return A.prototype.slice=function(){return c.apply(void 0,this.codePoints.slice(this.start,this.end))},A}(),PA=function(A,e){var t=B(A),r=GA(t,e),n=r[0],s=r[1],o=r[2],i=t.length,a=0,c=0;return{next:function(){if(c>=i)return{done:!0,value:null};for(var A=yA;c=Me&&A<=57},Ye=function(A){return A>=55296&&A<=57343},_e=function(A){return We(A)||A>=Ne&&A<=Re||A>=Te&&A<=ke},Ze=function(A){return A>=Te&&A<=Ge},qe=function(A){return A>=Ne&&A<=Je},je=function(A){return Ze(A)||qe(A)},ze=function(A){return A>=Fe},$e=function(A){return A===YA||A===qA||A===jA},At=function(A){return je(A)||ze(A)||A===oe},et=function(A){return At(A)||We(A)||A===ie},tt=function(A){return A>=Ie&&A<=Ke||A===be||A>=Le&&A<=De||A===xe},rt=function(A,e){return A===ZA&&e!==YA},nt=function(A,e,t){return A===ie?At(e)||rt(e,t):!!At(A)||!(A!==ZA||!rt(A,e))},st=function(A,e,t){return A===me||A===ie?!!We(e)||e===ve&&We(t):We(A===ve?e:A)},ot=function(A){var e=0,t=1;A[e]!==me&&A[e]!==ie||(A[e]===ie&&(t=-1),e++);for(var r=[];We(A[e]);)r.push(A[e++]);var n=r.length?parseInt(c.apply(void 0,r),10):0;A[e]===ve&&e++;for(var s=[];We(A[e]);)s.push(A[e++]);var o=s.length,i=o?parseInt(c.apply(void 0,s),10):0;A[e]!==Pe&&A[e]!==Oe||e++;var a=1;A[e]!==me&&A[e]!==ie||(A[e]===ie&&(a=-1),e++);for(var B=[];We(A[e]);)B.push(A[e++]);var l=B.length?parseInt(c.apply(void 0,B),10):0;return t*(n+i*Math.pow(10,-o))*Math.pow(10,a*l)},it={type:2},at={type:3},Bt={type:4},ct={type:13},lt={type:8},gt={type:21},ut={type:9},wt={type:10},Qt={type:11},dt={type:12},Ct={type:14},ht={type:23},Ut={type:1},Ft={type:25},ft={type:24},pt={type:26},mt={type:27},Et={type:28},Ht={type:29},yt={type:31},vt={type:32},It=function(){function A(){this._value=[]}return A.prototype.write=function(A){this._value=this._value.concat(B(A))},A.prototype.read=function(){for(var A=[],e=this.consumeToken();e!==vt;)A.push(e),e=this.consumeToken();return A},A.prototype.consumeToken=function(){var A=this.consumeCodePoint();switch(A){case zA:return this.consumeStringToken(zA);case Ae:var e=this.peekCodePoint(0),t=this.peekCodePoint(1),r=this.peekCodePoint(2);if(et(e)||rt(t,r)){var n=nt(e,t,r)?XA:RA;return{type:5,value:this.consumeName(),flags:n}}break;case ee:if(this.peekCodePoint(0)===$A)return this.consumeCodePoint(),ct;break;case re:return this.consumeStringToken(re);case ne:return it;case se:return at;case pe:if(this.peekCodePoint(0)===$A)return this.consumeCodePoint(),Ct;break;case me:if(st(A,this.peekCodePoint(0),this.peekCodePoint(1)))return this.reconsumeCodePoint(A),this.consumeNumericToken();break;case Ee:return Bt;case ie:var s=A,o=this.peekCodePoint(0),i=this.peekCodePoint(1);if(st(s,o,i))return this.reconsumeCodePoint(A),this.consumeNumericToken();if(nt(s,o,i))return this.reconsumeCodePoint(A),this.consumeIdentLikeToken();if(o===ie&&i===ce)return this.consumeCodePoint(),this.consumeCodePoint(),ft;break;case ve:if(st(A,this.peekCodePoint(0),this.peekCodePoint(1)))return this.reconsumeCodePoint(A),this.consumeNumericToken();break;case _A:if(this.peekCodePoint(0)===pe)for(this.consumeCodePoint();;){var a=this.consumeCodePoint();if(a===pe&&(a=this.consumeCodePoint())===_A)return this.consumeToken();if(a===Se)return this.consumeToken()}break;case He:return pt;case ye:return mt;case Be:if(this.peekCodePoint(0)===ae&&this.peekCodePoint(1)===ie&&this.peekCodePoint(2)===ie)return this.consumeCodePoint(),this.consumeCodePoint(),Ft;break;case le:var B=this.peekCodePoint(0),l=this.peekCodePoint(1),g=this.peekCodePoint(2);if(nt(B,l,g))return{type:7,value:this.consumeName()};break;case ge:return Et;case ZA:if(rt(A,this.peekCodePoint(0)))return this.reconsumeCodePoint(A),this.consumeIdentLikeToken();break;case ue:return Ht;case we:if(this.peekCodePoint(0)===$A)return this.consumeCodePoint(),lt;break;case Qe:return Qt;case Ce:return dt;case Ve:case Xe:var u=this.peekCodePoint(0),w=this.peekCodePoint(1);return u!==me||!_e(w)&&w!==de||(this.consumeCodePoint(),this.consumeUnicodeRangeToken()),this.reconsumeCodePoint(A),this.consumeIdentLikeToken();case he:if(this.peekCodePoint(0)===$A)return this.consumeCodePoint(),ut;if(this.peekCodePoint(0)===he)return this.consumeCodePoint(),gt;break;case Ue:if(this.peekCodePoint(0)===$A)return this.consumeCodePoint(),wt;break;case Se:return vt}return $e(A)?(this.consumeWhiteSpace(),yt):We(A)?(this.reconsumeCodePoint(A),this.consumeNumericToken()):At(A)?(this.reconsumeCodePoint(A),this.consumeIdentLikeToken()):{type:6,value:c(A)}},A.prototype.consumeCodePoint=function(){var A=this._value.shift();return void 0===A?-1:A},A.prototype.reconsumeCodePoint=function(A){this._value.unshift(A)},A.prototype.peekCodePoint=function(A){return A>=this._value.length?-1:this._value[A]},A.prototype.consumeUnicodeRangeToken=function(){for(var A=[],e=this.consumeCodePoint();_e(e)&&A.length<6;)A.push(e),e=this.consumeCodePoint();for(var t=!1;e===de&&A.length<6;)A.push(e),e=this.consumeCodePoint(),t=!0;if(t)return{type:30,start:parseInt(c.apply(void 0,A.map((function(A){return A===de?Me:A}))),16),end:parseInt(c.apply(void 0,A.map((function(A){return A===de?Re:A}))),16)};var r=parseInt(c.apply(void 0,A),16);if(this.peekCodePoint(0)===ie&&_e(this.peekCodePoint(1))){this.consumeCodePoint(),e=this.consumeCodePoint();for(var n=[];_e(e)&&n.length<6;)n.push(e),e=this.consumeCodePoint();return{type:30,start:r,end:parseInt(c.apply(void 0,n),16)}}return{type:30,start:r,end:r}},A.prototype.consumeIdentLikeToken=function(){var A=this.consumeName();return"url"===A.toLowerCase()&&this.peekCodePoint(0)===ne?(this.consumeCodePoint(),this.consumeUrlToken()):this.peekCodePoint(0)===ne?(this.consumeCodePoint(),{type:19,value:A}):{type:20,value:A}},A.prototype.consumeUrlToken=function(){var A=[];if(this.consumeWhiteSpace(),this.peekCodePoint(0)===Se)return{type:22,value:""};var e=this.peekCodePoint(0);if(e===re||e===zA){var t=this.consumeStringToken(this.consumeCodePoint());return 0===t.type&&(this.consumeWhiteSpace(),this.peekCodePoint(0)===Se||this.peekCodePoint(0)===se)?(this.consumeCodePoint(),{type:22,value:t.value}):(this.consumeBadUrlRemnants(),ht)}for(;;){var r=this.consumeCodePoint();if(r===Se||r===se)return{type:22,value:c.apply(void 0,A)};if($e(r))return this.consumeWhiteSpace(),this.peekCodePoint(0)===Se||this.peekCodePoint(0)===se?(this.consumeCodePoint(),{type:22,value:c.apply(void 0,A)}):(this.consumeBadUrlRemnants(),ht);if(r===zA||r===re||r===ne||tt(r))return this.consumeBadUrlRemnants(),ht;if(r===ZA){if(!rt(r,this.peekCodePoint(0)))return this.consumeBadUrlRemnants(),ht;A.push(this.consumeEscapedCodePoint())}else A.push(r)}},A.prototype.consumeWhiteSpace=function(){for(;$e(this.peekCodePoint(0));)this.consumeCodePoint()},A.prototype.consumeBadUrlRemnants=function(){for(;;){var A=this.consumeCodePoint();if(A===se||A===Se)return;rt(A,this.peekCodePoint(0))&&this.consumeEscapedCodePoint()}},A.prototype.consumeStringSlice=function(A){for(var e=5e4,t="";A>0;){var r=Math.min(e,A);t+=c.apply(void 0,this._value.splice(0,r)),A-=r}return this._value.shift(),t},A.prototype.consumeStringToken=function(A){for(var e="",t=0;;){var r=this._value[t];if(r===Se||void 0===r||r===A)return{type:0,value:e+=this.consumeStringSlice(t)};if(r===YA)return this._value.splice(0,t),Ut;if(r===ZA){var n=this._value[t+1];n!==Se&&void 0!==n&&(n===YA?(e+=this.consumeStringSlice(t),t=-1,this._value.shift()):rt(r,n)&&(e+=this.consumeStringSlice(t),e+=c(this.consumeEscapedCodePoint()),t=-1))}t++}},A.prototype.consumeNumber=function(){var A=[],e=JA,t=this.peekCodePoint(0);for(t!==me&&t!==ie||A.push(this.consumeCodePoint());We(this.peekCodePoint(0));)A.push(this.consumeCodePoint());t=this.peekCodePoint(0);var r=this.peekCodePoint(1);if(t===ve&&We(r))for(A.push(this.consumeCodePoint(),this.consumeCodePoint()),e=WA;We(this.peekCodePoint(0));)A.push(this.consumeCodePoint());t=this.peekCodePoint(0),r=this.peekCodePoint(1);var n=this.peekCodePoint(2);if((t===Pe||t===Oe)&&((r===me||r===ie)&&We(n)||We(r)))for(A.push(this.consumeCodePoint(),this.consumeCodePoint()),e=WA;We(this.peekCodePoint(0));)A.push(this.consumeCodePoint());return[ot(A),e]},A.prototype.consumeNumericToken=function(){var A=this.consumeNumber(),e=A[0],t=A[1],r=this.peekCodePoint(0),n=this.peekCodePoint(1),s=this.peekCodePoint(2);return nt(r,n,s)?{type:15,number:e,flags:t,unit:this.consumeName()}:r===te?(this.consumeCodePoint(),{type:16,number:e,flags:t}):{type:17,number:e,flags:t}},A.prototype.consumeEscapedCodePoint=function(){var A=this.consumeCodePoint();if(_e(A)){for(var e=c(A);_e(this.peekCodePoint(0))&&e.length<6;)e+=c(this.consumeCodePoint());$e(this.peekCodePoint(0))&&this.consumeCodePoint();var t=parseInt(e,16);return 0===t||Ye(t)||t>1114111?fe:t}return A===Se?fe:A},A.prototype.consumeName=function(){for(var A="";;){var e=this.consumeCodePoint();if(et(e))A+=c(e);else{if(!rt(e,this.peekCodePoint(0)))return this.reconsumeCodePoint(e),A;A+=c(this.consumeEscapedCodePoint())}}},A}(),Kt=function(){function A(A){this._tokens=A}return A.create=function(e){var t=new It;return t.write(e),new A(t.read())},A.parseValue=function(e){return A.create(e).parseComponentValue()},A.parseValues=function(e){return A.create(e).parseComponentValues()},A.prototype.parseComponentValue=function(){for(var A=this.consumeToken();31===A.type;)A=this.consumeToken();if(32===A.type)throw new SyntaxError("Error parsing CSS component value, unexpected EOF");this.reconsumeToken(A);var e=this.consumeComponentValue();do{A=this.consumeToken()}while(31===A.type);if(32===A.type)return e;throw new SyntaxError("Error parsing CSS component value, multiple values found when expecting only one")},A.prototype.parseComponentValues=function(){for(var A=[];;){var e=this.consumeComponentValue();if(32===e.type)return A;A.push(e),A.push()}},A.prototype.consumeComponentValue=function(){var A=this.consumeToken();switch(A.type){case 11:case 28:case 2:return this.consumeSimpleBlock(A.type);case 19:return this.consumeFunction(A)}return A},A.prototype.consumeSimpleBlock=function(A){for(var e={type:A,values:[]},t=this.consumeToken();;){if(32===t.type||kt(t,A))return e;this.reconsumeToken(t),e.values.push(this.consumeComponentValue()),t=this.consumeToken()}},A.prototype.consumeFunction=function(A){for(var e={name:A.value,values:[],type:18};;){var t=this.consumeToken();if(32===t.type||3===t.type)return e;this.reconsumeToken(t),e.values.push(this.consumeComponentValue())}},A.prototype.consumeToken=function(){var A=this._tokens.shift();return void 0===A?vt:A},A.prototype.reconsumeToken=function(A){this._tokens.unshift(A)},A}(),bt=function(A){return 15===A.type},Lt=function(A){return 17===A.type},Dt=function(A){return 20===A.type},xt=function(A){return 0===A.type},St=function(A,e){return Dt(A)&&A.value===e},Mt=function(A){return 31!==A.type},Tt=function(A){return 31!==A.type&&4!==A.type},Ot=function(A){var e=[],t=[];return A.forEach((function(A){if(4===A.type){if(0===t.length)throw new Error("Error parsing function args, zero tokens for arg");return e.push(t),void(t=[])}31!==A.type&&t.push(A)})),t.length&&e.push(t),e},kt=function(A,e){return 11===e&&12===A.type||28===e&&29===A.type||2===e&&3===A.type},Vt=function(A){return 17===A.type||15===A.type},Gt=function(A){return 16===A.type||Vt(A)},Nt=function(A){return A.length>1?[A[0],A[1]]:[A[0]]},Pt={type:17,number:0,flags:JA},Rt={type:16,number:50,flags:JA},Xt={type:16,number:100,flags:JA},Jt=function(A,e,t){var r=A[0],n=A[1];return[Wt(r,e),Wt(void 0!==n?n:r,t)]},Wt=function(A,e){if(16===A.type)return A.number/100*e;if(bt(A))switch(A.unit){case"rem":case"em":return 16*A.number;default:return A.number}return A.number},Yt="deg",_t="grad",Zt="rad",qt="turn",jt={name:"angle",parse:function(A,e){if(15===e.type)switch(e.unit){case Yt:return Math.PI*e.number/180;case _t:return Math.PI/200*e.number;case Zt:return e.number;case qt:return 2*Math.PI*e.number}throw new Error("Unsupported angle type")}},zt=function(A){return 15===A.type&&(A.unit===Yt||A.unit===_t||A.unit===Zt||A.unit===qt)},$t=function(A){switch(A.filter(Dt).map((function(A){return A.value})).join(" ")){case"to bottom right":case"to right bottom":case"left top":case"top left":return[Pt,Pt];case"to top":case"bottom":return Ar(0);case"to bottom left":case"to left bottom":case"right top":case"top right":return[Pt,Xt];case"to right":case"left":return Ar(90);case"to top left":case"to left top":case"right bottom":case"bottom right":return[Xt,Xt];case"to bottom":case"top":return Ar(180);case"to top right":case"to right top":case"left bottom":case"bottom left":return[Xt,Pt];case"to left":case"right":return Ar(270)}return 0},Ar=function(A){return Math.PI*A/180},er={name:"color",parse:function(A,e){if(18===e.type){var t=Br[e.name];if(void 0===t)throw new Error('Attempting to parse an unsupported color function "'+e.name+'"');return t(A,e.values)}if(5===e.type){if(3===e.value.length){var r=e.value.substring(0,1),n=e.value.substring(1,2),s=e.value.substring(2,3);return nr(parseInt(r+r,16),parseInt(n+n,16),parseInt(s+s,16),1)}if(4===e.value.length){r=e.value.substring(0,1),n=e.value.substring(1,2),s=e.value.substring(2,3);var o=e.value.substring(3,4);return nr(parseInt(r+r,16),parseInt(n+n,16),parseInt(s+s,16),parseInt(o+o,16)/255)}if(6===e.value.length)return r=e.value.substring(0,2),n=e.value.substring(2,4),s=e.value.substring(4,6),nr(parseInt(r,16),parseInt(n,16),parseInt(s,16),1);if(8===e.value.length)return r=e.value.substring(0,2),n=e.value.substring(2,4),s=e.value.substring(4,6),o=e.value.substring(6,8),nr(parseInt(r,16),parseInt(n,16),parseInt(s,16),parseInt(o,16)/255)}if(20===e.type){var i=lr[e.value.toUpperCase()];if(void 0!==i)return i}return lr.TRANSPARENT}},tr=function(A){return 0==(255&A)},rr=function(A){var e=255&A,t=255&A>>8,r=255&A>>16,n=255&A>>24;return e<255?"rgba("+n+","+r+","+t+","+e/255+")":"rgb("+n+","+r+","+t+")"},nr=function(A,e,t,r){return(A<<24|e<<16|t<<8|Math.round(255*r)<<0)>>>0},sr=function(A,e){if(17===A.type)return A.number;if(16===A.type){var t=3===e?1:255;return 3===e?A.number/100*t:Math.round(A.number/100*t)}return 0},or=function(A,e){var t=e.filter(Tt);if(3===t.length){var r=t.map(sr),n=r[0],s=r[1],o=r[2];return nr(n,s,o,1)}if(4===t.length){var i=t.map(sr),a=(n=i[0],s=i[1],o=i[2],i[3]);return nr(n,s,o,a)}return 0};function ir(A,e,t){return t<0&&(t+=1),t>=1&&(t-=1),t<1/6?(e-A)*t*6+A:t<.5?e:t<2/3?6*(e-A)*(2/3-t)+A:A}var ar=function(A,e){var t=e.filter(Tt),r=t[0],n=t[1],s=t[2],o=t[3],i=(17===r.type?Ar(r.number):jt.parse(A,r))/(2*Math.PI),a=Gt(n)?n.number/100:0,B=Gt(s)?s.number/100:0,c=void 0!==o&&Gt(o)?Wt(o,1):1;if(0===a)return nr(255*B,255*B,255*B,1);var l=B<=.5?B*(a+1):B+a-B*a,g=2*B-l,u=ir(g,l,i+1/3),w=ir(g,l,i),Q=ir(g,l,i-1/3);return nr(255*u,255*w,255*Q,c)},Br={hsl:ar,hsla:ar,rgb:or,rgba:or},cr=function(A,e){return er.parse(A,Kt.create(e).parseComponentValue())},lr={ALICEBLUE:4042850303,ANTIQUEWHITE:4209760255,AQUA:16777215,AQUAMARINE:2147472639,AZURE:4043309055,BEIGE:4126530815,BISQUE:4293182719,BLACK:255,BLANCHEDALMOND:4293643775,BLUE:65535,BLUEVIOLET:2318131967,BROWN:2771004159,BURLYWOOD:3736635391,CADETBLUE:1604231423,CHARTREUSE:2147418367,CHOCOLATE:3530104575,CORAL:4286533887,CORNFLOWERBLUE:1687547391,CORNSILK:4294499583,CRIMSON:3692313855,CYAN:16777215,DARKBLUE:35839,DARKCYAN:9145343,DARKGOLDENROD:3095837695,DARKGRAY:2846468607,DARKGREEN:6553855,DARKGREY:2846468607,DARKKHAKI:3182914559,DARKMAGENTA:2332068863,DARKOLIVEGREEN:1433087999,DARKORANGE:4287365375,DARKORCHID:2570243327,DARKRED:2332033279,DARKSALMON:3918953215,DARKSEAGREEN:2411499519,DARKSLATEBLUE:1211993087,DARKSLATEGRAY:793726975,DARKSLATEGREY:793726975,DARKTURQUOISE:13554175,DARKVIOLET:2483082239,DEEPPINK:4279538687,DEEPSKYBLUE:12582911,DIMGRAY:1768516095,DIMGREY:1768516095,DODGERBLUE:512819199,FIREBRICK:2988581631,FLORALWHITE:4294635775,FORESTGREEN:579543807,FUCHSIA:4278255615,GAINSBORO:3705462015,GHOSTWHITE:4177068031,GOLD:4292280575,GOLDENROD:3668254975,GRAY:2155905279,GREEN:8388863,GREENYELLOW:2919182335,GREY:2155905279,HONEYDEW:4043305215,HOTPINK:4285117695,INDIANRED:3445382399,INDIGO:1258324735,IVORY:4294963455,KHAKI:4041641215,LAVENDER:3873897215,LAVENDERBLUSH:4293981695,LAWNGREEN:2096890111,LEMONCHIFFON:4294626815,LIGHTBLUE:2916673279,LIGHTCORAL:4034953471,LIGHTCYAN:3774873599,LIGHTGOLDENRODYELLOW:4210742015,LIGHTGRAY:3553874943,LIGHTGREEN:2431553791,LIGHTGREY:3553874943,LIGHTPINK:4290167295,LIGHTSALMON:4288707327,LIGHTSEAGREEN:548580095,LIGHTSKYBLUE:2278488831,LIGHTSLATEGRAY:2005441023,LIGHTSLATEGREY:2005441023,LIGHTSTEELBLUE:2965692159,LIGHTYELLOW:4294959359,LIME:16711935,LIMEGREEN:852308735,LINEN:4210091775,MAGENTA:4278255615,MAROON:2147483903,MEDIUMAQUAMARINE:1724754687,MEDIUMBLUE:52735,MEDIUMORCHID:3126187007,MEDIUMPURPLE:2473647103,MEDIUMSEAGREEN:1018393087,MEDIUMSLATEBLUE:2070474495,MEDIUMSPRINGGREEN:16423679,MEDIUMTURQUOISE:1221709055,MEDIUMVIOLETRED:3340076543,MIDNIGHTBLUE:421097727,MINTCREAM:4127193855,MISTYROSE:4293190143,MOCCASIN:4293178879,NAVAJOWHITE:4292783615,NAVY:33023,OLDLACE:4260751103,OLIVE:2155872511,OLIVEDRAB:1804477439,ORANGE:4289003775,ORANGERED:4282712319,ORCHID:3664828159,PALEGOLDENROD:4008225535,PALEGREEN:2566625535,PALETURQUOISE:2951671551,PALEVIOLETRED:3681588223,PAPAYAWHIP:4293907967,PEACHPUFF:4292524543,PERU:3448061951,PINK:4290825215,PLUM:3718307327,POWDERBLUE:2967529215,PURPLE:2147516671,REBECCAPURPLE:1714657791,RED:4278190335,ROSYBROWN:3163525119,ROYALBLUE:1097458175,SADDLEBROWN:2336560127,SALMON:4202722047,SANDYBROWN:4104413439,SEAGREEN:780883967,SEASHELL:4294307583,SIENNA:2689740287,SILVER:3233857791,SKYBLUE:2278484991,SLATEBLUE:1784335871,SLATEGRAY:1887473919,SLATEGREY:1887473919,SNOW:4294638335,SPRINGGREEN:16744447,STEELBLUE:1182971135,TAN:3535047935,TEAL:8421631,THISTLE:3636451583,TOMATO:4284696575,TRANSPARENT:0,TURQUOISE:1088475391,VIOLET:4001558271,WHEAT:4125012991,WHITE:4294967295,WHITESMOKE:4126537215,YELLOW:4294902015,YELLOWGREEN:2597139199},gr={name:"background-clip",initialValue:"border-box",prefix:!1,type:1,parse:function(A,e){return e.map((function(A){if(Dt(A))switch(A.value){case"padding-box":return 1;case"content-box":return 2}return 0}))}},ur={name:"background-color",initialValue:"transparent",prefix:!1,type:3,format:"color"},wr=function(A,e){var t=er.parse(A,e[0]),r=e[1];return r&&Gt(r)?{color:t,stop:r}:{color:t,stop:null}},Qr=function(A,e){var t=A[0],r=A[A.length-1];null===t.stop&&(t.stop=Pt),null===r.stop&&(r.stop=Xt);for(var n=[],s=0,o=0;os?n.push(a):n.push(s),s=a}else n.push(null)}var B=null;for(o=0;oA.optimumDistance)?{optimumCorner:e,optimumDistance:i}:A}),{optimumDistance:n?1/0:-1/0,optimumCorner:null}).optimumCorner},Fr=function(A,e,t,r,n){var s=0,o=0;switch(A.size){case 0:0===A.shape?s=o=Math.min(Math.abs(e),Math.abs(e-r),Math.abs(t),Math.abs(t-n)):1===A.shape&&(s=Math.min(Math.abs(e),Math.abs(e-r)),o=Math.min(Math.abs(t),Math.abs(t-n)));break;case 2:if(0===A.shape)s=o=Math.min(hr(e,t),hr(e,t-n),hr(e-r,t),hr(e-r,t-n));else if(1===A.shape){var i=Math.min(Math.abs(t),Math.abs(t-n))/Math.min(Math.abs(e),Math.abs(e-r)),a=Ur(r,n,e,t,!0),B=a[0],c=a[1];o=i*(s=hr(B-e,(c-t)/i))}break;case 1:0===A.shape?s=o=Math.max(Math.abs(e),Math.abs(e-r),Math.abs(t),Math.abs(t-n)):1===A.shape&&(s=Math.max(Math.abs(e),Math.abs(e-r)),o=Math.max(Math.abs(t),Math.abs(t-n)));break;case 3:if(0===A.shape)s=o=Math.max(hr(e,t),hr(e,t-n),hr(e-r,t),hr(e-r,t-n));else if(1===A.shape){i=Math.max(Math.abs(t),Math.abs(t-n))/Math.max(Math.abs(e),Math.abs(e-r));var l=Ur(r,n,e,t,!1);B=l[0],c=l[1],o=i*(s=hr(B-e,(c-t)/i))}}return Array.isArray(A.size)&&(s=Wt(A.size[0],r),o=2===A.size.length?Wt(A.size[1],n):s),[s,o]},fr=function(A,e){var t=Ar(180),r=[];return Ot(e).forEach((function(e,n){if(0===n){var s=e[0];if(20===s.type&&-1!==["top","left","right","bottom"].indexOf(s.value))return void(t=$t(e));if(zt(s))return void(t=(jt.parse(A,s)+Ar(270))%Ar(360))}var o=wr(A,e);r.push(o)})),{angle:t,stops:r,type:1}},pr="closest-side",mr="farthest-side",Er="closest-corner",Hr="farthest-corner",yr="circle",vr="ellipse",Ir="cover",Kr="contain",br=function(A,e){var t=0,r=3,n=[],s=[];return Ot(e).forEach((function(e,o){var i=!0;if(0===o?i=e.reduce((function(A,e){if(Dt(e))switch(e.value){case"center":return s.push(Rt),!1;case"top":case"left":return s.push(Pt),!1;case"right":case"bottom":return s.push(Xt),!1}else if(Gt(e)||Vt(e))return s.push(e),!1;return A}),i):1===o&&(i=e.reduce((function(A,e){if(Dt(e))switch(e.value){case yr:return t=0,!1;case vr:return t=1,!1;case Kr:case pr:return r=0,!1;case mr:return r=1,!1;case Er:return r=2,!1;case Ir:case Hr:return r=3,!1}else if(Vt(e)||Gt(e))return Array.isArray(r)||(r=[]),r.push(e),!1;return A}),i)),i){var a=wr(A,e);n.push(a)}})),{size:r,shape:t,stops:n,position:s,type:2}},Lr=function(A){return 1===A.type},Dr=function(A){return 2===A.type},xr={name:"image",parse:function(A,e){if(22===e.type){var t={url:e.value,type:0};return A.cache.addImage(e.value),t}if(18===e.type){var r=Tr[e.name];if(void 0===r)throw new Error('Attempting to parse an unsupported image function "'+e.name+'"');return r(A,e.values)}throw new Error("Unsupported image type "+e.type)}};function Sr(A){return!(20===A.type&&"none"===A.value||18===A.type&&!Tr[A.name])}var Mr,Tr={"linear-gradient":function(A,e){var t=Ar(180),r=[];return Ot(e).forEach((function(e,n){if(0===n){var s=e[0];if(20===s.type&&"to"===s.value)return void(t=$t(e));if(zt(s))return void(t=jt.parse(A,s))}var o=wr(A,e);r.push(o)})),{angle:t,stops:r,type:1}},"-moz-linear-gradient":fr,"-ms-linear-gradient":fr,"-o-linear-gradient":fr,"-webkit-linear-gradient":fr,"radial-gradient":function(A,e){var t=0,r=3,n=[],s=[];return Ot(e).forEach((function(e,o){var i=!0;if(0===o){var a=!1;i=e.reduce((function(A,e){if(a)if(Dt(e))switch(e.value){case"center":return s.push(Rt),A;case"top":case"left":return s.push(Pt),A;case"right":case"bottom":return s.push(Xt),A}else(Gt(e)||Vt(e))&&s.push(e);else if(Dt(e))switch(e.value){case yr:return t=0,!1;case vr:return t=1,!1;case"at":return a=!0,!1;case pr:return r=0,!1;case Ir:case mr:return r=1,!1;case Kr:case Er:return r=2,!1;case Hr:return r=3,!1}else if(Vt(e)||Gt(e))return Array.isArray(r)||(r=[]),r.push(e),!1;return A}),i)}if(i){var B=wr(A,e);n.push(B)}})),{size:r,shape:t,stops:n,position:s,type:2}},"-moz-radial-gradient":br,"-ms-radial-gradient":br,"-o-radial-gradient":br,"-webkit-radial-gradient":br,"-webkit-gradient":function(A,e){var t=Ar(180),r=[],n=1,s=0,o=3,i=[];return Ot(e).forEach((function(e,t){var s=e[0];if(0===t){if(Dt(s)&&"linear"===s.value)return void(n=1);if(Dt(s)&&"radial"===s.value)return void(n=2)}if(18===s.type)if("from"===s.name){var o=er.parse(A,s.values[0]);r.push({stop:Pt,color:o})}else if("to"===s.name)o=er.parse(A,s.values[0]),r.push({stop:Xt,color:o});else if("color-stop"===s.name){var i=s.values.filter(Tt);if(2===i.length){o=er.parse(A,i[1]);var a=i[0];Lt(a)&&r.push({stop:{type:16,number:100*a.number,flags:a.flags},color:o})}}})),1===n?{angle:(t+Ar(180))%Ar(360),stops:r,type:n}:{size:o,shape:s,stops:r,position:i,type:n}}},Or={name:"background-image",initialValue:"none",type:1,prefix:!1,parse:function(A,e){if(0===e.length)return[];var t=e[0];return 20===t.type&&"none"===t.value?[]:e.filter((function(A){return Tt(A)&&Sr(A)})).map((function(e){return xr.parse(A,e)}))}},kr={name:"background-origin",initialValue:"border-box",prefix:!1,type:1,parse:function(A,e){return e.map((function(A){if(Dt(A))switch(A.value){case"padding-box":return 1;case"content-box":return 2}return 0}))}},Vr={name:"background-position",initialValue:"0% 0%",type:1,prefix:!1,parse:function(A,e){return Ot(e).map((function(A){return A.filter(Gt)})).map(Nt)}},Gr={name:"background-repeat",initialValue:"repeat",prefix:!1,type:1,parse:function(A,e){return Ot(e).map((function(A){return A.filter(Dt).map((function(A){return A.value})).join(" ")})).map(Nr)}},Nr=function(A){switch(A){case"no-repeat":return 1;case"repeat-x":case"repeat no-repeat":return 2;case"repeat-y":case"no-repeat repeat":return 3;default:return 0}};!function(A){A.AUTO="auto",A.CONTAIN="contain",A.COVER="cover"}(Mr||(Mr={}));var Pr,Rr={name:"background-size",initialValue:"0",prefix:!1,type:1,parse:function(A,e){return Ot(e).map((function(A){return A.filter(Xr)}))}},Xr=function(A){return Dt(A)||Gt(A)},Jr=function(A){return{name:"border-"+A+"-color",initialValue:"transparent",prefix:!1,type:3,format:"color"}},Wr=Jr("top"),Yr=Jr("right"),_r=Jr("bottom"),Zr=Jr("left"),qr=function(A){return{name:"border-radius-"+A,initialValue:"0 0",prefix:!1,type:1,parse:function(A,e){return Nt(e.filter(Gt))}}},jr=qr("top-left"),zr=qr("top-right"),$r=qr("bottom-right"),An=qr("bottom-left"),en=function(A){return{name:"border-"+A+"-style",initialValue:"solid",prefix:!1,type:2,parse:function(A,e){switch(e){case"none":return 0;case"dashed":return 2;case"dotted":return 3;case"double":return 4}return 1}}},tn=en("top"),rn=en("right"),nn=en("bottom"),sn=en("left"),on=function(A){return{name:"border-"+A+"-width",initialValue:"0",type:0,prefix:!1,parse:function(A,e){return bt(e)?e.number:0}}},an=on("top"),Bn=on("right"),cn=on("bottom"),ln=on("left"),gn={name:"color",initialValue:"transparent",prefix:!1,type:3,format:"color"},un={name:"direction",initialValue:"ltr",prefix:!1,type:2,parse:function(A,e){return"rtl"===e?1:0}},wn={name:"display",initialValue:"inline-block",prefix:!1,type:1,parse:function(A,e){return e.filter(Dt).reduce((function(A,e){return A|Qn(e.value)}),0)}},Qn=function(A){switch(A){case"block":case"-webkit-box":return 2;case"inline":return 4;case"run-in":return 8;case"flow":return 16;case"flow-root":return 32;case"table":return 64;case"flex":case"-webkit-flex":return 128;case"grid":case"-ms-grid":return 256;case"ruby":return 512;case"subgrid":return 1024;case"list-item":return 2048;case"table-row-group":return 4096;case"table-header-group":return 8192;case"table-footer-group":return 16384;case"table-row":return 32768;case"table-cell":return 65536;case"table-column-group":return 131072;case"table-column":return 262144;case"table-caption":return 524288;case"ruby-base":return 1048576;case"ruby-text":return 2097152;case"ruby-base-container":return 4194304;case"ruby-text-container":return 8388608;case"contents":return 16777216;case"inline-block":return 33554432;case"inline-list-item":return 67108864;case"inline-table":return 134217728;case"inline-flex":return 268435456;case"inline-grid":return 536870912}return 0},dn={name:"float",initialValue:"none",prefix:!1,type:2,parse:function(A,e){switch(e){case"left":return 1;case"right":return 2;case"inline-start":return 3;case"inline-end":return 4}return 0}},Cn={name:"letter-spacing",initialValue:"0",prefix:!1,type:0,parse:function(A,e){return 20===e.type&&"normal"===e.value?0:17===e.type||15===e.type?e.number:0}};!function(A){A.NORMAL="normal",A.STRICT="strict"}(Pr||(Pr={}));var hn,Un={name:"line-break",initialValue:"normal",prefix:!1,type:2,parse:function(A,e){return"strict"===e?Pr.STRICT:Pr.NORMAL}},Fn={name:"line-height",initialValue:"normal",prefix:!1,type:4},fn=function(A,e){return Dt(A)&&"normal"===A.value?1.2*e:17===A.type?e*A.number:Gt(A)?Wt(A,e):e},pn={name:"list-style-image",initialValue:"none",type:0,prefix:!1,parse:function(A,e){return 20===e.type&&"none"===e.value?null:xr.parse(A,e)}},mn={name:"list-style-position",initialValue:"outside",prefix:!1,type:2,parse:function(A,e){return"inside"===e?0:1}},En={name:"list-style-type",initialValue:"none",prefix:!1,type:2,parse:function(A,e){switch(e){case"disc":return 0;case"circle":return 1;case"square":return 2;case"decimal":return 3;case"cjk-decimal":return 4;case"decimal-leading-zero":return 5;case"lower-roman":return 6;case"upper-roman":return 7;case"lower-greek":return 8;case"lower-alpha":return 9;case"upper-alpha":return 10;case"arabic-indic":return 11;case"armenian":return 12;case"bengali":return 13;case"cambodian":return 14;case"cjk-earthly-branch":return 15;case"cjk-heavenly-stem":return 16;case"cjk-ideographic":return 17;case"devanagari":return 18;case"ethiopic-numeric":return 19;case"georgian":return 20;case"gujarati":return 21;case"gurmukhi":case"hebrew":return 22;case"hiragana":return 23;case"hiragana-iroha":return 24;case"japanese-formal":return 25;case"japanese-informal":return 26;case"kannada":return 27;case"katakana":return 28;case"katakana-iroha":return 29;case"khmer":return 30;case"korean-hangul-formal":return 31;case"korean-hanja-formal":return 32;case"korean-hanja-informal":return 33;case"lao":return 34;case"lower-armenian":return 35;case"malayalam":return 36;case"mongolian":return 37;case"myanmar":return 38;case"oriya":return 39;case"persian":return 40;case"simp-chinese-formal":return 41;case"simp-chinese-informal":return 42;case"tamil":return 43;case"telugu":return 44;case"thai":return 45;case"tibetan":return 46;case"trad-chinese-formal":return 47;case"trad-chinese-informal":return 48;case"upper-armenian":return 49;case"disclosure-open":return 50;case"disclosure-closed":return 51;default:return-1}}},Hn=function(A){return{name:"margin-"+A,initialValue:"0",prefix:!1,type:4}},yn=Hn("top"),vn=Hn("right"),In=Hn("bottom"),Kn=Hn("left"),bn={name:"overflow",initialValue:"visible",prefix:!1,type:1,parse:function(A,e){return e.filter(Dt).map((function(A){switch(A.value){case"hidden":return 1;case"scroll":return 2;case"clip":return 3;case"auto":return 4;default:return 0}}))}},Ln={name:"overflow-wrap",initialValue:"normal",prefix:!1,type:2,parse:function(A,e){return"break-word"===e?"break-word":"normal"}},Dn=function(A){return{name:"padding-"+A,initialValue:"0",prefix:!1,type:3,format:"length-percentage"}},xn=Dn("top"),Sn=Dn("right"),Mn=Dn("bottom"),Tn=Dn("left"),On={name:"text-align",initialValue:"left",prefix:!1,type:2,parse:function(A,e){switch(e){case"right":return 2;case"center":case"justify":return 1;default:return 0}}},kn={name:"position",initialValue:"static",prefix:!1,type:2,parse:function(A,e){switch(e){case"relative":return 1;case"absolute":return 2;case"fixed":return 3;case"sticky":return 4}return 0}},Vn={name:"text-shadow",initialValue:"none",type:1,prefix:!1,parse:function(A,e){return 1===e.length&&St(e[0],"none")?[]:Ot(e).map((function(e){for(var t={color:lr.TRANSPARENT,offsetX:Pt,offsetY:Pt,blur:Pt},r=0,n=0;n1?1:0],this.overflowWrap=hs(A,Ln,e.overflowWrap),this.paddingTop=hs(A,xn,e.paddingTop),this.paddingRight=hs(A,Sn,e.paddingRight),this.paddingBottom=hs(A,Mn,e.paddingBottom),this.paddingLeft=hs(A,Tn,e.paddingLeft),this.paintOrder=hs(A,gs,e.paintOrder),this.position=hs(A,kn,e.position),this.textAlign=hs(A,On,e.textAlign),this.textDecorationColor=hs(A,jn,null!==(t=e.textDecorationColor)&&void 0!==t?t:e.color),this.textDecorationLine=hs(A,zn,null!==(r=e.textDecorationLine)&&void 0!==r?r:e.textDecoration),this.textShadow=hs(A,Vn,e.textShadow),this.textTransform=hs(A,Gn,e.textTransform),this.transform=hs(A,Nn,e.transform),this.transformOrigin=hs(A,Jn,e.transformOrigin),this.visibility=hs(A,Wn,e.visibility),this.webkitTextStrokeColor=hs(A,us,e.webkitTextStrokeColor),this.webkitTextStrokeWidth=hs(A,ws,e.webkitTextStrokeWidth),this.wordBreak=hs(A,Yn,e.wordBreak),this.zIndex=hs(A,_n,e.zIndex)}return A.prototype.isVisible=function(){return this.display>0&&this.opacity>0&&0===this.visibility},A.prototype.isTransparent=function(){return tr(this.backgroundColor)},A.prototype.isTransformed=function(){return null!==this.transform},A.prototype.isPositioned=function(){return 0!==this.position},A.prototype.isPositionedWithZIndex=function(){return this.isPositioned()&&!this.zIndex.auto},A.prototype.isFloating=function(){return 0!==this.float},A.prototype.isInlineLevel=function(){return ns(this.display,4)||ns(this.display,33554432)||ns(this.display,268435456)||ns(this.display,536870912)||ns(this.display,67108864)||ns(this.display,134217728)},A}(),ds=function(){function A(A,e){this.content=hs(A,ss,e.content),this.quotes=hs(A,Bs,e.quotes)}return A}(),Cs=function(){function A(A,e){this.counterIncrement=hs(A,os,e.counterIncrement),this.counterReset=hs(A,is,e.counterReset)}return A}(),hs=function(A,e,t){var r=new It,n=null!=t?t.toString():e.initialValue;r.write(n);var s=new Kt(r.read());switch(e.type){case 2:var o=s.parseComponentValue();return e.parse(A,Dt(o)?o.value:e.initialValue);case 0:return e.parse(A,s.parseComponentValue());case 1:return e.parse(A,s.parseComponentValues());case 4:return s.parseComponentValue();case 3:switch(e.format){case"angle":return jt.parse(A,s.parseComponentValue());case"color":return er.parse(A,s.parseComponentValue());case"image":return xr.parse(A,s.parseComponentValue());case"length":var i=s.parseComponentValue();return Vt(i)?i:Pt;case"length-percentage":var a=s.parseComponentValue();return Gt(a)?a:Pt;case"time":return Zn.parse(A,s.parseComponentValue())}}},Us="data-html2canvas-debug",Fs=function(A){switch(A.getAttribute(Us)){case"all":return 1;case"clone":return 2;case"parse":return 3;case"render":return 4;default:return 0}},fs=function(A,e){var t=Fs(A);return 1===t||e===t},ps=function(){function A(A,e){this.context=A,this.textNodes=[],this.elements=[],this.flags=0,fs(e,3),this.styles=new Qs(A,window.getComputedStyle(e,null)),ci(e)&&(this.styles.animationDuration.some((function(A){return A>0}))&&(e.style.animationDuration="0s"),null!==this.styles.transform&&(e.style.transform="none")),this.bounds=i(this.context,e),fs(e,4)&&(this.flags|=16)}return A}(),ms="AAAAAAAAAAAAEA4AGBkAAFAaAAACAAAAAAAIABAAGAAwADgACAAQAAgAEAAIABAACAAQAAgAEAAIABAACAAQAAgAEAAIABAAQABIAEQATAAIABAACAAQAAgAEAAIABAAVABcAAgAEAAIABAACAAQAGAAaABwAHgAgACIAI4AlgAIABAAmwCjAKgAsAC2AL4AvQDFAMoA0gBPAVYBWgEIAAgACACMANoAYgFkAWwBdAF8AX0BhQGNAZUBlgGeAaMBlQGWAasBswF8AbsBwwF0AcsBYwHTAQgA2wG/AOMBdAF8AekB8QF0AfkB+wHiAHQBfAEIAAMC5gQIAAsCEgIIAAgAFgIeAggAIgIpAggAMQI5AkACygEIAAgASAJQAlgCYAIIAAgACAAKBQoFCgUTBRMFGQUrBSsFCAAIAAgACAAIAAgACAAIAAgACABdAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACABoAmgCrwGvAQgAbgJ2AggAHgEIAAgACADnAXsCCAAIAAgAgwIIAAgACAAIAAgACACKAggAkQKZAggAPADJAAgAoQKkAqwCsgK6AsICCADJAggA0AIIAAgACAAIANYC3gIIAAgACAAIAAgACABAAOYCCAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAkASoB+QIEAAgACAA8AEMCCABCBQgACABJBVAFCAAIAAgACAAIAAgACAAIAAgACABTBVoFCAAIAFoFCABfBWUFCAAIAAgACAAIAAgAbQUIAAgACAAIAAgACABzBXsFfQWFBYoFigWKBZEFigWKBYoFmAWfBaYFrgWxBbkFCAAIAAgACAAIAAgACAAIAAgACAAIAMEFCAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAMgFCADQBQgACAAIAAgACAAIAAgACAAIAAgACAAIAO4CCAAIAAgAiQAIAAgACABAAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAD0AggACAD8AggACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIANYFCAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAMDvwAIAAgAJAIIAAgACAAIAAgACAAIAAgACwMTAwgACAB9BOsEGwMjAwgAKwMyAwsFYgE3A/MEPwMIAEUDTQNRAwgAWQOsAGEDCAAIAAgACAAIAAgACABpAzQFNQU2BTcFOAU5BToFNAU1BTYFNwU4BTkFOgU0BTUFNgU3BTgFOQU6BTQFNQU2BTcFOAU5BToFNAU1BTYFNwU4BTkFOgU0BTUFNgU3BTgFOQU6BTQFNQU2BTcFOAU5BToFNAU1BTYFNwU4BTkFOgU0BTUFNgU3BTgFOQU6BTQFNQU2BTcFOAU5BToFNAU1BTYFNwU4BTkFOgU0BTUFNgU3BTgFOQU6BTQFNQU2BTcFOAU5BToFNAU1BTYFNwU4BTkFOgU0BTUFNgU3BTgFOQU6BTQFNQU2BTcFOAU5BToFNAU1BTYFNwU4BTkFOgU0BTUFNgU3BTgFOQU6BTQFNQU2BTcFOAU5BToFNAU1BTYFNwU4BTkFOgU0BTUFNgU3BTgFOQU6BTQFNQU2BTcFOAU5BToFNAU1BTYFNwU4BTkFOgU0BTUFNgU3BTgFOQU6BTQFNQU2BTcFOAU5BToFNAU1BTYFNwU4BTkFOgU0BTUFNgU3BTgFOQU6BTQFNQU2BTcFOAU5BToFNAU1BTYFNwU4BTkFOgU0BTUFNgU3BTgFOQU6BTQFNQU2BTcFOAU5BToFNAU1BTYFNwU4BTkFOgU0BTUFNgU3BTgFOQU6BTQFNQU2BTcFOAU5BToFNAU1BTYFNwU4BTkFOgU0BTUFNgU3BTgFOQU6BTQFNQU2BTcFOAU5BToFNAU1BTYFNwU4BTkFOgU0BTUFNgU3BTgFOQU6BTQFNQU2BTcFOAU5BToFNAU1BTYFNwU4BTkFOgU0BTUFNgU3BTgFOQU6BTQFNQU2BTcFOAU5BToFNAU1BTYFNwU4BTkFOgU0BTUFNgU3BTgFOQU6BTQFNQU2BTcFOAU5BToFNAU1BTYFNwU4BTkFOgU0BTUFNgU3BTgFOQU6BTQFNQU2BTcFOAU5BToFNAU1BTYFNwU4BTkFIQUoBSwFCAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACABtAwgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACABMAEwACAAIAAgACAAIABgACAAIAAgACAC/AAgACAAyAQgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACACAAIAAwAAgACAAIAAgACAAIAAgACAAIAAAARABIAAgACAAIABQASAAIAAgAIABwAEAAjgCIABsAqAC2AL0AigDQAtwC+IJIQqVAZUBWQqVAZUBlQGVAZUBlQGrC5UBlQGVAZUBlQGVAZUBlQGVAXsKlQGVAbAK6wsrDGUMpQzlDJUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAfAKAAuZA64AtwCJALoC6ADwAAgAuACgA/oEpgO6AqsD+AAIAAgAswMIAAgACAAIAIkAuwP5AfsBwwPLAwgACAAIAAgACADRA9kDCAAIAOED6QMIAAgACAAIAAgACADuA/YDCAAIAP4DyQAIAAgABgQIAAgAXQAOBAgACAAIAAgACAAIABMECAAIAAgACAAIAAgACAD8AAQBCAAIAAgAGgQiBCoECAExBAgAEAEIAAgACAAIAAgACAAIAAgACAAIAAgACAA4BAgACABABEYECAAIAAgATAQYAQgAVAQIAAgACAAIAAgACAAIAAgACAAIAFoECAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgAOQEIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAB+BAcACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAEABhgSMBAgACAAIAAgAlAQIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAwAEAAQABAADAAMAAwADAAQABAAEAAQABAAEAAQABHATAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgAdQMIAAgACAAIAAgACAAIAMkACAAIAAgAfQMIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACACFA4kDCAAIAAgACAAIAOcBCAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAIcDCAAIAAgACAAIAAgACAAIAAgACAAIAJEDCAAIAAgACADFAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACABgBAgAZgQIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgAbAQCBXIECAAIAHkECAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACABAAJwEQACjBKoEsgQIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAC6BMIECAAIAAgACAAIAAgACABmBAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgAxwQIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAGYECAAIAAgAzgQIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgAigWKBYoFigWKBYoFigWKBd0FXwUIAOIF6gXxBYoF3gT5BQAGCAaKBYoFigWKBYoFigWKBYoFigWKBYoFigXWBIoFigWKBYoFigWKBYoFigWKBYsFEAaKBYoFigWKBYoFigWKBRQGCACKBYoFigWKBQgACAAIANEECAAIABgGigUgBggAJgYIAC4GMwaKBYoF0wQ3Bj4GigWKBYoFigWKBYoFigWKBYoFigWKBYoFigUIAAgACAAIAAgACAAIAAgAigWKBYoFigWKBYoFigWKBYoFigWKBYoFigWKBYoFigWKBYoFigWKBYoFigWKBYoFigWKBYoFigWKBYoFigWLBf///////wQABAAEAAQABAAEAAQABAAEAAQAAwAEAAQAAgAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAAAAAAAAAAAAAAAAAAAAAAAAAOAAAAAAAAAAQADgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUABQAFAAUABQAFAAUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAAAAUAAAAFAAUAAAAFAAUAAAAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAAEAAQABAAEAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAUABQAFAAUABQAFAAUABQAFAAUABQAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUABQAFAAUABQAFAAUAAQAAAAUABQAFAAUABQAFAAAAAAAFAAUAAAAFAAUABQAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEAAAAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFAAUABQAFAAUABQAFAAUABQAFAAUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFAAUABQAFAAUABQAFAAUABQAAAAAAAAAAAAAAAAAAAAAAAAAFAAAAAAAFAAUAAQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABwAFAAUABQAFAAAABwAHAAcAAAAHAAcABwAFAAEAAAAAAAAAAAAAAAAAAAAAAAUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHAAcABwAFAAUABQAFAAcABwAFAAUAAAAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHAAAAAQABAAAAAAAAAAAAAAAFAAUABQAFAAAABwAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABQAHAAcABwAHAAcAAAAHAAcAAAAAAAUABQAHAAUAAQAHAAEABwAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABQAFAAUABQAFAAUABwABAAUABQAFAAUAAAAAAAAAAAAAAAEAAQABAAEAAQABAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABwAFAAUAAAAAAAAAAAAAAAAABQAFAAUABQAFAAUAAQAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUABQAFAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQABQANAAQABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQABAAEAAQABAAEAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAOAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAAEAAQABAAEAAQABAAEAAQABAAEAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEAAQABAAEAAQABAAEAAQABAAAAAAAAAAAAAAAAAAAAAAABQAHAAUABQAFAAAAAAAAAAcABQAFAAUABQAFAAQABAAEAAQABAAEAAQABAAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUABQAFAAUAAAAFAAUABQAFAAUAAAAFAAUABQAAAAUABQAFAAUABQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFAAUABQAAAAAAAAAAAAUABQAFAAcAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABQAHAAUAAAAHAAcABwAFAAUABQAFAAUABQAFAAUABwAHAAcABwAFAAcABwAAAAUABQAFAAUABQAFAAUAAAAAAAAAAAAAAAAAAAAAAAAAAAAFAAUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUABwAHAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABQAAAAUABwAHAAUABQAFAAUAAAAAAAcABwAAAAAABwAHAAUAAAAAAAAAAAAAAAAAAAAAAAAABQAAAAAAAAAAAAAAAAAAAAAAAAAAAAUABQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABQAAAAAABQAFAAcAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFAAAABwAHAAcABQAFAAAAAAAAAAAABQAFAAAAAAAFAAUABQAAAAAAAAAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUABQAAAAAAAAAFAAAAAAAAAAAAAAAAAAAAAAAAAAAABwAFAAUABQAFAAUAAAAFAAUABwAAAAcABwAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFAAUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFAAUABQAFAAUABQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUAAAAFAAUABwAFAAUABQAFAAAAAAAHAAcAAAAAAAcABwAFAAAAAAAAAAAAAAAAAAAABQAFAAUAAAAAAAAAAAAAAAAAAAAAAAAAAAAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFAAcABwAAAAAAAAAHAAcABwAAAAcABwAHAAUAAAAAAAAAAAAAAAAAAAAAAAAABQAAAAAAAAAAAAAAAAAAAAAABQAHAAcABwAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUABwAHAAcABwAAAAUABQAFAAAABQAFAAUABQAAAAAAAAAAAAAAAAAAAAUABQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABQAAAAcABQAHAAcABQAHAAcAAAAFAAcABwAAAAcABwAFAAUAAAAAAAAAAAAAAAAAAAAFAAUAAAAAAAAAAAAAAAAAAAAAAAAABQAFAAcABwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUABQAAAAUABwAAAAAAAAAAAAAAAAAAAAAAAAAAAAUAAAAAAAAAAAAFAAcABwAFAAUABQAAAAUAAAAHAAcABwAHAAcABwAHAAUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUAAAAHAAUABQAFAAUABQAFAAUAAAAAAAAAAAAAAAAAAAAAAAUABQAFAAUABQAFAAUABQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFAAAABwAFAAUABQAFAAUABQAFAAUABQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABQAFAAUABQAFAAUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUABQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABQAAAAUAAAAFAAAAAAAAAAAABwAHAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABwAFAAUABQAFAAUAAAAFAAUAAAAAAAAAAAAAAAUABQAFAAUABQAFAAUABQAFAAUABQAAAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUABQAFAAUABwAFAAUABQAFAAUABQAAAAUABQAHAAcABQAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHAAcABQAFAAAAAAAAAAAABQAFAAUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFAAUABQAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABQAAAAcABQAFAAAAAAAAAAAAAAAAAAUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABQAFAAUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUABQAHAAUABQAFAAUABQAFAAUABwAHAAcABwAHAAcABwAHAAUABwAHAAUABQAFAAUABQAFAAUABQAFAAUABQAAAAAAAAAAAAAAAAAAAAAAAAAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABQAFAAUABwAHAAcABwAFAAUABwAHAAcAAAAAAAAAAAAHAAcABQAHAAcABwAHAAcABwAFAAUABQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABQAFAAcABwAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAcABQAHAAUABQAFAAUABQAFAAUAAAAFAAAABQAAAAAABQAFAAUABQAFAAUABQAFAAcABwAHAAcABwAHAAUABQAFAAUABQAFAAUABQAFAAUAAAAAAAUABQAFAAUABQAHAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUABQAFAAUABQAFAAUABwAFAAcABwAHAAcABwAFAAcABwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFAAUABQAFAAUABQAFAAUABQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFAAUABwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHAAUABQAFAAUABwAHAAUABQAHAAUABQAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFAAcABQAFAAcABwAHAAUABwAFAAUABQAHAAcAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABwAHAAcABwAHAAcABwAHAAUABQAFAAUABQAFAAUABQAHAAcABQAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABQAFAAUAAAAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAcABQAFAAUABQAFAAUABQAAAAAAAAAAAAUAAAAAAAAAAAAAAAAABQAAAAAABwAFAAUAAAAAAAAAAAAAAAAABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAAABQAFAAUABQAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUABQAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABQAFAAUABQAFAAUADgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAOAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUABQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUABQAFAAUAAAAFAAUABQAFAAUABQAFAAUABQAFAAAAAAAAAAAABQAAAAAAAAAFAAAAAAAAAAAABQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABwAHAAUABQAHAAAAAAAAAAAABQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAcABwAHAAcABQAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUAAAAAAAAAAAAAAAAABQAFAAUABQAFAAUABQAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUABQAFAAUABQAFAAUABQAFAAUABQAHAAcAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFAAcABwAFAAUABQAFAAcABwAFAAUABwAHAAAAAAAAAAAAAAAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUABQAFAAUABQAFAAcABwAFAAUABwAHAAUABQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFAAAAAAAAAAAAAAAAAAAAAAAFAAcAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUAAAAFAAUABQAAAAAABQAFAAAAAAAAAAAAAAAFAAUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAcABQAFAAcABwAAAAAAAAAAAAAABwAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAcABwAFAAcABwAFAAcABwAAAAcABQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUABQAFAAUABQAAAAAAAAAAAAAAAAAFAAUABQAAAAUABQAAAAAAAAAAAAAABQAFAAUABQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFAAUABQAAAAAAAAAAAAUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUABQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAcABQAHAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFAAUABQAFAAUABwAFAAUABQAFAAUABQAFAAUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABwAHAAcABQAFAAUABQAFAAUABQAFAAUABwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHAAcABwAFAAUABQAHAAcABQAHAAUABQAAAAAAAAAAAAAAAAAFAAAABwAHAAcABQAFAAUABQAFAAUABQAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUABwAHAAcABwAAAAAABwAHAAAAAAAHAAcABwAAAAAAAAAAAAAAAAAAAAAAAAAFAAAAAAAAAAAAAAAAAAAAAAAAAAAABwAHAAAAAAAFAAUABQAFAAUABQAFAAAAAAAAAAUABQAFAAUABQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHAAcABwAFAAUABQAFAAUABQAFAAUABwAHAAUABQAFAAcABQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABQAHAAcABQAFAAUABQAFAAUABwAFAAcABwAFAAcABQAFAAcABQAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABQAHAAcABQAFAAUABQAAAAAABwAHAAcABwAFAAUABwAFAAUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABQAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAcABwAHAAUABQAFAAUABQAFAAUABQAHAAcABQAHAAUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUABwAFAAcABwAFAAUABQAFAAUABQAHAAUAAAAAAAAAAAAAAAAAAAAAAAcABwAFAAUABQAFAAcABQAFAAUABQAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHAAcABwAFAAUABQAFAAUABQAFAAUABQAHAAUABQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHAAcABwAFAAUABQAFAAAAAAAFAAUABwAHAAcABwAFAAAAAAAAAAcAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFAAUABQAFAAUABQAFAAUABQAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUAAAAAAAAAAAAAAAAAAAAAAAAABQAFAAUABQAFAAUABwAHAAUABQAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAcABQAFAAUABQAFAAUABQAAAAUABQAFAAUABQAFAAcABQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAAAAHAAUABQAFAAUABQAFAAUABwAFAAUABwAFAAUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABQAFAAUABQAFAAUAAAAAAAAABQAAAAUABQAAAAUAAAAAAAAAAAAAAAAAAAAAAAAAAAAHAAcABwAHAAcAAAAFAAUAAAAHAAcABQAHAAUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFAAUABwAHAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFAAUABQAFAAUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFAAUABQAFAAUABQAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABQAAAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAAAAAAAAAAAAAAAAAAABQAFAAUABQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAcABwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUABQAAAAUABQAFAAAAAAAFAAUABQAFAAUABQAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABQAFAAUABQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABQAFAAUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAAAAAAAAAAABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAAAAAAAAAAAAAAAAAAAAAAFAAAAAAAAAAAAAAAAAAAAAAAAAAAABQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUABQAFAAUABQAAAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABQAFAAUABQAFAAUABQAAAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAAAAAABQAFAAUABQAFAAUABQAAAAUABQAAAAUABQAFAAUABQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFAAUABQAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABQAFAAUABQAFAAUABQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAFAAUABQAFAAUADgAOAA4ADgAOAA4ADwAPAA8ADwAPAA8ADwAPAA8ADwAPAA8ADwAPAA8ADwAPAA8ADwAPAA8ADwAPAA8ADwAPAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAcABwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABwAHAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAAAAAAAAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAKAAoACgAKAAoACgAKAAoACgAKAAoACgAKAAoACgAKAAoACgAKAAoACgAKAAoACgAMAAwADAAMAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkAAAAAAAAAAAAKAAoACgAKAAoACgAKAAoACgAKAAoACgAKAAoACgAKAAoACgAKAAoACgAKAAoACgAKAAoACgAKAAoACgAKAAoACgAAAAAAAAAAAAsADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwACwAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAAAAAADgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA4AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAOAA4ADgAOAA4ADgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADgAOAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA4ADgAAAAAAAAAAAAAAAAAAAAAADgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADgAOAA4ADgAOAA4ADgAOAA4ADgAOAAAAAAAAAAAADgAOAA4AAAAAAAAAAAAAAAAAAAAOAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADgAOAAAAAAAAAAAAAAAAAAAAAAAAAAAADgAAAAAAAAAAAAAAAAAAAAAAAAAOAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADgAOAA4ADgAAAA4ADgAOAA4ADgAOAAAADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4AAAAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAAAAAAAAAAAAAAAAAAAAAAAAAAAADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4AAAAAAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAAAA4AAAAOAAAAAAAAAAAAAAAAAA4AAAAAAAAAAAAAAAAADgAAAAAAAAAAAAAAAAAAAAAAAAAAAA4ADgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADgAAAAAADgAAAAAAAAAAAA4AAAAOAAAAAAAAAAAADgAOAA4AAAAOAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAOAA4ADgAOAA4AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAOAA4ADgAAAAAAAAAAAAAAAAAAAAAAAAAOAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAOAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAOAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAOAA4AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA4ADgAOAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADgAOAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADgAAAAAAAAAAAA4AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAOAAAADgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAOAA4ADgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA4ADgAOAA4ADgAOAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA4ADgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADgAAAAAADgAOAA4ADgAOAA4ADgAOAA4ADgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAAAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAAAAAAAAAAAAAAAAAAAAAAAAAAAADgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA4AAAAAAA4ADgAOAA4ADgAOAA4ADgAOAAAADgAOAA4ADgAAAAAAAAAAAAAAAAAAAAAAAAAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4AAAAAAAAAAAAAAAAADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAOAA4ADgAOAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADgAOAA4ADgAOAA4ADgAOAAAAAAAAAAAAAAAAAAAAAAAAAAAADgAOAA4ADgAOAA4AAAAAAAAAAAAAAAAAAAAAAA4ADgAOAA4ADgAOAA4ADgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4AAAAOAA4ADgAOAA4ADgAAAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4AAAAAAAAAAAA=",Es="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/",Hs="undefined"==typeof Uint8Array?[]:new Uint8Array(256),ys=0;ys>4,c[a++]=(15&r)<<4|n>>2,c[a++]=(3&n)<<6|63&s;return B},Is=function(A){for(var e=A.length,t=[],r=0;r>bs,Ss=(1<>bs)+32,Ts=65536>>Ls,Os=(1<=0){if(A<55296||A>56319&&A<=65535)return e=((e=this.index[A>>bs])<>bs)])<>Ls),e=this.index[e],e+=A>>bs&Os,e=((e=this.index[e])<=55296&&n<=56319&&t>10),o%1024+56320)),(n+1===t||r.length>16384)&&(s+=String.fromCharCode.apply(String,r),r.length=0)}return s},ao=Gs(ms),Bo="×",co="÷",lo=function(A){return ao.get(A)},go=function(A,e,t){var r=t-2,n=e[r],s=e[t-1],o=e[t];if(s===Ys&&o===_s)return Bo;if(s===Ys||s===_s||s===Zs)return co;if(o===Ys||o===_s||o===Zs)return co;if(s===zs&&-1!==[zs,$s,eo,to].indexOf(o))return Bo;if(!(s!==eo&&s!==$s||o!==$s&&o!==Ao))return Bo;if((s===to||s===Ao)&&o===Ao)return Bo;if(o===ro||o===qs)return Bo;if(o===js)return Bo;if(s===Ws)return Bo;if(s===ro&&o===no){for(;n===qs;)n=e[--r];if(n===no)return Bo}if(s===so&&o===so){for(var i=0;n===so;)i++,n=e[--r];if(i%2==0)return Bo}return co},uo=function(A){var e=oo(A),t=e.length,r=0,n=0,s=e.map(lo);return{next:function(){if(r>=t)return{done:!0,value:null};for(var A=Bo;ro.x||n.y>o.y;return o=n,0===e||i}));return A.body.removeChild(e),i},ho=function(){return void 0!==(new Image).crossOrigin},Uo=function(){return"string"==typeof(new XMLHttpRequest).responseType},Fo=function(A){var e=new Image,t=A.createElement("canvas"),r=t.getContext("2d");if(!r)return!1;e.src="data:image/svg+xml,";try{r.drawImage(e,0,0),t.toDataURL()}catch(A){return!1}return!0},fo=function(A){return 0===A[0]&&255===A[1]&&0===A[2]&&255===A[3]},po=function(A){var e=A.createElement("canvas"),t=100;e.width=t,e.height=t;var r=e.getContext("2d");if(!r)return Promise.reject(!1);r.fillStyle="rgb(0, 255, 0)",r.fillRect(0,0,t,t);var n=new Image,s=e.toDataURL();n.src=s;var o=mo(t,t,0,0,n);return r.fillStyle="red",r.fillRect(0,0,t,t),Eo(o).then((function(e){r.drawImage(e,0,0);var n=r.getImageData(0,0,t,t).data;r.fillStyle="red",r.fillRect(0,0,t,t);var o=A.createElement("div");return o.style.backgroundImage="url("+s+")",o.style.height=t+"px",fo(n)?Eo(mo(t,t,0,0,o)):Promise.reject(!1)})).then((function(A){return r.drawImage(A,0,0),fo(r.getImageData(0,0,t,t).data)})).catch((function(){return!1}))},mo=function(A,e,t,r,n){var s="http://www.w3.org/2000/svg",o=document.createElementNS(s,"svg"),i=document.createElementNS(s,"foreignObject");return o.setAttributeNS(null,"width",A.toString()),o.setAttributeNS(null,"height",e.toString()),i.setAttributeNS(null,"width","100%"),i.setAttributeNS(null,"height","100%"),i.setAttributeNS(null,"x",t.toString()),i.setAttributeNS(null,"y",r.toString()),i.setAttributeNS(null,"externalResourcesRequired","true"),o.appendChild(i),i.appendChild(n),o},Eo=function(A){return new Promise((function(e,t){var r=new Image;r.onload=function(){return e(r)},r.onerror=t,r.src="data:image/svg+xml;charset=utf-8,"+encodeURIComponent((new XMLSerializer).serializeToString(A))}))},Ho={get SUPPORT_RANGE_BOUNDS(){var A=Qo(document);return Object.defineProperty(Ho,"SUPPORT_RANGE_BOUNDS",{value:A}),A},get SUPPORT_WORD_BREAKING(){var A=Ho.SUPPORT_RANGE_BOUNDS&&Co(document);return Object.defineProperty(Ho,"SUPPORT_WORD_BREAKING",{value:A}),A},get SUPPORT_SVG_DRAWING(){var A=Fo(document);return Object.defineProperty(Ho,"SUPPORT_SVG_DRAWING",{value:A}),A},get SUPPORT_FOREIGNOBJECT_DRAWING(){var A="function"==typeof Array.from&&"function"==typeof window.fetch?po(document):Promise.resolve(!1);return Object.defineProperty(Ho,"SUPPORT_FOREIGNOBJECT_DRAWING",{value:A}),A},get SUPPORT_CORS_IMAGES(){var A=ho();return Object.defineProperty(Ho,"SUPPORT_CORS_IMAGES",{value:A}),A},get SUPPORT_RESPONSE_TYPE(){var A=Uo();return Object.defineProperty(Ho,"SUPPORT_RESPONSE_TYPE",{value:A}),A},get SUPPORT_CORS_XHR(){var A="withCredentials"in new XMLHttpRequest;return Object.defineProperty(Ho,"SUPPORT_CORS_XHR",{value:A}),A},get SUPPORT_NATIVE_TEXT_SEGMENTATION(){var A=!("undefined"==typeof Intl||!Intl.Segmenter);return Object.defineProperty(Ho,"SUPPORT_NATIVE_TEXT_SEGMENTATION",{value:A}),A}},yo=function(){function A(A,e){this.text=A,this.bounds=e}return A}(),vo=function(A,e,t,r){var n=Do(e,t),s=[],i=0;return n.forEach((function(e){if(t.textDecorationLine.length||e.trim().length>0)if(Ho.SUPPORT_RANGE_BOUNDS){var n=Ko(r,i,e.length).getClientRects();if(n.length>1){var a=bo(e),B=0;a.forEach((function(e){s.push(new yo(e,o.fromDOMRectList(A,Ko(r,B+i,e.length).getClientRects()))),B+=e.length}))}else s.push(new yo(e,o.fromDOMRectList(A,n)))}else{var c=r.splitText(e.length);s.push(new yo(e,Io(A,r))),r=c}else Ho.SUPPORT_RANGE_BOUNDS||(r=r.splitText(e.length));i+=e.length})),s},Io=function(A,e){var t=e.ownerDocument;if(t){var r=t.createElement("html2canvaswrapper");r.appendChild(e.cloneNode(!0));var n=e.parentNode;if(n){n.replaceChild(r,e);var s=i(A,r);return r.firstChild&&n.replaceChild(r.firstChild,r),s}}return o.EMPTY},Ko=function(A,e,t){var r=A.ownerDocument;if(!r)throw new Error("Node has no owner document");var n=r.createRange();return n.setStart(A,e),n.setEnd(A,e+t),n},bo=function(A){if(Ho.SUPPORT_NATIVE_TEXT_SEGMENTATION){var e=new Intl.Segmenter(void 0,{granularity:"grapheme"});return Array.from(e.segment(A)).map((function(A){return A.segment}))}return wo(A)},Lo=function(A,e){if(Ho.SUPPORT_NATIVE_TEXT_SEGMENTATION){var t=new Intl.Segmenter(void 0,{granularity:"word"});return Array.from(t.segment(A)).map((function(A){return A.segment}))}return So(A,e)},Do=function(A,e){return 0!==e.letterSpacing?bo(A):Lo(A,e)},xo=[32,160,4961,65792,65793,4153,4241],So=function(A,e){for(var t,r=PA(A,{lineBreak:e.lineBreak,wordBreak:"break-word"===e.overflowWrap?"break-word":e.wordBreak}),n=[],s=function(){if(t.value){var A=t.value.slice(),e=B(A),r="";e.forEach((function(A){-1===xo.indexOf(A)?r+=c(A):(r.length&&n.push(r),n.push(c(A)),r="")})),r.length&&n.push(r)}};!(t=r.next()).done;)s();return n},Mo=function(){function A(A,e,t){this.text=To(e.data,t.textTransform),this.textBounds=vo(A,this.text,t,e)}return A}(),To=function(A,e){switch(e){case 1:return A.toLowerCase();case 3:return A.replace(Oo,ko);case 2:return A.toUpperCase();default:return A}},Oo=/(^|\s|:|-|\(|\))([a-z])/g,ko=function(A,e,t){return A.length>0?e+t.toUpperCase():A},Vo=function(A){function t(e,t){var r=A.call(this,e,t)||this;return r.src=t.currentSrc||t.src,r.intrinsicWidth=t.naturalWidth,r.intrinsicHeight=t.naturalHeight,r.context.cache.addImage(r.src),r}return e(t,A),t}(ps),Go=function(A){function t(e,t){var r=A.call(this,e,t)||this;return r.canvas=t,r.intrinsicWidth=t.width,r.intrinsicHeight=t.height,r}return e(t,A),t}(ps),No=function(A){function t(e,t){var r=A.call(this,e,t)||this,n=new XMLSerializer,s=i(e,t);return t.setAttribute("width",s.width+"px"),t.setAttribute("height",s.height+"px"),r.svg="data:image/svg+xml,"+encodeURIComponent(n.serializeToString(t)),r.intrinsicWidth=t.width.baseVal.value,r.intrinsicHeight=t.height.baseVal.value,r.context.cache.addImage(r.svg),r}return e(t,A),t}(ps),Po=function(A){function t(e,t){var r=A.call(this,e,t)||this;return r.value=t.value,r}return e(t,A),t}(ps),Ro=function(A){function t(e,t){var r=A.call(this,e,t)||this;return r.start=t.start,r.reversed="boolean"==typeof t.reversed&&!0===t.reversed,r}return e(t,A),t}(ps),Xo=[{type:15,flags:0,unit:"px",number:3}],Jo=[{type:16,flags:0,number:50}],Wo=function(A){return A.width>A.height?new o(A.left+(A.width-A.height)/2,A.top,A.height,A.height):A.width0)t.textNodes.push(new Mo(A,n,t.styles));else if(Bi(n))if(yi(n)&&n.assignedNodes)n.assignedNodes().forEach((function(e){return ri(A,e,t,r)}));else{var o=ni(A,n);o.styles.isVisible()&&(oi(n,o,r)?o.flags|=4:ii(o.styles)&&(o.flags|=2),-1!==ti.indexOf(n.tagName)&&(o.flags|=8),t.elements.push(o),n.slot,n.shadowRoot?ri(A,n.shadowRoot,o,r):Ei(n)||di(n)||Hi(n)||ri(A,n,o,r))}},ni=function(A,e){return Fi(e)?new Vo(A,e):hi(e)?new Go(A,e):di(e)?new No(A,e):gi(e)?new Po(A,e):ui(e)?new Ro(A,e):wi(e)?new zo(A,e):Hi(e)?new $o(A,e):Ei(e)?new Ai(A,e):fi(e)?new ei(A,e):new ps(A,e)},si=function(A,e){var t=ni(A,e);return t.flags|=4,ri(A,e,t,t),t},oi=function(A,e,t){return e.styles.isPositionedWithZIndex()||e.styles.opacity<1||e.styles.isTransformed()||Ci(A)&&t.styles.isTransparent()},ii=function(A){return A.isPositioned()||A.isFloating()},ai=function(A){return A.nodeType===Node.TEXT_NODE},Bi=function(A){return A.nodeType===Node.ELEMENT_NODE},ci=function(A){return Bi(A)&&void 0!==A.style&&!li(A)},li=function(A){return"object"==typeof A.className},gi=function(A){return"LI"===A.tagName},ui=function(A){return"OL"===A.tagName},wi=function(A){return"INPUT"===A.tagName},Qi=function(A){return"HTML"===A.tagName},di=function(A){return"svg"===A.tagName},Ci=function(A){return"BODY"===A.tagName},hi=function(A){return"CANVAS"===A.tagName},Ui=function(A){return"VIDEO"===A.tagName},Fi=function(A){return"IMG"===A.tagName},fi=function(A){return"IFRAME"===A.tagName},pi=function(A){return"STYLE"===A.tagName},mi=function(A){return"SCRIPT"===A.tagName},Ei=function(A){return"TEXTAREA"===A.tagName},Hi=function(A){return"SELECT"===A.tagName},yi=function(A){return"SLOT"===A.tagName},vi=function(A){return A.tagName.indexOf("-")>0},Ii=function(){function A(){this.counters={}}return A.prototype.getCounterValue=function(A){var e=this.counters[A];return e&&e.length?e[e.length-1]:1},A.prototype.getCounterValues=function(A){var e=this.counters[A];return e||[]},A.prototype.pop=function(A){var e=this;A.forEach((function(A){return e.counters[A].pop()}))},A.prototype.parse=function(A){var e=this,t=A.counterIncrement,r=A.counterReset,n=!0;null!==t&&t.forEach((function(A){var t=e.counters[A.counter];t&&0!==A.increment&&(n=!1,t.length||t.push(1),t[Math.max(0,t.length-1)]+=A.increment)}));var s=[];return n&&r.forEach((function(A){var t=e.counters[A.counter];s.push(A.counter),t||(t=e.counters[A.counter]=[]),t.push(A.reset)})),s},A}(),Ki={integers:[1e3,900,500,400,100,90,50,40,10,9,5,4,1],values:["M","CM","D","CD","C","XC","L","XL","X","IX","V","IV","I"]},bi={integers:[9e3,8e3,7e3,6e3,5e3,4e3,3e3,2e3,1e3,900,800,700,600,500,400,300,200,100,90,80,70,60,50,40,30,20,10,9,8,7,6,5,4,3,2,1],values:["Ք","Փ","Ւ","Ց","Ր","Տ","Վ","Ս","Ռ","Ջ","Պ","Չ","Ո","Շ","Ն","Յ","Մ","Ճ","Ղ","Ձ","Հ","Կ","Ծ","Խ","Լ","Ի","Ժ","Թ","Ը","Է","Զ","Ե","Դ","Գ","Բ","Ա"]},Li={integers:[1e4,9e3,8e3,7e3,6e3,5e3,4e3,3e3,2e3,1e3,400,300,200,100,90,80,70,60,50,40,30,20,19,18,17,16,15,10,9,8,7,6,5,4,3,2,1],values:["י׳","ט׳","ח׳","ז׳","ו׳","ה׳","ד׳","ג׳","ב׳","א׳","ת","ש","ר","ק","צ","פ","ע","ס","נ","מ","ל","כ","יט","יח","יז","טז","טו","י","ט","ח","ז","ו","ה","ד","ג","ב","א"]},Di={integers:[1e4,9e3,8e3,7e3,6e3,5e3,4e3,3e3,2e3,1e3,900,800,700,600,500,400,300,200,100,90,80,70,60,50,40,30,20,10,9,8,7,6,5,4,3,2,1],values:["ჵ","ჰ","ჯ","ჴ","ხ","ჭ","წ","ძ","ც","ჩ","შ","ყ","ღ","ქ","ფ","ჳ","ტ","ს","რ","ჟ","პ","ო","ჲ","ნ","მ","ლ","კ","ი","თ","ჱ","ზ","ვ","ე","დ","გ","ბ","ა"]},xi=function(A,e,t,r,n,s){return At?Wi(A,n,s.length>0):r.integers.reduce((function(e,t,n){for(;A>=t;)A-=t,e+=r.values[n];return e}),"")+s},Si=function(A,e,t,r){var n="";do{t||A--,n=r(A)+n,A/=e}while(A*e>=e);return n},Mi=function(A,e,t,r,n){var s=t-e+1;return(A<0?"-":"")+(Si(Math.abs(A),s,r,(function(A){return c(Math.floor(A%s)+e)}))+n)},Ti=function(A,e,t){void 0===t&&(t=". ");var r=e.length;return Si(Math.abs(A),r,!1,(function(A){return e[Math.floor(A%r)]}))+t},Oi=1,ki=2,Vi=4,Gi=8,Ni=function(A,e,t,r,n,s){if(A<-9999||A>9999)return Wi(A,4,n.length>0);var o=Math.abs(A),i=n;if(0===o)return e[0]+i;for(var a=0;o>0&&a<=4;a++){var B=o%10;0===B&&ns(s,Oi)&&""!==i?i=e[B]+i:B>1||1===B&&0===a||1===B&&1===a&&ns(s,ki)||1===B&&1===a&&ns(s,Vi)&&A>100||1===B&&a>1&&ns(s,Gi)?i=e[B]+(a>0?t[a-1]:"")+i:1===B&&a>0&&(i=t[a-1]+i),o=Math.floor(o/10)}return(A<0?r:"")+i},Pi="十百千萬",Ri="拾佰仟萬",Xi="マイナス",Ji="마이너스",Wi=function(A,e,t){var r=t?". ":"",n=t?"、":"",s=t?", ":"",o=t?" ":"";switch(e){case 0:return"•"+o;case 1:return"◦"+o;case 2:return"◾"+o;case 5:var i=Mi(A,48,57,!0,r);return i.length<4?"0"+i:i;case 4:return Ti(A,"〇一二三四五六七八九",n);case 6:return xi(A,1,3999,Ki,3,r).toLowerCase();case 7:return xi(A,1,3999,Ki,3,r);case 8:return Mi(A,945,969,!1,r);case 9:return Mi(A,97,122,!1,r);case 10:return Mi(A,65,90,!1,r);case 11:return Mi(A,1632,1641,!0,r);case 12:case 49:return xi(A,1,9999,bi,3,r);case 35:return xi(A,1,9999,bi,3,r).toLowerCase();case 13:return Mi(A,2534,2543,!0,r);case 14:case 30:return Mi(A,6112,6121,!0,r);case 15:return Ti(A,"子丑寅卯辰巳午未申酉戌亥",n);case 16:return Ti(A,"甲乙丙丁戊己庚辛壬癸",n);case 17:case 48:return Ni(A,"零一二三四五六七八九",Pi,"負",n,ki|Vi|Gi);case 47:return Ni(A,"零壹貳參肆伍陸柒捌玖",Ri,"負",n,Oi|ki|Vi|Gi);case 42:return Ni(A,"零一二三四五六七八九",Pi,"负",n,ki|Vi|Gi);case 41:return Ni(A,"零壹贰叁肆伍陆柒捌玖",Ri,"负",n,Oi|ki|Vi|Gi);case 26:return Ni(A,"〇一二三四五六七八九","十百千万",Xi,n,0);case 25:return Ni(A,"零壱弐参四伍六七八九","拾百千万",Xi,n,Oi|ki|Vi);case 31:return Ni(A,"영일이삼사오육칠팔구","십백천만",Ji,s,Oi|ki|Vi);case 33:return Ni(A,"零一二三四五六七八九","十百千萬",Ji,s,0);case 32:return Ni(A,"零壹貳參四五六七八九","拾百千",Ji,s,Oi|ki|Vi);case 18:return Mi(A,2406,2415,!0,r);case 20:return xi(A,1,19999,Di,3,r);case 21:return Mi(A,2790,2799,!0,r);case 22:return Mi(A,2662,2671,!0,r);case 22:return xi(A,1,10999,Li,3,r);case 23:return Ti(A,"あいうえおかきくけこさしすせそたちつてとなにぬねのはひふへほまみむめもやゆよらりるれろわゐゑをん");case 24:return Ti(A,"いろはにほへとちりぬるをわかよたれそつねならむうゐのおくやまけふこえてあさきゆめみしゑひもせす");case 27:return Mi(A,3302,3311,!0,r);case 28:return Ti(A,"アイウエオカキクケコサシスセソタチツテトナニヌネノハヒフヘホマミムメモヤユヨラリルレロワヰヱヲン",n);case 29:return Ti(A,"イロハニホヘトチリヌルヲワカヨタレソツネナラムウヰノオクヤマケフコエテアサキユメミシヱヒモセス",n);case 34:return Mi(A,3792,3801,!0,r);case 37:return Mi(A,6160,6169,!0,r);case 38:return Mi(A,4160,4169,!0,r);case 39:return Mi(A,2918,2927,!0,r);case 40:return Mi(A,1776,1785,!0,r);case 43:return Mi(A,3046,3055,!0,r);case 44:return Mi(A,3174,3183,!0,r);case 45:return Mi(A,3664,3673,!0,r);case 46:return Mi(A,3872,3881,!0,r);default:return Mi(A,48,57,!0,r)}},Yi="data-html2canvas-ignore",_i=function(){function A(A,e,t){if(this.context=A,this.options=t,this.scrolledElements=[],this.referenceElement=e,this.counters=new Ii,this.quoteDepth=0,!e.ownerDocument)throw new Error("Cloned element does not have an owner document");this.documentElement=this.cloneNode(e.ownerDocument.documentElement,!1)}return A.prototype.toIFrame=function(A,e){var t=this,s=qi(A,e);if(!s.contentWindow)return Promise.reject("Unable to find iframe window");var o=A.defaultView.pageXOffset,i=A.defaultView.pageYOffset,a=s.contentWindow,B=a.document,c=$i(s).then((function(){return r(t,void 0,void 0,(function(){var A,t;return n(this,(function(r){switch(r.label){case 0:return this.scrolledElements.forEach(na),a&&(a.scrollTo(e.left,e.top),!/(iPad|iPhone|iPod)/g.test(navigator.userAgent)||a.scrollY===e.top&&a.scrollX===e.left||(this.context.logger.warn("Unable to restore scroll position for cloned document"),this.context.windowBounds=this.context.windowBounds.add(a.scrollX-e.left,a.scrollY-e.top,0,0))),A=this.options.onclone,void 0===(t=this.clonedReferenceElement)?[2,Promise.reject("Error finding the "+this.referenceElement.nodeName+" in the cloned document")]:B.fonts&&B.fonts.ready?[4,B.fonts.ready]:[3,2];case 1:r.sent(),r.label=2;case 2:return/(AppleWebKit)/g.test(navigator.userAgent)?[4,zi(B)]:[3,4];case 3:r.sent(),r.label=4;case 4:return"function"==typeof A?[2,Promise.resolve().then((function(){return A(B,t)})).then((function(){return s}))]:[2,s]}}))}))}));return B.open(),B.write(ta(document.doctype)+""),ra(this.referenceElement.ownerDocument,o,i),B.replaceChild(B.adoptNode(this.documentElement),B.documentElement),B.close(),c},A.prototype.createElementClone=function(A){if(fs(A,2),hi(A))return this.createCanvasClone(A);if(Ui(A))return this.createVideoClone(A);if(pi(A))return this.createStyleClone(A);var e=A.cloneNode(!1);return Fi(e)&&(Fi(A)&&A.currentSrc&&A.currentSrc!==A.src&&(e.src=A.currentSrc,e.srcset=""),"lazy"===e.loading&&(e.loading="eager")),vi(e)?this.createCustomElementClone(e):e},A.prototype.createCustomElementClone=function(A){var e=document.createElement("html2canvascustomelement");return ea(A.style,e),e},A.prototype.createStyleClone=function(A){try{var e=A.sheet;if(e&&e.cssRules){var t=[].slice.call(e.cssRules,0).reduce((function(A,e){return e&&"string"==typeof e.cssText?A+e.cssText:A}),""),r=A.cloneNode(!1);return r.textContent=t,r}}catch(A){if(this.context.logger.error("Unable to access cssRules property",A),"SecurityError"!==A.name)throw A}return A.cloneNode(!1)},A.prototype.createCanvasClone=function(A){var e;if(this.options.inlineImages&&A.ownerDocument){var t=A.ownerDocument.createElement("img");try{return t.src=A.toDataURL(),t}catch(e){this.context.logger.info("Unable to inline canvas contents, canvas is tainted",A)}}var r=A.cloneNode(!1);try{r.width=A.width,r.height=A.height;var n=A.getContext("2d"),s=r.getContext("2d");if(s)if(!this.options.allowTaint&&n)s.putImageData(n.getImageData(0,0,A.width,A.height),0,0);else{var o=null!==(e=A.getContext("webgl2"))&&void 0!==e?e:A.getContext("webgl");if(o){var i=o.getContextAttributes();!1===(null==i?void 0:i.preserveDrawingBuffer)&&this.context.logger.warn("Unable to clone WebGL context as it has preserveDrawingBuffer=false",A)}s.drawImage(A,0,0)}return r}catch(e){this.context.logger.info("Unable to clone canvas as it is tainted",A)}return r},A.prototype.createVideoClone=function(A){var e=A.ownerDocument.createElement("canvas");e.width=A.offsetWidth,e.height=A.offsetHeight;var t=e.getContext("2d");try{return t&&(t.drawImage(A,0,0,e.width,e.height),this.options.allowTaint||t.getImageData(0,0,e.width,e.height)),e}catch(e){this.context.logger.info("Unable to clone video as it is tainted",A)}var r=A.ownerDocument.createElement("canvas");return r.width=A.offsetWidth,r.height=A.offsetHeight,r},A.prototype.appendChildNode=function(A,e,t){Bi(e)&&(mi(e)||e.hasAttribute(Yi)||"function"==typeof this.options.ignoreElements&&this.options.ignoreElements(e))||this.options.copyStyles&&Bi(e)&&pi(e)||A.appendChild(this.cloneNode(e,t))},A.prototype.cloneChildNodes=function(A,e,t){for(var r=this,n=A.shadowRoot?A.shadowRoot.firstChild:A.firstChild;n;n=n.nextSibling)if(Bi(n)&&yi(n)&&"function"==typeof n.assignedNodes){var s=n.assignedNodes();s.length&&s.forEach((function(A){return r.appendChildNode(e,A,t)}))}else this.appendChildNode(e,n,t)},A.prototype.cloneNode=function(A,e){if(ai(A))return document.createTextNode(A.data);if(!A.ownerDocument)return A.cloneNode(!1);var t=A.ownerDocument.defaultView;if(t&&Bi(A)&&(ci(A)||li(A))){var r=this.createElementClone(A);r.style.transitionProperty="none";var n=t.getComputedStyle(A),s=t.getComputedStyle(A,":before"),o=t.getComputedStyle(A,":after");this.referenceElement===A&&ci(r)&&(this.clonedReferenceElement=r),Ci(r)&&ca(r);var i=this.counters.parse(new Cs(this.context,n)),a=this.resolvePseudoContent(A,r,s,Js.BEFORE);vi(A)&&(e=!0),Ui(A)||this.cloneChildNodes(A,r,e),a&&r.insertBefore(a,r.firstChild);var B=this.resolvePseudoContent(A,r,o,Js.AFTER);return B&&r.appendChild(B),this.counters.pop(i),(n&&(this.options.copyStyles||li(A))&&!fi(A)||e)&&ea(n,r),0===A.scrollTop&&0===A.scrollLeft||this.scrolledElements.push([r,A.scrollLeft,A.scrollTop]),(Ei(A)||Hi(A))&&(Ei(r)||Hi(r))&&(r.value=A.value),r}return A.cloneNode(!1)},A.prototype.resolvePseudoContent=function(A,e,t,r){var n=this;if(t){var s=t.content,o=e.ownerDocument;if(o&&s&&"none"!==s&&"-moz-alt-content"!==s&&"none"!==t.display){this.counters.parse(new Cs(this.context,t));var i=new ds(this.context,t),a=o.createElement("html2canvaspseudoelement");ea(t,a),i.content.forEach((function(e){if(0===e.type)a.appendChild(o.createTextNode(e.value));else if(22===e.type){var t=o.createElement("img");t.src=e.value,t.style.opacity="1",a.appendChild(t)}else if(18===e.type){if("attr"===e.name){var r=e.values.filter(Dt);r.length&&a.appendChild(o.createTextNode(A.getAttribute(r[0].value)||""))}else if("counter"===e.name){var s=e.values.filter(Tt),B=s[0],c=s[1];if(B&&Dt(B)){var l=n.counters.getCounterValue(B.value),g=c&&Dt(c)?En.parse(n.context,c.value):3;a.appendChild(o.createTextNode(Wi(l,g,!1)))}}else if("counters"===e.name){var u=e.values.filter(Tt),w=(B=u[0],u[1]);if(c=u[2],B&&Dt(B)){var Q=n.counters.getCounterValues(B.value),d=c&&Dt(c)?En.parse(n.context,c.value):3,C=w&&0===w.type?w.value:"",h=Q.map((function(A){return Wi(A,d,!1)})).join(C);a.appendChild(o.createTextNode(h))}}}else if(20===e.type)switch(e.value){case"open-quote":a.appendChild(o.createTextNode(cs(i.quotes,n.quoteDepth++,!0)));break;case"close-quote":a.appendChild(o.createTextNode(cs(i.quotes,--n.quoteDepth,!1)));break;default:a.appendChild(o.createTextNode(e.value))}})),a.className=ia+" "+aa;var B=r===Js.BEFORE?" "+ia:" "+aa;return li(e)?e.className.baseValue+=B:e.className+=B,a}}},A.destroy=function(A){return!!A.parentNode&&(A.parentNode.removeChild(A),!0)},A}();!function(A){A[A.BEFORE=0]="BEFORE",A[A.AFTER=1]="AFTER"}(Js||(Js={}));var Zi,qi=function(A,e){var t=A.createElement("iframe");return t.className="html2canvas-container",t.style.visibility="hidden",t.style.position="fixed",t.style.left="-10000px",t.style.top="0px",t.style.border="0",t.width=e.width.toString(),t.height=e.height.toString(),t.scrolling="no",t.setAttribute(Yi,"true"),A.body.appendChild(t),t},ji=function(A){return new Promise((function(e){A.complete?e():A.src?(A.onload=e,A.onerror=e):e()}))},zi=function(A){return Promise.all([].slice.call(A.images,0).map(ji))},$i=function(A){return new Promise((function(e,t){var r=A.contentWindow;if(!r)return t("No window assigned for iframe");var n=r.document;r.onload=A.onload=function(){r.onload=A.onload=null;var t=setInterval((function(){n.body.childNodes.length>0&&"complete"===n.readyState&&(clearInterval(t),e(A))}),50)}}))},Aa=["all","d","content"],ea=function(A,e){for(var t=A.length-1;t>=0;t--){var r=A.item(t);-1===Aa.indexOf(r)&&e.style.setProperty(r,A.getPropertyValue(r))}return e},ta=function(A){var e="";return A&&(e+=""),e},ra=function(A,e,t){A&&A.defaultView&&(e!==A.defaultView.pageXOffset||t!==A.defaultView.pageYOffset)&&A.defaultView.scrollTo(e,t)},na=function(A){var e=A[0],t=A[1],r=A[2];e.scrollLeft=t,e.scrollTop=r},sa=":before",oa=":after",ia="___html2canvas___pseudoelement_before",aa="___html2canvas___pseudoelement_after",Ba='{\n content: "" !important;\n display: none !important;\n}',ca=function(A){la(A,"."+ia+sa+Ba+"\n ."+aa+oa+Ba)},la=function(A,e){var t=A.ownerDocument;if(t){var r=t.createElement("style");r.textContent=e,A.appendChild(r)}},ga=function(){function A(){}return A.getOrigin=function(e){var t=A._link;return t?(t.href=e,t.href=t.href,t.protocol+t.hostname+t.port):"about:blank"},A.isSameOrigin=function(e){return A.getOrigin(e)===A._origin},A.setContext=function(e){A._link=e.document.createElement("a"),A._origin=A.getOrigin(e.location.href)},A._origin="about:blank",A}(),ua=function(){function A(A,e){this.context=A,this._options=e,this._cache={}}return A.prototype.addImage=function(A){var e=Promise.resolve();return this.has(A)?e:Fa(A)||Ca(A)?((this._cache[A]=this.loadImage(A)).catch((function(){})),e):e},A.prototype.match=function(A){return this._cache[A]},A.prototype.loadImage=function(A){return r(this,void 0,void 0,(function(){var e,t,r,s,o=this;return n(this,(function(n){switch(n.label){case 0:return e=ga.isSameOrigin(A),t=!ha(A)&&!0===this._options.useCORS&&Ho.SUPPORT_CORS_IMAGES&&!e,r=!ha(A)&&!e&&!Fa(A)&&"string"==typeof this._options.proxy&&Ho.SUPPORT_CORS_XHR&&!t,e||!1!==this._options.allowTaint||ha(A)||Fa(A)||r||t?(s=A,r?[4,this.proxy(s)]:[3,2]):[2];case 1:s=n.sent(),n.label=2;case 2:return this.context.logger.debug("Added image "+A.substring(0,256)),[4,new Promise((function(A,e){var r=new Image;r.onload=function(){return A(r)},r.onerror=e,(Ua(s)||t)&&(r.crossOrigin="anonymous"),r.src=s,!0===r.complete&&setTimeout((function(){return A(r)}),500),o._options.imageTimeout>0&&setTimeout((function(){return e("Timed out ("+o._options.imageTimeout+"ms) loading image")}),o._options.imageTimeout)}))];case 3:return[2,n.sent()]}}))}))},A.prototype.has=function(A){return void 0!==this._cache[A]},A.prototype.keys=function(){return Promise.resolve(Object.keys(this._cache))},A.prototype.proxy=function(A){var e=this,t=this._options.proxy;if(!t)throw new Error("No proxy defined");var r=A.substring(0,256);return new Promise((function(n,s){var o=Ho.SUPPORT_RESPONSE_TYPE?"blob":"text",i=new XMLHttpRequest;i.onload=function(){if(200===i.status)if("text"===o)n(i.response);else{var A=new FileReader;A.addEventListener("load",(function(){return n(A.result)}),!1),A.addEventListener("error",(function(A){return s(A)}),!1),A.readAsDataURL(i.response)}else s("Failed to proxy resource "+r+" with status code "+i.status)},i.onerror=s;var a=t.indexOf("?")>-1?"&":"?";if(i.open("GET",""+t+a+"url="+encodeURIComponent(A)+"&responseType="+o),"text"!==o&&i instanceof XMLHttpRequest&&(i.responseType=o),e._options.imageTimeout){var B=e._options.imageTimeout;i.timeout=B,i.ontimeout=function(){return s("Timed out ("+B+"ms) proxying "+r)}}i.send()}))},A}(),wa=/^data:image\/svg\+xml/i,Qa=/^data:image\/.*;base64,/i,da=/^data:image\/.*/i,Ca=function(A){return Ho.SUPPORT_SVG_DRAWING||!fa(A)},ha=function(A){return da.test(A)},Ua=function(A){return Qa.test(A)},Fa=function(A){return"blob"===A.substr(0,4)},fa=function(A){return"svg"===A.substr(-3).toLowerCase()||wa.test(A)},pa=function(){function A(A,e){this.type=0,this.x=A,this.y=e}return A.prototype.add=function(e,t){return new A(this.x+e,this.y+t)},A}(),ma=function(A,e,t){return new pa(A.x+(e.x-A.x)*t,A.y+(e.y-A.y)*t)},Ea=function(){function A(A,e,t,r){this.type=1,this.start=A,this.startControl=e,this.endControl=t,this.end=r}return A.prototype.subdivide=function(e,t){var r=ma(this.start,this.startControl,e),n=ma(this.startControl,this.endControl,e),s=ma(this.endControl,this.end,e),o=ma(r,n,e),i=ma(n,s,e),a=ma(o,i,e);return t?new A(this.start,r,o,a):new A(a,i,s,this.end)},A.prototype.add=function(e,t){return new A(this.start.add(e,t),this.startControl.add(e,t),this.endControl.add(e,t),this.end.add(e,t))},A.prototype.reverse=function(){return new A(this.end,this.endControl,this.startControl,this.start)},A}(),Ha=function(A){return 1===A.type},ya=function(){function A(A){var e=A.styles,t=A.bounds,r=Jt(e.borderTopLeftRadius,t.width,t.height),n=r[0],s=r[1],o=Jt(e.borderTopRightRadius,t.width,t.height),i=o[0],a=o[1],B=Jt(e.borderBottomRightRadius,t.width,t.height),c=B[0],l=B[1],g=Jt(e.borderBottomLeftRadius,t.width,t.height),u=g[0],w=g[1],Q=[];Q.push((n+i)/t.width),Q.push((u+c)/t.width),Q.push((s+w)/t.height),Q.push((a+l)/t.height);var d=Math.max.apply(Math,Q);d>1&&(n/=d,s/=d,i/=d,a/=d,c/=d,l/=d,u/=d,w/=d);var C=t.width-i,h=t.height-l,U=t.width-c,F=t.height-w,f=e.borderTopWidth,p=e.borderRightWidth,m=e.borderBottomWidth,E=e.borderLeftWidth,H=Wt(e.paddingTop,A.bounds.width),y=Wt(e.paddingRight,A.bounds.width),v=Wt(e.paddingBottom,A.bounds.width),I=Wt(e.paddingLeft,A.bounds.width);this.topLeftBorderDoubleOuterBox=n>0||s>0?va(t.left+E/3,t.top+f/3,n-E/3,s-f/3,Zi.TOP_LEFT):new pa(t.left+E/3,t.top+f/3),this.topRightBorderDoubleOuterBox=n>0||s>0?va(t.left+C,t.top+f/3,i-p/3,a-f/3,Zi.TOP_RIGHT):new pa(t.left+t.width-p/3,t.top+f/3),this.bottomRightBorderDoubleOuterBox=c>0||l>0?va(t.left+U,t.top+h,c-p/3,l-m/3,Zi.BOTTOM_RIGHT):new pa(t.left+t.width-p/3,t.top+t.height-m/3),this.bottomLeftBorderDoubleOuterBox=u>0||w>0?va(t.left+E/3,t.top+F,u-E/3,w-m/3,Zi.BOTTOM_LEFT):new pa(t.left+E/3,t.top+t.height-m/3),this.topLeftBorderDoubleInnerBox=n>0||s>0?va(t.left+2*E/3,t.top+2*f/3,n-2*E/3,s-2*f/3,Zi.TOP_LEFT):new pa(t.left+2*E/3,t.top+2*f/3),this.topRightBorderDoubleInnerBox=n>0||s>0?va(t.left+C,t.top+2*f/3,i-2*p/3,a-2*f/3,Zi.TOP_RIGHT):new pa(t.left+t.width-2*p/3,t.top+2*f/3),this.bottomRightBorderDoubleInnerBox=c>0||l>0?va(t.left+U,t.top+h,c-2*p/3,l-2*m/3,Zi.BOTTOM_RIGHT):new pa(t.left+t.width-2*p/3,t.top+t.height-2*m/3),this.bottomLeftBorderDoubleInnerBox=u>0||w>0?va(t.left+2*E/3,t.top+F,u-2*E/3,w-2*m/3,Zi.BOTTOM_LEFT):new pa(t.left+2*E/3,t.top+t.height-2*m/3),this.topLeftBorderStroke=n>0||s>0?va(t.left+E/2,t.top+f/2,n-E/2,s-f/2,Zi.TOP_LEFT):new pa(t.left+E/2,t.top+f/2),this.topRightBorderStroke=n>0||s>0?va(t.left+C,t.top+f/2,i-p/2,a-f/2,Zi.TOP_RIGHT):new pa(t.left+t.width-p/2,t.top+f/2),this.bottomRightBorderStroke=c>0||l>0?va(t.left+U,t.top+h,c-p/2,l-m/2,Zi.BOTTOM_RIGHT):new pa(t.left+t.width-p/2,t.top+t.height-m/2),this.bottomLeftBorderStroke=u>0||w>0?va(t.left+E/2,t.top+F,u-E/2,w-m/2,Zi.BOTTOM_LEFT):new pa(t.left+E/2,t.top+t.height-m/2),this.topLeftBorderBox=n>0||s>0?va(t.left,t.top,n,s,Zi.TOP_LEFT):new pa(t.left,t.top),this.topRightBorderBox=i>0||a>0?va(t.left+C,t.top,i,a,Zi.TOP_RIGHT):new pa(t.left+t.width,t.top),this.bottomRightBorderBox=c>0||l>0?va(t.left+U,t.top+h,c,l,Zi.BOTTOM_RIGHT):new pa(t.left+t.width,t.top+t.height),this.bottomLeftBorderBox=u>0||w>0?va(t.left,t.top+F,u,w,Zi.BOTTOM_LEFT):new pa(t.left,t.top+t.height),this.topLeftPaddingBox=n>0||s>0?va(t.left+E,t.top+f,Math.max(0,n-E),Math.max(0,s-f),Zi.TOP_LEFT):new pa(t.left+E,t.top+f),this.topRightPaddingBox=i>0||a>0?va(t.left+Math.min(C,t.width-p),t.top+f,C>t.width+p?0:Math.max(0,i-p),Math.max(0,a-f),Zi.TOP_RIGHT):new pa(t.left+t.width-p,t.top+f),this.bottomRightPaddingBox=c>0||l>0?va(t.left+Math.min(U,t.width-E),t.top+Math.min(h,t.height-m),Math.max(0,c-p),Math.max(0,l-m),Zi.BOTTOM_RIGHT):new pa(t.left+t.width-p,t.top+t.height-m),this.bottomLeftPaddingBox=u>0||w>0?va(t.left+E,t.top+Math.min(F,t.height-m),Math.max(0,u-E),Math.max(0,w-m),Zi.BOTTOM_LEFT):new pa(t.left+E,t.top+t.height-m),this.topLeftContentBox=n>0||s>0?va(t.left+E+I,t.top+f+H,Math.max(0,n-(E+I)),Math.max(0,s-(f+H)),Zi.TOP_LEFT):new pa(t.left+E+I,t.top+f+H),this.topRightContentBox=i>0||a>0?va(t.left+Math.min(C,t.width+E+I),t.top+f+H,C>t.width+E+I?0:i-E+I,a-(f+H),Zi.TOP_RIGHT):new pa(t.left+t.width-(p+y),t.top+f+H),this.bottomRightContentBox=c>0||l>0?va(t.left+Math.min(U,t.width-(E+I)),t.top+Math.min(h,t.height+f+H),Math.max(0,c-(p+y)),l-(m+v),Zi.BOTTOM_RIGHT):new pa(t.left+t.width-(p+y),t.top+t.height-(m+v)),this.bottomLeftContentBox=u>0||w>0?va(t.left+E+I,t.top+F,Math.max(0,u-(E+I)),w-(m+v),Zi.BOTTOM_LEFT):new pa(t.left+E+I,t.top+t.height-(m+v))}return A}();!function(A){A[A.TOP_LEFT=0]="TOP_LEFT",A[A.TOP_RIGHT=1]="TOP_RIGHT",A[A.BOTTOM_RIGHT=2]="BOTTOM_RIGHT",A[A.BOTTOM_LEFT=3]="BOTTOM_LEFT"}(Zi||(Zi={}));var va=function(A,e,t,r,n){var s=(Math.sqrt(2)-1)/3*4,o=t*s,i=r*s,a=A+t,B=e+r;switch(n){case Zi.TOP_LEFT:return new Ea(new pa(A,B),new pa(A,B-i),new pa(a-o,e),new pa(a,e));case Zi.TOP_RIGHT:return new Ea(new pa(A,e),new pa(A+o,e),new pa(a,B-i),new pa(a,B));case Zi.BOTTOM_RIGHT:return new Ea(new pa(a,e),new pa(a,e+i),new pa(A+o,B),new pa(A,B));case Zi.BOTTOM_LEFT:default:return new Ea(new pa(a,B),new pa(a-o,B),new pa(A,e+i),new pa(A,e))}},Ia=function(A){return[A.topLeftBorderBox,A.topRightBorderBox,A.bottomRightBorderBox,A.bottomLeftBorderBox]},Ka=function(A){return[A.topLeftContentBox,A.topRightContentBox,A.bottomRightContentBox,A.bottomLeftContentBox]},ba=function(A){return[A.topLeftPaddingBox,A.topRightPaddingBox,A.bottomRightPaddingBox,A.bottomLeftPaddingBox]},La=function(){function A(A,e,t){this.offsetX=A,this.offsetY=e,this.matrix=t,this.type=0,this.target=6}return A}(),Da=function(){function A(A,e){this.path=A,this.target=e,this.type=1}return A}(),xa=function(){function A(A){this.opacity=A,this.type=2,this.target=6}return A}(),Sa=function(A){return 0===A.type},Ma=function(A){return 1===A.type},Ta=function(A){return 2===A.type},Oa=function(A,e){return A.length===e.length&&A.some((function(A,t){return A===e[t]}))},ka=function(A,e,t,r,n){return A.map((function(A,s){switch(s){case 0:return A.add(e,t);case 1:return A.add(e+r,t);case 2:return A.add(e+r,t+n);case 3:return A.add(e,t+n)}return A}))},Va=function(){function A(A){this.element=A,this.inlineLevel=[],this.nonInlineLevel=[],this.negativeZIndex=[],this.zeroOrAutoZIndexOrTransformedOrOpacity=[],this.positiveZIndex=[],this.nonPositionedFloats=[],this.nonPositionedInlineLevel=[]}return A}(),Ga=function(){function A(A,e){if(this.container=A,this.parent=e,this.effects=[],this.curves=new ya(this.container),this.container.styles.opacity<1&&this.effects.push(new xa(this.container.styles.opacity)),null!==this.container.styles.transform){var t=this.container.bounds.left+this.container.styles.transformOrigin[0].number,r=this.container.bounds.top+this.container.styles.transformOrigin[1].number,n=this.container.styles.transform;this.effects.push(new La(t,r,n))}if(0!==this.container.styles.overflowX){var s=Ia(this.curves),o=ba(this.curves);Oa(s,o)?this.effects.push(new Da(s,6)):(this.effects.push(new Da(s,2)),this.effects.push(new Da(o,4)))}}return A.prototype.getEffects=function(A){for(var e=-1===[2,3].indexOf(this.container.styles.position),t=this.parent,r=this.effects.slice(0);t;){var n=t.effects.filter((function(A){return!Ma(A)}));if(e||0!==t.container.styles.position||!t.parent){if(r.unshift.apply(r,n),e=-1===[2,3].indexOf(t.container.styles.position),0!==t.container.styles.overflowX){var s=Ia(t.curves),o=ba(t.curves);Oa(s,o)||r.unshift(new Da(o,6))}}else r.unshift.apply(r,n);t=t.parent}return r.filter((function(e){return ns(e.target,A)}))},A}(),Na=function(A,e,t,r){A.container.elements.forEach((function(n){var s=ns(n.flags,4),o=ns(n.flags,2),i=new Ga(n,A);ns(n.styles.display,2048)&&r.push(i);var a=ns(n.flags,8)?[]:r;if(s||o){var B=s||n.styles.isPositioned()?t:e,c=new Va(i);if(n.styles.isPositioned()||n.styles.opacity<1||n.styles.isTransformed()){var l=n.styles.zIndex.order;if(l<0){var g=0;B.negativeZIndex.some((function(A,e){return l>A.element.container.styles.zIndex.order?(g=e,!1):g>0})),B.negativeZIndex.splice(g,0,c)}else if(l>0){var u=0;B.positiveZIndex.some((function(A,e){return l>=A.element.container.styles.zIndex.order?(u=e+1,!1):u>0})),B.positiveZIndex.splice(u,0,c)}else B.zeroOrAutoZIndexOrTransformedOrOpacity.push(c)}else n.styles.isFloating()?B.nonPositionedFloats.push(c):B.nonPositionedInlineLevel.push(c);Na(i,c,s?c:t,a)}else n.styles.isInlineLevel()?e.inlineLevel.push(i):e.nonInlineLevel.push(i),Na(i,e,t,a);ns(n.flags,8)&&Pa(n,a)}))},Pa=function(A,e){for(var t=A instanceof Ro?A.start:1,r=A instanceof Ro&&A.reversed,n=0;n0&&A.intrinsicHeight>0){var r=ja(A),n=ba(e);this.path(n),this.ctx.save(),this.ctx.clip(),this.ctx.drawImage(t,0,0,A.intrinsicWidth,A.intrinsicHeight,r.left,r.top,r.width,r.height),this.ctx.restore()}},t.prototype.renderNodeContent=function(A){return r(this,void 0,void 0,(function(){var e,r,s,i,a,B,c,l,g,u,w,Q,d,C,h,U,F,f;return n(this,(function(n){switch(n.label){case 0:this.applyEffects(A.getEffects(4)),e=A.container,r=A.curves,s=e.styles,i=0,a=e.textNodes,n.label=1;case 1:return i0&&E>0&&(h=r.ctx.createPattern(Q,"repeat"),r.renderRepeat(F,h,y,v))):Dr(t)&&(U=AB(A,e,[null,null,null]),F=U[0],f=U[1],p=U[2],m=U[3],E=U[4],H=0===t.position.length?[Rt]:t.position,y=Wt(H[0],m),v=Wt(H[H.length-1],E),I=Fr(t,y,v,m,E),K=I[0],b=I[1],K>0&&b>0&&(L=r.ctx.createRadialGradient(f+y,p+v,0,f+y,p+v,K),Qr(t.stops,2*K).forEach((function(A){return L.addColorStop(A.stop,rr(A.color))})),r.path(F),r.ctx.fillStyle=L,K!==b?(D=A.bounds.left+.5*A.bounds.width,x=A.bounds.top+.5*A.bounds.height,M=1/(S=b/K),r.ctx.save(),r.ctx.translate(D,x),r.ctx.transform(1,0,0,S,0,0),r.ctx.translate(-D,-x),r.ctx.fillRect(f,M*(p-x)+x,m,E*M),r.ctx.restore()):r.ctx.fill())),n.label=6;case 6:return e--,[2]}}))},r=this,s=0,o=A.styles.backgroundImage.slice(0).reverse(),a.label=1;case 1:return s0?2!==B.style?[3,5]:[4,this.renderDashedDottedBorder(B.color,B.width,o,A.curves,2)]:[3,11]:[3,13];case 4:return n.sent(),[3,11];case 5:return 3!==B.style?[3,7]:[4,this.renderDashedDottedBorder(B.color,B.width,o,A.curves,3)];case 6:return n.sent(),[3,11];case 7:return 4!==B.style?[3,9]:[4,this.renderDoubleBorder(B.color,B.width,o,A.curves)];case 8:return n.sent(),[3,11];case 9:return[4,this.renderSolidBorder(B.color,o,A.curves)];case 10:n.sent(),n.label=11;case 11:o++,n.label=12;case 12:return i++,[3,3];case 13:return[2]}}))}))},t.prototype.renderDashedDottedBorder=function(A,e,t,s,o){return r(this,void 0,void 0,(function(){var r,i,a,B,c,l,g,u,w,Q,d,C,h,U,F,f;return n(this,(function(n){return this.ctx.save(),r=Ya(s,t),i=Xa(s,t),2===o&&(this.path(i),this.ctx.clip()),Ha(i[0])?(a=i[0].start.x,B=i[0].start.y):(a=i[0].x,B=i[0].y),Ha(i[1])?(c=i[1].end.x,l=i[1].end.y):(c=i[1].x,l=i[1].y),g=0===t||2===t?Math.abs(a-c):Math.abs(B-l),this.ctx.beginPath(),3===o?this.formatPath(r):this.formatPath(i.slice(0,2)),u=e<3?3*e:2*e,w=e<3?2*e:e,3===o&&(u=e,w=e),Q=!0,g<=2*u?Q=!1:g<=2*u+w?(u*=d=g/(2*u+w),w*=d):(C=Math.floor((g+w)/(u+w)),h=(g-C*u)/(C-1),w=(U=(g-(C+1)*u)/C)<=0||Math.abs(w-h){a.toBlob((t=>{t?A(t):e(new Error("toBlob returned null"))}),"image/jpeg",w)}))}async function f(A){const e=await g(document.documentElement,{x:A.x,y:A.y,width:A.w,height:A.h,scale:1,useCORS:!0,allowTaint:!1}),t=Math.min(u/e.width,u/e.height,1),r=Math.max(1,Math.round(e.width*t)),n=Math.max(1,Math.round(e.height*t)),s=document.createElement("canvas");s.width=r,s.height=n;const o=s.getContext("2d");if(!o)throw new Error("Failed to get 2D context in fallback");return o.drawImage(e,0,0,r,n),new Promise(((A,e)=>{s.toBlob((t=>{t?A(t):e(new Error("Fallback toBlob returned null"))}),"image/jpeg",w)}))}function p(){const A=Array.from(document.querySelectorAll("video, img, canvas")),e=window.innerWidth,t=window.innerHeight;let r=null,n=0,s=null,o=0;for(const i of A){const A=i.getBoundingClientRect(),a=Math.max(0,Math.min(A.right,e)-Math.max(A.left,0))*Math.max(0,Math.min(A.bottom,t)-Math.max(A.top,0));if(a<2500)continue;const B=d(i),c={el:i,rect:{x:A.left,y:A.top,w:A.width,h:A.height}};i instanceof HTMLVideoElement?a>n&&(n=a,r=c):0!==B.w&&0!==B.h&&a>o&&(o=a,s=c)}return r||s}async function m(){const A=p();if(!A)return console.warn("[Visage] captureWholeFrame: no media element found"),null;const e=d(A.el);if(A.el instanceof HTMLVideoElement&&(0===e.w||0===e.h)){const e=function(A){var e;if(A.poster)return A.poster;const t=null===(e=A.parentElement)||void 0===e?void 0:e.querySelector(".vjs-poster");if(t){const A=getComputedStyle(t).backgroundImage.match(/url\(["']?([^"')]+)["']?\)/);if(A)return A[1]}return null}(A.el);if(e){console.warn("[Visage] Video not loaded, capturing poster:",e);try{const A=new Image;A.crossOrigin="anonymous",A.src=e,await new Promise(((e,t)=>{A.onload=()=>e(),A.onerror=()=>t(new Error("Poster image failed to load"))}));const t=await optimizeCanvas(A);if(t)return t}catch(A){console.warn("[Visage] Poster capture failed:",A)}}return f(A.rect)}const t=C(A.el,A.rect);return E({x:t.x,y:t.y,w:t.w,h:t.h})}async function E(A){const e=function(A,e){const t=document.elementsFromPoint(A,e);for(const A of t)if(A instanceof HTMLVideoElement||A instanceof HTMLImageElement||A instanceof HTMLCanvasElement){const e=A.getBoundingClientRect();return{el:A,rect:{x:e.left,y:e.top,w:e.width,h:e.height}}}return null}(A.x+A.w/2,A.y+A.h/2);if(!e){const e=p();if(e){const t=d(e.el);if(t.w>0&&t.h>0){const t=C(e.el,e.rect),r=h(A,t);if(r.w>=4&&r.h>=4){const{sx:A,sy:n,sw:s,sh:o}=U(e.el,r,t);try{return await F(e.el,A,n,s,o)}catch(A){}}}}return console.warn("[Visage] No media element at center, falling back"),f(A)}const t=d(e.el);if(0===t.w||0===t.h)return console.warn("[Visage] Media has no intrinsic size (not loaded yet), falling back"),f(A);const r=C(e.el,e.rect),n=h(A,r);if(n.w<4||n.h<4)return console.warn("[Visage] Selection too small after content clamp, falling back"),f(A);const{sx:s,sy:o,sw:i,sh:a}=U(e.el,n,r);console.warn("[Visage] Direct capture mapped:",{sx:s,sy:o,sw:i,sh:a});try{const A=await F(e.el,s,o,i,a);return function(A,e){if(!Q)return;const t=URL.createObjectURL(A),r=document.createElement("img");r.src=t,r.style.cssText=["position:fixed",`left:${e.x}px`,`top:${e.y}px`,`width:${e.w}px`,`height:${e.h}px`,"opacity:0.5","pointer-events:none","z-index:2147483647","border:1px solid #00ff00"].join(";"),document.body.appendChild(r),setTimeout((()=>{r.remove(),URL.revokeObjectURL(t)}),3e3)}(A,n),A}catch(e){return console.warn("[Visage] Direct capture threw, falling back:",e),f(A)}}let H=!1;function y(){return H}let v=20;const I=20,K="visage_api_endpoint",b="https://cc1234-stashface-onnx.hf.space";function L(){var A;if("undefined"!=typeof window&&(null===(A=window.visageConfig)||void 0===A?void 0:A.apiEndpoint))return window.visageConfig.apiEndpoint;try{const A=localStorage.getItem(K);if(A)return A}catch(A){console.warn("Could not read API endpoint from localStorage:",A)}return b}const D="/gradio_api";async function x(A,e,t){const r=new FormData;r.append("files",e,t);const n=await fetch(`${A}${D}/upload`,{method:"POST",body:r,credentials:"omit"});if(!n.ok)throw new Error(`Upload failed: ${n.status}`);return(await n.json())[0]}async function S(A,e,t,r){var n,s;const o=await fetch(`${A}${D}/call/${e}`,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({data:t}),credentials:"omit"});if(!o.ok)throw new Error(`Predict failed: ${o.status}`);const{event_id:i}=await o.json(),a=null===(n=(await fetch(`${A}${D}/call/${e}/${i}`,{credentials:"omit"})).body)||void 0===n?void 0:n.getReader();if(!a)throw new Error("No response body");const B=new TextDecoder;let c="",l=null;for(;;){if(y()){a.cancel();break}const{done:A,value:e}=await a.read();if(A)break;c+=B.decode(e,{stream:!0});const t=c.split("\n");c=t.pop()||"";for(const A of t)if(A.startsWith("data: "))try{const e=JSON.parse(A.slice(6));if(null===e)continue;const t=Array.isArray(e)&&1===e.length?e[0]:e;if(void 0!==(null==t?void 0:t.progress)){r&&r(t.progress,t.desc||"");continue}if("data"in t){l=t.data;continue}if(Array.isArray(t)&&t.length>0&&void 0!==(null===(s=t[0])||void 0===s?void 0:s.data)){l=t[0].data;continue}l=t}catch(A){}}return l}async function M(A,e,t){const r=L(),n=await x(r,A,"sprite.jpg"),s=await x(r,e,"thumbs.vtt"),o=A=>({path:A,meta:{_type:"gradio.FileData"}}),i=await S(r,"identify_sprite_performers",[o(n),o(s),I],t);return{data:Array.isArray(i)?i:[i]}}const T=window.PluginApi.GQL,O=()=>window.PluginApi.utils.StashService.getClient();async function k(A){return(await O().query({query:T.FindPerformersDocument,variables:{performer_filter:{stash_id_endpoint:{endpoint:"",stash_id:A,modifier:"EQUALS"}}}})).data.findPerformers.performers}async function V(A){return(await O().query({query:T.FindSceneDocument,variables:{id:A}})).data.findScene.performers.map((A=>A.id))}async function G(A){return(await O().query({query:T.FindImageDocument,variables:{id:A}})).data.findImage.performers.map((A=>A.id))}async function N(A,e){return O().mutate({mutation:T.SceneUpdateDocument,variables:{input:{id:A,performer_ids:e}}})}async function P(A,e){return O().mutate({mutation:T.ImageUpdateDocument,variables:{input:{id:A,performer_ids:e}}})}async function R(A){var e,t,r,n;console.log("[Visage] getPerformerDataFromStashID - checking stashbox config...");const s=await O().query({query:T.ConfigurationDocument});console.log("[Visage] Stashboxes:",JSON.stringify(null===(r=null===(t=null===(e=s.data)||void 0===e?void 0:e.configuration)||void 0===t?void 0:t.general)||void 0===r?void 0:r.stashBoxes,null,2)),console.log("[Visage] Calling scrapeSinglePerformer with stash_id:",A);try{const e=await O().query({query:T.ScrapeSinglePerformerDocument,variables:{source:{stash_box_index:0},input:{query:A}}});return console.log("[Visage] scrapeSinglePerformer raw result:",e),console.log("[Visage] scrapeSinglePerformer data:",JSON.stringify(e.data,null,2)),e.errors&&console.log("[Visage] GraphQL errors:",JSON.stringify(e.errors,null,2)),(null===(n=e.data)||void 0===n?void 0:n.scrapeSinglePerformer)?e.data.scrapeSinglePerformer.filter((e=>e.remote_site_id===A))[0]:void console.log("[Visage] scrapeSinglePerformer returned null/undefined")}catch(A){return void console.log("[Visage] Exception in scrapeSinglePerformer:",A)}}async function X(A){return O().mutate({mutation:T.PerformerCreateDocument,variables:{input:A}})}async function J(A,e){var t;return null!==(t=(await O().query({query:T.FindSceneDocument,variables:{id:A}})).data.findScene.paths[e])&&void 0!==t?t:null}async function W(A){const e=await J(A,"sprite");if(!e)return null;return(await fetch(e)).ok?e:null}async function Y(A){return async function(A,e="image"){var t,r;const n=null!==(r=null===(t=(await O().query({query:T.FindImageDocument,variables:{id:A}})).data.findImage.paths)||void 0===t?void 0:t[e])&&void 0!==r?r:null;return n?"string"==typeof n&&n.startsWith("/")?`${window.location.origin}${n}`:n:null}(A,"image")}async function _(A){return J(A,"preview")}async function Z(A,e){const{images:t,height:r,aliases:n,remote_site_id:s,stored_id:o,__typename:i,tags:a,...B}=A,c=await async function(){var A,e,t;const r=null===(t=null===(e=null===(A=(await O().query({query:T.ConfigurationDocument})).data)||void 0===A?void 0:A.configuration)||void 0===e?void 0:e.general)||void 0===t?void 0:t.stashBoxes;return(null==r?void 0:r.length)?r[0].endpoint:null}();return{...B,image:null==t?void 0:t[0],height_cm:r,alias_list:n,stash_ids:c?[{endpoint:c,stash_id:e}]:void 0}}async function q(A,e,t){const r="scenes"===A?V:G,n="scenes"===A?N:P,s=await r(e);s.includes(t)||(s.push(t),await n(e,s))}function j(){const A=document.URL.match(/(scenes|images)\/(\d+)/);if(!A)throw new Error("Could not parse scenario and ID from URL");return[A[1],A[2]]}function z(){var A;const e=document.querySelector(".dropdown-menu.show");if(!e)return;e.classList.remove("show");const t=null===(A=e.closest(".dropdown"))||void 0===A?void 0:A.querySelector('[data-toggle="dropdown"], .dropdown-toggle');t&&t.setAttribute("aria-expanded","false")}function $(){try{return window.PluginApi.hooks.useToast()}catch(A){return null}}function AA(A,e="Unknown error"){return A instanceof Error?A.message:e}const eA=window.PluginApi.React,{useCallback:tA}=eA;let rA=null,nA=null,sA=null,oA=0,iA=0,aA=!1,BA=!1;function cA(A,e,t){lA(),BA=!1;const r=(null==t?void 0:t.region)||E,n=(null==t?void 0:t.whole)||m;rA=document.createElement("div"),rA.style.cssText="position:fixed;inset:0;z-index:2147483647;cursor:crosshair;background:rgba(0,0,0,0.12);";const s=document.createElement("div");function o(A){if(!aA)return;const e=Math.min(oA,A.clientX),t=Math.min(iA,A.clientY),r=Math.abs(A.clientX-oA),n=Math.abs(A.clientY-iA);nA.style.cssText=`position:fixed;display:block;left:${e}px;top:${t}px;width:${r}px;height:${n}px;outline:2px solid #5695ff;outline-offset:-2px;background:rgba(86,149,255,0.08);pointer-events:none;z-index:2147483649;`}function i(t){if(aA=!1,rA.removeEventListener("mousemove",o),rA.removeEventListener("mouseup",i),BA)return;BA=!0;const n=nA.getBoundingClientRect();if(n.width<10||n.height<10)return lA(),e(),void(BA=!1);rA.style.display="none",r({x:n.left,y:n.top,w:n.width,h:n.height}).then((t=>{lA(),t?A(t):e()})).catch((()=>{lA(),e()}))}function a(t){if("Escape"===t.key)return lA(),void e();if("Enter"===t.key){if(t.preventDefault(),aA||BA)return;BA=!0,rA.style.display="none",n().then((t=>{lA(),t?A(t):e()})).catch((()=>{lA(),e()}))}}s.textContent="Drag to select a face — Enter to scan the whole frame — Esc to cancel",s.style.cssText="position:fixed;top:16px;left:50%;transform:translateX(-50%);background:#07070f;color:rgba(255,255,255,0.8);padding:10px 24px;border-radius:8px;font:13px/1.4 system-ui,sans-serif;border:1px solid rgba(255,255,255,0.07);box-shadow:0 4px 20px rgba(0,0,0,0.5);pointer-events:none;z-index:2147483648;",rA.appendChild(s),nA=document.createElement("div"),nA.style.cssText="position:fixed;display:none;outline:2px solid #5695ff;outline-offset:-2px;background:rgba(86,149,255,0.08);pointer-events:none;z-index:2147483649;",rA.appendChild(nA),document.body.appendChild(rA),rA.addEventListener("mousedown",(function(A){0===A.button&&(aA=!0,oA=A.clientX,iA=A.clientY,nA.style.cssText=`position:fixed;display:block;left:${oA}px;top:${iA}px;width:0;height:0;outline:2px solid #5695ff;outline-offset:-2px;background:rgba(86,149,255,0.08);pointer-events:none;z-index:2147483649;`,rA.addEventListener("mousemove",o),rA.addEventListener("mouseup",i))})),sA=a,document.addEventListener("keydown",a)}function lA(){sA&&(document.removeEventListener("keydown",sA),sA=null),rA&&(rA.remove(),rA=null,nA=null)}const gA="ontouchstart"in window||navigator.maxTouchPoints>0;async function uA(A){const e=await Y(A);if(!e)return null;try{const A=await fetch(e);if(!A.ok)return null;const t=await A.blob();return t.type?t:new Blob([t],{type:"image/jpeg"})}catch(A){return null}}async function wA(A,e){try{const t=await createImageBitmap(A),r=e.x+e.w/2,n=e.y+e.h/2,s=document.elementsFromPoint(r,n);let o=null;for(const A of s)if(A instanceof HTMLImageElement){o=A;break}const i=o?function(A,e,t){const r=A.getBoundingClientRect(),n=getComputedStyle(A).objectFit;let s=r.width,o=r.height;if(e>0&&t>0)if("contain"===n||"scale-down"===n){const A=Math.min(r.width/e,r.height/t);s=e*A,o=t*A}else if("cover"===n){const A=Math.max(r.width/e,r.height/t);s=e*A,o=t*A}return{x:r.left+(r.width-s)/2,y:r.top+(r.height-o)/2,w:s,h:o}}(o,t.width,t.height):{x:0,y:0,w:window.innerWidth,h:window.innerHeight},a=Math.max(e.x,i.x),B=Math.max(e.y,i.y),c=Math.min(e.x+e.w,i.x+i.w),l=Math.min(e.y+e.h,i.y+i.h);if(a>=c||B>=l)return null;const g=c-a,u=l-B;if(g<4||u<4)return null;const w=(a-i.x)/i.w*t.width,Q=(B-i.y)/i.h*t.height,d=g/i.w*t.width,C=u/i.h*t.height,h=document.createElement("canvas"),U=400,F=Math.min(U/d,U/C,1);h.width=Math.max(1,Math.round(d*F)),h.height=Math.max(1,Math.round(C*F));const f=h.getContext("2d");return f?(f.drawImage(t,w,Q,d,C,0,0,h.width,h.height),t.close(),new Promise((A=>h.toBlob((e=>A(e)),"image/jpeg",.85)))):null}catch(A){return null}}async function QA(A,e,t,r,n,s){var o,i,a,B,c,l,g,u,w,Q,d,C;t(s,!0);const[h,U]=j();n(h,U);try{const t=await async function(A,e,t){var r;try{const r=L(),n=await Promise.all(e.map((async A=>{if(A instanceof Blob||A instanceof File){const e=A instanceof File?A.name:"file";return{path:await x(r,A,e),meta:{_type:"gradio.FileData"}}}return A}))),s=await S(r,A,n,t);return{data:Array.isArray(s)?s:[s]}}catch(A){const e=null!==(r=null==A?void 0:A.message)&&void 0!==r?r:"string"==typeof A?A:JSON.stringify(A);throw new Error(`Gradio API call failed: ${e}`)}}("multiple_image_search",[A,v]),n=t.data;if(!n||"object"!=typeof n)return void(null===(i=null===(o=null==e?void 0:e.toast)||void 0===o?void 0:o.warning)||void 0===i||i.call(o,"No faces found in that selection. Try a tighter crop, or press Enter to scan the whole frame."));const s=Array.isArray(n)?n[0]:n;if(null==s?void 0:s.error)return void(null===(B=null===(a=null==e?void 0:e.toast)||void 0===a?void 0:a.warning)||void 0===B||B.call(a,s.error));if(!Array.isArray(n)||0===n.length)return void(null===(l=null===(c=null==e?void 0:e.toast)||void 0===c?void 0:c.warning)||void 0===l||l.call(c,"No faces found in that selection. Try a tighter crop, or press Enter to scan the whole frame."));r(n)}catch(A){const t=AA(A);t.includes("Could not find element")?null===(u=null===(g=null==e?void 0:e.toast)||void 0===g?void 0:g.error)||void 0===u||u.call(g,"Could not capture media. Please ensure the scene/image is fully loaded."):t.includes("Failed to fetch")||t.includes("NetworkError")?null===(Q=null===(w=null==e?void 0:e.toast)||void 0===w?void 0:w.error)||void 0===Q||Q.call(w,"Face recognition API is not reachable. Check the API endpoint in Settings."):null===(C=null===(d=null==e?void 0:e.toast)||void 0===d?void 0:d.error)||void 0===C||C.call(d,"Face search failed: "+t)}finally{t(s,!1)}}function dA({menuItem:A}){const e=$(),{state:t,setLoading:r,setMatches:n,setScenario:s}=B(),o="face-search",i=t.loading[o]||!1,a=tA((async()=>{var A,t,a,B,c,l,g,u;if(i)return;const[w,Q]=j();if(s(w,Q),"images"!==w)if(gA){r(o,!0);try{const A=await m();if(!A)return null===(l=null===(c=null==e?void 0:e.toast)||void 0===c?void 0:c.warning)||void 0===l||l.call(c,"Could not capture the current frame."),void r(o,!1);await QA(A,e,r,n,s,o)}catch(A){console.warn("[Visage] captureWholeFrame failed:",A),null===(u=null===(g=null==e?void 0:e.toast)||void 0===g?void 0:g.error)||void 0===u||u.call(g,"Failed to capture the current frame."),r(o,!1)}}else cA((A=>{QA(A,e,r,n,s,o)}),(()=>{var A,t;null===(t=null===(A=null==e?void 0:e.toast)||void 0===A?void 0:A.warning)||void 0===t||t.call(A,"Select a face within the video player area.")}));else{if(gA){r(o,!0);try{const i=await uA(Q);if(!i)return null===(t=null===(A=null==e?void 0:e.toast)||void 0===A?void 0:A.warning)||void 0===t||t.call(A,"Could not fetch image from Stash."),void r(o,!1);await QA(i,e,r,n,s,o)}catch(A){null===(B=null===(a=null==e?void 0:e.toast)||void 0===a?void 0:a.error)||void 0===B||B.call(a,"Failed to capture image: "+AA(A)),r(o,!1)}return}cA((A=>{QA(A,e,r,n,s,o)}),(()=>{var A,t;null===(t=null===(A=null==e?void 0:e.toast)||void 0===A?void 0:A.warning)||void 0===t||t.call(A,"Select a face within the image.")}),{region:async A=>{const e=await uA(Q);return e?wA(e,A):null},whole:()=>uA(Q)})}}),[r,n,s,i,e]);return A?eA.createElement("a",{href:"#",className:"bg-secondary text-white dropdown-item",role:"button",title:"Drag a box around a face, or press Enter to scan the whole frame, to search StashDB for matches",onClick:A=>{A.preventDefault(),z(),a()}},"Visage: Current Frame"):eA.createElement("button",{id:"visage-frame-search",className:"visage-toolbar-button"+(i?" visage-scanning":""),onClick:a,disabled:i,title:"Visage: Current Frame"},eA.createElement("svg",{width:20,height:20,viewBox:"0 0 24 24",fill:"currentColor",xmlns:"http://www.w3.org/2000/svg"},eA.createElement("path",{d:"M9 11.75c-.69 0-1.25.56-1.25 1.25s.56 1.25 1.25 1.25 1.25-.56 1.25-1.25-.56-1.25-1.25-1.25zm6 0c-.69 0-1.25.56-1.25 1.25s.56 1.25 1.25 1.25 1.25-.56 1.25-1.25-.56-1.25-1.25-1.25zM12 2C6.48 2 2 6.48 2 12s4.48 10 10 10 10-4.48 10-10S17.52 2 12 2zm0 18c-4.41 0-8-3.59-8-8 0-.29.02-.58.05-.86 2.36-1.05 4.23-2.98 5.21-5.37C11.07 8.33 14.05 10 17.42 10c.78 0 1.53-.09 2.25-.26.21.71.33 1.47.33 2.26 0 4.41-3.59 8-8 8z"})))}function CA(A,e=2){return String(A).padStart(e,"0")}function hA(A){const e=Math.floor(A/3600),t=Math.floor(A%3600/60),r=Math.floor(A%60),n=Math.round(1e3*(A-Math.floor(A)));return`${CA(e)}:${CA(t)}:${CA(r)}.${CA(n,3)}`}const UA=window.PluginApi.React,{useCallback:FA}=UA;function fA(A){return!!(null==A?void 0:A.performers)&&Object.keys(A.performers).length>0}function pA({menuItem:A}){const e=$(),{state:t,setLoading:r,setSpriteResult:n,showSpriteModal:s,setDetectionMode:o,setScanProgress:i}=B(),a="face-detection",c=t.loading[a]||!1,l=FA((async A=>{var e;const t=await W(A);if(!t)return null;const r=t.replace(/_sprite\.jpg$/,"_thumbs.vtt"),n=await async function(A){const e=await fetch(A);if(!e.ok)throw new Error(`Failed to fetch ${A}: ${e.status}`);const t=await e.blob();return new Promise((A=>{const e=new FileReader;e.onload=()=>A(e.result),e.readAsDataURL(t)}))}(t),s=await fetch(r);if(!s.ok)return console.warn("[Visage] sprite VTT fetch failed",r,s.status),null;const o=await s.blob(),a=function(A){const e=A.split(","),t=e[0].match(/:(.*?);/)[1],r=atob(e[1]);let n=r.length;const s=new Uint8Array(n);for(;n--;)s[n]=r.charCodeAt(n);return new Blob([s],{type:t})}(n),B=await M(a,o,((A,e)=>i(A,e))),c=null===(e=null==B?void 0:B.data)||void 0===e?void 0:e[0];return(null==c?void 0:c.error)?(console.warn("[Visage] sprite identification error:",c.error),null):fA(c)?c:null}),[i]),g=FA((async A=>{var e;const t=await _(A);if(!t)return null;const{sprite:r,vtt:n}=await async function(A,e=12,t=640,r=360){const n=document.createElement("video");n.crossOrigin="anonymous",n.preload="auto",n.muted=!0,n.playsInline=!0,n.src=A,await new Promise(((A,e)=>{const t=setTimeout((()=>e(new Error("Preview video load timed out"))),15e3);n.onloadedmetadata=()=>{clearTimeout(t),A()},n.onerror=()=>{clearTimeout(t),e(new Error("Failed to load preview video"))},n.load()})),await n.play(),n.pause();const s=n.duration;if(!s||s<=0)throw new Error("Invalid preview video duration");const o=s/e,i=document.createElement("canvas");i.width=t,i.height=r;const a=i.getContext("2d"),B=Math.ceil(e/4),c=document.createElement("canvas");c.width=4*t,c.height=B*r;const l=c.getContext("2d"),g=[],u=o/2;for(let A=0;A{n.onseeked=()=>A()})),a.drawImage(n,0,0,t,r);const B=A%4,c=Math.floor(A/4);l.drawImage(i,B*t,c*r),g.push(`${hA(e)} --\x3e ${hA(Math.min(e+o,s))}\nsprite.jpg#xywh=${B*t},${c*r},${t},${r}`)}const w=await new Promise(((A,e)=>{c.toBlob((t=>t?A(t):e(new Error("toBlob failed"))),"image/jpeg",.85)})),Q="WEBVTT\n\n"+g.map(((A,e)=>`${e+1}\n${A}`)).join("\n\n");return n.remove(),i.remove(),c.remove(),{sprite:w,vtt:Q}}(t);if(y())return null;const s=new Blob([n],{type:"text/vtt"}),o=await M(r,s,((A,e)=>i(A,e))),a=null===(e=null==o?void 0:o.data)||void 0===e?void 0:e[0];return(null==a?void 0:a.error)?(console.warn("[Visage] preview identification error:",a.error),null):fA(a)?a:null}),[i]),u=FA((async()=>{var A,t,i,B;H=!1,console.warn("[Visage] whole scene scan clicked");try{r(a,!0),s(!0);const[A,t]=j();if("scenes"!==A)return console.warn("[Visage] scene scan only works on scenes"),void s(!1);o("sprite");const i=await l(t);if(y())return;if(i)return void n(i);o("preview");const B=await g(t);if(y())return;if(B)return void n(B);s(!1);const c=await W(t),u=await _(t);c||u?null==e||e.toast({content:"No faces or performers found in this scene’s sprite sheet or preview video."}):null==e||e.toast({content:"No sprite sheet or preview video found for this scene. Generate them in Scene settings, then try again."})}catch(r){console.error("[Visage] scene scan error:",r),s(!1);const n=AA(r);n.includes("Failed to fetch")||n.includes("NetworkError")?null===(t=null===(A=null==e?void 0:e.toast)||void 0===A?void 0:A.error)||void 0===t||t.call(A,"Face recognition API is not reachable. Check the API endpoint in Settings."):null===(B=null===(i=null==e?void 0:e.toast)||void 0===i?void 0:i.error)||void 0===B||B.call(i,"Scene scan failed: "+n)}finally{r(a,!1)}}),[r,n,s,o,i,l,g,e]);return A?UA.createElement("a",{href:"#",className:"bg-secondary text-white dropdown-item",role:"button",title:"Identify every performer in the scene (needs a generated sprite sheet or preview video)",onClick:A=>{A.preventDefault(),z(),u()}},"Visage: Whole Scene"):UA.createElement("button",{id:"visage-scene-scan",className:"visage-toolbar-button"+(c?" visage-scanning":""),onClick:u,disabled:c,title:"Visage: Whole Scene"},UA.createElement("svg",{width:20,height:20,viewBox:"0 0 24 24",fill:"currentColor",xmlns:"http://www.w3.org/2000/svg"},UA.createElement("path",{d:"M18 4l2 4h-3l-2-4h-2l2 4h-3l-2-4H8l2 4H7L5 4H4c-1.1 0-1.99.9-1.99 2L2 18c0 1.1.9 2 2 2h16c1.1 0 2-.9 2-2V4h-4z"})))}const mA=window.PluginApi.React,{useState:EA,useEffect:HA,useCallback:yA}=mA;const vA=window.PluginApi.React,{useEffect:IA}=vA,KA='a, button, input, [tabindex]:not([tabindex="-1"])';function bA(A,e=!0){const t=vA.useRef(null);return IA((()=>{if(!e)return;const r=t.current;if(!r)return;const n=document.activeElement;(()=>{const A=r.querySelectorAll(KA);A.length>0?A[0].focus():(r.hasAttribute("tabindex")||r.setAttribute("tabindex","-1"),r.focus())})();const s=e=>{if(t.current){if("Escape"===e.key)return e.preventDefault(),void A();if("Tab"===e.key){const A=Array.from(t.current.querySelectorAll(KA)).filter((A=>!A.hasAttribute("disabled")));if(0===A.length)return void e.preventDefault();const r=A[0],n=A[A.length-1],s=document.activeElement;e.shiftKey?s!==r&&t.current.contains(s)||(e.preventDefault(),n.focus()):s!==n&&t.current.contains(s)||(e.preventDefault(),r.focus())}}};return document.addEventListener("keydown",s,!0),()=>{document.removeEventListener("keydown",s,!0),n&&"function"==typeof n.focus&&n.focus()}}),[e,A]),t}const LA=window.PluginApi.React,{useCallback:DA}=LA;const xA=window.PluginApi.React;function SA({performer:A,isLoading:e,isKeyboardSelected:t,isSelected:r,onToggle:n}){const s=function(A=400){return DA((e=>{e&&(e.style.opacity="0",e.style.transition=`opacity ${A}ms ease`,e.complete&&e.naturalWidth>0?e.style.opacity="1":(e.addEventListener("load",(()=>{e.style.opacity="1"}),{once:!0}),e.addEventListener("error",(()=>{e.style.opacity="1"}),{once:!0})))}),[A])}(),o=A.confidence||0,i=o>=90?"visage-confidence-excellent":o>=70?"visage-confidence-good":"visage-confidence-uncertain",a=o>=90?"Excellent match":o>=70?"Good match":"Uncertain match",B=["visage-performer-card",e?"visage-loading":"",t?"visage-keyboard-selected":"",r?"visage-performer-selected":""].filter(Boolean).join(" ");function c(){e||n(A.id)}return xA.createElement("div",{className:B,"data-performer-id":A.id,onClick:c,onKeyPress:function(A){"Enter"!==A.key&&" "!==A.key||(A.preventDefault(),c())},role:"button",tabIndex:t?0:-1,"aria-pressed":r,"aria-label":`${r?"Deselect":"Select"} ${A.name}`},xA.createElement("div",{className:"visage-card-portrait"},xA.createElement("img",{ref:s,className:"visage-portrait-img",alt:A.name,src:A.image}),xA.createElement("div",{className:"visage-card-img-overlay"}),xA.createElement("div",{className:`visage-confidence-strip ${i}`,style:{width:`${o}%`}}),A.country&&xA.createElement("span",{className:`visage-country-flag fi fi-${A.country.toLowerCase()}`}),r&&xA.createElement("div",{className:"visage-card-check-badge"},xA.createElement("svg",{width:16,height:16,viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:3},xA.createElement("polyline",{points:"20 6 9 17 4 12"}))),xA.createElement("div",{className:"visage-card-meta"},xA.createElement("a",{href:`https://stashdb.org/performers/${A.id}`,target:"_blank",rel:"noopener noreferrer",className:"visage-performer-name",onClick:A=>A.stopPropagation()},A.name),xA.createElement("div",{className:"visage-card-stats"},xA.createElement("div",{className:`visage-confidence-dot ${i}`}),xA.createElement("span",{className:"visage-confidence-pct"},`${o}%`),xA.createElement("span",{className:"visage-confidence-lbl"},a)))))}const MA=window.PluginApi.React,{useCallback:TA,useEffect:OA,useRef:kA,useState:VA}=MA;function GA(){var A,e,t,r;const n=$(),{state:s,setLoading:o,showMatchModal:i}=B(),{matches:a,loading:c}=s,l=Array.isArray(a)?a:[],[g,u]=MA.useState(0),[w,Q]=VA(new Map),[d,C]=VA(!1),[h,U]=VA(!1),[F,f]=VA(new Set),[p,m]=VA((()=>{const A=localStorage.getItem("visage:minConfidence:match");if(null!==A){const e=Number(A);if(!Number.isNaN(e))return e}const e=l.flatMap((A=>A.performers.map((A=>A.confidence||0)))).filter((A=>A>0)).sort(((A,e)=>e-A));return e.length>=3?e[2]:0})),E=bA(L,s.showMatchModal),H=kA(!1);OA((()=>{requestAnimationFrame((()=>U(!0)));const[A,e]=j();return"scenes"===A&&(async()=>{var A,t,r,n;try{const s=window.PluginApi.GQL,o=window.PluginApi.utils.StashService.getClient(),i=await o.query({query:s.FindSceneDocument,variables:{id:e}}),a=new Set;for(const e of null!==(r=null===(t=null===(A=i.data)||void 0===A?void 0:A.findScene)||void 0===t?void 0:t.performers)&&void 0!==r?r:[])for(const A of null!==(n=e.stash_ids)&&void 0!==n?n:[])A.stash_id&&a.add(A.stash_id);H.current||f(a)}catch(A){}})(),()=>{H.current=!0}}),[]);const y=TA((A=>{var e;const t=l[A];return(null===(e=null==t?void 0:t.performers)||void 0===e?void 0:e.filter((A=>(A.confidence||0)>=p)).length)||0}),[l,p]),v=TA(((A,e)=>{const t=l[A];if(!t)return;const r=t.performers[e];r&&!c[`add-performer-${r.id}`]&&D(A,r.id)}),[l,c]),{selectedFaceIndex:I,selectedCardIndex:K,hasNavigated:b}=function({faceCount:A,getPerformerCount:e,onAssign:t,enabled:r}){const[n,s]=EA(0),[o,i]=EA(0),[a,B]=EA(!1),c=yA((a=>{if(!r)return;const c=e(n);switch(a.key){case"ArrowRight":a.preventDefault(),B(!0),o0&&i(o-1);break;case"ArrowDown":a.preventDefault(),B(!0),n0&&(s(n-1),i(0));break;case"Enter":case" ":a.preventDefault(),B(!0),t(n,o)}}),[r,A,n,o,e,t]);return HA((()=>{if(r)return document.addEventListener("keydown",c),()=>document.removeEventListener("keydown",c)}),[c,r]),{selectedFaceIndex:n,selectedCardIndex:o,hasNavigated:a,setSelectedFaceIndex:s,setSelectedCardIndex:i}}({faceCount:l.length,getPerformerCount:y,onAssign:v,enabled:s.showMatchModal});function L(){U(!1),setTimeout((()=>i(!1)),300)}function D(A,e){F.has(e)||Q((t=>{const r=new Map(t);return r.get(A)===e?r.delete(A):r.set(A,e),r}))}OA((()=>{u(I)}),[I]);const x=c["face-search"]&&0===l.length,S=l[g],M=w.get(g),T=null!==(e=null===(A=null==S?void 0:S.performers)||void 0===A?void 0:A.findIndex((A=>F.has(A.id))))&&void 0!==e?e:-1,O=b?K:M?null!==(r=null===(t=null==S?void 0:S.performers)||void 0===t?void 0:t.findIndex((A=>A.id===M)))&&void 0!==r?r:0:T>=0?T:0;return MA.createElement("div",{className:"visage-modal-backdrop "+(h?"visage-visible":""),onClick:A=>{A.target===A.currentTarget&&L()}},MA.createElement("div",{ref:E,className:"visage-modal "+(h?"visage-visible":""),role:"dialog","aria-modal":"true"},MA.createElement("div",{className:"visage-modal-header"},MA.createElement("div",{className:"visage-modal-title"},MA.createElement("h2",null,"CURRENT FRAME"),!x&&MA.createElement("span",{className:"visage-match-count"},`${l.length} faces found · ${w.size} selected`+(F.size>0?` · ${F.size} in scene`:""))),MA.createElement("div",{style:{display:"flex",alignItems:"center",gap:"8px"}},MA.createElement("button",{className:"visage-modal-close",onClick:L,"aria-label":"Close"},MA.createElement("svg",{width:20,height:20,viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:2},MA.createElement("line",{x1:18,y1:6,x2:6,y2:18}),MA.createElement("line",{x1:6,y1:6,x2:18,y2:18}))))),x?MA.createElement("div",{className:"visage-modal-loading"},MA.createElement("div",{className:"visage-face-scan"},MA.createElement("span",{className:"visage-face-scan-corner"}),MA.createElement("span",{className:"visage-face-scan-corner"}),MA.createElement("span",{className:"visage-face-scan-corner"}),MA.createElement("span",{className:"visage-face-scan-corner"}),MA.createElement("svg",{viewBox:"0 0 100 120",fill:"none",stroke:"currentColor",strokeWidth:1.5,strokeLinecap:"round"},MA.createElement("path",{d:"M50 7 C29 7 15 22 16 45 C16.5 57 20 65 24 71"}),MA.createElement("path",{d:"M50 7 C71 7 85 22 84 45 C83.5 57 80 65 76 71"}),MA.createElement("path",{strokeWidth:1.2,d:"M50 15 C37 15 27 26 27 42"}),MA.createElement("path",{strokeWidth:1.2,d:"M50 15 C63 15 73 26 73 42"}),MA.createElement("path",{d:"M27 42 C27 61 34 77 43 85 C46 88 54 88 57 85 C66 77 73 61 73 42"}),MA.createElement("path",{d:"M33 52 C36.5 55 42.5 55 46 52"}),MA.createElement("path",{d:"M54 52 C57.5 55 63.5 55 67 52"}),MA.createElement("path",{strokeWidth:1.2,d:"M35 54.6 L33.8 57 M39.5 55.6 L39 58.2 M44 54.6 L45 57"}),MA.createElement("path",{strokeWidth:1.2,d:"M56 54.6 L55 57 M60.5 55.6 L61 58.2 M65 54.6 L66.2 57"}),MA.createElement("path",{strokeWidth:1.2,d:"M32 46 C36 43.6 43 43.6 47 46"}),MA.createElement("path",{strokeWidth:1.2,d:"M53 46 C57 43.6 64 43.6 68 46"}),MA.createElement("path",{strokeWidth:1.2,d:"M50 54 C50 60 49.4 63 48.8 65.2 C49.6 66.4 50.4 66.4 51.2 65.2"}),MA.createElement("path",{d:"M42 75 C45 72.5 48 73.8 50 74.8 C52 73.8 55 72.5 58 75 C55 79.5 45 79.5 42 75 Z"}),MA.createElement("path",{strokeWidth:1.2,d:"M44.5 80.5 C47 82.5 53 82.5 55.5 80.5"}),MA.createElement("path",{strokeWidth:1.2,d:"M42 87.5 C42 94 40.5 99 38 104"}),MA.createElement("path",{strokeWidth:1.2,d:"M58 87.5 C58 94 59.5 99 62 104"}),...[[25,52],[75,52],[35,68],[65,68],[60.5,82]].map((([A,e],t)=>MA.createElement("circle",{key:t,className:"visage-face-scan-dot",cx:A,cy:e,r:4===t?1.5:1.8,stroke:"none"})))),MA.createElement("div",{className:"visage-face-scan-beam"})),MA.createElement("span",{className:"visage-loading-label"},"Scanning • face recognition…")):MA.createElement(MA.Fragment,null,MA.createElement("div",{className:"visage-face-tabs"},l.map(((A,e)=>0===y(e)?null:MA.createElement("button",{key:e,className:"visage-face-tab "+(e===g?"visage-face-tab-active":""),onClick:()=>u(e)},MA.createElement("img",{src:`data:image/jpg;base64,${A.image}`,alt:`Face ${e+1}`,className:"visage-face-tab-image"}))))),MA.createElement("div",{className:"visage-sprite-toolbar",style:{padding:"0.5rem 1.5rem"}},MA.createElement("div",{className:"visage-sprite-threshold"},MA.createElement("span",{className:"visage-threshold-text"},"Min conf."),MA.createElement("input",{type:"range",min:0,max:100,step:5,value:p,onChange:A=>{const e=Number(A.target.value);m(e),localStorage.setItem("visage:minConfidence:match",String(e))},title:`Minimum confidence: ${p}%`}),MA.createElement("span",{className:"visage-sprite-threshold-label"},`${p}%`))),MA.createElement("div",{className:"visage-modal-body"},MA.createElement("div",{className:"visage-left-panel"},S&&MA.createElement(MA.Fragment,null,MA.createElement("div",null,MA.createElement("span",{className:"visage-section-label"},"Detected"),MA.createElement("div",{className:"visage-detect-frame"},MA.createElement("img",{src:`data:image/jpg;base64,${S.image}`,alt:"Detected face",className:"visage-detect-image"}))),S.performers[O]&&MA.createElement(MA.Fragment,null,MA.createElement("div",{className:"visage-vs-divider"},"vs"),MA.createElement("div",null,MA.createElement("span",{className:"visage-section-label-name"},S.performers[O].name),MA.createElement("div",{className:"visage-match-frame"},MA.createElement("img",{src:S.performers[O].image,alt:S.performers[O].name,className:"visage-match-image"})))))),MA.createElement("div",{className:"visage-right-panel"},MA.createElement("div",{className:"visage-performer-grid"},null==S?void 0:S.performers.filter((A=>(A.confidence||0)>=p)).map(((A,e)=>MA.createElement(SA,{key:A.id,performer:A,isLoading:c[`add-performer-${A.id}`]||!1,isKeyboardSelected:b&&I===g&&K===e,isSelected:F.has(A.id)||w.get(g)===A.id,onToggle:A=>D(g,A)})))))),MA.createElement("div",{className:"visage-modal-footer"},MA.createElement("div",{className:"visage-footer-main"},MA.createElement("a",{className:"visage-ext-patreon-btn",href:"https://www.patreon.com/cw/cc12340",target:"_blank",rel:"noopener noreferrer"},MA.createElement("svg",{width:13,height:13,viewBox:"0 0 24 24",fill:"currentColor"},MA.createElement("circle",{cx:15,cy:9,r:7}),MA.createElement("rect",{x:2,y:2,width:4,height:20,rx:1})),"Support on Patreon"),MA.createElement("div",{className:"visage-progress-info"},MA.createElement("span",{className:"visage-matches-assigned"},w.size>0?`${w.size} of ${l.length} selected`:F.size>0?`${l.length} faces found · all in scene`:`${l.length} faces found · click to select`),MA.createElement("div",{className:"visage-keyboard-hints"},MA.createElement("kbd",null,"↑↓")," Switch faces • ",MA.createElement("kbd",null,"←→")," Select performers • ",MA.createElement("kbd",null,"Enter")," Select performer")),MA.createElement("div",{className:"visage-button-group"},l.some((A=>A.performers.some((A=>A.confidence>=90&&!F.has(A.id)&&w.get(g)!==A.id))))&&MA.createElement("button",{className:"visage-btn visage-btn-secondary",onClick:async function(){for(let A=0;Ae.confidence>=90&&!F.has(e.id)&&w.get(A)!==e.id)).sort(((A,e)=>e.confidence-A.confidence))[0];e&&D(A,e.id)}}},MA.createElement("svg",{width:16,height:16,viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:2},MA.createElement("path",{d:"M9 11l3 3 8-8"})),"Select Best Matches"),MA.createElement("button",{className:"visage-btn visage-btn-primary",onClick:async function(){var A,e,t,r,s,i,a,B,c;const l=Array.from(w.values()).filter((A=>!F.has(A)));if(0===l.length)return void L();C(!0);const[g,u]=j();try{for(const i of l){const a=`add-performer-${i}`;o(a,!0);try{let o=await k(i),a=i;if(0===o.length){const o=await R(i);if(!o){null===(e=null===(A=null==n?void 0:n.toast)||void 0===A?void 0:A.warning)||void 0===e||e.call(A,`Could not import performer ${i}. Configure a stashbox in Settings.`);continue}const B=await Z(o,i),c=await X(B);if(c.errors){null===(r=null===(t=null==n?void 0:n.toast)||void 0===t?void 0:t.error)||void 0===r||r.call(t,"Failed to create performer: "+(null===(s=c.errors[0])||void 0===s?void 0:s.message));continue}a=c.data.performerCreate.id}else a=o[0].id;await q(g,u,a)}finally{o(a,!1)}}null===(a=null===(i=null==n?void 0:n.toast)||void 0===i?void 0:i.success)||void 0===a||a.call(i,`Added ${l.length} performer${1!==l.length?"s":""} to the ${"scenes"===g?"scene":"image"}.`),L()}catch(A){console.log("[Visage] addConfirmed error:",A),null===(c=null===(B=null==n?void 0:n.toast)||void 0===B?void 0:B.error)||void 0===c||c.call(B,"Failed to add performers: "+AA(A))}finally{C(!1)}},disabled:0===w.size||d},d?"Adding...":`Done (${w.size})`)))))))}const NA=window.PluginApi.React,{useEffect:PA,useMemo:RA,useState:XA,useRef:JA,useCallback:WA}=NA;function YA(A){if(!isFinite(A)||A<0)return"-:--";const e=Math.floor(A/60),t=Math.floor(A%60);return`${e.toString().padStart(2,"0")}:${t.toString().padStart(2,"0")}`}function _A(){const A=$(),{state:e,showSpriteModal:t,clearSpriteResult:r,setLoading:n}=B(),{spriteResult:s,loading:o,scanProgress:i,scanProgressDesc:a}=e,[c,l]=XA(!1),[g,u]=XA(new Set),[w,Q]=XA({}),[d,C]=XA(new Set),[h,U]=XA(!1),[F,f]=XA("confidence"),[p,m]=XA((()=>{const A=localStorage.getItem("visage:minConfidence:sprite"),e=null===A?NaN:Number(A);return Number.isFinite(e)?e:20})),[E,y]=XA(0),[v,I]=XA(new Set),K=o["face-detection"]&&null===s,b=JA(!1);PA((()=>{requestAnimationFrame((()=>l(!0)));const[A,e]=j();return"scenes"===A&&(async()=>{var A,t,r,n;try{const s=window.PluginApi.GQL,o=window.PluginApi.utils.StashService.getClient(),i=await o.query({query:s.FindSceneDocument,variables:{id:e}}),a=new Set;for(const e of null!==(r=null===(t=null===(A=i.data)||void 0===A?void 0:A.findScene)||void 0===t?void 0:t.performers)&&void 0!==r?r:[])for(const A of null!==(n=e.stash_ids)&&void 0!==n?n:[])A.stash_id&&a.add(A.stash_id);b.current||I(a)}catch(A){}})(),()=>{b.current=!0}}),[]);const L=RA((()=>(null==s?void 0:s.performers)?Object.values(s.performers).sort(((A,e)=>e.confidence-A.confidence)):[]),[s]),D=RA((()=>{var A;let e=Object.values(null!==(A=null==s?void 0:s.performers)&&void 0!==A?A:{});p>0&&(e=e.filter((A=>A.confidence>=p)));const t=[...e];switch(F){case"name":t.sort(((A,e)=>A.name.localeCompare(e.name)));break;case"hits":t.sort(((A,e)=>e.hit_count-A.hit_count));break;default:t.sort(((A,e)=>e.confidence-A.confidence))}return t}),[s,p,F]),x=RA((()=>{var A,e,t;let r=0;for(const n of L){const s=Array.isArray(n.time_ranges)?n.time_ranges:Object.values(null!==(A=n.time_ranges)&&void 0!==A?A:{});for(const A of s){const n=A,s=Number(null!==(t=null!==(e=null==n?void 0:n[1])&&void 0!==e?e:null==n?void 0:n.end)&&void 0!==t?t:0);s>r&&(r=s)}}return r||600}),[L]);async function S(A){var e;try{const t=await k(A);if(b.current)return;if(t.length>0)return void Q((e=>({...e,[A]:{id:t[0].id,image:`/performer/${t[0].id}/image`}})));const r=await R(A);if(b.current)return;(null===(e=null==r?void 0:r.images)||void 0===e?void 0:e[0])?Q((e=>({...e,[A]:{id:A,image:r.images[0]}}))):Q((e=>({...e,[A]:{id:A,image:null}})))}catch(e){b.current||Q((e=>({...e,[A]:{id:A,image:null}})))}finally{b.current||C((e=>{const t=new Set(e);return t.delete(A),t}))}}function M(A){u((e=>{const t=new Set(e);return t.has(A)?t.delete(A):t.add(A),t}))}function T(){l(!1),setTimeout((()=>{r(),t(!1)}),300)}PA((()=>{if(!c)return;const A=D.length;if(A)return document.addEventListener("keydown",e),()=>document.removeEventListener("keydown",e);function e(e){var t;if("ArrowRight"===e.key||"ArrowDown"===e.key)e.preventDefault(),y((e=>(e+1)%A));else if("ArrowLeft"===e.key||"ArrowUp"===e.key)e.preventDefault(),y((e=>(e-1+A)%A));else if(" "===e.key||"Enter"===e.key){if("INPUT"===(null===(t=e.target)||void 0===t?void 0:t.tagName))return;e.preventDefault();const A=D[E];A&&M(A.id)}}}),[c,D,E]),PA((()=>{for(const A of L)A.id in w||d.has(A.id)||(C((e=>new Set(e).add(A.id))),S(A.id))}),[L]);const O=bA(T,!0);return NA.createElement("div",{className:"visage-modal-backdrop "+(c?"visage-visible":""),onClick:A=>{A.target===A.currentTarget&&T()}},NA.createElement("div",{ref:O,className:"visage-modal visage-sprite-modal "+(c?"visage-visible":""),role:"dialog","aria-modal":"true"},NA.createElement("div",{className:"visage-modal-header"},NA.createElement("div",{className:"visage-modal-title"},NA.createElement("h2",null,"SCENE PERFORMERS"),!K&&NA.createElement("span",{className:"visage-match-count"},`${L.length} found · ${g.size} confirmed`)),NA.createElement("div",{style:{display:"flex",alignItems:"center",gap:"8px"}},NA.createElement("button",{className:"visage-modal-close",onClick:T,"aria-label":"Close"},NA.createElement("svg",{width:20,height:20,viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:2},NA.createElement("line",{x1:18,y1:6,x2:6,y2:18}),NA.createElement("line",{x1:6,y1:6,x2:18,y2:18})))),!K&&NA.createElement("div",{className:"visage-sprite-toolbar"},NA.createElement("div",{className:"visage-sprite-sort"},["confidence","name","hits"].map((A=>NA.createElement("button",{key:A,className:"visage-sprite-sort-btn"+(F===A?" visage-active":""),onClick:()=>{f(A),y(0)}},A.charAt(0).toUpperCase()+A.slice(1))))),NA.createElement("div",{className:"visage-sprite-threshold"},NA.createElement("span",{className:"visage-threshold-text"},"Min conf."),NA.createElement("input",{type:"range",min:0,max:100,step:5,value:p,onChange:A=>{const e=Number(A.target.value);m(e),localStorage.setItem("visage:minConfidence:sprite",String(e))},title:`Minimum confidence: ${p}%`}),NA.createElement("span",{className:"visage-sprite-threshold-label"},`${p}%`)))),K?NA.createElement("div",{className:"visage-modal-loading"},NA.createElement("div",{className:"visage-conveyor"},NA.createElement("div",{className:"visage-conveyor-track"},Array.from({length:14},((A,e)=>NA.createElement("div",{key:e,className:"visage-conveyor-frame"})))),NA.createElement("div",{className:"visage-conveyor-beam"}),NA.createElement("div",{className:"visage-conveyor-rail"})),(i>0||a)&&NA.createElement("div",{className:"visage-scan-progress"},NA.createElement("div",{className:"visage-scan-progress-bar"},NA.createElement("div",{className:"visage-scan-progress-fill",style:{width:`${Math.round(100*i)}%`}}))),NA.createElement("span",{className:"visage-loading-label"},a||"Visage Scanning…"),NA.createElement("button",{className:"visage-btn visage-btn-secondary",onClick:()=>{H=!0,n("face-detection",!1),T()},style:{marginTop:12}},"Cancel")):NA.createElement(NA.Fragment,null,NA.createElement("div",{className:"visage-sprite-body"},0===L.length?NA.createElement("div",{className:"visage-sprite-empty"},NA.createElement("p",null,"No performers identified in this sprite.")):NA.createElement("div",{className:"visage-sprite-grid"},D.map(((A,e)=>{const n=v.has(A.id),s=g.has(A.id)||n,o=e===E,i=w[A.id],a=null==i?void 0:i.image,B=d.has(A.id),c=(u=A.confidence)>=90?"visage-confidence-excellent":u>=70?"visage-confidence-good":"visage-confidence-uncertain";var u;const Q=(C=A.time_ranges,[...Array.isArray(C)?C:Object.values(null!=C?C:{})].sort(((A,e)=>{var t,r,n,s;return Number(null!==(r=null!==(t=null==A?void 0:A[0])&&void 0!==t?t:null==A?void 0:A.start)&&void 0!==r?r:0)-Number(null!==(s=null!==(n=null==e?void 0:e[0])&&void 0!==n?n:null==e?void 0:e.start)&&void 0!==s?s:0)})));var C;const U=function(A){return(Array.isArray(A)?A:Object.values(null!=A?A:{})).map((A=>{var e,t,r,n,s,o;return{left:Number(null!==(t=null!==(e=null==A?void 0:A[0])&&void 0!==e?e:null==A?void 0:A.start)&&void 0!==t?t:0)/x*100,width:Math.max((Number(null!==(n=null!==(r=null==A?void 0:A[1])&&void 0!==r?r:null==A?void 0:A.end)&&void 0!==n?n:0)-Number(null!==(o=null!==(s=null==A?void 0:A[0])&&void 0!==s?s:null==A?void 0:A.start)&&void 0!==o?o:0))/x*100,.3)}}))}(Q),F=["visage-sprite-card",s?"visage-sprite-confirmed":"",o?"visage-sprite-focused":"",h?"visage-sprite-disabled":""].filter(Boolean).join(" ");return NA.createElement("div",{key:A.id,className:F,onClick:()=>M(A.id),role:"button",tabIndex:0,"aria-pressed":s},NA.createElement("div",{className:"visage-sprite-compare"},NA.createElement("div",{className:"visage-sprite-face"},NA.createElement("img",{src:`data:image/jpeg;base64,${A.thumbnail}`,alt:"Detected face",className:"visage-sprite-face-img"}),NA.createElement("span",{className:"visage-sprite-label"},"SPRITE")),NA.createElement("div",{className:"visage-sprite-vs"},NA.createElement("span",null,"vs")),NA.createElement("div",{className:"visage-sprite-performer-img"},NA.createElement("div",{className:"visage-sprite-img-placeholder"},NA.createElement("svg",{width:24,height:24,viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:2},NA.createElement("path",{d:"M20 21v-2a4 4 0 0 0-4-4H8a4 4 0 0 0-4 4v2"}),NA.createElement("circle",{cx:12,cy:7,r:4}))),B&&NA.createElement("div",{className:"visage-sprite-img-loading"}),a&&NA.createElement("img",{src:a,alt:A.name,className:"visage-sprite-performer-img-src",onError:A=>{A.target.remove()}}),NA.createElement("span",{className:"visage-sprite-label"},"STASH")),n&&NA.createElement("div",{className:"visage-sprite-in-scene"},"In scene"),s&&!n&&NA.createElement("div",{className:"visage-sprite-check-badge"},NA.createElement("svg",{width:18,height:18,viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:3},NA.createElement("polyline",{points:"20 6 9 17 4 12"})))),NA.createElement("div",{className:"visage-sprite-info"},NA.createElement("div",{className:"visage-sprite-summary"},function({confidence:A,confClass:e}){const t=46,r=2*Math.PI*21,n=r*(1-A/100);return NA.createElement("div",{className:"visage-sprite-ring"},NA.createElement("svg",{width:t,height:t,viewBox:"0 0 46 46"},NA.createElement("circle",{cx:23,cy:23,r:21,fill:"none",stroke:"rgba(255,255,255,0.08)",strokeWidth:4}),NA.createElement("circle",{className:`visage-sprite-ring-fill ${e}`,cx:23,cy:23,r:21,fill:"none",strokeWidth:4,strokeDasharray:r,strokeDashoffset:n,strokeLinecap:"round",transform:"rotate(-90 23 23)"})),NA.createElement("span",{className:"visage-sprite-ring-label"},`${A}%`))}({confidence:A.confidence,confClass:c}),NA.createElement("div",{className:"visage-sprite-summary-text"},NA.createElement("a",{href:A.performer_url,target:"_blank",rel:"noopener noreferrer",className:"visage-sprite-performer-link",onClick:A=>A.stopPropagation()},A.name),NA.createElement("div",{className:"visage-sprite-stats-row"},NA.createElement("span",{className:"visage-sprite-stat"},`${A.hit_count} hit${1!==A.hit_count?"s":""}`),NA.createElement("span",{className:"visage-sprite-stat-sep"},"·"),NA.createElement("span",{className:"visage-sprite-stat"},`${YA(Q.reduce(((A,e)=>{var t,r,n,s;return A+(Number(null!==(r=null!==(t=null==e?void 0:e[1])&&void 0!==t?t:null==e?void 0:e.end)&&void 0!==r?r:0)-Number(null!==(s=null!==(n=null==e?void 0:e[0])&&void 0!==n?n:null==e?void 0:e.start)&&void 0!==s?s:0))}),0))} total`)))),NA.createElement("div",{className:"visage-sprite-timeline-wrap"},NA.createElement("div",{className:"visage-sprite-timeline"},U.map(((A,e)=>{var n,s,o,i;const a=Q[e],B=Number(null!==(s=null!==(n=null==a?void 0:a[0])&&void 0!==n?n:null==a?void 0:a.start)&&void 0!==s?s:0),g=Number(null!==(i=null!==(o=null==a?void 0:a[1])&&void 0!==o?o:null==a?void 0:a.end)&&void 0!==i?i:0);return NA.createElement("div",{key:e,className:`visage-sprite-timeline-seg ${c}`,style:{left:`${A.left}%`,width:`${A.width}%`},onClick:A=>{A.stopPropagation(),function(A){const[e,n]=j();"scenes"===e&&(l(!1),setTimeout((()=>{r(),t(!1),window.location.href=`${window.location.pathname}?t=${Math.floor(A)}`}),300))}(B)},title:`${YA(B)}–${YA(g)}`})}))),NA.createElement("div",{className:"visage-sprite-timeline-labels"},NA.createElement("span",null,"00:00"),NA.createElement("span",null,YA(x)))),n&&NA.createElement("div",{className:"visage-sprite-hint visage-sprite-hint-done"},NA.createElement("span",null,"Already in scene")),!s&&!n&&NA.createElement("div",{className:"visage-sprite-hint"},NA.createElement("span",null,"Click to confirm")),s&&!n&&NA.createElement("div",{className:"visage-sprite-hint visage-sprite-hint-done"},NA.createElement("span",null,"Confirmed"))))})))),NA.createElement("div",{className:"visage-modal-footer"},NA.createElement("div",{className:"visage-footer-main"},NA.createElement("a",{className:"visage-ext-patreon-btn",href:"https://www.patreon.com/cw/cc12340",target:"_blank",rel:"noopener noreferrer"},NA.createElement("svg",{width:13,height:13,viewBox:"0 0 24 24",fill:"currentColor"},NA.createElement("circle",{cx:15,cy:9,r:7}),NA.createElement("rect",{x:2,y:2,width:4,height:20,rx:1})),"Support on Patreon"),NA.createElement("div",{className:"visage-progress-info"},g.size>0?NA.createElement("span",{className:"visage-matches-assigned"},`${g.size} of ${L.length} confirmed`):NA.createElement("span",{className:"visage-matches-assigned"},D.length!v.has(A)));if(0!==Q.length)try{for(const i of Q){const a=`sprite-add-${i}`;n(a,!0);try{let n=w[i],a=null==n?void 0:n.id;if(!a||a===i)if((null==n?void 0:n.image)&&n.id!==i)a=n.id;else{const n=await k(i);if(n.length>0)a=n[0].id;else{const n=await R(i);if(!n){null===(t=null===(e=null==A?void 0:A.toast)||void 0===e?void 0:e.warning)||void 0===t||t.call(e,`Could not import performer ${i}. Configure a stashbox in Settings.`);continue}const B=await Z(n,i),c=await X(B);if(c.errors){null===(s=null===(r=null==A?void 0:A.toast)||void 0===r?void 0:r.error)||void 0===s||s.call(r,"Failed to create performer: "+(null===(o=c.errors[0])||void 0===o?void 0:o.message));continue}a=c.data.performerCreate.id}}await q(l,u,a)}finally{n(a,!1)}}null===(a=null===(i=null==A?void 0:A.toast)||void 0===i?void 0:i.success)||void 0===a||a.call(i,`Added ${Q.length} performer${1!==Q.length?"s":""} to the ${"scenes"===l?"scene":"image"}.`),T()}catch(e){console.error("[Visage] add performers error:",e),null===(c=null===(B=null==A?void 0:A.toast)||void 0===B?void 0:B.error)||void 0===c||c.call(B,"Failed to add performers: "+AA(e))}finally{U(!1)}else T()},disabled:0===g.size||h},h?"Adding...":`Done (${g.size})`)))))))}const{React:ZA,ReactDOM:qA}=PluginApi;function jA(A){const e=A.textContent||"";return e.includes("Delete")&&(e.includes("Generate")||e.includes("Rescan")||e.includes("Submit"))}function zA(A){const e=document.createElement("hr");e.className="visage-menu-divider dropdown-divider",A.insertBefore(e,A.firstElementChild);const t=document.createElement("div");return t.style.cssText="display:flex;flex-direction:column;flex-shrink:0;",A.insertBefore(t,e),t}function $A(A){const[e,t]=ZA.useState(null),r=ZA.useRef(!1);return ZA.useEffect((()=>{function A(){if(r.current){if(e&&document.contains(e))return!0;r.current=!1}for(const A of document.querySelectorAll(".dropdown-menu"))if(jA(A)&&!A.querySelector(".visage-menu-divider"))return t(zA(A)),r.current=!0,!0;return!1}if(A())return;const n=setInterval((()=>{A()&&(clearInterval(n),s.disconnect())}),300),s=new MutationObserver((()=>{A()&&(clearInterval(n),s.disconnect())}));return s.observe(document.body,{childList:!0,subtree:!0}),()=>{clearInterval(n),s.disconnect()}}),[e]),e?qA.createPortal(A(e),e):null}function Ae(){return $A((A=>ZA.createElement(ZA.Fragment,null,ZA.createElement(dA,{menuItem:!0}),ZA.createElement(pA,{menuItem:!0}))))}function ee(){return $A((A=>ZA.createElement(dA,{menuItem:!0})))}function te(){const{state:A}=B();return qA.createPortal(ZA.createElement(ZA.Fragment,null,A.showMatchModal&&ZA.createElement(GA,null),A.showSpriteModal&&ZA.createElement(_A,null)),document.body)}function re(){return ZA.useEffect((()=>{function A(){return!!getComputedStyle(document.documentElement).getPropertyValue("--color-dim").trim()&&(function(){try{const A=getComputedStyle(document.documentElement),e=getComputedStyle(document.body),t=A.getPropertyValue("--color-dim").trim()||A.getPropertyValue("--color-dark").trim()||A.getPropertyValue("--color-surface").trim()||e.backgroundColor,r=A.getPropertyValue("--color-text").trim()||e.color,n=A.getPropertyValue("--color-text-dim").trim()||"",s=A.getPropertyValue("--color-border").trim()||"",o=A.getPropertyValue("--color-dark").trim()||"",i="#137cbd",a=A.getPropertyValue("--primary").trim();let B="";(t||r||n||s||o)&&a===i&&(B=A.getPropertyValue("--color-accent").trim()||A.getPropertyValue("--color-silver").trim()||A.getPropertyValue("--color-star").trim()||r);const c=document.documentElement;e.backgroundColor&&c.style.setProperty("--v-bg",e.backgroundColor),t&&c.style.setProperty("--v-surface",t),r&&c.style.setProperty("--v-text",r),n&&c.style.setProperty("--v-text-2",n),B&&c.style.setProperty("--v-accent",B),s&&"#000"!==s&&"rgb(0, 0, 0)"!==s&&c.style.setProperty("--v-border",s),o&&c.style.setProperty("--v-nav-bg",o)}catch(A){console.warn("[Visage] theme detection failed:",A)}}(),!0)}const e=setTimeout(A,200),t=setInterval((()=>{A()&&clearInterval(t)}),600),r=setTimeout((()=>clearInterval(t)),15e3);return()=>{clearTimeout(e),clearInterval(t),clearTimeout(r)}}),[]),null}function ne({scenarioId:A}){return ZA.createElement(a,{scenario:"images",scenarioId:A},ZA.createElement(re,null),ZA.createElement(ee,null),ZA.createElement(te,null))}let se=null;function oe(A){se&&(qA.unmountComponentAtNode(se),se.remove()),se=document.createElement("div"),se.id="visage-image-root",se.style.display="contents",document.body.appendChild(se),qA.render(ZA.createElement(ne,{scenarioId:A}),se)}PluginApi.patch.after("ScenePage",((A,e,t)=>{const r=function(A){var e,t;if(null==A?void 0:A.id)return String(A.id);if(null===(t=null===(e=null==A?void 0:A.match)||void 0===e?void 0:e.params)||void 0===t?void 0:t.id)return A.match.params.id;const r=window.location.pathname.match(/\/(scenes|images)\/(\d+)/);return r?r[2]:null}(A);return r?ZA.createElement(a,{scenario:"scenes",scenarioId:r},ZA.createElement(re,null),t,ZA.createElement(Ae,null),ZA.createElement(te,null)):t})),PluginApi.Event.addEventListener("stash:page:image",(A=>{var e,t,r;const n=((null===(r=null===(t=null===(e=A.detail)||void 0===e?void 0:e.data)||void 0===t?void 0:t.location)||void 0===r?void 0:r.pathname)||"").match(/\/images\/(\d+)/);n&&requestAnimationFrame((()=>oe(n[1])))})),PluginApi.Event.addEventListener("stash:location",(A=>{var e,t,r;const n=((null===(r=null===(t=null===(e=A.detail)||void 0===e?void 0:e.data)||void 0===t?void 0:t.location)||void 0===r?void 0:r.pathname)||"").match(/\/images\/(\d+)/);n?requestAnimationFrame((()=>oe(n[1]))):se&&(qA.unmountComponentAtNode(se),se.remove(),se=null)}));const ie=window.location.pathname.match(/\/images\/(\d+)/);ie&&requestAnimationFrame((()=>oe(ie[1])))}(); +var A=function(e,t){return A=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(A,e){A.__proto__=e}||function(A,e){for(var t in e)Object.prototype.hasOwnProperty.call(e,t)&&(A[t]=e[t])},A(e,t)};function e(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Class extends value "+String(t)+" is not a constructor or null");function r(){this.constructor=e}A(e,t),e.prototype=null===t?Object.create(t):(r.prototype=t.prototype,new r)}var t=function(){return t=Object.assign||function(A){for(var e,t=1,r=arguments.length;t0&&n[n.length-1])||6!==s[0]&&2!==s[0])){o=0;continue}if(3===s[0]&&(!n||s[1]>n[0]&&s[1]=55296&&n<=56319&&t>10),o%1024+56320)),(n+1===t||r.length>16384)&&(s+=String.fromCharCode.apply(String,r),r.length=0)}return s},l="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/",g="undefined"==typeof Uint8Array?[]:new Uint8Array(256),u=0;u>4,c[a++]=(15&r)<<4|n>>2,c[a++]=(3&n)<<6|63&s;return B},h=function(A){for(var e=A.length,t=[],r=0;r>F,E=(1<>F)+32,y=65536>>f,v=(1<=0){if(A<55296||A>56319&&A<=65535)return e=((e=this.index[A>>F])<>F)])<>f),e=this.index[e],e+=A>>F&v,e=((e=this.index[e])<M?(n.push(!0),o-=M):n.push(!1),-1!==["normal","auto","loose"].indexOf(e)&&-1!==[8208,8211,12316,12448].indexOf(A))return r.push(s),t.push(q);if(o===N||o===J){if(0===s)return r.push(s),t.push(cA);var i=t[s-1];return-1===xA.indexOf(i)?(r.push(r[s-1]),t.push(i)):(r.push(s),t.push(cA))}return r.push(s),o===lA?t.push("strict"===e?eA:CA):o===pA||o===BA?t.push(cA):o===mA?A>=131072&&A<=196605||A>=196608&&A<=262141?t.push(CA):t.push(cA):void t.push(o)})),[r,t,n]},OA=function(A,e,t,r){var n=r[t];if(Array.isArray(A)?-1!==A.indexOf(n):A===n)for(var s=t;s<=r.length;){if((a=r[++s])===e)return!0;if(a!==X)break}if(n===X)for(s=t;s>0;){var o=r[--s];if(Array.isArray(A)?-1!==A.indexOf(o):A===o)for(var i=t;i<=r.length;){var a;if((a=r[++i])===e)return!0;if(a!==X)break}if(o!==X)break}return!1},kA=function(A,e){for(var t=A;t>=0;){var r=e[t];if(r!==X)return r;t--}return 0},NA=function(A,e,t,r,n){if(0===t[r])return yA;var s=r-1;if(Array.isArray(n)&&!0===n[s])return yA;var o=s-1,i=s+1,a=e[s],B=o>=0?e[o]:0,c=e[i];if(a===O&&c===k)return yA;if(-1!==bA.indexOf(a))return HA;if(-1!==bA.indexOf(c))return yA;if(-1!==LA.indexOf(c))return yA;if(kA(s,e)===R)return vA;if(IA.get(A[s])===J)return yA;if((a===gA||a===uA)&&IA.get(A[i])===J)return yA;if(a===V||c===V)return yA;if(a===P)return yA;if(-1===[X,Y,Z].indexOf(a)&&c===P)return yA;if(-1!==[j,z,$,nA,aA].indexOf(c))return yA;if(kA(s,e)===tA)return yA;if(OA(rA,tA,s,e))return yA;if(OA([j,z],eA,s,e))return yA;if(OA(W,W,s,e))return yA;if(a===X)return vA;if(a===rA||c===rA)return yA;if(c===q||a===q)return vA;if(-1!==[Y,Z,eA].indexOf(c)||a===_)return yA;if(B===dA&&-1!==MA.indexOf(a))return yA;if(a===aA&&c===dA)return yA;if(c===AA)return yA;if(-1!==KA.indexOf(c)&&a===sA||-1!==KA.indexOf(a)&&c===sA)return yA;if(a===iA&&-1!==[CA,gA,uA].indexOf(c)||-1!==[CA,gA,uA].indexOf(a)&&c===oA)return yA;if(-1!==KA.indexOf(a)&&-1!==DA.indexOf(c)||-1!==DA.indexOf(a)&&-1!==KA.indexOf(c))return yA;if(-1!==[iA,oA].indexOf(a)&&(c===sA||-1!==[tA,Z].indexOf(c)&&e[i+1]===sA)||-1!==[tA,Z].indexOf(a)&&c===sA||a===sA&&-1!==[sA,aA,nA].indexOf(c))return yA;if(-1!==[sA,aA,nA,j,z].indexOf(c))for(var l=s;l>=0;){if((g=e[l])===sA)return yA;if(-1===[aA,nA].indexOf(g))break;l--}if(-1!==[iA,oA].indexOf(c))for(l=-1!==[j,z].indexOf(a)?o:s;l>=0;){var g;if((g=e[l])===sA)return yA;if(-1===[aA,nA].indexOf(g))break;l--}if(hA===a&&-1!==[hA,UA,wA,QA].indexOf(c)||-1!==[UA,wA].indexOf(a)&&-1!==[UA,FA].indexOf(c)||-1!==[FA,QA].indexOf(a)&&c===FA)return yA;if(-1!==SA.indexOf(a)&&-1!==[AA,oA].indexOf(c)||-1!==SA.indexOf(c)&&a===iA)return yA;if(-1!==KA.indexOf(a)&&-1!==KA.indexOf(c))return yA;if(a===nA&&-1!==KA.indexOf(c))return yA;if(-1!==KA.concat(sA).indexOf(a)&&c===tA&&-1===EA.indexOf(A[i])||-1!==KA.concat(sA).indexOf(c)&&a===z)return yA;if(a===fA&&c===fA){for(var u=t[s],w=1;u>0&&e[--u]===fA;)w++;if(w%2!=0)return yA}return a===gA&&c===uA?yA:vA},GA=function(A,e){e||(e={lineBreak:"normal",wordBreak:"normal"});var t=TA(A,e.lineBreak),r=t[0],n=t[1],s=t[2];"break-all"!==e.wordBreak&&"break-word"!==e.wordBreak||(n=n.map((function(A){return-1!==[sA,cA,pA].indexOf(A)?CA:A})));var o="keep-all"===e.wordBreak?s.map((function(e,t){return e&&A[t]>=19968&&A[t]<=40959})):void 0;return[r,n,o]},VA=function(){function A(A,e,t,r){this.codePoints=A,this.required=e===HA,this.start=t,this.end=r}return A.prototype.slice=function(){return c.apply(void 0,this.codePoints.slice(this.start,this.end))},A}(),RA=function(A,e){var t=B(A),r=GA(t,e),n=r[0],s=r[1],o=r[2],i=t.length,a=0,c=0;return{next:function(){if(c>=i)return{done:!0,value:null};for(var A=yA;c=Me&&A<=57},Ye=function(A){return A>=55296&&A<=57343},_e=function(A){return We(A)||A>=Ve&&A<=Pe||A>=Te&&A<=ke},Ze=function(A){return A>=Te&&A<=Ge},qe=function(A){return A>=Ve&&A<=Je},je=function(A){return Ze(A)||qe(A)},ze=function(A){return A>=Fe},$e=function(A){return A===YA||A===qA||A===jA},At=function(A){return je(A)||ze(A)||A===oe},et=function(A){return At(A)||We(A)||A===ie},tt=function(A){return A>=Ie&&A<=Ke||A===be||A>=Le&&A<=De||A===xe},rt=function(A,e){return A===ZA&&e!==YA},nt=function(A,e,t){return A===ie?At(e)||rt(e,t):!!At(A)||!(A!==ZA||!rt(A,e))},st=function(A,e,t){return A===me||A===ie?!!We(e)||e===ve&&We(t):We(A===ve?e:A)},ot=function(A){var e=0,t=1;A[e]!==me&&A[e]!==ie||(A[e]===ie&&(t=-1),e++);for(var r=[];We(A[e]);)r.push(A[e++]);var n=r.length?parseInt(c.apply(void 0,r),10):0;A[e]===ve&&e++;for(var s=[];We(A[e]);)s.push(A[e++]);var o=s.length,i=o?parseInt(c.apply(void 0,s),10):0;A[e]!==Re&&A[e]!==Oe||e++;var a=1;A[e]!==me&&A[e]!==ie||(A[e]===ie&&(a=-1),e++);for(var B=[];We(A[e]);)B.push(A[e++]);var l=B.length?parseInt(c.apply(void 0,B),10):0;return t*(n+i*Math.pow(10,-o))*Math.pow(10,a*l)},it={type:2},at={type:3},Bt={type:4},ct={type:13},lt={type:8},gt={type:21},ut={type:9},wt={type:10},Qt={type:11},dt={type:12},Ct={type:14},ht={type:23},Ut={type:1},Ft={type:25},ft={type:24},pt={type:26},mt={type:27},Et={type:28},Ht={type:29},yt={type:31},vt={type:32},It=function(){function A(){this._value=[]}return A.prototype.write=function(A){this._value=this._value.concat(B(A))},A.prototype.read=function(){for(var A=[],e=this.consumeToken();e!==vt;)A.push(e),e=this.consumeToken();return A},A.prototype.consumeToken=function(){var A=this.consumeCodePoint();switch(A){case zA:return this.consumeStringToken(zA);case Ae:var e=this.peekCodePoint(0),t=this.peekCodePoint(1),r=this.peekCodePoint(2);if(et(e)||rt(t,r)){var n=nt(e,t,r)?XA:PA;return{type:5,value:this.consumeName(),flags:n}}break;case ee:if(this.peekCodePoint(0)===$A)return this.consumeCodePoint(),ct;break;case re:return this.consumeStringToken(re);case ne:return it;case se:return at;case pe:if(this.peekCodePoint(0)===$A)return this.consumeCodePoint(),Ct;break;case me:if(st(A,this.peekCodePoint(0),this.peekCodePoint(1)))return this.reconsumeCodePoint(A),this.consumeNumericToken();break;case Ee:return Bt;case ie:var s=A,o=this.peekCodePoint(0),i=this.peekCodePoint(1);if(st(s,o,i))return this.reconsumeCodePoint(A),this.consumeNumericToken();if(nt(s,o,i))return this.reconsumeCodePoint(A),this.consumeIdentLikeToken();if(o===ie&&i===ce)return this.consumeCodePoint(),this.consumeCodePoint(),ft;break;case ve:if(st(A,this.peekCodePoint(0),this.peekCodePoint(1)))return this.reconsumeCodePoint(A),this.consumeNumericToken();break;case _A:if(this.peekCodePoint(0)===pe)for(this.consumeCodePoint();;){var a=this.consumeCodePoint();if(a===pe&&(a=this.consumeCodePoint())===_A)return this.consumeToken();if(a===Se)return this.consumeToken()}break;case He:return pt;case ye:return mt;case Be:if(this.peekCodePoint(0)===ae&&this.peekCodePoint(1)===ie&&this.peekCodePoint(2)===ie)return this.consumeCodePoint(),this.consumeCodePoint(),Ft;break;case le:var B=this.peekCodePoint(0),l=this.peekCodePoint(1),g=this.peekCodePoint(2);if(nt(B,l,g))return{type:7,value:this.consumeName()};break;case ge:return Et;case ZA:if(rt(A,this.peekCodePoint(0)))return this.reconsumeCodePoint(A),this.consumeIdentLikeToken();break;case ue:return Ht;case we:if(this.peekCodePoint(0)===$A)return this.consumeCodePoint(),lt;break;case Qe:return Qt;case Ce:return dt;case Ne:case Xe:var u=this.peekCodePoint(0),w=this.peekCodePoint(1);return u!==me||!_e(w)&&w!==de||(this.consumeCodePoint(),this.consumeUnicodeRangeToken()),this.reconsumeCodePoint(A),this.consumeIdentLikeToken();case he:if(this.peekCodePoint(0)===$A)return this.consumeCodePoint(),ut;if(this.peekCodePoint(0)===he)return this.consumeCodePoint(),gt;break;case Ue:if(this.peekCodePoint(0)===$A)return this.consumeCodePoint(),wt;break;case Se:return vt}return $e(A)?(this.consumeWhiteSpace(),yt):We(A)?(this.reconsumeCodePoint(A),this.consumeNumericToken()):At(A)?(this.reconsumeCodePoint(A),this.consumeIdentLikeToken()):{type:6,value:c(A)}},A.prototype.consumeCodePoint=function(){var A=this._value.shift();return void 0===A?-1:A},A.prototype.reconsumeCodePoint=function(A){this._value.unshift(A)},A.prototype.peekCodePoint=function(A){return A>=this._value.length?-1:this._value[A]},A.prototype.consumeUnicodeRangeToken=function(){for(var A=[],e=this.consumeCodePoint();_e(e)&&A.length<6;)A.push(e),e=this.consumeCodePoint();for(var t=!1;e===de&&A.length<6;)A.push(e),e=this.consumeCodePoint(),t=!0;if(t)return{type:30,start:parseInt(c.apply(void 0,A.map((function(A){return A===de?Me:A}))),16),end:parseInt(c.apply(void 0,A.map((function(A){return A===de?Pe:A}))),16)};var r=parseInt(c.apply(void 0,A),16);if(this.peekCodePoint(0)===ie&&_e(this.peekCodePoint(1))){this.consumeCodePoint(),e=this.consumeCodePoint();for(var n=[];_e(e)&&n.length<6;)n.push(e),e=this.consumeCodePoint();return{type:30,start:r,end:parseInt(c.apply(void 0,n),16)}}return{type:30,start:r,end:r}},A.prototype.consumeIdentLikeToken=function(){var A=this.consumeName();return"url"===A.toLowerCase()&&this.peekCodePoint(0)===ne?(this.consumeCodePoint(),this.consumeUrlToken()):this.peekCodePoint(0)===ne?(this.consumeCodePoint(),{type:19,value:A}):{type:20,value:A}},A.prototype.consumeUrlToken=function(){var A=[];if(this.consumeWhiteSpace(),this.peekCodePoint(0)===Se)return{type:22,value:""};var e=this.peekCodePoint(0);if(e===re||e===zA){var t=this.consumeStringToken(this.consumeCodePoint());return 0===t.type&&(this.consumeWhiteSpace(),this.peekCodePoint(0)===Se||this.peekCodePoint(0)===se)?(this.consumeCodePoint(),{type:22,value:t.value}):(this.consumeBadUrlRemnants(),ht)}for(;;){var r=this.consumeCodePoint();if(r===Se||r===se)return{type:22,value:c.apply(void 0,A)};if($e(r))return this.consumeWhiteSpace(),this.peekCodePoint(0)===Se||this.peekCodePoint(0)===se?(this.consumeCodePoint(),{type:22,value:c.apply(void 0,A)}):(this.consumeBadUrlRemnants(),ht);if(r===zA||r===re||r===ne||tt(r))return this.consumeBadUrlRemnants(),ht;if(r===ZA){if(!rt(r,this.peekCodePoint(0)))return this.consumeBadUrlRemnants(),ht;A.push(this.consumeEscapedCodePoint())}else A.push(r)}},A.prototype.consumeWhiteSpace=function(){for(;$e(this.peekCodePoint(0));)this.consumeCodePoint()},A.prototype.consumeBadUrlRemnants=function(){for(;;){var A=this.consumeCodePoint();if(A===se||A===Se)return;rt(A,this.peekCodePoint(0))&&this.consumeEscapedCodePoint()}},A.prototype.consumeStringSlice=function(A){for(var e=5e4,t="";A>0;){var r=Math.min(e,A);t+=c.apply(void 0,this._value.splice(0,r)),A-=r}return this._value.shift(),t},A.prototype.consumeStringToken=function(A){for(var e="",t=0;;){var r=this._value[t];if(r===Se||void 0===r||r===A)return{type:0,value:e+=this.consumeStringSlice(t)};if(r===YA)return this._value.splice(0,t),Ut;if(r===ZA){var n=this._value[t+1];n!==Se&&void 0!==n&&(n===YA?(e+=this.consumeStringSlice(t),t=-1,this._value.shift()):rt(r,n)&&(e+=this.consumeStringSlice(t),e+=c(this.consumeEscapedCodePoint()),t=-1))}t++}},A.prototype.consumeNumber=function(){var A=[],e=JA,t=this.peekCodePoint(0);for(t!==me&&t!==ie||A.push(this.consumeCodePoint());We(this.peekCodePoint(0));)A.push(this.consumeCodePoint());t=this.peekCodePoint(0);var r=this.peekCodePoint(1);if(t===ve&&We(r))for(A.push(this.consumeCodePoint(),this.consumeCodePoint()),e=WA;We(this.peekCodePoint(0));)A.push(this.consumeCodePoint());t=this.peekCodePoint(0),r=this.peekCodePoint(1);var n=this.peekCodePoint(2);if((t===Re||t===Oe)&&((r===me||r===ie)&&We(n)||We(r)))for(A.push(this.consumeCodePoint(),this.consumeCodePoint()),e=WA;We(this.peekCodePoint(0));)A.push(this.consumeCodePoint());return[ot(A),e]},A.prototype.consumeNumericToken=function(){var A=this.consumeNumber(),e=A[0],t=A[1],r=this.peekCodePoint(0),n=this.peekCodePoint(1),s=this.peekCodePoint(2);return nt(r,n,s)?{type:15,number:e,flags:t,unit:this.consumeName()}:r===te?(this.consumeCodePoint(),{type:16,number:e,flags:t}):{type:17,number:e,flags:t}},A.prototype.consumeEscapedCodePoint=function(){var A=this.consumeCodePoint();if(_e(A)){for(var e=c(A);_e(this.peekCodePoint(0))&&e.length<6;)e+=c(this.consumeCodePoint());$e(this.peekCodePoint(0))&&this.consumeCodePoint();var t=parseInt(e,16);return 0===t||Ye(t)||t>1114111?fe:t}return A===Se?fe:A},A.prototype.consumeName=function(){for(var A="";;){var e=this.consumeCodePoint();if(et(e))A+=c(e);else{if(!rt(e,this.peekCodePoint(0)))return this.reconsumeCodePoint(e),A;A+=c(this.consumeEscapedCodePoint())}}},A}(),Kt=function(){function A(A){this._tokens=A}return A.create=function(e){var t=new It;return t.write(e),new A(t.read())},A.parseValue=function(e){return A.create(e).parseComponentValue()},A.parseValues=function(e){return A.create(e).parseComponentValues()},A.prototype.parseComponentValue=function(){for(var A=this.consumeToken();31===A.type;)A=this.consumeToken();if(32===A.type)throw new SyntaxError("Error parsing CSS component value, unexpected EOF");this.reconsumeToken(A);var e=this.consumeComponentValue();do{A=this.consumeToken()}while(31===A.type);if(32===A.type)return e;throw new SyntaxError("Error parsing CSS component value, multiple values found when expecting only one")},A.prototype.parseComponentValues=function(){for(var A=[];;){var e=this.consumeComponentValue();if(32===e.type)return A;A.push(e),A.push()}},A.prototype.consumeComponentValue=function(){var A=this.consumeToken();switch(A.type){case 11:case 28:case 2:return this.consumeSimpleBlock(A.type);case 19:return this.consumeFunction(A)}return A},A.prototype.consumeSimpleBlock=function(A){for(var e={type:A,values:[]},t=this.consumeToken();;){if(32===t.type||kt(t,A))return e;this.reconsumeToken(t),e.values.push(this.consumeComponentValue()),t=this.consumeToken()}},A.prototype.consumeFunction=function(A){for(var e={name:A.value,values:[],type:18};;){var t=this.consumeToken();if(32===t.type||3===t.type)return e;this.reconsumeToken(t),e.values.push(this.consumeComponentValue())}},A.prototype.consumeToken=function(){var A=this._tokens.shift();return void 0===A?vt:A},A.prototype.reconsumeToken=function(A){this._tokens.unshift(A)},A}(),bt=function(A){return 15===A.type},Lt=function(A){return 17===A.type},Dt=function(A){return 20===A.type},xt=function(A){return 0===A.type},St=function(A,e){return Dt(A)&&A.value===e},Mt=function(A){return 31!==A.type},Tt=function(A){return 31!==A.type&&4!==A.type},Ot=function(A){var e=[],t=[];return A.forEach((function(A){if(4===A.type){if(0===t.length)throw new Error("Error parsing function args, zero tokens for arg");return e.push(t),void(t=[])}31!==A.type&&t.push(A)})),t.length&&e.push(t),e},kt=function(A,e){return 11===e&&12===A.type||28===e&&29===A.type||2===e&&3===A.type},Nt=function(A){return 17===A.type||15===A.type},Gt=function(A){return 16===A.type||Nt(A)},Vt=function(A){return A.length>1?[A[0],A[1]]:[A[0]]},Rt={type:17,number:0,flags:JA},Pt={type:16,number:50,flags:JA},Xt={type:16,number:100,flags:JA},Jt=function(A,e,t){var r=A[0],n=A[1];return[Wt(r,e),Wt(void 0!==n?n:r,t)]},Wt=function(A,e){if(16===A.type)return A.number/100*e;if(bt(A))switch(A.unit){case"rem":case"em":return 16*A.number;default:return A.number}return A.number},Yt="deg",_t="grad",Zt="rad",qt="turn",jt={name:"angle",parse:function(A,e){if(15===e.type)switch(e.unit){case Yt:return Math.PI*e.number/180;case _t:return Math.PI/200*e.number;case Zt:return e.number;case qt:return 2*Math.PI*e.number}throw new Error("Unsupported angle type")}},zt=function(A){return 15===A.type&&(A.unit===Yt||A.unit===_t||A.unit===Zt||A.unit===qt)},$t=function(A){switch(A.filter(Dt).map((function(A){return A.value})).join(" ")){case"to bottom right":case"to right bottom":case"left top":case"top left":return[Rt,Rt];case"to top":case"bottom":return Ar(0);case"to bottom left":case"to left bottom":case"right top":case"top right":return[Rt,Xt];case"to right":case"left":return Ar(90);case"to top left":case"to left top":case"right bottom":case"bottom right":return[Xt,Xt];case"to bottom":case"top":return Ar(180);case"to top right":case"to right top":case"left bottom":case"bottom left":return[Xt,Rt];case"to left":case"right":return Ar(270)}return 0},Ar=function(A){return Math.PI*A/180},er={name:"color",parse:function(A,e){if(18===e.type){var t=Br[e.name];if(void 0===t)throw new Error('Attempting to parse an unsupported color function "'+e.name+'"');return t(A,e.values)}if(5===e.type){if(3===e.value.length){var r=e.value.substring(0,1),n=e.value.substring(1,2),s=e.value.substring(2,3);return nr(parseInt(r+r,16),parseInt(n+n,16),parseInt(s+s,16),1)}if(4===e.value.length){r=e.value.substring(0,1),n=e.value.substring(1,2),s=e.value.substring(2,3);var o=e.value.substring(3,4);return nr(parseInt(r+r,16),parseInt(n+n,16),parseInt(s+s,16),parseInt(o+o,16)/255)}if(6===e.value.length)return r=e.value.substring(0,2),n=e.value.substring(2,4),s=e.value.substring(4,6),nr(parseInt(r,16),parseInt(n,16),parseInt(s,16),1);if(8===e.value.length)return r=e.value.substring(0,2),n=e.value.substring(2,4),s=e.value.substring(4,6),o=e.value.substring(6,8),nr(parseInt(r,16),parseInt(n,16),parseInt(s,16),parseInt(o,16)/255)}if(20===e.type){var i=lr[e.value.toUpperCase()];if(void 0!==i)return i}return lr.TRANSPARENT}},tr=function(A){return 0==(255&A)},rr=function(A){var e=255&A,t=255&A>>8,r=255&A>>16,n=255&A>>24;return e<255?"rgba("+n+","+r+","+t+","+e/255+")":"rgb("+n+","+r+","+t+")"},nr=function(A,e,t,r){return(A<<24|e<<16|t<<8|Math.round(255*r)<<0)>>>0},sr=function(A,e){if(17===A.type)return A.number;if(16===A.type){var t=3===e?1:255;return 3===e?A.number/100*t:Math.round(A.number/100*t)}return 0},or=function(A,e){var t=e.filter(Tt);if(3===t.length){var r=t.map(sr),n=r[0],s=r[1],o=r[2];return nr(n,s,o,1)}if(4===t.length){var i=t.map(sr),a=(n=i[0],s=i[1],o=i[2],i[3]);return nr(n,s,o,a)}return 0};function ir(A,e,t){return t<0&&(t+=1),t>=1&&(t-=1),t<1/6?(e-A)*t*6+A:t<.5?e:t<2/3?6*(e-A)*(2/3-t)+A:A}var ar=function(A,e){var t=e.filter(Tt),r=t[0],n=t[1],s=t[2],o=t[3],i=(17===r.type?Ar(r.number):jt.parse(A,r))/(2*Math.PI),a=Gt(n)?n.number/100:0,B=Gt(s)?s.number/100:0,c=void 0!==o&&Gt(o)?Wt(o,1):1;if(0===a)return nr(255*B,255*B,255*B,1);var l=B<=.5?B*(a+1):B+a-B*a,g=2*B-l,u=ir(g,l,i+1/3),w=ir(g,l,i),Q=ir(g,l,i-1/3);return nr(255*u,255*w,255*Q,c)},Br={hsl:ar,hsla:ar,rgb:or,rgba:or},cr=function(A,e){return er.parse(A,Kt.create(e).parseComponentValue())},lr={ALICEBLUE:4042850303,ANTIQUEWHITE:4209760255,AQUA:16777215,AQUAMARINE:2147472639,AZURE:4043309055,BEIGE:4126530815,BISQUE:4293182719,BLACK:255,BLANCHEDALMOND:4293643775,BLUE:65535,BLUEVIOLET:2318131967,BROWN:2771004159,BURLYWOOD:3736635391,CADETBLUE:1604231423,CHARTREUSE:2147418367,CHOCOLATE:3530104575,CORAL:4286533887,CORNFLOWERBLUE:1687547391,CORNSILK:4294499583,CRIMSON:3692313855,CYAN:16777215,DARKBLUE:35839,DARKCYAN:9145343,DARKGOLDENROD:3095837695,DARKGRAY:2846468607,DARKGREEN:6553855,DARKGREY:2846468607,DARKKHAKI:3182914559,DARKMAGENTA:2332068863,DARKOLIVEGREEN:1433087999,DARKORANGE:4287365375,DARKORCHID:2570243327,DARKRED:2332033279,DARKSALMON:3918953215,DARKSEAGREEN:2411499519,DARKSLATEBLUE:1211993087,DARKSLATEGRAY:793726975,DARKSLATEGREY:793726975,DARKTURQUOISE:13554175,DARKVIOLET:2483082239,DEEPPINK:4279538687,DEEPSKYBLUE:12582911,DIMGRAY:1768516095,DIMGREY:1768516095,DODGERBLUE:512819199,FIREBRICK:2988581631,FLORALWHITE:4294635775,FORESTGREEN:579543807,FUCHSIA:4278255615,GAINSBORO:3705462015,GHOSTWHITE:4177068031,GOLD:4292280575,GOLDENROD:3668254975,GRAY:2155905279,GREEN:8388863,GREENYELLOW:2919182335,GREY:2155905279,HONEYDEW:4043305215,HOTPINK:4285117695,INDIANRED:3445382399,INDIGO:1258324735,IVORY:4294963455,KHAKI:4041641215,LAVENDER:3873897215,LAVENDERBLUSH:4293981695,LAWNGREEN:2096890111,LEMONCHIFFON:4294626815,LIGHTBLUE:2916673279,LIGHTCORAL:4034953471,LIGHTCYAN:3774873599,LIGHTGOLDENRODYELLOW:4210742015,LIGHTGRAY:3553874943,LIGHTGREEN:2431553791,LIGHTGREY:3553874943,LIGHTPINK:4290167295,LIGHTSALMON:4288707327,LIGHTSEAGREEN:548580095,LIGHTSKYBLUE:2278488831,LIGHTSLATEGRAY:2005441023,LIGHTSLATEGREY:2005441023,LIGHTSTEELBLUE:2965692159,LIGHTYELLOW:4294959359,LIME:16711935,LIMEGREEN:852308735,LINEN:4210091775,MAGENTA:4278255615,MAROON:2147483903,MEDIUMAQUAMARINE:1724754687,MEDIUMBLUE:52735,MEDIUMORCHID:3126187007,MEDIUMPURPLE:2473647103,MEDIUMSEAGREEN:1018393087,MEDIUMSLATEBLUE:2070474495,MEDIUMSPRINGGREEN:16423679,MEDIUMTURQUOISE:1221709055,MEDIUMVIOLETRED:3340076543,MIDNIGHTBLUE:421097727,MINTCREAM:4127193855,MISTYROSE:4293190143,MOCCASIN:4293178879,NAVAJOWHITE:4292783615,NAVY:33023,OLDLACE:4260751103,OLIVE:2155872511,OLIVEDRAB:1804477439,ORANGE:4289003775,ORANGERED:4282712319,ORCHID:3664828159,PALEGOLDENROD:4008225535,PALEGREEN:2566625535,PALETURQUOISE:2951671551,PALEVIOLETRED:3681588223,PAPAYAWHIP:4293907967,PEACHPUFF:4292524543,PERU:3448061951,PINK:4290825215,PLUM:3718307327,POWDERBLUE:2967529215,PURPLE:2147516671,REBECCAPURPLE:1714657791,RED:4278190335,ROSYBROWN:3163525119,ROYALBLUE:1097458175,SADDLEBROWN:2336560127,SALMON:4202722047,SANDYBROWN:4104413439,SEAGREEN:780883967,SEASHELL:4294307583,SIENNA:2689740287,SILVER:3233857791,SKYBLUE:2278484991,SLATEBLUE:1784335871,SLATEGRAY:1887473919,SLATEGREY:1887473919,SNOW:4294638335,SPRINGGREEN:16744447,STEELBLUE:1182971135,TAN:3535047935,TEAL:8421631,THISTLE:3636451583,TOMATO:4284696575,TRANSPARENT:0,TURQUOISE:1088475391,VIOLET:4001558271,WHEAT:4125012991,WHITE:4294967295,WHITESMOKE:4126537215,YELLOW:4294902015,YELLOWGREEN:2597139199},gr={name:"background-clip",initialValue:"border-box",prefix:!1,type:1,parse:function(A,e){return e.map((function(A){if(Dt(A))switch(A.value){case"padding-box":return 1;case"content-box":return 2}return 0}))}},ur={name:"background-color",initialValue:"transparent",prefix:!1,type:3,format:"color"},wr=function(A,e){var t=er.parse(A,e[0]),r=e[1];return r&&Gt(r)?{color:t,stop:r}:{color:t,stop:null}},Qr=function(A,e){var t=A[0],r=A[A.length-1];null===t.stop&&(t.stop=Rt),null===r.stop&&(r.stop=Xt);for(var n=[],s=0,o=0;os?n.push(a):n.push(s),s=a}else n.push(null)}var B=null;for(o=0;oA.optimumDistance)?{optimumCorner:e,optimumDistance:i}:A}),{optimumDistance:n?1/0:-1/0,optimumCorner:null}).optimumCorner},Fr=function(A,e,t,r,n){var s=0,o=0;switch(A.size){case 0:0===A.shape?s=o=Math.min(Math.abs(e),Math.abs(e-r),Math.abs(t),Math.abs(t-n)):1===A.shape&&(s=Math.min(Math.abs(e),Math.abs(e-r)),o=Math.min(Math.abs(t),Math.abs(t-n)));break;case 2:if(0===A.shape)s=o=Math.min(hr(e,t),hr(e,t-n),hr(e-r,t),hr(e-r,t-n));else if(1===A.shape){var i=Math.min(Math.abs(t),Math.abs(t-n))/Math.min(Math.abs(e),Math.abs(e-r)),a=Ur(r,n,e,t,!0),B=a[0],c=a[1];o=i*(s=hr(B-e,(c-t)/i))}break;case 1:0===A.shape?s=o=Math.max(Math.abs(e),Math.abs(e-r),Math.abs(t),Math.abs(t-n)):1===A.shape&&(s=Math.max(Math.abs(e),Math.abs(e-r)),o=Math.max(Math.abs(t),Math.abs(t-n)));break;case 3:if(0===A.shape)s=o=Math.max(hr(e,t),hr(e,t-n),hr(e-r,t),hr(e-r,t-n));else if(1===A.shape){i=Math.max(Math.abs(t),Math.abs(t-n))/Math.max(Math.abs(e),Math.abs(e-r));var l=Ur(r,n,e,t,!1);B=l[0],c=l[1],o=i*(s=hr(B-e,(c-t)/i))}}return Array.isArray(A.size)&&(s=Wt(A.size[0],r),o=2===A.size.length?Wt(A.size[1],n):s),[s,o]},fr=function(A,e){var t=Ar(180),r=[];return Ot(e).forEach((function(e,n){if(0===n){var s=e[0];if(20===s.type&&-1!==["top","left","right","bottom"].indexOf(s.value))return void(t=$t(e));if(zt(s))return void(t=(jt.parse(A,s)+Ar(270))%Ar(360))}var o=wr(A,e);r.push(o)})),{angle:t,stops:r,type:1}},pr="closest-side",mr="farthest-side",Er="closest-corner",Hr="farthest-corner",yr="circle",vr="ellipse",Ir="cover",Kr="contain",br=function(A,e){var t=0,r=3,n=[],s=[];return Ot(e).forEach((function(e,o){var i=!0;if(0===o?i=e.reduce((function(A,e){if(Dt(e))switch(e.value){case"center":return s.push(Pt),!1;case"top":case"left":return s.push(Rt),!1;case"right":case"bottom":return s.push(Xt),!1}else if(Gt(e)||Nt(e))return s.push(e),!1;return A}),i):1===o&&(i=e.reduce((function(A,e){if(Dt(e))switch(e.value){case yr:return t=0,!1;case vr:return t=1,!1;case Kr:case pr:return r=0,!1;case mr:return r=1,!1;case Er:return r=2,!1;case Ir:case Hr:return r=3,!1}else if(Nt(e)||Gt(e))return Array.isArray(r)||(r=[]),r.push(e),!1;return A}),i)),i){var a=wr(A,e);n.push(a)}})),{size:r,shape:t,stops:n,position:s,type:2}},Lr=function(A){return 1===A.type},Dr=function(A){return 2===A.type},xr={name:"image",parse:function(A,e){if(22===e.type){var t={url:e.value,type:0};return A.cache.addImage(e.value),t}if(18===e.type){var r=Tr[e.name];if(void 0===r)throw new Error('Attempting to parse an unsupported image function "'+e.name+'"');return r(A,e.values)}throw new Error("Unsupported image type "+e.type)}};function Sr(A){return!(20===A.type&&"none"===A.value||18===A.type&&!Tr[A.name])}var Mr,Tr={"linear-gradient":function(A,e){var t=Ar(180),r=[];return Ot(e).forEach((function(e,n){if(0===n){var s=e[0];if(20===s.type&&"to"===s.value)return void(t=$t(e));if(zt(s))return void(t=jt.parse(A,s))}var o=wr(A,e);r.push(o)})),{angle:t,stops:r,type:1}},"-moz-linear-gradient":fr,"-ms-linear-gradient":fr,"-o-linear-gradient":fr,"-webkit-linear-gradient":fr,"radial-gradient":function(A,e){var t=0,r=3,n=[],s=[];return Ot(e).forEach((function(e,o){var i=!0;if(0===o){var a=!1;i=e.reduce((function(A,e){if(a)if(Dt(e))switch(e.value){case"center":return s.push(Pt),A;case"top":case"left":return s.push(Rt),A;case"right":case"bottom":return s.push(Xt),A}else(Gt(e)||Nt(e))&&s.push(e);else if(Dt(e))switch(e.value){case yr:return t=0,!1;case vr:return t=1,!1;case"at":return a=!0,!1;case pr:return r=0,!1;case Ir:case mr:return r=1,!1;case Kr:case Er:return r=2,!1;case Hr:return r=3,!1}else if(Nt(e)||Gt(e))return Array.isArray(r)||(r=[]),r.push(e),!1;return A}),i)}if(i){var B=wr(A,e);n.push(B)}})),{size:r,shape:t,stops:n,position:s,type:2}},"-moz-radial-gradient":br,"-ms-radial-gradient":br,"-o-radial-gradient":br,"-webkit-radial-gradient":br,"-webkit-gradient":function(A,e){var t=Ar(180),r=[],n=1,s=0,o=3,i=[];return Ot(e).forEach((function(e,t){var s=e[0];if(0===t){if(Dt(s)&&"linear"===s.value)return void(n=1);if(Dt(s)&&"radial"===s.value)return void(n=2)}if(18===s.type)if("from"===s.name){var o=er.parse(A,s.values[0]);r.push({stop:Rt,color:o})}else if("to"===s.name)o=er.parse(A,s.values[0]),r.push({stop:Xt,color:o});else if("color-stop"===s.name){var i=s.values.filter(Tt);if(2===i.length){o=er.parse(A,i[1]);var a=i[0];Lt(a)&&r.push({stop:{type:16,number:100*a.number,flags:a.flags},color:o})}}})),1===n?{angle:(t+Ar(180))%Ar(360),stops:r,type:n}:{size:o,shape:s,stops:r,position:i,type:n}}},Or={name:"background-image",initialValue:"none",type:1,prefix:!1,parse:function(A,e){if(0===e.length)return[];var t=e[0];return 20===t.type&&"none"===t.value?[]:e.filter((function(A){return Tt(A)&&Sr(A)})).map((function(e){return xr.parse(A,e)}))}},kr={name:"background-origin",initialValue:"border-box",prefix:!1,type:1,parse:function(A,e){return e.map((function(A){if(Dt(A))switch(A.value){case"padding-box":return 1;case"content-box":return 2}return 0}))}},Nr={name:"background-position",initialValue:"0% 0%",type:1,prefix:!1,parse:function(A,e){return Ot(e).map((function(A){return A.filter(Gt)})).map(Vt)}},Gr={name:"background-repeat",initialValue:"repeat",prefix:!1,type:1,parse:function(A,e){return Ot(e).map((function(A){return A.filter(Dt).map((function(A){return A.value})).join(" ")})).map(Vr)}},Vr=function(A){switch(A){case"no-repeat":return 1;case"repeat-x":case"repeat no-repeat":return 2;case"repeat-y":case"no-repeat repeat":return 3;default:return 0}};!function(A){A.AUTO="auto",A.CONTAIN="contain",A.COVER="cover"}(Mr||(Mr={}));var Rr,Pr={name:"background-size",initialValue:"0",prefix:!1,type:1,parse:function(A,e){return Ot(e).map((function(A){return A.filter(Xr)}))}},Xr=function(A){return Dt(A)||Gt(A)},Jr=function(A){return{name:"border-"+A+"-color",initialValue:"transparent",prefix:!1,type:3,format:"color"}},Wr=Jr("top"),Yr=Jr("right"),_r=Jr("bottom"),Zr=Jr("left"),qr=function(A){return{name:"border-radius-"+A,initialValue:"0 0",prefix:!1,type:1,parse:function(A,e){return Vt(e.filter(Gt))}}},jr=qr("top-left"),zr=qr("top-right"),$r=qr("bottom-right"),An=qr("bottom-left"),en=function(A){return{name:"border-"+A+"-style",initialValue:"solid",prefix:!1,type:2,parse:function(A,e){switch(e){case"none":return 0;case"dashed":return 2;case"dotted":return 3;case"double":return 4}return 1}}},tn=en("top"),rn=en("right"),nn=en("bottom"),sn=en("left"),on=function(A){return{name:"border-"+A+"-width",initialValue:"0",type:0,prefix:!1,parse:function(A,e){return bt(e)?e.number:0}}},an=on("top"),Bn=on("right"),cn=on("bottom"),ln=on("left"),gn={name:"color",initialValue:"transparent",prefix:!1,type:3,format:"color"},un={name:"direction",initialValue:"ltr",prefix:!1,type:2,parse:function(A,e){return"rtl"===e?1:0}},wn={name:"display",initialValue:"inline-block",prefix:!1,type:1,parse:function(A,e){return e.filter(Dt).reduce((function(A,e){return A|Qn(e.value)}),0)}},Qn=function(A){switch(A){case"block":case"-webkit-box":return 2;case"inline":return 4;case"run-in":return 8;case"flow":return 16;case"flow-root":return 32;case"table":return 64;case"flex":case"-webkit-flex":return 128;case"grid":case"-ms-grid":return 256;case"ruby":return 512;case"subgrid":return 1024;case"list-item":return 2048;case"table-row-group":return 4096;case"table-header-group":return 8192;case"table-footer-group":return 16384;case"table-row":return 32768;case"table-cell":return 65536;case"table-column-group":return 131072;case"table-column":return 262144;case"table-caption":return 524288;case"ruby-base":return 1048576;case"ruby-text":return 2097152;case"ruby-base-container":return 4194304;case"ruby-text-container":return 8388608;case"contents":return 16777216;case"inline-block":return 33554432;case"inline-list-item":return 67108864;case"inline-table":return 134217728;case"inline-flex":return 268435456;case"inline-grid":return 536870912}return 0},dn={name:"float",initialValue:"none",prefix:!1,type:2,parse:function(A,e){switch(e){case"left":return 1;case"right":return 2;case"inline-start":return 3;case"inline-end":return 4}return 0}},Cn={name:"letter-spacing",initialValue:"0",prefix:!1,type:0,parse:function(A,e){return 20===e.type&&"normal"===e.value?0:17===e.type||15===e.type?e.number:0}};!function(A){A.NORMAL="normal",A.STRICT="strict"}(Rr||(Rr={}));var hn,Un={name:"line-break",initialValue:"normal",prefix:!1,type:2,parse:function(A,e){return"strict"===e?Rr.STRICT:Rr.NORMAL}},Fn={name:"line-height",initialValue:"normal",prefix:!1,type:4},fn=function(A,e){return Dt(A)&&"normal"===A.value?1.2*e:17===A.type?e*A.number:Gt(A)?Wt(A,e):e},pn={name:"list-style-image",initialValue:"none",type:0,prefix:!1,parse:function(A,e){return 20===e.type&&"none"===e.value?null:xr.parse(A,e)}},mn={name:"list-style-position",initialValue:"outside",prefix:!1,type:2,parse:function(A,e){return"inside"===e?0:1}},En={name:"list-style-type",initialValue:"none",prefix:!1,type:2,parse:function(A,e){switch(e){case"disc":return 0;case"circle":return 1;case"square":return 2;case"decimal":return 3;case"cjk-decimal":return 4;case"decimal-leading-zero":return 5;case"lower-roman":return 6;case"upper-roman":return 7;case"lower-greek":return 8;case"lower-alpha":return 9;case"upper-alpha":return 10;case"arabic-indic":return 11;case"armenian":return 12;case"bengali":return 13;case"cambodian":return 14;case"cjk-earthly-branch":return 15;case"cjk-heavenly-stem":return 16;case"cjk-ideographic":return 17;case"devanagari":return 18;case"ethiopic-numeric":return 19;case"georgian":return 20;case"gujarati":return 21;case"gurmukhi":case"hebrew":return 22;case"hiragana":return 23;case"hiragana-iroha":return 24;case"japanese-formal":return 25;case"japanese-informal":return 26;case"kannada":return 27;case"katakana":return 28;case"katakana-iroha":return 29;case"khmer":return 30;case"korean-hangul-formal":return 31;case"korean-hanja-formal":return 32;case"korean-hanja-informal":return 33;case"lao":return 34;case"lower-armenian":return 35;case"malayalam":return 36;case"mongolian":return 37;case"myanmar":return 38;case"oriya":return 39;case"persian":return 40;case"simp-chinese-formal":return 41;case"simp-chinese-informal":return 42;case"tamil":return 43;case"telugu":return 44;case"thai":return 45;case"tibetan":return 46;case"trad-chinese-formal":return 47;case"trad-chinese-informal":return 48;case"upper-armenian":return 49;case"disclosure-open":return 50;case"disclosure-closed":return 51;default:return-1}}},Hn=function(A){return{name:"margin-"+A,initialValue:"0",prefix:!1,type:4}},yn=Hn("top"),vn=Hn("right"),In=Hn("bottom"),Kn=Hn("left"),bn={name:"overflow",initialValue:"visible",prefix:!1,type:1,parse:function(A,e){return e.filter(Dt).map((function(A){switch(A.value){case"hidden":return 1;case"scroll":return 2;case"clip":return 3;case"auto":return 4;default:return 0}}))}},Ln={name:"overflow-wrap",initialValue:"normal",prefix:!1,type:2,parse:function(A,e){return"break-word"===e?"break-word":"normal"}},Dn=function(A){return{name:"padding-"+A,initialValue:"0",prefix:!1,type:3,format:"length-percentage"}},xn=Dn("top"),Sn=Dn("right"),Mn=Dn("bottom"),Tn=Dn("left"),On={name:"text-align",initialValue:"left",prefix:!1,type:2,parse:function(A,e){switch(e){case"right":return 2;case"center":case"justify":return 1;default:return 0}}},kn={name:"position",initialValue:"static",prefix:!1,type:2,parse:function(A,e){switch(e){case"relative":return 1;case"absolute":return 2;case"fixed":return 3;case"sticky":return 4}return 0}},Nn={name:"text-shadow",initialValue:"none",type:1,prefix:!1,parse:function(A,e){return 1===e.length&&St(e[0],"none")?[]:Ot(e).map((function(e){for(var t={color:lr.TRANSPARENT,offsetX:Rt,offsetY:Rt,blur:Rt},r=0,n=0;n1?1:0],this.overflowWrap=hs(A,Ln,e.overflowWrap),this.paddingTop=hs(A,xn,e.paddingTop),this.paddingRight=hs(A,Sn,e.paddingRight),this.paddingBottom=hs(A,Mn,e.paddingBottom),this.paddingLeft=hs(A,Tn,e.paddingLeft),this.paintOrder=hs(A,gs,e.paintOrder),this.position=hs(A,kn,e.position),this.textAlign=hs(A,On,e.textAlign),this.textDecorationColor=hs(A,jn,null!==(t=e.textDecorationColor)&&void 0!==t?t:e.color),this.textDecorationLine=hs(A,zn,null!==(r=e.textDecorationLine)&&void 0!==r?r:e.textDecoration),this.textShadow=hs(A,Nn,e.textShadow),this.textTransform=hs(A,Gn,e.textTransform),this.transform=hs(A,Vn,e.transform),this.transformOrigin=hs(A,Jn,e.transformOrigin),this.visibility=hs(A,Wn,e.visibility),this.webkitTextStrokeColor=hs(A,us,e.webkitTextStrokeColor),this.webkitTextStrokeWidth=hs(A,ws,e.webkitTextStrokeWidth),this.wordBreak=hs(A,Yn,e.wordBreak),this.zIndex=hs(A,_n,e.zIndex)}return A.prototype.isVisible=function(){return this.display>0&&this.opacity>0&&0===this.visibility},A.prototype.isTransparent=function(){return tr(this.backgroundColor)},A.prototype.isTransformed=function(){return null!==this.transform},A.prototype.isPositioned=function(){return 0!==this.position},A.prototype.isPositionedWithZIndex=function(){return this.isPositioned()&&!this.zIndex.auto},A.prototype.isFloating=function(){return 0!==this.float},A.prototype.isInlineLevel=function(){return ns(this.display,4)||ns(this.display,33554432)||ns(this.display,268435456)||ns(this.display,536870912)||ns(this.display,67108864)||ns(this.display,134217728)},A}(),ds=function(){function A(A,e){this.content=hs(A,ss,e.content),this.quotes=hs(A,Bs,e.quotes)}return A}(),Cs=function(){function A(A,e){this.counterIncrement=hs(A,os,e.counterIncrement),this.counterReset=hs(A,is,e.counterReset)}return A}(),hs=function(A,e,t){var r=new It,n=null!=t?t.toString():e.initialValue;r.write(n);var s=new Kt(r.read());switch(e.type){case 2:var o=s.parseComponentValue();return e.parse(A,Dt(o)?o.value:e.initialValue);case 0:return e.parse(A,s.parseComponentValue());case 1:return e.parse(A,s.parseComponentValues());case 4:return s.parseComponentValue();case 3:switch(e.format){case"angle":return jt.parse(A,s.parseComponentValue());case"color":return er.parse(A,s.parseComponentValue());case"image":return xr.parse(A,s.parseComponentValue());case"length":var i=s.parseComponentValue();return Nt(i)?i:Rt;case"length-percentage":var a=s.parseComponentValue();return Gt(a)?a:Rt;case"time":return Zn.parse(A,s.parseComponentValue())}}},Us="data-html2canvas-debug",Fs=function(A){switch(A.getAttribute(Us)){case"all":return 1;case"clone":return 2;case"parse":return 3;case"render":return 4;default:return 0}},fs=function(A,e){var t=Fs(A);return 1===t||e===t},ps=function(){function A(A,e){this.context=A,this.textNodes=[],this.elements=[],this.flags=0,fs(e,3),this.styles=new Qs(A,window.getComputedStyle(e,null)),ci(e)&&(this.styles.animationDuration.some((function(A){return A>0}))&&(e.style.animationDuration="0s"),null!==this.styles.transform&&(e.style.transform="none")),this.bounds=i(this.context,e),fs(e,4)&&(this.flags|=16)}return A}(),ms="AAAAAAAAAAAAEA4AGBkAAFAaAAACAAAAAAAIABAAGAAwADgACAAQAAgAEAAIABAACAAQAAgAEAAIABAACAAQAAgAEAAIABAAQABIAEQATAAIABAACAAQAAgAEAAIABAAVABcAAgAEAAIABAACAAQAGAAaABwAHgAgACIAI4AlgAIABAAmwCjAKgAsAC2AL4AvQDFAMoA0gBPAVYBWgEIAAgACACMANoAYgFkAWwBdAF8AX0BhQGNAZUBlgGeAaMBlQGWAasBswF8AbsBwwF0AcsBYwHTAQgA2wG/AOMBdAF8AekB8QF0AfkB+wHiAHQBfAEIAAMC5gQIAAsCEgIIAAgAFgIeAggAIgIpAggAMQI5AkACygEIAAgASAJQAlgCYAIIAAgACAAKBQoFCgUTBRMFGQUrBSsFCAAIAAgACAAIAAgACAAIAAgACABdAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACABoAmgCrwGvAQgAbgJ2AggAHgEIAAgACADnAXsCCAAIAAgAgwIIAAgACAAIAAgACACKAggAkQKZAggAPADJAAgAoQKkAqwCsgK6AsICCADJAggA0AIIAAgACAAIANYC3gIIAAgACAAIAAgACABAAOYCCAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAkASoB+QIEAAgACAA8AEMCCABCBQgACABJBVAFCAAIAAgACAAIAAgACAAIAAgACABTBVoFCAAIAFoFCABfBWUFCAAIAAgACAAIAAgAbQUIAAgACAAIAAgACABzBXsFfQWFBYoFigWKBZEFigWKBYoFmAWfBaYFrgWxBbkFCAAIAAgACAAIAAgACAAIAAgACAAIAMEFCAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAMgFCADQBQgACAAIAAgACAAIAAgACAAIAAgACAAIAO4CCAAIAAgAiQAIAAgACABAAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAD0AggACAD8AggACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIANYFCAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAMDvwAIAAgAJAIIAAgACAAIAAgACAAIAAgACwMTAwgACAB9BOsEGwMjAwgAKwMyAwsFYgE3A/MEPwMIAEUDTQNRAwgAWQOsAGEDCAAIAAgACAAIAAgACABpAzQFNQU2BTcFOAU5BToFNAU1BTYFNwU4BTkFOgU0BTUFNgU3BTgFOQU6BTQFNQU2BTcFOAU5BToFNAU1BTYFNwU4BTkFOgU0BTUFNgU3BTgFOQU6BTQFNQU2BTcFOAU5BToFNAU1BTYFNwU4BTkFOgU0BTUFNgU3BTgFOQU6BTQFNQU2BTcFOAU5BToFNAU1BTYFNwU4BTkFOgU0BTUFNgU3BTgFOQU6BTQFNQU2BTcFOAU5BToFNAU1BTYFNwU4BTkFOgU0BTUFNgU3BTgFOQU6BTQFNQU2BTcFOAU5BToFNAU1BTYFNwU4BTkFOgU0BTUFNgU3BTgFOQU6BTQFNQU2BTcFOAU5BToFNAU1BTYFNwU4BTkFOgU0BTUFNgU3BTgFOQU6BTQFNQU2BTcFOAU5BToFNAU1BTYFNwU4BTkFOgU0BTUFNgU3BTgFOQU6BTQFNQU2BTcFOAU5BToFNAU1BTYFNwU4BTkFOgU0BTUFNgU3BTgFOQU6BTQFNQU2BTcFOAU5BToFNAU1BTYFNwU4BTkFOgU0BTUFNgU3BTgFOQU6BTQFNQU2BTcFOAU5BToFNAU1BTYFNwU4BTkFOgU0BTUFNgU3BTgFOQU6BTQFNQU2BTcFOAU5BToFNAU1BTYFNwU4BTkFOgU0BTUFNgU3BTgFOQU6BTQFNQU2BTcFOAU5BToFNAU1BTYFNwU4BTkFOgU0BTUFNgU3BTgFOQU6BTQFNQU2BTcFOAU5BToFNAU1BTYFNwU4BTkFOgU0BTUFNgU3BTgFOQU6BTQFNQU2BTcFOAU5BToFNAU1BTYFNwU4BTkFOgU0BTUFNgU3BTgFOQU6BTQFNQU2BTcFOAU5BToFNAU1BTYFNwU4BTkFOgU0BTUFNgU3BTgFOQU6BTQFNQU2BTcFOAU5BToFNAU1BTYFNwU4BTkFIQUoBSwFCAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACABtAwgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACABMAEwACAAIAAgACAAIABgACAAIAAgACAC/AAgACAAyAQgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACACAAIAAwAAgACAAIAAgACAAIAAgACAAIAAAARABIAAgACAAIABQASAAIAAgAIABwAEAAjgCIABsAqAC2AL0AigDQAtwC+IJIQqVAZUBWQqVAZUBlQGVAZUBlQGrC5UBlQGVAZUBlQGVAZUBlQGVAXsKlQGVAbAK6wsrDGUMpQzlDJUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAfAKAAuZA64AtwCJALoC6ADwAAgAuACgA/oEpgO6AqsD+AAIAAgAswMIAAgACAAIAIkAuwP5AfsBwwPLAwgACAAIAAgACADRA9kDCAAIAOED6QMIAAgACAAIAAgACADuA/YDCAAIAP4DyQAIAAgABgQIAAgAXQAOBAgACAAIAAgACAAIABMECAAIAAgACAAIAAgACAD8AAQBCAAIAAgAGgQiBCoECAExBAgAEAEIAAgACAAIAAgACAAIAAgACAAIAAgACAA4BAgACABABEYECAAIAAgATAQYAQgAVAQIAAgACAAIAAgACAAIAAgACAAIAFoECAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgAOQEIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAB+BAcACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAEABhgSMBAgACAAIAAgAlAQIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAwAEAAQABAADAAMAAwADAAQABAAEAAQABAAEAAQABHATAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgAdQMIAAgACAAIAAgACAAIAMkACAAIAAgAfQMIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACACFA4kDCAAIAAgACAAIAOcBCAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAIcDCAAIAAgACAAIAAgACAAIAAgACAAIAJEDCAAIAAgACADFAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACABgBAgAZgQIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgAbAQCBXIECAAIAHkECAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACABAAJwEQACjBKoEsgQIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAC6BMIECAAIAAgACAAIAAgACABmBAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgAxwQIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAGYECAAIAAgAzgQIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgAigWKBYoFigWKBYoFigWKBd0FXwUIAOIF6gXxBYoF3gT5BQAGCAaKBYoFigWKBYoFigWKBYoFigWKBYoFigXWBIoFigWKBYoFigWKBYoFigWKBYsFEAaKBYoFigWKBYoFigWKBRQGCACKBYoFigWKBQgACAAIANEECAAIABgGigUgBggAJgYIAC4GMwaKBYoF0wQ3Bj4GigWKBYoFigWKBYoFigWKBYoFigWKBYoFigUIAAgACAAIAAgACAAIAAgAigWKBYoFigWKBYoFigWKBYoFigWKBYoFigWKBYoFigWKBYoFigWKBYoFigWKBYoFigWKBYoFigWKBYoFigWLBf///////wQABAAEAAQABAAEAAQABAAEAAQAAwAEAAQAAgAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAAAAAAAAAAAAAAAAAAAAAAAAAOAAAAAAAAAAQADgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUABQAFAAUABQAFAAUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAAAAUAAAAFAAUAAAAFAAUAAAAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAAEAAQABAAEAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAUABQAFAAUABQAFAAUABQAFAAUABQAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUABQAFAAUABQAFAAUAAQAAAAUABQAFAAUABQAFAAAAAAAFAAUAAAAFAAUABQAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEAAAAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFAAUABQAFAAUABQAFAAUABQAFAAUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFAAUABQAFAAUABQAFAAUABQAAAAAAAAAAAAAAAAAAAAAAAAAFAAAAAAAFAAUAAQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABwAFAAUABQAFAAAABwAHAAcAAAAHAAcABwAFAAEAAAAAAAAAAAAAAAAAAAAAAAUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHAAcABwAFAAUABQAFAAcABwAFAAUAAAAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHAAAAAQABAAAAAAAAAAAAAAAFAAUABQAFAAAABwAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABQAHAAcABwAHAAcAAAAHAAcAAAAAAAUABQAHAAUAAQAHAAEABwAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABQAFAAUABQAFAAUABwABAAUABQAFAAUAAAAAAAAAAAAAAAEAAQABAAEAAQABAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABwAFAAUAAAAAAAAAAAAAAAAABQAFAAUABQAFAAUAAQAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUABQAFAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQABQANAAQABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQABAAEAAQABAAEAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAOAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAAEAAQABAAEAAQABAAEAAQABAAEAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEAAQABAAEAAQABAAEAAQABAAAAAAAAAAAAAAAAAAAAAAABQAHAAUABQAFAAAAAAAAAAcABQAFAAUABQAFAAQABAAEAAQABAAEAAQABAAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUABQAFAAUAAAAFAAUABQAFAAUAAAAFAAUABQAAAAUABQAFAAUABQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFAAUABQAAAAAAAAAAAAUABQAFAAcAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABQAHAAUAAAAHAAcABwAFAAUABQAFAAUABQAFAAUABwAHAAcABwAFAAcABwAAAAUABQAFAAUABQAFAAUAAAAAAAAAAAAAAAAAAAAAAAAAAAAFAAUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUABwAHAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABQAAAAUABwAHAAUABQAFAAUAAAAAAAcABwAAAAAABwAHAAUAAAAAAAAAAAAAAAAAAAAAAAAABQAAAAAAAAAAAAAAAAAAAAAAAAAAAAUABQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABQAAAAAABQAFAAcAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFAAAABwAHAAcABQAFAAAAAAAAAAAABQAFAAAAAAAFAAUABQAAAAAAAAAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUABQAAAAAAAAAFAAAAAAAAAAAAAAAAAAAAAAAAAAAABwAFAAUABQAFAAUAAAAFAAUABwAAAAcABwAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFAAUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFAAUABQAFAAUABQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUAAAAFAAUABwAFAAUABQAFAAAAAAAHAAcAAAAAAAcABwAFAAAAAAAAAAAAAAAAAAAABQAFAAUAAAAAAAAAAAAAAAAAAAAAAAAAAAAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFAAcABwAAAAAAAAAHAAcABwAAAAcABwAHAAUAAAAAAAAAAAAAAAAAAAAAAAAABQAAAAAAAAAAAAAAAAAAAAAABQAHAAcABwAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUABwAHAAcABwAAAAUABQAFAAAABQAFAAUABQAAAAAAAAAAAAAAAAAAAAUABQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABQAAAAcABQAHAAcABQAHAAcAAAAFAAcABwAAAAcABwAFAAUAAAAAAAAAAAAAAAAAAAAFAAUAAAAAAAAAAAAAAAAAAAAAAAAABQAFAAcABwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUABQAAAAUABwAAAAAAAAAAAAAAAAAAAAAAAAAAAAUAAAAAAAAAAAAFAAcABwAFAAUABQAAAAUAAAAHAAcABwAHAAcABwAHAAUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUAAAAHAAUABQAFAAUABQAFAAUAAAAAAAAAAAAAAAAAAAAAAAUABQAFAAUABQAFAAUABQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFAAAABwAFAAUABQAFAAUABQAFAAUABQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABQAFAAUABQAFAAUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUABQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABQAAAAUAAAAFAAAAAAAAAAAABwAHAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABwAFAAUABQAFAAUAAAAFAAUAAAAAAAAAAAAAAAUABQAFAAUABQAFAAUABQAFAAUABQAAAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUABQAFAAUABwAFAAUABQAFAAUABQAAAAUABQAHAAcABQAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHAAcABQAFAAAAAAAAAAAABQAFAAUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFAAUABQAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABQAAAAcABQAFAAAAAAAAAAAAAAAAAAUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABQAFAAUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUABQAHAAUABQAFAAUABQAFAAUABwAHAAcABwAHAAcABwAHAAUABwAHAAUABQAFAAUABQAFAAUABQAFAAUABQAAAAAAAAAAAAAAAAAAAAAAAAAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABQAFAAUABwAHAAcABwAFAAUABwAHAAcAAAAAAAAAAAAHAAcABQAHAAcABwAHAAcABwAFAAUABQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABQAFAAcABwAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAcABQAHAAUABQAFAAUABQAFAAUAAAAFAAAABQAAAAAABQAFAAUABQAFAAUABQAFAAcABwAHAAcABwAHAAUABQAFAAUABQAFAAUABQAFAAUAAAAAAAUABQAFAAUABQAHAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUABQAFAAUABQAFAAUABwAFAAcABwAHAAcABwAFAAcABwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFAAUABQAFAAUABQAFAAUABQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFAAUABwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHAAUABQAFAAUABwAHAAUABQAHAAUABQAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFAAcABQAFAAcABwAHAAUABwAFAAUABQAHAAcAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABwAHAAcABwAHAAcABwAHAAUABQAFAAUABQAFAAUABQAHAAcABQAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABQAFAAUAAAAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAcABQAFAAUABQAFAAUABQAAAAAAAAAAAAUAAAAAAAAAAAAAAAAABQAAAAAABwAFAAUAAAAAAAAAAAAAAAAABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAAABQAFAAUABQAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUABQAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABQAFAAUABQAFAAUADgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAOAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUABQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUABQAFAAUAAAAFAAUABQAFAAUABQAFAAUABQAFAAAAAAAAAAAABQAAAAAAAAAFAAAAAAAAAAAABQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABwAHAAUABQAHAAAAAAAAAAAABQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAcABwAHAAcABQAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUAAAAAAAAAAAAAAAAABQAFAAUABQAFAAUABQAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUABQAFAAUABQAFAAUABQAFAAUABQAHAAcAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFAAcABwAFAAUABQAFAAcABwAFAAUABwAHAAAAAAAAAAAAAAAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUABQAFAAUABQAFAAcABwAFAAUABwAHAAUABQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFAAAAAAAAAAAAAAAAAAAAAAAFAAcAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUAAAAFAAUABQAAAAAABQAFAAAAAAAAAAAAAAAFAAUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAcABQAFAAcABwAAAAAAAAAAAAAABwAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAcABwAFAAcABwAFAAcABwAAAAcABQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUABQAFAAUABQAAAAAAAAAAAAAAAAAFAAUABQAAAAUABQAAAAAAAAAAAAAABQAFAAUABQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFAAUABQAAAAAAAAAAAAUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUABQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAcABQAHAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFAAUABQAFAAUABwAFAAUABQAFAAUABQAFAAUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABwAHAAcABQAFAAUABQAFAAUABQAFAAUABwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHAAcABwAFAAUABQAHAAcABQAHAAUABQAAAAAAAAAAAAAAAAAFAAAABwAHAAcABQAFAAUABQAFAAUABQAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUABwAHAAcABwAAAAAABwAHAAAAAAAHAAcABwAAAAAAAAAAAAAAAAAAAAAAAAAFAAAAAAAAAAAAAAAAAAAAAAAAAAAABwAHAAAAAAAFAAUABQAFAAUABQAFAAAAAAAAAAUABQAFAAUABQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHAAcABwAFAAUABQAFAAUABQAFAAUABwAHAAUABQAFAAcABQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABQAHAAcABQAFAAUABQAFAAUABwAFAAcABwAFAAcABQAFAAcABQAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABQAHAAcABQAFAAUABQAAAAAABwAHAAcABwAFAAUABwAFAAUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABQAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAcABwAHAAUABQAFAAUABQAFAAUABQAHAAcABQAHAAUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUABwAFAAcABwAFAAUABQAFAAUABQAHAAUAAAAAAAAAAAAAAAAAAAAAAAcABwAFAAUABQAFAAcABQAFAAUABQAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHAAcABwAFAAUABQAFAAUABQAFAAUABQAHAAUABQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHAAcABwAFAAUABQAFAAAAAAAFAAUABwAHAAcABwAFAAAAAAAAAAcAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFAAUABQAFAAUABQAFAAUABQAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUAAAAAAAAAAAAAAAAAAAAAAAAABQAFAAUABQAFAAUABwAHAAUABQAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAcABQAFAAUABQAFAAUABQAAAAUABQAFAAUABQAFAAcABQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAAAAHAAUABQAFAAUABQAFAAUABwAFAAUABwAFAAUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABQAFAAUABQAFAAUAAAAAAAAABQAAAAUABQAAAAUAAAAAAAAAAAAAAAAAAAAAAAAAAAAHAAcABwAHAAcAAAAFAAUAAAAHAAcABQAHAAUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFAAUABwAHAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFAAUABQAFAAUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFAAUABQAFAAUABQAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABQAAAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAAAAAAAAAAAAAAAAAAABQAFAAUABQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAcABwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUABQAAAAUABQAFAAAAAAAFAAUABQAFAAUABQAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABQAFAAUABQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABQAFAAUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAAAAAAAAAAABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAAAAAAAAAAAAAAAAAAAAAAFAAAAAAAAAAAAAAAAAAAAAAAAAAAABQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUABQAFAAUABQAAAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABQAFAAUABQAFAAUABQAAAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAAAAAABQAFAAUABQAFAAUABQAAAAUABQAAAAUABQAFAAUABQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFAAUABQAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABQAFAAUABQAFAAUABQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAFAAUABQAFAAUADgAOAA4ADgAOAA4ADwAPAA8ADwAPAA8ADwAPAA8ADwAPAA8ADwAPAA8ADwAPAA8ADwAPAA8ADwAPAA8ADwAPAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAcABwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABwAHAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAAAAAAAAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAKAAoACgAKAAoACgAKAAoACgAKAAoACgAKAAoACgAKAAoACgAKAAoACgAKAAoACgAMAAwADAAMAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkAAAAAAAAAAAAKAAoACgAKAAoACgAKAAoACgAKAAoACgAKAAoACgAKAAoACgAKAAoACgAKAAoACgAKAAoACgAKAAoACgAKAAoACgAAAAAAAAAAAAsADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwACwAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAAAAAADgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA4AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAOAA4ADgAOAA4ADgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADgAOAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA4ADgAAAAAAAAAAAAAAAAAAAAAADgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADgAOAA4ADgAOAA4ADgAOAA4ADgAOAAAAAAAAAAAADgAOAA4AAAAAAAAAAAAAAAAAAAAOAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADgAOAAAAAAAAAAAAAAAAAAAAAAAAAAAADgAAAAAAAAAAAAAAAAAAAAAAAAAOAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADgAOAA4ADgAAAA4ADgAOAA4ADgAOAAAADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4AAAAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAAAAAAAAAAAAAAAAAAAAAAAAAAAADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4AAAAAAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAAAA4AAAAOAAAAAAAAAAAAAAAAAA4AAAAAAAAAAAAAAAAADgAAAAAAAAAAAAAAAAAAAAAAAAAAAA4ADgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADgAAAAAADgAAAAAAAAAAAA4AAAAOAAAAAAAAAAAADgAOAA4AAAAOAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAOAA4ADgAOAA4AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAOAA4ADgAAAAAAAAAAAAAAAAAAAAAAAAAOAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAOAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAOAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAOAA4AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA4ADgAOAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADgAOAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADgAAAAAAAAAAAA4AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAOAAAADgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAOAA4ADgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA4ADgAOAA4ADgAOAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA4ADgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADgAAAAAADgAOAA4ADgAOAA4ADgAOAA4ADgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAAAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAAAAAAAAAAAAAAAAAAAAAAAAAAAADgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA4AAAAAAA4ADgAOAA4ADgAOAA4ADgAOAAAADgAOAA4ADgAAAAAAAAAAAAAAAAAAAAAAAAAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4AAAAAAAAAAAAAAAAADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAOAA4ADgAOAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADgAOAA4ADgAOAA4ADgAOAAAAAAAAAAAAAAAAAAAAAAAAAAAADgAOAA4ADgAOAA4AAAAAAAAAAAAAAAAAAAAAAA4ADgAOAA4ADgAOAA4ADgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4AAAAOAA4ADgAOAA4ADgAAAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4AAAAAAAAAAAA=",Es="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/",Hs="undefined"==typeof Uint8Array?[]:new Uint8Array(256),ys=0;ys>4,c[a++]=(15&r)<<4|n>>2,c[a++]=(3&n)<<6|63&s;return B},Is=function(A){for(var e=A.length,t=[],r=0;r>bs,Ss=(1<>bs)+32,Ts=65536>>Ls,Os=(1<=0){if(A<55296||A>56319&&A<=65535)return e=((e=this.index[A>>bs])<>bs)])<>Ls),e=this.index[e],e+=A>>bs&Os,e=((e=this.index[e])<=55296&&n<=56319&&t>10),o%1024+56320)),(n+1===t||r.length>16384)&&(s+=String.fromCharCode.apply(String,r),r.length=0)}return s},ao=Gs(ms),Bo="×",co="÷",lo=function(A){return ao.get(A)},go=function(A,e,t){var r=t-2,n=e[r],s=e[t-1],o=e[t];if(s===Ys&&o===_s)return Bo;if(s===Ys||s===_s||s===Zs)return co;if(o===Ys||o===_s||o===Zs)return co;if(s===zs&&-1!==[zs,$s,eo,to].indexOf(o))return Bo;if(!(s!==eo&&s!==$s||o!==$s&&o!==Ao))return Bo;if((s===to||s===Ao)&&o===Ao)return Bo;if(o===ro||o===qs)return Bo;if(o===js)return Bo;if(s===Ws)return Bo;if(s===ro&&o===no){for(;n===qs;)n=e[--r];if(n===no)return Bo}if(s===so&&o===so){for(var i=0;n===so;)i++,n=e[--r];if(i%2==0)return Bo}return co},uo=function(A){var e=oo(A),t=e.length,r=0,n=0,s=e.map(lo);return{next:function(){if(r>=t)return{done:!0,value:null};for(var A=Bo;ro.x||n.y>o.y;return o=n,0===e||i}));return A.body.removeChild(e),i},ho=function(){return void 0!==(new Image).crossOrigin},Uo=function(){return"string"==typeof(new XMLHttpRequest).responseType},Fo=function(A){var e=new Image,t=A.createElement("canvas"),r=t.getContext("2d");if(!r)return!1;e.src="data:image/svg+xml,";try{r.drawImage(e,0,0),t.toDataURL()}catch(A){return!1}return!0},fo=function(A){return 0===A[0]&&255===A[1]&&0===A[2]&&255===A[3]},po=function(A){var e=A.createElement("canvas"),t=100;e.width=t,e.height=t;var r=e.getContext("2d");if(!r)return Promise.reject(!1);r.fillStyle="rgb(0, 255, 0)",r.fillRect(0,0,t,t);var n=new Image,s=e.toDataURL();n.src=s;var o=mo(t,t,0,0,n);return r.fillStyle="red",r.fillRect(0,0,t,t),Eo(o).then((function(e){r.drawImage(e,0,0);var n=r.getImageData(0,0,t,t).data;r.fillStyle="red",r.fillRect(0,0,t,t);var o=A.createElement("div");return o.style.backgroundImage="url("+s+")",o.style.height=t+"px",fo(n)?Eo(mo(t,t,0,0,o)):Promise.reject(!1)})).then((function(A){return r.drawImage(A,0,0),fo(r.getImageData(0,0,t,t).data)})).catch((function(){return!1}))},mo=function(A,e,t,r,n){var s="http://www.w3.org/2000/svg",o=document.createElementNS(s,"svg"),i=document.createElementNS(s,"foreignObject");return o.setAttributeNS(null,"width",A.toString()),o.setAttributeNS(null,"height",e.toString()),i.setAttributeNS(null,"width","100%"),i.setAttributeNS(null,"height","100%"),i.setAttributeNS(null,"x",t.toString()),i.setAttributeNS(null,"y",r.toString()),i.setAttributeNS(null,"externalResourcesRequired","true"),o.appendChild(i),i.appendChild(n),o},Eo=function(A){return new Promise((function(e,t){var r=new Image;r.onload=function(){return e(r)},r.onerror=t,r.src="data:image/svg+xml;charset=utf-8,"+encodeURIComponent((new XMLSerializer).serializeToString(A))}))},Ho={get SUPPORT_RANGE_BOUNDS(){var A=Qo(document);return Object.defineProperty(Ho,"SUPPORT_RANGE_BOUNDS",{value:A}),A},get SUPPORT_WORD_BREAKING(){var A=Ho.SUPPORT_RANGE_BOUNDS&&Co(document);return Object.defineProperty(Ho,"SUPPORT_WORD_BREAKING",{value:A}),A},get SUPPORT_SVG_DRAWING(){var A=Fo(document);return Object.defineProperty(Ho,"SUPPORT_SVG_DRAWING",{value:A}),A},get SUPPORT_FOREIGNOBJECT_DRAWING(){var A="function"==typeof Array.from&&"function"==typeof window.fetch?po(document):Promise.resolve(!1);return Object.defineProperty(Ho,"SUPPORT_FOREIGNOBJECT_DRAWING",{value:A}),A},get SUPPORT_CORS_IMAGES(){var A=ho();return Object.defineProperty(Ho,"SUPPORT_CORS_IMAGES",{value:A}),A},get SUPPORT_RESPONSE_TYPE(){var A=Uo();return Object.defineProperty(Ho,"SUPPORT_RESPONSE_TYPE",{value:A}),A},get SUPPORT_CORS_XHR(){var A="withCredentials"in new XMLHttpRequest;return Object.defineProperty(Ho,"SUPPORT_CORS_XHR",{value:A}),A},get SUPPORT_NATIVE_TEXT_SEGMENTATION(){var A=!("undefined"==typeof Intl||!Intl.Segmenter);return Object.defineProperty(Ho,"SUPPORT_NATIVE_TEXT_SEGMENTATION",{value:A}),A}},yo=function(){function A(A,e){this.text=A,this.bounds=e}return A}(),vo=function(A,e,t,r){var n=Do(e,t),s=[],i=0;return n.forEach((function(e){if(t.textDecorationLine.length||e.trim().length>0)if(Ho.SUPPORT_RANGE_BOUNDS){var n=Ko(r,i,e.length).getClientRects();if(n.length>1){var a=bo(e),B=0;a.forEach((function(e){s.push(new yo(e,o.fromDOMRectList(A,Ko(r,B+i,e.length).getClientRects()))),B+=e.length}))}else s.push(new yo(e,o.fromDOMRectList(A,n)))}else{var c=r.splitText(e.length);s.push(new yo(e,Io(A,r))),r=c}else Ho.SUPPORT_RANGE_BOUNDS||(r=r.splitText(e.length));i+=e.length})),s},Io=function(A,e){var t=e.ownerDocument;if(t){var r=t.createElement("html2canvaswrapper");r.appendChild(e.cloneNode(!0));var n=e.parentNode;if(n){n.replaceChild(r,e);var s=i(A,r);return r.firstChild&&n.replaceChild(r.firstChild,r),s}}return o.EMPTY},Ko=function(A,e,t){var r=A.ownerDocument;if(!r)throw new Error("Node has no owner document");var n=r.createRange();return n.setStart(A,e),n.setEnd(A,e+t),n},bo=function(A){if(Ho.SUPPORT_NATIVE_TEXT_SEGMENTATION){var e=new Intl.Segmenter(void 0,{granularity:"grapheme"});return Array.from(e.segment(A)).map((function(A){return A.segment}))}return wo(A)},Lo=function(A,e){if(Ho.SUPPORT_NATIVE_TEXT_SEGMENTATION){var t=new Intl.Segmenter(void 0,{granularity:"word"});return Array.from(t.segment(A)).map((function(A){return A.segment}))}return So(A,e)},Do=function(A,e){return 0!==e.letterSpacing?bo(A):Lo(A,e)},xo=[32,160,4961,65792,65793,4153,4241],So=function(A,e){for(var t,r=RA(A,{lineBreak:e.lineBreak,wordBreak:"break-word"===e.overflowWrap?"break-word":e.wordBreak}),n=[],s=function(){if(t.value){var A=t.value.slice(),e=B(A),r="";e.forEach((function(A){-1===xo.indexOf(A)?r+=c(A):(r.length&&n.push(r),n.push(c(A)),r="")})),r.length&&n.push(r)}};!(t=r.next()).done;)s();return n},Mo=function(){function A(A,e,t){this.text=To(e.data,t.textTransform),this.textBounds=vo(A,this.text,t,e)}return A}(),To=function(A,e){switch(e){case 1:return A.toLowerCase();case 3:return A.replace(Oo,ko);case 2:return A.toUpperCase();default:return A}},Oo=/(^|\s|:|-|\(|\))([a-z])/g,ko=function(A,e,t){return A.length>0?e+t.toUpperCase():A},No=function(A){function t(e,t){var r=A.call(this,e,t)||this;return r.src=t.currentSrc||t.src,r.intrinsicWidth=t.naturalWidth,r.intrinsicHeight=t.naturalHeight,r.context.cache.addImage(r.src),r}return e(t,A),t}(ps),Go=function(A){function t(e,t){var r=A.call(this,e,t)||this;return r.canvas=t,r.intrinsicWidth=t.width,r.intrinsicHeight=t.height,r}return e(t,A),t}(ps),Vo=function(A){function t(e,t){var r=A.call(this,e,t)||this,n=new XMLSerializer,s=i(e,t);return t.setAttribute("width",s.width+"px"),t.setAttribute("height",s.height+"px"),r.svg="data:image/svg+xml,"+encodeURIComponent(n.serializeToString(t)),r.intrinsicWidth=t.width.baseVal.value,r.intrinsicHeight=t.height.baseVal.value,r.context.cache.addImage(r.svg),r}return e(t,A),t}(ps),Ro=function(A){function t(e,t){var r=A.call(this,e,t)||this;return r.value=t.value,r}return e(t,A),t}(ps),Po=function(A){function t(e,t){var r=A.call(this,e,t)||this;return r.start=t.start,r.reversed="boolean"==typeof t.reversed&&!0===t.reversed,r}return e(t,A),t}(ps),Xo=[{type:15,flags:0,unit:"px",number:3}],Jo=[{type:16,flags:0,number:50}],Wo=function(A){return A.width>A.height?new o(A.left+(A.width-A.height)/2,A.top,A.height,A.height):A.width0)t.textNodes.push(new Mo(A,n,t.styles));else if(Bi(n))if(yi(n)&&n.assignedNodes)n.assignedNodes().forEach((function(e){return ri(A,e,t,r)}));else{var o=ni(A,n);o.styles.isVisible()&&(oi(n,o,r)?o.flags|=4:ii(o.styles)&&(o.flags|=2),-1!==ti.indexOf(n.tagName)&&(o.flags|=8),t.elements.push(o),n.slot,n.shadowRoot?ri(A,n.shadowRoot,o,r):Ei(n)||di(n)||Hi(n)||ri(A,n,o,r))}},ni=function(A,e){return Fi(e)?new No(A,e):hi(e)?new Go(A,e):di(e)?new Vo(A,e):gi(e)?new Ro(A,e):ui(e)?new Po(A,e):wi(e)?new zo(A,e):Hi(e)?new $o(A,e):Ei(e)?new Ai(A,e):fi(e)?new ei(A,e):new ps(A,e)},si=function(A,e){var t=ni(A,e);return t.flags|=4,ri(A,e,t,t),t},oi=function(A,e,t){return e.styles.isPositionedWithZIndex()||e.styles.opacity<1||e.styles.isTransformed()||Ci(A)&&t.styles.isTransparent()},ii=function(A){return A.isPositioned()||A.isFloating()},ai=function(A){return A.nodeType===Node.TEXT_NODE},Bi=function(A){return A.nodeType===Node.ELEMENT_NODE},ci=function(A){return Bi(A)&&void 0!==A.style&&!li(A)},li=function(A){return"object"==typeof A.className},gi=function(A){return"LI"===A.tagName},ui=function(A){return"OL"===A.tagName},wi=function(A){return"INPUT"===A.tagName},Qi=function(A){return"HTML"===A.tagName},di=function(A){return"svg"===A.tagName},Ci=function(A){return"BODY"===A.tagName},hi=function(A){return"CANVAS"===A.tagName},Ui=function(A){return"VIDEO"===A.tagName},Fi=function(A){return"IMG"===A.tagName},fi=function(A){return"IFRAME"===A.tagName},pi=function(A){return"STYLE"===A.tagName},mi=function(A){return"SCRIPT"===A.tagName},Ei=function(A){return"TEXTAREA"===A.tagName},Hi=function(A){return"SELECT"===A.tagName},yi=function(A){return"SLOT"===A.tagName},vi=function(A){return A.tagName.indexOf("-")>0},Ii=function(){function A(){this.counters={}}return A.prototype.getCounterValue=function(A){var e=this.counters[A];return e&&e.length?e[e.length-1]:1},A.prototype.getCounterValues=function(A){var e=this.counters[A];return e||[]},A.prototype.pop=function(A){var e=this;A.forEach((function(A){return e.counters[A].pop()}))},A.prototype.parse=function(A){var e=this,t=A.counterIncrement,r=A.counterReset,n=!0;null!==t&&t.forEach((function(A){var t=e.counters[A.counter];t&&0!==A.increment&&(n=!1,t.length||t.push(1),t[Math.max(0,t.length-1)]+=A.increment)}));var s=[];return n&&r.forEach((function(A){var t=e.counters[A.counter];s.push(A.counter),t||(t=e.counters[A.counter]=[]),t.push(A.reset)})),s},A}(),Ki={integers:[1e3,900,500,400,100,90,50,40,10,9,5,4,1],values:["M","CM","D","CD","C","XC","L","XL","X","IX","V","IV","I"]},bi={integers:[9e3,8e3,7e3,6e3,5e3,4e3,3e3,2e3,1e3,900,800,700,600,500,400,300,200,100,90,80,70,60,50,40,30,20,10,9,8,7,6,5,4,3,2,1],values:["Ք","Փ","Ւ","Ց","Ր","Տ","Վ","Ս","Ռ","Ջ","Պ","Չ","Ո","Շ","Ն","Յ","Մ","Ճ","Ղ","Ձ","Հ","Կ","Ծ","Խ","Լ","Ի","Ժ","Թ","Ը","Է","Զ","Ե","Դ","Գ","Բ","Ա"]},Li={integers:[1e4,9e3,8e3,7e3,6e3,5e3,4e3,3e3,2e3,1e3,400,300,200,100,90,80,70,60,50,40,30,20,19,18,17,16,15,10,9,8,7,6,5,4,3,2,1],values:["י׳","ט׳","ח׳","ז׳","ו׳","ה׳","ד׳","ג׳","ב׳","א׳","ת","ש","ר","ק","צ","פ","ע","ס","נ","מ","ל","כ","יט","יח","יז","טז","טו","י","ט","ח","ז","ו","ה","ד","ג","ב","א"]},Di={integers:[1e4,9e3,8e3,7e3,6e3,5e3,4e3,3e3,2e3,1e3,900,800,700,600,500,400,300,200,100,90,80,70,60,50,40,30,20,10,9,8,7,6,5,4,3,2,1],values:["ჵ","ჰ","ჯ","ჴ","ხ","ჭ","წ","ძ","ც","ჩ","შ","ყ","ღ","ქ","ფ","ჳ","ტ","ს","რ","ჟ","პ","ო","ჲ","ნ","მ","ლ","კ","ი","თ","ჱ","ზ","ვ","ე","დ","გ","ბ","ა"]},xi=function(A,e,t,r,n,s){return At?Wi(A,n,s.length>0):r.integers.reduce((function(e,t,n){for(;A>=t;)A-=t,e+=r.values[n];return e}),"")+s},Si=function(A,e,t,r){var n="";do{t||A--,n=r(A)+n,A/=e}while(A*e>=e);return n},Mi=function(A,e,t,r,n){var s=t-e+1;return(A<0?"-":"")+(Si(Math.abs(A),s,r,(function(A){return c(Math.floor(A%s)+e)}))+n)},Ti=function(A,e,t){void 0===t&&(t=". ");var r=e.length;return Si(Math.abs(A),r,!1,(function(A){return e[Math.floor(A%r)]}))+t},Oi=1,ki=2,Ni=4,Gi=8,Vi=function(A,e,t,r,n,s){if(A<-9999||A>9999)return Wi(A,4,n.length>0);var o=Math.abs(A),i=n;if(0===o)return e[0]+i;for(var a=0;o>0&&a<=4;a++){var B=o%10;0===B&&ns(s,Oi)&&""!==i?i=e[B]+i:B>1||1===B&&0===a||1===B&&1===a&&ns(s,ki)||1===B&&1===a&&ns(s,Ni)&&A>100||1===B&&a>1&&ns(s,Gi)?i=e[B]+(a>0?t[a-1]:"")+i:1===B&&a>0&&(i=t[a-1]+i),o=Math.floor(o/10)}return(A<0?r:"")+i},Ri="十百千萬",Pi="拾佰仟萬",Xi="マイナス",Ji="마이너스",Wi=function(A,e,t){var r=t?". ":"",n=t?"、":"",s=t?", ":"",o=t?" ":"";switch(e){case 0:return"•"+o;case 1:return"◦"+o;case 2:return"◾"+o;case 5:var i=Mi(A,48,57,!0,r);return i.length<4?"0"+i:i;case 4:return Ti(A,"〇一二三四五六七八九",n);case 6:return xi(A,1,3999,Ki,3,r).toLowerCase();case 7:return xi(A,1,3999,Ki,3,r);case 8:return Mi(A,945,969,!1,r);case 9:return Mi(A,97,122,!1,r);case 10:return Mi(A,65,90,!1,r);case 11:return Mi(A,1632,1641,!0,r);case 12:case 49:return xi(A,1,9999,bi,3,r);case 35:return xi(A,1,9999,bi,3,r).toLowerCase();case 13:return Mi(A,2534,2543,!0,r);case 14:case 30:return Mi(A,6112,6121,!0,r);case 15:return Ti(A,"子丑寅卯辰巳午未申酉戌亥",n);case 16:return Ti(A,"甲乙丙丁戊己庚辛壬癸",n);case 17:case 48:return Vi(A,"零一二三四五六七八九",Ri,"負",n,ki|Ni|Gi);case 47:return Vi(A,"零壹貳參肆伍陸柒捌玖",Pi,"負",n,Oi|ki|Ni|Gi);case 42:return Vi(A,"零一二三四五六七八九",Ri,"负",n,ki|Ni|Gi);case 41:return Vi(A,"零壹贰叁肆伍陆柒捌玖",Pi,"负",n,Oi|ki|Ni|Gi);case 26:return Vi(A,"〇一二三四五六七八九","十百千万",Xi,n,0);case 25:return Vi(A,"零壱弐参四伍六七八九","拾百千万",Xi,n,Oi|ki|Ni);case 31:return Vi(A,"영일이삼사오육칠팔구","십백천만",Ji,s,Oi|ki|Ni);case 33:return Vi(A,"零一二三四五六七八九","十百千萬",Ji,s,0);case 32:return Vi(A,"零壹貳參四五六七八九","拾百千",Ji,s,Oi|ki|Ni);case 18:return Mi(A,2406,2415,!0,r);case 20:return xi(A,1,19999,Di,3,r);case 21:return Mi(A,2790,2799,!0,r);case 22:return Mi(A,2662,2671,!0,r);case 22:return xi(A,1,10999,Li,3,r);case 23:return Ti(A,"あいうえおかきくけこさしすせそたちつてとなにぬねのはひふへほまみむめもやゆよらりるれろわゐゑをん");case 24:return Ti(A,"いろはにほへとちりぬるをわかよたれそつねならむうゐのおくやまけふこえてあさきゆめみしゑひもせす");case 27:return Mi(A,3302,3311,!0,r);case 28:return Ti(A,"アイウエオカキクケコサシスセソタチツテトナニヌネノハヒフヘホマミムメモヤユヨラリルレロワヰヱヲン",n);case 29:return Ti(A,"イロハニホヘトチリヌルヲワカヨタレソツネナラムウヰノオクヤマケフコエテアサキユメミシヱヒモセス",n);case 34:return Mi(A,3792,3801,!0,r);case 37:return Mi(A,6160,6169,!0,r);case 38:return Mi(A,4160,4169,!0,r);case 39:return Mi(A,2918,2927,!0,r);case 40:return Mi(A,1776,1785,!0,r);case 43:return Mi(A,3046,3055,!0,r);case 44:return Mi(A,3174,3183,!0,r);case 45:return Mi(A,3664,3673,!0,r);case 46:return Mi(A,3872,3881,!0,r);default:return Mi(A,48,57,!0,r)}},Yi="data-html2canvas-ignore",_i=function(){function A(A,e,t){if(this.context=A,this.options=t,this.scrolledElements=[],this.referenceElement=e,this.counters=new Ii,this.quoteDepth=0,!e.ownerDocument)throw new Error("Cloned element does not have an owner document");this.documentElement=this.cloneNode(e.ownerDocument.documentElement,!1)}return A.prototype.toIFrame=function(A,e){var t=this,s=qi(A,e);if(!s.contentWindow)return Promise.reject("Unable to find iframe window");var o=A.defaultView.pageXOffset,i=A.defaultView.pageYOffset,a=s.contentWindow,B=a.document,c=$i(s).then((function(){return r(t,void 0,void 0,(function(){var A,t;return n(this,(function(r){switch(r.label){case 0:return this.scrolledElements.forEach(na),a&&(a.scrollTo(e.left,e.top),!/(iPad|iPhone|iPod)/g.test(navigator.userAgent)||a.scrollY===e.top&&a.scrollX===e.left||(this.context.logger.warn("Unable to restore scroll position for cloned document"),this.context.windowBounds=this.context.windowBounds.add(a.scrollX-e.left,a.scrollY-e.top,0,0))),A=this.options.onclone,void 0===(t=this.clonedReferenceElement)?[2,Promise.reject("Error finding the "+this.referenceElement.nodeName+" in the cloned document")]:B.fonts&&B.fonts.ready?[4,B.fonts.ready]:[3,2];case 1:r.sent(),r.label=2;case 2:return/(AppleWebKit)/g.test(navigator.userAgent)?[4,zi(B)]:[3,4];case 3:r.sent(),r.label=4;case 4:return"function"==typeof A?[2,Promise.resolve().then((function(){return A(B,t)})).then((function(){return s}))]:[2,s]}}))}))}));return B.open(),B.write(ta(document.doctype)+""),ra(this.referenceElement.ownerDocument,o,i),B.replaceChild(B.adoptNode(this.documentElement),B.documentElement),B.close(),c},A.prototype.createElementClone=function(A){if(fs(A,2),hi(A))return this.createCanvasClone(A);if(Ui(A))return this.createVideoClone(A);if(pi(A))return this.createStyleClone(A);var e=A.cloneNode(!1);return Fi(e)&&(Fi(A)&&A.currentSrc&&A.currentSrc!==A.src&&(e.src=A.currentSrc,e.srcset=""),"lazy"===e.loading&&(e.loading="eager")),vi(e)?this.createCustomElementClone(e):e},A.prototype.createCustomElementClone=function(A){var e=document.createElement("html2canvascustomelement");return ea(A.style,e),e},A.prototype.createStyleClone=function(A){try{var e=A.sheet;if(e&&e.cssRules){var t=[].slice.call(e.cssRules,0).reduce((function(A,e){return e&&"string"==typeof e.cssText?A+e.cssText:A}),""),r=A.cloneNode(!1);return r.textContent=t,r}}catch(A){if(this.context.logger.error("Unable to access cssRules property",A),"SecurityError"!==A.name)throw A}return A.cloneNode(!1)},A.prototype.createCanvasClone=function(A){var e;if(this.options.inlineImages&&A.ownerDocument){var t=A.ownerDocument.createElement("img");try{return t.src=A.toDataURL(),t}catch(e){this.context.logger.info("Unable to inline canvas contents, canvas is tainted",A)}}var r=A.cloneNode(!1);try{r.width=A.width,r.height=A.height;var n=A.getContext("2d"),s=r.getContext("2d");if(s)if(!this.options.allowTaint&&n)s.putImageData(n.getImageData(0,0,A.width,A.height),0,0);else{var o=null!==(e=A.getContext("webgl2"))&&void 0!==e?e:A.getContext("webgl");if(o){var i=o.getContextAttributes();!1===(null==i?void 0:i.preserveDrawingBuffer)&&this.context.logger.warn("Unable to clone WebGL context as it has preserveDrawingBuffer=false",A)}s.drawImage(A,0,0)}return r}catch(e){this.context.logger.info("Unable to clone canvas as it is tainted",A)}return r},A.prototype.createVideoClone=function(A){var e=A.ownerDocument.createElement("canvas");e.width=A.offsetWidth,e.height=A.offsetHeight;var t=e.getContext("2d");try{return t&&(t.drawImage(A,0,0,e.width,e.height),this.options.allowTaint||t.getImageData(0,0,e.width,e.height)),e}catch(e){this.context.logger.info("Unable to clone video as it is tainted",A)}var r=A.ownerDocument.createElement("canvas");return r.width=A.offsetWidth,r.height=A.offsetHeight,r},A.prototype.appendChildNode=function(A,e,t){Bi(e)&&(mi(e)||e.hasAttribute(Yi)||"function"==typeof this.options.ignoreElements&&this.options.ignoreElements(e))||this.options.copyStyles&&Bi(e)&&pi(e)||A.appendChild(this.cloneNode(e,t))},A.prototype.cloneChildNodes=function(A,e,t){for(var r=this,n=A.shadowRoot?A.shadowRoot.firstChild:A.firstChild;n;n=n.nextSibling)if(Bi(n)&&yi(n)&&"function"==typeof n.assignedNodes){var s=n.assignedNodes();s.length&&s.forEach((function(A){return r.appendChildNode(e,A,t)}))}else this.appendChildNode(e,n,t)},A.prototype.cloneNode=function(A,e){if(ai(A))return document.createTextNode(A.data);if(!A.ownerDocument)return A.cloneNode(!1);var t=A.ownerDocument.defaultView;if(t&&Bi(A)&&(ci(A)||li(A))){var r=this.createElementClone(A);r.style.transitionProperty="none";var n=t.getComputedStyle(A),s=t.getComputedStyle(A,":before"),o=t.getComputedStyle(A,":after");this.referenceElement===A&&ci(r)&&(this.clonedReferenceElement=r),Ci(r)&&ca(r);var i=this.counters.parse(new Cs(this.context,n)),a=this.resolvePseudoContent(A,r,s,Js.BEFORE);vi(A)&&(e=!0),Ui(A)||this.cloneChildNodes(A,r,e),a&&r.insertBefore(a,r.firstChild);var B=this.resolvePseudoContent(A,r,o,Js.AFTER);return B&&r.appendChild(B),this.counters.pop(i),(n&&(this.options.copyStyles||li(A))&&!fi(A)||e)&&ea(n,r),0===A.scrollTop&&0===A.scrollLeft||this.scrolledElements.push([r,A.scrollLeft,A.scrollTop]),(Ei(A)||Hi(A))&&(Ei(r)||Hi(r))&&(r.value=A.value),r}return A.cloneNode(!1)},A.prototype.resolvePseudoContent=function(A,e,t,r){var n=this;if(t){var s=t.content,o=e.ownerDocument;if(o&&s&&"none"!==s&&"-moz-alt-content"!==s&&"none"!==t.display){this.counters.parse(new Cs(this.context,t));var i=new ds(this.context,t),a=o.createElement("html2canvaspseudoelement");ea(t,a),i.content.forEach((function(e){if(0===e.type)a.appendChild(o.createTextNode(e.value));else if(22===e.type){var t=o.createElement("img");t.src=e.value,t.style.opacity="1",a.appendChild(t)}else if(18===e.type){if("attr"===e.name){var r=e.values.filter(Dt);r.length&&a.appendChild(o.createTextNode(A.getAttribute(r[0].value)||""))}else if("counter"===e.name){var s=e.values.filter(Tt),B=s[0],c=s[1];if(B&&Dt(B)){var l=n.counters.getCounterValue(B.value),g=c&&Dt(c)?En.parse(n.context,c.value):3;a.appendChild(o.createTextNode(Wi(l,g,!1)))}}else if("counters"===e.name){var u=e.values.filter(Tt),w=(B=u[0],u[1]);if(c=u[2],B&&Dt(B)){var Q=n.counters.getCounterValues(B.value),d=c&&Dt(c)?En.parse(n.context,c.value):3,C=w&&0===w.type?w.value:"",h=Q.map((function(A){return Wi(A,d,!1)})).join(C);a.appendChild(o.createTextNode(h))}}}else if(20===e.type)switch(e.value){case"open-quote":a.appendChild(o.createTextNode(cs(i.quotes,n.quoteDepth++,!0)));break;case"close-quote":a.appendChild(o.createTextNode(cs(i.quotes,--n.quoteDepth,!1)));break;default:a.appendChild(o.createTextNode(e.value))}})),a.className=ia+" "+aa;var B=r===Js.BEFORE?" "+ia:" "+aa;return li(e)?e.className.baseValue+=B:e.className+=B,a}}},A.destroy=function(A){return!!A.parentNode&&(A.parentNode.removeChild(A),!0)},A}();!function(A){A[A.BEFORE=0]="BEFORE",A[A.AFTER=1]="AFTER"}(Js||(Js={}));var Zi,qi=function(A,e){var t=A.createElement("iframe");return t.className="html2canvas-container",t.style.visibility="hidden",t.style.position="fixed",t.style.left="-10000px",t.style.top="0px",t.style.border="0",t.width=e.width.toString(),t.height=e.height.toString(),t.scrolling="no",t.setAttribute(Yi,"true"),A.body.appendChild(t),t},ji=function(A){return new Promise((function(e){A.complete?e():A.src?(A.onload=e,A.onerror=e):e()}))},zi=function(A){return Promise.all([].slice.call(A.images,0).map(ji))},$i=function(A){return new Promise((function(e,t){var r=A.contentWindow;if(!r)return t("No window assigned for iframe");var n=r.document;r.onload=A.onload=function(){r.onload=A.onload=null;var t=setInterval((function(){n.body.childNodes.length>0&&"complete"===n.readyState&&(clearInterval(t),e(A))}),50)}}))},Aa=["all","d","content"],ea=function(A,e){for(var t=A.length-1;t>=0;t--){var r=A.item(t);-1===Aa.indexOf(r)&&e.style.setProperty(r,A.getPropertyValue(r))}return e},ta=function(A){var e="";return A&&(e+=""),e},ra=function(A,e,t){A&&A.defaultView&&(e!==A.defaultView.pageXOffset||t!==A.defaultView.pageYOffset)&&A.defaultView.scrollTo(e,t)},na=function(A){var e=A[0],t=A[1],r=A[2];e.scrollLeft=t,e.scrollTop=r},sa=":before",oa=":after",ia="___html2canvas___pseudoelement_before",aa="___html2canvas___pseudoelement_after",Ba='{\n content: "" !important;\n display: none !important;\n}',ca=function(A){la(A,"."+ia+sa+Ba+"\n ."+aa+oa+Ba)},la=function(A,e){var t=A.ownerDocument;if(t){var r=t.createElement("style");r.textContent=e,A.appendChild(r)}},ga=function(){function A(){}return A.getOrigin=function(e){var t=A._link;return t?(t.href=e,t.href=t.href,t.protocol+t.hostname+t.port):"about:blank"},A.isSameOrigin=function(e){return A.getOrigin(e)===A._origin},A.setContext=function(e){A._link=e.document.createElement("a"),A._origin=A.getOrigin(e.location.href)},A._origin="about:blank",A}(),ua=function(){function A(A,e){this.context=A,this._options=e,this._cache={}}return A.prototype.addImage=function(A){var e=Promise.resolve();return this.has(A)?e:Fa(A)||Ca(A)?((this._cache[A]=this.loadImage(A)).catch((function(){})),e):e},A.prototype.match=function(A){return this._cache[A]},A.prototype.loadImage=function(A){return r(this,void 0,void 0,(function(){var e,t,r,s,o=this;return n(this,(function(n){switch(n.label){case 0:return e=ga.isSameOrigin(A),t=!ha(A)&&!0===this._options.useCORS&&Ho.SUPPORT_CORS_IMAGES&&!e,r=!ha(A)&&!e&&!Fa(A)&&"string"==typeof this._options.proxy&&Ho.SUPPORT_CORS_XHR&&!t,e||!1!==this._options.allowTaint||ha(A)||Fa(A)||r||t?(s=A,r?[4,this.proxy(s)]:[3,2]):[2];case 1:s=n.sent(),n.label=2;case 2:return this.context.logger.debug("Added image "+A.substring(0,256)),[4,new Promise((function(A,e){var r=new Image;r.onload=function(){return A(r)},r.onerror=e,(Ua(s)||t)&&(r.crossOrigin="anonymous"),r.src=s,!0===r.complete&&setTimeout((function(){return A(r)}),500),o._options.imageTimeout>0&&setTimeout((function(){return e("Timed out ("+o._options.imageTimeout+"ms) loading image")}),o._options.imageTimeout)}))];case 3:return[2,n.sent()]}}))}))},A.prototype.has=function(A){return void 0!==this._cache[A]},A.prototype.keys=function(){return Promise.resolve(Object.keys(this._cache))},A.prototype.proxy=function(A){var e=this,t=this._options.proxy;if(!t)throw new Error("No proxy defined");var r=A.substring(0,256);return new Promise((function(n,s){var o=Ho.SUPPORT_RESPONSE_TYPE?"blob":"text",i=new XMLHttpRequest;i.onload=function(){if(200===i.status)if("text"===o)n(i.response);else{var A=new FileReader;A.addEventListener("load",(function(){return n(A.result)}),!1),A.addEventListener("error",(function(A){return s(A)}),!1),A.readAsDataURL(i.response)}else s("Failed to proxy resource "+r+" with status code "+i.status)},i.onerror=s;var a=t.indexOf("?")>-1?"&":"?";if(i.open("GET",""+t+a+"url="+encodeURIComponent(A)+"&responseType="+o),"text"!==o&&i instanceof XMLHttpRequest&&(i.responseType=o),e._options.imageTimeout){var B=e._options.imageTimeout;i.timeout=B,i.ontimeout=function(){return s("Timed out ("+B+"ms) proxying "+r)}}i.send()}))},A}(),wa=/^data:image\/svg\+xml/i,Qa=/^data:image\/.*;base64,/i,da=/^data:image\/.*/i,Ca=function(A){return Ho.SUPPORT_SVG_DRAWING||!fa(A)},ha=function(A){return da.test(A)},Ua=function(A){return Qa.test(A)},Fa=function(A){return"blob"===A.substr(0,4)},fa=function(A){return"svg"===A.substr(-3).toLowerCase()||wa.test(A)},pa=function(){function A(A,e){this.type=0,this.x=A,this.y=e}return A.prototype.add=function(e,t){return new A(this.x+e,this.y+t)},A}(),ma=function(A,e,t){return new pa(A.x+(e.x-A.x)*t,A.y+(e.y-A.y)*t)},Ea=function(){function A(A,e,t,r){this.type=1,this.start=A,this.startControl=e,this.endControl=t,this.end=r}return A.prototype.subdivide=function(e,t){var r=ma(this.start,this.startControl,e),n=ma(this.startControl,this.endControl,e),s=ma(this.endControl,this.end,e),o=ma(r,n,e),i=ma(n,s,e),a=ma(o,i,e);return t?new A(this.start,r,o,a):new A(a,i,s,this.end)},A.prototype.add=function(e,t){return new A(this.start.add(e,t),this.startControl.add(e,t),this.endControl.add(e,t),this.end.add(e,t))},A.prototype.reverse=function(){return new A(this.end,this.endControl,this.startControl,this.start)},A}(),Ha=function(A){return 1===A.type},ya=function(){function A(A){var e=A.styles,t=A.bounds,r=Jt(e.borderTopLeftRadius,t.width,t.height),n=r[0],s=r[1],o=Jt(e.borderTopRightRadius,t.width,t.height),i=o[0],a=o[1],B=Jt(e.borderBottomRightRadius,t.width,t.height),c=B[0],l=B[1],g=Jt(e.borderBottomLeftRadius,t.width,t.height),u=g[0],w=g[1],Q=[];Q.push((n+i)/t.width),Q.push((u+c)/t.width),Q.push((s+w)/t.height),Q.push((a+l)/t.height);var d=Math.max.apply(Math,Q);d>1&&(n/=d,s/=d,i/=d,a/=d,c/=d,l/=d,u/=d,w/=d);var C=t.width-i,h=t.height-l,U=t.width-c,F=t.height-w,f=e.borderTopWidth,p=e.borderRightWidth,m=e.borderBottomWidth,E=e.borderLeftWidth,H=Wt(e.paddingTop,A.bounds.width),y=Wt(e.paddingRight,A.bounds.width),v=Wt(e.paddingBottom,A.bounds.width),I=Wt(e.paddingLeft,A.bounds.width);this.topLeftBorderDoubleOuterBox=n>0||s>0?va(t.left+E/3,t.top+f/3,n-E/3,s-f/3,Zi.TOP_LEFT):new pa(t.left+E/3,t.top+f/3),this.topRightBorderDoubleOuterBox=n>0||s>0?va(t.left+C,t.top+f/3,i-p/3,a-f/3,Zi.TOP_RIGHT):new pa(t.left+t.width-p/3,t.top+f/3),this.bottomRightBorderDoubleOuterBox=c>0||l>0?va(t.left+U,t.top+h,c-p/3,l-m/3,Zi.BOTTOM_RIGHT):new pa(t.left+t.width-p/3,t.top+t.height-m/3),this.bottomLeftBorderDoubleOuterBox=u>0||w>0?va(t.left+E/3,t.top+F,u-E/3,w-m/3,Zi.BOTTOM_LEFT):new pa(t.left+E/3,t.top+t.height-m/3),this.topLeftBorderDoubleInnerBox=n>0||s>0?va(t.left+2*E/3,t.top+2*f/3,n-2*E/3,s-2*f/3,Zi.TOP_LEFT):new pa(t.left+2*E/3,t.top+2*f/3),this.topRightBorderDoubleInnerBox=n>0||s>0?va(t.left+C,t.top+2*f/3,i-2*p/3,a-2*f/3,Zi.TOP_RIGHT):new pa(t.left+t.width-2*p/3,t.top+2*f/3),this.bottomRightBorderDoubleInnerBox=c>0||l>0?va(t.left+U,t.top+h,c-2*p/3,l-2*m/3,Zi.BOTTOM_RIGHT):new pa(t.left+t.width-2*p/3,t.top+t.height-2*m/3),this.bottomLeftBorderDoubleInnerBox=u>0||w>0?va(t.left+2*E/3,t.top+F,u-2*E/3,w-2*m/3,Zi.BOTTOM_LEFT):new pa(t.left+2*E/3,t.top+t.height-2*m/3),this.topLeftBorderStroke=n>0||s>0?va(t.left+E/2,t.top+f/2,n-E/2,s-f/2,Zi.TOP_LEFT):new pa(t.left+E/2,t.top+f/2),this.topRightBorderStroke=n>0||s>0?va(t.left+C,t.top+f/2,i-p/2,a-f/2,Zi.TOP_RIGHT):new pa(t.left+t.width-p/2,t.top+f/2),this.bottomRightBorderStroke=c>0||l>0?va(t.left+U,t.top+h,c-p/2,l-m/2,Zi.BOTTOM_RIGHT):new pa(t.left+t.width-p/2,t.top+t.height-m/2),this.bottomLeftBorderStroke=u>0||w>0?va(t.left+E/2,t.top+F,u-E/2,w-m/2,Zi.BOTTOM_LEFT):new pa(t.left+E/2,t.top+t.height-m/2),this.topLeftBorderBox=n>0||s>0?va(t.left,t.top,n,s,Zi.TOP_LEFT):new pa(t.left,t.top),this.topRightBorderBox=i>0||a>0?va(t.left+C,t.top,i,a,Zi.TOP_RIGHT):new pa(t.left+t.width,t.top),this.bottomRightBorderBox=c>0||l>0?va(t.left+U,t.top+h,c,l,Zi.BOTTOM_RIGHT):new pa(t.left+t.width,t.top+t.height),this.bottomLeftBorderBox=u>0||w>0?va(t.left,t.top+F,u,w,Zi.BOTTOM_LEFT):new pa(t.left,t.top+t.height),this.topLeftPaddingBox=n>0||s>0?va(t.left+E,t.top+f,Math.max(0,n-E),Math.max(0,s-f),Zi.TOP_LEFT):new pa(t.left+E,t.top+f),this.topRightPaddingBox=i>0||a>0?va(t.left+Math.min(C,t.width-p),t.top+f,C>t.width+p?0:Math.max(0,i-p),Math.max(0,a-f),Zi.TOP_RIGHT):new pa(t.left+t.width-p,t.top+f),this.bottomRightPaddingBox=c>0||l>0?va(t.left+Math.min(U,t.width-E),t.top+Math.min(h,t.height-m),Math.max(0,c-p),Math.max(0,l-m),Zi.BOTTOM_RIGHT):new pa(t.left+t.width-p,t.top+t.height-m),this.bottomLeftPaddingBox=u>0||w>0?va(t.left+E,t.top+Math.min(F,t.height-m),Math.max(0,u-E),Math.max(0,w-m),Zi.BOTTOM_LEFT):new pa(t.left+E,t.top+t.height-m),this.topLeftContentBox=n>0||s>0?va(t.left+E+I,t.top+f+H,Math.max(0,n-(E+I)),Math.max(0,s-(f+H)),Zi.TOP_LEFT):new pa(t.left+E+I,t.top+f+H),this.topRightContentBox=i>0||a>0?va(t.left+Math.min(C,t.width+E+I),t.top+f+H,C>t.width+E+I?0:i-E+I,a-(f+H),Zi.TOP_RIGHT):new pa(t.left+t.width-(p+y),t.top+f+H),this.bottomRightContentBox=c>0||l>0?va(t.left+Math.min(U,t.width-(E+I)),t.top+Math.min(h,t.height+f+H),Math.max(0,c-(p+y)),l-(m+v),Zi.BOTTOM_RIGHT):new pa(t.left+t.width-(p+y),t.top+t.height-(m+v)),this.bottomLeftContentBox=u>0||w>0?va(t.left+E+I,t.top+F,Math.max(0,u-(E+I)),w-(m+v),Zi.BOTTOM_LEFT):new pa(t.left+E+I,t.top+t.height-(m+v))}return A}();!function(A){A[A.TOP_LEFT=0]="TOP_LEFT",A[A.TOP_RIGHT=1]="TOP_RIGHT",A[A.BOTTOM_RIGHT=2]="BOTTOM_RIGHT",A[A.BOTTOM_LEFT=3]="BOTTOM_LEFT"}(Zi||(Zi={}));var va=function(A,e,t,r,n){var s=(Math.sqrt(2)-1)/3*4,o=t*s,i=r*s,a=A+t,B=e+r;switch(n){case Zi.TOP_LEFT:return new Ea(new pa(A,B),new pa(A,B-i),new pa(a-o,e),new pa(a,e));case Zi.TOP_RIGHT:return new Ea(new pa(A,e),new pa(A+o,e),new pa(a,B-i),new pa(a,B));case Zi.BOTTOM_RIGHT:return new Ea(new pa(a,e),new pa(a,e+i),new pa(A+o,B),new pa(A,B));case Zi.BOTTOM_LEFT:default:return new Ea(new pa(a,B),new pa(a-o,B),new pa(A,e+i),new pa(A,e))}},Ia=function(A){return[A.topLeftBorderBox,A.topRightBorderBox,A.bottomRightBorderBox,A.bottomLeftBorderBox]},Ka=function(A){return[A.topLeftContentBox,A.topRightContentBox,A.bottomRightContentBox,A.bottomLeftContentBox]},ba=function(A){return[A.topLeftPaddingBox,A.topRightPaddingBox,A.bottomRightPaddingBox,A.bottomLeftPaddingBox]},La=function(){function A(A,e,t){this.offsetX=A,this.offsetY=e,this.matrix=t,this.type=0,this.target=6}return A}(),Da=function(){function A(A,e){this.path=A,this.target=e,this.type=1}return A}(),xa=function(){function A(A){this.opacity=A,this.type=2,this.target=6}return A}(),Sa=function(A){return 0===A.type},Ma=function(A){return 1===A.type},Ta=function(A){return 2===A.type},Oa=function(A,e){return A.length===e.length&&A.some((function(A,t){return A===e[t]}))},ka=function(A,e,t,r,n){return A.map((function(A,s){switch(s){case 0:return A.add(e,t);case 1:return A.add(e+r,t);case 2:return A.add(e+r,t+n);case 3:return A.add(e,t+n)}return A}))},Na=function(){function A(A){this.element=A,this.inlineLevel=[],this.nonInlineLevel=[],this.negativeZIndex=[],this.zeroOrAutoZIndexOrTransformedOrOpacity=[],this.positiveZIndex=[],this.nonPositionedFloats=[],this.nonPositionedInlineLevel=[]}return A}(),Ga=function(){function A(A,e){if(this.container=A,this.parent=e,this.effects=[],this.curves=new ya(this.container),this.container.styles.opacity<1&&this.effects.push(new xa(this.container.styles.opacity)),null!==this.container.styles.transform){var t=this.container.bounds.left+this.container.styles.transformOrigin[0].number,r=this.container.bounds.top+this.container.styles.transformOrigin[1].number,n=this.container.styles.transform;this.effects.push(new La(t,r,n))}if(0!==this.container.styles.overflowX){var s=Ia(this.curves),o=ba(this.curves);Oa(s,o)?this.effects.push(new Da(s,6)):(this.effects.push(new Da(s,2)),this.effects.push(new Da(o,4)))}}return A.prototype.getEffects=function(A){for(var e=-1===[2,3].indexOf(this.container.styles.position),t=this.parent,r=this.effects.slice(0);t;){var n=t.effects.filter((function(A){return!Ma(A)}));if(e||0!==t.container.styles.position||!t.parent){if(r.unshift.apply(r,n),e=-1===[2,3].indexOf(t.container.styles.position),0!==t.container.styles.overflowX){var s=Ia(t.curves),o=ba(t.curves);Oa(s,o)||r.unshift(new Da(o,6))}}else r.unshift.apply(r,n);t=t.parent}return r.filter((function(e){return ns(e.target,A)}))},A}(),Va=function(A,e,t,r){A.container.elements.forEach((function(n){var s=ns(n.flags,4),o=ns(n.flags,2),i=new Ga(n,A);ns(n.styles.display,2048)&&r.push(i);var a=ns(n.flags,8)?[]:r;if(s||o){var B=s||n.styles.isPositioned()?t:e,c=new Na(i);if(n.styles.isPositioned()||n.styles.opacity<1||n.styles.isTransformed()){var l=n.styles.zIndex.order;if(l<0){var g=0;B.negativeZIndex.some((function(A,e){return l>A.element.container.styles.zIndex.order?(g=e,!1):g>0})),B.negativeZIndex.splice(g,0,c)}else if(l>0){var u=0;B.positiveZIndex.some((function(A,e){return l>=A.element.container.styles.zIndex.order?(u=e+1,!1):u>0})),B.positiveZIndex.splice(u,0,c)}else B.zeroOrAutoZIndexOrTransformedOrOpacity.push(c)}else n.styles.isFloating()?B.nonPositionedFloats.push(c):B.nonPositionedInlineLevel.push(c);Va(i,c,s?c:t,a)}else n.styles.isInlineLevel()?e.inlineLevel.push(i):e.nonInlineLevel.push(i),Va(i,e,t,a);ns(n.flags,8)&&Ra(n,a)}))},Ra=function(A,e){for(var t=A instanceof Po?A.start:1,r=A instanceof Po&&A.reversed,n=0;n0&&A.intrinsicHeight>0){var r=ja(A),n=ba(e);this.path(n),this.ctx.save(),this.ctx.clip(),this.ctx.drawImage(t,0,0,A.intrinsicWidth,A.intrinsicHeight,r.left,r.top,r.width,r.height),this.ctx.restore()}},t.prototype.renderNodeContent=function(A){return r(this,void 0,void 0,(function(){var e,r,s,i,a,B,c,l,g,u,w,Q,d,C,h,U,F,f;return n(this,(function(n){switch(n.label){case 0:this.applyEffects(A.getEffects(4)),e=A.container,r=A.curves,s=e.styles,i=0,a=e.textNodes,n.label=1;case 1:return i0&&E>0&&(h=r.ctx.createPattern(Q,"repeat"),r.renderRepeat(F,h,y,v))):Dr(t)&&(U=AB(A,e,[null,null,null]),F=U[0],f=U[1],p=U[2],m=U[3],E=U[4],H=0===t.position.length?[Pt]:t.position,y=Wt(H[0],m),v=Wt(H[H.length-1],E),I=Fr(t,y,v,m,E),K=I[0],b=I[1],K>0&&b>0&&(L=r.ctx.createRadialGradient(f+y,p+v,0,f+y,p+v,K),Qr(t.stops,2*K).forEach((function(A){return L.addColorStop(A.stop,rr(A.color))})),r.path(F),r.ctx.fillStyle=L,K!==b?(D=A.bounds.left+.5*A.bounds.width,x=A.bounds.top+.5*A.bounds.height,M=1/(S=b/K),r.ctx.save(),r.ctx.translate(D,x),r.ctx.transform(1,0,0,S,0,0),r.ctx.translate(-D,-x),r.ctx.fillRect(f,M*(p-x)+x,m,E*M),r.ctx.restore()):r.ctx.fill())),n.label=6;case 6:return e--,[2]}}))},r=this,s=0,o=A.styles.backgroundImage.slice(0).reverse(),a.label=1;case 1:return s0?2!==B.style?[3,5]:[4,this.renderDashedDottedBorder(B.color,B.width,o,A.curves,2)]:[3,11]:[3,13];case 4:return n.sent(),[3,11];case 5:return 3!==B.style?[3,7]:[4,this.renderDashedDottedBorder(B.color,B.width,o,A.curves,3)];case 6:return n.sent(),[3,11];case 7:return 4!==B.style?[3,9]:[4,this.renderDoubleBorder(B.color,B.width,o,A.curves)];case 8:return n.sent(),[3,11];case 9:return[4,this.renderSolidBorder(B.color,o,A.curves)];case 10:n.sent(),n.label=11;case 11:o++,n.label=12;case 12:return i++,[3,3];case 13:return[2]}}))}))},t.prototype.renderDashedDottedBorder=function(A,e,t,s,o){return r(this,void 0,void 0,(function(){var r,i,a,B,c,l,g,u,w,Q,d,C,h,U,F,f;return n(this,(function(n){return this.ctx.save(),r=Ya(s,t),i=Xa(s,t),2===o&&(this.path(i),this.ctx.clip()),Ha(i[0])?(a=i[0].start.x,B=i[0].start.y):(a=i[0].x,B=i[0].y),Ha(i[1])?(c=i[1].end.x,l=i[1].end.y):(c=i[1].x,l=i[1].y),g=0===t||2===t?Math.abs(a-c):Math.abs(B-l),this.ctx.beginPath(),3===o?this.formatPath(r):this.formatPath(i.slice(0,2)),u=e<3?3*e:2*e,w=e<3?2*e:e,3===o&&(u=e,w=e),Q=!0,g<=2*u?Q=!1:g<=2*u+w?(u*=d=g/(2*u+w),w*=d):(C=Math.floor((g+w)/(u+w)),h=(g-C*u)/(C-1),w=(U=(g-(C+1)*u)/C)<=0||Math.abs(w-h)0&&void 0!==(null===(s=t[0])||void 0===s?void 0:s.data)){l=t[0].data;continue}l=t}catch(A){}}return l}async function H(A,e,t){const r=U(),n=await m(r,A,"sprite.jpg"),s=await m(r,e,"thumbs.vtt"),o=A=>({path:A,meta:{_type:"gradio.FileData"}}),i=await E(r,"identify_sprite_performers",[o(n),o(s),d],t);return{data:Array.isArray(i)?i:[i]}}const y=400,v=.85,I="undefined"!=typeof location&&location.search.includes("visage_capture_debug=1");function K(A){return A instanceof HTMLVideoElement?{w:A.videoWidth,h:A.videoHeight}:A instanceof HTMLImageElement?{w:A.naturalWidth,h:A.naturalHeight}:{w:A.width,h:A.height}}function b(A,e){const t=K(A);if(0===t.w||0===t.h)return{...e};let r,n;switch(A instanceof HTMLVideoElement||A instanceof HTMLImageElement?getComputedStyle(A).objectFit:"fill"){case"contain":{const A=Math.min(e.w/t.w,e.h/t.h);r=t.w*A,n=t.h*A;break}case"cover":{const A=Math.max(e.w/t.w,e.h/t.h);r=t.w*A,n=t.h*A;break}case"none":r=t.w,n=t.h;break;case"scale-down":{const A=Math.min(e.w/t.w,e.h/t.h),s=Math.min(A,1);r=t.w*s,n=t.h*s;break}default:r=e.w,n=e.h}return{x:e.x+(e.w-r)/2,y:e.y+(e.h-n)/2,w:r,h:n}}function L(A,e){const t=Math.max(A.x,e.x),r=Math.max(A.y,e.y),n=Math.min(A.x+A.w,e.x+e.w),s=Math.min(A.y+A.h,e.y+e.h);return{x:t,y:r,w:Math.max(0,n-t),h:Math.max(0,s-r)}}function D(A,e,t){const r=K(A);return{sx:(e.x-t.x)*(r.w/t.w),sy:(e.y-t.y)*(r.h/t.h),sw:e.w*(r.w/t.w),sh:e.h*(r.h/t.h)}}async function x(A,e,t,r,n){const s=Math.min(y/r,y/n,1),o=Math.max(1,Math.round(r*s)),i=Math.max(1,Math.round(n*s)),a=document.createElement("canvas");a.width=o,a.height=i;const B=a.getContext("2d");if(!B)throw new Error("Failed to get 2D context");return B.drawImage(A,e,t,r,n,0,0,o,i),new Promise(((A,e)=>{a.toBlob((t=>{t?A(t):e(new Error("toBlob returned null"))}),"image/jpeg",v)}))}async function S(A){const e=await g(document.documentElement,{x:A.x,y:A.y,width:A.w,height:A.h,scale:1,useCORS:!0,allowTaint:!1}),t=Math.min(y/e.width,y/e.height,1),r=Math.max(1,Math.round(e.width*t)),n=Math.max(1,Math.round(e.height*t)),s=document.createElement("canvas");s.width=r,s.height=n;const o=s.getContext("2d");if(!o)throw new Error("Failed to get 2D context in fallback");return o.drawImage(e,0,0,r,n),new Promise(((A,e)=>{s.toBlob((t=>{t?A(t):e(new Error("Fallback toBlob returned null"))}),"image/jpeg",v)}))}function M(){const A=Array.from(document.querySelectorAll("video, img, canvas")),e=window.innerWidth,t=window.innerHeight;let r=null,n=0,s=null,o=0;for(const i of A){const A=i.getBoundingClientRect(),a=Math.max(0,Math.min(A.right,e)-Math.max(A.left,0))*Math.max(0,Math.min(A.bottom,t)-Math.max(A.top,0));if(a<2500)continue;const B=K(i),c={el:i,rect:{x:A.left,y:A.top,w:A.width,h:A.height}};i instanceof HTMLVideoElement?a>n&&(n=a,r=c):0!==B.w&&0!==B.h&&a>o&&(o=a,s=c)}return r||s}async function T(){const A=M();if(!A)return console.warn("[Visage] captureWholeFrame: no media element found"),null;const e=K(A.el);if(A.el instanceof HTMLVideoElement&&(0===e.w||0===e.h)){const e=function(A){var e;if(A.poster)return A.poster;const t=null===(e=A.parentElement)||void 0===e?void 0:e.querySelector(".vjs-poster");if(t){const A=getComputedStyle(t).backgroundImage.match(/url\(["']?([^"')]+)["']?\)/);if(A)return A[1]}return null}(A.el);if(e){console.warn("[Visage] Video not loaded, capturing poster:",e);try{const A=new Image;A.crossOrigin="anonymous",A.src=e,await new Promise(((e,t)=>{A.onload=()=>e(),A.onerror=()=>t(new Error("Poster image failed to load"))}));const t=await createImageBitmap(A),r=await function(A){let{width:e,height:t}=A;if(e>F||t>F){const A=Math.min(F/e,F/t);e=Math.round(e*A),t=Math.round(t*A)}const r=document.createElement("canvas");r.width=e,r.height=t;const n=r.getContext("2d");if(!n)throw new Error("Failed to get canvas context");return n.drawImage(A,0,0,e,t),new Promise(((A,e)=>{r.toBlob((t=>t?A(t):e(new Error("Canvas toBlob failed"))),"image/jpeg",f)}))}(t);if(r)return r}catch(A){console.warn("[Visage] Poster capture failed:",A)}}return S(A.rect)}const t=b(A.el,A.rect);return O({x:t.x,y:t.y,w:t.w,h:t.h})}async function O(A){const e=function(A,e){const t=document.elementsFromPoint(A,e);for(const A of t)if(A instanceof HTMLVideoElement||A instanceof HTMLImageElement||A instanceof HTMLCanvasElement){const e=A.getBoundingClientRect();return{el:A,rect:{x:e.left,y:e.top,w:e.width,h:e.height}}}return null}(A.x+A.w/2,A.y+A.h/2);if(!e){const e=M();if(e){const t=K(e.el);if(t.w>0&&t.h>0){const t=b(e.el,e.rect),r=L(A,t);if(r.w>=4&&r.h>=4){const{sx:A,sy:n,sw:s,sh:o}=D(e.el,r,t);try{return await x(e.el,A,n,s,o)}catch(A){}}}}return console.warn("[Visage] No media element at center, falling back"),S(A)}const t=K(e.el);if(0===t.w||0===t.h)return console.warn("[Visage] Media has no intrinsic size (not loaded yet), falling back"),S(A);const r=b(e.el,e.rect),n=L(A,r);if(n.w<4||n.h<4)return console.warn("[Visage] Selection too small after content clamp, falling back"),S(A);const{sx:s,sy:o,sw:i,sh:a}=D(e.el,n,r);console.warn("[Visage] Direct capture mapped:",{sx:s,sy:o,sw:i,sh:a});try{const A=await x(e.el,s,o,i,a);return function(A,e){if(!I)return;const t=URL.createObjectURL(A),r=document.createElement("img");r.src=t,r.style.cssText=["position:fixed",`left:${e.x}px`,`top:${e.y}px`,`width:${e.w}px`,`height:${e.h}px`,"opacity:0.5","pointer-events:none","z-index:2147483647","border:1px solid #00ff00"].join(";"),document.body.appendChild(r),setTimeout((()=>{r.remove(),URL.revokeObjectURL(t)}),3e3)}(A,n),A}catch(e){return console.warn("[Visage] Direct capture threw, falling back:",e),S(A)}}const k=window.PluginApi.GQL,N=()=>window.PluginApi.utils.StashService.getClient();async function G(A){return(await N().query({query:k.FindPerformersDocument,variables:{performer_filter:{stash_id_endpoint:{endpoint:"",stash_id:A,modifier:"EQUALS"}}}})).data.findPerformers.performers}async function V(A){return(await N().query({query:k.FindSceneDocument,variables:{id:A}})).data.findScene.performers.map((A=>A.id))}async function R(A){return(await N().query({query:k.FindImageDocument,variables:{id:A}})).data.findImage.performers.map((A=>A.id))}async function P(A,e){return N().mutate({mutation:k.SceneUpdateDocument,variables:{input:{id:A,performer_ids:e}}})}async function X(A,e){return N().mutate({mutation:k.ImageUpdateDocument,variables:{input:{id:A,performer_ids:e}}})}const J="https://docs.stashapp.cc/metadata-sources/stash-box-instances/";function W(A,e){if(e){const t=A.findIndex((A=>{var t;return null===(t=A.name)||void 0===t?void 0:t.toLowerCase().includes(e.toLowerCase())}));if(t>=0)return t}const t=A.findIndex((A=>{var e;return null===(e=A.name)||void 0===e?void 0:e.toLowerCase().includes("stashdb")}));return t>=0?t:0}async function Y(){var A,e,t;const r=null===(t=null===(e=null===(A=(await N().query({query:k.ConfigurationDocument})).data)||void 0===A?void 0:A.configuration)||void 0===e?void 0:e.general)||void 0===t?void 0:t.stashBoxes;if(!(null==r?void 0:r.length))return"empty";const n=r.some((A=>{var e;return null===(e=A.name)||void 0===e?void 0:e.toLowerCase().includes("stashdb")}));return n?"configured":"mismatch"}async function _(A,e){var t,r,n,s;const o=W((null===(n=null===(r=null===(t=(await N().query({query:k.ConfigurationDocument})).data)||void 0===t?void 0:t.configuration)||void 0===r?void 0:r.general)||void 0===n?void 0:n.stashBoxes)||[],e);try{const e=await N().query({query:k.ScrapeSinglePerformerDocument,variables:{source:{stash_box_index:o},input:{query:A}}});if(e.errors&&console.warn("[Visage] GraphQL errors in scrapeSinglePerformer:",e.errors),!(null===(s=e.data)||void 0===s?void 0:s.scrapeSinglePerformer))return;return e.data.scrapeSinglePerformer.filter((e=>e.remote_site_id===A))[0]}catch(A){return void console.warn("[Visage] Exception in scrapeSinglePerformer:",A)}}async function Z(A,e,t){var r;const n=await async function(A,e,t){const{images:r,height:n,aliases:s,remote_site_id:o,stored_id:i,__typename:a,tags:B,...c}=A,l=await async function(A){var e,t,r;const n=null===(r=null===(t=null===(e=(await N().query({query:k.ConfigurationDocument})).data)||void 0===e?void 0:e.configuration)||void 0===t?void 0:t.general)||void 0===r?void 0:r.stashBoxes;return(null==n?void 0:n.length)?n[W(n,A)].endpoint:null}(t);return{...c,image:null==r?void 0:r[0],height_cm:n,alias_list:s,stash_ids:l?[{endpoint:l,stash_id:e}]:void 0}}(A,e,t),s=await async function(A){return N().mutate({mutation:k.PerformerCreateDocument,variables:{input:A}})}(n);if(s.errors){const A=(null===(r=s.errors[0])||void 0===r?void 0:r.message)||"";if(!A.toLowerCase().includes("already exists"))throw new Error(A);const e=await async function(A,e){var t;if(!A)return;return null===(t=(await N().query({query:k.FindPerformersDocument,variables:{performer_filter:{name:{value:A,modifier:"EQUALS"},...e?{disambiguation:{value:e,modifier:"EQUALS"}}:{}}}})).data.findPerformers.performers)||void 0===t?void 0:t[0]}(n.name,n.disambiguation);if(e)return{performerId:e.id,created:!1};throw new Error(A)}return{performerId:s.data.performerCreate.id,created:!0}}async function q(A,e){var t;return null!==(t=(await N().query({query:k.FindSceneDocument,variables:{id:A}})).data.findScene.paths[e])&&void 0!==t?t:null}async function j(A){const e=await q(A,"sprite");if(!e)return null;return(await fetch(e)).ok?e:null}async function z(A){return async function(A,e="image"){var t,r;const n=null!==(r=null===(t=(await N().query({query:k.FindImageDocument,variables:{id:A}})).data.findImage.paths)||void 0===t?void 0:t[e])&&void 0!==r?r:null;return n?"string"==typeof n&&n.startsWith("/")?`${window.location.origin}${n}`:n:null}(A,"image")}async function $(A){return q(A,"preview")}async function AA(A,e,t){const r="scenes"===A?V:R,n="scenes"===A?P:X,s=await r(e);s.includes(t)||(s.push(t),await n(e,s))}function eA(){const A=document.URL.match(/(scenes|images)\/(\d+)/);if(!A)throw new Error("Could not parse scenario and ID from URL");return[A[1],A[2]]}function tA(){var A;const e=document.querySelector(".dropdown-menu.show");if(!e)return;e.classList.remove("show");const t=null===(A=e.closest(".dropdown"))||void 0===A?void 0:A.querySelector('[data-toggle="dropdown"], .dropdown-toggle');t&&t.setAttribute("aria-expanded","false")}function rA(A){const e=A.textContent||"";return e.includes("Delete")&&(e.includes("Generate")||e.includes("Rescan")||e.includes("Submit"))}function nA(A){const e=document.createElement("hr");e.className="visage-menu-divider dropdown-divider",A.insertBefore(e,A.firstElementChild);const t=document.createElement("div");return t.style.cssText="display:flex;flex-direction:column;flex-shrink:0;",A.insertBefore(t,e),t}function sA(A,e="Unknown error"){return A instanceof Error?A.message:e}const oA=window.PluginApi.React,{useCallback:iA}=oA;let aA=null,BA=null,cA=null,lA=0,gA=0,uA=!1,wA=!1;function QA(A,e,t){dA(),wA=!1;const r=(null==t?void 0:t.region)||O,n=(null==t?void 0:t.whole)||T;aA=document.createElement("div"),aA.style.cssText="position:fixed;inset:0;z-index:2147483647;cursor:crosshair;background:rgba(0,0,0,0.12);";const s=document.createElement("div");function o(A){if(!uA)return;const e=Math.min(lA,A.clientX),t=Math.min(gA,A.clientY),r=Math.abs(A.clientX-lA),n=Math.abs(A.clientY-gA);BA.style.cssText=`position:fixed;display:block;left:${e}px;top:${t}px;width:${r}px;height:${n}px;outline:2px solid #5695ff;outline-offset:-2px;background:rgba(86,149,255,0.08);pointer-events:none;z-index:2147483649;`}function i(t){if(uA=!1,aA.removeEventListener("mousemove",o),aA.removeEventListener("mouseup",i),wA)return;wA=!0;const n=BA.getBoundingClientRect();if(n.width<10||n.height<10)return dA(),e(),void(wA=!1);aA.style.display="none",r({x:n.left,y:n.top,w:n.width,h:n.height}).then((t=>{dA(),t?A(t):e()})).catch((()=>{dA(),e()}))}function a(t){if("Escape"===t.key)return dA(),void e();if("Enter"===t.key){if(t.preventDefault(),uA||wA)return;wA=!0,aA.style.display="none",n().then((t=>{dA(),t?A(t):e()})).catch((()=>{dA(),e()}))}}s.textContent="Drag to select a face — Enter to scan the whole frame — Esc to cancel",s.style.cssText="position:fixed;top:16px;left:50%;transform:translateX(-50%);background:#07070f;color:rgba(255,255,255,0.8);padding:10px 24px;border-radius:8px;font:13px/1.4 system-ui,sans-serif;border:1px solid rgba(255,255,255,0.07);box-shadow:0 4px 20px rgba(0,0,0,0.5);pointer-events:none;z-index:2147483648;",aA.appendChild(s),BA=document.createElement("div"),BA.style.cssText="position:fixed;display:none;outline:2px solid #5695ff;outline-offset:-2px;background:rgba(86,149,255,0.08);pointer-events:none;z-index:2147483649;",aA.appendChild(BA),document.body.appendChild(aA),aA.addEventListener("mousedown",(function(A){0===A.button&&(uA=!0,lA=A.clientX,gA=A.clientY,BA.style.cssText=`position:fixed;display:block;left:${lA}px;top:${gA}px;width:0;height:0;outline:2px solid #5695ff;outline-offset:-2px;background:rgba(86,149,255,0.08);pointer-events:none;z-index:2147483649;`,aA.addEventListener("mousemove",o),aA.addEventListener("mouseup",i))})),cA=a,document.addEventListener("keydown",a)}function dA(){cA&&(document.removeEventListener("keydown",cA),cA=null),aA&&(aA.remove(),aA=null,BA=null)}const CA="ontouchstart"in window||navigator.maxTouchPoints>0;async function hA(A){const e=await z(A);if(!e)return null;try{const A=await fetch(e);if(!A.ok)return null;const t=await A.blob();return t.type?t:new Blob([t],{type:"image/jpeg"})}catch(A){return null}}async function UA(A,e){try{const t=await createImageBitmap(A),r=e.x+e.w/2,n=e.y+e.h/2,s=document.elementsFromPoint(r,n);let o=null;for(const A of s)if(A instanceof HTMLImageElement){o=A;break}const i=o?function(A,e,t){const r=A.getBoundingClientRect(),n=getComputedStyle(A).objectFit;let s=r.width,o=r.height;if(e>0&&t>0)if("contain"===n||"scale-down"===n){const A=Math.min(r.width/e,r.height/t);s=e*A,o=t*A}else if("cover"===n){const A=Math.max(r.width/e,r.height/t);s=e*A,o=t*A}return{x:r.left+(r.width-s)/2,y:r.top+(r.height-o)/2,w:s,h:o}}(o,t.width,t.height):{x:0,y:0,w:window.innerWidth,h:window.innerHeight},a=Math.max(e.x,i.x),B=Math.max(e.y,i.y),c=Math.min(e.x+e.w,i.x+i.w),l=Math.min(e.y+e.h,i.y+i.h);if(a>=c||B>=l)return null;const g=c-a,u=l-B;if(g<4||u<4)return null;const w=(a-i.x)/i.w*t.width,Q=(B-i.y)/i.h*t.height,d=g/i.w*t.width,C=u/i.h*t.height,h=document.createElement("canvas"),U=400,F=Math.min(U/d,U/C,1);h.width=Math.max(1,Math.round(d*F)),h.height=Math.max(1,Math.round(C*F));const f=h.getContext("2d");return f?(f.drawImage(t,w,Q,d,C,0,0,h.width,h.height),t.close(),new Promise((A=>h.toBlob((e=>A(e)),"image/jpeg",.85)))):null}catch(A){return null}}async function FA(A,e,t,r,n,s,o){r(o,!0);const[i,a]=eA();s(i,a);try{const t=(await async function(A,e,t){var r;try{const r=U(),n=await Promise.all(e.map((async A=>{if(A instanceof Blob||A instanceof File){const e=A instanceof File?A.name:"file";return{path:await m(r,A,e),meta:{_type:"gradio.FileData"}}}return A}))),s=await E(r,A,n,t);return{data:Array.isArray(s)?s:[s]}}catch(A){const e=null!==(r=null==A?void 0:A.message)&&void 0!==r?r:"string"==typeof A?A:JSON.stringify(A);throw new Error(`Gradio API call failed: ${e}`)}}("multiple_image_search",[A,Q])).data;if(!t||"object"!=typeof t)return void e("No faces found in that selection. Try a tighter crop, or press Enter to scan the whole frame.");const r=Array.isArray(t)?t[0]:t;if(null==r?void 0:r.error)return void e(r.error);if(!Array.isArray(t)||0===t.length)return void e("No faces found in that selection. Try a tighter crop, or press Enter to scan the whole frame.");n(t)}catch(A){const e=sA(A);e.includes("Could not find element")?t("Could not capture media. Please ensure the scene/image is fully loaded."):e.includes("Failed to fetch")||e.includes("NetworkError")?t("Face recognition API is not reachable. Check the API endpoint in Settings."):t("Face search failed: "+e)}finally{r(o,!1)}}function fA({menuItem:A}){const{state:e,setLoading:t,setMatches:r,setScenario:n,showWarning:s,showError:o}=B(),i="face-search",a=e.loading[i]||!1,c=iA((async()=>{if(a)return;const[A,e]=eA();if(n(A,e),"images"!==A)if(CA){t(i,!0);try{const A=await T();if(!A)return s("Could not capture the current frame."),void t(i,!1);await FA(A,s,o,t,r,n,i)}catch(A){console.warn("[Visage] captureWholeFrame failed:",A),o("Failed to capture the current frame."),t(i,!1)}}else QA((A=>{FA(A,s,o,t,r,n,i)}),(()=>{s("Select a face within the video player area.")}));else{if(CA){t(i,!0);try{const A=await hA(e);if(!A)return s("Could not fetch image from Stash."),void t(i,!1);await FA(A,s,o,t,r,n,i)}catch(A){o("Failed to capture image: "+sA(A)),t(i,!1)}return}QA((A=>{FA(A,s,o,t,r,n,i)}),(()=>{s("Select a face within the image.")}),{region:async A=>{const t=await hA(e);return t?UA(t,A):null},whole:()=>hA(e)})}}),[t,r,n,a,s,o]);return A?oA.createElement("a",{href:"#",className:"bg-secondary text-white dropdown-item",role:"button",title:"Drag a box around a face, or press Enter to scan the whole frame, to search StashDB for matches",onClick:A=>{A.preventDefault(),tA(),c()}},"Visage: Current Frame"):oA.createElement("button",{id:"visage-frame-search",className:"visage-toolbar-button"+(a?" visage-scanning":""),onClick:c,disabled:a,title:"Visage: Current Frame"},oA.createElement("svg",{width:20,height:20,viewBox:"0 0 24 24",fill:"currentColor",xmlns:"http://www.w3.org/2000/svg"},oA.createElement("path",{d:"M9 11.75c-.69 0-1.25.56-1.25 1.25s.56 1.25 1.25 1.25 1.25-.56 1.25-1.25-.56-1.25-1.25-1.25zm6 0c-.69 0-1.25.56-1.25 1.25s.56 1.25 1.25 1.25 1.25-.56 1.25-1.25-.56-1.25-1.25-1.25zM12 2C6.48 2 2 6.48 2 12s4.48 10 10 10 10-4.48 10-10S17.52 2 12 2zm0 18c-4.41 0-8-3.59-8-8 0-.29.02-.58.05-.86 2.36-1.05 4.23-2.98 5.21-5.37C11.07 8.33 14.05 10 17.42 10c.78 0 1.53-.09 2.25-.26.21.71.33 1.47.33 2.26 0 4.41-3.59 8-8 8z"})))}function pA(A,e=2){return String(A).padStart(e,"0")}function mA(A){const e=Math.floor(A/3600),t=Math.floor(A%3600/60),r=Math.floor(A%60),n=Math.round(1e3*(A-Math.floor(A)));return`${pA(e)}:${pA(t)}:${pA(r)}.${pA(n,3)}`}function EA(A){return!!(null==A?void 0:A.performers)&&Object.keys(A.performers).length>0}async function HA(A,e){var t;const r=await j(A);if(!r)return null;const n=r.replace(/_sprite\.jpg$/,"_thumbs.vtt"),s=await async function(A){const e=await fetch(A);if(!e.ok)throw new Error(`Failed to fetch ${A}: ${e.status}`);const t=await e.blob();return new Promise((A=>{const e=new FileReader;e.onload=()=>A(e.result),e.readAsDataURL(t)}))}(r),o=await fetch(n);if(!o.ok)return console.warn("[Visage] sprite VTT fetch failed",n,o.status),null;const i=await o.blob(),a=function(A){const e=A.split(","),t=e[0].match(/:(.*?);/)[1],r=atob(e[1]);let n=r.length;const s=new Uint8Array(n);for(;n--;)s[n]=r.charCodeAt(n);return new Blob([s],{type:t})}(s),B=await H(a,i,e),c=null===(t=null==B?void 0:B.data)||void 0===t?void 0:t[0];return(null==c?void 0:c.error)?(console.warn("[Visage] sprite identification error:",c.error),null):EA(c)?c:null}async function yA(A,e){var t;if(w())return null;const r=await $(A);if(!r)return null;if(w())return null;const{sprite:n,vtt:s}=await async function(A,e=12,t=640,r=360){const n=document.createElement("video");n.crossOrigin="anonymous",n.preload="auto",n.muted=!0,n.playsInline=!0,n.src=A,await new Promise(((A,e)=>{const t=setTimeout((()=>e(new Error("Preview video load timed out"))),15e3);n.onloadedmetadata=()=>{clearTimeout(t),A()},n.onerror=()=>{clearTimeout(t),e(new Error("Failed to load preview video"))},n.load()})),await n.play(),n.pause();const s=n.duration;if(!s||s<=0)throw new Error("Invalid preview video duration");const o=s/e,i=document.createElement("canvas");i.width=t,i.height=r;const a=i.getContext("2d"),B=Math.ceil(e/4),c=document.createElement("canvas");c.width=4*t,c.height=B*r;const l=c.getContext("2d"),g=[],u=o/2;for(let A=0;A{n.onseeked=()=>A()})),a.drawImage(n,0,0,t,r);const B=A%4,c=Math.floor(A/4);l.drawImage(i,B*t,c*r),g.push(`${mA(e)} --\x3e ${mA(Math.min(e+o,s))}\nsprite.jpg#xywh=${B*t},${c*r},${t},${r}`)}const Q=await new Promise(((A,e)=>{c.toBlob((t=>t?A(t):e(new Error("toBlob failed"))),"image/jpeg",.85)})),d="WEBVTT\n\n"+g.map(((A,e)=>`${e+1}\n${A}`)).join("\n\n");return n.remove(),i.remove(),c.remove(),{sprite:Q,vtt:d}}(r);if(w())return null;const o=new Blob([s],{type:"text/vtt"}),i=await H(n,o,e),a=null===(t=null==i?void 0:i.data)||void 0===t?void 0:t[0];return(null==a?void 0:a.error)?(console.warn("[Visage] preview identification error:",a.error),null):EA(a)?a:null}const vA=window.PluginApi.React,{useCallback:IA}=vA;function KA({menuItem:A}){const{state:e,setLoading:t,setSpriteResult:r,showSpriteModal:n,setDetectionMode:s,setScanProgress:o,showWarning:i,showError:a}=B(),c="face-detection",l=e.loading[c]||!1,g=IA((async()=>{u=!1;try{t(c,!0),n(!0);const[A,e]=eA();if("scenes"!==A)return void n(!1);s("sprite");const a=await HA(e,((A,e)=>o(A,e)));if(w())return;if(a)return void r(a);s("preview");const B=await yA(e,((A,e)=>o(A,e)));if(w())return;if(B)return void r(B);n(!1);const l=await j(e),g=await $(e);i(l||g?"No faces or performers found in this scene’s sprite sheet or preview video.":"No sprite sheet or preview video found for this scene. Generate them in Scene settings, then try again.")}catch(A){console.error("[Visage] scene scan error:",A),n(!1);const e=sA(A);e.includes("Failed to fetch")||e.includes("NetworkError")?a("Face recognition API is not reachable. Check the API endpoint in Settings."):a("Scene scan failed: "+e)}finally{t(c,!1)}}),[t,r,n,s,o,i,a]);return A?vA.createElement("a",{href:"#",className:"bg-secondary text-white dropdown-item",role:"button",title:"Identify every performer in the scene (needs a generated sprite sheet or preview video)",onClick:A=>{A.preventDefault(),tA(),g()}},"Visage: Whole Scene"):vA.createElement("button",{id:"visage-scene-scan",className:"visage-toolbar-button"+(l?" visage-scanning":""),onClick:g,disabled:l,title:"Visage: Whole Scene"},vA.createElement("svg",{width:20,height:20,viewBox:"0 0 24 24",fill:"currentColor",xmlns:"http://www.w3.org/2000/svg"},vA.createElement("path",{d:"M18 4l2 4h-3l-2-4h-2l2 4h-3l-2-4H8l2 4H7L5 4H4c-1.1 0-1.99.9-1.99 2L2 18c0 1.1.9 2 2 2h16c1.1 0 2-.9 2-2V4h-4z"})))}const bA=window.PluginApi.React,{useState:LA,useEffect:DA,useCallback:xA}=bA;const SA=window.PluginApi.React,{useEffect:MA}=SA,TA='a, button, input, [tabindex]:not([tabindex="-1"])';function OA(A,e=!0){const t=SA.useRef(null);return MA((()=>{if(!e)return;const r=t.current;if(!r)return;const n=document.activeElement;(()=>{const A=r.querySelectorAll(TA);A.length>0?A[0].focus():(r.hasAttribute("tabindex")||r.setAttribute("tabindex","-1"),r.focus())})();const s=e=>{if(t.current){if("Escape"===e.key)return e.preventDefault(),void A();if("Tab"===e.key){const A=Array.from(t.current.querySelectorAll(TA)).filter((A=>!A.hasAttribute("disabled")));if(0===A.length)return void e.preventDefault();const r=A[0],n=A[A.length-1],s=document.activeElement;e.shiftKey?s!==r&&t.current.contains(s)||(e.preventDefault(),n.focus()):s!==n&&t.current.contains(s)||(e.preventDefault(),r.focus())}}};return document.addEventListener("keydown",s,!0),()=>{document.removeEventListener("keydown",s,!0),n&&"function"==typeof n.focus&&n.focus()}}),[e,A]),t}const kA=window.PluginApi.React,{useCallback:NA}=kA;const GA=window.PluginApi.React;function VA({performer:A,isLoading:e,isKeyboardSelected:t,isSelected:r,onToggle:n}){const s=function(A=400){return NA((e=>{e&&(e.style.opacity="0",e.style.transition=`opacity ${A}ms ease`,e.complete&&e.naturalWidth>0?e.style.opacity="1":(e.addEventListener("load",(()=>{e.style.opacity="1"}),{once:!0}),e.addEventListener("error",(()=>{e.style.opacity="1"}),{once:!0})))}),[A])}(),o=A.confidence||0,i=o>=90?"visage-confidence-excellent":o>=70?"visage-confidence-good":"visage-confidence-uncertain",a=o>=90?"Excellent match":o>=70?"Good match":"Uncertain match",B=["visage-performer-card",e?"visage-loading":"",t?"visage-keyboard-selected":"",r?"visage-performer-selected":""].filter(Boolean).join(" ");function c(){e||n(A.id)}return GA.createElement("div",{className:B,"data-performer-id":A.id,onClick:c,onKeyDown:function(A){"Enter"!==A.key&&" "!==A.key||(A.preventDefault(),c())},role:"button",tabIndex:t?0:-1,"aria-pressed":r,"aria-label":`${r?"Deselect":"Select"} ${A.name}`},GA.createElement("div",{className:"visage-card-portrait"},GA.createElement("img",{ref:s,className:"visage-portrait-img",alt:A.name,src:A.image}),GA.createElement("div",{className:"visage-card-img-overlay"}),GA.createElement("div",{className:`visage-confidence-strip ${i}`,style:{width:`${o}%`}}),A.country&&GA.createElement("span",{className:`visage-country-flag fi fi-${A.country.toLowerCase()}`}),A.source&&GA.createElement("span",{className:`visage-source-badge visage-source-${A.source}`,title:A.source},A.source[0].toUpperCase()),r&&GA.createElement("div",{className:"visage-card-check-badge"},GA.createElement("svg",{width:16,height:16,viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:3},GA.createElement("polyline",{points:"20 6 9 17 4 12"}))),GA.createElement("div",{className:"visage-card-meta"},GA.createElement("a",{href:`https://stashdb.org/performers/${A.id}`,target:"_blank",rel:"noopener noreferrer",className:"visage-performer-name",onClick:A=>A.stopPropagation()},A.name),GA.createElement("div",{className:"visage-card-stats"},GA.createElement("div",{className:`visage-confidence-dot ${i}`}),GA.createElement("span",{className:"visage-confidence-pct"},`${o}%`),GA.createElement("span",{className:"visage-confidence-lbl"},a)))))}const RA=window.PluginApi.React,{useCallback:PA,useEffect:XA,useRef:JA,useState:WA}=RA;function YA(){var A,e,t,r,n;const{state:s,setLoading:o,showMatchModal:i,showError:a,showSuccess:c,showWarning:l}=B(),{matches:g,loading:u}=s,w=Array.isArray(g)?g:[],[Q,d]=RA.useState(0),[C,h]=WA(new Map),[U,F]=WA(!1),[f,p]=WA(!1),[m,E]=WA(new Set),[H,y]=WA(null),[v,I]=WA((()=>{const A=localStorage.getItem("visage:minConfidence:match");if(null!==A){const e=Number(A);if(!Number.isNaN(e))return e}const e=w.flatMap((A=>A.performers.map((A=>A.confidence||0)))).filter((A=>A>0)).sort(((A,e)=>e-A));return e.length>=3?e[2]:0})),K=OA(T,s.showMatchModal),b=JA(!1);XA((()=>{requestAnimationFrame((()=>p(!0)));const[A,e]=eA();return"scenes"===A&&(async()=>{var A,t,r,n;try{const s=window.PluginApi.GQL,o=window.PluginApi.utils.StashService.getClient(),i=await o.query({query:s.FindSceneDocument,variables:{id:e}}),a=new Set;for(const e of null!==(r=null===(t=null===(A=i.data)||void 0===A?void 0:A.findScene)||void 0===t?void 0:t.performers)&&void 0!==r?r:[])for(const A of null!==(n=e.stash_ids)&&void 0!==n?n:[])A.stash_id&&a.add(A.stash_id);b.current||E(a)}catch(A){}})(),(async()=>{try{const A=await Y();b.current||y(A)}catch(A){b.current||y("empty")}})(),()=>{b.current=!0}}),[]);const L=PA((A=>{var e;const t=w[A];return(null===(e=null==t?void 0:t.performers)||void 0===e?void 0:e.filter((A=>(A.confidence||0)>=v)).length)||0}),[w,v]),D=PA(((A,e)=>{const t=w[A];if(!t)return;const r=t.performers[e];r&&!u[`add-performer-${r.id}`]&&O(A,r.id)}),[w,u]),{selectedFaceIndex:x,selectedCardIndex:S,hasNavigated:M}=function({faceCount:A,getPerformerCount:e,onAssign:t,enabled:r}){const[n,s]=LA(0),[o,i]=LA(0),[a,B]=LA(!1),c=xA((a=>{if(!r)return;const c=e(n);switch(a.key){case"ArrowRight":a.preventDefault(),B(!0),o0&&i(o-1);break;case"ArrowDown":a.preventDefault(),B(!0),n0&&(s(n-1),i(0));break;case"Enter":case" ":a.preventDefault(),B(!0),t(n,o)}}),[r,A,n,o,e,t]);return DA((()=>{if(r)return document.addEventListener("keydown",c),()=>document.removeEventListener("keydown",c)}),[c,r]),{selectedFaceIndex:n,selectedCardIndex:o,hasNavigated:a,setSelectedFaceIndex:s,setSelectedCardIndex:i}}({faceCount:w.length,getPerformerCount:L,onAssign:D,enabled:s.showMatchModal});function T(){p(!1),setTimeout((()=>i(!1)),300)}function O(A,e){m.has(e)||h((t=>{var r,n;const s=new Map(t),o=s.get(A);if((null==o?void 0:o.id)===e)s.delete(A);else{const t=w[A],o=null===(n=null===(r=null==t?void 0:t.performers)||void 0===r?void 0:r.find((A=>A.id===e)))||void 0===n?void 0:n.source;s.set(A,{id:e,source:o})}return s}))}XA((()=>{d(x)}),[x]);const k=u["face-search"]&&0===w.length,N=w[Q],V=null===(A=C.get(Q))||void 0===A?void 0:A.id,R=null!==(t=null===(e=null==N?void 0:N.performers)||void 0===e?void 0:e.findIndex((A=>m.has(A.id))))&&void 0!==t?t:-1,P=M?S:V?null!==(n=null===(r=null==N?void 0:N.performers)||void 0===r?void 0:r.findIndex((A=>A.id===V)))&&void 0!==n?n:0:R>=0?R:0;return RA.createElement("div",{className:"visage-modal-backdrop "+(f?"visage-visible":""),onClick:A=>{A.target===A.currentTarget&&T()}},RA.createElement("div",{ref:K,className:"visage-modal "+(f?"visage-visible":""),role:"dialog","aria-modal":"true"},RA.createElement("div",{className:"visage-modal-header"},RA.createElement("div",{className:"visage-modal-title"},RA.createElement("h2",null,"CURRENT FRAME"),!k&&RA.createElement("span",{className:"visage-match-count"},`${w.length} faces found · ${C.size} selected`+(m.size>0?` · ${m.size} in scene`:""))),RA.createElement("div",{style:{display:"flex",alignItems:"center",gap:"8px"}},RA.createElement("button",{className:"visage-modal-close",onClick:T,"aria-label":"Close"},RA.createElement("svg",{width:20,height:20,viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:2},RA.createElement("line",{x1:18,y1:6,x2:6,y2:18}),RA.createElement("line",{x1:6,y1:6,x2:18,y2:18}))))),null!==H&&"configured"!==H&&RA.createElement("div",{className:"visage-stashbox-banner"},RA.createElement("svg",{width:16,height:16,viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:2},RA.createElement("path",{d:"M10.29 3.86L1.82 18a2 2 0 0 0 1.71 3h16.94a2 2 0 0 0 1.71-3L13.71 3.86a2 2 0 0 0-3.42 0z"}),RA.createElement("line",{x1:12,y1:9,x2:12,y2:13}),RA.createElement("line",{x1:12,y1:17,x2:12.01,y2:17})),RA.createElement("span",{className:"visage-stashbox-banner-text"},RA.createElement("strong",null,"empty"===H?"No stash-box configured.":'No "StashDB" provider found.'),"empty"===H?" Add a stash-box provider in Settings → Metadata Providers to enable performer import. ":' Performer import requires a provider named "StashDB". Rename your provider in Settings → Metadata Providers. ',RA.createElement("a",{href:J,target:"_blank",rel:"noopener noreferrer"},"Learn more."))),k?RA.createElement("div",{className:"visage-modal-loading"},RA.createElement("div",{className:"visage-face-scan"},RA.createElement("span",{className:"visage-face-scan-corner"}),RA.createElement("span",{className:"visage-face-scan-corner"}),RA.createElement("span",{className:"visage-face-scan-corner"}),RA.createElement("span",{className:"visage-face-scan-corner"}),RA.createElement("svg",{viewBox:"0 0 100 120",fill:"none",stroke:"currentColor",strokeWidth:1.5,strokeLinecap:"round"},RA.createElement("path",{d:"M50 7 C29 7 15 22 16 45 C16.5 57 20 65 24 71"}),RA.createElement("path",{d:"M50 7 C71 7 85 22 84 45 C83.5 57 80 65 76 71"}),RA.createElement("path",{strokeWidth:1.2,d:"M50 15 C37 15 27 26 27 42"}),RA.createElement("path",{strokeWidth:1.2,d:"M50 15 C63 15 73 26 73 42"}),RA.createElement("path",{d:"M27 42 C27 61 34 77 43 85 C46 88 54 88 57 85 C66 77 73 61 73 42"}),RA.createElement("path",{d:"M33 52 C36.5 55 42.5 55 46 52"}),RA.createElement("path",{d:"M54 52 C57.5 55 63.5 55 67 52"}),RA.createElement("path",{strokeWidth:1.2,d:"M35 54.6 L33.8 57 M39.5 55.6 L39 58.2 M44 54.6 L45 57"}),RA.createElement("path",{strokeWidth:1.2,d:"M56 54.6 L55 57 M60.5 55.6 L61 58.2 M65 54.6 L66.2 57"}),RA.createElement("path",{strokeWidth:1.2,d:"M32 46 C36 43.6 43 43.6 47 46"}),RA.createElement("path",{strokeWidth:1.2,d:"M53 46 C57 43.6 64 43.6 68 46"}),RA.createElement("path",{strokeWidth:1.2,d:"M50 54 C50 60 49.4 63 48.8 65.2 C49.6 66.4 50.4 66.4 51.2 65.2"}),RA.createElement("path",{d:"M42 75 C45 72.5 48 73.8 50 74.8 C52 73.8 55 72.5 58 75 C55 79.5 45 79.5 42 75 Z"}),RA.createElement("path",{strokeWidth:1.2,d:"M44.5 80.5 C47 82.5 53 82.5 55.5 80.5"}),RA.createElement("path",{strokeWidth:1.2,d:"M42 87.5 C42 94 40.5 99 38 104"}),RA.createElement("path",{strokeWidth:1.2,d:"M58 87.5 C58 94 59.5 99 62 104"}),...[[25,52],[75,52],[35,68],[65,68],[60.5,82]].map((([A,e],t)=>RA.createElement("circle",{key:t,className:"visage-face-scan-dot",cx:A,cy:e,r:4===t?1.5:1.8,stroke:"none"})))),RA.createElement("div",{className:"visage-face-scan-beam"})),RA.createElement("span",{className:"visage-loading-label"},"Scanning • face recognition…")):RA.createElement(RA.Fragment,null,RA.createElement("div",{className:"visage-face-tabs"},w.map(((A,e)=>0===L(e)?null:RA.createElement("button",{key:e,className:"visage-face-tab "+(e===Q?"visage-face-tab-active":""),onClick:()=>d(e)},RA.createElement("img",{src:`data:image/jpg;base64,${A.image}`,alt:`Face ${e+1}`,className:"visage-face-tab-image"}))))),RA.createElement("div",{className:"visage-sprite-toolbar",style:{padding:"0.5rem 1.5rem"}},RA.createElement("div",{className:"visage-sprite-threshold"},RA.createElement("span",{className:"visage-threshold-text"},"Min conf."),RA.createElement("input",{type:"range",min:0,max:100,step:5,value:v,onChange:A=>{const e=Number(A.target.value);I(e),localStorage.setItem("visage:minConfidence:match",String(e))},title:`Minimum confidence: ${v}%`}),RA.createElement("span",{className:"visage-sprite-threshold-label"},`${v}%`))),RA.createElement("div",{className:"visage-modal-body"},RA.createElement("div",{className:"visage-left-panel"},N&&RA.createElement(RA.Fragment,null,RA.createElement("div",null,RA.createElement("span",{className:"visage-section-label"},"Detected"),RA.createElement("div",{className:"visage-detect-frame"},RA.createElement("img",{src:`data:image/jpg;base64,${N.image}`,alt:"Detected face",className:"visage-detect-image"}))),N.performers[P]&&RA.createElement(RA.Fragment,null,RA.createElement("div",{className:"visage-vs-divider"},"vs"),RA.createElement("div",null,RA.createElement("span",{className:"visage-section-label-name"},N.performers[P].name),RA.createElement("div",{className:"visage-match-frame"},RA.createElement("img",{src:N.performers[P].image,alt:N.performers[P].name,className:"visage-match-image"})))))),RA.createElement("div",{className:"visage-right-panel"},RA.createElement("div",{className:"visage-performer-grid"},null==N?void 0:N.performers.filter((A=>(A.confidence||0)>=v)).map(((A,e)=>{var t;return RA.createElement(VA,{key:A.id,performer:A,isLoading:u[`add-performer-${A.id}`]||!1,isKeyboardSelected:M&&x===Q&&S===e,isSelected:m.has(A.id)||(null===(t=C.get(Q))||void 0===t?void 0:t.id)===A.id,onToggle:A=>O(Q,A)})}))))),RA.createElement("div",{className:"visage-modal-footer"},RA.createElement("div",{className:"visage-footer-main"},RA.createElement("a",{className:"visage-ext-patreon-btn",href:"https://www.patreon.com/cw/cc12340",target:"_blank",rel:"noopener noreferrer"},RA.createElement("svg",{width:13,height:13,viewBox:"0 0 24 24",fill:"currentColor"},RA.createElement("circle",{cx:15,cy:9,r:7}),RA.createElement("rect",{x:2,y:2,width:4,height:20,rx:1})),"Support on Patreon"),RA.createElement("div",{className:"visage-progress-info"},RA.createElement("span",{className:"visage-matches-assigned"},C.size>0?`${C.size} of ${w.length} selected`:m.size>0?`${w.length} faces found · all in scene`:`${w.length} faces found · click to select`),RA.createElement("div",{className:"visage-keyboard-hints"},RA.createElement("kbd",null,"↑↓")," Switch faces • ",RA.createElement("kbd",null,"←→")," Select performers • ",RA.createElement("kbd",null,"Enter")," Select performer")),RA.createElement("div",{className:"visage-button-group"},w.some((A=>A.performers.some((A=>{var e;return A.confidence>=90&&!m.has(A.id)&&(null===(e=C.get(Q))||void 0===e?void 0:e.id)!==A.id}))))&&RA.createElement("button",{className:"visage-btn visage-btn-secondary",onClick:async function(){for(let A=0;A{var t;return e.confidence>=90&&!m.has(e.id)&&(null===(t=C.get(A))||void 0===t?void 0:t.id)!==e.id})).sort(((A,e)=>e.confidence-A.confidence))[0];e&&O(A,e.id)}}},RA.createElement("svg",{width:16,height:16,viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:2},RA.createElement("path",{d:"M9 11l3 3 8-8"})),"Select Best Matches"),RA.createElement("button",{className:"visage-btn visage-btn-primary",onClick:async function(){const A=Array.from(C.values()).filter((A=>!m.has(A.id)));if(0===A.length)return void T();F(!0);const[e,t]=eA();let r=0;try{for(const{id:n,source:s}of A){const A=`add-performer-${n}`;o(A,!0);try{let A=await G(n),o=n;if(0===A.length){const A=await _(n,s);if(!A)continue;const{performerId:e}=await Z(A,n,s);o=e}else o=A[0].id;await AA(e,t,o),r++}finally{o(A,!1)}}if(0===r){return void l("empty"===H?"No stash-box configured. Add a stash-box provider in Settings → Metadata Providers to enable performer import. See "+J:"mismatch"===H?'No provider named "StashDB" found. Rename your provider to "StashDB" in Settings → Metadata Providers to enable performer import.':"Configure a stash-box provider in Settings → Metadata Providers to enable performer import.")}c(`Added ${r} performer${1!==r?"s":""} to the ${"scenes"===e?"scene":"image"}.`),T()}catch(A){console.warn("[Visage] addConfirmed error:",A),a("Failed to add performers: "+sA(A))}finally{F(!1)}},disabled:0===C.size||U},U?"Adding...":`Done (${C.size})`)))))))}function _A(A){if(!isFinite(A)||A<0)return"-:--";const e=Math.floor(A/60),t=Math.floor(A%60);return`${e.toString().padStart(2,"0")}:${t.toString().padStart(2,"0")}`}const ZA=window.PluginApi.React;const qA=window.PluginApi.React,{useEffect:jA,useMemo:zA,useState:$A,useRef:Ae,useCallback:ee}=qA;const te=window.PluginApi.React,{useEffect:re,useMemo:ne,useState:se,useRef:oe,useCallback:ie}=te;function ae(){const{state:A,showSpriteModal:e,clearSpriteResult:t,setLoading:r,showError:n,showSuccess:s,showWarning:o}=B(),{spriteResult:i,loading:a,scanProgress:c,scanProgressDesc:l}=A,[g,w]=se(!1),[Q,d]=se(new Set),[C,h]=se(!1),[U,F]=se("confidence"),[f,p]=se((()=>{const A=localStorage.getItem("visage:minConfidence:sprite"),e=null===A?NaN:Number(A);return Number.isFinite(e)?e:20})),[m,E]=se(0),H=a["face-detection"]&&null===i,y=oe(!1),{performers:v,maxEndTime:I,performerCache:K,loadingPerformers:b,sceneStashIds:L,stashboxStatus:D}=function(A,e){const[t,r]=$A({}),[n,s]=$A(new Set),[o,i]=$A(new Set),[a,B]=$A(null),c=Ae(!1),l=zA((()=>(null==A?void 0:A.performers)?Object.values(A.performers).sort(((A,e)=>e.confidence-A.confidence)):[]),[A]),g=zA((()=>{var A,e,t;let r=0;for(const n of l){const s=Array.isArray(n.time_ranges)?n.time_ranges:Object.values(null!==(A=n.time_ranges)&&void 0!==A?A:{});for(const A of s){const n=A,s=Number(null!==(t=null!==(e=null==n?void 0:n[1])&&void 0!==e?e:null==n?void 0:n.end)&&void 0!==t?t:0);s>r&&(r=s)}}return r||600}),[l]),u=ee((async(A,e)=>{var t;try{const n=await G(A);if(c.current)return;if(n.length>0)return void r((e=>({...e,[A]:{id:n[0].id,image:`/performer/${n[0].id}/image`}})));const s=await _(A,e);if(c.current)return;(null===(t=null==s?void 0:s.images)||void 0===t?void 0:t[0])?r((e=>({...e,[A]:{id:A,image:s.images[0]}}))):r((e=>({...e,[A]:{id:A,image:null}})))}catch(e){c.current||r((e=>({...e,[A]:{id:A,image:null}})))}finally{c.current||s((e=>{const t=new Set(e);return t.delete(A),t}))}}),[]);return jA((()=>{const[A,e]=eA();return"scenes"===A&&(async()=>{var A,t,r,n;try{const s=window.PluginApi.GQL,o=window.PluginApi.utils.StashService.getClient(),a=await o.query({query:s.FindSceneDocument,variables:{id:e}}),B=new Set;for(const e of null!==(r=null===(t=null===(A=a.data)||void 0===A?void 0:A.findScene)||void 0===t?void 0:t.performers)&&void 0!==r?r:[])for(const A of null!==(n=e.stash_ids)&&void 0!==n?n:[])A.stash_id&&B.add(A.stash_id);c.current||i(B)}catch(A){}})(),(async()=>{try{const A=await Y();c.current||B(A)}catch(A){c.current||B("empty")}})(),()=>{c.current=!0}}),[]),jA((()=>{for(const A of l)A.id in t||n.has(A.id)||(s((e=>new Set(e).add(A.id))),u(A.id,A.source))}),[l,t,n,u]),{performers:l,maxEndTime:g,performerCache:t,loadingPerformers:n,sceneStashIds:o,stashboxStatus:a}}(i);re((()=>(requestAnimationFrame((()=>w(!0))),()=>{y.current=!0})),[]);const x=ne((()=>{var A;let e=Object.values(null!==(A=null==i?void 0:i.performers)&&void 0!==A?A:{});f>0&&(e=e.filter((A=>A.confidence>=f)));const t=[...e];switch(U){case"name":t.sort(((A,e)=>A.name.localeCompare(e.name)));break;case"hits":t.sort(((A,e)=>e.hit_count-A.hit_count));break;default:t.sort(((A,e)=>e.confidence-A.confidence))}return t}),[i,f,U]);function S(A){d((e=>{const t=new Set(e);return t.has(A)?t.delete(A):t.add(A),t}))}function M(A){var e;return null===(e=v.find((e=>e.id===A)))||void 0===e?void 0:e.source}function T(){w(!1),setTimeout((()=>{t(),e(!1)}),300)}re((()=>{if(!g)return;const A=x.length;if(A)return document.addEventListener("keydown",e),()=>document.removeEventListener("keydown",e);function e(e){var t;if("ArrowRight"===e.key||"ArrowDown"===e.key)e.preventDefault(),E((e=>(e+1)%A));else if("ArrowLeft"===e.key||"ArrowUp"===e.key)e.preventDefault(),E((e=>(e-1+A)%A));else if(" "===e.key||"Enter"===e.key){if("INPUT"===(null===(t=e.target)||void 0===t?void 0:t.tagName))return;e.preventDefault();const A=x[m];A&&S(A.id)}}}),[g,x,m]);const O=OA(T,!0);return te.createElement("div",{className:"visage-modal-backdrop "+(g?"visage-visible":""),onClick:A=>{A.target===A.currentTarget&&T()}},te.createElement("div",{ref:O,className:"visage-modal visage-sprite-modal "+(g?"visage-visible":""),role:"dialog","aria-modal":"true"},te.createElement("div",{className:"visage-modal-header"},te.createElement("div",{className:"visage-modal-title"},te.createElement("h2",null,"SCENE PERFORMERS"),!H&&te.createElement("span",{className:"visage-match-count"},`${v.length} found · ${Q.size} confirmed`)),te.createElement("div",{style:{display:"flex",alignItems:"center",gap:"8px"}},te.createElement("button",{className:"visage-modal-close",onClick:T,"aria-label":"Close"},te.createElement("svg",{width:20,height:20,viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:2},te.createElement("line",{x1:18,y1:6,x2:6,y2:18}),te.createElement("line",{x1:6,y1:6,x2:18,y2:18})))),!H&&te.createElement("div",{className:"visage-sprite-toolbar"},te.createElement("div",{className:"visage-sprite-sort"},["confidence","name","hits"].map((A=>te.createElement("button",{key:A,className:"visage-sprite-sort-btn"+(U===A?" visage-active":""),onClick:()=>{F(A),E(0)}},A.charAt(0).toUpperCase()+A.slice(1))))),te.createElement("div",{className:"visage-sprite-threshold"},te.createElement("span",{className:"visage-threshold-text"},"Min conf."),te.createElement("input",{type:"range",min:0,max:100,step:5,value:f,onChange:A=>{const e=Number(A.target.value);p(e),localStorage.setItem("visage:minConfidence:sprite",String(e))},title:`Minimum confidence: ${f}%`}),te.createElement("span",{className:"visage-sprite-threshold-label"},`${f}%`)))),null!==D&&"configured"!==D&&te.createElement("div",{className:"visage-stashbox-banner"},te.createElement("svg",{width:16,height:16,viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:2},te.createElement("path",{d:"M10.29 3.86L1.82 18a2 2 0 0 0 1.71 3h16.94a2 2 0 0 0 1.71-3L13.71 3.86a2 2 0 0 0-3.42 0z"}),te.createElement("line",{x1:12,y1:9,x2:12,y2:13}),te.createElement("line",{x1:12,y1:17,x2:12.01,y2:17})),te.createElement("span",{className:"visage-stashbox-banner-text"},te.createElement("strong",null,"empty"===D?"No stash-box configured.":'No "StashDB" provider found.'),"empty"===D?" Add a stash-box provider in Settings → Metadata Providers to enable performer import. ":' Performer import requires a provider named "StashDB". Rename your provider in Settings → Metadata Providers. ',te.createElement("a",{href:J,target:"_blank",rel:"noopener noreferrer"},"Learn more."))),H?te.createElement("div",{className:"visage-modal-loading"},te.createElement("div",{className:"visage-conveyor"},te.createElement("div",{className:"visage-conveyor-track"},Array.from({length:14},((A,e)=>te.createElement("div",{key:e,className:"visage-conveyor-frame"})))),te.createElement("div",{className:"visage-conveyor-beam"}),te.createElement("div",{className:"visage-conveyor-rail"})),(c>0||l)&&te.createElement("div",{className:"visage-scan-progress"},te.createElement("div",{className:"visage-scan-progress-bar"},te.createElement("div",{className:"visage-scan-progress-fill",style:{width:`${Math.round(100*c)}%`}}))),te.createElement("span",{className:"visage-loading-label"},l||"Visage Scanning…"),te.createElement("button",{className:"visage-btn visage-btn-secondary",onClick:()=>{u=!0,r("face-detection",!1),T()},style:{marginTop:12}},"Cancel")):te.createElement(te.Fragment,null,te.createElement("div",{className:"visage-sprite-body"},0===v.length?te.createElement("div",{className:"visage-sprite-empty"},te.createElement("p",null,"No performers identified in this sprite.")):te.createElement("div",{className:"visage-sprite-grid"},x.map(((A,r)=>{const n=L.has(A.id),s=Q.has(A.id)||n,o=r===m,i=K[A.id],a=null==i?void 0:i.image,B=b.has(A.id),c=(l=A.confidence)>=90?"visage-confidence-excellent":l>=70?"visage-confidence-good":"visage-confidence-uncertain";var l;const g=(u=A.time_ranges,[...Array.isArray(u)?u:Object.values(null!=u?u:{})].sort(((A,e)=>{var t,r,n,s;return Number(null!==(r=null!==(t=null==A?void 0:A[0])&&void 0!==t?t:null==A?void 0:A.start)&&void 0!==r?r:0)-Number(null!==(s=null!==(n=null==e?void 0:e[0])&&void 0!==n?n:null==e?void 0:e.start)&&void 0!==s?s:0)})));var u;const d=function(A){return(Array.isArray(A)?A:Object.values(null!=A?A:{})).map((A=>{var e,t,r,n,s,o;return{left:Number(null!==(t=null!==(e=null==A?void 0:A[0])&&void 0!==e?e:null==A?void 0:A.start)&&void 0!==t?t:0)/I*100,width:Math.max((Number(null!==(n=null!==(r=null==A?void 0:A[1])&&void 0!==r?r:null==A?void 0:A.end)&&void 0!==n?n:0)-Number(null!==(o=null!==(s=null==A?void 0:A[0])&&void 0!==s?s:null==A?void 0:A.start)&&void 0!==o?o:0))/I*100,.3)}}))}(g),h=["visage-sprite-card",s?"visage-sprite-confirmed":"",o?"visage-sprite-focused":"",C?"visage-sprite-disabled":""].filter(Boolean).join(" ");return te.createElement("div",{key:A.id,className:h,onClick:()=>S(A.id),role:"button",tabIndex:0,"aria-pressed":s},te.createElement("div",{className:"visage-sprite-compare"},te.createElement("div",{className:"visage-sprite-face"},te.createElement("img",{src:`data:image/jpeg;base64,${A.thumbnail}`,alt:"Detected face",className:"visage-sprite-face-img"}),te.createElement("span",{className:"visage-sprite-label"},"SPRITE")),te.createElement("div",{className:"visage-sprite-vs"},te.createElement("span",null,"vs")),te.createElement("div",{className:"visage-sprite-performer-img"},te.createElement("div",{className:"visage-sprite-img-placeholder"},te.createElement("svg",{width:24,height:24,viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:2},te.createElement("path",{d:"M20 21v-2a4 4 0 0 0-4-4H8a4 4 0 0 0-4 4v2"}),te.createElement("circle",{cx:12,cy:7,r:4}))),B&&te.createElement("div",{className:"visage-sprite-img-loading"}),a&&te.createElement("img",{src:a,alt:A.name,className:"visage-sprite-performer-img-src",onError:A=>{A.target.remove()}}),te.createElement("span",{className:"visage-sprite-label"},"STASH")),n&&te.createElement("div",{className:"visage-sprite-in-scene"},"In scene"),s&&!n&&te.createElement("div",{className:"visage-sprite-check-badge"},te.createElement("svg",{width:18,height:18,viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:3},te.createElement("polyline",{points:"20 6 9 17 4 12"})))),te.createElement("div",{className:"visage-sprite-info"},te.createElement("div",{className:"visage-sprite-summary"},function({confidence:A,confClass:e}){const t=46,r=2*Math.PI*21,n=r*(1-A/100);return ZA.createElement("div",{className:"visage-sprite-ring"},ZA.createElement("svg",{width:t,height:t,viewBox:"0 0 46 46"},ZA.createElement("circle",{cx:23,cy:23,r:21,fill:"none",stroke:"rgba(255,255,255,0.08)",strokeWidth:4}),ZA.createElement("circle",{className:`visage-sprite-ring-fill ${e}`,cx:23,cy:23,r:21,fill:"none",strokeWidth:4,strokeDasharray:r,strokeDashoffset:n,strokeLinecap:"round",transform:"rotate(-90 23 23)"})),ZA.createElement("span",{className:"visage-sprite-ring-label"},`${A}%`))}({confidence:A.confidence,confClass:c}),te.createElement("div",{className:"visage-sprite-summary-text"},te.createElement("a",{href:A.performer_url,target:"_blank",rel:"noopener noreferrer",className:"visage-sprite-performer-link",onClick:A=>A.stopPropagation()},A.name),te.createElement("div",{className:"visage-sprite-stats-row"},te.createElement("span",{className:"visage-sprite-stat"},`${A.hit_count} hit${1!==A.hit_count?"s":""}`),te.createElement("span",{className:"visage-sprite-stat-sep"},"·"),te.createElement("span",{className:"visage-sprite-stat"},`${_A(g.reduce(((A,e)=>{var t,r,n,s;return A+(Number(null!==(r=null!==(t=null==e?void 0:e[1])&&void 0!==t?t:null==e?void 0:e.end)&&void 0!==r?r:0)-Number(null!==(s=null!==(n=null==e?void 0:e[0])&&void 0!==n?n:null==e?void 0:e.start)&&void 0!==s?s:0))}),0))} total`)))),te.createElement("div",{className:"visage-sprite-timeline-wrap"},te.createElement("div",{className:"visage-sprite-timeline"},d.map(((A,r)=>{var n,s,o,i;const a=g[r],B=Number(null!==(s=null!==(n=null==a?void 0:a[0])&&void 0!==n?n:null==a?void 0:a.start)&&void 0!==s?s:0),l=Number(null!==(i=null!==(o=null==a?void 0:a[1])&&void 0!==o?o:null==a?void 0:a.end)&&void 0!==i?i:0);return te.createElement("div",{key:r,className:`visage-sprite-timeline-seg ${c}`,style:{left:`${A.left}%`,width:`${A.width}%`},onClick:A=>{A.stopPropagation(),function(A){const[r,n]=eA();"scenes"===r&&(w(!1),setTimeout((()=>{t(),e(!1),window.location.href=`${window.location.pathname}?t=${Math.floor(A)}`}),300))}(B)},title:`${_A(B)}–${_A(l)}`})}))),te.createElement("div",{className:"visage-sprite-timeline-labels"},te.createElement("span",null,"00:00"),te.createElement("span",null,_A(I)))),n&&te.createElement("div",{className:"visage-sprite-hint visage-sprite-hint-done"},te.createElement("span",null,"Already in scene")),!s&&!n&&te.createElement("div",{className:"visage-sprite-hint"},te.createElement("span",null,"Click to confirm")),s&&!n&&te.createElement("div",{className:"visage-sprite-hint visage-sprite-hint-done"},te.createElement("span",null,"Confirmed"))))})))),te.createElement("div",{className:"visage-modal-footer"},te.createElement("div",{className:"visage-footer-main"},te.createElement("a",{className:"visage-ext-patreon-btn",href:"https://www.patreon.com/cw/cc12340",target:"_blank",rel:"noopener noreferrer"},te.createElement("svg",{width:13,height:13,viewBox:"0 0 24 24",fill:"currentColor"},te.createElement("circle",{cx:15,cy:9,r:7}),te.createElement("rect",{x:2,y:2,width:4,height:20,rx:1})),"Support on Patreon"),te.createElement("div",{className:"visage-progress-info"},Q.size>0?te.createElement("span",{className:"visage-matches-assigned"},`${Q.size} of ${v.length} confirmed`):te.createElement("span",{className:"visage-matches-assigned"},x.length!L.has(A)));if(0===t.length)return void T();let i=0;try{for(const n of t){const t=`sprite-add-${n}`;r(t,!0);try{let t=K[n],r=null==t?void 0:t.id;if(!r||r===n)if((null==t?void 0:t.image)&&t.id!==n)r=t.id;else{const A=await G(n);if(A.length>0)r=A[0].id;else{const A=M(n),e=await _(n,A);if(!e)continue;const{performerId:t}=await Z(e,n,A);r=t}}await AA(A,e,r),i++}finally{r(t,!1)}}if(0===i){return void o("empty"===D?"No stash-box configured. Add a stash-box provider in Settings → Metadata Providers to enable performer import. See "+J:"mismatch"===D?'No provider named "StashDB" found. Rename your provider to "StashDB" in Settings → Metadata Providers to enable performer import.':"Configure a stash-box provider in Settings → Metadata Providers to enable performer import.")}s(`Added ${i} performer${1!==i?"s":""} to the ${"scenes"===A?"scene":"image"}.`),T()}catch(A){console.error("[Visage] add performers error:",A),n("Failed to add performers: "+sA(A))}finally{h(!1)}},disabled:0===Q.size||C},C?"Adding...":`Done (${Q.size})`)))))))}const Be=window.PluginApi.React,{useEffect:ce,useRef:le}=Be,ge={error:"M12 2C6.48 2 2 6.48 2 12s4.48 10 10 10 10-4.48 10-10S17.52 2 12 2zm1 15h-2v-2h2v2zm0-4h-2V7h2v6z",warning:"M1 21h22L12 2 1 21zm12-3h-2v-2h2v2zm0-4h-2V8h2v6z",success:"M12 2C6.48 2 2 6.48 2 12s4.48 10 10 10 10-4.48 10-10S17.52 2 12 2zm-2 15l-5-5 1.41-1.41L10 14.17l7.59-7.59L19 8l-9 9z"};function ue(){const{state:A,hideErrorDialog:e}=B(),t=le(null),r=le(null);if(ce((()=>{var n;if(A.errorDialog)return r.current&&clearTimeout(r.current),r.current=setTimeout(e,1e4),null===(n=t.current)||void 0===n||n.focus(),()=>{r.current&&clearTimeout(r.current)}}),[A.errorDialog]),ce((()=>{if(A.errorDialog)return document.addEventListener("keydown",t,!0),()=>document.removeEventListener("keydown",t,!0);function t(A){"Escape"!==A.key&&"Enter"!==A.key||(A.preventDefault(),A.stopPropagation(),e())}}),[A.errorDialog,e]),!A.errorDialog)return null;const{message:n,variant:s}=A.errorDialog;return Be.createElement("div",{className:"visage-error-backdrop",onClick:A=>{A.target===A.currentTarget&&e()}},Be.createElement("div",{ref:t,className:`visage-error-dialog visage-error-${s}`,role:"alertdialog","aria-modal":"true",tabIndex:-1},Be.createElement("div",{className:"visage-error-icon"},Be.createElement("svg",{width:22,height:22,viewBox:"0 0 24 24",fill:"currentColor"},Be.createElement("path",{d:ge[s]}))),Be.createElement("div",{className:"visage-error-message"},n),Be.createElement("button",{className:"visage-error-close",onClick:e,"aria-label":"Dismiss"},Be.createElement("svg",{width:16,height:16,viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:2},Be.createElement("line",{x1:18,y1:6,x2:6,y2:18}),Be.createElement("line",{x1:6,y1:6,x2:18,y2:18}))),Be.createElement("div",{className:"visage-error-timer"})))}function we(A){const e=/^#?([a-f\d]{2})([a-f\d]{2})([a-f\d]{2})$/i.exec(A);return e?`${parseInt(e[1],16)}, ${parseInt(e[2],16)}, ${parseInt(e[3],16)}`:"89, 145, 246"}const{React:Qe,ReactDOM:de}=PluginApi;function Ce(A){const[e,t]=Qe.useState(null);return Qe.useEffect((()=>{function A(){for(const A of document.querySelectorAll(".dropdown-menu")){if(!rA(A))continue;if(A.querySelector(".visage-menu-root"))continue;const e=nA(A);return e.className="visage-menu-root",t(e),!0}return!1}if(A())return;const e=setInterval((()=>{A()&&(clearInterval(e),r.disconnect())}),300),r=new MutationObserver((()=>{A()&&(clearInterval(e),r.disconnect())}));return r.observe(document.body,{childList:!0,subtree:!0}),()=>{clearInterval(e),r.disconnect()}}),[]),e?de.createPortal(A(e),e):null}function he(){return Ce((A=>Qe.createElement(Qe.Fragment,null,Qe.createElement(fA,{menuItem:!0}),Qe.createElement(KA,{menuItem:!0}))))}function Ue(){return Ce((A=>Qe.createElement(fA,{menuItem:!0})))}function Fe(){const{state:A}=B();return de.createPortal(Qe.createElement(Qe.Fragment,null,A.showMatchModal&&Qe.createElement(YA,null),A.showSpriteModal&&Qe.createElement(ae,null),Qe.createElement(ue,null)),document.body)}function fe(){return Qe.useEffect((()=>{function A(){if(getComputedStyle(document.documentElement).getPropertyValue("--color-dim").trim()){const A=function(){const A=getComputedStyle(document.documentElement).getPropertyValue("--accent").trim()||"#5991f6";return{"--visage-accent":A,"--visage-accent-rgb":we(A),"--visage-border":"#3a3a4a"}}();for(const[e,t]of Object.entries(A))document.documentElement.style.setProperty(e,t);return!0}return!1}const e=setTimeout(A,200),t=setInterval((()=>{A()&&clearInterval(t)}),600),r=setTimeout((()=>clearInterval(t)),15e3);return()=>{clearTimeout(e),clearInterval(t),clearTimeout(r)}}),[]),null}function pe({scenarioId:A}){return Qe.createElement(a,{scenario:"images",scenarioId:A},Qe.createElement(fe,null),Qe.createElement(Ue,null),Qe.createElement(Fe,null))}let me=null;function Ee(A){me&&(de.unmountComponentAtNode(me),me.remove()),me=document.createElement("div"),me.id="visage-image-root",me.style.display="contents",document.body.appendChild(me),de.render(Qe.createElement(pe,{scenarioId:A}),me)}PluginApi.patch.after("ScenePage",((A,e,t)=>{const r=function(A){var e,t;if(null==A?void 0:A.id)return String(A.id);if(null===(t=null===(e=null==A?void 0:A.match)||void 0===e?void 0:e.params)||void 0===t?void 0:t.id)return A.match.params.id;const r=window.location.pathname.match(/\/(scenes|images)\/(\d+)/);return r?r[2]:null}(A);return r?Qe.createElement(a,{scenario:"scenes",scenarioId:r},Qe.createElement(fe,null),t,Qe.createElement(he,null),Qe.createElement(Fe,null)):t})),PluginApi.Event.addEventListener("stash:page:image",(A=>{var e,t,r;const n=((null===(r=null===(t=null===(e=A.detail)||void 0===e?void 0:e.data)||void 0===t?void 0:t.location)||void 0===r?void 0:r.pathname)||"").match(/\/images\/(\d+)/);n&&requestAnimationFrame((()=>Ee(n[1])))})),PluginApi.Event.addEventListener("stash:location",(A=>{var e,t,r;const n=((null===(r=null===(t=null===(e=A.detail)||void 0===e?void 0:e.data)||void 0===t?void 0:t.location)||void 0===r?void 0:r.pathname)||"").match(/\/images\/(\d+)/);n?requestAnimationFrame((()=>Ee(n[1]))):me&&(de.unmountComponentAtNode(me),me.remove(),me=null)}));const He=window.location.pathname.match(/\/images\/(\d+)/);He&&requestAnimationFrame((()=>Ee(He[1])))}(); diff --git a/plugins/visage/visage.yml b/plugins/visage/visage.yml index 6031a865..d4a1cf05 100644 --- a/plugins/visage/visage.yml +++ b/plugins/visage/visage.yml @@ -1,6 +1,6 @@ name: Visage description: Use facial recognition to lookup performers from scene sprites -version: 2.2.0 +version: 2.3.0 url: https://discourse.stashapp.cc/t/visage/11785 ui: javascript: