mockforme 8.1.0 → 9.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1 +1,2 @@
1
- !function(e,t){"object"==typeof exports&&"object"==typeof module?module.exports=t():"function"==typeof define&&define.amd?define([],t):"object"==typeof exports?exports.mockforme=t():e.mockforme=t()}(this,(()=>(()=>{"use strict";var e={133:(e,t,n)=>{n.r(t),n.d(t,{default:()=>Y}),function(){try{if("undefined"!=typeof document){var e=document.createElement("style");e.appendChild(document.createTextNode('.mfm-token-form{padding:24px;text-align:center;max-width:400px;margin:0 auto;width:100%;box-sizing:border-box}.mfm-token-link-container{margin-top:15px;font-size:.8rem}.mfm-token-link-container a{color:var(--mfm-primary)}.mfm-token-container{display:flex;flex-direction:column;align-items:center;padding:16px}.mfm-token-header{position:absolute;right:0;top:0}.mfm-token-logo{margin-bottom:16px;height:30px}.mfm-token-title{margin:0 0 8px;font-size:1.25rem;font-weight:600;color:var(--mfm-text)}.mfm-token-desc{color:var(--mfm-text-dim);font-size:.9rem;margin-bottom:24px;line-height:1.5}.mfm-token-input{text-align:center;height:44px;font-size:1rem;width:100%;border:1px solid var(--mfm-border);border-radius:6px;background:var(--mfm-input-bg);color:var(--mfm-text);padding:0 12px;outline:none;transition:all .2s}.mfm-token-input:focus{border-color:var(--mfm-primary);box-shadow:0 0 0 2px #3b82f633}.mfm-token-error{color:var(--mfm-error);font-size:.8rem;margin-top:8px;display:none;min-height:20px}.mfm-token-submit{margin-top:16px;width:100%;height:44px;background:var(--mfm-primary);color:#fff;border:none;border-radius:6px;font-size:.95rem;font-weight:500;cursor:pointer;transition:all .2s;display:flex;align-items:center;justify-content:center}.mfm-token-submit:hover{background:var(--mfm-primary-hover)}.mfm-token-submit:disabled{opacity:.7;cursor:not-allowed}.json-viewer{font-family:Consolas,Monaco,monospace;font-size:13px;line-height:1.6;padding:12px;border-radius:6px;overflow:auto}.json-viewer-light{background:#fff;color:#1f1f1f}.json-viewer-dark{background:#1e1e1e;color:#d4d4d4}.json-node{position:relative;padding-left:18px;white-space:nowrap;-webkit-user-select:text;user-select:text}.json-children{margin-left:18px;padding-left:8px;border-left:1px dotted rgba(128,128,128,.25)}.json-toggle{position:absolute;left:0;cursor:pointer;-webkit-user-select:none;user-select:none;width:14px;height:14px;display:flex;align-items:center;justify-content:center;color:#888;font-weight:700;font-size:14px;border:1px solid rgba(128,128,128,.3);border-radius:2px;line-height:1;background:#8080800d;top:4px}.json-toggle:hover{color:#007acc;border-color:#007acc;background:#007acc0d}.json-bracket,.json-closing-bracket{display:inline-block}.json-closing-bracket{margin-left:18px}.json-key{color:#922}.json-viewer-dark .json-key{color:#9cdcfe}.json-value.string{color:#0b7500}.json-value.number{color:#1a01cc}.json-value.boolean{color:#aa0d91}.json-value.null{color:#777}.json-viewer-dark .json-value.string{color:#ce9178}.json-viewer-dark .json-value.number{color:#b5cea8}.json-viewer-dark .json-value.boolean{color:#569cd6}.json-viewer-dark .json-value.null{color:gray}.json-node:hover{background:#0000000a;border-radius:4px}.json-viewer-dark .json-node:hover{background:#ffffff0f}.json-match{background-color:#ffff0059;border-radius:3px}.json-toolbar{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:12px;padding-bottom:8px;border-bottom:1px solid rgba(128,128,128,.15)}.json-toolbar-group,.json-search-group{display:flex;align-items:center;gap:4px}.json-toolbar .json-toolbar-group button{height:20px;width:20px}.json-toolbar button{display:flex;align-items:center;justify-content:center;width:28px;height:28px;padding:0;border-radius:4px;border:1px solid var(--mfm-primary);cursor:pointer;background:var(--mfm-bg);color:#555;transition:all .2s}.json-toolbar button:hover{background:#eee;border-color:#ccc;color:#000}.json-viewer-dark .json-toolbar button{background:#333;color:#bbb;border:1px solid #444}.json-viewer-dark .json-toolbar button:hover{background:#444;border-color:#555;color:#fff}.json-search-group{flex:1;max-width:200px}.json-toolbar input{flex:1;font-size:12px;height:28px;padding:0 8px;border-radius:4px;border:1px solid var(--mfm-primary);outline:none}.json-viewer-dark .json-toolbar input{background:#252525;color:#ddd;border:1px solid #444}.json-viewer::-webkit-scrollbar{width:8px;height:8px}.json-viewer::-webkit-scrollbar-thumb{background:#80808066;border-radius:4px}.json-viewer::-webkit-scrollbar-thumb:hover{background:#80808099}.json-viewer-fullscreen{position:fixed!important;top:0!important;left:1%!important;width:98%;height:100vh!important;z-index:1000000!important;display:flex!important;flex-direction:column!important;box-sizing:border-box!important;max-height:99%!important}body.json-viewer-body-fullscreen{overflow:hidden!important;height:100vh!important}.json-viewer-fullscreen .json-tree-container{flex:1!important;overflow:auto!important;max-height:500px!important}.json-viewer.json-is-searching .json-node{display:none!important}.json-viewer.json-is-searching .json-node.json-item-visible{display:block!important}.json-tree-container{overflow:auto;max-height:315px}pre{user-select:text;-webkit-user-select:text;-moz-user-select:text;-ms-user-select:text}.mfm-status.rule{color:var(--mfm-info)}.mfm-mod-pill{font-size:.7rem;color:var(--mfm-primary);background:#3b82f61a;padding:2px 6px;border-radius:10px;font-weight:500}.mfm-rule-info .mfm-rule-action{font-weight:700;color:var(--mfm-primary)}.mfm-rule-info .mfm-rule-value{color:var(--mfm-value)}.mfm-mapping-list-activity{padding:0;max-height:468px;overflow-y:scroll}.mfm-mapping-list-activity .mfm-spinner{display:flex;justify-content:center;margin:10px auto}.mfm-mapping-list-activity .mfm-request-item{padding:16px}.mfm-empty{padding:32px;text-align:center;color:var(--mfm-text-dim);font-size:.9rem}.mfm-spinner{width:24px;height:24px;border:2px solid var(--mfm-border);border-top-color:var(--mfm-primary);border-radius:50%;animation:mfm-spin .8s linear infinite}@keyframes mfm-spin{to{transform:rotate(360deg)}}.mfm-rule-info{font-size:.7rem;color:var(--mfm-text-dim);margin-top:4px;padding-left:4px}.mfm-mocked-apis-activity{padding:0;height:468px;overflow-y:scroll}.mfm-other-apis-activity{padding:0;max-height:468px}.mfm-request-item{display:flex;flex-direction:column;padding:12px 16px;border-bottom:1px solid var(--mfm-border);cursor:pointer;background:var(--mfm-bg);transition:background-color .2s ease}.mfm-request-item:hover{background:var(--mfm-hover)}.mfm-request-item.active{background:var(--mfm-active-bg)}.mfm-request-header{display:flex;justify-content:space-between;align-items:center}.mfm-flex-row{display:flex;align-items:center;gap:8px}.mfm-method{font-size:.75rem;font-weight:700;min-width:40px}.mfm-status{font-size:.8rem;margin-left:8px}.mfm-status.success{color:var(--mfm-success)}.mfm-status.error{color:var(--mfm-error)}.mfm-status.pending{color:var(--mfm-text-dim)}.mfm-url{font-size:.85rem;color:var(--mfm-text);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;line-height:1.4}.mfm-dropdown{position:relative;display:inline-block}.mfm-dropdown-content{display:none;position:absolute;right:0;top:100%;background-color:var(--mfm-bg);min-width:160px;box-shadow:0 4px 12px #00000026;z-index:1000;border:1px solid var(--mfm-border);border-radius:6px;overflow:hidden;margin-top:4px}.mfm-dropdown-content button{color:var(--mfm-text);padding:10px 16px;text-decoration:none;display:block;width:100%;text-align:left;background:none;border:none;cursor:pointer;font-size:.85rem;transition:background .1s}.mfm-dropdown-content button:hover{background-color:var(--mfm-hover)}.mfm-btn-icon{background:none;border:none;padding:4px;cursor:pointer;color:var(--mfm-text-dim);border-radius:4px;display:flex;align-items:center;justify-content:center}.mfm-btn-icon:hover{background:var(--mfm-hover);color:var(--mfm-text)}:root{--mfm-primary: #2563eb;--mfm-primary-hover: #1d4ed8;--mfm-bg: #ffffff;--mfm-surface: #f8fafc;--mfm-surface-bright: #f1f5f9;--mfm-text: #0f172a;--mfm-text-dim: #64748b;--mfm-border: #e2e8f0;--mfm-success: #10b981;--mfm-error: #ef4444;--mfm-warning: #f59e0b;--mfm-radius: 8px;--mfm-shadow: 0 1px 3px 0 rgb(0 0 0 / .1), 0 1px 2px -1px rgb(0 0 0 / .1);--mfm-shadow-lg: 0 10px 15px -3px rgb(0 0 0 / .1), 0 4px 6px 1px rgb(0 0 0 / .1);--mfm-transition: all .15s ease-in-out;--mfm-value: #9b2418}#mfm-root{all:initial;display:block;position:fixed;bottom:24px;right:24px;z-index:2147483647;font-family:Inter,-apple-system,system-ui,sans-serif;color:var(--mfm-text);-webkit-user-select:none;user-select:none;box-sizing:border-box;font-size:12px}#mfm-root svg{fill:transparent}#mfm-root *{box-sizing:border-box;font-family:inherit;font-size:inherit}.mfm-widget-toggle{display:flex;align-items:center;background:#fff;padding:6px;border-radius:9999px;box-shadow:var(--mfm-shadow-lg);border:1px solid var(--mfm-border);gap:2px;cursor:pointer;transition:var(--mfm-transition)}.mfm-widget-toggle.hidden{display:none!important}.mfm-toggle-section{padding:6px;border-radius:50%;display:flex;align-items:center;justify-content:center;transition:var(--mfm-transition)}.mfm-toggle-section:hover{background:var(--mfm-surface-bright)}.mfm-toggle-logo img{width:32px;height:32px}.mfm-toggle-divider{width:1px;height:24px;background:var(--mfm-border);margin:0 4px}.mfm-main-container{position:fixed;bottom:24px;right:24px;width:370px;height:650px;background:var(--mfm-bg);border:1px solid var(--mfm-border);border-radius:var(--mfm-radius);box-shadow:var(--mfm-shadow-lg);display:flex;flex-direction:column;overflow:hidden;transition:var(--mfm-transition);transform-origin:bottom right}.mfm-main-container.hidden{opacity:0;transform:scale(.95) translateY(20px);pointer-events:none}.mfm-header{padding:12px 16px;margin-bottom:5px;background:#fff;display:flex;align-items:center;justify-content:space-between}.mfm-logo img{height:25px;width:auto}.mfm-tabs-container{flex:1;display:flex;flex-direction:column;overflow:hidden}.mfm-tabs-nav{display:flex;padding:0 16px;background:#fff;border-bottom:1px solid var(--mfm-border);gap:4px}.mfm-tab-btn{padding:10px 16px;background:transparent;border:1px solid transparent;border-bottom:none;color:var(--mfm-text-dim);cursor:pointer;font-size:15px!important;font-weight:500;margin-bottom:-1px;border-top-left-radius:4px;border-top-right-radius:4px;transition:var(--mfm-transition)}.mfm-tab-btn:hover{color:var(--mfm-text);background:var(--mfm-surface)}.mfm-tab-btn.active{color:var(--mfm-primary);background:#fff;border-color:var(--mfm-border);border-bottom:1px solid white;font-weight:700}.mfm-tab-toolbar{padding:12px 16px;border-bottom:1px solid var(--mfm-border);display:flex;flex-direction:column;gap:8px}.mfm-toolbar-row{display:flex;gap:8px;align-items:center}.mfm-input{height:36px;width:100%;padding:0 12px;border:1px solid var(--mfm-border);border-radius:6px;font-size:.875rem;outline:none}.mfm-input:focus{border-color:var(--mfm-primary);box-shadow:0 0 0 2px #2563eb1a}.mfm-btn-outline,.mfm-btn-icon{height:26px;padding:0 12px;background:transparent!important;border:none!important;border-radius:6px;font-size:.875rem;font-weight:500;cursor:pointer;color:var(--mfm-text-dim);transition:var(--mfm-transition);display:flex;align-items:center;justify-content:center}.back-btn{padding:0}.mfm-btn-outline:hover,.mfm-btn-icon:hover{background:var(--mfm-surface-bright)!important;color:var(--mfm-text)}.mfm-preserve-logs{display:flex;align-items:center;gap:1px;font-size:.75rem;color:var(--mfm-text-dim);cursor:pointer}.mfm-preserve-logs input{-webkit-appearance:auto;-moz-appearance:auto;appearance:auto}.mfm-tab-content{flex:1;background:#fff;height:468px;overflow-y:scroll}.mfm-list{display:flex;flex-direction:column;max-height:460px;overflow-y:scroll}.mfm-empty{padding:60px 20px;text-align:center;color:var(--mfm-text-dim);font-size:.875rem}.mfm-request-item{padding:6px 16px;border-bottom:1px solid var(--mfm-border);cursor:pointer;transition:var(--mfm-transition)}.mfm-request-item.active{background:#eff6ff;border-left:3px solid var(--mfm-primary)}.mfm-request-item:hover{background:var(--mfm-surface)}.mfm-request-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:4px}.mfm-method{font-size:.7rem;font-weight:700;padding:2px 6px;border-radius:4px;text-transform:uppercase}.mfm-method.get{color:#2563eb;background:#eff6ff}.mfm-method.post{color:#16a34a;background:#f0fdf4}.mfm-method.put{color:#d97706;background:#fffbeb}.mfm-method.delete{color:#dc2626;background:#fef2f2}.mfm-method.rule{color:#7c3aed;background:#f5f3ff}.mfm-status{font-size:.75rem;font-weight:600}.mfm-status.rule{color:#8b5cf6;background:#8b5cf61a}.mfm-status.success{color:#16a34a}.mfm-status.error{color:#dc2626}.mfm-status.pending{color:#64748b}.mfm-url{font-size:.8125rem;color:var(--mfm-text);white-space:nowrap;overflow-x:scroll;width:290px;max-width:290px;scrollbar-width:thin}.mfm-url .mfm-rule-condition{display:inline-block;margin-right:4px;border-radius:20px;font-size:inherit;background:#eee;padding:2px 5px}.mfm-url .mfm-rule-condition .mfm-rule-condition-type{font-weight:600;color:var(--mfm-primary)}.mfm-url .mfm-rule-condition .mfm-rule-condition-operator{font-weight:600;border-bottom:1px solid var(--mfm-primary);text-transform:capitalize}.mfm-url .mfm-rule-condition .mfm-rule-condition-key-value{color:var(--mfm-value)}.mfm-rule-list .mfm-url{white-space:auto!important;overflow-x:scroll!important;text-overflow:inherit!important;scrollbar-width:thin}.mfm-bottomsheet{position:absolute;top:60px;left:0;right:0;bottom:0;background:#fff;z-index:1100;display:flex;flex-direction:column;transform:translate(100%);transition:transform .25s ease-in-out}.mfm-bottomsheet.active{transform:translate(0)}.mfm-bottomsheet-header{padding:12px 16px;border-bottom:1px solid var(--mfm-border);display:flex;align-items:center;gap:5px}.mfm-bottomsheet-content{flex:1;overflow-y:auto;padding:16px;display:flex;flex-direction:column}.mfm-detail-tabs{display:flex;border-bottom:1px solid var(--mfm-border);margin:16px -16px;padding:0 16px;gap:8px}.mfm-detail-tab-btn{padding:8px 12px;background:transparent;border:none;border-bottom:2px solid transparent;color:var(--mfm-text-dim);font-size:.8rem;font-weight:600;cursor:pointer;transition:var(--mfm-transition)}.mfm-detail-tab-btn:hover{color:var(--mfm-text)}.mfm-detail-tab-btn.active{color:var(--mfm-primary);border-bottom-color:var(--mfm-primary)}.mfm-detail-body{flex:1}.mfm-tab-content::-webkit-scrollbar,.mfm-bottomsheet-content::-webkit-scrollbar{width:8px}.mfm-tab-content::-webkit-scrollbar-track,.mfm-bottomsheet-content::-webkit-scrollbar-track{background:transparent}.mfm-tab-content::-webkit-scrollbar-thumb,.mfm-bottomsheet-content::-webkit-scrollbar-thumb{background:#cbd5e1;border-radius:4px;border:2px solid white}.mfm-tab-content::-webkit-scrollbar-thumb:hover,.mfm-bottomsheet-content::-webkit-scrollbar-thumb:hover{background:#94a3b8}.mfm-detail-section{margin-bottom:24px}.mfm-detail-title{font-size:.75rem;font-weight:600;text-transform:uppercase;color:var(--mfm-text-dim);margin-bottom:8px;display:flex;justify-content:space-between}.mfm-detail-content{background:var(--mfm-bg);padding:12px;border-radius:6px;font-family:JetBrains Mono,Menlo,monospace;font-size:.8rem;border:1px solid var(--mfm-primary);word-break:break-all;max-height:500px;overflow-y:auto}.mfm-copy-btn{background:var(--mfm-primary);border:none;color:#fff;padding:4px 8px;border-radius:4px;font-size:.7rem;cursor:pointer;font-weight:600}.mfm-dropdown{position:relative}.mfm-dropdown-content{display:none;position:absolute;top:100%;right:0;background:#fff;min-width:140px;box-shadow:var(--mfm-shadow-lg);border:1px solid var(--mfm-border);border-radius:8px;z-index:1000;overflow:hidden}.mfm-dropdown-content.show{display:block}.mfm-dropdown-content button{width:100%;padding:10px 16px;text-align:left;background:transparent;border:none;font-size:.8125rem;color:var(--mfm-text);cursor:pointer}.mfm-dropdown-content button:hover{background:var(--mfm-surface)}.mfm-btn-primary{background:var(--mfm-primary);color:#fff;border:none;border-radius:8px;padding:12px 24px;font-weight:600;cursor:pointer;transition:var(--mfm-transition)}.mfm-btn-primary:hover{background:var(--mfm-primary-hover)}.mfm-header-actions{display:flex;align-items:center}.mfm-switch{position:relative;display:inline-block;width:32px;height:20px;margin-right:12px}.mfm-switch input{opacity:0;width:0;height:0}.mfm-slider{position:absolute;cursor:pointer;top:0;left:0;right:0;bottom:0;background-color:#cbd5e1;transition:.4s;border-radius:34px}.mfm-slider:before{position:absolute;content:"";height:16px;width:16px;left:2px;bottom:2px;background-color:#fff;transition:.4s;border-radius:50%}input:checked+.mfm-slider{background-color:var(--mfm-primary)}input:checked+.mfm-slider:before{transform:translate(12px)}.mfm-spinner{width:14px;height:14px;border:2px solid #cbd5e1;border-bottom-color:var(--mfm-primary);border-radius:50%;display:inline-block;box-sizing:border-box;animation:mfm-rotation 1s linear infinite}@keyframes mfm-rotation{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.mfm-request-item.pending-item{cursor:default;opacity:.8}.mfm-snackbar{visibility:hidden;min-width:250px;background-color:#333;color:#fff;text-align:center;border-radius:8px;padding:12px;position:fixed;z-index:2000;left:50%;bottom:30px;transform:translate(-50%);font-size:.9rem;box-shadow:0 4px 6px #0000001a;opacity:0;transition:opacity .3s,bottom .3s}.mfm-snackbar.show{visibility:visible;opacity:1;bottom:50px}.clear-btn svg{color:var(--mfm-text-dim)}')),document.head.appendChild(e)}}catch(e){console.error("vite-plugin-css-injected-by-js",e)}}();var o=(e=>(e[e.NONE=0]="NONE",e[e.INFO=1]="INFO",e[e.WARN=2]="WARN",e[e.ERROR=3]="ERROR",e))(o||{}),r=(e=>(e.MFM_REQ_MAPPINGS="MFM_REQ_MAPPINGS",e.MFM_REQ_SAVED_MAPPINGS="MFM_REQ_SAVED_MAPPINGS",e.MFM_DEL_CLIENT_TOKEN="MFM_DEL_CLIENT_TOKEN",e.MFM_SUBMIT_TOKEN="MFM_SUBMIT_TOKEN",e.MFM_TOGGLE_INTERCEPTION="MFM_TOGGLE_INTERCEPTION",e.MFM_RES_MAPPINGS="MFM_RES_MAPPINGS",e.MFM_REQ="MFM_REQ",e.MFM_RES="MFM_RES",e.MFM_TOKEN_ERROR="MFM_TOKEN_ERROR",e.MFM_TOKEN_API_FAILED="MFM_TOKEN_API_FAILED",e.MFM_LOG_INFO="MFM_LOG_INFO",e.MFM_LOG_WARN="MFM_LOG_WARN",e.MFM_LOG_ERROR="MFM_LOG_ERROR",e))(r||{});function s(e,t,n="*",o){window.postMessage(function(e,t,n){const o={type:e};return n&&(o.source=n),void 0!==t&&(o.payload=t),o}(e,t,o),n)}const i=new class{constructor(){this.level=o.NONE}setLevel(e){this.level=e}normalizeArgs(e){return e.map((e=>{try{return void 0===e?"undefined":"string"==typeof e||"object"==typeof e?e:String(e)}catch{return"[Unserializable]"}}))}postLog(e,t){s(e,this.normalizeArgs(t),"*","mfm-widget-logger")}info(...e){this.level<o.INFO||(console.log("[MFM Info]",...e),this.postLog(r.MFM_LOG_INFO,e))}warn(...e){this.level<o.WARN||(console.warn("[MFM Warn]",...e),this.postLog(r.MFM_LOG_WARN,e))}error(...e){this.level<o.ERROR||(console.error("[MFM Error]",...e),this.postLog(r.MFM_LOG_ERROR,e))}},a=new Map,l=new Set;let d=!1;function c(e){return e!==r.MFM_LOG_INFO&&e!==r.MFM_LOG_WARN&&e!==r.MFM_LOG_ERROR}function m(){d||"undefined"==typeof window||(window.addEventListener("message",p),d=!0)}function u(e,t){c(e)&&i.info(`[postMessage] ${e}`,t),s(e,t)}function p(e){if(!function(e){if(!e||"object"!=typeof e)return!1;if(!("type"in e))return!1;const t=e.type;return"string"==typeof t&&t.startsWith("MFM_")}(e.data))return;const t=e.data;c(t.type)&&i.info(`[onMessage] ${t.type}`,t.payload),l.forEach((e=>e(t)));const n=a.get(t.type);n&&n.forEach((e=>{e(t.payload)}))}function f(e,t){if(!e)return t;try{return JSON.parse(e)}catch{return t}}const h={state:function(){var e,t,n,o,r,s,i,a,l,d,c,m;const u=f(sessionStorage.getItem("MFM_SAVED_REQUESTS"),[]).filter((e=>{var t;return!((null==(t=e.request)?void 0:t.url)||"").includes("/3f4eae522b")})).map((e=>e.response?e:{...e,response:{statusCode:0,statusText:"Disconnected",body:"[Request terminated due to page refresh or network interruption]",headers:{},endTime:new Date(e.timestamp||Date.now()).toISOString()}})),p=f(localStorage.getItem("MFM_CONFIG"),{}),h={enabled:!0,isInterceptEnabled:"false"!==sessionStorage.getItem("MFM_IS_INTERCEPT_ENABLED"),isOpen:p.isOpen||!1,token:localStorage.getItem("MFM_TOKEN")||null,isTokenValidating:!1,isTokenLoading:!1,mappings:{apis:[],rules:[]},isMappingsLoading:!1,requests:u,ui:{selectedTab:p.selectedTab||"MOCKED",tokenError:null,activeDropdownId:null,detailTab:p.detailTab||"HEADERS",tabConfigs:{MAPPINGS:{searchText:"",selectedRule:(null==(t=null==(e=p.tabConfigs)?void 0:e.MAPPINGS)?void 0:t.selectedRule)||null,isDetailOpen:Boolean(null==(o=null==(n=p.tabConfigs)?void 0:n.MAPPINGS)?void 0:o.isDetailOpen)},MOCKED:{searchText:"",selectedRequestId:(null==(s=null==(r=p.tabConfigs)?void 0:r.MOCKED)?void 0:s.selectedRequestId)||null,isPreserveLogs:"true"===localStorage.getItem("MFM_PRESERVE_LOGS_MOCKED"),isDetailOpen:Boolean(null==(a=null==(i=p.tabConfigs)?void 0:i.MOCKED)?void 0:a.isDetailOpen)},OTHER:{searchText:"",selectedRequestId:(null==(d=null==(l=p.tabConfigs)?void 0:l.OTHER)?void 0:d.selectedRequestId)||null,isPreserveLogs:"true"===localStorage.getItem("MFM_PRESERVE_LOGS_OTHER"),isDetailOpen:Boolean(null==(m=null==(c=p.tabConfigs)?void 0:c.OTHER)?void 0:m.isDetailOpen)}}}};return function(e){const t=e.ui.selectedTab;if("MAPPINGS"===t)return;const n=e.ui.tabConfigs[t];if(!n.isDetailOpen||!n.selectedRequestId)return;e.requests.some((e=>String(e.requestId)===String(n.selectedRequestId)))||(n.isDetailOpen=!1,n.selectedRequestId=null,e.ui.selectedTab="MOCKED")}(h),h}(),listeners:[],_notifyTimer:null,subscribe(e){return this.listeners.push(e),()=>{this.listeners=this.listeners.filter((t=>t!==e))}},notify(){this._notifyTimer||(this._notifyTimer=requestAnimationFrame((()=>{var e;this._notifyTimer=null,this.listeners.forEach((e=>e(this.state))),document.dispatchEvent(new CustomEvent("MFM_STATE_CHANGE",{detail:this.state})),e=this.state,localStorage.setItem("MFM_CONFIG",JSON.stringify({isOpen:e.isOpen,selectedTab:e.ui.selectedTab,detailTab:e.ui.detailTab,activeDropdownId:e.ui.activeDropdownId,tabConfigs:{MAPPINGS:{selectedRule:e.ui.tabConfigs.MAPPINGS.selectedRule,isDetailOpen:e.ui.tabConfigs.MAPPINGS.isDetailOpen},MOCKED:{selectedRequestId:e.ui.tabConfigs.MOCKED.selectedRequestId,isDetailOpen:e.ui.tabConfigs.MOCKED.isDetailOpen},OTHER:{selectedRequestId:e.ui.tabConfigs.OTHER.selectedRequestId,isDetailOpen:e.ui.tabConfigs.OTHER.isDetailOpen}}}))})))},update(e,t){const n=e.split(".");let o=this.state;for(let e=0;e<n.length-1;e+=1){const t=o[n[e]];if(!t||"object"!=typeof t)return;o=t}o[n[n.length-1]]=t,this.notify()},set(e,t){this.state[e]=t,this.notify()}};let g=[];function b(e){var t,n;const o=null==(t=h.state.ui.tabConfigs.MOCKED)?void 0:t.isPreserveLogs,r=null==(n=h.state.ui.tabConfigs.OTHER)?void 0:n.isPreserveLogs,s=e.filter((e=>{const t="MOCKED"===e.interceptionType;return t&&o||!t&&r}));s.length>0?sessionStorage.setItem("MFM_SAVED_REQUESTS",JSON.stringify(s)):sessionStorage.removeItem("MFM_SAVED_REQUESTS")}function y(e){var t;if(((null==(t=e.request)?void 0:t.url)||"").includes("/3f4eae522b"))return;if(h.state.isTokenValidating)return i.info("Queuing request during token validation",e.requestId),void g.push(e);const n=function(e){const t=[...h.state.requests],n=t.findIndex((t=>t.requestId===e.requestId));if(n>-1){const o=t[n];t[n]={...o,...e,rule:e.rule||o.rule}}else t.push(e);return t.length>100?t.slice(t.length-100):t}(e);h.set("requests",n),b(n)}const v={toggleWidget(){h.update("isOpen",!h.state.isOpen)},setTab(e){h.update("ui.selectedTab",e)},deleteToken(){i.warn("Deleting Client Token"),h.update("token",null),h.update("isTokenValidating",!1),h.update("isTokenLoading",!1),h.update("ui.tokenError",null),this.closeDetails(),h.set("requests",[]),this.clearQueue(),sessionStorage.removeItem("MFM_SAVED_REQUESTS"),localStorage.removeItem("MFM_TOKEN"),u(r.MFM_DEL_CLIENT_TOKEN)},submitToken(e){e?(h.update("ui.tokenError",null),h.update("isTokenValidating",!0),h.update("isTokenLoading",!0),localStorage.setItem("MFM_TOKEN_TEMP",e),(e=>{u(r.MFM_SUBMIT_TOKEN,{token:e})})(e)):h.update("ui.tokenError","Token is required")},reloadMappings(){i.info("Reloading Mappings"),h.update("ui.tokenError",null),h.update("isMappingsLoading",!0),u(r.MFM_REQ_MAPPINGS)},fetchSavedMappings(){i.info("Fetching Saved Mappings"),u(r.MFM_REQ_SAVED_MAPPINGS)},toggleInterception(e){const t=void 0!==e?e:!h.state.isInterceptEnabled;t!==h.state.isInterceptEnabled&&(i.info("Toggling Interception:",t),h.update("isInterceptEnabled",t),sessionStorage.setItem("MFM_IS_INTERCEPT_ENABLED",String(t)),(e=>{u(r.MFM_TOGGLE_INTERCEPTION,{enabled:e})})(t))},addRequest(e){y(e)},clearRequests(){const e=h.state.ui.selectedTab,t=h.state.requests.filter((t=>("MOCKED"===t.interceptionType?"MOCKED":"OTHER")!==e));h.set("requests",t),sessionStorage.setItem("MFM_SAVED_REQUESTS",JSON.stringify(t))},setPreserveLogs(e){const t=h.state.ui.selectedTab;"MAPPINGS"!==t&&(h.update(`ui.tabConfigs.${t}.isPreserveLogs`,e),localStorage.setItem(`MFM_PRESERVE_LOGS_${t}`,String(e)),b(h.state.requests))},setSearchText(e){const t=h.state.ui.selectedTab;h.update(`ui.tabConfigs.${t}.searchText`,e)},selectRequest(e){const t=h.state.ui.selectedTab;"MAPPINGS"!==t&&(h.update(`ui.tabConfigs.${t}.selectedRequestId`,e),h.update(`ui.tabConfigs.${t}.isDetailOpen`,!0),h.update("ui.detailTab","HEADERS"))},selectRule(e){h.update("ui.tabConfigs.MAPPINGS.selectedRule",e),h.update("ui.tabConfigs.MAPPINGS.isDetailOpen",!0),h.update("ui.detailTab","HEADERS")},minimizeDetails(){const e=h.state.ui.selectedTab;h.update(`ui.tabConfigs.${e}.isDetailOpen`,!1)},closeDetails(){const e=h.state.ui.selectedTab;h.update(`ui.tabConfigs.${e}.isDetailOpen`,!1),"MAPPINGS"!==e?h.update(`ui.tabConfigs.${e}.selectedRequestId`,null):h.update("ui.tabConfigs.MAPPINGS.selectedRule",null)},resetUnavailableRequestDetails(e){h.update(`ui.tabConfigs.${e}.isDetailOpen`,!1),h.update(`ui.tabConfigs.${e}.selectedRequestId`,null),h.update("ui.selectedTab","MOCKED"),h.update("ui.detailTab","HEADERS")},setDetailTab(e){h.update("ui.detailTab",e)},setOpenDropdown(e){const t=h.state.ui.activeDropdownId;h.update("ui.activeDropdownId",t===e?null:e)},clearOpenDropdown(){h.state.ui.activeDropdownId&&h.update("ui.activeDropdownId",null)},flushQueue(){!function(){i.info("Flushing request queue",g.length);const e=[...g];g=[],e.forEach((e=>y(e)))}()},clearQueue(){i.warn("Clearing request queue"),g=[]}};function x(e,t="default",n=3e3){if(!document.body)return;let o=document.getElementById("mfm-snackbar");o||(o=document.createElement("div"),o.id="mfm-snackbar",o.className="mfm-snackbar",document.body.appendChild(o)),o.textContent=e,o.className=("mfm-snackbar show "+("error"===t?"mfm-snackbar-error":"")).trim(),setTimeout((()=>{o&&(o.className=o.className.replace("show","").trim())}),n)}function w(){const e=document.querySelector("#mfm-reload-header");e&&(e.innerHTML='<svg width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><path d="M21 12a9 9 0 1 1-9-9c2.52 0 4.93 1 6.74 2.74L21 8"></path><polyline points="21 3 21 8 16 8"></polyline></svg>',e.style.pointerEvents="auto")}function E(e,t){i.error(`Token Error (${e})`,t),h.update("ui.tokenError",(null==t?void 0:t.message)||"Something went wrong"),h.update("isTokenLoading",!1),h.update("isMappingsLoading",!1),h.update("isTokenValidating",!1),e===r.MFM_TOKEN_ERROR&&(h.update("token",null),v.clearQueue(),localStorage.removeItem("MFM_TOKEN"),localStorage.removeItem("MFM_TOKEN_TEMP")),w(),x((null==t?void 0:t.message)||"Request failed","error")}const k="https://www.mockforme.com/assets/images/logo.png",M='<svg xmlns="http://www.w3.org/2000/svg" width="14" height="14" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" style="display:block;"><circle cx="12" cy="12" r="10"></circle><line x1="4.93" y1="4.93" x2="19.07" y2="19.07"></line></svg>',_='<svg width="18" height="18" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><line x1="18" y1="6" x2="6" y2="18"></line><line x1="6" y1="6" x2="18" y2="18"></line></svg>',R='<svg width="14" height="14" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><path d="M8 3H5a2 2 0 0 0-2 2v3m18 0V5a2 2 0 0 0-2-2h-3m0 18h3a2 2 0 0 0 2-2v-3M3 16v3a2 2 0 0 0 2 2h3"></path></svg>';class q{constructor(e){this.input=null,this.submitBtn=null,this.errorDisplay=null,this.closeBtn=null,this.unsubscribe=null,this.parent=e,this.element=document.createElement("div"),this.element.className="mfm-token-form",this.unsubscribe=h.subscribe(this.render.bind(this)),this.init()}init(){this.renderStructure(),this.bindEvents(),this.render(h.state),this.parent.appendChild(this.element)}closeTokenForm(){v.toggleWidget()}renderStructure(){this.element.innerHTML=`\n <div class="mfm-token-header">\n <button class="mfm-btn-icon" id="mfm-close-token-form" title="Close Widget">\n ${_}\n </button>\n </div>\n <div class="mfm-token-container">\n <img src="${k}" alt="MockForMe Logo" class="mfm-token-logo">\n <h3 class="mfm-token-title">Welcome to MockForMe</h3>\n <p class="mfm-token-desc">\n Paste your token below to start mocking and intercepting API requests.\n </p>\n <input type="text" class="mfm-input mfm-token-input" placeholder="Enter Client Token...">\n <div class="mfm-token-error"></div>\n <button class="mfm-token-submit">Continue</button>\n <div class="mfm-token-link-container">\n <a href="https://dashboard.mockforme.com/user/token" target="_blank" class="mfm-token-link">Get your access token</a>\n </div>\n </div>\n `,this.input=this.element.querySelector(".mfm-token-input"),this.submitBtn=this.element.querySelector(".mfm-token-submit"),this.errorDisplay=this.element.querySelector(".mfm-token-error"),this.closeBtn=this.element.querySelector("#mfm-close-token-form")}bindEvents(){this.input&&(this.input.oninput=()=>{h.state.ui.tokenError&&h.update("ui.tokenError",null)}),this.submitBtn&&(this.submitBtn.onclick=()=>{var e;const t=null==(e=this.input)?void 0:e.value.trim();t&&v.submitToken(t)}),this.closeBtn&&(this.closeBtn.onclick=()=>{this.closeTokenForm()})}render(e){if(!this.input||!this.submitBtn||!this.errorDisplay)return;const{tokenError:t}=e.ui,{isTokenLoading:n}=e;t?(this.errorDisplay.textContent=t,this.errorDisplay.style.display="block",this.input.style.borderColor="var(--mfm-error)"):(this.errorDisplay.style.display="none",this.input.style.borderColor=""),n?(this.input.disabled=!0,this.submitBtn.disabled=!0,this.submitBtn.innerHTML='<div class="mfm-spinner"></div>'):(this.input.disabled=!1,this.submitBtn.disabled=!1,this.submitBtn.innerHTML="Continue")}destroy(){this.unsubscribe&&this.unsubscribe(),this.element.remove()}}function T(e,t){if(!document.body)return;const n=document.createElement("textarea");n.value=e,n.setAttribute("readonly","true"),n.style.position="fixed",n.style.top="-9999px",n.style.left="-9999px",document.body.appendChild(n),n.focus(),n.select();try{document.execCommand("copy")&&t()}finally{n.remove()}}function S(e,t){if(C(e),!t)return;e.container.classList.add("json-is-searching");const n=new RegExp(t,"i");Array.from(e.treeContainer.querySelectorAll(".json-node")).forEach((t=>{const o=t.dataset.searchKey||"",r=t.dataset.searchValue||"";(n.test(o)||n.test(r))&&(t.classList.add("json-item-visible","json-match"),function(e){const t=e.querySelector(":scope > .json-children");if(!t)return;t.querySelectorAll(".json-node").forEach((e=>{e.classList.add("json-item-visible")})),t.style.display="block";const n=e.querySelector(":scope > .json-toggle");n&&(n.textContent="-")}(t),function(e,t){let n=t.parentElement;for(;n&&n!==e.treeContainer;){if(n.classList.contains("json-node")&&n.classList.add("json-item-visible"),n.classList.contains("json-children")){n.style.display="block";const e=n.parentElement.querySelector(":scope > .json-toggle");e&&(e.textContent="-")}n=n.parentElement}}(e,t))}))}function C(e){e.container.classList.remove("json-is-searching"),e.treeContainer.querySelectorAll(".json-match").forEach((e=>{e.classList.remove("json-match")})),e.treeContainer.querySelectorAll(".json-item-visible").forEach((e=>{e.classList.remove("json-item-visible")}))}function I(e,t,n=null,o=0){const r=document.createElement("div");if(r.className="json-node",null!==n){const e=document.createElement("span");e.className="json-key",e.textContent=`"${n}": `,r.appendChild(e),r.dataset.searchKey=String(n).toLowerCase()}if("object"==typeof t&&null!==t)return function(e,t,n,o){const r=Array.isArray(n),s=o<e.options.expandLevel,i=document.createElement("span");i.className="json-toggle",i.textContent=s?"-":"+";const a=document.createElement("span");a.className="json-bracket",a.textContent=r?"[":"{";const l=document.createElement("div");l.className="json-children",l.style.display=s?"block":"none",i.addEventListener("click",(()=>{const e="none"===l.style.display;l.style.display=e?"block":"none",i.textContent=e?"-":"+"})),t.appendChild(i),t.appendChild(a),Object.entries(n).forEach((([t,n])=>{const r=I(e,n,t,o+1);l.appendChild(r)})),t.appendChild(l);const d=document.createElement("div");d.className="json-closing-bracket",d.textContent=r?"]":"}",t.appendChild(d)}(e,r,t,o),r;const s=document.createElement("span");s.className="json-value "+typeof t;const i="string"==typeof t?`"${t}"`:String(t);return s.textContent=i,r.appendChild(s),r.dataset.searchValue=i.toLowerCase(),r}function O(e,t,n){const o=document.createElement("button");return o.innerHTML=e,o.title=t,o.onclick=n,o}class L{constructor(e,t={}){if(!e)throw new Error("Container element required");this.container=e,this.options={expandLevel:t.expandLevel??1,theme:t.theme??"light",toolbar:t.toolbar??!0,searchable:t.searchable??!0,debounceTime:t.debounceTime??300},this.data=null,this.searchTimer=null,this.container.classList.add("json-viewer",`json-viewer-${this.options.theme}`),this.options.toolbar&&function(e,t){e.toolbar=document.createElement("div"),e.toolbar.className="json-toolbar";const n=document.createElement("div");n.className="json-toolbar-group",n.appendChild(O(t.expand,"Expand All",(()=>e.expandAll()))),n.appendChild(O(t.collapse,"Collapse All",(()=>e.collapseAll()))),e.fullscreenBtn=O(t.fullscreen,"Fullscreen",(()=>e.toggleFullscreen())),e.copyBtn=O(t.copy,"Copy JSON",(()=>e.copy())),n.appendChild(e.fullscreenBtn),n.appendChild(e.copyBtn),e.toolbar.appendChild(n),e.options.searchable&&e.toolbar.appendChild(function(e,t){const n=document.createElement("div");n.className="json-search-group";const o=document.createElement("input");o.placeholder="Search...",o.oninput=t=>{clearTimeout(e.searchTimer),e.searchTimer=setTimeout((()=>{const n=t.target;S(e,n.value)}),e.options.debounceTime)};const r=O(t,"Clear Search",(()=>{o.value="",C(e)}));return n.appendChild(o),n.appendChild(r),n}(e,t.clear)),e.container.appendChild(e.toolbar)}(this,{expand:'<svg width="14" height="14" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><line x1="12" y1="5" x2="12" y2="19"></line><line x1="5" y1="12" x2="19" y2="12"></line></svg>',collapse:'<svg width="14" height="14" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><line x1="5" y1="12" x2="19" y2="12"></line></svg>',fullscreen:R,copy:'<svg width="14" height="14" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><rect x="9" y="9" width="13" height="13" rx="2" ry="2"></rect><path d="M5 15H4a2 2 0 0 1-2-2V4a2 2 0 0 1 2-2h9a2 2 0 0 1 2 2v1"></path></svg>',clear:M}),this.treeContainer=document.createElement("div"),this.treeContainer.className="json-tree-container",this.container.appendChild(this.treeContainer)}toggleFullscreen(){const e=this.container.classList.toggle("json-viewer-fullscreen");document.body.classList.toggle("json-viewer-body-fullscreen",e),this.fullscreenBtn&&(this.fullscreenBtn.innerHTML=e?'<svg width="14" height="14" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><path d="M8 3v3a2 2 0 0 1-2 2H3m18 0h-3a2 2 0 0 1-2-2V3m0 18v-3a2 2 0 0 1 2-2h3M3 16h3a2 2 0 0 1 2 2v3"></path></svg>':R,this.fullscreenBtn.title=e?"Minimize":"Fullscreen")}render(e){this.data=e,this.treeContainer.innerHTML="",this.root=I(this,e,null,0),this.treeContainer.appendChild(this.root)}copy(){!function(e){if(!e.data)return;const t=JSON.stringify(e.data,null,2),n=()=>{if(!e.copyBtn)return;const t=e.copyBtn.innerHTML;e.copyBtn.innerHTML="&#10003;",setTimeout((()=>{e.copyBtn.innerHTML=t}),2e3)};navigator.clipboard&&"function"==typeof navigator.clipboard.writeText?navigator.clipboard.writeText(t).then(n).catch((()=>{T(t,n)})):T(t,n)}(this)}expandAll(){var e;(e=this).treeContainer.querySelectorAll(".json-children").forEach((e=>{e.style.display="block"})),e.treeContainer.querySelectorAll(".json-toggle").forEach((e=>{e.textContent="-"}))}collapseAll(){var e;(e=this).treeContainer.querySelectorAll(".json-children").forEach((e=>{e.style.display="none"})),e.treeContainer.querySelectorAll(".json-toggle").forEach((e=>{e.textContent="+"}))}search(e){S(this,e)}clearSearch(){C(this)}}function A(e){return e.replace(/&/g,"&amp;").replace(/</g,"&lt;").replace(/>/g,"&gt;").replace(/"/g,"&quot;").replace(/'/g,"&#39;")}function N(e,t,n){const o=function(e){if("string"!=typeof e)return e;try{return JSON.parse(e)}catch{return e}}(n);if(!o||"object"!=typeof o)return;const r=e.querySelector(t);r&&(r.innerHTML="",new L(r,{expandLevel:1,theme:"light",toolbar:!0,searchable:!0}).render(o))}function j(e){const t={},n=e.modificationActions;return n&&Object.entries(n).forEach((([e,n])=>{(null==n?void 0:n.enabled)&&(t[e]=n)})),{requestId:`rule_${String(e.ruleName||e.condition||"unknown")}`,interceptionType:"RULE",request:{method:"RULE",url:String(e.condition||e.ruleName||""),headers:n||{},body:t},response:{statusCode:0,body:e}}}function P(e){var t,n,o,r;const{selectedTab:s,detailTab:i,tabConfigs:a}=h.state.ui,l=a[s];if(!l||!l.isDetailOpen)return e.sheet.classList.remove("active"),e.isUrlExpanded=!1,e.responseBodyMode="TEXT",e.prevState={},e;const{req:d,isRule:c}=function(){const{selectedTab:e,tabConfigs:t}=h.state.ui,n=t[e],o=n.selectedRequestId||null,r=n.selectedRule||null;return"MAPPINGS"===e&&r?{req:j(r),isRule:!0}:"MAPPINGS"!==e&&o?{req:h.state.requests.find((e=>String(e.requestId)===String(o)))||null,isRule:!1}:{req:null,isRule:!1}}();if(!d)return"MOCKED"!==s&&"OTHER"!==s||v.resetUnavailableRequestDetails(s),e.sheet.classList.remove("active"),e;if(function(e,t){const{selectedTab:n,detailTab:o,tabConfigs:r}=h.state.ui,s=r[n];return e.prevState.selectedTab===n&&e.prevState.selectedRule===s.selectedRule&&e.prevState.selectedRequestId===s.selectedRequestId&&e.prevState.reqObj===t&&e.prevState.detailTab===o&&e.prevState.isUrlExpanded===e.isUrlExpanded&&e.prevState.responseBodyMode===e.responseBodyMode}(e,d))return e;!function(e,t){const{selectedTab:n,detailTab:o,tabConfigs:r}=h.state.ui,s=r[n];e.prevState={selectedTab:n,selectedRule:s.selectedRule,selectedRequestId:s.selectedRequestId,reqObj:t,detailTab:o,isUrlExpanded:e.isUrlExpanded,responseBodyMode:e.responseBodyMode}}(e,d),function(e,t,n){var o;const r=t.request.method||"REQ",s=n?"RULE":(null==(o=t.response)?void 0:o.statusCode)??"Pending",i=function(e,t,n,o){return e?"pending":t?"success":n?"error":o?"rule":""}("Pending"===s,"number"==typeof s&&s>=200&&s<300,"number"==typeof s&&(0===s||s>=400),n),a=0===s?"Error":s,l=n?"":`<span class="mfm-method ${String(r).toLowerCase()}" style="flex-shrink: 0;">${r}</span>`,d=e.isUrlExpanded?"normal":"nowrap",c=e.isUrlExpanded?"break-all":"normal",m=e.isUrlExpanded?"60px":"2em",u=e.isUrlExpanded?"auto":"hidden";e.infoContainer.innerHTML=`\n ${l}\n <span class="mfm-status ${i}" style="flex-shrink: 0;">${a}</span>\n <span class="mfm-url-small" title="Click to toggle full URL" style="font-family: monospace; color: var(--mfm-text-dim); overflow: hidden; text-overflow: ellipsis; white-space: ${d}; word-break: ${c}; max-height: ${m}; overflow-y: ${u}; flex: 1;">${t.request.url||""}</span>\n `}(e,d,c);const m=e.sheet.querySelector(".mfm-bottomsheet-content");if(!m)return e;const u={first:"Headers",second:"Request",third:"Response"};c&&(u.first="Configs",u.second="Modifications",u.third="Full Rule");const p=null==(t=d.response)?void 0:t.body,f="string"==typeof p?p:JSON.stringify(p||{},null,2),g=function(e){if(!e||"object"!=typeof e)return"";const t=e,n=t["content-type"]||t["Content-Type"]||t["CONTENT-TYPE"];return"string"==typeof n?n.toLowerCase():""}(null==(n=d.response)?void 0:n.headers),b=!c&&"string"==typeof p&&!function(e){try{return JSON.parse(e),!0}catch{return!1}}(p)&&(g.includes("text/html")||/<!doctype html|<html[\s>]|<body[\s>]|<\/?[a-z][\s\S]*>/i.test(p));b||(e.responseBodyMode="TEXT");let y="";if("HEADERS"===i&&(y=function(e,t,n){const o=n?"":`\n <div class="mfm-detail-section" style="margin-top:16px">\n <div class="mfm-detail-title">Response Headers</div>\n <div class="mfm-detail-content"><pre style="margin:0">${JSON.stringify(t||{},null,2)}</pre></div>\n </div>\n `;return`\n <div class="mfm-detail-section">\n <div class="mfm-detail-title">${n?"Rule Configuration":"Request Headers"}</div>\n <div class="mfm-detail-content"><pre style="margin:0">${JSON.stringify(e||{},null,2)}</pre></div>\n </div>\n ${o}\n `}(d.request.headers,null==(o=d.response)?void 0:o.headers,c)),"REQ_BODY"===i&&(y=function(e,t){return`\n <div class="mfm-detail-section">\n <div class="mfm-detail-title">${t?"Enabled Modifications":"Request Body"}</div>\n <div class="mfm-detail-content" id="mfm-req-viewer"><pre style="margin:0">${"string"==typeof e?A(e):JSON.stringify(e,null,2)}</pre></div>\n </div>\n `}(d.request.body,c)),"RES_BODY"===i&&(y=function(e){const t=e.isRule?"Complete Rule Object":"Response Body";let n="";e.isHtmlNonJsonResponse&&(n=`\n <div style="display:flex; gap:8px; margin-bottom:8px;">\n <button class="mfm-btn-outline mfm-res-mode-btn ${"TEXT"===e.responseBodyMode?"active":""}" data-mode="TEXT">Text</button>\n <button class="mfm-btn-outline mfm-res-mode-btn ${"PREVIEW"===e.responseBodyMode?"active":""}" data-mode="PREVIEW">Preview</button>\n </div>\n `);let o=`<pre style="margin:0">${A(e.responseText)}</pre>`;return e.isHtmlNonJsonResponse&&"PREVIEW"===e.responseBodyMode&&(o='<iframe id="mfm-res-preview" sandbox="" style="width:100%; min-height:280px; border:1px solid var(--mfm-border); border-radius:8px; background:#fff;"></iframe>'),`\n <div class="mfm-detail-section">\n <div class="mfm-detail-title">${t}</div>\n ${n}\n <div class="mfm-detail-content" id="mfm-res-viewer">${o}</div>\n </div>\n `}({isRule:c,isHtmlNonJsonResponse:b,responseBodyMode:e.responseBodyMode,responseText:f})),m.innerHTML=`${function(e,t){return`\n <div class="mfm-detail-tabs" style="margin-top: 0;">\n <button class="mfm-detail-tab-btn ${"HEADERS"===e?"active":""}" data-tab="HEADERS">${t.first}</button>\n <button class="mfm-detail-tab-btn ${"REQ_BODY"===e?"active":""}" data-tab="REQ_BODY">${t.second}</button>\n <button class="mfm-detail-tab-btn ${"RES_BODY"===e?"active":""}" data-tab="RES_BODY">${t.third}</button>\n </div>\n `}(i,u)}<div class="mfm-detail-body">${y}</div>`,"REQ_BODY"===i&&d.request.body&&N(e.sheet,"#mfm-req-viewer",d.request.body),"RES_BODY"===i&&(null==(r=d.response)?void 0:r.body)&&!b&&N(e.sheet,"#mfm-res-viewer",d.response.body),"RES_BODY"===i&&b&&"PREVIEW"===e.responseBodyMode){const t=e.sheet.querySelector("#mfm-res-preview");t&&(t.srcdoc=f)}return e.sheet.querySelectorAll(".mfm-detail-tab-btn").forEach((e=>{e.onclick=()=>{const t=e.dataset.tab;t&&v.setDetailTab(t)}})),e.sheet.querySelectorAll(".mfm-res-mode-btn").forEach((t=>{t.onclick=()=>{const n=t.dataset.mode;n&&n!==e.responseBodyMode&&(e.responseBodyMode=n,P(e))}})),e.sheet.classList.add("active"),e}class ${constructor(e){this.parent=e,this.element=document.createElement("div"),this.element.className="mfm-apis-list",this.init()}init(){this.parent.appendChild(this.element)}render(e){(null==e?void 0:e.length)?this.element.innerHTML=e.map((e=>`\n <div class="mfm-request-item" data-id="${e.url}" data-type="api">\n <div class="mfm-request-header">\n <div class="mfm-flex-row">\n <span class="mfm-method ${(e.method||"").toLowerCase()}">${e.method||"REQ"}</span>\n <span class="mfm-url" title="${e.url}">${e.url}</span>\n </div>\n </div>\n </div>\n `)).join(""):this.element.innerHTML=""}}function D(e,t){const n=e.ruleName||"",o=function(e){const t=F(e);if(t.length>0){const e=t[0];if("string"==typeof e.value)return e.value}return String(e.condition||e.ruleName||"")}(e);return`${t}::${n}::${o}`}function F(e){const t=e,n=function(e){const t=e,n=t.rule;if(n&&"object"==typeof n)return n;if("string"==typeof n)try{const e=JSON.parse(n);if(e&&"object"==typeof e)return e}catch{return t}return t}(e),o=Array.isArray(t.conditions)?t.conditions:[],r=Array.isArray(n.conditions)?n.conditions:[];return o.length>0?o:r}class H{constructor(e){this.parent=e,this.element=document.createElement("div"),this.element.className="mfm-rule-list",this.init()}init(){this.parent.appendChild(this.element),this.attachEvents()}attachEvents(){this.element.onclick=e=>{var t;const n=e.target,o=n.closest(".mfm-dots-btn");if(o){e.stopPropagation();const t=o.closest(".mfm-request-item"),n=null==t?void 0:t.dataset.id;return void(n&&v.setOpenDropdown(n))}const r=n.closest("[data-action]");if(r){e.stopPropagation();const n=r.dataset.action,o=r.closest(".mfm-request-item"),s=this.readRuleIndex(o);return n&&null!==s&&this.handleAction(n,s),void(null==(t=r.parentElement)||t.classList.remove("show"))}const s=n.closest(".mfm-request-item");if(!s)return;e.stopPropagation();const i=this.readRuleIndex(s);if(null===i)return;const a=h.state.mappings.rules[i];a&&v.selectRule(a)}}readRuleIndex(e){if(!(null==e?void 0:e.dataset.ruleIndex))return null;const t=Number(e.dataset.ruleIndex);return Number.isNaN(t)?null:t}handleAction(e,t){if("view-rule-details"===e){const e=h.state.mappings.rules[t];e&&v.selectRule(e)}v.clearOpenDropdown()}render(e){if(!(null==e?void 0:e.length))return void(this.element.innerHTML="");const t=e.map(((e,t)=>D(e,t)));Array.from(this.element.querySelectorAll(".mfm-request-item")).forEach((e=>{t.includes(e.dataset.id||"")||e.remove()})),e.forEach(((e,t)=>{var n,o,r;const s=D(e,t),i=this.element.querySelector(`[data-id="${s}"]`),a=function(e){const t=F(e);let n=[];return t.length>0&&(n=t.map((e=>{const t=function(e){const t="string"==typeof e.type&&e.type.trim()?e.type:"RULE",n="string"==typeof e.operator&&e.operator.trim()?e.operator:"matches",o="string"==typeof e.key&&e.key.trim()?e.key:"",r="string"==typeof e.value&&e.value.trim()?e.value:"-";return o?`\n <span class="mfm-rule-condition-type">${t}</span>\n <span class="mfm-rule-condition-operator">${n}</span>\n <span class="mfm-rule-condition-key-value">${o}=${r}</span>\n `:`\n <span class="mfm-rule-condition-type">${t}</span>\n <span class="mfm-rule-condition-operator">${n}</span>\n <span class="mfm-rule-condition-key-value">${r}</span>\n `}(e);return t}))),n}(e),l=function(e){const{action:t,config:n}=function(e){const t=e.timingAction;if(!(null==t?void 0:t.actions)||"object"!=typeof t.actions)return{action:"",config:null};const n=Object.keys(t.actions);if(0===n.length)return{action:"",config:null};const o=t.activeAction||n[0],r=t.actions[o];return{action:o,config:r&&"object"==typeof r?r:null}}(e);if(!t||!n)return"";const o="number"!=typeof(r=n.value)||Number.isNaN(r)||r<0?0:r;var r;const s="string"==typeof n.redirectUrl&&n.redirectUrl.trim()?n.redirectUrl:"";return"delay_and_timeout"===t?`\n <span class="mfm-rule-action">Delay and Timeout</span>\n <span class="mfm-rule-value">${o}s</span>`:"delay_and_redirect"===t?s?`\n <span class="mfm-rule-action">Delay and Redirect ${o}s</span>\n <span class="mfm-rule-value">${s}</span>`:`\n <span class="mfm-rule-action">Delay and Redirect ${o}s</span>\n <span class="mfm-rule-value">${s}</span>`:"delay"===t?`\n <span class="mfm-rule-action">Delay ${o}s</span>`:`\n <span class="mfm-rule-action">${function(e){if(!e)return e;const t=e.toLowerCase().replace(/_/g," ");return t.charAt(0).toUpperCase()+t.slice(1)}(t)} ${o}s</span>`}(e),d=null==(n=e.timingAction)?void 0:n.activeAction,c=null==(r=null==(o=e.timingAction)?void 0:o.actions)?void 0:r[d||""],m=c?`${c.value||0}s (${String(d).replace(/_/g," ")})`:String(e.type||"RULE");let u=0;e.modificationActions&&Object.values(e.modificationActions).forEach((e=>{e.enabled&&(u+=1)}));const p=h.state.ui.tabConfigs.MAPPINGS.selectedRule,f=Boolean(p)&&((null==p?void 0:p.ruleName)===(e.ruleName||e.condition)||(null==p?void 0:p.condition)===(e.condition||e.ruleName)),g=h.state.ui.activeDropdownId===s,b=`${f}_${m}_${u}_${g}`,y=`\n <div class="mfm-request-item ${f?"active":""}" data-id="${s}" data-rule-index="${t}" data-type="rule">\n <div class="mfm-request-header">\n <div class="mfm-flex-row">\n <span class="mfm-method rule">RULE</span>\n <span class="mfm-status rule">${String(e.type||"RULE")}</span>\n </div>\n <div class="mfm-dropdown" style="display: flex; align-items: center; gap: 8px;">\n ${u>0?`<span class="mfm-mod-pill">${u} Actions</span>`:""}\n <button class="mfm-btn-icon mfm-dots-btn">\n <svg width="16" height="16" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><circle cx="12" cy="12" r="1"></circle><circle cx="12" cy="5" r="1"></circle><circle cx="12" cy="19" r="1"></circle></svg>\n </button>\n <div class="mfm-dropdown-content ${g?"show":""}">\n <button data-action="view-rule-details">View Modifications</button>\n </div>\n </div>\n </div>\n <div class="mfm-url">${a.map((e=>`<span class="mfm-rule-condition">${e}</span>`)).join("")}</div>\n ${l?`<div class="mfm-rule-info">${l}</div>`:""}\n </div>\n `;if(i){if(i.dataset.hash!==b){const e=document.createElement("div");e.innerHTML=y;const t=e.firstElementChild;t&&(t.dataset.hash=b,this.element.replaceChild(t,i))}}else{const e=document.createElement("div");e.innerHTML=y;const n=e.firstElementChild;if(!n)return;n.dataset.hash=b;const o=this.element.children[t];o?this.element.insertBefore(n,o):this.element.appendChild(n)}}))}}class B{constructor(e){this.unsubscribe=null,this.parent=e,this.element=document.createElement("div"),this.element.className="mfm-mapping-list-activity",this.ruleListView=new H(this.element),this.apisListView=new $(this.element),this.init()}init(){this.parent.appendChild(this.element),this.unsubscribe=h.subscribe((()=>{"MAPPINGS"===h.state.ui.selectedTab&&this.render()})),this.render()}render(){if(h.state.isMappingsLoading)return this.element.innerHTML='<div class="mfm-spinner"></div>',this.ruleListView.element.style.display="none",void(this.apisListView.element.style.display="none");const{apis:e,rules:t}=function(){const{apis:e,rules:t}=h.state.mappings,n=(h.state.ui.tabConfigs.MAPPINGS.searchText||"").toLowerCase();return{apis:e.filter((e=>(e.url||"").toLowerCase().includes(n))),rules:t.filter((e=>(e.ruleName||"").toLowerCase().includes(n)||(e.condition||"").toLowerCase().includes(n)))}}();if(0===e.length&&0===t.length)return this.element.innerHTML='<div class="mfm-empty">No mappings found</div>',this.ruleListView.element.style.display="none",void(this.apisListView.element.style.display="none");this.element.contains(this.ruleListView.element)||(this.element.innerHTML="",this.element.appendChild(this.ruleListView.element),this.element.appendChild(this.apisListView.element)),this.ruleListView.element.style.display="block",this.apisListView.element.style.display="block",this.ruleListView.render(t),this.apisListView.render(e)}destroy(){this.unsubscribe&&this.unsubscribe(),this.element.remove()}}async function U(e){if("undefined"!=typeof navigator&&navigator.clipboard&&"function"==typeof navigator.clipboard.writeText)return void await navigator.clipboard.writeText(e);if(!(null==document?void 0:document.body))throw new Error("Clipboard unavailable: document body not ready");const t=document.createElement("textarea");t.value=e,t.setAttribute("readonly","true"),t.style.position="fixed",t.style.top="-9999px",t.style.left="-9999px",document.body.appendChild(t),t.focus(),t.select();try{if(!document.execCommand("copy"))throw new Error("Copy command failed")}finally{t.remove()}}function G(e,t){const n=e.request.method||"GET",o=e.request.url,r=e.request.headers||{},s=(i=e.request.body)?"string"==typeof i?i:JSON.stringify(i):null;var i;if("copy-curl"===t){let e=`curl '${o}' \\\n -X ${n}`;return Object.entries(r).forEach((([t,n])=>{e+=` \\\n -H '${t}: ${String(n)}'`})),s&&(e+=` \\\n --data-raw '${s.replace(/'/g,"'\\''")}'`),e}if("copy-fetch"===t){const e={method:n,headers:r};return s&&(e.body=s),`fetch('${o}', ${JSON.stringify(e,null,2)})`}let a="const xhr = new XMLHttpRequest();\n";return a+=`xhr.open('${n}', '${o}');\n`,Object.entries(r).forEach((([e,t])=>{a+=`xhr.setRequestHeader('${e}', '${String(t)}');\n`})),a+=s?`xhr.send('${s.replace(/'/g,"\\'")}');`:"xhr.send();",a}let K=class{static render(e){var t,n;const o=void 0===(null==(t=e.response)?void 0:t.statusCode),r=o?"Pending":null==(n=e.response)?void 0:n.statusCode,s=0===r?"Error":r,i=h.state.ui.tabConfigs.MOCKED.selectedRequestId===e.requestId,a=function(e,t,n){return e?"pending":t?"success":n?"error":""}(o,!o&&"number"==typeof r&&r>=200&&r<300,!o&&"number"==typeof r&&(0===r||r>=400));return`\n <div class="mfm-request-item ${i?"active":""} ${o?"pending-item":""}" data-id="${e.requestId}" data-type="request">\n <div class="mfm-request-header">\n <div class="mfm-flex-row">\n <span class="mfm-method ${(e.request.method||"").toLowerCase()}">${e.request.method}</span>\n <span class="mfm-status ${a}">\n ${o?'<span class="mfm-spinner"></span>':s}\n </span>\n </div>\n <div class="mfm-dropdown" style="display: flex; align-items: center; gap: 8px;">\n <button class="mfm-btn-icon mfm-dots-btn">\n <svg width="16" height="16" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><circle cx="12" cy="12" r="1"></circle><circle cx="12" cy="5" r="1"></circle><circle cx="12" cy="19" r="1"></circle></svg>\n </button>\n <div class="mfm-dropdown-content ${h.state.ui.activeDropdownId===e.requestId?"show":""}">\n <button data-action="copy-curl">Copy as cURL</button>\n <button data-action="copy-fetch">Copy as Fetch</button>\n <button data-action="copy-xhr">Copy as XHR</button>\n </div>\n </div>\n </div>\n <span class="mfm-url" title="${e.request.url}">${e.request.url}</span>\n </div>\n `}};class z{static render(e){var t,n,o,r,s,i,a;const l=e.rule?{action:e.rule.action||(null==(t=e.rule.timingAction)?void 0:t.activeAction),config:e.rule.config||(null==(r=null==(n=e.rule.timingAction)?void 0:n.actions)?void 0:r[(null==(o=e.rule.timingAction)?void 0:o.activeAction)||""])}:null,d=void 0===(null==(s=e.response)?void 0:s.statusCode),c=d?"Pending":null==(i=e.response)?void 0:i.statusCode,m=0===c?"Error":c,u=h.state.ui.tabConfigs.MOCKED.selectedRequestId===e.requestId,p=function(e,t,n){return e?"pending":t?"success":n?"error":""}(d,!d&&"number"==typeof c&&c>=200&&c<300,!d&&"number"==typeof c&&(0===c||c>=400));return`\n <div class="mfm-request-item ${u?"active":""} ${d?"pending-item":""}" data-id="${e.requestId}" data-type="request">\n <div class="mfm-request-header">\n <div class="mfm-flex-row">\n <span class="mfm-method ${(e.request.method||"").toLowerCase()}">${e.request.method}</span>\n <span class="mfm-status ${p}">\n ${d?'<span class="mfm-spinner"></span>':m}\n </span>\n </div>\n <div class="mfm-dropdown" style="display: flex; align-items: center; gap: 8px;">\n <button class="mfm-btn-icon mfm-dots-btn">\n <svg width="16" height="16" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><circle cx="12" cy="12" r="1"></circle><circle cx="12" cy="5" r="1"></circle><circle cx="12" cy="19" r="1"></circle></svg>\n </button>\n <div class="mfm-dropdown-content ${h.state.ui.activeDropdownId===e.requestId?"show":""}">\n <button data-action="copy-curl">Copy as cURL</button>\n <button data-action="copy-fetch">Copy as Fetch</button>\n <button data-action="copy-xhr">Copy as XHR</button>\n </div>\n </div>\n </div>\n <span class="mfm-url" title="${e.request.url}">${e.request.url}</span>\n ${(null==l?void 0:l.action)?`\n <div class="mfm-rule-info">\n <span class="mfm-rule-action">${String(l.action).replace(/_/g," ")}</span>\n <span class="mfm-rule-value">${(null==(a=l.config)?void 0:a.value)||0}s</span>\n </div>`:""}\n </div>\n `}}class V{constructor(e){this.unsubscribe=null,this.parent=e,this.element=document.createElement("div"),this.element.className="mfm-mocked-apis-activity",this.init()}init(){this.parent.appendChild(this.element),this.attachEvents(),this.unsubscribe=h.subscribe((()=>{"MOCKED"===h.state.ui.selectedTab&&this.render()})),this.render()}attachEvents(){this.element.onclick=e=>{var t;const n=e.target,o=n.closest(".mfm-dots-btn");if(o){e.stopPropagation();const t=o.closest(".mfm-request-item"),n=null==t?void 0:t.dataset.id;return void(n&&v.setOpenDropdown(n))}const r=n.closest("[data-action]");if(r){e.stopPropagation();const n=r.dataset.action,o=r.closest(".mfm-request-item"),s=null==o?void 0:o.dataset.id;return n&&s&&this.handleAction(n,s),void(null==(t=r.parentElement)||t.classList.remove("show"))}const s=n.closest(".mfm-request-item");if(s){if(s.classList.contains("pending-item"))return;e.stopPropagation();const t=s.dataset.id;t&&v.selectRequest(t)}}}handleAction(e,t){const n=h.state.requests.find((e=>e.requestId===t));n&&(U(G(n,e)),v.clearOpenDropdown())}render(){const e=function(){const e=(h.state.ui.tabConfigs.MOCKED.searchText||"").toLowerCase();return h.state.requests.filter((t=>{var n,o;return"MOCKED"===t.interceptionType&&(((null==(n=t.request)?void 0:n.url)||"").toLowerCase().includes(e)||((null==(o=t.rule)?void 0:o.ruleName)||"").toLowerCase().includes(e))}))}(),t=h.state.ui.tabConfigs.MOCKED.selectedRequestId,n=h.state.ui.activeDropdownId;if(!e||0===e.length)return void(this.element.querySelector(".mfm-empty")||(this.element.innerHTML='<div class="mfm-empty">No requests found</div>'));const o=this.element.querySelector(".mfm-empty");o&&o.remove();const r=e.map((e=>e.requestId));Array.from(this.element.querySelectorAll(".mfm-request-item")).forEach((e=>{r.includes(e.dataset.id||"")||e.remove()})),e.forEach(((e,o)=>{const r=this.element.querySelector(`[data-id="${e.requestId}"]`),s=e.rule?z.render(e):K.render(e),i=t===e.requestId,a=n===e.requestId,l=`${JSON.stringify(e).length}_${i}_${a}`;if(r){if(r.dataset.hash!==l){const e=document.createElement("div");e.innerHTML=s;const t=e.firstElementChild;t&&(t.dataset.hash=l,this.element.replaceChild(t,r))}}else{const e=document.createElement("div");e.innerHTML=s;const t=e.firstElementChild;if(!t)return;t.dataset.hash=l;const n=this.element.children[o];n?this.element.insertBefore(t,n):this.element.appendChild(t)}}))}destroy(){this.unsubscribe&&this.unsubscribe(),this.element.remove()}}class Q{static render(e){var t,n;const o=void 0===(null==(t=e.response)?void 0:t.statusCode),r=o?"Pending":null==(n=e.response)?void 0:n.statusCode,s=0===r?"Error":r,i=h.state.ui.tabConfigs.OTHER.selectedRequestId===e.requestId,a=function(e,t,n){return e?"pending":t?"success":n?"error":""}(o,!o&&"number"==typeof r&&r>=200&&r<300,!o&&"number"==typeof r&&(0===r||r>=400));return`\n <div class="mfm-request-item ${i?"active":""} ${o?"pending-item":""}" data-id="${e.requestId}" data-type="request">\n <div class="mfm-request-header">\n <div class="mfm-flex-row">\n <span class="mfm-method ${(e.request.method||"").toLowerCase()}">${e.request.method}</span>\n <span class="mfm-status ${a}">\n ${o?'<span class="mfm-spinner"></span>':s}\n </span>\n </div>\n <div class="mfm-dropdown" style="display: flex; align-items: center; gap: 8px;">\n <button class="mfm-btn-icon mfm-dots-btn">\n <svg width="16" height="16" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><circle cx="12" cy="12" r="1"></circle><circle cx="12" cy="5" r="1"></circle><circle cx="12" cy="19" r="1"></circle></svg>\n </button>\n <div class="mfm-dropdown-content ${h.state.ui.activeDropdownId===e.requestId?"show":""}">\n <button data-action="copy-curl">Copy as cURL</button>\n <button data-action="copy-fetch">Copy as Fetch</button>\n <button data-action="copy-xhr">Copy as XHR</button>\n </div>\n </div>\n </div>\n <span class="mfm-url" title="${e.request.url}">${e.request.url}</span>\n </div>\n `}}class J{constructor(e){this.unsubscribe=null,this.parent=e,this.element=document.createElement("div"),this.element.className="mfm-other-apis-activity",this.init()}init(){this.parent.appendChild(this.element),this.attachEvents(),this.unsubscribe=h.subscribe((()=>{"OTHER"===h.state.ui.selectedTab&&this.render()})),this.render()}attachEvents(){this.element.onclick=e=>{var t;const n=e.target,o=n.closest(".mfm-dots-btn");if(o){e.stopPropagation();const t=o.closest(".mfm-request-item"),n=null==t?void 0:t.dataset.id;return void(n&&v.setOpenDropdown(n))}const r=n.closest("[data-action]");if(r){e.stopPropagation();const n=r.dataset.action,o=r.closest(".mfm-request-item"),s=null==o?void 0:o.dataset.id;return n&&s&&this.handleAction(n,s),void(null==(t=r.parentElement)||t.classList.remove("show"))}const s=n.closest(".mfm-request-item");if(s){if(s.classList.contains("pending-item"))return;e.stopPropagation();const t=s.dataset.id;t&&v.selectRequest(t)}}}handleAction(e,t){const n=h.state.requests.find((e=>e.requestId===t));n&&(U(G(n,e)),v.clearOpenDropdown())}render(){const e=function(){const e=(h.state.ui.tabConfigs.OTHER.searchText||"").toLowerCase();return h.state.requests.filter((t=>{var n;return"MOCKED"!==t.interceptionType&&((null==(n=t.request)?void 0:n.url)||"").toLowerCase().includes(e)}))}(),t=h.state.ui.tabConfigs.OTHER.selectedRequestId,n=h.state.ui.activeDropdownId;if(!e||0===e.length)return void(this.element.querySelector(".mfm-empty")||(this.element.innerHTML='<div class="mfm-empty">No requests found</div>'));const o=this.element.querySelector(".mfm-empty");o&&o.remove();const r=e.map((e=>e.requestId));Array.from(this.element.querySelectorAll(".mfm-request-item")).forEach((e=>{r.includes(e.dataset.id||"")||e.remove()})),e.forEach(((e,o)=>{const r=this.element.querySelector(`[data-id="${e.requestId}"]`),s=Q.render(e),i=t===e.requestId,a=n===e.requestId,l=`${JSON.stringify(e).length}_${i}_${a}`;if(r){if(r.dataset.hash!==l){const e=document.createElement("div");e.innerHTML=s;const t=e.firstElementChild;t&&(t.dataset.hash=l,this.element.replaceChild(t,r))}}else{const e=document.createElement("div");e.innerHTML=s;const t=e.firstElementChild;if(!t)return;t.dataset.hash=l;const n=this.element.children[o];n?this.element.insertBefore(t,n):this.element.appendChild(t)}}))}destroy(){this.unsubscribe&&this.unsubscribe(),this.element.remove()}}function W(e){const t=document.createElement("div");t.id="mfm-root";const n=document.createElement("div");n.className="mfm-widget-toggle",n.innerHTML='\n <div class="mfm-toggle-section mfm-toggle-reload" title="Reload Mappings"><svg width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><path d="M21 12a9 9 0 1 1-9-9c2.52 0 4.93 1 6.74 2.74L21 8"></path><polyline points="21 3 21 8 16 8"></polyline></svg></div>\n <div class="mfm-toggle-divider"></div>\n <div class="mfm-toggle-section mfm-toggle-logo" title="MockForMe"><img src="https://ik.imagekit.io/mfm/static-collection/mfm-48x48.png" alt="Logo"></div>\n ';const o=document.createElement("div");o.className="mfm-main-container hidden",t.appendChild(n),t.appendChild(o),e.appendChild(t),function(e,t){const n=(t,n)=>{const o=e.getBoundingClientRect(),r=o.width||60,s=o.height||60,i=window.innerWidth-r,a=window.innerHeight-s,l=Math.max(0,Math.min(t,i)),d=Math.max(0,Math.min(n,a));e.style.left=`${l}px`,e.style.top=`${d}px`,e.style.bottom="auto",e.style.right="auto"},o=()=>{const e=localStorage.getItem("MFM_POSITION");if(e)try{const t=JSON.parse(e);"number"==typeof t.xPercent&&"number"==typeof t.yPercent&&n(t.xPercent*window.innerWidth,t.yPercent*window.innerHeight)}catch{}};o();let r=!1,s=0,i=0,a=0,l=0;const d=n=>{const o="touchstart"===n.type,d=o?n.touches[0].clientX:n.clientX,u=o?n.touches[0].clientY:n.clientY;r=!0,s=d,i=u;const p=e.getBoundingClientRect();a=p.left,l=p.top,t.dataset.moved="false",document.addEventListener("mousemove",c),document.addEventListener("mouseup",m),document.addEventListener("touchmove",c,{passive:!1}),document.addEventListener("touchend",m),e.style.transition="none"},c=e=>{if(!r)return;const o="touchmove"===e.type;o&&e.cancelable&&e.preventDefault();const d=o?e.touches[0].clientX:e.clientX,c=o?e.touches[0].clientY:e.clientY,m=d-s,u=c-i;(Math.abs(m)>5||Math.abs(u)>5)&&(t.dataset.moved="true"),n(a+m,l+u)},m=()=>{if(!r)return;r=!1,document.removeEventListener("mousemove",c),document.removeEventListener("mouseup",m),document.removeEventListener("touchmove",c),document.removeEventListener("touchend",m),e.style.transition="";const t=e.getBoundingClientRect();((e,t)=>{const n=e/window.innerWidth,o=t/window.innerHeight;localStorage.setItem("MFM_POSITION",JSON.stringify({xPercent:n,yPercent:o}))})(t.left,t.top)};t.addEventListener("mousedown",d),t.addEventListener("touchstart",d,{passive:!1}),window.addEventListener("resize",o),window.addEventListener("orientationchange",o)}(t,n),function(e){const t=document.createElement("div");t.className="mfm-header",t.innerHTML=`\n <div class="mfm-logo">\n <img src="${k}" height="32" alt="MockForMe Logo">\n </div>\n <div class="mfm-header-actions">\n <label class="mfm-switch" title="Toggle Mock Interception">\n <input type="checkbox" id="mfm-intercept-toggle" ${h.state.isInterceptEnabled?"checked":""}>\n <span class="mfm-slider"></span>\n </label>\n <button class="mfm-btn-icon" id="mfm-reload-header" title="Reload Mappings">\n <svg width="18" height="18" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-rotate-cw"><path d="M21 12a9 9 0 1 1-9-9c2.52 0 4.93 1 6.74 2.74L21 8"></path><polyline points="21 3 21 8 16 8"></polyline></svg>\n </button>\n <button class="mfm-btn-icon" id="mfm-delete-token" title="Delete Token">\n <svg width="18" height="18" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-trash-2"><path d="M3 6h18"></path><path d="M19 6v14c0 1-1 2-2 2H7c-1 0-2-1-2-2V6"></path><path d="M8 6V4c0-1 1-2 2-2h4c1 0 2 1 2 2v2"></path><line x1="10" y1="11" x2="10" y2="17"></line><line x1="14" y1="11" x2="14" y2="17"></line></svg>\n </button>\n <button class="mfm-btn-icon" id="mfm-close-widget" title="Close Widget">\n ${_}\n </button>\n </div>\n `,e.appendChild(t);const n=t.querySelector("#mfm-intercept-toggle"),o=t.querySelector("#mfm-reload-header"),r=t.querySelector("#mfm-delete-token"),s=t.querySelector("#mfm-close-widget");n&&(n.onchange=()=>{v.toggleInterception()}),o&&(o.onclick=()=>{o.innerHTML='<div class="mfm-spinner"></div>',o.style.pointerEvents="none",v.reloadMappings()}),r&&(r.onclick=()=>{v.deleteToken()}),s&&(s.onclick=()=>{v.toggleWidget()}),h.subscribe((e=>{n&&(n.checked=e.isInterceptEnabled)}))}(o),new q(o),function(e){var t,n;const o=document.createElement("div");o.className="mfm-tabs-container";const r=document.createElement("div");r.className="mfm-tabs-nav",[{id:"MAPPINGS",label:"Mappings"},{id:"MOCKED",label:"Mocked"},{id:"OTHER",label:"Others"}].forEach((e=>{const t=document.createElement("button");t.className="mfm-tab-btn "+(h.state.ui.selectedTab===e.id?"active":""),t.innerText=e.label,t.onclick=()=>{v.setTab(e.id)},t.dataset.tabId=e.id,r.appendChild(t)}));const s=document.createElement("div");s.className="mfm-tab-toolbar",s.innerHTML=`\n <div class="mfm-toolbar-row">\n <input type="text" class="mfm-input" id="mfm-search" placeholder="Search requests..." value="${(null==(t=h.state.ui.tabConfigs[h.state.ui.selectedTab])?void 0:t.searchText)||""}">\n <label class="mfm-preserve-logs">\n <input type="checkbox" id="mfm-preserve-check" ${(null==(n=h.state.ui.tabConfigs[h.state.ui.selectedTab])?void 0:n.isPreserveLogs)?"checked":""}>\n Preserve\n </label>\n <button class="mfm-btn-outline clear-btn" id="mfm-clear-btn" title="Clear requests">\n ${M}\n </button>\n </div>\n `;const i=document.createElement("div");i.className="mfm-tab-content",o.appendChild(r),o.appendChild(s),o.appendChild(i),e.appendChild(o);const a=new B(i),l=new V(i),d=new J(i),c=s.querySelector("#mfm-search"),m=s.querySelector("#mfm-clear-btn"),u=s.querySelector("#mfm-preserve-check"),p=s.querySelector(".mfm-preserve-logs");c&&(c.oninput=e=>{const t=e.target;v.setSearchText(t.value)}),m&&(m.onclick=()=>{v.clearRequests()}),u&&(u.onchange=e=>{const t=e.target;v.setPreserveLogs(Boolean(t.checked))});const f=()=>{const e=h.state.ui.selectedTab,t=h.state.ui.tabConfigs[e];if(r.querySelectorAll(".mfm-tab-btn").forEach((t=>{t.classList.toggle("active",t.dataset.tabId===e)})),c){const e=(null==t?void 0:t.searchText)||"";c.value!==e&&(c.value=e)}const n="MAPPINGS"===e;m&&(m.style.display=n?"none":"block"),p&&(p.style.display=n?"none":"flex"),!n&&u&&(u.checked=Boolean(null==t?void 0:t.isPreserveLogs)),a.element&&(a.element.style.display="MAPPINGS"===e?"block":"none"),l.element&&(l.element.style.display="MOCKED"===e?"block":"none"),d.element&&(d.element.style.display="OTHER"===e?"block":"none")};f(),h.subscribe((()=>f()))}(o),function(e){const t=document.createElement("div");t.className="mfm-bottomsheet",t.id="mfm-details-sheet",t.innerHTML='\n <div class="mfm-bottomsheet-header" style="justify-content: flex-start; gap: 8px; padding-right: 12px;">\n <button class="mfm-btn-icon back-btn" id="mfm-close-sheet" title="Back"><svg width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><polyline points="15 18 9 12 15 6"></polyline></svg></button>\n <div id="mfm-header-info" style="display: flex; align-items: baseline; gap: 6px; overflow: hidden; flex: 1; cursor: pointer;"></div>\n </div>\n <div class="mfm-bottomsheet-content"></div>\n ',e.appendChild(t);const n=t.querySelector("#mfm-close-sheet"),o=t.querySelector("#mfm-header-info");if(!n||!o)return;n.onclick=e=>{e.stopPropagation(),v.closeDetails()};let r=!1,s="TEXT",i={};const a=()=>{const e=P({sheet:t,infoContainer:o,isUrlExpanded:r,responseBodyMode:s,prevState:i});r=e.isUrlExpanded,s=e.responseBodyMode,i=e.prevState};o.onclick=()=>{r=!r,a()},h.subscribe(a),a()}(o);const r=e=>{const t=Boolean(e.token),r=o.querySelector(".mfm-header"),s=o.querySelector(".mfm-tabs-container"),i=o.querySelector(".mfm-token-form");r&&(r.style.display=t?"flex":"none"),s&&(s.style.display=t?"block":"none"),i&&(i.style.display=t?"none":"block"),o.classList.toggle("hidden",!e.isOpen),n.classList.toggle("hidden",e.isOpen)};h.subscribe(r),r(h.state);const s=n.querySelector(".mfm-toggle-reload"),i=n.querySelector(".mfm-toggle-logo");return s&&(s.onclick=e=>{e.stopPropagation(),"true"!==n.dataset.moved&&(h.state.token?v.reloadMappings():h.update("isOpen",!0))}),i&&(i.onclick=e=>{e.stopPropagation(),"true"!==n.dataset.moved&&(h.state.token?v.toggleWidget():h.update("isOpen",!0))}),window.addEventListener("click",(e=>{const t=e.target;(null==t?void 0:t.closest(".mfm-dropdown"))||v.clearOpenDropdown()})),t}function X(e){i.info("Initializing MockForMe Widget");let t=null;const n=e=>{e&&(t=W(e))},o=()=>e||document.body;o()?n(o()):"loading"===document.readyState?document.addEventListener("DOMContentLoaded",(()=>n(o()))):document.body&&n(document.body),m();const s={[r.MFM_RES_MAPPINGS]:e=>{if(!e)return;const t=h.state.isMappingsLoading;if(e.token&&!h.state.token&&(i.info("Setting token from incoming MFM_RES_MAPPINGS"),h.update("token",e.token),localStorage.setItem("MFM_TOKEN",e.token)),h.set("mappings",e),h.update("isMappingsLoading",!1),h.state.isTokenValidating){const e=localStorage.getItem("MFM_TOKEN_TEMP")||h.state.token;e&&(h.update("token",e),localStorage.setItem("MFM_TOKEN",e),localStorage.removeItem("MFM_TOKEN_TEMP")),h.update("isTokenValidating",!1),h.update("isTokenLoading",!1),v.flushQueue()}w(),t&&!h.state.ui.tokenError&&x("Mappings reloaded successfully")},[r.MFM_REQ]:e=>{e&&(i.info("Captured Request",e),v.addRequest(e))},[r.MFM_RES]:e=>{e&&(i.info("Captured Response",e),v.addRequest(e))},[r.MFM_TOKEN_ERROR]:e=>{E(r.MFM_TOKEN_ERROR,e)},[r.MFM_TOKEN_API_FAILED]:e=>{E(r.MFM_TOKEN_API_FAILED,e)},[r.MFM_TOGGLE_INTERCEPTION]:e=>{e&&"boolean"==typeof e.enabled&&v.toggleInterception(e.enabled)}},l=Object.keys(s).map((e=>function(e,t){m(),a.has(e)||a.set(e,new Set);const n=a.get(e);return n.add(t),()=>{n.delete(t)}}(e,(t=>{(0,s[e])(t)}))));return h.state.token&&v.fetchSavedMappings(),{destroy(){l.forEach((e=>e())),t&&t.remove()},actions:v}}const Y={run:X,initMFM:X,actions:v};window.MFM=Y}},t={};function n(o){var r=t[o];if(void 0!==r)return r.exports;var s=t[o]={exports:{}};return e[o](s,s.exports,n),s.exports}n.d=(e,t)=>{for(var o in t)n.o(t,o)&&!n.o(e,o)&&Object.defineProperty(e,o,{enumerable:!0,get:t[o]})},n.o=(e,t)=>Object.prototype.hasOwnProperty.call(e,t),n.r=e=>{"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})};var o={};n.d(o,{mockforme:()=>B});const r=()=>"undefined"!=typeof process&&null!=process.versions?.node,s=e=>{try{return e?e.toLowerCase():e}catch(e){return console.log(e),null}},i=(e,t)=>{const n=e.split("/"),o=t.split("/");if(n.length!==o.length)return!1;for(let e=0;e<n.length;e++){const t=n[e];if(t!==o[e]&&":any"!==t)return!1}return!0};let a=[];function l(e){a=e}function d(){return a}function c(e,t="get"){const n=e=>e.startsWith("/")?e:`/${e}`,o=n(e);for(const r of a)if(s(r.apiMethod)===s(t)){const s=n(r.apiEndpoint);if(s===o||i(s,o)){console.log(`[MockForMe] Match Found: ${t} ${e} -> ${r.apiEndpoint}`);const n={url:e,method:r.apiMethod,_ack:r._ack||null};return r._ri_&&(n._ri_=r._ri_),n}}return null}const m="JAVASCRIPT",u="CHROME_EXTENSION",p="mfmver",f="mockforme",h="8.1.0",g="https://api.mockforme.com",b=`${g}/mockforme`,y=`${g}/gateway/3f4eae522b`;let v=null,x=null,w=null,E=[];function k({_o:e,mk:t,_mck:n,_rules:o}){v=e,x=t,w=n,E=o}function M(){return E}function _(){return`${b}/${v}/${x}`}function R(){return w}const q=e=>{try{return new URL(e,window.location.origin).toString()}catch{return e}},T=function(e,t,n){const o=r();var s;function i(){if(4==s.readyState)if(s.status.toString().match(/^20[0-9]$/)){var e=function(){var e=s.getResponseHeader("Content-Type"),t=s.responseText;if(e){var n=e.split(";");try{return"application/json"===n[0]?JSON.parse(t):t}catch(e){throw"Unable to convert response header"}}}();t.call(this,e,s)}else n.call(this,s.responseText,s)}function a(e,t){var n=[];for(var o in e)if(e.hasOwnProperty(o)){var r=t?t+"["+o+"]":o,s=e[o];n.push("object"==typeof s?a(s,r):encodeURIComponent(r)+"="+encodeURIComponent(s))}return n.join("&")}return o||(window.XMLHttpRequest?s=new XMLHttpRequest:window.ActiveXObject&&(s=new ActiveXObject("Microsoft.XMLHTTP"))),{request:function(){if(!o){if(window.XMLHttpRequest)s.onload=i;else{if(!window.ActiveXObject)throw"unable to process ajax";s.onreadystatechange=i}var t=a(e.params);if("get"==e.method.toLowerCase()&&"object"==typeof e.params){if(-1==e.url.indexOf("?"))e.url+="?";else{var n=e.url.split("?");n[1]&&n[1].split("=")[1]&&(e.url+="&")}e.url+=t}e.hasOwnProperty("async")||(e.async=!0),s.open(e.method,e.url,e.async),e.headers&&function(e){for(let t in e)s.setRequestHeader(t,e[t])}(e.headers),s.send(t)}}}};function S({di:e,iv:t},n){var o;const r=function(e,t){const n=t.length;return e.split("").map(((e,o)=>String.fromCharCode(e.charCodeAt(0)^t.charCodeAt(o%n)))).join("")}((o=e,"undefined"!=typeof Buffer?Buffer.from(o,"base64").toString("utf8"):decodeURIComponent(escape(atob(o)))),n+t);return JSON.parse(r)}function C(e,t,n,o){fetch(y,{method:"GET",headers:{[f]:e,[p]:h,"x-mfm-adaptor":t}}).then((e=>{if(!e.ok)throw e;return e.json()})).then((e=>{if(e){const{di:t,iv:o,_o:r,_mck:s,mk:i,r:a}=e,d=S({di:t,iv:o},r);k({_o:r,mk:i,_mck:s,_rules:a}),d&&(l(d),n(d,{_o:r,mk:i,_mck:s,_rules:a}))}})).catch((e=>{console.error("Error in loading mocked APIs:",e),o(e)}))}const I="MFM_TOKEN_ERROR",O=new class{constructor(e={}){r()||(this.token=e.token||("undefined"!=typeof localStorage?localStorage.getItem("MFM_TOKEN"):null),this.isAuthenticated=!!this.token,this.onAuthSuccess=e.onAuthSuccess||(()=>{}),this.mappings=e.mappings||[],this.rules=e.rules||[],this.widgetKey=e.widgetKey||null,this.interceptionEnabled="undefined"==typeof localStorage||"false"!==localStorage.getItem("MFM_INTERCEPTION_ENABLED"),this.setupMessageListeners())}setupMessageListeners(){"undefined"!=typeof window&&window.addEventListener("message",(e=>{const{type:t,payload:n}=e.data||{};if(t&&"string"==typeof t&&t.startsWith("MFM_"))switch(t){case"MFM_REQ_MAPPINGS":this.refreshMappings();break;case"MFM_REQ_SAVED_MAPPINGS":this.handleReqSavedMappings();break;case"MFM_SUBMIT_TOKEN":this.handleTokenSubmission(n?.token);break;case"MFM_DEL_CLIENT_TOKEN":this.handleTokenDeletion();break;case"MFM_TOGGLE_INTERCEPTION":this.interceptionEnabled=!!n?.enabled,"undefined"!=typeof localStorage&&localStorage.setItem("MFM_INTERCEPTION_ENABLED",this.interceptionEnabled)}}))}init(){if("undefined"!=typeof document&&this.checkVisibility()&&("undefined"!=typeof window&&Promise.resolve().then(n.bind(n,133)).then((()=>{window.MFM&&"function"==typeof window.MFM.run&&window.MFM.run()})).catch((e=>{console.error("[MockForMe] Failed to load mfm-widget",e)})),console.log("[MockForMe] Widget initialized"),this.token)){const e=this.getSavedMappings();e&&(this.mappings=e.mappings||[],this.rules=e.meta?._rules||[],this.onAuthSuccess(this.token,this.mappings,e.meta),this.updateMappings(this.mappings,e.meta))}}setWidgetKey(e){this.widgetKey=e,this.init()}checkVisibility(){return!this.widgetKey||"undefined"!=typeof localStorage&&localStorage.getItem("widgetKey")===this.widgetKey}handleTokenSubmission(e){e&&(this.token=e,this.isAuthenticated=!0,"undefined"!=typeof localStorage&&localStorage.setItem("MFM_TOKEN",e),this.refreshMappings())}handleTokenDeletion(){this.token=null,this.isAuthenticated=!1,"undefined"!=typeof localStorage&&(localStorage.removeItem("MFM_TOKEN"),localStorage.removeItem("MFM_CACHED_MAPPINGS")),this.mappings=[],this.rules=[],this.onAuthSuccess(null,[],{_rules:[]}),this.updateMappings([],{_rules:[]})}refreshMappings(){this.token&&C(this.token,"JAVASCRIPT",((e,t)=>{this.mappings=e||[],this.rules=t?._rules||[],this.saveMappings(e,t),this.onAuthSuccess(this.token,this.mappings,t),this.updateMappings(this.mappings,t)}),(e=>{console.error("[MockForMe] Failed to fetch mappings",e),e instanceof Response&&e.headers&&"true"===e.headers.get("mfm-invalid-token")&&this.sendMessage(I,{message:"Unauthorized: Invalid token"}),this.updateMappings([],{_rules:[]})}))}saveMappings(e,t){if("undefined"!=typeof localStorage)try{localStorage.setItem("MFM_CACHED_MAPPINGS",JSON.stringify({mappings:e,meta:t}))}catch(e){console.error("[MockForMe] Failed to save mappings to storage",e)}}handleReqSavedMappings(){const e=this.getSavedMappings();e?(this.mappings=e.mappings||[],this.rules=e.meta?._rules||[],this.onAuthSuccess(this.token,this.mappings,e.meta),this.updateMappings(this.mappings,e.meta)):this.refreshMappings()}getSavedMappings(){if("undefined"==typeof localStorage)return null;try{const e=localStorage.getItem("MFM_CACHED_MAPPINGS");return e?JSON.parse(e):null}catch(e){return null}}updateMappings(e,t){this.sendMessage("MFM_RES_MAPPINGS",{apis:e.map((e=>({method:e.apiMethod,url:e.apiEndpoint}))),rules:(t?._rules||[]).map((e=>{const t="object"==typeof e.rule&&null!==e.rule?e.rule:{},n={...e,...t},o=n.timingAction||{},r=o.activeAction||"MODIFY";let s="MODIFY";"delay"===r?s="DELAY":"delay_and_timeout"===r?s="TIMEOUT":"delay_and_redirect"===r&&(s="REDIRECT");const i={ruleName:n.ruleName||n._id||"Unnamed Rule",type:s,conditions:n.conditions||[],modificationActions:n.modificationActions||{}};return("MODIFY"!==s||o.activeAction)&&(i.timingAction=o),i})),token:this.token})}addRequest(e,t){if(!this.interceptionEnabled)return;const n=e=>{if(!e)return{};let t={};return"string"==typeof e?e.split("\r\n").forEach((e=>{const n=e.split(": "),o=n.shift();o&&(t[o]=n.join(": "))})):t="function"==typeof e.entries?Object.fromEntries(e.entries()):e,Object.keys(t).reduce(((e,n)=>(e[n.toLowerCase()]=t[n],e)),{})},o={requestId:t.requestId||Math.random().toString(36).substring(7),interceptionType:"mocked"===e?"MOCKED":"OTHER",request:{method:t.method,url:t.url,headers:n(t.requestHeaders||t.headers),body:t.requestBody||t.body},response:t.pending&&void 0===t.status?null:{statusCode:t.status,headers:n(t.responseHeaders),body:t.responseBody,endTime:(new Date).toISOString()},rule:t.rule};if(t.pending)this.sendMessage("MFM_REQ",o);else if(this.sendMessage("MFM_RES",o),o.response&&o.response.headers){const e=o.response.headers["mfm-invalid-token"];if("true"===e||!0===e){const{message:e}=t.responseBody;console.warn("[MockForMe] Invalid token detected from response headers"),this.sendMessage(I,{message:e||"Unauthorized: Invalid token detected from response headers"}),this.handleTokenDeletion()}}}sendMessage(e,t){"undefined"!=typeof window&&window.postMessage({type:e,payload:t},"*")}};class L{static match(e,t){if(!Array.isArray(t)||0===t.length)return!1;const{url:n,headers:o,queryParams:r,body:s}=e,i="undefined"!=typeof window?window.location.origin:globalThis.location?.origin||"http://localhost";for(const e of t){let t="";const{type:a,key:l,operator:d,value:c}=e;switch(a){case"URL":try{t=new URL(n,i).pathname}catch{t=n}break;case"QUERY_PARAM":if(r&&void 0!==r[l])t=String(r[l]);else try{t=new URL(n,i).searchParams.get(l)||""}catch{t=""}break;case"REQUEST_BODY":if(l){if("object"==typeof s&&null!==s)t=void 0!==s[l]?String(s[l]):"";else if("string"==typeof s)try{const e=JSON.parse(s);t=void 0!==e[l]?String(e[l]):""}catch{t=""}}else t="object"==typeof s?JSON.stringify(s):String(s||"");break;case"REQUEST_HEADER":if(l){const e=l?.toLowerCase();if(t="",o){const n=Object.keys(o).find((t=>t.toLowerCase()===e));t=n?String(o[n]):""}}else t=JSON.stringify(o||{});break;default:return!1}if(!this.evaluate(t,d,c))return!1}return!0}static evaluate(e,t,n){const o=t?.toLowerCase(),r=String(e),s=String(n);switch(o){case"contains":return r.includes(s);case"equal":case"equals":return r===s;case"regexp":try{let e=s;if(e.startsWith("/")&&e.lastIndexOf("/")>0){const t=e.lastIndexOf("/"),n=e.slice(1,t),o=e.slice(t+1);return new RegExp(n,o).test(r)}return new RegExp(e).test(r)}catch{return!1}default:return!1}}}class A{static async apply(e){if(!e||!e.activeAction)return{type:"passThrough",delay:0};const{activeAction:t,actions:n}=e,o=n?.[t];if(!o)return{type:"passThrough",delay:0};const r={type:"passThrough",delay:0},s=Number(o.value||0);switch(t){case"delay":r.delay=s,r.delay>0&&await new Promise((e=>setTimeout(e,1e3*r.delay)));break;case"redirect":case"delay_and_redirect":r.type="redirect",r.delay=s,r.redirectUrl=o.redirectUrl,r.delay>0&&await new Promise((e=>setTimeout(e,1e3*r.delay)));break;case"delay_and_timeout":r.type="timeout",r.delay=s,r.delay>0&&await new Promise((e=>setTimeout(e,1e3*r.delay)))}return r}}class N{static applyRequestModifications(e,t){if(!t)return e;let{url:n,method:o,headers:r,queryParams:s,body:i}={...e};r&&(r={...r}),s&&(s={...s});const{modifyQueryParams:a,modifyRequestBody:l,modifyRequestHeaders:d}=t;if(a?.enabled)try{const e=new URL(n,"undefined"!=typeof window?window.location.href:"http://localhost");Array.isArray(a.remove)&&a.remove.forEach((t=>{e.searchParams.delete(t),s&&delete s[t]})),Array.isArray(a.add)&&a.add.forEach((({key:t,value:n})=>{e.searchParams.set(t,n),s&&(s[t]=n)})),n=e.toString()}catch(e){console.error("[MockForMe] Failed to modify query params",e)}d?.enabled&&(r={...r},Array.isArray(d.remove)&&d.remove.forEach((e=>{const t=e.toLowerCase(),n=Object.keys(r).find((e=>e.toLowerCase()===t));n&&delete r[n]})),Array.isArray(d.add)&&d.add.forEach((({key:e,value:t})=>{r[e]=t})));const c=String(o||"GET").toUpperCase(),m="GET"===c||"HEAD"===c;if(l?.enabled&&!m)try{let e=null;if("string"==typeof i)try{e=JSON.parse(i)}catch{e={}}else if("object"==typeof i&&null!==i)try{e=JSON.parse(JSON.stringify(i))}catch{e={...i}}else(Array.isArray(l.add)&&l.add.length>0||Array.isArray(l.update)&&l.update.length>0)&&(e={});e&&(Array.isArray(l.remove)&&l.remove.forEach((t=>delete e[t])),Array.isArray(l.add)&&l.add.forEach((({key:t,value:n})=>e[t]=n)),Array.isArray(l.update)&&l.update.forEach((({key:t,value:n})=>e[t]=n)),i=JSON.stringify(e))}catch(e){console.error("[MockForMe] Failed to modify request body",e)}return{...e,url:n,headers:r,queryParams:s,body:i}}static applyResponseModifications(e,t){if(!t?.modifyResponseHeaders?.enabled)return e;const{modifyResponseHeaders:n}=t,o={...e};return Array.isArray(n.remove)&&n.remove.forEach((e=>{const t=e.toLowerCase(),n=Object.keys(o).find((e=>e.toLowerCase()===t));n&&delete o[n]})),Array.isArray(n.add)&&n.add.forEach((({key:e,value:t})=>{o[e]=t})),o}}class j{static match(e,t){if(!Array.isArray(t)||0===t.length)return null;for(const n of t){const t=n.rule||n;if(t.conditions&&Array.isArray(t.conditions)&&L.match(e,t.conditions)){const e=t.timingAction?.activeAction||"";return{action:e,config:t.timingAction?.actions?.[e]||{},rule:t}}}return null}static async apply(e,t){if(!e)return null;const n=e.rule||e,o=N.applyRequestModifications(t,n.modificationActions);return{...await A.apply(n.timingAction),modifiedRequest:o,rule:n}}static applyResponseModifications(e,t){return N.applyResponseModifications(e,t)}}class P{static apply({target:e=("undefined"!=typeof window?window:globalThis),originalFetch:t=e.fetch,ruleProvider:n=()=>[],mappingProvider:o=e=>null,onBeforeRequest:r=e=>{},onRuleMatch:s=async(e,t,n,o,r)=>null,onMockMatch:i=async(e,t,n,o,r)=>null,onOtherRequest:a=async(e,t,n,o)=>null,isEnabled:l=()=>!0}){t&&(e.fetch=async function(e,d={}){if(!l())return t(e,d);let c;try{const t="string"==typeof e?e:e.url,n=String(d.method||(e instanceof Request?e.method:"GET")).toUpperCase().trim(),o=Math.random().toString(36).substring(7);c={url:t,method:n,headers:d.headers||(e instanceof Request?e.headers:{}),body:d.body||(e instanceof Request?"{binary/stream}":null),requestId:o,queryParams:P.getQueryParams(t)},r(c)}catch(n){return console.warn("[MockForMe] Fetch Interceptor Setup Error:",n),t(e,d)}try{const r=n(),l=j.match(c,r);if(l){const n=await s(l,c,e,d,t);if(n)return n}const m=o(c);if(m){const n=await i(m,c,e,d,t);if(n)return n}const u=await a(c,e,d,t);if(u)return u}catch(e){if(e.message.includes("timed out")||"AbortError"===e.name||e.message.includes("rules"))throw e;throw console.warn("[MockForMe] Interceptor Hook Error:",e),e}return t(e,d)})}static getQueryParams(e){try{const t="undefined"!=typeof window?window.location.origin:"http://localhost",n=new URL(e,t).searchParams;return Object.fromEntries(n.entries())}catch{return{}}}}class ${static apply({target:e=("undefined"!=typeof window?window:{}),OriginalXHR:t=e.XMLHttpRequest,ruleProvider:n=()=>[],mappingProvider:o=e=>null,onBeforeRequest:r=e=>{},onRuleMatch:s=(e,t,n,o)=>{o.call(n.proxy,t.body)},onMockMatch:i=(e,t,n,o)=>{o.call(n.proxy,t.body)},onOtherRequest:a=(e,t,n)=>{n.call(t.proxy,e.body)},isEnabled:l=()=>!0}){t&&(e.XMLHttpRequest=class{constructor(){return this._xhr=new t,this._headers={},this._method=null,this._url=null,this._body=null,this._requestId=null,this._startTime=null,this._captured=!1,this._isMocked=!1,this.proxy=new Proxy(this,{get:(e,t)=>{if(t in e)return e[t];const n=e._xhr[t];return"function"==typeof n?n.bind(e._xhr):n},set:(e,t,n)=>t in e?(e[t]=n,!0):(e._xhr[t]=n,!0)}),this.proxy}_capture(e,t,n,o={}){if(this._captured)return;this._captured=!0;const r=e=>{const t=`on${e}`;(this[t]||this._xhr[t])?.(),this._xhr.dispatchEvent(new Event(e))};if("Aborted"!==e)try{Object.defineProperty(this.proxy,"responseText",{value:t,configurable:!0}),Object.defineProperty(this.proxy,"response",{value:t,configurable:!0}),Object.defineProperty(this.proxy,"status",{value:Number(e)||0,configurable:!0}),Object.defineProperty(this.proxy,"statusText",{value:200==e?"OK":"",configurable:!0})}catch(e){console.warn("[MockForMe] Error setting XHR props",e)}Object.defineProperty(this.proxy,"readyState",{value:4,configurable:!0}),r("readystatechange"),"Aborted"===e||o.aborted?r("abort"):0===e||"Error"===e||o.error?r("error"):"Timeout"===e||o.timeout?r("timeout"):r("load")}open(e,t,n=!0,o=null,r=null){this._method=(e||"").toUpperCase().trim();try{this._url=new URL(t,"undefined"!=typeof window?window.location.href:"http://localhost").toString()}catch(e){this._url=t}return this._xhr.open(e,t,n,o,r)}setRequestHeader(e,t){return this._headers[e]=t,this._xhr.setRequestHeader(e,t)}send(e){if(!l())return this._xhr.send(e);this._body=e,this._requestId=Math.random().toString(36).substring(7),this._startTime=Date.now();const t={url:this._url,method:this._method,headers:this._headers,body:this._body,requestId:this._requestId,startTime:this._startTime,queryParams:$.getQueryParams(this._url)};r(t);const d=n(),c=j.match(t,d),m=e=>this._xhr.send(e);if(c)return this._isMocked=!0,s(c,t,this,m);const u=o(t);return u?(this._isMocked=!0,i(u,t,this,m)):(this._isMocked=!1,a(t,this,m))}})}static getQueryParams(e){try{const t="undefined"!=typeof window?window.location.origin:"http://localhost",n=new URL(e,t).searchParams;return Object.fromEntries(n.entries())}catch{return{}}}}const D=(e,t=null,n=m)=>{if(r())return;let o="string"==typeof e?e:e?.token,s="object"==typeof e?e?.widgetKey:null;if(s?O.setWidgetKey(s):O.init(),n===m)try{o&&("undefined"!=typeof localStorage&&(localStorage.removeItem("mockforme-token"),localStorage.setItem("MFM_TOKEN",o)),O.token=o,O.isAuthenticated=!0),!o&&O.token&&(o=O.token),O.onAuthSuccess=(e,t,n)=>{l(t),k(n),O.updateMappings(t,n)}}catch(e){console.log("Error in showing mockforme widget",e)}t||={mappings:[],_o:null,mk:null,_mck:null,_rules:[]};const{mappings:i=[],_o:a,mk:g,_mck:b,_rules:v=[]}=t;return l(i),k({_o:a,mk:g,_mck:b,_rules:v}),{run:(e,t=()=>{})=>{if(function(e,t){if("undefined"!=typeof window){if(window._mfm_intercepted)return;window._mfm_intercepted=!0}const n=()=>O.token||e;P.apply({isEnabled:()=>O.interceptionEnabled,ruleProvider:()=>M(),mappingProvider:e=>{try{return c(new URL(e.url,window.location.origin).pathname,e.method)}catch{return null}},onRuleMatch:async(e,t,n,o,r)=>{const s=t.requestId||Math.random().toString(36).substring(7),i=Date.now();O.addRequest("mocked",{...t,requestId:s,pending:!0,startTime:i,rule:e});const a=await j.apply(e,t),{modifiedRequest:l,type:d,delay:c,redirectUrl:m}=a;if("timeout"!==d&&O.addRequest("mocked",{...l,requestId:s,pending:!0,startTime:i,rule:e}),"timeout"===d){const t=Date.now()-i;throw O.addRequest("mocked",{...l,requestId:s,status:"Aborted",pending:!1,duration:t,aborted:!0,rule:e}),new Error("Fetch timed out by rules")}if("redirect"===d&&!m)throw new Error("rules: Redirect missing URL");let u="redirect"===d?m:l.url,p={...o};l.headers&&(p.headers=l.headers),l.body&&(p.body=l.body);let f=null;if("redirect"===d){f=Math.random().toString(36).substring(7);const e={url:m,method:l.method,headers:p.headers||{},body:p.body,requestId:f,queryParams:P.getQueryParams(m),requestHeaders:p.headers||{},requestBody:p.body,pending:!0,startTime:Date.now()};O.addRequest("mocked",e)}return r(u,p).then((async e=>{const t=Date.now()-i;let n=Object.fromEntries(e.headers.entries());if(a.rule.modificationActions?.modifyResponseHeaders?.enabled&&(n=j.applyResponseModifications(n,a.rule.modificationActions)),"redirect"===d&&f){const t=e.clone(),o=t.headers.get("content-type")||"",r=Date.now()-i;try{let s;s=o.includes("application/json")?await t.json():await t.text(),O.addRequest("mocked",{url:m,method:l.method,requestId:f,status:e.status,pending:!1,duration:r,responseHeaders:n,responseBody:s,requestHeaders:p.headers||{},requestBody:p.body})}catch(t){O.addRequest("mocked",{url:m,method:l.method,requestId:f,status:e.status,pending:!1,duration:r,responseHeaders:n,requestHeaders:p.headers||{},requestBody:p.body})}}return O.addRequest("mocked",{...l,requestId:s,status:e.status,pending:!1,duration:t,responseHeaders:n,rule:a.rule}),e})).catch((e=>{const t=Date.now()-i,n="AbortError"===e.name||e.message.includes("aborted");if(O.addRequest("mocked",{...l,requestId:s,status:n?"Aborted":0,pending:!1,duration:t,rule:a.rule}),"redirect"===d&&f&&O.addRequest("mocked",{url:m,method:l.method,requestId:f,status:n?"Aborted":0,pending:!1,duration:t,error:!n}),"redirect"===d){const t=e.message||"Redirect failed";if(!t.includes("rules"))throw new Error(`rules: Redirect failed - ${t}`)}throw e}))},onMockMatch:async(e,o,r,s,i)=>{const a=o.requestId||Math.random().toString(36).substring(7),l=Date.now();O.addRequest("mocked",{...o,requestId:a,pending:!0,startTime:l});const d=n(),c=new URL(o.url,window.location.origin).search;let m=`${_()}${e.url}${c}`,g={[f]:d,[p]:h,"x-mfm-adaptor":t};const b=R();b&&e._ack&&(g["x-mfm-key"]=`${b}-${e._ack}`),e?._ri_&&(g._ri_=e._ri_);const y=r instanceof Request?r.headers:s.headers,v=new Headers(y||{});Object.entries(g).forEach((([e,t])=>v.set(e,t))),v.set("x-mfm-internal","true");let x=s.body;if(!x&&r instanceof Request){const e=r.clone();"GET"!==e.method&&"HEAD"!==e.method&&(x=await e.text())}const w={method:o.method,headers:v,credentials:r instanceof Request&&r.credentials||s.credentials||"include",mode:r instanceof Request&&r.mode||s.mode||"cors"};return t===u?(({actualUrl:e,url:t,method:n,headers:o,body:r,credentials:s,mode:i,rule:a})=>{const l=`${Date.now()}-${Math.random()}`,d=q(t);return new Promise(((t,c)=>{window.addEventListener("message",(function e(n){if(n.source!==window)return;const o=n.data;if("INTERCEPTED_RESPONSE"===o?.type&&o?.requestId===l){if(window.removeEventListener("message",e),o?.response?.error)return c(new Error(o.response.message));const{status:n,headers:r,body:s}=o.response,i=new Response(s,{status:n,headers:r});i._rawHeaders=r,t(i)}})),window.postMessage({type:"REQUEST_INTERCEPTED",requestId:l,payload:{actualUrl:e,url:d,method:n,headers:o,body:r,credentials:s,mode:i,rule:a}},"*")}))})({actualUrl:o.url,url:m,method:o.method,headers:Object.fromEntries(v.entries()),body:x,credentials:w.credentials,mode:w.mode}).then((e=>(e.clone().text().then((t=>{const n=Date.now()-l,r=e._rawHeaders||Object.fromEntries(e.headers.entries());O.addRequest("mocked",{...o,requestId:a,status:e.status,responseHeaders:r,responseBody:t,pending:!1,duration:n})})),e))):(x&&(w.body=x),i(m,w).then((async e=>{const t=e.clone(),n=t.headers.get("content-type")||"",r=Date.now()-l,s=n=>(O.addRequest("mocked",{...o,requestId:a,status:e.status,responseHeaders:Object.fromEntries(t.headers.entries()),responseBody:n,pending:!1,duration:r}),new Response("string"==typeof n?n:JSON.stringify(n),{status:e.status,headers:t.headers}));return n.includes("application/json")?t.json().then(s):t.text().then(s)})).catch((e=>{const t=Date.now()-l;return O.addRequest("mocked",{...o,requestId:a,status:0,pending:!1,duration:t}),i(r,s)})))},onOtherRequest:async(e,t,n,o)=>{const r=n?.headers||(t instanceof Request?t.headers:{});let s=!1;r instanceof Headers?s="true"===r.get("x-mfm-internal"):"object"==typeof r&&(s="true"===r["x-mfm-internal"]);const i=_();if(e.url.startsWith(i)&&(s=!0),"OPTIONS"===e.method||s)return o(t,n);const a=e.requestId,l=Date.now();return O.addRequest("other",{...e,requestId:a,pending:!0,startTime:l}),o(t,n).then((async t=>{const n=t.clone(),o=Date.now()-l,r=Object.fromEntries(t.headers.entries());O.addRequest("other",{...e,requestId:a,status:t.status,responseHeaders:r,pending:!0,duration:o});try{const s=await n.text();O.addRequest("other",{...e,requestId:a,status:t.status,responseHeaders:r,responseBody:s,pending:!1,duration:o})}catch(n){O.addRequest("other",{...e,requestId:a,status:t.status,responseHeaders:r,pending:!1,duration:o})}return t})).catch((t=>{const n=Date.now()-l,o="AbortError"===t.name||t.message.includes("aborted"),r="TimeoutError"===t.name||t.message.includes("timed out");throw O.addRequest("other",{...e,requestId:a,status:o?"Aborted":r?"Timeout":"Error",pending:!1,duration:n,aborted:o,timeout:r,error:!o&&!r}),t}))}}),$.apply({isEnabled:()=>O.interceptionEnabled,ruleProvider:()=>M(),mappingProvider:e=>{try{return c(new URL(e.url,window.location.origin).pathname,e.method)}catch{return null}},onRuleMatch:async(e,t,n,o)=>{const r=t.requestId,s=Date.now();O.addRequest("mocked",{...t,requestId:r,pending:!0,startTime:s,rule:e});const i=await j.apply(e,t),{modifiedRequest:a,type:l,redirectUrl:d}=i;"timeout"!==l&&O.addRequest("mocked",{...a,requestId:r,pending:!0,startTime:s,rule:e});let c=null;if("redirect"===l){c=Math.random().toString(36).substring(7);const e={url:d,method:a.method,headers:a.headers||{},body:a.body,requestId:c,queryParams:(()=>{try{const e="undefined"!=typeof window?window.location.origin:"http://localhost",t=new URL(d,e).searchParams;return Object.fromEntries(t.entries())}catch{return{}}})(),requestHeaders:a.headers||{},requestBody:a.body,pending:!0,startTime:Date.now()};O.addRequest("mocked",e)}const m=(e,t,o,m={})=>{const u=Date.now()-s;if(i.rule.modificationActions?.modifyResponseHeaders?.enabled){let e="string"==typeof o?Object.fromEntries(o.split("\r\n").filter((e=>e)).map((e=>e.split(": ")))):o;e=j.applyResponseModifications(e,i.rule.modificationActions),o=e}O.addRequest("mocked",{...a,requestId:r,status:e,responseBody:t,responseHeaders:o,pending:!1,duration:u,rule:i.rule,...m}),"redirect"===l&&c&&O.addRequest("mocked",{url:d,method:a.method,requestId:c,status:e,responseBody:t,responseHeaders:o,pending:!1,duration:u,requestHeaders:a.headers||{},requestBody:a.body,...m}),n._capture(e,t,o,m)};if("timeout"===l)return m("Aborted","Timed out by rule",{},{aborted:!0}),void n._xhr.abort();if("redirect"===l){if(!d)return void m(0,"Redirect missing URL",{},{error:!0});n._xhr.open(a.method,d,!0)}else a.url!==t.url&&n._xhr.open(a.method,a.url,!0);a.headers&&Object.entries(a.headers).forEach((([e,t])=>{try{n._xhr.setRequestHeader(e,t)}catch(e){}})),n._xhr.addEventListener("abort",(()=>m("Aborted","Aborted",{},{aborted:!0})),{once:!0}),n._xhr.addEventListener("error",(()=>m(0,"Error",{},{error:!0})),{once:!0}),n._xhr.addEventListener("timeout",(()=>m("Timeout","Timeout",{},{timeout:!0})),{once:!0}),n._xhr.addEventListener("load",(()=>m(n._xhr.status,n._xhr.responseText,n._xhr.getAllResponseHeaders())),{once:!0}),o(a.body)},onMockMatch:(e,o,r,s)=>{const i=o.requestId,a=Date.now(),l=n(),d=new URL(o.url,window.location.origin);let c=`${_()}${e.url}${d.search}`,m={[f]:l,[p]:h,"x-mfm-adaptor":t};const g=R();g&&e._ack&&(m["x-mfm-key"]=`${g}-${e._ack}`),e?._ri_&&(m._ri_=e._ri_),m["x-mfm-internal"]="true";const b={...o.headers,...m};O.addRequest("mocked",{...o,requestId:i,pending:!0,startTime:a});const y=(e,t,n,s={})=>{const l=Date.now()-a;O.addRequest("mocked",{...o,requestId:i,status:e,responseBody:t,responseHeaders:n,pending:!1,duration:l,...s}),r._capture(e,t,n,s)};if(r._xhr.addEventListener("abort",(()=>y("Aborted","Aborted",{},{aborted:!0})),{once:!0}),r._xhr.addEventListener("error",(()=>y(0,"Error",{},{error:!0})),{once:!0}),r._xhr.addEventListener("timeout",(()=>y("Timeout","Timeout",{},{timeout:!0})),{once:!0}),t===u)(({actualUrl:e,url:t,method:n,headers:o,body:r,onSuccess:s,onError:i,rule:a})=>{const l=`${Date.now()}-${Math.random()}`,d=q(t);window.addEventListener("message",(function e(t){if(t.source!==window)return;const n=t.data;if("INTERCEPTED_RESPONSE"===n.type&&n.requestId===l){if(window.removeEventListener("message",e),n.response?.error)return i?.(n.response.message);const{body:t,status:o,headers:r}=n.response;s?.({body:t,status:o,headers:r})}})),window.postMessage({type:"REQUEST_INTERCEPTED",requestId:l,payload:{actualUrl:e,url:d,method:n,headers:o,body:r,credentials:"same-origin",mode:"cors",rule:a}},"*")})({actualUrl:o.url,url:c,method:o.method,headers:b,body:o.body,onSuccess:({body:e,status:t,headers:n})=>y(t,e,n||{}),onError:e=>y(0,e.message||"XHR Error",{},{error:!0})});else{const e=new window.XMLHttpRequest;e.open(o.method,c,!0);for(const t in b)e.setRequestHeader(t,b[t]);e.withCredentials=r.proxy.withCredentials,e.onload=()=>y(e.status,e.responseText,e.getAllResponseHeaders()),e.onerror=()=>y(0,"Network Error",{},{error:!0}),e.ontimeout=()=>y("Timeout","Request timed out",{},{timeout:!0}),e.send(o.body)}},onOtherRequest:(e,t,n)=>{const o="true"===e.headers?.["x-mfm-internal"],r=_(),s=e.url.startsWith(r);if("OPTIONS"===e.method||o||s)return n(e.body);const i=Date.now();O.addRequest("other",{...e,pending:!0,startTime:i});const a=(n,o,r,s={})=>{const a=Date.now()-i;O.addRequest("other",{...e,status:n,responseBody:o,responseHeaders:r,pending:!1,duration:a,...s}),t._capture(n,o,r,s)};t._xhr.addEventListener("abort",(()=>a("Aborted","Aborted",{},{aborted:!0})),{once:!0}),t._xhr.addEventListener("error",(()=>a(0,"Error",{},{error:!0})),{once:!0}),t._xhr.addEventListener("timeout",(()=>a("Timeout","Timeout",{},{timeout:!0})),{once:!0}),t._xhr.addEventListener("load",(()=>a(t._xhr.status,t._xhr.responseText,t._xhr.getAllResponseHeaders())),{once:!0}),t._xhr.addEventListener("readystatechange",(()=>{if(t._xhr.readyState>=2&&!t._captured){const n=t._xhr.status;if(n>0){const o=Date.now()-i;O.addRequest("other",{...e,status:n,responseHeaders:t._xhr.getAllResponseHeaders(),pending:t._xhr.readyState<4,duration:o})}}})),n(e.body)}})}(o,n),a&&g)O.mappings=i,O.rules=v,e?.(i,{_o:a,mk:g,_mck:b,_rules:v});else if(o){const r=O.getSavedMappings();if(r&&r.mappings&&r.mappings.length>0)return O.mappings=r.mappings,O.rules=r.meta?._rules||[],l(r.mappings),k(r.meta),O.updateMappings(r.mappings,r.meta),void e?.(r.mappings,r.meta);!function(t,n,o,r){T({method:"get",url:y,async:!1,headers:{[f]:t,[p]:h,"x-mfm-adaptor":n}},(t=>{if(t)try{const{di:r,iv:s,_o:i,_mck:a,mk:d,r:c}=t,m=S({di:r,iv:s},i);k({_o:i,mk:d,_mck:a,_rules:c}),m&&(l(m),n=m,o={_o:i,mk:d,_mck:a,_rules:c},O.saveMappings(n,o),O.updateMappings(n,o),e?.(n,o))}catch(e){return void r(new Error("Unable to fetch mocked apis"))}var n,o}),(e=>{console.log("Error in loading mocked apis"),r(e)})).request()}(o,n,0,t)}},checkIfApiToBeMocked:c,getMappings:d,doFetchMappings:(e,t)=>{C(o||O.token,n,((t,n)=>{O.updateMappings(t,n),e?.(t,n)}),t)},recheckWidgetVisibility:()=>{O.init()}}},F=r();F||(globalThis.mockforme=D);let H=D;F&&(H=e=>({run:()=>{}}));const B=H;return o.mockforme})()));
1
+ /*! For license information please see mockforme.client.umd.js.LICENSE.txt */
2
+ !function(A,e){"object"==typeof exports&&"object"==typeof module?module.exports=e():"function"==typeof define&&define.amd?define([],e):"object"==typeof exports?exports.mockforme=e():A.mockforme=e()}(this,(()=>(()=>{"use strict";var A={849:(A,e,t)=>{t.r(e),t.d(e,{default:()=>Ni}),function(){try{if("undefined"!=typeof document){var A=document.createElement("style");A.appendChild(document.createTextNode('.mfm-token-form{padding:24px;text-align:center;max-width:400px;margin:0 auto;width:100%;box-sizing:border-box}.mfm-token-link-container{margin-top:15px;font-size:.8rem}.mfm-token-link-container a{color:var(--mfm-primary)}.mfm-token-container{display:flex;flex-direction:column;align-items:center;padding:16px}.mfm-token-header{position:absolute;right:0;top:0}.mfm-token-logo{margin-bottom:16px;height:30px}.mfm-token-title{margin:0 0 8px;font-size:1.25rem;font-weight:600;color:var(--mfm-text)}.mfm-token-desc{color:var(--mfm-text-dim);font-size:.9rem;margin-bottom:24px;line-height:1.5}.mfm-token-input{text-align:center;height:44px;font-size:1rem;width:100%;border:1px solid var(--mfm-border);border-radius:6px;background:var(--mfm-input-bg);color:var(--mfm-text);padding:0 12px;outline:none;transition:all .2s}.mfm-token-input:focus{border-color:var(--mfm-primary);box-shadow:0 0 0 2px #3b82f633}.mfm-token-error{color:var(--mfm-error);font-size:.8rem;margin-top:8px;display:none;min-height:20px}.mfm-token-submit{margin-top:16px;width:100%;height:44px;background:var(--mfm-primary);color:#fff;border:none;border-radius:6px;font-size:.95rem;font-weight:500;cursor:pointer;transition:all .2s;display:flex;align-items:center;justify-content:center}.mfm-token-submit:hover{background:var(--mfm-primary-hover)}.mfm-token-submit:disabled{opacity:.7;cursor:not-allowed}.json-viewer{font-family:Consolas,Monaco,monospace;font-size:13px;line-height:1.6;padding:12px;border-radius:6px;overflow:auto}.json-viewer-light{background:#fff;color:#1f1f1f}.json-viewer-dark{background:#1e1e1e;color:#d4d4d4}.json-node{position:relative;padding-left:18px;white-space:nowrap;-webkit-user-select:text;user-select:text}.json-children{margin-left:18px;padding-left:8px;border-left:1px dotted rgba(128,128,128,.25)}.json-toggle{position:absolute;left:0;cursor:pointer;-webkit-user-select:none;user-select:none;width:14px;height:14px;display:flex;align-items:center;justify-content:center;color:#888;font-weight:700;font-size:14px;border:1px solid rgba(128,128,128,.3);border-radius:2px;line-height:1;background:#8080800d;top:4px}.json-toggle:hover{color:#007acc;border-color:#007acc;background:#007acc0d}.json-bracket,.json-closing-bracket{display:inline-block}.json-closing-bracket{margin-left:18px}.json-key{color:#922}.json-viewer-dark .json-key{color:#9cdcfe}.json-value.string{color:#0b7500}.json-value.number{color:#1a01cc}.json-value.boolean{color:#aa0d91}.json-value.null{color:#777}.json-viewer-dark .json-value.string{color:#ce9178}.json-viewer-dark .json-value.number{color:#b5cea8}.json-viewer-dark .json-value.boolean{color:#569cd6}.json-viewer-dark .json-value.null{color:gray}.json-node:hover{background:#0000000a;border-radius:4px}.json-viewer-dark .json-node:hover{background:#ffffff0f}.json-match{background-color:#ffff0059;border-radius:3px}.json-toolbar{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:12px;padding-bottom:8px;border-bottom:1px solid rgba(128,128,128,.15)}.json-toolbar-group,.json-search-group{display:flex;align-items:center;gap:4px}.json-toolbar .json-toolbar-group button{height:20px;width:20px}.json-toolbar button{display:flex;align-items:center;justify-content:center;width:28px;height:28px;padding:0;border-radius:4px;border:1px solid var(--mfm-primary);cursor:pointer;background:var(--mfm-bg);color:#555;transition:all .2s}.json-toolbar button:hover{background:#eee;border-color:#ccc;color:#000}.json-viewer-dark .json-toolbar button{background:#333;color:#bbb;border:1px solid #444}.json-viewer-dark .json-toolbar button:hover{background:#444;border-color:#555;color:#fff}.json-search-group{flex:1;max-width:200px}.json-toolbar input{flex:1;font-size:12px;height:28px;padding:0 8px;border-radius:4px;border:1px solid var(--mfm-primary);outline:none}.json-viewer-dark .json-toolbar input{background:#252525;color:#ddd;border:1px solid #444}.json-viewer::-webkit-scrollbar{width:8px;height:8px}.json-viewer::-webkit-scrollbar-thumb{background:#80808066;border-radius:4px}.json-viewer::-webkit-scrollbar-thumb:hover{background:#80808099}.json-viewer-fullscreen{position:fixed!important;top:0!important;left:1%!important;width:98%;height:100vh!important;z-index:1000000!important;display:flex!important;flex-direction:column!important;box-sizing:border-box!important;max-height:99%!important}body.json-viewer-body-fullscreen{overflow:hidden!important;height:100vh!important}.json-viewer-fullscreen .json-tree-container{flex:1!important;overflow:auto!important;max-height:500px!important}.json-viewer.json-is-searching .json-node{display:none!important}.json-viewer.json-is-searching .json-node.json-item-visible{display:block!important}.json-tree-container{overflow:auto;max-height:315px}pre{user-select:text;-webkit-user-select:text;-moz-user-select:text;-ms-user-select:text}.mfm-status.rule{color:var(--mfm-info)}.mfm-mod-pill{font-size:.7rem;color:var(--mfm-primary);background:#3b82f61a;padding:2px 6px;border-radius:10px;font-weight:500}.mfm-rule-info .mfm-rule-action{font-weight:700;color:var(--mfm-primary)}.mfm-rule-info .mfm-rule-value{color:var(--mfm-value)}.mfm-mapping-list-activity{padding:0;max-height:468px;overflow-y:scroll}.mfm-mapping-list-activity .mfm-spinner{display:flex;justify-content:center;margin:10px auto}.mfm-mapping-list-activity .mfm-request-item{padding:16px}.mfm-empty{padding:32px;text-align:center;color:var(--mfm-text-dim);font-size:.9rem}.mfm-spinner{width:24px;height:24px;border:2px solid var(--mfm-border);border-top-color:var(--mfm-primary);border-radius:50%;animation:mfm-spin .8s linear infinite}@keyframes mfm-spin{to{transform:rotate(360deg)}}.mfm-rule-info{font-size:.7rem;color:var(--mfm-text-dim);margin-top:4px;padding-left:4px}.mfm-mocked-apis-activity{padding:0;height:468px;overflow-y:scroll}.mfm-other-apis-activity{padding:0;max-height:468px}.mfm-request-item{display:flex;flex-direction:column;padding:12px 16px;border-bottom:1px solid var(--mfm-border);cursor:pointer;background:var(--mfm-bg);transition:background-color .2s ease}.mfm-request-item:hover{background:var(--mfm-hover)}.mfm-request-item.active{background:var(--mfm-active-bg)}.mfm-request-header{display:flex;justify-content:space-between;align-items:center}.mfm-flex-row{display:flex;align-items:center;gap:8px}.mfm-method{font-size:.75rem;font-weight:700;min-width:40px}.mfm-status{font-size:.8rem;margin-left:8px}.mfm-status.success{color:var(--mfm-success)}.mfm-status.error{color:var(--mfm-error)}.mfm-status.pending{color:var(--mfm-text-dim)}.mfm-url{font-size:.85rem;color:var(--mfm-text);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;line-height:1.4}.mfm-dropdown{position:relative;display:inline-block}.mfm-dropdown-content{display:none;position:absolute;right:0;top:100%;background-color:var(--mfm-bg);min-width:160px;box-shadow:0 4px 12px #00000026;z-index:1000;border:1px solid var(--mfm-border);border-radius:6px;overflow:hidden;margin-top:4px}.mfm-dropdown-content button{color:var(--mfm-text);padding:10px 16px;text-decoration:none;display:block;width:100%;text-align:left;background:none;border:none;cursor:pointer;font-size:.85rem;transition:background .1s}.mfm-dropdown-content button:hover{background-color:var(--mfm-hover)}.mfm-btn-icon{background:none;border:none;padding:4px;cursor:pointer;color:var(--mfm-text-dim);border-radius:4px;display:flex;align-items:center;justify-content:center}.mfm-btn-icon:hover{background:var(--mfm-hover);color:var(--mfm-text)}:root{--mfm-primary: #2563eb;--mfm-primary-hover: #1d4ed8;--mfm-bg: #ffffff;--mfm-surface: #f8fafc;--mfm-surface-bright: #f1f5f9;--mfm-text: #0f172a;--mfm-text-dim: #64748b;--mfm-border: #e2e8f0;--mfm-success: #10b981;--mfm-error: #ef4444;--mfm-warning: #f59e0b;--mfm-radius: 8px;--mfm-shadow: 0 1px 3px 0 rgb(0 0 0 / .1), 0 1px 2px -1px rgb(0 0 0 / .1);--mfm-shadow-lg: 0 10px 15px -3px rgb(0 0 0 / .1), 0 4px 6px 1px rgb(0 0 0 / .1);--mfm-transition: all .15s ease-in-out;--mfm-value: #9b2418}#mfm-root{all:initial;display:block;position:fixed;bottom:24px;right:24px;z-index:2147483647;font-family:Inter,-apple-system,system-ui,sans-serif;color:var(--mfm-text);-webkit-user-select:none;user-select:none;box-sizing:border-box;font-size:12px}#mfm-root svg{fill:transparent}#mfm-root *{box-sizing:border-box;font-family:inherit;font-size:inherit}.mfm-widget-toggle{display:flex;align-items:center;background:#fff;padding:6px;border-radius:9999px;box-shadow:var(--mfm-shadow-lg);border:1px solid var(--mfm-border);gap:2px;cursor:pointer;transition:var(--mfm-transition)}.mfm-widget-toggle.hidden{display:none!important}.mfm-toggle-section{padding:6px;border-radius:50%;display:flex;align-items:center;justify-content:center;transition:var(--mfm-transition)}.mfm-toggle-section:hover{background:var(--mfm-surface-bright)}.mfm-toggle-logo img{width:32px;height:32px}.mfm-toggle-divider{width:1px;height:24px;background:var(--mfm-border);margin:0 4px}.mfm-main-container{position:fixed;bottom:24px;right:24px;width:370px;height:650px;background:var(--mfm-bg);border:1px solid var(--mfm-border);border-radius:var(--mfm-radius);box-shadow:var(--mfm-shadow-lg);display:flex;flex-direction:column;overflow:hidden;transition:var(--mfm-transition);transform-origin:bottom right}.mfm-main-container.hidden{opacity:0;transform:scale(.95) translateY(20px);pointer-events:none}.mfm-header{padding:12px 16px;margin-bottom:5px;background:#fff;display:flex;align-items:center;justify-content:space-between}.mfm-logo img{height:25px;width:auto}.mfm-tabs-container{flex:1;display:flex;flex-direction:column;overflow:hidden}.mfm-tabs-nav{display:flex;padding:0 16px;background:#fff;border-bottom:1px solid var(--mfm-border);gap:4px}.mfm-tab-btn{padding:10px 16px;background:transparent;border:1px solid transparent;border-bottom:none;color:var(--mfm-text-dim);cursor:pointer;font-size:15px!important;font-weight:500;margin-bottom:-1px;border-top-left-radius:4px;border-top-right-radius:4px;transition:var(--mfm-transition)}.mfm-tab-btn:hover{color:var(--mfm-text);background:var(--mfm-surface)}.mfm-tab-btn.active{color:var(--mfm-primary);background:#fff;border-color:var(--mfm-border);border-bottom:1px solid white;font-weight:700}.mfm-tab-toolbar{padding:12px 16px;border-bottom:1px solid var(--mfm-border);display:flex;flex-direction:column;gap:8px}.mfm-toolbar-row{display:flex;gap:8px;align-items:center}.mfm-input{height:36px;width:100%;padding:0 12px;border:1px solid var(--mfm-border);border-radius:6px;font-size:.875rem;outline:none}.mfm-input:focus{border-color:var(--mfm-primary);box-shadow:0 0 0 2px #2563eb1a}.mfm-btn-outline,.mfm-btn-icon{height:26px;padding:0 12px;background:transparent!important;border:none!important;border-radius:6px;font-size:.875rem;font-weight:500;cursor:pointer;color:var(--mfm-text-dim);transition:var(--mfm-transition);display:flex;align-items:center;justify-content:center}.back-btn{padding:0}.mfm-btn-outline:hover,.mfm-btn-icon:hover{background:var(--mfm-surface-bright)!important;color:var(--mfm-text)}.mfm-preserve-logs{display:flex;align-items:center;gap:1px;font-size:.75rem;color:var(--mfm-text-dim);cursor:pointer}.mfm-preserve-logs input{-webkit-appearance:auto;-moz-appearance:auto;appearance:auto}.mfm-tab-content{flex:1;background:#fff;height:468px;overflow-y:scroll}.mfm-list{display:flex;flex-direction:column;max-height:460px;overflow-y:scroll}.mfm-empty{padding:60px 20px;text-align:center;color:var(--mfm-text-dim);font-size:.875rem}.mfm-request-item{padding:6px 16px;border-bottom:1px solid var(--mfm-border);cursor:pointer;transition:var(--mfm-transition)}.mfm-request-item.active{background:#eff6ff;border-left:3px solid var(--mfm-primary)}.mfm-request-item:hover{background:var(--mfm-surface)}.mfm-request-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:4px}.mfm-method{font-size:.7rem;font-weight:700;padding:2px 6px;border-radius:4px;text-transform:uppercase}.mfm-method.get{color:#2563eb;background:#eff6ff}.mfm-method.post{color:#16a34a;background:#f0fdf4}.mfm-method.put{color:#d97706;background:#fffbeb}.mfm-method.delete{color:#dc2626;background:#fef2f2}.mfm-method.rule{color:#7c3aed;background:#f5f3ff}.mfm-status{font-size:.75rem;font-weight:600}.mfm-status.rule{color:#8b5cf6;background:#8b5cf61a}.mfm-status.success{color:#16a34a}.mfm-status.error{color:#dc2626}.mfm-status.pending{color:#64748b}.mfm-url{font-size:.8125rem;color:var(--mfm-text);white-space:nowrap;overflow-x:scroll;width:290px;max-width:290px;scrollbar-width:thin}.mfm-url .mfm-rule-condition{display:inline-block;margin-right:4px;border-radius:20px;font-size:inherit;background:#eee;padding:2px 5px}.mfm-url .mfm-rule-condition .mfm-rule-condition-type{font-weight:600;color:var(--mfm-primary)}.mfm-url .mfm-rule-condition .mfm-rule-condition-operator{font-weight:600;border-bottom:1px solid var(--mfm-primary);text-transform:capitalize}.mfm-url .mfm-rule-condition .mfm-rule-condition-key-value{color:var(--mfm-value)}.mfm-rule-list .mfm-url{white-space:auto!important;overflow-x:scroll!important;text-overflow:inherit!important;scrollbar-width:thin}.mfm-bottomsheet{position:absolute;top:60px;left:0;right:0;bottom:0;background:#fff;z-index:1100;display:flex;flex-direction:column;transform:translate(100%);transition:transform .25s ease-in-out}.mfm-bottomsheet.active{transform:translate(0)}.mfm-bottomsheet-header{padding:12px 16px;border-bottom:1px solid var(--mfm-border);display:flex;align-items:center;gap:5px}.mfm-bottomsheet-content{flex:1;overflow-y:auto;padding:16px;display:flex;flex-direction:column}.mfm-detail-tabs{display:flex;border-bottom:1px solid var(--mfm-border);margin:16px -16px;padding:0 16px;gap:8px}.mfm-detail-tab-btn{padding:8px 12px;background:transparent;border:none;border-bottom:2px solid transparent;color:var(--mfm-text-dim);font-size:.8rem;font-weight:600;cursor:pointer;transition:var(--mfm-transition)}.mfm-detail-tab-btn:hover{color:var(--mfm-text)}.mfm-detail-tab-btn.active{color:var(--mfm-primary);border-bottom-color:var(--mfm-primary)}.mfm-detail-body{flex:1}.mfm-tab-content::-webkit-scrollbar,.mfm-bottomsheet-content::-webkit-scrollbar{width:8px}.mfm-tab-content::-webkit-scrollbar-track,.mfm-bottomsheet-content::-webkit-scrollbar-track{background:transparent}.mfm-tab-content::-webkit-scrollbar-thumb,.mfm-bottomsheet-content::-webkit-scrollbar-thumb{background:#cbd5e1;border-radius:4px;border:2px solid white}.mfm-tab-content::-webkit-scrollbar-thumb:hover,.mfm-bottomsheet-content::-webkit-scrollbar-thumb:hover{background:#94a3b8}.mfm-detail-section{margin-bottom:24px}.mfm-detail-title{font-size:.75rem;font-weight:600;text-transform:uppercase;color:var(--mfm-text-dim);margin-bottom:8px;display:flex;justify-content:space-between}.mfm-detail-content{background:var(--mfm-bg);padding:12px;border-radius:6px;font-family:JetBrains Mono,Menlo,monospace;font-size:.8rem;border:1px solid var(--mfm-primary);word-break:break-all;max-height:500px;overflow-y:auto}.mfm-copy-btn{background:var(--mfm-primary);border:none;color:#fff;padding:4px 8px;border-radius:4px;font-size:.7rem;cursor:pointer;font-weight:600}.mfm-dropdown{position:relative}.mfm-dropdown-content{display:none;position:absolute;top:100%;right:0;background:#fff;min-width:140px;box-shadow:var(--mfm-shadow-lg);border:1px solid var(--mfm-border);border-radius:8px;z-index:1000;overflow:hidden}.mfm-dropdown-content.show{display:block}.mfm-dropdown-content button{width:100%;padding:10px 16px;text-align:left;background:transparent;border:none;font-size:.8125rem;color:var(--mfm-text);cursor:pointer}.mfm-dropdown-content button:hover{background:var(--mfm-surface)}.mfm-btn-primary{background:var(--mfm-primary);color:#fff;border:none;border-radius:8px;padding:12px 24px;font-weight:600;cursor:pointer;transition:var(--mfm-transition)}.mfm-btn-primary:hover{background:var(--mfm-primary-hover)}.mfm-header-actions{display:flex;align-items:center}.mfm-switch{position:relative;display:inline-block;width:32px;height:20px;margin-right:12px}.mfm-switch input{opacity:0;width:0;height:0}.mfm-slider{position:absolute;cursor:pointer;top:0;left:0;right:0;bottom:0;background-color:#cbd5e1;transition:.4s;border-radius:34px}.mfm-slider:before{position:absolute;content:"";height:16px;width:16px;left:2px;bottom:2px;background-color:#fff;transition:.4s;border-radius:50%}input:checked+.mfm-slider{background-color:var(--mfm-primary)}input:checked+.mfm-slider:before{transform:translate(12px)}.mfm-spinner{width:14px;height:14px;border:2px solid #cbd5e1;border-bottom-color:var(--mfm-primary);border-radius:50%;display:inline-block;box-sizing:border-box;animation:mfm-rotation 1s linear infinite}@keyframes mfm-rotation{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.mfm-request-item.pending-item{cursor:default;opacity:.8}.mfm-snackbar{visibility:hidden;min-width:250px;background-color:#333;color:#fff;text-align:center;border-radius:8px;padding:12px;position:fixed;z-index:2000;left:50%;bottom:30px;transform:translate(-50%);font-size:.9rem;box-shadow:0 4px 6px #0000001a;opacity:0;transition:opacity .3s,bottom .3s}.mfm-snackbar.show{visibility:visible;opacity:1;bottom:50px}.clear-btn svg{color:var(--mfm-text-dim)}#mfm-root .mfm-bulk-mock-popup{position:absolute;top:5px;left:5px;right:5px;bottom:5px;background:#fff;z-index:1200;border-radius:var(--mfm-radius);box-shadow:var(--mfm-shadow-lg);display:none;flex-direction:column;border:1px solid var(--mfm-border)}#mfm-root .mfm-bulk-mock-popup.active{display:flex}#mfm-root .mfm-bulk-mock-container{display:flex;flex-direction:column;height:100%;padding:16px;overflow:hidden}#mfm-root .mfm-bulk-mock-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:16px;flex-shrink:0}#mfm-root .mfm-bulk-mock-header h3{margin:0;font-size:1.1rem;color:var(--mfm-text)}#mfm-root .mfm-bulk-mock-header-actions{display:flex;align-items:center;gap:8px}#mfm-root #mfm-bulk-save-btn{padding:6px 12px;font-size:.8rem;background:var(--mfm-primary);color:#fff;border:none;border-radius:4px;cursor:pointer}#mfm-root #mfm-bulk-save-btn:disabled{opacity:.5;background:var(--mfm-text-dim);cursor:not-allowed}#mfm-root .mfm-bulk-mock-filters{display:flex;flex-direction:column;gap:12px;margin-bottom:16px;padding-bottom:16px;border-bottom:1px solid var(--mfm-border);flex-shrink:0}#mfm-root .mfm-bulk-mock-list{flex:1;overflow-y:auto;display:flex;flex-direction:column;gap:4px}#mfm-root .mfm-bulk-item{display:flex;align-items:center;gap:10px;padding:8px 10px;border-radius:6px;cursor:pointer;transition:var(--mfm-transition)}#mfm-root .mfm-bulk-item:hover{background:var(--mfm-surface)}#mfm-root .mfm-bulk-item .mfm-url{flex:1;font-size:.8rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;width:auto}#mfm-root .mfm-toolbar-dropdown{position:relative;display:flex;align-items:center}#mfm-root .mfm-toolbar-dropdown .mfm-dropdown-menu{display:none;position:absolute;top:100%;right:0;background:#fff;min-width:120px;box-shadow:var(--mfm-shadow-lg);border:1px solid var(--mfm-border);border-radius:8px;z-index:1001;margin-top:4px}#mfm-root .mfm-toolbar-dropdown.show .mfm-dropdown-menu{display:block}#mfm-root .mfm-dropdown-item{width:100%;padding:10px 16px;text-align:left;background:transparent;border:none;font-size:.85rem;color:var(--mfm-text);cursor:pointer}#mfm-root .mfm-dropdown-item:hover{background:var(--mfm-surface)}#mfm-root .mfm-bulk-mock-popup{background:#fffffff2;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border:1px solid rgba(255,255,255,.2)}#mfm-root .mfm-bulk-item.selected{background:#2563eb0d;border-color:#2563eb1a}#mfm-root .mfm-bulk-checkbox{width:16px;height:16px;accent-color:var(--mfm-primary)}#mfm-root .mfm-bulk-mock-header h3{font-weight:700;letter-spacing:-.01em}#mfm-snip-overlay{position:fixed;top:0;left:0;width:100vw;height:100vh;background:#0006;z-index:2147483646;cursor:crosshair;display:flex;align-items:center;justify-content:center}#mfm-snip-selection{position:absolute;border:2px solid var(--mfm-primary);background:#2563eb1a;box-shadow:0 0 0 9999px #0006;display:none;pointer-events:none}#mfm-snip-modal .mfm-modal-overlay{position:fixed;top:0;left:0;width:100vw;height:100vh;background:#00000080;z-index:2147483647;display:flex;align-items:center;justify-content:center;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px)}#mfm-snip-modal .mfm-modal-container{width:90%;max-width:500px;background:#fff;border-radius:12px;box-shadow:var(--mfm-shadow-lg);display:flex;flex-direction:column;overflow:hidden;animation:mfm-fade-in .2s ease-out}#mfm-snip-modal .mfm-modal-header{padding:16px;border-bottom:1px solid var(--mfm-border);display:flex;justify-content:space-between;align-items:center}#mfm-snip-modal .mfm-modal-header h3{margin:0;font-size:1.1rem;font-weight:700}#mfm-snip-modal #mfm-modal-close{background:none;border:none;font-size:1.5rem;cursor:pointer;color:var(--mfm-text-dim)}#mfm-snip-modal .mfm-modal-body{padding:16px;display:flex;flex-direction:column;gap:16px}#mfm-snip-modal .mfm-screenshot-preview{max-height:200px;overflow-y:auto;border:1px solid var(--mfm-border);border-radius:6px;background:#f1f5f9}#mfm-snip-modal .mfm-screenshot-preview img{width:100%;display:block}#mfm-snip-modal .mfm-context-input textarea{width:100%;height:100px;padding:12px;border:1px solid var(--mfm-border);border-radius:6px;resize:none;font-size:.9rem;outline:none}#mfm-snip-modal .mfm-context-input textarea:focus{border-color:var(--mfm-primary);box-shadow:0 0 0 2px #2563eb1a}#mfm-snip-modal .mfm-char-count{text-align:right;font-size:.75rem;color:var(--mfm-text-dim);margin-top:4px}#mfm-snip-modal .mfm-modal-footer{padding:16px;border-top:1px solid var(--mfm-border);display:flex;justify-content:flex-end;gap:12px}.mfm-btn-secondary{padding:8px 16px;background:#fff;border:1px solid var(--mfm-border);border-radius:6px;cursor:pointer}@keyframes mfm-fade-in{0%{opacity:0;transform:scale(.95)}to{opacity:1;transform:scale(1)}}#mfm-root .mfm-bulk-size{font-size:.7rem;color:var(--mfm-text-dim);margin-left:auto;padding:0 8px;font-family:inherit}#mfm-root .mfm-url-container{display:flex;flex-direction:column;overflow:hidden;flex:1;gap:2px}#mfm-root .mfm-url-path{font-size:.8rem;font-weight:500;color:var(--mfm-text);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;line-height:1.2}#mfm-root .mfm-url-domain{font-size:.7rem;color:var(--mfm-text-dim);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;line-height:1.2}.mfm-bulk-item-actions{display:flex;gap:8px;margin-left:auto}.mfm-btn-text{background:transparent;border:none;color:var(--mfm-primary);font-size:.75rem;cursor:pointer;padding:2px 6px;border-radius:4px}.mfm-btn-text:hover{background:#2563eb1a}.mfm-response-editor{position:absolute;top:0;left:0;right:0;bottom:0;background:#fff;z-index:1300;display:none;flex-direction:column;padding:16px}.mfm-response-editor.active{display:flex}.mfm-response-editor textarea{flex:1;width:100%;padding:12px;border:1px solid var(--mfm-border);border-radius:6px;font-family:JetBrains Mono,Menlo,monospace;font-size:.8rem;resize:none;margin:12px 0}.mfm-editor-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:8px}.mfm-editor-footer{display:flex;justify-content:flex-end;gap:12px}#mfm-root .mfm-bulk-mock-list::-webkit-scrollbar{width:6px}#mfm-root .mfm-bulk-mock-list::-webkit-scrollbar-track{background:transparent}#mfm-root .mfm-bulk-mock-list::-webkit-scrollbar-thumb{background:#cbd5e1;border-radius:3px}.mfm-switch-with-label{display:flex;align-items:center;gap:4px;border:1px solid var(--mfm-border);border-radius:20px;padding:2px 2px 2px 5px}.mfm-switch-with-label .mfm-label{font-weight:700}.mfm-flex-center{display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center}.mfm-loader{width:40px;height:40px;border:4px solid var(--mfm-surface-bright);border-bottom-color:var(--mfm-primary);border-radius:50%;display:inline-block;box-sizing:border-box;animation:mfm-rotation 1s linear infinite}.mfm-results-body{max-height:450px;overflow-y:auto!important;padding:20px!important}.mfm-result-section{margin-bottom:24px}.mfm-result-section:last-child{margin-bottom:0}.mfm-result-section h4{margin:0 0 10px;font-size:.8rem;font-weight:700;color:var(--mfm-text-dim);text-transform:uppercase;letter-spacing:.05em}.mfm-result-section p{margin:0;font-size:.95rem;line-height:1.5;color:var(--mfm-text)}.mfm-weakness-list{margin:0;padding-left:18px;font-size:.9rem;color:var(--mfm-text);line-height:1.6}.mfm-weakness-list li{margin-bottom:8px}.mfm-code-preview{background:#0f172a;color:#e2e8f0;padding:16px;border-radius:8px;font-family:JetBrains Mono,Menlo,Monaco,monospace;font-size:.85rem;overflow-x:auto;max-height:250px;border:1px solid #1e293b}.mfm-code-preview pre{margin:0;white-space:pre-wrap;word-break:break-all}.mfm-code-preview code{font-family:inherit}')),document.head.appendChild(A)}}catch(A){console.error("vite-plugin-css-injected-by-js",A)}}();var r=(A=>(A[A.NONE=0]="NONE",A[A.INFO=1]="INFO",A[A.WARN=2]="WARN",A[A.ERROR=3]="ERROR",A))(r||{}),n=(A=>(A.MFM_REQ_MAPPINGS="MFM_REQ_MAPPINGS",A.MFM_REQ_SAVED_MAPPINGS="MFM_REQ_SAVED_MAPPINGS",A.MFM_DEL_CLIENT_TOKEN="MFM_DEL_CLIENT_TOKEN",A.MFM_SUBMIT_TOKEN="MFM_SUBMIT_TOKEN",A.MFM_TOGGLE_INTERCEPTION="MFM_TOGGLE_INTERCEPTION",A.MFM_RES_MAPPINGS="MFM_RES_MAPPINGS",A.MFM_REQ="MFM_REQ",A.MFM_RES="MFM_RES",A.MFM_TOKEN_ERROR="MFM_TOKEN_ERROR",A.MFM_TOKEN_API_FAILED="MFM_TOKEN_API_FAILED",A.MFM_LOG_INFO="MFM_LOG_INFO",A.MFM_LOG_WARN="MFM_LOG_WARN",A.MFM_LOG_ERROR="MFM_LOG_ERROR",A))(n||{});function o(A,e,t="*",r){window.postMessage(function(A,e,t){const r={type:A};return t&&(r.source=t),void 0!==e&&(r.payload=e),r}(A,e,r),t)}const s=new class{constructor(){this.level=r.NONE}setLevel(A){this.level=A}normalizeArgs(A){return A.map((A=>{try{return void 0===A?"undefined":"string"==typeof A||"object"==typeof A?A:String(A)}catch{return"[Unserializable]"}}))}postLog(A,e){o(A,this.normalizeArgs(e),"*","mfm-widget-logger")}info(...A){this.level<r.INFO||(console.log("[MFM Info]",...A),this.postLog(n.MFM_LOG_INFO,A))}warn(...A){this.level<r.WARN||(console.warn("[MFM Warn]",...A),this.postLog(n.MFM_LOG_WARN,A))}error(...A){this.level<r.ERROR||(console.error("[MFM Error]",...A),this.postLog(n.MFM_LOG_ERROR,A))}},i=new Map,a=new Set;let c=!1;function l(A){return A!==n.MFM_LOG_INFO&&A!==n.MFM_LOG_WARN&&A!==n.MFM_LOG_ERROR}function B(){c||"undefined"==typeof window||(window.addEventListener("message",u),c=!0)}function d(A,e){l(A)&&s.info(`[postMessage] ${A}`,e),o(A,e)}function u(A){if(!function(A){if(!A||"object"!=typeof A)return!1;if(!("type"in A))return!1;const e=A.type;return"string"==typeof e&&e.startsWith("MFM_")}(A.data))return;const e=A.data;l(e.type)&&s.info(`[onMessage] ${e.type}`,e.payload),a.forEach((A=>A(e)));const t=i.get(e.type);t&&t.forEach((A=>{A(e.payload)}))}function g(A,e){if(!A)return e;try{return JSON.parse(A)}catch{return e}}const m={version:5,snipping:{name:"snipping",enabled:!0,platforms:{ios:{enabled:!1,ab:{ab1:0,ab2:0}},android:{enabled:!1,ab:{ab1:0,ab2:0}},web:{enabled:!0,ab:{ab1:100,ab2:0}}}},bulk_mock:{name:"bulk_mock",enabled:!0,platforms:{ios:{enabled:!1,ab:{ab1:0,ab2:0}},android:{enabled:!1,ab:{ab1:0,ab2:0}},web:{enabled:!0,ab:{ab1:100,ab2:0}}}}},w="mfm_feature_config",p="mfm_user_id",h=(()=>{const A=localStorage.getItem(w);if(A)try{const e=JSON.parse(A);return!e.version||e.version<m.version?(localStorage.setItem(w,JSON.stringify(m)),m):e}catch(A){console.error("Failed to parse stored config",A)}return localStorage.setItem(w,JSON.stringify(m)),m})(),f=(A=>{let e=0;for(let t=0;t<A.length;t++)e=(e<<5)-e+A.charCodeAt(t),e|=0;return Math.abs(e)%100})((()=>{let A=localStorage.getItem(p);return A||(A=Math.random().toString(36).substring(2,15),localStorage.setItem(p,A)),A})()),Q="https://api.mockforme.com",C="/mockforme";function U(A,e="web"){return null!==function(A,e="web"){var t;const r=h[A];if(!r||!r.enabled)return null;const n=null==(t=r.platforms)?void 0:t[e];if(!n||!n.enabled)return null;if(n.ab){let A=0;for(const[e,t]of Object.entries(n.ab)){const r=t||0;if(f>=A&&f<A+r)return e;A+=r}return null}return"enabled"}(A,e)}const F={state:function(){var A,e,t,r,n,o,s,i,a,c,l,B;const d=g(sessionStorage.getItem("MFM_SAVED_REQUESTS"),[]).filter((A=>{var e;return!((null==(e=A.request)?void 0:e.url)||"").includes("/3f4eae522b")})).map((A=>A.response?A:{...A,response:{statusCode:0,statusText:"Disconnected",body:"[Request terminated due to page refresh or network interruption]",headers:{},endTime:new Date(A.timestamp||Date.now()).toISOString()}})),u=g(localStorage.getItem("MFM_CONFIG"),{}),m={enabled:!0,isInterceptEnabled:"false"!==sessionStorage.getItem("MFM_IS_INTERCEPT_ENABLED"),isOpen:u.isOpen||!1,token:localStorage.getItem("MFM_TOKEN")||null,isTokenValidating:!1,isTokenLoading:!1,mappings:{apis:[],rules:[]},isMappingsLoading:!1,requests:d.filter((A=>!A.request.url.includes("mockforme.com"))),ui:{selectedTab:u.selectedTab||"MOCKED",tokenError:null,activeDropdownId:null,detailTab:u.detailTab||"HEADERS",tabConfigs:{MAPPINGS:{searchText:"",selectedRule:(null==(e=null==(A=u.tabConfigs)?void 0:A.MAPPINGS)?void 0:e.selectedRule)||null,isDetailOpen:Boolean(null==(r=null==(t=u.tabConfigs)?void 0:t.MAPPINGS)?void 0:r.isDetailOpen)},MOCKED:{searchText:"",selectedRequestId:(null==(o=null==(n=u.tabConfigs)?void 0:n.MOCKED)?void 0:o.selectedRequestId)||null,isPreserveLogs:"true"===localStorage.getItem("MFM_PRESERVE_LOGS_MOCKED"),isDetailOpen:Boolean(null==(i=null==(s=u.tabConfigs)?void 0:s.MOCKED)?void 0:i.isDetailOpen)},OTHER:{searchText:"",selectedRequestId:(null==(c=null==(a=u.tabConfigs)?void 0:a.OTHER)?void 0:c.selectedRequestId)||null,isPreserveLogs:"true"===localStorage.getItem("MFM_PRESERVE_LOGS_OTHER"),isDetailOpen:Boolean(null==(B=null==(l=u.tabConfigs)?void 0:l.OTHER)?void 0:B.isDetailOpen)}},isBulkMockOpen:!1},features:{bulk_mock:U("bulk_mock"),snipping:U("snipping")}};return function(A){const e=A.ui.selectedTab;if("MAPPINGS"===e)return;const t=A.ui.tabConfigs[e];if(!t.isDetailOpen||!t.selectedRequestId)return;A.requests.some((A=>String(A.requestId)===String(t.selectedRequestId)))||(t.isDetailOpen=!1,t.selectedRequestId=null,A.ui.selectedTab="MOCKED")}(m),m}(),listeners:[],_notifyTimer:null,subscribe(A){return this.listeners.push(A),()=>{this.listeners=this.listeners.filter((e=>e!==A))}},notify(){this._notifyTimer||(this._notifyTimer=requestAnimationFrame((()=>{var A;this._notifyTimer=null,this.listeners.forEach((A=>A(this.state))),document.dispatchEvent(new CustomEvent("MFM_STATE_CHANGE",{detail:this.state})),A=this.state,localStorage.setItem("MFM_CONFIG",JSON.stringify({isOpen:A.isOpen,selectedTab:A.ui.selectedTab,detailTab:A.ui.detailTab,activeDropdownId:A.ui.activeDropdownId,tabConfigs:{MAPPINGS:{selectedRule:A.ui.tabConfigs.MAPPINGS.selectedRule,isDetailOpen:A.ui.tabConfigs.MAPPINGS.isDetailOpen},MOCKED:{selectedRequestId:A.ui.tabConfigs.MOCKED.selectedRequestId,isDetailOpen:A.ui.tabConfigs.MOCKED.isDetailOpen},OTHER:{selectedRequestId:A.ui.tabConfigs.OTHER.selectedRequestId,isDetailOpen:A.ui.tabConfigs.OTHER.isDetailOpen}}}))})))},update(A,e){const t=A.split(".");let r=this.state;for(let A=0;A<t.length-1;A+=1){const e=r[t[A]];if(!e||"object"!=typeof e)return;r=e}r[t[t.length-1]]=e,this.notify()},set(A,e){this.state[A]=e,this.notify()}};let y=[];function b(A){var e,t;const r=null==(e=F.state.ui.tabConfigs.MOCKED)?void 0:e.isPreserveLogs,n=null==(t=F.state.ui.tabConfigs.OTHER)?void 0:t.isPreserveLogs,o=A.filter((A=>{const e="MOCKED"===A.interceptionType;return e&&r||!e&&n}));o.length>0?sessionStorage.setItem("MFM_SAVED_REQUESTS",JSON.stringify(o)):sessionStorage.removeItem("MFM_SAVED_REQUESTS")}function E(A){var e;const t=(null==(e=A.request)?void 0:e.url)||"";if(t.includes("/3f4eae522b")||t.includes("mockforme.com"))return;if(F.state.isTokenValidating)return s.info("Queuing request during token validation",A.requestId),void y.push(A);const r=function(A){const e=[...F.state.requests],t=e.findIndex((e=>e.requestId===A.requestId));if(t>-1){const r=e[t];e[t]={...r,...A,rule:A.rule||r.rule}}else e.push(A);return e.length>100?e.slice(e.length-100):e}(A);F.set("requests",r),b(r)}const v={toggleWidget(){F.update("isOpen",!F.state.isOpen)},setTab(A){F.update("ui.selectedTab",A)},deleteToken(){s.warn("Deleting Client Token"),F.update("token",null),F.update("isTokenValidating",!1),F.update("isTokenLoading",!1),F.update("ui.tokenError",null),this.closeDetails(),F.set("requests",[]),this.clearQueue(),sessionStorage.removeItem("MFM_SAVED_REQUESTS"),localStorage.removeItem("MFM_TOKEN"),d(n.MFM_DEL_CLIENT_TOKEN)},submitToken(A){A?(F.update("ui.tokenError",null),F.update("isTokenValidating",!0),F.update("isTokenLoading",!0),localStorage.setItem("MFM_TOKEN_TEMP",A),(A=>{d(n.MFM_SUBMIT_TOKEN,{token:A})})(A)):F.update("ui.tokenError","Token is required")},reloadMappings(){s.info("Reloading Mappings"),F.update("ui.tokenError",null),F.update("isMappingsLoading",!0),d(n.MFM_REQ_MAPPINGS)},fetchSavedMappings(){s.info("Fetching Saved Mappings"),d(n.MFM_REQ_SAVED_MAPPINGS)},toggleInterception(A){const e=void 0!==A?A:!F.state.isInterceptEnabled;e!==F.state.isInterceptEnabled&&(s.info("Toggling Interception:",e),F.update("isInterceptEnabled",e),sessionStorage.setItem("MFM_IS_INTERCEPT_ENABLED",String(e)),(A=>{d(n.MFM_TOGGLE_INTERCEPTION,{enabled:A})})(e))},addRequest(A){E(A)},clearRequests(){const A=F.state.ui.selectedTab,e=F.state.requests.filter((e=>("MOCKED"===e.interceptionType?"MOCKED":"OTHER")!==A));F.set("requests",e),sessionStorage.setItem("MFM_SAVED_REQUESTS",JSON.stringify(e))},setPreserveLogs(A){const e=F.state.ui.selectedTab;"MAPPINGS"!==e&&(F.update(`ui.tabConfigs.${e}.isPreserveLogs`,A),localStorage.setItem(`MFM_PRESERVE_LOGS_${e}`,String(A)),b(F.state.requests))},setSearchText(A){const e=F.state.ui.selectedTab;F.update(`ui.tabConfigs.${e}.searchText`,A)},selectRequest(A){const e=F.state.ui.selectedTab;"MAPPINGS"!==e&&(F.update(`ui.tabConfigs.${e}.selectedRequestId`,A),F.update(`ui.tabConfigs.${e}.isDetailOpen`,!0),F.update("ui.detailTab","HEADERS"))},selectRule(A){F.update("ui.tabConfigs.MAPPINGS.selectedRule",A),F.update("ui.tabConfigs.MAPPINGS.isDetailOpen",!0),F.update("ui.detailTab","HEADERS")},minimizeDetails(){const A=F.state.ui.selectedTab;F.update(`ui.tabConfigs.${A}.isDetailOpen`,!1)},closeDetails(){const A=F.state.ui.selectedTab;F.update(`ui.tabConfigs.${A}.isDetailOpen`,!1),"MAPPINGS"!==A?F.update(`ui.tabConfigs.${A}.selectedRequestId`,null):F.update("ui.tabConfigs.MAPPINGS.selectedRule",null)},resetUnavailableRequestDetails(A){F.update(`ui.tabConfigs.${A}.isDetailOpen`,!1),F.update(`ui.tabConfigs.${A}.selectedRequestId`,null),F.update("ui.selectedTab","MOCKED"),F.update("ui.detailTab","HEADERS")},setDetailTab(A){F.update("ui.detailTab",A)},setOpenDropdown(A){const e=F.state.ui.activeDropdownId;F.update("ui.activeDropdownId",e===A?null:A)},clearOpenDropdown(){F.state.ui.activeDropdownId&&F.update("ui.activeDropdownId",null)},setBulkMockOpen(A){F.update("ui.isBulkMockOpen",A)},flushQueue(){!function(){s.info("Flushing request queue",y.length);const A=[...y];y=[],A.forEach((A=>E(A)))}()},clearQueue(){s.warn("Clearing request queue"),y=[]}};function H(A,e="default",t=3e3){if(!document.body)return;let r=document.getElementById("mfm-snackbar");r||(r=document.createElement("div"),r.id="mfm-snackbar",r.className="mfm-snackbar",document.body.appendChild(r)),r.textContent=A,r.className=("mfm-snackbar show "+("error"===e?"mfm-snackbar-error":"")).trim(),setTimeout((()=>{r&&(r.className=r.className.replace("show","").trim())}),t)}function I(){const A=document.querySelector("#mfm-reload-header");A&&(A.innerHTML='<svg width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><path d="M21 12a9 9 0 1 1-9-9c2.52 0 4.93 1 6.74 2.74L21 8"></path><polyline points="21 3 21 8 16 8"></polyline></svg>',A.style.pointerEvents="auto")}function x(A,e){s.error(`Token Error (${A})`,e),F.update("ui.tokenError",(null==e?void 0:e.message)||"Something went wrong"),F.update("isTokenLoading",!1),F.update("isMappingsLoading",!1),F.update("isTokenValidating",!1),A===n.MFM_TOKEN_ERROR&&(F.update("token",null),v.clearQueue(),localStorage.removeItem("MFM_TOKEN"),localStorage.removeItem("MFM_TOKEN_TEMP")),I(),H((null==e?void 0:e.message)||"Request failed","error")}const L="https://www.mockforme.com/assets/images/logo.png",k='<svg xmlns="http://www.w3.org/2000/svg" width="14" height="14" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" style="display:block;"><circle cx="12" cy="12" r="10"></circle><line x1="4.93" y1="4.93" x2="19.07" y2="19.07"></line></svg>',K='<svg width="18" height="18" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><line x1="18" y1="6" x2="6" y2="18"></line><line x1="6" y1="6" x2="18" y2="18"></line></svg>',M='<svg width="14" height="14" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><path d="M8 3H5a2 2 0 0 0-2 2v3m18 0V5a2 2 0 0 0-2-2h-3m0 18h3a2 2 0 0 0 2-2v-3M3 16v3a2 2 0 0 0 2 2h3"></path></svg>';class S{constructor(A){this.input=null,this.submitBtn=null,this.errorDisplay=null,this.closeBtn=null,this.unsubscribe=null,this.parent=A,this.element=document.createElement("div"),this.element.className="mfm-token-form",this.unsubscribe=F.subscribe(this.render.bind(this)),this.init()}init(){this.renderStructure(),this.bindEvents(),this.render(F.state),this.parent.appendChild(this.element)}closeTokenForm(){v.toggleWidget()}renderStructure(){this.element.innerHTML=`\n <div class="mfm-token-header">\n <button class="mfm-btn-icon" id="mfm-close-token-form" title="Close Widget">\n ${K}\n </button>\n </div>\n <div class="mfm-token-container">\n <img src="${L}" alt="MockForMe Logo" class="mfm-token-logo">\n <h3 class="mfm-token-title">Welcome to MockForMe</h3>\n <p class="mfm-token-desc">\n Paste your token below to start mocking and intercepting API requests.\n </p>\n <input type="text" class="mfm-input mfm-token-input" placeholder="Enter Client Token...">\n <div class="mfm-token-error"></div>\n <button class="mfm-token-submit">Continue</button>\n <div class="mfm-token-link-container">\n <a href="https://dashboard.mockforme.com/user/token" target="_blank" class="mfm-token-link">Get your access token</a>\n </div>\n </div>\n `,this.input=this.element.querySelector(".mfm-token-input"),this.submitBtn=this.element.querySelector(".mfm-token-submit"),this.errorDisplay=this.element.querySelector(".mfm-token-error"),this.closeBtn=this.element.querySelector("#mfm-close-token-form")}bindEvents(){this.input&&(this.input.oninput=()=>{F.state.ui.tokenError&&F.update("ui.tokenError",null)}),this.submitBtn&&(this.submitBtn.onclick=()=>{var A;const e=null==(A=this.input)?void 0:A.value.trim();e&&v.submitToken(e)}),this.closeBtn&&(this.closeBtn.onclick=()=>{this.closeTokenForm()})}render(A){if(!this.input||!this.submitBtn||!this.errorDisplay)return;const{tokenError:e}=A.ui,{isTokenLoading:t}=A;e?(this.errorDisplay.textContent=e,this.errorDisplay.style.display="block",this.input.style.borderColor="var(--mfm-error)"):(this.errorDisplay.style.display="none",this.input.style.borderColor=""),t?(this.input.disabled=!0,this.submitBtn.disabled=!0,this.submitBtn.innerHTML='<div class="mfm-spinner"></div>'):(this.input.disabled=!1,this.submitBtn.disabled=!1,this.submitBtn.innerHTML="Continue")}destroy(){this.unsubscribe&&this.unsubscribe(),this.element.remove()}}function D(A,e){if(!document.body)return;const t=document.createElement("textarea");t.value=A,t.setAttribute("readonly","true"),t.style.position="fixed",t.style.top="-9999px",t.style.left="-9999px",document.body.appendChild(t),t.focus(),t.select();try{document.execCommand("copy")&&e()}finally{t.remove()}}function T(A,e){if(O(A),!e)return;A.container.classList.add("json-is-searching");const t=new RegExp(e,"i");Array.from(A.treeContainer.querySelectorAll(".json-node")).forEach((e=>{const r=e.dataset.searchKey||"",n=e.dataset.searchValue||"";(t.test(r)||t.test(n))&&(e.classList.add("json-item-visible","json-match"),function(A){const e=A.querySelector(":scope > .json-children");if(!e)return;e.querySelectorAll(".json-node").forEach((A=>{A.classList.add("json-item-visible")})),e.style.display="block";const t=A.querySelector(":scope > .json-toggle");t&&(t.textContent="-")}(e),function(A,e){let t=e.parentElement;for(;t&&t!==A.treeContainer;){if(t.classList.contains("json-node")&&t.classList.add("json-item-visible"),t.classList.contains("json-children")){t.style.display="block";const A=t.parentElement.querySelector(":scope > .json-toggle");A&&(A.textContent="-")}t=t.parentElement}}(A,e))}))}function O(A){A.container.classList.remove("json-is-searching"),A.treeContainer.querySelectorAll(".json-match").forEach((A=>{A.classList.remove("json-match")})),A.treeContainer.querySelectorAll(".json-item-visible").forEach((A=>{A.classList.remove("json-item-visible")}))}function R(A,e,t=null,r=0){const n=document.createElement("div");if(n.className="json-node",null!==t){const A=document.createElement("span");A.className="json-key",A.textContent=`"${t}": `,n.appendChild(A),n.dataset.searchKey=String(t).toLowerCase()}if("object"==typeof e&&null!==e)return function(A,e,t,r){const n=Array.isArray(t),o=r<A.options.expandLevel,s=document.createElement("span");s.className="json-toggle",s.textContent=o?"-":"+";const i=document.createElement("span");i.className="json-bracket",i.textContent=n?"[":"{";const a=document.createElement("div");a.className="json-children",a.style.display=o?"block":"none",s.addEventListener("click",(()=>{const A="none"===a.style.display;a.style.display=A?"block":"none",s.textContent=A?"-":"+"})),e.appendChild(s),e.appendChild(i),Object.entries(t).forEach((([e,t])=>{const n=R(A,t,e,r+1);a.appendChild(n)})),e.appendChild(a);const c=document.createElement("div");c.className="json-closing-bracket",c.textContent=n?"]":"}",e.appendChild(c)}(A,n,e,r),n;const o=document.createElement("span");o.className="json-value "+typeof e;const s="string"==typeof e?`"${e}"`:String(e);return o.textContent=s,n.appendChild(o),n.dataset.searchValue=s.toLowerCase(),n}function N(A,e,t){const r=document.createElement("button");return r.innerHTML=A,r.title=e,r.onclick=t,r}class G{constructor(A,e={}){if(!A)throw new Error("Container element required");this.container=A,this.options={expandLevel:e.expandLevel??1,theme:e.theme??"light",toolbar:e.toolbar??!0,searchable:e.searchable??!0,debounceTime:e.debounceTime??300},this.data=null,this.searchTimer=null,this.container.classList.add("json-viewer",`json-viewer-${this.options.theme}`),this.options.toolbar&&function(A,e){A.toolbar=document.createElement("div"),A.toolbar.className="json-toolbar";const t=document.createElement("div");t.className="json-toolbar-group",t.appendChild(N(e.expand,"Expand All",(()=>A.expandAll()))),t.appendChild(N(e.collapse,"Collapse All",(()=>A.collapseAll()))),A.fullscreenBtn=N(e.fullscreen,"Fullscreen",(()=>A.toggleFullscreen())),A.copyBtn=N(e.copy,"Copy JSON",(()=>A.copy())),t.appendChild(A.fullscreenBtn),t.appendChild(A.copyBtn),A.toolbar.appendChild(t),A.options.searchable&&A.toolbar.appendChild(function(A,e){const t=document.createElement("div");t.className="json-search-group";const r=document.createElement("input");r.placeholder="Search...",r.oninput=e=>{clearTimeout(A.searchTimer),A.searchTimer=setTimeout((()=>{const t=e.target;T(A,t.value)}),A.options.debounceTime)};const n=N(e,"Clear Search",(()=>{r.value="",O(A)}));return t.appendChild(r),t.appendChild(n),t}(A,e.clear)),A.container.appendChild(A.toolbar)}(this,{expand:'<svg width="14" height="14" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><line x1="12" y1="5" x2="12" y2="19"></line><line x1="5" y1="12" x2="19" y2="12"></line></svg>',collapse:'<svg width="14" height="14" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><line x1="5" y1="12" x2="19" y2="12"></line></svg>',fullscreen:M,copy:'<svg width="14" height="14" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><rect x="9" y="9" width="13" height="13" rx="2" ry="2"></rect><path d="M5 15H4a2 2 0 0 1-2-2V4a2 2 0 0 1-2-2h9a2 2 0 0 1 2 2v1"></path></svg>',clear:k}),this.treeContainer=document.createElement("div"),this.treeContainer.className="json-tree-container",this.container.appendChild(this.treeContainer)}toggleFullscreen(){const A=this.container.classList.toggle("json-viewer-fullscreen");document.body.classList.toggle("json-viewer-body-fullscreen",A),this.fullscreenBtn&&(this.fullscreenBtn.innerHTML=A?'<svg width="14" height="14" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><path d="M8 3v3a2 2 0 0 1-2 2H3m18 0h-3a2 2 0 0 1-2-2V3m0 18v-3a2 2 0 0 1 2-2h3M3 16h3a2 2 0 0 1 2 2v3"></path></svg>':M,this.fullscreenBtn.title=A?"Minimize":"Fullscreen")}render(A){this.data=A,this.treeContainer.innerHTML="",this.root=R(this,A,null,0),this.treeContainer.appendChild(this.root)}copy(){!function(A){if(!A.data)return;const e=JSON.stringify(A.data,null,2),t=()=>{if(!A.copyBtn)return;const e=A.copyBtn.innerHTML;A.copyBtn.innerHTML="&#10003;",setTimeout((()=>{A.copyBtn.innerHTML=e}),2e3)};navigator.clipboard&&"function"==typeof navigator.clipboard.writeText?navigator.clipboard.writeText(e).then(t).catch((()=>{D(e,t)})):D(e,t)}(this)}expandAll(){var A;(A=this).treeContainer.querySelectorAll(".json-children").forEach((A=>{A.style.display="block"})),A.treeContainer.querySelectorAll(".json-toggle").forEach((A=>{A.textContent="-"}))}collapseAll(){var A;(A=this).treeContainer.querySelectorAll(".json-children").forEach((A=>{A.style.display="none"})),A.treeContainer.querySelectorAll(".json-toggle").forEach((A=>{A.textContent="+"}))}search(A){T(this,A)}clearSearch(){O(this)}}function P(A){return A.replace(/&/g,"&amp;").replace(/</g,"&lt;").replace(/>/g,"&gt;").replace(/"/g,"&quot;").replace(/'/g,"&#39;")}function V(A,e,t){const r=function(A){if("string"!=typeof A)return A;try{return JSON.parse(A)}catch{return A}}(t);if(!r||"object"!=typeof r)return;const n=A.querySelector(e);n&&(n.innerHTML="",new G(n,{expandLevel:1,theme:"light",toolbar:!0,searchable:!0}).render(r))}function _(A){const e={},t=A.modificationActions;return t&&Object.entries(t).forEach((([A,t])=>{(null==t?void 0:t.enabled)&&(e[A]=t)})),{requestId:`rule_${String(A.ruleName||A.condition||"unknown")}`,interceptionType:"RULE",request:{method:"RULE",url:String(A.condition||A.ruleName||""),headers:t||{},body:e},response:{statusCode:0,body:A}}}function q(A){var e,t,r,n;const{selectedTab:o,detailTab:s,tabConfigs:i}=F.state.ui,a=i[o];if(!a||!a.isDetailOpen)return A.sheet.classList.remove("active"),A.isUrlExpanded=!1,A.responseBodyMode="TEXT",A.prevState={},A;const{req:c,isRule:l}=function(){const{selectedTab:A,tabConfigs:e}=F.state.ui,t=e[A],r=t.selectedRequestId||null,n=t.selectedRule||null;return"MAPPINGS"===A&&n?{req:_(n),isRule:!0}:"MAPPINGS"!==A&&r?{req:F.state.requests.find((A=>String(A.requestId)===String(r)))||null,isRule:!1}:{req:null,isRule:!1}}();if(!c)return"MOCKED"!==o&&"OTHER"!==o||v.resetUnavailableRequestDetails(o),A.sheet.classList.remove("active"),A;if(function(A,e){const{selectedTab:t,detailTab:r,tabConfigs:n}=F.state.ui,o=n[t];return A.prevState.selectedTab===t&&A.prevState.selectedRule===o.selectedRule&&A.prevState.selectedRequestId===o.selectedRequestId&&A.prevState.reqObj===e&&A.prevState.detailTab===r&&A.prevState.isUrlExpanded===A.isUrlExpanded&&A.prevState.responseBodyMode===A.responseBodyMode}(A,c))return A;!function(A,e){const{selectedTab:t,detailTab:r,tabConfigs:n}=F.state.ui,o=n[t];A.prevState={selectedTab:t,selectedRule:o.selectedRule,selectedRequestId:o.selectedRequestId,reqObj:e,detailTab:r,isUrlExpanded:A.isUrlExpanded,responseBodyMode:A.responseBodyMode}}(A,c),function(A,e,t){var r;const n=e.request.method||"REQ",o=t?"RULE":(null==(r=e.response)?void 0:r.statusCode)??"Pending",s=function(A,e,t,r){return A?"pending":e?"success":t?"error":r?"rule":""}("Pending"===o,"number"==typeof o&&o>=200&&o<300,"number"==typeof o&&(0===o||o>=400),t),i=0===o?"Error":o,a=t?"":`<span class="mfm-method ${String(n).toLowerCase()}" style="flex-shrink: 0;">${n}</span>`,c=A.isUrlExpanded?"normal":"nowrap",l=A.isUrlExpanded?"break-all":"normal",B=A.isUrlExpanded?"60px":"2em",d=A.isUrlExpanded?"auto":"hidden";A.infoContainer.innerHTML=`\n ${a}\n <span class="mfm-status ${s}" style="flex-shrink: 0;">${i}</span>\n <span class="mfm-url-small" title="Click to toggle full URL" style="font-family: monospace; color: var(--mfm-text-dim); overflow: hidden; text-overflow: ellipsis; white-space: ${c}; word-break: ${l}; max-height: ${B}; overflow-y: ${d}; flex: 1;">${e.request.url||""}</span>\n `}(A,c,l);const B=A.sheet.querySelector(".mfm-bottomsheet-content");if(!B)return A;const d={first:"Headers",second:"Request",third:"Response"};l&&(d.first="Configs",d.second="Modifications",d.third="Full Rule");const u=null==(e=c.response)?void 0:e.body,g="string"==typeof u?u:JSON.stringify(u||{},null,2),m=function(A){if(!A||"object"!=typeof A)return"";const e=A,t=e["content-type"]||e["Content-Type"]||e["CONTENT-TYPE"];return"string"==typeof t?t.toLowerCase():""}(null==(t=c.response)?void 0:t.headers),w=!l&&"string"==typeof u&&!function(A){try{return JSON.parse(A),!0}catch{return!1}}(u)&&(m.includes("text/html")||/<!doctype html|<html[\s>]|<body[\s>]|<\/?[a-z][\s\S]*>/i.test(u));w||(A.responseBodyMode="TEXT");let p="";if("HEADERS"===s&&(p=function(A,e,t){const r=t?"":`\n <div class="mfm-detail-section" style="margin-top:16px">\n <div class="mfm-detail-title">Response Headers</div>\n <div class="mfm-detail-content"><pre style="margin:0">${JSON.stringify(e||{},null,2)}</pre></div>\n </div>\n `;return`\n <div class="mfm-detail-section">\n <div class="mfm-detail-title">${t?"Rule Configuration":"Request Headers"}</div>\n <div class="mfm-detail-content"><pre style="margin:0">${JSON.stringify(A||{},null,2)}</pre></div>\n </div>\n ${r}\n `}(c.request.headers,null==(r=c.response)?void 0:r.headers,l)),"REQ_BODY"===s&&(p=function(A,e){return`\n <div class="mfm-detail-section">\n <div class="mfm-detail-title">${e?"Enabled Modifications":"Request Body"}</div>\n <div class="mfm-detail-content" id="mfm-req-viewer"><pre style="margin:0">${"string"==typeof A?P(A):JSON.stringify(A,null,2)}</pre></div>\n </div>\n `}(c.request.body,l)),"RES_BODY"===s&&(p=function(A){const e=A.isRule?"Complete Rule Object":"Response Body";let t="";A.isHtmlNonJsonResponse&&(t=`\n <div style="display:flex; gap:8px; margin-bottom:8px;">\n <button class="mfm-btn-outline mfm-res-mode-btn ${"TEXT"===A.responseBodyMode?"active":""}" data-mode="TEXT">Text</button>\n <button class="mfm-btn-outline mfm-res-mode-btn ${"PREVIEW"===A.responseBodyMode?"active":""}" data-mode="PREVIEW">Preview</button>\n </div>\n `);let r=`<pre style="margin:0">${P(A.responseText)}</pre>`;return A.isHtmlNonJsonResponse&&"PREVIEW"===A.responseBodyMode&&(r='<iframe id="mfm-res-preview" sandbox="" style="width:100%; min-height:280px; border:1px solid var(--mfm-border); border-radius:8px; background:#fff;"></iframe>'),`\n <div class="mfm-detail-section">\n <div class="mfm-detail-title">${e}</div>\n ${t}\n <div class="mfm-detail-content" id="mfm-res-viewer">${r}</div>\n </div>\n `}({isRule:l,isHtmlNonJsonResponse:w,responseBodyMode:A.responseBodyMode,responseText:g})),B.innerHTML=`${function(A,e){return`\n <div class="mfm-detail-tabs" style="margin-top: 0;">\n <button class="mfm-detail-tab-btn ${"HEADERS"===A?"active":""}" data-tab="HEADERS">${e.first}</button>\n <button class="mfm-detail-tab-btn ${"REQ_BODY"===A?"active":""}" data-tab="REQ_BODY">${e.second}</button>\n <button class="mfm-detail-tab-btn ${"RES_BODY"===A?"active":""}" data-tab="RES_BODY">${e.third}</button>\n </div>\n `}(s,d)}<div class="mfm-detail-body">${p}</div>`,"REQ_BODY"===s&&c.request.body&&V(A.sheet,"#mfm-req-viewer",c.request.body),"RES_BODY"===s&&(null==(n=c.response)?void 0:n.body)&&!w&&V(A.sheet,"#mfm-res-viewer",c.response.body),"RES_BODY"===s&&w&&"PREVIEW"===A.responseBodyMode){const e=A.sheet.querySelector("#mfm-res-preview");e&&(e.srcdoc=g)}return A.sheet.querySelectorAll(".mfm-detail-tab-btn").forEach((A=>{A.onclick=()=>{const e=A.dataset.tab;e&&v.setDetailTab(e)}})),A.sheet.querySelectorAll(".mfm-res-mode-btn").forEach((e=>{e.onclick=()=>{const t=e.dataset.mode;t&&t!==A.responseBodyMode&&(A.responseBodyMode=t,q(A))}})),A.sheet.classList.add("active"),A}var J=function(A,e){return(J=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)};function X(A,e){if("function"!=typeof e&&null!==e)throw new TypeError("Class extends value "+String(e)+" is not a constructor or null");function t(){this.constructor=A}J(A,e),A.prototype=null===e?Object.create(e):(t.prototype=e.prototype,new t)}var Y=function(){return Y=Object.assign||function(A){for(var e,t=1,r=arguments.length;t<r;t++)for(var n in e=arguments[t])Object.prototype.hasOwnProperty.call(e,n)&&(A[n]=e[n]);return A},Y.apply(this,arguments)};function W(A,e,t,r){return new(t||(t=Promise))((function(e,n){function o(A){try{i(r.next(A))}catch(A){n(A)}}function s(A){try{i(r.throw(A))}catch(A){n(A)}}function i(A){var r;A.done?e(A.value):(r=A.value,r instanceof t?r:new t((function(A){A(r)}))).then(o,s)}i((r=r.apply(A,[])).next())}))}function j(A,e){var t,r,n,o,s={label:0,sent:function(){if(1&n[0])throw n[1];return n[1]},trys:[],ops:[]};return o={next:i(0),throw:i(1),return:i(2)},"function"==typeof Symbol&&(o[Symbol.iterator]=function(){return this}),o;function i(o){return function(i){return function(o){if(t)throw new TypeError("Generator is already executing.");for(;s;)try{if(t=1,r&&(n=2&o[0]?r.return:o[0]?r.throw||((n=r.return)&&n.call(r),0):r.next)&&!(n=n.call(r,o[1])).done)return n;switch(r=0,n&&(o=[2&o[0],n.value]),o[0]){case 0:case 1:n=o;break;case 4:return s.label++,{value:o[1],done:!1};case 5:s.label++,r=o[1],o=[0];continue;case 7:o=s.ops.pop(),s.trys.pop();continue;default:if(!((n=(n=s.trys).length>0&&n[n.length-1])||6!==o[0]&&2!==o[0])){s=0;continue}if(3===o[0]&&(!n||o[1]>n[0]&&o[1]<n[3])){s.label=o[1];break}if(6===o[0]&&s.label<n[1]){s.label=n[1],n=o;break}if(n&&s.label<n[2]){s.label=n[2],s.ops.push(o);break}n[2]&&s.ops.pop(),s.trys.pop();continue}o=e.call(A,s)}catch(A){o=[6,A],r=0}finally{t=n=0}if(5&o[0])throw o[1];return{value:o[0]?o[1]:void 0,done:!0}}([o,i])}}}function Z(A,e,t){if(2===arguments.length)for(var r,n=0,o=e.length;n<o;n++)!r&&n in e||(r||(r=Array.prototype.slice.call(e,0,n)),r[n]=e[n]);return A.concat(r||e)}for(var $=function(){function A(A,e,t,r){this.left=A,this.top=e,this.width=t,this.height=r}return A.prototype.add=function(e,t,r,n){return new A(this.left+e,this.top+t,this.width+r,this.height+n)},A.fromClientRect=function(e,t){return new A(t.left+e.windowBounds.left,t.top+e.windowBounds.top,t.width,t.height)},A.fromDOMRectList=function(e,t){var r=Array.from(t).find((function(A){return 0!==A.width}));return r?new A(r.left+e.windowBounds.left,r.top+e.windowBounds.top,r.width,r.height):A.EMPTY},A.EMPTY=new A(0,0,0,0),A}(),z=function(A,e){return $.fromClientRect(A,e.getBoundingClientRect())},AA=function(A){for(var e=[],t=0,r=A.length;t<r;){var n=A.charCodeAt(t++);if(n>=55296&&n<=56319&&t<r){var o=A.charCodeAt(t++);56320==(64512&o)?e.push(((1023&n)<<10)+(1023&o)+65536):(e.push(n),t--)}else e.push(n)}return e},eA=function(){for(var A=[],e=0;e<arguments.length;e++)A[e]=arguments[e];if(String.fromCodePoint)return String.fromCodePoint.apply(String,A);var t=A.length;if(!t)return"";for(var r=[],n=-1,o="";++n<t;){var s=A[n];s<=65535?r.push(s):(s-=65536,r.push(55296+(s>>10),s%1024+56320)),(n+1===t||r.length>16384)&&(o+=String.fromCharCode.apply(String,r),r.length=0)}return o},tA="undefined"==typeof Uint8Array?[]:new Uint8Array(256),rA=0;rA<64;rA++)tA["ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/".charCodeAt(rA)]=rA;for(var nA="undefined"==typeof Uint8Array?[]:new Uint8Array(256),oA=0;oA<64;oA++)nA["ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/".charCodeAt(oA)]=oA;for(var sA=function(A,e,t){return A.slice?A.slice(e,t):new Uint16Array(Array.prototype.slice.call(A,e,t))},iA=function(){function A(A,e,t,r,n,o){this.initialValue=A,this.errorValue=e,this.highStart=t,this.highValueIndex=r,this.index=n,this.data=o}return A.prototype.get=function(A){var e;if(A>=0){if(A<55296||A>56319&&A<=65535)return e=((e=this.index[A>>5])<<2)+(31&A),this.data[e];if(A<=65535)return e=((e=this.index[2048+(A-55296>>5)])<<2)+(31&A),this.data[e];if(A<this.highStart)return e=2080+(A>>11),e=this.index[e],e+=A>>5&63,e=((e=this.index[e])<<2)+(31&A),this.data[e];if(A<=1114111)return this.data[this.highValueIndex]}return this.errorValue},A}(),aA="undefined"==typeof Uint8Array?[]:new Uint8Array(256),cA=0;cA<64;cA++)aA["ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/".charCodeAt(cA)]=cA;var lA,BA,dA,uA,gA,mA,wA,pA,hA=10,fA=13,QA=15,CA=17,UA=18,FA=19,yA=20,bA=21,EA=22,vA=24,HA=25,IA=26,xA=27,LA=28,kA=30,KA=32,MA=33,SA=34,DA=35,TA=37,OA=38,RA=39,NA=40,GA=42,PA=[9001,65288],VA="×",_A="÷",qA=(uA=function(A){var e,t,r,n,o,s=39666,i=0;"="===A[52887]&&(s--,"="===A[52886]&&s--);var a="undefined"!=typeof ArrayBuffer&&"undefined"!=typeof Uint8Array&&void 0!==Uint8Array.prototype.slice?new ArrayBuffer(s):new Array(s),c=Array.isArray(a)?a:new Uint8Array(a);for(e=0;e<52888;e+=4)t=nA[A.charCodeAt(e)],r=nA[A.charCodeAt(e+1)],n=nA[A.charCodeAt(e+2)],o=nA[A.charCodeAt(e+3)],c[i++]=t<<2|r>>4,c[i++]=(15&r)<<4|n>>2,c[i++]=(3&n)<<6|63&o;return a}("KwAAAAAAAAAACA4AUD0AADAgAAACAAAAAAAIABAAGABAAEgAUABYAGAAaABgAGgAYgBqAF8AZwBgAGgAcQB5AHUAfQCFAI0AlQCdAKIAqgCyALoAYABoAGAAaABgAGgAwgDKAGAAaADGAM4A0wDbAOEA6QDxAPkAAQEJAQ8BFwF1AH0AHAEkASwBNAE6AUIBQQFJAVEBWQFhAWgBcAF4ATAAgAGGAY4BlQGXAZ8BpwGvAbUBvQHFAc0B0wHbAeMB6wHxAfkBAQIJAvEBEQIZAiECKQIxAjgCQAJGAk4CVgJeAmQCbAJ0AnwCgQKJApECmQKgAqgCsAK4ArwCxAIwAMwC0wLbAjAA4wLrAvMC+AIAAwcDDwMwABcDHQMlAy0DNQN1AD0DQQNJA0kDSQNRA1EDVwNZA1kDdQB1AGEDdQBpA20DdQN1AHsDdQCBA4kDkQN1AHUAmQOhA3UAdQB1AHUAdQB1AHUAdQB1AHUAdQB1AHUAdQB1AHUAdQB1AKYDrgN1AHUAtgO+A8YDzgPWAxcD3gPjA+sD8wN1AHUA+wMDBAkEdQANBBUEHQQlBCoEFwMyBDgEYABABBcDSARQBFgEYARoBDAAcAQzAXgEgASIBJAEdQCXBHUAnwSnBK4EtgS6BMIEyAR1AHUAdQB1AHUAdQCVANAEYABgAGAAYABgAGAAYABgANgEYADcBOQEYADsBPQE/AQEBQwFFAUcBSQFLAU0BWQEPAVEBUsFUwVbBWAAYgVgAGoFcgV6BYIFigWRBWAAmQWfBaYFYABgAGAAYABgAKoFYACxBbAFuQW6BcEFwQXHBcEFwQXPBdMF2wXjBeoF8gX6BQIGCgYSBhoGIgYqBjIGOgZgAD4GRgZMBmAAUwZaBmAAYABgAGAAYABgAGAAYABgAGAAYABgAGIGYABpBnAGYABgAGAAYABgAGAAYABgAGAAYAB4Bn8GhQZgAGAAYAB1AHcDFQSLBmAAYABgAJMGdQA9A3UAmwajBqsGqwaVALMGuwbDBjAAywbSBtIG1QbSBtIG0gbSBtIG0gbdBuMG6wbzBvsGAwcLBxMHAwcbByMHJwcsBywHMQcsB9IGOAdAB0gHTgfSBkgHVgfSBtIG0gbSBtIG0gbSBtIG0gbSBiwHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAdgAGAALAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAdbB2MHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsB2kH0gZwB64EdQB1AHUAdQB1AHUAdQB1AHUHfQdgAIUHjQd1AHUAlQedB2AAYAClB6sHYACzB7YHvgfGB3UAzgfWBzMB3gfmB1EB7gf1B/0HlQENAQUIDQh1ABUIHQglCBcDLQg1CD0IRQhNCEEDUwh1AHUAdQBbCGMIZAhlCGYIZwhoCGkIYwhkCGUIZghnCGgIaQhjCGQIZQhmCGcIaAhpCGMIZAhlCGYIZwhoCGkIYwhkCGUIZghnCGgIaQhjCGQIZQhmCGcIaAhpCGMIZAhlCGYIZwhoCGkIYwhkCGUIZghnCGgIaQhjCGQIZQhmCGcIaAhpCGMIZAhlCGYIZwhoCGkIYwhkCGUIZghnCGgIaQhjCGQIZQhmCGcIaAhpCGMIZAhlCGYIZwhoCGkIYwhkCGUIZghnCGgIaQhjCGQIZQhmCGcIaAhpCGMIZAhlCGYIZwhoCGkIYwhkCGUIZghnCGgIaQhjCGQIZQhmCGcIaAhpCGMIZAhlCGYIZwhoCGkIYwhkCGUIZghnCGgIaQhjCGQIZQhmCGcIaAhpCGMIZAhlCGYIZwhoCGkIYwhkCGUIZghnCGgIaQhjCGQIZQhmCGcIaAhpCGMIZAhlCGYIZwhoCGkIYwhkCGUIZghnCGgIaQhjCGQIZQhmCGcIaAhpCGMIZAhlCGYIZwhoCGkIYwhkCGUIZghnCGgIaQhjCGQIZQhmCGcIaAhpCGMIZAhlCGYIZwhoCGkIYwhkCGUIZghnCGgIaQhjCGQIZQhmCGcIaAhpCGMIZAhlCGYIZwhoCGkIYwhkCGUIZghnCGgIaQhjCGQIZQhmCGcIaAhpCGMIZAhlCGYIZwhoCGkIYwhkCGUIZghnCGgIaQhjCGQIZQhmCGcIaAhpCGMIZAhlCGYIZwhoCGkIYwhkCGUIZghnCGgIaQhjCGQIZQhmCGcIaAhpCGMIZAhlCGYIZwhoCGkIYwhkCGUIZghnCGgIaQhjCGQIZQhmCGcIaAhpCGMIZAhlCGYIZwhoCGkIYwhkCGUIZghnCGgIaQhjCGQIZQhmCGcIaAhpCGMIZAhlCGYIZwhoCGkIYwhkCGUIZghnCGgIcAh3CHoIMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwAIIIggiCCIIIggiCCIIIggiCCIIIggiCCIIIggiCCIIIggiCCIIIggiCCIIIggiCCIIIggiCCIIIggiCCIIIgggwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAALAcsBywHLAcsBywHLAcsBywHLAcsB4oILAcsB44I0gaWCJ4Ipgh1AHUAqgiyCHUAdQB1AHUAdQB1AHUAdQB1AHUAtwh8AXUAvwh1AMUIyQjRCNkI4AjoCHUAdQB1AO4I9gj+CAYJDgkTCS0HGwkjCYIIggiCCIIIggiCCIIIggiCCIIIggiCCIIIggiCCIIIggiCCIIIggiCCIIIggiCCIIIggiCCIIIggiCCIIIggiAAIAAAAFAAYABgAGIAXwBgAHEAdQBFAJUAogCyAKAAYABgAEIA4ABGANMA4QDxAMEBDwE1AFwBLAE6AQEBUQF4QkhCmEKoQrhCgAHIQsAB0MLAAcABwAHAAeDC6ABoAHDCwMMAAcABwAHAAdDDGMMAAcAB6MM4wwjDWMNow3jDaABoAGgAaABoAGgAaABoAGgAaABoAGgAaABoAGgAaABoAGgAaABoAEjDqABWw6bDqABpg6gAaABoAHcDvwOPA+gAaABfA/8DvwO/A78DvwO/A78DvwO/A78DvwO/A78DvwO/A78DvwO/A78DvwO/A78DvwO/A78DvwO/A78DpcPAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcAB9cPKwkyCToJMAB1AHUAdQBCCUoJTQl1AFUJXAljCWcJawkwADAAMAAwAHMJdQB2CX4JdQCECYoJjgmWCXUAngkwAGAAYABxAHUApgn3A64JtAl1ALkJdQDACTAAMAAwADAAdQB1AHUAdQB1AHUAdQB1AHUAowYNBMUIMAAwADAAMADICcsJ0wnZCRUE4QkwAOkJ8An4CTAAMAB1AAAKvwh1AAgKDwoXCh8KdQAwACcKLgp1ADYKqAmICT4KRgowADAAdQB1AE4KMAB1AFYKdQBeCnUAZQowADAAMAAwADAAMAAwADAAMAAVBHUAbQowADAAdQC5CXUKMAAwAHwBxAijBogEMgF9CoQKiASMCpQKmgqIBKIKqgquCogEDQG2Cr4KxgrLCjAAMADTCtsKCgHjCusK8Qr5CgELMAAwADAAMAB1AIsECQsRC3UANAEZCzAAMAAwADAAMAB1ACELKQswAHUANAExCzkLdQBBC0kLMABRC1kLMAAwADAAMAAwADAAdQBhCzAAMAAwAGAAYABpC3ELdwt/CzAAMACHC4sLkwubC58Lpwt1AK4Ltgt1APsDMAAwADAAMAAwADAAMAAwAL4LwwvLC9IL1wvdCzAAMADlC+kL8Qv5C/8LSQswADAAMAAwADAAMAAwADAAMAAHDDAAMAAwADAAMAAODBYMHgx1AHUAdQB1AHUAdQB1AHUAdQB1AHUAdQB1AHUAdQB1AHUAdQB1AHUAdQB1AHUAdQB1AHUAdQB1ACYMMAAwADAAdQB1AHUALgx1AHUAdQB1AHUAdQA2DDAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwAHUAdQB1AHUAdQB1AHUAdQB1AHUAdQB1AHUAdQB1AHUAdQB1AD4MdQBGDHUAdQB1AHUAdQB1AEkMdQB1AHUAdQB1AFAMMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwAHUAdQB1AHUAdQB1AHUAdQB1AHUAdQB1AHUAdQBYDHUAdQB1AF8MMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAB1AHUAdQB1AHUAdQB1AHUAdQB1AHUAdQB1AHUAdQB1AHUA+wMVBGcMMAAwAHwBbwx1AHcMfwyHDI8MMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAYABgAJcMMAAwADAAdQB1AJ8MlQClDDAAMACtDCwHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsB7UMLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHdQB1AHUAdQB1AHUAdQB1AHUAdQB1AHUAdQB1AA0EMAC9DDAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAsBywHLAcsBywHLAcsBywHLQcwAMEMyAwsBywHLAcsBywHLAcsBywHLAcsBywHzAwwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwAHUAdQB1ANQM2QzhDDAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMABgAGAAYABgAGAAYABgAOkMYADxDGAA+AwADQYNYABhCWAAYAAODTAAMAAwADAAFg1gAGAAHg37AzAAMAAwADAAYABgACYNYAAsDTQNPA1gAEMNPg1LDWAAYABgAGAAYABgAGAAYABgAGAAUg1aDYsGVglhDV0NcQBnDW0NdQ15DWAAYABgAGAAYABgAGAAYABgAGAAYABgAGAAYABgAGAAlQCBDZUAiA2PDZcNMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAnw2nDTAAMAAwADAAMAAwAHUArw23DTAAMAAwADAAMAAwADAAMAAwADAAMAB1AL8NMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAB1AHUAdQB1AHUAdQDHDTAAYABgAM8NMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAA1w11ANwNMAAwAD0B5A0wADAAMAAwADAAMADsDfQN/A0EDgwOFA4wABsOMAAwADAAMAAwADAAMAAwANIG0gbSBtIG0gbSBtIG0gYjDigOwQUuDsEFMw7SBjoO0gbSBtIG0gbSBtIG0gbSBtIG0gbSBtIGQg5KDlIOVg7SBtIGXg5lDm0OdQ7SBtIGfQ6EDooOjQ6UDtIGmg6hDtIG0gaoDqwO0ga0DrwO0gZgAGAAYADEDmAAYAAkBtIGzA5gANIOYADaDokO0gbSBt8O5w7SBu8O0gb1DvwO0gZgAGAAxA7SBtIG0gbSBtIGYABgAGAAYAAED2AAsAUMD9IG0gbSBtIG0gbSBtIG0gbSBtIG0gbSBtIG0gbSBtIG0gbSBtIG0gbSBtIG0gbSBtIG0gbSBtIG0gbSBtIGFA8sBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAccD9IGLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHJA8sBywHLAcsBywHLAccDywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywPLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAc0D9IG0gbSBtIG0gbSBtIG0gbSBtIG0gbSBtIG0gbSBtIG0gbSBtIG0gbSBtIG0gbSBtIG0gbSBtIG0gbSBtIG0gbSBtIG0gbSBtIG0gbSBtIG0gbSBtIG0gbSBtIG0gbSBtIG0gbSBtIG0gbSBtIG0gbSBtIG0gbSBtIG0gbSBtIGLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAccD9IG0gbSBtIG0gbSBtIG0gbSBtIG0gbSBtIG0gbSBtIG0gbSBtIG0gbSBtIG0gbSBtIG0gbSBtIG0gbSBtIG0gbSBtIG0gbSBtIG0gbSBtIG0gbSBtIG0gbSBtIGFA8sBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHPA/SBtIG0gbSBtIG0gbSBtIG0gbSBtIG0gbSBtIG0gbSBtIG0gbSBtIG0gbSBtIG0gbSBtIG0gbSBtIG0gbSBtIG0gbSBtIG0gbSBtIG0gbSBtIG0gbSBtIG0gbSBtIG0gbSBtIG0gbSBtIG0gbSBtIG0gbSBtIG0gbSBtIG0gYUD0QPlQCVAJUAMAAwADAAMACVAJUAlQCVAJUAlQCVAEwPMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAA//8EAAQABAAEAAQABAAEAAQABAANAAMAAQABAAIABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQACgATABcAHgAbABoAHgAXABYAEgAeABsAGAAPABgAHABLAEsASwBLAEsASwBLAEsASwBLABgAGAAeAB4AHgATAB4AUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQABYAGwASAB4AHgAeAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAAWAA0AEQAeAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArAAQABAAEAAQABAAFAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAJABYAGgAbABsAGwAeAB0AHQAeAE8AFwAeAA0AHgAeABoAGwBPAE8ADgBQAB0AHQAdAE8ATwAXAE8ATwBPABYAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAB0AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAdAFAAUABQAFAAUABQAFAAUAAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAFAAHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgBQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAAeAB4AHgAeAFAATwBAAE8ATwBPAEAATwBQAFAATwBQAB4AHgAeAB4AHgAeAB0AHQAdAB0AHgAdAB4ADgBQAFAAUABQAFAAHgAeAB4AHgAeAB4AHgBQAB4AUAAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4ABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAJAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAkACQAJAAkACQAJAAkABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAeAB4AHgAeAFAAHgAeAB4AKwArAFAAUABQAFAAGABQACsAKwArACsAHgAeAFAAHgBQAFAAUAArAFAAKwAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AKwAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4ABAAEAAQABAAEAAQABAAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgArAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAArACsAUAAeAB4AHgAeAB4AHgBQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAAYAA0AKwArAB4AHgAbACsABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQADQAEAB4ABAAEAB4ABAAEABMABAArACsAKwArACsAKwArACsAVgBWAFYAVgBWAFYAVgBWAFYAVgBWAFYAVgBWAFYAVgBWAFYAVgBWAFYAVgBWAFYAVgBWAFYAKwArACsAKwBWAFYAVgBWAB4AHgArACsAKwArACsAKwArACsAKwArACsAHgAeAB4AHgAeAB4AHgAeAB4AGgAaABoAGAAYAB4AHgAEAAQABAAEAAQABAAEAAQABAAEAAQAEwAEACsAEwATAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABABLAEsASwBLAEsASwBLAEsASwBLABoAGQAZAB4AUABQAAQAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQABMAUAAEAAQABAAEAAQABAAEAB4AHgAEAAQABAAEAAQABABQAFAABAAEAB4ABAAEAAQABABQAFAASwBLAEsASwBLAEsASwBLAEsASwBQAFAAUAAeAB4AUAAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AKwAeAFAABABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEACsAKwBQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAABAAEAAQABAAEAAQABAAEAAQABAAEAFAAKwArACsAKwArACsAKwArACsAKwArACsAKwArAEsASwBLAEsASwBLAEsASwBLAEsAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAABAAEAAQABAAEAAQABAAEAAQAUABQAB4AHgAYABMAUAArACsABAAbABsAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAAEAAQABAAEAFAABAAEAAQABAAEAFAABAAEAAQAUAAEAAQABAAEAAQAKwArAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeACsAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAAEAAQABAArACsAHgArAFAAUABQAFAAUABQAFAAUABQAFAAUAArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwBQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAArAFAAUABQAFAAUABQAFAAUABQAFAAKwArACsAKwArACsAKwArACsAKwArAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAB4ABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAAQABAAEAFAABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQAUAAEAAQABAAEAAQABAAEAFAAUABQAFAAUABQAFAAUABQAFAABAAEAA0ADQBLAEsASwBLAEsASwBLAEsASwBLAB4AUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAAEAAQABAArAFAAUABQAFAAUABQAFAAUAArACsAUABQACsAKwBQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAKwBQAFAAUABQAFAAUABQACsAUAArACsAKwBQAFAAUABQACsAKwAEAFAABAAEAAQABAAEAAQABAArACsABAAEACsAKwAEAAQABABQACsAKwArACsAKwArACsAKwAEACsAKwArACsAUABQACsAUABQAFAABAAEACsAKwBLAEsASwBLAEsASwBLAEsASwBLAFAAUAAaABoAUABQAFAAUABQAEwAHgAbAFAAHgAEACsAKwAEAAQABAArAFAAUABQAFAAUABQACsAKwArACsAUABQACsAKwBQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAKwBQAFAAUABQAFAAUABQACsAUABQACsAUABQACsAUABQACsAKwAEACsABAAEAAQABAAEACsAKwArACsABAAEACsAKwAEAAQABAArACsAKwAEACsAKwArACsAKwArACsAUABQAFAAUAArAFAAKwArACsAKwArACsAKwBLAEsASwBLAEsASwBLAEsASwBLAAQABABQAFAAUAAEAB4AKwArACsAKwArACsAKwArACsAKwAEAAQABAArAFAAUABQAFAAUABQAFAAUABQACsAUABQAFAAKwBQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAKwBQAFAAUABQAFAAUABQACsAUABQACsAUABQAFAAUABQACsAKwAEAFAABAAEAAQABAAEAAQABAAEACsABAAEAAQAKwAEAAQABAArACsAUAArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwBQAFAABAAEACsAKwBLAEsASwBLAEsASwBLAEsASwBLAB4AGwArACsAKwArACsAKwArAFAABAAEAAQABAAEAAQAKwAEAAQABAArAFAAUABQAFAAUABQAFAAUAArACsAUABQACsAKwBQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAAQABAAEAAQABAArACsABAAEACsAKwAEAAQABAArACsAKwArACsAKwArAAQABAAEACsAKwArACsAUABQACsAUABQAFAABAAEACsAKwBLAEsASwBLAEsASwBLAEsASwBLAB4AUABQAFAAUABQAFAAUAArACsAKwArACsAKwArACsAKwArAAQAUAArAFAAUABQAFAAUABQACsAKwArAFAAUABQACsAUABQAFAAUAArACsAKwBQAFAAKwBQACsAUABQACsAKwArAFAAUAArACsAKwBQAFAAUAArACsAKwBQAFAAUABQAFAAUABQAFAAUABQAFAAUAArACsAKwArAAQABAAEAAQABAArACsAKwAEAAQABAArAAQABAAEAAQAKwArAFAAKwArACsAKwArACsABAArACsAKwArACsAKwArACsAKwArAEsASwBLAEsASwBLAEsASwBLAEsAUABQAFAAHgAeAB4AHgAeAB4AGwAeACsAKwArACsAKwAEAAQABAAEAAQAUABQAFAAUABQAFAAUABQACsAUABQAFAAKwBQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAArAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAKwArACsAUAAEAAQABAAEAAQABAAEACsABAAEAAQAKwAEAAQABAAEACsAKwArACsAKwArACsABAAEACsAUABQAFAAKwArACsAKwArAFAAUAAEAAQAKwArAEsASwBLAEsASwBLAEsASwBLAEsAKwArACsAKwArACsAKwAOAFAAUABQAFAAUABQAFAAHgBQAAQABAAEAA4AUABQAFAAUABQAFAAUABQACsAUABQAFAAKwBQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAArAFAAUABQAFAAUABQAFAAUABQAFAAKwBQAFAAUABQAFAAKwArAAQAUAAEAAQABAAEAAQABAAEACsABAAEAAQAKwAEAAQABAAEACsAKwArACsAKwArACsABAAEACsAKwArACsAKwArACsAUAArAFAAUAAEAAQAKwArAEsASwBLAEsASwBLAEsASwBLAEsAKwBQAFAAKwArACsAKwArACsAKwArACsAKwArACsAKwAEAAQABAAEAFAAUABQAFAAUABQAFAAUABQACsAUABQAFAAKwBQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAABAAEAFAABAAEAAQABAAEAAQABAArAAQABAAEACsABAAEAAQABABQAB4AKwArACsAKwBQAFAAUAAEAFAAUABQAFAAUABQAFAAUABQAFAABAAEACsAKwBLAEsASwBLAEsASwBLAEsASwBLAFAAUABQAFAAUABQAFAAUABQABoAUABQAFAAUABQAFAAKwAEAAQABAArAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQACsAKwArAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAArAFAAUABQAFAAUABQAFAAUABQACsAUAArACsAUABQAFAAUABQAFAAUAArACsAKwAEACsAKwArACsABAAEAAQABAAEAAQAKwAEACsABAAEAAQABAAEAAQABAAEACsAKwArACsAKwArAEsASwBLAEsASwBLAEsASwBLAEsAKwArAAQABAAeACsAKwArACsAKwArACsAKwArACsAKwArAFwAXABcAFwAXABcAFwAXABcAFwAXABcAFwAXABcAFwAXABcAFwAXABcAFwAXABcAFwAXABcAFwAXABcAFwAXAAqAFwAXAAqACoAKgAqACoAKgAqACsAKwArACsAGwBcAFwAXABcAFwAXABcACoAKgAqACoAKgAqACoAKgAeAEsASwBLAEsASwBLAEsASwBLAEsADQANACsAKwArACsAKwBcAFwAKwBcACsAXABcAFwAXABcACsAXABcAFwAXABcAFwAXABcAFwAXABcAFwAXABcAFwAXABcAFwAXABcACsAXAArAFwAXABcAFwAXABcAFwAXABcAFwAKgBcAFwAKgAqACoAKgAqACoAKgAqACoAXAArACsAXABcAFwAXABcACsAXAArACoAKgAqACoAKgAqACsAKwBLAEsASwBLAEsASwBLAEsASwBLACsAKwBcAFwAXABcAFAADgAOAA4ADgAeAA4ADgAJAA4ADgANAAkAEwATABMAEwATAAkAHgATAB4AHgAeAAQABAAeAB4AHgAeAB4AHgBLAEsASwBLAEsASwBLAEsASwBLAFAAUABQAFAAUABQAFAAUABQAFAADQAEAB4ABAAeAAQAFgARABYAEQAEAAQAUABQAFAAUABQAFAAUABQACsAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAKwArACsAKwAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQADQAEAAQABAAEAAQADQAEAAQAUABQAFAAUABQAAQABAAEAAQABAAEAAQABAAEAAQABAArAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAArAA0ADQAeAB4AHgAeAB4AHgAEAB4AHgAeAB4AHgAeACsAHgAeAA4ADgANAA4AHgAeAB4AHgAeAAkACQArACsAKwArACsAXABcAFwAXABcAFwAXABcAFwAXABcAFwAXABcAFwAXABcAFwAXABcAFwAXABcAFwAXABcAFwAXABcAFwAXABcAFwAXABcACoAKgAqACoAKgAqACoAKgAqACoAKgAqACoAKgAqACoAKgAqACoAKgBcAEsASwBLAEsASwBLAEsASwBLAEsADQANAB4AHgAeAB4AXABcAFwAXABcAFwAKgAqACoAKgBcAFwAXABcACoAKgAqAFwAKgAqACoAXABcACoAKgAqACoAKgAqACoAXABcAFwAKgAqACoAKgBcAFwAXABcAFwAXABcAFwAXABcAFwAXABcACoAKgAqACoAKgAqACoAKgAqACoAKgAqAFwAKgBLAEsASwBLAEsASwBLAEsASwBLACoAKgAqACoAKgAqAFAAUABQAFAAUABQACsAUAArACsAKwArACsAUAArACsAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAHgBQAFAAUABQAFgAWABYAFgAWABYAFgAWABYAFgAWABYAFgAWABYAFgAWABYAFgAWABYAFgAWABYAFgAWABYAFgAWABYAFgAWABZAFkAWQBZAFkAWQBZAFkAWQBZAFkAWQBZAFkAWQBZAFkAWQBZAFkAWQBZAFkAWQBZAFkAWQBZAFkAWQBZAFkAWgBaAFoAWgBaAFoAWgBaAFoAWgBaAFoAWgBaAFoAWgBaAFoAWgBaAFoAWgBaAFoAWgBaAFoAWgBaAFoAWgBaAFAAUABQAFAAUABQAFAAUABQACsAUABQAFAAUAArACsAUABQAFAAUABQAFAAUAArAFAAKwBQAFAAUABQACsAKwBQAFAAUABQAFAAUABQAFAAUAArAFAAUABQAFAAKwArAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAArAFAAUABQAFAAKwArAFAAUABQAFAAUABQAFAAKwBQACsAUABQAFAAUAArACsAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAKwBQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAKwBQAFAAUABQACsAKwBQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAArACsABAAEAAQAHgANAB4AHgAeAB4AHgAeAB4AUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQACsAKwArAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAHgAeAB4AHgAeAB4AHgAeAB4AHgArACsAKwArACsAKwBQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQACsAKwBQAFAAUABQAFAAUAArACsADQBQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAHgAeAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAANAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAAWABEAKwArACsAUABQAFAAUABQAFAAUABQAFAAUABQAA0ADQANAFAAUABQAFAAUABQAFAAUABQAFAAUAArACsAKwArACsAKwArAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAKwBQAFAAUABQAAQABAAEACsAKwArACsAKwArACsAKwArACsAKwBQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAAEAAQABAANAA0AKwArACsAKwArACsAKwArACsAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAABAAEACsAKwArACsAKwArACsAKwArACsAKwArAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAKwBQAFAAUAArAAQABAArACsAKwArACsAKwArACsAKwArACsAKwBcAFwAXABcAFwAXABcAFwAXABcAFwAXABcAFwAXABcAFwAXABcAFwAKgAqACoAKgAqACoAKgAqACoAKgAqACoAKgAqACoAKgAqACoAKgAqAA0ADQAVAFwADQAeAA0AGwBcACoAKwArAEsASwBLAEsASwBLAEsASwBLAEsAKwArACsAKwArACsAUABQAFAAUABQAFAAUABQAFAAUAArACsAKwArACsAKwAeAB4AEwATAA0ADQAOAB4AEwATAB4ABAAEAAQACQArAEsASwBLAEsASwBLAEsASwBLAEsAKwArACsAKwArACsAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAArACsAKwArACsAKwArAFAAUABQAFAAUAAEAAQAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAAQAUAArACsAKwArACsAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAArACsAKwArACsAKwArACsAKwArAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAKwAEAAQABAAEAAQABAAEAAQABAAEAAQABAArACsAKwArAAQABAAEAAQABAAEAAQABAAEAAQABAAEACsAKwArACsAHgArACsAKwATABMASwBLAEsASwBLAEsASwBLAEsASwBcAFwAXABcAFwAXABcAFwAXABcAFwAXABcAFwAXABcAFwAXAArACsAXABcAFwAXABcACsAKwArACsAKwArACsAKwArACsAKwBcAFwAXABcAFwAXABcAFwAXABcAFwAXAArACsAKwArAFwAXABcAFwAXABcAFwAXABcAFwAXABcAFwAXABcAFwAXABcACsAKwArACsAKwArAEsASwBLAEsASwBLAEsASwBLAEsAXAArACsAKwAqACoAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAAQABAAEAAQABAArACsAHgAeAFwAXABcAFwAXABcAFwAXABcAFwAXABcAFwAXABcAFwAXABcAFwAXABcACoAKgAqACoAKgAqACoAKgAqACoAKwAqACoAKgAqACoAKgAqACoAKgAqACoAKgAqACoAKgAqACoAKgAqACoAKgAqACoAKgAqACoAKgAqACoAKwArAAQASwBLAEsASwBLAEsASwBLAEsASwArACsAKwArACsAKwBLAEsASwBLAEsASwBLAEsASwBLACsAKwArACsAKwArACoAKgAqACoAKgAqACoAXAAqACoAKgAqACoAKgArACsABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsABAAEAAQABAAEAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAAQABAAEAAQABABQAFAAUABQAFAAUABQACsAKwArACsASwBLAEsASwBLAEsASwBLAEsASwANAA0AHgANAA0ADQANAB4AHgAeAB4AHgAeAB4AHgAeAB4ABAAEAAQABAAEAAQABAAEAAQAHgAeAB4AHgAeAB4AHgAeAB4AKwArACsABAAEAAQAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAABAAEAAQABAAEAAQABAAEAAQABAAEAAQABABQAFAASwBLAEsASwBLAEsASwBLAEsASwBQAFAAUABQAFAAUABQAFAABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEACsAKwArACsAKwArACsAKwAeAB4AHgAeAFAAUABQAFAABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEACsAKwArAA0ADQANAA0ADQBLAEsASwBLAEsASwBLAEsASwBLACsAKwArAFAAUABQAEsASwBLAEsASwBLAEsASwBLAEsAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAA0ADQBQAFAAUABQAFAAUABQAFAAUAArACsAKwArACsAKwArAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQACsAKwBQAFAAUAAeAB4AHgAeAB4AHgAeAB4AKwArACsAKwArACsAKwArAAQABAAEAB4ABAAEAAQABAAEAAQABAAEAAQABAAEAAQABABQAFAAUABQAAQAUABQAFAAUABQAFAABABQAFAABAAEAAQAUAArACsAKwArACsABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEACsABAAEAAQABAAEAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AKwArAFAAUABQAFAAUABQACsAKwBQAFAAUABQAFAAUABQAFAAKwBQACsAUAArAFAAKwAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeACsAKwAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgArAB4AHgAeAB4AHgAeAB4AHgBQAB4AHgAeAFAAUABQACsAHgAeAB4AHgAeAB4AHgAeAB4AHgBQAFAAUABQACsAKwAeAB4AHgAeAB4AHgArAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AKwArAFAAUABQACsAHgAeAB4AHgAeAB4AHgAOAB4AKwANAA0ADQANAA0ADQANAAkADQANAA0ACAAEAAsABAAEAA0ACQANAA0ADAAdAB0AHgAXABcAFgAXABcAFwAWABcAHQAdAB4AHgAUABQAFAANAAEAAQAEAAQABAAEAAQACQAaABoAGgAaABoAGgAaABoAHgAXABcAHQAVABUAHgAeAB4AHgAeAB4AGAAWABEAFQAVABUAHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4ADQAeAA0ADQANAA0AHgANAA0ADQAHAB4AHgAeAB4AKwAEAAQABAAEAAQABAAEAAQABAAEAFAAUAArACsATwBQAFAAUABQAFAAHgAeAB4AFgARAE8AUABPAE8ATwBPAFAAUABQAFAAUAAeAB4AHgAWABEAKwBQAFAAUABQAFAAUABQAFAAUABQAFAAUABQACsAKwArABsAGwAbABsAGwAbABsAGgAbABsAGwAbABsAGwAbABsAGwAbABsAGwAbABsAGgAbABsAGwAbABoAGwAbABoAGwAbABsAGwAbABsAGwAbABsAGwAbABsAGwAbABsAGwAbAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQAHgAeAFAAGgAeAB0AHgBQAB4AGgAeAB4AHgAeAB4AHgAeAB4AHgBPAB4AUAAbAB4AHgBQAFAAUABQAFAAHgAeAB4AHQAdAB4AUAAeAFAAHgBQAB4AUABPAFAAUAAeAB4AHgAeAB4AHgAeAFAAUABQAFAAUAAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAFAAHgBQAFAAUABQAE8ATwBQAFAAUABQAFAATwBQAFAATwBQAE8ATwBPAE8ATwBPAE8ATwBPAE8ATwBPAFAAUABQAFAATwBPAE8ATwBPAE8ATwBPAE8ATwBQAFAAUABQAFAAUABQAFAAUAAeAB4AUABQAFAAUABPAB4AHgArACsAKwArAB0AHQAdAB0AHQAdAB0AHQAdAB0AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB0AHgAdAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAdAB4AHQAdAB4AHgAeAB0AHQAeAB4AHQAeAB4AHgAdAB4AHQAbABsAHgAdAB4AHgAeAB4AHQAeAB4AHQAdAB0AHQAeAB4AHQAeAB0AHgAdAB0AHQAdAB0AHQAeAB0AHgAeAB4AHgAeAB0AHQAdAB0AHgAeAB4AHgAdAB0AHgAeAB4AHgAeAB4AHgAeAB4AHgAdAB4AHgAeAB0AHgAeAB4AHgAeAB0AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAdAB0AHgAeAB0AHQAdAB0AHgAeAB0AHQAeAB4AHQAdAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB0AHQAeAB4AHQAdAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHQAeAB4AHgAdAB4AHgAeAB4AHgAeAB4AHQAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB0AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AFAAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeABYAEQAWABEAHgAeAB4AHgAeAB4AHQAeAB4AHgAeAB4AHgAeACUAJQAeAB4AHgAeAB4AHgAeAB4AHgAWABEAHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AJQAlACUAJQAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArAE8ATwBPAE8ATwBPAE8ATwBPAE8ATwBPAE8ATwBPAE8ATwBPAE8ATwBPAE8ATwBPAE8ATwBPAE8ATwBPAE8ATwAdAB0AHQAdAB0AHQAdAB0AHQAdAB0AHQAdAB0AHQAdAB0AHQAdAB0AHQAdAB0AHQAdAB0AHQAdAB0AHQAdAB0AHQAdAE8ATwBPAE8ATwBPAE8ATwBPAE8ATwBPAE8ATwBPAE8ATwBPAE8ATwBPAFAAHQAdAB0AHQAdAB0AHQAdAB0AHQAdAB0AHgAeAB4AHgAdAB0AHQAdAB0AHQAdAB0AHQAdAB0AHQAdAB0AHQAdAB0AHQAdAB0AHQAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHQAdAB0AHQAdAB0AHQAdAB0AHQAdAB0AHQAdAB0AHQAeAB4AHQAdAB0AHQAeAB4AHgAeAB4AHgAeAB4AHgAeAB0AHQAeAB0AHQAdAB0AHQAdAB0AHgAeAB4AHgAeAB4AHgAeAB0AHQAeAB4AHQAdAB4AHgAeAB4AHQAdAB4AHgAeAB4AHQAdAB0AHgAeAB0AHgAeAB0AHQAdAB0AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAdAB0AHQAdAB4AHgAeAB4AHgAeAB4AHgAeAB0AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAlACUAJQAlAB4AHQAdAB4AHgAdAB4AHgAeAB4AHQAdAB4AHgAeAB4AJQAlAB0AHQAlAB4AJQAlACUAIAAlACUAHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAlACUAJQAeAB4AHgAeAB0AHgAdAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAdAB0AHgAdAB0AHQAeAB0AJQAdAB0AHgAdAB0AHgAdAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeACUAHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHQAdAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAlACUAJQAlACUAJQAlACUAJQAlACUAJQAdAB0AHQAdACUAHgAlACUAJQAdACUAJQAdAB0AHQAlACUAHQAdACUAHQAdACUAJQAlAB4AHQAeAB4AHgAeAB0AHQAlAB0AHQAdAB0AHQAdACUAJQAlACUAJQAdACUAJQAgACUAHQAdACUAJQAlACUAJQAlACUAJQAeAB4AHgAlACUAIAAgACAAIAAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB0AHgAeAB4AFwAXABcAFwAXABcAHgATABMAJQAeAB4AHgAWABEAFgARABYAEQAWABEAFgARABYAEQAWABEATwBPAE8ATwBPAE8ATwBPAE8ATwBPAE8ATwBPAE8ATwBPAE8ATwBPAE8ATwAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeABYAEQAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAWABEAFgARABYAEQAWABEAFgARAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AFgARABYAEQAWABEAFgARABYAEQAWABEAFgARABYAEQAWABEAFgARABYAEQAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAWABEAFgARAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AFgARAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAdAB0AHQAdAB0AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgArACsAHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AKwAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AUABQAFAAUAAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAEAAQABAAeAB4AKwArACsAKwArABMADQANAA0AUAATAA0AUABQAFAAUABQAFAAUABQACsAKwArACsAKwArACsAUAANACsAKwArACsAKwArACsAKwArACsAKwArACsAKwAEAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAArACsAKwArACsAKwArACsAKwBQAFAAUABQAFAAUABQACsAUABQAFAAUABQAFAAUAArAFAAUABQAFAAUABQAFAAKwBQAFAAUABQAFAAUABQACsAFwAXABcAFwAXABcAFwAXABcAFwAXABcAFwAXAA0ADQANAA0ADQANAA0ADQAeAA0AFgANAB4AHgAXABcAHgAeABcAFwAWABEAFgARABYAEQAWABEADQANAA0ADQATAFAADQANAB4ADQANAB4AHgAeAB4AHgAMAAwADQANAA0AHgANAA0AFgANAA0ADQANAA0ADQANAA0AHgANAB4ADQANAB4AHgAeACsAKwArACsAKwArACsAKwArACsAKwArACsAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACsAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAKwArACsAKwArACsAKwArACsAKwArACsAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwAlACUAJQAlACUAJQAlACUAJQAlACUAJQArACsAKwArAA0AEQARACUAJQBHAFcAVwAWABEAFgARABYAEQAWABEAFgARACUAJQAWABEAFgARABYAEQAWABEAFQAWABEAEQAlAFcAVwBXAFcAVwBXAFcAVwBXAAQABAAEAAQABAAEACUAVwBXAFcAVwA2ACUAJQBXAFcAVwBHAEcAJQAlACUAKwBRAFcAUQBXAFEAVwBRAFcAUQBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFEAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBRAFcAUQBXAFEAVwBXAFcAVwBXAFcAUQBXAFcAVwBXAFcAVwBRAFEAKwArAAQABAAVABUARwBHAFcAFQBRAFcAUQBXAFEAVwBRAFcAUQBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFEAVwBRAFcAUQBXAFcAVwBXAFcAVwBRAFcAVwBXAFcAVwBXAFEAUQBXAFcAVwBXABUAUQBHAEcAVwArACsAKwArACsAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAKwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAKwAlACUAVwBXAFcAVwAlACUAJQAlACUAJQAlACUAJQAlACsAKwArACsAKwArACsAKwArACsAKwArAFEAUQBRAFEAUQBRAFEAUQBRAFEAUQBRAFEAUQBRAFEAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQArAFcAVwBXAFcAVwBXAFcAVwBXAFcAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQBPAE8ATwBPAE8ATwBPAE8AJQBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXACUAJQAlAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAEcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAKwArACsAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQArACsAKwArACsAKwArACsAKwBQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAADQATAA0AUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABLAEsASwBLAEsASwBLAEsASwBLAFAAUAArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAFAABAAEAAQABAAeAAQABAAEAAQABAAEAAQABAAEAAQAHgBQAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AUABQAAQABABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAAQABAAeAA0ADQANAA0ADQArACsAKwArACsAKwArACsAHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAFAAUABQAFAAUABQAFAAUABQAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AUAAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgBQAB4AHgAeAB4AHgAeAFAAHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgArACsAHgAeAB4AHgAeAB4AHgAeAB4AKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwAeAB4AUABQAFAAUABQAFAAUABQAFAAUABQAAQAUABQAFAABABQAFAAUABQAAQAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAAQABAAEAAQABAAeAB4AHgAeAAQAKwArACsAUABQAFAAUABQAFAAHgAeABoAHgArACsAKwArACsAKwBQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAADgAOABMAEwArACsAKwArACsAKwArACsABAAEAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAAQABAAEAAQABAAEACsAKwArACsAKwArACsAKwANAA0ASwBLAEsASwBLAEsASwBLAEsASwArACsAKwArACsAKwAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABABQAFAAUABQAFAAUAAeAB4AHgBQAA4AUABQAAQAUABQAFAAUABQAFAABAAEAAQABAAEAAQABAAEAA0ADQBQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQAKwArACsAKwArACsAKwArACsAKwArAB4AWABYAFgAWABYAFgAWABYAFgAWABYAFgAWABYAFgAWABYAFgAWABYAFgAWABYAFgAWABYAFgAWABYACsAKwArAAQAHgAeAB4AHgAeAB4ADQANAA0AHgAeAB4AHgArAFAASwBLAEsASwBLAEsASwBLAEsASwArACsAKwArAB4AHgBcAFwAXABcAFwAKgBcAFwAXABcAFwAXABcAFwAXABcAEsASwBLAEsASwBLAEsASwBLAEsAXABcAFwAXABcACsAUABQAFAAUABQAFAAUABQAFAABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEACsAKwArACsAKwArACsAKwArAFAAUABQAAQAUABQAFAAUABQAFAAUABQAAQABAArACsASwBLAEsASwBLAEsASwBLAEsASwArACsAHgANAA0ADQBcAFwAXABcAFwAXABcAFwAXABcAFwAXABcAFwAXABcAFwAXABcAFwAXABcAFwAKgAqACoAXAAqACoAKgBcAFwAXABcAFwAXABcAFwAXABcAFwAXABcAFwAXABcAFwAXAAqAFwAKgAqACoAXABcACoAKgBcAFwAXABcAFwAKgAqAFwAKgBcACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArAFwAXABcACoAKgBQAFAAUABQAFAAUABQAFAAUABQAFAABAAEAAQABAAEAA0ADQBQAFAAUAAEAAQAKwArACsAKwArACsAKwArACsAKwBQAFAAUABQAFAAUAArACsAUABQAFAAUABQAFAAKwArAFAAUABQAFAAUABQACsAKwArACsAKwArACsAKwArAFAAUABQAFAAUABQAFAAKwBQAFAAUABQAFAAUABQACsAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAHgAeACsAKwArACsAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAAEAAQABAAEAAQABAAEAAQADQAEAAQAKwArAEsASwBLAEsASwBLAEsASwBLAEsAKwArACsAKwArACsAVABVAFUAVQBVAFUAVQBVAFUAVQBVAFUAVQBVAFUAVQBVAFUAVQBVAFUAVQBVAFUAVQBVAFUAVQBUAFUAVQBVAFUAVQBVAFUAVQBVAFUAVQBVAFUAVQBVAFUAVQBVAFUAVQBVAFUAVQBVAFUAVQBVACsAKwArACsAKwArACsAKwArACsAKwArAFkAWQBZAFkAWQBZAFkAWQBZAFkAWQBZAFkAWQBZAFkAWQBZAFkAKwArACsAKwBaAFoAWgBaAFoAWgBaAFoAWgBaAFoAWgBaAFoAWgBaAFoAWgBaAFoAWgBaAFoAWgBaAFoAWgBaAFoAKwArACsAKwAGAAYABgAGAAYABgAGAAYABgAGAAYABgAGAAYABgAGAAYABgAGAAYABgAGAAYABgAGAAYABgAGAAYABgAGAAYAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXACUAJQBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAJQAlACUAJQAlACUAUABQAFAAUABQAFAAUAArACsAKwArACsAKwArACsAKwArACsAKwBQAFAAUABQAFAAKwArACsAKwArAFYABABWAFYAVgBWAFYAVgBWAFYAVgBWAB4AVgBWAFYAVgBWAFYAVgBWAFYAVgBWAFYAVgArAFYAVgBWAFYAVgArAFYAKwBWAFYAKwBWAFYAKwBWAFYAVgBWAFYAVgBWAFYAVgBWAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAEQAWAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAKwArAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwBQAFAAUABQAFAAUABQAFAAUABQAFAAUAAaAB4AKwArAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQAGAARABEAGAAYABMAEwAWABEAFAArACsAKwArACsAKwAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEACUAJQAlACUAJQAWABEAFgARABYAEQAWABEAFgARABYAEQAlACUAFgARACUAJQAlACUAJQAlACUAEQAlABEAKwAVABUAEwATACUAFgARABYAEQAWABEAJQAlACUAJQAlACUAJQAlACsAJQAbABoAJQArACsAKwArAFAAUABQAFAAUAArAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAKwArAAcAKwATACUAJQAbABoAJQAlABYAEQAlACUAEQAlABEAJQBXAFcAVwBXAFcAVwBXAFcAVwBXABUAFQAlACUAJQATACUAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXABYAJQARACUAJQAlAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwAWACUAEQAlABYAEQARABYAEQARABUAVwBRAFEAUQBRAFEAUQBRAFEAUQBRAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAEcARwArACsAVwBXAFcAVwBXAFcAKwArAFcAVwBXAFcAVwBXACsAKwBXAFcAVwBXAFcAVwArACsAVwBXAFcAKwArACsAGgAbACUAJQAlABsAGwArAB4AHgAeAB4AHgAeAB4AKwArACsAKwArACsAKwArACsAKwAEAAQABAAQAB0AKwArAFAAUABQAFAAUABQAFAAUABQAFAAUABQACsAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAArAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAKwBQAFAAKwBQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAArACsAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQACsAKwBQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAArACsAKwArACsADQANAA0AKwArACsAKwBQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQACsAKwArAB4AHgAeAB4AHgAeAB4AHgAeAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgBQAFAAHgAeAB4AKwAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAAQAKwArAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwAEAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQACsAKwArACsAKwArACsAKwArAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAKwArACsAKwArAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAABAAEAAQABAAEACsAKwArACsAKwBQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAArAA0AUABQAFAAUAArACsAKwArAFAAUABQAFAAUABQAFAAUAANAFAAUABQAFAAUAArACsAKwArACsAKwArACsAKwArAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQACsAKwBQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAKwArACsAKwBQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQACsAKwArACsAKwArACsAKwBQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQACsAKwArACsAKwArACsAKwArACsAKwAeACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAUABQAFAAUABQAFAAKwArAFAAKwBQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAArAFAAUAArACsAKwBQACsAKwBQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAKwANAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAAeAB4AUABQAFAAUABQAFAAUAArACsAKwArACsAKwArAFAAUABQAFAAUABQAFAAUABQACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAArAFAAUAArACsAKwArACsAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQACsAKwArAA0AUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQACsAKwArACsAKwAeAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQACsAKwArACsAUABQAFAAUABQAAQABAAEACsABAAEACsAKwArACsAKwAEAAQABAAEAFAAUABQAFAAKwBQAFAAUAArAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAKwArAAQABAAEACsAKwArACsABABQAFAAUABQAFAAUABQAFAAUAArACsAKwArACsAKwArAA0ADQANAA0ADQANAA0ADQAeACsAKwArACsAKwArACsAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAAeAFAAUABQAFAAUABQAFAAUAAeAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAAQABAArACsAKwArAFAAUABQAFAAUAANAA0ADQANAA0ADQAUACsAKwArACsAKwArACsAKwArAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAKwArACsADQANAA0ADQANAA0ADQBQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAArACsAKwArACsAKwArAB4AHgAeAB4AKwArACsAKwArACsAKwArACsAKwArACsAUABQAFAAUABQAFAAUAArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArAFAAUABQAFAAUABQAFAAUABQACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwBQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQACsAKwArACsAKwArACsAKwArACsAKwArACsAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAArACsAKwArACsAKwArAFAAUABQAFAAUABQAAQABAAEAAQAKwArACsAKwArACsAKwArAEsASwBLAEsASwBLAEsASwBLAEsAKwArACsAKwArACsAUABQAFAAUABQAFAAUABQAFAAUAArAAQABAANACsAKwBQAFAAKwArACsAKwArACsAKwArACsAKwArACsAKwArAFAAUABQAFAAUABQAAQABAAEAAQABAAEAAQABAAEAAQABABQAFAAUABQAB4AHgAeAB4AHgArACsAKwArACsAKwAEAAQABAAEAAQABAAEAA0ADQAeAB4AHgAeAB4AKwArACsAKwBQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAEsASwBLAEsASwBLAEsASwBLAEsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsABABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAAQABAAEAAQABAAEAAQABAAEAAQABAAeAB4AHgANAA0ADQANACsAKwArACsAKwArACsAKwArACsAKwAeACsAKwBQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAKwArACsAKwArACsAKwBLAEsASwBLAEsASwBLAEsASwBLACsAKwArACsAKwArAFAAUABQAFAAUABQAFAABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEACsASwBLAEsASwBLAEsASwBLAEsASwANAA0ADQANAFAABAAEAFAAKwArACsAKwArACsAKwArAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAABAAeAA4AUAArACsAKwArACsAKwArACsAKwAEAFAAUABQAFAADQANAB4ADQAEAAQABAAEAB4ABAAEAEsASwBLAEsASwBLAEsASwBLAEsAUAAOAFAADQANAA0AKwBQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAKwArACsAKwArACsAKwArACsAKwArAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQACsAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAAEAAQABAAEAAQABAAEAAQABAAEAAQABAANAA0AHgANAA0AHgAEACsAUABQAFAAUABQAFAAUAArAFAAKwBQAFAAUABQACsAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAKwBQAFAAUABQAFAAUABQAFAAUABQAA0AKwArACsAKwArACsAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAAEAAQABAAEAAQABAAEAAQABAAEAAQAKwArACsAKwArAEsASwBLAEsASwBLAEsASwBLAEsAKwArACsAKwArACsABAAEAAQABAArAFAAUABQAFAAUABQAFAAUAArACsAUABQACsAKwBQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAKwBQAFAAUABQAFAAUABQACsAUABQACsAUABQAFAAUABQACsABAAEAFAABAAEAAQABAAEAAQABAArACsABAAEACsAKwAEAAQABAArACsAUAArACsAKwArACsAKwAEACsAKwArACsAKwBQAFAAUABQAFAABAAEACsAKwAEAAQABAAEAAQABAAEACsAKwArAAQABAAEAAQABAArACsAKwArACsAKwArACsAKwArACsABAAEAAQABAAEAAQABABQAFAAUABQAA0ADQANAA0AHgBLAEsASwBLAEsASwBLAEsASwBLAA0ADQArAB4ABABQAFAAUAArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwAEAAQABAAEAFAAUAAeAFAAKwArACsAKwArACsAKwArAEsASwBLAEsASwBLAEsASwBLAEsAKwArACsAKwArACsAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAABAAEAAQABAAEAAQABAArACsABAAEAAQABAAEAAQABAAEAAQADgANAA0AEwATAB4AHgAeAA0ADQANAA0ADQANAA0ADQANAA0ADQANAA0ADQANAFAAUABQAFAABAAEACsAKwAEAA0ADQAeAFAAKwArACsAKwArACsAKwArACsAKwArAEsASwBLAEsASwBLAEsASwBLAEsAKwArACsAKwArACsADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArAFAAUABQAFAAUABQAFAAUABQAFAAUAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAFAAKwArACsAKwArACsAKwBLAEsASwBLAEsASwBLAEsASwBLACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAXABcAFwAXABcAFwAXABcAFwAXABcAFwAXABcAFwAXABcAFwAXABcAFwAXABcAFwAXABcAFwAKwArACoAKgAqACoAKgAqACoAKgAqACoAKgAqACoAKgAqACsAKwArACsASwBLAEsASwBLAEsASwBLAEsASwBcAFwADQANAA0AKgBQAFAAUABQAFAAUABQAFAAUABQAFAAUAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAeACsAKwArACsASwBLAEsASwBLAEsASwBLAEsASwBQAFAAUABQAFAAUABQAFAAUAArACsAKwArACsAKwArACsAKwArACsAKwBQAFAAUABQAFAAUABQAFAAKwArAFAAKwArAFAAUABQAFAAUABQAFAAUAArAFAAUAArAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAABAAEAAQABAAEAAQAKwAEAAQAKwArAAQABAAEAAQAUAAEAFAABAAEAA0ADQANACsAKwArACsAKwArACsAKwArAEsASwBLAEsASwBLAEsASwBLAEsAKwArACsAKwArACsAUABQAFAAUABQAFAAUABQACsAKwBQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAABAAEAAQABAAEAAQABAArACsABAAEAAQABAAEAAQABABQAA4AUAAEACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArAFAABAAEAAQABAAEAAQABAAEAAQABABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAAEAAQABAAEAAQABAAEAFAABAAEAAQABAAOAB4ADQANAA0ADQAOAB4ABAArACsAKwArACsAKwArACsAUAAEAAQABAAEAAQABAAEAAQABAAEAAQAUABQAFAAUABQAFAAUABQAFAAUAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAA0ADQANAFAADgAOAA4ADQANACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwBQAFAAUABQAFAAUABQAFAAUAArAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAABAAEAAQABAAEAAQABAAEACsABAAEAAQABAAEAAQABAAEAFAADQANAA0ADQANACsAKwArACsAKwArACsAKwArACsASwBLAEsASwBLAEsASwBLAEsASwBQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAArACsAKwAOABMAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAKwArAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAArAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAArACsAKwArACsAKwArACsAKwBQAFAAUABQAFAAUABQACsAUABQACsAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAAEAAQABAAEAAQABAArACsAKwAEACsABAAEACsABAAEAAQABAAEAAQABABQAAQAKwArACsAKwArACsAKwArAEsASwBLAEsASwBLAEsASwBLAEsAKwArACsAKwArACsAUABQAFAAUABQAFAAKwBQAFAAKwBQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAAEAAQABAAEAAQAKwAEAAQAKwAEAAQABAAEAAQAUAArACsAKwArACsAKwArAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAABAAEAAQABAAeAB4AKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwBQACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAB4AHgAeAB4AHgAeAB4AHgAaABoAGgAaAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgArACsAKwArACsAKwArACsAKwArACsAKwArAA0AUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQACsAKwArACsAKwArAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQACsADQANAA0ADQANACsAKwArACsAKwArACsAKwArACsAKwBQAFAAUABQACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAASABIAEgAQwBDAEMAUABQAFAAUABDAFAAUABQAEgAQwBIAEMAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAASABDAEMAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAKwAJAAkACQAJAAkACQAJABYAEQArACsAKwArACsAKwArAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABIAEMAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArAEsASwBLAEsASwBLAEsASwBLAEsAKwArACsAKwANAA0AKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwBQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAKwArAAQABAAEAAQABAANACsAKwArACsAKwArACsAKwArACsAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAAEAAQABAAEAAQABAAEAA0ADQANAB4AHgAeAB4AHgAeAFAAUABQAFAADQAeACsAKwArACsAKwArACsAKwArACsASwBLAEsASwBLAEsASwBLAEsASwArAFAAUABQAFAAUABQAFAAKwBQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAArACsAKwArACsAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAANAA0AHgAeACsAKwArACsAKwBQAFAAUABQAFAAUABQAFAAUABQAFAAKwArACsAKwAEAFAABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQAKwArACsAKwArACsAKwAEAAQABAAEAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAARwBHABUARwAJACsAKwArACsAKwArACsAKwArACsAKwAEAAQAKwArACsAKwArACsAKwArACsAKwArACsAKwArAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXACsAKwArACsAKwArACsAKwBXAFcAVwBXAFcAVwBXAFcAVwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAUQBRAFEAKwArACsAKwArACsAKwArACsAKwArACsAKwBRAFEAUQBRACsAKwArACsAKwArACsAKwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXACsAKwArACsAUABQAFAAUABQAFAAUABQAFAAUABQACsAKwArACsAKwBQAFAAUABQAFAAUABQAFAAUABQAFAAUABQACsAKwArACsAKwArACsAUABQAFAAUABQAFAAUABQAFAAUAArACsAHgAEAAQADQAEAAQABAAEACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgArACsAKwArACsAKwArACsAKwArAB4AHgAeAB4AHgAeAB4AKwArAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAAQABAAEAAQABAAeAB4AHgAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAB4AHgAEAAQABAAEAAQABAAEAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4ABAAEAAQABAAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4ABAAEAAQAHgArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQACsAKwArACsAKwArACsAKwArACsAKwArAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgArACsAKwArACsAKwArACsAKwAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgArAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AKwBQAFAAKwArAFAAKwArAFAAUAArACsAUABQAFAAUAArAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeACsAUAArAFAAUABQAFAAUABQAFAAKwAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AKwBQAFAAUABQACsAKwBQAFAAUABQAFAAUABQAFAAKwBQAFAAUABQAFAAUABQACsAHgAeAFAAUABQAFAAUAArAFAAKwArACsAUABQAFAAUABQAFAAUAArAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AKwArAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAHgBQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgBQAFAAUABQAFAAUABQAFAAUABQAFAAHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgBQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAB4AHgAeAB4AHgAeAB4AHgAeACsAKwBLAEsASwBLAEsASwBLAEsASwBLAEsASwBLAEsASwBLAEsASwBLAEsASwBLAEsASwBLAEsASwBLAEsASwBLAEsASwBLAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAeAB4AHgAeAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAeAB4AHgAeAB4AHgAeAB4ABAAeAB4AHgAeAB4AHgAeAB4AHgAeAAQAHgAeAA0ADQANAA0AHgArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwAEAAQABAAEAAQAKwAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArAAQABAAEAAQABAAEAAQAKwAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQAKwArAAQABAAEAAQABAAEAAQAKwAEAAQAKwAEAAQABAAEAAQAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAArACsAKwAEAAQABAAEAAQABAAEAFAAUABQAFAAUABQAFAAKwArAEsASwBLAEsASwBLAEsASwBLAEsAKwArACsAKwBQAB4AKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwBQAFAAUABQAFAAUABQAFAAUABQAFAAUAAEAAQABAAEAEsASwBLAEsASwBLAEsASwBLAEsAKwArACsAKwArABsAUABQAFAAUABQACsAKwBQAFAAUABQAFAAUABQAFAAUAAEAAQABAAEAAQABAAEACsAKwArACsAKwArACsAKwArAB4AHgAeAB4ABAAEAAQABAAEAAQABABQACsAKwArACsASwBLAEsASwBLAEsASwBLAEsASwArACsAKwArABYAFgArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAGgBQAFAAUAAaAFAAUABQAFAAKwArACsAKwArACsAKwArACsAKwArAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAAeAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQACsAKwBQAFAAUABQACsAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAKwBQAFAAKwBQACsAKwBQACsAUABQAFAAUABQAFAAUABQAFAAUAArAFAAUABQAFAAKwBQACsAUAArACsAKwArACsAKwBQACsAKwArACsAUAArAFAAKwBQACsAUABQAFAAKwBQAFAAKwBQACsAKwBQACsAUAArAFAAKwBQACsAUAArAFAAUAArAFAAKwArAFAAUABQAFAAKwBQAFAAUABQAFAAUABQACsAUABQAFAAUAArAFAAUABQAFAAKwBQACsAUABQAFAAUABQAFAAUABQAFAAUAArAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAArACsAKwArACsAUABQAFAAKwBQAFAAUABQAFAAKwBQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwAeAB4AKwArACsAKwArACsAKwArACsAKwArACsAKwArAE8ATwBPAE8ATwBPAE8ATwBPAE8ATwBPAE8AJQAlACUAHQAdAB0AHQAdAB0AHQAdAB0AHQAdAB0AHQAdAB0AHQAdAB0AHgAeAB0AHQAdAB0AHQAdAB0AHQAdAB0AHQAdAB0AHQAdAB0AHQAdAB4AHgAeACUAJQAlAB0AHQAdAB0AHQAdAB0AHQAdAB0AHQAdAB0AHQAdAB0AHQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQApACkAKQApACkAKQApACkAKQApACkAKQApACkAKQApACkAKQApACkAKQApACkAKQApACkAJQAlACUAJQAlACAAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAeAB4AJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlAB4AHgAlACUAJQAlACUAHgAlACUAJQAlACUAIAAgACAAJQAlACAAJQAlACAAIAAgACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACEAIQAhACEAIQAlACUAIAAgACUAJQAgACAAIAAgACAAIAAgACAAIAAgACAAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAJQAlACUAIAAlACUAJQAlACAAIAAgACUAIAAgACAAJQAlACUAJQAlACUAJQAgACUAIAAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAHgAlAB4AJQAeACUAJQAlACUAJQAgACUAJQAlACUAHgAlAB4AHgAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlAB4AHgAeAB4AHgAeAB4AJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAeAB4AHgAeAB4AHgAeAB4AHgAeACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACAAIAAlACUAJQAlACAAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACAAJQAlACUAJQAgACAAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAHgAeAB4AHgAeAB4AHgAeACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAeAB4AHgAeAB4AHgAlACUAJQAlACUAJQAlACAAIAAgACUAJQAlACAAIAAgACAAIAAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeABcAFwAXABUAFQAVAB4AHgAeAB4AJQAlACUAIAAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACAAIAAgACUAJQAlACUAJQAlACUAJQAlACAAJQAlACUAJQAlACUAJQAlACUAJQAlACAAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AJQAlACUAJQAlACUAJQAlACUAJQAlACUAHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AJQAlACUAJQAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeACUAJQAlACUAJQAlACUAJQAeAB4AHgAeAB4AHgAeAB4AHgAeACUAJQAlACUAJQAlAB4AHgAeAB4AHgAeAB4AHgAlACUAJQAlACUAJQAlACUAHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAgACUAJQAgACUAJQAlACUAJQAlACUAJQAgACAAIAAgACAAIAAgACAAJQAlACUAJQAlACUAIAAlACUAJQAlACUAJQAlACUAJQAgACAAIAAgACAAIAAgACAAIAAgACUAJQAgACAAIAAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAgACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACAAIAAlACAAIAAlACAAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAgACAAIAAlACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAJQAlAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AKwAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArAEsASwBLAEsASwBLAEsASwBLAEsAKwArACsAKwArACsAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAKwArAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXACUAJQBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwAlACUAJQAlACUAJQAlACUAJQAlACUAVwBXACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAKwAEACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArAA=="),gA=Array.isArray(uA)?function(A){for(var e=A.length,t=[],r=0;r<e;r+=4)t.push(A[r+3]<<24|A[r+2]<<16|A[r+1]<<8|A[r]);return t}(uA):new Uint32Array(uA),mA=Array.isArray(uA)?function(A){for(var e=A.length,t=[],r=0;r<e;r+=2)t.push(A[r+1]<<8|A[r]);return t}(uA):new Uint16Array(uA),wA=sA(mA,12,gA[4]/2),pA=2===gA[5]?sA(mA,(24+gA[4])/2):(lA=gA,BA=Math.ceil((24+gA[4])/4),lA.slice?lA.slice(BA,dA):new Uint32Array(Array.prototype.slice.call(lA,BA,dA))),new iA(gA[0],gA[1],gA[2],gA[3],wA,pA)),JA=[kA,36],XA=[1,2,3,5],YA=[hA,8],WA=[xA,IA],jA=XA.concat(YA),ZA=[OA,RA,NA,SA,DA],$A=[QA,fA],zA=function(A,e,t,r){var n=r[t];if(Array.isArray(A)?-1!==A.indexOf(n):A===n)for(var o=t;o<=r.length;){if((a=r[++o])===e)return!0;if(a!==hA)break}if(n===hA)for(o=t;o>0;){var s=r[--o];if(Array.isArray(A)?-1!==A.indexOf(s):A===s)for(var i=t;i<=r.length;){var a;if((a=r[++i])===e)return!0;if(a!==hA)break}if(s!==hA)break}return!1},Ae=function(A,e){for(var t=A;t>=0;){var r=e[t];if(r!==hA)return r;t--}return 0},ee=function(A,e,t,r,n){if(0===t[r])return VA;var o=r-1;if(Array.isArray(n)&&!0===n[o])return VA;var s=o-1,i=o+1,a=e[o],c=s>=0?e[s]:0,l=e[i];if(2===a&&3===l)return VA;if(-1!==XA.indexOf(a))return"!";if(-1!==XA.indexOf(l))return VA;if(-1!==YA.indexOf(l))return VA;if(8===Ae(o,e))return _A;if(11===qA.get(A[o]))return VA;if((a===KA||a===MA)&&11===qA.get(A[i]))return VA;if(7===a||7===l)return VA;if(9===a)return VA;if(-1===[hA,fA,QA].indexOf(a)&&9===l)return VA;if(-1!==[CA,UA,FA,vA,LA].indexOf(l))return VA;if(Ae(o,e)===EA)return VA;if(zA(23,EA,o,e))return VA;if(zA([CA,UA],bA,o,e))return VA;if(zA(12,12,o,e))return VA;if(a===hA)return _A;if(23===a||23===l)return VA;if(16===l||16===a)return _A;if(-1!==[fA,QA,bA].indexOf(l)||14===a)return VA;if(36===c&&-1!==$A.indexOf(a))return VA;if(a===LA&&36===l)return VA;if(l===yA)return VA;if(-1!==JA.indexOf(l)&&a===HA||-1!==JA.indexOf(a)&&l===HA)return VA;if(a===xA&&-1!==[TA,KA,MA].indexOf(l)||-1!==[TA,KA,MA].indexOf(a)&&l===IA)return VA;if(-1!==JA.indexOf(a)&&-1!==WA.indexOf(l)||-1!==WA.indexOf(a)&&-1!==JA.indexOf(l))return VA;if(-1!==[xA,IA].indexOf(a)&&(l===HA||-1!==[EA,QA].indexOf(l)&&e[i+1]===HA)||-1!==[EA,QA].indexOf(a)&&l===HA||a===HA&&-1!==[HA,LA,vA].indexOf(l))return VA;if(-1!==[HA,LA,vA,CA,UA].indexOf(l))for(var B=o;B>=0;){if((d=e[B])===HA)return VA;if(-1===[LA,vA].indexOf(d))break;B--}if(-1!==[xA,IA].indexOf(l))for(B=-1!==[CA,UA].indexOf(a)?s:o;B>=0;){var d;if((d=e[B])===HA)return VA;if(-1===[LA,vA].indexOf(d))break;B--}if(OA===a&&-1!==[OA,RA,SA,DA].indexOf(l)||-1!==[RA,SA].indexOf(a)&&-1!==[RA,NA].indexOf(l)||-1!==[NA,DA].indexOf(a)&&l===NA)return VA;if(-1!==ZA.indexOf(a)&&-1!==[yA,IA].indexOf(l)||-1!==ZA.indexOf(l)&&a===xA)return VA;if(-1!==JA.indexOf(a)&&-1!==JA.indexOf(l))return VA;if(a===vA&&-1!==JA.indexOf(l))return VA;if(-1!==JA.concat(HA).indexOf(a)&&l===EA&&-1===PA.indexOf(A[i])||-1!==JA.concat(HA).indexOf(l)&&a===UA)return VA;if(41===a&&41===l){for(var u=t[o],g=1;u>0&&41===e[--u];)g++;if(g%2!=0)return VA}return a===KA&&l===MA?VA:_A},te=function(){function A(A,e,t,r){this.codePoints=A,this.required="!"===e,this.start=t,this.end=r}return A.prototype.slice=function(){return eA.apply(void 0,this.codePoints.slice(this.start,this.end))},A}(),re=45,ne=43,oe=-1,se=function(A){return A>=48&&A<=57},ie=function(A){return se(A)||A>=65&&A<=70||A>=97&&A<=102},ae=function(A){return 10===A||9===A||32===A},ce=function(A){return function(A){return function(A){return A>=97&&A<=122}(A)||function(A){return A>=65&&A<=90}(A)}(A)||function(A){return A>=128}(A)||95===A},le=function(A){return ce(A)||se(A)||A===re},Be=function(A){return A>=0&&A<=8||11===A||A>=14&&A<=31||127===A},de=function(A,e){return 92===A&&10!==e},ue=function(A,e,t){return A===re?ce(e)||de(e,t):!!ce(A)||!(92!==A||!de(A,e))},ge=function(A,e,t){return A===ne||A===re?!!se(e)||46===e&&se(t):se(46===A?e:A)},me=function(A){var e=0,t=1;A[e]!==ne&&A[e]!==re||(A[e]===re&&(t=-1),e++);for(var r=[];se(A[e]);)r.push(A[e++]);var n=r.length?parseInt(eA.apply(void 0,r),10):0;46===A[e]&&e++;for(var o=[];se(A[e]);)o.push(A[e++]);var s=o.length,i=s?parseInt(eA.apply(void 0,o),10):0;69!==A[e]&&101!==A[e]||e++;var a=1;A[e]!==ne&&A[e]!==re||(A[e]===re&&(a=-1),e++);for(var c=[];se(A[e]);)c.push(A[e++]);var l=c.length?parseInt(eA.apply(void 0,c),10):0;return t*(n+i*Math.pow(10,-s))*Math.pow(10,a*l)},we={type:2},pe={type:3},he={type:4},fe={type:13},Qe={type:8},Ce={type:21},Ue={type:9},Fe={type:10},ye={type:11},be={type:12},Ee={type:14},ve={type:23},He={type:1},Ie={type:25},xe={type:24},Le={type:26},ke={type:27},Ke={type:28},Me={type:29},Se={type:31},De={type:32},Te=function(){function A(){this._value=[]}return A.prototype.write=function(A){this._value=this._value.concat(AA(A))},A.prototype.read=function(){for(var A=[],e=this.consumeToken();e!==De;)A.push(e),e=this.consumeToken();return A},A.prototype.consumeToken=function(){var A=this.consumeCodePoint();switch(A){case 34:return this.consumeStringToken(34);case 35:var e=this.peekCodePoint(0),t=this.peekCodePoint(1),r=this.peekCodePoint(2);if(le(e)||de(t,r)){var n=ue(e,t,r)?2:1;return{type:5,value:this.consumeName(),flags:n}}break;case 36:if(61===this.peekCodePoint(0))return this.consumeCodePoint(),fe;break;case 39:return this.consumeStringToken(39);case 40:return we;case 41:return pe;case 42:if(61===this.peekCodePoint(0))return this.consumeCodePoint(),Ee;break;case ne:if(ge(A,this.peekCodePoint(0),this.peekCodePoint(1)))return this.reconsumeCodePoint(A),this.consumeNumericToken();break;case 44:return he;case re:var o=A,s=this.peekCodePoint(0),i=this.peekCodePoint(1);if(ge(o,s,i))return this.reconsumeCodePoint(A),this.consumeNumericToken();if(ue(o,s,i))return this.reconsumeCodePoint(A),this.consumeIdentLikeToken();if(s===re&&62===i)return this.consumeCodePoint(),this.consumeCodePoint(),xe;break;case 46:if(ge(A,this.peekCodePoint(0),this.peekCodePoint(1)))return this.reconsumeCodePoint(A),this.consumeNumericToken();break;case 47:if(42===this.peekCodePoint(0))for(this.consumeCodePoint();;){var a=this.consumeCodePoint();if(42===a&&47===(a=this.consumeCodePoint()))return this.consumeToken();if(a===oe)return this.consumeToken()}break;case 58:return Le;case 59:return ke;case 60:if(33===this.peekCodePoint(0)&&this.peekCodePoint(1)===re&&this.peekCodePoint(2)===re)return this.consumeCodePoint(),this.consumeCodePoint(),Ie;break;case 64:var c=this.peekCodePoint(0),l=this.peekCodePoint(1),B=this.peekCodePoint(2);if(ue(c,l,B))return{type:7,value:this.consumeName()};break;case 91:return Ke;case 92:if(de(A,this.peekCodePoint(0)))return this.reconsumeCodePoint(A),this.consumeIdentLikeToken();break;case 93:return Me;case 61:if(61===this.peekCodePoint(0))return this.consumeCodePoint(),Qe;break;case 123:return ye;case 125:return be;case 117:case 85:var d=this.peekCodePoint(0),u=this.peekCodePoint(1);return d!==ne||!ie(u)&&63!==u||(this.consumeCodePoint(),this.consumeUnicodeRangeToken()),this.reconsumeCodePoint(A),this.consumeIdentLikeToken();case 124:if(61===this.peekCodePoint(0))return this.consumeCodePoint(),Ue;if(124===this.peekCodePoint(0))return this.consumeCodePoint(),Ce;break;case 126:if(61===this.peekCodePoint(0))return this.consumeCodePoint(),Fe;break;case oe:return De}return ae(A)?(this.consumeWhiteSpace(),Se):se(A)?(this.reconsumeCodePoint(A),this.consumeNumericToken()):ce(A)?(this.reconsumeCodePoint(A),this.consumeIdentLikeToken()):{type:6,value:eA(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();ie(e)&&A.length<6;)A.push(e),e=this.consumeCodePoint();for(var t=!1;63===e&&A.length<6;)A.push(e),e=this.consumeCodePoint(),t=!0;if(t)return{type:30,start:parseInt(eA.apply(void 0,A.map((function(A){return 63===A?48:A}))),16),end:parseInt(eA.apply(void 0,A.map((function(A){return 63===A?70:A}))),16)};var r=parseInt(eA.apply(void 0,A),16);if(this.peekCodePoint(0)===re&&ie(this.peekCodePoint(1))){this.consumeCodePoint(),e=this.consumeCodePoint();for(var n=[];ie(e)&&n.length<6;)n.push(e),e=this.consumeCodePoint();return{type:30,start:r,end:parseInt(eA.apply(void 0,n),16)}}return{type:30,start:r,end:r}},A.prototype.consumeIdentLikeToken=function(){var A=this.consumeName();return"url"===A.toLowerCase()&&40===this.peekCodePoint(0)?(this.consumeCodePoint(),this.consumeUrlToken()):40===this.peekCodePoint(0)?(this.consumeCodePoint(),{type:19,value:A}):{type:20,value:A}},A.prototype.consumeUrlToken=function(){var A=[];if(this.consumeWhiteSpace(),this.peekCodePoint(0)===oe)return{type:22,value:""};var e=this.peekCodePoint(0);if(39===e||34===e){var t=this.consumeStringToken(this.consumeCodePoint());return 0===t.type&&(this.consumeWhiteSpace(),this.peekCodePoint(0)===oe||41===this.peekCodePoint(0))?(this.consumeCodePoint(),{type:22,value:t.value}):(this.consumeBadUrlRemnants(),ve)}for(;;){var r=this.consumeCodePoint();if(r===oe||41===r)return{type:22,value:eA.apply(void 0,A)};if(ae(r))return this.consumeWhiteSpace(),this.peekCodePoint(0)===oe||41===this.peekCodePoint(0)?(this.consumeCodePoint(),{type:22,value:eA.apply(void 0,A)}):(this.consumeBadUrlRemnants(),ve);if(34===r||39===r||40===r||Be(r))return this.consumeBadUrlRemnants(),ve;if(92===r){if(!de(r,this.peekCodePoint(0)))return this.consumeBadUrlRemnants(),ve;A.push(this.consumeEscapedCodePoint())}else A.push(r)}},A.prototype.consumeWhiteSpace=function(){for(;ae(this.peekCodePoint(0));)this.consumeCodePoint()},A.prototype.consumeBadUrlRemnants=function(){for(;;){var A=this.consumeCodePoint();if(41===A||A===oe)return;de(A,this.peekCodePoint(0))&&this.consumeEscapedCodePoint()}},A.prototype.consumeStringSlice=function(A){for(var e="";A>0;){var t=Math.min(5e4,A);e+=eA.apply(void 0,this._value.splice(0,t)),A-=t}return this._value.shift(),e},A.prototype.consumeStringToken=function(A){for(var e="",t=0;;){var r=this._value[t];if(r===oe||void 0===r||r===A)return{type:0,value:e+=this.consumeStringSlice(t)};if(10===r)return this._value.splice(0,t),He;if(92===r){var n=this._value[t+1];n!==oe&&void 0!==n&&(10===n?(e+=this.consumeStringSlice(t),t=-1,this._value.shift()):de(r,n)&&(e+=this.consumeStringSlice(t),e+=eA(this.consumeEscapedCodePoint()),t=-1))}t++}},A.prototype.consumeNumber=function(){var A=[],e=4,t=this.peekCodePoint(0);for(t!==ne&&t!==re||A.push(this.consumeCodePoint());se(this.peekCodePoint(0));)A.push(this.consumeCodePoint());t=this.peekCodePoint(0);var r=this.peekCodePoint(1);if(46===t&&se(r))for(A.push(this.consumeCodePoint(),this.consumeCodePoint()),e=8;se(this.peekCodePoint(0));)A.push(this.consumeCodePoint());t=this.peekCodePoint(0),r=this.peekCodePoint(1);var n=this.peekCodePoint(2);if((69===t||101===t)&&((r===ne||r===re)&&se(n)||se(r)))for(A.push(this.consumeCodePoint(),this.consumeCodePoint()),e=8;se(this.peekCodePoint(0));)A.push(this.consumeCodePoint());return[me(A),e]},A.prototype.consumeNumericToken=function(){var A=this.consumeNumber(),e=A[0],t=A[1],r=this.peekCodePoint(0),n=this.peekCodePoint(1),o=this.peekCodePoint(2);return ue(r,n,o)?{type:15,number:e,flags:t,unit:this.consumeName()}:37===r?(this.consumeCodePoint(),{type:16,number:e,flags:t}):{type:17,number:e,flags:t}},A.prototype.consumeEscapedCodePoint=function(){var A=this.consumeCodePoint();if(ie(A)){for(var e=eA(A);ie(this.peekCodePoint(0))&&e.length<6;)e+=eA(this.consumeCodePoint());ae(this.peekCodePoint(0))&&this.consumeCodePoint();var t=parseInt(e,16);return 0===t||function(A){return A>=55296&&A<=57343}(t)||t>1114111?65533:t}return A===oe?65533:A},A.prototype.consumeName=function(){for(var A="";;){var e=this.consumeCodePoint();if(le(e))A+=eA(e);else{if(!de(e,this.peekCodePoint(0)))return this.reconsumeCodePoint(e),A;A+=eA(this.consumeEscapedCodePoint())}}},A}(),Oe=function(){function A(A){this._tokens=A}return A.create=function(e){var t=new Te;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||Xe(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?De:A},A.prototype.reconsumeToken=function(A){this._tokens.unshift(A)},A}(),Re=function(A){return 15===A.type},Ne=function(A){return 17===A.type},Ge=function(A){return 20===A.type},Pe=function(A){return 0===A.type},Ve=function(A,e){return Ge(A)&&A.value===e},_e=function(A){return 31!==A.type},qe=function(A){return 31!==A.type&&4!==A.type},Je=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},Xe=function(A,e){return 11===e&&12===A.type||28===e&&29===A.type||2===e&&3===A.type},Ye=function(A){return 17===A.type||15===A.type},We=function(A){return 16===A.type||Ye(A)},je=function(A){return A.length>1?[A[0],A[1]]:[A[0]]},Ze={type:17,number:0,flags:4},$e={type:16,number:50,flags:4},ze={type:16,number:100,flags:4},At=function(A,e,t){var r=A[0],n=A[1];return[et(r,e),et(void 0!==n?n:r,t)]},et=function(A,e){if(16===A.type)return A.number/100*e;if(Re(A))switch(A.unit){case"rem":case"em":return 16*A.number;default:return A.number}return A.number},tt="grad",rt="turn",nt=function(A,e){if(15===e.type)switch(e.unit){case"deg":return Math.PI*e.number/180;case tt:return Math.PI/200*e.number;case"rad":return e.number;case rt:return 2*Math.PI*e.number}throw new Error("Unsupported angle type")},ot=function(A){return 15===A.type&&("deg"===A.unit||A.unit===tt||"rad"===A.unit||A.unit===rt)},st=function(A){switch(A.filter(Ge).map((function(A){return A.value})).join(" ")){case"to bottom right":case"to right bottom":case"left top":case"top left":return[Ze,Ze];case"to top":case"bottom":return it(0);case"to bottom left":case"to left bottom":case"right top":case"top right":return[Ze,ze];case"to right":case"left":return it(90);case"to top left":case"to left top":case"right bottom":case"bottom right":return[ze,ze];case"to bottom":case"top":return it(180);case"to top right":case"to right top":case"left bottom":case"bottom left":return[ze,Ze];case"to left":case"right":return it(270)}return 0},it=function(A){return Math.PI*A/180},at=function(A,e){if(18===e.type){var t=ht[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),o=e.value.substring(2,3);return Bt(parseInt(r+r,16),parseInt(n+n,16),parseInt(o+o,16),1)}if(4===e.value.length){r=e.value.substring(0,1),n=e.value.substring(1,2),o=e.value.substring(2,3);var s=e.value.substring(3,4);return Bt(parseInt(r+r,16),parseInt(n+n,16),parseInt(o+o,16),parseInt(s+s,16)/255)}if(6===e.value.length)return r=e.value.substring(0,2),n=e.value.substring(2,4),o=e.value.substring(4,6),Bt(parseInt(r,16),parseInt(n,16),parseInt(o,16),1);if(8===e.value.length)return r=e.value.substring(0,2),n=e.value.substring(2,4),o=e.value.substring(4,6),s=e.value.substring(6,8),Bt(parseInt(r,16),parseInt(n,16),parseInt(o,16),parseInt(s,16)/255)}if(20===e.type){var i=Qt[e.value.toUpperCase()];if(void 0!==i)return i}return Qt.TRANSPARENT},ct=function(A){return!(255&A)},lt=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+")"},Bt=function(A,e,t,r){return(A<<24|e<<16|t<<8|Math.round(255*r))>>>0},dt=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},ut=function(A,e){var t=e.filter(qe);if(3===t.length){var r=t.map(dt),n=r[0],o=r[1],s=r[2];return Bt(n,o,s,1)}if(4===t.length){var i=t.map(dt),a=(n=i[0],o=i[1],s=i[2],i[3]);return Bt(n,o,s,a)}return 0};function gt(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 mt,wt,pt=function(A,e){var t=e.filter(qe),r=t[0],n=t[1],o=t[2],s=t[3],i=(17===r.type?it(r.number):nt(0,r))/(2*Math.PI),a=We(n)?n.number/100:0,c=We(o)?o.number/100:0,l=void 0!==s&&We(s)?et(s,1):1;if(0===a)return Bt(255*c,255*c,255*c,1);var B=c<=.5?c*(a+1):c+a-c*a,d=2*c-B,u=gt(d,B,i+1/3),g=gt(d,B,i),m=gt(d,B,i-1/3);return Bt(255*u,255*g,255*m,l)},ht={hsl:pt,hsla:pt,rgb:ut,rgba:ut},ft=function(A,e){return at(A,Oe.create(e).parseComponentValue())},Qt={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},Ct={name:"background-clip",initialValue:"border-box",prefix:!1,type:1,parse:function(A,e){return e.map((function(A){if(Ge(A))switch(A.value){case"padding-box":return 1;case"content-box":return 2}return 0}))}},Ut={name:"background-color",initialValue:"transparent",prefix:!1,type:3,format:"color"},Ft=function(A,e){var t=at(A,e[0]),r=e[1];return r&&We(r)?{color:t,stop:r}:{color:t,stop:null}},yt=function(A,e){var t=A[0],r=A[A.length-1];null===t.stop&&(t.stop=Ze),null===r.stop&&(r.stop=ze);for(var n=[],o=0,s=0;s<A.length;s++){var i=A[s].stop;if(null!==i){var a=et(i,e);a>o?n.push(a):n.push(o),o=a}else n.push(null)}var c=null;for(s=0;s<n.length;s++){var l=n[s];if(null===l)null===c&&(c=s);else if(null!==c){for(var B=s-c,d=(l-n[c-1])/(B+1),u=1;u<=B;u++)n[c+u-1]=d*u;c=null}}return A.map((function(A,t){return{color:A.color,stop:Math.max(Math.min(1,n[t]/e),0)}}))},bt=function(A,e){return Math.sqrt(A*A+e*e)},Et=function(A,e,t,r,n){return[[0,0],[0,e],[A,0],[A,e]].reduce((function(A,e){var o=e[0],s=e[1],i=bt(t-o,r-s);return(n?i<A.optimumDistance:i>A.optimumDistance)?{optimumCorner:e,optimumDistance:i}:A}),{optimumDistance:n?1/0:-1/0,optimumCorner:null}).optimumCorner},vt=function(A,e){var t=it(180),r=[];return Je(e).forEach((function(e,n){if(0===n){var o=e[0];if(20===o.type&&-1!==["top","left","right","bottom"].indexOf(o.value))return void(t=st(e));if(ot(o))return void(t=(nt(0,o)+it(270))%it(360))}var s=Ft(A,e);r.push(s)})),{angle:t,stops:r,type:1}},Ht="closest-side",It="farthest-side",xt="closest-corner",Lt="farthest-corner",kt="circle",Kt="ellipse",Mt="cover",St="contain",Dt=function(A,e){var t=0,r=3,n=[],o=[];return Je(e).forEach((function(e,s){var i=!0;if(0===s?i=e.reduce((function(A,e){if(Ge(e))switch(e.value){case"center":return o.push($e),!1;case"top":case"left":return o.push(Ze),!1;case"right":case"bottom":return o.push(ze),!1}else if(We(e)||Ye(e))return o.push(e),!1;return A}),i):1===s&&(i=e.reduce((function(A,e){if(Ge(e))switch(e.value){case kt:return t=0,!1;case Kt:return t=1,!1;case St:case Ht:return r=0,!1;case It:return r=1,!1;case xt:return r=2,!1;case Mt:case Lt:return r=3,!1}else if(Ye(e)||We(e))return Array.isArray(r)||(r=[]),r.push(e),!1;return A}),i)),i){var a=Ft(A,e);n.push(a)}})),{size:r,shape:t,stops:n,position:o,type:2}},Tt=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=Ot[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)},Ot={"linear-gradient":function(A,e){var t=it(180),r=[];return Je(e).forEach((function(e,n){if(0===n){var o=e[0];if(20===o.type&&"to"===o.value)return void(t=st(e));if(ot(o))return void(t=nt(0,o))}var s=Ft(A,e);r.push(s)})),{angle:t,stops:r,type:1}},"-moz-linear-gradient":vt,"-ms-linear-gradient":vt,"-o-linear-gradient":vt,"-webkit-linear-gradient":vt,"radial-gradient":function(A,e){var t=0,r=3,n=[],o=[];return Je(e).forEach((function(e,s){var i=!0;if(0===s){var a=!1;i=e.reduce((function(A,e){if(a)if(Ge(e))switch(e.value){case"center":return o.push($e),A;case"top":case"left":return o.push(Ze),A;case"right":case"bottom":return o.push(ze),A}else(We(e)||Ye(e))&&o.push(e);else if(Ge(e))switch(e.value){case kt:return t=0,!1;case Kt:return t=1,!1;case"at":return a=!0,!1;case Ht:return r=0,!1;case Mt:case It:return r=1,!1;case St:case xt:return r=2,!1;case Lt:return r=3,!1}else if(Ye(e)||We(e))return Array.isArray(r)||(r=[]),r.push(e),!1;return A}),i)}if(i){var c=Ft(A,e);n.push(c)}})),{size:r,shape:t,stops:n,position:o,type:2}},"-moz-radial-gradient":Dt,"-ms-radial-gradient":Dt,"-o-radial-gradient":Dt,"-webkit-radial-gradient":Dt,"-webkit-gradient":function(A,e){var t=it(180),r=[],n=1;return Je(e).forEach((function(e,t){var o=e[0];if(0===t){if(Ge(o)&&"linear"===o.value)return void(n=1);if(Ge(o)&&"radial"===o.value)return void(n=2)}if(18===o.type)if("from"===o.name){var s=at(A,o.values[0]);r.push({stop:Ze,color:s})}else if("to"===o.name)s=at(A,o.values[0]),r.push({stop:ze,color:s});else if("color-stop"===o.name){var i=o.values.filter(qe);if(2===i.length){s=at(A,i[1]);var a=i[0];Ne(a)&&r.push({stop:{type:16,number:100*a.number,flags:a.flags},color:s})}}})),1===n?{angle:(t+it(180))%it(360),stops:r,type:n}:{size:3,shape:0,stops:r,position:[],type:n}}},Rt={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 qe(A)&&function(A){return!(20===A.type&&"none"===A.value||18===A.type&&!Ot[A.name])}(A)})).map((function(e){return Tt(A,e)}))}},Nt={name:"background-origin",initialValue:"border-box",prefix:!1,type:1,parse:function(A,e){return e.map((function(A){if(Ge(A))switch(A.value){case"padding-box":return 1;case"content-box":return 2}return 0}))}},Gt={name:"background-position",initialValue:"0% 0%",type:1,prefix:!1,parse:function(A,e){return Je(e).map((function(A){return A.filter(We)})).map(je)}},Pt={name:"background-repeat",initialValue:"repeat",prefix:!1,type:1,parse:function(A,e){return Je(e).map((function(A){return A.filter(Ge).map((function(A){return A.value})).join(" ")})).map(Vt)}},Vt=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}};(wt=mt||(mt={})).AUTO="auto",wt.CONTAIN="contain",wt.COVER="cover";var _t,qt,Jt={name:"background-size",initialValue:"0",prefix:!1,type:1,parse:function(A,e){return Je(e).map((function(A){return A.filter(Xt)}))}},Xt=function(A){return Ge(A)||We(A)},Yt=function(A){return{name:"border-"+A+"-color",initialValue:"transparent",prefix:!1,type:3,format:"color"}},Wt=Yt("top"),jt=Yt("right"),Zt=Yt("bottom"),$t=Yt("left"),zt=function(A){return{name:"border-radius-"+A,initialValue:"0 0",prefix:!1,type:1,parse:function(A,e){return je(e.filter(We))}}},Ar=zt("top-left"),er=zt("top-right"),tr=zt("bottom-right"),rr=zt("bottom-left"),nr=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}}},or=nr("top"),sr=nr("right"),ir=nr("bottom"),ar=nr("left"),cr=function(A){return{name:"border-"+A+"-width",initialValue:"0",type:0,prefix:!1,parse:function(A,e){return Re(e)?e.number:0}}},lr=cr("top"),Br=cr("right"),dr=cr("bottom"),ur=cr("left"),gr={name:"color",initialValue:"transparent",prefix:!1,type:3,format:"color"},mr={name:"direction",initialValue:"ltr",prefix:!1,type:2,parse:function(A,e){return"rtl"===e?1:0}},wr={name:"display",initialValue:"inline-block",prefix:!1,type:1,parse:function(A,e){return e.filter(Ge).reduce((function(A,e){return A|pr(e.value)}),0)}},pr=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},hr={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}},fr={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}};(qt=_t||(_t={})).NORMAL="normal",qt.STRICT="strict";var Qr,Cr,Ur={name:"line-break",initialValue:"normal",prefix:!1,type:2,parse:function(A,e){return"strict"===e?_t.STRICT:_t.NORMAL}},Fr={name:"line-height",initialValue:"normal",prefix:!1,type:4},yr=function(A,e){return Ge(A)&&"normal"===A.value?1.2*e:17===A.type?e*A.number:We(A)?et(A,e):e},br={name:"list-style-image",initialValue:"none",type:0,prefix:!1,parse:function(A,e){return 20===e.type&&"none"===e.value?null:Tt(A,e)}},Er={name:"list-style-position",initialValue:"outside",prefix:!1,type:2,parse:function(A,e){return"inside"===e?0:1}},vr={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}}},Hr=function(A){return{name:"margin-"+A,initialValue:"0",prefix:!1,type:4}},Ir=Hr("top"),xr=Hr("right"),Lr=Hr("bottom"),kr=Hr("left"),Kr={name:"overflow",initialValue:"visible",prefix:!1,type:1,parse:function(A,e){return e.filter(Ge).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}}))}},Mr={name:"overflow-wrap",initialValue:"normal",prefix:!1,type:2,parse:function(A,e){return"break-word"===e?"break-word":"normal"}},Sr=function(A){return{name:"padding-"+A,initialValue:"0",prefix:!1,type:3,format:"length-percentage"}},Dr=Sr("top"),Tr=Sr("right"),Or=Sr("bottom"),Rr=Sr("left"),Nr={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}}},Gr={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}},Pr={name:"text-shadow",initialValue:"none",type:1,prefix:!1,parse:function(A,e){return 1===e.length&&Ve(e[0],"none")?[]:Je(e).map((function(e){for(var t={color:Qt.TRANSPARENT,offsetX:Ze,offsetY:Ze,blur:Ze},r=0,n=0;n<e.length;n++){var o=e[n];Ye(o)?(0===r?t.offsetX=o:1===r?t.offsetY=o:t.blur=o,r++):t.color=at(A,o)}return t}))}},Vr={name:"text-transform",initialValue:"none",prefix:!1,type:2,parse:function(A,e){switch(e){case"uppercase":return 2;case"lowercase":return 1;case"capitalize":return 3}return 0}},_r={name:"transform",initialValue:"none",prefix:!0,type:0,parse:function(A,e){if(20===e.type&&"none"===e.value)return null;if(18===e.type){var t=qr[e.name];if(void 0===t)throw new Error('Attempting to parse an unsupported transform function "'+e.name+'"');return t(e.values)}return null}},qr={matrix:function(A){var e=A.filter((function(A){return 17===A.type})).map((function(A){return A.number}));return 6===e.length?e:null},matrix3d:function(A){var e=A.filter((function(A){return 17===A.type})).map((function(A){return A.number})),t=e[0],r=e[1];e[2],e[3];var n=e[4],o=e[5];e[6],e[7],e[8],e[9],e[10],e[11];var s=e[12],i=e[13];return e[14],e[15],16===e.length?[t,r,n,o,s,i]:null}},Jr={type:16,number:50,flags:4},Xr=[Jr,Jr],Yr={name:"transform-origin",initialValue:"50% 50%",prefix:!0,type:1,parse:function(A,e){var t=e.filter(We);return 2!==t.length?Xr:[t[0],t[1]]}},Wr={name:"visible",initialValue:"none",prefix:!1,type:2,parse:function(A,e){switch(e){case"hidden":return 1;case"collapse":return 2;default:return 0}}};(Cr=Qr||(Qr={})).NORMAL="normal",Cr.BREAK_ALL="break-all",Cr.KEEP_ALL="keep-all";for(var jr={name:"word-break",initialValue:"normal",prefix:!1,type:2,parse:function(A,e){switch(e){case"break-all":return Qr.BREAK_ALL;case"keep-all":return Qr.KEEP_ALL;default:return Qr.NORMAL}}},Zr={name:"z-index",initialValue:"auto",prefix:!1,type:0,parse:function(A,e){if(20===e.type)return{auto:!0,order:0};if(Ne(e))return{auto:!1,order:e.number};throw new Error("Invalid z-index number parsed")}},$r=function(A,e){if(15===e.type)switch(e.unit.toLowerCase()){case"s":return 1e3*e.number;case"ms":return e.number}throw new Error("Unsupported time type")},zr={name:"opacity",initialValue:"1",type:0,prefix:!1,parse:function(A,e){return Ne(e)?e.number:1}},An={name:"text-decoration-color",initialValue:"transparent",prefix:!1,type:3,format:"color"},en={name:"text-decoration-line",initialValue:"none",prefix:!1,type:1,parse:function(A,e){return e.filter(Ge).map((function(A){switch(A.value){case"underline":return 1;case"overline":return 2;case"line-through":return 3;case"none":return 4}return 0})).filter((function(A){return 0!==A}))}},tn={name:"font-family",initialValue:"",prefix:!1,type:1,parse:function(A,e){var t=[],r=[];return e.forEach((function(A){switch(A.type){case 20:case 0:t.push(A.value);break;case 17:t.push(A.number.toString());break;case 4:r.push(t.join(" ")),t.length=0}})),t.length&&r.push(t.join(" ")),r.map((function(A){return-1===A.indexOf(" ")?A:"'"+A+"'"}))}},rn={name:"font-size",initialValue:"0",prefix:!1,type:3,format:"length"},nn={name:"font-weight",initialValue:"normal",type:0,prefix:!1,parse:function(A,e){return Ne(e)?e.number:Ge(e)&&"bold"===e.value?700:400}},on={name:"font-variant",initialValue:"none",type:1,prefix:!1,parse:function(A,e){return e.filter(Ge).map((function(A){return A.value}))}},sn={name:"font-style",initialValue:"normal",prefix:!1,type:2,parse:function(A,e){switch(e){case"oblique":return"oblique";case"italic":return"italic";default:return"normal"}}},an=function(A,e){return 0!==(A&e)},cn={name:"content",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}},ln={name:"counter-increment",initialValue:"none",prefix:!0,type:1,parse:function(A,e){if(0===e.length)return null;var t=e[0];if(20===t.type&&"none"===t.value)return null;for(var r=[],n=e.filter(_e),o=0;o<n.length;o++){var s=n[o],i=n[o+1];if(20===s.type){var a=i&&Ne(i)?i.number:1;r.push({counter:s.value,increment:a})}}return r}},Bn={name:"counter-reset",initialValue:"none",prefix:!0,type:1,parse:function(A,e){if(0===e.length)return[];for(var t=[],r=e.filter(_e),n=0;n<r.length;n++){var o=r[n],s=r[n+1];if(Ge(o)&&"none"!==o.value){var i=s&&Ne(s)?s.number:0;t.push({counter:o.value,reset:i})}}return t}},dn={name:"duration",initialValue:"0s",prefix:!1,type:1,parse:function(A,e){return e.filter(Re).map((function(A){return $r(0,A)}))}},un={name:"quotes",initialValue:"none",prefix:!0,type:1,parse:function(A,e){if(0===e.length)return null;var t=e[0];if(20===t.type&&"none"===t.value)return null;var r=[],n=e.filter(Pe);if(n.length%2!=0)return null;for(var o=0;o<n.length;o+=2){var s=n[o].value,i=n[o+1].value;r.push({open:s,close:i})}return r}},gn=function(A,e,t){if(!A)return"";var r=A[Math.min(e,A.length-1)];return r?t?r.open:r.close:""},mn={name:"box-shadow",initialValue:"none",type:1,prefix:!1,parse:function(A,e){return 1===e.length&&Ve(e[0],"none")?[]:Je(e).map((function(e){for(var t={color:255,offsetX:Ze,offsetY:Ze,blur:Ze,spread:Ze,inset:!1},r=0,n=0;n<e.length;n++){var o=e[n];Ve(o,"inset")?t.inset=!0:Ye(o)?(0===r?t.offsetX=o:1===r?t.offsetY=o:2===r?t.blur=o:t.spread=o,r++):t.color=at(A,o)}return t}))}},wn={name:"paint-order",initialValue:"normal",prefix:!1,type:1,parse:function(A,e){var t=[];return e.filter(Ge).forEach((function(A){switch(A.value){case"stroke":t.push(1);break;case"fill":t.push(0);break;case"markers":t.push(2)}})),[0,1,2].forEach((function(A){-1===t.indexOf(A)&&t.push(A)})),t}},pn={name:"-webkit-text-stroke-color",initialValue:"currentcolor",prefix:!1,type:3,format:"color"},hn={name:"-webkit-text-stroke-width",initialValue:"0",type:0,prefix:!1,parse:function(A,e){return Re(e)?e.number:0}},fn=function(){function A(A,e){var t,r;this.animationDuration=Un(A,dn,e.animationDuration),this.backgroundClip=Un(A,Ct,e.backgroundClip),this.backgroundColor=Un(A,Ut,e.backgroundColor),this.backgroundImage=Un(A,Rt,e.backgroundImage),this.backgroundOrigin=Un(A,Nt,e.backgroundOrigin),this.backgroundPosition=Un(A,Gt,e.backgroundPosition),this.backgroundRepeat=Un(A,Pt,e.backgroundRepeat),this.backgroundSize=Un(A,Jt,e.backgroundSize),this.borderTopColor=Un(A,Wt,e.borderTopColor),this.borderRightColor=Un(A,jt,e.borderRightColor),this.borderBottomColor=Un(A,Zt,e.borderBottomColor),this.borderLeftColor=Un(A,$t,e.borderLeftColor),this.borderTopLeftRadius=Un(A,Ar,e.borderTopLeftRadius),this.borderTopRightRadius=Un(A,er,e.borderTopRightRadius),this.borderBottomRightRadius=Un(A,tr,e.borderBottomRightRadius),this.borderBottomLeftRadius=Un(A,rr,e.borderBottomLeftRadius),this.borderTopStyle=Un(A,or,e.borderTopStyle),this.borderRightStyle=Un(A,sr,e.borderRightStyle),this.borderBottomStyle=Un(A,ir,e.borderBottomStyle),this.borderLeftStyle=Un(A,ar,e.borderLeftStyle),this.borderTopWidth=Un(A,lr,e.borderTopWidth),this.borderRightWidth=Un(A,Br,e.borderRightWidth),this.borderBottomWidth=Un(A,dr,e.borderBottomWidth),this.borderLeftWidth=Un(A,ur,e.borderLeftWidth),this.boxShadow=Un(A,mn,e.boxShadow),this.color=Un(A,gr,e.color),this.direction=Un(A,mr,e.direction),this.display=Un(A,wr,e.display),this.float=Un(A,hr,e.cssFloat),this.fontFamily=Un(A,tn,e.fontFamily),this.fontSize=Un(A,rn,e.fontSize),this.fontStyle=Un(A,sn,e.fontStyle),this.fontVariant=Un(A,on,e.fontVariant),this.fontWeight=Un(A,nn,e.fontWeight),this.letterSpacing=Un(A,fr,e.letterSpacing),this.lineBreak=Un(A,Ur,e.lineBreak),this.lineHeight=Un(A,Fr,e.lineHeight),this.listStyleImage=Un(A,br,e.listStyleImage),this.listStylePosition=Un(A,Er,e.listStylePosition),this.listStyleType=Un(A,vr,e.listStyleType),this.marginTop=Un(A,Ir,e.marginTop),this.marginRight=Un(A,xr,e.marginRight),this.marginBottom=Un(A,Lr,e.marginBottom),this.marginLeft=Un(A,kr,e.marginLeft),this.opacity=Un(A,zr,e.opacity);var n=Un(A,Kr,e.overflow);this.overflowX=n[0],this.overflowY=n[n.length>1?1:0],this.overflowWrap=Un(A,Mr,e.overflowWrap),this.paddingTop=Un(A,Dr,e.paddingTop),this.paddingRight=Un(A,Tr,e.paddingRight),this.paddingBottom=Un(A,Or,e.paddingBottom),this.paddingLeft=Un(A,Rr,e.paddingLeft),this.paintOrder=Un(A,wn,e.paintOrder),this.position=Un(A,Gr,e.position),this.textAlign=Un(A,Nr,e.textAlign),this.textDecorationColor=Un(A,An,null!==(t=e.textDecorationColor)&&void 0!==t?t:e.color),this.textDecorationLine=Un(A,en,null!==(r=e.textDecorationLine)&&void 0!==r?r:e.textDecoration),this.textShadow=Un(A,Pr,e.textShadow),this.textTransform=Un(A,Vr,e.textTransform),this.transform=Un(A,_r,e.transform),this.transformOrigin=Un(A,Yr,e.transformOrigin),this.visibility=Un(A,Wr,e.visibility),this.webkitTextStrokeColor=Un(A,pn,e.webkitTextStrokeColor),this.webkitTextStrokeWidth=Un(A,hn,e.webkitTextStrokeWidth),this.wordBreak=Un(A,jr,e.wordBreak),this.zIndex=Un(A,Zr,e.zIndex)}return A.prototype.isVisible=function(){return this.display>0&&this.opacity>0&&0===this.visibility},A.prototype.isTransparent=function(){return ct(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 an(this.display,4)||an(this.display,33554432)||an(this.display,268435456)||an(this.display,536870912)||an(this.display,67108864)||an(this.display,134217728)},A}(),Qn=function(){return function(A,e){this.content=Un(A,cn,e.content),this.quotes=Un(A,un,e.quotes)}}(),Cn=function(){return function(A,e){this.counterIncrement=Un(A,ln,e.counterIncrement),this.counterReset=Un(A,Bn,e.counterReset)}}(),Un=function(A,e,t){var r=new Te,n=null!=t?t.toString():e.initialValue;r.write(n);var o=new Oe(r.read());switch(e.type){case 2:var s=o.parseComponentValue();return e.parse(A,Ge(s)?s.value:e.initialValue);case 0:return e.parse(A,o.parseComponentValue());case 1:return e.parse(A,o.parseComponentValues());case 4:return o.parseComponentValue();case 3:switch(e.format){case"angle":return nt(0,o.parseComponentValue());case"color":return at(A,o.parseComponentValue());case"image":return Tt(A,o.parseComponentValue());case"length":var i=o.parseComponentValue();return Ye(i)?i:Ze;case"length-percentage":var a=o.parseComponentValue();return We(a)?a:Ze;case"time":return $r(0,o.parseComponentValue())}}},Fn=function(A,e){var t=function(A){switch(A.getAttribute("data-html2canvas-debug")){case"all":return 1;case"clone":return 2;case"parse":return 3;case"render":return 4;default:return 0}}(A);return 1===t||e===t},yn=function(){return function(A,e){this.context=A,this.textNodes=[],this.elements=[],this.flags=0,Fn(e,3),this.styles=new fn(A,window.getComputedStyle(e,null)),bo(e)&&(this.styles.animationDuration.some((function(A){return A>0}))&&(e.style.animationDuration="0s"),null!==this.styles.transform&&(e.style.transform="none")),this.bounds=z(this.context,e),Fn(e,4)&&(this.flags|=16)}}(),bn="undefined"==typeof Uint8Array?[]:new Uint8Array(256),En=0;En<64;En++)bn["ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/".charCodeAt(En)]=En;for(var vn=function(A,e,t){return A.slice?A.slice(e,t):new Uint16Array(Array.prototype.slice.call(A,e,t))},Hn=function(){function A(A,e,t,r,n,o){this.initialValue=A,this.errorValue=e,this.highStart=t,this.highValueIndex=r,this.index=n,this.data=o}return A.prototype.get=function(A){var e;if(A>=0){if(A<55296||A>56319&&A<=65535)return e=((e=this.index[A>>5])<<2)+(31&A),this.data[e];if(A<=65535)return e=((e=this.index[2048+(A-55296>>5)])<<2)+(31&A),this.data[e];if(A<this.highStart)return e=2080+(A>>11),e=this.index[e],e+=A>>5&63,e=((e=this.index[e])<<2)+(31&A),this.data[e];if(A<=1114111)return this.data[this.highValueIndex]}return this.errorValue},A}(),In="undefined"==typeof Uint8Array?[]:new Uint8Array(256),xn=0;xn<64;xn++)In["ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/".charCodeAt(xn)]=xn;var Ln,kn,Kn=8,Mn=9,Sn=11,Dn=12,Tn=function(){for(var A=[],e=0;e<arguments.length;e++)A[e]=arguments[e];if(String.fromCodePoint)return String.fromCodePoint.apply(String,A);var t=A.length;if(!t)return"";for(var r=[],n=-1,o="";++n<t;){var s=A[n];s<=65535?r.push(s):(s-=65536,r.push(55296+(s>>10),s%1024+56320)),(n+1===t||r.length>16384)&&(o+=String.fromCharCode.apply(String,r),r.length=0)}return o},On=function(){var A=function(A){var e,t,r,n,o,s=.75*A.length,i=A.length,a=0;"="===A[A.length-1]&&(s--,"="===A[A.length-2]&&s--);var c="undefined"!=typeof ArrayBuffer&&"undefined"!=typeof Uint8Array&&void 0!==Uint8Array.prototype.slice?new ArrayBuffer(s):new Array(s),l=Array.isArray(c)?c:new Uint8Array(c);for(e=0;e<i;e+=4)t=bn[A.charCodeAt(e)],r=bn[A.charCodeAt(e+1)],n=bn[A.charCodeAt(e+2)],o=bn[A.charCodeAt(e+3)],l[a++]=t<<2|r>>4,l[a++]=(15&r)<<4|n>>2,l[a++]=(3&n)<<6|63&o;return c}("AAAAAAAAAAAAEA4AGBkAAFAaAAACAAAAAAAIABAAGAAwADgACAAQAAgAEAAIABAACAAQAAgAEAAIABAACAAQAAgAEAAIABAAQABIAEQATAAIABAACAAQAAgAEAAIABAAVABcAAgAEAAIABAACAAQAGAAaABwAHgAgACIAI4AlgAIABAAmwCjAKgAsAC2AL4AvQDFAMoA0gBPAVYBWgEIAAgACACMANoAYgFkAWwBdAF8AX0BhQGNAZUBlgGeAaMBlQGWAasBswF8AbsBwwF0AcsBYwHTAQgA2wG/AOMBdAF8AekB8QF0AfkB+wHiAHQBfAEIAAMC5gQIAAsCEgIIAAgAFgIeAggAIgIpAggAMQI5AkACygEIAAgASAJQAlgCYAIIAAgACAAKBQoFCgUTBRMFGQUrBSsFCAAIAAgACAAIAAgACAAIAAgACABdAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACABoAmgCrwGvAQgAbgJ2AggAHgEIAAgACADnAXsCCAAIAAgAgwIIAAgACAAIAAgACACKAggAkQKZAggAPADJAAgAoQKkAqwCsgK6AsICCADJAggA0AIIAAgACAAIANYC3gIIAAgACAAIAAgACABAAOYCCAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAkASoB+QIEAAgACAA8AEMCCABCBQgACABJBVAFCAAIAAgACAAIAAgACAAIAAgACABTBVoFCAAIAFoFCABfBWUFCAAIAAgACAAIAAgAbQUIAAgACAAIAAgACABzBXsFfQWFBYoFigWKBZEFigWKBYoFmAWfBaYFrgWxBbkFCAAIAAgACAAIAAgACAAIAAgACAAIAMEFCAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAMgFCADQBQgACAAIAAgACAAIAAgACAAIAAgACAAIAO4CCAAIAAgAiQAIAAgACABAAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAD0AggACAD8AggACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIANYFCAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAMDvwAIAAgAJAIIAAgACAAIAAgACAAIAAgACwMTAwgACAB9BOsEGwMjAwgAKwMyAwsFYgE3A/MEPwMIAEUDTQNRAwgAWQOsAGEDCAAIAAgACAAIAAgACABpAzQFNQU2BTcFOAU5BToFNAU1BTYFNwU4BTkFOgU0BTUFNgU3BTgFOQU6BTQFNQU2BTcFOAU5BToFNAU1BTYFNwU4BTkFOgU0BTUFNgU3BTgFOQU6BTQFNQU2BTcFOAU5BToFNAU1BTYFNwU4BTkFOgU0BTUFNgU3BTgFOQU6BTQFNQU2BTcFOAU5BToFNAU1BTYFNwU4BTkFOgU0BTUFNgU3BTgFOQU6BTQFNQU2BTcFOAU5BToFNAU1BTYFNwU4BTkFOgU0BTUFNgU3BTgFOQU6BTQFNQU2BTcFOAU5BToFNAU1BTYFNwU4BTkFOgU0BTUFNgU3BTgFOQU6BTQFNQU2BTcFOAU5BToFNAU1BTYFNwU4BTkFOgU0BTUFNgU3BTgFOQU6BTQFNQU2BTcFOAU5BToFNAU1BTYFNwU4BTkFOgU0BTUFNgU3BTgFOQU6BTQFNQU2BTcFOAU5BToFNAU1BTYFNwU4BTkFOgU0BTUFNgU3BTgFOQU6BTQFNQU2BTcFOAU5BToFNAU1BTYFNwU4BTkFOgU0BTUFNgU3BTgFOQU6BTQFNQU2BTcFOAU5BToFNAU1BTYFNwU4BTkFOgU0BTUFNgU3BTgFOQU6BTQFNQU2BTcFOAU5BToFNAU1BTYFNwU4BTkFOgU0BTUFNgU3BTgFOQU6BTQFNQU2BTcFOAU5BToFNAU1BTYFNwU4BTkFOgU0BTUFNgU3BTgFOQU6BTQFNQU2BTcFOAU5BToFNAU1BTYFNwU4BTkFOgU0BTUFNgU3BTgFOQU6BTQFNQU2BTcFOAU5BToFNAU1BTYFNwU4BTkFOgU0BTUFNgU3BTgFOQU6BTQFNQU2BTcFOAU5BToFNAU1BTYFNwU4BTkFOgU0BTUFNgU3BTgFOQU6BTQFNQU2BTcFOAU5BToFNAU1BTYFNwU4BTkFIQUoBSwFCAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACABtAwgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACABMAEwACAAIAAgACAAIABgACAAIAAgACAC/AAgACAAyAQgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACACAAIAAwAAgACAAIAAgACAAIAAgACAAIAAAARABIAAgACAAIABQASAAIAAgAIABwAEAAjgCIABsAqAC2AL0AigDQAtwC+IJIQqVAZUBWQqVAZUBlQGVAZUBlQGrC5UBlQGVAZUBlQGVAZUBlQGVAXsKlQGVAbAK6wsrDGUMpQzlDJUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAfAKAAuZA64AtwCJALoC6ADwAAgAuACgA/oEpgO6AqsD+AAIAAgAswMIAAgACAAIAIkAuwP5AfsBwwPLAwgACAAIAAgACADRA9kDCAAIAOED6QMIAAgACAAIAAgACADuA/YDCAAIAP4DyQAIAAgABgQIAAgAXQAOBAgACAAIAAgACAAIABMECAAIAAgACAAIAAgACAD8AAQBCAAIAAgAGgQiBCoECAExBAgAEAEIAAgACAAIAAgACAAIAAgACAAIAAgACAA4BAgACABABEYECAAIAAgATAQYAQgAVAQIAAgACAAIAAgACAAIAAgACAAIAFoECAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgAOQEIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAB+BAcACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAEABhgSMBAgACAAIAAgAlAQIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAwAEAAQABAADAAMAAwADAAQABAAEAAQABAAEAAQABHATAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgAdQMIAAgACAAIAAgACAAIAMkACAAIAAgAfQMIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACACFA4kDCAAIAAgACAAIAOcBCAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAIcDCAAIAAgACAAIAAgACAAIAAgACAAIAJEDCAAIAAgACADFAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACABgBAgAZgQIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgAbAQCBXIECAAIAHkECAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACABAAJwEQACjBKoEsgQIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAC6BMIECAAIAAgACAAIAAgACABmBAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgAxwQIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAGYECAAIAAgAzgQIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgAigWKBYoFigWKBYoFigWKBd0FXwUIAOIF6gXxBYoF3gT5BQAGCAaKBYoFigWKBYoFigWKBYoFigWKBYoFigXWBIoFigWKBYoFigWKBYoFigWKBYsFEAaKBYoFigWKBYoFigWKBRQGCACKBYoFigWKBQgACAAIANEECAAIABgGigUgBggAJgYIAC4GMwaKBYoF0wQ3Bj4GigWKBYoFigWKBYoFigWKBYoFigWKBYoFigUIAAgACAAIAAgACAAIAAgAigWKBYoFigWKBYoFigWKBYoFigWKBYoFigWKBYoFigWKBYoFigWKBYoFigWKBYoFigWKBYoFigWKBYoFigWLBf///////wQABAAEAAQABAAEAAQABAAEAAQAAwAEAAQAAgAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAAAAAAAAAAAAAAAAAAAAAAAAAOAAAAAAAAAAQADgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUABQAFAAUABQAFAAUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAAAAUAAAAFAAUAAAAFAAUAAAAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAAEAAQABAAEAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAUABQAFAAUABQAFAAUABQAFAAUABQAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUABQAFAAUABQAFAAUAAQAAAAUABQAFAAUABQAFAAAAAAAFAAUAAAAFAAUABQAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEAAAAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFAAUABQAFAAUABQAFAAUABQAFAAUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFAAUABQAFAAUABQAFAAUABQAAAAAAAAAAAAAAAAAAAAAAAAAFAAAAAAAFAAUAAQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABwAFAAUABQAFAAAABwAHAAcAAAAHAAcABwAFAAEAAAAAAAAAAAAAAAAAAAAAAAUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHAAcABwAFAAUABQAFAAcABwAFAAUAAAAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHAAAAAQABAAAAAAAAAAAAAAAFAAUABQAFAAAABwAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABQAHAAcABwAHAAcAAAAHAAcAAAAAAAUABQAHAAUAAQAHAAEABwAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABQAFAAUABQAFAAUABwABAAUABQAFAAUAAAAAAAAAAAAAAAEAAQABAAEAAQABAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABwAFAAUAAAAAAAAAAAAAAAAABQAFAAUABQAFAAUAAQAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUABQAFAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQABQANAAQABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQABAAEAAQABAAEAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAOAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAAEAAQABAAEAAQABAAEAAQABAAEAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEAAQABAAEAAQABAAEAAQABAAAAAAAAAAAAAAAAAAAAAAABQAHAAUABQAFAAAAAAAAAAcABQAFAAUABQAFAAQABAAEAAQABAAEAAQABAAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUABQAFAAUAAAAFAAUABQAFAAUAAAAFAAUABQAAAAUABQAFAAUABQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFAAUABQAAAAAAAAAAAAUABQAFAAcAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABQAHAAUAAAAHAAcABwAFAAUABQAFAAUABQAFAAUABwAHAAcABwAFAAcABwAAAAUABQAFAAUABQAFAAUAAAAAAAAAAAAAAAAAAAAAAAAAAAAFAAUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUABwAHAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABQAAAAUABwAHAAUABQAFAAUAAAAAAAcABwAAAAAABwAHAAUAAAAAAAAAAAAAAAAAAAAAAAAABQAAAAAAAAAAAAAAAAAAAAAAAAAAAAUABQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABQAAAAAABQAFAAcAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFAAAABwAHAAcABQAFAAAAAAAAAAAABQAFAAAAAAAFAAUABQAAAAAAAAAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUABQAAAAAAAAAFAAAAAAAAAAAAAAAAAAAAAAAAAAAABwAFAAUABQAFAAUAAAAFAAUABwAAAAcABwAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFAAUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFAAUABQAFAAUABQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUAAAAFAAUABwAFAAUABQAFAAAAAAAHAAcAAAAAAAcABwAFAAAAAAAAAAAAAAAAAAAABQAFAAUAAAAAAAAAAAAAAAAAAAAAAAAAAAAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFAAcABwAAAAAAAAAHAAcABwAAAAcABwAHAAUAAAAAAAAAAAAAAAAAAAAAAAAABQAAAAAAAAAAAAAAAAAAAAAABQAHAAcABwAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUABwAHAAcABwAAAAUABQAFAAAABQAFAAUABQAAAAAAAAAAAAAAAAAAAAUABQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABQAAAAcABQAHAAcABQAHAAcAAAAFAAcABwAAAAcABwAFAAUAAAAAAAAAAAAAAAAAAAAFAAUAAAAAAAAAAAAAAAAAAAAAAAAABQAFAAcABwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUABQAAAAUABwAAAAAAAAAAAAAAAAAAAAAAAAAAAAUAAAAAAAAAAAAFAAcABwAFAAUABQAAAAUAAAAHAAcABwAHAAcABwAHAAUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUAAAAHAAUABQAFAAUABQAFAAUAAAAAAAAAAAAAAAAAAAAAAAUABQAFAAUABQAFAAUABQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFAAAABwAFAAUABQAFAAUABQAFAAUABQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABQAFAAUABQAFAAUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUABQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABQAAAAUAAAAFAAAAAAAAAAAABwAHAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABwAFAAUABQAFAAUAAAAFAAUAAAAAAAAAAAAAAAUABQAFAAUABQAFAAUABQAFAAUABQAAAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUABQAFAAUABwAFAAUABQAFAAUABQAAAAUABQAHAAcABQAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHAAcABQAFAAAAAAAAAAAABQAFAAUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFAAUABQAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABQAAAAcABQAFAAAAAAAAAAAAAAAAAAUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABQAFAAUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUABQAHAAUABQAFAAUABQAFAAUABwAHAAcABwAHAAcABwAHAAUABwAHAAUABQAFAAUABQAFAAUABQAFAAUABQAAAAAAAAAAAAAAAAAAAAAAAAAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABQAFAAUABwAHAAcABwAFAAUABwAHAAcAAAAAAAAAAAAHAAcABQAHAAcABwAHAAcABwAFAAUABQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABQAFAAcABwAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAcABQAHAAUABQAFAAUABQAFAAUAAAAFAAAABQAAAAAABQAFAAUABQAFAAUABQAFAAcABwAHAAcABwAHAAUABQAFAAUABQAFAAUABQAFAAUAAAAAAAUABQAFAAUABQAHAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUABQAFAAUABQAFAAUABwAFAAcABwAHAAcABwAFAAcABwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFAAUABQAFAAUABQAFAAUABQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFAAUABwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHAAUABQAFAAUABwAHAAUABQAHAAUABQAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFAAcABQAFAAcABwAHAAUABwAFAAUABQAHAAcAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABwAHAAcABwAHAAcABwAHAAUABQAFAAUABQAFAAUABQAHAAcABQAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABQAFAAUAAAAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAcABQAFAAUABQAFAAUABQAAAAAAAAAAAAUAAAAAAAAAAAAAAAAABQAAAAAABwAFAAUAAAAAAAAAAAAAAAAABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAAABQAFAAUABQAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUABQAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABQAFAAUABQAFAAUADgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAOAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUABQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUABQAFAAUAAAAFAAUABQAFAAUABQAFAAUABQAFAAAAAAAAAAAABQAAAAAAAAAFAAAAAAAAAAAABQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABwAHAAUABQAHAAAAAAAAAAAABQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAcABwAHAAcABQAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUAAAAAAAAAAAAAAAAABQAFAAUABQAFAAUABQAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUABQAFAAUABQAFAAUABQAFAAUABQAHAAcAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFAAcABwAFAAUABQAFAAcABwAFAAUABwAHAAAAAAAAAAAAAAAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUABQAFAAUABQAFAAcABwAFAAUABwAHAAUABQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFAAAAAAAAAAAAAAAAAAAAAAAFAAcAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUAAAAFAAUABQAAAAAABQAFAAAAAAAAAAAAAAAFAAUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAcABQAFAAcABwAAAAAAAAAAAAAABwAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAcABwAFAAcABwAFAAcABwAAAAcABQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUABQAFAAUABQAAAAAAAAAAAAAAAAAFAAUABQAAAAUABQAAAAAAAAAAAAAABQAFAAUABQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFAAUABQAAAAAAAAAAAAUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUABQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAcABQAHAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFAAUABQAFAAUABwAFAAUABQAFAAUABQAFAAUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABwAHAAcABQAFAAUABQAFAAUABQAFAAUABwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHAAcABwAFAAUABQAHAAcABQAHAAUABQAAAAAAAAAAAAAAAAAFAAAABwAHAAcABQAFAAUABQAFAAUABQAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUABwAHAAcABwAAAAAABwAHAAAAAAAHAAcABwAAAAAAAAAAAAAAAAAAAAAAAAAFAAAAAAAAAAAAAAAAAAAAAAAAAAAABwAHAAAAAAAFAAUABQAFAAUABQAFAAAAAAAAAAUABQAFAAUABQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHAAcABwAFAAUABQAFAAUABQAFAAUABwAHAAUABQAFAAcABQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABQAHAAcABQAFAAUABQAFAAUABwAFAAcABwAFAAcABQAFAAcABQAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABQAHAAcABQAFAAUABQAAAAAABwAHAAcABwAFAAUABwAFAAUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABQAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAcABwAHAAUABQAFAAUABQAFAAUABQAHAAcABQAHAAUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUABwAFAAcABwAFAAUABQAFAAUABQAHAAUAAAAAAAAAAAAAAAAAAAAAAAcABwAFAAUABQAFAAcABQAFAAUABQAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHAAcABwAFAAUABQAFAAUABQAFAAUABQAHAAUABQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHAAcABwAFAAUABQAFAAAAAAAFAAUABwAHAAcABwAFAAAAAAAAAAcAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFAAUABQAFAAUABQAFAAUABQAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUAAAAAAAAAAAAAAAAAAAAAAAAABQAFAAUABQAFAAUABwAHAAUABQAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAcABQAFAAUABQAFAAUABQAAAAUABQAFAAUABQAFAAcABQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAAAAHAAUABQAFAAUABQAFAAUABwAFAAUABwAFAAUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABQAFAAUABQAFAAUAAAAAAAAABQAAAAUABQAAAAUAAAAAAAAAAAAAAAAAAAAAAAAAAAAHAAcABwAHAAcAAAAFAAUAAAAHAAcABQAHAAUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFAAUABwAHAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFAAUABQAFAAUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFAAUABQAFAAUABQAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABQAAAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAAAAAAAAAAAAAAAAAAABQAFAAUABQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAcABwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUABQAAAAUABQAFAAAAAAAFAAUABQAFAAUABQAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABQAFAAUABQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABQAFAAUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAAAAAAAAAAABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAAAAAAAAAAAAAAAAAAAAAAFAAAAAAAAAAAAAAAAAAAAAAAAAAAABQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUABQAFAAUABQAAAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABQAFAAUABQAFAAUABQAAAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAAAAAABQAFAAUABQAFAAUABQAAAAUABQAAAAUABQAFAAUABQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFAAUABQAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABQAFAAUABQAFAAUABQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAFAAUABQAFAAUADgAOAA4ADgAOAA4ADwAPAA8ADwAPAA8ADwAPAA8ADwAPAA8ADwAPAA8ADwAPAA8ADwAPAA8ADwAPAA8ADwAPAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAcABwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABwAHAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAAAAAAAAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAKAAoACgAKAAoACgAKAAoACgAKAAoACgAKAAoACgAKAAoACgAKAAoACgAKAAoACgAMAAwADAAMAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkAAAAAAAAAAAAKAAoACgAKAAoACgAKAAoACgAKAAoACgAKAAoACgAKAAoACgAKAAoACgAKAAoACgAKAAoACgAKAAoACgAKAAoACgAAAAAAAAAAAAsADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwACwAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAAAAAADgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA4AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAOAA4ADgAOAA4ADgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADgAOAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA4ADgAAAAAAAAAAAAAAAAAAAAAADgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADgAOAA4ADgAOAA4ADgAOAA4ADgAOAAAAAAAAAAAADgAOAA4AAAAAAAAAAAAAAAAAAAAOAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADgAOAAAAAAAAAAAAAAAAAAAAAAAAAAAADgAAAAAAAAAAAAAAAAAAAAAAAAAOAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADgAOAA4ADgAAAA4ADgAOAA4ADgAOAAAADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4AAAAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAAAAAAAAAAAAAAAAAAAAAAAAAAAADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4AAAAAAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAAAA4AAAAOAAAAAAAAAAAAAAAAAA4AAAAAAAAAAAAAAAAADgAAAAAAAAAAAAAAAAAAAAAAAAAAAA4ADgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADgAAAAAADgAAAAAAAAAAAA4AAAAOAAAAAAAAAAAADgAOAA4AAAAOAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAOAA4ADgAOAA4AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAOAA4ADgAAAAAAAAAAAAAAAAAAAAAAAAAOAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAOAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAOAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAOAA4AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA4ADgAOAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADgAOAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADgAAAAAAAAAAAA4AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAOAAAADgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAOAA4ADgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA4ADgAOAA4ADgAOAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA4ADgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADgAAAAAADgAOAA4ADgAOAA4ADgAOAA4ADgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAAAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAAAAAAAAAAAAAAAAAAAAAAAAAAAADgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA4AAAAAAA4ADgAOAA4ADgAOAA4ADgAOAAAADgAOAA4ADgAAAAAAAAAAAAAAAAAAAAAAAAAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4AAAAAAAAAAAAAAAAADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAOAA4ADgAOAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADgAOAA4ADgAOAA4ADgAOAAAAAAAAAAAAAAAAAAAAAAAAAAAADgAOAA4ADgAOAA4AAAAAAAAAAAAAAAAAAAAAAA4ADgAOAA4ADgAOAA4ADgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4AAAAOAA4ADgAOAA4ADgAAAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4AAAAAAAAAAAA="),e=Array.isArray(A)?function(A){for(var e=A.length,t=[],r=0;r<e;r+=4)t.push(A[r+3]<<24|A[r+2]<<16|A[r+1]<<8|A[r]);return t}(A):new Uint32Array(A),t=Array.isArray(A)?function(A){for(var e=A.length,t=[],r=0;r<e;r+=2)t.push(A[r+1]<<8|A[r]);return t}(A):new Uint16Array(A),r=vn(t,12,e[4]/2),n=2===e[5]?vn(t,(24+e[4])/2):function(A,e,t){return A.slice?A.slice(e,t):new Uint32Array(Array.prototype.slice.call(A,e,t))}(e,Math.ceil((24+e[4])/4));return new Hn(e[0],e[1],e[2],e[3],r,n)}(),Rn="×",Nn=function(A){return On.get(A)},Gn=function(A,e,t){var r=t-2,n=e[r],o=e[t-1],s=e[t];if(2===o&&3===s)return Rn;if(2===o||3===o||4===o)return"÷";if(2===s||3===s||4===s)return"÷";if(o===Kn&&-1!==[Kn,Mn,Sn,Dn].indexOf(s))return Rn;if(!(o!==Sn&&o!==Mn||s!==Mn&&10!==s))return Rn;if((o===Dn||10===o)&&10===s)return Rn;if(13===s||5===s)return Rn;if(7===s)return Rn;if(1===o)return Rn;if(13===o&&14===s){for(;5===n;)n=e[--r];if(14===n)return Rn}if(15===o&&15===s){for(var i=0;15===n;)i++,n=e[--r];if(i%2==0)return Rn}return"÷"},Pn=function(A){var e=function(A){for(var e=[],t=0,r=A.length;t<r;){var n=A.charCodeAt(t++);if(n>=55296&&n<=56319&&t<r){var o=A.charCodeAt(t++);56320==(64512&o)?e.push(((1023&n)<<10)+(1023&o)+65536):(e.push(n),t--)}else e.push(n)}return e}(A),t=e.length,r=0,n=0,o=e.map(Nn);return{next:function(){if(r>=t)return{done:!0,value:null};for(var A=Rn;r<t&&(A=Gn(0,o,++r))===Rn;);if(A!==Rn||r===t){var s=Tn.apply(null,e.slice(n,r));return n=r,{value:s,done:!1}}return{done:!0,value:null}}}},Vn=function(A){return 0===A[0]&&255===A[1]&&0===A[2]&&255===A[3]},_n=function(A,e,t,r,n){var o="http://www.w3.org/2000/svg",s=document.createElementNS(o,"svg"),i=document.createElementNS(o,"foreignObject");return s.setAttributeNS(null,"width",A.toString()),s.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"),s.appendChild(i),i.appendChild(n),s},qn=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))}))},Jn={get SUPPORT_RANGE_BOUNDS(){var A=function(A){if(A.createRange){var e=A.createRange();if(e.getBoundingClientRect){var t=A.createElement("boundtest");t.style.height="123px",t.style.display="block",A.body.appendChild(t),e.selectNode(t);var r=e.getBoundingClientRect(),n=Math.round(r.height);if(A.body.removeChild(t),123===n)return!0}}return!1}(document);return Object.defineProperty(Jn,"SUPPORT_RANGE_BOUNDS",{value:A}),A},get SUPPORT_WORD_BREAKING(){var A=Jn.SUPPORT_RANGE_BOUNDS&&function(A){var e=A.createElement("boundtest");e.style.width="50px",e.style.display="block",e.style.fontSize="12px",e.style.letterSpacing="0px",e.style.wordSpacing="0px",A.body.appendChild(e);var t=A.createRange();e.innerHTML="function"==typeof"".repeat?"&#128104;".repeat(10):"";var r=e.firstChild,n=AA(r.data).map((function(A){return eA(A)})),o=0,s={},i=n.every((function(A,e){t.setStart(r,o),t.setEnd(r,o+A.length);var n=t.getBoundingClientRect();o+=A.length;var i=n.x>s.x||n.y>s.y;return s=n,0===e||i}));return A.body.removeChild(e),i}(document);return Object.defineProperty(Jn,"SUPPORT_WORD_BREAKING",{value:A}),A},get SUPPORT_SVG_DRAWING(){var A=function(A){var e=new Image,t=A.createElement("canvas"),r=t.getContext("2d");if(!r)return!1;e.src="data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg'></svg>";try{r.drawImage(e,0,0),t.toDataURL()}catch(A){return!1}return!0}(document);return Object.defineProperty(Jn,"SUPPORT_SVG_DRAWING",{value:A}),A},get SUPPORT_FOREIGNOBJECT_DRAWING(){var A="function"==typeof Array.from&&"function"==typeof window.fetch?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,o=e.toDataURL();n.src=o;var s=_n(t,t,0,0,n);return r.fillStyle="red",r.fillRect(0,0,t,t),qn(s).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 s=A.createElement("div");return s.style.backgroundImage="url("+o+")",s.style.height=t+"px",Vn(n)?qn(_n(t,t,0,0,s)):Promise.reject(!1)})).then((function(A){return r.drawImage(A,0,0),Vn(r.getImageData(0,0,t,t).data)})).catch((function(){return!1}))}(document):Promise.resolve(!1);return Object.defineProperty(Jn,"SUPPORT_FOREIGNOBJECT_DRAWING",{value:A}),A},get SUPPORT_CORS_IMAGES(){var A=void 0!==(new Image).crossOrigin;return Object.defineProperty(Jn,"SUPPORT_CORS_IMAGES",{value:A}),A},get SUPPORT_RESPONSE_TYPE(){var A="string"==typeof(new XMLHttpRequest).responseType;return Object.defineProperty(Jn,"SUPPORT_RESPONSE_TYPE",{value:A}),A},get SUPPORT_CORS_XHR(){var A="withCredentials"in new XMLHttpRequest;return Object.defineProperty(Jn,"SUPPORT_CORS_XHR",{value:A}),A},get SUPPORT_NATIVE_TEXT_SEGMENTATION(){var A=!("undefined"==typeof Intl||!Intl.Segmenter);return Object.defineProperty(Jn,"SUPPORT_NATIVE_TEXT_SEGMENTATION",{value:A}),A}},Xn=function(){return function(A,e){this.text=A,this.bounds=e}}(),Yn=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},Wn=function(A){if(Jn.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 function(A){for(var e,t=Pn(A),r=[];!(e=t.next()).done;)e.value&&r.push(e.value.slice());return r}(A)},jn=[32,160,4961,65792,65793,4153,4241],Zn=function(A,e){for(var t,r=function(A,e){var t=AA(A),r=function(A,e){e||(e={lineBreak:"normal",wordBreak:"normal"});var t=function(A,e){void 0===e&&(e="strict");var t=[],r=[],n=[];return A.forEach((function(A,o){var s=qA.get(A);if(s>50?(n.push(!0),s-=50):n.push(!1),-1!==["normal","auto","loose"].indexOf(e)&&-1!==[8208,8211,12316,12448].indexOf(A))return r.push(o),t.push(16);if(4===s||11===s){if(0===o)return r.push(o),t.push(kA);var i=t[o-1];return-1===jA.indexOf(i)?(r.push(r[o-1]),t.push(i)):(r.push(o),t.push(kA))}return r.push(o),31===s?t.push("strict"===e?bA:TA):s===GA||29===s?t.push(kA):43===s?A>=131072&&A<=196605||A>=196608&&A<=262141?t.push(TA):t.push(kA):void t.push(s)})),[r,t,n]}(A,e.lineBreak),r=t[0],n=t[1],o=t[2];"break-all"!==e.wordBreak&&"break-word"!==e.wordBreak||(n=n.map((function(A){return-1!==[HA,kA,GA].indexOf(A)?TA:A})));var s="keep-all"===e.wordBreak?o.map((function(e,t){return e&&A[t]>=19968&&A[t]<=40959})):void 0;return[r,n,s]}(t,e),n=r[0],o=r[1],s=r[2],i=t.length,a=0,c=0;return{next:function(){if(c>=i)return{done:!0,value:null};for(var A=VA;c<i&&(A=ee(t,o,n,++c,s))===VA;);if(A!==VA||c===i){var e=new te(t,A,a,c);return a=c,{value:e,done:!1}}return{done:!0,value:null}}}}(A,{lineBreak:e.lineBreak,wordBreak:"break-word"===e.overflowWrap?"break-word":e.wordBreak}),n=[],o=function(){if(t.value){var A=t.value.slice(),e=AA(A),r="";e.forEach((function(A){-1===jn.indexOf(A)?r+=eA(A):(r.length&&n.push(r),n.push(eA(A)),r="")})),r.length&&n.push(r)}};!(t=r.next()).done;)o();return n},$n=function(){return function(A,e,t){this.text=zn(e.data,t.textTransform),this.textBounds=function(A,e,t,r){var n=function(A,e){return 0!==e.letterSpacing?Wn(A):function(A,e){if(Jn.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 Zn(A,e)}(A,e)}(e,t),o=[],s=0;return n.forEach((function(e){if(t.textDecorationLine.length||e.trim().length>0)if(Jn.SUPPORT_RANGE_BOUNDS){var n=Yn(r,s,e.length).getClientRects();if(n.length>1){var i=Wn(e),a=0;i.forEach((function(e){o.push(new Xn(e,$.fromDOMRectList(A,Yn(r,a+s,e.length).getClientRects()))),a+=e.length}))}else o.push(new Xn(e,$.fromDOMRectList(A,n)))}else{var c=r.splitText(e.length);o.push(new Xn(e,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 o=z(A,r);return r.firstChild&&n.replaceChild(r.firstChild,r),o}}return $.EMPTY}(A,r))),r=c}else Jn.SUPPORT_RANGE_BOUNDS||(r=r.splitText(e.length));s+=e.length})),o}(A,this.text,t,e)}}(),zn=function(A,e){switch(e){case 1:return A.toLowerCase();case 3:return A.replace(Ao,eo);case 2:return A.toUpperCase();default:return A}},Ao=/(^|\s|:|-|\(|\))([a-z])/g,eo=function(A,e,t){return A.length>0?e+t.toUpperCase():A},to=function(A){function e(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 X(e,A),e}(yn),ro=function(A){function e(e,t){var r=A.call(this,e,t)||this;return r.canvas=t,r.intrinsicWidth=t.width,r.intrinsicHeight=t.height,r}return X(e,A),e}(yn),no=function(A){function e(e,t){var r=A.call(this,e,t)||this,n=new XMLSerializer,o=z(e,t);return t.setAttribute("width",o.width+"px"),t.setAttribute("height",o.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 X(e,A),e}(yn),oo=function(A){function e(e,t){var r=A.call(this,e,t)||this;return r.value=t.value,r}return X(e,A),e}(yn),so=function(A){function e(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 X(e,A),e}(yn),io=[{type:15,flags:0,unit:"px",number:3}],ao=[{type:16,flags:0,number:50}],co="checkbox",lo="radio",Bo=707406591,uo=function(A){function e(e,t){var r,n,o,s=A.call(this,e,t)||this;switch(s.type=t.type.toLowerCase(),s.checked=t.checked,s.value=0===(n="password"===(r=t).type?new Array(r.value.length+1).join("•"):r.value).length?r.placeholder||"":n,s.type!==co&&s.type!==lo||(s.styles.backgroundColor=3739148031,s.styles.borderTopColor=s.styles.borderRightColor=s.styles.borderBottomColor=s.styles.borderLeftColor=2779096575,s.styles.borderTopWidth=s.styles.borderRightWidth=s.styles.borderBottomWidth=s.styles.borderLeftWidth=1,s.styles.borderTopStyle=s.styles.borderRightStyle=s.styles.borderBottomStyle=s.styles.borderLeftStyle=1,s.styles.backgroundClip=[0],s.styles.backgroundOrigin=[0],s.bounds=(o=s.bounds).width>o.height?new $(o.left+(o.width-o.height)/2,o.top,o.height,o.height):o.width<o.height?new $(o.left,o.top+(o.height-o.width)/2,o.width,o.width):o),s.type){case co:s.styles.borderTopRightRadius=s.styles.borderTopLeftRadius=s.styles.borderBottomRightRadius=s.styles.borderBottomLeftRadius=io;break;case lo:s.styles.borderTopRightRadius=s.styles.borderTopLeftRadius=s.styles.borderBottomRightRadius=s.styles.borderBottomLeftRadius=ao}return s}return X(e,A),e}(yn),go=function(A){function e(e,t){var r=A.call(this,e,t)||this,n=t.options[t.selectedIndex||0];return r.value=n&&n.text||"",r}return X(e,A),e}(yn),mo=function(A){function e(e,t){var r=A.call(this,e,t)||this;return r.value=t.value,r}return X(e,A),e}(yn),wo=function(A){function e(e,t){var r=A.call(this,e,t)||this;r.src=t.src,r.width=parseInt(t.width,10)||0,r.height=parseInt(t.height,10)||0,r.backgroundColor=r.styles.backgroundColor;try{if(t.contentWindow&&t.contentWindow.document&&t.contentWindow.document.documentElement){r.tree=Qo(e,t.contentWindow.document.documentElement);var n=t.contentWindow.document.documentElement?ft(e,getComputedStyle(t.contentWindow.document.documentElement).backgroundColor):Qt.TRANSPARENT,o=t.contentWindow.document.body?ft(e,getComputedStyle(t.contentWindow.document.body).backgroundColor):Qt.TRANSPARENT;r.backgroundColor=ct(n)?ct(o)?r.styles.backgroundColor:o:n}}catch(A){}return r}return X(e,A),e}(yn),po=["OL","UL","MENU"],ho=function(A,e,t,r){for(var n=e.firstChild,o=void 0;n;n=o)if(o=n.nextSibling,Fo(n)&&n.data.trim().length>0)t.textNodes.push(new $n(A,n,t.styles));else if(yo(n))if(Ro(n)&&n.assignedNodes)n.assignedNodes().forEach((function(e){return ho(A,e,t,r)}));else{var s=fo(A,n);s.styles.isVisible()&&(Co(n,s,r)?s.flags|=4:Uo(s.styles)&&(s.flags|=2),-1!==po.indexOf(n.tagName)&&(s.flags|=8),t.elements.push(s),n.slot,n.shadowRoot?ho(A,n.shadowRoot,s,r):To(n)||xo(n)||Oo(n)||ho(A,n,s,r))}},fo=function(A,e){return Mo(e)?new to(A,e):ko(e)?new ro(A,e):xo(e)?new no(A,e):vo(e)?new oo(A,e):Ho(e)?new so(A,e):Io(e)?new uo(A,e):Oo(e)?new go(A,e):To(e)?new mo(A,e):So(e)?new wo(A,e):new yn(A,e)},Qo=function(A,e){var t=fo(A,e);return t.flags|=4,ho(A,e,t,t),t},Co=function(A,e,t){return e.styles.isPositionedWithZIndex()||e.styles.opacity<1||e.styles.isTransformed()||Lo(A)&&t.styles.isTransparent()},Uo=function(A){return A.isPositioned()||A.isFloating()},Fo=function(A){return A.nodeType===Node.TEXT_NODE},yo=function(A){return A.nodeType===Node.ELEMENT_NODE},bo=function(A){return yo(A)&&void 0!==A.style&&!Eo(A)},Eo=function(A){return"object"==typeof A.className},vo=function(A){return"LI"===A.tagName},Ho=function(A){return"OL"===A.tagName},Io=function(A){return"INPUT"===A.tagName},xo=function(A){return"svg"===A.tagName},Lo=function(A){return"BODY"===A.tagName},ko=function(A){return"CANVAS"===A.tagName},Ko=function(A){return"VIDEO"===A.tagName},Mo=function(A){return"IMG"===A.tagName},So=function(A){return"IFRAME"===A.tagName},Do=function(A){return"STYLE"===A.tagName},To=function(A){return"TEXTAREA"===A.tagName},Oo=function(A){return"SELECT"===A.tagName},Ro=function(A){return"SLOT"===A.tagName},No=function(A){return A.tagName.indexOf("-")>0},Go=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){return this.counters[A]||[]},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 o=[];return n&&r.forEach((function(A){var t=e.counters[A.counter];o.push(A.counter),t||(t=e.counters[A.counter]=[]),t.push(A.reset)})),o},A}(),Po={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"]},Vo={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:["Ք","Փ","Ւ","Ց","Ր","Տ","Վ","Ս","Ռ","Ջ","Պ","Չ","Ո","Շ","Ն","Յ","Մ","Ճ","Ղ","Ձ","Հ","Կ","Ծ","Խ","Լ","Ի","Ժ","Թ","Ը","Է","Զ","Ե","Դ","Գ","Բ","Ա"]},_o={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:["י׳","ט׳","ח׳","ז׳","ו׳","ה׳","ד׳","ג׳","ב׳","א׳","ת","ש","ר","ק","צ","פ","ע","ס","נ","מ","ל","כ","יט","יח","יז","טז","טו","י","ט","ח","ז","ו","ה","ד","ג","ב","א"]},qo={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:["ჵ","ჰ","ჯ","ჴ","ხ","ჭ","წ","ძ","ც","ჩ","შ","ყ","ღ","ქ","ფ","ჳ","ტ","ს","რ","ჟ","პ","ო","ჲ","ნ","მ","ლ","კ","ი","თ","ჱ","ზ","ვ","ე","დ","გ","ბ","ა"]},Jo=function(A,e,t,r,n,o){return A<e||A>t?es(A,n,o.length>0):r.integers.reduce((function(e,t,n){for(;A>=t;)A-=t,e+=r.values[n];return e}),"")+o},Xo=function(A,e,t,r){var n="";do{t||A--,n=r(A)+n,A/=e}while(A*e>=e);return n},Yo=function(A,e,t,r,n){var o=t-e+1;return(A<0?"-":"")+(Xo(Math.abs(A),o,r,(function(A){return eA(Math.floor(A%o)+e)}))+n)},Wo=function(A,e,t){void 0===t&&(t=". ");var r=e.length;return Xo(Math.abs(A),r,!1,(function(A){return e[Math.floor(A%r)]}))+t},jo=function(A,e,t,r,n,o){if(A<-9999||A>9999)return es(A,4,n.length>0);var s=Math.abs(A),i=n;if(0===s)return e[0]+i;for(var a=0;s>0&&a<=4;a++){var c=s%10;0===c&&an(o,1)&&""!==i?i=e[c]+i:c>1||1===c&&0===a||1===c&&1===a&&an(o,2)||1===c&&1===a&&an(o,4)&&A>100||1===c&&a>1&&an(o,8)?i=e[c]+(a>0?t[a-1]:"")+i:1===c&&a>0&&(i=t[a-1]+i),s=Math.floor(s/10)}return(A<0?r:"")+i},Zo="十百千萬",$o="拾佰仟萬",zo="マイナス",As="마이너스",es=function(A,e,t){var r=t?". ":"",n=t?"、":"",o=t?", ":"",s=t?" ":"";switch(e){case 0:return"•"+s;case 1:return"◦"+s;case 2:return"◾"+s;case 5:var i=Yo(A,48,57,!0,r);return i.length<4?"0"+i:i;case 4:return Wo(A,"〇一二三四五六七八九",n);case 6:return Jo(A,1,3999,Po,3,r).toLowerCase();case 7:return Jo(A,1,3999,Po,3,r);case 8:return Yo(A,945,969,!1,r);case 9:return Yo(A,97,122,!1,r);case 10:return Yo(A,65,90,!1,r);case 11:return Yo(A,1632,1641,!0,r);case 12:case 49:return Jo(A,1,9999,Vo,3,r);case 35:return Jo(A,1,9999,Vo,3,r).toLowerCase();case 13:return Yo(A,2534,2543,!0,r);case 14:case 30:return Yo(A,6112,6121,!0,r);case 15:return Wo(A,"子丑寅卯辰巳午未申酉戌亥",n);case 16:return Wo(A,"甲乙丙丁戊己庚辛壬癸",n);case 17:case 48:return jo(A,"零一二三四五六七八九",Zo,"負",n,14);case 47:return jo(A,"零壹貳參肆伍陸柒捌玖",$o,"負",n,15);case 42:return jo(A,"零一二三四五六七八九",Zo,"负",n,14);case 41:return jo(A,"零壹贰叁肆伍陆柒捌玖",$o,"负",n,15);case 26:return jo(A,"〇一二三四五六七八九","十百千万",zo,n,0);case 25:return jo(A,"零壱弐参四伍六七八九","拾百千万",zo,n,7);case 31:return jo(A,"영일이삼사오육칠팔구","십백천만",As,o,7);case 33:return jo(A,"零一二三四五六七八九","十百千萬",As,o,0);case 32:return jo(A,"零壹貳參四五六七八九","拾百千",As,o,7);case 18:return Yo(A,2406,2415,!0,r);case 20:return Jo(A,1,19999,qo,3,r);case 21:return Yo(A,2790,2799,!0,r);case 22:return Yo(A,2662,2671,!0,r);case 22:return Jo(A,1,10999,_o,3,r);case 23:return Wo(A,"あいうえおかきくけこさしすせそたちつてとなにぬねのはひふへほまみむめもやゆよらりるれろわゐゑをん");case 24:return Wo(A,"いろはにほへとちりぬるをわかよたれそつねならむうゐのおくやまけふこえてあさきゆめみしゑひもせす");case 27:return Yo(A,3302,3311,!0,r);case 28:return Wo(A,"アイウエオカキクケコサシスセソタチツテトナニヌネノハヒフヘホマミムメモヤユヨラリルレロワヰヱヲン",n);case 29:return Wo(A,"イロハニホヘトチリヌルヲワカヨタレソツネナラムウヰノオクヤマケフコエテアサキユメミシヱヒモセス",n);case 34:return Yo(A,3792,3801,!0,r);case 37:return Yo(A,6160,6169,!0,r);case 38:return Yo(A,4160,4169,!0,r);case 39:return Yo(A,2918,2927,!0,r);case 40:return Yo(A,1776,1785,!0,r);case 43:return Yo(A,3046,3055,!0,r);case 44:return Yo(A,3174,3183,!0,r);case 45:return Yo(A,3664,3673,!0,r);case 46:return Yo(A,3872,3881,!0,r);default:return Yo(A,48,57,!0,r)}},ts="data-html2canvas-ignore",rs=function(){function A(A,e,t){if(this.context=A,this.options=t,this.scrolledElements=[],this.referenceElement=e,this.counters=new Go,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,r=ss(A,e);if(!r.contentWindow)return Promise.reject("Unable to find iframe window");var n=A.defaultView.pageXOffset,o=A.defaultView.pageYOffset,s=r.contentWindow,i=s.document,a=cs(r).then((function(){return W(t,0,void 0,(function(){var A,t;return j(this,(function(n){switch(n.label){case 0:return this.scrolledElements.forEach(gs),s&&(s.scrollTo(e.left,e.top),!/(iPad|iPhone|iPod)/g.test(navigator.userAgent)||s.scrollY===e.top&&s.scrollX===e.left||(this.context.logger.warn("Unable to restore scroll position for cloned document"),this.context.windowBounds=this.context.windowBounds.add(s.scrollX-e.left,s.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")]:i.fonts&&i.fonts.ready?[4,i.fonts.ready]:[3,2];case 1:n.sent(),n.label=2;case 2:return/(AppleWebKit)/g.test(navigator.userAgent)?[4,as(i)]:[3,4];case 3:n.sent(),n.label=4;case 4:return"function"==typeof A?[2,Promise.resolve().then((function(){return A(i,t)})).then((function(){return r}))]:[2,r]}}))}))}));return i.open(),i.write(ds(document.doctype)+"<html></html>"),us(this.referenceElement.ownerDocument,n,o),i.replaceChild(i.adoptNode(this.documentElement),i.documentElement),i.close(),a},A.prototype.createElementClone=function(A){if(Fn(A,2),ko(A))return this.createCanvasClone(A);if(Ko(A))return this.createVideoClone(A);if(Do(A))return this.createStyleClone(A);var e=A.cloneNode(!1);return Mo(e)&&(Mo(A)&&A.currentSrc&&A.currentSrc!==A.src&&(e.src=A.currentSrc,e.srcset=""),"lazy"===e.loading&&(e.loading="eager")),No(e)?this.createCustomElementClone(e):e},A.prototype.createCustomElementClone=function(A){var e=document.createElement("html2canvascustomelement");return Bs(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"),o=r.getContext("2d");if(o)if(!this.options.allowTaint&&n)o.putImageData(n.getImageData(0,0,A.width,A.height),0,0);else{var s=null!==(e=A.getContext("webgl2"))&&void 0!==e?e:A.getContext("webgl");if(s){var i=s.getContextAttributes();!1===(null==i?void 0:i.preserveDrawingBuffer)&&this.context.logger.warn("Unable to clone WebGL context as it has preserveDrawingBuffer=false",A)}o.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){yo(e)&&("SCRIPT"===e.tagName||e.hasAttribute(ts)||"function"==typeof this.options.ignoreElements&&this.options.ignoreElements(e))||this.options.copyStyles&&yo(e)&&Do(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(yo(n)&&Ro(n)&&"function"==typeof n.assignedNodes){var o=n.assignedNodes();o.length&&o.forEach((function(A){return r.appendChildNode(e,A,t)}))}else this.appendChildNode(e,n,t)},A.prototype.cloneNode=function(A,e){if(Fo(A))return document.createTextNode(A.data);if(!A.ownerDocument)return A.cloneNode(!1);var t=A.ownerDocument.defaultView;if(t&&yo(A)&&(bo(A)||Eo(A))){var r=this.createElementClone(A);r.style.transitionProperty="none";var n=t.getComputedStyle(A),o=t.getComputedStyle(A,":before"),s=t.getComputedStyle(A,":after");this.referenceElement===A&&bo(r)&&(this.clonedReferenceElement=r),Lo(r)&&hs(r);var i=this.counters.parse(new Cn(this.context,n)),a=this.resolvePseudoContent(A,r,o,Ln.BEFORE);No(A)&&(e=!0),Ko(A)||this.cloneChildNodes(A,r,e),a&&r.insertBefore(a,r.firstChild);var c=this.resolvePseudoContent(A,r,s,Ln.AFTER);return c&&r.appendChild(c),this.counters.pop(i),(n&&(this.options.copyStyles||Eo(A))&&!So(A)||e)&&Bs(n,r),0===A.scrollTop&&0===A.scrollLeft||this.scrolledElements.push([r,A.scrollLeft,A.scrollTop]),(To(A)||Oo(A))&&(To(r)||Oo(r))&&(r.value=A.value),r}return A.cloneNode(!1)},A.prototype.resolvePseudoContent=function(A,e,t,r){var n=this;if(t){var o=t.content,s=e.ownerDocument;if(s&&o&&"none"!==o&&"-moz-alt-content"!==o&&"none"!==t.display){this.counters.parse(new Cn(this.context,t));var i=new Qn(this.context,t),a=s.createElement("html2canvaspseudoelement");Bs(t,a),i.content.forEach((function(e){if(0===e.type)a.appendChild(s.createTextNode(e.value));else if(22===e.type){var t=s.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(Ge);r.length&&a.appendChild(s.createTextNode(A.getAttribute(r[0].value)||""))}else if("counter"===e.name){var o=e.values.filter(qe),c=o[0],l=o[1];if(c&&Ge(c)){var B=n.counters.getCounterValue(c.value),d=l&&Ge(l)?vr.parse(n.context,l.value):3;a.appendChild(s.createTextNode(es(B,d,!1)))}}else if("counters"===e.name){var u=e.values.filter(qe),g=(c=u[0],u[1]);if(l=u[2],c&&Ge(c)){var m=n.counters.getCounterValues(c.value),w=l&&Ge(l)?vr.parse(n.context,l.value):3,p=g&&0===g.type?g.value:"",h=m.map((function(A){return es(A,w,!1)})).join(p);a.appendChild(s.createTextNode(h))}}}else if(20===e.type)switch(e.value){case"open-quote":a.appendChild(s.createTextNode(gn(i.quotes,n.quoteDepth++,!0)));break;case"close-quote":a.appendChild(s.createTextNode(gn(i.quotes,--n.quoteDepth,!1)));break;default:a.appendChild(s.createTextNode(e.value))}})),a.className=ms+" "+ws;var c=r===Ln.BEFORE?" "+ms:" "+ws;return Eo(e)?e.className.baseValue+=c:e.className+=c,a}}},A.destroy=function(A){return!!A.parentNode&&(A.parentNode.removeChild(A),!0)},A}();(kn=Ln||(Ln={}))[kn.BEFORE=0]="BEFORE",kn[kn.AFTER=1]="AFTER";var ns,os,ss=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(ts,"true"),A.body.appendChild(t),t},is=function(A){return new Promise((function(e){A.complete?e():A.src?(A.onload=e,A.onerror=e):e()}))},as=function(A){return Promise.all([].slice.call(A.images,0).map(is))},cs=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)}}))},ls=["all","d","content"],Bs=function(A,e){for(var t=A.length-1;t>=0;t--){var r=A.item(t);-1===ls.indexOf(r)&&e.style.setProperty(r,A.getPropertyValue(r))}return e},ds=function(A){var e="";return A&&(e+="<!DOCTYPE ",A.name&&(e+=A.name),A.internalSubset&&(e+=A.internalSubset),A.publicId&&(e+='"'+A.publicId+'"'),A.systemId&&(e+='"'+A.systemId+'"'),e+=">"),e},us=function(A,e,t){A&&A.defaultView&&(e!==A.defaultView.pageXOffset||t!==A.defaultView.pageYOffset)&&A.defaultView.scrollTo(e,t)},gs=function(A){var e=A[0],t=A[1],r=A[2];e.scrollLeft=t,e.scrollTop=r},ms="___html2canvas___pseudoelement_before",ws="___html2canvas___pseudoelement_after",ps='{\n content: "" !important;\n display: none !important;\n}',hs=function(A){fs(A,"."+ms+":before"+ps+"\n ."+ws+":after"+ps)},fs=function(A,e){var t=A.ownerDocument;if(t){var r=t.createElement("style");r.textContent=e,A.appendChild(r)}},Qs=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}(),Cs=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:Hs(A)||bs(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 W(this,0,void 0,(function(){var e,t,r,n,o=this;return j(this,(function(s){switch(s.label){case 0:return e=Qs.isSameOrigin(A),t=!Es(A)&&!0===this._options.useCORS&&Jn.SUPPORT_CORS_IMAGES&&!e,r=!Es(A)&&!e&&!Hs(A)&&"string"==typeof this._options.proxy&&Jn.SUPPORT_CORS_XHR&&!t,e||!1!==this._options.allowTaint||Es(A)||Hs(A)||r||t?(n=A,r?[4,this.proxy(n)]:[3,2]):[2];case 1:n=s.sent(),s.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,(vs(n)||t)&&(r.crossOrigin="anonymous"),r.src=n,!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,s.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,o){var s=Jn.SUPPORT_RESPONSE_TYPE?"blob":"text",i=new XMLHttpRequest;i.onload=function(){if(200===i.status)if("text"===s)n(i.response);else{var A=new FileReader;A.addEventListener("load",(function(){return n(A.result)}),!1),A.addEventListener("error",(function(A){return o(A)}),!1),A.readAsDataURL(i.response)}else o("Failed to proxy resource "+r+" with status code "+i.status)},i.onerror=o;var a=t.indexOf("?")>-1?"&":"?";if(i.open("GET",""+t+a+"url="+encodeURIComponent(A)+"&responseType="+s),"text"!==s&&i instanceof XMLHttpRequest&&(i.responseType=s),e._options.imageTimeout){var c=e._options.imageTimeout;i.timeout=c,i.ontimeout=function(){return o("Timed out ("+c+"ms) proxying "+r)}}i.send()}))},A}(),Us=/^data:image\/svg\+xml/i,Fs=/^data:image\/.*;base64,/i,ys=/^data:image\/.*/i,bs=function(A){return Jn.SUPPORT_SVG_DRAWING||!Is(A)},Es=function(A){return ys.test(A)},vs=function(A){return Fs.test(A)},Hs=function(A){return"blob"===A.substr(0,4)},Is=function(A){return"svg"===A.substr(-3).toLowerCase()||Us.test(A)},xs=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}(),Ls=function(A,e,t){return new xs(A.x+(e.x-A.x)*t,A.y+(e.y-A.y)*t)},ks=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=Ls(this.start,this.startControl,e),n=Ls(this.startControl,this.endControl,e),o=Ls(this.endControl,this.end,e),s=Ls(r,n,e),i=Ls(n,o,e),a=Ls(s,i,e);return t?new A(this.start,r,s,a):new A(a,i,o,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}(),Ks=function(A){return 1===A.type},Ms=function(){return function(A){var e=A.styles,t=A.bounds,r=At(e.borderTopLeftRadius,t.width,t.height),n=r[0],o=r[1],s=At(e.borderTopRightRadius,t.width,t.height),i=s[0],a=s[1],c=At(e.borderBottomRightRadius,t.width,t.height),l=c[0],B=c[1],d=At(e.borderBottomLeftRadius,t.width,t.height),u=d[0],g=d[1],m=[];m.push((n+i)/t.width),m.push((u+l)/t.width),m.push((o+g)/t.height),m.push((a+B)/t.height);var w=Math.max.apply(Math,m);w>1&&(n/=w,o/=w,i/=w,a/=w,l/=w,B/=w,u/=w,g/=w);var p=t.width-i,h=t.height-B,f=t.width-l,Q=t.height-g,C=e.borderTopWidth,U=e.borderRightWidth,F=e.borderBottomWidth,y=e.borderLeftWidth,b=et(e.paddingTop,A.bounds.width),E=et(e.paddingRight,A.bounds.width),v=et(e.paddingBottom,A.bounds.width),H=et(e.paddingLeft,A.bounds.width);this.topLeftBorderDoubleOuterBox=n>0||o>0?Ss(t.left+y/3,t.top+C/3,n-y/3,o-C/3,ns.TOP_LEFT):new xs(t.left+y/3,t.top+C/3),this.topRightBorderDoubleOuterBox=n>0||o>0?Ss(t.left+p,t.top+C/3,i-U/3,a-C/3,ns.TOP_RIGHT):new xs(t.left+t.width-U/3,t.top+C/3),this.bottomRightBorderDoubleOuterBox=l>0||B>0?Ss(t.left+f,t.top+h,l-U/3,B-F/3,ns.BOTTOM_RIGHT):new xs(t.left+t.width-U/3,t.top+t.height-F/3),this.bottomLeftBorderDoubleOuterBox=u>0||g>0?Ss(t.left+y/3,t.top+Q,u-y/3,g-F/3,ns.BOTTOM_LEFT):new xs(t.left+y/3,t.top+t.height-F/3),this.topLeftBorderDoubleInnerBox=n>0||o>0?Ss(t.left+2*y/3,t.top+2*C/3,n-2*y/3,o-2*C/3,ns.TOP_LEFT):new xs(t.left+2*y/3,t.top+2*C/3),this.topRightBorderDoubleInnerBox=n>0||o>0?Ss(t.left+p,t.top+2*C/3,i-2*U/3,a-2*C/3,ns.TOP_RIGHT):new xs(t.left+t.width-2*U/3,t.top+2*C/3),this.bottomRightBorderDoubleInnerBox=l>0||B>0?Ss(t.left+f,t.top+h,l-2*U/3,B-2*F/3,ns.BOTTOM_RIGHT):new xs(t.left+t.width-2*U/3,t.top+t.height-2*F/3),this.bottomLeftBorderDoubleInnerBox=u>0||g>0?Ss(t.left+2*y/3,t.top+Q,u-2*y/3,g-2*F/3,ns.BOTTOM_LEFT):new xs(t.left+2*y/3,t.top+t.height-2*F/3),this.topLeftBorderStroke=n>0||o>0?Ss(t.left+y/2,t.top+C/2,n-y/2,o-C/2,ns.TOP_LEFT):new xs(t.left+y/2,t.top+C/2),this.topRightBorderStroke=n>0||o>0?Ss(t.left+p,t.top+C/2,i-U/2,a-C/2,ns.TOP_RIGHT):new xs(t.left+t.width-U/2,t.top+C/2),this.bottomRightBorderStroke=l>0||B>0?Ss(t.left+f,t.top+h,l-U/2,B-F/2,ns.BOTTOM_RIGHT):new xs(t.left+t.width-U/2,t.top+t.height-F/2),this.bottomLeftBorderStroke=u>0||g>0?Ss(t.left+y/2,t.top+Q,u-y/2,g-F/2,ns.BOTTOM_LEFT):new xs(t.left+y/2,t.top+t.height-F/2),this.topLeftBorderBox=n>0||o>0?Ss(t.left,t.top,n,o,ns.TOP_LEFT):new xs(t.left,t.top),this.topRightBorderBox=i>0||a>0?Ss(t.left+p,t.top,i,a,ns.TOP_RIGHT):new xs(t.left+t.width,t.top),this.bottomRightBorderBox=l>0||B>0?Ss(t.left+f,t.top+h,l,B,ns.BOTTOM_RIGHT):new xs(t.left+t.width,t.top+t.height),this.bottomLeftBorderBox=u>0||g>0?Ss(t.left,t.top+Q,u,g,ns.BOTTOM_LEFT):new xs(t.left,t.top+t.height),this.topLeftPaddingBox=n>0||o>0?Ss(t.left+y,t.top+C,Math.max(0,n-y),Math.max(0,o-C),ns.TOP_LEFT):new xs(t.left+y,t.top+C),this.topRightPaddingBox=i>0||a>0?Ss(t.left+Math.min(p,t.width-U),t.top+C,p>t.width+U?0:Math.max(0,i-U),Math.max(0,a-C),ns.TOP_RIGHT):new xs(t.left+t.width-U,t.top+C),this.bottomRightPaddingBox=l>0||B>0?Ss(t.left+Math.min(f,t.width-y),t.top+Math.min(h,t.height-F),Math.max(0,l-U),Math.max(0,B-F),ns.BOTTOM_RIGHT):new xs(t.left+t.width-U,t.top+t.height-F),this.bottomLeftPaddingBox=u>0||g>0?Ss(t.left+y,t.top+Math.min(Q,t.height-F),Math.max(0,u-y),Math.max(0,g-F),ns.BOTTOM_LEFT):new xs(t.left+y,t.top+t.height-F),this.topLeftContentBox=n>0||o>0?Ss(t.left+y+H,t.top+C+b,Math.max(0,n-(y+H)),Math.max(0,o-(C+b)),ns.TOP_LEFT):new xs(t.left+y+H,t.top+C+b),this.topRightContentBox=i>0||a>0?Ss(t.left+Math.min(p,t.width+y+H),t.top+C+b,p>t.width+y+H?0:i-y+H,a-(C+b),ns.TOP_RIGHT):new xs(t.left+t.width-(U+E),t.top+C+b),this.bottomRightContentBox=l>0||B>0?Ss(t.left+Math.min(f,t.width-(y+H)),t.top+Math.min(h,t.height+C+b),Math.max(0,l-(U+E)),B-(F+v),ns.BOTTOM_RIGHT):new xs(t.left+t.width-(U+E),t.top+t.height-(F+v)),this.bottomLeftContentBox=u>0||g>0?Ss(t.left+y+H,t.top+Q,Math.max(0,u-(y+H)),g-(F+v),ns.BOTTOM_LEFT):new xs(t.left+y+H,t.top+t.height-(F+v))}}();(os=ns||(ns={}))[os.TOP_LEFT=0]="TOP_LEFT",os[os.TOP_RIGHT=1]="TOP_RIGHT",os[os.BOTTOM_RIGHT=2]="BOTTOM_RIGHT",os[os.BOTTOM_LEFT=3]="BOTTOM_LEFT";var Ss=function(A,e,t,r,n){var o=(Math.sqrt(2)-1)/3*4,s=t*o,i=r*o,a=A+t,c=e+r;switch(n){case ns.TOP_LEFT:return new ks(new xs(A,c),new xs(A,c-i),new xs(a-s,e),new xs(a,e));case ns.TOP_RIGHT:return new ks(new xs(A,e),new xs(A+s,e),new xs(a,c-i),new xs(a,c));case ns.BOTTOM_RIGHT:return new ks(new xs(a,e),new xs(a,e+i),new xs(A+s,c),new xs(A,c));case ns.BOTTOM_LEFT:default:return new ks(new xs(a,c),new xs(a-s,c),new xs(A,e+i),new xs(A,e))}},Ds=function(A){return[A.topLeftBorderBox,A.topRightBorderBox,A.bottomRightBorderBox,A.bottomLeftBorderBox]},Ts=function(A){return[A.topLeftPaddingBox,A.topRightPaddingBox,A.bottomRightPaddingBox,A.bottomLeftPaddingBox]},Os=function(){return function(A,e,t){this.offsetX=A,this.offsetY=e,this.matrix=t,this.type=0,this.target=6}}(),Rs=function(){return function(A,e){this.path=A,this.target=e,this.type=1}}(),Ns=function(){return function(A){this.opacity=A,this.type=2,this.target=6}}(),Gs=function(A){return 1===A.type},Ps=function(A,e){return A.length===e.length&&A.some((function(A,t){return A===e[t]}))},Vs=function(){return function(A){this.element=A,this.inlineLevel=[],this.nonInlineLevel=[],this.negativeZIndex=[],this.zeroOrAutoZIndexOrTransformedOrOpacity=[],this.positiveZIndex=[],this.nonPositionedFloats=[],this.nonPositionedInlineLevel=[]}}(),_s=function(){function A(A,e){if(this.container=A,this.parent=e,this.effects=[],this.curves=new Ms(this.container),this.container.styles.opacity<1&&this.effects.push(new Ns(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 Os(t,r,n))}if(0!==this.container.styles.overflowX){var o=Ds(this.curves),s=Ts(this.curves);Ps(o,s)?this.effects.push(new Rs(o,6)):(this.effects.push(new Rs(o,2)),this.effects.push(new Rs(s,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!Gs(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 o=Ds(t.curves),s=Ts(t.curves);Ps(o,s)||r.unshift(new Rs(s,6))}}else r.unshift.apply(r,n);t=t.parent}return r.filter((function(e){return an(e.target,A)}))},A}(),qs=function(A,e,t,r){A.container.elements.forEach((function(n){var o=an(n.flags,4),s=an(n.flags,2),i=new _s(n,A);an(n.styles.display,2048)&&r.push(i);var a=an(n.flags,8)?[]:r;if(o||s){var c=o||n.styles.isPositioned()?t:e,l=new Vs(i);if(n.styles.isPositioned()||n.styles.opacity<1||n.styles.isTransformed()){var B=n.styles.zIndex.order;if(B<0){var d=0;c.negativeZIndex.some((function(A,e){return B>A.element.container.styles.zIndex.order?(d=e,!1):d>0})),c.negativeZIndex.splice(d,0,l)}else if(B>0){var u=0;c.positiveZIndex.some((function(A,e){return B>=A.element.container.styles.zIndex.order?(u=e+1,!1):u>0})),c.positiveZIndex.splice(u,0,l)}else c.zeroOrAutoZIndexOrTransformedOrOpacity.push(l)}else n.styles.isFloating()?c.nonPositionedFloats.push(l):c.nonPositionedInlineLevel.push(l);qs(i,l,o?l:t,a)}else n.styles.isInlineLevel()?e.inlineLevel.push(i):e.nonInlineLevel.push(i),qs(i,e,t,a);an(n.flags,8)&&Js(n,a)}))},Js=function(A,e){for(var t=A instanceof so?A.start:1,r=A instanceof so&&A.reversed,n=0;n<e.length;n++){var o=e[n];o.container instanceof oo&&"number"==typeof o.container.value&&0!==o.container.value&&(t=o.container.value),o.listValue=es(t,o.container.styles.listStyleType,!0),t+=r?-1:1}},Xs=function(A,e){switch(e){case 0:return Ws(A.topLeftBorderBox,A.topLeftPaddingBox,A.topRightBorderBox,A.topRightPaddingBox);case 1:return Ws(A.topRightBorderBox,A.topRightPaddingBox,A.bottomRightBorderBox,A.bottomRightPaddingBox);case 2:return Ws(A.bottomRightBorderBox,A.bottomRightPaddingBox,A.bottomLeftBorderBox,A.bottomLeftPaddingBox);default:return Ws(A.bottomLeftBorderBox,A.bottomLeftPaddingBox,A.topLeftBorderBox,A.topLeftPaddingBox)}},Ys=function(A,e){var t=[];return Ks(A)?t.push(A.subdivide(.5,!1)):t.push(A),Ks(e)?t.push(e.subdivide(.5,!0)):t.push(e),t},Ws=function(A,e,t,r){var n=[];return Ks(A)?n.push(A.subdivide(.5,!1)):n.push(A),Ks(t)?n.push(t.subdivide(.5,!0)):n.push(t),Ks(r)?n.push(r.subdivide(.5,!0).reverse()):n.push(r),Ks(e)?n.push(e.subdivide(.5,!1).reverse()):n.push(e),n},js=function(A){var e=A.bounds,t=A.styles;return e.add(t.borderLeftWidth,t.borderTopWidth,-(t.borderRightWidth+t.borderLeftWidth),-(t.borderTopWidth+t.borderBottomWidth))},Zs=function(A){var e=A.styles,t=A.bounds,r=et(e.paddingLeft,t.width),n=et(e.paddingRight,t.width),o=et(e.paddingTop,t.width),s=et(e.paddingBottom,t.width);return t.add(r+e.borderLeftWidth,o+e.borderTopWidth,-(e.borderRightWidth+e.borderLeftWidth+r+n),-(e.borderTopWidth+e.borderBottomWidth+o+s))},$s=function(A,e,t){var r,n,o=(n=A,0===(r=ti(A.styles.backgroundOrigin,e))?n.bounds:2===r?Zs(n):js(n)),s=function(A,e){return 0===A?e.bounds:2===A?Zs(e):js(e)}(ti(A.styles.backgroundClip,e),A),i=ei(ti(A.styles.backgroundSize,e),t,o),a=i[0],c=i[1],l=At(ti(A.styles.backgroundPosition,e),o.width-a,o.height-c);return[ri(ti(A.styles.backgroundRepeat,e),l,i,o,s),Math.round(o.left+l[0]),Math.round(o.top+l[1]),a,c]},zs=function(A){return Ge(A)&&A.value===mt.AUTO},Ai=function(A){return"number"==typeof A},ei=function(A,e,t){var r=e[0],n=e[1],o=e[2],s=A[0],i=A[1];if(!s)return[0,0];if(We(s)&&i&&We(i))return[et(s,t.width),et(i,t.height)];var a=Ai(o);if(Ge(s)&&(s.value===mt.CONTAIN||s.value===mt.COVER))return Ai(o)?t.width/t.height<o!=(s.value===mt.COVER)?[t.width,t.width/o]:[t.height*o,t.height]:[t.width,t.height];var c=Ai(r),l=Ai(n),B=c||l;if(zs(s)&&(!i||zs(i)))return c&&l?[r,n]:a||B?B&&a?[c?r:n*o,l?n:r/o]:[c?r:t.width,l?n:t.height]:[t.width,t.height];if(a){var d=0,u=0;return We(s)?d=et(s,t.width):We(i)&&(u=et(i,t.height)),zs(s)?d=u*o:i&&!zs(i)||(u=d/o),[d,u]}var g=null,m=null;if(We(s)?g=et(s,t.width):i&&We(i)&&(m=et(i,t.height)),null===g||i&&!zs(i)||(m=c&&l?g/r*n:t.height),null!==m&&zs(s)&&(g=c&&l?m/n*r:t.width),null!==g&&null!==m)return[g,m];throw new Error("Unable to calculate background-size for element")},ti=function(A,e){var t=A[e];return void 0===t?A[0]:t},ri=function(A,e,t,r,n){var o=e[0],s=e[1],i=t[0],a=t[1];switch(A){case 2:return[new xs(Math.round(r.left),Math.round(r.top+s)),new xs(Math.round(r.left+r.width),Math.round(r.top+s)),new xs(Math.round(r.left+r.width),Math.round(a+r.top+s)),new xs(Math.round(r.left),Math.round(a+r.top+s))];case 3:return[new xs(Math.round(r.left+o),Math.round(r.top)),new xs(Math.round(r.left+o+i),Math.round(r.top)),new xs(Math.round(r.left+o+i),Math.round(r.height+r.top)),new xs(Math.round(r.left+o),Math.round(r.height+r.top))];case 1:return[new xs(Math.round(r.left+o),Math.round(r.top+s)),new xs(Math.round(r.left+o+i),Math.round(r.top+s)),new xs(Math.round(r.left+o+i),Math.round(r.top+s+a)),new xs(Math.round(r.left+o),Math.round(r.top+s+a))];default:return[new xs(Math.round(n.left),Math.round(n.top)),new xs(Math.round(n.left+n.width),Math.round(n.top)),new xs(Math.round(n.left+n.width),Math.round(n.height+n.top)),new xs(Math.round(n.left),Math.round(n.height+n.top))]}},ni="Hidden Text",oi=function(){function A(A){this._data={},this._document=A}return A.prototype.parseMetrics=function(A,e){var t=this._document.createElement("div"),r=this._document.createElement("img"),n=this._document.createElement("span"),o=this._document.body;t.style.visibility="hidden",t.style.fontFamily=A,t.style.fontSize=e,t.style.margin="0",t.style.padding="0",t.style.whiteSpace="nowrap",o.appendChild(t),r.src="data:image/gif;base64,R0lGODlhAQABAIAAAAAAAP///yH5BAEAAAAALAAAAAABAAEAAAIBRAA7",r.width=1,r.height=1,r.style.margin="0",r.style.padding="0",r.style.verticalAlign="baseline",n.style.fontFamily=A,n.style.fontSize=e,n.style.margin="0",n.style.padding="0",n.appendChild(this._document.createTextNode(ni)),t.appendChild(n),t.appendChild(r);var s=r.offsetTop-n.offsetTop+2;t.removeChild(n),t.appendChild(this._document.createTextNode(ni)),t.style.lineHeight="normal",r.style.verticalAlign="super";var i=r.offsetTop-t.offsetTop+2;return o.removeChild(t),{baseline:s,middle:i}},A.prototype.getMetrics=function(A,e){var t=A+" "+e;return void 0===this._data[t]&&(this._data[t]=this.parseMetrics(A,e)),this._data[t]},A}(),si=function(){return function(A,e){this.context=A,this.options=e}}(),ii=function(A){function e(e,t){var r=A.call(this,e,t)||this;return r._activeEffects=[],r.canvas=t.canvas?t.canvas:document.createElement("canvas"),r.ctx=r.canvas.getContext("2d"),t.canvas||(r.canvas.width=Math.floor(t.width*t.scale),r.canvas.height=Math.floor(t.height*t.scale),r.canvas.style.width=t.width+"px",r.canvas.style.height=t.height+"px"),r.fontMetrics=new oi(document),r.ctx.scale(r.options.scale,r.options.scale),r.ctx.translate(-t.x,-t.y),r.ctx.textBaseline="bottom",r._activeEffects=[],r.context.logger.debug("Canvas renderer initialized ("+t.width+"x"+t.height+") with scale "+t.scale),r}return X(e,A),e.prototype.applyEffects=function(A){for(var e=this;this._activeEffects.length;)this.popEffect();A.forEach((function(A){return e.applyEffect(A)}))},e.prototype.applyEffect=function(A){this.ctx.save(),function(A){return 2===A.type}(A)&&(this.ctx.globalAlpha=A.opacity),function(A){return 0===A.type}(A)&&(this.ctx.translate(A.offsetX,A.offsetY),this.ctx.transform(A.matrix[0],A.matrix[1],A.matrix[2],A.matrix[3],A.matrix[4],A.matrix[5]),this.ctx.translate(-A.offsetX,-A.offsetY)),Gs(A)&&(this.path(A.path),this.ctx.clip()),this._activeEffects.push(A)},e.prototype.popEffect=function(){this._activeEffects.pop(),this.ctx.restore()},e.prototype.renderStack=function(A){return W(this,0,void 0,(function(){return j(this,(function(e){switch(e.label){case 0:return A.element.container.styles.isVisible()?[4,this.renderStackContent(A)]:[3,2];case 1:e.sent(),e.label=2;case 2:return[2]}}))}))},e.prototype.renderNode=function(A){return W(this,0,void 0,(function(){return j(this,(function(e){switch(e.label){case 0:return an(A.container.flags,16),A.container.styles.isVisible()?[4,this.renderNodeBackgroundAndBorders(A)]:[3,3];case 1:return e.sent(),[4,this.renderNodeContent(A)];case 2:e.sent(),e.label=3;case 3:return[2]}}))}))},e.prototype.renderTextWithLetterSpacing=function(A,e,t){var r=this;0===e?this.ctx.fillText(A.text,A.bounds.left,A.bounds.top+t):Wn(A.text).reduce((function(e,n){return r.ctx.fillText(n,e,A.bounds.top+t),e+r.ctx.measureText(n).width}),A.bounds.left)},e.prototype.createFontStyle=function(A){var e=A.fontVariant.filter((function(A){return"normal"===A||"small-caps"===A})).join(""),t=di(A.fontFamily).join(", "),r=Re(A.fontSize)?""+A.fontSize.number+A.fontSize.unit:A.fontSize.number+"px";return[[A.fontStyle,e,A.fontWeight,r,t].join(" "),t,r]},e.prototype.renderTextNode=function(A,e){return W(this,0,void 0,(function(){var t,r,n,o,s,i,a,c,l=this;return j(this,(function(B){return t=this.createFontStyle(e),r=t[0],n=t[1],o=t[2],this.ctx.font=r,this.ctx.direction=1===e.direction?"rtl":"ltr",this.ctx.textAlign="left",this.ctx.textBaseline="alphabetic",s=this.fontMetrics.getMetrics(n,o),i=s.baseline,a=s.middle,c=e.paintOrder,A.textBounds.forEach((function(A){c.forEach((function(t){switch(t){case 0:l.ctx.fillStyle=lt(e.color),l.renderTextWithLetterSpacing(A,e.letterSpacing,i);var r=e.textShadow;r.length&&A.text.trim().length&&(r.slice(0).reverse().forEach((function(t){l.ctx.shadowColor=lt(t.color),l.ctx.shadowOffsetX=t.offsetX.number*l.options.scale,l.ctx.shadowOffsetY=t.offsetY.number*l.options.scale,l.ctx.shadowBlur=t.blur.number,l.renderTextWithLetterSpacing(A,e.letterSpacing,i)})),l.ctx.shadowColor="",l.ctx.shadowOffsetX=0,l.ctx.shadowOffsetY=0,l.ctx.shadowBlur=0),e.textDecorationLine.length&&(l.ctx.fillStyle=lt(e.textDecorationColor||e.color),e.textDecorationLine.forEach((function(e){switch(e){case 1:l.ctx.fillRect(A.bounds.left,Math.round(A.bounds.top+i),A.bounds.width,1);break;case 2:l.ctx.fillRect(A.bounds.left,Math.round(A.bounds.top),A.bounds.width,1);break;case 3:l.ctx.fillRect(A.bounds.left,Math.ceil(A.bounds.top+a),A.bounds.width,1)}})));break;case 1:e.webkitTextStrokeWidth&&A.text.trim().length&&(l.ctx.strokeStyle=lt(e.webkitTextStrokeColor),l.ctx.lineWidth=e.webkitTextStrokeWidth,l.ctx.lineJoin=window.chrome?"miter":"round",l.ctx.strokeText(A.text,A.bounds.left,A.bounds.top+i)),l.ctx.strokeStyle="",l.ctx.lineWidth=0,l.ctx.lineJoin="miter"}}))})),[2]}))}))},e.prototype.renderReplacedElement=function(A,e,t){if(t&&A.intrinsicWidth>0&&A.intrinsicHeight>0){var r=Zs(A),n=Ts(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()}},e.prototype.renderNodeContent=function(A){return W(this,0,void 0,(function(){var t,r,n,o,s,i,a,c,l,B,d,u,g,m,w,p,h,f;return j(this,(function(Q){switch(Q.label){case 0:this.applyEffects(A.getEffects(4)),t=A.container,r=A.curves,n=t.styles,o=0,s=t.textNodes,Q.label=1;case 1:return o<s.length?(i=s[o],[4,this.renderTextNode(i,n)]):[3,4];case 2:Q.sent(),Q.label=3;case 3:return o++,[3,1];case 4:if(!(t instanceof to))return[3,8];Q.label=5;case 5:return Q.trys.push([5,7,,8]),[4,this.context.cache.match(t.src)];case 6:return w=Q.sent(),this.renderReplacedElement(t,r,w),[3,8];case 7:return Q.sent(),this.context.logger.error("Error loading image "+t.src),[3,8];case 8:if(t instanceof ro&&this.renderReplacedElement(t,r,t.canvas),!(t instanceof no))return[3,12];Q.label=9;case 9:return Q.trys.push([9,11,,12]),[4,this.context.cache.match(t.svg)];case 10:return w=Q.sent(),this.renderReplacedElement(t,r,w),[3,12];case 11:return Q.sent(),this.context.logger.error("Error loading svg "+t.svg.substring(0,255)),[3,12];case 12:return t instanceof wo&&t.tree?[4,new e(this.context,{scale:this.options.scale,backgroundColor:t.backgroundColor,x:0,y:0,width:t.width,height:t.height}).render(t.tree)]:[3,14];case 13:a=Q.sent(),t.width&&t.height&&this.ctx.drawImage(a,0,0,t.width,t.height,t.bounds.left,t.bounds.top,t.bounds.width,t.bounds.height),Q.label=14;case 14:if(t instanceof uo&&(c=Math.min(t.bounds.width,t.bounds.height),t.type===co?t.checked&&(this.ctx.save(),this.path([new xs(t.bounds.left+.39363*c,t.bounds.top+.79*c),new xs(t.bounds.left+.16*c,t.bounds.top+.5549*c),new xs(t.bounds.left+.27347*c,t.bounds.top+.44071*c),new xs(t.bounds.left+.39694*c,t.bounds.top+.5649*c),new xs(t.bounds.left+.72983*c,t.bounds.top+.23*c),new xs(t.bounds.left+.84*c,t.bounds.top+.34085*c),new xs(t.bounds.left+.39363*c,t.bounds.top+.79*c)]),this.ctx.fillStyle=lt(Bo),this.ctx.fill(),this.ctx.restore()):t.type===lo&&t.checked&&(this.ctx.save(),this.ctx.beginPath(),this.ctx.arc(t.bounds.left+c/2,t.bounds.top+c/2,c/4,0,2*Math.PI,!0),this.ctx.fillStyle=lt(Bo),this.ctx.fill(),this.ctx.restore())),ai(t)&&t.value.length){switch(l=this.createFontStyle(n),h=l[0],B=l[1],d=this.fontMetrics.getMetrics(h,B).baseline,this.ctx.font=h,this.ctx.fillStyle=lt(n.color),this.ctx.textBaseline="alphabetic",this.ctx.textAlign=li(t.styles.textAlign),f=Zs(t),u=0,t.styles.textAlign){case 1:u+=f.width/2;break;case 2:u+=f.width}g=f.add(u,0,0,-f.height/2+1),this.ctx.save(),this.path([new xs(f.left,f.top),new xs(f.left+f.width,f.top),new xs(f.left+f.width,f.top+f.height),new xs(f.left,f.top+f.height)]),this.ctx.clip(),this.renderTextWithLetterSpacing(new Xn(t.value,g),n.letterSpacing,d),this.ctx.restore(),this.ctx.textBaseline="alphabetic",this.ctx.textAlign="left"}if(!an(t.styles.display,2048))return[3,20];if(null===t.styles.listStyleImage)return[3,19];if(0!==(m=t.styles.listStyleImage).type)return[3,18];w=void 0,p=m.url,Q.label=15;case 15:return Q.trys.push([15,17,,18]),[4,this.context.cache.match(p)];case 16:return w=Q.sent(),this.ctx.drawImage(w,t.bounds.left-(w.width+10),t.bounds.top),[3,18];case 17:return Q.sent(),this.context.logger.error("Error loading list-style-image "+p),[3,18];case 18:return[3,20];case 19:A.listValue&&-1!==t.styles.listStyleType&&(h=this.createFontStyle(n)[0],this.ctx.font=h,this.ctx.fillStyle=lt(n.color),this.ctx.textBaseline="middle",this.ctx.textAlign="right",f=new $(t.bounds.left,t.bounds.top+et(t.styles.paddingTop,t.bounds.width),t.bounds.width,yr(n.lineHeight,n.fontSize.number)/2+1),this.renderTextWithLetterSpacing(new Xn(A.listValue,f),n.letterSpacing,yr(n.lineHeight,n.fontSize.number)/2+2),this.ctx.textBaseline="bottom",this.ctx.textAlign="left"),Q.label=20;case 20:return[2]}}))}))},e.prototype.renderStackContent=function(A){return W(this,0,void 0,(function(){var e,t,r,n,o,s,i,a,c,l,B,d,u,g,m;return j(this,(function(w){switch(w.label){case 0:return an(A.element.container.flags,16),[4,this.renderNodeBackgroundAndBorders(A.element)];case 1:w.sent(),e=0,t=A.negativeZIndex,w.label=2;case 2:return e<t.length?(m=t[e],[4,this.renderStack(m)]):[3,5];case 3:w.sent(),w.label=4;case 4:return e++,[3,2];case 5:return[4,this.renderNodeContent(A.element)];case 6:w.sent(),r=0,n=A.nonInlineLevel,w.label=7;case 7:return r<n.length?(m=n[r],[4,this.renderNode(m)]):[3,10];case 8:w.sent(),w.label=9;case 9:return r++,[3,7];case 10:o=0,s=A.nonPositionedFloats,w.label=11;case 11:return o<s.length?(m=s[o],[4,this.renderStack(m)]):[3,14];case 12:w.sent(),w.label=13;case 13:return o++,[3,11];case 14:i=0,a=A.nonPositionedInlineLevel,w.label=15;case 15:return i<a.length?(m=a[i],[4,this.renderStack(m)]):[3,18];case 16:w.sent(),w.label=17;case 17:return i++,[3,15];case 18:c=0,l=A.inlineLevel,w.label=19;case 19:return c<l.length?(m=l[c],[4,this.renderNode(m)]):[3,22];case 20:w.sent(),w.label=21;case 21:return c++,[3,19];case 22:B=0,d=A.zeroOrAutoZIndexOrTransformedOrOpacity,w.label=23;case 23:return B<d.length?(m=d[B],[4,this.renderStack(m)]):[3,26];case 24:w.sent(),w.label=25;case 25:return B++,[3,23];case 26:u=0,g=A.positiveZIndex,w.label=27;case 27:return u<g.length?(m=g[u],[4,this.renderStack(m)]):[3,30];case 28:w.sent(),w.label=29;case 29:return u++,[3,27];case 30:return[2]}}))}))},e.prototype.mask=function(A){this.ctx.beginPath(),this.ctx.moveTo(0,0),this.ctx.lineTo(this.canvas.width,0),this.ctx.lineTo(this.canvas.width,this.canvas.height),this.ctx.lineTo(0,this.canvas.height),this.ctx.lineTo(0,0),this.formatPath(A.slice(0).reverse()),this.ctx.closePath()},e.prototype.path=function(A){this.ctx.beginPath(),this.formatPath(A),this.ctx.closePath()},e.prototype.formatPath=function(A){var e=this;A.forEach((function(A,t){var r=Ks(A)?A.start:A;0===t?e.ctx.moveTo(r.x,r.y):e.ctx.lineTo(r.x,r.y),Ks(A)&&e.ctx.bezierCurveTo(A.startControl.x,A.startControl.y,A.endControl.x,A.endControl.y,A.end.x,A.end.y)}))},e.prototype.renderRepeat=function(A,e,t,r){this.path(A),this.ctx.fillStyle=e,this.ctx.translate(t,r),this.ctx.fill(),this.ctx.translate(-t,-r)},e.prototype.resizeImage=function(A,e,t){var r;if(A.width===e&&A.height===t)return A;var n=(null!==(r=this.canvas.ownerDocument)&&void 0!==r?r:document).createElement("canvas");return n.width=Math.max(1,e),n.height=Math.max(1,t),n.getContext("2d").drawImage(A,0,0,A.width,A.height,0,0,e,t),n},e.prototype.renderBackgroundImage=function(A){return W(this,0,void 0,(function(){var e,t,r,n,o,s;return j(this,(function(i){switch(i.label){case 0:e=A.styles.backgroundImage.length-1,t=function(t){var n,o,s,i,a,c,l,B,d,u,g,m,w,p,h,f,Q,C,U,F,y,b,E,v,H,I,x,L,k,K,M;return j(this,(function(S){switch(S.label){case 0:if(0!==t.type)return[3,5];n=void 0,o=t.url,S.label=1;case 1:return S.trys.push([1,3,,4]),[4,r.context.cache.match(o)];case 2:return n=S.sent(),[3,4];case 3:return S.sent(),r.context.logger.error("Error loading background-image "+o),[3,4];case 4:return n&&(s=$s(A,e,[n.width,n.height,n.width/n.height]),f=s[0],b=s[1],E=s[2],U=s[3],F=s[4],p=r.ctx.createPattern(r.resizeImage(n,U,F),"repeat"),r.renderRepeat(f,p,b,E)),[3,6];case 5:1===t.type?(i=$s(A,e,[null,null,null]),f=i[0],b=i[1],E=i[2],U=i[3],F=i[4],a=function(A,e,t){var r="number"==typeof A?A:function(A,e,t){var r=e/2,n=t/2,o=et(A[0],e)-r,s=n-et(A[1],t);return(Math.atan2(s,o)+2*Math.PI)%(2*Math.PI)}(A,e,t),n=Math.abs(e*Math.sin(r))+Math.abs(t*Math.cos(r)),o=e/2,s=t/2,i=n/2,a=Math.sin(r-Math.PI/2)*i,c=Math.cos(r-Math.PI/2)*i;return[n,o-c,o+c,s-a,s+a]}(t.angle,U,F),c=a[0],l=a[1],B=a[2],d=a[3],u=a[4],(g=document.createElement("canvas")).width=U,g.height=F,m=g.getContext("2d"),w=m.createLinearGradient(l,d,B,u),yt(t.stops,c).forEach((function(A){return w.addColorStop(A.stop,lt(A.color))})),m.fillStyle=w,m.fillRect(0,0,U,F),U>0&&F>0&&(p=r.ctx.createPattern(g,"repeat"),r.renderRepeat(f,p,b,E))):2===t.type&&(h=$s(A,e,[null,null,null]),f=h[0],Q=h[1],C=h[2],U=h[3],F=h[4],y=0===t.position.length?[$e]:t.position,b=et(y[0],U),E=et(y[y.length-1],F),v=function(A,e,t,r,n){var o=0,s=0;switch(A.size){case 0:0===A.shape?o=s=Math.min(Math.abs(e),Math.abs(e-r),Math.abs(t),Math.abs(t-n)):1===A.shape&&(o=Math.min(Math.abs(e),Math.abs(e-r)),s=Math.min(Math.abs(t),Math.abs(t-n)));break;case 2:if(0===A.shape)o=s=Math.min(bt(e,t),bt(e,t-n),bt(e-r,t),bt(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=Et(r,n,e,t,!0),c=a[0],l=a[1];s=i*(o=bt(c-e,(l-t)/i))}break;case 1:0===A.shape?o=s=Math.max(Math.abs(e),Math.abs(e-r),Math.abs(t),Math.abs(t-n)):1===A.shape&&(o=Math.max(Math.abs(e),Math.abs(e-r)),s=Math.max(Math.abs(t),Math.abs(t-n)));break;case 3:if(0===A.shape)o=s=Math.max(bt(e,t),bt(e,t-n),bt(e-r,t),bt(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 B=Et(r,n,e,t,!1);c=B[0],l=B[1],s=i*(o=bt(c-e,(l-t)/i))}}return Array.isArray(A.size)&&(o=et(A.size[0],r),s=2===A.size.length?et(A.size[1],n):o),[o,s]}(t,b,E,U,F),H=v[0],I=v[1],H>0&&I>0&&(x=r.ctx.createRadialGradient(Q+b,C+E,0,Q+b,C+E,H),yt(t.stops,2*H).forEach((function(A){return x.addColorStop(A.stop,lt(A.color))})),r.path(f),r.ctx.fillStyle=x,H!==I?(L=A.bounds.left+.5*A.bounds.width,k=A.bounds.top+.5*A.bounds.height,M=1/(K=I/H),r.ctx.save(),r.ctx.translate(L,k),r.ctx.transform(1,0,0,K,0,0),r.ctx.translate(-L,-k),r.ctx.fillRect(Q,M*(C-k)+k,U,F*M),r.ctx.restore()):r.ctx.fill())),S.label=6;case 6:return e--,[2]}}))},r=this,n=0,o=A.styles.backgroundImage.slice(0).reverse(),i.label=1;case 1:return n<o.length?(s=o[n],[5,t(s)]):[3,4];case 2:i.sent(),i.label=3;case 3:return n++,[3,1];case 4:return[2]}}))}))},e.prototype.renderSolidBorder=function(A,e,t){return W(this,0,void 0,(function(){return j(this,(function(r){return this.path(Xs(t,e)),this.ctx.fillStyle=lt(A),this.ctx.fill(),[2]}))}))},e.prototype.renderDoubleBorder=function(A,e,t,r){return W(this,0,void 0,(function(){var n,o;return j(this,(function(s){switch(s.label){case 0:return e<3?[4,this.renderSolidBorder(A,t,r)]:[3,2];case 1:return s.sent(),[2];case 2:return n=function(A,e){switch(e){case 0:return Ws(A.topLeftBorderBox,A.topLeftBorderDoubleOuterBox,A.topRightBorderBox,A.topRightBorderDoubleOuterBox);case 1:return Ws(A.topRightBorderBox,A.topRightBorderDoubleOuterBox,A.bottomRightBorderBox,A.bottomRightBorderDoubleOuterBox);case 2:return Ws(A.bottomRightBorderBox,A.bottomRightBorderDoubleOuterBox,A.bottomLeftBorderBox,A.bottomLeftBorderDoubleOuterBox);default:return Ws(A.bottomLeftBorderBox,A.bottomLeftBorderDoubleOuterBox,A.topLeftBorderBox,A.topLeftBorderDoubleOuterBox)}}(r,t),this.path(n),this.ctx.fillStyle=lt(A),this.ctx.fill(),o=function(A,e){switch(e){case 0:return Ws(A.topLeftBorderDoubleInnerBox,A.topLeftPaddingBox,A.topRightBorderDoubleInnerBox,A.topRightPaddingBox);case 1:return Ws(A.topRightBorderDoubleInnerBox,A.topRightPaddingBox,A.bottomRightBorderDoubleInnerBox,A.bottomRightPaddingBox);case 2:return Ws(A.bottomRightBorderDoubleInnerBox,A.bottomRightPaddingBox,A.bottomLeftBorderDoubleInnerBox,A.bottomLeftPaddingBox);default:return Ws(A.bottomLeftBorderDoubleInnerBox,A.bottomLeftPaddingBox,A.topLeftBorderDoubleInnerBox,A.topLeftPaddingBox)}}(r,t),this.path(o),this.ctx.fill(),[2]}}))}))},e.prototype.renderNodeBackgroundAndBorders=function(A){return W(this,0,void 0,(function(){var e,t,r,n,o,s,i,a,c=this;return j(this,(function(l){switch(l.label){case 0:return this.applyEffects(A.getEffects(2)),e=A.container.styles,t=!ct(e.backgroundColor)||e.backgroundImage.length,r=[{style:e.borderTopStyle,color:e.borderTopColor,width:e.borderTopWidth},{style:e.borderRightStyle,color:e.borderRightColor,width:e.borderRightWidth},{style:e.borderBottomStyle,color:e.borderBottomColor,width:e.borderBottomWidth},{style:e.borderLeftStyle,color:e.borderLeftColor,width:e.borderLeftWidth}],n=ci(ti(e.backgroundClip,0),A.curves),t||e.boxShadow.length?(this.ctx.save(),this.path(n),this.ctx.clip(),ct(e.backgroundColor)||(this.ctx.fillStyle=lt(e.backgroundColor),this.ctx.fill()),[4,this.renderBackgroundImage(A.container)]):[3,2];case 1:l.sent(),this.ctx.restore(),e.boxShadow.slice(0).reverse().forEach((function(e){c.ctx.save();var t,r,n,o,s,i=Ds(A.curves),a=e.inset?0:1e4,l=(t=i,r=-a+(e.inset?1:-1)*e.spread.number,n=(e.inset?1:-1)*e.spread.number,o=e.spread.number*(e.inset?-2:2),s=e.spread.number*(e.inset?-2:2),t.map((function(A,e){switch(e){case 0:return A.add(r,n);case 1:return A.add(r+o,n);case 2:return A.add(r+o,n+s);case 3:return A.add(r,n+s)}return A})));e.inset?(c.path(i),c.ctx.clip(),c.mask(l)):(c.mask(i),c.ctx.clip(),c.path(l)),c.ctx.shadowOffsetX=e.offsetX.number+a,c.ctx.shadowOffsetY=e.offsetY.number,c.ctx.shadowColor=lt(e.color),c.ctx.shadowBlur=e.blur.number,c.ctx.fillStyle=e.inset?lt(e.color):"rgba(0,0,0,1)",c.ctx.fill(),c.ctx.restore()})),l.label=2;case 2:o=0,s=0,i=r,l.label=3;case 3:return s<i.length?0!==(a=i[s]).style&&!ct(a.color)&&a.width>0?2!==a.style?[3,5]:[4,this.renderDashedDottedBorder(a.color,a.width,o,A.curves,2)]:[3,11]:[3,13];case 4:return l.sent(),[3,11];case 5:return 3!==a.style?[3,7]:[4,this.renderDashedDottedBorder(a.color,a.width,o,A.curves,3)];case 6:return l.sent(),[3,11];case 7:return 4!==a.style?[3,9]:[4,this.renderDoubleBorder(a.color,a.width,o,A.curves)];case 8:return l.sent(),[3,11];case 9:return[4,this.renderSolidBorder(a.color,o,A.curves)];case 10:l.sent(),l.label=11;case 11:o++,l.label=12;case 12:return s++,[3,3];case 13:return[2]}}))}))},e.prototype.renderDashedDottedBorder=function(A,e,t,r,n){return W(this,0,void 0,(function(){var o,s,i,a,c,l,B,d,u,g,m,w,p,h,f,Q;return j(this,(function(C){return this.ctx.save(),o=function(A,e){switch(e){case 0:return Ys(A.topLeftBorderStroke,A.topRightBorderStroke);case 1:return Ys(A.topRightBorderStroke,A.bottomRightBorderStroke);case 2:return Ys(A.bottomRightBorderStroke,A.bottomLeftBorderStroke);default:return Ys(A.bottomLeftBorderStroke,A.topLeftBorderStroke)}}(r,t),s=Xs(r,t),2===n&&(this.path(s),this.ctx.clip()),Ks(s[0])?(i=s[0].start.x,a=s[0].start.y):(i=s[0].x,a=s[0].y),Ks(s[1])?(c=s[1].end.x,l=s[1].end.y):(c=s[1].x,l=s[1].y),B=0===t||2===t?Math.abs(i-c):Math.abs(a-l),this.ctx.beginPath(),3===n?this.formatPath(o):this.formatPath(s.slice(0,2)),d=e<3?3*e:2*e,u=e<3?2*e:e,3===n&&(d=e,u=e),g=!0,B<=2*d?g=!1:B<=2*d+u?(d*=m=B/(2*d+u),u*=m):(w=Math.floor((B+u)/(d+u)),p=(B-w*d)/(w-1),u=(h=(B-(w+1)*d)/w)<=0||Math.abs(u-p)<Math.abs(u-h)?p:h),g&&(3===n?this.ctx.setLineDash([0,d+u]):this.ctx.setLineDash([d,u])),3===n?(this.ctx.lineCap="round",this.ctx.lineWidth=e):this.ctx.lineWidth=2*e+1.1,this.ctx.strokeStyle=lt(A),this.ctx.stroke(),this.ctx.setLineDash([]),2===n&&(Ks(s[0])&&(f=s[3],Q=s[0],this.ctx.beginPath(),this.formatPath([new xs(f.end.x,f.end.y),new xs(Q.start.x,Q.start.y)]),this.ctx.stroke()),Ks(s[1])&&(f=s[1],Q=s[2],this.ctx.beginPath(),this.formatPath([new xs(f.end.x,f.end.y),new xs(Q.start.x,Q.start.y)]),this.ctx.stroke())),this.ctx.restore(),[2]}))}))},e.prototype.render=function(A){return W(this,0,void 0,(function(){var e;return j(this,(function(t){switch(t.label){case 0:return this.options.backgroundColor&&(this.ctx.fillStyle=lt(this.options.backgroundColor),this.ctx.fillRect(this.options.x,this.options.y,this.options.width,this.options.height)),r=new _s(A,null),n=new Vs(r),qs(r,n,n,o=[]),Js(r.container,o),e=n,[4,this.renderStack(e)];case 1:return t.sent(),this.applyEffects([]),[2,this.canvas]}var r,n,o}))}))},e}(si),ai=function(A){return A instanceof mo||A instanceof go||A instanceof uo&&A.type!==lo&&A.type!==co},ci=function(A,e){switch(A){case 0:return Ds(e);case 2:return function(A){return[A.topLeftContentBox,A.topRightContentBox,A.bottomRightContentBox,A.bottomLeftContentBox]}(e);default:return Ts(e)}},li=function(A){switch(A){case 1:return"center";case 2:return"right";default:return"left"}},Bi=["-apple-system","system-ui"],di=function(A){return/iPhone OS 15_(0|1)/.test(window.navigator.userAgent)?A.filter((function(A){return-1===Bi.indexOf(A)})):A},ui=function(A){function e(e,t){var r=A.call(this,e,t)||this;return r.canvas=t.canvas?t.canvas:document.createElement("canvas"),r.ctx=r.canvas.getContext("2d"),r.options=t,r.canvas.width=Math.floor(t.width*t.scale),r.canvas.height=Math.floor(t.height*t.scale),r.canvas.style.width=t.width+"px",r.canvas.style.height=t.height+"px",r.ctx.scale(r.options.scale,r.options.scale),r.ctx.translate(-t.x,-t.y),r.context.logger.debug("EXPERIMENTAL ForeignObject renderer initialized ("+t.width+"x"+t.height+" at "+t.x+","+t.y+") with scale "+t.scale),r}return X(e,A),e.prototype.render=function(A){return W(this,0,void 0,(function(){var e,t;return j(this,(function(r){switch(r.label){case 0:return e=_n(this.options.width*this.options.scale,this.options.height*this.options.scale,this.options.scale,this.options.scale,A),[4,gi(e)];case 1:return t=r.sent(),this.options.backgroundColor&&(this.ctx.fillStyle=lt(this.options.backgroundColor),this.ctx.fillRect(0,0,this.options.width*this.options.scale,this.options.height*this.options.scale)),this.ctx.drawImage(t,-this.options.x*this.options.scale,-this.options.y*this.options.scale),[2,this.canvas]}}))}))},e}(si),gi=function(A){return new Promise((function(e,t){var r=new Image;r.onload=function(){e(r)},r.onerror=t,r.src="data:image/svg+xml;charset=utf-8,"+encodeURIComponent((new XMLSerializer).serializeToString(A))}))},mi=function(){function A(A){var e=A.id,t=A.enabled;this.id=e,this.enabled=t,this.start=Date.now()}return A.prototype.debug=function(){for(var A=[],e=0;e<arguments.length;e++)A[e]=arguments[e];this.enabled&&("undefined"!=typeof window&&window.console&&"function"==typeof console.debug?console.debug.apply(console,Z([this.id,this.getTime()+"ms"],A)):this.info.apply(this,A))},A.prototype.getTime=function(){return Date.now()-this.start},A.prototype.info=function(){for(var A=[],e=0;e<arguments.length;e++)A[e]=arguments[e];this.enabled&&"undefined"!=typeof window&&window.console&&"function"==typeof console.info&&console.info.apply(console,Z([this.id,this.getTime()+"ms"],A))},A.prototype.warn=function(){for(var A=[],e=0;e<arguments.length;e++)A[e]=arguments[e];this.enabled&&("undefined"!=typeof window&&window.console&&"function"==typeof console.warn?console.warn.apply(console,Z([this.id,this.getTime()+"ms"],A)):this.info.apply(this,A))},A.prototype.error=function(){for(var A=[],e=0;e<arguments.length;e++)A[e]=arguments[e];this.enabled&&("undefined"!=typeof window&&window.console&&"function"==typeof console.error?console.error.apply(console,Z([this.id,this.getTime()+"ms"],A)):this.info.apply(this,A))},A.instances={},A}(),wi=function(){function A(e,t){var r;this.windowBounds=t,this.instanceName="#"+A.instanceCount++,this.logger=new mi({id:this.instanceName,enabled:e.logging}),this.cache=null!==(r=e.cache)&&void 0!==r?r:new Cs(this,e)}return A.instanceCount=1,A}();"undefined"!=typeof window&&Qs.setContext(window);var pi=function(A,e,t){var r=e.ownerDocument,n=r.documentElement?ft(A,getComputedStyle(r.documentElement).backgroundColor):Qt.TRANSPARENT,o=r.body?ft(A,getComputedStyle(r.body).backgroundColor):Qt.TRANSPARENT,s="string"==typeof t?ft(A,t):null===t?Qt.TRANSPARENT:4294967295;return e===r.documentElement?ct(n)?ct(o)?s:o:n:s};const hi={async createBulkMocks(A){const e=F.state.token;if(!e)return H("Token not found","error"),!1;const t={apis:A};try{const A=await fetch(`${Q}${C}/httpRequestBulkMock/bulk_mock`,{method:"POST",headers:{"Content-Type":"application/json",mockforme:e},body:JSON.stringify(t)}),r=await A.json();return A.ok?(H(r.message||"Mocks created successfully"),!0):(H(r.message||"Mocks creation failed","error"),console.error("Mocks creation failed",r),!1)}catch(A){return H("Error during mocks creation","error"),console.error("Error during mocks creation:",A),!1}},async improveDesign(A){const e=F.state.token;if(!e)return H("Token not found","error"),null;try{const t=await fetch(`${Q}${C}/ai/suggest`,{method:"POST",headers:{"Content-Type":"application/json",mockforme:e},body:JSON.stringify(A)});return await t.json()}catch(A){return H("Error sending request","error"),console.error("Error sending design improvement request:",A),null}},async getSignedUrl(A,e){const t=F.state.token;if(!t)return H("Token not found","error"),null;try{const r=await fetch(`${Q}${C}/aws/get-signed-url`,{method:"POST",headers:{"Content-Type":"application/json",mockforme:t},body:JSON.stringify({fileName:A,contentType:e})});if(r.ok)return await r.json();{const A=await r.json();return console.error("Failed to get signed URL",A),null}}catch(A){return console.error("Error getting signed URL:",A),null}},async uploadToS3(A,e){try{return(await fetch(A,{method:"PUT",body:e,headers:{"Content-Type":e.type||"application/octet-stream"}})).ok}catch(A){return console.error("Error uploading to S3:",A),!1}}};function fi(){const A=window;return A.__NEXT_DATA__||document.querySelector("#__next")?"Next.js":A.__NUXT__?"Nuxt.js":A.React||A.__REACT_DEVTOOLS_GLOBAL_HOOK__||document.querySelector("[data-reactroot], [data-react-helmet]")||Qi(document.body)?"React":A.Vue||A.__VUE__||document.querySelector("[data-v-]")||Ci(document.body)?"Vue":A.ng||document.querySelector("[ng-version], [ng-app], [ng-controller], [_ngcontent-], [_nghost-]")?"Angular":document.querySelector('[class*="svelte-"]')?"Svelte":Array.from(document.styleSheets).some((A=>{try{return Array.from(A.cssRules||[]).slice(0,50).some((A=>A.cssText.includes("--tw-")))}catch(A){return!1}}))?"Tailwind CSS (Vanilla)":"Vanilla"}function Qi(A){return!!A&&(!!Object.keys(A).some((A=>A.startsWith("__reactFiber$")||A.startsWith("__reactProps$")))||Array.from(A.children).slice(0,10).some((A=>Qi(A))))}function Ci(A){return!!A&&(!(!A.__vue__&&!A.__vue_app__)||Array.from(A.children).slice(0,10).some((A=>Ci(A))))}const Ui=new class{constructor(){this.overlay=null,this.selection=null,this.startX=0,this.startY=0,this.isSelecting=!1,this.handleMouseDown=this.handleMouseDown.bind(this),this.handleMouseMove=this.handleMouseMove.bind(this),this.handleMouseUp=this.handleMouseUp.bind(this),this.handleKeyDown=this.handleKeyDown.bind(this)}start(){this.overlay||(v.toggleWidget(),this.createOverlay(),document.addEventListener("mousedown",this.handleMouseDown),document.addEventListener("mousemove",this.handleMouseMove),document.addEventListener("mouseup",this.handleMouseUp),document.addEventListener("keydown",this.handleKeyDown),H("Select an area to improve design (Esc to cancel)"))}createOverlay(){this.overlay=document.createElement("div"),this.overlay.id="mfm-snip-overlay",this.selection=document.createElement("div"),this.selection.id="mfm-snip-selection",this.overlay.appendChild(this.selection),document.body.appendChild(this.overlay)}handleMouseDown(A){this.overlay&&(this.startX=A.clientX,this.startY=A.clientY,this.isSelecting=!0,this.selection&&(this.selection.style.left=`${this.startX}px`,this.selection.style.top=`${this.startY}px`,this.selection.style.width="0px",this.selection.style.height="0px",this.selection.style.display="block"))}handleMouseMove(A){if(!this.isSelecting||!this.selection)return;const e=A.clientX,t=A.clientY,r=Math.min(this.startX,e),n=Math.min(this.startY,t),o=Math.abs(this.startX-e),s=Math.abs(this.startY-t);this.selection.style.left=`${r}px`,this.selection.style.top=`${n}px`,this.selection.style.width=`${o}px`,this.selection.style.height=`${s}px`}async handleMouseUp(A){if(!this.isSelecting)return;if(this.isSelecting=!1,!this.selection)return;const e=this.selection.getBoundingClientRect();e.width<10||e.height<10?this.selection.style.display="none":await this.capture(e)}handleKeyDown(A){"Escape"===A.key&&this.stop()}async capture(A){if(this.overlay){this.overlay.style.display="none";try{H("Capturing area...");const r=(await(e=document.body,t={x:A.left+window.scrollX,y:A.top+window.scrollY,width:A.width,height:A.height,useCORS:!0,logging:!1},void 0===t&&(t={}),function(A,e){return W(void 0,0,void 0,(function(){var t,r,n,o,s,i,a,c,l,B,d,u,g,m,w,p,h,f,Q,C,U,F,y,b,E,v,H,I,x,L,k,K,M,S,D,T,O,R;return j(this,(function(N){switch(N.label){case 0:if(!A||"object"!=typeof A)return[2,Promise.reject("Invalid element provided as first argument")];if(!(t=A.ownerDocument))throw new Error("Element is not attached to a Document");if(!(r=t.defaultView))throw new Error("Document is not attached to a Window");return n={allowTaint:null!==(F=e.allowTaint)&&void 0!==F&&F,imageTimeout:null!==(y=e.imageTimeout)&&void 0!==y?y:15e3,proxy:e.proxy,useCORS:null!==(b=e.useCORS)&&void 0!==b&&b},o=Y({logging:null===(E=e.logging)||void 0===E||E,cache:e.cache},n),s={windowWidth:null!==(v=e.windowWidth)&&void 0!==v?v:r.innerWidth,windowHeight:null!==(H=e.windowHeight)&&void 0!==H?H:r.innerHeight,scrollX:null!==(I=e.scrollX)&&void 0!==I?I:r.pageXOffset,scrollY:null!==(x=e.scrollY)&&void 0!==x?x:r.pageYOffset},i=new $(s.scrollX,s.scrollY,s.windowWidth,s.windowHeight),a=new wi(o,i),c=null!==(L=e.foreignObjectRendering)&&void 0!==L&&L,l={allowTaint:null!==(k=e.allowTaint)&&void 0!==k&&k,onclone:e.onclone,ignoreElements:e.ignoreElements,inlineImages:c,copyStyles:c},a.logger.debug("Starting document clone with size "+i.width+"x"+i.height+" scrolled to "+-i.left+","+-i.top),B=new rs(a,A,l),(d=B.clonedReferenceElement)?[4,B.toIFrame(t,i)]:[2,Promise.reject("Unable to find element in cloned iframe")];case 1:return u=N.sent(),g=Lo(d)||"HTML"===d.tagName?function(A){var e=A.body,t=A.documentElement;if(!e||!t)throw new Error("Unable to get document size");var r=Math.max(Math.max(e.scrollWidth,t.scrollWidth),Math.max(e.offsetWidth,t.offsetWidth),Math.max(e.clientWidth,t.clientWidth)),n=Math.max(Math.max(e.scrollHeight,t.scrollHeight),Math.max(e.offsetHeight,t.offsetHeight),Math.max(e.clientHeight,t.clientHeight));return new $(0,0,r,n)}(d.ownerDocument):z(a,d),m=g.width,w=g.height,p=g.left,h=g.top,f=pi(a,d,e.backgroundColor),Q={canvas:e.canvas,backgroundColor:f,scale:null!==(M=null!==(K=e.scale)&&void 0!==K?K:r.devicePixelRatio)&&void 0!==M?M:1,x:(null!==(S=e.x)&&void 0!==S?S:0)+p,y:(null!==(D=e.y)&&void 0!==D?D:0)+h,width:null!==(T=e.width)&&void 0!==T?T:Math.ceil(m),height:null!==(O=e.height)&&void 0!==O?O:Math.ceil(w)},c?(a.logger.debug("Document cloned, using foreign object rendering"),[4,new ui(a,Q).render(d)]):[3,3];case 2:return C=N.sent(),[3,5];case 3:return a.logger.debug("Document cloned, element located at "+p+","+h+" with size "+m+"x"+w+" using computed rendering"),a.logger.debug("Starting DOM parsing"),U=Qo(a,d),f===U.styles.backgroundColor&&(U.styles.backgroundColor=Qt.TRANSPARENT),a.logger.debug("Starting renderer for element at "+Q.x+","+Q.y+" with size "+Q.width+"x"+Q.height),[4,new ii(a,Q).render(U)];case 4:C=N.sent(),N.label=5;case 5:return(null===(R=e.removeContainer)||void 0===R||R)&&(rs.destroy(u)||a.logger.error("Cannot detach cloned iframe as it is not in the DOM anymore")),a.logger.debug("Finished rendering"),[2,C]}}))}))}(e,t))).toDataURL("image/png"),n=(this.getHtmlAtRect(A),fi()),o=function(A,e,t){const r=document.createElement("div");return r.id="mfm-snip-modal",(()=>{r.innerHTML=`\n <div class="mfm-modal-overlay">\n <div class="mfm-modal-container">\n <div class="mfm-modal-header">\n <h3>Improve Design</h3>\n <button id="mfm-modal-close">×</button>\n </div>\n <div class="mfm-modal-body">\n <div class="mfm-screenshot-preview">\n <img src="${A}" alt="Screenshot preview">\n </div>\n <div class="mfm-context-input">\n <label for="mfm-context-text">Your requirements (optional):</label>\n <textarea id="mfm-context-text" maxlength="200" placeholder="e.g. Make this button more vibrant or change the layout to grid..."></textarea>\n <div class="mfm-char-count">0/200</div>\n </div>\n </div>\n <div class="mfm-modal-footer">\n <button id="mfm-modal-cancel" class="mfm-btn-secondary">Cancel</button>\n <button id="mfm-modal-submit" class="mfm-btn-primary">Submit to AI</button>\n </div>\n </div>\n </div>\n `;const n=r.querySelector("#mfm-context-text"),o=r.querySelector(".mfm-char-count"),s=r.querySelector("#mfm-modal-submit"),i=r.querySelector("#mfm-modal-cancel"),a=r.querySelector("#mfm-modal-close");n.oninput=()=>{const A=n.value.length;o.textContent=`${A}/200`,o.style.color=A>200?"var(--mfm-error)":"var(--mfm-text-dim)"},s.onclick=()=>{e(n.value)};const c=()=>{t(),r.remove()};i.onclick=c,a.onclick=c})(),{element:r,setLoading:A=>{const e=r.querySelector(".mfm-modal-container");e&&A&&(e.innerHTML='\n <div class="mfm-modal-header">\n <h3>AI is working...</h3>\n </div>\n <div class="mfm-modal-body mfm-flex-center" style="min-height: 200px;">\n <div class="mfm-loader"></div>\n <p style="margin-top: 16px; color: var(--mfm-text-dim);">Analyzing your design and generating improvements...</p>\n </div>\n ')},showResults:(A,e)=>{const n=r.querySelector(".mfm-modal-container");if(!n)return;let o={};try{o="string"==typeof A.result.content?JSON.parse(A.result.content):A.result.content}catch(A){console.error("Failed to parse AI content",A),o={summary:"Error parsing results",analysis:{weaknesses:[]},code:""}}const{summary:s,analysis:i,code:a}=o,c=(null==i?void 0:i.weaknesses)||[];n.innerHTML=`\n <div class="mfm-modal-header">\n <h3>AI Suggestions</h3>\n <button id="mfm-modal-close">×</button>\n </div>\n <div class="mfm-modal-body mfm-results-body">\n <div class="mfm-result-section">\n <h4>Summary</h4>\n <p>${s}</p>\n </div>\n \n ${c.length>0?`\n <div class="mfm-result-section">\n <h4>Analysis</h4>\n <ul class="mfm-weakness-list">\n ${c.map((A=>`<li>${A}</li>`)).join("")}\n </ul>\n </div>\n `:""}\n\n <div class="mfm-result-section">\n <h4>Proposed Improvement</h4>\n <div class="mfm-code-preview">\n <pre><code>${a.replace(/</g,"&lt;").replace(/>/g,"&gt;")}</code></pre>\n </div>\n </div>\n </div>\n <div class="mfm-modal-footer">\n <button id="mfm-modal-cancel" class="mfm-btn-secondary">Discard</button>\n <button id="mfm-modal-apply" class="mfm-btn-primary">Apply Changes</button>\n </div>\n `;const l=r.querySelector("#mfm-modal-apply"),B=r.querySelector("#mfm-modal-cancel"),d=r.querySelector("#mfm-modal-close");l.onclick=()=>{e(a),r.remove()};const u=()=>{r.remove(),t()};B.onclick=u,d.onclick=u},showError:A=>{const e=r.querySelector(".mfm-modal-container");if(!e)return;e.innerHTML=`\n <div class="mfm-modal-header">\n <h3>Error</h3>\n <button id="mfm-modal-close">×</button>\n </div>\n <div class="mfm-modal-body mfm-flex-center" style="min-height: 150px;">\n <p style="color: var(--mfm-error);">${A}</p>\n </div>\n <div class="mfm-modal-footer">\n <button id="mfm-modal-close-btn" class="mfm-btn-secondary">Close</button>\n </div>\n `;const n=()=>{r.remove(),t()};r.querySelector("#mfm-modal-close").onclick=n,r.querySelector("#mfm-modal-close-btn").onclick=n}}}(r,(async A=>{o.setLoading(!0);try{const e=`snip_${Date.now()}.png`,t="image/png",a=await hi.getSignedUrl(e,t);if(!a||0==(null==a?void 0:a.status)||!a.result)return void o.showError("Failed to get upload authorization");const{result:c}=a,l=this.dataURLToBlob(r);if(!await hi.uploadToS3(c,l))return void o.showError("Failed to upload image");const B=await hi.improveDesign({framework:n,html:s,imageUrl:"",prompt:A});B&&1===B.status?o.showResults(B,(A=>{i&&(i.outerHTML=A,H("Design updated successfully!"))})):o.showError((null==B?void 0:B.message)||"AI analysis failed")}catch(A){console.error("Submission failed",A),o.showError("An unexpected error occurred")}}),(()=>{this.stop()})),{html:s,element:i}=this.getHtmlAtRect(A);document.body.appendChild(o.element)}catch(A){console.error("Capture failed",A),H("Capture failed","error"),this.stop()}var e,t}}dataURLToBlob(A){const e=A.split(","),t=e[0].match(/:(.*?);/)[1],r=atob(e[1]);let n=r.length;const o=new Uint8Array(n);for(;n--;)o[n]=r.charCodeAt(n);return new Blob([o],{type:t})}getHtmlAtRect(A){const e=A.left+A.width/2,t=A.top+A.height/2,r=document.elementFromPoint(e,t);if(r){let e=r;for(;e.parentElement&&e.parentElement.getBoundingClientRect().width<=1.5*A.width&&e.parentElement.getBoundingClientRect().height<=1.5*A.height;)e=e.parentElement;return{html:e.outerHTML,element:e}}return{html:"No element found at selection",element:null}}stop(){this.overlay&&(document.body.removeChild(this.overlay),this.overlay=null,this.selection=null),document.removeEventListener("mousedown",this.handleMouseDown),document.removeEventListener("mousemove",this.handleMouseMove),document.removeEventListener("mouseup",this.handleMouseUp),document.removeEventListener("keydown",this.handleKeyDown),v.toggleWidget()}};function Fi(A){try{const e=new URL(A);return{path:e.pathname+(e.search||""),domain:e.hostname}}catch(e){return{path:A,domain:""}}}class yi{constructor(A){this.parent=A,this.element=document.createElement("div"),this.element.className="mfm-apis-list",this.init()}init(){this.parent.appendChild(this.element)}render(A){(null==A?void 0:A.length)?this.element.innerHTML=A.map((A=>{const{path:e,domain:t}=Fi(A.url);return`\n <div class="mfm-request-item" data-id="${A.url}" data-type="api">\n <div class="mfm-request-header">\n <div class="mfm-flex-row" style="width: 100%;">\n <span class="mfm-method ${(A.method||"").toLowerCase()}">${A.method||"REQ"}</span>\n <div class="mfm-url-container">\n <div class="mfm-url-path" title="${A.url}">${e}</div>\n <div class="mfm-url-domain" style="max-width: 250px;">${t}</div>\n </div>\n </div>\n </div>\n </div>\n `})).join(""):this.element.innerHTML=""}}function bi(A,e){const t=A.ruleName||"",r=function(A){const e=Ei(A);if(e.length>0){const A=e[0];if("string"==typeof A.value)return A.value}return String(A.condition||A.ruleName||"")}(A);return`${e}::${t}::${r}`}function Ei(A){const e=A,t=function(A){const e=A,t=e.rule;if(t&&"object"==typeof t)return t;if("string"==typeof t)try{const A=JSON.parse(t);if(A&&"object"==typeof A)return A}catch{return e}return e}(A),r=Array.isArray(e.conditions)?e.conditions:[],n=Array.isArray(t.conditions)?t.conditions:[];return r.length>0?r:n}class vi{constructor(A){this.parent=A,this.element=document.createElement("div"),this.element.className="mfm-rule-list",this.init()}init(){this.parent.appendChild(this.element),this.attachEvents()}attachEvents(){this.element.onclick=A=>{var e;const t=A.target,r=t.closest(".mfm-dots-btn");if(r){A.stopPropagation();const e=r.closest(".mfm-request-item"),t=null==e?void 0:e.dataset.id;return void(t&&v.setOpenDropdown(t))}const n=t.closest("[data-action]");if(n){A.stopPropagation();const t=n.dataset.action,r=n.closest(".mfm-request-item"),o=this.readRuleIndex(r);return t&&null!==o&&this.handleAction(t,o),void(null==(e=n.parentElement)||e.classList.remove("show"))}const o=t.closest(".mfm-request-item");if(!o)return;A.stopPropagation();const s=this.readRuleIndex(o);if(null===s)return;const i=F.state.mappings.rules[s];i&&v.selectRule(i)}}readRuleIndex(A){if(!(null==A?void 0:A.dataset.ruleIndex))return null;const e=Number(A.dataset.ruleIndex);return Number.isNaN(e)?null:e}handleAction(A,e){if("view-rule-details"===A){const A=F.state.mappings.rules[e];A&&v.selectRule(A)}v.clearOpenDropdown()}render(A){if(!(null==A?void 0:A.length))return void(this.element.innerHTML="");const e=A.map(((A,e)=>bi(A,e)));Array.from(this.element.querySelectorAll(".mfm-request-item")).forEach((A=>{e.includes(A.dataset.id||"")||A.remove()})),A.forEach(((A,e)=>{var t,r,n;const o=bi(A,e),s=this.element.querySelector(`[data-id="${o}"]`),i=function(A){const e=Ei(A);let t=[];return e.length>0&&(t=e.map((A=>{const e=function(A){const e="string"==typeof A.type&&A.type.trim()?A.type:"RULE",t="string"==typeof A.operator&&A.operator.trim()?A.operator:"matches",r="string"==typeof A.key&&A.key.trim()?A.key:"",n="string"==typeof A.value&&A.value.trim()?A.value:"-";return r?`\n <span class="mfm-rule-condition-type">${e}</span>\n <span class="mfm-rule-condition-operator">${t}</span>\n <span class="mfm-rule-condition-key-value">${r}=${n}</span>\n `:`\n <span class="mfm-rule-condition-type">${e}</span>\n <span class="mfm-rule-condition-operator">${t}</span>\n <span class="mfm-rule-condition-key-value">${n}</span>\n `}(A);return e}))),t}(A),a=function(A){const{action:e,config:t}=function(A){const e=A.timingAction;if(!(null==e?void 0:e.actions)||"object"!=typeof e.actions)return{action:"",config:null};const t=Object.keys(e.actions);if(0===t.length)return{action:"",config:null};const r=e.activeAction||t[0],n=e.actions[r];return{action:r,config:n&&"object"==typeof n?n:null}}(A);if(!e||!t)return"";const r="number"!=typeof(n=t.value)||Number.isNaN(n)||n<0?0:n;var n;const o="string"==typeof t.redirectUrl&&t.redirectUrl.trim()?t.redirectUrl:"";return"delay_and_timeout"===e?`\n <span class="mfm-rule-action">Delay and Timeout</span>\n <span class="mfm-rule-value">${r}s</span>`:"delay_and_redirect"===e?o?`\n <span class="mfm-rule-action">Delay and Redirect ${r}s</span>\n <span class="mfm-rule-value">${o}</span>`:`\n <span class="mfm-rule-action">Delay and Redirect ${r}s</span>\n <span class="mfm-rule-value">${o}</span>`:"delay"===e?`\n <span class="mfm-rule-action">Delay ${r}s</span>`:`\n <span class="mfm-rule-action">${function(A){if(!A)return A;const e=A.toLowerCase().replace(/_/g," ");return e.charAt(0).toUpperCase()+e.slice(1)}(e)} ${r}s</span>`}(A),c=null==(t=A.timingAction)?void 0:t.activeAction,l=null==(n=null==(r=A.timingAction)?void 0:r.actions)?void 0:n[c||""],B=l?`${l.value||0}s (${String(c).replace(/_/g," ")})`:String(A.type||"RULE");let d=0;A.modificationActions&&Object.values(A.modificationActions).forEach((A=>{A.enabled&&(d+=1)}));const u=F.state.ui.tabConfigs.MAPPINGS.selectedRule,g=Boolean(u)&&((null==u?void 0:u.ruleName)===(A.ruleName||A.condition)||(null==u?void 0:u.condition)===(A.condition||A.ruleName)),m=F.state.ui.activeDropdownId===o,w=`${g}_${B}_${d}_${m}`,p=`\n <div class="mfm-request-item ${g?"active":""}" data-id="${o}" data-rule-index="${e}" data-type="rule">\n <div class="mfm-request-header">\n <div class="mfm-flex-row">\n <span class="mfm-method rule">RULE</span>\n <span class="mfm-status rule">${String(A.type||"RULE")}</span>\n </div>\n <div class="mfm-dropdown" style="display: flex; align-items: center; gap: 8px;">\n ${d>0?`<span class="mfm-mod-pill">${d} Actions</span>`:""}\n <button class="mfm-btn-icon mfm-dots-btn">\n <svg width="16" height="16" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><circle cx="12" cy="12" r="1"></circle><circle cx="12" cy="5" r="1"></circle><circle cx="12" cy="19" r="1"></circle></svg>\n </button>\n <div class="mfm-dropdown-content ${m?"show":""}">\n <button data-action="view-rule-details">View Details</button>\n </div>\n </div>\n </div>\n <div class="mfm-url">${i.map((A=>`<span class="mfm-rule-condition">${A}</span>`)).join("")}</div>\n ${a?`<div class="mfm-rule-info">${a}</div>`:""}\n </div>\n `;if(s){if(s.dataset.hash!==w){const A=document.createElement("div");A.innerHTML=p;const e=A.firstElementChild;e&&(e.dataset.hash=w,this.element.replaceChild(e,s))}}else{const A=document.createElement("div");A.innerHTML=p;const t=A.firstElementChild;if(!t)return;t.dataset.hash=w;const r=this.element.children[e];r?this.element.insertBefore(t,r):this.element.appendChild(t)}}))}}class Hi{constructor(A){this.unsubscribe=null,this.parent=A,this.element=document.createElement("div"),this.element.className="mfm-mapping-list-activity",this.ruleListView=new vi(this.element),this.apisListView=new yi(this.element),this.init()}init(){this.parent.appendChild(this.element),this.unsubscribe=F.subscribe((()=>{"MAPPINGS"===F.state.ui.selectedTab&&this.render()})),this.render()}render(){if(F.state.isMappingsLoading)return this.element.innerHTML='<div class="mfm-spinner"></div>',this.ruleListView.element.style.display="none",void(this.apisListView.element.style.display="none");const{apis:A,rules:e}=function(){const{apis:A,rules:e}=F.state.mappings,t=(F.state.ui.tabConfigs.MAPPINGS.searchText||"").toLowerCase();return{apis:A.filter((A=>(A.url||"").toLowerCase().includes(t))),rules:e.filter((A=>(A.ruleName||"").toLowerCase().includes(t)||(A.condition||"").toLowerCase().includes(t)))}}();if(0===A.length&&0===e.length)return this.element.innerHTML='<div class="mfm-empty">No mappings found</div>',this.ruleListView.element.style.display="none",void(this.apisListView.element.style.display="none");this.element.contains(this.ruleListView.element)||(this.element.innerHTML="",this.element.appendChild(this.ruleListView.element),this.element.appendChild(this.apisListView.element)),this.ruleListView.element.style.display="block",this.apisListView.element.style.display="block",this.ruleListView.render(e),this.apisListView.render(A)}destroy(){this.unsubscribe&&this.unsubscribe(),this.element.remove()}}async function Ii(A){if("undefined"!=typeof navigator&&navigator.clipboard&&"function"==typeof navigator.clipboard.writeText)return void await navigator.clipboard.writeText(A);if(!(null==document?void 0:document.body))throw new Error("Clipboard unavailable: document body not ready");const e=document.createElement("textarea");e.value=A,e.setAttribute("readonly","true"),e.style.position="fixed",e.style.top="-9999px",e.style.left="-9999px",document.body.appendChild(e),e.focus(),e.select();try{if(!document.execCommand("copy"))throw new Error("Copy command failed")}finally{e.remove()}}function xi(A,e){const t=A.request.method||"GET",r=A.request.url,n=A.request.headers||{},o=(s=A.request.body)?"string"==typeof s?s:JSON.stringify(s):null;var s;if("copy-curl"===e){let A=`curl '${r}' \\\n -X ${t}`;return Object.entries(n).forEach((([e,t])=>{A+=` \\\n -H '${e}: ${String(t)}'`})),o&&(A+=` \\\n --data-raw '${o.replace(/'/g,"'\\''")}'`),A}if("copy-fetch"===e){const A={method:t,headers:n};return o&&(A.body=o),`fetch('${r}', ${JSON.stringify(A,null,2)})`}let i="const xhr = new XMLHttpRequest();\n";return i+=`xhr.open('${t}', '${r}');\n`,Object.entries(n).forEach((([A,e])=>{i+=`xhr.setRequestHeader('${A}', '${String(e)}');\n`})),i+=o?`xhr.send('${o.replace(/'/g,"\\'")}');`:"xhr.send();",i}let Li=class{static render(A){var e,t;const r=void 0===(null==(e=A.response)?void 0:e.statusCode),n=r?"Pending":null==(t=A.response)?void 0:t.statusCode,o=0===n?"Error":n,s=F.state.ui.tabConfigs.MOCKED.selectedRequestId===A.requestId,i=function(A,e,t){return A?"pending":e?"success":t?"error":""}(r,!r&&"number"==typeof n&&n>=200&&n<300,!r&&"number"==typeof n&&(0===n||n>=400)),{path:a,domain:c}=Fi(A.request.url);return`\n <div class="mfm-request-item ${s?"active":""} ${r?"pending-item":""}" data-id="${A.requestId}" data-type="request">\n <div class="mfm-request-header">\n <div class="mfm-flex-row">\n <span class="mfm-method ${(A.request.method||"").toLowerCase()}">${A.request.method}</span>\n <span class="mfm-status ${i}">\n ${r?'<span class="mfm-spinner"></span>':o}\n </span>\n </div>\n <div class="mfm-dropdown" style="display: flex; align-items: center; gap: 8px;">\n <button class="mfm-btn-icon mfm-dots-btn">\n <svg width="16" height="16" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><circle cx="12" cy="12" r="1"></circle><circle cx="12" cy="5" r="1"></circle><circle cx="12" cy="19" r="1"></circle></svg>\n </button>\n <div class="mfm-dropdown-content ${F.state.ui.activeDropdownId===A.requestId?"show":""}">\n <button data-action="copy-curl">Copy as cURL</button>\n <button data-action="copy-fetch">Copy as Fetch</button>\n <button data-action="copy-xhr">Copy as XHR</button>\n </div>\n </div>\n </div>\n <div class="mfm-url-container">\n <div class="mfm-url-path" title="${A.request.url}">${a}</div>\n <div class="mfm-url-domain">${c}</div>\n </div>\n </div>\n `}};class ki{static render(A){var e,t,r,n,o,s,i;const a=A.rule?{action:A.rule.action||(null==(e=A.rule.timingAction)?void 0:e.activeAction),config:A.rule.config||(null==(n=null==(t=A.rule.timingAction)?void 0:t.actions)?void 0:n[(null==(r=A.rule.timingAction)?void 0:r.activeAction)||""])}:null,c=void 0===(null==(o=A.response)?void 0:o.statusCode),l=c?"Pending":null==(s=A.response)?void 0:s.statusCode,B=0===l?"Error":l,d=F.state.ui.tabConfigs.MOCKED.selectedRequestId===A.requestId,u=function(A,e,t){return A?"pending":e?"success":t?"error":""}(c,!c&&"number"==typeof l&&l>=200&&l<300,!c&&"number"==typeof l&&(0===l||l>=400)),{path:g,domain:m}=Fi(A.request.url);return`\n <div class="mfm-request-item ${d?"active":""} ${c?"pending-item":""}" data-id="${A.requestId}" data-type="request">\n <div class="mfm-request-header">\n <div class="mfm-flex-row">\n <span class="mfm-method ${(A.request.method||"").toLowerCase()}">${A.request.method}</span>\n <span class="mfm-status ${u}">\n ${c?'<span class="mfm-spinner"></span>':B}\n </span>\n </div>\n <div class="mfm-dropdown" style="display: flex; align-items: center; gap: 8px;">\n <button class="mfm-btn-icon mfm-dots-btn">\n <svg width="16" height="16" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><circle cx="12" cy="12" r="1"></circle><circle cx="12" cy="5" r="1"></circle><circle cx="12" cy="19" r="1"></circle></svg>\n </button>\n <div class="mfm-dropdown-content ${F.state.ui.activeDropdownId===A.requestId?"show":""}">\n <button data-action="copy-curl">Copy as cURL</button>\n <button data-action="copy-fetch">Copy as Fetch</button>\n <button data-action="copy-xhr">Copy as XHR</button>\n </div>\n </div>\n </div>\n <div class="mfm-url-container">\n <div class="mfm-url-path" title="${A.request.url}">${g}</div>\n <div class="mfm-url-domain">${m}</div>\n </div>\n ${(null==a?void 0:a.action)?`\n <div class="mfm-rule-info">\n <span class="mfm-rule-action">${String(a.action).replace(/_/g," ")}</span>\n <span class="mfm-rule-value">${(null==(i=a.config)?void 0:i.value)||0}s</span>\n </div>`:""}\n </div>\n `}}class Ki{constructor(A){this.unsubscribe=null,this.parent=A,this.element=document.createElement("div"),this.element.className="mfm-mocked-apis-activity",this.init()}init(){this.parent.appendChild(this.element),this.attachEvents(),this.unsubscribe=F.subscribe((()=>{"MOCKED"===F.state.ui.selectedTab&&this.render()})),this.render()}attachEvents(){this.element.onclick=A=>{var e;const t=A.target,r=t.closest(".mfm-dots-btn");if(r){A.stopPropagation();const e=r.closest(".mfm-request-item"),t=null==e?void 0:e.dataset.id;return void(t&&v.setOpenDropdown(t))}const n=t.closest("[data-action]");if(n){A.stopPropagation();const t=n.dataset.action,r=n.closest(".mfm-request-item"),o=null==r?void 0:r.dataset.id;return t&&o&&this.handleAction(t,o),void(null==(e=n.parentElement)||e.classList.remove("show"))}const o=t.closest(".mfm-request-item");if(o){if(o.classList.contains("pending-item"))return;A.stopPropagation();const e=o.dataset.id;e&&v.selectRequest(e)}}}handleAction(A,e){const t=F.state.requests.find((A=>A.requestId===e));t&&(Ii(xi(t,A)),v.clearOpenDropdown())}render(){const A=function(){const A=(F.state.ui.tabConfigs.MOCKED.searchText||"").toLowerCase();return F.state.requests.filter((e=>{var t,r;return"MOCKED"===e.interceptionType&&(((null==(t=e.request)?void 0:t.url)||"").toLowerCase().includes(A)||((null==(r=e.rule)?void 0:r.ruleName)||"").toLowerCase().includes(A))}))}(),e=F.state.ui.tabConfigs.MOCKED.selectedRequestId,t=F.state.ui.activeDropdownId;if(!A||0===A.length)return void(this.element.querySelector(".mfm-empty")||(this.element.innerHTML='<div class="mfm-empty">No requests found</div>'));const r=this.element.querySelector(".mfm-empty");r&&r.remove();const n=A.map((A=>A.requestId));Array.from(this.element.querySelectorAll(".mfm-request-item")).forEach((A=>{n.includes(A.dataset.id||"")||A.remove()})),A.forEach(((A,r)=>{const n=this.element.querySelector(`[data-id="${A.requestId}"]`),o=A.rule?ki.render(A):Li.render(A),s=e===A.requestId,i=t===A.requestId,a=`${JSON.stringify(A).length}_${s}_${i}`;if(n){if(n.dataset.hash!==a){const A=document.createElement("div");A.innerHTML=o;const e=A.firstElementChild;e&&(e.dataset.hash=a,this.element.replaceChild(e,n))}}else{const A=document.createElement("div");A.innerHTML=o;const e=A.firstElementChild;if(!e)return;e.dataset.hash=a;const t=this.element.children[r];t?this.element.insertBefore(e,t):this.element.appendChild(e)}}))}destroy(){this.unsubscribe&&this.unsubscribe(),this.element.remove()}}class Mi{static render(A){var e,t;const r=void 0===(null==(e=A.response)?void 0:e.statusCode),n=r?"Pending":null==(t=A.response)?void 0:t.statusCode,o=0===n?"Error":n,s=F.state.ui.tabConfigs.OTHER.selectedRequestId===A.requestId,i=function(A,e,t){return A?"pending":e?"success":t?"error":""}(r,!r&&"number"==typeof n&&n>=200&&n<300,!r&&"number"==typeof n&&(0===n||n>=400)),{path:a,domain:c}=Fi(A.request.url);return`\n <div class="mfm-request-item ${s?"active":""} ${r?"pending-item":""}" data-id="${A.requestId}" data-type="request">\n <div class="mfm-request-header">\n <div class="mfm-flex-row">\n <span class="mfm-method ${(A.request.method||"").toLowerCase()}">${A.request.method}</span>\n <span class="mfm-status ${i}">\n ${r?'<span class="mfm-spinner"></span>':o}\n </span>\n </div>\n <div class="mfm-dropdown" style="display: flex; align-items: center; gap: 8px;">\n <button class="mfm-btn-icon mfm-dots-btn">\n <svg width="16" height="16" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><circle cx="12" cy="12" r="1"></circle><circle cx="12" cy="5" r="1"></circle><circle cx="12" cy="19" r="1"></circle></svg>\n </button>\n <div class="mfm-dropdown-content ${F.state.ui.activeDropdownId===A.requestId?"show":""}">\n <button data-action="create-mock" style="color: var(--mfm-primary); font-weight: 600;">Create Mock</button>\n <button data-action="copy-curl">Copy as cURL</button>\n <button data-action="copy-fetch">Copy as Fetch</button>\n <button data-action="copy-xhr">Copy as XHR</button>\n </div>\n </div>\n </div>\n <div class="mfm-url-container">\n <div class="mfm-url-path" title="${A.request.url}">${a}</div>\n <div class="mfm-url-domain">${c}</div>\n </div>\n </div>\n `}}function Si(A,e){const t=document.createElement("div");t.className="mfm-response-editor",t.id="mfm-shared-editor",t.innerHTML=`\n <div class="mfm-editor-header">\n <div style="display: flex; align-items: center; gap: 12px;">\n <h4 style="margin: 0; font-size: 1rem;">${e.title||"Edit Mock"}</h4>\n <div class="mfm-switch-with-label">\n <span class="mfm-label">Enable</span>\n <label class="mfm-switch" style="margin-right: 0; width: 32px; height: 18px;">\n <input type="checkbox" id="mfm-editor-enabled-switch">\n <span class="mfm-slider" style="border-radius: 34px;"></span>\n </label>\n </div>\n </div>\n <button class="mfm-btn-icon" id="mfm-editor-close" style="padding: 0; min-height: auto;">${K}</button>\n </div>\n\n <div class="mfm-url-preview" style="font-size: 0.75rem; color: var(--mfm-text-dim); margin-bottom: 8px; word-break: break-all;" id="mfm-editor-url"></div>\n\n <div style="display: flex; align-items: center; gap: 12px; margin-bottom: 8px;">\n <label style="font-size: 0.75rem; color: var(--mfm-text-dim);">Status Code:</label>\n <input type="number" id="mfm-editor-status" class="mfm-input" style="width: 80px; height: 28px; font-size: 0.8rem;" value="200">\n </div>\n\n <textarea id="mfm-editor-textarea" spellcheck="false" placeholder="Enter response body..."></textarea>\n \n <div class="mfm-editor-footer">\n <button class="mfm-btn-text" id="mfm-editor-cancel">Cancel</button>\n <button class="mfm-btn mfm-btn-primary" style="padding: 6px 16px; border-radius: 4px; font-size: 0.8rem;" id="mfm-editor-save">Apply Changes</button>\n </div>\n `,A.appendChild(t);const r=t.querySelector("#mfm-editor-textarea"),n=t.querySelector("#mfm-editor-status"),o=t.querySelector("#mfm-editor-enabled-switch"),s=t.querySelector("#mfm-editor-url"),i=t.querySelector("#mfm-editor-close"),a=t.querySelector("#mfm-editor-cancel"),c=t.querySelector("#mfm-editor-save");return i.onclick=a.onclick=()=>e.onCancel(),c.onclick=()=>{e.onSave({body:r.value,status:parseInt(n.value)||200,enabled:o.checked})},{show:(A,e)=>{s.innerText=A.request.url,r.value=e.body,n.value=e.status.toString(),o.checked=e.enabled,t.classList.add("active")},hide:()=>{t.classList.remove("active")},destroy:()=>{t.remove()}}}class Di{constructor(A){this.unsubscribe=null,this.editor=null,this.parent=A,this.element=document.createElement("div"),this.element.className="mfm-other-apis-activity",this.init()}init(){this.parent.appendChild(this.element),this.attachEvents(),this.unsubscribe=F.subscribe((()=>{"OTHER"===F.state.ui.selectedTab&&this.render()})),this.render()}attachEvents(){this.element.onclick=A=>{var e;const t=A.target,r=t.closest(".mfm-dots-btn");if(r){A.stopPropagation();const e=r.closest(".mfm-request-item"),t=null==e?void 0:e.dataset.id;return void(t&&v.setOpenDropdown(t))}const n=t.closest("[data-action]");if(n){A.stopPropagation();const t=n.dataset.action,r=n.closest(".mfm-request-item"),o=null==r?void 0:r.dataset.id;return"create-mock"===t&&o?this.openMockEditor(o):t&&o&&this.handleAction(t,o),void(null==(e=n.parentElement)||e.classList.remove("show"))}const o=t.closest(".mfm-request-item");if(o){if(o.classList.contains("pending-item"))return;A.stopPropagation();const e=o.dataset.id;e&&v.selectRequest(e)}}}handleAction(A,e){const t=F.state.requests.find((A=>A.requestId===e));t&&(Ii(xi(t,A)),v.clearOpenDropdown())}openMockEditor(A){var e,t,r,n,o;const s=F.state.requests.find((e=>e.requestId===A));if(!s)return;this.editor||(this.editor=Si(this.parent,{onSave:A=>this.handleSaveMock(s,A),onCancel:()=>this.editor.hide()}));const i={body:"string"==typeof(null==(e=s.response)?void 0:e.body)?s.response.body:JSON.stringify((null==(t=s.response)?void 0:t.body)||{},null,2),status:"Error"===(null==(r=s.response)?void 0:r.statusCode)||"error"===(null==(n=s.response)?void 0:n.statusCode)?504:Number(null==(o=s.response)?void 0:o.statusCode)||200,enabled:!0};this.editor.show(s,i),v.clearOpenDropdown()}async handleSaveMock(A,e){await hi.createBulkMocks([{url:A.request.url,method:A.request.method,body:A.request.body||{},status:e.status,response:e.body,headers:JSON.stringify(A.request.headers||{}),enabled:e.enabled}])&&(this.editor.hide(),setTimeout((()=>v.reloadMappings()),1e3))}render(){const A=function(){const A=(F.state.ui.tabConfigs.OTHER.searchText||"").toLowerCase();return F.state.requests.filter((e=>{var t;return"MOCKED"!==e.interceptionType&&((null==(t=e.request)?void 0:t.url)||"").toLowerCase().includes(A)}))}(),e=F.state.ui.tabConfigs.OTHER.selectedRequestId,t=F.state.ui.activeDropdownId;if(!A||0===A.length)return void(this.element.querySelector(".mfm-empty")||(this.element.innerHTML='<div class="mfm-empty">No requests found</div>'));const r=this.element.querySelector(".mfm-empty");r&&r.remove();const n=A.map((A=>A.requestId));Array.from(this.element.querySelectorAll(".mfm-request-item")).forEach((A=>{n.includes(A.dataset.id||"")||A.remove()})),A.forEach(((A,r)=>{const n=this.element.querySelector(`[data-id="${A.requestId}"]`),o=Mi.render(A),s=e===A.requestId,i=t===A.requestId,a=`${JSON.stringify(A).length}_${s}_${i}`;if(n){if(n.dataset.hash!==a){const A=document.createElement("div");A.innerHTML=o;const e=A.firstElementChild;e&&(e.dataset.hash=a,this.element.replaceChild(e,n))}}else{const A=document.createElement("div");A.innerHTML=o;const e=A.firstElementChild;if(!e)return;e.dataset.hash=a;const t=this.element.children[r];t?this.element.insertBefore(e,t):this.element.appendChild(e)}}))}destroy(){this.unsubscribe&&this.unsubscribe(),this.editor&&this.editor.destroy(),this.element.remove()}}const Ti=()=>!0===F.state.features.bulk_mock;function Oi(A){const e=document.createElement("div");e.id="mfm-root";const t=document.createElement("div");t.className="mfm-widget-toggle",t.innerHTML='\n <div class="mfm-toggle-section mfm-toggle-reload" title="Reload Mappings"><svg width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><path d="M21 12a9 9 0 1 1-9-9c2.52 0 4.93 1 6.74 2.74L21 8"></path><polyline points="21 3 21 8 16 8"></polyline></svg></div>\n <div class="mfm-toggle-divider"></div>\n <div class="mfm-toggle-section mfm-toggle-logo" title="MockForMe"><img src="https://ik.imagekit.io/mfm/static-collection/mfm-48x48.png" alt="Logo"></div>\n ';const r=document.createElement("div");r.className="mfm-main-container hidden",e.appendChild(t),e.appendChild(r),A.appendChild(e),function(A,e){const t=(e,t)=>{const r=A.getBoundingClientRect(),n=r.width||60,o=r.height||60,s=window.innerWidth-n,i=window.innerHeight-o,a=Math.max(0,Math.min(e,s)),c=Math.max(0,Math.min(t,i));A.style.left=`${a}px`,A.style.top=`${c}px`,A.style.bottom="auto",A.style.right="auto"},r=()=>{const A=localStorage.getItem("MFM_POSITION");if(A)try{const e=JSON.parse(A);"number"==typeof e.xPercent&&"number"==typeof e.yPercent&&t(e.xPercent*window.innerWidth,e.yPercent*window.innerHeight)}catch{}};r();let n=!1,o=0,s=0,i=0,a=0;const c=t=>{const r="touchstart"===t.type,c=r?t.touches[0].clientX:t.clientX,d=r?t.touches[0].clientY:t.clientY;n=!0,o=c,s=d;const u=A.getBoundingClientRect();i=u.left,a=u.top,e.dataset.moved="false",document.addEventListener("mousemove",l),document.addEventListener("mouseup",B),document.addEventListener("touchmove",l,{passive:!1}),document.addEventListener("touchend",B),A.style.transition="none"},l=A=>{if(!n)return;const r="touchmove"===A.type;r&&A.cancelable&&A.preventDefault();const c=r?A.touches[0].clientX:A.clientX,l=r?A.touches[0].clientY:A.clientY,B=c-o,d=l-s;(Math.abs(B)>5||Math.abs(d)>5)&&(e.dataset.moved="true"),t(i+B,a+d)},B=()=>{if(!n)return;n=!1,document.removeEventListener("mousemove",l),document.removeEventListener("mouseup",B),document.removeEventListener("touchmove",l),document.removeEventListener("touchend",B),A.style.transition="";const e=A.getBoundingClientRect();((A,e)=>{const t=A/window.innerWidth,r=e/window.innerHeight;localStorage.setItem("MFM_POSITION",JSON.stringify({xPercent:t,yPercent:r}))})(e.left,e.top)};e.addEventListener("mousedown",c),e.addEventListener("touchstart",c,{passive:!1}),window.addEventListener("resize",r),window.addEventListener("orientationchange",r)}(e,t),function(A){const e=document.createElement("div");e.className="mfm-header",e.innerHTML=`\n <div class="mfm-logo">\n <img src="${L}" height="32" alt="MockForMe Logo">\n </div>\n <div class="mfm-header-actions">\n ${F.state.features.snipping?'\n <button class="mfm-btn-icon" id="mfm-snip-tool" title="Snipping Tool - Improve Design">\n <svg width="18" height="18" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-scissors"><circle cx="6" cy="6" r="3"></circle><circle cx="6" cy="18" r="3"></circle><line x1="20" y1="4" x2="8.12" y2="15.88"></line><line x1="14.47" y1="14.48" x2="20" y2="20"></line><line x1="8.12" y1="8.12" x2="12" y2="12"></line></svg>\n </button>\n ':""}\n <label class="mfm-switch" title="Toggle Mock Interception">\n <input type="checkbox" id="mfm-intercept-toggle" ${F.state.isInterceptEnabled?"checked":""}>\n <span class="mfm-slider"></span>\n </label>\n <button class="mfm-btn-icon" id="mfm-reload-header" title="Reload Mappings">\n <svg width="18" height="18" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-rotate-cw"><path d="M21 12a9 9 0 1 1-9-9c2.52 0 4.93 1 6.74 2.74L21 8"></path><polyline points="21 3 21 8 16 8"></polyline></svg>\n </button>\n <button class="mfm-btn-icon" id="mfm-delete-token" title="Delete Token">\n <svg width="18" height="18" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-trash-2"><path d="M3 6h18"></path><path d="M19 6v14c0 1-1 2-2 2H7c-1 0-2-1-2-2V6"></path><path d="M8 6V4c0-1 1-2 2-2h4c1 0 2 1 2 2v2"></path><line x1="10" y1="11" x2="10" y2="17"></line><line x1="14" y1="11" x2="14" y2="17"></line></svg>\n </button>\n <button class="mfm-btn-icon" id="mfm-close-widget" title="Close Widget">\n ${K}\n </button>\n </div>\n `,A.appendChild(e);const t=e.querySelector("#mfm-intercept-toggle"),r=e.querySelector("#mfm-snip-tool"),n=e.querySelector("#mfm-reload-header"),o=e.querySelector("#mfm-delete-token"),s=e.querySelector("#mfm-close-widget");t&&(t.onchange=()=>{v.toggleInterception()}),r&&(r.onclick=()=>{Ui.start()}),n&&(n.onclick=()=>{n.innerHTML='<div class="mfm-spinner"></div>',n.style.pointerEvents="none",v.reloadMappings()}),o&&(o.onclick=()=>{v.deleteToken()}),s&&(s.onclick=()=>{v.toggleWidget()}),F.subscribe((A=>{t&&(t.checked=A.isInterceptEnabled)}))}(r),new S(r),function(A){var e,t;const r=document.createElement("div");r.className="mfm-tabs-container";const n=document.createElement("div");n.className="mfm-tabs-nav",[{id:"MAPPINGS",label:"Mappings"},{id:"MOCKED",label:"Mocked"},{id:"OTHER",label:"Others"}].forEach((A=>{const e=document.createElement("button");e.className="mfm-tab-btn "+(F.state.ui.selectedTab===A.id?"active":""),e.innerText=A.label,e.onclick=()=>{v.setTab(A.id)},e.dataset.tabId=A.id,n.appendChild(e)}));const o=document.createElement("div");o.className="mfm-tab-toolbar",o.innerHTML=`\n <div class="mfm-toolbar-row">\n <input type="text" class="mfm-input" id="mfm-search" placeholder="Search requests..." value="${(null==(e=F.state.ui.tabConfigs[F.state.ui.selectedTab])?void 0:e.searchText)||""}">\n <label class="mfm-preserve-logs">\n <input type="checkbox" id="mfm-preserve-check" ${(null==(t=F.state.ui.tabConfigs[F.state.ui.selectedTab])?void 0:t.isPreserveLogs)?"checked":""}>\n Preserve\n </label>\n <button class="mfm-btn-outline clear-btn" id="mfm-clear-btn" title="Clear requests">\n ${k}\n </button>\n <div class="mfm-dropdown mfm-toolbar-dropdown" id="mfm-toolbar-dropdown">\n <button class="mfm-btn-outline dots-btn" id="mfm-dots-btn" title="More options">\n <svg width="14" height="14" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><circle cx="12" cy="12" r="1.5"></circle><circle cx="12" cy="5" r="1.5"></circle><circle cx="12" cy="19" r="1.5"></circle></svg>\n </button>\n <div class="mfm-dropdown-menu">\n <button class="mfm-dropdown-item" id="mfm-bulk-mock-btn">Bulk Mock</button>\n </div>\n\n\n </div>\n </div>\n `;const s=document.createElement("div");s.className="mfm-tab-content",r.appendChild(n),r.appendChild(o),r.appendChild(s),A.appendChild(r);const i=new Hi(s),a=new Ki(s),c=new Di(s),l=o.querySelector("#mfm-search"),B=o.querySelector("#mfm-clear-btn"),d=o.querySelector("#mfm-preserve-check"),u=o.querySelector(".mfm-preserve-logs");l&&(l.oninput=A=>{const e=A.target;v.setSearchText(e.value)}),B&&(B.onclick=()=>{v.clearRequests()}),d&&(d.onchange=A=>{const e=A.target;v.setPreserveLogs(Boolean(e.checked))});const g=o.querySelector("#mfm-dots-btn"),m=o.querySelector("#mfm-bulk-mock-btn");g&&(g.onclick=A=>{A.stopPropagation(),v.setOpenDropdown("toolbar")}),m&&(m.onclick=()=>{Ti()&&(v.setBulkMockOpen(!0),v.clearOpenDropdown())});const w=()=>{const A=F.state.ui.selectedTab,e=F.state.ui.tabConfigs[A];if(n.querySelectorAll(".mfm-tab-btn").forEach((e=>{e.classList.toggle("active",e.dataset.tabId===A)})),l){const A=(null==e?void 0:e.searchText)||"";l.value!==A&&(l.value=A)}const t="MAPPINGS"===A;B&&(B.style.display=t?"none":"block"),u&&(u.style.display=t?"none":"flex");const r=o.querySelector("#mfm-toolbar-dropdown");if(r){const e=Ti();r.style.display="OTHER"===A&&e?"block":"none",r.classList.toggle("show","toolbar"===F.state.ui.activeDropdownId);const t=r.querySelector("#mfm-bulk-mock-btn");t&&(t.style.display=e?"block":"none")}!t&&d&&(d.checked=Boolean(null==e?void 0:e.isPreserveLogs)),i.element&&(i.element.style.display="MAPPINGS"===A?"block":"none"),a.element&&(a.element.style.display="MOCKED"===A?"block":"none"),c.element&&(c.element.style.display="OTHER"===A?"block":"none")};w(),F.subscribe((()=>w()))}(r),function(A){const e=document.createElement("div");e.className="mfm-bottomsheet",e.id="mfm-details-sheet",e.innerHTML='\n <div class="mfm-bottomsheet-header" style="justify-content: flex-start; gap: 8px; padding-right: 12px;">\n <button class="mfm-btn-icon back-btn" id="mfm-close-sheet" title="Back"><svg width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><polyline points="15 18 9 12 15 6"></polyline></svg></button>\n <div id="mfm-header-info" style="display: flex; align-items: baseline; gap: 6px; overflow: hidden; flex: 1; cursor: pointer;"></div>\n </div>\n <div class="mfm-bottomsheet-content"></div>\n ',A.appendChild(e);const t=e.querySelector("#mfm-close-sheet"),r=e.querySelector("#mfm-header-info");if(!t||!r)return;t.onclick=A=>{A.stopPropagation(),v.closeDetails()};let n=!1,o="TEXT",s={};const i=()=>{const A=q({sheet:e,infoContainer:r,isUrlExpanded:n,responseBodyMode:o,prevState:s});n=A.isUrlExpanded,o=A.responseBodyMode,s=A.prevState};r.onclick=()=>{n=!n,i()},F.subscribe(i),i()}(r),function(A){const e=document.createElement("div");e.className="mfm-bulk-mock-popup",e.id="mfm-bulk-mock-popup";let t=new Set,r=!1,n="",o=!1,s=new Map,i=new Map,a=new Map,c=null,l=null;const B=()=>{const{isBulkMockOpen:A}=F.state.ui,{bulk_mock:t}=F.state.features;if(!A||!t)return o&&h(),void e.classList.remove("active");o||(d(),o=!0),g(),u()},d=()=>{e.innerHTML=`\n <div class="mfm-bulk-mock-container">\n <div class="mfm-bulk-mock-header">\n <h3>Bulk Mock APIs</h3>\n <div class="mfm-bulk-mock-header-actions">\n <button class="mfm-btn mfm-btn-primary" id="mfm-bulk-save-btn" disabled style="padding: 6px 12px; font-size: 0.8rem; border-radius: 4px;">\n Save Mock\n </button>\n <button class="mfm-btn-icon" id="mfm-bulk-close-btn">${K}</button>\n </div>\n </div>\n <div class="mfm-bulk-mock-filters">\n <input type="text" class="mfm-input" id="mfm-bulk-search" placeholder="Search APIs..." value="">\n <div style="display: flex; align-items: center; justify-content: space-between;">\n <label class="mfm-checkbox-label" style="display: flex; align-items: center; gap: 4px; font-size: 0.75rem; color: var(--mfm-text-dim); cursor: pointer;">\n <input type="checkbox" id="mfm-bulk-domain-filter" style="margin: 0;">\n Current/Sub domain only\n </label>\n <span id="mfm-bulk-selection-stats" style="font-size: 0.75rem; color: var(--mfm-text-dim);">Selected: 0/10 - 0.0 KB</span>\n </div>\n </div>\n <div class="mfm-bulk-mock-list" id="mfm-bulk-list-container">\n </div>\n </div>\n\n <div class="mfm-bulk-mock-list" id="mfm-bulk-list-container">\n </div>\n </div>\n `,e.classList.add("active"),f()},u=()=>{const A=e.querySelector("#mfm-bulk-save-btn");A&&(A.disabled=0===t.size,A.innerText="Save Mock");const r=e.querySelector("#mfm-bulk-selection-stats");if(r){const A=(()=>{const A={apis:F.state.requests.filter((A=>t.has(A.requestId))).map((A=>{var e,t,r;const n=s.get(A.requestId)??("string"==typeof(null==(e=A.response)?void 0:e.body)?A.response.body:JSON.stringify((null==(t=A.response)?void 0:t.body)||{}));let o=i.get(A.requestId);if(void 0===o){const e=null==(r=A.response)?void 0:r.statusCode;"Error"===e||"error"===e?o=504:null!=e?(o=Number(e),isNaN(o)&&(o=504)):o=200}return{url:A.request.url,method:A.request.method,body:A.request.body||{},status:o,response:n,headers:JSON.stringify(A.request.headers||{}),enabled:a.get(A.requestId)||!1}}))};return new Blob([JSON.stringify(A)]).size})(),e=A>1048576?`${(A/1048576).toFixed(2)} MB`:`${(A/1024).toFixed(1)} KB`;r.innerText=`Selected: ${t.size}/10 - ${e}`,A>1048576?(r.style.color="var(--mfm-error, #ef4444)",r.style.fontWeight="600"):(r.style.color="var(--mfm-text-dim)",r.style.fontWeight="normal")}},g=()=>{const A=window.location.hostname,o=F.state.requests.filter((A=>"OTHER"===A.interceptionType)).filter((e=>{if(!e.request.url.toLowerCase().includes(n.toLowerCase()))return!1;if(r)try{const t=new URL(e.request.url);return t.hostname===A||t.hostname.endsWith("."+A)}catch(A){return!1}return!0})),i=e.querySelector("#mfm-bulk-list-container");i&&(i.innerHTML=`\n ${0===o.length?'<div class="mfm-empty">No APIs found</div>':""}\n ${o.map((A=>{var e,r;const n=t.has(A.requestId),o=A.request.method||"GET",i=s.has(A.requestId),a=s.get(A.requestId)??("string"==typeof(null==(e=A.response)?void 0:e.body)?A.response.body:JSON.stringify((null==(r=A.response)?void 0:r.body)||{})),c=new Blob([a]).size,l=c>1048576?`${(c/1048576).toFixed(2)} MB`:`${(c/1024).toFixed(1)} KB`,{path:B,domain:d}=Fi(A.request.url);return`\n <div class="mfm-bulk-item ${n?"selected":""}" data-id="${A.requestId}">\n <input type="checkbox" class="mfm-bulk-checkbox" ${n?"checked":""} ${!n&&t.size>=10?"disabled":""}>\n <span class="mfm-method ${String(o).toLowerCase()}">${o}</span>\n <div class="mfm-url-container">\n <div class="mfm-url-path" title="${A.request.url}">${B}</div>\n <div class="mfm-url-domain">${d}</div>\n </div>\n <span class="mfm-bulk-size">${l}</span>\n ${n?`\n <div class="mfm-bulk-item-actions">\n <button class="mfm-btn-text edit-response-btn" data-id="${A.requestId}">\n ${i?"Edited":"Edit Response"}\n </button>\n </div>\n `:""}\n </div>\n `})).join("")}\n `,i.querySelectorAll(".mfm-bulk-item").forEach((A=>{const e=A.dataset.id,t=A.querySelector(".mfm-bulk-checkbox"),r=A.querySelector(".edit-response-btn");t&&(t.onclick=A=>{A.stopPropagation(),m(e,t.checked)}),r&&(r.onclick=A=>{A.stopPropagation(),w(e)}),A.onclick=r=>{if((r.target===A||r.target.classList.contains("mfm-url")||r.target.classList.contains("mfm-method"))&&t&&!t.disabled){const A=!t.checked;t.checked=A,m(e,A)}}})))},m=(A,e)=>{e?t.size<10&&t.add(A):(t.delete(A),s.delete(A)),u(),g()},w=A=>{var t,r,n;const o=F.state.requests.find((e=>e.requestId===A));if(!o)return;c=A,l||(l=Si(e,{onSave:A=>p(A),onCancel:()=>l.hide()}));let B=s.get(A);void 0===B&&(B="string"==typeof(null==(t=o.response)?void 0:t.body)?o.response.body:JSON.stringify((null==(r=o.response)?void 0:r.body)||{},null,2));let d=i.get(A);if(void 0===d){const A=null==(n=o.response)?void 0:n.statusCode;d="Error"===A||"error"===A?504:Number(A)||200}l.show(o,{body:B,status:d,enabled:a.get(A)||!1})},p=A=>{c&&(s.set(c,A.body),i.set(c,A.status),a.set(c,A.enabled),H("Changes updated locally"),g(),l.hide())},h=()=>{o=!1,n="",r=!1,t.clear(),s.clear(),i.clear(),a.clear(),c=null},f=()=>{const A=e.querySelector("#mfm-bulk-close-btn"),o=e.querySelector("#mfm-bulk-save-btn"),s=e.querySelector("#mfm-bulk-search"),i=e.querySelector("#mfm-bulk-domain-filter"),a=e.querySelector("#mfm-editor-close"),c=e.querySelector("#mfm-editor-cancel"),B=e.querySelector("#mfm-editor-save");A&&(A.onclick=()=>{v.setBulkMockOpen(!1)}),o&&(o.onclick=async()=>{const A=F.state.requests.filter((A=>t.has(A.requestId)));await U(A)}),s&&(s.oninput=A=>{n=A.target.value,g()}),i&&(i.onchange=A=>{r=A.target.checked,g()}),a&&(a.onclick=()=>null==l?void 0:l.hide()),c&&(c.onclick=()=>null==l?void 0:l.hide()),B&&(B.onclick=()=>p({body:e.querySelector("#mfm-editor-textarea").value,status:parseInt(e.querySelector("#mfm-editor-status").value)||200,enabled:e.querySelector("#mfm-editor-enabled-switch").checked}))},U=async A=>{const e=F.state.token;if(!e)return void H("Token not found","error");const t={apis:A.map((A=>{var e,t,r;let n=s.get(A.requestId);void 0===n&&(n="string"==typeof(null==(e=A.response)?void 0:e.body)?A.response.body:JSON.stringify((null==(t=A.response)?void 0:t.body)||{}));let o=i.get(A.requestId);if(void 0===o){let e=null==(r=A.response)?void 0:r.statusCode;o=200,"Error"===e||"error"===e?o=504:null!=e&&(o=Number(e),isNaN(o)&&(o=504))}return{url:A.request.url,method:A.request.method,body:A.request.body||{},status:o,response:n,headers:JSON.stringify(A.request.headers||{}),enabled:a.get(A.requestId)||!1}}))},r=JSON.stringify(t),n=new Blob([r]).size;if(n>1048576)H(`Payload size (${(n/1048576).toFixed(2)}MB) exceeds 1MB limit.`,"error");else try{const A=await fetch(`${Q}${C}/httpRequestBulkMock/bulk_mock`,{method:"POST",headers:{"Content-Type":"application/json",mockforme:e},body:r}),t=await A.json();A.ok?(v.setBulkMockOpen(!1),H(t.message||"Bulk mocks created successfully"),setTimeout((()=>{v.reloadMappings()}),2e3)):(H(t.message||"Bulk upload failed","error"),console.error("Bulk upload failed",t))}catch(A){H("Error during bulk upload","error"),console.error("Error during bulk upload:",A)}};A.appendChild(e),F.subscribe(B),B()}(r);const n=A=>{const e=Boolean(A.token),n=r.querySelector(".mfm-header"),o=r.querySelector(".mfm-tabs-container"),s=r.querySelector(".mfm-token-form");n&&(n.style.display=e?"flex":"none"),o&&(o.style.display=e?"block":"none"),s&&(s.style.display=e?"none":"block"),r.classList.toggle("hidden",!A.isOpen),t.classList.toggle("hidden",A.isOpen)};F.subscribe(n),n(F.state);const o=t.querySelector(".mfm-toggle-reload"),s=t.querySelector(".mfm-toggle-logo");return o&&(o.onclick=A=>{A.stopPropagation(),"true"!==t.dataset.moved&&(F.state.token?v.reloadMappings():F.update("isOpen",!0))}),s&&(s.onclick=A=>{A.stopPropagation(),"true"!==t.dataset.moved&&(F.state.token?v.toggleWidget():F.update("isOpen",!0))}),window.addEventListener("click",(A=>{const e=A.target;(null==e?void 0:e.closest(".mfm-dropdown"))||v.clearOpenDropdown()})),e}function Ri(A){s.info("Initializing MockForMe Widget");let e=null;const t=A=>{A&&(e=Oi(A))},r=()=>A||document.body;r()?t(r()):"loading"===document.readyState?document.addEventListener("DOMContentLoaded",(()=>t(r()))):document.body&&t(document.body),B();const o={[n.MFM_RES_MAPPINGS]:A=>{if(!A)return;const e=F.state.isMappingsLoading;if(A.token&&!F.state.token&&(s.info("Setting token from incoming MFM_RES_MAPPINGS"),F.update("token",A.token),localStorage.setItem("MFM_TOKEN",A.token)),F.set("mappings",A),F.update("isMappingsLoading",!1),F.state.isTokenValidating){const A=localStorage.getItem("MFM_TOKEN_TEMP")||F.state.token;A&&(F.update("token",A),localStorage.setItem("MFM_TOKEN",A),localStorage.removeItem("MFM_TOKEN_TEMP")),F.update("isTokenValidating",!1),F.update("isTokenLoading",!1),v.flushQueue()}I(),e&&!F.state.ui.tokenError&&H("Mappings reloaded successfully")},[n.MFM_REQ]:A=>{A&&(s.info("Captured Request",A),v.addRequest(A))},[n.MFM_RES]:A=>{A&&(s.info("Captured Response",A),v.addRequest(A))},[n.MFM_TOKEN_ERROR]:A=>{x(n.MFM_TOKEN_ERROR,A)},[n.MFM_TOKEN_API_FAILED]:A=>{x(n.MFM_TOKEN_API_FAILED,A)},[n.MFM_TOGGLE_INTERCEPTION]:A=>{A&&"boolean"==typeof A.enabled&&v.toggleInterception(A.enabled)}},a=Object.keys(o).map((A=>function(A,e){B(),i.has(A)||i.set(A,new Set);const t=i.get(A);return t.add(e),()=>{t.delete(e)}}(A,(e=>{(0,o[A])(e)}))));return F.state.token&&v.fetchSavedMappings(),{destroy(){a.forEach((A=>A())),e&&e.remove()},actions:v}}const Ni={run:Ri,initMFM:Ri,actions:v};window.MFM=Ni}},e={};function t(r){var n=e[r];if(void 0!==n)return n.exports;var o=e[r]={exports:{}};return A[r](o,o.exports,t),o.exports}t.d=(A,e)=>{for(var r in e)t.o(e,r)&&!t.o(A,r)&&Object.defineProperty(A,r,{enumerable:!0,get:e[r]})},t.o=(A,e)=>Object.prototype.hasOwnProperty.call(A,e),t.r=A=>{"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(A,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(A,"__esModule",{value:!0})};var r={};t.d(r,{mockforme:()=>P});const n=()=>"undefined"!=typeof process&&null!=process.versions?.node,o=A=>{try{return A?A.toLowerCase():A}catch(A){return console.log(A),null}},s=(A,e)=>{const t=A.split("/"),r=e.split("/");if(t.length!==r.length)return!1;for(let A=0;A<t.length;A++){const e=t[A];if(e!==r[A]&&":any"!==e)return!1}return!0};let i=[];function a(A){i=A}function c(){return i}function l(A,e="get"){const t=A=>A.startsWith("/")?A:`/${A}`,r=t(A);for(const n of i)if(o(n.apiMethod)===o(e)){const o=t(n.apiEndpoint);if(o===r||s(o,r)){console.log(`[MockForMe] Match Found: ${e} ${A} -> ${n.apiEndpoint}`);const t={url:A,method:n.apiMethod,_ack:n._ack||null};return n._ri_&&(t._ri_=n._ri_),t}}return null}const B="JAVASCRIPT",d="CHROME_EXTENSION",u="mfmver",g="mockforme",m="9.0.0",w="https://api.mockforme.com",p=`${w}/mockforme`,h=`${w}/gateway/3f4eae522b`;let f=null,Q=null,C=null,U=[];function F({_o:A,mk:e,_mck:t,_rules:r}){f=A,Q=e,C=t,U=r}function y(){return U}function b(){return`${p}/${f}/${Q}`}function E(){return C}const v=A=>{try{return new URL(A,window.location.origin).toString()}catch{return A}},H=function(A,e,t){const r=n();var o;function s(){if(4==o.readyState)if(o.status.toString().match(/^20[0-9]$/)){var A=function(){var A=o.getResponseHeader("Content-Type"),e=o.responseText;if(A){var t=A.split(";");try{return"application/json"===t[0]?JSON.parse(e):e}catch(A){throw"Unable to convert response header"}}}();e.call(this,A,o)}else t.call(this,o.responseText,o)}function i(A,e){var t=[];for(var r in A)if(A.hasOwnProperty(r)){var n=e?e+"["+r+"]":r,o=A[r];t.push("object"==typeof o?i(o,n):encodeURIComponent(n)+"="+encodeURIComponent(o))}return t.join("&")}return r||(window.XMLHttpRequest?o=new XMLHttpRequest:window.ActiveXObject&&(o=new ActiveXObject("Microsoft.XMLHTTP"))),{request:function(){if(!r){if(window.XMLHttpRequest)o.onload=s;else{if(!window.ActiveXObject)throw"unable to process ajax";o.onreadystatechange=s}var e=i(A.params);if("get"==A.method.toLowerCase()&&"object"==typeof A.params){if(-1==A.url.indexOf("?"))A.url+="?";else{var t=A.url.split("?");t[1]&&t[1].split("=")[1]&&(A.url+="&")}A.url+=e}A.hasOwnProperty("async")||(A.async=!0),o.open(A.method,A.url,A.async),A.headers&&function(A){for(let e in A)o.setRequestHeader(e,A[e])}(A.headers),o.send(e)}}}};function I({di:A,iv:e},t){var r;const n=function(A,e){const t=e.length;return A.split("").map(((A,r)=>String.fromCharCode(A.charCodeAt(0)^e.charCodeAt(r%t)))).join("")}((r=A,"undefined"!=typeof Buffer?Buffer.from(r,"base64").toString("utf8"):decodeURIComponent(escape(atob(r)))),t+e);return JSON.parse(n)}function x(A,e,t,r){fetch(h,{method:"GET",headers:{[g]:A,[u]:m,"x-mfm-adaptor":e}}).then((A=>{if(!A.ok)throw A;return A.json()})).then((A=>{if(A){const{di:e,iv:r,_o:n,_mck:o,mk:s,r:i}=A,c=I({di:e,iv:r},n);F({_o:n,mk:s,_mck:o,_rules:i}),c&&(a(c),t(c,{_o:n,mk:s,_mck:o,_rules:i}))}})).catch((A=>{console.error("Error in loading mocked APIs:",A),r(A)}))}const L="MFM_TOKEN_ERROR",k=new class{constructor(A={}){n()||(this.token=A.token||("undefined"!=typeof localStorage?localStorage.getItem("MFM_TOKEN"):null),this.isAuthenticated=!!this.token,this.onAuthSuccess=A.onAuthSuccess||(()=>{}),this.mappings=A.mappings||[],this.rules=A.rules||[],this.widgetKey=A.widgetKey||null,this.interceptionEnabled="undefined"==typeof localStorage||"false"!==localStorage.getItem("MFM_INTERCEPTION_ENABLED"),this.setupMessageListeners())}setupMessageListeners(){"undefined"!=typeof window&&window.addEventListener("message",(A=>{const{type:e,payload:t}=A.data||{};if(e&&"string"==typeof e&&e.startsWith("MFM_"))switch(e){case"MFM_REQ_MAPPINGS":this.refreshMappings();break;case"MFM_REQ_SAVED_MAPPINGS":this.handleReqSavedMappings();break;case"MFM_SUBMIT_TOKEN":this.handleTokenSubmission(t?.token);break;case"MFM_DEL_CLIENT_TOKEN":this.handleTokenDeletion();break;case"MFM_TOGGLE_INTERCEPTION":this.interceptionEnabled=!!t?.enabled,"undefined"!=typeof localStorage&&localStorage.setItem("MFM_INTERCEPTION_ENABLED",this.interceptionEnabled)}}))}init(){if("undefined"!=typeof document&&this.checkVisibility()&&("undefined"!=typeof window&&Promise.resolve().then(t.bind(t,849)).then((()=>{window.MFM&&"function"==typeof window.MFM.run&&window.MFM.run()})).catch((A=>{console.error("[MockForMe] Failed to load mfm-widget",A)})),console.log("[MockForMe] Widget initialized"),this.token)){const A=this.getSavedMappings();A&&(this.mappings=A.mappings||[],this.rules=A.meta?._rules||[],this.onAuthSuccess(this.token,this.mappings,A.meta),this.updateMappings(this.mappings,A.meta))}}setWidgetKey(A){this.widgetKey=A,this.init()}checkVisibility(){return!this.widgetKey||"undefined"!=typeof localStorage&&localStorage.getItem("widgetKey")===this.widgetKey}handleTokenSubmission(A){A&&(this.token=A,this.isAuthenticated=!0,"undefined"!=typeof localStorage&&localStorage.setItem("MFM_TOKEN",A),this.refreshMappings())}handleTokenDeletion(){this.token=null,this.isAuthenticated=!1,"undefined"!=typeof localStorage&&(localStorage.removeItem("MFM_TOKEN"),localStorage.removeItem("MFM_CACHED_MAPPINGS")),this.mappings=[],this.rules=[],this.onAuthSuccess(null,[],{_rules:[]}),this.updateMappings([],{_rules:[]})}refreshMappings(){this.token&&x(this.token,"JAVASCRIPT",((A,e)=>{this.mappings=A||[],this.rules=e?._rules||[],this.saveMappings(A,e),this.onAuthSuccess(this.token,this.mappings,e),this.updateMappings(this.mappings,e)}),(A=>{console.error("[MockForMe] Failed to fetch mappings",A),A instanceof Response&&A.headers&&"true"===A.headers.get("mfm-invalid-token")&&this.sendMessage(L,{message:"Unauthorized: Invalid token"}),this.updateMappings([],{_rules:[]})}))}saveMappings(A,e){if("undefined"!=typeof localStorage)try{localStorage.setItem("MFM_CACHED_MAPPINGS",JSON.stringify({mappings:A,meta:e}))}catch(A){console.error("[MockForMe] Failed to save mappings to storage",A)}}handleReqSavedMappings(){const A=this.getSavedMappings();A?(this.mappings=A.mappings||[],this.rules=A.meta?._rules||[],this.onAuthSuccess(this.token,this.mappings,A.meta),this.updateMappings(this.mappings,A.meta)):this.refreshMappings()}getSavedMappings(){if("undefined"==typeof localStorage)return null;try{const A=localStorage.getItem("MFM_CACHED_MAPPINGS");return A?JSON.parse(A):null}catch(A){return null}}updateMappings(A,e){this.sendMessage("MFM_RES_MAPPINGS",{apis:A.map((A=>({method:A.apiMethod,url:A.apiEndpoint}))),rules:(e?._rules||[]).map((A=>{const e="object"==typeof A.rule&&null!==A.rule?A.rule:{},t={...A,...e},r=t.timingAction||{},n=r.activeAction||"MODIFY";let o="MODIFY";"delay"===n?o="DELAY":"delay_and_timeout"===n?o="TIMEOUT":"delay_and_redirect"===n&&(o="REDIRECT");const s={ruleName:t.ruleName||t._id||"Unnamed Rule",type:o,conditions:t.conditions||[],modificationActions:t.modificationActions||{}};return("MODIFY"!==o||r.activeAction)&&(s.timingAction=r),s})),token:this.token})}addRequest(A,e){if(!this.interceptionEnabled)return;const t=A=>{if(!A)return{};let e={};return"string"==typeof A?A.split("\r\n").forEach((A=>{const t=A.split(": "),r=t.shift();r&&(e[r]=t.join(": "))})):e="function"==typeof A.entries?Object.fromEntries(A.entries()):A,Object.keys(e).reduce(((A,t)=>(A[t.toLowerCase()]=e[t],A)),{})},r={requestId:e.requestId||Math.random().toString(36).substring(7),interceptionType:"mocked"===A?"MOCKED":"OTHER",request:{method:e.method,url:e.url,headers:t(e.requestHeaders||e.headers),body:e.requestBody||e.body},response:e.pending&&void 0===e.status?null:{statusCode:e.status,headers:t(e.responseHeaders),body:e.responseBody,endTime:(new Date).toISOString()},rule:e.rule};if(e.pending)this.sendMessage("MFM_REQ",r);else if(this.sendMessage("MFM_RES",r),r.response&&r.response.headers){const A=r.response.headers["mfm-invalid-token"];if("true"===A||!0===A){const{message:A}=e.responseBody;console.warn("[MockForMe] Invalid token detected from response headers"),this.sendMessage(L,{message:A||"Unauthorized: Invalid token detected from response headers"}),this.handleTokenDeletion()}}}sendMessage(A,e){"undefined"!=typeof window&&window.postMessage({type:A,payload:e},"*")}};class K{static match(A,e){if(!Array.isArray(e)||0===e.length)return!1;const{url:t,headers:r,queryParams:n,body:o}=A,s="undefined"!=typeof window?window.location.origin:globalThis.location?.origin||"http://localhost";for(const A of e){let e="";const{type:i,key:a,operator:c,value:l}=A;switch(i){case"URL":try{e=new URL(t,s).pathname}catch{e=t}break;case"QUERY_PARAM":if(n&&void 0!==n[a])e=String(n[a]);else try{e=new URL(t,s).searchParams.get(a)||""}catch{e=""}break;case"REQUEST_BODY":if(a){if("object"==typeof o&&null!==o)e=void 0!==o[a]?String(o[a]):"";else if("string"==typeof o)try{const A=JSON.parse(o);e=void 0!==A[a]?String(A[a]):""}catch{e=""}}else e="object"==typeof o?JSON.stringify(o):String(o||"");break;case"REQUEST_HEADER":if(a){const A=a?.toLowerCase();if(e="",r){const t=Object.keys(r).find((e=>e.toLowerCase()===A));e=t?String(r[t]):""}}else e=JSON.stringify(r||{});break;default:return!1}if(!this.evaluate(e,c,l))return!1}return!0}static evaluate(A,e,t){const r=e?.toLowerCase(),n=String(A),o=String(t);switch(r){case"contains":return n.includes(o);case"equal":case"equals":return n===o;case"regexp":try{let A=o;if(A.startsWith("/")&&A.lastIndexOf("/")>0){const e=A.lastIndexOf("/"),t=A.slice(1,e),r=A.slice(e+1);return new RegExp(t,r).test(n)}return new RegExp(A).test(n)}catch{return!1}default:return!1}}}class M{static async apply(A){if(!A||!A.activeAction)return{type:"passThrough",delay:0};const{activeAction:e,actions:t}=A,r=t?.[e];if(!r)return{type:"passThrough",delay:0};const n={type:"passThrough",delay:0},o=Number(r.value||0);switch(e){case"delay":n.delay=o,n.delay>0&&await new Promise((A=>setTimeout(A,1e3*n.delay)));break;case"redirect":case"delay_and_redirect":n.type="redirect",n.delay=o,n.redirectUrl=r.redirectUrl,n.delay>0&&await new Promise((A=>setTimeout(A,1e3*n.delay)));break;case"delay_and_timeout":n.type="timeout",n.delay=o,n.delay>0&&await new Promise((A=>setTimeout(A,1e3*n.delay)))}return n}}class S{static applyRequestModifications(A,e){if(!e)return A;let{url:t,method:r,headers:n,queryParams:o,body:s}={...A};n&&(n={...n}),o&&(o={...o});const{modifyQueryParams:i,modifyRequestBody:a,modifyRequestHeaders:c}=e;if(i?.enabled)try{const A=new URL(t,"undefined"!=typeof window?window.location.href:"http://localhost");Array.isArray(i.remove)&&i.remove.forEach((e=>{A.searchParams.delete(e),o&&delete o[e]})),Array.isArray(i.add)&&i.add.forEach((({key:e,value:t})=>{A.searchParams.set(e,t),o&&(o[e]=t)})),t=A.toString()}catch(A){console.error("[MockForMe] Failed to modify query params",A)}c?.enabled&&(n={...n},Array.isArray(c.remove)&&c.remove.forEach((A=>{const e=A.toLowerCase(),t=Object.keys(n).find((A=>A.toLowerCase()===e));t&&delete n[t]})),Array.isArray(c.add)&&c.add.forEach((({key:A,value:e})=>{n[A]=e})));const l=String(r||"GET").toUpperCase(),B="GET"===l||"HEAD"===l;if(a?.enabled&&!B)try{let A=null;if("string"==typeof s)try{A=JSON.parse(s)}catch{A={}}else if("object"==typeof s&&null!==s)try{A=JSON.parse(JSON.stringify(s))}catch{A={...s}}else(Array.isArray(a.add)&&a.add.length>0||Array.isArray(a.update)&&a.update.length>0)&&(A={});A&&(Array.isArray(a.remove)&&a.remove.forEach((e=>delete A[e])),Array.isArray(a.add)&&a.add.forEach((({key:e,value:t})=>A[e]=t)),Array.isArray(a.update)&&a.update.forEach((({key:e,value:t})=>A[e]=t)),s=JSON.stringify(A))}catch(A){console.error("[MockForMe] Failed to modify request body",A)}return{...A,url:t,headers:n,queryParams:o,body:s}}static applyResponseModifications(A,e){if(!e?.modifyResponseHeaders?.enabled)return A;const{modifyResponseHeaders:t}=e,r={...A};return Array.isArray(t.remove)&&t.remove.forEach((A=>{const e=A.toLowerCase(),t=Object.keys(r).find((A=>A.toLowerCase()===e));t&&delete r[t]})),Array.isArray(t.add)&&t.add.forEach((({key:A,value:e})=>{r[A]=e})),r}}class D{static match(A,e){if(!Array.isArray(e)||0===e.length)return null;for(const t of e){const e=t.rule||t;if(e.conditions&&Array.isArray(e.conditions)&&K.match(A,e.conditions)){const A=e.timingAction?.activeAction||"";return{action:A,config:e.timingAction?.actions?.[A]||{},rule:e}}}return null}static async apply(A,e){if(!A)return null;const t=A.rule||A,r=S.applyRequestModifications(e,t.modificationActions);return{...await M.apply(t.timingAction),modifiedRequest:r,rule:t}}static applyResponseModifications(A,e){return S.applyResponseModifications(A,e)}}class T{static apply({target:A=("undefined"!=typeof window?window:globalThis),originalFetch:e=A.fetch,ruleProvider:t=()=>[],mappingProvider:r=A=>null,onBeforeRequest:n=A=>{},onRuleMatch:o=async(A,e,t,r,n)=>null,onMockMatch:s=async(A,e,t,r,n)=>null,onOtherRequest:i=async(A,e,t,r)=>null,isEnabled:a=()=>!0}){e&&(A.fetch=async function(A,c={}){if(!a())return e(A,c);let l;try{const e="string"==typeof A?A:A.url,t=String(c.method||(A instanceof Request?A.method:"GET")).toUpperCase().trim(),r=Math.random().toString(36).substring(7);l={url:e,method:t,headers:c.headers||(A instanceof Request?A.headers:{}),body:c.body||(A instanceof Request?"{binary/stream}":null),requestId:r,queryParams:T.getQueryParams(e)},n(l)}catch(t){return console.warn("[MockForMe] Fetch Interceptor Setup Error:",t),e(A,c)}try{const n=t(),a=D.match(l,n);if(a){const t=await o(a,l,A,c,e);if(t)return t}const B=r(l);if(B){const t=await s(B,l,A,c,e);if(t)return t}const d=await i(l,A,c,e);if(d)return d}catch(A){if(A.message.includes("timed out")||"AbortError"===A.name||A.message.includes("rules"))throw A;throw console.warn("[MockForMe] Interceptor Hook Error:",A),A}return e(A,c)})}static getQueryParams(A){try{const e="undefined"!=typeof window?window.location.origin:"http://localhost",t=new URL(A,e).searchParams;return Object.fromEntries(t.entries())}catch{return{}}}}class O{static apply({target:A=("undefined"!=typeof window?window:{}),OriginalXHR:e=A.XMLHttpRequest,ruleProvider:t=()=>[],mappingProvider:r=A=>null,onBeforeRequest:n=A=>{},onRuleMatch:o=(A,e,t,r)=>{r.call(t.proxy,e.body)},onMockMatch:s=(A,e,t,r)=>{r.call(t.proxy,e.body)},onOtherRequest:i=(A,e,t)=>{t.call(e.proxy,A.body)},isEnabled:a=()=>!0}){e&&(A.XMLHttpRequest=class{constructor(){return this._xhr=new e,this._headers={},this._method=null,this._url=null,this._body=null,this._requestId=null,this._startTime=null,this._captured=!1,this._isMocked=!1,this.proxy=new Proxy(this,{get:(A,e)=>{if(e in A)return A[e];const t=A._xhr[e];return"function"==typeof t?t.bind(A._xhr):t},set:(A,e,t)=>e in A?(A[e]=t,!0):(A._xhr[e]=t,!0)}),this.proxy}_capture(A,e,t,r={}){if(this._captured)return;this._captured=!0;const n=A=>{const e=`on${A}`;(this[e]||this._xhr[e])?.(),this._xhr.dispatchEvent(new Event(A))};if("Aborted"!==A)try{Object.defineProperty(this.proxy,"responseText",{value:e,configurable:!0}),Object.defineProperty(this.proxy,"response",{value:e,configurable:!0}),Object.defineProperty(this.proxy,"status",{value:Number(A)||0,configurable:!0}),Object.defineProperty(this.proxy,"statusText",{value:200==A?"OK":"",configurable:!0})}catch(A){console.warn("[MockForMe] Error setting XHR props",A)}Object.defineProperty(this.proxy,"readyState",{value:4,configurable:!0}),n("readystatechange"),"Aborted"===A||r.aborted?n("abort"):0===A||"Error"===A||r.error?n("error"):"Timeout"===A||r.timeout?n("timeout"):n("load")}open(A,e,t=!0,r=null,n=null){this._method=(A||"").toUpperCase().trim();try{this._url=new URL(e,"undefined"!=typeof window?window.location.href:"http://localhost").toString()}catch(A){this._url=e}return this._xhr.open(A,e,t,r,n)}setRequestHeader(A,e){return this._headers[A]=e,this._xhr.setRequestHeader(A,e)}send(A){if(!a())return this._xhr.send(A);this._body=A,this._requestId=Math.random().toString(36).substring(7),this._startTime=Date.now();const e={url:this._url,method:this._method,headers:this._headers,body:this._body,requestId:this._requestId,startTime:this._startTime,queryParams:O.getQueryParams(this._url)};n(e);const c=t(),l=D.match(e,c),B=A=>this._xhr.send(A);if(l)return this._isMocked=!0,o(l,e,this,B);const d=r(e);return d?(this._isMocked=!0,s(d,e,this,B)):(this._isMocked=!1,i(e,this,B))}})}static getQueryParams(A){try{const e="undefined"!=typeof window?window.location.origin:"http://localhost",t=new URL(A,e).searchParams;return Object.fromEntries(t.entries())}catch{return{}}}}const R=(A,e=null,t=B)=>{if(n())return;let r="string"==typeof A?A:A?.token,o="object"==typeof A?A?.widgetKey:null;if(o?k.setWidgetKey(o):k.init(),t===B)try{r&&("undefined"!=typeof localStorage&&(localStorage.removeItem("mockforme-token"),localStorage.setItem("MFM_TOKEN",r)),k.token=r,k.isAuthenticated=!0),!r&&k.token&&(r=k.token),k.onAuthSuccess=(A,e,t)=>{a(e),F(t),k.updateMappings(e,t)}}catch(A){console.log("Error in showing mockforme widget",A)}e||={mappings:[],_o:null,mk:null,_mck:null,_rules:[]};const{mappings:s=[],_o:i,mk:w,_mck:p,_rules:f=[]}=e;return a(s),F({_o:i,mk:w,_mck:p,_rules:f}),{run:(A,e=()=>{})=>{if(function(A,e){if("undefined"!=typeof window){if(window._mfm_intercepted)return;window._mfm_intercepted=!0}const t=()=>k.token||A;T.apply({isEnabled:()=>k.interceptionEnabled,ruleProvider:()=>y(),mappingProvider:A=>{try{return l(new URL(A.url,window.location.origin).pathname,A.method)}catch{return null}},onRuleMatch:async(A,e,t,r,n)=>{const o=e.requestId||Math.random().toString(36).substring(7),s=Date.now();k.addRequest("mocked",{...e,requestId:o,pending:!0,startTime:s,rule:A});const i=await D.apply(A,e),{modifiedRequest:a,type:c,delay:l,redirectUrl:B}=i;if("timeout"!==c&&k.addRequest("mocked",{...a,requestId:o,pending:!0,startTime:s,rule:A}),"timeout"===c){const e=Date.now()-s;throw k.addRequest("mocked",{...a,requestId:o,status:"Aborted",pending:!1,duration:e,aborted:!0,rule:A}),new Error("Fetch timed out by rules")}if("redirect"===c&&!B)throw new Error("rules: Redirect missing URL");let d="redirect"===c?B:a.url,u={...r};a.headers&&(u.headers=a.headers),a.body&&(u.body=a.body);let g=null;if("redirect"===c){g=Math.random().toString(36).substring(7);const A={url:B,method:a.method,headers:u.headers||{},body:u.body,requestId:g,queryParams:T.getQueryParams(B),requestHeaders:u.headers||{},requestBody:u.body,pending:!0,startTime:Date.now()};k.addRequest("mocked",A)}return n(d,u).then((async A=>{const e=Date.now()-s;let t=Object.fromEntries(A.headers.entries());if(i.rule.modificationActions?.modifyResponseHeaders?.enabled&&(t=D.applyResponseModifications(t,i.rule.modificationActions)),"redirect"===c&&g){const e=A.clone(),r=e.headers.get("content-type")||"",n=Date.now()-s;try{let o;o=r.includes("application/json")?await e.json():await e.text(),k.addRequest("mocked",{url:B,method:a.method,requestId:g,status:A.status,pending:!1,duration:n,responseHeaders:t,responseBody:o,requestHeaders:u.headers||{},requestBody:u.body})}catch(e){k.addRequest("mocked",{url:B,method:a.method,requestId:g,status:A.status,pending:!1,duration:n,responseHeaders:t,requestHeaders:u.headers||{},requestBody:u.body})}}return k.addRequest("mocked",{...a,requestId:o,status:A.status,pending:!1,duration:e,responseHeaders:t,rule:i.rule}),A})).catch((A=>{const e=Date.now()-s,t="AbortError"===A.name||A.message.includes("aborted");if(k.addRequest("mocked",{...a,requestId:o,status:t?"Aborted":0,pending:!1,duration:e,rule:i.rule}),"redirect"===c&&g&&k.addRequest("mocked",{url:B,method:a.method,requestId:g,status:t?"Aborted":0,pending:!1,duration:e,error:!t}),"redirect"===c){const e=A.message||"Redirect failed";if(!e.includes("rules"))throw new Error(`rules: Redirect failed - ${e}`)}throw A}))},onMockMatch:async(A,r,n,o,s)=>{const i=r.requestId||Math.random().toString(36).substring(7),a=Date.now();k.addRequest("mocked",{...r,requestId:i,pending:!0,startTime:a});const c=t(),l=new URL(r.url,window.location.origin).search;let B=`${b()}${A.url}${l}`,w={[g]:c,[u]:m,"x-mfm-adaptor":e};const p=E();p&&A._ack&&(w["x-mfm-key"]=`${p}-${A._ack}`),A?._ri_&&(w._ri_=A._ri_);const h=n instanceof Request?n.headers:o.headers,f=new Headers(h||{});Object.entries(w).forEach((([A,e])=>f.set(A,e))),f.set("x-mfm-internal","true");let Q=o.body;if(!Q&&n instanceof Request){const A=n.clone();"GET"!==A.method&&"HEAD"!==A.method&&(Q=await A.text())}const C={method:r.method,headers:f,credentials:n instanceof Request&&n.credentials||o.credentials||"include",mode:n instanceof Request&&n.mode||o.mode||"cors"};return e===d?(({actualUrl:A,url:e,method:t,headers:r,body:n,credentials:o,mode:s,rule:i})=>{const a=`${Date.now()}-${Math.random()}`,c=v(e);return new Promise(((e,l)=>{window.addEventListener("message",(function A(t){if(t.source!==window)return;const r=t.data;if("INTERCEPTED_RESPONSE"===r?.type&&r?.requestId===a){if(window.removeEventListener("message",A),r?.response?.error)return l(new Error(r.response.message));const{status:t,headers:n,body:o}=r.response,s=new Response(o,{status:t,headers:n});s._rawHeaders=n,e(s)}})),window.postMessage({type:"REQUEST_INTERCEPTED",requestId:a,payload:{actualUrl:A,url:c,method:t,headers:r,body:n,credentials:o,mode:s,rule:i}},"*")}))})({actualUrl:r.url,url:B,method:r.method,headers:Object.fromEntries(f.entries()),body:Q,credentials:C.credentials,mode:C.mode}).then((A=>(A.clone().text().then((e=>{const t=Date.now()-a,n=A._rawHeaders||Object.fromEntries(A.headers.entries());k.addRequest("mocked",{...r,requestId:i,status:A.status,responseHeaders:n,responseBody:e,pending:!1,duration:t})})),A))):(Q&&(C.body=Q),s(B,C).then((async A=>{const e=A.clone(),t=e.headers.get("content-type")||"",n=Date.now()-a,o=t=>(k.addRequest("mocked",{...r,requestId:i,status:A.status,responseHeaders:Object.fromEntries(e.headers.entries()),responseBody:t,pending:!1,duration:n}),new Response("string"==typeof t?t:JSON.stringify(t),{status:A.status,headers:e.headers}));return t.includes("application/json")?e.json().then(o):e.text().then(o)})).catch((A=>{const e=Date.now()-a;return k.addRequest("mocked",{...r,requestId:i,status:0,pending:!1,duration:e}),s(n,o)})))},onOtherRequest:async(A,e,t,r)=>{const n=t?.headers||(e instanceof Request?e.headers:{});let o=!1;n instanceof Headers?o="true"===n.get("x-mfm-internal"):"object"==typeof n&&(o="true"===n["x-mfm-internal"]);const s=b();if(A.url.startsWith(s)&&(o=!0),"OPTIONS"===A.method||o)return r(e,t);const i=A.requestId,a=Date.now();return k.addRequest("other",{...A,requestId:i,pending:!0,startTime:a}),r(e,t).then((async e=>{const t=e.clone(),r=Date.now()-a,n=Object.fromEntries(e.headers.entries());k.addRequest("other",{...A,requestId:i,status:e.status,responseHeaders:n,pending:!0,duration:r});try{const o=await t.text();k.addRequest("other",{...A,requestId:i,status:e.status,responseHeaders:n,responseBody:o,pending:!1,duration:r})}catch(t){k.addRequest("other",{...A,requestId:i,status:e.status,responseHeaders:n,pending:!1,duration:r})}return e})).catch((e=>{const t=Date.now()-a,r="AbortError"===e.name||e.message.includes("aborted"),n="TimeoutError"===e.name||e.message.includes("timed out");throw k.addRequest("other",{...A,requestId:i,status:r?"Aborted":n?"Timeout":"Error",pending:!1,duration:t,aborted:r,timeout:n,error:!r&&!n}),e}))}}),O.apply({isEnabled:()=>k.interceptionEnabled,ruleProvider:()=>y(),mappingProvider:A=>{try{return l(new URL(A.url,window.location.origin).pathname,A.method)}catch{return null}},onRuleMatch:async(A,e,t,r)=>{const n=e.requestId,o=Date.now();k.addRequest("mocked",{...e,requestId:n,pending:!0,startTime:o,rule:A});const s=await D.apply(A,e),{modifiedRequest:i,type:a,redirectUrl:c}=s;"timeout"!==a&&k.addRequest("mocked",{...i,requestId:n,pending:!0,startTime:o,rule:A});let l=null;if("redirect"===a){l=Math.random().toString(36).substring(7);const A={url:c,method:i.method,headers:i.headers||{},body:i.body,requestId:l,queryParams:(()=>{try{const A="undefined"!=typeof window?window.location.origin:"http://localhost",e=new URL(c,A).searchParams;return Object.fromEntries(e.entries())}catch{return{}}})(),requestHeaders:i.headers||{},requestBody:i.body,pending:!0,startTime:Date.now()};k.addRequest("mocked",A)}const B=(A,e,r,B={})=>{const d=Date.now()-o;if(s.rule.modificationActions?.modifyResponseHeaders?.enabled){let A="string"==typeof r?Object.fromEntries(r.split("\r\n").filter((A=>A)).map((A=>A.split(": ")))):r;A=D.applyResponseModifications(A,s.rule.modificationActions),r=A}k.addRequest("mocked",{...i,requestId:n,status:A,responseBody:e,responseHeaders:r,pending:!1,duration:d,rule:s.rule,...B}),"redirect"===a&&l&&k.addRequest("mocked",{url:c,method:i.method,requestId:l,status:A,responseBody:e,responseHeaders:r,pending:!1,duration:d,requestHeaders:i.headers||{},requestBody:i.body,...B}),t._capture(A,e,r,B)};if("timeout"===a)return B("Aborted","Timed out by rule",{},{aborted:!0}),void t._xhr.abort();if("redirect"===a){if(!c)return void B(0,"Redirect missing URL",{},{error:!0});t._xhr.open(i.method,c,!0)}else i.url!==e.url&&t._xhr.open(i.method,i.url,!0);i.headers&&Object.entries(i.headers).forEach((([A,e])=>{try{t._xhr.setRequestHeader(A,e)}catch(A){}})),t._xhr.addEventListener("abort",(()=>B("Aborted","Aborted",{},{aborted:!0})),{once:!0}),t._xhr.addEventListener("error",(()=>B(0,"Error",{},{error:!0})),{once:!0}),t._xhr.addEventListener("timeout",(()=>B("Timeout","Timeout",{},{timeout:!0})),{once:!0}),t._xhr.addEventListener("load",(()=>B(t._xhr.status,t._xhr.responseText,t._xhr.getAllResponseHeaders())),{once:!0}),r(i.body)},onMockMatch:(A,r,n,o)=>{const s=r.requestId,i=Date.now(),a=t(),c=new URL(r.url,window.location.origin);let l=`${b()}${A.url}${c.search}`,B={[g]:a,[u]:m,"x-mfm-adaptor":e};const w=E();w&&A._ack&&(B["x-mfm-key"]=`${w}-${A._ack}`),A?._ri_&&(B._ri_=A._ri_),B["x-mfm-internal"]="true";const p={...r.headers,...B};k.addRequest("mocked",{...r,requestId:s,pending:!0,startTime:i});const h=(A,e,t,o={})=>{const a=Date.now()-i;k.addRequest("mocked",{...r,requestId:s,status:A,responseBody:e,responseHeaders:t,pending:!1,duration:a,...o}),n._capture(A,e,t,o)};if(n._xhr.addEventListener("abort",(()=>h("Aborted","Aborted",{},{aborted:!0})),{once:!0}),n._xhr.addEventListener("error",(()=>h(0,"Error",{},{error:!0})),{once:!0}),n._xhr.addEventListener("timeout",(()=>h("Timeout","Timeout",{},{timeout:!0})),{once:!0}),e===d)(({actualUrl:A,url:e,method:t,headers:r,body:n,onSuccess:o,onError:s,rule:i})=>{const a=`${Date.now()}-${Math.random()}`,c=v(e);window.addEventListener("message",(function A(e){if(e.source!==window)return;const t=e.data;if("INTERCEPTED_RESPONSE"===t.type&&t.requestId===a){if(window.removeEventListener("message",A),t.response?.error)return s?.(t.response.message);const{body:e,status:r,headers:n}=t.response;o?.({body:e,status:r,headers:n})}})),window.postMessage({type:"REQUEST_INTERCEPTED",requestId:a,payload:{actualUrl:A,url:c,method:t,headers:r,body:n,credentials:"same-origin",mode:"cors",rule:i}},"*")})({actualUrl:r.url,url:l,method:r.method,headers:p,body:r.body,onSuccess:({body:A,status:e,headers:t})=>h(e,A,t||{}),onError:A=>h(0,A.message||"XHR Error",{},{error:!0})});else{const A=new window.XMLHttpRequest;A.open(r.method,l,!0);for(const e in p)A.setRequestHeader(e,p[e]);A.withCredentials=n.proxy.withCredentials,A.onload=()=>h(A.status,A.responseText,A.getAllResponseHeaders()),A.onerror=()=>h(0,"Network Error",{},{error:!0}),A.ontimeout=()=>h("Timeout","Request timed out",{},{timeout:!0}),A.send(r.body)}},onOtherRequest:(A,e,t)=>{const r="true"===A.headers?.["x-mfm-internal"],n=b(),o=A.url.startsWith(n);if("OPTIONS"===A.method||r||o)return t(A.body);const s=Date.now();k.addRequest("other",{...A,pending:!0,startTime:s});const i=(t,r,n,o={})=>{const i=Date.now()-s;k.addRequest("other",{...A,status:t,responseBody:r,responseHeaders:n,pending:!1,duration:i,...o}),e._capture(t,r,n,o)};e._xhr.addEventListener("abort",(()=>i("Aborted","Aborted",{},{aborted:!0})),{once:!0}),e._xhr.addEventListener("error",(()=>i(0,"Error",{},{error:!0})),{once:!0}),e._xhr.addEventListener("timeout",(()=>i("Timeout","Timeout",{},{timeout:!0})),{once:!0}),e._xhr.addEventListener("load",(()=>i(e._xhr.status,e._xhr.responseText,e._xhr.getAllResponseHeaders())),{once:!0}),e._xhr.addEventListener("readystatechange",(()=>{if(e._xhr.readyState>=2&&!e._captured){const t=e._xhr.status;if(t>0){const r=Date.now()-s;k.addRequest("other",{...A,status:t,responseHeaders:e._xhr.getAllResponseHeaders(),pending:e._xhr.readyState<4,duration:r})}}})),t(A.body)}})}(r,t),i&&w)k.mappings=s,k.rules=f,A?.(s,{_o:i,mk:w,_mck:p,_rules:f});else if(r){const n=k.getSavedMappings();if(n&&n.mappings&&n.mappings.length>0)return k.mappings=n.mappings,k.rules=n.meta?._rules||[],a(n.mappings),F(n.meta),k.updateMappings(n.mappings,n.meta),void A?.(n.mappings,n.meta);!function(e,t,r,n){H({method:"get",url:h,async:!1,headers:{[g]:e,[u]:m,"x-mfm-adaptor":t}},(e=>{if(e)try{const{di:n,iv:o,_o:s,_mck:i,mk:c,r:l}=e,B=I({di:n,iv:o},s);F({_o:s,mk:c,_mck:i,_rules:l}),B&&(a(B),t=B,r={_o:s,mk:c,_mck:i,_rules:l},k.saveMappings(t,r),k.updateMappings(t,r),A?.(t,r))}catch(A){return void n(new Error("Unable to fetch mocked apis"))}var t,r}),(A=>{console.log("Error in loading mocked apis"),n(A)})).request()}(r,t,0,e)}},checkIfApiToBeMocked:l,getMappings:c,doFetchMappings:(A,e)=>{x(r||k.token,t,((e,t)=>{k.updateMappings(e,t),A?.(e,t)}),e)},recheckWidgetVisibility:()=>{k.init()}}},N=n();N||(globalThis.mockforme=R);let G=R;N&&(G=A=>({run:()=>{}}));const P=G;return r.mockforme})()));